ZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvLmdpdGlnbm9yZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvLmdpdGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMDkzNTgzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC8uZ2l0aWdub3JlCkBAIC0wLDAgKzEsNSBAQAorLyoucGF0Y2gKKyouc3dwCisqLm9yaWcKKyoucmVqCisqfgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9DT1BZSU5HLk1JVCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvQ09QWUlORy5NSVQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmI5NTBkYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvQ09QWUlORy5NSVQKQEAgLTAsMCArMSwxNyBAQAorUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSAKK29mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIAoraW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyAKK3RvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgCitjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgCitmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorCitUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiAKK2FsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorCitUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUiAKK0lNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCAKK0ZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSAKK0FVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgCitMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCAKK09VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gCitUSEUgU09GVFdBUkUuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL1JFQURNRSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwNDk2NmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL1JFQURNRQpAQCAtMCwwICsxLDQgQEAKK0NvbGxlY3Rpb24gb2YgbGF5ZXJzIGZvciB0aGUgT0UtY29yZSB1bml2ZXJzZQorCitQbGVhc2Ugc2VlIHRoZSByZXNwZWN0aXZlIFJFQURNRXMgaW4gdGhlIGxheWVyIHN1YmRpcmVjdG9yaWVzCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvY29udHJpYi9vZS1zdHlsaXplLnB5IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9jb250cmliL29lLXN0eWxpemUucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGI4YTM2MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvY29udHJpYi9vZS1zdHlsaXplLnB5CkBAIC0wLDAgKzEsNDExIEBACisjIS91c3IvYmluL2VudiBweXRob24KKworIiIiXAorU2FuaXRpemUgYSBiaXRiYWtlIGZpbGUgZm9sbG93aW5nIHRoZSBPcGVuRW1iZWRkZWQgc3R5bGUgZ3VpZGVsaW5lcywKK3NlZSBodHRwOi8vb3BlbmVtYmVkZGVkLm9yZy93aWtpL1N0eWxlR3VpZGUgCisKKyhDKSAyMDA2IEN5cmlsIFJvbWFpbiA8Y3lyaWwucm9tYWluQGdtYWlsLmNvbT4KK01JVCBsaWNlbnNlCisKK1RPRE86IAorIC0gYWRkIHRoZSBvdGhlcnMgT3BlbkVtYmVkZGVkIHZhcmlhYmxlcyBjb21tb25seSB1c2VkOgorIC0gcGFyc2UgY29tbWFuZCBhcmd1bWVudHMgYW5kIHByaW50IHVzYWdlIG9uIG1pc3VzZQorICAgIC4gcHJldmVudCBnaXZpbmcgbW9yZSB0aGFuIG9uZSAuYmIgZmlsZSBpbiBhcmd1bWVudHMKKyAtIHdyaXRlIHJlc3VsdCB0byBhIGZpbGUKKyAtIGJhY2t1cCB0aGUgb3JpZ2luYWwgLmJiIGZpbGUKKyAtIG1ha2UgYSBkaWZmIGFuZCBhc2sgY29uZmlybWF0aW9uIGZvciBwYXRjaGluZyA/CisgLSBkbyBub3QgdXNlIHN0YXJ0c3dpdGggb25seToKKyAgICAvIVwgc3RhcnRzd2l0aCgnU09NRVRISU5HJykgaXMgbm90IHRha2VuIGludG8gYWNjb3VudCBkdWUgdG8gdGhlIHByZXZpb3VzIHN0YXJ0c3dpdGgoJ1MnKS4KKyAtIGNvdW50IHJ1bGUgYnJlYWtzIGFuZCBkaXNwbGF5cyB0aGVtIGluIHRoZSBvcmRlciBmcmVxdWVuY2UKKyIiIgorCitmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0aW9uIAoraW1wb3J0IGZpbGVpbnB1dAoraW1wb3J0IHN0cmluZworaW1wb3J0IHJlCisKK19fYXV0aG9yX18gPSAiQ3lyaWwgUm9tYWluIDxjeXJpbC5yb21haW5AZ21haWwuY29tPiIKK19fdmVyc2lvbl9fID0gIiRSZXZpc2lvbjogMC41ICQiCisKKyMgVGhlIHN0YW5kYXJkIHNldCBvZiB2YXJpYWJsZXMgb2Z0ZW4gZm91bmQgaW4gLmJiIGZpbGVzIGluIHRoZSBwcmVmZXJyZWQgb3JkZXIKK09FX3ZhcnMgPSBbCisgICAgJ1NVTU1BUlknLAorICAgICdERVNDUklQVElPTicsCisgICAgJ0FVVEhPUicsCisgICAgJ0hPTUVQQUdFJywKKyAgICAnU0VDVElPTicsCisgICAgJ0xJQ0VOU0UnLAorICAgICdMSUNfRklMRVNfQ0hLU1VNJywKKyAgICAnREVQRU5EUycsCisgICAgJ1BST1ZJREVTJywKKyAgICAnU1JDUkVWJywKKyAgICAnU1JDREFURScsCisgICAgJ1BFJywKKyAgICAnUFYnLAorICAgICdQUicsCisgICAgJ0lOQ19QUicsCisgICAgJ1NSQ19VUkknLAorICAgICdTJywKKyAgICAnR1BFX1RBUkJBTExfU1VGRklYJywKKyAgICAnaW5oZXJpdCcsCisgICAgJ0VYVFJBXycsCisgICAgJ2V4cG9ydCcsCisgICAgJ2RvX2ZldGNoJywKKyAgICAnZG9fdW5wYWNrJywKKyAgICAnZG9fcGF0Y2gnLAorICAgICdXT1JLRElSJywKKyAgICAnYWNwYXRocycsCisgICAgJ2RvX2NvbmZpZ3VyZScsCisgICAgJ2RvX2NvbXBpbGUnLAorICAgICdkb19pbnN0YWxsJywKKyAgICAnUEFDS0FHRVMnLAorICAgICdQQUNLQUdFX0FSQ0gnLAorICAgICdSREVQRU5EUycsCisgICAgJ1JSRUNPTU1FTkRTJywKKyAgICAnUlNVR0dFU1RTJywKKyAgICAnUlBST1ZJREVTJywKKyAgICAnUkNPTkZMSUNUUycsCisgICAgJ0ZJTEVTJywgICAgCisgICAgJ2RvX3BhY2thZ2UnLAorICAgICdkb19zdGFnZScsCisgICAgJ2FkZGhhbmRsZXInLAorICAgICdhZGR0YXNrJywKKyAgICAnYmluZGlyJywKKyAgICAnaGVhZGVycycsCisgICAgJ2luY2x1ZGUnLAorICAgICdpbmNsdWRlZGlyJywKKyAgICAncHl0aG9uJywKKyAgICAncXRvcGlhZGlyJywKKyAgICAncGtnX3ByZWlucycsCisgICAgJ3BrZ19wcmVybScsCisgICAgJ3BrZ19wb3N0aW5zJywKKyAgICAncGtnX3Bvc3RybScsCisgICAgJ3JlcXVpcmUnLAorICAgICdzYmluZGlyJywKKyAgICAnYmFzZXN5c2NvbmZkaXInLAorICAgICdzeXNjb25mZGlyJywKKyAgICAnQUxMT1dfRU1QVFknLAorICAgICdBTFRFUk5BVElWRV9OQU1FJywKKyAgICAnQUxURVJOQVRJVkVfUEFUSCcsCisgICAgJ0FMVEVSTkFUSVZFX0xJTksnLAorICAgICdBTFRFUk5BVElWRV9QUklPUklUWScsCisgICAgJ0FMVE5BTUUnLAorICAgICdBTURfRFJJVkVSX0xBQkVMJywKKyAgICAnQU1EX0RSSVZFUl9WRVJTSU9OJywKKyAgICAnQU5HU1RST01fRVhUUkFfSU5TVEFMTCcsCisgICAgJ0FQUERFU0tUT1AnLAorICAgICdBUFBJTUFHRScsCisgICAgJ0FQUE5BTUUnLAorICAgICdBUFBUWVBFJywKKyAgICAnQVBQV0VCX0JVSUxEJywKKyAgICAnQVBQV0VCX0hPU1QnLAorICAgICdBUicsCisgICAgJ0FSQ0gnLAorICAgICdBUk1fSU5TVFJVQ1RJT05fU0VUJywKKyAgICAnQVJNX01VVEVYJywKKyAgICAnQVJUX0NPTkZJRycsCisgICAgJ0InLAorICAgICdCSkFNX09QVFMnLAorICAgICdCSkFNX1RPT0xTJywKKyAgICAnQk9OT0JPX0hFQURFUlMnLAorICAgICdCT09UU0NSSVBUUycsCisgICAgJ0JST0tFTicsCisgICAgJ0JVSUxEX0NQUEZMQUdTJywKKyAgICAnQ0ZMQUdTJywKKyAgICAnQ0NGTEFHUycsCisgICAgJ0NNRExJTkUnLAorICAgICdDT0xMSUVfTUVNT1JZX1NJWkUnLAorICAgICdDT01QQVRJQkxFX0hPU1QnLAorICAgICdDT01QQVRJQkxFX01BQ0hJTkUnLAorICAgICdDT01QSUxFX0hFUk1FUycsCisgICAgJ0NPTkZGSUxFUycsCisgICAgJ0NPTkZMSUNUUycsCisgICAgJ0NPUkVfRVhUUkFfRCcsCisgICAgJ0NPUkVfSU1BR0VfRVhUUkFfSU5TVEFMTCcsCisgICAgJ0NPUkVfUEFDS0FHRVNfRCcsCisgICAgJ0NPUkVfUEFDS0FHRVNfUkQnLAorICAgICdDUFBGTEFHUycsCisgICAgJ0NWU0RBVEUnLAorICAgICdDWFhGTEFHUycsCisgICAgJ0RFQklBTl9OT0FVVE9OQU1FJywKKyAgICAnREVCVUdfQVBQUycsCisgICAgJ0RFRkFVTFRfUFJFRkVSRU5DRScsCisgICAgJ0RCNF9DT05GSUcnLAorICAgICdFWENMVURFX0ZST01fU0hMSUJTJywKKyAgICAnRVhDTFVERV9GUk9NX1dPUkxEJywKKyAgICAnRklYRURTUkNEQVRFJywKKyAgICAnR0xJQkNfQURET05TJywKKyAgICAnR0xJQkNfRVhUUkFfT0VDT05GJywKKyAgICAnR05PTUVfVkZTX0hFQURFUlMnLAorICAgICdIRUFERVJTJywKKyAgICAnSU5ISUJJVF9ERUZBVUxUX0RFUFMnLAorICAgICdJTklUU0NSSVBUX1BBQ0tBR0VTJywKKyAgICAnSU5JVFNDUklQVF9OQU1FJywKKyAgICAnSU5JVFNDUklQVF9QQVJBTVMnLAorICAgICdJTlNBTkVfU0tJUCcsCisgICAgJ1BBQ0tBR0VfSU5TVEFMTCcsCisgICAgJ0tFUk5FTF9JTUFHRVRZUEUnLAorICAgICdLRVJORUxfSU1BR0VERVNUJywKKyAgICAnS0VSTkVMX09VVFBVVCcsCisgICAgJ0tFUk5FTF9SRUxFQVNFJywKKyAgICAnS0VSTkVMX1BSSU9SSVRZJywKKyAgICAnS0VSTkVMX1NPVVJDRScsCisgICAgJ0tFUk5FTF9TVUZGSVgnLAorICAgICdLRVJORUxfVkVSU0lPTicsCisgICAgJ0tfTUFKT1InLAorICAgICdLX01JQ1JPJywKKyAgICAnS19NSU5PUicsCisgICAgJ0hIVicsCisgICAgJ0tWJywKKyAgICAnTERGTEFHUycsCisgICAgJ0xEJywKKyAgICAnTERfU08nLAorICAgICdMRExJQlMnLAorICAgICdMRUFEX1NPTkFNRScsCisgICAgJ0xJQlRPT0wnLAorICAgICdMSUJCREJfRVhUUkEnLAorICAgICdMSUJWJywKKyAgICAnTUFDSElORV9FU1NFTlRJQUxfRVhUUkFfUkRFUEVORFMnLAorICAgICdNQUNISU5FX0VTU0VOVElBTF9FWFRSQV9SUkVDT01NRU5EUycsCisgICAgJ01BQ0hJTkVfRVhUUkFfUkRFUEVORFMnLAorICAgICdNQUNISU5FX0VYVFJBX1JSRUNPTU1FTkRTJywKKyAgICAnTUFDSElORV9GRUFUVVJFUycsCisgICAgJ01BQ0hJTkVfVEFTS1MnLAorICAgICdNQUNISU5FJywKKyAgICAnTUFDSFRZUEUnLAorICAgICdNQUtFX1RBUkdFVFMnLAorICAgICdNRVNTQUdFVVNFUicsCisgICAgJ01FU1NBR0VIT01FJywKKyAgICAnTUlSUk9SUycsCisgICAgJ01VVEVYJywKKyAgICAnT0VfUU1BS0VfSU5DRElSX1FUJywKKyAgICAnT0VfUU1BS0VfQ1hYRkxBR1MnLAorICAgICdPUkJJVF9JRExfU1JDJywKKyAgICAnUEFSQUxMRUxfTUFLRScsCisgICAgJ1BBS0NBR0VfQVJDSCcsCisgICAgJ1BDTUNJQV9NQU5BR0VSJywKKyAgICAnUEtHX0JBU0VOQU1FJywKKyAgICAnUEtHJywKKyAgICAnUUVNVScsCisgICAgJ1FNQUtFX1BST0ZJTEVTJywKKyAgICAnUVBFRElSJywKKyAgICAnUVBGX0RFU0NSSVBUSU9OJywKKyAgICAnUVBGX1BLR1BBVFRFUk4nLAorICAgICdRVF9DT05GSUdfRkxBR1MnLAorICAgICdRVF9MSUJSQVJZJywKKyAgICAnUk9PVEZTX1BPU1RQUk9DRVNTX0NPTU1BTkQnLAorICAgICdSUkVQTEFDRVMnLAorICAgICdUQVJHRVRfQ0ZMQUdTJywKKyAgICAnVEFSR0VUX0NQUEZMQUdTJywKKyAgICAnVEFSR0VUX0xERkxBR1MnLAorICAgICdVQk9PVF9NQUNISU5FJywKKyAgICAnVUNMSUJDX0JBU0UnLAorICAgICdVQ0xJQkNfUEFUQ0hFUycsCisgICAgJ1VTRVJBRERfUEFDS0FHRVMnLAorICAgICdVU0VSQUREX1BBUkFNJywKKyAgICAnVklSVFVBTF9OQU1FJywKKyAgICAnWE9SR19QTicsCisgICAgJ1hTRVJWRVInLAorICAgICdvdGhlcnMnCitdCisKK3ZhclJlZ2V4cCA9IHInXihbYS16QS1aXzAtOSR7fS1dKikoWyBcdF0qKShbKy46XT89WysuXT8pKFsgXHRdKikoW15cdF0rKScKK3JvdXRpbmVSZWdleHAgPSByJ14oW2EtekEtWjAtOV8gJHt9LV0rPylcKCcKKworIyBWYXJpYWJsZXMgc2VlbiBpbiB0aGUgcHJvY2Vzc2VkIC5iYgorc2Vlbl92YXJzID0ge30KK2ZvciB2IGluIE9FX3ZhcnM6IAorICAgIHNlZW5fdmFyc1t2XSA9IFtdCisKKyMgX0Zvcm1hdCBndWlkZWxpbmUgIzBfOiAKKyMgICBObyBzcGFjZXMgYXJlIGFsbG93ZWQgYXQgdGhlIGJlZ2lubmluZyBvZiBsaW5lcyB0aGF0IGRlZmluZSBhIHZhcmlhYmxlIG9yIAorIyAgIGEgZG9fIHJvdXRpbmUKK2RlZiByZXNwZWN0X3J1bGUwKGxpbmUpOiAKKyAgICByZXR1cm4gbGluZS5sc3RyaXAoKT09bGluZQorZGVmIGNvbmZvcm1Ub19ydWxlMChsaW5lKTogCisgICAgcmV0dXJuIGxpbmUubHN0cmlwKCkKKworIyBfRm9ybWF0IGd1aWRlbGluZSAjMV86IAorIyAgIE5vIHNwYWNlcyBhcmUgYWxsb3dlZCBiZWhpbmQgdGhlIGxpbmUgY29udGludWF0aW9uIHN5bWJvbCAnXCcKK2RlZiByZXNwZWN0X3J1bGUxKGxpbmUpOgorICAgIGlmIGxpbmUucnN0cmlwKCkuZW5kc3dpdGgoJ1xcJyk6CisgICAgICAgIHJldHVybiBsaW5lLmVuZHN3aXRoKCdcXCcpCisgICAgZWxzZTogCisgICAgICAgIHJldHVybiBUcnVlCitkZWYgY29uZm9ybVRvX3J1bGUxKGxpbmUpOgorICAgIHJldHVybiBsaW5lLnJzdHJpcCgpCisKKyMgX0Zvcm1hdCBndWlkZWxpbmUgIzJfOiAKKyMgICBUYWJzIHNob3VsZCBub3QgYmUgdXNlZCAodXNlIHNwYWNlcyBpbnN0ZWFkKS4KK2RlZiByZXNwZWN0X3J1bGUyKGxpbmUpOgorICAgIHJldHVybiBsaW5lLmNvdW50KCdcdCcpPT0wCitkZWYgY29uZm9ybVRvX3J1bGUyKGxpbmUpOgorICAgIHJldHVybiBsaW5lLmV4cGFuZHRhYnMoKQorCisjIF9Gb3JtYXQgZ3VpZGVsaW5lICMzXzoKKyMgICBDb21tZW50cyBpbnNpZGUgYmIgZmlsZXMgYXJlIGFsbG93ZWQgdXNpbmcgdGhlICcjJyBjaGFyYWN0ZXIgYXQgdGhlIAorIyAgIGJlZ2lubmluZyBvZiBhIGxpbmUuCitkZWYgcmVzcGVjdF9ydWxlMyhsaW5lKToKKyAgICBpZiBsaW5lLmxzdHJpcCgpLnN0YXJ0c3dpdGgoJyMnKToKKyAgICAgICAgcmV0dXJuIGxpbmUuc3RhcnRzd2l0aCgnIycpCisgICAgZWxzZTogCisgICAgICAgIHJldHVybiBUcnVlCitkZWYgY29uZm9ybVRvX3J1bGUzKGxpbmUpOgorICAgIHJldHVybiBsaW5lLmxzdHJpcCgpCisKKyMgX0Zvcm1hdCBndWlkZWxpbmUgIzRfOgorIyAgIFVzZSBxdW90ZXMgb24gdGhlIHJpZ2h0IGhhbmQgc2lkZSBvZiBhc3NpZ25tZW50cyBGT08gPSAiQkFSIgorZGVmIHJlc3BlY3RfcnVsZTQobGluZSk6CisgICAgciA9IHJlLnNlYXJjaCh2YXJSZWdleHAsIGxpbmUpCisgICAgaWYgciBpcyBub3QgTm9uZToKKyAgICAgICAgcjIgPSByZS5zZWFyY2gocicoIj8pKFteIlxcXSopKFsiXFxdPyknLCByLmdyb3VwKDUpKQorICAgICAgICAjIGRvIG5vdCB0ZXN0IGZvciBOb25lIGl0IGJlY2F1c2UgYWx3YXlzIG1hdGNoCisgICAgICAgIHJldHVybiByMi5ncm91cCgxKT09JyInIGFuZCByMi5ncm91cCgzKSE9JycKKyAgICByZXR1cm4gRmFsc2UKK2RlZiBjb25mb3JtVG9fcnVsZTQobGluZSk6CisgICAgciA9IHJlLnNlYXJjaCh2YXJSZWdleHAsIGxpbmUpCisgICAgcmV0dXJuICcnLmpvaW4oW3IuZ3JvdXAoMSksICcgJywgci5ncm91cCgzKSwgJyAiJywgci5ncm91cCg1KSwgci5ncm91cCg1KS5lbmRzd2l0aCgnIicpIGFuZCAnJyBvciAnIiddKQorCisjIF9Gb3JtYXQgZ3VpZGVsaW5lICM1XzoKKyMgICBUaGUgY29ycmVjdCBzcGFjaW5nIGZvciBhIHZhcmlhYmxlIGlzIEZPTyA9ICJCQVIiLgorZGVmIHJlc3BlY3RfcnVsZTUobGluZSk6CisgICAgciA9IHJlLnNlYXJjaCh2YXJSZWdleHAsIGxpbmUpCisgICAgcmV0dXJuIHIgaXMgbm90IE5vbmUgYW5kIHIuZ3JvdXAoMik9PSIgIiBhbmQgci5ncm91cCg0KT09IiAiCitkZWYgY29uZm9ybVRvX3J1bGU1KGxpbmUpOgorICAgIHIgPSByZS5zZWFyY2godmFyUmVnZXhwLCBsaW5lKQorICAgIHJldHVybiAnJy5qb2luKFtyLmdyb3VwKDEpLCAnICcsIHIuZ3JvdXAoMyksICcgJywgci5ncm91cCg1KV0pCisKKyMgX0Zvcm1hdCBndWlkZWxpbmUgIzZfOgorIyAgIERvbid0IHVzZSBzcGFjZXMgb3IgdGFicyBvbiBlbXB0eSBsaW5lcworZGVmIHJlc3BlY3RfcnVsZTYobGluZSk6CisgICAgcmV0dXJuIG5vdCBsaW5lLmlzc3BhY2UoKSBvciBsaW5lPT0iXG4iCitkZWYgY29uZm9ybVRvX3J1bGU2KGxpbmUpOgorICAgIHJldHVybiAiIgorCisjIF9Gb3JtYXQgZ3VpZGVsaW5lICM3XzoKKyMgICBJbmRlbnRhdGlvbiBvZiBtdWx0aWxpbmUgdmFyaWFibGVzIHN1Y2ggYXMgU1JDX1VSSSBpcyBkZXNpcmVhYmxlLgorZGVmIHJlc3BlY3RfcnVsZTcobGluZSk6CisgICAgcmV0dXJuIFRydWUKK2RlZiBjb25mb3JtVG9fcnVsZTcobGluZSk6CisgICAgcmV0dXJuIGxpbmUKKworcnVsZXMgPSAoCisgICAgKHJlc3BlY3RfcnVsZTAsIGNvbmZvcm1Ub19ydWxlMCwgIk5vIHNwYWNlcyBhcmUgYWxsb3dlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIGxpbmVzIHRoYXQgZGVmaW5lIGEgdmFyaWFibGUgb3IgYSBkb18gcm91dGluZSIpLAorICAgIChyZXNwZWN0X3J1bGUxLCBjb25mb3JtVG9fcnVsZTEsICJObyBzcGFjZXMgYXJlIGFsbG93ZWQgYmVoaW5kIHRoZSBsaW5lIGNvbnRpbnVhdGlvbiBzeW1ib2wgJ1xcJyIpLAorICAgIChyZXNwZWN0X3J1bGUyLCBjb25mb3JtVG9fcnVsZTIsICJUYWJzIHNob3VsZCBub3QgYmUgdXNlZCAodXNlIHNwYWNlcyBpbnN0ZWFkKSIpLAorICAgIChyZXNwZWN0X3J1bGUzLCBjb25mb3JtVG9fcnVsZTMsICJDb21tZW50cyBpbnNpZGUgYmIgZmlsZXMgYXJlIGFsbG93ZWQgdXNpbmcgdGhlICcjJyBjaGFyYWN0ZXIgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGxpbmUiKSwKKyAgICAocmVzcGVjdF9ydWxlNCwgY29uZm9ybVRvX3J1bGU0LCAiVXNlIHF1b3RlcyBvbiB0aGUgcmlnaHQgaGFuZCBzaWRlIG9mIGFzc2lnbm1lbnRzIEZPTyA9IFwiQkFSXCIiKSwKKyAgICAocmVzcGVjdF9ydWxlNSwgY29uZm9ybVRvX3J1bGU1LCAiVGhlIGNvcnJlY3Qgc3BhY2luZyBmb3IgYSB2YXJpYWJsZSBpcyBGT08gPSBcIkJBUlwiIiksCisgICAgKHJlc3BlY3RfcnVsZTYsIGNvbmZvcm1Ub19ydWxlNiwgIkRvbid0IHVzZSBzcGFjZXMgb3IgdGFicyBvbiBlbXB0eSBsaW5lcyIpLAorICAgIChyZXNwZWN0X3J1bGU3LCBjb25mb3JtVG9fcnVsZTcsICJJbmRlbnRhdGlvbiBvZiBtdWx0aWxpbmUgdmFyaWFibGVzIHN1Y2ggYXMgU1JDX1VSSSBpcyBkZXNpcmVhYmxlIiksCispCisKKyMgRnVuY3Rpb24gdG8gY2hlY2sgdGhhdCBhIGxpbmUgcmVzcGVjdHMgYSBydWxlLiBJZiBub3QsIGl0IHRyaWVzIHRvIGNvbmZvcm0KKyMgdGhlIGxpbmUgdG8gdGhlIHJ1bGUuIFJlbWluZGVyIG9yIERpc2dyZXNzaW9uIG1lc3NhZ2UgYXJlIGR1bXAgYWNjb3JkaW5nbHkuCitkZWYgZm9sbG93X3J1bGUoaSwgbGluZSk6CisgICAgb2xkbGluZSA9IGxpbmUKKyAgICAjIGlmIHRoZSBsaW5lIGRvZXMgbm90IHJlc3BlY3QgdGhlIHJ1bGUKKyAgICBpZiBub3QgcnVsZXNbaV1bMF0obGluZSk6CisgICAgICAgICMgdHJ5IHRvIGNvbmZvcm0gaXQgdG8gdGhlIHJ1bGUKKyAgICAgICAgbGluZSA9IHJ1bGVzW2ldWzFdKGxpbmUpCisgICAgICAgICMgaWYgdGhlIGxpbmUgc3RpbGwgZG9lcyBub3QgcmVzcGVjdCB0aGUgcnVsZQorICAgICAgICBpZiBub3QgcnVsZXNbaV1bMF0obGluZSk6CisgICAgICAgICAgICAjIHRoaXMgaXMgYSBydWxlIGRpc2dyZXNzaW9uCisgICAgICAgICAgICBwcmludCAoIiMjIERpc2dyZXNzaW9uOiAiLCBydWxlc1tpXVsyXSwgIiBpbjogJyIsIG9sZGxpbmUsICInIikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgICMganVzdCByZW1pbmQgdXNlciBhYm91dCBoaXMvaGVyIGVycm9ycworICAgICAgICAgICAgcHJpbnQgKCIjIyBSZW1pbmRlcjogIiwgcnVsZXNbaV1bMl0sICIgaW4gOiAnIiwgb2xkbGluZSwgIiciKQorICAgIHJldHVybiBsaW5lCisKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKworICAgICMgLS0gcmV0cmlldmVzIHRoZSBsaW5lcyBvZiB0aGUgLmJiIGZpbGUgLS0KKyAgICBsaW5lcyA9IFtdCisgICAgZm9yIGxpbmUgaW4gZmlsZWlucHV0LmlucHV0KCk6CisgICAgICAgICMgdXNlICdpZiBUcnVlJyB0byB3YXJuIHVzZXIgYWJvdXQgYWxsIHRoZSBydWxlIGhlL3NoZSBicmVha3MKKyAgICAgICAgIyB1c2UgJ2lmIEZhbHNlJyB0byBjb25mb3JtIHRvIHJ1bGVzezIsMSw2fSB3aXRob3V0IHdhcm5pbmdzCisgICAgICAgIGlmIFRydWU6CisgICAgICAgICAgICBsaW5lcy5hcHBlbmQobGluZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgICMgZXhwYW5kdGFicyBvbiBlYWNoIGxpbmUgc28gdGhhdCBydWxlMiBpcyBhbHdheXMgcmVzcGVjdGVkIAorICAgICAgICAgICAgIyByc3RyaXAgZWFjaCBsaW5lIHNvIHRoYXQgcnVsZTEgaXMgYWx3YXlzIHJlc3BlY3RlZCAKKyAgICAgICAgICAgIGxpbmUgPSBsaW5lLmV4cGFuZHRhYnMoKS5yc3RyaXAoKQorICAgICAgICAgICAgIyBpZ25vcmUgZW1wdHkgbGluZXMgKG9yIGxpbmUgZmlsbGVkIHdpdGggc3BhY2VzIG9yIHRhYnMgb25seSkKKyAgICAgICAgICAgICMgc28gdGhhdCBydWxlNiBpcyBhbHdheXMgcmVzcGVjdGVkCisgICAgICAgICAgICBpZiBsaW5lIGlzIG5vdCAnJzoKKyAgICAgICAgICAgICAgICBsaW5lcy5hcHBlbmQobGluZSkKKworICAgICMgLS0gcGFyc2UgdGhlIGZpbGUgLS0KKyAgICB2YXIgPSAiIgorICAgIGluX3JvdXRpbmUgPSBGYWxzZQorICAgIGNvbW1lbnRCbG9jID0gW10KKyAgICBvbGluZXMgPSBbXQorICAgIGZvciBsaW5lIGluIGxpbmVzOiAKKyAgICAgICAgb3JpZ2luYWxMaW5lID0gbGluZQorICAgICAgICAjIHJzdHJpcCBsaW5lIHRvIHJlbW92ZSBsaW5lIGJyZWFrcyBjaGFyYWN0ZXJzCisgICAgICAgIGxpbmUgPSBsaW5lLnJzdHJpcCgpCisgICAgICAgIGxpbmUgPSBmb2xsb3dfcnVsZSgyLCBsaW5lKQorICAgICAgICBsaW5lID0gZm9sbG93X3J1bGUoMSwgbGluZSkKKyAgICAgICAgbGluZSA9IGZvbGxvd19ydWxlKDYsIGxpbmUpCisKKyAgICAgICAgIyBpZ25vcmUgZW1wdHkgbGluZXMKKyAgICAgICAgaWYgbGluZS5pc3NwYWNlKCkgb3IgbGluZSBpcyAnJzoKKyAgICAgICAgICAgICMgZmx1c2ggY29tbWVudHMgaW50byB0aGUgb2xpbmVzCisgICAgICAgICAgICBmb3IgYyBpbiBjb21tZW50QmxvYzogb2xpbmVzLmFwcGVuZChjKQorICAgICAgICAgICAgY29tbWVudEJsb2MgPSBbXQorICAgICAgICAgICAgY29udGludWUKKworICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoJ30nKTogCisgICAgICAgICAgICBpbl9yb3V0aW5lPUZhbHNlCisgICAgICAgIGtlZXAgPSBsaW5lLmVuZHN3aXRoKCdcXCcpIG9yIGluX3JvdXRpbmUKKworICAgICAgICAjIGhhbmRsZXMgY29tbWVudGVkIGxpbmVzCisgICAgICAgIGlmIGxpbmUubHN0cmlwKCkuc3RhcnRzd2l0aCgnIycpOgorICAgICAgICAgICAgIyBjaGVjayBhbmQgZm9sbG93IHJ1bGUzIGlmIG5vdCBpbiBhIHZhcmlhYmxlcyBvciByb3V0aW5lcworICAgICAgICAgICAgaWYgbm90IGluX3JvdXRpbmU6CisgICAgICAgICAgICAgICAgbGluZSA9IGZvbGxvd19ydWxlKDMsIGxpbmUpCisgICAgICAgICAgICBjb21tZW50QmxvYy5hcHBlbmQobGluZSkKKyAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgaWYgdmFyIGluIHNlZW5fdmFyczoKKyAgICAgICAgICAgIGZvciBjIGluIGNvbW1lbnRCbG9jOiBzZWVuX3ZhcnNbdmFyXS5hcHBlbmQoYykKKyAgICAgICAgICAgIGNvbW1lbnRCbG9jID0gW10KKyAgICAgICAgICAgIHNlZW5fdmFyc1t2YXJdLmFwcGVuZChsaW5lKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgZm9yIGsgaW4gT0VfdmFyczoKKyAgICAgICAgICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoayk6CisgICAgICAgICAgICAgICAgICAgIHZhciA9IGsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIGlmIHJlLm1hdGNoKHJvdXRpbmVSZWdleHAsIGxpbmUpIGlzIG5vdCBOb25lOiAKKyAgICAgICAgICAgICAgICBpbl9yb3V0aW5lPVRydWUKKyAgICAgICAgICAgICAgICBsaW5lID0gZm9sbG93X3J1bGUoMCwgbGluZSkKKyAgICAgICAgICAgIGVsaWYgcmUubWF0Y2godmFyUmVnZXhwLCBsaW5lKSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBsaW5lID0gZm9sbG93X3J1bGUoMCwgbGluZSkKKyAgICAgICAgICAgICAgICBsaW5lID0gZm9sbG93X3J1bGUoNCwgbGluZSkKKyAgICAgICAgICAgICAgICBsaW5lID0gZm9sbG93X3J1bGUoNSwgbGluZSkKKyAgICAgICAgICAgIGlmIHZhciA9PSAiIjoKKyAgICAgICAgICAgICAgICBpZiBub3QgaW5fcm91dGluZToKKyAgICAgICAgICAgICAgICAgICAgcHJpbnQgKCIjIyBXYXJuaW5nOiB1bmtub3duIHZhcmlhYmxlL3JvdXRpbmUgXCIlc1wiIiAlIG9yaWdpbmFsTGluZS5yc3RyaXAoJ1xuJykpCisgICAgICAgICAgICAgICAgdmFyID0gJ290aGVycycKKyAgICAgICAgICAgIGZvciBjIGluIGNvbW1lbnRCbG9jOiBzZWVuX3ZhcnNbdmFyXS5hcHBlbmQoYykKKyAgICAgICAgICAgIGNvbW1lbnRCbG9jID0gW10KKyAgICAgICAgICAgIHNlZW5fdmFyc1t2YXJdLmFwcGVuZChsaW5lKQorICAgICAgICBpZiBub3Qga2VlcCBhbmQgbm90IGluX3JvdXRpbmU6IHZhciA9ICIiCisKKyAgICAjIC0tIGR1bXAgdGhlIHNhbml0aXplZCAuYmIgZmlsZSAtLQorICAgIGFkZEVtcHR5TGluZSA9IEZhbHNlCisgICAgIyB3cml0ZSBjb21tZW50cyB0aGF0IGFyZSBub3QgcmVsYXRlZCB0byB2YXJpYWJsZXMgbm9yIHJvdXRpbmVzCisgICAgZm9yIGwgaW4gY29tbWVudEJsb2M6IG9saW5lcy5hcHBlbmQobCkKKyAgICAjIHdyaXRlIHZhcmlhYmxlcyBhbmQgcm91dGluZXMKKyAgICBwcmV2aW91clZhclByZWZpeCA9ICJ1bmtub3duIgorICAgIGZvciBrIGluIE9FX3ZhcnM6CisgICAgICAgIGlmIGs9PSdTUkNfVVJJJzogYWRkRW1wdHlMaW5lID0gVHJ1ZQorICAgICAgICBpZiBzZWVuX3ZhcnNba10gIT0gW106IAorICAgICAgICAgICAgaWYgYWRkRW1wdHlMaW5lIGFuZCBub3Qgay5zdGFydHN3aXRoKHByZXZpb3VyVmFyUHJlZml4KToKKyAgICAgICAgICAgICAgICBvbGluZXMuYXBwZW5kKCIiKQorICAgICAgICAgICAgZm9yIGwgaW4gc2Vlbl92YXJzW2tdOiAKKyAgICAgICAgICAgICAgICBvbGluZXMuYXBwZW5kKGwpCisgICAgICAgICAgICBwcmV2aW91clZhclByZWZpeCA9IGsuc3BsaXQoJ18nKVswXT09JycgYW5kICJ1bmtub3duIiBvciBrLnNwbGl0KCdfJylbMF0KKyAgICBmb3IgbGluZSBpbiBvbGluZXM6IHByaW50KGxpbmUpCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvY29udHJpYi9wdy1hbS5zaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvY29udHJpYi9wdy1hbS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44OTg3ZWVlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9jb250cmliL3B3LWFtLnNoCkBAIC0wLDAgKzEsMTUgQEAKKyMhL2Jpbi9zaAorIworIyBJZGVhIGFuZCBpbXBsZW1lbnRhdGlvbjogIEtvZW4gS29vaQorIyBNdWx0aXBsZSBwYXRjaGVzIHN1cHBvcnQ6IE1hcmNpbiBKdXN6a2lld2ljegorIworIyBUaGlzIHNjcmlwdCB3aWxsIGZldGNoIGFuICdtYm94JyBwYXRjaCBmcm9tIHBhdGNod29yayBhbmQgZ2l0IGFtIGl0CisjIHVzYWdlOiBwdy1hbS5zaCA8bnVtYmVyPgorIyBleGFtcGxlOiAncHctYW0uc2ggMjIxJyB3aWxsIGdldCB0aGUgcGF0Y2ggZnJvbSBodHRwOi8vcGF0Y2h3b3JrLm9wZW5lbWJlZGRlZC5vcmcvcGF0Y2gvMjIxLworCitmb3IgcGF0Y2hudW1iZXIgaW4gJEA7CitkbworCXdnZXQgLW52IGh0dHA6Ly9wYXRjaGVzLm9wZW5lbWJlZGRlZC5vcmcvcGF0Y2gvJHBhdGNobnVtYmVyL21ib3gvIC1PIHB3LWFtLSRwYXRjaG51bWJlci5wYXRjaAorCWdpdCBhbSAtcyBwdy1hbS0kcGF0Y2hudW1iZXIucGF0Y2gKKwlybSBwdy1hbS0kcGF0Y2hudW1iZXIucGF0Y2gKK2RvbmUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvY29udHJpYi90ZXNzZXJhY3QtbGFuZ3Muc2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL2NvbnRyaWIvdGVzc2VyYWN0LWxhbmdzLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUwODczYzEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL2NvbnRyaWIvdGVzc2VyYWN0LWxhbmdzLnNoCkBAIC0wLDAgKzEsOTIgQEAKKyMhIC9iaW4vc2gKKworIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1BWPSczLjAyJworCisjIFNvbWV0aW1lcyB0aGUgc29mdHdhcmUgcGFja2FnZSBoYXMgYSBtaW5vciB2ZXJzaW9uLCBidXQgbGFuZ3VhZ2UKKyMgcGFja2FnZXMgaGF2ZSBub3QuICBFeGFtcGxlOiAKKyMgICBzb2Z0d2FyZSBwYWNrYWdlOiB0ZXNzZXJhY3Qtb2NyLTMuMDIuMDIudGFyLmd6CisjICAgbGFuZ3VhZ2UgcGFja2FnZTogdGVzc2VyYWN0LW9jci0zLjAyLnBvci50YXIuZ3oKK01JTk9SX1BWPTAyCisKK3JlY2lwZXNfZGlyPSQxCisKK3VzYWdlKCkgeworICAgIGVjaG8gIlVzYWdlOiBgYmFzZW5hbWUgJDBgIDxyZWNpcGVzIGRpcj4gWyA8ZG93bmxvYWQgZGlyPiBdIgorfQorCitpZiBbIC16ICIkcmVjaXBlc19kaXIiIF07IHRoZW4KKyAgICB1c2FnZQorICAgIGV4aXQgMQorZmkKK21rZGlyIC1wICIkcmVjaXBlc19kaXIiCisKK2ZpbGVfbGlzdF91cmk9J2h0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvdGVzc2VyYWN0LW9jci9kb3dubG9hZHMvbGlzdCcKK2ZpbGVfbGlzdD1gbWt0ZW1wYAorCityZW1vdmVfZGxfZGlyPQoraWYgWyAteiAiJDIiIF07IHRoZW4KKyAgICByZW1vdmVfZGxfZGlyPTEKKyAgICBkbF9kaXI9YG1rdGVtcCAtZGAKK2Vsc2UKKyAgICBkbF9kaXI9IiQyIgorZmkKKworbWtkaXIgLXAgJGRsX2RpcgorCit0ZXNzZXJhY3RfbGFuZ3MoKSB7CisgICAgd2dldCAtcSAtTyAiJGZpbGVfbGlzdCIgIiRmaWxlX2xpc3RfdXJpIgorCisgICAgZ3JlcCAtRSAnYSBocmVmPSJkZXRhaWxcP25hbWU9dGVzc2VyYWN0LW9jci0nJHtQVn0nXC5bXlwuXSsudGFyLmd6JmFtcDtjYW49MiZhbXA7cT0iPicgIiRmaWxlX2xpc3QiIHwgXAorICAgICAgICBzZWQgLXIgLWUgJ3MvLip0ZXNzZXJhY3Qtb2NyLScke1BWfSdcLiooW15cLl0rKVwudGFyXC5nei4qL1wxLycgfCBcCisgICAgICAgIGdyZXAgLUV2ICcoJyR7TUlOT1JfUFZ9J3wnJHtNSU5PUl9QVn0nLWRvYy1odG1sKScgfCBcCisgICAgICAgIHNvcnQgLXUKK30KKworZG93bmxvYWRfbGFuZ19maWxlcygpIHsKKyAgICBsb2NhbCBsYW5ncz0iJDEiCisgICAgbG9jYWwgdXJpCisgICAgZm9yIGxhbmcgaW4gJGxhbmdzOyBkbworICAgICAgICBpZiBbICEgLWUgIiRkbF9kaXIvdGVzc2VyYWN0LW9jci0ke1BWfS4ke2xhbmd9LnRhci5neiIgXTsgdGhlbgorICAgICAgICAgICAgdXJpPSJodHRwczovL3Rlc3NlcmFjdC1vY3IuZ29vZ2xlY29kZS5jb20vZmlsZXMvdGVzc2VyYWN0LW9jci0ke1BWfS4ke2xhbmd9LnRhci5neiIKKyAgICAgICAgICAgIGVjaG8gIkRvd25sb2FkaW5nICR1cmkiCisgICAgICAgICAgICB3Z2V0IC1xIC1QICIkZGxfZGlyIiAiJHVyaSIKKyAgICAgICAgZmkKKyAgICBkb25lCit9CisKK2NyZWF0ZV9yZWNpcGUoKSB7CisgICAgbG9jYWwgbGFuZz0kMQorICAgIGxvY2FsIHRhcmJhbGwKKworICAgIHRhcmJhbGw9IiRkbF9kaXIvdGVzc2VyYWN0LW9jci0ke1BWfS4ke2xhbmd9LnRhci5neiIKKworICAgIG1kNXN1bT1gbWQ1c3VtICR0YXJiYWxsIHwgYXdrICd7cHJpbnQgJDF9J2AKKyAgICBzaGEyNTZzdW09YHNoYTI1NnN1bSAkdGFyYmFsbCB8IGF3ayAne3ByaW50ICQxfSdgCisKKyAgICBjYXQgPiAkcmVjaXBlc19kaXIvdGVzc2VyYWN0LWxhbmctYGVjaG8gJHtsYW5nfSB8IHNlZCBzL18vLS9nYF8ke1BWfS5iYiA8PEVPRgorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gIiRsYW5nIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiJHttZDVzdW19IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIiR7c2hhMjU2c3VtfSIKK0VPRgorfQorCisKK0xBTkdTPWB0ZXNzZXJhY3RfbGFuZ3NgCisKK2Rvd25sb2FkX2xhbmdfZmlsZXMgIiRMQU5HUyIKKworZm9yIGxhbmcgaW4gJExBTkdTOyBkbworICAgIGNyZWF0ZV9yZWNpcGUgJGxhbmcKK2RvbmUKKworWyAtbiAiJHJlbW92ZV9kbF9kaXIiIF0gJiYgcm0gLXJmICRkbF9kaXIKK3JtIC1mICRmaWxlX2xpc3QKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvQ09QWUlORy5NSVQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL0NPUFlJTkcuTUlUCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiOTUwZGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL0NPUFlJTkcuTUlUCkBAIC0wLDAgKzEsMTcgQEAKK1Blcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgCitvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCAKK2luIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgCit0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIAorY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIAorZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKworVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gCithbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKworVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IgCitJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgCitGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgCitBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIAorTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgCitPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIAorVEhFIFNPRlRXQVJFLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9SRUFETUUgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL1JFQURNRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzhlZmM1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9SRUFETUUKQEAgLTAsMCArMSwxOCBAQAorVGhpcyBsYXllciBkZXBlbmRzIG9uOgorCitVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL29lLWNvcmUuZ2l0CiticmFuY2g6IGtyb2dvdGggCityZXZpc2lvbjogSEVBRAorCitVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL21ldGEtb2UuZ2l0CitsYXllcnM6IG1ldGEtb2UsIG1ldGEtcHl0aG9uCiticmFuY2g6IGtyb2dvdGggCityZXZpc2lvbjogSEVBRAorCitTZW5kIHB1bGwgcmVxdWVzdHMgdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgd2l0aCAnW21ldGEtZWZsXVtrcm9nb3RoXScgaW4gdGhlIHN1YmplY3QnCisKK1doZW4gc2VuZGluZyBzaW5nbGUgcGF0Y2hlcywgcGxlYXNlIHVzaW5nIHNvbWV0aGluZyBsaWtlOgorJ2dpdCBzZW5kLWVtYWlsIC1NIC0xIC0tdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgLS1zdWJqZWN0LXByZWZpeD1tZXRhLWVmbF1ba3JvZ290aF1bUEFUQ0gnCisKK2tyb2dvdGggYnJhbmNoIG1haW50YWluZXIocyk6CitBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9jbGFzc2VzL2UtYmFzZS5iYmNsYXNzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9jbGFzc2VzL2UtYmFzZS5iYmNsYXNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwYWUyMjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL2NsYXNzZXMvZS1iYXNlLmJiY2xhc3MKQEAgLTAsMCArMSwxNCBAQAorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5lbmxpZ2h0ZW5tZW50Lm9yZyIKK1NSQ05BTUUgPz0gIiR7QlBOfSIKK1NSQ1ZFUiA/PSAiJHtQVn0iCisKK0VGTF9TUkNSRVYgPz0gIjgyMDcwIgorCitBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKKworUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0tJHtTUkNWRVJ9IgorCisjIGVhY2ggZWZsIG9yIGUxNyBtb2R1bGUgaXMgaW5zdGFsbGluZyBtb2R1bGUuc28gaW4gZGlmZmVyZW50IGRpcmVjdG9yeSwgZGlzYWJsZSBzaGxpYnMgcHJvdmlkZXJzIGZvciB0aGVtCisjIGV2YXMtZW5naW5lLWdsLXgxMS0xLjcuNyBldmFzLWVuZ2luZS1zb2Z0d2FyZS0xNi0xLjcuNyBldmFzLWVuZ2luZS1zb2Z0d2FyZS0xNi14MTEtMS43LjcgZXZhcy1lbmdpbmUtc29mdHdhcmUteDExLTEuNy43IGV2YXMtZW5naW5lLXdheWxhbmQtc2htLTEuNy43IGV2YXMtY3NlcnZlMi1ibXAtMS43LjcgZXZhcy1jc2VydmUyLWVldC0xLjcuNyBldmFzLWNzZXJ2ZTItaWNvLTEuNy43IGV2YXMtY3NlcnZlMi1qcGVnLTEuNy43IGV2YXMtY3NlcnZlMi1wbWFwcy0xLjcuNyBldmFzLWNzZXJ2ZTItcG5nLTEuNy43IGV2YXMtY3NlcnZlMi1wc2QtMS43LjcgZXZhcy1jc2VydmUyLXRnYS0xLjcuNyBldmFzLWNzZXJ2ZTItdGlmZi0xLjcuNyBldmFzLWNzZXJ2ZTItd2JtcC0xLjcuNyBldmFzLWNzZXJ2ZTIteHBtLTEuNy43IGV2YXMtbG9hZGVyLWJtcC0xLjcuNyBldmFzLWxvYWRlci1nZW5lcmljLTEuNy43IGV2YXMtbG9hZGVyLWdpZi0xLjcuNyBldmFzLWxvYWRlci1pY28tMS43LjcgZXZhcy1sb2FkZXItanBlZy0xLjcuNyBldmFzLWxvYWRlci1wbWFwcy0xLjcuNyBldmFzLWxvYWRlci1wbmctMS43LjcgZXZhcy1sb2FkZXItcHNkLTEuNy43IGV2YXMtbG9hZGVyLXRnYS0xLjcuNyBldmFzLWxvYWRlci10aWZmLTEuNy43IGV2YXMtbG9hZGVyLXdibXAtMS43LjcgZXZhcy1sb2FkZXIteHBtLTEuNy43IGV2YXMtc2F2ZXItanBlZy0xLjcuNyBldmFzLXNhdmVyLXBuZy0xLjcuNyBldmFzLXNhdmVyLXRpZmYtMS43LjcgZXZhcy1lbmdpbmUtZmItMS43LjcKKyMgZW1vdGlvbi0xLjcuNyBlbGVtZW50YXJ5LTEuNy43IGVsZW1lbnRhcnktdGVzdHMtMS43LjcgZWxlbWVudGFyeS1hY2Nlc3NpYmlsaXR5LTEuNy43IGUtd20tMC4xNy4zIGVsZmUtMC4wLjErc3ZucjgyMDcwIHNoci1lLWdhZGdldHMtMC4wLjArZ2l0cjErMjdiNmMxN2Q3MyBjcHUtMC4wLjErc3ZucjgyMDcwIHBsYWNlcy0wLjEuMCtzdm5yODIwNzAgZm9yZWNhc3RzLTAuMi4wK3N2bnI4MjA3MCB1cHRpbWUtMC4wLjIrc3ZucjgyMDcwIHNjcmVlbnNob3QtMC4zLjArc3ZucjgyMDcwIGV4YWx0LWNsaWVudC0wLjAuMStzdm5yODIwNzAgZGlza2lvLTAuMC4xK3N2bnI4MjA3MCByYWluLTAuMC4zK3N2bnI4MjA3MCBuZXdzLTAuMS4wK3N2bnI4MjA3MCBmbGFtZS0wLjAuMytzdm5yODIwNzAKK1BSSVZBVEVfTElCUyA9ICJtb2R1bGUuc28iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL2NsYXNzZXMvZS5iYmNsYXNzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9jbGFzc2VzL2UuYmJjbGFzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZWU4MGJmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9jbGFzc2VzL2UuYmJjbGFzcwpAQCAtMCwwICsxLDIyIEBACitTRUNUSU9OID0gImUvYXBwcyIKKworaW5oZXJpdCBlLWJhc2UgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBiaW5jb25maWcKKworZG9fcHJlcHNvdXJjZXMgKCkgeworICAgIG1ha2UgY2xlYW4gZGlzdGNsZWFuIHx8IHRydWUKK30KK2FkZHRhc2sgcHJlcHNvdXJjZXMgYWZ0ZXIgZG9fcGF0Y2ggYmVmb3JlIGRvX2NvbmZpZ3VyZQorCitkb19jb25maWd1cmVfYXBwZW5kKCkgeworICAgIGZpbmQgJHtCfSAtbmFtZSBNYWtlZmlsZSB8IHhhcmdzIHNlZCAtaSBzOictSSQoaW5jbHVkZWRpciknOictSS4nOmcKK30KKworZXhwb3J0IENVUkxfQ09ORklHID0gIiR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9L2N1cmwtY29uZmlnIgorZXhwb3J0IEZSRUVUWVBFX0NPTkZJRyA9ICIke1NUQUdJTkdfQklORElSX0NST1NTfS9mcmVldHlwZS1jb25maWciCisKK1BBQ0tBR0VTID0rICIke1BOfS10aGVtZXMiCitQQUNLQUdFUyArPSAiJHtQTn0tbGliIgorCitGSUxFU18ke1BOfS1saWIgPSAiJHtsaWJkaXJ9L2xpYiouc28uKiIKK0ZJTEVTXyR7UE59LXRoZW1lcyA9ICIke2RhdGFkaXJ9LyR7UE59L3RoZW1lcyAke2RhdGFkaXJ9LyR7UE59L2RhdGEgJHtkYXRhZGlyfS8ke1BOfS9mb250cyAke2RhdGFkaXJ9LyR7UE59L3BvaW50ZXJzICR7ZGF0YWRpcn0vJHtQTn0vaW1hZ2VzICR7ZGF0YWRpcn0vJHtQTn0vdXNlcnMgJHtkYXRhZGlyfS8ke1BOfS9pbWFnZXMgJHtkYXRhZGlyfS8ke1BOfS9zdHlsZXMiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7aW5jbHVkZWRpcn0gJHtsaWJkaXJ9L2xpYiouc28iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL2NsYXNzZXMvZWZsLmJiY2xhc3MgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL2NsYXNzZXMvZWZsLmJiY2xhc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWI0MGU0YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvY2xhc3Nlcy9lZmwuYmJjbGFzcwpAQCAtMCwwICsxLDY2IEBACitTRUNUSU9OID0gImUvbGlicyIKK0xJQ0VOU0UgPSAiTUlUICYgQlNEIgorREVQRU5EUyArPSAicGtnY29uZmlnLW5hdGl2ZSIKKworIyByZXZpc2lvbiAwZDkzZWM4NGIzMGJjMWJlZTJjYWFlZTcyZDY2N2Y4N2JjNDY4YTcwIG1hZGUgU1JDREFURSBhbmQgaGVuY2UgUFYgZ28gYmFja3dhcmRzLCBzbyB3ZSBuZWVkIHRvIHVwIFBFIHRvIHVuYnJlYWsgYnVpbGRzIGFuZCBmZWVkcyA6KAorUEUgPSAiMiIKKworaW5oZXJpdCBlLWJhc2UgYXV0b3Rvb2xzCisKKyMgZXZhcy1uYXRpdmUgbG9va3MgYXQgdGhpcyB2YXIsIHNvIGtlZXAgaXQKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgYXV0b3BvaW50IHx8IHRvdWNoIGNvbmZpZy5ycGF0aAorfQorCitkb19pbnN0YWxsX3ByZXBlbmQgKCkgeworICAgIGZvciBpIGluIGBmaW5kICR7Qn0vIC1uYW1lICIqLnBjIiAtdHlwZSBmYCA7IGRvIFwKKyAgICAgICAgc2VkIC1pIC1lICdzOi1MJHtTVEFHSU5HX0xJQkRJUn06LUxcJFx7bGliZGlyXH06ZycgLWUgJ3M6LUkke1NUQUdJTkdfTElCRElSfTotSVwkXHtsaWJkaXJcfTpnJyAtZSAnczotSSR7U1RBR0lOR19JTkNESVJ9Oi1JXCRce2luY2x1ZGVkaXJcfTpnJyAkaQorICAgIGRvbmUKK30KKworUEFDS0FHRVMgPSsgIiR7UE59LXRoZW1lcyIKK1BBQ0tBR0VTICs9ICIke1BOfS10ZXN0cyIKK1BBQ0tBR0VTICs9ICIke1BOfS1lb2xpYW4iCisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS8qLnNvLiogXAorICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2VkamUvbW9kdWxlcy8ke1BOfS8qL21vZHVsZS5zbyBcCisgICAgICAgICAgICAgICAke2xpYmRpcn0vJHtQTn0vcGx1Z2lucy8qLnNvIFwKKyAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3NlcnZpY2VzLyogXAorIgorCisKK0ZJTEVTXyR7UE59LXRoZW1lcyA9ICIke2RhdGFkaXJ9LyR7UE59L3RoZW1lcyBcCisgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS8ke1BOfS9kYXRhIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vJHtQTn0vcGx1Z2lucy9kYXRhLyouZWRqIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9LyR7UE59L2ZvbnRzIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9LyR7UE59L3BvaW50ZXJzIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9LyR7UE59L2ltYWdlcyBcCisgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS8ke1BOfS91c2VycyBcCisgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS8ke1BOfS9pbWFnZXMgXAorICAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtQTn0vc3R5bGVzIgorCitGSUxFU18ke1BOfS1kZXYgICArPSAiJHtiaW5kaXJ9LyR7UE59LWNvbmZpZyBcCisgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZy8qIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGliKi5sYSBcCisgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9Lyouc28gXAorICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS8ke1BOfS8qLmxhIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vJHtQTn0vKi8qLmxhIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9LyR7UE59L2VkamVfZXh0ZXJuYWxzIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vZWRqZS9tb2R1bGVzLyR7UE59LyovbW9kdWxlLmxhIFwKKyIKKworRklMRVNfJHtQTn0tZW9saWFuID0gIiBcCisgICAgJHtkYXRhZGlyfS9lb2xpYW4vaW5jbHVkZSBcCisiCisKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9LyR7QlBOfS8qLyouYSIKKworRklMRVNfJHtQTn0tZGJnICs9ICAgIiR7bGliZGlyfS8ke1BOfS8uZGVidWcgXAorICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS8ke1BOfS8qLy5kZWJ1ZyBcCisgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2VkamUvbW9kdWxlcy8ke1BOfS8qLy5kZWJ1Zy9tb2R1bGUuc28gXAorIgorCitGSUxFU18ke1BOfS10ZXN0cyAgPSAiJHtiaW5kaXJ9LyR7UE59IFwKKyAgICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vKl8qIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9LyR7UE59IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9jb25mL2Rpc3Ryby9pbmNsdWRlL2VmbC1mcm9tLXN2bi1yZWNpcGVzLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvY29uZi9kaXN0cm8vaW5jbHVkZS9lZmwtZnJvbS1zdm4tcmVjaXBlcy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjNhOGVhZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvY29uZi9kaXN0cm8vaW5jbHVkZS9lZmwtZnJvbS1zdm4tcmVjaXBlcy5pbmMKQEAgLTAsMCArMSw0MyBAQAorRUZMX1BSRUZFUlJFRF9WRVJTSU9OID89ICIxLjcuNCtzdm4lIgorRUZMX1BSRUZFUlJFRF9QWVRIT05fVkVSU0lPTiA/PSAiMS43LjArc3ZuJSIKKworUFJFRkVSUkVEX1ZFUlNJT05fZS13bSA/PSAiMC4xNy4wK3N2bnIlIgorCitQUkVGRVJSRURfVkVSU0lPTl9lY29yZSA/PSAiJHtFRkxfUFJFRkVSUkVEX1ZFUlNJT059IgorUFJFRkVSUkVEX1ZFUlNJT05fZWNvcmUtbmF0aXZlID89ICIke0VGTF9QUkVGRVJSRURfVkVSU0lPTn0iCitQUkVGRVJSRURfVkVSU0lPTl9lZGJ1cyA/PSAiJHtFRkxfUFJFRkVSUkVEX1ZFUlNJT059IgorUFJFRkVSUkVEX1ZFUlNJT05fZWRidXMtbmF0aXZlID89ICIke0VGTF9QUkVGRVJSRURfVkVSU0lPTn0iCitQUkVGRVJSRURfVkVSU0lPTl9lZGplID89ICIke0VGTF9QUkVGRVJSRURfVkVSU0lPTn0iCitQUkVGRVJSRURfVkVSU0lPTl9lZGplLW5hdGl2ZSA/PSAiJHtFRkxfUFJFRkVSUkVEX1ZFUlNJT059IgorUFJFRkVSUkVEX1ZFUlNJT05fZWRqZS1uYXRpdmVzZGsgPz0gIiR7RUZMX1BSRUZFUlJFRF9WRVJTSU9OfSIKK1BSRUZFUlJFRF9WRVJTSU9OX2VlemUgPz0gIiR7RUZMX1BSRUZFUlJFRF9WRVJTSU9OfSIKK1BSRUZFUlJFRF9WRVJTSU9OX2VlemUtbmF0aXZlID89ICIke0VGTF9QUkVGRVJSRURfVkVSU0lPTn0iCitQUkVGRVJSRURfVkVSU0lPTl9lZnJlZXQgPz0gIiR7RUZMX1BSRUZFUlJFRF9WRVJTSU9OfSIKK1BSRUZFUlJFRF9WRVJTSU9OX2VmcmVldC1uYXRpdmUgPz0gIiR7RUZMX1BSRUZFUlJFRF9WRVJTSU9OfSIKK1BSRUZFUlJFRF9WRVJTSU9OX2VpbmEgPz0gIiR7RUZMX1BSRUZFUlJFRF9WRVJTSU9OfSIKK1BSRUZFUlJFRF9WRVJTSU9OX2VpbmEtbmF0aXZlID89ICIke0VGTF9QUkVGRVJSRURfVkVSU0lPTn0iCitQUkVGRVJSRURfVkVSU0lPTl9lbWJyeW8gPz0gIiR7RUZMX1BSRUZFUlJFRF9WRVJTSU9OfSIKK1BSRUZFUlJFRF9WRVJTSU9OX2VtYnJ5by1uYXRpdmUgPz0gIiR7RUZMX1BSRUZFUlJFRF9WRVJTSU9OfSIKK1BSRUZFUlJFRF9WRVJTSU9OX2V2YXMgPz0gIiR7RUZMX1BSRUZFUlJFRF9WRVJTSU9OfSIKK1BSRUZFUlJFRF9WRVJTSU9OX2V2YXMtZ2VuZXJpYy1sb2FkZXJzID89ICIke0VGTF9QUkVGRVJSRURfVkVSU0lPTn0iCitQUkVGRVJSRURfVkVSU0lPTl9ldmFzLW5hdGl2ZSA/PSAiJHtFRkxfUFJFRkVSUkVEX1ZFUlNJT059IgorUFJFRkVSUkVEX1ZFUlNJT05fZXhwZWRpdGUgPz0gIiR7RUZMX1BSRUZFUlJFRF9WRVJTSU9OfSIKK1BSRUZFUlJFRF9WRVJTSU9OX2V4cGVkaXRlLW5hdGl2ZSA/PSAiJHtFRkxfUFJFRkVSUkVEX1ZFUlNJT059IgorCitQUkVGRVJSRURfVkVSU0lPTl9lZXQgPz0gIiR7RUZMX1BSRUZFUlJFRF9WRVJTSU9OfSIKK1BSRUZFUlJFRF9WRVJTSU9OX2VldC1uYXRpdmUgPz0gIiR7RUZMX1BSRUZFUlJFRF9WRVJTSU9OfSIKKworUFJFRkVSUkVEX1ZFUlNJT05fZWlvID89ICIke0VGTF9QUkVGRVJSRURfVkVSU0lPTn0iCitQUkVGRVJSRURfVkVSU0lPTl9laW8tbmF0aXZlID89ICIke0VGTF9QUkVGRVJSRURfVkVSU0lPTn0iCitQUkVGRVJSRURfVkVSU0lPTl9lbW90aW9uID89ICIke0VGTF9QUkVGRVJSRURfVkVSU0lPTn0iCitQUkVGRVJSRURfVkVSU0lPTl9ldGh1bWIgPz0gIiR7RUZMX1BSRUZFUlJFRF9WRVJTSU9OfSIKK1BSRUZFUlJFRF9WRVJTSU9OX2VsZW1lbnRhcnkgPz0gIiR7RUZMX1BSRUZFUlJFRF9WRVJTSU9OfSIKKworUFJFRkVSUkVEX1ZFUlNJT05fcHl0aG9uLWVsZW1lbnRhcnkgPz0gIiR7RUZMX1BSRUZFUlJFRF9QWVRIT05fVkVSU0lPTn0iCitQUkVGRVJSRURfVkVSU0lPTl9weXRob24tZWNvcmUgPz0gIiR7RUZMX1BSRUZFUlJFRF9QWVRIT05fVkVSU0lPTn0iCitQUkVGRVJSRURfVkVSU0lPTl9weXRob24tZWRidXMgPz0gIiR7RUZMX1BSRUZFUlJFRF9QWVRIT05fVkVSU0lPTn0iCitQUkVGRVJSRURfVkVSU0lPTl9weXRob24tZWRqZSA/PSAiJHtFRkxfUFJFRkVSUkVEX1BZVEhPTl9WRVJTSU9OfSIKK1BSRUZFUlJFRF9WRVJTSU9OX3B5dGhvbi1lbW90aW9uID89ICIke0VGTF9QUkVGRVJSRURfUFlUSE9OX1ZFUlNJT059IgorUFJFRkVSUkVEX1ZFUlNJT05fcHl0aG9uLWV2YXMgPz0gIiR7RUZMX1BSRUZFUlJFRF9QWVRIT05fVkVSU0lPTn0iCisKK1BSRUZFUlJFRF9WRVJTSU9OX3Rlcm1pbm9sb2d5ID89ICIwLjIuMCtzdm4lIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9jb25mL2xheWVyLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL2NvbmYvbGF5ZXIuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYTkwY2UyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9jb25mL2xheWVyLmNvbmYKQEAgLTAsMCArMSwzNSBAQAorIyBXZSBoYXZlIGEgY29uZiBhbmQgY2xhc3NlcyBkaXJlY3RvcnksIGFwcGVuZCB0byBCQlBBVEggCitCQlBBVEggLj0gIjoke0xBWUVSRElSfSIKKworIyBXZSBoYXZlIGEgcmVjaXBlcyBkaXJlY3RvcnksIGFkZCB0byBCQkZJTEVTCitCQkZJTEVTICs9ICIke0xBWUVSRElSfS9yZWNpcGVzLSovKi8qLmJiICR7TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmJhcHBlbmQiCisKK0JCRklMRV9DT0xMRUNUSU9OUyArPSAiZWZsLWxheWVyIgorQkJGSUxFX1BBVFRFUk5fZWZsLWxheWVyIDo9ICJeJHtMQVlFUkRJUn0vIgorQkJGSUxFX1BSSU9SSVRZX2VmbC1sYXllciA9ICI3IgorCisjIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW5jcmVtZW50ZWQgb24gc2lnbmlmaWNhbnQgY2hhbmdlcyB0aGF0IHdpbGwKKyMgY2F1c2UgY29tcGF0aWJpbGl0eSBpc3N1ZXMgd2l0aCBvdGhlciBsYXllcnMKK0xBWUVSVkVSU0lPTl9lZmwtbGF5ZXIgPSAiMSIKKworTEFZRVJERVBFTkRTX2VmbC1sYXllciA9ICJjb3JlIG9wZW5lbWJlZGRlZC1sYXllciIKKworRV9NSVJST1IgPSAiaHR0cDovL2Rvd25sb2FkLmVubGlnaHRlbm1lbnQub3JnL3JlbGVhc2VzIgorRV9SRUxFQVNFUyA9ICJodHRwOi8vZG93bmxvYWQuZW5saWdodGVubWVudC5vcmcvcmVsIgorRV9TVk4gPSAic3ZuOi8vc3ZuLmVubGlnaHRlbm1lbnQub3JnL3N2bi9lIgorCisjIFJERVBFTkRTIG9uIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgcHJvdmlkZXIgb3BrZy11dGlscworU0lHR0VOX0VYQ0xVREVfU0FGRV9SRUNJUEVfREVQUyArPSAiXAorICBleHF1aXNpdGUtdGhlbWUtaWxsdW1lLT5vcGtnLXV0aWxzIFwKKyIKKworIyBSREVQRU5EUyBvbiBlLXdtCitTSUdHRU5fRVhDTFVERV9TQUZFX1JFQ0lQRV9ERVBTICs9ICJcCisgIGUtd20tdGhlbWUtaWxsdW1lLWVmZW5uaWh0LT5lLXdtIFwKKyAgZS13bS10aGVtZS1pbGx1bWUtbmVvLT5lLXdtIFwKKyAgZS13bS10aGVtZS1iLWFuZC13LT5lLXdtIFwKKyIKKworU0lHR0VOX0VYQ0xVREVfU0FGRV9SRUNJUEVfREVQUyArPSAiIFwKKyAgcGFja2FnZWdyb3VwLWVmbC1zZGstPnBhY2thZ2Vncm91cC1jb3JlLXNkayBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWluLWVmbC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10b29sY2hhaW4tZWZsLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3YjdmY2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWluLWVmbC5iYgpAQCAtMCwwICsxLDYgQEAKK1RPT0xDSEFJTl9UQVJHRVRfRUZMVEFTSyA/PSAicGFja2FnZWdyb3VwLWVmbC1zdGFuZGFsb25lLXNkay10YXJnZXQgcGFja2FnZWdyb3VwLWVmbC1zdGFuZGFsb25lLXNkay10YXJnZXQtZGJnIgorVE9PTENIQUlOX1RBUkdFVF9UQVNLID0gIiR7VE9PTENIQUlOX1RBUkdFVF9FRkxUQVNLfSIKK1RPT0xDSEFJTl9PVVRQVVROQU1FID0gIiR7U0RLX05BTUV9LXRvb2xjaGFpbi1lZmwtJHtESVNUUk9fVkVSU0lPTn0iCityZXF1aXJlIHJlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWluLmJiCisKK1RPT0xDSEFJTl9ORUVEX0NPTkZJR1NJVEVfQ0FDSEUgKz0gInpsaWIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1lZGJ1cy5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1lZGJ1cy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2U3MjI2MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWVkYnVzLmluYwpAQCAtMCwwICsxLDUwIEBACitERVNDUklQVElPTiA9ICIke1BOfSBiaW5kaW5ncyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mYmMwOTM5MDE4NTdmY2QxMThmMDY1ZjkwMDk4MmMyNCIKK0FVVEhPUiA9ICJHdXN0YXZvIFN2ZXJ6dXQgQmFyYmllcmkgPGJhcmJpZXJpQGdtYWlsLmNvbT4iCisjIE5PVEU6IER1ZSB0byBhIGJ1ZyBpbiBkaXN0dXRpbHMsIGV2ZW4gaWYgd2UgZG9uJ3QgdXNlIHB5cmV4IGJ1dCBjeXRob24sCisjIHdlIG5lZWQgdG8gYnVpbGQgcHlyZXggb3RoZXJ3aXNlIGN5dGhvbiBkb2Vzbid0IGdldCBjYWxsZWQgdG8gYnVpbGQKKyMgdGhlIGV4dGVuc2lvbiBtb2R1bGVzLgorREVQRU5EUyA9ICJweXRob24tY3l0aG9uLW5hdGl2ZSBweXRob24tcHlyZXgtbmF0aXZlIHB5dGhvbi1udW1lcmljIGVpbmEgZWRidXMgcHl0aG9uLWRidXMiCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uLWxhbmcgcHl0aG9uLWRidXMiCisKKyMgbmVjZXNzYXJ5IHRvIGxldCB0aGUgY2FsbCBmb3IgcHl0aG9uLWNvbmZpZyBzdWNjZWVkCitleHBvcnQgQlVJTERfU1lTCitleHBvcnQgSE9TVF9TWVMKKworaW5oZXJpdCBlLWJhc2UgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBkaXN0dXRpbHMtYmFzZQorCitTUkNOQU1FID0gInB5dGhvbi1lX2RidXMiCitTUkNWRVIgPSAiJHtQVn0iCisKK1NSQ19VUkkgPSAiXAorICAgICR7RV9NSVJST1J9L0JJTkRJTkdTL3B5dGhvbi8ke1NSQ05BTUV9LSR7U1JDVkVSfS50YXIuYnoyIFwKKyIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9LSR7U1JDVkVSfSIKKworCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAjIHByZWZpeCBDWVRIT05fLipfSU5DTFVERURJUiB3aXRoIHBhdGggdG8gU1RBR0lOR19ESVJfSE9TVCBhbHNvIHVzZSAkUEtHX0NPTkZJRyBpbnN0ZWFkIG9mIHBrZy1jb25maWcgZGlyZWN0bHkKKyAgICBzZWQgLWkgInMjPVxgXCRQS0dfQ09ORklHIC0tdmFyaWFibGU9aW5jbHVkZWRpciBcInB5dGhvbi1ldmFzIz0ke1NUQUdJTkdfRElSX0hPU1R9XGBcJFBLR19DT05GSUcgLS12YXJpYWJsZT1pbmNsdWRlZGlyIFwicHl0aG9uLWV2YXMjZyIgJHtTfS9jb25maWd1cmUuYWMKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaWYgWyAtZSBleGFtcGxlcyBdOyB0aGVuCisgICAgICAgIGZvciBpIGluIGBmaW5kIGV4YW1wbGVzIC1uYW1lICIqLmVkYyJgOyBkbworICAgICAgICAgICAgY2QgJHtTfS9gZGlybmFtZSAkaWAKKyAgICAgICAgICAgIGVjaG8gIkdlbmVyYXRpbmcgLmVkaiBmaWxlIGZvciAkaS4uLiIKKyAgICAgICAgICAgIGVkamVfY2MgYGJhc2VuYW1lICRpYAorICAgICAgICAgICAgZWNobyAiUmVtb3Zpbmcgc291cmNlcyBpbiB0aGlzIGRpcmVjdG9yeS4uLiIKKyAgICAgICAgICAgIHJtIC1mICouZWRjICoucG5nICoudHRmICouanBlZworICAgICAgICBkb25lCisgICAgICAgIGNkICR7U30KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS8ke1BOfS8KKyAgICAgICAgY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgLXYgZXhhbXBsZXMgJHtEfSR7ZGF0YWRpcn0vJHtQTn0vCisgICAgICAgIGZpbmQgJHtEfSR7ZGF0YWRpcn0vJHtQTn0vZXhhbXBsZXMgLW5hbWUgIi5zdm4iIHwgeGFyZ3Mgcm0gLXJmCisgICAgZmkKK30KKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzLyouZWdnLyovKi8uZGVidWciCisKK1BBQ0tBR0VTICs9ICIke1BOfS1leGFtcGxlcyIKK0ZJTEVTXyR7UE59LWV4YW1wbGVzID0gIiR7ZGF0YWRpcn0vJHtQTn0vZXhhbXBsZXMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1lZGJ1c18xLjcuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWVkYnVzXzEuNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllNWZmMGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1lZGJ1c18xLjcuMC5iYgpAQCAtMCwwICsxLDYgQEAKK3JlcXVpcmUgJHtCUE59LmluYworCitQUiA9ICJyMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjQwYjQ3OTQ0NGJiMDYxNDc0MjlhMjc2MTI3OTgxODkwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc4ZTVjYTMzNGVlMjUxODU3NDg2NjBiNGU2MTJmOTg0ZjRkM2JjZWQwMThmMDYyMjc4NzAxNDI5ODY4ZjExN2IiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1lZmwuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZWZsLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MmEyNmVkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZWZsLmluYwpAQCAtMCwwICsxLDc1IEBACitERVNDUklQVElPTiA9ICIke1BOfSBiaW5kaW5ncyIKKworTElDRU5TRSA9ICJMR1BMLTMuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTEVTU0VSO21kNT1lNmE2MDBmZDVlMWQ5Y2JkZTJkOTgzNjgwMjMzYWQwMiIKKyMgdGhlcmUgaXMgYWxzbyBHUEx2My4wIGluIENPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IGJ1dCBubyBmaWxlIHNlZW1zIHRvIHVzZSB0aGF0CisKK0FVVEhPUiA9ICJHdXN0YXZvIFN2ZXJ6dXQgQmFyYmllcmkgPGJhcmJpZXJpQGdtYWlsLmNvbT4iCisjIE5PVEU6IER1ZSB0byBhIGJ1ZyBpbiBkaXN0dXRpbHMsIGV2ZW4gaWYgd2UgZG9uJ3QgdXNlIHB5cmV4IGJ1dCBjeXRob24sCisjIHdlIG5lZWQgdG8gYnVpbGQgcHlyZXggb3RoZXJ3aXNlIGN5dGhvbiBkb2Vzbid0IGdldCBjYWxsZWQgdG8gYnVpbGQKKyMgdGhlIGV4dGVuc2lvbiBtb2R1bGVzLgorREVQRU5EUyA9ICJweXRob24tY3l0aG9uLW5hdGl2ZSBweXRob24tcHlyZXgtbmF0aXZlIHB5dGhvbi1udW1lcmljIHB5dGhvbi1kYnVzIGx1YSBlZmwgZWxlbWVudGFyeSIKK1JERVBFTkRTXyR7UE59ICs9ICJweXRob24tbGFuZyIKKworUFJPVklERVMgPSAicHl0aG9uLWVjb3JlIHB5dGhvbi1lbGRidXMgcHl0aG9uLWVkamUgcHl0aG9uLWVsZW1lbnRhcnkgcHl0aG9uLWVtb3Rpb24gcHl0aG9uLWV2YXMiCisKKyMgbmVjZXNzYXJ5IHRvIGxldCB0aGUgY2FsbCBmb3IgcHl0aG9uLWNvbmZpZyBzdWNjZWVkCitleHBvcnQgQlVJTERfU1lTCitleHBvcnQgSE9TVF9TWVMKKworaW5oZXJpdCBlLWJhc2UgZGlzdHV0aWxzIHBrZ2NvbmZpZworCitTUkNWRVIgPSAiJHtQVn0iCisKK1NSQ19VUkkgPSAiXAorICAgICR7RV9SRUxFQVNFU30vYmluZGluZ3MvcHl0aG9uLyR7U1JDTkFNRX0tJHtTUkNWRVJ9LnRhci5neiBcCisiCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1NSQ1ZFUn0iCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgZHJvcCBhbGwgLnB5bywgcHljIGZpbGVzCisgICAgZmluZCAke0R9JHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcyAtbmFtZSBcKi5weW8gLW8gLW5hbWUgXCoucHljIHwgeGFyZ3Mgcm0gLWYKK30KKworUEFDS0FHRVMgKz0gInB5dGhvbi1lY29yZSBweXRob24tZWxkYnVzIHB5dGhvbi1lZGplIHB5dGhvbi1lbGVtZW50YXJ5IHB5dGhvbi1lbW90aW9uIHB5dGhvbi1ldmFzIHB5dGhvbi1ldGh1bWIgJHtQTn0tZXhhbXBsZXMiCisKK0ZJTEVTXyR7UE59ID0gIiBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9weXRob25fZWZsKmVnZy1pbmZvIFwKKyAgICAke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL2VmbC9lby5zbyBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9lZmwvdXRpbHMgXAorICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvZWZsL19faW5pdF9fLnB5IFwKKyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy8qLmVnZy8qLyovLmRlYnVnIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzLyovKi5sYSIKKworRklMRVNfJHtQTn0tZXhhbXBsZXMgPSAiJHtkYXRhZGlyfS8ke1BOfS9leGFtcGxlcyIKKworRklMRVNfcHl0aG9uLWVjb3JlID0gIiBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9lY29yZS8gXAorICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvZWZsL2Vjb3JlKi5zbyBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9lZmwvZWNvcmUgXAorIgorRklMRVNfcHl0aG9uLWVsZGJ1cyA9ICIgXAorICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvZV9kYnVzLyBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9lZmwvZGJ1c19tYWlubG9vcC5zbyBcCisiCitGSUxFU19weXRob24tZWRqZSA9ICIgXAorICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvZWRqZS8gXAorICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvZWZsL2VkamUqLnNvIFwKKyIKK0ZJTEVTX3B5dGhvbi1lbGVtZW50YXJ5ID0gIiBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9lbGVtZW50YXJ5LyBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9lZmwvZWxlbWVudGFyeS8gXAorIgorRklMRVNfcHl0aG9uLWVtb3Rpb24gPSAiIFwKKyAgICAke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL2Vtb3Rpb24vIFwKKyAgICAke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL2VmbC9lbW90aW9uLnNvIFwKKyIKK0ZJTEVTX3B5dGhvbi1ldmFzID0gIiBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9ldmFzLyBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9lZmwvZXZhcy5zbyBcCisiCitGSUxFU19weXRob24tZXRodW1iID0gIiBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9ldGh1bWIvIFwKKyAgICAke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL2VmbC9ldGh1bWIqc28gXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZWZsXzEuMTUuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWVmbF8xLjE1LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2FiYmMzMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWVmbF8xLjE1LjAuYmIKQEAgLTAsMCArMSw0IEBACityZXF1aXJlICR7QlBOfS5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gImY3YzVkNTU3MzM2ZWE5ZGY2OWJjY2EwOWM0MjA3MTFhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjExZTYwN2I0NjVjYjY2ZGFmZTA1YzY2ZTAyZDYxZTA5MzM1YjM3MGZlOWZkMmE3NGQ4ODI4MmIzZWU1OTdiY2MiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1lZmxfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZWZsX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44M2EwMWFjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZWZsX2dpdC5iYgpAQCAtMCwwICsxLDkgQEAKK3JlcXVpcmUgJHtCUE59LmluYworCitTUkNSRVYgPSAiNzFlZDIwZWJmNjYyYTdiNzJlNjA5MTNkZjk0Y2U2OTMzMjM2YmYwOSIKK1BWID0gIjEuMTIuMCtnaXQke1NSQ1BWfSIKK0RFRkFVTFRfUFJFRkVSRU5DRSA9ICItMSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQuZW5saWdodGVubWVudC5vcmcvYmluZGluZ3MvcHl0aG9uLyR7QlBOfS5naXQ7YnJhbmNoPXB5dGhvbi1lZmwtMS4xMiIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2NwdS9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9jcHUvY29uZmlndXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3Yzg1ZGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9jcHUvY29uZmlndXJlLnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKK0luZGV4OiBjcHUvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gY3B1Lm9yaWcvY29uZmlndXJlLmFjCTIwMTQtMDctMTcgMjA6Mzk6NDguMDAwMDAwMDAwICswMDAwCisrKysgY3B1L2NvbmZpZ3VyZS5hYwkyMDE0LTA3LTE3IDIxOjM5OjU1LjMyMDU1NTg2OCArMDAwMAorQEAgLTEwLDcgKzEwLDcgQEAKKyBBQ19DQU5PTklDQUxfSE9TVAorIEFDX0lTQ19QT1NJWAorIAorLUFNX0lOSVRfQVVUT01BS0UoMS42KQorK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ25dKQorIEFNX0NPTkZJR19IRUFERVIoY29uZmlnLmgpCisgbTRfaWZkZWYoW0FNX1NJTEVOVF9SVUxFU10sIFtBTV9TSUxFTlRfUlVMRVMoW3llc10pXSkKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2NwdV9zdm4uYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9jcHVfc3ZuLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0ZWIwOGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9jcHVfc3ZuLmJiCkBAIC0wLDAgKzEsMTAgQEAKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzQ0ODk1ZjI1M2MzMmYzOGUxODJkY2FmMzBmZThhMzUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy1QTEFJTjttZDU9YzkxMGI2NDVlZGEwMDA1Y2NlYzQ2Zjc1MjAzZGM5NmUiCisKK1BWID0gIjAuMC4xK3N2bnIke1NSQ1JFVn0iCitQUiA9ICIke0lOQ19QUn0uMCIKKworcmVxdWlyZSBlLW1vZHVsZS5pbmMKKworU1JDX1VSSSArPSAiZmlsZTovL2NvbmZpZ3VyZS5wYXRjaCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Rpc2tpb19zdm4uYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9kaXNraW9fc3ZuLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyNjE4NmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9kaXNraW9fc3ZuLmJiCkBAIC0wLDAgKzEsMTAgQEAKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzQ0ODk1ZjI1M2MzMmYzOGUxODJkY2FmMzBmZThhMzUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy1QTEFJTjttZDU9NjhiZTc2ZDgxMjZmYWNlMmZiYmVjZGYxYmNiZTJiMTAiCisKK1BWID0gIjAuMC4xK3N2bnIke1NSQ1BWfSIKK1BSID0gIiR7SU5DX1BSfS4wIgorCitQTkJMQUNLTElTVFtkaXNraW9dID89ICJicm9rZW46IHN3aXRjaCB0byBodHRwczovL2dpdC5lbmxpZ2h0ZW5tZW50Lm9yZy9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvZGlza2lvLmdpdC8gYW5kIGZpeCAwLjAuMStzdm5yODIwNzAtcjAuMC9FLU1PRFVMRVMtRVhUUkEvZGlza2lvL2UtbW9kdWxlLWRpc2tpby5lZGM6NTguIGludmFsaWQgc3RhdGUgbmFtZTogJ29mZicuICJkZWZhdWx0IiBzdGF0ZSBtdXN0IGFsd2F5cyBiZSBmaXJzdC4iCisKK3JlcXVpcmUgZS1tb2R1bGUuaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLW1vZHVsZS5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLW1vZHVsZS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDkyMzU3NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2UtbW9kdWxlLmluYwpAQCAtMCwwICsxLDE5IEBACitERVNDUklQVElPTiA9ICJFMTcgJHtQTn0gbW9kdWxlIgorU0VDVElPTiA9ICJ4MTEvbXVsdGltZWRpYSIKK0RFUEVORFMgPSAiZS13bSIKKworU1JDUkVWID0gIiR7RUZMX1NSQ1JFVn0iCitJTkNfUFIgPSAicjAiCisKK1NSQ05BTUUgPSAiRS1NT0RVTEVTLUVYVFJBLyR7UE59IgorCitpbmhlcml0IGUgZ2V0dGV4dAorU1JDX1VSSSA9ICIke0VfU1ZOfS90cnVuazttb2R1bGU9JHtTUkNOQU1FfTtwcm90b2NvbD1odHRwO3NjbWRhdGE9a2VlcCIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9IgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLWVkamUtY2M9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2VkamVfY2MiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vZW5saWdodGVubWVudC9tb2R1bGVzLyR7UE59IgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZW5saWdodGVubWVudC9tb2R1bGVzLyR7UE59LyovLmRlYnVnIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0vZW5saWdodGVubWVudC9tb2R1bGVzLyR7UE59LyovKi5hIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXRhc2tzLzAwMDEtZGJ1cy1zdHVmZi1Db252ZXJ0LXRvLWVsZGJ1cy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2UtdGFza3MvMDAwMS1kYnVzLXN0dWZmLUNvbnZlcnQtdG8tZWxkYnVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5MmE3NzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXRhc2tzLzAwMDEtZGJ1cy1zdHVmZi1Db252ZXJ0LXRvLWVsZGJ1cy5wYXRjaApAQCAtMCwwICsxLDIwNCBAQAorRnJvbSAzNzIyMzI4OWIzZDg1ZWE4ODc2ZTdiYTdjOWZmOTdlYzQyODA3M2JhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogU2F0LCAyMiBGZWIgMjAxNCAxNDozNjozOCArMDEwMAorU3ViamVjdDogW1BBVENIXSBkYnVzLXN0dWZmOiBDb252ZXJ0IHRvIGVsZGJ1cworCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBjb25maWd1cmUuYWMgICAgIHwgIDIgKy0KKyBzcmMvTWFrZWZpbGUuYW0gIHwgIDIgKy0KKyBzcmMvZGJ1cy1zdHVmZi5jIHwgOTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBzcmMvZGJ1cy1zdHVmZi5oIHwgMTMgKystLS0tLS0KKyBzcmMvbWFpbi5jICAgICAgIHwgIDIgKy0KKyA1IGZpbGVzIGNoYW5nZWQsIDYxIGluc2VydGlvbnMoKyksIDUzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCBiM2U0ZDEyLi40YWNlMzJhIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0xNSw3ICsxNSw3IEBAIEFDX0hFQURFUl9TVERDCisgCisgQU1fUFJPR19MSUJUT09MCisgCistUEtHX0NIRUNLX01PRFVMRVMoVEFTS1MsIFtlbGVtZW50YXJ5IGVpbmEgZGJ1cy0xIGVkYnVzIHNxbGl0ZTNdKQorK1BLR19DSEVDS19NT0RVTEVTKFRBU0tTLCBbZWxlbWVudGFyeSBlaW5hIGRidXMtMSBlbGRidXMgc3FsaXRlM10pCisgCisgQUNfT1VUUFVUKFsKKyBNYWtlZmlsZQorZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZS5hbSBiL3NyYy9NYWtlZmlsZS5hbQoraW5kZXggMjE0M2RjOS4uMzFkNTI1MyAxMDA2NDQKKy0tLSBhL3NyYy9NYWtlZmlsZS5hbQorKysrIGIvc3JjL01ha2VmaWxlLmFtCitAQCAtOCw3ICs4LDcgQEAgQU1fQ1BQRkxBR1MgPSBcCisgCSQoVEFTS1NfQ0ZMQUdTKQorIAorIEFNX0NGTEFHUyA9XAorLSAgICAgICAgICQoRURCVVNfQ0ZMQUdTKSBcCisrICAgICAgICAgJChFTERCVVNfQ0ZMQUdTKSBcCisgCSAtV2FsbFwKKyAJIC1nCisgCitkaWZmIC0tZ2l0IGEvc3JjL2RidXMtc3R1ZmYuYyBiL3NyYy9kYnVzLXN0dWZmLmMKK2luZGV4IDUwODA5YmMuLjlmMDJlZjMgMTAwNjQ0CistLS0gYS9zcmMvZGJ1cy1zdHVmZi5jCisrKysgYi9zcmMvZGJ1cy1zdHVmZi5jCitAQCAtMSw4ICsxLDcgQEAKKyAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogICAgICAgICAgICBkYnVzLXN0dWZmLmMKKyAgKgorLSAqICBDb3B5cmlnaHQgIDIwMDkgIGNjaGFuZGVsCistICogIDxjY2hhbmRlbEB5YWhvby5jb20+CisrICogIENvcHlyaWdodCAgMjAwOSAgY2NoYW5kZWwgPGNjaGFuZGVsQHlhaG9vLmNvbT4KKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAKKyAvKgorQEAgLTIxLDUxICsyMCw2NyBAQAorICAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCAgVVNBCisgICovCisgI2luY2x1ZGUgImRidXMtc3R1ZmYuaCIKKy0jaW5jbHVkZSA8c3RyaW5nLmg+CistI2luY2x1ZGUgPEVfREJ1cy5oPgorLSNpbmNsdWRlIDxFbGVtZW50YXJ5Lmg+CisrI2luY2x1ZGUgIkVsZGJ1cy5oIgorIAorLXZvaWQgb2NjdXB5X2NwdSh2b2lkKQorK3ZvaWQgb25fdXNhZ2VfY2Iodm9pZCAqZGF0YSBFSU5BX1VOVVNFRCwgY29uc3QgRWxkYnVzX01lc3NhZ2UgKm1zZywgRWxkYnVzX1BlbmRpbmcgKnBlbmRpbmcgRUlOQV9VTlVTRUQpCisreworKyAgICAgICAgY29uc3QgY2hhciAqZXJybmFtZSwgKmVycm1zZzsKKysgICAgICAgIGlmIChlbGRidXNfbWVzc2FnZV9lcnJvcl9nZXQobXNnLCAmZXJybmFtZSwgJmVycm1zZykpCisrCSAgICAgICAgZnByaW50ZihzdGRlcnIsICJFcnJvcjogJXMgJXNcbiIsIGVycm5hbWUsIGVycm1zZyk7CisrfQorKworK2ludCBvdXNhZ2VkX3Jlc291cmNlKGNvbnN0IGNoYXIgKnJlc291cmNlLCBpbnQgdXNlZCkKKyB7CQorLQllX2RidXNfaW5pdCgpOworLQljb25uID0gZV9kYnVzX2J1c19nZXQoREJVU19CVVNfU1lTVEVNKTsKKy0JCistCURCdXNNZXNzYWdlICptc2c7CistCW1zZyA9IGRidXNfbWVzc2FnZV9uZXdfbWV0aG9kX2NhbGwoCistCQkib3JnLmZyZWVzbWFydHBob25lLm91c2FnZWQiLAorLQkJIi9vcmcvZnJlZXNtYXJ0cGhvbmUvVXNhZ2UiLAorLQkJIm9yZy5mcmVlc21hcnRwaG9uZS5Vc2FnZSIsCistCQkiUmVxdWVzdFJlc291cmNlIgorLQkpOworLQkKKy0JY29uc3QgY2hhciAqcmVzb3VyY2UgPSAiQ1BVIjsKKy0JZGJ1c19tZXNzYWdlX2FwcGVuZF9hcmdzIChtc2csIERCVVNfVFlQRV9TVFJJTkcsICZyZXNvdXJjZSwgREJVU19UWVBFX0lOVkFMSUQpOworKwllbGRidXNfaW5pdCgpOworKwljb25zdCBjaGFyICpSRVFVRVNUID0gIlJlcXVlc3RSZXNvdXJjZSI7CisrCWNvbnN0IGNoYXIgKlJFTEVBU0UgPSAiUmVsZWFzZVJlc291cmNlIjsKKysJY29uc3QgaW50ICAgUFJFUVVFU1QgPSAxOworIAorLQllX2RidXNfbWVzc2FnZV9zZW5kKGNvbm4sIG1zZywgZGJ1c19yZXBseV9jYiwgLTEsIE5VTEwpOworLQlkYnVzX21lc3NhZ2VfdW5yZWYobXNnKTsKKy19CisrICAgICAgICBFbGRidXNfQ29ubmVjdGlvbiAqY29ubjsKKysgICAgICAgIEVsZGJ1c19PYmplY3QgKm9iajsKKysgICAgICAgIEVsZGJ1c19Qcm94eSAqdXNhZ2U7CisrICAgICAgICBFbGRidXNfUGVuZGluZyAqcGVuZGluZzsKKysJY29ubiA9IGVsZGJ1c19jb25uZWN0aW9uX2dldChFTERCVVNfQ09OTkVDVElPTl9UWVBFX1NZU1RFTSk7CisrICAgICAgICBpZiAoIWNvbm4pCisrICAgICAgICB7CisrICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRXJyb3I6IGNvdWxkIG5vdCBnZXQgc3lzdGVtIGJ1c1xuIik7CisrICAgICAgICAgICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7CisrICAgICAgICB9CisgCistdm9pZCByZWxlYXNlX2NwdSh2b2lkKQorLXsKKy0JREJ1c01lc3NhZ2UgKm1zZzsKKy0JbXNnID0gZGJ1c19tZXNzYWdlX25ld19tZXRob2RfY2FsbCgKKy0JCSJvcmcuZnJlZXNtYXJ0cGhvbmUub3VzYWdlZCIsCistCQkiL29yZy9mcmVlc21hcnRwaG9uZS9Vc2FnZSIsCistCQkib3JnLmZyZWVzbWFydHBob25lLlVzYWdlIiwKKy0JCSJSZWxlYXNlUmVzb3VyY2UiCistCSk7CistCQorLQljb25zdCBjaGFyICpyZXNvdXJjZSA9ICJDUFUiOworLQlkYnVzX21lc3NhZ2VfYXBwZW5kX2FyZ3MgKG1zZywgREJVU19UWVBFX1NUUklORywgJnJlc291cmNlLCBEQlVTX1RZUEVfSU5WQUxJRCk7CisrICAgICAgICBvYmogPSBlbGRidXNfb2JqZWN0X2dldChjb25uLCAib3JnLmZyZWVzbWFydHBob25lLm91c2FnZWQiLCAiL29yZy9mcmVlc21hcnRwaG9uZS9Vc2FnZSIpOworKyAgICAgICAgaWYgKCFvYmopCisrICAgICAgICB7CisrICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRXJyb3I6IGNvdWxkIG5vdCBnZXQgb2JqZWN0XG4iKTsKKysgICAgICAgICAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKKysgICAgICAgIH0KKyAKKy0JZV9kYnVzX21lc3NhZ2Vfc2VuZChjb25uLCBtc2csIGRidXNfcmVwbHlfY2IsIC0xLCBOVUxMKTsKKy0JZGJ1c19tZXNzYWdlX3VucmVmKG1zZyk7CisrICAgICAgICB1c2FnZSA9IGVsZGJ1c19wcm94eV9nZXQob2JqLCAib3JnLmZyZWVzbWFydHBob25lLlVzYWdlIik7CisrICAgICAgICBpZiAoIXVzYWdlKQorKyAgICAgICAgeworKyAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkVycm9yOiBjb3VsZCBub3QgZ2V0IHByb3h5XG4iKTsKKysgICAgICAgICAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKKysgICAgICAgIH0KKysKKysgICAgICAgIHBlbmRpbmcgPSBlbGRidXNfcHJveHlfY2FsbCh1c2FnZSwgdXNlZCA9PSBQUkVRVUVTVCA/IFJFUVVFU1QgOiBSRUxFQVNFLCBvbl91c2FnZV9jYiwgTlVMTCwgLTEsICJzcyIsIHJlc291cmNlKTsKKysgICAgICAgIGlmICghcGVuZGluZykKKysgICAgICAgIHsKKysgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJFcnJvcjogY291bGQgbm90IGNhbGxcbiIpOworKyAgICAgICAgICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOworKyAgICAgICAgfQorKyAgICAgICAgZWxkYnVzX3Byb3h5X3VucmVmKHVzYWdlKTsKKysgICAgICAgIGVsZGJ1c19vYmplY3RfdW5yZWYob2JqKTsKKysgICAgICAgIGVsZGJ1c19jb25uZWN0aW9uX3VucmVmKGNvbm4pOworKworKyAgICAgICAgZWxkYnVzX3NodXRkb3duKCk7CisrCXJldHVybiBFWElUX1NVQ0NFU1M7CisgfQorIAorLXZvaWQgZGJ1c19yZXBseV9jYih2b2lkICpkYXRhLCBEQnVzTWVzc2FnZSAqcmVwbHltc2csIERCdXNFcnJvciAqZXJyb3IpCisraW50IHJlcXVlc3RfY3B1KHZvaWQpCisgeworLQlpZiAoZGJ1c19lcnJvcl9pc19zZXQoZXJyb3IpKSB7CistCQlwcmludGYoIkVycm9yOiAlcyAtICVzXG4iLCBlcnJvci0+bmFtZSwgZXJyb3ItPm1lc3NhZ2UpOworLQl9CisrICAgICAgICByZXR1cm4gb3VzYWdlZF9yZXNvdXJjZSgiQ1BVIiwgMSk7CisgfQorIAorK2ludCByZWxlYXNlX2NwdSh2b2lkKQorK3sKKysgICAgICAgIHJldHVybiBvdXNhZ2VkX3Jlc291cmNlKCJDUFUiICwgMCk7CisrfQorZGlmZiAtLWdpdCBhL3NyYy9kYnVzLXN0dWZmLmggYi9zcmMvZGJ1cy1zdHVmZi5oCitpbmRleCA4M2Q0Nzc4Li5hM2M3MmNiIDEwMDY0NAorLS0tIGEvc3JjL2RidXMtc3R1ZmYuaAorKysrIGIvc3JjL2RidXMtc3R1ZmYuaAorQEAgLTIsOCArMiw3IEBACisgICogICAgICAgICAgICBkYnVzLmgKKyAgKgorICAqICBGcmkgTWFyICA2IDEyOjMyOjU3IDIwMDkKKy0gKiAgQ29weXJpZ2h0ICAyMDA5ICBuaWRoaW4KKy0gKiAgPG5pZGhpbkBuaWRzLWxhcHRvcC5ob21lPgorKyAqICBDb3B5cmlnaHQgIDIwMDkgIG5pZGhpbiA8bmlkaGluQG5pZHMtbGFwdG9wLmhvbWU+CisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgCisgLyoKK0BAIC0yMiwxMSArMjEsNSBAQAorICAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCAgVVNBCisgICovCisgCistI2luY2x1ZGUgPEVfREJ1cy5oPgorLSNpbmNsdWRlIDxFbGVtZW50YXJ5Lmg+CistCistdm9pZCBvY2N1cHlfY3B1KHZvaWQpOworLXZvaWQgcmVsZWFzZV9jcHUodm9pZCk7Cistdm9pZCBkYnVzX3JlcGx5X2NiKHZvaWQgKmRhdGEsIERCdXNNZXNzYWdlICpyZXBseW1zZywgREJ1c0Vycm9yICplcnJvcik7CistCistRV9EQnVzX0Nvbm5lY3Rpb24gKmNvbm47CisraW50IHJlcXVlc3RfY3B1KHZvaWQpOworK2ludCByZWxlYXNlX2NwdSh2b2lkKTsKK2RpZmYgLS1naXQgYS9zcmMvbWFpbi5jIGIvc3JjL21haW4uYworaW5kZXggOTJkMjFkZS4uNGU0YmJlMiAxMDA2NDQKKy0tLSBhL3NyYy9tYWluLmMKKysrKyBiL3NyYy9tYWluLmMKK0BAIC03Niw3ICs3Niw3IEBAIGVsbV9tYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKKyAJLy9yZXN0b3JlIHN0YXRlCisgCXJlc3RvcmVfc3RhdGUoKTsKKyAKKy0Jb2NjdXB5X2NwdSgpOworKwlyZXF1ZXN0X2NwdSgpOworIAorIAllbG1fcnVuKCk7CisgCS8vY2xlYW4gdXAgc3R1ZmYKKy0tIAorMS44LjUuMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXRhc2tzX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2UtdGFza3NfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwNjUxNTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXRhc2tzX2dpdC5iYgpAQCAtMCwwICsxLDMyIEBACitTVU1NQVJZID0gImUtdGFza3MgaXMgYSB0b2RvIHByb2dyYW0gZm9yIE9wZW5tb2tvIHBob25lcyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9lLXRhc2tzLyIKK0FVVEhPUiA9ICJjY2hhbmRlbCIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04ZjBlMmNkNDBlMDUxODllYzgxMjMyZGE4NGJkNmUxYSIKK1NFQ1RJT04gPSAiZS9hcHBzIgorREVQRU5EUyA9ICJlbGVtZW50YXJ5IGVpbmEgZWxkYnVzIHNxbGl0ZTMiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1NSQ1JFViA9ICI4OTBmNWVlMzdkMWE1ZmQxY2ViMjQ5NTk1MGQxNTE1MWQ0Y2Y3NTZiIgorUFYgPSAiMC4wLjIrZ2l0ciR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vc2hyLXByb2plY3QvZS10YXNrcy5naXQiCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1kYnVzLXN0dWZmLUNvbnZlcnQtdG8tZWxkYnVzLnBhdGNoIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICIke0R9LyR7ZGF0YWRpcn0vcGl4bWFwcyIKKyAgICBpbnN0YWxsIC1tIDA2NDQgIiR7U30vcmVzb3VyY2VzL2UtdGFza3MucG5nIiAiJHtEfS8ke2RhdGFkaXJ9L3BpeG1hcHMiCisgICAgaW5zdGFsbCAtZCAiJHtEfS8ke2RhdGFkaXJ9L2FwcGxpY2F0aW9ucyIKKyAgICBpbnN0YWxsIC1tIDA2NDQgIiR7U30vcmVzb3VyY2VzL2UtdGFza3MuZGVza3RvcCIgIiR7RH0vJHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMiCisgICAgaW5zdGFsbCAtZCAgIiR7RH0vJHtkYXRhZGlyfS9lLXRhc2tzIgorICAgIGZvciBpY28gaW4gIiR7U30vcmVzb3VyY2VzLyIqLnBuZzsgZG8KKyAgICAgICAgaWYgWyAiJChiYXNlbmFtZSAkaWNvKSIgIT0gImUtdGFza3MucG5nIiBdOyB0aGVuCisgICAgICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJGljbyAiJHtEfS8ke2RhdGFkaXJ9L2UtdGFza3MiCisgICAgICAgIGZpCisgICAgZG9uZQorfQorCitGSUxFU18ke1BOfSArPSAiL3Vzci9zaGFyZS9lLXRhc2tzLyogL3Vzci9zaGFyZS9hcHBsaWNhdGlvbnMvKiAvdXNyL3NoYXJlL3BpeG1hcHMvKiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Utd20tdGhlbWUtYi1hbmQtd19zdm4uYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXdtLXRoZW1lLWItYW5kLXdfc3ZuLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlMWI4YTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXdtLXRoZW1lLWItYW5kLXdfc3ZuLmJiCkBAIC0wLDAgKzEsMzEgQEAKK0RFU0NSSVBUSU9OID0gImItYW5kLXcgdGhlbWUgd2FzIGRlZmF1bHQgRTE3IHRoZW1lIGJlZm9yZSBhbHBoYTMgYW5kIHNvbWUgcGVvcGxlIHN0aWxsIHByZWZlcnMgaXQuIgorU0VDVElPTiA9ICJlL3V0aWxzIgorREVQRU5EUyA9ICJlZGplLW5hdGl2ZSIKK1JERVBFTkRTXyR7UE59ID0gImUtd20iCitMSUNFTlNFID0gIk1JVCAmIEJTRCIKKyMgdXBzdHJlYW0gd2FzIGFza2VkIHRvIGluY2x1ZGUgbGljZW5zZSBpbmZvciBpbiBUSEVNRSBkaXIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L21ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzL01JVDttZDU9MDgzNWFkZTY5OGUwYmNmODUwNmVjZGEyZjdiNGYzMDIiCisKK2luaGVyaXQgYWxsYXJjaAorCitTUkNSRVYgPSAiJHtFRkxfU1JDUkVWfSIKK1BWID0gIjAuMCtzdm5yJHtTUkNQVn0iCisKK2luaGVyaXQgZS1iYXNlCisKK1NSQ05BTUUgPSAiYl9hbmRfdyIKK1NSQ19VUkkgPSAiJHtFX1NWTn0vdHJ1bmsvVEhFTUVTO21vZHVsZT0ke1NSQ05BTUV9O3Byb3RvY29sPWh0dHAiCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS9lIgorCitkb19jb21waWxlKCkgeworICAgICMgdW5mb3J0dW5hdGVseSBoYXJkY29kZWQgZWRqZV9jYyBpbiBNYWtlZmlsZSAgICAgCisgICAgc2VkIC1pICJzI1x0ZWRqZV9jYyNcdCR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9lZGplX2NjI2ciIE1ha2VmaWxlCisgICAgbWFrZQorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vZW5saWdodGVubWVudC9kYXRhL3RoZW1lcy8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9iX2FuZF93LmVkaiAke0R9JHtkYXRhZGlyfS9lbmxpZ2h0ZW5tZW50L2RhdGEvdGhlbWVzLworfQorCitGSUxFU18ke1BOfSA9ICIke2RhdGFkaXJ9L2VubGlnaHRlbm1lbnQvZGF0YS90aGVtZXMvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZS13bS10aGVtZS1pbGx1bWUtZWZlbm5paHQvTElDRU5TRSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Utd20tdGhlbWUtaWxsdW1lLWVmZW5uaWh0L0xJQ0VOU0UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjFiYjJmNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Utd20tdGhlbWUtaWxsdW1lLWVmZW5uaWh0L0xJQ0VOU0UKQEAgLTAsMCArMSwyNSBAQAorQ29weXJpZ2h0IG5vdGljZSBmb3IgRW5saWdodGVubWVudDoKKworQ29weXJpZ2h0IChDKSAyMDAwLTIwMTAgQ2Fyc3RlbiBIYWl0emxlciBhbmQgdmFyaW91cyBjb250cmlidXRvcnMgKHNlZSBBVVRIT1JTKQorCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisgICAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICAgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgCisgICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgCitJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5ECitGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCitDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsCitPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GCitMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORworTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLAorRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Utd20tdGhlbWUtaWxsdW1lLWVmZW5uaWh0X3N2bi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Utd20tdGhlbWUtaWxsdW1lLWVmZW5uaWh0X3N2bi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NjVlNGU5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZS13bS10aGVtZS1pbGx1bWUtZWZlbm5paHRfc3ZuLmJiCkBAIC0wLDAgKzEsMzUgQEAKK0RFU0NSSVBUSU9OID0gImVmZW5uaWh0IGlsbHVtZSB0aGVtZSAtIEVmZW5uaWh0IHdhcyBkZXZpc2VkIHRvIGJlIGNsZWFuIFwKK2FuZCBuZXV0cmFsLiBJdHMgbmFtZSAod2hpY2ggbWVhbnMgZXF1aW5veCkgY29tZXMgZnJvbSB0aGUgY2hyb21hdGljIGR1YWxpdHkgXAordGhhdCB3YXMgZGVjaWRlZCBhdCB0aGUgdmVyeSBiZWdpbm5pbmcsIHdpdGggYSBkYXJrIHRoZW1lIChibGFjayBhbmQgb3JhbmdlKSBcCithbmQgYSBicmlnaHQgb25lICh3aGl0ZSBhbmQgYmx1ZSkgdG8gYmUgZGV2ZWxvcGVkIHNvIHRoYXQgbW9yZSBwZW9wbGUgZmVlbCBcCitjb21mb3J0YWJsZSB1c2luZyBpdC4gRWZlbm5paHQgdXNlcyBmZXcgYW5pbWF0aW9ucywgZGlzY3JldGUgY29udHJhc3RzIGJldHdlZW4gXAorc2hhZGVzIG9mIGdyYXkgYW5kIGZpbmUgbGluZXMgKGNvbG9yZWQpIHRoYXQgb3V0bGluZSB0aGUgc2VsZWN0ZWQgZWxlbWVudHMuIgorU0VDVElPTiA9ICJlL3V0aWxzIgorSE9NRVBBR0UgPSAiaHR0cDovL3RyYWMuZW5saWdodGVubWVudC5vcmcvZS93aWtpL1RoZW1lcyNFZmVubmlodCIKK0RFUEVORFMgPSAiZWRqZS1uYXRpdmUiCitSREVQRU5EU18ke1BOfSA9ICJlLXdtIgorUlNVR0dFU1RTXyR7UE59ID0gImVsZW1lbnRhcnktdGhlbWUtZWZlbm5paHQiCitMSUNFTlNFID0gIk1JVCAmIEJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7V09SS0RJUn0vTElDRU5TRTttZDU9ZjUyM2FiNTk4NmNjNzliNTJhOTBkMmFjM2Q1NDU0YTIiCisKK1NSQ1JFViA9ICIke0VGTF9TUkNSRVZ9IgorUFYgPSAiMC4wK3N2bnIke1NSQ1BWfSIKKworaW5oZXJpdCBlLWJhc2UgYWxsYXJjaAorCitTUkNOQU1FID0gImVmZW5uaWh0IgorU1JDX1VSSSA9ICIke0VfU1ZOfS90cnVuay9USEVNRVM7bW9kdWxlPSR7U1JDTkFNRX07cHJvdG9jb2w9aHR0cCBcCisgICAgICAgICAgIGZpbGU6Ly9MSUNFTlNFIFwKKyIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9IgorCitkb19jb21waWxlKCkgeworICAgICR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9lZGplX2NjIC1pZCAke1N9L2ltYWdlcyAke1N9L2VmZW5uaWh0LmVkYyAtbyAke1N9L2VmZW5uaWh0LmVkagorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vZW5saWdodGVubWVudC9kYXRhL3RoZW1lcy8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9lZmVubmlodC5lZGogJHtEfSR7ZGF0YWRpcn0vZW5saWdodGVubWVudC9kYXRhL3RoZW1lcy8KK30KKworRklMRVNfJHtQTn0gPSAiJHtkYXRhZGlyfS9lbmxpZ2h0ZW5tZW50L2RhdGEvdGhlbWVzLyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Utd20uaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZS13bS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDQ0ZWM4OQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Utd20uaW5jCkBAIC0wLDAgKzEsMjAyIEBACitERVNDUklQVElPTiA9ICJUaGUgRW5saWdodGVubWVudCBXaW5kb3cgTWFuYWdlciBWZXJzaW9uIDE3IgorREVQRU5EUyA9ICJlZXQgZXZhcyBlaW5hIGVjb3JlIGVkamUgZWZyZWV0IGVkYnVzIGVlemUgZWlvIGVsZW1lbnRhcnkgbGlieGNiIHhjYi11dGlsLWtleXN5bXMiCitMSUNFTlNFID0gIk1JVCAmIEJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc2ZGUyOTBlYjNmZGRhMTIxMjE4MzAxOTFjMTUyYTdkIgorU1JDTkFNRSA9ICJlIgorCitpbmhlcml0IGUgdXBkYXRlLWFsdGVybmF0aXZlcyBnZXR0ZXh0IHBrZ2NvbmZpZworUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0iCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdwYW0nLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAnc3lzdGVtZCcsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHW3BhbV0gPSAiLS1lbmFibGUtcGFtLC0tZGlzYWJsZS1wYW0sbGlicGFtIgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLWVuYWJsZS1zeXN0ZW1kLC0tZGlzYWJsZS1zeXN0ZW1kLHN5c3RlbWQiCisKKworRVhUUkFfT0VDT05GID0gIlwKKyAgICAtLXdpdGgtZWRqZS1jYz0ke1NUQUdJTkdfQklORElSX05BVElWRX0vZWRqZV9jYyBcCisgICAgLS13aXRoLWVldC1lZXQ9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2VldCBcCisgICAgLS14LWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9L1gxMSBcCisgICAgLS14LWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSBcCisgICAgLS1lbmFibGUtc2ltcGxlLXgxMSBcCisiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIGF1dG9wb2ludCB8fCB0cnVlCisgICAgc2VkICcvXiAqRUZMX1BLR19DSEVDS19WQVIvIHMvc3lzdGVtZHVzZXJ1bml0ZGlyL3N5c3RlbWRzeXN0ZW11bml0ZGlyL2cnIC1pICR7U30vY29uZmlndXJlLmFjCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgY3VzdG9taXNpbmcgLSBzaG91bGQgcmF0aGVyIG1ha2UgdGhpcyBzaW1wbGUgdXBzdHJlYW0KKyAgICBpbnN0YWxsIC1tIDc1NSAke1dPUktESVJ9L2VubGlnaHRlbm1lbnRfc3RhcnQub2UgJHtEfS8ke2JpbmRpcn0KKworICAgICMgc2VjdXJpdHkgcmVhc29ucywgZS13bSBjaGVja3MgdGhhdCBpbiBydW50aW1lCisgICAgIyB4aW5pdFs0MThdOiBFUlJPUjogQ09ORklHVVJBVElPTiBGSUxFIEhBUyBCQUQgUEVSTUlTU0lPTlMKKyAgICBjaG1vZCA2MDAgJHtEfS8ke3N5c2NvbmZkaXJ9L2VubGlnaHRlbm1lbnQvc3lzYWN0aW9ucy5jb25mCisKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS94ZGcvbWVudXMKKyAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L2FwcGxpY2F0aW9ucy5tZW51ICR7RH0vJHtzeXNjb25mZGlyfS94ZGcvbWVudXMvCisgICAgZm9yIEkgaW4gYGZpbmQgJHtEfS8ke2xpYmRpcn0vZW5saWdodGVubWVudCAtbmFtZSAiKi5hIiAtcHJpbnRgOyBkbyBybSAtZiAkSTsgZG9uZQorICAgIGZvciBJIGluIGBmaW5kICR7RH0vJHtsaWJkaXJ9L2VubGlnaHRlbm1lbnQgLW5hbWUgIioubGEiIC1wcmludGA7IGRvIHJtIC1mICRJOyBkb25lCisKKyAgICAjIHdvcmsgYXJvdW5kIGZvciBpc3N1ZSBjYXVzZWQgaW4gcjc4OTc4LCBtb3JlIGluZm9yIGluOgorICAgICMgaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9tYWlsYXJjaGl2ZS9mb3J1bS5waHA/dGhyZWFkX25hbWU9MjAxMjExMTgxOTQ5MDQuR0EzNDM4JTQwamFtYS5qYW1hLm5ldCZmb3J1bV9uYW1lPWVubGlnaHRlbm1lbnQtZGV2ZWwKKyAgICBtdiAke0R9LyR7bGliZGlyfS9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvcG9saWNpZXMgJHtEfS8ke2xpYmRpcn0vZW5saWdodGVubWVudC9tb2R1bGVzL2lsbHVtZTIvIFwKKyAgICAgIHx8IGVjaG8gImlsbHVtZTIgcG9saWNpZXMgYXJlIGluIGNvcnJlY3QgcGxhY2Ugbm93IgorICAgIG12ICR7RH0vJHtsaWJkaXJ9L2VubGlnaHRlbm1lbnQvbW9kdWxlcy9rZXlib2FyZHMgJHtEfS8ke2xpYmRpcn0vZW5saWdodGVubWVudC9tb2R1bGVzL2lsbHVtZTIvIFwKKyAgICAgIHx8IGVjaG8gImlsbHVtZTIga2V5Ym9hcmRzIGFyZSBpbiBjb3JyZWN0IHBsYWNlIG5vdyIKK30KKworUkRFUEVORFNfJHtQTn0gKz0gIlwKKyAgICBzaGFyZWQtbWltZS1pbmZvIFwKKyAgICBtaW1lLXN1cHBvcnQgXAorICAgIHNldHhrYm1hcCBcCisgICAgZWRqZS11dGlscyBcCisgICAgJHtQTn0tdXRpbHMgXAorICAgIGRidXMteDExIFwKKyIKKworIyBVY2xpYmMgYnVpbGQgZG9uJ3QgaGF2ZSAnZ2xpYmMtdXRpbHMnCitSREVQRU5EU18ke1BOfV9hcHBlbmRfbGliYy1nbGliYyA9ICIgZ2xpYmMtdXRpbHMgIgorCisjIFRoZSBzeXN0cmF5IG1vZHVsZSB1c2VkIHRvIGJlIGV4dGVybmFsLCBidXQgaXMgcGFydCBvZiBlLXdtIG5vdworUlJFUExBQ0VTXyR7UE59ID0gInN5c3RyYXkiCisKK1JSRVBMQUNFU18ke1BOfS1jb25maWctbW9iaWxlID0gIiR7UE59LWNvbmZpZy1pbGx1bWUyIgorUkNPTkZMSUNUU18ke1BOfS1jb25maWctbW9iaWxlID0gIiR7UE59LWNvbmZpZy1pbGx1bWUyIgorUlBST1ZJREVTXyR7UE59LWNvbmZpZy1tb2JpbGUgPSAiJHtQTn0tY29uZmlnLWlsbHVtZTIiCisKK1BBQ0tBR0VTID0rICJcCisgICAgJHtQTn0tY29uZmlnLWRlZmF1bHQgXAorICAgICR7UE59LWNvbmZpZy1tb2JpbGUgXAorICAgICR7UE59LWNvbmZpZy1taW5pbWFsaXN0IFwKKyAgICAke1BOfS1jb25maWctbmV0Ym9vayBcCisgICAgJHtQTn0tY29uZmlnLXNjYWxlYWJsZSBcCisgICAgJHtQTn0tY29uZmlnLXN0YW5kYXJkIFwKKyAgICAke1BOfS1jb25maWctdGlsaW5nIFwKKyAgICAke1BOfS10aGVtZS1kZWZhdWx0IFwKKyAgICAke1BOfS1iYWNrZ3JvdW5kLWRhcmstZ3JhZGllbnQgXAorICAgICR7UE59LWJhY2tncm91bmQtbGlnaHQtZ3JhZGllbnQgXAorICAgICR7UE59LWJhY2tncm91bmRzIFwKKyAgICAke1BOfS1pbWFnZXMgXAorICAgICR7UE59LWljb25zIFwKKyAgICAke1BOfS1vdGhlciBcCisgICAgJHtQTn0taW5wdXQtbWV0aG9kcyBcCisgICAgJHtQTn0tc3lzYWN0aW9ucyBcCisgICAgJHtQTn0tdXRpbHMgXAorICAgICR7UE59LW1lbnUgXAorICAgIGVmbS1kZXNrdG9wLWljb24gXAorICAgIGlsbHVtZS1rZXlib2FyZC1kZWZhdWx0LWFscGhhIFwKKyAgICBpbGx1bWUta2V5Ym9hcmQtZGVmYXVsdC1udW1lcmljIFwKKyAgICBpbGx1bWUta2V5Ym9hcmQtZGVmYXVsdC10ZXJtaW5hbCBcCisiCisKK0VTWVNBQ1RJT05TID89ICIke1BOfS1zeXNhY3Rpb25zIgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJcCisgICAgJHtQTn0tY29uZmlnLWRlZmF1bHQgXAorICAgICR7UE59LWltYWdlcyBcCisgICAgJHtQTn0taWNvbnMgXAorICAgICR7UE59LW90aGVyIFwKKyAgICAke1BOfS1pbnB1dC1tZXRob2RzIFwKKyAgICAke0VTWVNBQ1RJT05TfSBcCisgICAgZWZyZWV0IFwKKyAgICBldmFzLWdlbmVyaWMtbG9hZGVyLXN2ZyBcCisiCisKK0ZJTEVTXyR7UE59ID0gIlwKKyAgICAke2JpbmRpcn0vKiBcCisgICAgJHtsaWJkaXJ9L2VubGlnaHRlbm1lbnQvdXRpbHMvKiBcCisgICAgJHtsaWJkaXJ9L2VubGlnaHRlbm1lbnQvbW9kdWxlcy8qLyouKiBcCisgICAgJHtsaWJkaXJ9L2VubGlnaHRlbm1lbnQvbW9kdWxlcy8qLyovKiBcCisgICAgJHtsaWJkaXJ9L2VubGlnaHRlbm1lbnQvbW9kdWxlcy8qLyovLm9yZGVyIFwKKyAgICAke2xpYmRpcn0vZW5saWdodGVubWVudC9tb2R1bGVzL2tleWJvYXJkcy9pZ25vcmVfYnVpbHRfaW5fa2V5Ym9hcmRzIFwKKyAgICAke2xpYmRpcn0vZW5saWdodGVubWVudC8qcGx1Z2lucy8qLyovKiBcCisgICAgJHtsaWJkaXJ9L2VubGlnaHRlbm1lbnQvcHJlbG9hZC9lX3ByZWNhY2hlLnNvIFwKKyAgICAke2RhdGFkaXJ9L2VubGlnaHRlbm1lbnQvZGF0YS9pY29ucyBcCisgICAgJHtkYXRhZGlyfS9lbmxpZ2h0ZW5tZW50L2RhdGEvZmF2b3JpdGVzIFwKKyAgICAke2RhdGFkaXJ9L2VubGlnaHRlbm1lbnQvZGF0YS9pbnB1dF9tZXRob2RzIFwKKyAgICAke2RhdGFkaXJ9L2VubGlnaHRlbm1lbnQvZGF0YS9jb25maWcvcHJvZmlsZS5jZmcgXAorICAgICR7ZGF0YWRpcn0vZW5saWdodGVubWVudC9BVVRIT1JTIFwKKyAgICAke2RhdGFkaXJ9L2VubGlnaHRlbm1lbnQvQ09QWUlORyBcCisgICAgJHtkYXRhZGlyfS94c2Vzc2lvbnMvZW5saWdodGVubWVudC5kZXNrdG9wIFwKKyAgICAke3N5c2NvbmZkaXJ9L3hkZyBcCisgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9IFwKKyIKKworRklMRVNfJHtQTn0tY29uZmlnLWRlZmF1bHQgPSAiJHtkYXRhZGlyfS9lbmxpZ2h0ZW5tZW50L2RhdGEvY29uZmlnL2RlZmF1bHQiCitGSUxFU18ke1BOfS1jb25maWctbW9iaWxlID0gIiR7ZGF0YWRpcn0vZW5saWdodGVubWVudC9kYXRhL2NvbmZpZy9tb2JpbGUiCitGSUxFU18ke1BOfS1jb25maWctbWluaW1hbGlzdCA9ICIke2RhdGFkaXJ9L2VubGlnaHRlbm1lbnQvZGF0YS9jb25maWcvbWluaW1hbGlzdCIKK0ZJTEVTXyR7UE59LWNvbmZpZy1uZXRib29rID0gIiR7ZGF0YWRpcn0vZW5saWdodGVubWVudC9kYXRhL2NvbmZpZy9uZXRib29rIgorRklMRVNfJHtQTn0tY29uZmlnLXNjYWxlYWJsZSA9ICIke2RhdGFkaXJ9L2VubGlnaHRlbm1lbnQvZGF0YS9jb25maWcvc2NhbGVhYmxlIgorRklMRVNfJHtQTn0tY29uZmlnLXN0YW5kYXJkID0gIiR7ZGF0YWRpcn0vZW5saWdodGVubWVudC9kYXRhL2NvbmZpZy9zdGFuZGFyZCIKK0ZJTEVTXyR7UE59LWNvbmZpZy10aWxpbmcgPSAiJHtkYXRhZGlyfS9lbmxpZ2h0ZW5tZW50L2RhdGEvY29uZmlnL3RpbGluZyIKK0ZJTEVTXyR7UE59LXRoZW1lLWRlZmF1bHQgPSAiJHtkYXRhZGlyfS9lbmxpZ2h0ZW5tZW50L2RhdGEvdGhlbWVzL2RlZmF1bHQuZWRqIgorRklMRVNfJHtQTn0tdGhlbWUtZGVmYXVsdCA9ICIke2RhdGFkaXJ9L2VubGlnaHRlbm1lbnQvZGF0YS90aGVtZXMvZGVmYXVsdC5lZGoiCitGSUxFU18ke1BOfS1iYWNrZ3JvdW5kLWRhcmstZ3JhZGllbnQgPSAiJHtkYXRhZGlyfS9lbmxpZ2h0ZW5tZW50L2RhdGEvYmFja2dyb3VuZHMvRGFya19HcmFkaWVudC5lZGoiCitGSUxFU18ke1BOfS1iYWNrZ3JvdW5kLWxpZ2h0LWdyYWRpZW50ID0gIiR7ZGF0YWRpcn0vZW5saWdodGVubWVudC9kYXRhL2JhY2tncm91bmRzL0xpZ2h0X0dyYWRpZW50LmVkaiIKK0ZJTEVTXyR7UE59LWJhY2tncm91bmRzID0gIiR7ZGF0YWRpcn0vZW5saWdodGVubWVudC9kYXRhL2JhY2tncm91bmRzLyouZWRqIgorRklMRVNfJHtQTn0taW1hZ2VzID0gIiR7ZGF0YWRpcn0vZW5saWdodGVubWVudC9kYXRhL2ltYWdlcyAke2RhdGFkaXJ9L2VubGlnaHRlbm1lbnQvZGF0YS9mbGFncyIKK0ZJTEVTXyR7UE59LWljb25zID0gIiR7ZGF0YWRpcn0vZW5saWdodGVubWVudC9kYXRhL2ljb25zIgorRklMRVNfJHtQTn0tb3RoZXIgPSAiJHtkYXRhZGlyfS9lbmxpZ2h0ZW5tZW50L2RhdGEvb3RoZXIiCitGSUxFU18ke1BOfS1pbnB1dC1tZXRob2RzID0gIiR7ZGF0YWRpcn0vZW5saWdodGVubWVudC9kYXRhL2lucHV0X21ldGhvZHMiCitGSUxFU18ke1BOfS1zeXNhY3Rpb25zID0gIiR7c3lzY29uZmRpcn0vZW5saWdodGVubWVudC9zeXNhY3Rpb25zLmNvbmYiCitGSUxFU18ke1BOfS11dGlscyA9ICIke2xpYmRpcn0vZW5saWdodGVubWVudC91dGlscy8qIgorRklMRVNfJHtQTn0tbWVudSA9ICIke3N5c2NvbmZkaXJ9L3hkZy9tZW51cy9hcHBsaWNhdGlvbnMubWVudSIKKworRklMRVNfZWZtLWRlc2t0b3AtaWNvbiA9ICJcCisgICAgJHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMvZWZtLmRlc2t0b3AgXAorICAgICR7ZGF0YWRpcn0vYXBwbGljYXRpb25zL2VubGlnaHRlbm1lbnRfZmlsZW1hbmFnZXIuZGVza3RvcCBcCisgICAgJHtkYXRhZGlyfS9pY29ucy9lLW1vZHVsZS1maWxlbWFuLnBuZyBcCisiCisKK0tFWUJPQVJEU19ESVI9IiR7bGliZGlyfS9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvaWxsdW1lLWtleWJvYXJkL2tleWJvYXJkcyIKK0ZJTEVTX2lsbHVtZS1rZXlib2FyZC1kZWZhdWx0LWFscGhhID0gIlwKKyAgICAke0tFWUJPQVJEU19ESVJ9L0RlZmF1bHQua2JkIFwKKyAgICAke0tFWUJPQVJEU19ESVJ9L2FscGhhLnBuZyBcCisiCitGSUxFU19pbGx1bWUta2V5Ym9hcmQtZGVmYXVsdC1udW1lcmljID0gIlwKKyAgICAke0tFWUJPQVJEU19ESVJ9L051bWJlcnMua2JkIFwKKyAgICAke0tFWUJPQVJEU19ESVJ9L251bWVyaWMucG5nIFwKKyIKK0ZJTEVTX2lsbHVtZS1rZXlib2FyZC1kZWZhdWx0LXRlcm1pbmFsID0gIlwKKyAgICAke0tFWUJPQVJEU19ESVJ9L1Rlcm1pbmFsLmtiZCBcCisgICAgJHtLRVlCT0FSRFNfRElSfS9xd2VydHkucG5nIFwKKyIKKworUlJFQ09NTUVORFNfJHtQTn0tY29uZmlnLWRlZmF1bHQgPSAiJHtQTn0tdGhlbWUtZGVmYXVsdCIKK1JSRUNPTU1FTkRTXyR7UE59LWNvbmZpZy1tb2JpbGUgPSAiXAorICAgIGlsbHVtZS1rZXlib2FyZC1kZWZhdWx0LWFscGhhIFwKKyAgICBpbGx1bWUta2V5Ym9hcmQtZGVmYXVsdC1udW1lcmljIFwKKyAgICBpbGx1bWUta2V5Ym9hcmQtZGVmYXVsdC10ZXJtaW5hbCBcCisiCisKK1JSRUNPTU1FTkRTXyR7UE59LWNvbmZpZy1taW5pbWFsaXN0ID0gIlwKKyAgICAke1BOfS1iYWNrZ3JvdW5kLWxpZ2h0LWdyYWRpZW50IFwKKyAgICAke1BOfS10aGVtZS1kZWZhdWx0IFwKKyIKK1JSRUNPTU1FTkRTXyR7UE59LWNvbmZpZy1uZXRib29rID0gIlwKKyAgICAke1BOfS1iYWNrZ3JvdW5kLWRhcmstZ3JhZGllbnQgXAorICAgICR7UE59LXRoZW1lLWRlZmF1bHQgXAorIgorUlJFQ09NTUVORFNfJHtQTn0tY29uZmlnLXNjYWxlYWJsZSA9ICIke1BOfS10aGVtZS1kZWZhdWx0IgorUlJFQ09NTUVORFNfJHtQTn0tY29uZmlnLXN0YW5kYXJkID0gIiR7UE59LXRoZW1lLWRlZmF1bHQiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiXAorICAgICR7bGliZGlyfS9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvKi8qLy5kZWJ1Zy8gXAorICAgICR7bGliZGlyfS9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvcG9saWNpZXMvLmRlYnVnLyBcCisgICAgJHtsaWJkaXJ9L2VubGlnaHRlbm1lbnQvcHJlbG9hZC8uZGVidWcvIFwKKyAgICAke2xpYmRpcn0vZW5saWdodGVubWVudC91dGlscy8uZGVidWcvIFwKKyAgICAke2xpYmRpcn0vZW5saWdodGVubWVudC8qcGx1Z2lucy8qLyovLmRlYnVnIFwKKyIKKworRklMRVNfJHtQTn0tZG9jICs9ICJcCisgICAgJHtkYXRhZGlyfS9lbmxpZ2h0ZW5tZW50L2RvYyBcCisiCisKK0NPTkZGSUxFU18ke1BOfS1tZW51ID0gIiR7c3lzY29uZmRpcn0veGRnL21lbnVzL2FwcGxpY2F0aW9ucy5tZW51IgorQ09ORkZJTEVTXyR7UE59LXN5c2FjdGlvbnMgPSAiL2V0Yy9lbmxpZ2h0ZW5tZW50L3N5c2FjdGlvbnMuY29uZiIKKworQUxURVJOQVRJVkVfJHtQTn0gPSAieC13aW5kb3ctbWFuYWdlciIKK0FMVEVSTkFUSVZFX1RBUkdFVFt4LXdpbmRvdy1tYW5hZ2VyXSA9ICIke2JpbmRpcn0vZW5saWdodGVubWVudF9zdGFydC5vZSIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZW3gtd2luZG93LW1hbmFnZXJdID0gIjE2IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZS13bS8wMDAxLUZpeC1pbmNvcnJlY3QtbWVzc2FnZS10eXBlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZS13bS8wMDAxLUZpeC1pbmNvcnJlY3QtbWVzc2FnZS10eXBlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3MThlZjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXdtLzAwMDEtRml4LWluY29ycmVjdC1tZXNzYWdlLXR5cGUucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorRnJvbSAwYWVmNDNjOWNkMTY1NjQxM2NmMmViM2RjN2MxOWIzNTVlZTdlZDUyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgorRGF0ZTogU3VuLCAxIEp1biAyMDE0IDE0OjQ1OjQ5ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBpbmNvcnJlY3QgbWVzc2FnZSB0eXBlCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CistLS0KKyBzcmMvYmluL2VfZGVzay5jIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9lX2Rlc2suYyBiL3NyYy9iaW4vZV9kZXNrLmMKK2luZGV4IGIxNTZlMTkuLjc3ZDc1MjAgMTAwNjQ0CistLS0gYS9zcmMvYmluL2VfZGVzay5jCisrKysgYi9zcmMvYmluL2VfZGVzay5jCitAQCAtMjIxLDcgKzIyMSw3IEBAIGVfZGVza19zaG93KEVfRGVzayAqZGVzaykKKyAgICBFX0V2ZW50X0Rlc2tfU2hvdyAqZXY7CisgICAgRV9FdmVudF9EZXNrX0JlZm9yZV9TaG93ICplZXY7CisgICAgRV9FdmVudF9EZXNrX0FmdGVyX1Nob3cgKmVlZXY7CistICAgRWRqZV9NZXNzYWdlX0Zsb2F0X1NldCAqbXNnOworKyAgIEVkamVfTWVzc2FnZV9JbnRfU2V0ICptc2c7CisgICAgRWluYV9MaXN0ICpsOworICAgIEVfU2hlbGYgKmVzOworICAgIGludCB3YXNfem9uZSA9IDAsIHgsIHksIGR4ID0gMCwgZHkgPSAwOworLS0gCisxLjguMy4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Utd20vMDAwMS1jb25maWd1cmUuYWMtYWRkLWZvcmVpZ24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXdtLzAwMDEtY29uZmlndXJlLmFjLWFkZC1mb3JlaWduLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3YTU3NGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXdtLzAwMDEtY29uZmlndXJlLmFjLWFkZC1mb3JlaWduLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Zyb20gMTllNTliNmU4MTQ4Mzg4ZTdhMTdmMTBkNDM5MDE3NmE1MGUyOTE3ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMjUgQXVnIDIwMTQgMTY6MDY6MDMgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlLmFjOiBhZGQgZm9yZWlnbgorCisqIGZpeGVzOgorICB8IGNvbmZpZ3VyZS5hYzozMTI6IGVycm9yOiByZXF1aXJlZCBmaWxlICcuL0FCT1VULU5MUycgbm90IGZvdW5kCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggNTFhZDBiYS4uY2Q3NzczOSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMzQsNyArMzQsNyBAQCBBSF9CT1RUT00oWworICNlbmRpZiAvKiBFRkxfQ09ORklHX0hfXyAqLworIF0pCisgCistQU1fSU5JVF9BVVRPTUFLRShbMS4xMSBkaXN0LWJ6aXAyIGRpc3QteHogLVduby1wb3J0YWJpbGl0eV0pCisrQU1fSU5JVF9BVVRPTUFLRShbMS4xMSBkaXN0LWJ6aXAyIGRpc3QteHogLVduby1wb3J0YWJpbGl0eSBmb3JlaWduXSkKKyBBTV9TSUxFTlRfUlVMRVMoW3llc10pCisgCisgQUNfVVNFX1NZU1RFTV9FWFRFTlNJT05TCistLSAKKzIuMy4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Utd20vYXBwbGljYXRpb25zLm1lbnUgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXdtL2FwcGxpY2F0aW9ucy5tZW51Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkOWI5MDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXdtL2FwcGxpY2F0aW9ucy5tZW51CkBAIC0wLDAgKzEsMTA1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBNZW51IFBVQkxJQyAiLS8vZnJlZWRlc2t0b3AvL0RURCBNZW51IDEuMC8vRU4iICJodHRwOi8vc3RhbmRhcmRzLmZyZWVkZXNrdG9wLm9yZy9tZW51LXNwZWMvbWVudS0xLjAuZHRkIj4KKzxNZW51PgorICA8TmFtZT5BcHBsaWNhdGlvbnM8L05hbWU+CisgIDwhLS0gICA8RGlyZWN0b3J5PkFwcGxpY2F0aW9ucy5kaXJlY3Rvcnk8L0RpcmVjdG9yeT4gLS0+CisKKyAgPCEtLSBSZWFkIHN0YW5kYXJkIC5kaXJlY3RvcnkgYW5kIC5kZXNrdG9wIGZpbGUgbG9jYXRpb25zIC0tPgorICA8RGVmYXVsdEFwcERpcnM+L3Vzci9zaGFyZS9hcHBsaWNhdGlvbnM8L0RlZmF1bHRBcHBEaXJzPgorICA8RGVmYXVsdERpcmVjdG9yeURpcnMvPgorCisgIDxNZW51PgorICAgIDxOYW1lPk9mZmljZTwvTmFtZT4KKyAgICA8RGlyZWN0b3J5Pk9mZmljZS5kaXJlY3Rvcnk8L0RpcmVjdG9yeT4KKyAgICA8SW5jbHVkZT4KKyAgICAgIDxBbmQ+CisgICAgICAgIDxDYXRlZ29yeT5PZmZpY2U8L0NhdGVnb3J5PgorICAgICAgPC9BbmQ+CisgICAgPC9JbmNsdWRlPgorICA8L01lbnU+CisgIAorICA8TWVudT4KKyAgICA8TmFtZT5NdWx0aW1lZGlhPC9OYW1lPgorICAgIDxEaXJlY3Rvcnk+TXVsdGltZWRpYS5kaXJlY3Rvcnk8L0RpcmVjdG9yeT4KKyAgICA8SW5jbHVkZT4KKyAgICAgIDxBbmQ+CisgICAgICAgIDxDYXRlZ29yeT5BdWRpb1ZpZGVvPC9DYXRlZ29yeT4KKyAgICAgIDwvQW5kPgorICAgIDwvSW5jbHVkZT4KKyAgPC9NZW51PgorCisgIDxNZW51PgorICAgIDxOYW1lPkdyYXBoaWNzPC9OYW1lPgorICAgIDxEaXJlY3Rvcnk+R3JhcGhpY3MuZGlyZWN0b3J5PC9EaXJlY3Rvcnk+CisgICAgPEluY2x1ZGU+CisgICAgICA8QW5kPgorICAgICAgICA8Q2F0ZWdvcnk+R3JhcGhpY3M8L0NhdGVnb3J5PgorICAgICAgPC9BbmQ+CisgICAgPC9JbmNsdWRlPgorICA8L01lbnU+CisKKyAgPE1lbnU+CisgICAgPE5hbWU+R2FtZXM8L05hbWU+CisgICAgPERpcmVjdG9yeT5HYW1lcy5kaXJlY3Rvcnk8L0RpcmVjdG9yeT4KKyAgICA8SW5jbHVkZT4KKyAgICAgIDxBbmQ+CisgICAgICAgIDxPcj4KKyAgICAgICAgIDxDYXRlZ29yeT5HYW1lPC9DYXRlZ29yeT4KKyAgICAgICAgIDxDYXRlZ29yeT5HYW1lczwvQ2F0ZWdvcnk+CisgICAgICAgIDwvT3I+CisgICAgICA8L0FuZD4KKyAgICA8L0luY2x1ZGU+CisgIDwvTWVudT4KKworICA8TWVudT4KKyAgICA8TmFtZT5JbnRlcm5ldDwvTmFtZT4KKyAgICA8RGlyZWN0b3J5PkludGVybmV0LmRpcmVjdG9yeTwvRGlyZWN0b3J5PgorICAgIDxJbmNsdWRlPgorICAgICAgPEFuZD4KKyAgICAgICAgPE9yPgorICAgICAgICAgPENhdGVnb3J5PkludGVybmV0PC9DYXRlZ29yeT4KKyAgICAgICAgIDxDYXRlZ29yeT5OZXR3b3JrPC9DYXRlZ29yeT4KKyAgICAgICAgPC9Pcj4KKyAgICAgIDwvQW5kPgorICAgIDwvSW5jbHVkZT4KKyAgPC9NZW51PgorCisgIDxNZW51PgorICAgIDxOYW1lPlNldHRpbmdzPC9OYW1lPgorICAgIDxEaXJlY3Rvcnk+U2V0dGluZ3MuZGlyZWN0b3J5PC9EaXJlY3Rvcnk+CisgICAgPEluY2x1ZGU+CisgICAgICA8QW5kPgorICAgICAgICA8T3I+CisgICAgICAgICAgPENhdGVnb3J5PlN5c3RlbVNldHRpbmdzPC9DYXRlZ29yeT4KKyAgICAgICAgICA8Q2F0ZWdvcnk+U2V0dGluZ3M8L0NhdGVnb3J5PgorICAgICAgICA8L09yPgorICAgICAgICA8Tm90PgorICAgICAgICAgIDxDYXRlZ29yeT5TeXN0ZW08L0NhdGVnb3J5PgorICAgICAgICA8L05vdD4KKyAgICAgIDwvQW5kPgorICAgIDwvSW5jbHVkZT4KKyAgPC9NZW51PgorCisgIDxNZW51PgorICAgIDxOYW1lPkFjY2Vzc29yaWVzPC9OYW1lPgorICAgIDxEaXJlY3Rvcnk+QWNjZXNzb3JpZXMuZGlyZWN0b3J5PC9EaXJlY3Rvcnk+CisgICAgPEluY2x1ZGU+CisgICAgICA8QW5kPgorICAgICAgICA8T3I+CisgICAgICAgICAgPENhdGVnb3J5PkFwcGxpY2F0aW9uczwvQ2F0ZWdvcnk+CisgICAgICAgICAgPENhdGVnb3J5PlV0aWxpdHk8L0NhdGVnb3J5PgorICAgICAgICA8L09yPgorICAgICAgICA8Tm90PgorICAgICAgICAgIDxDYXRlZ29yeT5TeXN0ZW08L0NhdGVnb3J5PgorICAgICAgICAgIDxDYXRlZ29yeT5PZmZpY2U8L0NhdGVnb3J5PgorICAgICAgICAgIDxDYXRlZ29yeT5JbnRlcm5ldDwvQ2F0ZWdvcnk+CisgICAgICAgICAgPENhdGVnb3J5PkF1ZGlvVmlkZW88L0NhdGVnb3J5PgorICAgICAgICAgIDxDYXRlZ29yeT5HcmFwaGljczwvQ2F0ZWdvcnk+CisgICAgICAgICAgPENhdGVnb3J5PkdhbWVzPC9DYXRlZ29yeT4KKyAgICAgICAgPC9Ob3Q+CisgICAgICA8L0FuZD4KKyAgICA8L0luY2x1ZGU+CisgIDwvTWVudT4KKyAgCis8L01lbnU+CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Utd20vZW5saWdodGVubWVudF9zdGFydC5vZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Utd20vZW5saWdodGVubWVudF9zdGFydC5vZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZjg2MTcyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZS13bS9lbmxpZ2h0ZW5tZW50X3N0YXJ0Lm9lCkBAIC0wLDAgKzEsOSBAQAorIyEvYmluL3NoCisKK0VfUFJPRklMRT0iIgoraWYgWyAtciAvZXRjL2VubGlnaHRlbm1lbnQvZGVmYXVsdF9wcm9maWxlIF07IHRoZW4KKyAgLiAvZXRjL2VubGlnaHRlbm1lbnQvZGVmYXVsdF9wcm9maWxlCitmaQorCityZW5pY2UgLTIgLXAgJCQKK2V4ZWMgZW5saWdodGVubWVudF9zdGFydCAkRV9QUk9GSUxFCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXdtXzAuMTguOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Utd21fMC4xOC44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiNGM5ZmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXdtXzAuMTguOC5iYgpAQCAtMCwwICsxLDE1IEBACityZXF1aXJlICR7QlBOfS5pbmMKKworU1JDTkFNRSA9ICJlbmxpZ2h0ZW5tZW50IgorCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1BWfSIKKworU1JDX1VSSSA9ICJcCisgICAgJHtFX1JFTEVBU0VTfS9hcHBzLyR7U1JDTkFNRX0vJHtTUkNOQU1FfS0ke1NSQ1ZFUn0udGFyLmd6IFwKKyAgICBmaWxlOi8vZW5saWdodGVubWVudF9zdGFydC5vZSBcCisgICAgZmlsZTovL2FwcGxpY2F0aW9ucy5tZW51IFwKKyAgICBmaWxlOi8vMDAwMS1GaXgtaW5jb3JyZWN0LW1lc3NhZ2UtdHlwZS5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3OWM5ZjUyNGUxZDA1MTAwNjFjNjJjNGIwMzhhOGVjZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxNGM5YmRlNDMzNGQyZjhiMDc3NmM2MTEzZDAyYjkyM2FiMTU5ZWVhMWNiZjcwMTM0ODllNGYzYmYzN2E1MWJiIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZS13bV8wLjE5LjEwLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZS13bV8wLjE5LjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2Y2UwM2QKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXdtXzAuMTkuMTAuYmIKQEAgLTAsMCArMSwxOSBAQAorcmVxdWlyZSAke0JQTn0uaW5jCisKK1NSQ05BTUUgPSAiZW5saWdodGVubWVudCIKKworUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0tJHtQVn0iCisKKyMgY291cGxlIG9mIG1vZHVsZXMgbmVlZGVkIGZvciBpbGx1bWUyIChtb2JpbGUpIHByb2ZpbGUgd2VyZSByZW1vdmVkIGluCisjIGh0dHA6Ly9naXQuZW5saWdodGVubWVudC5vcmcvY29yZS9lbmxpZ2h0ZW5tZW50LmdpdC9jb21taXQvc3JjL21vZHVsZXMvTWFrZWZpbGUubWs/aWQ9MWJlNzZkNTk5Y2EyN2Y4MjBiNThiODE4NmM1ZjczZDk4NDRjNjdjYQorIyBhbmQgcmVwbGFjZW1lbnRzIGFyZW4ndCBpbmNsdWRlZCB5ZXQsIGlmIHlvdSB3YW50IHRvIHVzZSBlLXdtIG9uIGRldmljZSB3aXRoIHNtYWxsIHNjcmVlbiwgYmV0dGVyIHN0YXkgd2l0aCAwLjE4IHJlbGVhc2UKK0RFRkFVTFRfUFJFRkVSRU5DRSA9ICItMSIKKworU1JDX1VSSSA9ICJcCisgICAgJHtFX1JFTEVBU0VTfS9hcHBzLyR7U1JDTkFNRX0vJHtTUkNOQU1FfS0ke1NSQ1ZFUn0udGFyLmd6IFwKKyAgICBmaWxlOi8vZW5saWdodGVubWVudF9zdGFydC5vZSBcCisgICAgZmlsZTovL2FwcGxpY2F0aW9ucy5tZW51IFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjkwNjM2MTc3NjAzMjk0NDVhZGE4NjM1MjcwYTRlNjI3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ4NGQzMDViY2Y0MDMzMDNiMThjNDZhM2E0OTg0NDViOTM2ODljZDMyNTAxMGFlOGQwNjAxNTUxOTI2NDY5ZDgiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXdtX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Utd21fZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllYjgzOWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXdtX2dpdC5iYgpAQCAtMCwwICsxLDE0IEBACityZXF1aXJlICR7QlBOfS5pbmMKKworUFYgPSAiMC4xOS40K2dpdCR7U1JDUFZ9IgorREVGQVVMVF9QUkVGRVJFTkNFID0gIi0yIgorCitTUkNfVVJJID0gIiBcCisgICAgZ2l0Oi8vZ2l0LmVubGlnaHRlbm1lbnQub3JnL2NvcmUvZW5saWdodGVubWVudC5naXQ7YnJhbmNoPWVubGlnaHRlbm1lbnQtMC4xOSBcCisgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLmFjLWFkZC1mb3JlaWduLnBhdGNoIFwKKyAgICBmaWxlOi8vZW5saWdodGVubWVudF9zdGFydC5vZSBcCisgICAgZmlsZTovL2FwcGxpY2F0aW9ucy5tZW51IFwKKyIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK1NSQ1JFViA9ICI0NTQ1ZDRhNzAwMzFlMGIyNTY1YjhkODNkNWY3NTZiZmYxYTU4NGQwIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZWRqZS12aWV3ZXJfc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZWRqZS12aWV3ZXJfc3ZuLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiOTI3YTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lZGplLXZpZXdlcl9zdm4uYmIKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJFZGplX1ZpZXdlciBpcyBqdXN0IHRoYXQiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM0NDg5NWYyNTNjMzJmMzhlMTgyZGNhZjMwZmU4YTM1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkctUExBSU47bWQ1PWUwMTM1OTA0MTAwMWU4YmYyNGMwOWFjY2E1NTZlNzkyIgorCitERVBFTkRTID0gImVsZW1lbnRhcnkiCitQViA9ICIwLjAuMCtzdm5yJHtTUkNQVn0iCitTUkNSRVYgPSAiJHtFRkxfU1JDUkVWfSIKKworaW5oZXJpdCBlCisKK1NSQ05BTUUgPSAiZWRqZV92aWV3ZXIiCitTUkNfVVJJID0gIiR7RV9TVk59L3RydW5rO21vZHVsZT0ke1NSQ05BTUV9O3Byb3RvY29sPWh0dHA7c2NtZGF0YT1rZWVwIgorUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0iCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZWxib3dfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZWxib3dfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2ZWQyYzkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lbGJvd19naXQuYmIKQEAgLTAsMCArMSwyNiBAQAorU1VNTUFSWSA9ICJFRkwgYmFzZWQgYnJvd3NlciIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT02YTZhOGUwMjA4MzhiMjM0MDZjODFiMTljMWQ0NmRmNiIKK0RFUEVORFMgPSAiZXZhcyBlY29yZSBlZGplIGVpbmEgZWxlbWVudGFyeSB3ZWJraXQtZWZsIHNxbGl0ZTMiCisKK1BWID0gIjAuMC4xK2dpdHIke1NSQ1BWfSIKK1NSQ1JFViA9ICJiNDFmZDBiYzk1MTRmZjYxYmIyYTUwZDk1N2VmZTQxNTVmYTNlNmE4IgorCisjIHdlYmtpdC1lZmwgaXNuJ3QgYXZhaWxhYmxlIGZvciA8IGFybXY3YQorQ09NUEFUSUJMRV9NQUNISU5FID0gIigtKSIKK0NPTVBBVElCTEVfTUFDSElORV94ODYgPSAiKC4qKSIKK0NPTVBBVElCTEVfTUFDSElORV94ODYtNjQgPSAiKC4qKSIKK0NPTVBBVElCTEVfTUFDSElORV9hcm12N2EgPSAiKC4qKSIKKworaW5oZXJpdCBlIGdldHRleHQgY21ha2UKKworRVhUUkFfT0VDTUFLRSA9ICItRERBVEFfSU5TVEFMTF9ESVI9JHtkYXRhZGlyfSIKKworU1JDX1VSSSA9ICIgXAorICAgIGdpdDovL2dpdGh1Yi5jb20vYnVuaGVyZS9lbGJvdy5naXQ7cHJvdG9jb2w9aHR0cHMgXAorIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vdGhlbWVzIgorCitQTkJMQUNLTElTVFtlbGJvd10gPz0gIkRlcGVuZHMgb24gYmxhY2tsaXN0ZWQgd2Via2l0LWVmbCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2VsZmVfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZWxmZV9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmNiOTdhOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2VsZmVfZ2l0LmJiCkBAIC0wLDAgKzEsMTUgQEAKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzQ0ODk1ZjI1M2MzMmYzOGUxODJkY2FmMzBmZThhMzUiCitQViA9ICIwLjAuMStnaXRyJHtTUkNQVn0iCitQRSA9ICIxIgorCityZXF1aXJlIGUtbW9kdWxlLmluYworCitTUkNfVVJJID0gIiBcCisgICAgZ2l0Oi8vZ2l0LmVubGlnaHRlbm1lbnQub3JnL2VubGlnaHRlbm1lbnQvbW9kdWxlcy8ke0JQTn0uZ2l0IFwKKyIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK1NSQ1JFViA9ICIxZWMwZTc3MTNjM2NhOTAxMDE0ODExZmY3ODI3N2Q5ZTJhYWFjOTgxIgorCitERVBFTkRTICs9ICJlbGVtZW50YXJ5IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZWxtZGVudGljYS9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lbG1kZW50aWNhL2NvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OWE5ODFiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZWxtZGVudGljYS9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorSW5kZXg6IGVsbWRlbnRpY2EvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZWxtZGVudGljYS5vcmlnL2NvbmZpZ3VyZS5hYwkyMDE0LTA3LTE3IDIxOjQ2OjE0LjcxMjU2NjIwNyArMDAwMAorKysrIGVsbWRlbnRpY2EvY29uZmlndXJlLmFjCTIwMTQtMDctMTcgMjE6NTE6MzQuOTYwNTc0OTM1ICswMDAwCitAQCAtMyw3ICszLDcgQEAKKyBBTV9DT05GSUdfSEVBREVSKGNvbmZpZy5oKQorIEFDX0NPTkZJR19NQUNST19ESVIoW200XSkKKyAKKy1BTV9JTklUX0FVVE9NQUtFCisrQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbl0pCisgCisgQUNfUFJPR19DQworIEFDX0dOVV9TT1VSQ0UKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2VsbWRlbnRpY2Ffc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZWxtZGVudGljYV9zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTZhNzRjNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2VsbWRlbnRpY2Ffc3ZuLmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiQSBpbmRlbnRpLmNhIGNsaWVudCBmb3IgRSIKK0RFUEVORFMgPSAiZ2xpYi0yLjAgZ2NvbmYgY3VybCBlbGVtZW50YXJ5IHNxbGl0ZTMtbmF0aXZlIGF6eSIKK0xJQ0VOU0UgPSAiR1BMdjMrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCisKK1NFQ1RJT04gPSAiZS9hcHBzIgorSE9NRVBBR0UgPSAiaHR0cDovL2VsbWRlbnRpY2EuZ29vZ2xlY29kZS5jb20iCitBVVRIT1IgPSAic2VhYnJhIgorCitpbmhlcml0IGUgZ2V0dGV4dAorU1JDX1VSSSA9ICIke0VfU1ZOfS90cnVuazttb2R1bGU9JHtTUkNOQU1FfTtwcm90b2NvbD1odHRwO3NjbWRhdGE9a2VlcCIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9IgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLWVkamUtY2M9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2VkamVfY2MiCisKK1BWID0gIjAuOS45K3N2bnIke1NSQ1BWfSIKK1NSQ1JFViA9ICIke0VGTF9TUkNSRVZ9IgorCitSREVQRU5EU18ke1BOfSA9ICIke1BOfS10aGVtZXMiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9jb25maWd1cmUucGF0Y2giCisKK1BOQkxBQ0tMSVNUW2VsbWRlbnRpY2FdID89ICJPTEQgYW5kIGRlcGVuZHMgb24gYnJva2VuIGF6eSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2VtcHJpbnRfc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZW1wcmludF9zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTRjOTgxNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2VtcHJpbnRfc3ZuLmJiCkBAIC0wLDAgKzEsMTQgQEAKK0RFU0NSSVBUSU9OID0gIkVtcHJpbnQgaXMgYSB1dGlsaXR5IGZvciB0YWtpbmcgc2NyZWVuc2hvdHMgb2YgdGhlIGVudGlyZSBzY3JlZW4sIGEgc3BlY2lmaWMgd2luZG93LCBvciBhIHNwZWNpZmljIHJlZ2lvbi4iCitMSUNFTlNFID0gIk1JVCAmIEJTRCIKK0RFUEVORFMgPSAiaW1saWIyIHZpcnR1YWwvbGlieDExIGVjb3JlIGV2YXMgZWRqZSBlaW5hIgorUFYgPSAiMC4wLjErc3ZuciR7U1JDUFZ9IgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzQ0ODk1ZjI1M2MzMmYzOGUxODJkY2FmMzBmZThhMzUiCitTUkNSRVYgPSAiJHtFRkxfU1JDUkVWfSIKKworaW5oZXJpdCBlCitTUkNfVVJJID0gIiR7RV9TVk59L3RydW5rO21vZHVsZT0ke1NSQ05BTUV9O3Byb3RvY29sPWh0dHA7c2NtZGF0YT1rZWVwIgorUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0iCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9LyR7UE59L21vZHVsZXMvLmRlYnVnIgorCitQTkJMQUNLTElTVFtlbXByaW50XSA/PSAiaWYgeW91IHdhbnQgdG8gdXNlIHRoZXNlIG1vZHVsZXMgd2l0aCBFMTgsIHRoZW4geW91IG5lZWQgdG8gdXBkYXRlIGl0IHRvIGdpdCByZWNpcGUgZmV0Y2hpbmcgbmV3ZXIgc291cmNlcyBmcm9tIGh0dHA6Ly9naXQuZW5saWdodGVubWVudC5vcmcvYXBwcy9lbXByaW50LmdpdC8iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lbmpveS8wMDAxLWFsd2F5cy11c2UtcG9zaXRpb24tYXMtcGVyY2VudC1hbmQtZGVmaW5lLWEtMS1zZWNvbmQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lbmpveS8wMDAxLWFsd2F5cy11c2UtcG9zaXRpb24tYXMtcGVyY2VudC1hbmQtZGVmaW5lLWEtMS1zZWNvbmQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDk2MjQ1MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Vuam95LzAwMDEtYWx3YXlzLXVzZS1wb3NpdGlvbi1hcy1wZXJjZW50LWFuZC1kZWZpbmUtYS0xLXNlY29uZC5wYXRjaApAQCAtMCwwICsxLDEzMyBAQAorRnJvbSA3NTE1MDU1MDFlMGRiMzFjZjc2NmVjMGFlOTVhNjk2OGI0ZDFlYjkzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxiYW4gQnJvd2FleXMgPHByYWhhbEB5YWhvby5jb20+CitEYXRlOiBXZWQsIDUgU2VwIDIwMTIgMDI6NTg6MjYgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gYWx3YXlzIHVzZSBwb3NpdGlvbiBhcyBwZXJjZW50IGFuZCBkZWZpbmUgYSAxIHNlY29uZHMKKyB0b2xlcmFuY2UuCisKK0ZpeCAicmV2ZXJiIiBlZmZlY3Q6IGllIGxvb3AgYmV0d2VlbiBzZXR0aW5nIHRoZSBzbGlkZXIgdG8gbWF0Y2gKK3RoZSBwb3NpdGlvbiBhbmQgaGFuZGxpbmcgc2xpZGVyIHRvIHBvc2l0aW9uIChzZWVrKS4KKy0tLQorIGRhdGEvdGhlbWVzL2RlZmF1bHQuZWRjIHwgIDggKysrLS0tLS0KKyBzcmMvYmluL3dpbi5jICAgICAgICAgICB8IDI4ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZGF0YS90aGVtZXMvZGVmYXVsdC5lZGMgYi9kYXRhL3RoZW1lcy9kZWZhdWx0LmVkYworaW5kZXggZWJmOGJhNC4uN2E5MDZiMSAxMDA2NDQKKy0tLSBhL2RhdGEvdGhlbWVzL2RlZmF1bHQuZWRjCisrKysgYi9kYXRhL3RoZW1lcy9kZWZhdWx0LmVkYworQEAgLTE4Niw3ICsxODYsNiBAQCBjb2xsZWN0aW9ucyB7CisgICAgZ3JvdXAgeworICAgICAgIG5hbWU6ICJub3dwbGF5aW5nIjsKKyAgICAgICBzY3JpcHQgeworLSAgICAgICAgIHB1YmxpYyBjdXJfbGVuZ3RoOworICAgICAgICAgIHB1YmxpYyBtdXRlOworIAorICAgICAgICAgIHB1YmxpYyBnZXRfdGltZV9zdHIoRmxvYXQ6dGltZSwgdGltZV9zdHJbNl0pCitAQCAtMjAxLDE2ICsyMDAsMTUgQEAgY29sbGVjdGlvbnMgeworICAgICAgICAgICAgICAgIG5ldyBGbG9hdDpwb3NpdGlvbiA9IGdldGZhcmcoMik7CisgICAgICAgICAgICAgICAgbmV3IEZsb2F0Omxlbmd0aCA9IGdldGZhcmcoMyk7CisgICAgICAgICAgICAgICAgaWYgKGxlbmd0aCA+IDApCistICAgICAgICAgICAgICAgICAgZXh0ZXJuYWxfcGFyYW1fc2V0X2Zsb2F0KFBBUlQ6InByb2dyZXNzLnNsaWRlciIsICJ2YWx1ZSIsIHBvc2l0aW9uIC8gbGVuZ3RoICogMTAwKTsKKysgICAgICAgICAgICAgICAgICBleHRlcm5hbF9wYXJhbV9zZXRfZmxvYXQoUEFSVDoicHJvZ3Jlc3Muc2xpZGVyIiwgInZhbHVlIiwgcG9zaXRpb24gKiAxMDApOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICBleHRlcm5hbF9wYXJhbV9zZXRfZmxvYXQoUEFSVDoicHJvZ3Jlc3Muc2xpZGVyIiwgInZhbHVlIiwgMCk7CisgCisgICAgICAgICAgICAgICAgbmV3IHRpbWVfc3RyWzZdOworLSAgICAgICAgICAgICAgIGdldF90aW1lX3N0cihwb3NpdGlvbiwgdGltZV9zdHIpOworKyAgICAgICAgICAgICAgIGdldF90aW1lX3N0cihwb3NpdGlvbiAqIGxlbmd0aCwgdGltZV9zdHIpOworICAgICAgICAgICAgICAgIHNldF90ZXh0KFBBUlQ6ImVqeS50ZXh0LmN1cnJlbnRfdGltZSIsIHRpbWVfc3RyKTsKKyAgICAgICAgICAgICAgICBnZXRfdGltZV9zdHIobGVuZ3RoLCB0aW1lX3N0cik7CisgICAgICAgICAgICAgICAgc2V0X3RleHQoUEFSVDoiZWp5LnRleHQudG90YWxfdGltZSIsIHRpbWVfc3RyKTsKKy0gICAgICAgICAgICAgICBzZXRfZmxvYXQoY3VyX2xlbmd0aCwgbGVuZ3RoKTsKKyAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gTVNHX0lOVCAmJiBpZCA9PSBNU0dfU0hVRkZMRSkgeworICAgICAgICAgICAgICAgIGV4dGVybmFsX3BhcmFtX3NldF9ib29sKFBBUlQ6ImJ1dHRvbnMuc2h1ZmZsZSIsICJzdGF0ZSIsIGdldGFyZygyKSk7CisgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09IE1TR19JTlQgJiYgaWQgPT0gTVNHX0xPT1ApIHsKK0BAIC02ODksNyArNjg3LDcgQEAgY29sbGVjdGlvbnMgeworICAgICAgICAgICAgIHNvdXJjZTogInByb2dyZXNzLnNsaWRlciI7CisgICAgICAgICAgICAgc2lnbmFsOiAiY2hhbmdlZCI7CisgICAgICAgICAgICAgc2NyaXB0IHsKKy0gICAgICAgICAgICAgICBzZW5kX21lc3NhZ2UoTVNHX0ZMT0FULCBNU0dfUE9TSVRJT04sIChleHRlcm5hbF9wYXJhbV9nZXRfZmxvYXQoUEFSVDoicHJvZ3Jlc3Muc2xpZGVyIiwgInZhbHVlIikgKiBnZXRfZmxvYXQoY3VyX2xlbmd0aCkgLyAxMDApKTsKKysgICAgICAgICAgICAgICBzZW5kX21lc3NhZ2UoTVNHX0ZMT0FULCBNU0dfUE9TSVRJT04sIChleHRlcm5hbF9wYXJhbV9nZXRfZmxvYXQoUEFSVDoicHJvZ3Jlc3Muc2xpZGVyIiwgInZhbHVlIikgLyAxMDApKTsKKyAgICAgICAgICAgICB9CisgICAgICAgICAgfQorICAgICAgICAgIHByb2dyYW0geworZGlmZiAtLWdpdCBhL3NyYy9iaW4vd2luLmMgYi9zcmMvYmluL3dpbi5jCitpbmRleCAyZjY1OTUzLi40MjhlMjY4IDEwMDY0NAorLS0tIGEvc3JjL2Jpbi93aW4uYworKysrIGIvc3JjL2Jpbi93aW4uYworQEAgLTE5NCw4ICsxOTQsOCBAQCBfd2luX3BsYXlfZXZhbChXaW4gKncpCisgeworICAgIEVkamVfTWVzc2FnZV9GbG9hdF9TZXQgKm1mOworIAorLSAgIHctPnBsYXkucG9zaXRpb24gPSBlbW90aW9uX29iamVjdF9wb3NpdGlvbl9nZXQody0+ZW1vdGlvbik7CisgICAgdy0+cGxheS5sZW5ndGggPSBlbW90aW9uX29iamVjdF9wbGF5X2xlbmd0aF9nZXQody0+ZW1vdGlvbik7CisrICAgdy0+cGxheS5wb3NpdGlvbiA9IGVtb3Rpb25fb2JqZWN0X3Bvc2l0aW9uX2dldCh3LT5lbW90aW9uKSAvIHctPnBsYXkubGVuZ3RoOworIAorICAgIGlmICgody0+c29uZykgJiYgKHctPnNvbmctPmxlbmd0aCAhPSAoaW50KXctPnBsYXkubGVuZ3RoKSkKKyAgICAgICBkYl9zb25nX2xlbmd0aF9zZXQody0+ZGIsIHctPnNvbmcsIHctPnBsYXkubGVuZ3RoKTsKK0BAIC01NDIsOCArNTQyLDE0IEBAIF93aW5fZWRqZV9tc2codm9pZCAqZGF0YSwgRXZhc19PYmplY3QgKm8gX19VTlVTRURfXywgRWRqZV9NZXNzYWdlX1R5cGUgdHlwZSwgaW50CisgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgRWRqZV9NZXNzYWdlX0Zsb2F0ICptID0gbXNnOworKworKyAgICAgICAgICAgICAgaWYgKCgoKG0tPnZhbCAtIHctPnBsYXkucG9zaXRpb24pICogdy0+cGxheS5sZW5ndGgpIDwgMS4wKQorKyAgICAgICAgICAgICAgICAgICYmICgoKHctPnBsYXkucG9zaXRpb24gLSBtLT52YWwpICogdy0+cGxheS5sZW5ndGgpIDwgMS4wKSkKKysgICAgICAgICAgICAgICAgICByZXR1cm47CisrCisgICAgICAgICAgICAgICB3LT5wbGF5LnBvc2l0aW9uID0gbS0+dmFsOworLSAgICAgICAgICAgICAgZW1vdGlvbl9vYmplY3RfcG9zaXRpb25fc2V0KHctPmVtb3Rpb24sIHctPnBsYXkucG9zaXRpb24pOworKyAgICAgICAgICAgICAgZW1vdGlvbl9vYmplY3RfcG9zaXRpb25fc2V0KHctPmVtb3Rpb24sIHctPnBsYXkucG9zaXRpb24KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIHctPnBsYXkubGVuZ3RoKTsKKyAgICAgICAgICAgICAgIGVjb3JlX2V2ZW50X2FkZChFTkpPWV9FVkVOVF9QT1NJVElPTl9DSEFOR0UsIE5VTEwsIE5VTEwsIE5VTEwpOworICAgICAgICAgICAgfQorICAgICAgICAgYnJlYWs7CitAQCAtNjE3LDE2ICs2MjMsMjEgQEAgZW5qb3lfY29udHJvbF9zZWVrKHVpbnQ2NF90IHBvc2l0aW9uKQorIHsKKyAgICBXaW4gKncgPSAmX3dpbjsKKyAgICBkb3VibGUgc2Vla190bzsKKysgICBkb3VibGUgbmV3X3BvcyA9IHctPnBsYXkubGVuZ3RoIC8gKChkb3VibGUpcG9zaXRpb24gLyAxZTYpOworIAorICAgIGlmICghdy0+ZGIpIHJldHVybjsKKy0gICBzZWVrX3RvID0gdy0+cGxheS5wb3NpdGlvbiArIHctPnBsYXkubGVuZ3RoIC8gKChkb3VibGUpcG9zaXRpb24gLyAxZTYpOworKworKyAgIGlmICgoKChuZXdfcG9zIC0gdy0+cGxheS5wb3NpdGlvbikgKiB3LT5wbGF5Lmxlbmd0aCkgPCAxLjApCisrICAgICAgICYmICgoKHctPnBsYXkucG9zaXRpb24gLSBuZXdfcG9zKSAqIHctPnBsYXkubGVuZ3RoKSA8IDEuMCkpIHJldHVybjsKKysKKysgICBzZWVrX3RvID0gdy0+cGxheS5wb3NpdGlvbiArIG5ld19wb3M7CisgICAgaWYgKHNlZWtfdG8gPD0gMC4wKQorICAgICAgc2Vla190byA9IDAuMDsKKyAgICBlbHNlIGlmIChzZWVrX3RvID49IDEuMCkKKyAgICAgIHNlZWtfdG8gPSAxLjA7CisgCisgICAgdy0+cGxheS5wb3NpdGlvbiA9IHNlZWtfdG87CistICAgZW1vdGlvbl9vYmplY3RfcG9zaXRpb25fc2V0KHctPmVtb3Rpb24sIHctPnBsYXkucG9zaXRpb24pOworKyAgIGVtb3Rpb25fb2JqZWN0X3Bvc2l0aW9uX3NldCh3LT5lbW90aW9uLCB3LT5wbGF5LnBvc2l0aW9uICogdy0+cGxheS5sZW5ndGgpOworICAgIGVjb3JlX2V2ZW50X2FkZChFTkpPWV9FVkVOVF9QT1NJVElPTl9DSEFOR0UsIE5VTEwsIE5VTEwsIE5VTEwpOworIH0KKyAKK0BAIC02OTIsMTUgKzcwMywyMCBAQCBFQVBJIHZvaWQKKyBlbmpveV9wb3NpdGlvbl9zZXQoaW50MzJfdCBwb3NpdGlvbikKKyB7CisgICAgV2luICp3ID0gJl93aW47CisrICAgZG91YmxlIG5ld19wb3MgPSB3LT5wbGF5Lmxlbmd0aCAvICgoZG91YmxlKXBvc2l0aW9uIC8gMWU2KTsKKyAKKyAgICBpZiAoIXctPmRiKSByZXR1cm47CistICAgdy0+cGxheS5wb3NpdGlvbiA9IHctPnBsYXkubGVuZ3RoIC8gKChkb3VibGUpcG9zaXRpb24gLyAxZTYpOworKworKyAgIGlmICgoKChuZXdfcG9zIC0gdy0+cGxheS5wb3NpdGlvbikgKiB3LT5wbGF5Lmxlbmd0aCkgPCAxLjApCisrICAgICAgICYmICgoKHctPnBsYXkucG9zaXRpb24gLSBuZXdfcG9zKSAqIHctPnBsYXkubGVuZ3RoKSA8IDEuMCkpIHJldHVybjsKKysKKysgICB3LT5wbGF5LnBvc2l0aW9uID0gbmV3X3BvczsKKyAgICBpZiAody0+cGxheS5wb3NpdGlvbiA8IDAuMCkKKyAgICAgIHctPnBsYXkucG9zaXRpb24gPSAwLjA7CisgICAgZWxzZSBpZiAody0+cGxheS5wb3NpdGlvbiA+IDEuMCkKKyAgICAgIHctPnBsYXkucG9zaXRpb24gPSAxLjA7CisgCistICAgZW1vdGlvbl9vYmplY3RfcG9zaXRpb25fc2V0KHctPmVtb3Rpb24sIHctPnBsYXkucG9zaXRpb24pOworKyAgIGVtb3Rpb25fb2JqZWN0X3Bvc2l0aW9uX3NldCh3LT5lbW90aW9uLCB3LT5wbGF5LnBvc2l0aW9uICogdy0+cGxheS5sZW5ndGgpOworICAgIGVjb3JlX2V2ZW50X2FkZChFTkpPWV9FVkVOVF9QT1NJVElPTl9DSEFOR0UsIE5VTEwsIE5VTEwsIE5VTEwpOworIH0KKyAKKy0tIAorMS44LjUuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lbmpveS9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lbmpveS9jb25maWd1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmUwZWQ3NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Vuam95L2NvbmZpZ3VyZS5wYXRjaApAQCAtMCwwICsxLDEzIEBACitJbmRleDogZ2l0L2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdpdC5vcmlnL2NvbmZpZ3VyZS5hYwkyMDE0LTA3LTE3IDIxOjQ4OjUxLjI4NDU3MDQ3NCArMDAwMAorKysrIGdpdC9jb25maWd1cmUuYWMJMjAxNC0wNy0xNyAyMTo1MzozOS4xMDQ1NzgzMTggKzAwMDAKK0BAIC0yNiw3ICsyNiw3IEBACisgQUNfQ0FOT05JQ0FMX0hPU1QKKyBBQ19JU0NfUE9TSVgKKyAKKy1BTV9JTklUX0FVVE9NQUtFKDEuNiBkaXN0LWJ6aXAyKQorK0FNX0lOSVRfQVVUT01BS0UoW2Rpc3QtYnppcDIgZm9yZWlnbl0pCisgQUNfQ09ORklHX0hFQURFUlMoY29uZmlnLmgpCisgX1hURVJNX0NPTE9SUworIG00X2lmZGVmKFtBTV9TSUxFTlRfUlVMRVNdLCBbQU1fU0lMRU5UX1JVTEVTKFt5ZXNdKV0pCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lbmpveV9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lbmpveV9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjk3Y2JkNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Vuam95X2dpdC5iYgpAQCAtMCwwICsxLDQ4IEBACitTVU1NQVJZID0gIkVuam95IG11c2ljIHBsYXllciIKK0xJQ0VOU0UgPSAiTEdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NmE2YThlMDIwODM4YjIzNDA2YzgxYjE5YzFkNDZkZjYiCitERVBFTkRTID0gImV2YXMgZWNvcmUgZWRqZSBlbGVtZW50YXJ5IGVtb3Rpb24gbGlnaHRtZWRpYXNjYW5uZXIgZWxkYnVzIGdzdC1wbHVnaW5zLWdvb2QiCisKK1NSQ1JFViA9ICJhYThmZWM2OWU4ODVlZWMwNDhhODQ5YzJiMzQwNTllYzU4NDA0ZTAyIgorUFYgPSAiMC4xLjArZ2l0ciR7U1JDUFZ9IgorCisjMXN0IG5lZWRlZCBmb3IgYWxsIGZvcm1hdHMKKyMybmQgbmVlZGVkIGZvciBtcDMgcGxheWJhY2sKKyMzZCBuZWVkZWQgZm9yIG9nZyBwbGF5YmFjaworIzR0aCBuZWVkZWQgZm9yIGZsYWMgcGxheWJhY2sKKyM1dGggbmVlZGVkIGJpbmFyeSB0byBjcmVhdGUgZGIKK1JERVBFTkRTXyR7UE59ICs9ICJcCisgICAgICAgZ3N0LXBsdWdpbnMtYmFzZS10eXBlZmluZGZ1bmN0aW9ucyBnc3QtcGx1Z2lucy1iYXNlLXBsYXliaW4gZ3N0LXBsdWdpbnMtYmFzZS12b2x1bWUgZ3N0LXBsdWdpbnMtYmFzZS1kZWNvZGViaW4yIGdzdC1wbHVnaW5zLWdvb2QtYXV0b2RldGVjdCBcCisgICAgICAgZ3N0LXBsdWdpbnMtYmFzZS1vZ2cgZ3N0LXBsdWdpbnMtYmFzZS1pdm9yYmlzZGVjIFwKKyAgICAgICBnc3QtcGx1Z2lucy1nb29kLWZsYWMgXAorICAgICAgIGxpZ2h0bWVkaWFzY2FubmVyLXRlc3QgXAorIgorCitpbmhlcml0IGUgZ2V0dGV4dAorU1JDX1VSSSA9ICIgXAorICAgIGdpdDovL2dpdC5lbmxpZ2h0ZW5tZW50Lm9yZy9hcHBzL2Vuam95LmdpdCBcCisgICAgZmlsZTovLzAwMDEtYWx3YXlzLXVzZS1wb3NpdGlvbi1hcy1wZXJjZW50LWFuZC1kZWZpbmUtYS0xLXNlY29uZC5wYXRjaCBcCisgICAgZmlsZTovL2NvbmZpZ3VyZS5wYXRjaCBcCisiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9pY29ucy8iCisKK0VYVFJBX09FQ09ORiA9ICJcCisgICAgLS13aXRoLWVkamUtY2M9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2VkamVfY2MgXAorIgorCitQQUNLQUdFQ09ORklHW21hZF0gPSAiLCxnc3QtcGx1Z2lucy11Z2x5LGdzdC1wbHVnaW5zLXVnbHktbWFkIgorUEFDS0FHRUNPTkZJR1tpZDNkZW11eF0gPSAiLCwsZ3N0LXBsdWdpbnMtZ29vZC1pZDNkZW11eCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgYXV0b3BvaW50IHx8IHRvdWNoIGNvbmZpZy5ycGF0aAorfQorCitwa2dfcG9zdGluc3RfJHtQTn0gKCkgeworICAgIGVjaG8gImVuam95OiAgICBTQ0FOIGFuZCBMSUJSQVJZIE1BTkFHRVIgYXJlIG5vdCBpbXBsZW1ldGVkIHlldCEiCisgICAgZWNobyAiZW5qb3k6ICAgIE1lYW53aGlsZSBwbGVhc2UgcnVuOiIKKyAgICBlY2hvICJlbmpveTogICAgdGVzdC1sbXMgLW0gbW9ubyAtcCBpZDMgLWkgNTAwMCAtcyAvcGF0aC90by95b3VyL211c2ljL2RpciAvaG9tZS9yb290Ly5jb25maWcvZW5qb3kvbWVkaWEuZGIiCisgICAgZWNobyAiZW5qb3k6IgorICAgIGVjaG8gImVuam95OiAgICBVc2UgdGVzdC1sbXMgLVAgdG8gc2VlIGF2YWlsYWJsZSBmb3JtYXRzIHRoYXQgY2FuIGJlIHNjYW5uZWQiCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lcGhvdG8vY29uZmlndXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZXBob3RvL2NvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OTQ2NmY4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZXBob3RvL2NvbmZpZ3VyZS5wYXRjaApAQCAtMCwwICsxLDEzIEBACitJbmRleDogZXBob3RvL2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGVwaG90by5vcmlnL2NvbmZpZ3VyZS5hYwkyMDE0LTA3LTE3IDIxOjQ4OjUxLjAyODU3MDQ2NyArMDAwMAorKysrIGVwaG90by9jb25maWd1cmUuYWMJMjAxNC0wNy0xNyAyMTo1Mjo1Ni4xMjA1NzcxNDYgKzAwMDAKK0BAIC0yNyw3ICsyNyw3IEBACisgQUNfQ0FOT05JQ0FMX0hPU1QKKyBBQ19JU0NfUE9TSVgKKyAKKy1BTV9JTklUX0FVVE9NQUtFKDEuNiBkaXN0LWJ6aXAyKQorK0FNX0lOSVRfQVVUT01BS0UoW2Rpc3QtYnppcDIgZm9yZWlnbl0pCisgQU1fQ09ORklHX0hFQURFUihzcmMvYmluL2NvbmZpZy5oKQorIG00X2lmZGVmKFtBTV9TSUxFTlRfUlVMRVNdLCBbQU1fU0lMRU5UX1JVTEVTKFt5ZXNdKV0pCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lcGhvdG9fc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZXBob3RvX3N2bi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Y2VjZGE1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZXBob3RvX3N2bi5iYgpAQCAtMCwwICsxLDE5IEBACitMSUNFTlNFID0gIk1JVCAmIEdQTC0zLjAiCitQViA9ICIwLjEuMCtzdm5yJHtTUkNSRVZ9IgorUFIgPSAiJHtJTkNfUFJ9LjAiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZkZmZjZGRiMzY2ZDBjYzc4ZTBlNDZjNGVhNzBjOGQ5IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuaWNvbnM7bWQ1PThmMGUyY2Q0MGUwNTE4OWVjODEyMzJkYTg0YmQ2ZTFhIgorCityZXF1aXJlIGUtbW9kdWxlLmluYworCitpbmhlcml0IGdldHRleHQKKworREVQRU5EUyArPSAiZWxlbWVudGFyeSBldGh1bWIgZWNvcmUgZWlvIgorCitTUkNOQU1FID0gIiR7UE59IgorCisjIGF1dG90b29scy1icm9rZW5zZXAKK0IgPSAiJHtTfSIKKworU1JDX1VSSSArPSAiZmlsZTovL2NvbmZpZ3VyZS5wYXRjaCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2V4YWx0LWNsaWVudC9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9leGFsdC1jbGllbnQvY29uZmlndXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0ZmY4MDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9leGFsdC1jbGllbnQvY29uZmlndXJlLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0luZGV4OiBleGFsdC1jbGllbnQvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZXhhbHQtY2xpZW50Lm9yaWcvY29uZmlndXJlLmFjCTIwMTQtMDctMTcgMjE6NDY6MTQuNzEyNTY2MjA3ICswMDAwCisrKysgZXhhbHQtY2xpZW50L2NvbmZpZ3VyZS5hYwkyMDE0LTA3LTE3IDIxOjQ3OjU2Ljg4MDU2ODk5MSArMDAwMAorQEAgLTEwLDcgKzEwLDcgQEAKKyBBQ19DQU5PTklDQUxfSE9TVAorIEFDX0lTQ19QT1NJWAorIAorLUFNX0lOSVRfQVVUT01BS0UoMS44KQorK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ25dKQorIEFNX0NPTkZJR19IRUFERVIoY29uZmlnLmgpCisgCisgQUNfUFJPR19DQworQEAgLTI5LDcgKzI5LDYgQEAKKyAKKyBtNF9pZmRlZihbQU1fR05VX0dFVFRFWFRdLCBbCisgQU1fR05VX0dFVFRFWFQoW2V4dGVybmFsXSkKKy1wb19tYWtlZmlsZV9pbj1wby9NYWtlZmlsZS5pbgorIEFNX0NPTkRJVElPTkFMKFtIQVZFX1BPXSwgW3RydWVdKQorIF0sWworIEFNX0NPTkRJVElPTkFMKFtIQVZFX1BPXSwgW2ZhbHNlXSkKK0BAIC0xMDEsNiArMTAwLDUgQEAKKyBzcmMvTWFrZWZpbGUKKyBtb2R1bGUuZGVza3RvcAorIGVfbW9kdWxlcy1leGFsdC1jbGllbnQuc3BlYworLSRwb19tYWtlZmlsZV9pbgorIF0sIFsKKyBdKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZXhhbHQtY2xpZW50X3N2bi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2V4YWx0LWNsaWVudF9zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjcwODYwMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2V4YWx0LWNsaWVudF9zdm4uYmIKQEAgLTAsMCArMSwyNSBAQAorTElDRU5TRSA9ICJMR1BMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZiYzA5MzkwMTg1N2ZjZDExOGYwNjVmOTAwOTgyYzI0IgorCitQViA9ICIwLjAuMStzdm5yJHtTUkNQVn0iCisKK3JlcXVpcmUgZS1tb2R1bGUuaW5jCisKK0RFUEVORFMgKz0gImVsZW1lbnRhcnkgZXhhbHQgZWRqZS1uYXRpdmUiCisKK0NGTEFHUyArPSAiIC1JJHtTVEFHSU5HX0lOQ0RJUn0vZXhhbHQgLUkke1NUQUdJTkdfSU5DRElSfS9leGFsdF9kYnVzIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgLWUgL3BvL2QgJHtTfS9jb25maWd1cmUuYWMKKyAgICBzZWQgLWkgLWUgczpcIHBvOjpnICR7U30vTWFrZWZpbGUuYW0KK30KKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvKi8qLmRlc2t0b3AgXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvKi8qLmVkaiBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2VubGlnaHRlbm1lbnQvbW9kdWxlcy8qLyovKi5zbyIKKworRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0vZW5saWdodGVubWVudC9tb2R1bGVzLyovKi8qLmEiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvKi8qLyoubGEiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvKi8qLy5kZWJ1ZyIKKyAKK1NSQ19VUkkgKz0gImZpbGU6Ly9jb25maWd1cmUucGF0Y2giClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZXhhbHRfc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZXhhbHRfc3ZuLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmMWM4NTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9leGFsdF9zdm4uYmIKQEAgLTAsMCArMSwzNCBAQAorU1VNTUFSWSA9ICJFeGFsdCBpcyBhIG5ldHdvcmsgbWFuYWdlciBmb3IgdGhlIHdpbmRvd3MgbWFuYWdlciBFbmxpZ2h0ZW5tZW50IERSMTciCitIT01FUEFHRSA9ICJodHRwOi8vd2F0Y2h3b2xmLmZyL3dpa2kvZG9rdS5waHA/aWQ9ZXhhbHQiCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mYmMwOTM5MDE4NTdmY2QxMThmMDY1ZjkwMDk4MmMyNCIKKworREVQRU5EUyA9ICJlbGVtZW50YXJ5IHZwbmMgd3BhLXN1cHBsaWNhbnQgZWNvcmUgZWV0IGVkYnVzIgorUkRFUEVORFNfJHtQTn0gPSAidnBuYyB3cGEtc3VwcGxpY2FudCIKKworUFYgPSAiMC45K3N2bnIke1NSQ1BWfSIKK1NSQ1JFViA9ICIke0VGTF9TUkNSRVZ9IgorCitpbmhlcml0IGUKK1NSQ19VUkkgPSAiJHtFX1NWTn0vdHJ1bms7bW9kdWxlPSR7U1JDTkFNRX07cHJvdG9jb2w9aHR0cDtzY21kYXRhPWtlZXAiCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfSIKKworRVhUUkFfT0VDT05GID0gIiBcCistLXdpdGgtd3BhX3N1cHBsaWNhbnQ9JHtzYmluZGlyfS93cGFfc3VwcGxpY2FudCBcCistLXdpdGgtdnBuYz0ke3NiaW5kaXJ9L3ZwbmMgXAorLS13aXRoLXZwbmMtZGlzY29ubmVjdD0ke3NiaW5kaXJ9L3ZwbmMtZGlzY29ubmVjdCBcCisiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgaW5zdGFsbCBkYnVzIGNvbmZpZyBmaWxlCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kYnVzLTEvc3lzdGVtLmQvCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vZGF0YS9kYWVtb24vZGJ1cy9leGFsdC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L2RidXMtMS9zeXN0ZW0uZC9leGFsdC5jb25mCisKKyAgICAjIGluc3RhbGwgZGJ1cyBzZXJ2aWNlIGZpbGUKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0tc2VydmljZXMvCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7Qn0vb3JnLmUuRXhhbHQuc2VydmljZSAke0R9JHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzLworfQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9kYnVzLTEiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2V4cXVpc2l0ZS10aGVtZS1pbGx1bWUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9leHF1aXNpdGUtdGhlbWUtaWxsdW1lLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhZDA2NDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9leHF1aXNpdGUtdGhlbWUtaWxsdW1lLmJiCkBAIC0wLDAgKzEsMzUgQEAKK0RERVNDUklQVElPTiA9ICJBIHRoZW1lIGZvciBleHF1aXNpdGUiCitMSUNFTlNFID0gIk1JVCAmIEJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7V09SS0RJUn0vTElDRU5TRTttZDU9ZjUyM2FiNTk4NmNjNzliNTJhOTBkMmFjM2Q1NDU0YTIiCitTRUNUSU9OID0gIngxMSIKK0RFUEVORFMgPSAiZWRqZS1uYXRpdmUiCitQViA9ICIxLjArc3ZuciR7U1JDUFZ9IgorU1JDUkVWID0gIiR7RUZMX1NSQ1JFVn0iCisKK2luaGVyaXQgZS1iYXNlIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgYWxsYXJjaAorCitBTFRFUk5BVElWRV9OQU1FID0gImV4cXVpc2l0ZS1jb25maWciCitBTFRFUk5BVElWRV9MSU5LID0gIiR7c3lzY29uZmRpcn0vZXhxdWlzaXRlL2NvbmZpZyIKK0FMVEVSTkFUSVZFX1BBVEggPSAiJHtzeXNjb25mZGlyfS9leHF1aXNpdGUvY29uZmlnLWlsbHVtZSIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEwIgorCitTUkNOQU1FID0gImJfYW5kX3ciCisKK1NSQ19VUkkgPSAiJHtFX1NWTn0vdHJ1bmsvVEhFTUVTO21vZHVsZT0ke1NSQ05BTUV9O3Byb3RvY29sPWh0dHAgXAorICAgICAgICAgICBmaWxlOi8vTElDRU5TRSBcCisiCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfSIKKworZG9fY29tcGlsZSgpIHsKKyAgICAke1NUQUdJTkdfQklORElSX05BVElWRX0vZWRqZV9jYyBleHF1aXNpdGUuZWRjIGlsbHVtZS5lZGoKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2V4cXVpc2l0ZQorICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vZXhxdWlzaXRlL2RhdGEvdGhlbWVzCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vaWxsdW1lLmVkaiAke0R9JHtkYXRhZGlyfS9leHF1aXNpdGUvZGF0YS90aGVtZXMvCisgICAgZWNobyAnVEhFTUU9Ii10IGlsbHVtZSInID4gJHtEfSR7c3lzY29uZmRpcn0vZXhxdWlzaXRlL2NvbmZpZy1pbGx1bWUKK30KKworQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vZXhxdWlzaXRlL2NvbmZpZy1pbGx1bWUiCitGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L2V4cXVpc2l0ZSAke2RhdGFkaXJ9L2V4cXVpc2l0ZS9kYXRhL3RoZW1lcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2V4cXVpc2l0ZS10aGVtZS1pbGx1bWUvTElDRU5TRSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2V4cXVpc2l0ZS10aGVtZS1pbGx1bWUvTElDRU5TRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MWJiMmY2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZXhxdWlzaXRlLXRoZW1lLWlsbHVtZS9MSUNFTlNFCkBAIC0wLDAgKzEsMjUgQEAKK0NvcHlyaWdodCBub3RpY2UgZm9yIEVubGlnaHRlbm1lbnQ6CisKK0NvcHlyaWdodCAoQykgMjAwMC0yMDEwIENhcnN0ZW4gSGFpdHpsZXIgYW5kIHZhcmlvdXMgY29udHJpYnV0b3JzIChzZWUgQVVUSE9SUykKKworQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworICAgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAgIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IAorICAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIAorSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORAorRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKK0lOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKK0xJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLAorT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRgorTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcKK05FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwKK0VWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9leHF1aXNpdGUvZXhxdWlzaXRlLWluaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9leHF1aXNpdGUvZXhxdWlzaXRlLWluaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmRlNjc3NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2V4cXVpc2l0ZS9leHF1aXNpdGUtaW5pdApAQCAtMCwwICsxLDQwIEBACisjIS9iaW4vc2gKKworZm9yIHggaW4gJChjYXQgL3Byb2MvY21kbGluZSk7IGRvCisgIGNhc2UgJHggaW4KKyAgICBzcGxhc2g9ZmFsc2UpCisgICAgICBlY2hvICJTcGxhc2ggRGlzYWJsZWQiCisgICAgICBleGl0IDA7CisgICAgICA7OworICBlc2FjCitkb25lCisKKy4gL2V0Yy9pbml0LmQvZnVuY3Rpb25zCisKKyMjIyBEZWZhdWx0IGNvbmZpZyBoZXJlIC0gZ2V0cyBvdmVycmlkZW4gbGF0ZXIKK1RIRU1FPSItdCBkZWZhdWx0IgorRlBTPSItZnBzIDMwIgorIyMjIE92ZXJyaWRlIGNvbmZpZyAtIGlmIHRoZXJlIGlzIGEgY29uZmlnIGZpbGUgLSBsb2FkIGl0LgoraWYgdGVzdCAtZiAvZXRjL2V4cXVpc2l0ZS9jb25maWc7IHRoZW4KKyAgLiAvZXRjL2V4cXVpc2l0ZS9jb25maWcKK2ZpCisKK2FyZ3M9JycKK2Nhc2UgYG1hY2hpbmVfaWRgIGluCisgICJocF9pcGFxX2gzMTAwInwiaHBfaXBhcV9oMzgwMCIpCisgICAgIGFyZ3M9Jy1yb3QgOTAnIDs7CisgICJocF9pcGFxXzM2MDAifCJocF9pcGFxXzM3MDAifCJocF9pcGFxX2gzOTAwInwiaHRjX3VuaXZlcnNhbCJ8KmNvbGxpZXwqcG9vZGxlfCpha2l0YXwqc3BpdHp8KmJvcnpvaSkKKyAgICAgYXJncz0nLXJvdCAyNzAnIDs7Citlc2FjCithcmdzPSRhcmdzIiAkRlBTICRUSEVNRSIKKworZXhwb3J0IEVYRElSPS9tbnQvLnNwbGFzaAorZXhwb3J0IEVYUVVJU0lURV9JUEM9JEVYRElSL2V4cXVpc2l0ZQorbW91bnQgdG1wZnMgLXQgdG1wZnMgJEVYRElSIC1vLHNpemU9NDBrCitleHF1aXNpdGUgLWZiIC1mcyAkYXJncyAmCisKK2V4cXVpc2l0ZS13cml0ZSAtd2FpdCAxMjAKK2V4cXVpc2l0ZS13cml0ZSAiUFVMU0FURSIKK3NldHRlcm0gLWJsYW5rIDAKK3NldHRlcm0gLXBvd2Vyc2F2ZSBvZmYKK3NldHRlcm0gLXBvd2VyZG93biAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9leHF1aXNpdGUvc3BsYXNoZnVuY3MgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9leHF1aXNpdGUvc3BsYXNoZnVuY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWRhMmE5NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2V4cXVpc2l0ZS9zcGxhc2hmdW5jcwpAQCAtMCwwICsxLDI5IEBACitzdGF0dXMoKSB7CisgIGlmIHR5cGUgc3BsYXNoLXdyaXRlID4vZGV2L251bGwgMj4mMTsgdGhlbgorICAgIChUTVBESVI9Ii9tbnQvLnNwbGFzaCIgRVhRVUlTSVRFX0lQQz0iJFRNUERJUi9leHF1aXNpdGUiIHNwbGFzaC13cml0ZSAiJDEiIHx8IHRydWUpICYKKyAgZmkKK30KKworc3RhdHVzX3Bvc2l0aW9uKCkgeworICBzdGF0dXMgIlBST0dSRVNTICQxIgorfQorCitzdGF0dXNfdGl0bGUoKSB7CisgIHN0YXR1cyAiVElUTEUgJDEiCit9CisKK3N0YXR1c190ZXh0KCkgeworICBpZiB0ZXN0IC1uICIkMSI7IHRoZW4KKyAgICBzdGF0dXMgIk1TRyAkMSIKKyAgZWxzZQorICAgIHN0YXR1cyAiQ0xFQVIiCisgIGZpCit9CisKK3N0YXR1c19wdWxzZSgpIHsKKyAgc3RhdHVzICJQVUxTQVRFIgorfQorCitzdGF0dXNfdGljaygpIHsKKyAgc3RhdHVzICJUSUNLIgorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZXhxdWlzaXRlX3N2bi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2V4cXVpc2l0ZV9zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGYyZDI1ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2V4cXVpc2l0ZV9zdm4uYmIKQEAgLTAsMCArMSw0MSBAQAorU1VNTUFSWSA9ICJBIHBzcGxhc2ggcmVwbGFjZW1lbnQgZm9yIGRpc3BsYXkiCitMSUNFTlNFID0gIk1JVCAmIEJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTE0ZGVmYTM3MmE5MTExOGU3NTUxMzNiYzhlNmFmZjgzIgorREVQRU5EUyA9ICJlZXQgZXZhcyBlY29yZSBlbWJyeW8gZWRqZSIKK1BWID0gIjAuMC4xK3N2bnIke1NSQ1BWfSIKK1NSQ1JFViA9ICIke0VGTF9TUkNSRVZ9IgorUlJFQ09NTUVORFNfJHtQTn0gPSAiZXhxdWlzaXRlLXRoZW1lcyIKK1JDT05GTElDVFNfJHtQTn0gPSAicHNwbGFzaCB2aXJ0dWFsLXBzcGxhc2giCisKK1NSQ05BTUUgPSAiZXhxdWlzaXRlIgorCitpbmhlcml0IGUKK1NSQ19VUkkgPSAiJHtFX1NWTn0vdHJ1bms7bW9kdWxlPSR7U1JDTkFNRX07cHJvdG9jb2w9aHR0cDtzY21kYXRhPWtlZXAiCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfSIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC1lZGplLWNjPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9lZGplX2NjIgorCitTUkNfVVJJICs9ICJmaWxlOi8vZXhxdWlzaXRlLWluaXQiCitTUkNfVVJJICs9ICJmaWxlOi8vc3BsYXNoZnVuY3MiCisKK2luaGVyaXQgdXBkYXRlLXJjLmQKKworZG9faW5zdGFsbF9wcmVwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfS9tbnQvLnNwbGFzaC8KKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2V4cXVpc2l0ZS1pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9leHF1aXNpdGUKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9zcGxhc2hmdW5jcyAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3NwbGFzaGZ1bmNzCisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgbG4gLXMgZXhxdWlzaXRlLXdyaXRlICR7RH0ke2JpbmRpcn0vc3BsYXNoLXdyaXRlCit9CisKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgcm0gLXJmICR7RH0ke2RhdGFkaXJ9L2V4cXVpc2l0ZS9kYXRhL2ZvbnRzLyoKK30KKworSU5JVFNDUklQVF9OQU1FID0gImV4cXVpc2l0ZSIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDAxIFMgLiBzdG9wIDIwIDAgMSA2IC4iCisKK0ZJTEVTXyR7UE59ICs9ICIvbW50Ly5zcGxhc2gvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZmxhbWUvY29uZmlndXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZmxhbWUvY29uZmlndXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3Yzg1ZGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9mbGFtZS9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorSW5kZXg6IGNwdS9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjcHUub3JpZy9jb25maWd1cmUuYWMJMjAxNC0wNy0xNyAyMDozOTo0OC4wMDAwMDAwMDAgKzAwMDAKKysrKyBjcHUvY29uZmlndXJlLmFjCTIwMTQtMDctMTcgMjE6Mzk6NTUuMzIwNTU1ODY4ICswMDAwCitAQCAtMTAsNyArMTAsNyBAQAorIEFDX0NBTk9OSUNBTF9IT1NUCisgQUNfSVNDX1BPU0lYCisgCistQU1fSU5JVF9BVVRPTUFLRSgxLjYpCisrQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbl0pCisgQU1fQ09ORklHX0hFQURFUihjb25maWcuaCkKKyBtNF9pZmRlZihbQU1fU0lMRU5UX1JVTEVTXSwgW0FNX1NJTEVOVF9SVUxFUyhbeWVzXSldKQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZmxhbWVfc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZmxhbWVfc3ZuLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4Yzc5YTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9mbGFtZV9zdm4uYmIKQEAgLTAsMCArMSwxNSBAQAorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zNDQ4OTVmMjUzYzMyZjM4ZTE4MmRjYWYzMGZlOGEzNSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLVBMQUlOO21kNT1jOTEwYjY0NWVkYTAwMDVjY2VjNDZmNzUyMDNkYzk2ZSIKKworUFYgPSAiMC4wLjMrc3ZuciR7U1JDUFZ9IgorUFIgPSAiJHtJTkNfUFJ9LjAiCisKK3JlcXVpcmUgZS1tb2R1bGUuaW5jCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAtZSAvcG8vZCAke1N9L2NvbmZpZ3VyZS5hYworICAgIHNlZCAtaSAtZSBzOlwgcG86OmcgJHtTfS9NYWtlZmlsZS5hbQorfQorCitTUkNfVVJJICs9ICJmaWxlOi8vY29uZmlndXJlLnBhdGNoIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZm9yZWNhc3RzL2NvbmZpZ3VyZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2ZvcmVjYXN0cy9jb25maWd1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODdjODVkZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2ZvcmVjYXN0cy9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorSW5kZXg6IGNwdS9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjcHUub3JpZy9jb25maWd1cmUuYWMJMjAxNC0wNy0xNyAyMDozOTo0OC4wMDAwMDAwMDAgKzAwMDAKKysrKyBjcHUvY29uZmlndXJlLmFjCTIwMTQtMDctMTcgMjE6Mzk6NTUuMzIwNTU1ODY4ICswMDAwCitAQCAtMTAsNyArMTAsNyBAQAorIEFDX0NBTk9OSUNBTF9IT1NUCisgQUNfSVNDX1BPU0lYCisgCistQU1fSU5JVF9BVVRPTUFLRSgxLjYpCisrQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbl0pCisgQU1fQ09ORklHX0hFQURFUihjb25maWcuaCkKKyBtNF9pZmRlZihbQU1fU0lMRU5UX1JVTEVTXSwgW0FNX1NJTEVOVF9SVUxFUyhbeWVzXSldKQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZm9yZWNhc3RzX3N2bi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2ZvcmVjYXN0c19zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDczYmRiOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2ZvcmVjYXN0c19zdm4uYmIKQEAgLTAsMCArMSwxMCBAQAorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zNDQ4OTVmMjUzYzMyZjM4ZTE4MmRjYWYzMGZlOGEzNSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLVBMQUlOO21kNT01MTMyOGNmYjczYmZlYzNlZWQ3Y2ZkM2RiZWQ3Mzk4OCIKKworUFYgPSAiMC4yLjArc3ZuciR7U1JDUkVWfSIKK1BSID0gIiR7SU5DX1BSfS4wIgorCityZXF1aXJlIGUtbW9kdWxlLmluYworCitTUkNfVVJJICs9ICJmaWxlOi8vY29uZmlndXJlLnBhdGNoIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvaWxsdW1lLWtleWJvYXJkcy1zaHIvMDAwMS1NYWtlZmlsZS11cGRhdGUtS0VZQk9BUkRTX0RJUi1mb3ItbmV3LWlsbHVtZTIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9pbGx1bWUta2V5Ym9hcmRzLXNoci8wMDAxLU1ha2VmaWxlLXVwZGF0ZS1LRVlCT0FSRFNfRElSLWZvci1uZXctaWxsdW1lMi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMThhNjliCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvaWxsdW1lLWtleWJvYXJkcy1zaHIvMDAwMS1NYWtlZmlsZS11cGRhdGUtS0VZQk9BUkRTX0RJUi1mb3ItbmV3LWlsbHVtZTIucGF0Y2gKQEAgLTAsMCArMSwyMyBAQAorRnJvbSA5MzE2ZTM5NzNjNDRiOTgxZTczYjk1M2IyODYxMDYwYzY5MDJkZTQ3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogTW9uLCAyMyBBdWcgMjAxMCAxMjo1NDowNSArMDIwMAorU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZTogdXBkYXRlIEtFWUJPQVJEU19ESVIgZm9yIG5ldyBpbGx1bWUyCisKKy0tLQorIE1ha2VmaWxlIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggNDZlOTQyMC4uM2Q4NzU3YyAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTEsNSArMSw1IEBACisgCistSU5TVEJBU0UgPSAvdXNyL2xpYi9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvaWxsdW1lL2tleWJvYXJkcworK0lOU1RCQVNFID0gL3Vzci9saWIvZW5saWdodGVubWVudC9tb2R1bGVzL2lsbHVtZS1rZXlib2FyZC9rZXlib2FyZHMKKyAKKyBGSUxFUy1hcmFiaWMgPSBBcmFiaWMua2JkIEFyYWJpYy5wbmcKKyBGSUxFUy1wZXJzaWFuID0gUGVyc2lhbi5rYmQgUGVyc2lhbi5wbmcKKy0tIAorMS43LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvaWxsdW1lLWtleWJvYXJkcy1zaHIvTElDRU5TRSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2lsbHVtZS1rZXlib2FyZHMtc2hyL0xJQ0VOU0UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjFiYjJmNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2lsbHVtZS1rZXlib2FyZHMtc2hyL0xJQ0VOU0UKQEAgLTAsMCArMSwyNSBAQAorQ29weXJpZ2h0IG5vdGljZSBmb3IgRW5saWdodGVubWVudDoKKworQ29weXJpZ2h0IChDKSAyMDAwLTIwMTAgQ2Fyc3RlbiBIYWl0emxlciBhbmQgdmFyaW91cyBjb250cmlidXRvcnMgKHNlZSBBVVRIT1JTKQorCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisgICAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICAgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgCisgICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgCitJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5ECitGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCitDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsCitPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GCitMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORworTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLAorRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2lsbHVtZS1rZXlib2FyZHMtc2hyX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2lsbHVtZS1rZXlib2FyZHMtc2hyX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OTI1Yzg3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvaWxsdW1lLWtleWJvYXJkcy1zaHJfZ2l0LmJiCkBAIC0wLDAgKzEsMTAwIEBACitTRUNUSU9OID0gIngxMS9kYXRhIgorCitTUkNfVVJJID0gImdpdDovL2dpdC5zaHItcHJvamVjdC5vcmcvcmVwby9pbGx1bWUta2V5Ym9hcmRzLmdpdDtwcm90b2NvbD1odHRwO2JyYW5jaD1tYXN0ZXIgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1NYWtlZmlsZS11cGRhdGUtS0VZQk9BUkRTX0RJUi1mb3ItbmV3LWlsbHVtZTIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vTElDRU5TRSIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK1NSQ1JFViA9ICI0MDY0NDg5ZjM1OWExYWRkZjU3MjA4OWI1ODJmMzE3ZGZmNWY1MGUxIgorUFYgPSAiMC4wK2dpdHIke1NSQ1BWfSIKK1BFID0gIjEiCitQUiA9ICJyNSIKK0xJQ0VOU0UgPSAiTUlUICYgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtXT1JLRElSfS9MSUNFTlNFO21kNT1mNTIzYWI1OTg2Y2M3OWI1MmE5MGQyYWMzZDU0NTRhMiIKKworQ0xFQU5CUk9LRU4gPSAiMSIKKworUEFDS0FHRVMgPSAiXAoraWxsdW1lLWtleWJvYXJkLWFscGhhIFwKK2lsbHVtZS1rZXlib2FyZC1hcmFiaWMgXAoraWxsdW1lLWtleWJvYXJkLWJyb3dzZSBcCitpbGx1bWUta2V5Ym9hcmQtZGFuaXNoIFwKK2lsbHVtZS1rZXlib2FyZC1kZWZhdWx0LWFsdCBcCitpbGx1bWUta2V5Ym9hcmQtZHV0Y2ggXAoraWxsdW1lLWtleWJvYXJkLWR2b3JhayBcCitpbGx1bWUta2V5Ym9hcmQtZmlubmlzaCBcCitpbGx1bWUta2V5Ym9hcmQtZnJlbmNoIFwKK2lsbHVtZS1rZXlib2FyZC1nZXJtYW4gXAoraWxsdW1lLWtleWJvYXJkLWhlYnJldyBcCitpbGx1bWUta2V5Ym9hcmQtbnVtZXJpYy1hbHQgXAoraWxsdW1lLWtleWJvYXJkLXJ1c3NpYW4gXAoraWxsdW1lLWtleWJvYXJkLXJ1c3NpYW4tdGVybWluYWwgXAoraWxsdW1lLWtleWJvYXJkLXBlcnNpYW4gXAorIgorCitpbmhlcml0IGFsbGFyY2gKK0tFWUJPQVJEU19ESVI9IiR7bGliZGlyfS9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvaWxsdW1lLWtleWJvYXJkL2tleWJvYXJkcyIKKworQVVUSE9SX2lsbHVtZS1rZXlib2FyZC1hbHBoYSA9ICJKZXN1cyBNY0Nsb3VkIgorREVTQ1JJUFRJT05faWxsdW1lLWtleWJvYXJkLWFscGhhID0gIklsbHVtZSBrZXlib2FyZCB3aXRoIHBob25lLWxpa2UgbGF5b3V0IgorRklMRVNfaWxsdW1lLWtleWJvYXJkLWFscGhhID0gIiR7S0VZQk9BUkRTX0RJUn0vQWxwaGEua2JkIgorCitBVVRIT1JfaWxsdW1lLWtleWJvYXJkLWFyYWJpYyA9ICJNb2hhbW1hZCBGYWhtaSAvIFRvbSBIYWNvaGVuIgorREVTQ1JJUFRJT05faWxsdW1lLWtleWJvYXJkLWFyYWJpYyA9ICJJbGx1bWUga2V5Ym9hcmQgd2l0aCBhcmFiaWMgbGF5b3V0IgorRklMRVNfaWxsdW1lLWtleWJvYXJkLWFyYWJpYyA9ICIke0tFWUJPQVJEU19ESVJ9L0FyYWJpYy5rYmQgJHtLRVlCT0FSRFNfRElSfS9BcmFiaWMucG5nIgorCitBVVRIT1JfaWxsdW1lLWtleWJvYXJkLWJyb3dzZSA9ICJQYW5kZXIiCitERVNDUklQVElPTl9pbGx1bWUta2V5Ym9hcmQtYnJvd3NlID0gIklsbHVtZSBrZXlib2FyZCB3aXRoIGEgbGF5b3V0IG9wdGltaXplZCBmb3IgYnJvd3NpbmciCitGSUxFU19pbGx1bWUta2V5Ym9hcmQtYnJvd3NlID0gIiR7S0VZQk9BUkRTX0RJUn0vQnJvd3NlLmtiZCAke0tFWUJPQVJEU19ESVJ9L2VuZC1icm93c2UucG5nICR7S0VZQk9BUkRTX0RJUn0vcGFnZWRvd24tYnJvd3NlLnBuZyAke0tFWUJPQVJEU19ESVJ9L2Jyb3dzZS5wbmcgJHtLRVlCT0FSRFNfRElSfS9ob21lLWJyb3dzZS5wbmcgJHtLRVlCT0FSRFNfRElSfS9wYWdldXAtYnJvd3NlLnBuZyAke0tFWUJPQVJEU19ESVJ9L3NwYWNlLWJyb3dzZS5wbmciCisKK0FVVEhPUl9pbGx1bWUta2V5Ym9hcmQtZGFuaXNoID0gIkVzYmVuIERhbWdhYXJkIgorREVTQ1JJUFRJT05faWxsdW1lLWtleWJvYXJkLWRhbmlzaCA9ICJJbGx1bWUga2V5Ym9hcmQgd2l0aCBkYW5pc2ggbGF5b3V0IgorRklMRVNfaWxsdW1lLWtleWJvYXJkLWRhbmlzaCA9ICIke0tFWUJPQVJEU19ESVJ9L0RhbmlzaC5rYmQgJHtLRVlCT0FSRFNfRElSfS9kYW5pc2gucG5nIgorCitBVVRIT1JfaWxsdW1lLWtleWJvYXJkLWRlZmF1bHQtYWx0ID0gIlBhbmRlciIKK0RFU0NSSVBUSU9OX2lsbHVtZS1rZXlib2FyZC1kZWZhdWx0LWFsdCA9ICJJbGx1bWUga2V5Ym9hcmQgd2l0aCBhbiBhbHRlcm5hdGl2ZSBkZWZhdWx0IGxheW91dCIKK0ZJTEVTX2lsbHVtZS1rZXlib2FyZC1kZWZhdWx0LWFsdCA9ICIke0tFWUJPQVJEU19ESVJ9L0RlZmF1bHQtYWx0LmtiZCIKKworQVVUSE9SX2lsbHVtZS1rZXlib2FyZC1kdXRjaCA9ICJQYW5kZXIiCitERVNDUklQVElPTl9pbGx1bWUta2V5Ym9hcmQtZHV0Y2ggPSAiSWxsdW1lIGtleWJvYXJkIHdpdGggZHV0Y2ggbGF5b3V0IgorRklMRVNfaWxsdW1lLWtleWJvYXJkLWR1dGNoID0gIiR7S0VZQk9BUkRTX0RJUn0vY2Fwc2xvY2stbmVnYXRpdmUucG5nICR7S0VZQk9BUkRTX0RJUn0vZW5kLnBuZyAke0tFWUJPQVJEU19ESVJ9L3BhZ2Vkb3duLnBuZyAke0tFWUJPQVJEU19ESVJ9L3F3ZXJ0eS1kdXRjaC1ubC5wbmcgJHtLRVlCT0FSRFNfRElSfS9UZXJtaW5hbC1kdXRjaC1ubC5rYmQgJHtLRVlCT0FSRFNfRElSfS9jYXBzbG9jay5wbmcgJHtLRVlCT0FSRFNfRElSfS9ob21lLnBuZyAke0tFWUJPQVJEU19ESVJ9L3BhZ2V1cC5wbmcgJHtLRVlCT0FSRFNfRElSfS9zcGFjZS5wbmciCisKK0FVVEhPUl9pbGx1bWUta2V5Ym9hcmQtZHZvcmFrID0gIkdhYm9yIEFkYW0gVE9USCIKK0RFU0NSSVBUSU9OX2lsbHVtZS1rZXlib2FyZC1kdm9yYWsgPSAiSWxsdW1lIGtleWJvYXJkIHdpdGggZHZvcmFrIGxheW91dCIKK0ZJTEVTX2lsbHVtZS1rZXlib2FyZC1kdm9yYWsgPSAiJHtLRVlCT0FSRFNfRElSfS9Edm9yYWsua2JkICR7S0VZQk9BUkRTX0RJUn0vZHZvcmFrLnBuZyIKKworQVVUSE9SX2lsbHVtZS1rZXlib2FyZC1maW5uaXNoID0gIk9sb2YgU2rDtmJlcmdoIC8gSnVzc2kgVGltcGVyaSIKK0RFU0NSSVBUSU9OX2lsbHVtZS1rZXlib2FyZC1maW5uaXNoID0gIklsbHVtZSBrZXlib2FyZCB3aXRoIGZpbm5pc2ggbGF5b3V0IgorRklMRVNfaWxsdW1lLWtleWJvYXJkLWZpbm5pc2ggPSAiJHtLRVlCT0FSRFNfRElSfS9GaW5uaXNoLmtiZCAke0tFWUJPQVJEU19ESVJ9L0Zpbm5pc2gucG5nIgorCitERVNDUklQVElPTl9pbGx1bWUta2V5Ym9hcmQtZnJlbmNoID0gIklsbHVtZSBrZXlib2FyZCB3aXRoIGZyZW5jaCBsYXlvdXQiCitGSUxFU19pbGx1bWUta2V5Ym9hcmQtZnJlbmNoID0gIiR7S0VZQk9BUkRTX0RJUn0vQXplcnR5LmtiZCAke0tFWUJPQVJEU19ESVJ9L0F6ZXJ0eS5wbmciCisKK0FVVEhPUl9pbGx1bWUta2V5Ym9hcmQtZ2VybWFuID0gIkZsb3JpYW4gSGFja2VuYmVyZ2VyIgorREVTQ1JJUFRJT05faWxsdW1lLWtleWJvYXJkLWdlcm1hbiA9ICJJbGx1bWUga2V5Ym9hcmQgd2l0aCBnZXJtYW4gbGF5b3V0IgorRklMRVNfaWxsdW1lLWtleWJvYXJkLWdlcm1hbiA9ICIke0tFWUJPQVJEU19ESVJ9L0dlcm1hbi5rYmQgJHtLRVlCT0FSRFNfRElSfS9HZXJtYW4ucG5nIgorCitBVVRIT1JfaWxsdW1lLWtleWJvYXJkLWhlYnJldyA9ICJUb20gSGFjb2hlbiIKK0RFU0NSSVBUSU9OX2lsbHVtZS1rZXlib2FyZC1oZWJyZXcgPSAiSWxsdW1lIGtleWJvYXJkIHdpdGggaGVicmV3IGxheW91dCIKK0ZJTEVTX2lsbHVtZS1rZXlib2FyZC1oZWJyZXcgPSAiJHtLRVlCT0FSRFNfRElSfS9IZWJyZXcua2JkICR7S0VZQk9BUkRTX0RJUn0vQWxwaGEtaGVicmV3LWlsLnBuZyIKKworQVVUSE9SX2lsbHVtZS1rZXlib2FyZC1udW1lcmljLWFsdCA9ICJQYW5kZXIiCitERVNDUklQVElPTl9pbGx1bWUta2V5Ym9hcmQtbnVtZXJpYy1hbHQgPSAiSWxsdW1lIGtleWJvYXJkIHdpdGggYW4gYWx0ZXJuYXRpdmUgbnVtZXJpYyBsYXlvdXQiCitGSUxFU19pbGx1bWUta2V5Ym9hcmQtbnVtZXJpYy1hbHQgPSAiJHtLRVlCT0FSRFNfRElSfS9OdW1iZXJzLWFsdC5rYmQgJHtLRVlCT0FSRFNfRElSfS9udW1lcmljLWFsdC5wbmciCisKK0FVVEhPUl9pbGx1bWUta2V5Ym9hcmQtcnVzc2lhbiA9ICJsdWNreSIKK0RFU0NSSVBUSU9OX2lsbHVtZS1rZXlib2FyZC1ydXNzaWFuID0gIklsbHVtZSBrZXlib2FyZCB3aXRoIHJ1c3NpYW4gbGF5b3V0IgorRklMRVNfaWxsdW1lLWtleWJvYXJkLXJ1c3NpYW4gPSAiJHtLRVlCT0FSRFNfRElSfS9YOF9SdXNzaWFuLmtiZCAke0tFWUJPQVJEU19ESVJ9L1g4LXJ1c3NpYW4tcnUucG5nIgorCitBVVRIT1JfaWxsdW1lLWtleWJvYXJkLXJ1c3NpYW4tdGVybWluYWwgPSAibHVja3kiCitERVNDUklQVElPTl9pbGx1bWUta2V5Ym9hcmQtcnVzc2lhbi10ZXJtaW5hbCA9ICJJbGx1bWUga2V5Ym9hcmQgd2l0aCBydXNzaWFuIGxheW91dCBmb3IgdGhlIFRlcm1pbmFsIgorRklMRVNfaWxsdW1lLWtleWJvYXJkLXJ1c3NpYW4tdGVybWluYWwgPSAiJHtLRVlCT0FSRFNfRElSfS9UZXJtaW5hbF9SdXNzaWFuLmtiZCAke0tFWUJPQVJEU19ESVJ9L1Rlcm1pbmFsLXJ1c3NpYW4tcnUucG5nIgorCitBVVRIT1JfaWxsdW1lLWtleWJvYXJkLXBlcnNpYW4gPSAic2xhdmUiCitERVNDUklQVElPTl9pbGx1bWUta2V5Ym9hcmQtcGVyc2lhbiA9ICJJbGx1bWUga2V5Ym9hcmQgd2l0aCBwZXJzaWFuIGxheW91dCIKK0ZJTEVTX2lsbHVtZS1rZXlib2FyZC1wZXJzaWFuID0gIiR7S0VZQk9BUkRTX0RJUn0vUGVyc2lhbi5rYmQgJHtLRVlCT0FSRFNfRElSfS9QZXJzaWFuLnBuZyIKKworZG9faW5zdGFsbCgpIHsKKyAgICBtYWtlIERFU1RESVI9JHtEfSBpbnN0YWxsCit9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L25ld3Nfc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvbmV3c19zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjA4Y2FiNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L25ld3Nfc3ZuLmJiCkBAIC0wLDAgKzEsMTQgQEAKK0xJQ0VOU0UgPSAiR1BMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitQViA9ICIwLjEuMCtzdm5yJHtTUkNQVn0iCitQUiA9ICIke0lOQ19QUn0uMCIKKworcmVxdWlyZSBlLW1vZHVsZS5pbmMKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgc2VkIC1pIC1lIC9wby9kIGNvbmZpZ3VyZS5hYyAKKyAgICBzZWQgLWkgLWUgczpcIHBvOjpnIE1ha2VmaWxlLmFtCit9CisKK1BOQkxBQ0tMSVNUW25ld3NdID89ICJpZiB5b3Ugd2FudCB0byB1c2UgdGhlc2UgbW9kdWxlcyB3aXRoIEUxOCwgdGhlbiB5b3UgbmVlZCB0byB1cGRhdGUgaXQgdG8gZ2l0IHJlY2lwZSBmZXRjaGluZyBuZXdlciBzb3VyY2VzIGZyb20gaHR0cDovL2dpdC5lbmxpZ2h0ZW5tZW50Lm9yZy9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvbmV3cy5naXQvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvcGxhY2VzL2NvbmZpZ3VyZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L3BsYWNlcy9jb25maWd1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjhmNDgzNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L3BsYWNlcy9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorSW5kZXg6IHBsYWNlcy9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBwbGFjZXMub3JpZy9jb25maWd1cmUuYWMJMjAxNC0wNy0xNyAyMTo1MTowMS4yNzY1NzQwMTcgKzAwMDAKKysrKyBwbGFjZXMvY29uZmlndXJlLmFjCTIwMTQtMDctMTcgMjE6NTI6MDcuMDk2NTc1ODEwICswMDAwCitAQCAtMTAsNyArMTAsNyBAQAorIEFDX0NBTk9OSUNBTF9IT1NUCisgQUNfSVNDX1BPU0lYCisgCistQU1fSU5JVF9BVVRPTUFLRSgxLjgpCisrQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbl0pCisgbTRfaWZkZWYoW0FNX1NJTEVOVF9SVUxFU10sIFtBTV9TSUxFTlRfUlVMRVMoW3llc10pXSkKKyBBTV9DT05GSUdfSEVBREVSKGNvbmZpZy5oKQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvcGxhY2VzX3N2bi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L3BsYWNlc19zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTRmMGUwMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L3BsYWNlc19zdm4uYmIKQEAgLTAsMCArMSwxNiBAQAorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zNDQ4OTVmMjUzYzMyZjM4ZTE4MmRjYWYzMGZlOGEzNSIKKworUFYgPSAiMC4xLjArc3ZuciR7U1JDUFZ9IgorUFIgPSAiJHtJTkNfUFJ9LjAiCisKK3JlcXVpcmUgZS1tb2R1bGUuaW5jCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIGF1dG9wb2ludCB8fCB0b3VjaCBjb25maWcucnBhdGgKK30KKworIyBDYWxscyAvdXNyL2Jpbi9lamVjdCBmb3IgbWVkaWEKK1JSRUNPTU1FTkRTXyR7UE59ICs9ICJlamVjdCIKKworU1JDX1VSSSArPSAiZmlsZTovL2NvbmZpZ3VyZS5wYXRjaCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L3JhZ2Vfc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvcmFnZV9zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTY1YWE5ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L3JhZ2Vfc3ZuLmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiUmFnZSBpcyBhIG1lZGlhIGNlbnRlciBhcHBsaWNhdGlvbiBiYXNlZCBvbiBFRkwiCitBVVRIT1IgPSAiQ2Fyc3RlbiAnVGhlIFJhc3Rlcm1hbicgSGFpdHpsZXIiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnJhc3Rlcm1hbi5jb20iCitMSUNFTlNFID0gIk1JVCAmIEJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM0NDg5NWYyNTNjMzJmMzhlMTgyZGNhZjMwZmU4YTM1IgorREVQRU5EUyA9ICJlbW90aW9uIGV2YXMgZWNvcmUgZWRqZSIKK1NFQ1RJT04gPSAieDExL211bHRpbWVkaWEiCitQViA9ICIwLjMuMC4wNDIrc3ZuciR7U1JDUFZ9IgorU1JDUkVWID0gIiR7RUZMX1NSQ1JFVn0iCisKK2luaGVyaXQgZQorU1JDX1VSSSA9ICIke0VfU1ZOfS90cnVuazttb2R1bGU9JHtTUkNOQU1FfTtwcm90b2NvbD1odHRwO3NjbWRhdGE9a2VlcCIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9IgorCitQTkJMQUNLTElTVFtyYWdlXSA/PSAiaWYgeW91IHdhbnQgdG8gdXNlIHRoZXNlIG1vZHVsZXMgd2l0aCBFMTgsIHRoZW4geW91IG5lZWQgdG8gdXBkYXRlIGl0IHRvIGdpdCByZWNpcGUgZmV0Y2hpbmcgbmV3ZXIgc291cmNlcyBmcm9tICBodHRwOi8vZ2l0LmVubGlnaHRlbm1lbnQub3JnL2FwcHMvcmFnZS5naXQvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvcmFpbi9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9yYWluL2NvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44N2M4NWRlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvcmFpbi9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorSW5kZXg6IGNwdS9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjcHUub3JpZy9jb25maWd1cmUuYWMJMjAxNC0wNy0xNyAyMDozOTo0OC4wMDAwMDAwMDAgKzAwMDAKKysrKyBjcHUvY29uZmlndXJlLmFjCTIwMTQtMDctMTcgMjE6Mzk6NTUuMzIwNTU1ODY4ICswMDAwCitAQCAtMTAsNyArMTAsNyBAQAorIEFDX0NBTk9OSUNBTF9IT1NUCisgQUNfSVNDX1BPU0lYCisgCistQU1fSU5JVF9BVVRPTUFLRSgxLjYpCisrQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbl0pCisgQU1fQ09ORklHX0hFQURFUihjb25maWcuaCkKKyBtNF9pZmRlZihbQU1fU0lMRU5UX1JVTEVTXSwgW0FNX1NJTEVOVF9SVUxFUyhbeWVzXSldKQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvcmFpbl9zdm4uYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9yYWluX3N2bi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZjY3YTRjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvcmFpbl9zdm4uYmIKQEAgLTAsMCArMSwxNiBAQAorTElDRU5TRSA9ICJNSVQiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM0NDg5NWYyNTNjMzJmMzhlMTgyZGNhZjMwZmU4YTM1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkctUExBSU47bWQ1PWM5MTBiNjQ1ZWRhMDAwNWNjZWM0NmY3NTIwM2RjOTZlIgorCitQViA9ICIwLjAuMytzdm5yJHtTUkNQVn0iCitQUiA9ICIke0lOQ19QUn0uMCIKKworcmVxdWlyZSBlLW1vZHVsZS5pbmMKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgc2VkIC1pIC1lIC9wby9kICR7U30vY29uZmlndXJlLmFjIAorICAgIHNlZCAtaSAtZSBzOlwgcG86OmcgJHtTfS9NYWtlZmlsZS5hbQorfQorCitTUkNfVVJJICs9ICJmaWxlOi8vY29uZmlndXJlLnBhdGNoIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvc2NyZWVuc2hvdC9zY3JlZW5zaG90LWZpeC1ta2luc3RhbGxkaXJzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvc2NyZWVuc2hvdC9zY3JlZW5zaG90LWZpeC1ta2luc3RhbGxkaXJzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0ZjExNDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9zY3JlZW5zaG90L3NjcmVlbnNob3QtZml4LW1raW5zdGFsbGRpcnMucGF0Y2gKQEAgLTAsMCArMSwyMyBAQAorRnJvbTogRG1pdHJ5IEVyZW1pbi1Tb2xlbmlrb3YgPGRiYXJ5c2hrb3ZAZ21haWwuY29tPgorU3ViamVjdDogZml4IHNjcmVlbnNob3QgcG8vIGJ1aWxkaW5nCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU29tZWhvdyBjb25maWd1cmUgZG9lc24ndCBzdWJzdGl0dXRlIEBNS0lOU1RBTExESVJTQCBieSBkZWZhdWx0IGFueW1vcmUsCitob3dldmVyIHRoaXMgc3Vic3RpdHV0aW9uIGlzIHJlcXVpcmVkIGZvciBwby9NYWtlZmlsZQorCitGaXggdGhhdCBieSBjYWxsaW5nIEFNX01LSU5TVEFMTERJUlMgZnJvbSBjb25maWd1cmUuYWMKKworU2lnbmVkLW9mZi1ieTogRG1pdHJ5IEVyZW1pbi1Tb2xlbmlrb3YgPGRiYXJ5c2hrb3ZAZ21haWwuY29tPgorCitJbmRleDogRS1NT0RVTEVTLUVYVFJBL3NjcmVlbnNob3QvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gRS1NT0RVTEVTLUVYVFJBLm9yaWcvc2NyZWVuc2hvdC9jb25maWd1cmUuYWMJMjAxMS0wOC0xNyAxNTo0OToyMi4wMDAwMDAwMDAgKzA0MDAKKysrKyBFLU1PRFVMRVMtRVhUUkEvc2NyZWVuc2hvdC9jb25maWd1cmUuYWMJMjAxMS0wOC0xNyAxNTo0OTozNC4wMDAwMDAwMDAgKzA0MDAKK0BAIC0yNCw2ICsyNCw3IEBACisgZGVmaW5lKFtBQ19MSUJUT09MX0xBTkdfRjc3X0NPTkZJR10sIFs6XSlkbmwKKyBBQ19QUk9HX0xJQlRPT0wKKyAKKytBTV9NS0lOU1RBTExESVJTCisgbTRfaWZkZWYoW0FNX0dOVV9HRVRURVhUX1ZFUlNJT05dLCBbCisgQU1fR05VX0dFVFRFWFRfVkVSU0lPTihbMC4xNF0pCisgXSkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L3NjcmVlbnNob3Rfc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvc2NyZWVuc2hvdF9zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmRlYzE5NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L3NjcmVlbnNob3Rfc3ZuLmJiCkBAIC0wLDAgKzEsMTYgQEAKK0xJQ0VOU0UgPSAiTUlUIgorUFYgPSAiMC4zLjArc3ZuciR7U1JDUkVWfSIKK1BSID0gIiR7SU5DX1BSfS4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzQ0ODk1ZjI1M2MzMmYzOGUxODJkY2FmMzBmZThhMzUiCitTUkNfVVJJICs9ICJmaWxlOi8vc2NyZWVuc2hvdC1maXgtbWtpbnN0YWxsZGlycy5wYXRjaCIKKworcmVxdWlyZSBlLW1vZHVsZS5pbmMKKworREVQRU5EUyArPSAiZW1wcmludCIKK1JERVBFTkRTXyR7UE59ICs9ICJlbXByaW50IgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgLWUgJ3M6QUNfTVNHX0VSUk9SKGVtcHJpbnQgbm90IGZvdW5kKTplY2hvIGZvbzpnJyAke1N9L2NvbmZpZ3VyZS5hYworfQorCitQTkJMQUNLTElTVFtzY3JlZW5zaG90XSA/PSAiZGVwZW5kcyBvbiBibGFja2xpc3RlZCBlbXByaW50IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvdGVybWlub2xvZ3kuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvdGVybWlub2xvZ3kuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0Zjc4OWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy90ZXJtaW5vbG9neS5pbmMKQEAgLTAsMCArMSwyMiBAQAorREVTQ1JJUFRJT04gPSAiRW5saWdodGVubWVudCBUZXJtaW5hbCBFbXVsYXRvciIKK0xJQ0VOU0UgPSAiTUlUICYgQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGVmYWM2YjA1YjMyNTZiYTdkYTY2MzAxYWMxZWU2YzYiCitERVBFTkRTID0gImV2YXMgZWNvcmUgZWRqZSBlbGVtZW50YXJ5IGVpbmEgZWV0IGVtb3Rpb24iCisKK2luaGVyaXQgZSBnZXR0ZXh0CisKKyMgQmVjYXVzZSBsYXRlc3QgcmVsZWFzZSB3ZSBoYXZlIGlzIDAuMS4wIHdoaWNoIHNvcnRzIGxvd2VyIHRoZW4gMC4xLjArc3ZuciR7U1JDUFZ9IGFscmVhZHkgaW4gZmVlZHMKK1BFID0gIjIiCisKK0VYVFJBX09FQ09ORiA9ICJcCisgICAgLS13aXRoLWVkamUtY2M9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2VkamVfY2MgXAorIgorCitGSUxFU18ke1BOfSArPSAiXAorICAgICR7ZGF0YWRpcn0vaWNvbnMvdGVybWlub2xvZ3kucG5nIFwKKyIKKworIyBkb2Vzbid0IHN0YXJ0IHdpdGhvdXQgb3duIHRoZW1lCisjIEVSUjw3NzA+OnRlcm1pbm9sb2d5IHV0aWxzLmM6MjYgdGhlbWVfYXBwbHkoKSBDb3VsZCBub3QgbG9hZCBhbnkgdGhlbWUgZm9yIGdyb3VwPXRlcm1pbm9sb2d5L2JhY2tncm91bmQ6IE5vIEVycm9yCisjIENSSTw3NzA+OnRlcm1pbm9sb2d5IG1haW4uYzo0NDggZWxtX21haW4oKSBDb3VsZG4ndCBmaW5kIHRlcm1pbm9sb2d5IHRoZW1lISBGb3Jnb3QgJ21ha2UgaW5zdGFsbCc/CitSREVQRU5EU18ke1BOfSArPSAiJHtQTn0tdGhlbWVzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvdGVybWlub2xvZ3lfMC45LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy90ZXJtaW5vbG9neV8wLjkuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ODJiZDYwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvdGVybWlub2xvZ3lfMC45LjEuYmIKQEAgLTAsMCArMSw4IEBACityZXF1aXJlICR7QlBOfS5pbmMKKworU1JDX1VSSSA9ICJcCisgICAgJHtFX1JFTEVBU0VTfS9hcHBzLyR7U1JDTkFNRX0vJHtTUkNOQU1FfS0ke1NSQ1ZFUn0udGFyLmd6IFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gImM3Y2UyZThlYmM1ZjMxMWQzZDNmNTllY2ZkZjE4ZjYxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdmYjg2NGExNDIwMjQ5MGU5MTgxYzVmMjU0YTdlNzcyMDE5MjE2YTNhYTc1YzM5NTJkMGYxMmNkMzIxMTM4OTYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy91cHRpbWUvY29uZmlndXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvdXB0aW1lL2NvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44N2M4NWRlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvdXB0aW1lL2NvbmZpZ3VyZS5wYXRjaApAQCAtMCwwICsxLDEzIEBACitJbmRleDogY3B1L2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNwdS5vcmlnL2NvbmZpZ3VyZS5hYwkyMDE0LTA3LTE3IDIwOjM5OjQ4LjAwMDAwMDAwMCArMDAwMAorKysrIGNwdS9jb25maWd1cmUuYWMJMjAxNC0wNy0xNyAyMTozOTo1NS4zMjA1NTU4NjggKzAwMDAKK0BAIC0xMCw3ICsxMCw3IEBACisgQUNfQ0FOT05JQ0FMX0hPU1QKKyBBQ19JU0NfUE9TSVgKKyAKKy1BTV9JTklUX0FVVE9NQUtFKDEuNikKKytBTV9JTklUX0FVVE9NQUtFKFtmb3JlaWduXSkKKyBBTV9DT05GSUdfSEVBREVSKGNvbmZpZy5oKQorIG00X2lmZGVmKFtBTV9TSUxFTlRfUlVMRVNdLCBbQU1fU0lMRU5UX1JVTEVTKFt5ZXNdKV0pCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy91cHRpbWVfc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvdXB0aW1lX3N2bi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzliZmE5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvdXB0aW1lX3N2bi5iYgpAQCAtMCwwICsxLDEwIEBACitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM0NDg5NWYyNTNjMzJmMzhlMTgyZGNhZjMwZmU4YTM1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkctUExBSU47bWQ1PWM5MTBiNjQ1ZWRhMDAwNWNjZWM0NmY3NTIwM2RjOTZlIgorCitQViA9ICIwLjAuMitzdm5yJHtTUkNSRVZ9IgorUFIgPSAiJHtJTkNfUFJ9LjAiCisKK3JlcXVpcmUgZS1tb2R1bGUuaW5jCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9jb25maWd1cmUucGF0Y2giCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy93YWtlci8wMDAxLXdha2VyLXJlbW92ZS1vbGQtZWNvcmVfc3RyaW5nX2luaXQtYW5kLWVjb3JlX3N0cmluZ18ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy93YWtlci8wMDAxLXdha2VyLXJlbW92ZS1vbGQtZWNvcmVfc3RyaW5nX2luaXQtYW5kLWVjb3JlX3N0cmluZ18ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmU5ZDEwNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L3dha2VyLzAwMDEtd2FrZXItcmVtb3ZlLW9sZC1lY29yZV9zdHJpbmdfaW5pdC1hbmQtZWNvcmVfc3RyaW5nXy5wYXRjaApAQCAtMCwwICsxLDU0IEBACitGcm9tIGI2Mjk2OTU4ZDU1MTZhNzM1MDUzZWU0MTQwZTg1ZTJiM2E4OTYxODIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitEYXRlOiBTdW4sIDMwIEphbiAyMDExIDAwOjI3OjU3ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHdha2VyOiByZW1vdmUgb2xkIGVjb3JlX3N0cmluZ19pbml0IGFuZCBlY29yZV9zdHJpbmdfc2h1dGRvd24KKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgc3JjL2Jpbi93YWtlcl9tYWluLmMgfCAgICAyIC0tCisgc3JjL2Jpbi93YWtlcl90b29sLmMgfCAgICAyIC0tCisgMiBmaWxlcyBjaGFuZ2VkLCAwIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvYmluL3dha2VyX21haW4uYyBiL3NyYy9iaW4vd2FrZXJfbWFpbi5jCitpbmRleCBiMjI5Y2YwLi5kZDU0YjMxIDEwMDY0NAorLS0tIGEvc3JjL2Jpbi93YWtlcl9tYWluLmMKKysrKyBiL3NyYy9iaW4vd2FrZXJfbWFpbi5jCitAQCAtNTY4LDcgKzU2OCw2IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorICAgIEVfREJ1c19Db25uZWN0aW9uICpjOworICAgIAorICAgIGVjb3JlX2luaXQoKTsKKy0gICBlY29yZV9zdHJpbmdfaW5pdCgpOworICAgIGVjb3JlX2FwcF9hcmdzX3NldChhcmdjLCAoY29uc3QgY2hhciAqKilhcmd2KTsKKyAgICBlX2RidXNfaW5pdCgpOworICAgIAorQEAgLTU4Niw3ICs1ODUsNiBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKKyAgICAgCisgICAgZV9kYnVzX2Nvbm5lY3Rpb25fY2xvc2UoYyk7CisgICAgZV9kYnVzX3NodXRkb3duKCk7CistICAgZWNvcmVfc3RyaW5nX3NodXRkb3duKCk7CisgICAgZWNvcmVfc2h1dGRvd24oKTsKKyAgICAKKyAgICByZXR1cm4gMDsKK2RpZmYgLS1naXQgYS9zcmMvYmluL3dha2VyX3Rvb2wuYyBiL3NyYy9iaW4vd2FrZXJfdG9vbC5jCitpbmRleCAzMzQ0ZmQyLi41MjUxNWM5IDEwMDY0NAorLS0tIGEvc3JjL2Jpbi93YWtlcl90b29sLmMKKysrKyBiL3NyYy9iaW4vd2FrZXJfdG9vbC5jCitAQCAtOTMsNyArOTMsNiBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKKyAgICAgIH0KKyAgICAKKyAgICBlY29yZV9pbml0KCk7CistICAgZWNvcmVfc3RyaW5nX2luaXQoKTsKKyAgICBlY29yZV9hcHBfYXJnc19zZXQoYXJnYywgKGNvbnN0IGNoYXIgKiopYXJndik7CisgICAgZV9kYnVzX2luaXQoKTsKKyAgICAKK0BAIC0zMDEsNyArMzAwLDYgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgICAgCisgICAgZV9kYnVzX2Nvbm5lY3Rpb25fY2xvc2UoYyk7CisgICAgZV9kYnVzX3NodXRkb3duKCk7CistICAgZWNvcmVfc3RyaW5nX3NodXRkb3duKCk7CisgICAgZWNvcmVfc2h1dGRvd24oKTsKKyAgICAKKyAgICByZXR1cm4gMDsKKy0tIAorMS43LjQucmMzCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2F6eV9zdm4uYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9henlfc3ZuLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlYzI0NzUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9henlfc3ZuLmJiCkBAIC0wLDAgKzEsMzcgQEAKK0RFU0NSSVBUSU9OID0gIkF6eSBpcyBhIGxpYnJhcnkgbWVhbnQgZm9yIGltcGxlbWVudGluZyBycGMgY2xpZW50cyBhbmQgc2VydmVycyBpbiBhIHNpbXBsZSBtYW5uZXIuIgorREVQRU5EUyA9ICJwa2djb25maWcgemxpYiBvcGVuc3NsIGVpbmEgZ251dGxzIGVjb3JlIGxpYnhtbDIgcmUyYy1uYXRpdmUgbXlzcWw1IGF6eS1uYXRpdmUgZ2xpYi0yLjAiCitERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICJwa2djb25maWctbmF0aXZlIHpsaWItbmF0aXZlIG9wZW5zc2wtbmF0aXZlIGVpbmEtbmF0aXZlIGdudXRscy1uYXRpdmUgZWNvcmUtbmF0aXZlIGxpYnhtbDItbmF0aXZlIHJlMmMtbmF0aXZlIG15c3FsNS1uYXRpdmUgZ2xpYi0yLjAtbmF0aXZlIgorTElDRU5TRSA9ICJMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyIKKworUFYgPSAiMS4wLjArc3ZuciR7U1JDUFZ9IgorUFIgPSAicjIiCisKK1NSQ1JFViA9ICIke0VGTF9TUkNSRVZ9IgorCisjIHRvIHByb3ZpZGUgbmF0aXZlIGxlbW9uIGJpbmFyeQorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK0VYVFJBX09FQ09ORiArPSAiIC0tZGlzYWJsZS1teXNxbC10ZXN0cyIKKworZG9fY29uZmlndXJlX3ByZXBlbmRfY2xhc3MtdGFyZ2V0KCkgeworICAgIHNlZCAtaSAicyNcLi9sZW1vbiMke1NUQUdJTkdfQklORElSX05BVElWRX0vYXp5X2xlbW9uI2ciICR7U30vc3JjL2Jpbi9NYWtlZmlsZS5hbQorICAgIHNlZCAtaSAicyNcJCh0b3BfYnVpbGRkaXIpL3NyYy9iaW4vYXp5X3BhcnNlciAtSCAtcCAtbyMke1NUQUdJTkdfQklORElSX05BVElWRX0vYXp5X3BhcnNlciAtSCAtcCAtbyNnIiAke1N9L3NyYy90ZXN0cy9NYWtlZmlsZS5hbQorICAgIHNlZCAtaSAicyNcJCh0b3BfYnVpbGRkaXIpL3NyYy9iaW4vYXp5X3BhcnNlciAtZUhuIC1tIyR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9henlfcGFyc2VyIC1lSG4gLW0jZyIgJHtTfS9zcmMvdGVzdHMvaWRlbnRpLmNhL01ha2VmaWxlLmFtCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7Qn0vc3JjL2Jpbi9sZW1vbiAke0R9LyR7YmluZGlyfS9henlfbGVtb24KK30KKworaW5oZXJpdCBlZmwKKworU1JDX1VSSSA9ICIke0VfU1ZOfS90cnVuay9QUk9UTzttb2R1bGU9JHtTUkNOQU1FfTtwcm90b2NvbD1odHRwO3NjbWRhdGE9a2VlcCIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9IgorCisjIGF6eS8yXzEuMC4wK3N2bnI4MjA3MC1yMi9henkvc3JjL2xpYi9leHRyYXMvcHVnaXhtbC5jcHA6MzM6CisjIHN5c3Jvb3RzL3FlbXVhcm0vdXNyL2luY2x1ZGUvYysrLzUuMi4wL2JpdHMvYmFzaWNfc3RyaW5nLmg6NDc4MDo1OiBlcnJvcjogcmVmZXJlbmNlIHRvICdiYXNpY19zdHJpbmcnIGlzIGFtYmlndW91cworIyAgICAgYmFzaWNfc3RyaW5nPF9DaGFyVCwgX1RyYWl0cywgX0FsbG9jPgorIyAgICAgXgorUE5CTEFDS0xJU1RbYXp5XSA/PSAiT0xEIGFuZCBkb2Vzbid0IGJ1aWxkIHdpdGggZ2NjLTUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lLXdtLWlsbHVtZS1kaWN0LXBsX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2Utd20taWxsdW1lLWRpY3QtcGxfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1N2FkY2QKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lLXdtLWlsbHVtZS1kaWN0LXBsX2dpdC5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIlBvbGlzaCBkaWN0aW9uYXJ5IGZvciBJbGx1bWUga2V5Ym9hcmQiCitTRUNUSU9OID0gIngxMS9kYXRhIgorU1JDUkVWID0gIjM4ZmRkOWJiMGQ4Mjk2ZTk4NGJiNjQ0MzQ2NjgwMWVlYTZmNjJmMDAiCitQViA9ICIxLjArZ2l0ciR7U1JDUFZ9IgorUEUgPSAiMSIKK0xJQ0VOU0UgPSAiTUlUICYgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZjUyM2FiNTk4NmNjNzliNTJhOTBkMmFjM2Q1NDU0YTIiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LnNoci1wcm9qZWN0Lm9yZy9yZXBvL3Noci10aGVtZXMuZ2l0O3Byb3RvY29sPWh0dHA7YnJhbmNoPW1hc3RlciIKKworUyA9ICIke1dPUktESVJ9L2dpdC9lLXdtLyR7UE59IgorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vZW5saWdodGVubWVudC9tb2R1bGVzL2lsbHVtZS9kaWN0cy9Qb2xpc2guZGljIgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvaWxsdW1lL2RpY3RzCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vUG9saXNoLmRpYyAgICAgICAgJHtEfSR7bGliZGlyfS9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvaWxsdW1lL2RpY3RzL1BvbGlzaC5kaWMKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2Vjb3JlL2ZpeC1lY29yZS1mYi1pbml0aWFsaXphdGlvbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2Vjb3JlL2ZpeC1lY29yZS1mYi1pbml0aWFsaXphdGlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTc3M2EzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWNvcmUvZml4LWVjb3JlLWZiLWluaXRpYWxpemF0aW9uLnBhdGNoCkBAIC0wLDAgKzEsNDEgQEAKK0Zyb20gNjU3NTcxMTk3YzlkMzY5ZTEyYWUzMWI2Nzc3YTE5MjlmZTM2ODBlZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFNhdCwgMjkgT2N0IDIwMTEgMDA6MTY6NTUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gZWNvcmUtZmI6IGZpeCB0cyBpbml0CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitUaGUgd2hvbGUgZWNvcmUtZmIgaW5pdCBsb2dpYyBpcyBzb21ld2hhdCBmbGF3ZWQ7IHdpdGggdGhpcyBwYXRjaCB3ZQorZ2V0IGF0IGxlYXN0IGEgd29ya2luZyB0b3VjaHNjcmVlbiB3LyB0c2xpYiBhZ2Fpbi4KKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCAnTWlja2V5JyBMYXVlciA8bWxhdWVyQHZhbmlsbGUtbWVkaWEuZGU+CitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBlY29yZS9zcmMvbGliL2Vjb3JlX2ZiL2Vjb3JlX2ZiLmMgfCAgICA0ICsrKysKKyAxIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9saWIvZWNvcmVfZmIvZWNvcmVfZmIuYyBiL3NyYy9saWIvZWNvcmVfZmIvZWNvcmVfZmIuYworaW5kZXggNWIyYjg0Yi4uYTE5MDRiMyAxMDA2NDQKKy0tLSBhL3NyYy9saWIvZWNvcmVfZmIvZWNvcmVfZmIuYworKysrIGIvc3JjL2xpYi9lY29yZV9mYi9lY29yZV9mYi5jCitAQCAtNDYsNiArNDYsOSBAQCBlY29yZV9mYl9pbml0KGNvbnN0IGNoYXIgKm5hbWUgX19VTlVTRURfXykKKyAgICBpZiAoIWVjb3JlX2ZiX3Z0X2luaXQoKSkKKyAgICAgICByZXR1cm4gLS1fZWNvcmVfZmJfaW5pdF9jb3VudDsKKyAKKysgICBpZiAoIWVjb3JlX2ZiX3RzX2luaXQoKSkKKysgICAgICByZXR1cm4gLS1fZWNvcmVfZmJfaW5pdF9jb3VudDsKKysKKyAgICBpZiAoIW9sZGhhbmQpCisgICAgICB7CisgICAgICAgICBvbGRoYW5kID0gc2lnbmFsKFNJR0lOVCwgbm9zaWdpbnQpOworQEAgLTc3LDYgKzgwLDcgQEAgZWNvcmVfZmJfc2h1dGRvd24odm9pZCkKKyAgICAgICAgIG9sZGhhbmQgPSBOVUxMOworICAgICAgfQorICAgIAorKyAgIGVjb3JlX2ZiX3RzX3NodXRkb3duKCk7CisgICAgZWNvcmVfZmJfdnRfc2h1dGRvd24oKTsKKyAKKyAgICByZXR1cm4gX2Vjb3JlX2ZiX2luaXRfY291bnQ7CistLSAKKzEuNy44LjYKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWRiX3N2bi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VkYl9zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2M2YWJkYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VkYl9zdm4uYmIKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJFZGIgaXMgdGhlIEVubGlnaHRlbm1lbnQgZGF0YWJhc2UgbGlicmFyeSIKK0xJQ0VOU0UgPSAiTUlUICYgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDhhN2MwOGRmM2JjMzI4MDIwOGI5NTliZTcyMTVjMjUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy1QTEFJTjttZDU9ZjU5Y2FjYzA4MjM1YTU0NmIwYzM0YTU0MjIxMzMwMzUiCisKK0RFUEVORFMgPSAiemxpYiIKK1BWID0gIjEuMC41LjA1MCtzdm5yJHtTUkNQVn0iCitTUkNSRVYgPSAiJHtFRkxfU1JDUkVWfSIKKworaW5oZXJpdCBlZmwKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbbmN1cnNlc10gPSAiLS1lbmFibGUtbmN1cnNlcywtLWRpc2FibGUtbmN1cnNlcyxuY3Vyc2VzIgorCitTUkNfVVJJID0gIiR7RV9TVk59L09MRDttb2R1bGU9JHtTUkNOQU1FfTtwcm90b2NvbD1odHRwO3NjbWRhdGE9a2VlcCIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWRidXMuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWRidXMuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzZDBlZTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lZGJ1cy5pbmMKQEAgLTAsMCArMSwyOSBAQAorREVTQ1JJUFRJT04gPSAiREJ1cyBhbmQgSEFMIGNvbnZlbmllbmNlIHdyYXBwZXJzIGZvciBFRkwiCitERVBFTkRTID0gImRidXMgZWNvcmUgZWluYSIKK0xJQ0VOU0UgPSAiTUlUICYgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTUwYjhjZWExM2RhY2M0YmYwMDUwOGE4Y2NlMTA3NGMiCisKK2luaGVyaXQgZWZsCisKKyMgLWRldiBhbmQgLWRiZyBwYWNrYWdlcyB3YW50cyAke1BOfSB3aGljaCBpcyBlbXB0eSBoZXJlCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKK0lOQ19QUiA9ICJyMCIKKworU1JDTkFNRSA9ICJlX2RidXMiCisKKyMgaXQgbmVlZHMgdG8gYmUgZGlzYWJsZWQsIGJlY2F1c2UgY3JlYXRlcyBjaXJjdWxhciBkZXBlbmRlbmN5IG9uIGVsZW1lbnRhcnkKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWVkYnVzLXBlcmZvcm1hbmNlLXRlc3QiCisKK1BBQ0tBR0VTID0rICIke1BOfS1lbm90aWZ5ICR7UE59LWVkYnVzICR7UE59LWVubSAke1BOfS1laGFsICR7UE59LWVjb25ubWFuICR7UE59LWVvZm9ubyAke1BOfS1ldWtpdCAke1BOfS1lYmx1ZXoiCitGSUxFU18ke1BOfS1lbm90aWZ5ID0gIiR7bGliZGlyfS9saWJlbm90aWZ5LnNvLiogJHtiaW5kaXJ9L2Utbm90aWZ5LXNlbmQiCitGSUxFU18ke1BOfS1lZGJ1cyA9ICIke2xpYmRpcn0vbGliZWRidXMuc28uKiIKK0ZJTEVTXyR7UE59LWVubSA9ICIke2xpYmRpcn0vbGliZW5tLnNvLioiCitGSUxFU18ke1BOfS1laGFsID0gIiR7bGliZGlyfS9saWJlaGFsLnNvLioiCitGSUxFU18ke1BOfS1lY29ubm1hbiA9ICIke2xpYmRpcn0vbGliZWNvbm5tYW4uc28uKiAke2xpYmRpcn0vbGliZWNvbm5tYW4wXzd4LnNvLioiCitGSUxFU18ke1BOfS1lb2Zvbm8gPSAiJHtsaWJkaXJ9L2xpYmVvZm9uby5zby4qIgorRklMRVNfJHtQTn0tZXVraXQgPSAiJHtsaWJkaXJ9L2xpYmV1a2l0LnNvLioiCitGSUxFU18ke1BOfS1lYmx1ZXogPSAiJHtsaWJkaXJ9L2xpYmVibHVlei5zby4qIgorRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZV9kYnVzL2xvZ28ucG5nIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lZGJ1c18xLjcuOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VkYnVzXzEuNy45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0ZTc3ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lZGJ1c18xLjcuOS5iYgpAQCAtMCwwICsxLDggQEAKK3JlcXVpcmUgJHtCUE59LmluYworCitTUkNfVVJJID0gIlwKKyAgICAke0VfTUlSUk9SfS8ke1NSQ05BTUV9LSR7U1JDVkVSfS50YXIuZ3ogXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOGY3MmRhMTRlNTY2NGFhZDhjNDVlZWVjYTBlM2ZmNWYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzMyOGM0Y2YxNDI0NjI5Y2I2N2M4MzY4OWNjYzFmOTU5NjdhYmNiNGMwM2RmZmQ0MzdlOTNiNzk5ZmYxNTFjMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VkamUtZnB1LmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VkamUtZnB1LmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjJhYWNmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWRqZS1mcHUuaW5jCkBAIC0wLDAgKzEsNiBAQAorCitkZWYgZ2V0X2VkamVfZnB1X3NldHRpbmcoYmIsIGQpOgorICAgIGlmIGQuZ2V0VmFyKCdUQVJHRVRfRlBVJywgMSkgaW4gWyAnc29mdCcgXToKKyAgICAgICAgcmV0dXJuICItLWVuYWJsZS1maXhlZC1wb2ludCIKKyAgICByZXR1cm4gIiIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWZsLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VmbC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzFhZmY4NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VmbC5pbmMKQEAgLTAsMCArMSwyODcgQEAKK1NVTU1BUlkgPSAiRUZMIgorTElDRU5TRSA9ICJNSVQgJiBCU0QgJiBMR1BMLTIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWNhNzg3MzIxMDUyM2RjZmQzMjY5NGI5NDI4NmRjYTYwIgorCitERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICJmcmVldHlwZS1uYXRpdmUgbGlieGV4dC1uYXRpdmUgbGlicG5nLW5hdGl2ZSBqcGVnLW5hdGl2ZSB0aWZmLW5hdGl2ZSBsaWJmcmliaWRpLW5hdGl2ZSBnbGliLTIuMC1uYXRpdmUgZGJ1cy1uYXRpdmUgb3BlbnNzbC1uYXRpdmUiCitERVBFTkRTID0gInZpcnR1YWwvbGliaWNvbnYgdHNsaWIgY3VybCBnbGliLTIuMCBnbnV0bHMgcGtnY29uZmlnIHpsaWIganBlZyBvcGVuc3NsIGxpYnNuZGZpbGUxIGRidXMgbGliZXhpZiBsaWJyc3ZnIGZyZWV0eXBlIGxpYnBuZyB0aWZmIGxpYnhleHQgdmlydHVhbC9saWJ4MTEgbGlieGRhbWFnZSBsaWJ4cmVuZGVyIGZvbnRjb25maWcgbGliZnJpYmlkaSBnaWZsaWIgdWRldiBsaWJ4Y3Vyc29yIGxpYnhjb21wb3NpdGUgbGlieGluZXJhbWEgbGlieHJhbmRyIGxpYnh0c3QgbGlieHNjcm5zYXZlciBlZmwtbmF0aXZlIHV0aWwtbGludXggbGlidW53aW5kIgorCitpbmhlcml0IGVmbCBnZXR0ZXh0IHBrZ2NvbmZpZworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworUFJPVklERVMgKz0gImVjb3JlIGVkamUgZWV0IGVlemUgZWZyZWV0IGVpbmEgZWlvIGVtYnJ5byBlbW90aW9uIGV0aHVtYiBldmFzIGVsZGJ1cyIKKworIyB3ZSBkb24ndCBoYXZlIGJ1bGxldCBmb3IgcGh5c2ljcworIyBZb3UgaGF2ZSBjaG9zZW4gdG8gZGlzYWJsZSBwaHlzaWNzIHN1cHBvcnQuIFRoaXMgZGlzYWJsZXMgbG90cyBvZgorIyBjb3JlIGZ1bmN0aW9uYWxpdHkgYW5kIGlzIGVmZmVjdGl2ZWx5IG5ldmVyIHRlc3RlZC4gWW91IGFyZSBnb2luZworIyB0byBmaW5kIGZlYXR1cmVzIHRoYXQgc3VkZGVubHkgZG9uJ3Qgd29yayBhbmQgYXMgYSByZXN1bHQgY2F1c2UKKyMgYSBzZXJpZXMgb2YgYnJlYWthZ2VzLiBUaGlzIGlzIHNpbXBseSBub3QgdGVzdGVkIHNvIHlvdSBhcmUgb24KKyMgeW91ciBvd24gaW4gdGVybXMgb2YgZW5zdXJpbmcgZXZlcnl0aGluZyB3b3JrcyBpZiB5b3UgZG8gdGhpcworRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS1kaXNhYmxlLXBoeXNpY3MgXAorICAgIC0tZW5hYmxlLWktcmVhbGx5LWtub3ctd2hhdC1pLWFtLWRvaW5nLWFuZC10aGF0LXRoaXMtd2lsbC1wcm9iYWJseS1icmVhay10aGluZ3MtYW5kLWktd2lsbC1maXgtdGhlbS1teXNlbGYtYW5kLXNlbmQtcGF0Y2hlcy1hYmEgXAorIgorRVhUUkFfT0VDT05GX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIFwKKyAgICAtLXdpdGgtZWRqZS1jYz0ke1NUQUdJTkdfQklORElSX05BVElWRX0vZWRqZV9jYyBcCisgICAgLS13aXRoLWVvbGlhbi1nZW49JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2VvbGlhbl9nZW4gXAorICAgIC0td2l0aC1lb2xpYW4tY3h4PSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9lb2xpYW5fY3h4IFwKKyAgICAtLXdpdGgtZWx1YT0ke1NUQUdJTkdfQklORElSX05BVElWRX0vZWx1YSBcCisiCitFWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgXAorICAgIC0tZGlzYWJsZS1mb250Y29uZmlnIFwKKyAgICAtLWRpc2FibGUtYXVkaW8gXAorICAgIC0tZGlzYWJsZS1waHlzaWNzIFwKKyAgICAtLWRpc2FibGUtbXVsdGlzZW5zZSBcCisgICAgLS1kaXNhYmxlLWNzZXJ2ZSBcCisgICAgLS1kaXNhYmxlLWxpYmVlemUgXAorICAgIC0td2l0aC14MTE9bm9uZSBcCisgICAgLS1kaXNhYmxlLWltYWdlLWxvYWRlci1ibXAgXAorICAgIC0tZGlzYWJsZS1pbWFnZS1sb2FkZXItZWV0IFwKKyAgICAtLWRpc2FibGUtaW1hZ2UtbG9hZGVyLWdlbmVyaWMgXAorICAgIC0tZGlzYWJsZS1pbWFnZS1sb2FkZXItZ2lmIFwKKyAgICAtLWRpc2FibGUtaW1hZ2UtbG9hZGVyLWljbyBcCisgICAgLS1kaXNhYmxlLWltYWdlLWxvYWRlci1qcDJrIFwKKyAgICAtLWRpc2FibGUtaW1hZ2UtbG9hZGVyLXBtYXBzIFwKKyAgICAtLWRpc2FibGUtaW1hZ2UtbG9hZGVyLXBzZCBcCisgICAgLS1kaXNhYmxlLWltYWdlLWxvYWRlci10Z2EgXAorICAgIC0tZGlzYWJsZS1pbWFnZS1sb2FkZXItd2JtcCBcCisgICAgLS1kaXNhYmxlLWltYWdlLWxvYWRlci13ZWJwIFwKKyAgICAtLWRpc2FibGUtaW1hZ2UtbG9hZGVyLXhwbSBcCisgICAgLS1kaXNhYmxlLWltYWdlLWxvYWRlci10Z3YgXAorICAgIC0tZGlzYWJsZS1pbWFnZS1sb2FkZXItZGRzIFwKKyIKKworUEFDS0FHRUNPTkZJRyA/PSAiZWdsIG9wZW5nbC1lcyBnc3RyZWFtZXIxIHB1bHNlYXVkaW8gbHVhaml0ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnd2F5bGFuZCcsICd3YXlsYW5kJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID0gImx1YWppdCIKKworUEFDS0FHRUNPTkZJR1t3YXlsYW5kXSA9ICItLWVuYWJsZS13YXlsYW5kIC0tZW5hYmxlLXdheWxhbmQtaXZpLXNoZWxsLC0tZGlzYWJsZS13YXlsYW5kIC0tZGlzYWJsZS13YXlsYW5kLWl2aS1zaGVsbCx3YXlsYW5kIgorUEFDS0FHRUNPTkZJR1tlZ2xdID0gIi0tZW5hYmxlLWVnbCwtLWRpc2FibGUtZWdsLHZpcnR1YWwvZWdsIgorIyBzb3J0IG9mIHRyaS1zdGF0ZQorUEFDS0FHRUNPTkZJR1tvcGVuZ2wtZnVsbF0gPSAiLS13aXRoLW9wZW5nbD1mdWxsLCx2aXJ0dWFsL2xpYmdsIgorUEFDS0FHRUNPTkZJR1tvcGVuZ2wtZXNdID0gIi0td2l0aC1vcGVuZ2w9ZXMsLHZpcnR1YWwvbGliZ2xlczIiCitQQUNLQUdFQ09ORklHW29wZW5nbC1ub25lXSA9ICItLXdpdGgtb3BlbmdsPW5vbmUsLCIKKyMgYmUgYXdhcmUgd2hlbiBlbmFibGluZyB0aGlzIGZvciBlZmwtbmF0aXZlLCB3ZSBkb24ndCBwcm92aWRlIGdjYy1uYXRpdmUgc28geW91IG5lZWQgdG8gbWFrZQorIyBzdXJlIHRoYXQgYWxsIHlvdXIgYnVpbGRlcnMgaGF2ZSBnKysgd2hpY2ggc3VwcG9ydHMgLXN0ZD1nbnUrKzExCitQQUNLQUdFQ09ORklHW2MrKzExXSA9ICItLWVuYWJsZS1jeHgtYmluZGluZ3MsLS1kaXNhYmxlLWN4eC1iaW5kaW5ncyIKK1BBQ0tBR0VDT05GSUdbZ3N0cmVhbWVyXSA9ICItLWVuYWJsZS1nc3RyZWFtZXIsLS1kaXNhYmxlLWdzdHJlYW1lcixnc3RyZWFtZXIiCitQQUNLQUdFQ09ORklHW2dzdHJlYW1lcjFdID0gIi0tZW5hYmxlLWdzdHJlYW1lcjEsLS1kaXNhYmxlLWdzdHJlYW1lcjEsZ3N0cmVhbWVyMS4wIGdzdHJlYW1lcjEuMC1wbHVnaW5zLWJhc2UiCitQQUNLQUdFQ09ORklHW3B1bHNlYXVkaW9dID0gIi0tZW5hYmxlLXB1bHNlYXVkaW8sLS1kaXNhYmxlLXB1bHNlYXVkaW8scHVsc2VhdWRpbyIKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS1lbmFibGUtc3lzdGVtZCwtLWRpc2FibGUtc3lzdGVtZCxzeXN0ZW1kIgorUEFDS0FHRUNPTkZJR1tsdWFqaXRdID0gIi0tZGlzYWJsZS1sdWEtb2xkLC0tZW5hYmxlLWx1YS1vbGQsbHVhaml0IgorUEFDS0FHRUNPTkZJR1tsdWEtb2xkXSA9ICItLWVuYWJsZS1sdWEtb2xkLC0tZGlzYWJsZS1sdWEtb2xkLGx1YSIKK1BBQ0tBR0VDT05GSUdbYXZhaGldID0gIi0tZW5hYmxlLWF2YWhpLC0tZGlzYWJsZS1hdmFoaSxhdmFoaSIKKyMgY3VycmVudGx5IHdlIGRvbid0IHByb3ZpZGUgZG94eWdlbi1uYXRpdmUKK1BBQ0tBR0VDT05GSUdbZG9jXSA9ICItLWVuYWJsZS1kb2MsLS1kaXNhYmxlLWRvYyxkb3h5Z2VuLW5hdGl2ZSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyBkb24ndCBzaGlwIHByZWNvbXBpbGVkIGx1YSBmaWxlcworICAgIHJtIC1mICR7ZGF0YWRpcn0vZWx1YS8qLyoubHVhYworfQorCitQQUNLQUdFUyA9KyAiZWRqZS11dGlscyBlbWJyeW8tdXRpbHMgZW1icnlvLXRlc3RzIGVmcmVldC10cmFzaCBlZnJlZXQtbWltZSBsaWJlZXQgbGliZWZyZWV0IGVjb3JlLWF1ZGlvIGVjb3JlLWlucHV0LWV2YXMgZWNvcmUtaW5wdXQgZWNvcmUtaW1mLWV2YXMgZWNvcmUtaW1mIGVjb3JlLWZpbGUgZWNvcmUtY29uIGVjb3JlLWlwYyBlY29yZS14IGVjb3JlLWV2YXMgbGliZW1vdGlvbiBlbyBlY29yZSBlZGplIGVldCBlZXplIGVmcmVldCBlaW5hIGVpbyBlbWJyeW8gZW1vdGlvbiBldGh1bWIgZXZhcyBlbGRidXMgZWx1YSIKKworIyB1cGdyYWRlIHBhdGggZnJvbSAxLjcKK0RFQklBTl9OT0FVVE9OQU1FX2Vjb3JlLWF1ZGlvID0gIjEiCitERUJJQU5fTk9BVVRPTkFNRV9lY29yZS1pbnB1dC1ldmFzID0gIjEiCitERUJJQU5fTk9BVVRPTkFNRV9lY29yZS1pbnB1dCA9ICIxIgorREVCSUFOX05PQVVUT05BTUVfZWNvcmUtaW1mLWV2YXMgPSAiMSIKK0RFQklBTl9OT0FVVE9OQU1FX2Vjb3JlLWltZiA9ICIxIgorREVCSUFOX05PQVVUT05BTUVfZWNvcmUtZmlsZSA9ICIxIgorREVCSUFOX05PQVVUT05BTUVfZWNvcmUtY29uID0gIjEiCitERUJJQU5fTk9BVVRPTkFNRV9lY29yZS1pcGMgPSAiMSIKK0RFQklBTl9OT0FVVE9OQU1FX2Vjb3JlLXggPSAiMSIKK0RFQklBTl9OT0FVVE9OQU1FX2Vjb3JlLWV2YXMgPSAiMSIKK0RFQklBTl9OT0FVVE9OQU1FX2VtYnJ5byA9ICIxIgorCitBTExPV19FTVBUWV9lY29yZSA9ICIxIgorUkRFUEVORFNfZWNvcmUgPSAiZWNvcmUtYXVkaW8gZWNvcmUtaW5wdXQtZXZhcyBlY29yZS1pbnB1dCBlY29yZS1pbWYtZXZhcyBlY29yZS1pbWYgZWNvcmUtZmlsZSBlY29yZS1jb24gZWNvcmUtaXBjIGVjb3JlLXggZWNvcmUtZXZhcyIKKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgeworICAgIGZvciBwbHVnaW5fdHlwZSBpbiAiZW5naW5lcyBsb2FkZXJzIHNhdmVycyIuc3BsaXQoKToKKyAgICAgICAgYmIubm90ZSggInNwbGl0dGluZyBwYWNrYWdlcyBmb3IgZXZhcyAlcy4uLiIgJSBwbHVnaW5fdHlwZSApCisgICAgICAgIGJhc2VkaXIgPSBkLmV4cGFuZCggJyR7bGliZGlyfS9ldmFzL21vZHVsZXMvJXMnICUgcGx1Z2luX3R5cGUpCisKKyAgICAgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgYmFzZWRpciwgJ14oLiopJywKKyAgICAgICAgb3V0cHV0X3BhdHRlcm4gPSAnZXZhcy0nICsgcGx1Z2luX3R5cGVbOi0xXSArICItJXMiLAorICAgICAgICBkZXNjcmlwdGlvbiA9ICdFdmFzIG1vZHVsZSAlcycsCisgICAgICAgIGFsbG93X2RpcnM9VHJ1ZSwgcmVjdXJzaXZlPUZhbHNlLCBleHRyYV9kZXBlbmRzPSIiICkKKyAgICAgICAgCisgICAgICAgIHBsdWdpbl90eXBlID0gImNzZXJ2ZTIiCisgICAgICAgIGJiLm5vdGUoICJzcGxpdHRpbmcgcGFja2FnZXMgZm9yIGV2YXMgJXMuLi4iICUgcGx1Z2luX3R5cGUgKQorICAgICAgICBiYXNlZGlyID0gZC5leHBhbmQoICcke2xpYmRpcn0vZXZhcy8lcy9sb2FkZXJzJyAlIHBsdWdpbl90eXBlKQorCisgICAgICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGJhc2VkaXIsICdeKC4qKScsCisgICAgICAgIG91dHB1dF9wYXR0ZXJuID0gJ2V2YXMtJyArIHBsdWdpbl90eXBlICsgIi0lcyIsCisgICAgICAgIGRlc2NyaXB0aW9uID0gJ0V2YXMgY3NldmVyMiBsb2FkZXIgbW9kdWxlICVzJywKKyAgICAgICAgYWxsb3dfZGlycz1UcnVlLCByZWN1cnNpdmU9RmFsc2UsIGV4dHJhX2RlcGVuZHM9IiIgKQorfQorCitQQUNLQUdFUyArPSAiZXZhcy1sb2FkZXItcG5nIGV2YXMtZW5naW5lLXNvZnR3YXJlLWdlbmVyaWMgZXZhcy1lbmdpbmUtZmIiCitQQUNLQUdFU19EWU5BTUlDICs9ICJeZXZhcy1lbmdpbmUtLiogXmV2YXMtbG9hZGVyLS4qIF5ldmFzLXNhdmVyLS4qIF5ldmFzLWNzZXJ2ZTItLioiCisKKyMgUEFDS0FHRVNfRFlOQU1JQyArIGRvX3NwbGl0X3BhY2thZ2VzIGlzbid0IHVzZWQgZm9yIGFsbCBsaWJlIGxpYnMsCisjIGJlY2F1c2UgUEFDS0FHRVNfRFlOQU1JQyB3b3VsZCBiZSBjYXRjaGluZyB0b28gbWFueSBwYXR0ZXJucworIyAob3IgbmVlZCB0byBsaXN0IGFsbCBwb3NzaWJsZSBwcmVmaXhlcykgYW5kIG5vdCBhbGwgb3JpZ2luYWwgcGFja2FnZXMKKyMgd2VyZSBzcGxpdHRlZCBsaWtlIHRoYXQsIHNvIGl0IHdvdWxkIG5lZWQgUkNPTkZMSUNUUy9SUFJPVklERVMvUlJFUExBQ0VTCisjIGNvbWJvcyBhdCBsZWFzdCBpbiBmZXcgcGxhY2VzIGZvciB1cGdyYWRlIHBhdGguCisKK0ZJTEVTX2VmcmVldC10cmFzaCA9ICIgXAorICAgICR7bGliZGlyfS9saWJlZnJlZXRfdHJhc2gke1NPTElCU30gXAorIgorRklMRVNfZWZyZWV0LW1pbWUgPSAiIFwKKyAgICAke2xpYmRpcn0vbGliZWZyZWV0X21pbWUke1NPTElCU30gXAorIgorRklMRVNfbGliZWV0ID0gIiBcCisgICAgJHtsaWJkaXJ9L2xpYmVldCR7U09MSUJTfSBcCisiCitGSUxFU19saWJlZnJlZXQgPSAiIFwKKyAgICAke2xpYmRpcn0vbGliZWZyZWV0JHtTT0xJQlN9IFwKKyIKK0ZJTEVTX2Vjb3JlLWF1ZGlvID0gIlwKKyAgICAke2xpYmRpcn0vbGliZWNvcmVfYXVkaW8ke1NPTElCU30gXAorIgorRklMRVNfZWNvcmUtaW5wdXQtZXZhcyA9ICJcCisgICAgJHtsaWJkaXJ9L2xpYmVjb3JlX2lucHV0X2V2YXMke1NPTElCU30gXAorIgorRklMRVNfZWNvcmUtaW5wdXQgPSAiXAorICAgICR7bGliZGlyfS9saWJlY29yZV9pbnB1dCR7U09MSUJTfSBcCisiCitGSUxFU19lY29yZS1pbWYtZXZhcyA9ICJcCisgICAgJHtsaWJkaXJ9L2xpYmVjb3JlX2ltZl9ldmFzJHtTT0xJQlN9IFwKKyAgICAke2xpYmRpcn0vZWNvcmUtaW1mL21vZHVsZXMvKi8qL21vZHVsZS5zbyBcCisiCitGSUxFU19lY29yZS1pbWYgPSAiXAorICAgICR7bGliZGlyfS9saWJlY29yZV9pbWYke1NPTElCU30gXAorIgorCitGSUxFU19lY29yZS1maWxlID0gIlwKKyAgICAke2xpYmRpcn0vbGliZWNvcmVfZmlsZSR7U09MSUJTfSBcCisiCitGSUxFU19lY29yZS1jb24gPSAiXAorICAgICR7bGliZGlyfS9saWJlY29yZV9jb24ke1NPTElCU30gXAorIgorRklMRVNfZWNvcmUtaXBjID0gIlwKKyAgICAke2xpYmRpcn0vbGliZWNvcmVfaXBjJHtTT0xJQlN9IFwKKyIKK0ZJTEVTX2Vjb3JlLXggPSAiXAorICAgICR7bGliZGlyfS9saWJlY29yZV94JHtTT0xJQlN9IFwKKyAgICAke2xpYmRpcn0vZWNvcmVfeC9iaW4vdi0qL2Vjb3JlX3hfdnN5bmMgXAorIgorRklMRVNfZWNvcmUtZXZhcyA9ICJcCisgICAgJHtsaWJkaXJ9L2xpYmVjb3JlX2V2YXMke1NPTElCU30gXAorICAgICR7bGliZGlyfS9lY29yZS1ldmFzL2VuZ2luZXMvKi8qL21vZHVsZS5zbyBcCisiCitGSUxFU19laW8gPSAiXAorICAgICR7bGliZGlyfS9saWJlaW8ke1NPTElCU30gXAorIgorRklMRVNfZWluYSA9ICJcCisgICAgJHtsaWJkaXJ9L2xpYmVpbmEke1NPTElCU30gXAorICAgICR7YmluZGlyfS9laW5hLWJlbmNoLWNtcCBcCisiCitGSUxFU19lZGplLXV0aWxzID0gIlwKKyAgICAke2JpbmRpcn0vZWRqZV8qIFwKKyAgICAke2RhdGFkaXJ9L2VkamUvaW5jbHVkZS9lZGplLmluYyBcCisiCitGSUxFU19lbGRidXMgPSAiXAorICAgICR7bGliZGlyfS9saWJlbGRidXMke1NPTElCU30gXAorIgorRklMRVNfZW8gPSAiXAorICAgICR7bGliZGlyfS9saWJlbyR7U09MSUJTfSBcCisiCitGSUxFU19saWJlbW90aW9uID0gIlwKKyAgICAke2xpYmRpcn0vbGliZW1vdGlvbiR7U09MSUJTfSBcCisiCitGSUxFU19lZnJlZXQgPSAiIFwKKyAgICAke2RhdGFkaXJ9L2RidXMtMS9zZXJ2aWNlcy8qRWZyZWV0KiBcCisgICAgJHtsaWJkaXJ9L2VmcmVldC8qL2VmcmVldCpjcmVhdGUgXAorICAgICR7YmluZGlyfS9lZnJlZXRkIFwKKyAgICAke2RhdGFkaXJ9L2VmcmVldCBcCisiCitGSUxFU19lZXQgPSAiIFwKKyAgICAke2JpbmRpcn0vZWV0IFwKKyAgICAke2JpbmRpcn0vZWV0cGFjayBcCisgICAgJHtiaW5kaXJ9L3ZpZWV0IFwKKyAgICAke2JpbmRpcn0vZGlmZmVldCBcCisgICAgJHtsaWJkaXJ9L2xpYmVldCR7U09MSUJTfSBcCisiCitGSUxFU19lbW90aW9uID0gIiBcCisgICAgJHtkYXRhZGlyfS9lbW90aW9uIFwKKyAgICAke2xpYmRpcn0vZW1vdGlvbi9tb2R1bGVzL2dzdHJlYW1lcjEvKi9tb2R1bGUuc28gXAorIgorRklMRVNfZW1icnlvLXRlc3RzID0gIiBcCisgICAgJHtkYXRhZGlyfS9lbWJyeW8vIFwKKyIKK0ZJTEVTX2VtYnJ5by11dGlscyA9ICIgXAorICAgICR7YmluZGRpcn0vZW1icnlvXyogXAorIgorRklMRVNfZW1icnlvID0gIiBcCisgICAgJHtsaWJkaXJ9L2xpYmVtYnJ5byR7U09MSUJTfSBcCisiCitGSUxFU19ldGh1bWIgPSAiIFwKKyAgICAke2RhdGFkaXJ9L2RidXMtMS9zZXJ2aWNlcy8qRXRodW1iKiBcCisgICAgJHtsaWJkaXJ9L2xpYmV0aHVtYiR7U09MSUJTfSBcCisgICAgJHtsaWJkaXJ9L2xpYmV0aHVtYl9jbGllbnQke1NPTElCU30gXAorICAgICR7YmluZGlyfS9ldGh1bWJkIFwKKyAgICAke2JpbmRpcn0vZXRodW1iZF9jbGllbnQgXAorICAgICR7YmluZGlyfS9ldGh1bWIgXAorICAgICR7bGliZGlyfS9ldGh1bWIvKi8qLyovbW9kdWxlLnNvIFwKKyAgICAke2xpYmRpcn0vZXRodW1iLyovKi8qLyouZWRqIFwKKyAgICAke2xpYmRpcn0vZXRodW1iX2NsaWVudC91dGlscy8qL2V0aHVtYmRfc2xhdmUgXAorICAgICR7ZGF0YWRpcn0vZXRodW1iKiBcCisiCitGSUxFU19lY29yZSA9ICIgXAorICAgICR7bGliZGlyfS9saWJlY29yZSR7U09MSUJTfSBcCisgICAgJHtsaWJkaXJ9L2Vjb3JlKi8qLyovKi9tb2R1bGUuc28gXAorICAgICR7ZGF0YWRpcn0vZWNvcmUqIFwKKyIKK0ZJTEVTX2V2YXMgPSAiIFwKKyAgICAke2xpYmRpcn0vbGliZXZhcyR7U09MSUJTfSBcCisgICAgJHtsaWJkaXJ9L2V2YXMqLyovKi8qLyovbW9kdWxlLnNvIFwKKyAgICAke2xpYmRpcn0vZXZhcyovKi8qLyovKi8qLmVkaiBcCisgICAgJHtsaWJkaXJ9L2V2YXMvY3NlcnZlMi9iaW4vKi9ldmFzX2NzZXJ2ZTIqIFwKKyAgICAke2RhdGFkaXJ9L2V2YXMqIFwKKyAgICAke2JpbmRpcn0vZXZhc19jc2VydmUyXyogXAorIgorCitGSUxFU19lZXplID0gIiBcCisgICAgJHtsaWJkaXJ9L2xpYmVlemUke1NPTElCU30gXAorICAgICR7bGliZGlyfS9lZXplKi8qLyovKi8qL21vZHVsZS5zbyBcCisgICAgJHtkYXRhZGlyfS9lZXplIFwKKyAgICAke2JpbmRpcn0vZWV6ZV8qIFwKKyIKK0ZJTEVTX2VkamUgPSAiIFwKKyAgICAke2xpYmRpcn0vbGliZWRqZSR7U09MSUJTfSBcCisgICAgJHtsaWJkaXJ9L2VkamUqLyovKi8qL21vZHVsZS5zbyBcCisgICAgJHtsaWJkaXJ9L2VkamUvdXRpbHMvKi9lcHAgXAorICAgICR7ZGF0YWRpcn0vZWRqZSBcCisgICAgJHtkYXRhZGlyfS9taW1lIFwKKyIKK0ZJTEVTX2VsdWEgPSAiIFwKKyAgICAke2JpbmRpcn0vZWx1YSBcCisgICAgJHtkYXRhZGlyfS9lbHVhIFwKKyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiIFwKKyAgICAke2xpYmRpcn0vZWZyZWV0LyovLmRlYnVnIFwKKyAgICAke2xpYmRpcn0vZWNvcmUqLyovKi8qLy5kZWJ1ZyBcCisgICAgJHtsaWJkaXJ9L2Vjb3JlKi8qLyovLmRlYnVnIFwKKyAgICAke2xpYmRpcn0vZXZhcyovKi8qLyovKi8uZGVidWcgXAorICAgICR7bGliZGlyfS9ldmFzL2NzZXJ2ZTIvYmluLyovLmRlYnVnIFwKKyAgICAke2xpYmRpcn0vZWV6ZSovKi8qLyovKi8uZGVidWcgXAorICAgICR7bGliZGlyfS9lZGplKi8qLyovKi8uZGVidWcgXAorICAgICR7bGliZGlyfS9lZGplL3V0aWxzLyovLmRlYnVnIFwKKyAgICAke2xpYmRpcn0vZXRodW1iLyovKi8qLy5kZWJ1ZyBcCisgICAgJHtsaWJkaXJ9L2V0aHVtYl9jbGllbnQvdXRpbHMvKi8uZGVidWcgXAorICAgICR7bGliZGlyfS9lbW90aW9uL21vZHVsZXMvZ3N0cmVhbWVyMS8qLy5kZWJ1ZyBcCisiCitGSUxFU18ke1BOfS1kZXYgKz0gIiBcCisgICAgJHtsaWJkaXJ9L2NtYWtlIFwKKyAgICAke2xpYmRpcn0vZWNvcmUqLyovKi8qL21vZHVsZS5sYSBcCisgICAgJHtsaWJkaXJ9L2V2YXMqLyovKi8qLyovbW9kdWxlLmxhIFwKKyAgICAke2xpYmRpcn0vZXRodW1iKi8qLyovKi9tb2R1bGUubGEgXAorICAgICR7bGliZGlyfS9lZXplKi8qLyovKi8qL21vZHVsZS5sYSBcCisgICAgJHtsaWJkaXJ9L2VkamUqLyovKi8qL21vZHVsZS5sYSBcCisgICAgJHtsaWJkaXJ9L2Vtb3Rpb24vbW9kdWxlcy9nc3RyZWFtZXIxLyovbW9kdWxlLmxhIFwKKyAgICAke2RhdGFkaXJ9L2dkYi9hdXRvLWxvYWQgXAorICAgICR7ZGF0YWRpcn0vZW8vZ2RiIFwKKyAgICAke2JpbmRpcn0vZWxkYnVzLWNvZGVnZW4gXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWZsLzAwMDEtY29uZmlndXJlLmFjLURvbi10LWNoZWNrLWZvci1YcHJpbnQtZXh0ZW5zaW9uLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWZsLzAwMDEtY29uZmlndXJlLmFjLURvbi10LWNoZWNrLWZvci1YcHJpbnQtZXh0ZW5zaW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhODVmODEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lZmwvMDAwMS1jb25maWd1cmUuYWMtRG9uLXQtY2hlY2stZm9yLVhwcmludC1leHRlbnNpb24ucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorRnJvbSAyN2FlZGNkY2RhZmJmMDc5ZGMwMjJiYWI3MmVjMzA5Y2Y3ZGIzMTcyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogRnJpLCAxMCBKYW4gMjAxNCAxNzowNzoxMyArMDEwMAorU3ViamVjdDogW1BBVENIIDEvM10gY29uZmlndXJlLmFjOiBEb24ndCBjaGVjayBmb3IgWHByaW50IGV4dGVuc2lvbgorCisqIGl0J3MgbG9uZyBnb25lCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDEgLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGMxMDhiMWIuLmYwMTliZmMgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTM0NzQsNyArMzQ3NCw2IEBAIGlmIHRlc3QgIngke3dhbnRfeDExX3hsaWJ9IiA9ICJ4eWVzIiA7IHRoZW4KKyAgICBFQ09SRV9DSEVDS19YX0VYVEVOU0lPTihbWGRwbXNdLCBbZHBtcy5oXSwgW1hleHRdLCBbRFBNU1F1ZXJ5RXh0ZW5zaW9uXSkKKyAgICBFQ09SRV9DSEVDS19YX0VYVEVOU0lPTihbWGZpeGVzXSwgW1hmaXhlcy5oXSwgW1hmaXhlc10sIFtYRml4ZXNFeHBhbmRSZWdpb25dKQorICAgIEVDT1JFX0NIRUNLX1hfRVhURU5TSU9OKFtYaW5lcmFtYV0sIFtYaW5lcmFtYS5oXSwgW1hpbmVyYW1hXSwgW1hpbmVyYW1hUXVlcnlTY3JlZW5zXSkKKy0gICBFQ09SRV9DSEVDS19YX0VYVEVOU0lPTihbWHByaW50XSwgW1ByaW50LmhdLCBbWHBdLCBbWHBRdWVyeVNjcmVlbnNdKQorICAgIEVDT1JFX0NIRUNLX1hfRVhURU5TSU9OKFtYcmFuZHJdLCBbWHJhbmRyLmhdLCBbWHJhbmRyXSwgW1hSUkdldFNjcmVlblJlc291cmNlc0N1cnJlbnRdKQorICAgIEVDT1JFX0NIRUNLX1hfRVhURU5TSU9OKFtYcmVuZGVyXSwgW1hyZW5kZXIuaF0sIFtYcmVuZGVyXSwgW1hSZW5kZXJGaW5kVmlzdWFsRm9ybWF0XSkKKyAgICBFQ09SRV9DSEVDS19YX0VYVEVOU0lPTihbWHRlc3RdLCBbWFRlc3QuaF0sIFtYdHN0XSwgW1hUZXN0RmFrZUtleUV2ZW50XSkKKy0tIAorMi4zLjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWZsLzAwMDEtZXZhc18zZC1BZGQtRWV0LmgtaW5jbHVkZXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lZmwvMDAwMS1ldmFzXzNkLUFkZC1FZXQuaC1pbmNsdWRlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMGYyNmM3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWZsLzAwMDEtZXZhc18zZC1BZGQtRWV0LmgtaW5jbHVkZXMucGF0Y2gKQEAgLTAsMCArMSw1MSBAQAorRnJvbSAyZTUwZmQyZGZjNjhiNzdlN2FjZGRjNzk1NTBmMjI5ODc3NzhhODk3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogVHVlLCAyIERlYyAyMDE0IDEyOjIxOjEwICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGV2YXNfM2Q6IEFkZCBFZXQuaCBpbmNsdWRlcworCisqIHdpdGggc29tZSB2ZXJ5IHJlc3RyaWN0aXZlIG9wdGlvbnMgbGlrZSB3ZSB1c2UgaW4gZWZsLW5hdGl2ZSwgdGhlIGJ1aWxkIGlzIGNvbXBsYWluaW5nCisgIGFib3V0IG1pc3Npbmcgc3ltYm9scyBmcm9tIEVldC5oLCBhZGQgaW5jbHVkZSB3aGVyZSBuZWVkZWQKKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgc3JjL2xpYi9ldmFzL2NhbnZhcy9ldmFzX2NhbnZhczNkX2VldC5jICAgICAgICAgICAgICAgICAgfCAxICsKKyBzcmMvbW9kdWxlcy9ldmFzL21vZGVsX2xvYWRlcnMvZWV0L2V2YXNfbW9kZWxfbG9hZF9lZXQuYyB8IDEgKworIHNyYy9tb2R1bGVzL2V2YXMvbW9kZWxfc2F2ZXJzL2VldC9ldmFzX21vZGVsX3NhdmVfZWV0LmMgIHwgMSArCisgMyBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NyYy9saWIvZXZhcy9jYW52YXMvZXZhc19jYW52YXMzZF9lZXQuYyBiL3NyYy9saWIvZXZhcy9jYW52YXMvZXZhc19jYW52YXMzZF9lZXQuYworaW5kZXggMjgxZjY5ZC4uYTYwNDA3NiAxMDA2NDQKKy0tLSBhL3NyYy9saWIvZXZhcy9jYW52YXMvZXZhc19jYW52YXMzZF9lZXQuYworKysrIGIvc3JjL2xpYi9ldmFzL2NhbnZhcy9ldmFzX2NhbnZhczNkX2VldC5jCitAQCAtMSwzICsxLDQgQEAKKysjaW5jbHVkZSA8RWV0Lmg+CisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgImV2YXNfY29tbW9uX3ByaXZhdGUuaCIKKyAjaW5jbHVkZSAiZXZhc19wcml2YXRlLmgiCitkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvZXZhcy9tb2RlbF9sb2FkZXJzL2VldC9ldmFzX21vZGVsX2xvYWRfZWV0LmMgYi9zcmMvbW9kdWxlcy9ldmFzL21vZGVsX2xvYWRlcnMvZWV0L2V2YXNfbW9kZWxfbG9hZF9lZXQuYworaW5kZXggODAzODQ2ZC4uN2ViYWY4ZSAxMDA2NDQKKy0tLSBhL3NyYy9tb2R1bGVzL2V2YXMvbW9kZWxfbG9hZGVycy9lZXQvZXZhc19tb2RlbF9sb2FkX2VldC5jCisrKysgYi9zcmMvbW9kdWxlcy9ldmFzL21vZGVsX2xvYWRlcnMvZWV0L2V2YXNfbW9kZWxfbG9hZF9lZXQuYworQEAgLTMsNiArMyw3IEBACisgI2VuZGlmCisgCisgI2luY2x1ZGUgPEVvLmg+CisrI2luY2x1ZGUgPEVldC5oPgorICNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlICJldmFzX2NvbW1vbl9wcml2YXRlLmgiCisgI2luY2x1ZGUgImV2YXNfcHJpdmF0ZS5oIgorZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2V2YXMvbW9kZWxfc2F2ZXJzL2VldC9ldmFzX21vZGVsX3NhdmVfZWV0LmMgYi9zcmMvbW9kdWxlcy9ldmFzL21vZGVsX3NhdmVycy9lZXQvZXZhc19tb2RlbF9zYXZlX2VldC5jCitpbmRleCA3MWUwOTRhLi40ZDU2OTc3IDEwMDY0NAorLS0tIGEvc3JjL21vZHVsZXMvZXZhcy9tb2RlbF9zYXZlcnMvZWV0L2V2YXNfbW9kZWxfc2F2ZV9lZXQuYworKysrIGIvc3JjL21vZHVsZXMvZXZhcy9tb2RlbF9zYXZlcnMvZWV0L2V2YXNfbW9kZWxfc2F2ZV9lZXQuYworQEAgLTIsNiArMiw3IEBACisgICAgI2luY2x1ZGUgImNvbmZpZy5oIgorICNlbmRpZgorIAorKyNpbmNsdWRlIDxFZXQuaD4KKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSAiZXZhc19jb21tb25fcHJpdmF0ZS5oIgorICNpbmNsdWRlICJldmFzX3ByaXZhdGUuaCIKKy0tIAorMi41LjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWZsLzAwMDItZXZhc18zZC1BZGQtRWV0LmgtaW5jbHVkZXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lZmwvMDAwMi1ldmFzXzNkLUFkZC1FZXQuaC1pbmNsdWRlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTdmZDRiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWZsLzAwMDItZXZhc18zZC1BZGQtRWV0LmgtaW5jbHVkZXMucGF0Y2gKQEAgLTAsMCArMSw1MSBAQAorRnJvbSBiM2NiZTMxYzM4YTA4OGFmN2IwZGFkZTgyNTQ1NDc1ZmM5YjcyNDkyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogVHVlLCAyIERlYyAyMDE0IDEyOjIxOjEwICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMi8zXSBldmFzXzNkOiBBZGQgRWV0LmggaW5jbHVkZXMKKworKiB3aXRoIHNvbWUgdmVyeSByZXN0cmljdGl2ZSBvcHRpb25zIGxpa2Ugd2UgdXNlIGluIGVmbC1uYXRpdmUsIHRoZSBidWlsZCBpcyBjb21wbGFpbmluZworICBhYm91dCBtaXNzaW5nIHN5bWJvbHMgZnJvbSBFZXQuaCwgYWRkIGluY2x1ZGUgd2hlcmUgbmVlZGVkCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9saWIvZXZhcy9jYW52YXMvZXZhc18zZF9lZXQuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgMSArCisgc3JjL21vZHVsZXMvZXZhcy9tb2RlbF9sb2FkZXJzL2VldC9ldmFzX21vZGVsX2xvYWRfZWV0LmMgfCAxICsKKyBzcmMvbW9kdWxlcy9ldmFzL21vZGVsX3NhdmVycy9lZXQvZXZhc19tb2RlbF9zYXZlX2VldC5jICB8IDEgKworIDMgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvbGliL2V2YXMvY2FudmFzL2V2YXNfM2RfZWV0LmMgYi9zcmMvbGliL2V2YXMvY2FudmFzL2V2YXNfM2RfZWV0LmMKK2luZGV4IDE1MTVmNWEuLmE0MzgyMTcgMTAwNjQ0CistLS0gYS9zcmMvbGliL2V2YXMvY2FudmFzL2V2YXNfM2RfZWV0LmMKKysrKyBiL3NyYy9saWIvZXZhcy9jYW52YXMvZXZhc18zZF9lZXQuYworQEAgLTEsMyArMSw0IEBACisrI2luY2x1ZGUgPEVldC5oPgorICNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlICJldmFzX2NvbW1vbl9wcml2YXRlLmgiCisgI2luY2x1ZGUgImV2YXNfcHJpdmF0ZS5oIgorZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2V2YXMvbW9kZWxfbG9hZGVycy9lZXQvZXZhc19tb2RlbF9sb2FkX2VldC5jIGIvc3JjL21vZHVsZXMvZXZhcy9tb2RlbF9sb2FkZXJzL2VldC9ldmFzX21vZGVsX2xvYWRfZWV0LmMKK2luZGV4IDgxNWI5ZjEuLmJmZjJjZWEgMTAwNjQ0CistLS0gYS9zcmMvbW9kdWxlcy9ldmFzL21vZGVsX2xvYWRlcnMvZWV0L2V2YXNfbW9kZWxfbG9hZF9lZXQuYworKysrIGIvc3JjL21vZHVsZXMvZXZhcy9tb2RlbF9sb2FkZXJzL2VldC9ldmFzX21vZGVsX2xvYWRfZWV0LmMKK0BAIC0zLDYgKzMsNyBAQAorICNlbmRpZgorIAorICNpbmNsdWRlIDxFby5oPgorKyNpbmNsdWRlIDxFZXQuaD4KKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSAiZXZhc19jb21tb25fcHJpdmF0ZS5oIgorICNpbmNsdWRlICJldmFzX3ByaXZhdGUuaCIKK2RpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9ldmFzL21vZGVsX3NhdmVycy9lZXQvZXZhc19tb2RlbF9zYXZlX2VldC5jIGIvc3JjL21vZHVsZXMvZXZhcy9tb2RlbF9zYXZlcnMvZWV0L2V2YXNfbW9kZWxfc2F2ZV9lZXQuYworaW5kZXggZTQ0NWRjYS4uMmUxY2Y0ZSAxMDA2NDQKKy0tLSBhL3NyYy9tb2R1bGVzL2V2YXMvbW9kZWxfc2F2ZXJzL2VldC9ldmFzX21vZGVsX3NhdmVfZWV0LmMKKysrKyBiL3NyYy9tb2R1bGVzL2V2YXMvbW9kZWxfc2F2ZXJzL2VldC9ldmFzX21vZGVsX3NhdmVfZWV0LmMKK0BAIC0yLDYgKzIsNyBAQAorICAgICNpbmNsdWRlICJjb25maWcuaCIKKyAjZW5kaWYKKyAKKysjaW5jbHVkZSA8RWV0Lmg+CisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgImV2YXNfY29tbW9uX3ByaXZhdGUuaCIKKyAjaW5jbHVkZSAiZXZhc19wcml2YXRlLmgiCistLSAKKzIuMy4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VmbF8xLjE1LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lZmxfMS4xNS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmMTg1MzEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lZmxfMS4xNS4xLmJiCkBAIC0wLDAgKzEsMjkgQEAKK3JlcXVpcmUgJHtCUE59LmluYworCitTUkNfVVJJID0gIlwKKyAgICAke0VfUkVMRUFTRVN9L2xpYnMvJHtTUkNOQU1FfS8ke1NSQ05BTUV9LSR7U1JDVkVSfS50YXIuZ3ogXAorICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS5hYy1Eb24tdC1jaGVjay1mb3ItWHByaW50LWV4dGVuc2lvbi5wYXRjaCBcCisgICAgZmlsZTovLzAwMDEtZXZhc18zZC1BZGQtRWV0LmgtaW5jbHVkZXMucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZGM5MWJjYWI3MzI3NWY2NzhlMTc0OGEyZGVhOGQ4OGEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmE2ZDBhYjI4MDIwYjQ3NDFiZTIwYjMyYWQwZmZlYjhmOTdmNzY2YzVjMzIxNzViYWNjMmYyZDBkYzUyZjk4YyIKKworIyBUZW1wb3JhcnkgZGlzYWJsZSB1bnRpbCBlcnJvciBsaWtlIHRoZSBvbmUgZm9sbG93aW5nIGFyZSBmaXhlZAorIyBlZmwtbmF0aXZlLzJfMS44LjQtcjAvZWZsLTEuOC40L3NyYy9saWIvZWV0Ly5saWJzL2xpYmVldC5zbzogZmlsZSBub3QgcmVjb2duaXplZDogRmlsZSB0cnVuY2F0ZWQKKyMgY29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCisjIHg4Nl82NC1saW51eC1saWJ0b29sOiBpbnN0YWxsOiBlcnJvcjogcmVsaW5rIGBtb2R1bGVzL2V2YXMvc2F2ZXJzL3RpZmYvbW9kdWxlLmxhJyB3aXRoIHRoZSBhYm92ZSBjb21tYW5kIGJlZm9yZSBpbnN0YWxsaW5nIGl0CisjIE1ha2VmaWxlOjExMDMxOiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbC1zYXZlcnRpZmZwa2dMVExJQlJBUklFUycgZmFpbGVkCitQQVJBTExFTF9NQUtFX2NsYXNzLW5hdGl2ZSA9ICIiCisKKyNFRkxfUlVOX0lOX1RSRUU9MSAuLi9zcmMvYmluL2VvbGlhbi9lb2xpYW5fZ2VuIC0tZW8gLS1sZWdhY3kgLUkvT0UvYnVpbGQvc2hyLWNvcmUvdG1wLWVnbGliYy93b3JrL3g4Nl82NC1saW51eC9lZmwtbmF0aXZlLzJfMS4xMC4wLXIwL2VmbC0xLjEwLjAvc3JjL2xpYi9lbyAtSS9PRS9idWlsZC9zaHItY29yZS90bXAtZWdsaWJjL3dvcmsveDg2XzY0LWxpbnV4L2VmbC1uYXRpdmUvMl8xLjEwLjAtcjAvZWZsLTEuMTAuMC9zcmMvbGliL2V2YXMvY2FudmFzIC1JL09FL2J1aWxkL3Noci1jb3JlL3RtcC1lZ2xpYmMvd29yay94ODZfNjQtbGludXgvZWZsLW5hdGl2ZS8yXzEuMTAuMC1yMC9lZmwtMS4xMC4wL3NyYy9saWIvZWRqZSAtSS9PRS9idWlsZC9zaHItY29yZS90bXAtZWdsaWJjL3dvcmsveDg2XzY0LWxpbnV4L2VmbC1uYXRpdmUvMl8xLjEwLjAtcjAvZWZsLTEuMTAuMC9zcmMvbGliL2Vjb3JlX2F1ZGlvIC0tZ2MgLW8gbGliL2V2YXMvY2FudmFzL2V2YXNfbGluZS5lby5jIC9PRS9idWlsZC9zaHItY29yZS90bXAtZWdsaWJjL3dvcmsveDg2XzY0LWxpbnV4L2VmbC1uYXRpdmUvMl8xLjEwLjAtcjAvZWZsLTEuMTAuMC9zcmMvbGliL2V2YXMvY2FudmFzL2V2YXNfbGluZS5lbworI0VSUjwzMjQzOT46ZW9saWFuX2dlbiAvT0UvYnVpbGQvc2hyLWNvcmUvdG1wLWVnbGliYy93b3JrL3g4Nl82NC1saW51eC9lZmwtbmF0aXZlLzJfMS4xMC4wLXIwL2VmbC0xLjEwLjAvc3JjL2Jpbi9lb2xpYW4vbWFpbi5jOjEwMyBfZ2VuZXJhdGVfY19maWxlKCkgQ291bGRudCBvcGVuIGZpbGUgbGliL2V2YXMvY2FudmFzL2V2YXNfbGluZS5lby5jIGZvciB3cml0aW5nCisjTWFrZWZpbGU6MzA3Mzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWIvZXZhcy9jYW52YXMvZXZhc19saW5lLmVvLmMnIGZhaWxlZAorI21ha2VbMl06ICoqKiBbbGliL2V2YXMvY2FudmFzL2V2YXNfbGluZS5lby5jXSBFcnJvciAxCisjTWFrZWZpbGU6MjE2MzogcmVjaXBlIGZvciB0YXJnZXQgJ2FsbC1yZWN1cnNpdmUnIGZhaWxlZAorIyBhdXRvdG9vbHMtYnJva2Vuc2VwCitCID0gIiR7U30iCisKKyNsZDogZXJyb3I6IG1vZHVsZXMvZXZhcy9pbWFnZV9sb2FkZXJzL3BuZy9iaW5fZXZhc19ldmFzX2NzZXJ2ZTJfc2xhdmUtZXZhc19pbWFnZV9sb2FkX3BuZy5vOiByZXF1aXJlcyB1bnN1cHBvcnRlZCBkeW5hbWljIHJlbG9jIFJfQVJNX01PVldfQUJTX05DOyByZWNvbXBpbGUgd2l0aCAtZlBJQworI2xkOiBlcnJvcjogbW9kdWxlcy9ldmFzL2ltYWdlX2xvYWRlcnMvcG5nL2Jpbl9ldmFzX2V2YXNfY3NlcnZlMl9zbGF2ZS1ldmFzX2ltYWdlX2xvYWRfcG5nLm86IHJlcXVpcmVzIHVuc3VwcG9ydGVkIGR5bmFtaWMgcmVsb2MgUl9BUk1fTU9WV19BQlNfTkM7IHJlY29tcGlsZSB3aXRoIC1mUElDCitDRkxBR1MgKz0gIi1mUElDIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWxlbWVudGFyeS10aGVtZS1lZmVubmlodC9MSUNFTlNFIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWxlbWVudGFyeS10aGVtZS1lZmVubmlodC9MSUNFTlNFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxYmIyZjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbGVtZW50YXJ5LXRoZW1lLWVmZW5uaWh0L0xJQ0VOU0UKQEAgLTAsMCArMSwyNSBAQAorQ29weXJpZ2h0IG5vdGljZSBmb3IgRW5saWdodGVubWVudDoKKworQ29weXJpZ2h0IChDKSAyMDAwLTIwMTAgQ2Fyc3RlbiBIYWl0emxlciBhbmQgdmFyaW91cyBjb250cmlidXRvcnMgKHNlZSBBVVRIT1JTKQorCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisgICAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICAgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgCisgICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgCitJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5ECitGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCitDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsCitPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GCitMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORworTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLAorRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VsZW1lbnRhcnktdGhlbWUtZWZlbm5paHRfc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWxlbWVudGFyeS10aGVtZS1lZmVubmlodF9zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDk0ZTc0MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VsZW1lbnRhcnktdGhlbWUtZWZlbm5paHRfc3ZuLmJiCkBAIC0wLDAgKzEsMzggQEAKK0RFU0NSSVBUSU9OID0gImVmZW5uaWh0IGVsZW1lbnRhcnkgdGhlbWUgLSBFZmVubmlodCB3YXMgZGV2aXNlZCB0byBiZSBjbGVhbiBcCithbmQgbmV1dHJhbC4gSXRzIG5hbWUgKHdoaWNoIG1lYW5zIGVxdWlub3gpIGNvbWVzIGZyb20gdGhlIGNocm9tYXRpYyBkdWFsaXR5IFwKK3RoYXQgd2FzIGRlY2lkZWQgYXQgdGhlIHZlcnkgYmVnaW5uaW5nLCB3aXRoIGEgZGFyayB0aGVtZSAoYmxhY2sgYW5kIG9yYW5nZSkgXAorYW5kIGEgYnJpZ2h0IG9uZSAod2hpdGUgYW5kIGJsdWUpIHRvIGJlIGRldmVsb3BlZCBzbyB0aGF0IG1vcmUgcGVvcGxlIGZlZWwgXAorY29tZm9ydGFibGUgdXNpbmcgaXQuIEVmZW5uaWh0IHVzZXMgZmV3IGFuaW1hdGlvbnMsIGRpc2NyZXRlIGNvbnRyYXN0cyBiZXR3ZWVuIFwKK3NoYWRlcyBvZiBncmF5IGFuZCBmaW5lIGxpbmVzIChjb2xvcmVkKSB0aGF0IG91dGxpbmUgdGhlIHNlbGVjdGVkIGVsZW1lbnRzLiIKK1NFQ1RJT04gPSAiZS91dGlscyIKK0hPTUVQQUdFID0gImh0dHA6Ly90cmFjLmVubGlnaHRlbm1lbnQub3JnL2Uvd2lraS9UaGVtZXMjRWZlbm5paHQiCitERVBFTkRTID0gImVkamUtbmF0aXZlIgorUlNVR0dFU1RTXyR7UE59ID0gImUtd20tdGhlbWUtaWxsdW1lLWVmZW5uaWh0IgorTElDRU5TRSA9ICJNSVQgJiBCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1dPUktESVJ9L0xJQ0VOU0U7bWQ1PWY1MjNhYjU5ODZjYzc5YjUyYTkwZDJhYzNkNTQ1NGEyIgorCitTUkNSRVZfVEhNX1JFViA/PSAiJHtFRkxfU1JDUkVWfSIKK1NSQ1JFVl9FTE1fUkVWID89ICIke0VGTF9TUkNSRVZ9IgorCitTUkNSRVZfRk9STUFUID0gIlRITV9SRVYiCitQViA9ICIwLjArc3ZuciR7U1JDUFZ9IgorUFIgPSAicjEiCisKK2luaGVyaXQgZS1iYXNlIGFsbGFyY2gKKworU1JDTkFNRSA9ICJlZmVubmlodCIKK1NSQ19VUkkgPSAiJHtFX1NWTn0vdHJ1bmsvVEhFTUVTO21vZHVsZT0ke1NSQ05BTUV9O3Byb3RvY29sPWh0dHA7bmFtZT1USE1fUkVWIgorU1JDX1VSSSArPSAiJHtFX1NWTn0vdHJ1bmsvZWxlbWVudGFyeS9kYXRhO21vZHVsZT10aGVtZXM7cHJvdG9jb2w9aHR0cDtuYW1lPUVMTV9SRVYiCitTUkNfVVJJICs9ICJmaWxlOi8vTElDRU5TRSIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9IgorCitkb19jb21waWxlKCkgeworICAgICR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9lZGplX2NjIC1pZCAke1N9L2ltYWdlcyAtaWQgJHtXT1JLRElSfS90aGVtZXMvaW1hZ2VzICR7U30vZWxtLWVmZW5uaWh0LmVkYyAtbyAke1N9L2VsbS1lZmVubmlodC5lZGoKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2VsZW1lbnRhcnkvdGhlbWVzLworICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2VsbS1lZmVubmlodC5lZGogJHtEfSR7ZGF0YWRpcn0vZWxlbWVudGFyeS90aGVtZXMvCit9CisKK0ZJTEVTXyR7UE59ID0gIiR7ZGF0YWRpcn0vZWxlbWVudGFyeS90aGVtZXMvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWxlbWVudGFyeS5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbGVtZW50YXJ5LmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMGE5MmRmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWxlbWVudGFyeS5pbmMKQEAgLTAsMCArMSw4OSBAQAorREVTQ1JJUFRJT04gPSAiRUZMIGJhc2VkIHdpZGdldCBzZXQgZm9yIG1vYmlsZSBkZXZpY2VzIgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWExNzMwNTRhOTM4OTZlOTMzZGY1M2UzMzgyZDQ3MmMyIgorREVQRU5EUyA9ICJlZXQtbmF0aXZlIGVkamUtbmF0aXZlIGVsZW1lbnRhcnktbmF0aXZlIGVmcmVldCBldmFzIGVjb3JlIGVkamUgZWV0IGVsZGJ1cyBldGh1bWIgcG9wcGxlciBlaW8iCitERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICJlZmwtbmF0aXZlIgorCitpbmhlcml0IGVmbCBnZXR0ZXh0CisKK0VYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIlwKKyAgICAtLXdpdGgtZWRqZS1jYz0ke1NUQUdJTkdfQklORElSX05BVElWRX0vZWRqZV9jYyBcCisgICAgLS13aXRoLWVldC1lZXQ9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2VldCBcCisgICAgLS13aXRoLWVsZW1lbnRhcnktY29kZWdlbj0ke1NUQUdJTkdfQklORElSX05BVElWRX0vZWxlbWVudGFyeV9jb2RlZ2VuIFwKKyAgICAtLXdpdGgtZWxtLXByZWZzLWNjPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9lbG1fcHJlZnNfY2MgXAorICAgIC0td2l0aC1lb2xpYW4tZ2VuPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9lb2xpYW5fZ2VuIFwKKyAgICAtLXdpdGgtZW9saWFuLWN4eD0ke1NUQUdJTkdfQklORElSX05BVElWRX0vZW9saWFuX2N4eCBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitQQUNLQUdFQ09ORklHW2V3ZWF0aGVyXSA9ICItLWVuYWJsZS1ld2VhdGhlciwtLWRpc2FibGUtZXdlYXRoZXIsbGliZXdlYXRoZXIiCitQQUNLQUdFQ09ORklHW2V3ZWJraXRdID0gIi0td2l0aC1lbGVtZW50YXJ5LXdlYi1iYWNrZW5kPWV3ZWJraXQsLS13aXRoLWVsZW1lbnRhcnktd2ViLWJhY2tlbmQ9bm9uZSx3ZWJraXQtZWZsIgorIyBiZSBhd2FyZSB3aGVuIGVuYWJsaW5nIHRoaXMgZm9yIGVmbC1uYXRpdmUsIHdlIGRvbid0IHByb3ZpZGUgZ2NjLW5hdGl2ZSBzbyB5b3UgbmVlZCB0byBtYWtlCisjIHN1cmUgdGhhdCBhbGwgeW91ciBidWlsZGVycyBoYXZlIGcrKyB3aGljaCBzdXBwb3J0cyAtc3RkPWdudSsrMTEKK1BBQ0tBR0VDT05GSUdbYysrMTFdID0gIi0tZW5hYmxlLWN4eC1iaW5kaW5ncywtLWRpc2FibGUtY3h4LWJpbmRpbmdzIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAjIHByZWZpeCByZXR1cm5lZCBlb2xpYW4gcGF0aHMgd2l0aCBTVEFHSU5HX0RJUl9IT1NUCisgICAgc2VkIC1pICdzJV5cKERFUFNfRU9MSUFOX0ZMQUdTPWAuKlwpYCQlXDEgfCBzZWQgInMjLUlcXCR7cHJlZml4fSMtSVxcJHtTVEFHSU5HX0RJUl9IT1NUfVxcJHtwcmVmaXh9I2ciYCVnJyAke1N9L2NvbmZpZ3VyZS5hYworfQorCitkb19jb21waWxlX2FwcGVuZF9jbGFzcy10YXJnZXQoKSB7CisgICAgc2VkIC1pIC1lIHM6JHtTVEFHSU5HX0RJUl9UQVJHRVR9OjpnIFwKKyAgICAgICAgICAgLWUgczovJHtUQVJHRVRfU1lTfTo6ZyBcCisgICAgICAgICAgICAgIGVsZW1lbnRhcnkucGMKK30KKworUEFDS0FHRVMgKz0gIiR7UE59LWNvbmZpZ3MgJHtQTn0tYWNjZXNzaWJpbGl0eSIKKworUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlID0gIiIKKworUkRFUEVORFNfJHtQTn0gPSAiXAorICAgICR7UE59LXRoZW1lcyBcCisgICAgJHtQTn0tY29uZmlncyBcCisiCitSU1VHR0VTVFNfJHtQTn0gPSAiJHtQTn0tdGVzdHMgJHtQTn0tYWNjZXNzaWJpbGl0eSIKKworRklMRVNfJHtQTn0gKz0gIlwKKyAgICAke2xpYmRpcn0vZWRqZS9tb2R1bGVzL2VsbSBcCisgICAgJHtsaWJkaXJ9L2VsZW1lbnRhcnkvbW9kdWxlcy9kYXRldGltZV9pbnB1dF9jdHhwb3B1cC8qL21vZHVsZS5zbyBcCisgICAgJHtsaWJkaXJ9L2VsZW1lbnRhcnkvbW9kdWxlcy9wcmVmcy8qL21vZHVsZS5zbyBcCisgICAgJHtsaWJkaXJ9L2VsZW1lbnRhcnkvbW9kdWxlcy9wcmVmcy8qLyouZWRqIFwKKyIKKworRklMRVNfJHtQTn0tZGV2ICs9ICJcCisgICAgJHtiaW5kaXJ9L2VsbV9wcmVmc19jYyBcCisgICAgJHtsaWJkaXJ9L2VsZW1lbnRhcnkvbW9kdWxlcy8qLyovbW9kdWxlLmxhIFwKKyAgICAke2xpYmRpcn0vY21ha2UgXAorIgorCitGSUxFU18ke1BOfS10aGVtZXMgPSAiXAorICAgICR7ZGF0YWRpcn0vZWxlbWVudGFyeS90aGVtZXMgXAorIgorCitGSUxFU18ke1BOfS1jb25maWdzID0gIlwKKyAgICAke2RhdGFkaXJ9L2VsZW1lbnRhcnkvY29uZmlnIFwKKyIKKworRklMRVNfJHtQTn0tZGJnICs9ICJcCisgICAgJHtsaWJkaXJ9L2VsZW1lbnRhcnkvbW9kdWxlcy8qLyovLmRlYnVnIFwKKyAgICAke2xpYmRpcn0vZWRqZS9tb2R1bGVzL2VsbS8qLy5kZWJ1ZyBcCisiCisKK0ZJTEVTXyR7UE59LXRlc3RzID0gIlwKKyAgICAke2JpbmRpcn0vZWxlbWVudGFyeSogXAorICAgICR7ZGF0YWRpcn0vZWxlbWVudGFyeS9pbWFnZXMgXAorICAgICR7ZGF0YWRpcn0vZWxlbWVudGFyeS9vYmplY3RzIFwKKyAgICAke2RhdGFkaXJ9L2VsZW1lbnRhcnkvZXhhbXBsZXMgXAorICAgICR7ZGF0YWRpcn0vYXBwbGljYXRpb25zLyogXAorICAgICR7ZGF0YWRpcn0vaWNvbnMvKiBcCisgICAgJHtsaWJkaXJ9L2VsZW1lbnRhcnkvbW9kdWxlcy90ZXN0X2VudHJ5LyogXAorICAgICR7bGliZGlyfS9lbGVtZW50YXJ5L21vZHVsZXMvdGVzdF9tYXAvKiBcCisiCisKK0ZJTEVTXyR7UE59LWFjY2Vzc2liaWxpdHkgPSAiXAorICAgICR7bGliZGlyfS9lbGVtZW50YXJ5L21vZHVsZXMvYWNjZXNzX291dHB1dC8qIFwKKyIKKworIyBTb21lIHVwZ3JhZGUgcGF0aCB0d2Vha2luZywgYXMgaW4gZXZhcworQVVUT19MSUJOQU1FX1BLR1MgPSAiIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWxlbWVudGFyeS8wMDAxLU1ha2VmaWxlLVVzZS1lbGVtZW50YXJ5X2NvZGVnZW4tZGVmaW5lZC1pbi1jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbGVtZW50YXJ5LzAwMDEtTWFrZWZpbGUtVXNlLWVsZW1lbnRhcnlfY29kZWdlbi1kZWZpbmVkLWluLWNvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NTI0YzcwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWxlbWVudGFyeS8wMDAxLU1ha2VmaWxlLVVzZS1lbGVtZW50YXJ5X2NvZGVnZW4tZGVmaW5lZC1pbi1jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorRnJvbSA3NWQxMDRkMTA1YWEwM2RkOWQ0NDZmYTdkODRmYTk1ZTBmNTY2Y2Y5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogU2F0LCAxMSBKYW4gMjAxNCAxMjo1NTo1OSArMDEwMAorU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZTogVXNlIGVsZW1lbnRhcnlfY29kZWdlbiBkZWZpbmVkIGluIGNvbmZpZ3VyZQorCisqIHVzaW5nIGJpbmFyaWVzIGZyb20gdG9wX2J1aWxkaXIgZG9lc24ndCB3b3JrIHdoZW4gY3Jvc3MtY29tcGlsaW5nIGVsZW1lbnRhcnkKKyAgd2hlcmUgd2UgbmVlZCB0byBwYXNzIG5hdGl2ZSBiaW5hcmllcyBpbiBjb25maWd1cmUgcGFyYW1zCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9leGFtcGxlcy9NYWtlZmlsZS5hbSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9leGFtcGxlcy9NYWtlZmlsZS5hbSBiL3NyYy9leGFtcGxlcy9NYWtlZmlsZS5hbQoraW5kZXggZmMzNWM3NS4uMWUxMGIwYiAxMDA2NDQKKy0tLSBhL3NyYy9leGFtcGxlcy9NYWtlZmlsZS5hbQorKysrIGIvc3JjL2V4YW1wbGVzL01ha2VmaWxlLmFtCitAQCAtMjksNyArMjksNyBAQCBMREFERCA9IFwKKyBARUxFTUVOVEFSWV9YX0xJQlNAIFwKKyAkKHRvcF9idWlsZGRpcikvc3JjL2xpYi9saWJlbGVtZW50YXJ5LmxhCisgCistRUxFTUVOVEFSWV9DT0RFR0VOID0gJCh0b3BfYnVpbGRkaXIpL3NyYy9iaW4vQEVMRU1FTlRBUllfQ09ERUdFTl9QUkdACisrRUxFTUVOVEFSWV9DT0RFR0VOID0gQGVsZW1lbnRhcnlfY29kZWdlbkAKKyBFTEVNRU5UQVJZX0NPREVHRU5fRkxBR1MgPSAtLXByZWZpeD1jb2RlZ2VuX2V4YW1wbGUKKyAKKyBTUkNTID0gXAorLS0gCisxLjkuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbGVtZW50YXJ5XzEuMTUuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VsZW1lbnRhcnlfMS4xNS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1M2ViNDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbGVtZW50YXJ5XzEuMTUuMS5iYgpAQCAtMCwwICsxLDE2IEBACityZXF1aXJlICR7QlBOfS5pbmMKKworU1JDX1VSSSA9ICJcCisgICAgJHtFX1JFTEVBU0VTfS9saWJzLyR7U1JDTkFNRX0vJHtTUkNOQU1FfS0ke1NSQ1ZFUn0udGFyLmd6IFwKKyIKKworIyBvbmx5IGZvciB0YXJnZXQsIGJlY2F1c2UgY29uZmlndXJlIGRvZXNuJ3QgZGVmYXVsdCB0byBzYW5lIGRlZmF1bHQgd2hlbgorIyB0aGVzZSBwYXRocyBhcmVuJ3QgcGFzc2VkIGluIC1uYXRpdmUgYnVpbGQKK1NSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgZmlsZTovLzAwMDEtTWFrZWZpbGUtVXNlLWVsZW1lbnRhcnlfY29kZWdlbi1kZWZpbmVkLWluLWNvbmZpZ3VyZS5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gImJkZTRkODVmYTEwZWU4YTdjMGFlYjc0ZTY5ZDdjZDA2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFlNTU0MGMyMTAzZmNkYzY5ZmQ3NDY5Mjc3Y2UyNWE4YTAwYTBmNzAxZmMyYzIwNzcxZGMwMTA4NDAxZTUzYTAiCisKKyMgYXV0b3Rvb2xzLWJyb2tlbnNlcCAtIGNvbmZpZ3VyZSB1cGRhdGVzIEVsZW1lbnRhcnkuaCBjb3JyZWN0bHkgaW4gJHtCfSwgYnV0IHRoZW4gYnVpbGQgaXMgdXNpbmcgRWxlbWVudGFyeS5oIGZyb20gJHtTfQorIyB3aGljaCBpbmNsdWRlcyAjZGVmaW5lIEVMTV9FTUFQIChpbnN0ZWFkIG9mICN1bmRlZiBFTE1fRU1BUCkgYW5kIGJ1aWxkaW5nIGZhaWxzCitCID0gIiR7U30iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbW90aW9uLWdlbmVyaWMtcGxheWVycy5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbW90aW9uLWdlbmVyaWMtcGxheWVycy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGFiODlhZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2Vtb3Rpb24tZ2VuZXJpYy1wbGF5ZXJzLmluYwpAQCAtMCwwICsxLDE0IEBACitERVNDUklQVElPTiA9ICJFbW90aW9uIGdlbmVyaWMgcGxheWVycyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hMGYxMWVlZGY4NzA2YmY2ZDRkNjYzOWZiNjdlYjhhZSIKKworREVQRU5EUyA9ICJlbW90aW9uIgorCitpbmhlcml0IGVmbAorCitTUkNOQU1FID0gImVtb3Rpb25fZ2VuZXJpY19wbGF5ZXJzIgorCisjIGNyZWF0ZXMgZW1wdHkgcGFja2FnZXMgdW50aWwgeW91IGdldCB2bGMtMiBhbmQgZW5hYmxlIGl0IGhlcmUKK1BBQ0tBR0VDT05GSUcgPz0gIiIKKyMgbmVlZHMgZWluYSBhbmQgZWNvcmUgZnJvbSBlZmwgYW5kIHZsYy0yIChjdXJyZW50bHkgd2UgaGF2ZSAxLjExKQorUEFDS0FHRUNPTkZJR1t2bGNdID0gIi0td2l0aC12bGMsLS13aXRob3V0LXZsYyx2bGMgZWZsIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZW1vdGlvbi1nZW5lcmljLXBsYXllcnNfMS4xNS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZW1vdGlvbi1nZW5lcmljLXBsYXllcnNfMS4xNS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhMTg0YmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbW90aW9uLWdlbmVyaWMtcGxheWVyc18xLjE1LjAuYmIKQEAgLTAsMCArMSw4IEBACityZXF1aXJlICR7QlBOfS5pbmMKKworU1JDX1VSSSA9ICJcCisgICAgJHtFX1JFTEVBU0VTfS9saWJzLyR7U1JDTkFNRX0vJHtTUkNOQU1FfS0ke1NSQ1ZFUn0udGFyLmd6IFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjY4NjI3YzFhYWJmNWI3ZmUwODQyOTlhZGNjMGI3M2MxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjEwYmFkNjMzNDgwYTY5MTU4NWIwYmE0NzBjNTczYjE0ZGEwYTAxMDAwOGQ5ZDU5ZDA3OTJjZWE4YzYyMWQ0MjMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbmdyYXZlX3N2bi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VuZ3JhdmVfc3ZuLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzNGJlOTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbmdyYXZlX3N2bi5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIkVuZ3JhdmUgaXMgYW4gRWRqZSBFZGl0aW5nIExpYnJhcnkiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWVkZjJkOTY4YjllYjAyNmJmYTgyY2NjYmQwZTZmOWY1IgorIyBhbHNvIHJlcXVpcmVzIHlhY2MgYW5kIGxleCBvbiBob3N0CitERVBFTkRTID0gImV2YXMgZWNvcmUgZmxleCIKK1BWID0gIjAuMC4wK3N2bnIke1NSQ1BWfSIKK1NSQ1JFViA9ICIke0VGTF9TUkNSRVZ9IgorCitpbmhlcml0IGVmbCBhdXRvdG9vbHMtYnJva2Vuc2VwCitTUkNfVVJJID0gIiR7RV9TVk59L09MRDttb2R1bGU9JHtTUkNOQU1FfTtwcm90b2NvbD1odHRwO3NjbWRhdGE9a2VlcCIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9IgorCisjIGVuZ3JhdmUubDo1OjM1OiBmYXRhbCBlcnJvcjogbGliZW5ncmF2ZV9sYS1lbmdyYXZlLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKKyMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzU2NTk3LworUE5CTEFDS0xJU1RbZW5ncmF2ZV0gPz0gIkJST0tFTjogZmFpbHMgdG8gYnVpbGQgd2l0aCBsYXRlc3Qgb2UtY29yZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VudHJhbmNlLzAwMDEtcGFtLXVzZS1jb21tb24tYXV0aC1pbnN0ZWFkLW9mLXN5c3RlbS1hdXRoLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZW50cmFuY2UvMDAwMS1wYW0tdXNlLWNvbW1vbi1hdXRoLWluc3RlYWQtb2Ytc3lzdGVtLWF1dGgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTgyZDFlZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VudHJhbmNlLzAwMDEtcGFtLXVzZS1jb21tb24tYXV0aC1pbnN0ZWFkLW9mLXN5c3RlbS1hdXRoLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK0Zyb20gMTQzOTZjNTJhMjU1NmIxYWI3NzhhMzEwYTMxOGVjMTljMjgyOTczNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMjQgTm92IDIwMTEgMTM6MjU6MzMgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gcGFtOiB1c2UgY29tbW9uLWF1dGggaW5zdGVhZCBvZiBzeXN0ZW0tYXV0aAorCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBQUk9UTy9lbnRyYW5jZS9kYXRhL2VudHJhbmNlIHwgICAgOCArKysrLS0tLQorIDEgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZGF0YS9lbnRyYW5jZSBiL2RhdGEvZW50cmFuY2UKK2luZGV4IDg3MmM4M2QuLjJiOThjM2EgMTAwNjQ0CistLS0gYS9kYXRhL2VudHJhbmNlCisrKysgYi9kYXRhL2VudHJhbmNlCitAQCAtMSw0ICsxLDQgQEAKKy1hdXRoCWluY2x1ZGUJCXN5c3RlbS1hdXRoCistYWNjb3VudAlpbmNsdWRlCQlzeXN0ZW0tYXV0aAorLXBhc3N3b3JkCWluY2x1ZGUJCXN5c3RlbS1hdXRoCistc2Vzc2lvbglpbmNsdWRlCQlzeXN0ZW0tYXV0aAorK2F1dGgJaW5jbHVkZQkJY29tbW9uLWF1dGgKKythY2NvdW50CWluY2x1ZGUJCWNvbW1vbi1hY2NvdW50CisrcGFzc3dvcmQJaW5jbHVkZQkJY29tbW9uLXBhc3N3b3JkCisrc2Vzc2lvbglpbmNsdWRlCQljb21tb24tc2Vzc2lvbgorLS0gCisxLjcuOC42CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VudHJhbmNlL2VudHJhbmNlLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbnRyYW5jZS9lbnRyYW5jZS5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4Mjg2ODYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbnRyYW5jZS9lbnRyYW5jZS5zZXJ2aWNlCkBAIC0wLDAgKzEsOCBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1Mb2dpbiBtYW5hZ2VyIGZvciBFbmxpZ2h0ZW5tZW50CisKK1tTZXJ2aWNlXQorRXhlY1N0YXJ0PS91c3Ivc2Jpbi9lbnRyYW5jZQorCitbSW5zdGFsbF0KK0FsaWFzPWRpc3BsYXktbWFuYWdlci5zZXJ2aWNlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbnRyYW5jZV9zdm4uYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbnRyYW5jZV9zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjg4OGRjOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VudHJhbmNlX3N2bi5iYgpAQCAtMCwwICsxLDQzIEBACitTVU1NQVJZID0gIkxvZ2luIG1hbmFnZXIgZm9yIEVubGlnaHRlbm1lbnQiCitERVBFTkRTID0gImVmcmVldCBlaW5hIGVldCBlY29yZSBlbGVtZW50YXJ5IgorTElDRU5TRSA9ICJHUEx2MysiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKK1NFQ1RJT04gPSAiZS9hcHBzIgorCitpbmhlcml0IGUgZ2V0dGV4dCBzeXN0ZW1kCitTUkNfVVJJID0gIiR7RV9TVk59L3RydW5rL1BST1RPO21vZHVsZT0ke1NSQ05BTUV9O3Byb3RvY29sPWh0dHA7c2NtZGF0YT1rZWVwIFwKKyAgICBmaWxlOi8vMDAwMS1wYW0tdXNlLWNvbW1vbi1hdXRoLWluc3RlYWQtb2Ytc3lzdGVtLWF1dGgucGF0Y2ggXAorICAgIGZpbGU6Ly9lbnRyYW5jZS5zZXJ2aWNlIFwKKyIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9IgorCitQTkJMQUNLTElTVFtlbnRyYW5jZV0gPz0gImJyb2tlbjogc3dpdGNoIHRvIGh0dHBzOi8vZ2l0LmVubGlnaHRlbm1lbnQub3JnL21pc2MvZW50cmFuY2UuZ2l0IGFuZCBmaXggMC4wLjQrc3ZucjgyMDcwLXI3L2VudHJhbmNlL2RhdGEvdGhlbWVzL29sZC9kZWZhdWx0LmVkYzo2NzguIGludmFsaWQgc3RhdGUgbmFtZTogJ2RlZmFhdWx0Jy4gImRlZmF1bHQiIHN0YXRlIG11c3QgYWx3YXlzIGJlIGZpcnN0LiIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbY29uc29sZWtpdF0gPSAiLS1lbmFibGUtY29uc29sZWtpdCwtLWRpc2FibGUtY29uc29sZWtpdCxjb25zb2xla2l0IgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLWVkamUtY2M9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2VkamVfY2MgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnJywgJy0tZGlzYWJsZS1wYW0nLCBkKX0iCisKK1BSID0gInI3IgorUFYgPSAiMC4wLjQrc3ZuciR7U1JDUFZ9IgorU1JDUkVWID0gIiR7RUZMX1NSQ1JFVn0iCisKK1JERVBFTkRTXyR7UE59ICs9ICIke1BOfS10aGVtZXMgc2Vzc3JlZyB4YXV0aCIKK0NPTkZGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfS9lbnRyYW5jZS5jb25mIgorCitSQ09ORkxJQ1RTXyR7UE59ICs9ICJ4c2VydmVyLW5vZG0taW5pdCIKK1JSRVBMQUNFU18ke1BOfSArPSAieHNlcnZlci1ub2RtLWluaXQiCisKK1JDT05GTElDVFNfJHtQTn0gKz0gInhzZXJ2ZXItbm9kbS1pbml0LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gInhzZXJ2ZXItbm9kbS1pbml0LXN5c3RlbWQiCisKK1JQUk9WSURFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJlbnRyYW5jZS5zZXJ2aWNlIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZW50cmFuY2Uuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZXBkZi8wMDAxLXJlbW92ZS1hbnRpYWxpYXMtZnVuY3Rpb25zLXBvcHBsZXItaGFzLWRyb3BwZWQtdGhlbS0ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lcGRmLzAwMDEtcmVtb3ZlLWFudGlhbGlhcy1mdW5jdGlvbnMtcG9wcGxlci1oYXMtZHJvcHBlZC10aGVtLS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MjhmZmE2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZXBkZi8wMDAxLXJlbW92ZS1hbnRpYWxpYXMtZnVuY3Rpb25zLXBvcHBsZXItaGFzLWRyb3BwZWQtdGhlbS0ucGF0Y2gKQEAgLTAsMCArMSwxMzIgQEAKK0Zyb20gNjY5MWFjNWZjYmFjMGU3NjZkNDQxMGFlNjQ5YTEzOTU3YWU4NTI4OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFRodSwgMjIgT2N0IDIwMTUgMTY6Mjc6NTIgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzJdIHJlbW92ZSBhbnRpYWxpYXMgZnVuY3Rpb25zIC0gcG9wcGxlciBoYXMgZHJvcHBlZCB0aGVtIGluCisgdGhlIEFQSQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitUaGUgZnVuY3Rpb25zIHJlbW92ZWQgd2VyZSBub3QgdXNlZC4KKworVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIHNyYy9saWIvZXBkZl9tYWluLmggICAgICAgICAgICAgICAgICAgfCA0NSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHNyYy9saWIvbXVwZGYvZXBkZl9tdXBkZl9tYWluLmMgICAgICAgfCAxOCAtLS0tLS0tLS0tLS0tLQorIHNyYy9saWIvcG9wcGxlci9lcGRmX3BvcHBsZXJfbWFpbi5jcHAgfCAyMSAtLS0tLS0tLS0tLS0tLS0tCisgMyBmaWxlcyBjaGFuZ2VkLCA4NCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9saWIvZXBkZl9tYWluLmggYi9zcmMvbGliL2VwZGZfbWFpbi5oCitpbmRleCA1NGE1N2NhLi4wYTc5YmFkIDEwMDY0NAorLS0tIGEvc3JjL2xpYi9lcGRmX21haW4uaAorKysrIGIvc3JjL2xpYi9lcGRmX21haW4uaAorQEAgLTI5LDQ5ICsyOSw0IEBAIEVBUEkgaW50IGVwZGZfc2h1dGRvd24oKTsKKyAgKi8KKyBFQVBJIGNvbnN0IGNoYXIgKmVwZGZfYmFja2VuZF92ZXJzaW9uX2dldCAodm9pZCk7CisgCistLyoqCistICogQGJyaWVmIFJldHVybiB0aGUgc3RhdGUgb2YgZm9udHMgYW50aWFsaWFzaW5nIGluIFBvcHBsZXIKKy0gKgorLSAqIEByZXR1cm4gRUlOQV9UUlVFIGlmIGZvbnRzIGFudGlhbGlhc2luZyBlbmFibGVkLCBFSU5BX0ZBTFNFIG90aGVyd2lzZS4KKy0gKgorLSAqIFJldHVybiBFSU5BX1RSVUUgaWYgdGhlIHN0YXRlIG9mIGZvbnRzIGFudGlhbGlhc2luZyBpcyBlbmFibGVkIGluCistICogUG9wcGxlciwgRUlOQV9GQUxTRSBvdGhlcndpc2UuCistICoKKy0gKiBAaW5ncm91cCBFcGRmX01haW4KKy0gKi8KKy1FQVBJIEVpbmFfQm9vbCBlcGRmX2ZvbnRzX2FudGlhbGlhc19nZXQgKHZvaWQpOworLQorLS8qKgorLSAqIEBicmllZiBTZXRzIGZvbnRzIGFudGlhbGlhc2luZyBtb2RlIGluIFBvcHBsZXIKKy0gKgorLSAqIEBwYXJhbSBvbiBFSU5BX1RSVUUgdG8gZW5hYmxlIGZvbnRzIGFudGlhbGlhc2luZywgRUlOQV9GQUxTRSB0byBkaXNhYmxlCistICoKKy0gKiBTZXQgQHAgb24gdG8gRUlOQV9UUlVFIHRvIGVuYWJsZSBmb250cyBhbnRpYWxpYXNpbmcgaW4gUG9wcGxlciwKKy0gKiBFSU5BX0ZBTFNFIHRvIGRpc2FibGUgaXQuCistICovCistRUFQSSB2b2lkIGVwZGZfZm9udHNfYW50aWFsaWFzX3NldCAoRWluYV9Cb29sIG9uKTsKKy0KKy0vKioKKy0gKiBAYnJpZWYgUmV0dXJuIHRoZSBzdGF0ZSBvZiBsaW5lcyBhbnRpYWxpYXNpbmcgaW4gUG9wcGxlcgorLSAqCistICogQHJldHVybiBFSU5BX1RSVUUgaWYgbGluZXMgYW50aWFsaWFzaW5nIGVuYWJsZWQsIEVJTkFfRkFMU0Ugb3RoZXJ3aXNlLgorLSAqCistICogUmV0dXJuIEVJTkFfVFJVRSBpZiB0aGUgc3RhdGUgb2YgbGluZXMgYW50aWFsaWFzaW5nIGlzIGVuYWJsZWQgaW4KKy0gKiBQb3BwbGVyLCBFSU5BX0ZBTFNFIG90aGVyd2lzZS4KKy0gKgorLSAqIEBpbmdyb3VwIEVwZGZfTWFpbgorLSAqLworLUVBUEkgRWluYV9Cb29sIGVwZGZfbGluZXNfYW50aWFsaWFzX2dldCAodm9pZCk7CistCistLyoqCistICogQGJyaWVmIFNldHMgbGluZXMgYW50aWFsaWFzaW5nIG1vZGUgaW4gUG9wcGxlcgorLSAqCistICogQHBhcmFtIG9uIEVJTkFfVFJVRSB0byBlbmFibGUgbGluZXMgYW50aWFsaWFzaW5nLCBFSU5BX0ZBTFNFIHRvIGRpc2FibGUKKy0gKgorLSAqIFNldCBAcCBvbiB0byBFSU5BX1RSVUUgdG8gZW5hYmxlIGxpbmVzIGFudGlhbGlhc2luZyBpbiBQb3BwbGVyLAorLSAqIEVJTkFfRkFMU0UgdG8gZGlzYWJsZSBpdC4KKy0gKi8KKy1FQVBJIHZvaWQgZXBkZl9saW5lc19hbnRpYWxpYXNfc2V0IChFaW5hX0Jvb2wgb24pOworLQorLQorICNlbmRpZiAvKiBfX0VQREZfTUFJTl9IX18gKi8KK2RpZmYgLS1naXQgYS9zcmMvbGliL211cGRmL2VwZGZfbXVwZGZfbWFpbi5jIGIvc3JjL2xpYi9tdXBkZi9lcGRmX211cGRmX21haW4uYworaW5kZXggMTdiYjgzMC4uMjdjNmRlMiAxMDA2NDQKKy0tLSBhL3NyYy9saWIvbXVwZGYvZXBkZl9tdXBkZl9tYWluLmMKKysrKyBiL3NyYy9saWIvbXVwZGYvZXBkZl9tdXBkZl9tYWluLmMKK0BAIC0zNywyMSArMzcsMyBAQCBlcGRmX2JhY2tlbmRfdmVyc2lvbl9nZXQgKHZvaWQpCisgeworICAgIHJldHVybiAiMC41IjsKKyB9CistCistRWluYV9Cb29sIGVwZGZfZm9udHNfYW50aWFsaWFzX2dldCh2b2lkKQorLXsKKy0gICByZXR1cm4gRUlOQV9UUlVFOworLX0KKy0KKy12b2lkIGVwZGZfZm9udHNfYW50aWFsaWFzX3NldChFaW5hX0Jvb2wgb24pCisteworLX0KKy0KKy1FaW5hX0Jvb2wgZXBkZl9saW5lc19hbnRpYWxpYXNfZ2V0KHZvaWQpCisteworLSAgIHJldHVybiBFSU5BX1RSVUU7CistfQorLQorLXZvaWQgZXBkZl9saW5lc19hbnRpYWxpYXNfc2V0KEVpbmFfQm9vbCBvbikKKy17CistfQorZGlmZiAtLWdpdCBhL3NyYy9saWIvcG9wcGxlci9lcGRmX3BvcHBsZXJfbWFpbi5jcHAgYi9zcmMvbGliL3BvcHBsZXIvZXBkZl9wb3BwbGVyX21haW4uY3BwCitpbmRleCA5ODQxOTg3Li45ZWZkYmU4IDEwMDY0NAorLS0tIGEvc3JjL2xpYi9wb3BwbGVyL2VwZGZfcG9wcGxlcl9tYWluLmNwcAorKysrIGIvc3JjL2xpYi9wb3BwbGVyL2VwZGZfcG9wcGxlcl9tYWluLmNwcAorQEAgLTQ2LDI0ICs0NiwzIEBAIGVwZGZfYmFja2VuZF92ZXJzaW9uX2dldCAodm9pZCkKKyB7CisgICByZXR1cm4gUE9QUExFUl9WRVJTSU9OOworIH0KKy0KKy1FaW5hX0Jvb2wgZXBkZl9mb250c19hbnRpYWxpYXNfZ2V0ICh2b2lkKQorLXsKKy0gIHJldHVybiBnbG9iYWxQYXJhbXMtPmdldEFudGlhbGlhcygpOworLX0KKy0KKy12b2lkIGVwZGZfZm9udHNfYW50aWFsaWFzX3NldCAoRWluYV9Cb29sIG9uKQorLXsKKy0gIC8qIE5pY2UgQVBJICovCistICBnbG9iYWxQYXJhbXMtPnNldEFudGlhbGlhcygoY2hhciopKG9uID8gInllcyIgOiAibm8iKSk7CistfQorLQorLUVpbmFfQm9vbCBlcGRmX2xpbmVzX2FudGlhbGlhc19nZXQgKHZvaWQpCisteworLSAgICByZXR1cm4gZ2xvYmFsUGFyYW1zLT5nZXRWZWN0b3JBbnRpYWxpYXMoKTsKKy19CistCistdm9pZCBlcGRmX2xpbmVzX2FudGlhbGlhc19zZXQgKEVpbmFfQm9vbCBvbikKKy17CistICAgIGdsb2JhbFBhcmFtcy0+c2V0VmVjdG9yQW50aWFsaWFzKChjaGFyKikob24gPyAieWVzIiA6ICJubyIpKTsKKy19CistLSAKKzIuMS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VwZGYvMDAwMi1lcGRmX3BvcHBsZXJfcG9zdHNjcmlwdC5jcHAtZml4LWJ1aWxkLWZvci1wb3BwbGVyLUFQLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZXBkZi8wMDAyLWVwZGZfcG9wcGxlcl9wb3N0c2NyaXB0LmNwcC1maXgtYnVpbGQtZm9yLXBvcHBsZXItQVAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzlhZGFhNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VwZGYvMDAwMi1lcGRmX3BvcHBsZXJfcG9zdHNjcmlwdC5jcHAtZml4LWJ1aWxkLWZvci1wb3BwbGVyLUFQLnBhdGNoCkBAIC0wLDAgKzEsNDUgQEAKK0Zyb20gYTg0YzE2ZmRjNjA2ZjIyYjk5M2Y4NzBiMWNlYTU2ZGQwNjBhMzVlNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFRodSwgMjIgT2N0IDIwMTUgMTY6NTU6MzAgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAyLzJdIGVwZGZfcG9wcGxlcl9wb3N0c2NyaXB0LmNwcDogZml4IGJ1aWxkIGZvciBwb3BwbGVyIEFQSQorIGNoYW5nZQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitQb3BwbGVyIEFQSSB3YXMgY2hhbmdlZCBpbiBbMV0uIFRoZSBwYXRjaCBub3Qgb25seSBzaG93cyB0aGUgY2hhbmdlIGJ1dCBhbHNvCitpbnNwaXJlcyBob3cgdG8gZml4LgorCitbMV0gaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL3BvcHBsZXIvcG9wcGxlci9jb21taXQvP2lkPTljYWY3NTI1NDA5ZDY5OWMxNjg5NjY1MzUyODQ4NjQ1MTEyM2I0ODUKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIHNyYy9saWIvcG9wcGxlci9lcGRmX3BvcHBsZXJfcG9zdHNjcmlwdC5jcHAgfCA3ICsrKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2xpYi9wb3BwbGVyL2VwZGZfcG9wcGxlcl9wb3N0c2NyaXB0LmNwcCBiL3NyYy9saWIvcG9wcGxlci9lcGRmX3BvcHBsZXJfcG9zdHNjcmlwdC5jcHAKK2luZGV4IDBjMjgzNmIuLjY1NjE5M2IgMTAwNjQ0CistLS0gYS9zcmMvbGliL3BvcHBsZXIvZXBkZl9wb3BwbGVyX3Bvc3RzY3JpcHQuY3BwCisrKysgYi9zcmMvbGliL3BvcHBsZXIvZXBkZl9wb3BwbGVyX3Bvc3RzY3JpcHQuY3BwCitAQCAtODIsMTEgKzgyLDE0IEBAIGVwZGZfcG9zdHNjcmlwdF9wcmludCAoY29uc3QgRXBkZl9Qb3N0c2NyaXB0ICpwb3N0c2NyaXB0KQorIAorICAgLy8gRklYTUU6IGZpeCBwb3N0c2NyaXB0IHRpdGxlCisgI2lmZGVmIEhBVkVfUE9QUExFUl8wXzIwCisrICBzdGQ6OnZlY3RvcjxpbnQ+IHBhZ2VzOworKyAgZm9yIChpbnQgaSA9IHBvc3RzY3JpcHQtPmZpcnN0X3BhZ2U7IGkgPD0gcG9zdHNjcmlwdC0+bGFzdF9wYWdlOyArK2kpIHsKKysgICAgcGFnZXMucHVzaF9iYWNrKGkpOworKyAgfQorICAgUFNPdXRwdXREZXYgcHNfZGV2KHBvc3RzY3JpcHQtPmZpbGVuYW1lLAorICAgICAgICAgICAgICAgICAgICAgIHBvc3RzY3JpcHQtPnBkZmRvYywKKyAgICAgICAgICAgICAgICAgICAgICAoY2hhciAqKSJQUyB0aXRsZSIsCistICAgICAgICAgICAgICAgICAgICAgcG9zdHNjcmlwdC0+Zmlyc3RfcGFnZSwKKy0gICAgICAgICAgICAgICAgICAgICBwb3N0c2NyaXB0LT5sYXN0X3BhZ2UsCisrICAgICAgICAgICAgICAgICAgICAgcGFnZXMsCisgICAgICAgICAgICAgICAgICAgICAgcHNNb2RlUFMsCisgICAgICAgICAgICAgICAgICAgICAgKGludClwb3N0c2NyaXB0LT53aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAoaW50KXBvc3RzY3JpcHQtPmhlaWdodCwKKy0tIAorMi4xLjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZXBkZl9zdm4uYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lcGRmX3N2bi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMzJhNWZkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZXBkZl9zdm4uYmIKQEAgLTAsMCArMSwyNyBAQAorU1VNTUFSWSA9ICJFcGRmIGlzIHRoZSBnbHVlIGJldHdlZW4gRUZMIGFuZCBsaWJwb3BwbGVyIgorCitERVBFTkRTID0gInBvcHBsZXIgZXZhcyBlY29yZSIKK1BWID0gIjAuMS4wK3N2bnIke1NSQ1BWfSIKK1NSQ1JFViA9ICIke0VGTF9TUkNSRVZ9IgorCitpbmhlcml0IGVmbAorCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MRVNTRVI7bWQ1PTZhNmE4ZTAyMDgzOGIyMzQwNmM4MWIxOWMxZDQ2ZGY2IFwKKyIKKworU1JDX1VSSSA9ICIgXAorICAgICR7RV9TVk59L3RydW5rL1BST1RPO21vZHVsZT0ke1NSQ05BTUV9O3Byb3RvY29sPWh0dHA7c2NtZGF0YT1rZWVwIFwKKyAgICBmaWxlOi8vMDAwMS1yZW1vdmUtYW50aWFsaWFzLWZ1bmN0aW9ucy1wb3BwbGVyLWhhcy1kcm9wcGVkLXRoZW0tLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1lcGRmX3BvcHBsZXJfcG9zdHNjcmlwdC5jcHAtZml4LWJ1aWxkLWZvci1wb3BwbGVyLUFQLnBhdGNoIFwKKyIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9IgorCitFWFRSQV9PRUNPTkYgPSAiXAorICAgIC0tZW5hYmxlLXBvcHBsZXIgXAorICAgIC0tZGlzYWJsZS1tdXBkZiBcCisiCisKKyMgU29tZSB1cGdyYWRlIHBhdGggdHdlYWtpbmcsIGFzIGluIGV2YXMKK0FVVE9fTElCTkFNRV9QS0dTID0gIiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2V2YXMtZ2VuZXJpYy1sb2FkZXJzLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2V2YXMtZ2VuZXJpYy1sb2FkZXJzLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Y2Q5ZWMxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZXZhcy1nZW5lcmljLWxvYWRlcnMuaW5jCkBAIC0wLDAgKzEsNzEgQEAKK0RFU0NSSVBUSU9OID0gIkV2YXMgZ2VuZXJpYyBsb2FkZXJzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWE4NzU2M2VkMzBhZGQyYjBlMzQ2MDI3MmQzMTM4YTAwIgorREVQRU5EUyA9ICJlaW5hIHBvcHBsZXIgbGlicnN2ZyBjYWlybyIKKworaW5oZXJpdCBlZmwKKworU1JDTkFNRSA9ICJldmFzX2dlbmVyaWNfbG9hZGVycyIKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS1lbmFibGUtcG9wcGxlciBcCisgICAgLS1lbmFibGUtc3ZnIFwKKyAgICAtLWRpc2FibGUtZ3N0cmVhbWVyIFwKKyAgICAtLWRpc2FibGUtbGlicmF3IFwKKyAgICAtLWRpc2FibGUtc3BlY3RyZSBcCisiCisKK1BBQ0tBR0VTUExJVEZVTkNTX3ByZXBlbmQgPSAic3BsaXRfZXZhc19sb2FkZXJfcGFja2FnZXMgIgorCitweXRob24gc3BsaXRfZXZhc19sb2FkZXJfcGFja2FnZXMgKCkgeworICAgIGJiLm5vdGUoICJzcGxpdHRpbmcgcGFja2FnZXMgZm9yIGV2YXMgZ2VuZXJpYyBsb2FkZXJzIiApCisgICAgYmFzZWRpciA9IGQuZXhwYW5kKCAnJHtsaWJkaXJ9L2V2YXMvdXRpbHMnKQorCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgYmFzZWRpciwgJ2V2YXNfaW1hZ2VfbG9hZGVyXC4oLiopJCcsCisgICAgb3V0cHV0X3BhdHRlcm4gPSAiZXZhcy1nZW5lcmljLWxvYWRlci0lcyIsCisgICAgZGVzY3JpcHRpb24gPSAnRXZhcyBnZW5lcmljIGxvYWRlcnMgLSBtb2R1bGUgJXMnLAorICAgIGFsbG93X2RpcnM9VHJ1ZSwgcmVjdXJzaXZlPUZhbHNlLCBleHRyYV9kZXBlbmRzPSIiICkKKworICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGJhc2VkaXIsICdldmFzX2dlbmVyaWNfcGRmX2xvYWRlclwuKC4qKSQnLAorICAgIG91dHB1dF9wYXR0ZXJuID0gImV2YXMtZ2VuZXJpYy1wZGYtbG9hZGVyLSVzIiwKKyAgICBkZXNjcmlwdGlvbiA9ICdFdmFzIGdlbmVyaWMgcGRmIGxvYWRlcnMgLSBtb2R1bGUgJXMnLAorICAgIGFsbG93X2RpcnM9VHJ1ZSwgcmVjdXJzaXZlPUZhbHNlLCBleHRyYV9kZXBlbmRzPSIiICkKK30KKworIyBhZGQgc3ltbGlua3MgZm9yIGRpZmZlcmVudCBmb3JtYXQgKGl0IGRvZXNuJ3QgbWFrZSBtdWNoIHNlbnNlIHRvIHBhY2thZ2UgdGhlbSBpbiBzZXBhcmF0ZSBwYWNrYWdlcykKK0ZJTEVTX2V2YXMtZ2VuZXJpYy1sb2FkZXIteGNmICs9ICIgXAorICAgICR7bGliZGlyfS9ldmFzL3V0aWxzL2V2YXNfaW1hZ2VfbG9hZGVyLnhjZi5neiBcCisiCitGSUxFU19ldmFzLWdlbmVyaWMtbG9hZGVyLXN2ZyArPSAiIFwKKyAgICAke2xpYmRpcn0vZXZhcy91dGlscy9ldmFzX2ltYWdlX2xvYWRlci5zdmcuZ3ogXAorICAgICR7bGliZGlyfS9ldmFzL3V0aWxzL2V2YXNfaW1hZ2VfbG9hZGVyLnN2Z3ogXAorIgorRklMRVNfZXZhcy1nZW5lcmljLWxvYWRlci1wZGYgKz0gIiBcCisgICAgJHtsaWJkaXJ9L2V2YXMvdXRpbHMvZXZhc19pbWFnZV9sb2FkZXIuZG9jIFwKKyAgICAke2xpYmRpcn0vZXZhcy91dGlscy9ldmFzX2ltYWdlX2xvYWRlci5kb2N4IFwKKyAgICAke2xpYmRpcn0vZXZhcy91dGlscy9ldmFzX2ltYWdlX2xvYWRlci5vZHAgXAorICAgICR7bGliZGlyfS9ldmFzL3V0aWxzL2V2YXNfaW1hZ2VfbG9hZGVyLm9kcyBcCisgICAgJHtsaWJkaXJ9L2V2YXMvdXRpbHMvZXZhc19pbWFnZV9sb2FkZXIub2R0IFwKKyAgICAke2xpYmRpcn0vZXZhcy91dGlscy9ldmFzX2ltYWdlX2xvYWRlci5wcHQgXAorICAgICR7bGliZGlyfS9ldmFzL3V0aWxzL2V2YXNfaW1hZ2VfbG9hZGVyLnBwdHggXAorICAgICR7bGliZGlyfS9ldmFzL3V0aWxzL2V2YXNfaW1hZ2VfbG9hZGVyLnJ0ZiBcCisgICAgJHtsaWJkaXJ9L2V2YXMvdXRpbHMvZXZhc19pbWFnZV9sb2FkZXIueGxzIFwKKyAgICAke2xpYmRpcn0vZXZhcy91dGlscy9ldmFzX2ltYWdlX2xvYWRlci54bHN4IFwKKyIKK0ZJTEVTX2V2YXMtZ2VuZXJpYy1wZGYtbG9hZGVyLWxpYnJlb2ZmaWNlICs9ICIgXAorICAgICR7bGliZGlyfS9ldmFzL3V0aWxzL2V2YXNfZ2VuZXJpY19wZGZfbG9hZGVyLmRvYyBcCisgICAgJHtsaWJkaXJ9L2V2YXMvdXRpbHMvZXZhc19nZW5lcmljX3BkZl9sb2FkZXIuZG9jeCBcCisgICAgJHtsaWJkaXJ9L2V2YXMvdXRpbHMvZXZhc19nZW5lcmljX3BkZl9sb2FkZXIub2RwIFwKKyAgICAke2xpYmRpcn0vZXZhcy91dGlscy9ldmFzX2dlbmVyaWNfcGRmX2xvYWRlci5vZHMgXAorICAgICR7bGliZGlyfS9ldmFzL3V0aWxzL2V2YXNfZ2VuZXJpY19wZGZfbG9hZGVyLm9kdCBcCisgICAgJHtsaWJkaXJ9L2V2YXMvdXRpbHMvZXZhc19nZW5lcmljX3BkZl9sb2FkZXIucHB0IFwKKyAgICAke2xpYmRpcn0vZXZhcy91dGlscy9ldmFzX2dlbmVyaWNfcGRmX2xvYWRlci5wcHR4IFwKKyAgICAke2xpYmRpcn0vZXZhcy91dGlscy9ldmFzX2dlbmVyaWNfcGRmX2xvYWRlci5ydGYgXAorICAgICR7bGliZGlyfS9ldmFzL3V0aWxzL2V2YXNfZ2VuZXJpY19wZGZfbG9hZGVyLnhscyBcCisgICAgJHtsaWJkaXJ9L2V2YXMvdXRpbHMvZXZhc19nZW5lcmljX3BkZl9sb2FkZXIueGxzeCBcCisiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2V2YXMvdXRpbHMvLmRlYnVnIgorCitQQUNLQUdFUyArPSAiZXZhcy1nZW5lcmljLWxvYWRlci1zdmciCitQQUNLQUdFU19EWU5BTUlDICs9ICJeZXZhcy1nZW5lcmljLWxvYWRlci0uKiBeZXZhcy1nZW5lcmljLXBkZi1sb2FkZXItLioiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9ldmFzLWdlbmVyaWMtbG9hZGVyc18xLjE1LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9ldmFzLWdlbmVyaWMtbG9hZGVyc18xLjE1LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTExY2U4YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2V2YXMtZ2VuZXJpYy1sb2FkZXJzXzEuMTUuMC5iYgpAQCAtMCwwICsxLDggQEAKK3JlcXVpcmUgJHtCUE59LmluYworCitTUkNfVVJJID0gIlwKKyAgICAke0VfUkVMRUFTRVN9L2xpYnMvJHtTUkNOQU1FfS8ke1NSQ05BTUV9LSR7U1JDVkVSfS50YXIuZ3ogXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiM2NhODQ0M2I4Y2JmMTc3ODQ1NTk1YzVlMDJmYmM0OWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiY2FhMjJjOWJhMWFlOTYyOWMxNmEzZmU4MDllYTkyN2Y2MGI4ZjBkODBjZGI3ZjE0NTE1OWI5OTdiOWFlMmJjZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2V4cGVkaXRlLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2V4cGVkaXRlLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MGU4NTk3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZXhwZWRpdGUuaW5jCkBAIC0wLDAgKzEsMjUgQEAKK0RFU0NSSVBUSU9OID0gIkV4cGVkaXRlIGlzIGEgY29tcHJlaGVuc2l2ZSBiZW5jaG1hcmtpbmcgc3VpdGUgZm9yIEV2YXMiCitERVBFTkRTID0gImVldCBldmFzIGxpYnNkbCIKK0xJQ0VOU0UgPSAiTUlUICYgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDcwYmM2NWQ0NjIzN2U0ZWYzODZiZWViZTdkMGZlNWIiCisKK0lOQ19QUiA9ICJyMCIKKworaW5oZXJpdCBlCisKK0VYVFJBX09FQ09ORiA9ICJcCisgICAgLS14LWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9L1gxMSBcCisgICAgLS14LWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSBcCisgICAgLS1lbmFibGUtc2ltcGxlLXgxMSBcCitcCisgICAgLS1lbmFibGUtc29mdHdhcmUteDExIFwKKyAgICAtLWVuYWJsZS14cmVuZGVyLXgxMSBcCisgICAgLS1lbmFibGUtc29mdHdhcmUtMTYteDExIFwKKyAgICAtLWVuYWJsZS1vcGVuZ2wteDExIFwKKyAgICAtLWVuYWJsZS1mYiBcCisgICAgLS1kaXNhYmxlLXNvZnR3YXJlLWRkcmF3IFwKKyAgICAtLWRpc2FibGUtZGlyZWN0M2QgXAorIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfSIKK1JERVBFTkRTXyR7UE59ID0gImV4cGVkaXRlLXRoZW1lcyBldmFzLWVuZ2luZS1mYiBldmFzLWVuZ2luZS1zb2Z0d2FyZS1nZW5lcmljIGV2YXMtZW5naW5lLXNvZnR3YXJlLXgxMSBldmFzLWVuZ2luZS1nbC14MTEgZXZhcy1sb2FkZXItcG5nIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZXhwZWRpdGVfMS43LjkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9leHBlZGl0ZV8xLjcuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZWUyZDYwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZXhwZWRpdGVfMS43LjkuYmIKQEAgLTAsMCArMSw4IEBACityZXF1aXJlICR7QlBOfS5pbmMKKworU1JDX1VSSSA9ICJcCisgICAgJHtFX01JUlJPUn0vJHtTUkNOQU1FfS0ke1NSQ1ZFUn0udGFyLmd6IFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjk1NGZlOGU0MGZlYzZhNTYxMTkwZmYwZmI3NWI2YmRkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImEwNWJlMDk2YzkxMWUwZDY2ZDRiZGM0OTdlYmI5MzVhMDRhZDIzNjk2ZGU5MDg0YWVkOTk1OWI1MTcyYTU5M2UiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9leHBlZGl0ZV9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9leHBlZGl0ZV9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWI0NGNmMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2V4cGVkaXRlX2dpdC5iYgpAQCAtMCwwICsxLDExIEBACityZXF1aXJlICR7QlBOfS5pbmMKKworU1JDUkVWID0gImE1ZTZhZjkxN2FmNTI4NzdiMzc4MDkwODExY2Y4MzZjMTZkMGJmYmIiCitQViA9ICIxLjcuOTkrZ2l0ciR7U1JDUFZ9IgorCitERUZBVUxUX1BSRUZFUkVOQ0UgPSAiLTEiCisKK1NSQ19VUkkgPSAiXAorICAgIGdpdDovL2dpdC5lbmxpZ2h0ZW5tZW50Lm9yZy90b29scy8ke0JQTn0uZ2l0IFwKKyIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvaW1saWIyX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2ltbGliMl9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU1YjMzNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2ltbGliMl9naXQuYmIKQEAgLTAsMCArMSw0NSBAQAorU1VNTUFSWSA9ICJBIGdyYXBoaWMgbGlicmFyeSBmb3IgZmlsZSBsb2FkaW5nLCBzYXZpbmcsIHJlbmRlcmluZywgYW5kIG1hbmlwdWxhdGlvbiIKK0xJQ0VOU0UgPSAiTUlUICYgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzQ0ODk1ZjI1M2MzMmYzOGUxODJkY2FmMzBmZThhMzUiCisKK0RFUEVORFMgPSAiZnJlZXR5cGUgbGlicG5nIGpwZWcgdmlydHVhbC9saWJ4MTEgbGlieGV4dCIKK1BST1ZJREVTID0gInZpcnR1YWwvaW1saWIyIgorUFYgPSAiMS40LjYrZ2l0ciR7U1JDUFZ9IgorU1JDUkVWID0gIjU2MGE1OGU2MTc3OGQ4NDk1Mzk0NGY3NDRhMDI1YWY2Y2U5ODYzMzQiCisKK2luaGVyaXQgZWZsIGJpbmNvbmZpZworU1JDX1VSSSA9ICJnaXQ6Ly9naXQuZW5saWdodGVubWVudC5vcmcvbGVnYWN5LyR7QlBOfS5naXQiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCisjIGF1dG90b29scy1icm9rZW5zZXAKK0IgPSAiJHtTfSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbZ2lmXSA9ICItLXdpdGgtZ2lmLC0td2l0aG91dC1naWYsZ2lmbGliIgorUEFDS0FHRUNPTkZJR1t0aWZmXSA9ICItLXdpdGgtdGlmZiwtLXdpdGhvdXQtdGlmZix0aWZmIgorUEFDS0FHRUNPTkZJR1tiemlwMl0gPSAiLS13aXRoLWJ6aXAyLC0td2l0aG91dC1iemlwMixiemlwMiIKK1BBQ0tBR0VDT05GSUdbaWQzXSA9ICItLXdpdGgtaWQzLC0td2l0aG91dC1pZDMsbGliaWQzdGFnIgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLXggXAorICAgICAgICAgICAgICAgIC0teC1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSBcCisgICAgICAgICAgICAgICAgLS14LWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSAiCisKKyMgVE9ETzogVXNlIG1vcmUgZmluZSBncmFudWxhciB2ZXJzaW9uCisjT0VfTFRfUlBBVEhfQUxMT1c9Ijoke2xpYmRpcn0vaW1saWIyL2xvYWRlcnM6JHtsaWJkaXJ9L2ltbGliMi9maWx0ZXJzOiIKK09FX0xUX1JQQVRIX0FMTE9XID0gImFueSIKK09FX0xUX1JQQVRIX0FMTE9XW2V4cG9ydF09IjEiCisKK1BBQ0tBR0VTID0rICJpbWxpYjItbG9hZGVycy1kYmcgaW1saWIyLWZpbHRlcnMtZGJnIGltbGliMi1sb2FkZXJzIGltbGliMi1maWx0ZXJzIgorRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYiouc28uKiAke2xpYmRpcn0vaW1saWIyLyovKi5zbyIKK0ZJTEVTXyR7UE59LWRiZyA9ICIke2xpYmRpcn0vLmRlYnVnLyAke2JpbmRpcn0vLmRlYnVnLyAke3ByZWZpeH0vc3JjL2RlYnVnLyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtiaW5kaXJ9L2ltbGliMi1jb25maWcgJHtsaWJkaXJ9Lyouc28gJHtpbmNsdWRlZGlyfSIKK0ZJTEVTXyR7UE59LWJpbiA9ICIke2JpbmRpcn0iCitGSUxFU19pbWxpYjItbG9hZGVycyA9ICIke2xpYmRpcn0vaW1saWIyL2xvYWRlcnMvKi5zbyIKK0ZJTEVTX2ltbGliMi1maWx0ZXJzID0gIiR7bGliZGlyfS9pbWxpYjIvZmlsdGVycy8qLnNvIgorRklMRVNfaW1saWIyLWxvYWRlcnMtZGJnICs9ICIke2xpYmRpcn0vaW1saWIyL2xvYWRlcnMvLmRlYnVnIgorRklMRVNfaW1saWIyLWZpbHRlcnMtZGJnICs9ICIke2xpYmRpcn0vaW1saWIyL2ZpbHRlcnMvLmRlYnVnIgorCisjIHBuZy5zbyBqcGVnLnNvIGlkMy5zbyBhcmUgYWxzbyBwcm92aWRlZCBieSBsaWdodG1lZGlhc2Nhbm5lcgorUFJJVkFURV9MSUJTX2ltbGliMi1sb2FkZXJzID0gInBubS5zbyBsYm0uc28gYXJnYi5zbyB0aWZmLnNvIHpsaWIuc28gYm1wLnNvIHRnYS5zbyBnaWYuc28geHBtLnNvIGJ6Mi5zbyIKKworUFJJVkFURV9MSUJTX2ltbGliMi1maWx0ZXJzID0gImJ1bXBtYXAuc28gY29sb3Jtb2Quc28gdGVzdGZpbHRlci5zbyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2xpYmVmbHZhbGEvZGlzYWJsZS5laW5hLnRlc3QucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9saWJlZmx2YWxhL2Rpc2FibGUuZWluYS50ZXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0YmUxMzMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9saWJlZmx2YWxhL2Rpc2FibGUuZWluYS50ZXN0LnBhdGNoCkBAIC0wLDAgKzEsNDQgQEAKK0l0IGNhdXNlcyB0ZXN0ZWluYS5jIGJ1aWxkIHRvIGZhaWwgbGlua2luZyB0byBpbnRlcm5hbCBlaW5hXy4qX3tpbml0LHNodXRkb3dufSBzeW1ib2xzCithcyByZXBvcnRlZCBpbjoKK2h0dHA6Ly9saXN0cy5hbGlvdGguZGViaWFuLm9yZy9waXBlcm1haWwvcGtnLWZzby1tYWludC8yMDEwLU1heS8wMDMwNTYuaHRtbAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorCitkaWZmIC11TnIgdmFsYS90ZXN0cy90ZXN0ZWluYS52YWxhIC4uLy4uLy4uL2FybTkyMHR0LW9lLWxpbnV4LWdudWVhYmkvbGliZWZsdmFsYS8xXzIwMTEuMDEuMTMuMStzdm5yODIwNzAtcjIvdmFsYS90ZXN0cy90ZXN0ZWluYS52YWxhCistLS0gdmFsYS90ZXN0cy90ZXN0ZWluYS52YWxhCTIwMTQtMDEtMTMgMTY6MTY6NTMuOTg0OTk5MDM1ICswMTAwCisrKysgLi4vLi4vLi4vYXJtOTIwdHQtb2UtbGludXgtZ251ZWFiaS9saWJlZmx2YWxhLzFfMjAxMS4wMS4xMy4xK3N2bnI4MjA3MC1yMi92YWxhL3Rlc3RzL3Rlc3RlaW5hLnZhbGEJMjAxMC0wMi0yNiAwOTowMjowNi4wMDAwMDAwMDAgKzAxMDAKK0BAIC0xNTMsMjIgKzE1MywyMiBAQAorIAorIHZvaWQgdGVzdF9laW5hX2JlbmNobWFyaygpCisgeworLSAgICBhc3NlcnQoIEVpbmEuTW9kdWxlLmluaXQoKSApOworLSAgICBhc3NlcnQoIEVpbmEuTGlzdC5pbml0KCkgKTsKKy0gICAgYXNzZXJ0KCBFaW5hLkFycmF5LmluaXQoKSApOworLSAgICBhc3NlcnQoIEVpbmEuQmVuY2htYXJrLmluaXQoKSApOworLSAgICBhc3NlcnQoIEVpbmEuTWVtcG9vbC5pbml0KCkgKTsKKysvLyAgYXNzZXJ0KCBFaW5hLk1vZHVsZS5pbml0KCkgKTsKKysvLyAgYXNzZXJ0KCBFaW5hLkxpc3QuaW5pdCgpICk7CisrLy8gIGFzc2VydCggRWluYS5BcnJheS5pbml0KCkgKTsKKysvLyAgYXNzZXJ0KCBFaW5hLkJlbmNobWFyay5pbml0KCkgKTsKKysvLyAgYXNzZXJ0KCBFaW5hLk1lbXBvb2wuaW5pdCgpICk7CisgICAgIHZhciBiID0gbmV3IEVpbmEuQmVuY2htYXJrKCAidGVzdCIsICJ0ZXN0Iik7CisgICAgIGFzc2VydCggYi5yZWdpc3RlciggImJvZ3VzIiwgc3BlY19vbmUsIDAsIDEwMCwgNSApICk7CisgICAgIHVub3duZWQgRWluYS5BcnJheTxzdHJpbmc+IHJlc3VsdCA9IGIucnVuKCk7CisgICAgIGFzc2VydCggcmVzdWx0LmNvdW50X2dldCgpID09IDIgKTsKKyAgICAgcmVzdWx0ID0gbnVsbDsKKyAgICAgYiA9IG51bGw7CistICAgIGFzc2VydCggRWluYS5NZW1wb29sLnNodXRkb3duKCkgKTsKKy0gICAgYXNzZXJ0KCBFaW5hLkJlbmNobWFyay5zaHV0ZG93bigpICk7CistICAgIGFzc2VydCggRWluYS5BcnJheS5zaHV0ZG93bigpICk7CistICAgIGFzc2VydCggRWluYS5MaXN0LnNodXRkb3duKCkgKTsKKy0gICAgYXNzZXJ0KCBFaW5hLk1vZHVsZS5zaHV0ZG93bigpICk7CisrLy8gIGFzc2VydCggRWluYS5NZW1wb29sLnNodXRkb3duKCkgKTsKKysvLyAgYXNzZXJ0KCBFaW5hLkJlbmNobWFyay5zaHV0ZG93bigpICk7CisrLy8gIGFzc2VydCggRWluYS5BcnJheS5zaHV0ZG93bigpICk7CisrLy8gIGFzc2VydCggRWluYS5MaXN0LnNodXRkb3duKCkgKTsKKysvLyAgYXNzZXJ0KCBFaW5hLk1vZHVsZS5zaHV0ZG93bigpICk7CisgfQorIAorIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9saWJlZmx2YWxhX3N2bi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2xpYmVmbHZhbGFfc3ZuLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ5MjJiMWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9saWJlZmx2YWxhX3N2bi5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIlZhbGEgbWVldHMgdGhlIEVubGlnaHRlbm1lbnQgRm91bmRhdGlvbiBMaWJyYXJpZXMiCitBVVRIT1IgPSAiTWljaGFlbCAnTWlja2V5JyBMYXVlciA8bWxhdWVyQHZhbmlsbGUtbWVkaWEuZGU+IgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIgorU0VDVElPTiA9ICJkZXZlbCIKK0RFUEVORFMgPSAidmFsYS1uYXRpdmUgZ2xpYi0yLjAgZGJ1cyBkYnVzLWdsaWIgZWluYSBlZXQgZXZhcyBlY29yZSBlZGplIGVsZW1lbnRhcnkgdGlmZiIKK1BWID0gIjIwMTEuMDEuMTMuMStzdm5yJHtTUkNQVn0iCitQRSA9ICIxIgorUFIgPSAicjIiCitTUkNSRVYgPSAiJHtFRkxfU1JDUkVWfSIKK1NSQ05BTUUgPSAidmFsYSIKKworaW5oZXJpdCBlLWJhc2UgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcgdmFsYQorCitTUkNfVVJJID0gIiR7RV9TVk59L3RydW5rL0JJTkRJTkdTO21vZHVsZT0ke1NSQ05BTUV9O3Byb3RvY29sPWh0dHAgXAorICAgIGZpbGU6Ly9kaXNhYmxlLmVpbmEudGVzdC5wYXRjaCBcCisiCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfSIKKworUEFDS0FHRVMgPSsgIiR7UE59LWV4YW1wbGVzIgorRklMRVNfJHtQTn0tZXhhbXBsZXMgPSAiJHtkYXRhZGlyfS9saWJlZmx2YWxhICR7YmluZGlyfS8qIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvbGliZXdlYXRoZXJfc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvbGliZXdlYXRoZXJfc3ZuLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmZjg1ODYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9saWJld2VhdGhlcl9zdm4uYmIKQEAgLTAsMCArMSw0NiBAQAorU1VNTUFSWSA9ICJFRkwtYmFzZWQgd2VhdGhlciB3aWRnZXQgbGlicmFyeSIKK0xJQ0VOU0UgPSAiTEdQTC0yLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mYmMwOTM5MDE4NTdmY2QxMThmMDY1ZjkwMDk4MmMyNCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLVBMQUlOO21kNT1jOTEwYjY0NWVkYTAwMDVjY2VjNDZmNzUyMDNkYzk2ZSIKKworREVQRU5EUyA9ICJlY29yZSBlZGplIgorUFYgPSAiMC4wLjArc3ZuciR7U1JDUFZ9IgorU1JDUkVWID0gIiR7RUZMX1NSQ1JFVn0iCisKK2luaGVyaXQgZWZsCitTUkNfVVJJID0gIiR7RV9TVk59L3RydW5rL1BST1RPO21vZHVsZT0ke1NSQ05BTUV9O3Byb3RvY29sPWh0dHA7c2NtZGF0YT1rZWVwIgorUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0iCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtZWRqZS1jYz0ke1NUQUdJTkdfQklORElSX05BVElWRX0vZWRqZV9jYyIKKworUlNVR0dFU1RTXyR7UE59ID0gImVsZW1lbnRhcnktdGVzdHMiCisKK2RvX2NvbXBpbGVfYXBwZW5kKCkgeworICAgIHNlZCAtaSAtZSBzOiR7U1RBR0lOR19ESVJfVEFSR0VUfTo6ZyBcCisgICAgICAgICAgIC1lIHM6LyR7VEFSR0VUX1NZU306OmcgXAorICAgICAgICAgICAgICBld2VhdGhlci5wYworfQorCitQQUNLQUdFUyArPSAiJHtQTn0tcGx1Z2lucyIKKworRklMRVNfJHtQTn0tdGhlbWVzID0gIlwKKyAgICAke2RhdGFkaXJ9IFwKKyIKKworRklMRVNfJHtQTn0tcGx1Z2lucyA9ICJcCisgICAgJHtsaWJkaXJ9L2V3ZWF0aGVyL3BsdWdpbnMvKi5zbyBcCisiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiXAorICAgICR7bGliZGlyfS9ld2VhdGhlci9wbHVnaW5zLy5kZWJ1ZyBcCisiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiXAorICAgICR7bGliZGlyfS9ld2VhdGhlci9wbHVnaW5zLyouYSBcCisgICAgJHtsaWJkaXJ9L2V3ZWF0aGVyL3BsdWdpbnMvKi5sYSBcCisiCisKK1JSRUNPTU1FTkRTXyR7UE59ID0gIlwKKyAgICAke1BOfS10aGVtZXMgXAorICAgICR7UE59LXBsdWdpbnMgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1lZmwtc2RrLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1lZmwtc2RrLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlYWQ0MTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWVmbC1zZGsuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJFZmwgU29mdHdhcmUgRGV2ZWxvcG1lbnQgS2l0IgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPUkVCQVNFfS9MSUNFTlNFO21kNT00ZDkyY2QzNzNhYmRhMzkzN2MyYmM0N2ZiYzQ5ZDY5MCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL0NPUFlJTkcuTUlUO21kNT0zZGE5Y2ZiY2I3ODhjODBhMDM4NDM2MWI0ZGUyMDQyMCIKKworQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKKworUFIgPSAicjEiCisKK3JlcXVpcmUgcGFja2FnZWdyb3VwLWVmbC1zZGsuaW5jCisKK1BBQ0tBR0VTID0gIiR7UE59IgorCitSREVQRU5EU18ke1BOfSA9ICJcCisgICAgcGFja2FnZWdyb3VwLWNvcmUtc2RrIFwKKyAgICAke1NESy1FRkx9IFwKKyAgICAke1NESy1FWFRSQVN9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1lZmwtc2RrLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtZWZsLXNkay5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjJiMDQ1NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtZWZsLXNkay5pbmMKQEAgLTAsMCArMSwxMiBAQAorU0RLLUVGTCA9ICIgXAorICAgICBlZmwtZGV2IFwKKyAgICAgZWxlbWVudGFyeS1kZXYgXAorICAgICBlZGJ1cy1kZXYgXAorICAgICBsdWFqaXQtZGV2IFwKKyIKKworU0RLLUVYVFJBUyA/PSAiIgorU0RLLUVYVFJBU19xZW11eDg2ID89ICIgdmFsZ3JpbmQgbHR0bmctdXN0LWRldiIKK1NESy1FWFRSQVNfcWVtdXg4Ni02NCA/PSAiIGx0dG5nLXVzdC1kZXYiCitTREstRVhUUkFTX3FlbXVwcGMgPz0gIiBsdHRuZy11c3QtZGV2IgorU0RLLUVYVFJBU19xZW11YXJtID89ICIgbHR0bmctdXN0LWRldiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtZWZsLXN0YW5kYWxvbmUtc2RrLXRhcmdldC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtZWZsLXN0YW5kYWxvbmUtc2RrLXRhcmdldC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTNmMzNkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1lZmwtc3RhbmRhbG9uZS1zZGstdGFyZ2V0LmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiRWZsIFNvZnR3YXJlIERldmVsb3BtZW50IEtpdCIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vTElDRU5TRTttZDU9NGQ5MmNkMzczYWJkYTM5MzdjMmJjNDdmYmM0OWQ2OTAgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9DT1BZSU5HLk1JVDttZDU9M2RhOWNmYmNiNzg4YzgwYTAzODQzNjFiNGRlMjA0MjAiCisKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCisKK1BSID0gInIxIgorCityZXF1aXJlIHBhY2thZ2Vncm91cC1lZmwtc2RrLmluYworCitQQUNLQUdFUyA9ICIke1BOfSAke1BOfS1kYmciCisKK1JERVBFTkRTXyR7UE59ID0gIlwKKyAgICBwYWNrYWdlZ3JvdXAtY29yZS1zdGFuZGFsb25lLXNkay10YXJnZXQgXAorICAgICR7U0RLLUVGTH0gXAorICAgICR7U0RLLUVYVFJBU30iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXgxMS1pbGx1bWUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXgxMS1pbGx1bWUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTk5NzgyOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAteDExLWlsbHVtZS5iYgpAQCAtMCwwICsxLDI0IEBACitERVNDUklQVElPTiA9ICJUaGUgSWxsdW1lIFdpbmRvd2luZyBFbnZpcm9ubWVudCAtLSBpbnN0YWxsIHRoaXMgdGFzayB0byBnZXQgdGhlIEVubGlnaHRlbm1lbnQgV2luZG93IE1hbmFnZXIgKyB0aGUgSWxsdW1lIGVudmlyb25tZW50LiIKK1NFQ1RJT04gPSAieDExL3dtIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1RPUERJUn0vbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvQ09QWUlORy5NSVQ7bWQ1PTNkYTljZmJjYjc4OGM4MGEwMzg0MzYxYjRkZTIwNDIwIgorUFYgPSAiMS4wIgorUFIgPSAicjUiCisKK2luaGVyaXQgcGFja2FnZWdyb3VwIGFsbGFyY2gKKworIyBEZWZhdWx0IHRoZW1lIGFuZCBjb25maWcKK0VUSEVNRSA/PSAiZS13bS10aGVtZS1kZWZhdWx0IgorRUNPTkZJRyA/PSAiZS13bS1jb25maWctbW9iaWxlIgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJcCisgICAgJHtFVEhFTUV9IFwKKyIKKworUkRFUEVORFNfJHtQTn0gPSAiXAorICAgIHBhY2thZ2Vncm91cC1jb3JlLXgxMS14c2VydmVyIFwKKyAgICBwYWNrYWdlZ3JvdXAtY29yZS14MTEtdXRpbHMgXAorICAgIFwKKyAgICBlLXdtIFwKKyAgICAke0VDT05GSUd9IFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvd2Via2l0L3dlYmtpdC1lZmwuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC93ZWJraXQvd2Via2l0LWVmbC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzZlZjk3NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvd2Via2l0L3dlYmtpdC1lZmwuaW5jCkBAIC0wLDAgKzEsNjkgQEAKK0RFU0NSSVBUSU9OID0gIldlYmtpdCBicm93c2VyIGVuZ2luZSwgRUZMIGVkaXRpb24iCitMSUNFTlNFID0gIkdQTHYyKyAmIExHUEwtMi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICIgXAorICAgIGZpbGU6Ly9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ09QWUlORy5MSUI7bWQ1PWQwYzZkNjM5N2E1ZDg0Mjg2ZGRhNzU4ZGE1N2JkNjkxIFwKKyAgICBmaWxlOi8vU291cmNlL1dlYkNvcmUvTElDRU5TRS1BUFBMRTttZDU9NDY0NmY5MDA4MmM0MGJjZjI5OGMyODVmOGJhYjBiMTIgXAorICAgIGZpbGU6Ly9Tb3VyY2UvV2ViQ29yZS9MSUNFTlNFLUxHUEwtMi4xO21kNT1hNzc4YTMzZWYzMzhhYmJhZjhiOGE3YzM2YjZlZWM4MCBcCisgICAgZmlsZTovL1NvdXJjZS9XZWJDb3JlL0xJQ0VOU0UtTEdQTC0yO21kNT0zNjM1N2ZmZGUyYjY0YWUxNzdiMjQ5NDQ0NWI3OWQyMSBcCisiCisKKyMgeW91IG5lZWQgaGFyZmJ1enogd2l0aCBpY3UgZW5hYmxlZCwgeW91IGNhbiBhZGQgdGhpcyB0byB5b3VyIGNvbmZpZzoKKyMgUEFDS0FHRUNPTkZJR19hcHBlbmRfcG4taGFyZmJ1enogPSAiIGljdSIKK0RFUEVORFMgPSAiaWN1IGxpYnhzbHQgc3FsaXRlMyBncGVyZi1uYXRpdmUgYmlzb24tbmF0aXZlIGZsZXgtbmF0aXZlIGpwZWcgXAorICAgICAgICAgICBsaWJwbmcgbGlieHQgZm9udGNvbmZpZyBjYWlybyBmcmVldHlwZSBnbGliLTIuMCBsaWJzb3VwLTIuNCBcCisgICAgICAgICAgIGxpYnhtbDIgcGFuZ28gZWluYSBlY29yZSBldmFzIGVkamUgZWxkYnVzIGhhcmZidXp6IGVuY2hhbnQgXAorICAgICAgICAgICBydWJ5LW5hdGl2ZSBlbGVtZW50YXJ5IgorCitQRSA9ICIxIgorCitTUkNWRVIgPz0gIiR7UFZ9IgorU1JDX1VSSSA9ICJcCisgICAgJHtFX1JFTEVBU0VTfS9saWJzL3dlYmtpdC1lZmwvZXdlYmtpdC0ke1NSQ1ZFUn0udGFyLnh6IFwKKyIKK1MgPSAiJHtXT1JLRElSfS9ld2Via2l0IgorCitpbmhlcml0IGNtYWtlIGxpYl9wYWNrYWdlIHBrZ2NvbmZpZyBwZXJsbmF0aXZlIHB5dGhvbm5hdGl2ZQorCitBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKKworRVhUUkFfT0VDTUFLRSA9ICIgXAorICAgIC1EUE9SVD1FZmwgXAorICAgIC1EU0hBUkVEX0NPUkU9T24gXAorICAgIC1ERU5BQkxFX0RSQUdfU1VQUE9SVD1PbiBcCisgICAgLURFTkFCTEVfV0VCX0FVRElPPU9mZiBcCisgICAgLURFTkFCTEVfVklERU89T2ZmIFwKKyAgICAtREVOQUJMRV9WSURFT19UUkFDSz1PZmYgXAorICAgIC1ERU5BQkxFX0FDQ0VTU0lCSUxJVFk9T2ZmIFwKKyAgICAtREVOQUJMRV9CQVRURVJZX1NUQVRVUz1PZmYgXAorIgorIyBnZW5lcmF0ZWQgQVNNIGNvZGUgaXNuJ3QgY29tcGF0aWJsZSB3aXRoIGFybXZbNDVdCisjIGl0IHdhcyByZW1vdmVkIGZyb20gbWFjcm8gYXNzZW1ibGVyIGluIHVwc3RyZWFtIGNvbW1pdCAxMjE4ODUKKyMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMTk4CitFWFRSQV9PRUNNQUtFX2FwcGVuZF9hcm12NCA9ICIgLURFTkFCTEVfTExJTlQ9T2ZmIC1ERU5BQkxFX0pJVD1PZmYgLURFTkFCTEVfREZHX0pJVD1PZmYgLURFTkFCTEVfRlRMX0pJVD1PZmYiCitFWFRSQV9PRUNNQUtFX2FwcGVuZF9hcm12NSA9ICIgLURFTkFCTEVfTExJTlQ9T2ZmIC1ERU5BQkxFX0pJVD1PZmYgLURFTkFCTEVfREZHX0pJVD1PZmYgLURFTkFCTEVfRlRMX0pJVD1PZmYiCisKKyMgaGFjayBpdCBpbiBPcHRpb25zRWZsLmNtYWtlIGJlY2F1c2UgdGhhdCBvdmVycnVsZXMgLURFTkFCTEVfTExJTlQ9T2ZmCitkb19jb25maWd1cmVfcHJlcGVuZF9hcm12NCgpIHsKKyAgICBzZWQgLWkgJ3MvV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0xMSU5UIE9OKS9XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTExJTlQgT0ZGKS9nJyAke1N9L1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCit9Citkb19jb25maWd1cmVfcHJlcGVuZF9hcm12NSgpIHsKKyAgICBzZWQgLWkgJ3MvV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0xMSU5UIE9OKS9XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTExJTlQgT0ZGKS9nJyAke1N9L1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCit9CisKKyMgYW5kIGRpc2FibGVkIExMSU5UIGN1cnJlbnRseSBpc24ndCBzdXBwb3J0ZWQsIHNvIHJlc3RyaWN0IHRvIGFybXY3YSBhbmQgeDg2KgorQ09NUEFUSUJMRV9NQUNISU5FID0gIigtKSIKK0NPTVBBVElCTEVfTUFDSElORV94ODYgPSAiKC4qKSIKK0NPTVBBVElCTEVfTUFDSElORV94ODYtNjQgPSAiKC4qKSIKK0NPTVBBVElCTEVfTUFDSElORV9hcm12N2EgPSAiKC4qKSIKKworTEVBRF9TT05BTUUgPSAibGliZXdlYmtpdC5zbyIKK1BBQ0tBR0VTID0rICIke1BOfWxhdW5jaGVyLWRiZyAke1BOfWxhdW5jaGVyICR7UE59LWluc3BlY3RvciIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZXdlYmtpdDItMS90aGVtZXMvZGVmYXVsdC5lZGoiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9jbWFrZSIKK0ZJTEVTXyR7UE59bGF1bmNoZXIgPSAiJHtiaW5kaXJ9L0VXZWJMYXVuY2hlciIKK0ZJTEVTXyR7UE59bGF1bmNoZXItZGJnID0gIiR7YmluZGlyfS8uZGVidWcvRVdlYkxhdW5jaGVyIgorRklMRVNfJHtQTn0taW5zcGVjdG9yICs9ICIke2RhdGFkaXJ9L2V3ZWJraXQyLTEvaW5zcGVjdG9yIgorCisjIGh0dHA6Ly9lcnJvcnMueW9jdG9wcm9qZWN0Lm9yZy9FcnJvcnMvRGV0YWlscy80MDY1OS8KK1BOQkxBQ0tMSVNUW3dlYmtpdC1lZmxdID89ICJPbGQgYW5kIHVubWFpbnRhbmVkIGZvcmsgd2l0aCBtYW55IHNlY3VyaXR5IGlzc3VlcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvd2Via2l0L3dlYmtpdC1lZmwvMDAwMS1PcHRpb25zQ29tbW9uLmNtYWtlLWRvbi10LW1peC1DWFhfRkxBR1MtaW50by1DX0ZMQUdTLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC93ZWJraXQvd2Via2l0LWVmbC8wMDAxLU9wdGlvbnNDb21tb24uY21ha2UtZG9uLXQtbWl4LUNYWF9GTEFHUy1pbnRvLUNfRkxBR1MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTliN2JiOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvd2Via2l0L3dlYmtpdC1lZmwvMDAwMS1PcHRpb25zQ29tbW9uLmNtYWtlLWRvbi10LW1peC1DWFhfRkxBR1MtaW50by1DX0ZMQUdTLnBhdGNoCkBAIC0wLDAgKzEsNDYgQEAKK0Zyb20gZTZjYWFmNmU4MGI5YzgwZGMyYjg2MGI0NzFhOGYwNWU4MjVmNmRmYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMTQgQXVnIDIwMTQgMDE6MDA6MjEgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzNdIE9wdGlvbnNDb21tb24uY21ha2U6IGRvbid0IG1peCBDWFhfRkxBR1MgaW50byBDX0ZMQUdTCisKKyogaXQgd2FzIGFkZGVkIGluIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzAyNjEKKyogY2F1c2VzIGJ1aWxkIGZhaWx1cmVzIGluIHVkaXM4NiB3aGljaCBleHBsaWNpdGx5IGFza3MgZm9yIGdjYyBidXQgdGhlbgorICBnZXRzIGcrKyBmbGFncyBmcm9tIENNQUtFX0NYWF9GTEFHUy4KKworY2MxOiBlcnJvcjogY29tbWFuZCBsaW5lIG9wdGlvbiAnLWZ2aXNpYmlsaXR5LWlubGluZXMtaGlkZGVuJyBpcyB2YWxpZAorZm9yIEMrKy9PYmpDKysgYnV0IG5vdCBmb3IgQyBbLVdlcnJvcl0KK2NjMTogZXJyb3I6IGNvbW1hbmQgbGluZSBvcHRpb24gJy1mcGVybWlzc2l2ZScgaXMgdmFsaWQgZm9yIEMrKy9PYmpDKysKK2J1dCBub3QgZm9yIEMgWy1XZXJyb3JdCitjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycworU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlRmlsZXMvSmF2YVNjcmlwdENvcmUuZGlyL2J1aWxkLm1ha2U6MTExODI6CityZWNpcGUgZm9yIHRhcmdldAorJ1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUZpbGVzL0phdmFTY3JpcHRDb3JlLmRpci9kaXNhc3NlbWJsZXIvdWRpczg2L3VkaXM4Ni5jLm8nCitmYWlsZWQKK21ha2VbMl06ICoqKgorW1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUZpbGVzL0phdmFTY3JpcHRDb3JlLmRpci9kaXNhc3NlbWJsZXIvdWRpczg2L3VkaXM4Ni5jLm9dCitFcnJvciAxCittYWtlWzJdOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgorbWFrZVsyXTogTGVhdmluZyBkaXJlY3RvcnkKKycvT0UvYnVpbGQvb2UtY29yZS90bXAtZWdsaWJjL3dvcmsvY29yZTItNjQtb2UtbGludXgvd2Via2l0LWVmbC8xXzEuMTAuMCsxLjExLjAtYmV0YTEtcjAvYnVpbGQnCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIFNvdXJjZS9jbWFrZS9PcHRpb25zQ29tbW9uLmNtYWtlIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNDb21tb24uY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0NvbW1vbi5jbWFrZQoraW5kZXggZTMwNGE5OS4uMDQ1YzYxNCAxMDA2NDQKKy0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zQ29tbW9uLmNtYWtlCisrKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0NvbW1vbi5jbWFrZQorQEAgLTI1LDcgKzI1LDcgQEAgZW5kaWYgKCkKKyBzZXRfcHJvcGVydHkoR0xPQkFMIFBST1BFUlRZIFVTRV9GT0xERVJTIE9OKQorIAorIGlmIChDTUFLRV9DT01QSUxFUl9JU19HTlVDWFggT1IgIiR7Q01BS0VfQ1hYX0NPTVBJTEVSX0lEfSIgU1RSRVFVQUwgIkNsYW5nIikKKy0gICAgc2V0KENNQUtFX0NfRkxBR1MgIiR7Q01BS0VfQ1hYX0ZMQUdTfSAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmciKQorKyAgICBzZXQoQ01BS0VfQ19GTEFHUyAiJHtDTUFLRV9DX0ZMQUdTfSAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmciKQorICAgICBzZXQoQ01BS0VfQ1hYX0ZMQUdTICIke0NNQUtFX0NYWF9GTEFHU30gLXN0ZD1jKysxMSAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIikKKyBlbmRpZiAoKQorIAorLS0gCisyLjEuMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL3dlYmtpdC93ZWJraXQtZWZsLzAwMDItV2ViS2l0SGVscGVycy5jbWFrZS1BZGQtV25vLWVycm9yLWRlcHJlY2F0ZWQtZGVjbGFyYS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvd2Via2l0L3dlYmtpdC1lZmwvMDAwMi1XZWJLaXRIZWxwZXJzLmNtYWtlLUFkZC1Xbm8tZXJyb3ItZGVwcmVjYXRlZC1kZWNsYXJhLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyN2E5ZTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL3dlYmtpdC93ZWJraXQtZWZsLzAwMDItV2ViS2l0SGVscGVycy5jbWFrZS1BZGQtV25vLWVycm9yLWRlcHJlY2F0ZWQtZGVjbGFyYS5wYXRjaApAQCAtMCwwICsxLDQ1IEBACitGcm9tIGRlOTM5NTFmODllODUxYjY2ODk3MTgwMjJlZWJiNGI4YjFkMTRjMDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitEYXRlOiBNb24sIDEzIEphbiAyMDE0IDE3OjIxOjI1ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMi8zXSBXZWJLaXRIZWxwZXJzLmNtYWtlOiBBZGQKKyAtV25vLWVycm9yPWRlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIC1Xbm8tZXJyb3I9Y2FzdC1hbGlnbgorIC1Xbm8tZXJyb3I9dHlwZS1saW1pdHMKKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgU291cmNlL2NtYWtlL1dlYktpdEhlbHBlcnMuY21ha2UgfCAxMCArKysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRIZWxwZXJzLmNtYWtlIGIvU291cmNlL2NtYWtlL1dlYktpdEhlbHBlcnMuY21ha2UKK2luZGV4IDIyN2I5ZWUuLmFlNTJlZjYgMTAwNjQ0CistLS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0SGVscGVycy5jbWFrZQorKysrIGIvU291cmNlL2NtYWtlL1dlYktpdEhlbHBlcnMuY21ha2UKK0BAIC00MCw2ICs0MCwyNSBAQCBtYWNybyhXRUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTIF90YXJnZXQpCisgICAgICAgICAgICAgIyBGSVhNRTogV2hlbiB3ZSB1c2UgLWZuby10cmVlLWRjZSB0byBzdXBwb3J0IHRoZSBqc0NTdGFjayBicmFuY2ggbWVyZ2UsIGJ1aWxkIGVycm9yIG9jY3VycyBkdWUgdG8gdGhlIHVuaW5pdGlhbGl6YXRpb24uIFRlbXBvcmFyaWx5IHdlIHNldAorICAgICAgICAgICAgICMgdW5pbml0aWFsaXplZCBhcyBidWlsZCB3YXJuaW5nIGluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGpzQ1N0YWNrIG1lcmdlLiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3Nzc3LgorICAgICAgICAgICAgIHNldChPTERfQ09NUElMRV9GTEFHUyAiLVdlcnJvciAtV25vLWVycm9yPXVudXNlZC1wYXJhbWV0ZXIgLVduby1lcnJvcj11bmluaXRpYWxpemVkIC1Xbm8tZXJyb3I9bGl0ZXJhbC1zdWZmaXggJHtPTERfQ09NUElMRV9GTEFHU30iKQorKyAgICAgICAgICAgICMgbGlic291cC0yLjQvbGlic291cC9zb3VwLXByb3h5LXVyaS1yZXNvbHZlci5oOjEzOjg0OiBlcnJvcjogJ0dUeXBlIHNvdXBfcHJveHlfdXJpX3Jlc29sdmVyX2dldF90eXBlKCknIGlzIGRlcHJlY2F0ZWQgKGRlY2xhcmVkIGF0IC9PRS9idWlsZC9vZS1jb3JlL3RtcC1lZ2xpYmMvc3lzcm9vdHMvcWVtdXg4Ni02NC91c3IvaW5jbHVkZS9saWJzb3VwLTIuNC9saWJzb3VwL3NvdXAtcHJveHktdXJpLXJlc29sdmVyLmg6NDgpIFstV2Vycm9yPWRlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQorKyAgICAgICAgICAgIHNldChPTERfQ09NUElMRV9GTEFHUyAiLVduby1lcnJvcj1kZXByZWNhdGVkLWRlY2xhcmF0aW9ucyAke09MRF9DT01QSUxFX0ZMQUdTfSIpCisrICAgICAgICAgICAgIyB3ZWJraXQtZWZsLzFfMS4xMC4wKzEuMTEuMC1iZXRhMS1yMC9ld2Via2l0L1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oOjc0Mjo4NzogZXJyb3I6IGNhc3QgZnJvbSAndWludDhfdCoge2FrYSB1bnNpZ25lZCBjaGFyKn0nIHRvICdXVEY6OlN0cmluZ0ltcGwqKicgaW5jcmVhc2VzIHJlcXVpcmVkIGFsaWdubWVudCBvZiB0YXJnZXQgdHlwZSBbLVdlcnJvcj1jYXN0LWFsaWduXQorKyAgICAgICAgICAgIHNldChPTERfQ09NUElMRV9GTEFHUyAiLVduby1lcnJvcj1jYXN0LWFsaWduICR7T0xEX0NPTVBJTEVfRkxBR1N9IikKKysgICAgICAgICAgICAjIHdlYmtpdC1lZmwvMV8xLjEwLjArMS4xMS4wLWJldGExLXIwL2V3ZWJraXQvU291cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1dlYk1lbW9yeVNhbXBsZXJMaW51eC5jcHA6NzA6MTY6IGVycm9yOiBjb21wYXJpc29uIGlzIGFsd2F5cyBmYWxzZSBkdWUgdG8gbGltaXRlZCByYW5nZSBvZiBkYXRhIHR5cGUgWy1XZXJyb3I9dHlwZS1saW1pdHNdCisrICAgICAgICAgICAgc2V0KE9MRF9DT01QSUxFX0ZMQUdTICItV25vLWVycm9yPXR5cGUtbGltaXRzICR7T0xEX0NPTVBJTEVfRkxBR1N9IikKKysgICAgICAgICAgICAjIHdlYmtpdC1lZmwvMV8xLjExLjAtcjAvZXdlYmtpdC9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcDo4MzI6NTogZXJyb3I6IG1pc3NpbmcgaW5pdGlhbGl6ZXIgZm9yIG1lbWJlciAnX0V2YXNfR0xfQ29uZmlnOjpnbGVzX3ZlcnNpb24nIFstV2Vycm9yPW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzXQorKyAgICAgICAgICAgICMgdGhpcyBvbmUgaXMgbmV3IHdpdGggZWZsLTEuMTIKKysgICAgICAgICAgICBzZXQoT0xEX0NPTVBJTEVfRkxBR1MgIi1Xbm8tZXJyb3I9bWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgJHtPTERfQ09NUElMRV9GTEFHU30iKQorKyAgICAgICAgICAgICMgd2Via2l0LWVmbC8xXzEuMTEuMC1yMC9ld2Via2l0L1NvdXJjZS9XVEYvd3RmL2R0b2EvYmlnbnVtLmNjOjEwNToxMDogZXJyb3I6IGFzc3VtaW5nIHNpZ25lZCBvdmVyZmxvdyBkb2VzIG5vdCBvY2N1ciB3aGVuIGFzc3VtaW5nIHRoYXQgKFggKyBjKSA8IFggaXMgYWx3YXlzIGZhbHNlIFstV2Vycm9yPXN0cmljdC1vdmVyZmxvd10KKysgICAgICAgICAgICAjIHRoaXMgb25lIGlzIG5ldyB3aXRoIGdjYy01LjIKKysgICAgICAgICAgICBzZXQoT0xEX0NPTVBJTEVfRkxBR1MgIi1Xbm8tZXJyb3I9c3RyaWN0LW92ZXJmbG93ICR7T0xEX0NPTVBJTEVfRkxBR1N9IikKKysgICAgICAgICAgICAjIHdlYmtpdC1lZmwvMV8xLjExLjAtcjAvZXdlYmtpdC9Tb3VyY2UvV1RGL3d0Zi9TYXR1cmF0ZWRBcml0aG1ldGljLmg6NDY6MjY6IGVycm9yOiBzdWdnZXN0IHBhcmVudGhlc2VzIGFyb3VuZCBvcGVyYW5kIG9mICchJyBvciBjaGFuZ2UgJyYnIHRvICcmJicgb3IgJyEnIHRvICd+JyBbLVdlcnJvcj1wYXJlbnRoZXNlc10KKysgICAgICAgICAgICAjIHRoaXMgb25lIGlzIG5ldyB3aXRoIGdjYy01LjIKKysgICAgICAgICAgICBzZXQoT0xEX0NPTVBJTEVfRkxBR1MgIi1Xbm8tZXJyb3I9cGFyZW50aGVzZXMgJHtPTERfQ09NUElMRV9GTEFHU30iKQorKyAgICAgICAgICAgICMgd2Via2l0LWVmbC8xXzEuMTEuMC1yMC9ld2Via2l0L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTY3JpcHQuY3BwOjEwMzoxMDg6IGVycm9yOiBsb2dpY2FsIG5vdCBpcyBvbmx5IGFwcGxpZWQgdG8gdGhlIGxlZnQgaGFuZCBzaWRlIG9mIGNvbXBhcmlzb24gWy1XZXJyb3I9bG9naWNhbC1ub3QtcGFyZW50aGVzZXNdCisrICAgICAgICAgICAgIyB0aGlzIG9uZSBpcyBuZXcgd2l0aCBnY2MtNS4yCisrICAgICAgICAgICAgc2V0KE9MRF9DT01QSUxFX0ZMQUdTICItV25vLWVycm9yPWxvZ2ljYWwtbm90LXBhcmVudGhlc2VzICR7T0xEX0NPTVBJTEVfRkxBR1N9IikKKysKKyAgICAgICAgIGVuZGlmICgpCisgCisgICAgICAgICBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoJHtfdGFyZ2V0fSBQUk9QRVJUSUVTCistLSAKKzIuMS4zCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvd2Via2l0L3dlYmtpdC1lZmwvMDAwMy1GRUJsZW5kTkVPTi5oLWZpeC1taXNzaW5nLXNlbWljb2xvbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvd2Via2l0L3dlYmtpdC1lZmwvMDAwMy1GRUJsZW5kTkVPTi5oLWZpeC1taXNzaW5nLXNlbWljb2xvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzE4ZWUxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC93ZWJraXQvd2Via2l0LWVmbC8wMDAzLUZFQmxlbmRORU9OLmgtZml4LW1pc3Npbmctc2VtaWNvbG9uLnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK0Zyb20gYTA3NmQ3NmI4ZTg4NjJiZDY0MWNkOTkxMTkwZTgyY2ZkNDc4Y2M2NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMjAgQXVnIDIwMTQgMDA6NTI6MDMgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAzLzNdIEZFQmxlbmRORU9OLmg6IGZpeCBtaXNzaW5nIHNlbWljb2xvbgorCisqIE90aGVyd2lzZSBmYWlscyB3aXRoOgorSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGV3ZWJraXQvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUJsZW5kLmNwcDoyOTowOgorZXdlYmtpdC9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVCbGVuZE5FT04uaDogSW4gbWVtYmVyIGZ1bmN0aW9uICd2aXJ0dWFsIHZvaWQgV2ViQ29yZTo6RkVCbGVuZDo6cGxhdGZvcm1BcHBseVNvZnR3YXJlKCknOgorZXdlYmtpdC9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVCbGVuZE5FT04uaDoxMzA6NTogZXJyb3I6IGV4cGVjdGVkIHByaW1hcnktZXhwcmVzc2lvbiBiZWZvcmUgJ30nIHRva2VuCisgICAgIH0KKyAgICAgXgorZXdlYmtpdC9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVCbGVuZE5FT04uaDoxMzA6NTogZXJyb3I6IHJldHVybi1zdGF0ZW1lbnQgd2l0aCBhIHZhbHVlLCBpbiBmdW5jdGlvbiByZXR1cm5pbmcgJ3ZvaWQnIFstZnBlcm1pc3NpdmVdCitld2Via2l0L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9GRUJsZW5kTkVPTi5oOjEzMDo1OiBlcnJvcjogZXhwZWN0ZWQgJzsnIGJlZm9yZSAnfScgdG9rZW4KKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3B1L2FybS9maWx0ZXJzL0ZFQmxlbmRORU9OLmggfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVCbGVuZE5FT04uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9GRUJsZW5kTkVPTi5oCitpbmRleCAxYzUwNzY1Li5mNGI2ZjQ2IDEwMDY0NAorLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3B1L2FybS9maWx0ZXJzL0ZFQmxlbmRORU9OLmgKKysrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9GRUJsZW5kTkVPTi5oCitAQCAtMTI2LDcgKzEyNiw3IEBAIHZvaWQgRkVCbGVuZDo6cGxhdGZvcm1BcHBseVNvZnR3YXJlKCkKKyAKKyAgICAgaWYgKHBpeGVsQXJyYXlMZW5ndGggPj0gOCkgeworICAgICAgICAgcGxhdGZvcm1BcHBseU5FT04oc3JjUGl4ZWxBcnJheUEtPmRhdGEoKSwgc3JjUGl4ZWxBcnJheUItPmRhdGEoKSwgZHN0UGl4ZWxBcnJheS0+ZGF0YSgpLCBwaXhlbEFycmF5TGVuZ3RoKTsKKy0gICAgICAgIHJldHVybgorKyAgICAgICAgcmV0dXJuOworICAgICB9CisgICAgIC8vIElmIHRoZXJlIGlzIGp1c3Qgb25lIHBpeGVsIHdlIGV4cGFuZCBpdCB0byB0d28uCisgICAgIEFTU0VSVChwaXhlbEFycmF5TGVuZ3RoID4gMCk7CistLSAKKzIuMS4zCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvd2Via2l0L3dlYmtpdC1lZmwvMDAwNC1GaXgtdGhlLWJ1aWxkLXdpdGgtRUZMLTEuMTItaHR0cHMtYnVncy53ZWJraXQub3JnLXNoLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC93ZWJraXQvd2Via2l0LWVmbC8wMDA0LUZpeC10aGUtYnVpbGQtd2l0aC1FRkwtMS4xMi1odHRwcy1idWdzLndlYmtpdC5vcmctc2gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmZhMzA1MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvd2Via2l0L3dlYmtpdC1lZmwvMDAwNC1GaXgtdGhlLWJ1aWxkLXdpdGgtRUZMLTEuMTItaHR0cHMtYnVncy53ZWJraXQub3JnLXNoLnBhdGNoCkBAIC0wLDAgKzEsMTQ2IEBACitGcm9tIGJhZWJjMDA0MTExMjg5ZWY2NThjNzhhNDJmODMzMmYzZGNlZWY0MWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiAicnl1YW4uY2hvaUBuYXZlcmNvcnAuY29tIiA8cnl1YW4uY2hvaUBuYXZlcmNvcnAuY29tPgorRGF0ZTogVGh1LCAxMyBOb3YgMjAxNCAwNzowNzoxNiArMDAwMAorU3ViamVjdDogW1BBVENIIDQvNF0gRml4IHRoZSBidWlsZCB3aXRoIEVGTCAxLjEyCisgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzODI0NQorCitSZXZpZXdlZCBieSBHeXV5b3VuZyBLaW0uCisKK1NvdXJjZS9XZWJLaXQyOgorCisqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwOgorRmlyc3QsIG1vZGlmaWVkIHRvIHVzZSBFdmFzX0dMIHJhdyBwb2ludGVyIGluc3RlYWQgb2YgVW5pcXVlUHRyRWZsIGJlY2F1c2UKK0V2YXNfR0wuaCBjYW4ndCBiZSBpbmNsdWRlZCBpbiBVbmlxdWVQdHJFZmwuaAorSXQgc2hvdWxkIGJlIG1vdmVkIGludG8gRXZhc0dMQ29udGV4dCBiZWNhdXNlIFdlYktpdC9FRkwgdXNlIG9ubHkgb25lIEV2YXNfR0wuCitTZWNvbmQsIHByb3ZpZGVkIHRoZSB2ZXJzaW9uIG9mIEdMRVMgaW4gRXZhc19HTF9Db25maWcgbm90IHRvIGJyZWFrIGJ1aWxkIHdpdGgKK0VGTCAxLjEyCisoRXdrVmlldzo6RXdrVmlldyk6CisoRXdrVmlldzo6fkV3a1ZpZXcpOgorKEV3a1ZpZXc6OmRpc3BsYXlUaW1lckZpcmVkKToKKyhFd2tWaWV3OjpjcmVhdGVHTFN1cmZhY2UpOgorKiBVSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3Lmg6CisKK1NvdXJjZS9XVEY6CisKKyogd3RmL2VmbC9VbmlxdWVQdHJFZmwuaDoKK1JlbW92ZWQgRXZhc19HTC5oIGZyb20gVW5pcXVlUHRyRWZsLmgsIHdoaWNoIGlzIGNvbW1vbmx5IGluY2x1ZGVkLCBiZWNhdXNlCitpdCBzaG91bGQgbm90IGJlIGluY2x1ZGVkIHdpdGggb2ZmaWNpYWwgR0wgaGVhZGVycy4KKworZ2l0LXN2bi1pZDogaHR0cDovL3N2bi53ZWJraXQub3JnL3JlcG9zaXRvcnkvd2Via2l0L3RydW5rQDE3NjA2NiAyNjhmNDVjYy1jZDA5LTA0MTAtYWIzYy1kNTI2OTFiNGRiZmMKKy0tLQorIFNvdXJjZS9XVEYvd3RmL2VmbC9VbmlxdWVQdHJFZmwuaCAgICAgICAgICAgIHwgIDIgLS0KKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcCB8IDI0ICsrKysrKysrKysrKysrKystLS0tLS0tLQorIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaCAgIHwgIDMgKystCisgMyBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2VmbC9VbmlxdWVQdHJFZmwuaCBiL1NvdXJjZS9XVEYvd3RmL2VmbC9VbmlxdWVQdHJFZmwuaAoraW5kZXggYmEwMTEwYS4uMDM4ZDNmYiAxMDA2NDQKKy0tLSBhL1NvdXJjZS9XVEYvd3RmL2VmbC9VbmlxdWVQdHJFZmwuaAorKysrIGIvU291cmNlL1dURi93dGYvZWZsL1VuaXF1ZVB0ckVmbC5oCitAQCAtMzMsNyArMzMsNiBAQAorICNpbmNsdWRlIDxFY29yZV9JTUYuaD4KKyAjaW5jbHVkZSA8RWluYS5oPgorICNpbmNsdWRlIDxFdmFzLmg+CistI2luY2x1ZGUgPEV2YXNfR0wuaD4KKyAKKyBuYW1lc3BhY2UgV1RGIHsKKyAKK0BAIC01MSw3ICs1MCw2IEBAIHVzaW5nIEVmbFVuaXF1ZVB0ciA9IHN0ZDo6dW5pcXVlX3B0cjxULCBFZmxQdHJEZWxldGVyPFQ+PjsKKyAgICAgbWFjcm8oRWluYV9IYXNoLCBlaW5hX2hhc2hfZnJlZSkgXAorICAgICBtYWNybyhFaW5hX01vZHVsZSwgZWluYV9tb2R1bGVfZnJlZSkgXAorICAgICBtYWNybyhFdmFzX09iamVjdCwgZXZhc19vYmplY3RfZGVsKSBcCistICAgIG1hY3JvKEV2YXNfR0wsIGV2YXNfZ2xfZnJlZSkKKyAKKyAjZGVmaW5lIFdURl9ERUZJTkVfRUZMUFRSX0RFTEVURVIodHlwZU5hbWUsIGRlbGV0ZXJGdW5jKSBcCisgICAgIHRlbXBsYXRlPD4gc3RydWN0IEVmbFB0ckRlbGV0ZXI8dHlwZU5hbWU+IFwKK2RpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCitpbmRleCA1MGQzNGVkLi42ZmYzMzk0IDEwMDc1NQorLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKKysrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCitAQCAtMjk5LDkgKzI5OSwxMSBAQCBFd2tWaWV3OjpFd2tWaWV3KFdLVmlld1JlZiB2aWV3LCBFdmFzX09iamVjdCogZXZhc09iamVjdCkKKyAKKyAgICAgLy8gRklYTUU6IFJlbW92ZSB3aGVuIHBvc3NpYmxlLgorICAgICBzdGF0aWNfY2FzdDxXZWJWaWV3RWZsKj4od2ViVmlldygpKS0+c2V0RXdrVmlldyh0aGlzKTsKKy0gICAgbV9ldmFzR0wgPSBFZmxVbmlxdWVQdHI8RXZhc19HTD4oZXZhc19nbF9uZXcoZXZhc19vYmplY3RfZXZhc19nZXQobV9ldmFzT2JqZWN0KSkpOworKworKyAgICAvLyBGSVhNRTogQ29uc2lkZXIgaXQgdG8gbW92ZSBpbnRvIEV2YXNHTENvbnRleHQuCisrICAgIG1fZXZhc0dMID0gZXZhc19nbF9uZXcoZXZhc19vYmplY3RfZXZhc19nZXQobV9ldmFzT2JqZWN0KSk7CisgICAgIGlmIChtX2V2YXNHTCkKKy0gICAgICAgIG1fZXZhc0dMQ29udGV4dCA9IEV2YXNHTENvbnRleHQ6OmNyZWF0ZShtX2V2YXNHTC5nZXQoKSk7CisrICAgICAgICBtX2V2YXNHTENvbnRleHQgPSBFdmFzR0xDb250ZXh0OjpjcmVhdGUobV9ldmFzR0wpOworIAorICAgICBpZiAoIW1fZXZhc0dMQ29udGV4dCkgeworICAgICAgICAgV0FSTigiRmFpbGVkIHRvIGNyZWF0ZSBFdmFzX0dMLCBmYWxsaW5nIGJhY2sgdG8gc29mdHdhcmUgbW9kZS4iKTsKK0BAIC0zMzMsNiArMzM1LDkgQEAgRXdrVmlldzo6fkV3a1ZpZXcoKQorIHsKKyAgICAgQVNTRVJUKHdrUGFnZVRvRXZhc09iamVjdE1hcCgpLmdldCh3a1BhZ2UoKSkgPT0gbV9ldmFzT2JqZWN0KTsKKyAgICAgd2tQYWdlVG9FdmFzT2JqZWN0TWFwKCkucmVtb3ZlKHdrUGFnZSgpKTsKKysKKysgICAgaWYgKG1fZXZhc0dMKQorKyAgICAgICAgZXZhc19nbF9mcmVlKG1fZXZhc0dMKTsKKyB9CisgCisgRXdrVmlldyogRXdrVmlldzo6Y3JlYXRlKFdLVmlld1JlZiB3ZWJWaWV3LCBFdmFzKiBjYW52YXMsIEV2YXNfU21hcnQqIHNtYXJ0KQorQEAgLTU4Nyw3ICs1OTIsNyBAQCB2b2lkIEV3a1ZpZXc6OmRpc3BsYXlUaW1lckZpcmVkKFRpbWVyPEV3a1ZpZXc+KikKKyAgICAgICAgIHJldHVybjsKKyAgICAgfQorIAorLSAgICBldmFzX2dsX21ha2VfY3VycmVudChtX2V2YXNHTC5nZXQoKSwgbV9ldmFzR0xTdXJmYWNlLT5zdXJmYWNlKCksIG1fZXZhc0dMQ29udGV4dC0+Y29udGV4dCgpKTsKKysgICAgZXZhc19nbF9tYWtlX2N1cnJlbnQobV9ldmFzR0wsIG1fZXZhc0dMU3VyZmFjZS0+c3VyZmFjZSgpLCBtX2V2YXNHTENvbnRleHQtPmNvbnRleHQoKSk7CisgCisgICAgIFdLVmlld1BhaW50VG9DdXJyZW50R0xDb250ZXh0KHdrVmlldygpKTsKKyAKK0BAIC04MjgsMjEgKzgzMywyNCBAQCBib29sIEV3a1ZpZXc6OmNyZWF0ZUdMU3VyZmFjZSgpCisgICAgICAgICBFVkFTX0dMX0RFUFRIX0JJVF84LAorICAgICAgICAgRVZBU19HTF9TVEVOQ0lMX05PTkUsCisgICAgICAgICBFVkFTX0dMX09QVElPTlNfTk9ORSwKKy0gICAgICAgIEVWQVNfR0xfTVVMVElTQU1QTEVfTk9ORQorKyAgICAgICAgRVZBU19HTF9NVUxUSVNBTVBMRV9OT05FLAorKyNpZiBkZWZpbmVkKEVWQVNfR0xfQVBJX1ZFUlNJT04pICYmIEVWQVNfR0xfQVBJX1ZFUlNJT04gPj0gMgorKyAgICAgICAgRVZBU19HTF9HTEVTXzJfWAorKyNlbmRpZgorICAgICB9OworIAorICAgICAvLyBSZWNyZWF0ZSB0byBjdXJyZW50IHNpemU6IFJlcGxhY2VzIGlmIG5vbi1udWxsLCBhbmQgZnJlZXMgZXhpc3Rpbmcgc3VyZmFjZSBhZnRlciAoT3duUHRyKS4KKy0gICAgbV9ldmFzR0xTdXJmYWNlID0gRXZhc0dMU3VyZmFjZTo6Y3JlYXRlKG1fZXZhc0dMLmdldCgpLCAmZXZhc0dMQ29uZmlnLCBkZXZpY2VTaXplKCkpOworKyAgICBtX2V2YXNHTFN1cmZhY2UgPSBFdmFzR0xTdXJmYWNlOjpjcmVhdGUobV9ldmFzR0wsICZldmFzR0xDb25maWcsIGRldmljZVNpemUoKSk7CisgICAgIGlmICghbV9ldmFzR0xTdXJmYWNlKQorICAgICAgICAgcmV0dXJuIGZhbHNlOworIAorICAgICBFdmFzX05hdGl2ZV9TdXJmYWNlIG5hdGl2ZVN1cmZhY2U7CistICAgIGV2YXNfZ2xfbmF0aXZlX3N1cmZhY2VfZ2V0KG1fZXZhc0dMLmdldCgpLCBtX2V2YXNHTFN1cmZhY2UtPnN1cmZhY2UoKSwgJm5hdGl2ZVN1cmZhY2UpOworKyAgICBldmFzX2dsX25hdGl2ZV9zdXJmYWNlX2dldChtX2V2YXNHTCwgbV9ldmFzR0xTdXJmYWNlLT5zdXJmYWNlKCksICZuYXRpdmVTdXJmYWNlKTsKKyAgICAgZXZhc19vYmplY3RfaW1hZ2VfbmF0aXZlX3N1cmZhY2Vfc2V0KHNtYXJ0RGF0YSgpLT5pbWFnZSwgJm5hdGl2ZVN1cmZhY2UpOworIAorLSAgICBldmFzX2dsX21ha2VfY3VycmVudChtX2V2YXNHTC5nZXQoKSwgbV9ldmFzR0xTdXJmYWNlLT5zdXJmYWNlKCksIG1fZXZhc0dMQ29udGV4dC0+Y29udGV4dCgpKTsKKysgICAgZXZhc19nbF9tYWtlX2N1cnJlbnQobV9ldmFzR0wsIG1fZXZhc0dMU3VyZmFjZS0+c3VyZmFjZSgpLCBtX2V2YXNHTENvbnRleHQtPmNvbnRleHQoKSk7CisgCistICAgIEV2YXNfR0xfQVBJKiBnbCA9IGV2YXNfZ2xfYXBpX2dldChtX2V2YXNHTC5nZXQoKSk7CisrICAgIEV2YXNfR0xfQVBJKiBnbCA9IGV2YXNfZ2xfYXBpX2dldChtX2V2YXNHTCk7CisgCisgICAgIFdLUG9pbnQgYm91bmRzRW5kID0gV0tWaWV3VXNlclZpZXdwb3J0VG9TY2VuZSh3a1ZpZXcoKSwgV0tQb2ludE1ha2UoZGV2aWNlU2l6ZSgpLndpZHRoKCksIGRldmljZVNpemUoKS5oZWlnaHQoKSkpOworICAgICBnbC0+Z2xWaWV3cG9ydCgwLCAwLCBib3VuZHNFbmQueCwgYm91bmRzRW5kLnkpOworZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaAoraW5kZXggMWM0ODJjZi4uNjhkYWI4NyAxMDA2NDQKKy0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaAorKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCitAQCAtMzksNiArMzksNyBAQAorICNlbmRpZgorIAorIHR5cGVkZWYgc3RydWN0IF9jYWlyb19zdXJmYWNlIGNhaXJvX3N1cmZhY2VfdDsKKyt0eXBlZGVmIHN0cnVjdCBfRXZhc19HTCBFdmFzX0dMOworIAorIG5hbWVzcGFjZSBXZWJLaXQgeworIGNsYXNzIENvbnRleHRNZW51Q2xpZW50RWZsOworQEAgLTI0MSw3ICsyNDIsNyBAQCBwcml2YXRlOgorICAgICBFdmFzX09iamVjdCogbV9ldmFzT2JqZWN0OworICAgICBSZWZQdHI8RXdrQ29udGV4dD4gbV9jb250ZXh0OworICAgICBSZWZQdHI8RXdrUGFnZUdyb3VwPiBtX3BhZ2VHcm91cDsKKy0gICAgRWZsVW5pcXVlUHRyPEV2YXNfR0w+IG1fZXZhc0dMOworKyAgICBFdmFzX0dMKiBtX2V2YXNHTDsKKyAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkV2YXNHTENvbnRleHQ+IG1fZXZhc0dMQ29udGV4dDsKKyAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkV2YXNHTFN1cmZhY2U+IG1fZXZhc0dMU3VyZmFjZTsKKyAgICAgYm9vbCBtX3BlbmRpbmdTdXJmYWNlUmVzaXplOworLS0gCisyLjEuMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL3dlYmtpdC93ZWJraXQtZWZsLzAwMDUtRml4LXRoZS1idWlsZC13aXRoLWNtYWtlLTMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL3dlYmtpdC93ZWJraXQtZWZsLzAwMDUtRml4LXRoZS1idWlsZC13aXRoLWNtYWtlLTMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2U4ZTI5NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvd2Via2l0L3dlYmtpdC1lZmwvMDAwNS1GaXgtdGhlLWJ1aWxkLXdpdGgtY21ha2UtMy5wYXRjaApAQCAtMCwwICsxLDEwNCBAQAorRnJvbSBhMDBhNzA5N2I4NTU2N2FlNmViN2EwMGIzY2U3ZWYwMjE4NDEyMDNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogVGh1LCAyNCBTZXAgMjAxNSAxODowMzo1MiArMDIwMAorU3ViamVjdDogW1BBVENIIDUvNV0gRml4IHRoZSBidWlsZCB3aXRoIGNtYWtlIDMKKworKiB0aGUgc2FtZSBpc3N1ZSBhcyBpbiBHVEsgcG9ydDoKKyAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MTc5NgorICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xODA1MDIKKworKiBvdGhlcndpc2UgbGlua2luZyBmYWlscyB3aXRoIGNvdXBsZSB1bmRlZmluZWQgc3ltYm9scworfCBDTWFrZUZpbGVzL1dlYktpdDIuZGlyL1BsdWdpblByb2Nlc3MvdW5peC9QbHVnaW5Qcm9jZXNzTWFpblVuaXguY3BwLm86IEluIGZ1bmN0aW9uIGBXZWJLaXQ6OndlYmtpdFhFcnJvcihfWERpc3BsYXkqLCBYRXJyb3JFdmVudCopJzoKK3wgZXdlYmtpdC9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL3VuaXgvUGx1Z2luUHJvY2Vzc01haW5Vbml4LmNwcDo2MzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgWEdldEVycm9yVGV4dCcKK3wgQ01ha2VGaWxlcy9XZWJLaXQyLmRpci9QbHVnaW5Qcm9jZXNzL3VuaXgvUGx1Z2luUHJvY2Vzc01haW5Vbml4LmNwcC5vOiBJbiBmdW5jdGlvbiBgV2ViS2l0OjpQbHVnaW5Qcm9jZXNzTWFpbjo6cGFyc2VDb21tYW5kTGluZShpbnQsIGNoYXIqKiknOgorfCBld2Via2l0L1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvdW5peC9QbHVnaW5Qcm9jZXNzTWFpblVuaXguY3BwOjEwMjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgWFNldEVycm9ySGFuZGxlcicKK3wgZXdlYmtpdC9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL3VuaXgvUGx1Z2luUHJvY2Vzc01haW5Vbml4LmNwcDoxMDI6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFhTZXRFcnJvckhhbmRsZXInCit8IENNYWtlRmlsZXMvV2ViS2l0Mi5kaXIvV2ViUHJvY2Vzcy9lZmwvV2ViUHJvY2Vzc01haW5FZmwuY3BwLm86IEluIGZ1bmN0aW9uIGBXZWJLaXQ6OldlYlByb2Nlc3NNYWluOjpwbGF0Zm9ybUluaXRpYWxpemUoKSc6Cit8IGV3ZWJraXQvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9lZmwvV2ViUHJvY2Vzc01haW5FZmwuY3BwOjY3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBYU2V0RXh0ZW5zaW9uRXJyb3JIYW5kbGVyJworfCBld2Via2l0L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvZWZsL1dlYlByb2Nlc3NNYWluRWZsLmNwcDo2NzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgWFNldEV4dGVuc2lvbkVycm9ySGFuZGxlcicKK3wgQ01ha2VGaWxlcy9XZWJLaXQyLmRpci9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUveDExL05ldHNjYXBlUGx1Z2luWDExLmNwcC5vOiBJbiBmdW5jdGlvbiBgV2ViS2l0OjpOZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1Qb3N0SW5pdGlhbGl6ZVdpbmRvd2VkKGJvb2wsIHVuc2lnbmVkIGxvbmcpJzoKK3wgZXdlYmtpdC9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUveDExL05ldHNjYXBlUGx1Z2luWDExLmNwcDoxNzA6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFhGbHVzaCcKK3wgQ01ha2VGaWxlcy9XZWJLaXQyLmRpci9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUveDExL05ldHNjYXBlUGx1Z2luWDExLmNwcC5vOiBJbiBmdW5jdGlvbiBgV2ViS2l0OjpOZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1Qb3N0SW5pdGlhbGl6ZVdpbmRvd2xlc3MoKSc6Cit8IGV3ZWJraXQvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL3gxMS9OZXRzY2FwZVBsdWdpblgxMS5jcHA6MTk1OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBYR2V0VmlzdWFsSW5mbycKK3wgZXdlYmtpdC9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUveDExL05ldHNjYXBlUGx1Z2luWDExLmNwcDoxOTk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFhGcmVlJworfCBld2Via2l0L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0c2NhcGVQbHVnaW5YMTEuY3BwOjIwMjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgWENyZWF0ZUNvbG9ybWFwJworfCBDTWFrZUZpbGVzL1dlYktpdDIuZGlyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0c2NhcGVQbHVnaW5YMTEuY3BwLm86IEluIGZ1bmN0aW9uIGBXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybURlc3Ryb3koKSc6Cit8IGV3ZWJraXQvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL3gxMS9OZXRzY2FwZVBsdWdpblgxMS5jcHA6MjUxOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBYRnJlZUNvbG9ybWFwJworfCBld2Via2l0L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0c2NhcGVQbHVnaW5YMTEuY3BwOjI1NTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgWEZyZWVQaXhtYXAnCit8IENNYWtlRmlsZXMvV2ViS2l0Mi5kaXIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL3gxMS9OZXRzY2FwZVBsdWdpblgxMS5jcHAubzogSW4gZnVuY3Rpb24gYFdlYktpdDo6TmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtR2VvbWV0cnlEaWRDaGFuZ2UoKSc6Cit8IGV3ZWJraXQvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL3gxMS9OZXRzY2FwZVBsdWdpblgxMS5jcHA6MjkzOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBYQ3JlYXRlUGl4bWFwJworfCBld2Via2l0L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0c2NhcGVQbHVnaW5YMTEuY3BwOjI4NjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgWEZyZWVQaXhtYXAnCit8IGV3ZWJraXQvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL3gxMS9OZXRzY2FwZVBsdWdpblgxMS5jcHA6Mjk1OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBYU3luYycKK3wgQ01ha2VGaWxlcy9XZWJLaXQyLmRpci9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUveDExL05ldHNjYXBlUGx1Z2luWDExLmNwcC5vOiBJbiBmdW5jdGlvbiBgV2ViS2l0OjpOZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1QYWludChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQqLCBXZWJDb3JlOjpJbnRSZWN0IGNvbnN0JiwgYm9vbCknOgorfCBld2Via2l0L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0c2NhcGVQbHVnaW5YMTEuY3BwOjM0MzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgWFN5bmMnCit8IGNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cworfCBTb3VyY2UvV2ViS2l0Mi9DTWFrZUZpbGVzL1dlYktpdDIuZGlyL2J1aWxkLm1ha2U6MTYxNDU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWIvbGliZXdlYmtpdDIuc28uMS4xMS4wJyBmYWlsZWQKK3wgbWFrZVsyXTogKioqIFtsaWIvbGliZXdlYmtpdDIuc28uMS4xMS4wXSBFcnJvciAxCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIFNvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlICAgICAgICAgfCAxICsKKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSAgICAgICAgIHwgMyArKysKKyBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZSAgICAgICAgICAgIHwgMSArCisgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUVmbC5jbWFrZSB8IDEgKworIDQgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCitpbmRleCA0MWZmYzE1Li42M2I3ODYxIDEwMDY0NAorLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKKysrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCitAQCAtNDA0LDYgKzQwNCw3IEBAIGlmIChXVEZfVVNFXzNEX0dSQVBISUNTKQorICAgICAgICAgKQorICAgICBlbmRpZiAoKQorIAorKyAgICBmaW5kX3BhY2thZ2UoWDExIFJFUVVJUkVEKQorICAgICBsaXN0KEFQUEVORCBXZWJDb3JlX0xJQlJBUklFUworICAgICAgICAgJHtYMTFfWDExX0xJQn0KKyAgICAgKQorZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKK2luZGV4IDhjNjZkMWIuLmQ5NmYwYmQgMTAwNjQ0CistLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQorKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKK0BAIC0zMzEsMTIgKzMzMSwxNSBAQCBpZiAoRU5BQkxFX1NFQ0NPTVBfRklMVEVSUykKKyBlbmRpZiAoKQorIAorIGlmIChFTkFCTEVfRUNPUkVfWCkKKysgICAgZmluZF9wYWNrYWdlKFgxMSBSRVFVSVJFRCkKKyAgICAgbGlzdChBUFBFTkQgV2ViUHJvY2Vzc19MSUJSQVJJRVMKKyAgICAgICAgICR7RUNPUkVfWF9MSUJSQVJJRVN9CisgICAgICAgICAke1gxMV9YZXh0X0xJQn0KKyAgICAgKQorICAgICBsaXN0KEFQUEVORCBXZWJLaXQyX0xJQlJBUklFUworICAgICAgICAgJHtFQ09SRV9YX0xJQlJBUklFU30KKysgICAgICAgICR7WDExX1gxMV9MSUJ9CisrICAgICAgICAke1gxMV9YZXh0X0xJQn0KKyAgICAgKQorIGVuZGlmICgpCisgCitkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQoraW5kZXggODU4NWYxOS4uMWFhOTAwMiAxMDA2NDQKKy0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCisrKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQorQEAgLTE4MSw2ICsxODEsNyBAQCBlbmRpZiAoKQorIAorIGlmIChXVEZfT1NfVU5JWCkKKyAgICAgc2V0KEVOQUJMRV9YMTFfVEFSR0VUIE9OKQorKyAgICBmaW5kX3BhY2thZ2UoWDExIFJFUVVJUkVEKQorICAgICBhZGRfZGVmaW5pdGlvbnMoLURYUF9VTklYKQorIGVuZGlmIChXVEZfT1NfVU5JWCkKKyAKK2RpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtRWZsLmNtYWtlIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUVmbC5jbWFrZQoraW5kZXggMTg3MzI3OS4uYTkwNWYyYSAxMDA2NDQKKy0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1FZmwuY21ha2UKKysrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1FZmwuY21ha2UKK0BAIC01Myw2ICs1Myw3IEBAIGxpc3QoQVBQRU5EIFdlYktpdFRlc3RSdW5uZXJJbmplY3RlZEJ1bmRsZV9MSUJSQVJJRVMKKyApCisgCisgaWYgKEVOQUJMRV9FQ09SRV9YKQorKyAgICBmaW5kX3BhY2thZ2UoWDExIFJFUVVJUkVEKQorICAgICBsaXN0KEFQUEVORCBXZWJLaXRUZXN0UnVubmVyX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAgICAgICR7RUNPUkVfWF9JTkNMVURFX0RJUlN9CisgICAgICkKKy0tIAorMi42LjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC93ZWJraXQvd2Via2l0LWVmbC8wMDA2LU9wdGlvbnNFZmwuY21ha2UtRml4LWJ1aWxkLXdpdGgtbmV3ZXItQ01ha2UtMy40LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC93ZWJraXQvd2Via2l0LWVmbC8wMDA2LU9wdGlvbnNFZmwuY21ha2UtRml4LWJ1aWxkLXdpdGgtbmV3ZXItQ01ha2UtMy40LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1NjI2MzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL3dlYmtpdC93ZWJraXQtZWZsLzAwMDYtT3B0aW9uc0VmbC5jbWFrZS1GaXgtYnVpbGQtd2l0aC1uZXdlci1DTWFrZS0zLjQucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbSA5OTM4ODJmODFmZTk5MWI4YmFmMTA5OTM5MjcwMzMzN2NjMTNmYWMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogV2VkLCAyNyBKYW4gMjAxNiAxODo0MDoyMyArMDEwMAorU3ViamVjdDogW1BBVENIXSBPcHRpb25zRWZsLmNtYWtlOiBGaXggYnVpbGQgd2l0aCBuZXdlciBDTWFrZSAzLjQKKworKiBvdGhlcndpc2UgaXQgZmFpbHMgd2l0aDoKKyAgfCBDTWFrZSBFcnJvciBhdCBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZToyNTEgKENIRUNLX0lOQ0xVREVfRklMRVMpOgorICB8ICAgVW5rbm93biBDTWFrZSBjb21tYW5kICJDSEVDS19JTkNMVURFX0ZJTEVTIi4KKyogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MDExNworCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZSB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQoraW5kZXggMWFhOTAwMi4uMDUyMTZkMCAxMDA2NDQKKy0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCisrKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQorQEAgLTI1Myw2ICsyNTMsNyBAQCBpZiAoRU5BQkxFX1dFQkdMIE9SIFdURl9VU0VfVElMRURfQkFDS0lOR19TVE9SRSkKKyAgICAgICAgIHNldChXVEZfVVNFX0VHTCAxKQorICAgICAgICAgYWRkX2RlZmluaXRpb25zKC1EV1RGX1VTRV9FR0w9MSkKKyAgICAgZWxzZSAoKQorKyAgICAgICAgaW5jbHVkZShDaGVja0luY2x1ZGVGaWxlcykKKyAgICAgICAgIENIRUNLX0lOQ0xVREVfRklMRVMoIkdML2dseC5oIiBPUEVOR0xYX0ZPVU5EKQorICAgICAgICAgYWRkX2RlZmluaXRpb25zKC1EV1RGX1VTRV9HTFg9MSkKKyAgICAgZW5kaWYgKCkKKy0tIAorMi43LjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC93ZWJraXQvd2Via2l0LWVmbF8xLjExLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL3dlYmtpdC93ZWJraXQtZWZsXzEuMTEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NmFkODMwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC93ZWJraXQvd2Via2l0LWVmbF8xLjExLjAuYmIKQEAgLTAsMCArMSwxMiBAQAorcmVxdWlyZSAke0JQTn0uaW5jCisKK1NSQ19VUkkgKz0gIlwKKyAgICBmaWxlOi8vMDAwMS1PcHRpb25zQ29tbW9uLmNtYWtlLWRvbi10LW1peC1DWFhfRkxBR1MtaW50by1DX0ZMQUdTLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1XZWJLaXRIZWxwZXJzLmNtYWtlLUFkZC1Xbm8tZXJyb3ItZGVwcmVjYXRlZC1kZWNsYXJhLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMy1GRUJsZW5kTkVPTi5oLWZpeC1taXNzaW5nLXNlbWljb2xvbi5wYXRjaCBcCisgICAgZmlsZTovLzAwMDQtRml4LXRoZS1idWlsZC13aXRoLUVGTC0xLjEyLWh0dHBzLWJ1Z3Mud2Via2l0Lm9yZy1zaC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDUtRml4LXRoZS1idWlsZC13aXRoLWNtYWtlLTMucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDA2LU9wdGlvbnNFZmwuY21ha2UtRml4LWJ1aWxkLXdpdGgtbmV3ZXItQ01ha2UtMy40LnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5MGZhOTcwZWJmODY0NjMxOWQyOTJjMmJiNWJmZjVkYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkOGQyMWUyN2Y0YTIxY2Q3N2M0MTkxNDU0OGMxODRkZGI5ODY5M2JhMjM4NTFhYTY2YzhlNTFjMGJlNGI5MGI3IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLW11bHRpbWVkaWEvbGlnaHRtZWRpYXNjYW5uZXIvZmlsZXMvaWQzLXBsdWdpbi1zdXBwb3J0LW91dC1vZi10cmVlLWJ1aWxkLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLW11bHRpbWVkaWEvbGlnaHRtZWRpYXNjYW5uZXIvZmlsZXMvaWQzLXBsdWdpbi1zdXBwb3J0LW91dC1vZi10cmVlLWJ1aWxkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1MjhiZWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtbXVsdGltZWRpYS9saWdodG1lZGlhc2Nhbm5lci9maWxlcy9pZDMtcGx1Z2luLXN1cHBvcnQtb3V0LW9mLXRyZWUtYnVpbGQucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIGEvc3JjL3BsdWdpbnMvTWFrZWZpbGUuYW0JMjAxNS0xMC0yNSAxNjoxMjoyOS4zMzE0MTU4MjMgKzAwMDAKKysrKyBiL3NyYy9wbHVnaW5zL01ha2VmaWxlLmFtCTIwMTUtMTAtMjUgMTY6MTQ6MzcuNTkzNDE1ODA4ICswMDAwCitAQCAtOTMsNyArOTMsNyBAQAorIGlkM19pZDNfbGFfU09VUkNFUyA9IGlkMy9pZDMuYyBpZDMvaWQzdjFfZ2VucmVzLmMKKyBpZDNfaWQzX2xhX0xJQkFERCA9ICQoUExVR0lOU19MSUJBREQpCisgCistaWQzL2lkM3YxX2dlbnJlcy5jOiAkKHNyY2RpcikvaWQzL2lkM3YxX2dlbnJlcy5kZWYgJChzcmNkaXIpL2lkMy9pZDN2MV9nZW5yZXNfZ2VuLmF3aworKyQoc3JjZGlyKS9pZDMvaWQzdjFfZ2VucmVzLmM6ICQoc3JjZGlyKS9pZDMvaWQzdjFfZ2VucmVzLmRlZiAkKHNyY2RpcikvaWQzL2lkM3YxX2dlbnJlc19nZW4uYXdrCisgCSQoQVdLKSAtZiAkKHNyY2RpcikvaWQzL2lkM3YxX2dlbnJlc19nZW4uYXdrICQoc3JjZGlyKS9pZDMvaWQzdjFfZ2VucmVzLmRlZiA+ICRACisgCisgRVhUUkFfRElTVCArPSBpZDMvaWQzdjFfZ2VucmVzLmRlZiBpZDMvaWQzdjFfZ2VucmVzX2dlbi5hd2sKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1tdWx0aW1lZGlhL2xpZ2h0bWVkaWFzY2FubmVyL2xpZ2h0bWVkaWFzY2FubmVyXzAuNS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLW11bHRpbWVkaWEvbGlnaHRtZWRpYXNjYW5uZXIvbGlnaHRtZWRpYXNjYW5uZXJfMC41LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTg3MGZhYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1tdWx0aW1lZGlhL2xpZ2h0bWVkaWFzY2FubmVyL2xpZ2h0bWVkaWFzY2FubmVyXzAuNS4xLmJiCkBAIC0wLDAgKzEsNjIgQEAKK1NVTU1BUlkgPSAiTGlnaHR3ZWlnaHQgbWVkaWEgc2Nhbm5lciIKK0RFU0NSSVBUSU9OID0gIkxpZ2h0d2VpZ2h0IG1lZGlhIHNjYW5uZXIgbWVhbnQgdG8gYmUgdXNlZCBpbiBub3Qtc28tcG93ZXJmdWwgZGV2aWNlcywgbGlrZSBlbWJlZGRlZCBzeXN0ZW1zIG9yIG9sZCBtYWNoaW5lcy4iCitTRUNUSU9OID0gImxpYnMvbXVsdGltZWRpYSIKKworTElDRU5TRSA9ICJMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hNmY4OWUyMTAwZDliNmNkZmZjZWE0ZjM5OGUzNzM0MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvbGliL2xpZ2h0bWVkaWFzY2FubmVyLmM7ZW5kbGluZT0yMTttZDU9NmQ4ODg5YmNjYjRjNmMyN2U4Yjc4NjM0MmEzZWIyNjciCisKK0RFUEVORFMgPSAiZmlsZSBnYXdrIGdsaWItMi4wIHNxbGl0ZTMiCisKK1BWID0gIjAuNS4xK2dpdCR7U1JDUFZ9IgorU1JDUkVWID0gImFkZmRkYjM0ODYyNzZhNWVkMmY1MDA4YzllNDNhODExZTEyNzFjYzkiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcHJvZnVzaW9uL2xpZ2h0bWVkaWFzY2FubmVyLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly9pZDMtcGx1Z2luLXN1cHBvcnQtb3V0LW9mLXRyZWUtYnVpbGQucGF0Y2ggXAorICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiA9ICItLWVuYWJsZS1zdGF0aWMgLS1kaXNhYmxlLW1wNCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIm9nZyBmbGFjIHdhdmUgaWQzIG0zdSBwbHMgYXNmIHJtIGpwZWcgcG5nIgorUEFDS0FHRUNPTkZJR1tnZW5lcmljXSA9ICItLWVuYWJsZS1nZW5lcmljLC0tZGlzYWJsZS1nZW5lcmljLGxpYmF2IgorUEFDS0FHRUNPTkZJR1tvZ2ddID0gIi0tZW5hYmxlLW9nZywtLWRpc2FibGUtb2dnLGxpYm9nZyBsaWJ2b3JiaXMgbGlidGhlb3JhIgorUEFDS0FHRUNPTkZJR1tmbGFjXSA9ICItLWVuYWJsZS1mbGFjLC0tZGlzYWJsZS1mbGFjLGZsYWMiCitQQUNLQUdFQ09ORklHW3dhdmVdID0gIi0tZW5hYmxlLXdhdmUsLS1kaXNhYmxlLXdhdmUiCitQQUNLQUdFQ09ORklHW2lkM10gPSAiLS1lbmFibGUtaWQzLC0tZGlzYWJsZS1pZDMiCitQQUNLQUdFQ09ORklHW20zdV0gPSAiLS1lbmFibGUtbTN1LC0tZGlzYWJsZS1tM3UiCitQQUNLQUdFQ09ORklHW3Bsc10gPSAiLS1lbmFibGUtcGxzLC0tZGlzYWJsZS1wbHMiCitQQUNLQUdFQ09ORklHW2FzZl0gPSAiLS1lbmFibGUtYXNmLC0tZGlzYWJsZS1hc2YiCitQQUNLQUdFQ09ORklHW3JtXSA9ICItLWVuYWJsZS1ybSwtLWRpc2FibGUtcm0iCitQQUNLQUdFQ09ORklHW2pwZWddID0gIi0tZW5hYmxlLWpwZWcsLS1kaXNhYmxlLWpwZWciCitQQUNLQUdFQ09ORklHW3BuZ10gPSAiLS1lbmFibGUtcG5nLC0tZGlzYWJsZS1wbmciCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICAgICMgSW5zdGFsbCAidGVzdCIgYmluYXJ5IGZvciBjb3JyZXNwb25kaW5nIHBhY2thZ2UKKyAgICAgICBpbnN0YWxsIC1kICR7RH0vJHtiaW5kaXJ9CisgICAgICAgaW5zdGFsbCAtbSA3NTUgJHtCfS9zcmMvYmluLy5saWJzL3Rlc3QgJHtEfS8ke2JpbmRpcn0vdGVzdC1sbXMKKyAgICAgICAjIFJlbW92ZSAubGEgZmlsZXMgZm9yIGxvYWRhYmxlIG1vZHVsZXMKKyAgICAgICBybSAtZiAke0R9LyR7bGliZGlyfS8ke1BOfS9wbHVnaW5zLyoubGEKK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZGJ1cy0xIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vJHtQTn0vcGx1Z2lucy8uZGVidWciCisKK1BBQ0tBR0VTX3ByZXBlbmQgPSAiJHtQTn0tdGVzdCAiCitGSUxFU18ke1BOfS10ZXN0X3ByZXBlbmQgPSAiJHtiaW5kaXJ9L3Rlc3QtbG1zICIKKworUEFDS0FHRVMgKz0gIiR7UE59LW1ldGEiCitBTExPV19FTVBUWV8ke1BOfS1tZXRhID0gIjEiCisKK1BBQ0tBR0VTX0RZTkFNSUMgPSAiJHtQTn0tcGx1Z2luLSoiCisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpIHsKKyAgICBsbXNfbGliZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfS8ke1BOfScpCisgICAgcGtncyA9IFtdCisKKyAgICBwa2dzICs9IGRvX3NwbGl0X3BhY2thZ2VzKGQsIG9lLnBhdGguam9pbihsbXNfbGliZGlyLCAicGx1Z2lucyIpLCAnXiguKilcLnNvJCcsIGQuZXhwYW5kKCcke1BOfS1wbHVnaW4tJXMnKSwgJ0xpZ2h0TWVkaWFTY2FubmVyIHBsdWdpbiBmb3IgJXMnLCBwcmVwZW5kPVRydWUsIGV4dHJhX2RlcGVuZHM9ZC5leHBhbmQoJyR7UE59JykpCisgICAgbWV0YXBrZyA9IGQuZ2V0VmFyKCdQTicsIFRydWUpICsgJy1tZXRhJworICAgIGQuc2V0VmFyKCdSREVQRU5EU18nICsgbWV0YXBrZywgJyAnLmpvaW4ocGtncykpCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtbmF2aWdhdGlvbi9tY25hdmkvbWNuYXZpXzAuMy40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLW5hdmlnYXRpb24vbWNuYXZpL21jbmF2aV8wLjMuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYjU3MjJiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLW5hdmlnYXRpb24vbWNuYXZpL21jbmF2aV8wLjMuNC5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIkZyZWUgR1BTIG5hdmlnYXRpb24gZm9yIGNhciBhbmQgb3V0ZG9vciB3aXRoIE9wZW5TdHJlZXRNYXAgbWFwcyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ3BzLXJvdXRlcy5pbmZvL2luZGV4LnBocD9uYW1lPUNvbnRlbnQmcGE9c2hvd3BhZ2UmcGlkPTEiCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGYwZTJjZDQwZTA1MTg5ZWM4MTIzMmRhODRiZDZlMWEiCitERVBFTkRTID0gImVjb3JlIGV2YXMgaW1saWIyIGdwc2QgZWRqZSBlZGplLW5hdGl2ZSBteXNxbDUgaW50bHRvb2wtbmF0aXZlIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZ3BzLXJvdXRlcy5pbmZvL2RlYmlhbi9wb29sL21haW4vbS9tY25hdmkvbWNuYXZpXyR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2ODYwY2RlNWMwMmE5ZjkzYzgyOWRhNGIxMGU1YTIyNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlZTdmNjUxNTVlOTEzODYxNzU4NzVmYzRmNzJmNGJjOTRlNGU5Y2RiODI1ODExMjYzMmRhOTQ1MjBlZjJjMzQ5IgorCitTID0gIiR7V09SS0RJUn0vJHtQTn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1BOQkxBQ0tMSVNUW21jbmF2aV0gPz0gIkJST0tFTjogbGF0ZXN0IHZlcnNpb24gMC4zLjQgaXMgMyB5ZWFycyBvbGQgYW5kIG5vdyBicm9rZW4gd2l0aCBtb3JlIHN0cmljdCBlamRlX2NjIGZyb20gZWZsLTEuMTMiCisjIHwgZWRqZV9jYzogRXJyb3IuIHBhcnNlIGVycm9yIDAuMy40LXIwL21jbmF2aS9kYXRhL3RoZW1lcy9EZWZhdWx0L21haW4uZWRjOjEyNi4gaW52YWxpZCBzdGF0ZSBuYW1lOiAnbm9uZScuICJkZWZhdWx0IiBzdGF0ZSBtdXN0IGFsd2F5cyBiZSBmaXJzdC4KKyMgfCBlZGplX2NjOiBFcnJvci4gcGFyc2UgZXJyb3IgMC4zLjQtcjAvbWNuYXZpL2RhdGEvdGhlbWVzL0RlZmF1bHQvaXRpbmVyYXJ5LmVkYzo4NC4gaW52YWxpZCBzdGF0ZSBuYW1lOiAnbm9uZScuICJkZWZhdWx0IiBzdGF0ZSBtdXN0IGFsd2F5cyBiZSBmaXJzdC4KKyMgfCBlZGplX2NjOiBFcnJvci4gcGFyc2UgZXJyb3IgMC4zLjQtcjAvbWNuYXZpL2RhdGEvdGhlbWVzL0RlZmF1bHQvdGV4dC5lZGM6MTEyOS4gaW52YWxpZCBzdGF0ZSBuYW1lOiAnbm9uZScuICJkZWZhdWx0IiBzdGF0ZSBtdXN0IGFsd2F5cyBiZSBmaXJzdC4KKyMgfCBlZGplX2NjOiBFcnJvci4gcGFyc2UgZXJyb3IgMC4zLjQtcjAvbWNuYXZpL2RhdGEvdGhlbWVzL0RlZmF1bHQvZmlsZW9wZW4uZWRjOjc4LiBpbnZhbGlkIHN0YXRlIG5hbWU6ICdvZmYnLiAiZGVmYXVsdCIgc3RhdGUgbXVzdCBhbHdheXMgYmUgZmlyc3QuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvQ09QWUlORy5NSVQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvQ09QWUlORy5NSVQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODlkZTM1NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9DT1BZSU5HLk1JVApAQCAtMCwwICsxLDE3IEBACitQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CitvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAoraW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwordG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAorY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCitmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorCitUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgorYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisKK1RIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCitJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKK0ZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwKK09VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4KK1RIRSBTT0ZUV0FSRS4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9SRUFETUUgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyNmMxMzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvUkVBRE1FCkBAIC0wLDAgKzEsMTQwIEBACitUaGlzIFJFQURNRSBmaWxlIGNvbnRhaW5zIGluZm9ybWF0aW9uIG9uIHRoZSBjb250ZW50cyBvZiB0aGUKK2ZpbGVzeXN0ZW1zIGxheWVyLgorCitQbGVhc2Ugc2VlIHRoZSBjb3JyZXNwb25kaW5nIHNlY3Rpb25zIGJlbG93IGZvciBkZXRhaWxzLgorCisKK0RlcGVuZGVuY2llcworPT09PT09PT09PT09CisKK1RoaXMgbGF5ZXIgZGVwZW5kcyBvbjoKKworICBVUkk6IGdpdDovL2dpdC5vcGVuZW1iZWRkZWQub3JnL2JpdGJha2UKKyAgYnJhbmNoOiAxLjI4CisKKyAgVVJJOiBnaXQ6Ly9naXQub3BlbmVtYmVkZGVkLm9yZy9vcGVuZW1iZWRkZWQtY29yZQorICBsYXllcnM6IG1ldGEKKyAgYnJhbmNoOiBrcm9nb3RoCisKKyAgVVJJOiBnaXQ6Ly9naXQub3BlbmVtYmVkZGVkLm9yZy9tZXRhLW9wZW5lbWJlZGRlZAorICBsYXllcnM6IG1ldGEtb2UKKyAgYnJhbmNoOiBrcm9nb3RoCisKK1BhdGNoZXMKKz09PT09PT0KKworUGxlYXNlIHN1Ym1pdCBhbnkgcGF0Y2hlcyBhZ2FpbnN0IHRoZSBmaWxlc3lzdGVtcyBsYXllciB0byB0aGUKK09wZW5FbWJlZGRlZCBkZXZlbG9wbWVudCBtYWlsaW5nIGxpc3QgKG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnKQord2l0aCAnW21ldGEtZmlsZXN5c3RlbXNdW2tyb2dvdGhdJyBpbiB0aGUgc3ViamVjdC4KKworTWFpbnRhaW5lcnMgTGlzdDoKKyAgcGh5c2ZzICAgICAgQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorCisgIGZ1c2UgICAgICAgIEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CisgICAgICAgICAgICAgIFBoaWxpcCBCYWxpc3RlciA8cGhpbGlwQGJhbGlzdGVyLm9yZz4KKyAgICAgICAgICAgICAgaG9uZ3h1IGppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorCisgIGlmdXNlICAgICAgIFNhbmRlciB2YW4gR3JpZWtlbiA8c2FuZGVyQG91dHJpZ2h0c29sdXRpb25zLm5sPgorICAgICAgICAgICAgICBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorCisgIHNzaGZzLWZ1c2UgIFBoaWxpcCBCYWxpc3RlciA8cGhpbGlwQGJhbGlzdGVyLm9yZz4KKyAgICAgICAgICAgICAgS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KKworICBvd2ZzICAgICAgICBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgorICAgICAgICAgICAgICBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorICAgICAgICAgICAgICBob25neHUgamlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CisKKyAgbnRmcy0zZy1udGZzcHJvZ3MgIE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+CisgICAgICAgICAgICAgICAgICAgICBob25neHUgamlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CisKKyAgY3JhbWZzICAgICAgS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KKworICBzbWJuZXRmcyAgICBTYW5kZXIgdmFuIEdyaWVrZW4gPHNhbmRlckBvdXRyaWdodHNvbHV0aW9ucy5ubD4KKyAgICAgICAgICAgICAgS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KKworICBmdXNlLWV4ZmF0ICBob25neHUgamlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CisKKyAgZXhmYXQtdXRpbHMgaG9uZ3h1IGppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorCisgIGYyZnMtdG9vbHMgIE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKyAgICAgICAgICAgICAgS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KKworICB4ZnNwcm9ncyAgICBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorICAgICAgICAgICAgICBob25neHUgamlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CisKK1doZW4gc2VuZGluZyBzaW5nbGUgcGF0Y2hlcywgcGxlYXNlIHVzZSBzb21ldGhpbmcgbGlrZToKKworICAgZ2l0IHNlbmQtZW1haWwgLTEgLU0gXAorICAgICAgICAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIFwKKyAgICAgICAgLS1zdWJqZWN0LXByZWZpeD1tZXRhLWZpbGVzeXN0ZW1zXVtrcm9nb3RoXVtQQVRDSAorCitrcm9nb3RoIEJyYW5jaCBNYWludGFpbmVyOgorQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKworVGFibGUgb2YgQ29udGVudHMKKz09PT09PT09PT09PT09PT09CisKKyAgSS4gQWRkaW5nIHRoZSBmaWxlc3lzdGVtcyBsYXllciB0byB5b3VyIGJ1aWxkCisgSUkuIE1pc2MKKworCitJLiBBZGRpbmcgdGhlIGZpbGVzeXN0ZW1zIGxheWVyIHRvIHlvdXIgYnVpbGQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworSW4gb3JkZXIgdG8gdXNlIHRoaXMgbGF5ZXIsIHlvdSBuZWVkIHRvIG1ha2UgdGhlIGJ1aWxkIHN5c3RlbSBhd2FyZSBvZgoraXQuCisKK0Fzc3VtaW5nIHRoZSBmaWxlc3lzdGVtcyBsYXllciBleGlzdHMgYXQgdGhlIHRvcC1sZXZlbCBvZiB5b3VyCit5b2N0byBidWlsZCB0cmVlLCB5b3UgY2FuIGFkZCBpdCB0byB0aGUgYnVpbGQgc3lzdGVtIGJ5IGFkZGluZyB0aGUKK2xvY2F0aW9uIG9mIHRoZSBmaWxlc3lzdGVtcyBsYXllciB0byBiYmxheWVycy5jb25mLCBhbG9uZyB3aXRoIGFueQorb3RoZXIgbGF5ZXJzIG5lZWRlZC4gZS5nLjoKKworICBCQkxBWUVSUyA/PSAiIFwKKyAgICAvcGF0aC90by95b2N0by9tZXRhIFwKKyAgICAvcGF0aC90by95b2N0by9tZXRhLW9lIFwKKyAgICAvcGF0aC90by95b2N0by9tZXRhLWZpbGVzeXN0ZW1zIFwKKyAgICAiCisKKworSUkuIE1pc2MKKz09PT09PT09CisKKyAgLS0tIHBoeXNmcyAtLS0KKyAgQSBsaWJyYXJ5IHRvIHByb3ZpZGUgYWJzdHJhY3QgYWNjZXNzIHRvIHZhcmlvdXMgYXJjaGl2ZXMKKworICAtLS0gZnVzZSAtLS0KKyAgRmlsZXN5c3RlbSBpbiBVc2Vyc3BhY2UgKEZVU0UpIGlzIGEgc2ltcGxlIGludGVyZmFjZSBmb3IgdXNlcnNwYWNlIHByb2dyYW1zCisgIHRvIGV4cG9ydCBhIHZpcnR1YWwgZmlsZXN5c3RlbSB0byB0aGUgTGludXgga2VybmVsLgorCisgIC0tLSBpZnVzZSAtLS0KKyAgQSBmdXNlIGZpbGVzeXN0ZW0gdG8gYWNjZXNzIHRoZSBjb250ZW50cyBvZiBhbiBpUGhvbmUgb3IgaVBvZCBUb3VjaAorCisgIC0tLSBzc2hmcy1mdXNlIC0tLQorICBBIGZpbGVzeXN0ZW0gY2xpZW50IGJhc2VkIG9uIHRoZSBTU0ggRmlsZSBUcmFuc2ZlciBQcm90b2NvbAorCisgIC0tLSBvd2ZzIC0tLQorICBBbiBlYXN5IHdheSB0byB1c2UgdGhlIDEtV2lyZSBmaWxlIHN5c3RlbQorCisgIC0tLSBudGZzLTNnLW50ZnNwcm9ncyAtLS0KKyAgVGhlIG50ZnMtM2cgaXMgYSBmcmVlbHkgYXZhaWxhYmxlIHJlYWQvd3JpdGUgTlRGUyBkcml2ZXIgZm9yIExpbnV4IGFuZAorICBudGZzcHJvZ3MgaW5jbHVkZXMgdXRpbGl0aWVzIGZvciBkb2luZyBhbGwgcmVxdWlyZWQgdGFza3MgdG8gTlRGUyBwYXJ0aXRpb25zLgorCisgIC0tLSBjcmFtZnMgLS0tCisgIEJ1aWxkcyBjcmFtZnMgZmlsZXN5c3RlbXMgZm9yIGVtYmVkZGVkIHN5c3RlbXMKKworICAtLS0gc21ibmV0ZnMgLS0tCisgIFNNQk5ldEZTIGlzIGEgTGludXgvRnJlZUJTRCBmaWxlc3lzdGVtIHRoYXQgYWxsb3cgeW91IHRvIHVzZSBzYW1iYS9taWNyb3NvZnQKKyAgbmV0d29yayBpbiB0aGUgc2FtZSBtYW5uZXIgYXMgdGhlIG5ldHdvcmsgbmVpZ2hib3Job29kIGluIE1pY3Jvc29mdCBXaW5kb3dzLgorCisgIC0tLSBmdXNlLWV4ZmF0IC0tLQorICBBIHJlYWQgYW5kIHdyaXRlIGV4RkFUIGRyaXZlciBmb3IgRlVTRQorCisgIC0tLSBleGZhdC11dGlscyAtLS0KKyAgVXRpbGl0aWVzIHRvIGNyZWF0ZSwgY2hlY2ssIGxhYmVsIGFuZCBkdW1wIGV4RkFUIGZpbGVzeXN0ZW0KKworICAtLS0gZjJmcy10b29scyAtLS0KKyAgVG9vbHMgbmVlZGVkIGZvciBjcmVhdGluZyBhbmQgbWFuYWdpbmcgZjJmcyBwYXJ0aXRpb25zCisKKyAgLS0tIHhmc3Byb2dzIC0tLQorICBJdCBwcm92aWRlcyBYRlMgZmlsZXN5c3RlbSB1dGlsaXRpZXMuCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9jb25mL2xheWVyLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvY29uZi9sYXllci5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllZDZkMWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvY29uZi9sYXllci5jb25mCkBAIC0wLDAgKzEsMTYgQEAKKyMgV2UgaGF2ZSBhIGNvbmYgYW5kIGNsYXNzZXMgZGlyZWN0b3J5LCBhZGQgdG8gQkJQQVRICitCQlBBVEggLj0gIjoke0xBWUVSRElSfSIKKworIyBXZSBoYXZlIHJlY2lwZXMtKiBkaXJlY3RvcmllcywgYWRkIHRvIEJCRklMRVMKK0JCRklMRVMgKz0gIiR7TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmIgXAorCSR7TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmJhcHBlbmQiCisKK0JCRklMRV9DT0xMRUNUSU9OUyArPSAiZmlsZXN5c3RlbXMtbGF5ZXIiCitCQkZJTEVfUEFUVEVSTl9maWxlc3lzdGVtcy1sYXllciA9ICJeJHtMQVlFUkRJUn0vIgorQkJGSUxFX1BSSU9SSVRZX2ZpbGVzeXN0ZW1zLWxheWVyID0gIjYiCisKKyMgVGhpcyBzaG91bGQgb25seSBiZSBpbmNyZW1lbnRlZCBvbiBzaWduaWZpY2FudCBjaGFuZ2VzIHRoYXQgd2lsbAorIyBjYXVzZSBjb21wYXRpYmlsaXR5IGlzc3VlcyB3aXRoIG90aGVyIGxheWVycworTEFZRVJWRVJTSU9OX2ZpbGVzeXN0ZW1zLWxheWVyID0gIjEiCisKK0xBWUVSREVQRU5EU19maWxlc3lzdGVtcy1sYXllciA9ICJjb3JlIG9wZW5lbWJlZGRlZC1sYXllciIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL2Z1c2UtZXhmYXQvZnVzZS1leGZhdF8xLjIuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL2Z1c2UtZXhmYXQvZnVzZS1leGZhdF8xLjIuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MzllMzNjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvZnVzZS1leGZhdC9mdXNlLWV4ZmF0XzEuMi4zLmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAicmVhZCBhbmQgd3JpdGUgZXhGQVQgZHJpdmVyIGZvciBGVVNFIgorREVTQ1JJUFRJT04gPSAiZnVzZS1leGZhdCBpcyBhIHJlYWQgYW5kIHdyaXRlIGRyaXZlciBpbXBsZW1lbnRpbmcgdGhlIFwKK2V4dGVuZGVkIGZpbGUgYWxsb2NhdGlvbiB0YWJsZSBhcyBhIGZpbGVzeXN0ZW0gaW4gdXNlcnNwYWNlLiBBIG1vdW50aGVscGVyIFwKK2lzIHByb3ZpZGVkIHVuZGVyIHRoZSBuYW1lIG1vdW50LmV4ZmF0LWZ1c2UuIFwKKyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9leGZhdC8iCitTRUNUSU9OID0gInVuaXZlcnNlL290aGVyb3NmcyIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCitTUkNfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9mL2Z1c2UtZXhmYXQvZnVzZS1leGZhdF8ke1BWfS5vcmlnLnRhci5neiBcCisiCitERVBFTkRTID0gImZ1c2UgdmlydHVhbC9saWJjIgorUlJFQ09NTUVORFNfJHtQTn0gPSAidXRpbC1saW51eC1tb3VudCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmY2E3MWU2NTk4Zjc5ZDAzN2EzYzdjOTY5Y2I1NzEwYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmMmUwNmViYTVhMjFjNjIxYWFjMWQ2ZGEyMWIxMmE1YTMyNGZkZDFlMjBmOWM4YWNkMzU3ZGQ0NjNjMjM1NWQ5IgorCitTID0gIiR7V09SS0RJUn0vJHtQTn0tJHtQVn0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9pZnVzZS9pZnVzZV8xLjEuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL2lmdXNlL2lmdXNlXzEuMS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwYjU4YjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9pZnVzZS9pZnVzZV8xLjEuMi5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIkEgZnVzZSBmaWxlc3lzdGVtIHRvIGFjY2VzcyB0aGUgY29udGVudHMgb2YgYW4gaVBob25lIG9yIGlQb2QgVG91Y2giCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NmFiMTdiNDE2NDA1NjQ0MzRkZGE4NWMwNmI3MTI0ZjciCitIT01FUEFHRSA9Imh0dHA6Ly93d3cubGliaW1vYmlsZWRldmljZS5vcmcvIgorCitERVBFTkRTID0gImZ1c2UgbGliaW1vYmlsZWRldmljZSIKKworU1JDX1VSSSA9ICIgXAorICAgIGh0dHA6Ly93d3cubGliaW1vYmlsZWRldmljZS5vcmcvZG93bmxvYWRzL2lmdXNlLSR7UFZ9LnRhci5iejIgXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDE1MjUyNmIyYWMzYzUwNWNiNDE3OTdkOTk3YmUxNGQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDc4MzVjOGFmYjcyNTg4YjMyMDJmZTBiMjA2ZDdlYTM3YTY4NjYzZDlhYTRlYWY3M2YwYTRiY2I2MjE1ZmMwNSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9sb2dmc3Byb2dzL2xvZ2ZzcHJvZ3NfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvbG9nZnNwcm9ncy9sb2dmc3Byb2dzX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMmViZWM4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvbG9nZnNwcm9ncy9sb2dmc3Byb2dzX2dpdC5iYgpAQCAtMCwwICsxLDI2IEBACitTVU1NQVJZID0gIkxvZ0ZTIFByb2dyYW1zOiB1c2VkIHRvIGNyZWF0ZSBMb2dGUyBmaWxlIHN5c3RlbSIKK0RFU0NSSVBUSU9OID0gIlwKK0xvZ0ZTIGlzIGEgTGludXggbG9nLXN0cnVjdHVyZWQgYW5kIHNjYWxhYmxlIGZsYXNoIGZpbGUgc3lzdGVtLCBpbnRlbmRlZCBcCitmb3IgdXNlIG9uIGxhcmdlIGRldmljZXMgb2YgZmxhc2ggbWVtb3J5LiBJdCBpcyB3cml0dGVuIGJ5IErDtnJuIEVuZ2VsIGFuZCBcCitpbiBwYXJ0IHNwb25zb3JlZCBieSB0aGUgQ0UgTGludXggRm9ydW0uIFwKK0xvZ0ZTIGlzIGluY2x1ZGVkIGluIHRoZSBtYWlubGluZSBMaW51eCBrZXJuZWwgYW5kIHdhcyBpbnRyb2R1Y2VkIGluIFwKK3ZlcnNpb24gMi42LjM0LCByZWxlYXNlZCBvbiBNYXkgMTYsIDIwMTAuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3ByYXNhZC1qb3NoaS9sb2dmc3Byb2dzIgorU0VDVElPTiA9ICJiYXNlIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2ZzY2suYzttZDU9Mzg1OWRjNzNkYTk3OTA5ZmYxZDAxMjVlODhhMjdlMDIiCitERVBFTkRTID0gInpsaWIiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9wcmFzYWQtam9zaGkvbG9nZnNwcm9ncy5naXQiCitTUkNSRVYgPSAiNDViNzJjODFjZTNjNmZhMTdjYTE5YmFmYzIwN2VhOTNlNzYzMTJmNCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworRVhUUkFfT0VNQUtFID0gIkNDPSIke0NDfSIgTEQ9IiR7TER9IiBBUj0iJHtBUn0iIgorCitkb19pbnN0YWxsICgpIHsKKyAgICBta2RpciAtcCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vbWtsb2dmcyAke0R9JHtiaW5kaXJ9L21rbG9nZnMKK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvbnRmcy0zZy1udGZzcHJvZ3MvbnRmcy0zZy1udGZzcHJvZ3NfMjAxMy4xLjEzLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvbnRmcy0zZy1udGZzcHJvZ3MvbnRmcy0zZy1udGZzcHJvZ3NfMjAxMy4xLjEzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5NTdlYTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9udGZzLTNnLW50ZnNwcm9ncy9udGZzLTNnLW50ZnNwcm9nc18yMDEzLjEuMTMuYmIKQEAgLTAsMCArMSwzOSBAQAorREVTQ1JJUFRJT04gPSAiVGhlIE5URlMtM0cgZHJpdmVyIGlzIGFuIG9wZW4gc291cmNlLCBmcmVlbHkgYXZhaWxhYmxlIE5URlMgZHJpdmVyIGZvciBMaW51eCB3aXRoIHJlYWQgYW5kIHdyaXRlIHN1cHBvcnQuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5udGZzLTNnLm9yZy8iCitERVBFTkRTID0gImZ1c2UgbGliZ2NyeXB0IgorUFJPVklERVMgPSAibnRmc3Byb2dzIG50ZnMtM2ciCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PWYzMGE5NzE2ZWYzNzYyZTM0NjdhMmY2MmJmNzkwZjBhIgorCitTUkNfVVJJID0gImh0dHA6Ly90dXhlcmEuY29tL29wZW5zb3VyY2UvbnRmcy0zZ19udGZzcHJvZ3MtJHtQVn0udGd6IgorUyA9ICIke1dPUktESVJ9L250ZnMtM2dfbnRmc3Byb2dzLSR7UFZ9IgorCitTUkNfVVJJW21kNXN1bV0gPSAiMmQ2ZmI0N2RkZjYyYjUxNzMzMjI3MTI2ZmU5MjI3ZmUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGIzODNmMDA3NGEzYWI3NjgzMzM5ZDFmMTgyMjJiMTA3YWFlYjQ5ODNkYjExOTI5MmM0M2MyYjI3NWNlZmIyNyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW3V1aWRdID0gIi0td2l0aC11dWlkLC0td2l0aG91dC11dWlkLHV0aWwtbGludXgiCisKKyMgcmVxdWlyZWQgb3IgaXQgY2FsbHMgbGRjb25maWcgYXQgaW5zdGFsbCBzdGVwCitFWFRSQV9PRU1BS0UgPSAiTERDT05GSUc9ZWNobyIKKworUEFDS0FHRVMgPSsgIm50ZnMtM2cgbnRmc3Byb2dzIGxpYm50ZnMtM2ciCisKK0ZJTEVTX250ZnMtM2cgPSAiJHtiYXNlX3NiaW5kaXJ9LyoubnRmcy0zZyAke2JpbmRpcn0vbnRmcy0zZyogJHtiYXNlX3NiaW5kaXJ9L21vdW50Lm50ZnMiCitSREVQRU5EU19udGZzLTNnICs9ICJmdXNlIgorUlJFQ09NTUVORFNfbnRmcy0zZyA9ICJ1dGlsLWxpbnV4LW1vdW50IgorCitGSUxFU19udGZzcHJvZ3MgPSAiJHtiYXNlX3NiaW5kaXJ9LyogJHtiaW5kaXJ9LyogJHtzYmluZGlyfS8qIgorRklMRVNfbGlibnRmcy0zZyA9ICIke2xpYmRpcn0vKiR7U09MSUJTfSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyBTdGFuZGFyZCBtb3VudCB3aWxsIGV4ZWN1dGUgdGhlIHByb2dyYW0gL3NiaW4vbW91bnQuVFlQRQorICAgICMgd2hlbiBjYWxsZWQuIEFkZCB0aGUgc3ltYm9saWMgdG8gbGV0IG1vdW50IGNvdWxkIGZpbmQgbnRmcy4KKyAgICBsbiAtc2YgbW91bnQubnRmcy0zZyAke0R9LyR7YmFzZV9zYmluZGlyfS9tb3VudC5udGZzCit9CisKKyMgU2F0aXNmeSB0aGUgLWRldiBydW50aW1lIGRlcGVuZGVuY3kKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9vd2ZzL293ZnMvb3dodHRwZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL293ZnMvb3dmcy9vd2h0dHBkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVkNzRkMTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9vd2ZzL293ZnMvb3dodHRwZApAQCAtMCwwICsxLDYwIEBACisjIS9iaW4vc2gKKworUEFUSD0vc2JpbjovYmluOi91c3IvYmluCisKK0RBRU1PTj0ib3dodHRwZCIKKwordGVzdCAtZiAvdXNyL2Jpbi8ke0RBRU1PTn0gfHwgZXhpdCAwCisKK2lmIHRlc3QgLWYgL2V0Yy9kZWZhdWx0LyR7REFFTU9OfSA7IHRoZW4KKy4gL2V0Yy9kZWZhdWx0LyR7REFFTU9OfQorZWxzZQorOgorZmkKKworaWYgWyAiJFNUQVJUX09XSFRUUEQiICE9ICJ5ZXMiIF0KK3RoZW4KKyAgICAgICAgZXhpdCAwCitmaQorCQorCitzdGFydGRhZW1vbigpeworCWVjaG8gLW4gIlN0YXJ0aW5nICR7REFFTU9OfTogIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLXggL3Vzci9iaW4vJHtEQUVNT059ICAtLSAke0NNRExJTkV9IC0tcGlkX2ZpbGUgL3Zhci9ydW4vJHtEQUVNT059LnBpZAorCWVjaG8gImRvbmUiCit9CisKK3N0b3BkYWVtb24oKXsKKwllY2hvIC1uICJTdG9wcGluZyAke0RBRU1PTn06ICIKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLXAgL3Zhci9ydW4vJHtEQUVNT059LnBpZAorICAgICAgICBlY2hvICJkb25lIgorfQorCQkJCQkJCQkJCQorCisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKwlzdGFydGRhZW1vbgorCTs7CisgIHN0b3ApCisJc3RvcGRhZW1vbgorCTs7CisgIGZvcmNlLXJlbG9hZCkKKwlzdG9wZGFlbW9uCisJc3RhcnRkYWVtb24KKwk7OworICByZXN0YXJ0KQorCXN0b3BkYWVtb24KKwlzdGFydGRhZW1vbgorCTs7CisgIHJlbG9hZCkKKwlzdG9wZGFlbW9uCisJc3RhcnRkYWVtb24KKwk7OworICAqKQorCWVjaG8gIlVzYWdlOiAke0RBRU1PTn0geyBzdGFydCB8IHN0b3AgfCByZXN0YXJ0IHwgcmVsb2FkIH0iID4mMgorCWV4aXQgMQorCTs7Citlc2FjCisJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCitleGl0IDAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL293ZnMvb3dmcy9vd3NlcnZlciBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL293ZnMvb3dmcy9vd3NlcnZlcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNjllYTUzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvb3dmcy9vd2ZzL293c2VydmVyCkBAIC0wLDAgKzEsNTkgQEAKKyMhL2Jpbi9zaAorCitQQVRIPS9zYmluOi9iaW46L3Vzci9iaW4KKworREFFTU9OPSJvd3NlcnZlciIKKwordGVzdCAtZiAvdXNyL2Jpbi8ke0RBRU1PTn0gfHwgZXhpdCAwCisKK2lmIHRlc3QgLWYgL2V0Yy9kZWZhdWx0LyR7REFFTU9OfSA7IHRoZW4KKy4gL2V0Yy9kZWZhdWx0LyR7REFFTU9OfQorZWxzZQorOgorZmkKKworaWYgWyAiJFNUQVJUX09XU0VSVkVSIiAhPSAieWVzIiBdIAordGhlbiAgCisJZXhpdCAwCitmaQorCitzdGFydGRhZW1vbigpeworCWVjaG8gLW4gIlN0YXJ0aW5nICR7REFFTU9OfTogIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLXggL3Vzci9iaW4vJHtEQUVNT059IC0tICAke0NNRExJTkV9IC0tcGlkX2ZpbGUgL3Zhci9ydW4vJHtEQUVNT059LnBpZAorCWVjaG8gImRvbmUiCit9CisKK3N0b3BkYWVtb24oKXsKKwllY2hvIC1uICJTdG9wcGluZyAke0RBRU1PTn06ICIKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLXAgL3Zhci9ydW4vJHtEQUVNT059LnBpZAorICAgICAgICBlY2hvICJkb25lIgorfQorCQkJCQkJCQkJCQorCisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKwlzdGFydGRhZW1vbgorCTs7CisgIHN0b3ApCisJc3RvcGRhZW1vbgorCTs7CisgIGZvcmNlLXJlbG9hZCkKKwlzdG9wZGFlbW9uCisJc3RhcnRkYWVtb24KKwk7OworICByZXN0YXJ0KQorCXN0b3BkYWVtb24KKwlzdGFydGRhZW1vbgorCTs7CisgIHJlbG9hZCkKKwlzdG9wZGFlbW9uCisJc3RhcnRkYWVtb24KKwk7OworICAqKQorCWVjaG8gIlVzYWdlOiAke0RBRU1PTn0geyBzdGFydCB8IHN0b3AgfCByZXN0YXJ0IHwgcmVsb2FkIH0iID4mMgorCWV4aXQgMQorCTs7Citlc2FjCisJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCitleGl0IDAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL293ZnMvb3dmc18yLjlwMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL293ZnMvb3dmc18yLjlwMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMWZkN2U5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvb3dmcy9vd2ZzXzIuOXAxLmJiCkBAIC0wLDAgKzEsNjggQEAKK1NVTU1BUlkgPSAiMS1XaXJlIGZpbGUgc3lzdGVtIgorREVTQ1JJUFRJT04gPSAiT1dGUyBpcyBhbiBlYXN5IHdheSB0byB1c2UgdGhlIHBvd2VyZnVsIDEtd2lyZSBzeXN0ZW0gb2YgRGFsbGFzL01heGltIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5vd2ZzLm9yZy8iCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKKworTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWEwYmM0MjdmNDIzYTQxMjIwYWI3OWEwYjM5MjIxOGJkIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT04NjVjNGJkNjQyZDllMDRmNDM5MjVhZDdlOTI5YWU4NyIKKworREVQRU5EUyA9ICJmdXNlIHZpcnR1YWwvbGlidXNiMCIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vb3dmcy9vd2ZzLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9vd2h0dHBkIFwKKyAgICAgICAgICAgZmlsZTovL293c2VydmVyICIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1NmJhMTQ1YmUyMDgwMDJlNTg3NzVhNzIwMzM2OTg1MSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5ZDIyZGJmZjcyZDIzNTQ3NjY4OGMwMjY2OWY3MTcxYjIzZTIxZGZmYWRmNDBiYmRkM2I4MjYzOTA4MjE4NDI0IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgdXBkYXRlLXJjLmQKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1mdXNlaW5jbHVkZT0ke1NUQUdJTkdfSU5DRElSfSBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1mdXNlbGliPSR7U1RBR0lOR19MSUJESVJ9IFwKKyAgICAgICAgICAgICAgICAgLS1lbmFibGUtb3dmcyBcCisgICAgICAgICAgICAgICAgIC0tZW5hYmxlLW93aHR0cGQgXAorICAgICAgICAgICAgICAgICAtLWVuYWJsZS13MSBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1zd2lnIFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLW93dGNsIFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLW93cGhwIFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLW93cHl0aG9uIFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLW93cGVybCBcCisiCisKK2RvX2luc3RhbGxfcHJlcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vb3dodHRwZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvb3dodHRwZAorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L293c2VydmVyICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9vd3NlcnZlcgorfQorCitQQUNLQUdFUyA9KyAib3dmdHBkIG93aHR0cGQgb3dzZXJ2ZXIgb3dzaGVsbCBsaWJvd2NhcGkgbGlib3cgbGlib3duZXQgb3dtb24gb3d0YXAiCisKK0RFU0NSSVBUSU9OX293ZnRwZCA9ICJBbm95bW91cyBGVFAgc2VydmVyIGZvciAxLXdpcmUgYWNjZXNzIgorREVTQ1JJUFRJT05fb3dodHRwZCA9ICJUaW55IHdlYnNlcnZlciBmb3IgMS13aXJlIGNvbnRyb2wiCitERVNDUklQVElPTl9vd3NlcnZlciA9ICJCYWNrZW5kIHNlcnZlciAoZGFlbW9uKSBmb3IgMS13aXJlIGNvbnRyb2wiCitERVNDUklQVElPTl9vd3NoZWxsID0gIm93ZGlyIG93cmVhZCBvd3dyaXRlIG93cHJlc2VudCBvd2dldCAtIGxpZ2h0d2VpZ2h0IG93c2VydmVyIGFjY2VzcyIKK0RFU0NSSVBUSU9OX2xpYm93Y2FwaSA9ICJlYXN5IEMtbGFuZ3VhZ2UgMS13aXJlIGludGVyZmFjZSAiCitERVNDUklQVElPTl9saWJvdyA9ICJlYXN5IEMtbGFuZ3VhZ2UgMS13aXJlIGludGVyZmFjZSB0byB0aGUgb3dzZXJ2ZXIgcHJvdG9jb2wiCitERVNDUklQVElPTl9saWJvd25ldCA9ICJlYXN5IEMtbGFuZ3VhZ2UgMS13aXJlIGludGVyZmFjZSB0byB0aGUgb3dzZXJ2ZXIgcHJvdG9jb2wiCitERVNDUklQVElPTl9vd21vbiA9ICJNb25pdG9yIGZvciBvd3NlcnZlciBzZXR0aW5ncyBhbmQgc3RhdGlzdGljcyIKK0RFU0NSSVBUSU9OX293dGFwID0gIlBhY2tldCBzbmlmZmVyIGZvciB0aGUgb3dzZXJ2ZXIgcHJvdG9jb2wiCisKK0ZJTEVTX293ZnRwZCA9ICIke2JpbmRpcn0vb3dmdHBkIgorRklMRVNfb3dodHRwZCA9ICIke2JpbmRpcn0vb3dodHRwZCAke3N5c2NvbmZkaXJ9L2luaXQuZC9vd2h0dHBkIgorRklMRVNfb3dzZXJ2ZXIgPSAiJHtiaW5kaXJ9L293c2VydmVyICR7c3lzY29uZmRpcn0vaW5pdC5kL293c2VydmVyIgorRklMRVNfb3dzaGVsbCA9ICIke2JpbmRpcn0vb3dyZWFkICR7YmluZGlyfS9vd3dyaXRlIFwKKyAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L293ZGlyICR7YmluZGlyfS9vd3ByZXNlbnQgXAorICAgICAgICAgICAgICAgICAke2JpbmRpcn0vb3dnZXQgJHtiaW5kaXJ9L293c2lkZSIKK0ZJTEVTX293bW9uID0gIiR7YmluZGlyfS9vd21vbiIKK0ZJTEVTX293dGFwID0gIiR7YmluZGlyfS9vd3RhcCIKK0ZJTEVTX2xpYm93Y2FwaSA9ICIke2xpYmRpcn0vbGlib3djYXBpLSoiCitGSUxFU19saWJvdyA9ICIke2xpYmRpcn0vbGlib3ctKiIKK0ZJTEVTX2xpYm93bmV0ID0gIiR7bGliZGlyfS9saWJvd25ldC0qIgorCitJTklUU0NSSVBUX1BBQ0tBR0VTID0gIm93aHR0cGQgb3dzZXJ2ZXIiCitJTklUU0NSSVBUX05BTUVfb3dzZXJ2ZXIgPSAib3dzZXJ2ZXIiCitJTklUU0NSSVBUX05BTUVfb3dodHRwZCA9ICJvd2h0dHBkIgorSU5JVFNDUklQVF9QQVJBTVNfb3dzZXJ2ZXIgPSAiZGVmYXVsdHMgMjAiCitJTklUU0NSSVBUX1BBUkFNU19vd2h0dHBkID0gImRlZmF1bHRzIDIxIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvc2ltcGxlLW10cGZzL3NpbXBsZS1tdHBmc19naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9zaW1wbGUtbXRwZnMvc2ltcGxlLW10cGZzX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODU5NzdmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvc2ltcGxlLW10cGZzL3NpbXBsZS1tdHBmc19naXQuYmIKQEAgLTAsMCArMSwxMyBAQAorREVTQ1JJUFRJT04gPSAiU0lNUExFLU1UUEZTIGlzIGEgRlVTRSBiYXNlZCBmaWxzeXN0ZW0gZm9yIE1UUCBkZXZpY2VzIGNvbm5lY3RlZCB2aWEgVVNCIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3BoYXRpbmEvc2ltcGxlLW10cGZzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1ODU5OTg5NTQ1ZTM3OTY4YTk5YjYzMWVmNDI3MjJlIgorCitERVBFTkRTID0gImZ1c2UgbGlibXRwIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3BoYXRpbmEvc2ltcGxlLW10cGZzLmdpdDtwcm90b2NvbD1odHRwczticmFuY2g9bWFzdGVyIgorU1JDUkVWID0gImE3YWI2NGM3ZTRkN2FjYTE1NWNiYzdjZTk0MTJhYWY2OGVmNmU0MDQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9zbWJuZXRmcy9zbWJuZXRmcy9Vc2luZy1QS0dfQ0hFQ0tfTU9EVUxFUy10by1mb3VuZC1oZWFkZXJzLWFuZC1saWJyYXJpZXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9zbWJuZXRmcy9zbWJuZXRmcy9Vc2luZy1QS0dfQ0hFQ0tfTU9EVUxFUy10by1mb3VuZC1oZWFkZXJzLWFuZC1saWJyYXJpZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjA1ZjA5ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL3NtYm5ldGZzL3NtYm5ldGZzL1VzaW5nLVBLR19DSEVDS19NT0RVTEVTLXRvLWZvdW5kLWhlYWRlcnMtYW5kLWxpYnJhcmllcy5wYXRjaApAQCAtMCwwICsxLDQyIEBACitGcm9tIDdhNTI0ZDQ5YjNkNDQ1OTI4MGYxODk0MmRmMjk4MDYwMzQwMGVjNTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBCaWFuIE5haW1lbmcgPGJpYW5ubUBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IEZyaSwgMTkgSnVuIDIwMTUgMTE6NTQ6NDQgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gVXNpbmcgUEtHX0NIRUNLX01PRFVMRVMgdG8gZm91bmQgaGVhZGVycyBhbmQgbGlicmFyaWVzIG9mCisgc21iY2xpZW50CisKK1NpZ25lZC1vZmYtYnk6IEJpYW4gTmFpbWVuZyA8Ymlhbm5tQGNuLmZ1aml0c3UuY29tPgorLS0tCisgY29uZmlndXJlLmluICAgIHwgNSArKysrKworIHNyYy9NYWtlZmlsZS5hbSB8IDMgKysrCisgMiBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgoraW5kZXggY2UyMWFlZi4uZWNkNzExOSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5pbgorKysrIGIvY29uZmlndXJlLmluCitAQCAtMTI1LDYgKzEyNSwxMSBAQCBBQ19DSEVDS19MSUIoc21iY2xpZW50LCBzbWJjX3NldE9wdGlvblVzZXJEYXRhLAorICAgICApXQorICkKKyAKKytkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKytkbmwgKioqIENoZWNrIGxpYnNtYmNsaWVudCBieSBwa2djb25maWcgdG8gZ2V0IGNmbGFncyBhbmQgbGRmbGFncyAqKioKKytkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKytQS0dfQ0hFQ0tfTU9EVUxFUyhTTUJDTElFTlQsIHNtYmNsaWVudCkKKysKKyBkbmwgKioqKioqKioqKioqKioqKioqCisgZG5sICoqKiBGaW5hbCBzdGVwICoqKgorIGRubCAqKioqKioqKioqKioqKioqKioKK2RpZmYgLS1naXQgYS9zcmMvTWFrZWZpbGUuYW0gYi9zcmMvTWFrZWZpbGUuYW0KK2luZGV4IDQxNTE5ZDguLjlmYzk3ZTkgMTAwNjQ0CistLS0gYS9zcmMvTWFrZWZpbGUuYW0KKysrKyBiL3NyYy9NYWtlZmlsZS5hbQorQEAgLTE2LDMgKzE2LDYgQEAgc21ibmV0ZnNfU09VUkNFUyA9IFwKKyAJZXZlbnQuYwkJCWV2ZW50LmgJCQlcCisgCXJlY29uZmlndXJlLmMJCXJlY29uZmlndXJlLmgJCVwKKyAJbWFpbi5jCisrCisrc21ibmV0ZnNfQ0ZMQUdTPSR7U01CQ0xJRU5UX0NGTEFHU30KKytzbWJuZXRmc19MREZMQUdTPSR7U01CQ0xJRU5UX0xERkxBR1N9CistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvc21ibmV0ZnMvc21ibmV0ZnMvY29uZmlndXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvc21ibmV0ZnMvc21ibmV0ZnMvY29uZmlndXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4MGZlZDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9zbWJuZXRmcy9zbWJuZXRmcy9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorSW5kZXg6IGdpdC9jb25maWd1cmUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnaXQub3JpZy9jb25maWd1cmUuaW4JMjAxNC0wNi0xOCAxNjowNjoxNi4wNDA3MjEzNDkgKzAwMDAKKysrKyBnaXQvY29uZmlndXJlLmluCTIwMTQtMDctMTggMDc6NDk6MTcuMDg1NTUyMjU2ICswMDAwCitAQCAtMSw1ICsxLDUgQEAKKyBBQ19JTklUKFtTTUJOZXRGU10sWzAuNS4z0LBdKQorLUFNX0lOSVRfQVVUT01BS0UKKytBTV9JTklUX0FVVE9NQUtFKFtmb3JlaWduXSkKKyBBQ19DT05GSUdfSEVBREVSUyhbc3JjL2NvbmZpZy5oXSkKKyBBQ19QUk9HX0NDCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9zbWJuZXRmcy9zbWJuZXRmc19naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9zbWJuZXRmcy9zbWJuZXRmc19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjE0MjBmYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL3NtYm5ldGZzL3NtYm5ldGZzX2dpdC5iYgpAQCAtMCwwICsxLDI2IEBACitTVU1NQVJZID0gIkZVU0UgbW9kdWxlIGZvciBtb3VudGluZyBhbiBlbnRpcmUgU01CL05NQiBuZXR3b3JrIGluIGEgc2luZ2xlIGRpcmVjdG9yeSIKK0RFU0NSSVBUSU9OID0gIlNNQk5ldEZTIGlzIGEgTGludXgvRnJlZUJTRCBmaWxlc3lzdGVtIHRoYXQgYWxsb3cgeW91IHRvIHVzZSBcCisgICAgICAgICAgICAgICBzYW1iYS9taWNyb3NvZnQgbmV0d29yayBpbiB0aGUgc2FtZSBtYW5uZXIgYXMgdGhlIG5ldHdvcmsgXAorICAgICAgICAgICAgICAgbmVpZ2hib3Job29kIGluIE1pY3Jvc29mdCBXaW5kb3dzLiBQbGVhc2UgZG9uYXRlIG1lIHRvIGhlbHAgXAorICAgICAgICAgICAgICAgaW4gU01CTmV0RlMgZGV2ZWxvcG1lbnQuIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZWI3MjNiNjE1MzlmZWVmMDEzZGU0NzZlNjhiNWM1MGEiCitIT01FUEFHRSA9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvc21ibmV0ZnMiCisKK0RFUEVORFMgPSAiZnVzZSBzYW1iYSIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2l0cGtndiBwa2djb25maWcKKworUEtHViA9ICIke0dJVFBLR1ZUQUd9IgorCitTUkNSRVYgPSAiYWNlMWM1MTlkNDVmZTQ4OGI5YjdlNmNjNzdhMmJjYWRiNmM4MzQ2NCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9zbWJuZXRmcy5naXQuc291cmNlZm9yZ2UubmV0L2dpdHJvb3Qvc21ibmV0ZnMvc21ibmV0ZnM7YnJhbmNoPW1hc3RlciBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vVXNpbmctUEtHX0NIRUNLX01PRFVMRVMtdG8tZm91bmQtaGVhZGVycy1hbmQtbGlicmFyaWVzLnBhdGNoIgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tnbm9tZS1rZXlyaW5nXSA9ICItLXdpdGgtZ25vbWUta2V5cmluZz15ZXMsLS13aXRoLWdub21lLWtleXJpbmc9bm8sbGliZ25vbWUta2V5cmluZyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL3NzaGZzLWZ1c2Uvc3NoZnMtZnVzZV8yLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9zc2hmcy1mdXNlL3NzaGZzLWZ1c2VfMi41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1NGNmY2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9zc2hmcy1mdXNlL3NzaGZzLWZ1c2VfMi41LmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiVGhpcyBpcyBhIGZpbGVzeXN0ZW0gY2xpZW50IGJhc2VkIG9uIHRoZSBTU0ggRmlsZSBUcmFuc2ZlciBQcm90b2NvbCB1c2luZyBGVVNFIgorQVVUSE9SID0gIk1pa2xvcyBTemVyZWRpIDxtaWtsb3NAc3plcmVkaS5odT4iCitIT01FUEFHRSA9ICJodHRwOi8vZnVzZS5zb3VyY2Vmb3JnZS5uZXQvc3NoZnMuaHRtbCIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorTElDRU5TRSA9ICJHUEx2MiIKK0RFUEVORFMgPSAiZ2xpYi0yLjAgZnVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9mdXNlLyR7QlB9LnRhci5neiIKK1MgPSAiJHtXT1JLRElSfS8ke0JQfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vc3Nobm9kZWxheS5zbyIKKworU1JDX1VSSVttZDVzdW1dID0gIjE3NDk0OTEwZGI4MzgzYTM2NmIxMzAxZTVmNTE0OGE5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU5MTcxNDUyZTVkMDE1MGI5YzZhMjE1OGZkMmUyZGNlZmI1ZDVkMDNiYTRkMjA4OTQ5ZTAwYTNhNDZjNmU2M2UiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy91bmlvbmZzLWZ1c2UvdW5pb25mcy1mdXNlXzAuMjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy91bmlvbmZzLWZ1c2UvdW5pb25mcy1mdXNlXzAuMjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2RmOWMzOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL3VuaW9uZnMtZnVzZS91bmlvbmZzLWZ1c2VfMC4yNi5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIkEgRlVTRSBiYXNlZCBpbXBsZW1lbnRpb24gb2YgdW5pb25mcyIKK0hPTUVQQUdFID0gImh0dHA6Ly9wb2Rnb3JueS5jei9tb2luL1VuaW9uRnNGdXNlIgorU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0RFUEVORFMgPSAiZnVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3NyYy91bmlvbmZzLmM7YmVnaW5saW5lPTM7ZW5kbGluZT04O21kNT0zMGZhOGRlNzBmZDhhYmFiMDBiNDgzYTFiNzk0M2EzMiIKKworU1JDX1VSSSA9ICJodHRwOi8vcG9kZ29ybnkuY3ovdW5pb25mcy1mdXNlL3JlbGVhc2VzLyR7QlB9LnRhci54eiIKKworU1JDX1VSSVttZDVzdW1dID0gIjY4OWM2MzY0ODQ3NTZmNmY3YTcyOGVmMzU0Y2JlYWMyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhkNWM5ZGNiNTFlY2I5YTliMDM4OTBlMTZkMTdlMzdkNjAyYjBjMWYyM2VkNmE5ZGRlYzJiMGY3MTljOWY2NjIiCisKK2RvX2luc3RhbGwoKSB7CisJb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfSBQUkVGSVg9JHtleGVjX3ByZWZpeH0KK30KKworUkRFUEVORFNfJHtQTn0gKz0gImJhc2giCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy95YWZmczIveWFmZnMyLXV0aWxzX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL3lhZmZzMi95YWZmczItdXRpbHNfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1M2VhNjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy95YWZmczIveWFmZnMyLXV0aWxzX2dpdC5iYgpAQCAtMCwwICsxLDM2IEBACitTVU1NQVJZID0gIllldCBBbm90aGVyIEZsYXNoIEZpbGUgU3lzdGVtIgorREVTQ1JJUFRJT04gPSAiVG9vbHMgZm9yIG1hbmFnaW5nICd5YWZmczInIGZpbGUgc3lzdGVtcy4iCisKK1NFQ1RJT04gPSAiYmFzZSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cueWFmZnMubmV0IgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vdXRpbHMvbWt5YWZmczJpbWFnZS5jO2JlZ2lubGluZT0xMjtlbmRsaW5lPTE0O21kNT01ZjU0NjRmOWIzZTk4MWNhNTc0ZTY1YjAwZTQzODU2MSIKKworUFYgPSAiMC4wK2dpdCR7U1JDUFZ9IgorCitERVBFTkRTID0gIm10ZC11dGlscyIKKworIyBTb3VyY2UgaXMgdGhlIEhFQUQgb2YgbWFzdGVyIGJyYW5jaCBhdCB0aGUgdGltZSBvZiB3cml0aW5nIHRoaXMgcmVjaXBlCitTUkNfVVJJID0gImdpdDovL3d3dy5hbGVwaDEuY28udWsveWFmZnMyO3Byb3RvY29sPWdpdDticmFuY2g9bWFzdGVyIgorU1JDUkVWID0gImJjNzY2ODJkOTM5NTVjZmIzMzA1MWJlYjUwM2FkOWY4YTU0NTA1NzgiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitDRkxBR1NfYXBwZW5kID0gIiAtSS4uIC1EQ09ORklHX1lBRkZTX1VUSUwgLURDT05GSUdfWUFGRlNfREVGSU5FU19UWVBFUyIKK0VYVFJBX09FTUFLRSA9ICItZSBNQUtFRkxBR1M9IgorCitkb19jb21waWxlKCkgeworICAgIGNkIHV0aWxzICYmIG9lX3J1bm1ha2UKK30KKworSU5TVEFMTF9GSUxFUyA9ICJta3lhZmZzaW1hZ2UgXAorICAgICAgICAgICAgICAgICBta3lhZmZzMmltYWdlIFwKKyAgICAgICAgICAgICAgICAiCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0vCisgICAgZm9yIGkgaW4gJHtJTlNUQUxMX0ZJTEVTfTsgZG8KKyAgICAgICAgaW5zdGFsbCAtbSAwNzU1IHV0aWxzLyRpICR7RH0ke3NiaW5kaXJ9LworICAgIGRvbmUKK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1zdXBwb3J0L2Z1c2UvZmlsZXMvMDAwMS1mdXNlLWZpeC10aGUtcmV0dXJuLXZhbHVlLW9mLWhlbHAtb3B0aW9uLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9mdXNlL2ZpbGVzLzAwMDEtZnVzZS1maXgtdGhlLXJldHVybi12YWx1ZS1vZi1oZWxwLW9wdGlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NzdkYmI1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9mdXNlL2ZpbGVzLzAwMDEtZnVzZS1maXgtdGhlLXJldHVybi12YWx1ZS1vZi1oZWxwLW9wdGlvbi5wYXRjaApAQCAtMCwwICsxLDI4IEBACitGcm9tIDIxODJjNDIzYzZjZDIzNWMwNTJlNmM0MjAyMDNmMjRlYzliY2Q2YWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMdSBDaG9uZyA8Q2hvbmcuTHVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgMzAgT2N0IDIwMTMgMTU6Mjc6MDAgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gZnVzZTogZml4IHRoZSByZXR1cm4gdmFsdWUgb2YgIi0taGVscCIgb3B0aW9uCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBMdSBDaG9uZyA8Q2hvbmcuTHVAd2luZHJpdmVyLmNvbT4KKy0tLQorIHV0aWwvZnVzZXJtb3VudC5jIHwgICAgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvdXRpbC9mdXNlcm1vdW50LmMgYi91dGlsL2Z1c2VybW91bnQuYworaW5kZXggYjJlODdkOS4uNzBkN2M3NSAxMDA2NDQKKy0tLSBhL3V0aWwvZnVzZXJtb3VudC5jCisrKysgYi91dGlsL2Z1c2VybW91bnQuYworQEAgLTExNjgsNyArMTE2OCw3IEBAIHN0YXRpYyB2b2lkIHVzYWdlKHZvaWQpCisgCQkiIC1xCQkgICAgcXVpZXRcbiIKKyAJCSIgLXoJCSAgICBsYXp5IHVubW91bnRcbiIsCisgCQlwcm9nbmFtZSk7CistCWV4aXQoMSk7CisrCWV4aXQoMCk7CisgfQorIAorIHN0YXRpYyB2b2lkIHNob3dfdmVyc2lvbih2b2lkKQorLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXN1cHBvcnQvZnVzZS9maWxlcy9hYXJjaDY0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9mdXNlL2ZpbGVzL2FhcmNoNjQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDUwZDExNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXN1cHBvcnQvZnVzZS9maWxlcy9hYXJjaDY0LnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK2Z1c2U6IGFkZCBhYXJjaDY0IHN1cHBvcnQKKwordTY0L3UzMiBpcyBub3QgZGVmaW5lZCBpbiBzeXMvdHlwZXMuaCwgaW5jbHVkZSBsaW51eC90eXBlcy5oIGxpa2UKK3RoZSBrZXJuZWwgdmVyc2lvbiBvZiBmdXNlLmggZG9lcy4gUGF0Y2ggc2VudCB0byB1cHN0cmVhbSBtYWlsaW5nIGxpc3QuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkCitTaWduZWQtb2ZmLWJ5OiBSaWt1IFZvaXBpbyA8cmlrdS52b2lwaW9AbGluYXJvLm9yZz4KK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIGluY2x1ZGUvZnVzZV9rZXJuZWwuaCB8IDcgKy0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2luY2x1ZGUvZnVzZV9rZXJuZWwuaCBiL2luY2x1ZGUvZnVzZV9rZXJuZWwuaAoraW5kZXggYzYzMmI1OC4uZTgwNDI3OCAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvZnVzZV9rZXJuZWwuaAorKysrIGIvaW5jbHVkZS9mdXNlX2tlcm5lbC5oCitAQCAtODgsMTIgKzg4LDcgQEAKKyAjaWZuZGVmIF9MSU5VWF9GVVNFX0gKKyAjZGVmaW5lIF9MSU5VWF9GVVNFX0gKKyAKKy0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+CistI2RlZmluZSBfX3U2NCB1aW50NjRfdAorLSNkZWZpbmUgX19zNjQgaW50NjRfdAorLSNkZWZpbmUgX191MzIgdWludDMyX3QKKy0jZGVmaW5lIF9fczMyIGludDMyX3QKKy0jZGVmaW5lIF9fdTE2IHVpbnQxNl90CisrI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisgCisgLyoKKyAgKiBWZXJzaW9uIG5lZ290aWF0aW9uOgorLS0gCisxLjguMS4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXN1cHBvcnQvZnVzZS9maWxlcy9mdXNlLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1zdXBwb3J0L2Z1c2UvZmlsZXMvZnVzZS5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1MTdjNDgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1zdXBwb3J0L2Z1c2UvZmlsZXMvZnVzZS5jb25mCkBAIC0wLDAgKzEgQEAKK2Z1c2UKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXN1cHBvcnQvZnVzZS9maWxlcy9nb2xkLXVudmVyc2lvbmVkLXN5bWJvbC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXN1cHBvcnQvZnVzZS9maWxlcy9nb2xkLXVudmVyc2lvbmVkLXN5bWJvbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNDdmNjkyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9mdXNlL2ZpbGVzL2dvbGQtdW52ZXJzaW9uZWQtc3ltYm9sLnBhdGNoCkBAIC0wLDAgKzEsOTIgQEAKK2Z1c2U6IEZpeCBsaW5raW5nIGlzc3VlcyB3aXRoIGdvbGQgbGlua2VyCisKK2Z1c2UgaGFzIHByb2JsZW1zIHdoZW4gbGlua2luZyB3aXRoIGdvbGQgc2luY2UgaXQgdXNlcyB2ZXJzaW9uCitzY3JpcHRzIGluIGEgd2F5IHRoYXRzIHNvIHBlcnRpY3VsYXIgdG8gYmZkIGxkCisKKy9ob21lL2tyYWovd29yay9hbmdzdHJvbS9idWlsZC90bXAtYW5nc3Ryb21fMjAxMF94LWVnbGliYy9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYmV4ZWMvYXJtdjV0ZS1hbmdzdHJvbS1saW51eC1nbnVlYWJpL2djYy9hcm0tYW5nc3RybworZXJyb3I6IHN5bWJvbCBfX2Z1c2VfZXhpdGVkIGhhcyB1bmRlZmluZWQgdmVyc2lvbgorfCBjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cworfCBtYWtlWzFdOiAqKiogW2xpYmZ1c2UubGFdIEVycm9yIDEKK3wgbWFrZVsxXTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4uLi4KKworRm9yIG1vcmUgZGV0YWlscworCitodHRwOi8vYmxvZy5mbGFtZWV5ZXMuZXUvMjAxMS8wNi8wMS9nb2xkLXJlYWRpbmVzcy1vYnN0YWNsZS0yLWJhc2UtdmVyc2lvbmluZworaHR0cDovL3NvdXJjZXMucmVkaGF0LmNvbS9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTA4NjEKK2h0dHA6Ly9jb21tZW50cy5nbWFuZS5vcmcvZ21hbmUuY29tcC5maWxlLXN5c3RlbXMuZnVzZS5kZXZlbC85NTI0CitodHRwOi8vd3d3LmFpcnMuY29tL2Jsb2cvYXJjaGl2ZXMvMzAwCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CistLS0KKyBsaWIvZnVzZS5jICAgICAgICAgICAgIHwgMTAgKysrKystLS0tLQorIGxpYi9mdXNlX210LmMgICAgICAgICAgfCAgMiArLQorIGxpYi9mdXNlX3ZlcnNpb25zY3JpcHQgfCAgMyArKysKKyBsaWIvaGVscGVyLmMgICAgICAgICAgIHwgIDYgKysrLS0tCisgNCBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliL2Z1c2UuYyBiL2xpYi9mdXNlLmMKK2luZGV4IDA2N2QwZGMuLjZkMjc3MTEgMTAwNjQ0CistLS0gYS9saWIvZnVzZS5jCisrKysgYi9saWIvZnVzZS5jCitAQCAtNDg3MywxMSArNDg3MywxMSBAQCBzdHJ1Y3QgZnVzZSAqZnVzZV9uZXdfY29tcGF0MShpbnQgZmQsIGludCBmbGFncywKKyAJCQkJICAgICAgMTEpOworIH0KKyAKKy1GVVNFX1NZTVZFUigiLnN5bXZlciBmdXNlX2V4aXRlZCxfX2Z1c2VfZXhpdGVkQCIpOworLUZVU0VfU1lNVkVSKCIuc3ltdmVyIGZ1c2VfcHJvY2Vzc19jbWQsX19mdXNlX3Byb2Nlc3NfY21kQCIpOworLUZVU0VfU1lNVkVSKCIuc3ltdmVyIGZ1c2VfcmVhZF9jbWQsX19mdXNlX3JlYWRfY21kQCIpOworLUZVU0VfU1lNVkVSKCIuc3ltdmVyIGZ1c2Vfc2V0X2dldGNvbnRleHRfZnVuYyxfX2Z1c2Vfc2V0X2dldGNvbnRleHRfZnVuY0AiKTsKKy1GVVNFX1NZTVZFUigiLnN5bXZlciBmdXNlX25ld19jb21wYXQyLGZ1c2VfbmV3QCIpOworK0ZVU0VfU1lNVkVSKCIuc3ltdmVyIGZ1c2VfZXhpdGVkLF9fZnVzZV9leGl0ZWRARlVTRV9VTlZFUlNJT05FRCIpOworK0ZVU0VfU1lNVkVSKCIuc3ltdmVyIGZ1c2VfcHJvY2Vzc19jbWQsX19mdXNlX3Byb2Nlc3NfY21kQEZVU0VfVU5WRVJTSU9ORUQiKTsKKytGVVNFX1NZTVZFUigiLnN5bXZlciBmdXNlX3JlYWRfY21kLF9fZnVzZV9yZWFkX2NtZEBGVVNFX1VOVkVSU0lPTkVEIik7CisrRlVTRV9TWU1WRVIoIi5zeW12ZXIgZnVzZV9zZXRfZ2V0Y29udGV4dF9mdW5jLF9fZnVzZV9zZXRfZ2V0Y29udGV4dF9mdW5jQEZVU0VfVU5WRVJTSU9ORUQiKTsKKytGVVNFX1NZTVZFUigiLnN5bXZlciBmdXNlX25ld19jb21wYXQyLGZ1c2VfbmV3QEZVU0VfVU5WRVJTSU9ORUQiKTsKKyBGVVNFX1NZTVZFUigiLnN5bXZlciBmdXNlX25ld19jb21wYXQyMixmdXNlX25ld0BGVVNFXzIuMiIpOworIAorICNlbmRpZiAvKiBfX0ZyZWVCU0RfXyB8fCBfX05ldEJTRF9fICAqLworZGlmZiAtLWdpdCBhL2xpYi9mdXNlX210LmMgYi9saWIvZnVzZV9tdC5jCitpbmRleCBmNmRiZTcxLi5mZDVhYzIzIDEwMDY0NAorLS0tIGEvbGliL2Z1c2VfbXQuYworKysrIGIvbGliL2Z1c2VfbXQuYworQEAgLTExOSw0ICsxMTksNCBAQCBpbnQgZnVzZV9sb29wX210KHN0cnVjdCBmdXNlICpmKQorIAlyZXR1cm4gcmVzOworIH0KKyAKKy1GVVNFX1NZTVZFUigiLnN5bXZlciBmdXNlX2xvb3BfbXRfcHJvYyxfX2Z1c2VfbG9vcF9tdEAiKTsKKytGVVNFX1NZTVZFUigiLnN5bXZlciBmdXNlX2xvb3BfbXRfcHJvYyxfX2Z1c2VfbG9vcF9tdEBGVVNFX1VOVkVSU0lPTkVEIik7CitkaWZmIC0tZ2l0IGEvbGliL2Z1c2VfdmVyc2lvbnNjcmlwdCBiL2xpYi9mdXNlX3ZlcnNpb25zY3JpcHQKK2luZGV4IDhkOTE4ODcuLmRlMTZhYjIgMTAwNjQ0CistLS0gYS9saWIvZnVzZV92ZXJzaW9uc2NyaXB0CisrKysgYi9saWIvZnVzZV92ZXJzaW9uc2NyaXB0CitAQCAtMSwzICsxLDYgQEAKKytGVVNFX1VOVkVSU0lPTkVEIHsKKyt9OworKworIEZVU0VfMi4yIHsKKyAJZ2xvYmFsOgorIAkJZnVzZV9kZXN0cm95OworZGlmZiAtLWdpdCBhL2xpYi9oZWxwZXIuYyBiL2xpYi9oZWxwZXIuYworaW5kZXggYjY0NDAxMi4uYzUzNDliZiAxMDA2NDQKKy0tLSBhL2xpYi9oZWxwZXIuYworKysrIGIvbGliL2hlbHBlci5jCitAQCAtNDM2LDEwICs0MzYsMTAgQEAgaW50IGZ1c2VfbW91bnRfY29tcGF0MShjb25zdCBjaGFyICptb3VudHBvaW50LCBjb25zdCBjaGFyICphcmdzW10pCisgCXJldHVybiBmdXNlX21vdW50X2NvbXBhdDIyKG1vdW50cG9pbnQsIE5VTEwpOworIH0KKyAKKy1GVVNFX1NZTVZFUigiLnN5bXZlciBmdXNlX3NldHVwX2NvbXBhdDIsX19mdXNlX3NldHVwQCIpOworK0ZVU0VfU1lNVkVSKCIuc3ltdmVyIGZ1c2Vfc2V0dXBfY29tcGF0MixfX2Z1c2Vfc2V0dXBARlVTRV9VTlZFUlNJT05FRCIpOworIEZVU0VfU1lNVkVSKCIuc3ltdmVyIGZ1c2Vfc2V0dXBfY29tcGF0MjIsZnVzZV9zZXR1cEBGVVNFXzIuMiIpOworLUZVU0VfU1lNVkVSKCIuc3ltdmVyIGZ1c2VfdGVhcmRvd24sX19mdXNlX3RlYXJkb3duQCIpOworLUZVU0VfU1lNVkVSKCIuc3ltdmVyIGZ1c2VfbWFpbl9jb21wYXQyLGZ1c2VfbWFpbkAiKTsKKytGVVNFX1NZTVZFUigiLnN5bXZlciBmdXNlX3RlYXJkb3duLF9fZnVzZV90ZWFyZG93bkBGVVNFX1VOVkVSU0lPTkVEIik7CisrRlVTRV9TWU1WRVIoIi5zeW12ZXIgZnVzZV9tYWluX2NvbXBhdDIsZnVzZV9tYWluQEZVU0VfVU5WRVJTSU9ORUQiKTsKKyBGVVNFX1NZTVZFUigiLnN5bXZlciBmdXNlX21haW5fcmVhbF9jb21wYXQyMixmdXNlX21haW5fcmVhbEBGVVNFXzIuMiIpOworIAorICNlbmRpZiAvKiBfX0ZyZWVCU0RfXyB8fCBfX05ldEJTRF9fICovCistLSAKKzEuOC4xLjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9mdXNlL2Z1c2VfMi45LjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1zdXBwb3J0L2Z1c2UvZnVzZV8yLjkuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Y2M2ZGJkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9mdXNlL2Z1c2VfMi45LjQuYmIKQEAgLTAsMCArMSw2NCBAQAorU1VNTUFSWSA9ICJJbXBsZW1lbnRhdGlvbiBvZiBhIGZ1bGx5IGZ1bmN0aW9uYWwgZmlsZXN5c3RlbSBpbiBhIHVzZXJzcGFjZSBwcm9ncmFtIgorREVTQ1JJUFRJT04gPSAiRlVTRSAoRmlsZXN5c3RlbSBpbiBVc2Vyc3BhY2UpIGlzIGEgc2ltcGxlIGludGVyZmFjZSBmb3IgdXNlcnNwYWNlIFwKKyAgICAgICAgICAgICAgIHByb2dyYW1zIHRvIGV4cG9ydCBhIHZpcnR1YWwgZmlsZXN5c3RlbSB0byB0aGUgTGludXgga2VybmVsLiBGVVNFIFwKKyAgICAgICAgICAgICAgIGFsc28gYWltcyB0byBwcm92aWRlIGEgc2VjdXJlIG1ldGhvZCBmb3Igbm9uIHByaXZpbGVnZWQgdXNlcnMgdG8gXAorICAgICAgICAgICAgICAgY3JlYXRlIGFuZCBtb3VudCB0aGVpciBvd24gZmlsZXN5c3RlbSBpbXBsZW1lbnRhdGlvbnMuIFwKKyAgICAgICAgICAgICAgIgorSE9NRVBBR0UgPSAiaHR0cDovL2Z1c2Uuc2YubmV0IgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vZnVzZS9mdXNlLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9nb2xkLXVudmVyc2lvbmVkLXN5bWJvbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9hYXJjaDY0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZnVzZS1maXgtdGhlLXJldHVybi12YWx1ZS1vZi1oZWxwLW9wdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9mdXNlLmNvbmYgXAorIgorU1JDX1VSSVttZDVzdW1dID0gImVjYjcxMmI1ZmZjNmRmZmQ1NGY0YTQwNWM5YjM3MmQ4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZiZTljMGJmZjZhZjhjNjc3NDE0OTM1ZjMxNjk5ZWE1YTdmOGY1Zjc5MWNmYTUyMDViZTAyZWExODZiOTdjZTEiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyB1cGRhdGUtcmMuZCBzeXN0ZW1kCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJmdXNlIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiIgorCitERVBFTkRTID0gImdldHRleHQtbmF0aXZlIgorCitQQUNLQUdFUyA9KyAiZnVzZS11dGlscy1kYmcgZnVzZS11dGlscyBsaWJ1bG9ja21nciBsaWJ1bG9ja21nci1kZXYgbGlidWxvY2ttZ3ItZGJnIgorCisjIEZ1c2VybW91bnQgcmVxdWlyZXMgZmVhdHVyZXMgZnJvbSB0aGUgdXRpbC1saW51eCB2ZXJzaW9uIG9mIG1vdW50LgorUkRFUEVORFNfJHtQTn0gKz0gInV0aWwtbGludXgtbW91bnQiCisKK1JSRUNPTU1FTkRTXyR7UE59ID0gImtlcm5lbC1tb2R1bGUtZnVzZSBsaWJ1bG9ja21nciBmdXNlLXV0aWxzIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2xpYmZ1c2Uuc28uKiIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2xpYmZ1c2UqLmxhIgorCitGSUxFU19saWJ1bG9ja21nciA9ICIke2xpYmRpcn0vbGlidWxvY2ttZ3Iuc28uKiIKK0ZJTEVTX2xpYnVsb2NrbWdyLWRldiArPSAiJHtsaWJkaXJ9L2xpYnVsb2NrKi5sYSIKK0ZJTEVTX2xpYnVsb2NrbWdyLWRiZyArPSAiJHtsaWJkaXJ9Ly5kZWJ1Zy9saWJ1bG9jayoiCisKKyMgRm9yYmlkIGF1dG8tcmVuYW1pbmcgdG8gbGliZnVzZS11dGlscworRklMRVNfZnVzZS11dGlscyA9ICIke2JpbmRpcn0gJHtiYXNlX3NiaW5kaXJ9IgorRklMRVNfZnVzZS11dGlscy1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1ZyAke2Jhc2Vfc2JpbmRpcn0vLmRlYnVnIgorREVCSUFOX05PQVVUT05BTUVfZnVzZS11dGlscyA9ICIxIgorREVCSUFOX05PQVVUT05BTUVfZnVzZS11dGlscy1kYmcgPSAiMSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgcm0gLXJmICR7RH0ke2Jhc2VfcHJlZml4fS9kZXYKKworICAgICMgc3lzdGVtZCBjbGFzcyByZW1vdmUgdGhlIHN5c3ZfaW5pdGRkaXIgb25seSBpZiBzeXN0ZW1kX3N5c3RlbV91bml0ZGlyCisgICAgIyBjb250YWlucyBhbnl0aGluZywgYnV0IGl0J3Mgbm90IG5lZWRlZCBpZiBzeXN2aW5pdCBpcyBub3QgaW4gRElTVFJPX0ZFQVRVUkVTCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICdmYWxzZScsICd0cnVlJywgZCl9OyB0aGVuCisgICAgICAgIHJtIC1yZiAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvCisgICAgZmkKKworICAgICMgSW5zdGFsbCBzeXN0ZW1kIHJlbGF0ZWQgY29uZmlndXJhdGlvbiBmaWxlCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9tb2R1bGVzLWxvYWQuZAorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9mdXNlLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vbW9kdWxlcy1sb2FkLmQKKyAgICBmaQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9waHlzZnMvcGh5c2ZzXzIuMC4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9waHlzZnMvcGh5c2ZzXzIuMC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2MThmMjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1zdXBwb3J0L3BoeXNmcy9waHlzZnNfMi4wLjMuYmIKQEAgLTAsMCArMSwxMSBAQAorU1VNTUFSWSA9ICJQaHlzaWNzRlMgaXMgYSBsaWJyYXJ5IHRvIHByb3ZpZGUgYWJzdHJhY3QgYWNjZXNzIHRvIHZhcmlvdXMgYXJjaGl2ZXMiCitIT01FQVBBR0UgPSAiaHR0cDovL2ljY3VsdXMub3JnL3BoeXNmcyIKK0xJQ0VOU0UgPSAiWmxpYiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT01ZDk0ZTNlYWFhMTBiMDBjYTgwM2JhMzVhM2U4N2NkZSIKK0RFUEVORFMgPSAicmVhZGxpbmUgemxpYiIKKworaW5oZXJpdCBjbWFrZQorCitTUkNfVVJJID0gImh0dHA6Ly9pY2N1bHVzLm9yZy8ke0JQTn0vZG93bmxvYWRzLyR7QlB9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiYzJjNzI3YThhOGRlYjYyM2I1MjFiNTJkMDA4MGY2MTMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiY2E4NjIwOTdjMGZiNDUxZjJjYWNkMjg2MTk0ZDA3MTI4OTM0MmMxMDdiNmZlNjkwNzljMDc5ODgzZmY2NmI2OSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL2F1ZnMtdXRpbC9hdWZzLXV0aWwvYXVmcy11dGlsLWFkZC10b29sLWNvbmNlcHQtdG8tTWFrZWZpbGUtZm9yLWNyb3NzLWNvbS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL2F1ZnMtdXRpbC9hdWZzLXV0aWwvYXVmcy11dGlsLWFkZC10b29sLWNvbmNlcHQtdG8tTWFrZWZpbGUtZm9yLWNyb3NzLWNvbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzM1NTg2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMvYXVmcy11dGlsL2F1ZnMtdXRpbC9hdWZzLXV0aWwtYWRkLXRvb2wtY29uY2VwdC10by1NYWtlZmlsZS1mb3ItY3Jvc3MtY29tLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK1N1YmplY3Q6IFtQQVRDSF0gYXVmcy11dGlsOiBhZGQgdG9vbCBjb25jZXB0IHRvIE1ha2VmaWxlIGZvciBjcm9zcyBjb21waWxpbmcKKyBwdXJwb3NlCisKK0luIGEgY3Jvc3MgY29tcGlsYXRpb24gZW52aXJvbm1lbnQsIGMyc2gsIGMydG1hYyBhbmQgdmVyIG5lZWQgdG8gYmUgY3JlYXRlZCBmaXJzdC4KK0FkZCBhIHRvb2xzIHRhcmdldCB0byBNYWtlZmlsZSB0byBhbGxvdyBmb3IgdGhpcy4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIE1ha2VmaWxlIHwgICAgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggMmY5MDVhZC4uNDljM2NkNSAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTg1LDcgKzg1LDcgQEAgYXVmcy41OiBhdWZzLmluLjUgYzJ0bWFjCisgCWNobW9kIGEtdyAkQAorIAorIGMyc2ggYzJ0bWFjIHZlcjogQ0MgPSAke0hPU1RDQ30KKy0uSU5URVJNRURJQVRFOiBjMnNoIGMydG1hYyB2ZXIKKyt0b29sczogYzJzaCBjMnRtYWMgdmVyCisgCisgSW5zdGFsbCA9IGluc3RhbGwgLW8gcm9vdCAtZyByb290IC1wCisgaW5zdGFsbF9zYmluOiBGaWxlID0gYXVpYnVzeSBhdXBsaW5rIG1vdW50LmF1ZnMgdW1vdW50LmF1ZnMKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy9hdWZzLXV0aWwvYXVmcy11dGlsL2F1ZnMtdXRpbC1kb24tdC1zdHJpcC1leGVjdXRhYmxlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL2F1ZnMtdXRpbC9hdWZzLXV0aWwvYXVmcy11dGlsLWRvbi10LXN0cmlwLWV4ZWN1dGFibGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlMmE2YTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy9hdWZzLXV0aWwvYXVmcy11dGlsL2F1ZnMtdXRpbC1kb24tdC1zdHJpcC1leGVjdXRhYmxlcy5wYXRjaApAQCAtMCwwICsxLDM3IEBACitGcm9tIDI0NDg2M2VjYTc3ZmNhYTExODc4ODQ4MzZjM2UyOGQ2YjZkMTUwNGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgOSBBcHIgMjAxMyAxODo1MDozNCAtMDcwMAorU3ViamVjdDogW1BBVENIXSBhdWZzLXV0aWw6IGRvbid0IHN0cmlwIGV4ZWN1dGFibGVzCisKK0J5IGRlZmF1bHQsIGF1ZnMtdXRpbCBzdHJpcHMgaXRzIGJpbmFyaWVzLiBUaGlzIHByb2R1Y2VzIFFBIHdhcm5pbmdzCithcyBmb2xsb3dzOgorCisgICBXQVJOSU5HOiBGaWxlICcvc2Jpbi9tb3VudC5hdWZzJyBmcm9tIGF1ZnMtdXRpbCB3YXMgYWxyZWFkeSBzdHJpcHBlZCwgdGhpcyB3aWxsIHByZXZlbnQgZnV0dXJlIGRlYnVnZ2luZyEKKyAgIFdBUk5JTkc6IEZpbGUgJy9zYmluL2F1cGxpbmsnIGZyb20gYXVmcy11dGlsIHdhcyBhbHJlYWR5IHN0cmlwcGVkLCB0aGlzIHdpbGwgcHJldmVudCBmdXR1cmUgZGVidWdnaW5nIQorICAgV0FSTklORzogRmlsZSAnL3NiaW4vdW1vdW50LmF1ZnMnIGZyb20gYXVmcy11dGlsIHdhcyBhbHJlYWR5IHN0cmlwcGVkLCB0aGlzIHdpbGwgcHJldmVudCBmdXR1cmUgZGVidWdnaW5nIQorICAgV0FSTklORzogRmlsZSAnL3NiaW4vYXVpYnVzeScgZnJvbSBhdWZzLXV0aWwgd2FzIGFscmVhZHkgc3RyaXBwZWQsIHRoaXMgd2lsbCBwcmV2ZW50IGZ1dHVyZSBkZWJ1Z2dpbmchCisgICBXQVJOSU5HOiBGaWxlICcvdXNyL2xpYi9saWJhdS5zby4yLjYnIGZyb20gYXVmcy11dGlsIHdhcyBhbHJlYWR5IHN0cmlwcGVkLCB0aGlzIHdpbGwgcHJldmVudCBmdXR1cmUgZGVidWdnaW5nIQorCitUbyBwcmV2ZW50IHRoaXMsIHdlIHJlbW92ZSAtcyBmcm9tIExERkxBR1MuCisKK1NpZ25lZC1vZmYtYnk6IEJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEB3aW5kcml2ZXIuY29tPgorLS0tCisgTWFrZWZpbGUgfCAgICAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCAyZjkwNWFkLi5lMGM2ZGNkIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtNTYsNyArNTYsNyBAQCBhbGw6IHZlcl90ZXN0ICR7TWFufSAke0Jpbn0gJHtFdGN9CisgdmVyX3Rlc3Q6IHZlcgorIAkuL3ZlcgorIAorLSR7QmlufTogb3ZlcnJpZGUgTERGTEFHUyArPSAtc3RhdGljIC1zCisrJHtCaW59OiBvdmVycmlkZSBMREZMQUdTICs9IC1zdGF0aWMKKyAke0Jpbn06IExETElCUyA9IC1MLiAtbGF1dGlsCisgJHtCaW5PYmp9OiAlLm86ICUuYyAke0xpYlV0aWxIZHJ9ICR7TGliVXRpbH0KKyAKKy0tIAorMS43LjEwLjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMvYXVmcy11dGlsL2F1ZnMtdXRpbC9hdWZzX3R5cGUuaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL2F1ZnMtdXRpbC9hdWZzLXV0aWwvYXVmc190eXBlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzk0ODAzMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL2F1ZnMtdXRpbC9hdWZzLXV0aWwvYXVmc190eXBlLmgKQEAgLTAsMCArMSw0MTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUtMjAxNSBKdW5qaXJvIFIuIE9rYWppbWEKKyAqCisgKiBUaGlzIHByb2dyYW0sIGF1ZnMgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICovCisKKyNpZm5kZWYgX19BVUZTX1RZUEVfSF9fCisjZGVmaW5lIF9fQVVGU19UWVBFX0hfXworCisjZGVmaW5lIEFVRlNfTkFNRQkiYXVmcyIKKworI2lmZGVmIF9fS0VSTkVMX18KKy8qCisgKiBkZWZpbmUgaXQgYmVmb3JlIGluY2x1ZGluZyBhbGwgb3RoZXIgaGVhZGVycy4KKyAqIHNjaGVkLmggbWF5IHVzZSBwcl8qIG1hY3JvcyBiZWZvcmUgZGVmaW5pbmcgImN1cnJlbnQiLCBzbyBkZWZpbmUgdGhlCisgKiBuby1jdXJyZW50IHZlcnNpb24gZmlyc3QsIGFuZCByZS1kZWZpbmUgbGF0ZXIuCisgKi8KKyNkZWZpbmUgcHJfZm10KGZtdCkJQVVGU19OQU1FICIgJXM6JWQ6ICIgZm10LCBfX2Z1bmNfXywgX19MSU5FX18KKyNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI3VuZGVmIHByX2ZtdAorI2RlZmluZSBwcl9mbXQoZm10KSBcCisJCUFVRlNfTkFNRSAiICVzOiVkOiUuKnNbJWRdOiAiIGZtdCwgX19mdW5jX18sIF9fTElORV9fLCBcCisJCShpbnQpc2l6ZW9mKGN1cnJlbnQtPmNvbW0pLCBjdXJyZW50LT5jb21tLCBjdXJyZW50LT5waWQKKyNlbHNlCisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjZW5kaWYgLyogX19LRVJORUxfXyAqLworCisjaW5jbHVkZSA8bGludXgvbGltaXRzLmg+CisKKyNkZWZpbmUgQVVGU19WRVJTSU9OCSIzLjE4LTIwMTUwNDA2IgorCisvKiB0b2RvPyBtb3ZlIHRoaXMgdG8gbGludXgtMi42LjE5L2luY2x1ZGUvbWFnaWMuaCAqLworI2RlZmluZSBBVUZTX1NVUEVSX01BR0lDCSgnYScgPDwgMjQgfCAndScgPDwgMTYgfCAnZicgPDwgOCB8ICdzJykKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisjaWZkZWYgQ09ORklHX0FVRlNfQlJBTkNIX01BWF8xMjcKK3R5cGVkZWYgaW50OF90IGF1ZnNfYmluZGV4X3Q7CisjZGVmaW5lIEFVRlNfQlJBTkNIX01BWCAxMjcKKyNlbHNlCit0eXBlZGVmIGludDE2X3QgYXVmc19iaW5kZXhfdDsKKyNpZmRlZiBDT05GSUdfQVVGU19CUkFOQ0hfTUFYXzUxMQorI2RlZmluZSBBVUZTX0JSQU5DSF9NQVggNTExCisjZWxpZiBkZWZpbmVkKENPTkZJR19BVUZTX0JSQU5DSF9NQVhfMTAyMykKKyNkZWZpbmUgQVVGU19CUkFOQ0hfTUFYIDEwMjMKKyNlbGlmIGRlZmluZWQoQ09ORklHX0FVRlNfQlJBTkNIX01BWF8zMjc2NykKKyNkZWZpbmUgQVVGU19CUkFOQ0hfTUFYIDMyNzY3CisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgX19LRVJORUxfXworI2lmbmRlZiBBVUZTX0JSQU5DSF9NQVgKKyNlcnJvciB1bmtub3duIENPTkZJR19BVUZTX0JSQU5DSF9NQVggdmFsdWUKKyNlbmRpZgorI2VuZGlmIC8qIF9fS0VSTkVMX18gKi8KKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisjZGVmaW5lIEFVRlNfRlNUWVBFCQlBVUZTX05BTUUKKworI2RlZmluZSBBVUZTX1JPT1RfSU5PCQkyCisjZGVmaW5lIEFVRlNfRklSU1RfSU5PCQkxMQorCisjZGVmaW5lIEFVRlNfV0hfUEZYCQkiLndoLiIKKyNkZWZpbmUgQVVGU19XSF9QRlhfTEVOCQkoKGludClzaXplb2YoQVVGU19XSF9QRlgpIC0gMSkKKyNkZWZpbmUgQVVGU19XSF9UTVBfTEVOCQk0CisvKiBhIGxpbWl0IGZvciBybWRpci9yZW5hbWUgYSBkaXIgYW5kIGNvcHl1cCAqLworI2RlZmluZSBBVUZTX01BWF9OQU1FTEVOCShOQU1FX01BWCBcCisJCQkJLSBBVUZTX1dIX1BGWF9MRU4gKiAyCS8qIGRvdWJseSB3aGl0ZW91dGVkICovXAorCQkJCS0gMQkJCS8qIGRvdCAqL1wKKwkJCQktIEFVRlNfV0hfVE1QX0xFTikJLyogaGV4ICovCisjZGVmaW5lIEFVRlNfWElOT19GTkFNRQkJIi4iIEFVRlNfTkFNRSAiLnhpbm8iCisjZGVmaW5lIEFVRlNfWElOT19ERUZQQVRICSIvdG1wLyIgQVVGU19YSU5PX0ZOQU1FCisjZGVmaW5lIEFVRlNfWElOT19ERUZfU0VDCTMwIC8qIHNlY29uZHMgKi8KKyNkZWZpbmUgQVVGU19YSU5PX0RFRl9UUlVOQwk0NSAvKiBwZXJjZW50YWdlICovCisjZGVmaW5lIEFVRlNfRElSV0hfREVGCQkzCisjZGVmaW5lIEFVRlNfUkRDQUNIRV9ERUYJMTAgLyogc2Vjb25kcyAqLworI2RlZmluZSBBVUZTX1JEQ0FDSEVfTUFYCTM2MDAgLyogc2Vjb25kcyAqLworI2RlZmluZSBBVUZTX1JEQkxLX0RFRgkJNTEyIC8qIGJ5dGVzICovCisjZGVmaW5lIEFVRlNfUkRIQVNIX0RFRgkJMzIKKyNkZWZpbmUgQVVGU19XS1FfTkFNRQkJQVVGU19OQU1FICJkIgorI2RlZmluZSBBVUZTX01GU19ERUZfU0VDCTMwIC8qIHNlY29uZHMgKi8KKyNkZWZpbmUgQVVGU19NRlNfTUFYX1NFQwkzNjAwIC8qIHNlY29uZHMgKi8KKyNkZWZpbmUgQVVGU19GSFNNX0NBQ0hFX0RFRl9TRUMJMzAgLyogc2Vjb25kcyAqLworI2RlZmluZSBBVUZTX1BMSU5LX1dBUk4JCTUwIC8qIG51bWJlciBvZiBwbGlua3MgaW4gYSBzaW5nbGUgYnVja2V0ICovCisKKy8qIHBzZXVkby1saW5rIG1haW50ZW5hY2UgdW5kZXIgL3Byb2MgKi8KKyNkZWZpbmUgQVVGU19QTElOS19NQUlOVF9OQU1FCSJwbGlua19tYWludCIKKyNkZWZpbmUgQVVGU19QTElOS19NQUlOVF9ESVIJImZzLyIgQVVGU19OQU1FCisjZGVmaW5lIEFVRlNfUExJTktfTUFJTlRfUEFUSAlBVUZTX1BMSU5LX01BSU5UX0RJUiAiLyIgQVVGU19QTElOS19NQUlOVF9OQU1FCisKKyNkZWZpbmUgQVVGU19ESVJPUFFfTkFNRQlBVUZTX1dIX1BGWCAiLm9wcSIgLyogd2hpdGVvdXRlZCBkb3VibHkgKi8KKyNkZWZpbmUgQVVGU19XSF9ESVJPUFEJCUFVRlNfV0hfUEZYIEFVRlNfRElST1BRX05BTUUKKworI2RlZmluZSBBVUZTX0JBU0VfTkFNRQkJQVVGU19XSF9QRlggQVVGU19OQU1FCisjZGVmaW5lIEFVRlNfUExJTktESVJfTkFNRQlBVUZTX1dIX1BGWCAicGxuayIKKyNkZWZpbmUgQVVGU19PUlBIRElSX05BTUUJQVVGU19XSF9QRlggIm9ycGgiCisKKy8qIGRvdWJseSB3aGl0ZW91dGVkICovCisjZGVmaW5lIEFVRlNfV0hfQkFTRQkJQVVGU19XSF9QRlggQVVGU19CQVNFX05BTUUKKyNkZWZpbmUgQVVGU19XSF9QTElOS0RJUglBVUZTX1dIX1BGWCBBVUZTX1BMSU5LRElSX05BTUUKKyNkZWZpbmUgQVVGU19XSF9PUlBIRElSCQlBVUZTX1dIX1BGWCBBVUZTX09SUEhESVJfTkFNRQorCisvKiBicmFuY2ggcGVybWlzc2lvbnMgYW5kIGF0dHJpYnV0ZXMgKi8KKyNkZWZpbmUgQVVGU19CUlBFUk1fUlcJCSJydyIKKyNkZWZpbmUgQVVGU19CUlBFUk1fUk8JCSJybyIKKyNkZWZpbmUgQVVGU19CUlBFUk1fUlIJCSJyciIKKyNkZWZpbmUgQVVGU19CUkFUVFJfQ09PX1JFRwkiY29vX3JlZyIKKyNkZWZpbmUgQVVGU19CUkFUVFJfQ09PX0FMTAkiY29vX2FsbCIKKyNkZWZpbmUgQVVGU19CUkFUVFJfRkhTTQkiZmhzbSIKKyNkZWZpbmUgQVVGU19CUkFUVFJfVU5QSU4JInVucGluIgorI2RlZmluZSBBVUZTX0JSQVRUUl9JQ0VYCSJpY2V4IgorI2RlZmluZSBBVUZTX0JSQVRUUl9JQ0VYX1NFQwkiaWNleHNlYyIKKyNkZWZpbmUgQVVGU19CUkFUVFJfSUNFWF9TWVMJImljZXhzeXMiCisjZGVmaW5lIEFVRlNfQlJBVFRSX0lDRVhfVFIJImljZXh0ciIKKyNkZWZpbmUgQVVGU19CUkFUVFJfSUNFWF9VU1IJImljZXh1c3IiCisjZGVmaW5lIEFVRlNfQlJBVFRSX0lDRVhfT1RICSJpY2V4b3RoIgorI2RlZmluZSBBVUZTX0JSUkFUVFJfV0gJCSJ3aCIKKyNkZWZpbmUgQVVGU19CUldBVFRSX05MV0gJIm5vbHdoIgorI2RlZmluZSBBVUZTX0JSV0FUVFJfTU9PCSJtb28iCisKKyNkZWZpbmUgQXVCclBlcm1fUlcJCTEJCS8qIHdyaXRhYmxlLCBoYXJkbGlua2FibGUgd2ggKi8KKyNkZWZpbmUgQXVCclBlcm1fUk8JCSgxIDw8IDEpCS8qIHJlYWRvbmx5ICovCisjZGVmaW5lIEF1QnJQZXJtX1JSCQkoMSA8PCAyKQkvKiBuYXRpdmVseSByZWFkb25seSAqLworI2RlZmluZSBBdUJyUGVybV9NYXNrCQkoQXVCclBlcm1fUlcgfCBBdUJyUGVybV9STyB8IEF1QnJQZXJtX1JSKQorCisjZGVmaW5lIEF1QnJBdHRyX0NPT19SRUcJKDEgPDwgMykJLyogY29weS11cCBvbiBvcGVuICovCisjZGVmaW5lIEF1QnJBdHRyX0NPT19BTEwJKDEgPDwgNCkKKyNkZWZpbmUgQXVCckF0dHJfQ09PX01hc2sJKEF1QnJBdHRyX0NPT19SRUcgfCBBdUJyQXR0cl9DT09fQUxMKQorCisjZGVmaW5lIEF1QnJBdHRyX0ZIU00JCSgxIDw8IDUpCS8qIGZpbGUtYmFzZWQgaHNtICovCisjZGVmaW5lIEF1QnJBdHRyX1VOUElOCQkoMSA8PCA2KQkvKiByZW5hbWUtYWJsZSB0b3AgZGlyIG9mCisJCQkJCQkgICBicmFuY2guIG1lYW5pbmdsZXNzIHNpbmNlCisJCQkJCQkgICBsaW51eC0zLjE4LXJjMSAqLworCisvKiBpZ25vcmUgZXJyb3IgaW4gY29weWluZyBYQVRUUiAqLworI2RlZmluZSBBdUJyQXR0cl9JQ0VYX1NFQwkoMSA8PCA3KQorI2RlZmluZSBBdUJyQXR0cl9JQ0VYX1NZUwkoMSA8PCA4KQorI2RlZmluZSBBdUJyQXR0cl9JQ0VYX1RSCSgxIDw8IDkpCisjZGVmaW5lIEF1QnJBdHRyX0lDRVhfVVNSCSgxIDw8IDEwKQorI2RlZmluZSBBdUJyQXR0cl9JQ0VYX09USAkoMSA8PCAxMSkKKyNkZWZpbmUgQXVCckF0dHJfSUNFWAkJKEF1QnJBdHRyX0lDRVhfU0VDCVwKKwkJCQkgfCBBdUJyQXR0cl9JQ0VYX1NZUwlcCisJCQkJIHwgQXVCckF0dHJfSUNFWF9UUglcCisJCQkJIHwgQXVCckF0dHJfSUNFWF9VU1IJXAorCQkJCSB8IEF1QnJBdHRyX0lDRVhfT1RIKQorCisjZGVmaW5lIEF1QnJSQXR0cl9XSAkJKDEgPDwgMTIpCS8qIHdoaXRlb3V0LWFibGUgKi8KKyNkZWZpbmUgQXVCclJBdHRyX01hc2sJCUF1QnJSQXR0cl9XSAorCisjZGVmaW5lIEF1QnJXQXR0cl9Ob0xpbmtXSAkoMSA8PCAxMykJLyogdW4taGFyZGxpbmthYmxlIHdoaXRlb3V0cyAqLworI2RlZmluZSBBdUJyV0F0dHJfTU9PCQkoMSA8PCAxNCkJLyogbW92ZS11cCBvbiBvcGVuICovCisjZGVmaW5lIEF1QnJXQXR0cl9NYXNrCQkoQXVCcldBdHRyX05vTGlua1dIIHwgQXVCcldBdHRyX01PTykKKworI2RlZmluZSBBdUJyQXR0cl9DTU9PX01hc2sJKEF1QnJBdHRyX0NPT19NYXNrIHwgQXVCcldBdHRyX01PTykKKworLyogI3dhcm5pbmcgdGVzdCB1c2Vyc3BhY2UgKi8KKyNpZmRlZiBfX0tFUk5FTF9fCisjaWZuZGVmIENPTkZJR19BVUZTX0ZIU00KKyN1bmRlZiBBdUJyQXR0cl9GSFNNCisjZGVmaW5lIEF1QnJBdHRyX0ZIU00JCTAKKyNlbmRpZgorI2lmbmRlZiBDT05GSUdfQVVGU19YQVRUUgorI3VuZGVmCUF1QnJBdHRyX0lDRVgKKyNkZWZpbmUgQXVCckF0dHJfSUNFWAkJMAorI3VuZGVmCUF1QnJBdHRyX0lDRVhfU0VDCisjZGVmaW5lIEF1QnJBdHRyX0lDRVhfU0VDCTAKKyN1bmRlZglBdUJyQXR0cl9JQ0VYX1NZUworI2RlZmluZSBBdUJyQXR0cl9JQ0VYX1NZUwkwCisjdW5kZWYJQXVCckF0dHJfSUNFWF9UUgorI2RlZmluZSBBdUJyQXR0cl9JQ0VYX1RSCTAKKyN1bmRlZglBdUJyQXR0cl9JQ0VYX1VTUgorI2RlZmluZSBBdUJyQXR0cl9JQ0VYX1VTUgkwCisjdW5kZWYJQXVCckF0dHJfSUNFWF9PVEgKKyNkZWZpbmUgQXVCckF0dHJfSUNFWF9PVEgJMAorI2VuZGlmCisjZW5kaWYKKworLyogdGhlIGxvbmdlc3QgY29tYmluYXRpb24gKi8KKy8qIEFVRlNfQlJBVFRSX0lDRVggYW5kIEFVRlNfQlJBVFRSX0lDRVhfVFIgZG9uJ3QgYWZmZWN0IGhlcmUgKi8KKyNkZWZpbmUgQXVCclBlcm1TdHJTeglzaXplb2YoQVVGU19CUlBFUk1fUlcJCQlcCisJCQkgICAgICAgIisiIEFVRlNfQlJBVFRSX0NPT19SRUcJCVwKKwkJCSAgICAgICAiKyIgQVVGU19CUkFUVFJfRkhTTQkJXAorCQkJICAgICAgICIrIiBBVUZTX0JSQVRUUl9VTlBJTgkJXAorCQkJICAgICAgICIrIiBBVUZTX0JSQVRUUl9JQ0VYX1NFQwkJXAorCQkJICAgICAgICIrIiBBVUZTX0JSQVRUUl9JQ0VYX1NZUwkJXAorCQkJICAgICAgICIrIiBBVUZTX0JSQVRUUl9JQ0VYX1VTUgkJXAorCQkJICAgICAgICIrIiBBVUZTX0JSQVRUUl9JQ0VYX09USAkJXAorCQkJICAgICAgICIrIiBBVUZTX0JSV0FUVFJfTkxXSCkKKwordHlwZWRlZiBzdHJ1Y3QgeworCWNoYXIgYVtBdUJyUGVybVN0clN6XTsKK30gYXVfYnJfcGVybV9zdHJfdDsKKworc3RhdGljIGlubGluZSBpbnQgYXVfYnJfd3JpdGFibGUoaW50IGJycGVybSkKK3sKKwlyZXR1cm4gYnJwZXJtICYgQXVCclBlcm1fUlc7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGF1X2JyX3doYWJsZShpbnQgYnJwZXJtKQoreworCXJldHVybiBicnBlcm0gJiAoQXVCclBlcm1fUlcgfCBBdUJyUkF0dHJfV0gpOworfQorCitzdGF0aWMgaW5saW5lIGludCBhdV9icl93aF9saW5rYWJsZShpbnQgYnJwZXJtKQoreworCXJldHVybiAhKGJycGVybSAmIEF1QnJXQXR0cl9Ob0xpbmtXSCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGF1X2JyX2Ntb28oaW50IGJycGVybSkKK3sKKwlyZXR1cm4gYnJwZXJtICYgQXVCckF0dHJfQ01PT19NYXNrOworfQorCitzdGF0aWMgaW5saW5lIGludCBhdV9icl9maHNtKGludCBicnBlcm0pCit7CisJcmV0dXJuIGJycGVybSAmIEF1QnJBdHRyX0ZIU007Cit9CisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyogaW9jdGwgKi8KK2VudW0geworCS8qIHJlYWRkaXIgaW4gdXNlcnNwYWNlICovCisJQXVDdGxfUkRVLAorCUF1Q3RsX1JEVV9JTk8sCisKKwlBdUN0bF9XQlJfRkQsCS8qIHBhdGhjb25mIHdyYXBwZXIgKi8KKwlBdUN0bF9JQlVTWSwJLyogYnVzeSBpbm9kZSAqLworCUF1Q3RsX01WRE9XTiwJLyogbW92ZS1kb3duICovCisJQXVDdGxfQlIsCS8qIGluZm8gYWJvdXQgYnJhbmNoZXMgKi8KKwlBdUN0bF9GSFNNX0ZECS8qIGNvbm5lY3Rpb24gZm9yIGZoc20gKi8KK307CisKKy8qIGJvcnJvd2VkIGZyb20gbGludXgvaW5jbHVkZS9saW51eC9rZXJuZWwuaCAqLworI2lmbmRlZiBBTElHTgorI2RlZmluZSBBTElHTih4LCBhKQkJX19BTElHTl9NQVNLKHgsICh0eXBlb2YoeCkpKGEpLTEpCisjZGVmaW5lIF9fQUxJR05fTUFTSyh4LCBtYXNrKQkoKCh4KSsobWFzaykpJn4obWFzaykpCisjZW5kaWYKKworLyogYm9ycm93ZWQgZnJvbSBsaW51eC9pbmNsdWRlL2xpbnV4L2NvbXBpbGVyLWdjYzMuaCAqLworI2lmbmRlZiBfX2FsaWduZWQKKyNkZWZpbmUgX19hbGlnbmVkKHgpCQkJX19hdHRyaWJ1dGVfXygoYWxpZ25lZCh4KSkpCisjZW5kaWYKKworI2lmZGVmIF9fS0VSTkVMX18KKyNpZm5kZWYgX19wYWNrZWQKKyNkZWZpbmUgX19wYWNrZWQJCQlfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKQorI2VuZGlmCisjZW5kaWYKKworc3RydWN0IGF1X3JkdV9jb29raWUgeworCXVpbnQ2NF90CWhfcG9zOworCWludDE2X3QJCWJpbmRleDsKKwl1aW50OF90CQlmbGFnczsKKwl1aW50OF90CQlwYWQ7CisJdWludDMyX3QJZ2VuZXJhdGlvbjsKK30gX19hbGlnbmVkKDgpOworCitzdHJ1Y3QgYXVfcmR1X2VudCB7CisJdWludDY0X3QJaW5vOworCWludDE2X3QJCWJpbmRleDsKKwl1aW50OF90CQl0eXBlOworCXVpbnQ4X3QJCW5sZW47CisJdWludDhfdAkJd2g7CisJY2hhcgkJbmFtZVswXTsKK30gX19hbGlnbmVkKDgpOworCitzdGF0aWMgaW5saW5lIGludCBhdV9yZHVfbGVuKGludCBubGVuKQoreworCS8qIGluY2x1ZGUgdGhlIHRlcm1pbmF0aW5nIE5VTEwgKi8KKwlyZXR1cm4gQUxJR04oc2l6ZW9mKHN0cnVjdCBhdV9yZHVfZW50KSArIG5sZW4gKyAxLAorCQkgICAgIHNpemVvZih1aW50NjRfdCkpOworfQorCit1bmlvbiBhdV9yZHVfZW50X3VsIHsKKwlzdHJ1Y3QgYXVfcmR1X2VudAkqZTsKKwl1aW50NjRfdAkJCXVsOworfTsKKworZW51bSB7CisJQXVmc0N0bFJkdVZfU1osCisJQXVmc0N0bFJkdVZfRW5kCit9OworCitzdHJ1Y3QgYXVmc19yZHUgeworCS8qIGlucHV0ICovCisJdW5pb24geworCQl1aW50NjRfdAlzejsJLyogQXVDdGxfUkRVICovCisJCXVpbnQ2NF90CW5lbnQ7CS8qIEF1Q3RsX1JEVV9JTk8gKi8KKwl9OworCXVuaW9uIGF1X3JkdV9lbnRfdWwJZW50OworCXVpbnQxNl90CQl2ZXJpZnlbQXVmc0N0bFJkdVZfRW5kXTsKKworCS8qIGlucHV0L291dHB1dCAqLworCXVpbnQzMl90CQlibGs7CisKKwkvKiBvdXRwdXQgKi8KKwl1bmlvbiBhdV9yZHVfZW50X3VsCXRhaWw7CisJLyogbnVtYmVyIG9mIGVudHJpZXMgd2hpY2ggd2VyZSBhZGRlZCBpbiBhIHNpbmdsZSBjYWxsICovCisJdWludDY0X3QJCXJlbnQ7CisJdWludDhfdAkJCWZ1bGw7CisJdWludDhfdAkJCXNod2g7CisKKwlzdHJ1Y3QgYXVfcmR1X2Nvb2tpZQljb29raWU7Cit9IF9fYWxpZ25lZCg4KTsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCitzdHJ1Y3QgYXVmc193YnJfZmQgeworCXVpbnQzMl90CW9mbGFnczsKKwlpbnQxNl90CQlicmlkOworfSBfX2FsaWduZWQoOCk7CisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworc3RydWN0IGF1ZnNfaWJ1c3kgeworCXVpbnQ2NF90CWlubywgaF9pbm87CisJaW50MTZfdAkJYmluZGV4OworfSBfX2FsaWduZWQoOCk7CisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyogZXJyb3IgY29kZSBmb3IgbW92ZS1kb3duICovCisvKiB0aGUgYWN0dWFsIG1lc3NhZ2Ugc3RyaW5ncyBhcmUgaW1wbGVtZW50ZWQgaW4gYXVmcy11dGlsLmdpdCAqLworZW51bSB7CisJRUFVX01WRE9XTl9PUEFRVUUgPSAxLAorCUVBVV9NVkRPV05fV0hJVEVPVVQsCisJRUFVX01WRE9XTl9VUFBFUiwKKwlFQVVfTVZET1dOX0JPVFRPTSwKKwlFQVVfTVZET1dOX05PVVBQRVIsCisJRUFVX01WRE9XTl9OT0xPV0VSQlIsCisJRUFVX0xhc3QKK307CisKKy8qIGZsYWdzIGZvciBtb3ZlLWRvd24gKi8KKyNkZWZpbmUgQVVGU19NVkRPV05fRE1TRwkxCisjZGVmaW5lIEFVRlNfTVZET1dOX09XTE9XRVIJKDEgPDwgMSkJLyogb3ZlcndyaXRlIGxvd2VyICovCisjZGVmaW5lIEFVRlNfTVZET1dOX0tVUFBFUgkoMSA8PCAyKQkvKiBrZWVwIHVwcGVyICovCisjZGVmaW5lIEFVRlNfTVZET1dOX1JPTE9XRVIJKDEgPDwgMykJLyogZG8gZXZlbiBpZiBsb3dlciBpcyBSTyAqLworI2RlZmluZSBBVUZTX01WRE9XTl9ST0xPV0VSX1IJKDEgPDwgNCkJLyogZGlkIG9uIGxvd2VyIFJPICovCisjZGVmaW5lIEFVRlNfTVZET1dOX1JPVVBQRVIJKDEgPDwgNSkJLyogZG8gZXZlbiBpZiB1cHBlciBpcyBSTyAqLworI2RlZmluZSBBVUZTX01WRE9XTl9ST1VQUEVSX1IJKDEgPDwgNikJLyogZGlkIG9uIHVwcGVyIFJPICovCisjZGVmaW5lIEFVRlNfTVZET1dOX0JSSURfVVBQRVIJKDEgPDwgNykJLyogdXBwZXIgYnJpZCAqLworI2RlZmluZSBBVUZTX01WRE9XTl9CUklEX0xPV0VSCSgxIDw8IDgpCS8qIGxvd2VyIGJyaWQgKi8KKyNkZWZpbmUgQVVGU19NVkRPV05fRkhTTV9MT1dFUgkoMSA8PCA5KQkvKiBmaW5kIGZoc20gYXR0ciBmb3IgbG93ZXIgKi8KKyNkZWZpbmUgQVVGU19NVkRPV05fU1RGUwkoMSA8PCAxMCkJLyogcmVxLiBzdGZzICovCisjZGVmaW5lIEFVRlNfTVZET1dOX1NURlNfRkFJTEVECSgxIDw8IDExKQkvKiBvdXRwdXQ6IHN0ZnMgaXMgdW51c2FibGUgKi8KKyNkZWZpbmUgQVVGU19NVkRPV05fQk9UVE9NCSgxIDw8IDEyKQkvKiBvdXRwdXQ6IG5vIG1vcmUgbG93ZXJzICovCisKKy8qIGluZGV4IGZvciBtb3ZlLWRvd24gKi8KK2VudW0geworCUFVRlNfTVZET1dOX1VQUEVSLAorCUFVRlNfTVZET1dOX0xPV0VSLAorCUFVRlNfTVZET1dOX05BUlJBWQorfTsKKworLyoKKyAqIGFkZGl0aW9uYWwgaW5mbyBvZiBtb3ZlLWRvd24KKyAqIG51bWJlciBvZiBmcmVlIGJsb2NrcyBhbmQgaW5vZGVzLgorICogc3Vic2V0IG9mIHN0cnVjdCBrc3RhdGZzLCBidXQgc21hbGxlciBhbmQgYWx3YXlzIDY0Yml0LgorICovCitzdHJ1Y3QgYXVmc19zdGZzIHsKKwl1aW50NjRfdAlmX2Jsb2NrczsKKwl1aW50NjRfdAlmX2JhdmFpbDsKKwl1aW50NjRfdAlmX2ZpbGVzOworCXVpbnQ2NF90CWZfZmZyZWU7Cit9OworCitzdHJ1Y3QgYXVmc19zdGJyIHsKKwlpbnQxNl90CQkJYnJpZDsJLyogb3B0aW9uYWwgaW5wdXQgKi8KKwlpbnQxNl90CQkJYmluZGV4OwkvKiBvdXRwdXQgKi8KKwlzdHJ1Y3QgYXVmc19zdGZzCXN0ZnM7CS8qIG91dHB1dCB3aGVuIEFVRlNfTVZET1dOX1NURlMgc2V0ICovCit9IF9fYWxpZ25lZCg4KTsKKworc3RydWN0IGF1ZnNfbXZkb3duIHsKKwl1aW50MzJfdAkJZmxhZ3M7CQkJLyogaW5wdXQvb3V0cHV0ICovCisJc3RydWN0IGF1ZnNfc3RicglzdGJyW0FVRlNfTVZET1dOX05BUlJBWV07IC8qIGlucHV0L291dHB1dCAqLworCWludDhfdAkJCWF1X2Vycm5vOwkJLyogb3V0cHV0ICovCit9IF9fYWxpZ25lZCg4KTsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCit1bmlvbiBhdWZzX2JyaW5mbyB7CisJLyogUEFUSF9NQVggbWF5IGRpZmZlciBiZXR3ZWVuIGtlcm5lbC1zcGFjZSBhbmQgdXNlci1zcGFjZSAqLworCWNoYXIJX3NwYWNlcls0MDk2XTsKKwlzdHJ1Y3QgeworCQlpbnQxNl90CWlkOworCQlpbnQJcGVybTsKKwkJY2hhcglwYXRoWzBdOworCX07Cit9IF9fYWxpZ25lZCg4KTsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisjZGVmaW5lIEF1Q3RsVHlwZQkJJ0EnCisjZGVmaW5lIEFVRlNfQ1RMX1JEVQkJX0lPV1IoQXVDdGxUeXBlLCBBdUN0bF9SRFUsIHN0cnVjdCBhdWZzX3JkdSkKKyNkZWZpbmUgQVVGU19DVExfUkRVX0lOTwlfSU9XUihBdUN0bFR5cGUsIEF1Q3RsX1JEVV9JTk8sIHN0cnVjdCBhdWZzX3JkdSkKKyNkZWZpbmUgQVVGU19DVExfV0JSX0ZECQlfSU9XKEF1Q3RsVHlwZSwgQXVDdGxfV0JSX0ZELCBcCisJCQkJICAgICBzdHJ1Y3QgYXVmc193YnJfZmQpCisjZGVmaW5lIEFVRlNfQ1RMX0lCVVNZCQlfSU9XUihBdUN0bFR5cGUsIEF1Q3RsX0lCVVNZLCBzdHJ1Y3QgYXVmc19pYnVzeSkKKyNkZWZpbmUgQVVGU19DVExfTVZET1dOCQlfSU9XUihBdUN0bFR5cGUsIEF1Q3RsX01WRE9XTiwgXAorCQkJCSAgICAgIHN0cnVjdCBhdWZzX212ZG93bikKKyNkZWZpbmUgQVVGU19DVExfQlJJTkZPCQlfSU9XKEF1Q3RsVHlwZSwgQXVDdGxfQlIsIHVuaW9uIGF1ZnNfYnJpbmZvKQorI2RlZmluZSBBVUZTX0NUTF9GSFNNX0ZECV9JT1coQXVDdGxUeXBlLCBBdUN0bF9GSFNNX0ZELCBpbnQpCisKKyNlbmRpZiAvKiBfX0FVRlNfVFlQRV9IX18gKi8KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL2F1ZnMtdXRpbC9hdWZzLXV0aWxfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMvYXVmcy11dGlsL2F1ZnMtdXRpbF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODk4MDk4MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL2F1ZnMtdXRpbC9hdWZzLXV0aWxfZ2l0LmJiCkBAIC0wLDAgKzEsNTMgQEAKK1NVTU1BUlkgPSAiVG9vbHMgZm9yIG1hbmFnaW5nIEFVRlMgbW91bnRzIgorU0VDVElPTiA9ICJiYXNlIgorSE9NRVBBR0UgPSAiaHR0cDovL2F1ZnMuc291cmNlZm9yZ2UubmV0LyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04OTJmNTY5YTU1NWJhOWMwN2E1NjhhN2MwYzRmYTYzYSIKKworREVQRU5EUyA9ICJhdWZzLXV0aWwtbmF0aXZlIgorREVQRU5EU19jbGFzcy1uYXRpdmUgPSAiIgorCitTUkNSRVYgPSAiYjU5YTIxNjdhMTM1Y2VlYTM3NTgxZWUzMzk5N2RlMjc4Y2Y4YTMwYSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LmNvZGUuc2YubmV0L3AvYXVmcy9hdWZzLXV0aWw7cHJvdG9jb2w9Z2l0O2JyYW5jaD1hdWZzMy4xNCBcCisgICAgICAgICAgIGZpbGU6Ly9hdWZzLXV0aWwtZG9uLXQtc3RyaXAtZXhlY3V0YWJsZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYXVmcy11dGlsLWFkZC10b29sLWNvbmNlcHQtdG8tTWFrZWZpbGUtZm9yLWNyb3NzLWNvbS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9hdWZzX3R5cGUuaCBcCisiCisKK1BWID0gIjMuMTQrZ2l0JHtTUkNQVn0iCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2RvX2NvbmZpZ3VyZV9hcHBlbmQgKCkgeworICAgIGluc3RhbGwgLWQgJHtTfS9pbmNsdWRlL2xpbnV4LworICAgIGNwICR7V09SS0RJUn0vYXVmc190eXBlLmggJHtTfS9pbmNsdWRlL2xpbnV4LworfQorCitkb19jb25maWd1cmVfYXBwZW5kX2NsYXNzLXRhcmdldCAoKSB7CisgICAgZm9yIGkgaW4gdmVyIGMyc2ggYzJ0bWFjOyBkbworICAgICAgICBjcCAke1NUQUdJTkdfQklORElSX05BVElWRX0vYXVmcy11dGlsLSR7UFZ9LyRpIC4vCisgICAgZG9uZQorfQorCitkb19jb21waWxlICgpIHsKKyAgICBvZV9ydW5tYWtlIENQUEZMQUdTPSItSSR7U30vaW5jbHVkZSAtSSR7U30vbGliYXUiCit9CisKK2RvX2NvbXBpbGVfY2xhc3MtbmF0aXZlICgpIHsKKyAgICBvZV9ydW5tYWtlIHRvb2xzIENQUEZMQUdTPSItSSR7U30vaW5jbHVkZSAtSSR7U30vbGliYXUiCit9CisKK2RvX2luc3RhbGwgKCkgeworICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbF9zYmluIGluc3RhbGxfdWJpbiBpbnN0YWxsX2V0YworfQorCitkb19pbnN0YWxsX2NsYXNzLW5hdGl2ZSAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9L2F1ZnMtdXRpbC0ke1BWfQorICAgIGZvciBpIGluIHZlciBjMnNoIGMydG1hYzsgZG8KKyAgICAgICAgaW5zdGFsbCAtbSA3NTUgJGkgJHtEfSR7YmluZGlyfS9hdWZzLXV0aWwtJHtQVn0vJGkKKyAgICBkb25lCit9CisKK1JSRUNPTU1FTkRTXyR7UE59ICs9ICJrZXJuZWwtbW9kdWxlLWF1ZnMiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMvZG1hcGkvZG1hcGlfMi4yLjEyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMvZG1hcGkvZG1hcGlfMi4yLjEyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmZjk1ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy9kbWFwaS9kbWFwaV8yLjIuMTIuYmIKQEAgLTAsMCArMSwzMSBAQAorU1VNTUFSWSA9ICJMaWJyYXJ5IGZ1bmN0aW9ucyB0byBnZXQgYXR0cmlidXRlIGJpdHMiCitERVNDUklQVElPTiA9ICJUaGUgRGF0YSBNYW5hZ2VtZW50IEFQSSAoRE1BUEkvWERTTSkgYWxsb3dzIGltcGxlbWVudGF0aW9uIFwKKyAgICAgICAgICAgICAgIG9mIGhpZXJhcmNoaWNhbCBzdG9yYWdlIG1hbmFnZW1lbnQgc29mdHdhcmUgd2l0aCBubyBrZXJuZWwgXAorICAgICAgICAgICAgICAgbW9kaWZpY2F0aW9ucyBhcyB3ZWxsIGFzIGhpZ2gtcGVyZm9ybWFuY2UgZHVtcCBwcm9ncmFtcyBcCisgICAgICAgICAgICAgICB3aXRob3V0IHJlcXVpcmluZyAicmF3IiBhY2Nlc3MgdG8gdGhlIGRpc2sgYW5kIGtub3dsZWRnZSBcCisgICAgICAgICAgICAgICBvZiBmaWxlc3lzdGVtIHN0cnVjdHVyZXMuVGhpcyBpbnRlcmZhY2UgaXMgaW1wbGVtZW50ZWQgYnkgXAorICAgICAgICAgICAgICAgdGhlIGxpYmRtIGxpYnJhcnkuIgorCitIT01FUEFHRSA9ICJodHRwOi8vb3NzLnNnaS5jb20vcHJvamVjdHMveGZzIgorU0VDVElPTiA9ICJiYXNlIgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RvYy9DT1BZSU5HO21kNT0xNjc4ZWRmZThkZTliZTk1NjRkMjM3NjFhZTJmYTc5NCIKK0RFUEVORFMgPSAieGZzcHJvZ3MiCisKK1NSQ19VUkkgPSAiZnRwOi8vb3NzLnNnaS5jb20vcHJvamVjdHMveGZzL2NtZF90YXJzL2RtYXBpLSR7UFZ9LnRhci5neiBcCisJICAgZmlsZTovL3JlbW92ZS1pbnN0YWxsLWFzLXVzZXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZG1hcGlfYWFyY2g2NF9jb25maWd1cmVfc3VwcG9ydC5wYXRjaCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImNkODI1ZDRlMTQxYzE2MDExMzY3ZTBhMGRkOThjOWM1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImIxOGUzNGY0NzM3NGY2YWRmN2MxNjQ5OTNjMjZkZjM2OTg2YTAwOWI4NmFhMDA0ZWY5NDQ0MTAyNjUzYWVhNjkiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitQQVJBTExFTF9NQUtFID0gIiIKK0VYVFJBX09FTUFLRSArPSAiTElCVE9PTD0iJHtIT1NUX1NZU30tbGlidG9vbCAtLXRhZz1DQyIgVj0xIgorCitkb19pbnN0YWxsICgpIHsKKyAgICBleHBvcnQgRElTVF9ST09UPSR7RH0KKyAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0KKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgaW5zdGFsbC1kZXYgUEtHX0RFVkxJQl9ESVI9JHtsaWJkaXJ9Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy9kbWFwaS9maWxlcy9kbWFwaV9hYXJjaDY0X2NvbmZpZ3VyZV9zdXBwb3J0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMvZG1hcGkvZmlsZXMvZG1hcGlfYWFyY2g2NF9jb25maWd1cmVfc3VwcG9ydC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ODc1M2I3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMvZG1hcGkvZmlsZXMvZG1hcGlfYWFyY2g2NF9jb25maWd1cmVfc3VwcG9ydC5wYXRjaApAQCAtMCwwICsxLDM3IEBACitBZGQgY29uZmlnIHN1cHBvcnQgdG8gY3Jvc3MgY29tcGlsZSBkbWFwaSBmb3IgCithYXJjaDY0IGFyY2hpdGVjdHVyZQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSmFnYWRlZXNoIEtyaXNobmFuamFuYXBwYSA8amtyaXNobmFuamFuYXBwYUBtdmlzdGEuY29tPgorCistLS0gZG1hcGktMi4yLjEyX29yZy9jb25maWcuc3ViCTIwMTItMTItMTIgMjM6MDM6MDUuMDAwMDAwMDAwICswNTMwCisrKysgZG1hcGktMi4yLjEyL2NvbmZpZy5zdWIJMjAxNC0wMy0yNCAxNjo0OTo1Ni43NzE5OTM1MjMgKzA1MzAKK0BAIC0yNDYsNiArMjQ2LDcgQEAgY2FzZSAkYmFzaWNfbWFjaGluZSBpbgorIAl8IGFscGhhNjQgfCBhbHBoYTY0ZXZbNC04XSB8IGFscGhhNjRldjU2IHwgYWxwaGE2NGV2Nls3OF0gfCBhbHBoYTY0cGNhNVs2N10gXAorIAl8IGFtMzNfMi4wIFwKKyAJfCBhcmMgfCBhcm0gfCBhcm1bYmxdZSB8IGFybWVbbGJdIHwgYXJtdlsyMzQ1XSB8IGFybXZbMzQ1XVtsYl0gfCBhdnIgfCBhdnIzMiBcCisrCXwgYWFyY2g2NCB8IGFhcmNoNjRiZSBcCisgCXwgYmZpbiBcCisgCXwgYzR4IHwgY2xpcHBlciBcCisgCXwgZDEwdiB8IGQzMHYgfCBkbHggfCBkc3AxNnh4IFwKK0BAIC0zMjYsNiArMzI3LDcgQEAgY2FzZSAkYmFzaWNfbWFjaGluZSBpbgorIAl8IGFscGhhNjQtKiB8IGFscGhhNjRldls0LThdLSogfCBhbHBoYTY0ZXY1Ni0qIHwgYWxwaGE2NGV2Nls3OF0tKiBcCisgCXwgYWxwaGFwY2E1WzY3XS0qIHwgYWxwaGE2NHBjYTVbNjddLSogfCBhcmMtKiBcCisgCXwgYXJtLSogIHwgYXJtYmUtKiB8IGFybWxlLSogfCBhcm1lYi0qIHwgYXJtdiotKiBcCisrCXwgYWFyY2g2NC0qIHwgYWFyY2g2NGJlLSogXAorIAl8IGF2ci0qIHwgYXZyMzItKiBcCisgCXwgYmZpbi0qIHwgYnMyMDAwLSogXAorIAl8IGNbMTIzXSogfCBjMzAtKiB8IFtjanRdOTAtKiB8IGM0eC0qIHwgYzU0eC0qIHwgYzU1eC0qIHwgYzZ4LSogXAorLS0tIGRtYXBpLTIuMi4xMl9vcmcvY29uZmlnLmd1ZXNzCTIwMTItMTItMTIgMjM6MDM6MDUuMDAwMDAwMDAwICswNTMwCisrKysgZG1hcGktMi4yLjEyL2NvbmZpZy5ndWVzcwkyMDE0LTAzLTI0IDE2OjQ5OjU2Ljc3MTk5MzUyMyArMDUzMAorQEAgLTg2NCw2ICs4NjQsOSBAQCBFT0YKKyAJICAgIGVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudWVhYmkKKyAJZmkKKyAJZXhpdCA7OworKyAgICBhYXJjaDY0KjpMaW51eDoqOiopCisrCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudQorKwlleGl0OzsKKyAgICAgYXZyMzIqOkxpbnV4Oio6KikKKyAJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtZ251CisgCWV4aXQgOzsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL2RtYXBpL2ZpbGVzL3JlbW92ZS1pbnN0YWxsLWFzLXVzZXIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy9kbWFwaS9maWxlcy9yZW1vdmUtaW5zdGFsbC1hcy11c2VyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3NjFkYjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy9kbWFwaS9maWxlcy9yZW1vdmUtaW5zdGFsbC1hcy11c2VyLnBhdGNoCkBAIC0wLDAgKzEsMjA1IEBACityZW1vdmUgaW5zdGFsbCBhcyB1c2VyCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorLS0tCisgaW5jbHVkZS9idWlsZG1hY3JvcyB8ICAyICstCisgaW5jbHVkZS9pbnN0YWxsLXNoICB8IDk1ICsrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCA4MyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2luY2x1ZGUvYnVpbGRtYWNyb3MgYi9pbmNsdWRlL2J1aWxkbWFjcm9zCitpbmRleCA3YTAxODgwLi4wODQwZDU1IDEwMDY0NAorLS0tIGEvaW5jbHVkZS9idWlsZG1hY3JvcworKysrIGIvaW5jbHVkZS9idWlsZG1hY3JvcworQEAgLTMwLDcgKzMwLDcgQEAgT0JKRUNUUyA9ICQoQVNGSUxFUzoucz0ubykgXAorIAkgICQoTEZJTEVTOi5sPS5vKSBcCisgCSAgJChZRklMRVM6JS55PSUudGFiLm8pCisgCistSU5TVEFMTAk9ICQoVE9QRElSKS9pbnN0YWxsLXNoIC1vICQoUEtHX1VTRVIpIC1nICQoUEtHX0dST1VQKQorK0lOU1RBTEwJPSAkKFRPUERJUikvaW5zdGFsbC1zaAorIAorIElNQUdFU19ESVIgPSAkKFRPUERJUikvYWxsLWltYWdlcworIERJU1RfRElSID0gJChUT1BESVIpL2Rpc3QKK2RpZmYgLS1naXQgYS9pbmNsdWRlL2luc3RhbGwtc2ggYi9pbmNsdWRlL2luc3RhbGwtc2gKK2luZGV4IGM5NTJhNzEuLmI5ZDY2ZjcgMTAwNzU1CistLS0gYS9pbmNsdWRlL2luc3RhbGwtc2gKKysrKyBiL2luY2x1ZGUvaW5zdGFsbC1zaAorQEAgLTI0LDExICsyNCwxMSBAQAorICMgICAgICAgc2V0ICAgICAgICAgICBzZXQgICAgICB8ICAgIHllcyAgICAgICAgeWVzCisgIworIF91c2FnZSgpIHsKKy0gICAgZWNobyAiVXNhZ2U6ICRwcm9nIFstbyBvd25lcl0gWy1nIGdyb3VwXSBbLW0gbW9kZV0gLWQgZGlyZWN0b3J5IgorLSAgICBlY2hvICJvciAgICAgJHByb2cgWy1EXSBbLW8gb3duZXJdIFstZyBncm91cF0gWy1tIG1vZGVdIGZpbGUgZGlyZWN0b3J5L2ZpbGUiCistICAgIGVjaG8gIm9yICAgICAkcHJvZyBbLW8gb3duZXJdIFstZyBncm91cF0gWy1tIG1vZGVdIGZpbGUgW2ZpbGUgLi4uXSBkaXJlY3RvcnkiCisrICAgIGVjaG8gIlVzYWdlOiAkcHJvZyBbLW0gbW9kZV0gLWQgZGlyZWN0b3J5IgorKyAgICBlY2hvICJvciAgICAgJHByb2cgWy1tIG1vZGVdIGZpbGUgZGlyZWN0b3J5L2ZpbGUiCisrICAgIGVjaG8gIm9yICAgICAkcHJvZyBbLW0gbW9kZV0gZmlsZSBbZmlsZSAuLi5dIGRpcmVjdG9yeSIKKyAgICAgZWNobyAib3IgICAgICRwcm9nIC1TIGZpbGUgdGFyZ2V0ICAoY3JlYXRlcyBcInRhcmdldFwiIHN5bWxpbmspIgorLSAgICBlY2hvICJvciAgICAgJHByb2cgLVQgbHRfYXJnIFstbyBvd25lcl0gWy1nIGdyb3VwXSBbLW0gbW9kZV0gbGlidG9vbC5sYWkgZGlyZWN0b3J5IgorKyAgICBlY2hvICJvciAgICAgJHByb2cgLVQgbHRfYXJnIFstbSBtb2RlXSBsaWJ0b29sLmxhaSBkaXJlY3RvcnkiCisgICAgIGVjaG8gIiIKKyAgICAgZWNobyAiVGhlIFwkRElTVF9NQU5JRkVTVCBhbmQgXCRESVNUX1JPT1QgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFmZmVjdCB0aGUiCisgICAgIGVjaG8gImJlaGF2aW91ciBvZiB0aGlzIGNvbW1hbmQgLSBzZWUgY29tbWVudHMgaW4gdGhlIHNjcmlwdC4iCitAQCAtMzgsMzIgKzM4LDYgQEAgX3VzYWdlKCkgeworICAgICBleGl0IDEKKyB9CisgCistX2Nob3duICgpCisteworLSAgICBfc3Q9MjU1CistICAgIGlmIFsgJCMgLWVxIDMgXSA7IHRoZW4KKy0JY2hvd24gJDE6JDIgJDMKKy0JX3N0PSQ/CistCWlmIFsgJF9zdCAtbmUgMCBdIDsgdGhlbgorLQkgICAgaWYgWyAkUkVBTF9VSUQgIT0gJzAnIF0gOyB0aGVuCistCQlpZiBbICEgLWYgJERJU1RfUk9PVC8uY2hvd24ucXVpZXQgXSA7IHRoZW4KKy0JCSAgICBlY2hvICc9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PScKKy0JCSAgICBlY2hvIE93bmVyc2hpcCBvZiBmaWxlcyB1bmRlciAke0RJU1RfUk9PVDotL30KKy0JCSAgICBlY2hvIGNhbm5vdCBiZSBjaGFuZ2VkCistCQkgICAgZWNobyAnPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0nCistCQkgICAgaWYgWyAtbiAiJERJU1RfUk9PVCIgXSA7IHRoZW4KKy0JCQl0b3VjaCAkRElTVF9ST09ULy5jaG93bi5xdWlldAorLQkJICAgIGZpCistCQlmaQorLQkgICAgICAgX3N0PTAKKy0JICAgIGZpICAgICAKKy0JZmkKKy0gICAgZmkKKy0KKy0gICAgcmV0dXJuICRfc3QKKy19CistCistCisgX21hbmlmZXN0ICgpCisgeyAKKyAgICAgZWNobyAkKiB8IHNlZCAtZSAncy9cL1wvL1wvL2cnID4+JHtESVNUX01BTklGRVNUOi0vZGV2L251bGx9CitAQCAtNzcsOSArNTEsNiBAQCBTZmxhZz1mYWxzZQorIFRmbGFnPWZhbHNlCisgRElSTU9ERT03NTUKKyBGSUxFTU9ERT02NDQKKy1PV05FUj1gaWQgLXVgCistR1JPVVA9YGlkIC1nYAorLVJFQUxfVUlEPSRPV05FUgorIAorICMgZGVmYXVsdCBpcyB0byBpbnN0YWxsIGFuZCBkb24ndCBhcHBlbmQgbWFuaWZlc3QKKyBJTlNUQUxMPXRydWUKK0BAIC05NCwyNCArNjUsMTYgQEAgTUFOSUZFU1Q9OgorIAorIGlmICRJTlNUQUxMCisgdGhlbgorLSAgICBDUD1jcDsgTE49bG47IE1LRElSPW1rZGlyOyBDSE1PRD1jaG1vZDsgQ0hPV049X2Nob3duCisrICAgIENQPWNwOyBMTj1sbjsgTUtESVI9bWtkaXI7IENITU9EPWNobW9kOworIGVsc2UKKy0gICAgQ1A9dHJ1ZTsgTE49dHJ1ZTsgTUtESVI9dHJ1ZTsgQ0hNT0Q9dHJ1ZTsgQ0hPV049dHJ1ZQorKyAgICBDUD10cnVlOyBMTj10cnVlOyBNS0RJUj10cnVlOyBDSE1PRD10cnVlOworIGZpCisgCistWyAtbiAiJERJU1RfUk9PVCIgLWEgJFJFQUxfVUlEIC1uZSAwIF0gJiYgQ0hPV049dHJ1ZQorLQorLXdoaWxlIGdldG9wdHMgIkRjbTpkOlM6bzpnOlQ6IiBjICQqCisrd2hpbGUgZ2V0b3B0cyAiRGNtOmQ6UzpUOiIgYyAkKgorIGRvCisgICAgY2FzZSAkYyBpbgorICAgIGMpCisgCTs7CistICAgZykKKy0JR1JPVVA9JE9QVEFSRworLQk7OworLSAgIG8pCistCU9XTkVSPSRPUFRBUkcKKy0JOzsKKyAgICBtKQorIAlESVJNT0RFPWBleHByICRPUFRBUkdgCisgCUZJTEVNT0RFPSRESVJNT0RFCitAQCAtMTQ2LDE4ICsxMDksNyBAQCB0aGVuCisgICAgICMgZmlyc3QgdXNhZ2UKKyAgICAgIworICAgICAkTUtESVIgLXAgJGRpciAKKy0gICAgc3RhdHVzPSQ/CistICAgIGlmIFsgJHN0YXR1cyAtZXEgMCBdCistICAgIHRoZW4KKy0JJENITU9EICRESVJNT0RFICRkaXIKKy0Jc3RhdHVzPSQ/CistICAgIGZpCistICAgIGlmIFsgJHN0YXR1cyAtZXEgMCBdCistICAgIHRoZW4KKy0JJENIT1dOICRPV05FUiAkR1JPVVAgJGRpcgorLQlzdGF0dXM9JD8KKy0gICAgZmkKKy0gICAgJE1BTklGRVNUIGQgJERJUk1PREUgJE9XTkVSICRHUk9VUCAke2RpciMkRElTVF9ST09UfQorKyAgICAkTUFOSUZFU1QgZCAkRElSTU9ERSAke2RpciMkRElTVF9ST09UfQorIGVsaWYgJFNmbGFnCisgdGhlbgorICAgICAjCitAQCAtMjAzLDcgKzE1NSw3IEBAIHRoZW4KKyAJCQlpbnN0YWxsX25hbWU9JHRhcmdldC8kc29saWIKKyAJCQkkQ1AgJHNvbGliICRpbnN0YWxsX25hbWUKKyAJCQlzdGF0dXM9JD8KKy0JCQkkTUFOSUZFU1QgZiAkRklMRU1PREUgJE9XTkVSICRHUk9VUCAkSEVSRS8kc29saWIgJHtpbnN0YWxsX25hbWUjJERJU1RfUk9PVH0KKysJCQkkTUFOSUZFU1QgZiAkRklMRU1PREUgJEhFUkUvJHNvbGliICR7aW5zdGFsbF9uYW1lIyRESVNUX1JPT1R9CisgCQkJYnJlYWsKKyAJCWZpCisgCWRvbmUKK0BAIC0yNTQsNyArMjA2LDcgQEAgdGhlbgorIAlpbnN0YWxsX25hbWU9JHRhcmdldC8kb2xkX2xpYnJhcnkKKyAJJENQICRvbGRfbGlicmFyeSAkaW5zdGFsbF9uYW1lCisgCXN0YXR1cz0kPworLQkkTUFOSUZFU1QgZiAkRklMRU1PREUgJE9XTkVSICRHUk9VUCAkSEVSRS8kb2xkX2xpYnJhcnkgJHtpbnN0YWxsX25hbWUjJERJU1RfUk9PVH0KKysJJE1BTklGRVNUIGYgJEZJTEVNT0RFICRIRVJFLyRvbGRfbGlicmFyeSAke2luc3RhbGxfbmFtZSMkRElTVF9ST09UfQorIAk7OworICAgICAqKQorIAllY2hvICIkcHJvZzogLVQgJGx0X2luc3RhbGwgaW52YWxpZCIKK0BAIC0yNjcsNyArMjE5LDYgQEAgdGhlbgorIAlpZiBbICRzdGF0dXMgLWVxIDAgXQorIAl0aGVuCisgCQkkQ0hNT0QgJEZJTEVNT0RFICRpbnN0YWxsX25hbWUKKy0JCSRDSE9XTiAkT1dORVIgJEdST1VQICRpbnN0YWxsX25hbWUKKyAJZmkKKyAJOzsKKyAgICAgZXNhYworQEAgLTI5MiwyMyArMjQzLDEwIEBAIGVsc2UKKyAJdGhlbiAKKyAJICAgIGlmIFsgLWYgJGRpci8kZiBdCisgCSAgICB0aGVuCistCQkkQ0hNT0QgJEZJTEVNT0RFICRkaXIvJGYKKy0JCXN0YXR1cz0kPworLQkJaWYgWyAkc3RhdHVzIC1lcSAwIF0KKy0JCXRoZW4KKy0JCSAgICAkQ0hPV04gJE9XTkVSICRHUk9VUCAkZGlyLyRmCistCQkgICAgc3RhdHVzPSQ/CistCQlmaQorLQkJJE1BTklGRVNUIGYgJEZJTEVNT0RFICRPV05FUiAkR1JPVVAgJEhFUkUvJGYgJHtkaXIjJERJU1RfUk9PVH0vJGYKKysJCSRNQU5JRkVTVCBmICRGSUxFTU9ERSAkSEVSRS8kZiAke2RpciMkRElTVF9ST09UfS8kZgorIAkgICAgZWxzZQorIAkJJENITU9EICRGSUxFTU9ERSAkZGlyCistCQlzdGF0dXM9JD8KKy0JCWlmIFsgJHN0YXR1cyAtZXEgMCBdCistCQl0aGVuCistCQkgICAgJENIT1dOICRPV05FUiAkR1JPVVAgJGRpcgorLQkJICAgIHN0YXR1cz0kPworLQkJZmkKKy0JCSRNQU5JRkVTVCBmICRGSUxFTU9ERSAkT1dORVIgJEdST1VQICRIRVJFLyRkaXIgJHtkaXIjJERJU1RfUk9PVH0KKysJCSRNQU5JRkVTVCBmICRGSUxFTU9ERSAkSEVSRS8kZGlyICR7ZGlyIyRESVNUX1JPT1R9CisgCSAgICBmaQorIAlmaQorICAgICBlbHNlCitAQCAtMzM0LDE0ICsyNzIsNyBAQCBlbHNlCisgCSAgICBzdGF0dXM9JD8KKyAJICAgIGlmIFsgJHN0YXR1cyAtZXEgMCBdCisgCSAgICB0aGVuCistCQkkQ0hNT0QgJEZJTEVNT0RFICRkaXIvJGYKKy0JCXN0YXR1cz0kPworLQkJaWYgWyAkc3RhdHVzIC1lcSAwIF0KKy0JCXRoZW4KKy0JCSAgICAkQ0hPV04gJE9XTkVSICRHUk9VUCAkZGlyLyRmCistCQkgICAgc3RhdHVzPSQ/CistCQlmaQorLQkJJE1BTklGRVNUIGYgJEZJTEVNT0RFICRPV05FUiAkR1JPVVAgJEhFUkUvJGYgJHtkaXIjJERJU1RfUk9PVH0vJGYKKysJCSRNQU5JRkVTVCBmICRGSUxFTU9ERSAkSEVSRS8kZiAke2RpciMkRElTVF9ST09UfS8kZgorIAkgICAgZmkKKyAJICAgIFsgJHN0YXR1cyAtbmUgMCBdICYmIGJyZWFrCisgCWRvbmUKKy0tIAorMS44LjEuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy9leGZhdC11dGlscy9leGZhdC11dGlsc18xLjIuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL2V4ZmF0LXV0aWxzL2V4ZmF0LXV0aWxzXzEuMi4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwMTlkYjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy9leGZhdC11dGlscy9leGZhdC11dGlsc18xLjIuMy5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gInV0aWxpdGllcyB0byBjcmVhdGUsIGNoZWNrLCBsYWJlbCBhbmQgZHVtcCBleEZBVCBmaWxlc3lzdGVtIgorREVTQ1JJUFRJT04gPSAiVXRpbGl0aWVzIHRvIG1hbmFnZSBleHRlbmRlZCBmaWxlIGFsbG9jYXRpb24gdGFibGUgZmlsZXN5c3RlbS4gXAorVGhpcyBwYWNrYWdlIHByb3ZpZGVzIHRvb2xzIHRvIGNyZWF0ZSwgY2hlY2sgYW5kIGxhYmVsIHRoZSBmaWxlc3lzdGVtLiBJdCBcCitjb250YWlucyBcCisgLSBkdW1wZXhmYXQgdG8gZHVtcCBwcm9wZXJ0aWVzIG9mIHRoZSBmaWxlc3lzdGVtIFwKKyAtIGV4ZmF0ZnNjayAvIGZzY2suZXhmYXQgdG8gcmVwb3J0IGVycm9ycyBmb3VuZCBvbiBhIGV4RkFUIGZpbGVzeXN0ZW0gXAorIC0gZXhmYXRsYWJlbCB0byBsYWJlbCBhIGV4RkFUIGZpbGVzeXN0ZW0gXAorIC0gbWtleGZhdGZzIC8gbWtmcy5leGZhdCB0byBjcmVhdGUgYSBleEZBVCBmaWxlc3lzdGVtLiBcCisiCitIT01FUEFHRSA9ICJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZXhmYXQvIgorU0VDVElPTiA9ICJ1bml2ZXJzZS9vdGhlcm9zZnMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCitTUkNfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9lL2V4ZmF0LXV0aWxzL2V4ZmF0LXV0aWxzXyR7UFZ9Lm9yaWcudGFyLmd6IFwKKyIKK0RFUEVORFMgPSAidmlydHVhbC9saWJjIgorCitpbmhlcml0IHBrZ2NvbmZpZyBhdXRvdG9vbHMKKworU1JDX1VSSVttZDVzdW1dID0gImY0ZTU2NDQ1MGFhODE1OWUyNmRkZTI4Njk1NjNkMjQyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjgwZDNiM2YyMTI0MmQ2MGQzNmEzOGE0ZGRiMDVjYjdjYzNhN2Q0ZWVmNTc5M2U4MzE0ODE0OTM3YjkzOGZjZWEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy9mMmZzLXRvb2xzL2YyZnMtdG9vbHMvMDAwMS1SZW1vdmUtQUNfQ0hFQ0tfRklMRS1mb3ItY3Jvc3MtY29tcGlsYXRpb24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy9mMmZzLXRvb2xzL2YyZnMtdG9vbHMvMDAwMS1SZW1vdmUtQUNfQ0hFQ0tfRklMRS1mb3ItY3Jvc3MtY29tcGlsYXRpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2Y4NDRiZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL2YyZnMtdG9vbHMvZjJmcy10b29scy8wMDAxLVJlbW92ZS1BQ19DSEVDS19GSUxFLWZvci1jcm9zcy1jb21waWxhdGlvbi5wYXRjaApAQCAtMCwwICsxLDMyIEBACitGcm9tIDNiM2M2ZTYzNzZiYWJjZDlhMGIwZGIzMTJiMGUxZTNiYjNhYjgzM2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBTdmVuIEViZW5mZWxkIDxzdmVuLmViZW5mZWxkQHZhaWxsYW50LmRlPgorRGF0ZTogV2VkLCAyNiBOb3YgMjAxNCAxMDozNjo0NCArMDEwMAorU3ViamVjdDogW1BBVENIXSBSZW1vdmUgQUNfQ0hFQ0tfRklMRSBmb3IgY3Jvc3MgY29tcGlsYXRpb24KKworLS0tCisgY29uZmlndXJlLmFjIHwgNyArLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCAwMTExZTcyLi44YzI4NmQ0IDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0yMCwxNCArMjAsOSBAQCBBQ19ERUZJTkUoW0YyRlNfTUlOT1JfVkVSU0lPTl0sIG00X2JwYXRzdWJzdChmMmZzX3Rvb2xzX3ZlcnNpb24sCisgCQkJCVtcKFswLTldKlwpLlwoWzAtOV0qXClcKFx3XHxcV1wpKl0sIFtcMl0pLAorIAkJCQlbTWlub3IgdmVyc2lvbiBmb3IgZjJmcy10b29sc10pCisgCistQUNfQ0hFQ0tfRklMRSguZ2l0LAorLQlBQ19ERUZJTkUoW0YyRlNfVE9PTFNfREFURV0sCistCQkibTRfYnBhdHN1YnN0KGYyZnNfdG9vbHNfZ2l0ZGF0ZSwKKy0JCVtcKFswLTktXSpcKVwoXHdcfFxXXCkqXSwgW1wxXSkiLAorLQkJW2YyZnMtdG9vbHMgZGF0ZSBiYXNlZCBvbiBHaXQgY29tbWl0c10pLAorIAlBQ19ERUZJTkUoW0YyRlNfVE9PTFNfREFURV0sCisgCQkiZjJmc190b29sc19kYXRlIiwKKy0JCVtmMmZzLXRvb2xzIGRhdGUgYmFzZWQgb24gU291cmNlIHJlbGVhc2VzXSkpCisrCQlbZjJmcy10b29scyBkYXRlIGJhc2VkIG9uIFNvdXJjZSByZWxlYXNlc10pCisgCisgQUNfQ09ORklHX1NSQ0RJUihbY29uZmlnLmguaW5dKQorIEFDX0NPTkZJR19IRUFERVIoW2NvbmZpZy5oXSkKKy0tIAorMS44LjEucmMzCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL2YyZnMtdG9vbHMvZjJmcy10b29sc18xLjQuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL2YyZnMtdG9vbHMvZjJmcy10b29sc18xLjQuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYTU1OGU3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMvZjJmcy10b29scy9mMmZzLXRvb2xzXzEuNC4wLmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiVG9vbHMgZm9yIEZsYXNoLUZyaWVuZGx5IEZpbGUgU3lzdGVtIChGMkZTKSIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvZjJmcy10b29scy8iCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zNjJiNGIyNTk0Y2QzNjJiODc0YTk3NzE4ZmFhNTFkMyIKKworIyB0byBwcm92aWRlIGxpYnV1aWQKK0RFUEVORFMgPSAidXRpbC1saW51eCIKKworU1JDUkVWID0gImJhYWM0YjRlNmY0MWNlYjAyNTExZGE0OWRkMzcwNzY3NGYzZmVhMjEiCitTUkNfVVJJID0gImdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2VybmVsL2dpdC9qYWVnZXVrL2YyZnMtdG9vbHMuZ2l0IFwKKyAgICBmaWxlOi8vMDAwMS1SZW1vdmUtQUNfQ0hFQ0tfRklMRS1mb3ItY3Jvc3MtY29tcGlsYXRpb24ucGF0Y2giCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IHBrZ2NvbmZpZyBhdXRvdG9vbHMKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy94ZnNkdW1wL2ZpbGVzL3JlbW92ZS1pbnN0YWxsLWFzLXVzZXIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy94ZnNkdW1wL2ZpbGVzL3JlbW92ZS1pbnN0YWxsLWFzLXVzZXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTc2MWRiMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL3hmc2R1bXAvZmlsZXMvcmVtb3ZlLWluc3RhbGwtYXMtdXNlci5wYXRjaApAQCAtMCwwICsxLDIwNSBAQAorcmVtb3ZlIGluc3RhbGwgYXMgdXNlcgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIGluY2x1ZGUvYnVpbGRtYWNyb3MgfCAgMiArLQorIGluY2x1ZGUvaW5zdGFsbC1zaCAgfCA5NSArKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgODMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9pbmNsdWRlL2J1aWxkbWFjcm9zIGIvaW5jbHVkZS9idWlsZG1hY3JvcworaW5kZXggN2EwMTg4MC4uMDg0MGQ1NSAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvYnVpbGRtYWNyb3MKKysrKyBiL2luY2x1ZGUvYnVpbGRtYWNyb3MKK0BAIC0zMCw3ICszMCw3IEBAIE9CSkVDVFMgPSAkKEFTRklMRVM6LnM9Lm8pIFwKKyAJICAkKExGSUxFUzoubD0ubykgXAorIAkgICQoWUZJTEVTOiUueT0lLnRhYi5vKQorIAorLUlOU1RBTEwJPSAkKFRPUERJUikvaW5zdGFsbC1zaCAtbyAkKFBLR19VU0VSKSAtZyAkKFBLR19HUk9VUCkKKytJTlNUQUxMCT0gJChUT1BESVIpL2luc3RhbGwtc2gKKyAKKyBJTUFHRVNfRElSID0gJChUT1BESVIpL2FsbC1pbWFnZXMKKyBESVNUX0RJUiA9ICQoVE9QRElSKS9kaXN0CitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9pbnN0YWxsLXNoIGIvaW5jbHVkZS9pbnN0YWxsLXNoCitpbmRleCBjOTUyYTcxLi5iOWQ2NmY3IDEwMDc1NQorLS0tIGEvaW5jbHVkZS9pbnN0YWxsLXNoCisrKysgYi9pbmNsdWRlL2luc3RhbGwtc2gKK0BAIC0yNCwxMSArMjQsMTEgQEAKKyAjICAgICAgIHNldCAgICAgICAgICAgc2V0ICAgICAgfCAgICB5ZXMgICAgICAgIHllcworICMKKyBfdXNhZ2UoKSB7CistICAgIGVjaG8gIlVzYWdlOiAkcHJvZyBbLW8gb3duZXJdIFstZyBncm91cF0gWy1tIG1vZGVdIC1kIGRpcmVjdG9yeSIKKy0gICAgZWNobyAib3IgICAgICRwcm9nIFstRF0gWy1vIG93bmVyXSBbLWcgZ3JvdXBdIFstbSBtb2RlXSBmaWxlIGRpcmVjdG9yeS9maWxlIgorLSAgICBlY2hvICJvciAgICAgJHByb2cgWy1vIG93bmVyXSBbLWcgZ3JvdXBdIFstbSBtb2RlXSBmaWxlIFtmaWxlIC4uLl0gZGlyZWN0b3J5IgorKyAgICBlY2hvICJVc2FnZTogJHByb2cgWy1tIG1vZGVdIC1kIGRpcmVjdG9yeSIKKysgICAgZWNobyAib3IgICAgICRwcm9nIFstbSBtb2RlXSBmaWxlIGRpcmVjdG9yeS9maWxlIgorKyAgICBlY2hvICJvciAgICAgJHByb2cgWy1tIG1vZGVdIGZpbGUgW2ZpbGUgLi4uXSBkaXJlY3RvcnkiCisgICAgIGVjaG8gIm9yICAgICAkcHJvZyAtUyBmaWxlIHRhcmdldCAgKGNyZWF0ZXMgXCJ0YXJnZXRcIiBzeW1saW5rKSIKKy0gICAgZWNobyAib3IgICAgICRwcm9nIC1UIGx0X2FyZyBbLW8gb3duZXJdIFstZyBncm91cF0gWy1tIG1vZGVdIGxpYnRvb2wubGFpIGRpcmVjdG9yeSIKKysgICAgZWNobyAib3IgICAgICRwcm9nIC1UIGx0X2FyZyBbLW0gbW9kZV0gbGlidG9vbC5sYWkgZGlyZWN0b3J5IgorICAgICBlY2hvICIiCisgICAgIGVjaG8gIlRoZSBcJERJU1RfTUFOSUZFU1QgYW5kIFwkRElTVF9ST09UIGVudmlyb25tZW50IHZhcmlhYmxlcyBhZmZlY3QgdGhlIgorICAgICBlY2hvICJiZWhhdmlvdXIgb2YgdGhpcyBjb21tYW5kIC0gc2VlIGNvbW1lbnRzIGluIHRoZSBzY3JpcHQuIgorQEAgLTM4LDMyICszOCw2IEBAIF91c2FnZSgpIHsKKyAgICAgZXhpdCAxCisgfQorIAorLV9jaG93biAoKQorLXsKKy0gICAgX3N0PTI1NQorLSAgICBpZiBbICQjIC1lcSAzIF0gOyB0aGVuCistCWNob3duICQxOiQyICQzCistCV9zdD0kPworLQlpZiBbICRfc3QgLW5lIDAgXSA7IHRoZW4KKy0JICAgIGlmIFsgJFJFQUxfVUlEICE9ICcwJyBdIDsgdGhlbgorLQkJaWYgWyAhIC1mICRESVNUX1JPT1QvLmNob3duLnF1aWV0IF0gOyB0aGVuCistCQkgICAgZWNobyAnPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0nCistCQkgICAgZWNobyBPd25lcnNoaXAgb2YgZmlsZXMgdW5kZXIgJHtESVNUX1JPT1Q6LS99CistCQkgICAgZWNobyBjYW5ub3QgYmUgY2hhbmdlZAorLQkJICAgIGVjaG8gJz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09JworLQkJICAgIGlmIFsgLW4gIiRESVNUX1JPT1QiIF0gOyB0aGVuCistCQkJdG91Y2ggJERJU1RfUk9PVC8uY2hvd24ucXVpZXQKKy0JCSAgICBmaQorLQkJZmkKKy0JICAgICAgIF9zdD0wCistCSAgICBmaSAgICAgCistCWZpCistICAgIGZpCistCistICAgIHJldHVybiAkX3N0CistfQorLQorLQorIF9tYW5pZmVzdCAoKQorIHsgCisgICAgIGVjaG8gJCogfCBzZWQgLWUgJ3MvXC9cLy9cLy9nJyA+PiR7RElTVF9NQU5JRkVTVDotL2Rldi9udWxsfQorQEAgLTc3LDkgKzUxLDYgQEAgU2ZsYWc9ZmFsc2UKKyBUZmxhZz1mYWxzZQorIERJUk1PREU9NzU1CisgRklMRU1PREU9NjQ0CistT1dORVI9YGlkIC11YAorLUdST1VQPWBpZCAtZ2AKKy1SRUFMX1VJRD0kT1dORVIKKyAKKyAjIGRlZmF1bHQgaXMgdG8gaW5zdGFsbCBhbmQgZG9uJ3QgYXBwZW5kIG1hbmlmZXN0CisgSU5TVEFMTD10cnVlCitAQCAtOTQsMjQgKzY1LDE2IEBAIE1BTklGRVNUPToKKyAKKyBpZiAkSU5TVEFMTAorIHRoZW4KKy0gICAgQ1A9Y3A7IExOPWxuOyBNS0RJUj1ta2RpcjsgQ0hNT0Q9Y2htb2Q7IENIT1dOPV9jaG93bgorKyAgICBDUD1jcDsgTE49bG47IE1LRElSPW1rZGlyOyBDSE1PRD1jaG1vZDsKKyBlbHNlCistICAgIENQPXRydWU7IExOPXRydWU7IE1LRElSPXRydWU7IENITU9EPXRydWU7IENIT1dOPXRydWUKKysgICAgQ1A9dHJ1ZTsgTE49dHJ1ZTsgTUtESVI9dHJ1ZTsgQ0hNT0Q9dHJ1ZTsKKyBmaQorIAorLVsgLW4gIiRESVNUX1JPT1QiIC1hICRSRUFMX1VJRCAtbmUgMCBdICYmIENIT1dOPXRydWUKKy0KKy13aGlsZSBnZXRvcHRzICJEY206ZDpTOm86ZzpUOiIgYyAkKgorK3doaWxlIGdldG9wdHMgIkRjbTpkOlM6VDoiIGMgJCoKKyBkbworICAgIGNhc2UgJGMgaW4KKyAgICBjKQorIAk7OworLSAgIGcpCistCUdST1VQPSRPUFRBUkcKKy0JOzsKKy0gICBvKQorLQlPV05FUj0kT1BUQVJHCistCTs7CisgICAgbSkKKyAJRElSTU9ERT1gZXhwciAkT1BUQVJHYAorIAlGSUxFTU9ERT0kRElSTU9ERQorQEAgLTE0NiwxOCArMTA5LDcgQEAgdGhlbgorICAgICAjIGZpcnN0IHVzYWdlCisgICAgICMKKyAgICAgJE1LRElSIC1wICRkaXIgCistICAgIHN0YXR1cz0kPworLSAgICBpZiBbICRzdGF0dXMgLWVxIDAgXQorLSAgICB0aGVuCistCSRDSE1PRCAkRElSTU9ERSAkZGlyCistCXN0YXR1cz0kPworLSAgICBmaQorLSAgICBpZiBbICRzdGF0dXMgLWVxIDAgXQorLSAgICB0aGVuCistCSRDSE9XTiAkT1dORVIgJEdST1VQICRkaXIKKy0Jc3RhdHVzPSQ/CistICAgIGZpCistICAgICRNQU5JRkVTVCBkICRESVJNT0RFICRPV05FUiAkR1JPVVAgJHtkaXIjJERJU1RfUk9PVH0KKysgICAgJE1BTklGRVNUIGQgJERJUk1PREUgJHtkaXIjJERJU1RfUk9PVH0KKyBlbGlmICRTZmxhZworIHRoZW4KKyAgICAgIworQEAgLTIwMyw3ICsxNTUsNyBAQCB0aGVuCisgCQkJaW5zdGFsbF9uYW1lPSR0YXJnZXQvJHNvbGliCisgCQkJJENQICRzb2xpYiAkaW5zdGFsbF9uYW1lCisgCQkJc3RhdHVzPSQ/CistCQkJJE1BTklGRVNUIGYgJEZJTEVNT0RFICRPV05FUiAkR1JPVVAgJEhFUkUvJHNvbGliICR7aW5zdGFsbF9uYW1lIyRESVNUX1JPT1R9CisrCQkJJE1BTklGRVNUIGYgJEZJTEVNT0RFICRIRVJFLyRzb2xpYiAke2luc3RhbGxfbmFtZSMkRElTVF9ST09UfQorIAkJCWJyZWFrCisgCQlmaQorIAlkb25lCitAQCAtMjU0LDcgKzIwNiw3IEBAIHRoZW4KKyAJaW5zdGFsbF9uYW1lPSR0YXJnZXQvJG9sZF9saWJyYXJ5CisgCSRDUCAkb2xkX2xpYnJhcnkgJGluc3RhbGxfbmFtZQorIAlzdGF0dXM9JD8KKy0JJE1BTklGRVNUIGYgJEZJTEVNT0RFICRPV05FUiAkR1JPVVAgJEhFUkUvJG9sZF9saWJyYXJ5ICR7aW5zdGFsbF9uYW1lIyRESVNUX1JPT1R9CisrCSRNQU5JRkVTVCBmICRGSUxFTU9ERSAkSEVSRS8kb2xkX2xpYnJhcnkgJHtpbnN0YWxsX25hbWUjJERJU1RfUk9PVH0KKyAJOzsKKyAgICAgKikKKyAJZWNobyAiJHByb2c6IC1UICRsdF9pbnN0YWxsIGludmFsaWQiCitAQCAtMjY3LDcgKzIxOSw2IEBAIHRoZW4KKyAJaWYgWyAkc3RhdHVzIC1lcSAwIF0KKyAJdGhlbgorIAkJJENITU9EICRGSUxFTU9ERSAkaW5zdGFsbF9uYW1lCistCQkkQ0hPV04gJE9XTkVSICRHUk9VUCAkaW5zdGFsbF9uYW1lCisgCWZpCisgCTs7CisgICAgIGVzYWMKK0BAIC0yOTIsMjMgKzI0MywxMCBAQCBlbHNlCisgCXRoZW4gCisgCSAgICBpZiBbIC1mICRkaXIvJGYgXQorIAkgICAgdGhlbgorLQkJJENITU9EICRGSUxFTU9ERSAkZGlyLyRmCistCQlzdGF0dXM9JD8KKy0JCWlmIFsgJHN0YXR1cyAtZXEgMCBdCistCQl0aGVuCistCQkgICAgJENIT1dOICRPV05FUiAkR1JPVVAgJGRpci8kZgorLQkJICAgIHN0YXR1cz0kPworLQkJZmkKKy0JCSRNQU5JRkVTVCBmICRGSUxFTU9ERSAkT1dORVIgJEdST1VQICRIRVJFLyRmICR7ZGlyIyRESVNUX1JPT1R9LyRmCisrCQkkTUFOSUZFU1QgZiAkRklMRU1PREUgJEhFUkUvJGYgJHtkaXIjJERJU1RfUk9PVH0vJGYKKyAJICAgIGVsc2UKKyAJCSRDSE1PRCAkRklMRU1PREUgJGRpcgorLQkJc3RhdHVzPSQ/CistCQlpZiBbICRzdGF0dXMgLWVxIDAgXQorLQkJdGhlbgorLQkJICAgICRDSE9XTiAkT1dORVIgJEdST1VQICRkaXIKKy0JCSAgICBzdGF0dXM9JD8KKy0JCWZpCistCQkkTUFOSUZFU1QgZiAkRklMRU1PREUgJE9XTkVSICRHUk9VUCAkSEVSRS8kZGlyICR7ZGlyIyRESVNUX1JPT1R9CisrCQkkTUFOSUZFU1QgZiAkRklMRU1PREUgJEhFUkUvJGRpciAke2RpciMkRElTVF9ST09UfQorIAkgICAgZmkKKyAJZmkKKyAgICAgZWxzZQorQEAgLTMzNCwxNCArMjcyLDcgQEAgZWxzZQorIAkgICAgc3RhdHVzPSQ/CisgCSAgICBpZiBbICRzdGF0dXMgLWVxIDAgXQorIAkgICAgdGhlbgorLQkJJENITU9EICRGSUxFTU9ERSAkZGlyLyRmCistCQlzdGF0dXM9JD8KKy0JCWlmIFsgJHN0YXR1cyAtZXEgMCBdCistCQl0aGVuCistCQkgICAgJENIT1dOICRPV05FUiAkR1JPVVAgJGRpci8kZgorLQkJICAgIHN0YXR1cz0kPworLQkJZmkKKy0JCSRNQU5JRkVTVCBmICRGSUxFTU9ERSAkT1dORVIgJEdST1VQICRIRVJFLyRmICR7ZGlyIyRESVNUX1JPT1R9LyRmCisrCQkkTUFOSUZFU1QgZiAkRklMRU1PREUgJEhFUkUvJGYgJHtkaXIjJERJU1RfUk9PVH0vJGYKKyAJICAgIGZpCisgCSAgICBbICRzdGF0dXMgLW5lIDAgXSAmJiBicmVhaworIAlkb25lCistLSAKKzEuOC4xLjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMveGZzZHVtcC94ZnNkdW1wXzMuMS40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMveGZzZHVtcC94ZnNkdW1wXzMuMS40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwNTNhNmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy94ZnNkdW1wL3hmc2R1bXBfMy4xLjQuYmIKQEAgLTAsMCArMSwzNiBAQAorU1VNTUFSWSA9ICJYRlMgRmlsZXN5c3RlbSBEdW1wIFV0aWxpdHkiCitERVNDUklQVElPTiA9ICJUaGUgeGZzZHVtcCBwYWNrYWdlIGNvbnRhaW5zIHhmc2R1bXAsIHhmc3Jlc3RvcmUgYW5kIGEgXAorICAgICAgICAgICAgICAgbnVtYmVyIG9mIG90aGVyIHV0aWxpdGllcyBmb3IgYWRtaW5pc3RlcmluZyBYRlMgZmlsZXN5c3RlbXMuXAorICAgICAgICAgICAgICAgeGZzZHVtcCBleGFtaW5lcyBmaWxlcyBpbiBhIGZpbGVzeXN0ZW0sIGRldGVybWluZXMgd2hpY2ggXAorICAgICAgICAgICAgICAgbmVlZCB0byBiZSBiYWNrZWQgdXAsIGFuZCBjb3BpZXMgdGhvc2UgZmlsZXMgdG8gYSBcCisgICAgICAgICAgICAgICBzcGVjaWZpZWQgZGlzaywgdGFwZSBvciBvdGhlciBzdG9yYWdlIG1lZGl1bS4iCitIT01FUEFHRSA9ICJodHRwOi8vb3NzLnNnaS5jb20vcHJvamVjdHMveGZzIgorU0VDVElPTiA9ICJiYXNlIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RvYy9DT1BZSU5HO21kNT0xNWM4MzI4OTRkMTBkZGQwMGRmY2Y1N2JlZTQ5MGVjYyIKK0RFUEVORFMgPSAieGZzcHJvZ3MgYXR0ciIKKworU1JDX1VSSSA9ICJmdHA6Ly9vc3Muc2dpLmNvbS9wcm9qZWN0cy94ZnMvY21kX3RhcnMvJHtCUE59LSR7UFZ9LnRhci5neiBcCisJICAgZmlsZTovL3JlbW92ZS1pbnN0YWxsLWFzLXVzZXIucGF0Y2ggXAorICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhOGIxNzYxYmU1ZmViMzYzMTMxZTdiNTA2NjM5YWQ0YyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1NzBlYWZkMDcyMTUxNWJkZDc5Y2IwZTI5NWI3MDFkNDljZGY4MWU3MWEwYTBmZjBkZjZkNGM1Y2MxOTYwOTQzIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworUEFSQUxMRUxfTUFLRSA9ICIiCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tnZXR0ZXh0XSA9ICItLWVuYWJsZS1nZXR0ZXh0PXllcywtLWVuYWJsZS1nZXR0ZXh0PW5vLGdldHRleHQiCisKK0VYVFJBX09FTUFLRSArPSAiJ0xJQlRPT0w9JHtIT1NUX1NZU30tbGlidG9vbCcgVj0xIgorCitkb19jb25maWd1cmUgKCkgeworICAgIGV4cG9ydCBERUJVRz0iLUROREVCVUciCisgICAgb2VfcnVuY29uZgorfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBleHBvcnQgRElTVF9ST09UPSR7RH0KKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgCisgICAgb2VfcnVubWFrZSBpbnN0YWxsLWRldgorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMveGZzcHJvZ3MvZmlsZXMvZHJvcC1jb25maWd1cmUtY2hlY2stZm9yLWFpby5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL3hmc3Byb2dzL2ZpbGVzL2Ryb3AtY29uZmlndXJlLWNoZWNrLWZvci1haW8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzYwMTA5NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL3hmc3Byb2dzL2ZpbGVzL2Ryb3AtY29uZmlndXJlLWNoZWNrLWZvci1haW8ucGF0Y2gKQEAgLTAsMCArMSw5MyBAQAoreGZzcHJvZ3M6IGRyb3AgY29uZmlndXJlIGNoZWNrIGZvciBhaW8KKworSXQncyB1bnVzZWQgYW5kIGJyZWFrcyBjb21waWxhdGlvbiB3aXRoIHVjbGliYy4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CistLS0KKyBjb25maWd1cmUuYWMgICAgICAgICB8ICA2ICsrKy0tLQorIG00L01ha2VmaWxlICAgICAgICAgIHwgIDEgLQorIG00L3BhY2thZ2VfYWlvZGV2Lm00IHwgMzYgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMyBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDQwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCBiOTY4OTc3Li40ZTJhMjYzIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC00Nyw2ICs0Nyw5IEBAIEFDX0FSR19FTkFCTEUobGliNjQsCisgCWVuYWJsZV9saWI2ND15ZXMpCisgQUNfU1VCU1QoZW5hYmxlX2xpYjY0KQorIAorK2xpYnJ0PSItbHJ0IgorK0FDX1NVQlNUKGxpYnJ0KQorKworICMKKyAjIElmIHRoZSB1c2VyIHNwZWNpZmllZCBhIGxpYmRpciBlbmRpbmcgaW4gbGliNjQgZG8gbm90IGFwcGVuZCBhbm90aGVyCisgIyA2NCB0byB0aGUgbGlicmFyeSBuYW1lcy4KK0BAIC05Miw5ICs5NSw2IEBAIEFDX1BBQ0tBR0VfR0xPQkFMUyh4ZnNwcm9ncykKKyBBQ19QQUNLQUdFX1VUSUxJVElFUyh4ZnNwcm9ncykKKyBBQ19NVUxUSUxJQigkZW5hYmxlX2xpYjY0KQorIAorLUFDX1BBQ0tBR0VfTkVFRF9BSU9fSAorLUFDX1BBQ0tBR0VfTkVFRF9MSU9fTElTVElPCistCisgQUNfUEFDS0FHRV9ORUVEX1VVSURfSAorIEFDX1BBQ0tBR0VfTkVFRF9VVUlEQ09NUEFSRQorIAorZGlmZiAtLWdpdCBhL200L01ha2VmaWxlIGIvbTQvTWFrZWZpbGUKK2luZGV4IDY1NGE0ZmIuLmQyODJmMGEgMTAwNjQ0CistLS0gYS9tNC9NYWtlZmlsZQorKysrIGIvbTQvTWFrZWZpbGUKK0BAIC0xNCw3ICsxNCw2IEBAIENPTkZJR1VSRSA9IFwKKyAKKyBMU1JDRklMRVMgPSBcCisgCW1hbnVhbF9mb3JtYXQubTQgXAorLQlwYWNrYWdlX2Fpb2Rldi5tNCBcCisgCXBhY2thZ2VfYmxraWQubTQgXAorIAlwYWNrYWdlX2dsb2JhbHMubTQgXAorIAlwYWNrYWdlX2xpYmNkZXYubTQgXAorZGlmZiAtLWdpdCBhL200L3BhY2thZ2VfYWlvZGV2Lm00IGIvbTQvcGFja2FnZV9haW9kZXYubTQKK2luZGV4IDQ5MGQ5YzguLjhiMTM3ODkgMTAwNjQ0CistLS0gYS9tNC9wYWNrYWdlX2Fpb2Rldi5tNAorKysrIGIvbTQvcGFja2FnZV9haW9kZXYubTQKK0BAIC0xLDM3ICsxIEBACistIworLSMgQ2hlY2sgaWYgd2UgaGF2ZSBhIGxpYmFpby5oIGluc3RhbGxlZAorLSMKKy1BQ19ERUZVTihbQUNfUEFDS0FHRV9XQU5UX0FJT10sCistICBbIEFDX0NIRUNLX0hFQURFUlMobGliYWlvLmgsIFsgaGF2ZV9haW89dHJ1ZSBdLCBbIGhhdmVfYWlvPWZhbHNlIF0pCistICAgIEFDX1NVQlNUKGhhdmVfYWlvKQorLSAgXSkKKy0KKy0jCistIyBDaGVjayBpZiB3ZSBoYXZlIGFuIGFpby5oIGluc3RhbGxlZAorLSMKKy1BQ19ERUZVTihbQUNfUEFDS0FHRV9ORUVEX0FJT19IXSwKKy0gIFsgQUNfQ0hFQ0tfSEVBREVSUyhhaW8uaCkKKy0gICAgaWYgdGVzdCAkYWNfY3ZfaGVhZGVyX2Fpb19oID0gbm87IHRoZW4KKy0JZWNobworLQllY2hvICdGQVRBTCBFUlJPUjogY291bGQgbm90IGZpbmQgYSB2YWxpZCA8YWlvLmg+IGhlYWRlci4nCistCWV4aXQgMQorLSAgICBmaQorLSAgXSkKKy0KKy0jCistIyBDaGVjayBpZiB3ZSBoYXZlIHRoZSBsaW9fbGlzdGlvIHJvdXRpbmUgaW4gZWl0aGVyIGxpYmMvbGlicnQKKy0jCistQUNfREVGVU4oW0FDX1BBQ0tBR0VfTkVFRF9MSU9fTElTVElPXSwKKy0gIFsgQUNfQ0hFQ0tfRlVOQ1MobGlvX2xpc3RpbykKKy0gICAgaWYgdGVzdCAkYWNfY3ZfZnVuY19saW9fbGlzdGlvID0geWVzOyB0aGVuCistCWxpYnJ0PSIiCistICAgIGVsc2UKKy0JQUNfQ0hFQ0tfTElCKHJ0LCBsaW9fbGlzdGlvLCwgWworLQkgICAgZWNobworLQkgICAgZWNobyAnRkFUQUwgRVJST1I6IGNvdWxkIG5vdCBmaW5kIGEgbGlicmFyeSB3aXRoIGxpb19saXN0aW8uJworLQkgICAgZXhpdCAxXSxbLWxwdGhyZWFkXSkKKy0JbGlicnQ9Ii1scnQiCistICAgIGZpCistICAgIEFDX1NVQlNUKGxpYnJ0KQorLSAgXSkKKyAKKy0tIAorMS44LjEuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy94ZnNwcm9ncy9maWxlcy9yZW1vdmUtaW5zdGFsbC1hcy11c2VyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMveGZzcHJvZ3MvZmlsZXMvcmVtb3ZlLWluc3RhbGwtYXMtdXNlci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzYxZGIzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMveGZzcHJvZ3MvZmlsZXMvcmVtb3ZlLWluc3RhbGwtYXMtdXNlci5wYXRjaApAQCAtMCwwICsxLDIwNSBAQAorcmVtb3ZlIGluc3RhbGwgYXMgdXNlcgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIGluY2x1ZGUvYnVpbGRtYWNyb3MgfCAgMiArLQorIGluY2x1ZGUvaW5zdGFsbC1zaCAgfCA5NSArKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgODMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9pbmNsdWRlL2J1aWxkbWFjcm9zIGIvaW5jbHVkZS9idWlsZG1hY3JvcworaW5kZXggN2EwMTg4MC4uMDg0MGQ1NSAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvYnVpbGRtYWNyb3MKKysrKyBiL2luY2x1ZGUvYnVpbGRtYWNyb3MKK0BAIC0zMCw3ICszMCw3IEBAIE9CSkVDVFMgPSAkKEFTRklMRVM6LnM9Lm8pIFwKKyAJICAkKExGSUxFUzoubD0ubykgXAorIAkgICQoWUZJTEVTOiUueT0lLnRhYi5vKQorIAorLUlOU1RBTEwJPSAkKFRPUERJUikvaW5zdGFsbC1zaCAtbyAkKFBLR19VU0VSKSAtZyAkKFBLR19HUk9VUCkKKytJTlNUQUxMCT0gJChUT1BESVIpL2luc3RhbGwtc2gKKyAKKyBJTUFHRVNfRElSID0gJChUT1BESVIpL2FsbC1pbWFnZXMKKyBESVNUX0RJUiA9ICQoVE9QRElSKS9kaXN0CitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9pbnN0YWxsLXNoIGIvaW5jbHVkZS9pbnN0YWxsLXNoCitpbmRleCBjOTUyYTcxLi5iOWQ2NmY3IDEwMDc1NQorLS0tIGEvaW5jbHVkZS9pbnN0YWxsLXNoCisrKysgYi9pbmNsdWRlL2luc3RhbGwtc2gKK0BAIC0yNCwxMSArMjQsMTEgQEAKKyAjICAgICAgIHNldCAgICAgICAgICAgc2V0ICAgICAgfCAgICB5ZXMgICAgICAgIHllcworICMKKyBfdXNhZ2UoKSB7CistICAgIGVjaG8gIlVzYWdlOiAkcHJvZyBbLW8gb3duZXJdIFstZyBncm91cF0gWy1tIG1vZGVdIC1kIGRpcmVjdG9yeSIKKy0gICAgZWNobyAib3IgICAgICRwcm9nIFstRF0gWy1vIG93bmVyXSBbLWcgZ3JvdXBdIFstbSBtb2RlXSBmaWxlIGRpcmVjdG9yeS9maWxlIgorLSAgICBlY2hvICJvciAgICAgJHByb2cgWy1vIG93bmVyXSBbLWcgZ3JvdXBdIFstbSBtb2RlXSBmaWxlIFtmaWxlIC4uLl0gZGlyZWN0b3J5IgorKyAgICBlY2hvICJVc2FnZTogJHByb2cgWy1tIG1vZGVdIC1kIGRpcmVjdG9yeSIKKysgICAgZWNobyAib3IgICAgICRwcm9nIFstbSBtb2RlXSBmaWxlIGRpcmVjdG9yeS9maWxlIgorKyAgICBlY2hvICJvciAgICAgJHByb2cgWy1tIG1vZGVdIGZpbGUgW2ZpbGUgLi4uXSBkaXJlY3RvcnkiCisgICAgIGVjaG8gIm9yICAgICAkcHJvZyAtUyBmaWxlIHRhcmdldCAgKGNyZWF0ZXMgXCJ0YXJnZXRcIiBzeW1saW5rKSIKKy0gICAgZWNobyAib3IgICAgICRwcm9nIC1UIGx0X2FyZyBbLW8gb3duZXJdIFstZyBncm91cF0gWy1tIG1vZGVdIGxpYnRvb2wubGFpIGRpcmVjdG9yeSIKKysgICAgZWNobyAib3IgICAgICRwcm9nIC1UIGx0X2FyZyBbLW0gbW9kZV0gbGlidG9vbC5sYWkgZGlyZWN0b3J5IgorICAgICBlY2hvICIiCisgICAgIGVjaG8gIlRoZSBcJERJU1RfTUFOSUZFU1QgYW5kIFwkRElTVF9ST09UIGVudmlyb25tZW50IHZhcmlhYmxlcyBhZmZlY3QgdGhlIgorICAgICBlY2hvICJiZWhhdmlvdXIgb2YgdGhpcyBjb21tYW5kIC0gc2VlIGNvbW1lbnRzIGluIHRoZSBzY3JpcHQuIgorQEAgLTM4LDMyICszOCw2IEBAIF91c2FnZSgpIHsKKyAgICAgZXhpdCAxCisgfQorIAorLV9jaG93biAoKQorLXsKKy0gICAgX3N0PTI1NQorLSAgICBpZiBbICQjIC1lcSAzIF0gOyB0aGVuCistCWNob3duICQxOiQyICQzCistCV9zdD0kPworLQlpZiBbICRfc3QgLW5lIDAgXSA7IHRoZW4KKy0JICAgIGlmIFsgJFJFQUxfVUlEICE9ICcwJyBdIDsgdGhlbgorLQkJaWYgWyAhIC1mICRESVNUX1JPT1QvLmNob3duLnF1aWV0IF0gOyB0aGVuCistCQkgICAgZWNobyAnPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0nCistCQkgICAgZWNobyBPd25lcnNoaXAgb2YgZmlsZXMgdW5kZXIgJHtESVNUX1JPT1Q6LS99CistCQkgICAgZWNobyBjYW5ub3QgYmUgY2hhbmdlZAorLQkJICAgIGVjaG8gJz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09JworLQkJICAgIGlmIFsgLW4gIiRESVNUX1JPT1QiIF0gOyB0aGVuCistCQkJdG91Y2ggJERJU1RfUk9PVC8uY2hvd24ucXVpZXQKKy0JCSAgICBmaQorLQkJZmkKKy0JICAgICAgIF9zdD0wCistCSAgICBmaSAgICAgCistCWZpCistICAgIGZpCistCistICAgIHJldHVybiAkX3N0CistfQorLQorLQorIF9tYW5pZmVzdCAoKQorIHsgCisgICAgIGVjaG8gJCogfCBzZWQgLWUgJ3MvXC9cLy9cLy9nJyA+PiR7RElTVF9NQU5JRkVTVDotL2Rldi9udWxsfQorQEAgLTc3LDkgKzUxLDYgQEAgU2ZsYWc9ZmFsc2UKKyBUZmxhZz1mYWxzZQorIERJUk1PREU9NzU1CisgRklMRU1PREU9NjQ0CistT1dORVI9YGlkIC11YAorLUdST1VQPWBpZCAtZ2AKKy1SRUFMX1VJRD0kT1dORVIKKyAKKyAjIGRlZmF1bHQgaXMgdG8gaW5zdGFsbCBhbmQgZG9uJ3QgYXBwZW5kIG1hbmlmZXN0CisgSU5TVEFMTD10cnVlCitAQCAtOTQsMjQgKzY1LDE2IEBAIE1BTklGRVNUPToKKyAKKyBpZiAkSU5TVEFMTAorIHRoZW4KKy0gICAgQ1A9Y3A7IExOPWxuOyBNS0RJUj1ta2RpcjsgQ0hNT0Q9Y2htb2Q7IENIT1dOPV9jaG93bgorKyAgICBDUD1jcDsgTE49bG47IE1LRElSPW1rZGlyOyBDSE1PRD1jaG1vZDsKKyBlbHNlCistICAgIENQPXRydWU7IExOPXRydWU7IE1LRElSPXRydWU7IENITU9EPXRydWU7IENIT1dOPXRydWUKKysgICAgQ1A9dHJ1ZTsgTE49dHJ1ZTsgTUtESVI9dHJ1ZTsgQ0hNT0Q9dHJ1ZTsKKyBmaQorIAorLVsgLW4gIiRESVNUX1JPT1QiIC1hICRSRUFMX1VJRCAtbmUgMCBdICYmIENIT1dOPXRydWUKKy0KKy13aGlsZSBnZXRvcHRzICJEY206ZDpTOm86ZzpUOiIgYyAkKgorK3doaWxlIGdldG9wdHMgIkRjbTpkOlM6VDoiIGMgJCoKKyBkbworICAgIGNhc2UgJGMgaW4KKyAgICBjKQorIAk7OworLSAgIGcpCistCUdST1VQPSRPUFRBUkcKKy0JOzsKKy0gICBvKQorLQlPV05FUj0kT1BUQVJHCistCTs7CisgICAgbSkKKyAJRElSTU9ERT1gZXhwciAkT1BUQVJHYAorIAlGSUxFTU9ERT0kRElSTU9ERQorQEAgLTE0NiwxOCArMTA5LDcgQEAgdGhlbgorICAgICAjIGZpcnN0IHVzYWdlCisgICAgICMKKyAgICAgJE1LRElSIC1wICRkaXIgCistICAgIHN0YXR1cz0kPworLSAgICBpZiBbICRzdGF0dXMgLWVxIDAgXQorLSAgICB0aGVuCistCSRDSE1PRCAkRElSTU9ERSAkZGlyCistCXN0YXR1cz0kPworLSAgICBmaQorLSAgICBpZiBbICRzdGF0dXMgLWVxIDAgXQorLSAgICB0aGVuCistCSRDSE9XTiAkT1dORVIgJEdST1VQICRkaXIKKy0Jc3RhdHVzPSQ/CistICAgIGZpCistICAgICRNQU5JRkVTVCBkICRESVJNT0RFICRPV05FUiAkR1JPVVAgJHtkaXIjJERJU1RfUk9PVH0KKysgICAgJE1BTklGRVNUIGQgJERJUk1PREUgJHtkaXIjJERJU1RfUk9PVH0KKyBlbGlmICRTZmxhZworIHRoZW4KKyAgICAgIworQEAgLTIwMyw3ICsxNTUsNyBAQCB0aGVuCisgCQkJaW5zdGFsbF9uYW1lPSR0YXJnZXQvJHNvbGliCisgCQkJJENQICRzb2xpYiAkaW5zdGFsbF9uYW1lCisgCQkJc3RhdHVzPSQ/CistCQkJJE1BTklGRVNUIGYgJEZJTEVNT0RFICRPV05FUiAkR1JPVVAgJEhFUkUvJHNvbGliICR7aW5zdGFsbF9uYW1lIyRESVNUX1JPT1R9CisrCQkJJE1BTklGRVNUIGYgJEZJTEVNT0RFICRIRVJFLyRzb2xpYiAke2luc3RhbGxfbmFtZSMkRElTVF9ST09UfQorIAkJCWJyZWFrCisgCQlmaQorIAlkb25lCitAQCAtMjU0LDcgKzIwNiw3IEBAIHRoZW4KKyAJaW5zdGFsbF9uYW1lPSR0YXJnZXQvJG9sZF9saWJyYXJ5CisgCSRDUCAkb2xkX2xpYnJhcnkgJGluc3RhbGxfbmFtZQorIAlzdGF0dXM9JD8KKy0JJE1BTklGRVNUIGYgJEZJTEVNT0RFICRPV05FUiAkR1JPVVAgJEhFUkUvJG9sZF9saWJyYXJ5ICR7aW5zdGFsbF9uYW1lIyRESVNUX1JPT1R9CisrCSRNQU5JRkVTVCBmICRGSUxFTU9ERSAkSEVSRS8kb2xkX2xpYnJhcnkgJHtpbnN0YWxsX25hbWUjJERJU1RfUk9PVH0KKyAJOzsKKyAgICAgKikKKyAJZWNobyAiJHByb2c6IC1UICRsdF9pbnN0YWxsIGludmFsaWQiCitAQCAtMjY3LDcgKzIxOSw2IEBAIHRoZW4KKyAJaWYgWyAkc3RhdHVzIC1lcSAwIF0KKyAJdGhlbgorIAkJJENITU9EICRGSUxFTU9ERSAkaW5zdGFsbF9uYW1lCistCQkkQ0hPV04gJE9XTkVSICRHUk9VUCAkaW5zdGFsbF9uYW1lCisgCWZpCisgCTs7CisgICAgIGVzYWMKK0BAIC0yOTIsMjMgKzI0MywxMCBAQCBlbHNlCisgCXRoZW4gCisgCSAgICBpZiBbIC1mICRkaXIvJGYgXQorIAkgICAgdGhlbgorLQkJJENITU9EICRGSUxFTU9ERSAkZGlyLyRmCistCQlzdGF0dXM9JD8KKy0JCWlmIFsgJHN0YXR1cyAtZXEgMCBdCistCQl0aGVuCistCQkgICAgJENIT1dOICRPV05FUiAkR1JPVVAgJGRpci8kZgorLQkJICAgIHN0YXR1cz0kPworLQkJZmkKKy0JCSRNQU5JRkVTVCBmICRGSUxFTU9ERSAkT1dORVIgJEdST1VQICRIRVJFLyRmICR7ZGlyIyRESVNUX1JPT1R9LyRmCisrCQkkTUFOSUZFU1QgZiAkRklMRU1PREUgJEhFUkUvJGYgJHtkaXIjJERJU1RfUk9PVH0vJGYKKyAJICAgIGVsc2UKKyAJCSRDSE1PRCAkRklMRU1PREUgJGRpcgorLQkJc3RhdHVzPSQ/CistCQlpZiBbICRzdGF0dXMgLWVxIDAgXQorLQkJdGhlbgorLQkJICAgICRDSE9XTiAkT1dORVIgJEdST1VQICRkaXIKKy0JCSAgICBzdGF0dXM9JD8KKy0JCWZpCistCQkkTUFOSUZFU1QgZiAkRklMRU1PREUgJE9XTkVSICRHUk9VUCAkSEVSRS8kZGlyICR7ZGlyIyRESVNUX1JPT1R9CisrCQkkTUFOSUZFU1QgZiAkRklMRU1PREUgJEhFUkUvJGRpciAke2RpciMkRElTVF9ST09UfQorIAkgICAgZmkKKyAJZmkKKyAgICAgZWxzZQorQEAgLTMzNCwxNCArMjcyLDcgQEAgZWxzZQorIAkgICAgc3RhdHVzPSQ/CisgCSAgICBpZiBbICRzdGF0dXMgLWVxIDAgXQorIAkgICAgdGhlbgorLQkJJENITU9EICRGSUxFTU9ERSAkZGlyLyRmCistCQlzdGF0dXM9JD8KKy0JCWlmIFsgJHN0YXR1cyAtZXEgMCBdCistCQl0aGVuCistCQkgICAgJENIT1dOICRPV05FUiAkR1JPVVAgJGRpci8kZgorLQkJICAgIHN0YXR1cz0kPworLQkJZmkKKy0JCSRNQU5JRkVTVCBmICRGSUxFTU9ERSAkT1dORVIgJEdST1VQICRIRVJFLyRmICR7ZGlyIyRESVNUX1JPT1R9LyRmCisrCQkkTUFOSUZFU1QgZiAkRklMRU1PREUgJEhFUkUvJGYgJHtkaXIjJERJU1RfUk9PVH0vJGYKKyAJICAgIGZpCisgCSAgICBbICRzdGF0dXMgLW5lIDAgXSAmJiBicmVhaworIAlkb25lCistLSAKKzEuOC4xLjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMveGZzcHJvZ3MvZmlsZXMveGZzcHJvZ3MtZ2VuZXJhdGUtY3JjdGFibGUtd2hpY2gtaXMtbW92ZWQtaW50by1ydW50aS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL3hmc3Byb2dzL2ZpbGVzL3hmc3Byb2dzLWdlbmVyYXRlLWNyY3RhYmxlLXdoaWNoLWlzLW1vdmVkLWludG8tcnVudGkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjIwNDE5NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL3hmc3Byb2dzL2ZpbGVzL3hmc3Byb2dzLWdlbmVyYXRlLWNyY3RhYmxlLXdoaWNoLWlzLW1vdmVkLWludG8tcnVudGkucGF0Y2gKQEAgLTAsMCArMSwxNzAgQEAKK0Zyb20gZTU4Y2IyMTBhN2MxNTM1MjA0MGE0MTFkMTFhODM4M2VhYzBkZWZkYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEppYW5jaHVhbiBXYW5nIDxqaWFuY2h1YW4ud2FuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAzMCBTZXAgMjAxNCAxMjoxNjoxNyArMDgwMAorU3ViamVjdDogW1BBVENIXSB4ZnNwcm9nczogZ2VuZXJhdGUgY3JjdGFibGUgd2hpY2ggaXMgbW92ZWQgaW50byBydW50aW1lIGZyb20KKyBjb21waWxlCisKK0FmdGVyIHVwZ3JhZGVkLCBUaGVyZSBpcyBhIGNvbXBpbGUgZXJyb3IgZXhjZXB0IHg4NiwKK0JlY2F1c2UgY3JjMzIuYyBuZWVkIHR3byBhcnJhaWVzIGNyYzMydGFibGVfbGUgYW5kIGNyYzMyY3RhYmxlX2xlIGZyb20gY3JjMzJ0YWJsZS5oLAord2hpY2ggYXJlIGdlbmVyYXRlZCBieSBnZW5fY3JjMzJ0YWJsZS5jIHJlbGF0aXZlIHRvIGRpZmZlcmVudCBwbGF0Zm9ybXMuCitGb3IgdGhpcywgbW92ZSB0aGUgZnVuY3Rpb24gaW1wbGVtZW50YXRpb24gZnJvbSBnZW5fY3JjMzJ0YWJsZS5jIHRvIGNyYy5jCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBKaWFuY2h1YW4gV2FuZyA8amlhbmNodWFuLndhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIGxpYnhmcy9NYWtlZmlsZSB8IDIzICsrLS0tLS0tLS0tLS0tLS0tLQorIGxpYnhmcy9jcmMzMi5jICB8IDc1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQorIDIgZmlsZXMgY2hhbmdlZCwgNzUgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJ4ZnMvTWFrZWZpbGUgYi9saWJ4ZnMvTWFrZWZpbGUKK2luZGV4IGFlMTVhNWQuLjc2NzAxNTkgMTAwNjQ0CistLS0gYS9saWJ4ZnMvTWFrZWZpbGUKKysrKyBiL2xpYnhmcy9NYWtlZmlsZQorQEAgLTEwLDcgKzEwLDcgQEAgTFRfQ1VSUkVOVCA9IDAKKyBMVF9SRVZJU0lPTiA9IDAKKyBMVF9BR0UgPSAwCisgCistSEZJTEVTID0geGZzLmggaW5pdC5oIHhmc19kaXIyX3ByaXYuaCBjcmMzMmRlZnMuaCBjcmMzMnRhYmxlLmgKKytIRklMRVMgPSB4ZnMuaCBpbml0LmggeGZzX2RpcjJfcHJpdi5oIGNyYzMyZGVmcy5oCisgQ0ZJTEVTID0gY2FjaGUuYyBcCisgCWNyYzMyLmMgXAorIAlpbml0LmMga21lbS5jIGxvZ2l0ZW0uYyByYWRpeC10cmVlLmMgcmR3ci5jIHRyYW5zLmMgdXRpbC5jIFwKK0BAIC00Myw3ICs0Myw2IEBAIENGSUxFUyA9IGNhY2hlLmMgXAorIENGSUxFUyArPSAkKFBLR19QTEFURk9STSkuYworIFBDRklMRVMgPSBkYXJ3aW4uYyBmcmVlYnNkLmMgaXJpeC5jIGxpbnV4LmMKKyBMU1JDRklMRVMgPSAkKHNoZWxsIGVjaG8gJChQQ0ZJTEVTKSB8IHNlZCAtZSAicy8kKFBLR19QTEFURk9STSkuYy8vZyIpCistTFNSQ0ZJTEVTICs9IGdlbl9jcmMzMnRhYmxlLmMKKyAKKyAjCisgIyBUcmFjaW5nIGZsYWdzOgorQEAgLTYxLDI1ICs2MCw3IEBAIExUTElCUyA9ICQoTElCUFRIUkVBRCkgJChMSUJSVCkKKyAjIGRvbid0IHRyeSBsaW5raW5nIHhmc19yZXBhaXIgd2l0aCBhIGRlYnVnIGxpYnhmcy4KKyBERUJVRyA9IC1ETkRFQlVHCisgCistTERJUlQgPSBnZW5fY3JjMzJ0YWJsZSBjcmMzMnRhYmxlLmggY3JjMzJzZWxmdGVzdAorLQorLWRlZmF1bHQ6IGNyYzMyc2VsZnRlc3QgbHRkZXBlbmQgJChMVExJQlJBUlkpCistCistY3JjMzJ0YWJsZS5oOiBnZW5fY3JjMzJ0YWJsZS5jCistCUBlY2hvICIgICAgW0NDXSAgICAgZ2VuX2NyYzMydGFibGUiCistCSQoUSkgJChDQykgJChDRkxBR1MpIC1vIGdlbl9jcmMzMnRhYmxlICQ8CistCUBlY2hvICIgICAgW0dFTkVSQVRFXSAkQCIKKy0JJChRKSAuL2dlbl9jcmMzMnRhYmxlID4gY3JjMzJ0YWJsZS5oCistCistIyBUaGUgc2VsZnRlc3QgYmluYXJ5IHdpbGwgcmV0dXJuIGFuIGVycm9yIGlmIGl0IGZhaWxzLiBUaGlzIGlzIG1hZGUgYQorLSMgZGVwZW5kZW5jeSBvZiB0aGUgYnVpbGQgcHJvY2VzcyBzbyB0aGF0IHdlIHJlZnVzZSB0byBidWlsZCB0aGUgdG9vbHMgb24gYnJva2VuCistIyBzeXN0ZW1zL2FyY2hpdGVjdHVyZXMuIEhlbmNlIHdlIG1ha2Ugc3VyZSB0aGF0IHhmc3Byb2dzIHdpbGwgbmV2ZXIgdXNlIGEKKy0jIGJ1c3RlZCBDUkMgY2FsY3VsYXRpb24gYXQgYnVpbGQgdGltZSBhbmQgaGVuY2UgYXZvaWQgcHV0dGluZyBiYWQgQ1JDcyBkb3duIG9uCistIyBkaXNrLgorLWNyYzMyc2VsZnRlc3Q6IGdlbl9jcmMzMnRhYmxlLmMgY3JjMzJ0YWJsZS5oIGNyYzMyLmMKKy0JQGVjaG8gIiAgICBbVEVTVF0gICAgQ1JDMzIiCistCSQoUSkgJChDQykgJChDRkxBR1MpIC1EIENSQzMyX1NFTEZURVNUPTEgY3JjMzIuYyAtbyAkQAorLQkkKFEpIC4vJEAKKytkZWZhdWx0OiBsdGRlcGVuZCAkKExUTElCUkFSWSkKKyAKKyBpbmNsdWRlICQoQlVJTERSVUxFUykKKyAKK2RpZmYgLS1naXQgYS9saWJ4ZnMvY3JjMzIuYyBiL2xpYnhmcy9jcmMzMi5jCitpbmRleCAwZjg0N2QyLi5iZTVmYmMzIDEwMDY0NAorLS0tIGEvbGlieGZzL2NyYzMyLmMKKysrKyBiL2xpYnhmcy9jcmMzMi5jCitAQCAtNTUsOCArNTUsNiBAQCB0eXBlZGVmIF9fdTMyCXU2NDsKKyAjIGRlZmluZSB0b2JlKHgpICh4KQorICNlbmRpZgorIAorLSNpbmNsdWRlICJjcmMzMnRhYmxlLmgiCistCisgI2lmIENSQ19MRV9CSVRTID4gOCB8fCBDUkNfQkVfQklUUyA+IDgKKyAKKyAvKiBpbXBsZW1lbnRzIHNsaWNpbmctYnktNCBvciBzbGljaW5nLWJ5LTggYWxnb3JpdGhtICovCitAQCAtMTgzLDEzICsxODEsODYgQEAgdTMyIF9fcHVyZSBjcmMzMmNfbGUodTMyIGNyYywgdW5zaWduZWQgY2hhciBjb25zdCAqcCwgc2l6ZV90IGxlbikKKyAJcmV0dXJuIGNyYzMyX2xlX2dlbmVyaWMoY3JjLCBwLCBsZW4sIE5VTEwsIENSQzMyQ19QT0xZX0xFKTsKKyB9CisgI2Vsc2UKKysKKysjaW5jbHVkZSA8c3RkaW8uaD4KKysjaW5jbHVkZSAiY3JjMzJkZWZzLmgiCisrI2luY2x1ZGUgPGludHR5cGVzLmg+CisrCisrI2RlZmluZSBFTlRSSUVTX1BFUl9MSU5FIDQKKysKKysjaWYgQ1JDX0xFX0JJVFMgPiA4CisrIyBkZWZpbmUgTEVfVEFCTEVfUk9XUyAoQ1JDX0xFX0JJVFMvOCkKKysjIGRlZmluZSBMRV9UQUJMRV9TSVpFIDI1NgorKyNlbHNlCisrIyBkZWZpbmUgTEVfVEFCTEVfUk9XUyAxCisrIyBkZWZpbmUgTEVfVEFCTEVfU0laRSAoMSA8PCBDUkNfTEVfQklUUykKKysjZW5kaWYKKysKKysjaWYgQ1JDX0JFX0JJVFMgPiA4CisrIyBkZWZpbmUgQkVfVEFCTEVfUk9XUyAoQ1JDX0JFX0JJVFMvOCkKKysjIGRlZmluZSBCRV9UQUJMRV9TSVpFIDI1NgorKyNlbHNlCisrIyBkZWZpbmUgQkVfVEFCTEVfUk9XUyAxCisrIyBkZWZpbmUgQkVfVEFCTEVfU0laRSAoMSA8PCBDUkNfQkVfQklUUykKKysjZW5kaWYKKysKKytzdGF0aWMgdWludDMyX3QgY3JjMzJ0YWJsZV9sZVtMRV9UQUJMRV9ST1dTXVsyNTZdOworK3N0YXRpYyB1aW50MzJfdCBjcmMzMmN0YWJsZV9sZVtMRV9UQUJMRV9ST1dTXVsyNTZdOworKworK3N0YXRpYyB1aW50MzJfdCBjcmMzMnRhYmxlX2xlX2luaXQgPSAwOworK3N0YXRpYyB1aW50MzJfdCBjcmMzMmN0YWJsZV9sZV9pbml0ID0gMDsKKysKKysvKgorKyAqIGJpZyBlbmRpYW4gb3JkZXJlZCBDUkMgbm90IHVzZWQgYnkgWEZTLgorK3N0YXRpYyB1aW50MzJfdCBjcmMzMnRhYmxlX2JlW0JFX1RBQkxFX1JPV1NdWzI1Nl07CisrICovCisrCisrLyoqCisrICogY3JjMzJpbml0X2xlKCkgLSBhbGxvY2F0ZSBhbmQgaW5pdGlhbGl6ZSBMRSB0YWJsZSBkYXRhCisrICoKKysgKiBjcmMgaXMgdGhlIGNyYyBvZiB0aGUgYnl0ZSBpOyBvdGhlciBlbnRyaWVzIGFyZSBmaWxsZWQgaW4gYmFzZWQgb24gdGhlCisrICogZmFjdCB0aGF0IGNyY3RhYmxlW2leal0gPSBjcmN0YWJsZVtpXSBeIGNyY3RhYmxlW2pdLgorKyAqCisrICovCisrc3RhdGljIHZvaWQgY3JjMzJpbml0X2xlX2dlbmVyaWMoY29uc3QgdWludDMyX3QgcG9seW5vbWlhbCwKKysJCQkJIHVpbnQzMl90ICgqdGFiKVsyNTZdKQorK3sKKysJdW5zaWduZWQgaSwgajsKKysJdWludDMyX3QgY3JjID0gMTsKKysKKysJdGFiWzBdWzBdID0gMDsKKysKKysJZm9yIChpID0gTEVfVEFCTEVfU0laRSA+PiAxOyBpOyBpID4+PSAxKSB7CisrCQljcmMgPSAoY3JjID4+IDEpIF4gKChjcmMgJiAxKSA/IHBvbHlub21pYWwgOiAwKTsKKysJCWZvciAoaiA9IDA7IGogPCBMRV9UQUJMRV9TSVpFOyBqICs9IDIgKiBpKQorKwkJCXRhYlswXVtpICsgal0gPSBjcmMgXiB0YWJbMF1bal07CisrCX0KKysJZm9yIChpID0gMDsgaSA8IExFX1RBQkxFX1NJWkU7IGkrKykgeworKwkJY3JjID0gdGFiWzBdW2ldOworKwkJZm9yIChqID0gMTsgaiA8IExFX1RBQkxFX1JPV1M7IGorKykgeworKwkJCWNyYyA9IHRhYlswXVtjcmMgJiAweGZmXSBeIChjcmMgPj4gOCk7CisrCQkJdGFiW2pdW2ldID0gY3JjOworKwkJfQorKwl9CisrfQorKworIHUzMiBfX3B1cmUgY3JjMzJfbGUodTMyIGNyYywgdW5zaWduZWQgY2hhciBjb25zdCAqcCwgc2l6ZV90IGxlbikKKyB7CisrCWlmIChjcmMzMnRhYmxlX2xlX2luaXQgPT0gMCkgeworKwkJY3JjMzJpbml0X2xlX2dlbmVyaWMoQ1JDUE9MWV9MRSwgY3JjMzJ0YWJsZV9sZSk7CisrCQljcmMzMnRhYmxlX2xlX2luaXQgPT0gMTsKKysJfQkKKysKKyAJcmV0dXJuIGNyYzMyX2xlX2dlbmVyaWMoY3JjLCBwLCBsZW4sCisgCQkJKGNvbnN0IHUzMiAoKilbMjU2XSljcmMzMnRhYmxlX2xlLCBDUkNQT0xZX0xFKTsKKyB9CisgdTMyIF9fcHVyZSBjcmMzMmNfbGUodTMyIGNyYywgdW5zaWduZWQgY2hhciBjb25zdCAqcCwgc2l6ZV90IGxlbikKKyB7CisrCWlmIChjcmMzMmN0YWJsZV9sZV9pbml0ID09IDApIHsKKysJCWNyYzMyaW5pdF9sZV9nZW5lcmljKENSQzMyQ19QT0xZX0xFLCBjcmMzMmN0YWJsZV9sZSk7CisrCQljcmMzMmN0YWJsZV9sZV9pbml0ID09IDE7CisrCX0KKysKKyAJcmV0dXJuIGNyYzMyX2xlX2dlbmVyaWMoY3JjLCBwLCBsZW4sCisgCQkJKGNvbnN0IHUzMiAoKilbMjU2XSljcmMzMmN0YWJsZV9sZSwgQ1JDMzJDX1BPTFlfTEUpOworIH0KKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMveGZzcHJvZ3MveGZzcHJvZ3NfMy4yLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy94ZnNwcm9ncy94ZnNwcm9nc18zLjIuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMzgyMzljCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMveGZzcHJvZ3MveGZzcHJvZ3NfMy4yLjMuYmIKQEAgLTAsMCArMSw1MiBAQAorU1VNTUFSWSA9ICJYRlMgRmlsZXN5c3RlbSBVdGlsaXRpZXMiCitIT01FUEFHRSA9ICJodHRwOi8vb3NzLnNnaS5jb20vcHJvamVjdHMveGZzIgorU0VDVElPTiA9ICJiYXNlIgorTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgorTElDRU5TRV9saWJoYW5kbGUgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kb2MvQ09QWUlORzttZDU9ZGJkYjVmNDMyOWI3ZTcxNDVkZTY1MGU5ZWNkNGFjMmEiCitERVBFTkRTID0gInV0aWwtbGludXgiCisKK1NSQ19VUkkgPSAiZnRwOi8vb3NzLnNnaS5jb20vcHJvamVjdHMveGZzL2NtZF90YXJzLyR7QlB9LnRhci5neiBcCisgICAgZmlsZTovL3hmc3Byb2dzLWdlbmVyYXRlLWNyY3RhYmxlLXdoaWNoLWlzLW1vdmVkLWludG8tcnVudGkucGF0Y2ggXAorICAgIGZpbGU6Ly9yZW1vdmUtaW5zdGFsbC1hcy11c2VyLnBhdGNoIFwKKyAgICBmaWxlOi8vZHJvcC1jb25maWd1cmUtY2hlY2stZm9yLWFpby5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5ZjM4M2UzNjY4MjcwOWU2MmIxMmMxMjVlNWQ4Yjg5NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3YTUxMjRhODgwOTk3OTM5NTUxYjUxOTYxMGEyZTU0YmQ0Y2QwYjBhZGZkNTYzY2UzZjRkZTMwODI3MTA5YWM5IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworUEFDS0FHRVMgPSsgIiR7UE59LWZzY2sgJHtQTn0tbWtmcyBsaWJoYW5kbGUiCisKK1JERVBFTkRTXyR7UE59ID0gIiR7UE59LWZzY2sgJHtQTn0tbWtmcyIKKworRklMRVNfJHtQTn0tZnNjayA9ICIke2Jhc2Vfc2JpbmRpcn0vZnNjay54ZnMiCitGSUxFU18ke1BOfS1ta2ZzID0gIiR7YmFzZV9zYmluZGlyfS9ta2ZzLnhmcyIKK0ZJTEVTX2xpYmhhbmRsZSA9ICIke2Jhc2VfbGliZGlyfS9saWJoYW5kbGUke1NPTElCU30iCisKK0VYVFJBX09FQ09ORiA9ICItLWVuYWJsZS1nZXR0ZXh0PW5vIgorZG9fY29uZmlndXJlICgpIHsKKyAgICAjIFByZXZlbnQgTWFrZWZpbGUgZnJvbSBjYWxsaW5nIGNvbmZpZ3VyZSB3aXRob3V0IGFyZ3VtZW50cywKKyAgICAjIHdoZW4gZG9fY29uZmlndXJlIGdldHMgY2FsbGVkIGZvciBhIHNlY29uZCB0aW1lLgorICAgIHJtIC1mIGluY2x1ZGUvYnVpbGRkZWZzIGluY2x1ZGUvcGxhdGZvcm1fZGVmcy5oCisgICAgIyBSZWNyZWF0ZSBjb25maWd1cmUgc2NyaXB0LgorICAgIHJtIC1mIGNvbmZpZ3VyZQorICAgIG9lX3J1bm1ha2UgY29uZmlndXJlCisgICAgIyBDb25maWd1cmUuCisgICAgZXhwb3J0IERFQlVHPSItRE5ERUJVRyIKKyAgICBnbnUtY29uZmlnaXplIC0tZm9yY2UKKyAgICBvZV9ydW5jb25mCit9CisKK0xJQlRPT0wgPSAiJHtIT1NUX1NZU30tbGlidG9vbCIKK0VYVFJBX09FTUFLRSA9ICInTElCVE9PTD0ke0xJQlRPT0x9JyIKK1RBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgorUEFSQUxMRUxfTUFLRSA9ICIiCisKK2RvX2luc3RhbGwgKCkgeworICAgIGV4cG9ydCBESVNUX1JPT1Q9JHtEfQorICAgIG9lX3J1bm1ha2UgaW5zdGFsbAorICAgICMgbmVlZGVkIGZvciB4ZnNkdW1wCisgICAgb2VfcnVubWFrZSBpbnN0YWxsLWRldgorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMveG9ycmlzby94b3JyaXNvXzEuNC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMveG9ycmlzby94b3JyaXNvXzEuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyNjcwOWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy94b3JyaXNvL3hvcnJpc29fMS40LjAuYmIKQEAgLTAsMCArMSwyOSBAQAorREVTQ1JJUFRJT04gPSAieG9ycmlzbyBjb3BpZXMgZmlsZSBvYmplY3RzIGZyb20gUE9TSVggY29tcGxpYW50IGZpbGVzeXN0ZW1zIFwKK2ludG8gUm9jayBSaWRnZSBlbmhhbmNlZCBJU08gOTY2MCBmaWxlc3lzdGVtcyBhbmQgYWxsb3dzIHNlc3Npb24td2lzZSBcCittYW5pcHVsYXRpb24gb2Ygc3VjaCBmaWxlc3lzdGVtcyIKKworTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gImVjNzlmZDI3MzZiOGRhNzZlN2E4NzBlMjdjYWRmNmZhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBiZDFlMDg1MDE1YjI4YzI0ZjU3Njk3ZDZkZWYyZmU4NDUxNzk2N2RjNDE3NTU0YzBjM2NjZjE2ODVlZDBlNTYiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJhY2wgYXR0ciB6bGliIGJ6aXAyIHJlYWRsaW5lIgorUEFDS0FHRUNPTkZJR1thY2xdID0gIi0tZW5hYmxlLWxpYmFjbCwtLWRpc2FibGUtbGliYWNsLGFjbCwiCitQQUNLQUdFQ09ORklHW2F0dHJdID0gIi0tZW5hYmxlLXhhdHRyLC0tZGlzYWJsZS14YXR0cixhdHRyLCIKK1BBQ0tBR0VDT05GSUdbemxpYl0gPSAiLS1lbmFibGUtemxpYiwtLWRpc2FibGUtemxpYix6bGliLCIKK1BBQ0tBR0VDT05GSUdbYnppcDJdID0gIi0tZW5hYmxlLWxpYmJ6MiwtLWRpc2FibGUtbGliYnoyLGJ6aXAyLCIKK1BBQ0tBR0VDT05GSUdbcmVhZGxpbmVdID0gIi0tZW5hYmxlLWxpYnJlYWRsaW5lLC0tZGlzYWJsZS1saWJyZWFkbGluZSxyZWFkbGluZSwiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKyAgICB0b3VjaCBORVdTCit9CisKK1JERVBFTkRTXyR7UE59ID0gInRrIgorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvQ09QWUlORy5NSVQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvQ09QWUlORy5NSVQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmI5NTBkYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9DT1BZSU5HLk1JVApAQCAtMCwwICsxLDE3IEBACitQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IAorb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgCitpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIAordG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCAKK2NvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyAKK2Z1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisKK1RoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIAorYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisKK1RIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SIAorSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIAorRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIAorQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiAKK0xJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIAorT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiAKK1RIRSBTT0ZUV0FSRS4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9SRUFETUUgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhODg5ZTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvUkVBRE1FCkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgbGF5ZXIgZGVwZW5kcyBvbjoKKworVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9vZS1jb3JlLmdpdAorYnJhbmNoOiBrcm9nb3RoCityZXZpc2lvbjogSEVBRAorCitVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL21ldGEtb2UuZ2l0CiticmFuY2g6IGtyb2dvdGgKK3JldmlzaW9uOiBIRUFECisKK1NlbmQgcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyB3aXRoICdbbWV0YS1nbm9tZV1ba3JvZ290aF0nIGluIHRoZSBzdWJqZWN0JworCitXaGVuIHNlbmRpbmcgc2luZ2xlIHBhdGNoZXMsIHBsZWFzZSB1c2luZyBzb21ldGhpbmcgbGlrZToKKydnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1nbm9tZV1ba3JvZ290aF1bUEFUQ0gnCisKK2tyb2dvdGggQnJhbmNoIE1haW50YWluZXI6CitBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL2NvbmYvbGF5ZXIuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9jb25mL2xheWVyLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNThlMTJhOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9jb25mL2xheWVyLmNvbmYKQEAgLTAsMCArMSwxNSBAQAorIyBXZSBoYXZlIGEgY29uZiBhbmQgY2xhc3NlcyBkaXJlY3RvcnksIGFwcGVuZCB0byBCQlBBVEgKK0JCUEFUSCAuPSAiOiR7TEFZRVJESVJ9IgorCisjIFdlIGhhdmUgYSByZWNpcGVzIGRpcmVjdG9yeSwgYWRkIHRvIEJCRklMRVMKK0JCRklMRVMgKz0gIiR7TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmIgJHtMQVlFUkRJUn0vcmVjaXBlcy0qLyovKi5iYmFwcGVuZCIKKworQkJGSUxFX0NPTExFQ1RJT05TICs9ICJnbm9tZS1sYXllciIKK0JCRklMRV9QQVRURVJOX2dub21lLWxheWVyIDo9ICJeJHtMQVlFUkRJUn0vIgorQkJGSUxFX1BSSU9SSVRZX2dub21lLWxheWVyID0gIjciCisKKyMgVGhpcyBzaG91bGQgb25seSBiZSBpbmNyZW1lbnRlZCBvbiBzaWduaWZpY2FudCBjaGFuZ2VzIHRoYXQgd2lsbAorIyBjYXVzZSBjb21wYXRpYmlsaXR5IGlzc3VlcyB3aXRoIG90aGVyIGxheWVycworTEFZRVJWRVJTSU9OX2dub21lLWxheWVyID0gIjEiCisKK0xBWUVSREVQRU5EU19nbm9tZS1sYXllciA9ICJjb3JlIG9wZW5lbWJlZGRlZC1sYXllciIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWFwcHMvY2hlZXNlL2NoZWVzZV8yLjMwLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1hcHBzL2NoZWVzZS9jaGVlc2VfMi4zMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlMGUwYWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1hcHBzL2NoZWVzZS9jaGVlc2VfMi4zMC4xLmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiVGFrZSBwaG90b3MgYW5kIHZpZGVvcyB3aXRoIHlvdXIgd2ViY2FtLCB3aXRoIGZ1biBncmFwaGljYWwgZWZmZWN0cyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hMTdjYjBhODczZDI1MjQ0MGFjZmRmOWIzZDBlN2ZiZiIKKworREVQRU5EUyA9ICJndGsrIGdzdHJlYW1lciBnc3QtcGx1Z2lucy1iYXNlIGxpYmNhbmJlcnJhIHVkZXYgbGlicnN2ZyBnbm9tZS1kZXNrdG9wIGV2b2x1dGlvbi1kYXRhLXNlcnZlciBpbnRsdG9vbC1uYXRpdmUiCisKK1BSID0gInIyIgorCitpbmhlcml0IGdub21lCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjE1OTlmZGVkOGExNzk3ZWE1MWZiMDEwYWY0ZTZjNDViIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiNDhmMDM0NzBjNmY1MjdjYWEwZTNiMjY5ZDNhZmNmZjg2YWUwOTM5YTc0ZjY2Y2UwMzBkNGVlZDNiYzNjYmQ5YSIKK0dOT01FX0NPTVBSRVNTX1RZUEU9ImJ6MiIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZGJ1cy0xIgorUlJFQ09NTUVORFNfJHtQTn0gPSAiZ3N0LXBsdWdpbnMtZ29vZC1tZXRhIGdzdC1wbHVnaW5zLWJhc2UtbWV0YSIKKworRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtc2Nyb2xsa2VlcGVyIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgLWUgInM6IGhlbHAgOiA6ZyIgJHtTfS9NYWtlZmlsZS5hbQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtYXBwcy9lcGRmdmlldy9lcGRmdmlldy9icm93c2VyX2NvbW1hbmQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1hcHBzL2VwZGZ2aWV3L2VwZGZ2aWV3L2Jyb3dzZXJfY29tbWFuZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NWU0NWUwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtYXBwcy9lcGRmdmlldy9lcGRmdmlldy9icm93c2VyX2NvbW1hbmQucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorSW1wb3J0ZWQgZnJvbSBEZWJpYW4gMC4xLjgtMworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworZGlmZiAtLWdpdCBhL3NyYy9Db25maWcuY3h4IGIvc3JjL0NvbmZpZy5jeHgKK2luZGV4IDI4ZjM3YWIuLmJjNTg4MTkgMTAwNjQ0CistLS0gYS9zcmMvQ29uZmlnLmN4eAorKysrIGIvc3JjL0NvbmZpZy5jeHgKK0BAIC0yMiw3ICsyMiw3IEBACisgdXNpbmcgbmFtZXNwYWNlIGVQREZWaWV3OworIAorIC8vIENvbnN0YW50cworLXN0YXRpYyBjb25zdCBnY2hhciAqREVGQVVMVF9FWFRFUk5BTF9CUk9XU0VSX0NPTU1BTkRfTElORSA9ICJmaXJlZm94ICVzIjsKKytzdGF0aWMgY29uc3QgZ2NoYXIgKkRFRkFVTFRfRVhURVJOQUxfQlJPV1NFUl9DT01NQU5EX0xJTkUgPSAieC13d3ctYnJvd3NlciAlcyI7Cisgc3RhdGljIGNvbnN0IGdjaGFyICpERUZBVUxUX09QRU5fRklMRV9GT0xERVIgPSBOVUxMOworIHN0YXRpYyBjb25zdCBnY2hhciAqREVGQVVMVF9TQVZFX0ZJTEVfRk9MREVSID0gTlVMTDsKKyBzdGF0aWMgY29uc3QgZ2Jvb2xlYW4gREVGQVVMVF9TSE9XX1NUQVRVU0JBUiA9IFRSVUU7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1hcHBzL2VwZGZ2aWV3L2VwZGZ2aWV3L2ZpeC1mb3JtYXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1hcHBzL2VwZGZ2aWV3L2VwZGZ2aWV3L2ZpeC1mb3JtYXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGFkNWI5NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWFwcHMvZXBkZnZpZXcvZXBkZnZpZXcvZml4LWZvcm1hdC5wYXRjaApAQCAtMCwwICsxLDE5IEBACitJbXBvcnRlZCBmcm9tIERlYmlhbiAwLjEuOC0zCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitkaWZmIC0tZ2l0IGEvc3JjL2d0ay9NYWluVmlldy5jeHggYi9zcmMvZ3RrL01haW5WaWV3LmN4eAoraW5kZXggYjk4M2JmZi4uZjg3ZGUyOCAxMDA2NDQKKy0tLSBhL3NyYy9ndGsvTWFpblZpZXcuY3h4CisrKysgYi9zcmMvZ3RrL01haW5WaWV3LmN4eAorQEAgLTYzNCw4ICs2MzQsOSBAQCBNYWluVmlldzo6c2hvd0Vycm9yTWVzc2FnZSAoY29uc3QgZ2NoYXIgKnRpdGxlLCBjb25zdCBnY2hhciAqYm9keSkKKyAgICAgICAgICAgICBHVEtfRElBTE9HX0RFU1RST1lfV0lUSF9QQVJFTlQsCisgICAgICAgICAgICAgR1RLX01FU1NBR0VfRVJST1IsCisgICAgICAgICAgICAgR1RLX0JVVFRPTlNfT0ssCisrICAgICAgICAgICAgIiVzIiwKKyAgICAgICAgICAgICB0aXRsZSk7CistICAgIGd0a19tZXNzYWdlX2RpYWxvZ19mb3JtYXRfc2Vjb25kYXJ5X3RleHQgKEdUS19NRVNTQUdFX0RJQUxPRyhlcnJvckRpYWxvZyksCisrICAgIGd0a19tZXNzYWdlX2RpYWxvZ19mb3JtYXRfc2Vjb25kYXJ5X3RleHQgKEdUS19NRVNTQUdFX0RJQUxPRyhlcnJvckRpYWxvZyksICIlcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkpOworICAgICBndGtfZGlhbG9nX3J1biAoR1RLX0RJQUxPRyAoZXJyb3JEaWFsb2cpKTsKKyAgICAgZ3RrX3dpZGdldF9kZXN0cm95IChlcnJvckRpYWxvZyk7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1hcHBzL2VwZGZ2aWV3L2VwZGZ2aWV3L2dsaWItc2luZ2xlLWluY2x1ZGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1hcHBzL2VwZGZ2aWV3L2VwZGZ2aWV3L2dsaWItc2luZ2xlLWluY2x1ZGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODRhNDkxMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWFwcHMvZXBkZnZpZXcvZXBkZnZpZXcvZ2xpYi1zaW5nbGUtaW5jbHVkZS5wYXRjaApAQCAtMCwwICsxLDE3IEBACitJbXBvcnRlZCBmcm9tIERlYmlhbiAwLjEuOC0zCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitkaWZmIC0tZ2l0IGEvc3JjL2d0ay9TdG9ja0ljb25zLmggYi9zcmMvZ3RrL1N0b2NrSWNvbnMuaAoraW5kZXggYzE0MmE3YS4uNThmY2YyZSAxMDA2NDQKKy0tLSBhL3NyYy9ndGsvU3RvY2tJY29ucy5oCisrKysgYi9zcmMvZ3RrL1N0b2NrSWNvbnMuaAorQEAgLTE4LDcgKzE4LDcgQEAKKyAjaWYgIWRlZmluZWQgKF9fU1RPQ0tfSUNPTlNfSF9fKQorICNkZWZpbmUgX19TVE9DS19JQ09OU19IX18KKyAKKy0jaW5jbHVkZSA8Z2xpYi9nbWFjcm9zLmg+CisrI2luY2x1ZGUgPGdsaWIuaD4KKyAKKyBHX0JFR0lOX0RFQ0xTCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1hcHBzL2VwZGZ2aWV3L2VwZGZ2aWV3L3N3YXAtY29sb3JzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtYXBwcy9lcGRmdmlldy9lcGRmdmlldy9zd2FwLWNvbG9ycy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODJiZmIxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtYXBwcy9lcGRmdmlldy9lcGRmdmlldy9zd2FwLWNvbG9ycy5wYXRjaApAQCAtMCwwICsxLDQzIEBACitJbXBvcnRlZCBmcm9tIERlYmlhbiAwLjEuOC0zCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitJbmRleDogdHJ1bmsvc3JjL1BERkRvY3VtZW50LmN4eAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHRydW5rL3NyYy9QREZEb2N1bWVudC5jeHgJKHJldmlzaW9uIDM2MSkKKysrKyB0cnVuay9zcmMvUERGRG9jdW1lbnQuY3h4CShyZXZpc2lvbiAzNjcpCitAQCAtMjEsNCArMjEsNSBAQAorICNpbmNsdWRlIDxwb3BwbGVyLmg+CisgI2luY2x1ZGUgPHVuaXN0ZC5oPgorKyNpbmNsdWRlIDxhbGdvcml0aG0+CisgI2luY2x1ZGUgImVwZGZ2aWV3LmgiCisgCitAQCAtMzMsNCArMzQsMjIgQEAKKyBzdGF0aWMgUGFnZU1vZGUgY29udmVydFBhZ2VNb2RlIChnaW50IHBhZ2VNb2RlKTsKKyBzdGF0aWMgZ2NoYXIgKmdldEFic29sdXRlRmlsZU5hbWUgKGNvbnN0IGdjaGFyICpmaWxlTmFtZSk7CisrCisrbmFtZXNwYWNlCisreworKyAgICB2b2lkCisrICAgIGNvbnZlcnRfYmdyYV90b19yZ2JhIChndWludDggKmRhdGEsIGludCB3aWR0aCwgaW50IGhlaWdodCkKKysgICAgeworKyAgICAgICAgdXNpbmcgc3RkOjpzd2FwOworKworKyAgICAgICAgZm9yIChpbnQgeSA9IDA7IHkgPCBoZWlnaHQ7IHkrKykKKysgICAgICAgIHsKKysgICAgICAgICAgICBmb3IgKGludCB4ID0gMDsgeCA8IHdpZHRoOyB4KyspCisrICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICBzd2FwKGRhdGFbMF0sIGRhdGFbMl0pOworKyAgICAgICAgICAgICAgICBkYXRhICs9IDQ7CisrICAgICAgICAgICAgfQorKyAgICAgICAgfQorKyAgICB9CisrfQorIAorIC8vLworQEAgLTY1MSw0ICs2NzAsNSBAQAorICAgICAgICAgY2Fpcm9fZGVzdHJveShjb250ZXh0KTsKKyAgICAgICAgIGNhaXJvX3N1cmZhY2VfZGVzdHJveSAoc3VyZmFjZSk7CisrICAgICAgICBjb252ZXJ0X2JncmFfdG9fcmdiYShyZW5kZXJlZFBhZ2UtPmdldERhdGEgKCksIHdpZHRoLCBoZWlnaHQpOworICNlbHNlIC8vICFIQVZFX1BPUFBMRVJfMF8xN18wCisgICAgICAgICAvLyBDcmVhdGUgdGhlIHBpeGJ1ZiBmcm9tIHRoZSBkYXRhIGFuZCByZW5kZXIgdG8gaXQuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1hcHBzL2VwZGZ2aWV3L2VwZGZ2aWV3XzAuMS44LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtYXBwcy9lcGRmdmlldy9lcGRmdmlld18wLjEuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNDBmNTFkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtYXBwcy9lcGRmdmlldy9lcGRmdmlld18wLjEuOC5iYgpAQCAtMCwwICsxLDI1IEBACitTVU1NQVJZID0gIkEgbGlnaHR3ZWlnaHQgUERGIHZpZXdlciBiYXNlZCBvbiBndGsgYW5kIHBvcHBsZXIiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmVtbWEtc29mdC5jb20vcHJvamVjdHMvZXBkZnZpZXcvIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiIKK1NFQ1RJT04gPSAieDExL2FwcGxpY2F0aW9ucyIKK0RFUEVORFMgPSAiZ3RrKyBwb3BwbGVyIgorCitQUiA9ICJyMyIKKworRVhUUkFfT0VDT05GICs9ICItLXdpdGhvdXQtY3VwcyIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dAorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZW1tYS1zb2Z0LmNvbS9wcm9qZWN0cy8ke0JQTn0vY2hyb21lL3NpdGUvcmVsZWFzZXMvJHtCUH0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9icm93c2VyX2NvbW1hbmQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZml4LWZvcm1hdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9nbGliLXNpbmdsZS1pbmNsdWRlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3N3YXAtY29sb3JzLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlNTAyODViMDE2MTIxNjliMjU5NGZlYTM3NWY1M2FlNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5NDg2NDhhZTdjOWQ3YjNiNDA4ZDczOGJkNGY0OGQ4NzM3NWIxMTk2Y2FlMTEyOWQ2Yjg0NmE4ZGUwZjJmOGYwIgorCitQTkJMQUNLTElTVFtlcGRmdmlld10gPz0gIkJST0tFTjogaW1hZ2VzIGFyZSBub3QgZGlzcGxheWVkIGFueW1vcmUiCisjIFRoZXJlIHdpbGwgYmUgbm8gZnVydGhlciBkZXZlbG9wbWVudCAvIHVwc3RyZWFtIGlzIGdvbmUgWzFdCisjIFsxXSBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTkwNjEyMQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtYXBwcy9nbm9tZS1tcGxheWVyL2dtdGtfMS4wLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1hcHBzL2dub21lLW1wbGF5ZXIvZ210a18xLjAuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNDU1ZjE0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtYXBwcy9nbm9tZS1tcGxheWVyL2dtdGtfMS4wLjUuYmIKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJHVEsrIHdpZGdldCBhbmQgZnVuY3Rpb24gbGlicmFyaWVzIGZvciBnbm9tZS1tcGxheWVyIgorSE9NRVBBR0UgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2dtdGsiCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiIKKworREVQRU5EUyA9ICJndGsrIGFsc2EtbGliIGdsaWItMi4wIHZpcnR1YWwvbGlieDExIGludGx0b29sLW5hdGl2ZSBwdWxzZWF1ZGlvIGd0ayszIgorCitTUkNfVVJJID0gImh0dHA6Ly8ke0JQTn0uZ29vZ2xlY29kZS5jb20vZmlsZXMvJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImUwNmU5Y2E4ZDYxZDc0OTEwMzQzYmIzZWY0MzQ4ZjdmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImEwNzEzMGQ2MjcxOWU4YzEyNDRmODQwNWRkOTc0NDU3OThkZjUyMDRmYzBmM2YyZjJiNjY5YjEyNTExNGI0NjgiCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtZ2NvbmYgLS13aXRoLWdpbyAtLXdpdGgtYWxzYSAtLWVuYWJsZS1rZXlzdG9yZSIKKworaW5oZXJpdCBnZXR0ZXh0IHBrZ2NvbmZpZyBhdXRvdG9vbHMgZ2NvbmYKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWFwcHMvZ25vbWUtbXBsYXllci9nbm9tZS1tcGxheWVyXzEuMC41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtYXBwcy9nbm9tZS1tcGxheWVyL2dub21lLW1wbGF5ZXJfMS4wLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWY0NjBmMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWFwcHMvZ25vbWUtbXBsYXllci9nbm9tZS1tcGxheWVyXzEuMC41LmJiCkBAIC0wLDAgKzEsMzIgQEAKK1NVTU1BUlkgPSAiQSBHVEsrIGludGVyZmFjZSB0byBNUGxheWVyIgorSE9NRVBBR0UgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2dub21lLW1wbGF5ZXIiCitTRUNUSU9OID0gIm11bHRpbWVkaWEiCisKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIiCisKK1BOQkxBQ0tMSVNUW2dub21lLW1wbGF5ZXJdID89ICJyZGVwZW5kcyBvbiBibGFja2xpc3RlZCBtcGxheWVyIgorUFIgPSAicjIiCisKK0RFUEVORFMgPSAiZ210ayBndGsrIGFsc2EtbGliIGxpYm5vdGlmeSBnbGliLTIuMCBkYnVzLWdsaWIgdmlydHVhbC9saWJ4MTEgbGlieHNjcm5zYXZlciIKKworU1JDX1VSSSA9ICJodHRwOi8vJHtCUE59Lmdvb2dsZWNvZGUuY29tL2ZpbGVzLyR7QlB9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICIxZDNhYjI0YzU1MDFiNTUyOGUzNTc5MzFjYTRkYzZkYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhYzNjMTc5MzQ1YmFlY2I0Y2E1MjM3NzgyYWEzM2U4MzI1M2E4N2JmOGI0MmNlNmViM2E5MjA3YTM0MGY2MWIyIgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLWdpbyAtLXdpdGgtYWxzYSAtLXdpdGgtZGJ1cyAtLXdpdGgtbGlibm90aWZ5IgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9nbm9tZS1jb250cm9sLWNlbnRlci9kZWZhdWx0LWFwcHMvJHtQTn0ueG1sIgorUEFDS0FHRVMgPSsgIiR7UE59LW5hdXRpbHVzLWV4dGVuc2lvbiIKK0ZJTEVTXyR7UE59LW5hdXRpbHVzLWV4dGVuc2lvbiArPSAiJHtsaWJkaXJ9L25hdXRpbHVzL2V4dGVuc2lvbnMtMi4wLyouc28gXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbmF1dGlsdXMvZXh0ZW5zaW9ucy0zLjAvKi5zbyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L25hdXRpbHVzL2V4dGVuc2lvbnMtMi4wLyoubGEgXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbmF1dGlsdXMvZXh0ZW5zaW9ucy0zLjAvKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L25hdXRpbHVzL2V4dGVuc2lvbnMtMi4wLyouYSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9uYXV0aWx1cy9leHRlbnNpb25zLTMuMC8qLmEiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9uYXV0aWx1cy9leHRlbnNpb25zLTIuMC8uZGVidWcgXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbmF1dGlsdXMvZXh0ZW5zaW9ucy0zLjAvLmRlYnVnIgorCitpbmhlcml0IGdldHRleHQgcGtnY29uZmlnIG1pbWUgZ3RrLWljb24tY2FjaGUgYXV0b3Rvb2xzCisKK1JERVBFTkRTXyR7UE59ID0gIm1wbGF5ZXIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1hcHBzL3BpbnBvaW50L3BpbnBvaW50X2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWFwcHMvcGlucG9pbnQvcGlucG9pbnRfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5MGU1Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1hcHBzL3BpbnBvaW50L3BpbnBvaW50X2dpdC5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIkEgc2ltcGxlIHByZXNlbnRhdGlvbiB0b29sIGZvciBoYWNrZXJzIgorREVTQ1JJUFRJT04gPSAiUGlucG9pbnQgaXMgYSBzaW1wbGUgcHJlc2VudGF0aW9uIHRvb2wgdGhhdCBob3BlcyB0byBhdm9pZCBhdWRpZW5jZSBkZWF0aCBcCisgICAgICAgICAgICAgICBieSBidWxsZXQgcG9pbnQgYW5kIGluc3RlYWQgZW5jb3VyYWdlIHByZXNlbnRhdGlvbnMgY29udGFpbmluZyBiZWF1dGlmdWwgXAorICAgICAgICAgICAgICAgaW1hZ2VzIGFuZCBzbWFsbCBhbW91bnRzIG9mIGNvbmNpc2UgdGV4dCBpbiBzbGlkZXMuIgorU0VDVElPTiA9ICJ4MTEvbXVsdGltZWRpYSIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mYmMwOTM5MDE4NTdmY2QxMThmMDY1ZjkwMDk4MmMyNCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9waW5wb2ludC5jO2JlZ2lubGluZT02O2VuZGxpbmU9MTc7bWQ1PTIwMWQ0MzgyODM2MDdkYTM5M2ZhZTZhY2EwODU0NTRjIgorCitERVBFTkRTID0gImdub21lLWNvbW1vbiBnbGliLTIuMCBnZGstcGl4YnVmIGNvZ2wtMS4wIGNsdXR0ZXItMS4wIGNsdXR0ZXItZ3N0LTMuMCBsaWJyc3ZnIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZworCitTUkNfVVJJID0gImdpdDovL2dpdC5nbm9tZS5vcmcvcGlucG9pbnQiCisKK1NSQ1JFViA9ICI4MGEwNTZjNTdlODE5ZDBiNzUwMzU0MjQ2Mzg4MTNiMDY3MDgzMGUxIgorUFYgPSAiMC4xLjQrZ2l0ciR7U1JDUFZ9IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJnZGstcGl4YnVmLWxvYWRlci1qcGVnIGdkay1waXhidWYtbG9hZGVyLXBuZyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrLW1hbmFnZXItYXBwbGV0L25ldHdvcmstbWFuYWdlci1hcHBsZXRfMS4wLjEwLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmstbWFuYWdlci1hcHBsZXQvbmV0d29yay1tYW5hZ2VyLWFwcGxldF8xLjAuMTAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDNlMDhjYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrLW1hbmFnZXItYXBwbGV0L25ldHdvcmstbWFuYWdlci1hcHBsZXRfMS4wLjEwLmJiCkBAIC0wLDAgKzEsMzYgQEAKK1NVTU1BUlkgPSAiR1RLKyBhcHBsZXQgZm9yIE5ldHdvcmtNYW5hZ2VyIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIgorCitERVBFTkRTID0gImd0ayszIGxpYm5vdGlmeSBsaWJzZWNyZXQgbmV0d29ya21hbmFnZXIgZGJ1cy1nbGliIGdjb25mIGxpYmdub21lLWtleXJpbmcgaXNvLWNvZGVzIG5zcyIKKworaW5oZXJpdCBnbm9tZWJhc2UgZ3NldHRpbmdzIGd0ay1pY29uLWNhY2hlIGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitHTk9NRV9DT01QUkVTU19UWVBFID0gInh6IgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI4NmIxN2UxYmYxYTM3YzY0OTg3NDg4M2I1ODdjNmRiNiIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImIwNDVhYzNlYWE2OGNjYmJlZmU5MTUxMGFkNjdiNDAwMmE3ZTA5ZDFlNWNlMWM0YmY5YTY3NjE5YmQyY2YwZWIiCisKK1BBQ0tBR0VDT05GSUdbYmx1ZXRvb3RoXSA9ICItLXdpdGgtYmx1ZXRvb3RoLC0td2l0aG91dC1ibHVldG9vdGgsZ25vbWUtYmx1ZXRvb3RoLGdub21lLWJsdWV0b290aCIKK1BBQ0tBR0VDT05GSUdbbW9kZW1tYW5hZ2VyXSA9ICItLXdpdGgtbW9kZW0tbWFuYWdlci0xLC0td2l0aG91dC1tb2RlbS1tYW5hZ2VyLTEsbW9kZW1tYW5hZ2VyIgorUEFDS0FHRUNPTkZJRyA/Pz0gIiIKKworZG9fY29uZmlndXJlX2FwcGVuZCgpIHsKKyAgICAjIFNpZ2guLi4gLS1lbmFibGUtY29tcGlsZS13YXJuaW5ncz1ubyBkb2Vzbid0IGFjdHVhbGx5IHR1cm4gb2ZmIC1XZXJyb3IKKyAgICBmb3IgaSBpbiAkKGZpbmQgJHtCfSAtbmFtZSAiTWFrZWZpbGUiKSA7IGRvCisgICAgICAgIHNlZCAtaSAtZSBzOi1XZXJyb3I6OmcgJGkKKyAgICBkb25lCit9CisKK1JERVBFTkRTXyR7UE59ID0rICJuZXR3b3JrbWFuYWdlciIKKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtkYXRhZGlyfS9hcHBkYXRhIFwKKyAgICAke2RhdGFkaXJ9L25tLWFwcGxldC8gXAorICAgICR7ZGF0YWRpcn0vbGlibm0tZ3RrL3dpZmkudWkgXAorIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2dub21lLWJsdWV0b290aC9wbHVnaW5zLyouc28iCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9nbm9tZS1ibHVldG9vdGgvcGx1Z2lucy9saWJubWEubGEiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9nbm9tZS1ibHVldG9vdGgvcGx1Z2lucy9saWJubWEuYSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2dub21lLWJsdWV0b290aC9wbHVnaW5zLy5kZWJ1Zy8iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1jb25uZWN0aXZpdHkvb2JleC9vYmV4ZC9zc2l6ZV90X2RlZmluaXRpb24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1jb25uZWN0aXZpdHkvb2JleC9vYmV4ZC9zc2l6ZV90X2RlZmluaXRpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjAwOWRjZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vYmV4L29iZXhkL3NzaXplX3RfZGVmaW5pdGlvbi5wYXRjaApAQCAtMCwwICsxLDMyIEBACitpbmNsdWRlIHVuaXN0ZC5oIHRvIGdldCBzc2l6ZV90IGRlZmluaXRpb25zCisKK0ZpeGVzIGVycm9ycyBsaWtlCisKK3wgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIHBsdWdpbnMvbWFzLmM6MzY6MDoKK3wgLi9zcmMvb2JleC5oOjM5OjE6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnc3NpemVfdCcKK3wgLi9zcmMvb2JleC5oOjQ5OjE6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnc3NpemVfdCcKK3wgLi9zcmMvb2JleC5oOjUwOjE6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnc3NpemVfdCcKK3wgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIHBsdWdpbnMvbWFzLmM6Mzg6MDoKK3wgLi9zcmMvbWltZXR5cGUuaDozNjoyOiBlcnJvcjogZXhwZWN0ZWQgc3BlY2lmaWVyLXF1YWxpZmllci1saXN0IGJlZm9yZSAnc3NpemVfdCcKK3wgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIHBsdWdpbnMvbWFzLmM6Mzk6MDoKK3wgcGx1Z2lucy9maWxlc3lzdGVtLmg6MjQ6MTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdzc2l6ZV90JworfCBwbHVnaW5zL21hcy5jOjU1MDoxOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ3NzaXplX3QnCit8IHBsdWdpbnMvbWFzLmM6NTU3OjE6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnc3NpemVfdCcKK3wgcGx1Z2lucy9tYXMuYzogSW4gZnVuY3Rpb24gJ2FueV9yZWFkJzoKK3wgcGx1Z2lucy9tYXMuYzo1NjA6MjogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdzc2l6ZV90JworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0luZGV4OiBvYmV4ZC0wLjQ0L3BsdWdpbnMvbWFzLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBvYmV4ZC0wLjQ0Lm9yaWcvcGx1Z2lucy9tYXMuYwkyMDEyLTAxLTExIDE0OjUzOjUzLjAwMDAwMDAwMCAtMDgwMAorKysrIG9iZXhkLTAuNDQvcGx1Z2lucy9tYXMuYwkyMDEzLTAxLTA4IDEyOjUxOjEyLjY4MTg4MjE3NCAtMDgwMAorQEAgLTI5LDYgKzI5LDcgQEAKKyAjaW5jbHVkZSA8Z2xpYi5oPgorICNpbmNsdWRlIDxmY250bC5oPgorICNpbmNsdWRlIDxpbnR0eXBlcy5oPgorKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyAKKyAjaW5jbHVkZSAib2JleGQuaCIKKyAjaW5jbHVkZSAicGx1Z2luLmgiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1jb25uZWN0aXZpdHkvb2JleC9vYmV4ZF8wLjQ4LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtY29ubmVjdGl2aXR5L29iZXgvb2JleGRfMC40OC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MDk2YmVkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtY29ubmVjdGl2aXR5L29iZXgvb2JleGRfMC40OC5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIk9CRVggU2VydmVyIGFuZCBDbGllbnQiCisjIG9iZXhkIHdhcyBpbnRlZ3JhdGVkIGludG8gYmx1ZXo1CitERVBFTkRTID0gImdsaWItMi4wIGRidXMgbGliaWNhbCIKK0RFUEVORFMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdibHVlejUnLCdibHVlejUnLCdibHVlejQnLGQpfSIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTEyZjg4NGQyYWUxZmY4N2MwOWU1YjdjY2MyYzRjYTdlIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvYmx1ZXRvb3RoL29iZXhkLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9zc2l6ZV90X2RlZmluaXRpb24ucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImQwM2NmOWJhZDI5ODMyNDM4MzdmNGY2ZDc2ZWYxNGE2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImVhYTlkOGQ5NTQyNzAwZTY3NTA5MThkNzJhM2NlMDBmOGNmM2EyNzcxZDNlMjUxNmVmZDFiZTVhMDVmNzg1ODIiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcKKworUEFDS0FHRVMgPSsgIm9iZXgtY2xpZW50IG9iZXgtcGx1Z2lucyIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZGJ1cy0xL3NlcnZpY2VzLyR7UE59LnNlcnZpY2UiCitGSUxFU19vYmV4LWNsaWVudCA9ICIke2xpYmV4ZWNkaXJ9L29iZXgtY2xpZW50IFwKKyAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3NlcnZpY2VzL29iZXgtY2xpZW50LnNlcnZpY2UiCisjIGN1cnJlbnRseSB0aGUgcGx1Z2lucyBhcmUgZW1wdHkKK0ZJTEVTX29iZXgtcGx1Z2lucyA9ICIke2xpYmRpcn0vb2JleC9wbHVnaW5zIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZGV2dG9vbHMvZ2xhZGUvZ2xhZGUzXyUuYmJhcHBlbmQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1kZXZ0b29scy9nbGFkZS9nbGFkZTNfJS5iYmFwcGVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWJhY2ZiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZGV2dG9vbHMvZ2xhZGUvZ2xhZGUzXyUuYmJhcHBlbmQKQEAgLTAsMCArMSBAQAorUEFDS0FHRUNPTkZJRyA/Pz0gImdub21lIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZXh0ZW5kZWQvZ3BhcnRlZC9maWxlcy9ncGFydGVkX3BvbGtpdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWV4dGVuZGVkL2dwYXJ0ZWQvZmlsZXMvZ3BhcnRlZF9wb2xraXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmVhYmQwZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWV4dGVuZGVkL2dwYXJ0ZWQvZmlsZXMvZ3BhcnRlZF9wb2xraXQKQEAgLTAsMCArMSwxMCBAQAorIyEvYmluL3NoCisKKyMgcG9sa2l0IGluc3RhbGxlZD8KK2lmIFsgJCh3aGljaCBwa2V4ZWMpIF07IHRoZW4KKwlwa2V4ZWMgLS1kaXNhYmxlLWludGVybmFsLWFnZW50ICIlc2JpbmRpciUvZ3BhcnRlZCIgIiRAIgorZWxzZQorCSVzYmluZGlyJS9ncGFydGVkICIkQCIKK2ZpCisKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZXh0ZW5kZWQvZ3BhcnRlZC9maWxlcy9vcmcueW9jdG9wcm9qZWN0LnBrZXhlYy5ydW4tZ3BhcnRlZC5wb2xpY3kgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1leHRlbmRlZC9ncGFydGVkL2ZpbGVzL29yZy55b2N0b3Byb2plY3QucGtleGVjLnJ1bi1ncGFydGVkLnBvbGljeQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43N2E5MTkyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZXh0ZW5kZWQvZ3BhcnRlZC9maWxlcy9vcmcueW9jdG9wcm9qZWN0LnBrZXhlYy5ydW4tZ3BhcnRlZC5wb2xpY3kKQEAgLTAsMCArMSwyMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBwb2xpY3ljb25maWcgUFVCTElDCisgIi0vL2ZyZWVkZXNrdG9wLy9EVEQgUG9saWN5S2l0IFBvbGljeSBDb25maWd1cmF0aW9uIDEuMC8vRU4iCisgImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3N0YW5kYXJkcy9Qb2xpY3lLaXQvMS9wb2xpY3ljb25maWcuZHRkIj4KKzxwb2xpY3ljb25maWc+CisKKyAgPGFjdGlvbiBpZD0ib3JnLnlvY3RvcHJvamVjdC5wa2V4ZWMucnVuLWdwYXJ0ZWQiPgorICAgIDxkZXNjcmlwdGlvbj5SdW4gdGhlIEdQYXJ0ZWQgcHJvZ3JhbTwvZGVzY3JpcHRpb24+CisgICAgPG1lc3NhZ2U+QXV0aGVudGljYXRpb24gaXMgcmVxdWlyZWQgdG8gcnVuIHRoZSBHUGFydGVkIFBhcnRpdGlvbiBFZGl0b3I8L21lc3NhZ2U+CisgICAgPGljb25fbmFtZT5ncGFydGVkPC9pY29uX25hbWU+CisgICAgPGRlZmF1bHRzPgorICAgICAgPGFsbG93X2FueT5hdXRoX2FkbWluPC9hbGxvd19hbnk+CisgICAgICA8YWxsb3dfaW5hY3RpdmU+YXV0aF9hZG1pbjwvYWxsb3dfaW5hY3RpdmU+CisgICAgICA8YWxsb3dfYWN0aXZlPmF1dGhfYWRtaW48L2FsbG93X2FjdGl2ZT4KKyAgICA8L2RlZmF1bHRzPgorICAgIDxhbm5vdGF0ZSBrZXk9Im9yZy5mcmVlZGVza3RvcC5wb2xpY3lraXQuZXhlYy5wYXRoIj4vdXNyL3NiaW4vZ3BhcnRlZDwvYW5ub3RhdGU+CisgICAgPGFubm90YXRlIGtleT0ib3JnLmZyZWVkZXNrdG9wLnBvbGljeWtpdC5leGVjLmFsbG93X2d1aSI+dHJ1ZTwvYW5ub3RhdGU+CisgIDwvYWN0aW9uPgorCis8L3BvbGljeWNvbmZpZz4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWV4dGVuZGVkL2dwYXJ0ZWQvZ3BhcnRlZF8wLjI0LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1leHRlbmRlZC9ncGFydGVkL2dwYXJ0ZWRfMC4yNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmMzg5NzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1leHRlbmRlZC9ncGFydGVkL2dwYXJ0ZWRfMC4yNC4wLmJiCkBAIC0wLDAgKzEsMzggQEAKK1NVTU1BUlkgPSAiQSBwYXJ0aXRpb24gZWRpdG9yIHRvIGdyYXBoaWNhbGx5IG1hbmFnZSBkaXNrIHBhcnRpdGlvbnMgIgorSE9NRVBBR0UgPSAiaHR0cDovL2dwYXJ0ZWQub3JnL2luZGV4LnBocCIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGd0ay1pY29uLWNhY2hlCisKK1NSQ19VUkkgPSAiIFwKKyAgICAke1NPVVJDRUZPUkdFX01JUlJPUn0vcHJvamVjdC8ke0JQTn0vJHtCUE59LyR7QlBOfS0ke1BWfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCisgICAgZmlsZTovL29yZy55b2N0b3Byb2plY3QucGtleGVjLnJ1bi1ncGFydGVkLnBvbGljeSBcCisgICAgZmlsZTovL2dwYXJ0ZWRfcG9sa2l0IFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJiODQ4MDI3NGM2ODg3NmFjZmY1OTY1ZDQzNDY3MTBlNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwMjM5OGFiMzM4OTRhNTliMGJkODcwN2U1OThjNDZkOGJiNTZmMTQxM2NkNTRkZTQ4ZWVkNjFlMjkyMGVjZDYwIgorCitERVBFTkRTID0gImdsaWItMi4wIGd0a21tIHBhcnRlZCBnbm9tZS1kb2MtdXRpbHMtbmF0aXZlIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAjIEFkZCBhIHNjcmlwdCB3aGljaCBjaGVja3MgaWYgcG9sa2l0IGlzIGluc3RhbGxlZC4KKyAgICAjIElmIHllczogYSBwb2xpY3kgaXMgcmVxdWVzdGVkIGZyb20gcG9sa2l0IC8gb3RoZXJ3aXNlIHN0YXJ0IGFzIHVzdWFsCisgICAgaW5zdGFsbCAke1dPUktESVJ9L2dwYXJ0ZWRfcG9sa2l0ICR7RH0ke3NiaW5kaXJ9CisgICAgc2VkIC1pICdzOiVzYmluZGlyJToke3NiaW5kaXJ9OmcnICR7RH0ke3NiaW5kaXJ9L2dwYXJ0ZWRfcG9sa2l0CisgICAgIyByZWxpbmsgbWVudSBlbnRyeSB0byB1c2Ugb3VyIHNjcmlwdAorICAgIHNlZCAtaSAnczoke3NiaW5kaXJ9L2dwYXJ0ZWQ6JHtzYmluZGlyfS9ncGFydGVkX3BvbGtpdDpnJyAke0R9JHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMvZ3BhcnRlZC5kZXNrdG9wCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L3BvbGtpdC0xL2FjdGlvbnMKKyAgICBpbnN0YWxsICR7V09SS0RJUn0vb3JnLnlvY3RvcHJvamVjdC5wa2V4ZWMucnVuLWdwYXJ0ZWQucG9saWN5ICR7RH0ke2RhdGFkaXJ9L3BvbGtpdC0xL2FjdGlvbnMvb3JnLnlvY3RvcHJvamVjdC5wa2V4ZWMucnVuLWdwYXJ0ZWQucG9saWN5Cit9CisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtc2Nyb2xsa2VlcGVyIC0tZGlzYWJsZS1kb2MiCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7ZGF0YWRpcn0vYXBwZGF0YSBcCisgICAgJHtkYXRhZGlyfS9pY29ucyBcCisgICAgJHtkYXRhZGlyfS9wb2xraXQtMSBcCisiCisKK1JERVBFTkRTXyR7UE59ID0gImRvc2ZzdG9vbHMgbXRvb2xzIGUyZnNwcm9ncyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWV4dGVuZGVkL2d0ay10aGVtZS10b3J0dXJlci9ndGstdGhlbWUtdG9ydHVyZXJfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZXh0ZW5kZWQvZ3RrLXRoZW1lLXRvcnR1cmVyL2d0ay10aGVtZS10b3J0dXJlcl9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjYyMWQxNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWV4dGVuZGVkL2d0ay10aGVtZS10b3J0dXJlci9ndGstdGhlbWUtdG9ydHVyZXJfZ2l0LmJiCkBAIC0wLDAgKzEsMjUgQEAKK1NVTU1BUlkgPSAiR1RLKyBUaGVtZSBiZW5jaG1hcmsgcHJvZ3JhbSIKK0RFUEVORFMgPSAiZ3RrKyIKK0hPTUVQQUdFID0gImh0dHA6Ly93aWtpLmxhcHRvcC5vcmcvZ28vR1RLX2Zvcl9PTFBDIgorU0VDVElPTiA9ICJkZXZlbCIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9hcHB3aW5kb3cuYztlbmRsaW5lPTEzO21kNT04YzA5OTIwZGU0NjBjN2VhMWY2NGVlNTY5ODZhYWJkOSIKKworU1JDUkVWID0gIjk5OTYyYWUzOWJiNWFhZGIzMTkyOWIyNWM1OGUxYTA1M2Y5Yzk1NDUiCitQViA9ICIwLjAuMCtnaXQke1NSQ1BWfSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9kZXYubGFwdG9wLm9yZy9wcm9qZWN0cy9zb2MtZ3RrLyIKK1MgPSAiJHtXT1JLRElSfS9naXQvZ3RrLXRoZW1lLXRvcnR1cmVyIgorCitDRkxBR1MgKz0gIi1XbCwtcnBhdGgtbGluaywke1NUQUdJTkdfTElCRElSfSIKKworaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKK0FOWV9PRl9ESVNUUk9fRkVBVFVSRVMgPSAiJHtHVEsyRElTVFJPRkVBVFVSRVN9IgorCitkb19pbnN0YWxsKCkgeworCWluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorCWluc3RhbGwgLW0gMDc1NSB0b3J0dXJlciAke0R9JHtiaW5kaXJ9Cit9CisKKyMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzM1MTMyLworUE5CTEFDS0xJU1RbZ3RrLXRoZW1lLXRvcnR1cmVyXSA/PSAiQlJPS0VOOiBnbWFjcm9zLmg6MTgyOjUzOiBlcnJvcjogc2l6ZSBvZiBhcnJheSAnX0dTdGF0aWNBc3NlcnRDb21waWxlVGltZUFzc2VydGlvbl8yJyBpcyBuZWdhdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2FiaXdvcmQvYWJpd29yZC8wMDAxLXBsdWdpbnMtYWlrc2F1cnVzLU1ha2VmaWxlLmFtLXJlbW92ZS11bmNvbXBsZXRlLW9wdGkucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9hYml3b3JkL2FiaXdvcmQvMDAwMS1wbHVnaW5zLWFpa3NhdXJ1cy1NYWtlZmlsZS5hbS1yZW1vdmUtdW5jb21wbGV0ZS1vcHRpLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkZmYxNDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9hYml3b3JkL2FiaXdvcmQvMDAwMS1wbHVnaW5zLWFpa3NhdXJ1cy1NYWtlZmlsZS5hbS1yZW1vdmUtdW5jb21wbGV0ZS1vcHRpLnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKK0Zyb20gYzY0NjE1OWNlODE3NTA2MTMxYjU4ZmRhYjFjZGMxY2Q2MzY0ZGY3YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFN1biwgNyBGZWIgMjAxNiAyMTo0NToyMCArMDEwMAorU3ViamVjdDogW1BBVENIXSBwbHVnaW5zL2Fpa3NhdXJ1cy9NYWtlZmlsZS5hbTogcmVtb3ZlIHVuY29tcGxldGUgb3B0aW9ucworIFdJVEhfQlVJTFRJTl9BSUtTQVVSVVNfR1RLCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKKyogd2l0aCBndGsyIHdlIHdvbid0IHVzZSBpdAorKiBpdCBpcyBtaXNzaW5nIGluIGNvbmZpZ3VyZS5hYyBjYXVzaW5nCisKK3wgcGx1Z2lucy9haWtzYXVydXMvTWFrZWZpbGUuYW06NTogZXJyb3I6IFdJVEhfQlVJTFRJTl9BSUtTQVVSVVNfR1RLIGRvZXMgbm90IGFwcGVhciBpbiBBTV9DT05ESVRJT05BTAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgcGx1Z2lucy9haWtzYXVydXMvTWFrZWZpbGUuYW0gfCA0IC0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3BsdWdpbnMvYWlrc2F1cnVzL01ha2VmaWxlLmFtIGIvcGx1Z2lucy9haWtzYXVydXMvTWFrZWZpbGUuYW0KK2luZGV4IGQ0MDJjNTguLjEwMzRlMmEgMTAwNjQ0CistLS0gYS9wbHVnaW5zL2Fpa3NhdXJ1cy9NYWtlZmlsZS5hbQorKysrIGIvcGx1Z2lucy9haWtzYXVydXMvTWFrZWZpbGUuYW0KK0BAIC0yLDEwICsyLDYgQEAgU1VCRElSUyA9CisgCisgaWYgVE9PTEtJVF9HVEsKKyAKKy1pZiBXSVRIX0JVSUxUSU5fQUlLU0FVUlVTX0dUSworLVNVQkRJUlMgKz0gYWlrc2F1cnVzZ3RrMworLXBsYXRmb3JtX2xpYiA9IGFpa3NhdXJ1c2d0azMvbGliQWlrc2F1cnVzR3RrMy5sYQorLWVuZGlmCisgCisgZW5kaWYKKyAKKy0tIAorMi41LjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvYWJpd29yZC9hYml3b3JkXzMuMC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvYWJpd29yZC9hYml3b3JkXzMuMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2MmE1NmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9hYml3b3JkL2FiaXdvcmRfMy4wLjEuYmIKQEAgLTAsMCArMSwxMjQgQEAKK1NVTU1BUlkgPSAiQWJpV29yZCBpcyBmcmVlIHdvcmQgcHJvY2Vzc2luZyBwcm9ncmFtIHNpbWlsYXIgdG8gTWljcm9zb2Z0KHIpIFdvcmQiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmFiaXdvcmQub3JnIgorU0VDVElPTiA9ICJ4MTEvb2ZmaWNlIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWVjZDNhYzMyOWZjYTc3ZTJkMGU0MTJiZWMzOGUxYzIwIgorREVQRU5EUyAgICAgPSAicGVybC1uYXRpdmUgd3YgbGliZ2xhZGUgbGliZnJpYmlkaSBqcGVnIGxpYnBuZyBcCisgICAgICAgICAgICAgICBsaWJyc3ZnIGxpYndtZi1uYXRpdmUgZ3RrbWF0aHZpZXcgYXNpbyBndGsrIGV2b2x1dGlvbi1kYXRhLXNlcnZlciBcCisgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnQkJGSUxFX0NPTExFQ1RJT05TJywgJ29mZmljZS1sYXllcicsICdyZWRsYW5kIHJhc3FhbCcsICcnLCBkKX0iCitSREVQRU5EU18ke1BOfSAgICA9ICJnbGliYy1nY29udi1pYm04NTAgZ2xpYmMtZ2NvbnYtY3AxMjUyIFwKKyAgICAgICAgICAgICAgIGdsaWJjLWdjb252LWlzbzg4NTktMTUgZ2xpYmMtZ2NvbnYtaXNvODg1OS0xIgorUkNPTkZMSUNUU18ke1BOfSA9ICIke1BOfS1lbWJlZGRlZCIKKworU1JDX1VSSSA9ICIgXAorICAgIGh0dHA6Ly93d3cuYWJpc291cmNlLmNvbS9kb3dubG9hZHMvJHtCUE59LyR7UFZ9L3NvdXJjZS8ke0JQfS50YXIuZ3ogXAorICAgIGZpbGU6Ly8wMDAxLXBsdWdpbnMtYWlrc2F1cnVzLU1ha2VmaWxlLmFtLXJlbW92ZS11bmNvbXBsZXRlLW9wdGkucGF0Y2ggXAorIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jNWVkY2MzY2NkODY0YjE5MDA0ZDE0ZTljMWM5YTI2YSIKKworU1JDX1VSSVttZDVzdW1dID0gImYzZjgwNTJlN2I0OTc5YTQzYjc1Nzc1YTM4MWU2Y2I4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImUwOTRmNmZiZjBhZmM1YzU1MzhiNDg5NDg4OGU3YzM0NmY4ZWU4ZjQ5YzlkMjQ4MjFkZDY5NmQwNzM0ODY1YzYiCisKKyN3YW50IDMueCBmcm9tIDMueC55IGZvciB0aGUgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeQorU0hSVF9WRVIgPSAiJHtAZC5nZXRWYXIoJ1BWJywxKS5zcGxpdCgnLicpWzBdfS4ke0BkLmdldFZhcignUFYnLDEpLnNwbGl0KCcuJylbMV19IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnCisKK1BBQ0tBR0VDT05GSUcgPz89ICIgXAorICAgIGNvbGxhYi1iYWNrZW5kLXhtcHAgY29sbGFiLWJhY2tlbmQtdGNwIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnQkJGSUxFX0NPTExFQ1RJT05TJywgJ29mZmljZS1sYXllcicsICdsaWJpY2FsJywgJycsIGQpfSBcCisiCitQQUNLQUdFQ09ORklHW2xpYmljYWxdID0gIi0td2l0aC1saWJpY2FsLC0td2l0aG91dC1saWJpY2FsLGxpYmljYWwgcmFwdG9yMiIKK1BBQ0tBR0VDT05GSUdbc3BlbGxdID0gIi0tZW5hYmxlLXNwZWxsLC0tZGlzYWJsZS1zcGVsbCxlbmNoYW50IgorUEFDS0FHRUNPTkZJR1tjb2xsYWItYmFja2VuZC14bXBwXSA9ICItLWVuYWJsZS1jb2xsYWItYmFja2VuZC14bXBwLC0tZGlzYWJsZS1jb2xsYWItYmFja2VuZC14bXBwLGxpYmdzZiBsaWJ4bWwyIGxvdWRtb3V0aCIKK1BBQ0tBR0VDT05GSUdbY29sbGFiLWJhY2tlbmQtdGNwXSA9ICItLWVuYWJsZS1jb2xsYWItYmFja2VuZC10Y3AsLS1kaXNhYmxlLWNvbGxhYi1iYWNrZW5kLXRjcCxsaWJnc2YgbGlieG1sMiIKK1BBQ0tBR0VDT05GSUdbY29sbGFiLWJhY2tlbmQtc2VydmljZV0gPSAiLS1lbmFibGUtY29sbGFiLWJhY2tlbmQtc2VydmljZSwtLWRpc2FibGUtY29sbGFiLWJhY2tlbmQtc2VydmljZSxsaWJnc2YgbGlieG1sMiBsaWJzb3VwLTIuNCBnbnV0bHMiCitQQUNLQUdFQ09ORklHW2NvbGxhYi1iYWNrZW5kLXRlbGVwYXRoeV0gPSAiLS1lbmFibGUtY29sbGFiLWJhY2tlbmQtdGVsZXBhdGh5LC0tZGlzYWJsZS1jb2xsYWItYmFja2VuZC10ZWxlcGF0aHksbGliZ3NmIGxpYnhtbDIgdGVsZXBhdGh5LWdsaWIgdGVsZXBhdGh5LW1pc3Npb24tY29udHJvbCIKK1BBQ0tBR0VDT05GSUdbY29sbGFiLWJhY2tlbmQtc3VnYXJdID0gIi0tZW5hYmxlLWNvbGxhYi1iYWNrZW5kLXN1Z2FyLC0tZGlzYWJsZS1jb2xsYWItYmFja2VuZC1zdWdhcixsaWJnc2YgbGlieG1sMiBkYnVzLWdsaWIiCisKK0VYVFJBX09FQ09ORiA9ICIgLS1kaXNhYmxlLXN0YXRpYyAgXAorICAgICAgICAgICAgICAgICAtLWVuYWJsZS1wbHVnaW5zIFwKKyAgICAgICAgICAgICAgICAgLS1lbmFibGUtY2xpcGFydCBcCisgICAgICAgICAgICAgICAgIC0tZW5hYmxlLXRlbXBsYXRlcyBcCisgICAgICAgICAgICAgICAgIC0td2l0aG91dC1nbm9tZXZmcyBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1ndGsyIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLWxpYndtZi1jb25maWc9JHtTVEFHSU5HX0RJUn0gXAorIgorCitkb19jb21waWxlKCkgeworICAgIGNkIGdvZmZpY2UtYml0czIKKyAgICBtYWtlIGdvZmZpY2UtcGF0aHMuaAorICAgIG1ha2UgbGliZ29mZmljZS5sYQorICAgIGNkICR7Qn0KKyAgICBvZV9ydW5tYWtlCit9CisKK1BBQ0tBR0VTICs9ICIgJHtQTn0tY2xpcGFydCAke1BOfS1zdHJpbmdzICR7UE59LXN5c3RlbXByb2ZpbGVzICR7UE59LXRlbXBsYXRlcyAiCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS9saWIke1BOfS0qLnNvIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L21pbWUtaW5mbyBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9pY29ucy8qIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9LyR7UE59LSR7U0hSVF9WRVJ9L2dsYWRlIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9LyR7UE59LSR7U0hSVF9WRVJ9L3NjcmlwdHMgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtQTn0tJHtTSFJUX1ZFUn0vc3lzdGVtLnByb2ZpbGUtZW4gXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtQTn0tJHtTSFJUX1ZFUn0vc3lzdGVtLnByb2ZpbGUtZW5fR0IgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtQTn0tJHtTSFJUX1ZFUn0vdGVtcGxhdGVzL25vcm1hbC5hd3QgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtQTn0tJHtTSFJUX1ZFUn0vdGVtcGxhdGVzL25vcm1hbC5hd3QtZW5fR0IgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtQTn0tJHtTSFJUX1ZFUn0vdGVtcGxhdGVzL0VtcGxveWVlLURpcmVjdG9yeS5hd3QgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtQTn0tJHtTSFJUX1ZFUn0vdGVtcGxhdGVzL0J1c2luZXNzLVJlcG9ydC5hd3QgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtQTn0tJHtTSFJUX1ZFUn0vdGVtcGxhdGVzL0ZheC1Db3ZlcnNoZWV0LmF3dCBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS8ke1BOfS0ke1NIUlRfVkVSfS90ZW1wbGF0ZXMvUmVzdW1lLmF3dCBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS8ke1BOfS0ke1NIUlRfVkVSfS90ZW1wbGF0ZXMvVHdvLUNvbHVtbnMuYXd0IFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9LyR7UE59LSR7U0hSVF9WRVJ9L3RlbXBsYXRlcy9NZW1vLmF3dCBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS8ke1BOfS0ke1NIUlRfVkVSfS90ZW1wbGF0ZXMvUHJlc3MtUmVsZWFzZS5hd3QgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtQTn0tJHtTSFJUX1ZFUn0vY2VydHMgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtQTn0tJHtTSFJUX1ZFUn0vdWkgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtQTn0tJHtTSFJUX1ZFUn0veHNsKiBcIAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtQTn0tJHtTSFJUX1ZFUn0vbWltZS1pbmZvIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9LyR7UE59LSR7U0hSVF9WRVJ9L1ByKi54bWwgXAorIgorCisjIGRvbid0IHN0ZWFsIC91c3IvbGliL2xpYmFiaXdvcmQtMy4wLnNvIGZyb20gJHtQTn0KKyMgaW4gdGhpcyBjYXNlIGl0J3MgbmVlZGVkIGluICR7UE59CitGSUxFU18ke1BOfS1kZXYgPSAiIFwKKyAgICAgICAgICAgICAgICAgICR7aW5jbHVkZWRpcn0gXAorICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZyBcCisgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vJHtQTn0qLmxhIFwKKyAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9saWIke1BOfSoubGEgXAorICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9LyR7UE59LSR7U0hSVF9WRVJ9L3BsdWdpbnMvKi5sYSBcCisiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS8ke1BOfS0ke1NIUlRfVkVSfS9wbHVnaW5zLy5kZWJ1ZyIKK0ZJTEVTXyR7UE59LWRvYyArPSAiJHtkYXRhZGlyfS8ke1BOfS0qL3JlYWRtZSoiCisKK0ZJTEVTXyR7UE59LXN0cmluZ3MgICAgICAgICs9ICIke2RhdGFkaXJ9LyR7UE59LSR7U0hSVF9WRVJ9L3N0cmluZ3MiCitGSUxFU18ke1BOfS1zeXN0ZW1wcm9maWxlcyArPSAiJHtkYXRhZGlyfS8ke1BOfS0ke1NIUlRfVkVSfS9zeXN0ZW0ucHJvZmlsZSoiCitGSUxFU18ke1BOfS1jbGlwYXJ0ICAgICAgICArPSAiJHtkYXRhZGlyfS8ke1BOfS0ke1NIUlRfVkVSfS9jbGlwYXJ0IgorRklMRVNfJHtQTn0tc3RyaW5ncyAgICAgICAgKz0gIiR7ZGF0YWRpcn0vJHtQTn0tJHtTSFJUX1ZFUn0vQWJpV29yZC9zdHJpbmdzIgorRklMRVNfJHtQTn0tc3lzdGVtcHJvZmlsZXMgKz0gIiR7ZGF0YWRpcn0vJHtQTn0tJHtTSFJUX1ZFUn0vQWJpV29yZC9zeXN0ZW0ucHJvZmlsZSoiCitGSUxFU18ke1BOfS10ZW1wbGF0ZXMgICAgICArPSAiJHtkYXRhZGlyfS8ke1BOfS0ke1NIUlRfVkVSfS90ZW1wbGF0ZXMiCisKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl4ke1BOfS1tZXRhLiogXiR7UE59LXBsdWdpbi0uKiIKKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgeworICAgIGFiaXdvcmRfbGliZGlyICAgID0gZC5leHBhbmQoJyR7bGliZGlyfS8ke1BOfS0ke1NIUlRfVkVSfS9wbHVnaW5zJykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBhYml3b3JkX2xpYmRpciwgJyguKilcLnNvJCcsICdhYml3b3JkLXBsdWdpbi0lcycsICdBYml3b3JkIHBsdWdpbiBmb3IgJXMnLCBleHRyYV9kZXBlbmRzPScnKQorCisgICAgbWV0YXBrZyA9ICJhYml3b3JkLW1ldGEiCisgICAgZC5zZXRWYXIoJ0FMTE9XX0VNUFRZXycgKyBtZXRhcGtnLCAiMSIpCisgICAgZC5zZXRWYXIoJ0ZJTEVTXycgKyBtZXRhcGtnLCAiIikKKyAgICBibGFja2xpc3QgPSBbICdhYml3b3JkLXBsdWdpbnMtZGJnJywgJ2FiaXdvcmQtcGx1Z2lucycsICdhYml3b3JkLXBsdWdpbnMtZG9jJywgJ2FiaXdvcmQtcGx1Z2lucy1kZXYnLCAnYWJpd29yZC1wbHVnaW5zLWxvY2FsZScgXQorICAgIG1ldGFwa2dfcmRlcGVuZHMgPSBbXQorICAgIHBhY2thZ2VzID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJywgMSkuc3BsaXQoKQorICAgIGZvciBwa2cgaW4gcGFja2FnZXNbMTpdOgorICAgICAgICBpZiBub3QgcGtnIGluIGJsYWNrbGlzdCBhbmQgbm90IHBrZyBpbiBtZXRhcGtnX3JkZXBlbmRzIGFuZCBub3QgcGtnLmNvdW50KCItZGV2IikgYW5kIG5vdCBwa2cuY291bnQoIi1kYmciKSBhbmQgbm90IHBrZy5jb3VudCgic3RhdGljIikgYW5kIG5vdCBwa2cuY291bnQoImxvY2FsZSIpIGFuZCBub3QgcGtnLmNvdW50KCJhYml3b3JkLWRvYyIpOgorICAgICAgICAgICAgcHJpbnQgIk1vZGlmeWluZyAiLCBwa2cKKyAgICAgICAgICAgIG1ldGFwa2dfcmRlcGVuZHMuYXBwZW5kKHBrZykKKyAgICBkLnNldFZhcignUkRFUEVORFNfJyArIG1ldGFwa2csICcgJy5qb2luKG1ldGFwa2dfcmRlcGVuZHMpKQorICAgIGQuc2V0VmFyKCdERVNDUklQVElPTl8nICsgbWV0YXBrZywgJ2FiaXdvcmQtcGx1Z2luIG1ldGEgcGFja2FnZScpCisgICAgcGFja2FnZXMuYXBwZW5kKG1ldGFwa2cpCisgICAgZC5zZXRWYXIoJ1BBQ0tBR0VTJywgJyAnLmpvaW4ocGFja2FnZXMpKQorfQorCitGSUxFU18ke1BOfS1wbHVnaW4tb3BlbnhtbCArPSAiJHtkYXRhZGlyfS8ke1BOfS0ke1NIUlRfVkVSfS9vbW1sX3hzbHQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ib25vYm8vZmlsZXMvZ2NjNS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Jvbm9iby9maWxlcy9nY2M1LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3NTI4YWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ib25vYm8vZmlsZXMvZ2NjNS5wYXRjaApAQCAtMCwwICsxLDEyIEBACitJbmRleDogbGliYm9ub2JvdWktMi4yNC41L3Rvb2xzL2Jyb3dzZXIvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsaWJib25vYm91aS0yLjI0LjUub3JpZy90b29scy9icm93c2VyL01ha2VmaWxlLmFtCisrKysgbGliYm9ub2JvdWktMi4yNC41L3Rvb2xzL2Jyb3dzZXIvTWFrZWZpbGUuYW0KK0BAIC0yLDcgKzIsNiBAQCBJTkNMVURFUyA9CVwKKyAJLURCT05PQk9fQlJPV1NFUl9EQVRBRElSPVwiIiQoZGF0YWRpcikiXCIJXAorICAgICAgICAgLURCT05PQk9fU1VQUE9SVF9MT0NBTEVESVI9XCIiJChkYXRhZGlyKS9sb2NhbGUiXCIgICAgICAgIFwKKyAJLUkkKHNyY2RpcikgLUkkKHRvcF9zcmNkaXIpIAkJCVwKKy0JLUkkKHRvcF9zcmNkaXIpL2Jvbm9iby1icm93c2VyCQkJXAorIAkkKEJPTk9CT1VJX0NGTEFHUykJCQkJXAorIAkkKFdBUk5fQ0ZMQUdTKQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvYm9ub2JvL2ZpbGVzL2d0ay1kb2MubTQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ib25vYm8vZmlsZXMvZ3RrLWRvYy5tNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZWM0MTY2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvYm9ub2JvL2ZpbGVzL2d0ay1kb2MubTQKQEAgLTAsMCArMSw1MyBAQAorZG5sIC0qLSBtb2RlOiBhdXRvY29uZiAtKi0KKworIyBzZXJpYWwgMQorCitkbmwgVXNhZ2U6CitkbmwgICBHVEtfRE9DX0NIRUNLKFttaW5pbXVtLWd0ay1kb2MtdmVyc2lvbl0pCitBQ19ERUZVTihbR1RLX0RPQ19DSEVDS10sCitbCisgIEFDX0JFRk9SRShbQUNfUFJPR19MSUJUT09MXSxbJDBdKWRubCBzZXR1cCBsaWJ0b29sIGZpcnN0CisgIEFDX0JFRk9SRShbQU1fUFJPR19MSUJUT09MXSxbJDBdKWRubCBzZXR1cCBsaWJ0b29sIGZpcnN0CisgIGRubCBmb3Igb3ZlcnJpZGluZyB0aGUgZG9jdW1lbnRhdGlvbiBpbnN0YWxsYXRpb24gZGlyZWN0b3J5CisgIEFDX0FSR19XSVRIKGh0bWwtZGlyLAorICAgIEFDX0hFTFBfU1RSSU5HKFstLXdpdGgtaHRtbC1kaXI9UEFUSF0sIFtwYXRoIHRvIGluc3RhbGxlZCBkb2NzXSksLAorICAgIFt3aXRoX2h0bWxfZGlyPScke2RhdGFkaXJ9L2d0ay1kb2MvaHRtbCddKQorICBIVE1MX0RJUj0iJHdpdGhfaHRtbF9kaXIiCisgIEFDX1NVQlNUKEhUTUxfRElSKQorCisgIGRubCBlbmFibGUvZGlzYWJsZSBkb2N1bWVudGF0aW9uIGJ1aWxkaW5nCisgIEFDX0FSR19FTkFCTEUoZ3RrLWRvYywKKyAgICBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtZ3RrLWRvY10sCisgICAgICAgICAgICAgICAgICAgW3VzZSBndGstZG9jIHRvIGJ1aWxkIGRvY3VtZW50YXRpb24gW2RlZmF1bHQ9bm9dXSksLAorICAgIGVuYWJsZV9ndGtfZG9jPW5vKQorCisgIGhhdmVfZ3RrX2RvYz1ubworICBpZiB0ZXN0IC16ICIkUEtHX0NPTkZJRyI7IHRoZW4KKyAgICBBQ19QQVRIX1BST0coUEtHX0NPTkZJRywgcGtnLWNvbmZpZywgbm8pCisgIGZpCisgIGlmIHRlc3QgIiRQS0dfQ09ORklHIiAhPSAibm8iICYmICRQS0dfQ09ORklHIC0tZXhpc3RzIGd0ay1kb2M7IHRoZW4KKyAgICBoYXZlX2d0a19kb2M9eWVzCisgIGZpCisKKyAgZG5sIGRvIHdlIHdhbnQgdG8gZG8gYSB2ZXJzaW9uIGNoZWNrPworaWZlbHNlKFskMV0sW10sLAorICBbZ3RrX2RvY19taW5fdmVyc2lvbj0kMQorICBpZiB0ZXN0ICIkaGF2ZV9ndGtfZG9jIiA9IHllczsgdGhlbgorICAgIEFDX01TR19DSEVDS0lORyhbZ3RrLWRvYyB2ZXJzaW9uID49ICRndGtfZG9jX21pbl92ZXJzaW9uXSkKKyAgICBpZiAkUEtHX0NPTkZJRyAtLWF0bGVhc3QtdmVyc2lvbiAkZ3RrX2RvY19taW5fdmVyc2lvbiBndGstZG9jOyB0aGVuCisgICAgICBBQ19NU0dfUkVTVUxUKHllcykKKyAgICBlbHNlCisgICAgICBBQ19NU0dfUkVTVUxUKG5vKQorICAgICAgaGF2ZV9ndGtfZG9jPW5vCisgICAgZmkKKyAgZmkKK10pCisgIGlmIHRlc3QgeCRlbmFibGVfZ3RrX2RvYyA9IHh5ZXM7IHRoZW4KKyAgICBpZiB0ZXN0ICIkaGF2ZV9ndGtfZG9jIiAhPSB5ZXM7IHRoZW4KKyAgICAgIGVuYWJsZV9ndGtfZG9jPW5vCisgICAgZmkKKyAgZmkKKworICBBTV9DT05ESVRJT05BTChFTkFCTEVfR1RLX0RPQywgdGVzdCB4JGVuYWJsZV9ndGtfZG9jID0geHllcykKKyAgQU1fQ09ORElUSU9OQUwoR1RLX0RPQ19VU0VfTElCVE9PTCwgdGVzdCAtbiAiJExJQlRPT0wiKQorXSkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Jvbm9iby9maWxlcy9ndGstZG9jLm1ha2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ib25vYm8vZmlsZXMvZ3RrLWRvYy5tYWtlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1NGZmYjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ib25vYm8vZmlsZXMvZ3RrLWRvYy5tYWtlCkBAIC0wLDAgKzEsMTczIEBACisjIC0qLSBtb2RlOiBtYWtlZmlsZSAtKi0KKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEV2ZXJ5dGhpbmcgYmVsb3cgaGVyZSBpcyBnZW5lcmljICMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitpZiBHVEtfRE9DX1VTRV9MSUJUT09MCitHVEtET0NfQ0MgPSAkKExJQlRPT0wpIC0tbW9kZT1jb21waWxlICQoQ0MpICQoSU5DTFVERVMpICQoQU1fQ1BQRkxBR1MpICQoQ1BQRkxBR1MpICQoQU1fQ0ZMQUdTKSAkKENGTEFHUykKK0dUS0RPQ19MRCA9ICQoTElCVE9PTCkgLS1tb2RlPWxpbmsgJChDQykgJChBTV9DRkxBR1MpICQoQ0ZMQUdTKSAkKEFNX0xERkxBR1MpICQoTERGTEFHUykKK2Vsc2UKK0dUS0RPQ19DQyA9ICQoQ0MpICQoSU5DTFVERVMpICQoQU1fQ1BQRkxBR1MpICQoQ1BQRkxBR1MpICQoQU1fQ0ZMQUdTKSAkKENGTEFHUykKK0dUS0RPQ19MRCA9ICQoQ0MpICQoQU1fQ0ZMQUdTKSAkKENGTEFHUykgJChBTV9MREZMQUdTKSAkKExERkxBR1MpCitlbmRpZgorCisjIFdlIHNldCBHUEFUSCBoZXJlOyB0aGlzIGdpdmVzIHVzIHNlbWFudGljcyBmb3IgR05VIG1ha2UKKyMgd2hpY2ggYXJlIG1vcmUgbGlrZSBvdGhlciBtYWtlJ3MgVlBBVEgsIHdoZW4gaXQgY29tZXMgdG8KKyMgd2hldGhlciBhIHNvdXJjZSB0aGF0IGlzIGEgdGFyZ2V0IG9mIG9uZSBydWxlIGlzIHRoZW4KKyMgc2VhcmNoZWQgZm9yIGluIFZQQVRIL0dQQVRILgorIworR1BBVEggPSAkKHNyY2RpcikKKworVEFSR0VUX0RJUj0kKEhUTUxfRElSKS8kKERPQ19NT0RVTEUpCisKK0VYVFJBX0RJU1QgPSAJCQkJXAorCSQoY29udGVudF9maWxlcykJCVwKKwkkKEhUTUxfSU1BR0VTKQkJCVwKKwkkKERPQ19NQUlOX1NHTUxfRklMRSkJCVwKKwkkKERPQ19NT0RVTEUpLXNlY3Rpb25zLnR4dAlcCisJJChET0NfTU9EVUxFKS1vdmVycmlkZXMudHh0CisKK0RPQ19TVEFNUFM9c2Nhbi1idWlsZC5zdGFtcCB0bXBsLWJ1aWxkLnN0YW1wIHNnbWwtYnVpbGQuc3RhbXAgaHRtbC1idWlsZC5zdGFtcCBcCisJICAgJChzcmNkaXIpL3RtcGwuc3RhbXAgJChzcmNkaXIpL3NnbWwuc3RhbXAgJChzcmNkaXIpL2h0bWwuc3RhbXAKKworU0NBTk9CSl9GSUxFUyA9IAkJIFwKKwkkKERPQ19NT0RVTEUpLmFyZ3MgCSBcCisJJChET0NfTU9EVUxFKS5oaWVyYXJjaHkgIFwKKwkkKERPQ19NT0RVTEUpLmludGVyZmFjZXMgXAorCSQoRE9DX01PRFVMRSkucHJlcmVxdWlzaXRlcyBcCisJJChET0NfTU9EVUxFKS5zaWduYWxzCisKK1JFUE9SVF9GSUxFUyA9IFwKKwkkKERPQ19NT0RVTEUpLXVuZG9jdW1lbnRlZC50eHQgXAorCSQoRE9DX01PRFVMRSktdW5kZWNsYXJlZC50eHQgXAorCSQoRE9DX01PRFVMRSktdW51c2VkLnR4dAorCitDTEVBTkZJTEVTID0gJChTQ0FOT0JKX0ZJTEVTKSAkKFJFUE9SVF9GSUxFUykgJChET0NfU1RBTVBTKQorCitpZiBFTkFCTEVfR1RLX0RPQworYWxsLWxvY2FsOiBodG1sLWJ1aWxkLnN0YW1wCitlbHNlCithbGwtbG9jYWw6CitlbmRpZgorCitkb2NzOiBodG1sLWJ1aWxkLnN0YW1wCisKKyMjIyMgc2NhbiAjIyMjCisKK3NjYW4tYnVpbGQuc3RhbXA6ICQoSEZJTEVfR0xPQikgJChDRklMRV9HTE9CKQorCUBlY2hvICdndGstZG9jOiBTY2FubmluZyBoZWFkZXIgZmlsZXMnCisJQC1jaG1vZCAtUiB1K3cgJChzcmNkaXIpCisJY2QgJChzcmNkaXIpICYmIFwKKwkgIGd0a2RvYy1zY2FuIC0tbW9kdWxlPSQoRE9DX01PRFVMRSkgLS1zb3VyY2UtZGlyPSQoRE9DX1NPVVJDRV9ESVIpIC0taWdub3JlLWhlYWRlcnM9IiQoSUdOT1JFX0hGSUxFUykiICQoU0NBTl9PUFRJT05TKSAkKEVYVFJBX0hGSUxFUykKKwlpZiBncmVwIC1sICdeLi4qJCQnICQoc3JjZGlyKS8kKERPQ19NT0RVTEUpLnR5cGVzID4gL2Rldi9udWxsIDI+JjEgOyB0aGVuIFwKKwkgICAgQ0M9IiQoR1RLRE9DX0NDKSIgTEQ9IiQoR1RLRE9DX0xEKSIgQ0ZMQUdTPSIkKEdUS0RPQ19DRkxBR1MpIiBMREZMQUdTPSIkKEdUS0RPQ19MSUJTKSIgZ3RrZG9jLXNjYW5nb2JqICQoU0NBTkdPQkpfT1BUSU9OUykgLS1tb2R1bGU9JChET0NfTU9EVUxFKSAtLW91dHB1dC1kaXI9JChzcmNkaXIpIDsgXAorCWVsc2UgXAorCSAgICBjZCAkKHNyY2RpcikgOyBcCisJICAgIGZvciBpIGluICQoU0NBTk9CSl9GSUxFUykgOyBkbyBcCisgICAgICAgICAgICAgICB0ZXN0IC1mICQkaSB8fCB0b3VjaCAkJGkgOyBcCisJICAgIGRvbmUgXAorCWZpCisJdG91Y2ggc2Nhbi1idWlsZC5zdGFtcAorCiskKERPQ19NT0RVTEUpLWRlY2wudHh0ICQoU0NBTk9CSl9GSUxFUykgJChET0NfTU9EVUxFKS1zZWN0aW9ucy50eHQgJChET0NfTU9EVUxFKS1vdmVycmlkZXMudHh0OiBzY2FuLWJ1aWxkLnN0YW1wCisJQHRydWUKKworIyMjIyB0ZW1wbGF0ZXMgIyMjIworCit0bXBsLWJ1aWxkLnN0YW1wOiAkKERPQ19NT0RVTEUpLWRlY2wudHh0ICQoU0NBTk9CSl9GSUxFUykgJChET0NfTU9EVUxFKS1zZWN0aW9ucy50eHQgJChET0NfTU9EVUxFKS1vdmVycmlkZXMudHh0CisJQGVjaG8gJ2d0ay1kb2M6IFJlYnVpbGRpbmcgdGVtcGxhdGUgZmlsZXMnCisJQC1jaG1vZCAtUiB1K3cgJChzcmNkaXIpCisJY2QgJChzcmNkaXIpICYmIGd0a2RvYy1ta3RtcGwgLS1tb2R1bGU9JChET0NfTU9EVUxFKSAkKE1LVE1QTF9PUFRJT05TKQorCXRvdWNoIHRtcGwtYnVpbGQuc3RhbXAKKwordG1wbC5zdGFtcDogdG1wbC1idWlsZC5zdGFtcAorCUB0cnVlCisKK3RtcGwvKi5zZ21sOgorCUB0cnVlCisKKworIyMjIyB4bWwgIyMjIworCitzZ21sLWJ1aWxkLnN0YW1wOiB0bXBsLnN0YW1wICQoSEZJTEVfR0xPQikgJChDRklMRV9HTE9CKSAkKERPQ19NT0RVTEUpLXNlY3Rpb25zLnR4dCAkKHNyY2RpcikvdG1wbC8qLnNnbWwgJChleHBhbmRfY29udGVudF9maWxlcykKKwlAZWNobyAnZ3RrLWRvYzogQnVpbGRpbmcgWE1MJworCUAtY2htb2QgLVIgdSt3ICQoc3JjZGlyKQorCWNkICQoc3JjZGlyKSAmJiBcCisJZ3RrZG9jLW1rZGIgLS1tb2R1bGU9JChET0NfTU9EVUxFKSAtLXNvdXJjZS1kaXI9JChET0NfU09VUkNFX0RJUikgLS1vdXRwdXQtZm9ybWF0PXhtbCAtLWV4cGFuZC1jb250ZW50LWZpbGVzPSIkKGV4cGFuZF9jb250ZW50X2ZpbGVzKSIgLS1tYWluLXNnbWwtZmlsZT0kKERPQ19NQUlOX1NHTUxfRklMRSkgJChNS0RCX09QVElPTlMpCisJdG91Y2ggc2dtbC1idWlsZC5zdGFtcAorCitzZ21sLnN0YW1wOiBzZ21sLWJ1aWxkLnN0YW1wCisJQHRydWUKKworIyMjIyBodG1sICMjIyMKKworaHRtbC1idWlsZC5zdGFtcDogc2dtbC5zdGFtcCAkKERPQ19NQUlOX1NHTUxfRklMRSkgJChjb250ZW50X2ZpbGVzKQorCUBlY2hvICdndGstZG9jOiBCdWlsZGluZyBIVE1MJworCUAtY2htb2QgLVIgdSt3ICQoc3JjZGlyKQorCXJtIC1yZiAkKHNyY2RpcikvaHRtbAorCW1rZGlyICQoc3JjZGlyKS9odG1sCisJY2QgJChzcmNkaXIpL2h0bWwgJiYgZ3RrZG9jLW1raHRtbCAkKERPQ19NT0RVTEUpIC4uLyQoRE9DX01BSU5fU0dNTF9GSUxFKQorCXRlc3QgIngkKEhUTUxfSU1BR0VTKSIgPSAieCIgfHwgKCBjZCAkKHNyY2RpcikgJiYgY3AgJChIVE1MX0lNQUdFUykgaHRtbCApCisJQGVjaG8gJ2d0ay1kb2M6IEZpeGluZyBjcm9zcy1yZWZlcmVuY2VzJworCWNkICQoc3JjZGlyKSAmJiBndGtkb2MtZml4eHJlZiAtLW1vZHVsZS1kaXI9aHRtbCAtLWh0bWwtZGlyPSQoSFRNTF9ESVIpICQoRklYWFJFRl9PUFRJT05TKQorCXRvdWNoIGh0bWwtYnVpbGQuc3RhbXAKKworIyMjIyMjIyMjIyMjIyMKKworY2xlYW4tbG9jYWw6CisJcm0gLWYgKn4gKi5iYWsKKwlybSAtcmYgLmxpYnMKKworZGlzdGNsZWFuLWxvY2FsOgorCWNkICQoc3JjZGlyKSAmJiBcCisJICBybSAtcmYgeG1sICQoUkVQT1JUX0ZJTEVTKSBcCisJICAgICAgICAgJChET0NfTU9EVUxFKS1kZWNsLWxpc3QudHh0ICQoRE9DX01PRFVMRSktZGVjbC50eHQKKworbWFpbnRhaW5lci1jbGVhbi1sb2NhbDogY2xlYW4KKwljZCAkKHNyY2RpcikgJiYgcm0gLXJmIHhtbCBodG1sCisKK2luc3RhbGwtZGF0YS1sb2NhbDoKKwktaW5zdGFsbGZpbGVzPWBlY2hvICQoc3JjZGlyKS9odG1sLypgOyBcCisJaWYgdGVzdCAiJCRpbnN0YWxsZmlsZXMiID0gJyQoc3JjZGlyKS9odG1sLyonOyBcCisJdGhlbiBlY2hvICctLSBOb3RoaW5nIHRvIGluc3RhbGwnIDsgXAorCWVsc2UgXAorCSAgJChta2luc3RhbGxkaXJzKSAkKERFU1RESVIpJChUQVJHRVRfRElSKTsgXAorCSAgZm9yIGkgaW4gJCRpbnN0YWxsZmlsZXM7IGRvIFwKKwkgICAgZWNobyAnLS0gSW5zdGFsbGluZyAnJCRpIDsgXAorCSAgICAkKElOU1RBTExfREFUQSkgJCRpICQoREVTVERJUikkKFRBUkdFVF9ESVIpOyBcCisJICBkb25lOyBcCisJICBlY2hvICctLSBJbnN0YWxsaW5nICQoc3JjZGlyKS9odG1sL2luZGV4LnNnbWwnIDsgXAorCSAgJChJTlNUQUxMX0RBVEEpICQoc3JjZGlyKS9odG1sL2luZGV4LnNnbWwgJChERVNURElSKSQoVEFSR0VUX0RJUikgfHwgOjsgXAorCSAgd2hpY2ggZ3RrZG9jLXJlYmFzZSA+L2Rldi9udWxsICYmIFwKKwkgICAgZ3RrZG9jLXJlYmFzZSAtLXJlbGF0aXZlIC0tZGVzdC1kaXI9JChERVNURElSKSAtLWh0bWwtZGlyPSQoREVTVERJUikkKFRBUkdFVF9ESVIpIDsgXAorCWZpCisJCisKK3VuaW5zdGFsbC1sb2NhbDoKKwlybSAtZiAkKERFU1RESVIpJChUQVJHRVRfRElSKS8qCisKKyMKKyMgUmVxdWlyZSBndGstZG9jIHdoZW4gbWFraW5nIGRpc3QKKyMKK2lmIEVOQUJMRV9HVEtfRE9DCitkaXN0LWNoZWNrLWd0a2RvYzoKK2Vsc2UKK2Rpc3QtY2hlY2stZ3RrZG9jOgorCUBlY2hvICIqKiogZ3RrLWRvYyBtdXN0IGJlIGluc3RhbGxlZCBhbmQgZW5hYmxlZCBpbiBvcmRlciB0byBtYWtlIGRpc3QiCisJQGZhbHNlCitlbmRpZgorCitkaXN0LWhvb2s6IGRpc3QtY2hlY2stZ3RrZG9jIGRpc3QtaG9vay1sb2NhbAorCW1rZGlyICQoZGlzdGRpcikvdG1wbAorCW1rZGlyICQoZGlzdGRpcikveG1sCisJbWtkaXIgJChkaXN0ZGlyKS9odG1sCisJLWNwICQoc3JjZGlyKS90bXBsLyouc2dtbCAkKGRpc3RkaXIpL3RtcGwKKwktY3AgJChzcmNkaXIpL3htbC8qLnhtbCAkKGRpc3RkaXIpL3htbAorCWNwICQoc3JjZGlyKS9odG1sLyogJChkaXN0ZGlyKS9odG1sCisJLWNwICQoc3JjZGlyKS8kKERPQ19NT0RVTEUpLnR5cGVzICQoZGlzdGRpcikvCisJLWNwICQoc3JjZGlyKS8kKERPQ19NT0RVTEUpLXNlY3Rpb25zLnR4dCAkKGRpc3RkaXIpLworCWNkICQoZGlzdGRpcikgJiYgcm0gLWYgJChESVNUQ0xFQU5GSUxFUykKKwktZ3RrZG9jLXJlYmFzZSAtLW9ubGluZSAtLXJlbGF0aXZlIC0taHRtbC1kaXI9JChkaXN0ZGlyKS9odG1sCisKKy5QSE9OWSA6IGRpc3QtaG9vay1sb2NhbCBkb2NzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ib25vYm8vbGliYm9ub2JvLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Jvbm9iby9saWJib25vYm8uaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwZjYxNjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ib25vYm8vbGliYm9ub2JvLmluYwpAQCAtMCwwICsxLDI5IEBACitERVNDUklQVElPTiA9ICJCb25vYm8gQ09SQkEgaW50ZXJmYWNlcyBsaWJyYXJ5IgorTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTdmYmMzMzgzMDlhYzM4ZmVmY2Q2NGIwNGJiOTAzZTM0IgorU0VDVElPTiA9ICJ4MTEvZ25vbWUvbGlicyIKK0RFUEVORFMgPSAiZ2xpYi0yLjAgb3JiaXQyIGludGx0b29sLW5hdGl2ZSBsaWJ4bWwyIGRidXMgZGJ1cy1nbGliIgorCitpbmhlcml0IGdub21lYmFzZSBndGstZG9jIGxpYl9wYWNrYWdlCisKK09SQklUX0lETF9TUkMgPSAiJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L29yYml0LWlkbC0yIgorCitSREVQRU5EU18ke1BOfS1iaW4gPSAiJHtQTn0gcGVybCIKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vb3JiaXQtMi4wLyouc28gJHtsaWJkaXJ9L2Jvbm9iby9tb25pa2Vycy8qLnNvIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vYm9ub2JvL21vbmlrZXJzLy5kZWJ1ZyBcCisgICAgJHtsaWJkaXJ9L2Jvbm9iby0yLjAvc2FtcGxlcy8uZGVidWcgJHtsaWJkaXJ9L29yYml0LTIuMC8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9vcmJpdC0yLjAvKi5sYSAke2xpYmRpcn0vYm9ub2JvL21vbmlrZXJzLyoubGEgJHtsaWJkaXJ9L2Jvbm9iby0yLjAvc2FtcGxlcyIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L29yYml0LTIuMC8qLmEgJHtsaWJkaXJ9L2Jvbm9iby9tb25pa2Vycy8qLmEiCisKK0xFQURfU09OQU1FID0gImxpYmJvbm9iby0yLnNvIgorCitQQVJBTExFTF9NQUtFID0gIiIKKworZG9fY29tcGlsZSgpIHsKKyAgICBvZV9ydW5tYWtlIE9SQklUX0lETD0iJHtPUkJJVF9JRExfU1JDfSIKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIE9SQklUX0lETD0iJHtPUkJJVF9JRExfU1JDfSIgREVTVERJUj0iJHtEfSIgaW5zdGFsbAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvYm9ub2JvL2xpYmJvbm9iby8wMDAxLVJlbW92ZS11c2Utb2YtR19ESVNBQkxFX0RFUFJFQ0FURUQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ib25vYm8vbGliYm9ub2JvLzAwMDEtUmVtb3ZlLXVzZS1vZi1HX0RJU0FCTEVfREVQUkVDQVRFRC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NGNmMWY5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvYm9ub2JvL2xpYmJvbm9iby8wMDAxLVJlbW92ZS11c2Utb2YtR19ESVNBQkxFX0RFUFJFQ0FURUQucGF0Y2gKQEAgLTAsMCArMSw0NyBAQAorRnJvbSBmZWYxM2EzNzFmYzkxZjZkOWI0MjUxODEyNmMyYThiNDU5ZmRmMGU4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ29saW4gV2FsdGVycyA8d2FsdGVyc0B2ZXJidW0ub3JnPgorRGF0ZTogVGh1LCAyIE1heSAyMDEzIDE0OjE3OjM4IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIFJlbW92ZSB1c2Ugb2YgR19ESVNBQkxFX0RFUFJFQ0FURUQKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVGhpcyBub3cgdHJpcHMgdXAgb24gR1N0YXRpY1JlY011dGV4OyBJJ20gbm90IGdvaW5nIHRvIGJvdGhlciB0byBwb3J0LAorcmVhbGlzdGljYWxseSBubyBvbmUgaXMgYWN0aXZlbHkgbWFpbnRhaW5pbmcgdGhpcyBjb2RlIGFueW1vcmUuCisKK1Vwc3RyZWFtLVN0YXR1czogQXBwbGllZAorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBhY3RpdmF0aW9uLXNlcnZlci9NYWtlZmlsZS5hbSB8ICAgIDEgLQorIGNvbmZpZ3VyZS5pbiAgICAgICAgICAgICAgICAgIHwgICAgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYWN0aXZhdGlvbi1zZXJ2ZXIvTWFrZWZpbGUuYW0gYi9hY3RpdmF0aW9uLXNlcnZlci9NYWtlZmlsZS5hbQoraW5kZXggZWZiMThhOC4uZmZhOTBmNiAxMDA2NDQKKy0tLSBhL2FjdGl2YXRpb24tc2VydmVyL01ha2VmaWxlLmFtCisrKysgYi9hY3RpdmF0aW9uLXNlcnZlci9NYWtlZmlsZS5hbQorQEAgLTE3LDcgKzE3LDYgQEAgSU5DTFVERVM9CQkJCQlcCisgCSQoU0VSVkVSX0NGTEFHUykJCQlcCisgCSQoV0FSTl9DRkxBR1MpCQkJCVwKKyAJLURTRVJWRVJfQ09ORkRJUj1cIiQoc3lzY29uZmRpcilcIglcCistCS1ER19ESVNBQkxFX0RFUFJFQ0FURUQJCQlcCisgCS1ER19MT0dfRE9NQUlOPVwiQm9ub2JvLUFjdGl2YXRpb24tU2VydmVyXCIgXAorIAkkKE5VTEwpCisgCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCitpbmRleCA3MGE0ZTI2Li42YmUyYmNhIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmluCisrKysgYi9jb25maWd1cmUuaW4KK0BAIC0xMzIsNyArMTMyLDcgQEAgQUNfU1VCU1QoU0VSVkVSX0xJQlMpCisgQUNfU1VCU1QoU0VSVkVSX0NGTEFHUykKKyAKKyBpZiB0ZXN0ICIkZW5hYmxlX21haW50YWluZXJfbW9kZSIgPSAieWVzIjsgdGhlbgorLQlESVNBQkxFX0RFUFJFQ0FURURfQ0ZMQUdTPSItREdfRElTQUJMRV9ERVBSRUNBVEVEIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyIKKysJRElTQUJMRV9ERVBSRUNBVEVEX0NGTEFHUz0iLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIgorIAlBQ19TVUJTVChESVNBQkxFX0RFUFJFQ0FURURfQ0ZMQUdTKQorIGZpCisgCistLSAKKzEuNy42LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvYm9ub2JvL2xpYmJvbm9iby9kby1ub3QtdXNlLXNyY2Rpci12YXJpYWJsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Jvbm9iby9saWJib25vYm8vZG8tbm90LXVzZS1zcmNkaXItdmFyaWFibGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTIwZWRkYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Jvbm9iby9saWJib25vYm8vZG8tbm90LXVzZS1zcmNkaXItdmFyaWFibGUucGF0Y2gKQEAgLTAsMCArMSwyNCBAQAorfCB0ZXN0cy9NYWtlZmlsZS5hbTo1NTogZXJyb3I6IHVzaW5nICckKHNyY2RpciknIGluIFRFU1RTIGlzIGN1cnJlbnRseSBicm9rZW46ICckKHNyY2RpcikvdGUKK3N0LXByb3BlcnRpZXMuc2gnCit8IHRlc3RzL3Rlc3QtYWN0aXZhdGlvbi9NYWtlZmlsZS5hbTo3Njogd2FybmluZzogJ0lOQ0xVREVTJyBpcyB0aGUgb2xkIG5hbWUgZm9yICdBTV9DUFBGTEFHUworJyAob3IgJypfQ1BQRkxBR1MnKQorfCB1dGlscy9NYWtlZmlsZS5hbTo5OiB3YXJuaW5nOiAnSU5DTFVERVMnIGlzIHRoZSBvbGQgbmFtZSBmb3IgJ0FNX0NQUEZMQUdTJyAob3IgJypfQ1BQRkxBR1MKKycpCit8IGF1dG9yZWNvbmY6IGF1dG9tYWtlIGZhaWxlZCB3aXRoIGV4aXQgc3RhdHVzOiAxCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitVcHN0cmVhbS1TdGF0dXM6IE5vdCBTdWJtaXR0ZWQKKworSW5kZXg6IGxpYmJvbm9iby0yLjMyLjEvdGVzdHMvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsaWJib25vYm8tMi4zMi4xLm9yaWcvdGVzdHMvTWFrZWZpbGUuYW0JMjAxMC0wOC0yOSAwNDo1NjowMC4wMDAwMDAwMDAgLTA3MDAKKysrKyBsaWJib25vYm8tMi4zMi4xL3Rlc3RzL01ha2VmaWxlLmFtCTIwMTQtMDQtMjUgMTU6Mzg6MjIuMDI0NzQ0Mzg0IC0wNzAwCitAQCAtNTUsNyArNTUsNyBAQAorIAlNT0RFTFNfRElSPSIkKHNyY2RpcikvbW9kZWxzIgorIAorIFRFU1RTID0gdGVzdC1tb25pa2VyJChFWEVFWFQpIHRlc3QtZXZlbnQtc291cmNlJChFWEVFWFQpIHRlc3Qtb2JqZWN0JChFWEVFWFQpIFwKKy0JdGVzdC1zdHJlYW0tbWVtJChFWEVFWFQpICQoc3JjZGlyKS90ZXN0LXByb3BlcnRpZXMuc2ggdGVzdC1zdG9yYWdlLW1lbSQoRVhFRVhUKSBcCisrCXRlc3Qtc3RyZWFtLW1lbSQoRVhFRVhUKSB0ZXN0LXByb3BlcnRpZXMuc2ggdGVzdC1zdG9yYWdlLW1lbSQoRVhFRVhUKSBcCisgCXRlc3QtbWFpbi1sb29wJChFWEVFWFQpCisgCisgIyBURVNUUyArPSB0ZXN0LWdlbmVyaWMtZmFjdG9yeS5zaApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvYm9ub2JvL2xpYmJvbm9ib18yLjMyLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ib25vYm8vbGliYm9ub2JvXzIuMzIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZDRkODEyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvYm9ub2JvL2xpYmJvbm9ib18yLjMyLjEuYmIKQEAgLTAsMCArMSw4IEBACityZXF1aXJlIGxpYmJvbm9iby5pbmMKKworU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtUmVtb3ZlLXVzZS1vZi1HX0RJU0FCTEVfREVQUkVDQVRFRC5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vZG8tbm90LXVzZS1zcmNkaXItdmFyaWFibGUucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIyN2ZhOTAyZDRmZGY2NzYyZWUwMTBlNzA1M2FhZjc3YiIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjkxNjBkNGYyNzc2NDY0MDBkM2JiNmI0ZmE3MzYzNmNjNmQxYTg2NWEzMmI5ZDA3NjBlMWU5ZTZlZTYyNDk3NmIiCitHTk9NRV9DT01QUkVTU19UWVBFPSJiejIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ib25vYm8vbGliYm9ub2JvdWlfMi4yNC41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvYm9ub2JvL2xpYmJvbm9ib3VpXzIuMjQuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MjdmMzdlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvYm9ub2JvL2xpYmJvbm9ib3VpXzIuMjQuNS5iYgpAQCAtMCwwICsxLDIxIEBACitTRUNUSU9OID0gIngxMS9nbm9tZS9saWJzIgorTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTdmYmMzMzgzMDlhYzM4ZmVmY2Q2NGIwNGJiOTAzZTM0IgorCitpbmhlcml0IGdub21lYmFzZSBwa2djb25maWcgZ3RrLWRvYworCitTUkNfVVJJICs9ICJmaWxlOi8vZ2NjNS5wYXRjaCIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiODUzYmU4ZTI4YWFhNGNlNDhiYTYwYmU3ZDkwNDZiZjQiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJmYWI1ZjJhYzZjODQyZDk0OTg2MWMwN2NiNTIwYWZlNWJlZTNkY2U1NTgwNTE1MWNlOWNkMDFiZTBlYzQ2ZmNkIgorR05PTUVfQ09NUFJFU1NfVFlQRT0iYnoyIgorCitERVBFTkRTID0gImxpYmdub21lY2FudmFzIGxpYmJvbm9ibyBsaWJnbm9tZSBnbGliLTIuMCBnY29uZiBsaWJ4bWwyIGxpYmdsYWRlIGdub21lLWNvbW1vbiBpbnRsdG9vbC1uYXRpdmUiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vbGliZ2xhZGUvMi4wLyouc28iCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9saWJnbGFkZS8yLjAvKi5sYSAke2RhdGFkaXJ9L2dub21lLTIuMC91aSBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9ib25vYm8tMi4wL3NhbXBsZXMiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9saWJnbGFkZS8yLjAvKi5hIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vYm9ub2JvLTIuMC9zYW1wbGVzLy5kZWJ1ZyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9saWJnbGFkZS8yLjAvLmRlYnVnIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGNvbmYvZGNvbmZfMC4xOC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGNvbmYvZGNvbmZfMC4xOC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiNmYxNWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9kY29uZi9kY29uZl8wLjE4LjAuYmIKQEAgLTAsMCArMSwyOSBAQAorU1VNTUFSWSA9ICJjb25maWd1YXRpb24gZGF0YWJhc2Ugc3lzdGVtIgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTJkNTAyNWQ0YWEzNDk1YmVmZWY4ZjE3MjA2YTViMGExIgorCitTRUNUSU9OID0gIngxMS9nbm9tZSIKKworaW5oZXJpdCBnbm9tZWJhc2UgZ3NldHRpbmdzCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI2OWExMmVkNjg4OTNmMmUxZTgxYWM0ZTUzMWJjMTUxNSIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjEwOWIxYmM2MDc4NjkwYWYxZWQ4OGNiMTQ0ZWY1YzVhZWU3MzA0NzY5ZDhiZGM4MmVkNDhjMzY5NmYxMGM5NTUiCitHTk9NRV9DT01QUkVTU19UWVBFID0gInh6IgorCitERVBFTkRTID0gImdsaWItMi4wIGd0ayszIGxpYnhtbDIiCisKK2luaGVyaXQgdmFsYSBndGstZG9jCisKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLW1hbiIKKworUEFDS0FHRVMgPSsgImRjb25mLWVkaXRvciIKKworRklMRVNfJHtQTn0gKz0gIiBcCisJJHtkYXRhZGlyfS9kYnVzLTEgXAorCSR7bGliZGlyfS9naW8vbW9kdWxlcy8qLnNvIFwKKyIKK0ZJTEVTX2Rjb25mLWVkaXRvciA9ICIgXAorCSR7YmluZGlyfS9kY29uZi1lZGl0b3IgXAorCSR7ZGF0YWRpcn0vaWNvbnMgXAorCSR7ZGF0YWRpcn0vYmFzaC1jb21wbGV0aW9uIFwKKyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2dpby9tb2R1bGVzLy5kZWJ1Zy9saWJkY29uZnNldHRpbmdzLnNvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGVza3RvcC1maWxlLXV0aWxzL2Rlc2t0b3AtZmlsZS11dGlsc18wLjE4LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGVza3RvcC1maWxlLXV0aWxzL2Rlc2t0b3AtZmlsZS11dGlsc18wLjE4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3YTg3MjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9kZXNrdG9wLWZpbGUtdXRpbHMvZGVza3RvcC1maWxlLXV0aWxzXzAuMTguYmIKQEAgLTAsMCArMSwxOCBAQAorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2FyZS9kZXNrdG9wLWZpbGUtdXRpbHMiCitERVNDUklQVElPTiA9ICJkZXNrdG9wLWZpbGUtdXRpbHMgY29udGFpbnMgYSBmZXcgY29tbWFuZCBsaW5lIHV0aWxpdGllcyBmb3Igd29ya2luZyB3aXRoIGRlc2t0b3AgZW50cmllczoiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitERVBFTkRTID0gImdsaWItMi4wIgorCitQUiA9ICJyMSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy9zb2Z0d2FyZS9kZXNrdG9wLWZpbGUtdXRpbHMvcmVsZWFzZXMvZGVza3RvcC1maWxlLXV0aWxzLSR7UFZ9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiZDk2NmI3NDNlYjM5NDY1MGY5OGQ1ZGQ1NmI5YWVjZTEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDk0NDk5NTZjMWM4Y2FhNzUyODFhMzMyMmIyYmI0MzNkYjQyNjEwOTQyZjBjZWVhYTY1Y2NkOTYzNmMwNDIzMSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0NBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJhY19jdl9wcm9nX0VNQUNTPW5vIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Rldmlsc3BpZS9kZXZpbHNwaWUyXzAuMzMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9kZXZpbHNwaWUvZGV2aWxzcGllMl8wLjMzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwMGE0NDkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9kZXZpbHNwaWUvZGV2aWxzcGllMl8wLjMzLmJiCkBAIC0wLDAgKzEsMzAgQEAKK0RFU0NSSVBUSU9OID0gIkRldmlsc3BpZTIgaXMgYSB3aW5kb3cgbWF0Y2hpbmcgdXRpbGl0eSwgYWxsb3dpbmcgdGhlIHVzZXIgdG8gcGVyZm9ybSBzY3JpcHRlZCBhY3Rpb25zIG9uIHdpbmRvd3MgYXMgdGhleSBhcmUgY3JlYXRlZCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ3VzbmFuLnNlL2Rldmlsc3BpZTIiCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDBhZWZhYTUwYWFkNzVjMjEzNjdkZjY2MTAyZDU0MmMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vR1BMMy50eHQ7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitERVBFTkRTID0gImd0aysgZ2xpYi0yLjAgbGlid25jayBsdWEgdmlydHVhbC9saWJ4MTEiCisKK1NSQ19VUkkgPSAiIFwKKyAgICBodHRwOi8vd3d3Lmd1c25hbi5zZS9kZXZpbHNwaWUyL2Rvd25sb2FkL2Rldmlsc3BpZTJfJHtQVn0tc3JjLnRhci5neiBcCisgICAgZmlsZTovL2RlZmF1bHQubHVhIFwKKyAgICBmaWxlOi8vZGV2aWxzcGllMi5kZXNrdG9wIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5OWM4OGY3MDJlMTM0ZDJiMmYyZjhjYWFkNGIxZWYwMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwMWEyZWJjZWNlMTQwNjVjOWEyZTQ3ZGVjZDgxMzQxZTJhNmY2M2UzYmY0M2ZmNDQ2MTAzNjg2NzE4NzQ4MzU2IgorCitpbmhlcml0IHBrZ2NvbmZpZworCitkb19jb21waWxlKCkgeworICAgIGV4cG9ydCBHVEsyPTEKKyAgICBvZV9ydW5tYWtlIENDPSIke0NDfSIgQ1BQRkxBR1M9IiR7Q1BQRkxBR1N9IiBMREZMQUdTPSIgLWxkbCAtbG0gJHtMREZMQUdTfSIKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIERFU1RESVI9IiR7RH0iIFBSRUZJWD0iJHtwcmVmaXh9IiBpbnN0YWxsCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vZGV2aWxzcGllMgorICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vZGVmYXVsdC5sdWEgJHtEfS8ke3N5c2NvbmZkaXJ9L2Rldmlsc3BpZTIKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS94ZGcvYXV0b3N0YXJ0CisgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9kZXZpbHNwaWUyLmRlc2t0b3AgJHtEfS8ke3N5c2NvbmZkaXJ9L3hkZy9hdXRvc3RhcnQKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Rldmlsc3BpZS9maWxlcy9kZWZhdWx0Lmx1YSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Rldmlsc3BpZS9maWxlcy9kZWZhdWx0Lmx1YQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMmExN2ZlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGV2aWxzcGllL2ZpbGVzL2RlZmF1bHQubHVhCkBAIC0wLDAgKzEsNDYgQEAKKy0tIENvcHlyaWdodCAoYykgMjAxMiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLQorLS0gdGhpcyBpcyBhbiBleGFtcGxlIAorLS0gKiB1bmRlY29yYXRpbmcgYWxsIHdpbmRvd3Mgb3BlbmVkIG1heGltaXplZAorLS0gKiBtYXhpbWl6aW5nIGFuZCB1bmRlY29yYXRpbmcgYWxsIGFwcHBsaWNhdGlvbidzIHdpbmRvd3MgaW4gYXBwc19saXN0CistLSBmb3IgZnVydGhlciBpbmZvcm1hdGlvbiBzZWUKKy0tIGh0dHA6Ly93d3cuZ3VzbmFuLnNlL2Rldmlsc3BpZTIvbWFudWFsLnBocAorCit3bmRfdHlwZSA9IGdldF93aW5kb3dfdHlwZSgpCisKK2lmKHduZF90eXBlID09ICJXSU5ET1dfVFlQRV9OT1JNQUwiKSB0aGVuCisKKwktLSBhZGQgb25seSBhcHBsaWNhdGlvbnMgeW91IHdhbnQgbWF4aW1pemVkK3VuZGVjb3JhdGVkIGFuZAorCS0tIHdoaWNoIGRvbid0IGtlZXAgbWF4aW1pemVkIHN0YXRlCisJYXBwc19saXN0ID0gCisJeworCQkiVGVybWluYWwiLAorCQkicmlzdHJldHRvIiwKKwkJInhhcmNoaXZlciIsCisJfQorCisJYXBwX25hbWUgPSBnZXRfYXBwbGljYXRpb25fbmFtZSgpCisKKwktLSB0byBoYXZlIHNvbWUgaW5mb3JtYXRpb25hbCBvdXRwdXQsIHN0YXJ0IGRldmlsc3BpZTIgd2l0aCAtLWRlYnVnIAorCS0tIG9wdGlvbiBhbmQgdW5jb21tZW50IHRoZSBmb2xsb3dpbmcgbGluZXM6CisKKwktLWRlYnVnX3ByaW50ICgiV2luZG93IE5hbWU6ICIgLi4gZ2V0X3dpbmRvd19uYW1lKCkpCisJLS1kZWJ1Z19wcmludCAoIkFwcGxpY2F0aW9uIG5hbWU6ICIgLi4gYXBwX25hbWUpCisJLS1kZWJ1Z19wcmludCAoIndpbmRvdy10eXBlOiAiIC4uIHduZF90eXBlKQorCisJLS0gdW5kZWNvcmF0ZSBhbGwgd2luZG93cyBzdGFydGluZyBtYXhpbWl6ZWQgCisJaWYgKGdldF93aW5kb3dfaXNfbWF4aW1pemVkKCkpIHRoZW4KKwkJdW5kZWNvcmF0ZV93aW5kb3coKQorCisJLS0gbWF4aW1pemUvdW5kZWNvcmF0ZSBhbGwgd2luZG93cyBpbiBhcHBzX2xpc3QKKwktLSAodW5mb3J0dW5hdGVseSBmb3Igc29tZSBhbHNvIHRoZWlyIHNldHRpbmdzKQorCWVsc2UKKwkJZm9yIGxpbmUsIHN0ciBpbiBpcGFpcnMoYXBwc19saXN0KSBkbworCQkJaWYgKHN0cmluZy5maW5kKGFwcF9uYW1lLCBzdHIpKSB0aGVuCisJCQkJbWF4aW1pemUoKQorCQkJCXVuZGVjb3JhdGVfd2luZG93KCkKKwkJCQlicmVhaworCQkJZW5kCisJCWVuZAorCWVuZAorZW5kCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9kZXZpbHNwaWUvZmlsZXMvZGV2aWxzcGllMi5kZXNrdG9wIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGV2aWxzcGllL2ZpbGVzL2Rldmlsc3BpZTIuZGVza3RvcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMzRlODgxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGV2aWxzcGllL2ZpbGVzL2Rldmlsc3BpZTIuZGVza3RvcApAQCAtMCwwICsxLDUgQEAKK1tEZXNrdG9wIEVudHJ5XQorVHlwZT1BcHBsaWNhdGlvbgorTmFtZT1EZXZpbHNwaWUyCitFeGVjPWRldmlsc3BpZTIgLWYgL2V0Yy9kZXZpbHNwaWUyCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvMDAwMS1jb250YWN0LVJlcGxhY2UtdGhlLU5vdmVsbC1zYW1wbGUtY29udGFjdC13aXRoLXNvbWV0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZWRzL2V2b2x1dGlvbi1kYXRhLXNlcnZlci8wMDAxLWNvbnRhY3QtUmVwbGFjZS10aGUtTm92ZWxsLXNhbXBsZS1jb250YWN0LXdpdGgtc29tZXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjc3ZTdiOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvMDAwMS1jb250YWN0LVJlcGxhY2UtdGhlLU5vdmVsbC1zYW1wbGUtY29udGFjdC13aXRoLXNvbWV0LnBhdGNoCkBAIC0wLDAgKzEsMjE1IEBACitGcm9tIDRkZjhiZDhhZTQyNTgyODk2NjNiMjdhZjEyMDcwMjdjN2VlMDYzNDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitEYXRlOiBTdW4sIDQgQXVnIDIwMTMgMDk6MTM6MjUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzVdIGNvbnRhY3Q6IFJlcGxhY2UgdGhlIE5vdmVsbCBzYW1wbGUgY29udGFjdCB3aXRoIHNvbWV0aGluZworIG1vcmUgYXBwcm9wcmlhdGUKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgYWRkcmVzc2Jvb2svYmFja2VuZHMvZmlsZS9NYWtlZmlsZS5hbSAgICB8ICAgMSArCisgYWRkcmVzc2Jvb2svbGliZWRhdGEtYm9vay94aW1pYW4tdmNhcmQuaCB8IDE3OSArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxMDMgaW5zZXJ0aW9ucygrKSwgNzcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9hZGRyZXNzYm9vay9iYWNrZW5kcy9maWxlL01ha2VmaWxlLmFtIGIvYWRkcmVzc2Jvb2svYmFja2VuZHMvZmlsZS9NYWtlZmlsZS5hbQoraW5kZXggMDhjZjU4Zi4uMTdlNzE0OSAxMDA2NDQKKy0tLSBhL2FkZHJlc3Nib29rL2JhY2tlbmRzL2ZpbGUvTWFrZWZpbGUuYW0KKysrKyBiL2FkZHJlc3Nib29rL2JhY2tlbmRzL2ZpbGUvTWFrZWZpbGUuYW0KK0BAIC0yLDYgKzIsNyBAQCBlYm9va19iYWNrZW5kX0xUTElCUkFSSUVTID0gbGliZWJvb2tiYWNrZW5kZmlsZS5sYQorIAorIGxpYmVib29rYmFja2VuZGZpbGVfbGFfQ1BQRkxBR1MgPSBcCisgCSQoQU1fQ1BQRkxBR1MpCQkJCQlcCisrCS1EQ1JFQVRFX0RFRkFVTFRfVkNBUkQgXAorIAktREdfTE9HX0RPTUFJTj1cImxpYmVib29rYmFja2VuZFwiCQlcCisgCS1JJCh0b3Bfc3JjZGlyKQkJCQkJXAorIAktSSQodG9wX2J1aWxkZGlyKQkJCQlcCitkaWZmIC0tZ2l0IGEvYWRkcmVzc2Jvb2svbGliZWRhdGEtYm9vay94aW1pYW4tdmNhcmQuaCBiL2FkZHJlc3Nib29rL2xpYmVkYXRhLWJvb2sveGltaWFuLXZjYXJkLmgKK2luZGV4IDc4MmQzN2IuLjViMGIyNTAgMTAwNjQ0CistLS0gYS9hZGRyZXNzYm9vay9saWJlZGF0YS1ib29rL3hpbWlhbi12Y2FyZC5oCisrKysgYi9hZGRyZXNzYm9vay9saWJlZGF0YS1ib29rL3hpbWlhbi12Y2FyZC5oCitAQCAtMSw4MCArMSwxMDUgQEAKKyAjZGVmaW5lIFhJTUlBTl9WQ0FSRCBcCisgIkJFR0lOOlZDQVJEXG4iIFwKKy0iWC1FVk9MVVRJT04tRklMRS1BUzpOb3ZlbGwgWGltaWFuIEdyb3VwXG4iIFwKKy0iQURSO1RZUEU9V09SSzo7U3VpdGUgNTAwOzggQ2FtYnJpZGdlIENlbnRlcjtDYW1icmlkZ2U7TUE7MDIxNDI7VVNBXG4iIFwKKy0iTEFCRUw7VFlQRT1XT1JLOjggQ2FtYnJpZGdlIENlbnRlciwgU3VpdGUgNTAwXFxuQ2FtYnJpZGdlXFwsIE1BXFxuMDIxNDJcXG5VU0FcbiIgXAorLSJURUw7V09SSztWT0lDRTooNjE3KSA2MTMtMjAwMFxuIiBcCistIlRFTDtXT1JLO0ZBWDooNjE3KSA2MTMtMjAwMVxuIiBcCistIkVNQUlMO0lOVEVSTkVUOmhlbGxvQHhpbWlhbi5jb21cbiIgXAorLSJVUkw6aHR0cDovL3d3dy54aW1pYW4uY29tL1xuIiBcCistIk9SRzpOb3ZlbGw7WGltaWFuIEdyb3VwXG4iIFwKKy0iUEhPVE87RU5DT0RJTkc9YjtUWVBFPUpQRUc6LzlqLzRBQVFTa1pKUmdBQkFRRUFSd0JIQUFELy9nQVhRM0psWVhSbFpDQjNhWFJvXG4iIFwKKy0iIElGUm9aU0JIU1UxUS85c0FRd0FJQmdZSEJnVUlCd2NIQ1FrSUNnd1VEUXdMQ3d3WkVoTVBGQjBhSHg0ZEdod2NJQ1F1SnlBaUxDTVxuIiBcCistIiBjSENnM0tTd3dNVFEwTkI4bk9UMDRNand1TXpReS85c0FRd0VKQ1FrTUN3d1lEUTBZTWlFY0lUSXlNakl5TWpJeU1qSXlNakl5TWpcbiIgXAorLSIgSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeS84QUFFUWdBYmdCa0F3RWlBQUlSQVFNUkFmL0VBXG4iIFwKKy0iIEJ3QUFBSURBUUVCQVFBQUFBQUFBQUFBQUFBSEJRWUlCQU1CQXYvRUFFWVFBQUVEQXdFRkJnTUVCZ1FQQUFBQUFBRUNBd1FBQlJFR1xuIiBcCistIiBCeEloTVdFVElrRlJjWUVVa2FFSU1rTEJGU05Tc2JMUkZtSnlkUmdrTXpZM1EwUkdncEtUb3NMaDhQL0VBQnNCQVFBQ0F3RUJBQUFcbiIgXAorLSIgQUFBQUFBQUFBQUFBRUJRSURCZ0VILzhRQUxSRUFBUU1DQXdZR0FnTUFBQUFBQUFBQUFRQUNBd1FSRWlGUkJSTWlNVUZoTW5HQmtiXG4iIFwKKy0iIEhSQnNFVW9mRC8yZ0FNQXdFQUFoRURFUUEvQUgvUlJSUkVWd1hlOVcyd3dGemJwTlppeGtjMXVxd1BRZVo2Q29IWGV2TGZvbTFkc1xuIiBcCistIiA5aDZhNkQ4UEdDc0ZaSE1rK0NSNG44Nnl6ZGJycWZhWnFZQlNucDBoUlBaTW9HNjJ5bm9PU1IxUHVhOExnMFhQSmVnWDVKdjZrKzBcbiIgXAorLSIgYkJqcld4cDIyTGxrY0JJbEhzMEhxRWppUjY0cGVUOXVtdXBxeVdyaEhocFA0V0k2ZUh1cmVOVzdUbXcrREdhVEkxRkpWSmR4a3NNXG4iIFwKKy0iIHFLRzA5Q3JtZmJGTUNIcEN3MnhBVERzOEpySDRneWtxK1o0bXFpZmJNVVpzeHBkL1FVbGxLNTNNMlNDYjJ4YStiWHZmMGdjVjBVd1xuIiBcCistIiAwUi9EVmt0SDJoZFV3bHBGeGpRcmcxNDkwdExQdU9IMHB2djJxRTRqZGNoeDFwOGxOQWo5MVZhODdPdE0zUkN0KzJOeDNEeWNpL3FcbiIgXAorLSIgeVBZY0Q3ZzFFWitSUjRyU01JOWIvUzJtaGRiaEtzbWtkdFdtTlR1TnhuWFZXMmN2Z0daUkFTbytTVjhqNzRQU21PbFFVTXBPUldQXG4iIFwKKy0iIE5VN01yalkwcmxRRm1kRFR4T0U0Y1FPbzhSMUh5cWUyWjdaSjJtMzJiWGZIbkpWcEpDVXVxTzh1UDcrS2VuaDRlVlhrRlJGVU14eFxuIiBcCistIiBHNFVPU04wWnM0TFUxRmVFT1d4T2l0eVl6cUhXWEVoU0ZvT1FvSGtRYTk2M3JCRkZGRkVSVWRmcjFFMDlZNWQxbXIzWThac3JWNW5cbiIgXAorLSIgeUE2azRBNm1wR2tMOW9qVXltMFcvVHJMbUFzR1UrQWVZQndnZlBKLzRSUkVxcnJjYjF0SjFvVXBCWExtT2JxVVo3clNCeVQwU2taXG4iIFwKKy0iIEo4emsxcEhRbWlMWG8renBiYWJDM1NBcDU1UTd6eXZNOVBJVXVkaUdtVVJiUzdmcENNdnpGRnRvbjhMU1R4eDZxSDBGTTdWVjlWWVxuIiBcCistIiA5TXpaN2FRdDV0QVN3MysyNm9oS0IvekVWU1ZGVnZaekdNdzAydHFlL2twYkk4TE1SNi9DL1h4cTlRYWdmYmJQK0lXMVFRNFJ5Y2ZcbiIgXAorLSIgeG5jSFJBSUovckVmc211MmE5RmdzbDJYSVpqdGo4YnF3Z2ZNMSs5TDJWRmtzRVNBVjlvNmhHODg2ZWJqcWp2TFdlcFVTYXJ1dGRuXG4iIFwKKy0iIE1YVitvYlJjWmtzL0N3Q1E1REtNcGVCT1R4end6Z0E5S3dmVHRmeFBPU0I1R1FVWGM5cE9qb0MrelhlMkhWNXhpT0M2UG1rRWZXcFxuIiBcCistIiB4ZTZ0QVdnaFNWRElJT1FSWHhla05PeDRiMFdQWllMTFRyYW0xOW13bEpLU01IampOVXpRZDJkWk03U054Y3pjTE9zdHRxVnpkWXpcbiIgXAorLSIgM0Zld0k5aUtwSzJtak1aZEZlN2VkOU5mVDlxWkRJNE9BZDFWa2tvNTBuZG91aTIya3VYcTJOQk9POUpaU09IOXNEOS96ODZjOGdjXG4iIFwKKy0iIERVSk5RbGFGSlVrS1NvWUlJNEVWR29LcDlQSUh0OWU2bHlSTmxaaGNxbHNKMmd1UXB5ZEwzRjRtTzdrdzFLUDNGY3lqMFBFanJuelxuIiBcCistIiByU0FJSXlPVllmdnNKM1RHcWxDS3BUZll1SmZqTEhNRE9SOGp3OXEyRm95K28xRnBXQmNrWS9YTXBVb2VSeHhIc2NpdS9qZUpHQjdcbiIgXAorLSIgZVJYUHZhV3VMVDBVL1JSUldheFFlVlk4MngzQlZ3Mm9YYkp5aGdvWlIwQVFNL1VtdGhLKzZmU3NXYlJRVzlwVjczeC90WlB0d05FXG4iIFwKKy0iIFdqOU53MFd1d3dJS1FBR0k2Ry9jQVordFJXMGx4NW5URVc0TnRxZGF0OXhqeTVDRWpKTFNGWlA1SDJxYVlkQ2twVWs1QkdRYTdBcFxuIiBcCistIiBEclNtM0VwV2hZS1ZKVU1nZzh3Ulh6K2txeXlURzdWWFVzVjIyQ2xyZmM0OCtDek1pUEllanZJQzIzRUhJVURYTmU3OWI3SGJYYmhcbiIgXAorLSIgYzVTSThadm10WjVueUE1azlCUzdkMG5mZE1QdVNkRDNKdEVaYWl0ZG9tNVV6bngzRHpUNmNQV2t2cS9WMTYxMWZHVzVuWnRCQ2d5XG4iIFwKKy0iIHpGYlhodEN5Y0U1SnhrbnhQaFhSMDdSVWVCM0QxMUgrOWxBZndjeG1ycnFMYnhjSHBpa1dHQXcxRlNjQnlVa3FXdnJnRUJQcHhxaVxuIiBcCistIiB6dGRYV2RxbU5xSUlqeDdneWtKVXBoSkNYQU0vZUJKNWc0UFFDbUJaTmlES1dFdTM2NHVGMGpKWWg0QVQ2cVVEbjJGVnU2YlBJa1RcbiIgXAorLSIgYVRCMDh4S2VNT1UySDk5ZUN0S1J2WkdRTVo3aHdjZU5aeFZHenNibU16SUJ2NWRmTmVPam5zQ2RVd2JUdEtzVjhuSmdJY2Naa3F3XG4iIFwKKy0iIGxKY1RoRHF2Skp6OHM0elV0TFZ6cGMydlpaS3QrcUJJa3lVS3QwVjBPTktTZSs3ZzVTQ1BEcjlLdjB0em5YUDFjTk15UWZ4blhCQ1xuIiBcCistIiB0cVV5dUIzZ3NsZnRQakpMa0dXQjN1ODJvL0lqODZiZjJlN2lxUm94eUlwV2ZocEMwSkhRNFYvNUdsVnRKY0J0MFJQaVhpZiswMHdcbiIgXAorLSIgUHM1QlF0TnhQNFRKUDhLYTZyWlpKcFczNy9LcTY4QVRsUGVpaWlyQlEwSGxXUjl0OXFWYnRwRXAvZHdpWTBoNUo4TWdicC9oK3RhXG4iIFwKKy0iIDRwTTdmZEtMdW1uMnJ4R2JLbjRCS2w0SEV0bjczeXdEN0dpTDdvMjhKdXVsTGJLQ3NxTEtVTC90SjdwK29xeUllNGM2Ukd5elU0Z1xuIiBcCistIiBUSExOSmMzV3BDdDlnazhBNTRqM0dQY2RhWnVvb3N5ODJWMjNRcGFZcGtFSWRlSUpLVWVJQUhpZVhQa1RYQTExRHVhc3NKc0NlZllcbiIgXAorLSIgL1N2WVpONUZpR1pVOWVkUndMREFYSm55Mm1SdWtvU3RRQldRT1FIalNqZzdQWUU3Wm16Y1piN2NHNktLNUNaRDZ0eE9DY0pRdlBnXG4iIFwKKy0iIFFBUWZBbjJxNlJOT1dpMUQ5SjNSNWR3bFIyeG1aUFZ2OW1sSThCeVRqNTlhcjA5TG0walVJUWw1WTB6QVVNclFTUGlYZkhIcHl6NFxuIiBcCistIiBEMXFUUnZNUUlpZVFBUVhPdGxsZklEcmUvWDJXcVZtSThRejZEOXEwYlA5U08zN1NyU3BXOFpVVlh3N3ErWWNLZVNnZVJ5TVo2NXFcbiIgXAorLSIgcWFtbXZXVGFsRXYxeWpPSnRhV2ZoMjVDQnZCT1VrSFBseFVlSGx5cS9NaVBDaXR4b3JTR1dHMDdxRzBEQVNLNDV4Wmx4M0dKRGFIXG4iIFwKKy0iIFdsakNrTEdRUjZWR2luWTJvZklHOExyaTJnT2kzN2h4WUczekMrdVQySFk2WkRieUZNckFVbHdLN3BCNUhOUmNwN254cXB6ZE4zR1xuIiBcCistIiBDRlE3Tk9iVGEzbkFwY2FTTi9zdU9lNFNEdzZWSzNPNHN3b2pzcDlXR214azlmSURyVzRVeldrYnQySy92NjkxdmplYzhZdFpVVGFcbiIgXAorLSIgQkwrSXVNYUlqaVdXeXRYUW4vd0JENjA4dGd0clZDMFcyK3RPRlNGcWQ5aWNENkFWbm1GRmw2bjFBaG9BbVJQZHdjZmdSNG4ySDdxXG4iIFwKKy0iIDJQcGkxTjJleFJvamFRbEtFQklIa0FLN0dtaTNNVFdhTG42aVRlU0YrcW1hS0tLM3JTaXVlZEVhblEzSTdxUXBDMGtFRVp6WFJSUlxuIiBcCistIiBGam5hUm9TVm9xL0tjWVF2OUhPcjNtSEIvcXp6M1NlbmhWaTBmdEFibk5Od0xvNkc1aVFFb2RVY0pkOWZKWDc2MFpxTFRrSFVkc2RcbiIgXAorLSIgaFRXRU90dUp3UW9WbC9YR3lTN2Fha09Qd0duSmNET1J1akswRHFQSDJxSlYwY2RVekMvME9pM1FUdWhkZHFZODRJdUZ1a3duRkZLXG4iIFwKKy0iIEpEU21sRWN3RkRHUjg2SVNJMXRndFE0allhWWFUdW9TUC91ZEpTMWF6dkZvQVpMbmJzcDRkbS9rbFBRSG1LczBmYVZFV2tmRXczMlxuIiBcCistIiAxZjFDRmo4cTU2WFpOU3dZRzV0N2ZTdDQ2eUI1dWNpbU01TDRjNjQzcFhXcVU1dEN0ZU1wUktVZklJSDg2aXBtdm5uQVV3b1FTZjJcbiIgXAorLSIgM2xaK2cvbldFZXk1eWZDdHJxdUJvOFN1MCs0c1E0NnBFcDFMVFNlWlVmb1BPbG5mcjY3ZlpLUWxLMFFrSy9WdGZpY1Y1bnJYT2tYXG4iIFwKKy0iIFhVazlLUUhwMGduZ2hJN3FQeUFwMWJPZGtDbUgycm5lUUhIeHhRakhkYjlPdldyMmoyYzJEaWRtNzRWWlZWcGxHRnVRWFJzYzJmT1xuIiBcCistIiBRZ2IxY21zU1hRTjFKSCtUVDREK2RQRUFBQURrSzg0OGR1TXlscHBJU2tER0JYclZrb0NLS0tLSWlpcXJyYlg5bTBKQVJJdWExcmVcbiIgXAorLSIgZEpETWRvQXJjSTU4K0FBOHpWTHNPMjZScWlTOUdzdWtwY3Q1bEhhS2JUTGFTcmQ4d0ZFWjlzMFJONnZHUkdaa3RsRHFBb0h6RktxXG4iIFwKKy0iIEp0b216clBPdXpHalp2d0VCUlRKZmNrdHRwYlVPYWU5ako1Y0JrOFI1MTRXcmJvN2U0ODkrM2FUbHZ0UUdUSWtxRWxzZG0yTWtxNFxuIiBcCistIiA0enlQS2lLZjFIc2owOWZsS2RYRVFoNC9qUjNWZk1VdkovMmV0MVpNT2U4a2VTZ0ZmeXF6MkxiZkoxTTlJWnMya0pzeDJPMFhuRU5cbiIgXAorLSIgeUVBaEE0WndjWjU4aHhyN1pkdGt2VVM1U2JUbzJmSk1Sc3VQa1BvU0cwanpLc0RQUGh6NEh5b2lwRGV3QzQ3K0ZYRldPallINTFZXG4iIFwKKy0iIGJUc0FndHJTcWM4OC9qd1dyQStReFVsWXR1anVwWjZvTm8wbkxsU1V0cWRLRXlXMDRTTVpPVllIaUtqUDhBQ1V0NS93QjNwWC9YVFxuIiBcCistIiAvS2lKbldMUTFuc1RTVVJvcmFkMzlsSUZXWktVb1RoSUFIU2xOcURiTFAwc2lLdTk2TW5RMHlnU3lWeUd6dll4bmxuQjRqZ2E4N0ZcbiIgXAorLSIgdHRsYW1YSmJzMmo1MHhjWnZ0WFV0eUVaQ2ZQQjUrZ3lhSW05UlNldG0zSjY4UmJoSmdhU21QTTI1dnRaYXZpVzA5a25qeElPTThqXG4iIFwKKy0iIHk4cTdMSHR6c3R3di9BT2hybEJmdGtrdWRrRk9MUzQzdjV4Z3FTZUhIeDVkYUltclJYNVF0SzBoU1RrR2lpTE1QMmhvOHdhMWlTblxuIiBcCistIiBRb3hWUlEyMGZBS0NsRlE5ZUlxcTdMTEplN3ZyZUc3WlpDb1pocUQ4aVpqdXN0am5ud09Sa1k4YytXYTFacWJTdHQxUEJNYTRNSWRcbiIgXAorLSIgUno3d3pnK2RMOGJFYkExdnBhN1J0SytDa3BkV0FmWGpSRkI3VXBDTmU2S2RtNk5uSmZ0MXFsdUt1VUpsdmRLem5QYllIM2h6UFhKXG4iIFwKKy0iIFBNR3Fac2svemMyZ2YzRzUvQ3VtYzNzUnNUTzkyUmNiM3VCM1hWalAxcjRqWWZZR3dvTjc2UXNZVUV1ckdSNUhqUkV1ZGhVdDJCUFxuIiBcCistIiAxVE1ZSUQwZXl1dW9KR1J2SklJK29xOTZJMml3dFZ6N3JiN1paV2JhbHl6eUo5d0tVakxzcktFa2pINGNFOCtKejA0OWJldyt3TmJcbiIgXAorLSIgM1o3Nk40WU82NnNaSGx6b2IySDJCa2t0YjZDUmdsTHF4a2VYT2lKWmJBdjlJTWorN1gvd0I2YWc5bEduRWFqMTdDUkpBK0JoWm15XG4iIFwKKy0iIGxLKzZFSTQ0UFFxM1I2RTA2VzloOWdaVnZOYjZGWXhsTHF3Y2ZPaHZZaFlXdDdzOTlHOE1LM1hWakk2OGFJbzdVeGdiUjlJYWpoUVxuIiBcCistIiA3L0R1OXlpU0YzUzN0TU5yU3Rsa0FBdDk0RFBESTRlSkZVdllmTmV0cU5ZejR4QWZqV1p4NXNrWkFVbkpIRDFGTVZyWWhZV1ZieldcbiIgXAorLSIgKzJvakdVT3JCeDg2RWJEN0EwRkJ2ZlJ2REN0MTFZeVBJOGFJbzIzemRQNmkyZTYyMVRhVUppWENmYTFJdWNGUEp0NUtWbmZIUldTXG4iIFwKKy0iIGV1UFBOWjJZYWRma05zc3BVcDFhZ2xDVTh5VHlyVFNOaDlnYkNnamZTRmpDZ2wxWXlQSThhbDlQYkl0UDJXYW1VeXdrdUo1S09WRVxuIiBcCistIiBlbWVWRVZ3MDJaSDlINFlrRXFkRFlDaWZFNG9xWGJhUzAybENSaElHQlJSRi8vWlxuIiBcCisrIlZFUlNJT046My4wXG4iIFwKKysiRk46WW9jdG8gUHJvamVjdFxuIiBcCisrIlVSTDpodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvXG4iIFwKKysiRU1BSUw6eW9jdG9AeW9jdG9wcm9qZWN0Lm9yZ1xuIiBcCisrIlRFTDtUWVBFPVZPSUNFOiswMCAwMDAgMDAwIDAwMDBcbiIgXAorKyJBRFI7VFlQRT1IT01FOjsxNzIwIEJlYXZlciBDcmVlaztEYW0gIzQ7UGxhbmV0IEVhcnRoXG4iIFwKKysiTEFCRUw6MTcyMCBCZWF2ZXIgQ3JlZWtcXG5EYW0gIzRcXG5QbGFuZXQgRWFydGhcbiIgXAorKyJQSE9UTztFTkNPRElORz1iOmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFHUUFBQUJrQ0FZQUFBQnc0cFZcbiIgXAorKyIgVUFBQUFCSE5DU1ZRSUNBZ0lmQWhraUFBQUFBbHdTRmx6QUFBTEV3QUFDeE1CQUpxY0dBQUFGRTlKUkVGVWVKenRuWG1RSE5WOXh6XG4iIFwKKysiICt2ZTg2ZHZVL3RhblVpQ1Z3UlF1YUloU0VPTXNJaUVzYkdSdGlWR0Z5NEVzZFU0YklOT0lDUFV0a1FIT3hnWW9pRFRWSnhDQml3TVxuIiBcCisrIiBDQnhCakFsc0lVbEVReklTQWhaTjVKVzJsM3R2Yk56OUpVL2Z1L043Q3dnVnF1Vm1FcjE5NC90N2VudTk3cDczdmY5enZjYkNCRWlcbiIgXAorKyIgUklnUUlVS0VDREg1VUIvMERZd1h3WnYvTWg4QUszSVNnQnM0QXdBUjI5b0N3TndGZlFCS0xYWS9tRHVjSEZnZjlBMkVLRVhaTWlUXG4iIFwKKysiIFlkdGRVQURmZitRQ0E1US85QlFCK1hrN3c5YTI3dnB4UDhnMEFPOUo0SVlBNjQvcU9FM20vazRXUUlXV0dzbUpJL3EwZm4yUCt0NVxuIiBcCisrIiB6ZXJ3RllESzBBQ0FnQ0FNc1hSdUNMcVBEVFE3THZCZ29nU0RZOERPRFdMdmd1UU9Ma3Y5dDZRbTUra2hBeXBNd1FmaUZsaGttWnNcbiIgXAorKyIgdlkvOXJPekFYSzU5RWtBRWM4N0JERDljOTljQzZDVTh0N3R1bUQvUFEwQS91Q09Id0Y0Vm02cE9XYm5jMjBBbHZJRE9UblFGOG5VXG4iIFwKKysiIGhKT1QzWFEvQUs3anlKUldVU1hISXcxdkFRUVYwNzhCRUoxLzdmOU13cU1lZDRRTUtUTk1pQ0YvdVAvT05nQzdZL09EQUY1MllDRVxuIiBcCisrIiBBcmhjQndNSURpTVppTGtBc1ZYOGZ3Q2xmdmZPckFMbGRkNXdHWUdlNkhnUlFRZnBrQUJYeGkvZmpDS2tDWDZpaHRKNnJ0RkFQOGlcbiIgXAorKyIgTnkzbkFmQUo0ZGsvT2lDUUJzWlNuNXZMb1hJSithZXpWQXhmeHZQRENSWno1UkNCbFNacGdRUXpiZStxWHpBWUxjd0FNQWdSTTBBXG4iIFwKKysiIFVUUTA3MlNmNkpLbW84SFdRVmdOU2M3QVU2K1lHNEFFTGlaS1hJVElpYzhnc0w5Mko1dXl6WGl4ekJHYngxdElBNzN5SU1rSzJWclxuIiBcCisrIiB4L1I1Y2c5S2FYVTQwZ0NBSDIvL2xPa2pzbTNXa3dCOTdLb0V5T0hVQTJUVHc5SjVVME1Xd05tNXJ3OWczdGZ1ekIzbHF6cHFoQXdcbiIgXAorKyIgcE0wUW1jbEUwa25JQnZPeXdEK0FwQjRCQUcydTJFbW9Fbm53K3hFQUFzT0REN1MwQXVHTE1LWlJSbllSQlJwTUNmTU1NTFROVUlQXG4iIFwKKysiIHZLYzB1MldQb2FTeitLYmV1UFBRWGdlOEkrNVhlTERBcXNYNWsrT25LN2J3SndlNTBiQUhMWmZCV0FvOXYyRG5mSzNkbnh0UUN2M1xuIiBcCisrIiB2SDFXd0IyVFBub1dvRExMcnZzWGJYSFkwSElrRExEaEJoaXp6eDFKNEM3dFhjWVFBVk9DNEN0UllBVnlLaDIvRFFBODg2Wm9RQVNcbiIgXAorKyIgVlZHZ2FFcW9zVEpzRkVPVU44YUp5TmpCNkpkZVkrbXhGWlEycVN3dFF6dzUwYzRlU0poalVXL3dId0YyNzVPK1VwWDFJdHMwdzcyXG4iIFwKKysiIDg4ZVNQTEFad29pTWZBV2oxMTMxYUgzaU9TVWJJa0RMRGhCaHkybWUvdkI5Z3cyMVhQUVFRSDh6Y0FPQXJtZEFESjZNQXBwNVNCMFxuIiBcCisrIiBEMWxLcVM2d3RqT0RCR3VMWXQvRkd4SlNNN2ZETm1nbEYvUVJrZm8yYU9SZWw1Wmx2c3k5Tk1LZmJSMENMWEpQWklHNDRuNTFoS1BcbiIgXAorKyIgbmNMZmNwKzNza25BTHhNdW5ic081a3NoQXdwTTB5SUlRYUxycjNyUm9EMXQxNVpCNUFZNnZ4N2dHaEtSbHhOZTYxb09MWXRvMU5mXG4iIFwKKysiIEYyaG1LRS9MQlROcU5WTmdsUDNoeXZ5dUN0Zkl2bS9jWXlxcHQ3WStUMnQ4WTVsU3Vxc3ZFZjYwejRnRDhNYXJZdlZYMVdpYlJaL1xuIiBcCisrIiBzYUhubHFPUVdnRmpEekZmZSs2MGNHMEtHbEJrbU5VQzEvdDlYbmdmUTFuVGcxd0RUWjlqaXpTM00yM3A0K3FaejNYMUV4b1d5N0VcbiIgXAorKyIgSmJnWEh5YXUxSkcvMG9mMHhidW8zQTFaOTdwWlo5Z1gzdW1DMmdIUVJraHJJQXZMeGVMSFRiRW9ZWVpudFdiQmpBcjV0NkhjREhyXG4iIFwKKysiIDczOTUwZDREY2VFa0NGbGhtT1NJV094Nkx3cW1ZeXpOZFVBWHJhdjVMaXlwVHNWRTM5VHdZWXdFN3czeWc3Um1vN1J0Z2pNeURmWFxuIiBcCisrIiAySHJQN0JzbUdjMUlVOHBZOHJicHNpaW5ESXRpQ2ZFVTE5YUx6ZExaS1l4SlZOYnRBbkFxNjM4Q2NNRnhaSVpCeUpBeXc2VElrR0RcbiIgXAorKyIgdmM3TUJ2TTVuTmdDb1lLQUpJTkREMWRJZVZ4UExBTkdFS1BpckhOUFNxRWFOdkRITVVLVmJZNW5iaGltYUlmcTRyNEl4VndXNnVWXG4iIFwKKysiIEVXdnlmM1kybFowdE5yZFFGczNoYjdLWUNUYUg0VTRJSnJiMy9qL2Q3QlpDRmtTSmxoVW1SSUx1Y2tBR0tEMlNZQW5Bd0FGbUw1WlxuIiBcCisrIiBqS1pBQ0NURmdzK095ekhzM2tKTHpnNjJTMmZMeExXMDh5d3RXeUl4dVJZTENHM1hCR1hiVlYxQlFDcFNuMnRsaFdXSGRWUEtHSXRcbiIgXAorKyIgTUhaS2lTRWliZmlhYlRYTkVsUDV5Mm1OandHb2o5eHl3cGhoRURLa3pEQXBERW5NVy9ZbVFHN0REeVMyUHNCWEFGN2RzUE5pZ0RlXG4iIFwKKysiIDI3bXNEQ0l6ZnlaWlJhK21SR1RFeGpGRVN6Vkt4a2o2TTFWendlM25DTWlmZnI5dVE0dzNWMG5aenN6VFdXQzk5TkRiSzZFOVdKZ1xuIiBcCisrIiB0dHFtaEM3STdLYXZGaHhXcWJBZHhJNVpTamZRZVRoWkFoWllid0N5a3pUS3BoR0Y5MDR5Yjk3MVVBdjFsNWhRUFEzdVpkTFoxSnRcbiIgXAorKyIgS25nWE5UK0VFdVpnRlZ4ZlBnRmhkVUlZYXRrejF6ckcvVllxN001VHhTRnZRZGxmOU4yMlIvSlNEaTJycW80TDg2Y0pwckF3dmwyXG4iIFwKKysiIEwwQkZXNjM0VldLUkQyeU5TY2lRTXNPa01zUmc2N3JWVlFERDY5YWNCb0NxMXU3M1VvZWc3NWU2UTd4UnJoTy80SWZVenNQUkhnK1xuIiBcCisrIiBLTEROWCtKYWNrTlRxYmp3cVI2cXJkTEJKRzZYNVVRR3EvZjM2MnIyVjF3Rjh0TDcxZndGaW5UTStzSXo1a0NGbGh1UENrTnhiVzJcbiIgXAorKyIgWUFKT3hZRzBDdnR0WWVmV1VuQUdmT3FBZmc5RmJaNXJYajBMT0w4N3V2S2VJYUVWSEl1ZFl1a0RIbktXMzRZUnRub3p4YWp6WkNhXG4iIFwKKysiIDVLaTdsYU0wcWFyNG5vbjBab0JpQy85NXVhSlBPOWtJbVJJbWVHNE1DVGlaV1lEeEpPUmFRRFBicFRsZnZzbEs0aFVwNHphczJiS1xuIiBcCisrIiBmQjl4U21VTEZJMUVJenNLM25odmpMTlJsVExINE0yREF3QThzV2svQU9kOXFBMkFEMCtyTDU2a1U0eWk1Qy9Xbnp3NDdvYzhUZ2dcbiIgXAorKyIgWlVtWTRMZ3l4TFc4dWdCOTRjWUFEZzdtU2xGRVROSXBvR25nNmRCdFJ4ZkhoYW9lamp1N2lHUVlZZDNzcElRcGFtUWxvZFE4S0MxXG4iIFwKKysiIDB0Vy9iM3lmNkhXb3BhVmtWU1pJaWJIVDdsNkoveStDQmtTSmxoVWhueXA2ZWVpZ1BrOXY1MkZrQlVCNkMweDV6K3JJemUyWTJTT1xuIiBcCisrIiBLZkdXT3lqMDBCTndvTUphcG5BazlMNmxUVkc3Smdvc0dGS2JVcTBLcytYNVFvWlI2L2E5WW9HamE5NUZuaE9KVUFRQkRGOVAvbWpcbiIgXAorKyIgZmZiSlFzaVFNc09rTWlUYTJha0EwazVPZk9DT2hHYVh6VzhIb0NjdCs2ZTMxd0NRMGRwVlhzc0xOZHIvcnVWSm9CbGlaSXJKQjFLXG4iIFwKKysiIDJEdGtXQnJ6OFkzU3cyVTNDd25rNjZOU2lBMW14YUhFTUtsOENhSzRublcxLytqNlRpQjB5SklSZ1VobXlaK1pNRjZCeXk1WnVLT1xuIiBcCisrIiBha1RhdVMrWHg2ald6TnFEYm1oeGZJdU9qdU9seG9LMW1SQXFENXpMTUJtRHAvQVFBZEw2NEZZSERQZGdCYzdadUt4b1dVUml0TGFcbiIgXAorKyIgYXQvK2Z4cFFISGtHYzh5Z0d1cVF5amxBc3hiZHZuZ0JCNmJUWnMydEFOWUZmRTVBUFBuTFB5RE9hYVVHanFhdGtLR2xCa21sU0dMXG4iIFwKKysiIEYwdXRxZzAvdmU0RkFLV2lWd1BrQTZjS0lIQjhuYXFwU3VJaVJ2TnBiR2dvdEdWa1FWV3JSRk5ycGs0SDRHQzdiTDBka244UVQxU1xuIiBcCisrIiBVM29SeFpXa1pGTGVNYkZIdmNBZDRudndmajlkTWFLbjBzOC9mZnpIQWE1czJyZ0Y0Zk5VYUFCb2FHM2FiYzM1ODY4ckxBSzY1L25cbiIgXAorKyIgdmpTdEFPR1ZKbU9DN1ZnRllHSWhUTy8rZHI3Z0RJRFhkK0NTRGllVW1BU0NGenV2UXU3RkZ0Rk9aOGJVM2JLZEhNUmdZbFBUV3FsXG4iIFwKKysiIDVzWkpjdkVPNHlaa2ROWkViNWVoT1BwNHprVktkajRxcUx1QllEUGZ1L3VqeC9OOHozeDlIMmZrcmJkVlFCNzN6NFlBM2p1OGFjRFxuIiBcCisrIiBnUDd1bnNKN2JablNsZ0dZZmZLc0N3RnV2ZTN1M3g2cDdaQWhaWVlUVWk5cnpjMWYvaTVBOThHM3Z3OVFveGYzVnlWRmhNVUxEcXZcbiIgXAorKyIgUmxycDhaaFZTUXNkRUc4ZkUxTTNXSzBRRzVleXNGK1FBUE10K0hjQ0pWajVpK3ZpYlcvN3pObmp2NGpqdmVJNDF2MWdFNE9GTFRTXG4iIFwKKysiIDdzTmdCbGk5OWdvSDlRQVR5Mytxa0NDL2RzMjZrQW1xYzBEd0VzWFhyUkpRQlhYM2Y5OCsvV1I4aVFNc054OGZZYUdOL1F2WGRkZFxuIiBcCisrIiBUN0F6cjFpQU8vYXVRY0ExeEdwWWV2UlBtOW1NWWt0RVpOWVNUSXFXOXNzM0RGTWNPVWFOeWVEZXlBdCs0UGErTEYwNGtoZVcvLzFcbiIgXAorKyIgN1czYkFTSm5ULzlYMDhkNG1mSExYOTgxRnlEdnVxS05SV3lkK0llK0Y2RjJNaVVhMytLTExpeFEvWW4wNmdCZ3NLdXJDdUIzdjN2XG4iIFwKKysiIHVoL3JRR2UvV1Y4aVFNa1A0aFpRWmpvdFFmK1dYUDI4RWNCUCt6d0NHNHNHbkFRYjZoeTJBN2wxYkZjQ2lPZ212YnU4V2o4WGF0NFxuIiBcCisrIiB2RmRtcnJxZ0ZJSkhYMUIxTVZWbWM5WkxLNmpzcVFUSU5idHN2K25zT3kvY3haY24wa0lWcEJxcVZPQWJUSHB6MW0rdmpLZC82dFVcbiIgXAorKyIgQm5vM2ZEb293OU1BM0M5WVVrQWpGcDFVSFQxZURyRElnaE10UWg5NFNnbmFXNUVWbVA5NnIvdWxSWEptWHdId0EvdnV2TjBnSVVMXG4iIFwKKysiIHora2EzV2ZJa0RMRE1USGs5ZisrTmdVUVQwZWFBRWFjM0pVQXZWMkh2ZzZ3cjNlZ0dtRDNpSXpxczViL0ZRQ1JFVW5yUENzaUF5K1xuIiBcCisrIiBibDFGMHk3cUJRdHRWemJMVXBMSkNDL1dvS0FDT05naEhSb1FKKzNkMUE5Q3hSNWd5TkNMSC8zeU9GQjQ2YzM0ckFOczZEd1lBRmZcbiIgXAorKyIgM0ZSU2dOemUxdkFjU1RrUnNBYWxNdFVyWjhTbnNHd0crczNnaGdSVzBwNm15cTIyblhqNmV0VU04a1hoZ2FCNk1Xb1VURnk5blhJXG4iIFwKKysiIFVSNDV1SEhmZ1R3OUF2ci8rR2RielJrU05saFFtcnZsdi80OWd5QTZORHc3UUQ1Yk44bEFQNndlSnJOaUxlYVdnS0F6dGUzSzRDOFxuIiBcCisrIiAvdjQ3QjJVQVJkTlNOM0hKS2NLQ2w5NHFFbmE3VHVhMElpYlpRYTZKYTg5SGhUWVlHNGZrZUkxT2ZxaE55U085OGJhRWJyZDNTcjVcbiIgXAorKyIgb2RWUm1nem5Wc2NMb2pYWHZQd1VnbjBpc0JoaXBFcGJWVG0wR1FOdXRPTm9MYWxuV0VXZVVJQ2hsRUlDbjFmRG1sdGJWOE43TU1BXG4iIFwKKysiIGdaVW1ZWU4wTjJyLzFGb2M1VWRzdHIzd0lnMTM4SlFLQVRDTnhBaHJFS1pDUTVWbElCWExya1BBQ2FEdTBEWU9mbUhRQU1XNUk1RlxuIiBcCisrIiAzeFk1dm1WRnhiNysvNGEwYmptYXRuUnBqUG1EdWRsZ0wrbzVWS1Z6bXFvVHNqeFhwMUNHdEdHcGFrRTBaZVRlencwVkpRaGxRbHBcbiIgXAorKyIgTzZtckdGSGZxQUEyYkpUNDB2d3pUcGY3bnRxcVE3MjYzdU9ZRktSZ1RPWjNhV0s0OVJpQVcydDlnWEVnWkVpWllkd002ZDM4WmlFXG4iIFwKKysiIEhNNTRmT2dQQXo0dW1rOG5MTU0yN2twdnBPVEpFTnEyWG1FeFNqNXp6VzhTMVVOOGoybFRQZEFtN1psNFRPMlQrMW1JSTk1OHFwSVxuIiBcCisrIiAyV0thSnREYytlQVVEdDFsMEEvRzFDMktVQ0dmbU5ta2tIdFVQK3FSSFpmMTNIaVd0MEZRbDNPRjNvdzYvWE5YNHJFckphV0FlNzlcbiIgXAorKyIgdTRRKzJqWDlyMEFYSEw1WmRKM2t3VFFYTE8rUGlqWm9IU3VVaENvOWFZUDIvYS9DbkRGMGl1S0hSOEJJVVBLRE9QWHNwTEZVR2ttXG4iIFwKKysiIEkzT3VuNVhSbWRhak1LMFpNNUFWYmFWclVPVEFxb3lNcUZQckpDVW4xeW8yd3V0L0V0Mjh0VU9PVndjRk1VV3RrUy9hWXU4K1l4RVxuIiBcCisrIiBBVFh0RURqVnJtUkJUSWl0U01XSEViSjFnbDlkMWZkZjN5M2s5U050V3R1Z05tSzNsajYwMW9iZ2VuaFZWY3A5OTNhS3ByYjUzRlFcbiIgXAorKyIgQ1hYaWxpSUZrdENSaWVYbUZrR2RQY3NnNENwSkkxMTVzK1ZueHl4ZHNjQlVLR2xCbkd6WkRUVHpxdjRITjVxWGZWaXdCWlY1MEpNXG4iIFwKKysiIEp5Unl0V0RPV0hJN2w1SmJONmFrZTk3ZDgxc2tURTFMUXJnMmtzL0JzQ1Q5ejBOd09ZK3NiYVhucnVnME4rZGEzNFB3RVU3SkdRN1xuIiBcCisrIiBjNzk0dm5kb1A5S2QvUkxTbmFiWG9YOXhrU1RqUGZ1YWVBRWU3aGRac2xXWmVyNXlYcktZN01EMm5oRUZVRjhoc2l6V0k5YjhTWE9cbiIgXAorKyIgbUs0QlgrNlJ2TnlzT3RHZFdQNmtBUG5ISjhnQWdrVXBxSDVicUFyRHR4T2NCVm54eXhlL2U4MFcrRDBLR2xCbkd6UkMxdVBoemRDXG4iIFwKKysiIC8rOU5zL0FSZ2VHSmdHMERHVVhRTFFQVEI4QUdCenQ1U3VQaGh0T0IzQXIydElBR3c0Sk14NS9oV3hRN3B5MHYzNlBnbnBMcG96dFxuIiBcCisrIiA5RGY3bVlaNlZjZjBybHJHWk1ZWWNLK3dvQWZ6Skg5dEMreTVPNEQwbFpYWElKZGtaU01mcy84UkZJdVU3QkR0ZzFrMGdEVkthY1hcbiIgXAorKyIgZ003TjB3RG1uSGxtTDhDZkxad2ZBL2pqeTVzcUFib1BDSU5lZW5hdEFqaDM2WkpCZ0dnc2NUbkFGeTc5d2hFVEdNYURrQ0ZsaG1QXG4iIFwKKysiIHk5cjY5NnJZa3dNK2ZXZjk1Z0cyNzluOE9vTE0vUFJXZ0k4ZkpBSjJwS1ZHQWtYcEplaXZRVW50TG5SSFJxTTZlMTFab2U1dGVrdFxuIiBcCisrIiBhVEx5MHVZSXppdU9RdXNFVGNUZ3hwTC9EdmU2VDFJS0szK2duamZRY0JhQm9wMmpxdEZYWmVONW9HVUw1YkJ6QjlTdVBOQUJkLzhcbiIgXAorKyIgWXUvQVhqdDVaY2ZBWGp6ajMrc0IxQlcwQWZ3aWVVWFhRbnd0V3UrczJZY3IydGNDQmxTWmpnbWh0ejA3ZXRPQXRqODZzYU5BRTVtXG4iIFwKKysiIHBCWWdsM2N0QUUvbjZneGxaVW5iem54S0FmUTB6QUlnU0lodFlHcjBXbjdSU1JRb1BlZnJ5dGFCK1hVRW5TSnFLbG1iS2tBbUxjalxuIiBcCisrIiBUbjFzNkNUdlpLM2JMOUx5SWljWlV0TkNKcmJNcnpISzV2RjRFV2xGVkdRQzB6NXAxR3NBNTV5dytBT0E3MmNVQTZlendhd0RYWEhcbiIgXAorKyIgUGpycU40WGVOQ3lKQXl3ekV4NUlwUGZmd0pBQytmV3dhUTFkWnpvTnROWnlVdU1xTGozM2tkRCs5MFJmTTVWSzEvVGlRcWxxL3lpXG4iIFwKKysiIHBFMlc3bU9mT1ptQUd4TkVVOVhDQWdzS3duZ1d6cnJ6cEtOMG5IdTZOQkJCVEF6SXpaT295NllHbzBVeDJDaHJLUGV1dHBHc1hXOVxuIiBcCisrIiAzcWJXMXVjQlZqMzY1SktqZnpzVFE4aVFNc09FSW9iZitQSmZud3JRc1hmM3FRQzVqS2hDdnY2Vm01ejJhYmxCYWNWcVN5OE5hTElcbiIgXAorKyIga1VoanBrL205WHpQRWloZnJYaXo3Mk1kdUJWaXg1TnlIQUpZdFc5WUY4TUlMTHpRQi9PU0J4eThDMkxaMzMwVUFuUU5EQ3dHQzlFXG4iIFwKKysiIEFLb0NVdjJsUzlEdnRGRERQVWFJWVlRaGJjdHZJY091NlJUNCtjZTNSdjV0Z1JNcVRNRUg0aFpZWUpUVm1lRTlRQStMNVVxalNyYVxuIiBcCisrIiBBTkxWL1h4U2pQU2k5KzdXVzByYm81cVc4NVBlcEwxb0xMRmNrQ25wT3hmQVN4ZnZuekxtTzQ3OVhZendMcDE2eDRDK09iMU56NENcbiIgXAorKyIgTUpUdldRQ1FpcHJxUURwTFh0K1Rza2I5SklhcFlsNVlBMTlhTjhWeDgvSDNleGVUalpBaFpZWUpNU1RyY3hnZzcwdUJ3K0lhRFRuXG4iIFwKKysiIHVqZDJhV2xkYXJUU1Y1Rnk5VHR3UHhFQ3JiNmo5amVuaitwdHVlaFBnaHB0dlB1SzlaTHE2K2dIc3dCVWRXN1BROVdTczJWclZEbVxuIiBcCisrIiB6ekcwa2xZMUJTUVkyRFpVeGxvVmk4WWtLcmNvOEZJVVBLREJOaXlKZXV1cndENEk1YmJ0OElNSkx1YmdmSVpYTVdqS3FYYUtyQ21cbiIgXAorKyIgYTFadUs1TE50VFUxaDhHYUcrZnRoTGcvb2NldXN2MG9WUXhrSFFrWFBDWnovUUEzSFBQUFNzQW5uN3k4U3NCZXJvT253dGc0eThBXG4iIFwKKysiIHlPZXo4cU9Samx1UUMrWUhKSDFmbGwxRjdVZ09JSmxLN2dPWVBtdnViWExtcFA4NjNuc2laRWlaWVZLV0k2eGMrYTJGQUh2L3RQMVxuIiBcCisrIiBjZ003T3ptcUF3TGRhQVJ6UDZRQ29iYWpyQTVnemErNUxBTGZlZnVKK0JzS2d0N2QzeHRqUDZ1cnF4UDJ1MU9GM1huRmlFVElrUklcbiIgXAorKyIgZ1FJVUtFK0grQy93TUdYOElhczFzNkNRQUFBQUJKUlU1RXJrSmdnZz09XG4iIFwKKyAiRU5EOlZDQVJEIgorLS0gCisxLjguMy4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvMDAwMi1GaXgtZm9yLWF1dG9tYWtlLTEuMTIueC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvMDAwMi1GaXgtZm9yLWF1dG9tYWtlLTEuMTIueC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZjIyMmFlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZWRzL2V2b2x1dGlvbi1kYXRhLXNlcnZlci8wMDAyLUZpeC1mb3ItYXV0b21ha2UtMS4xMi54LnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Zyb20gZjQ2NDIzYzllNGI4YjE5ZWRhMjdiMzA3NDU2YTcxN2RlNzliNzVmMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE5pdGluIEEgS2FtYmxlIDxuaXRpbi5hLmthbWJsZUBpbnRlbC5jb20+CitEYXRlOiBTdW4sIDQgQXVnIDIwMTMgMDk6MTU6NDMgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAyLzVdIEZpeCBmb3IgYXV0b21ha2UtMS4xMi54CisKK0ZpeGVkIHRoZXNlIGtpbmRzIGlmIHdhcm5pbmctZXJyb3JzCisKK3dhcm5pbmc6ICdsaWJlYm9va2JhY2tlbmRmaWxlLmxhJzogbGlua2luZyBsaWJ0b29sIGxpYnJhcmllcyB1c2luZyBhIG5vbi1QT1NJWCBhcmNoaXZlciByZXF1aXJlcyAnQU1fUFJPR19BUicgaW4gJ2NvbmZpZ3VyZS5hYycKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1PZmYtQnk6IE5pdGluIEEgS2FtYmxlIDxuaXRpbi5hLmthbWJsZUBpbnRlbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBjb25maWd1cmUuYWMgfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggOWJkOTdkYi4uNDlkNzUwNiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMzEsNiArMzEsNyBAQCBBQ19MQU5HKEMpCisgCisgZG5sIEF1dG9tYWtlIDEuMTEgLSBTaWxlbnQgQnVpbGQgUnVsZXMKKyBtNF9pZmRlZihbQU1fU0lMRU5UX1JVTEVTXSwgW0FNX1NJTEVOVF9SVUxFUyhbeWVzXSldKQorK200X2lmZGVmKFtBTV9QUk9HX0FSXSwgW0FNX1BST0dfQVJdKSAjIHJlcXVpcmVkIGJ5IGF1dG9tYWtlIDEuMTIKKyAKKyBkbmwgUmVxdWlyZWQgUGFja2FnZSBWZXJzaW9ucworIG00X2RlZmluZShbZ2xpYl9taW5pbXVtX3ZlcnNpb25dLCBbMi4yOF0pCistLSAKKzEuOC4zLjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZWRzL2V2b2x1dGlvbi1kYXRhLXNlcnZlci8wMDAzLURpc2FibGUtV2Vycm9yLWZvci1hdXRvbWFrZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvMDAwMy1EaXNhYmxlLVdlcnJvci1mb3ItYXV0b21ha2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTE4MmQ0ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvMDAwMy1EaXNhYmxlLVdlcnJvci1mb3ItYXV0b21ha2UucGF0Y2gKQEAgLTAsMCArMSw5NyBAQAorRnJvbSAzN2IyMjdjZmY3OGZkNGM2NTI2NTE2NjJkYWZkNzE1MzcyODA4MjRlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTml0aW4gQSBLYW1ibGUgPG5pdGluLmEua2FtYmxlQGludGVsLmNvbT4KK0RhdGU6IFN1biwgNCBBdWcgMjAxMyAwOToxNjo1OSArMDIwMAorU3ViamVjdDogW1BBVENIIDMvNV0gRGlzYWJsZSBXZXJyb3IgZm9yIGF1dG9tYWtlCisKK0F2b2lkIHRoZXNlIHdhcm5pbmctZXJyb3JzCisKK2F1dG9tYWtlOiB3YXJuaW5ncyBhcmUgdHJlYXRlZCBhcyBlcnJvcnMKK01ha2VmaWxlLmFtOjE1OiB3YXJuaW5nOiAnJSctc3R5bGUgcGF0dGVybiBydWxlcyBhcmUgYSBHTlUgbWFrZSBleHRlbnNpb24KK01ha2VmaWxlLmFtOjIxOiB3YXJuaW5nOiBwa2djb25maWdfREFUQTotJChBUElfVkVSU0lPTjogbm9uLVBPU0lYIHZhcmlhYmxlIG5hbWUKK2FkZHJlc3Nib29rL2JhY2tlbmRzL2ZpbGUvTWFrZWZpbGUuYW06IGluc3RhbGxpbmcgJy4vZGVwY29tcCcKK2FkZHJlc3Nib29rL2xpYmVib29rL01ha2VmaWxlLmFtOjU1OiB3YXJuaW5nOiAnJSctc3R5bGUgcGF0dGVybiBydWxlcyBhcmUgYSBHTlUgbWFrZSBleHRlbnNpb24KK2FkZHJlc3Nib29rL2xpYmVib29rL01ha2VmaWxlLmFtOjY1OiB3YXJuaW5nOiAnJSctc3R5bGUgcGF0dGVybiBydWxlcyBhcmUgYSBHTlUgbWFrZSBleHRlbnNpb24KK2FkZHJlc3Nib29rL2xpYmVib29rL01ha2VmaWxlLmFtOjY2OiB3YXJuaW5nOiBzdWJzdCAtLF8sJCo6IG5vbi1QT1NJWCB2YXJpYWJsZSBuYW1lCithZGRyZXNzYm9vay9saWJlYm9vay9NYWtlZmlsZS5hbTo2NjogKHByb2JhYmx5IGEgR05VIG1ha2UgZXh0ZW5zaW9uKQorYWRkcmVzc2Jvb2svbGliZWJvb2svTWFrZWZpbGUuYW06NzI6IHdhcm5pbmc6IHBrZ2NvbmZpZ19EQVRBOi0kKEFQSV9WRVJTSU9OOiBub24tUE9TSVggdmFyaWFibGUgbmFtZQorYWRkcmVzc2Jvb2svbGliZWRhdGEtYm9vay9NYWtlZmlsZS5hbToyOiB3YXJuaW5nOiAnJSctc3R5bGUgcGF0dGVybiBydWxlcyBhcmUgYSBHTlUgbWFrZSBleHRlbnNpb24KK2FkZHJlc3Nib29rL2xpYmVkYXRhLWJvb2svTWFrZWZpbGUuYW06Mzogd2FybmluZzogc3Vic3QgLSxfLCQqOiBub24tUE9TSVggdmFyaWFibGUgbmFtZQorYWRkcmVzc2Jvb2svbGliZWRhdGEtYm9vay9NYWtlZmlsZS5hbTozOiAocHJvYmFibHkgYSBHTlUgbWFrZSBleHRlbnNpb24pCitnbGliLWdlbi5tYWs6OTogd2FybmluZzogJyUnLXN0eWxlIHBhdHRlcm4gcnVsZXMgYXJlIGEgR05VIG1ha2UgZXh0ZW5zaW9uCithZGRyZXNzYm9vay9saWJlZGF0YS1ib29rL01ha2VmaWxlLmFtOjU6ICAgJ2dsaWItZ2VuLm1haycgaW5jbHVkZWQgZnJvbSBoZXJlCitnbGliLWdlbi5tYWs6MTM6IHdhcm5pbmc6ICclJy1zdHlsZSBwYXR0ZXJuIHJ1bGVzIGFyZSBhIEdOVSBtYWtlIGV4dGVuc2lvbgorYWRkcmVzc2Jvb2svbGliZWRhdGEtYm9vay9NYWtlZmlsZS5hbTo1OiAgICdnbGliLWdlbi5tYWsnIGluY2x1ZGVkIGZyb20gaGVyZQorZ2xpYi1nZW4ubWFrOjE4OiB3YXJuaW5nOiAnJSctc3R5bGUgcGF0dGVybiBydWxlcyBhcmUgYSBHTlUgbWFrZSBleHRlbnNpb24KK2FkZHJlc3Nib29rL2xpYmVkYXRhLWJvb2svTWFrZWZpbGUuYW06NTogICAnZ2xpYi1nZW4ubWFrJyBpbmNsdWRlZCBmcm9tIGhlcmUKK2dsaWItZ2VuLm1hazoyNjogd2FybmluZzogJyUnLXN0eWxlIHBhdHRlcm4gcnVsZXMgYXJlIGEgR05VIG1ha2UgZXh0ZW5zaW9uCithZGRyZXNzYm9vay9saWJlZGF0YS1ib29rL01ha2VmaWxlLmFtOjU6ICAgJ2dsaWItZ2VuLm1haycgaW5jbHVkZWQgZnJvbSBoZXJlCitnbGliLWdlbi5tYWs6Mzg6IHdhcm5pbmc6ICclJy1zdHlsZSBwYXR0ZXJuIHJ1bGVzIGFyZSBhIEdOVSBtYWtlIGV4dGVuc2lvbgorYWRkcmVzc2Jvb2svbGliZWRhdGEtYm9vay9NYWtlZmlsZS5hbTo1OiAgICdnbGliLWdlbi5tYWsnIGluY2x1ZGVkIGZyb20gaGVyZQorZ2xpYi1nZW4ubWFrOjQxOiB3YXJuaW5nOiAnJSctc3R5bGUgcGF0dGVybiBydWxlcyBhcmUgYSBHTlUgbWFrZSBleHRlbnNpb24KK2FkZHJlc3Nib29rL2xpYmVkYXRhLWJvb2svTWFrZWZpbGUuYW06NTogICAnZ2xpYi1nZW4ubWFrJyBpbmNsdWRlZCBmcm9tIGhlcmUKK2FkZHJlc3Nib29rL2xpYmVkYXRhLWJvb2svTWFrZWZpbGUuYW06ODY6IHdhcm5pbmc6ICclJy1zdHlsZSBwYXR0ZXJuIHJ1bGVzIGFyZSBhIEdOVSBtYWtlIGV4dGVuc2lvbgorYWRkcmVzc2Jvb2svbGliZWRhdGEtYm9vay9NYWtlZmlsZS5hbToxMDE6IHdhcm5pbmc6IHBrZ2NvbmZpZ19EQVRBOi0kKEFQSV9WRVJTSU9OOiBub24tUE9TSVggdmFyaWFibGUgbmFtZQorY2FsZW5kYXIvYmFja2VuZHMvd2VhdGhlci9NYWtlZmlsZS5hbTo0NDogd2FybmluZzogJyUnLXN0eWxlIHBhdHRlcm4gcnVsZXMgYXJlIGEgR05VIG1ha2UgZXh0ZW5zaW9uCitjYWxlbmRhci9saWJlY2FsL01ha2VmaWxlLmFtOjUzOiB3YXJuaW5nOiAnJSctc3R5bGUgcGF0dGVybiBydWxlcyBhcmUgYSBHTlUgbWFrZSBleHRlbnNpb24KK2NhbGVuZGFyL2xpYmVjYWwvTWFrZWZpbGUuYW06NjE6IHdhcm5pbmc6ICclJy1zdHlsZSBwYXR0ZXJuIHJ1bGVzIGFyZSBhIEdOVSBtYWtlIGV4dGVuc2lvbgorY2FsZW5kYXIvbGliZWNhbC9NYWtlZmlsZS5hbTo2Mjogd2FybmluZzogc3Vic3QgLSxfLCQqOiBub24tUE9TSVggdmFyaWFibGUgbmFtZQorY2FsZW5kYXIvbGliZWNhbC9NYWtlZmlsZS5hbTo2MjogKHByb2JhYmx5IGEgR05VIG1ha2UgZXh0ZW5zaW9uKSBjYWxlbmRhci9saWJlY2FsL01ha2VmaWxlLmFtOjY4OiB3YXJuaW5nOiBwa2djb25maWdfREFUQTotJChBUElfVkVSU0lPTjogbm9uLVBPU0lYIHZhcmlhYmxlIG5hbWUKK2NhbGVuZGFyL2xpYmVkYXRhLWNhbC9NYWtlZmlsZS5hbTo1OiB3YXJuaW5nOiAnJSctc3R5bGUgcGF0dGVybiBydWxlcyBhcmUgYSBHTlUgbWFrZSBleHRlbnNpb24KK2NhbGVuZGFyL2xpYmVkYXRhLWNhbC9NYWtlZmlsZS5hbTo2OiB3YXJuaW5nOiBzdWJzdCAtLF8sJCo6IG5vbi1QT1NJWCB2YXJpYWJsZSBuYW1lCitjYWxlbmRhci9saWJlZGF0YS1jYWwvTWFrZWZpbGUuYW06NjogKHByb2JhYmx5IGEgR05VIG1ha2UgZXh0ZW5zaW9uKQorZ2xpYi1nZW4ubWFrOjk6IHdhcm5pbmc6ICclJy1zdHlsZSBwYXR0ZXJuIHJ1bGVzIGFyZSBhIEdOVSBtYWtlIGV4dGVuc2lvbgorY2FsZW5kYXIvbGliZWRhdGEtY2FsL01ha2VmaWxlLmFtOjg6ICAgJ2dsaWItZ2VuLm1haycgaW5jbHVkZWQgZnJvbSBoZXJlCitnbGliLWdlbi5tYWs6MTM6IHdhcm5pbmc6ICclJy1zdHlsZSBwYXR0ZXJuIHJ1bGVzIGFyZSBhIEdOVSBtYWtlIGV4dGVuc2lvbgorY2FsZW5kYXIvbGliZWRhdGEtY2FsL01ha2VmaWxlLmFtOjg6ICAgJ2dsaWItZ2VuLm1haycgaW5jbHVkZWQgZnJvbSBoZXJlCitnbGliLWdlbi5tYWs6MTg6IHdhcm5pbmc6ICclJy1zdHlsZSBwYXR0ZXJuIHJ1bGVzIGFyZSBhIEdOVSBtYWtlIGV4dGVuc2lvbgorY2FsZW5kYXIvbGliZWRhdGEtY2FsL01ha2VmaWxlLmFtOjg6ICAgJ2dsaWItZ2VuLm1haycgaW5jbHVkZWQgZnJvbSBoZXJlCitnbGliLWdlbi5tYWs6MjY6IHdhcm5pbmc6ICclJy1zdHlsZSBwYXR0ZXJuIHJ1bGVzIGFyZSBhIEdOVSBtYWtlIGV4dGVuc2lvbgorY2FsZW5kYXIvbGliZWRhdGEtY2FsL01ha2VmaWxlLmFtOjg6ICAgJ2dsaWItZ2VuLm1haycgaW5jbHVkZWQgZnJvbSBoZXJlCitnbGliLWdlbi5tYWs6Mzg6IHdhcm5pbmc6ICclJy1zdHlsZSBwYXR0ZXJuIHJ1bGVzIGFyZSBhIEdOVSBtYWtlIGV4dGVuc2lvbgorY2FsZW5kYXIvbGliZWRhdGEtY2FsL01ha2VmaWxlLmFtOjg6ICAgJ2dsaWItZ2VuLm1haycgaW5jbHVkZWQgZnJvbSBoZXJlCitnbGliLWdlbi5tYWs6NDE6IHdhcm5pbmc6ICclJy1zdHlsZSBwYXR0ZXJuIHJ1bGVzIGFyZSBhIEdOVSBtYWtlIGV4dGVuc2lvbgorY2FsZW5kYXIvbGliZWRhdGEtY2FsL01ha2VmaWxlLmFtOjg6ICAgJ2dsaWItZ2VuLm1haycgaW5jbHVkZWQgZnJvbSBoZXJlCitjYWxlbmRhci9saWJlZGF0YS1jYWwvTWFrZWZpbGUuYW06NzE6IHdhcm5pbmc6ICclJy1zdHlsZSBwYXR0ZXJuIHJ1bGVzIGFyZSBhIEdOVSBtYWtlIGV4dGVuc2lvbgorY2FsZW5kYXIvbGliZWRhdGEtY2FsL01ha2VmaWxlLmFtOjg2OiB3YXJuaW5nOiBwa2djb25maWdfREFUQTotJChBUElfVkVSU0lPTjogbm9uLVBPU0lYIHZhcmlhYmxlIG5hbWUKK2NhbWVsL01ha2VmaWxlLmFtOjE3OiB3YXJuaW5nOiAnJSctc3R5bGUgcGF0dGVybiBydWxlcyBhcmUgYSBHTlUgbWFrZSBleHRlbnNpb24KK2xpYmViYWNrZW5kL01ha2VmaWxlLmFtOjM1OiB3YXJuaW5nOiAnJSctc3R5bGUgcGF0dGVybiBydWxlcyBhcmUgYSBHTlUgbWFrZSBleHRlbnNpb24KK2xpYmViYWNrZW5kL01ha2VmaWxlLmFtOjQxOiB3YXJuaW5nOiBwa2djb25maWdfREFUQTotJChBUElfVkVSU0lPTjogbm9uLVBPU0lYIHZhcmlhYmxlIG5hbWUKK2xpYmVkYXRhc2VydmVyL01ha2VmaWxlLmFtOjkxOiB3YXJuaW5nOiAnJSctc3R5bGUgcGF0dGVybiBydWxlcyBhcmUgYSBHTlUgbWFrZSBleHRlbnNpb24KK2xpYmVkYXRhc2VydmVyL01ha2VmaWxlLmFtOjk3OiB3YXJuaW5nOiBwa2djb25maWdfREFUQTotJChBUElfVkVSU0lPTjogbm9uLVBPU0lYIHZhcmlhYmxlIG5hbWUKK2xpYmVkYXRhc2VydmVydWkvTWFrZWZpbGUuYW06MTA4OiB3YXJuaW5nOiAnJSctc3R5bGUgcGF0dGVybiBydWxlcyBhcmUgYSBHTlUgbWFrZSBleHRlbnNpb24KK2xpYmVkYXRhc2VydmVydWkvTWFrZWZpbGUuYW06MTE4OiB3YXJuaW5nOiBwa2djb25maWdfREFUQTotJChBUElfVkVSU0lPTjogbm9uLVBPU0lYIHZhcmlhYmxlIG5hbWUKK3NlcnZlcnMvZ29vZ2xlL2xpYmdkYXRhLWdvb2dsZS9NYWtlZmlsZS5hbToyNzogd2FybmluZzogJyUnLXN0eWxlIHBhdHRlcm4gcnVsZXMgYXJlIGEgR05VIG1ha2UgZXh0ZW5zaW9uCitzZXJ2ZXJzL2dvb2dsZS9saWJnZGF0YS1nb29nbGUvTWFrZWZpbGUuYW06MzM6IHdhcm5pbmc6IHBrZ2NvbmZpZ19EQVRBOi0kKEFQSV9WRVJTSU9OOiBub24tUE9TSVggdmFyaWFibGUgbmFtZQorc2VydmVycy9nb29nbGUvbGliZ2RhdGEvTWFrZWZpbGUuYW06MzE6IHdhcm5pbmc6ICclJy1zdHlsZSBwYXR0ZXJuIHJ1bGVzIGFyZSBhIEdOVSBtYWtlIGV4dGVuc2lvbgorc2VydmVycy9nb29nbGUvbGliZ2RhdGEvTWFrZWZpbGUuYW06Mzc6IHdhcm5pbmc6IHBrZ2NvbmZpZ19EQVRBOi0kKEFQSV9WRVJTSU9OOiBub24tUE9TSVggdmFyaWFibGUgbmFtZQorc2VydmVycy9ncm91cHdpc2UvTWFrZWZpbGUuYW06ODU6IHdhcm5pbmc6ICclJy1zdHlsZSBwYXR0ZXJuIHJ1bGVzIGFyZSBhIEdOVSBtYWtlIGV4dGVuc2lvbgorc2VydmVycy9ncm91cHdpc2UvTWFrZWZpbGUuYW06OTE6IHdhcm5pbmc6IHBrZ2NvbmZpZ19EQVRBOi0kKEFQSV9WRVJTSU9OOiBub24tUE9TSVggdmFyaWFibGUgbmFtZQorYXV0b3JlY29uZjogYXV0b21ha2UgZmFpbGVkIHdpdGggZXhpdCBzdGF0dXM6IDEKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLU9mZi1CeTogTml0aW4gQSBLYW1ibGUgPG5pdGluLmEua2FtYmxlQGludGVsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKworQ29uZmxpY3RzOgorCWNvbmZpZ3VyZS5hYworLS0tCisgY29uZmlndXJlLmFjIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCA0OWQ3NTA2Li4xYzgwMmZmIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0yMSw3ICsyMSw3IEBAIG00X2RlZmluZShbYXBpX3ZlcnNpb25dLCBbMS4yXSkKKyBkbmwgQXV0b2NvbmYgLyBBdXRvbWFrZSBJbml0aWFsaXphdGlvbgorIEFDX1BSRVJFUSgyLjYyKQorIEFDX0lOSVQoW2V2b2x1dGlvbi1kYXRhLXNlcnZlcl0sW2Vkc192ZXJzaW9uXSxbaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9RXZvbHV0aW9uLURhdGEtU2VydmVyXSkKKy1BTV9JTklUX0FVVE9NQUtFKFtnbnUgMS4xMCB0YXItdXN0YXIgZGlzdC14eiBuby1kaXN0LWd6aXAgLVdhbGwgLVduby1wb3J0YWJpbGl0eSAtV2Vycm9yIGZvcmVpZ25dKQorK0FNX0lOSVRfQVVUT01BS0UoW2dudSAxLjEwIHRhci11c3RhciBkaXN0LXh6IG5vLWRpc3QtZ3ppcCAtV2FsbCAtV25vLXBvcnRhYmlsaXR5IGZvcmVpZ25dKQorIEFDX0NPTkZJR19NQUNST19ESVIoW200XSkKKyBBQ19DT05GSUdfU1JDRElSKFJFQURNRSkKKyBBQ19DT05GSUdfSEVBREVSUyhjb25maWcuaCkKKy0tIAorMS44LjMuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9lZHMvZXZvbHV0aW9uLWRhdGEtc2VydmVyLzAwMDQtY29uZmlndXJlLUZpeC1saWJpY2FsLXBrZy1jb25maWctdHJ5aW5nLXRvLXVzZS1ob3N0LS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvMDAwNC1jb25maWd1cmUtRml4LWxpYmljYWwtcGtnLWNvbmZpZy10cnlpbmctdG8tdXNlLWhvc3QtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzODMzNDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9lZHMvZXZvbHV0aW9uLWRhdGEtc2VydmVyLzAwMDQtY29uZmlndXJlLUZpeC1saWJpY2FsLXBrZy1jb25maWctdHJ5aW5nLXRvLXVzZS1ob3N0LS5wYXRjaApAQCAtMCwwICsxLDM5IEBACitGcm9tIDJjNzNiNTg4YjkwMThjYjU5YzY2NmVhZTNhMTVmYTFhZjQyYzU2YmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitEYXRlOiBTdW4sIDQgQXVnIDIwMTMgMTA6NTc6MDggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCA0LzVdIGNvbmZpZ3VyZTogRml4IGxpYmljYWwgcGtnLWNvbmZpZyB0cnlpbmcgdG8gdXNlIGhvc3QKKyBwYXRocworCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBjYWxlbmRhci9saWJlY2FsL2xpYmVjYWwucGMuaW4gfCAyICstCisgY29uZmlndXJlLmFjICAgICAgICAgICAgICAgICAgIHwgMyArKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NhbGVuZGFyL2xpYmVjYWwvbGliZWNhbC5wYy5pbiBiL2NhbGVuZGFyL2xpYmVjYWwvbGliZWNhbC5wYy5pbgoraW5kZXggZmM2YjM1OS4uZDM0MzViYiAxMDA2NDQKKy0tLSBhL2NhbGVuZGFyL2xpYmVjYWwvbGliZWNhbC5wYy5pbgorKysrIGIvY2FsZW5kYXIvbGliZWNhbC9saWJlY2FsLnBjLmluCitAQCAtMTIsNCArMTIsNCBAQCBEZXNjcmlwdGlvbjogQ2xpZW50IGxpYnJhcnkgZm9yIGV2b2x1dGlvbiBjYWxlbmRhcnMKKyBWZXJzaW9uOiBAVkVSU0lPTkAKKyBSZXF1aXJlczogbGliaWNhbCA+PSBATElCSUNBTF9SRVFVSVJFREAgbGliZWRhdGFzZXJ2ZXItMS4yIGdpby0yLjAKKyBMaWJzOiAtTCR7bGliZGlyfSAtbGVjYWwtMS4yCistQ2ZsYWdzOiAtSSR7cHJpdmluY2x1ZGVkaXJ9IEBMSUJJQ0FMX0VYVFJBX0NGTEFHU0AKKytDZmxhZ3M6IC1JJHtwcml2aW5jbHVkZWRpcn0KK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDFjODAyZmYuLmYxZDRjZTggMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTEzNTEsNyArMTM1MSw4IEBAIGRubCB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gPGxpYmljYWwvaWNhbC5oPiBhbmQgPGljYWwuaD4KKyBkbmwgV2UgaGF2ZSBmaXhlZCBhbGwgb3VyIGluc3RhbmNlcyB0byB1c2UgPGxpYmljYWwvaWNhbC5oPi4gVW50aWwgdGhlIC5wYyBmcm9tCisgZG5sIGxpYmljYWwgaXMgZml4ZWQsIHdlIGhhdmUgdG8gd29yay1hcm91bmQgdGhlIGJ1Z2d5IENGbGFncy4KKyBkbmwgKioqKioKKy0JTElCSUNBTF9FWFRSQV9DRkxBR1M9IiAtSWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPWluY2x1ZGVkaXIgbGliaWNhbGAgIgorKwltNF9wYXR0ZXJuX2FsbG93KFteUEtHX0NPTkZJR19TWVNST09UX0RJUiRdKQorKwlMSUJJQ0FMX0VYVFJBX0NGTEFHUz0iIC1JJFBLR19DT05GSUdfU1lTUk9PVF9ESVJgJFBLR19DT05GSUcgLS12YXJpYWJsZT1pbmNsdWRlZGlyIGxpYmljYWxgICIKKyAJTElCSUNBTF9FWFRSQV9MSUJTPSIiCisgCUFDX1NVQlNUKExJQklDQUxfRVhUUkFfQ0ZMQUdTKQorIAlBQ19TVUJTVChMSUJJQ0FMX0VYVFJBX0xJQlMpCistLSAKKzEuOC4zLjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZWRzL2V2b2x1dGlvbi1kYXRhLXNlcnZlci8wMDA1LXNvdXAtYWRhcHQtdG8tbmV3LWxpYnhtbDItQVBJLWZyb20tMi45LjAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9lZHMvZXZvbHV0aW9uLWRhdGEtc2VydmVyLzAwMDUtc291cC1hZGFwdC10by1uZXctbGlieG1sMi1BUEktZnJvbS0yLjkuMC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZGRmMmVlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZWRzL2V2b2x1dGlvbi1kYXRhLXNlcnZlci8wMDA1LXNvdXAtYWRhcHQtdG8tbmV3LWxpYnhtbDItQVBJLWZyb20tMi45LjAucGF0Y2gKQEAgLTAsMCArMSw3NyBAQAorRnJvbSBhYzk1ZTg5NzQ5YTAxNjE4Zjk4YjU1NGE5OGU3OGQ3Yzk4OGJmYzEwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogVHVlLCAyNyBOb3YgMjAxMiAwODo0Njo1MSArMDEwMAorU3ViamVjdDogW1BBVENIIDUvNV0gc291cDogYWRhcHQgdG8gbmV3IGxpYnhtbDIgQVBJIGZyb20gMi45LjAKKworKiBmb3IgbW9yZSBpbmZvIHNlZQorICBodHRwczovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8yMDEyLUF1Z3VzdC9tc2cwMDAwNS5odG1sCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIGNhbGVuZGFyL2JhY2tlbmRzL2NhbGRhdi9lLWNhbC1iYWNrZW5kLWNhbGRhdi5jIHwgMjEgKysrKysrKysrKysrKysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2NhbGVuZGFyL2JhY2tlbmRzL2NhbGRhdi9lLWNhbC1iYWNrZW5kLWNhbGRhdi5jIGIvY2FsZW5kYXIvYmFja2VuZHMvY2FsZGF2L2UtY2FsLWJhY2tlbmQtY2FsZGF2LmMKK2luZGV4IDEyZjhmMjIuLjU1NTVhM2UgMTAwNjQ0CistLS0gYS9jYWxlbmRhci9iYWNrZW5kcy9jYWxkYXYvZS1jYWwtYmFja2VuZC1jYWxkYXYuYworKysrIGIvY2FsZW5kYXIvYmFja2VuZHMvY2FsZGF2L2UtY2FsLWJhY2tlbmQtY2FsZGF2LmMKK0BAIC0xMTcyLDggKzExNzIsMTMgQEAgY2hlY2tfY2FsZW5kYXJfY2hhbmdlZF9vbl9zZXJ2ZXIgKEVDYWxCYWNrZW5kQ2FsREFWICpjYmRhdikKKyAJc291cF9tZXNzYWdlX3NldF9yZXF1ZXN0IChtZXNzYWdlLAorIAkJCQkgICJhcHBsaWNhdGlvbi94bWwiLAorIAkJCQkgIFNPVVBfTUVNT1JZX0NPUFksCisrI2lmZGVmIExJQlhNTDJfTkVXX0JVRkZFUgorKwkJCQkgIChnY2hhciAqKSB4bWxPdXRwdXRCdWZmZXJHZXRDb250ZW50KGJ1ZiksCisrCQkJCSAgeG1sT3V0cHV0QnVmZmVyR2V0U2l6ZShidWYpKTsKKysjZWxzZQorIAkJCQkgIChnY2hhciAqKSBidWYtPmJ1ZmZlci0+Y29udGVudCwKKyAJCQkJICBidWYtPmJ1ZmZlci0+dXNlKTsKKysjZW5kaWYKKyAKKyAJLyogU2VuZCB0aGUgcmVxdWVzdCBub3cgKi8KKyAJc2VuZF9hbmRfaGFuZGxlX3JlZGlyZWN0aW9uIChwcml2LT5zZXNzaW9uLCBtZXNzYWdlLCBOVUxMKTsKK0BAIC0xMzIxLDggKzEzMjYsMTMgQEAgY2FsZGF2X3NlcnZlcl9saXN0X29iamVjdHMgKEVDYWxCYWNrZW5kQ2FsREFWICpjYmRhdiwKKyAJc291cF9tZXNzYWdlX3NldF9yZXF1ZXN0IChtZXNzYWdlLAorIAkJCQkgICJhcHBsaWNhdGlvbi94bWwiLAorIAkJCQkgIFNPVVBfTUVNT1JZX0NPUFksCisrI2lmZGVmIExJQlhNTDJfTkVXX0JVRkZFUgorKwkJCQkgIChnY2hhciAqKSB4bWxPdXRwdXRCdWZmZXJHZXRDb250ZW50KGJ1ZiksCisrCQkJCSAgeG1sT3V0cHV0QnVmZmVyR2V0U2l6ZShidWYpKTsKKysjZWxzZQorIAkJCQkgIChnY2hhciAqKSBidWYtPmJ1ZmZlci0+Y29udGVudCwKKyAJCQkJICBidWYtPmJ1ZmZlci0+dXNlKTsKKysjZW5kaWYKKyAKKyAJLyogU2VuZCB0aGUgcmVxdWVzdCBub3cgKi8KKyAJc2VuZF9hbmRfaGFuZGxlX3JlZGlyZWN0aW9uIChwcml2LT5zZXNzaW9uLCBtZXNzYWdlLCBOVUxMKTsKK0BAIC0xNzE1LDggKzE3MjUsMTQgQEAgY2FsZGF2X3JlY2VpdmVfc2NoZWR1bGVfb3V0Ym94X3VybCAoRUNhbEJhY2tlbmRDYWxEQVYgKmNiZGF2KQorIAlzb3VwX21lc3NhZ2Vfc2V0X3JlcXVlc3QgKG1lc3NhZ2UsCisgCQkJCSAgImFwcGxpY2F0aW9uL3htbCIsCisgCQkJCSAgU09VUF9NRU1PUllfQ09QWSwKKysjaWZkZWYgTElCWE1MMl9ORVdfQlVGRkVSCisrCQkJCSAgKGdjaGFyICopIHhtbE91dHB1dEJ1ZmZlckdldENvbnRlbnQoYnVmKSwKKysJCQkJICB4bWxPdXRwdXRCdWZmZXJHZXRTaXplKGJ1ZikpOworKyNlbHNlCisgCQkJCSAgKGdjaGFyICopIGJ1Zi0+YnVmZmVyLT5jb250ZW50LAorIAkJCQkgIGJ1Zi0+YnVmZmVyLT51c2UpOworKyNlbmRpZgorKworIAorIAkvKiBTZW5kIHRoZSByZXF1ZXN0IG5vdyAqLworIAlzZW5kX2FuZF9oYW5kbGVfcmVkaXJlY3Rpb24gKHByaXYtPnNlc3Npb24sIG1lc3NhZ2UsIE5VTEwpOworQEAgLTE3NjUsOCArMTc4MSwxMyBAQCBjYWxkYXZfcmVjZWl2ZV9zY2hlZHVsZV9vdXRib3hfdXJsIChFQ2FsQmFja2VuZENhbERBViAqY2JkYXYpCisgCQlzb3VwX21lc3NhZ2Vfc2V0X3JlcXVlc3QgKG1lc3NhZ2UsCisgCQkJCSAgImFwcGxpY2F0aW9uL3htbCIsCisgCQkJCSAgU09VUF9NRU1PUllfQ09QWSwKKysjaWZkZWYgTElCWE1MMl9ORVdfQlVGRkVSCisrCQkJCSAgKGdjaGFyICopIHhtbE91dHB1dEJ1ZmZlckdldENvbnRlbnQoYnVmKSwKKysJCQkJICB4bWxPdXRwdXRCdWZmZXJHZXRTaXplKGJ1ZikpOworKyNlbHNlCisgCQkJCSAgKGdjaGFyICopIGJ1Zi0+YnVmZmVyLT5jb250ZW50LAorIAkJCQkgIGJ1Zi0+YnVmZmVyLT51c2UpOworKyNlbmRpZgorIAorIAkJLyogU2VuZCB0aGUgcmVxdWVzdCBub3cgKi8KKyAJCXNlbmRfYW5kX2hhbmRsZV9yZWRpcmVjdGlvbiAocHJpdi0+c2Vzc2lvbiwgbWVzc2FnZSwgTlVMTCk7CistLSAKKzEuOC4zLjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZWRzL2V2b2x1dGlvbi1kYXRhLXNlcnZlci8wMDA2LWNvbmZpZ3VyZS5hYy1kby1ub3Qtb3ZlcndyaXRlLWxvY2FsZWRpci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvMDAwNi1jb25maWd1cmUuYWMtZG8tbm90LW92ZXJ3cml0ZS1sb2NhbGVkaXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzQxZTVlOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvMDAwNi1jb25maWd1cmUuYWMtZG8tbm90LW92ZXJ3cml0ZS1sb2NhbGVkaXIucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorRnJvbSAzZmVhZWE4ZTg0YjNhZDhkYzJkNTUxZTQyMjI0ZjNiNGE5NDEzZTdkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogVGh1LCAzIFNlcCAyMDE1IDExOjE0OjI0ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZS5hYzogZG8gbm90IG92ZXJ3cml0ZSBsb2NhbGVkaXIKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbMV0KKworWzFdIGh0dHBzOi8vZ2l0Lmdub21lLm9yZy9icm93c2UvZXZvbHV0aW9uLWRhdGEtc2VydmVyL3RyZWUvY29uZmlndXJlLmFjI24yOTgKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgMyAtLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggZjFkNGNlOC4uY2VlODQ3ZiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMjU3LDkgKzI1Nyw2IEBAIEdFVFRFWFRfUEFDS0FHRT1ldm9sdXRpb24tZGF0YS1zZXJ2ZXItJEJBU0VfVkVSU0lPTgorIEFDX1NVQlNUKEdFVFRFWFRfUEFDS0FHRSkKKyBBQ19ERUZJTkVfVU5RVU9URUQoR0VUVEVYVF9QQUNLQUdFLCAiJEdFVFRFWFRfUEFDS0FHRSIsIFtQYWNrYWdlIG5hbWUgZm9yIGdldHRleHRdKQorIAorLWxvY2FsZWRpcj0nJChwcmVmaXgpLyQoREFUQURJUk5BTUUpL2xvY2FsZScKKy1BQ19TVUJTVChsb2NhbGVkaXIpCistCisgZG5sICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIGRubCBJbml0aWFsaXplIGxpYnRvb2wKKyBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCistLSAKKzIuMS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvaWNvbnYtZGV0ZWN0LmggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9lZHMvZXZvbHV0aW9uLWRhdGEtc2VydmVyL2ljb252LWRldGVjdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2ZjQ3NmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9lZHMvZXZvbHV0aW9uLWRhdGEtc2VydmVyL2ljb252LWRldGVjdC5oCkBAIC0wLDAgKzEsNSBAQAorLyogVGhpcyBpcyBhbiBhdXRvLWdlbmVyYXRlZCBoZWFkZXIsIERPIE5PVCBFRElUISAqLworCisjZGVmaW5lIElDT05WX0lTT19EX0ZPUk1BVCAiaXNvLSVkLSVkIgorI2RlZmluZSBJQ09OVl9JU09fU19GT1JNQVQgImlzby0lZC0lcyIKKyNkZWZpbmUgSUNPTlZfMTA2NDYgImlzby0xMDY0NiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXJfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZWRzL2V2b2x1dGlvbi1kYXRhLXNlcnZlcl9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTU2NjRiMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXJfZ2l0LmJiCkBAIC0wLDAgKzEsMTE3IEBACitTVU1NQVJZID0gIkV2b2x1dGlvbiBkYXRhYmFzZSBiYWNrZW5kIHNlcnZlciIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ25vbWUub3JnL3Byb2plY3RzL2V2b2x1dGlvbi8iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLyIKKworTElDRU5TRSA9ICJMR1BMdjIgJiBMR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NmE2ZTY4OWQxOTI1NWNmMDU1N2YzZmU3ZDcwNjgyMTIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vY2FtZWwvY2FtZWwuaDtlbmRsaW5lPTI0O21kNT1iMDIxNzVjODhmODIxMjI0NzQ2YjM0N2E4OTczMWEyYiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWJlZGF0YXNlcnZlci9lLWRhdGEtc2VydmVyLXV0aWwuaDtlbmRsaW5lPTIwO21kNT05MzQ1MDJmMDNjODQ1MjNhYTA1OWQ0ODI1ODg3YjM4MCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9jYWxlbmRhci9saWJlY2FsL2UtY2FsLmg7ZW5kbGluZT0yNDttZDU9NWQ0OTZiOWI2ZmQyYTRmZGJiZmMzMWVmOTQ1NWM5ZDAiCisKK0RFUEVORFMgPSAiaW50bHRvb2wtbmF0aXZlIGdsaWItMi4wIGd0ayszIGdjb25mIGRidXMgZGIgZ25vbWUtY29tbW9uIHZpcnR1YWwvbGliaWNvbnYgemxpYiBsaWJzb3VwLTIuNCBsaWJnbGFkZSBsaWJpY2FsIGxpYmdub21lLWtleXJpbmcgZ3BlcmYtbmF0aXZlIGxpYmdkYXRhIG5zcyIKKworU1JDUkVWID0gImE5ZTRlNzRlYzQ0NzNhNGZkMDllNTZiNjkwYmQ0ZmE3MmY2ODY2ODciCisKKyMgMy40IHNlcmllcyBuZWVkcyBsaWJnZGF0YS0wLjEwKiwgMy44IHNlcmllcyBuZWVkcyBhbHNvIGxpYnNlY3JldCBpbnN0ZWFkIG9mIGdub21lLWtleXJpbmcKK1BWID0gIjMuMi4zK2dpdCR7U1JDUFZ9IgorCitTUkNfVVJJID0gIiBcCisgICAgZ2l0Oi8vZ2l0Lmdub21lLm9yZy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXI7YnJhbmNoPWdub21lLTMtMiBcCisgICAgZmlsZTovLzAwMDEtY29udGFjdC1SZXBsYWNlLXRoZS1Ob3ZlbGwtc2FtcGxlLWNvbnRhY3Qtd2l0aC1zb21ldC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDItRml4LWZvci1hdXRvbWFrZS0xLjEyLngucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAzLURpc2FibGUtV2Vycm9yLWZvci1hdXRvbWFrZS5wYXRjaCBcCisgICAgZmlsZTovLzAwMDQtY29uZmlndXJlLUZpeC1saWJpY2FsLXBrZy1jb25maWctdHJ5aW5nLXRvLXVzZS1ob3N0LS5wYXRjaCBcCisgICAgZmlsZTovLzAwMDUtc291cC1hZGFwdC10by1uZXctbGlieG1sMi1BUEktZnJvbS0yLjkuMC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDYtY29uZmlndXJlLmFjLWRvLW5vdC1vdmVyd3JpdGUtbG9jYWxlZGlyLnBhdGNoIFwKKyAgICBmaWxlOi8vaWNvbnYtZGV0ZWN0LmggXAorIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scyBndGstZG9jIHBrZ2NvbmZpZyBnZXR0ZXh0IGdvYmplY3QtaW50cm9zcGVjdGlvbgorCisjIC1sZGIgbmVlZHMgdGhpcyBvbiBzb21lIHBsYXRmb3JtcworTERGTEFHUyArPSAiLWxwdGhyZWFkIgorCisjIFBhcmFsbGVsIG1ha2Ugc2hvd3MgbWFueSBpc3N1ZXMgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLgorIyBDdXJyZW50IHByb2JsZW1zIHNlZW0gdG8gYmUgZHVwbGljYXRlIGV4ZWN1dGlvbiBvZiB0aGUgY2FsYW5kZXIvYmFja2VuZHMKKyMgZGlyZWN0b3JpZXMgYnkgbWFrZSByZXN1bHRpbmcgaW4gdHJ1bmNhdGVkL2NvcnJ1cHQgLmxhIGZpbGVzCisjUEFSQUxMRUxfTUFLRSA9ICIiCisKK2RvX2NvbmZpZ3VyZV9hcHBlbmQgKCkgeworICAgIGNwICR7V09SS0RJUn0vaWNvbnYtZGV0ZWN0LmggJHtTfQorfQorCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisgICAgICAgIGV4cG9ydCBHSVJfRVhUUkFfTElCU19QQVRIPSIke0J9L2NhbWVsLy5saWJzOiR7Qn0vbGliZWRhdGFzZXJ2ZXIvLmxpYnMiCit9CisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGhvdXQtb3BlbmxkYXAgXAorICAgICAgICAgICAgICAgIC0td2l0aC1saWJkYj0ke1NUQUdJTkdfRElSX0hPU1R9JHtwcmVmaXh9IFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtbm50cCAtLWRpc2FibGUtZ29hIC0tZGlzYWJsZS13ZWF0aGVyIgorCitQQUNLQUdFUyA9KyAibGliY2FtZWwgbGliY2FtZWwtZGV2IGxpYmVib29rIGxpYmVib29rLWRldiBsaWJlY2FsIGxpYmVjYWwtZGV2IFwKKyAgICAgICAgICAgICBsaWJlZGF0YS1ib29rIGxpYmVkYXRhLWJvb2stZGV2IGxpYmVkYXRhLWNhbCBsaWJlZGF0YS1jYWwtZGV2IFwKKyAgICAgICAgICAgICBsaWJlZGF0YXNlcnZlciBsaWJlZGF0YXNlcnZlci1kZXYgXAorICAgICAgICAgICAgIGxpYmVkYXRhc2VydmVydWkgbGliZWRhdGFzZXJ2ZXJ1aS1kZXYiCisKK0ZJTEVTXyR7UE59ID0rICIke2RhdGFkaXJ9L2V2b2x1dGlvbi1kYXRhLXNlcnZlci0qL3VpLyIKK0ZJTEVTXyR7UE59LWRldiA9KyAiJHtsaWJkaXJ9L3BrZ2NvbmZpZy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXItKi5wYyIKK0ZJTEVTXyR7UE59LWRiZyA9KyAiJHtsaWJkaXJ9L2V2b2x1dGlvbi1kYXRhLXNlcnZlciovY2FtZWwtcHJvdmlkZXJzLy5kZWJ1ZyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIqL2NhbGVuZGFyLWJhY2tlbmRzLy5kZWJ1ZyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIqL2FkZHJlc3Nib29rLWJhY2tlbmRzLy5kZWJ1ZyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIqL2V4dGVuc2lvbnMvLmRlYnVnLyIKKworUlJFQ09NTUVORFNfJHtQTn0tZGV2ICs9ICJsaWJlY2FsLWRldiBsaWJlYm9vay1kZXYiCisKK0ZJTEVTX2xpYmNhbWVsID0gIiR7bGliZGlyfS9saWJjYW1lbC0qLnNvLiogXAorICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYmNhbWVsLXByb3ZpZGVyLSouc28uKiBcCisgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vZXZvbHV0aW9uLWRhdGEtc2VydmVyKi9jYW1lbC1wcm92aWRlcnMvKi5zbyBcCisgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vZXZvbHV0aW9uLWRhdGEtc2VydmVyKi9jYW1lbC1wcm92aWRlcnMvKi51cmxzIgorRklMRVNfbGliY2FtZWwtZGV2ID0gIiR7bGliZGlyfS9saWJjYW1lbC0qLnNvICR7bGliZGlyfS9saWJjYW1lbC1wcm92aWRlci0qLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGtnY29uZmlnL2NhbWVsKnBjIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vZXZvbHV0aW9uLWRhdGEtc2VydmVyKi9jYW1lbC1wcm92aWRlcnMvKi5sYSBcCisgICAgICAgICAgICAgICAgICAgICAgJHtpbmNsdWRlZGlyfS9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIqL2NhbWVsIgorCitGSUxFU19saWJlYm9vayA9ICIke2xpYmRpcn0vbGliZWJvb2stKi5zby4qIgorRklMRVNfbGliZWJvb2stZGV2ID0gIiR7bGliZGlyfS9saWJlYm9vay0xLjIuc28gXAorICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wa2djb25maWcvbGliZWJvb2stKi5wYyBcCisgICAgICAgICAgICAgICAgICAgICAgJHtpbmNsdWRlZGlyfS9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIqL2xpYmVib29rLyouaCIKK1JSRUNPTU1FTkRTX2xpYmVib29rID0gImxpYmVkYXRhLWJvb2siCisKK0ZJTEVTX2xpYmVjYWwgPSAiJHtsaWJkaXJ9L2xpYmVjYWwtKi5zby4qIFwKKyAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9ldm9sdXRpb24tZGF0YS1zZXJ2ZXItMS40L3pvbmVpbmZvIgorRklMRVNfbGliZWNhbC1kZXYgPSAiJHtsaWJkaXJ9L2xpYmVjYWwtKi5zbyAke2xpYmRpcn0vcGtnY29uZmlnL2xpYmVjYWwtKi5wYyBcCisgICAgICAgICAgICAgICAgICAgICAke2luY2x1ZGVkaXJ9L2V2b2x1dGlvbi1kYXRhLXNlcnZlciovbGliZWNhbC8qLmggXAorICAgICAgICAgICAgICAgICAgICAgJHtpbmNsdWRlZGlyfS9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIqL2xpYmljYWwvKi5oIgorUlJFQ09NTUVORFNfbGliZWNhbCA9ICJsaWJlZGF0YS1jYWwgdHpkYXRhIgorCitGSUxFU19saWJlZGF0YS1ib29rID0gIiR7bGliZXhlY2Rpcn0vZS1hZGRyZXNzYm9vay1mYWN0b3J5IFwKKyAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc2VydmljZXMvKi5BZGRyZXNzQm9vay5zZXJ2aWNlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYmVkYXRhLWJvb2stKi5zby4qIFwKKyAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2V2b2x1dGlvbi1kYXRhLXNlcnZlci0qL2V4dGVuc2lvbnMvbGliZWJvb2sqLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9ldm9sdXRpb24tZGF0YS1zZXJ2ZXItMS40L3dlYXRoZXIvTG9jYXRpb25zLnhtbCIKK0ZJTEVTX2xpYmVkYXRhLWJvb2stZGV2ID0gIiR7bGliZGlyfS9saWJlZGF0YS1ib29rLSouc28gXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZy9saWJlZGF0YS1ib29rLSoucGMgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2V2b2x1dGlvbi1kYXRhLXNlcnZlci0qL2V4dGVuc2lvbnMvbGliZWJvb2sqLmxhIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICR7aW5jbHVkZWRpcn0vZXZvbHV0aW9uLWRhdGEtc2VydmVyLSovbGliZWRhdGEtYm9vayIKKworRklMRVNfbGliZWRhdGEtY2FsID0gIiR7bGliZXhlY2Rpcn0vZS1jYWxlbmRhci1mYWN0b3J5IFwKKyAgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zZXJ2aWNlcy8qLkNhbGVuZGFyLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9saWJlZGF0YS1jYWwtKi5zby4qIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vZXZvbHV0aW9uLWRhdGEtc2VydmVyLSovZXh0ZW5zaW9ucy9saWJlY2FsKi5zbyIKK0ZJTEVTX2xpYmVkYXRhLWNhbC1kZXYgPSAiJHtsaWJkaXJ9L2xpYmVkYXRhLWNhbC0qLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZy9saWJlZGF0YS1jYWwtKi5wYyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICR7aW5jbHVkZWRpcn0vZXZvbHV0aW9uLWRhdGEtc2VydmVyLSovbGliZWRhdGEtY2FsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2V2b2x1dGlvbi1kYXRhLXNlcnZlci0qL2V4dGVuc2lvbnMvbGliZWNhbCoubGEiCisKK0ZJTEVTX2xpYmVkYXRhc2VydmVyID0gIiR7bGliZGlyfS9saWJlZGF0YXNlcnZlci0qLnNvLioiCitGSUxFU19saWJlZGF0YXNlcnZlci1kZXYgPSAiJHtsaWJkaXJ9L2xpYmVkYXRhc2VydmVyLSouc28gXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wa2djb25maWcvbGliZWRhdGFzZXJ2ZXItKi5wYyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtpbmNsdWRlZGlyfS9ldm9sdXRpb24tZGF0YS1zZXJ2ZXItKi9saWJlZGF0YXNlcnZlci8qLmgiCisKK0ZJTEVTX2xpYmVkYXRhc2VydmVydWkgPSAiJHtsaWJkaXJ9L2xpYmVkYXRhc2VydmVydWktKi5zby4qICR7ZGF0YWRpcn0vZXZvbHV0aW9uLWRhdGEtc2VydmVyLTEuNC9nbGFkZS8qLmdsYWRlIgorRklMRVNfbGliZWRhdGFzZXJ2ZXJ1aS1kZXYgPSAiJHtsaWJkaXJ9L2xpYmVkYXRhc2VydmVydWktKi5zbyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGtnY29uZmlnL2xpYmVkYXRhc2VydmVydWktKi5wYyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2luY2x1ZGVkaXJ9L2V2b2x1dGlvbi1kYXRhLXNlcnZlci0qL2xpYmVkYXRhc2VydmVydWkvKi5oIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ldmluY2UvZXZpbmNlLzAwMDEtaGVscC1yZW1vdmUtWUVMUC1tYWNyby5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2V2aW5jZS9ldmluY2UvMDAwMS1oZWxwLXJlbW92ZS1ZRUxQLW1hY3JvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5MmY0NjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ldmluY2UvZXZpbmNlLzAwMDEtaGVscC1yZW1vdmUtWUVMUC1tYWNyby5wYXRjaApAQCAtMCwwICsxLDI0IEBACitGcm9tIDQwOTIxMDM3ZDhlNzIwNWEzODg5ZDUyOWZiNGUwNmY3OWUxZTg4YjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMTkgRmViIDIwMTYgMTY6NTI6MTggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gaGVscDogcmVtb3ZlIFlFTFAgbWFjcm8KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZC1zcGVjaWZpY10KK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgaGVscC9NYWtlZmlsZS5hbSB8IDIgLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2hlbHAvTWFrZWZpbGUuYW0gYi9oZWxwL01ha2VmaWxlLmFtCitpbmRleCA3ODM1ODEwLi4zN2M4OGNlIDEwMDY0NAorLS0tIGEvaGVscC9NYWtlZmlsZS5hbQorKysrIGIvaGVscC9NYWtlZmlsZS5hbQorQEAgLTEsNSArMSwzIEBACistQFlFTFBfSEVMUF9SVUxFU0AKKy0KKyBTVUJESVJTID0gcmVmZXJlbmNlCisgCisgSEVMUF9JRCA9IGV2aW5jZQorLS0gCisyLjcuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ldmluY2UvZXZpbmNlXzMuMTguMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2V2aW5jZS9ldmluY2VfMy4xOC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlNjMwOTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ldmluY2UvZXZpbmNlXzMuMTguMi5iYgpAQCAtMCwwICsxLDQ4IEBACitTVU1NQVJZID0gIkV2aW5jZSBpcyBhIGRvY3VtZW50IHZpZXdlciBmb3IgZG9jdW1lbnQgZm9ybWF0cyBsaWtlIHBkZiwgcHMsIGRqdnUiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTZmMmY4ZDVlZTU3NmEyMTYzOTc3OTM4ZWEzNmZhN2IiCitTRUNUSU9OID0gIngxMS9vZmZpY2UiCitERVBFTkRTID0gImd0ayszIGxpYnNlY3JldCBnbm9tZS1kZXNrdG9wMyBwb3BwbGVyIGdzdHJlYW1lcjEuMC1wbHVnaW5zLWJhc2Ugb3JjIGFkd2FpdGEtaWNvbi10aGVtZSIKK1BSID0gInI1IgorCitpbmhlcml0IGdub21lIHBrZ2NvbmZpZyBndGstaWNvbi1jYWNoZSBnc2V0dGluZ3MgZ29iamVjdC1pbnRyb3NwZWN0aW9uCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImMzOWFmNmI4YjFjNDRkNDM5M2VmOGFjOWRhYjk5YzBiIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiNDJhZDZjNzM1NGQ4ODFhOWVjYWIxMzZlYTg0ZmY4NjdhY2I5NDI2MDViY2ZhYzQ4YjZjMTJlMWMyZDhlY2IxNyIKKworU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtaGVscC1yZW1vdmUtWUVMUC1tYWNyby5wYXRjaCIKKworRVhUUkFfT0VDT05GID0gIiAtLWVuYWJsZS10aHVtYm5haWxlciBcCisiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICAgICAgZXhwb3J0IEdJUl9FWFRSQV9MSUJTX1BBVEg9IiR7Qn0vbGliZG9jdW1lbnQvLmxpYnMiCit9CisKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L3BpeG1hcHMKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9kYXRhL2ljb25zLzQ4eDQ4L2FwcHMvZXZpbmNlLnBuZyAke0R9JHtkYXRhZGlyfS9waXhtYXBzLworfQorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tuYXV0aWx1c10gPSAiLS1lbmFibGUtbmF1dGlsdXMsLS1kaXNhYmxlLW5hdXRpbHVzLG5hdXRpbHVzIgorUEFDS0FHRUNPTkZJR1ticm93c2VyLXBsdWdpbl0gPSAiLS1lbmFibGUtYnJvd3Nlci1wbHVnaW4sLS1kaXNhYmxlLWJyb3dzZXItcGx1Z2luLCIKKworUkRFUEVORFNfJHtQTn0gKz0gImdsaWItMi4wLXV0aWxzIgorUlJFQ09NTU1FTkRTXyR7UE59ID0gImFkd2FpdGEtaWNvbi10aGVtZSIKKworUEFDS0FHRVMgPSsgIiR7UE59LW5hdXRpbHVzLWV4dGVuc2lvbiIKK1BBQ0tBR0VTID0rICIke1BOfS1icm93c2VyLXBsdWdpbiIKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RidXMtMSBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9hcHBkYXRhIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3RodW1ibmFpbGVycyBcCisgICAgICAgICAgICAgICAiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS8qLyovLmRlYnVnIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9LyovKi8qLy5kZWJ1ZyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L25hdXRpbHVzL2V4dGVuc2lvbnMtMi4wLyoubGEgXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vZXZpbmNlLyovYmFja2VuZHMvKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L25hdXRpbHVzL2V4dGVuc2lvbnMtMi4wLyouYSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9ldmluY2UvKi9iYWNrZW5kcy8qLmEiCitGSUxFU18ke1BOfS1uYXV0aWx1cy1leHRlbnNpb24gPSAiJHtsaWJkaXJ9L25hdXRpbHVzLyovKnNvIgorRklMRVNfJHtQTn0tYnJvd3Nlci1wbHVnaW4gPSAiJHtsaWJkaXJ9L21vemlsbGEvKi8qc28iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9mYWVuemEtaWNvbi10aGVtZS9mYWVuemEtaWNvbi10aGVtZV8xLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9mYWVuemEtaWNvbi10aGVtZS9mYWVuemEtaWNvbi10aGVtZV8xLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM5YjFhMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2ZhZW56YS1pY29uLXRoZW1lL2ZhZW56YS1pY29uLXRoZW1lXzEuMy5iYgpAQCAtMCwwICsxLDI2IEBACitERVNDUklQVElPTiA9ICJBbiBpY29uIHRoZW1lIGZvciBHbm9tZSIKK1NFQ1RJT04gPSAieDExL3dtIgorTElDRU5TRSA9ICJHUEx2MyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9mYWVuemEtaWNvbi10aGVtZS8iCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworaW5oZXJpdCBhbGxhcmNoIGd0ay1pY29uLWNhY2hlCisKK1MgPSAiJHtXT1JLRElSfSIKKworU1JDX1VSSSA9ICJodHRwOi8vZmFlbnphLWljb24tdGhlbWUuZ29vZ2xlY29kZS5jb20vZmlsZXMvJHtQTn1fJHtQVn0uemlwIgorU1JDX1VSSVttZDVzdW1dID0gImU5YmQ2MTA2ZDEzMDE3Y2UwNmQyNGI1ODYyNTlhZTljIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ0NDg2ZmRhMDQxM2Y4YTgxYTg3ZTBkZDIzMjlmNTBmMmE4YTdjYjQxNDdiNDhjZjE0N2YwMTYwYWRkODE3NGEiCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9pY29ucworICAgIGZvciB0aGVtZSBpbiBgZmluZCAtbmFtZSAnRmFlbnphKi50YXIuZ3onYDsgZG8KKyAgICAgICAgdGFyIC14ZiAke3RoZW1lfSAtQyAke0R9JHtkYXRhZGlyfS9pY29ucworICAgIGRvbmUKKyAgICB0YXIgLXhmIGVtZXNlbmUtZmFlbnphLXRoZW1lLnRhci5neiAtQyAke0R9JHtkYXRhZGlyfQorICAgIG12IC1mICR7RH0ke2RhdGFkaXJ9L2VtZXNlbmUvdGhlbWVzICR7RH0ke2RhdGFkaXJ9L3RoZW1lcworICAgIHJtIC1yZiAke0R9JHtkYXRhZGlyfS9lbWVzZW5lCisgICAgY2hvd24gLVIgcm9vdDpyb290ICR7RH0ke2RhdGFkaXJ9Cit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2ljb25zICR7ZGF0YWRpcn0vdGhlbWVzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2NhbGN0b29sL2djYWxjdG9vbC9maXgtaW5jbHVkZWRpci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2djYWxjdG9vbC9nY2FsY3Rvb2wvZml4LWluY2x1ZGVkaXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWViMDJhYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2djYWxjdG9vbC9nY2FsY3Rvb2wvZml4LWluY2x1ZGVkaXIucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorLS0tCisgTWFrZWZpbGUuYW0gICAgICAgICAgIHwgICAgMiArLQorIGdjYWxjdG9vbC9NYWtlZmlsZS5hbSB8ICAgIDIgLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAzIGRlbGV0aW9ucygtKQorCitJbmRleDogZ2NhbGN0b29sLTUuOC4xNy9nY2FsY3Rvb2wvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnY2FsY3Rvb2wtNS44LjE3Lm9yaWcvZ2NhbGN0b29sL01ha2VmaWxlLmFtCTIwMDUtMTItMTkgMTU6NDY6NTcuMDAwMDAwMDAwICswMDAwCisrKysgZ2NhbGN0b29sLTUuOC4xNy9nY2FsY3Rvb2wvTWFrZWZpbGUuYW0JMjAwNy0wNS0xNiAxNjowMzoyNi4wMDAwMDAwMDAgKzAxMDAKK0BAIC0xLDggKzEsNiBAQAorICMjIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b21ha2UgdG8gcHJvZHVjZSBNYWtlZmlsZS5pbgorIAorIElOQ0xVREVTID0gXAorLQktSSQoaW5jbHVkZWRpcikgXAorLQktREdfRElTQUJMRV9ERVBSRUNBVEVEIFwKKyAJLURHREtfUElYQlVGX0RJU0FCTEVfREVQUkVDQVRFRCBcCisgCS1ER0RLX0RJU0FCTEVfREVQUkVDQVRFRCBcCisgCS1ER05PTUVfRElTQUJMRV9ERVBSRUNBVEVEIFwKK0luZGV4OiBnY2FsY3Rvb2wtNS44LjE3L01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2NhbGN0b29sLTUuOC4xNy5vcmlnL01ha2VmaWxlLmFtCTIwMDctMDUtMTYgMTU6MzU6NDQuMDAwMDAwMDAwICswMTAwCisrKysgZ2NhbGN0b29sLTUuOC4xNy9NYWtlZmlsZS5hbQkyMDA3LTA1LTE2IDE2OjA2OjQ2LjAwMDAwMDAwMCArMDEwMAorQEAgLTI5LDcgKzI5LDcgQEAgRElTVENMRUFORklMRVMgPSAgICAgICAgICAgICAgICBcCisgCWdub21lLWRvYy11dGlscy5tYWtlCVwKKyAJZ2NhbGN0b29sLmRlc2t0b3AKKyAKKy1TVUJESVJTID0gcG8gZ2NhbGN0b29sIGhlbHAKKytTVUJESVJTID0gcG8gZ2NhbGN0b29sCisgCisgU0NIRU1BU19GSUxFID0gZ2NhbGN0b29sLnNjaGVtYXMKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2djYWxjdG9vbC9nY2FsY3Rvb2xfNS4zMi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2NhbGN0b29sL2djYWxjdG9vbF81LjMyLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDM5MWJiYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2djYWxjdG9vbC9nY2FsY3Rvb2xfNS4zMi4wLmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiZ2NhbGN0b29sIGlzIGEgcG93ZXJmdWwgY2FsY3VsYXRvciIKK1NFQ1RJT04gPSAieDExIgorREVQRU5EUyA9ICJndGsrIGdub21lLWRvYy11dGlscyIKKworTElDRU5TRSA9ICJHUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK1NIUlRfVkVSID0gIiR7QGQuZ2V0VmFyKCdQVicsMSkuc3BsaXQoJy4nKVswXX0uJHtAZC5nZXRWYXIoJ1BWJywxKS5zcGxpdCgnLicpWzFdfSIKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLmdub21lLm9yZy9zb3VyY2VzLyR7QlBOfS8ke1NIUlRfVkVSfS8ke0JQfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0OGRiOTI3YzZlN2VlMWQ1Mzk1Zjk1M2E4YzE4NGM5OCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzNDZmNjQ1YzBmZGVmOTAwNjQyZjZlOWEyYzE4ZTdiYTlhN2NhOWJjNjJmZTJiMDhlYjQxOGYwNjVhNDI1Yzg5IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ3NldHRpbmdzCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAtZSAiczogaGVscDogOmciICR7U30vTWFrZWZpbGUuYW0KK30KKworUE5CTEFDS0xJU1RbZ2NhbGN0b29sXSA/PSAiYnJva2VuIGF0IGxlYXN0IHNpbmNlIEFwcmlsIDIwMTMgaHR0cDovL3Blcm1hbGluay5nbWFuZS5vcmcvZ21hbmUuY29tcC5oYW5kaGVsZHMub3BlbmVtYmVkZGVkLzU3OTIwIGFuZCBub2JvZHkgY29tcGxhaW5lZCwgaXQncyBhbHNvIHJlcGxhY2VkIGJ5IGdub21lIGNhbGN1bGF0b3IiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtLyVnY29uZi10cmVlLnhtbCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dkbS9nZG0vJWdjb25mLXRyZWUueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4YzJlOWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtLyVnY29uZi10cmVlLnhtbApAQCAtMCwwICsxLDQ5MiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Z2NvbmY+CisgICAgICAgIDxkaXIgbmFtZT0iZGVza3RvcCI+CisgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJnbm9tZSI+CisgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9InVybC1oYW5kbGVycyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0ieW1zZ3IiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9InhtcHAiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9IndlYmNhbCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPi9iaW4vdHJ1ZTwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0idXZveCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPi9iaW4vdHJ1ZTwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0idHJhc2giPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9InNpcCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPi9iaW4vdHJ1ZTwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0icnRzcCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPi9iaW4vdHJ1ZTwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0icnRwIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+L2Jpbi90cnVlPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJwbm0iPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9Im5vdGUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9Im5ldCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPi9iaW4vdHJ1ZTwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0ibXNuaW0iPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9Im1tc2giPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9Im1tcyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPi9iaW4vdHJ1ZTwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0ibWFuIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+L2Jpbi90cnVlPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJtYWlsdG8iPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9Imxhc3RmbSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPi9iaW4vdHJ1ZTwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0iaXRwYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPi9iaW4vdHJ1ZTwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0iaXRtcyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPi9iaW4vdHJ1ZTwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0iaXJjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+L2Jpbi90cnVlPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJpbmZvIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+L2Jpbi90cnVlPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJpY3l4Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+L2Jpbi90cnVlPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJpY3kiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9ImljcSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPi9iaW4vdHJ1ZTwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0iaHR0cHMiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9Imh0dHAiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9ImgzMjMiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9ImdoZWxwIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+L2Jpbi90cnVlPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJnZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPi9iaW4vdHJ1ZTwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0iZnRwIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+L2Jpbi90cnVlPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJmaWxlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+L2Jpbi90cnVlPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJmZWVkIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+L2Jpbi90cnVlPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJjZGRhIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+L2Jpbi90cnVlPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJjYWxsdG8iPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9ImFpbSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPi9iaW4vdHJ1ZTwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0iYWJvdXQiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9ImxvY2tkb3duIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImRpc2FibGVfdXJsX2hhbmRsZXJzIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0iYm9vbCIgdmFsdWU9InRydWUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iZGlzYWJsZV9zYXZlX3RvX2Rpc2siIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJib29sIiB2YWx1ZT0idHJ1ZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJkaXNhYmxlX3ByaW50X3NldHVwIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0iYm9vbCIgdmFsdWU9InRydWUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iZGlzYWJsZV9wcmludGluZyIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9ImJvb2wiIHZhbHVlPSJ0cnVlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImRpc2FibGVfbG9ja19zY3JlZW4iIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJib29sIiB2YWx1ZT0idHJ1ZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJkaXNhYmxlX2NvbW1hbmRfbGluZSIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9ImJvb2wiIHZhbHVlPSJ0cnVlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJhcHBsaWNhdGlvbnMiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9InRlcm1pbmFsIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iZXhlYyIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+L2Jpbi90cnVlPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJhY2Nlc3NpYmlsaXR5Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJrZXlib2FyZCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImVuYWJsZSIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9ImJvb2wiIHZhbHVlPSJ0cnVlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICA8L2Rpcj4KKyAgICAgICAgPGRpciBuYW1lPSJhcHBzIj4KKyAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9Imdub21lX3NldHRpbmdzX2RhZW1vbiI+CisgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9ImtleWJpbmRpbmdzIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9Ind3dyIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJzdG9wIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+PC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9InNsZWVwIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+PC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9InNlYXJjaCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJzY3JlZW5zYXZlciIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJwcmV2aW91cyIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJwb3dlciIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJwbGF5IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+PC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9InBhdXNlIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+PC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9Im5leHQiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT48L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0ibWVkaWEiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT48L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iaG9tZSIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJoZWxwIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+PC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImVtYWlsIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+PC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNhbGN1bGF0b3IiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT48L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iZWplY3QiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT48L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJtZXRhY2l0eSI+CisgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9ImtleWJpbmRpbmdfY29tbWFuZHMiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZF93aW5kb3dfc2NyZWVuc2hvdCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPi9iaW4vdHJ1ZTwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kX3NjcmVlbnNob3QiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT5nZG0tc2NyZWVuc2hvdDwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0iZ2xvYmFsX2tleWJpbmRpbmdzIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9InN3aXRjaF90b193b3Jrc3BhY2VfdXAiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT5kaXNhYmxlZDwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJzd2l0Y2hfdG9fd29ya3NwYWNlX3JpZ2h0IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+ZGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0ic3dpdGNoX3RvX3dvcmtzcGFjZV9sZWZ0IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+ZGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0ic3dpdGNoX3RvX3dvcmtzcGFjZV9kb3duIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+ZGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0ic3dpdGNoX2dyb3VwIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+ZGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0ic2hvd19kZXNrdG9wIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+ZGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0icnVuX2NvbW1hbmRfd2luZG93X3NjcmVlbnNob3QiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT5kaXNhYmxlZDwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJydW5fY29tbWFuZF9zY3JlZW5zaG90IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+UHJpbnQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0icGFuZWxfcnVuX2RpYWxvZyIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPmRpc2FibGVkPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9InBhbmVsX21haW5fbWVudSIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPmRpc2FibGVkPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJnZW5lcmFsIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9Im51bV93b3Jrc3BhY2VzIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0iaW50IiB2YWx1ZT0iMSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9ImNvbXBpeiI+CisgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9ImdlbmVyYWwiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9ImFsbHNjcmVlbnMiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0ib3B0aW9ucyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0icnVuX2NvbW1hbmQxMV9rZXkiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+RGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJydW5fY29tbWFuZDExX2J1dHRvbiIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT5EaXNhYmxlZDwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9InJ1bl9jb21tYW5kMTBfa2V5IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPkRpc2FibGVkPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0icnVuX2NvbW1hbmQxMF9idXR0b24iIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+RGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJydW5fY29tbWFuZDhfa2V5IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPkRpc2FibGVkPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0icnVuX2NvbW1hbmQ4X2J1dHRvbiIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT5EaXNhYmxlZDwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9InJ1bl9jb21tYW5kN19rZXkiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+RGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJydW5fY29tbWFuZDdfYnV0dG9uIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPkRpc2FibGVkPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0icnVuX2NvbW1hbmQ2X2tleSIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT5EaXNhYmxlZDwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9InJ1bl9jb21tYW5kNl9idXR0b24iIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+RGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJydW5fY29tbWFuZDVfa2V5IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPkRpc2FibGVkPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0icnVuX2NvbW1hbmQ1X2J1dHRvbiIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT5EaXNhYmxlZDwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9InJ1bl9jb21tYW5kNF9rZXkiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+RGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJydW5fY29tbWFuZDRfYnV0dG9uIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPkRpc2FibGVkPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0icnVuX2NvbW1hbmQzX2tleSIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT5EaXNhYmxlZDwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9InJ1bl9jb21tYW5kM19idXR0b24iIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+RGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJydW5fY29tbWFuZDJfa2V5IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPkRpc2FibGVkPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0icnVuX2NvbW1hbmQyX2J1dHRvbiIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT5EaXNhYmxlZDwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9InJ1bl9jb21tYW5kMV9rZXkiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+RGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJydW5fY29tbWFuZDFfYnV0dG9uIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPkRpc2FibGVkPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0icnVuX2NvbW1hbmQwX2tleSIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT5EaXNhYmxlZDwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9InJ1bl9jb21tYW5kMF9idXR0b24iIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+RGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJydW5fa2V5IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPkRpc2FibGVkPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0icnVuX2J1dHRvbiIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT5EaXNhYmxlZDwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9Im1haW5fbWVudV9rZXkiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+RGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJtYWluX21lbnVfYnV0dG9uIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPkRpc2FibGVkPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZF93aW5kb3dfc2NyZWVuc2hvdCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT48L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kMTEiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+PC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZDEwIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQ5IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQ4IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQ3IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQ2IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQ1IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQ0IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQzIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQyIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQxIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQwIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmRfdGVybWluYWwiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+PC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZF9zY3JlZW5zaG90IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPmdkbS1zY3JlZW5zaG90PC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iYWN0aXZlX3BsdWdpbnMiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJsaXN0IiBsdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPmN1YmU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+ZGVjb3JhdGlvbjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT5nY29uZjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT5nbGliPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPm1vdmU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+cGxhY2U8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+cmVzaXplPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPnNjcmVlbnNob3Q8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+d29iYmx5PC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJnbm9tZS1wb3dlci1tYW5hZ2VyIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0idWkiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0ic2hvd19jb250ZXh0X21lbnUiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJib29sIiB2YWx1ZT0iZmFsc2UiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJnbm9tZS1zY3JlZW5zYXZlciI+CisgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0icG93ZXJfbWFuYWdlbWVudF9kZWxheSIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9ImludCIgdmFsdWU9IjMwIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJuYXV0aWx1cyI+CisgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9InByZWZlcmVuY2VzIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9InNob3dfZGVza3RvcCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9ImJvb2wiIHZhbHVlPSJmYWxzZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgPC9kaXI+Cis8L2djb25mPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2RtL2dkbS8wMDAxLVJlbW92ZS11c2VyLXN3aXRjaC1hcHBsZXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtLzAwMDEtUmVtb3ZlLXVzZXItc3dpdGNoLWFwcGxldC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NWFmZjVkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2RtL2dkbS8wMDAxLVJlbW92ZS11c2VyLXN3aXRjaC1hcHBsZXQucGF0Y2gKQEAgLTAsMCArMSwyMjgxIEBACitGcm9tIDBhNGZlODAyZWRiZDJlOGEwMTYxNjFmMDgyODNlNGI0NjdjNjc2MmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorRGF0ZTogVHVlLCAyMSBKdW4gMjAxMSAxMjo0ODozOSArMDIwMAorU3ViamVjdDogW1BBVENIXSBSZW1vdmUgdXNlciBzd2l0Y2ggYXBwbGV0CisKK1RoaXMgaGFzbid0IGJlZW4gdXBkYXRlZCB0byB3b3JrIHdpdGggZ25vbWUtcGFuZWwgPiAyLjMwLjAsIHNvIGp1c3QgZHJvcCBpdAorCitVcHN0cmVhbS1TdGF0dXM6IHVuYWNjZXB0YWJsZSwgYmFja3BvcnQKKworU2lnbmVkLW9mZi1ieTogS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KKy0tLQorIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgOCAtCisgZ3VpL01ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAyIC0KKyAuLi4vR05PTUVfRmFzdFVzZXJTd2l0Y2hBcHBsZXQuc2VydmVyLmluLmluICAgICAgICB8ICAgMzggLQorIC4uLi9HTk9NRV9GYXN0VXNlclN3aXRjaEFwcGxldC54bWwgICAgICAgICAgICAgICAgIHwgICAyMCAtCisgZ3VpL3VzZXItc3dpdGNoLWFwcGxldC9NYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgfCAgIDY3IC0KKyBndWkvdXNlci1zd2l0Y2gtYXBwbGV0L2FwcGxldC5jICAgICAgICAgICAgICAgICAgICB8IDE2NjIgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBndWkvdXNlci1zd2l0Y2gtYXBwbGV0L2dkbS1lbnRyeS1tZW51LWl0ZW0uYyAgICAgICB8ICAzMDQgLS0tLQorIGd1aS91c2VyLXN3aXRjaC1hcHBsZXQvZ2RtLWVudHJ5LW1lbnUtaXRlbS5oICAgICAgIHwgICA1MSAtCisgcG8vUE9URklMRVMuaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA0IC0KKyBwby9QT1RGSUxFUy5za2lwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgLQorIDEwIGZpbGVzIGNoYW5nZWQsIDAgaW5zZXJ0aW9ucygrKSwgMjE1NyBkZWxldGlvbnMoLSkKKyBkZWxldGUgbW9kZSAxMDA2NDQgZ3VpL3VzZXItc3dpdGNoLWFwcGxldC9HTk9NRV9GYXN0VXNlclN3aXRjaEFwcGxldC5zZXJ2ZXIuaW4uaW4KKyBkZWxldGUgbW9kZSAxMDA2NDQgZ3VpL3VzZXItc3dpdGNoLWFwcGxldC9HTk9NRV9GYXN0VXNlclN3aXRjaEFwcGxldC54bWwKKyBkZWxldGUgbW9kZSAxMDA2NDQgZ3VpL3VzZXItc3dpdGNoLWFwcGxldC9NYWtlZmlsZS5hbQorIGRlbGV0ZSBtb2RlIDEwMDY0NCBndWkvdXNlci1zd2l0Y2gtYXBwbGV0L2FwcGxldC5jCisgZGVsZXRlIG1vZGUgMTAwNjQ0IGd1aS91c2VyLXN3aXRjaC1hcHBsZXQvZ2RtLWVudHJ5LW1lbnUtaXRlbS5jCisgZGVsZXRlIG1vZGUgMTAwNjQ0IGd1aS91c2VyLXN3aXRjaC1hcHBsZXQvZ2RtLWVudHJ5LW1lbnUtaXRlbS5oCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDg0MWVmZTAuLmE4MzQxMTAgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTE0OSwxMyArMTQ5LDYgQEAgUEtHX0NIRUNLX01PRFVMRVMoU0lNUExFX0NIT09TRVIsCisgQUNfU1VCU1QoU0lNUExFX0NIT09TRVJfQ0ZMQUdTKQorIEFDX1NVQlNUKFNJTVBMRV9DSE9PU0VSX0xJQlMpCisgCistUEtHX0NIRUNLX01PRFVMRVMoQVBQTEVULAorLSAgICAgICAgZGJ1cy1nbGliLTEgPj0gJERCVVNfR0xJQl9SRVFVSVJFRF9WRVJTSU9OCistICAgICAgICBndGsrLTIuMCA+PSAkR1RLX1JFUVVJUkVEX1ZFUlNJT04KKy0gICAgICAgIGxpYnBhbmVsYXBwbGV0LTIuMCA+PSAkR05PTUVfUEFORUxfUkVRVUlSRURfVkVSU0lPTikKKy1BQ19TVUJTVChBUFBMRVRfQ0ZMQUdTKQorLUFDX1NVQlNUKEFQUExFVF9MSUJTKQorLQorIFBMVUdJTl9MSUJUT09MX0ZMQUdTPSItZXhwb3J0X2R5bmFtaWMgLW1vZHVsZSAtYXZvaWQtdmVyc2lvbiIKKyBBQ19TVUJTVChQTFVHSU5fTElCVE9PTF9GTEFHUykKKyAKK0BAIC0xMzQwLDcgKzEzMzMsNiBAQCBndWkvTWFrZWZpbGUKKyBndWkvc2ltcGxlLWdyZWV0ZXIvTWFrZWZpbGUKKyBndWkvc2ltcGxlLWdyZWV0ZXIvbGlibm90aWZpY2F0aW9uYXJlYS9NYWtlZmlsZQorIGd1aS9zaW1wbGUtY2hvb3Nlci9NYWtlZmlsZQorLWd1aS91c2VyLXN3aXRjaC1hcHBsZXQvTWFrZWZpbGUKKyB1dGlscy9NYWtlZmlsZQorIGRhdGEvZ2RtLmNvbmYKKyBkYXRhL01ha2VmaWxlCitkaWZmIC0tZ2l0IGEvZ3VpL01ha2VmaWxlLmFtIGIvZ3VpL01ha2VmaWxlLmFtCitpbmRleCAzMjYyMzlmLi5iZGEzZjdhIDEwMDY0NAorLS0tIGEvZ3VpL01ha2VmaWxlLmFtCisrKysgYi9ndWkvTWFrZWZpbGUuYW0KK0BAIC0yLDcgKzIsNiBAQCBOVUxMID0KKyAKKyBTVUJESVJTID0JCQlcCisgCXNpbXBsZS1ncmVldGVyCQlcCistCXVzZXItc3dpdGNoLWFwcGxldAlcCisgCSQoTlVMTCkKKyAKKyBpZiBYRE1DUF9TVVBQT1JUCitAQCAtMTIsNSArMTEsNCBAQCBlbmRpZgorIERJU1RfU1VCRElSUyA9CQkJXAorIAlzaW1wbGUtY2hvb3NlcgkJXAorIAlzaW1wbGUtZ3JlZXRlcgkJXAorLQl1c2VyLXN3aXRjaC1hcHBsZXQJXAorIAkkKE5VTEwpCitkaWZmIC0tZ2l0IGEvZ3VpL3VzZXItc3dpdGNoLWFwcGxldC9HTk9NRV9GYXN0VXNlclN3aXRjaEFwcGxldC5zZXJ2ZXIuaW4uaW4gYi9ndWkvdXNlci1zd2l0Y2gtYXBwbGV0L0dOT01FX0Zhc3RVc2VyU3dpdGNoQXBwbGV0LnNlcnZlci5pbi5pbgorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCBhOWI3NzVmLi4wMDAwMDAwCistLS0gYS9ndWkvdXNlci1zd2l0Y2gtYXBwbGV0L0dOT01FX0Zhc3RVc2VyU3dpdGNoQXBwbGV0LnNlcnZlci5pbi5pbgorKysrIC9kZXYvbnVsbAorQEAgLTEsMzggKzAsMCBAQAorLTxvYWZfaW5mbz4KKy0gIDxvYWZfc2VydmVyIGlpZD0iT0FGSUlEOkdOT01FX0Zhc3RVc2VyU3dpdGNoQXBwbGV0X0ZhY3RvcnkiIHR5cGU9ImV4ZSIKKy0gICAgICAgICAgICAgIGxvY2F0aW9uPSJATElCRVhFQ0RJUkAvZ2RtLXVzZXItc3dpdGNoLWFwcGxldCI+CistCistICAgIDxvYWZfYXR0cmlidXRlIG5hbWU9InJlcG9faWRzIiB0eXBlPSJzdHJpbmd2Ij4KKy0gICAgICA8aXRlbSB2YWx1ZT0iSURMOkJvbm9iby9HZW5lcmljRmFjdG9yeToxLjAiLz4KKy0gICAgICA8aXRlbSB2YWx1ZT0iSURMOkJvbm9iby9Vbmtub3duOjEuMCIvPgorLSAgICA8L29hZl9hdHRyaWJ1dGU+CistICAgIDxvYWZfYXR0cmlidXRlIG5hbWU9Im5hbWUiIHR5cGU9InN0cmluZyIgX3ZhbHVlPSJVc2VyIFN3aXRjaGVyIEFwcGxldCBGYWN0b3J5Ii8+CistICAgIDxvYWZfYXR0cmlidXRlIG5hbWU9ImRlc2NyaXB0aW9uIiB0eXBlPSJzdHJpbmciIF92YWx1ZT0iVXNlciBTd2l0Y2hlciBBcHBsZXQgRmFjdG9yeSIvPgorLSAgICA8b2FmX2F0dHJpYnV0ZSBuYW1lPSJib25vYm86ZW52aXJvbm1lbnQiIHR5cGU9InN0cmluZ3YiPgorLSAgICAgICA8aXRlbSB2YWx1ZT0iREJVU19TRVNTSU9OX0JVU19BRERSRVNTIi8+CistICAgICA8b2FmX2F0dHJpYnV0ZSBuYW1lPSJidWd6aWxsYTpidWd6aWxsYSIgdHlwZT0ic3RyaW5nIiB2YWx1ZT0iR05PTUUiLz4KKy0gICAgIDxvYWZfYXR0cmlidXRlIG5hbWU9ImJ1Z3ppbGxhOnByb2R1Y3QiIHR5cGU9InN0cmluZyIgdmFsdWU9ImdkbSIvPgorLSAgICAgPG9hZl9hdHRyaWJ1dGUgbmFtZT0iYnVnemlsbGE6Y29tcG9uZW50IiB0eXBlPSJzdHJpbmciIHZhbHVlPSJnZW5lcmFsIi8+CistICAgICA8b2FmX2F0dHJpYnV0ZSBuYW1lPSJidWd6aWxsYTp2ZXJzaW9uIiB0eXBlPSJzdHJpbmciIHZhbHVlPSJAVkVSU0lPTkAiLz4KKy0gICAgIDxvYWZfYXR0cmlidXRlIG5hbWU9ImJ1Z3ppbGxhOm90aGVyX2JpbmFyaWVzIiB0eXBlPSJzdHJpbmciIHZhbHVlPSJnZG0tdXNlci1zd2l0Y2gtYXBwbGV0Ii8+CistICAgIDwvb2FmX2F0dHJpYnV0ZT4KKy0gIDwvb2FmX3NlcnZlcj4KKy0KKy0gIDxvYWZfc2VydmVyIGlpZD0iT0FGSUlEOkdOT01FX0Zhc3RVc2VyU3dpdGNoQXBwbGV0IiB0eXBlPSJmYWN0b3J5IgorLSAgICAgICAgICAgICAgbG9jYXRpb249Ik9BRklJRDpHTk9NRV9GYXN0VXNlclN3aXRjaEFwcGxldF9GYWN0b3J5Ij4KKy0KKy0gICAgPG9hZl9hdHRyaWJ1dGUgbmFtZT0icmVwb19pZHMiIHR5cGU9InN0cmluZ3YiPgorLSAgICAgIDxpdGVtIHZhbHVlPSJJREw6R05PTUUvVmVydGlnby9QYW5lbEFwcGxldFNoZWxsOjEuMCIvPgorLSAgICAgIDxpdGVtIHZhbHVlPSJJREw6Qm9ub2JvL0NvbnRyb2w6MS4wIi8+CistICAgICAgPGl0ZW0gdmFsdWU9IklETDpCb25vYm8vVW5rbm93bjoxLjAiLz4KKy0gICAgPC9vYWZfYXR0cmlidXRlPgorLSAgICA8b2FmX2F0dHJpYnV0ZSBuYW1lPSJuYW1lIiB0eXBlPSJzdHJpbmciIF92YWx1ZT0iVXNlciBTd2l0Y2hlciIvPgorLSAgICA8b2FmX2F0dHJpYnV0ZSBuYW1lPSJkZXNjcmlwdGlvbiIgdHlwZT0ic3RyaW5nIiBfdmFsdWU9IkEgbWVudSB0byBxdWlja2x5IHN3aXRjaCBiZXR3ZWVuIHVzZXJzIi8+CistICAgIDxvYWZfYXR0cmlidXRlIG5hbWU9InBhbmVsOmljb24iIHR5cGU9InN0cmluZyIgdmFsdWU9InN0b2NrX3Blb3BsZSIvPgorLSAgICA8b2FmX2F0dHJpYnV0ZSBuYW1lPSJidWd6aWxsYTpidWd6aWxsYSIgdHlwZT0ic3RyaW5nIiB2YWx1ZT0iR05PTUUiLz4KKy0gICAgPG9hZl9hdHRyaWJ1dGUgbmFtZT0iYnVnemlsbGE6cHJvZHVjdCIgdHlwZT0ic3RyaW5nIiB2YWx1ZT0iZ2RtIi8+CistICAgIDxvYWZfYXR0cmlidXRlIG5hbWU9ImJ1Z3ppbGxhOmNvbXBvbmVudCIgdHlwZT0ic3RyaW5nIiB2YWx1ZT0iZ2VuZXJhbCIvPgorLSAgICA8b2FmX2F0dHJpYnV0ZSBuYW1lPSJidWd6aWxsYTp2ZXJzaW9uIiB0eXBlPSJzdHJpbmciIHZhbHVlPSJAVkVSU0lPTkAiLz4KKy0gICAgPG9hZl9hdHRyaWJ1dGUgbmFtZT0iYnVnemlsbGE6b3RoZXJfYmluYXJpZXMiIHR5cGU9InN0cmluZyIgdmFsdWU9ImdkbS11c2VyLXN3aXRjaC1hcHBsZXQiLz4KKy0gIDwvb2FmX3NlcnZlcj4KKy08L29hZl9pbmZvPgorZGlmZiAtLWdpdCBhL2d1aS91c2VyLXN3aXRjaC1hcHBsZXQvR05PTUVfRmFzdFVzZXJTd2l0Y2hBcHBsZXQueG1sIGIvZ3VpL3VzZXItc3dpdGNoLWFwcGxldC9HTk9NRV9GYXN0VXNlclN3aXRjaEFwcGxldC54bWwKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggZTE4NDVjOC4uMDAwMDAwMAorLS0tIGEvZ3VpL3VzZXItc3dpdGNoLWFwcGxldC9HTk9NRV9GYXN0VXNlclN3aXRjaEFwcGxldC54bWwKKysrKyAvZGV2L251bGwKK0BAIC0xLDIwICswLDAgQEAKKy08Um9vdD4KKy0gIDxwb3B1cHM+CistICAgIDxwb3B1cCBuYW1lPSJidXR0b24zIj4KKy0gICAgICA8bWVudWl0ZW0KKy0gICAgICAgbmFtZT0iQWJvdXQgTWUgSXRlbSIKKy0gICAgICAgdmVyYj0iR2RtQWJvdXRNZSIKKy0gICAgICAgX2xhYmVsPSJFZGl0IFBlcnNvbmFsIF9JbmZvcm1hdGlvbiIvPgorLSAgICAgIDxtZW51aXRlbQorLSAgICAgICBuYW1lPSJVc2VycyBhbmQgR3JvdXBzIEFkbWluIEl0ZW0iCistICAgICAgIHZlcmI9IkdkbVVzZXJzR3JvdXBzQWRtaW4iCistICAgICAgIF9sYWJlbD0iX0VkaXQgVXNlcnMgYW5kIEdyb3VwcyIvPgorLSAgICAgIDxtZW51aXRlbQorLSAgICAgICBuYW1lPSJBYm91dCBJdGVtIgorLSAgICAgICB2ZXJiPSJHZG1BYm91dCIKKy0gICAgICAgX2xhYmVsPSJfQWJvdXQiCistICAgICAgIHBpeHR5cGU9InN0b2NrIgorLSAgICAgICBwaXhuYW1lPSJndGstYWJvdXQiLz4KKy0gICAgPC9wb3B1cD4KKy0gIDwvcG9wdXBzPgorLTwvUm9vdD4KK2RpZmYgLS1naXQgYS9ndWkvdXNlci1zd2l0Y2gtYXBwbGV0L01ha2VmaWxlLmFtIGIvZ3VpL3VzZXItc3dpdGNoLWFwcGxldC9NYWtlZmlsZS5hbQorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAyZDJjZGMwLi4wMDAwMDAwCistLS0gYS9ndWkvdXNlci1zd2l0Y2gtYXBwbGV0L01ha2VmaWxlLmFtCisrKysgL2Rldi9udWxsCitAQCAtMSw2NyArMCwwIEBACistTlVMTCA9CistCistQU1fQ1BQRkxBR1MgPSBcCistCS1JJCh0b3Bfc3JjZGlyKS9ndWkvc2ltcGxlLWdyZWV0ZXIJCVwKKy0JLUkkKHRvcF9zcmNkaXIpL2NvbW1vbgkJCQlcCistCS1EUFJFRklYPVwiIiQocHJlZml4KSJcIiAJCQlcCistCS1ETElCRElSPVwiIiQobGliZGlyKSJcIiAJCQlcCistCS1EREFUQURJUj1cIiIkKGRhdGFkaXIpIlwiCQkgCVwKKy0JLURTWVNDT05GRElSPVwiIiQoc3lzY29uZmRpcikiXCIJCVwKKy0JLURMSUJMT0NBTEVESVI9XCIiJChwcmVmaXgpL2xpYi9sb2NhbGUiXCIJXAorLQktREdOT01FTE9DQUxFRElSPVwiIiQoZGF0YWRpcikvbG9jYWxlIlwiCVwKKy0JLURHTEFERURJUj1cIiIkKHBrZ2RhdGFkaXIpIlwiIAkJCVwKKy0JLURMSUJFWEVDRElSPVwiIiQobGliZXhlY2RpcikiXCIgCQlcCistCS1EU0JJTkRJUj1cIiIkKHNiaW5kaXIpIlwiCQkgCVwKKy0JLURHRE1DT05GRElSPVwiJChnZG1jb25mZGlyKVwiCQkJXAorLQkkKEdUS19DRkxBR1MpCQkJCQlcCistCSQoQVBQTEVUX0NGTEFHUykJCQkJXAorLQkkKE5VTEwpCistCistbGliZXhlY19QUk9HUkFNUyA9CQkJXAorLQlnZG0tdXNlci1zd2l0Y2gtYXBwbGV0CQlcCistCSQoTlVMTCkKKy0KKy1nZG1fdXNlcl9zd2l0Y2hfYXBwbGV0X1NPVVJDRVMgPSAgCVwKKy0JYXBwbGV0LmMgCQkJXAorLQlnZG0tZW50cnktbWVudS1pdGVtLmgJCVwKKy0JZ2RtLWVudHJ5LW1lbnUtaXRlbS5jCQlcCistCSQoTlVMTCkKKy0KKy1nZG1fdXNlcl9zd2l0Y2hfYXBwbGV0X0xEQUREID0gCQlcCistCSQodG9wX2J1aWxkZGlyKS9ndWkvc2ltcGxlLWdyZWV0ZXIvbGliZ2RtdXNlci5sYQlcCistCSQodG9wX2J1aWxkZGlyKS9jb21tb24vbGliZ2RtY29tbW9uLmxhCQlcCistCSQoQ09NTU9OX0xJQlMpCQkJCQlcCistCSQoQVBQTEVUX0xJQlMpCQkJCQlcCistCSQoTlVMTCkKKy0KKy0jIEJvbm9ibyBVSQorLXVpZGlyID0JJChkYXRhZGlyKS9nbm9tZS0yLjAvdWkKKy11aV9EQVRBID0JCQkJCVwKKy0JR05PTUVfRmFzdFVzZXJTd2l0Y2hBcHBsZXQueG1sCQlcCistCSQoTlVMTCkKKy0KKy0jIEJvbm9ibyAuc2VydmVyCistc2VydmVyZGlyID0gJChsaWJkaXIpL2Jvbm9iby9zZXJ2ZXJzCistc2VydmVyX2luX2ZpbGVzID0JCQkJXAorLQlHTk9NRV9GYXN0VXNlclN3aXRjaEFwcGxldC5zZXJ2ZXIuaW4JXAorLQkkKE5VTEwpCistc2VydmVyX0RBVEEgPSAkKHNlcnZlcl9pbl9maWxlczouc2VydmVyLmluPS5zZXJ2ZXIpCistCistJChzZXJ2ZXJfaW5fZmlsZXMpOiAkKHNlcnZlcl9pbl9maWxlczouc2VydmVyLmluPS5zZXJ2ZXIuaW4uaW4pCistCXNlZCAtZSAic3xcQExJQkVYRUNESVJcQHwkKGxpYmV4ZWNkaXIpfCIgLWUgInN8XEBWRVJTSU9OXEB8JChWRVJTSU9OKXwiICQ8ID4gJEAKKy0KKy1ASU5UTFRPT0xfU0VSVkVSX1JVTEVACistCistRVhUUkFfRElTVCA9IAkJCVwKKy0JJCh1aV9EQVRBKQkJXAorLQlHTk9NRV9GYXN0VXNlclN3aXRjaEFwcGxldC5zZXJ2ZXIuaW4uaW4JXAorLQkkKE5VTEwpCistCistRElTVENMRUFORklMRVMgPSAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0JJChzZXJ2ZXJfaW5fZmlsZXMpCQlcCistCSQoc2VydmVyX0RBVEEpCQkJXAorLSAgICAgICAgJChOVUxMKQorLQorLU1BSU5UQUlORVJDTEVBTkZJTEVTID0gICAgICAgICAgICAgICAgICBcCistICAgICAgICAqfiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICAgIE1ha2VmaWxlLmluCitkaWZmIC0tZ2l0IGEvZ3VpL3VzZXItc3dpdGNoLWFwcGxldC9hcHBsZXQuYyBiL2d1aS91c2VyLXN3aXRjaC1hcHBsZXQvYXBwbGV0LmMKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggYjRmOTQ0Yy4uMDAwMDAwMAorLS0tIGEvZ3VpL3VzZXItc3dpdGNoLWFwcGxldC9hcHBsZXQuYworKysrIC9kZXYvbnVsbAorQEAgLTEsMTY2MiArMCwwIEBACistLyogLSotIE1vZGU6IEM7IHRhYi13aWR0aDogODsgaW5kZW50LXRhYnMtbW9kZTogbmlsOyBjLWJhc2ljLW9mZnNldDogOCAtKi0KKy0gKgorLSAqIENvcHlyaWdodCAoQykgMjAwNC0yMDA1IEphbWVzIE0uIENhcGUgPGpjYXBlQGlnbm9yZS15b3VyLnR2Pi4KKy0gKiBDb3B5cmlnaHQgKEMpIDIwMDggICAgICBSZWQgSGF0LCBJbmMuCistICoKKy0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CistICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKy0gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorLSAqCistICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCistICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKy0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCistICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKy0gKgorLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCistICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKy0gKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCistICovCistCistI2luY2x1ZGUgImNvbmZpZy5oIgorLQorLSNpbmNsdWRlIDxzdHJpbmcuaD4KKy0jaW5jbHVkZSA8dW5pc3RkLmg+CistI2luY2x1ZGUgPHN0ZGxpYi5oPgorLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKy0KKy0jaW5jbHVkZSA8Z2xpYi9naTE4bi5oPgorLSNpbmNsdWRlIDxnZGsvZ2Rra2V5c3ltcy5oPgorLSNpbmNsdWRlIDxndGsvZ3RrLmg+CistCistI2luY2x1ZGUgPGdjb25mL2djb25mLmg+CistI2luY2x1ZGUgPGdjb25mL2djb25mLWNsaWVudC5oPgorLQorLSNpbmNsdWRlIDxkYnVzL2RidXMtZ2xpYi5oPgorLQorLSNpbmNsdWRlIDxib25vYm8vYm9ub2JvLW1haW4uaD4KKy0jaW5jbHVkZSA8Ym9ub2JvL2Jvbm9iby11aS11dGlsLmg+CistCistI2luY2x1ZGUgPHBhbmVsLWFwcGxldC5oPgorLSNpbmNsdWRlIDxwYW5lbC1hcHBsZXQtZ2NvbmYuaD4KKy0KKy0jaW5jbHVkZSAiZ2RtLXVzZXItbWFuYWdlci5oIgorLSNpbmNsdWRlICJnZG0tZW50cnktbWVudS1pdGVtLmgiCistI2luY2x1ZGUgImdkbS1zZXR0aW5ncy1jbGllbnQuaCIKKy0KKy0jZGVmaW5lIExPQ0tET1dOX0RJUiAgICAiL2Rlc2t0b3AvZ25vbWUvbG9ja2Rvd24iCistI2RlZmluZSBMT0NLRE9XTl9VU0VSX1NXSVRDSElOR19LRVkgTE9DS0RPV05fRElSICIvZGlzYWJsZV91c2VyX3N3aXRjaGluZyIKKy0jZGVmaW5lIExPQ0tET1dOX0xPQ0tfU0NSRUVOX0tFWSAgICBMT0NLRE9XTl9ESVIgIi9kaXNhYmxlX2xvY2tfc2NyZWVuIgorLSNkZWZpbmUgTE9DS0RPV05fQ09NTUFORF9MSU5FX0tFWSAgIExPQ0tET1dOX0RJUiAiL2Rpc2FibGVfY29tbWFuZF9saW5lIgorLQorLXR5cGVkZWYgZW51bSB7CistICAgICAgICBHU01fUFJFU0VOQ0VfU1RBVFVTX0FWQUlMQUJMRSA9IDAsCistICAgICAgICBHU01fUFJFU0VOQ0VfU1RBVFVTX0lOVklTSUJMRSwKKy0gICAgICAgIEdTTV9QUkVTRU5DRV9TVEFUVVNfQlVTWSwKKy0gICAgICAgIEdTTV9QUkVTRU5DRV9TVEFUVVNfSURMRSwKKy19IEdzbVByZXNlbmNlU3RhdHVzOworLQorLXR5cGVkZWYgc3RydWN0IF9HZG1BcHBsZXREYXRhCisteworLSAgICAgICAgUGFuZWxBcHBsZXQgICAgKmFwcGxldDsKKy0KKy0gICAgICAgIEdDb25mQ2xpZW50ICAgICpjbGllbnQ7CistICAgICAgICBHZG1Vc2VyTWFuYWdlciAqbWFuYWdlcjsKKy0gICAgICAgIEdkbVVzZXIgICAgICAgICp1c2VyOworLQorLSAgICAgICAgR3RrV2lkZ2V0ICAgICAgKm1lbnViYXI7CistICAgICAgICBHdGtXaWRnZXQgICAgICAqbWVudWl0ZW07CistICAgICAgICBHdGtXaWRnZXQgICAgICAqbWVudTsKKy0jaWZkZWYgQlVJTERfUFJFU0VOU0VfU1RVRkYKKy0gICAgICAgIEd0a1dpZGdldCAgICAgICp1c2VyX2l0ZW07CistI2VuZGlmCistICAgICAgICBHdGtXaWRnZXQgICAgICAqY29udHJvbF9wYW5lbF9pdGVtOworLSAgICAgICAgR3RrV2lkZ2V0ICAgICAgKmFjY291bnRfaXRlbTsKKy0gICAgICAgIEd0a1dpZGdldCAgICAgICpsb2NrX3NjcmVlbl9pdGVtOworLSAgICAgICAgR3RrV2lkZ2V0ICAgICAgKmxvZ2luX3NjcmVlbl9pdGVtOworLSAgICAgICAgR3RrV2lkZ2V0ICAgICAgKnF1aXRfc2Vzc2lvbl9pdGVtOworLQorLSAgICAgICAgZ3VpbnQgICAgICAgICAgIGNsaWVudF9ub3RpZnlfbG9ja2Rvd25faWQ7CistCistICAgICAgICBndWludCAgICAgICAgICAgY3VycmVudF9zdGF0dXM7CistICAgICAgICBndWludCAgICAgICAgICAgdXNlcl9sb2FkZWRfbm90aWZ5X2lkOworLSAgICAgICAgZ3VpbnQgICAgICAgICAgIHVzZXJfY2hhbmdlZF9ub3RpZnlfaWQ7CistICAgICAgICBnaW50OCAgICAgICAgICAgcGl4ZWxfc2l6ZTsKKy0gICAgICAgIGdpbnQgICAgICAgICAgICBwYW5lbF9zaXplOworLSAgICAgICAgR3RrSWNvblNpemUgICAgIGljb25fc2l6ZTsKKy0jaWZkZWYgQlVJTERfUFJFU0VOU0VfU1RVRkYKKy0gICAgICAgIERCdXNHUHJveHkgICAgICpwcmVzZW5jZV9wcm94eTsKKy0jZW5kaWYKKy19IEdkbUFwcGxldERhdGE7CistCistdHlwZWRlZiBzdHJ1Y3QgX1NlbGVjdG9yUmVzcG9uc2VEYXRhCisteworLSAgICAgICAgR2RtQXBwbGV0RGF0YSAgKmFkYXRhOworLSAgICAgICAgR3RrUmFkaW9CdXR0b24gKnJhZGlvOworLX0gU2VsZWN0b3JSZXNwb25zZURhdGE7CistCistc3RhdGljIHZvaWQgcmVzZXRfaWNvbiAgIChHZG1BcHBsZXREYXRhICphZGF0YSk7Cistc3RhdGljIHZvaWQgdXBkYXRlX2xhYmVsIChHZG1BcHBsZXREYXRhICphZGF0YSk7CistCistc3RhdGljIGdib29sZWFuIGFwcGxldF9mYWN0b3J5IChQYW5lbEFwcGxldCAgICphcHBsZXQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICAgICppaWQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncG9pbnRlciAgICAgICBkYXRhKTsKKy0KKy1QQU5FTF9BUFBMRVRfQk9OT0JPX0ZBQ1RPUlkgKCJPQUZJSUQ6R05PTUVfRmFzdFVzZXJTd2l0Y2hBcHBsZXRfRmFjdG9yeSIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQU5FTF9UWVBFX0FQUExFVCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZG0tdXNlci1zd2l0Y2gtYXBwbGV0IiwgIjAiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFBhbmVsQXBwbGV0RmFjdG9yeUNhbGxiYWNrKWFwcGxldF9mYWN0b3J5LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCkKKy0KKy1zdGF0aWMgdm9pZAorLWFib3V0X21lX2NiIChCb25vYm9VSUNvbXBvbmVudCAqdWlfY29udGFpbmVyLAorLSAgICAgICAgICAgICBncG9pbnRlciAgICAgICAgICAgZGF0YSwKKy0gICAgICAgICAgICAgY29uc3QgY2hhciAgICAgICAgKmNuYW1lKQorLXsKKy0gICAgICAgIEdFcnJvciAqZXJyOworLQorLSAgICAgICAgZXJyID0gTlVMTDsKKy0gICAgICAgIGlmICghIGdfc3Bhd25fY29tbWFuZF9saW5lX2FzeW5jICgiZ25vbWUtYWJvdXQtbWUiLCAmZXJyKSkgeworLSAgICAgICAgICAgICAgICBnX2NyaXRpY2FsICgiQ291bGQgbm90IHJ1biBgZ25vbWUtYWJvdXQtbWUnOiAlcyIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVyci0+bWVzc2FnZSk7CistICAgICAgICAgICAgICAgIGdfZXJyb3JfZnJlZSAoZXJyKTsKKy0gICAgICAgICAgICAgICAgYm9ub2JvX3VpX2NvbXBvbmVudF9zZXRfcHJvcCAodWlfY29udGFpbmVyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiL2NvbW1hbmRzL0dkbUFib3V0TWUiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlkZGVuIiwgIjEiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKy0gICAgICAgIH0KKy19CistCistLyoKKy0gKiBnbm9tZS1wYW5lbC9hcHBsZXRzL3duY2tsZXQvd2luZG93LW1lbnUuYzp3aW5kb3dfZmlsdGVyX2J1dHRvbl9wcmVzcygpCistICoKKy0gKiBDb3B5cmlnaHQgKEMpIDIwMDUgSmFtZXMgTS4gQ2FwZS4KKy0gKiBDb3B5cmlnaHQgKEMpIDIwMDMgU3VuIE1pY3Jvc3lzdGVtcywgSW5jLgorLSAqIENvcHlyaWdodCAoQykgMjAwMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy0gKiBDb3B5cmlnaHQgKEMpIDIwMDAgSGVsaXggQ29kZSwgSW5jLgorLSAqLworLXN0YXRpYyBnYm9vbGVhbgorLW1lbnViYXJfYnV0dG9uX3ByZXNzX2V2ZW50X2NiIChHdGtXaWRnZXQgICAgICAqbWVudWJhciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2RrRXZlbnRCdXR0b24gKmV2ZW50LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZG1BcHBsZXREYXRhICAqYWRhdGEpCisteworLSAgICAgICAgaWYgKGV2ZW50LT5idXR0b24gIT0gMSkgeworLSAgICAgICAgICAgICAgICBnX3NpZ25hbF9zdG9wX2VtaXNzaW9uX2J5X25hbWUgKG1lbnViYXIsICJidXR0b24tcHJlc3MtZXZlbnQiKTsKKy0gICAgICAgICAgICAgICAgLyogUmVzZXQgdGhlIGxvZ2luIHdpbmRvdyBpdGVtICovCistICAgICAgICB9CistCistICAgICAgICByZXR1cm4gRkFMU0U7CistfQorLQorLXN0YXRpYyB2b2lkCistYWJvdXRfY2IgKEJvbm9ib1VJQ29tcG9uZW50ICp1aV9jb250YWluZXIsCistICAgICAgICAgIGdwb2ludGVyICAgICAgICAgICBkYXRhLAorLSAgICAgICAgICBjb25zdCBjaGFyICAgICAgICAqY25hbWUpCisteworLSAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIgKmF1dGhvcnNbXSA9IHsKKy0gICAgICAgICAgICAgICAgIkphbWVzIE0uIENhcGUgPGpjYXBlQGlnbm9yZS15b3VyLnR2PiIsCistICAgICAgICAgICAgICAgICJUaG9tYXMgVGh1cm1hbiA8dGhvbWFzQHRodXJtYW4ub3JnLnVrPiIsCistICAgICAgICAgICAgICAgICJXaWxsaWFtIEpvbiBNY0Nhbm4gPGptY2Nhbm5AcmVkaGF0LmNvbT4iLAorLSAgICAgICAgICAgICAgICBOVUxMCistICAgICAgICB9OworLSAgICAgICAgc3RhdGljIGNoYXIgKmxpY2Vuc2VbXSA9IHsKKy0gICAgICAgICAgICAgICAgTl8oIlRoZSBVc2VyIFN3aXRjaCBBcHBsZXQgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSAiCistICAgICAgICAgICAgICAgICAgICJpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSAiCistICAgICAgICAgICAgICAgICAgICJ0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAiCistICAgICAgICAgICAgICAgICAgICIoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLiIpLAorLSAgICAgICAgICAgICAgICBOXygiVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsICIKKy0gICAgICAgICAgICAgICAgICAgImJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mICIKKy0gICAgICAgICAgICAgICAgICAgIk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgIgorLSAgICAgICAgICAgICAgICAgICAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4iKSwKKy0gICAgICAgICAgICAgICAgTl8oIllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlICIKKy0gICAgICAgICAgICAgICAgICAgImFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlICIKKy0gICAgICAgICAgICAgICAgICAgIkZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBICIpLAorLSAgICAgICAgICAgICAgICBOVUxMCistICAgICAgICB9OworLSAgICAgICAgY2hhciAqbGljZW5zZV9pMThuOworLQorLSAgICAgICAgbGljZW5zZV9pMThuID0gZ19zdHJjb25jYXQgKF8obGljZW5zZVswXSksICJcblxuIiwgXyhsaWNlbnNlWzFdKSwgIlxuXG4iLCBfKGxpY2Vuc2VbMl0pLCBOVUxMKTsgCistCistICAgICAgICBndGtfc2hvd19hYm91dF9kaWFsb2cgKE5VTEwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2ZXJzaW9uIiwgVkVSU0lPTiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvcHlyaWdodCIsICJDb3B5cmlnaHQgXHhjMlx4YTkgMjAwNC0yMDA1IEphbWVzIE0uIENhcGUuXG4iCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDb3B5cmlnaHQgXHhjMlx4YTkgMjAwNiBUaG9tYXMgVGh1cm1hbi5cbiIKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNvcHlyaWdodCBceGMyXHhhOSAyMDA4IFJlZCBIYXQsIEluYy4iLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29tbWVudHMiLCBfKCJBIG1lbnUgdG8gcXVpY2tseSBzd2l0Y2ggYmV0d2VlbiB1c2Vycy4iKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImF1dGhvcnMiLCBhdXRob3JzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGljZW5zZSIsIGxpY2Vuc2VfaTE4biwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndyYXAtbGljZW5zZSIsIFRSVUUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0cmFuc2xhdG9yLWNyZWRpdHMiLCBfKCJ0cmFuc2xhdG9yLWNyZWRpdHMiKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvZ28taWNvbi1uYW1lIiwgInN0b2NrX3Blb3BsZSIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworLQorLSAgICAgICAgZ19mcmVlIChsaWNlbnNlX2kxOG4pOworLX0KKy0KKy0KKy1zdGF0aWMgdm9pZAorLWFkbWluX2NiIChCb25vYm9VSUNvbXBvbmVudCAqdWlfY29udGFpbmVyLAorLSAgICAgICAgICBncG9pbnRlciAgICAgICAgICAgZGF0YSwKKy0gICAgICAgICAgY29uc3QgY2hhciAgICAgICAgKmNuYW1lKQorLXsKKy0jaWZkZWYgVVNFUlNfQURNSU4KKy0gICAgICAgIGNoYXIgICAqKmFyZ3M7CistICAgICAgICBnYm9vbGVhbiByZXM7CistICAgICAgICBHRXJyb3IgICplcnI7CistCistICAgICAgICBlcnIgPSBOVUxMOworLSAgICAgICAgaWYgKCFnX3NoZWxsX3BhcnNlX2FyZ3YgKFVTRVJTX0FETUlOLCBOVUxMLCAmYXJncywgJmVycikpIHsKKy0gICAgICAgICAgICAgICAgZ19jcml0aWNhbCAoIkNvdWxkIG5vdCBwYXJzZSB1c2VycyBhbmQgZ3JvdXBzIG1hbmFnZW1lbnQgY29tbWFuZCBsaW5lIGAlcyc6ICVzIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNFUlNfQURNSU4sIGVyci0+bWVzc2FnZSk7CistICAgICAgICAgICAgICAgIHJldHVybjsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIHJlcyA9IGdfc3Bhd25fYXN5bmMgKGdfZ2V0X2hvbWVfZGlyICgpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoR19TUEFXTl9TVERPVVRfVE9fREVWX05VTEwgfAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfU1BBV05fU1RERVJSX1RPX0RFVl9OVUxMIHwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1NQQVdOX1NFQVJDSF9QQVRIKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICZlcnIpOworLSAgICAgICAgaWYgKCEgcmVzKSB7CistICAgICAgICAgICAgICAgIGdfY3JpdGljYWwgKCJDb3VsZCBub3QgcnVuIGAlcycgdG8gbWFuYWdlIHVzZXJzIGFuZCBncm91cHM6ICVzIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNFUlNfQURNSU4sIGVyci0+bWVzc2FnZSk7CistICAgICAgICAgICAgICAgIGdfZXJyb3JfZnJlZSAoZXJyKTsKKy0gICAgICAgIH0KKy0gICAgICAgIGdfc3RyZnJlZXYgKGFyZ3MpOworLSNlbmRpZiAvKiBVU0VSU19BRE1JTiAqLworLX0KKy0KKy1zdGF0aWMgdm9pZAorLXNldF9tZW51aXRlbV9pY29uIChCb25vYm9VSUNvbXBvbmVudCAqY29tcG9uZW50LAorLSAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICAgICAgICAqaXRlbV9wYXRoLAorLSAgICAgICAgICAgICAgICAgICBHdGtJY29uVGhlbWUgICAgICAqdGhlbWUsCistICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgICAgICAgICppY29uX25hbWUsCistICAgICAgICAgICAgICAgICAgIGdpbnQgICAgICAgICAgICAgICBpY29uX3NpemUpCisteworLSAgICAgICAgR2RrUGl4YnVmICpwaXhidWY7CistICAgICAgICBpbnQgICAgICAgIHdpZHRoOworLSAgICAgICAgaW50ICAgICAgICBoZWlnaHQ7CistCistICAgICAgICBwaXhidWYgPSBndGtfaWNvbl90aGVtZV9sb2FkX2ljb24gKHRoZW1lLCBpY29uX25hbWUsIGljb25fc2l6ZSwgMCwgTlVMTCk7CistICAgICAgICBpZiAocGl4YnVmID09IE5VTEwpIHsKKy0gICAgICAgICAgICAgICAgcmV0dXJuOworLSAgICAgICAgfQorLQorLSAgICAgICAgd2lkdGggPSBnZGtfcGl4YnVmX2dldF93aWR0aCAocGl4YnVmKTsKKy0gICAgICAgIGhlaWdodCA9IGdka19waXhidWZfZ2V0X2hlaWdodCAocGl4YnVmKTsKKy0gICAgICAgIGlmICh3aWR0aCA+IGljb25fc2l6ZSArIDQgfHwgaGVpZ2h0ID4gaWNvbl9zaXplICsgNCkgeworLSAgICAgICAgICAgICAgICBHZGtQaXhidWYgKnRtcDsKKy0gICAgICAgICAgICAgICAgaWYgKGhlaWdodCA+IHdpZHRoKSB7CistICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggKj0gKGdkb3VibGUpIGljb25fc2l6ZSAvIChnZG91YmxlKSBoZWlnaHQ7CistICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0ID0gaWNvbl9zaXplOworLSAgICAgICAgICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCAqPSAoZ2RvdWJsZSkgaWNvbl9zaXplIC8gKGdkb3VibGUpIHdpZHRoOworLSAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoID0gaWNvbl9zaXplOworLSAgICAgICAgICAgICAgICB9CistICAgICAgICAgICAgICAgIHRtcCA9IGdka19waXhidWZfc2NhbGVfc2ltcGxlIChwaXhidWYsIHdpZHRoLCBoZWlnaHQsIEdES19JTlRFUlBfQklMSU5FQVIpOworLSAgICAgICAgICAgICAgICBnX29iamVjdF91bnJlZiAocGl4YnVmKTsKKy0gICAgICAgICAgICAgICAgcGl4YnVmID0gdG1wOworLSAgICAgICAgfQorLQorLSAgICAgICAgYm9ub2JvX3VpX3V0aWxfc2V0X3BpeGJ1ZiAoY29tcG9uZW50LCBpdGVtX3BhdGgsIHBpeGJ1ZiwgTlVMTCk7CistICAgICAgICBnX29iamVjdF91bnJlZiAocGl4YnVmKTsKKy19CistCistc3RhdGljIHZvaWQKKy1hcHBsZXRfc3R5bGVfc2V0X2NiIChHdGtXaWRnZXQgKndpZGdldCwKKy0gICAgICAgICAgICAgICAgICAgICBHdGtTdHlsZSAgKm9sZF9zdHlsZSwKKy0gICAgICAgICAgICAgICAgICAgICBncG9pbnRlciAgIGRhdGEpCisteworLSAgICAgICAgQm9ub2JvVUlDb21wb25lbnQgKmNvbXBvbmVudDsKKy0gICAgICAgIEdka1NjcmVlbiAgICAgICAgICpzY3JlZW47CistICAgICAgICBHdGtJY29uVGhlbWUgICAgICAqdGhlbWU7CistICAgICAgICBpbnQgICAgICAgICAgICAgICAgd2lkdGg7CistICAgICAgICBpbnQgICAgICAgICAgICAgICAgaGVpZ2h0OworLSAgICAgICAgaW50ICAgICAgICAgICAgICAgIGljb25fc2l6ZTsKKy0KKy0gICAgICAgIGlmIChndGtfd2lkZ2V0X2hhc19zY3JlZW4gKHdpZGdldCkpIHsKKy0gICAgICAgICAgICAgICAgc2NyZWVuID0gZ3RrX3dpZGdldF9nZXRfc2NyZWVuICh3aWRnZXQpOworLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgc2NyZWVuID0gZ2RrX3NjcmVlbl9nZXRfZGVmYXVsdCAoKTsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIGlmIChndGtfaWNvbl9zaXplX2xvb2t1cF9mb3Jfc2V0dGluZ3MgKGd0a19zZXR0aW5nc19nZXRfZm9yX3NjcmVlbiAoc2NyZWVuKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdUS19JQ09OX1NJWkVfTUVOVSwgJndpZHRoLCAmaGVpZ2h0KSkgeworLSAgICAgICAgICAgICAgICBpY29uX3NpemUgPSBNQVggKHdpZHRoLCBoZWlnaHQpOworLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgaWNvbl9zaXplID0gMTY7CistICAgICAgICB9CistCistICAgICAgICB0aGVtZSA9IGd0a19pY29uX3RoZW1lX2dldF9mb3Jfc2NyZWVuIChzY3JlZW4pOworLSAgICAgICAgY29tcG9uZW50ID0gcGFuZWxfYXBwbGV0X2dldF9wb3B1cF9jb21wb25lbnQgKFBBTkVMX0FQUExFVCAod2lkZ2V0KSk7CistCistICAgICAgICBzZXRfbWVudWl0ZW1faWNvbiAoY29tcG9uZW50LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICIvY29tbWFuZHMvR2RtQWJvdXRNZSIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZXItaW5mbyIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbl9zaXplKTsKKy0gICAgICAgIHNldF9tZW51aXRlbV9pY29uIChjb21wb25lbnQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9jb21tYW5kcy9HZG1Vc2Vyc0dyb3Vwc0FkbWluIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVtZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAic3RvY2tfcGVvcGxlIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uX3NpemUpOworLX0KKy0KKy1zdGF0aWMgdm9pZAorLWFwcGxldF9jaGFuZ2VfYmFja2dyb3VuZF9jYiAoUGFuZWxBcHBsZXQgICAgICAgICAgICAgICAqYXBwbGV0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFuZWxBcHBsZXRCYWNrZ3JvdW5kVHlwZSAgdHlwZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdka0NvbG9yICAgICAgICAgICAgICAgICAgKmNvbG9yLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2RrUGl4bWFwICAgICAgICAgICAgICAgICAqcGl4bWFwLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2RtQXBwbGV0RGF0YSAgICAgICAgICAgICAqYWRhdGEpCisteworLSAgICAgICAgR3RrUmNTdHlsZSAqcmNfc3R5bGU7CistICAgICAgICBHdGtTdHlsZSAgICpzdHlsZTsKKy0KKy0gICAgICAgIGd0a193aWRnZXRfc2V0X3N0eWxlIChhZGF0YS0+bWVudWJhciwgTlVMTCk7CistICAgICAgICByY19zdHlsZSA9IGd0a19yY19zdHlsZV9uZXcgKCk7CistICAgICAgICBndGtfd2lkZ2V0X21vZGlmeV9zdHlsZSAoR1RLX1dJREdFVCAoYWRhdGEtPm1lbnViYXIpLCByY19zdHlsZSk7CistICAgICAgICBnX29iamVjdF91bnJlZiAocmNfc3R5bGUpOworLQorLSAgICAgICAgc3dpdGNoICh0eXBlKSB7CistICAgICAgICBjYXNlIFBBTkVMX05PX0JBQ0tHUk9VTkQ6CistICAgICAgICAgICAgICAgIGJyZWFrOworLSAgICAgICAgY2FzZSBQQU5FTF9DT0xPUl9CQUNLR1JPVU5EOgorLSAgICAgICAgICAgICAgICBndGtfd2lkZ2V0X21vZGlmeV9iZyAoYWRhdGEtPm1lbnViYXIsIEdUS19TVEFURV9OT1JNQUwsIGNvbG9yKTsKKy0gICAgICAgICAgICAgICAgYnJlYWs7CistICAgICAgICBjYXNlIFBBTkVMX1BJWE1BUF9CQUNLR1JPVU5EOgorLSAgICAgICAgICAgICAgICBzdHlsZSA9IGd0a19zdHlsZV9jb3B5IChndGtfd2lkZ2V0X2dldF9zdHlsZSAoYWRhdGEtPm1lbnViYXIpKTsKKy0gICAgICAgICAgICAgICAgaWYgKHN0eWxlLT5iZ19waXhtYXBbR1RLX1NUQVRFX05PUk1BTF0pIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICBnX29iamVjdF91bnJlZiAoc3R5bGUtPmJnX3BpeG1hcFtHVEtfU1RBVEVfTk9STUFMXSk7CistICAgICAgICAgICAgICAgIH0KKy0KKy0gICAgICAgICAgICAgICAgc3R5bGUtPmJnX3BpeG1hcFtHVEtfU1RBVEVfTk9STUFMXSA9IGdfb2JqZWN0X3JlZiAocGl4bWFwKTsKKy0gICAgICAgICAgICAgICAgZ3RrX3dpZGdldF9zZXRfc3R5bGUgKGFkYXRhLT5tZW51YmFyLCBzdHlsZSk7CistICAgICAgICAgICAgICAgIGdfb2JqZWN0X3VucmVmIChzdHlsZSk7CistICAgICAgICAgICAgICAgIGJyZWFrOworLSAgICAgICAgfQorLX0KKy0KKy0vKgorLSAqIGdub21lLXBhbmVsL2FwcGxldHMvd25ja2xldC93aW5kb3ctbWVudS5jOndpbmRvd19tZW51X2tleV9wcmVzc19ldmVudCgpCistICoKKy0gKiBDb3B5cmlnaHQgKEMpIDIwMDMgU3VuIE1pY3Jvc3lzdGVtcywgSW5jLgorLSAqIENvcHlyaWdodCAoQykgMjAwMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy0gKiBDb3B5cmlnaHQgKEMpIDIwMDAgSGVsaXggQ29kZSwgSW5jLgorLSAqLworLXN0YXRpYyBnYm9vbGVhbgorLWFwcGxldF9rZXlfcHJlc3NfZXZlbnRfY2IgKEd0a1dpZGdldCAgICAgKndpZGdldCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICBHZGtFdmVudEtleSAgICpldmVudCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICBHZG1BcHBsZXREYXRhICphZGF0YSkKKy17CistICAgICAgICBHdGtNZW51U2hlbGwgKm1lbnVfc2hlbGw7CistCistICAgICAgICBzd2l0Y2ggKGV2ZW50LT5rZXl2YWwpIHsKKy0gICAgICAgIGNhc2UgR0RLX0tQX0VudGVyOgorLSAgICAgICAgY2FzZSBHREtfSVNPX0VudGVyOgorLSAgICAgICAgY2FzZSBHREtfMzI3MF9FbnRlcjoKKy0gICAgICAgIGNhc2UgR0RLX1JldHVybjoKKy0gICAgICAgIGNhc2UgR0RLX3NwYWNlOgorLSAgICAgICAgY2FzZSBHREtfS1BfU3BhY2U6CistICAgICAgICAgICAgICAgIG1lbnVfc2hlbGwgPSBHVEtfTUVOVV9TSEVMTCAoYWRhdGEtPm1lbnViYXIpOworLSAgICAgICAgICAgICAgICAvKgorLSAgICAgICAgICAgICAgICAgKiBXZSBuZWVkIHRvIGNhbGwgX2d0a19tZW51X3NoZWxsX2FjdGl2YXRlKCkgaGVyZSBhcyBpcyBkb25lIGluCistICAgICAgICAgICAgICAgICAqIHdpbmRvd19rZXlfcHJlc3NfaGFuZGxlciBpbiBndGttZW51YmFyLmMgd2hpY2ggcG9wcyB1cCBtZW51CistICAgICAgICAgICAgICAgICAqIHdoZW4gRjEwIGlzIHByZXNzZWQuCistICAgICAgICAgICAgICAgICAqCistICAgICAgICAgICAgICAgICAqIEFzIHRoYXQgZnVuY3Rpb24gaXMgcHJpdmF0ZSBpdHMgY29kZSBpcyByZXBsaWNhdGVkIGhlcmUuCistICAgICAgICAgICAgICAgICAqLworLSAgICAgICAgICAgICAgICBpZiAoIW1lbnVfc2hlbGwtPmFjdGl2ZSkgeworLSAgICAgICAgICAgICAgICAgICAgICAgIGd0a19ncmFiX2FkZCAoR1RLX1dJREdFVCAobWVudV9zaGVsbCkpOworLSAgICAgICAgICAgICAgICAgICAgICAgIG1lbnVfc2hlbGwtPmhhdmVfZ3JhYiA9IFRSVUU7CistICAgICAgICAgICAgICAgICAgICAgICAgbWVudV9zaGVsbC0+YWN0aXZlID0gVFJVRTsKKy0gICAgICAgICAgICAgICAgfQorLQorLSAgICAgICAgICAgICAgICBndGtfbWVudV9zaGVsbF9zZWxlY3RfZmlyc3QgKG1lbnVfc2hlbGwsIEZBTFNFKTsKKy0gICAgICAgICAgICAgICAgcmV0dXJuIFRSVUU7CistICAgICAgICBkZWZhdWx0OgorLSAgICAgICAgICAgICAgICBicmVhazsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIHJldHVybiBGQUxTRTsKKy19CistCistc3RhdGljIHZvaWQKKy1zZXRfaXRlbV90ZXh0X2FuZ2xlX2FuZF9hbGlnbm1lbnQgKEd0a1dpZGdldCAqaXRlbSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSAgICAgdGV4dF9hbmdsZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0ICAgICAgeGFsaWduLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQgICAgICB5YWxpZ24pCisteworLSAgICAgICAgR3RrV2lkZ2V0ICpsYWJlbDsKKy0KKy0gICAgICAgIGxhYmVsID0gZ3RrX2Jpbl9nZXRfY2hpbGQgKEdUS19CSU4gKGl0ZW0pKTsKKy0KKy0gICAgICAgIGd0a19sYWJlbF9zZXRfYW5nbGUgKEdUS19MQUJFTCAobGFiZWwpLCB0ZXh0X2FuZ2xlKTsKKy0KKy0gICAgICAgIGd0a19taXNjX3NldF9hbGlnbm1lbnQgKEdUS19NSVNDIChsYWJlbCksIHhhbGlnbiwgeWFsaWduKTsKKy19CistCistLyoKKy0gKiBnbm9tZS1wYW5lbC9hcHBsZXRzL3duY2tsZXQvd2luZG93LW1lbnUuYzp3aW5kb3dfbWVudV9zaXplX2FsbG9jYXRlKCkKKy0gKgorLSAqIENvcHlyaWdodCAoQykgMjAwMyBTdW4gTWljcm9zeXN0ZW1zLCBJbmMuCistICogQ29weXJpZ2h0IChDKSAyMDAxIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLSAqIENvcHlyaWdodCAoQykgMjAwMCBIZWxpeCBDb2RlLCBJbmMuCistICovCistc3RhdGljIHZvaWQKKy1hcHBsZXRfc2l6ZV9hbGxvY2F0ZV9jYiAoR3RrV2lkZ2V0ICAgICAqd2lkZ2V0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICBHdGtBbGxvY2F0aW9uICphbGxvY2F0aW9uLAorLSAgICAgICAgICAgICAgICAgICAgICAgICBHZG1BcHBsZXREYXRhICphZGF0YSkKKy17CistICAgICAgICBHTGlzdCAgICAgICAgICAgICpjaGlsZHJlbjsKKy0gICAgICAgIEd0a1dpZGdldCAgICAgICAgKnRvcF9pdGVtOworLSAgICAgICAgUGFuZWxBcHBsZXRPcmllbnQgb3JpZW50OworLSAgICAgICAgZ2ludCAgICAgICAgICAgICAgcGl4ZWxfc2l6ZTsKKy0gICAgICAgIGdkb3VibGUgICAgICAgICAgIHRleHRfYW5nbGU7CistICAgICAgICBHdGtQYWNrRGlyZWN0aW9uICBwYWNrX2RpcmVjdGlvbjsKKy0gICAgICAgIGZsb2F0ICAgICAgICAgICAgIHRleHRfeGFsaWduOworLSAgICAgICAgZmxvYXQgICAgICAgICAgICAgdGV4dF95YWxpZ247CistCistICAgICAgICBwYWNrX2RpcmVjdGlvbiA9IEdUS19QQUNLX0RJUkVDVElPTl9MVFI7CistICAgICAgICB0ZXh0X2FuZ2xlID0gMC4wOworLSAgICAgICAgdGV4dF94YWxpZ24gPSAwLjA7CistICAgICAgICB0ZXh0X3lhbGlnbiA9IDAuNTsKKy0KKy0gICAgICAgIGNoaWxkcmVuID0gZ3RrX2NvbnRhaW5lcl9nZXRfY2hpbGRyZW4gKEdUS19DT05UQUlORVIgKGFkYXRhLT5tZW51YmFyKSk7CistICAgICAgICB0b3BfaXRlbSA9IEdUS19XSURHRVQgKGNoaWxkcmVuLT5kYXRhKTsKKy0gICAgICAgIGdfbGlzdF9mcmVlIChjaGlsZHJlbik7CistCistICAgICAgICBvcmllbnQgPSBwYW5lbF9hcHBsZXRfZ2V0X29yaWVudCAoUEFORUxfQVBQTEVUICh3aWRnZXQpKTsKKy0KKy0gICAgICAgIHN3aXRjaCAob3JpZW50KSB7CistICAgICAgICBjYXNlIFBBTkVMX0FQUExFVF9PUklFTlRfVVA6CistICAgICAgICBjYXNlIFBBTkVMX0FQUExFVF9PUklFTlRfRE9XTjoKKy0gICAgICAgICAgICAgICAgZ3RrX3dpZGdldF9zZXRfc2l6ZV9yZXF1ZXN0ICh0b3BfaXRlbSwgLTEsIGFsbG9jYXRpb24tPmhlaWdodCk7CistICAgICAgICAgICAgICAgIHBpeGVsX3NpemUgPSBhbGxvY2F0aW9uLT5oZWlnaHQgLSBndGtfd2lkZ2V0X2dldF9zdHlsZSAodG9wX2l0ZW0pLT55dGhpY2tuZXNzICogMjsKKy0gICAgICAgICAgICAgICAgYnJlYWs7CistICAgICAgICBjYXNlIFBBTkVMX0FQUExFVF9PUklFTlRfTEVGVDoKKy0gICAgICAgICAgICAgICAgZ3RrX3dpZGdldF9zZXRfc2l6ZV9yZXF1ZXN0ICh0b3BfaXRlbSwgYWxsb2NhdGlvbi0+d2lkdGgsIC0xKTsKKy0gICAgICAgICAgICAgICAgcGl4ZWxfc2l6ZSA9IGFsbG9jYXRpb24tPndpZHRoIC0gZ3RrX3dpZGdldF9nZXRfc3R5bGUgKHRvcF9pdGVtKS0+eHRoaWNrbmVzcyAqIDI7CistICAgICAgICAgICAgICAgIHBhY2tfZGlyZWN0aW9uID0gR1RLX1BBQ0tfRElSRUNUSU9OX1RUQjsKKy0gICAgICAgICAgICAgICAgdGV4dF9hbmdsZSA9IDI3MC4wOworLSAgICAgICAgICAgICAgICB0ZXh0X3hhbGlnbiA9IDAuNTsKKy0gICAgICAgICAgICAgICAgdGV4dF95YWxpZ24gPSAwLjA7CistICAgICAgICAgICAgICAgIGJyZWFrOworLSAgICAgICAgY2FzZSBQQU5FTF9BUFBMRVRfT1JJRU5UX1JJR0hUOgorLSAgICAgICAgICAgICAgICBndGtfd2lkZ2V0X3NldF9zaXplX3JlcXVlc3QgKHRvcF9pdGVtLCBhbGxvY2F0aW9uLT53aWR0aCwgLTEpOworLSAgICAgICAgICAgICAgICBwaXhlbF9zaXplID0gYWxsb2NhdGlvbi0+d2lkdGggLSBndGtfd2lkZ2V0X2dldF9zdHlsZSAodG9wX2l0ZW0pLT54dGhpY2tuZXNzICogMjsKKy0gICAgICAgICAgICAgICAgcGFja19kaXJlY3Rpb24gPSBHVEtfUEFDS19ESVJFQ1RJT05fQlRUOworLSAgICAgICAgICAgICAgICB0ZXh0X2FuZ2xlID0gOTAuMDsKKy0gICAgICAgICAgICAgICAgdGV4dF94YWxpZ24gPSAwLjU7CistICAgICAgICAgICAgICAgIHRleHRfeWFsaWduID0gMC4wOworLSAgICAgICAgICAgICAgICBicmVhazsKKy0gICAgICAgIGRlZmF1bHQ6CistICAgICAgICAgICAgICAgIGdfYXNzZXJ0X25vdF9yZWFjaGVkICgpOworLSAgICAgICAgICAgICAgICBicmVhazsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIGd0a19tZW51X2Jhcl9zZXRfcGFja19kaXJlY3Rpb24gKEdUS19NRU5VX0JBUiAoYWRhdGEtPm1lbnViYXIpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFja19kaXJlY3Rpb24pOworLSAgICAgICAgZ3RrX21lbnVfYmFyX3NldF9jaGlsZF9wYWNrX2RpcmVjdGlvbiAoR1RLX01FTlVfQkFSIChhZGF0YS0+bWVudWJhciksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWNrX2RpcmVjdGlvbik7CistCistICAgICAgICBzZXRfaXRlbV90ZXh0X2FuZ2xlX2FuZF9hbGlnbm1lbnQgKGFkYXRhLT5tZW51aXRlbSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dF9hbmdsZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dF94YWxpZ24sCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRfeWFsaWduKTsKKy0KKy0gICAgICAgIGlmIChhZGF0YS0+cGFuZWxfc2l6ZSAhPSBwaXhlbF9zaXplKSB7CistICAgICAgICAgICAgICAgIGFkYXRhLT5wYW5lbF9zaXplID0gcGl4ZWxfc2l6ZTsKKy0gICAgICAgICAgICAgICAgcmVzZXRfaWNvbiAoYWRhdGEpOworLSAgICAgICAgfQorLX0KKy0KKy0KKy1zdGF0aWMgdm9pZAorLWdkbV9hcHBsZXRfZGF0YV9mcmVlIChHZG1BcHBsZXREYXRhICphZGF0YSkKKy17CistICAgICAgICBnY29uZl9jbGllbnRfbm90aWZ5X3JlbW92ZSAoYWRhdGEtPmNsaWVudCwgYWRhdGEtPmNsaWVudF9ub3RpZnlfbG9ja2Rvd25faWQpOworLQorLSAgICAgICAgaWYgKGFkYXRhLT51c2VyX2xvYWRlZF9ub3RpZnlfaWQgIT0gMCkgeworLSAgICAgICAgICAgICAgICBnX3NpZ25hbF9oYW5kbGVyX2Rpc2Nvbm5lY3QgKGFkYXRhLT51c2VyLCBhZGF0YS0+dXNlcl9sb2FkZWRfbm90aWZ5X2lkKTsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIGlmIChhZGF0YS0+dXNlcl9jaGFuZ2VkX25vdGlmeV9pZCAhPSAwKSB7CistICAgICAgICAgICAgICAgIGdfc2lnbmFsX2hhbmRsZXJfZGlzY29ubmVjdCAoYWRhdGEtPnVzZXIsIGFkYXRhLT51c2VyX2NoYW5nZWRfbm90aWZ5X2lkKTsKKy0gICAgICAgIH0KKy0KKy0jaWZkZWYgQlVJTERfUFJFU0VOU0VfU1RVRkYKKy0gICAgICAgIGlmIChhZGF0YS0+cHJlc2VuY2VfcHJveHkgIT0gTlVMTCkgeworLSAgICAgICAgICAgICAgICBnX29iamVjdF91bnJlZiAoYWRhdGEtPnByZXNlbmNlX3Byb3h5KTsKKy0gICAgICAgIH0KKy0jZW5kaWYKKy0KKy0gICAgICAgIGlmIChhZGF0YS0+dXNlciAhPSBOVUxMKSB7CistICAgICAgICAgICAgICAgIGdfb2JqZWN0X3VucmVmIChhZGF0YS0+dXNlcik7CistICAgICAgICB9CistICAgICAgICBnX29iamVjdF91bnJlZiAoYWRhdGEtPmNsaWVudCk7CistICAgICAgICBnX29iamVjdF91bnJlZiAoYWRhdGEtPm1hbmFnZXIpOworLQorLSAgICAgICAgZ19mcmVlIChhZGF0YSk7CistfQorLQorLQorLS8qCistICogZ25vbWUtcGFuZWwvYXBwbGV0cy93bmNrbGV0L3dpbmRvdy1tZW51LmM6d2luZG93X21lbnVfb25fZXhwb3NlKCkKKy0gKgorLSAqIENvcHlyaWdodCAoQykgMjAwMyBTdW4gTWljcm9zeXN0ZW1zLCBJbmMuCistICogQ29weXJpZ2h0IChDKSAyMDAxIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLSAqIENvcHlyaWdodCAoQykgMjAwMCBIZWxpeCBDb2RlLCBJbmMuCistICovCistc3RhdGljIGdib29sZWFuCistbWVudWJhcl9leHBvc2VfZXZlbnRfY2IgKEd0a1dpZGdldCAgICAgICp3aWRnZXQsCistICAgICAgICAgICAgICAgICAgICAgICAgIEdka0V2ZW50RXhwb3NlICpldmVudCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgR2RtQXBwbGV0RGF0YSAgKmFkYXRhKQorLXsKKy0gICAgICAgIGlmIChndGtfd2lkZ2V0X2hhc19mb2N1cyAoR1RLX1dJREdFVCAoYWRhdGEtPmFwcGxldCkpKQorLSAgICAgICAgICAgICAgICBndGtfcGFpbnRfZm9jdXMgKGd0a193aWRnZXRfZ2V0X3N0eWxlICh3aWRnZXQpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd0a193aWRnZXRfZ2V0X3dpbmRvdyAod2lkZ2V0KSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndGtfd2lkZ2V0X2dldF9zdGF0ZSAod2lkZ2V0KSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCB3aWRnZXQsICJtZW51LWFwcGxldCIsIDAsIDAsIC0xLCAtMSk7CistCistICAgICAgICByZXR1cm4gRkFMU0U7CistfQorLQorLXN0YXRpYyB2b2lkCistbWVudV9zdHlsZV9zZXRfY2IgKEd0a1dpZGdldCAgICAgKm1lbnUsCistICAgICAgICAgICAgICAgICAgIEd0a1N0eWxlICAgICAgKm9sZF9zdHlsZSwKKy0gICAgICAgICAgICAgICAgICAgR2RtQXBwbGV0RGF0YSAqYWRhdGEpCisteworLSAgICAgICAgR3RrU2V0dGluZ3MgKnNldHRpbmdzOworLSAgICAgICAgaW50ICAgICAgICAgIHdpZHRoOworLSAgICAgICAgaW50ICAgICAgICAgIGhlaWdodDsKKy0KKy0gICAgICAgIGFkYXRhLT5pY29uX3NpemUgPSBndGtfaWNvbl9zaXplX2Zyb21fbmFtZSAoInBhbmVsLW1lbnUiKTsKKy0KKy0gICAgICAgIGlmIChhZGF0YS0+aWNvbl9zaXplID09IEdUS19JQ09OX1NJWkVfSU5WQUxJRCkgeworLSAgICAgICAgICAgICAgICBhZGF0YS0+aWNvbl9zaXplID0gZ3RrX2ljb25fc2l6ZV9yZWdpc3RlciAoInBhbmVsLW1lbnUiLCAyNCwgMjQpOworLSAgICAgICAgfQorLQorLSAgICAgICAgaWYgKGd0a193aWRnZXRfaGFzX3NjcmVlbiAobWVudSkpIHsKKy0gICAgICAgICAgICAgICAgc2V0dGluZ3MgPSBndGtfc2V0dGluZ3NfZ2V0X2Zvcl9zY3JlZW4gKGd0a193aWRnZXRfZ2V0X3NjcmVlbiAobWVudSkpOworLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgc2V0dGluZ3MgPSBndGtfc2V0dGluZ3NfZ2V0X2RlZmF1bHQgKCk7CistICAgICAgICB9CistCistICAgICAgICBpZiAoIWd0a19pY29uX3NpemVfbG9va3VwX2Zvcl9zZXR0aW5ncyAoc2V0dGluZ3MsIGFkYXRhLT5pY29uX3NpemUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJndpZHRoLCAmaGVpZ2h0KSkgeworLSAgICAgICAgICAgICAgICBhZGF0YS0+cGl4ZWxfc2l6ZSA9IC0xOworLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgYWRhdGEtPnBpeGVsX3NpemUgPSBNQVggKHdpZHRoLCBoZWlnaHQpOworLSAgICAgICAgfQorLX0KKy0KKy1zdGF0aWMgdm9pZAorLW1lbnVpdGVtX3N0eWxlX3NldF9jYiAoR3RrV2lkZ2V0ICAgICAqbWVudWl0ZW0sCistICAgICAgICAgICAgICAgICAgICAgICBHdGtTdHlsZSAgICAgICpvbGRfc3R5bGUsCistICAgICAgICAgICAgICAgICAgICAgICBHZG1BcHBsZXREYXRhICphZGF0YSkKKy17CistICAgICAgICBHdGtXaWRnZXQgKmltYWdlOworLQorLSAgICAgICAgaWYgKEdETV9JU19FTlRSWV9NRU5VX0lURU0gKG1lbnVpdGVtKSkgeworLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgY29uc3QgY2hhciAqaWNvbl9uYW1lOworLQorLSAgICAgICAgICAgICAgICBpZiAobWVudWl0ZW0gPT0gYWRhdGEtPmxvZ2luX3NjcmVlbl9pdGVtKSB7CistICAgICAgICAgICAgICAgICAgICAgICAgaWNvbl9uYW1lID0gInN5c3RlbS11c2VycyI7CistICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobWVudWl0ZW0gPT0gYWRhdGEtPmxvY2tfc2NyZWVuX2l0ZW0pIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICBpY29uX25hbWUgPSAic3lzdGVtLWxvY2stc2NyZWVuIjsKKy0gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtZW51aXRlbSA9PSBhZGF0YS0+cXVpdF9zZXNzaW9uX2l0ZW0pIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICBpY29uX25hbWUgPSAic3lzdGVtLWxvZy1vdXQiOworLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG1lbnVpdGVtID09IGFkYXRhLT5hY2NvdW50X2l0ZW0pIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICBpY29uX25hbWUgPSAidXNlci1pbmZvIjsKKy0gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtZW51aXRlbSA9PSBhZGF0YS0+Y29udHJvbF9wYW5lbF9pdGVtKSB7CistICAgICAgICAgICAgICAgICAgICAgICAgaWNvbl9uYW1lID0gInByZWZlcmVuY2VzLWRlc2t0b3AiOworLSAgICAgICAgICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICAgICAgICAgIGljb25fbmFtZSA9IEdUS19TVE9DS19NSVNTSU5HX0lNQUdFOworLSAgICAgICAgICAgICAgICB9CistCistICAgICAgICAgICAgICAgIGltYWdlID0gZ3RrX2ltYWdlX21lbnVfaXRlbV9nZXRfaW1hZ2UgKEdUS19JTUFHRV9NRU5VX0lURU0gKG1lbnVpdGVtKSk7CistICAgICAgICAgICAgICAgIGd0a19pbWFnZV9zZXRfcGl4ZWxfc2l6ZSAoR1RLX0lNQUdFIChpbWFnZSksIGFkYXRhLT5waXhlbF9zaXplKTsKKy0gICAgICAgICAgICAgICAgZ3RrX2ltYWdlX3NldF9mcm9tX2ljb25fbmFtZSAoR1RLX0lNQUdFIChpbWFnZSksIGljb25fbmFtZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRhdGEtPmljb25fc2l6ZSk7CistICAgICAgICB9CistfQorLQorLXN0YXRpYyB2b2lkCistb25fdXNlcl9jaGFuZ2VkIChHZG1Vc2VyICAgICAgICAgKnVzZXIsCistICAgICAgICAgICAgICAgICBHZG1BcHBsZXREYXRhICAgKmFkYXRhKQorLXsKKy0gICAgICAgIGdfZGVidWcgKCJ1c2VyIGNoYW5nZWQiKTsKKy0gICAgICAgIHVwZGF0ZV9sYWJlbCAoYWRhdGEpOworLSAgICAgICAgcmVzZXRfaWNvbiAoYWRhdGEpOworLX0KKy0KKy0vKiBDYWxsZWQgZXZlcnkgdGltZSB0aGUgbWVudSBpcyBkaXNwbGF5ZWQgKGFuZCBhbHNvIGZvciBzb21lIHJlYXNvbgorLSAqIGltbWVkaWF0ZWx5IGl0J3MgY3JlYXRlZCwgd2hpY2ggZG9lcyBubyBoYXJtKS4gQWxsIHdlIGhhdmUgdG8gZG8KKy0gKiBoZXJlIGlzIGtpY2sgb2ZmIGEgcmVxdWVzdCB0byBHRE0gdG8gbGV0IHVzIGtub3cgd2hpY2ggdXNlcnMgYXJlCistICogbG9nZ2VkIGluLCBzbyB3ZSBjYW4gZGlzcGxheSBjaGVjayBtYXJrcyBuZXh0IHRvIHRoZWlyIG5hbWVzLgorLSAqLworLXN0YXRpYyBnYm9vbGVhbgorLW1lbnVfZXhwb3NlX2NiIChHdGtXaWRnZXQgKm1lbnUsCistICAgICAgICAgICAgICAgIGdwb2ludGVyICAgZGF0YSkKKy17CistICAgICAgICBjaGFyICpwcm9ncmFtOworLSAgICAgICAgR2RtQXBwbGV0RGF0YSAqYWRhdGEgPSBkYXRhOworLQorLSAgICAgICAgcHJvZ3JhbSA9IGdfZmluZF9wcm9ncmFtX2luX3BhdGggKCJnbm9tZS1jb250cm9sLWNlbnRlciIpOworLSAgICAgICAgaWYgKHByb2dyYW0gIT0gTlVMTCkgeworLSAgICAgICAgICAgICAgICBndGtfd2lkZ2V0X3Nob3cgKGFkYXRhLT5jb250cm9sX3BhbmVsX2l0ZW0pOworLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgZ3RrX3dpZGdldF9oaWRlIChhZGF0YS0+Y29udHJvbF9wYW5lbF9pdGVtKTsKKy0gICAgICAgIH0KKy0gICAgICAgIGdfZnJlZSAocHJvZ3JhbSk7CistICAgICAgICByZXR1cm4gRkFMU0U7CistfQorLQorLXN0YXRpYyB2b2lkCistbWF5YmVfbG9ja19zY3JlZW4gKEdkbUFwcGxldERhdGEgKmFkYXRhKQorLXsKKy0gICAgICAgIGNoYXIgICAgICAqYXJnc1szXTsKKy0gICAgICAgIEdFcnJvciAgICAqZXJyOworLSAgICAgICAgR2RrU2NyZWVuICpzY3JlZW47CistICAgICAgICBnYm9vbGVhbiAgIHVzZV9nc2NyZWVuc2F2ZXIgPSBUUlVFOworLSAgICAgICAgZ2Jvb2xlYW4gICByZXM7CistCistICAgICAgICBnX2RlYnVnICgiQXR0ZW1wdGluZyB0byBsb2NrIHNjcmVlbiIpOworLQorLSAgICAgICAgYXJnc1swXSA9IGdfZmluZF9wcm9ncmFtX2luX3BhdGggKCJnbm9tZS1zY3JlZW5zYXZlci1jb21tYW5kIik7CistICAgICAgICBpZiAoYXJnc1swXSA9PSBOVUxMKSB7CistICAgICAgICAgICAgICAgIGFyZ3NbMF0gPSBnX2ZpbmRfcHJvZ3JhbV9pbl9wYXRoICgieHNjcmVlbnNhdmVyLWNvbW1hbmQiKTsKKy0gICAgICAgICAgICAgICAgdXNlX2dzY3JlZW5zYXZlciA9IEZBTFNFOworLSAgICAgICAgfQorLQorLSAgICAgICAgaWYgKGFyZ3NbMF0gPT0gTlVMTCkgeworLSAgICAgICAgICAgICAgICByZXR1cm47CistICAgICAgICB9CistCistICAgICAgICBpZiAodXNlX2dzY3JlZW5zYXZlcikgeworLSAgICAgICAgICAgICAgICBhcmdzWzFdID0gIi0tbG9jayI7CistICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICBhcmdzWzFdID0gIi1sb2NrIjsKKy0gICAgICAgIH0KKy0gICAgICAgIGFyZ3NbMl0gPSBOVUxMOworLQorLSAgICAgICAgaWYgKGd0a193aWRnZXRfaGFzX3NjcmVlbiAoR1RLX1dJREdFVCAoYWRhdGEtPmFwcGxldCkpKSB7CistICAgICAgICAgICAgICAgIHNjcmVlbiA9IGd0a193aWRnZXRfZ2V0X3NjcmVlbiAoR1RLX1dJREdFVCAoYWRhdGEtPmFwcGxldCkpOworLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgc2NyZWVuID0gZ2RrX3NjcmVlbl9nZXRfZGVmYXVsdCAoKTsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIGVyciA9IE5VTEw7CistICAgICAgICByZXMgPSBnZGtfc3Bhd25fb25fc2NyZWVuIChzY3JlZW4sCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX2dldF9ob21lX2RpciAoKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZlcnIpOworLSAgICAgICAgaWYgKCEgcmVzKSB7CistICAgICAgICAgICAgICAgIGdfd2FybmluZyAoXygiQ2FuJ3QgbG9jayBzY3JlZW46ICVzIiksIGVyci0+bWVzc2FnZSk7CistICAgICAgICAgICAgICAgIGdfZXJyb3JfZnJlZSAoZXJyKTsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIGlmICh1c2VfZ3NjcmVlbnNhdmVyKSB7CistICAgICAgICAgICAgICAgIGFyZ3NbMV0gPSAiLS10aHJvdHRsZSI7CistICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICBhcmdzWzFdID0gIi10aHJvdHRsZSI7CistICAgICAgICB9CistCistICAgICAgICBlcnIgPSBOVUxMOworLSAgICAgICAgcmVzID0gZ2RrX3NwYXduX29uX3NjcmVlbiAoc2NyZWVuLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19nZXRfaG9tZV9kaXIgKCksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChHX1NQQVdOX1NUREVSUl9UT19ERVZfTlVMTAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBHX1NQQVdOX1NURE9VVF9UT19ERVZfTlVMTCksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZXJyKTsKKy0gICAgICAgIGlmICghIHJlcykgeworLSAgICAgICAgICAgICAgICBnX3dhcm5pbmcgKF8oIkNhbid0IHRlbXBvcmFyaWx5IHNldCBzY3JlZW5zYXZlciB0byBibGFuayBzY3JlZW46ICVzIiksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyLT5tZXNzYWdlKTsKKy0gICAgICAgICAgICAgICAgZ19lcnJvcl9mcmVlIChlcnIpOworLSAgICAgICAgfQorLQorLSAgICAgICAgZ19mcmVlIChhcmdzWzBdKTsKKy19CistCistc3RhdGljIHZvaWQKKy1kb19zd2l0Y2ggKEdkbUFwcGxldERhdGEgKmFkYXRhLAorLSAgICAgICAgICAgR2RtVXNlciAgICAgICAqdXNlcikKKy17CistICAgICAgICBndWludCBudW1fc2Vzc2lvbnM7CistCistICAgICAgICBnX2RlYnVnICgiRG8gdXNlciBzd2l0Y2giKTsKKy0KKy0gICAgICAgIGlmICh1c2VyID09IE5VTEwpIHsKKy0gICAgICAgICAgICAgICAgZ2RtX3VzZXJfbWFuYWdlcl9nb3RvX2xvZ2luX3Nlc3Npb24gKGFkYXRhLT5tYW5hZ2VyKTsKKy0gICAgICAgICAgICAgICAgZ290byBvdXQ7CistICAgICAgICB9CistCistICAgICAgICBudW1fc2Vzc2lvbnMgPSBnZG1fdXNlcl9nZXRfbnVtX3Nlc3Npb25zICh1c2VyKTsKKy0gICAgICAgIGlmIChudW1fc2Vzc2lvbnMgPiAwKSB7CistICAgICAgICAgICAgICAgIGdkbV91c2VyX21hbmFnZXJfYWN0aXZhdGVfdXNlcl9zZXNzaW9uIChhZGF0YS0+bWFuYWdlciwgdXNlcik7CistICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICBnZG1fdXNlcl9tYW5hZ2VyX2dvdG9fbG9naW5fc2Vzc2lvbiAoYWRhdGEtPm1hbmFnZXIpOworLSAgICAgICAgfQorLSBvdXQ6CistICAgICAgICBtYXliZV9sb2NrX3NjcmVlbiAoYWRhdGEpOworLX0KKy0KKy1zdGF0aWMgdm9pZAorLXVwZGF0ZV9zd2l0Y2hfdXNlciAoR2RtQXBwbGV0RGF0YSAqYWRhdGEpCisteworLSAgICAgICAgZ2Jvb2xlYW4gY2FuX3N3aXRjaDsKKy0gICAgICAgIGdib29sZWFuIGhhc19vdGhlcl91c2VyczsKKy0KKy0gICAgICAgIGNhbl9zd2l0Y2ggPSBnZG1fdXNlcl9tYW5hZ2VyX2Nhbl9zd2l0Y2ggKGFkYXRhLT5tYW5hZ2VyKTsKKy0gICAgICAgIGdfb2JqZWN0X2dldCAoYWRhdGEtPm1hbmFnZXIsCistICAgICAgICAgICAgICAgICAgICAgICJoYXMtbXVsdGlwbGUtdXNlcnMiLCAmaGFzX290aGVyX3VzZXJzLAorLSAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKy0KKy0gICAgICAgIGlmIChjYW5fc3dpdGNoICYmIGhhc19vdGhlcl91c2VycykgeworLSAgICAgICAgICAgICAgICBndGtfd2lkZ2V0X3Nob3cgKGFkYXRhLT5sb2dpbl9zY3JlZW5faXRlbSk7CistICAgICAgICB9IGVsc2UgeworLQorLSAgICAgICAgICAgICAgICBndGtfd2lkZ2V0X2hpZGUgKGFkYXRhLT5sb2dpbl9zY3JlZW5faXRlbSk7CistICAgICAgICB9CistfQorLQorLXN0YXRpYyB2b2lkCistb25fbWFuYWdlcl9pc19sb2FkZWRfY2hhbmdlZCAoR2RtVXNlck1hbmFnZXIgKm1hbmFnZXIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1BhcmFtU3BlYyAgICAgKnBzcGVjLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdkbUFwcGxldERhdGEgICphZGF0YSkKKy17CistICAgICAgICB1cGRhdGVfc3dpdGNoX3VzZXIgKGFkYXRhKTsKKy19CistCistc3RhdGljIHZvaWQKKy1vbl9tYW5hZ2VyX2hhc19tdWx0aXBsZV91c2Vyc19jaGFuZ2VkIChHZG1Vc2VyTWFuYWdlciAgICAgICAqbWFuYWdlciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHUGFyYW1TcGVjICAgICAgICAgICAqcHNwZWMsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2RtQXBwbGV0RGF0YSAgICAgICAgKmFkYXRhKQorLXsKKy0gICAgICAgIHVwZGF0ZV9zd2l0Y2hfdXNlciAoYWRhdGEpOworLX0KKy0KKy0jaWZkZWYgQlVJTERfUFJFU0VOU0VfU1RVRkYKKy1zdGF0aWMgdm9pZAorLW9uX3VzZXJfaXRlbV9hY3RpdmF0ZSAoR3RrTWVudUl0ZW0gICAqaXRlbSwKKy0gICAgICAgICAgICAgICAgICAgICAgIEdkbUFwcGxldERhdGEgKmFkYXRhKQorLXsKKy0gICAgICAgIGdfc2lnbmFsX3N0b3BfZW1pc3Npb25fYnlfbmFtZSAoaXRlbSwgImFjdGl2YXRlIik7CistfQorLSNlbmRpZgorLQorLXN0YXRpYyB2b2lkCistb25fY29udHJvbF9wYW5lbF9hY3RpdmF0ZSAoR3RrTWVudUl0ZW0gICAqaXRlbSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICBHZG1BcHBsZXREYXRhICphZGF0YSkKKy17CistICAgICAgICBjaGFyICAgICAgKmFyZ3NbMl07CistICAgICAgICBHRXJyb3IgICAgKmVycm9yOworLSAgICAgICAgR2RrU2NyZWVuICpzY3JlZW47CistICAgICAgICBnYm9vbGVhbiAgIHJlczsKKy0KKy0gICAgICAgIGFyZ3NbMF0gPSBnX2ZpbmRfcHJvZ3JhbV9pbl9wYXRoICgiZ25vbWUtY29udHJvbC1jZW50ZXIiKTsKKy0gICAgICAgIGlmIChhcmdzWzBdID09IE5VTEwpIHsKKy0gICAgICAgICAgICAgICAgcmV0dXJuOworLSAgICAgICAgfQorLSAgICAgICAgYXJnc1sxXSA9IE5VTEw7CistCistICAgICAgICBpZiAoZ3RrX3dpZGdldF9oYXNfc2NyZWVuIChHVEtfV0lER0VUIChhZGF0YS0+YXBwbGV0KSkpIHsKKy0gICAgICAgICAgICAgICAgc2NyZWVuID0gZ3RrX3dpZGdldF9nZXRfc2NyZWVuIChHVEtfV0lER0VUIChhZGF0YS0+YXBwbGV0KSk7CistICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICBzY3JlZW4gPSBnZGtfc2NyZWVuX2dldF9kZWZhdWx0ICgpOworLSAgICAgICAgfQorLQorLSAgICAgICAgZXJyb3IgPSBOVUxMOworLSAgICAgICAgcmVzID0gZ2RrX3NwYXduX29uX3NjcmVlbiAoc2NyZWVuLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19nZXRfaG9tZV9kaXIgKCksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZXJyb3IpOworLSAgICAgICAgaWYgKCEgcmVzKSB7CistICAgICAgICAgICAgICAgIGdfd2FybmluZyAoXygiQ2FuJ3QgbG9jayBzY3JlZW46ICVzIiksIGVycm9yLT5tZXNzYWdlKTsKKy0gICAgICAgICAgICAgICAgZ19lcnJvcl9mcmVlIChlcnJvcik7CistICAgICAgICB9CistCistICAgICAgICBnX2ZyZWUgKGFyZ3NbMF0pOworLX0KKy0KKy1zdGF0aWMgdm9pZAorLW9uX2FjY291bnRfYWN0aXZhdGUgKEd0a01lbnVJdGVtICAgKml0ZW0sCistICAgICAgICAgICAgICAgICAgICAgR2RtQXBwbGV0RGF0YSAqYWRhdGEpCisteworLSAgICAgICAgY2hhciAgICAgICphcmdzWzJdOworLSAgICAgICAgR0Vycm9yICAgICplcnJvcjsKKy0gICAgICAgIEdka1NjcmVlbiAqc2NyZWVuOworLSAgICAgICAgZ2Jvb2xlYW4gICByZXM7CistCistICAgICAgICBhcmdzWzBdID0gZ19maW5kX3Byb2dyYW1faW5fcGF0aCAoImFjY291bnRzLWRpYWxvZyIpOworLSAgICAgICAgaWYgKGFyZ3NbMF0gPT0gTlVMTCkgeworLSAgICAgICAgICAgICAgICBhcmdzWzBdID0gZ19maW5kX3Byb2dyYW1faW5fcGF0aCAoImdub21lLWFib3V0LW1lIik7CistICAgICAgICAgICAgICAgIGlmIChhcmdzWzBdID09IE5VTEwpIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CistICAgICAgICAgICAgICAgIH0KKy0gICAgICAgIH0KKy0gICAgICAgIGFyZ3NbMV0gPSBOVUxMOworLQorLSAgICAgICAgaWYgKGd0a193aWRnZXRfaGFzX3NjcmVlbiAoR1RLX1dJREdFVCAoYWRhdGEtPmFwcGxldCkpKSB7CistICAgICAgICAgICAgICAgIHNjcmVlbiA9IGd0a193aWRnZXRfZ2V0X3NjcmVlbiAoR1RLX1dJREdFVCAoYWRhdGEtPmFwcGxldCkpOworLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgc2NyZWVuID0gZ2RrX3NjcmVlbl9nZXRfZGVmYXVsdCAoKTsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIGVycm9yID0gTlVMTDsKKy0gICAgICAgIHJlcyA9IGdka19zcGF3bl9vbl9zY3JlZW4gKHNjcmVlbiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfZ2V0X2hvbWVfZGlyICgpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmVycm9yKTsKKy0gICAgICAgIGlmICghIHJlcykgeworLSAgICAgICAgICAgICAgICBnX3dhcm5pbmcgKF8oIkNhbid0IGxvY2sgc2NyZWVuOiAlcyIpLCBlcnJvci0+bWVzc2FnZSk7CistICAgICAgICAgICAgICAgIGdfZXJyb3JfZnJlZSAoZXJyb3IpOworLSAgICAgICAgfQorLQorLSAgICAgICAgZ19mcmVlIChhcmdzWzBdKTsKKy19CistCistc3RhdGljIHZvaWQKKy1vbl9sb2NrX3NjcmVlbl9hY3RpdmF0ZSAoR3RrTWVudUl0ZW0gICAqaXRlbSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgR2RtQXBwbGV0RGF0YSAqYWRhdGEpCisteworLSAgICAgICAgbWF5YmVfbG9ja19zY3JlZW4gKGFkYXRhKTsKKy19CistCistc3RhdGljIHZvaWQKKy1vbl9sb2dpbl9zY3JlZW5fYWN0aXZhdGUgKEd0a01lbnVJdGVtICAgKml0ZW0sCistICAgICAgICAgICAgICAgICAgICAgICAgICBHZG1BcHBsZXREYXRhICphZGF0YSkKKy17CistICAgICAgICBHZG1Vc2VyICp1c2VyOworLQorLSAgICAgICAgdXNlciA9IE5VTEw7CistCistICAgICAgICBkb19zd2l0Y2ggKGFkYXRhLCB1c2VyKTsKKy19CistCistc3RhdGljIHZvaWQKKy1vbl9xdWl0X3Nlc3Npb25fYWN0aXZhdGUgKEd0a01lbnVJdGVtICAgKml0ZW0sCistICAgICAgICAgICAgICAgICAgICAgICAgICBHZG1BcHBsZXREYXRhICphZGF0YSkKKy17CistICAgICAgICBjaGFyICAgICAgKmFyZ3NbM107CistICAgICAgICBHRXJyb3IgICAgKmVycm9yOworLSAgICAgICAgR2RrU2NyZWVuICpzY3JlZW47CistICAgICAgICBnYm9vbGVhbiAgIHJlczsKKy0KKy0gICAgICAgIGFyZ3NbMF0gPSBnX2ZpbmRfcHJvZ3JhbV9pbl9wYXRoICgiZ25vbWUtc2Vzc2lvbi1zYXZlIik7CistICAgICAgICBpZiAoYXJnc1swXSA9PSBOVUxMKSB7CistICAgICAgICAgICAgICAgIHJldHVybjsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIGFyZ3NbMV0gPSAiLS1sb2dvdXQtZGlhbG9nIjsKKy0gICAgICAgIGFyZ3NbMl0gPSBOVUxMOworLQorLSAgICAgICAgaWYgKGd0a193aWRnZXRfaGFzX3NjcmVlbiAoR1RLX1dJREdFVCAoYWRhdGEtPmFwcGxldCkpKSB7CistICAgICAgICAgICAgICAgIHNjcmVlbiA9IGd0a193aWRnZXRfZ2V0X3NjcmVlbiAoR1RLX1dJREdFVCAoYWRhdGEtPmFwcGxldCkpOworLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgc2NyZWVuID0gZ2RrX3NjcmVlbl9nZXRfZGVmYXVsdCAoKTsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIGVycm9yID0gTlVMTDsKKy0gICAgICAgIHJlcyA9IGdka19zcGF3bl9vbl9zY3JlZW4gKHNjcmVlbiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfZ2V0X2hvbWVfZGlyICgpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmVycm9yKTsKKy0gICAgICAgIGlmICghIHJlcykgeworLSAgICAgICAgICAgICAgICBnX3dhcm5pbmcgKF8oIkNhbid0IGxvZyBvdXQ6ICVzIiksIGVycm9yLT5tZXNzYWdlKTsKKy0gICAgICAgICAgICAgICAgZ19lcnJvcl9mcmVlIChlcnJvcik7CistICAgICAgICB9CistCistICAgICAgICBnX2ZyZWUgKGFyZ3NbMF0pOworLX0KKy0KKy0jaWZkZWYgQlVJTERfUFJFU0VOU0VfU1RVRkYKKy1zdGF0aWMgZ2Jvb2xlYW4KKy1vbl9tZW51X2tleV9wcmVzc19ldmVudCAoR3RrV2lkZ2V0ICAgICAqd2lkZ2V0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICBHZGtFdmVudEtleSAgICpldmVudCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgR2RtQXBwbGV0RGF0YSAqYWRhdGEpCisteworLSAgICAgICAgR3RrV2lkZ2V0ICplbnRyeTsKKy0KKy0gICAgICAgIGVudHJ5ID0gZ2RtX2VudHJ5X21lbnVfaXRlbV9nZXRfZW50cnkgKEdETV9FTlRSWV9NRU5VX0lURU0gKGFkYXRhLT51c2VyX2l0ZW0pKTsKKy0KKy0gICAgICAgIGlmIChHVEtfV0lER0VUX0hBU19GT0NVUyAoZW50cnkpKSB7CistICAgICAgICAgICAgICAgIGd0a193aWRnZXRfZXZlbnQgKGVudHJ5LCAoR2RrRXZlbnQgKilldmVudCk7CistICAgICAgICAgICAgICAgIHJldHVybiBUUlVFOworLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgcmV0dXJuIEZBTFNFOworLSAgICAgICAgfQorLX0KKy0KKy1zdGF0aWMgdm9pZAorLXNhdmVfc3RhdHVzIChHZG1BcHBsZXREYXRhICphZGF0YSwKKy0gICAgICAgICAgICAgZ3VpbnQgICAgICAgICAgc3RhdHVzKQorLXsKKy0gICAgICAgIGlmIChhZGF0YS0+Y3VycmVudF9zdGF0dXMgIT0gc3RhdHVzKSB7CistICAgICAgICAgICAgICAgIEdFcnJvciAqZXJyb3I7CistCistICAgICAgICAgICAgICAgIGFkYXRhLT5jdXJyZW50X3N0YXR1cyA9IHN0YXR1czsKKy0KKy0gICAgICAgICAgICAgICAgZ19kZWJ1ZyAoIlNhdmluZyBzdGF0dXM6ICV1Iiwgc3RhdHVzKTsKKy0gICAgICAgICAgICAgICAgZXJyb3IgPSBOVUxMOworLSAgICAgICAgICAgICAgICBkYnVzX2dfcHJveHlfY2FsbCAoYWRhdGEtPnByZXNlbmNlX3Byb3h5LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNldFN0YXR1cyIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZXJyb3IsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1RZUEVfVUlOVCwgc3RhdHVzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19UWVBFX0lOVkFMSUQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1RZUEVfSU5WQUxJRCk7CistCistICAgICAgICAgICAgICAgIGlmIChlcnJvciAhPSBOVUxMKSB7CistICAgICAgICAgICAgICAgICAgICAgICAgZ193YXJuaW5nICgiQ291bGRuJ3Qgc2F2ZSBwcmVzZW5jZSBzdGF0dXM6ICVzIiwgZXJyb3ItPm1lc3NhZ2UpOworLSAgICAgICAgICAgICAgICAgICAgICAgIGdfZXJyb3JfZnJlZSAoZXJyb3IpOworLSAgICAgICAgICAgICAgICB9CistICAgICAgICB9CistfQorLQorLXN0YXRpYyB2b2lkCistb25fc3RhdHVzX2F2YWlsYWJsZV9hY3RpdmF0ZSAoR3RrV2lkZ2V0ICAgICAqd2lkZ2V0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdkbUFwcGxldERhdGEgKmFkYXRhKQorLXsKKy0KKy0gICAgICAgIGlmIChndGtfY2hlY2tfbWVudV9pdGVtX2dldF9hY3RpdmUgKEdUS19DSEVDS19NRU5VX0lURU0gKHdpZGdldCkpKSB7CistICAgICAgICAgICAgICAgIHNhdmVfc3RhdHVzIChhZGF0YSwgR1NNX1BSRVNFTkNFX1NUQVRVU19BVkFJTEFCTEUpOworLSAgICAgICAgfQorLX0KKy0KKy1zdGF0aWMgdm9pZAorLW9uX3N0YXR1c19idXN5X2FjdGl2YXRlIChHdGtXaWRnZXQgICAgICp3aWRnZXQsCistICAgICAgICAgICAgICAgICAgICAgICAgIEdkbUFwcGxldERhdGEgKmFkYXRhKQorLXsKKy0gICAgICAgICBpZiAoZ3RrX2NoZWNrX21lbnVfaXRlbV9nZXRfYWN0aXZlIChHVEtfQ0hFQ0tfTUVOVV9JVEVNICh3aWRnZXQpKSkgeworLSAgICAgICAgICAgICAgICAgc2F2ZV9zdGF0dXMgKGFkYXRhLCBHU01fUFJFU0VOQ0VfU1RBVFVTX0JVU1kpOworLSAgICAgICAgIH0KKy19CistCistc3RhdGljIHZvaWQKKy1vbl9zdGF0dXNfaW52aXNpYmxlX2FjdGl2YXRlIChHdGtXaWRnZXQgICAgICp3aWRnZXQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2RtQXBwbGV0RGF0YSAqYWRhdGEpCisteworLSAgICAgICAgIGlmIChndGtfY2hlY2tfbWVudV9pdGVtX2dldF9hY3RpdmUgKEdUS19DSEVDS19NRU5VX0lURU0gKHdpZGdldCkpKSB7CistICAgICAgICAgICAgICAgICBzYXZlX3N0YXR1cyAoYWRhdGEsIEdTTV9QUkVTRU5DRV9TVEFUVVNfSU5WSVNJQkxFKTsKKy0gICAgICAgICB9CistfQorLQorLXN0YXRpYyBzdHJ1Y3QgeworLSAgICAgICAgY2hhciAgICAgICppY29uX25hbWU7CistICAgICAgICBjaGFyICAgICAgKmRpc3BsYXlfbmFtZTsKKy0gICAgICAgIHZvaWQgICAgICAqbWVudV9jYWxsYmFjazsKKy0gICAgICAgIEd0a1dpZGdldCAqd2lkZ2V0OworLX0gc3RhdHVzZXNbXSA9IHsKKy0gICAgICAgIHsgInVzZXItb25saW5lIiwgTl8oIkF2YWlsYWJsZSIpLCBvbl9zdGF0dXNfYXZhaWxhYmxlX2FjdGl2YXRlLCBOVUxMIH0sCistICAgICAgICB7ICJ1c2VyLWludmlzaWJsZSIsIE5fKCJJbnZpc2libGUiKSwgb25fc3RhdHVzX2ludmlzaWJsZV9hY3RpdmF0ZSwgTlVMTCB9LAorLSAgICAgICAgeyAidXNlci1idXN5IiwgTl8oIkJ1c3kiKSwgb25fc3RhdHVzX2J1c3lfYWN0aXZhdGUsIE5VTEwgfSwKKy0gICAgICAgIHsgInVzZXItYXdheSIsIE5fKCJBd2F5IiksIE5VTEwsIE5VTEwgfSwKKy19OworLSNlbmRpZgorLQorLXN0YXRpYyB2b2lkCistdXBkYXRlX2xhYmVsIChHZG1BcHBsZXREYXRhICphZGF0YSkKKy17CistICAgICAgICBHdGtXaWRnZXQgKmxhYmVsOworLSAgICAgICAgY2hhciAgICAgICptYXJrdXA7CistCistICAgICAgICBsYWJlbCA9IGd0a19iaW5fZ2V0X2NoaWxkIChHVEtfQklOIChhZGF0YS0+bWVudWl0ZW0pKTsKKy0KKy0jaWZkZWYgQlVJTERfUFJFU0VOU0VfU1RVRkYKKy0gICAgICAgIG1hcmt1cCA9IGdfc3RyZHVwX3ByaW50ZiAoIjxiPiVzPC9iPiA8c21hbGw+KCVzKTwvc21hbGw+IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2RtX3VzZXJfZ2V0X3JlYWxfbmFtZSAoR0RNX1VTRVIgKGFkYXRhLT51c2VyKSksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8oc3RhdHVzZXNbYWRhdGEtPmN1cnJlbnRfc3RhdHVzXS5kaXNwbGF5X25hbWUpKTsKKy0jZWxzZQorLSAgICAgICAgbWFya3VwID0gZ19zdHJkdXBfcHJpbnRmICgiPGI+JXM8L2I+IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2RtX3VzZXJfZ2V0X3JlYWxfbmFtZSAoR0RNX1VTRVIgKGFkYXRhLT51c2VyKSkpOworLSNlbmRpZgorLSAgICAgICAgZ3RrX2xhYmVsX3NldF9tYXJrdXAgKEdUS19MQUJFTCAobGFiZWwpLCBtYXJrdXApOworLSAgICAgICAgZ19mcmVlIChtYXJrdXApOworLX0KKy0KKy0jaWZkZWYgQlVJTERfUFJFU0VOU0VfU1RVRkYKKy1zdGF0aWMgdm9pZAorLXNhdmVfc3RhdHVzX3RleHQgKEdkbUFwcGxldERhdGEgKmFkYXRhKQorLXsKKy0gICAgICAgIEd0a1dpZGdldCAgICAgKmVudHJ5OworLSAgICAgICAgR3RrVGV4dEJ1ZmZlciAqYnVmZmVyOworLSAgICAgICAgY2hhciAgICAgICAgICAqZXNjYXBlZF90ZXh0OworLSAgICAgICAgY2hhciAgICAgICAgICAqdGV4dDsKKy0gICAgICAgIEd0a1RleHRJdGVyICAgIHN0YXJ0LCBlbmQ7CistCistICAgICAgICBlbnRyeSA9IGdkbV9lbnRyeV9tZW51X2l0ZW1fZ2V0X2VudHJ5IChHRE1fRU5UUllfTUVOVV9JVEVNIChhZGF0YS0+dXNlcl9pdGVtKSk7CistICAgICAgICBidWZmZXIgPSBndGtfdGV4dF92aWV3X2dldF9idWZmZXIgKEdUS19URVhUX1ZJRVcgKGVudHJ5KSk7CistICAgICAgICBndGtfdGV4dF9idWZmZXJfZ2V0X2JvdW5kcyAoYnVmZmVyLCAmc3RhcnQsICZlbmQpOworLSAgICAgICAgdGV4dCA9IGd0a190ZXh0X2J1ZmZlcl9nZXRfdGV4dCAoYnVmZmVyLCAmc3RhcnQsICZlbmQsIEZBTFNFKTsKKy0gICAgICAgIGVzY2FwZWRfdGV4dCA9IGdfbWFya3VwX2VzY2FwZV90ZXh0ICh0ZXh0LCAtMSk7CistCistICAgICAgICBpZiAoZXNjYXBlZF90ZXh0ICE9IE5VTEwpIHsKKy0gICAgICAgICAgICAgICAgR0Vycm9yICplcnJvcjsKKy0KKy0gICAgICAgICAgICAgICAgZXJyb3IgPSBOVUxMOworLSAgICAgICAgICAgICAgICBkYnVzX2dfcHJveHlfY2FsbCAoYWRhdGEtPnByZXNlbmNlX3Byb3h5LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNldFN0YXR1c1RleHQiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmVycm9yLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19UWVBFX1NUUklORywgZXNjYXBlZF90ZXh0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19UWVBFX0lOVkFMSUQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1RZUEVfSU5WQUxJRCk7CistCistICAgICAgICAgICAgICAgIGlmIChlcnJvciAhPSBOVUxMKSB7CistICAgICAgICAgICAgICAgICAgICAgICAgZ193YXJuaW5nICgiQ291bGRuJ3Qgc2V0IHByZXNlbmNlIHN0YXR1cyB0ZXh0OiAlcyIsIGVycm9yLT5tZXNzYWdlKTsKKy0gICAgICAgICAgICAgICAgICAgICAgICBnX2Vycm9yX2ZyZWUgKGVycm9yKTsKKy0gICAgICAgICAgICAgICAgfQorLSAgICAgICAgfQorLQorLSAgICAgICAgZ19mcmVlICh0ZXh0KTsKKy0gICAgICAgIGdfZnJlZSAoZXNjYXBlZF90ZXh0KTsKKy19CistCistc3RhdGljIHZvaWQKKy1vbl91c2VyX2l0ZW1fZGVzZWxlY3QgKEd0a1dpZGdldCAgICAgKml0ZW0sCistICAgICAgICAgICAgICAgICAgICAgICBHZG1BcHBsZXREYXRhICphZGF0YSkKKy17CistICAgICAgICBzYXZlX3N0YXR1c190ZXh0IChhZGF0YSk7CistfQorLSNlbmRpZgorLQorLXN0YXRpYyB2b2lkCistY3JlYXRlX3N1Yl9tZW51IChHZG1BcHBsZXREYXRhICphZGF0YSkKKy17CistICAgICAgICBHdGtXaWRnZXQgKml0ZW07CistI2lmZGVmIEJVSUxEX1BSRVNFTlNFX1NUVUZGCistICAgICAgICBpbnQgICAgICAgIGk7CistICAgICAgICBHU0xpc3QgICAgKnJhZGlvX2dyb3VwOworLSNlbmRpZgorLQorLSAgICAgICAgYWRhdGEtPm1lbnUgPSBndGtfbWVudV9uZXcgKCk7CistI2lmZGVmIEJVSUxEX1BSRVNFTlNFX1NUVUZGCistICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChhZGF0YS0+bWVudSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICJrZXktcHJlc3MtZXZlbnQiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAob25fbWVudV9rZXlfcHJlc3NfZXZlbnQpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgYWRhdGEpOworLSNlbmRpZgorLSAgICAgICAgZ3RrX21lbnVfaXRlbV9zZXRfc3VibWVudSAoR1RLX01FTlVfSVRFTSAoYWRhdGEtPm1lbnVpdGVtKSwgYWRhdGEtPm1lbnUpOworLSAgICAgICAgZ19zaWduYWxfY29ubmVjdCAoYWRhdGEtPm1lbnUsICJzdHlsZS1zZXQiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAobWVudV9zdHlsZV9zZXRfY2IpLCBhZGF0YSk7CistICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChhZGF0YS0+bWVudSwgInNob3ciLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAobWVudV9leHBvc2VfY2IpLCBhZGF0YSk7CistCistI2lmZGVmIEJVSUxEX1BSRVNFTlNFX1NUVUZGCistICAgICAgICBhZGF0YS0+dXNlcl9pdGVtID0gZ2RtX2VudHJ5X21lbnVfaXRlbV9uZXcgKCk7CistICAgICAgICBndGtfbWVudV9zaGVsbF9hcHBlbmQgKEdUS19NRU5VX1NIRUxMIChhZGF0YS0+bWVudSksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkYXRhLT51c2VyX2l0ZW0pOworLSAgICAgICAgZ3RrX3dpZGdldF9zaG93IChhZGF0YS0+dXNlcl9pdGVtKTsKKy0gICAgICAgIGdfc2lnbmFsX2Nvbm5lY3QgKGFkYXRhLT51c2VyX2l0ZW0sICJhY3RpdmF0ZSIsCistICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChvbl91c2VyX2l0ZW1fYWN0aXZhdGUpLCBhZGF0YSk7CistICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChhZGF0YS0+dXNlcl9pdGVtLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgImRlc2VsZWN0IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKG9uX3VzZXJfaXRlbV9kZXNlbGVjdCksCistICAgICAgICAgICAgICAgICAgICAgICAgICBhZGF0YSk7CistCistICAgICAgICBpdGVtID0gZ3RrX3NlcGFyYXRvcl9tZW51X2l0ZW1fbmV3ICgpOworLSAgICAgICAgZ3RrX21lbnVfc2hlbGxfYXBwZW5kIChHVEtfTUVOVV9TSEVMTCAoYWRhdGEtPm1lbnUpLCBpdGVtKTsKKy0gICAgICAgIGd0a193aWRnZXRfc2hvdyAoaXRlbSk7CistCistICAgICAgICByYWRpb19ncm91cCA9IE5VTEw7CistICAgICAgICBmb3IgKGkgPSAwOyBpIDwgR19OX0VMRU1FTlRTIChzdGF0dXNlcyk7IGkrKykgeworLSAgICAgICAgICAgICAgICBHdGtXaWRnZXQgKmhib3g7CistICAgICAgICAgICAgICAgIEd0a1dpZGdldCAqbGFiZWw7CistICAgICAgICAgICAgICAgIEd0a1dpZGdldCAqaW1hZ2U7CistICAgICAgICAgICAgICAgIEd0a1dpZGdldCAqaXRlbTsKKy0KKy0gICAgICAgICAgICAgICAgaWYgKHN0YXR1c2VzW2ldLm1lbnVfY2FsbGJhY2sgPT0gTlVMTCkgeworLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworLSAgICAgICAgICAgICAgICB9CistCistICAgICAgICAgICAgICAgIGl0ZW0gPSBndGtfcmFkaW9fbWVudV9pdGVtX25ldyAocmFkaW9fZ3JvdXApOworLSAgICAgICAgICAgICAgICByYWRpb19ncm91cCA9IGd0a19yYWRpb19tZW51X2l0ZW1fZ2V0X2dyb3VwIChHVEtfUkFESU9fTUVOVV9JVEVNIChpdGVtKSk7CistICAgICAgICAgICAgICAgIGhib3ggPSBndGtfaGJveF9uZXcgKEZBTFNFLCAzKTsKKy0gICAgICAgICAgICAgICAgbGFiZWwgPSBndGtfbGFiZWxfbmV3IChfKHN0YXR1c2VzW2ldLmRpc3BsYXlfbmFtZSkpOworLSAgICAgICAgICAgICAgICBndGtfbGFiZWxfc2V0X2p1c3RpZnkgKEdUS19MQUJFTChsYWJlbCksIEdUS19KVVNUSUZZX0xFRlQpOworLSAgICAgICAgICAgICAgICBndGtfbWlzY19zZXRfYWxpZ25tZW50IChHVEtfTUlTQyAobGFiZWwpLCAwLjAsIDAuNSk7CistICAgICAgICAgICAgICAgIGd0a19ib3hfcGFja19zdGFydCAoR1RLX0JPWCAoaGJveCksIGxhYmVsLCBUUlVFLCBUUlVFLCAwKTsKKy0gICAgICAgICAgICAgICAgZ3RrX3dpZGdldF9zaG93IChsYWJlbCk7CistICAgICAgICAgICAgICAgIGltYWdlID0gZ3RrX2ltYWdlX25ld19mcm9tX2ljb25fbmFtZSAoc3RhdHVzZXNbaV0uaWNvbl9uYW1lLCBHVEtfSUNPTl9TSVpFX01FTlUpOworLSAgICAgICAgICAgICAgICBndGtfYm94X3BhY2tfc3RhcnQgKEdUS19CT1ggKGhib3gpLCBpbWFnZSwgRkFMU0UsIFRSVUUsIDApOworLSAgICAgICAgICAgICAgICBndGtfd2lkZ2V0X3Nob3cgKGltYWdlKTsKKy0gICAgICAgICAgICAgICAgZ3RrX3dpZGdldF9zaG93IChoYm94KTsKKy0gICAgICAgICAgICAgICAgZ3RrX2NvbnRhaW5lcl9hZGQgKEdUS19DT05UQUlORVIgKGl0ZW0pLCBoYm94KTsKKy0KKy0gICAgICAgICAgICAgICAgZ3RrX21lbnVfc2hlbGxfYXBwZW5kIChHVEtfTUVOVV9TSEVMTCAoYWRhdGEtPm1lbnUpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0pOworLSAgICAgICAgICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChpdGVtLCAiYWN0aXZhdGUiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChzdGF0dXNlc1tpXS5tZW51X2NhbGxiYWNrKSwgYWRhdGEpOworLSAgICAgICAgICAgICAgICBndGtfd2lkZ2V0X3Nob3cgKGl0ZW0pOworLQorLSAgICAgICAgICAgICAgICBzdGF0dXNlc1tpXS53aWRnZXQgPSBpdGVtOworLSAgICAgICAgfQorLQorLSAgICAgICAgaXRlbSA9IGd0a19zZXBhcmF0b3JfbWVudV9pdGVtX25ldyAoKTsKKy0gICAgICAgIGd0a19tZW51X3NoZWxsX2FwcGVuZCAoR1RLX01FTlVfU0hFTEwgKGFkYXRhLT5tZW51KSwgaXRlbSk7CistICAgICAgICBndGtfd2lkZ2V0X3Nob3cgKGl0ZW0pOworLSNlbmRpZgorLQorLSAgICAgICAgYWRhdGEtPmFjY291bnRfaXRlbSA9IGd0a19pbWFnZV9tZW51X2l0ZW1fbmV3X3dpdGhfbGFiZWwgKF8oIkFjY291bnQgSW5mb3JtYXRpb24iKSk7CistICAgICAgICBndGtfaW1hZ2VfbWVudV9pdGVtX3NldF9pbWFnZSAoR1RLX0lNQUdFX01FTlVfSVRFTSAoYWRhdGEtPmFjY291bnRfaXRlbSksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3RrX2ltYWdlX25ldyAoKSk7CistICAgICAgICBndGtfbWVudV9zaGVsbF9hcHBlbmQgKEdUS19NRU5VX1NIRUxMIChhZGF0YS0+bWVudSksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkYXRhLT5hY2NvdW50X2l0ZW0pOworLSAgICAgICAgZ19zaWduYWxfY29ubmVjdCAoYWRhdGEtPmFjY291bnRfaXRlbSwgInN0eWxlLXNldCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChtZW51aXRlbV9zdHlsZV9zZXRfY2IpLCBhZGF0YSk7CistICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChhZGF0YS0+YWNjb3VudF9pdGVtLCAiYWN0aXZhdGUiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAob25fYWNjb3VudF9hY3RpdmF0ZSksIGFkYXRhKTsKKy0gICAgICAgIGd0a193aWRnZXRfc2hvdyAoYWRhdGEtPmFjY291bnRfaXRlbSk7CistCistCistICAgICAgICBhZGF0YS0+Y29udHJvbF9wYW5lbF9pdGVtID0gZ3RrX2ltYWdlX21lbnVfaXRlbV9uZXdfd2l0aF9sYWJlbCAoXygiU3lzdGVtIFByZWZlcmVuY2VzIikpOworLSAgICAgICAgZ3RrX2ltYWdlX21lbnVfaXRlbV9zZXRfaW1hZ2UgKEdUS19JTUFHRV9NRU5VX0lURU0gKGFkYXRhLT5jb250cm9sX3BhbmVsX2l0ZW0pLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd0a19pbWFnZV9uZXcgKCkpOworLSAgICAgICAgZ3RrX21lbnVfc2hlbGxfYXBwZW5kIChHVEtfTUVOVV9TSEVMTCAoYWRhdGEtPm1lbnUpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGF0YS0+Y29udHJvbF9wYW5lbF9pdGVtKTsKKy0gICAgICAgIGdfc2lnbmFsX2Nvbm5lY3QgKGFkYXRhLT5jb250cm9sX3BhbmVsX2l0ZW0sICJzdHlsZS1zZXQiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAobWVudWl0ZW1fc3R5bGVfc2V0X2NiKSwgYWRhdGEpOworLSAgICAgICAgZ19zaWduYWxfY29ubmVjdCAoYWRhdGEtPmNvbnRyb2xfcGFuZWxfaXRlbSwgImFjdGl2YXRlIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKG9uX2NvbnRyb2xfcGFuZWxfYWN0aXZhdGUpLCBhZGF0YSk7CistCistICAgICAgICBpdGVtID0gZ3RrX3NlcGFyYXRvcl9tZW51X2l0ZW1fbmV3ICgpOworLSAgICAgICAgZ3RrX21lbnVfc2hlbGxfYXBwZW5kIChHVEtfTUVOVV9TSEVMTCAoYWRhdGEtPm1lbnUpLCBpdGVtKTsKKy0gICAgICAgIGd0a193aWRnZXRfc2hvdyAoaXRlbSk7CistCistICAgICAgICBhZGF0YS0+bG9ja19zY3JlZW5faXRlbSA9IGd0a19pbWFnZV9tZW51X2l0ZW1fbmV3X3dpdGhfbGFiZWwgKF8oIkxvY2sgU2NyZWVuIikpOworLSAgICAgICAgZ3RrX2ltYWdlX21lbnVfaXRlbV9zZXRfaW1hZ2UgKEdUS19JTUFHRV9NRU5VX0lURU0gKGFkYXRhLT5sb2NrX3NjcmVlbl9pdGVtKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndGtfaW1hZ2VfbmV3ICgpKTsKKy0gICAgICAgIGd0a19tZW51X3NoZWxsX2FwcGVuZCAoR1RLX01FTlVfU0hFTEwgKGFkYXRhLT5tZW51KSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRhdGEtPmxvY2tfc2NyZWVuX2l0ZW0pOworLSAgICAgICAgZ19zaWduYWxfY29ubmVjdCAoYWRhdGEtPmxvY2tfc2NyZWVuX2l0ZW0sICJzdHlsZS1zZXQiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAobWVudWl0ZW1fc3R5bGVfc2V0X2NiKSwgYWRhdGEpOworLSAgICAgICAgZ19zaWduYWxfY29ubmVjdCAoYWRhdGEtPmxvY2tfc2NyZWVuX2l0ZW0sICJhY3RpdmF0ZSIsCistICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChvbl9sb2NrX3NjcmVlbl9hY3RpdmF0ZSksIGFkYXRhKTsKKy0gICAgICAgIC8qIE9ubHkgc2hvdyBpZiBub3QgbG9ja2VkIGRvd24gKi8KKy0KKy0gICAgICAgIGFkYXRhLT5sb2dpbl9zY3JlZW5faXRlbSA9IGd0a19pbWFnZV9tZW51X2l0ZW1fbmV3X3dpdGhfbGFiZWwgKF8oIlN3aXRjaCBVc2VyIikpOworLSAgICAgICAgZ3RrX2ltYWdlX21lbnVfaXRlbV9zZXRfaW1hZ2UgKEdUS19JTUFHRV9NRU5VX0lURU0gKGFkYXRhLT5sb2dpbl9zY3JlZW5faXRlbSksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3RrX2ltYWdlX25ldyAoKSk7CistICAgICAgICBndGtfbWVudV9zaGVsbF9hcHBlbmQgKEdUS19NRU5VX1NIRUxMIChhZGF0YS0+bWVudSksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkYXRhLT5sb2dpbl9zY3JlZW5faXRlbSk7CistICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChhZGF0YS0+bG9naW5fc2NyZWVuX2l0ZW0sICJzdHlsZS1zZXQiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAobWVudWl0ZW1fc3R5bGVfc2V0X2NiKSwgYWRhdGEpOworLSAgICAgICAgZ19zaWduYWxfY29ubmVjdCAoYWRhdGEtPmxvZ2luX3NjcmVlbl9pdGVtLCAiYWN0aXZhdGUiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAob25fbG9naW5fc2NyZWVuX2FjdGl2YXRlKSwgYWRhdGEpOworLSAgICAgICAgLyogT25seSBzaG93IHN3aXRjaCB1c2VyIGlmIHRoZXJlIGFyZSBvdGhlciB1c2VycyAqLworLQorLSAgICAgICAgYWRhdGEtPnF1aXRfc2Vzc2lvbl9pdGVtID0gZ3RrX2ltYWdlX21lbnVfaXRlbV9uZXdfd2l0aF9sYWJlbCAoXygiUXVpdOKApiIpKTsKKy0gICAgICAgIGd0a19pbWFnZV9tZW51X2l0ZW1fc2V0X2ltYWdlIChHVEtfSU1BR0VfTUVOVV9JVEVNIChhZGF0YS0+cXVpdF9zZXNzaW9uX2l0ZW0pLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd0a19pbWFnZV9uZXcgKCkpOworLSAgICAgICAgZ3RrX21lbnVfc2hlbGxfYXBwZW5kIChHVEtfTUVOVV9TSEVMTCAoYWRhdGEtPm1lbnUpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGF0YS0+cXVpdF9zZXNzaW9uX2l0ZW0pOworLSAgICAgICAgZ19zaWduYWxfY29ubmVjdCAoYWRhdGEtPnF1aXRfc2Vzc2lvbl9pdGVtLCAic3R5bGUtc2V0IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKG1lbnVpdGVtX3N0eWxlX3NldF9jYiksIGFkYXRhKTsKKy0gICAgICAgIGdfc2lnbmFsX2Nvbm5lY3QgKGFkYXRhLT5xdWl0X3Nlc3Npb25faXRlbSwgImFjdGl2YXRlIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKG9uX3F1aXRfc2Vzc2lvbl9hY3RpdmF0ZSksIGFkYXRhKTsKKy0gICAgICAgIGd0a193aWRnZXRfc2hvdyAoYWRhdGEtPnF1aXRfc2Vzc2lvbl9pdGVtKTsKKy0gICAgICAgIGd0a193aWRnZXRfc2hvdyAoYWRhdGEtPm1lbnUpOworLX0KKy0KKy1zdGF0aWMgdm9pZAorLWRlc3Ryb3lfc3ViX21lbnUgKEdkbUFwcGxldERhdGEgKmFkYXRhKQorLXsKKy0gICAgICAgIGd0a19tZW51X2l0ZW1fc2V0X3N1Ym1lbnUgKEdUS19NRU5VX0lURU0gKGFkYXRhLT5tZW51aXRlbSksIE5VTEwpOworLX0KKy0KKy1zdGF0aWMgdm9pZAorLXNldF9tZW51X3Zpc2liaWxpdHkgKEdkbUFwcGxldERhdGEgKmFkYXRhLAorLSAgICAgICAgICAgICAgICAgICAgIGdib29sZWFuICAgICAgIHZpc2libGUpCisteworLQorLSAgICAgICAgaWYgKHZpc2libGUpIHsKKy0gICAgICAgICAgICAgICAgY3JlYXRlX3N1Yl9tZW51IChhZGF0YSk7CistICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICBkZXN0cm95X3N1Yl9tZW51IChhZGF0YSk7CistICAgICAgICB9CistfQorLQorLXN0YXRpYyB2b2lkCistY2xpZW50X25vdGlmeV9sb2NrZG93bl9mdW5jIChHQ29uZkNsaWVudCAgICpjbGllbnQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndWludCAgICAgICAgICBjbnhuX2lkLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0NvbmZFbnRyeSAgICAqZW50cnksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZG1BcHBsZXREYXRhICphZGF0YSkKKy17CistICAgICAgICBHQ29uZlZhbHVlICp2YWx1ZTsKKy0gICAgICAgIGNvbnN0IGNoYXIgKmtleTsKKy0KKy0gICAgICAgIHZhbHVlID0gZ2NvbmZfZW50cnlfZ2V0X3ZhbHVlIChlbnRyeSk7CistICAgICAgICBrZXkgPSBnY29uZl9lbnRyeV9nZXRfa2V5IChlbnRyeSk7CistCistICAgICAgICBpZiAodmFsdWUgPT0gTlVMTCB8fCBrZXkgPT0gTlVMTCkgeworLSAgICAgICAgICAgICAgICByZXR1cm47CistICAgICAgICB9CistCistICAgICAgICBpZiAoc3RyY21wIChrZXksIExPQ0tET1dOX1VTRVJfU1dJVENISU5HX0tFWSkgPT0gMCkgeworLSAgICAgICAgICAgICAgICBpZiAoZ2NvbmZfdmFsdWVfZ2V0X2Jvb2wgKHZhbHVlKSkgeworLSAgICAgICAgICAgICAgICAgICAgICAgIHNldF9tZW51X3Zpc2liaWxpdHkgKGFkYXRhLCBGQUxTRSk7CistICAgICAgICAgICAgICAgIH0gZWxzZSB7CistICAgICAgICAgICAgICAgICAgICAgICAgc2V0X21lbnVfdmlzaWJpbGl0eSAoYWRhdGEsIFRSVUUpOworLSAgICAgICAgICAgICAgICB9CistICAgICAgICB9IGVsc2UgaWYgKHN0cmNtcCAoa2V5LCBMT0NLRE9XTl9MT0NLX1NDUkVFTl9LRVkpID09IDApIHsKKy0gICAgICAgICAgICAgICAgaWYgKGdjb25mX3ZhbHVlX2dldF9ib29sICh2YWx1ZSkpIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICBndGtfd2lkZ2V0X2hpZGUgKGFkYXRhLT5sb2NrX3NjcmVlbl9pdGVtKTsKKy0gICAgICAgICAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICBndGtfd2lkZ2V0X3Nob3cgKGFkYXRhLT5sb2NrX3NjcmVlbl9pdGVtKTsKKy0gICAgICAgICAgICAgICAgfQorLSAgICAgICAgfQorLX0KKy0KKy1zdGF0aWMgdm9pZAorLXJlc2V0X2ljb24gKEdkbUFwcGxldERhdGEgKmFkYXRhKQorLXsKKy0gICAgICAgIEdka1BpeGJ1ZiAqcGl4YnVmOworLSAgICAgICAgR3RrV2lkZ2V0ICppbWFnZTsKKy0KKy0gICAgICAgIGlmIChhZGF0YS0+dXNlciA9PSBOVUxMIHx8ICFndGtfd2lkZ2V0X2hhc19zY3JlZW4gKEdUS19XSURHRVQgKGFkYXRhLT5tZW51aXRlbSkpKSB7CistICAgICAgICAgICAgICAgIHJldHVybjsKKy0gICAgICAgIH0KKy0KKy0jaWZkZWYgQlVJTERfUFJFU0VOU0VfU1RVRkYKKy0gICAgICAgIGlmIChhZGF0YS0+dXNlcl9pdGVtICE9IE5VTEwpIHsKKy0gICAgICAgICAgICAgICAgaW1hZ2UgPSBnZG1fZW50cnlfbWVudV9pdGVtX2dldF9pbWFnZSAoR0RNX0VOVFJZX01FTlVfSVRFTSAoYWRhdGEtPnVzZXJfaXRlbSkpOworLSAgICAgICAgICAgICAgICBwaXhidWYgPSBnZG1fdXNlcl9yZW5kZXJfaWNvbiAoYWRhdGEtPnVzZXIsIGFkYXRhLT5wYW5lbF9zaXplICogMyk7CistICAgICAgICAgICAgICAgIGlmIChwaXhidWYgPT0gTlVMTCkgeworLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKy0gICAgICAgICAgICAgICAgfQorLQorLSAgICAgICAgICAgICAgICBndGtfaW1hZ2Vfc2V0X2Zyb21fcGl4YnVmIChHVEtfSU1BR0UgKGltYWdlKSwgcGl4YnVmKTsKKy0gICAgICAgICAgICAgICAgZ19vYmplY3RfdW5yZWYgKHBpeGJ1Zik7CistICAgICAgICB9CistI2Vsc2UKKy0gICAgICAgIHBpeGJ1ZiA9IGdkbV91c2VyX3JlbmRlcl9pY29uIChhZGF0YS0+dXNlciwgYWRhdGEtPnBhbmVsX3NpemUpOworLQorLSAgICAgICAgaWYgKHBpeGJ1ZiA9PSBOVUxMKSB7CistICAgICAgICAgICAgICAgIHJldHVybjsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIGltYWdlID0gZ3RrX2ltYWdlX21lbnVfaXRlbV9nZXRfaW1hZ2UgKEdUS19JTUFHRV9NRU5VX0lURU0gKGFkYXRhLT5tZW51aXRlbSkpOworLSAgICAgICAgZ3RrX2ltYWdlX3NldF9mcm9tX3BpeGJ1ZiAoR1RLX0lNQUdFIChpbWFnZSksIHBpeGJ1Zik7CistICAgICAgICBnX29iamVjdF91bnJlZiAocGl4YnVmKTsKKy0jZW5kaWYKKy19CistCistc3RhdGljIHZvaWQKKy1zZXR1cF9jdXJyZW50X3VzZXJfbm93IChHZG1BcHBsZXREYXRhICphZGF0YSkKKy17CistICAgICAgICBnX2Fzc2VydCAoYWRhdGEtPnVzZXIgIT0gTlVMTCk7CistCistICAgICAgICBpZiAoYWRhdGEtPnVzZXJfbG9hZGVkX25vdGlmeV9pZCAhPSAwKSB7CistICAgICAgICAgICAgICAgIGdfc2lnbmFsX2hhbmRsZXJfZGlzY29ubmVjdCAoYWRhdGEtPnVzZXIsIGFkYXRhLT51c2VyX2xvYWRlZF9ub3RpZnlfaWQpOworLSAgICAgICAgfQorLSAgICAgICAgYWRhdGEtPnVzZXJfbG9hZGVkX25vdGlmeV9pZCA9IDA7CistCistICAgICAgICB1cGRhdGVfbGFiZWwgKGFkYXRhKTsKKy0gICAgICAgIHJlc2V0X2ljb24gKGFkYXRhKTsKKy0gICAgICAgIGFkYXRhLT51c2VyX2NoYW5nZWRfbm90aWZ5X2lkID0KKy0gICAgICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChhZGF0YS0+dXNlciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2hhbmdlZCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAob25fdXNlcl9jaGFuZ2VkKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGF0YSk7CistfQorLQorLXN0YXRpYyB2b2lkCistb25fY3VycmVudF91c2VyX2xvYWRlZCAoR2RtVXNlciAgICAgICAqdXNlciwKKy0gICAgICAgICAgICAgICAgICAgICAgICBHUGFyYW1TcGVjICAgICpwc3BlYywKKy0gICAgICAgICAgICAgICAgICAgICAgICBHZG1BcHBsZXREYXRhICphZGF0YSkKKy17CistICAgICAgICBpZiAoIWdkbV91c2VyX2lzX2xvYWRlZCAodXNlcikpIHsKKy0gICAgICAgICAgICAgICAgcmV0dXJuOworLSAgICAgICAgfQorLQorLSAgICAgICAgc2V0dXBfY3VycmVudF91c2VyX25vdyAoYWRhdGEpOworLX0KKy0KKy1zdGF0aWMgdm9pZAorLXNldHVwX2N1cnJlbnRfdXNlciAoR2RtQXBwbGV0RGF0YSAqYWRhdGEpCisteworLSAgICAgICAgYWRhdGEtPnVzZXIgPSBnZG1fdXNlcl9tYW5hZ2VyX2dldF91c2VyX2J5X3VpZCAoYWRhdGEtPm1hbmFnZXIsIGdldHVpZCAoKSk7CistCistICAgICAgICBpZiAoYWRhdGEtPnVzZXIgPT0gTlVMTCkgeworLSAgICAgICAgICAgICAgICBnX3dhcm5pbmcgKCJDb3VsZCBub3Qgc2V0dXAgY3VycmVudCB1c2VyIik7CistICAgICAgICAgICAgICAgIHJldHVybjsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIGdfb2JqZWN0X3JlZiAoYWRhdGEtPnVzZXIpOworLQorLSAgICAgICAgYWRhdGEtPm1lbnVpdGVtID0gZ3RrX2ltYWdlX21lbnVfaXRlbV9uZXdfd2l0aF9sYWJlbCAoIiIpOworLSNpZm5kZWYgQlVJTERfUFJFU0VOU0VfU1RVRkYKKy0gICAgICAgIGd0a19pbWFnZV9tZW51X2l0ZW1fc2V0X2ltYWdlIChHVEtfSU1BR0VfTUVOVV9JVEVNIChhZGF0YS0+bWVudWl0ZW0pLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd0a19pbWFnZV9uZXcgKCkpOworLSNlbmRpZgorLSAgICAgICAgZ3RrX21lbnVfc2hlbGxfYXBwZW5kIChHVEtfTUVOVV9TSEVMTCAoYWRhdGEtPm1lbnViYXIpLCBhZGF0YS0+bWVudWl0ZW0pOworLSAgICAgICAgZ3RrX3dpZGdldF9zaG93IChhZGF0YS0+bWVudWl0ZW0pOworLQorLSAgICAgICAgaWYgKGdkbV91c2VyX2lzX2xvYWRlZCAoYWRhdGEtPnVzZXIpKSB7CistICAgICAgICAgICAgICAgIHNldHVwX2N1cnJlbnRfdXNlcl9ub3cgKGFkYXRhKTsKKy0gICAgICAgICAgICAgICAgcmV0dXJuOworLSAgICAgICAgfQorLQorLSAgICAgICAgYWRhdGEtPnVzZXJfbG9hZGVkX25vdGlmeV9pZCA9IGdfc2lnbmFsX2Nvbm5lY3QgKGFkYXRhLT51c2VyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJub3RpZnk6OmlzLWxvYWRlZCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAob25fY3VycmVudF91c2VyX2xvYWRlZCksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRhdGEpOworLX0KKy0KKy0jaWZkZWYgQlVJTERfUFJFU0VOU0VfU1RVRkYKKy1zdGF0aWMgdm9pZAorLXNldF9zdGF0dXMgKEdkbUFwcGxldERhdGEgKmFkYXRhLAorLSAgICAgICAgICAgIGd1aW50IHN0YXR1cykKKy17CistICAgICAgICBpbnQgaTsKKy0KKy0gICAgICAgIGdfZGVidWcgKCJTZXR0aW5nIGN1cnJlbnQgc3RhdHVzOiAldSIsIHN0YXR1cyk7CistICAgICAgICBhZGF0YS0+Y3VycmVudF9zdGF0dXMgPSBzdGF0dXM7CistICAgICAgICBmb3IgKGkgPSAwOyBpIDwgR19OX0VMRU1FTlRTIChzdGF0dXNlcyk7IGkrKykgeworLSAgICAgICAgICAgICAgICBpZiAoc3RhdHVzZXNbaV0ud2lkZ2V0ID09IE5VTEwpIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKy0gICAgICAgICAgICAgICAgfQorLSAgICAgICAgICAgICAgICBpZiAoaSA9PSBzdGF0dXMpIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICBndGtfY2hlY2tfbWVudV9pdGVtX3NldF9hY3RpdmUgKEdUS19DSEVDS19NRU5VX0lURU0gKHN0YXR1c2VzW2ldLndpZGdldCksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVFKTsKKy0gICAgICAgICAgICAgICAgfQorLSAgICAgICAgfQorLQorLSAgICAgICAgdXBkYXRlX2xhYmVsIChhZGF0YSk7CistfQorLQorLXN0YXRpYyB2b2lkCistb25fcHJlc2VuY2Vfc3RhdHVzX2NoYW5nZWQgKERCdXNHUHJveHkgICAgKnByZXNlbmNlX3Byb3h5LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBndWludCAgICAgICAgICBzdGF0dXMsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdkbUFwcGxldERhdGEgKmFkYXRhKQorLXsKKy0gICAgICAgIGdfZGVidWcgKCJTdGF0dXMgY2hhbmdlZDogJXUiLCBzdGF0dXMpOworLQorLSAgICAgICAgc2V0X3N0YXR1cyAoYWRhdGEsIHN0YXR1cyk7CistfQorLQorLXN0YXRpYyB2b2lkCistc2V0X3N0YXR1c190ZXh0IChHZG1BcHBsZXREYXRhICphZGF0YSwKKy0gICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgICAgKnN0YXR1c190ZXh0KQorLXsKKy0gICAgICAgIEd0a1dpZGdldCAgICAgKmVudHJ5OworLSAgICAgICAgR3RrVGV4dEJ1ZmZlciAqYnVmZmVyOworLQorLSAgICAgICAgZ19kZWJ1ZyAoIlN0YXR1cyB0ZXh0IGNoYW5nZWQ6ICVzIiwgc3RhdHVzX3RleHQpOworLQorLSAgICAgICAgZW50cnkgPSBnZG1fZW50cnlfbWVudV9pdGVtX2dldF9lbnRyeSAoR0RNX0VOVFJZX01FTlVfSVRFTSAoYWRhdGEtPnVzZXJfaXRlbSkpOworLSAgICAgICAgYnVmZmVyID0gZ3RrX3RleHRfdmlld19nZXRfYnVmZmVyIChHVEtfVEVYVF9WSUVXIChlbnRyeSkpOworLSAgICAgICAgZ3RrX3RleHRfYnVmZmVyX3NldF90ZXh0IChidWZmZXIsIHN0YXR1c190ZXh0LCAtMSk7CistfQorLQorLXN0YXRpYyB2b2lkCistb25fcHJlc2VuY2Vfc3RhdHVzX3RleHRfY2hhbmdlZCAoREJ1c0dQcm94eSAgICAqcHJlc2VuY2VfcHJveHksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAgICAqc3RhdHVzX3RleHQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2RtQXBwbGV0RGF0YSAqYWRhdGEpCisteworLSAgICAgICAgc2V0X3N0YXR1c190ZXh0IChhZGF0YSwgc3RhdHVzX3RleHQpOworLX0KKy0jZW5kaWYKKy0KKy1zdGF0aWMgZ2Jvb2xlYW4KKy1maWxsX2FwcGxldCAoUGFuZWxBcHBsZXQgKmFwcGxldCkKKy17CistICAgICAgICBzdGF0aWMgY29uc3QgQm9ub2JvVUlWZXJiIG1lbnVfdmVyYnNbXSA9IHsKKy0gICAgICAgICAgICAgICAgQk9OT0JPX1VJX1ZFUkIgKCJHZG1BYm91dE1lIiwgYWJvdXRfbWVfY2IpLAorLSAgICAgICAgICAgICAgICBCT05PQk9fVUlfVkVSQiAoIkdkbVVzZXJzR3JvdXBzQWRtaW4iLCBhZG1pbl9jYiksCistICAgICAgICAgICAgICAgIEJPTk9CT19VSV9WRVJCICgiR2RtQWJvdXQiLCBhYm91dF9jYiksCistICAgICAgICAgICAgICAgIEJPTk9CT19VSV9WRVJCX0VORAorLSAgICAgICAgfTsKKy0gICAgICAgIHN0YXRpYyBnYm9vbGVhbiAgICBmaXJzdF90aW1lID0gRkFMU0U7CistICAgICAgICBjaGFyICAgICAgICAgICAgICAqdG1wOworLSAgICAgICAgQm9ub2JvVUlDb21wb25lbnQgKnBvcHVwX2NvbXBvbmVudDsKKy0gICAgICAgIEdkbUFwcGxldERhdGEgICAgICphZGF0YTsKKy0gICAgICAgIEdFcnJvciAgICAgICAgICAgICplcnJvcjsKKy0gICAgICAgIERCdXNHQ29ubmVjdGlvbiAgICpidXM7CistCistICAgICAgICBpZiAoIWZpcnN0X3RpbWUpIHsKKy0gICAgICAgICAgICAgICAgZmlyc3RfdGltZSA9IFRSVUU7CistCistICAgICAgICAgICAgICAgIC8qIERvIHRoaXMgaGVyZSBzbyBpdCdzIG9ubHkgZG9uZSBvbmNlLiAqLworLSAgICAgICAgICAgICAgICBndGtfcmNfcGFyc2Vfc3RyaW5nICgic3R5bGUgXCJnZG0tdXNlci1zd2l0Y2gtbWVudWJhci1zdHlsZVwiXG4iCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ7XG4iCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJHdGtNZW51QmFyOjpzaGFkb3ctdHlwZSA9IG5vbmVcbiIKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkd0a01lbnVCYXI6OmludGVybmFsLXBhZGRpbmcgPSAwXG4iCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ9XG4iCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHlsZSBcImdkbS11c2VyLXN3aXRjaC1hcHBsZXQtc3R5bGVcIlxuIgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAie1xuIgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiR3RrV2lkZ2V0Ojpmb2N1cy1saW5lLXdpZHRoID0gMFxuIgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiR3RrV2lkZ2V0Ojpmb2N1cy1wYWRkaW5nID0gMFxuIgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAifVxuIgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2lkZ2V0IFwiKi5nZG0tdXNlci1zd2l0Y2gtbWVudWJhclwiIHN0eWxlIFwiZ2RtLXVzZXItc3dpdGNoLW1lbnViYXItc3R5bGVcIlxuIgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2lkZ2V0IFwiKi5nZG0tdXNlci1zd2l0Y2gtYXBwbGV0XCIgc3R5bGUgXCJnZG0tdXNlci1zd2l0Y2gtYXBwbGV0LXN0eWxlXCJcbiIpOworLSAgICAgICAgICAgICAgICBndGtfd2luZG93X3NldF9kZWZhdWx0X2ljb25fbmFtZSAoInN0b2NrX3Blb3BsZSIpOworLSAgICAgICAgICAgICAgICBnX3NldF9hcHBsaWNhdGlvbl9uYW1lIChfKCJVc2VyIFN3aXRjaCBBcHBsZXQiKSk7CistCistICAgICAgICAgICAgICAgIGlmICghIGdkbV9zZXR0aW5nc19jbGllbnRfaW5pdCAoREFUQURJUiAiL2dkbS9nZG0uc2NoZW1hcyIsICIvIikpIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICBnX2NyaXRpY2FsICgiVW5hYmxlIHRvIGluaXRpYWxpemUgc2V0dGluZ3MgY2xpZW50Iik7CistICAgICAgICAgICAgICAgICAgICAgICAgZXhpdCAoMSk7CistICAgICAgICAgICAgICAgIH0KKy0KKy0gICAgICAgIH0KKy0KKy0gICAgICAgIGFkYXRhID0gZ19uZXcwIChHZG1BcHBsZXREYXRhLCAxKTsKKy0gICAgICAgIGFkYXRhLT5hcHBsZXQgPSBhcHBsZXQ7CistICAgICAgICBhZGF0YS0+cGFuZWxfc2l6ZSA9IDI0OworLQorLSAgICAgICAgYWRhdGEtPmNsaWVudCA9IGdjb25mX2NsaWVudF9nZXRfZGVmYXVsdCAoKTsKKy0KKy0gICAgICAgIGd0a193aWRnZXRfc2V0X3Rvb2x0aXBfdGV4dCAoR1RLX1dJREdFVCAoYXBwbGV0KSwgXygiQ2hhbmdlIGFjY291bnQgc2V0dGluZ3MgYW5kIHN0YXR1cyIpKTsKKy0gICAgICAgIGd0a19jb250YWluZXJfc2V0X2JvcmRlcl93aWR0aCAoR1RLX0NPTlRBSU5FUiAoYXBwbGV0KSwgMCk7CistICAgICAgICBndGtfd2lkZ2V0X3NldF9uYW1lIChHVEtfV0lER0VUIChhcHBsZXQpLCAiZ2RtLXVzZXItc3dpdGNoLWFwcGxldCIpOworLSAgICAgICAgcGFuZWxfYXBwbGV0X3NldF9mbGFncyAoYXBwbGV0LCBQQU5FTF9BUFBMRVRfRVhQQU5EX01JTk9SKTsKKy0gICAgICAgIHBhbmVsX2FwcGxldF9zZXR1cF9tZW51X2Zyb21fZmlsZSAoYXBwbGV0LCBOVUxMLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEQVRBRElSICIvZ25vbWUtMi4wL3VpL0dOT01FX0Zhc3RVc2VyU3dpdGNoQXBwbGV0LnhtbCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIG1lbnVfdmVyYnMsIGFkYXRhKTsKKy0KKy0gICAgICAgIHBvcHVwX2NvbXBvbmVudCA9IHBhbmVsX2FwcGxldF9nZXRfcG9wdXBfY29tcG9uZW50IChhcHBsZXQpOworLQorLSAgICAgICAgLyogSGlkZSB0aGUgYWRtaW4gY29udGV4dCBtZW51IGl0ZW1zIGlmIGxvY2tlZCBkb3duIG9yIG5vIGNtZC1saW5lICovCistICAgICAgICBpZiAoZ2NvbmZfY2xpZW50X2dldF9ib29sIChhZGF0YS0+Y2xpZW50LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTE9DS0RPV05fQ09NTUFORF9MSU5FX0tFWSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpIHx8CistICAgICAgICAgICAgcGFuZWxfYXBwbGV0X2dldF9sb2NrZWRfZG93biAoYXBwbGV0KSkgeworLSAgICAgICAgICAgICAgICBib25vYm9fdWlfY29tcG9uZW50X3NldF9wcm9wIChwb3B1cF9jb21wb25lbnQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvcG9wdXBzL2J1dHRvbjMvR2RtU2VwYXJhdG9yIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZGRlbiIsICIxIiwgTlVMTCk7CistICAgICAgICAgICAgICAgIGJvbm9ib191aV9jb21wb25lbnRfc2V0X3Byb3AgKHBvcHVwX2NvbXBvbmVudCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9jb21tYW5kcy9HZG1Vc2Vyc0dyb3Vwc0FkbWluIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZGRlbiIsICIxIiwgTlVMTCk7CistICAgICAgICB9IGVsc2UgeworLSNpZm5kZWYgVVNFUlNfQURNSU4KKy0jICBpZmRlZiBHRE1fU0VUVVAKKy0gICAgICAgICAgICAgICAgYm9ub2JvX3VpX2NvbXBvbmVudF9zZXRfcHJvcCAocG9wdXBfY29tcG9uZW50LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiL3BvcHVwcy9idXR0b24zL0dkbVNlcGFyYXRvciIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWRkZW4iLCAiMSIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworLSMgIGVuZGlmIC8qICFHRE1fU0VUVVAgKi8KKy0gICAgICAgICAgICAgICAgYm9ub2JvX3VpX2NvbXBvbmVudF9zZXRfcHJvcCAocG9wdXBfY29tcG9uZW50LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiL2NvbW1hbmRzL0dkbVVzZXJzR3JvdXBzQWRtaW4iLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlkZGVuIiwgIjEiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKy0jZW5kaWYgLyogIVVTRVJTX0FETUlOICovCistICAgICAgICB9CistCistICAgICAgICAvKiBIaWRlIHRoZSBnZG1waG90b3NldHVwIGl0ZW0gaWYgaXQgY2FuJ3QgYmUgZm91bmQgaW4gdGhlIHBhdGguICovCistICAgICAgICB0bXAgPSBnX2ZpbmRfcHJvZ3JhbV9pbl9wYXRoICgiZ25vbWUtYWJvdXQtbWUiKTsKKy0gICAgICAgIGlmICghdG1wKSB7CistICAgICAgICAgICAgICAgIGJvbm9ib191aV9jb21wb25lbnRfc2V0X3Byb3AgKHBvcHVwX2NvbXBvbmVudCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9jb21tYW5kcy9HZG1BYm91dE1lIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZGRlbiIsICIxIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CistICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICBnX2ZyZWUgKHRtcCk7CistICAgICAgICB9CistCistICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChhZGF0YS0+YXBwbGV0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgInN0eWxlLXNldCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChhcHBsZXRfc3R5bGVfc2V0X2NiKSwgYWRhdGEpOworLSAgICAgICAgZ19zaWduYWxfY29ubmVjdCAoYXBwbGV0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgImNoYW5nZS1iYWNrZ3JvdW5kIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKGFwcGxldF9jaGFuZ2VfYmFja2dyb3VuZF9jYiksIGFkYXRhKTsKKy0gICAgICAgIGdfc2lnbmFsX2Nvbm5lY3QgKGFwcGxldCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICJzaXplLWFsbG9jYXRlIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKGFwcGxldF9zaXplX2FsbG9jYXRlX2NiKSwgYWRhdGEpOworLSAgICAgICAgZ19zaWduYWxfY29ubmVjdCAoYXBwbGV0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgImtleS1wcmVzcy1ldmVudCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChhcHBsZXRfa2V5X3ByZXNzX2V2ZW50X2NiKSwgYWRhdGEpOworLSAgICAgICAgZ19zaWduYWxfY29ubmVjdF9hZnRlciAoYXBwbGV0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvY3VzLWluLWV2ZW50IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKGd0a193aWRnZXRfcXVldWVfZHJhdyksIE5VTEwpOworLSAgICAgICAgZ19zaWduYWxfY29ubmVjdF9hZnRlciAoYXBwbGV0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvY3VzLW91dC1ldmVudCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChndGtfd2lkZ2V0X3F1ZXVlX2RyYXcpLCBOVUxMKTsKKy0gICAgICAgIGdfb2JqZWN0X3NldF9kYXRhX2Z1bGwgKEdfT0JKRUNUIChhcHBsZXQpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdkbS1hcHBsZXQtZGF0YSIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGF0YSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChHRGVzdHJveU5vdGlmeSkgZ2RtX2FwcGxldF9kYXRhX2ZyZWUpOworLQorLSAgICAgICAgYWRhdGEtPm1lbnViYXIgPSBndGtfbWVudV9iYXJfbmV3ICgpOworLSAgICAgICAgZ3RrX3dpZGdldF9zZXRfbmFtZSAoYWRhdGEtPm1lbnViYXIsICJnZG0tdXNlci1zd2l0Y2gtbWVudWJhciIpOworLSAgICAgICAgZ3RrX3dpZGdldF9zZXRfY2FuX2ZvY3VzIChhZGF0YS0+bWVudWJhciwgVFJVRSk7CistICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChhZGF0YS0+bWVudWJhciwgImJ1dHRvbi1wcmVzcy1ldmVudCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChtZW51YmFyX2J1dHRvbl9wcmVzc19ldmVudF9jYiksIGFkYXRhKTsKKy0gICAgICAgIGdfc2lnbmFsX2Nvbm5lY3RfYWZ0ZXIgKGFkYXRhLT5tZW51YmFyLCAiZXhwb3NlLWV2ZW50IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKG1lbnViYXJfZXhwb3NlX2V2ZW50X2NiKSwgYWRhdGEpOworLSAgICAgICAgZ3RrX2NvbnRhaW5lcl9hZGQgKEdUS19DT05UQUlORVIgKGFwcGxldCksIGFkYXRhLT5tZW51YmFyKTsKKy0gICAgICAgIGd0a193aWRnZXRfc2hvdyAoYWRhdGEtPm1lbnViYXIpOworLQorLSAgICAgICAgYWRhdGEtPm1hbmFnZXIgPSBnZG1fdXNlcl9tYW5hZ2VyX3JlZl9kZWZhdWx0ICgpOworLSAgICAgICAgZ19vYmplY3Rfc2V0IChhZGF0YS0+bWFuYWdlciwgImluY2x1ZGUtYWxsIiwgVFJVRSwgTlVMTCk7CistICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChhZGF0YS0+bWFuYWdlciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICJub3RpZnk6OmlzLWxvYWRlZCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChvbl9tYW5hZ2VyX2lzX2xvYWRlZF9jaGFuZ2VkKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIGFkYXRhKTsKKy0gICAgICAgIGdfc2lnbmFsX2Nvbm5lY3QgKGFkYXRhLT5tYW5hZ2VyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgIm5vdGlmeTo6aGFzLW11bHRpcGxlLXVzZXJzIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKG9uX21hbmFnZXJfaGFzX211bHRpcGxlX3VzZXJzX2NoYW5nZWQpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgYWRhdGEpOworLQorLSAgICAgICAgZ2RtX3VzZXJfbWFuYWdlcl9xdWV1ZV9sb2FkIChhZGF0YS0+bWFuYWdlcik7CistICAgICAgICBzZXR1cF9jdXJyZW50X3VzZXIgKGFkYXRhKTsKKy0KKy0gICAgICAgIGdjb25mX2NsaWVudF9hZGRfZGlyIChhZGF0YS0+Y2xpZW50LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExPQ0tET1dOX0RJUiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQ09ORl9DTElFTlRfUFJFTE9BRF9PTkVMRVZFTCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKy0KKy0gICAgICAgIGFkYXRhLT5jbGllbnRfbm90aWZ5X2xvY2tkb3duX2lkID0gZ2NvbmZfY2xpZW50X25vdGlmeV9hZGQgKGFkYXRhLT5jbGllbnQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMT0NLRE9XTl9ESVIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoR0NvbmZDbGllbnROb3RpZnlGdW5jKWNsaWVudF9ub3RpZnlfbG9ja2Rvd25fZnVuYywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkYXRhLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworLQorLSAgICAgICAgaWYgKGdjb25mX2NsaWVudF9nZXRfYm9vbCAoYWRhdGEtPmNsaWVudCwgTE9DS0RPV05fVVNFUl9TV0lUQ0hJTkdfS0VZLCBOVUxMKSkgeworLSAgICAgICAgICAgICAgICBzZXRfbWVudV92aXNpYmlsaXR5IChhZGF0YSwgRkFMU0UpOworLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgc2V0X21lbnVfdmlzaWJpbGl0eSAoYWRhdGEsIFRSVUUpOworLSAgICAgICAgfQorLSAgICAgICAgaWYgKGdjb25mX2NsaWVudF9nZXRfYm9vbCAoYWRhdGEtPmNsaWVudCwgTE9DS0RPV05fTE9DS19TQ1JFRU5fS0VZLCBOVUxMKSkgeworLSAgICAgICAgICAgICAgICAgICAgICAgIGd0a193aWRnZXRfaGlkZSAoYWRhdGEtPmxvY2tfc2NyZWVuX2l0ZW0pOworLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICBndGtfd2lkZ2V0X3Nob3cgKGFkYXRhLT5sb2NrX3NjcmVlbl9pdGVtKTsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIGVycm9yID0gTlVMTDsKKy0gICAgICAgIGJ1cyA9IGRidXNfZ19idXNfZ2V0IChEQlVTX0JVU19TRVNTSU9OLCAmZXJyb3IpOworLSAgICAgICAgaWYgKGJ1cyA9PSBOVUxMKSB7CistICAgICAgICAgICAgICAgIGdfd2FybmluZyAoIlVuYWJsZSB0byBnZXQgc2Vzc2lvbiBidXM6ICVzIiwgZXJyb3ItPm1lc3NhZ2UpOworLSAgICAgICAgICAgICAgICBnX2Vycm9yX2ZyZWUgKGVycm9yKTsKKy0gICAgICAgICAgICAgICAgZ290byBkb25lOworLSAgICAgICAgfQorLQorLSNpZmRlZiBCVUlMRF9QUkVTRU5TRV9TVFVGRgorLSAgICAgICAgYWRhdGEtPnByZXNlbmNlX3Byb3h5ID0gZGJ1c19nX3Byb3h5X25ld19mb3JfbmFtZSAoYnVzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3JnLmdub21lLlNlc3Npb25NYW5hZ2VyIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9vcmcvZ25vbWUvU2Vzc2lvbk1hbmFnZXIvUHJlc2VuY2UiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3JnLmdub21lLlNlc3Npb25NYW5hZ2VyLlByZXNlbmNlIik7CistICAgICAgICBpZiAoYWRhdGEtPnByZXNlbmNlX3Byb3h5ICE9IE5VTEwpIHsKKy0gICAgICAgICAgICAgICAgREJ1c0dQcm94eSAqcHJveHk7CistCistICAgICAgICAgICAgICAgIGRidXNfZ19wcm94eV9hZGRfc2lnbmFsIChhZGF0YS0+cHJlc2VuY2VfcHJveHksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3RhdHVzQ2hhbmdlZCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1RZUEVfVUlOVCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfVFlQRV9JTlZBTElEKTsKKy0gICAgICAgICAgICAgICAgZGJ1c19nX3Byb3h5X2Nvbm5lY3Rfc2lnbmFsIChhZGF0YS0+cHJlc2VuY2VfcHJveHksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN0YXR1c0NoYW5nZWQiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKG9uX3ByZXNlbmNlX3N0YXR1c19jaGFuZ2VkKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGF0YSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKy0gICAgICAgICAgICAgICAgZGJ1c19nX3Byb3h5X2FkZF9zaWduYWwgKGFkYXRhLT5wcmVzZW5jZV9wcm94eSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdGF0dXNUZXh0Q2hhbmdlZCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1RZUEVfU1RSSU5HLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19UWVBFX0lOVkFMSUQpOworLSAgICAgICAgICAgICAgICBkYnVzX2dfcHJveHlfY29ubmVjdF9zaWduYWwgKGFkYXRhLT5wcmVzZW5jZV9wcm94eSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3RhdHVzVGV4dENoYW5nZWQiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKG9uX3ByZXNlbmNlX3N0YXR1c190ZXh0X2NoYW5nZWQpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkYXRhLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworLQorLQorLSAgICAgICAgICAgICAgICBwcm94eSA9IGRidXNfZ19wcm94eV9uZXdfZnJvbV9wcm94eSAoYWRhdGEtPnByZXNlbmNlX3Byb3h5LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9yZy5mcmVlZGVza3RvcC5EQnVzLlByb3BlcnRpZXMiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9vcmcvZ25vbWUvU2Vzc2lvbk1hbmFnZXIvUHJlc2VuY2UiKTsKKy0gICAgICAgICAgICAgICAgaWYgKHByb3h5ICE9IE5VTEwpIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICBndWludCAgICAgICBzdGF0dXM7CistICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqc3RhdHVzX3RleHQ7CistICAgICAgICAgICAgICAgICAgICAgICAgR1ZhbHVlICAgICAgdmFsdWUgPSB7IDAsIH07CistCistICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzID0gMDsKKy0gICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXNfdGV4dCA9IE5VTEw7CistCistICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSBOVUxMOworLSAgICAgICAgICAgICAgICAgICAgICAgIGRidXNfZ19wcm94eV9jYWxsIChwcm94eSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkdldCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZlcnJvciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19UWVBFX1NUUklORywgIm9yZy5nbm9tZS5TZXNzaW9uTWFuYWdlci5QcmVzZW5jZSIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfVFlQRV9TVFJJTkcsICJzdGF0dXMiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1RZUEVfSU5WQUxJRCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19UWVBFX1ZBTFVFLCAmdmFsdWUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfVFlQRV9JTlZBTElEKTsKKy0KKy0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IgIT0gTlVMTCkgeworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ193YXJuaW5nICgiQ291bGRuJ3QgZ2V0IHByZXNlbmNlIHN0YXR1czogJXMiLCBlcnJvci0+bWVzc2FnZSk7CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX2Vycm9yX2ZyZWUgKGVycm9yKTsKKy0gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzID0gZ192YWx1ZV9nZXRfdWludCAoJnZhbHVlKTsKKy0gICAgICAgICAgICAgICAgICAgICAgICB9CistCistICAgICAgICAgICAgICAgICAgICAgICAgZ192YWx1ZV91bnNldCAoJnZhbHVlKTsKKy0KKy0gICAgICAgICAgICAgICAgICAgICAgICBlcnJvciA9IE5VTEw7CistICAgICAgICAgICAgICAgICAgICAgICAgZGJ1c19nX3Byb3h5X2NhbGwgKHByb3h5LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiR2V0IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmVycm9yLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1RZUEVfU1RSSU5HLCAib3JnLmdub21lLlNlc3Npb25NYW5hZ2VyLlByZXNlbmNlIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19UWVBFX1NUUklORywgInN0YXR1cy10ZXh0IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19UWVBFX0lOVkFMSUQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfVFlQRV9WQUxVRSwgJnZhbHVlLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1RZUEVfSU5WQUxJRCk7CistCistICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yICE9IE5VTEwpIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfd2FybmluZyAoIkNvdWxkbid0IGdldCBwcmVzZW5jZSBzdGF0dXMgdGV4dDogJXMiLCBlcnJvci0+bWVzc2FnZSk7CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX2Vycm9yX2ZyZWUgKGVycm9yKTsKKy0gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzX3RleHQgPSBnX3ZhbHVlX2dldF9zdHJpbmcgKCZ2YWx1ZSk7CistICAgICAgICAgICAgICAgICAgICAgICAgfQorLQorLSAgICAgICAgICAgICAgICAgICAgICAgIHNldF9zdGF0dXMgKGFkYXRhLCBzdGF0dXMpOworLSAgICAgICAgICAgICAgICAgICAgICAgIHNldF9zdGF0dXNfdGV4dCAoYWRhdGEsIHN0YXR1c190ZXh0KTsKKy0gICAgICAgICAgICAgICAgfQorLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgZ193YXJuaW5nICgiRmFpbGVkIHRvIGdldCBzZXNzaW9uIHByZXNlbmNlIHByb3h5Iik7CistICAgICAgICB9CistI2VuZGlmCistCistIGRvbmU6CistICAgICAgICBndGtfd2lkZ2V0X3Nob3cgKEdUS19XSURHRVQgKGFkYXRhLT5hcHBsZXQpKTsKKy0KKy0gICAgICAgIHJldHVybiBUUlVFOworLX0KKy0KKy1zdGF0aWMgZ2Jvb2xlYW4KKy1hcHBsZXRfZmFjdG9yeSAoUGFuZWxBcHBsZXQgICAqYXBwbGV0LAorLSAgICAgICAgICAgICAgICBjb25zdCBjaGFyICAgICppaWQsCistICAgICAgICAgICAgICAgIGdwb2ludGVyICAgICAgIGRhdGEpCisteworLSAgICAgICAgZ2Jvb2xlYW4gcmV0OworLSAgICAgICAgcmV0ID0gRkFMU0U7CistICAgICAgICBpZiAoc3RyY21wIChpaWQsICJPQUZJSUQ6R05PTUVfRmFzdFVzZXJTd2l0Y2hBcHBsZXQiKSA9PSAwKSB7CistICAgICAgICAgICAgICAgIHJldCA9IGZpbGxfYXBwbGV0IChhcHBsZXQpOworLSAgICAgICAgfQorLSAgICAgICAgcmV0dXJuIHJldDsKKy19CitkaWZmIC0tZ2l0IGEvZ3VpL3VzZXItc3dpdGNoLWFwcGxldC9nZG0tZW50cnktbWVudS1pdGVtLmMgYi9ndWkvdXNlci1zd2l0Y2gtYXBwbGV0L2dkbS1lbnRyeS1tZW51LWl0ZW0uYworZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCBkNjU3ZTdhLi4wMDAwMDAwCistLS0gYS9ndWkvdXNlci1zd2l0Y2gtYXBwbGV0L2dkbS1lbnRyeS1tZW51LWl0ZW0uYworKysrIC9kZXYvbnVsbAorQEAgLTEsMzA0ICswLDAgQEAKKy0vKiAtKi0gTW9kZTogQzsgdGFiLXdpZHRoOiA4OyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IGMtYmFzaWMtb2Zmc2V0OiA4IC0qLQorLSAqCistICogQ29weXJpZ2h0IChDKSAyMDA4IFJlZCBIYXQsIEluYy4KKy0gKgorLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CistICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKy0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorLSAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCistICoKKy0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKy0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorLSAqCistICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy0gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorLSAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKy0gKi8KKy0KKy0jaW5jbHVkZSAiY29uZmlnLmgiCistCistI2luY2x1ZGUgPHVuaXN0ZC5oPgorLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKy0KKy0jaW5jbHVkZSA8c3RyaW5nLmg+CistCistI2luY2x1ZGUgPGdsaWIvZ2kxOG4uaD4KKy0jaW5jbHVkZSA8Z3RrL2d0ay5oPgorLQorLSNpbmNsdWRlICJnZG0tZW50cnktbWVudS1pdGVtLmgiCistCistLyogc2FtZSBhcyB0d2l0dGVyICovCistI2RlZmluZSBURVhUX0JVRkZFUl9NQVhfQ0hBUlMgNjQKKy0KKy1lbnVtCisteworLSAgICAgICAgUFJPUF8wLAorLX07CistCistc3RydWN0IF9HZG1FbnRyeU1lbnVJdGVtCisteworLSAgICAgICAgR3RrTWVudUl0ZW0gICAgICBwYXJlbnQ7CistCistICAgICAgICBHdGtXaWRnZXQgICAgICAgKmhib3g7CistICAgICAgICBHdGtXaWRnZXQgICAgICAgKmltYWdlOworLSAgICAgICAgR3RrV2lkZ2V0ICAgICAgICplbnRyeTsKKy19OworLQorLXN0cnVjdCBfR2RtRW50cnlNZW51SXRlbUNsYXNzCisteworLSAgICAgICAgR3RrTWVudUl0ZW1DbGFzcyBwYXJlbnRfY2xhc3M7CistfTsKKy0KKy1HX0RFRklORV9UWVBFIChHZG1FbnRyeU1lbnVJdGVtLCBnZG1fZW50cnlfbWVudV9pdGVtLCBHVEtfVFlQRV9NRU5VX0lURU0pCistCistc3RhdGljIHZvaWQKKy1nZG1fZW50cnlfbWVudV9pdGVtX3NldF9wcm9wZXJ0eSAoR09iamVjdCAgICAgICpvYmplY3QsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1aW50ICAgICAgICAgcGFyYW1faWQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEdWYWx1ZSAqdmFsdWUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdQYXJhbVNwZWMgICAqcHNwZWMpCisteworLSAgICAgICAgR2RtRW50cnlNZW51SXRlbSAqaXRlbTsKKy0KKy0gICAgICAgIGl0ZW0gPSBHRE1fRU5UUllfTUVOVV9JVEVNIChvYmplY3QpOworLQorLSAgICAgICAgc3dpdGNoIChwYXJhbV9pZCkgeworLSAgICAgICAgZGVmYXVsdDoKKy0gICAgICAgICAgICAgICAgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEIChvYmplY3QsIHBhcmFtX2lkLCBwc3BlYyk7CistICAgICAgICAgICAgICAgIGJyZWFrOworLSAgICAgICAgfQorLX0KKy0KKy1zdGF0aWMgdm9pZAorLWdkbV9lbnRyeV9tZW51X2l0ZW1fZ2V0X3Byb3BlcnR5IChHT2JqZWN0ICAgICpvYmplY3QsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1aW50ICAgICAgIHBhcmFtX2lkLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHVmFsdWUgICAgICp2YWx1ZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1BhcmFtU3BlYyAqcHNwZWMpCisteworLSAgICAgICAgR2RtRW50cnlNZW51SXRlbSAqaXRlbTsKKy0KKy0gICAgICAgIGl0ZW0gPSBHRE1fRU5UUllfTUVOVV9JVEVNIChvYmplY3QpOworLQorLSAgICAgICAgc3dpdGNoIChwYXJhbV9pZCkgeworLSAgICAgICAgZGVmYXVsdDoKKy0gICAgICAgICAgICAgICAgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEIChvYmplY3QsIHBhcmFtX2lkLCBwc3BlYyk7CistICAgICAgICAgICAgICAgIGJyZWFrOworLSAgICAgICAgfQorLX0KKy0KKy1zdGF0aWMgdm9pZAorLWdkbV9lbnRyeV9tZW51X2l0ZW1fZGlzcG9zZSAoR09iamVjdCAqb2JqZWN0KQorLXsKKy0KKy0gICAgICAgICgqR19PQkpFQ1RfQ0xBU1MgKGdkbV9lbnRyeV9tZW51X2l0ZW1fcGFyZW50X2NsYXNzKS0+ZGlzcG9zZSkgKG9iamVjdCk7CistfQorLQorLXN0YXRpYyBnYm9vbGVhbgorLWdkbV9lbnRyeV9tZW51X2l0ZW1fYnV0dG9uX3JlbGVhc2UgKEd0a1dpZGdldCAgICAgICp3aWRnZXQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2RrRXZlbnRCdXR0b24gKmV2ZW50KQorLXsKKy0gICAgICAgIHJldHVybiBUUlVFOworLX0KKy0KKy0vKiBDdXQgYW5kIHBhc3RlIGZyb20gZ3Rrd2luZG93LmMgKi8KKy1zdGF0aWMgdm9pZAorLXNlbmRfZm9jdXNfY2hhbmdlIChHdGtXaWRnZXQgKndpZGdldCwKKy0gICAgICAgICAgICAgICAgICAgZ2Jvb2xlYW4gICBpbikKKy17CistICAgICAgICBHZGtFdmVudCAqZmV2ZW50ID0gZ2RrX2V2ZW50X25ldyAoR0RLX0ZPQ1VTX0NIQU5HRSk7CistCistICAgICAgICBnX29iamVjdF9yZWYgKHdpZGdldCk7CistCistICAgICAgICBndGtfd2lkZ2V0X3NldF9jYW5fZm9jdXMgKHdpZGdldCwgaW4pOworLQorLSAgICAgICAgZmV2ZW50LT5mb2N1c19jaGFuZ2UudHlwZSA9IEdES19GT0NVU19DSEFOR0U7CistICAgICAgICBmZXZlbnQtPmZvY3VzX2NoYW5nZS53aW5kb3cgPSBnX29iamVjdF9yZWYgKGd0a193aWRnZXRfZ2V0X3dpbmRvdyAod2lkZ2V0KSk7CistICAgICAgICBmZXZlbnQtPmZvY3VzX2NoYW5nZS5pbiA9IGluOworLQorLSAgICAgICAgZ3RrX3dpZGdldF9ldmVudCAod2lkZ2V0LCBmZXZlbnQpOworLQorLSAgICAgICAgZ19vYmplY3Rfbm90aWZ5IChHX09CSkVDVCAod2lkZ2V0KSwgImhhcy1mb2N1cyIpOworLQorLSAgICAgICAgZ19vYmplY3RfdW5yZWYgKHdpZGdldCk7CistICAgICAgICBnZGtfZXZlbnRfZnJlZSAoZmV2ZW50KTsKKy19CistCistc3RhdGljIGdib29sZWFuCistZ2RtX2VudHJ5X21lbnVfaXRlbV9idXR0b25fcHJlc3MgKEd0a1dpZGdldCAgICAgICp3aWRnZXQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdka0V2ZW50QnV0dG9uICpldmVudCkKKy17CistICAgICAgICBHdGtXaWRnZXQgKmVudHJ5OworLQorLSAgICAgICAgZW50cnkgPSBHRE1fRU5UUllfTUVOVV9JVEVNICh3aWRnZXQpLT5lbnRyeTsKKy0KKy0gICAgICAgIGlmIChndGtfd2lkZ2V0X2dldF93aW5kb3cgKGVudHJ5KSAhPSBOVUxMKSB7CistICAgICAgICAgICAgICAgIGdka193aW5kb3dfcmFpc2UgKGd0a193aWRnZXRfZ2V0X3dpbmRvdyAoZW50cnkpKTsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIGlmICghZ3RrX3dpZGdldF9oYXNfZm9jdXMgKGVudHJ5KSkgeworLSAgICAgICAgICAgICAgICBndGtfd2lkZ2V0X2dyYWJfZm9jdXMgKGVudHJ5KTsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIHJldHVybiBGQUxTRTsKKy19CistCistc3RhdGljIHZvaWQKKy1nZG1fZW50cnlfbWVudV9pdGVtX3JlYWxpemUgKEd0a1dpZGdldCAqd2lkZ2V0KQorLXsKKy0gICAgICAgIGlmIChHVEtfV0lER0VUX0NMQVNTIChnZG1fZW50cnlfbWVudV9pdGVtX3BhcmVudF9jbGFzcyktPnJlYWxpemUpIHsKKy0gICAgICAgICAgICAgICAgR1RLX1dJREdFVF9DTEFTUyAoZ2RtX2VudHJ5X21lbnVfaXRlbV9wYXJlbnRfY2xhc3MpLT5yZWFsaXplICh3aWRnZXQpOworLSAgICAgICAgfQorLX0KKy0KKy1zdGF0aWMgdm9pZAorLWdkbV9lbnRyeV9tZW51X2l0ZW1fc2VsZWN0IChHdGtJdGVtICppdGVtKQorLXsKKy0gICAgICAgIGdfcmV0dXJuX2lmX2ZhaWwgKEdETV9JU19FTlRSWV9NRU5VX0lURU0gKGl0ZW0pKTsKKy0gICAgICAgIHNlbmRfZm9jdXNfY2hhbmdlIChHVEtfV0lER0VUIChHRE1fRU5UUllfTUVOVV9JVEVNIChpdGVtKS0+ZW50cnkpLCBUUlVFKTsKKy19CistCistc3RhdGljIHZvaWQKKy1nZG1fZW50cnlfbWVudV9pdGVtX2Rlc2VsZWN0IChHdGtJdGVtICppdGVtKQorLXsKKy0gICAgICAgIGdfcmV0dXJuX2lmX2ZhaWwgKEdETV9JU19FTlRSWV9NRU5VX0lURU0gKGl0ZW0pKTsKKy0KKy0gICAgICAgIHNlbmRfZm9jdXNfY2hhbmdlIChHVEtfV0lER0VUIChHRE1fRU5UUllfTUVOVV9JVEVNIChpdGVtKS0+ZW50cnkpLCBGQUxTRSk7CistfQorLQorLXN0YXRpYyB2b2lkCistZ2RtX2VudHJ5X21lbnVfaXRlbV9jbGFzc19pbml0IChHZG1FbnRyeU1lbnVJdGVtQ2xhc3MgKmtsYXNzKQorLXsKKy0gICAgICAgIEdPYmplY3RDbGFzcyAgICAgKmdvYmplY3RfY2xhc3M7CistICAgICAgICBHdGtXaWRnZXRDbGFzcyAgICp3aWRnZXRfY2xhc3M7CistICAgICAgICBHdGtNZW51SXRlbUNsYXNzICptZW51X2l0ZW1fY2xhc3M7CistICAgICAgICBHdGtJdGVtQ2xhc3MgICAgICppdGVtX2NsYXNzOworLQorLSAgICAgICAgZ29iamVjdF9jbGFzcyA9IEdfT0JKRUNUX0NMQVNTIChrbGFzcyk7CistICAgICAgICB3aWRnZXRfY2xhc3MgPSBHVEtfV0lER0VUX0NMQVNTIChrbGFzcyk7CistICAgICAgICBtZW51X2l0ZW1fY2xhc3MgPSBHVEtfTUVOVV9JVEVNX0NMQVNTIChrbGFzcyk7CistICAgICAgICBpdGVtX2NsYXNzID0gR1RLX0lURU1fQ0xBU1MgKGtsYXNzKTsKKy0KKy0gICAgICAgIGdvYmplY3RfY2xhc3MtPnNldF9wcm9wZXJ0eSA9IGdkbV9lbnRyeV9tZW51X2l0ZW1fc2V0X3Byb3BlcnR5OworLSAgICAgICAgZ29iamVjdF9jbGFzcy0+Z2V0X3Byb3BlcnR5ID0gZ2RtX2VudHJ5X21lbnVfaXRlbV9nZXRfcHJvcGVydHk7CistICAgICAgICBnb2JqZWN0X2NsYXNzLT5kaXNwb3NlID0gZ2RtX2VudHJ5X21lbnVfaXRlbV9kaXNwb3NlOworLQorLSAgICAgICAgd2lkZ2V0X2NsYXNzLT5idXR0b25fcmVsZWFzZV9ldmVudCA9IGdkbV9lbnRyeV9tZW51X2l0ZW1fYnV0dG9uX3JlbGVhc2U7CistICAgICAgICB3aWRnZXRfY2xhc3MtPmJ1dHRvbl9wcmVzc19ldmVudCA9IGdkbV9lbnRyeV9tZW51X2l0ZW1fYnV0dG9uX3ByZXNzOworLSAgICAgICAgd2lkZ2V0X2NsYXNzLT5yZWFsaXplID0gZ2RtX2VudHJ5X21lbnVfaXRlbV9yZWFsaXplOworLQorLSAgICAgICAgaXRlbV9jbGFzcy0+c2VsZWN0ID0gZ2RtX2VudHJ5X21lbnVfaXRlbV9zZWxlY3Q7CistICAgICAgICBpdGVtX2NsYXNzLT5kZXNlbGVjdCA9IGdkbV9lbnRyeV9tZW51X2l0ZW1fZGVzZWxlY3Q7CistCistICAgICAgICBtZW51X2l0ZW1fY2xhc3MtPmhpZGVfb25fYWN0aXZhdGUgPSBGQUxTRTsKKy19CistCistc3RhdGljIHZvaWQKKy1vbl9lbnRyeV9zaG93IChHdGtXaWRnZXQgICAgICAgICp3aWRnZXQsCistICAgICAgICAgICAgICAgR2RtRW50cnlNZW51SXRlbSAqaXRlbSkKKy17CistICAgICAgICBpZiAoZ3RrX3dpZGdldF9nZXRfd2luZG93ICh3aWRnZXQpICE9IE5VTEwpIHsKKy0gICAgICAgICAgICAgICAgZ2RrX3dpbmRvd19yYWlzZSAoZ3RrX3dpZGdldF9nZXRfd2luZG93ICh3aWRnZXQpKTsKKy0gICAgICAgIH0KKy0gICAgICAgIHNlbmRfZm9jdXNfY2hhbmdlICh3aWRnZXQsIFRSVUUpOworLX0KKy0KKy1zdGF0aWMgdm9pZAorLW9uX3RleHRfYnVmZmVyX2NoYW5nZWQgKEd0a1RleHRCdWZmZXIgICAgKmJ1ZmZlciwKKy0gICAgICAgICAgICAgICAgICAgICAgICBHZG1FbnRyeU1lbnVJdGVtICppdGVtKQorLXsKKy0gICAgICAgIGludCBsZW47CistCistICAgICAgICBsZW4gPSBndGtfdGV4dF9idWZmZXJfZ2V0X2NoYXJfY291bnQgKGJ1ZmZlcik7CistICAgICAgICBpZiAobGVuID4gVEVYVF9CVUZGRVJfTUFYX0NIQVJTKSB7CistICAgICAgICAgICAgICAgIGdka193aW5kb3dfYmVlcCAoZ3RrX3dpZGdldF9nZXRfd2luZG93IChHVEtfV0lER0VUIChpdGVtKSkpOworLSAgICAgICAgfQorLX0KKy0KKy1zdGF0aWMgdm9pZAorLW9uX2VudHJ5X21vdmVfZm9jdXMgKEd0a1dpZGdldCAgICAgICAgKndpZGdldCwKKy0gICAgICAgICAgICAgICAgICAgICBHdGtEaXJlY3Rpb25UeXBlICBkaXJlY3Rpb24sCistICAgICAgICAgICAgICAgICAgICAgR2RtRW50cnlNZW51SXRlbSAqaXRlbSkKKy17CistICAgICAgICBnX2RlYnVnICgiZm9jdXMgbW92ZSIpOworLSAgICAgICAgc2VuZF9mb2N1c19jaGFuZ2UgKEdUS19XSURHRVQgKEdETV9FTlRSWV9NRU5VX0lURU0gKGl0ZW0pLT5lbnRyeSksIEZBTFNFKTsKKy0gICAgICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSAoaXRlbSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1vdmUtZm9jdXMiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHVEtfRElSX1RBQl9GT1JXQVJEKTsKKy19CistCistc3RhdGljIHZvaWQKKy1nZG1fZW50cnlfbWVudV9pdGVtX2luaXQgKEdkbUVudHJ5TWVudUl0ZW0gKml0ZW0pCisteworLSAgICAgICAgUGFuZ29Gb250RGVzY3JpcHRpb24gKmZvbnRkZXNjOworLSAgICAgICAgUGFuZ29Gb250TWV0cmljcyAgICAgKm1ldHJpY3M7CistICAgICAgICBQYW5nb0NvbnRleHQgICAgICAgICAqY29udGV4dDsKKy0gICAgICAgIFBhbmdvTGFuZ3VhZ2UgICAgICAgICpsYW5nOworLSAgICAgICAgaW50ICAgICAgICAgICAgICAgICAgIGFzY2VudDsKKy0gICAgICAgIEd0a1RleHRCdWZmZXIgICAgICAgICpidWZmZXI7CistCistICAgICAgICBpdGVtLT5oYm94ID0gZ3RrX2hib3hfbmV3IChGQUxTRSwgNik7CistICAgICAgICBndGtfY29udGFpbmVyX2FkZCAoR1RLX0NPTlRBSU5FUiAoaXRlbSksIGl0ZW0tPmhib3gpOworLQorLSAgICAgICAgaXRlbS0+aW1hZ2UgPSBndGtfaW1hZ2VfbmV3ICgpOworLSAgICAgICAgZ3RrX2JveF9wYWNrX3N0YXJ0IChHVEtfQk9YIChpdGVtLT5oYm94KSwgaXRlbS0+aW1hZ2UsIEZBTFNFLCBGQUxTRSwgMCk7CistCistICAgICAgICBpdGVtLT5lbnRyeSA9IGd0a190ZXh0X3ZpZXdfbmV3ICgpOworLSAgICAgICAgZ3RrX3RleHRfdmlld19zZXRfYWNjZXB0c190YWIgKEdUS19URVhUX1ZJRVcgKGl0ZW0tPmVudHJ5KSwgRkFMU0UpOworLSAgICAgICAgZ3RrX3RleHRfdmlld19zZXRfZWRpdGFibGUgKEdUS19URVhUX1ZJRVcgKGl0ZW0tPmVudHJ5KSwgVFJVRSk7CistICAgICAgICBndGtfdGV4dF92aWV3X3NldF93cmFwX21vZGUgKEdUS19URVhUX1ZJRVcgKGl0ZW0tPmVudHJ5KSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1RLX1dSQVBfV09SRCk7CistICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChpdGVtLT5lbnRyeSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICJzaG93IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKG9uX2VudHJ5X3Nob3cpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbSk7CistICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChpdGVtLT5lbnRyeSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICJtb3ZlLWZvY3VzIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKG9uX2VudHJ5X21vdmVfZm9jdXMpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbSk7CistCistICAgICAgICBidWZmZXIgPSBndGtfdGV4dF92aWV3X2dldF9idWZmZXIgKEdUS19URVhUX1ZJRVcgKGl0ZW0tPmVudHJ5KSk7CistICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChidWZmZXIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAiY2hhbmdlZCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChvbl90ZXh0X2J1ZmZlcl9jaGFuZ2VkKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0pOworLQorLSAgICAgICAgLyogZ2V0IHRoZSBmb250IGFzY2VudCBmb3IgdGhlIGN1cnJlbnQgZm9udCBhbmQgbGFuZ3VhZ2UgKi8KKy0gICAgICAgIGNvbnRleHQgPSBndGtfd2lkZ2V0X2dldF9wYW5nb19jb250ZXh0IChpdGVtLT5lbnRyeSk7CistICAgICAgICBmb250ZGVzYyA9IHBhbmdvX2NvbnRleHRfZ2V0X2ZvbnRfZGVzY3JpcHRpb24gKGNvbnRleHQpOworLSAgICAgICAgbGFuZyA9IHBhbmdvX2NvbnRleHRfZ2V0X2xhbmd1YWdlIChjb250ZXh0KTsKKy0gICAgICAgIG1ldHJpY3MgPSBwYW5nb19jb250ZXh0X2dldF9tZXRyaWNzIChjb250ZXh0LCBmb250ZGVzYywgbGFuZyk7CistICAgICAgICBhc2NlbnQgPSBwYW5nb19mb250X21ldHJpY3NfZ2V0X2FzY2VudCAobWV0cmljcykgKiAxLjUgLyBQQU5HT19TQ0FMRTsKKy0gICAgICAgIHBhbmdvX2ZvbnRfbWV0cmljc191bnJlZiAobWV0cmljcyk7CistCistICAgICAgICAvKiBzaXplIG91ciBwcm9ncmVzcyBiYXIgdG8gYmUgZml2ZSBhc2NlbnRzIGxvbmcgKi8KKy0gICAgICAgIGd0a193aWRnZXRfc2V0X3NpemVfcmVxdWVzdCAoaXRlbS0+ZW50cnksIGFzY2VudCAqIDUsIC0xKTsKKy0KKy0gICAgICAgIGd0a19ib3hfcGFja19zdGFydCAoR1RLX0JPWCAoaXRlbS0+aGJveCksIGl0ZW0tPmVudHJ5LCBUUlVFLCBUUlVFLCAwKTsKKy0KKy0gICAgICAgIGd0a193aWRnZXRfc2hvdyAoaXRlbS0+aGJveCk7CistICAgICAgICBndGtfd2lkZ2V0X3Nob3cgKGl0ZW0tPmltYWdlKTsKKy0gICAgICAgIGd0a193aWRnZXRfc2hvdyAoaXRlbS0+ZW50cnkpOworLX0KKy0KKy1HdGtXaWRnZXQgKgorLWdkbV9lbnRyeV9tZW51X2l0ZW1fbmV3ICh2b2lkKQorLXsKKy0gICAgICAgIHJldHVybiBnX29iamVjdF9uZXcgKEdETV9UWVBFX0VOVFJZX01FTlVfSVRFTSwgTlVMTCk7CistfQorLQorLUd0a1dpZGdldCAqCistZ2RtX2VudHJ5X21lbnVfaXRlbV9nZXRfZW50cnkgKEdkbUVudHJ5TWVudUl0ZW0gKml0ZW0pCisteworLSAgICAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKEdETV9JU19FTlRSWV9NRU5VX0lURU0gKGl0ZW0pLCBOVUxMKTsKKy0KKy0gICAgICAgIHJldHVybiBpdGVtLT5lbnRyeTsKKy19CistCistR3RrV2lkZ2V0ICoKKy1nZG1fZW50cnlfbWVudV9pdGVtX2dldF9pbWFnZSAoR2RtRW50cnlNZW51SXRlbSAqaXRlbSkKKy17CistICAgICAgICBnX3JldHVybl92YWxfaWZfZmFpbCAoR0RNX0lTX0VOVFJZX01FTlVfSVRFTSAoaXRlbSksIE5VTEwpOworLQorLSAgICAgICAgcmV0dXJuIGl0ZW0tPmltYWdlOworLX0KK2RpZmYgLS1naXQgYS9ndWkvdXNlci1zd2l0Y2gtYXBwbGV0L2dkbS1lbnRyeS1tZW51LWl0ZW0uaCBiL2d1aS91c2VyLXN3aXRjaC1hcHBsZXQvZ2RtLWVudHJ5LW1lbnUtaXRlbS5oCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDMwMzE2MDkuLjAwMDAwMDAKKy0tLSBhL2d1aS91c2VyLXN3aXRjaC1hcHBsZXQvZ2RtLWVudHJ5LW1lbnUtaXRlbS5oCisrKysgL2Rldi9udWxsCitAQCAtMSw1MSArMCwwIEBACistLyogLSotIE1vZGU6IEM7IHRhYi13aWR0aDogODsgaW5kZW50LXRhYnMtbW9kZTogbmlsOyBjLWJhc2ljLW9mZnNldDogOCAtKi0KKy0gKgorLSAqIENvcHlyaWdodCAoQykgMjAwNC0yMDA1IEphbWVzIE0uIENhcGUgPGpjYXBlQGlnbm9yZS15b3VyLnR2Pi4KKy0gKgorLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CistICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKy0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorLSAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCistICoKKy0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKy0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorLSAqCistICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy0gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorLSAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKy0gKi8KKy0KKy0jaWZuZGVmIF9fR0RNX0VOVFJZX01FTlVfSVRFTV9fCistI2RlZmluZSBfX0dETV9FTlRSWV9NRU5VX0lURU1fXworLQorLSNpbmNsdWRlIDxndGsvZ3RrLmg+CistCistR19CRUdJTl9ERUNMUworLQorLSNkZWZpbmUgR0RNX1RZUEVfRU5UUllfTUVOVV9JVEVNIFwKKy0gIChnZG1fZW50cnlfbWVudV9pdGVtX2dldF90eXBlICgpKQorLSNkZWZpbmUgR0RNX0VOVFJZX01FTlVfSVRFTShvYmplY3QpIFwKKy0gIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCAoKG9iamVjdCksIEdETV9UWVBFX0VOVFJZX01FTlVfSVRFTSwgR2RtRW50cnlNZW51SXRlbSkpCistI2RlZmluZSBHRE1fRU5UUllfTUVOVV9JVEVNX0NMQVNTKGtsYXNzKSBcCistICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QgKChrbGFzcyksIEdETV9UWVBFX0VOVFJZX01FTlVfSVRFTSwgR2RtRW50cnlNZW51SXRlbUNsYXNzKSkKKy0jZGVmaW5lIEdETV9JU19FTlRSWV9NRU5VX0lURU0ob2JqZWN0KSBcCistICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUgKChvYmplY3QpLCBHRE1fVFlQRV9FTlRSWV9NRU5VX0lURU0pKQorLSNkZWZpbmUgR0RNX0lTX0VOVFJZX01FTlVfSVRFTV9DTEFTUyhrbGFzcykgXAorLSAgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBFICgoa2xhc3MpLCBHRE1fVFlQRV9FTlRSWV9NRU5VX0lURU0pKQorLSNkZWZpbmUgR0RNX0VOVFJZX01FTlVfSVRFTV9HRVRfQ0xBU1Mob2JqZWN0KSBcCistICAoR19UWVBFX0lOU1RBTkNFX0dFVF9DTEFTUyAoKG9iamVjdCksIEdETV9UWVBFX0VOVFJZX01FTlVfSVRFTSwgR2RtRW50cnlNZW51SXRlbUNsYXNzKSkKKy0KKy10eXBlZGVmIHN0cnVjdCBfR2RtRW50cnlNZW51SXRlbSBHZG1FbnRyeU1lbnVJdGVtOworLXR5cGVkZWYgc3RydWN0IF9HZG1FbnRyeU1lbnVJdGVtQ2xhc3MgR2RtRW50cnlNZW51SXRlbUNsYXNzOworLQorLUdUeXBlICAgICAgZ2RtX2VudHJ5X21lbnVfaXRlbV9nZXRfdHlwZSAgICAgICh2b2lkKSBHX0dOVUNfQ09OU1Q7CistCistR3RrV2lkZ2V0ICpnZG1fZW50cnlfbWVudV9pdGVtX25ldyAgICAgICAgICAgKHZvaWQpOworLUd0a1dpZGdldCAqZ2RtX2VudHJ5X21lbnVfaXRlbV9nZXRfZW50cnkgICAgIChHZG1FbnRyeU1lbnVJdGVtICppdGVtKTsKKy1HdGtXaWRnZXQgKmdkbV9lbnRyeV9tZW51X2l0ZW1fZ2V0X2ltYWdlICAgICAoR2RtRW50cnlNZW51SXRlbSAqaXRlbSk7CistCistR19FTkRfREVDTFMKKy0KKy0jZW5kaWYgLyogX19HRE1fRU5UUllfTUVOVV9JVEVNX18gKi8KK2RpZmYgLS1naXQgYS9wby9QT1RGSUxFUy5pbiBiL3BvL1BPVEZJTEVTLmluCitpbmRleCAxZmNjYjkwLi5jYzFhM2ZkIDEwMDY0NAorLS0tIGEvcG8vUE9URklMRVMuaW4KKysrKyBiL3BvL1BPVEZJTEVTLmluCitAQCAtODQsMTAgKzg0LDYgQEAgZ3VpL3NpbXBsZS1ncmVldGVyL2dkbS10aW1lci5jCisgZ3VpL3NpbXBsZS1ncmVldGVyL2dkbS11c2VyLmMKKyBndWkvc2ltcGxlLWdyZWV0ZXIvZ2RtLXVzZXItY2hvb3Nlci13aWRnZXQuYworIGd1aS9zaW1wbGUtZ3JlZXRlci9ncmVldGVyLW1haW4uYworLWd1aS91c2VyLXN3aXRjaC1hcHBsZXQvYXBwbGV0LmMKKy1ndWkvdXNlci1zd2l0Y2gtYXBwbGV0L2dkbS1lbnRyeS1tZW51LWl0ZW0uYworLWd1aS91c2VyLXN3aXRjaC1hcHBsZXQvR05PTUVfRmFzdFVzZXJTd2l0Y2hBcHBsZXQuc2VydmVyLmluLmluCistZ3VpL3VzZXItc3dpdGNoLWFwcGxldC9HTk9NRV9GYXN0VXNlclN3aXRjaEFwcGxldC54bWwKKyB1dGlscy9nZG1mbGV4aXNlcnZlci5jCisgdXRpbHMvZ2RtLXNjcmVlbnNob3QuYworIAorZGlmZiAtLWdpdCBhL3BvL1BPVEZJTEVTLnNraXAgYi9wby9QT1RGSUxFUy5za2lwCitpbmRleCAwMjY5YTBmLi5lZTNkNzUzIDEwMDY0NAorLS0tIGEvcG8vUE9URklMRVMuc2tpcAorKysrIGIvcG8vUE9URklMRVMuc2tpcAorQEAgLTcsNyArNyw2IEBACisgIyByZW1vdmUgdGhlc2UgdW5sZXNzIHlvdSBmaXggIm1ha2UgZGlzdGNoZWNrIiBhIGRpZmZlcmVudCB3YXkuCisgIworIGRhdGEvZ2RtLnNjaGVtYXMuaW4KKy1ndWkvdXNlci1zd2l0Y2gtYXBwbGV0L0dOT01FX0Zhc3RVc2VyU3dpdGNoQXBwbGV0LnNlcnZlci5pbgorIGRhdGEvZ3JlZXRlci1hdXRvc3RhcnQvYXQtc3BpLXJlZ2lzdHJ5ZC13cmFwcGVyLmRlc2t0b3AuaW4KKyBkYXRhL2dyZWV0ZXItYXV0b3N0YXJ0L2dkbS1zaW1wbGUtZ3JlZXRlci5kZXNrdG9wLmluCisgZGF0YS9ncmVldGVyLWF1dG9zdGFydC9nbm9tZS1wb3dlci1tYW5hZ2VyLmRlc2t0b3AuaW4KKy0tIAorMS42LjYuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtLzAwMDItZ2RtLXVzZXItbWFuYWdlci5jLWF2b2lkLWRpc3BsYXlpbmctc3lzdGVtLXVzZXJzLWluLS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dkbS9nZG0vMDAwMi1nZG0tdXNlci1tYW5hZ2VyLmMtYXZvaWQtZGlzcGxheWluZy1zeXN0ZW0tdXNlcnMtaW4tLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkMjEwNzMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtLzAwMDItZ2RtLXVzZXItbWFuYWdlci5jLWF2b2lkLWRpc3BsYXlpbmctc3lzdGVtLXVzZXJzLWluLS5wYXRjaApAQCAtMCwwICsxLDM0IEBACitGcm9tIDQzZTU5ZjNkZWFkYjM5MTRhMWNjOTMxYWUxOGQ0MDIzODc0Y2RlY2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBGcmksIDI2IEFwciAyMDEzIDE3OjE1OjQ4ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGdkbS11c2VyLW1hbmFnZXIuYzogYXZvaWQgZGlzcGxheWluZyBzeXN0ZW0gdXNlcnMgaW4KKyBncmVldGVyJ3MgbGlzdAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCit5b2N0byBlbnZpcm9ubWVudCBzeXN0ZW0gdXNlcnMgaGF2ZSBVSUQgYmVsb3cgMTAwMAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIGd1aS9zaW1wbGUtZ3JlZXRlci9nZG0tdXNlci1tYW5hZ2VyLmMgfCAgICAyICstCisgMSBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9ndWkvc2ltcGxlLWdyZWV0ZXIvZ2RtLXVzZXItbWFuYWdlci5jIGIvZ3VpL3NpbXBsZS1ncmVldGVyL2dkbS11c2VyLW1hbmFnZXIuYworaW5kZXggYzYzMTk4OS4uZjE4ZTQ3OCAxMDA2NDQKKy0tLSBhL2d1aS9zaW1wbGUtZ3JlZXRlci9nZG0tdXNlci1tYW5hZ2VyLmMKKysrKyBiL2d1aS9zaW1wbGUtZ3JlZXRlci9nZG0tdXNlci1tYW5hZ2VyLmMKK0BAIC02Myw3ICs2Myw3IEBACisgI2lmZGVmIF9fc3VuCisgI2RlZmluZSBGQUxMQkFDS19NSU5JTUFMX1VJRCAgICAgMTAwCisgI2Vsc2UKKy0jZGVmaW5lIEZBTExCQUNLX01JTklNQUxfVUlEICAgICA1MDAKKysjZGVmaW5lIEZBTExCQUNLX01JTklNQUxfVUlEICAgICAxMDAwCisgI2VuZGlmCisgCisgI2lmbmRlZiBfUEFUSF9TSEVMTFMKKy0tIAorMS43LjQuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtL0RlZmF1bHQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtL0RlZmF1bHQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTdhN2ZjZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dkbS9nZG0vRGVmYXVsdApAQCAtMCwwICsxLDk2IEBACisjIS9iaW4vc2gKKyMgU3RvbGVuIGZyb20gdGhlIGRlYmlhbiBrZG0gc2V0dXAsIGFyZW4ndCBJIHNuZWFreQorIyBQbHVzIGEgbG90IG9mIGZ1biBzdHVmZiBhZGRlZAorIyAgLUdlb3JnZQorCitQQVRIPSIvdXNyL2JpbjokUEFUSCIKK09MRF9JRlM9JElGUworCitnZG13aGljaCAoKSB7CisgIENPTU1BTkQ9IiQxIgorICBPVVRQVVQ9CisgIElGUz06CisgIGZvciBkaXIgaW4gJFBBVEgKKyAgZG8KKyAgICBpZiB0ZXN0IC14ICIkZGlyLyRDT01NQU5EIiA7IHRoZW4KKyAgICAgIGlmIHRlc3QgIngkT1VUUFVUIiA9ICJ4IiA7IHRoZW4KKyAgICAgICAgT1VUUFVUPSIkZGlyLyRDT01NQU5EIgorICAgICAgZmkKKyAgICBmaQorICBkb25lCisgIElGUz0kT0xEX0lGUworICBlY2hvICIkT1VUUFVUIgorfQorCitzeXNyZXNvdXJjZXM9L2V0Yy9YMTEvWHJlc291cmNlcworCisjIG1lcmdlIGluIGRlZmF1bHRzCitpZiBbIC1mICIkc3lzcmVzb3VyY2VzIiBdOyB0aGVuCisgICAgeHJkYiAtbWVyZ2UgIiRzeXNyZXNvdXJjZXMiCitmaQorCitzeXNtb2RtYXA9L2V0Yy9YMTEvWG1vZG1hcAorCitYTU9ETUFQPWBnZG13aGljaCB4bW9kbWFwYAoraWYgWyAieCRYTU9ETUFQIiAhPSAieCIgXSA7IHRoZW4KKyAgaWYgWyAieCRHRE1fUEFSRU5UX0RJU1BMQVkiID0gIngiIF07IHRoZW4KKyAgICBpZiBbIC1mICRzeXNtb2RtYXAgXTsgdGhlbgorICAgICAgJFhNT0RNQVAgJHN5c21vZG1hcAorICAgIGZpCisgIGVsc2UKKyAgICAoIERJU1BMQVk9JEdETV9QQVJFTlRfRElTUExBWSBYQVVUSE9SSVRZPSRHRE1fUEFSRU5UX1hBVVRIT1JJVFkgJFhNT0RNQVAgLXBrZSApIHwgJFhNT0RNQVAgLQorICBmaQorCisgICMKKyAgIyBTd2l0Y2ggU3VuJ3MgQWx0IGFuZCBNZXRhIG1vZCBtYXBwaW5ncworICAjCisKKyAgVU5BTUU9YGdkbXdoaWNoIHVuYW1lYAorICBQUk9DRVNTT1I9YCRVTkFNRSAtcGAKKyAgaWYgWyAieCRQUk9DRVNTT1IiID0gInhzcGFyYyIgXTsgdGhlbgorICAgIGlmICRYTU9ETUFQIHwgL3Vzci9iaW4vZ3JlcCBtb2Q0IHwgL3Vzci9iaW4vZ3JlcCBBbHQgPiAvZGV2L251bGwgMj4vZGV2L251bGwKKyAgICB0aGVuCisgICAgICAkWE1PRE1BUCAtZSAiY2xlYXIgTW9kMSIgXAorICAgICAgICAgICAgICAgLWUgImNsZWFyIE1vZDQiIFwKKyAgICAgICAgICAgICAgIC1lICJhZGQgTW9kMSA9IEFsdF9MIiBcCisgICAgICAgICAgICAgICAtZSAiYWRkIE1vZDEgPSBBbHRfUiIgXAorICAgICAgICAgICAgICAgLWUgImFkZCBNb2Q0ID0gTWV0YV9MIiBcCisgICAgICAgICAgICAgICAtZSAiYWRkIE1vZDQgPSBNZXRhX1IiCisgICAgZmkKKyAgZmkKK2ZpCisKK1NFVFhLQk1BUD1gZ2Rtd2hpY2ggc2V0eGtibWFwYAoraWYgWyAieCRTRVRYS0JNQVAiICE9ICJ4IiBdIDsgdGhlbgorICAjIEZJWE1FOiBpcyB0aGlzIGFsbCByaWdodD8gIElzIHRoaXMgY29tcGxldGVseSBvbiBjcmFjaz8KKyAgIyBXaGF0IHRoaXMgZG9lcyBpcyBtb3ZlIHRoZSB4a2IgY29uZmlndXJhdGlvbiBmcm9tIHRoZSBHRE1fUEFSRU5UX0RJU1BMQVkKKyAgIyBGSVhNRTogVGhpcyBzaG91bGQgYmUgZG9uZSBpbiBjb2RlLiAgT3IgdGhlcmUgbXVzdCBiZSBhbiBlYXNpZXIgd2F5IC4uLgorICBpZiBbIC1uICIkR0RNX1BBUkVOVF9ESVNQTEFZIiBdOyB0aGVuCisgICAgWEtCU0VUVVA9YCggRElTUExBWT0kR0RNX1BBUkVOVF9ESVNQTEFZIFhBVVRIT1JJVFk9JEdETV9QQVJFTlRfWEFVVEhPUklUWSAkU0VUWEtCTUFQIC12IClgCisgICAgaWYgWyAtbiAiJFhLQlNFVFVQIiBdOyB0aGVuCisgICAgICBYS0JLRVlNQVA9YGVjaG8gIiRYS0JTRVRVUCIgfCBncmVwICdea2V5bWFwJyB8IGF3ayAneyBwcmludCAkMiB9J2AKKyAgICAgIFhLQlRZUEVTPWBlY2hvICIkWEtCU0VUVVAiIHwgZ3JlcCAnXnR5cGVzJyB8IGF3ayAneyBwcmludCAkMiB9J2AKKyAgICAgIFhLQkNPTVBBVD1gZWNobyAiJFhLQlNFVFVQIiB8IGdyZXAgJ15jb21wYXQnIHwgYXdrICd7IHByaW50ICQyIH0nYAorICAgICAgWEtCU1lNQk9MUz1gZWNobyAiJFhLQlNFVFVQIiB8IGdyZXAgJ15zeW1ib2xzJyB8IGF3ayAneyBwcmludCAkMiB9J2AKKyAgICAgIFhLQkdFT01FVFJZPWBlY2hvICIkWEtCU0VUVVAiIHwgZ3JlcCAnXmdlb21ldHJ5JyB8IGF3ayAneyBwcmludCAkMiB9J2AKKyAgICAgIGlmIFsgLW4gIiRYS0JLRVlNQVAiIF07IHRoZW4KKyAgICAgICAgJFNFVFhLQk1BUCAta2V5bWFwICIkWEtCS0VZTUFQIgorICAgICAgZWxpZiBbIC1uICIkWEtCVFlQRVMiIC1hIC1uICIkWEtCQ09NUEFUIiAtYSAtbiAiJFhLQlNZTUJPTFMiIC1hIC1uICIkWEtCR0VPTUVUUlkiIF07IHRoZW4KKyAgICAgICAgJFNFVFhLQk1BUCAtdHlwZXMgIiRYS0JUWVBFUyIgLWNvbXBhdCAiJFhLQkNPTVBBVCIgLXN5bWJvbHMgIiRYS0JTWU1CT0xTIiAtZ2VvbWV0cnkgIiRYS0JHRU9NRVRSWSIKKyAgICAgIGVsaWYgWyAtbiAiJFhLQlRZUEVTIiAtYSAtbiAiJFhLQkNPTVBBVCIgLWEgLW4gIiRYS0JTWU1CT0xTIiBdOyB0aGVuCisgICAgICAgICRTRVRYS0JNQVAgLXR5cGVzICIkWEtCVFlQRVMiIC1jb21wYXQgIiRYS0JDT01QQVQiIC1zeW1ib2xzICIkWEtCU1lNQk9MUyIKKyAgICAgIGVsaWYgWyAtbiAiJFhLQlNZTUJPTFMiIF07IHRoZW4KKyAgICAgICAgJFNFVFhLQk1BUCAtc3ltYm9scyAiJFhLQlNZTUJPTFMiCisgICAgICBmaQorICAgIGZpCisgIGZpCitmaQorCisjIEZJWE1FOiB0aGUgaG91c2VrZWVwaW5nIGJlbG93IHJlYWxseSBzaG91bGQgYmUgbW92ZWQgdG8gdGhlIHBvc3RpbnN0IG9mIHBhY2thZ2VzIHRoYXQgcmVxdWlyZSBpdAorIyBicnV0ZSBmb3JjZSBhcHByb2FjaCBmb3Igbm93Cit1cGRhdGUtZGVza3RvcC1kYXRhYmFzZQorZ2xpYi1jb21waWxlLXNjaGVtYXMgL3Vzci9zaGFyZS9nbGliLTIuMC9zY2hlbWFzLworCisjeDExdm5jICAtcSAtYmcgLWRpc3BsYXkgOjAgLWZvcmV2ZXIgLWF2YWhpIC14a2IKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtL2Nyb3NzLXhkZXRlY3Rpb24uZGlmZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dkbS9nZG0vY3Jvc3MteGRldGVjdGlvbi5kaWZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlZTM1MTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtL2Nyb3NzLXhkZXRlY3Rpb24uZGlmZgpAQCAtMCwwICsxLDk2IEBACitGcm9tIDYwMDg0ZTdlOTczNjM0OTcxYzk2NDNmMjQ1OWU1ZDNlMjQ4ZWUzZjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorRGF0ZTogVGh1LCA5IEp1biAyMDExIDE4OjEyOjQ1ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGJ1aWxkLXN5czogaGFyZGNvZGUgeCBwYXRocyB0byBmaXggY3Jvc3Njb21waWxpbmcKKworU2lnbmVkLW9mZi1ieTogS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8ICAgNzIgKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDY3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCBlZWFmM2RjLi44NDFlZmUwIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0xMTAxLDczICsxMTAxLDExIEBAIGRubCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBkbmwgLSBDaGVjayBmb3IgWCBTZXJ2ZXIgbG9jYXRpb24KKyBkbmwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgCistIyBGaXJzdCBjaGVjayB3aXRoICIhIC1oIiBmb3IgL3Vzci9YMTFSNiBhbmQgL3Vzci9YMTEgc2luY2UgdGhleSBvZnRlbgorLSMgc3ltbGluayB0byBlYWNoIG90aGVyLCBhbmQgY29uZmlndXJlIHNob3VsZCB1c2UgdGhlIG1vcmUgc3RhYmxlCistIyBsb2NhdGlvbiAodGhlIHJlYWwgZGlyZWN0b3J5KSBpZiBwb3NzaWJsZS4KKy0jCistIyBPbiBTb2xhcmlzLCB0aGUgL3Vzci9iaW4vWHNlcnZlciBzY3JpcHQgaXMgdXNlZCB0byBkZWNpZGUgd2hldGhlciB0bworLSMgdXNlIFhzdW4gb3IgWG9yZywgc28gdGhpcyBpcyB1c2VkIG9uIFNvbGFyaXMuCistIworLSMgV2hlbiB0ZXN0aW5nIGZvciAvdXNyL1gxMVI2LCBmaXJzdCBjaGVjayB3aXRoICIhIC1oIiBmb3IgL3Vzci9YMTFSNgorLSMgYW5kIC91c3IvWDExIHNpbmNlIHRoZXkgb2Z0ZW4gc3ltbGluayB0byBlYWNoIG90aGVyLCBhbmQgY29uZmlndXJlCistIyBzaG91bGQgdXNlIHRoZSBtb3JlIHN0YWJsZSBsb2NhdGlvbiAodGhlIHJlYWwgZGlyZWN0b3J5KSBpZiBwb3NzaWJsZS4KKy0jCistaWYgdGVzdCAteCAvdXNyL1gxMS9iaW4vWHNlcnZlcjsgdGhlbgorLSAgIFhfUEFUSD0iL3Vzci9YMTEvYmluIgorLSAgIFhfU0VSVkVSX1BBVEg9Ii91c3IvWDExL2JpbiIKKy0gICBYX1NFUlZFUj0iL3Vzci9YMTEvYmluL1hzZXJ2ZXIiCistICAgWF9DT05GSUdfT1BUSU9OUz0iLWF1ZGl0IDAiCistZWxpZiB0ZXN0ICEgLWggL3Vzci9YMTFSNiAtYSAteCAvdXNyL1gxMVI2L2Jpbi9YOyB0aGVuCistICAgWF9QQVRIPSIvdXNyL1gxMVI2L2JpbiIKKy0gICBYX1NFUlZFUl9QQVRIPSIvdXNyL1gxMVI2L2JpbiIKKy0gICBYX1NFUlZFUj0iL3Vzci9YMTFSNi9iaW4vWCIKKy0gICBYX0NPTkZJR19PUFRJT05TPSItYXVkaXQgMCIKKy1lbGlmIHRlc3QgISAtaCAvdXNyL1gxMSAtYSAteCAvdXNyL1gxMS9iaW4vWDsgdGhlbgorLSAgIFhfUEFUSD0iL3Vzci9YMTEvYmluIgorLSAgIFhfU0VSVkVSX1BBVEg9Ii91c3IvWDExL2JpbiIKKy0gICBYX1NFUlZFUj0iL3Vzci9YMTEvYmluL1giCistICAgWF9DT05GSUdfT1BUSU9OUz0iLWF1ZGl0IDAiCistZWxpZiB0ZXN0IC14IC91c3IvWDExUjYvYmluL1g7IHRoZW4KKy0gICBYX1BBVEg9Ii91c3IvWDExUjYvYmluIgorLSAgIFhfU0VSVkVSX1BBVEg9Ii91c3IvWDExUjYvYmluIgorLSAgIFhfU0VSVkVSPSIvdXNyL1gxMVI2L2Jpbi9YIgorLSAgIFhfQ09ORklHX09QVElPTlM9Ii1hdWRpdCAwIgorLWVsaWYgdGVzdCAteCAvdXNyL2Jpbi9Yb3JnOyB0aGVuCistICAgWF9QQVRIPSIvdXNyL2JpbiIKKy0gICBYX1NFUlZFUl9QQVRIPSIvdXNyL2JpbiIKKy0gICBYX1NFUlZFUj0iL3Vzci9iaW4vWG9yZyIKKy0gICBYX0NPTkZJR19PUFRJT05TPSItYXVkaXQgMCIKKy1lbGlmIHRlc3QgLXggL3Vzci9YMTEvYmluL1g7IHRoZW4KKy0gICBYX1BBVEg9Ii91c3IvWDExL2JpbiIKKy0gICBYX1NFUlZFUl9QQVRIPSIvdXNyL1gxMS9iaW4iCistICAgWF9TRVJWRVI9Ii91c3IvWDExL2Jpbi9YIgorLSAgIFhfQ09ORklHX09QVElPTlM9Ii1hdWRpdCAwIgorLWVsaWYgdGVzdCAteCAvdXNyL29wZW53aW4vYmluL1hzdW47IHRoZW4KKy0gICAjIERvIG5vdCBhZGQgL3Vzci9vcGVud2luL2JpbiBoZXJlIGJlY2F1c2Ugb24gU29sYXJpcyB5b3UgbmVlZAorLSAgICMgL3Vzci9vcGVud2luL2JpbiBpbiB5b3VyIFBBVEggZXZlbiBpZiB5b3UgYXJlIHVzaW5nIHRoZSBYb3JnCistICAgIyBYc2VydmVyLiAgV2UgYWRkIHRoaXMgdG8gdGhlIHBhdGggYmVsb3cuCistICAgWF9QQVRIPSIvdXNyL29wZW53aW4vYmluIgorLSAgIFhfU0VSVkVSX1BBVEg9Ii91c3Ivb3Blbndpbi9iaW4iCistICAgWF9TRVJWRVI9Ii91c3Ivb3Blbndpbi9iaW4vWHN1biIKKy0gICBYX0NPTkZJR19PUFRJT05TPSItYXVkaXQgMCAtbm9iYW5uZXIiCistZWxpZiB0ZXN0IC14IC9vcHQvWDExUjYvYmluL1g7IHRoZW4KKy0gICBYX1BBVEg9Ii9vcHQvWDExUjYvYmluIgorLSAgIFhfU0VSVkVSX1BBVEg9Ii9vcHQvWDExUjYvYmluIgorLSAgIFhfU0VSVkVSPSIvb3B0L1gxMVI2L2Jpbi9YIgorLSAgIFhfQ09ORklHX09QVElPTlM9Ii1hdWRpdCAwIgorLWVsaWYgdGVzdCAteCAvdXNyL2Jpbi9YOyB0aGVuCistICAgWF9QQVRIPSIvdXNyL2JpbiIKKy0gICBYX1NFUlZFUl9QQVRIPSIvdXNyL2JpbiIKKy0gICBYX1NFUlZFUj0iL3Vzci9iaW4vWCIKKy0gICBYX0NPTkZJR19PUFRJT05TPSItYXVkaXQgMCIKKy1lbHNlCistICAgIyB3aGF0IHRvIGRvLCB3aGF0IHRvIGRvLCB0aGlzIGlzIHdyb25nLCBidXQgdGhpcyBqdXN0IHNldHMgdGhlCistICAgIyBkZWZhdWx0cywgcGVyaGFwcyB0aGlzIHVzZXIgaXMgY3Jvc3MgY29tcGlsaW5nIG9yIHNvbWUgc3VjaAorLSAgIFhfUEFUSD0iL3Vzci9iaW4vWDExOi91c3IvWDExUjYvYmluOi9vcHQvWDExUjYvYmluIgorLSAgIFhfU0VSVkVSX1BBVEg9Ii91c3IvYmluIgorLSAgIFhfU0VSVkVSPSIvdXNyL2Jpbi9YIgorLSAgIFhfQ09ORklHX09QVElPTlM9Ii1hdWRpdCAwIgorLWZpCisrIyBXZSBoYXJkY29kZSB0aGUgWCBwYXRocyBzaW5jZSB3ZSBrbm93IHdoZXJlIGl0IHdpbGwgYmUgaW4gdGhlIE9FIHVuaXZlcnMKKytYX1BBVEg9Ii91c3IvYmluIgorK1hfU0VSVkVSX1BBVEg9Ii91c3IvYmluIgorK1hfU0VSVkVSPSIvdXNyL2Jpbi9YIgorK1hfQ09ORklHX09QVElPTlM9Ii1hdWRpdCAwIgorIAorIGRubCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBkbmwgLSBDaGVjayBmb3IgWG5lc3QgLyBYZXBoeXIgc3VwcG9ydAorLS0gCisxLjYuNi4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dkbS9nZG0vZ2RtIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2RtL2dkbS9nZG0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmI1YjQxOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dkbS9nZG0vZ2RtCkBAIC0wLDAgKzEsODkgQEAKKyMhIC9iaW4vc2gKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6ICAgICAgICAgIGdkbQorIyBTaG91bGQtU3RhcnQ6ICAgICAgY29uc29sZS1zY3JlZW4gYWNwaWQgZGJ1cyBoYWwgbmV0d29yay1tYW5hZ2VyCisjIFJlcXVpcmVkLVN0YXJ0OiAgICAkbG9jYWxfZnMgJHJlbW90ZV9mcworIyBSZXF1aXJlZC1TdG9wOiAgICAgJGxvY2FsX2ZzICRyZW1vdGVfZnMKKyMgRGVmYXVsdC1TdGFydDogICAgIDUKKyMgRGVmYXVsdC1TdG9wOiAgICAgIDAgMSAyIDMgNgorIyBTaG9ydC1EZXNjcmlwdGlvbjogR05PTUUgRGlzcGxheSBNYW5hZ2VyCisjIERlc2NyaXB0aW9uOiAgICAgICBEZWJpYW4gaW5pdCBzY3JpcHQgZm9yIHRoZSBHTk9NRSBEaXNwbGF5IE1hbmFnZXIKKyMjIyBFTkQgSU5JVCBJTkZPCisjCisjIEF1dGhvcjogICAgICAgUnlhbiBNdXJyYXkgPHJtdXJyYXlAZGViaWFuLm9yZz4KKyMKK3NldCAtZQorCitQQVRIPS9zYmluOi9iaW46L3Vzci9zYmluOi91c3IvYmluCitEQUVNT049L3Vzci9zYmluL2dkbQorCit0ZXN0IC14ICREQUVNT04gfHwgZXhpdCAwCisKK2lmIFsgLXIgL2V0Yy9kZWZhdWx0L2xvY2FsZSBdOyB0aGVuCisgIC4gL2V0Yy9kZWZhdWx0L2xvY2FsZQorICBleHBvcnQgTEFORyBMQU5HVUFHRQorZmkKKworIyBUbyBzdGFydCBnZG0gZXZlbiBpZiBpdCBpcyBub3QgdGhlIGRlZmF1bHQgZGlzcGxheSBtYW5hZ2VyLCBjaGFuZ2UKKyMgSEVFRF9ERUZBVUxUX0RJU1BMQVlfTUFOQUdFUiB0byAiZmFsc2UuIgorSEVFRF9ERUZBVUxUX0RJU1BMQVlfTUFOQUdFUj10cnVlCitERUZBVUxUX0RJU1BMQVlfTUFOQUdFUl9GSUxFPS9ldGMvWDExL2RlZmF1bHQtZGlzcGxheS1tYW5hZ2VyCisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKwkjIG1ha2UgbmVlZGVkIGRpcmVjdG9yaWVzIGluIHZvbGF0aWxlCisKKwlpZiBbIC1lIC92YXIvbG9nL2dkbSBdIDsgdGhlbiAKKwkJcm0gLXJmIC92YXIvbG9nL2dkbQorCWZpCisKKwlta2RpciAtbSAwMTc3MCAvdmFyL2xvZy9nZG0KKwljaG93biBnZG06Z2RtIC92YXIvbG9nL2dkbQorCisJaWYgWyAtZSAvdG1wLy5JQ0UtdW5peCBdIDsgdGhlbiAKKwkJcm0gLXJmIC90bXAvLklDRS11bml4CisJZmkKKworCW1rZGlyIC1tIDAxNzc3IC90bXAvLklDRS11bml4CisJY2hvd24gcm9vdDpyb290IC90bXAvLklDRS11bml4CisKKyAgICAgICAgQ09ORklHVVJFRF9EQUVNT049JChiYXNlbmFtZSAiJChjYXQgJERFRkFVTFRfRElTUExBWV9NQU5BR0VSX0ZJTEUgMj4gL2Rldi9udWxsKSIpCisgICAgICAgIGlmIGdyZXAgLXdxcyB0ZXh0IC9wcm9jL2NtZGxpbmU7IHRoZW4KKyAgICAgICAgICAgIGVjaG8gIk5vdCBzdGFydGluZyBHTk9NRSBEaXNwbGF5IE1hbmFnZXIgKGdkbSk7IGZvdW5kICd0ZXh0JyBpbiBrZXJuZWwgY29tbWFuZGxpbmUuIgorICAgICAgICBlbGlmIFsgLWUgIiRERUZBVUxUX0RJU1BMQVlfTUFOQUdFUl9GSUxFIiBdICYmIFwKKyAgICAgICAgICAgWyAiJEhFRURfREVGQVVMVF9ESVNQTEFZX01BTkFHRVIiID0gInRydWUiIF0gJiYgXAorICAgICAgICAgICBbICIkQ09ORklHVVJFRF9EQUVNT04iICE9IGdkbSBdIDsgdGhlbgorICAgICAgICAgICAgICAgIGVjaG8gIk5vdCBzdGFydGluZyBHTk9NRSBEaXNwbGF5IE1hbmFnZXI7IGl0IGlzIG5vdCB0aGUgZGVmYXVsdCBkaXNwbGF5IG1hbmFnZXIiCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBlY2hvICJTdGFydGluZyBHTk9NRSBEaXNwbGF5IE1hbmFnZXIiICJnZG0iCisgICAgICAgICAgICAgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtYiAtLWV4ZWMgJERBRU1PTiAKKyAgICAgICAgZmkKKyAgOzsKKyAgc3RvcCkKKyAgICAgICAgZWNobyAiU3RvcHBpbmcgR05PTUUgRGlzcGxheSBNYW5hZ2VyIiAiZ2RtIgorICAgICAgICBzZXQgK2UKKyAgICAgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tcXVpZXQgLS1waWRmaWxlIC92YXIvcnVuL2dkbS5waWQgXAorICAgICAgICAgICAgICAgIC0tbmFtZSBnZG0gLS1yZXRyeSA1CisgICAgICAgIHNldCAtZQorICA7OworICByZWxvYWQpCisgICAgICAgIGVjaG8gIlNjaGVkdWxpbmcgcmVsb2FkIG9mIEdOT01FIERpc3BsYXkgTWFuYWdlciBjb25maWd1cmF0aW9uIiAiZ2RtIgorICAgICAgICBzZXQgK2UKKyAgICAgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tc2lnbmFsIFVTUjEgLS1xdWlldCAtLXBpZGZpbGUgXAorICAgICAgICAgICAgICAgIC92YXIvcnVuL2dkbS5waWQgLS1uYW1lIGdkbQorICAgICAgICBzZXQgLWUKKyAgOzsKKyAgc3RhdHVzKQorICAgICAgICBzdGF0dXNfb2ZfcHJvYyAtcCAiJFBJREZJTEUiICIkREFFTU9OIiBnZG0gJiYgZXhpdCAwIHx8IGV4aXQgJD8KKyAgOzsKKyAgcmVzdGFydHxmb3JjZS1yZWxvYWQpCisgICAgICAgICQwIHN0b3AKKyAgICAgICAgJDAgc3RhcnQKKyAgOzsKKyAgKikKKyAgICAgICAgZWNobyAiVXNhZ2U6IC9ldGMvaW5pdC5kL2dkbSB7c3RhcnR8c3RvcHxyZXN0YXJ0fHJlbG9hZHxmb3JjZS1yZWxvYWR8c3RhdHVzfSIKKyAgICAgICAgZXhpdCAxCisgIDs7Citlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2RtL2dkbS9nZG0tcGFtIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2RtL2dkbS9nZG0tcGFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5ZmFmZWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtL2dkbS1wYW0KQEAgLTAsMCArMSwxMSBAQAorIworIyBkZWZhdWx0OyBzdGFuZGFyZCBVTipYIGFjY2VzcworIworYXV0aCAgICAgcmVxdWlyZWQgICAgICAgcGFtX3VuaXguc28KK2FjY291bnQgIHJlcXVpcmVkICAgICAgIHBhbV91bml4LnNvCitwYXNzd29yZCByZXF1aXJlZCAgICAgICBwYW1fdW5peC5zbworc2Vzc2lvbiAgcmVxdWlyZWQgICAgICAgcGFtX3VuaXguc28KKworYXV0aCAgICAgb3B0aW9uYWwgICAgICAgcGFtX2dub21lX2tleXJpbmcuc28KK3Nlc3Npb24gIG9wdGlvbmFsICAgICAgIHBhbV9nbm9tZV9rZXlyaW5nLnNvICBhdXRvX3N0YXJ0CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dkbS9nZG0vZ2RtLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtL2dkbS5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1OTgyM2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtL2dkbS5jb25mCkBAIC0wLDAgKzEsODAgQEAKKyMgR0RNIEN1c3RvbSBDb25maWd1cmF0aW9uIGZpbGUuCisjCisjIFRoaXMgZmlsZSBpcyB0aGUgYXBwcm9wcmlhdGUgcGxhY2UgZm9yIHNwZWNpZnlpbmcgeW91ciBjdXN0b21pemF0aW9ucyB0byB0aGUKKyMgR0RNIGNvbmZpZ3VyYXRpb24uICAgSWYgeW91IHJ1biBnZG1zZXR1cCwgaXQgd2lsbCBhdXRvbWF0aWNhbGx5IGVkaXQgdGhpcworIyBmaWxlIGZvciB5b3UgYW5kIHdpbGwgY2F1c2UgdGhlIGRhZW1vbiBhbmQgYW55IHJ1bm5pbmcgR0RNIEdVSSBwcm9ncmFtcyB0bworIyBhdXRvbWF0aWNhbGx5IHVwZGF0ZSB3aXRoIHRoZSBuZXcgY29uZmlndXJhdGlvbi4gIE5vdCBhbGwgY29uZmlndXJhdGlvbgorIyBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgYnkgZ2Rtc2V0dXAsIHNvIHRvIG1vZGlmeSBzb21lIHZhbHVlcyBpdCBtYXkgYmUKKyMgbmVjZXNzYXJ5IHRvIG1vZGlmeSB0aGlzIGZpbGUgZGlyZWN0bHkgYnkgaGFuZC4KKyMKKyMgVGhpcyBmaWxlIG92ZXJyaWRlcyB0aGUgZGVmYXVsdCBjb25maWd1cmF0aW9uIHNldHRpbmdzLiAgVGhlc2Ugc2V0dGluZ3MgCisjIGFyZSBzdG9yZWQgaW4gdGhlIEdETSBTeXN0ZW0gRGVmYXVsdHMgY29uZmlndXJhdGlvbiBmaWxlLCB3aGljaCBpcyBmb3VuZAorIyBhdCB0aGUgZm9sbG93aW5nIGxvY2F0aW9uLgorIworIyAvdXNyL3NoYXJlL2dkbS9kZWZhdWx0cy5jb25mLiAgCisjCisjIFRoaXMgZmlsZSBjb250YWlucyBjb21tZW50cyBhYm91dCB0aGUgbWVhbmluZyBvZiBlYWNoIGNvbmZpZ3VyYXRpb24gb3B0aW9uLAorIyBzbyBpcyBhbHNvIGEgdXNlZnVsIHJlZmVyZW5jZS4gIEFsc28gcmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gbGlua3MgYXQKKyMgdGhlIGVuZCBvZiB0aGlzIGNvbW1lbnQgZm9yIGZ1cnRoZXIgaW5mb3JtYXRpb24uICBJbiBzaG9ydCwgdG8gaGFuZC1lZGl0CisjIHRoaXMgZmlsZSwgc2ltcGx5IGFkZCBvciBtb2RpZnkgdGhlIGtleT12YWx1ZSBjb21iaW5hdGlvbiBpbiB0aGUKKyMgYXBwcm9wcmlhdGUgc2VjdGlvbiBpbiB0aGUgdGVtcGxhdGUgYmVsb3cgdGhpcyBjb21tZW50IHNlY3Rpb24uCisjCisjIEZvciBleGFtcGxlLCBpZiB5b3Ugd2FudCB0byBzcGVjaWZ5IGEgZGlmZmVyZW50IHZhbHVlIGZvciB0aGUgRW5hYmxlIGtleQorIyBpbiB0aGUgIltkZWJ1Z10iIHNlY3Rpb24gb2YgeW91ciBHRE0gU3lzdGVtIERlZmF1bHRzIGNvbmZpZ3VyYXRpb24gZmlsZSwKKyMgdGhlbiBhZGQgIkVuYWJsZT10cnVlIiBpbiB0aGUgIltkZWJ1Z10iIHNlY3Rpb24gb2YgdGhpcyBmaWxlLiAgSWYgdGhlCisjIGtleSBhbHJlYWR5IGV4aXN0cyBpbiB0aGlzIGZpbGUsIHRoZW4gc2ltcGx5IG1vZGlmeSBpdC4KKyMKKyMgT2xkZXIgdmVyc2lvbnMgb2YgR0RNIHVzZWQgdGhlICJnZG0uY29uZiIgZmlsZSBmb3IgY29uZmlndXJhdGlvbi4gIElmIHlvdXIKKyMgc3lzdGVtIGhhcyBhbiBvbGQgZ2RtLmNvbmYgZmlsZSBvbiB0aGUgc3lzdGVtLCBpdCB3aWxsIGJlIHVzZWQgaW5zdGVhZCBvZgorIyB0aGlzIGZpbGUgLSBzbyBjaGFuZ2VzIG1hZGUgdG8gdGhpcyBmaWxlIHdpbGwgbm90IHRha2UgZWZmZWN0LiAgQ29uc2lkZXIKKyMgbWlncmF0aW5nIHlvdXIgY29uZmlndXJhdGlvbiB0byB0aGlzIGZpbGUgYW5kIHJlbW92aW5nIHRoZSBnZG0uY29uZiBmaWxlLgorIworIyBJZiB5b3UgaGFuZCBlZGl0IGEgR0RNIGNvbmZpZ3VyYXRpb24gZmlsZSwgeW91IGNhbiBydW4gdGhlIGZvbGxvd2luZworIyBjb21tYW5kIGFuZCB0aGUgR0RNIGRhZW1vbiB3aWxsIGltbWVkaWF0ZWx5IHJlZmxlY3QgdGhlIGNoYW5nZS4gIEFueQorIyBydW5uaW5nIEdETSBHVUkgcHJvZ3JhbXMgd2lsbCBhbHNvIGJlIG5vdGlmaWVkIHRvIHVwZGF0ZSB3aXRoIHRoZSBuZXcKKyMgY29uZmlndXJhdGlvbi4KKyMKKyMgZ2RtZmxleGlzZXJ2ZXIgLS1jb21tYW5kPSJVUERBVEVfQ09ORklHIDxjb25maWd1cmF0aW9uIGtleT4iCisjCisjIGUuZywgdGhlICJFbmFibGUiIGtleSBpbiB0aGUgIltkZWJ1Z10iIHNlY3Rpb24gd291bGQgYmUgImRlYnVnL0VuYWJsZSIuCisjCisjIFlvdSBjYW4gYWxzbyBydW4gZ2RtLXJlc3RhcnQgb3IgZ2RtLXNhZmUtcmVzdGFydCB0byBjYXVzZSBHRE0gdG8gcmVzdGFydCBhbmQKKyMgcmUtcmVhZCB0aGUgbmV3IGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MuICBZb3UgY2FuIGFsc28gcmVzdGFydCBHRE0gYnkgc2VuZGluZworIyBhIEhVUCBvciBVU1IxIHNpZ25hbCB0byB0aGUgZGFlbW9uLiAgSFVQIGJlaGF2ZXMgbGlrZSBnZG0tcmVzdGFydCBhbmQgY2F1c2VzCisjIGFueSB1c2VyIHNlc3Npb24gc3RhcnRlZCBieSBHRE0gdG8gZXhpdCBpbW1lZGlhdGVseSB3aGlsZSBVU1IxIGJlaGF2ZXMgbGlrZQorIyBnZG0tc2FmZS1yZXN0YXJ0IGFuZCB3aWxsIHdhaXQgdW50aWwgYWxsIHVzZXJzIGxvZyBvdXQgYmVmb3JlIHJlc3RhcnRpbmcgR0RNLgorIworIyBGb3IgZnVsbCByZWZlcmVuY2UgZG9jdW1lbnRhdGlvbiBzZWUgdGhlIGdub21lIGhlbHAgYnJvd3NlciB1bmRlcgorIyBHTk9NRXxTeXN0ZW0gY2F0ZWdvcnkuICBZb3UgY2FuIGFsc28gZmluZCB0aGUgZG9jcyBpbiBIVE1MIGZvcm0gb24KKyMgaHR0cDovL3d3dy5nbm9tZS5vcmcvcHJvamVjdHMvZ2RtLworIworIyBOT1RFOiBMaW5lcyB0aGF0IGJlZ2luIHdpdGggIiMiIGFyZSBjb25zaWRlcmVkIGNvbW1lbnRzLgorIworIyBIYXZlIGZ1biEKKworW2RhZW1vbl0KKworW3NlY3VyaXR5XQorCitbeGRtY3BdCisKK1tndWldCisKK1tncmVldGVyXQorCitbY2hvb3Nlcl0KKworW2RlYnVnXQorCisjIE5vdGUgdGhhdCB0byBkaXNhYmxlIHNlcnZlcnMgZGVmaW5lZCBpbiB0aGUgR0RNIFN5c3RlbSBEZWZhdWx0cworIyBjb25maWd1cmF0aW9uIGZpbGUgKHN1Y2ggYXMgMD1TdGFuZGFyZCwgeW91IG11c3QgcHV0IGEgbGluZSBpbiB0aGlzIGZpbGUKKyMgdGhhdCBzYXlzIDA9aW5hY3RpdmUsIGFzIGRlc2NyaWJlZCBpbiB0aGUgQ29uZmlndXJhdGlvbiBzZWN0aW9uIG9mIHRoZSBHRE0KKyMgZG9jdW1lbnRhdGlvbi4KKyMKK1tzZXJ2ZXJzXQorCisjIEFsc28gbm90ZSwgdGhhdCBpZiB5b3UgcmVkZWZpbmUgYSBbc2VydmVyLWZvb10gc2VjdGlvbiwgdGhlbiBHRE0gd2lsbAorIyB1c2UgdGhlIGRlZmluaXRpb24gaW4gdGhpcyBmaWxlLCBub3QgdGhlIEdETSBTeXN0ZW0gRGVmYXVsdHMgY29uZmlndXJhdGlvbgorIyBmaWxlLiAgSXQgaXMgY3VycmVudGx5IG5vdCBwb3NzaWJsZSB0byBkaXNhYmxlIGEgW3NlcnZlci1mb29dIHNlY3Rpb24KKyMgZGVmaW5lZCBpbiB0aGUgR0RNIFN5c3RlbSBEZWZhdWx0cyBjb25maWd1cmF0aW9uIGZpbGUuCisjCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtL2dkbS5zZXJ2aWNlLmluIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2RtL2dkbS9nZG0uc2VydmljZS5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZTE1NTZhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2RtL2dkbS9nZG0uc2VydmljZS5pbgpAQCAtMCwwICsxLDEwIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPUdub21lIERpc3BsYXkgTWFuYWdlcgorQWZ0ZXI9c3lzdGVtZC11c2VyLXNlc3Npb25zLnNlcnZpY2UKKworW1NlcnZpY2VdCitFeGVjU3RhcnQ9JXNiaW5kaXIlL2dkbSAtbm9kYWVtb24KK1N0YW5kYXJkT3V0cHV0PXN5c2xvZworCitbSW5zdGFsbF0KK0FsaWFzPWRpc3BsYXktbWFuYWdlci5zZXJ2aWNlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtL3N5c3Jvb3RlZC1wa2ctY29uZmlnLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2RtL2dkbS9zeXNyb290ZWQtcGtnLWNvbmZpZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjlmYTJhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2RtL2dkbS9zeXNyb290ZWQtcGtnLWNvbmZpZy5wYXRjaApAQCAtMCwwICsxLDM3IEBACitJbiBjcm9zcyBlbnZpcm9ubWVudCB3ZSBoYXZlIHRvIHByZXBlbmQgdGhlIHN5c3Jvb3QgdG8gdGhlIHBhdGggZm91bmQgYnkKK3BrZ2NvbmZpZyBzaW5jZSB0aGUgcGF0aCByZXR1cm5lZCBmcm9tIHBrZ2NvbmZpZyBkb2VzIG5vdCBoYXZlIHN5c3Jvb3QgcHJlZml4ZWQKK2l0IGVuZHMgdXAgdXNpbmcgdGhlIGZpbGVzIGZyb20gaG9zdCBzeXN0ZW0uIE5vdyB1c3VhbGx5IHBlb3BsZSBoYXZlIGdub21lIGluc3RhbGxlZAorc28gdGhlIGJ1aWxkIHN1Y2NlZWRzIGJ1dCBpZiB5b3UgZG9udCBoYXZlIGdub21lIGluc3RhbGxlZCBvbiBidWlsZCBob3N0IHRoZW4KK2l0IHdvbnQgZmluZCB0aGUgZmlsZXMgb24gaG9zdCBzeXN0ZW0gYW5kIHBhY2thZ2VzIHVzaW5nIGdub21lLWRvYy11dGlscyB3b250Citjb21waWxlLgorCitUaGlzIHNob3VsZCB3b3JrIG9rIHdpdGggbm9uIHN5c3Jvb3RlZCBidWlsZHMgdG9vIHNpbmNlIGluIHRob3NlIGNhc2VzIFBLR19DT05GSUdfU1lTUk9PVF9ESVIKK3dpbGwgYmUgZW1wdHkKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK0luZGV4OiBnZG0tMi4zMi4yL2dub21lLWRvYy11dGlscy5tYWtlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RtLTIuMzIuMi5vcmlnL2dub21lLWRvYy11dGlscy5tYWtlCTIwMTEtMDUtMzEgMDg6MDY6NTkuMDAwMDAwMDAwIC0wNzAwCisrKysgZ2RtLTIuMzIuMi9nbm9tZS1kb2MtdXRpbHMubWFrZQkyMDExLTA5LTI1IDE1OjMyOjM5LjU0MDk5MjUyMSAtMDcwMAorQEAgLTEzMywxMiArMTMzLDEyIEBACisgX3htbDJwbyA/PSBgd2hpY2ggeG1sMnBvYAorIF94bWwycG9fbW9kZSA9ICQoaWYgJChET0NfSUQpLG1hbGxhcmQsZG9jYm9vaykKKyAKKy1fZGIyaHRtbCA/PSBgJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIGRiMmh0bWwgZ25vbWUtZG9jLXV0aWxzYAorLV9kYjJvbWYgID89IGAkKFBLR19DT05GSUcpIC0tdmFyaWFibGUgZGIyb21mIGdub21lLWRvYy11dGlsc2AKKy1fbWFscm5nICA/PSBgJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIG1hbHJuZyBnbm9tZS1kb2MtdXRpbHNgCistX2NodW5rcyAgPz0gYCQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSB4bWxkaXIgZ25vbWUtZG9jLXV0aWxzYC9nbm9tZS94c2x0L2RvY2Jvb2svdXRpbHMvY2h1bmtzLnhzbAorLV9jcmVkaXRzID89IGAkKFBLR19DT05GSUcpIC0tdmFyaWFibGUgeG1sZGlyIGdub21lLWRvYy11dGlsc2AvZ25vbWUveHNsdC9kb2Nib29rL3V0aWxzL2NyZWRpdHMueHNsCistX2lkcyA/PSAkKHNoZWxsICQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSB4bWxkaXIgZ25vbWUtZG9jLXV0aWxzKS9nbm9tZS94c2x0L2RvY2Jvb2svdXRpbHMvaWRzLnhzbAorK19kYjJodG1sID89ICR7UEtHX0NPTkZJR19TWVNST09UX0RJUn1gJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIGRiMmh0bWwgZ25vbWUtZG9jLXV0aWxzYAorK19kYjJvbWYgID89ICR7UEtHX0NPTkZJR19TWVNST09UX0RJUn1gJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIGRiMm9tZiBnbm9tZS1kb2MtdXRpbHNgCisrX21hbHJuZyAgPz0gJHtQS0dfQ09ORklHX1NZU1JPT1RfRElSfWAkKFBLR19DT05GSUcpIC0tdmFyaWFibGUgbWFscm5nIGdub21lLWRvYy11dGlsc2AKKytfY2h1bmtzICA/PSAke1BLR19DT05GSUdfU1lTUk9PVF9ESVJ9YCQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSB4bWxkaXIgZ25vbWUtZG9jLXV0aWxzYC9nbm9tZS94c2x0L2RvY2Jvb2svdXRpbHMvY2h1bmtzLnhzbAorK19jcmVkaXRzID89ICR7UEtHX0NPTkZJR19TWVNST09UX0RJUn1gJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIHhtbGRpciBnbm9tZS1kb2MtdXRpbHNgL2dub21lL3hzbHQvZG9jYm9vay91dGlscy9jcmVkaXRzLnhzbAorK19pZHMgPz0gJHtQS0dfQ09ORklHX1NZU1JPT1RfRElSfSQoc2hlbGwgJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIHhtbGRpciBnbm9tZS1kb2MtdXRpbHMpL2dub21lL3hzbHQvZG9jYm9vay91dGlscy9pZHMueHNsCisgCisgaWYgRU5BQkxFX1NLCisgX0VOQUJMRV9TSyA9IHRydWUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dkbS9nZG1fMi4zMi4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2RtL2dkbV8yLjMyLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjU5YzYwOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dkbS9nZG1fMi4zMi4yLmJiCkBAIC0wLDAgKzEsMTA1IEBACitTVU1NQVJZID0gIkdyYXBoaWNhbCBsb2dpbiBtYW5hZ2VyIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitERVBFTkRTID0gInhpbnB1dCBnbm9tZS1wYW5lbCB0Y3Atd3JhcHBlcnMgbGliY2FuYmVycmEgbGlieGtsYXZpZXIgZ3JlcCBjb25zb2xla2l0IGxpYnBhbSBnbm9tZS1kb2MtdXRpbHMgZ3RrKyB4cmRiIgorCitQUiA9ICJyMTgiCisKK2luaGVyaXQgZ25vbWUgdXBkYXRlLXJjLmQgc3lzdGVtZCB1c2VyYWRkCisKK1NSQ19VUkkgKz0gIiBcCisgICAgZmlsZTovL2Nyb3NzLXhkZXRlY3Rpb24uZGlmZiBcCisgICAgZmlsZTovLzAwMDEtUmVtb3ZlLXVzZXItc3dpdGNoLWFwcGxldC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDItZ2RtLXVzZXItbWFuYWdlci5jLWF2b2lkLWRpc3BsYXlpbmctc3lzdGVtLXVzZXJzLWluLS5wYXRjaCBcCisgICAgZmlsZTovL3N5c3Jvb3RlZC1wa2ctY29uZmlnLnBhdGNoIFwKKyAgICBmaWxlOi8vJWdjb25mLXRyZWUueG1sIFwKKyAgICBmaWxlOi8vZ2RtIFwKKyAgICBmaWxlOi8vZ2RtLmNvbmYgXAorICAgIGZpbGU6Ly9nZG0tcGFtIFwKKyAgICBmaWxlOi8vRGVmYXVsdCBcCisgICAgZmlsZTovL2dkbS5zZXJ2aWNlLmluIFwKKyIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiZGJlNTE4N2EyZTE3ODgxY2M0NTRlMzEzZTBhZThkMWUiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICIwMzRkMjNhZjBlYTE4ZDg2ZTU1NDNlNzA3MjEyZDkyOTdlYzdkODNmMjIxODA4OTY4YWYyNjZkYmViYzBlNzAzIgorR05PTUVfQ09NUFJFU1NfVFlQRT0iYnoyIgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWVuYWJsZS1hdXRoZW50aWNhdGlvbi1zY2hlbWU9c2hhZG93IFwKKyAgICAtLWVuYWJsZS1kZWJ1Zz15ZXMgXAorICAgIC0td2l0aC1jb25zb2xlLWtpdCBcCisgICAgLS1kaXNhYmxlLXNjcm9sbGtlZXBlciBcCisiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAtZSAiczpcYmRvY3M6OmciICR7U30vTWFrZWZpbGUuYW0KK30KKworZG9faW5zdGFsbF9wcmVwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfS8ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9nZG0vLmdjb25mLm1hbmRhdG9yeQorICAgIGluc3RhbGwgJHtXT1JLRElSfS8lZ2NvbmYtdHJlZS54bWwgJHtEfS8ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9nZG0vLmdjb25mLm1hbmRhdG9yeS8KK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vZ2RtICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvCisKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9nZG0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9nZG0uY29uZiAke0R9LyR7c3lzY29uZmRpcn0vZ2RtLworCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vcGFtLmQKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9nZG0tcGFtICAgICAgICR7RH0vJHtzeXNjb25mZGlyfS9wYW0uZC9nZG0KKyAgICBybSAtZiAke0R9LyR7c3lzY29uZmRpcn0vcGFtLmQvZ2RtLWF1dG9sb2dpbgorCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vZ2RtL0luaXQKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9EZWZhdWx0ICR7RH0vJHtzeXNjb25mZGlyfS9nZG0vSW5pdAorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIHNlZCAtZSAncywlc2JpbmRpciUsJHtzYmluZGlyfSxnJyBcCisgICAgICAgIDwgJHtXT1JLRElSfS9nZG0uc2VydmljZS5pbiBcCisgICAgICAgID4gJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vZ2RtLnNlcnZpY2UKKworICAgIGNob3duIC1SIGdkbTpnZG0gJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliL2dkbQorICAgIGNobW9kIDA3NTAgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliL2dkbQorCisgICAgcm0gLXJmICIke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4iCisgICAgcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9IgorCisgICAgcm0gLWYgJHtEfSR7ZGF0YWRpcn0vZ2RtL2F1dG9zdGFydC9Mb2dpbldpbmRvdy9hdC1zcGktcmVnaXN0cnlkLXdyYXBwZXIuZGVza3RvcAorICAgIHJtIC1mICR7RH0ke2RhdGFkaXJ9L2dkbS9hdXRvc3RhcnQvTG9naW5XaW5kb3cvb3JjYS1zY3JlZW4tcmVhZGVyLmRlc2t0b3AKKyAgICBybSAtZiAke0R9JHtkYXRhZGlyfS9nZG0vYXV0b3N0YXJ0L0xvZ2luV2luZG93L2dub21lLW1hZy5kZXNrdG9wCisgICAgcm0gLWYgJHtEfSR7ZGF0YWRpcn0vZ2RtL2F1dG9zdGFydC9Mb2dpbldpbmRvdy9nb2suZGVza3RvcAorICAgIHJtIC1mICR7RH0ke2RhdGFkaXJ9L2dkbS9hdXRvc3RhcnQvTG9naW5XaW5kb3cvbWV0YWNpdHkuZGVza3RvcAorfQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9pY29uKiBcCisgICAgJHtkYXRhZGlyfS94c2Vzc2lvbiogXAorIgorCitSREVQRU5EU18ke1BOfSArPSAiZ3JlcCBkYnVzLXgxMSBzaGFkb3ciCisjICJsaWJwYW0tYmFzZS1maWxlcyIKK0NPTkZGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfS9nZG0vZ2RtLmNvbmYgJHtzeXNjb25mZGlyfS9pbml0LmQvZ2RtIgorUlJFQ09NTUVORFNfJHtQTn0gKz0gIm9wZW5zc2gtbWlzYyBkZXNrdG9wLWZpbGUtdXRpbHMgZ2xpYi0yLjAtdXRpbHMgbWV0YWNpdHkgZ25vbWUtc2Vzc2lvbiBwb2xraXQtZ25vbWUgY29uc29sZWtpdCIKKworUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJnZG0uc2VydmljZSIKKworSU5JVFNDUklQVF9OQU1FID0gImdkbSIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDk5IDUgLiBzdG9wIDIwIDAgMSAyIDMgNiAuIgorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSAtLW5vLWNyZWF0ZS1ob21lIC0taG9tZSAke2xvY2Fsc3RhdGVkaXJ9L2xpYi9nZG0gLS11c2VyLWdyb3VwIGdkbSIKKworcGtnX3Bvc3RpbnN0XyR7UE59ICgpIHsKKyMgUmVnaXN0ZXIgdXAgYXMgZGVmYXVsdCBkbQorbWtkaXIgLXAgJEQke3N5c2NvbmZkaXJ9L1gxMS8KK2VjaG8gIiR7YmluZGlyfS9nZG0iID4gJEQke3N5c2NvbmZkaXJ9L1gxMS9kZWZhdWx0LWRpc3BsYXktbWFuYWdlcgorfQorCitwa2dfcG9zdHJtXyR7UE59ICgpIHsKKyAgICBkZWx1c2VyIGdkbSB8fCB0cnVlCisgICAgZGVsZ3JvdXAgZ2RtIHx8IHRydWUKKyAgICBzZWQgLWkgL2dkbS9kICR7c3lzY29uZmRpcn0vWDExL2RlZmF1bHQtZGlzcGxheS1tYW5hZ2VyIHx8IHRydWUKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dlZGl0L2ZpbGVzLzAwMDEtd29ya2Fyb3VuZC12b2lkLXBvaW50ZXItYXJpdGhtZXRpYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dlZGl0L2ZpbGVzLzAwMDEtd29ya2Fyb3VuZC12b2lkLXBvaW50ZXItYXJpdGhtZXRpYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMjg4MDhiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2VkaXQvZmlsZXMvMDAwMS13b3JrYXJvdW5kLXZvaWQtcG9pbnRlci1hcml0aG1ldGljLnBhdGNoCkBAIC0wLDAgKzEsNTcgQEAKK0Zyb20gOGUwY2JmYWMxNDJkMzgzMjBkZDAyNDE2NjAxZTE0YzY1NTg1Y2QxNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFNhdCwgOSBNYXIgMjAxMyAxMjo0NzowNiArMDEwMAorU3ViamVjdDogW1BBVENIXSB3b3JrYXJvdW5kIHZvaWQgcG9pbnRlciBhcml0aG1ldGljCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK2ZpeGVzIGVycm9ycyBsaWtlOgorZXJyb3I6IHBvaW50ZXIgb2YgdHlwZSAndm9pZCAqJyB1c2VkIGluIGFyaXRobWV0aWMgWy1XZXJyb3I9cG9pbnRlci1hcml0aF0KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBnZWRpdC9nZWRpdC1kb2N1bWVudC1pbnB1dC1zdHJlYW0uYyAgIHwgICAgNCArKy0tCisgZ2VkaXQvZ2VkaXQtc21hcnQtY2hhcnNldC1jb252ZXJ0ZXIuYyB8ICAgIDIgKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2dlZGl0L2dlZGl0LWRvY3VtZW50LWlucHV0LXN0cmVhbS5jIGIvZ2VkaXQvZ2VkaXQtZG9jdW1lbnQtaW5wdXQtc3RyZWFtLmMKK2luZGV4IDVhMWY5NjEuLjM4MzE2ZTcgMTAwNjQ0CistLS0gYS9nZWRpdC9nZWRpdC1kb2N1bWVudC1pbnB1dC1zdHJlYW0uYworKysrIGIvZ2VkaXQvZ2VkaXQtZG9jdW1lbnQtaW5wdXQtc3RyZWFtLmMKK0BAIC00MjYsNyArNDI2LDcgQEAgZ2VkaXRfZG9jdW1lbnRfaW5wdXRfc3RyZWFtX3JlYWQgKEdJbnB1dFN0cmVhbSAgKnN0cmVhbSwKKyAKKyAJZG8KKyAJeworLQkJbiA9IHJlYWRfbGluZSAoZHN0cmVhbSwgYnVmZmVyICsgcmVhZCwgc3BhY2VfbGVmdCk7CisrCQluID0gcmVhZF9saW5lIChkc3RyZWFtLCAoKGNoYXIqKWJ1ZmZlcikgKyByZWFkLCBzcGFjZV9sZWZ0KTsKKyAJCXJlYWQgKz0gbjsKKyAJCXNwYWNlX2xlZnQgLT0gbjsKKyAJfSB3aGlsZSAoc3BhY2VfbGVmdCA+IDAgJiYgbiAhPSAwICYmIGRzdHJlYW0tPnByaXYtPmJ5dGVzX3BhcnRpYWwgPT0gMCk7CitAQCAtNDUxLDcgKzQ1MSw3IEBAIGdlZGl0X2RvY3VtZW50X2lucHV0X3N0cmVhbV9yZWFkIChHSW5wdXRTdHJlYW0gICpzdHJlYW0sCisgCisgCQkJbmV3bGluZSA9IGdldF9uZXdfbGluZSAoZHN0cmVhbSk7CisgCistCQkJbWVtY3B5IChidWZmZXIgKyByZWFkLCBuZXdsaW5lLCBuZXdsaW5lX3NpemUpOworKwkJCW1lbWNweSAoKChjaGFyKilidWZmZXIpICsgcmVhZCwgbmV3bGluZSwgbmV3bGluZV9zaXplKTsKKyAKKyAJCQlyZWFkICs9IG5ld2xpbmVfc2l6ZTsKKyAJCQlkc3RyZWFtLT5wcml2LT5uZXdsaW5lX2FkZGVkID0gVFJVRTsKK2RpZmYgLS1naXQgYS9nZWRpdC9nZWRpdC1zbWFydC1jaGFyc2V0LWNvbnZlcnRlci5jIGIvZ2VkaXQvZ2VkaXQtc21hcnQtY2hhcnNldC1jb252ZXJ0ZXIuYworaW5kZXggZTMyYjBiMS4uNjc0NWNlMyAxMDA2NDQKKy0tLSBhL2dlZGl0L2dlZGl0LXNtYXJ0LWNoYXJzZXQtY29udmVydGVyLmMKKysrKyBiL2dlZGl0L2dlZGl0LXNtYXJ0LWNoYXJzZXQtY29udmVydGVyLmMKK0BAIC0xNTMsNyArMTUzLDcgQEAgdHJ5X2NvbnZlcnQgKEdDaGFyc2V0Q29udmVydGVyICpjb252ZXJ0ZXIsCisgCWRvCisgCXsKKyAJCXJlcyA9IGdfY29udmVydGVyX2NvbnZlcnQgKEdfQ09OVkVSVEVSIChjb252ZXJ0ZXIpLAorLQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5idWYgKyBucmVhZCwKKysJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICgoY29uc3QgY2hhciopaW5idWYpICsgbnJlYWQsCisgCQkgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmJ1Zl9zaXplIC0gbnJlYWQsCisgCQkgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXQgKyBud3JpdHRlbiwKKyAJCSAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dF9zaXplIC0gbndyaXR0ZW4sCistLSAKKzEuNy40LjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2VkaXQvZ2VkaXRfMi4zMC40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2VkaXQvZ2VkaXRfMi4zMC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjN2I3ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZWRpdC9nZWRpdF8yLjMwLjQuYmIKQEAgLTAsMCArMSwyOCBAQAorU1VNTUFSWSA9ICJHTk9NRSBlZGl0b3IiCitTRUNUSU9OID0gIngxMS9nbm9tZSIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorUFIgPSAicjIiCisKK0RFUEVORFMgPSAiZ3ZmcyBlbmNoYW50IGdjb25mIGdub21lLWRvYy11dGlscyBnbm9tZS1kb2MtdXRpbHMtbmF0aXZlIGdsaWItMi4wIGd0aysgZ3Rrc291cmNldmlldzIgaXNvLWNvZGVzIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworaW5oZXJpdCBnbm9tZSBnZXR0ZXh0IHB5dGhvbm5hdGl2ZQorU1JDX1VSSSs9ICJmaWxlOi8vMDAwMS13b3JrYXJvdW5kLXZvaWQtcG9pbnRlci1hcml0aG1ldGljLnBhdGNoIgorU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiZTFlZWNiMGE5MmExYTM2M2IzZDM3NWVjNWFjMGZiM2IiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJhNTYxZmUzZGQxZDE5OWJhZWRlMWJkMDdjNGVlNjVmMDZmYzdjNDk0ZGQ0ZDMzMjcxMTdmMDQxNDlhNjA4ZTNjIgorR05PTUVfQ09NUFJFU1NfVFlQRT0iYnoyIgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXNjcm9sbGtlZXBlciBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtZ3Zmcy1tZXRhZGF0YSIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgY2QgJHtTfQorICAgIGdub21lLWRvYy1jb21tb24gLS1jb3B5IHx8IHRydWUKKyAgICBnbm9tZS1kb2MtcHJlcGFyZSAtLWZvcmNlIC0tY29weSB8fCB0cnVlCisgICAgY2QgJHtCfQorfQorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2dlZGl0LTIvcGx1Z2luKiAke2RhdGFkaXJ9L2dlZGl0LTIiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9nZWRpdC0yL3BsdWdpbi1sb2FkZXJzLy5kZWJ1ZyAke2xpYmRpcn0vZ2VkaXQtMi9wbHVnaW5zLy5kZWJ1ZyIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtYmFja2dyb3VuZHMvZ25vbWUtYmFja2dyb3VuZHNfMi4zMi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtYmFja2dyb3VuZHMvZ25vbWUtYmFja2dyb3VuZHNfMi4zMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhZGI4MWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1iYWNrZ3JvdW5kcy9nbm9tZS1iYWNrZ3JvdW5kc18yLjMyLjAuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJHbm9tZSBiYWNrZ3JvdW5kIGltYWdlcyIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitTRUNUSU9OID0gIngxMS9nbm9tZSIKKworIyBnbGliLTIuMCBmb3IgZ2xpYi1nZXR0ZXh0Lm00IHdoaWNoIHByb3ZpZGVzIEFNX0dMSUJfR05VX0dFVFRFWFQKKyMgaW50bHRvb2wtbmF0aXZlIGZvciBJVF9QUk9HX0lOVExUT09MKDAuMzUuMCkKK0RFUEVORFMgPSAiZ2xpYi0yLjAgaW50bHRvb2wtbmF0aXZlIgorCitpbmhlcml0IGdub21lYmFzZQorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIzZGYyNjYyNjQ4M2IwMmU1MWFkZWZjNmFiNTk0NWE4ZCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjRkN2I2MGI1YmE3NjhiZjg4MzRiNWZhM2EzNDcxY2Q5YTllMTRiNTg4NGJjMjEwZGMyZDNjZGJmMWZhZGRjZWYiCitHTk9NRV9DT01QUkVTU19UWVBFPSJiejIiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2dub21lLWJhY2tncm91bmQtcHJvcGVydGllcyIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtYmx1ZXRvb3RoL2dub21lLWJsdWV0b290aF8zLjE4LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1ibHVldG9vdGgvZ25vbWUtYmx1ZXRvb3RoXzMuMTguMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjA2NGMzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtYmx1ZXRvb3RoL2dub21lLWJsdWV0b290aF8zLjE4LjIuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJHTk9NRSBibHVldG9vdGggbWFuYWdlciIKK0xJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWViNzIzYjYxNTM5ZmVlZjAxM2RlNDc2ZTY4YjVjNTBhIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT1hNmY4OWUyMTAwZDliNmNkZmZjZWE0ZjM5OGUzNzM0MyBcCisiCisKK1NFQ1RJT04gPSAieDExL2dub21lIgorCitERVBFTkRTID0gInVkZXYgZ3RrKzMgbGlibm90aWZ5IGxpYmNhbmJlcnJhIgorREVQRU5EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ2JsdWV6NScsJ2JsdWV6NScsJ2JsdWV6NCcsZCl9IgorCitpbmhlcml0IGdub21lYmFzZSBndGstaWNvbi1jYWNoZSBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiNzVkMDljOTI0NDY4ZWMwYzY4N2Y5YWIzYWNmN2YxMTMiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJkOGRmMDczYzMzMWRmMGY5NzI2MTg2OWZiNzdmZmNkYmY0ZTNlNGVhZjQ2MGQzYzNlZDJiMTZlMDNkOWM1Mzk4IgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9nbm9tZS1ibHVldG9vdGgvcGx1Z2lucy8uZGVidWcvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtY29udHJvbC1jZW50ZXIvZ25vbWUtY29udHJvbC1jZW50ZXJfMi4zMi4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtY29udHJvbC1jZW50ZXIvZ25vbWUtY29udHJvbC1jZW50ZXJfMi4zMi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2YjkxM2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1jb250cm9sLWNlbnRlci9nbm9tZS1jb250cm9sLWNlbnRlcl8yLjMyLjEuYmIKQEAgLTAsMCArMSwzMiBAQAorU1VNTUFSWSA9ICJHTk9NRSBjb250cm9sIGNlbnRlciIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworREVQRU5EUyA9ICJkZXNrdG9wLWZpbGUtdXRpbHMtbmF0aXZlIGdub21lLW1lbnVzIGxpYnVuaXF1ZSBkYnVzLWdsaWIgZ25vbWUtZGVza3RvcCBsaWJ4bWwyIG1ldGFjaXR5IGdjb25mIGdub21lLXNldHRpbmdzLWRhZW1vbiBsaWJyc3ZnIHBhbmdvIGxpYmdub21la2JkIGxpYnhrbGF2aWVyIGxpYmNhbmJlcnJhIGxpYmd0b3AgbGlieHNjcm5zYXZlciIKKworUFIgPSAicjEiCisKK2luaGVyaXQgZ25vbWUKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiYjRlOGFiNWM3NTU2YWUwN2FkZGJmY2ZiNGZhMmY3NjEiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI3YzU2OGI1NzM1OGU1YzA4ZjRkOGRkNzZkYmFjN2RmMjUzOTEzNWFkMDgxODcyYjYwNTE0YjdhOGFjNzk3ZTY2IgorR05PTUVfQ09NUFJFU1NfVFlQRT0iYnoyIgorCitMREZMQUdTICs9ICItbGd0aHJlYWQtMi4wIC1seG1sMiIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgc2VkIC1pIHM6aGVscDo6ZyAke1N9L01ha2VmaWxlLmFtCit9Citkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBybSAtcmYgJHtEfSR7ZGF0YWRpcn0vbWltZQorfQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9pY29uKiBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS94c2Vzc2lvbiogXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS93aW5kb3ctbWFuYWdlci1zZXR0aW5ncy8qLnNvIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2dub21lIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2Rlc2t0b3AtZGlyZWN0b3JpZXMgXAorIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vd2luZG93LW1hbmFnZXItc2V0dGluZ3MvLmRlYnVnIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vd2luZG93LW1hbmFnZXItc2V0dGluZ3MvKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L3dpbmRvdy1tYW5hZ2VyLXNldHRpbmdzLyouYSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLWRlc2t0b3AvZ25vbWUtZGVza3RvcF8yLjMyLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1kZXNrdG9wL2dub21lLWRlc2t0b3BfMi4zMi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwM2MzOTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1kZXNrdG9wL2dub21lLWRlc2t0b3BfMi4zMi4xLmJiCkBAIC0wLDAgKzEsMjUgQEAKK1NVTU1BUlkgPSAiR05PTUUgbGlicmFyeSBmb3IgcmVhZGluZyAuZGVza3RvcCBmaWxlcyIKK1NFQ1RJT04gPSAieDExL2dub21lIgorTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT01ZjMwZjA3MTZkZmRkMGQ5MWViNDM5ZWJlYzUyMmVjMiIKKworUFIgPSAicjYiCisKK2luaGVyaXQgZ25vbWUgcGtnY29uZmlnCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjVjODBkNjI4YTI0MGViOWQ5ZmY3ODkxM2IzMWYyZjY3IgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiNTVjYmVjZjY3ZWZlMWZhMWU1N2FjOTY2NTIwYTdjNDZkNzk5YzhiYTNjNjUyYTEyMTlmNjBjYWZjY2IzNzM5ZCIKK0dOT01FX0NPTVBSRVNTX1RZUEU9ImJ6MiIKKworREVQRU5EUyArPSAiZ2NvbmYgbGlieHJhbmRyIHZpcnR1YWwvbGlieDExIGd0aysgZ2xpYi0yLjAgZ25vbWUtZG9jLXV0aWxzIHN0YXJ0dXAtbm90aWZpY2F0aW9uIgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXNjcm9sbGtlZXBlciAtLWRpc2FibGUtZGVza3RvcC1kb2NzIC0tZGlzYWJsZS1nbm9tZS1hYm91dCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgIHNlZCAtaSAtZSBzOl4jIUBQWVRIT05AOiMhJHtiaW5kaXJ9L3B5dGhvbjogJHtTfS9nbm9tZS1hYm91dC9nbm9tZS1hYm91dC5pbgorfQorCitQQUNLQUdFUyA9KyAibGliZ25vbWUtZGVza3RvcCIKK0ZJTEVTX2xpYmdub21lLWRlc2t0b3AgPSAiJHtsaWJkaXJ9L2xpYioke1NPTElCU30gJHtkYXRhZGlyfS9saWJnbm9tZS1kZXNrdG9wL3BucC5pZHMiCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9nbm9tZS1hYm91dCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLWRpc2stdXRpbGl0eS9nbm9tZS1kaXNrLXV0aWxpdHkvMDAwMS1BZGQtc3VwcG9ydC1mb3ItRGV2aWNlQXV0b21vdW50SGludC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLWRpc2stdXRpbGl0eS9nbm9tZS1kaXNrLXV0aWxpdHkvMDAwMS1BZGQtc3VwcG9ydC1mb3ItRGV2aWNlQXV0b21vdW50SGludC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MDVlOTM3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGlzay11dGlsaXR5L2dub21lLWRpc2stdXRpbGl0eS8wMDAxLUFkZC1zdXBwb3J0LWZvci1EZXZpY2VBdXRvbW91bnRIaW50LnBhdGNoCkBAIC0wLDAgKzEsNzQgQEAKK0Zyb20gN2RkZTViYzc1YTFkOTZiZTk1MTBjZTFlOThkMjhmOWQzMzUyMDkxOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IERhdmlkIFpldXRoZW4gPGRhdmlkekByZWRoYXQuY29tPgorRGF0ZTogRnJpLCA4IEp1bCAyMDExIDExOjAzOjUyIC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBzdXBwb3J0IGZvciBEZXZpY2VBdXRvbW91bnRIaW50CisKK0Jhc2VkIG9uIHRoZSBwYXRjaCBpbiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUzMTg0CisKK1Vwc3RyZWFtLVN0YXR1czogQXBwbGllZCBbMV0KKworWzFdIGh0dHBzOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMvY29tbWl0cy1saXN0LzIwMTEtSnVseS9tc2cwMzIwNy5odG1sCisKK1NpZ25lZC1vZmYtYnk6IERhdmlkIFpldXRoZW4gPGRhdmlkekByZWRoYXQuY29tPgorLS0tCisgc3JjL2dkdS9nZHUtZGV2aWNlLmMgfCAgIDEwICsrKysrKysrKysKKyBzcmMvZ2R1L2dkdS1kZXZpY2UuaCB8ICAgIDEgKworIDIgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9nZHUvZ2R1LWRldmljZS5jIGIvc3JjL2dkdS9nZHUtZGV2aWNlLmMKK2luZGV4IDZhNWFmYWQuLjRiZTM5Y2YgMTAwNjQ0CistLS0gYS9zcmMvZ2R1L2dkdS1kZXZpY2UuYworKysrIGIvc3JjL2dkdS9nZHUtZGV2aWNlLmMKK0BAIC04Miw2ICs4Miw3IEBAIHR5cGVkZWYgc3RydWN0CisgICBnYm9vbGVhbiBkZXZpY2VfcHJlc2VudGF0aW9uX25vcG9saWN5OworICAgY2hhciAqZGV2aWNlX3ByZXNlbnRhdGlvbl9uYW1lOworICAgY2hhciAqZGV2aWNlX3ByZXNlbnRhdGlvbl9pY29uX25hbWU7CisrICBjaGFyICpkZXZpY2VfYXV0b21vdW50X2hpbnQ7CisgICBndWludDY0IGRldmljZV9zaXplOworICAgZ3VpbnQ2NCBkZXZpY2VfYmxvY2tfc2l6ZTsKKyAKK0BAIC0yNzksNiArMjgwLDggQEAgY29sbGVjdF9wcm9wcyAoY29uc3QgY2hhciAqa2V5LAorICAgICBwcm9wcy0+ZGV2aWNlX3ByZXNlbnRhdGlvbl9uYW1lID0gZ19zdHJkdXAgKGdfdmFsdWVfZ2V0X3N0cmluZyAodmFsdWUpKTsKKyAgIGVsc2UgaWYgKHN0cmNtcCAoa2V5LCAiRGV2aWNlUHJlc2VudGF0aW9uSWNvbk5hbWUiKSA9PSAwKQorICAgICBwcm9wcy0+ZGV2aWNlX3ByZXNlbnRhdGlvbl9pY29uX25hbWUgPSBnX3N0cmR1cCAoZ192YWx1ZV9nZXRfc3RyaW5nICh2YWx1ZSkpOworKyAgZWxzZSBpZiAoc3RyY21wIChrZXksICJEZXZpY2VBdXRvbW91bnRIaW50IikgPT0gMCkKKysgICAgcHJvcHMtPmRldmljZV9hdXRvbW91bnRfaGludCA9IGdfc3RyZHVwIChnX3ZhbHVlX2dldF9zdHJpbmcgKHZhbHVlKSk7CisgICBlbHNlIGlmIChzdHJjbXAgKGtleSwgIkRldmljZVNpemUiKSA9PSAwKQorICAgICBwcm9wcy0+ZGV2aWNlX3NpemUgPSBnX3ZhbHVlX2dldF91aW50NjQgKHZhbHVlKTsKKyAgIGVsc2UgaWYgKHN0cmNtcCAoa2V5LCAiRGV2aWNlQmxvY2tTaXplIikgPT0gMCkKK0BAIC01NDksNiArNTUyLDcgQEAgZGV2aWNlX3Byb3BlcnRpZXNfZnJlZSAoRGV2aWNlUHJvcGVydGllcyAqcHJvcHMpCisgICBnX3N0cmZyZWV2IChwcm9wcy0+ZGV2aWNlX21vdW50X3BhdGhzKTsKKyAgIGdfZnJlZSAocHJvcHMtPmRldmljZV9wcmVzZW50YXRpb25fbmFtZSk7CisgICBnX2ZyZWUgKHByb3BzLT5kZXZpY2VfcHJlc2VudGF0aW9uX2ljb25fbmFtZSk7CisrICBnX2ZyZWUgKHByb3BzLT5kZXZpY2VfYXV0b21vdW50X2hpbnQpOworICAgZ19mcmVlIChwcm9wcy0+am9iX2lkKTsKKyAgIGdfZnJlZSAocHJvcHMtPmlkX3VzYWdlKTsKKyAgIGdfZnJlZSAocHJvcHMtPmlkX3R5cGUpOworQEAgLTEyOTQsNiArMTI5OCwxMiBAQCBnZHVfZGV2aWNlX2RyaXZlX2dldF9tZWRpYV9jb21wYXRpYmlsaXR5IChHZHVEZXZpY2UgKmRldmljZSkKKyB9CisgCisgY29uc3QgY2hhciAqCisrZ2R1X2RldmljZV9nZXRfYXV0b21vdW50X2hpbnQgKEdkdURldmljZSAqZGV2aWNlKQorK3sKKysgICAgICAgIHJldHVybiBkZXZpY2UtPnByaXYtPnByb3BzLT5kZXZpY2VfYXV0b21vdW50X2hpbnQ7CisrfQorKworK2NvbnN0IGNoYXIgKgorIGdkdV9kZXZpY2VfZHJpdmVfZ2V0X21lZGlhIChHZHVEZXZpY2UgKmRldmljZSkKKyB7CisgICAgICAgICByZXR1cm4gZGV2aWNlLT5wcml2LT5wcm9wcy0+ZHJpdmVfbWVkaWE7CitkaWZmIC0tZ2l0IGEvc3JjL2dkdS9nZHUtZGV2aWNlLmggYi9zcmMvZ2R1L2dkdS1kZXZpY2UuaAoraW5kZXggNGMxMzAyYi4uOGNmZDdhOSAxMDA2NDQKKy0tLSBhL3NyYy9nZHUvZ2R1LWRldmljZS5oCisrKysgYi9zcmMvZ2R1L2dkdS1kZXZpY2UuaAorQEAgLTE0Myw2ICsxNDMsNyBAQCBjb25zdCBjaGFyICpnZHVfZGV2aWNlX2RyaXZlX2dldF93d24gKEdkdURldmljZSAqZGV2aWNlKTsKKyBjb25zdCBjaGFyICpnZHVfZGV2aWNlX2RyaXZlX2dldF9jb25uZWN0aW9uX2ludGVyZmFjZSAoR2R1RGV2aWNlICpkZXZpY2UpOworIGd1aW50NjQgZ2R1X2RldmljZV9kcml2ZV9nZXRfY29ubmVjdGlvbl9zcGVlZCAoR2R1RGV2aWNlICpkZXZpY2UpOworIGNoYXIgKipnZHVfZGV2aWNlX2RyaXZlX2dldF9tZWRpYV9jb21wYXRpYmlsaXR5IChHZHVEZXZpY2UgKmRldmljZSk7CisrY29uc3QgZ2NoYXIgKmdkdV9kZXZpY2VfZ2V0X2F1dG9tb3VudF9oaW50KEdkdURldmljZSAqZGV2aWNlKTsKKyBjb25zdCBjaGFyICpnZHVfZGV2aWNlX2RyaXZlX2dldF9tZWRpYSAoR2R1RGV2aWNlICpkZXZpY2UpOworIGdib29sZWFuIGdkdV9kZXZpY2VfZHJpdmVfZ2V0X2lzX21lZGlhX2VqZWN0YWJsZSAoR2R1RGV2aWNlICpkZXZpY2UpOworIGdib29sZWFuIGdkdV9kZXZpY2VfZHJpdmVfZ2V0X3JlcXVpcmVzX2VqZWN0IChHZHVEZXZpY2UgKmRldmljZSk7CistLSAKKzEuNy42LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGlzay11dGlsaXR5L2dub21lLWRpc2stdXRpbGl0eS8wMDAyLVJlcXVpcmUtbGlibm90aWZ5LTAuNi4xLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGlzay11dGlsaXR5L2dub21lLWRpc2stdXRpbGl0eS8wMDAyLVJlcXVpcmUtbGlibm90aWZ5LTAuNi4xLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiYzk3MDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1kaXNrLXV0aWxpdHkvZ25vbWUtZGlzay11dGlsaXR5LzAwMDItUmVxdWlyZS1saWJub3RpZnktMC42LjEucGF0Y2gKQEAgLTAsMCArMSw0OSBAQAorRnJvbSBmOGRlYThkZDQxMWNiYTEwYTU0ZWMwODNjM2Q1YzlkNjQxZWMzNmMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogV2lsbGlhbSBKb24gTWNDYW5uIDxqbWNjYW5uQHJlZGhhdC5jb20+CitEYXRlOiBUdWUsIDEyIE9jdCAyMDEwIDAwOjEyOjQ5IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIFJlcXVpcmUgbGlibm90aWZ5IDAuNi4xCisKK2h0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzE5NDAKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbMV0KKworWzFdIGh0dHBzOi8vZ2l0Lmdub21lLm9yZy9icm93c2UvZ25vbWUtZGlzay11dGlsaXR5L2NvbW1pdC8/aWQ9ZjhkZWE4ZGQ0MTFjYmExMGE1NGVjMDgzYzNkNWM5ZDY0MWVjMzZjMAorCitTaWduZWQtb2ZmLWJ5OiBEYXZpZCBaZXV0aGVuIDxkYXZpZHpAcmVkaGF0LmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KKyBzcmMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi1tYWluLmMgfCA1ICstLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGM2MTIxMmUuLjM3OTBmY2YgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTEyOCw3ICsxMjgsNyBAQCBEQlVTX0dMSUJfUkVRVUlSRUQ9MC43NAorIEdOT01FX0tFWVJJTkdfUkVRVUlSRUQ9Mi4yMgorIEdUSzJfUkVRVUlSRUQ9Mi4yMC4wCisgVU5JUVVFX1JFUVVJUkVEPTEuMAorLUxJQk5PVElGWV9SRVFVSVJFRD0wLjMuMAorK0xJQk5PVElGWV9SRVFVSVJFRD0wLjYuMQorIE5BVVRJTFVTX1JFUVVJUkVEPTIuMjQuMAorIEFWQUhJX1VJX1JFUVVJUkVEPTAuNi4yNQorIAorZGlmZiAtLWdpdCBhL3NyYy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLW1haW4uYyBiL3NyYy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLW1haW4uYworaW5kZXggMThlOTY3Mi4uYjZhNzEzZiAxMDA2NDQKKy0tLSBhL3NyYy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLW1haW4uYworKysrIGIvc3JjL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24tbWFpbi5jCitAQCAtNTM1LDEwICs1MzUsNyBAQCB1cGRhdGVfc3RhdHVzX2ljb24gKE5vdGlmaWNhdGlvbkRhdGEgKmRhdGEpCisgICAgICAgICAgICAgICAgICAgICBfKCJBIGhhcmQgZGlzayBtYXkgYmUgZmFpbGluZyIpLAorICAgICAgICAgICAgICAgICAgICAgLyogVHJhbnNsYXRvcnM6IFRoaXMgaXMgdXNlZCBhcyB0aGUgdGV4dCBvZiB0aGUgbm90aWZpY2F0aW9uKi8KKyAgICAgICAgICAgICAgICAgICAgIF8oIk9uZSBvciBtb3JlIGhhcmQgZGlza3MgcmVwb3J0IGhlYWx0aCBwcm9ibGVtcy4gQ2xpY2sgdGhlIGljb24gdG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24uIiksCistICAgICAgICAgICAgICAgICAgICAiZ3RrLWRpYWxvZy13YXJuaW5nIiwKKy0gICAgICAgICAgICAgICAgICAgIE5VTEwpOworLSAgICAgICAgICAgICAgICBub3RpZnlfbm90aWZpY2F0aW9uX2F0dGFjaF90b19zdGF0dXNfaWNvbiAoZGF0YS0+YXRhX3NtYXJ0X25vdGlmaWNhdGlvbiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtPnN0YXR1c19pY29uKTsKKysgICAgICAgICAgICAgICAgICAgICJndGstZGlhbG9nLXdhcm5pbmciKTsKKyAgICAgICAgICAgICAgICAgbm90aWZ5X25vdGlmaWNhdGlvbl9zZXRfdXJnZW5jeSAoZGF0YS0+YXRhX3NtYXJ0X25vdGlmaWNhdGlvbiwgTk9USUZZX1VSR0VOQ1lfQ1JJVElDQUwpOworICAgICAgICAgICAgICAgICBub3RpZnlfbm90aWZpY2F0aW9uX3NldF90aW1lb3V0IChkYXRhLT5hdGFfc21hcnRfbm90aWZpY2F0aW9uLCBOT1RJRllfRVhQSVJFU19ORVZFUik7CisgICAgICAgICAgICAgICAgIHNob3dfbm90aWZpY2F0aW9uIChkYXRhKTsKKy0tIAorMi4xLjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGlzay11dGlsaXR5L2dub21lLWRpc2stdXRpbGl0eS9kaXNhYmxlLXNjcm9sbGtlZXBlci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLWRpc2stdXRpbGl0eS9nbm9tZS1kaXNrLXV0aWxpdHkvZGlzYWJsZS1zY3JvbGxrZWVwZXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjM2OTQyZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLWRpc2stdXRpbGl0eS9nbm9tZS1kaXNrLXV0aWxpdHkvZGlzYWJsZS1zY3JvbGxrZWVwZXIucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorRnJvbTogRG1pdHJ5IEVyZW1pbi1Tb2xlbmlrb3YgPGRiYXJ5c2hrb3ZAZ21haWwuY29tPgorU3ViamVjdDogRGlzYWJsZSBzY3JvbGxrZWVwZXItY29uZmlnIG5vdCBmb3VuZCBtZXNzYWdlCitVcHN0cmVhbS1TdGF0dXM6IE5vdC1BcHBsaWNhYmxlCisKK0lmIHNjcm9sbGtlZXBlci1jb25maWcgaXNuJ3QgZm91bmQsIGNvbmZpZ3VyZSBmYWlscyB3aXRoIGFuIGVycm9yLgorRml4IHRoYXQgYnkgY29tbWVudGluZyBvdXQgdGhlIGNoZWNrLgorCitTaWduZWQtT2ZmLUJ5OiBEbWl0cnkgRXJlbWluLVNvbGVuaWtvdiA8ZGJhcnlzaGtvdkBnbWFpbC5jb20+CisKKworSW5kZXg6IGdub21lLWRpc2stdXRpbGl0eS0yLjMyLjAvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ25vbWUtZGlzay11dGlsaXR5LTIuMzIuMC5vcmlnL2NvbmZpZ3VyZS5hYwkyMDEwLTA5LTE1IDE5OjA3OjI1LjAwMDAwMDAwMCArMDQwMAorKysrIGdub21lLWRpc2stdXRpbGl0eS0yLjMyLjAvY29uZmlndXJlLmFjCTIwMTEtMDgtMjAgMDE6Mjk6NDguMDAwMDAwMDAwICswNDAwCitAQCAtMTg4LDkgKzE4OCw5IEBACisgIyAqKioqKioqKioqKioqCisKKyBBQ19QQVRIX1BST0coU0NST0xMS0VFUEVSX0NPTkZJRywgc2Nyb2xsa2VlcGVyLWNvbmZpZyxubykKKy1pZiB0ZXN0IHgkU0NST0xMS0VFUEVSX0NPTkZJRyA9IHhubzsgdGhlbgorLSAgQUNfTVNHX0VSUk9SKENvdWxkbid0IGZpbmQgc2Nyb2xsa2VlcGVyLWNvbmZpZywgcGxlYXNlIGluc3RhbGwgdGhlIHNjcm9sbGtlZXBlciBwYWNrYWdlKQorLWZpCisrZG5sIGlmIHRlc3QgeCRTQ1JPTExLRUVQRVJfQ09ORklHID0geG5vOyB0aGVuCisrZG5sICBBQ19NU0dfRVJST1IoW0NvdWxkbid0IGZpbmQgc2Nyb2xsa2VlcGVyLWNvbmZpZywgcGxlYXNlIGluc3RhbGwgdGhlIHNjcm9sbGtlZXBlciBwYWNrYWdlXSkKKytkbmwgZmkKKworICMgKioqKioqKioqKioqKioqKioqKioKKyAjIEludGVybmF0aW9uYWxpemF0aW9uCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1kaXNrLXV0aWxpdHkvZ25vbWUtZGlzay11dGlsaXR5L2ZpeC1kYnVzLWludGVyZmFjZXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1kaXNrLXV0aWxpdHkvZ25vbWUtZGlzay11dGlsaXR5L2ZpeC1kYnVzLWludGVyZmFjZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmJhMzk3OQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLWRpc2stdXRpbGl0eS9nbm9tZS1kaXNrLXV0aWxpdHkvZml4LWRidXMtaW50ZXJmYWNlcy5wYXRjaApAQCAtMCwwICsxLDM0IEBACitJbmRleDogZ25vbWUtZGlzay11dGlsaXR5LTIuMzIuMC9zcmMvZ2R1L01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ25vbWUtZGlzay11dGlsaXR5LTIuMzIuMC5vcmlnL3NyYy9nZHUvTWFrZWZpbGUuYW0JMjAxMS0wOC0yMCAwMTo1OToxNi4wMDAwMDAwMDAgKzA0MDAKKysrKyBnbm9tZS1kaXNrLXV0aWxpdHktMi4zMi4wL3NyYy9nZHUvTWFrZWZpbGUuYW0JMjAxMS0wOC0yMCAwMjowODoxOC4wMDAwMDAwMDAgKzA0MDAKK0BAIC0xNCwyMCArMTQsMjAgQEAKKyBnZHUtbWFyc2hhbC5jOiBnZHUtbWFyc2hhbC5saXN0CisJZWNobyAiI2luY2x1ZGUgXCJnZHUtbWFyc2hhbC5oXCIiID4gJEAgJiYgZ2xpYi1nZW5tYXJzaGFsICQ8IC0tcHJlZml4PWdkdV9tYXJzaGFsIC0tYm9keSA+PiAkQAorCistdWRpc2tzLWRhZW1vbi1nbHVlLmg6IC91c3Ivc2hhcmUvZGJ1cy0xL2ludGVyZmFjZXMvb3JnLmZyZWVkZXNrdG9wLlVEaXNrcy54bWwgTWFrZWZpbGUuYW0KKy0JZGJ1cy1iaW5kaW5nLXRvb2wgLS1wcmVmaXg9ZGV2a2l0X2Rpc2tzX2RhZW1vbiAtLW1vZGU9Z2xpYi1jbGllbnQgLS1vdXRwdXQ9dWRpc2tzLWRhZW1vbi1nbHVlLmggL3Vzci9zaGFyZS9kYnVzLTEvaW50ZXJmYWNlcy9vcmcuZnJlZWRlc2t0b3AuVURpc2tzLnhtbAorK3VkaXNrcy1kYWVtb24tZ2x1ZS5oOiAkKFBLR19DT05GSUdfU1lTUk9PVF9ESVIpL3Vzci9zaGFyZS9kYnVzLTEvaW50ZXJmYWNlcy9vcmcuZnJlZWRlc2t0b3AuVURpc2tzLnhtbCBNYWtlZmlsZS5hbQorKwlkYnVzLWJpbmRpbmctdG9vbCAtLXByZWZpeD1kZXZraXRfZGlza3NfZGFlbW9uIC0tbW9kZT1nbGliLWNsaWVudCAtLW91dHB1dD11ZGlza3MtZGFlbW9uLWdsdWUuaCAkKFBLR19DT05GSUdfU1lTUk9PVF9ESVIpL3Vzci9zaGFyZS9kYnVzLTEvaW50ZXJmYWNlcy9vcmcuZnJlZWRlc2t0b3AuVURpc2tzLnhtbAorCistdWRpc2tzLWRldmljZS1nbHVlLmg6IC91c3Ivc2hhcmUvZGJ1cy0xL2ludGVyZmFjZXMvb3JnLmZyZWVkZXNrdG9wLlVEaXNrcy5EZXZpY2UueG1sIE1ha2VmaWxlLmFtCistCWRidXMtYmluZGluZy10b29sIC0tcHJlZml4PWRldmtpdF9kaXNrc19kYWVtb24gLS1tb2RlPWdsaWItY2xpZW50IC0tb3V0cHV0PXVkaXNrcy1kZXZpY2UtZ2x1ZS5oIC91c3Ivc2hhcmUvZGJ1cy0xL2ludGVyZmFjZXMvb3JnLmZyZWVkZXNrdG9wLlVEaXNrcy5EZXZpY2UueG1sCisrdWRpc2tzLWRldmljZS1nbHVlLmg6ICQoUEtHX0NPTkZJR19TWVNST09UX0RJUikvdXNyL3NoYXJlL2RidXMtMS9pbnRlcmZhY2VzL29yZy5mcmVlZGVza3RvcC5VRGlza3MuRGV2aWNlLnhtbCBNYWtlZmlsZS5hbQorKwlkYnVzLWJpbmRpbmctdG9vbCAtLXByZWZpeD1kZXZraXRfZGlza3NfZGFlbW9uIC0tbW9kZT1nbGliLWNsaWVudCAtLW91dHB1dD11ZGlza3MtZGV2aWNlLWdsdWUuaCAkKFBLR19DT05GSUdfU1lTUk9PVF9ESVIpL3Vzci9zaGFyZS9kYnVzLTEvaW50ZXJmYWNlcy9vcmcuZnJlZWRlc2t0b3AuVURpc2tzLkRldmljZS54bWwKKworLXVkaXNrcy1hZGFwdGVyLWdsdWUuaDogL3Vzci9zaGFyZS9kYnVzLTEvaW50ZXJmYWNlcy9vcmcuZnJlZWRlc2t0b3AuVURpc2tzLkFkYXB0ZXIueG1sIE1ha2VmaWxlLmFtCistCWRidXMtYmluZGluZy10b29sIC0tcHJlZml4PWRldmtpdF9kaXNrc19kYWVtb24gLS1tb2RlPWdsaWItY2xpZW50IC0tb3V0cHV0PXVkaXNrcy1hZGFwdGVyLWdsdWUuaCAvdXNyL3NoYXJlL2RidXMtMS9pbnRlcmZhY2VzL29yZy5mcmVlZGVza3RvcC5VRGlza3MuQWRhcHRlci54bWwKKyt1ZGlza3MtYWRhcHRlci1nbHVlLmg6ICQoUEtHX0NPTkZJR19TWVNST09UX0RJUikvdXNyL3NoYXJlL2RidXMtMS9pbnRlcmZhY2VzL29yZy5mcmVlZGVza3RvcC5VRGlza3MuQWRhcHRlci54bWwgTWFrZWZpbGUuYW0KKysJZGJ1cy1iaW5kaW5nLXRvb2wgLS1wcmVmaXg9ZGV2a2l0X2Rpc2tzX2RhZW1vbiAtLW1vZGU9Z2xpYi1jbGllbnQgLS1vdXRwdXQ9dWRpc2tzLWFkYXB0ZXItZ2x1ZS5oICQoUEtHX0NPTkZJR19TWVNST09UX0RJUikvdXNyL3NoYXJlL2RidXMtMS9pbnRlcmZhY2VzL29yZy5mcmVlZGVza3RvcC5VRGlza3MuQWRhcHRlci54bWwKKworLXVkaXNrcy1leHBhbmRlci1nbHVlLmg6IC91c3Ivc2hhcmUvZGJ1cy0xL2ludGVyZmFjZXMvb3JnLmZyZWVkZXNrdG9wLlVEaXNrcy5FeHBhbmRlci54bWwgTWFrZWZpbGUuYW0KKy0JZGJ1cy1iaW5kaW5nLXRvb2wgLS1wcmVmaXg9ZGV2a2l0X2Rpc2tzX2RhZW1vbiAtLW1vZGU9Z2xpYi1jbGllbnQgLS1vdXRwdXQ9dWRpc2tzLWV4cGFuZGVyLWdsdWUuaCAvdXNyL3NoYXJlL2RidXMtMS9pbnRlcmZhY2VzL29yZy5mcmVlZGVza3RvcC5VRGlza3MuRXhwYW5kZXIueG1sCisrdWRpc2tzLWV4cGFuZGVyLWdsdWUuaDogJChQS0dfQ09ORklHX1NZU1JPT1RfRElSKS91c3Ivc2hhcmUvZGJ1cy0xL2ludGVyZmFjZXMvb3JnLmZyZWVkZXNrdG9wLlVEaXNrcy5FeHBhbmRlci54bWwgTWFrZWZpbGUuYW0KKysJZGJ1cy1iaW5kaW5nLXRvb2wgLS1wcmVmaXg9ZGV2a2l0X2Rpc2tzX2RhZW1vbiAtLW1vZGU9Z2xpYi1jbGllbnQgLS1vdXRwdXQ9dWRpc2tzLWV4cGFuZGVyLWdsdWUuaCAkKFBLR19DT05GSUdfU1lTUk9PVF9ESVIpL3Vzci9zaGFyZS9kYnVzLTEvaW50ZXJmYWNlcy9vcmcuZnJlZWRlc2t0b3AuVURpc2tzLkV4cGFuZGVyLnhtbAorCistdWRpc2tzLXBvcnQtZ2x1ZS5oOiAvdXNyL3NoYXJlL2RidXMtMS9pbnRlcmZhY2VzL29yZy5mcmVlZGVza3RvcC5VRGlza3MuUG9ydC54bWwgTWFrZWZpbGUuYW0KKy0JZGJ1cy1iaW5kaW5nLXRvb2wgLS1wcmVmaXg9ZGV2a2l0X2Rpc2tzX2RhZW1vbiAtLW1vZGU9Z2xpYi1jbGllbnQgLS1vdXRwdXQ9dWRpc2tzLXBvcnQtZ2x1ZS5oIC91c3Ivc2hhcmUvZGJ1cy0xL2ludGVyZmFjZXMvb3JnLmZyZWVkZXNrdG9wLlVEaXNrcy5Qb3J0LnhtbAorK3VkaXNrcy1wb3J0LWdsdWUuaDogJChQS0dfQ09ORklHX1NZU1JPT1RfRElSKS91c3Ivc2hhcmUvZGJ1cy0xL2ludGVyZmFjZXMvb3JnLmZyZWVkZXNrdG9wLlVEaXNrcy5Qb3J0LnhtbCBNYWtlZmlsZS5hbQorKwlkYnVzLWJpbmRpbmctdG9vbCAtLXByZWZpeD1kZXZraXRfZGlza3NfZGFlbW9uIC0tbW9kZT1nbGliLWNsaWVudCAtLW91dHB1dD11ZGlza3MtcG9ydC1nbHVlLmggJChQS0dfQ09ORklHX1NZU1JPT1RfRElSKS91c3Ivc2hhcmUvZGJ1cy0xL2ludGVyZmFjZXMvb3JnLmZyZWVkZXNrdG9wLlVEaXNrcy5Qb3J0LnhtbAorCisgbGliX0xUTElCUkFSSUVTPWxpYmdkdS5sYQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGlzay11dGlsaXR5L2dub21lLWRpc2stdXRpbGl0eS9zeXNyb290ZWQtcGtnLWNvbmZpZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLWRpc2stdXRpbGl0eS9nbm9tZS1kaXNrLXV0aWxpdHkvc3lzcm9vdGVkLXBrZy1jb25maWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDhlNjNiMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLWRpc2stdXRpbGl0eS9nbm9tZS1kaXNrLXV0aWxpdHkvc3lzcm9vdGVkLXBrZy1jb25maWcucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorSW4gY3Jvc3MgZW52aXJvbm1lbnQgd2UgaGF2ZSB0byBwcmVwZW5kIHRoZSBzeXNyb290IHRvIHRoZSBwYXRoIGZvdW5kIGJ5Citwa2djb25maWcgc2luY2UgdGhlIHBhdGggcmV0dXJuZWQgZnJvbSBwa2djb25maWcgZG9lcyBub3QgaGF2ZSBzeXNyb290IHByZWZpeGVkCitpdCBlbmRzIHVwIHVzaW5nIHRoZSBmaWxlcyBmcm9tIGhvc3Qgc3lzdGVtLiBOb3cgdXN1YWxseSBwZW9wbGUgaGF2ZSBnbm9tZSBpbnN0YWxsZWQKK3NvIHRoZSBidWlsZCBzdWNjZWVkcyBidXQgaWYgeW91IGRvbnQgaGF2ZSBnbm9tZSBpbnN0YWxsZWQgb24gYnVpbGQgaG9zdCB0aGVuCitpdCB3b250IGZpbmQgdGhlIGZpbGVzIG9uIGhvc3Qgc3lzdGVtIGFuZCBwYWNrYWdlcyB1c2luZyBnbm9tZS1kb2MtdXRpbHMgd29udAorY29tcGlsZS4KKworVGhpcyBzaG91bGQgd29yayBvayB3aXRoIG5vbiBzeXNyb290ZWQgYnVpbGRzIHRvbyBzaW5jZSBpbiB0aG9zZSBjYXNlcyBQS0dfQ09ORklHX1NZU1JPT1RfRElSCit3aWxsIGJlIGVtcHR5CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCitJbmRleDogZ25vbWUtZGlzay11dGlsaXR5LTIuMzIuMC9nbm9tZS1kb2MtdXRpbHMubWFrZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdub21lLWRpc2stdXRpbGl0eS0yLjMyLjAub3JpZy9nbm9tZS1kb2MtdXRpbHMubWFrZQkyMDEwLTA5LTE1IDA4OjI3OjQ2LjAwMDAwMDAwMCAtMDcwMAorKysrIGdub21lLWRpc2stdXRpbGl0eS0yLjMyLjAvZ25vbWUtZG9jLXV0aWxzLm1ha2UJMjAxMS0wOS0yNSAxNjowNDozMC42OTM3OTU1OTEgLTA3MDAKK0BAIC0xMzMsMTIgKzEzMywxMiBAQAorIF94bWwycG8gPz0gYHdoaWNoIHhtbDJwb2AKKyBfeG1sMnBvX21vZGUgPSAkKGlmICQoRE9DX0lEKSxtYWxsYXJkLGRvY2Jvb2spCisgCistX2RiMmh0bWwgPz0gYCQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSBkYjJodG1sIGdub21lLWRvYy11dGlsc2AKKy1fZGIyb21mICA/PSBgJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIGRiMm9tZiBnbm9tZS1kb2MtdXRpbHNgCistX21hbHJuZyAgPz0gYCQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSBtYWxybmcgZ25vbWUtZG9jLXV0aWxzYAorLV9jaHVua3MgID89IGAkKFBLR19DT05GSUcpIC0tdmFyaWFibGUgeG1sZGlyIGdub21lLWRvYy11dGlsc2AvZ25vbWUveHNsdC9kb2Nib29rL3V0aWxzL2NodW5rcy54c2wKKy1fY3JlZGl0cyA/PSBgJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIHhtbGRpciBnbm9tZS1kb2MtdXRpbHNgL2dub21lL3hzbHQvZG9jYm9vay91dGlscy9jcmVkaXRzLnhzbAorLV9pZHMgPz0gYCQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSB4bWxkaXIgZ25vbWUtZG9jLXV0aWxzYC9nbm9tZS94c2x0L2RvY2Jvb2svdXRpbHMvaWRzLnhzbAorK19kYjJodG1sID89ICR7UEtHX0NPTkZJR19TWVNST09UX0RJUn1gJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIGRiMmh0bWwgZ25vbWUtZG9jLXV0aWxzYAorK19kYjJvbWYgID89ICR7UEtHX0NPTkZJR19TWVNST09UX0RJUn1gJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIGRiMm9tZiBnbm9tZS1kb2MtdXRpbHNgCisrX21hbHJuZyAgPz0gJHtQS0dfQ09ORklHX1NZU1JPT1RfRElSfWAkKFBLR19DT05GSUcpIC0tdmFyaWFibGUgbWFscm5nIGdub21lLWRvYy11dGlsc2AKKytfY2h1bmtzICA/PSAke1BLR19DT05GSUdfU1lTUk9PVF9ESVJ9YCQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSB4bWxkaXIgZ25vbWUtZG9jLXV0aWxzYC9nbm9tZS94c2x0L2RvY2Jvb2svdXRpbHMvY2h1bmtzLnhzbAorK19jcmVkaXRzID89ICR7UEtHX0NPTkZJR19TWVNST09UX0RJUn1gJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIHhtbGRpciBnbm9tZS1kb2MtdXRpbHNgL2dub21lL3hzbHQvZG9jYm9vay91dGlscy9jcmVkaXRzLnhzbAorK19pZHMgPz0gJHtQS0dfQ09ORklHX1NZU1JPT1RfRElSfWAkKFBLR19DT05GSUcpIC0tdmFyaWFibGUgeG1sZGlyIGdub21lLWRvYy11dGlsc2AvZ25vbWUveHNsdC9kb2Nib29rL3V0aWxzL2lkcy54c2wKKyAKKyBpZiBFTkFCTEVfU0sKKyBfRU5BQkxFX1NLID0gdHJ1ZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGlzay11dGlsaXR5L2dub21lLWRpc2stdXRpbGl0eV8yLjMyLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1kaXNrLXV0aWxpdHkvZ25vbWUtZGlzay11dGlsaXR5XzIuMzIuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZjQyN2U3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGlzay11dGlsaXR5L2dub21lLWRpc2stdXRpbGl0eV8yLjMyLjAuYmIKQEAgLTAsMCArMSwzNyBAQAorU1VNTUFSWSA9ICJHTk9NRSBkaXNrIHV0aWxpdHkiCisKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTkxMTVkMTE3OTdhNWU2Yjc0NmI0ZTliOTAxOTQ1NjQiCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgZ3RrKyBsaWJub3RpZnkgbGlidW5pcXVlIHVkaXNrcyBhdmFoaS11aSB2aXJ0dWFsL2xpYngxMSBsaWJhdGFzbWFydCBnbm9tZS1kb2MtdXRpbHMgaW50bHRvb2wtbmF0aXZlIGxpYmdub21lLWtleXJpbmciCisKK1BSID0gInI0IgorCitpbmhlcml0IGdub21lYmFzZSBndGstaWNvbi1jYWNoZQorU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiZjAzNjZjOGJhZWJjYTA0MDRkMTkwYjJkNzhmMzU4MmQiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICIwM2U0NjFiNmJkYTdmNzczZjgwMThkMjVmYTMyMTNkMzA3M2Q0ZGM4M2E3NmU2YjM5ZDk2MjY1MmY0ZGU2YTk4IgorR05PTUVfQ09NUFJFU1NfVFlQRT0iYnoyIgorCitTUkNfVVJJICs9ICJcCisgICAgZmlsZTovL2Rpc2FibGUtc2Nyb2xsa2VlcGVyLnBhdGNoIFwKKyAgICBmaWxlOi8vZml4LWRidXMtaW50ZXJmYWNlcy5wYXRjaCBcCisgICAgZmlsZTovL3N5c3Jvb3RlZC1wa2ctY29uZmlnLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMS1BZGQtc3VwcG9ydC1mb3ItRGV2aWNlQXV0b21vdW50SGludC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDItUmVxdWlyZS1saWJub3RpZnktMC42LjEucGF0Y2ggXAorIgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1zY3JvbGxrZWVwZXIiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW25hdXRpbHVzXSA9ICItLWVuYWJsZS1uYXV0aWx1cywtLWRpc2FibGUtbmF1dGlsdXMsbmF1dGlsdXMiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAtZSAiczogaGVscCA6IDpnIiAke1N9L01ha2VmaWxlLmFtCit9CisKK1BBQ0tBR0VTID0rICIke1BOfS1uYXV0aWx1cy1leHRlbnNpb24gJHtQTn0tbGlicyIKK0ZJTEVTXyR7UE59LW5hdXRpbHVzLWV4dGVuc2lvbiArPSAiJHtsaWJkaXJ9L25hdXRpbHVzL2V4dGVuc2lvbnMtMi4wLyouc28iCitGSUxFU18ke1BOfS1saWJzICs9ICIke2xpYmRpcn0vbGliZ2R1Ki5zby4qIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vbmF1dGlsdXMvZXh0ZW5zaW9ucy0yLjAvKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L25hdXRpbHVzL2V4dGVuc2lvbnMtMi4wLyouYSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L25hdXRpbHVzL2V4dGVuc2lvbnMtMi4wLy5kZWJ1ZyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLWtleXJpbmcvZ25vbWUta2V5cmluZy9lZ2ctYXNuMXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1rZXlyaW5nL2dub21lLWtleXJpbmcvZWdnLWFzbjF4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkOGE0MGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1rZXlyaW5nL2dub21lLWtleXJpbmcvZWdnLWFzbjF4LnBhdGNoCkBAIC0wLDAgKzEsNTUgQEAKK0ZpeGVkIGJ1aWxkIGVycm9yIHdpdGggZ2NjIDQuOAorCitFcnJvcnMgbGlrZSBiZWxvdworCitlZ2ctYXNuMXguYzogSW4gZnVuY3Rpb24gJ2Fub2RlX2VuY29kZV9idWlsZCc6CitlZ2ctYXNuMXguYzoxMjgwOjc6IHdhcm5pbmc6IHZhcmlhYmxlICd0eXBlJyBzZXQgYnV0IG5vdCB1c2VkIFstV3VudXNlZC1idXQtc2V0LXZhcmlhYmxlXQorZWdnLWFzbjF4LmM6IEluIGZ1bmN0aW9uICd0cmF2ZXJzZV9hbmRfcHJlcGFyZSc6CitlZ2ctYXNuMXguYzozMzU0OjM6IHdhcm5pbmc6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiAnZWdnX2FzbjF4X2NyZWF0ZScgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFtlbmFibGVkIGJ5IGRlZmF1bHRdCitJbiBmaWxlIGluY2x1ZGVkIGZyb20gZWdnLWFzbjF4LmM6NTA6MDoKK2VnZy1hc24xeC5oOjM4Ojg6IG5vdGU6IGV4cGVjdGVkICdjb25zdCBzdHJ1Y3Qgc3RhdGljX3N0cnVjdF9hc24gKicgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUgJ2NvbnN0IHN0cnVjdCBhc24xX3N0YXRpY19ub2RlIConCitlZ2ctYXNuMXguYzogQXQgdG9wIGxldmVsOgorZWdnLWFzbjF4LmM6MzUwOToxOiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdlZ2dfYXNuMXhfY3JlYXRlJworSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGVnZy1hc24xeC5jOjUwOjA6CitlZ2ctYXNuMXguaDozODo4OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnZWdnX2FzbjF4X2NyZWF0ZScgd2FzIGhlcmUKK2VnZy1hc24xeC5jOjM1NzI6MTogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnZWdnX2FzbjF4X2NyZWF0ZV9xdWFyaycKK0luIGZpbGUgaW5jbHVkZWQgZnJvbSBlZ2ctYXNuMXguYzo1MDowOgorZWdnLWFzbjF4Lmg6NDE6ODogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2VnZ19hc24xeF9jcmVhdGVfcXVhcmsnIHdhcyBoZXJlCitlZ2ctYXNuMXguYzozNTc5OjE6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2VnZ19hc24xeF9jcmVhdGVfYW5kX2RlY29kZScKK0luIGZpbGUgaW5jbHVkZWQgZnJvbSBlZ2ctYXNuMXguYzo1MDowOgorZWdnLWFzbjF4Lmg6NDQ6ODogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2VnZ19hc24xeF9jcmVhdGVfYW5kX2RlY29kZScgd2FzIGhlcmUKK21ha2VbNF06ICoqKiBbbGliZWdnX2xhLWVnZy1hc24xeC5sb10gRXJyb3IgMQorCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworSW5kZXg6IGdub21lLWtleXJpbmctMi4zMi4xL2VnZy9lZ2ctYXNuMXguaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdub21lLWtleXJpbmctMi4zMi4xLm9yaWcvZWdnL2VnZy1hc24xeC5oCTIwMTAtMTAtMTggMTk6MTE6MzguMDAwMDAwMDAwIC0wNzAwCisrKysgZ25vbWUta2V5cmluZy0yLjMyLjEvZWdnL2VnZy1hc24xeC5oCTIwMTMtMDYtMTEgMTU6MTU6MDAuNjc1Mzk5MjYzIC0wNzAwCitAQCAtMjUsNiArMjUsNyBAQAorICNkZWZpbmUgRUdHX0FTTjFYX0hfCisgCisgI2luY2x1ZGUgPGdsaWIuaD4KKysjaW5jbHVkZSA8bGlidGFzbjEuaD4KKyAKKyAjaWZuZGVmIEhBVkVfRUdHX0FMTE9DQVRPUgorIHR5cGVkZWYgdm9pZCogKCpFZ2dBbGxvY2F0b3IpICh2b2lkKiBwLCBnc2l6ZSk7CitAQCAtMzUsMTMgKzM2LDEzIEBACisgCisgc3RydWN0IHN0YXRpY19zdHJ1Y3RfYXNuOworIAorLUdOb2RlKiAgICAgICAgICAgICAgZWdnX2FzbjF4X2NyZWF0ZSAgICAgICAgICAgICAgICAgKGNvbnN0IHN0cnVjdCBzdGF0aWNfc3RydWN0X2FzbiAqZGVmcywKKytHTm9kZSogICAgICAgICAgICAgIGVnZ19hc24xeF9jcmVhdGUgICAgICAgICAgICAgICAgIChjb25zdCBBU04xX0FSUkFZX1RZUEUgKmRlZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgKnR5cGUpOworIAorLUdOb2RlKiAgICAgICAgICAgICAgZWdnX2FzbjF4X2NyZWF0ZV9xdWFyayAgICAgICAgICAgKGNvbnN0IHN0cnVjdCBzdGF0aWNfc3RydWN0X2FzbiAqZGVmcywKKytHTm9kZSogICAgICAgICAgICAgIGVnZ19hc24xeF9jcmVhdGVfcXVhcmsgICAgICAgICAgIChjb25zdCBBU04xX0FSUkFZX1RZUEUgKmRlZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1F1YXJrIHR5cGUpOworIAorLUdOb2RlKiAgICAgICAgICAgICAgZWdnX2FzbjF4X2NyZWF0ZV9hbmRfZGVjb2RlICAgICAgKGNvbnN0IHN0cnVjdCBzdGF0aWNfc3RydWN0X2FzbiAqZGVmcywKKytHTm9kZSogICAgICAgICAgICAgIGVnZ19hc24xeF9jcmVhdGVfYW5kX2RlY29kZSAgICAgIChjb25zdCBBU04xX0FSUkFZX1RZUEUgKmRlZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgKnR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2NvbnN0cG9pbnRlciBkYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzaXplIG5fZGF0YSk7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1rZXlyaW5nL2dub21lLWtleXJpbmdfMi4zMi4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUta2V5cmluZy9nbm9tZS1rZXlyaW5nXzIuMzIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOGY1ZGRkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUta2V5cmluZy9nbm9tZS1rZXlyaW5nXzIuMzIuMS5iYgpAQCAtMCwwICsxLDQzIEBACitTVU1NQVJZID0gIlBhc3N3b3JkIGFuZCBrZXlyaW5nIG1hbmFnaW5nIGRhZW1vbiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ25vbWUub3JnLyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvIgorCitMSUNFTlNFID0gIkdQTHYyKyAmIExHUEx2MisgJiBMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9nY3IvZ2NyLmg7ZW5kbGluZT0yMjttZDU9YTI3MmRmMWU2MzNlMjdlY2YzNWU3NGZiNTU3NjI1MGUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZWdnL2VnZy1kYnVzLmg7ZW5kbGluZT0yNTttZDU9ZWI2ZjUzMWFmMzcxNjVkYzUzNDIwYzA3M2Q3NzRlNjEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3AxMS9ncDExLmg7ZW5kbGluZT0yNDttZDU9YmQ4YzdhOGEyMWQ2YzI4ZDQwNTM2ZDk2YTM1ZTM0NjkgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcGtjczExL3BrY3MxMWkuaDtlbmRsaW5lPTI0O21kNT1lNzJjZmJiNzE4Mzg5Yjc2YTRkYWU4MzhkMWMxZjQzOSIKKworU0VDVElPTiA9ICJ4MTEvZ25vbWUiCisKK1BSID0gInIxMiIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ25vbWUgZ3RrLWRvYyBwa2djb25maWcgZ3NldHRpbmdzCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9lZ2ctYXNuMXgucGF0Y2giCisKK0RFUEVORFMgPSAiZ3RrKyBsaWJnY3J5cHQgbGlidGFzbjEgbGlidGFzbjEtbmF0aXZlIGdjb25mICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ2xpYnBhbScsICcnLCBkKX0gaW50bHRvb2wtbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gPSAibGliZ25vbWUta2V5cmluZyBnbGliLTIuMC11dGlscyIKKworRVhUUkFfT0VDT05GID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJy0tZW5hYmxlLXBhbSAtLXdpdGgtcGFtLWRpcj0ke2Jhc2VfbGliZGlyfS9zZWN1cml0eScsICctLWRpc2FibGUtcGFtJywgZCl9IgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI5YThhYTc0ZTAzMzYxNjc2ZjI5ZDZlNzMxNTU3ODZmYyIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjMxZmVjZWMxNDMwYTk3ZjU5YTYxNTlhNWEyZWE4ZDZhMWI0NDI4N2YxZTllNTk1YjM1OTRkZjQ2YmY3ZjE4ZjkiCitHTk9NRV9DT01QUkVTU19UWVBFPSJiejIiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RidXMtMS9zZXJ2aWNlcyAke2RhdGFkaXJ9L2djciBcCisgICAgICAgICAgICAgICAgJHtiYXNlX2xpYmRpcn0vc2VjdXJpdHkvKiR7U09MSUJTREVWfSBcCisgICAgICAgICAgICAgICAiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9LyR7QlBOfS9kZXZlbC8qLmxhIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9LyR7QlBOfS9kZXZlbC8qJHtTT0xJQlNERVZ9IFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9LyR7QlBOfS9zdGFuZGFsb25lLyoubGEgXAorICAgICAgICAgICAgICAgICAgICAke2Jhc2VfbGliZGlyfS9zZWN1cml0eS8qLmxhIFwKKyAgICAgICAgICAgICAgICAgICAiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9LyR7QlBOfS9zdGFuZGFsb25lLy5kZWJ1Zy8gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vJHtCUE59L2RldmVsLy5kZWJ1Zy8gXAorICAgICAgICAgICAgICAgICAgICAke2Jhc2VfbGliZGlyfS9zZWN1cml0eS8uZGVidWcvIgorCitQTkJMQUNLTElTVFtnbm9tZS1rZXlyaW5nXSA/PSAiVGhpcyB2ZXJzaW9uIGNvbmZsaWN0cyB3aXRoIGdjciBmcm9tIG9lLWNvcmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1rZXlyaW5nL2xpYmdub21lLWtleXJpbmdfMi4zMi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUta2V5cmluZy9saWJnbm9tZS1rZXlyaW5nXzIuMzIuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMjQxODgyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUta2V5cmluZy9saWJnbm9tZS1rZXlyaW5nXzIuMzIuMC5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIkNvbXBhdGliaWxpdHkgbGlicmFyeSBmb3IgYWNjZXNzaW5nIHNlY3JldHMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lmdub21lLm9yZy8iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLyIKKworTElDRU5TRSA9ICJMR1BMdjIgJiBMR1BMdjIrICYgTEdQTHYyLjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDkxNGI5ZDNlYmFiYTQxZWYyZTNlMGFlMTZmMjk2Y2YgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGlicmFyeS9nbm9tZS1rZXlyaW5nLmg7ZW5kbGluZT0yNTttZDU9NjhlYTY0ZjgxYzE2MGQ2NzBjMzdkYTVmMTM3YmU0ZmIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGlicmFyeS9nbm9tZS1rZXlyaW5nLmM7ZW5kbGluZT0yNjttZDU9OGQ3YTRmYjY3NGFhYTAxMmVhNWE5OGU3YzM2OGI0YTUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZWdnL2VnZy1kaC5oO2VuZGxpbmU9MjI7bWQ1PTE2MjZjMTZhZjJhOGRhMWY4ODMyNGNmM2NlZDMzZjA4IgorCitTRUNUSU9OID0gIngxMS9nbm9tZS9saWJzIgorUFIgPSAicjMiCisKK2luaGVyaXQgZ25vbWViYXNlIGd0ay1kb2MKKworREVQRU5EUyA9ICJkYnVzIGxpYmdjcnlwdCBnbGliLTIuMCBpbnRsdG9vbC1uYXRpdmUiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImM0MmIyY2E2NjIwNDgzNWQ5MDFkM2RiZmMxZmE1YWU2IgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiNTYzODhjMGQ4MWRkZmRiNTdkMzBlNDk2M2M4M2VjYzFjMTg0OThhYWI5OTM5NTQyMGUwZmZmNjk5MjlhMGYwYyIKK0dOT01FX0NPTVBSRVNTX1RZUEU9ImJ6MiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLW1lbnVzL2dub21lLW1lbnVzM18zLjEwLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1tZW51cy9nbm9tZS1tZW51czNfMy4xMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmNTUxOTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1tZW51cy9nbm9tZS1tZW51czNfMy4xMC4xLmJiCkBAIC0wLDAgKzEsMjYgQEAKK1NVTU1BUlkgPSAiR05PTUUgbWVudXMiCitTRUNUSU9OID0gIngxMS9nbm9tZSIKK0xJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NWYzMGYwNzE2ZGZkZDBkOTFlYjQzOWViZWM1MjJlYzIiCisKK1BOQkxBQ0tMSVNUW2dub21lLW1lbnVzM10gPz0gIkNPTkZMSUNUOiAyNCBmaWxlcyBhcmUgY29uZmxpY3Rpbmcgd2l0aCBnbm9tZS1tZW51cyIKKyMgZS5nLiBzeXNyb290cy9xZW11eDg2LTY0L3Vzci9zaGFyZS9kZXNrdG9wLWRpcmVjdG9yaWVzL1gtR05PTUUtT3RoZXIuZGlyZWN0b3J5CisKK0RFUEVORFMgPSAicHl0aG9uIGxpYnhtbDIgZ2NvbmYgcG9wdCBndGsrMyIKKworaW5oZXJpdCBnbm9tZWJhc2UgcGtnY29uZmlnIHB5dGhvbi1kaXIgcHl0aG9ubmF0aXZlIGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitCUE4gPSAiZ25vbWUtbWVudXMiCisKK1NIUlRfVkVSID0gIiR7QGQuZ2V0VmFyKCdQVicsMSkuc3BsaXQoJy4nKVswXX0uJHtAZC5nZXRWYXIoJ1BWJywxKS5zcGxpdCgnLicpWzFdfSIKK1NSQ19VUkkgPSAiJHtHTk9NRV9NSVJST1J9LyR7QlBOfS8ke1NIUlRfVkVSfS8ke0JQTn0tJHtQVn0udGFyLnh6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiNmRiMDI1ZTc5ZTJiNjlmMzlmYzdhYTA3NTNmNDMwODEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDY5NTBhYmEyNzRjMWFkNTgyMzQzNzRmYTliMjM1MjU4NjUwNzM3MzA3ZjNiYzM5NmFmNDhlYjk4MzY2OGE3MSIKKworUEFDS0FHRVMgKz0gIiR7UE59LXB5dGhvbiIKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2Rlc2t0b3AtZGlyZWN0b3JpZXMvIgorRklMRVNfJHtQTn0tcHl0aG9uID0gIiR7bGliZGlyfS9weXRob24qIgorRklMRVNfJHtQTn0tZGJnICs9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qLy5kZWJ1ZyBcCisgICAgICAgICAgICAgICAgICAgICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9Ly5kZWJ1ZyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLW1lbnVzL2dub21lLW1lbnVzXzIuMzAuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLW1lbnVzL2dub21lLW1lbnVzXzIuMzAuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjg0YTU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtbWVudXMvZ25vbWUtbWVudXNfMi4zMC41LmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiR05PTUUgbWVudXMiCitTRUNUSU9OID0gIngxMS9nbm9tZSIKK0xJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NWYzMGYwNzE2ZGZkZDBkOTFlYjQzOWViZWM1MjJlYzIiCitQUiA9ICJyMSIKKworREVQRU5EUyA9ICJweXRob24gbGlieG1sMiBnY29uZiBwb3B0IGd0aysiCisKK2luaGVyaXQgZ25vbWViYXNlIHBrZ2NvbmZpZyBweXRob24tZGlyIHB5dGhvbm5hdGl2ZSBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiY2FhNjc3MmU2M2VkNTg3MGNmNDNkYzNkMzU0ZTA2MjQiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI2ZGNjNTY1MDA2ZDZlOGMyMDI1YWU4M2FiMWY4MmVkZjZiZDA0ZDYxYzgwNGMwZGM5YmY1ZWE1MDYyOWM0Y2FhIgorR05PTUVfQ09NUFJFU1NfVFlQRT0iYnoyIgorCitQQUNLQUdFUyArPSAiJHtQTn0tcHl0aG9uIgorRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZGVza3RvcC1kaXJlY3Rvcmllcy8iCitGSUxFU18ke1BOfS1weXRob24gPSAiJHtsaWJkaXJ9L3B5dGhvbioiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyovLmRlYnVnIFwKKyAgICAgICAgICAgICAgICAgICAgJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vLmRlYnVnIgorCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLW1pbWUtZGF0YS9nbm9tZS1taW1lLWRhdGEvcGtnY29uZmlnLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtbWltZS1kYXRhL2dub21lLW1pbWUtZGF0YS9wa2djb25maWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDkwMzQyNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLW1pbWUtZGF0YS9nbm9tZS1taW1lLWRhdGEvcGtnY29uZmlnLnBhdGNoCkBAIC0wLDAgKzEsMTQgQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworSW5kZXg6IGdub21lLW1pbWUtZGF0YS0yLjE4LjAvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnbm9tZS1taW1lLWRhdGEtMi4xOC4wLm9yaWcvTWFrZWZpbGUuYW0JMjAwOS0wNi0xMSAxNzoyNzo0OC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnbm9tZS1taW1lLWRhdGEtMi4xOC4wL01ha2VmaWxlLmFtCTIwMDktMDYtMTEgMTc6Mjc6NTkuMDAwMDAwMDAwICswMTAwCitAQCAtMSw2ICsxLDYgQEAKKyBTVUJESVJTID0gbWFuIHBvCisgCistcGtnY29uZmlnZGlyID0gJChkYXRhZGlyKS9wa2djb25maWcKKytwa2djb25maWdkaXIgPSAkKGxpYmRpcikvcGtnY29uZmlnCisgcGtnY29uZmlnX0RBVEEgPSBnbm9tZS1taW1lLWRhdGEtMi4wLnBjCisgCisgTlVMTD0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLW1pbWUtZGF0YS9nbm9tZS1taW1lLWRhdGFfMi4xOC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtbWltZS1kYXRhL2dub21lLW1pbWUtZGF0YV8yLjE4LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTMxZWI1NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLW1pbWUtZGF0YS9nbm9tZS1taW1lLWRhdGFfMi4xOC4wLmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiQmFzZSBNSU1FIGFuZCBBcHBsaWNhdGlvbiBkYXRhYmFzZSBmb3IgR05PTUUiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lmdub21lLm9yZy8iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLyIKKworTElDRU5TRSA9ICJHUEx2MiAmIEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2NoZWNrLW1pbWUucGw7ZW5kbGluZT0yNjttZDU9YTk1YjYzYzkyYzMzZDRjYTFhZjYxYTMxNTg4OGY0NTAiCisKK2luaGVyaXQgZ25vbWViYXNlIG1pbWUKK1BSID0gInI0IgorCitTUkNfVVJJICs9ICJmaWxlOi8vcGtnY29uZmlnLnBhdGNoIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI1NDE4NTgxODhmODAwOTBkMTJhMzNiNWE3YzM0ZDQyYyIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjM3MTk2YjViMzcwODViYmNkNDVjMzM4YzM2ZTI2ODk4ZmUzNWRkNTk3NTI5NWY2OWY0ODAyOGIxZTg0MzZmZDciCitHTk9NRV9DT01QUkVTU19UWVBFPSJiejIiCisKK0RFUEVORFMgKz0gInNoYXJlZC1taW1lLWluZm8gaW50bHRvb2wtbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gPSAic2hhcmVkLW1pbWUtaW5mbyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXBhbmVsL2dub21lLXBhbmVsLzAwMDEtRml4LWJ1aWxkLXdpdGgtZ2NjLTUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1wYW5lbC9nbm9tZS1wYW5lbC8wMDAxLUZpeC1idWlsZC13aXRoLWdjYy01LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiN2ZjNWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1wYW5lbC9nbm9tZS1wYW5lbC8wMDAxLUZpeC1idWlsZC13aXRoLWdjYy01LnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK0Zyb20gMjA4MTBmY2YzMjljNmUwYjQ4YjhlNzYwMjU2NWNjYzcwYzdjZTYyYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBTdW4sIDEwIE1heSAyMDE1IDAyOjEwOjU5IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBidWlsZCB3aXRoIGdjYyA1CisKK2NjMTogZXJyb3I6IC4uLy4uL2dub21lLXBhbmVsL2xpYnBhbmVsLWFwcGxldHMtcHJpdmF0ZTogTm8gc3VjaCBmaWxlIG9yCitkaXJlY3RvcnkgWy1XZXJyb3I9bWlzc2luZy1pbmNsdWRlLWRpcnNdCitjYzE6IGVycm9yOiAuLi8uLi9nbm9tZS1wYW5lbC9saWJwYW5lbC1hcHBsZXRzLXByaXZhdGU6IE5vIHN1Y2ggZmlsZSBvcgorZGlyZWN0b3J5IFstV2Vycm9yPW1pc3NpbmctaW5jbHVkZS1kaXJzXQorY2MxOiBlcnJvcjogLi4vLi4vZ25vbWUtcGFuZWwvbGlicGFuZWwtYXBwbGV0cy1wcml2YXRlOiBObyBzdWNoIGZpbGUgb3IKK2RpcmVjdG9yeSBbLVdlcnJvcj1taXNzaW5nLWluY2x1ZGUtZGlyc10KK2NjMTogc29tZSB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworIGdub21lLXBhbmVsL2xpYnBhbmVsLWFwcGxldC1wcml2YXRlL01ha2VmaWxlLmFtIHwgMSAtCisgMSBmaWxlIGNoYW5nZWQsIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2dub21lLXBhbmVsL2xpYnBhbmVsLWFwcGxldC1wcml2YXRlL01ha2VmaWxlLmFtIGIvZ25vbWUtcGFuZWwvbGlicGFuZWwtYXBwbGV0LXByaXZhdGUvTWFrZWZpbGUuYW0KK2luZGV4IGYxMmRlZTguLmQ1NTZmMTIgMTAwNjQ0CistLS0gYS9nbm9tZS1wYW5lbC9saWJwYW5lbC1hcHBsZXQtcHJpdmF0ZS9NYWtlZmlsZS5hbQorKysrIGIvZ25vbWUtcGFuZWwvbGlicGFuZWwtYXBwbGV0LXByaXZhdGUvTWFrZWZpbGUuYW0KK0BAIC04LDcgKzgsNiBAQCBBTV9DUFBGTEFHUyA9CQkJCQkJCVwKKyAJLUkkKHNyY2RpcikJCQkJCQlcCisgCS1JJCh0b3Bfc3JjZGlyKS9nbm9tZS1wYW5lbAkJCQlcCisgCS1JJCh0b3BfYnVpbGRkaXIpL2dub21lLXBhbmVsCQkJCVwKKy0JLUkkKHRvcF9idWlsZGRpcikvZ25vbWUtcGFuZWwvbGlicGFuZWwtYXBwbGV0cy1wcml2YXRlCVwKKyAJLUkkKHRvcF9idWlsZGRpcikvZ25vbWUtcGFuZWwvbGlicGFuZWwtdXRpbAkJXAorIAktRERBVEFESVI9XCIiJChkYXRhZGlyKSJcIgkJCQlcCisgCS1EUEFORUxfQVBQTEVUU19ESVI9XCIkKGFwcGxldHNkaXIpXCIJCQlcCistLSAKKzIuMS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXBhbmVsL2dub21lLXBhbmVsL2FzLW5lZWRlZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXBhbmVsL2dub21lLXBhbmVsL2FzLW5lZWRlZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNzhlM2U0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtcGFuZWwvZ25vbWUtcGFuZWwvYXMtbmVlZGVkLnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gYzY1ZjFhZTM0NzJjZmQ0Y2Q5NmZkMzc2YjdiYmQ5NWZiYTVlZWYwYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFZpbmNlbnQgVW50eiA8dnVudHpAZ25vbWUub3JnPgorRGF0ZTogRnJpLCAyNyBNYXkgMjAxMSAxNzowMDoxNCArMDAwMAorU3ViamVjdDogYnVpbGQ6IEZpeCBidWlsZCB3aXRoIC0tYXMtbmVlZGVkCisKK3Vwc3RyZWFtLXN0YXR1czogYmFja3BvcnQKKworLS0tCitkaWZmIC0tZ2l0IGEvYXBwbGV0cy9ub3RpZmljYXRpb25fYXJlYS9NYWtlZmlsZS5hbSBiL2FwcGxldHMvbm90aWZpY2F0aW9uX2FyZWEvTWFrZWZpbGUuYW0KK2luZGV4IDBhZmM2YzUuLjk3MzQ1MzYgMTAwNjQ0CistLS0gYS9hcHBsZXRzL25vdGlmaWNhdGlvbl9hcmVhL01ha2VmaWxlLmFtCisrKysgYi9hcHBsZXRzL25vdGlmaWNhdGlvbl9hcmVhL01ha2VmaWxlLmFtCitAQCAtMjksMTcgKzI5LDE3IEBAIGxpYnRyYXlfbGFfU09VUkNFUyA9CQlcCisgTk9USUZJQ0FUSU9OX0FSRUFfU09VUkNFUyA9IG1haW4uYyBtYWluLmgKKyAKKyBOT1RJRklDQVRJT05fQVJFQV9MREFERCA9CQkJCVwKKysJbGlidHJheS5sYQkJCQkJXAorIAkuLi8uLi9saWJwYW5lbC1hcHBsZXQvbGlicGFuZWwtYXBwbGV0LTQubGEJXAorIAkkKFhfTElCUykJCQkJCVwKKyAJJChOT1RJRklDQVRJT05fQVJFQV9MSUJTKQkJCVwKKy0JJChMSUJQQU5FTF9BUFBMRVRfTElCUykJCQkJXAorLQlsaWJ0cmF5LmxhCisrCSQoTElCUEFORUxfQVBQTEVUX0xJQlMpCisgCisgdGVzdHRyYXlfU09VUkNFUyA9IHRlc3R0cmF5LmMKKyB0ZXN0dHJheV9MREFERCA9CQkJXAorKwlsaWJ0cmF5LmxhCQkJXAorIAkkKFhfTElCUykJCQlcCistCSQoTk9USUZJQ0FUSU9OX0FSRUFfTElCUykJXAorLQlsaWJ0cmF5LmxhCisrCSQoTk9USUZJQ0FUSU9OX0FSRUFfTElCUykKKyAKKyBpZiBOT1RJRklDQVRJT05fQVJFQV9JTlBST0NFU1MKKyBBUFBMRVRfSU5fUFJPQ0VTUyA9IHRydWUKKy0tCitjZ2l0IHYwLjkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXBhbmVsL2dub21lLXBhbmVsL2lkbC1zeXNyb290LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtcGFuZWwvZ25vbWUtcGFuZWwvaWRsLXN5c3Jvb3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGU0Y2Q4NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXBhbmVsL2dub21lLXBhbmVsL2lkbC1zeXNyb290LnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKKy0tLSAvdG1wL01ha2VmaWxlLmFtCTIwMDktMTAtMjYgMTY6NTM6MjAuMDAwMDAwMDAwICswMTAwCisrKysgZ25vbWUtcGFuZWwtMi4yOC4wL2dub21lLXBhbmVsL01ha2VmaWxlLmFtCTIwMDktMTAtMjYgMTY6NTM6NTEuMDAwMDAwMDAwICswMTAwCitAQCAtNDMsNyArNDMsNyBAQAorIAkkKE5VTEwpCisgCisgJChDT1JCQV9TUkNMSVNUKTogJCh0b3Bfc3JjZGlyKS9pZGwvR05PTUVfUGFuZWwuaWRsICQoT1JCSVRfSURMKQorLQkkKEFNX1ZfR0VOKSQoT1JCSVRfSURMKSAtSSAkKEJPTk9CT19JRExESVIpIC1JICQoQk9OT0JPX0FDVF9JRExESVIpICQodG9wX3NyY2RpcikvaWRsL0dOT01FX1BhbmVsLmlkbAorKwkkKEFNX1ZfR0VOKSQoT1JCSVRfSURMKSAtSSAkKFNZU1JPT1QpJChCT05PQk9fSURMRElSKSAtSSAkKFNZU1JPT1QpJChCT05PQk9fQUNUX0lETERJUikgJCh0b3Bfc3JjZGlyKS9pZGwvR05PTUVfUGFuZWwuaWRsCisgCisgQlVJTFRfU09VUkNFUyA9IFwKKyAJJChDT1JCQV9TUkNMSVNUKQlcCistLS0gL3RtcC9NYWtlZmlsZS5hbQkyMDA5LTEwLTI2IDE2OjU0OjE3LjAwMDAwMDAwMCArMDEwMAorKysrIGdub21lLXBhbmVsLTIuMjguMC9saWJwYW5lbC1hcHBsZXQvTWFrZWZpbGUuYW0JMjAwOS0xMC0yNiAxNjo1NDozNC4wMDAwMDAwMDAgKzAxMDAKK0BAIC00NSw3ICs0NSw3IEBACisgCUdOT01FX1BhbmVsLmgKKyAKKyAkKENPUkJBX1NSQ0xJU1QpOiAkKHRvcF9zcmNkaXIpL2lkbC9HTk9NRV9QYW5lbC5pZGwgJChPUkJJVF9JREwpCistCSQoQU1fVl9HRU4pJChPUkJJVF9JREwpIC1JICQoQk9OT0JPX0lETERJUikgLUkgJChCT05PQk9fQUNUX0lETERJUikgJCh0b3Bfc3JjZGlyKS9pZGwvR05PTUVfUGFuZWwuaWRsCisrCSQoQU1fVl9HRU4pJChPUkJJVF9JREwpIC1JICQoU1lTUk9PVCkkKEJPTk9CT19JRExESVIpIC1JICQoU1lTUk9PVCkkKEJPTk9CT19BQ1RfSURMRElSKSAkKHRvcF9zcmNkaXIpL2lkbC9HTk9NRV9QYW5lbC5pZGwKKyAKKyBub2luc3RfUFJPR1JBTVMgPSB0ZXN0LWJvbm9iby1hcHBsZXQKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXBhbmVsL2dub21lLXBhbmVsM18zLjAuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXBhbmVsL2dub21lLXBhbmVsM18zLjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYmNmNzZmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtcGFuZWwvZ25vbWUtcGFuZWwzXzMuMC4yLmJiCkBAIC0wLDAgKzEsNTEgQEAKK1NVTU1BUlkgPSAiR05PTUUgcGFuZWwiCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyICYgR0ZETC0xLjEiCisKK0JQTiA9ICJnbm9tZS1wYW5lbCIKK1BSID0gInIxIgorCitQTkJMQUNLTElTVFtnbm9tZS1wYW5lbDNdID89ICJDT05GTElDVDogZGVwZW5kcyBvbiBsaWJnd2VhdGhlcjMgd2hpY2ggY29uZmxpY3RzIHdpdGggbGliZ3dlYXRoZXIiCisKKyMgY29uZmxpY3RzIHdpdGggZ25vbWUtcGFuZWwsIGJlY2F1c2UgdGhleSBwcm92aWRlIHRoZSBzYW1lIHBhY2thZ2UKKyMgaHR0cDovL3BhdGNoZXMub3BlbmVtYmVkZGVkLm9yZy9wYXRjaC80MzEwNS8KK0VYQ0xVREVfRlJPTV9XT1JMRCA9ICIxIgorREVGQVVMVF9QUkVGRVJFTkNFID0gIi0xIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLURPQ1M7bWQ1PWM5MjExZGFiM2FlNjFlNTgwZjQ4NDMyMDIwNzg0MzI0IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT01ZjMwZjA3MTZkZmRkMGQ5MWViNDM5ZWJlYzUyMmVjMiIKKworU0VDVElPTiA9ICJ4MTEvZ25vbWUiCisKK0RFUEVORFMgPSAiZ25vbWUtZG9jLXV0aWxzLW5hdGl2ZSBndGsrMyBkY29uZiBnY29uZiBnbGliLTIuMCBnbm9tZS1kZXNrdG9wMyBndGsrIHBhbmdvIGxpYnduY2szIGdub21lLW1lbnVzIGNhaXJvIGxpYmd3ZWF0aGVyMyBkYnVzLWdsaWIgbGlicnN2ZyBsaWJjYW5iZXJyYSIgCisKK2luaGVyaXQgZ3RrLWRvYyBnbm9tZSBnZXR0ZXh0IHBrZ2NvbmZpZworCitTUkNfVVJJICs9ICJmaWxlOi8vYXMtbmVlZGVkLnBhdGNoICIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiMGYyZjY0NGRjNDA4MWI3MmY2ZGY3YTY1MjgyYWY3YzYiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICIyNWRiOGVjMDI2YzRiZjQ3ZjBlZjVjYzdlMjcxMmYyYWFkMTc1YmQ3ZmI4ZTQ5NTJlZjVmOGIyMDBmMTdmMTk2IgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXNjcm9sbGtlZXBlciAtLWRpc2FibGUtZWRzIC0tZW5hYmxlLWJvbm9ibz1ubyAtLXdpdGgtaW4tcHJvY2Vzcy1hcHBsZXRzPW5vbmUiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIGdub21lLWRvYy1wcmVwYXJlIC0tYXV0b21ha2UKKyAgICBzZWQgLWkgLWUgczpoZWxwOjogJHtTfS9NYWtlZmlsZS5hbQorfQorCitwa2dfcG9zdGluc3RfJHtQTn1fYXBwZW5kICgpIHsKKyAgICBnY29uZnRvb2wtMiAtLWNvbmZpZy1zb3VyY2U9eG1sOnJlYWR3cml0ZTovZXRjL2djb25mL2djb25mLnhtbC5kZWZhdWx0cyBcCisgICAgICAgIC0tZGlyZWN0IC0tbG9hZCAvZXRjL2djb25mL3NjaGVtYXMvcGFuZWwtZGVmYXVsdC1zZXR1cC5lbnRyaWVzCit9CisKK1BBQ0tBR0VTID0rICJsaWJwYW5lbC1hcHBsZXQiCitGSUxFU19saWJwYW5lbC1hcHBsZXQgPSAiJHtsaWJkaXJ9L2xpYnBhbmVsLWFwcGxldC0zLnNvLioiCisKK0ZJTEVTXyR7UE59ID0rICIke2RhdGFkaXJ9L2dub21lKiBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vaWNvbnMgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vUG9saWN5S2l0IFwKKyAgICAgICAgICAgICAgICAke2xpYmRpcn0vYm9ub2JvIFwKKyIKKworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1wYW5lbC9nbm9tZS1wYW5lbF8yLjMyLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1wYW5lbC9nbm9tZS1wYW5lbF8yLjMyLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWJlMmVjMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXBhbmVsL2dub21lLXBhbmVsXzIuMzIuMS5iYgpAQCAtMCwwICsxLDQ1IEBACitTVU1NQVJZID0gIkdOT01FIHBhbmVsIgorTElDRU5TRSA9ICJHUEwtMi4wICYgTEdQTC0yLjAgJiBHRkRMLTEuMSIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy1ET0NTO21kNT1jOTIxMWRhYjNhZTYxZTU4MGY0ODQzMjAyMDc4NDMyNCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NWYzMGYwNzE2ZGZkZDBkOTFlYjQzOWViZWM1MjJlYzIiCisKK1NFQ1RJT04gPSAieDExL2dub21lIgorCitQUiA9ICJyNyIKKworREVQRU5EUyA9ICJnbm9tZS1kb2MtdXRpbHMtbmF0aXZlIGdjb25mIGdsaWItMi4wIGdub21lLWRlc2t0b3AgZ3RrKyBcCisgICAgICAgICAgIHBhbmdvIGxpYnduY2sgZ25vbWUtbWVudXMgY2Fpcm8gbGliZ3dlYXRoZXIgZGJ1cyBkYnVzLWdsaWIgXAorCSAgIGxpYnJzdmcgbGliY2FuYmVycmEiCitSREVQRU5EU18ke1BOfSA9ICJweXRob24iCisKK2luaGVyaXQgZ3RrLWRvYyBnbm9tZSBhdXRvdG9vbHMtYnJva2Vuc2VwIGdldHRleHQgcGtnY29uZmlnIGdjb25mIGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitTUkNSRVYgPSAiODI5MmJkMmI4YTM2ZGY3ZWVkM2M3NjA4OTk0MDA3OTBjZGU2ODU5MCIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0Lmdub21lLm9yZy9nbm9tZS1wYW5lbDticmFuY2g9Z25vbWUtMi0zMiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1idWlsZC13aXRoLWdjYy01LnBhdGNoIFwKKwkgICIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1zY3JvbGxrZWVwZXIgLS1kaXNhYmxlLWVkcyAtLWVuYWJsZS1ib25vYm89bm8gLS13aXRoLWluLXByb2Nlc3MtYXBwbGV0cz1ub25lIgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tuZXR3b3JrbWFuYWdlcl0gPSAiLS1lbmFibGUtbmV0d29yay1tYW5hZ2VyLC0tZGlzYWJsZS1uZXR3b3JrLW1hbmFnZXIsbmV0d29ya21hbmFnZXIiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIGdub21lLWRvYy1wcmVwYXJlIC0tYXV0b21ha2UKKyAgICBzZWQgLWkgLWUgczpoZWxwOjogJHtTfS9NYWtlZmlsZS5hbQorICAgIHNlZCAtaSAtZSBzOl4jIUBQWVRIT05AOiMhL3Vzci9iaW4vcHl0aG9uOiAke1N9L2dub21lLXBhbmVsL2dub21lLXBhbmVsLWFkZC5pbgorfQorCitQQUNLQUdFUyA9KyAibGlicGFuZWwtYXBwbGV0IgorRklMRVNfbGlicGFuZWwtYXBwbGV0ID0gIiR7bGliZGlyfS9saWJwYW5lbC1hcHBsZXQtKi5zby4qIgorCitGSUxFU18ke1BOfSA9KyAiJHtkYXRhZGlyfS9nbm9tZSogXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2ljb25zIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L1BvbGljeUtpdCBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2Jvbm9ibyBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1wb3dlci1tYW5hZ2VyL2dub21lLXBvd2VyLW1hbmFnZXItMi4zMi4wLzAwMDEtTWFrZWZpbGUuYW0tZG9uLXQtYnVpbGQtaGVscC1tYW4ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1wb3dlci1tYW5hZ2VyL2dub21lLXBvd2VyLW1hbmFnZXItMi4zMi4wLzAwMDEtTWFrZWZpbGUuYW0tZG9uLXQtYnVpbGQtaGVscC1tYW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDZkNDliYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXBvd2VyLW1hbmFnZXIvZ25vbWUtcG93ZXItbWFuYWdlci0yLjMyLjAvMDAwMS1NYWtlZmlsZS5hbS1kb24tdC1idWlsZC1oZWxwLW1hbi5wYXRjaApAQCAtMCwwICsxLDM3IEBACitGcm9tIDNlZDE1YTNjNmFlNGFiOTRjN2UzYWYzMDY2NDRiYjVkN2YzZmQxZmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBNb24sIDI5IEFwciAyMDEzIDEzOjA4OjEwICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIE1ha2VmaWxlLmFtOiBkb24ndCBidWlsZCBoZWxwL21hbgorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitoZWxwIGNyYXNoZXMgd2l0aDoKKworfCB4c2x0cHJvYyAtbyBnbm9tZS1wb3dlci1tYW5hZ2VyLUMub21mIC0tc3RyaW5ncGFyYW0gZGIyb21mLmJhc2VuYW1lIGdub21lLXBvd2VyLW1hbmFnZXIgLS1zdHJpbmdwYXJhbSBkYjJvbWYuZm9ybWF0ICdkb2Nib29rJyAtLXN0cmluZ3BhcmFtIGRiMm9tZi5kdGQgIi0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMy8vRU4iIC0tc3RyaW5ncGFyYW0gZGIyb21mLmxhbmcgQyAtLXN0cmluZ3BhcmFtIGRiMm9tZi5vbWZfZGlyICIvdXNyL3NoYXJlL29tZiIgLS1zdHJpbmdwYXJhbSBkYjJvbWYuaGVscF9kaXIgIi91c3Ivc2hhcmUvZ25vbWUvaGVscCIgLS1zdHJpbmdwYXJhbSBkYjJvbWYub21mX2luICIvaG9tZS9qZW5raW5zL29lL3Noci1jb3JlLWJyYW5jaGVzL3Noci1jb3JlL3RtcC1lZ2xpYmMvd29yay9hcm12NXRlLW9lLWxpbnV4LWdudWVhYmkvZ25vbWUtcG93ZXItbWFuYWdlci8yLjMyLjAtcjIvZ25vbWUtcG93ZXItbWFuYWdlci0yLjMyLjAvaGVscC9nbm9tZS1wb3dlci1tYW5hZ2VyLm9tZi5pbiIgIC9ob21lL2plbmtpbnMvb2Uvc2hyLWNvcmUtYnJhbmNoZXMvc2hyLWNvcmUvdG1wLWVnbGliYy9zeXNyb290cy9xZW11YXJtYC9ob21lL2plbmtpbnMvb2Uvc2hyLWNvcmUtYnJhbmNoZXMvc2hyLWNvcmUvdG1wLWVnbGliYy9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2Jpbi9wa2ctY29uZmlnIC0tdmFyaWFibGUgZGIyb21mIGdub21lLWRvYy11dGlsc2AgQy9nbm9tZS1wb3dlci1tYW5hZ2VyLnhtbCB8fCB7IHJtIC1mICJnbm9tZS1wb3dlci1tYW5hZ2VyLUMub21mIjsgZXhpdCAxOyB9Cit8IHVuYWJsZSB0byBwYXJzZSBmci9nbm9tZS1wb3dlci1tYW5hZ2VyLnhtbAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIE1ha2VmaWxlLmFtIHwgICAgMiAtLQorIDEgZmlsZXMgY2hhbmdlZCwgMCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQoraW5kZXggMDA1YjhhMC4uNWI5ZTMxOCAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmFtCisrKysgYi9NYWtlZmlsZS5hbQorQEAgLTUsOSArNSw3IEBAIFNVQkRJUlMgPSAJCQkJCQlcCisgCXNyYwkJCQkJCVwKKyAJcG8JCQkJCQlcCisgCWRvY3MJCQkJCQlcCistCW1hbgkJCQkJCVwKKyAJZGF0YQkJCQkJCVwKKy0JaGVscAkJCQkJCVwKKyAJcG9saWN5CQkJCQkJXAorIAl0b29scworIAorLS0gCisxLjcuNi41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXBvd2VyLW1hbmFnZXIvZ25vbWUtcG93ZXItbWFuYWdlci0yLjMyLjAvc3lzcm9vdGVkLXBrZy1jb25maWcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1wb3dlci1tYW5hZ2VyL2dub21lLXBvd2VyLW1hbmFnZXItMi4zMi4wL3N5c3Jvb3RlZC1wa2ctY29uZmlnLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzZGI3YWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1wb3dlci1tYW5hZ2VyL2dub21lLXBvd2VyLW1hbmFnZXItMi4zMi4wL3N5c3Jvb3RlZC1wa2ctY29uZmlnLnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK0luIGNyb3NzIGVudmlyb25tZW50IHdlIGhhdmUgdG8gcHJlcGVuZCB0aGUgc3lzcm9vdCB0byB0aGUgcGF0aCBmb3VuZCBieQorcGtnY29uZmlnIHNpbmNlIHRoZSBwYXRoIHJldHVybmVkIGZyb20gcGtnY29uZmlnIGRvZXMgbm90IGhhdmUgc3lzcm9vdCBwcmVmaXhlZAoraXQgZW5kcyB1cCB1c2luZyB0aGUgZmlsZXMgZnJvbSBob3N0IHN5c3RlbS4gTm93IHVzdWFsbHkgcGVvcGxlIGhhdmUgZ25vbWUgaW5zdGFsbGVkCitzbyB0aGUgYnVpbGQgc3VjY2VlZHMgYnV0IGlmIHlvdSBkb250IGhhdmUgZ25vbWUgaW5zdGFsbGVkIG9uIGJ1aWxkIGhvc3QgdGhlbgoraXQgd29udCBmaW5kIHRoZSBmaWxlcyBvbiBob3N0IHN5c3RlbSBhbmQgcGFja2FnZXMgdXNpbmcgZ25vbWUtZG9jLXV0aWxzIHdvbnQKK2NvbXBpbGUuCisKK1RoaXMgc2hvdWxkIHdvcmsgb2sgd2l0aCBub24gc3lzcm9vdGVkIGJ1aWxkcyB0b28gc2luY2UgaW4gdGhvc2UgY2FzZXMgUEtHX0NPTkZJR19TWVNST09UX0RJUgord2lsbCBiZSBlbXB0eQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworSW5kZXg6IGdub21lLXBvd2VyLW1hbmFnZXItMi4zMi4wL2dub21lLWRvYy11dGlscy5tYWtlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ25vbWUtcG93ZXItbWFuYWdlci0yLjMyLjAub3JpZy9nbm9tZS1kb2MtdXRpbHMubWFrZQkyMDEwLTAxLTI3IDA4OjI4OjMxLjAwMDAwMDAwMCAtMDgwMAorKysrIGdub21lLXBvd2VyLW1hbmFnZXItMi4zMi4wL2dub21lLWRvYy11dGlscy5tYWtlCTIwMTEtMDktMjUgMTY6MTY6MDQuOTE0ODEzODAwIC0wNzAwCitAQCAtMTI0LDExICsxMjQsMTEgQEAKKyAKKyBfeG1sMnBvID89IGB3aGljaCB4bWwycG9gCisgCistX2RiMmh0bWwgPz0gYCQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSBkYjJodG1sIGdub21lLWRvYy11dGlsc2AKKy1fZGIyb21mICA/PSBgJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIGRiMm9tZiBnbm9tZS1kb2MtdXRpbHNgCistX2NodW5rcyAgPz0gYCQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSB4bWxkaXIgZ25vbWUtZG9jLXV0aWxzYC9nbm9tZS94c2x0L2RvY2Jvb2svdXRpbHMvY2h1bmtzLnhzbAorLV9jcmVkaXRzID89IGAkKFBLR19DT05GSUcpIC0tdmFyaWFibGUgeG1sZGlyIGdub21lLWRvYy11dGlsc2AvZ25vbWUveHNsdC9kb2Nib29rL3V0aWxzL2NyZWRpdHMueHNsCistX2lkcyA/PSBgJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIHhtbGRpciBnbm9tZS1kb2MtdXRpbHNgL2dub21lL3hzbHQvZG9jYm9vay91dGlscy9pZHMueHNsCisrX2RiMmh0bWwgPz0gJHtQS0dfQ09ORklHX1NZU1JPT1RfRElSfWAkKFBLR19DT05GSUcpIC0tdmFyaWFibGUgZGIyaHRtbCBnbm9tZS1kb2MtdXRpbHNgCisrX2RiMm9tZiAgPz0gJHtQS0dfQ09ORklHX1NZU1JPT1RfRElSfWAkKFBLR19DT05GSUcpIC0tdmFyaWFibGUgZGIyb21mIGdub21lLWRvYy11dGlsc2AKKytfY2h1bmtzICA/PSAke1BLR19DT05GSUdfU1lTUk9PVF9ESVJ9YCQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSB4bWxkaXIgZ25vbWUtZG9jLXV0aWxzYC9nbm9tZS94c2x0L2RvY2Jvb2svdXRpbHMvY2h1bmtzLnhzbAorK19jcmVkaXRzID89ICR7UEtHX0NPTkZJR19TWVNST09UX0RJUn1gJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIHhtbGRpciBnbm9tZS1kb2MtdXRpbHNgL2dub21lL3hzbHQvZG9jYm9vay91dGlscy9jcmVkaXRzLnhzbAorK19pZHMgPz0gJHtQS0dfQ09ORklHX1NZU1JPT1RfRElSfWAkKFBLR19DT05GSUcpIC0tdmFyaWFibGUgeG1sZGlyIGdub21lLWRvYy11dGlsc2AvZ25vbWUveHNsdC9kb2Nib29rL3V0aWxzL2lkcy54c2wKKyAKKyBpZiBFTkFCTEVfU0sKKyBfRU5BQkxFX1NLID0gdHJ1ZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtcG93ZXItbWFuYWdlci9nbm9tZS1wb3dlci1tYW5hZ2VyXzIuMzIuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXBvd2VyLW1hbmFnZXIvZ25vbWUtcG93ZXItbWFuYWdlcl8yLjMyLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODdiZDcyMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXBvd2VyLW1hbmFnZXIvZ25vbWUtcG93ZXItbWFuYWdlcl8yLjMyLjAuYmIKQEAgLTAsMCArMSw1NCBAQAorU1VNTUFSWSA9ICJQb3dlciBtYW5hZ2VtZW50IGRhZW1vbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworUFIgPSAicjQiCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgZ3RrKyBnY29uZiBsaWJnbm9tZS1rZXlyaW5nIGRidXMgZGJ1cy1nbGliIGxpYm5vdGlmeSBsaWJ3bmNrIGNhaXJvIGxpYnVuaXF1ZSB4cmFuZHIgdmlydHVhbC9saWJ4MTEgbGlieHJlbmRlciBsaWJjYW5iZXJyYSB1cG93ZXIgZ25vbWUtZG9jLXV0aWxzIgorUlJFQ09NTUVORFNfJHtQTn0gKz0gImdub21lLWtleXJpbmciCisKK2luaGVyaXQgZ25vbWUKKworU1JDX1VSSSArPSAiIFwKKyAgICBmaWxlOi8vc3lzcm9vdGVkLXBrZy1jb25maWcucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAxLU1ha2VmaWxlLmFtLWRvbi10LWJ1aWxkLWhlbHAtbWFuLnBhdGNoIFwKKyIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiOWEwOGU4NWRjZTNmZmI5MDc3NWYxNWUzYmRhNGFkZGEiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICIxN2ZhMzAxYmY3ZTEzMzI4NWMwZTA1NGFlM2JlMmIwZjY5MGM0OGY1OWIwOWY2N2UwNGQ2ZWQzMzliMzMwNDc2IgorR05PTUVfQ09NUFJFU1NfVFlQRT0iYnoyIgorCitFWFRSQV9PRUNPTkYgPSAiIC0tZGlzYWJsZS1zY3JvbGxrZWVwZXIgXAorICAgICAgICAgICAgICAgICAtLWRpc2FibGUtYXBwbGV0cyBcCisgICAgICAgICAgICAgICAgIC0teC1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSBcCisgICAgICAgICAgICAgICAgIC0teC1saWJyYXJpZXM9JHtTVEFHSU5HX0xJQkRJUn0gXAorICAgICAgICAgICAgICAgICAtLWVuYWJsZS1jb21waWxlLXdhcm5pbmdzPW5vIFwKKyAgICAgICAgICAgICAgICAgYWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNpb25zX2RwbXNfaD15ZXMgXAorIgorCitkb19jb25maWd1cmVfYXBwZW5kKCkgeworICAgICMgU2lnaC4uLiAtLWVuYWJsZS1jb21waWxlLXdhcm5pbmdzPW5vIGRvZXNuJ3QgYWN0dWFsbHkgdHVybiBvZmYgLVdlcnJvcgorICAgIGZvciBpIGluICQoZmluZCAke0J9IC1uYW1lICJNYWtlZmlsZSIpIDsgZG8KKyAgICAgICAgc2VkIC1pIC1lIHM6LVdlcnJvcjo6ZyAkaQorICAgIGRvbmUKKyAgICBzZWQgLWUgInMvbGlidG9vbCAtLS8ke1RBUkdFVF9TWVN9LWxpYnRvb2wgLS0vIiAtaSAke0J9L3NyYy9NYWtlZmlsZQorfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tYXBwbGV0cyIKKworRklMRVNfJHtQTn0tYXBwbGV0cyA9ICIke2JpbmRpcn0vKmFwcGxldCogXAorICAgICR7bGliZGlyfS9ib25vYm8vc2VydmVycyBcCisgICAgJHtkYXRhZGlyfS9nbm9tZS0yLjAvdWkgXAorIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9pY29ucyBcCisgICAgJHtkYXRhZGlyfS9kYnVzLTEgXAorICAgICR7ZGF0YWRpcn0vZ25vbWUvYXV0b3N0YXJ0IFwKKyIKKworRklMRVNfJHtQTn0tZG9jICs9ICIke2RhdGFkaXJ9L29tZiBcCisgICAgJHtkYXRhZGlyfS9nbm9tZS9oZWxwIFwKKyIKKworIyBnbm9tZS1wb3dlci1tYW5hZ2VyLTIuMzIuMC9zcmMvZ3BtLW1hbmFnZXIuYzo0ODg6MTg6IGVycm9yOiB0b28gbWFueSBhcmd1bWVudHMgdG8gZnVuY3Rpb24gJ25vdGlmeV9ub3RpZmljYXRpb25fbmV3JworUE5CTEFDS0xJU1RbZ25vbWUtcG93ZXItbWFuYWdlcl0gPz0gIkJST0tFTjogbm90IGNvbXBhdGlibGUgd2l0aCBjdXJyZW50IGxpYm5vdGlmeSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXNlc3Npb24vZ25vbWUtc2Vzc2lvbi91c2VfR19HSU5UNjRfRk9STUFULnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc2Vzc2lvbi9nbm9tZS1zZXNzaW9uL3VzZV9HX0dJTlQ2NF9GT1JNQVQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjA5ZjhkMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXNlc3Npb24vZ25vbWUtc2Vzc2lvbi91c2VfR19HSU5UNjRfRk9STUFULnBhdGNoCkBAIC0wLDAgKzEsNjEgQEAKK1RoaXMgcGF0Y2ggZml4ZXMgdGhlIGJ1aWxkIGVycm9ycyB3aGVuIGJ1aWxkaW5nIGdub21lLXNlc3Npb24gZm9yIDY0Yml0IHRhcmdldCB1c2luZyBnY2MgNC44CisKK3wgZ3MtaWRsZS1tb25pdG9yLmM6IEluIGZ1bmN0aW9uICdoYW5kbGVfYWxhcm1fbm90aWZ5X2V2ZW50JzoKK3wgZ3MtaWRsZS1tb25pdG9yLmM6MTk2Ojk6IGVycm9yOiBmb3JtYXQgJyVsbGQnIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSAnbG9uZyBsb25nIGludCcsIGJ1dCBhcmd1bWVudCA1IGhhcyB0eXBlICdnaW50NjQnIFstV2Vycm9yPWZvcm1hdD1dCit8ICAgICAgICAgIGdfZGVidWcgKCJXYXRjaCAlZCBmaXJlZCwgaWRsZSB0aW1lID0gJWxsZCIsCit8ICAgICAgICAgIF4KK3wgZ3MtaWRsZS1tb25pdG9yLmM6IEluIGZ1bmN0aW9uICdfeHN5bmNfYWxhcm1fc2V0JzoKK3wgZ3MtaWRsZS1tb25pdG9yLmM6NDUzOjE3OiBlcnJvcjogZm9ybWF0ICclbGxkJyBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUgJ2xvbmcgbG9uZyBpbnQnLCBidXQgYXJndW1lbnQgNCBoYXMgdHlwZSAnZ2ludDY0JyBbLVdlcnJvcj1mb3JtYXQ9XQorfCAgICAgICAgICAgICAgICAgIGdfZGVidWcgKCJHU0lkbGVNb25pdG9yOiB1cGRhdGluZyBhbGFybSBmb3IgcG9zaXRpdmUgdHJhbnNpdGlvbiB3YWl0PSVsbGQiLAorfCAgICAgICAgICAgICAgICAgIF4KK3wgZ3MtaWRsZS1tb25pdG9yLmM6NDU3OjE3OiBlcnJvcjogZm9ybWF0ICclbGxkJyBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUgJ2xvbmcgbG9uZyBpbnQnLCBidXQgYXJndW1lbnQgNCBoYXMgdHlwZSAnZ2ludDY0JyBbLVdlcnJvcj1mb3JtYXQ9XQorfCAgICAgICAgICAgICAgICAgIGdfZGVidWcgKCJHU0lkbGVNb25pdG9yOiBjcmVhdGluZyBuZXcgYWxhcm0gZm9yIHBvc2l0aXZlIHRyYW5zaXRpb24gd2FpdD0lbGxkIiwKK3wgICAgICAgICAgICAgICAgICBeCit8IGdzLWlkbGUtbW9uaXRvci5jOjQ2NDoxNzogZXJyb3I6IGZvcm1hdCAnJWxsZCcgZXhwZWN0cyBhcmd1bWVudCBvZiB0eXBlICdsb25nIGxvbmcgaW50JywgYnV0IGFyZ3VtZW50IDQgaGFzIHR5cGUgJ2dpbnQ2NCcgWy1XZXJyb3I9Zm9ybWF0PV0KK3wgICAgICAgICAgICAgICAgICBnX2RlYnVnICgiR1NJZGxlTW9uaXRvcjogdXBkYXRpbmcgYWxhcm0gZm9yIG5lZ2F0aXZlIHRyYW5zaXRpb24gd2FpdD0lbGxkIiwKK3wgICAgICAgICAgICAgICAgICBeCit8IGdzLWlkbGUtbW9uaXRvci5jOjQ2ODoxNzogZXJyb3I6IGZvcm1hdCAnJWxsZCcgZXhwZWN0cyBhcmd1bWVudCBvZiB0eXBlICdsb25nIGxvbmcgaW50JywgYnV0IGFyZ3VtZW50IDQgaGFzIHR5cGUgJ2dpbnQ2NCcgWy1XZXJyb3I9Zm9ybWF0PV0KKworVXBzdHJlYW0tU3RhdHVzOiBVbmtub3duCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitJbmRleDogZ25vbWUtc2Vzc2lvbi0yLjMyLjEvZ25vbWUtc2Vzc2lvbi9ncy1pZGxlLW1vbml0b3IuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdub21lLXNlc3Npb24tMi4zMi4xLm9yaWcvZ25vbWUtc2Vzc2lvbi9ncy1pZGxlLW1vbml0b3IuYwkyMDEwLTExLTE3IDAzOjE3OjA0LjAwMDAwMDAwMCAtMDgwMAorKysrIGdub21lLXNlc3Npb24tMi4zMi4xL2dub21lLXNlc3Npb24vZ3MtaWRsZS1tb25pdG9yLmMJMjAxMy0wNi0xMSAyMzozMzoxMi4yMzk5NjAwODIgLTA3MDAKK0BAIC0xOTMsNyArMTkzLDcgQEAKKyAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgfQorIAorLSAgICAgICAgZ19kZWJ1ZyAoIldhdGNoICVkIGZpcmVkLCBpZGxlIHRpbWUgPSAlbGxkIiwKKysgICAgICAgIGdfZGVidWcgKCJXYXRjaCAlZCBmaXJlZCwgaWRsZSB0aW1lID0gJSIgR19HSU5UNjRfRk9STUFUICIiLAorICAgICAgICAgICAgICAgICAgd2F0Y2gtPmlkLAorICAgICAgICAgICAgICAgICAgX3hzeW5jdmFsdWVfdG9faW50NjQgKGFsYXJtX2V2ZW50LT5jb3VudGVyX3ZhbHVlKSk7CisgCitAQCAtNDUwLDIyICs0NTAsMjIgQEAKKyAKKyAgICAgICAgIGF0dHIudHJpZ2dlci50ZXN0X3R5cGUgPSBYU3luY1Bvc2l0aXZlVHJhbnNpdGlvbjsKKyAgICAgICAgIGlmICh3YXRjaC0+eGFsYXJtX3Bvc2l0aXZlICE9IE5vbmUpIHsKKy0gICAgICAgICAgICAgICAgZ19kZWJ1ZyAoIkdTSWRsZU1vbml0b3I6IHVwZGF0aW5nIGFsYXJtIGZvciBwb3NpdGl2ZSB0cmFuc2l0aW9uIHdhaXQ9JWxsZCIsCisrICAgICAgICAgICAgICAgIGdfZGVidWcgKCJHU0lkbGVNb25pdG9yOiB1cGRhdGluZyBhbGFybSBmb3IgcG9zaXRpdmUgdHJhbnNpdGlvbiB3YWl0PSUiIEdfR0lOVDY0X0ZPUk1BVCAiIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgX3hzeW5jdmFsdWVfdG9faW50NjQgKGF0dHIudHJpZ2dlci53YWl0X3ZhbHVlKSk7CisgICAgICAgICAgICAgICAgIFhTeW5jQ2hhbmdlQWxhcm0gKEdES19ESVNQTEFZICgpLCB3YXRjaC0+eGFsYXJtX3Bvc2l0aXZlLCBmbGFncywgJmF0dHIpOworICAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgZ19kZWJ1ZyAoIkdTSWRsZU1vbml0b3I6IGNyZWF0aW5nIG5ldyBhbGFybSBmb3IgcG9zaXRpdmUgdHJhbnNpdGlvbiB3YWl0PSVsbGQiLAorKyAgICAgICAgICAgICAgICBnX2RlYnVnICgiR1NJZGxlTW9uaXRvcjogY3JlYXRpbmcgbmV3IGFsYXJtIGZvciBwb3NpdGl2ZSB0cmFuc2l0aW9uIHdhaXQ9JSIgR19HSU5UNjRfRk9STUFUICIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBfeHN5bmN2YWx1ZV90b19pbnQ2NCAoYXR0ci50cmlnZ2VyLndhaXRfdmFsdWUpKTsKKyAgICAgICAgICAgICAgICAgd2F0Y2gtPnhhbGFybV9wb3NpdGl2ZSA9IFhTeW5jQ3JlYXRlQWxhcm0gKEdES19ESVNQTEFZICgpLCBmbGFncywgJmF0dHIpOworICAgICAgICAgfQorIAorICAgICAgICAgYXR0ci50cmlnZ2VyLnRlc3RfdHlwZSA9IFhTeW5jTmVnYXRpdmVUcmFuc2l0aW9uOworICAgICAgICAgaWYgKHdhdGNoLT54YWxhcm1fbmVnYXRpdmUgIT0gTm9uZSkgeworLSAgICAgICAgICAgICAgICBnX2RlYnVnICgiR1NJZGxlTW9uaXRvcjogdXBkYXRpbmcgYWxhcm0gZm9yIG5lZ2F0aXZlIHRyYW5zaXRpb24gd2FpdD0lbGxkIiwKKysgICAgICAgICAgICAgICAgZ19kZWJ1ZyAoIkdTSWRsZU1vbml0b3I6IHVwZGF0aW5nIGFsYXJtIGZvciBuZWdhdGl2ZSB0cmFuc2l0aW9uIHdhaXQ9JSIgR19HSU5UNjRfRk9STUFUICIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBfeHN5bmN2YWx1ZV90b19pbnQ2NCAoYXR0ci50cmlnZ2VyLndhaXRfdmFsdWUpKTsKKyAgICAgICAgICAgICAgICAgWFN5bmNDaGFuZ2VBbGFybSAoR0RLX0RJU1BMQVkgKCksIHdhdGNoLT54YWxhcm1fbmVnYXRpdmUsIGZsYWdzLCAmYXR0cik7CisgICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICBnX2RlYnVnICgiR1NJZGxlTW9uaXRvcjogY3JlYXRpbmcgbmV3IGFsYXJtIGZvciBuZWdhdGl2ZSB0cmFuc2l0aW9uIHdhaXQ9JWxsZCIsCisrICAgICAgICAgICAgICAgIGdfZGVidWcgKCJHU0lkbGVNb25pdG9yOiBjcmVhdGluZyBuZXcgYWxhcm0gZm9yIG5lZ2F0aXZlIHRyYW5zaXRpb24gd2FpdD0lIiBHX0dJTlQ2NF9GT1JNQVQgIiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIF94c3luY3ZhbHVlX3RvX2ludDY0IChhdHRyLnRyaWdnZXIud2FpdF92YWx1ZSkpOworICAgICAgICAgICAgICAgICB3YXRjaC0+eGFsYXJtX25lZ2F0aXZlID0gWFN5bmNDcmVhdGVBbGFybSAoR0RLX0RJU1BMQVkgKCksIGZsYWdzLCAmYXR0cik7CisgICAgICAgICB9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1zZXNzaW9uL2dub21lLXNlc3Npb25fMi4zMi4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc2Vzc2lvbi9nbm9tZS1zZXNzaW9uXzIuMzIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNmZiNzViCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc2Vzc2lvbi9nbm9tZS1zZXNzaW9uXzIuMzIuMS5iYgpAQCAtMCwwICsxLDI5IEBACitTVU1NQVJZID0gIkdub21lIHNlc3Npb24gbWFuYWdlciIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworUFIgPSAicjMiCisKK1NFQ1RJT04gPSAieDExL2dub21lIgorREVQRU5EUyA9ICJsaWJ4dHN0IGd0aysgZ2xpYi0yLjAgdXBvd2VyIGRidXMtZ2xpYiBnY29uZiBwYW5nbyBnZGstcGl4YnVmLW5hdGl2ZSBzdGFydHVwLW5vdGlmaWNhdGlvbiIKKworaW5oZXJpdCBnbm9tZQorCitTUkNfVVJJICs9ICJmaWxlOi8vdXNlX0dfR0lOVDY0X0ZPUk1BVC5wYXRjaCIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiMjIyYmFkNmI0NDZjYjE5YTZiOTAyOGVhMjQ1MzgwMDIiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICIyMmQ5M2NlNDMzZmNmOWM3Y2U2YjVmMzZkZDgxZjY0ZTY5MmVhMGU0MWZhYWEwZjYxMTU5ZGRhYzI4YzM2ODZhIgorR05PTUVfQ09NUFJFU1NfVFlQRT0iYnoyIgorCitFWFRSQV9PRUNPTkYgPSAiIC0td2l0aC1ndGs9Mi4wIGFjX2N2X3BhdGhfR0NPTkZfU0FOSVRZX0NIRUNLPXNldCAtLWRpc2FibGUtZG9jYm9vay1kb2NzIgorCitkb19jb25maWd1cmVfYXBwZW5kKCkgeworICAgIGZvciBpIGluICQoZmluZCAke1N9IC1uYW1lICJNYWtlZmlsZSIpIDsgZG8KKyAgICAgICAgc2VkIC1pIC1lIHM6IkdDT05GVE9PTCA9IC4qL3Vzci9iaW4vZ2NvbmZ0b29sLTIiOiJHQ09ORlRPT0wgPSAvdXNyL2Jpbi9nY29uZnRvb2wtMiI6ZyAkaQorICAgICAgICBzZWQgLWkgLWUgczoiR0NPTkZfU0FOSVRZX0NIRUNLID0gc2V0IjoiR0NPTkZfU0FOSVRZX0NIRUNLID0gL3Vzci9saWJleGVjL2djb25mLXNhbml0eS1jaGVjay0yIjpnICRpCisgICAgZG9uZSAgICAKK30KKworUlJFQ09NTUVORFNfJHtQTn0gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ3BhbS1wbHVnaW4tY2stY29ubmVjdG9yJywgJycsIGQpfSIKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3hzZXNzaW9ucyAke2RhdGFkaXJ9L2ljb25zICR7ZGF0YWRpcn0vZ25vbWUgJHtsaWJkaXJ9L2dub21lLXNlc3Npb24vaGVscGVycyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJleGVjZGlyfS9nbm9tZS1zZXNzaW9uL2hlbHBlcnMvLmRlYnVnIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc2V0dGluZ3MtZGFlbW9uL2ZpbGVzLzAwMDEtUmVxdWlyZS1saWJub3RpZnktMC42LjAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1zZXR0aW5ncy1kYWVtb24vZmlsZXMvMDAwMS1SZXF1aXJlLWxpYm5vdGlmeS0wLjYuMC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZGQzM2YzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc2V0dGluZ3MtZGFlbW9uL2ZpbGVzLzAwMDEtUmVxdWlyZS1saWJub3RpZnktMC42LjAucGF0Y2gKQEAgLTAsMCArMSw4MSBAQAorRnJvbSBlMWFiNTcwYjBkY2U0NzliYTIzNWU1NTQyZWEwN2QxYjViYWZjNGM5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogV2lsbGlhbSBKb24gTWNDYW5uIDxqbWNjYW5uQHJlZGhhdC5jb20+CitEYXRlOiBNb24sIDExIE9jdCAyMDEwIDIzOjM1OjQ1IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIFJlcXVpcmUgbGlibm90aWZ5IDAuNi4wCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCistLS0KKyBjb25maWd1cmUuYWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KKyBwbHVnaW5zL2ExMXkta2V5Ym9hcmQvZ3NkLWExMXkta2V5Ym9hcmQtbWFuYWdlci5jIHwgIDggKystLS0tLS0KKyBwbHVnaW5zL3hyYW5kci9nc2QteHJhbmRyLW1hbmFnZXIuYyAgICAgICAgICAgICAgIHwgMTMgKysrLS0tLS0tLS0tLQorIDMgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggOGE5MDA1My4uODYyNGIyYSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNTQsNyArNTQsNyBAQCBHVEtfUkVRVUlSRURfVkVSU0lPTj0yLjkxLjAKKyBHQ09ORl9SRVFVSVJFRF9WRVJTSU9OPTIuNi4xCisgR0lPX1JFUVVJUkVEX1ZFUlNJT049Mi4xNy4zCisgR05PTUVfREVTS1RPUF9SRVFVSVJFRF9WRVJTSU9OPTIuMjkuOTIKKy1MSUJOT1RJRllfUkVRVUlSRURfVkVSU0lPTj0wLjQuMworK0xJQk5PVElGWV9SRVFVSVJFRF9WRVJTSU9OPTAuNi4xCisgCisgRVhUUkFfQ09NUElMRV9XQVJOSU5HUyh5ZXMpCisgCitkaWZmIC0tZ2l0IGEvcGx1Z2lucy9hMTF5LWtleWJvYXJkL2dzZC1hMTF5LWtleWJvYXJkLW1hbmFnZXIuYyBiL3BsdWdpbnMvYTExeS1rZXlib2FyZC9nc2QtYTExeS1rZXlib2FyZC1tYW5hZ2VyLmMKK2luZGV4IDljYTgyMGEuLmY1OTY0YjkgMTAwNjQ0CistLS0gYS9wbHVnaW5zL2ExMXkta2V5Ym9hcmQvZ3NkLWExMXkta2V5Ym9hcmQtbWFuYWdlci5jCisrKysgYi9wbHVnaW5zL2ExMXkta2V5Ym9hcmQvZ3NkLWExMXkta2V5Ym9hcmQtbWFuYWdlci5jCitAQCAtNjA4LDkgKzYwOCw3IEBAIGF4X3Nsb3drZXlzX3dhcm5pbmdfcG9zdF9idWJibGUgKEdzZEExMXlLZXlib2FyZE1hbmFnZXIgKm1hbmFnZXIsCisgICAgICAgICBnc2RfYTExeV9rZXlib2FyZF9tYW5hZ2VyX2Vuc3VyZV9zdGF0dXNfaWNvbiAobWFuYWdlcik7CisgICAgICAgICBtYW5hZ2VyLT5wcml2LT5ub3RpZmljYXRpb24gPSBub3RpZnlfbm90aWZpY2F0aW9uX25ldyAodGl0bGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlZmVyZW5jZXMtZGVza3RvcC1hY2Nlc3NpYmlsaXR5IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKy0gICAgICAgIG5vdGlmeV9ub3RpZmljYXRpb25fYXR0YWNoX3RvX3N0YXR1c19pY29uIChtYW5hZ2VyLT5wcml2LT5ub3RpZmljYXRpb24sIG1hbmFnZXItPnByaXYtPnN0YXR1c19pY29uKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlZmVyZW5jZXMtZGVza3RvcC1hY2Nlc3NpYmlsaXR5Iik7CisgICAgICAgICBub3RpZnlfbm90aWZpY2F0aW9uX3NldF90aW1lb3V0IChtYW5hZ2VyLT5wcml2LT5ub3RpZmljYXRpb24sIE5PVElGSUNBVElPTl9USU1FT1VUICogMTAwMCk7CisgCisgICAgICAgICBub3RpZnlfbm90aWZpY2F0aW9uX2FkZF9hY3Rpb24gKG1hbmFnZXItPnByaXYtPm5vdGlmaWNhdGlvbiwKK0BAIC03NDcsOSArNzQ1LDcgQEAgYXhfc3RpY2t5a2V5c193YXJuaW5nX3Bvc3RfYnViYmxlIChHc2RBMTF5S2V5Ym9hcmRNYW5hZ2VyICptYW5hZ2VyLAorICAgICAgICAgZ3NkX2ExMXlfa2V5Ym9hcmRfbWFuYWdlcl9lbnN1cmVfc3RhdHVzX2ljb24gKG1hbmFnZXIpOworICAgICAgICAgbWFuYWdlci0+cHJpdi0+bm90aWZpY2F0aW9uID0gbm90aWZ5X25vdGlmaWNhdGlvbl9uZXcgKHRpdGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZWZlcmVuY2VzLWRlc2t0b3AtYWNjZXNzaWJpbGl0eSIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CistICAgICAgICBub3RpZnlfbm90aWZpY2F0aW9uX2F0dGFjaF90b19zdGF0dXNfaWNvbiAobWFuYWdlci0+cHJpdi0+bm90aWZpY2F0aW9uLCBtYW5hZ2VyLT5wcml2LT5zdGF0dXNfaWNvbik7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZWZlcmVuY2VzLWRlc2t0b3AtYWNjZXNzaWJpbGl0eSIpOworICAgICAgICAgbm90aWZ5X25vdGlmaWNhdGlvbl9zZXRfdGltZW91dCAobWFuYWdlci0+cHJpdi0+bm90aWZpY2F0aW9uLCBOT1RJRklDQVRJT05fVElNRU9VVCAqIDEwMDApOworIAorICAgICAgICAgbm90aWZ5X25vdGlmaWNhdGlvbl9hZGRfYWN0aW9uIChtYW5hZ2VyLT5wcml2LT5ub3RpZmljYXRpb24sCitkaWZmIC0tZ2l0IGEvcGx1Z2lucy94cmFuZHIvZ3NkLXhyYW5kci1tYW5hZ2VyLmMgYi9wbHVnaW5zL3hyYW5kci9nc2QteHJhbmRyLW1hbmFnZXIuYworaW5kZXggMDI1MzZhMy4uZWY1N2Q1YiAxMDA2NDQKKy0tLSBhL3BsdWdpbnMveHJhbmRyL2dzZC14cmFuZHItbWFuYWdlci5jCisrKysgYi9wbHVnaW5zL3hyYW5kci9nc2QteHJhbmRyLW1hbmFnZXIuYworQEAgLTEwODQsMTYgKzEwODQsOSBAQCBlcnJvcl9tZXNzYWdlIChHc2RYcmFuZHJNYW5hZ2VyICptZ3IsIGNvbnN0IGNoYXIgKnByaW1hcnlfdGV4dCwgR0Vycm9yICplcnJvcl90bworIAorICAgICAgICAgZ19hc3NlcnQgKGVycm9yX3RvX2Rpc3BsYXkgPT0gTlVMTCB8fCBzZWNvbmRhcnlfdGV4dCA9PSBOVUxMKTsKKyAKKy0gICAgICAgIGlmIChwcml2LT5zdGF0dXNfaWNvbikKKy0gICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uID0gbm90aWZ5X25vdGlmaWNhdGlvbl9uZXdfd2l0aF9zdGF0dXNfaWNvbiAocHJpbWFyeV90ZXh0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcl90b19kaXNwbGF5ID8gZXJyb3JfdG9fZGlzcGxheS0+bWVzc2FnZSA6IHNlY29uZGFyeV90ZXh0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHU0RfWFJBTkRSX0lDT05fTkFNRSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpdi0+c3RhdHVzX2ljb24pOworLSAgICAgICAgZWxzZQorLSAgICAgICAgICAgICAgICBub3RpZmljYXRpb24gPSBub3RpZnlfbm90aWZpY2F0aW9uX25ldyAocHJpbWFyeV90ZXh0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JfdG9fZGlzcGxheSA/IGVycm9yX3RvX2Rpc3BsYXktPm1lc3NhZ2UgOiBzZWNvbmRhcnlfdGV4dCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdTRF9YUkFORFJfSUNPTl9OQU1FLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisrICAgICAgICBub3RpZmljYXRpb24gPSBub3RpZnlfbm90aWZpY2F0aW9uX25ldyAocHJpbWFyeV90ZXh0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yX3RvX2Rpc3BsYXkgPyBlcnJvcl90b19kaXNwbGF5LT5tZXNzYWdlIDogc2Vjb25kYXJ5X3RleHQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1NEX1hSQU5EUl9JQ09OX05BTUUpOworIAorICAgICAgICAgbm90aWZ5X25vdGlmaWNhdGlvbl9zaG93IChub3RpZmljYXRpb24sIE5VTEwpOyAvKiBOVUxMLUdFcnJvciAqLworICNlbHNlCistLSAKKzIuMS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXNldHRpbmdzLWRhZW1vbi9nbm9tZS1zZXR0aW5ncy1kYWVtb25fMi4zMi4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc2V0dGluZ3MtZGFlbW9uL2dub21lLXNldHRpbmdzLWRhZW1vbl8yLjMyLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzkzZWIyNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXNldHRpbmdzLWRhZW1vbi9nbm9tZS1zZXR0aW5ncy1kYWVtb25fMi4zMi4xLmJiCkBAIC0wLDAgKzEsNDIgQEAKK1NVTU1BUlkgPSAiR05PTUUgc2V0dGluZ3MgZGFlbW9uIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIgorCitQUiA9ICJyNyIKKworREVQRU5EUyA9ICJpbnRsdG9vbCBsaWJ4eGY4Nm1pc2MgbGlic25kZmlsZTEgbGlieHRzdCBnbGliLTIuMCBwb2xraXQgZ3RrKyBnY29uZiBkYnVzLWdsaWIgbGlibm90aWZ5IGxpYmdub21la2JkIGxpYnhrbGF2aWVyIGdub21lLWRvYy11dGlscyBnbm9tZS1kZXNrdG9wIgorCitpbmhlcml0IGdub21lCisKK1NSQ19VUkkgPSAiIFwKKyAgICBnaXQ6Ly9naXQuZ25vbWUub3JnL2dub21lLXNldHRpbmdzLWRhZW1vbjticmFuY2g9Z25vbWUtMi0zMiBcCisgICAgZmlsZTovLzAwMDEtUmVxdWlyZS1saWJub3RpZnktMC42LjAucGF0Y2ggXAorIgorU1JDUkVWID0gIjAxNjBmNjcyNWNmYjg3MmUwMTdmMzk1OGYxMDg3OTJjM2I4ODI4NzIiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3B1bHNlYXVkaW8nLCAncHVsc2VhdWRpbycsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHW3B1bHNlYXVkaW9dID0gIi0tZW5hYmxlLXB1bHNlLC0tZGlzYWJsZS1wdWxzZSxwdWxzZWF1ZGlvIGdsaWItMi4wIGxpYmNhbmJlcnJhIgorUEFDS0FHRUNPTkZJR1tzbWFydGNhcmRdID0gIi0tZW5hYmxlLXNtYXJ0Y2FyZC1zdXBwb3J0LC0tZGlzYWJsZS1zbWFydGNhcmQtc3VwcG9ydCxuc3MiCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0teC1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSBcCisgICAgLS14LWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSBcCisgICAgLS1lbmFibGUtcG9sa2l0IFwKKyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgc2VkIC1pIC1lICdzOi1MJGxpYmRpcjo6ZycgLWUgJ3M6LUkkaW5jbHVkZWRpcjo6ZycgJHtTfS9jb25maWd1cmUuYWMKK30KKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9nbm9tZS1zZXR0aW5ncy1kYWVtb24tMi4wLyouc28gJHtsaWJkaXJ9L2dub21lLXNldHRpbmdzLWRhZW1vbi0yLjAvKnBsdWdpbiBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2ljb24qIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2dub21lLWNvbnRyb2wtY2VudGVyIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3hzZXNzaW9uKiIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZ25vbWUtc2V0dGluZ3MtZGFlbW9uLTIuMC8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9nbm9tZS1zZXR0aW5ncy1kYWVtb24tMi4wLyoubGEiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9nbm9tZS1zZXR0aW5ncy1kYWVtb24tMi4wLyouYSIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc3lzdGVtLW1vbml0b3IvZmlsZXMvMDAwMS1GaXgtZ2xpYi1pbmNsdWRlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXN5c3RlbS1tb25pdG9yL2ZpbGVzLzAwMDEtRml4LWdsaWItaW5jbHVkZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWNlMWIwMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXN5c3RlbS1tb25pdG9yL2ZpbGVzLzAwMDEtRml4LWdsaWItaW5jbHVkZXMucGF0Y2gKQEAgLTAsMCArMSwxMDEgQEAKK0Zyb20gODU4N2UzNWFmNTJmNzc3M2Y2MjM2MWJlMmU3MmRkZjI4NmE1OTE4NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMTUgTWF5IDIwMTIgMTM6MDI6MDIgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IGdsaWIgaW5jbHVkZXMKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKK1Vwc3RyZWFtLVN0YXR1czogdW5rbm93bgorCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIHNyYy9pbnRlcmZhY2UuaCAgICAgICB8ICAgIDIgKy0KKyBzcmMvbG9hZC1ncmFwaC5oICAgICAgfCAgICAyICstCisgc3JjL2xzb2YuaCAgICAgICAgICAgIHwgICAgMiArLQorIHNyYy9vcGVuZmlsZXMuaCAgICAgICB8ICAgIDIgKy0KKyBzcmMvcHJvY21hbl9nbm9tZXN1LmggfCAgICAyICstCisgc3JjL3V0aWwuY3BwICAgICAgICAgIHwgICAgMiArLQorIDYgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFjZS5oIGIvc3JjL2ludGVyZmFjZS5oCitpbmRleCA0YmRhMzVhLi5iMjZiNjcwIDEwMDY0NAorLS0tIGEvc3JjL2ludGVyZmFjZS5oCisrKysgYi9zcmMvaW50ZXJmYWNlLmgKK0BAIC0yMCw3ICsyMCw3IEBACisgI2lmbmRlZiBfUFJPQ01BTl9JTlRFUkZBQ0VfSF8KKyAjZGVmaW5lIF9QUk9DTUFOX0lOVEVSRkFDRV9IXworIAorLSNpbmNsdWRlIDxnbGliL2d0eXBlcy5oPgorKyNpbmNsdWRlIDxnbGliLmg+CisgI2luY2x1ZGUgPGd0ay9ndGsuaD4KKyAjaW5jbHVkZSAicHJvY21hbi5oIgorIAorZGlmZiAtLWdpdCBhL3NyYy9sb2FkLWdyYXBoLmggYi9zcmMvbG9hZC1ncmFwaC5oCitpbmRleCA2MTExYzc4Li42ZTdhNTk5IDEwMDY0NAorLS0tIGEvc3JjL2xvYWQtZ3JhcGguaAorKysrIGIvc3JjL2xvYWQtZ3JhcGguaAorQEAgLTEsNyArMSw3IEBACisgI2lmbmRlZiBfUFJPQ01BTl9MT0FEX0dSQVBIX0hfCisgI2RlZmluZSBfUFJPQ01BTl9MT0FEX0dSQVBIX0hfCisgCistI2luY2x1ZGUgPGdsaWIvZ3R5cGVzLmg+CisrI2luY2x1ZGUgPGdsaWIuaD4KKyAjaW5jbHVkZSA8Z2xpYnRvcC9jcHUuaD4KKyAKKyBlbnVtCitkaWZmIC0tZ2l0IGEvc3JjL2xzb2YuaCBiL3NyYy9sc29mLmgKK2luZGV4IGFkN2YxMTEuLmRhNDIwZTIgMTAwNjQ0CistLS0gYS9zcmMvbHNvZi5oCisrKysgYi9zcmMvbHNvZi5oCitAQCAtMSw3ICsxLDcgQEAKKyAjaWZuZGVmIEhfUFJPQ01BTl9MU09GXzExNjExNzkyMDIKKyAjZGVmaW5lIEhfUFJPQ01BTl9MU09GXzExNjExNzkyMDIKKyAKKy0jaW5jbHVkZSA8Z2xpYi9nbWFjcm9zLmg+CisrI2luY2x1ZGUgPGdsaWIuaD4KKyAjaW5jbHVkZSAicHJvY21hbi5oIgorIAorIHZvaWQgcHJvY21hbl9sc29mKFByb2NEYXRhICpkYXRhKTsKK2RpZmYgLS1naXQgYS9zcmMvb3BlbmZpbGVzLmggYi9zcmMvb3BlbmZpbGVzLmgKK2luZGV4IDM4YjFjYzguLmE4YjdiMDUgMTAwNjQ0CistLS0gYS9zcmMvb3BlbmZpbGVzLmgKKysrKyBiL3NyYy9vcGVuZmlsZXMuaAorQEAgLTEsNyArMSw3IEBACisgI2lmbmRlZiBfT1BFTkZJTEVTX0hfCisgI2RlZmluZSBfT1BFTkZJTEVTX0hfCisgCistI2luY2x1ZGUgPGdsaWIvZ3R5cGVzLmg+CisrI2luY2x1ZGUgPGdsaWIuaD4KKyAKKyAjaW5jbHVkZSAicHJvY21hbi5oIgorIAorZGlmZiAtLWdpdCBhL3NyYy9wcm9jbWFuX2dub21lc3UuaCBiL3NyYy9wcm9jbWFuX2dub21lc3UuaAoraW5kZXggZmVjMjY1MC4uNDc0Y2E5YSAxMDA2NDQKKy0tLSBhL3NyYy9wcm9jbWFuX2dub21lc3UuaAorKysrIGIvc3JjL3Byb2NtYW5fZ25vbWVzdS5oCitAQCAtMSw3ICsxLDcgQEAKKyAjaWZuZGVmIEhfR05PTUVfU1lTVEVNX01PTklUT1JfR05PTUVTVV9IXzExMzIxNzE5MTcKKyAjZGVmaW5lIEhfR05PTUVfU1lTVEVNX01PTklUT1JfR05PTUVTVV9IXzExMzIxNzE5MTcKKyAKKy0jaW5jbHVkZSA8Z2xpYi9ndHlwZXMuaD4KKysjaW5jbHVkZSA8Z2xpYi5oPgorIAorIGdib29sZWFuCisgcHJvY21hbl9nbm9tZXN1X2NyZWF0ZV9yb290X3Bhc3N3b3JkX2RpYWxvZyhjb25zdCBjaGFyICogbWVzc2FnZSk7CitkaWZmIC0tZ2l0IGEvc3JjL3V0aWwuY3BwIGIvc3JjL3V0aWwuY3BwCitpbmRleCA5YjFjOWY1Li45MDA3M2ZlIDEwMDY0NAorLS0tIGEvc3JjL3V0aWwuY3BwCisrKysgYi9zcmMvdXRpbC5jcHAKK0BAIC0xLDcgKzEsNyBAQAorICNpbmNsdWRlIDxjb25maWcuaD4KKyAKKyAjaW5jbHVkZSA8Z2xpYi9naTE4bi5oPgorLSNpbmNsdWRlIDxnbGliL2dzdHJpbmcuaD4KKysjaW5jbHVkZSA8Z2xpYi5oPgorICNpbmNsdWRlIDxndGsvZ3RrLmg+CisgCisgI2luY2x1ZGUgPGdsaWJ0b3AvcHJvY3RpbWUuaD4KKy0tIAorMS43LjYuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1zeXN0ZW0tbW9uaXRvci9maWxlcy8wMDAyLXNyYy1wcm9jbWFuLmNwcC1pbmNsdWRlLW1haW4tZ3RrbW0uaC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXN5c3RlbS1tb25pdG9yL2ZpbGVzLzAwMDItc3JjLXByb2NtYW4uY3BwLWluY2x1ZGUtbWFpbi1ndGttbS5oLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiNjcyODEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1zeXN0ZW0tbW9uaXRvci9maWxlcy8wMDAyLXNyYy1wcm9jbWFuLmNwcC1pbmNsdWRlLW1haW4tZ3RrbW0uaC5wYXRjaApAQCAtMCwwICsxLDQ5IEBACitGcm9tIGFjZmY3MTk5ODNhYTEyOTQxNDhkYzRhMzY3YzQ4OTU3ZjU1MTBlZmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBGcmksIDE3IE1heSAyMDEzIDE4OjI1OjU2ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIHNyYy9wcm9jbWFuLmNwcDogaW5jbHVkZSBtYWluIGd0a21tLmgKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworYWZ0ZXIgdXBkYXRlIG9mIGd0a21tIGJ1aWxkIGZhaWxlZCB3aXRoOgorCitJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvU3VwZXJhbmR5L3RtcC9vZS1jb3JlLWVnbGliYy9zeXNyb290cy9vdmVyby91c3IvaW5jbHVkZS9ndGttbS0yLjQvZ3RrbW0vbWFpbi5oOjMzOjAsCisgICAgICAgICAgICAgICAgIGZyb20gcHJvY21hbi5jcHA6MjY6CisvaG9tZS9TdXBlcmFuZHkvdG1wL29lLWNvcmUtZWdsaWJjL3N5c3Jvb3RzL292ZXJvL3Vzci9pbmNsdWRlL2dka21tLTIuNC9nZGttbS90eXBlcy5oOjkyOjc6IGVycm9yOiAnVmFsdWUnIGlzIG5vdCBhIHRlbXBsYXRlCisvaG9tZS9TdXBlcmFuZHkvdG1wL29lLWNvcmUtZWdsaWJjL3N5c3Jvb3RzL292ZXJvL3Vzci9pbmNsdWRlL2dka21tLTIuNC9nZGttbS90eXBlcy5oOjkyOjU0OiBlcnJvcjogZXhwZWN0ZWQgdGVtcGxhdGUtbmFtZSBiZWZvcmUgJzwnIHRva2VuCisvaG9tZS9TdXBlcmFuZHkvdG1wL29lLWNvcmUtZWdsaWJjL3N5c3Jvb3RzL292ZXJvL3Vzci9pbmNsdWRlL2dka21tLTIuNC9nZGttbS90eXBlcy5oOjkyOjU0OiBlcnJvcjogZXhwZWN0ZWQgJ3snIGJlZm9yZSAnPCcgdG9rZW4KKy9ob21lL1N1cGVyYW5keS90bXAvb2UtY29yZS1lZ2xpYmMvc3lzcm9vdHMvb3Zlcm8vdXNyL2luY2x1ZGUvZ2RrbW0tMi40L2dka21tL3R5cGVzLmg6OTI6NTQ6IGVycm9yOiBleHBlY3RlZCB1bnF1YWxpZmllZC1pZCBiZWZvcmUgJzwnIHRva2VuCisvaG9tZS9TdXBlcmFuZHkvdG1wL29lLWNvcmUtZWdsaWJjL3N5c3Jvb3RzL292ZXJvL3Vzci9pbmNsdWRlL2dka21tLTIuNC9nZGttbS90eXBlcy5oOjE3NDo3OiBlcnJvcjogJ1ZhbHVlJyBpcyBub3QgYSB0ZW1wbGF0ZQorL2hvbWUvU3VwZXJhbmR5L3RtcC9vZS1jb3JlLWVnbGliYy9zeXNyb290cy9vdmVyby91c3IvaW5jbHVkZS9nZGttbS0yLjQvZ2RrbW0vdHlwZXMuaDoxNzQ6MzA6IGVycm9yOiAnR2xpYjo6VmFsdWUnIGlzIG5vdCBhIHRlbXBsYXRlIHR5cGUKKy9ob21lL1N1cGVyYW5keS90bXAvb2UtY29yZS1lZ2xpYmMvc3lzcm9vdHMvb3Zlcm8vdXNyL2luY2x1ZGUvZ2RrbW0tMi40L2dka21tL3R5cGVzLmg6MTc0OjU4OiBlcnJvcjogZXhwZWN0ZWQgdGVtcGxhdGUtbmFtZSBiZWZvcmUgJzwnIHRva2VuCisvaG9tZS9TdXBlcmFuZHkvdG1wL29lLWNvcmUtZWdsaWJjL3N5c3Jvb3RzL292ZXJvL3Vzci9pbmNsdWRlL2dka21tLTIuNC9nZGttbS90eXBlcy5oOjIwNzo3OiBlcnJvcjogJ1ZhbHVlJyBpcyBub3QgYSB0ZW1wbGF0ZQorL2hvbWUvU3VwZXJhbmR5L3RtcC9vZS1jb3JlLWVnbGliYy9zeXNyb290cy9vdmVyby91c3IvaW5jbHVkZS9nZGttbS0yLjQvZ2RrbW0vdHlwZXMuaDoyMDc6MjQ6IGVycm9yOiAnR2xpYjo6VmFsdWUnIGlzIG5vdCBhIHRlbXBsYXRlIHR5cGUKKy9ob21lL1N1cGVyYW5keS90bXAvb2UtY29yZS1lZ2xpYmMvc3lzcm9vdHMvb3Zlcm8vdXNyL2luY2x1ZGUvZ2RrbW0tMi40L2dka21tL3R5cGVzLmg6MjA3OjUxOiBlcnJvcjogZXhwZWN0ZWQgdGVtcGxhdGUtbmFtZSBiZWZvcmUgJzwnIHRva2VuCisvaG9tZS9TdXBlcmFuZHkvdG1wL29lLWNvcmUtZWdsaWJjL3N5c3Jvb3RzL292ZXJvL3Vzci9pbmNsdWRlL2dka21tLTIuNC9nZGttbS90eXBlcy5oOjI3NDo3OiBlcnJvcjogJ1ZhbHVlJyBpcyBub3QgYSB0ZW1wbGF0ZQorL2hvbWUvU3VwZXJhbmR5L3RtcC9vZS1jb3JlLWVnbGliYy9zeXNyb290cy9vdmVyby91c3IvaW5jbHVkZS9nZGttbS0yLjQvZ2RrbW0vdHlwZXMuaDoyNzQ6MzI6IGVycm9yOiAnR2xpYjo6VmFsdWUnIGlzIG5vdCBhIHRlbXBsYXRlIHR5cGUKKzwuLi4+CisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgc3JjL3Byb2NtYW4uY3BwIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL3Byb2NtYW4uY3BwIGIvc3JjL3Byb2NtYW4uY3BwCitpbmRleCBiNWMwZDBhLi5kOWI0YjNmIDEwMDY0NAorLS0tIGEvc3JjL3Byb2NtYW4uY3BwCisrKysgYi9zcmMvcHJvY21hbi5jcHAKK0BAIC0yMyw3ICsyMyw3IEBACisgCisgI2luY2x1ZGUgPGxvY2FsZS5oPgorIAorLSNpbmNsdWRlIDxndGttbS9tYWluLmg+CisrI2luY2x1ZGUgPGd0a21tLmg+CisgI2luY2x1ZGUgPGdpb21tL3ZvbHVtZW1vbml0b3IuaD4KKyAjaW5jbHVkZSA8Z2lvbW0vaW5pdC5oPgorICNpbmNsdWRlIDxnbGliLmg+CistLSAKKzEuNy40LjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc3lzdGVtLW1vbml0b3IvZmlsZXMvUmVtb3ZlLXBrZy1jb25maWctY2hlY2stZm9yLWdub21lLWljb24tdGhlbWUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1zeXN0ZW0tbW9uaXRvci9maWxlcy9SZW1vdmUtcGtnLWNvbmZpZy1jaGVjay1mb3ItZ25vbWUtaWNvbi10aGVtZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzUxNjllCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc3lzdGVtLW1vbml0b3IvZmlsZXMvUmVtb3ZlLXBrZy1jb25maWctY2hlY2stZm9yLWdub21lLWljb24tdGhlbWUucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbSAzNmZkMmFhMjNlNzEyZjA1ZjBjY2U0YTFiZTM0NTNmY2Y0MDVkMDI2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSnVzc2kgS3Vra29uZW4gPGp1c3NpLmt1a2tvbmVuQGludGVsLmNvbT4KK0RhdGU6IFR1ZSwgMTUgU2VwIDIwMTUgMTY6Mjg6MTggKzAzMDAKK1N1YmplY3Q6IFtQQVRDSF0gUmVtb3ZlIHBrZy1jb25maWcgY2hlY2sgZm9yIGdub21lLWljb24tdGhlbWUKKworVGhlbWUgaXMgbm90IHJlcXVpcmVkIGZvciBidWlsZGluZywgYW5kIHRoZSBpY29ucyBhcmUgcHJvdmlkZWQgYnkKK2Fkd2FpdGEtaWNvbi10aGVtZSBhbnl3YXkKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtGaXhlZCBpbiBjdXJyZW50IHZlcnNpb25zXQorU2lnbmVkLW9mZi1ieTogSnVzc2kgS3Vra29uZW4gPGp1c3NpLmt1a2tvbmVuQGludGVsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5pbiB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgoraW5kZXggMzYwMDgyMy4uNDIyNjJmMiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5pbgorKysrIGIvY29uZmlndXJlLmluCitAQCAtMzcsNyArMzcsNyBAQCBMSUJYTUxfUkVRVUlSRUQ9Mi4wCisgUlNWR19SRVFVSVJFRD0yLjEyCisgREJVU19SRVFVSVJFRD0wLjcKKyAKKy1QS0dfQ0hFQ0tfTU9EVUxFUyhQUk9DTUFOLCBnbGliLTIuMCA+PSAkR0xJQl9SRVFVSVJFRCBnY29uZi0yLjAgPj0gJEdDT05GX1JFUVVJUkVEIGxpYmd0b3AtMi4wID49ICRMSUJHVE9QX1JFUVVJUkVEIGxpYnduY2stMS4wID49ICRMSUJXTkNLX1JFUVVJUkVEIGd0aystMi4wID49ICRHVEtfUkVRVUlSRUQgZ25vbWUtaWNvbi10aGVtZSA+PSAkR05PTUVfSUNPTl9USEVNRV9SRVFVSVJFRCBndGttbS0yLjQgPj0gJEdUS01NX1JFUVVJUkVEIGxpYnhtbC0yLjAgPj0gJExJQlhNTF9SRVFVSVJFRCBsaWJyc3ZnLTIuMCA+PSAkUlNWR19SRVFVSVJFRCBnbGlibW0tMi40ID49ICRHTElCTU1fUkVRVUlSRUQgZ2lvbW0tMi40ID49ICRHSU9NTV9SRVFVSVJFRCBkYnVzLWdsaWItMSA+PSAkREJVU19SRVFVSVJFRCkKKytQS0dfQ0hFQ0tfTU9EVUxFUyhQUk9DTUFOLCBnbGliLTIuMCA+PSAkR0xJQl9SRVFVSVJFRCBnY29uZi0yLjAgPj0gJEdDT05GX1JFUVVJUkVEIGxpYmd0b3AtMi4wID49ICRMSUJHVE9QX1JFUVVJUkVEIGxpYnduY2stMS4wID49ICRMSUJXTkNLX1JFUVVJUkVEIGd0aystMi4wID49ICRHVEtfUkVRVUlSRUQgZ3RrbW0tMi40ID49ICRHVEtNTV9SRVFVSVJFRCBsaWJ4bWwtMi4wID49ICRMSUJYTUxfUkVRVUlSRUQgbGlicnN2Zy0yLjAgPj0gJFJTVkdfUkVRVUlSRUQgZ2xpYm1tLTIuNCA+PSAkR0xJQk1NX1JFUVVJUkVEIGdpb21tLTIuNCA+PSAkR0lPTU1fUkVRVUlSRUQgZGJ1cy1nbGliLTEgPj0gJERCVVNfUkVRVUlSRUQpCisgCisgCisgQUNfQVJHX0VOQUJMRShtb3JlLXdhcm5pbmdzLAorLS0gCisyLjEuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1zeXN0ZW0tbW9uaXRvci9nbm9tZS1zeXN0ZW0tbW9uaXRvcl8yLjI4LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1zeXN0ZW0tbW9uaXRvci9nbm9tZS1zeXN0ZW0tbW9uaXRvcl8yLjI4LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTU3NzhmNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXN5c3RlbS1tb25pdG9yL2dub21lLXN5c3RlbS1tb25pdG9yXzIuMjguMi5iYgpAQCAtMCwwICsxLDMyIEBACitTVU1NQVJZID0gIkdub21lIHN5c3RlbSBtb25pdG9yIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorU0VDVElPTiA9ICJ4MTEvZ25vbWUiCitQUiA9ICJyMiIKKworREVQRU5EUyA9ICJsaWJndG9wIGd0a21tIGdsaWJtbSBnbm9tZS1kb2MtdXRpbHMgbGlid25jayBndGsrIGRidXMtZ2xpYiBsaWJyc3ZnIGludGx0b29sLW5hdGl2ZSIKKworaW5oZXJpdCBnbm9tZQorU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiM2YwYmNhOWIwZWJjN2EzNjU0NjY4NTFjZDU4MGQxNjciCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJiNjI4ZWRmZDM5ZTNhNmIzNzRjZTEzM2YzNjdkMzU2ODQ3NWViNGU5ODFhMzY3ZjRmOWQ2MmE5Nzg0ZTVhZTU5IgorR05PTUVfQ09NUFJFU1NfVFlQRT0iYnoyIgorU1JDX1VSSSArPSAiIFwKKyAgICBmaWxlOi8vMDAwMS1GaXgtZ2xpYi1pbmNsdWRlcy5wYXRjaCBcCisgICAgZmlsZTovLzAwMDItc3JjLXByb2NtYW4uY3BwLWluY2x1ZGUtbWFpbi1ndGttbS5oLnBhdGNoIFwKKyAgICBmaWxlOi8vUmVtb3ZlLXBrZy1jb25maWctY2hlY2stZm9yLWdub21lLWljb24tdGhlbWUucGF0Y2ggXAorIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgLWUgczpoZWxwOjpnICR7U30vTWFrZWZpbGUuYW0KK30KKworUlJFQ09NTUVORFNfJHtQTn0gPSAiYWR3YWl0YS1pY29uLXRoZW1lIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9pY29ucyBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZ25vbWUvYXV0b3N0YXJ0IFwKKyIKKworRklMRVNfJHtQTn0tZG9jICs9ICIke2RhdGFkaXJ9L29tZiBcCisgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZ25vbWUvaGVscCAiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXZmcy9nbm9tZS12ZnMtMi4yNC40LzAwMDEtbXVsdGlwbGUtTWFrZWZpbGUuYW0tcmVtb3ZlLURHX0RJU0FCTEVfREVQUkVDQVRFRC10by5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXZmcy9nbm9tZS12ZnMtMi4yNC40LzAwMDEtbXVsdGlwbGUtTWFrZWZpbGUuYW0tcmVtb3ZlLURHX0RJU0FCTEVfREVQUkVDQVRFRC10by5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zODMzMjk5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtdmZzL2dub21lLXZmcy0yLjI0LjQvMDAwMS1tdWx0aXBsZS1NYWtlZmlsZS5hbS1yZW1vdmUtREdfRElTQUJMRV9ERVBSRUNBVEVELXRvLnBhdGNoCkBAIC0wLDAgKzEsNzcgQEAKK0Zyb20gNTM2ZTliNTdjYWRhNGE5ZjkyZTA3M2ZkZjAxY2RmMWRlZjQzNWI2YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgNyBNYXkgMjAxMyAxNDo1NjowNiArMDIwMAorU3ViamVjdDogW1BBVENIXSBtdWx0aXBsZSBNYWtlZmlsZS5hbTogcmVtb3ZlIC1ER19ESVNBQkxFX0RFUFJFQ0FURUQgdG8gZml4CisgYnVpbGQgd2l0aCBnbGliLTIuMzYKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgZGFlbW9uL01ha2VmaWxlLmFtICAgICAgfCAgICAxIC0KKyBsaWJnbm9tZXZmcy9NYWtlZmlsZS5hbSB8ICAgIDEgLQorIDIgZmlsZXMgY2hhbmdlZCwgMCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitJbmRleDogZ25vbWUtdmZzLTIuMjQuNC9kYWVtb24vTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnbm9tZS12ZnMtMi4yNC40Lm9yaWcvZGFlbW9uL01ha2VmaWxlLmFtCTIwMTMtMTAtMTcgMTY6Mzk6MzkuMDgxMDI0Nzk4IC0wNzAwCisrKysgZ25vbWUtdmZzLTIuMjQuNC9kYWVtb24vTWFrZWZpbGUuYW0JMjAxMy0xMC0xNyAxNjozOTozOS4yMTMwMjQ3OTQgLTA3MDAKK0BAIC04LDcgKzgsNiBAQAorIAktRF9MQVJHRUZJTEU2NF9TT1VSQ0UgICAgICAgICAgICAgICAgICAgXAorIAktRF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUwkJXAorIAktRF9SRUVOVFJBTlQJCQkJXAorLQktREdfRElTQUJMRV9ERVBSRUNBVEVECQkJXAorIAktREdOT01FX1ZGU19QUkVGSVg9XCIkKHByZWZpeClcIglcCisgCS1ER05PTUVfVkZTX0RBVEFESVI9XCIkKGRhdGFkaXIpXCIJXAorIAktREdOT01FX1ZGU19MSUJESVI9XCIkKGxpYmRpcilcIglcCitJbmRleDogZ25vbWUtdmZzLTIuMjQuNC9saWJnbm9tZXZmcy9NYWtlZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdub21lLXZmcy0yLjI0LjQub3JpZy9saWJnbm9tZXZmcy9NYWtlZmlsZS5hbQkyMDEzLTEwLTE3IDE2OjM5OjM5LjA4MTAyNDc5OCAtMDcwMAorKysrIGdub21lLXZmcy0yLjI0LjQvbGliZ25vbWV2ZnMvTWFrZWZpbGUuYW0JMjAxMy0xMC0xNyAxNjozOTozOS4yMTMwMjQ3OTQgLTA3MDAKK0BAIC0xOSw3ICsxOSw2IEBACisgCS1EX0xBUkdFRklMRTY0X1NPVVJDRSAgICAgICAgICAgICAgICAgICBcCisgCS1EX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTCQlcCisgCS1EX1JFRU5UUkFOVAkJCQlcCistCS1ER19ESVNBQkxFX0RFUFJFQ0FURUQJCQlcCisgCS1ER05PTUVfVkZTX1BSRUZJWD1cIiQocHJlZml4KVwiCVwKKyAJLURHTk9NRV9WRlNfQklORElSPVwiJChiaW5kaXIpXCIJXAorIAktREdOT01FX1ZGU19EQVRBRElSPVwiJChkYXRhZGlyKVwiCVwKK0luZGV4OiBnbm9tZS12ZnMtMi4yNC40L21vZHVsZXMvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnbm9tZS12ZnMtMi4yNC40Lm9yaWcvbW9kdWxlcy9NYWtlZmlsZS5hbQkyMDEzLTEwLTE3IDE2OjM5OjM5LjA4MTAyNDc5OCAtMDcwMAorKysrIGdub21lLXZmcy0yLjI0LjQvbW9kdWxlcy9NYWtlZmlsZS5hbQkyMDEzLTEwLTE3IDE2OjM5OjM5LjIxMzAyNDc5NCAtMDcwMAorQEAgLTE4LDcgKzE4LDYgQEAKKyAJLURfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MJCVwKKyAJLURfUkVFTlRSQU5UCQkJCVwKKyAJLURTU0hfUFJPR1JBTT1cIiQoU1NIX1BST0dSQU0pXCIJXAorLQktREdfRElTQUJMRV9ERVBSRUNBVEVECQkJXAorIAktREdOT01FX1ZGU19QUkVGSVg9XCIkKHByZWZpeClcIglcCisgCS1ER05PTUVfVkZTX0RBVEFESVI9XCIkKGRhdGFkaXIpXCIJXAorIAktREdOT01FX1ZGU19MSUJESVI9XCIkKGxpYmRpcilcIglcCitJbmRleDogZ25vbWUtdmZzLTIuMjQuNC9wcm9ncmFtcy9NYWtlZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdub21lLXZmcy0yLjI0LjQub3JpZy9wcm9ncmFtcy9NYWtlZmlsZS5hbQkyMDEzLTEwLTE3IDE2OjM5OjM5LjA4MTAyNDc5OCAtMDcwMAorKysrIGdub21lLXZmcy0yLjI0LjQvcHJvZ3JhbXMvTWFrZWZpbGUuYW0JMjAxMy0xMC0xNyAxNjozOTozOS4yMTMwMjQ3OTQgLTA3MDAKK0BAIC00LDggKzQsNyBAQAorIAktSSQodG9wX3NyY2RpcikJCQkJXAorIAktSSQodG9wX2J1aWxkZGlyKQkJCVwKKyAJJChURVNUX0NGTEFHUykJCQkJXAorLQkkKFZGU19DRkxBR1MpCQkJCVwKKy0JLURHX0RJU0FCTEVfREVQUkVDQVRFRAorKwkkKFZGU19DRkxBR1MpCisgCisgbGlicmFyaWVzID0JCQkJCQlcCisgCSQodG9wX2J1aWxkZGlyKS9saWJnbm9tZXZmcy9saWJnbm9tZXZmcy0yLmxhCVwKK0luZGV4OiBnbm9tZS12ZnMtMi4yNC40L3Rlc3QvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnbm9tZS12ZnMtMi4yNC40Lm9yaWcvdGVzdC9NYWtlZmlsZS5hbQkyMDEwLTAyLTA5IDA0OjE2OjE0LjAwMDAwMDAwMCAtMDgwMAorKysrIGdub21lLXZmcy0yLjI0LjQvdGVzdC9NYWtlZmlsZS5hbQkyMDEzLTEwLTE3IDE2OjQyOjQ5LjEwOTAxOTE3MiAtMDcwMAorQEAgLTYsNyArNiw2IEBACisgCS1JJCh0b3BfYnVpbGRkaXIpL2xpYmdub21ldmZzICAgICAgICAgICBcCisgCSQoVEVTVF9DRkxBR1MpCQkJCVwKKyAJJChWRlNfQ0ZMQUdTKQkJCQlcCistCS1ER19ESVNBQkxFX0RFUFJFQ0FURUQJCQlcCisgCS1ETU9EVUxFU19QQVRIPVwiJChsaWJkaXIpL3Zmcy9tb2R1bGVzXCIKKyAKKyBpZiBPU19XSU4zMgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtdmZzL2dub21lLXZmcy0yLjI0LjQvZG8tbm90LXVzZS1zcmNkaXItdmFyaWFibGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS12ZnMvZ25vbWUtdmZzLTIuMjQuNC9kby1ub3QtdXNlLXNyY2Rpci12YXJpYWJsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMGNhMjliCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtdmZzL2dub21lLXZmcy0yLjI0LjQvZG8tbm90LXVzZS1zcmNkaXItdmFyaWFibGUucGF0Y2gKQEAgLTAsMCArMSwyMiBAQAorRml4ZXMgZXJyb3JzIHdpdGggbmV3IGF1dG90b29scworCit8IGF1dG9tYWtlOiBlcnJvcjogdXNpbmcgJyQoc3JjZGlyKScgaW4gVEVTVFMgaXMgY3VycmVudGx5IGJyb2tlbjogJyQoc3JjZGlyKS9hdXRvLXRlc3QnCit8IGF1dG9yZWNvbmY6IGF1dG9tYWtlIGZhaWxlZCB3aXRoIGV4aXQgc3RhdHVzOiAxCit8IEVSUk9SOiBhdXRvcmVjb25mIGV4ZWN1dGlvbiBmYWlsZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogTm90IFN1Ym1pdHRlZAorU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworSW5kZXg6IGdub21lLXZmcy0yLjI0LjQvdGVzdC9NYWtlZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdub21lLXZmcy0yLjI0LjQub3JpZy90ZXN0L01ha2VmaWxlLmFtCTIwMTMtMTAtMTcgMTY6NDM6MzYuNjc3MDE3NzY0IC0wNzAwCisrKysgZ25vbWUtdmZzLTIuMjQuNC90ZXN0L01ha2VmaWxlLmFtCTIwMTMtMTAtMTcgMTY6NDg6NDcuMzY5MDA4NTY2IC0wNzAwCitAQCAtNjQsNyArNjQsNyBAQAorIAl0ZXN0LWFzeW5jLWNhbmNlbCBcCisgCXRlc3QtZXNjYXBlICAgICAgIFwKKyAJdGVzdC11cmkgICAgICAgCSAgXAorLQkkKHNyY2RpcikvYXV0by10ZXN0CQorKwlhdXRvLXRlc3QKKyAKKyBsaWJyYXJpZXMgPQkJCQkJCVwKKyAJJCh0b3BfYnVpbGRkaXIpL2xpYmdub21ldmZzL2xpYmdub21ldmZzLTIubGEJXApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtdmZzL2dub21lLXZmcy0yLjI0LjQvZ2NvbmZ0b29sLWxvc3NhZ2UucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS12ZnMvZ25vbWUtdmZzLTIuMjQuNC9nY29uZnRvb2wtbG9zc2FnZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjUyMTM2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtdmZzL2dub21lLXZmcy0yLjI0LjQvZ2NvbmZ0b29sLWxvc3NhZ2UucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCistLS0gZ25vbWUtdmZzLTIuNi4wL2NvbmZpZ3VyZS5pbn4JMjAwNC0wMy0yMiAxMjozNjoyMy4wMDAwMDAwMDAgKzAwMDAKKysrKyBnbm9tZS12ZnMtMi42LjAvY29uZmlndXJlLmluCTIwMDQtMDYtMDcgMTY6MDQ6MzQuMDAwMDAwMDAwICswMTAwCitAQCAtMTU0LDcgKzE1NCw3IEBACisgQUNfUEFUSF9QUk9HKEdDT05GVE9PTCwgZ2NvbmZ0b29sLTIsIG5vKQorIAorIGlmIHRlc3QgeCIkR0NPTkZUT09MIiA9IHhubzsgdGhlbgorLSAgQUNfTVNHX0VSUk9SKFtnY29uZnRvb2wtMiBleGVjdXRhYmxlIG5vdCBmb3VuZCBpbiB5b3VyIHBhdGggLSBzaG91bGQgYmUgaW5zdGFsbGVkIHdpdGggR0NvbmZdKQorKyAgQUNfTVNHX1dBUk4oW2djb25mdG9vbC0yIGV4ZWN1dGFibGUgbm90IGZvdW5kIGluIHlvdXIgcGF0aCAtIHNob3VsZCBiZSBpbnN0YWxsZWQgd2l0aCBHQ29uZl0pCisgZmkKKyAKKyBBTV9HQ09ORl9TT1VSQ0VfMgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtdmZzL2dub21lLXZmcy0yLjI0LjQvZ25vbWUtdmZzLW5vLWtlcmJlcm9zLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtdmZzL2dub21lLXZmcy0yLjI0LjQvZ25vbWUtdmZzLW5vLWtlcmJlcm9zLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhYmVjMzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS12ZnMvZ25vbWUtdmZzLTIuMjQuNC9nbm9tZS12ZnMtbm8ta2VyYmVyb3MucGF0Y2gKQEAgLTAsMCArMSw1MyBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCityZW1vdmVzIGtlcmJlcm9zIGNvbXBsZXRlbHkgdG8gYXZvaWQgY29uZmxpY3RzIHdpdGggaW5zdGFsbGVkIGtlcmJlcm9zCistLS0gY29uZmlndXJlLmluLm9yaWcJMjAwNy0wMS0wNSAxOTo0MjoyNi40MTg1NDE2MTAgKzAyMDAKKysrKyBjb25maWd1cmUuaW4JMjAwNy0wMS0wNSAxOTo0Mjo1Ni42MDQyNjE3OTcgKzAyMDAKK0BAIC00MzYsNDcgKzQzNiw2IEBACisgXSkKKyBBTV9DT05ESVRJT05BTChIQVZFX0NEREEsIHRlc3QgJGhhdmVfY2RkYSA9IHllcykKKyBBQ19TVUJTVChDRERBX0xJQlMpCistCistZG5sIEdTU0FQSQorLWRubCBDaGVjayBmb3IgS2VyYmVyb3MgaW5zdGFsbGF0aW9uCistaGF2ZV9nc3NhcGk9bm8KKy1BQ19QQVRIX1BST0coW0tSQjVfQ09ORklHXSwga3JiNS1jb25maWcsIG5vbmUsICRQQVRIOi91c3Iva2VyYmVyb3MvYmluKQorLQkJCQkJICAgCistaWYgdGVzdCAieCRLUkI1X0NPTkZJRyIgIT0gInhub25lIjsgdGhlbgorLSAgIEdTU0FQSV9MSUJTPSJgJHtLUkI1X0NPTkZJR30gLS1saWJzIGdzc2FwaWAiCistICAgR1NTQVBJX0NGTEFHUz0iYCR7S1JCNV9DT05GSUd9IC0tY2ZsYWdzIGdzc2FwaWAiCistICAgCistICAgc2F2ZWRfQ1BQRkxBR1M9IiRDUFBGTEFHUyIKKy0gICBzYXZlZF9MSUJTPSIkTElCUyIKKy0gICBMSUJTPSIkTElCUyAkR1NTQVBJX0xJQlMiCistICAgQ1BQRkxBR1M9IiRDUFBGTEFHUyAkR1NTQVBJX0NGTEFHUyIKKy0gICAjIE1JVCBhbmQgSGVpbWRhbCBwdXQgZ3NzYXBpLmggaW4gZGlmZmVyZW50IHBsYWNlcworLSAgIEFDX0NIRUNLX0hFQURFUlMoZ3NzYXBpL2dzc2FwaS5oIGdzc2FwaS5oLCBbCistICAgICAgIEFDX0NIRUNLX0ZVTkNTKGdzc19pbml0X3NlY19jb250ZXh0LCBbCistICAgICAgICAgICBBQ19NU0dfTk9USUNFKFtHU1NBUEkgYXV0aGVudGljYXRpb24gc3VwcG9ydCBlbmFibGVkXSkKKy0gICAgICAgICAgIEFDX0RFRklORShIQVZFX0dTU0FQSSwgMSwgW0RlZmluZSBpZiBHU1NBUEkgc3VwcG9ydCBpcyBlbmFibGVkXSkKKy0gICAgICAgICAgIEFDX0NIRUNLX0hFQURFUlMoZ3NzYXBpL2dzc2FwaV9nZW5lcmljLmgpCistCQkgaGF2ZV9nc3NhcGk9eWVzCistCSAKKy0gICAgICAgIyBNSVQgS2VyYmVyb3MgbGFja3MgR1NTX0NfTlRfSE9TVEJBU0VEX1NFUlZJQ0UKKy0gICAgICAgQUNfQ0hFQ0tfREVDTChbR1NTX0NfTlRfSE9TVEJBU0VEX1NFUlZJQ0VdLCwKKy0gICAgICAgICAgW0FDX0RFRklORShbR1NTX0NfTlRfSE9TVEJBU0VEX1NFUlZJQ0VdLCBnc3NfbnRfc2VydmljZV9uYW1lLCAKKy0gICAgICAgICAgICAgW0RlZmluZSBpZiBHU1NfQ19OVF9IT1NUQkFTRURfU0VSVklDRSBpcyBub3QgZGVmaW5lZCBvdGhlcndpc2VdKQorLQkJXSwgWworLQkJICAgICNpZmRlZiBIQVZFX0dTU0FQSV9HU1NBUElfSAorLQkJICAgICNpbmNsdWRlIDxnc3NhcGkvZ3NzYXBpLmg+CistCQkgICAgI2Vsc2UJICAgCistCQkgICAgI2luY2x1ZGUgPGdzc2FwaS5oPgorLQkJICAgICNlbmRpZgorLQkJXSkKKy0JICBdKQorLSAgICAgYnJlYWsKKy0gICBdKQorLSAgIExJQlM9IiRzYXZlZF9MSUJTIiAKKy0gICBDUFBGTEFHUz0iJHNhdmVkX0NQUEZMQUdTIiAKKy1maSAgIAorLUFDX1NVQlNUKEdTU0FQSV9MSUJTKQorLUFDX1NVQlNUKEdTU0FQSV9DRkxBR1MpCisgCSAgIAorIGRubCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyBkbmwgaHR0cC1tZXRob2QgKG5lb24gY2hlY2tzKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtdmZzL2dub21lLXZmc18yLjI0LjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS12ZnMvZ25vbWUtdmZzXzIuMjQuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOWIwMmIxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtdmZzL2dub21lLXZmc18yLjI0LjQuYmIKQEAgLTAsMCArMSw2MCBAQAorU1VNTUFSWSA9ICJhIHVzZXJzcGFjZSB2aXJ0dWFsIGZpbGVzeXN0ZW0iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lmdub21lLm9yZy8iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLyIKKworTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGliZ25vbWV2ZnMvZ25vbWUtdmZzLmg7ZW5kbGluZT0yNTttZDU9MTcwNzFlNjk3MDdhOGY0Mjg4N2Q4ODQxM2YyNjIzY2IgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcHJvZ3JhbXMvZ25vbWV2ZnMtbHMuYztlbmRsaW5lPTIzO21kNT02NzhhMmU4YmVkYWVmNTgxOGNjYWJlNjMzODQwMTk2YiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kYWVtb24vdmZzLWRhZW1vbi5jO2VuZGxpbmU9MjE7bWQ1PTVmMmM2MTU1M2ZiMTZhYmIwN2ZjOTQ5OGNhMDNmZTFmIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL21vZHVsZXMvY2RkYS1jZGRiLmg7ZW5kbGluZT0yMjttZDU9MjBlZDMyNGNhNjQ5MDdjMzY2ZWNkN2YyMmI4ZTBjNTQiCisKK0RFUEVORFMgPSAibGlieG1sMiBnY29uZiBkYnVzIGJ6aXAyIGdub21lLW1pbWUtZGF0YSB6bGliIGludGx0b29sLW5hdGl2ZSIKK1JSRUNPTU1FTkRTXyR7UE59ID0gImdub21lLXZmcy1wbHVnaW4tZmlsZSBzaGFyZWQtbWltZS1pbmZvIgorIyBTb21lIGxlZ2FjeSBwYWNrYWdlcyB3aWxsIHJlcXVpcmUgZ25vbWUtbWltZS1kYXRhIHRvIGJlIGluc3RhbGxlZCwgYnV0IHVzZSBvZgorIyBpdCBpcyBkZXByZWNhdGVkLgorUFIgPSAicjMiCisKK2luaGVyaXQgZ25vbWUKKworIyBUaGlzIGlzIHRvIHByb3ZpZGUgY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBnbm9tZS12ZnMgREJ1cyBmb3JrCitSUFJPVklERVNfJHtQTn0gPSAiZ25vbWUtdmZzLXBsdWdpbi1kYnVzIgorCitTUkNfVVJJICs9ICIgXAorICAgIGZpbGU6Ly9nY29uZnRvb2wtbG9zc2FnZS5wYXRjaCBcCisgICAgZmlsZTovL2dub21lLXZmcy1uby1rZXJiZXJvcy5wYXRjaDtzdHJpcGxldmVsPTAgXAorICAgIGZpbGU6Ly8wMDAxLW11bHRpcGxlLU1ha2VmaWxlLmFtLXJlbW92ZS1ER19ESVNBQkxFX0RFUFJFQ0FURUQtdG8ucGF0Y2ggXAorICAgIGZpbGU6Ly9kby1ub3QtdXNlLXNyY2Rpci12YXJpYWJsZS5wYXRjaCBcCisiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImEwNWZhYjAzZWVlZjEwYTQ3ZGQxNTZiNzU4OTgyZjJlIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiNjJkZTY0YjViODA0ZWIwNDEwNGZmOThmY2Q2YThiNzI3NmQ1MTBhNDlmYmQ5YzBmZWI1NjhmODk5NjQ0NGZhYSIKK0dOT01FX0NPTVBSRVNTX1RZUEU9ImJ6MiIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnemVyb2NvbmYnLCAnYXZhaGknLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1thdmFoaV0gPSAiLS1lbmFibGUtYXZhaGksLS1kaXNhYmxlLWF2YWhpLGF2YWhpIgorUEFDS0FHRUNPTkZJR1tmYW1dID0gIi0tZW5hYmxlLWZhbSwtLWRpc2FibGUtZmFtLGdhbWluIgorCitFWFRSQV9PRUNPTkYgPSAiIC0tZGlzYWJsZS1oYWwgXAorICAgICAgICAgICAgICAgICAtLWRpc2FibGUtb3BlbnNzbCBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1zYW1iYSBcCisgICAgICAgICAgICAgICAgIGFjX2N2X2xpYl9hY2xfYWNsX2dldF9maWxlPW5vIFwKKyAgICAgICAgICAgICAgICAgYWNfY3ZfbGliX3NlY19hY2w9bm8gXAorICAgICAgICAgICAgICAgICBndmZzX2N2X0hBVkVfU09MQVJJU19BQ0xTPW5vIFwKKyAgICAgICAgICAgICAgICAgZ3Zmc19jdl9IQVZFX1BPU0lYX0FDTFM9bm8gXAorIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3ZmcyAke2RhdGFkaXJ9L2RidXMtMS9zZXJ2aWNlcyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2dub21lLXZmcy0yLjAvbW9kdWxlcy8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9nbm9tZS12ZnMtMi4wL2luY2x1ZGUvKiAke2xpYmRpcn0vZ25vbWUtdmZzLTIuMC9tb2R1bGVzLyoubGEiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9nbm9tZS12ZnMtMi4wL21vZHVsZXMvKi5hIgorRklMRVNfJHtQTn0tZG9jICs9ICIke2RhdGFkaXJ9L2d0ay1kb2MiCisKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl5nbm9tZS12ZnMtcGx1Z2luLS4qIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgcHJpbnQgZC5nZXRWYXIoJ0ZJTEVTX2dub21lLXZmcycsIDEpCisKKyAgICBwbHVnaW5kaXIgPSBkLmV4cGFuZCgnJHtsaWJkaXJ9L2dub21lLXZmcy0yLjAvbW9kdWxlcy8nKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHBsdWdpbmRpciwgJ15saWIoLiopXC5zbyQnLCAnZ25vbWUtdmZzLXBsdWdpbi0lcycsICdHTk9NRSBWRlMgcGx1Z2luIGZvciAlcycpCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS9nbm9tZS10ZXJtaW5hbC8wMDAxLU1ha2VmaWxlLmFtLWRvLW5vdC1idWlsZC1oZWxwLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUvZ25vbWUtdGVybWluYWwvMDAwMS1NYWtlZmlsZS5hbS1kby1ub3QtYnVpbGQtaGVscC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNzg3NGU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUvZ25vbWUtdGVybWluYWwvMDAwMS1NYWtlZmlsZS5hbS1kby1ub3QtYnVpbGQtaGVscC5wYXRjaApAQCAtMCwwICsxLDI4IEBACitGcm9tIGQyNTQ5ZDNlZjA4NTM2YmU2ZDE0MTUyNGUzMzgyZmVmMDdmZWE4YmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBUdWUsIDMwIEFwciAyMDEzIDE5OjQ4OjI3ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIE1ha2VmaWxlLmFtOiBkbyBub3QgYnVpbGQgaGVscAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIE1ha2VmaWxlLmFtIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQoraW5kZXggODlmN2VlNC4uMzFlMTFhYiAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmFtCisrKysgYi9NYWtlZmlsZS5hbQorQEAgLTEsNCArMSw0IEBACistU1VCRElSUyA9IHNyYyBwbyBoZWxwCisrU1VCRElSUyA9IHNyYyBwbworIAorIE5VTEwgPQorIAorLS0gCisxLjcuNi41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2dub21lLXRlcm1pbmFsXzIuMzAuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2dub21lLXRlcm1pbmFsXzIuMzAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYWMyYjIwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUvZ25vbWUtdGVybWluYWxfMi4zMC4yLmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiR05PTUUgVGVybWluYWwiCitMSUNFTlNFID0gIkdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01YjUxZWJhNGJhNGNhZmU2NDA3MzIyNzUzMGMwNjFlZCIKK0RFUEVORFMgPSAiZ3RrKyBnbGliLTIuMCBzdGFydHVwLW5vdGlmaWNhdGlvbiBkYnVzLWdsaWIgdnRlIGdub21lLWRvYy11dGlscyBpbnRsdG9vbC1uYXRpdmUiCitQUiA9ICJyMSIKKworaW5oZXJpdCBnbm9tZQorCitTUkNfVVJJICs9ICIgXAorICAgIGZpbGU6Ly8wMDAxLU1ha2VmaWxlLmFtLWRvLW5vdC1idWlsZC1oZWxwLnBhdGNoIFwKKyIKKworRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtc2Nyb2xsa2VlcGVyIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI3NGM0NTI4ZjAwMDY3MDcyYzJiZDg2N2QxZjhmZTg0NCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjJjN2FmMjI1MDY5OGI5ZjlmNTNjNmVhYTkzMjExYzExMThjZjJjN2UyOWNiYmFjZmQxZThhNmExMDA2OWUwN2EiCitHTk9NRV9DT01QUkVTU19UWVBFPSJiejIiCisKK1JSRUNPTU1FTkRTXyR7UE59ICs9ICJnbm9tZS1jb21tb24tc2NoZW1hcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2xpYmdub21lY3Vwcy9saWJnbm9tZWN1cHMtMC4yLjMtY3Vwcy0xLjYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS9saWJnbm9tZWN1cHMvbGliZ25vbWVjdXBzLTAuMi4zLWN1cHMtMS42LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiYTYwY2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS9saWJnbm9tZWN1cHMvbGliZ25vbWVjdXBzLTAuMi4zLWN1cHMtMS42LnBhdGNoCkBAIC0wLDAgKzEsMjg4IEBACitJbXBvcnRlZCBmcm9tIGdlbnRvbzoKK2h0dHA6Ly9zb3VyY2VzLmdlbnRvby5vcmcvY2dpLWJpbi92aWV3dmMuY2dpL2dlbnRvby14ODYvbmV0LXByaW50L2xpYmdub21lY3Vwcy9maWxlcy9saWJnbm9tZWN1cHMtMC4yLjMtY3Vwcy0xLjYucGF0Y2gKKworRnJvbSBhZTc4M2VmZGU0ZmE2OTU3ODY1MTk5NDUwNTQ2MmYwMmI4NjM5MjIwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZHJlIFJvc3RvdnRzZXYgPHRldHJvbWlub0BnZW50b28ub3JnPgorRGF0ZTogVHVlLCA3IEF1ZyAyMDEyIDA2OjUzOjA5IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIFVzZSBDVVBTLTEuNiBJUFAgQVBJIGdldHRlci9zZXR0ZXIgZnVuY3Rpb25zCisKK0NVUFMgMS42IG1ha2VzIHZhcmlvdXMgc3RydWN0dXJlcyBwcml2YXRlIGFuZCBpbnRyb2R1Y2VzIHRoZXNlIGlwcEdldAorYW5kIGlwcFNldCBmdW5jdGlvbnMgZm9yIGFsbCBvZiB0aGUgZmllbGRzIGluIHRoZXNlIHN0cnVjdHVyZXMuCitodHRwOi8vd3d3LmN1cHMub3JnL3N0ci5waHA/TDM5MjgKKworV2UgZGVmaW5lIG91ciBvd24gYWNjZXNzb3JzIHdoZW4gYnVpbGRpbmcgYWdhaW5zdCBDVVBTIDwgMS42LgorCitCYXNlZCBvbiB3b3JrIGJ5IEppcmkgUG9wZWxrYSA8anBvcGVsa2FAcmVkaGF0LmNvbT4gYXQKK2h0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk3NTkKKy0tLQorIGxpYmdub21lY3Vwcy9nbm9tZS1jdXBzLXByaW50ZXIuYyB8ICAgNDggKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCisgbGliZ25vbWVjdXBzL2dub21lLWN1cHMtcXVldWUuYyAgIHwgICA0MyArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KKyBsaWJnbm9tZWN1cHMvZ25vbWUtY3Vwcy1yZXF1ZXN0LmMgfCAgIDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQorIDMgZmlsZXMgY2hhbmdlZCwgMTEwIGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliZ25vbWVjdXBzL2dub21lLWN1cHMtcHJpbnRlci5jIGIvbGliZ25vbWVjdXBzL2dub21lLWN1cHMtcHJpbnRlci5jCitpbmRleCBjOTI0YWYwLi5mNWUxZWY3IDEwMDY0NAorLS0tIGEvbGliZ25vbWVjdXBzL2dub21lLWN1cHMtcHJpbnRlci5jCisrKysgYi9saWJnbm9tZWN1cHMvZ25vbWUtY3Vwcy1wcmludGVyLmMKK0BAIC0zNyw2ICszNywzNCBAQAorIAorICNkZWZpbmUgVVBEQVRFX1RJTUVPVVQgNTAwMAorIAorKyNpZiAoQ1VQU19WRVJTSU9OX01BSk9SID4gMSkgfHwgKENVUFNfVkVSU0lPTl9NSU5PUiA+IDUpCisrI2RlZmluZSBIQVZFX0NVUFNfMV82IDEKKysjZW5kaWYKKysKKysjaWZuZGVmIEhBVkVfQ1VQU18xXzYKKysjZGVmaW5lIGlwcEdldENvdW50KGF0dHIpICAgICBhdHRyLT5udW1fdmFsdWVzCisrI2RlZmluZSBpcHBHZXROYW1lKGF0dHIpICAgICAgYXR0ci0+bmFtZQorKyNkZWZpbmUgaXBwR2V0SW50ZWdlcihhdHRyLCBlbGVtZW50KSBhdHRyLT52YWx1ZXNbZWxlbWVudF0uaW50ZWdlcgorKyNkZWZpbmUgaXBwR2V0U3RyaW5nKGF0dHIsIGVsZW1lbnQsIGxhbmd1YWdlKSBhdHRyLT52YWx1ZXNbZWxlbWVudF0uc3RyaW5nLnRleHQKKysKKytzdGF0aWMgaXBwX2F0dHJpYnV0ZV90ICoKKytpcHBGaXJzdEF0dHJpYnV0ZShpcHBfdCAqaXBwKQorK3sKKysgIGlmICghaXBwKQorKyAgICByZXR1cm4gKE5VTEwpOworKyAgcmV0dXJuIChpcHAtPmN1cnJlbnQgPSBpcHAtPmF0dHJzKTsKKyt9CisrCisrc3RhdGljIGlwcF9hdHRyaWJ1dGVfdCAqCisraXBwTmV4dEF0dHJpYnV0ZShpcHBfdCAqaXBwKQorK3sKKysgIGlmICghaXBwIHx8ICFpcHAtPmN1cnJlbnQpCisrICAgIHJldHVybiAoTlVMTCk7CisrICByZXR1cm4gKGlwcC0+Y3VycmVudCA9IGlwcC0+Y3VycmVudC0+bmV4dCk7CisrfQorKyNlbmRpZgorKworKworIHN0cnVjdCBfR25vbWVDdXBzUFBERmlsZSB7CisgCWNoYXIgbmFtZVsxXTsKKyB9OworQEAgLTE3Myw5ICsyMDEsOSBAQCBtYXBfcmVhc29ucyAoR25vbWVDdXBzUHJpbnRlciAqcHJpbnRlciwKKyAJcHJpbnRlci0+ZGV0YWlscy0+c3RhdGVfcmVhc29ucyA9IE5VTEw7CisgCisgCS8qIGNmLiBSRkMyOTExIDQuNC4xMiAqLworLQlmb3IgKGkgPSAwOyBpIDwgYXR0ci0+bnVtX3ZhbHVlczsgaSsrKSB7CisrCWZvciAoaSA9IDA7IGkgPCBpcHBHZXRDb3VudCAoYXR0cik7IGkrKykgeworIAkJY29uc3QgY2hhciAqcDsKKy0JCWNvbnN0IGNoYXIgKmtleXdvcmQgPSBhdHRyLT52YWx1ZXMgW2ldLnN0cmluZy50ZXh0OworKwkJY29uc3QgY2hhciAqa2V5d29yZCA9IGlwcEdldFN0cmluZyAoYXR0ciwgaSwgTlVMTCk7CisgCisgCQlyZWFzb24gPSBnX25ldyAoR25vbWVDdXBzUHJpbnRlclJlYXNvbiwgMSk7CisgCitAQCAtMjI0LDggKzI1Miw4IEBAIGdub21lX2N1cHNfcHJpbnRlcl9nZXRfaW5mbyAoR25vbWVDdXBzUHJpbnRlciAqcHJpbnRlcikKKyAJcmV0dXJuIHByaW50ZXItPmRldGFpbHMtPmluZm87CisgfQorIAorLSNkZWZpbmUgTUFQX0lOVCh2LGEpIHtpZiAoIWdfYXNjaWlfc3RyY2FzZWNtcCAoYXR0ci0+bmFtZSwgKGEpKSkgeyBpZiAoKHYpICE9IGF0dHItPnZhbHVlc1swXS5pbnRlZ2VyKSB7IGNoYW5nZWQgPSBUUlVFOyB9ICh2KSA9IGF0dHItPnZhbHVlc1swXS5pbnRlZ2VyOyB9fQorLSNkZWZpbmUgTUFQX1NUUklORyh2LGEpIHtpZiAoIWdfYXNjaWlfc3RyY2FzZWNtcCAoYXR0ci0+bmFtZSwgKGEpKSkgeyBpZiAoIXYgfHwgc3RyY21wICh2LCBhdHRyLT52YWx1ZXNbMF0uc3RyaW5nLnRleHQpKSB7IGdfZnJlZSAodik7IGNoYW5nZWQgPSBUUlVFOyAodikgPSBnX3N0cmR1cCAoYXR0ci0+dmFsdWVzWzBdLnN0cmluZy50ZXh0KTsgfX19CisrI2RlZmluZSBNQVBfSU5UKHYsYSkge2lmICghZ19hc2NpaV9zdHJjYXNlY21wIChpcHBHZXROYW1lIChhdHRyKSwgKGEpKSkgeyBpZiAoKHYpICE9IGlwcEdldEludGVnZXIgKGF0dHIsIDApKSB7IGNoYW5nZWQgPSBUUlVFOyB9ICh2KSA9IGlwcEdldEludGVnZXIgKGF0dHIsIDApOyB9fQorKyNkZWZpbmUgTUFQX1NUUklORyh2LGEpIHtpZiAoIWdfYXNjaWlfc3RyY2FzZWNtcCAoaXBwR2V0TmFtZSAoYXR0ciksIChhKSkpIHsgaWYgKCF2IHx8IHN0cmNtcCAodiwgaXBwR2V0U3RyaW5nIChhdHRyLCAwLCBOVUxMKSkpIHsgZ19mcmVlICh2KTsgY2hhbmdlZCA9IFRSVUU7ICh2KSA9IGdfc3RyZHVwIChpcHBHZXRTdHJpbmcgKGF0dHIsIDAsIE5VTEwpKTsgfX19CisgCisgc3RhdGljIHZvaWQKKyBhdHRyaWJ1dGVzX3VwZGF0ZV9jYiAoZ3VpbnQgaWQsCitAQCAtMjQzLDE0ICsyNzEsMTQgQEAgYXR0cmlidXRlc191cGRhdGVfY2IgKGd1aW50IGlkLAorIAljaGFuZ2VkID0gRkFMU0U7CisgCisgCWlmICghZXJyb3IgJiYgcmVzcG9uc2UpIHsKKy0JCWZvciAoYXR0ciA9IHJlc3BvbnNlLT5hdHRyczsgYXR0ciAhPSBOVUxMOyBhdHRyID0gYXR0ci0+bmV4dCkgeworLQkJCWlmICghYXR0ci0+bmFtZSkgeworKwkJZm9yIChhdHRyID0gaXBwRmlyc3RBdHRyaWJ1dGUgKHJlc3BvbnNlKTsgYXR0ciAhPSBOVUxMOyBhdHRyID0gaXBwTmV4dEF0dHJpYnV0ZSAocmVzcG9uc2UpKSB7CisrCQkJaWYgKCFpcHBHZXROYW1lIChhdHRyKSkgeworIAkJCQljb250aW51ZTsKKyAJCQl9IAorLQkJCWlmICghZ19hc2NpaV9zdHJjYXNlY21wIChhdHRyLT5uYW1lLCAiYXR0cmlidXRlcy1jaGFyc2V0IikgfHwgIXN0cmNtcCAoYXR0ci0+bmFtZSwgImF0dHJpYnV0ZXMtY2hhcnNldCIpKSB7CisrCQkJaWYgKCFnX2FzY2lpX3N0cmNhc2VjbXAgKGlwcEdldE5hbWUgKGF0dHIpLCAiYXR0cmlidXRlcy1jaGFyc2V0IikgfHwgIXN0cmNtcCAoaXBwR2V0TmFtZSAoYXR0ciksICJhdHRyaWJ1dGVzLWNoYXJzZXQiKSkgeworIAkJCQljb250aW51ZTsKKyAJCQl9CistCQkJaWYgKCFnX2FzY2lpX3N0cmNhc2VjbXAgKGF0dHItPm5hbWUsICJwcmludGVyLXN0YXRlLXJlYXNvbnMiKSkgeworKwkJCWlmICghZ19hc2NpaV9zdHJjYXNlY21wIChpcHBHZXROYW1lIChhdHRyKSwgInByaW50ZXItc3RhdGUtcmVhc29ucyIpKSB7CisgCQkJCW1hcF9yZWFzb25zIChwcmludGVyLCBhdHRyKTsKKyAJCQl9CisgCQkJTUFQX0lOVCAocHJpbnRlci0+ZGV0YWlscy0+c3RhdGUsICJwcmludGVyLXN0YXRlIik7CitAQCAtNTcwLDcgKzU5OCw3IEBAIGdldF9kZWZhdWx0ICh2b2lkKQorIAkKKyAJYXR0ciA9IGlwcEZpbmRBdHRyaWJ1dGUgKHJlc3BvbnNlLCAicHJpbnRlci1uYW1lIiwgSVBQX1RBR19OQU1FKTsKKyAJaWYgKGF0dHIpIHsKKy0JCW5hbWUgPSBnX3N0cmR1cCAoYXR0ci0+dmFsdWVzWzBdLnN0cmluZy50ZXh0KTsKKysJCW5hbWUgPSBnX3N0cmR1cCAoaXBwR2V0U3RyaW5nIChhdHRyLCAwLCBOVUxMKSk7CisgCX0gZWxzZSB7CisgCQluYW1lID0gTlVMTDsKKyAJfQorQEAgLTY5OCw3ICs3MjYsNyBAQCBnZXRfcHJpbnRlcl9uYW1lcyAodm9pZCkKKyAJYXR0ciA9IGlwcEZpbmRBdHRyaWJ1dGUgKHJlc3BvbnNlLCAicHJpbnRlci1uYW1lIiwgSVBQX1RBR19OQU1FKTsKKyAJd2hpbGUgKGF0dHIpIHsKKyAJCXJldCA9IGdfbGlzdF9wcmVwZW5kIChyZXQsIAorLQkJCQkgICAgICBnX3N0cmR1cCAoYXR0ci0+dmFsdWVzWzBdLnN0cmluZy50ZXh0KSk7CisrCQkJCSAgICAgIGdfc3RyZHVwIChpcHBHZXRTdHJpbmcgKGF0dHIsIDAsIE5VTEwpKSk7CisgCQkKKyAJCWF0dHIgPSBpcHBGaW5kTmV4dEF0dHJpYnV0ZSAocmVzcG9uc2UsIAorIAkJCQkJICAgICAicHJpbnRlci1uYW1lIiwgCitkaWZmIC0tZ2l0IGEvbGliZ25vbWVjdXBzL2dub21lLWN1cHMtcXVldWUuYyBiL2xpYmdub21lY3Vwcy9nbm9tZS1jdXBzLXF1ZXVlLmMKK2luZGV4IDlmOThlZDkuLjI5OGRiNDIgMTAwNjQ0CistLS0gYS9saWJnbm9tZWN1cHMvZ25vbWUtY3Vwcy1xdWV1ZS5jCisrKysgYi9saWJnbm9tZWN1cHMvZ25vbWUtY3Vwcy1xdWV1ZS5jCitAQCAtMTUsNiArMTUsMzMgQEAKKyAKKyAjZGVmaW5lIFVQREFURV9USU1FT1VUIDMwMDAKKyAKKysjaWYgKENVUFNfVkVSU0lPTl9NQUpPUiA+IDEpIHx8IChDVVBTX1ZFUlNJT05fTUlOT1IgPiA1KQorKyNkZWZpbmUgSEFWRV9DVVBTXzFfNiAxCisrI2VuZGlmCisrCisrI2lmbmRlZiBIQVZFX0NVUFNfMV82CisrI2RlZmluZSBpcHBHZXROYW1lKGF0dHIpICAgICAgYXR0ci0+bmFtZQorKyNkZWZpbmUgaXBwR2V0SW50ZWdlcihhdHRyLCBlbGVtZW50KSBhdHRyLT52YWx1ZXNbZWxlbWVudF0uaW50ZWdlcgorKyNkZWZpbmUgaXBwR2V0U3RyaW5nKGF0dHIsIGVsZW1lbnQsIGxhbmd1YWdlKSBhdHRyLT52YWx1ZXNbZWxlbWVudF0uc3RyaW5nLnRleHQKKysKKytzdGF0aWMgaXBwX2F0dHJpYnV0ZV90ICoKKytpcHBGaXJzdEF0dHJpYnV0ZShpcHBfdCAqaXBwKQorK3sKKysgIGlmICghaXBwKQorKyAgICByZXR1cm4gKE5VTEwpOworKyAgcmV0dXJuIChpcHAtPmN1cnJlbnQgPSBpcHAtPmF0dHJzKTsKKyt9CisrCisrc3RhdGljIGlwcF9hdHRyaWJ1dGVfdCAqCisraXBwTmV4dEF0dHJpYnV0ZShpcHBfdCAqaXBwKQorK3sKKysgIGlmICghaXBwIHx8ICFpcHAtPmN1cnJlbnQpCisrICAgIHJldHVybiAoTlVMTCk7CisrICByZXR1cm4gKGlwcC0+Y3VycmVudCA9IGlwcC0+Y3VycmVudC0+bmV4dCk7CisrfQorKyNlbmRpZgorKworKworIHN0cnVjdCBfR25vbWVDdXBzUXVldWVEZXRhaWxzIHsKKyAJY2hhciAqcXVldWVfbmFtZTsKKyAJR0xpc3QgKmpvYnM7CitAQCAtMTk5LDggKzIyNiw4IEBAIGZpbmlzaF9qb2IgKEdub21lQ3Vwc0pvYiAqam9iKQorIAlqb2ItPnNpemUgPSBqb2ItPnNpemUgKiAxMDI0OworIH0KKyAKKy0jZGVmaW5lIE1BUF9TVFIoZGVzdCwgc3JjKSB7IGlmICghZ19hc2NpaV9zdHJjYXNlY21wIChhdHRyLT5uYW1lLCAoc3JjKSkpIHsgaWYgKChkZXN0KSAhPSBOVUxMKSBnX2ZyZWUgKGRlc3QpOyAoZGVzdCkgPSBnX3N0cmR1cCAoYXR0ci0+dmFsdWVzWzBdLnN0cmluZy50ZXh0KTt9fQorLSNkZWZpbmUgTUFQX0lOVChkZXN0LCBzcmMpIHsgaWYgKCFnX2FzY2lpX3N0cmNhc2VjbXAgKGF0dHItPm5hbWUsIChzcmMpKSkgeyAoZGVzdCkgPSBhdHRyLT52YWx1ZXNbMF0uaW50ZWdlcjsgfSB9CisrI2RlZmluZSBNQVBfU1RSKGRlc3QsIHNyYykgeyBpZiAoIWdfYXNjaWlfc3RyY2FzZWNtcCAoaXBwR2V0TmFtZSAoYXR0ciksIChzcmMpKSkgeyBpZiAoKGRlc3QpICE9IE5VTEwpIGdfZnJlZSAoZGVzdCk7IChkZXN0KSA9IGdfc3RyZHVwIChpcHBHZXRTdHJpbmcgKGF0dHIsIDAsIE5VTEwpKTt9fQorKyNkZWZpbmUgTUFQX0lOVChkZXN0LCBzcmMpIHsgaWYgKCFnX2FzY2lpX3N0cmNhc2VjbXAgKGlwcEdldE5hbWUgKGF0dHIpLCAoc3JjKSkpIHsgKGRlc3QpID0gaXBwR2V0SW50ZWdlciAoYXR0ciwgMCk7IH0gfQorIAorIHN0YXRpYyB2b2lkCisgZ2V0X2pvYnNfY2IgKGd1aW50IGlkLAorQEAgLTIzMSw4ICsyNTgsOCBAQCBnZXRfam9ic19jYiAoZ3VpbnQgaWQsCisgCQorIAlpZiAocmVzcG9uc2UpIHsKKyAJCWpvYiA9IGdfbmV3MCAoR25vbWVDdXBzSm9iLCAxKTsKKy0JCWZvciAoYXR0ciA9IHJlc3BvbnNlLT5hdHRyczsgYXR0ciAhPSBOVUxMOyBhdHRyID0gYXR0ci0+bmV4dCkgeworLQkJCWlmIChhdHRyLT5uYW1lID09IE5VTEwpIHsKKysJCWZvciAoYXR0ciA9IGlwcEZpcnN0QXR0cmlidXRlIChyZXNwb25zZSk7IGF0dHIgIT0gTlVMTDsgYXR0ciA9IGlwcE5leHRBdHRyaWJ1dGUgKHJlc3BvbnNlKSkgeworKwkJCWlmIChpcHBHZXROYW1lIChhdHRyKSA9PSBOVUxMKSB7CisgCQkJCWlmIChqb2ItPm5hbWUpIHsKKyAJCQkJCWZpbmlzaF9qb2IgKGpvYik7CisgCQkJCQlqb2JzID0gZ19saXN0X3ByZXBlbmQgKGpvYnMsIGpvYik7CQorQEAgLTI0NCw3ICsyNzEsNyBAQCBnZXRfam9ic19jYiAoZ3VpbnQgaWQsCisgCQkJCWNvbnRpbnVlOworIAkJCX0KKyAJCQkKKy0JCQlpZiAoIWdfYXNjaWlfc3RyY2FzZWNtcCAoYXR0ci0+bmFtZSwgImF0dHJpYnV0ZXMtY2hhcnNldCIpIHx8ICFnX2FzY2lpX3N0cmNhc2VjbXAgKGF0dHItPm5hbWUsICJhdHRyaWJ1dGVzLWNoYXJzZXQiKSkgeworKwkJCWlmICghZ19hc2NpaV9zdHJjYXNlY21wIChpcHBHZXROYW1lIChhdHRyKSwgImF0dHJpYnV0ZXMtY2hhcnNldCIpIHx8ICFnX2FzY2lpX3N0cmNhc2VjbXAgKGlwcEdldE5hbWUgKGF0dHIpLCAiYXR0cmlidXRlcy1jaGFyc2V0IikpIHsKKyAJCQkJY29udGludWU7CisgCQkJCQorIAkJCX0KK0BAIC0zNTUsOCArMzgyLDggQEAgZ25vbWVfY3Vwc19xdWV1ZV9nZXRfam9iX25vY2FjaGUgKEdub21lQ3Vwc1F1ZXVlICpxdWV1ZSwKKyAKKyAJaWYgKHJlc3BvbnNlKSB7CisgCQlqb2IgPSBnX25ldzAgKEdub21lQ3Vwc0pvYiwgMSk7CistCQlmb3IgKGF0dHIgPSByZXNwb25zZS0+YXR0cnM7IGF0dHIgIT0gTlVMTDsgYXR0ciA9IGF0dHItPm5leHQpIHsKKy0JCQlpZiAoYXR0ci0+bmFtZSA9PSBOVUxMKSB7CisrCQlmb3IgKGF0dHIgPSBpcHBGaXJzdEF0dHJpYnV0ZSAocmVzcG9uc2UpOyBhdHRyICE9IE5VTEw7IGF0dHIgPSBpcHBOZXh0QXR0cmlidXRlIChyZXNwb25zZSkpIHsKKysJCQlpZiAoaXBwR2V0TmFtZSAoYXR0cikgPT0gTlVMTCkgeworIAkJCQlpZiAoam9iLT5uYW1lKSB7CisgCQkJCQlmaW5pc2hfam9iIChqb2IpOworIAkJCQl9IGVsc2UgeworQEAgLTM2Niw3ICszOTMsNyBAQCBnbm9tZV9jdXBzX3F1ZXVlX2dldF9qb2Jfbm9jYWNoZSAoR25vbWVDdXBzUXVldWUgKnF1ZXVlLAorIAkJCQlicmVhazsKKyAJCQl9CisgCQkJCistCQkJaWYgKCFnX2FzY2lpX3N0cmNhc2VjbXAgKGF0dHItPm5hbWUsICJhdHRyaWJ1dGVzLWNoYXJzZXQiKSB8fCAhZ19hc2NpaV9zdHJjYXNlY21wIChhdHRyLT5uYW1lLCAiYXR0cmlidXRlcy1jaGFyc2V0IikpIHsKKysJCQlpZiAoIWdfYXNjaWlfc3RyY2FzZWNtcCAoaXBwR2V0TmFtZSAoYXR0ciksICJhdHRyaWJ1dGVzLWNoYXJzZXQiKSB8fCAhZ19hc2NpaV9zdHJjYXNlY21wIChpcHBHZXROYW1lIChhdHRyKSwgImF0dHJpYnV0ZXMtY2hhcnNldCIpKSB7CisgCQkJCWNvbnRpbnVlOworIAkJCX0KKyAJCQkKK2RpZmYgLS1naXQgYS9saWJnbm9tZWN1cHMvZ25vbWUtY3Vwcy1yZXF1ZXN0LmMgYi9saWJnbm9tZWN1cHMvZ25vbWUtY3Vwcy1yZXF1ZXN0LmMKK2luZGV4IGM5NGY2MjMuLjEzZjA5NDggMTAwNjQ0CistLS0gYS9saWJnbm9tZWN1cHMvZ25vbWUtY3Vwcy1yZXF1ZXN0LmMKKysrKyBiL2xpYmdub21lY3Vwcy9nbm9tZS1jdXBzLXJlcXVlc3QuYworQEAgLTE5LDYgKzE5LDM2IEBACisgI2RlZmluZSBTVE9QX1VOVVNFRF9USFJFQURTX1RJTUVPVVQgNjAKKyAjZGVmaW5lIENMT1NFX1VOVVNFRF9DT05ORUNUSU9OU19USU1FT1VUIDMwCisgCisrI2lmIChDVVBTX1ZFUlNJT05fTUFKT1IgPiAxKSB8fCAoQ1VQU19WRVJTSU9OX01JTk9SID4gNSkKKysjZGVmaW5lIEhBVkVfQ1VQU18xXzYgMQorKyNlbmRpZgorKworKyNpZm5kZWYgSEFWRV9DVVBTXzFfNgorKyNkZWZpbmUgaXBwR2V0Q291bnQoYXR0cikgICAgIGF0dHItPm51bV92YWx1ZXMKKysjZGVmaW5lIGlwcEdldFZhbHVlVGFnKGF0dHIpICBhdHRyLT52YWx1ZV90YWcKKysjZGVmaW5lIGlwcEdldE5hbWUoYXR0cikgICAgICBhdHRyLT5uYW1lCisrI2RlZmluZSBpcHBHZXRCb29sZWFuKGF0dHIsIGVsZW1lbnQpIGF0dHItPnZhbHVlc1tlbGVtZW50XS5ib29sZWFuCisrI2RlZmluZSBpcHBHZXRJbnRlZ2VyKGF0dHIsIGVsZW1lbnQpIGF0dHItPnZhbHVlc1tlbGVtZW50XS5pbnRlZ2VyCisrI2RlZmluZSBpcHBHZXRTdHJpbmcoYXR0ciwgZWxlbWVudCwgbGFuZ3VhZ2UpIGF0dHItPnZhbHVlc1tlbGVtZW50XS5zdHJpbmcudGV4dAorKworK3N0YXRpYyBpcHBfYXR0cmlidXRlX3QgKgorK2lwcEZpcnN0QXR0cmlidXRlKGlwcF90ICppcHApCisreworKyAgaWYgKCFpcHApCisrICAgIHJldHVybiAoTlVMTCk7CisrICByZXR1cm4gKGlwcC0+Y3VycmVudCA9IGlwcC0+YXR0cnMpOworK30KKysKKytzdGF0aWMgaXBwX2F0dHJpYnV0ZV90ICoKKytpcHBOZXh0QXR0cmlidXRlKGlwcF90ICppcHApCisreworKyAgaWYgKCFpcHAgfHwgIWlwcC0+Y3VycmVudCkKKysgICAgcmV0dXJuIChOVUxMKTsKKysgIHJldHVybiAoaXBwLT5jdXJyZW50ID0gaXBwLT5jdXJyZW50LT5uZXh0KTsKKyt9CisrI2VuZGlmCisrCisrCisgdHlwZWRlZiBzdHJ1Y3QKKyB7CisgCUdNdXRleCAqbXV0ZXg7CitAQCAtMjc2LDE0ICszMDYsMTQgQEAgZHVtcF9yZXF1ZXN0IChpcHBfdCBjb25zdCAqcmVxKQorIAl1bnNpZ25lZCBpOworIAlpcHBfYXR0cmlidXRlX3QgKmF0dHI7CisgCistCWZvciAoYXR0ciA9IHJlcS0+YXR0cnM7IGF0dHIgIT0gTlVMTDsgYXR0ciA9IGF0dHItPm5leHQpIHsKKy0JCWdfcHJpbnQgKCIlcyIsIGF0dHItPm5hbWUpOworLQkJZm9yIChpID0gMCA7IGkgPCBhdHRyLT5udW1fdmFsdWVzIDsgaSsrKSB7CisrCWZvciAoYXR0ciA9IGlwcEZpcnN0QXR0cmlidXRlIChyZXEpOyBhdHRyICE9IE5VTEw7IGF0dHIgPSBpcHBOZXh0QXR0cmlidXRlIChyZXEpKSB7CisrCQlnX3ByaW50ICgiJXMiLCBpcHBHZXROYW1lIChhdHRyKSk7CisrCQlmb3IgKGkgPSAwIDsgaSA8IGlwcEdldENvdW50IChhdHRyKSA7IGkrKykgeworIAkJCWdfcHJpbnQgKCJcdFslZF0gPSAiLCBpKTsKKy0JCQlzd2l0Y2ggKGF0dHItPnZhbHVlX3RhZyAmIH5JUFBfVEFHX0NPUFkpIHsKKysJCQlzd2l0Y2ggKGlwcEdldFZhbHVlVGFnIChhdHRyKSAmIH5JUFBfVEFHX0NPUFkpIHsKKyAJCQljYXNlIElQUF9UQUdfSU5URUdFUjoKKyAJCQljYXNlIElQUF9UQUdfRU5VTToKKy0JCQkJZ19wcmludCAoIiVkXG4iLCBhdHRyLT52YWx1ZXNbaV0uaW50ZWdlcik7CisrCQkJCWdfcHJpbnQgKCIlZFxuIiwgaXBwR2V0SW50ZWdlciAoYXR0ciwgaSkpOworIAkJCQlicmVhazsKKyAKKyAJCQljYXNlIElQUF9UQUdfU1RSSU5HOgorQEAgLTI5NCwxMSArMzI0LDExIEBAIGR1bXBfcmVxdWVzdCAoaXBwX3QgY29uc3QgKnJlcSkKKyAJCQljYXNlIElQUF9UQUdfQ0hBUlNFVDoKKyAJCQljYXNlIElQUF9UQUdfTEFOR1VBR0U6CisgCQkJY2FzZSBJUFBfVEFHX01JTUVUWVBFOgorLQkJCQlnX3ByaW50ICgiJyVzJ1xuIiwgYXR0ci0+dmFsdWVzW2ldLnN0cmluZy50ZXh0KTsKKysJCQkJZ19wcmludCAoIiclcydcbiIsIGlwcEdldFN0cmluZyAoYXR0ciwgaSwgTlVMTCkpOworIAkJCQlicmVhazsKKyAKKyAJCQljYXNlIElQUF9UQUdfQk9PTEVBTjoKKy0JCQkJZ19wcmludCAoIiVzXG4iLCAoaW50KWF0dHItPnZhbHVlc1tpXS5ib29sZWFuID8gInRydWUiIDogImZhbHNlIik7CisrCQkJCWdfcHJpbnQgKCIlc1xuIiwgKGludClpcHBHZXRCb29sZWFuIChhdHRyLCBpKSA/ICJ0cnVlIiA6ICJmYWxzZSIpOworIAkJCQlicmVhazsKKyAKKyAJCQlkZWZhdWx0OgorLS0gCisxLjcuOC42CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2xpYmdub21lY3Vwcy9saWJnbm9tZWN1cHMtMC4yLjMtZ2xpYi5oLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUvbGliZ25vbWVjdXBzL2xpYmdub21lY3Vwcy0wLjIuMy1nbGliLmgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzdiNjE2NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2xpYmdub21lY3Vwcy9saWJnbm9tZWN1cHMtMC4yLjMtZ2xpYi5oLnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAKK0ltcG9ydGVkIGZyb20gZ2VudG9vOgorCitodHRwOi8vc291cmNlcy5nZW50b28ub3JnL2NnaS1iaW4vdmlld3ZjLmNnaS9nZW50b28teDg2L25ldC1wcmludC9saWJnbm9tZWN1cHMvZmlsZXMvbGliZ25vbWVjdXBzLTAuMi4zLWdsaWIuaC5wYXRjaAorCitGcm9tIGQ4NGVlZTk0NTBiM2I2ZjYxNTUwNzQ5MTVlZmM2MWJlZGNjOGQ0NDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBEb21pbmlxdWUgTGV1ZW5iZXJnZXIgPGRpbXN0YXJAb3BlbnN1c2Uub3JnPgorRGF0ZTogU3VuLCAyNyBOb3YgMjAxMSAyMTozNjo0MSArMDEwMAorU3ViamVjdDogW1BBVENIXSBGaXg6IE9ubHkgZ2xpYi5oIGNhbiBiZSBpbmNsdWRlZAorCistLS0KKyBsaWJnbm9tZWN1cHMvZ25vbWUtY3Vwcy1pMThuLmMgfCAgICAyICstCisgbGliZ25vbWVjdXBzL2dub21lLWN1cHMtaW5pdC5oIHwgICAgMyArLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmdub21lY3Vwcy9nbm9tZS1jdXBzLWkxOG4uYyBiL2xpYmdub21lY3Vwcy9nbm9tZS1jdXBzLWkxOG4uYworaW5kZXggODk4N2M1Yy4uMTI3NzU2ZCAxMDA2NDQKKy0tLSBhL2xpYmdub21lY3Vwcy9nbm9tZS1jdXBzLWkxOG4uYworKysrIGIvbGliZ25vbWVjdXBzL2dub21lLWN1cHMtaTE4bi5jCitAQCAtMSw1ICsxLDUgQEAKKyAjaW5jbHVkZSA8Y29uZmlnLmg+CistI2luY2x1ZGUgPGdsaWIvZ21hY3Jvcy5oPgorKyNpbmNsdWRlIDxnbGliLmg+CisgI2luY2x1ZGUgImdub21lLWN1cHMtaTE4bi5oIgorIAorICNpZmRlZiBFTkFCTEVfTkxTCitkaWZmIC0tZ2l0IGEvbGliZ25vbWVjdXBzL2dub21lLWN1cHMtaW5pdC5oIGIvbGliZ25vbWVjdXBzL2dub21lLWN1cHMtaW5pdC5oCitpbmRleCAyMmI2ODJhLi5jNDYwMGZjIDEwMDY0NAorLS0tIGEvbGliZ25vbWVjdXBzL2dub21lLWN1cHMtaW5pdC5oCisrKysgYi9saWJnbm9tZWN1cHMvZ25vbWUtY3Vwcy1pbml0LmgKK0BAIC0xLDggKzEsNyBAQAorICNpZm5kZWYgR05PTUVfQ1VQU19JTklUCisgI2RlZmluZSBHTk9NRV9DVVBTX0lOSVQKKyAKKy0jaW5jbHVkZSA8Z2xpYi9ndHlwZXMuaD4KKy0jaW5jbHVkZSA8Z2xpYi9nbWFjcm9zLmg+CisrI2luY2x1ZGUgPGdsaWIuaD4KKyAKKyBHX0JFR0lOX0RFQ0xTCisgCistLSAKKzEuNy43CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2xpYmdub21lY3Vwc18wLjIuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2xpYmdub21lY3Vwc18wLjIuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YmI2ODE2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUvbGliZ25vbWVjdXBzXzAuMi4zLmJiCkBAIC0wLDAgKzEsMjMgQEAKK0RFU0NSSVBUSU9OPSJHbm9tZSBDdXBzIE1hbmFnZXIiCitMSUNFTlNFPSJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitERVBFTkRTPSJnbGliLTIuMCBndGsrIHBhbmdvIGN1cHMgaW50bHRvb2wgbGliZ25vbWV1aSIKKworUFIgPSAicjIiCisKK2luaGVyaXQgZ25vbWViYXNlIHBrZ2NvbmZpZworCitkb19jb21waWxlX2FwcGVuZCAoKSB7CisgICAgY3AgbGliZ25vbWVjdXBzLTEuMC5wYyBsaWJnbm9tZWN1cHMtMS4wLnBjLm9sZAorICAgIHNlZCAnczoke1NUQUdJTkdfRElSX0hPU1R9OjonIDwgbGliZ25vbWVjdXBzLTEuMC5wYy5vbGQgPiBsaWJnbm9tZWN1cHMtMS4wLnBjCit9CisKK1NSQ19VUkkgKz0gIlwKKyAgICBmaWxlOi8vbGliZ25vbWVjdXBzLTAuMi4zLWdsaWIuaC5wYXRjaCBcCisgICAgZmlsZTovL2xpYmdub21lY3Vwcy0wLjIuMy1jdXBzLTEuNi5wYXRjaCBcCisiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImRjNDkyMGMxNWM5Zjg4NmY3M2VhNzRmYmZmMGFlNDhiIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiZTEzMGU4MDk0MmIzODZkZTE5YTI4OGE0YzE5NGZmM2RiZTkxNDAzMTViMzFlOTgyMDU4YzhiZmZiYjZhMWQyOSIKK0dOT01FX0NPTVBSRVNTX1RZUEU9ImJ6MiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2xpYmdub21lcHJpbnQvMDAwMS1jb25maWd1cmUtdXNlLXBrZ2NvbmZpZy1mb3ItZnJlZXR5cGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS9saWJnbm9tZXByaW50LzAwMDEtY29uZmlndXJlLXVzZS1wa2djb25maWctZm9yLWZyZWV0eXBlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3NDk4NWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS9saWJnbm9tZXByaW50LzAwMDEtY29uZmlndXJlLXVzZS1wa2djb25maWctZm9yLWZyZWV0eXBlLnBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKK0Zyb20gZWQzMWZkODlmNGM3N2Q4OTM5MDc3NGQyOTQyNzg5OGE4NWIyNWFiMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitEYXRlOiBGcmksIDEgQXVnIDIwMTQgMTM6NTg6MzYgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlOiB1c2UgcGtnY29uZmlnIGZvciBmcmVldHlwZQorCitVcHN0cmVhbS1zdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CistLS0KKyBjb25maWd1cmUuaW4gfCAxMiArKysrKy0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCitpbmRleCA3MjkyNzhkLi5lNTY5NDI5IDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmluCisrKysgYi9jb25maWd1cmUuaW4KK0BAIC0xNjQsMTMgKzE2NCwxMSBAQCBkbmwgQ2hlY2tpbmcgZm9yIGZyZWV0eXBlMgorIGRubCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyBGUkVFVFlQRV9MSUJTPQorIEZSRUVUWVBFX0NGTEFHUz0KKy1BQ19QQVRIX1BST0coRlJFRVRZUEVfQ09ORklHLCBmcmVldHlwZS1jb25maWcsIG5vKQorLWlmIHRlc3QgIngkRlJFRVRZUEVfQ09ORklHIiA9ICJ4bm8iIDsgdGhlbgorLQlBQ19NU0dfRVJST1IoWW91IG5lZWQgRnJlZVR5cGUyIChmcmVldHlwZS1kZXZlbCB2IDIueCBwYWNrYWdlKSBmb3IgdGhpcyB2ZXJzaW9uIG9mIGxpYmdub21lcHJpbnQpCistZWxzZQorLQlGUkVFVFlQRV9DRkxBR1M9YCRGUkVFVFlQRV9DT05GSUcgLS1jZmxhZ3NgCistCUZSRUVUWVBFX0xJQlM9YCRGUkVFVFlQRV9DT05GSUcgLS1saWJzYAorLWZpCisrUEtHX0NIRUNLX01PRFVMRVMoRlJFRVRZUEUyLCBmcmVldHlwZTIsIAorKyAgICBGUkVFVFlQRV9DRkxBR1M9IiRDRkxBR1MgJEZSRUVUWVBFMl9DRkxBR1MiCisrICAgIEZSRUVUWVBFX0xJQlM9IiRMSUJTICRGUkVFVFlQRTJfTElCUyIsCisrICAgIEFDX01TR19FUlJPUihbKioqIFVuYWJsZSB0byBmaW5kIEZyZWVUeXBlMiBsaWJyYXJ5IChodHRwOi8vd3d3LmZyZWV0eXBlLm9yZy8pXSkKKyspCisgCisgbGliZ25vbWVwcmludF9zYXZlX2xkZmxhZ3M9JExERkxBR1MKKyBMREZMQUdTPSIkTERGTEFHUyAkRlJFRVRZUEVfTElCUyIKKy0tIAorMS45LjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUvbGliZ25vbWVwcmludC9iaXNvbjMtc3VwcG9ydC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2xpYmdub21lcHJpbnQvYmlzb24zLXN1cHBvcnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjlkNDEwYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2xpYmdub21lcHJpbnQvYmlzb24zLXN1cHBvcnQucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorSW5kZXg6IGxpYmdub21lcHJpbnQtMi4xOC44L2xpYmdub21lcHJpbnQvZ3JhbW1hci55Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGliZ25vbWVwcmludC0yLjE4Ljgub3JpZy9saWJnbm9tZXByaW50L2dyYW1tYXIueQorKysrIGxpYmdub21lcHJpbnQtMi4xOC44L2xpYmdub21lcHJpbnQvZ3JhbW1hci55CitAQCAtOTksNyArOTksNyBAQCBnbm9tZV9wcmludF9maWx0ZXJfcGFyc2VfcHJvcCAoR25vbWVQcmluCisgfQorIAorIHN0YXRpYyBpbnQgeXlsZXggKHZvaWQgKmx2YWxwKTsKKy1zdGF0aWMgaW50IHl5ZXJyb3IgKGNvbnN0IGNoYXIgKnMpOworK3N0YXRpYyBpbnQgeXllcnJvciAoZ3JhcGhfdCAqZywgY29uc3QgY2hhciAqcyk7CisgJX0KKyAKKyAldW5pb24geworQEAgLTExNyw2ICsxMTcsNyBAQCBzdGF0aWMgaW50IHl5ZXJyb3IgKGNvbnN0IGNoYXIgKnMpOworICV0eXBlIDxwPiBwb29sCisgCisgJXB1cmVfcGFyc2VyCisrJXBhcnNlLXBhcmFtIHsgZ3JhcGhfdCAqZ3JhcGggfQorIAorICVzdGFydCBncmFwaAorICUlCitAQCAtMTg1LDcgKzE4Niw3IEBAIGdyYXBoOiBmaWx0ZXIgeworICUlCisgCisgc3RhdGljIGludAorLXl5ZXJyb3IgKGNvbnN0IGNoYXIgKnMpCisreXllcnJvciAoZ3JhcGhfdCAqZywgY29uc3QgY2hhciAqcykKKyB7CisgCXJldHVybiAtMTsKKyB9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS9saWJnbm9tZXByaW50L2ZpeC5pbmNsdWRlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2xpYmdub21lcHJpbnQvZml4LmluY2x1ZGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzMjM1YTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS9saWJnbm9tZXByaW50L2ZpeC5pbmNsdWRlcy5wYXRjaApAQCAtMCwwICsxLDExIEBACitkaWZmIC11TnIgbGliZ25vbWVwcmludC0yLjE4Ljcub3JpZy9saWJnbm9tZXByaW50L21vZHVsZXMvY3Vwcy9nbm9tZS1wcmludC1jdXBzLXRyYW5zcG9ydC5jIGxpYmdub21lcHJpbnQtMi4xOC43L2xpYmdub21lcHJpbnQvbW9kdWxlcy9jdXBzL2dub21lLXByaW50LWN1cHMtdHJhbnNwb3J0LmMKKy0tLSBsaWJnbm9tZXByaW50LTIuMTguNy5vcmlnL2xpYmdub21lcHJpbnQvbW9kdWxlcy9jdXBzL2dub21lLXByaW50LWN1cHMtdHJhbnNwb3J0LmMJMjAwOS0wNC0xOSAxOTo0NTozNi4wMDAwMDAwMDAgKzAyMDAKKysrKyBsaWJnbm9tZXByaW50LTIuMTguNy9saWJnbm9tZXByaW50L21vZHVsZXMvY3Vwcy9nbm9tZS1wcmludC1jdXBzLXRyYW5zcG9ydC5jCTIwMTItMTItMjMgMTI6MzQ6NTIuMDU4NjQzNTM3ICswMTAwCitAQCAtMzUsNiArMzUsNyBAQAorICNpbmNsdWRlIDxzeXMvc3RhdC5oPgorICNpbmNsdWRlIDxmY250bC5oPgorICNpbmNsdWRlIDx1bmlzdGQuaD4KKysjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8bG9jYWxlLmg+CisgCisgI2luY2x1ZGUgPGN1cHMvY3Vwcy5oPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUvbGliZ25vbWVwcmludC9mcmVldHlwZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2xpYmdub21lcHJpbnQvZnJlZXR5cGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2EyN2VjZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2xpYmdub21lcHJpbnQvZnJlZXR5cGUucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorVXNlIHByb3BlciBtZXRob2QgdG8gaW5jbHVkZSBmcmVldHlwZSBoZWFkZXJzCisKK0ZyZWVUeXBlIHdhbnRzIHRvIHVzZSB0aGVzZSBzcGVjaWFsIG1hY3JvcyB0byBpbmNsdWRlIGl0cyBBUElzCitzbyBiZSBpdC4KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitJbmRleDogbGliZ25vbWVwcmludC0yLjE4LjcvbGliZ25vbWVwcmludC9nbm9tZS1mb250LWZhY2UuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGxpYmdub21lcHJpbnQtMi4xOC43Lm9yaWcvbGliZ25vbWVwcmludC9nbm9tZS1mb250LWZhY2UuYworKysrIGxpYmdub21lcHJpbnQtMi4xOC43L2xpYmdub21lcHJpbnQvZ25vbWUtZm9udC1mYWNlLmMKK0BAIC0zNiw3ICszNiw5IEBACisgI2luY2x1ZGUgPHN0ZGFyZy5oPgorICNpbmNsdWRlIDxsb2NhbGUuaD4KKyAKKy0jaW5jbHVkZSA8ZnJlZXR5cGUvZnRvdXRsbi5oPgorKyNpbmNsdWRlIDxmdDJidWlsZC5oPgorKyNpbmNsdWRlIEZUX0ZSRUVUWVBFX0gKKysKKyAKKyAjaW5jbHVkZSA8bGliZ25vbWVwcmludC9nbm9tZS1wcmludC1wcml2YXRlLmg+CisgI2luY2x1ZGUgPGxpYmdub21lcHJpbnQvZ25vbWUtZm9udC1wcml2YXRlLmg+CitJbmRleDogbGliZ25vbWVwcmludC0yLjE4LjcvbGliZ25vbWVwcmludC9nbm9tZS1yZm9udC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGliZ25vbWVwcmludC0yLjE4Ljcub3JpZy9saWJnbm9tZXByaW50L2dub21lLXJmb250LmMKKysrKyBsaWJnbm9tZXByaW50LTIuMTguNy9saWJnbm9tZXByaW50L2dub21lLXJmb250LmMKK0BAIC0yOCw4ICsyOCw4IEBACisgCisgI2luY2x1ZGUgPGZ0MmJ1aWxkLmg+CisgI2luY2x1ZGUgRlRfRlJFRVRZUEVfSAorLSNpbmNsdWRlIDxmcmVldHlwZS9mdGdseXBoLmg+CistI2luY2x1ZGUgPGZyZWV0eXBlL2Z0YmJveC5oPgorKyNpbmNsdWRlIEZUX0dMWVBIX0gKKysjaW5jbHVkZSBGVF9CQk9YX0gKKyAjaW5jbHVkZSA8bGliYXJ0X2xncGwvYXJ0X21pc2MuaD4KKyAjaW5jbHVkZSA8bGliYXJ0X2xncGwvYXJ0X2FmZmluZS5oPgorICNpbmNsdWRlIDxsaWJhcnRfbGdwbC9hcnRfdnBhdGguaD4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2xpYmdub21lcHJpbnRfMi4xOC44LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUvbGliZ25vbWVwcmludF8yLjE4LjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWQ0MTkxNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2xpYmdub21lcHJpbnRfMi4xOC44LmJiCkBAIC0wLDAgKzEsMjYgQEAKK0xJQ0VOU0UgPSAiR1BMdjIiCitTRUNUSU9OID0gIngxMS9nbm9tZS9saWJzIgorCitERVBFTkRTID0gImJpc29uLW5hdGl2ZSBmbGV4LW5hdGl2ZSBsaWJ4bWwyIGxpYmdub21lY3VwcyBnbGliLTIuMCBwYW5nbyBsaWJhcnQtbGdwbCBmb250Y29uZmlnIHBvcHQgZ25vbWUtY29tbW9uIGZyZWV0eXBlIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworaW5oZXJpdCBnbm9tZWJhc2UKKworU1JDX1VSSSArPSAiZmlsZTovL2ZpeC5pbmNsdWRlcy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vZnJlZXR5cGUucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLXVzZS1wa2djb25maWctZm9yLWZyZWV0eXBlLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9iaXNvbjMtc3VwcG9ydC5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjYzYjA1ZmZiNTM4NmUxMzE0ODdjNmFmMzBmNGM1NmFjIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiMTAzNGVjODY1MTA1MWY4NGQyNDI0ZTdhMWRhNjFjNTMwNDIyY2MyMGNlNWIyZDllMTA3ZTFlNDY3NzhkOTY5MSIKK0dOT01FX0NPTVBSRVNTX1RZUEU9ImJ6MiIKKworRklMRVNfJHtQTn0tZGJnICs9ICJcCisgICAgJHtsaWJkaXJ9LyR7UE59LyR7UFZ9L21vZHVsZXMvLmRlYnVnIFwKKyAgICAke2xpYmRpcn0vJHtQTn0vJHtQVn0vbW9kdWxlcy8qLy5kZWJ1ZyBcCisiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIlwKKyAgICAke2xpYmRpcn0vJHtQTn0vJHtQVn0vbW9kdWxlcy8qLmEgXAorICAgICR7bGliZGlyfS8ke1BOfS8ke1BWfS9tb2R1bGVzLyovKi5hIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dudW1lcmljL2dudW1lcmljLzAwMDEtY29uZmlndXJlLmluLWRyb3AtaW50cm9zcGVjdGlvbi1tYWNyb3MtcmVwbGFjZS10aGVtLS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dudW1lcmljL2dudW1lcmljLzAwMDEtY29uZmlndXJlLmluLWRyb3AtaW50cm9zcGVjdGlvbi1tYWNyb3MtcmVwbGFjZS10aGVtLS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTRkMmNjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ251bWVyaWMvZ251bWVyaWMvMDAwMS1jb25maWd1cmUuaW4tZHJvcC1pbnRyb3NwZWN0aW9uLW1hY3Jvcy1yZXBsYWNlLXRoZW0tLnBhdGNoCkBAIC0wLDAgKzEsODQgQEAKK0Zyb20gZGU1ZjBhNTM1ZDZlYTE5MzJkMmM3ZGU1M2JkMzM1MTBjODY4MmVlNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogTW9uLCAyMiBGZWIgMjAxNiAxNjozNDowMyArMDIwMAorU3ViamVjdDogW1BBVENIXSBjb25maWd1cmUuaW46IGRyb3AgaW50cm9zcGVjdGlvbiBtYWNyb3MsIHJlcGxhY2UgdGhlbSB3aXRoIGEKKyBzdGFuZGFyZCBvbmUKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5pbiB8IDU3ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgNTYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KK2luZGV4IDhlMWFhMzcuLjMwODY1MDMgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuaW4KKysrKyBiL2NvbmZpZ3VyZS5pbgorQEAgLTkzNCw2MyArOTM0LDggQEAgQUNfU1VCU1QoTU9OT19DRkxBR1MpCisgQUNfU1VCU1QoTU9OT19MSUJTKQorIF0pCisgCistIyBHT2JqZWN0IEludHJvc3BlY3Rpb24KKy1HSVJfUkVRPTEuMC4wCistQUNfQVJHX0VOQUJMRShpbnRyb3NwZWN0aW9uLAorLSAgICAgICAgICBBU19IRUxQX1NUUklORyhbLS1lbmFibGUtaW50cm9zcGVjdGlvbls9QDw6QG5vL2F1dG8veWVzQDo+QF1dLAorLSAgICAgICAgICAgICAgICAgICAgICAgICBbRW5hYmxlIGludHJvc3BlY3Rpb24gZm9yIHRoaXMgYnVpbGRdKSwsIAorLSAgICAgICAgICAgICAgICAgICAgICAgICBbZW5hYmxlX2ludHJvc3BlY3Rpb249bm9dKQorLQorLUFDX01TR19DSEVDS0lORyhbZm9yIGdvYmplY3QtaW50cm9zcGVjdGlvbl0pCistCistZG5sIHByZXNlbmNlL3ZlcnNpb24gY2hlY2tpbmcKKy1BU19DQVNFKFskZW5hYmxlX2ludHJvc3BlY3Rpb25dLAorLVtub10sIFsKKy0gICAgZm91bmRfaW50cm9zcGVjdGlvbj0ibm8gKGRpc2FibGVkLCB1c2UgLS1lbmFibGUtaW50cm9zcGVjdGlvbiB0byBlbmFibGUpIgorLV0sCistW3llc10sWworLSAgICBQS0dfQ0hFQ0tfRVhJU1RTKFtnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wXSwsCistICAgICAgICAgICAgICAgICAgICAgQUNfTVNHX0VSUk9SKFtnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wIGlzIG5vdCBpbnN0YWxsZWRdKSkKKy0gICAgUEtHX0NIRUNLX0VYSVNUUyhbZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMCA+PSAkR0lSX1JFUV0sCistICAgICAgICAgICAgICAgICAgICAgZm91bmRfaW50cm9zcGVjdGlvbj15ZXMsCistICAgICAgICAgICAgICAgICAgICAgQUNfTVNHX0VSUk9SKFtZb3UgbmVlZCB0byBoYXZlIGdvYmplY3QtaW50cm9zcGVjdGlvbiA+PSAkMSBpbnN0YWxsZWQgdG8gYnVpbGQgQUNfUEFDS0FHRV9OQU1FXSkpCistXSwKKy1bYXV0b10sWworLSAgICBQS0dfQ0hFQ0tfRVhJU1RTKFtnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wID49ICRHSVJfUkVRXSwgZm91bmRfaW50cm9zcGVjdGlvbj15ZXMsIGZvdW5kX2ludHJvc3BlY3Rpb249bm8pCistZG5sIENhbm9uaWNhbGl6ZSBlbmFibGVfaW50cm9zcGVjdGlvbgorLWVuYWJsZV9pbnRyb3NwZWN0aW9uPSRmb3VuZF9pbnRyb3NwZWN0aW9uCistXSwKKy1bCQorLSAgICBBQ19NU0dfRVJST1IoW2ludmFsaWQgYXJndW1lbnQgcGFzc2VkIHRvIC0tZW5hYmxlLWludHJvc3BlY3Rpb24sIHNob3VsZCBiZSBvbmUgb2YgQDw6QG5vL2F1dG8veWVzQDo+QF0pCistXSkKKytHT0JKRUNUX0lOVFJPU1BFQ1RJT05fQ0hFQ0soWzEuNDYuMF0pCisgCistQUNfTVNHX1JFU1VMVChbJGZvdW5kX2ludHJvc3BlY3Rpb25dKQorLQorLUlOVFJPU1BFQ1RJT05fU0NBTk5FUj0KKy1JTlRST1NQRUNUSU9OX0NPTVBJTEVSPQorLUlOVFJPU1BFQ1RJT05fR0VORVJBVEU9CistSU5UUk9TUEVDVElPTl9HSVJESVI9CistSU5UUk9TUEVDVElPTl9UWVBFTElCRElSPQorLWlmIHRlc3QgIngkZm91bmRfaW50cm9zcGVjdGlvbiIgPSAieHllcyI7IHRoZW4KKy0gICBJTlRST1NQRUNUSU9OX1NDQU5ORVI9YCRQS0dfQ09ORklHIC0tdmFyaWFibGU9Z19pcl9zY2FubmVyIGdvYmplY3QtaW50cm9zcGVjdGlvbi0xLjBgCistICAgSU5UUk9TUEVDVElPTl9DT01QSUxFUj1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1nX2lyX2NvbXBpbGVyIGdvYmplY3QtaW50cm9zcGVjdGlvbi0xLjBgCistICAgSU5UUk9TUEVDVElPTl9HRU5FUkFURT1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1nX2lyX2dlbmVyYXRlIGdvYmplY3QtaW50cm9zcGVjdGlvbi0xLjBgCistICAgSU5UUk9TUEVDVElPTl9HSVJESVI9YCRQS0dfQ09ORklHIC0tdmFyaWFibGU9Z2lyZGlyIGdvYmplY3QtaW50cm9zcGVjdGlvbi0xLjBgCistICAgSU5UUk9TUEVDVElPTl9UWVBFTElCRElSPSIkKCRQS0dfQ09ORklHIC0tdmFyaWFibGU9dHlwZWxpYmRpciBnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wKSIKKy0gICBJTlRST1NQRUNUSU9OX0NGTEFHUz1gJFBLR19DT05GSUcgLS1jZmxhZ3MgZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMGAKKy0gICBJTlRST1NQRUNUSU9OX0xJQlM9YCRQS0dfQ09ORklHIC0tbGlicyBnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wYAorLSAgIElOVFJPU1BFQ1RJT05fTUFLRUZJTEU9YCRQS0dfQ09ORklHIC0tdmFyaWFibGU9ZGF0YWRpciBnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wYC9nb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wL01ha2VmaWxlLmludHJvc3BlY3Rpb24KKy1maQorLUFDX1NVQlNUKElOVFJPU1BFQ1RJT05fU0NBTk5FUikKKy1BQ19TVUJTVChJTlRST1NQRUNUSU9OX0NPTVBJTEVSKQorLUFDX1NVQlNUKElOVFJPU1BFQ1RJT05fR0VORVJBVEUpCistQUNfU1VCU1QoSU5UUk9TUEVDVElPTl9HSVJESVIpCistQUNfU1VCU1QoSU5UUk9TUEVDVElPTl9UWVBFTElCRElSKQorLUFDX1NVQlNUKElOVFJPU1BFQ1RJT05fQ0ZMQUdTKQorLUFDX1NVQlNUKElOVFJPU1BFQ1RJT05fTElCUykKKy1BQ19TVUJTVChJTlRST1NQRUNUSU9OX01BS0VGSUxFKQorLQorLUFNX0NPTkRJVElPTkFMKEhBVkVfSU5UUk9TUEVDVElPTiwgdGVzdCAieCRmb3VuZF9pbnRyb3NwZWN0aW9uIiA9ICJ4eWVzIikKKyBkbmwgd2UgbmVlZCB0byBjaGFuZ2UgdGhlIGluc3RhbGwgZGlyZWN0b3JpZXMgZm9yIGRpc3RjaGVjaworIEFDX0FSR19XSVRIKFtnaXItZGlyXSwKKyAJQVNfSEVMUF9TVFJJTkcoCistLSAKKzIuNy4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dudW1lcmljL2dudW1lcmljL2RvLW5vdC11c2Utc3JjZGlyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ251bWVyaWMvZ251bWVyaWMvZG8tbm90LXVzZS1zcmNkaXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2M4MWIxZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dudW1lcmljL2dudW1lcmljL2RvLW5vdC11c2Utc3JjZGlyLnBhdGNoCkBAIC0wLDAgKzEsMTUgQEAKK0luZGV4OiBnbnVtZXJpYy0xLjEyLjAvdGVzdC9NYWtlZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdudW1lcmljLTEuMTIuMC5vcmlnL3Rlc3QvTWFrZWZpbGUuYW0JMjAxMS0wNS0xNyAxNzo1NDoyNC4wMDAwMDAwMDAgLTA3MDAKKysrKyBnbnVtZXJpYy0xLjEyLjAvdGVzdC9NYWtlZmlsZS5hbQkyMDEzLTEwLTE3IDIwOjI4OjE5LjkyMDYxODU5NiAtMDcwMAorQEAgLTI1LDcgKzI1LDkgQEAKKyAjCisgIyA5MHh4OiBNaXNjIHN0dWZmLgorIAorLVRFU1RTID0gJChzb3J0ICQod2lsZGNhcmQgJChzcmNkaXIpL3RbMC05XVswLTldWzAtOV1bMC05XS0qLnBsKSkKKytURVNUU19FWFRFTlNJT05TPS5wbAorK1RFU1RTID0gQGF1dG9fZmluZF90ZXN0c0AKKysKKyBTVVBQUyA9IGNvbW1vbi5zdXBwIGNvbW1vbmRvdHMuc3VwcCBndWkuc3VwcCB0ODAwMy12YWxncmluZC1wZGYuc3VwcAorIAorIGltcG9ydC1kYjoKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dudW1lcmljL2dudW1lcmljXzEuMTIuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dudW1lcmljL2dudW1lcmljXzEuMTIuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDMxMThhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ251bWVyaWMvZ251bWVyaWNfMS4xMi4wLmJiCkBAIC0wLDAgKzEsNDcgQEAKK0xJQ0VOU0UgPSAiR1BMdjIgfCBHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWJlMGRlNDE3YWY3OGRkMzQwNTU4ODEwZDFjZWQ1MmU2IgorU0VDVElPTiA9ICJ4MTEvdXRpbHMiCitTID0gIiR7V09SS0RJUn0vZ251bWVyaWMtJHtQVn0iCitERVBFTkRTID0gImdkay1waXhidWYgbGliZ3NmIGd0ayszIGxpYnhtbDIgbGliZ2xhZGUgbGliYXJ0LWxncGwgaW50bHRvb2wtbmF0aXZlIGxpYmdub21lY2FudmFzIGxpYmdub21lcHJpbnQgbGliYm9ub2JvdWkgb3JiaXQyLW5hdGl2ZSBnb2ZmaWNlIgorU1VNTUFSWSA9ICJHbnVtZXJpYyBzcHJlYWRzaGVldCBmb3IgR05PTUUiCisKK0dOT01FX0NPTVBSRVNTX1RZUEUgPSAieHoiCisKK2luaGVyaXQgZ25vbWUgcHl0aG9ubmF0aXZlIGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitTUkNfVVJJICs9ICJmaWxlOi8vZG8tbm90LXVzZS1zcmNkaXIucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLmluLWRyb3AtaW50cm9zcGVjdGlvbi1tYWNyb3MtcmVwbGFjZS10aGVtLS5wYXRjaCIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiM2ZkODdjY2E5NTMzNGI1ZDhhYzkyMjk4OTY3MGZlMjciCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICIwMzdiNTNkOTA5ZTVkMTQ1NGIyYWZkYThjNGZiMWU3ODM4ZTI2MDM0M2UzNmQ0ZTM2MjQ1ZjRhNWQwZTA0MTExIgorCisKK0VYVFJBX09FQ09ORj0iIC0td2l0aG91dC1wZXJsICIKKworUEFDS0FHRVNfRFlOQU1JQyArPSAiZ251bWVyaWMtcGx1Z2luLSoiCitQQUNLQUdFUyArPSAibGlic3ByZWFkc2hlZXQgbGlic3ByZWFkc2hlZXQtZGV2IGdudW1lcmljLWdvZmZpY2UgZ251bWVyaWMtZ29mZmljZS1kYmciCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2dudW1lcmljLyR7UFZ9L3BsdWdpbnMvKi8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgPSAiJHtpbmNsdWRlZGlyfSAke2xpYmRpcn0vcGtnY29uZmlnIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ID0gIiR7bGliZGlyfS9saWJzcHJlYWRzaGVldC5sYSIKK0ZJTEVTX2xpYnNwcmVhZHNoZWV0ID0gIiR7bGliZGlyfS9saWJzcHJlYWRzaGVldC0ke1BWfS5zbyIKK0ZJTEVTX2xpYnNwcmVhZHNoZWV0LWRldiA9ICIke2xpYmRpcn0vbGlic3ByZWFkc2hlZXQuc28iCitGSUxFU19nbnVtZXJpYy1nb2ZmaWNlLWRiZyArPSAiJHtsaWJkaXJ9L2dvZmZpY2UvKi9wbHVnaW5zL2dudW1lcmljLy5kZWJ1ZyIKK0ZJTEVTX2dudW1lcmljLWdvZmZpY2UgPSAiJHtsaWJkaXJ9L2dvZmZpY2UvKi9wbHVnaW5zL2dudW1lcmljLyoiCisKKyMgVGhpcyBoYWNrIHdvcmtzIGFyb3VuZCB0aGUgcHJvYmxlbSBtZW50aW9uZWQgaGVyZToKKyMgaHR0cHM6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy9nbnVtZXJpYy1saXN0LzIwMTAtRmVicnVhcnkvbXNnMDAwMDYuaHRtbAorZG9faW5zdGFsbF9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAke0J9L2RvYy9DL01ha2VmaWxlIC1lICdzL1x0Zm9yIGZpbGUgaW4gJChvbWZmaWxlKTsgZG8vXHQtZm9yIGZpbGUgaW4gJChvbWZmaWxlKTsgZG8vJworfQorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgZ251bWVyaWNfbGliZGlyID0gYmIuZGF0YS5leHBhbmQoJyR7bGliZGlyfS9nbnVtZXJpYy8ke1BWfS9wbHVnaW5zJywgZCkKKworICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGdudW1lcmljX2xpYmRpciwgJ14oLiopLy4qJCcsCisgICAgICAgIG91dHB1dF9wYXR0ZXJuPSdnbnVtZXJpYy1wbHVnaW4tJXMnLAorICAgICAgICBkZXNjcmlwdGlvbj0nR251bWVyaWMgcGx1Z2luICVzJywKKyAgICAgICAgZXh0cmFfZGVwZW5kcz0nJywKKyAgICAgICAgcmVjdXJzaXZlPVRydWUsCisgICAgICAgIHByZXBlbmQ9VHJ1ZSkKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0aHVtYi9maWxlcy9wYXJhbGxlbC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0aHVtYi9maWxlcy9wYXJhbGxlbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMGNlNWM1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ3RodW1iL2ZpbGVzL3BhcmFsbGVsLnBhdGNoCkBAIC0wLDAgKzEsMTU4IEBACitGcm9tIDM0OTY5Y2RlMWRjYjc3NDBiNGE3YzNiNmUzZDA0ZDQ4MWU1OTgwYjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorRGF0ZTogVHVlLCAzMSBKdWwgMjAxMiAxNzoyNjoyNyArMDEwMAorU3ViamVjdDogW1BBVENIXSBidWlsZDogRml4IHBhcmFsbGVsIGJ1aWxkIHByb2JsZW1zIHdpdGggZW51bSBnZW5lcmF0aW9uCisKK1RoaXMgaXMgYSBiYWNrcG9ydCBmcm9tIGEgcGF0Y2ggYWdhaW5zdCBtYXN0ZXIuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwOTI1XQorLS0tCisgZXh0ZW5zaW9ucy9maWxlX3Rvb2xzL01ha2VmaWxlLmFtICAgIHwgICAxMCArKysrLS0tLS0tCisgZXh0ZW5zaW9ucy9pbXBvcnRlci9NYWtlZmlsZS5hbSAgICAgIHwgICAxMCArKysrLS0tLS0tCisgZXh0ZW5zaW9ucy9waXhidWZfc2F2ZXJzL01ha2VmaWxlLmFtIHwgICAxMCArKysrLS0tLS0tCisgZ3RodW1iL01ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgIHwgICAxMCArKysrLS0tLS0tCisgNCBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2V4dGVuc2lvbnMvZmlsZV90b29scy9NYWtlZmlsZS5hbSBiL2V4dGVuc2lvbnMvZmlsZV90b29scy9NYWtlZmlsZS5hbQoraW5kZXggNzc4NWVmZi4uZDcwYThhNSAxMDA2NDQKKy0tLSBhL2V4dGVuc2lvbnMvZmlsZV90b29scy9NYWtlZmlsZS5hbQorKysrIGIvZXh0ZW5zaW9ucy9maWxlX3Rvb2xzL01ha2VmaWxlLmFtCitAQCAtMjQsMTcgKzI0LDE2IEBAIEhFQURFUl9GSUxFUyA9IAkJCQlcCisgCWd0aC1maWxlLXRvb2wtdW5kby5oCQlcCisgCXByZWZlcmVuY2VzLmgKKyAKKy1lbnVtLXR5cGVzLmg6ICQoSEVBREVSX0ZJTEVTKSAkKEdMSUJfTUtFTlVNUykKKytlbnVtLXR5cGVzLmg6ICQoSEVBREVSX0ZJTEVTKQorIAkkKEFNX1ZfR0VOKSggJChHTElCX01LRU5VTVMpIFwKKyAJCS0tZmhlYWQgIiNpZm5kZWYgRU5VTV9UWVBFU19IXG4jZGVmaW5lIEVOVU1fVFlQRVNfSFxuXG4jaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD5cblxuR19CRUdJTl9ERUNMU1xuIiBcCisgCQktLWZwcm9kICIvKiBlbnVtZXJhdGlvbnMgZnJvbSBcIkBmaWxlbmFtZUBcIiAqL1xuIiBcCisgCQktLXZoZWFkICJHVHlwZSBAZW51bV9uYW1lQF9nZXRfdHlwZSAodm9pZCk7XG4jZGVmaW5lIEdUSF9UWVBFX0BFTlVNU0hPUlRAIChAZW51bV9uYW1lQF9nZXRfdHlwZSgpKVxuIiBcCisgCQktLWZ0YWlsICJHX0VORF9ERUNMU1xuXG4jZW5kaWYgLyogRU5VTV9UWVBFU19IICovIiBcCisgCQkkXj4geGdlbi0kKEBGKSBcCistCSYmIChjbXAgLXMgeGdlbi0kKEBGKSBlbnVtLXR5cGVzLmggfHwgY3AgeGdlbi0kKEBGKSBlbnVtLXR5cGVzLmggKSBcCistCSYmIHJtIC1mIHhnZW4tJChARikgKQorKwkmJiBtdiAtZiB4Z2VuLSQoQEYpIGVudW0tdHlwZXMuaCApCisgCistZW51bS10eXBlcy5jOiAkKEhFQURFUl9GSUxFUykgZW51bS10eXBlcy5oCisrZW51bS10eXBlcy5jOiAkKEhFQURFUl9GSUxFUykKKyAJJChBTV9WX0dFTikoICQoR0xJQl9NS0VOVU1TKSBcCisgCQktLWZoZWFkICIjaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD5cbiIgXAorIAkJLS1mcHJvZCAiXG4vKiBlbnVtZXJhdGlvbnMgZnJvbSBcIkBmaWxlbmFtZUBcIiAqL1xuI2luY2x1ZGUgXCJAZmlsZW5hbWVAXCIiIFwKK0BAIC00Miw4ICs0MSw3IEBAIGVudW0tdHlwZXMuYzogJChIRUFERVJfRklMRVMpIGVudW0tdHlwZXMuaAorIAkJLS12cHJvZCAiICAgICAgeyBAVkFMVUVOQU1FQCwgXCJAVkFMVUVOQU1FQFwiLCBcIkB2YWx1ZW5pY2tAXCIgfSwiIFwKKyAJCS0tdnRhaWwgIiAgICAgIHsgMCwgTlVMTCwgTlVMTCB9XG4gICAgfTtcbiAgICBldHlwZSA9IGdfQHR5cGVAX3JlZ2lzdGVyX3N0YXRpYyAoXCJARW51bU5hbWVAXCIsIHZhbHVlcyk7XG4gIH1cbiAgcmV0dXJuIGV0eXBlO1xufVxuIiBcCisgCQkkXj4geGdlbi0kKEBGKSBcCistCSYmIChjbXAgLXMgeGdlbi0kKEBGKSBlbnVtLXR5cGVzLmMgfHwgY3AgeGdlbi0kKEBGKSBlbnVtLXR5cGVzLmMgKSBcCistCSYmIHJtIC1mIHhnZW4tJChARikgKQorKwkmJiBtdiAtZiB4Z2VuLSQoQEYpIGVudW0tdHlwZXMuYyApCisgCisgbGliZmlsZV90b29sc19sYV9TT1VSQ0VTID0gCQlcCisgCSQoRU5VTV9UWVBFUykJCQlcCitkaWZmIC0tZ2l0IGEvZXh0ZW5zaW9ucy9pbXBvcnRlci9NYWtlZmlsZS5hbSBiL2V4dGVuc2lvbnMvaW1wb3J0ZXIvTWFrZWZpbGUuYW0KK2luZGV4IDI5ZTdmMmMuLjA3YzFlYmEgMTAwNjQ0CistLS0gYS9leHRlbnNpb25zL2ltcG9ydGVyL01ha2VmaWxlLmFtCisrKysgYi9leHRlbnNpb25zL2ltcG9ydGVyL01ha2VmaWxlLmFtCitAQCAtMTQsMTcgKzE0LDE2IEBAIEhFQURFUl9GSUxFUyA9IAkJCQkJXAorIAlwcmVmZXJlbmNlcy5oCQkJCVwKKyAJdXRpbHMuaAorIAorLWd0aC1pbXBvcnQtZW51bS10eXBlcy5oOiAkKEhFQURFUl9GSUxFUykgJChHTElCX01LRU5VTVMpCisrZ3RoLWltcG9ydC1lbnVtLXR5cGVzLmg6ICQoSEVBREVSX0ZJTEVTKQorIAkkKEFNX1ZfR0VOKSggJChHTElCX01LRU5VTVMpIFwKKyAJCS0tZmhlYWQgIiNpZm5kZWYgRU5VTV9UWVBFU19IXG4jZGVmaW5lIEVOVU1fVFlQRVNfSFxuXG4jaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD5cblxuR19CRUdJTl9ERUNMU1xuIiBcCisgCQktLWZwcm9kICIvKiBlbnVtZXJhdGlvbnMgZnJvbSBcIkBmaWxlbmFtZUBcIiAqL1xuIiBcCisgCQktLXZoZWFkICJHVHlwZSBAZW51bV9uYW1lQF9nZXRfdHlwZSAodm9pZCk7XG4jZGVmaW5lIEdUSF9UWVBFX0BFTlVNU0hPUlRAIChAZW51bV9uYW1lQF9nZXRfdHlwZSgpKVxuIiBcCisgCQktLWZ0YWlsICJHX0VORF9ERUNMU1xuXG4jZW5kaWYgLyogRU5VTV9UWVBFU19IICovIiBcCisgCQkkXj4geGdlbi0kKEBGKSBcCistCSYmIChjbXAgLXMgeGdlbi0kKEBGKSBndGgtaW1wb3J0LWVudW0tdHlwZXMuaCB8fCBjcCB4Z2VuLSQoQEYpIGd0aC1pbXBvcnQtZW51bS10eXBlcy5oICkgXAorLQkmJiBybSAtZiB4Z2VuLSQoQEYpICkKKysJJiYgbXYgLWYgeGdlbi0kKEBGKSBndGgtaW1wb3J0LWVudW0tdHlwZXMuaCApCisgCistZ3RoLWltcG9ydC1lbnVtLXR5cGVzLmM6ICQoSEVBREVSX0ZJTEVTKSBndGgtaW1wb3J0LWVudW0tdHlwZXMuaAorK2d0aC1pbXBvcnQtZW51bS10eXBlcy5jOiAkKEhFQURFUl9GSUxFUykKKyAJJChBTV9WX0dFTikoICQoR0xJQl9NS0VOVU1TKSBcCisgCQktLWZoZWFkICIjaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD5cbiIgXAorIAkJLS1mcHJvZCAiXG4vKiBlbnVtZXJhdGlvbnMgZnJvbSBcIkBmaWxlbmFtZUBcIiAqL1xuI2luY2x1ZGUgXCJAZmlsZW5hbWVAXCIiIFwKK0BAIC0zMiw4ICszMSw3IEBAIGd0aC1pbXBvcnQtZW51bS10eXBlcy5jOiAkKEhFQURFUl9GSUxFUykgZ3RoLWltcG9ydC1lbnVtLXR5cGVzLmgKKyAJCS0tdnByb2QgIiAgICAgIHsgQFZBTFVFTkFNRUAsIFwiQFZBTFVFTkFNRUBcIiwgXCJAdmFsdWVuaWNrQFwiIH0sIiBcCisgCQktLXZ0YWlsICIgICAgICB7IDAsIE5VTEwsIE5VTEwgfVxuICAgIH07XG4gICAgZXR5cGUgPSBnX0B0eXBlQF9yZWdpc3Rlcl9zdGF0aWMgKFwiQEVudW1OYW1lQFwiLCB2YWx1ZXMpO1xuICB9XG4gIHJldHVybiBldHlwZTtcbn1cbiIgXAorIAkJJF4+IHhnZW4tJChARikgXAorLQkmJiAoY21wIC1zIHhnZW4tJChARikgZ3RoLWltcG9ydC1lbnVtLXR5cGVzLmMgfHwgY3AgeGdlbi0kKEBGKSBndGgtaW1wb3J0LWVudW0tdHlwZXMuYyApIFwKKy0JJiYgcm0gLWYgeGdlbi0kKEBGKSApCisrCSYmIG12IC1mIHhnZW4tJChARikgZ3RoLWltcG9ydC1lbnVtLXR5cGVzLmMgKQorIAorIGxpYmltcG9ydGVyX2xhX1NPVVJDRVMgPSAJCQlcCisgCSQoRU5VTV9UWVBFUykJCQkJXAorZGlmZiAtLWdpdCBhL2V4dGVuc2lvbnMvcGl4YnVmX3NhdmVycy9NYWtlZmlsZS5hbSBiL2V4dGVuc2lvbnMvcGl4YnVmX3NhdmVycy9NYWtlZmlsZS5hbQoraW5kZXggYmZlOWYzNC4uNDc2NGMzMiAxMDA2NDQKKy0tLSBhL2V4dGVuc2lvbnMvcGl4YnVmX3NhdmVycy9NYWtlZmlsZS5hbQorKysrIGIvZXh0ZW5zaW9ucy9waXhidWZfc2F2ZXJzL01ha2VmaWxlLmFtCitAQCAtMTAsMTcgKzEwLDE2IEBAIEVOVU1fVFlQRVMgPQkJCQlcCisgSEVBREVSX0ZJTEVTID0gCQkJCVwKKyAJcHJlZmVyZW5jZXMuaAorIAorLWVudW0tdHlwZXMuaDogJChIRUFERVJfRklMRVMpICQoR0xJQl9NS0VOVU1TKQorK2VudW0tdHlwZXMuaDogJChIRUFERVJfRklMRVMpCisgCSQoQU1fVl9HRU4pKCAkKEdMSUJfTUtFTlVNUykgXAorIAkJLS1maGVhZCAiI2lmbmRlZiBFTlVNX1RZUEVTX0hcbiNkZWZpbmUgRU5VTV9UWVBFU19IXG5cbiNpbmNsdWRlIDxnbGliLW9iamVjdC5oPlxuXG5HX0JFR0lOX0RFQ0xTXG4iIFwKKyAJCS0tZnByb2QgIi8qIGVudW1lcmF0aW9ucyBmcm9tIFwiQGZpbGVuYW1lQFwiICovXG4iIFwKKyAJCS0tdmhlYWQgIkdUeXBlIEBlbnVtX25hbWVAX2dldF90eXBlICh2b2lkKTtcbiNkZWZpbmUgR1RIX1RZUEVfQEVOVU1TSE9SVEAgKEBlbnVtX25hbWVAX2dldF90eXBlKCkpXG4iIFwKKyAJCS0tZnRhaWwgIkdfRU5EX0RFQ0xTXG5cbiNlbmRpZiAvKiBFTlVNX1RZUEVTX0ggKi8iIFwKKyAJCSRePiB4Z2VuLSQoQEYpIFwKKy0JJiYgKGNtcCAtcyB4Z2VuLSQoQEYpIGVudW0tdHlwZXMuaCB8fCBjcCB4Z2VuLSQoQEYpIGVudW0tdHlwZXMuaCApIFwKKy0JJiYgcm0gLWYgeGdlbi0kKEBGKSApCisrCSYmIG12IC1mIHhnZW4tJChARikgZW51bS10eXBlcy5oICkKKyAKKy1lbnVtLXR5cGVzLmM6ICQoSEVBREVSX0ZJTEVTKSBlbnVtLXR5cGVzLmgKKytlbnVtLXR5cGVzLmM6ICQoSEVBREVSX0ZJTEVTKQorIAkkKEFNX1ZfR0VOKSggJChHTElCX01LRU5VTVMpIFwKKyAJCS0tZmhlYWQgIiNpbmNsdWRlIDxnbGliLW9iamVjdC5oPlxuIiBcCisgCQktLWZwcm9kICJcbi8qIGVudW1lcmF0aW9ucyBmcm9tIFwiQGZpbGVuYW1lQFwiICovXG4jaW5jbHVkZSBcIkBmaWxlbmFtZUBcIiIgXAorQEAgLTI4LDggKzI3LDcgQEAgZW51bS10eXBlcy5jOiAkKEhFQURFUl9GSUxFUykgZW51bS10eXBlcy5oCisgCQktLXZwcm9kICIgICAgICB7IEBWQUxVRU5BTUVALCBcIkBWQUxVRU5BTUVAXCIsIFwiQHZhbHVlbmlja0BcIiB9LCIgXAorIAkJLS12dGFpbCAiICAgICAgeyAwLCBOVUxMLCBOVUxMIH1cbiAgICB9O1xuICAgIGV0eXBlID0gZ19AdHlwZUBfcmVnaXN0ZXJfc3RhdGljIChcIkBFbnVtTmFtZUBcIiwgdmFsdWVzKTtcbiAgfVxuICByZXR1cm4gZXR5cGU7XG59XG4iIFwKKyAJCSRePiB4Z2VuLSQoQEYpIFwKKy0JJiYgKGNtcCAtcyB4Z2VuLSQoQEYpIGVudW0tdHlwZXMuYyB8fCBjcCB4Z2VuLSQoQEYpIGVudW0tdHlwZXMuYyApIFwKKy0JJiYgcm0gLWYgeGdlbi0kKEBGKSApCisrCSYmIG12IC1mIHhnZW4tJChARikgZW51bS10eXBlcy5jICkKKyAKKyBsaWJwaXhidWZfc2F2ZXJzX2xhX1NPVVJDRVMgPSAJXAorIAkkKEVOVU1fVFlQRVMpCQlcCitkaWZmIC0tZ2l0IGEvZ3RodW1iL01ha2VmaWxlLmFtIGIvZ3RodW1iL01ha2VmaWxlLmFtCitpbmRleCBlOWUzODVlLi4yZjE0ZTAzIDEwMDY0NAorLS0tIGEvZ3RodW1iL01ha2VmaWxlLmFtCisrKysgYi9ndGh1bWIvTWFrZWZpbGUuYW0KK0BAIC0yOTYsMTcgKzI5NiwxNiBAQCBndGh1bWJfQ0ZMQUdTID0JCQkJCQkJXAorIAktREdUSFVNQl9FWFRFTlNJT05TX0RJUj1cIiQoZXh0ZW5zaW9uc19kaXIpXCIJCVwKKyAJJChOVUxMKQorIAorLWd0aC1lbnVtLXR5cGVzLmg6ICQoUFVCTElDX0hFQURFUl9GSUxFUykgJChHTElCX01LRU5VTVMpCisrZ3RoLWVudW0tdHlwZXMuaDogJChQVUJMSUNfSEVBREVSX0ZJTEVTKQorIAkkKEFNX1ZfR0VOKSggJChHTElCX01LRU5VTVMpIFwKKyAJCS0tZmhlYWQgIiNpZm5kZWYgR1RIX0VOVU1fVFlQRVNfSFxuI2RlZmluZSBHVEhfRU5VTV9UWVBFU19IXG5cbiNpbmNsdWRlIDxnbGliLW9iamVjdC5oPlxuXG5HX0JFR0lOX0RFQ0xTXG4iIFwKKyAJCS0tZnByb2QgIi8qIGVudW1lcmF0aW9ucyBmcm9tIFwiQGZpbGVuYW1lQFwiICovXG4iIFwKKyAJCS0tdmhlYWQgIkdUeXBlIEBlbnVtX25hbWVAX2dldF90eXBlICh2b2lkKTtcbiNkZWZpbmUgR1RIX1RZUEVfQEVOVU1TSE9SVEAgKEBlbnVtX25hbWVAX2dldF90eXBlKCkpXG4iIFwKKyAJCS0tZnRhaWwgIkdfRU5EX0RFQ0xTXG5cbiNlbmRpZiAvKiBHVEhfRU5VTV9UWVBFU19IICovIiBcCisgCQkkXj4geGdlbi0kKEBGKSBcCistCSYmIChjbXAgLXMgeGdlbi0kKEBGKSBndGgtZW51bS10eXBlcy5oIHx8IGNwIHhnZW4tJChARikgZ3RoLWVudW0tdHlwZXMuaCApIFwKKy0JJiYgcm0gLWYgeGdlbi0kKEBGKSApCisrCSYmIG12IC1mIHhnZW4tJChARikgZ3RoLWVudW0tdHlwZXMuaCApCisgCistZ3RoLWVudW0tdHlwZXMuYzogJChQVUJMSUNfSEVBREVSX0ZJTEVTKSBndGgtZW51bS10eXBlcy5oCisrZ3RoLWVudW0tdHlwZXMuYzogJChQVUJMSUNfSEVBREVSX0ZJTEVTKQorIAkkKEFNX1ZfR0VOKSggJChHTElCX01LRU5VTVMpIFwKKyAJCS0tZmhlYWQgIiNpbmNsdWRlIDxnbGliLW9iamVjdC5oPlxuIiBcCisgCQktLWZwcm9kICJcbi8qIGVudW1lcmF0aW9ucyBmcm9tIFwiQGZpbGVuYW1lQFwiICovXG4jaW5jbHVkZSBcIkBmaWxlbmFtZUBcIiIgXAorQEAgLTMxNCw4ICszMTMsNyBAQCBndGgtZW51bS10eXBlcy5jOiAkKFBVQkxJQ19IRUFERVJfRklMRVMpIGd0aC1lbnVtLXR5cGVzLmgKKyAJCS0tdnByb2QgIiAgICAgIHsgQFZBTFVFTkFNRUAsIFwiQFZBTFVFTkFNRUBcIiwgXCJAdmFsdWVuaWNrQFwiIH0sIiBcCisgCQktLXZ0YWlsICIgICAgICB7IDAsIE5VTEwsIE5VTEwgfVxuICAgIH07XG4gICAgZXR5cGUgPSBnX0B0eXBlQF9yZWdpc3Rlcl9zdGF0aWMgKFwiQEVudW1OYW1lQFwiLCB2YWx1ZXMpO1xuICB9XG4gIHJldHVybiBldHlwZTtcbn1cbiIgXAorIAkJJF4+IHhnZW4tJChARikgXAorLQkmJiAoY21wIC1zIHhnZW4tJChARikgZ3RoLWVudW0tdHlwZXMuYyB8fCBjcCB4Z2VuLSQoQEYpIGd0aC1lbnVtLXR5cGVzLmMgKSBcCistCSYmIHJtIC1mIHhnZW4tJChARikgKQorKwkmJiBtdiAtZiB4Z2VuLSQoQEYpIGd0aC1lbnVtLXR5cGVzLmMgKQorIAorIGd0aC1tYXJzaGFsLmg6IGd0aC1tYXJzaGFsLmxpc3QgJChHTElCX0dFTk1BUlNIQUwpCisgCSQoQU1fVl9HRU4pKCAkKEdMSUJfR0VOTUFSU0hBTCkgJChzcmNkaXIpL2d0aC1tYXJzaGFsLmxpc3QgLS1oZWFkZXIgLS1wcmVmaXg9Z3RoX21hcnNoYWwgPiAkQCApCistLSAKKzEuNy4xMC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0aHVtYi9ndGh1bWJfMi4xMi40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ3RodW1iL2d0aHVtYl8yLjEyLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGJmMTMyMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0aHVtYi9ndGh1bWJfMi4xMi40LmJiCkBAIC0wLDAgKzEsMjggQEAKK1NVTU1BUlkgPSAiZ1RodW1iIGlzIGFuIGltYWdlIHZpZXdlciBhbmQgYnJvd3NlciBmb3IgdGhlIEdOT01FIERlc2t0b3AiCitTRUNUSU9OID0gIngxMS9nbm9tZSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiIKK0RFUEVORFMgPSAiZ2xpYi0yLjAgZ3RrKyBsaWJ4bWwyIGdub21lLWRvYy11dGlscyBsaWJ1bmlxdWUgZ2NvbmYgbGlicG5nIGdzdHJlYW1lciBqcGVnIHRpZmYgZ3N0LXBsdWdpbnMtYmFzZSIKKworUFIgPSAicjQiCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtZ25vbWUta2V5cmluZyAtLWRpc2FibGUtbGlic291cCAtLWRpc2FibGUtZXhpdjIgLS1kaXNhYmxlLWNsdXR0ZXIiCisKK2luaGVyaXQgZ25vbWUgcGtnY29uZmlnCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjk3ZmMxMzIyMWIwYzVkODBjMjdhMmUyNWEzYTNhYzZmIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiY2Y4MDk2OTUyMzBhYjg4OTJhMDc4YmU0NTRhNDJhZGU4NjU3NTRjNzJlYzFkYTdjM2Q3NGQ0MzEwZGU1NGYxZCIKK0dOT01FX0NPTVBSRVNTX1RZUEU9ImJ6MiIKKworU1JDX1VSSSArPSAiZmlsZTovL3BhcmFsbGVsLnBhdGNoIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgcm0gLWYgJHtEfSR7bGliZGlyfS8ke0JQTn0vZXh0ZW5zaW9ucy8qLmEKK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vaWNvbnMiCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9LyR7QlBOfS9leHRlbnNpb25zLyouc28gXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS8ke0JQTn0vZXh0ZW5zaW9ucy8qLmV4dGVuc2lvbiIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9LyR7QlBOfS9leHRlbnNpb25zLyoubGEiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS8ke0JQTn0vZXh0ZW5zaW9ucy8uZGVidWcvIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndGtzb3VyY2V2aWV3L2d0a3NvdXJjZXZpZXcyL2FjaW5jbHVkZS5tNCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0a3NvdXJjZXZpZXcvZ3Rrc291cmNldmlldzIvYWNpbmNsdWRlLm00Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzNTE4ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndGtzb3VyY2V2aWV3L2d0a3NvdXJjZXZpZXcyL2FjaW5jbHVkZS5tNApAQCAtMCwwICsxLDkwIEBACisjIyB0aGlzIG9uZSBpcyBjb21tb25seSB1c2VkIHdpdGggQU1fUEFUSF9QWVRIT05ESVIgLi4uCitkbmwgQU1fQ0hFQ0tfUFlNT0QoTU9ETkFNRSBbLFNZTUJPTCBbLEFDVElPTi1JRi1GT1VORCBbLEFDVElPTi1JRi1OT1QtRk9VTkRdXV0pCitkbmwgQ2hlY2sgaWYgYSBtb2R1bGUgY29udGFpbmluZyBhIGdpdmVuIHN5bWJvbCBpcyB2aXNpYmxlIHRvIHB5dGhvbi4KK0FDX0RFRlVOKEFNX0NIRUNLX1BZTU9ELAorW0FDX1JFUVVJUkUoW0FNX1BBVEhfUFlUSE9OXSkKK3B5X21vZF92YXI9YGVjaG8gJDFbJ18nXSQyIHwgc2VkICd5JS4vKy0lX19wXyUnYAorQUNfTVNHX0NIRUNLSU5HKGZvciBpZmVsc2UoWyQyXSxbXSwsWyQyIGluIF0pcHl0aG9uIG1vZHVsZSAkMSkKK0FDX0NBQ0hFX1ZBTChweV9jdl9tb2RfJHB5X21vZF92YXIsIFsKK2lmZWxzZShbJDJdLFtdLCBbcHJvZz0iCitpbXBvcnQgc3lzCit0cnk6CisgICAgICAgIGltcG9ydCAkMQorZXhjZXB0IEltcG9ydEVycm9yOgorICAgICAgICBzeXMuZXhpdCgxKQorZXhjZXB0OgorICAgICAgICBzeXMuZXhpdCgwKQorc3lzLmV4aXQoMCkiXSwgW3Byb2c9IgoraW1wb3J0ICQxCiskMS4kMiJdKQoraWYgJFBZVEhPTiAtYyAiJHByb2ciIDE+JkFDX0ZEX0NDIDI+JkFDX0ZEX0NDCisgIHRoZW4KKyAgICBldmFsICJweV9jdl9tb2RfJHB5X21vZF92YXI9eWVzIgorICBlbHNlCisgICAgZXZhbCAicHlfY3ZfbW9kXyRweV9tb2RfdmFyPW5vIgorICBmaQorXSkKK3B5X3ZhbD1gZXZhbCAiZWNobyBcYGVjaG8gJyRweV9jdl9tb2RfJyRweV9tb2RfdmFyXGAiYAoraWYgdGVzdCAieCRweV92YWwiICE9IHhubzsgdGhlbgorICBBQ19NU0dfUkVTVUxUKHllcykKKyAgaWZlbHNlKFskM10sIFtdLCwgWyQzCitdKWRubAorZWxzZQorICBBQ19NU0dfUkVTVUxUKG5vKQorICBpZmVsc2UoWyQ0XSwgW10sLCBbJDQKK10pZG5sCitmaQorXSkKKworZG5sIGEgbWFjcm8gdG8gY2hlY2sgZm9yIGFiaWxpdHkgdG8gY3JlYXRlIHB5dGhvbiBleHRlbnNpb25zCitkbmwgIEFNX0NIRUNLX1BZVEhPTl9IRUFERVJTKFtBQ1RJT04tSUYtUE9TU0lCTEVdLCBbQUNUSU9OLUlGLU5PVC1QT1NTSUJMRV0pCitkbmwgZnVuY3Rpb24gYWxzbyBkZWZpbmVzIFBZVEhPTl9JTkNMVURFUworQUNfREVGVU4oW0FNX0NIRUNLX1BZVEhPTl9IRUFERVJTXSwKK1tBQ19SRVFVSVJFKFtBTV9QQVRIX1BZVEhPTl0pCitBQ19NU0dfQ0hFQ0tJTkcoZm9yIGhlYWRlcnMgcmVxdWlyZWQgdG8gY29tcGlsZSBweXRob24gZXh0ZW5zaW9ucykKK2RubCBkZWR1Y2UgUFlUSE9OX0lOQ0xVREVTCitBQ19BUkdfV0lUSChweXRob24taW5jbHVkZXMsCisJWyAgLS13aXRoLXB5dGhvbi1pbmNsdWRlcz1ESVIgIHBhdGggdG8gUHl0aG9uIGluY2x1ZGVzXSwgcHlfZXhlY19wcmVmaXg9JHdpdGh2YWwpCitpZiB0ZXN0IHgkcHlfZXhlY19wcmVmaXggIT0geDsgdGhlbgorUFlUSE9OX0lOQ0xVREVTPSItSSR7cHlfZXhlY19wcmVmaXh9L2luY2x1ZGUvcHl0aG9uJHtQWVRIT05fVkVSU0lPTn0iCitlbHNlCitweV9wcmVmaXg9YCRQWVRIT04gLWMgImltcG9ydCBzeXM7IHByaW50IHN5cy5wcmVmaXgiYAorcHlfZXhlY19wcmVmaXg9YCRQWVRIT04gLWMgImltcG9ydCBzeXM7IHByaW50IHN5cy5leGVjX3ByZWZpeCJgCitQWVRIT05fSU5DTFVERVM9Ii1JJHtweV9wcmVmaXh9L2luY2x1ZGUvcHl0aG9uJHtQWVRIT05fVkVSU0lPTn0iCitpZiB0ZXN0ICIkcHlfcHJlZml4IiAhPSAiJHB5X2V4ZWNfcHJlZml4IjsgdGhlbgorICBQWVRIT05fSU5DTFVERVM9IiRQWVRIT05fSU5DTFVERVMgLUkke3B5X2V4ZWNfcHJlZml4fS9pbmNsdWRlL3B5dGhvbiR7UFlUSE9OX1ZFUlNJT059IgorZmkKK2ZpCitBQ19TVUJTVChQWVRIT05fSU5DTFVERVMpCitkbmwgY2hlY2sgaWYgdGhlIGhlYWRlcnMgZXhpc3Q6CitzYXZlX0NQUEZMQUdTPSIkQ1BQRkxBR1MiCitDUFBGTEFHUz0iJENQUEZMQUdTICRQWVRIT05fSU5DTFVERVMiCitBQ19UUllfQ1BQKFsjaW5jbHVkZSA8UHl0aG9uLmg+XSxkbmwKK1tBQ19NU0dfUkVTVUxUKGZvdW5kKQorJDFdLGRubAorW0FDX01TR19SRVNVTFQobm90IGZvdW5kKQorJDJdKQorQ1BQRkxBR1M9IiRzYXZlX0NQUEZMQUdTIgorXSkKKworZG5sCitkbmwgSkhfQUREX0NGTEFHKEZMQUcpCitkbmwgY2hlY2tzIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgc3VwcG9ydHMgdGhlIGdpdmVuIGZsYWcsIGFuZCBpZiBzbywgYWRkcworZG5sIGl0IHRvICRDRkxBR1MuICBJZiB0aGUgZmxhZyBpcyBhbHJlYWR5IHByZXNlbnQgaW4gdGhlIGxpc3QsIHRoZW4gdGhlCitkbmwgY2hlY2sgaXMgbm90IHBlcmZvcm1lZC4KK0FDX0RFRlVOKFtKSF9BRERfQ0ZMQUddLAorWworY2FzZSAiICRDRkxBR1MgIiBpbgorKkA8OkBcCVwgQDo+QCQxQDw6QFwJXCBAOj5AKikKKyAgOzsKKyopCisgIHNhdmVfQ0ZMQUdTPSIkQ0ZMQUdTIgorICBDRkxBR1M9IiRDRkxBR1MgJDEiCisgIEFDX01TR19DSEVDS0lORyhbd2hldGhlciBbJF1DQyB1bmRlcnN0YW5kcyAkMV0pCisgIEFDX1RSWV9DT01QSUxFKFtdLCBbXSwgW2poX2hhc19vcHRpb249eWVzXSwgW2poX2hhc19vcHRpb249bm9dKQorICBBQ19NU0dfUkVTVUxUKCRqaF9oYXNfb3B0aW9uKQorICBpZiB0ZXN0ICRqaF9oYXNfb3B0aW9uID0gbm87IHRoZW4KKyAgICBDRkxBR1M9IiRzYXZlX0NGTEFHUyIKKyAgZmkKKyAgOzsKK2VzYWNdKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ3Rrc291cmNldmlldy9ndGtzb3VyY2V2aWV3Mi9ndGstZG9jLm00IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ3Rrc291cmNldmlldy9ndGtzb3VyY2V2aWV3Mi9ndGstZG9jLm00Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlYzQxNjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndGtzb3VyY2V2aWV3L2d0a3NvdXJjZXZpZXcyL2d0ay1kb2MubTQKQEAgLTAsMCArMSw1MyBAQAorZG5sIC0qLSBtb2RlOiBhdXRvY29uZiAtKi0KKworIyBzZXJpYWwgMQorCitkbmwgVXNhZ2U6CitkbmwgICBHVEtfRE9DX0NIRUNLKFttaW5pbXVtLWd0ay1kb2MtdmVyc2lvbl0pCitBQ19ERUZVTihbR1RLX0RPQ19DSEVDS10sCitbCisgIEFDX0JFRk9SRShbQUNfUFJPR19MSUJUT09MXSxbJDBdKWRubCBzZXR1cCBsaWJ0b29sIGZpcnN0CisgIEFDX0JFRk9SRShbQU1fUFJPR19MSUJUT09MXSxbJDBdKWRubCBzZXR1cCBsaWJ0b29sIGZpcnN0CisgIGRubCBmb3Igb3ZlcnJpZGluZyB0aGUgZG9jdW1lbnRhdGlvbiBpbnN0YWxsYXRpb24gZGlyZWN0b3J5CisgIEFDX0FSR19XSVRIKGh0bWwtZGlyLAorICAgIEFDX0hFTFBfU1RSSU5HKFstLXdpdGgtaHRtbC1kaXI9UEFUSF0sIFtwYXRoIHRvIGluc3RhbGxlZCBkb2NzXSksLAorICAgIFt3aXRoX2h0bWxfZGlyPScke2RhdGFkaXJ9L2d0ay1kb2MvaHRtbCddKQorICBIVE1MX0RJUj0iJHdpdGhfaHRtbF9kaXIiCisgIEFDX1NVQlNUKEhUTUxfRElSKQorCisgIGRubCBlbmFibGUvZGlzYWJsZSBkb2N1bWVudGF0aW9uIGJ1aWxkaW5nCisgIEFDX0FSR19FTkFCTEUoZ3RrLWRvYywKKyAgICBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtZ3RrLWRvY10sCisgICAgICAgICAgICAgICAgICAgW3VzZSBndGstZG9jIHRvIGJ1aWxkIGRvY3VtZW50YXRpb24gW2RlZmF1bHQ9bm9dXSksLAorICAgIGVuYWJsZV9ndGtfZG9jPW5vKQorCisgIGhhdmVfZ3RrX2RvYz1ubworICBpZiB0ZXN0IC16ICIkUEtHX0NPTkZJRyI7IHRoZW4KKyAgICBBQ19QQVRIX1BST0coUEtHX0NPTkZJRywgcGtnLWNvbmZpZywgbm8pCisgIGZpCisgIGlmIHRlc3QgIiRQS0dfQ09ORklHIiAhPSAibm8iICYmICRQS0dfQ09ORklHIC0tZXhpc3RzIGd0ay1kb2M7IHRoZW4KKyAgICBoYXZlX2d0a19kb2M9eWVzCisgIGZpCisKKyAgZG5sIGRvIHdlIHdhbnQgdG8gZG8gYSB2ZXJzaW9uIGNoZWNrPworaWZlbHNlKFskMV0sW10sLAorICBbZ3RrX2RvY19taW5fdmVyc2lvbj0kMQorICBpZiB0ZXN0ICIkaGF2ZV9ndGtfZG9jIiA9IHllczsgdGhlbgorICAgIEFDX01TR19DSEVDS0lORyhbZ3RrLWRvYyB2ZXJzaW9uID49ICRndGtfZG9jX21pbl92ZXJzaW9uXSkKKyAgICBpZiAkUEtHX0NPTkZJRyAtLWF0bGVhc3QtdmVyc2lvbiAkZ3RrX2RvY19taW5fdmVyc2lvbiBndGstZG9jOyB0aGVuCisgICAgICBBQ19NU0dfUkVTVUxUKHllcykKKyAgICBlbHNlCisgICAgICBBQ19NU0dfUkVTVUxUKG5vKQorICAgICAgaGF2ZV9ndGtfZG9jPW5vCisgICAgZmkKKyAgZmkKK10pCisgIGlmIHRlc3QgeCRlbmFibGVfZ3RrX2RvYyA9IHh5ZXM7IHRoZW4KKyAgICBpZiB0ZXN0ICIkaGF2ZV9ndGtfZG9jIiAhPSB5ZXM7IHRoZW4KKyAgICAgIGVuYWJsZV9ndGtfZG9jPW5vCisgICAgZmkKKyAgZmkKKworICBBTV9DT05ESVRJT05BTChFTkFCTEVfR1RLX0RPQywgdGVzdCB4JGVuYWJsZV9ndGtfZG9jID0geHllcykKKyAgQU1fQ09ORElUSU9OQUwoR1RLX0RPQ19VU0VfTElCVE9PTCwgdGVzdCAtbiAiJExJQlRPT0wiKQorXSkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0a3NvdXJjZXZpZXcvZ3Rrc291cmNldmlldzIvZ3RrLWRvYy5tYWtlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ3Rrc291cmNldmlldy9ndGtzb3VyY2V2aWV3Mi9ndGstZG9jLm1ha2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU0ZmZiNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0a3NvdXJjZXZpZXcvZ3Rrc291cmNldmlldzIvZ3RrLWRvYy5tYWtlCkBAIC0wLDAgKzEsMTczIEBACisjIC0qLSBtb2RlOiBtYWtlZmlsZSAtKi0KKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEV2ZXJ5dGhpbmcgYmVsb3cgaGVyZSBpcyBnZW5lcmljICMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitpZiBHVEtfRE9DX1VTRV9MSUJUT09MCitHVEtET0NfQ0MgPSAkKExJQlRPT0wpIC0tbW9kZT1jb21waWxlICQoQ0MpICQoSU5DTFVERVMpICQoQU1fQ1BQRkxBR1MpICQoQ1BQRkxBR1MpICQoQU1fQ0ZMQUdTKSAkKENGTEFHUykKK0dUS0RPQ19MRCA9ICQoTElCVE9PTCkgLS1tb2RlPWxpbmsgJChDQykgJChBTV9DRkxBR1MpICQoQ0ZMQUdTKSAkKEFNX0xERkxBR1MpICQoTERGTEFHUykKK2Vsc2UKK0dUS0RPQ19DQyA9ICQoQ0MpICQoSU5DTFVERVMpICQoQU1fQ1BQRkxBR1MpICQoQ1BQRkxBR1MpICQoQU1fQ0ZMQUdTKSAkKENGTEFHUykKK0dUS0RPQ19MRCA9ICQoQ0MpICQoQU1fQ0ZMQUdTKSAkKENGTEFHUykgJChBTV9MREZMQUdTKSAkKExERkxBR1MpCitlbmRpZgorCisjIFdlIHNldCBHUEFUSCBoZXJlOyB0aGlzIGdpdmVzIHVzIHNlbWFudGljcyBmb3IgR05VIG1ha2UKKyMgd2hpY2ggYXJlIG1vcmUgbGlrZSBvdGhlciBtYWtlJ3MgVlBBVEgsIHdoZW4gaXQgY29tZXMgdG8KKyMgd2hldGhlciBhIHNvdXJjZSB0aGF0IGlzIGEgdGFyZ2V0IG9mIG9uZSBydWxlIGlzIHRoZW4KKyMgc2VhcmNoZWQgZm9yIGluIFZQQVRIL0dQQVRILgorIworR1BBVEggPSAkKHNyY2RpcikKKworVEFSR0VUX0RJUj0kKEhUTUxfRElSKS8kKERPQ19NT0RVTEUpCisKK0VYVFJBX0RJU1QgPSAJCQkJXAorCSQoY29udGVudF9maWxlcykJCVwKKwkkKEhUTUxfSU1BR0VTKQkJCVwKKwkkKERPQ19NQUlOX1NHTUxfRklMRSkJCVwKKwkkKERPQ19NT0RVTEUpLXNlY3Rpb25zLnR4dAlcCisJJChET0NfTU9EVUxFKS1vdmVycmlkZXMudHh0CisKK0RPQ19TVEFNUFM9c2Nhbi1idWlsZC5zdGFtcCB0bXBsLWJ1aWxkLnN0YW1wIHNnbWwtYnVpbGQuc3RhbXAgaHRtbC1idWlsZC5zdGFtcCBcCisJICAgJChzcmNkaXIpL3RtcGwuc3RhbXAgJChzcmNkaXIpL3NnbWwuc3RhbXAgJChzcmNkaXIpL2h0bWwuc3RhbXAKKworU0NBTk9CSl9GSUxFUyA9IAkJIFwKKwkkKERPQ19NT0RVTEUpLmFyZ3MgCSBcCisJJChET0NfTU9EVUxFKS5oaWVyYXJjaHkgIFwKKwkkKERPQ19NT0RVTEUpLmludGVyZmFjZXMgXAorCSQoRE9DX01PRFVMRSkucHJlcmVxdWlzaXRlcyBcCisJJChET0NfTU9EVUxFKS5zaWduYWxzCisKK1JFUE9SVF9GSUxFUyA9IFwKKwkkKERPQ19NT0RVTEUpLXVuZG9jdW1lbnRlZC50eHQgXAorCSQoRE9DX01PRFVMRSktdW5kZWNsYXJlZC50eHQgXAorCSQoRE9DX01PRFVMRSktdW51c2VkLnR4dAorCitDTEVBTkZJTEVTID0gJChTQ0FOT0JKX0ZJTEVTKSAkKFJFUE9SVF9GSUxFUykgJChET0NfU1RBTVBTKQorCitpZiBFTkFCTEVfR1RLX0RPQworYWxsLWxvY2FsOiBodG1sLWJ1aWxkLnN0YW1wCitlbHNlCithbGwtbG9jYWw6CitlbmRpZgorCitkb2NzOiBodG1sLWJ1aWxkLnN0YW1wCisKKyMjIyMgc2NhbiAjIyMjCisKK3NjYW4tYnVpbGQuc3RhbXA6ICQoSEZJTEVfR0xPQikgJChDRklMRV9HTE9CKQorCUBlY2hvICdndGstZG9jOiBTY2FubmluZyBoZWFkZXIgZmlsZXMnCisJQC1jaG1vZCAtUiB1K3cgJChzcmNkaXIpCisJY2QgJChzcmNkaXIpICYmIFwKKwkgIGd0a2RvYy1zY2FuIC0tbW9kdWxlPSQoRE9DX01PRFVMRSkgLS1zb3VyY2UtZGlyPSQoRE9DX1NPVVJDRV9ESVIpIC0taWdub3JlLWhlYWRlcnM9IiQoSUdOT1JFX0hGSUxFUykiICQoU0NBTl9PUFRJT05TKSAkKEVYVFJBX0hGSUxFUykKKwlpZiBncmVwIC1sICdeLi4qJCQnICQoc3JjZGlyKS8kKERPQ19NT0RVTEUpLnR5cGVzID4gL2Rldi9udWxsIDI+JjEgOyB0aGVuIFwKKwkgICAgQ0M9IiQoR1RLRE9DX0NDKSIgTEQ9IiQoR1RLRE9DX0xEKSIgQ0ZMQUdTPSIkKEdUS0RPQ19DRkxBR1MpIiBMREZMQUdTPSIkKEdUS0RPQ19MSUJTKSIgZ3RrZG9jLXNjYW5nb2JqICQoU0NBTkdPQkpfT1BUSU9OUykgLS1tb2R1bGU9JChET0NfTU9EVUxFKSAtLW91dHB1dC1kaXI9JChzcmNkaXIpIDsgXAorCWVsc2UgXAorCSAgICBjZCAkKHNyY2RpcikgOyBcCisJICAgIGZvciBpIGluICQoU0NBTk9CSl9GSUxFUykgOyBkbyBcCisgICAgICAgICAgICAgICB0ZXN0IC1mICQkaSB8fCB0b3VjaCAkJGkgOyBcCisJICAgIGRvbmUgXAorCWZpCisJdG91Y2ggc2Nhbi1idWlsZC5zdGFtcAorCiskKERPQ19NT0RVTEUpLWRlY2wudHh0ICQoU0NBTk9CSl9GSUxFUykgJChET0NfTU9EVUxFKS1zZWN0aW9ucy50eHQgJChET0NfTU9EVUxFKS1vdmVycmlkZXMudHh0OiBzY2FuLWJ1aWxkLnN0YW1wCisJQHRydWUKKworIyMjIyB0ZW1wbGF0ZXMgIyMjIworCit0bXBsLWJ1aWxkLnN0YW1wOiAkKERPQ19NT0RVTEUpLWRlY2wudHh0ICQoU0NBTk9CSl9GSUxFUykgJChET0NfTU9EVUxFKS1zZWN0aW9ucy50eHQgJChET0NfTU9EVUxFKS1vdmVycmlkZXMudHh0CisJQGVjaG8gJ2d0ay1kb2M6IFJlYnVpbGRpbmcgdGVtcGxhdGUgZmlsZXMnCisJQC1jaG1vZCAtUiB1K3cgJChzcmNkaXIpCisJY2QgJChzcmNkaXIpICYmIGd0a2RvYy1ta3RtcGwgLS1tb2R1bGU9JChET0NfTU9EVUxFKSAkKE1LVE1QTF9PUFRJT05TKQorCXRvdWNoIHRtcGwtYnVpbGQuc3RhbXAKKwordG1wbC5zdGFtcDogdG1wbC1idWlsZC5zdGFtcAorCUB0cnVlCisKK3RtcGwvKi5zZ21sOgorCUB0cnVlCisKKworIyMjIyB4bWwgIyMjIworCitzZ21sLWJ1aWxkLnN0YW1wOiB0bXBsLnN0YW1wICQoSEZJTEVfR0xPQikgJChDRklMRV9HTE9CKSAkKERPQ19NT0RVTEUpLXNlY3Rpb25zLnR4dCAkKHNyY2RpcikvdG1wbC8qLnNnbWwgJChleHBhbmRfY29udGVudF9maWxlcykKKwlAZWNobyAnZ3RrLWRvYzogQnVpbGRpbmcgWE1MJworCUAtY2htb2QgLVIgdSt3ICQoc3JjZGlyKQorCWNkICQoc3JjZGlyKSAmJiBcCisJZ3RrZG9jLW1rZGIgLS1tb2R1bGU9JChET0NfTU9EVUxFKSAtLXNvdXJjZS1kaXI9JChET0NfU09VUkNFX0RJUikgLS1vdXRwdXQtZm9ybWF0PXhtbCAtLWV4cGFuZC1jb250ZW50LWZpbGVzPSIkKGV4cGFuZF9jb250ZW50X2ZpbGVzKSIgLS1tYWluLXNnbWwtZmlsZT0kKERPQ19NQUlOX1NHTUxfRklMRSkgJChNS0RCX09QVElPTlMpCisJdG91Y2ggc2dtbC1idWlsZC5zdGFtcAorCitzZ21sLnN0YW1wOiBzZ21sLWJ1aWxkLnN0YW1wCisJQHRydWUKKworIyMjIyBodG1sICMjIyMKKworaHRtbC1idWlsZC5zdGFtcDogc2dtbC5zdGFtcCAkKERPQ19NQUlOX1NHTUxfRklMRSkgJChjb250ZW50X2ZpbGVzKQorCUBlY2hvICdndGstZG9jOiBCdWlsZGluZyBIVE1MJworCUAtY2htb2QgLVIgdSt3ICQoc3JjZGlyKQorCXJtIC1yZiAkKHNyY2RpcikvaHRtbAorCW1rZGlyICQoc3JjZGlyKS9odG1sCisJY2QgJChzcmNkaXIpL2h0bWwgJiYgZ3RrZG9jLW1raHRtbCAkKERPQ19NT0RVTEUpIC4uLyQoRE9DX01BSU5fU0dNTF9GSUxFKQorCXRlc3QgIngkKEhUTUxfSU1BR0VTKSIgPSAieCIgfHwgKCBjZCAkKHNyY2RpcikgJiYgY3AgJChIVE1MX0lNQUdFUykgaHRtbCApCisJQGVjaG8gJ2d0ay1kb2M6IEZpeGluZyBjcm9zcy1yZWZlcmVuY2VzJworCWNkICQoc3JjZGlyKSAmJiBndGtkb2MtZml4eHJlZiAtLW1vZHVsZS1kaXI9aHRtbCAtLWh0bWwtZGlyPSQoSFRNTF9ESVIpICQoRklYWFJFRl9PUFRJT05TKQorCXRvdWNoIGh0bWwtYnVpbGQuc3RhbXAKKworIyMjIyMjIyMjIyMjIyMKKworY2xlYW4tbG9jYWw6CisJcm0gLWYgKn4gKi5iYWsKKwlybSAtcmYgLmxpYnMKKworZGlzdGNsZWFuLWxvY2FsOgorCWNkICQoc3JjZGlyKSAmJiBcCisJICBybSAtcmYgeG1sICQoUkVQT1JUX0ZJTEVTKSBcCisJICAgICAgICAgJChET0NfTU9EVUxFKS1kZWNsLWxpc3QudHh0ICQoRE9DX01PRFVMRSktZGVjbC50eHQKKworbWFpbnRhaW5lci1jbGVhbi1sb2NhbDogY2xlYW4KKwljZCAkKHNyY2RpcikgJiYgcm0gLXJmIHhtbCBodG1sCisKK2luc3RhbGwtZGF0YS1sb2NhbDoKKwktaW5zdGFsbGZpbGVzPWBlY2hvICQoc3JjZGlyKS9odG1sLypgOyBcCisJaWYgdGVzdCAiJCRpbnN0YWxsZmlsZXMiID0gJyQoc3JjZGlyKS9odG1sLyonOyBcCisJdGhlbiBlY2hvICctLSBOb3RoaW5nIHRvIGluc3RhbGwnIDsgXAorCWVsc2UgXAorCSAgJChta2luc3RhbGxkaXJzKSAkKERFU1RESVIpJChUQVJHRVRfRElSKTsgXAorCSAgZm9yIGkgaW4gJCRpbnN0YWxsZmlsZXM7IGRvIFwKKwkgICAgZWNobyAnLS0gSW5zdGFsbGluZyAnJCRpIDsgXAorCSAgICAkKElOU1RBTExfREFUQSkgJCRpICQoREVTVERJUikkKFRBUkdFVF9ESVIpOyBcCisJICBkb25lOyBcCisJICBlY2hvICctLSBJbnN0YWxsaW5nICQoc3JjZGlyKS9odG1sL2luZGV4LnNnbWwnIDsgXAorCSAgJChJTlNUQUxMX0RBVEEpICQoc3JjZGlyKS9odG1sL2luZGV4LnNnbWwgJChERVNURElSKSQoVEFSR0VUX0RJUikgfHwgOjsgXAorCSAgd2hpY2ggZ3RrZG9jLXJlYmFzZSA+L2Rldi9udWxsICYmIFwKKwkgICAgZ3RrZG9jLXJlYmFzZSAtLXJlbGF0aXZlIC0tZGVzdC1kaXI9JChERVNURElSKSAtLWh0bWwtZGlyPSQoREVTVERJUikkKFRBUkdFVF9ESVIpIDsgXAorCWZpCisJCisKK3VuaW5zdGFsbC1sb2NhbDoKKwlybSAtZiAkKERFU1RESVIpJChUQVJHRVRfRElSKS8qCisKKyMKKyMgUmVxdWlyZSBndGstZG9jIHdoZW4gbWFraW5nIGRpc3QKKyMKK2lmIEVOQUJMRV9HVEtfRE9DCitkaXN0LWNoZWNrLWd0a2RvYzoKK2Vsc2UKK2Rpc3QtY2hlY2stZ3RrZG9jOgorCUBlY2hvICIqKiogZ3RrLWRvYyBtdXN0IGJlIGluc3RhbGxlZCBhbmQgZW5hYmxlZCBpbiBvcmRlciB0byBtYWtlIGRpc3QiCisJQGZhbHNlCitlbmRpZgorCitkaXN0LWhvb2s6IGRpc3QtY2hlY2stZ3RrZG9jIGRpc3QtaG9vay1sb2NhbAorCW1rZGlyICQoZGlzdGRpcikvdG1wbAorCW1rZGlyICQoZGlzdGRpcikveG1sCisJbWtkaXIgJChkaXN0ZGlyKS9odG1sCisJLWNwICQoc3JjZGlyKS90bXBsLyouc2dtbCAkKGRpc3RkaXIpL3RtcGwKKwktY3AgJChzcmNkaXIpL3htbC8qLnhtbCAkKGRpc3RkaXIpL3htbAorCWNwICQoc3JjZGlyKS9odG1sLyogJChkaXN0ZGlyKS9odG1sCisJLWNwICQoc3JjZGlyKS8kKERPQ19NT0RVTEUpLnR5cGVzICQoZGlzdGRpcikvCisJLWNwICQoc3JjZGlyKS8kKERPQ19NT0RVTEUpLXNlY3Rpb25zLnR4dCAkKGRpc3RkaXIpLworCWNkICQoZGlzdGRpcikgJiYgcm0gLWYgJChESVNUQ0xFQU5GSUxFUykKKwktZ3RrZG9jLXJlYmFzZSAtLW9ubGluZSAtLXJlbGF0aXZlIC0taHRtbC1kaXI9JChkaXN0ZGlyKS9odG1sCisKKy5QSE9OWSA6IGRpc3QtaG9vay1sb2NhbCBkb2NzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndGtzb3VyY2V2aWV3L2d0a3NvdXJjZXZpZXcyXzIuMTAuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0a3NvdXJjZXZpZXcvZ3Rrc291cmNldmlldzJfMi4xMC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3NDVlMzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndGtzb3VyY2V2aWV3L2d0a3NvdXJjZXZpZXcyXzIuMTAuNS5iYgpAQCAtMCwwICsxLDI4IEBACitTVU1NQVJZID0gIlBvcnRhYmxlIEMgbGlicmFyeSBmb3IgbXVsdGlsaW5lIHRleHQgZWRpdGluZyIKK0hPTUVQQUdFID0gImh0dHA6Ly9wcm9qZWN0cy5nbm9tZS5vcmcvZ3Rrc291cmNldmlldy8iCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworREVQRU5EUyA9ICJndGsrIGxpYnhtbDIiCisKK1BOQU1FID0gImd0a3NvdXJjZXZpZXciCisKK1MgPSAiJHtXT1JLRElSfS8ke1BOQU1FfS0ke1BWfSIKKworaW5oZXJpdCBnbm9tZWJhc2UgbGliX3BhY2thZ2UgZ2V0dGV4dAorCisjIG92ZXJydWxlIFNSQ19VUkkgZnJvbSBnbm9tZS5jb25mCitTUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS8ke1BOQU1FfS8ke0Bnbm9tZV92ZXJkaXIoIiR7UFZ9Iil9LyR7UE5BTUV9LSR7UFZ9LnRhci5iejI7bmFtZT1hcmNoaXZlIFwKKyAgICAgICAgICAgZmlsZTovL2d0ay1kb2MubWFrZSBcCisiCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIxMjE5YWQxNjk0ZGYxMzZmMTI2NTA3NDY2YWViNDFhYSIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImM1ODU3NzM3NDNiMWRmOGEwNGIxYmU3ZjdkOTBlZWNkZjIyNjgxNDkwZDY4MTBiZTU0YzgxYTdhZTE1MjE5MWUiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIGNwICR7V09SS0RJUn0vZ3RrLWRvYy5tYWtlICR7U30vCisgICAgc2VkIC1pIC1lIHM6ZG9jczo6ZyAke1N9L01ha2VmaWxlLmFtCisgICAgZWNobyAiRVhUUkFfRElTVCA9IHZlcnNpb24ueG1sIiA+IGdub21lLWRvYy11dGlscy5tYWtlCit9CisKK0ZJTEVTXyR7UE59ICs9ICIgJHtkYXRhZGlyfS9ndGtzb3VyY2V2aWV3LTIuMCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d2ZnMvZmlsZXMvMDAwMS1BZGQtc3VwcG9ydC1mb3ItbGlic3lzdGVtZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d2ZnMvZmlsZXMvMDAwMS1BZGQtc3VwcG9ydC1mb3ItbGlic3lzdGVtZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZWM5NTA1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ3Zmcy9maWxlcy8wMDAxLUFkZC1zdXBwb3J0LWZvci1saWJzeXN0ZW1kLnBhdGNoCkBAIC0wLDAgKzEsNDkgQEAKK0Zyb20gMzliZThiMjc3YzY2NmRiMjE5NjVkNTRkNWI3MjQxOGNlNTdhNDUwYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgQmllYmwgPGJpZWJsQGRlYmlhbi5vcmc+CitEYXRlOiBUdWUsIDE5IE1heSAyMDE1IDIzOjM4OjExICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBzdXBwb3J0IGZvciBsaWJzeXN0ZW1kCisKK0luIHN5c3RlbWQgdjIwOSB0aGUgdmFyaW91cyBsaWJzeXN0ZW1kLSogbGlicmFyaWVzIHdlcmUgbWVyZ2VkIGludG8gYQorc2luZ2xlIGxpYnN5c3RlbWQgbGlicmFyeS4gU28gZmlyc3QgY2hlY2sgZm9yIHRoaXMgbGlicmFyeSBhbmQgZmFsbCBiYWNrCit0byBsaWJzeXN0ZW1kLWxvZ2luIGlmIG5vdCBmb3VuZC4KKworQnVnOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NjAzCitCdWctRGViaWFuOiBodHRwczovL2J1Z3MuZGViaWFuLm9yZy9jZ2ktYmluL2J1Z3JlcG9ydC5jZ2k/YnVnPTc3OTc2NgorCitVcHN0cmVhbS1TdGF0dXM6IEFwcGxpZWQKKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDEwICsrKysrKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCBlZTM0NzVkLi5iZDVjMDQzIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0yNjQsMTggKzI2NCwyMCBAQCBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIGRubCAqKiogQ2hlY2sgZm9yIGxpYnN5c3RlbWQtbG9naW4gKioqCisgZG5sICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAKKy1BQ19BUkdfRU5BQkxFKGxpYnN5c3RlbWRfbG9naW4sIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtbGlic3lzdGVtZC1sb2dpbl0sW2J1aWxkIHdpdGhvdXQgbGlibGlic3lzdGVtZC1sb2dpbl0pKQorK0FDX0FSR19FTkFCTEUobGlic3lzdGVtZF9sb2dpbiwgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1saWJzeXN0ZW1kLWxvZ2luXSxbYnVpbGQgd2l0aG91dCBsaWJzeXN0ZW1kLWxvZ2luXSkpCisgbXNnX2xpYnN5c3RlbWRfbG9naW49bm8KKyBMSUJTWVNURU1EX0xPR0lOX0xJQlM9CisgTElCU1lTVEVNRF9MT0dJTl9DRkxBR1M9CisgTElCU1lTVEVNRF9MT0dJTl9SRVFVSVJFRD00NAorIAorIGlmIHRlc3QgIngkZW5hYmxlX2xpYnN5c3RlbWRfbG9naW4iICE9ICJ4bm8iOyB0aGVuCistICBQS0dfQ0hFQ0tfRVhJU1RTKFtsaWJzeXN0ZW1kLWxvZ2luID49ICRMSUJTWVNURU1EX0xPR0lOX1JFUVVJUkVEXSwgbXNnX2xpYnN5c3RlbWRfbG9naW49eWVzKQorKyAgUEtHX0NIRUNLX0VYSVNUUyhbbGlic3lzdGVtZF0sIFttc2dfbGlic3lzdGVtZF9sb2dpbj15ZXNdLAorKyAgICAgICAgICAgICAgICAgICBbUEtHX0NIRUNLX0VYSVNUUyhbbGlic3lzdGVtZC1sb2dpbiA+PSAkTElCU1lTVEVNRF9MT0dJTl9SRVFVSVJFRF0sIG1zZ19saWJzeXN0ZW1kX2xvZ2luPXllcyldKQorIAorICAgaWYgdGVzdCAieCRtc2dfbGlic3lzdGVtZF9sb2dpbiIgPSAieHllcyI7IHRoZW4KKy0gICAgUEtHX0NIRUNLX01PRFVMRVMoW0xJQlNZU1RFTURfTE9HSU5dLFtsaWJzeXN0ZW1kLWxvZ2luID49ICRMSUJTWVNURU1EX0xPR0lOX1JFUVVJUkVEXSkKKy0gICAgQUNfREVGSU5FKEhBVkVfTElCU1lTVEVNRF9MT0dJTiwgMSwgW0RlZmluZSB0byAxIGlmIGxpYmxpYnN5c3RlbWRfbG9naW4gaXMgYXZhaWxhYmxlXSkKKysgICAgUEtHX0NIRUNLX01PRFVMRVMoW0xJQlNZU1RFTURfTE9HSU5dLFtsaWJzeXN0ZW1kXSwsCisrICAgICAgICAgICAgICAgICAgICAgIFtQS0dfQ0hFQ0tfTU9EVUxFUyhbTElCU1lTVEVNRF9MT0dJTl0sW2xpYnN5c3RlbWQtbG9naW4gPj0gJExJQlNZU1RFTURfTE9HSU5fUkVRVUlSRURdKV0pCisrICAgIEFDX0RFRklORShIQVZFX0xJQlNZU1RFTURfTE9HSU4sIDEsIFtEZWZpbmUgdG8gMSBpZiBsaWJzeXN0ZW1kX2xvZ2luIGlzIGF2YWlsYWJsZV0pCisgICBmaQorIGZpCisgCistLSAKKzIuNS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d2ZnMvZ3Zmc18xLjI0LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndmZzL2d2ZnNfMS4yNC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhNjIwNzAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndmZzL2d2ZnNfMS4yNC4yLmJiCkBAIC0wLDAgKzEsNjIgQEAKK0RFU0NSSVBUSU9OID0gImd2ZnMgaXMgYSB1c2Vyc3BhY2UgdmlydHVhbCBmaWxlc3lzdGVtIgorTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNWRmMzhkZDc3YzM1ZWM4NDMxZjIxMjQxMGEzMzI5ZSIKKworaW5oZXJpdCBnbm9tZQorCitERVBFTkRTICs9ICJsaWJzZWNyZXQgZ2xpYi0yLjAgZ2NvbmYgaW50bHRvb2wtbmF0aXZlIGxpYmd1ZGV2IHVkaXNrczIiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjgzZWQzMTdlYjJhNTI2NDcxNWQ0MjczZTkwYTVjZmQ4IgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiMDk0OWVhZWRkMWRmNzE3NWY4ZDdlZTI3MDBkZjgyMTBkMWY4NTRiOGVlMzdkOTYzYmMzMmVlNzA5MWVlYjIyOCIKK1NSQ19VUkkgKz0gIiBcCisgICAgZmlsZTovLzAwMDEtQWRkLXN1cHBvcnQtZm9yLWxpYnN5c3RlbWQucGF0Y2ggXAorIgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWRpc2FibGUtZ2R1IFwKKyAgICAtLWVuYWJsZS11ZGlza3MyIFwKKyAgICAtLWRpc2FibGUtZG9jdW1lbnRhdGlvbiBcCisgICAgLS13aXRoLWFyY2hpdmUtaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gXAorICAgIC0td2l0aC1hcmNoaXZlLWxpYnM9JHtTVEFHSU5HX0xJQkRJUn0gXAorIgorCitQQUNLQUdFUyA9KyAiZ3Zmc2QtZnRwIGd2ZnNkLXNmdHAgZ3Zmc2QtdHJhc2giCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7ZGF0YWRpcn0vZ2xpYi0yLjAgXAorICAgICR7ZGF0YWRpcn0vR0NvbmYgXAorICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3NlcnZpY2VzIFwKKyAgICAke2xpYmRpcn0vZ2lvL21vZHVsZXMvKi5zbyBcCisgICAgJHtsaWJkaXJ9L3RtcGZpbGVzLmQgXAorIgorUkRFUEVORFNfJHtQTn0gPSAidWRpc2tzMiIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZ2lvL21vZHVsZXMvLmRlYnVnLyoiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9naW8vbW9kdWxlcy8qLmxhIgorCitGSUxFU19ndmZzZC1mdHAgPSAiJHtsaWJleGVjZGlyfS9ndmZzZC1mdHAgJHtkYXRhZGlyfS9ndmZzL21vdW50cy9mdHAubW91bnQiCitGSUxFU19ndmZzZC1zZnRwID0gIiR7bGliZXhlY2Rpcn0vZ3Zmc2Qtc2Z0cCAke2RhdGFkaXJ9L2d2ZnMvbW91bnRzL3NmdHAubW91bnQiCitGSUxFU19ndmZzZC10cmFzaCA9ICIke2xpYmV4ZWNkaXJ9L2d2ZnNkLXRyYXNoICR7ZGF0YWRpcn0vZ3Zmcy9tb3VudHMvdHJhc2gubW91bnQiCisKK1JSRUNPTU1FTkRTX2d2ZnNkLWZ0cCArPSAib3BlbnNzaC1zZnRwIG9wZW5zc2gtc3NoIgorCitQQUNLQUdFUyArPSAiJHtQTn0tYmFzaC1jb21wbGV0aW9uIgorRklMRVNfJHtQTn0tYmFzaC1jb21wbGV0aW9uID0gIiR7ZGF0YWRpcn0vYmFzaC1jb21wbGV0aW9uIgorUkRFUEVORFNfJHtQTn0tYmFzaC1jb21wbGV0aW9uID0gImJhc2gtY29tcGxldGlvbiIKKworUEFDS0FHRUNPTkZJRyA/PSAibGliZ3Bob3RvMiIKKworUEFDS0FHRUNPTkZJR1thZmNdID0gIi0tZW5hYmxlLWFmYywgLS1kaXNhYmxlLWFmYywgbGliaW1vYmlsZWRldmljZSBsaWJwbGlzdCIKK1BBQ0tBR0VDT05GSUdbYXJjaGl2ZV0gPSAiLS1lbmFibGUtYXJjaGl2ZSwgLS1kaXNhYmxlLWFyY2hpdmUsIGxpYmFyY2hpdmUiCitQQUNLQUdFQ09ORklHW2F2YWhpXSA9ICItLWVuYWJsZS1hdmFoaSwgLS1kaXNhYmxlLWF2YWhpLCBhdmFoaSIKK1BBQ0tBR0VDT05GSUdbZ3RrXSA9ICItLWVuYWJsZS1ndGssIC0tZGlzYWJsZS1ndGssIGd0ayszIgorUEFDS0FHRUNPTkZJR1todHRwXSA9ICItLWVuYWJsZS1odHRwLCAtLWRpc2FibGUtaHR0cCwgbGlic291cC0yLjQiCitQQUNLQUdFQ09ORklHW2xpYm10cF0gPSAiLS1lbmFibGUtbGlibXRwLCAtLWRpc2FibGUtbGlibXRwLCBsaWJtdHAiCitQQUNLQUdFQ09ORklHW2xpYmdwaG90bzJdID0gIi0tZW5hYmxlLWdwaG90bzIsIC0tZGlzYWJsZS1ncGhvdG8yLCBsaWJncGhvdG8yIgorUEFDS0FHRUNPTkZJR1tzYW1iYV0gPSAiLS1lbmFibGUtc2FtYmEsIC0tZGlzYWJsZS1zYW1iYSwgc2FtYmEiCisKKyMgbmVlZHMgbWV0YS1maWxlc3lzdGVtcworUEFDS0FHRUNPTkZJR1tmdXNlXSA9ICItLWVuYWJsZS1mdXNlLCAtLWRpc2FibGUtZnVzZSwgZnVzZSIKKworIyBsaWJjZGlvLXBhcmFub2lhIHJlY2lwZSBkb2Vzbid0IGV4aXN0IHlldAorUEFDS0FHRUNPTkZJR1tjZGRhXSA9ICItLWVuYWJsZS1jZGRhLCAtLWRpc2FibGUtY2RkYSwgbGliY2Rpby1wYXJhbm9pYSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d3ZWF0aGVyL2xpYmd3ZWF0aGVyM18zLjAuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d3ZWF0aGVyL2xpYmd3ZWF0aGVyM18zLjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZTE5OTdmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ3dlYXRoZXIvbGliZ3dlYXRoZXIzXzMuMC4yLmJiCkBAIC0wLDAgKzEsMjggQEAKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworU0VDVElPTiA9ICJ4MTEvZ25vbWUvbGlicyIKK0RFUEVORFMgPSAibGlieG1sMiBnY29uZiBsaWJzb3VwLTIuNCBndGsrMyIKKworUE5CTEFDS0xJU1RbbGliZ3dlYXRoZXIzXSA/PSAiQ09ORkxJQ1Q6IDg3NiBmaWxlcyBhcmUgY29uZmxpY3Rpbmcgd2l0aCBsaWJnd2VhdGhlciIKKyMgZS5nLiBzeXNyb290cy9xZW11eDg2LTY0L3Vzci9zaGFyZS9saWJnd2VhdGhlci9sb2NhdGlvbnMuZHRkCisjICAgICAgc3lzcm9vdHMvcWVtdXg4Ni02NC91c3Ivc2hhcmUvbGliZ3dlYXRoZXIvTG9jYXRpb25zLnpoX1RXLnhtbAorCitCUE4gPSAibGliZ3dlYXRoZXIiCisKK2luaGVyaXQgZ25vbWUKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImYxYTk2YzZmMTljOWEwYmM2YjRlMTJhY2M5YThhODVkIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiOTA0MTUyNmZhMDQ2NmI5OWRhZTVjZjA2YzJjYzcwMzc2ZjI1NTMxZWVjNWQ1OGIxZTEzNzhhY2ZiMzAyNDEwYyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgc2VkIC1pIC1lICdzOiBkb2MgOiA6ZycgJHtTfS9NYWtlZmlsZS5hbQorfQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9nbm9tZSogXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vaWNvbnMiCisKK1BBQ0tBR0VTID0rICIke1BOfS1sb2NhdGlvbmRhdGEiCitGSUxFU18ke1BOfS1sb2NhdGlvbmRhdGEgPSAiJHtkYXRhZGlyfS9saWJnd2VhdGhlci8qb2NhdGlvbnMqIgorCisKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ3dlYXRoZXIvbGliZ3dlYXRoZXJfMi4zMC4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ3dlYXRoZXIvbGliZ3dlYXRoZXJfMi4zMC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlZWMyZDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nd2VhdGhlci9saWJnd2VhdGhlcl8yLjMwLjMuYmIKQEAgLTAsMCArMSwyMyBAQAorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitTRUNUSU9OID0gIngxMS9nbm9tZS9saWJzIgorREVQRU5EUyA9ICJsaWJ4bWwyIGdjb25mIGxpYnNvdXAtMi40IGd0aysgbGliZ25vbWUta2V5cmluZyIKKworaW5oZXJpdCBnbm9tZQorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJiZjZhMGEwNTA1MTM0MWVjYjI1MGYzMzJlM2VkZmI4OCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImI4MzUzNzQ2NjE0MjNmMzdjNDZhYThlMzczNjhhZTI0YTY4ODU2ZjExN2I3YzIxZTQ3NWEyMWVmZGJhNTI2NGMiCitHTk9NRV9DT01QUkVTU19UWVBFPSJiejIiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAtZSAnczogZG9jIDogOmcnICR7U30vTWFrZWZpbGUuYW0KK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZ25vbWUqIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2ljb25zIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tbG9jYXRpb25kYXRhIgorRklMRVNfJHtQTn0tbG9jYXRpb25kYXRhID0gIiR7ZGF0YWRpcn0vbGliZ3dlYXRoZXIvTG9jYXRpb25zKiIKKworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbC9NYWtlZmlsZS5hbS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmFydC1sZ3BsL2xpYmFydC1sZ3BsL01ha2VmaWxlLmFtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5MGJhOTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbC9NYWtlZmlsZS5hbS5wYXRjaApAQCAtMCwwICsxLDE3IEBACitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK0luZGV4OiBsaWJhcnRfbGdwbC0yLjMuMjEvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsaWJhcnRfbGdwbC0yLjMuMjEub3JpZy9NYWtlZmlsZS5hbQkyMDA5LTA0LTE4IDA1OjI5OjI1LjAwMDAwMDAwMCAtMDcwMAorKysrIGxpYmFydF9sZ3BsLTIuMy4yMS9NYWtlZmlsZS5hbQkyMDEwLTExLTIzIDIzOjEyOjMyLjQ0NTQ1MDA3NSAtMDgwMAorQEAgLTcsOCArNyw4IEBACisgCisgQlVJTFRfU09VUkNFUyA9IGFydF9jb25maWcuaAorIAorLWFydF9jb25maWcuaDoKKy0JLi9nZW5fYXJ0X2NvbmZpZy5zaCA+IGFydF9jb25maWcuaAorKyNhcnRfY29uZmlnLmg6CisrIwkuL2dlbl9hcnRfY29uZmlnLnNoID4gYXJ0X2NvbmZpZy5oCisgCisgRVhUUkFfRElTVCA9IAkJCVwKKyAJbGliYXJ0LmRlZgkJXApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvYWFyY2g2NC9hcnRfY29uZmlnLmggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbC9hYXJjaDY0L2FydF9jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDBmZmMzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvYWFyY2g2NC9hcnRfY29uZmlnLmgKQEAgLTAsMCArMSwxMCBAQAorLyogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuX2FydF9jb25maWcuYyAqLworCisjZGVmaW5lIEFSVF9TSVpFT0ZfQ0hBUiAxCisjZGVmaW5lIEFSVF9TSVpFT0ZfU0hPUlQgMgorI2RlZmluZSBBUlRfU0laRU9GX0lOVCA0CisjZGVmaW5lIEFSVF9TSVpFT0ZfTE9ORyA4CisKK3R5cGVkZWYgdW5zaWduZWQgY2hhciBhcnRfdTg7Cit0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGFydF91MTY7Cit0eXBlZGVmIHVuc2lnbmVkIGludCBhcnRfdTMyOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvYWFyY2g2NGJlL2FydF9jb25maWcuaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmFydC1sZ3BsL2xpYmFydC1sZ3BsL2FhcmNoNjRiZS9hcnRfY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTAwZmZjMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmFydC1sZ3BsL2xpYmFydC1sZ3BsL2FhcmNoNjRiZS9hcnRfY29uZmlnLmgKQEAgLTAsMCArMSwxMCBAQAorLyogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuX2FydF9jb25maWcuYyAqLworCisjZGVmaW5lIEFSVF9TSVpFT0ZfQ0hBUiAxCisjZGVmaW5lIEFSVF9TSVpFT0ZfU0hPUlQgMgorI2RlZmluZSBBUlRfU0laRU9GX0lOVCA0CisjZGVmaW5lIEFSVF9TSVpFT0ZfTE9ORyA4CisKK3R5cGVkZWYgdW5zaWduZWQgY2hhciBhcnRfdTg7Cit0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGFydF91MTY7Cit0eXBlZGVmIHVuc2lnbmVkIGludCBhcnRfdTMyOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvYWFyY2g2NGJlXzMyL2FydF9jb25maWcuaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmFydC1sZ3BsL2xpYmFydC1sZ3BsL2FhcmNoNjRiZV8zMi9hcnRfY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjBlNzRhZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmFydC1sZ3BsL2xpYmFydC1sZ3BsL2FhcmNoNjRiZV8zMi9hcnRfY29uZmlnLmgKQEAgLTAsMCArMSwxMCBAQAorLyogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuX2FydF9jb25maWcuYyAqLworCisjZGVmaW5lIEFSVF9TSVpFT0ZfQ0hBUiAxCisjZGVmaW5lIEFSVF9TSVpFT0ZfU0hPUlQgMgorI2RlZmluZSBBUlRfU0laRU9GX0lOVCA0CisjZGVmaW5lIEFSVF9TSVpFT0ZfTE9ORyA0CisKK3R5cGVkZWYgdW5zaWduZWQgY2hhciBhcnRfdTg7Cit0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGFydF91MTY7Cit0eXBlZGVmIHVuc2lnbmVkIGludCBhcnRfdTMyOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvYXJtL2FydF9jb25maWcuaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmFydC1sZ3BsL2xpYmFydC1sZ3BsL2FybS9hcnRfY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjBlNzRhZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmFydC1sZ3BsL2xpYmFydC1sZ3BsL2FybS9hcnRfY29uZmlnLmgKQEAgLTAsMCArMSwxMCBAQAorLyogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuX2FydF9jb25maWcuYyAqLworCisjZGVmaW5lIEFSVF9TSVpFT0ZfQ0hBUiAxCisjZGVmaW5lIEFSVF9TSVpFT0ZfU0hPUlQgMgorI2RlZmluZSBBUlRfU0laRU9GX0lOVCA0CisjZGVmaW5lIEFSVF9TSVpFT0ZfTE9ORyA0CisKK3R5cGVkZWYgdW5zaWduZWQgY2hhciBhcnRfdTg7Cit0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGFydF91MTY7Cit0eXBlZGVmIHVuc2lnbmVkIGludCBhcnRfdTMyOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvYXJtZWIvYXJ0X2NvbmZpZy5oIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvYXJtZWIvYXJ0X2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwZTc0YWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbC9hcm1lYi9hcnRfY29uZmlnLmgKQEAgLTAsMCArMSwxMCBAQAorLyogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuX2FydF9jb25maWcuYyAqLworCisjZGVmaW5lIEFSVF9TSVpFT0ZfQ0hBUiAxCisjZGVmaW5lIEFSVF9TSVpFT0ZfU0hPUlQgMgorI2RlZmluZSBBUlRfU0laRU9GX0lOVCA0CisjZGVmaW5lIEFSVF9TSVpFT0ZfTE9ORyA0CisKK3R5cGVkZWYgdW5zaWduZWQgY2hhciBhcnRfdTg7Cit0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGFydF91MTY7Cit0eXBlZGVmIHVuc2lnbmVkIGludCBhcnRfdTMyOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvaTM4Ni9hcnRfY29uZmlnLmggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbC9pMzg2L2FydF9jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMGU3NGFkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvaTM4Ni9hcnRfY29uZmlnLmgKQEAgLTAsMCArMSwxMCBAQAorLyogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuX2FydF9jb25maWcuYyAqLworCisjZGVmaW5lIEFSVF9TSVpFT0ZfQ0hBUiAxCisjZGVmaW5lIEFSVF9TSVpFT0ZfU0hPUlQgMgorI2RlZmluZSBBUlRfU0laRU9GX0lOVCA0CisjZGVmaW5lIEFSVF9TSVpFT0ZfTE9ORyA0CisKK3R5cGVkZWYgdW5zaWduZWQgY2hhciBhcnRfdTg7Cit0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGFydF91MTY7Cit0eXBlZGVmIHVuc2lnbmVkIGludCBhcnRfdTMyOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvaTU4Ni9hcnRfY29uZmlnLmggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbC9pNTg2L2FydF9jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMGU3NGFkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvaTU4Ni9hcnRfY29uZmlnLmgKQEAgLTAsMCArMSwxMCBAQAorLyogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuX2FydF9jb25maWcuYyAqLworCisjZGVmaW5lIEFSVF9TSVpFT0ZfQ0hBUiAxCisjZGVmaW5lIEFSVF9TSVpFT0ZfU0hPUlQgMgorI2RlZmluZSBBUlRfU0laRU9GX0lOVCA0CisjZGVmaW5lIEFSVF9TSVpFT0ZfTE9ORyA0CisKK3R5cGVkZWYgdW5zaWduZWQgY2hhciBhcnRfdTg7Cit0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGFydF91MTY7Cit0eXBlZGVmIHVuc2lnbmVkIGludCBhcnRfdTMyOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvaTY4Ni9hcnRfY29uZmlnLmggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbC9pNjg2L2FydF9jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMGU3NGFkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvaTY4Ni9hcnRfY29uZmlnLmgKQEAgLTAsMCArMSwxMCBAQAorLyogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuX2FydF9jb25maWcuYyAqLworCisjZGVmaW5lIEFSVF9TSVpFT0ZfQ0hBUiAxCisjZGVmaW5lIEFSVF9TSVpFT0ZfU0hPUlQgMgorI2RlZmluZSBBUlRfU0laRU9GX0lOVCA0CisjZGVmaW5lIEFSVF9TSVpFT0ZfTE9ORyA0CisKK3R5cGVkZWYgdW5zaWduZWQgY2hhciBhcnRfdTg7Cit0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGFydF91MTY7Cit0eXBlZGVmIHVuc2lnbmVkIGludCBhcnRfdTMyOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvbWlwcy9hcnRfY29uZmlnLmggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbC9taXBzL2FydF9jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMGU3NGFkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvbWlwcy9hcnRfY29uZmlnLmgKQEAgLTAsMCArMSwxMCBAQAorLyogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuX2FydF9jb25maWcuYyAqLworCisjZGVmaW5lIEFSVF9TSVpFT0ZfQ0hBUiAxCisjZGVmaW5lIEFSVF9TSVpFT0ZfU0hPUlQgMgorI2RlZmluZSBBUlRfU0laRU9GX0lOVCA0CisjZGVmaW5lIEFSVF9TSVpFT0ZfTE9ORyA0CisKK3R5cGVkZWYgdW5zaWduZWQgY2hhciBhcnRfdTg7Cit0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGFydF91MTY7Cit0eXBlZGVmIHVuc2lnbmVkIGludCBhcnRfdTMyOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvbWlwczY0L2FydF9jb25maWcuaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmFydC1sZ3BsL2xpYmFydC1sZ3BsL21pcHM2NC9hcnRfY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDEwY2Q5NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmFydC1sZ3BsL2xpYmFydC1sZ3BsL21pcHM2NC9hcnRfY29uZmlnLmgKQEAgLTAsMCArMSwxMCBAQAorLyogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuX2FydF9jb25maWcgKi8KKworI2RlZmluZSBBUlRfU0laRU9GX0NIQVIgMQorI2RlZmluZSBBUlRfU0laRU9GX1NIT1JUIDIKKyNkZWZpbmUgQVJUX1NJWkVPRl9JTlQgNAorI2RlZmluZSBBUlRfU0laRU9GX0xPTkcgOAorCit0eXBlZGVmIHVuc2lnbmVkIGNoYXIgYXJ0X3U4OwordHlwZWRlZiB1bnNpZ25lZCBzaG9ydCBhcnRfdTE2OwordHlwZWRlZiB1bnNpZ25lZCBpbnQgYXJ0X3UzMjsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmFydC1sZ3BsL2xpYmFydC1sZ3BsL21pcHM2NGVsL2FydF9jb25maWcuaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmFydC1sZ3BsL2xpYmFydC1sZ3BsL21pcHM2NGVsL2FydF9jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTBjZDk1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvbWlwczY0ZWwvYXJ0X2NvbmZpZy5oCkBAIC0wLDAgKzEsMTAgQEAKKy8qIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGdlbl9hcnRfY29uZmlnICovCisKKyNkZWZpbmUgQVJUX1NJWkVPRl9DSEFSIDEKKyNkZWZpbmUgQVJUX1NJWkVPRl9TSE9SVCAyCisjZGVmaW5lIEFSVF9TSVpFT0ZfSU5UIDQKKyNkZWZpbmUgQVJUX1NJWkVPRl9MT05HIDgKKwordHlwZWRlZiB1bnNpZ25lZCBjaGFyIGFydF91ODsKK3R5cGVkZWYgdW5zaWduZWQgc2hvcnQgYXJ0X3UxNjsKK3R5cGVkZWYgdW5zaWduZWQgaW50IGFydF91MzI7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbC9taXBzZWwvYXJ0X2NvbmZpZy5oIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvbWlwc2VsL2FydF9jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMGU3NGFkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvbWlwc2VsL2FydF9jb25maWcuaApAQCAtMCwwICsxLDEwIEBACisvKiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnZW5fYXJ0X2NvbmZpZy5jICovCisKKyNkZWZpbmUgQVJUX1NJWkVPRl9DSEFSIDEKKyNkZWZpbmUgQVJUX1NJWkVPRl9TSE9SVCAyCisjZGVmaW5lIEFSVF9TSVpFT0ZfSU5UIDQKKyNkZWZpbmUgQVJUX1NJWkVPRl9MT05HIDQKKwordHlwZWRlZiB1bnNpZ25lZCBjaGFyIGFydF91ODsKK3R5cGVkZWYgdW5zaWduZWQgc2hvcnQgYXJ0X3UxNjsKK3R5cGVkZWYgdW5zaWduZWQgaW50IGFydF91MzI7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbC9wb3dlcnBjL2FydF9jb25maWcuaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmFydC1sZ3BsL2xpYmFydC1sZ3BsL3Bvd2VycGMvYXJ0X2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwZTc0YWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbC9wb3dlcnBjL2FydF9jb25maWcuaApAQCAtMCwwICsxLDEwIEBACisvKiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnZW5fYXJ0X2NvbmZpZy5jICovCisKKyNkZWZpbmUgQVJUX1NJWkVPRl9DSEFSIDEKKyNkZWZpbmUgQVJUX1NJWkVPRl9TSE9SVCAyCisjZGVmaW5lIEFSVF9TSVpFT0ZfSU5UIDQKKyNkZWZpbmUgQVJUX1NJWkVPRl9MT05HIDQKKwordHlwZWRlZiB1bnNpZ25lZCBjaGFyIGFydF91ODsKK3R5cGVkZWYgdW5zaWduZWQgc2hvcnQgYXJ0X3UxNjsKK3R5cGVkZWYgdW5zaWduZWQgaW50IGFydF91MzI7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbC9wb3dlcnBjNjQvYXJ0X2NvbmZpZy5oIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvcG93ZXJwYzY0L2FydF9jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDBmZmMzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvcG93ZXJwYzY0L2FydF9jb25maWcuaApAQCAtMCwwICsxLDEwIEBACisvKiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnZW5fYXJ0X2NvbmZpZy5jICovCisKKyNkZWZpbmUgQVJUX1NJWkVPRl9DSEFSIDEKKyNkZWZpbmUgQVJUX1NJWkVPRl9TSE9SVCAyCisjZGVmaW5lIEFSVF9TSVpFT0ZfSU5UIDQKKyNkZWZpbmUgQVJUX1NJWkVPRl9MT05HIDgKKwordHlwZWRlZiB1bnNpZ25lZCBjaGFyIGFydF91ODsKK3R5cGVkZWYgdW5zaWduZWQgc2hvcnQgYXJ0X3UxNjsKK3R5cGVkZWYgdW5zaWduZWQgaW50IGFydF91MzI7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbC94ODZfNjQvYXJ0X2NvbmZpZy5oIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwveDg2XzY0L2FydF9jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDBmZmMzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwveDg2XzY0L2FydF9jb25maWcuaApAQCAtMCwwICsxLDEwIEBACisvKiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnZW5fYXJ0X2NvbmZpZy5jICovCisKKyNkZWZpbmUgQVJUX1NJWkVPRl9DSEFSIDEKKyNkZWZpbmUgQVJUX1NJWkVPRl9TSE9SVCAyCisjZGVmaW5lIEFSVF9TSVpFT0ZfSU5UIDQKKyNkZWZpbmUgQVJUX1NJWkVPRl9MT05HIDgKKwordHlwZWRlZiB1bnNpZ25lZCBjaGFyIGFydF91ODsKK3R5cGVkZWYgdW5zaWduZWQgc2hvcnQgYXJ0X3UxNjsKK3R5cGVkZWYgdW5zaWduZWQgaW50IGFydF91MzI7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbF8yLjMuMjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbF8yLjMuMjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDk2NmVhNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmFydC1sZ3BsL2xpYmFydC1sZ3BsXzIuMy4yMS5iYgpAQCAtMCwwICsxLDI4IEBACitTVU1NQVJZID0gIkxpYnJhcnkgb2YgZnVuY3Rpb25zIGZvciAyRCBncmFwaGljcyIKK1NFQ1RJT04gPSAieDExL2dub21lIgorTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zYmY1MDAwMmFlZmQwMDJmNDllN2JiODU0MDYzZjdlNyIKK1BSID0gInIyIgorCitBUlRfQ09ORklHID0gIiR7SE9TVF9BUkNIfS9hcnRfY29uZmlnLmgiCisKKyMgY2FuJ3QgdXNlIGdub21lLm9lY2xhc3MgZHVlIHRvIF8gaW4gZmlsZW5hbWUKK1NSQ19VUkkgPSAiJHtHTk9NRV9NSVJST1J9L2xpYmFydF9sZ3BsLzIuMy9saWJhcnRfbGdwbC0ke1BWfS50YXIuYnoyIFwKKyAgICAgICBmaWxlOi8vJHtBUlRfQ09ORklHfSBcCisgICAgICAgZmlsZTovL01ha2VmaWxlLmFtLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDg1NTlmZjNjNjdmZDk1ZDU3YjBjNWU5MWE2YjQzMDIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZmRjMTFlNzRjMTBmYzlmZmU0MTg4NTM3ZTJiMzcwYzBhYmFjY2E3ZDg5MDIxZDRkMzAzYWZkZjdmZDc0NzZmYSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0RFUEVORFMgPSAiIgorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vKi5zby4qIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2JpbmRpcn0vbGliYXJ0Mi1jb25maWciCisKK1MgPSAiJHtXT1JLRElSfS9saWJhcnRfbGdwbC0ke1BWfSIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisJY3AgJHtXT1JLRElSfS8ke0FSVF9DT05GSUd9ICR7U30vYXJ0X2NvbmZpZy5oCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnZGF0YS9saWJnZGF0YV8wLjE2LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnZGF0YS9saWJnZGF0YV8wLjE2LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmE2ZjA0YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmdkYXRhL2xpYmdkYXRhXzAuMTYuMS5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIkdMaWItYmFzZWQgbGlicmFyeSBmb3IgYWNjZXNzaW5nIG9ubGluZSBzZXJ2aWNlIEFQSXMgdXNpbmcgdGhlIEdEYXRhIHByb3RvY29sIgorSE9NRVBBR0UgPSAiaHR0cDovL2xpdmUuZ25vbWUub3JnL2xpYmdkYXRhIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8iCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mYmMwOTM5MDE4NTdmY2QxMThmMDY1ZjkwMDk4MmMyNCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9nZGF0YS9nZGF0YS5oO2VuZGxpbmU9MjA7bWQ1PTA3OWE1NTRlZmNmNjVkNDZmOTZhNTE1ODA2ZTdlOTlhIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dkYXRhL2dkYXRhLXR5cGVzLmg7ZW5kbGluZT0yMDttZDU9NzM5OWIxMTFhYWM4NzE4ZGExMzg4OGZjNjM0YmU2ZWYiCisKK0RFUEVORFMgPSAibGlieG1sMiBnbGliLTIuMCBsaWJzb3VwLTIuNCBpbnRsdG9vbC1uYXRpdmUgbGlib2F1dGggZ2NyIGpzb24tZ2xpYiIKKworaW5oZXJpdCBnbm9tZWJhc2UgcGtnY29uZmlnIGF1dG90b29scy1icm9rZW5zZXAgZ2V0dGV4dCBndGstZG9jIHZhbGEgZ29iamVjdC1pbnRyb3NwZWN0aW9uCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kX2NsYXNzLXRhcmdldCAoKSB7CisgICAgIyBpbnRyb3NwZWN0aW9uLm00IHByZS1wYWNrYWdlZCB3aXRoIHVwc3RyZWFtIHRhcmJhbGxzIGRvZXMgbm90IHlldAorICAgICMgaGF2ZSBvdXIgZml4ZXMKKyAgICBybSAtZiAke1N9L2ludHJvc3BlY3Rpb24ubTQKK30KKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgIGV4cG9ydCBHSVJfRVhUUkFfTElCU19QQVRIPSIke0J9L2dkYXRhLy5saWJzIgorfQorCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1nb2EgLS1kaXNhYmxlLXRlc3RzIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJlYjU1MmE4YTg0ODJlNDIzMWEzZDFiYWY3MjYyZTY0ZCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjg3NDBlMDcxZWNiMmFlMGQyYTRiOWYxODBkMmFlNWZkZjlkYzRjNDFlN2ZmOWRjN2UwNTdmNjI0NDI4MDA4MjciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnbm9tZS9saWJnbm9tZS8wMDAxLWxpYmdub21lLU1ha2VmaWxlLmFtLWFsbG93LWRlcHJlY2F0ZWQtc3ltYm9scy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmdub21lL2xpYmdub21lLzAwMDEtbGliZ25vbWUtTWFrZWZpbGUuYW0tYWxsb3ctZGVwcmVjYXRlZC1zeW1ib2xzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2NTgzMDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnbm9tZS9saWJnbm9tZS8wMDAxLWxpYmdub21lLU1ha2VmaWxlLmFtLWFsbG93LWRlcHJlY2F0ZWQtc3ltYm9scy5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9tIGNlMWNkMjBmY2VlYTdkYmNjNWI5ODNkOTRkZTc3MTQ2MWVjY2Y3Y2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBNb24sIDI5IEFwciAyMDEzIDE0OjE3OjEzICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGxpYmdub21lL01ha2VmaWxlLmFtOiBhbGxvdyBkZXByZWNhdGVkIHN5bWJvbHMKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworZml4ZXM6CisKK3wgZ25vbWUtcHJvZ3JhbS5jOiBJbiBmdW5jdGlvbiAnZ25vbWVfcHJvZ3JhbV9pbml0X2NvbW1vbic6Cit8IGdub21lLXByb2dyYW0uYzoyMDY3OjI6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnZ19hdGV4aXQnIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIGxpYmdub21lL01ha2VmaWxlLmFtIHwgICAgMSAtCisgMSBmaWxlcyBjaGFuZ2VkLCAwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJnbm9tZS9NYWtlZmlsZS5hbSBiL2xpYmdub21lL01ha2VmaWxlLmFtCitpbmRleCA5YzhjZDNlLi5hYTAxZjZjIDEwMDY0NAorLS0tIGEvbGliZ25vbWUvTWFrZWZpbGUuYW0KKysrKyBiL2xpYmdub21lL01ha2VmaWxlLmFtCitAQCAtMTcsNyArMTcsNiBAQCBJTkNMVURFUyA9IFwKKyAJLUkkKHNyY2RpcikvLi4JCQkJCQlcCisgCSQoV0FSTl9DRkxBR1MpCQkJCQkJXAorIAkkKExJQkdOT01FX0NGTEFHUykJCQkJCVwKKy0JLURHX0RJU0FCTEVfREVQUkVDQVRFRAkJCQkJXAorIAktRExJQkdOT01FX1BSRUZJWD1cIiIkKHByZWZpeCkiXCIJCQlcCisgCS1ETElCR05PTUVfTElCRElSPVwiIiQobGliZGlyKSJcIgkJCVwKKyAJLURMSUJHTk9NRV9EQVRBRElSPVwiIiQoZGF0YWRpcikiXCIJCQlcCistLSAKKzEuNy42LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWVfMi4zMi4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWVfMi4zMi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3YjhiOWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnbm9tZS9saWJnbm9tZV8yLjMyLjEuYmIKQEAgLTAsMCArMSwzNiBAQAorU1VNTUFSWSA9ICJHbm9tZSBhcHBsaWNhdGlvbiBwcm9ncmFtbWluZyBsaWJyYXJpZXMiCitMSUNFTlNFID0gIkxHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTElCO21kNT01NWNhODE3Y2NiN2Q1YjViNjYzNTU2OTBlOWFiYzYwNSIKK1NFQ1RJT04gPSAieDExL2dub21lL2xpYnMiCisKK2luaGVyaXQgZ25vbWUgbGliX3BhY2thZ2UKKworUFIgPSAicjIiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImE0MzQ1ZTYwODdhZTYxOTVkNjVhNDY3NGZmZGNhNTU5IgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiYjJjNjM5MTY4NjY0ODU3OTNiODczOTgyNjZkZDc3Nzg1NDhjMTczNDkyM2MyNzJhOTRkODRlZTAxMWI2ZjdhNCIKK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLWxpYmdub21lLU1ha2VmaWxlLmFtLWFsbG93LWRlcHJlY2F0ZWQtc3ltYm9scy5wYXRjaCIKK0dOT01FX0NPTVBSRVNTX1RZUEU9ImJ6MiIKKworREVQRU5EUyArPSAibGliY2FuYmVycmEgZ2NvbmYtbmF0aXZlIGdub21lLXZmcyBsaWJib25vYm8gZXNvdW5kIgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1ndGstZG9jIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgLWUgczpkb2NzOjpnICR7U30vTWFrZWZpbGUuYW0KKyAgICBlY2hvICJFWFRSQV9ESVNUID0gdmVyc2lvbi54bWwiID4gZ25vbWUtZG9jLXV0aWxzLm1ha2UKKyAgICBlY2hvICJFWFRSQV9ESVNUID0gdmVyc2lvbi54bWwiID4gZ3RrLWRvYy5tYWtlCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vYm9ub2JvL3NlcnZlcnMgJHtsaWJkaXJ9L2Jvbm9iby9tb25pa2Vycy8qLnNvIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2dub21lLWJhY2tncm91bmQtcHJvcGVydGllcyAke2RhdGFkaXJ9L3BpeG1hcHMiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9ib25vYm8vbW9uaWtlcnMvKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L2Jvbm9iby9tb25pa2Vycy8qLmEiCisKK1BBQ0tBR0VTID0rICJnbm9tZS1jb21tb24tc2NoZW1hcyIKKworRklMRVNfZ25vbWUtY29tbW9uLXNjaGVtYXMgPSAiJHtkYXRhZGlyfS9nbm9tZS1iYWNrZ3JvdW5kLXByb3BlcnRpZXMgJHtkYXRhZGlyfS9waXhtYXBzICR7c3lzY29uZmRpcn0iCisKK1JERVBFTkRTXyR7UE59ID0gImdub21lLWNvbW1vbi1zY2hlbWFzIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9ib25vYm8vbW9uaWtlcnMvLmRlYnVnIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWVjYW52YXNfMi4zMC4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWVjYW52YXNfMi4zMC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwZjBiNTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnbm9tZS9saWJnbm9tZWNhbnZhc18yLjMwLjMuYmIKQEAgLTAsMCArMSwyMCBAQAorU1VNTUFSWSA9ICJBIHBvd2VyZnVsIG9iamVjdC1vcmllbnRlZCBkaXNwbGF5IgorTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NTVjYTgxN2NjYjdkNWI1YjY2MzU1NjkwZTlhYmM2MDUiCitTRUNUSU9OID0gIngxMS9nbm9tZS9saWJzIgorCitpbmhlcml0IGdub21lYmFzZSBndGstZG9jCisKKyMgaW50bHRvb2wgdG8gcHJvdmlkZSBJVF9QUk9HX0lOVExUT09MCisjIGNvbmZpZ3VyZTogbGluZSAxMjY1NDogc3ludGF4IGVycm9yIG5lYXIgdW5leHBlY3RlZCB0b2tlbiBgMC4zNS4wJworIyBjb25maWd1cmU6IGxpbmUgMTI2NTQ6IGBJVF9QUk9HX0lOVExUT09MKDAuMzUuMCknCitERVBFTkRTID0gImd0aysgbGliZ2xhZGUgbGliYXJ0LWxncGwgeGluZXJhbWFwcm90byBpbnRsdG9vbC1uYXRpdmUiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImZmY2JiNzE5YzY3MWZmNWNkODZlNTlhZWJhOGQwYjkyIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiODU5Yjc4ZTA4NDg5ZmNlNGQ1YzE1YzY3NmZlYzFjZDc5NzgyZjExNWY1MTZlOGFkOGJlZDZhYmNiOGRlZGQ0MCIKK0dOT01FX0NPTVBSRVNTX1RZUEU9ImJ6MiIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9saWJnbGFkZS8qL2xpYmNhbnZhcy5zbyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2xpYmdsYWRlLyovLmRlYnVnLyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2xpYmdsYWRlLyovbGliY2FudmFzKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L2xpYmdsYWRlLyovbGliY2FudmFzKi5hIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWVrYmRfMi4zMi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWVrYmRfMi4zMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2OWRmM2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnbm9tZS9saWJnbm9tZWtiZF8yLjMyLjAuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJHTk9NRSBrZXlib2FyZCBsaWJyYXJ5IgorTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NmUyOWM2ODhkOTEyZGExMmI2NmI3M2UzMmIwM2Q4MTIiCisKK1NFQ1RJT04gPSAieDExL2dub21lL2xpYnMiCisKK0RFUEVORFMgPSAiZ2NvbmYgZ3RrKyBnbGliLTIuMCBsaWJ4a2xhdmllciIKKworaW5oZXJpdCBnbm9tZQorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJkZTMyYTZlM2UzNDY0YjU2NmVlY2RjNDMzMmJmMzRiZCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImRkZDUyYzRjYzdkODNhZDdlZjk2NGExYmNiNGRiODc0MDdlNjViMDBmZmMzZTcwYzA4OGNhNGVlNzM4M2QyNTYiCitHTk9NRV9DT01QUkVTU19UWVBFPSJiejIiCisKK2RvX2NvbmZpZ3VyZV9hcHBlbmQoKSB7CisgICAgZmluZCAke0J9IC1uYW1lIE1ha2VmaWxlIHwgeGFyZ3Mgc2VkIC1pIHM6Jy1JJChpbmNsdWRlZGlyKSc6Jy1JLic6ZworICAgIGZpbmQgJHtCfSAtbmFtZSBNYWtlZmlsZSB8IHhhcmdzIHNlZCAtaSBzOictSS91c3IvaW5jbHVkZSc6Jy1JJHtTVEFHSU5HX0lOQ0RJUn0nOmcKK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWV1aS5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnbm9tZS9saWJnbm9tZXVpLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNjk5N2I4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWV1aS5pbmMKQEAgLTAsMCArMSwyNCBAQAorREVTQ1JJUFRJT04gPSAiR05PTUUgVXNlciBJbnRlcmZhY2UgTGlicmFyeSIKK0xJQ0VOU0UgPSAiTEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTU1Y2E4MTdjY2I3ZDViNWI2NjM1NTY5MGU5YWJjNjA1IgorCitTRUNUSU9OID0gIngxMS9nbm9tZS9saWJzIgorREVQRU5EUyA9ICJsaWJnbm9tZSBsaWJnbm9tZWNhbnZhcyBsaWJib25vYm91aSBsaWJnbm9tZS1rZXlyaW5nIGludGx0b29sLW5hdGl2ZSIKKworaW5oZXJpdCBnbm9tZSAKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9ndGstMi4wLyovZmlsZXN5c3RlbXMvbGliKi5zbyBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYmdsYWRlLyovbGliKi5zbyBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9waXhtYXBzL2dub21lLWFib3V0LWxvZ28ucG5nIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vZ3RrLTIuMC8qL2ZpbGVzeXN0ZW1zLyoubGEgJHtsaWJkaXJ9L2d0ay0yLjAvKi9maWxlc3lzdGVtcy8qLmEgJHtsaWJkaXJ9L2xpYmdsYWRlLyovKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L2xpYmdsYWRlLyovKi5hIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZ3RrLTIuMC8qL2ZpbGVzeXN0ZW1zLy5kZWJ1Zy8gJHtsaWJkaXJ9L2xpYmdsYWRlLyovLmRlYnVnLyIKKworU1JDX1VSSSArPSAiZmlsZTovL2dub21lLXN0b2NrLXBpeGJ1ZnMuaCBmaWxlOi8vbm8tcGl4YnVmLWNzb3VyY2UucGF0Y2giCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtZ3RrLWRvYyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZ25vbWUtc3RvY2stcGl4YnVmcy5oICR7U30vbGliZ25vbWV1aS9waXhtYXBzL2dub21lLXN0b2NrLXBpeGJ1ZnMuaAorfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnbm9tZS9saWJnbm9tZXVpL2dub21lLXN0b2NrLXBpeGJ1ZnMuaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmdub21lL2xpYmdub21ldWkvZ25vbWUtc3RvY2stcGl4YnVmcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1M2E4YWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnbm9tZS9saWJnbm9tZXVpL2dub21lLXN0b2NrLXBpeGJ1ZnMuaApAQCAtMCwwICsxLDQwMzAgQEAKKy8qIGdub21lIHN0b2NrIGljb25zIGluIEdkbVBpeGJ1ZiB1c2FibGUgcmdiIGRhdGEKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTcgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgorICoKKyAqIHRoZSBwaXhtYXBzIGZvciBidXR0b25fY2FuY2VsLCBzYXZlX2FzLCB0cmFzaCwgbWFpbF9yZWNlaXZlLCBzdG9wCisgKiByaWdodF9hcnJvdywgaG9tZSwgc2F2ZSwgYm9va19ibHVlLCB0cmFzaF9mdWxsLCB1bmRvLCBzZWFyY2gsIG1haWxfZm9yd2FyZAorICogcmV2ZXJ0LCBtYWlsX2NvbXBvc2UsIG1pYywgY29weSwganVtcF90bywgY29udmVydCwgYnV0dG9uX2FwcGx5LCB0aW1lcgorICogbWFpbCwgYm9va19yZWQsIGJvb2tfeWVsbG93LCBoZWxwLCByZWRvLCBuZXcsIG1haWxfc2VuZCwgYnV0dG9uX3llcywgY3V0CisgKiBwcm9wZXJ0aWVzLCBwcmludCwgbWFpbF9yZXBseSwgcmVmcmVzaCwgc2VhcmNoX3JlcGxhY2UsIG9wZW4sIHByZWZlcmVuY2VzCisgKiBsZWZ0X2Fycm93LCB1bmRlbGV0ZSwgY2xvc2UsIHZvbHVtZSwgYnV0dG9uX25vLCBleGl0LCBib29rX2dyZWVuCisgKiBib29rX29wZW4sIHBhc3RlLCBsaW5lX2luLCBzcGVsbGNoZWNrLCB0aW1lcl9zdG9wcGVkCisgKiBhcmUgQ29weXJpZ2h0IChDKSAxOTk4IFR1b21hcyBLdW9zbWFuZW4KKyAqLworCisvKiBHZGtQaXhidWYgUkdCQSBDLVNvdXJjZSBpbWFnZSBkdW1wICovCisKKyNpZmRlZiBfX1NVTlBST19DCisjcHJhZ21hIGFsaWduIDQgKHN0b2NrX2F0dGFjaCkKKyNlbmRpZgorI2lmZGVmIF9fR05VQ19fCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX2F0dGFjaFtdIF9fYXR0cmlidXRlX18gKChfX2FsaWduZWRfXyAoNCkpKSA9IAorI2Vsc2UKK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfYXR0YWNoW10gPSAKKyNlbmRpZgoreyAiIgorICAvKiBQaXhidWYgbWFnaWMgKDB4NDc2NDZiNTApICovCisgICJHZGtQIgorICAvKiBsZW5ndGg6IGhlYWRlciAoMjQpICsgcGl4ZWxfZGF0YSAoMjMwNCkgKi8KKyAgIlwwXDBcMTFcMzAiCisgIC8qIHBpeGRhdGFfdHlwZSAoMHgxMDEwMDAyKSAqLworICAiXDFcMVwwXDIiCisgIC8qIHJvd3N0cmlkZSAoOTYpICovCisgICJcMFwwXDBgIgorICAvKiB3aWR0aCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIGhlaWdodCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIHBpeGVsX2RhdGE6ICovCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwY1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDIxXDBcMFwwXDJcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMFwwXDBcMjZcMCIKKyAgIlwwXDBcIlwwXDBcMCRcMFwwXDAlXDBcMFwwJVwwXDBcMFwzNzdcMFwwXDBsXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwIgorICAiXDBcMTBcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMFwwXDBcIlwwXDBcMFwyMFwwIgorICAiXDBcMCRcMFwwXDB+XDFcMVwxXDM3N1FRUVwzNzdcMjMyXDIzMlwyMzJcMzc3XDMxN1wzMTdcMzE3XDM3N29vb1wzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDE2XDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wwXDBcMHhcMFwwXDAiCisgICJcMzc3RkZGXDM3N1wyNDVcMjQ1XDI0NVwzNzdcMzQyXDM0MlwzNDJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzY2XDM2NlwzNjZcMzc3XDIxMlwyMTJcMjEyXDM3Nzk5OVwzNzdcMFwwXDAoXDBcMFwwXDEwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNFwwXDBcMCIKKyAgIkJcMFwwXDBcMzc3XDM0XDM0XDM0XDM3N1wyMTNcMjEzXDIxM1wzNzdcMzQ2XDM0NlwzNDZcMzc3XDM1NlwzNTZcMzU2IgorICAiXDM3N1wzNDFcMzQxXDM0MVwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNjdcMzY3XDM2N1wzNzciCisgICJcMzY2XDM2NlwzNjZcMzc3XDMxNFwzMTRcMzE0XDM3N1ZWVlwzNzdcMFwwXDBeXDBcMFwwXDEyXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwQFwwXDBcMFwzNzc+Pj5cMzc3XDIwMVwyMDFcMjAxIgorICAiXDM3N1wzMjRcMzI0XDMyNFwzNzdcMzRcMzRcMzRcMzc3XDM0N1wzNDdcMzQ3XDM3N1wzMjdcMzI3XDMyN1wzNzdcMzcyIgorICAiXDM3MlwzNzJcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzAyXDMwMlwzMDJcMzc3XDMxM1wzMTMiCisgICJcMzEzXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzMxXDMzMVwzMzFcMzc3XDIwMVwyMDFcMjAxXDM3N1wwXDBcMFwzNzdcMCIKKyAgIlwwXDBcMjVcMFwwXDBcM1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMDpcM1wzXDNcMzc3VFRUXDM3N1wzNDZcMzQ2IgorICAiXDM0NlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMFwwXDBcMzc3XDMyNyIKKyAgIlwzMjdcMzI3XDM3N1wzMzZcMzM2XDMzNlwzNzdcMjYzXDI2M1wyNjNcMzc3eXl5XDM3N1wwXDBcMFwzNzdcMzQyXDM0MiIKKyAgIlwzNDJcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY0XDM2NFwzNjRcMzc3XDIzNVwyMzVcMjM1IgorICAiXDM3NygoKFwzNzdcMFwwXDApXDBcMFwwXDEwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wzNjZcMzY2IgorICAiXDM2NlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzJcMzcyXDM3MlwzNzdcMzcyXDM3MlwzNzIiCisgICJcMzc3XDM3M1wzNzNcMzczXDM3N1wwXDBcMFwzNzdcMjQ2XDI0NlwyNDZcMzc3XDMwNVwzMDVcMzA1XDM3N1wzNjBcMzYwIgorICAiXDM2MFwzNzdcMzcwXDM3MFwzNzBcMzc3XDBcMFwwXDM3N1wzNDJcMzQyXDM0MlwzNzdcMzAyXDMwMlwzMDJcMzc3XDMxMiIKKyAgIlwzMTJcMzEyXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzA3XDMwN1wzMDdcMzc3VlZWXDM3N1wwXDBcMF5cMFwwXDBcMTJcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcxIgorICAiXDM3MVwzNzFcMzc3XDMxNlwzMTZcMzE2XDM3N1wzMDRcMzA0XDMwNFwzNzdcMzA1XDMwNVwzMDVcMzc3XDBcMFwwXDM3NyIKKyAgIlwzMjVcMzI1XDMyNVwzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzBcMzcwXDM3MFwzNzdcMFwwIgorICAiXDBcMzc3XDI2M1wyNjNcMjYzXDM3N1wzMzJcMzMyXDMzMlwzNzdcMzY0XDM2NFwzNjRcMzc3XDM2M1wzNjNcMzYzXDM3NyIKKyAgIlwzNjNcMzYzXDM2M1wzNzd5eXlcMzc3XDBcMFwwXDM3N1wwXDBcMFwyNVwwXDBcMFwzXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMGhcMjA1XDIwNVwyMDVcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzBcMzcwXDM3MFwzNzdcMjc2XDI3NlwyNzZcMzc3IgorICAiXDM3MVwzNzFcMzcxXDM3N1wzNzFcMzcxXDM3MVwzNzdcMFwwXDBcMzc3XDMyM1wzMjNcMzIzXDM3N1wzMzRcMzM0XDMzNCIKKyAgIlwzNzdcMzAyXDMwMlwzMDJcMzc3XDMwMlwzMDJcMzAyXDM3N1wwXDBcMFwzNzdcMzQyXDM0MlwzNDJcMzc3XDM2NVwzNjUiCisgICJcMzY1XDM3N1wzNjRcMzY0XDM2NFwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2MlwzNjJcMzYyXDM3N1wyMzRcMjM0XDIzNCIKKyAgIlwzNzcoKChcMzc3XDBcMFwwKVwwXDBcMFwxMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcNDBISEhcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzBcMzcwXDM3MFwzNzciCisgICJcMFwwXDBcMzc3XDI0N1wyNDdcMjQ3XDM3N1wzMjZcMzI2XDMyNlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM2NlwzNjZcMzY2IgorICAiXDM3N1wwXDBcMFwzNzdcMzQyXDM0MlwzNDJcMzc3XDM2NFwzNjRcMzY0XDM3N1wzMDRcMzA0XDMwNFwzNzdcMzEwXDMxMCIKKyAgIlwzMTBcMzc3XDM2MlwzNjJcMzYyXDM3N1wzMDZcMzA2XDMwNlwzNzdMTExcMzc3XDBcMFwwXlwwXDBcMFwxMlwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwzNzdcMzUyXDM1MlwzNTJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNjZcMzY2IgorICAiXDM2NlwzNzdcMjc2XDI3NlwyNzZcMzc3XDMwMlwzMDJcMzAyXDM3N1wwXDBcMFwzNzdcMzQ1XDM0NVwzNDVcMzc3XDMzMCIKKyAgIlwzMzBcMzMwXDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY1XDM2NVwzNjVcMzc3XDBcMFwwXDM3N1wyNTVcMjU1XDI1NVwzNzciCisgICJcMjc0XDI3NFwyNzRcMzc3XDM1MlwzNTJcMzUyXDM3N1wzNDBcMzQwXDM0MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM1MiIKKyAgIlwzNTJcMzUyXDM3N1wyMjBcMjIwXDIyMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDI1XDBcMFwwXDNcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwaWhoaFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY2IgorICAiXDM2NlwzNjZcMzc3XDI0MlwyNDJcMjQyXDM3N1wwXDBcMFwzNzdcMzAwXDMwMFwzMDBcMzc3XDMwMVwzMDFcMzAxXDM3NyIKKyAgIlwwXDBcMFwzNzd4eHhcMzc3XDMyNlwzMjZcMzI2XDM3N1wzNjNcMzYzXDM2M1wzNzdcMzYyXDM2MlwzNjJcMzc3XDM2MSIKKyAgIlwzNjFcMzYxXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzI1XDMyNVwzMjVcMzc3XDI1NlwyNTZcMjU2XDM3N1wyNVwyNVwyNSIKKyAgIlwzNzdcMFwwXDApXDBcMFwwXDEwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFw0IiI5OTlcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzMzJcMzMyXDMzMlwzNzdcMjMyIgorICAiXDIzMlwyMzJcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzd5eXlcMzc3XDMyNlwzMjZcMzI2XDM3N1wzNjJcMzYyXDM2MlwzNzciCisgICJcMzYyXDM2MlwzNjJcMzc3XDM2MVwzNjFcMzYxXDM3N1wzMjZcMzI2XDMyNlwzNzdcMzIwXDMyMFwzMjBcMzc3XDIyNyIKKyAgIlwyMjdcMjI3XDM3N3JyclwzNzdKSkpcMzc3XDBcMFwwLlwwXDBcMFwxMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwzNzdcMzU0XDM1NFwzNTRcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNjRcMzY0XDM2NFwzNzdcMjU0XDI1NFwyNTQiCisgICJcMzc3XDI3MlwyNzJcMjcyXDM3N1wzMzVcMzM1XDMzNVwzNzdcMzYzXDM2M1wzNjNcMzc3XDMxNlwzMTZcMzE2XDM3NyIKKyAgIlwzMzNcMzMzXDMzM1wzNzdcMzU0XDM1NFwzNTRcMzc3XDMyN1wzMjdcMzI3XDM3N1wzMjZcMzI2XDMyNlwzNzdcMjYxIgorICAiXDI2MVwyNjFcMzc3XDIwMVwyMDFcMjAxXDM3N1ZWVlwzNzcjIyNcMzc3XDBcMFwwXDM3N1wwXDBcMHFcMFwwXDApXDAiCisgICJcMFwwXDEwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwaGlpaVwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2M1wzNjMiCisgICJcMzYzXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzYzXDM2M1wzNjNcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjJcMzYyXDM2MiIKKyAgIlwzNzdcMzYyXDM2MlwzNjJcMzc3XDMyN1wzMjdcMzI3XDM3N1wyNjdcMjY3XDI2N1wzNzdcMjAyXDIwMlwyMDJcMzc3IgorICAiQEBAXDM3NyMjI1wzNzdcMFwwXDBcMzc3XDBcMFwwXDIwNFwwXDBcMCIiMlwwXDBcMC5cMFwwXDApXDBcMFwwXDI1XDAiCisgICJcMFwwXDNcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcNCgoKFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2M1wzNjMiCisgICJcMzYzXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYyXDM2MlwzNjJcMzc3XDMyN1wzMjdcMzI3XDM3N1wyNzZcMjc2XDI3NiIKKyAgIlwzNzdcMjI2XDIyNlwyMjZcMzc3MjIyXDM3NyMjI1wzNzdcMFwwXDBcMzc3XDBcMFwwdVwwXDBcMEhcMFwwXDAvXDBcMCIKKyAgIlwwKlwwXDBcMFwzMVwwXDBcMFwxM1wwXDBcMFwxMFwwXDBcMFwzXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwzNzdcMzQ2XDM0NlwzNDZcMzc3XDM1MFwzNTBcMzUwXDM3N1wzMTRcMzE0XDMxNFwzNzciCisgICJcMjMyXDIzMlwyMzJcMzc3QEBAXDM3NyMjI1wzNzdcMFwwXDBcMzc3XDBcMFwwXDIyMVwwXDBcMElcMFwwXDAvXDBcMCIKKyAgIlwwKlwwXDBcMFwzMFwwXDBcMFwxNlwwXDBcMFwxMVwwXDBcMFw0XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMDs5OTlcMzc3XDIwMlwyMDJcMjAyXDM3Nzk5OVwzNzciCisgICJcMjJcMjJcMjJcMzc3XDBcMFwwXDIwNFwwXDBcMElcMFwwXDAvXDBcMFwwKlwwXDBcMFwzM1wwXDBcMFwxNlwwXDBcMCIKKyAgIlwxMVwwXDBcMFwzXDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDB1XDBcMCIKKyAgIlwwIiIxXDBcMFwwKlwwXDBcMFwzMVwwXDBcMFwxNlwwXDBcMFwxMVwwXDBcMFw0XDBcMFwwXDFcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDExXDBcMFwwJlwwXDBcMClcMFwwXDBcMjdcMFwwXDAiCisgICJcMTJcMFwwXDBcNFwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDdcMFwwXDBcMTBcMFwwXDBcM1wwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfYm9va19ibHVlKQorI2VuZGlmCisjaWZkZWYgX19HTlVDX18KK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfYm9va19ibHVlW10gX19hdHRyaWJ1dGVfXyAoKF9fYWxpZ25lZF9fICg0KSkpID0gCisjZWxzZQorc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja19ib29rX2JsdWVbXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICgyMzA0KSAqLworICAiXDBcMFwxMVwzMCIKKyAgLyogcGl4ZGF0YV90eXBlICgweDEwMTAwMDIpICovCisgICJcMVwxXDBcMiIKKyAgLyogcm93c3RyaWRlICg5NikgKi8KKyAgIlwwXDBcMGAiCisgIC8qIHdpZHRoICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogaGVpZ2h0ICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcM1wwXDBcMCIiOVwwXDBcMFwzMDJcMFwwXDBcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzU3XDBcMFwwXDM1NlwwXDBcMFwzNDZcMFwwXDBcMzQyXDBcMFwwd1wwXDBcMFwxM1wwXDAiCisgICJcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzMlwyMVwyNlwzNVwzNzdcMjI3IgorICAiXDI1MFwyNzZcMzc3fVwyMjNcMjU0XDM3N3NcMjEyXDI0M1wzNzdsXDIwNFwyMzRcMzc3ZHxcMjI2XDM3N152XDIxN1wzNzciCisgICJXb1wyMTBcMzc3UGlcMjAyXDM3N1BpXDIwMlwzNzdQaVwyMDJcMzc3UGlcMjAyXDM3N1BpXDIwMlwzNzdWblwyMDZcMzc3IgorICAiSVhpXDM3N1wyMVwzMFwiXDM3NlwwXDBcMC5cMFwwXDBcMTBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDI3M3ZcMjEzXDI0MlwzNzdcMjE2XDI0MlwyNzBcMzc3dlwyMTVcMjQ3XDM3N1ZyXDIyMFwzNzciCisgICJOalwyMTBcMzc3RmJcMjAwXDM3Nz1aeFwzNzc1UnBcMzc3MU5rXDM3NzFOa1wzNzc2Um9cMzc3NlJvXDM3NzxXc1wzNzciCisgICI2Um9cMzc3M0BPXDM3N1wyNVwzNCVcMzcyXDBcMFwwTlwwXDBcMFwyMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDIyXDEyXDE1XDIxXDM3N1wyMzFcMjU0XDMwMFwzNzdcMjAwXDIyNlwyNTZcMzc3W3ZcMjI0XDM3NyIKKyAgIlNvXDIxNVwzNzdKZ1wyMDVcMzc3Ql99XDM3NzpXdVwzNzcyT21cMzc3MU5rXDM3NzFOa1wzNzcxTmtcMzc3MU5rXDM3NyIKKyAgIjtXclwzNzctRFxcXDM3NyMvNlwzNzdcMFwwXDBeXDBcMFwwRFwwXDBcMFwxNlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDI1NVtpeVwzNzdcMjMxXDI1NFwzMDBcMzc3dVwyMTVcMjQ2XDM3N1dzXDIyMVwzNzdPa1wyMTAiCisgICJcMzc3R2NcMjAxXDM3N1w3N1t5XDM3NzZTcVwzNzcxTmtcMzc3MU5rXDM3NzFOa1wzNzcxTmtcMzc3NFBtXDM3NztXciIKKyAgIlwzNzcpXDc3VlwzNzc1PEFcMzc1XDBcMFwwXDM3N1wwXDBcMCVcMFwwXDBcNVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwyMVwwXDBcMFwzNzdcMjMxXDI1NFwzMDBcMzc3XDIwMFwyMjdcMjYwXDM3N1xceFwyMjZcMzc3VHBcMjE2IgorICAiXDM3N0toXDIwNlwzNzdDYH5cMzc3O1h2XDM3NzNQblwzNzcxTmtcMzc3MU5rXDM3NzNQa1wzNzcxTmtcMzc3OVVxXDM3NyIKKyAgIi1EXFxcMzc3XDI3XCIsXDM3N35cMjAyXDIwNVwzNzc1NzhcMzc3XDBcMFwwRlwwXDBcMFwxNVwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwyMzJbaXlcMzc3XDIxN1wyNDNcMjcxXDM3N3VcMjE1XDI0NlwzNzdYdFwyMjJcMzc3UGwiCisgICJcMjEyXDM3N0hkXDIwMlwzNzdAXFx6XDM3NzhUclwzNzcxTmtcMzc3MU5rXDM3NzFOa1wzNzcxTmtcMzc3Mk9sXDM3NyIKKyAgIj1ZdFwzNzcpXDc3VlwzNzchJy5cMzc2SkxNXDM3N1wyMTZcMjIwXDIyMlwzNzdcMFwwXDBRXDBcMFwwXDIwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwyMFwwXDBcMFwzNzdcMjMwXDI1M1wyNzdcMzc1XDE3N1wyMjZcMjU3XDM3N115XDIyN1wzNzciCisgICJVcVwyMTdcMzc3TWlcMjA3XDM3N0RhXDE3N1wzNzc8WXdcMzc3NFFvXDM3NzFOa1wzNzcxTmtcMzc3MU5rXDM3NzFOayIKKyAgIlwzNzc4VHBcMzc3L0ZdXDM3N1wzMCQtXDM3N1RXWVwzNjZlaWpcMzc3MzM0XDM3N1wwXDBcMFFcMFwwXDBcMjBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDMzNWV1XDIwM1wzNzdcMjE1XDI0MlwyNzFcMzc3dlwyMTVcMjQ3XDM3N1p1XDIyM1wzNzciCisgICJRbVwyMTNcMzc3SWVcMjAzXDM3N0Fde1wzNzc5VXNcMzc3MU5rXDM3NzFOa1wzNzcxTmtcMzc3MU5rXDM3NzFOa1wzNzciCisgICI8V3NcMzc3KkJaXDM3NyMrMlwzNzdGSEpcMzc3XDIyMFwyMjJcMjI1XDM3N1wwXDBcMFwzNzdcMFwwXDBjXDBcMFwwXDIxIgorICAiXDBcMFwwXDBcMFwwXDAhXDBcMFwwXDM3N1wyMzNcMjU0XDI3M1wzNzdcMjA3XDIzNFwyNjRcMzc3Y35cMjMzXDM3N1YiCisgICJyXDIyMFwzNzdOalwyMTBcMzc3RmJcMjAwXDM3Nz1aeFwzNzc1UnBcMzc3MU5rXDM3NzFOa1wzNzcxTmtcMzc3MU5rXDM3NyIKKyAgIjVSblwzNzc0S2JcMzc3XDMxJC1cMzc3ZGhrXDM3N21vcFwzNzcwR11cMzc3XDBcMFwwXDM3M1wwXDBcMFJcMFwwXDBcMjUiCisgICJcMFwwXDBcMFwwXDBcMFwyNDVlcH1cMzc3XDIyMVwyNDVcMjc0XDM3N3FcMjEzXDI0NlwzNzdcXHhcMjI2XDM3N1RwXDIxNiIKKyAgIlwzNzdLaFwyMDZcMzc3Q2B+XDM3NztYdlwzNzczUG5cMzc3MU5rXDM3NzFOa1wzNzcxTmtcMzc3MU5rXDM3Nz1ZdFwzNzciCisgICIpXDc3VlwzNzcmLjNcMzc3V1hZXDM3N1wyMTNcMjE3XDIyNVwzNzdcMTFcMTVcMjFcMzcyXDBcMFwwXDIzNFwwXDBcMCIKKyAgIklcMFwwXDBcMTdcMFwwXDBcMTNcMFwwXDBcMzc3flwyMTZcMjM3XDMzN1wyMTJcMjM3XDI2NlwzNzdsXDIwNVwyNDFcMzc3IgorICAiWHRcMjIyXDM3N1BsXDIxMlwzNzdIZFwyMDJcMzc3QFxcelwzNzc4VHJcMzc3MU5rXDM3NzFOa1wzNzcxTmtcMzc3MU4iCisgICJrXDM3NzFOa1wzNzc1TGNcMzc3XDMyJTBcMzc3SExOXDM3N3N1dlwzNzdDW3NcMzcwXDBcMFwwXDM2NFwwXDBcMFVcMCIKKyAgIlwwXDArXDBcMFwwXDdcMFwwXDBcMjA2dXd3XDM3N1wyNzVcMzA2XDMyM1wzNzVcMjU2XDI3NlwzMTRcMzc3XDI0N1wyNjYiCisgICJcMzA2XDM3N1wyNDNcMjYyXDMwMlwzNzdcMjM2XDI1NVwyNzVcMzc3XDIzMlwyNTJcMjcxXDM3N1wyMjBcMjQwXDI2MCIKKyAgIlwzNzd7XDIxN1wyNDFcMzc3eVwyMTRcMjM3XDM3N3lcMjE0XDIzN1wzNzd5XDIxNFwyMzdcMzc3eVwyMTRcMjM3XDM3NyIKKyAgInBcMjA0XDIzMVwzNzdVZnlcMzc3MjU7XDM3N1teYVwzNzdcMjE2XDIyM1wyMzBcMzc3XDEyXDE2XDIxXDM3MlwwXDBcMCIKKyAgIlwyMzNcMFwwXDBHXDBcMFwwXDIxXDBcMFwwXDFcMlw3XDExXDMzMVwyNjBcMjcyXDMwNFwzNzcsPlFcMzc3JDZKXDM3NyIKKyAgIiQ2SlwzNzckNkpcMzc3JDZKXDM3NyQ2SlwzNzckNkpcMzc3JDZKXDM3NyQ2SlwzNzckNkpcMzc3JDZKXDM3NyQ2SlwzNzciCisgICIkNkpcMzc3KzVcNzdcMzc3XmJoXDM3N3d4elwzNzdGYHpcMzc3XDBcMFwwXDM2NVwwXDBcMFVcMFwwXDAqXDBcMFwwXDYiCisgICJcMFwwXDBcMFwxNVwxN1wyMVwzNzdcMjA3XDIyM1wyMzVcMzc3QEFFXDM3N19gYFwzNzN0dHRcMzc3XDIyNlwyMjZcMjI2IgorICAiXDM3N1wyNjFcMjYxXDI2MVwzNzdcMjU3XDI1N1wyNjBcMzc3XDMwNVwzMDVcMzA2XDM3N1wzMTZcMzE2XDMxN1wzNzciCisgICJcMjY0XDI3M1wzMDFcMzc3XDI3NFwzMDJcMzExXDM3N1wyNzVcMzA0XDMxMlwzNzdcMzA0XDMxM1wzMjJcMzc3XDMxMyIKKyAgIlwzMjJcMzMxXDM3N1wzMjZcMzMyXDMzNlwzNzdcMjIwXDIyNlwyMzNcMzc3XDIwNVwyMTJcMjE3XDM3N1wyNFwzMyFcMzcxIgorICAiXDBcMFwwXDIzNFwwXDBcMEhcMFwwXDBcMjJcMFwwXDBcMVwwXDBcMFwwXDE0XDE2XDE3XDM3N2t7XDIxM1wzNzdXV1ciCisgICJcMzc3fX5cMjAwXDM3N1wzNDJcMzQ0XDM0NlwzNzdcMzQyXDM0NFwzNDZcMzc3XDM0MVwzNDFcMzQxXDM3N1wzMzdcMzM3IgorICAiXDM0MFwzNzdcMzM3XDMzN1wzNDBcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNzVcMzc1XDM3NlwzNzdcMzYxXDM2M1wzNjUiCisgICJcMzc3XDM2MVwzNjNcMzY1XDM3N1wzNjFcMzYzXDM2NVwzNzdcMjQ3XDI1MFwyNTJcMzc3XDI2MlwyNjVcMjcxXDM3NyIKKyAgImltcVwzNzdGYHpcMzc3XDBcMVwyXDM3MFwwXDBcMFVcMFwwXDAqXDBcMFwwXDZcMFwwXDBcMFwwXDBcMFwwJCUnXDM3NyIKKyAgImNyXDIwMVwzNzdpfFwyMTZcMzc3VGtcMjAzXDM3N0VdeFwzNzdcMzI2XDMzNFwzNDFcMzc3XDM0N1wzNTJcMzU1XDM3NyIKKyAgIlwzNTVcMzU3XDM2MVwzNzdcMzU1XDM1N1wzNjJcMzc3XDM0NVwzNDZcMzQ3XDM3N1wzMzZcMzM2XDMzN1wzNzdcMzQxIgorICAiXDM0MVwzNDJcMzc3XDM0MVwzNDFcMzQyXDM3N1wzMzdcMzM3XDM0MFwzNzdcMzQxXDM0MlwzNDNcMzc3cnpcMjAzXDM3NyIKKyAgIlwyMTNcMjE3XDIyNFwzNzdcMjVcMzMhXDM2N1wwXDBcMFwyMzRcMFwwXDBJXDBcMFwwXDIyXDBcMFwwXDFcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwIiI5XDBcMFwwXDM3N1w0XDZcMTJcMzU0OEpdXDM2M01ieFwzNTFUaFwxNzdcMzU3U2pcMjAyIgorICAiXDM3N1dvXDIwNlwzNzdcMjA3XDIyN1wyNDdcMzc3XDMyN1wzMzVcMzQxXDM3N1wzNDJcMzQ2XDM1MVwzNzdcMzUxXDM1NCIKKyAgIlwzNTZcMzc3XDM3MFwzNzFcMzcyXDM3N1wzNzBcMzcxXDM3MlwzNzdcMjAxXDIwNVwyMTJcMzc3XDI0NVwyNDdcMjUwIgorICAiXDM3N1wyMzRcMjQyXDI1MFwzNzdcMVwyXDNcMzcwXDBcMFwwVVwwXDBcMCpcMFwwXDBcN1wwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwJlwwXDBcMGVcMFwwXDBcMjc2XDBcMFwwXDM0NlwwXDBcMFwzNjBcMFwwXDBcMzYzIgorICAiO0teXDM3MURWaVwzNzFUZ31cMzY3VWtcMjAwXDM2NlZsXDIwM1wzNzdcMjU0XDI3MFwzMDNcMzc3XDMzNFwzNDFcMzQ1IgorICAiXDM3N1wzNTBcMzUzXDM1NVwzNzdcMjM3XDI0M1wyNDZcMzc3XDI1XDM1JFwzNzNcMFwwXDBcMjM0XDBcMFwwSFwwXDAiCisgICJcMFwyMlwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcNlwwXDBcMFwxN1wwXDBcMCIKKyAgIlwzNFwwXDBcMCIiNFwwXDBcMENcMFwwXDBnXDBcMFwwXDI1MVwwXDBcMFwzNDRcMFwwXDBcMzYxXDBcMFwwXDM1NjA+IgorICAiTVwzNjU9TmBcMzcxT19zXDM3MlNle1wzNjdMY3xcMzU3XDFcM1w1XDM2N1wwXDBcMFVcMFwwXDArXDBcMFwwXDdcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzXDBcMFwwXDEyIgorICAiXDBcMFwwXDE1XDBcMFwwXDIwXDBcMFwwXDMzXDBcMFwwIiIwXDBcMFwwQ1wwXDBcMF9cMFwwXDBcMjM1XDBcMFwwXDMyNyIKKyAgIlwwXDBcMFwzNTZcMFwwXDBcMzU0XDBcMFwwXDM0N1wwXDBcMHtcMFwwXDBGXDBcMFwwXDIxXDBcMFwwXDFcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDNcMFwwXDBcMTBcMFwwXDBcMTVcMFwwXDBcMjBcMFwwXDBcMzBcMFwwXDAsXDBcMFwwIgorICAiXDc3XDBcMFwwSFwwXDBcMEhcMFwwXDBAXDBcMFwwXDM3XDBcMFwwXDVcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDdcMFwwXDBcMTNcMFwwXDBcMTZcMCIKKyAgIlwwXDBcMTZcMFwwXDBcMTRcMFwwXDBcNVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMCJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfYm9va19ncmVlbikKKyNlbmRpZgorI2lmZGVmIF9fR05VQ19fCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX2Jvb2tfZ3JlZW5bXSBfX2F0dHJpYnV0ZV9fICgoX19hbGlnbmVkX18gKDQpKSkgPSAKKyNlbHNlCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX2Jvb2tfZ3JlZW5bXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICgyMzA0KSAqLworICAiXDBcMFwxMVwzMCIKKyAgLyogcGl4ZGF0YV90eXBlICgweDEwMTAwMDIpICovCisgICJcMVwxXDBcMiIKKyAgLyogcm93c3RyaWRlICg5NikgKi8KKyAgIlwwXDBcMGAiCisgIC8qIHdpZHRoICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogaGVpZ2h0ICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcM1wwXDBcMCIiOVwwXDBcMFwzMDJcMFwwXDBcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzU3XDBcMFwwXDM1NlwwXDBcMFwzNDZcMFwwXDBcMzQyXDBcMFwwd1wwXDBcMFwxM1wwXDAiCisgICJcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzMlwyMVwzNFwyMVwzNzdcMjI1IgorICAiXDI3NlwyMjVcMzc3eVwyNTV5XDM3N25cMjQ2blwzNzdlXDI0MWVcMzc3XlwyMzNeXDM3N1lcMjIyWVwzNzdTXDIxMlMiCisgICJcMzc3T1wyMDJPXDM3N09cMjAyT1wzNzdPXDIwMk9cMzc3T1wyMDJPXDM3N09cMjAyT1wzNzdSXDIxMFJcMzc3Q25DXDM3NyIKKyAgIlwyMlwzNlwyMlwzNzZcMFwwXDAuXDBcMFwwXDEwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwyNzNvXDI0N29cMzc3XDIxNFwyNzFcMjE0XDM3N3JcMjUxclwzNzdWXDIxNlZcMzc3UFwyMDRQXDM3N0p6IgorICAiSlwzNzdDb0NcMzc3PWU9XDM3NzpgOlwzNzc6YDpcMzc3PWU9XDM3Nz1lPVwzNzdBa0FcMzc3PWU9XDM3NzBQMFwzNzciCisgICJcMjYjXDI2XDM3MlwwXDBcME5cMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyMiIKKyAgIlwxMVwxN1wxMVwzNzdcMjI3XDI3N1wyMjdcMzc3fVwyNjB9XDM3N1lcMjIzWVwzNzdUXDIxM1RcMzc3TVwxNzdNXDM3NyIKKyAgIkd1R1wzNzdBa0FcMzc3O2E7XDM3NzpgOlwzNzc6YDpcMzc3OmA6XDM3NzpgOlwzNzdAakBcMzc3M1QzXDM3NyE2IVwzNzciCisgICJcMFwwXDBeXDBcMFwwRFwwXDBcMFwxNlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDI1NU9cMjAzIgorICAiT1wzNzdcMjI3XDI3N1wyMjdcMzc3cVwyNTBxXDM3N1dcMjE3V1wzNzdQXDIwNFBcMzc3S3xLXDM3N0VyRVwzNzc+Zj4iCisgICJcMzc3OmA6XDM3NzpgOlwzNzc6YDpcMzc3OmA6XDM3NzxjPFwzNzdAakBcMzc3L04vXDM3NyxJLFwzNzVcMFwwXDBcMzc3IgorICAiXDBcMFwwJVwwXDBcMFw1XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDIxXDBcMFwwXDM3N1wyMjdcMjc3XDIyNyIKKyAgIlwzNzd+XDI2MH5cMzc3W1wyMjZbXDM3N1VcMjE0VVwzNzdOXDIwMU5cMzc3SHdIXDM3N0JtQlwzNzc8YzxcMzc3OmA6IgorICAiXDM3NzpgOlwzNzc7YTtcMzc3OmA6XDM3N0BpQFwzNzczVDNcMzc3XDMwKFwzMFwzNzdcMjAxXDIwMVwyMDFcMzc3KEIiCisgICIoXDM3N1wwXDBcMEZcMFwwXDBcMTVcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMjMyT1wyMDNPXDM3N1wyMTUiCisgICJcMjcxXDIxNVwzNzdxXDI1MHFcMzc3WFwyMjFYXDM3N1JcMjA3UlwzNzdMfUxcMzc3RnNGXDM3N0BpQFwzNzc6YDpcMzc3IgorICAiOmA6XDM3NzpgOlwzNzc6YDpcMzc3O2E7XDM3N0JtQlwzNzcvTi9cMzc3XDM1IiIwXDM1XDM3NktLS1wzNzdcMjIwXDIyMCIKKyAgIlwyMjBcMzc3XDBcMFwwUVwwXDBcMFwyMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMjBcMFwwXDBcMzc3XDIyNlwyNzdcMjI2IgorICAiXDM3NX1cMjYwfVwzNzdcXFwyMjdcXFwzNzdWXDIxNVZcMzc3T1wyMDNPXDM3N0l4SVwzNzdDbkNcMzc3PWQ9XDM3NzoiCisgICJgOlwzNzc6YDpcMzc3OmA6XDM3NzpgOlwzNzdcNzdoXDc3XDM3NzRWNFwzNzdcMzEqXDMxXDM3N1ZWVlwzNjZnZ2dcMzc3IgorICAiMzMzXDM3N1wwXDBcMFFcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDMzNVdcMjE3V1wzNzdcMjE0XDI3MVwyMTQiCisgICJcMzc3clwyNTFyXDM3N1lcMjIyWVwzNzdSXDIxMFJcMzc3TH5MXDM3N0Z0RlwzNzdAakBcMzc3OmA6XDM3NzpgOlwzNzciCisgICI6YDpcMzc3OmA6XDM3NzpgOlwzNzdBa0FcMzc3MVExXDM3N1wzNyIiM1wzN1wzNzdISEhcMzc3d1wyNTR3XDM3N1wwXDAiCisgICJcMFwzNzdcMFwwXDBjXDBcMFwwXDIxXDBcMFwwXDBcMFwwXDAhXDBcMFwwXDM3N1wyMjZcMjc3XDIyNlwzNzdcMjA0XDI2NCIKKyAgIlwyMDRcMzc3X1wyMzVfXDM3N1ZcMjE2VlwzNzdQXDIwNFBcMzc3SnpKXDM3N0NvQ1wzNzc9ZT1cMzc3OmA6XDM3NzpgIgorICAiOlwzNzc6YDpcMzc3OmA6XDM3Nz1kPVwzNzc4XThcMzc3XDMyK1wzMlwzNzdnZ2dcMzc3bm5uXDM3NzRWNFwzNzdcMFwwIgorICAiXDBcMzczXDBcMFwwUlwwXDBcMFwyNVwwXDBcMFwwXDBcMFwwXDI0NVVcMjE0VVwzNzdcMjIwXDI3M1wyMjBcMzc3blwyNDYiCisgICJuXDM3N1tcMjI2W1wzNzdVXDIxNFVcMzc3TlwyMDFOXDM3N0h3SFwzNzdCbUJcMzc3PGM8XDM3NzpgOlwzNzc6YDpcMzc3IgorICAiOmA6XDM3NzpgOlwzNzdCbUJcMzc3L04vXDM3NyE2IVwzNzdYWFhcMzc3dFwyNTN0XDM3N1wxMVwxN1wxMVwzNzJcMFwwIgorICAiXDBcMjM0XDBcMFwwSVwwXDBcMFwxN1wwXDBcMFwxM1wwXDBcMFwzNzd0XDI0N3RcMzM3XDIxMFwyNjZcMjEwXDM3N2giCisgICJcMjQzaFwzNzdYXDIyMVhcMzc3UlwyMDdSXDM3N0x9TFwzNzdGc0ZcMzc3QGlAXDM3NzpgOlwzNzc6YDpcMzc3OmA6XDM3NyIKKyAgIjpgOlwzNzc6YDpcMzc3OV45XDM3N1wzMy5cMzNcMzc3S0tLXDM3N3R0dFwzNzdFcEVcMzcwXDBcMFwwXDM2NFwwXDBcMCIKKyAgIlVcMFwwXDArXDBcMFwwXDdcMFwwXDBcMjA2WVwyMjJZXDM3N1wyNzJcMzI1XDI3MlwzNzVcMjU0XDMxNFwyNTRcMzc3IgorICAiXDI0M1wzMDdcMjQzXDM3N1wyMzdcMzA0XDIzN1wzNzdcMjMwXDMwMFwyMzBcMzc3XDIyM1wyNzVcMjIzXDM3N1wyMTAiCisgICJcMjY2XDIxMFwzNzdyXDI1MXJcMzc3b1wyNDdvXDM3N29cMjQ3b1wzNzdvXDI0N29cMzc3b1wyNDdvXDM3N2VcMjQxZSIKKyAgIlwzNzdNXDE3N01cMzc3KEIoXDM3N15eXlwzNzd4XDI1NXhcMzc3XDExXDE3XDExXDM3MlwwXDBcMFwyMzNcMFwwXDBHIgorICAiXDBcMFwwXDIxXDBcMFwwXDFcM1w1XDNcMzMxXDI1MFwzMTJcMjUwXDM3Ny5MLlwzNzcpRClcMzc3KUQpXDM3NylEKVwzNzciCisgICIpRClcMzc3KUQpXDM3NylEKVwzNzcpRClcMzc3KUQpXDM3NylEKVwzNzcpRClcMzc3KUQpXDM3NylEKVwzNzcnQSdcMzc3IgorICAiY2NjXDM3N3h4eFwzNzdId0hcMzc3XDBcMFwwXDM2NVwwXDBcMFVcMFwwXDAqXDBcMFwwXDZcMFwwXDBcMFwxM1wyMlwxMyIKKyAgIlwzNzd3XDI1NHdcMzc3MVExXDM3N19fX1wzNzN0dHRcMzc3XDIyNlwyMjZcMjI2XDM3N1wyNjFcMjYxXDI2MVwzNzdcMjU3IgorICAiXDI1N1wyNTdcMzc3XDMwNVwzMDVcMzA1XDM3N1wzMTZcMzE2XDMxNlwzNzdcMjcyXDI3MlwyNzJcMzc3XDMwMlwzMDIiCisgICJcMzAyXDM3N1wzMDNcMzAzXDMwM1wzNzdcMzEzXDMxM1wzMTNcMzc3XDMyMlwzMjJcMzIyXDM3N1wzMzJcMzMyXDMzMiIKKyAgIlwzNzdcMjI1XDIyNVwyMjVcMzc3bVwyNDZtXDM3N1wyM1wzN1wyM1wzNzFcMFwwXDBcMjM0XDBcMFwwSFwwXDBcMFwyMiIKKyAgIlwwXDBcMFwxXDBcMFwwXDBcMTFcMTdcMTFcMzc3XFxcMjMwXFxcMzc3QWtBXDM3N35+flwzNzdcMzQ0XDM0NFwzNDRcMzc3IgorICAiXDM0NFwzNDRcMzQ0XDM3N1wzNDFcMzQxXDM0MVwzNzdcMzM3XDMzN1wzMzdcMzc3XDMzN1wzMzdcMzM3XDM3N1wzNjIiCisgICJcMzYyXDM2MlwzNzdcMzc1XDM3NVwzNzVcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzYzXDM2MyIKKyAgIlwzNjNcMzc3XDI1MFwyNTBcMjUwXDM3N1wyNjVcMjY1XDI2NVwzNzdtbW1cMzc3SHdIXDM3N1wwXDFcMFwzNzBcMFwwIgorICAiXDBVXDBcMFwwKlwwXDBcMFw2XDBcMFwwXDBcMFwwXDBcMFwzMy5cMzNcMzc3VlwyMTVWXDM3N1xcXDIzMFxcXDM3N1AiCisgICJcMjA0UFwzNzdGdEZcMzc3XDMzM1wzMzNcMzMzXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzU3XDM1N1wzNTdcMzc3XDM1NyIKKyAgIlwzNTdcMzU3XDM3N1wzNDZcMzQ2XDM0NlwzNzdcMzM2XDMzNlwzMzZcMzc3XDM0MVwzNDFcMzQxXDM3N1wzNDFcMzQxIgorICAiXDM0MVwzNzdcMzM3XDMzN1wzMzdcMzc3XDM0MlwzNDJcMzQyXDM3N3p6elwzNzdzXDI1MnNcMzc3XDI0XDQwXDI0XDM2NyIKKyAgIlwwXDBcMFwyMzRcMFwwXDBJXDBcMFwwXDIyXDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIiI5XDBcMFwwXDM3NyIKKyAgIlw1XDEwXDVcMzU0OFs4XDM2M014TVwzNTFRXDIwMFFcMzU3T1wyMDNPXDM3N1JcMjEwUlwzNzdcMjI3XDIyN1wyMjdcMzc3IgorICAiXDMzNFwzMzRcMzM0XDM3N1wzNDVcMzQ1XDM0NVwzNzdcMzUzXDM1M1wzNTNcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzEiCisgICJcMzcxXDM3MVwzNzdcMjA1XDIwNVwyMDVcMzc3XDI0NlwyNDZcMjQ2XDM3N1wyMTNcMjcwXDIxM1wzNzdcMVwyXDFcMzcwIgorICAiXDBcMFwwVVwwXDBcMCpcMFwwXDBcN1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwJlwwXDBcMGUiCisgICJcMFwwXDBcMjc2XDBcMFwwXDM0NlwwXDBcMFwzNjBcMFwwXDBcMzYzOV05XDM3MUFqQVwzNzFPXDIwME9cMzY3UVwyMDMiCisgICJRXDM2NlFcMjA2UVwzNzdcMjQ1XDMxMFwyNDVcMzc3XDM0MFwzNDBcMzQwXDM3N1wzNTJcMzUyXDM1MlwzNzdcMjEzXDI3MCIKKyAgIlwyMTNcMzc3XDI1XCJcMjVcMzczXDBcMFwwXDIzNFwwXDBcMEhcMFwwXDBcMjJcMFwwXDBcMVwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDZcMFwwXDBcMTdcMFwwXDBcMzRcMFwwXDAiIjRcMFwwXDBDXDBcMFwwZ1wwIgorICAiXDBcMFwyNTFcMFwwXDBcMzQ0XDBcMFwwXDM2MVwwXDBcMFwzNTYvTC9cMzY1O2E7XDM3MUh2SFwzNzJNfU1cMzY3THoiCisgICJMXDM1N1wyXDNcMlwzNjdcMFwwXDBVXDBcMFwwK1wwXDBcMFw3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcM1wwXDBcMFwxMlwwXDBcMFwxNVwwXDBcMFwyMFwwXDBcMFwzMyIKKyAgIlwwXDBcMCIiMFwwXDBcMENcMFwwXDBfXDBcMFwwXDIzNVwwXDBcMFwzMjdcMFwwXDBcMzU2XDBcMFwwXDM1NFwwXDBcMCIKKyAgIlwzNDdcMFwwXDB7XDBcMFwwRlwwXDBcMFwyMVwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzXDBcMFwwIgorICAiXDEwXDBcMFwwXDE1XDBcMFwwXDIwXDBcMFwwXDMwXDBcMFwwLFwwXDBcMFw3N1wwXDBcMEhcMFwwXDBIXDBcMFwwQFwwIgorICAiXDBcMFwzN1wwXDBcMFw1XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMlwwXDBcMFw3XDBcMFwwXDEzXDBcMFwwXDE2XDBcMFwwXDE2XDBcMFwwXDE0XDBcMFwwXDVcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAifTsKKworCisvKiBHZGtQaXhidWYgUkdCQSBDLVNvdXJjZSBpbWFnZSBkdW1wICovCisKKyNpZmRlZiBfX1NVTlBST19DCisjcHJhZ21hIGFsaWduIDQgKHN0b2NrX2Jvb2tfb3BlbikKKyNlbmRpZgorI2lmZGVmIF9fR05VQ19fCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX2Jvb2tfb3BlbltdIF9fYXR0cmlidXRlX18gKChfX2FsaWduZWRfXyAoNCkpKSA9IAorI2Vsc2UKK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfYm9va19vcGVuW10gPSAKKyNlbmRpZgoreyAiIgorICAvKiBQaXhidWYgbWFnaWMgKDB4NDc2NDZiNTApICovCisgICJHZGtQIgorICAvKiBsZW5ndGg6IGhlYWRlciAoMjQpICsgcGl4ZWxfZGF0YSAoMjMwNCkgKi8KKyAgIlwwXDBcMTFcMzAiCisgIC8qIHBpeGRhdGFfdHlwZSAoMHgxMDEwMDAyKSAqLworICAiXDFcMVwwXDIiCisgIC8qIHJvd3N0cmlkZSAoOTYpICovCisgICJcMFwwXDBgIgorICAvKiB3aWR0aCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIGhlaWdodCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIHBpeGVsX2RhdGE6ICovCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDNPT09EXDBcMFwwXDM3N1w0XDVcNiIKKyAgIlwzNzdcMFwwXDA7XDBcMFwwXDIwXDBcMFwwXDZcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzTk5ORVwxM1wxN1wyMlwzNzdcMjI1XDIzN1wyNTJcMzc3XDMwM1wzMDYiCisgICJcMzEyXDM1NlwwXDBcMFwzNzdcMFwwXDAmXDBcMFwwXDIyXDBcMFwwXDVcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDAuXDEzXDE3XDIyXDM3N1wyMDJcMjIwXDIzNlwzNzdcMzYxXDM2MSIKKyAgIlwzNjFcMzc3XDMyNVwzMjdcMzMwXDM3N1wxMlwxNVwyMFwzNzdcMFwwXDBfXDBcMFwwXDQwXDBcMFwwXDEzXDBcMFwwIgorICAiXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMlwwXDBcMC5cMjFcMjdcMzRcMzc3XDIwNlwyMjNcMjQwIgorICAiXDM3N1wzNTdcMzYwXDM2MFwzNzdcMzM2XDMzNlwzMzZcMzc3XDMyNVwzMjVcMzI1XDM3N1wyMzNcMjM3XDI0NFwzMjQiCisgICJcMFwwXDBcMzc3XDBcMFwwL1wwXDBcMFwyNFwwXDBcMFw1XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyXDBcMFwwIgorICAiLlwxNlwyM1wyN1wzNzdcMjA1XDIyMlwyMzdcMzc3XDM1N1wzNjBcMzYwXDM3N1wzMzNcMzMzXDMzM1wzNzdcMzEyXDMxMiIKKyAgIlwzMTJcMzc3XDMxMFwzMTBcMzEwXDM3N1wzMTBcMzExXDMxMlwzNzdcMTRcMTdcMjNcMzc3XDBcMFwwW1wwXDBcMFw0MCIKKyAgIlwwXDBcMFwxM1wwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDAuXDI0XDMyXDQwXDM3N3lcMjEwXDIyNVwzNzBcMzYxXDM2MSIKKyAgIlwzNjFcMzc3XDMyNVwzMjVcMzI1XDM3N1wzMTJcMzEyXDMxMlwzNzdcMzIyXDMyMlwzMjJcMzc3XDMwM1wzMDNcMzAzIgorICAiXDM3N1wzMTVcMzE1XDMxNVwzNzd0eX5cMjc1XDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjRcMFwwXDBcNlwwXDBcMFwyIgorICAiXDBcMFwwXDFcMFwwXDBcMVwwXDBcMFwxXDBcMFwwXDFcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMC1cMjdcMzcmXDM3N1wxNzdcMjE1XDIzMlwzNjFcMzU3XDM2MFwzNjBcMzc3XDMzMlwzMzJcMzMyXDM3N1wzMjNcMzIzIgorICAiXDMyM1wzNzdcMzA0XDMwNFwzMDRcMzc3XDMxNlwzMTZcMzE2XDM3N1wzMDBcMzAwXDMwMFwzNzdcMzEyXDMxMlwzMTIiCisgICJcMzc3XDI2MVwyNjFcMjYxXDMzNlwxNVwyMVwyNVwzNzdcMFwwXDBZXDBcMFwwI1wwXDBcMFwyMlwwXDBcMFwxNFwwXDAiCisgICJcMFwxMlwwXDBcMFwxMlwwXDBcMFwxMlwwXDBcMFwxMVwwXDBcMFw3XDBcMFwwXDRcMFwwXDBcMVwwXDBcMFwwXDBcMCIKKyAgIlwwXDM3N3ZcMjA1XDIyMlwzNTBcMzU2XDM1N1wzNTdcMzc3XDMzMVwzMzFcMzMxXDM3N1wzMjNcMzIzXDMyM1wzNzdcMzIwIgorICAiXDMyMFwzMjBcMzc3XDMwMlwzMDJcMzAyXDM3N1wzMTNcMzEzXDMxM1wzNzdcMzExXDMxMVwzMTFcMzc3XDI3NFwyNzQiCisgICJcMjc0XDM3N1wyNDRcMjQ3XDI1MVwzNDRoa2xcMzUxMzMzXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM1MlwwXDBcMFwxNzdcMFwwXDA9XDBcMFwwXDIwXDBcMFwwXDZcMFwwIgorICAiXDBcMUFPXVwzNzdcMjU1XDI2NVwyNzRcMzYzXDM1MlwzNTJcMzUyXDM3N1wzMjJcMzIyXDMyMlwzNzdcMjc3XDI3N1wyNzciCisgICJcMzc3XDMxNVwzMTVcMzE1XDM3N1wzMTNcMzEzXDMxM1wzNzdcMjc1XDI3NVwyNzVcMzc3XDMwNlwzMDZcMzA2XDM3NyIKKyAgIlwyNjVcMjY2XDI2N1wzNjVcMjExXDIyMFwyMjZcMzcwXDI3MFwyNzBcMjcwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdAQUJcMzQyXDBcMFwwXDE3N1wwXDBcMCVcMFwwXDBcMjBcMFwwXDBcNFwwXDAiCisgICJcMFwzNzdNYHRcMzQwXDM1M1wzNTNcMzUzXDM3N1wzMjFcMzIxXDMyMVwzNzdcMzAzXDMwM1wzMDNcMzc3XDMwMVwzMDEiCisgICJcMzAxXDM3N1wzMTBcMzEwXDMxMFwzNzdcMjY3XDI2N1wyNjdcMzc3XDMwM1wzMDNcMzAzXDM3N1wyMjdcMjM3XDI0NyIKKyAgIlwzNDdcMjQxXDI0M1wyNDRcMzc2XDM3NFwzNzVcMzc1XDM3N1wzNjNcMzY0XDM2NFwzNzdcMzUzXDM1NFwzNTVcMzc3IgorICAiXDM1MlwzNTNcMzU0XDM3N1wzNTFcMzUyXDM1M1wzNzdcMzU2XDM1N1wzNjFcMzc3XDM2NlwzNjdcMzcwXDM3N1wzNDQiCisgICJcMzQ1XDM0NlwzNzZcMjIyXDIyM1wyMjVcMzc1XDBcMFwwXDM3N1wwXDBcMCIiOVwwXDBcMFwzM1wwXDBcMFw3XDBcMCIKKyAgIlwwPTJBT1wzNzdcMjE0XDIzMFwyNDJcMzYyXDM0N1wzNDdcMzQ3XDM3N1wzMTFcMzExXDMxMVwzNzdcMjczXDI3M1wyNzMiCisgICJcMzc3XDMwNFwzMDRcMzA0XDM3N1wzMDJcMzAyXDMwMlwzNzdcMjQ0XDI0N1wyNTNcMzQ2XDIyM1wyMjZcMjMxXDM3NSIKKyAgIlwzMjdcMzMwXDMzMFwzNzdcMzc0XDM3NVwzNzVcMzc3XDM3MlwzNzRcMzc0XDM3N1wzNzFcMzcyXDM3M1wzNzdcMzcwIgorICAiXDM3MVwzNzJcMzc3XDM2N1wzNzBcMzcxXDM3N1wzNjVcMzY2XDM3MFwzNzdcMzY3XDM2N1wzNzFcMzc3XDMwNlwzMDciCisgICJcMzA3XDM3N09ealwzNzVcMFwwXDBcMzYwXDBcMFwwQlwwXDBcMFwzN1wwXDBcMFwxMVwwXDBcMFwyM1wwXDBcMFwzNzciCisgICJMX3JcMzQwXDM1MFwzNTBcMzUwXDM3N1wzMDZcMzA2XDMwNlwzNzdcMjc2XDI3NlwyNzZcMzc3XDI3MFwyNzBcMjcwXDM3NyIKKyAgIlwyNjVcMjY1XDI2NlwzNjFcMjI3XDIzNlwyNDRcMzU2XDI1MFwyNTBcMjUwXDM3N1wzNzVcMzc2XDM3NlwzNzdcMzY1IgorICAiXDM2NlwzNjZcMzc3XDM0N1wzNTFcMzUxXDM3N1wzNTNcMzU0XDM1NVwzNzdcMzUyXDM1M1wzNTRcMzc3XDM2MFwzNjEiCisgICJcMzYyXDM3N1wzNzBcMzcxXDM3MlwzNzdcMzQwXDM0MlwzNDNcMzc3XDIxN1wyMjZcMjM1XDM3NlwyNVwzNFwiXDM3NyIKKyAgIlwwXDBcMFwyMDFcMFwwXDA+XDBcMFwwXDM0XDBcMFwwXDEwXDBcMFwwXDEzXDBcMFwwQTVEU1wzNzdcMjE1XDIzMVwyNDIiCisgICJcMzYzXDM0M1wzNDNcMzQzXDM3N1wzMDFcMzAxXDMwMVwzNzdcMjc2XDI3NlwyNzZcMzc3XDIxNlwyMjRcMjMyXDMxNiIKKyAgIlwyMzVcMjM3XDIzN1wzNzZcMzc3XDM3N1wzNzdcMzc3XDM3NVwzNzZcMzc2XDM3N1wzNzRcMzc1XDM3NVwzNzdcMzcyIgorICAiXDM3NFwzNzRcMzc3XDM2MlwzNjNcMzY0XDM3N1wzNjFcMzYyXDM2M1wzNzdcMzY3XDM3MFwzNzFcMzc3XDM2NlwzNjYiCisgICJcMzY3XDM3N1wyNDZcMjUwXDI1M1wzNzdzXDE3N1wyMTJcMzc2XDRcNVw2XDM3N1wwXDBcMFBcMFwwXDAiIjFcMFwwXDAiCisgICJcMjRcMFwwXDBcNVwwXDBcMFw1XDBcMFwwXDI0XDBcMFwwXDM3N0tfcVwzNDBcMzQ1XDM0NVwzNDVcMzc3XDMwMVwzMDEiCisgICJcMzAxXDM3N1wyMzZcMjM3XDI0MFwzMjZcMjI3XDIzMVwyMzNcMzc1XDMzMVwzMzFcMzMxXDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzQ3XDM1MFwzNTBcMzc3XDM1NlwzNTdcMzU3XDM3N1wzNjRcMzY1XDM2NVwzNzdcMzcxXDM3MlwzNzNcMzc3IgorICAiXDM3MFwzNzFcMzcyXDM3N1wzNzNcMzczXDM3M1wzNzdcMzMwXDMzMFwzMzJcMzc3XDIyM1wyMzNcMjQzXDM3N1wxN1wyNCIKKyAgIlwzMFwzNzdcMFwwXDB0XDBcMFwwQlwwXDBcMFwiXDBcMFwwXDE0XDBcMFwwXDNcMFwwXDBcMlwwXDBcMFwxM1wwXDBcMCIKKyAgIkE5SVdcMzc3XDIwMlwyMTdcMjI3XDM2MFwzMzNcMzMzXDMzM1wzNzBcMjEyXDIxNlwyMjJcMzQ3XDI2NFwyNjRcMjY0IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NVwzNzZcMzc2XDM3N1wzNjVcMzY2XDM2NlwzNzciCisgICJcMzU0XDM1NlwzNTZcMzc3XDM0NlwzNDdcMzUwXDM3N1wzNzJcMzcyXDM3M1wzNzdcMzY1XDM2NVwzNjdcMzc3XDI1NiIKKyAgIlwyNjJcMjY2XDM3N1xcbHxcMzc3XDBcMFwwXDM3N1wwXDBcMFBcMFwwXDAiIjFcMFwwXDBcMjVcMFwwXDBcNlwwXDBcMCIKKyAgIlwxXDBcMFwwXDBcMFwwXDBcNVwwXDBcMFwyNFwwXDBcMFwzNzdKXXBcMzM2XDI3M1wyNzNcMjczXDMyMVwyNTNcMjUzIgorICAiXDI1M1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzU3XDM2MFwzNjAiCisgICJcMzc3XDM3NFwzNzVcMzc1XDM3N1wzNzJcMzczXDM3M1wzNzdcMzcxXDM3MlwzNzNcMzc3XDM3M1wzNzRcMzc0XDM3NyIKKyAgIlwzMzZcMzQxXDM0M1wzNzdcMjM1XDI0NlwyNTZcMzc3XDEyXDE1XDIwXDM3N1wwXDBcMHRcMFwwXDBBXDBcMFwwXCJcMCIKKyAgIlwwXDBcMTNcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwxM1wwXDBcMEEkLzpcMzc3aW1xXDM0NiIKKyAgInd4eVwzNzdcMzYyXDM2M1wzNjNcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM2MFwzNjBcMzYwXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzczXDM3NFwzNzRcMzc3XDM3MVwzNzFcMzcyXDM3N1wyNzMiCisgICJcMjc3XDMwNFwzNzdWZ3lcMzc3XDBcMFwwXDM3N1wwXDBcMFBcMFwwXDAiIjFcMFwwXDBcMjVcMFwwXDBcNlwwXDBcMCIKKyAgIlwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDVcMFwwXDBcMjRcMFwwXDBcMzc3Sl90XDM3MDE+S1wzNzZcMjYzIgorICAiXDI3NVwzMDZcMzc1XDMyMVwzMjdcMzM1XDM3N1wzMzFcMzM2XDM0M1wzNzdcMzY2XDM2N1wzNjdcMzc3XDM2NVwzNjUiCisgICJcMzY1XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDMyMVwzMjJcMzI0XDM3N1wyMzJcMjQzXDI1NCIKKyAgIlwzNzdcNFw1XDZcMzc3XDBcMFwwdFwwXDBcMEFcMFwwXDAhXDBcMFwwXDEzXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDEzXDBcMFwwIiI3XDBcMFwwXDI1Nis0PFwzNjYpMjtcMzc3T18iCisgICJwXDM3N15xXDIwNFwzNzZcMjIxXDIzNlwyNTNcMzc1XDIzN1wyNTNcMjY2XDM3NVwyNzdcMzA3XDMyMFwzNzdcMzUwXDM1NCIKKyAgIlwzNTZcMzc3XDI2MlwyNzBcMjc2XDM3N3F9XDIxMFwzNzZcMFwwXDBcMzc3XDBcMFwwUFwwXDBcMCIiMVwwXDBcMFwyNSIKKyAgIlwwXDBcMFw2XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDVcMFwwIgorICAiXDBcMjJcMFwwXDAmXDBcMFwwOlwwXDBcMFlcMFwwXDBcMjAwXDBcMFwwXDMwMSUtNVwzNzdRYXJcMzc3Vmd5XDM3NXoiCisgICJcMjA2XDIyNVwzNzV2XDIwNVwyMjRcMzc0XDBcMFwwXDM3N1wwXDBcMHJcMFwwXDBcNzdcMFwwXDAhXDBcMFwwXDEzXDAiCisgICJcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMCIKKyAgIlw2XDBcMFwwXDIwXDBcMFwwXDM0XDBcMFwwJVwwXDBcMC1cMFwwXDAiIjhcMFwwXDBYXDBcMFwwXDIwMFwwXDBcMFwyNzUiCisgICIsND1cMzc3IScuXDM3N1wwXDBcMHBcMFwwXDBEXDBcMFwwKlwwXDBcMFwyM1wwXDBcMFw1XDBcMFwwXDFcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDRcMFwwIgorICAiXDBcMTBcMFwwXDBcMTRcMFwwXDBcMjFcMFwwXDBcMzFcMFwwXDBcIlwwXDBcMCxcMFwwXDAiIjdcMFwwXDBBXDBcMFwwIgorICAiQ1wwXDBcMDtcMFwwXDApXDBcMFwwXDI2XDBcMFwwXDEwXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDIiCisgICJcMFwwXDBcNFwwXDBcMFw2XDBcMFwwXDEzXDBcMFwwXDIwXDBcMFwwXDMwXDBcMFwwXDM3XDBcMFwwXDQwXDBcMFwwXDMzIgorICAiXDBcMFwwXDIxXDBcMFwwXDEwXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDFcMFwwXDBcMlwwXDBcMFw0XDBcMFwwXDZcMFwwXDBcMTBcMFwwXDBcMTFcMFwwXDBcN1wwXDBcMFw0IgorICAiXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAifTsKKworCisvKiBHZGtQaXhidWYgUkdCQSBDLVNvdXJjZSBpbWFnZSBkdW1wICovCisKKyNpZmRlZiBfX1NVTlBST19DCisjcHJhZ21hIGFsaWduIDQgKHN0b2NrX2Jvb2tfcmVkKQorI2VuZGlmCisjaWZkZWYgX19HTlVDX18KK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfYm9va19yZWRbXSBfX2F0dHJpYnV0ZV9fICgoX19hbGlnbmVkX18gKDQpKSkgPSAKKyNlbHNlCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX2Jvb2tfcmVkW10gPSAKKyNlbmRpZgoreyAiIgorICAvKiBQaXhidWYgbWFnaWMgKDB4NDc2NDZiNTApICovCisgICJHZGtQIgorICAvKiBsZW5ndGg6IGhlYWRlciAoMjQpICsgcGl4ZWxfZGF0YSAoMjMwNCkgKi8KKyAgIlwwXDBcMTFcMzAiCisgIC8qIHBpeGRhdGFfdHlwZSAoMHgxMDEwMDAyKSAqLworICAiXDFcMVwwXDIiCisgIC8qIHJvd3N0cmlkZSAoOTYpICovCisgICJcMFwwXDBgIgorICAvKiB3aWR0aCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIGhlaWdodCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIHBpeGVsX2RhdGE6ICovCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDNcMFwwXDAiIjlcMFwwXDBcMzAyXDBcMFwwXDM3N1wwXDAiCisgICJcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMCIKKyAgIlwwXDBcMzc3XDBcMFwwXDM1N1wwXDBcMFwzNTZcMFwwXDBcMzQ2XDBcMFwwXDM0MlwwXDBcMHdcMFwwXDBcMTNcMFwwIgorICAiXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzJcMzdcMjFcMTZcMzc3XDMxMCIKKyAgIlwyMjVcMjEzXDM3N1wyNzJ5bVwzNzdcMjY0bmBcMzc3XDI2MGZXXDM3N1wyNTJeT1wzNzdcMjQwWUtcMzc3XDIyNlNGIgorICAiXDM3N1wyMTZPQ1wzNzdcMjE2T0NcMzc3XDIxNk9DXDM3N1wyMTZPQ1wzNzdcMjE2T0NcMzc3XDIyNVJGXDM3N3hDOFwzNzciCisgICIhXDIyXDE3XDM3NlwwXDBcMC5cMFwwXDBcMTBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDI3M1wyNjVwYlwzNzdcMzAzXDIxNFwyMDFcMzc3XDI2NnJlXDM3N1wyMzRXSVwzNzdcMjIxUERcMzc3XDIwNiIKKyAgIko+XDM3N3pEOVwzNzdvPjRcMzc3aTsxXDM3N2k7MVwzNzdvPjRcMzc3bz40XDM3N3ZBN1wzNzdvPjRcMzc3WDApXDM3NyIKKyAgIidcMjZcMjJcMzcyXDBcMFwwTlwwXDBcMFwyMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDIyIgorICAiXDIxXDExXDEwXDM3N1wzMTFcMjI3XDIxNVwzNzdcMjc0fXFcMzc3XDI0MVpLXDM3N1wyMzBUR1wzNzdcMjE0TUFcMzc3IgorICAiXDIwMUc8XDM3N3ZBN1wzNzdrOzJcMzc3aTsxXDM3N2k7MVwzNzdpOzFcMzc3aTsxXDM3N3RBNlwzNzdcXDMrXDM3NzsiCisgICIhXDMzXDM3N1wwXDBcMF5cMFwwXDBEXDBcMFwwXDE2XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMjU1XDIxN09DXDM3N1wzMTFcMjI3XDIxNVwzNzdcMjY1cWNcMzc3XDIzNVdJXDM3N1wyMjFQRFwzNzdcMjEwS1w3NyIKKyAgIlwzNzd8RTpcMzc3cD40XDM3N2k7MVwzNzdpOzFcMzc3aTsxXDM3N2k7MVwzNzdsPDNcMzc3dEE2XDM3N1UvKFwzNzdPIgorICAiLCVcMzc1XDBcMFwwXDM3N1wwXDBcMCVcMFwwXDBcNVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyMVwwXDAiCisgICJcMFwzNzdcMzExXDIyN1wyMTVcMzc3XDI3NX5yXDM3N1wyNDRbTFwzNzdcMjMxVUhcMzc3XDIxNU5CXDM3N1wyMDJIPCIKKyAgIlwzNzd3QjhcMzc3bDwzXDM3N2k7MVwzNzdpOzFcMzc3azsyXDM3N2k7MVwzNzdzQDZcMzc3XFwzK1wzNzcsXDMwXDI0IgorICAiXDM3N1wyMDFcMjAxXDIwMVwzNzdJKFwiXDM3N1wwXDBcMEZcMFwwXDBcMTVcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMjMyXDIxN09DXDM3N1wzMDRcMjE1XDIwMlwzNzdcMjY1cWNcMzc3XDIzN1hKXDM3N1wyMjNSRVwzNzdcMjExIgorICAiTEBcMzc3fkY7XDM3N3NANlwzNzdpOzFcMzc3aTsxXDM3N2k7MVwzNzdpOzFcMzc3azsyXDM3N3dCOFwzNzdVLyhcMzc3IgorICAiNFwzNVwzMFwzNzZLS0tcMzc3XDIyMFwyMjBcMjIwXDM3N1wwXDBcMFFcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDIwXDBcMFwwXDM3N1wzMTBcMjI2XDIxNFwzNzVcMjc0fXFcMzc3XDI0NVxcTVwzNzdcMjMyVkhcMzc3XDIxNyIKKyAgIk9DXDM3N1wyMDNJPVwzNzd4QzhcMzc3bT0zXDM3N2k7MVwzNzdpOzFcMzc3aTsxXDM3N2k7MVwzNzdxXDc3IiI1XDM3NyIKKyAgIl80LFwzNzctXDMxXDI1XDM3N1ZWVlwzNjZnZ2dcMzc3MzMzXDM3N1wwXDBcMFFcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDMzNVwyMzVXSVwzNzdcMzAzXDIxNFwyMDFcMzc3XDI2NnJlXDM3N1wyNDBZS1wzNzdcMjI1UkZcMzc3IgorICAiXDIxMkxAXDM3N1wxNzdHO1wzNzd0QTZcMzc3aTsxXDM3N2k7MVwzNzdpOzFcMzc3aTsxXDM3N2k7MVwzNzd2QTdcMzc3IgorICAiWTEpXDM3NzhcMzdcMzJcMzc3SEhIXDM3N1wyNzB3alwzNzdcMFwwXDBcMzc3XDBcMFwwY1wwXDBcMFwyMVwwXDBcMFwwIgorICAiXDBcMFwwIVwwXDBcMFwzNzdcMzEwXDIyNlwyMTRcMzc3XDMwMFwyMDV5XDM3N1wyNTRgUFwzNzdcMjM0V0lcMzc3XDIyMSIKKyAgIlBEXDM3N1wyMDZKPlwzNzd6RDlcMzc3bz40XDM3N2k7MVwzNzdpOzFcMzc3aTsxXDM3N2k7MVwzNzdtPTNcMzc3ZjgvIgorICAiXDM3Ny9cMzJcMjZcMzc3Z2dnXDM3N25ublwzNzdfNCxcMzc3XDBcMFwwXDM3M1wwXDBcMFJcMFwwXDBcMjVcMFwwXDAiCisgICJcMFwwXDBcMFwyNDVcMjMxVUhcMzc3XDMwNVwyMjBcMjA1XDM3N1wyNjRuYFwzNzdcMjQ0W0xcMzc3XDIzMVVIXDM3NyIKKyAgIlwyMTVOQlwzNzdcMjAySDxcMzc3d0I4XDM3N2w8M1wzNzdpOzFcMzc3aTsxXDM3N2k7MVwzNzdpOzFcMzc3d0I4XDM3NyIKKyAgIlUvKFwzNzc7IVwzM1wzNzdYWFhcMzc3XDI2N3RnXDM3N1wyMVwxMVwxMFwzNzJcMFwwXDBcMjM0XDBcMFwwSVwwXDBcMCIKKyAgIlwxN1wwXDBcMFwxM1wwXDBcMFwzNzdcMjYydGhcMzM3XDMwMlwyMTB9XDM3N1wyNjFoWVwzNzdcMjM3WEpcMzc3XDIyMyIKKyAgIlJFXDM3N1wyMTFMQFwzNzd+RjtcMzc3c0A2XDM3N2k7MVwzNzdpOzFcMzc3aTsxXDM3N2k7MVwzNzdpOzFcMzc3ZzkwIgorICAiXDM3NzJcMzNcMjdcMzc3S0tLXDM3N3R0dFwzNzd6RTpcMzcwXDBcMFwwXDM2NFwwXDBcMFVcMFwwXDArXDBcMFwwXDciCisgICJcMFwwXDBcMjA2XDI0MFlLXDM3N1wzMzNcMjcyXDI2NFwzNzVcMzI0XDI1NFwyNDRcMzc3XDMyMFwyNDNcMjMzXDM3NyIKKyAgIlwzMTVcMjM3XDIyNlwzNzdcMzEyXDIzMVwyMTdcMzc3XDMwN1wyMjRcMjExXDM3N1wzMDJcMjEwfVwzNzdcMjY2cmVcMzc3IgorICAiXDI2NXBiXDM3N1wyNjVwYlwzNzdcMjY1cGJcMzc3XDI2NXBiXDM3N1wyNjBmV1wzNzdcMjE0TUFcMzc3SShcIlwzNzciCisgICJeXl5cMzc3XDI3MXhrXDM3N1wyMVwxMVwxMFwzNzJcMFwwXDBcMjMzXDBcMFwwR1wwXDBcMFwyMVwwXDBcMFwxXDZcMyIKKyAgIlwzXDMzMVwzMjJcMjUwXDI0MFwzNzdULidcMzc3SikjXDM3N0opI1wzNzdKKSNcMzc3SikjXDM3N0opI1wzNzdKKSNcMzc3IgorICAiSikjXDM3N0opI1wzNzdKKSNcMzc3SikjXDM3N0opI1wzNzdKKSNcMzc3RychXDM3N2NjY1wzNzd4eHhcMzc3XDIwMkgiCisgICI8XDM3N1wwXDBcMFwzNjVcMFwwXDBVXDBcMFwwKlwwXDBcMFw2XDBcMFwwXDBcMjRcMTNcMTFcMzc3XDI3MHdqXDM3NyIKKyAgIlkxKVwzNzdfX19cMzczdHR0XDM3N1wyMjZcMjI2XDIyNlwzNzdcMjYxXDI2MVwyNjFcMzc3XDI1N1wyNTdcMjU3XDM3NyIKKyAgIlwzMDVcMzA1XDMwNVwzNzdcMzE2XDMxNlwzMTZcMzc3XDI3MlwyNzJcMjcyXDM3N1wzMDJcMzAyXDMwMlwzNzdcMzAzIgorICAiXDMwM1wzMDNcMzc3XDMxM1wzMTNcMzEzXDM3N1wzMjJcMzIyXDMyMlwzNzdcMzMyXDMzMlwzMzJcMzc3XDIyNVwyMjUiCisgICJcMjI1XDM3N1wyNjRtX1wzNzdcIlwyM1wyMFwzNzFcMFwwXDBcMjM0XDBcMFwwSFwwXDBcMFwyMlwwXDBcMFwxXDBcMCIKKyAgIlwwXDBcMjFcMTFcMTBcMzc3XDI0N11OXDM3N3ZBN1wzNzd+fn5cMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NCIKKyAgIlwzNzdcMzQxXDM0MVwzNDFcMzc3XDMzN1wzMzdcMzM3XDM3N1wzMzdcMzM3XDMzN1wzNzdcMzYyXDM2MlwzNjJcMzc3IgorICAiXDM3NVwzNzVcMzc1XDM3N1wzNjNcMzYzXDM2M1wzNzdcMzYzXDM2M1wzNjNcMzc3XDM2M1wzNjNcMzYzXDM3N1wyNTAiCisgICJcMjUwXDI1MFwzNzdcMjY1XDI2NVwyNjVcMzc3bW1tXDM3N1wyMDJIPFwzNzdcMVwwXDBcMzcwXDBcMFwwVVwwXDBcMCIKKyAgIipcMFwwXDBcNlwwXDBcMFwwXDBcMFwwXDAiIjJcMzNcMjdcMzc3XDIzMlZIXDM3N1wyNDddTlwzNzdcMjIxUERcMzc3IgorICAiXDE3N0c7XDM3N1wzMzNcMzMzXDMzM1wzNzdcMzUyXDM1MlwzNTJcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNTdcMzU3XDM1NyIKKyAgIlwzNzdcMzQ2XDM0NlwzNDZcMzc3XDMzNlwzMzZcMzM2XDM3N1wzNDFcMzQxXDM0MVwzNzdcMzQxXDM0MVwzNDFcMzc3IgorICAiXDMzN1wzMzdcMzM3XDM3N1wzNDJcMzQyXDM0MlwzNzd6enpcMzc3XDI2N3NmXDM3NyRcMjRcMjFcMzY3XDBcMFwwXDIzNCIKKyAgIlwwXDBcMElcMFwwXDBcMjJcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiIjlcMFwwXDBcMzc3XDExXDVcNFwzNTQiCisgICJjODBcMzYzXDIwM01CXDM1MVwyMTRRRVwzNTdcMjE3T0NcMzc3XDIyNVJGXDM3N1wyMjdcMjI3XDIyN1wzNzdcMzM0XDMzNCIKKyAgIlwzMzRcMzc3XDM0NVwzNDVcMzQ1XDM3N1wzNTNcMzUzXDM1M1wzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MVwzNzFcMzcxIgorICAiXDM3N1wyMDVcMjA1XDIwNVwzNzdcMjQ2XDI0NlwyNDZcMzc3XDMwM1wyMTNcMjAwXDM3N1wyXDFcMVwzNzBcMFwwXDAiCisgICJVXDBcMFwwKlwwXDBcMFw3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAmXDBcMFwwZVwwXDBcMCIKKyAgIlwyNzZcMFwwXDBcMzQ2XDBcMFwwXDM2MFwwXDBcMFwzNjNmOjFcMzcxc0E3XDM3MVwyMTRPQ1wzNjdcMjE3UUVcMzY2IgorICAiXDIyMlFEXDM3N1wzMjBcMjQ1XDIzNFwzNzdcMzQwXDM0MFwzNDBcMzc3XDM1MlwzNTJcMzUyXDM3N1wzMDNcMjEzXDIwMCIKKyAgIlwzNzclXDI1XDIxXDM3M1wwXDBcMFwyMzRcMFwwXDBIXDBcMFwwXDIyXDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFw2XDBcMFwwXDE3XDBcMFwwXDM0XDBcMFwwIiI0XDBcMFwwQ1wwXDBcMGdcMFwwXDBcMjUxIgorICAiXDBcMFwwXDM0NFwwXDBcMFwzNjFcMFwwXDBcMzU2Uy8oXDM2NWo7MlwzNzFcMjAxST1cMzcyXDIxMU1CXDM2N1wyMDUiCisgICJMQVwzNTdcM1wyXDFcMzY3XDBcMFwwVVwwXDBcMCtcMFwwXDBcN1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDNcMFwwXDBcMTJcMFwwXDBcMTVcMFwwXDBcMjBcMFwwXDBcMzMiCisgICJcMFwwXDAiIjBcMFwwXDBDXDBcMFwwX1wwXDBcMFwyMzVcMFwwXDBcMzI3XDBcMFwwXDM1NlwwXDBcMFwzNTRcMFwwXDAiCisgICJcMzQ3XDBcMFwwe1wwXDBcMEZcMFwwXDBcMjFcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcM1wwXDBcMCIKKyAgIlwxMFwwXDBcMFwxNVwwXDBcMFwyMFwwXDBcMFwzMFwwXDBcMCxcMFwwXDBcNzdcMFwwXDBIXDBcMFwwSFwwXDBcMEBcMCIKKyAgIlwwXDBcMzdcMFwwXDBcNVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDJcMFwwXDBcN1wwXDBcMFwxM1wwXDBcMFwxNlwwXDBcMFwxNlwwXDBcMFwxNFwwXDBcMFw1XDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIn07CisKKworLyogR2RrUGl4YnVmIFJHQkEgQy1Tb3VyY2UgaW1hZ2UgZHVtcCAqLworCisjaWZkZWYgX19TVU5QUk9fQworI3ByYWdtYSBhbGlnbiA0IChzdG9ja19ib29rX3llbGxvdykKKyNlbmRpZgorI2lmZGVmIF9fR05VQ19fCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX2Jvb2tfeWVsbG93W10gX19hdHRyaWJ1dGVfXyAoKF9fYWxpZ25lZF9fICg0KSkpID0gCisjZWxzZQorc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja19ib29rX3llbGxvd1tdID0gCisjZW5kaWYKK3sgIiIKKyAgLyogUGl4YnVmIG1hZ2ljICgweDQ3NjQ2YjUwKSAqLworICAiR2RrUCIKKyAgLyogbGVuZ3RoOiBoZWFkZXIgKDI0KSArIHBpeGVsX2RhdGEgKDIzMDQpICovCisgICJcMFwwXDExXDMwIgorICAvKiBwaXhkYXRhX3R5cGUgKDB4MTAxMDAwMikgKi8KKyAgIlwxXDFcMFwyIgorICAvKiByb3dzdHJpZGUgKDk2KSAqLworICAiXDBcMFwwYCIKKyAgLyogd2lkdGggKDI0KSAqLworICAiXDBcMFwwXDMwIgorICAvKiBoZWlnaHQgKDI0KSAqLworICAiXDBcMFwwXDMwIgorICAvKiBwaXhlbF9kYXRhOiAqLworICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzXDBcMFwwIiI5XDBcMFwwXDMwMlwwXDBcMFwzNzdcMFwwIgorICAiXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDAiCisgICJcMFwwXDM3N1wwXDBcMFwzNTdcMFwwXDBcMzU2XDBcMFwwXDM0NlwwXDBcMFwzNDJcMFwwXDB3XDBcMFwwXDEzXDBcMCIKKyAgIlwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDMyKFw0MFw1XDM3N1wzNTJcMzE1IgorICAiaVwzNzdcMzQ0XDMwMENcMzc3XDM0MlwyNzMzXDM3N1wzNDFcMjY3JlwzNzdcMzMzXDI2MVwzNlwzNzdcMzE3XDI0N1wzNCIKKyAgIlwzNzdcMzAzXDIzNVwzMlwzNzdcMjcwXDIyNFwzMVwzNzdcMjcwXDIyNFwzMVwzNzdcMjcwXDIyNFwzMVwzNzdcMjcwIgorICAiXDIyNFwzMVwzNzdcMjcwXDIyNFwzMVwzNzdcMzAxXDIzNFwzMlwzNzdcMjM0flwyNVwzNzcqXCJcNlwzNzZcMFwwXDAiCisgICIuXDBcMFwwXDEwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyNzNcMzQzXDI3NCIKKyAgIjRcMzc3XDM1MFwzMTFdXDM3N1wzNDNcMjc1OFwzNzdcMzEyXDI0M1wzM1wzNzdcMjczXDIyN1wzMlwzNzdcMjU1XDIxNCIKKyAgIlwzMFwzNzdcMjM2XDE3N1wyNVwzNzdcMjIwdFwyM1wzNzdcMjExblwyMlwzNzdcMjExblwyMlwzNzdcMjIwdFwyM1wzNzciCisgICJcMjIwdFwyM1wzNzdcMjMwe1wyNVwzNzdcMjIwdFwyM1wzNzdyXFxcMTdcMzc3MShcN1wzNzJcMFwwXDBOXDBcMFwwXDIwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMjJcMjZcMjJcM1wzNzdcMzUyXDMxNm1cMzc3XDM0NSIKKyAgIlwzMDJIXDM3N1wzMjFcMjUwXDM0XDM3N1wzMDRcMjM2XDMzXDM3N1wyNjRcMjIyXDMxXDM3N1wyNDZcMjA2XDI3XDM3NyIKKyAgIlwyMzB7XDI1XDM3N1wyMTJwXDIzXDM3N1wyMTFuXDIyXDM3N1wyMTFuXDIyXDM3N1wyMTFuXDIyXDM3N1wyMTFuXDIyIgorICAiXDM3N1wyMjd5XDI0XDM3N3dgXDIwXDM3N00+XDEyXDM3N1wwXDBcMF5cMFwwXDBEXDBcMFwwXDE2XDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMjU1XDI3MlwyMjZcMzFcMzc3XDM1MlwzMTZtXDM3N1wzNDNcMjc0NlwzNzciCisgICJcMzEzXDI0NFwzNFwzNzdcMjczXDIyN1wzMlwzNzdcMjU3XDIxNVwzMFwzNzdcMjQxXDIwMlwyNlwzNzdcMjIxdVwyNCIKKyAgIlwzNzdcMjExblwyMlwzNzdcMjExblwyMlwzNzdcMjExblwyMlwzNzdcMjExblwyMlwzNzdcMjE0cVwyM1wzNzdcMjI3IgorICAieVwyNFwzNzduWVwxN1wzNzdmUlwxNlwzNzVcMFwwXDBcMzc3XDBcMFwwJVwwXDBcMFw1XDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDIxXDBcMFwwXDM3N1wzNTJcMzE2bVwzNzdcMzQ1XDMwM0pcMzc3XDMyNFwyNTNcMzVcMzc3XDMwNiIKKyAgIlwyNDBcMzNcMzc3XDI2NlwyMjNcMzFcMzc3XDI1MFwyMTBcMjdcMzc3XDIzMnxcMjVcMzc3XDIxNHFcMjNcMzc3XDIxMSIKKyAgIm5cMjJcMzc3XDIxMW5cMjJcMzc3XDIxMnBcMjNcMzc3XDIxMW5cMjJcMzc3XDIyNXhcMjRcMzc3d2BcMjBcMzc3OS5cMTAiCisgICJcMzc3XDIwMVwyMDFcMjAxXDM3N15MXDE1XDM3N1wwXDBcMEZcMFwwXDBcMTVcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMjMyXDI3MlwyMjZcMzFcMzc3XDM1MFwzMTJfXDM3N1wzNDNcMjc0NlwzNzdcMzE1XDI0NVwzNFwzNzdcMjc3IgorICAiXDIzMlwzMlwzNzdcMjYxXDIxN1wzMFwzNzdcMjQzXDIwM1wyNlwzNzdcMjI1eFwyNFwzNzdcMjExblwyMlwzNzdcMjExIgorICAiblwyMlwzNzdcMjExblwyMlwzNzdcMjExblwyMlwzNzdcMjEycFwyM1wzNzdcMjMyfFwyNVwzNzduWVwxN1wzNzdDNlwxMSIKKyAgIlwzNzZLS0tcMzc3XDIyMFwyMjBcMjIwXDM3N1wwXDBcMFFcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDIwIgorICAiXDBcMFwwXDM3N1wzNTFcMzE1a1wzNzVcMzQ1XDMwMkhcMzc3XDMyNlwyNTVcMzVcMzc3XDMxMFwyNDFcMzNcMzc3XDI3MiIKKyAgIlwyMjZcMzFcMzc3XDI1MlwyMTFcMjdcMzc3XDIzNH5cMjVcMzc3XDIxNnJcMjNcMzc3XDIxMW5cMjJcMzc3XDIxMW5cMjIiCisgICJcMzc3XDIxMW5cMjJcMzc3XDIxMW5cMjJcMzc3XDIyM3dcMjRcMzc3emNcMjFcMzc3OzBcMTBcMzc3VlZWXDM2NmdnZyIKKyAgIlwzNzczMzNcMzc3XDBcMFwwUVwwXDBcMFwyMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzM1XDMxM1wyNDRcMzRcMzc3IgorICAiXDM1MFwzMTFdXDM3N1wzNDNcMjc1OFwzNzdcMzE3XDI0N1wzNFwzNzdcMzAxXDIzNFwzMlwzNzdcMjYzXDIyMFwzMFwzNzciCisgICJcMjQ1XDIwNVwyNlwzNzdcMjI3eVwyNFwzNzdcMjExblwyMlwzNzdcMjExblwyMlwzNzdcMjExblwyMlwzNzdcMjExbiIKKyAgIlwyMlwzNzdcMjExblwyMlwzNzdcMjMwe1wyNVwzNzdzXVwyMFwzNzdJO1wxMlwzNzdISEhcMzc3XDM0NFwyNzdcNzdcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMGNcMFwwXDBcMjFcMFwwXDBcMFwwXDBcMCFcMFwwXDBcMzc3XDM1MlwzMTZrXDM3N1wzNDciCisgICJcMzA2UlwzNzdcMzM3XDI2NFwzNlwzNzdcMzEyXDI0M1wzM1wzNzdcMjczXDIyN1wzMlwzNzdcMjU1XDIxNFwzMFwzNzciCisgICJcMjM2XDE3N1wyNVwzNzdcMjIwdFwyM1wzNzdcMjExblwyMlwzNzdcMjExblwyMlwzNzdcMjExblwyMlwzNzdcMjExbiIKKyAgIlwyMlwzNzdcMjE2clwyM1wzNzdcMjAzalwyMlwzNzc9MVwxMFwzNzdnZ2dcMzc3bm5uXDM3N3pjXDIxXDM3N1wwXDBcMCIKKyAgIlwzNzNcMFwwXDBSXDBcMFwwXDI1XDBcMFwwXDBcMFwwXDBcMjQ1XDMwNlwyNDBcMzNcMzc3XDM1MVwzMTNiXDM3N1wzNDIiCisgICJcMjczM1wzNzdcMzI0XDI1M1wzNVwzNzdcMzA2XDI0MFwzM1wzNzdcMjY2XDIyM1wzMVwzNzdcMjUwXDIxMFwyN1wzNzciCisgICJcMjMyfFwyNVwzNzdcMjE0cVwyM1wzNzdcMjExblwyMlwzNzdcMjExblwyMlwzNzdcMjExblwyMlwzNzdcMjExblwyMiIKKyAgIlwzNzdcMjMyfFwyNVwzNzduWVwxN1wzNzdNPlwxMlwzNzdYWFhcMzc3XDM0NFwyNzY7XDM3N1wyNVwyMVwzXDM3MlwwIgorICAiXDBcMFwyMzRcMFwwXDBJXDBcMFwwXDE3XDBcMFwwXDEzXDBcMFwwXDM3N1wzMjZcMjY2RFwzMzdcMzQ3XDMwN1hcMzc3IgorICAiXDM0MVwyNzAqXDM3N1wzMTVcMjQ1XDM0XDM3N1wyNzdcMjMyXDMyXDM3N1wyNjFcMjE3XDMwXDM3N1wyNDNcMjAzXDI2IgorICAiXDM3N1wyMjV4XDI0XDM3N1wyMTFuXDIyXDM3N1wyMTFuXDIyXDM3N1wyMTFuXDIyXDM3N1wyMTFuXDIyXDM3N1wyMTEiCisgICJuXDIyXDM3N1wyMDVrXDIyXDM3N0E0XDEwXDM3N0tLS1wzNzd0dHRcMzc3XDIzNFwxNzdcMzBcMzcwXDBcMFwwXDM2NCIKKyAgIlwwXDBcMFVcMFwwXDArXDBcMFwwXDdcMFwwXDBcMjA2XDMxN1wyNDdcMzRcMzc3XDM2MFwzMzZcMjM2XDM3NVwzNTZcMzMwIgorICAiXDIxM1wzNzdcMzU1XDMyNH5cMzc3XDM1NFwzMjJ3XDM3N1wzNTNcMzE3blwzNzdcMzUyXDMxNGdcMzc3XDM0N1wzMDciCisgICJYXDM3N1wzNDNcMjc1OFwzNzdcMzQzXDI3NDRcMzc3XDM0M1wyNzQ0XDM3N1wzNDNcMjc0NFwzNzdcMzQzXDI3NDRcMzc3IgorICAiXDM0MVwyNjcmXDM3N1wyNjRcMjIyXDMxXDM3N15MXDE1XDM3N15eXlwzNzdcMzQ0XDMwMEFcMzc3XDI1XDIxXDNcMzcyIgorICAiXDBcMFwwXDIzM1wwXDBcMEdcMFwwXDBcMjFcMFwwXDBcMVw3XDZcMVwzMzFcMzU2XDMyNlwyMDVcMzc3bFdcMTdcMzc3IgorICAiYE5cMTVcMzc3YE5cMTVcMzc3YE5cMTVcMzc3YE5cMTVcMzc3YE5cMTVcMzc3YE5cMTVcMzc3YE5cMTVcMzc3YE5cMTUiCisgICJcMzc3YE5cMTVcMzc3YE5cMTVcMzc3YE5cMTVcMzc3YE5cMTVcMzc3XUtcMTRcMzc3Y2NjXDM3N3h4eFwzNzdcMjUwXDIxMCIKKyAgIlwyN1wzNzdcMFwwXDBcMzY1XDBcMFwwVVwwXDBcMCpcMFwwXDBcNlwwXDBcMFwwXDMyXDI1XDNcMzc3XDM0NFwyNzdcNzciCisgICJcMzc3c11cMjBcMzc3X19fXDM3M3R0dFwzNzdcMjI2XDIyNlwyMjZcMzc3XDI2MVwyNjFcMjYxXDM3N1wyNTdcMjU3XDI1NyIKKyAgIlwzNzdcMzA1XDMwNVwzMDVcMzc3XDMxNlwzMTZcMzE2XDM3N1wyNzJcMjcyXDI3MlwzNzdcMzAyXDMwMlwzMDJcMzc3IgorICAiXDMwM1wzMDNcMzAzXDM3N1wzMTNcMzEzXDMxM1wzNzdcMzIyXDMyMlwzMjJcMzc3XDMzMlwzMzJcMzMyXDM3N1wyMjUiCisgICJcMjI1XDIyNVwzNzdcMzQyXDI3MjFcMzc3LCNcNlwzNzFcMFwwXDBcMjM0XDBcMFwwSFwwXDBcMFwyMlwwXDBcMFwxXDAiCisgICJcMFwwXDBcMjZcMjJcM1wzNzdcMzMwXDI1NlwzNVwzNzdcMjMwe1wyNVwzNzd+fn5cMzc3XDM0NFwzNDRcMzQ0XDM3NyIKKyAgIlwzNDRcMzQ0XDM0NFwzNzdcMzQxXDM0MVwzNDFcMzc3XDMzN1wzMzdcMzM3XDM3N1wzMzdcMzM3XDMzN1wzNzdcMzYyIgorICAiXDM2MlwzNjJcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNjNcMzYzXDM2M1wzNzdcMzYzXDM2M1wzNjNcMzc3XDM2M1wzNjMiCisgICJcMzYzXDM3N1wyNTBcMjUwXDI1MFwzNzdcMjY1XDI2NVwyNjVcMzc3bW1tXDM3N1wyNTBcMjEwXDI3XDM3N1wxXDFcMCIKKyAgIlwzNzBcMFwwXDBVXDBcMFwwKlwwXDBcMFw2XDBcMFwwXDBcMFwwXDBcMEE0XDEwXDM3N1wzMTBcMjQxXDMzXDM3N1wzMzAiCisgICJcMjU2XDM1XDM3N1wyNzNcMjI3XDMyXDM3N1wyNDVcMjA1XDI2XDM3N1wzMzNcMzMzXDMzM1wzNzdcMzUyXDM1MlwzNTIiCisgICJcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNTdcMzU3XDM1N1wzNzdcMzQ2XDM0NlwzNDZcMzc3XDMzNlwzMzZcMzM2XDM3NyIKKyAgIlwzNDFcMzQxXDM0MVwzNzdcMzQxXDM0MVwzNDFcMzc3XDMzN1wzMzdcMzM3XDM3N1wzNDJcMzQyXDM0MlwzNzd6enpcMzc3IgorICAiXDM0M1wyNzU6XDM3Ny0lXDdcMzY3XDBcMFwwXDIzNFwwXDBcMElcMFwwXDBcMjJcMFwwXDBcMVwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDAiIjlcMFwwXDBcMzc3XDEzXDEwXDFcMzU0fmVcMjVcMzYzXDI0M1wyMDYhXDM1MVwyNjBcMjIwXDQwXDM1NyIKKyAgIlwyNzJcMjI2XDMxXDM3N1wzMDFcMjM0XDMyXDM3N1wyMjdcMjI3XDIyN1wzNzdcMzM0XDMzNFwzMzRcMzc3XDM0NVwzNDUiCisgICJcMzQ1XDM3N1wzNTNcMzUzXDM1M1wzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MVwzNzFcMzcxXDM3N1wyMDVcMjA1XDIwNSIKKyAgIlwzNzdcMjQ2XDI0NlwyNDZcMzc3XDM1MFwzMTBbXDM3N1wyXDJcMFwzNzBcMFwwXDBVXDBcMFwwKlwwXDBcMFw3XDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAmXDBcMFwwZVwwXDBcMFwyNzZcMFwwXDBcMzQ2XDBcMFwwIgorICAiXDM2MFwwXDBcMFwzNjNcMjAyaVwyNFwzNzFcMjI0d1wyNlwzNzFcMjYyXDIyMFwzNVwzNjdcMjY2XDIyNFwzNlwzNjYiCisgICJcMjc1XDIzMVwzMlwzNzdcMzU1XDMyNVwyMDBcMzc3XDM0MFwzNDBcMzQwXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzUwXDMxMCIKKyAgIltcMzc3MCZcNlwzNzNcMFwwXDBcMjM0XDBcMFwwSFwwXDBcMFwyMlwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcNlwwXDBcMFwxN1wwXDBcMFwzNFwwXDBcMCIiNFwwXDBcMENcMFwwXDBnXDBcMFwwXDI1MSIKKyAgIlwwXDBcMFwzNDRcMFwwXDBcMzYxXDBcMFwwXDM1NmlVXDIxXDM2NVwyMDduXDI1XDM3MVwyNDVcMjA2XDMxXDM3MlwyNTciCisgICJcMjE1XDMzXDM2N1wyNTBcMjExXDM2XDM1N1w0XDNcMFwzNjdcMFwwXDBVXDBcMFwwK1wwXDBcMFw3XDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcM1wwXDBcMFwxMlwwXDBcMCIKKyAgIlwxNVwwXDBcMFwyMFwwXDBcMFwzM1wwXDBcMCIiMFwwXDBcMENcMFwwXDBfXDBcMFwwXDIzNVwwXDBcMFwzMjdcMFwwIgorICAiXDBcMzU2XDBcMFwwXDM1NFwwXDBcMFwzNDdcMFwwXDB7XDBcMFwwRlwwXDBcMFwyMVwwXDBcMFwxXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwzXDBcMFwwXDEwXDBcMFwwXDE1XDBcMFwwXDIwXDBcMFwwXDMwXDBcMFwwLFwwXDBcMFw3NyIKKyAgIlwwXDBcMEhcMFwwXDBIXDBcMFwwQFwwXDBcMFwzN1wwXDBcMFw1XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFw3XDBcMFwwXDEzXDBcMFwwXDE2XDBcMCIKKyAgIlwwXDE2XDBcMFwwXDE0XDBcMFwwXDVcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDAifTsKKworCisvKiBHZGtQaXhidWYgUkdCQSBDLVNvdXJjZSBpbWFnZSBkdW1wICovCisKKyNpZmRlZiBfX1NVTlBST19DCisjcHJhZ21hIGFsaWduIDQgKHN0b2NrX2xpbmVfaW4pCisjZW5kaWYKKyNpZmRlZiBfX0dOVUNfXworc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja19saW5lX2luW10gX19hdHRyaWJ1dGVfXyAoKF9fYWxpZ25lZF9fICg0KSkpID0gCisjZWxzZQorc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja19saW5lX2luW10gPSAKKyNlbmRpZgoreyAiIgorICAvKiBQaXhidWYgbWFnaWMgKDB4NDc2NDZiNTApICovCisgICJHZGtQIgorICAvKiBsZW5ndGg6IGhlYWRlciAoMjQpICsgcGl4ZWxfZGF0YSAoMjMwNCkgKi8KKyAgIlwwXDBcMTFcMzAiCisgIC8qIHBpeGRhdGFfdHlwZSAoMHgxMDEwMDAyKSAqLworICAiXDFcMVwwXDIiCisgIC8qIHJvd3N0cmlkZSAoOTYpICovCisgICJcMFwwXDBgIgorICAvKiB3aWR0aCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIGhlaWdodCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIHBpeGVsX2RhdGE6ICovCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMC0uLlwyNTcjIyNcMzc3XDEwXDEwXDEweFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwyNVwyNVwyNVwzNzdcMzQ1XDM0NVwzNDZcMzc3IyMjXDM3N1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMGZmZlwzMTVcMzU2XDM1NlwzNTZcMzc3TU1NXDIxN1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwyXDJcMlwzMzdcMjc3XDI3N1wyNzdcMzc3XDNcM1wzXDMyNVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzNcMFwwXDBpXDBcMFwwc1wwXDBcMF9cMFwwIgorICAiXDA9XDBcMFwwIVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDIxIgorICAiXDIxXDIyXDM3N1wzNTRcMzU0XDM1NVwzNzdcMjJcMjJcMjJcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBgXDBcMFwwXDI2MlwyMTZcMjE2XDIxNlwyNjBcMjEwXDIxMFwyMTAiCisgICJcMjMzVFRUXDIxMCQkJHZcMFwwXDBiXDBcMFwwRlwwXDBcMCZcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwJCQlXDI0M1wyNzNcMjczXDI3M1wzNzdcMFwwXDBPXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDIxMmxsbFwzMjZcMzE2XDMxNlwzMTZcMzExXDI0NVwyNDVcMjQ1XDI3NFwwIgorICAiXDBcMFwyNDJcMFwwXDBcMjE0XDBcMFwwdlwwXDBcMFVcMFwwXDA7XDBcMFwwK1wwXDBcMFwiXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM1MlwzNTJcMzUyXDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDIzMG1tbVwzNDdcMzE2XDMxNlwzMTZcMzQ1XDEwXDEwXDEwIgorICAiXDMxM1wxMFwxMFwxMFwyMzFcMFwwXDBHXDBcMFwwPVwwXDBcMCIiMVwwXDBcMDpcMFwwXDAiIjJcMFwwXDAjXDBcMFwwIgorICAiXDM3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1JSUlwzNzdcMzMyXDMzMlwzMzRcMzc3PT09XDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNDNcMjY1XDI2NVwyNjVcMzYzS0siCisgICJLXDM1MVwwXDBcME1cMFwwXDBcMjFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDMzIgorICAiXDBcMFwwXDM1XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMFwwXDBcMzc3XDM3M1wzNzNcMzczXDM3N1wyMzRcMjMzIgorICAiXDIzNFwzNzdcMzI0XDMyNFwzMjRcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDIzMSIKKyAgIkdHR1wzNjFcMjQ0XDI0NFwyNDRcMzY1XDBcMFwwXDI0MlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDNcMFwwXDBcMzFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wyMjFcMjIxIgorICAiXDIyMVwzNzc9PT1cMzc3PT09XDM3N1wzNlwzNlwzNlwzNzdcNzdcNzdcNzdcMzc3XDBcMFwwXDM3N1wwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMzMxX19fXDM2NyMjI1wzNjJcMFwwXDBCXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMjIxIgorICAiXDIyMVwyMjFcMzc3PT09XDM3Nz09PVwzNzdcMzZcMzZcMzZcMzc3QkJCXDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDM0MlNTU1wzNTVcMFwwXDBcMzUzXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3NyIKKyAgIlwyMjFcMjIxXDIyMVwzNzc9PT1cMzc3PT09XDM3N1wzNlwzNlwzNlwzNzdCQkJcMzc3XDBcMFwwXDM3N1wwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMzMwU1NTXDM1M1wwXDBcMFwzNTVcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMzc3XDIyMVwyMjFcMjIxXDM3Nz09PVwzNzc9PT1cMzc3XDM2XDM2XDM2XDM3N0JCQlwzNzdcMFwwXDBcMzc3XDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwyNjInJydcMzMyXCJcIlwiXDM2N1wwXDBcMDxcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDM3N1wyMjFcMjIxXDIyMVwzNzc9PT1cMzc3PT09XDM3N1wzNlwzNlwzNlwzNzdCQkJcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBEXDBcMFwwXDMxNVVVVVwzNjJcMFwwXDBcMzEzXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwzNzdcMjIxXDIyMVwyMjFcMzc3PT09XDM3Nz09PVwzNzdcMzZcMzZcMzZcMzc3RUVFXDM3N1wwXDBcMCIKKyAgIlwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMjQxTExMXDMyMkZGRlwzMzZcMFwwXDBcMjM0XDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMzc3QUFBXDM3N2RkZFwzNzclJSVcMzc3LCwsXDM3Nzw8PFwzNzdcMFwwXDBcMzc3XDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM1XDBcMFwwXDIzNlhYWFwyNTdGRkZcMjczXDBcMFwwcVwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDM3N1wyNVwyNVwyNVwzNzdcN1w3XDdcMzc3KCgoXDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIiI5XDBcMFwwXDIwNVpaWlwyMzNcMFwwXDBcMjM2XDBcMFwwYlwwXDAiCisgICJcMFwiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDM3NysrK1wzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBAXDBcMFwwY1hYWHtcMFwwXDB7XDBcMFwwIiIzXDBcMFwwJVwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzI0IgorICAiKysrXDMyNFwwXDBcMFwzMjRcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwIiI3XDBcMFwwVFwwXDBcMF9cMFwwXDBeXDBcMFwwI1wwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMjUyKysrXDI1MlwwXDBcMFwyNTIiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDEzXDBcMFwwQFwwXDBcMEZcMFwwXDBKXDBcMFwwIiIyXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxNzcrKytcMTc3XDBcMFwwXDE3N1wwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIiMSIKKyAgIlwwXDBcMDpcN1w3XDdAXDBcMFwwLFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBVKysrVVwwXDBcMFVcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDI3XDBcMFwwL1wwXDBcMCIiMlwxMFwxMFwxMCIiNVwwIgorICAiXDBcMCtcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwKisrKypcMFwwXDAqXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMjNcMFwwXDAiIjBcMFwwXDAtXDE0XDE0XDE0LVwwXDBcMCtcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwIn07CisKKworLyogR2RrUGl4YnVmIFJHQkEgQy1Tb3VyY2UgaW1hZ2UgZHVtcCAqLworCisjaWZkZWYgX19TVU5QUk9fQworI3ByYWdtYSBhbGlnbiA0IChzdG9ja19tYWlsKQorI2VuZGlmCisjaWZkZWYgX19HTlVDX18KK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfbWFpbFtdIF9fYXR0cmlidXRlX18gKChfX2FsaWduZWRfXyAoNCkpKSA9IAorI2Vsc2UKK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfbWFpbFtdID0gCisjZW5kaWYKK3sgIiIKKyAgLyogUGl4YnVmIG1hZ2ljICgweDQ3NjQ2YjUwKSAqLworICAiR2RrUCIKKyAgLyogbGVuZ3RoOiBoZWFkZXIgKDI0KSArIHBpeGVsX2RhdGEgKDIzMDQpICovCisgICJcMFwwXDExXDMwIgorICAvKiBwaXhkYXRhX3R5cGUgKDB4MTAxMDAwMikgKi8KKyAgIlwxXDFcMFwyIgorICAvKiByb3dzdHJpZGUgKDk2KSAqLworICAiXDBcMFwwYCIKKyAgLyogd2lkdGggKDI0KSAqLworICAiXDBcMFwwXDMwIgorICAvKiBoZWlnaHQgKDI0KSAqLworICAiXDBcMFwwXDMwIgorICAvKiBwaXhlbF9kYXRhOiAqLworICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMlwwXDBcMFwyIgorICAiXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDAiCisgICJcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDFcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMGZcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMG1cMCIKKyAgIlwwXDBcMTBcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwzNzdTU1NcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzZcMzc2XDM3NlwzNzciCisgICJcMzc1XDM3NVwzNzVcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzNcMzczXDM3M1wzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MCIKKyAgIlwzNzBcMzcwXDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY2XDM2NlwzNjZcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjRcMzY0IgorICAiXDM2NFwzNzdcMzQzXDM0M1wzNDNcMzc3U1NTXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzFcMFwwXDBcMTBcMFwwXDBcMVwwIgorICAiXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3XDM1NlwzNTZcMzU2XDM3N09PT1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NVwzNjUiCisgICJcMzY1XDM3N1wzNjRcMzY0XDM2NFwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjJcMzYyXDM2MiIKKyAgIlwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzU3XDM1N1wzNTdcMzc3IgorICAiXDM1NlwzNTZcMzU2XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzQzXDM0M1wzNDNcMzc3T09PXDM3N1wyNTZcMjU2XDI1NlwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwKFwwXDBcMFwxN1wwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM0NFwzNDRcMzQ0XDM3N0NDQ1wzNzdcMzc1XDM3NVwzNzVcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjJcMzYyIgorICAiXDM2MlwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzU3XDM1N1wzNTciCisgICJcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU1XDM1NVwzNTVcMzc3XDM0M1wzNDNcMzQzXDM3NyIKKyAgIk9PT1wzNzdcMjU0XDI1NFwyNTRcMzc3XDMxMFwzMTBcMzEwXDM3N1wwXDBcMFwzNzdcMFwwXDAtXDBcMFwwXDIxXDBcMCIKKyAgIlwwXDJcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM0NFwzNDQiCisgICJcMzQ0XDM3N09PT1wzNzdcMzczXDM3M1wzNzNcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYwXDM2MCIKKyAgIlwzNjBcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NVwzNTVcMzU1IgorICAiXDM3N1wzNDNcMzQzXDM0M1wzNzdDQ0NcMzc3XDI0MFwyNDBcMjQwXDM3N1wzMjRcMzI0XDMyNFwzNzdcMzEwXDMxMFwzMTAiCisgICJcMzc3XDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjFcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzNcMzczXDM3M1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM0NFwzNDRcMzQ0XDM3N0NDQ1wzNzdcMzcwIgorICAiXDM3MFwzNzBcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNTdcMzU3XDM1N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NVwzNTUiCisgICJcMzU1XDM3N1wzNTRcMzU0XDM1NFwzNzdcMzQzXDM0M1wzNDNcMzc3T09PXDM3N1wyMjVcMjI1XDIyNVwzNzdcMzI0XDMyNCIKKyAgIlwzMjRcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzMTBcMzEwXDMxMFwzNzdcMFwwXDBcMzc3XDBcMFwwLVwwXDBcMFwyMVwwIgorICAiXDBcMFwyXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjUiCisgICJcMzY1XDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM0NFwzNDRcMzQ0XDM3Nz4+PlwzNzdcMzY1XDM2NVwzNjVcMzc3XDM1NiIKKyAgIlwzNTZcMzU2XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU0XDM1NFwzNTRcMzc3XDM0M1wzNDNcMzQzXDM3N01NTVwzNzdcMjAxIgorICAiXDIwMVwyMDFcMzc3XDMwNlwzMDZcMzA2XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDMxMFwzMTAiCisgICJcMzEwXDM3N1wwXDBcMFwzNzdcMFwwXDAtXDBcMFwwXDIxXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzczXDM3M1wzNzNcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0IgorICAiXDM0NFwzNDRcMzc3ampqXDM3N0NDQ1wzNzdcMzYzXDM2M1wzNjNcMzc3XDM1NFwzNTRcMzU0XDM3N1wzNDNcMzQzXDM0MyIKKyAgIlwzNzdPT09cMzc3ampqXDM3N1wzMDZcMzA2XDMwNlwzNzdcMzA2XDMwNlwzMDZcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNDQiCisgICJcMzQ0XDM0NFwzNzdcMzEwXDMxMFwzMTBcMzc3XDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjFcMFwwXDBcMlwwXDBcMCIKKyAgIlwwXDBcMFwwXDJcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3IgorICAiXDM0NFwzNDRcMzQ0XDM3N2NjY1wzNzdcMzc3XDM3N1wzNzdcMzc3XDI3MVwyNzFcMjcxXDM3N09PT1wzNzdcMzYwXDM2MCIKKyAgIlwzNjBcMzc3T09PXDM3N1wyMjVcMjI1XDIyNVwzNzdcMzA2XDMwNlwzMDZcMzc3c3NzXDM3N1wzMDZcMzA2XDMwNlwzNzciCisgICJcMzY1XDM2NVwzNjVcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzMTBcMzEwXDMxMFwzNzdcMFwwXDBcMzc3XDBcMFwwLVwwXDAiCisgICJcMFwyMVwwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3M1wzNzNcMzczXDM3NyIKKyAgIlwzNDRcMzQ0XDM0NFwzNzdjY2NcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3IgorICAiXDMyNFwzMjRcMzI0XDM3N09PT1wzNzdcMjU0XDI1NFwyNTRcMzc3XDMwNlwzMDZcMzA2XDM3N1wzNDRcMzQ0XDM0NFwzNzciCisgICJcMzQ0XDM0NFwzNDRcMzc3fHx8XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDMxMFwzMTBcMzEwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDAtXDBcMFwwXDIxXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzQ0XDM0NFwzNDRcMzc3c3NzXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjUiCisgICJcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NCIKKyAgIlwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3IgorICAifHx8XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzEwXDMxMFwzMTBcMzc3XDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjFcMFwwIgorICAiXDBcMlwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N3x8fFwzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDQiCisgICJcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NCIKKyAgIlwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3fHx8XDM3N1wzMTBcMzEwIgorICAiXDMxMFwzNzdcMFwwXDBcMzc3XDBcMFwwLVwwXDBcMFwyMVwwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzciCisgICJzc3NcMzc3XDI3NFwyNzRcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc0XDI3NFwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3NyIKKyAgIlwyNzRcMjc0XDI3NFwzNzdcMjc0XDI3NFwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc0IgorICAiXDI3NFwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc0XDI3NFwyNzRcMzc3XDI3NFwyNzQiCisgICJcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc0XDI3NFwyNzRcMzc3Y2NjXDM3N1wwXDBcMFwzNzdcMFwwXDAtXDBcMCIKKyAgIlwwXDIxXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwyXDBcMFwwbVwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDIwN1wwXDBcMChcMFwwXDBcMTdcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMTBcMFwwXDBcMzEiCisgICJcMFwwXDAoXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAiCisgICItXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMFwwKFwwXDBcMFwzMVwwXDBcMFwxMCIKKyAgIlwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDEwXDBcMFwwXDE2XDBcMFwwXDIxXDBcMFwwXDIxIgorICAiXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwIgorICAiXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDE2XDBcMFwwXDEwXDAiCisgICJcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDJcMFwwXDBcMlwwXDBcMCIKKyAgIlwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwIgorICAiXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwxXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfbWFpbF9jb21wb3NlKQorI2VuZGlmCisjaWZkZWYgX19HTlVDX18KK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfbWFpbF9jb21wb3NlW10gX19hdHRyaWJ1dGVfXyAoKF9fYWxpZ25lZF9fICg0KSkpID0gCisjZWxzZQorc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja19tYWlsX2NvbXBvc2VbXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICgyMzA0KSAqLworICAiXDBcMFwxMVwzMCIKKyAgLyogcGl4ZGF0YV90eXBlICgweDEwMTAwMDIpICovCisgICJcMVwxXDBcMiIKKyAgLyogcm93c3RyaWRlICg5NikgKi8KKyAgIlwwXDBcMGAiCisgIC8qIHdpZHRoICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogaGVpZ2h0ICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDAiCisgICJcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMzIxXDI1NyIKKyAgImFcMzc3XDM2MVwzNDNcMjU0XDM3N1wzNzNcMjUxXDE3XDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFZcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wyNjVcMjY1IgorICAiXDI2NVwzNzdcMjQwa1wxMVwzNzdcMzYxXDM0M1wyNTRcMzc3XDM3M1wyNTFcMTdcMzc3XDIwMWBcMFwzNzdcMFwwXDAiCisgICJcMzc3XDM0MFwzNDBcMzQwXDM3N1wzMDFcMzAxXDMwMVwzNzdcMFwwXDBcMzc3XDBcMFwwRFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc1XDM3NVwzNzVcMzc3XDM3NVwzNzVcMzc1XDM3N1wwXDBcMFwzNzdcMzQ2XDMwM3BcMzc3XDM2MVwzMjNcMjA3XDM3NyIKKyAgIlwzMjVcMjE3XDE0XDM3N1wwXDBcMFwzNzdcMjYyXDI2MlwyNjJcMzc3XDMwM1wzMDNcMzAzXDM3N1wzNzNcMzczXDM3MyIKKyAgIlwzNzdcMjUwXDI1MFwyNTBcMzc3XDBcMFwwXDM3N1wwXDBcMFZcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc1XDM3NVwzNzVcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzVcMzc1XDM3NVwzNzdcMjYzXDI2MyIKKyAgIlwyNjNcMzc3XDI0MGtcMTFcMzc3XDM2MVwzNDNcMjU0XDM3N1wzNzNcMjUxXDE3XDM3N1wyMDFgXDBcMzc3XDBcMFwwIgorICAiXDM3N1wzNzJcMzcyXDM3MlwzNzdcMjU1XDI1NVwyNTVcMzc3dnZ2XDM3N11dXVwzNzdAQEBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzczXDM3M1wzNzNcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzNcMzczXDM3M1wzNzdcMzczXDM3MyIKKyAgIlwzNzNcMzc3XDM3MFwzNzBcMzcwXDM3N1wwXDBcMFwzNzdcMzQ2XDMwM3BcMzc3XDM2MVwzMjB+XDM3N1wzMjVcMjE3IgorICAiXDE0XDM3N1wwXDBcMFwzNzdcMjU0XDI1NFwyNTRcMzc3XDM3MFwzNzBcMzY2XDM3N1wzNDJcMzQyXDM0MlwzNzdcMjA1IgorICAiXDIwNVwyMDVcMzc3S0tJXDM3N1wyNlwyNlwyNlwzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzVcMzc1XDM3NSIKKyAgIlwzNzdcMzczXDM3M1wzNzNcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzNcMzczXDM3MlwzNzd9fX1cMzc3XDI0MGtcMTFcMzc3IgorICAiXDM2MVwzNDNcMjU0XDM3N1wzNzNcMjUxXDE3XDM3N1wyMDFgXDBcMzc3XDBcMFwwXDM3N1wzNjRcMzY0XDM2NFwzNzciCisgICJcMzYyXDM2MlwzNjJcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNTdcMzU3XDM1N1wzNzdcMzI1XDMyNVwzMjVcMzc3XDI1NSIKKyAgIlwyNTVcMjU1XDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzcxXDM3MVwzNzFcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjZcMzY2XDM2NlwzNzciCisgICJcMzY2XDM2NlwzNjNcMzc3XDM2M1wzNjNcMzYzXDM3N1wwXDBcMFwzNzdcMzQ2XDMwM3BcMzc3XDM2MVwzMjB+XDM3NyIKKyAgIlwzMjVcMjE3XDE0XDM3N1wwXDBcMFwzNzdcMjA3XDIwN1wyMDZcMzc3XDM0NVwzNDVcMzQ1XDM3N1wzNDJcMzQyXDM0MiIKKyAgIlwzNzdcMzM3XDMzN1wzMzdcMzc3XDM1M1wzNTNcMzUzXDM3N1wzNDJcMzQyXDM0MlwzNzdcMzAxXDMwMVwzMDFcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2MFwzNjAiCisgICJcMzYwXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzBcMzcwXDM2NiIKKyAgIlwzNzdcMjU2XDI1NlwyNTZcMzc3e1NcN1wzNzdcMzYxXDM0M1wyNTRcMzc3XDM3M1wyNTFcMTdcMzc3XDIwMWBcMFwzNzciCisgICJcMFwwXDBcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTNcMzUzXDM1M1wzNzdcMzUzXDM1M1wzNTFcMzc3XDM1MVwzNTFcMzQ3IgorICAiXDM3N1wzNTFcMzUxXDM0N1wzNzdcMzQwXDM0MFwzMzZcMzc3XDI3N1wyNzdcMjc3XDM3N1wwXDBcMFwzNzdcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNTdcMzU3XDM1N1wzNzdcMzYzXDM2MyIKKyAgIlwzNjNcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwXDM1NVwzNzdcMzU1XDM1NVwzNTVcMzc3XDBcMFwwXDM3N1wzNDYiCisgICJcMzAzcFwzNzdcMzYxXDMyMlwyMDRcMzc3XDMxMlwyMDdcMTNcMzc3XDBcMFwwXDM3N1wyMzZcMjM2XDIzNFwzNzdcMzM0IgorICAiXDMzNFwzMzFcMzc3XDMzMVwzMzFcMzMxXDM3N1wzMzFcMzMxXDMyNlwzNzdcMzI2XDMyNlwzMjRcMzc3XDM0NVwzNDUiCisgICJcMzQ0XDM3N1wzMzFcMzMxXDMyN1wzNzdcMjcyXDI3MlwyNzJcMzc3XDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY0IgorICAiXDM2NFwzNjRcMzc3XDM2MlwzNjJcMzYyXDM3N1wyNTJcMjUyXDI1MlwzNzdcMjQwa1wxMVwzNzdcMzYxXDM0M1wyNTQiCisgICJcMzc3XDM3M1wyNTFcMTdcMzc3XDIwMWBcMFwzNzdcMFwwXDBcMzc3XDM0N1wzNDdcMzQ1XDM3N1wzNDVcMzQ1XDM0NCIKKyAgIlwzNzdcMzQ1XDM0NVwzNDRcMzc3XDM0NFwzNDRcMzQyXDM3N1wzNDBcMzQwXDMzNlwzNzdcMzQyXDM0MlwzNDBcMzc3IgorICAiXDMzMVwzMzFcMzI3XDM3N1wyNzJcMjcyXDI3MlwzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzUzXDM1M1wzNTNcMzc3XDM1NlwzNTZcMzU0XDM3N1wzNDdcMzQ3XDM0NSIKKyAgIlwzNzdcMzQ1XDM0NVwzNDVcMzc3XDBcMFwwXDM3N1wzNDZcMzAzcFwzNzdcMzYxXDMyMlwyMDRcMzc3XDMxMlwyMDdcMTMiCisgICJcMzc3XDBcMFwwXDM3N1wyMjdcMjI3XDIyNlwzNzdcMzI0XDMyNFwzMjFcMzc3XDM0MlwzNDJcMzQwXDM3N1wzNDBcMzQwIgorICAiXDMzNlwzNzdcMzM2XDMzNlwzMzRcMzc3XDMzNlwzMzZcMzMzXDM3N1wzMzZcMzM2XDMzNFwzNzdcMzMxXDMzMVwzMjciCisgICJcMzc3XDI3NVwyNzVcMjc0XDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNDdcMzQ3XDM0N1wzNzdcMzU3XDM1N1wzNTVcMzc3XDM1M1wzNTNcMzUzXDM3N1wyNDZcMjQ2IgorICAiXDI0NVwzNzdcMjcyfFwxMlwzNzdcMzczXDI1MVwxN1wzNzdcMzczXDI1MVwxN1wzNzd6W1wwXDM3N1wwXDBcMFwzNzciCisgICJcMzQyXDM0MlwzNDBcMzc3XDM0MFwzNDBcMzM2XDM3N1wzMzZcMzM2XDMzNFwzNzdcMzM2XDMzNlwzMzNcMzc3XDMzNCIKKyAgIlwzMzRcMzMxXDM3N1wzMzNcMzMzXDMzMVwzNzdcMzMzXDMzM1wzMzFcMzc3XDMyNVwzMjVcMzIzXDM3N1wyNzRcMjc0IgorICAiXDI3NFwzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzQ1XDM0NVwzNDVcMzc3XDM0M1wzNDNcMzQzXDM3N1wzMzFcMzMxXDMzMVwzNzdcMFwwXDBcMzc3XDM2MlwzNDZcMjY2IgorICAiXDM3N3t7e1wzNzdwS1w1XDM3N1wwXDBcMFwzNzdnZ2RcMzc3XDMxM1wzMTNcMzA3XDM3N1wzMTFcMzExXDMwN1wzNzciCisgICJcMzM0XDMzNFwzMzFcMzc3XDMzM1wzMzNcMzI3XDM3N1wzMzFcMzMxXDMyN1wzNzdcMzI3XDMyN1wzMjVcMzc3XDMzMSIKKyAgIlwzMzFcMzI3XDM3N1wzMjdcMzI3XDMyM1wzNzdcMjY0XDI2NFwyNjRcMzc3XDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM0MlwzNDJcMzQwXDM3N1wzNDVcMzQ1XDM0NFwzNzciCisgICJcMzQ0XDM0NFwzNDRcMzc3XDBcMFwwXDM3N1wzMzNcMzI1XDMwMVwzNzd+b1dcMzc3dVhcMFwzNzdcMFwwXDBcMzc3XDMzNCIKKyAgIlwzMzRcMzMxXDM3N1wzMzNcMzMzXDMzMVwzNzdcMzMzXDMzM1wzMjdcMzc3XDMzMVwzMzFcMzI1XDM3N1wzMjdcMzI3IgorICAiXDMyM1wzNzdcMzI1XDMyNVwzMjNcMzc3XDMyNVwzMjVcMzIxXDM3N1wzMjdcMzI3XDMyM1wzNzdcMzIwXDMyMFwzMTYiCisgICJcMzc3XDI3MlwyNzJcMjcwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzMzZcMzM2XDMzNFwzNzdcMzM1XDMzNVwzMzNcMzc3XDMyMVwzMjFcMzE3XDM3N1wxNlwxNlwxNiIKKyAgIlwzNzdTU1NcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMjE1XDIxNVwyMTNcMzc3XDMwNFwzMDRcMzAxXDM3N1wzMDRcMzA0IgorICAiXDI3N1wzNzdcMzAxXDMwMVwyNzRcMzc3XDMyNVwzMjVcMzIxXDM3N1wzMjVcMzI1XDMyMVwzNzdcMzIzXDMyM1wzMjAiCisgICJcMzc3XDMyMVwzMjFcMzIwXDM3N1wzMjNcMzIzXDMyMFwzNzdcMzIwXDMyMFwzMTZcMzc3XDI3MlwyNzJcMjcwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzMzRcMzM0IgorICAiXDMzM1wzNzdcMzQwXDM0MFwzMzRcMzc3XDMzNVwzMzVcMzMzXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDIxMVwyMTEiCisgICJcMjA3XDM3N1wzMTFcMzExXDMwNlwzNzdcMzE1XDMxNVwzMTJcMzc3XDMyMFwzMjBcMzE1XDM3N1wzMTZcMzE2XDMxMyIKKyAgIlwzNzdcMzIwXDMyMFwzMTVcMzc3XDMyMFwzMjBcMzE1XDM3N1wzMjBcMzIwXDMxNVwzNzdcMzIwXDMyMFwzMTVcMzc3IgorICAiXDMxN1wzMTdcMzE0XDM3N1wzMjBcMzIwXDMxNVwzNzdcMzIwXDMyMFwzMTRcMzc3XDI2NlwyNjZcMjY2XDM3N1wwXDAiCisgICJcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzMzNcMzMzXDMzMSIKKyAgIlwzNzdcMzI0XDMyNFwzMjBcMzc3XDMwM1wzMDNcMzAwXDM3N1tbW1wzNzdcMjIxXDIyMVwyMTVcMzc3XDIyMVwyMjFcMjE3IgorICAiXDM3N1wyMzdcMjM3XDIzNVwzNzdcMjU3XDI1N1wyNTRcMzc3XDI3MVwyNzFcMjY2XDM3N1wyNzZcMjc2XDI3M1wzNzciCisgICJcMzAzXDMwM1wzMDBcMzc3XDMwNVwzMDVcMzAyXDM3N1wzMTBcMzEwXDMwNVwzNzdcMzEyXDMxMlwzMDdcMzc3XDMxMyIKKyAgIlwzMTNcMzEwXDM3N1wzMTRcMzE0XDMxMVwzNzdcMzE0XDMxNFwzMTBcMzc3XDI2MlwyNjJcMjYyXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzMjJcMzIyXDMyMFwzNzdcMzIyIgorICAiXDMyMlwzMTdcMzc3XDMxN1wzMTdcMzE0XDM3N1wyNzdcMjc3XDI3NVwzNzdcMjM3XDIzN1wyMzRcMzc3XDIxMFwyMTAiCisgICJcMjA2XDM3N1wyMDdcMjA3XDIwNVwzNzdcMjE0XDIxNFwyMTJcMzc3XDIyNVwyMjVcMjIzXDM3N1wyMzRcMjM0XDIzMiIKKyAgIlwzNzdcMjUwXDI1MFwyNDVcMzc3XDI2MVwyNjFcMjU2XDM3N1wyNjVcMjY1XDI2M1wzNzdcMjczXDI3M1wyNzBcMzc3IgorICAiXDI3NlwyNzZcMjczXDM3N1wyNzdcMjc3XDI3NFwzNzdcMzAyXDMwMlwyNzZcMzc3XDI2MlwyNjJcMjYyXDM3N1wwXDAiCisgICJcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzMjFcMzIxXDMxNiIKKyAgIlwzNzdcMzIwXDMyMFwzMTRcMzc3XDMxNFwzMTRcMzExXDM3N1wzMTdcMzE3XDMxNFwzNzdcMzAzXDMwM1wzMDBcMzc3IgorICAiXDI1NlwyNTZcMjUzXDM3N1wyMzVcMjM1XDIzMlwzNzdcMjI3XDIyN1wyMjRcMzc3XDIyN1wyMjdcMjI0XDM3N1wyMjQiCisgICJcMjI0XDIyMVwzNzdcMjMyXDIzMlwyMjdcMzc3XDIzN1wyMzdcMjM0XDM3N1wyNDNcMjQzXDI0MFwzNzdcMjUwXDI1MCIKKyAgIlwyNDVcMzc3XDI1MlwyNTJcMjQ3XDM3N1wyNjBcMjYwXDI1NFwzNzdcMjcwXDI3MFwyNjVcMzc3XDI2MFwyNjBcMjU2IgorICAiXDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzMjIiCisgICJcMzIyXDMxN1wzNzdcMzIxXDMyMVwzMTZcMzc3XDMyMVwzMjFcMzE2XDM3N1wzMjFcMzIxXDMxNlwzNzdcMzE3XDMxNyIKKyAgIlwzMTVcMzc3XDMxM1wzMTNcMzEwXDM3N1wyNzZcMjc2XDI3NFwzNzdcMjY0XDI2NFwyNjBcMzc3XDI1NFwyNTRcMjUwIgorICAiXDM3N1wyNDRcMjQ0XDI0MlwzNzdcMjQwXDI0MFwyMzRcMzc3XDI0MFwyNDBcMjM0XDM3N1wyNDRcMjQ0XDI0MFwzNzciCisgICJcMjQ0XDI0NFwyNDJcMzc3XDI1MFwyNTBcMjQ2XDM3N1wyNTNcMjUzXDI0N1wzNzdcMjYyXDI2MlwyNTZcMzc3XDI0NCIKKyAgIlwyNDRcMjQ0XDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzMjFcMzIxXDMyMFwzNzdcMzIxXDMyMVwzMTZcMzc3XDMyMFwzMjBcMzE2XDM3N1wzMTZcMzE2XDMxNFwzNzciCisgICJcMzE2XDMxNlwzMTJcMzc3XDMxNlwzMTZcMzEyXDM3N1wzMTRcMzE0XDMxMFwzNzdcMzA2XDMwNlwzMDJcMzc3XDI3NCIKKyAgIlwyNzRcMjcxXDM3N1wyNjNcMjYzXDI1N1wzNzdcMjY0XDI2NFwyNjBcMzc3XDI1M1wyNTNcMjUxXDM3N1wyNDZcMjQ2IgorICAiXDI0M1wzNzdcMjQwXDI0MFwyMzVcMzc3XDI0NlwyNDZcMjQzXDM3N1wyNTJcMjUyXDI0N1wzNzdcMjU0XDI1NFwyNTEiCisgICJcMzc3XDI0MVwyNDFcMjQxXDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wyNjFcMjYxXDI1N1wzNzdcMjY0XDI2NFwyNjNcMzc3XDI2NFwyNjRcMjYxXDM3N1wyNjRcMjY0IgorICAiXDI2MVwzNzdcMjY0XDI2NFwyNjFcMzc3XDI2M1wyNjNcMjYxXDM3N1wyNjNcMjYzXDI2MVwzNzdcMjYyXDI2MlwyNTYiCisgICJcMzc3XDI1NlwyNTZcMjUyXDM3N1wyNDdcMjQ3XDI0NFwzNzdcMjQyXDI0MlwyNDBcMzc3XDI0NVwyNDVcMjQxXDM3NyIKKyAgIlwyNDVcMjQ1XDI0MVwzNzdcMjMxXDIzMVwyMjdcMzc3XDIyMlwyMjJcMjIwXDM3N1wyMjRcMjI0XDIyMFwzNzdcMjM1IgorICAiXDIzNVwyMzNcMzc3XDIwNVwyMDVcMjAzXDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMHJcMFwwIgorICAiXDBcMCJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfbWFpbF9mb3J3YXJkKQorI2VuZGlmCisjaWZkZWYgX19HTlVDX18KK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfbWFpbF9mb3J3YXJkW10gX19hdHRyaWJ1dGVfXyAoKF9fYWxpZ25lZF9fICg0KSkpID0gCisjZWxzZQorc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja19tYWlsX2ZvcndhcmRbXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICgyMzA0KSAqLworICAiXDBcMFwxMVwzMCIKKyAgLyogcGl4ZGF0YV90eXBlICgweDEwMTAwMDIpICovCisgICJcMVwxXDBcMiIKKyAgLyogcm93c3RyaWRlICg5NikgKi8KKyAgIlwwXDBcMGAiCisgIC8qIHdpZHRoICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogaGVpZ2h0ICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMSIKKyAgIlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwIgorICAiXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDIiCisgICJcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwZlwwXDBcMFwzNzdcMFwwXDBcMzc3XDAiCisgICJcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwbVwwXDBcMFwxMFwwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDM3NyIKKyAgIlNTU1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3NlwzNzZcMzc2XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzc0XDM3NFwzNzRcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzEiCisgICJcMzcxXDM3MVwzNzdcMzcwXDM3MFwzNzBcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY1XDM2NSIKKyAgIlwzNjVcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNDNcMzQzXDM0M1wzNzdTU1NcMzc3XDBcMFwwXDM3N1wwXDBcMFwzMVwwIgorICAiXDBcMFwxMFwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzU2XDM1NlwzNTZcMzc3T09PXDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjNcMzYzXDM2M1wzNzdcMzYyXDM2MiIKKyAgIlwzNjJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MFwzNjBcMzYwIgorICAiXDM3N1wzNTdcMzU3XDM1N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNDNcMzQzXDM0M1wzNzciCisgICJPT09cMzc3XDI1NlwyNTZcMjU2XDM3N1wwXDBcMFwzNzdcMFwwXDAoXDBcMFwwXDE3XDBcMFwwXDJcMFwwXDBcMFwwXDAiCisgICJcMFwyXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzQ0XDM0NFwzNDRcMzc3Q0NDXDM3N1wzNzVcMzc1XDM3NVwzNzciCisgICJcMzYzXDM2M1wzNjNcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MCIKKyAgIlwzNjBcMzYwXDM3N1wzNTdcMzU3XDM1N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTVcMzU1IgorICAiXDM1NVwzNzdcMzQzXDM0M1wzNDNcMzc3T09PXDM3N1wyNTRcMjU0XDI1NFwzNzdcMzEwXDMxMFwzMTBcMzc3XDBcMFwwIgorICAiXDM3N1wwXDBcMC1cMFwwXDBcMjFcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3T09PXDM3N1wzNzNcMzczXDM3M1wzNzdcMzYxXDM2MVwzNjFcMzc3IgorICAiXDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzU3XDM1N1wzNTdcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTUiCisgICJcMzU1XDM1NVwzNzdcMzU1XDM1NVwzNTVcMzc3XDM0M1wzNDNcMzQzXDM3N0NDQ1wzNzdcMjQwXDI0MFwyNDBcMzc3XDMyNCIKKyAgIlwzMjRcMzI0XDM3N1wzMTBcMzEwXDMxMFwzNzdcMFwwXDBcMzc3XDBcMFwwLVwwXDBcMFwyMVwwXDBcMFwyXDBcMFwwIgorICAiXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3M1wzNzNcMzczXDM3N1wzNjVcMzY1XDM2NVwzNzciCisgICJcMzQ0XDM0NFwzNDRcMzc3Q0NDXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM1N1wzNTdcMzU3XDM3NyIKKyAgIlwzNTZcMzU2XDM1NlwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NFwzNTRcMzU0XDM3N1wzNDNcMzQzXDM0M1wzNzdPT09cMzc3IgorICAiXDIyNVwyMjVcMjI1XDM3N1wzMjRcMzI0XDMyNFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDMxMFwzMTBcMzEwXDM3N1wwXDAiCisgICJcMFwzNzdcMFwwXDAtXDBcMFwwXDIxXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3IgorICAiPj4+XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTRcMzU0XDM1NFwzNzciCisgICJcMzQzXDM0M1wzNDNcMzc3TU1NXDM3N1wyMDFcMjAxXDIwMVwzNzdcMzA2XDMwNlwzMDZcMzc3XDM0NFwzNDRcMzQ0XDM3NyIKKyAgIlwzNDRcMzQ0XDM0NFwzNzdcMzEwXDMxMFwzMTBcMzc3XDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjFcMFwwXDBcMlwwIgorICAiXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzNcMzczXDM3M1wzNzdcMzY1XDM2NVwzNjUiCisgICJcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNDRcMzQ0XDM0NFwzNzdqampcMzc3Q0NDXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzU0IgorICAiXDM1NFwzNTRcMzc3XDM0M1wzNDNcMzQzXDM3N09PT1wzNzdqampcMzc3XDMwNlwzMDZcMzA2XDM3N1wzMDZcMzA2XDMwNiIKKyAgIlwzNzdcMzY1XDM2NVwzNjVcMzc3XDBcMFwwXDM3N1wzMTBcMzEwXDMxMFwzNzdcMFwwXDBcMzc3XDBcMFwwLVwwXDBcMCIKKyAgIlwyMVwwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NVwzNjVcMzY1XDM3NyIKKyAgIlwzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3Y2NjXDM3N1wzNzdcMzc3XDM3N1wzNzdcMjcxXDI3MVwyNzFcMzc3IgorICAiT09PXDM3N1wzNjBcMzYwXDM2MFwzNzdPT09cMzc3XDIyNVwyMjVcMjI1XDM3N1wzMDZcMzA2XDMwNlwzNzdzc3NcMzc3IgorICAiXDMwNlwzMDZcMzA2XDM3N1wzNjVcMzY1XDM2NVwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDAiCisgICItXDBcMFwwXDIxXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzczXDM3MyIKKyAgIlwzNzNcMzc3XDM0NFwzNDRcMzQ0XDM3N2NjY1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNDRcMzQ0IgorICAiXDM0NFwzNzdcMzI0XDMyNFwzMjRcMzc3T09PXDM3N1wyNTRcMjU0XDI1NFwzNzdcMzA2XDMwNlwzMDZcMzc3XDM0NFwzNDQiCisgICJcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzd8fHxcMzc3XDM0NFwzNDRcMzQ0XDM3N1wwXDBcMFwzNzdbXDIxMFwyNjJcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjFcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNDRcMzQ0XDM0NFwzNzdzc3NcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NSIKKyAgIlwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wyMzZcMjcwXDMyMSIKKyAgIlwzNzdQXDIwMFwyNTVcMzc3XDBcMFwwXDM3N1wwXDBcMFwyMVwwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3fHx8XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3NyIKKyAgIlwzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMFwwIgorICAiXDBcMzc3XDI2NVwzMTFcMzM0XDM3N1wyNTdcMzA1XDMzMlwzNzdcMjYyXDMwN1wzMzNcMzc3XDI2NlwzMTJcMzM1XDM3NyIKKyAgIlwyNjZcMzEyXDMzNVwzNzdcMjY2XDMxMlwzMzVcMzc3XDI0NFwyNzVcMzI1XDM3N1wyMzRcMjY3XDMyMVwzNzdQXDIwMCIKKyAgIlwyNTVcMzc3XDEwXDE1XDIxXDM3N1wwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdzc3NcMzc3XDI3NFwyNzQiCisgICJcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc0XDI3NFwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3N1wyNzRcMjc0XDI3NCIKKyAgIlwzNzdcMjc0XDI3NFwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzdcMFwwXDBcMzc3XDIzM1wyNjYiCisgICJcMzIwXDM3N1wyNDBcMjcyXDMyM1wzNzdcMjM0XDI2N1wzMjFcMzc3XDIzNFwyNjdcMzIxXDM3N1wyMzNcMjY2XDMyMCIKKyAgIlwzNzdcMjMyXDI2NVwzMTdcMzc3XDI0MFwyNzJcMzIzXDM3N1wyMzRcMjY3XDMyMVwzNzdcMjI3XDI2M1wzMTZcMzc3IgorICAiX1wyMTNcMjY0XDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwyXDBcMFwwbVwwXDBcMFwzNzdcMFwwXDBcMzc3XDAiCisgICJcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMjIxXDI2MFwzMTRcMzc3XDIzNlwyNzBcMzIxXDM3N1wyMzJcMjY1XDMxN1wzNzdcMjMyXDI2NVwzMTciCisgICJcMzc3XDIzM1wyNjZcMzIwXDM3N1wyMzRcMjY3XDMyMVwzNzdcMjM0XDI2N1wzMjFcMzc3XDIzNFwyNjdcMzIxXDM3NyIKKyAgIlwyNDBcMjcyXDMyM1wzNzdcMjI1XDI2MlwzMTZcMzc3THlcMjQzXDM3N1wwXDBcMFwzNzdcMFwwXDBcMVwwXDBcMFwxMCIKKyAgIlwwXDBcMFwzMVwwXDBcMChcMFwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMCIKKyAgIlwwXDM3N0l0XDIzNFwzNzdcNzdlXDIxMFwzNzdcNzdlXDIxMFwzNzdcNzdlXDIxMFwzNzdcNzdlXDIxMFwzNzdcNzdlIgorICAiXDIxMFwzNzdcNzdlXDIxMFwzNzdcNzdlXDIxMFwzNzdcNzdlXDIxMFwzNzcqQ1tcMzc3XDBcMFwwXDM3N1wwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwxMFwwXDBcMFwxNlwwXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwyMSIKKyAgIlwwXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwzNzdFb1wyMjZcMzc3N1l4XDM3NzdZeFwzNzc3WXhcMzc3IgorICAiN1l4XDM3NzdZeFwzNzdcNzdlXDIxMFwzNzdcNzdlXDIxMFwzNzcqQ1tcMzc3XDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDAiCisgICJcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIlwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1w3N2VcMjEwXDM3NypDW1wzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwzNzcqQ1tcMzc3XDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3IgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIn07CisKKworLyogR2RrUGl4YnVmIFJHQkEgQy1Tb3VyY2UgaW1hZ2UgZHVtcCAqLworCisjaWZkZWYgX19TVU5QUk9fQworI3ByYWdtYSBhbGlnbiA0IChzdG9ja19tYWlsX3JlY2VpdmUpCisjZW5kaWYKKyNpZmRlZiBfX0dOVUNfXworc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja19tYWlsX3JlY2VpdmVbXSBfX2F0dHJpYnV0ZV9fICgoX19hbGlnbmVkX18gKDQpKSkgPSAKKyNlbHNlCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX21haWxfcmVjZWl2ZVtdID0gCisjZW5kaWYKK3sgIiIKKyAgLyogUGl4YnVmIG1hZ2ljICgweDQ3NjQ2YjUwKSAqLworICAiR2RrUCIKKyAgLyogbGVuZ3RoOiBoZWFkZXIgKDI0KSArIHBpeGVsX2RhdGEgKDIzMDQpICovCisgICJcMFwwXDExXDMwIgorICAvKiBwaXhkYXRhX3R5cGUgKDB4MTAxMDAwMikgKi8KKyAgIlwxXDFcMFwyIgorICAvKiByb3dzdHJpZGUgKDk2KSAqLworICAiXDBcMFwwYCIKKyAgLyogd2lkdGggKDI0KSAqLworICAiXDBcMFwwXDMwIgorICAvKiBoZWlnaHQgKDI0KSAqLworICAiXDBcMFwwXDMwIgorICAvKiBwaXhlbF9kYXRhOiAqLworICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDM3N1wzMTFcMzMzXDMwN1wzNzdcMzExXDMzMlwzMDdcMzc3XDMxMVwzMzJcMzA3XDM3N1wyMDFcMjMyeVwzNzciCisgICJYdU1cMzc3XDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDI2MlwzMTFcMjYwXDM3N1wyNTFcMzA0XDI0N1wzNzdcMjU1XDMxMFwyNTMiCisgICJcMzc3W3lQXDM3N01nRFwzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMjczXDMyMFwyNzFcMzc3XDI1NlwzMDdcMjU0XDM3NyIKKyAgIlwyNTZcMzA3XDI1NFwzNzdbeVBcMzc3TWdEXDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDMyNFwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wyNzFcMzE2XDI2NyIKKyAgIlwzNzdcMjU2XDMwN1wyNTRcMzc3XDI1MlwzMDdcMjUwXDM3N1t5UFwzNzdNZ0RcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMzE1XDMzNlwzMTMiCisgICJcMzc3XDI2MVwzMTFcMjYwXDM3N1wyNjVcMzE2XDI2NVwzNzdcMjYwXDMxMVwyNjBcMzc3XDI1NVwzMDZcMjUzXDM3NyIKKyAgIlt5UFwzNzdbeVBcMzc3W3lQXDM3N01oRFwzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwyXDAiCisgICJcMFwwXDJcMFwwXDBcMlwwXDBcMFwzNzdcMzE1XDMzNlwzMTNcMzc3XDI2NFwzMTNcMjYyXDM3N1wyNjNcMzEyXDI2MSIKKyAgIlwzNzdcMjU1XDMwNlwyNTNcMzc3W3lQXDM3N1t5UFwzNzdNaERcMzc3XDBcMFwwXDM3N1wwXDBcMFwyXDBcMFwwXDJcMCIKKyAgIlwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiZlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wzMTVcMzM2IgorICAiXDMxM1wzNzdcMjUyXDMwN1wyNTBcMzc3XDI2MFwzMDdcMjU2XDM3N1t5UFwzNzdNaERcMzc3XDBcMFwwXDM3N1wwXDAiCisgICJcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwbVwwXDBcMFwxMFwwXDBcMCIKKyAgIlwyXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDM3N1NTU1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NlwzNzZcMzc2XDM3N1wwXDBcMFwzNzdcMzE1XDMzNiIKKyAgIlwzMTNcMzc3XDI1NVwzMTBcMjUzXDM3N1RxSlwzNzdcMFwwXDBcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjZcMzY2XDM2NiIKKyAgIlwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNDNcMzQzXDM0M1wzNzdTU1NcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzMVwwXDBcMFwxMFwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzU2XDM1NlwzNTZcMzc3IgorICAiT09PXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjNcMzYzXDM2M1wzNzciCisgICJcMzYyXDM2MlwzNjJcMzc3XDBcMFwwXDM3N1wzMTdcMzM3XDMxNFwzNzdcMFwwXDBcMzc3XDM2MFwzNjBcMzYwXDM3NyIKKyAgIlwzNTdcMzU3XDM1N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNDNcMzQzXDM0M1wzNzdPT09cMzc3IgorICAiXDI1NlwyNTZcMjU2XDM3N1wwXDBcMFwzNzdcMFwwXDAoXDBcMFwwXDE3XDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwyXDAiCisgICJcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzQ0XDM0NFwzNDRcMzc3Q0NDXDM3N1wzNzVcMzc1XDM3NVwzNzdcMzYzXDM2MyIKKyAgIlwzNjNcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYxXDM2MVwzNjFcMzc3LS0tXDM3N1wzNTdcMzU3IgorICAiXDM1N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzQzXDM0M1wzNDMiCisgICJcMzc3T09PXDM3N1wyNTRcMjU0XDI1NFwzNzdcMzEwXDMxMFwzMTBcMzc3XDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjEiCisgICJcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0IgorICAiXDM0NFwzNDRcMzc3T09PXDM3N1wzNzNcMzczXDM3M1wzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjAiCisgICJcMzYwXDM2MFwzNzdcMzU3XDM1N1wzNTdcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU1XDM1NSIKKyAgIlwzNTVcMzc3XDM0M1wzNDNcMzQzXDM3N0NDQ1wzNzdcMjQwXDI0MFwyNDBcMzc3XDMyNFwzMjRcMzI0XDM3N1wzMTBcMzEwIgorICAiXDMxMFwzNzdcMFwwXDBcMzc3XDBcMFwwLVwwXDBcMFwyMVwwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3M1wzNzNcMzczXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3Q0NDXDM3NyIKKyAgIlwzNzBcMzcwXDM3MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU1IgorICAiXDM1NVwzNTVcMzc3XDM1NFwzNTRcMzU0XDM3N1wzNDNcMzQzXDM0M1wzNzdPT09cMzc3XDIyNVwyMjVcMjI1XDM3N1wzMjQiCisgICJcMzI0XDMyNFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDMxMFwzMTBcMzEwXDM3N1wwXDBcMFwzNzdcMFwwXDAtXDBcMFwwXDIxIgorICAiXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NSIKKyAgIlwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3Pj4+XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzU2IgorICAiXDM1NlwzNTZcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTRcMzU0XDM1NFwzNzdcMzQzXDM0M1wzNDNcMzc3TU1NXDM3N1wyMDEiCisgICJcMjAxXDIwMVwzNzdcMzA2XDMwNlwzMDZcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzEwXDMxMCIKKyAgIlwzMTBcMzc3XDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjFcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzNcMzczXDM3M1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNDQiCisgICJcMzQ0XDM0NFwzNzdqampcMzc3Q0NDXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzU0XDM1NFwzNTRcMzc3XDM0M1wzNDNcMzQzIgorICAiXDM3N09PT1wzNzdqampcMzc3XDMwNlwzMDZcMzA2XDM3N1wzMDZcMzA2XDMwNlwzNzdcMzY1XDM2NVwzNjVcMzc3XDM0NCIKKyAgIlwzNDRcMzQ0XDM3N1wzMTBcMzEwXDMxMFwzNzdcMFwwXDBcMzc3XDBcMFwwLVwwXDBcMFwyMVwwXDBcMFwyXDBcMFwwIgorICAiXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzciCisgICJcMzQ0XDM0NFwzNDRcMzc3Y2NjXDM3N1wzNzdcMzc3XDM3N1wzNzdcMjcxXDI3MVwyNzFcMzc3T09PXDM3N1wzNjBcMzYwIgorICAiXDM2MFwzNzdPT09cMzc3XDIyNVwyMjVcMjI1XDM3N1wzMDZcMzA2XDMwNlwzNzdzc3NcMzc3XDMwNlwzMDZcMzA2XDM3NyIKKyAgIlwzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3XDMxMFwzMTBcMzEwXDM3N1wwXDBcMFwzNzdcMFwwXDAtXDBcMCIKKyAgIlwwXDIxXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzczXDM3M1wzNzNcMzc3IgorICAiXDM0NFwzNDRcMzQ0XDM3N2NjY1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNDRcMzQ0XDM0NFwzNzciCisgICJcMzI0XDMyNFwzMjRcMzc3T09PXDM3N1wyNTRcMjU0XDI1NFwzNzdcMzA2XDMwNlwzMDZcMzc3XDM0NFwzNDRcMzQ0XDM3NyIKKyAgIlwzNDRcMzQ0XDM0NFwzNzd8fHxcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzEwXDMxMFwzMTBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjFcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNDRcMzQ0XDM0NFwzNzdzc3NcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NSIKKyAgIlwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0IgorICAiXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNDRcMzQ0XDM0NFwzNzciCisgICJ8fHxcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzMTBcMzEwXDMxMFwzNzdcMFwwXDBcMzc3XDBcMFwwLVwwXDBcMFwyMVwwXDAiCisgICJcMFwyXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3fHx8XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NCIKKyAgIlwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0IgorICAiXDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzd8fHxcMzc3XDMxMFwzMTAiCisgICJcMzEwXDM3N1wwXDBcMFwzNzdcMFwwXDAtXDBcMFwwXDIxXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3NyIKKyAgInNzc1wzNzdcMjc0XDI3NFwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc0XDI3NFwyNzRcMzc3IgorICAiXDI3NFwyNzRcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc0XDI3NFwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3N1wyNzQiCisgICJcMjc0XDI3NFwzNzdcMjc0XDI3NFwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc0XDI3NCIKKyAgIlwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzdjY2NcMzc3XDBcMFwwXDM3N1wwXDBcMC1cMFwwIgorICAiXDBcMjFcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDJcMFwwXDBtXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDAiCisgICJcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMjA3XDBcMFwwKFwwXDBcMFwxN1wwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwxMFwwXDBcMFwzMSIKKyAgIlwwXDBcMChcMFwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMFwwLVwwXDBcMCIKKyAgIi1cMFwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAoXDBcMFwwXDMxXDBcMFwwXDEwIgorICAiXDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMTBcMFwwXDBcMTZcMFwwXDBcMjFcMFwwXDBcMjEiCisgICJcMFwwXDBcMjFcMFwwXDBcMjFcMFwwXDBcMjFcMFwwXDBcMjFcMFwwXDBcMjFcMFwwXDBcMjFcMFwwXDBcMjFcMFwwXDAiCisgICJcMjFcMFwwXDBcMjFcMFwwXDBcMjFcMFwwXDBcMjFcMFwwXDBcMjFcMFwwXDBcMjFcMFwwXDBcMTZcMFwwXDBcMTBcMCIKKyAgIlwwXDBcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMlwwXDBcMFwyXDBcMFwwIgorICAiXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDAiCisgICJcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDFcMFwwXDBcMFwwXDBcMCIKKyAgIlwwIn07CisKKworLyogR2RrUGl4YnVmIFJHQkEgQy1Tb3VyY2UgaW1hZ2UgZHVtcCAqLworCisjaWZkZWYgX19TVU5QUk9fQworI3ByYWdtYSBhbGlnbiA0IChzdG9ja19tYWlsX3JlcGx5KQorI2VuZGlmCisjaWZkZWYgX19HTlVDX18KK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfbWFpbF9yZXBseVtdIF9fYXR0cmlidXRlX18gKChfX2FsaWduZWRfXyAoNCkpKSA9IAorI2Vsc2UKK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfbWFpbF9yZXBseVtdID0gCisjZW5kaWYKK3sgIiIKKyAgLyogUGl4YnVmIG1hZ2ljICgweDQ3NjQ2YjUwKSAqLworICAiR2RrUCIKKyAgLyogbGVuZ3RoOiBoZWFkZXIgKDI0KSArIHBpeGVsX2RhdGEgKDIzMDQpICovCisgICJcMFwwXDExXDMwIgorICAvKiBwaXhkYXRhX3R5cGUgKDB4MTAxMDAwMikgKi8KKyAgIlwxXDFcMFwyIgorICAvKiByb3dzdHJpZGUgKDk2KSAqLworICAiXDBcMFwwYCIKKyAgLyogd2lkdGggKDI0KSAqLworICAiXDBcMFwwXDMwIgorICAvKiBoZWlnaHQgKDI0KSAqLworICAiXDBcMFwwXDMwIgorICAvKiBwaXhlbF9kYXRhOiAqLworICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDAiCisgICJcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMiIKKyAgIlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwZlwwXDBcMCIKKyAgIlwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwIgorICAiXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDAiCisgICJcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwbVwwXDBcMFwxMFwwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwxXDBcMFwwXDM3N1NTU1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NlwzNzZcMzc2XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzc0XDM3NFwzNzRcMzc3IgorICAiXDM3M1wzNzNcMzczXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcwXDM3MFwzNzBcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjYiCisgICJcMzY2XDM2NlwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNDNcMzQzXDM0M1wzNzdTU1NcMzc3XDAiCisgICJcMFwwXDM3N1wwXDBcMFwzMVwwXDBcMFwxMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzU2XDM1NiIKKyAgIlwzNTZcMzc3T09PXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjNcMzYzIgorICAiXDM2M1wzNzdcMzYyXDM2MlwzNjJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzYwXDM2MFwzNjAiCisgICJcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNTdcMzU3XDM1N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NVwzNTVcMzU1XDM3NyIKKyAgIlwzNDNcMzQzXDM0M1wzNzdPT09cMzc3XDI1NlwyNTZcMjU2XDM3N1wwXDBcMFwzNzdcMFwwXDAoXDBcMFwwXDE3XDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzQ0XDM0NFwzNDRcMzc3Q0NDXDM3NyIKKyAgIlwzNzVcMzc1XDM3NVwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYxIgorICAiXDM2MVwzNjFcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNTdcMzU3XDM1N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NlwzNTYiCisgICJcMzU2XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzQzXDM0M1wzNDNcMzc3T09PXDM3N1wyNTRcMjU0XDI1NFwzNzdcMzEwXDMxMCIKKyAgIlwzMTBcMzc3XDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3T09PXDM3N1wzNzNcMzczXDM3M1wzNzciCisgICJcMzYxXDM2MVwzNjFcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzU3XDM1N1wzNTdcMzc3XDM1NiIKKyAgIlwzNTZcMzU2XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU1XDM1NVwzNTVcMzc3XDM0M1wzNDNcMzQzXDM3N0NDQ1wzNzdcMjQwIgorICAiXDI0MFwyNDBcMzc3XDMyNFwzMjRcMzI0XDM3N1wzMTBcMzEwXDMxMFwzNzdcMFwwXDBcMzc3XDBcMFwwLVwwXDBcMFwyMSIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3M1wzNzNcMzczXDM3N1wzNjUiCisgICJcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3Q0NDXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM1NyIKKyAgIlwzNTdcMzU3XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NFwzNTRcMzU0XDM3N1wzNDNcMzQzIgorICAiXDM0M1wzNzdPT09cMzc3XDIyNVwyMjVcMjI1XDM3N1wzMjRcMzI0XDMyNFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDMxMFwzMTAiCisgICJcMzEwXDM3N1wwXDBcMFwzNzdcMFwwXDAtXDBcMFwwXDIxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0IgorICAiXDM0NFwzNDRcMzc3Pj4+XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTQiCisgICJcMzU0XDM1NFwzNzdcMzQzXDM0M1wzNDNcMzc3TU1NXDM3N1wyMDFcMjAxXDIwMVwzNzdcMzA2XDMwNlwzMDZcMzc3XDM0NCIKKyAgIlwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzEwXDMxMFwzMTBcMzc3XDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjEiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzNcMzczXDM3M1wzNzc9XDMyIgorICAiXDIzXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3ampqXDM3N0NDQ1wzNzdcMzYzXDM2M1wzNjNcMzc3IgorICAiXDM1NFwzNTRcMzU0XDM3N1wzNDNcMzQzXDM0M1wzNzdPT09cMzc3ampqXDM3N1wzMDZcMzA2XDMwNlwzNzdcMzA2XDMwNiIKKyAgIlwzMDZcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzEwXDMxMFwzMTBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMC1cMFwwXDBcMjFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wwXDAiCisgICJcMFwzNzdcMFwwXDBcMzc3XDM0NFwzNDRcMzQ0XDM3N2NjY1wzNzdcMzc3XDM3N1wzNzdcMzc3XDI3MVwyNzFcMjcxXDM3NyIKKyAgIk9PT1wzNzdcMzYwXDM2MFwzNjBcMzc3T09PXDM3N1wyMjVcMjI1XDIyNVwzNzdcMzA2XDMwNlwzMDZcMzc3c3NzXDM3NyIKKyAgIlwzMDZcMzA2XDMwNlwzNzdcMzY1XDM2NVwzNjVcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzMTBcMzEwXDMxMFwzNzdcMFwwIgorICAiXDBcMzc3XDBcMFwwLVwwXDBcMFwyMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdcMFwwXDBcMzc3XDM1MiIKKyAgIlwzMDBcMjcyXDM3N1wwXDBcMFwzNzdjY2NcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NCIKKyAgIlwzNDRcMzc3XDMyNFwzMjRcMzI0XDM3N09PT1wzNzdcMjU0XDI1NFwyNTRcMzc3XDMwNlwzMDZcMzA2XDM3N1wzNDRcMzQ0IgorICAiXDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3fHx8XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDMxMFwzMTAiCisgICJcMzEwXDM3N1wwXDBcMFwzNzdcMFwwXDAtXDBcMFwwXDIxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3NyIKKyAgIlwzNTJcMzAwXDI3MlwzNzdcMzM3XDIzNlwyMjVcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwIgorICAiXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NSIKKyAgIlwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3fHx8XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzEwIgorICAiXDMxMFwzMTBcMzc3XDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wzNTIiCisgICJcMzAwXDI3MlwzNzdcMzQwXDI0MVwyMzBcMzc3XDM0MVwyNDVcMjM1XDM3N1wzNDJcMjQ3XDIzNlwzNzdcMzQzXDI1MyIKKyAgIlwyNDNcMzc3XDM0MlwyNDdcMjM2XDM3N1wzNDNcMjUyXDI0MlwzNzdcMzM3XDIzNlwyMjVcMzc3XDMxNGJTXDM3N1wwIgorICAiXDBcMFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDQiCisgICJcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzd8fHxcMzc3XDMxMFwzMTBcMzEwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDAtXDBcMFwwXDIxXDBcMFwwXDBcMFwwXDBcMzc3XDM1MlwzMDBcMjcyXDM3N1wzMzVcMjI3XDIxNVwzNzdcMzM3IgorICAiXDIzN1wyMjdcMzc3XDMzN1wyMzZcMjI1XDM3N1wzMzZcMjMyXDIyMFwzNzdcMzM1XDIyNlwyMTRcMzc3XDMzNVwyMjYiCisgICJcMjE0XDM3N1wzMzZcMjMyXDIyMFwzNzdcMzM1XDIyNFwyMTJcMzc3XDI2MUM0XDM3N1wwXDBcMFwzNzdcMjc0XDI3NCIKKyAgIlwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc0XDI3NFwyNzRcMzc3XDI3NFwyNzRcMjc0IgorICAiXDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc0XDI3NFwyNzRcMzc3Y2NjXDM3N1wwXDBcMFwzNzdcMFwwXDAtXDBcMFwwXDIxIgorICAiQ1wzMVwyM1wzNzdcMzUyXDMwMlwyNzRcMzc3XDMzNlwyMzJcMjIwXDM3N1wzMzdcMjM0XDIyMlwzNzdcMzM1XDIzMVwyMTciCisgICJcMzc3XDMzNVwyMzFcMjE3XDM3N1wzMzVcMjI3XDIxNVwzNzdcMzM2XDIzMlwyMjBcMzc3XDMzNlwyMzJcMjIwXDM3NyIKKyAgIlwzMzZcMjMyXDIyMFwzNzdcMzM2XDIzMlwyMjBcMzc3XDI2NUU1XDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwIgorICAiXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDAiCisgICJcMFwyMDdcMFwwXDAoXDBcMFwwXDE3XDBcMFwwXDBcMFwwXDBcMzc3ZSZcMzVcMzc3XDIzMDosXDM3N1wyMzA6LFwzNzciCisgICJcMjMwOixcMzc3XDIzMDosXDM3N1wyMzA6LFwzNzdcMjMwOixcMzc3XDIzMDosXDM3N1wyMzA6LFwzNzd8LyRcMzc3XDAiCisgICJcMFwwXDM3N1wwXDBcMC1cMFwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMCIKKyAgIlwwKFwwXDBcMFwzMVwwXDBcMFwxMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3ZSZcMzVcMzc3XDIzMDosXDM3N1wyMzAiCisgICI6LFwzNzdjJVwzNVwzNzdjJVwzNVwzNzdjJVwzNVwzNzdjJVwzNVwzNzdjJVwzNVwzNzdsKVwzN1wzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwIgorICAiXDIxXDBcMFwwXDE2XDBcMFwwXDEwXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3ZSZcMzUiCisgICJcMzc3XDIzMDosXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwIgorICAiXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMzc3ZSZcMzVcMzc3XDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAifTsKKworCisvKiBHZGtQaXhidWYgUkdCQSBDLVNvdXJjZSBpbWFnZSBkdW1wICovCisKKyNpZmRlZiBfX1NVTlBST19DCisjcHJhZ21hIGFsaWduIDQgKHN0b2NrX21haWxfc2VuZCkKKyNlbmRpZgorI2lmZGVmIF9fR05VQ19fCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX21haWxfc2VuZFtdIF9fYXR0cmlidXRlX18gKChfX2FsaWduZWRfXyAoNCkpKSA9IAorI2Vsc2UKK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfbWFpbF9zZW5kW10gPSAKKyNlbmRpZgoreyAiIgorICAvKiBQaXhidWYgbWFnaWMgKDB4NDc2NDZiNTApICovCisgICJHZGtQIgorICAvKiBsZW5ndGg6IGhlYWRlciAoMjQpICsgcGl4ZWxfZGF0YSAoMjMwNCkgKi8KKyAgIlwwXDBcMTFcMzAiCisgIC8qIHBpeGRhdGFfdHlwZSAoMHgxMDEwMDAyKSAqLworICAiXDFcMVwwXDIiCisgIC8qIHJvd3N0cmlkZSAoOTYpICovCisgICJcMFwwXDBgIgorICAvKiB3aWR0aCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIGhlaWdodCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIHBpeGVsX2RhdGE6ICovCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwT1w3N1wxMlwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzciCisgICJcMzY0XDM0NlwyNjVcMzc3XDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM2NFwzNDUiCisgICJcMjYzXDM3N1wzNTVcMzI2XDIwNFwzNzd1X1wyMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wzNjRcMzQ1IgorICAiXDI2M1wzNzdcMzU1XDMyNVwyMDBcMzc3XDM1NlwzMjZcMjA1XDM3N1wyNTdcMjE1XDMwXDM3N3VfXDIwXDM3N1wwXDAiCisgICJcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwzNzdcMzY0XDM0NVwyNjNcMzc3XDM1N1wzMzFcMjE0XDM3N1wzNTZcMzMwXDIxM1wzNzdcMzU1XDMyNVwyMDIiCisgICJcMzc3XDI1N1wyMTVcMzBcMzc3XDI1N1wyMTVcMzBcMzc3dV9cMjBcMzc3XDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMVwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMzc3XDM2NFwzNDVcMjYzXDM3N1wzNTZcMzMwXDIxMVwzNzciCisgICJcMzU3XDMzMlwyMjJcMzc3XDM1NlwzMzBcMjExXDM3N1wzNTVcMzI1XDIwMlwzNzdcMjU3XDIxNVwzMFwzNzdcMjU3XDIxNSIKKyAgIlwzMFwzNzdcMjU3XDIxNVwzMFwzNzd1X1wyMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMCIKKyAgIlwwXDJcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwZlwwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wzNjBcMzMzXDIyM1wzNzdcMzU1XDMyNlwyMDQiCisgICJcMzc3XDM1NVwzMjVcMjAwXDM3N1wyNTdcMjE1XDMwXDM3N3NdXDIwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMG1cMFwwXDBcMTBcMFwwXDBcMlwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwzNzdTU1NcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wwXDBcMFwzNzdcMzYwXDMzNFwyMjdcMzc3XDM1NVwzMjZcMjA0XDM3NyIKKyAgIlwzNTVcMzI2XDIwNFwzNzdcMjU3XDIxNVwzMFwzNzdzXVwyMFwzNzdcMFwwXDBcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjUiCisgICJcMzY1XDM2NVwzNzdcMzY0XDM2NFwzNjRcMzc3XDM0M1wzNDNcMzQzXDM3N1NTU1wzNzdcMFwwXDBcMzc3XDBcMFwwXDMxIgorICAiXDBcMFwwXDEwXDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3N1wzNTZcMzU2XDM1NlwzNzdPT09cMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY0XDM2NFwzNjRcMzc3XDBcMFwwXDM3N1wzNTZcMzMwXDIxMVwzNzciCisgICJcMzU1XDMyM3xcMzc3XDM1NVwzMjZcMjA0XDM3N1wyNTdcMjE1XDMwXDM3N3NdXDIwXDM3N1wwXDBcMFwzNzdcMzU2XDM1NiIKKyAgIlwzNTZcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNDNcMzQzXDM0M1wzNzdPT09cMzc3XDI1NlwyNTZcMjU2XDM3N1wwXDBcMCIKKyAgIlwzNzdcMFwwXDAoXDBcMFwwXDE3XDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzQ0XDM0NFwzNDRcMzc3Q0NDXDM3N1wzNzVcMzc1XDM3NVwzNzdcMzYzXDM2M1wzNjNcMzc3XDBcMFwwXDM3N1wzNDQiCisgICJcMjc3PVwzNzdcMzEzXDI0NFwzNFwzNzdcMzIxXDI1MFwzNFwzNzdcMjIwdFwyM1wzNzd8ZFwyMVwzNzdcMFwwXDBcMzc3IgorICAiXDM1NVwzNTVcMzU1XDM3N1wzNDNcMzQzXDM0M1wzNzdPT09cMzc3XDI1NFwyNTRcMjU0XDM3N1wzMTBcMzEwXDMxMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwLVwwXDBcMFwyMVwwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNDRcMzQ0XDM0NFwzNzdPT09cMzc3XDM3M1wzNzNcMzczXDM3N1wwXDBcMCIKKyAgIlwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMzQzIgorICAiXDM0M1wzNDNcMzc3Q0NDXDM3N1wyNDBcMjQwXDI0MFwzNzdcMzI0XDMyNFwzMjRcMzc3XDMxMFwzMTBcMzEwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDAtXDBcMFwwXDIxXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzczXDM3M1wzNzNcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNDRcMzQ0XDM0NFwzNzdDQ0NcMzc3XDM3MFwzNzBcMzcwIgorICAiXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzU3XDM1N1wzNTdcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTVcMzU1XDM1NVwzNzciCisgICJcMzU0XDM1NFwzNTRcMzc3XDM0M1wzNDNcMzQzXDM3N09PT1wzNzdcMjI1XDIyNVwyMjVcMzc3XDMyNFwzMjRcMzI0XDM3NyIKKyAgIlwzNDRcMzQ0XDM0NFwzNzdcMzEwXDMxMFwzMTBcMzc3XDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjFcMFwwXDBcMlwwIgorICAiXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NVwzNjUiCisgICJcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNDRcMzQ0XDM0NFwzNzc+Pj5cMzc3XDM2NVwzNjVcMzY1XDM3N1wzNTZcMzU2XDM1NiIKKyAgIlwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NFwzNTRcMzU0XDM3N1wzNDNcMzQzXDM0M1wzNzdNTU1cMzc3XDIwMVwyMDFcMjAxIgorICAiXDM3N1wzMDZcMzA2XDMwNlwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzMTBcMzEwXDMxMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwLVwwXDBcMFwyMVwwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3M1wzNzNcMzczXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM0NFwzNDRcMzQ0IgorICAiXDM3N2pqalwzNzdDQ0NcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNTRcMzU0XDM1NFwzNzdcMzQzXDM0M1wzNDNcMzc3T08iCisgICJPXDM3N2pqalwzNzdcMzA2XDMwNlwzMDZcMzc3XDMwNlwzMDZcMzA2XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NCIKKyAgIlwzNDRcMzc3XDMxMFwzMTBcMzEwXDM3N1wwXDBcMFwzNzdcMFwwXDAtXDBcMFwwXDIxXDBcMFwwXDJcMFwwXDBcMFwwIgorICAiXDBcMFwyXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNDQiCisgICJcMzQ0XDM0NFwzNzdjY2NcMzc3XDM3N1wzNzdcMzc3XDM3N1wyNzFcMjcxXDI3MVwzNzdPT09cMzc3XDM2MFwzNjBcMzYwIgorICAiXDM3N09PT1wzNzdcMjI1XDIyNVwyMjVcMzc3XDMwNlwzMDZcMzA2XDM3N3Nzc1wzNzdcMzA2XDMwNlwzMDZcMzc3XDM2NSIKKyAgIlwzNjVcMzY1XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzEwXDMxMFwzMTBcMzc3XDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjEiCisgICJcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzNcMzczXDM3M1wzNzdcMzQ0IgorICAiXDM0NFwzNDRcMzc3Y2NjXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzMjQiCisgICJcMzI0XDMyNFwzNzdPT09cMzc3XDI1NFwyNTRcMjU0XDM3N1wzMDZcMzA2XDMwNlwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NCIKKyAgIlwzNDRcMzQ0XDM3N3x8fFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzMTBcMzEwXDMxMFwzNzdcMCIKKyAgIlwwXDBcMzc3XDBcMFwwLVwwXDBcMFwyMVwwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM0NFwzNDRcMzQ0XDM3N3Nzc1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NSIKKyAgIlwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3IgorICAiXDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM0NFwzNDRcMzQ0XDM3N3x8fFwzNzciCisgICJcMzQ0XDM0NFwzNDRcMzc3XDMxMFwzMTBcMzEwXDM3N1wwXDBcMFwzNzdcMFwwXDAtXDBcMFwwXDIxXDBcMFwwXDJcMCIKKyAgIlwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzd8fHxcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNDRcMzQ0IgorICAiXDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDQiCisgICJcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3NyIKKyAgIlwzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3N3x8fFwzNzdcMzEwXDMxMFwzMTBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjFcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3c3NzXDM3N1wyNzQiCisgICJcMjc0XDI3NFwzNzdcMjc0XDI3NFwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc0XDI3NCIKKyAgIlwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc0XDI3NFwyNzRcMzc3XDI3NFwyNzRcMjc0IgorICAiXDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc0XDI3NFwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzciCisgICJcMjc0XDI3NFwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3N2NjY1wzNzdcMFwwXDBcMzc3XDBcMFwwLVwwXDBcMFwyMVwwXDAiCisgICJcMFwyXDBcMFwwXDBcMFwwXDBcMlwwXDBcMG1cMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDAiCisgICJcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwyMDciCisgICJcMFwwXDAoXDBcMFwwXDE3XDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDEwXDBcMFwwXDMxXDBcMFwwKFwwXDAiCisgICJcMC1cMFwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMFwwLVwwXDBcMC1cMCIKKyAgIlwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMFwwLVwwXDBcMChcMFwwXDBcMzFcMFwwXDBcMTBcMFwwXDBcMVwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwxMFwwXDBcMFwxNlwwXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwyMVwwIgorICAiXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwyMSIKKyAgIlwwXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwxNlwwXDBcMFwxMFwwXDBcMFwyXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDAiCisgICJcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMCIKKyAgIlwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDAifTsKKworCisvKiBHZGtQaXhidWYgUkdCQSBDLVNvdXJjZSBpbWFnZSBkdW1wICovCisKKyNpZmRlZiBfX1NVTlBST19DCisjcHJhZ21hIGFsaWduIDQgKHN0b2NrX21lbnVfYWJvdXQpCisjZW5kaWYKKyNpZmRlZiBfX0dOVUNfXworc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja19tZW51X2Fib3V0W10gX19hdHRyaWJ1dGVfXyAoKF9fYWxpZ25lZF9fICg0KSkpID0gCisjZWxzZQorc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja19tZW51X2Fib3V0W10gPSAKKyNlbmRpZgoreyAiIgorICAvKiBQaXhidWYgbWFnaWMgKDB4NDc2NDZiNTApICovCisgICJHZGtQIgorICAvKiBsZW5ndGg6IGhlYWRlciAoMjQpICsgcGl4ZWxfZGF0YSAoMTAyNCkgKi8KKyAgIlwwXDBcNFwzMCIKKyAgLyogcGl4ZGF0YV90eXBlICgweDEwMTAwMDIpICovCisgICJcMVwxXDBcMiIKKyAgLyogcm93c3RyaWRlICg2NCkgKi8KKyAgIlwwXDBcMEAiCisgIC8qIHdpZHRoICgxNikgKi8KKyAgIlwwXDBcMFwyMCIKKyAgLyogaGVpZ2h0ICgxNikgKi8KKyAgIlwwXDBcMFwyMCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAhXCJcMTBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBMTlwyM2xcMFwwXDBcMzc3XDI1XDI2XDYjXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDExXDBcMFwwXDM3N1wzNTZcMzY2PlwzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDIwXDIxXDRcN2RnXDMyIgorICAieFwwXDBcMFwzNzdcMFwwXDBcMzc3XDM1MlwzNjE9XDM3N1wzNjBcMzcwXDc3XDM3N1wzMTNcMzIyNVwzNzBcMFwwXDAiCisgICJcMzc3XDBcMFwwXDM3N0pMXDIza1wwXDBcMFwwXDIwXDIxXDRcMGRnXDMyXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMzRcMzVcN1wwXDBcMFwwXDM3N1wzNjBcMzcwXDc3XDM3N1wzNjBcMzcwXDc3XDM3N1wzNjBcMzcwXDc3XDM3N1wzNjAiCisgICJcMzcwXDc3XDM3N1wzNjBcMzcwXDc3XDM3N1wzNjBcMzcwXDc3XDM3N1wzNTFcMzYwPVwzNzdcMFwwXDBcMzc3XDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzdcMzdcMTAlXDBcMFwwIgorICAiXDM3N1wzNjBcMzcwXDc3XDM3N1wzNjBcMzcwXDc3XDM3N1wzNjBcMzcwXDc3XDM3N1wzNjBcMzcwXDc3XDM3N1wzNDUiCisgICJcMzU0PFwzNzdcMFwwXDBcMzc3XDVcNVwxXDdcMFwwXDBcMFwwXDBcMFwwXDM3XDM3XDEwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wzNTBcMzYwPVwzNzdcMzYwXDM3MFw3N1wzNzdcMzYwIgorICAiXDM3MFw3N1wzNzdcMzYwXDM3MFw3N1wzNzdcMjUzXDI2MC1cMzcyXDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMzYwXDM3MCIKKyAgIlw3N1wzNzdcMzU0XDM2Mz5cMzc3XDBcMFwwXDM3N1wzNTdcMzY3XDc3XDM3N1wzMTZcMzI2NlwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDM3N1wyNjRcMjcyL1wzNjNcMFwwXDBcMzc3XDMwXDMwXDZcNzdcMFwwXDBcMzc3XDMxNVwzMjQ1XDM3NSIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMzZcMzdcMTBnXDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzciCisgICJcMjZcMjdcNUZcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMCJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfbWVudV9ibGFuaykKKyNlbmRpZgorI2lmZGVmIF9fR05VQ19fCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX21lbnVfYmxhbmtbXSBfX2F0dHJpYnV0ZV9fICgoX19hbGlnbmVkX18gKDQpKSkgPSAKKyNlbHNlCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX21lbnVfYmxhbmtbXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICgxMDI0KSAqLworICAiXDBcMFw0XDMwIgorICAvKiBwaXhkYXRhX3R5cGUgKDB4MTAxMDAwMikgKi8KKyAgIlwxXDFcMFwyIgorICAvKiByb3dzdHJpZGUgKDY0KSAqLworICAiXDBcMFwwQCIKKyAgLyogd2lkdGggKDE2KSAqLworICAiXDBcMFwwXDIwIgorICAvKiBoZWlnaHQgKDE2KSAqLworICAiXDBcMFwwXDIwIgorICAvKiBwaXhlbF9kYXRhOiAqLworICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDAifTsKKworCisvKiBHZGtQaXhidWYgUkdCQSBDLVNvdXJjZSBpbWFnZSBkdW1wICovCisKKyNpZmRlZiBfX1NVTlBST19DCisjcHJhZ21hIGFsaWduIDQgKHN0b2NrX3Njb3JlcykKKyNlbmRpZgorI2lmZGVmIF9fR05VQ19fCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX3Njb3Jlc1tdIF9fYXR0cmlidXRlX18gKChfX2FsaWduZWRfXyAoNCkpKSA9IAorI2Vsc2UKK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfc2NvcmVzW10gPSAKKyNlbmRpZgoreyAiIgorICAvKiBQaXhidWYgbWFnaWMgKDB4NDc2NDZiNTApICovCisgICJHZGtQIgorICAvKiBsZW5ndGg6IGhlYWRlciAoMjQpICsgcGl4ZWxfZGF0YSAoMjMwNCkgKi8KKyAgIlwwXDBcMTFcMzAiCisgIC8qIHBpeGRhdGFfdHlwZSAoMHgxMDEwMDAyKSAqLworICAiXDFcMVwwXDIiCisgIC8qIHJvd3N0cmlkZSAoOTYpICovCisgICJcMFwwXDBgIgorICAvKiB3aWR0aCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIGhlaWdodCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIHBpeGVsX2RhdGE6ICovCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzXDBcMFwwXDRcMFwwXDBcNFwwXDBcMFw0XDBcMCIKKyAgIlwwXDNcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDIxNVwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMCIKKyAgIlwwXDIyN1wwXDBcMFwyMlwwXDBcMFw2XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwyXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzQxXDM0MVwzNDFcMzc3XDBcMFwwXDM3N1wwXDBcMCIiMlwwXDBcMFwyMlwwXDBcMFwyXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcM1wwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM1MyIKKyAgIlwzNTNcMzUzXDM3N1wwXDBcMFwzNzdcMzU1XDM1NVwzNTVcMzc3XDMyMlwzMjJcMzIyXDM3N1wwXDBcMFwzNzdcMFwwIgorICAiXDBMXDBcMFwwXDM0XDBcMFwwXDRcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFw0XDBcMCIKKyAgIlwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wzNTZcMzU2XDM1NlwzNzdcMzIyXDMyMlwzMjIiCisgICJcMzc3XDBcMFwwXDM3N1wwXDBcMFRcMFwwXDBcNDBcMFwwXDBcNFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcM1wwIgorICAiXDBcMFw0XDBcMFwwXDEwXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzU1XDM1NVwzNTVcMzc3XDBcMFwwXDM3N1wzNTciCisgICJcMzU3XDM1N1wzNzdcMzIzXDMyM1wzMjNcMzc3XDBcMFwwXDM3N1wwXDBcMFVcMFwwXDBcNDBcMFwwXDBcNFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwyMTVcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzU2XDM1NlwzNTZcMzc3XDBcMFwwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzI0XDMyNFwzMjRcMzc3XDBcMFwwIgorICAiXDM3N1wwXDBcMFdcMFwwXDAkXDBcMFwwXDEwXDBcMFwwXDRcMFwwXDBcM1wwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wzMjVcMzI1XDMyNVwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwyMDVcMFwwXDBcMjBcMFwwXDBcNVwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDNcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wwXDBcMFwzNzdcMFwwXDAiCisgICJcMzc3XDBcMFwwXDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNjFcMzYxIgorICAiXDM2MVwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIjFcMFwwXDBcMjFcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFw0XDBcMFwwXDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzUzXDM1M1wzNTNcMzc3XDM1NFwzNTRcMzU0XDM3N1wwXDBcMFwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NyIKKyAgIlwzNTdcMzU3XDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0IgorICAiXDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDMzM1wzMzNcMzMzXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBLXDBcMFwwXDM0XDBcMFwwXDRcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcNFwwIgorICAiXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDM1N1wzNTdcMzU3XDM3NyIKKyAgIlwzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY1IgorICAiXDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzcwXDM3MFwzNzBcMzc3XDBcMFwwXDM3NyIKKyAgIlwzMzRcMzM0XDMzNFwzNzdcMFwwXDBcMzc3XDBcMFwwVFwwXDBcMFw0MFwwXDBcMFw0XDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDRcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wwXDBcMFwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NyIKKyAgIlwzNTdcMzU3XDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzIgorICAiXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzcwXDM3MFwzNzAiCisgICJcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMzM1XDMzNVwzMzVcMzc3XDBcMFwwXDM3N1wwXDBcMFVcMFwwXDBcNDBcMCIKKyAgIlwwXDBcNFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFw0XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMFwwIgorICAiXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2MyIKKyAgIlwzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3IgorICAiXDM3MVwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzdcMFwwXDBcMzc3XDMzNlwzMzZcMzM2XDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBVXDBcMFwwXDQwXDBcMFwwXDRcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcNFwwXDBcMFwzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MlwzNjIiCisgICJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NiIKKyAgIlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wzMzciCisgICJcMzM3XDMzN1wzNzdcMFwwXDBcMzc3XDBcMFwwVVwwXDBcMFw0MFwwXDBcMFw0XDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDRcMFwwXDBcMzc3XDM0MVwzNDFcMzQxXDM3N1wzMjNcMzIzXDMyM1wzNzdcMzI0XDMyNFwzMjRcMzc3IgorICAiXDMyNVwzMjVcMzI1XDM3N1wzMjZcMzI2XDMyNlwzNzdcMzI3XDMyN1wzMjdcMzc3XDMzMFwzMzBcMzMwXDM3N1wzMzEiCisgICJcMzMxXDMzMVwzNzdcMzMxXDMzMVwzMzFcMzc3XDMzMlwzMzJcMzMyXDM3N1wzMzNcMzMzXDMzM1wzNzdcMzM0XDMzNCIKKyAgIlwzMzRcMzc3XDMzNVwzMzVcMzM1XDM3N1wzMzdcMzM3XDMzN1wzNzdcMzQwXDM0MFwzNDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFRcMFwwXDBcNDBcMFwwXDBcNFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFw0XDBcMFwwXDI1NFwwXDAiCisgICJcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMCIKKyAgIlwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwyNzNcMFwwXDBMXDBcMFwwXDM0XDBcMFwwXDRcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMlwwXDBcMFwyM1wwXDBcMCIiNVwwXDBcME1cMFwwXDBUXDBcMFwwVVwwXDBcMFVcMFwwXDBVXDBcMFwwVSIKKyAgIlwwXDBcMFVcMFwwXDBVXDBcMFwwVVwwXDBcMFVcMFwwXDBVXDBcMFwwVVwwXDBcMFVcMFwwXDBUXDBcMFwwTFwwXDBcMCIKKyAgIjJcMFwwXDBcMjJcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDZcMFwwXDBcMjNcMCIKKyAgIlwwXDBcMzVcMFwwXDBcNDBcMFwwXDBcNDBcMFwwXDBcNDBcMFwwXDBcNDBcMFwwXDBcNDBcMFwwXDBcNDBcMFwwXDBcNDAiCisgICJcMFwwXDBcNDBcMFwwXDBcNDBcMFwwXDBcNDBcMFwwXDBcNDBcMFwwXDBcNDBcMFwwXDBcMzdcMFwwXDBcMzRcMFwwXDAiCisgICJcMjJcMFwwXDBcNlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyXDAiCisgICJcMFwwXDNcMFwwXDBcNFwwXDBcMFw0XDBcMFwwXDRcMFwwXDBcNFwwXDBcMFw0XDBcMFwwXDRcMFwwXDBcNFwwXDBcMCIKKyAgIlw0XDBcMFwwXDRcMFwwXDBcNFwwXDBcMFw0XDBcMFwwXDRcMFwwXDBcNFwwXDBcMFwzXDBcMFwwXDJcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDAifTsKKworCisvKiBHZGtQaXhidWYgUkdCQSBDLVNvdXJjZSBpbWFnZSBkdW1wICovCisKKyNpZmRlZiBfX1NVTlBST19DCisjcHJhZ21hIGFsaWduIDQgKHN0b2NrX21pYykKKyNlbmRpZgorI2lmZGVmIF9fR05VQ19fCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX21pY1tdIF9fYXR0cmlidXRlX18gKChfX2FsaWduZWRfXyAoNCkpKSA9IAorI2Vsc2UKK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfbWljW10gPSAKKyNlbmRpZgoreyAiIgorICAvKiBQaXhidWYgbWFnaWMgKDB4NDc2NDZiNTApICovCisgICJHZGtQIgorICAvKiBsZW5ndGg6IGhlYWRlciAoMjQpICsgcGl4ZWxfZGF0YSAoMjMwNCkgKi8KKyAgIlwwXDBcMTFcMzAiCisgIC8qIHBpeGRhdGFfdHlwZSAoMHgxMDEwMDAyKSAqLworICAiXDFcMVwwXDIiCisgIC8qIHJvd3N0cmlkZSAoOTYpICovCisgICJcMFwwXDBgIgorICAvKiB3aWR0aCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIGhlaWdodCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIHBpeGVsX2RhdGE6ICovCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwPFwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwPFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwPFJSUlwzNzdcMzMyIgorICAiXDMzMlwzMzNcMzc3XDM3MlwzNzJcMzczXDM3N1wzNjFcMzYxXDM2M1wzNzdcMzcwXDM3MFwzNzFcMzc3XDMzNVwzMzQiCisgICJcMzM1XDM3N1wwXDBcMFwzNzdcMFwwXDBFXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDM3N1wzMzJcMzMxXDMzMlwzNzdcMzYzXDM2MlwzNjVcMzc3XDMyNlwzMjVcMzM0XDM3N1wzNTAiCisgICJcMzUwXDM1M1wzNzdcMjY3XDI2NVwyNzVcMzc3XDMyNFwzMjJcMzI3XDM3N2lmbFwzNzdcMFwwXDBcMzc3XDBcMFwwXDEzIgorICAiXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMzcyXDM3MlwzNzNcMzc3IgorICAiXDMzNFwzMzRcMzQyXDM3N1wzNTRcMzUzXDM1NlwzNzdcMzAxXDI3N1wzMDdcMzc3XDMzMFwzMjZcMzMzXDM3N1wyMjAiCisgICJcMjE3XDIyNlwzNzdcMjE0XDIxMlwyMTdcMzc3XDBcMFwwXDM3N1wwXDBcMFwyNlwwXDBcMFw0XDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM2M1wzNjFcMzY0XDM3N1wzNTdcMzU3XDM2MlwzNzdcMzEyIgorICAiXDMwN1wzMjFcMzc3XDMzN1wzMzZcMzQzXDM3N1wyMzVcMjM0XDI0NFwzNzdcMjc1XDI3M1wzMDFcMzc3Q0JGXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzFcMFwwXDBcNVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwSVwwXDBcMF1cMFwwXDBcMVwwXDBcMFwzNzciCisgICJcMzcyXDM3MlwzNzJcMzc3XDMyNFwzMjJcMzMxXDM3N1wzNTBcMzQ2XDM1M1wzNzdcMjYxXDI2MFwyNzJcMzc3XDMxMSIKKyAgIlwzMDdcMzE2XDM3N3RxelwzNzdxcHZcMzc3XDBcMFwwXDM3N1wwXDBcMFwzMVwwXDBcMF9cMFwwXDBKXDBcMFwwXDFcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXVwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wzNjFcMzYwXDM2M1wzNzdcMzU1XDM1NFwzNjBcMzc3XDMwM1wzMDEiCisgICJcMzEyXDM3N1wzMzBcMzI2XDMzNVwzNzdcMjE0XDIxMVwyMjVcMzc3XDI1MFwyNDZcMjU3XDM3NzIyNlwzNzdcMFwwXDAiCisgICJcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBiXDBcMFwwXDdcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMzc3XDBcMFwwXDI2XDBcMFwwXDM3NyIKKyAgIlwzNzFcMzcxXDM3MlwzNzdcMzE3XDMxNlwzMjZcMzc3XDM0NFwzNDJcMzQ3XDM3N1wyNTBcMjQ3XDI2MVwzNzdcMzAzIgorICAiXDMwMVwzMTBcMzc3ZWJsXDM3N2FhZVwzNzdcMFwwXDBcMzc3XDBcMFwwXDM0XDBcMFwwXDM3N1wwXDBcMFwyN1wwXDAiCisgICJcMFwxMlwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwzNzdcMFwwXDBcMjVcMFwwXDBcMzc3XDM2MFwzNTZcMzYxXDM3N1wzNTNcMzUyXDM1NlwzNzciCisgICJcMjc2XDI3M1wzMDZcMzc3XDMyNVwzMjRcMzMyXDM3N1wyMDRcMjAwXDIxNFwzNzdcMjM2XDIzNVwyNDZcMzc3LSwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzJcMFwwXDBcMzc3XDBcMFwwXDI1XDBcMFwwXDZcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDBcMFwwXDI0IgorICAiXDBcMFwwXDM3N1wzNzBcMzcwXDM3MVwzNzdcMzEyXDMwN1wzMjFcMzc3XDMzN1wzMzZcMzQyXDM3N1wyMzRcMjMyXDI0NCIKKyAgIlwzNzdcMjcwXDI2NlwyNzZcMzc3WVdfXDM3N11bYVwzNzdcMFwwXDBcMzc3XDBcMFwwXDMxXDBcMFwwXDM3N1wwXDBcMCIKKyAgIlwyNFwwXDBcMFw1XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wwXDBcMFwyNFwwXDBcMFwzNzdcMzU0XDM1MlwzNTVcMzc3XDM0M1wzNDJcMzQ2IgorICAiXDM3N1wyNTBcMjQ3XDI2MFwzNzdcMzA3XDMwNVwzMTRcMzc3cnF4XDM3N1wyMjJcMjIwXDIzMVwzNzcoJipcMzc3XDAiCisgICJcMFwwXDM3N1wwXDBcMFwzMVwwXDBcMFwzNzdcMFwwXDBcMjRcMFwwXDBcNVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMFwwXDBcMjRcMCIKKyAgIlwwXDBcMzc3XDM1MFwzNDdcMzUyXDM3N1wyNjVcMjYzXDI3MlwzNzdcMzE0XDMxNFwzMjJcMzc3XDIwNVwyMDRcMjEyIgorICAiXDM3N1wyNDVcMjQ0XDI1M1wzNzdKSU9cMzc3TUxRXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzFcMFwwXDBcMzc3XDBcMFwwIgorICAiXDI0XDBcMFwwXDVcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDBcMFwwXDI0XDBcMFwwQ1wwXDBcMFwzNzdcMjA2XDIwNFwyMTBcMzc3NzYiCisgICI6XDM3N2FhY1wzNzckIyZcMzc3RERJXDM3N1wwXDBcMFwzNzdcMFwwXDBcMjMyXDBcMFwwXDMwXDBcMFwwXDM3N1wwXDAiCisgICJcMFwyNFwwXDBcMFw1XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wwXDBcMFwyNFwwXDBcMFw2XDBcMFwwRFwwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDIzMlwwXDBcMFwzMlwwXDBcMFwxN1wwXDBcMFwzNzciCisgICJcMFwwXDBcMjRcMFwwXDBcNVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMGtcMFwwXDBcMjA2XDBcMFwwXDZcMFwwXDBcM1wwXDBcMFwxM1wwXDBcMCIKKyAgIlwyNlwwXDBcMHtcMFwwXDBcMzJcMFwwXDBcMzFcMFwwXDBcMjdcMFwwXDBcMTdcMFwwXDBcMjAwXDBcMFwwbVwwXDBcMCIKKyAgIlwyMlwwXDBcMFw0XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDBvXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwbVwwXDBcMFwxM1wwIgorICAiXDBcMFwxM1wwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcM1wwXDBcMFwxM1wwXDBcMFwyMlwwXDBcMFwyNEtLS1wzNzciCisgICJhYWFcMzc3XDBcMFwwXDM3N1wwXDBcMFwzMFwwXDBcMFwyNVwwXDBcMFwyNFwwXDBcMFwyMlwwXDBcMFwxM1wwXDBcMCIKKyAgIlwzXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcNFwwXDBcMFw1S0tLXDM3N1wxNzdcMTc3IgorICAiXDE3N1wzNzdcMFwwXDBcMzc3XDBcMFwwbVwwXDBcMDtcMFwwXDBcNlwwXDBcMFw1XDBcMFwwXDJcMFwwXDBcMzNcMFwwIgorICAiXDBdXDBcMFwwXDM0XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBLS0tcMzc3XDE3N1wxNzdcMTc3XDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzJcMFwwXDBcMTJcMFwwXDBMXDBcMFwwXDJcMFwwXDBcMFwwXDBcMElcMFwwXDBcNFwwIgorICAiXDBcME1cMFwwXDBcMzdcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIiIzXDQwXDQwXDQwXDM3N2hoaFwzNzdcMFwwXDAiCisgICJcMzc3XDBcMFwwR1wwXDBcMFw3XDBcMFwwXDJcMFwwXDBrXDBcMFwwXVwwXDBcMFwyXDBcMFwwXDVcMFwwXDBcM1wwXDAiCisgICJcMGxcMFwwXDBcNFwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXFxcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdnZFtcMzc3XDBcMFwwXDM3N1ZSSFwzNzdcMFwwIgorICAiXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBgXDBcMFwwIgorICAiXDJcMFwwXDBvXDBcMFwwXDdcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzM1wzM1wzM1wzNzdcMjU3XDI1NSIKKyAgIlwyNTFcMzc3XDIwNVwyMDJ7XDM3N3d0bFwzNzdWUkhcMzc3VlJIXDM3N1ZSSFwzNzdWUkhcMzc3VlJIXDM3N1ZSSFwzNzciCisgICJWUkhcMzc3VlJIXDM3N1ZSSFwzNzdMSUBcMzc3OzoyXDM3N1w0MFwzN1wzMlwzNzdcMFwwXDBcMzc3XDBcMFwwXDE0XDAiCisgICJcMFwwXDM3XDBcMFwwXDdcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMFwwXDBcMzc3XDAiCisgICJcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDI3XDBcMFwwXDVcMFwwXDBLXDBcMFwwV1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFw0XDBcMFwwXDI1XDBcMFwwXDMxXDBcMFwwXDMxXDBcMFwwXDMxXDBcMFwwXDMxXDBcMFwwXDMxXDBcMFwwXDMxXDAiCisgICJcMFwwXDMxXDBcMFwwXDMxXDBcMFwwXDMxXDBcMFwwXDMxXDBcMFwwXDMxXDBcMFwwXDMxXDBcMFwwXDMxXDBcMFwwXDMxIgorICAiXDBcMFwwXDMxXDBcMFwwXDI1XDBcMFwwXDRcMFwwXDBcMVwwXDBcMFw1In07CisKKworLyogR2RrUGl4YnVmIFJHQkEgQy1Tb3VyY2UgaW1hZ2UgZHVtcCAqLworCisjaWZkZWYgX19TVU5QUk9fQworI3ByYWdtYSBhbGlnbiA0IChzdG9ja19tdWx0aXBsZV9maWxlKQorI2VuZGlmCisjaWZkZWYgX19HTlVDX18KK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfbXVsdGlwbGVfZmlsZVtdIF9fYXR0cmlidXRlX18gKChfX2FsaWduZWRfXyAoNCkpKSA9IAorI2Vsc2UKK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfbXVsdGlwbGVfZmlsZVtdID0gCisjZW5kaWYKK3sgIiIKKyAgLyogUGl4YnVmIG1hZ2ljICgweDQ3NjQ2YjUwKSAqLworICAiR2RrUCIKKyAgLyogbGVuZ3RoOiBoZWFkZXIgKDI0KSArIHBpeGVsX2RhdGEgKDQwOTYpICovCisgICJcMFwwXDIwXDMwIgorICAvKiBwaXhkYXRhX3R5cGUgKDB4MTAxMDAwMikgKi8KKyAgIlwxXDFcMFwyIgorICAvKiByb3dzdHJpZGUgKDEyOCkgKi8KKyAgIlwwXDBcMFwyMDAiCisgIC8qIHdpZHRoICgzMikgKi8KKyAgIlwwXDBcMFw0MCIKKyAgLyogaGVpZ2h0ICgzMikgKi8KKyAgIlwwXDBcMFw0MCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzM1wwXDBcMFwxNFwwXDBcMFwyXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzQwXDM0MFwzNDBcMzc3IgorICAiXDMwMVwzMDFcMzAxXDM3N1wwXDBcMFwzNzdcMFwwXDArXDBcMFwwXDE2XDBcMFwwXDNcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwLVwwIgorICAiXDBcMFwxNlwwXDBcMFwzXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM0MFwzNDBcMzQwXDM3N1wzMDFcMzAxXDMwMVwzNzdcMFwwXDBcMzc3XDBcMFwwIgorICAiLVwwXDBcMFwxNlwwXDBcMFwzXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzczXDM3M1wzNzNcMzc3IgorICAiXDM3MlwzNzJcMzcxXDM3N1wzMDNcMzAzXDMwM1wzNzdcMzczXDM3M1wzNzNcMzc3XDI1MFwyNTBcMjUwXDM3N1wwXDAiCisgICJcMFwzNzdcMFwwXDAtXDBcMFwwXDIwXDBcMFwwXDZcMFwwXDBcNFwwXDBcMFwzXDBcMFwwXDFcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDMzXDBcMFwwXDE0XDBcMFwwXDJcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wwXDBcMFwzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzQwXDM0MFwzNDBcMzc3XDMwMVwzMDEiCisgICJcMzAxXDM3N1wwXDBcMFwzNzdcMFwwXDArXDBcMFwwXDE2XDBcMFwwXDNcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzNcMzczXDM3M1wzNzdcMzcyIgorICAiXDM3MlwzNzFcMzc3XDMwM1wzMDNcMzAzXDM3N1wzNzNcMzczXDM3M1wzNzdcMjUwXDI1MFwyNTBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMC1cMFwwXDBcMTZcMFwwXDBcM1wwXDBcMFwwXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMFwwXDBcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzIxXDMyMVwzMjFcMzc3IgorICAiXDI1MlwyNTJcMjUyXDM3N1wzMjNcMzIzXDMyM1wzNzdcMzc3XDM3N1wzNzdcMzc3XDMyM1wzMjNcMzIzXDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMjUyXDI1MlwyNTJcMzc3XDI1MlwyNTJcMjUyXDM3N1wzNzVcMzc1XDM3NVwzNzdcMzIwXDMyMCIKKyAgIlwzMjBcMzc3XDM3MlwzNzJcMzcyXDM3N1wzNzFcMzcxXDM3MFwzNzdcMzY3XDM2N1wzNjZcMzc3XDI1NVwyNTVcMjU1IgorICAiXDM3N3Z2dlwzNzddXV1cMzc3QEBAXDM3N1wwXDBcMFwzNzdcMFwwXDArXDBcMFwwXDE0XDBcMFwwXDBcMFwwXDBcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc1XDM3NVwzNzVcMzc3XDM3NFwzNzRcMzc0XDM3N1wwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzZcMzc2XDM3NlwzNzdcMzc0XDM3NFwzNzRcMzc3IgorICAiXDM3M1wzNzNcMzcyXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzY3XDM2N1wzNjdcMzc3XDM2NlwzNjZcMzY1XDM3N1wzNjQiCisgICJcMzY0XDM2NFwzNzdcMzQyXDM0MlwzNDJcMzc3XDIwNVwyMDVcMjA1XDM3N0tLSVwzNzdcMjZcMjZcMjZcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcME5cMFwwXDBcMzNcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc2XDM3NlwzNzZcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzNcMzczXDM3MlwzNzdcMzcxXDM3MSIKKyAgIlwzNzFcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDI1MlwyNTJcMjUyXDM3N1wyNzEiCisgICJcMjcxXDI3MVwzNzdcMzIzXDMyM1wzMjNcMzc3XDMyM1wzMjNcMzIzXDM3N1wzNzZcMzc2XDM3NlwzNzdcMjUwXDI1MCIKKyAgIlwyNTBcMzc3XDIzNlwyMzZcMjM2XDM3N1wyMzVcMjM1XDIzNVwzNzdcMjQ1XDI0NVwyNDRcMzc3XDM2NlwzNjZcMzY2IgorICAiXDM3N1wyNDNcMjQzXDI0MlwzNzdcMzExXDMxMVwzMTBcMzc3XDM2MlwzNjJcMzYxXDM3N1wzNjBcMzYwXDM1N1wzNzciCisgICJcMzU2XDM1NlwzNTVcMzc3XDM1NVwzNTVcMzUzXDM3N1wyMzVcMjM1XDIzNVwzNzdcMFwwXDBcMzc3XDBcMFwwXVwwXDAiCisgICJcMCNcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzczXDM3MyIKKyAgIlwzNzNcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzBcMzcwXDM2N1wzNzdcMzY2XDM2NlwzNjZcMzc3XDBcMFwwXDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzNcMzczXDM3M1wzNzdcMzcyXDM3MlwzNzFcMzc3XDM3MFwzNzBcMzcwIgorICAiXDM3N1wzNjdcMzY3XDM2NlwzNzdcMzY1XDM2NVwzNjRcMzc3XDM2NFwzNjRcMzYzXDM3N1wzNjJcMzYyXDM2MVwzNzciCisgICJcMzYwXDM2MFwzNTdcMzc3XDM1N1wzNTdcMzU2XDM3N1wzNTVcMzU1XDM1NFwzNzdcMzU0XDM1NFwzNTJcMzc3XDM1MiIKKyAgIlwzNTJcMzUwXDM3N1wyNDRcMjQ0XDI0M1wzNzdcMFwwXDBcMzc3XDBcMFwwX1wwXDBcMCRcMFwwXDBcMFwwXDBcMFwzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzcwXDM3MFwzNzBcMzc3XDM2N1wzNjdcMzY2IgorICAiXDM3N1wzNjVcMzY1XDM2NFwzNzdcMzY0XDM2NFwzNjNcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDI1MlwyNTJcMjUyXDM3N1wzMjFcMzIxXDMyMVwzNzdcMzc0XDM3NFwzNzRcMzc3XDMxNlwzMTZcMzE2IgorICAiXDM3N1wzNzFcMzcxXDM3MFwzNzdcMjQ0XDI0NFwyNDRcMzc3XDI0M1wyNDNcMjQzXDM3N1wyMzJcMjMyXDIzMVwzNzciCisgICJcMjU3XDI1N1wyNTZcMzc3XDM2MVwzNjFcMzYwXDM3N1wyMzdcMjM3XDIzNlwzNzdycnFcMzc3XDIyNVwyMjVcMjI0XDM3NyIKKyAgIlwyMjNcMjIzXDIyM1wzNzdcMzUxXDM1MVwzNDdcMzc3XDM0N1wzNDdcMzQ2XDM3N1wyNDRcMjQ0XDI0NFwzNzdcMFwwIgorICAiXDBcMzc3XDBcMFwwX1wwXDBcMCRcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NFwzNjRcMzYzXDM3N1wzNjJcMzYyXDM2MVwzNzdcMzYxXDM2MSIKKyAgIlwzNjBcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc2XDM3NlwzNzZcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzMiCisgICJcMzczXDM3MlwzNzdcMzcxXDM3MVwzNzFcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjZcMzY2XDM2NVwzNzdcMzY0XDM2NCIKKyAgIlwzNjRcMzc3XDM2M1wzNjNcMzYyXDM3N1wzNjFcMzYxXDM2MFwzNzdcMzYwXDM2MFwzNTZcMzc3XDM1NlwzNTZcMzU1IgorICAiXDM3N1wzNTRcMzU0XDM1M1wzNzdcMzUzXDM1M1wzNTFcMzc3XDM1MVwzNTFcMzUwXDM3N1wzNTBcMzUwXDM0NlwzNzciCisgICJcMzQ2XDM0NlwzNDRcMzc3XDM0NVwzNDVcMzQzXDM3N1wyNDJcMjQyXDI0MlwzNzdcMFwwXDBcMzc3XDBcMFwwX1wwXDAiCisgICJcMCRcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzYzXDM2MyIKKyAgIlwzNjJcMzc3XDM2MVwzNjFcMzYwXDM3N1wzNjBcMzYwXDM1NlwzNzdcMzU2XDM1NlwzNTVcMzc3XDBcMFwwXDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzczXDM3M1wzNzNcMzc3XDI2NFwyNjRcMjY0XDM3N1wyNjNcMjYzXDI2M1wzNzdcMzY2XDM2NiIKKyAgIlwzNjZcMzc3XDI2MVwyNjFcMjYxXDM3N1wyNjBcMjYwXDI1N1wzNzdcMjMwXDIzMFwyMzBcMzc3XDIyN1wyMjdcMjI2IgorICAiXDM3N1wzNTZcMzU2XDM1NVwzNzdvb25cMzc3bm5uXDM3N25ubVwzNzdtbWxcMzc3bGxrXDM3N2tralwzNzdcMzQzXDM0MyIKKyAgIlwzNDFcMzc3XDM0MlwzNDJcMzQwXDM3N1wyNDJcMjQyXDI0MlwzNzdcMFwwXDBcMzc3XDBcMFwwX1wwXDBcMCRcMFwwIgorICAiXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzYwXDM2MFwzNTciCisgICJcMzc3XDM1NlwzNTZcMzU1XDM3N1wzNTVcMzU1XDM1M1wzNzdcMzUzXDM1M1wzNTJcMzc3XDBcMFwwXDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzcwXDM3MFwzNzBcMzc3XDM2N1wzNjdcMzY2XDM3N1wzNjVcMzY1XDM2NFwzNzdcMzY0XDM2NFwzNjMiCisgICJcMzc3XDM2MlwzNjJcMzYxXDM3N1wzNjBcMzYwXDM1N1wzNzdcMzU3XDM1N1wzNTZcMzc3XDM1NVwzNTVcMzU0XDM3NyIKKyAgIlwzNTRcMzU0XDM1MlwzNzdubm1cMzc3XDIwN1wyMjZcMjQ1XDM3N1wyMDZcMjI2XDI0NFwzNzdcMjA1XDIyNVwyNDNcMzc3IgorICAiXDIwNVwyMjRcMjQzXDM3N2pqaVwzNzdcMzQxXDM0MVwzMzZcMzc3XDMzN1wzMzdcMzM1XDM3N1wyNDNcMjQzXDI0MlwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwX1wwXDBcMCRcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzU1XDM1NVwzNTRcMzc3XDM1NFwzNTRcMzUyXDM3N1wzNTJcMzUyXDM1MFwzNzdcMzUxIgorICAiXDM1MVwzNDdcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDI2MVwyNjFcMjYwXDM3NyIKKyAgIlwyMzBcMjMwXDIzMFwzNzdcMzA3XDMwN1wzMDZcMzc3XDMwNVwzMDVcMzA0XDM3N1wzNTZcMzU2XDM1NFwzNzdcMzAzIgorICAiXDMwM1wzMDJcMzc3XDMwMVwzMDFcMzAwXDM3N1wzNTFcMzUxXDM0N1wzNzdsbGxcMzc3XDIxN1wyMzZcMjU0XDM3N1wyNzUiCisgICJcMjcwXDIyNVwzNzdwfGlcMzc3XDIxNFwyMzNcMjUyXDM3N2lpaFwzNzdcMzM2XDMzNlwzMzNcMzc3XDMzNFwzMzRcMzMyIgorICAiXDM3N1wyNDNcMjQzXDI0MlwzNzdcMFwwXDBcMzc3XDBcMFwwX1wwXDBcMCRcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzUyXDM1MlwzNTFcMzc3XDM1MVwzNTFcMzQ3XDM3N1wzNDciCisgICJcMzQ3XDM0NlwzNzdcMzQ2XDM0NlwzNDRcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzYzXDM2M1wzNjJcMzc3IgorICAiXDM2MVwzNjFcMzYwXDM3N1wzNjBcMzYwXDM1NlwzNzdcMzU2XDM1NlwzNTVcMzc3XDM1NFwzNTRcMzUzXDM3N1wzNTMiCisgICJcMzUzXDM1MVwzNzdcMzUxXDM1MVwzNTBcMzc3XDM1MFwzNTBcMzQ2XDM3N1wzNDZcMzQ2XDM0NFwzNzdra2pcMzc3XDIyNiIKKyAgIlwyNDVcMjY0XDM3N1wzMjNcMzA3XDIxNVwzNzdcMjM3XDIzNGRcMzc3b1wxNzd3XDM3N2hoZlwzNzdcMzMzXDMzM1wzMzAiCisgICJcMzc3XDMzMlwzMzJcMzI3XDM3N1wyNDBcMjQwXDIzN1wzNzdcMFwwXDBcMzc3XDBcMFwwX1wwXDBcMCRcMFwwXDBcMCIKKyAgIlwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzUwXDM1MFwzNDZcMzc3IgorICAiXDM0NlwzNDZcMzQ0XDM3N1wzNDVcMzQ1XDM0M1wzNzdcMzQzXDM0M1wzNDFcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzYwXDM2MFwzNTdcMzc3XDI0M1wyNDNcMjQyXDM3N1wyMjVcMjI1XDIyNFwzNzdcMjI0XDIyNFwyMjNcMzc3IgorICAiXDI1MVwyNTFcMjUwXDM3N1wyMzJcMjMyXDIzMVwzNzdcMjQ3XDI0N1wyNDZcMzc3XDI3NVwyNzVcMjczXDM3N1wzNDMiCisgICJcMzQzXDM0MVwzNzdqamlcMzc3XDIzNVwyNTRcMjczXDM3N1wzMTVcMzA0XDIyNlwzNzdmc1dcMzc3XDIzM1wyNTJcMjcxIgorICAiXDM3N2ZmZVwzNzdcMzMwXDMzMFwzMjVcMzc3XDMyN1wzMjdcMzI0XDM3N1wyNDJcMjQyXDI0MVwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwX1wwXDBcMCRcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzQ1XDM0NVwzNDNcMzc3XDM0M1wzNDNcMzQxXDM3N1wzNDJcMzQyXDM0MFwzNzdcMzQwXDM0MFwzMzZcMzc3IgorICAiXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzU1XDM1NVwzNTRcMzc3XDM1NFwzNTRcMzUyXDM3N1wzNTJcMzUyXDM1MCIKKyAgIlwzNzdcMzUxXDM1MVwzNDdcMzc3XDM0N1wzNDdcMzQ1XDM3N1wzNDVcMzQ1XDM0M1wzNzdcMzQ0XDM0NFwzNDJcMzc3IgorICAiXDM0MlwzNDJcMzQwXDM3N1wzNDFcMzQxXDMzNlwzNzdoaGhcMzc3XDI0NVwyNjRcMzAzXDM3N1wzMTNcMzA1XDIzNVwzNzciCisgICJsfW9cMzc3b1wyMDBzXDM3N2VlY1wzNzdcMzI2XDMyNlwzMjJcMzc3XDMyNFwzMjRcMzIxXDM3N1wyNDJcMjQyXDI0MSIKKyAgIlwzNzdcMFwwXDBcMzc3XDBcMFwwX1wwXDBcMCRcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwIgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzQyXDM0MlwzNDBcMzc3XDM0MVwzNDFcMzM2XDM3N1wzMzdcMzM3XDMzNVwzNzciCisgICJcMzM2XDMzNlwzMzNcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzUyXDM1MlwzNTFcMzc3XDIzM1wyMzNcMjMyIgorICAiXDM3N1wyMTVcMjE1XDIxNFwzNzdcMzQ2XDM0NlwzNDRcMzc3XDI3NFwyNzRcMjczXDM3N1wyMTdcMjE3XDIxNVwzNzciCisgICJcMjE2XDIxNlwyMTRcMzc3XDI3MVwyNzFcMjY2XDM3N1wzMzZcMzM2XDMzM1wzNzdnZ2ZcMzc3Z2dlXDM3N2ZmZFwzNzciCisgICJlZWRcMzc3ZGRjXDM3N2RkYlwzNzdcMzIzXDMyM1wzMjBcMzc3XDMyMVwzMjFcMzE2XDM3N1wyNDFcMjQxXDI0MFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwX1wwXDBcMCRcMFwwXDBcMFwwXDBcMFwzNzdcMzIwXDMyMFwzMjBcMzc3XDBcMFwwXDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzQwXDM0MFwzMzVcMzc3XDMzNlwzMzZcMzMzXDM3N1wzMzRcMzM0XDMzMlwzNzdcMzMzIgorICAiXDMzM1wzMzBcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzUwXDM1MFwzNDZcMzc3XDM0NlwzNDZcMzQ0XDM3NyIKKyAgIlwzNDVcMzQ1XDM0M1wzNzdcMzQzXDM0M1wzNDFcMzc3XDM0MVwzNDFcMzM3XDM3N1wzNDBcMzQwXDMzNlwzNzdcMzM2IgorICAiXDMzNlwzMzRcMzc3XDMzNVwzMzVcMzMyXDM3N1wzMzNcMzMzXDMzMFwzNzdcMzMyXDMzMlwzMjdcMzc3XDMzMFwzMzAiCisgICJcMzI1XDM3N1wzMjZcMzI2XDMyM1wzNzdcMzI1XDMyNVwzMjJcMzc3XDMyM1wzMjNcMzIwXDM3N1wzMjJcMzIyXDMxNiIKKyAgIlwzNzdcMzIwXDMyMFwzMTVcMzc3XDMxN1wzMTdcMzEzXDM3N1wyNDBcMjQwXDIzN1wzNzdcMFwwXDBcMzc3XDBcMFwwIgorICAiX1wwXDBcMCRcMFwwXDBcMFwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzM1XDMzNSIKKyAgIlwzMzJcMzc3XDMzM1wzMzNcMzMwXDM3N1wzMzJcMzMyXDMyN1wzNzdcMzMwXDMzMFwzMjVcMzc3XDBcMFwwXDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzQ1XDM0NVwzNDNcMzc3XDIyN1wyMjdcMjI2XDM3N1wyMTZcMjE2XDIxNVwzNzdcMjE1XDIxNSIKKyAgIlwyMTRcMzc3XDIxNFwyMTRcMjEyXDM3N1wzMzVcMzM1XDMzM1wzNzdcMjIyXDIyMlwyMjBcMzc3XDIzNlwyMzZcMjMzIgorICAiXDM3N1wyMzRcMjM0XDIzMlwzNzdcMjA3XDIwN1wyMDVcMzc3XDMyNVwzMjVcMzIyXDM3N1wyNTdcMjU3XDI1NFwzNzciCisgICJcMjMwXDIzMFwyMjZcMzc3XDIxM1wyMTNcMjEwXDM3N1wyNTNcMjUzXDI0N1wzNzdcMzE1XDMxNVwzMTJcMzc3XDMxNCIKKyAgIlwzMTRcMzEwXDM3N1wyNDJcMjQyXDI0MVwzNzdcMFwwXDBcMzc3XDBcMFwwX1wwXDBcMCRcMFwwXDBcMFwwXDBcMFw0MCIKKyAgIlwwXDBcMFRcMFwwXDBcMzc3XDMyMFwzMjBcMzIwXDM3N1wyNjFcMjYxXDI1N1wzNzdcMjY0XDI2NFwyNjNcMzc3XDI2NCIKKyAgIlwyNjRcMjYxXDM3N1wyNDBcMjQwXDIzNVwzNzdcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNDJcMzQyXDM0MFwzNzciCisgICJcMzQxXDM0MVwzMzZcMzc3XDMzN1wzMzdcMzM1XDM3N1wzMzZcMzM2XDMzM1wzNzdcMzM0XDMzNFwzMzFcMzc3XDMzMiIKKyAgIlwzMzJcMzMwXDM3N1wzMzFcMzMxXDMyNlwzNzdcMzI3XDMyN1wzMjRcMzc3XDMyNlwzMjZcMzIyXDM3N1wzMjRcMzI0IgorICAiXDMyMVwzNzdcMzIzXDMyM1wzMTdcMzc3XDMyMVwzMjFcMzE1XDM3N1wzMTdcMzE3XDMxNFwzNzdcMzE2XDMxNlwzMTIiCisgICJcMzc3XDMxNFwzMTRcMzEwXDM3N1wzMTRcMzE0XDMwN1wzNzdcMzE0XDMxNFwzMDdcMzc3XDI0MlwyNDJcMjQwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBfXDBcMFwwJFwwXDBcMFwwXDBcMFwwXDEyXDBcMFwwXDM3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzQwIgorICAiXDM0MFwzMzVcMzc3XDIyNFwyMjRcMjIyXDM3N1wyNjZcMjY2XDI2NFwzNzdcMzMzXDMzM1wzMzBcMzc3XDIzNVwyMzUiCisgICJcMjMzXDM3N1wyMTBcMjEwXDIwNlwzNzdcMzI2XDMyNlwzMjNcMzc3XDMyNVwzMjVcMzIxXDM3N1wyMTRcMjE0XDIxMiIKKyAgIlwzNzdcMjE3XDIxN1wyMTVcMzc3XDIwM1wyMDNcMjAwXDM3N1wzMTZcMzE2XDMxMlwzNzdcMjI0XDIyNFwyMjFcMzc3IgorICAiXDIyNFwyMjRcMjIwXDM3N1wzMTRcMzE0XDMwN1wzNzdcMzE0XDMxNFwzMDdcMzc3XDMxNFwzMTRcMzA3XDM3N1wyMzciCisgICJcMjM3XDIzN1wzNzdcMFwwXDBcMzc3XDBcMFwwX1wwXDBcMCRcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDEwXDBcMFwwJSIKKyAgIlwwXDBcMFRcMFwwXDBqXDBcMFwwbVwwXDBcMG1cMFwwXDBvXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzM1XDMzNSIKKyAgIlwzMzJcMzc3XDMzM1wzMzNcMzMwXDM3N1wzMzJcMzMyXDMyN1wzNzdcMzMwXDMzMFwzMjVcMzc3XDMyNlwzMjZcMzIzIgorICAiXDM3N1wzMjVcMzI1XDMyMlwzNzdcMzIzXDMyM1wzMjBcMzc3XDMyMlwzMjJcMzE2XDM3N1wzMjBcMzIwXDMxNVwzNzciCisgICJcMzE3XDMxN1wzMTNcMzc3XDMxNVwzMTVcMzExXDM3N1wzMTRcMzE0XDMwN1wzNzdcMzE0XDMxNFwzMDdcMzc3XDMxNCIKKyAgIlwzMTRcMzA3XDM3N1wzMTRcMzE0XDMwN1wzNzdcMzE0XDMxNFwzMDdcMzc3XDMxNFwzMTRcMzA3XDM3N1wyNDBcMjQwIgorICAiXDIzN1wzNzdcMFwwXDBcMzc3XDBcMFwwX1wwXDBcMCRcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMTNcMFwwIgorICAiXDBcMzRcMFwwXDAmXDBcMFwwKFwwXDBcMChcMFwwXDAsXDBcMFwwXDM3N1wzMjBcMzIwXDMyMFwzNzdcMjYxXDI2MVwyNTciCisgICJcMzc3XDI2NFwyNjRcMjYzXDM3N1wyNjRcMjY0XDI2MVwzNzdcMjQwXDI0MFwyMzVcMzc3XDI0MFwyNDBcMjM1XDM3NyIKKyAgIlwyMzdcMjM3XDIzNVwzNzdcMjM3XDIzN1wyMzVcMzc3XDIzN1wyMzdcMjMzXDM3N1wyMzFcMjMxXDIyNVwzNzdcMjE1IgorICAiXDIxNVwyMTFcMzc3XDIxM1wyMTNcMjExXDM3N1wyMTNcMjEzXDIxMVwzNzdcMjEzXDIxM1wyMTFcMzc3XDIxMVwyMTEiCisgICJcMjExXDM3N1wyMTFcMjExXDIxMVwzNzdcMjAzXDIwM1wxNzdcMzc3XDIwNFwyMDRcMjAyXDM3N11dXFxcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMF5cMFwwXDAkXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcNFwwXDBcMFw2IgorICAiXDBcMFwwXDdcMFwwXDBcN1wwXDBcMFwxM1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwIgorICAiXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDAiCisgICJcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDI2M1wwXDBcMFRcMFwwXDBcMzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDRcMFwwXDAhXDBcMFwwU1wwXDAiCisgICJcMGlcMFwwXDBtXDBcMFwwbVwwXDBcMG1cMFwwXDBuXDBcMFwwblwwXDBcMG5cMFwwXDBuXDBcMFwwblwwXDBcMG5cMCIKKyAgIlwwXDBuXDBcMFwwblwwXDBcMG5cMFwwXDBuXDBcMFwwblwwXDBcMG5cMFwwXDBuXDBcMFwwbFwwXDBcMGBcMFwwXDA6IgorICAiXDBcMFwwXDIzXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwxXDBcMFwwXDEyXDBcMFwwXDM0XDBcMFwwJlwwXDBcMChcMFwwXDAoXDBcMFwwKFwwXDBcMClcMFwwIgorICAiXDApXDBcMFwwKVwwXDBcMClcMFwwXDApXDBcMFwwKVwwXDBcMClcMFwwXDApXDBcMFwwKVwwXDBcMClcMFwwXDApXDAiCisgICJcMFwwKVwwXDBcMClcMFwwXDAoXDBcMFwwI1wwXDBcMFwyNVwwXDBcMFw3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcNFwwXDBcMCIKKyAgIlw2XDBcMFwwXDdcMFwwXDBcN1wwXDBcMFw3XDBcMFwwXDdcMFwwXDBcN1wwXDBcMFw3XDBcMFwwXDdcMFwwXDBcN1wwIgorICAiXDBcMFw3XDBcMFwwXDdcMFwwXDBcN1wwXDBcMFw3XDBcMFwwXDdcMFwwXDBcN1wwXDBcMFw3XDBcMFwwXDdcMFwwXDAiCisgICJcN1wwXDBcMFw2XDBcMFwwXDRcMFwwXDBcMSJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfbm90KQorI2VuZGlmCisjaWZkZWYgX19HTlVDX18KK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfbm90W10gX19hdHRyaWJ1dGVfXyAoKF9fYWxpZ25lZF9fICg0KSkpID0gCisjZWxzZQorc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja19ub3RbXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICgyMzA0KSAqLworICAiXDBcMFwxMVwzMCIKKyAgLyogcGl4ZGF0YV90eXBlICgweDEwMTAwMDIpICovCisgICJcMVwxXDBcMiIKKyAgLyogcm93c3RyaWRlICg5NikgKi8KKyAgIlwwXDBcMGAiCisgIC8qIHdpZHRoICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogaGVpZ2h0ICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwYlwwXDBcMFwyNjBcMFwwXDBcMzQyIgorICAiXDBcMFwwXDM3M1wwXDBcMFwzNzNcMFwwXDBcMzQzXDBcMFwwXDI2M1wwXDBcMGpcMFwwXDBcMTNcMFwwXDBcNVwwXDAiCisgICJcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMGJcMFwwXDBcMzQxblwzNVwxNVwzNzdcMjY3MFwyNVwzNzdcMzE1IgorICAiNFwyN1wzNzdcMzE3M1wyN1wzNzdcMzE1MlwyNlwzNzdcMzEwL1wyNVwzNzdcMjYwKFwyMlwzNzdoXDI3XDEyXDM3N1wwIgorICAiXDBcMFwzNDVcMFwwXDBvXDBcMFwwXDE0XDBcMFwwXDRcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMjI1S1wyNFwxMVwzNzdcMzEwNVwyN1wzNzciCisgICJcMzIzN1wzMVwzNzdcMzIxNVwzMFwzNzdcMzE3M1wyN1wzNzdcMzE1MVwyNlwzNzdcMzE0MFwyNVwzNzdcMzEyLlwyNSIKKyAgIlwzNzdcMzEwLFwyNFwzNzdcMzA2K1wyM1wzNzdcMjcwJ1wyMVwzNzdEXDE2XDVcMzc3XDBcMFwwXDI0M1wwXDBcMFwyNCIKKyAgIlwwXDBcMFw2XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwIgorICAiXDBcMjI1b1wzNlwxNVwzNzdcMzIzOFwzMVwzNzdcMzIzNlwzMFwzNzdcMzMxX0hcMzc3XDM2MVwzMTdcMzExXDM3N1wzNzEiCisgICJcMzY0XDM2M1wzNzdcMzcxXDM3MVwzNzFcMzc3XDM2NFwzNTNcMzUyXDM3N1wzNTBcMjczXDI2NVwzNzdcMzI1dmpcMzc3IgorICAiXDMwN1w3Ny1cMzc3XDMwMidcMjFcMzc3XDMwMCVcMjFcMzc3Y1wyMlwxMFwzNzdcMFwwXDBcMjQ2XDBcMFwwXDI2XDAiCisgICJcMFwwXDZcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwYktcMjRcMTFcMzc3XDMyMyIKKyAgIjhcMzFcMzc3XDMyMjZcMzBcMzc3XDM1M1wyNjFcMjQ2XDM3N1wzNzJcMzcyXDM3MlwzNzdcMzcyXDM3MlwzNzJcMzc3IgorICAiXDM3MlwzNzJcMzcyXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNTUiCisgICJcMzI0XDMyMFwzNzdcMjc3I1wyMFwzNzdcMjc3I1wyMFwzNzdcMjc2I1wyMFwzNzdcMjc0IVwxN1wzNzdCXDEzXDVcMzc3IgorICAiXDBcMFwwfFwwXDBcMFwyNFwwXDBcMFw0XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMzQxXDMwNyIKKyAgIjRcMjdcMzc3XDMyMjZcMzBcMzc3XDM1M1wyNjFcMjQ2XDM3N1wzNzNcMzczXDM3M1wzNzdcMzcyXDM3MlwzNzJcMzc3IgorICAiXDM3MlwzNzJcMzcyXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNTUiCisgICJcMzI0XDMyMFwzNzdcMjc3I1wyMFwzNzdcMjc3I1wyMFwzNzdcMjc3I1wyMFwzNzdcMjc3I1wyMFwzNzdcMjcyXDM3XDE2IgorICAiXDM3N1wyNTVcMzRcMTRcMzc3XDBcMFwwXDM1MVwwXDBcMChcMFwwXDBcMTRcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBibVwzNFwxNFwzNzdcMzIyNVwzMFwzNzdcMzI2V0FcMzc3XDM3MlwzNzJcMzcyXDM3N1wzNzJcMzcyXDM3MiIKKyAgIlwzNzdcMzcyXDM3MlwzNzJcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcwXDM3MFwzNzBcMzc3IgorICAiXDM1NVwzMjRcMzIwXDM3N1wyNzcjXDIwXDM3N1wyNzcjXDIwXDM3N1wyNzcjXDIwXDM3N1wyNzcjXDIwXDM3N1wyNzciCisgICIjXDIwXDM3N1wzMDNDNlwzNzdcMjY2XDM0XDE0XDM3N15cMTZcNVwzNzdcMFwwXDBcMjA0XDBcMFwwXDMxXDBcMFwwXDUiCisgICJcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDI2MFwyNjYuXDI0XDM3N1wzMTczXDI3XDM3N1wzNDFcMjMyXDIyMFwzNzdcMzcyIgorICAiXDM3MlwzNzJcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MFwzNzAiCisgICJcMzcwXDM3N1wzNTVcMzI0XDMyMFwzNzdcMjc3I1wyMFwzNzdcMjc3I1wyMFwzNzdcMjc3I1wyMFwzNzdcMjc3I1wyMCIKKyAgIlwzNzdcMjc3I1wyMFwzNzdcMzQ3XDMwNlwzMDJcMzc3XDMzNVwyNDdcMjQyXDM3N1wyNjRcMzJcMTNcMzc3XDIzM1wyNSIKKyAgIlwxMVwzNzdcMFwwXDBcMzA0XDBcMFwwJ1wwXDBcMFwxM1wwXDBcMFwxXDBcMFwwXDJcMFwwXDBcMzQyXDMxMzJcMjZcMzc3IgorICAiXDMxNTFcMjZcMzc3XDM1M1wzMDZcMzAyXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MFwzNzAiCisgICJcMzcwXDM3N1wzNjdcMzY3XDM2N1wzNzdcMzU1XDMyNFwzMjBcMzc3XDI3NyNcMjBcMzc3XDI3NyNcMjBcMzc3XDI3NyIKKyAgIiNcMjBcMzc3XDI3NyNcMjBcMzc3XDI3NyNcMjBcMzc3XDM0N1wzMDZcMzAyXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzQ3IgorICAiXDMxMlwzMDZcMzc3XDI2MlwzMFwxMlwzNzdcMjU1XDI2XDEyXDM3N1wwXDBcMFwzNTJcMFwwXDAiIjRcMFwwXDBcMjIiCisgICJcMFwwXDBcMlwwXDBcMFwzXDBcMFwwXDM3M1wzMTQxXDI2XDM3N1wzMTMvXDI1XDM3N1wzNjFcMzM3XDMzNVwzNzdcMzcxIgorICAiXDM3MVwzNzFcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNjdcMzY3XDM2N1wzNzdcMzU1XDMyNFwzMjBcMzc3XDI3NyNcMjAiCisgICJcMzc3XDI3NyNcMjBcMzc3XDI3NyNcMjBcMzc3XDI3NyNcMjBcMzc3XDI3NyNcMjBcMzc3XDM0N1wzMDZcMzAyXDM3NyIKKyAgIlwzNjJcMzYyXDM2MlwzNzdcMzYxXDM2MVwzNjFcMzc3XDM1NVwzNDNcMzQyXDM3N1wyNjBcMjZcMTJcMzc3XDI1NlwyNCIKKyAgIlwxMVwzNzdcMFwwXDBcMzc0XDBcMFwwPFwwXDBcMFwyNlwwXDBcMFwzXDBcMFwwXDNcMFwwXDBcMzczXDMxMi9cMjVcMzc3IgorICAiXDMxMS1cMjRcMzc3XDM2MVwzMzdcMzM1XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzY3XDM2N1wzNjdcMzc3XDM1NVwzMjQiCisgICJcMzIwXDM3N1wyNzcjXDIwXDM3N1wyNzcjXDIwXDM3N1wyNzcjXDIwXDM3N1wyNzcjXDIwXDM3N1wyNzcjXDIwXDM3NyIKKyAgIlwzNDdcMzA2XDMwMlwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzUxIgorICAiXDMyN1wzMjVcMzc3XDI1NlwyNFwxMVwzNzdcMjU0XDIyXDEwXDM3N1wwXDBcMFwzNzRcMFwwXDBBXDBcMFwwXDMwXDAiCisgICJcMFwwXDNcMFwwXDBcM1wwXDBcMFwzNDNcMzA1LFwyM1wzNzdcMzA3K1wyM1wzNzdcMzQ3XDI3MlwyNjVcMzc3XDM2NyIKKyAgIlwzNjdcMzY3XDM3N1wzNTVcMzI0XDMyMFwzNzdcMjc3I1wyMFwzNzdcMjc3I1wyMFwzNzdcMjc3I1wyMFwzNzdcMjc3IgorICAiI1wyMFwzNzdcMjc3I1wyMFwzNzdcMzQ3XDMwNlwzMDJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjFcMzYxXDM2MVwzNzciCisgICJcMzYxXDM2MVwzNjFcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNDZcMzIxXDMxNlwzNzdcMjU1XDIyXDEwXDM3N1wyNDdcMjAiCisgICJcN1wzNzdcMFwwXDBcMzUzXDBcMFwwQVwwXDBcMFwzMFwwXDBcMFwzXDBcMFwwXDNcMFwwXDBcMjYzXDI1NSVcMjBcMzc3IgorICAiXDMwNSlcMjJcMzc3XDMzNVwyMjZcMjE1XDM3N1wzNTJcMzEwXDMwNFwzNzdcMjc3I1wyMFwzNzdcMjc3I1wyMFwzNzciCisgICJcMjc3I1wyMFwzNzdcMjc3I1wyMFwzNzdcMjc3I1wyMFwzNzdcMzQ3XDMwNlwzMDJcMzc3XDM2MlwzNjJcMzYyXDM3NyIKKyAgIlwzNjFcMzYxXDM2MVwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNTdcMzU3XDM1N1wzNzdcMzMzIgorICAiXDI1NFwyNTBcMzc3XDI1M1wyMFw3XDM3N1wyMjNcMTRcNVwzNzdcMFwwXDBcMzEwXDBcMFwwPVwwXDBcMFwyNlwwXDAiCisgICJcMFwzXDBcMFwwXDJcMFwwXDBqZlwyNVwxMVwzNzdcMzAyJ1wyMVwzNzdcMzA3QTFcMzc3XDI3NyNcMjBcMzc3XDI3NyIKKyAgIiNcMjBcMzc3XDI3NyNcMjBcMzc3XDI3NyNcMjBcMzc3XDI3NyNcMjBcMzc3XDM0N1wzMDVcMzAxXDM3N1wzNjJcMzYyIgorICAiXDM2MlwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzU3XDM1N1wzNTciCisgICJcMzc3XDM1NlwzNTZcMzU2XDM3N1wyNjc6M1wzNzdcMjUwXDE2XDZcMzc3Vlw2XDJcMzc3XDBcMFwwXDIyMlwwXDBcMCIKKyAgIjRcMFwwXDBcMjJcMFwwXDBcMlwwXDBcMFwxXDBcMFwwXDEzXDBcMFwwXDM0NVwyNjQjXDIwXDM3N1wyNzcjXDIwXDM3NyIKKyAgIlwyNzcjXDIwXDM3N1wyNzcjXDIwXDM3N1wyNzcjXDIwXDM3N1wyNzcjXDIwXDM3N1wzNDdcMzA1XDMwMVwzNzdcMzYyIgorICAiXDM2MlwzNjJcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM1N1wzNTciCisgICJcMzU3XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzIxXDIyM1wyMTdcMzc3XDI1MFwxNlw2XDM3N1wyMzNcMTNcNVwzNzdcMCIKKyAgIlwwXDBcMzUzXDBcMFwwSVwwXDBcMCdcMFwwXDBcMTNcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDVcMFwwXDBvQ1wxNFw1IgorICAiXDM3N1wyNzQhXDE3XDM3N1wyNzNcNDBcMTZcMzc3XDI3NyNcMjBcMzc3XDI3NyNcMjBcMzc3XDM0NFwyNzNcMjY2XDM3NyIKKyAgIlwzNjJcMzYyXDM2MlwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzU3IgorICAiXDM1N1wzNTdcMzc3XDM1NVwzNTVcMzU1XDM3N1wzMjFcMjIzXDIxN1wzNzdcMjQ3XDE1XDZcMzc3XDI0NVwxM1w1XDM3NyIKKyAgIjlcM1wxXDM3N1wwXDBcMFwyMjRcMFwwXDA7XDBcMFwwXDMxXDBcMFwwXDVcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMCIKKyAgIlwwXDBcMTRcMFwwXDBcMjQzYVwyMFw3XDM3N1wyNzBcMzZcMTVcMzc3XDI2N1wzNFwxNFwzNzdcMzAwPTFcMzc3XDMyNiIKKyAgIlwyMTJcMjAxXDM3N1wzMzdcMjU1XDI0NlwzNzdcMzQ0XDMwM1wyNzZcMzc3XDM1NFwzNDNcMzQxXDM3N1wzNDZcMzIxIgorICAiXDMxNlwzNzdcMzMyXDI1M1wyNDdcMzc3XDI2NzgwXDM3N1wyNDdcMTVcNVwzNzdcMjQ0XDEzXDVcMzc3VVw1XDFcMzc3IgorICAiXDBcMFwwXDI2N1wwXDBcMEZcMFwwXDAoXDBcMFwwXDE0XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcNFwwXDBcMFwyNFwwXDBcMFwyNDZAXDEyXDNcMzc3XDI1MVwzMVwxMlwzNzdcMjYzXDMwXDEzXDM3N1wyNjFcMjYiCisgICJcMTJcMzc3XDI1N1wyNVwxMVwzNzdcMjU1XDIzXDEwXDM3N1wyNTNcMjFcMTBcMzc3XDI1MlwyMFw3XDM3N1wyNTBcMTYiCisgICJcNlwzNzdcMjQ2XDE0XDVcMzc3XDIzMlwxMlw0XDM3NzlcM1wxXDM3N1wwXDBcMFwyNjdcMFwwXDBJXDBcMFwwL1wwXDAiCisgICJcMFwyNFwwXDBcMFw0XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFw2XDBcMFwwXDI2IgorICAiXDBcMFwwfFwwXDBcMFwzNTFcXFwxM1w1XDM3N1wyMzBcMjJcMTBcMzc3XDI1MlwyM1wxMFwzNzdcMjUzXDIxXDdcMzc3IgorICAiXDI1MVwxN1w3XDM3N1wyNDRcMTZcNlwzNzdcMjIxXDEzXDRcMzc3VVw1XDJcMzc3XDBcMFwwXDM1M1wwXDBcMFwyMjQiCisgICJcMFwwXDBGXDBcMFwwL1wwXDBcMFwyNlwwXDBcMFw2XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcNlwwXDBcMFwyNFwwXDBcMChcMFwwXDBcMjA0XDBcMFwwXDMwNFwwXDBcMCIKKyAgIlwzNTJcMFwwXDBcMzc0XDBcMFwwXDM3NFwwXDBcMFwzNTNcMFwwXDBcMzEwXDBcMFwwXDIyMlwwXDBcMElcMFwwXDA7IgorICAiXDBcMFwwKFwwXDBcMFwyNFwwXDBcMFw2XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDRcMFwwXDBcMTRcMFwwXDBcMzFcMFwwXDAnXDBcMFwwIiI0IgorICAiXDBcMFwwPFwwXDBcMEFcMFwwXDBBXDBcMFwwPFwwXDBcMCIiNFwwXDBcMCdcMFwwXDBcMzFcMFwwXDBcMTRcMFwwXDAiCisgICJcNFwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFw1XDBcMFwwXDEzXDBcMFwwXDIyXDBcMFwwXDI2XDBcMCIKKyAgIlwwXDMwXDBcMFwwXDMwXDBcMFwwXDI2XDBcMFwwXDIyXDBcMFwwXDEzXDBcMFwwXDVcMFwwXDBcMVwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwyXDBcMFwwXDNcMFwwXDBcM1wwXDAiCisgICJcMFwzXDBcMFwwXDNcMFwwXDBcMlwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfdGFibGVfYm9yZGVycykKKyNlbmRpZgorI2lmZGVmIF9fR05VQ19fCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX3RhYmxlX2JvcmRlcnNbXSBfX2F0dHJpYnV0ZV9fICgoX19hbGlnbmVkX18gKDQpKSkgPSAKKyNlbHNlCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX3RhYmxlX2JvcmRlcnNbXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICgyMzA0KSAqLworICAiXDBcMFwxMVwzMCIKKyAgLyogcGl4ZGF0YV90eXBlICgweDEwMTAwMDIpICovCisgICJcMVwxXDBcMiIKKyAgLyogcm93c3RyaWRlICg5NikgKi8KKyAgIlwwXDBcMGAiCisgIC8qIHdpZHRoICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogaGVpZ2h0ICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDE2XDBcMFwwXDNcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc1XDM3NVwzNzVcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzM2XDMzNlwzMzZcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMEVcMFwwXDBcMTZcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2MFwzNjBcMzYwIgorICAiXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwXDM2MFwzNzciCisgICJcMzYwXDM2MFwzNjBcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjJcMzYyXDM2MlwzNzdubm5cMzc3XDM2M1wzNjNcMzYzXDM3NyIKKyAgIlwzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY2IgorICAiXDM2NlwzNjZcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzQ2XDM0NlwzNDZcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjAiCisgICJcMzYwXDM2MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYwXDM2MCIKKyAgIlwzNjBcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjNcMzYzIgorICAiXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzciCisgICJcMzY2XDM2NlwzNjZcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzQ2XDM0NlwzNDZcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2MFwzNjBcMzYwIgorICAiXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwXDM2MFwzNzciCisgICJcMzYwXDM2MFwzNjBcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjJcMzYyXDM2MlwzNzdqampcMzc3XDM2M1wzNjNcMzYzXDM3NyIKKyAgIlwzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY2IgorICAiXDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzQ3XDM0N1wzNDdcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjAiCisgICJcMzYwXDM2MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MSIKKyAgIlwzNjFcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NFwzNjRcMzY0IgorICAiXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjZcMzY2XDM2NlwzNzciCisgICJcMzY3XDM2N1wzNjdcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzUwXDM1MFwzNTBcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2MFwzNjBcMzYwIgorICAiXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjFcMzYxXDM2MVwzNzciCisgICJcMzYyXDM2MlwzNjJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzdra2tcMzc3XDM2NVwzNjVcMzY1XDM3NyIKKyAgIlwzNjVcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY3IgorICAiXDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzUwXDM1MFwzNTBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjAiCisgICJcMzYwXDM2MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYyXDM2MiIKKyAgIlwzNjJcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1IgorICAiXDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjdcMzY3XDM2N1wzNzciCisgICJcMzcwXDM3MFwzNzBcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzUxXDM1MVwzNTFcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2MFwzNjBcMzYwIgorICAiXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjJcMzYyXDM2MlwzNzciCisgICJcMzYzXDM2M1wzNjNcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjVcMzY1XDM2NVwzNzdra2tcMzc3XDM2NlwzNjZcMzY2XDM3NyIKKyAgIlwzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcxIgorICAiXDM3MVwzNzFcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzUxXDM1MVwzNTFcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjEiCisgICJcMzYxXDM2MVwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzYzXDM2MyIKKyAgIlwzNjNcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2NlwzNjZcMzY2IgorICAiXDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzFcMzcxXDM3MVwzNzciCisgICJcMzcxXDM3MVwzNzFcMzc3XDM3MlwzNzJcMzcyXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzUyXDM1MlwzNTJcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc2XDM3NlwzNzZcMzc3a2trXDM3N1wzNjJcMzYyIgorICAiXDM2MlwzNzdqampcMzc3XDM2M1wzNjNcMzYzXDM3N2pqalwzNzdcMzY0XDM2NFwzNjRcMzc3a2trXDM3N1wzNjZcMzY2IgorICAiXDM2NlwzNzdsbGxcMzc3XDM2N1wzNjdcMzY3XDM3N2xsbFwzNzdcMzcwXDM3MFwzNzBcMzc3bW1tXDM3N1wzNzFcMzcxIgorICAiXDM3MVwzNzdtbW1cMzc3XDM3MlwzNzJcMzcyXDM3N25ublwzNzdcMzUzXDM1M1wzNTNcMzc3XDBcMFwwXDM3N1wwXDAiCisgICJcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjJcMzYyIgorICAiXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjUiCisgICJcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM2N1wzNjdcMzY3XDM3NyIKKyAgIlwzNzBcMzcwXDM3MFwzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzcyIgorICAiXDM3MlwzNzJcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzRcMzc0XDM3NFwzNzdcMzUzXDM1M1wzNTNcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjMiCisgICJcMzYzXDM2M1wzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NSIKKyAgIlwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdsbGxcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzFcMzcxIgorICAiXDM3MVwzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MlwzNzJcMzcyXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzczXDM3M1wzNzMiCisgICJcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzRcMzc0XDM3NFwzNzdcMzU0XDM1NFwzNTRcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIlJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjNcMzYzIgorICAiXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjYiCisgICJcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MVwzNzFcMzcxXDM3NyIKKyAgIlwzNzFcMzcxXDM3MVwzNzdcMzcyXDM3MlwzNzJcMzc3XDM3MlwzNzJcMzcyXDM3N1wzNzNcMzczXDM3M1wzNzdcMzc0IgorICAiXDM3NFwzNzRcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzU0XDM1NFwzNTRcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjQiCisgICJcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY2XDM2NiIKKyAgIlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdtbW1cMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzJcMzcyIgorICAiXDM3MlwzNzdcMzcyXDM3MlwzNzJcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzRcMzc0XDM3NFwzNzdcMzc0XDM3NFwzNzQiCisgICJcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzU1XDM1NVwzNTVcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIlJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1IgorICAiXDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjciCisgICJcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MlwzNzJcMzcyXDM3NyIKKyAgIlwzNzJcMzcyXDM3MlwzNzdcMzczXDM3M1wzNzNcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzRcMzc0XDM3NFwzNzdcMzc1IgorICAiXDM3NVwzNzVcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzZcMzc2XDM3NlwzNzdcMzU2XDM1NlwzNTZcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjUiCisgICJcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY3XDM2NyIKKyAgIlwzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzFcMzcxXDM3MVwzNzdtbW1cMzc3XDM3MlwzNzJcMzcyXDM3N1wzNzNcMzczIgorICAiXDM3M1wzNzdcMzc0XDM3NFwzNzRcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzc1XDM3NVwzNzUiCisgICJcMzc3XDM3NlwzNzZcMzc2XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIlJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjZcMzY2IgorICAiXDM2NlwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzcwXDM3MFwzNzAiCisgICJcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzcyXDM3MlwzNzJcMzc3XDM3M1wzNzNcMzczXDM3NyIKKyAgIlwzNzRcMzc0XDM3NFwzNzdcMzc0XDM3NFwzNzRcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzc2IgorICAiXDM3NlwzNzZcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjYiCisgICJcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcxXDM3MSIKKyAgIlwzNzFcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzdubm5cMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzRcMzc0IgorICAiXDM3NFwzNzdcMzc1XDM3NVwzNzVcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzZcMzc2XDM3NlwzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIlJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFJcMFwwXDBcMjBcMCIKKyAgIlwwXDBcMFwwXDBcMFwxNVwwXDBcMERcMFwwXDBSXDBcMFwwUlwwXDBcMFJcMFwwXDBSXDBcMFwwUlwwXDBcMFJcMFwwIgorICAiXDBSXDBcMFwwUlwwXDBcMFJcMFwwXDBSXDBcMFwwUlwwXDBcMFJcMFwwXDBSXDBcMFwwUlwwXDBcMFJcMFwwXDBSXDAiCisgICJcMFwwUlwwXDBcMFJcMFwwXDBSXDBcMFwwRVwwXDBcMFwxNlwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMTVcMFwwXDBcMjAiCisgICJcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDAiCisgICJcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMCIKKyAgIlwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMTZcMFwwXDBcMyJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfdGFibGVfZmlsbCkKKyNlbmRpZgorI2lmZGVmIF9fR05VQ19fCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX3RhYmxlX2ZpbGxbXSBfX2F0dHJpYnV0ZV9fICgoX19hbGlnbmVkX18gKDQpKSkgPSAKKyNlbHNlCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX3RhYmxlX2ZpbGxbXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICgyMzA0KSAqLworICAiXDBcMFwxMVwzMCIKKyAgLyogcGl4ZGF0YV90eXBlICgweDEwMTAwMDIpICovCisgICJcMVwxXDBcMiIKKyAgLyogcm93c3RyaWRlICg5NikgKi8KKyAgIlwwXDBcMGAiCisgIC8qIHdpZHRoICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogaGVpZ2h0ICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDE2XDBcMFwwXDNcMFwwXDBcMFwwXDBcMFwzNzdcMjYyXDI2MlwyNjJcMzc3XDI2MlwyNjJcMjYyXDM3N1wyNjIiCisgICJcMjYyXDI2MlwzNzdcMjYyXDI2MlwyNjJcMzc3XDI2MlwyNjJcMjYyXDM3N1wyNjJcMjYyXDI2MlwzNzdcMjYyXDI2MiIKKyAgIlwyNjJcMzc3XDI2MlwyNjJcMjYyXDM3N1wyNjJcMjYyXDI2MlwzNzdcMjYwXDI2MFwyNjBcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzM2XDMzNlwzMzZcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMEVcMFwwXDBcMTZcMFwwXDBcMFwwXDBcMFwzNzdcMjYyXDI2MlwyNjJcMzc3XDI0N1wyNDdcMjQ3IgorICAiXDM3N1wyNDdcMjQ3XDI0N1wzNzdcMjQ3XDI0N1wyNDdcMzc3XDI0N1wyNDdcMjQ3XDM3N1wyNDdcMjQ3XDI0N1wzNzciCisgICJcMjQ3XDI0N1wyNDdcMzc3XDI0N1wyNDdcMjQ3XDM3N1wyNTBcMjUwXDI1MFwzNzdMTExcMzc3XDM2M1wzNjNcMzYzXDM3NyIKKyAgIlwzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY2IgorICAiXDM2NlwzNjZcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzQ2XDM0NlwzNDZcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMjYyXDI2MlwyNjJcMzc3XDI0N1wyNDdcMjQ3XDM3N1wyNDciCisgICJcMjQ3XDI0N1wzNzdcMjQ3XDI0N1wyNDdcMzc3XDI0N1wyNDdcMjQ3XDM3N1wyNDdcMjQ3XDI0N1wzNzdcMjQ3XDI0NyIKKyAgIlwyNDdcMzc3XDI0N1wyNDdcMjQ3XDM3N1wyNTBcMjUwXDI1MFwzNzdcMjUwXDI1MFwyNTBcMzc3XDM2M1wzNjNcMzYzIgorICAiXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzciCisgICJcMzY2XDM2NlwzNjZcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzQ2XDM0NlwzNDZcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMjYyXDI2MlwyNjJcMzc3XDI0N1wyNDdcMjQ3IgorICAiXDM3N1wyNDdcMjQ3XDI0N1wzNzdcMjQ3XDI0N1wyNDdcMzc3XDI0N1wyNDdcMjQ3XDM3N1wyNDdcMjQ3XDI0N1wzNzciCisgICJcMjQ3XDI0N1wyNDdcMzc3XDI1MFwyNTBcMjUwXDM3N1wyNTBcMjUwXDI1MFwzNzdJSUlcMzc3XDM2M1wzNjNcMzYzXDM3NyIKKyAgIlwzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY2IgorICAiXDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzQ3XDM0N1wzNDdcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMjYyXDI2MlwyNjJcMzc3XDI0N1wyNDdcMjQ3XDM3N1wyNDciCisgICJcMjQ3XDI0N1wzNzdcMjQ3XDI0N1wyNDdcMzc3XDI0N1wyNDdcMjQ3XDM3N1wyNDdcMjQ3XDI0N1wzNzdcMjUwXDI1MCIKKyAgIlwyNTBcMzc3XDI1MFwyNTBcMjUwXDM3N1wyNTFcMjUxXDI1MVwzNzdcMjUxXDI1MVwyNTFcMzc3XDM2NFwzNjRcMzY0IgorICAiXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjZcMzY2XDM2NlwzNzciCisgICJcMzY3XDM2N1wzNjdcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzUwXDM1MFwzNTBcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMjYyXDI2MlwyNjJcMzc3XDI0N1wyNDdcMjQ3IgorICAiXDM3N1wyNDdcMjQ3XDI0N1wzNzdcMjQ3XDI0N1wyNDdcMzc3XDI0N1wyNDdcMjQ3XDM3N1wyNTBcMjUwXDI1MFwzNzciCisgICJcMjUwXDI1MFwyNTBcMzc3XDI1MFwyNTBcMjUwXDM3N1wyNTFcMjUxXDI1MVwzNzdKSkpcMzc3XDM2NVwzNjVcMzY1XDM3NyIKKyAgIlwzNjVcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY3IgorICAiXDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzUwXDM1MFwzNTBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMjYyXDI2MlwyNjJcMzc3XDI0N1wyNDdcMjQ3XDM3N1wyNDciCisgICJcMjQ3XDI0N1wzNzdcMjQ3XDI0N1wyNDdcMzc3XDI1MFwyNTBcMjUwXDM3N1wyNTBcMjUwXDI1MFwzNzdcMjUwXDI1MCIKKyAgIlwyNTBcMzc3XDI1MVwyNTFcMjUxXDM3N1wyNTJcMjUyXDI1MlwzNzdcMjUzXDI1M1wyNTNcMzc3XDM2NVwzNjVcMzY1IgorICAiXDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjdcMzY3XDM2N1wzNzciCisgICJcMzcwXDM3MFwzNzBcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzUxXDM1MVwzNTFcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMjYyXDI2MlwyNjJcMzc3XDI0N1wyNDdcMjQ3IgorICAiXDM3N1wyNDdcMjQ3XDI0N1wzNzdcMjUwXDI1MFwyNTBcMzc3XDI1MFwyNTBcMjUwXDM3N1wyNTBcMjUwXDI1MFwzNzciCisgICJcMjUxXDI1MVwyNTFcMzc3XDI1MVwyNTFcMjUxXDM3N1wyNTNcMjUzXDI1M1wzNzdKSkpcMzc3XDM2NlwzNjZcMzY2XDM3NyIKKyAgIlwzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcxIgorICAiXDM3MVwzNzFcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzUxXDM1MVwzNTFcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMjYyXDI2MlwyNjJcMzc3XDI1MFwyNTBcMjUwXDM3N1wyNTAiCisgICJcMjUwXDI1MFwzNzdcMjUwXDI1MFwyNTBcMzc3XDI1MFwyNTBcMjUwXDM3N1wyNTFcMjUxXDI1MVwzNzdcMjUxXDI1MSIKKyAgIlwyNTFcMzc3XDI1MlwyNTJcMjUyXDM3N1wyNTNcMjUzXDI1M1wzNzdcMjUzXDI1M1wyNTNcMzc3XDM2NlwzNjZcMzY2IgorICAiXDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzFcMzcxXDM3MVwzNzciCisgICJcMzcxXDM3MVwzNzFcMzc3XDM3MlwzNzJcMzcyXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzUyXDM1MlwzNTJcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMjYxXDI2MVwyNjFcMzc3SkpKXDM3N1wyNTBcMjUwIgorICAiXDI1MFwzNzdJSUlcMzc3XDI1MVwyNTFcMjUxXDM3N0lJSVwzNzdcMjUyXDI1MlwyNTJcMzc3SkpKXDM3N1wyNTNcMjUzIgorICAiXDI1M1wzNzdLS0tcMzc3XDI1NFwyNTRcMjU0XDM3N0tLS1wzNzdcMjU1XDI1NVwyNTVcMzc3TExMXDM3N1wyNTVcMjU1IgorICAiXDI1NVwzNzdMTExcMzc3XDI1NlwyNTZcMjU2XDM3N0xMTFwzNzdcMjQ0XDI0NFwyNDRcMzc3XDBcMFwwXDM3N1wwXDAiCisgICJcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjJcMzYyIgorICAiXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjUiCisgICJcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMjU0XDI1NFwyNTRcMzc3XDI1NFwyNTRcMjU0XDM3NyIKKyAgIlwyNTVcMjU1XDI1NVwzNzdcMjU1XDI1NVwyNTVcMzc3XDI1NVwyNTVcMjU1XDM3N1wyNTZcMjU2XDI1NlwzNzdcMjU2IgorICAiXDI1NlwyNTZcMzc3XDI1N1wyNTdcMjU3XDM3N1wyNTdcMjU3XDI1N1wzNzdcMjQ0XDI0NFwyNDRcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjMiCisgICJcMzYzXDM2M1wzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NSIKKyAgIlwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdLS0tcMzc3XDI1NVwyNTVcMjU1XDM3N1wyNTVcMjU1IgorICAiXDI1NVwzNzdcMjU1XDI1NVwyNTVcMzc3XDI1NlwyNTZcMjU2XDM3N1wyNTZcMjU2XDI1NlwzNzdcMjU3XDI1N1wyNTciCisgICJcMzc3XDI1N1wyNTdcMjU3XDM3N1wyNTdcMjU3XDI1N1wzNzdcMjQ0XDI0NFwyNDRcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIlJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjNcMzYzIgorICAiXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjYiCisgICJcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMjU1XDI1NVwyNTVcMzc3XDI1NVwyNTVcMjU1XDM3NyIKKyAgIlwyNTVcMjU1XDI1NVwzNzdcMjU2XDI1NlwyNTZcMzc3XDI1NlwyNTZcMjU2XDM3N1wyNTdcMjU3XDI1N1wzNzdcMjU3IgorICAiXDI1N1wyNTdcMzc3XDI1N1wyNTdcMjU3XDM3N1wyNjBcMjYwXDI2MFwzNzdcMjQ0XDI0NFwyNDRcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjQiCisgICJcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY2XDM2NiIKKyAgIlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdMTExcMzc3XDI1NVwyNTVcMjU1XDM3N1wyNTZcMjU2IgorICAiXDI1NlwzNzdcMjU2XDI1NlwyNTZcMzc3XDI1N1wyNTdcMjU3XDM3N1wyNTdcMjU3XDI1N1wzNzdcMjU3XDI1N1wyNTciCisgICJcMzc3XDI2MFwyNjBcMjYwXDM3N1wyNjBcMjYwXDI2MFwzNzdcMjQ1XDI0NVwyNDVcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIlJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1IgorICAiXDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjciCisgICJcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzFcMzcxXDM3MVwzNzdcMjU1XDI1NVwyNTVcMzc3XDI1NlwyNTZcMjU2XDM3NyIKKyAgIlwyNTZcMjU2XDI1NlwzNzdcMjU3XDI1N1wyNTdcMzc3XDI1N1wyNTdcMjU3XDM3N1wyNTdcMjU3XDI1N1wzNzdcMjYwIgorICAiXDI2MFwyNjBcMzc3XDI2MFwyNjBcMjYwXDM3N1wyNjFcMjYxXDI2MVwzNzdcMjQ2XDI0NlwyNDZcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjUiCisgICJcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY3XDM2NyIKKyAgIlwzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzFcMzcxXDM3MVwzNzdMTExcMzc3XDI1NlwyNTZcMjU2XDM3N1wyNTdcMjU3IgorICAiXDI1N1wzNzdcMjU3XDI1N1wyNTdcMzc3XDI1N1wyNTdcMjU3XDM3N1wyNjBcMjYwXDI2MFwzNzdcMjYwXDI2MFwyNjAiCisgICJcMzc3XDI2MVwyNjFcMjYxXDM3N1wyNjJcMjYyXDI2MlwzNzdcMjQ2XDI0NlwyNDZcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIlJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjZcMzY2IgorICAiXDM2NlwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzcwXDM3MFwzNzAiCisgICJcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzdcMjU2XDI1NlwyNTZcMzc3XDI1N1wyNTdcMjU3XDM3NyIKKyAgIlwyNTdcMjU3XDI1N1wzNzdcMjU3XDI1N1wyNTdcMzc3XDI2MFwyNjBcMjYwXDM3N1wyNjBcMjYwXDI2MFwzNzdcMjYxIgorICAiXDI2MVwyNjFcMzc3XDI2MlwyNjJcMjYyXDM3N1wyNjJcMjYyXDI2MlwzNzdcMjQ2XDI0NlwyNDZcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjYiCisgICJcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcxXDM3MSIKKyAgIlwzNzFcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzdMTExcMzc3XDI1N1wyNTdcMjU3XDM3N1wyNTdcMjU3IgorICAiXDI1N1wzNzdcMjYwXDI2MFwyNjBcMzc3XDI2MFwyNjBcMjYwXDM3N1wyNjFcMjYxXDI2MVwzNzdcMjYyXDI2MlwyNjIiCisgICJcMzc3XDI2MlwyNjJcMjYyXDM3N1wyNjJcMjYyXDI2MlwzNzdcMjQ2XDI0NlwyNDZcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIlJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzU2XDM1NlwzNTZcMzc3XDM0NlwzNDZcMzQ2XDM3N1wzNDZcMzQ2IgorICAiXDM0NlwzNzdcMzQ2XDM0NlwzNDZcMzc3XDM0N1wzNDdcMzQ3XDM3N1wzNTBcMzUwXDM1MFwzNzdcMzUwXDM1MFwzNTAiCisgICJcMzc3XDM1MVwzNTFcMzUxXDM3N1wzNTJcMzUyXDM1MlwzNzdcMjQ0XDI0NFwyNDRcMzc3XDI0NFwyNDRcMjQ0XDM3NyIKKyAgIlwyNDRcMjQ0XDI0NFwzNzdcMjQ0XDI0NFwyNDRcMzc3XDI0NVwyNDVcMjQ1XDM3N1wyNDZcMjQ2XDI0NlwzNzdcMjQ2IgorICAiXDI0NlwyNDZcMzc3XDI0NlwyNDZcMjQ2XDM3N1wyNDZcMjQ2XDI0NlwzNzdcMjMyXDIzMlwyMzJcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwIgorICAiXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDAiCisgICJcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwxNVwwXDBcMCIKKyAgIkRcMFwwXDBSXDBcMFwwUlwwXDBcMFJcMFwwXDBSXDBcMFwwUlwwXDBcMFJcMFwwXDBSXDBcMFwwUlwwXDBcMFJcMFwwIgorICAiXDBSXDBcMFwwUlwwXDBcMFJcMFwwXDBSXDBcMFwwUlwwXDBcMFJcMFwwXDBSXDBcMFwwUlwwXDBcMFJcMFwwXDBSXDAiCisgICJcMFwwRVwwXDBcMFwxNlwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMTVcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMCIKKyAgIlwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjAiCisgICJcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDAiCisgICJcMjBcMFwwXDBcMTZcMFwwXDBcMyJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfdGV4dF9idWxsZXRlZF9saXN0KQorI2VuZGlmCisjaWZkZWYgX19HTlVDX18KK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfdGV4dF9idWxsZXRlZF9saXN0W10gX19hdHRyaWJ1dGVfXyAoKF9fYWxpZ25lZF9fICg0KSkpID0gCisjZWxzZQorc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja190ZXh0X2J1bGxldGVkX2xpc3RbXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICgyMzA0KSAqLworICAiXDBcMFwxMVwzMCIKKyAgLyogcGl4ZGF0YV90eXBlICgweDEwMTAwMDIpICovCisgICJcMVwxXDBcMiIKKyAgLyogcm93c3RyaWRlICg5NikgKi8KKyAgIlwwXDBcMGAiCisgIC8qIHdpZHRoICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogaGVpZ2h0ICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwyN1wwXDBcMFwyMjRcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMjMyIgorICAiXDBcMFwwJ1wwXDBcMFw2XDBcMFwwXDFcMFwwXDBcMjI0XDM0MlwzNDJcMzQyXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYyIgorICAiXDM2MlwzNjJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2M1wzNjMiCisgICJcMzYzXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjRcMzY0XDM2NCIKKyAgIlwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjZcMzc3IgorICAiXDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY3XDM2N1wzNjdcMzc3XDM2NFwzNjRcMzY0XDM3N1wzMzMiCisgICJcMzMzXDMzM1wzNzdcMFwwXDBcMjQzXDBcMFwwXDI1XDBcMFwwXDZcMFwwXDBcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNDAiCisgICJcMzQwXDM0MFwzNzdcMzQwXDM0MFwzNDBcMzc3XDM0MVwzNDFcMzQxXDM3N1wzNDJcMzQyXDM0MlwzNzdcMzQzXDM0MyIKKyAgIlwzNDNcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDVcMzQ1XDM0NVwzNzdcMzQ2XDM0NlwzNDZcMzc3XDM0N1wzNDdcMzQ3IgorICAiXDM3N1wzNTBcMzUwXDM1MFwzNzdcMzUwXDM1MFwzNTBcMzc3XDM1MVwzNTFcMzUxXDM3N1wzNTJcMzUyXDM1MlwzNzciCisgICJcMzUzXDM1M1wzNTNcMzc3XDM1NFwzNTRcMzU0XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NyIKKyAgIlwzNTdcMzU3XDM3N1wzNTVcMzU1XDM1NVwzNzdcMFwwXDBcMzc3XDBcMFwwKVwwXDBcMFwxNlwwXDBcMFwzNzdcMzYyIgorICAiXDM2MlwzNjJcMzc3XDM0MVwzNDFcMzQxXDM3N1wzNDFcMzQxXDM0MVwzNzdcMzQyXDM0MlwzNDJcMzc3XDM0M1wzNDMiCisgICJcMzQzXDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ1XDM0NVwzNDVcMzc3XDM0NlwzNDZcMzQ2XDM3N1wzNDdcMzQ3XDM0NyIKKyAgIlwzNzdcMzUwXDM1MFwzNTBcMzc3XDM1MVwzNTFcMzUxXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzUyXDM1MlwzNTJcMzc3IgorICAiXDM1M1wzNTNcMzUzXDM3N1wzNTRcMzU0XDM1NFwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTciCisgICJcMzU3XDM1N1wzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MVwzNjFcMzYxXDM3N1wwXDBcMFwzNzdcMFwwXDAiIjhcMFwwXDAiCisgICJcMjVcMFwwXDBcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNDJcMzQyXDM0MlwzNzdcMzQzXDM0M1wzNDNcMzc3XDIzNlwyMzYiCisgICJcMjM2XDM3N21tbVwzNzdcMjM3XDIzN1wyMzdcMzc3XDM0NlwzNDZcMzQ2XDM3N1wzNDdcMzQ3XDM0N1wzNzdvb29cMzc3IgorICAicHBwXDM3N3BwcFwzNzdxcXFcMzc3cXFxXDM3N3FxcVwzNzdycnJcMzc3cnJyXDM3N3Nzc1wzNzdcMzYwXDM2MFwzNjAiCisgICJcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjJcMzYyXDM2MlwzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMCIKKyAgIlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM0M1wzNDNcMzQzXDM3N1wzNDRcMzQ0XDM0NFwzNzdubm5cMzc3bm5uXDM3N25uIgorICAiblwzNzdcMzQ3XDM0N1wzNDdcMzc3XDM1MFwzNTBcMzUwXDM3N1wzNTFcMzUxXDM1MVwzNzdcMzUyXDM1MlwzNTJcMzc3IgorICAiXDM1M1wzNTNcMzUzXDM3N1wzNTRcMzU0XDM1NFwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTYiCisgICJcMzU2XDM1NlwzNzdcMzU3XDM1N1wzNTdcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzYyXDM2MiIKKyAgIlwzNjJcMzc3XDM2M1wzNjNcMzYzXDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNjNcMzYzIgorICAiXDM2M1wzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NVwzNDVcMzQ1XDM3N1wyNDBcMjQwXDI0MFwzNzdvb29cMzc3XDI0MVwyNDEiCisgICJcMjQxXDM3N1wzNTBcMzUwXDM1MFwzNzdcMzUxXDM1MVwzNTFcMzc3cHBwXDM3N3FxcVwzNzdxcXFcMzc3cnJyXDM3NyIKKyAgInJyclwzNzdzc3NcMzc3c3NzXDM3N3Nzc1wzNzd0dHRcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY0IgorICAiXDM2NFwzNjRcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNDUiCisgICJcMzQ1XDM0NVwzNzdcMzQ2XDM0NlwzNDZcMzc3XDM0N1wzNDdcMzQ3XDM3N1wzNTBcMzUwXDM1MFwzNzdcMzUxXDM1MSIKKyAgIlwzNTFcMzc3XDM1MVwzNTFcMzUxXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzUzXDM1M1wzNTNcMzc3XDM1NFwzNTRcMzU0IgorICAiXDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNjBcMzYwXDM2MFwzNzciCisgICJcMzU2XDM1NlwzNTZcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NCIKKyAgIlwzNjRcMzY0XDM3N1wzNjVcMzY1XDM2NVwzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzY0IgorICAiXDM2NFwzNjRcMzc3XDM0NlwzNDZcMzQ2XDM3N1wzNDdcMzQ3XDM0N1wzNzdcMzUwXDM1MFwzNTBcMzc3XDM1MVwzNTEiCisgICJcMzUxXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzUyXDM1MlwzNTJcMzc3XDM1M1wzNTNcMzUzXDM3N3FxcVwzNzdycnJcMzc3IgorICAicnJyXDM3N3Nzc1wzNzdzc3NcMzc3dHR0XDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2M1wzNjMiCisgICJcMzYzXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wwXDBcMFwzNzdcMCIKKyAgIlwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzQ3XDM0N1wzNDdcMzc3XDM1MFwzNTBcMzUwIgorICAiXDM3N1wzNTFcMzUxXDM1MVwzNzdcMzUyXDM1MlwzNTJcMzc3XDM1M1wzNTNcMzUzXDM3N1wzNTRcMzU0XDM1NFwzNzciCisgICJcMzU0XDM1NFwzNTRcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU3XDM1N1wzNTdcMzc3XDM2MCIKKyAgIlwzNjBcMzYwXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0IgorICAiXDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjciCisgICJcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNTBcMzUwXDM1MCIKKyAgIlwzNzdcMzUxXDM1MVwzNTFcMzc3XDM1MlwzNTJcMzUyXDM3N1wzNTNcMzUzXDM1M1wzNzdcMzU0XDM1NFwzNTRcMzc3IgorICAiXDM1NVwzNTVcMzU1XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNjAiCisgICJcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NCIKKyAgIlwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM2N1wzNjdcMzY3IgorICAiXDM3N1wzNzBcMzcwXDM3MFwzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzY1XDM2NVwzNjUiCisgICJcMzc3XDM1MVwzNTFcMzUxXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzUzXDM1M1wzNTNcMzc3XDM1NFwzNTRcMzU0XDM3NyIKKyAgIlwzNTVcMzU1XDM1NVwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYwIgorICAiXDM2MFwzNjBcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NFwzNjQiCisgICJcMzY0XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MCIKKyAgIlwzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MVwzNzFcMzcxXDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwIgorICAiXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzUyXDM1MlwzNTJcMzc3XDM1M1wzNTNcMzUzXDM3N1wzNTRcMzU0XDM1NFwzNzciCisgICJcMzU1XDM1NVwzNTVcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTdcMzU3XDM1N1wzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MSIKKyAgIlwzNjFcMzYxXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0IgorICAiXDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzcwXDM3MFwzNzAiCisgICJcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzcyXDM3MlwzNzJcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIj1cMFwwXDBcMjdcMFwwXDBcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNTNcMzUzXDM1M1wzNzdcMzU0XDM1NFwzNTRcMzc3IgorICAiXDMwM1wzMDNcMzAzXDM3N3JyclwzNzdcMzA0XDMwNFwzMDRcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjFcMzYxXDM2MVwzNzciCisgICJ0dHRcMzc3dXV1XDM3N1wyMDNcMjAzXDIwM1wzNzd1dXVcMzc3dnZ2XDM3N3Z2dlwzNzd3d3dcMzc3d3d3XDM3N3h4eCIKKyAgIlwzNzdcMzcyXDM3MlwzNzJcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzRcMzc0XDM3NFwzNzdcMFwwXDBcMzc3XDBcMFwwIgorICAiPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzY3XDM2N1wzNjdcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTVcMzU1XDM1NVwzNzciCisgICJycnJcMzc3c3NzXDM3N3Nzc1wzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzciCisgICJcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2NyIKKyAgIlwzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MlwzNzJcMzcyXDM3N1wzNzNcMzczIgorICAiXDM3M1wzNzdcMzc0XDM3NFwzNzRcMzc3XDM3NVwzNzVcMzc1XDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDAiCisgICJcMFwwXDM3N1wzNjdcMzY3XDM2N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM1N1wzNTdcMzU3XDM3N1wzMDRcMzA0XDMwNCIKKyAgIlwzNzdzc3NcMzc3XDMwNlwzMDZcMzA2XDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3dXV1XDM3N3Z2IgorICAidlwzNzd2dnZcMzc3d3d3XDM3N3d3d1wzNzd3d3dcMzc3eHh4XDM3N3h4eFwzNzdcMzczXDM3M1wzNzNcMzc3XDM3NFwzNzQiCisgICJcMzc0XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzc2XDM3NlwzNzZcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMCIKKyAgIlwwXDBcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MlwzNjJcMzYyIgorICAiXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjVcMzY1XDM2NVwzNzciCisgICJcMzY2XDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MiIKKyAgIlwzNzJcMzcyXDM3N1wzNzNcMzczXDM3M1wzNzdcMzczXDM3M1wzNzNcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzVcMzc1IgorICAiXDM3NVwzNzdcMzc2XDM3NlwzNzZcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMFwwXDBcMzc3XDAiCisgICJcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzcwXDM3MFwzNzBcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjJcMzYyXDM2MiIKKyAgIlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3IgorICAiXDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzIiCisgICJcMzcyXDM3MlwzNzdcMzczXDM3M1wzNzNcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzc1XDM3NSIKKyAgIlwzNzVcMzc3XDM3NlwzNzZcMzc2XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYyXDM2MlwzNjIiCisgICJcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3NyIKKyAgIlwzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcyIgorICAiXDM3MlwzNzJcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzRcMzc0XDM3NFwzNzdcMzc1XDM3NVwzNzVcMzc3XDM3NlwzNzYiCisgICJcMzc2XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzU0XDM1NFwzNTRcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMjMyXDMxMVwzMTFcMzExIgorICAiXDM3N1wzNTVcMzU1XDM1NVwzNzdcMzcwXDM3MFwzNzBcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzciCisgICJcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MiIKKyAgIlwzNzJcMzcyXDM3N1wzNzNcMzczXDM3M1wzNzdcMzc0XDM3NFwzNzRcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzZcMzc2IgorICAiXDM3NlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM1NlwzNTZcMzU2XDM3N1wyNzVcMjc1XDI3NVwzNzdcMFwwXDBcMzI0XDBcMFwwOlwwXDBcMFwyNlwwXDBcMCIKKyAgIlwzNFwwXDBcMFwyNDNcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIlwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwIgorICAiXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzI0XDAiCisgICJcMFwwWVwwXDBcMC1cMFwwXDBcMjBcMFwwXDBcNlwwXDBcMFwyNFwwXDBcMClcMFwwXDAiIjhcMFwwXDA8XDBcMFwwPSIKKyAgIlwwXDBcMD1cMFwwXDA9XDBcMFwwPVwwXDBcMD1cMFwwXDA9XDBcMFwwPVwwXDBcMD1cMFwwXDA9XDBcMFwwPVwwXDBcMCIKKyAgIj1cMFwwXDA9XDBcMFwwPVwwXDBcMD1cMFwwXDA9XDBcMFwwIiI5XDBcMFwwLVwwXDBcMFwzMVwwXDBcMFw3XDBcMFwwIgorICAiXDFcMFwwXDBcNlwwXDBcMFwxNlwwXDBcMFwyNFwwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDAiCisgICJcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyNyIKKyAgIlwwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyNVwwXDBcMFwyMFwwXDBcMFw3XDBcMFwwIgorICAiXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMlwwXDBcMFwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDAiCisgICJcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMCIKKyAgIlwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDNcMFwwXDBcMlwwXDBcMFwxXDBcMFwwXDAifTsKKworCisvKiBHZGtQaXhidWYgUkdCQSBDLVNvdXJjZSBpbWFnZSBkdW1wICovCisKKyNpZmRlZiBfX1NVTlBST19DCisjcHJhZ21hIGFsaWduIDQgKHN0b2NrX3RleHRfaW5kZW50KQorI2VuZGlmCisjaWZkZWYgX19HTlVDX18KK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfdGV4dF9pbmRlbnRbXSBfX2F0dHJpYnV0ZV9fICgoX19hbGlnbmVkX18gKDQpKSkgPSAKKyNlbHNlCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX3RleHRfaW5kZW50W10gPSAKKyNlbmRpZgoreyAiIgorICAvKiBQaXhidWYgbWFnaWMgKDB4NDc2NDZiNTApICovCisgICJHZGtQIgorICAvKiBsZW5ndGg6IGhlYWRlciAoMjQpICsgcGl4ZWxfZGF0YSAoMjMwNCkgKi8KKyAgIlwwXDBcMTFcMzAiCisgIC8qIHBpeGRhdGFfdHlwZSAoMHgxMDEwMDAyKSAqLworICAiXDFcMVwwXDIiCisgIC8qIHJvd3N0cmlkZSAoOTYpICovCisgICJcMFwwXDBgIgorICAvKiB3aWR0aCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIGhlaWdodCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIHBpeGVsX2RhdGE6ICovCisgICJcMFwwXDBcMjdcMFwwXDBcMjI0XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDIzMiIKKyAgIlwwXDBcMCdcMFwwXDBcNlwwXDBcMFwxXDBcMFwwXDIyNFwzNDJcMzQyXDM0MlwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2MiIKKyAgIlwzNjJcMzYyXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjNcMzYzIgorICAiXDM2M1wzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY0XDM2NFwzNjQiCisgICJcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3NyIKKyAgIlwzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjRcMzY0XDM2NFwzNzdcMzMzIgorICAiXDMzM1wzMzNcMzc3XDBcMFwwXDI0M1wwXDBcMFwyNVwwXDBcMFw2XDBcMFwwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzQwIgorICAiXDM0MFwzNDBcMzc3XDM0MFwzNDBcMzQwXDM3N1wzNDFcMzQxXDM0MVwzNzdcMzQyXDM0MlwzNDJcMzc3XDM0M1wzNDMiCisgICJcMzQzXDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ1XDM0NVwzNDVcMzc3XDI1NlwyNTZcMjU2XDM3N1wzNDdcMzQ3XDM0NyIKKyAgIlwzNzdcMzUwXDM1MFwzNTBcMzc3XDM1MFwzNTBcMzUwXDM3N1wzNTFcMzUxXDM1MVwzNzdcMzUyXDM1MlwzNTJcMzc3IgorICAiXDM1M1wzNTNcMzUzXDM3N1wzNTRcMzU0XDM1NFwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTciCisgICJcMzU3XDM1N1wzNzdcMzQzXDM0M1wzNDNcMzc3XDBcMFwwXDM3N1wwXDBcMClcMFwwXDBcMTZcMFwwXDBcMzc3XDM2MiIKKyAgIlwzNjJcMzYyXDM3N1wzNDFcMzQxXDM0MVwzNzdcMzQxXDM0MVwzNDFcMzc3XDM0MlwzNDJcMzQyXDM3N1wzNDNcMzQzIgorICAiXDM0M1wzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NVwzNDVcMzQ1XDM3N1wzNDZcMzQ2XDM0NlwzNzdcMzQ3XDM0N1wzNDciCisgICJcMzc3XDM1MFwzNTBcMzUwXDM3N1wzNTFcMzUxXDM1MVwzNzdcMzUyXDM1MlwzNTJcMzc3XDM1MlwzNTJcMzUyXDM3NyIKKyAgIlwzNTNcMzUzXDM1M1wzNzdcMzU0XDM1NFwzNTRcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU3IgorICAiXDM1N1wzNTdcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNDdcMzQ3XDM0N1wzNzdcMFwwXDBcMzc3XDBcMFwwIiI4XDBcMFwwIgorICAiXDI1XDBcMFwwXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzQyXDM0MlwzNDJcMzc3XDI1NFwyNTRcMjU0XDM3N1wyNTRcMjU0IgorICAiXDI1NFwzNzdcMjU1XDI1NVwyNTVcMzc3XDI1NlwyNTZcMjU2XDM3N1wyNTZcMjU2XDI1NlwzNzdcMjU3XDI1N1wyNTciCisgICJcMzc3XDI2MFwyNjBcMjYwXDM3N1wyNjFcMjYxXDI2MVwzNzdcMjYyXDI2MlwyNjJcMzc3XDI2MlwyNjJcMjYyXDM3NyIKKyAgIlwyNjNcMjYzXDI2M1wzNzdcMjYzXDI2M1wyNjNcMzc3XDI2NFwyNjRcMjY0XDM3N1wyNjVcMjY1XDI2NVwzNzdcMjY1IgorICAiXDI2NVwyNjVcMzc3XDI2NlwyNjZcMjY2XDM3N1wzNjFcMzYxXDM2MVwzNzdcMzUwXDM1MFwzNTBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNDNcMzQzXDM0M1wzNzdcMzQ0XDM0NFwzNDQiCisgICJcMzc3XDM0NVwzNDVcMzQ1XDM3N1wzNDVcMzQ1XDM0NVwzNzdcMzQ2XDM0NlwzNDZcMzc3XDM0N1wzNDdcMzQ3XDM3NyIKKyAgIlwzNTBcMzUwXDM1MFwzNzdcMzUxXDM1MVwzNTFcMzc3XDM1MlwzNTJcMzUyXDM3N1wzNTNcMzUzXDM1M1wzNzdcMzU0IgorICAiXDM1NFwzNTRcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1N1wzNTciCisgICJcMzU3XDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNTFcMzUxXDM1MSIKKyAgIlwzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzYzXDM2M1wzNjNcMzc3XDM0NFwzNDRcMzQ0IgorICAiXDM3N1wzNDVcMzQ1XDM0NVwzNzdcMzQ2XDM0NlwzNDZcMzc3XDM0N1wzNDdcMzQ3XDM3N1wzNDdcMzQ3XDM0N1wzNzciCisgICJcMzUwXDM1MFwzNTBcMzc3XDM1MVwzNTFcMzUxXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzUzXDM1M1wzNTNcMzc3XDM1NCIKKyAgIlwzNTRcMzU0XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNTdcMzU3IgorICAiXDM1N1wzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjMiCisgICJcMzc3XDM1MlwzNTJcMzUyXDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNjNcMzYzXDM2MyIKKyAgIlwzNzdcMzQ1XDM0NVwzNDVcMzc3XDM0NlwzNDZcMzQ2XDM3N1wzNDdcMzQ3XDM0N1wzNzdcMzUwXDM1MFwzNTBcMzc3IgorICAiXDM1MVwzNTFcMzUxXDM3N1wzNTFcMzUxXDM1MVwzNzdcMzUyXDM1MlwzNTJcMzc3dXV1XDM3N3Z2dlwzNzd2dnZcMzc3IgorICAid3d3XDM3N3d3d1wzNzd4eHhcMzc3eHh4XDM3N3h4eFwzNzd5eXlcMzc3eXl5XDM3N1wzNjRcMzY0XDM2NFwzNzdcMzUzIgorICAiXDM1M1wzNTNcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNDYiCisgICJcMzQ2XDM0NlwzNzdcMzQ3XDM0N1wzNDdcMzc3XDM1MFwzNTBcMzUwXDM3N1wyNTJcMjUyXDI1MlwzNzdcMzUyXDM1MiIKKyAgIlwzNTJcMzc3XDM1MlwzNTJcMzUyXDM3N1wzNTNcMzUzXDM1M1wzNzdcMzU0XDM1NFwzNTRcMzc3XDM1NVwzNTVcMzU1IgorICAiXDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU3XDM1N1wzNTdcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjFcMzYxXDM2MVwzNzciCisgICJcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NSIKKyAgIlwzNjVcMzY1XDM3N1wzNTRcMzU0XDM1NFwzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzY0IgorICAiXDM2NFwzNjRcMzc3XDM0N1wzNDdcMzQ3XDM3N1wzNTBcMzUwXDM1MFwzNzdcMzUxXDM1MVwzNTFcMzc3XDBcMFwwXDM3NyIKKyAgIlwyNTRcMjU0XDI1NFwzNzdcMzU0XDM1NFwzNTRcMzc3XDM1NFwzNTRcMzU0XDM3N3Z2dlwzNzd3d3dcMzc3d3d3XDM3NyIKKyAgInh4eFwzNzd4eHhcMzc3eXl5XDM3N3l5eVwzNzd6enpcMzc3enp6XDM3N3p6elwzNzdcMzY2XDM2NlwzNjZcMzc3XDM1NSIKKyAgIlwzNTVcMzU1XDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNjVcMzY1XDM2NVwzNzdcMFwwIgorICAiXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wyNTVcMjU1XDI1NVwzNzdcMzU2XDM1NiIKKyAgIlwzNTZcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTdcMzU3XDM1N1wzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MVwzNjFcMzYxIgorICAiXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjVcMzY1XDM2NVwzNzciCisgICJcMzY2XDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNTFcMzUxXDM1MVwzNzdcMzUyIgorICAiXDM1MlwzNTJcMzc3XDM1M1wzNTNcMzUzXDM3N1wwXDBcMFwzNzdcMjU1XDI1NVwyNTVcMzc3XDM1NlwzNTZcMzU2XDM3NyIKKyAgIlwzNTdcMzU3XDM1N1wzNzd4eHhcMzc3eHh4XDM3N3h4eFwzNzd5eXlcMzc3eXl5XDM3N3p6elwzNzd6enpcMzc3e3t7IgorICAiXDM3N3t7e1wzNzd8fHxcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNTdcMzU3XDM1N1wzNzdcMFwwXDBcMzc3XDBcMFwwPVwwIgorICAiXDBcMFwyN1wwXDBcMFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM1MlwzNTJcMzUyXDM3N1wzNTNcMzUzXDM1M1wzNzdcMzU0IgorICAiXDM1NFwzNTRcMzc3XDI1NVwyNTVcMjU1XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU3XDM1N1wzNTdcMzc3XDM2MFwzNjAiCisgICJcMzYwXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2MyIKKyAgIlwzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3IgorICAiXDM3MFwzNzBcMzcwXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcyXDM3MlwzNzJcMzc3XDM2MFwzNjBcMzYwXDM3N1wwXDAiCisgICJcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNjZcMzY2XDM2NlwzNzdcMzUzXDM1M1wzNTNcMzc3XDM1NCIKKyAgIlwzNTRcMzU0XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNjBcMzYwIgorICAiXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3eXl5XDM3N3l5eVwzNzd6enpcMzc3enp6XDM3N3p6elwzNzdcMzY2XDM2NlwzNjYiCisgICJcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MlwzNzJcMzcyXDM3NyIKKyAgIlwzNzNcMzczXDM3M1wzNzdcMzYyXDM2MlwzNjJcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3IgorICAiXDM2N1wzNjdcMzY3XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTciCisgICJcMzU3XDM1N1wzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYzXDM2MyIKKyAgIlwzNjNcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2IgorICAiXDM3N1wzNjdcMzY3XDM2N1wzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzciCisgICJcMzczXDM3M1wzNzNcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNjNcMzYzXDM2M1wzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDAiCisgICJcMFwyN1wwXDBcMFwzNzdcMzY3XDM2N1wzNjdcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTdcMzU3XDM1N1wzNzdcMzU3XDM1NyIKKyAgIlwzNTdcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjNcMzYzIgorICAiXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzciCisgICJcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcyXDM3MlwzNzJcMzc3XDM3MyIKKyAgIlwzNzNcMzczXDM3N1wzNzRcMzc0XDM3NFwzNzdcMzc1XDM3NVwzNzVcMzc3XDM2NFwzNjRcMzY0XDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDI2N1wyNjdcMjY3IgorICAiXDM3N1wyNzBcMjcwXDI3MFwzNzdcMjcwXDI3MFwyNzBcMzc3XDI3MFwyNzBcMjcwXDM3N1wyNzFcMjcxXDI3MVwzNzciCisgICJcMjcyXDI3MlwyNzJcMzc3XDI3M1wyNzNcMjczXDM3N1wyNzNcMjczXDI3M1wzNzdcMjc0XDI3NFwyNzRcMzc3XDI3NSIKKyAgIlwyNzVcMjc1XDM3N1wyNzZcMjc2XDI3NlwzNzdcMjc2XDI3NlwyNzZcMzc3XDI3NlwyNzZcMjc2XDM3N1wyNzdcMjc3IgorICAiXDI3N1wzNzdcMzAwXDMwMFwzMDBcMzc3XDMwMVwzMDFcMzAxXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY1XDM2NVwzNjUiCisgICJcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNjFcMzYxXDM2MSIKKyAgIlwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY0XDM2NFwzNjRcMzc3IgorICAiXDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzEiCisgICJcMzcxXDM3MVwzNzdcMzcyXDM3MlwzNzJcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzRcMzc0XDM3NFwzNzdcMzc1XDM3NSIKKyAgIlwzNzVcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzZcMzc2XDM3NlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNjVcMzY1XDM2NVwzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzYyXDM2MlwzNjIiCisgICJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3NyIKKyAgIlwzNjZcMzY2XDM2NlwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wyNzRcMjc0XDI3NFwzNzdcMzcxIgorICAiXDM3MVwzNzFcMzc3XDM3MlwzNzJcMzcyXDM3N1wzNzNcMzczXDM3M1wzNzdcMzc0XDM3NFwzNzRcMzc3XDM3NVwzNzUiCisgICJcMzc1XDM3N1wzNzZcMzc2XDM3NlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDMzMVwzMzFcMzMxXDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwIgorICAiXDIzMlwzMTFcMzExXDMxMVwzNzdcMzMyXDMzMlwzMzJcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTNcMzUzXDM1M1wzNzciCisgICJcMzU0XDM1NFwzNTRcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NyIKKyAgIlwzNTdcMzU3XDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzIgorICAiXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NVwzNjUiCisgICJcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMjc1XDI3NVwyNzVcMzc3XDBcMFwwXDMyNFwwXDBcMCIKKyAgIjpcMFwwXDBcMjZcMFwwXDBcMzRcMFwwXDBcMjQzXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDMyNFwwXDBcMFlcMFwwXDAtXDBcMFwwXDIwXDBcMFwwXDZcMFwwXDBcMjRcMFwwXDApXDBcMFwwIiI4XDAiCisgICJcMFwwPFwwXDBcMD1cMFwwXDA9XDBcMFwwPVwwXDBcMD1cMFwwXDA9XDBcMFwwPVwwXDBcMD1cMFwwXDA9XDBcMFwwPSIKKyAgIlwwXDBcMD1cMFwwXDA9XDBcMFwwPVwwXDBcMD1cMFwwXDA9XDBcMFwwPVwwXDBcMCIiOVwwXDBcMC1cMFwwXDBcMzFcMCIKKyAgIlwwXDBcN1wwXDBcMFwxXDBcMFwwXDZcMFwwXDBcMTZcMFwwXDBcMjRcMFwwXDBcMjdcMFwwXDBcMjdcMFwwXDBcMjdcMCIKKyAgIlwwXDBcMjdcMFwwXDBcMjdcMFwwXDBcMjdcMFwwXDBcMjdcMFwwXDBcMjdcMFwwXDBcMjdcMFwwXDBcMjdcMFwwXDBcMjciCisgICJcMFwwXDBcMjdcMFwwXDBcMjdcMFwwXDBcMjdcMFwwXDBcMjdcMFwwXDBcMjdcMFwwXDBcMjVcMFwwXDBcMjBcMFwwXDAiCisgICJcN1wwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDJcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDNcMCIKKyAgIlwwXDBcM1wwXDBcMFwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDBcMFwwIgorICAiXDNcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDJcMFwwXDBcMVwwXDBcMFwwIn07CisKKworLyogR2RrUGl4YnVmIFJHQkEgQy1Tb3VyY2UgaW1hZ2UgZHVtcCAqLworCisjaWZkZWYgX19TVU5QUk9fQworI3ByYWdtYSBhbGlnbiA0IChzdG9ja190ZXh0X251bWJlcmVkX2xpc3QpCisjZW5kaWYKKyNpZmRlZiBfX0dOVUNfXworc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja190ZXh0X251bWJlcmVkX2xpc3RbXSBfX2F0dHJpYnV0ZV9fICgoX19hbGlnbmVkX18gKDQpKSkgPSAKKyNlbHNlCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX3RleHRfbnVtYmVyZWRfbGlzdFtdID0gCisjZW5kaWYKK3sgIiIKKyAgLyogUGl4YnVmIG1hZ2ljICgweDQ3NjQ2YjUwKSAqLworICAiR2RrUCIKKyAgLyogbGVuZ3RoOiBoZWFkZXIgKDI0KSArIHBpeGVsX2RhdGEgKDIzMDQpICovCisgICJcMFwwXDExXDMwIgorICAvKiBwaXhkYXRhX3R5cGUgKDB4MTAxMDAwMikgKi8KKyAgIlwxXDFcMFwyIgorICAvKiByb3dzdHJpZGUgKDk2KSAqLworICAiXDBcMFwwYCIKKyAgLyogd2lkdGggKDI0KSAqLworICAiXDBcMFwwXDMwIgorICAvKiBoZWlnaHQgKDI0KSAqLworICAiXDBcMFwwXDMwIgorICAvKiBwaXhlbF9kYXRhOiAqLworICAiXDBcMFwwXDI3XDBcMFwwXDIyNFwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwyMzIiCisgICJcMFwwXDAnXDBcMFwwXDZcMFwwXDBcMVwwXDBcMFwyMjRcMzQyXDM0MlwzNDJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjIiCisgICJcMzYyXDM2MlwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzYzXDM2MyIKKyAgIlwzNjNcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NFwzNjRcMzY0IgorICAiXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzciCisgICJcMzY2XDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY0XDM2NFwzNjRcMzc3XDMzMyIKKyAgIlwzMzNcMzMzXDM3N1wwXDBcMFwyNDNcMFwwXDBcMjVcMFwwXDBcNlwwXDBcMFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM0MCIKKyAgIlwzNDBcMzQwXDM3N1wzNDBcMzQwXDM0MFwzNzdcMzQxXDM0MVwzNDFcMzc3XDM0MlwzNDJcMzQyXDM3N1wzNDNcMzQzIgorICAiXDM0M1wzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NVwzNDVcMzQ1XDM3N1wzNDZcMzQ2XDM0NlwzNzdcMzQ3XDM0N1wzNDciCisgICJcMzc3XDM1MFwzNTBcMzUwXDM3N1wzNTBcMzUwXDM1MFwzNzdcMzUxXDM1MVwzNTFcMzc3XDM1MlwzNTJcMzUyXDM3NyIKKyAgIlwzNTNcMzUzXDM1M1wzNzdcMzU0XDM1NFwzNTRcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU3IgorICAiXDM1N1wzNTdcMzc3XDM1NVwzNTVcMzU1XDM3N1wwXDBcMFwzNzdcMFwwXDApXDBcMFwwXDE2XDBcMFwwXDM3N1wzNjIiCisgICJcMzYyXDM2MlwzNzdcMzQxXDM0MVwzNDFcMzc3XDM0MVwzNDFcMzQxXDM3N1wzMTRcMzE0XDMxNFwzNzdtbW1cMzc3XDM0NCIKKyAgIlwzNDRcMzQ0XDM3N1wzNDVcMzQ1XDM0NVwzNzdcMzQ2XDM0NlwzNDZcMzc3XDM0N1wzNDdcMzQ3XDM3N1wzNTBcMzUwIgorICAiXDM1MFwzNzdcMzUxXDM1MVwzNTFcMzc3XDM1MlwzNTJcMzUyXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzUzXDM1M1wzNTMiCisgICJcMzc3XDM1NFwzNTRcMzU0XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1N1wzNTdcMzU3XDM3NyIKKyAgIlwzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDBcMFwwXDM3N1wwXDBcMCIiOFwwXDBcMFwyNVwwXDBcMFwzNzciCisgICJcMzYyXDM2MlwzNjJcMzc3XDM0MlwzNDJcMzQyXDM3N1wzMTVcMzE1XDMxNVwzNzdtbW1cMzc3bW1tXDM3N1wzNDVcMzQ1IgorICAiXDM0NVwzNzdcMzQ2XDM0NlwzNDZcMzc3XDM0N1wzNDdcMzQ3XDM3N29vb1wzNzdwcHBcMzc3cHBwXDM3N3FxcVwzNzciCisgICJxcXFcMzc3cXFxXDM3N3JyclwzNzdycnJcMzc3c3NzXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MiIKKyAgIlwzNjJcMzYyXDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzQzIgorICAiXDM0M1wzNDNcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDVcMzQ1XDM0NVwzNzdubm5cMzc3XDM0NlwzNDZcMzQ2XDM3N1wzNDciCisgICJcMzQ3XDM0N1wzNzdcMzUwXDM1MFwzNTBcMzc3XDM1MVwzNTFcMzUxXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzUzXDM1MyIKKyAgIlwzNTNcMzc3XDM1NFwzNTRcMzU0XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NlwzNTZcMzU2IgorICAiXDM3N1wzNTdcMzU3XDM1N1wzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjJcMzYyXDM2MlwzNzciCisgICJcMzYzXDM2M1wzNjNcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM2M1wzNjNcMzYzXDM3NyIKKyAgIlwzNDRcMzQ0XDM0NFwzNzdcMzQ1XDM0NVwzNDVcMzc3XDM0NlwzNDZcMzQ2XDM3N29vb1wzNzdcMzQ3XDM0N1wzNDdcMzc3IgorICAiXDM1MFwzNTBcMzUwXDM3N1wzNTFcMzUxXDM1MVwzNzdwcHBcMzc3cXFxXDM3N3FxcVwzNzdycnJcMzc3cnJyXDM3N3MiCisgICJzc1wzNzdzc3NcMzc3c3NzXDM3N3R0dFwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0XDM2NCIKKyAgIlwzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzYzXDM2M1wzNjNcMzc3XDM0NVwzNDVcMzQ1IgorICAiXDM3N1wzNDZcMzQ2XDM0NlwzNzdcMzQ3XDM0N1wzNDdcMzc3b29vXDM3N1wzNTFcMzUxXDM1MVwzNzdcMzUxXDM1MVwzNTEiCisgICJcMzc3XDM1MlwzNTJcMzUyXDM3N1wzNTNcMzUzXDM1M1wzNzdcMzU0XDM1NFwzNTRcMzc3XDM1NVwzNTVcMzU1XDM3NyIKKyAgIlwzNTZcMzU2XDM1NlwzNzdcMzU3XDM1N1wzNTdcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNTZcMzU2XDM1NlwzNzdcMzYwIgorICAiXDM2MFwzNjBcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjUiCisgICJcMzY1XDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzQ2XDM0NiIKKyAgIlwzNDZcMzc3XDM0N1wzNDdcMzQ3XDM3N1wzNTBcMzUwXDM1MFwzNzdcMzUxXDM1MVwzNTFcMzc3XDM1MlwzNTJcMzUyIgorICAiXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzUzXDM1M1wzNTNcMzc3XDIwNlwyMDZcMjA2XDM3N3JyclwzNzdycnJcMzc3c3MiCisgICJzXDM3N3Nzc1wzNzd0dHRcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NCIKKyAgIlwzNjRcMzY0XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjZcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjciCisgICJcMFwwXDBcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNDdcMzQ3XDM0N1wzNzdcMzUwXDM1MFwzNTBcMzc3XDM1MVwzNTFcMzUxIgorICAiXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzUzXDM1M1wzNTNcMzc3XDM1NFwzNTRcMzU0XDM3N1wzNTRcMzU0XDM1NFwzNzciCisgICJcMzU1XDM1NVwzNTVcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTdcMzU3XDM1N1wzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MSIKKyAgIlwzNjFcMzYxXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjVcMzY1IgorICAiXDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMFwwXDBcMzc3XDAiCisgICJcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM1MFwzNTBcMzUwXDM3N1wzNTFcMzUxXDM1MSIKKyAgIlwzNzdcMzUyXDM1MlwzNTJcMzc3XDM1M1wzNTNcMzUzXDM3N1wzNTRcMzU0XDM1NFwzNzdcMzU1XDM1NVwzNTVcMzc3IgorICAiXDM1NlwzNTZcMzU2XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU3XDM1N1wzNTdcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjEiCisgICJcMzYxXDM2MVwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NSIKKyAgIlwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwIgorICAiXDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzUxXDM1MVwzNTEiCisgICJcMzc3XDM1MlwzNTJcMzUyXDM3N1wzNTNcMzUzXDM1M1wzNzdcMzU0XDM1NFwzNTRcMzc3XDM1NVwzNTVcMzU1XDM3NyIKKyAgIlwzNTZcMzU2XDM1NlwzNzdcMzU3XDM1N1wzNTdcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxIgorICAiXDM2MVwzNjFcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjUiCisgICJcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzBcMzcwXDM3MCIKKyAgIlwzNzdcMzcxXDM3MVwzNzFcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM2NVwzNjVcMzY1IgorICAiXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzUzXDM1M1wzNTNcMzc3XDMwM1wzMDNcMzAzXDM3N3JyclwzNzdcMzI3XDMyN1wzMjciCisgICJcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MlwzNjJcMzYyXDM3NyIKKyAgIlwzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY2IgorICAiXDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MlwzNzIiCisgICJcMzcyXDM3N1wzNzJcMzcyXDM3MlwzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzY2XDM2NiIKKyAgIlwzNjZcMzc3XDM1M1wzNTNcMzUzXDM3N1wzNTRcMzU0XDM1NFwzNzdycnJcMzc3XDM1NlwzNTZcMzU2XDM3N3Nzc1wzNzciCisgICJcMzYwXDM2MFwzNjBcMzc3XDM2MVwzNjFcMzYxXDM3N3R0dFwzNzd1dXVcMzc3XDIwM1wyMDNcMjAzXDM3N3V1dVwzNzciCisgICJ2dnZcMzc3dnZ2XDM3N3d3d1wzNzd3d3dcMzc3eHh4XDM3N1wzNzJcMzcyXDM3MlwzNzdcMzczXDM3M1wzNzNcMzc3XDM3NCIKKyAgIlwzNzRcMzc0XDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNjdcMzY3XDM2N1wzNzdcMzU1IgorICAiXDM1NVwzNTVcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzMwXDMzMFwzMzBcMzc3c3NzXDM3N1wzNjEiCisgICJcMzYxXDM2MVwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NSIKKyAgIlwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwIgorICAiXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcyXDM3MlwzNzJcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzRcMzc0XDM3NFwzNzciCisgICJcMzc1XDM3NVwzNzVcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM2N1wzNjdcMzY3XDM3NyIKKyAgIlwzNTZcMzU2XDM1NlwzNzdcMzU3XDM1N1wzNTdcMzc3XDMzMFwzMzBcMzMwXDM3N3Nzc1wzNzdcMzMyXDMzMlwzMzJcMzc3IgorICAiXDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzd1dXVcMzc3dnZ2XDM3N3Z2dlwzNzd3d3dcMzc3d3d3XDM3N3ciCisgICJ3d1wzNzd4eHhcMzc3eHh4XDM3N1wzNzNcMzczXDM3M1wzNzdcMzc0XDM3NFwzNzRcMzc3XDM3NVwzNzVcMzc1XDM3NyIKKyAgIlwzNzZcMzc2XDM3NlwzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzcwXDM3MFwzNzBcMzc3IgorICAiXDM2MFwzNjBcMzYwXDM3N1wzNjFcMzYxXDM2MVwzNzd0dHRcMzc3dHR0XDM3N3V1dVwzNzdcMzY0XDM2NFwzNjRcMzc3IgorICAiXDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzEiCisgICJcMzcxXDM3MVwzNzdcMzcyXDM3MlwzNzJcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzNcMzczXDM3M1wzNzdcMzc0XDM3NCIKKyAgIlwzNzRcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzZcMzc2XDM3NlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzYxXDM2MVwzNjEiCisgICJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NFwzNjRcMzY0XDM3NyIKKyAgIlwzNjVcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcxIgorICAiXDM3MVwzNzFcMzc3XDM3MlwzNzJcMzcyXDM3N1wzNzNcMzczXDM3M1wzNzdcMzc0XDM3NFwzNzRcMzc3XDM3NVwzNzUiCisgICJcMzc1XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzc2XDM3NlwzNzZcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM2MlwzNjJcMzYyIgorICAiXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjVcMzY1XDM2NVwzNzciCisgICJcMzY2XDM2NlwzNjZcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MSIKKyAgIlwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzczXDM3M1wzNzNcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzVcMzc1IgorICAiXDM3NVwzNzdcMzc2XDM3NlwzNzZcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNTRcMzU0XDM1NFwzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMCIKKyAgIlwyMzJcMzExXDMxMVwzMTFcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzY1XDM2NVwzNjVcMzc3IgorICAiXDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzEiCisgICJcMzcxXDM3MVwzNzdcMzcyXDM3MlwzNzJcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzRcMzc0XDM3NFwzNzdcMzc1XDM3NSIKKyAgIlwzNzVcMzc3XDM3NlwzNzZcMzc2XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDI3NVwyNzVcMjc1XDM3N1wwXDBcMFwzMjRcMFwwXDAiCisgICI6XDBcMFwwXDI2XDBcMFwwXDM0XDBcMFwwXDI0M1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzMjRcMFwwXDBZXDBcMFwwLVwwXDBcMFwyMFwwXDBcMFw2XDBcMFwwXDI0XDBcMFwwKVwwXDBcMCIiOFwwIgorICAiXDBcMDxcMFwwXDA9XDBcMFwwPVwwXDBcMD1cMFwwXDA9XDBcMFwwPVwwXDBcMD1cMFwwXDA9XDBcMFwwPVwwXDBcMD0iCisgICJcMFwwXDA9XDBcMFwwPVwwXDBcMD1cMFwwXDA9XDBcMFwwPVwwXDBcMD1cMFwwXDAiIjlcMFwwXDAtXDBcMFwwXDMxXDAiCisgICJcMFwwXDdcMFwwXDBcMVwwXDBcMFw2XDBcMFwwXDE2XDBcMFwwXDI0XDBcMFwwXDI3XDBcMFwwXDI3XDBcMFwwXDI3XDAiCisgICJcMFwwXDI3XDBcMFwwXDI3XDBcMFwwXDI3XDBcMFwwXDI3XDBcMFwwXDI3XDBcMFwwXDI3XDBcMFwwXDI3XDBcMFwwXDI3IgorICAiXDBcMFwwXDI3XDBcMFwwXDI3XDBcMFwwXDI3XDBcMFwwXDI3XDBcMFwwXDI3XDBcMFwwXDI1XDBcMFwwXDIwXDBcMFwwIgorICAiXDdcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwyXDBcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDAiCisgICJcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMCIKKyAgIlwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMFwyXDBcMFwwXDFcMFwwXDBcMCJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfdGV4dF91bmluZGVudCkKKyNlbmRpZgorI2lmZGVmIF9fR05VQ19fCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX3RleHRfdW5pbmRlbnRbXSBfX2F0dHJpYnV0ZV9fICgoX19hbGlnbmVkX18gKDQpKSkgPSAKKyNlbHNlCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX3RleHRfdW5pbmRlbnRbXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICgyMzA0KSAqLworICAiXDBcMFwxMVwzMCIKKyAgLyogcGl4ZGF0YV90eXBlICgweDEwMTAwMDIpICovCisgICJcMVwxXDBcMiIKKyAgLyogcm93c3RyaWRlICg5NikgKi8KKyAgIlwwXDBcMGAiCisgIC8qIHdpZHRoICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogaGVpZ2h0ICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwyN1wwXDBcMFwyMjRcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMjMyIgorICAiXDBcMFwwJ1wwXDBcMFw2XDBcMFwwXDFcMFwwXDBcMjI0XDM0MlwzNDJcMzQyXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYyIgorICAiXDM2MlwzNjJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2M1wzNjMiCisgICJcMzYzXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjRcMzY0XDM2NCIKKyAgIlwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjZcMzc3IgorICAiXDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY3XDM2N1wzNjdcMzc3XDM2NFwzNjRcMzY0XDM3N1wzMzMiCisgICJcMzMzXDMzM1wzNzdcMFwwXDBcMjQzXDBcMFwwXDI1XDBcMFwwXDZcMFwwXDBcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNDAiCisgICJcMzQwXDM0MFwzNzdcMzQwXDM0MFwzNDBcMzc3XDM0MVwzNDFcMzQxXDM3N1wzNDJcMzQyXDM0MlwzNzdcMzQzXDM0MyIKKyAgIlwzNDNcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDVcMzQ1XDM0NVwzNzdcMjU2XDI1NlwyNTZcMzc3XDM0N1wzNDdcMzQ3IgorICAiXDM3N1wzNTBcMzUwXDM1MFwzNzdcMzUwXDM1MFwzNTBcMzc3XDM1MVwzNTFcMzUxXDM3N1wzNTJcMzUyXDM1MlwzNzciCisgICJcMzUzXDM1M1wzNTNcMzc3XDM1NFwzNTRcMzU0XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NyIKKyAgIlwzNTdcMzU3XDM3N1wzNDNcMzQzXDM0M1wzNzdcMFwwXDBcMzc3XDBcMFwwKVwwXDBcMFwxNlwwXDBcMFwzNzdcMzYyIgorICAiXDM2MlwzNjJcMzc3XDM0MVwzNDFcMzQxXDM3N1wzNDFcMzQxXDM0MVwzNzdcMzQyXDM0MlwzNDJcMzc3XDM0M1wzNDMiCisgICJcMzQzXDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ1XDM0NVwzNDVcMzc3XDM0NlwzNDZcMzQ2XDM3N1wzNDdcMzQ3XDM0NyIKKyAgIlwzNzdcMzUwXDM1MFwzNTBcMzc3XDM1MVwzNTFcMzUxXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzUyXDM1MlwzNTJcMzc3IgorICAiXDM1M1wzNTNcMzUzXDM3N1wzNTRcMzU0XDM1NFwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTciCisgICJcMzU3XDM1N1wzNzdcMzYwXDM2MFwzNjBcMzc3XDM0N1wzNDdcMzQ3XDM3N1wwXDBcMFwzNzdcMFwwXDAiIjhcMFwwXDAiCisgICJcMjVcMFwwXDBcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNDJcMzQyXDM0MlwzNzdcMjU0XDI1NFwyNTRcMzc3XDI1NFwyNTQiCisgICJcMjU0XDM3N1wyNTVcMjU1XDI1NVwzNzdcMjU2XDI1NlwyNTZcMzc3XDI1NlwyNTZcMjU2XDM3N1wyNTdcMjU3XDI1NyIKKyAgIlwzNzdcMjYwXDI2MFwyNjBcMzc3XDI2MVwyNjFcMjYxXDM3N1wyNjJcMjYyXDI2MlwzNzdcMjYyXDI2MlwyNjJcMzc3IgorICAiXDI2M1wyNjNcMjYzXDM3N1wyNjNcMjYzXDI2M1wzNzdcMjY0XDI2NFwyNjRcMzc3XDI2NVwyNjVcMjY1XDM3N1wyNjUiCisgICJcMjY1XDI2NVwzNzdcMjY2XDI2NlwyNjZcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNTBcMzUwXDM1MFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzYzXDM2M1wzNjNcMzc3XDM0M1wzNDNcMzQzXDM3N1wzNDRcMzQ0XDM0NCIKKyAgIlwzNzdcMzQ1XDM0NVwzNDVcMzc3XDM0NVwzNDVcMzQ1XDM3N1wzNDZcMzQ2XDM0NlwzNzdcMzQ3XDM0N1wzNDdcMzc3IgorICAiXDM1MFwzNTBcMzUwXDM3N1wzNTFcMzUxXDM1MVwzNzdcMzUyXDM1MlwzNTJcMzc3XDM1M1wzNTNcMzUzXDM3N1wzNTQiCisgICJcMzU0XDM1NFwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU3XDM1NyIKKyAgIlwzNTdcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzYyXDM2MlwzNjJcMzc3XDM1MVwzNTFcMzUxIgorICAiXDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzQ0XDM0NFwzNDQiCisgICJcMzc3XDM0NVwzNDVcMzQ1XDM3N1wzNDZcMzQ2XDM0NlwzNzdcMzQ3XDM0N1wzNDdcMzc3XDM0N1wzNDdcMzQ3XDM3NyIKKyAgIlwzNTBcMzUwXDM1MFwzNzdcMzUxXDM1MVwzNTFcMzc3XDM1MlwzNTJcMzUyXDM3N1wzNTNcMzUzXDM1M1wzNzdcMzU0IgorICAiXDM1NFwzNTRcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU3XDM1N1wzNTdcMzc3XDM1N1wzNTciCisgICJcMzU3XDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2MyIKKyAgIlwzNzdcMzUyXDM1MlwzNTJcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM2M1wzNjNcMzYzIgorICAiXDM3N1wzNDVcMzQ1XDM0NVwzNzdcMzQ2XDM0NlwzNDZcMzc3XDM0N1wzNDdcMzQ3XDM3N1wzNTBcMzUwXDM1MFwzNzciCisgICJcMzUxXDM1MVwzNTFcMzc3XDM1MVwzNTFcMzUxXDM3N1wzNTJcMzUyXDM1MlwzNzd1dXVcMzc3dnZ2XDM3N3Z2dlwzNzciCisgICJ3d3dcMzc3d3d3XDM3N3h4eFwzNzd4eHhcMzc3eHh4XDM3N3l5eVwzNzd5eXlcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNTMiCisgICJcMzUzXDM1M1wzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzY0XDM2NFwzNjRcMzc3XDM0NiIKKyAgIlwzNDZcMzQ2XDM3N1wzNDdcMzQ3XDM0N1wzNzdcMjUyXDI1MlwyNTJcMzc3XDM1MVwzNTFcMzUxXDM3N1wzNTJcMzUyIgorICAiXDM1MlwzNzdcMzUyXDM1MlwzNTJcMzc3XDM1M1wzNTNcMzUzXDM3N1wzNTRcMzU0XDM1NFwzNzdcMzU1XDM1NVwzNTUiCisgICJcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTdcMzU3XDM1N1wzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MVwzNjFcMzYxXDM3NyIKKyAgIlwzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY1IgorICAiXDM2NVwzNjVcMzc3XDM1NFwzNTRcMzU0XDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNjQiCisgICJcMzY0XDM2NFwzNzdcMzQ3XDM0N1wzNDdcMzc3XDI1MlwyNTJcMjUyXDM3N1wwXDBcMFwzNzdcMzUyXDM1MlwzNTJcMzc3IgorICAiXDM1M1wzNTNcMzUzXDM3N1wzNTRcMzU0XDM1NFwzNzdcMzU0XDM1NFwzNTRcMzc3dnZ2XDM3N3d3d1wzNzd3d3dcMzc3IgorICAieHh4XDM3N3h4eFwzNzd5eXlcMzc3eXl5XDM3N3p6elwzNzd6enpcMzc3enp6XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzU1IgorICAiXDM1NVwzNTVcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM2NVwzNjVcMzY1XDM3N1wyNTIiCisgICJcMjUyXDI1MlwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wzNTZcMzU2IgorICAiXDM1NlwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjEiCisgICJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3NyIKKyAgIlwzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNTZcMzU2XDM1NlwzNzdcMFwwIgorICAiXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM1MVwzNTFcMzUxXDM3N1wyNTMiCisgICJcMjUzXDI1M1wzNzdcMFwwXDBcMzc3XDM1NFwzNTRcMzU0XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU2XDM1NlwzNTZcMzc3IgorICAiXDM1N1wzNTdcMzU3XDM3N3h4eFwzNzd4eHhcMzc3eHh4XDM3N3l5eVwzNzd5eXlcMzc3enp6XDM3N3p6elwzNzd7e3siCisgICJcMzc3e3t7XDM3N3x8fFwzNzdcMzcwXDM3MFwzNzBcMzc3XDM1N1wzNTdcMzU3XDM3N1wwXDBcMFwzNzdcMFwwXDA9XDAiCisgICJcMFwwXDI3XDBcMFwwXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzUyXDM1MlwzNTJcMzc3XDM1M1wzNTNcMzUzXDM3N1wyNTUiCisgICJcMjU1XDI1NVwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTdcMzU3XDM1N1wzNzdcMzYwXDM2MCIKKyAgIlwzNjBcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjNcMzYzIgorICAiXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzciCisgICJcMzcwXDM3MFwzNzBcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzYwXDM2MFwzNjBcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNTNcMzUzXDM1M1wzNzdcMzU0IgorICAiXDM1NFwzNTRcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU3XDM1N1wzNTdcMzc3XDM2MFwzNjAiCisgICJcMzYwXDM3N1wzNjFcMzYxXDM2MVwzNzd5eXlcMzc3eXl5XDM3N3p6elwzNzd6enpcMzc3enp6XDM3N1wzNjZcMzY2XDM2NiIKKyAgIlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcyXDM3MlwzNzJcMzc3IgorICAiXDM3M1wzNzNcMzczXDM3N1wzNjJcMzYyXDM2MlwzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzciCisgICJcMzY3XDM2N1wzNjdcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NyIKKyAgIlwzNTdcMzU3XDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzIgorICAiXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjYiCisgICJcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MlwzNzJcMzcyXDM3NyIKKyAgIlwzNzNcMzczXDM3M1wzNzdcMzc0XDM3NFwzNzRcMzc3XDM2M1wzNjNcMzYzXDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMCIKKyAgIlwwXDI3XDBcMFwwXDM3N1wzNjdcMzY3XDM2N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNTdcMzU3IgorICAiXDM1N1wzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjMiCisgICJcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3NyIKKyAgIlwzNjdcMzY3XDM2N1wzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzczIgorICAiXDM3M1wzNzNcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzY0XDM2NFwzNjRcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMjY3XDI2N1wyNjciCisgICJcMzc3XDI3MFwyNzBcMjcwXDM3N1wyNzBcMjcwXDI3MFwzNzdcMjcwXDI3MFwyNzBcMzc3XDI3MVwyNzFcMjcxXDM3NyIKKyAgIlwyNzJcMjcyXDI3MlwzNzdcMjczXDI3M1wyNzNcMzc3XDI3M1wyNzNcMjczXDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc1IgorICAiXDI3NVwyNzVcMzc3XDI3NlwyNzZcMjc2XDM3N1wyNzZcMjc2XDI3NlwzNzdcMjc2XDI3NlwyNzZcMzc3XDI3N1wyNzciCisgICJcMjc3XDM3N1wzMDBcMzAwXDMwMFwzNzdcMzAxXDMwMVwzMDFcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNjVcMzY1XDM2NSIKKyAgIlwzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzcwXDM3MFwzNzBcMzc3XDM2MVwzNjFcMzYxIgorICAiXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjRcMzY0XDM2NFwzNzciCisgICJcMzY1XDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MSIKKyAgIlwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzczXDM3M1wzNzNcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzVcMzc1IgorICAiXDM3NVwzNzdcMzc1XDM3NVwzNzVcMzc3XDM3NlwzNzZcMzc2XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM2NVwzNjVcMzY1XDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNjJcMzYyXDM2MiIKKyAgIlwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3IgorICAiXDM2NlwzNjZcMzY2XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDI3NFwyNzRcMjc0XDM3N1wzNzEiCisgICJcMzcxXDM3MVwzNzdcMzcyXDM3MlwzNzJcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzRcMzc0XDM3NFwzNzdcMzc1XDM3NSIKKyAgIlwzNzVcMzc3XDM3NlwzNzZcMzc2XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzMxXDMzMVwzMzFcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDAiCisgICJcMjMyXDMxMVwzMTFcMzExXDM3N1wzMzJcMzMyXDMzMlwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1M1wzNTNcMzUzXDM3NyIKKyAgIlwzNTRcMzU0XDM1NFwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU3IgorICAiXDM1N1wzNTdcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjMiCisgICJcMzYzXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NSIKKyAgIlwzNzdcMzY1XDM2NVwzNjVcMzc3XDM0NFwzNDRcMzQ0XDM3N1wyNzVcMjc1XDI3NVwzNzdcMFwwXDBcMzI0XDBcMFwwIgorICAiOlwwXDBcMFwyNlwwXDBcMFwzNFwwXDBcMFwyNDNcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzI0XDBcMFwwWVwwXDBcMC1cMFwwXDBcMjBcMFwwXDBcNlwwXDBcMFwyNFwwXDBcMClcMFwwXDAiIjhcMCIKKyAgIlwwXDA8XDBcMFwwPVwwXDBcMD1cMFwwXDA9XDBcMFwwPVwwXDBcMD1cMFwwXDA9XDBcMFwwPVwwXDBcMD1cMFwwXDA9IgorICAiXDBcMFwwPVwwXDBcMD1cMFwwXDA9XDBcMFwwPVwwXDBcMD1cMFwwXDA9XDBcMFwwIiI5XDBcMFwwLVwwXDBcMFwzMVwwIgorICAiXDBcMFw3XDBcMFwwXDFcMFwwXDBcNlwwXDBcMFwxNlwwXDBcMFwyNFwwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwIgorICAiXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyNyIKKyAgIlwwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyNVwwXDBcMFwyMFwwXDBcMCIKKyAgIlw3XDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMlwwXDBcMFwzXDBcMFwwXDNcMFwwXDBcM1wwIgorICAiXDBcMFwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDNcMFwwXDAiCisgICJcM1wwXDBcMFwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDNcMFwwXDBcMlwwXDBcMFwxXDBcMFwwXDAifTsKKworCisvKiBHZGtQaXhidWYgUkdCQSBDLVNvdXJjZSBpbWFnZSBkdW1wICovCisKKyNpZmRlZiBfX1NVTlBST19DCisjcHJhZ21hIGFsaWduIDQgKHN0b2NrX3RpbWVyKQorI2VuZGlmCisjaWZkZWYgX19HTlVDX18KK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfdGltZXJbXSBfX2F0dHJpYnV0ZV9fICgoX19hbGlnbmVkX18gKDQpKSkgPSAKKyNlbHNlCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX3RpbWVyW10gPSAKKyNlbmRpZgoreyAiIgorICAvKiBQaXhidWYgbWFnaWMgKDB4NDc2NDZiNTApICovCisgICJHZGtQIgorICAvKiBsZW5ndGg6IGhlYWRlciAoMjQpICsgcGl4ZWxfZGF0YSAoMjMwNCkgKi8KKyAgIlwwXDBcMTFcMzAiCisgIC8qIHBpeGRhdGFfdHlwZSAoMHgxMDEwMDAyKSAqLworICAiXDFcMVwwXDIiCisgIC8qIHJvd3N0cmlkZSAoOTYpICovCisgICJcMFwwXDBgIgorICAvKiB3aWR0aCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIGhlaWdodCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIHBpeGVsX2RhdGE6ICovCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDIzXDAiCisgICJcMFwwb1wwXDBcMFwyNjZcMFwwXDBcMzQ0XDBcMFwwXDM3M1wwXDBcMFwzNzNcMFwwXDBcMzQ1XDBcMFwwXDI3MFwwXDAiCisgICJcMHRcMFwwXDBcMzFcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMjA1XDBcMFwwIgorICAiXDM3M1wyMDdcMjA3XDIwN1wzNzdcMzAwXDMwMFwzMDBcMzc3XDMyM1wzMjNcMzIzXDM3N1wzMjZcMzI2XDMyNlwzNzciCisgICJcMzI1XDMyNVwzMjVcMzc3XDMyMlwzMjJcMzIyXDM3N1wyNzVcMjc1XDI3NVwzNzdcMjA0XDIwNFwyMDRcMzc3XDBcMCIKKyAgIlwwXDM3NFwwXDBcMFwyMTdcMFwwXDBcMTBcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3W1wyMTBcMjYyXDM3N1wwXDBcMFwzNzdcMzI0XDMyNCIKKyAgIlwzMjRcMzc3XDM0MlwzNDJcMzQyXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzc0XDM3NFwzNzRcMzc3XDM3NFwzNzRcMzc0IgorICAiXDM3N1wzNzRcMzc0XDM3NFwzNzdcMzczXDM3M1wzNzNcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNTRcMzU0XDM1NFwzNzciCisgICJcMzQxXDM0MVwzNDFcMzc3XDIyMFwyMjBcMjIwXDM3N1wwXDBcMFwzMjRcMFwwXDAiIjZcMFwwXDBcM1wwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDIzNiIKKyAgIlwyNzBcMzIxXDM3N1BcMjAwXDI1NVwzNzdcMFwwXDBcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzc1IgorICAiXDM3NVwzNzVcMzc3XDMxNlwzMTZcMzE2XDM3N1wzMTBcMzEwXDMxMFwzNzdcMzc0XDM3NFwzNzRcMzc3XDM3M1wzNzMiCisgICJcMzczXDM3N1wzNzNcMzczXDM3M1wzNzdcMzY3XDM2N1wzNjdcMzc3XDM1MFwzNTBcMzUwXDM3N1wyNzJcMjcyXDI3MiIKKyAgIlwzNzdcMFwwXDBcMzUyXDBcMFwwXDc3XDBcMFwwXDVcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wyNzdcMzIxXDM0MSIKKyAgIlwzNzdcMjU3XDMwNVwzMzJcMzc3XDI2MlwzMDdcMzMzXDM3N1wyNjZcMzEyXDMzNVwzNzdcMjQ0XDI3NVwzMjVcMzc3IgorICAiXDIzNFwyNjdcMzIxXDM3N1BcMjAwXDI1NVwzNzdcMTBcMTVcMjFcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzVcMzc1XDM3NSIKKyAgIlwzNzdcMjc3XDI3N1wyNzdcMzc3XDI3MFwyNzBcMjcwXDM3N1wzNzNcMzczXDM3M1wzNzdcMzczXDM3M1wzNzNcMzc3IgorICAiXDM3MlwzNzJcMzcyXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcwXDM3MFwzNzBcMzc3XDM1MFwzNTBcMzUwXDM3N1wzMDEiCisgICJcMzAxXDMwMVwzNzdcMFwwXDBcMzMwXDBcMFwwXDMyXDBcMFwwXDRcMFwwXDBcMFwwXDBcMFwzNzdcMzAyXDMyMlwzNDEiCisgICJcMzc3XDI0MFwyNzJcMzIzXDM3N1wyMzRcMjY3XDMyMVwzNzdcMjMyXDI2NVwzMTdcMzc3XDI0MFwyNzJcMzIzXDM3NyIKKyAgIlwyMzRcMjY3XDMyMVwzNzdcMjI3XDI2M1wzMTZcMzc3X1wyMTNcMjY0XDM3N1wwXDBcMFwzNzdcMzc1XDM3NVwzNzVcMzc3IgorICAiXDI2MFwyNjBcMjYwXDM3N1wyNTFcMjUxXDI1MVwzNzdcMzczXDM3M1wzNzNcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzEiCisgICJcMzcxXDM3MVwzNzdcMzcxXDM3MVwzNzFcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzQ1XDM0NSIKKyAgIlwzNDVcMzc3XDIxN1wyMTdcMjE3XDM3N1wwXDBcMFwyNDJcMFwwXDBcMjBcMFwwXDBcMVwwXDBcMFwzNzdcMzEwXDMyNiIKKyAgIlwzNDRcMzc3XDIzNlwyNzBcMzIxXDM3N1wyMzJcMjY1XDMxN1wzNzdcMjM0XDI2N1wzMjFcMzc3XDIzNFwyNjdcMzIxIgorICAiXDM3N1wyMzRcMjY3XDMyMVwzNzdcMjQwXDI3MlwzMjNcMzc3XDIyNVwyNjJcMzE2XDM3N0x5XDI0M1wzNzdcMFwwXDAiCisgICJcMzc3XDI0MVwyNDFcMjQxXDM3N1wyMzFcMjMxXDIzMVwzNzdcMzczXDM3M1wzNzNcMzc3XDM3MlwzNzJcMzcyXDM3NyIKKyAgIlwzNzFcMzcxXDM3MVwzNzdcMzcwXDM3MFwzNzBcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzYzIgorICAiXDM2M1wzNjNcMzc3XDM1MFwzNTBcMzUwXDM3N1wwXDBcMFwzNzRcMFwwXDA+XDBcMFwwXDExXDBcMFwwXDM3N2dcMjEzIgorICAiXDI1NFwzNzdcNzdlXDIxMFwzNzdcNzdlXDIxMFwzNzdcNzdlXDIxMFwzNzdcNzdlXDIxMFwzNzdcNzdlXDIxMFwzNzciCisgICJcNzdlXDIxMFwzNzcqQ1tcMzc3XDBcMFwwXDM3N1wzNzVcMzc1XDM3NVwzNzdcMjIxXDIyMVwyMjFcMzc3XDIxMlwyMTIiCisgICJcMjEyXDM3N1wzNzNcMzczXDM3M1wzNzdcMzcyXDM3MlwzNzJcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzBcMzcwXDM3MCIKKyAgIlwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjNcMzYzXDM2M1wzNzdcMzU1XDM1NVwzNTVcMzc3IgorICAiXDIxNlwyMTZcMjE2XDM3N1wwXDBcMFwyMjdcMFwwXDBcMjVcMFwwXDBcMzc3ZFwyMDdcMjQ3XDM3NzdZeFwzNzc3WXgiCisgICJcMzc3N1l4XDM3N1w3N2VcMjEwXDM3N1w3N2VcMjEwXDM3NypDW1wzNzdcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzZcMzc2XDM3NlwzNzdcMjAxXDIwMVwyMDFcMzc3enp6XDM3N1wzNzNcMzczXDM3M1wzNzdcMzcxXDM3MVwzNzFcMzc3IgorICAiXDM3MFwzNzBcMzcwXDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjIiCisgICJcMzYyXDM2MlwzNzdcMzU3XDM1N1wzNTdcMzc3XDMyM1wzMjNcMzIzXDM3N1wwXDBcMFwzMTRcMFwwXDAoXDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcNzdlXDIxMFwzNzcqQ1tcMzc3XDBcMFwwXDM3NyIKKyAgIlwzNzVcMzc1XDM3NVwzNzdcMzc2XDM3NlwzNzZcMzc3XDM3NVwzNzVcMzc1XDM3N3JyclwzNzdra2tcMzc3XDM1NlwzNTYiCisgICJcMzU2XDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcwXDM3MFwzNzBcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjRcMzY0XDM2NCIKKyAgIlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNTdcMzU3XDM1N1wzNzdcMzY3XDM2N1wzNjdcMzc3IgorICAiXDBcMFwwXDM1NFwwXDBcMCIiOVwwXDBcMFwwXDBcMFwwXDM3M1wzNTBcMzUwXDM1MFwzNzdcMzcyXDM3MlwzNzJcMzc3IgorICAiXDBcMFwwXDM3NypDW1wzNzdcMFwwXDBcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzRcMzc0XDM3NFwzNzdcMzc0XDM3NFwzNzQiCisgICJcMzc3XDM3NFwzNzRcMzc0XDM3N2NjY1wzNzdbW1tcMzc3XDMxM1wzMTNcMzEzXDM3N1wzNDVcMzQ1XDM0NVwzNzdcMzY3IgorICAiXDM2N1wzNjdcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjRcMzY0XDM2NFwzNzdcMzYyXDM2MlwzNjJcMzc3XDI3M1wyNzMiCisgICJcMjczXDM3N1wzNTZcMzU2XDM1NlwzNzdcMzcwXDM3MFwzNzBcMzc3XDBcMFwwXDM3NFwwXDBcMERcMFwwXDBcMFwwXDAiCisgICJcMFwzNzNcMzM2XDMzNlwzMzZcMzc3XDM3MVwzNzFcMzcxXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDM3M1wzNzNcMzczIgorICAiXDM3N1wzNzNcMzczXDM3M1wzNzdcMzczXDM3M1wzNzNcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzNcMzczXDM3M1wzNzciCisgICJcMjIxXDIyMVwyMjFcMzc3TExMXDM3N0VFRVwzNzdiYmJcMzc3XDMwMFwzMDBcMzAwXDM3N1wzMzVcMzM1XDMzNVwzNzciCisgICJcMzYyXDM2MlwzNjJcMzc3XDM2MVwzNjFcMzYxXDM3N1wyNjVcMjY1XDI2NVwzNzdcMzU1XDM1NVwzNTVcMzc3XDM3MCIKKyAgIlwzNzBcMzcwXDM3N1wwXDBcMFwzNzRcMFwwXDBKXDBcMFwwXDBcMFwwXDBcMzQ2XDMzMlwzMzJcMzMyXDM3N1wzNzBcMzcwIgorICAiXDM3MFwzNzdcMFwwXDBcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MiIKKyAgIlwzNzJcMzcyXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzcyXDM3MlwzNzJcMzc3XDM1MlwzNTJcMzUyXDM3N1wyNzZcMjc2IgorICAiXDI3NlwzNzdkZGRcMzc3Li4uXDM3NycnJ1wzNzdJSUlcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNTdcMzU3XDM1N1wzNzciCisgICJcMzU1XDM1NVwzNTVcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNjdcMzY3XDM2N1wzNzdcMFwwXDBcMzU1XDBcMFwwSlwwXDAiCisgICJcMFwwXDBcMFwwXDI3M1wyNzVcMjc1XDI3NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwIgorICAiXDM3MFwzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcwXDM3MFwzNzAiCisgICJcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY2XDM2NlwzNjZcMzc3XDMzNVwzMzVcMzM1XDM3NyIKKyAgIlwyNzZcMjc2XDI3NlwzNzdXV1dcMzc3eHh4XDM3N1wzNTdcMzU3XDM1N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NFwzNTQiCisgICJcMzU0XDM3N1wzNzFcMzcxXDM3MVwzNzdcMzIzXDMyM1wzMjNcMzc3XDBcMFwwXDMxNlwwXDBcMERcMFwwXDBcMFwwXDAiCisgICJcMHRcMTc3XDE3N1wxNzdcMzc3XDM0MVwzNDFcMzQxXDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2NiIKKyAgIlwzNjZcMzY2XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjZcMzY2IgorICAiXDM2NlwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjRcMzY0XDM2NFwzNzdcMzYyXDM2MlwzNjIiCisgICJcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNTdcMzU3XDM1N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NVwzNTVcMzU1XDM3NyIKKyAgIlwzNjRcMzY0XDM2NFwzNzdcMzcwXDM3MFwzNzBcMzc3XDIxNFwyMTRcMjE0XDM3N1wwXDBcMFwyMzdcMFwwXDAiIjlcMCIKKyAgIlwwXDBcMFwwXDBcMFwzMVwwXDBcMFwzNzRcMzIwXDMyMFwzMjBcMzc3XDM1M1wzNTNcMzUzXDM3N1wzNjRcMzY0XDM2NCIKKyAgIlwzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY0XDM2NFwzNjRcMzc3IgorICAiXDM2NFwzNjRcMzY0XDM3N1wzNjNcMzYzXDM2M1wzNzdcMzYyXDM2MlwzNjJcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjAiCisgICJcMzYwXDM2MFwzNzdcMzU3XDM1N1wzNTdcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU0XDM1NCIKKyAgIlwzNTRcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNjFcMzYxXDM2MVwzNzdcMFwwXDBcMzc0XDBcMFwwX1wwXDBcMChcMFwwIgorICAiXDBcMFwwXDBcMFwyXDBcMFwwXDIxN1wyMTFcMjExXDIxMVwzNzdcMzI0XDMyNFwzMjRcMzc3XDM2MlwzNjJcMzYyXDM3NyIKKyAgIlwzNjJcMzYyXDM2MlwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYxIgorICAiXDM2MVwzNjFcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM1N1wzNTciCisgICJcMzU3XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NFwzNTRcMzU0XDM3N1wzNzFcMzcxXDM3MSIKKyAgIlwzNzdcMzcwXDM3MFwzNzBcMzc3XDIzMFwyMzBcMjMwXDM3N1wwXDBcMFwyNjBcMFwwXDBIXDBcMFwwXDI1XDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwxMFwwXDBcMFwzMjRcMjUzXDI1M1wyNTNcMzc3XDMyM1wzMjNcMzIzXDM3N1wzNjBcMzYwIgorICAiXDM2MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYwXDM2MFwzNjAiCisgICJcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNTdcMzU3XDM1N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NlwzNTZcMzU2XDM3NyIKKyAgIlwzNTVcMzU1XDM1NVwzNzdcMzU0XDM1NFwzNTRcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzA0IgorICAiXDMwNFwzMDRcMzc3XDBcMFwwXDMzNVwwXDBcMFFcMFwwXDAuXDBcMFwwXDExXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxIgorICAiXDBcMFwwIiI2XDBcMFwwXDM1MlwyNTNcMjUzXDI1M1wzNzdcMzIyXDMyMlwzMjJcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNTYiCisgICJcMzU2XDM1NlwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NlwzNTZcMzU2XDM3N1wyNTZcMjU2XDI1NlwzNzdcMjU1XDI1NSIKKyAgIlwyNTVcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTRcMzU0XDM1NFwzNzdcMzUzXDM1M1wzNTNcMzc3XDM3MFwzNzBcMzcwIgorICAiXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzAyXDMwMlwzMDJcMzc3XDBcMFwwXDM1NVwwXDBcMHBcMFwwXDA8XDBcMFwwXDIwIgorICAiXDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcNFwwXDBcMFw3N1wwXDBcMFwzMzBcMjAyXDIwMlwyMDIiCisgICJcMzc3XDMxNVwzMTVcMzE1XDM3N1wzMzFcMzMxXDMzMVwzNzdcMzU0XDM1NFwzNTRcMzc3XDM1NFwzNTRcMzU0XDM3NyIKKyAgIlwzNTRcMzU0XDM1NFwzNzdcMzU0XDM1NFwzNTRcMzc3XDM1M1wzNTNcMzUzXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzcwIgorICAiXDM3MFwzNzBcMzc3XDM2N1wzNjdcMzY3XDM3N1wyMTRcMjE0XDIxNFwzNzdcMFwwXDBcMzM1XDBcMFwwcVwwXDBcMEIiCisgICJcMFwwXDBcMzJcMFwwXDBcNFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcNVwwXDAiCisgICJcMFwzMlwwXDBcMFwyNDJcMFwwXDBcMzc0XDIxMFwyMTBcMjEwXDM3N1wzMTBcMzEwXDMxMFwzNzdcMzM1XDMzNVwzMzUiCisgICJcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzY3XDM2N1wzNjdcMzc3XDM2MVwzNjFcMzYxXDM3NyIKKyAgIlwzMDBcMzAwXDMwMFwzNzdcMFwwXDBcMzc0XDBcMFwwXDI2MFwwXDBcMFFcMFwwXDA8XDBcMFwwXDMyXDBcMFwwXDVcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFw0XDBcMFwwIgorICAiXDIwXDBcMFwwPlwwXDBcMFwyMjdcMFwwXDBcMzE0XDBcMFwwXDM1NFwwXDBcMFwzNzRcMFwwXDBcMzc0XDBcMFwwXDM1NSIKKyAgIlwwXDBcMFwzMTZcMFwwXDBcMjM3XDBcMFwwX1wwXDBcMEhcMFwwXDAuXDBcMFwwXDIwXDBcMFwwXDRcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMVwwXDBcMFwxMFwwXDBcMFwyNVwwXDBcMChcMFwwXDAiIjlcMFwwXDBEXDBcMFwwSlwwXDBcMEpcMFwwXDBEXDBcMCIKKyAgIlwwIiI5XDBcMFwwKFwwXDBcMFwyNVwwXDBcMFwxMFwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDFcMFwwXDBcNlwwXDBcMFwxMlwwXDBcMFwxNVwwXDBcMFwxN1wwXDBcMFwxN1wwXDBcMFwxNVwwXDBcMFwxMiIKKyAgIlwwXDBcMFw2XDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAifTsKKworCisvKiBHZGtQaXhidWYgUkdCQSBDLVNvdXJjZSBpbWFnZSBkdW1wICovCisKKyNpZmRlZiBfX1NVTlBST19DCisjcHJhZ21hIGFsaWduIDQgKHN0b2NrX3RpbWVyX3N0b3BwZWQpCisjZW5kaWYKKyNpZmRlZiBfX0dOVUNfXworc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja190aW1lcl9zdG9wcGVkW10gX19hdHRyaWJ1dGVfXyAoKF9fYWxpZ25lZF9fICg0KSkpID0gCisjZWxzZQorc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja190aW1lcl9zdG9wcGVkW10gPSAKKyNlbmRpZgoreyAiIgorICAvKiBQaXhidWYgbWFnaWMgKDB4NDc2NDZiNTApICovCisgICJHZGtQIgorICAvKiBsZW5ndGg6IGhlYWRlciAoMjQpICsgcGl4ZWxfZGF0YSAoMjMwNCkgKi8KKyAgIlwwXDBcMTFcMzAiCisgIC8qIHBpeGRhdGFfdHlwZSAoMHgxMDEwMDAyKSAqLworICAiXDFcMVwwXDIiCisgIC8qIHJvd3N0cmlkZSAoOTYpICovCisgICJcMFwwXDBgIgorICAvKiB3aWR0aCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIGhlaWdodCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIHBpeGVsX2RhdGE6ICovCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyM1wwXDAiCisgICJcMG9cMFwwXDBcMjY2XDBcMFwwXDM0NFwwXDBcMFwzNzNcMFwwXDBcMzczXDBcMFwwXDM0NVwwXDBcMFwyNzBcMFwwXDAiCisgICJ0XDBcMFwwXDMxXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMjA1XDBcMFwwXDM3M1wyMDciCisgICJcMjA3XDIwN1wzNzdcMzAwXDMwMFwzMDBcMzc3XDMyM1wzMjNcMzIzXDM3N1wzMjZcMzI2XDMyNlwzNzdcMzI1XDMyNSIKKyAgIlwzMjVcMzc3XDMyMlwzMjJcMzIyXDM3N1wyNzVcMjc1XDI3NVwzNzdcMjA0XDIwNFwyMDRcMzc3XDBcMFwwXDM3NFwwIgorICAiXDBcMFwyMTdcMFwwXDBcMTBcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDApXDBcMFwwXDMxNFwyMjNcMjIzXDIyM1wzNzdcMzI0XDMyNFwzMjRcMzc3IgorICAiXDM0MlwzNDJcMzQyXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzc0XDM3NFwzNzRcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzQiCisgICJcMzc0XDM3NFwzNzdcMzczXDM3M1wzNzNcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNTRcMzU0XDM1NFwzNzdcMzQxXDM0MSIKKyAgIlwzNDFcMzc3XDIyMFwyMjBcMjIwXDM3N1wwXDBcMFwzMjRcMFwwXDAiIjZcMFwwXDBcM1wwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMClcMFwwXDBcMzQ0XDI3N1wyNzdcMjc3XDM3N1wzMzZcMzM2IgorICAiXDMzNlwzNzdcMzYwXDM2MFwzNjBcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzc1XDM3NVwzNzUiCisgICJcMzc3XDMxNlwzMTZcMzE2XDM3N1wzMTBcMzEwXDMxMFwzNzdcMzc0XDM3NFwzNzRcMzc3XDM3M1wzNzNcMzczXDM3NyIKKyAgIlwzNzNcMzczXDM3M1wzNzdcMzY3XDM2N1wzNjdcMzc3XDM1MFwzNTBcMzUwXDM3N1wyNzJcMjcyXDI3MlwzNzdcMFwwIgorICAiXDBcMzUyXDBcMFwwXDc3XDBcMFwwXDVcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDMxNFwyNjdcMjY3XDI2N1wzNzdcMzQyXDM0MlwzNDJcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzVcMzc1XDM3NVwzNzciCisgICJcMzc1XDM3NVwzNzVcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzVcMzc1XDM3NVwzNzdcMjc3XDI3N1wyNzdcMzc3XDI3MCIKKyAgIlwyNzBcMjcwXDM3N1wzNzNcMzczXDM3M1wzNzdcMzczXDM3M1wzNzNcMzc3XDM3MlwzNzJcMzcyXDM3N1wzNzFcMzcxIgorICAiXDM3MVwzNzdcMzcwXDM3MFwzNzBcMzc3XDM1MFwzNTBcMzUwXDM3N1wzMDFcMzAxXDMwMVwzNzdcMFwwXDBcMzMwXDAiCisgICJcMFwwXDMyXDBcMFwwXDRcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMjA1XDIwN1wyMDdcMjA3XDM3N1wzMzYiCisgICJcMzM2XDMzNlwzNzdcMzczXDM3M1wzNzNcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzc1XDM3NSIKKyAgIlwzNzVcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzVcMzc1XDM3NVwzNzdcMjYwXDI2MFwyNjBcMzc3XDI1MVwyNTFcMjUxIgorICAiXDM3N1wzNzNcMzczXDM3M1wzNzdcMzczXDM3M1wzNzNcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzFcMzcxXDM3MVwzNzciCisgICJcMzY3XDM2N1wzNjdcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNDVcMzQ1XDM0NVwzNzdcMjE3XDIxN1wyMTdcMzc3XDBcMCIKKyAgIlwwXDI0MlwwXDBcMFwyMFwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMjNcMFwwXDBcMzczXDMyNFwzMjRcMzI0XDM3N1wzNjciCisgICJcMzY3XDM2N1wzNzdcMzc1XDM3NVwzNzVcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzc1XDM3NSIKKyAgIlwzNzVcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzVcMzc1XDM3NVwzNzdcMjQxXDI0MVwyNDFcMzc3XDIzMVwyMzFcMjMxIgorICAiXDM3N1wzNzNcMzczXDM3M1wzNzdcMzcyXDM3MlwzNzJcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzBcMzcwXDM3MFwzNzciCisgICJcMzY3XDM2N1wzNjdcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjNcMzYzXDM2M1wzNzdcMzUwXDM1MFwzNTBcMzc3XDBcMCIKKyAgIlwwXDM3NFwwXDBcMD5cMFwwXDBcMTFcMFwwXDBcMFwwXDBcMG9cMjA3XDIwN1wyMDdcMzc3XDM0MlwzNDJcMzQyXDM3NyIKKyAgIlwzNzRcMzc0XDM3NFwzNzdcMzc1XDM3NVwzNzVcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzc1IgorICAiXDM3NVwzNzVcMzc3XDM3NlwzNzZcMzc2XDM3N1wzNzVcMzc1XDM3NVwzNzdcMjIxXDIyMVwyMjFcMzc3XDIxMlwyMTIiCisgICJcMjEyXDM3N1wzNzNcMzczXDM3M1wzNzdcMzcyXDM3MlwzNzJcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzBcMzcwXDM3MCIKKyAgIlwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjNcMzYzXDM2M1wzNzdcMzU1XDM1NVwzNTVcMzc3IgorICAiXDIxNlwyMTZcMjE2XDM3N1wwXDBcMFwyMjdcMFwwXDBcMjVcMFwwXDBcMFwwXDBcMFwyNjZcMzAwXDMwMFwzMDBcMzc3IgorICAiXDM2NFwzNjRcMzY0XDM3N1wzNzRcMzc0XDM3NFwzNzdcMzc0XDM3NFwzNzRcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzUiCisgICJcMzc1XDM3NVwzNzdcMzc2XDM3NlwzNzZcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzZcMzc2XDM3NlwzNzdcMjAxXDIwMSIKKyAgIlwyMDFcMzc3enp6XDM3N1wzNzNcMzczXDM3M1wzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNjdcMzY3IgorICAiXDM2N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjJcMzYyXDM2MlwzNzdcMzU3XDM1N1wzNTciCisgICJcMzc3XDMyM1wzMjNcMzIzXDM3N1wwXDBcMFwzMTRcMFwwXDAoXDBcMFwwXDBcMFwwXDBcMzQ2XDMyM1wzMjNcMzIzXDM3NyIKKyAgIlwzNzJcMzcyXDM3MlwzNzdcMzczXDM3M1wzNzNcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzRcMzc0XDM3NFwzNzdcMzc1IgorICAiXDM3NVwzNzVcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzZcMzc2XDM3NlwzNzdcMzc1XDM3NVwzNzVcMzc3cnJyXDM3N2siCisgICJra1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzY2XDM2NlwzNjZcMzc3IgorICAiXDM2NFwzNjRcMzY0XDM3N1wzNjNcMzYzXDM2M1wzNzdcMzYxXDM2MVwzNjFcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNjciCisgICJcMzY3XDM2N1wzNzdcMFwwXDBcMzU0XDBcMFwwIiI5XDBcMFwwXDBcMFwwXDBcMzczXDM1MFwzNTBcMzUwXDM3N1wzNzIiCisgICJcMzcyXDM3MlwzNzdcMzM3XDMzN1wzMzdcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzRcMzc0XDM3NFwzNzdcMzc0XDM3NCIKKyAgIlwzNzRcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzRcMzc0XDM3NFwzNzdcMzc0XDM3NFwzNzRcMzc3Y2NjXDM3N1tbW1wzNzciCisgICJcMzEzXDMxM1wzMTNcMzc3XDM0NVwzNDVcMzQ1XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NCIKKyAgIlwzNjRcMzY0XDM3N1wzNjJcMzYyXDM2MlwzNzdcMjczXDI3M1wyNzNcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNzBcMzcwIgorICAiXDM3MFwzNzdcMFwwXDBcMzc0XDBcMFwwRFwwXDBcMFwwXDBcMFwwXDM3M1wzMzZcMzM2XDMzNlwzNzdcMzcxXDM3MVwzNzEiCisgICJcMzc3XDMzMlwzMzJcMzMyXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzczXDM3M1wzNzNcMzc3XDM3M1wzNzNcMzczXDM3NyIKKyAgIlwzNzNcMzczXDM3M1wzNzdcMzczXDM3M1wzNzNcMzc3XDM3M1wzNzNcMzczXDM3N1wyMjFcMjIxXDIyMVwzNzdMTExcMzc3IgorICAiRUVFXDM3N2JiYlwzNzdcMzAwXDMwMFwzMDBcMzc3XDMzNVwzMzVcMzM1XDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYxXDM2MSIKKyAgIlwzNjFcMzc3XDI2NVwyNjVcMjY1XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzcwXDM3MFwzNzBcMzc3XDBcMFwwXDM3NFwwIgorICAiXDBcMEpcMFwwXDBcMFwwXDBcMFwzNDZcMzMyXDMzMlwzMzJcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzFcMzcxXDM3MVwzNzciCisgICJcMzcxXDM3MVwzNzFcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcyXDM3MlwzNzJcMzc3XDM3MiIKKyAgIlwzNzJcMzcyXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzUyXDM1MlwzNTJcMzc3XDI3NlwyNzZcMjc2XDM3N2RkZFwzNzcuIgorICAiLi5cMzc3JycnXDM3N0lJSVwzNzdcMzYxXDM2MVwzNjFcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNTVcMzU1XDM1NVwzNzciCisgICJcMzcxXDM3MVwzNzFcMzc3XDM2N1wzNjdcMzY3XDM3N1wwXDBcMFwzNTVcMFwwXDBKXDBcMFwwXDBcMFwwXDBcMjczXDI3NSIKKyAgIlwyNzVcMjc1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzBcMzcwIgorICAiXDM3MFwzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcwXDM3MFwzNzAiCisgICJcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzM1XDMzNVwzMzVcMzc3XDI3NlwyNzZcMjc2XDM3NyIKKyAgIldXV1wzNzd4eHhcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU0XDM1NFwzNTRcMzc3XDM3MVwzNzEiCisgICJcMzcxXDM3N1wzMjNcMzIzXDMyM1wzNzdcMFwwXDBcMzE2XDBcMFwwRFwwXDBcMFwwXDBcMFwwdFwxNzdcMTc3XDE3NyIKKyAgIlwzNzdcMzQxXDM0MVwzNDFcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY2XDM2NlwzNjZcMzc3IgorICAiXDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY2XDM2NlwzNjZcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjUiCisgICJcMzY1XDM2NVwzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NFwzNjRcMzY0XDM3N3l5eVwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwyMzQiCisgICJcMFwwXDBcMFwwXDBcMFwzMVwwXDBcMFwzNzRcMzIwXDMyMFwzMjBcMzc3XDM1M1wzNTNcMzUzXDM3N1wzNjRcMzY0XDM2NCIKKyAgIlwzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY0XDM2NFwzNjRcMzc3IgorICAiXDM2NFwzNjRcMzY0XDM3N1wzNjNcMzYzXDM2M1wzNzdcMzYyXDM2MlwzNjJcMzc3XDM2MVwzNjFcMzYxXDM3N1wwXDAiCisgICJcMFwzNzdcMzUxXFxcMjNcMzc3XDM2MmdcMzdcMzc3XDM1NmJcMzJcMzc3XDM0NVlcMjNcMzc3XDMzM1RcMjJcMzc3XDMyMiIKKyAgIlNcMjdcMzc3XDMxMlJcMzNcMzc3XDI3NkRcMTdcMzc3XDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMjE3IgorICAiXDIxMVwyMTFcMjExXDM3N1wzMjRcMzI0XDMyNFwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjIiCisgICJcMzYyXDM2MlwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzYxXDM2MSIKKyAgIlwzNjFcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMFwwXDBcMzc3XDM1M2FcMzNcMzc3XDM3NlwzNjIiCisgICJcMzUzXDM3N1wzNzRcMzQ2XDMzM1wzNzdcMzUwayxcMzc3XDMzN2UpXDM3N1wzNzBcMzQyXDMzMFwzNzdcMzczXDM2MSIKKyAgIlwzNTVcMzc3XDMwMEtcMzBcMzc3XDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMTBcMFwwXDBcMzI0XDI1MyIKKyAgIlwyNTNcMjUzXDM3N1wzMjNcMzIzXDMyM1wzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwIgorICAiXDM2MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNTdcMzU3XDM1N1wzNzdcMzU3XDM1N1wzNTciCisgICJcMzc3XDM1NlwzNTZcMzU2XDM3N1wwXDBcMFwzNzdcMzQ1W1wyNlwzNzdcMzcyXDMzN1wzMjJcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzJcMzQ2XDMzNFwzNzdcMzcyXDM0NFwzMzFcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNjRcMzM0XDMyMlwzNzciCisgICJcMjc1R1wyM1wzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwIiI2XDBcMFwwXDM1MlwyNTMiCisgICJcMjUzXDI1M1wzNzdcMzIyXDMyMlwzMjJcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU2XDM1NiIKKyAgIlwzNTZcMzc3XDM1NlwzNTZcMzU2XDM3N1wyNTZcMjU2XDI1NlwzNzdcMjU1XDI1NVwyNTVcMzc3XDM1NVwzNTVcMzU1IgorICAiXDM3N1wwXDBcMFwzNzdcMzM1VVwyMlwzNzdcMzQyZCVcMzc3XDM3MVwzNDBcMzI0XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM2NVwzMzZcMzIzXDM3N1wzMDdVXCJcMzc3XDI3MUJcMTZcMzc3XDBcMFwwXDM3N1wwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFw0XDBcMFwwXDc3XDBcMFwwXDMzMFwyMDJcMjAyXDIwMlwzNzdcMzE1XDMxNSIKKyAgIlwzMTVcMzc3XDMzMVwzMzFcMzMxXDM3N1wzNTRcMzU0XDM1NFwzNzdcMzU0XDM1NFwzNTRcMzc3XDM1NFwzNTRcMzU0IgorICAiXDM3N1wzNTRcMzU0XDM1NFwzNzdcMzUzXDM1M1wzNTNcMzc3XDBcMFwwXDM3N1wzMjNPXDIxXDM3N1wzMzJhKVwzNzciCisgICJcMzcxXDM0M1wzMzFcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY2XDM0NFwzMzNcMzc3XDMwNCIKKyAgIlcoXDM3N1wyNjVAXDE2XDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFw1IgorICAiXDBcMFwwXDMyXDBcMFwwXDI0MlwwXDBcMFwzNzRcMjEwXDIxMFwyMTBcMzc3XDMxMFwzMTBcMzEwXDM3N1wzMzVcMzM1IgorICAiXDMzNVwzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNjdcMzY3XDM2N1wzNzdcMFwwXDBcMzc3XDMxMiIKKyAgIk5cMjNcMzc3XDM2N1wzNDFcMzI3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY0XDMzNVwzMjNcMzc3XDM2NFwzMzVcMzIzIgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY0XDM0MlwzMzJcMzc3XDI2MkJcMjNcMzc3XDBcMFwwXDM3N1wwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcNFwwXDBcMFwyMFwwXDBcMD5cMFwwXDBcMjI3XDBcMCIKKyAgIlwwXDMxNFwwXDBcMFwzNTRcMFwwXDBcMzc0XDBcMFwwXDM3NFwwXDBcMFwzNTVcMFwwXDBcMzc3XDMwMktcMjZcMzc3IgorICAiXDM3MFwzNTNcMzQ1XDM3N1wzNjNcMzMzXDMyMVwzNzdcMzA0U1wiXDM3N1wzMDBSXCJcMzc3XDM2MVwzMzJcMzIwXDM3NyIKKyAgIlwzNjdcMzUzXDM0N1wzNzdcMjU1QVwyNVwzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMTBcMFwwXDBcMjVcMFwwXDAoXDBcMFwwIiI5XDBcMFwwRFwwIgorICAiXDBcMEpcMFwwXDBKXDBcMFwwXDM3N1wyNjdAXDE2XDM3N1wyNzJFXDIzXDM3N1wyNzBDXDIxXDM3N1wyNjZAXDE2XDM3NyIKKyAgIlwyNjM+XDE1XDM3N1wyNjA+XDIwXDM3N1wyNTNcNzdcMjNcMzc3XDI0NDdcMTRcMzc3XDBcMFwwXDM3N1wwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDAiCisgICJcMFw2XDBcMFwwXDEyXDBcMFwwXDE1XDBcMFwwXDE3XDBcMFwwXDE3XDBcMFwwXDIwNlwwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDE3NyJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfdHJhc2gpCisjZW5kaWYKKyNpZmRlZiBfX0dOVUNfXworc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja190cmFzaFtdIF9fYXR0cmlidXRlX18gKChfX2FsaWduZWRfXyAoNCkpKSA9IAorI2Vsc2UKK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfdHJhc2hbXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICgyMzA0KSAqLworICAiXDBcMFwxMVwzMCIKKyAgLyogcGl4ZGF0YV90eXBlICgweDEwMTAwMDIpICovCisgICJcMVwxXDBcMiIKKyAgLyogcm93c3RyaWRlICg5NikgKi8KKyAgIlwwXDBcMGAiCisgIC8qIHdpZHRoICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogaGVpZ2h0ICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBSXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwIgorICAiWFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcNVwwXDBcMFwyMjBcMzRcMzQiCisgICJcMzRcMzc3dnZ2XDM3N1wzNDZcMzQ2XDM0NlwzNzdcMzIzXDMyM1wzMjNcMzc3XDMwM1wzMDNcMzAzXDM3N1wyMjBcMjIwIgorICAiXDIyMFwzNzdJSUlcMzc3XDBcMFwwXDM3N1wwXDBcMFwyNzZcMFwwXDAsXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwRVwwXDBcMFwyNDBcMFwwXDAiCisgICJcMzc3XDBcMFwwXDM3N0hHPVwzNzdcMjcyXDI3MFwyNDZcMzc3XDM0MlwzNDJcMzM3XDM3N1wzNjFcMzYxXDM2MFwzNzciCisgICJcMzUyXDM1MVwzNDZcMzc3XDM2MlwzNjJcMzU2XDM3N1wzNTNcMzUyXDM0NVwzNzdcMzAxXDMwMFwyNjVcMzc3V1ZKXDM3NyIKKyAgIlJRRlwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwyMjdcMFwwXDAiIjNcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwVFwwXDBcMFwzNzdcMjUwXDI0NlwyMTdcMzc3XDI3NVwyNzNcMjQxXDM3N1wzMDAiCisgICJcMjc2XDI0M1wzNzdcMjQzXDI0MVwyMTJcMzc3bWxcXFwzNzd8fHJcMzc3TExJXDM3N0VFXDc3XDM3N0RDOlwzNzdvbyIKKyAgImdcMzc3XDMwNlwzMDVcMjcxXDM3N1wyNjZcMjY1XDIzM1wzNzdtbF1cMzc3XDI2M1wyNjFcMjMzXDM3N1wyNDdcMjQ2IgorICAiXDIxNlwzNzdcMjIwXDIxN3pcMzc3XDBcMFwwXDM3N1wwXDBcMEVcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwzNzdcMjUyXDI1MVwyMjNcMzc3XDMxNFwzMTNcMjY1XDM3N1wzMjBcMzE2XDI3MlwzNzdcMzI1XDMyMyIKKyAgIlwzMDFcMzc3XDI1NlwyNTVcMjQzXDM3N1wyMjRcMjIzXDIxMlwzNzdFREJcMzc3IyMhXDM3NzU0MVwzNzcpKCNcMzc3IgorICAiXDM2XDM2XDMyXDM3N1NSRlwzNzdcMjU1XDI1NFwyMjNcMzc3XDIyMlwyMjFcMjExXDM3N1wzMDJcMzAxXDI1N1wzNzciCisgICJcMjYxXDI1N1wyMjZcMzc3XDI1NFwyNTJcMjIyXDM3N1wyMjNcMjIyfVwzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMTBcMTBcMTBcMzc3XDMyMVwzMjBcMzAxXDM3N1wzMTRcMzEzXDI2NVwzNzdcMzI2XDMyNSIKKyAgIlwzMDRcMzc3XDMzN1wzMzZcMzIxXDM3N1wzMTZcMzE1XDMwMFwzNzdcMjU0XDI1NFwyNDZcMzc3XDIyMFwyMTdcMjEyIgorICAiXDM3N359d1wzNzdcXFxcVVwzNzdHRj5cMzc3ZWRWXDM3N3d2ZVwzNzdcMjAwfm9cMzc3XDI3NlwyNzVcMjQ3XDM3N1wyNjUiCisgICJcMjYzXDIzMlwzNzdcMjY2XDI2NVwyMzNcMzc3XDI2NVwyNjNcMjMyXDM3N1wyNDFcMjM3XDIxMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDMzMVwzMzBcMzE0XDM3N1wzNjZcMzY1XDM2MiIKKyAgIlwzNzdcMzMzXDMzMlwzMjFcMzc3XDMzMlwzMzFcMzE2XDM3N1wzNDVcMzQ0XDMzMVwzNzdcMzIwXDMxN1wzMDNcMzc3IgorICAiXDMyM1wzMjNcMzExXDM3N1wzMTJcMzExXDI3NFwzNzdcMjY3XDI2NlwyNDZcMzc3XDI3MFwyNjZcMjQxXDM3N1wyNjAiCisgICJcMjU3XDIyNlwzNzdcMjQxXDIzN1wyMTBcMzc3XDI3MVwyNzBcMjM1XDM3N1wyNzFcMjY3XDIzNVwzNzdcMjcwXDI2NiIKKyAgIlwyMzRcMzc3XDMwNFwzMDJcMjUxXDM3N1wyNTdcMjU1XDIyN1wzNzdcMjEzXDIxMXZcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wyNTJcMjUxXDIzMFwzNzdcMjY2XDI2NlwyNjJcMzc3IgorICAiXDM3MVwzNzFcMzY3XDM3N1wzNzJcMzcyXDM3MFwzNzdcMzY0XDM2NFwzNjBcMzc3XDM0MlwzNDFcMzMyXDM3N1wzMzEiCisgICJcMzMxXDMxNlwzNzdcMzMzXDMzMlwzMTdcMzc3XDMyNVwzMjNcMzAxXDM3N1wzMjNcMzIxXDI3NlwzNzdcMzA0XDMwMiIKKyAgIlwyNTFcMzc3XDMwMFwyNzZcMjQzXDM3N1wzMDVcMzA0XDI1NFwzNzdcMzI2XDMyNVwzMDNcMzc3XDMxNVwzMTRcMjc3IgorICAiXDM3N1wyNzNcMjcyXDI1NVwzNzd8emlcMzc3cXBgXDM3N1wwXDBcMFwzMzZcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwyM1wyM1wyM1wzMTZcMjMxXDIzMFwyMDJcMzc3XDI1N1wyNTZcMjM1XDM3N1wzMDNcMzAzXDI3NlwzNzciCisgICJcMzM2XDMzNlwzMzRcMzc3XDM1MVwzNTFcMzUwXDM3N1wzNzNcMzczXDM3MlwzNzdcMzc1XDM3NVwzNzRcMzc3XDM3NSIKKyAgIlwzNzVcMzc1XDM3N1wzNzRcMzczXDM3MlwzNzdcMzcxXDM3MVwzNjdcMzc3XDM2MlwzNjJcMzU3XDM3N1wzNTJcMzUxIgorICAiXDM0M1wzNzdcMzMzXDMzMlwzMjFcMzc3XDMwMFwyNzdcMjYxXDM3N1wyMjVcMjI0XDIwNFwzNzd4d2ZcMzc3bm1dXDM3NyIKKyAgIltbTVwzNzdcMFwwXDBcMzE1XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMjIyXVxcT1wzNzdcMjIzIgorICAiXDIyMn1cMzc3XDI0M1wyNDJcMjIzXDM3N1wyNzBcMjY3XDI0NlwzNzdcMzMwXDMyN1wzMjBcMzc3XDMzM1wzMzNcMzI0IgorICAiXDM3N1wzMjNcMzIyXDMxMlwzNzdcMzEwXDMxMFwzMDNcMzc3XDMwNlwzMDVcMjc1XDM3N1wyNzVcMjc0XDI1NVwzNzciCisgICJcMjcyXDI3MFwyNTBcMzc3XDIzN1wyMzZcMjEzXDM3N1wyMTZcMjE0eFwzNzdcMjE0XDIxM3dcMzc3XDIxNlwyMTR4XDM3NyIKKyAgInp5aFwzNzdsa11cMzc3Tk1FXDM3N1wwXDBcMHlcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIiMiIKKyAgIlwwXDBcMFwzNzdCQkJcMzc3e3tzXDM3N1wyMzdcMjM3XDIyNlwzNzdcMzIyXDMyMVwzMDdcMzc3XDMzNFwzMzNcMzIyIgorICAiXDM3N1wzMTRcMzEzXDI3NlwzNzdcMzIxXDMyMFwzMDJcMzc3XDMwNFwzMDNcMjY2XDM3N1wyNjFcMjU3XDIyNlwzNzciCisgICJcMjYxXDI1N1wyMjZcMzc3XDI2MVwyNTdcMjI2XDM3N1wyMzJcMjMwXDIwM1wzNzdcMjAwXDE3N21cMzc3fXxrXDM3NyIKKyAgImppXlwzNzdAQD5cMzc3XDBcMFwwXDM3N1wwXDBcMCIiM1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMzc3NzctXDM3N1wxN1wxN1wxN1wzNzc4NzRcMzc3eHh1XDM3N1wyMzFcMjMwXDIyM1wzNzdcMjEyIgorICAiXDIxMX5cMzc3XDI2M1wyNjJcMjQ0XDM3N1wyNTJcMjUyXDIzNlwzNzdcMjQzXDI0MVwyMTJcMzc3XDIwN1wyMDZzXDM3NyIKKyAgIlwyMTdcMjE1eVwzNzdiYVVcMzc3VFRRXDM3NzExLlwzNzdcMFwwXDBcMzc3KysjXDM3N1wwXDBcMFwzNzdcMFwwXDBcMTciCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N3FxXVwzNzdXV0tcMzc3QkI6XDM3NyIKKyAgIiYmXDQwXDM3NyEhIVwzNzdcMzNcMzNcMzNcMzc3XDBcMFwwXDM3NyQkJFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzc3XDI2XDI2XDIzXDM3NyoqXCJcMzc3MDAnXDM3N1w3N1w3NyIiNFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N3p6ZVwzNzdbW1EiCisgICJcMzc3XDIwNVwyMDV2XDM3N3Z2a1wzNzdcMjMwXDIzMFwyMTZcMzc3dXVrXDM3N1FRRlwzNzdcMTc3XDE3N3RcMzc3aiIKKyAgImpYXDM3N0BANVwzNzdiYlFcMzc3VFRFXDM3Nz4+M1wzNzdVVUZcMzc3NDQrXDM3N1FRQ1wzNzdcMFwwXDBcMzc3XDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wyMDVcMjA1blwzNzddIgorICAiXVRcMzc3XDIyMVwyMjFcMjAyXDM3N1wyMDJcMjAyeFwzNzdcMjUyXDI1MlwyNDNcMzc3enpxXDM3N05ORVwzNzdcMjEyIgorICAiXDIxMlwyMDBcMzc3fHxtXDM3N0JCN1wzNzdgYFJcMzc3WlpKXDM3Nzw8MlwzNzdOTkFcMzc3NTUsXDM3N1RURVwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzXDBcMFwwXDM3NyIKKyAgIlwyMDVcMjA1blwzNzdbW1FcMzc3XDI1NFwyNTRcMjM0XDM3N1wyMDVcMjA1e1wzNzdcMjczXDI3M1wyNjNcMzc3XDI0MyIKKyAgIlwyNDNcMjMyXDM3N1RUS1wzNzdcMjIzXDIyM1wyMTJcMzc3XDIyMVwyMjFcMjA1XDM3N0JCN1wzNzdgYFJcMzc3aGhWIgorICAiXDM3N0FBNlwzNzdqalhcMzc3Q0M3XDM3N2pqWFwzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDFcMFwwXDBcNVwwXDBcMFwxMFwwXDBcMFwzNzdcMjA1XDIwNW5cMzc3W1tRXDM3N1wyNDRcMjQ0XDIyM1wzNzciCisgICJcMjA1XDIwNXtcMzc3XDMwMVwzMDFcMjY2XDM3N1wyNjFcMjYxXDI0MlwzNzdra19cMzc3XDI2MVwyNjFcMjQyXDM3NyIKKyAgIlwyMzVcMjM1XDIxM1wzNzdUVEVcMzc3XDIwNFwyMDRwXDM3N3FxXlwzNzdDQzdcMzc3ampYXDM3N0NDN1wzNzdqalhcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFw2XDBcMFwwXDNcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDEyXDBcMFwwXDI0XDBcMFwwXDM3NyIKKyAgIlwyMDVcMjA1blwzNzdbW1FcMzc3XDI0NVwyNDVcMjI0XDM3N1wyMDVcMjA1e1wzNzdcMzAyXDMwMlwyNjdcMzc3XDI2MSIKKyAgIlwyNjFcMjQyXDM3N2trX1wzNzdcMjYxXDI2MVwyNDJcMzc3XDIzNVwyMzVcMjEzXDM3N1RURVwzNzdcMjA0XDIwNHBcMzc3IgorICAicXFeXDM3N0NDN1wzNzdqalhcMzc3Q0M3XDM3N2pqWFwzNzdcMFwwXDBcMzc3XDBcMFwwXDI2XDBcMFwwXDEzXDBcMFwwIgorICAiXDJcMFwwXDBcM1wwXDBcMFwyNlwwXDBcMCtcMFwwXDBcMzc3XDIwNVwyMDVuXDM3N1tbUVwzNzdcMjM1XDIzNVwyMTMiCisgICJcMzc3XDIwNVwyMDV7XDM3N1wzMDFcMzAxXDI2NlwzNzdcMjYxXDI2MVwyNDJcMzc3a2tfXDM3N1wyNjFcMjYxXDI0MiIKKyAgIlwzNzdcMjM1XDIzNVwyMTNcMzc3VFRFXDM3N1wyMDRcMjA0cFwzNzdxcV5cMzc3Q0M3XDM3N2pqWFwzNzdDQzdcMzc3IgorICAiampYXDM3N1wwXDBcMFwzNzdcMFwwXDAiIjFcMFwwXDBcMzJcMFwwXDBcNFwwXDBcMFw3XDBcMFwwI1wwXDBcMElcMFwwIgorICAiXDBcMzc3e3tlXDM3N1tbUVwzNzdcMjQ0XDI0NFwyMjNcMzc3XDIwNVwyMDV7XDM3N1wzMDFcMzAxXDI2NlwzNzdcMjYxIgorICAiXDI2MVwyNDJcMzc3a2tfXDM3N1wyNjFcMjYxXDI0MlwzNzdcMjM1XDIzNVwyMTNcMzc3VFRFXDM3N1wyMDRcMjA0cFwzNzciCisgICJxcV5cMzc3Q0M3XDM3N2pqWFwzNzdDQzdcMzc3X19PXDM3N1wwXDBcMFwzNzdcMFwwXDBIXDBcMFwwKlwwXDBcMFw3XDAiCisgICJcMFwwXDEyXDBcMFwwLFwwXDBcMFhcMFwwXDBcMzc3ZmZUXDM3N1tbUVwzNzdcMjQ0XDI0NFwyMjNcMzc3XDIwMlwyMDIiCisgICJ4XDM3N1wzMDFcMzAxXDI2NlwzNzdcMjYxXDI2MVwyNDJcMzc3a2tfXDM3N1wyNjFcMjYxXDI0MlwzNzdcMjM1XDIzNSIKKyAgIlwyMTNcMzc3VFRFXDM3N1wyMDRcMjA0cFwzNzdxcV5cMzc3Q0M3XDM3N2pqWFwzNzdJSTxcMzc3V1dIXDM3N1wwXDBcMCIKKyAgIlwzNzdcMFwwXDBQXDBcMFwwKlwwXDBcMFw3XDBcMFwwXDZcMFwwXDBcMzVcMFwwXDBDXDBcMFwwclwwXDBcMFwzNzdXIgorICAiV0pcMzc3fX1tXDM3N3Z2aVwzNzdcMjYzXDI2M1wyNTBcMzc3XDI0MVwyNDFcMjI0XDM3N21tYVwzNzdcMjYzXDI2M1wyNDUiCisgICJcMzc3XDIzNVwyMzVcMjEzXDM3N1RURVwzNzdcMjA0XDIwNHBcMzc3aWlXXDM3N0FBNVwzNzdWVkdcMzc3REQ4XDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMTc3XDBcMFwwQ1wwXDBcMFwzNVwwXDBcMFw0XDBcMFwwXDFcMFwwXDBcMTNcMFwwXDBcMzQiCisgICJcMFwwXDAiIjJcMFwwXDBnXDBcMFwwXDMyMFwwXDBcMFwzNzdcMFwwXDBcMzc3WVlRXDM3N1hYSVwzNzdOTkBcMzc3dCIKKyAgInRnXDM3N2FhU1wzNzdOTkFcMzc3SUk8XDM3N0lJPFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzMDRcMFwwIgorICAiXDB0XDBcMFwwPlwwXDBcMCVcMFwwXDBcMTFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcNlwwXDBcMFwxN1wwIgorICAiXDBcMFwzMVwwXDBcMFwzN1wwXDBcMHJcMFwwXDBcMjY0XDBcMFwwXDMwMlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwIgorICAiXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwyNzFcMFwwXDBcMjE3XDBcMFwwU1wwXDBcMCwiCisgICJcMFwwXDAqXDBcMFwwXDMzXDBcMFwwXDEwXDBcMFwwXDFcMFwwXDBcMCJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfdHJhc2hfZnVsbCkKKyNlbmRpZgorI2lmZGVmIF9fR05VQ19fCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX3RyYXNoX2Z1bGxbXSBfX2F0dHJpYnV0ZV9fICgoX19hbGlnbmVkX18gKDQpKSkgPSAKKyNlbHNlCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX3RyYXNoX2Z1bGxbXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICgyMzA0KSAqLworICAiXDBcMFwxMVwzMCIKKyAgLyogcGl4ZGF0YV90eXBlICgweDEwMTAwMDIpICovCisgICJcMVwxXDBcMiIKKyAgLyogcm93c3RyaWRlICg5NikgKi8KKyAgIlwwXDBcMGAiCisgIC8qIHdpZHRoICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogaGVpZ2h0ICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxMFwxMCIKKyAgIlwxMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcNlw2XDZcMjFcNlw2XDZLXDE2XDE2XDE2XDM3N0JCQlwzNzdKSkpcMzc3Pj4+XDM3NywsLFwzNzdcMCIKKyAgIlwwXDBcMzc3XDZcNlw2Plw2XDZcNiFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMTBcMTBcMTBcMzc3XDEwXDEwXDEwIgorICAiXDM3N1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcNlw2XDY6XDBcMFwwXDM3N1wwXDBcMFwzNzdcMjA1XDIwM3FcMzc3XDM2MFwzNTVcMzMwXDM3N1wzNjJcMzYxXDM1MSIKKyAgIlwzNzdcMzU2XDM1NVwzNDRcMzc3XDMwN1wzMDZcMjcyXDM3N1NSRlwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1w2XDZcNiIKKyAgIktcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDZcNlw2PlwyMFwyMFwyMFwzNzdcMzAyXDMwMFwyNDVcMzc3XDMwMVwyNzdcMjQ1IgorICAiXDM3N3p5Z1wzNzdIR0BcMzc3JyclXDM3NzY1LlwzNzdcMjA3XDIwNXJcMzc3XDI0MFwyMzZcMjEwXDM3N1wyNDNcMjQxIgorICAiXDIxMlwzNzdcMjQ1XDI0M1wyMTRcMzc3XDBcMFwwXDM3N1w2XDZcNiFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCsrK1wzNzdcMzIzXDMyMVwyNzQiCisgICJcMzc3XDMzNFwzMzJcMzA0XDM3N1wzNDJcMzQwXDMxN1wzNzdcMjcxXDI2N1wyNDJcMzc3ZGJbXDM3Nzk4NlwzNzc8PCIKKyAgIjNcMzc3YWBTXDM3N1wyMzJcMjMwXDIwM1wzNzdcMjY3XDI2NVwyMzNcMzc3XDI2M1wyNjJcMjMwXDM3N1wyNDRcMjQyIgorICAiXDIxM1wzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxMFwxMFwxMFwzNzciCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMzUwXDM0NFwzMjNcMzc3XDM2NFwzNjFcMzUxIgorICAiXDM3N1wzNjJcMzYxXDM0NFwzNzdcMzUyXDM1MVwzMzJcMzc3XDM0NVwzNDJcMzIyXDM3N1wzMjVcMzIyXDI3NlwzNzciCisgICJcMzAzXDMwMVwyNDdcMzc3XDI1N1wyNTVcMjI0XDM3N1wzMDBcMjc2XDI0NFwzNzdcMzA2XDMwNFwyNTRcMzc3XDI3MCIKKyAgIlwyNjZcMjM0XDM3N3l3ZlwzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwxMFwxMFwxMFwzNzdcMTBcMTBcMTBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wyMTJcMjExIgorICAidVwzNzdcMzYxXDM1NVwzMjJcMzc3XDM3M1wzNzBcMzUxXDM3N1wzNzFcMzY1XDM1NVwzNzdcMzcwXDM2N1wzNTZcMzc3IgorICAiXDM3MFwzNjdcMzU0XDM3N1wzNjVcMzYzXDM0NlwzNzdcMzU0XDM1MlwzMzFcMzc3XDMzNlwzMzVcMzEzXDM3N1wwXDAiCisgICJcMFwzNzdcMFwwXDBcMzc3QkE4XDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMD5cMFwwXDBcMzc3XDBcMFwwV1wwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyMDJSUUZcMzc3c3FlXDM3NyIKKyAgIlwyMzdcMjM1XDIyMVwzNzdcMzQ0XDM0MVwzMTBcMzc3XDM1MVwzNDVcMzE3XDM3N1wzNDJcMzQwXDMxM1wzNzdcMzIxIgorICAiXDMyMVwzMTNcMzc3XDIxNlwyMTVcMTc3XDM3N1wwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDMwMVwzMDFcMzAxXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMjQwXDBcMFwwTFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3XDM3XDMzXDM3NzQ0MFwzNzciCisgICJLSURcMzc3aGdiXDM3N3BvZlwzNzdra2RcMzc3bmxdXDM3N1hXS1wzNzcrKyVcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMjIyXDIyMlwyMjJcMzc3XDJcMlwyXDM3N1wwXDBcMFwzNzdcMzQ2XDM0NlwzNDZcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMD5cMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCoqI1wzNzciCisgICJcMjQwXDI0MFwyMjVcMzc3TU1AXDM3NzY2MFwzNzcqKiZcMzc3Ly8qXDM3N1wxN1wxN1wxNVwzNzdcMTNcMTNcMTFcMzc3IgorICAiXDIwXDIwXDE1XDM3NygoJFwzNzdcMFwwXDBcMzc3XDI3NFwyNzRcMjc0XDM3N25ublwzNzdcMzU1XDM1NVwzNTVcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMExcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwKyskXDM3N1wyNDVcMjQ0XDIzMVwzNzdcMjY3XDI2NlwyNTZcMzc3cXBnXDM3N1wyNDFcMjQxXDIyMiIKKyAgIlwzNzd0c2NcMzc3QEA1XDM3N2lpW1wzNzclJVwzNlwzNzdcMzRcMzRcMzRcMzc3XDM1NFwzNTRcMzU0XDM3N1wzMTdcMzE3IgorICAiXDMxN1wzNzdvb29cMzc3XDI1N1wyNTdcMjU3XDM3N1wwXDBcMFwzNzdcMFwwXDAhXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCwsJVwzNzdcMjU1XDI1NVwyNDNcMzc3XDMzMSIKKyAgIlwzMzFcMzIyXDM3N1wyMTNcMjEzXDE3N1wzNzdcMzI2XDMyNVwzMTZcMzc3XDIxMFwyMTB7XDM3N1hXT1wzNzdcMTc3IgorICAiXDE3N3VcMzc3XDBcMFwwXDM3N1wzMzZcMzM2XDMzNlwzNzdcMzc3XDM3N1wzNzdcMzc3XDMzNlwzMzZcMzM2XDM3N1wzMzYiCisgICJcMzM2XDMzNlwzNzdcMzExXDMxMVwzMTFcMzc3XDBcMFwwXDM3N1wwXDBcMFw3N1wwXDBcMFwxXDBcMFwwXDFcMFwwXDAiCisgICJcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDYsLCVcMzc3XDI1NVwyNTVcMjQzXDM3N1wzMzIiCisgICJcMzMyXDMyM1wzNzdcMjE3XDIxNlwyMDFcMzc3XDMzNVwzMzVcMzI0XDM3N1wyNTRcMjUzXDIzMVwzNzddXVJcMzc3aSIKKyAgImlgXDM3N21tbVwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM0N1wzNDdcMzQ3XDM3N1wyMjNcMjIzXDIyM1wzNzdcMFwwXDBcMzc3XDBcMFwwK1wwXDBcMFwxM1wwIgorICAiXDBcMFw3XDBcMFwwXDNcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDVcMFwwXDBcMjErKyRcMzc3fn51XDM3N1wzMzBcMzMwIgorICAiXDMyMVwzNzdcMjE1XDIxNVwyMDBcMzc3XDMzNVwzMzVcMzIzXDM3N1wyNTRcMjUzXDIzMVwzNzdQUEdcMzc3XDMwXDMwIgorICAiXDMwXDM3N1wzMTFcMzExXDMxMVwzNzdcMzA3XDM0MFwzMDdcMzc3eFwyNjV4XDM3N1wyMzNcMzEwXDIzM1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM0N1wzNDdcMzQ3XDM3N1wzMDZcMzA2XDMwNlwzNzdcMFwwXDBcMzc3XDBcMFwwVVwwXDBcMFwzNSIKKyAgIlwwXDBcMFwyN1wwXDBcMFwxNVwwXDBcMFwzXDBcMFwwXDFcMFwwXDBcMTFcMFwwXDBcMzQnJyFcMzc3Q0M9XDM3N1wyMTYiCisgICJcMjE2XDIwNlwzNzdeXlVcMzc3XDMzMlwzMzJcMzIwXDM3N1wyNTRcMjUzXDIzMVwzNzc1NS5cMzc3XV1dXDM3N1wzMjQiCisgICJcMzQ3XDMyNFwzNzddXDI0Nl1cMzc3XDMwN1wzNDBcMzA3XDM3N1wzNzdcMzc3XDM3N1wzNzddXDI0Nl1cMzc3XDIxNSIKKyAgIlwyNzJcMjE1XDM3N1wzNDVcMzQ1XDM0NVwzNzdcMjA2XDIwNlwyMDZcMzc3XDBcMFwwXDM3N1wwXDBcMEdcMFwwXDAnIgorICAiXDBcMFwwXDMxXDBcMFwwXDEwXDBcMFwwXDFcMFwwXDBcMTFcMFwwXDBcMzRcNFw0XDRrXDZcNlw2XDM3N1w2XDZcNlwzNzciCisgICJCQTpcMzc3XDIxN1wyMTd7XDM3N3p6bFwzNzdcMFwwXDBcMzc3XDMwNFwzMDRcMzA0XDM3N3NcMjYyc1wzNzdcMzA3XDM0MCIKKyAgIlwzMDdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzd4XDI2NXhcMzc3blwyNTNuXDM3N1wzNDVcMzQ1IgorICAiXDM0NVwzNzdcMjIwXDIyMFwyMjBcMzc3XDBcMFwwXDM3N1wwXDBcMHdcMFwwXDAuXDBcMFwwXCJcMFwwXDBcMTZcMFwwIgorICAiXDBcMVwwXDBcMFw1XDBcMFwwXDIzXDBcMFwwJlwwXDBcMCIiMFw0XDRcNHlcNlw2XDZcMzc3XDBcMFwwXDM3N1wxN1wxNyIKKyAgIlwxN1wzNzdcMFwwXDBcMzc3XDMyN1wzMjdcMzI3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NFwzNjRcMzY0XDM3N1NcMjM1U1wzNzciCisgICJcMjc3XDI3N1wyNzdcMzc3SkpKXDM3N1wwXDBcMFwzNzdcMFwwXDAiIjFcMFwwXDAoXDBcMFwwXDIzXDBcMFwwXDBcMCIKKyAgIlwwXDBcMVwwXDBcMFw2XDBcMFwwXDIzXDBcMFwwXDQwXDBcMFwwKVwwXDBcMC1cMFwwXDAuXDBcMFwwIiIwXDBcMFwwIgorICAiXDM3N1wzNTRcMzU0XDM1NFwzNzd4XDI2NXhcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzA3XDM0MCIKKyAgIlwzMDdcMzc3XDM3N1wzNzdcMzc3XDM3N1wyNzJcMzIzXDI3MlwzNzdcMjEyXDI3MFwyMTJcMzc3XDIxMlwyNjdcMjEyIgorICAiXDM3N3FxcVwzNzdcMFwwXDBcMzc3XDBcMFwwIiIyXDBcMFwwKlwwXDBcMFwyN1wwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMVwwXDBcMFwzXDBcMFwwXDEyXDBcMFwwXDIxXDBcMFwwXDI2XDBcMFwwXDMzXDBcMFwwXCJcMFwwXDBcMzc3XDI1NCIKKyAgIlwyNTRcMjU0XDM3N1wzNTRcMzU0XDM1NFwzNzdvXDI1NG9cMzc3b1wyNTRvXDM3N25cMjUzblwzNzdUXDIzNVRcMzc3IgorICAiXDI2MlwzMTRcMjYyXDM3N1wyMTJcMjcwXDIxMlwzNzdcMjIyXDIyMlwyMjJcMzc3YWFhXDM3N1wwXDBcMFwzNzdcMFwwIgorICAiXDAiIjFcMFwwXDAnXDBcMFwwXDIzXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxIgorICAiXDBcMFwwXDJcMFwwXDBcMTBcMFwwXDBcMjJcMFwwXDBVXDBcMFwwXDM3N1wwXDBcMFwzNzdpaWlcMzc3XDIwMFwyMDAiCisgICJcMjAwXDM3N31cMjIwfVwzNzdcMjQxXDI0MVwyNDFcMzc3XDIwM1wyMDNcMjAzXDM3N3p6elwzNzdDQ0NcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMHdcMFwwXDAqXDBcMFwwXDM0XDBcMFwwXDEyXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFw3XDBcMFwwXDIxXDBcMFwwIiI5XDBcMFwwcFwwIgorICAiXDBcMFwyMzRcMFwwXDBcMzA0XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3KCgoXDM3NzQ0NFwyNjM4ODhxXDAiCisgICJcMFwwI1wwXDBcMFwzMlwwXDBcMFwxM1wwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDZcMFwwXDBcMTRcMFwwXDBcMjFcMFwwXDBcMjMiCisgICJcMFwwXDBcMjRcMFwwXDBcMjZcMFwwXDBcMjZcMFwwXDBcMjZcMFwwXDBcMjVcMFwwXDBcMjVcMFwwXDBcMjRcMFwwXDAiCisgICJcMTdcMFwwXDBcMTBcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMlwwXDBcMFw0XDBcMFwwXDZcMFwwIgorICAiXDBcNlwwXDBcMFw3XDBcMFwwXDEwXDBcMFwwXDdcMFwwXDBcNlwwXDBcMFw2XDBcMFwwXDRcMFwwXDBcMlwwXDBcMFwxIgorICAiXDBcMFwwXDBcMFwwXDBcMCJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfdm9sdW1lKQorI2VuZGlmCisjaWZkZWYgX19HTlVDX18KK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfdm9sdW1lW10gX19hdHRyaWJ1dGVfXyAoKF9fYWxpZ25lZF9fICg0KSkpID0gCisjZWxzZQorc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja192b2x1bWVbXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICgyMzA0KSAqLworICAiXDBcMFwxMVwzMCIKKyAgLyogcGl4ZGF0YV90eXBlICgweDEwMTAwMDIpICovCisgICJcMVwxXDBcMiIKKyAgLyogcm93c3RyaWRlICg5NikgKi8KKyAgIlwwXDBcMGAiCisgIC8qIHdpZHRoICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogaGVpZ2h0ICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMCxcMFwwXDBcMzc3XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBJQGZcMzIwSUBmK1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMC1cMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFw2XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwSUBmXDM3N0lAZitcMFwwXDBcMElAZitJQGYiCisgICJcMjUySUBmK1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwLVwwXDBcMFwzNzdcMjU2XDI1M1wyMzdcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIlwyMVwwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMElAZitJQGZcMzc3SUBmK1wwXDBcMFwwSUBmXDIxM0lAZk9cMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBvXDBcMFwwXDM3N1wyNTZcMjUzXDIzN1wzNzdcMzM0XDMzMVwzMjNcMzc3XDBcMFwwXDM3N1wwXDBcMFwyMjEiCisgICJcMFwwXDBcNElAZlwzNzdJQGYrXDBcMFwwXDBJQGZcMjUySUBmT1wwXDBcMFwwSUBmY0lAZlwyMTNcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDdcMFwwXDBcMzc3XDIzM1wyMzBcMjEyXDM3N1wyMDB+ciIKKyAgIlwzNzdcMFwwXDBcMzc3XDI1NlwyNTNcMjM3XDM3N1wzNDJcMzQxXDMzNFwzNzdcMzYyXDM2MlwzNjBcMzc3XDBcMFwwIgorICAiXDM3N1wwXDBcMFwzNDdcMFwwXDBcMTJJQGYrSUBmXDM3N1wwXDBcMFwwSUBmT0lAZlwyNTJcMFwwXDBcMElAZkBJQGYiCisgICJcMjUyXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwyMlwwXDBcMFwzNzdcMzQzXDM0MiIKKyAgIlwzMzVcMzc3XDI2NlwyNjZcMjYxXDM3N1wwXDBcMFwzNzdcMzU2XDM1NVwzNTJcMzc3XDM1MlwzNTJcMzQ2XDM3N1wzMDUiCisgICJcMzAxXDI2N1wzNzdcMFwwXDBcMzc3SUlJXDM3N1wwXDBcMFwyNFwwXDBcMFwwSUBmXDM3N1wwXDBcMFwwSUBmK0lAZiIKKyAgIlwzMjBcMFwwXDBcMElAZiNJQGZcMzIwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcM1wwXDBcMCIKKyAgIlwzMFwwXDBcMFwzNzdcMjYwXDI1NFwyMzRcMzc3XDIyMlwyMTZcMjAxXDM3N1wwXDBcMFwzNzdcMzE1XDMxMlwzMDFcMzc3IgorICAiXDI3MFwyNjRcMjQ2XDM3N1wyNzdcMjczXDI1N1wzNzdcMFwwXDBcMzc3XDExXDExXDExXDM3N1wwXDBcMFwzMFwwXDAiCisgICJcMFwwSUBmXDM3N1wwXDBcMFwwXDBcMFwwXDBJQGZcMzc3XDBcMFwwXDBcMFwwXDBcMElAZlwzNzdcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzXDBcMFwwXDMxXDBcMFwwXDM3N1wyMzNcMjMwXDIxMlwzNzdcMjAwfiIKKyAgInJcMzc3XDBcMFwwXDM3N1wyMzZcMjMyXDIxNFwzNzdcMjYwXDI1NFwyMzRcMzc3XDI2MFwyNTRcMjM0XDM3N1wwXDBcMCIKKyAgIlwzNzcrKytcMzc3XDBcMFwwXDI3XDBcMFwwXDBJQGZcMzc3XDBcMFwwXDBJQGYrSUBmXDMyMFwwXDBcMFwwSUBmI0lAIgorICAiZlwzMjBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzXDBcMFwwXDMxXDBcMFwwXDM3N3l2bFwzNzciCisgICJkYllcMzc3XDBcMFwwXDM3N1wyMzZcMjMyXDIxNFwzNzdcMjM2XDIzMlwyMTRcMzc3XDIzNlwyMzJcMjE0XDM3N1wwXDAiCisgICJcMFwzNzdcMTBcMTBcMTBcMzc2XDBcMFwwXDI3SUBmK0lAZlwzNzdcMFwwXDBcMElAZk9JQGZcMjUyXDBcMFwwXDBJQCIKKyAgImZASUBmXDI1MlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDNcMFwwXDBcMzFcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMjQwXDBcMFwwXDM3N1wyMTVcMjEyfVwzNzdcMjM2XDIzMlwyMTRcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzMDBcMFwwXDBcMzBJQGZcMzc3SUBmK1wwXDBcMFwwSUBmXDI1MklAZk9cMFwwXDBcMEkiCisgICJAZllJQGZcMjEzXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcM1wwXDBcMFwzMFwwXDBcMD5cMCIKKyAgIlwwXDBTXDBcMFwwU1wwXDBcMFFcMFwwXDByXDBcMFwwXDM3N357cFwzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwzMiIKKyAgIlwwXDBcMFwwXDBcMFwwXDBJQGYrSUBmXDMyMElAZitcMFwwXDBcMElAZlwyMTNJQGZPXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwyMlwwXDBcMC9cMFwwXDA9XDBcMFwwO1wwXDBcMCIiOFwwXDBcMEMiCisgICJcMFwwXDBvXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDAiIjFcMFwwXDBcMjZcMFwwXDBcMFwwXDBcMFwwSUBmXDM3NyIKKyAgIklAZitcMFwwXDBcMElAZitJQGZcMjEzSUBmK1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMCIKKyAgIlwwXDBcN1wwXDBcMFwyMlwwXDBcMFwyN1wwXDBcMFwyNlwwXDBcMFwyNlwwXDBcMCVcMFwwXDA+XDBcMFwwbFwwXDBcMCIKKyAgIlwzNzdcMFwwXDBcIlwwXDBcMFwxM1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBJQGZcMzIwIgorICAiSUBmK1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDIiCisgICJcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDRcMFwwXDBcMTVcMFwwXDAjXDBcMFwwO1wwXDBcMCIiOFwwXDBcMFwzMFwwXDAiCisgICJcMFw0XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDNcMFwwXDBcMTVcMFwwXDBcMzdcMFwwXDAlXDBcMFwwXDIxXDBcMFwwXDJcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwzXDBcMFwwXDExXDBcMFwwXDE1XDBcMFwwXDZcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwxXDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAifTsKKworCisvKiBHZGtQaXhidWYgUkdCQSBDLVNvdXJjZSBpbWFnZSBkdW1wICovCisKKyNpZmRlZiBfX1NVTlBST19DCisjcHJhZ21hIGFsaWduIDQgKHN0b2NrX21pZGkpCisjZW5kaWYKKyNpZmRlZiBfX0dOVUNfXworc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja19taWRpW10gX19hdHRyaWJ1dGVfXyAoKF9fYWxpZ25lZF9fICg0KSkpID0gCisjZWxzZQorc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja19taWRpW10gPSAKKyNlbmRpZgoreyAiIgorICAvKiBQaXhidWYgbWFnaWMgKDB4NDc2NDZiNTApICovCisgICJHZGtQIgorICAvKiBsZW5ndGg6IGhlYWRlciAoMjQpICsgcGl4ZWxfZGF0YSAoMjMwNCkgKi8KKyAgIlwwXDBcMTFcMzAiCisgIC8qIHBpeGRhdGFfdHlwZSAoMHgxMDEwMDAyKSAqLworICAiXDFcMVwwXDIiCisgIC8qIHJvd3N0cmlkZSAoOTYpICovCisgICJcMFwwXDBgIgorICAvKiB3aWR0aCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIGhlaWdodCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIHBpeGVsX2RhdGE6ICovCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMjRcMFwwXDBuXDBcMFwwXDI0XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNlwwXDAiCisgICJcMFwyMDZcMFwwXDAkXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMCRcMFwwXDBeXDBcMFwwdVwwXDBcMFwyMzFcMFwwXDBcMjMxXDBcMFwwUVwwXDBcMDxcMFwwXDAiCisgICIoXDBcMFwwXDE3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwLlwwXDBcMFwyNzZcMFwwXDBYXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXlwwXDBcMENcMFwwXDB1XDBcMFwwJFwwXDBcMFwyNFwwXDBcMEVcMFwwXDB3XDBcMFwwfVwwXDBcMFhcMFwwXDAiIjciCisgICJcMFwwXDBcMTVcMFwwXDBBXDBcMFwwXDIyNVwwXDBcMCIiOFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDI3MVwwXDBcMCRcMFwwXDAiCisgICJcMTc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAhXDBcMFwwPlwwXDBcMFwyMDFcMFwwXDBcMzExIgorICAiXDBcMFwwXDIwMFwwXDBcMEdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMEVcMFwwXDBcMzY0XDBcMFwwYlwwXDBcMFwzNjJcMFwwXDAiCisgICJVXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzU1XDM3N1wzNzdcMzc3XDM3N1wwXDBcMFwzNTVcMzc3XDM3N1wzNzdcMzc3IgorICAiXDBcMFwwXDM1NlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3NlwyNTBcMjUwXDI1MFwzNzdcMFwwXDBcMzU1XDI2N1wyNjciCisgICJcMjY3XDM3N1wwXDBcMFwzNTZcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMHtcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMHpcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wzMjNcMzIxXDMxNlwzNzdcMjc0XDI3MlwyNjUiCisgICJcMzc3XDI1NFwyNTJcMjQ0XDM3N1wyMzBcMjI2XDIxN1wzNzdcMjMwXDIyNlwyMTdcMzc3XDIzMFwyMjZcMjE3XDM3NyIKKyAgIlwyMzBcMjI2XDIxN1wzNzdcMjMwXDIyNlwyMTdcMzc3XDIzMFwyMjZcMjE3XDM3N1wyMzBcMjI2XDIxN1wzNzdcMjMwIgorICAiXDIyNlwyMTdcMzc3XDIzMFwyMjZcMjE3XDM3N1wyMzBcMjI2XDIxN1wzNzdcMjMwXDIyNlwyMTdcMzc3XDIzMFwyMjYiCisgICJcMjE3XDM3N1wyMzBcMjI2XDIxN1wzNzdcMjMwXDIyNlwyMTdcMzc3enhyXDM3N2JgW1wzNzdVU09cMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwyM1wwXDBcMFwwXDBcMFwwXDM3N1wyNTdcMjU1XDI1MVwzNzdcMjM0XDIzMlwyMjVcMzc3XDIwNFwyMDJ8IgorICAiXDM3N2ZkXVwzNzdmZF1cMzc3ZmRdXDM3N2ZkXVwzNzdmZF1cMzc3ZmRdXDM3N2ZkXVwzNzdmZF1cMzc3ZmRdXDM3N2YiCisgICJkXVwzNzdmZF1cMzc3ZmRdXDM3N2ZkXVwzNzdmZF1cMzc3UlBKXDM3N1JQSlwzNzdBQDtcMzc3XDBcMFwwXDM3N1wwXDAiCisgICJcMCxcMFwwXDBcM1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDAiIjZcMFwwXDBcN1wwXDBcMFwzNzdcMzE1XDMxNVwzMTVcMzc3VlZWXDM3NyIKKyAgIlwwXDBcMFwzNzdcMzEyXDMxMlwzMTJcMzc3VlZWXDM3N1wwXDBcMFwzNzdcMzEwXDMxMFwzMTBcMzc3VlZWXDM3N1wwIgorICAiXDBcMFwzNzdcMzA1XDMwNVwzMDVcMzc3XDMwMlwzMDJcMzAyXDM3N1wyNzFcMjcxXDI3MVwzNzdcMzAzXDMwM1wzMDMiCisgICJcMzc3VlZWXDM3N1wwXDBcMFwzNzdcMzAwXDMwMFwzMDBcMzc3VlZWXDM3N1wwXDBcMFwzNzdcMjc2XDI3NlwyNzZcMzc3IgorICAiXDI3MFwyNzBcMjcwXDM3N1wwXDBcMFwzNzdcMFwwXDBcNzdcMFwwXDBcMTRcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgImtra1wzNzdcMFwwXDBcMzc3XDM3NFwzNzRcMzc0XDM3N2tra1wzNzdcMFwwXDBcMzc3XDM3MFwzNzBcMzcwXDM3N2trIgorICAia1wzNzdcMFwwXDBcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjFcMzYxXDM2MVwzNzdcMzQ2XDM0NlwzNDZcMzc3XDM2MlwzNjIiCisgICJcMzYyXDM3N2tra1wzNzdcMFwwXDBcMzc3XDM2MFwzNjBcMzYwXDM3N2tra1wzNzdcMFwwXDBcMzc3XDM1NVwzNTVcMzU1IgorICAiXDM3N1wzNDZcMzQ2XDM0NlwzNzdcMFwwXDBcMzc3XDBcMFwwRVwwXDBcMFwyMlwwXDBcMFwzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3a2trXDM3N1wwXDBcMFwzNzdcMzczXDM3M1wzNzNcMzc3a2trXDM3N1wwXDBcMFwzNzdcMzY3XDM2N1wzNjdcMzc3IgorICAia2trXDM3N1wwXDBcMFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNDVcMzQ1XDM0NVwzNzdcMzYyIgorICAiXDM2MlwzNjJcMzc3a2trXDM3N1wwXDBcMFwzNzdcMzU3XDM1N1wzNTdcMzc3a2trXDM3N1wwXDBcMFwzNzdcMzU0XDM1NCIKKyAgIlwzNTRcMzc3XDM0NVwzNDVcMzQ1XDM3N1wwXDBcMFwzNzdcMFwwXDBEXDBcMFwwXDIzXDBcMFwwXDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdra2tcMzc3XDBcMFwwXDM3N1wzNzJcMzcyXDM3MlwzNzdra2tcMzc3XDBcMFwwXDM3N1wzNjdcMzY3XDM2NyIKKyAgIlwzNzdra2tcMzc3XDBcMFwwXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzYwXDM2MFwzNjBcMzc3XDM0NFwzNDRcMzQ0XDM3NyIKKyAgIlwzNjJcMzYyXDM2MlwzNzdra2tcMzc3XDBcMFwwXDM3N1wzNTZcMzU2XDM1NlwzNzdra2tcMzc3XDBcMFwwXDM3N1wzNTMiCisgICJcMzUzXDM1M1wzNzdcMzQ0XDM0NFwzNDRcMzc3XDBcMFwwXDM3N1wwXDBcMERcMFwwXDBcMjBcMFwwXDBcMzc3XDM3NiIKKyAgIlwzNzZcMzc2XDM3N05OTlwzNzdcMFwwXDBcMzc3XDM3MlwzNzJcMzcyXDM3N05OTlwzNzdcMFwwXDBcMzc3XDM2NlwzNjYiCisgICJcMzY2XDM3N05OTlwzNzdcMFwwXDBcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNTdcMzU3XDM1N1wzNzdcMzQ0XDM0NFwzNDQiCisgICJcMzc3XDM2MVwzNjFcMzYxXDM3N05OTlwzNzdcMFwwXDBcMzc3XDM1NlwzNTZcMzU2XDM3N05OTlwzNzdcMFwwXDBcMzc3IgorICAiXDM1M1wzNTNcMzUzXDM3N1wzNDNcMzQzXDM0M1wzNzdcMFwwXDBcMzc3XDBcMFwwRFwwXDBcMFwxNlwwXDBcMFwzNzciCisgICJcMzc1XDM3NVwzNzVcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNjBcMzYwXDM2MFwzNzdcMzcyXDM3MlwzNzJcMzc3XDM2NyIKKyAgIlwzNjdcMzY3XDM3N1wzNTRcMzU0XDM1NFwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNDdcMzQ3IgorICAiXDM0N1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNDNcMzQzXDM0M1wzNzdcMzYwXDM2MFwzNjAiCisgICJcMzc3XDM1MlwzNTJcMzUyXDM3N1wzMzZcMzM2XDMzNlwzNzdcMzU2XDM1NlwzNTZcMzc3XDM0NlwzNDZcMzQ2XDM3NyIKKyAgIlwzMzJcMzMyXDMzMlwzNzdcMzUzXDM1M1wzNTNcMzc3XDM0M1wzNDNcMzQzXDM3N1wwXDBcMFwzNzdcMFwwXDBEXDBcMCIKKyAgIlwwXDE2XDBcMFwwXDM3N1wzNzRcMzc0XDM3NFwzNzdcMzczXDM3M1wzNzNcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNzJcMzcyIgorICAiXDM3MlwzNzdcMzY2XDM2NlwzNjZcMzc3XDM1M1wzNTNcMzUzXDM3N1wzNjZcMzY2XDM2NlwzNzdcMzYyXDM2MlwzNjIiCisgICJcMzc3XDM0N1wzNDdcMzQ3XDM3N1wzNjNcMzYzXDM2M1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM0MlwzNDJcMzQyXDM3NyIKKyAgIlwzNjBcMzYwXDM2MFwzNzdcMzUxXDM1MVwzNTFcMzc3XDMzNlwzMzZcMzM2XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzQ1IgorICAiXDM0NVwzNDVcMzc3XDMzMVwzMzFcMzMxXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzQyXDM0MlwzNDJcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMERcMFwwXDBcMTZcMFwwXDBcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzNcMzczXDM3M1wzNzdcMzcwXDM3MFwzNzAiCisgICJcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzNcMzczXDM3M1wzNzdcMzY2XDM2NlwzNjZcMzc3XDM3M1wzNzNcMzczXDM3NyIKKyAgIlwzNzFcMzcxXDM3MVwzNzdcMzY2XDM2NlwzNjZcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzYzIgorICAiXDM2M1wzNjNcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNjZcMzY2XDM2NlwzNzdcMzYxXDM2MVwzNjFcMzc3XDM3MFwzNzAiCisgICJcMzcwXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNDFcMzQxXDM0MSIKKyAgIlwzNzdcMFwwXDBcMzc3XDBcMFwwRFwwXDBcMFwxNlwwXDBcMFwzNzdcMzAxXDMwMVwzMDFcMzc3XDMwMFwzMDBcMzAwIgorICAiXDM3N1wyNjdcMjY3XDI2N1wzNzdcMzAxXDMwMVwzMDFcMzc3XDI3NVwyNzVcMjc1XDM3N1wyNzBcMjcwXDI3MFwzNzciCisgICJcMjc1XDI3NVwyNzVcMzc3XDI3MlwyNzJcMjcyXDM3N1wyNjRcMjY0XDI2NFwzNzdcMjcyXDI3MlwyNzJcMzc3XDI3MCIKKyAgIlwyNzBcMjcwXDM3N1wyNTFcMjUxXDI1MVwzNzdcMjcyXDI3MlwyNzJcMzc3XDI2M1wyNjNcMjYzXDM3N1wyNTFcMjUxIgorICAiXDI1MVwzNzdcMjY2XDI2NlwyNjZcMzc3XDI1N1wyNTdcMjU3XDM3N1wyNDZcMjQ2XDI0NlwzNzdcMjY0XDI2NFwyNjQiCisgICJcMzc3XDI1NVwyNTVcMjU1XDM3N1wwXDBcMFwzNzdcMFwwXDBEXDBcMFwwXDE2XDBcMFwwblwwXDBcMFwzNzdcMFwwXDAiCisgICJcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDIyN1wwXDBcMFw3N1wwIgorICAiXDBcMFwxNFwwXDBcMFw2XDBcMFwwI1wwXDBcMD5cMFwwXDBEXDBcMFwwRFwwXDBcMERcMFwwXDBEXDBcMFwwRFwwXDAiCisgICJcMERcMFwwXDBEXDBcMFwwRFwwXDBcMERcMFwwXDBEXDBcMFwwRFwwXDBcMERcMFwwXDBEXDBcMFwwRFwwXDBcMERcMCIKKyAgIlwwXDBEXDBcMFwwRFwwXDBcMERcMFwwXDBcNzdcMFwwXDAjXDBcMFwwXDZcMFwwXDBcMVwwXDBcMFw2XDBcMFwwXDE0IgorICAiXDBcMFwwXDE1XDBcMFwwXDE2XDBcMFwwXDE2XDBcMFwwXDE2XDBcMFwwXDE2XDBcMFwwXDE2XDBcMFwwXDE2XDBcMFwwIgorICAiXDE2XDBcMFwwXDE2XDBcMFwwXDE2XDBcMFwwXDE2XDBcMFwwXDE2XDBcMFwwXDE2XDBcMFwwXDE2XDBcMFwwXDE2XDAiCisgICJcMFwwXDE2XDBcMFwwXDE2XDBcMFwwXDE2XDBcMFwwXDE0XDBcMFwwXDZcMFwwXDBcMSJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfYXV0aGVudGljYXRpb24pCisjZW5kaWYKKyNpZmRlZiBfX0dOVUNfXworc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja19hdXRoZW50aWNhdGlvbltdIF9fYXR0cmlidXRlX18gKChfX2FsaWduZWRfXyAoNCkpKSA9IAorI2Vsc2UKK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfYXV0aGVudGljYXRpb25bXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICg5MjE2KSAqLworICAiXDBcMCRcMzAiCisgIC8qIHBpeGRhdGFfdHlwZSAoMHgxMDEwMDAyKSAqLworICAiXDFcMVwwXDIiCisgIC8qIHJvd3N0cmlkZSAoMTkyKSAqLworICAiXDBcMFwwXDMwMCIKKyAgLyogd2lkdGggKDQ4KSAqLworICAiXDBcMFwwIiIwIgorICAvKiBoZWlnaHQgKDQ4KSAqLworICAiXDBcMFwwIiIwIgorICAvKiBwaXhlbF9kYXRhOiAqLworICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwxXDBcMFwwXDJcMFwwXDBcMyIKKyAgIlwwXDBcMFw0XDBcMFwwXDVcMFwwXDBcNVwwXDBcMFw1XDBcMFwwXDRcMFwwXDBcM1wwXDBcMFwyXDBcMFwwXDFcMFwwIgorICAiXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwxXDBcMFwwXDJcMFwwXDBcNFwwXDBcMFw3XDBcMFwwXDEyXDBcMFwwXDE2XDBcMFwwXDIxXDBcMFwwXDIzXDBcMCIKKyAgIlwwXDIzXDBcMFwwXDIzXDBcMFwwXDIxXDBcMFwwXDE2XDBcMFwwXDEyXDBcMFwwXDdcMFwwXDBcNFwwXDBcMFwyXDBcMCIKKyAgIlwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFw0XDBcMFwwXDEwXDBcMCIKKyAgIlwwXDE2XDBcMFwwZ1wwXDBcMFwyNTNcMFwwXDBcMzMyXDBcMFwwXDM2NlwxXDFcMVwzNzdcMFwwXDBcMzY2XDBcMFwwIgorICAiXDMzNFwwXDBcMFwyNjBcMFwwXDBxXDBcMFwwXDM2XDBcMFwwXDI1XDBcMFwwXDE2XDBcMFwwXDEwXDBcMFwwXDRcMFwwIgorICAiXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDJcMFwwXDBcNVwwXDBcMFwxNFwwXDBcMFwyMDNcMFwwXDBcMzU0IgorICAiXDFcMVwxXDM3N1wyMzNcMjMzXDIzM1wzNzdcMzIwXDMyMFwzMjBcMzc3XDM0M1wzNDNcMzQzXDM3N1wzNTFcMzUxXDM1MSIKKyAgIlwzNzdcMzM1XDMzNVwzMzVcMzc3XDMwNlwzMDZcMzA2XDM3N1wyMjFcMjIxXDIyMVwzNzdcMVwxXDFcMzc3XDBcMFwwIgorICAiXDM1NlwwXDBcMFwyMjFcMFwwXDAjXDBcMFwwXDI3XDBcMFwwXDE1XDBcMFwwXDVcMFwwXDBcMlwwXDBcMFwxXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMlwwIgorICAiXDBcMFw3XDBcMFwwPlwwXDBcMFwzMjBcMVwxXDFcMzc3XDI3NlwyNzZcMjc2XDM3N1wzNTJcMzUyXDM1MlwzNzdcMzYxIgorICAiXDM2MVwzNjFcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1MlwzNTIiCisgICJcMzUyXDM3N1wzNDZcMzQ2XDM0NlwzNzdcMzQyXDM0MlwzNDJcMzc3XDMzMFwzMzBcMzMwXDM3N1wyMzRcMjM0XDIzNCIKKyAgIlwzNzdcMVwxXDFcMzc3XDBcMFwwXDMzMFwwXDBcMFdcMFwwXDBcMzZcMFwwXDBcMjBcMFwwXDBcN1wwXDBcMFwyXDBcMCIKKyAgIlwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcNyIKKyAgIlwwXDBcMFJcMFwwXDBcMzY2YGBgXDM3N1wzNDNcMzQzXDM0M1wzNzdcMzYzXDM2M1wzNjNcMzc3XDM2MFwzNjBcMzYwIgorICAiXDM3N1wzNTRcMzU0XDM1NFwzNzdcMzQ2XDM0NlwzNDZcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDNcMzQzXDM0M1wzNzciCisgICJcMzQyXDM0MlwzNDJcMzc3XDM0MlwzNDJcMzQyXDM3N1wzNDJcMzQyXDM0MlwzNzdcMzQxXDM0MVwzNDFcMzc3XDMyNiIKKyAgIlwzMjZcMzI2XDM3N1wyNjdcMjY3XDI2N1wzNzdFRUVcMzc3XDBcMFwwXDM2N1wwXDBcMG1cMFwwXDBcIlwwXDBcMFwyMiIKKyAgIlwwXDBcMFw3XDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMCIKKyAgIlwwXDVcMFwwXDA+XDBcMFwwXDM2NlwyMDVcMjA1XDIwNVwzNzdcMzU0XDM1NFwzNTRcMzc3XDM2M1wzNjNcMzYzXDM3NyIKKyAgIlwzNTJcMzUyXDM1MlwzNzdcMzQzXDM0M1wzNDNcMzc3XDMzMVwzMzFcMzMxXDM3N1wzMTZcMzE2XDMxNlwzNzdcMzAyIgorICAiXDMwMlwzMDJcMzc3XDMwMlwzMDJcMzAyXDM3N1wzMTRcMzE0XDMxNFwzNzdcMzI1XDMyNVwzMjVcMzc3XDMzNFwzMzQiCisgICJcMzM0XDM3N1wzNDBcMzQwXDM0MFwzNzdcMzM1XDMzNVwzMzVcMzc3XDMxMFwzMTBcMzEwXDM3N1wyNzFcMjcxXDI3MSIKKyAgIlwzNzdiYmJcMzc3XDBcMFwwXDM3MFwwXDBcMFlcMFwwXDAhXDBcMFwwXDE3XDBcMFwwXDVcMFwwXDBcMVwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFw0XDBcMFwwXDE1XDBcMFwwXDMyMF5eXlwzNzdcMzU0XDM1NFwzNTQiCisgICJcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNTBcMzUwXDM1MFwzNzdcMzM0XDMzNFwzMzRcMzc3XDI3NFwyNzRcMjc0XDM3MCIKKyAgIlhYWFwzNjBcMjRcMjRcMjRcMzQxXDBcMFwwXDMzM1wwXDBcMFwzMjZcMFwwXDBcMzI0e3t7XDM1MlwyNzZcMjc2XDI3NiIKKyAgIlwzNjZcMzQwXDM0MFwzNDBcMzc3XDMzN1wzMzdcMzM3XDM3N1wzMzRcMzM0XDMzNFwzNzdcMzAzXDMwM1wzMDNcMzc3IgorICAiXDI3M1wyNzNcMjczXDM3N0xMTFwzNzdcMFwwXDBcMjczXDBcMFwwIiI1XDBcMFwwXDMzXDBcMFwwXDEzXDBcMFwwXDMiCisgICJcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMTBcMFwwXDBcMjAzXDFcMVwxXDM3N1wzNDJcMzQyIgorICAiXDM0MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM1MVwzNTFcMzUxXDM3N1wzMzBcMzMwXDMzMFwzNzdcMjI3XDIyN1wyMjciCisgICJcMzU0XDBcMFwwXDM1MlwwXDBcMFwyNzRcMFwwXDBnXDBcMFwwWVwwXDBcMFNcMFwwXDBRXDBcMFwwWVwwXDBcMFwzMDUiCisgICJcMjM0XDIzNFwyMzRcMzUxXDMzNVwzMzVcMzM1XDM3MVwzNDBcMzQwXDM0MFwzNzdcMzMwXDMzMFwzMzBcMzc3XDI3MyIKKyAgIlwyNzNcMjczXDM3N1wyNjZcMjY2XDI2NlwzNzdcMVwxXDFcMzc3XDBcMFwweFwwXDBcMCpcMFwwXDBcMjNcMFwwXDBcNyIKKyAgIlwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcM1wwXDBcMFwxNVwwXDBcMFwzNTRcMjcxXDI3MVwyNzFcMzc3XDM2MyIKKyAgIlwzNjNcMzYzXDM3N1wzNTNcMzUzXDM1M1wzNzdcMzMwXDMzMFwzMzBcMzc3XDIxMlwyMTJcMjEyXDM1NlwwXDBcMFwzNDIiCisgICJcMFwwXDB9XDBcMFwwV1wwXDBcMEZcMFwwXDAiIjlcMFwwXDAiIjBcMFwwXDAuXDBcMFwwIiIxXDBcMFwwO1wwXDBcMCIKKyAgIlwyMjRcMjIyXDIyMlwyMjJcMzM3XDMzM1wzMzNcMzMzXDM2N1wzMzdcMzM3XDMzN1wzNzdcMzE2XDMxNlwzMTZcMzc3IgorICAiXDI2M1wyNjNcMjYzXDM3N1wyMjNcMjIzXDIyM1wzNzdcMFwwXDBcMzEzXDBcMFwwOlwwXDBcMFwzNlwwXDBcMFwxM1wwIgorICAiXDBcMFwzXDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcNlwwXDBcMEVcMVwxXDFcMzc3XDM1MlwzNTJcMzUyXDM3N1wzNjFcMzYxIgorICAiXDM2MVwzNzdcMzM1XDMzNVwzMzVcMzc3XDMwMFwzMDBcMzAwXDM3N1wyXDJcMlwzNTBcMFwwXDBcMjE0XDBcMFwwVFwwIgorICAiXDBcMDxcMFwwXDApXDBcMFwwXDM0XDBcMFwwXDI1XDBcMFwwXDIzXDBcMFwwXDI2XDBcMFwwXDM3XDBcMFwwLlwwXDAiCisgICJcMFwyNDBcMjQyXDI0MlwyNDJcMzM3XDM0NVwzNDVcMzQ1XDM3N1wzMzVcMzM1XDMzNVwzNzdcMzAwXDMwMFwzMDBcMzc3IgorICAiXDI2NlwyNjZcMjY2XDM3N1wxXDFcMVwzNzdcMFwwXDBhXDBcMFwwKVwwXDBcMFwyMlwwXDBcMFw1XDBcMFwwXDFcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDJcMFwwXDBcMTFcMFwwXDBwXDI0MFwyNDBcMjQwXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzUwXDM1MFwzNTBcMzc3IgorICAiXDMwNlwzMDZcMzA2XDM3N1wyMDFcMjAxXDIwMVwzNTRcMFwwXDBcMzIyXDBcMFwwWlwwXDBcMD5cMFwwXDAlXDBcMFwwIgorICAiXDI0XDBcMFwwXDEzXDBcMFwwXDdcMFwwXDBcNVwwXDBcMFw3XDBcMFwwXDE1XDBcMFwwXDMwXDBcMFwwIiIwXDJcMlwyIgorICAiXDMxM1wzMzRcMzM0XDMzNFwzNTdcMzUyXDM1MlwzNTJcMzc3XDMyMVwzMjFcMzIxXDM3N1wyNTZcMjU2XDI1NlwzNzciCisgICJ2dnZcMzc3XDBcMFwwXDIyMFwwXDBcMCIiNFwwXDBcMFwzMFwwXDBcMFwxMFwwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzXDBcMFwwXDE0IgorICAiXDBcMFwwXDIyM1wzMjBcMzIwXDMyMFwzNzdcMzYyXDM2MlwzNjJcMzc3XDMzMVwzMzFcMzMxXDM3N1wzMDBcMzAwXDMwMCIKKyAgIlwzNzcvLy9cMzQ1XDBcMFwwXDIxM1wwXDBcMEpcMFwwXDAsXDBcMFwwXDI1XDBcMFwwXDExXDBcMFwwXDNcMFwwXDBcMSIKKyAgIlwwXDBcMFwxXDBcMFwwXDJcMFwwXDBcNFwwXDBcMFwxM1wwXDBcMFwzMVwwXDBcMG5cMjAyXDIwMlwyMDJcMzQwXDM1NiIKKyAgIlwzNTZcMzU2XDM3N1wzMzRcMzM0XDMzNFwzNzdcMjY1XDI2NVwyNjVcMzc3XDIzN1wyMzdcMjM3XDM3N1wwXDBcMFwyNzQiCisgICJcMFwwXDA+XDBcMFwwXDM3XDBcMFwwXDEzXDBcMFwwXDNcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDRcMFwwXDBcMTZcMFwwXDBcMzI1XDM0MVwzNDFcMzQxIgorICAiXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzE0XDMxNFwzMTRcMzc3XDMwMFwzMDBcMzAwXDM3N1wxN1wxN1wxN1wzMzFcMFwwIgorICAiXDBlXDBcMFwwPVwwXDBcMFw0MFwwXDBcMFwxNlwwXDBcMFw1XDBcMFwwXDJcMFwwXDBcMVwwXDBcMFwxXDBcMFwwXDEiCisgICJcMFwwXDBcMlwwXDBcMFw1XDBcMFwwXDE3XDBcMFwwI1wzN1wzN1wzN1wzMjNcMzU0XDM1NFwzNTRcMzc3XDM0MlwzNDIiCisgICJcMzQyXDM3N1wzMDBcMzAwXDMwMFwzNzdcMjUwXDI1MFwyNTBcMzc3XDBcMFwwXDMyNVwwXDBcMEdcMFwwXDAlXDBcMCIKKyAgIlwwXDE2XDBcMFwwXDRcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwyXDBcMFwwXDdcMFwwXDBcMjRcMFwwXDBcMzM2XDM0NlwzNDZcMzQ2XDM3N1wzNTdcMzU3XDM1N1wzNzciCisgICJcMzEzXDMxM1wzMTNcMzc3XDI2N1wyNjdcMjY3XDM3N1wwXDBcMFwzMjJcMFwwXDBXXDBcMFwwIiI2XDBcMFwwXDM0XDAiCisgICJcMFwwXDE1XDBcMFwwXDEwXDBcMFwwXDVcMFwwXDBcNVwwXDBcMFw1XDBcMFwwXDVcMFwwXDBcNVwwXDBcMFwxMFwwXDAiCisgICJcMFwxNlwwXDBcMFwzNVwwXDBcMFwzMDFcMzUxXDM1MVwzNTFcMzc3XDM0NVwzNDVcMzQ1XDM3N1wzMDVcMzA1XDMwNSIKKyAgIlwzNzdcMjU2XDI1NlwyNTZcMzc3XDBcMFwwXDM2MFwwXDBcME9cMFwwXDAuXDBcMFwwXDI1XDBcMFwwXDEwXDBcMFwwIgorICAiXDNcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDJcMFwwXDBcNlwwXDBcMCIKKyAgIlwxN1wwXDBcMFwzN1wwXDBcMFwzNTRcMzMyXDMzMlwzMzJcMzc3XDM1M1wzNTNcMzUzXDM3N1wzMTJcMzEyXDMxMlwzNzciCisgICJcMjUzXDI1M1wyNTNcMzc3XDBcMFwwXDMyMlwwXDBcMFlcMFwwXDA8XDBcMFwwJVwwXDBcMFwzMlwwXDBcMFwyNlwwXDAiCisgICJcMFwyNVwwXDBcMFwyNVwwXDBcMFwyNVwwXDBcMFwyNVwwXDBcMFwyNVwwXDBcMFwyNlwwXDBcMFwzMlwwXDBcMCZcMCIKKyAgIlwwXDBcMzAwXDM0NFwzNDRcMzQ0XDM3N1wzNDNcMzQzXDM0M1wzNzdcMzEyXDMxMlwzMTJcMzc3XDI1NVwyNTRcMjUyIgorICAiXDM3N1wwXDBcMFwzNzFcMFwwXDBZXDBcMFwwO1wwXDBcMFwiXDBcMFwwXDIzXDBcMFwwXDEyXDBcMFwwXDVcMFwwXDAiCisgICJcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFw1IiIxXDI2XDdmN1wzMVwxMFwzNzc3XDMxXDEwXDM3NyIKKyAgIjdcMzFcMTBcMzc3XDIzNFJcMjdcMzc3XDI3MG4lXDM3N1wyNzFrJlwzNzdcMjQ3WlwzNFwzNzc3XDMxXDEwXDM3NzdcMzEiCisgICJcMTBcMzc3N1wzMVwxMFwzNzc3XDMxXDEwXDM3NzdcMzFcMTBcMzc3N1wzMVwxMFwzNzc3XDMxXDEwXDM3NzdcMzFcMTAiCisgICJcMzc3N1wzMVwxMFwzNzc3XDMxXDEwXDM3NzdcMzFcMTBcMzc3N1wzMVwxMFwzNzc3XDMxXDEwXDM3NzdcMzFcMTBcMzc3IgorICAiN1wzMVwxMFwzNzdcMjQ1XlwzN1wzNzdcMjc0cypcMzc3XDI3MG8nXDM3N1wyMjdVXDMyXDM3NzdcMzFcMTBcMzc3N1wzMSIKKyAgIlwxMFwzNzc3XDMxXDEwXDM3NzdcMzFcMTBcMzc3JVwyMFw1X1wwXDBcMFwzM1wwXDBcMFwxNlwwXDBcMFw1XDBcMFwwIgorICAiXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwzXDBcMFwwXDEyIiI3XDMxXDEwXDM3N1wzMTFcMjM0YlwzNzdcMzY0XDM0MVwzMTMiCisgICJcMzc3XDM2NFwzNDBcMzExXDM3N1wzNTdcMzMzXDI3NlwzNzdcMzU0XDMyNVwyNjdcMzc3XDM1M1wzMjJcMjY0XDM3NyIKKyAgIlwzNTJcMzIyXDI2M1wzNzdcMzUzXDMxN1wyNjBcMzc3XDM1MVwzMTZcMjU2XDM3N1wzNTBcMzE0XDI1M1wzNzdcMzQ3IgorICAiXDMxNFwyNTBcMzc3XDM1MFwzMDdcMjQxXDM3N1wzNDZcMzA2XDI0MVwzNzdcMzQ2XDMwNlwyNDFcMzc3XDM0NlwzMDYiCisgICJcMjQxXDM3N1wzNDZcMzA2XDI0MVwzNzdcMzQ2XDMwNlwyNDFcMzc3XDM1MFwzMDdcMjQxXDM3N1wzNTBcMzA3XDI0MSIKKyAgIlwzNzdcMzQ2XDMwNlwyNDFcMzc3XDM0NVwzMDVcMjQwXDM3N1wzNDVcMzA1XDI0MFwzNzdcMzQzXDMwMlwyMzJcMzc3IgorICAiXDM0MFwzMDBcMjMzXDM3N1wzNDBcMjc1XDIyM1wzNzdcMzM3XDI3MlwyMjJcMzc3XDMzN1wyNzJcMjE2XDM3N1wzMzUiCisgICJcMjYzXDIwNlwzNzdcMzI1XDI1NHxcMzc3XDI0MmFcMzNcMzc3N1wzMVwxMFwzNzdcMFwwXDAiIjFcMFwwXDBcMzJcMCIKKyAgIlwwXDBcMTJcMFwwXDBcM1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDRcMFwwXDBcMjAiIjdcMzFcMTBcMzc3XDM2NVwzNDZcMzIwIgorICAiXDM3N1wzNTJcMzIzXDI1N1wzNzdcMzUyXDMxN1wyNTdcMzc3XDM0M1wzMDJcMjMyXDM3N1wzMzJcMjcwXDIxM1wzNzciCisgICJcMzMyXDI2NlwyMDdcMzc3XDMzMFwyNjBcMjAxXDM3N1wzMjZcMjU2XDE3N1wzNzdcMzIzXDI1M3xcMzc3XDMyMVwyNTEiCisgICJ0XDM3N1wzMTdcMjQ1blwzNzdcMzE0XDI0M21cMzc3XDMxMlwyMzdnXDM3N1wzMTJcMjM3Z1wzNzdcMzEyXDIzN2dcMzc3IgorICAiXDMxMlwyMzdnXDM3N1wzMTJcMjM3Z1wzNzdcMzEyXDIzN2dcMzc3XDMxMlwyMzdnXDM3N1wzMTBcMjM2Z1wzNzdcMzA2IgorICAiXDIzM2NcMzc3XDMwMlwyMzBhXDM3N1wzMDJcMjIzW1wzNzdcMjc3XDIyMFJcMzc3XDI3NFwyMTBLXDM3N1wyNzVcMjA0IgorICAiQFwzNzdcMjcyfj1cMzc3XDI2M3Y0XDM3N1wyNDdqXCJcMzc3XDIxNVNcMjRcMzc3N1wzMVwxMFwzNzdcMFwwXDBFXDAiCisgICJcMFwwJlwwXDBcMFwxN1wwXDBcMFw0XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcNVwwXDBcMFwyMyIiN1wzMVwxMFwzNzdcMzY1IgorICAiXDM0NFwzMTZcMzc3XDM1MVwzMTZcMjU2XDM3N1wzNDdcMzE1XDI1MFwzNzdcMzM3XDI3NVwyMjBcMzc3XDMzMFwyNjEiCisgICJcMjAzXDM3N1wzMjVcMjU1flwzNzdcMzIyXDI1MntcMzc3XDMyMlwyNDZ3XDM3N1wzMjBcMjQ3cVwzNzdcMzE1XDI0MyIKKyAgImxcMzc3XDMxMFwyMzdoXDM3N1wzMDVcMjMzZFwzNzdcMzA0XDIzMWFcMzc3XDMwNFwyMzFhXDM3N1wzMDRcMjMxYVwzNzciCisgICJcMzA1XDIzMmJcMzc3XDMwNVwyMzJiXDM3N1wzMDVcMjMyYlwzNzdcMzA1XDIzMmJcMzc3XDMwNFwyMzFhXDM3N1wzMDIiCisgICJcMjMwXVwzNzdcMzAxXDIyNFpcMzc3XDI3N1wyMjBUXDM3N1wyNzZcMjE2T1wzNzdcMjc0XDIwN0lcMzc3XDI3MlwyMDIiCisgICJcNzdcMzc3XDI3Mn49XDM3N1wyNjF0MlwzNzdcMjQ3alwiXDM3N1wyMTNSXDI0XDM3NzdcMzFcMTBcMzc3XDBcMFwwUSIKKyAgIlwwXDBcMC5cMFwwXDBcMjNcMFwwXDBcNVwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDVcMFwwXDBcMjQiIjdcMzFcMTBcMzc3XDM2NSIKKyAgIlwzNDZcMzIwXDM3N1wzNTNcMzE3XDI2MFwzNzdcMzUxXDMxNlwyNTZcMzc3XDM0MFwyNzdcMjI3XDM3N1wzMzNcMjY0IgorICAiXDIwNlwzNzdcMzMwXDI2MFwyMDFcMzc3XDMyN1wyNTdcMjAwXDM3N1wzMjJcMjU0e1wzNzdcMzIyXDI0NndcMzc3XDMyMCIKKyAgIlwyNDZvXDM3N1wzMTRcMjQzbVwzNzdcMjY1XDIxNlxcXDM3N1wyNDB+UFwzNzdcMjMyeU1cMzc3XDIzMnlNXDM3N1wyNjIiCisgICJcMjE0WVwzNzdcMzA3XDIzNGRcMzc3XDMwN1wyMzRkXDM3N1wzMDdcMjM0ZFwzNzdcMzA1XDIzMmJcMzc3XDMwMlwyMjciCisgICJfXDM3N1wzMDJcMjIzW1wzNzdcMjc3XDIyMFRcMzc3XDI3NlwyMTZPXDM3N1wyNzRcMjA0QVwzNzdcMjcyXDIwMlw3NyIKKyAgIlwzNzdcMjY1fDhcMzc3XDI1N3MsXDM3N1wyNDNmXDM2XDM3N1wyMDdQXDI0XDM3NzdcMzFcMTBcMzc3XDBcMFwwV1wwIgorICAiXDBcMCIiMlwwXDBcMFwyNVwwXDBcMFw1XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcNVwwXDBcMFwyNSIiN1wzMVwxMFwzNzdcMzY1IgorICAiXDM0NFwzMTZcMzc3XDM1MlwzMTdcMjU3XDM3N1wzNTBcMzE1XDI1MVwzNzdcMzM3XDI3NFwyMjJcMzc3XDMyNVwyNTUiCisgICJ+XDM3N1wzMjJcMjUzfVwzNzdcMzIyXDI1MntcMzc3XDMyMFwyNTN1XDM3N1wzMjBcMjQ2b1wzNzdcMzE1XDI0M2xcMzc3IgorICAiXDI2M1wyMTZdXDM3N1wyMjR0SlwzNzd3XjxcMzc3XDQwXDMxXDIwXDM3N1wwXDBcMFwzNzdcNDBcMzFcMjBcMzc3eWAiCisgICI+XDM3N1wzMTBcMjM3aFwzNzdcMzEyXDIzN2dcMzc3XDMwN1wyMzVmXDM3N1wzMDVcMjMzZFwzNzdcMzA0XDIzMWFcMzc3IgorICAiXDMwMlwyMzBdXDM3N1wyNzdcMjIxVlwzNzdcMjc2XDIxNk9cMzc3XDI3NlwyMDZFXDM3N1wyNzRcMjAzXDc3XDM3N1wyNjYiCisgICJ8N1wzNzdcMjUybCNcMzc3XDIxNVVcMjRcMzc3N1wzMVwxMFwzNzdcMFwwXDBYXDBcMFwwIiIzXDBcMFwwXDI1XDBcMCIKKyAgIlwwXDZcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFw1XDBcMFwwXDI1IiI3XDMxXDEwXDM3N1wzNjVcMzQ0XDMxNlwzNzdcMzUxXDMxNiIKKyAgIlwyNTZcMzc3XDM1MFwzMTZcMjUxXDM3N1wzNDFcMjc0XDIyNFwzNzdcMzMyXDI2NFwyMDdcMzc3XDMzMFwyNjJcMjAxIgorICAiXDM3N1wzMjdcMjU3XDIwMFwzNzdcMzIyXDI1MntcMzc3XDMyMFwyNTBzXDM3N1wzMTdcMjQ1blwzNzdcMjIydE1cMzc3IgorICAiemA+XDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3eWBcNzdcMzc3XDMxMiIKKyAgIlwyMzdnXDM3N1wzMDVcMjMzZFwzNzdcMzA1XDIzMmJcMzc3XDMwMlwyMjdfXDM3N1wzMDFcMjI0WlwzNzdcMjc2XDIxNyIKKyAgIlFcMzc3XDI3NFwyMDdJXDM3N1wyNzJcMjAxPVwzNzdcMjY3fjpcMzc3XDI2M3k0XDM3N1wyNDZpIVwzNzdcMjEzUlwyNCIKKyAgIlwzNzc3XDMxXDEwXDM3N1wwXDBcMFhcMFwwXDAiIjNcMFwwXDBcMjVcMFwwXDBcNlwwXDBcMFwxXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDUiCisgICJcMFwwXDBcMjUiIjdcMzFcMTBcMzc3XDM2NFwzNDFcMzEzXDM3N1wzNTBcMzE1XDI1MVwzNzdcMzQ1XDMxMVwyNDRcMzc3IgorICAiXDMzNVwyNzJcMjIwXDM3N1wzMjVcMjU1flwzNzdcMzIyXDI1MntcMzc3XDMyMlwyNTJ7XDM3N1wzMjJcMjQ1dVwzNzciCisgICJcMzIxXDI0N3BcMzc3XDMxNFwyNDNtXDM3N1wyMjV1TFwzNzdcNDBcMzJcMjBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzchXDMyXDIwXDM3N1wzMjdcMjY3XDIxNlwzNzdcMzEwXDIzNmdcMzc3IgorICAiXDMwNlwyMzNjXDM3N1wzMDRcMjMxYVwzNzdcMzAyXDIyN19cMzc3XDI3N1wyMjFWXDM3N1wyNzVcMjE0TFwzNzdcMjc0IgorICAiXDIxMEVcMzc3XDI3M1wyMDI+XDM3N1wyNjZ8N1wzNzdcMjUxa1wiXDM3N1wyMTVTXDI0XDM3NzdcMzFcMTBcMzc3XDAiCisgICJcMFwwWFwwXDBcMCIiM1wwXDBcMFwyNVwwXDBcMFw2XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcNVwwXDBcMFwyNSIiN1wzMVwxMCIKKyAgIlwzNzdcMzY1XDM0NFwzMTZcMzc3XDM1MVwzMTVcMjU0XDM3N1wzNDdcMzEzXDI0NlwzNzdcMzM3XDI3NFwyMjJcMzc3IgorICAiXDMzMFwyNjBcMjAxXDM3N1wzMjZcMjU2XDE3N1wzNzdcMzIyXDI1M31cMzc3XDMyMlwyNTJ7XDM3N1wzMjFcMjQ1clwzNzciCisgICJcMzE1XDI0M2xcMzc3XDIyNndOXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDAiCisgICJcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMzQxXDMxM1wyNTVcMzc3XDMwN1wyMzVmXDM3N1wzMDRcMjMxYVwzNzdcMzAyIgorICAiXDIyN19cMzc3XDMwMFwyMjNZXDM3N1wyNzZcMjE3UVwzNzdcMjc1XDIxNExcMzc3XDI3NFwyMDVDXDM3N1wyNzJ+PVwzNzciCisgICJcMjYzeDJcMzc3XDI0N2pcIlwzNzdcMjEzUlwyNFwzNzc3XDMxXDEwXDM3N1wwXDBcMFhcMFwwXDAiIjNcMFwwXDBcMjUiCisgICJcMFwwXDBcNlwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDVcMFwwXDBcMjUiIjdcMzFcMTBcMzc3XDM2NFwzNDFcMzEzXDM3N1wzNTAiCisgICJcMzE0XDI0N1wzNzdcMzQ1XDMxMlwyNDRcMzc3XDMzNFwyNzFcMjE3XDM3N1wzMjZcMjU2XDE3N1wzNzdcMzIzXDI1MyIKKyAgInxcMzc3XDMyMlwyNTJ7XDM3N1wzMjJcMjQ1dVwzNzdcMzE3XDI0NW5cMzc3XDMxMlwyNDFrXDM3N1wyMjV1TFwzNzdcNDAiCisgICJcMzFcMjBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcNDBcMzFcMTciCisgICJcMzc3XDMzNlwzMDZcMjQ3XDM3N1wzMDJcMjMwYVwzNzdcMzAxXDIyMlZcMzc3XDI3N1wyMjBUXDM3N1wyNzVcMjE1TiIKKyAgIlwzNzdcMjc0XDIwN0lcMzc3XDI3MlwyMDJcNzdcMzc3XDI2NX06XDM3N1wyNjV4NlwzNzdcMjU1cixcMzc3XDI0NGZcMzUiCisgICJcMzc3XDIwN1BcMjRcMzc3N1wzMVwxMFwzNzdcMFwwXDBYXDBcMFwwIiIzXDBcMFwwXDI1XDBcMFwwXDZcMFwwXDBcMSIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMVwwXDBcMFw1XDBcMFwwXDI1IiI3XDMxXDEwXDM3N1wzNjVcMzQ0XDMxNlwzNzdcMzUxXDMxNVwyNTRcMzc3XDM0NyIKKyAgIlwzMTNcMjQ2XDM3N1wzMzVcMjcyXDIyMFwzNzdcMzI1XDI1NX5cMzc3XDMyMlwyNTN5XDM3N1wzMjFcMjUwclwzNzdcMzE3IgorICAiXDI0NW5cMzc3XDMxMlwyNDFrXDM3N1wzMTBcMjM3aFwzNzdcMzA1XDIzMmJcMzc3dVxcOFwzNzdcMFwwXDBcMzc3XDAiCisgICJcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N3VbN1wzNzdcMzM1XDMwN1wyNDdcMzc3XDMwMlwyMjMiCisgICJbXDM3N1wzMDFcMjIyVlwzNzdcMjc3XDIyMFJcMzc3XDI3NlwyMTZPXDM3N1wyNzRcMjEwS1wzNzdcMjc0XDIwM1w3NyIKKyAgIlwzNzdcMjY3XDE3NzxcMzc3XDI2Nnw3XDM3N1wyNjB1L1wzNzdcMjQ0aCFcMzc3XDIxMVFcMjRcMzc3N1wzMVwxMFwzNzciCisgICJcMFwwXDBYXDBcMFwwIiIzXDBcMFwwXDI1XDBcMFwwXDZcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFw1XDBcMFwwXDI1IiI3XDMxXDEwIgorICAiXDM3N1wzNjVcMzQ2XDMyMFwzNzdcMzUyXDMxN1wyNTdcMzc3XDM1MVwzMTZcMjUyXDM3N1wzNDFcMjc0XDIyNFwzNzciCisgICJcMzMzXDI2NFwyMDZcMzc3XDMzMlwyNjNcMjA1XDM3N1wzMzJcMjYzXDIwNVwzNzdcMzI2XDI1NlwxNzdcMzc3XDMyMiIKKyAgIlwyNTN5XDM3N1wzMjBcMjUwc1wzNzdcMzE3XDI0NW5cMzc3XDMxNFwyNDNtXDM3N3pgPlwzNzchXDMyXDIwXDM3N1wwIgorICAiXDBcMFwzNzdcNDBcMzJcMjFcMzc3XDIyMn5jXDM3N1wzNDNcMzE3XDI2M1wzNzdcMzI0XDI2M1wyMTBcMzc3XDMwNlwyMzMiCisgICJjXDM3N1wzMDJcMjMwXVwzNzdcMzAxXDIyNFpcMzc3XDI3N1wyMjBUXDM3N1wyNzVcMjE0TFwzNzdcMjczXDIwNERcMzc3IgorICAiXDI2N1wxNzc8XDM3N1wyNjZ6OVwzNzdcMjYxdjBcMzc3XDI0NGghXDM3N1wyMTNSXDI0XDM3NzdcMzFcMTBcMzc3XDAiCisgICJcMFwwWFwwXDBcMCIiM1wwXDBcMFwyNVwwXDBcMFw2XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcNVwwXDBcMFwyNSIiN1wzMVwxMCIKKyAgIlwzNzdcMzY0XDM0MVwzMTNcMzc3XDM1MVwzMTZcMjUyXDM3N1wzNDVcMzExXDI0NFwzNzdcMzMyXDI3MFwyMTNcMzc3IgorICAiXDMyMlwyNTR3XDM3N1wzMjJcMjQ1dVwzNzdcMzIxXDI1MHJcMzc3XDMxNVwyNDRuXDM3N1wzMTJcMjQxa1wzNzdcMzEwIgorICAiXDIzNmdcMzc3XDMwNFwyMzFhXDM3N1wzMDJcMjMwXVwzNzdcMjQ1fU1cMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwIgorICAiXDBcMzc3XDMzMVwyNzdcMjM2XDM3N1wzMTJcMjQzcVwzNzdcMzA0XDIzMWFcMzc3XDMwMlwyMzBhXDM3N1wzMDJcMjIzIgorICAiW1wzNzdcMjc3XDIyMVZcMzc3XDI3N1wyMjBUXDM3N1wyNzVcMjE0TFwzNzdcMjc0XDIxMEVcMzc3XDI3MlwyMDJcNzciCisgICJcMzc3XDI2N304XDM3N1wyNjN4MlwzNzdcMjU1byZcMzc3XDIxMVFcMjRcMzc3N1wzMVwxMFwzNzdcMFwwXDBYXDBcMCIKKyAgIlwwIiIzXDBcMFwwXDI1XDBcMFwwXDZcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFw1XDBcMFwwXDI1IiI3XDMxXDEwXDM3N1wzNjUiCisgICJcMzQ0XDMxNlwzNzdcMzUxXDMxNlwyNTJcMzc3XDM0N1wzMTNcMjQ2XDM3N1wzMzRcMjcxXDIxN1wzNzdcMzI2XDI1NiIKKyAgIlwxNzdcMzc3XDMyM1wyNTN8XDM3N1wzMjJcMjUye1wzNzdcMzIyXDI0NXVcMzc3XDMyMFwyNDZvXDM3N1wzMTJcMjQxIgorICAia1wzNzdcMzEwXDIzNmdcMzc3XDI3MlwyMjNeXDM3N1wyMjV0SlwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMzA1XDI2M1wyMzNcMzc3XDMwNFwyMzFhXDM3N1wzMDRcMjMxYVwzNzdcMzAyXDIzMGFcMzc3XDMwMVwyMjJWXDM3NyIKKyAgIlwyNzdcMjIxVlwzNzdcMjc2XDIxNk9cMzc3XDI3NFwyMDdJXDM3N1wyNzRcMjAzXDc3XDM3N1wyNjd+OlwzNzdcMjY1IgorICAieThcMzc3XDI1NXYuXDM3N1wyNTdyKlwzNzdcMjA3UFwyNFwzNzc3XDMxXDEwXDM3N1wwXDBcMFhcMFwwXDAiIjNcMFwwIgorICAiXDBcMjVcMFwwXDBcNlwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDVcMFwwXDBcMjUiIjdcMzFcMTBcMzc3XDM2NVwzNDZcMzIwXDM3NyIKKyAgIlwzNTJcMzE3XDI1N1wzNzdcMzUxXDMxNlwyNTJcMzc3XDM0MVwyNzVcMjI2XDM3N1wzMzNcMjY0XDIwNlwzNzdcMzMwIgorICAiXDI2MFwyMDFcMzc3XDMyNlwyNTZcMTc3XDM3N1wzMjJcMjU0e1wzNzdcMzIwXDI1MHNcMzc3XDMxNVwyNDNsXDM3N1wzMTIiCisgICJcMjQwaVwzNzdcMjY1XDIxN11cMzc3XDIwM2ZBXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wyMTd1VCIKKyAgIlwzNzdcMzM2XDMwNlwyNDdcMzc3XDMwNFwyMzFhXDM3N1wzMDJcMjMwXVwzNzdcMzAxXDIyMlZcMzc3XDI3N1wyMjBUIgorICAiXDM3N1wyNzVcMjE1TlwzNzdcMjc0XDIxMUdcMzc3XDI3NFwyMDNcNzdcMzc3XDI2N346XDM3N1wyNjV5OFwzNzdcMjU3IgorICAicyxcMzc3XDI3NVwyMDJCXDM3N1wyMDdQXDI0XDM3NzdcMzFcMTBcMzc3XDBcMFwwWFwwXDBcMCIiM1wwXDBcMFwyNVwwIgorICAiXDBcMFw2XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcNVwwXDBcMFwyNSIiN1wzMVwxMFwzNzdcMzY0XDM0MVwzMTNcMzc3XDM0NyIKKyAgIlwzMTRcMjUwXDM3N1wzNDZcMzA2XDI0MVwzNzdcMzMzXDI3MFwyMTZcMzc3XDMyM1wyNTN8XDM3N1wzMjJcMjUzeVwzNzciCisgICJcMzIxXDI0N3ZcMzc3XDMyMFwyNDZvXDM3N1wzMTRcMjQya1wzNzdcMzEyXDIzN2dcMzc3XDMwNVwyMzJiXDM3N1wyNjQiCisgICJcMjE1WVwzNzdsVDNcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3bVU2XDM3N1wzMzZcMzA2XDI0N1wzNzciCisgICJcMzA0XDIzMWFcMzc3XDMwMlwyMzBhXDM3N1wzMDJcMjIzW1wzNzdcMzAxXDIyMlZcMzc3XDI3N1wyMjBSXDM3N1wyNzQiCisgICJcMjEwS1wzNzdcMjczXDIwNERcMzc3XDI3Mn49XDM3N1wyNjR7N1wzNzdcMjYxdjBcMzc3XDMwMFwyMTVRXDM3N1wyMTEiCisgICJOXDI0XDM3NzdcMzFcMTBcMzc3XDBcMFwwWFwwXDBcMCIiM1wwXDBcMFwyNVwwXDBcMFw2XDBcMFwwXDFcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwIgorICAiXDBcNVwwXDBcMFwyNSIiN1wzMVwxMFwzNzdcMzY0XDM0MFwzMTFcMzc3XDM0N1wzMTNcMjQ2XDM3N1wzNDZcMzA2XDI0MSIKKyAgIlwzNzdcMzM0XDI2M1wyMDdcMzc3XDMyMVwyNTN2XDM3N1wzMjFcMjQ1clwzNzdcMzIwXDI0Nm9cMzc3XDMxNVwyNDNsIgorICAiXDM3N1wzMTBcMjM3aFwzNzdcMzA0XDIzMWFcMzc3XDI2MlwyMTNXXDM3N1wyNTRcMjAzTlwzNzdcNzciIjBcMzRcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3QDJcMzZcMzc3XDMyMlwyNzVcMjM3XDM3N1wzMTBcMjQycVwzNzciCisgICJcMzAyXDIyM1tcMzc3XDI3N1wyMjFWXDM3N1wyNzdcMjIwVFwzNzdcMjc1XDIxNU5cMzc3XDI3NFwyMTFHXDM3N1wyNzAiCisgICJcMjAwPVwzNzdcMjY1fDhcMzc3XDI2NXg2XDM3N1wyNTd0LlwzNzdcMzAwXDIxNVFcMzc3XDIwNkxcMjNcMzc3N1wzMSIKKyAgIlwxMFwzNzdcMFwwXDBYXDBcMFwwIiIzXDBcMFwwXDI1XDBcMFwwXDZcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFw1XDBcMFwwXDI1IgorICAiN1wzMVwxMFwzNzdcMzY0XDM0MVwzMTNcMzc3XDM0NlwzMTJcMjQ1XDM3N1wzNDZcMzA2XDI0MVwzNzdcMzMzXDI2NFwyMDYiCisgICJcMzc3XDMyMVwyNTN2XDM3N1wzMjBcMjQ3cVwzNzdcMzE3XDI0NW5cMzc3XDMxMlwyNDFrXDM3N1wzMTBcMjM2Z1wzNzciCisgICJcMzA0XDIzMWFcMzc3XDI2MlwyMDdTXDM3N1wyMzJ1RVwzNzdcNzciIjBcMzRcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDc3IiIwXDM0XDM3N1wyMTFoPlwzNzdcMzMyXDMwMVwyNDBcMzc3XDI3NVwyMTZQXDM3N1wyNzVcMjE1IgorICAiTlwzNzdcMjc0XDIxMEtcMzc3XDI3M1wyMDREXDM3N1wyNzJcMjAyXDc3XDM3N1wyNjd+OlwzNzdcMjY0ezdcMzc3XDI2MSIKKyAgIncyXDM3N1wyNTVxKlwzNzdcMzEyXDIzNWNcMzc3XDIwN01cMjRcMzc3N1wzMVwxMFwzNzdcMFwwXDBYXDBcMFwwIiIzIgorICAiXDBcMFwwXDI1XDBcMFwwXDZcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFw1XDBcMFwwXDI1IiI3XDMxXDEwXDM3N1wzNjRcMzQxXDMxMyIKKyAgIlwzNzdcMzUwXDMxNFwyNDdcMzc3XDM0NFwzMTBcMjQzXDM3N1wzMzJcMjcwXDIxNVwzNzdcMzIzXDI1M3xcMzc3XDMyMiIKKyAgIlwyNDZ3XDM3N1wzMjBcMjUzdVwzNzdcMzIwXDI0Nm9cMzc3XDMxM1wyNDJsXDM3N1wzMTBcMjM3aFwzNzdcMjY3XDIxNyIKKyAgIltcMzc3XDE3N2NcNzdcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdyIgorICAiWThcMzc3XDMyM1wyNjNcMjExXDM3N1wzMDJcMjMwYVwzNzdcMzAxXDIyMlZcMzc3XDI3N1wyMjFWXDM3N1wyNzZcMjE3IgorICAiUVwzNzdcMjc0XDIxMEtcMzc3XDI3NFwyMDRBXDM3N1wyNjV9OlwzNzdcMjY1fDhcMzc3XDI2MXYwXDM3N1wzMTRcMjM3IgorICAiaVwzNzdcMjExUVwyNFwzNzc3XDMxXDEwXDM3N1wwXDBcMFhcMFwwXDAiIjNcMFwwXDBcMjVcMFwwXDBcNlwwXDBcMFwxIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwxXDBcMFwwXDVcMFwwXDBcMjUiIjdcMzFcMTBcMzc3XDM2NVwzNDRcMzE2XDM3N1wzNTBcMzE1XDI1MVwzNzdcMzQ1IgorICAiXDMxMVwyNDRcMzc3XDMzNFwyNzFcMjE3XDM3N1wzMjVcMjU1flwzNzdcMzIyXDI1MntcMzc3XDMyMlwyNTN5XDM3N1wzMjEiCisgICJcMjQ3cFwzNzdcMzE3XDI0NW5cMzc3XDMxMlwyNDFrXDM3N1wzMTBcMjM3aFwzNzdcMzA1XDIzMmJcMzc3XDMwNVwyMzIiCisgICJiXDM3N1wzMDVcMjMyYlwzNzdcMzA1XDIzMmJcMzc3XDMwNVwyMzJiXDM3N1wzMDVcMjMyYlwzNzdcMzA1XDIzMmJcMzc3IgorICAiXDMwNVwyMzJiXDM3N1wzMDRcMjMxYVwzNzdcMzAyXDIyM1tcMzc3XDI3N1wyMjFWXDM3N1wyNzdcMjIwUlwzNzdcMjc0IgorICAiXDIwN0lcMzc3XDI3NFwyMDNcNzdcMzc3XDI2N346XDM3N1wyNzBcMTc3O1wzNzdcMjc0XDIwMj1cMzc3XDMxNlwyNDEiCisgICJrXDM3N1wyMTFOXDI0XDM3NzdcMzFcMTBcMzc3XDBcMFwwWFwwXDBcMCIiM1wwXDBcMFwyNVwwXDBcMFw2XDBcMFwwXDEiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDFcMFwwXDBcNVwwXDBcMFwyNSIiN1wzMVwxMFwzNzdcMzY0XDM0MVwzMTNcMzc3XDM1MFwzMTNcMjQ1XDM3N1wzNDUiCisgICJcMzExXDI0NFwzNzdcMzMyXDI3MFwyMTNcMzc3XDMyMlwyNTJ7XDM3N1wzMjJcMjQ1dVwzNzdcMzIxXDI0N3BcMzc3XDMxNSIKKyAgIlwyNDRuXDM3N1wzMTJcMjM3Z1wzNzdcMzA3XDIzNGRcMzc3XDMwNFwyMzFhXDM3N1wzMDFcMjI3XFxcMzc3XDMwMFwyMjMiCisgICJZXDM3N1wzMDBcMjIyV1wzNzdcMzAwXDIyMldcMzc3XDMwMFwyMjJXXDM3N1wzMDBcMjIyV1wzNzdcMzAwXDIyMldcMzc3IgorICAiXDMwMFwyMjJXXDM3N1wyNzdcMjIxVlwzNzdcMjc3XDIyMFJcMzc3XDI3NlwyMTZPXDM3N1wyNzRcMjExR1wzNzdcMjczIgorICAiXDIwNERcMzc3XDI3MVwyMDE+XDM3N1wyNjV8OFwzNzdcMjcwXDE3NztcMzc3XDI3NFwyMDVFXDM3N1wzMTVcMjQwalwzNzciCisgICJcMjA3UFwyNFwzNzc3XDMxXDEwXDM3N1wwXDBcMFhcMFwwXDAiIjNcMFwwXDBcMjVcMFwwXDBcNlwwXDBcMFwxXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxIgorICAiXDBcMFwwXDVcMFwwXDBcMjUiIjdcMzFcMTBcMzc3XDM2NFwzNDBcMzExXDM3N1wzNDZcMzExXDI0M1wzNzdcMzQ1XDMwNSIKKyAgIlwyNDBcMzc3XDMzMVwyNzBcMjEwXDM3N1wzMjNcMjQ2dlwzNzdcMzIwXDI0N3FcMzc3XDMxN1wyNDVuXDM3N1wzMTNcMjQyIgorICAibFwzNzdcMzEyXDIzN2dcMzc3XDMwNlwyMzNjXDM3N1wzMDVcMjMyYlwzNzdcMzA0XDIzMWFcMzc3XDMwMlwyMzBdXDM3NyIKKyAgIlwzMDJcMjMwYVwzNzdcMzAyXDIzMGFcMzc3XDMwNFwyMzFhXDM3N1wzMDRcMjMxYVwzNzdcMzA1XDIzMmJcMzc3XDMwNSIKKyAgIlwyMzJiXDM3N1wzMDRcMjMxYVwzNzdcMzAxXDIyNFpcMzc3XDMwMFwyMjNZXDM3N1wyNzdcMjIwVFwzNzdcMjc0XDIxNCIKKyAgIk1cMzc3XDI3NFwyMTFHXDM3N1wyNzZcMjEyTVwzNzdcMzA0XDIzMWFcMzc3XDI3NlwyMTNPXDM3N1wzMDdcMjM1YFwzNzciCisgICJcMjExTlwyNFwzNzc3XDMxXDEwXDM3N1wwXDBcMFdcMFwwXDAiIjNcMFwwXDBcMjVcMFwwXDBcNVwwXDBcMFwxXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxIgorICAiXDBcMFwwXDVcMFwwXDBcMjQiIjdcMzFcMTBcMzc3XDM2NFwzNDBcMzExXDM3N1wzNDZcMzEwXDI0MVwzNzdcMzQxXDMwMyIKKyAgIlwyMzRcMzc3XDMzMlwyNjNcMjA1XDM3N1wzMjFcMjQ1clwzNzdcMzE3XDI0NW5cMzc3XDMxNVwyNDNsXDM3N1wzMTBcMjM3IgorICAiaFwzNzdcMzA1XDIzM2RcMzc3XDMwMlwyMzFfXDM3N1wzMDJcMjIzW1wzNzdcMzAwXDIyMldcMzc3XDI3N1wyMjFWXDM3NyIKKyAgIlwyNzdcMjIxVlwzNzdcMzAwXDIyMldcMzc3XDMwMlwyMjNbXDM3N1wzMDFcMjI3XFxcMzc3XDMwNVwyMzJiXDM3N1wzMTAiCisgICJcMjM2Z1wzNzdcMzE1XDI0M2xcMzc3XDMxNVwyNDNsXDM3N1wzMTZcMjQxa1wzNzdcMzE2XDI0MWtcMzc3XDMyMlwyNTMiCisgICJ5XDM3N1wzMjJcMjUyd1wzNzdcMzIxXDI0NXJcMzc3XDMyNFwyNDdzXDM3N1wyNzdcMjEyTFwzNzdcMjYxczBcMzc3XDIwNyIKKyAgIk1cMjRcMzc3N1wzMVwxMFwzNzdcMFwwXDBUXDBcMFwwIiIwXDBcMFwwXDI0XDBcMFwwXDVcMFwwXDBcMVwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDAiCisgICJcMFw1XDBcMFwwXDIyIiIzXDI3XDdcMzAxXDI2MnUtXDM3N1wzMDdcMjM1YFwzNzdcMzA0XDIzMl1cMzc3XDI3NVwyMTQiCisgICJMXDM3N1wyNzJ+PVwzNzdcMjcwfjlcMzc3XDI2Nno5XDM3N1wyNjV4NlwzNzdcMjYzdTJcMzc3XDI1N3cuXDM3N1wyNTUiCisgICJyLFwzNzdcMjU0dCtcMzc3XDI1MnIpXDM3N1wyNTJyKVwzNzdcMjUycilcMzc3XDI1NnEpXDM3N1wyNTZxKVwzNzdcMjU2IgorICAicSlcMzc3XDI1NnEpXDM3N1wyNTJyKVwzNzdcMjUxbSZcMzc3XDI1MmwjXDM3N1wyNDVpXCJcMzc3XDI0M2dcNDBcMzc3IgorICAiXDI0MmVcMzVcMzc3XDIzNmFcMzFcMzc3XDIzM19cMzBcMzc3XDIzMV1cMjZcMzc3XDIyMlZcMjVcMzc3WDBcMTVcMzc3IgorICAiJlwyMVw1XDI2NFwwXDBcMEtcMFwwXDAqXDBcMFwwXDIxXDBcMFwwXDRcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFw0XDBcMFwwXDE2IgorICAiK1wyM1w2cTFcMjZcN1wzMDc3XDMxXDEwXDM3NzdcMzFcMTBcMzc3N1wzMVwxMFwzNzc3XDMxXDEwXDM3NzdcMzFcMTAiCisgICJcMzc3N1wzMVwxMFwzNzc3XDMxXDEwXDM3NzdcMzFcMTBcMzc3N1wzMVwxMFwzNzc3XDMxXDEwXDM3NzdcMzFcMTBcMzc3IgorICAiN1wzMVwxMFwzNzc3XDMxXDEwXDM3NzdcMzFcMTBcMzc3N1wzMVwxMFwzNzc3XDMxXDEwXDM3NzdcMzFcMTBcMzc3N1wzMSIKKyAgIlwxMFwzNzc3XDMxXDEwXDM3NzdcMzFcMTBcMzc3N1wzMVwxMFwzNzc3XDMxXDEwXDM3NzdcMzFcMTBcMzc3N1wzMVwxMCIKKyAgIlwzNzc3XDMxXDEwXDM3NzdcMzFcMTBcMzc3N1wzMVwxMFwzNzc3XDMxXDEwXDM3NyZcMjFcNVwyNjRcMTRcNVwxZVwwIgorICAiXDBcMDtcMFwwXDBcNDBcMFwwXDBcMTRcMFwwXDBcM1wwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMTFcMFwwXDBcMzAiCisgICJcMFwwXDAsXDBcMFwwQVwwXDBcME9cMFwwXDBVXDBcMFwwV1wwXDBcMFhcMFwwXDBYXDBcMFwwWFwwXDBcMFhcMFwwXDAiCisgICJYXDBcMFwwWFwwXDBcMFhcMFwwXDBYXDBcMFwwWFwwXDBcMFhcMFwwXDBYXDBcMFwwWFwwXDBcMFhcMFwwXDBYXDBcMCIKKyAgIlwwWFwwXDBcMFhcMFwwXDBYXDBcMFwwWFwwXDBcMFhcMFwwXDBYXDBcMFwwWFwwXDBcMFhcMFwwXDBXXDBcMFwwU1wwIgorICAiXDBcMEtcMFwwXDA7XDBcMFwwJ1wwXDBcMFwyNFwwXDBcMFw3XDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMCIKKyAgIlwwXDRcMFwwXDBcMTVcMFwwXDBcMzBcMFwwXDAkXDBcMFwwLFwwXDBcMCIiMFwwXDBcMCIiM1wwXDBcMCIiM1wwXDBcMCIKKyAgIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwIgorICAiXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjMiCisgICJcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjJcMFwwXDAiIjBcMFwwXDAiCisgICIqXDBcMFwwXDQwXDBcMFwwXDI0XDBcMFwwXDExXDBcMFwwXDNcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMlwwXDBcMFw0XDBcMFwwXDExXDBcMFwwXDE2XDBcMFwwXDIyXDBcMFwwXDI0XDBcMFwwXDI1XDBcMFwwXDI1XDAiCisgICJcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1IgorICAiXDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwIgorICAiXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI0XDAiCisgICJcMFwwXDIxXDBcMFwwXDE0XDBcMFwwXDdcMFwwXDBcM1wwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwyXDBcMFwwXDRcMFwwXDBcNVwwXDBcMFw1XDBcMFwwXDVcMFwwXDBcNVwwXDAiCisgICJcMFw1XDBcMFwwXDZcMFwwXDBcNlwwXDBcMFw2XDBcMFwwXDZcMFwwXDBcNlwwXDBcMFw2XDBcMFwwXDZcMFwwXDBcNiIKKyAgIlwwXDBcMFw2XDBcMFwwXDZcMFwwXDBcNlwwXDBcMFw2XDBcMFwwXDZcMFwwXDBcNlwwXDBcMFw2XDBcMFwwXDZcMFwwIgorICAiXDBcNlwwXDBcMFw2XDBcMFwwXDZcMFwwXDBcNVwwXDBcMFw1XDBcMFwwXDVcMFwwXDBcNFwwXDBcMFwzXDBcMFwwXDIiCisgICJcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwxXDBcMFwwXDFcMFwwXDBcMVwwXDBcMFwxXDBcMFwwXDFcMFwwXDBcMVwwXDAiCisgICJcMFwxXDBcMFwwXDFcMFwwXDBcMVwwXDBcMFwxXDBcMFwwXDFcMFwwXDBcMVwwXDBcMFwxXDBcMFwwXDFcMFwwXDBcMSIKKyAgIlwwXDBcMFwxXDBcMFwwXDFcMFwwXDBcMVwwXDBcMFwxXDBcMFwwXDFcMFwwXDBcMVwwXDBcMFwxXDBcMFwwXDFcMFwwIgorICAiXDBcMVwwXDBcMFwxXDBcMFwwXDFcMFwwXDBcMVwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAifTsKKworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnbm9tZS9saWJnbm9tZXVpL25vLXBpeGJ1Zi1jc291cmNlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWV1aS9uby1waXhidWYtY3NvdXJjZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMDc2NWJhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWV1aS9uby1waXhidWYtY3NvdXJjZS5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gbGliZ25vbWV1aS0yLjYuMS4xL2NvbmZpZ3VyZS5pbi5vbGQJMjAwNC0wOC0wNCAwMDoyODo0My41ODIyNjY2NjQgKzAxMDAKKysrKyBsaWJnbm9tZXVpLTIuNi4xLjEvY29uZmlndXJlLmluCTIwMDQtMDgtMDQgMDA6Mjk6MjcuNDk2NTkwNjcyICswMTAwCitAQCAtMjM1LDcgKzIzNSw3IEBACisgCisgZG5sIFRoaXMgaXMgaW5zdGFsbGVkIGZyb20gR1RLKyAyLjAncyBnZGstcGl4YnVmCisgQUNfUEFUSF9QUk9HKEdES19QSVhCVUZfQ1NPVVJDRSwgZ2RrLXBpeGJ1Zi1jc291cmNlKQorLXRlc3QgLXogIiRHREtfUElYQlVGX0NTT1VSQ0UiICYmIEFDX01TR19FUlJPUihbCisrdGVzdCAteiAiJEdES19QSVhCVUZfQ1NPVVJDRSIgJiYgQUNfTVNHX1dBUk4oWworICoqKiBZb3UgbmVlZCB0aGUgZ2RrLXBpeGJ1Zi1jc291cmNlIHRvb2wgd2hpY2ggaXMgaW5zdGFsbGVkCisgKioqIGZyb20gR1RLKyAyLjAncyBnZGstcGl4YnVmLgorICoqKgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWV1aV8yLjI0LjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnbm9tZS9saWJnbm9tZXVpXzIuMjQuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZmIyNzg2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWV1aV8yLjI0LjMuYmIKQEAgLTAsMCArMSw3IEBACityZXF1aXJlIGxpYmdub21ldWkuaW5jCisKK1BSID0gInIxIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJjZWFiNmY0MzcwNTgxZDFhMDNjMDlmMTVjYzEwMzA5OSIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjA0YzgxZjNiYjVhMzM3Y2RmM2VkMTIzMDkxNmY4MmQyOTg1N2VlOTVlYjg4NGY1OGRkMmY1YzY4NjBlZmU4MDMiCitHTk9NRV9DT01QUkVTU19UWVBFPSJiejIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnc2YvZmlsZXMvMDAwMS1jb25maWd1cmUuYWMtZHJvcC1hLWNvcHktcGFzdGUtb2YtaW50cm9zcGVjdGlvbi5tNC1tLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ3NmL2ZpbGVzLzAwMDEtY29uZmlndXJlLmFjLWRyb3AtYS1jb3B5LXBhc3RlLW9mLWludHJvc3BlY3Rpb24ubTQtbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzAwOTBlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ3NmL2ZpbGVzLzAwMDEtY29uZmlndXJlLmFjLWRyb3AtYS1jb3B5LXBhc3RlLW9mLWludHJvc3BlY3Rpb24ubTQtbS5wYXRjaApAQCAtMCwwICsxLDEwMyBAQAorRnJvbSAxNmQyYzJlNzQzNTBmZGE1NTA1OTgyZmIxNTBlNzJhZjdhZWU3NDU0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBGcmksIDE5IEZlYiAyMDE2IDE2OjIzOjU2ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZS5hYzogZHJvcCBhIGNvcHktcGFzdGUgb2YgaW50cm9zcGVjdGlvbi5tNCBtYWNyb3MKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDc4ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgNzcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDU0Zjc2NjMuLjMwMzg1MzUgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTc3LDgzICs3Nyw3IEBAIGxpYmdzZl9yZXFzPSIKKyAiCisgCisgUEtHX0NIRUNLX01PRFVMRVMoTElCR1NGLCAkbGliZ3NmX3JlcXMpCistIyBHT2JqZWN0IEludHJvc3BlY3Rpb24KKy1HSVJfUkVRPTEuMC4wCistQUNfQVJHX0VOQUJMRShpbnRyb3NwZWN0aW9uLAorLSAgICAgICAgICBBU19IRUxQX1NUUklORyhbLS1lbmFibGUtaW50cm9zcGVjdGlvbls9QDw6QG5vL2F1dG8veWVzQDo+QF1dLAorLSAgICAgICAgICAgICAgICAgICAgICAgICBbRW5hYmxlIGludHJvc3BlY3Rpb24gZm9yIHRoaXMgYnVpbGRdKSwsIAorLSAgICAgICAgICAgICAgICAgICAgICAgICBbZW5hYmxlX2ludHJvc3BlY3Rpb249bm9dKQorLQorLUFDX01TR19DSEVDS0lORyhbZm9yIGdvYmplY3QtaW50cm9zcGVjdGlvbl0pCistCistZG5sIHByZXNlbmNlL3ZlcnNpb24gY2hlY2tpbmcKKy1BU19DQVNFKFskZW5hYmxlX2ludHJvc3BlY3Rpb25dLAorLVtub10sIFsKKy0gICAgZm91bmRfaW50cm9zcGVjdGlvbj0ibm8gKGRpc2FibGVkLCB1c2UgLS1lbmFibGUtaW50cm9zcGVjdGlvbiB0byBlbmFibGUpIgorLV0sCistW3llc10sWworLSAgICBQS0dfQ0hFQ0tfRVhJU1RTKFtnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wXSwsCistICAgICAgICAgICAgICAgICAgICAgQUNfTVNHX0VSUk9SKFtnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wIGlzIG5vdCBpbnN0YWxsZWRdKSkKKy0gICAgUEtHX0NIRUNLX0VYSVNUUyhbZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMCA+PSAkR0lSX1JFUV0sCistICAgICAgICAgICAgICAgICAgICAgZm91bmRfaW50cm9zcGVjdGlvbj15ZXMsCistICAgICAgICAgICAgICAgICAgICAgQUNfTVNHX0VSUk9SKFtZb3UgbmVlZCB0byBoYXZlIGdvYmplY3QtaW50cm9zcGVjdGlvbiA+PSAkMSBpbnN0YWxsZWQgdG8gYnVpbGQgQUNfUEFDS0FHRV9OQU1FXSkpCistXSwKKy1bYXV0b10sWworLSAgICBQS0dfQ0hFQ0tfRVhJU1RTKFtnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wID49ICRHSVJfUkVRXSwgZm91bmRfaW50cm9zcGVjdGlvbj15ZXMsIGZvdW5kX2ludHJvc3BlY3Rpb249bm8pCistZG5sIENhbm9uaWNhbGl6ZSBlbmFibGVfaW50cm9zcGVjdGlvbgorLWVuYWJsZV9pbnRyb3NwZWN0aW9uPSRmb3VuZF9pbnRyb3NwZWN0aW9uCistXSwKKy1bCQorLSAgICBBQ19NU0dfRVJST1IoW2ludmFsaWQgYXJndW1lbnQgcGFzc2VkIHRvIC0tZW5hYmxlLWludHJvc3BlY3Rpb24sIHNob3VsZCBiZSBvbmUgb2YgQDw6QG5vL2F1dG8veWVzQDo+QF0pCistXSkKKy0KKy1BQ19NU0dfUkVTVUxUKFskZm91bmRfaW50cm9zcGVjdGlvbl0pCistCistaWYgdGVzdCAieCRmb3VuZF9pbnRyb3NwZWN0aW9uIiA9ICJ4eWVzIjsgdGhlbgorLSAgIGRubCBZb3UgY2FuIG92ZXJyaWRlIElOVFJPU1BFQ1RJT05fR0lSRElSIGFuZCBJTlRST1NQRUNUSU9OX1RZUEVMSUJESVIKKy0gICBkbmwgaWYgeW91IHdpc2guICBJZiB5b3Ugb3ZlcnJpZGUgdGhlIGxhdHRlciwgeW91IG1pZ2h0IHdhbnQgdG8gc2V0CistICAgZG5sIEdJX1RZUEVMSUJfUEFUSCB0byBpbmNsdWRlIHRoZSBzYW1lIGRpcmVjdG9yeS4gIEZvciBleGFtcGxlCistICAgZG5sCistICAgZG5sIEdJX1RZUEVMSUJfUEFUSD0kUFJFRklYL2xpYjY0L2dpcmVwb3NpdG9yeS0xLjAKKy0gICBkbmwgSU5UUk9TUEVDVElPTl9UWVBFTElCRElSPSRHSV9UWVBFTElCX1BBVEgKKy0gICBkbmwgSU5UUk9TUEVDVElPTl9HSVJESVI9JFBSRUZJWC9zaGFyZS9naXItMS4wCistICAgZG5sCistICAgZG5sIE5vdGUsIHRoYXQgdW5saWtlIGJpbmFyaWVzIHByb2R1Y2VkIHdpdGggbGliZ3NmLCBub3RoaW5nIHRlbGxzCistICAgZG5sIHB5dGhvbiB3aGVyZSB0byBmaW5kIGxpYmdzZiwgc28geW91IG1pZ2h0IGFsc28gbmVlZCB0byBzZXQKKy0gICBkbmwgTERfTElCUkFSWV9QQVRILgorLQorLSAgIElOVFJPU1BFQ1RJT05fU0NBTk5FUj1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1nX2lyX3NjYW5uZXIgZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMGAKKy0gICBJTlRST1NQRUNUSU9OX0NPTVBJTEVSPWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPWdfaXJfY29tcGlsZXIgZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMGAKKy0gICBJTlRST1NQRUNUSU9OX0dFTkVSQVRFPWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPWdfaXJfZ2VuZXJhdGUgZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMGAKKy0gICBpZiB0ZXN0ICJ4JElOVFJPU1BFQ1RJT05fR0lSRElSIiA9IHg7IHRoZW4KKy0gICAgIElOVFJPU1BFQ1RJT05fR0lSRElSPWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPWdpcmRpciBnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wYAorLSAgIGZpCistICAgaWYgdGVzdCAieCRJTlRST1NQRUNUSU9OX1RZUEVMSUJESVIiID0geDsgdGhlbgorLSAgICAgSU5UUk9TUEVDVElPTl9UWVBFTElCRElSPSIkKCRQS0dfQ09ORklHIC0tdmFyaWFibGU9dHlwZWxpYmRpciBnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wKSIKKy0gICBmaQorLSAgIElOVFJPU1BFQ1RJT05fQ0ZMQUdTPWAkUEtHX0NPTkZJRyAtLWNmbGFncyBnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wYAorLSAgIElOVFJPU1BFQ1RJT05fTElCUz1gJFBLR19DT05GSUcgLS1saWJzIGdvYmplY3QtaW50cm9zcGVjdGlvbi0xLjBgCistICAgSU5UUk9TUEVDVElPTl9NQUtFRklMRT1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1kYXRhZGlyIGdvYmplY3QtaW50cm9zcGVjdGlvbi0xLjBgL2dvYmplY3QtaW50cm9zcGVjdGlvbi0xLjAvTWFrZWZpbGUuaW50cm9zcGVjdGlvbgorLWVsc2UKKy0gICBJTlRST1NQRUNUSU9OX1NDQU5ORVI9CistICAgSU5UUk9TUEVDVElPTl9DT01QSUxFUj0KKy0gICBJTlRST1NQRUNUSU9OX0dFTkVSQVRFPQorLSAgIElOVFJPU1BFQ1RJT05fR0lSRElSPQorLSAgIElOVFJPU1BFQ1RJT05fVFlQRUxJQkRJUj0KKy0gICBJTlRST1NQRUNUSU9OX0NGTEFHUz0KKy0gICBJTlRST1NQRUNUSU9OX0xJQlM9CistICAgSU5UUk9TUEVDVElPTl9NQUtFRklMRT0KKy1maQorLUFDX1NVQlNUKElOVFJPU1BFQ1RJT05fU0NBTk5FUikKKy1BQ19TVUJTVChJTlRST1NQRUNUSU9OX0NPTVBJTEVSKQorLUFDX1NVQlNUKElOVFJPU1BFQ1RJT05fR0VORVJBVEUpCistQUNfU1VCU1QoSU5UUk9TUEVDVElPTl9HSVJESVIpCistQUNfU1VCU1QoSU5UUk9TUEVDVElPTl9UWVBFTElCRElSKQorLUFDX1NVQlNUKElOVFJPU1BFQ1RJT05fQ0ZMQUdTKQorLUFDX1NVQlNUKElOVFJPU1BFQ1RJT05fTElCUykKKy1BQ19TVUJTVChJTlRST1NQRUNUSU9OX01BS0VGSUxFKQorLQorLUFNX0NPTkRJVElPTkFMKEhBVkVfSU5UUk9TUEVDVElPTiwgdGVzdCAieCRmb3VuZF9pbnRyb3NwZWN0aW9uIiA9ICJ4eWVzIikKKytHT0JKRUNUX0lOVFJPU1BFQ1RJT05fQ0hFQ0soWzEuNDYuMF0pCisgZG5sIHdlIG5lZWQgdG8gY2hhbmdlIHRoZSBpbnN0YWxsIGRpcmVjdG9yaWVzIGZvciBkaXN0Y2hlY2sKKyBBQ19BUkdfV0lUSChbZ2lyLWRpcl0sCisgCUFTX0hFTFBfU1RSSU5HKAorLS0gCisyLjcuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnc2YvbGliZ3NmXzEuMTQuMjkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnc2YvbGliZ3NmXzEuMTQuMjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmU3OWVjMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmdzZi9saWJnc2ZfMS4xNC4yOS5iYgpAQCAtMCwwICsxLDI5IEBACitTVU1NQVJZID0gIkdOT01FIFN0cnVjdHVyZWQgRmlsZSBMaWJyYXJ5IgorTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZGM3MzcxYjUwODE2Yzk2ZTE0NWZhMGY4YWRlOGUyNGQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTYxNDY0Y2ZlMzQyNzk4ZWVjZWQ4MmVmZTlhZTU1ZjYzIgorCitTRUNUSU9OID0gImxpYnMiCisKK0RFUEVORFM9ICJsaWJ4bWwyIGJ6aXAyIGdsaWItMi4wIHpsaWIiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnbm9tZSBnY29uZiBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtY29uZmlndXJlLmFjLWRyb3AtYS1jb3B5LXBhc3RlLW9mLWludHJvc3BlY3Rpb24ubTQtbS5wYXRjaCIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiMzA1NmI5NGJiMzI4MWRiYzgzMTEzNzFiZmMyM2NmNzIiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI0ZDhiY2EzMzQyNGViNzExYWNkYjZhMDYwY2I0ODhiMTMyMDYzZDY5OWM0ZmEyMDFkYjI0YzJjODljNjI1MjljIgorCitHTk9NRV9DT01QUkVTU19UWVBFID0gInh6IgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tnZGstcGl4YnVmXSA9ICItLXdpdGgtZ2RrLXBpeGJ1ZiwtLXdpdGhvdXQtZ2RrLXBpeGJ1ZixnZGstcGl4YnVmIgorCitFWFRSQV9PRUNPTkYgPSAiXAorICAgIC0tZGlzYWJsZS1ndGstZG9jIFwKKyAgICAtLXdpdGgtYnoyIFwKKyIKKworUkRFUEVORFNfJHtQTn0gPSAiZ2NvbmYiIAorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS90aHVtYm5haWxlcnMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJndGtzdHlsdXMvZmlsZXMvZ3Rrc3R5bHVzLnNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ3Rrc3R5bHVzL2ZpbGVzL2d0a3N0eWx1cy5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMTMwMmVkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ3Rrc3R5bHVzL2ZpbGVzL2d0a3N0eWx1cy5zaApAQCAtMCwwICsxLDUgQEAKKyMhL2Jpbi9zaAorCitHVEtfTU9EVUxFUz1saWJndGtzdHlsdXMuc28KKworZXhwb3J0IEdUS19NT0RVTEVTCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJndGtzdHlsdXMvbGliZ3Rrc3R5bHVzXzAuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmd0a3N0eWx1cy9saWJndGtzdHlsdXNfMC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjZDc5MTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJndGtzdHlsdXMvbGliZ3Rrc3R5bHVzXzAuNS5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIkdUSyBwbHVnaW4gZm9yIHN0eWx1cyBiYXNlZCBzeXN0ZW1zIgorU0VDVElPTiA9ICJsaWJzIgorREVQRU5EUyA9ICJndGsrIgorTElDRU5TRSA9ICJMR1BMLTIuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly90YXAuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTIwO21kNT03MTc1NmVlYjE0NGU5ZWViMTc3YzY5YWE2NzJiMTYzNSIKK1BSID0gInI0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworU1JDX1VSSSA9ICJodHRwOi8vYnVydG9uaW5pLmNvbS90ZW1wLyR7QlB9LnRhci5neiBcCisgICAgZmlsZTovL2d0a3N0eWx1cy5zaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICJmYTFjODJjZDlmZDJmYWZkN2ZmMTBkNzhlYjU3ODFjNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzODNlMGEyMmE1MzdmNjUzYjhkNDE2ODgyNzc1NjBmOTU2NzhhMDQyOTY3MTk4MDg1ZWM3Y2FhMWE1Y2MyZjRjIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9YMTEvWHNlc3Npb24uZAorICAgIGluc3RhbGwgLW0gNzU1ICR7V09SS0RJUn0vZ3Rrc3R5bHVzLnNoICR7RH0vJHtzeXNjb25mZGlyfS9YMTEvWHNlc3Npb24uZC80NWd0a3N0eWx1cworfQorCisjIEhvcnJpYmxlIGJ1dCBycG0gZmFsbHMgb3ZlciBpZiB5b3UgdXNlICcqJworR1RLVkVSID0gIjIuMTAuMCIKKworRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfSBcCisgICAgICAgICAgICAgICAke2xpYmRpcn0vZ3RrLTIuMC8ke0dUS1ZFUn0vbW9kdWxlcy9saWJndGtzdHlsdXMuc28uKiIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2d0ay0yLjAvJHtHVEtWRVJ9L21vZHVsZXMvLmRlYnVnIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vZ3RrLTIuMC8ke0dUS1ZFUn0vbW9kdWxlcy9saWJndGtzdHlsdXMuc28iCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9ndGstMi4wLyR7R1RLVkVSfS9tb2R1bGVzL2xpYmd0a3N0eWx1cy4qYSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmd0b3AvbGliZ3RvcF8yLjMwLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJndG9wL2xpYmd0b3BfMi4zMC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3OWI5ZTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJndG9wL2xpYmd0b3BfMi4zMC4wLmJiCkBAIC0wLDAgKzEsMTIgQEAKK1NVTU1BUlkgPSAiTGliR1RvcDIiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2NvcHlyaWdodC50eHQ7bWQ1PWRiYzgzOWJmMTU4ZDE5YTIwZTY2MWRiMTRkYjdhNThjIgorCitpbmhlcml0IGdub21lYmFzZSBsaWJfcGFja2FnZSBndGstZG9jIGRpc3Ryb19mZWF0dXJlc19jaGVjayBnb2JqZWN0LWludHJvc3BlY3Rpb24KKyMgZGVwZW5kcyBvbiBsaWJ4YXUKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImVlMjlhOWVmNjA2NTllYmY0YjA3NWFjMjgxZjcxY2IyIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiNDYzYmNiZTU3MzdiMWI5M2YzMzQ1ZWUzNGFiZjYwMWU4ZWI4NjRmNTA3YzQ5ZmYxOTIxYzI3MzdhYmFmYzFlNSIKKworREVQRU5EUyA9ICJnbGliLTIuMCBpbnRsdG9vbC1uYXRpdmUgbGlieGF1IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliaWRsL2xpYmlkbC1uYXRpdmVfMC44LjE0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliaWRsL2xpYmlkbC1uYXRpdmVfMC44LjE0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyN2RhNWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJpZGwvbGliaWRsLW5hdGl2ZV8wLjguMTQuYmIKQEAgLTAsMCArMSwxMCBAQAorU0VDVElPTiA9ICJsaWJzIgorcmVxdWlyZSBsaWJpZGxfJHtQVn0uYmIKK2luaGVyaXQgbmF0aXZlCisKK1BSID0gInIxIgorCitERVBFTkRTID0gImJpc29uLW5hdGl2ZSBnbGliLTIuMC1uYXRpdmUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiYjhlMTBhMjE4ZmFjNzkzYTUyZDQwNGQxNGFkZWRjYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjNWQyNGQ4YzA5NjU0NjM1M2ZiYzdjZWRmMjA4MzkyZDVhMDJhZmU5ZDU2ZWJjYzFjY2NiMjU4ZDdjNGQyMjIwIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliaWRsL2xpYmlkbC5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJpZGwvbGliaWRsLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDAyMDM3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliaWRsL2xpYmlkbC5pbmMKQEAgLTAsMCArMSwxMiBAQAorREVTQ1JJUFRJT04gPSAiTGlicmFyeSBmb3IgcGFyc2luZyBDT1JCQSBJREwgZmlsZXMiCitTRUNUSU9OID0gIngxMS9nbm9tZS9saWJzIgorTElDRU5TRSA9ICJMR1BMdjIrIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworU1JDX1VSSSA9ICJodHRwOi8vZnRwLmdub21lLm9yZy9wdWIvR05PTUUvc291cmNlcy9saWJJREwvMC44L2xpYklETC0ke1BWfS50YXIuYnoyIgorCitTID0gIiR7V09SS0RJUn0vbGliSURMLSR7UFZ9IgorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vKi5zby4qIgorRklMRVNfJHtQTn0tZGV2ICs9ICIgJHtiaW5kaXJ9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliaWRsL2xpYmlkbF8wLjguMTQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJpZGwvbGliaWRsXzAuOC4xNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NmRmY2YyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliaWRsL2xpYmlkbF8wLjguMTQuYmIKQEAgLTAsMCArMSwxMyBAQAorcmVxdWlyZSBsaWJpZGwuaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU1Y2E4MTdjY2I3ZDViNWI2NjM1NTY5MGU5YWJjNjA1IgorCitERVBFTkRTID0gImdsaWItMi4wIGZsZXgtbmF0aXZlIGxpYmlkbC1uYXRpdmUiCisKK1BSID0gInIxIgorCitCSU5DT05GSUdfR0xPQiA9ICIqLWNvbmZpZy0yIgoraW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGJpbmNvbmZpZworCitTUkNfVVJJW21kNXN1bV0gPSAiYmI4ZTEwYTIxOGZhYzc5M2E1MmQ0MDRkMTRhZGVkY2IiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzVkMjRkOGMwOTY1NDYzNTNmYmM3Y2VkZjIwODM5MmQ1YTAyYWZlOWQ1NmViY2MxY2NjYjI1OGQ3YzRkMjIyMCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYnduY2svbGlid25ja18yLjMxLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJ3bmNrL2xpYnduY2tfMi4zMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyNzNlNmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJ3bmNrL2xpYnduY2tfMi4zMS4wLmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiV2luZG93IG5hdmlnYXRpb24gY29uc3RydWN0aW9uIHRvb2xraXQiCitMSUNFTlNFID0gIkxHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTVmMzBmMDcxNmRmZGQwZDkxZWI0MzllYmVjNTIyZWMyIgorCitTRUNUSU9OID0gIngxMS9saWJzIgorREVQRU5EUyA9ICJpbnRsdG9vbC1uYXRpdmUgZ3RrKyBnZGstcGl4YnVmLW5hdGl2ZSBsaWJ4cmVzIgorCitQQUNLQUdFQ09ORklHID8/PSAic3RhcnR1cC1ub3RpZmljYXRpb24iCitQQUNLQUdFQ09ORklHW3N0YXJ0dXAtbm90aWZpY2F0aW9uXSA9ICItLWVuYWJsZS1zdGFydHVwLW5vdGlmaWNhdGlvbiwtLWRpc2FibGUtc3RhcnR1cC1ub3RpZmljYXRpb24sc3RhcnR1cC1ub3RpZmljYXRpb24iCisKK2luaGVyaXQgZ25vbWViYXNlIGdvYmplY3QtaW50cm9zcGVjdGlvbgorR05PTUVfQ09NUFJFU1NfVFlQRSA9ICJ4eiIKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImYwM2UxMTM5Mjk2ZTJhM2E5MmUzYjY1YTMwODBjZDMyIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiODNmNzMyZDIwNzgxZmM4OGIyMmNkYzZhYWYyZDRmMzg4ZGI2ZDNkNGZmMjhkMWE4ZmQ0NWJlOWZiNzc0M2E5ZSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyB0byBhdm9pZCBjb25mbGljdHMgd2l0aCBsaWJ3bmNrMyByZW1vdmUgY21kbGluZSB0b29scworICAgICMgaWYgdGhlIHRvb2xzIGFyZSByZXF1cmlyZWQgYWRkIGxpYnduY2szIHRvIHlvdXIgaW1hZ2UKKyAgICBybSAke0R9JHtiaW5kaXJ9L3duY2twcm9wCisgICAgcm0gJHtEfSR7YmluZGlyfS93bmNrLXVyZ2VuY3ktbW9uaXRvcgorICAgIHJtZGlyICR7RH0ke2JpbmRpcn0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYnhrbGF2aWVyL2xpYnhrbGF2aWVyXzUuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYnhrbGF2aWVyL2xpYnhrbGF2aWVyXzUuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zODQ4NDFhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGlieGtsYXZpZXIvbGlieGtsYXZpZXJfNS4zLmJiCkBAIC0wLDAgKzEsMjYgQEAKK1NVTU1BUlkgPSAiSGVscGVyIGxpYiBmb3Iga2V5Ym9hcmQgbWFuYWdlbWVudCIKK0xJQ0VOU0UgPSAiTEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTZlMjljNjg4ZDkxMmRhMTJiNjZiNzNlMzJiMDNkODEyIgorCitERVBFTkRTID0gInhrYmNvbXAgZ3RrKyBpc28tY29kZXMgbGlieGkgbGlieG1sMiIKKworR05PTUVfQ09NUFJFU1NfVFlQRSA9ICJ4eiIKKworaW5oZXJpdCBnbm9tZWJhc2UgZ2V0dGV4dCBnb2JqZWN0LWludHJvc3BlY3Rpb24KK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjI5MGVhMmE4YWJjNDBmNzhhM2ExNmJkYWU2ZjAyODA4IgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiZWJlYzNiYzU0YjU2NTI4Mzg1MDJiOTYyMjMxNTJmYjFjZDhmY2IxNGFjZTVjYjAyZDcxOGZjMzI3NmJiZDQwNCIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC14a2ItYmluLWJhc2U9JHtiaW5kaXJ9IgorCitkb19jb25maWd1cmVfYXBwZW5kKCkgeworICAgIGZpbmQgJHtCfSAtbmFtZSBNYWtlZmlsZSB8IHhhcmdzIHNlZCAtaSBzOictSSQoaW5jbHVkZWRpciknOictSS4nOmcKKyAgICBmaW5kICR7Qn0gLW5hbWUgTWFrZWZpbGUgfCB4YXJncyBzZWQgLWkgczonLUkvdXNyL2luY2x1ZGUnOictSSR7U1RBR0lOR19JTkNESVJ9JzpnCit9CisKK2RvX2NvbXBpbGVfYXBwZW5kKCkgeworICAgIHNlZCAtaSAtZSBzOiR7U1RBR0lOR19ESVJfVEFSR0VUfTo6ZyBcCisgICAgICAgICAgIC1lIHM6LyR7VEFSR0VUX1NZU306OmcgXAorICAgICAgICAgICAgICBsaWJ4a2xhdmllci5wYworfQorCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL21ldGFjaXR5L21ldGFjaXR5L3JlbW92ZS15ZWxwLWhlbHAtcnVsZXMtdmFyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbWV0YWNpdHkvbWV0YWNpdHkvcmVtb3ZlLXllbHAtaGVscC1ydWxlcy12YXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTk3MGU5YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL21ldGFjaXR5L21ldGFjaXR5L3JlbW92ZS15ZWxwLWhlbHAtcnVsZXMtdmFyLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK1JlbW92ZSB1bnVzZWQgdmFyaWFibGUgKFlFTFBfSEVMUF9SVUxFUykKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBDb25zdGFudGluIE11c2NhIDxjb25zdGFudGlueC5tdXNjYUBpbnRlbC5jb20+CisKK0luZGV4OiBtZXRhY2l0eS0yLjM0LjEzL2RvYy9jcmVhdGluZ190aGVtZXMvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBtZXRhY2l0eS0yLjM0LjEzLm9yaWcvZG9jL2NyZWF0aW5nX3RoZW1lcy9NYWtlZmlsZS5hbQorKysrIG1ldGFjaXR5LTIuMzQuMTMvZG9jL2NyZWF0aW5nX3RoZW1lcy9NYWtlZmlsZS5hbQorQEAgLTEsNiArMSw1IEBACisgIyMjIFRoaXMgcGFydCBvZiBNYWtlZmlsZS5hbSBjYW4gYmUgY3VzdG9taXplZCBieSB5b3UuCisgCistQFlFTFBfSEVMUF9SVUxFU0AKKyAKKyAjIFRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkgaW4gL3Vzci9zaGFyZS9nbm9tZS9oZWxwLywgCisgIyBhbmQgdGhlIG5hbWUgb2YgdGhlIG1haW4gLnhtbCBmaWxlOgorSW5kZXg6IG1ldGFjaXR5LTIuMzQuMTMvZG9jL2NyZWF0aW5nX3RoZW1lcy9NYWtlZmlsZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG1ldGFjaXR5LTIuMzQuMTMub3JpZy9kb2MvY3JlYXRpbmdfdGhlbWVzL01ha2VmaWxlLmluCisrKysgbWV0YWNpdHktMi4zNC4xMy9kb2MvY3JlYXRpbmdfdGhlbWVzL01ha2VmaWxlLmluCitAQCAtNDU1LDcgKzQ1NSw2IEBAIHVuaW5zdGFsbC1hbToKKyAJbW9zdGx5Y2xlYW4tbGlidG9vbCBwZGYgcGRmLWFtIHBzIHBzLWFtIHVuaW5zdGFsbCB1bmluc3RhbGwtYW0KKyAKKyAKKy1AWUVMUF9IRUxQX1JVTEVTQAorIAorICMgVGVsbCB2ZXJzaW9ucyBbMy41OSwzLjYzKSBvZiBHTlUgbWFrZSB0byBub3QgZXhwb3J0IGFsbCB2YXJpYWJsZXMuCisgIyBPdGhlcndpc2UgYSBzeXN0ZW0gbGltaXQgKGZvciBTeXNWIGF0IGxlYXN0KSBtYXkgYmUgZXhjZWVkZWQuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9tZXRhY2l0eS9tZXRhY2l0eV8yLjM0LjEzLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbWV0YWNpdHkvbWV0YWNpdHlfMi4zNC4xMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NjJjOTBkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbWV0YWNpdHkvbWV0YWNpdHlfMi4zNC4xMy5iYgpAQCAtMCwwICsxLDMyIEBACitTRUNUSU9OID0gIngxMS93bSIKK1NVTU1BUlkgPSAiTWV0YWNpdHkgaXMgdGhlIGJvcmluZyB3aW5kb3cgbWFuYWdlciBmb3IgdGhlIGFkdWx0IGluIHlvdSIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2luY2x1ZGUvbWFpbi5oO2VuZGxpbmU9MjQ7bWQ1PWMyMjQyZGY1NTJjODgwMjgwMzE1OTg5YmFiNjI2YjkwIgorCitERVBFTkRTID0gImdzZXR0aW5ncy1kZXNrdG9wLXNjaGVtYXMgc3RhcnR1cC1ub3RpZmljYXRpb24gZ3RrKyBnY29uZiBnZGstcGl4YnVmLW5hdGl2ZSBsaWJjYW5iZXJyYSBnbm9tZS1kb2MtdXRpbHMgbGliZ3RvcCBpbnRsdG9vbC1uYXRpdmUiCitQUiA9ICJyMSIKKworaW5oZXJpdCBnbm9tZWJhc2UgdXBkYXRlLWFsdGVybmF0aXZlcyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKyMgZGVwZW5kcyBvbiBzdGFydHVwLW5vdGlmaWNhdGlvbiB3aGljaCBkZXBlbmRzIG9uIHZpcnR1YWwvbGlieDExCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitHTk9NRV9DT01QUkVTU19UWVBFID0gInh6IgorCitTUkNfVVJJICs9ICJmaWxlOi8vcmVtb3ZlLXllbHAtaGVscC1ydWxlcy12YXIucGF0Y2giCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI2ZDg5YjcxNjcyZDRmYTQ5ZmM4N2Y4M2Q2MTBkMGVmNiIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjhjZjRkYmYwZGEwYTZmMzYzNTdjZTdkYjdmODI5ZWM2ODU5MDhhNzc5MjQ1M2M2NjJmYjgxODQ1NzJiOTEwNzUiCisKK0FMVEVSTkFUSVZFXyR7UE59ID0gIngtd2luZG93LW1hbmFnZXIiCitBTFRFUk5BVElWRV9UQVJHRVRbeC13aW5kb3ctbWFuYWdlcl0gPSAiJHtiaW5kaXJ9L21ldGFjaXR5IgorQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAiCisKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLXhpbmVyYW1hIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgLWUgJ3M6JFpFTklUWTokTk9aRU5JVFk6ZycgLWUgJ3M6LVdlcnJvcjo6ZycgJHtTfS9jb25maWd1cmUuaW4KK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vdGhlbWVzICR7ZGF0YWRpcn0vZ25vbWUtY29udHJvbC1jZW50ZXIgJHtkYXRhZGlyfS9nbm9tZSIKK1JERVBFTkRTXyR7UE59ICs9ICJnc2V0dGluZ3MtZGVza3RvcC1zY2hlbWFzIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9uYXV0aWx1cy9uYXV0aWx1cy9pZGwtc3lzcm9vdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL25hdXRpbHVzL25hdXRpbHVzL2lkbC1zeXNyb290LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAwNjJjZmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9uYXV0aWx1cy9uYXV0aWx1cy9pZGwtc3lzcm9vdC5wYXRjaApAQCAtMCwwICsxLDcgQEAKK0luZGV4OiBuYXV0aWx1cy0yLjI0LjIvYWRkLWluY2x1ZGUtcHJlZml4Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbmF1dGlsdXMtMi4yNC4yLm9yaWcvYWRkLWluY2x1ZGUtcHJlZml4CTIwMDgtMTAtMDYgMTc6MjI6MjEuMDAwMDAwMDAwICswMDAwCisrKysgbmF1dGlsdXMtMi4yNC4yL2FkZC1pbmNsdWRlLXByZWZpeAkyMDA5LTA0LTA5IDE2OjAwOjA1LjAwMDAwMDAwMCArMDAwMAorQEAgLTEgKzEgQEAKKy1zZWQgLWUgJ3MvXi8gLycgLWUgJ3MvICAqLyAvZycgLWUgJ3MvIC8gLUkgL2cnIC1lICdzLyAtSSAkLy8nCisrc2VkIC1lICdzOl46IDonIC1lICdzOiAgKjogOmcnIC1lICdzOiA6IC1JICciJFNZU1JPT1QiJzpnJyAtZSAnczogLUkgJyIkU1lTUk9PVCInJDo6JwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbmF1dGlsdXMvbmF1dGlsdXMvbm8tR19ESVNBQkxFX0RFUFJFQ0FURUQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9uYXV0aWx1cy9uYXV0aWx1cy9uby1HX0RJU0FCTEVfREVQUkVDQVRFRC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40M2E2MTUyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbmF1dGlsdXMvbmF1dGlsdXMvbm8tR19ESVNBQkxFX0RFUFJFQ0FURUQucGF0Y2gKQEAgLTAsMCArMSw0NCBAQAorRnJvbSBlNzIzM2Q5OGMxMTRiMDNjN2M4Yjk2ZDFmNDE3NzA0NTJkYTE0YWE3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdteC5kZT4KK0RhdGU6IE1vbiwgMTcgT2N0IDIwMTEgMDA6NTk6MDEgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gbmF1dGlsdXMgYnVpbGQgZmFpbHMgZm9yIG5ld2VyIGdsaWIgdmVyc2lvbnMKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworYnVpbGQgd2l0aCBnbGliLTIuMCB2Mi4zMC4wIHJ1biBpbnRvIGVycm9ycyBmb3IgYXQgbGVhc3QgR19DT05TVF9SRVRVUk4gbWlzc2luZworCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ214LmRlPgorLS0tCisgY29uZmlndXJlLmluICAgIHwgICAgMiArLQorIGVlbC9NYWtlZmlsZS5hbSB8ICAgIDEgLQorIDIgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCitpbmRleCA5N2UxNzFlLi44NTlhMDk3IDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmluCisrKysgYi9jb25maWd1cmUuaW4KK0BAIC0zNDIsNyArMzQyLDcgQEAgQUNfU1VCU1QoQ09SRV9DRkxBR1MpCisgQ09SRV9MSUJTPSJgJFBLR19DT05GSUcgLS1saWJzICRDT1JFX01PRFVMRVNgICR4X2xpYnMiCisgQUNfU1VCU1QoQ09SRV9MSUJTKQorIAorLURJU0FCTEVfREVQUkVDQVRFRF9DRkxBR1M9Ii1ER19ESVNBQkxFX0RFUFJFQ0FURUQgLURHREtfUElYQlVGX0RJU0FCTEVfREVQUkVDQVRFRCIKKytESVNBQkxFX0RFUFJFQ0FURURfQ0ZMQUdTPSItREdES19QSVhCVUZfRElTQUJMRV9ERVBSRUNBVEVEIgorIEFDX1NVQlNUKERJU0FCTEVfREVQUkVDQVRFRF9DRkxBR1MpCisgCisgZG5sIE11bHRpbWVkaWEga2V5cworZGlmZiAtLWdpdCBhL2VlbC9NYWtlZmlsZS5hbSBiL2VlbC9NYWtlZmlsZS5hbQoraW5kZXggYjFmZTM1Ni4uYzFkNTZjZCAxMDA2NDQKKy0tLSBhL2VlbC9NYWtlZmlsZS5hbQorKysrIGIvZWVsL01ha2VmaWxlLmFtCitAQCAtMTAsNyArMTAsNiBAQCBJTkNMVURFUyA9CQkJCQkJXAorIAktRERBVEFESVI9XCIiJChkYXRhZGlyKSJcIgkJCVwKKyAJLURTT1VSQ0VfREFUQURJUj1cIiIkKHRvcF9zcmNkaXIpL2RhdGEiXCIJXAorIAktREdOT01FTE9DQUxFRElSPVwiIiQocHJlZml4KS8ke0RBVEFESVJOQU1FfS9sb2NhbGUiXCIJXAorLQktREdfRElTQUJMRV9ERVBSRUNBVEVECQkJCVwKKyAJLURHREtfUElYQlVGX0RJU0FCTEVfREVQUkVDQVRFRAkJCVwKKyAJLURHTUVOVV9JX0tOT1dfVEhJU19JU19VTlNUQUJMRQkJCVwKKyAJJChOVUxMKQorLS0gCisxLjcuNC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL25hdXRpbHVzL25hdXRpbHVzL25vLXRyeS1ydW4tc3RyZnRpbWUuZGlmZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL25hdXRpbHVzL25hdXRpbHVzL25vLXRyeS1ydW4tc3RyZnRpbWUuZGlmZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jY2QyOTM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbmF1dGlsdXMvbmF1dGlsdXMvbm8tdHJ5LXJ1bi1zdHJmdGltZS5kaWZmCkBAIC0wLDAgKzEsMjggQEAKKy0tLSAvdG1wL2NvbmZpZ3VyZS5pbgkyMDA5LTA0LTEzIDExOjI2OjQzLjAwMDAwMDAwMCArMDIwMAorKysrIG5hdXRpbHVzLTIuMjYuMS9jb25maWd1cmUuaW4JMjAwOS0wNC0xMyAxMToyODozNy4wMDAwMDAwMDAgKzAyMDAKK0BAIC0zNzUsMjUgKzM3NSw2IEBACisgCisgZG5sID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIAorLWRubCBzdHJmdGltZSBjaGVja3MKKy0KKy1BQ19UUllfUlVOKFsjaW5jbHVkZSA8dGltZS5oPgorLSAgICAgICAgICAgICAgICBpbnQgbWFpbiAoKQorLSAgICAgICAgICAgICAgICB7CistICAgICAgICAgICAgICAgICAgY2hhciBidWZbMTAwXTsKKy0gICAgICAgICAgICAgICAgICBzdHJ1Y3QgdG0gdG0gPSB7MH07CistICAgICAgICAgICAgICAgICAgdG0udG1feWVhciA9IDk5OworLSAgICAgICAgICAgICAgICAgIGlmIChzdHJmdGltZShidWYsIDEwMCwgIiVFWSIsICZ0bSkgPT0gNCAmJgorLQkJICAgICAgc3RyY21wIChidWYsICIxOTk5Iik9PTApCistICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKKy0gICAgICAgICAgICAgICAgICByZXR1cm4gMTsKKy0gICAgICAgICAgICAgICAgfQorLSAgICAgICAgICAgIF0sCistCSAgICBBQ19ERUZJTkUoSEFWRV9TVFJGVElNRV9FWFRFTlNJT04sIDEsIFtEZWZpbmUgaWYgc3RyZnRpbWUgc3VwcG9ydHMgJUUgYW5kICVPIG1vZGlmaWVycy5dKQorLSAgICAgICAgICAgICkKKy0KKy1kbmwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistCisgIworICMgQ2hlY2tzIGZvciBYZnQvWFJlbmRlcgorICMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL25hdXRpbHVzL25hdXRpbHVzMy9uby10cnktcnVuLXN0cmZ0aW1lLmRpZmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9uYXV0aWx1cy9uYXV0aWx1czMvbm8tdHJ5LXJ1bi1zdHJmdGltZS5kaWZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2ZDJlMTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9uYXV0aWx1cy9uYXV0aWx1czMvbm8tdHJ5LXJ1bi1zdHJmdGltZS5kaWZmCkBAIC0wLDAgKzEsNDEgQEAKK0Zyb20gZGM5YzhjZjI2NzZjOGM5MWVhMGFlMjUwY2ZlZGY4NjMzNTJmM2NjZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitEYXRlOiBGcmksIDI0IEp1biAyMDExIDIwOjI0OjA4ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGhhY2sgb3V0IGNoZWNrIHRoYXQgdHJpZXMgdG8gcnVuIGdlbmVyYXRlZCBiaW5hcmllcworCitTaWduZWQtb2ZmLWJ5OiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorLS0tCisgY29uZmlndXJlLmluIHwgICAxNyArLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgoraW5kZXggYzNhYTM3MS4uMWQzZWNkYyAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5pbgorKysrIGIvY29uZmlndXJlLmluCitAQCAtMjUxLDIyICsyNTEsNyBAQCBBQ19TVUJTVChXQVJOSU5HX0NGTEFHUykKKyAKKyBkbmwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgCistZG5sIHN0cmZ0aW1lIGNoZWNrcworLQorLUFDX1RSWV9SVU4oWyNpbmNsdWRlIDx0aW1lLmg+CistICAgICAgICAgICAgICAgIGludCBtYWluICgpCistICAgICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgICBjaGFyIGJ1ZlsxMDBdOworLSAgICAgICAgICAgICAgICAgIHN0cnVjdCB0bSB0bSA9IHswfTsKKy0gICAgICAgICAgICAgICAgICB0bS50bV95ZWFyID0gOTk7CistICAgICAgICAgICAgICAgICAgaWYgKHN0cmZ0aW1lKGJ1ZiwgMTAwLCAiJUVZIiwgJnRtKSA9PSA0ICYmCistCQkgICAgICBzdHJjbXAgKGJ1ZiwgIjE5OTkiKT09MCkKKy0gICAgICAgICAgICAgICAgICAgIHJldHVybiAwOworLSAgICAgICAgICAgICAgICAgIHJldHVybiAxOworLSAgICAgICAgICAgICAgICB9CistICAgICAgICAgICAgXSwKKy0JICAgIEFDX0RFRklORShIQVZFX1NUUkZUSU1FX0VYVEVOU0lPTiwgMSwgW0RlZmluZSBpZiBzdHJmdGltZSBzdXBwb3J0cyAlRSBhbmQgJU8gbW9kaWZpZXJzLl0pCistICAgICAgICAgICAgKQorK0FDX0RFRklORShIQVZFX1NUUkZUSU1FX0VYVEVOU0lPTiwgMSwgW0RlZmluZSBpZiBzdHJmdGltZSBzdXBwb3J0cyAlRSBhbmQgJU8gbW9kaWZpZXJzLl0pCisgCisgZG5sID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgCQorLS0gCisxLjYuNi4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL25hdXRpbHVzL25hdXRpbHVzM18zLjIuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL25hdXRpbHVzL25hdXRpbHVzM18zLjIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NjU1YzgzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbmF1dGlsdXMvbmF1dGlsdXMzXzMuMi4xLmJiCkBAIC0wLDAgKzEsNTQgQEAKKyMgbmF1dGlsdXMgT0UgYnVpbGQgZmlsZQorIyBDb3B5cmlnaHQgKEMpIDIwMDUsIEFkdmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgcGFja2FnZXMvQ09QWUlORykKKworTElDRU5TRT0iR1BMdjIgJiBMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mMDhhNDQ2ODA5OTEzZmM5YjNjNzE4ZjBlYWVhMDQyNiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9ZjMwYTk3MTZlZjM3NjJlMzQ2N2EyZjYyYmY3OTBmMGEiCisKK1BSID0gInI0IgorCitERVBFTkRTID0gImxpYm5vdGlmeSBndGsrMyBsaWJ1bmlxdWUgZ3ZmcyBsaWJyc3ZnIGxpYmV4aWYgZ25vbWUtZGVza3RvcDMiCisjIG9wdGlvbmFsOiB0cmFja2VyCisKKyMgdG8gaW5jbHVkZSBuYXV0aWx1czMvbm8tdHJ5LXJ1bi1zdHJmdGltZS5kaWZmIGJlZm9yZSB0aGUgcmVzdAorRklMRVNFWFRSQVBBVEhTX3ByZXBlbmQgOj0gIiR7VEhJU0RJUn0vJHtCUE59OiIKK0JQTiA9ICJuYXV0aWx1cyIKK2luaGVyaXQgZ25vbWUKKworU1JDX1VSSSArPSAiZmlsZTovL25vLXRyeS1ydW4tc3RyZnRpbWUuZGlmZiIKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjEyMzE0MzI4YjU5YWExZGZkODM2MTlmNzE4YjgxYmQ1IgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiYzQ4MmQ2ZTdiYWJjYzIzODMwNGNmNTU1ODZjZGY3ZTJiMjgwNjAyNTIxNGExNDNlZDM1NWYwZDg5YjMzYjE1NCIKKworRVhUUkFfT0VDT05GID0gIiAtLWRpc2FibGUtZ3RrLWRvYyAgLS1kaXNhYmxlLXVwZGF0ZS1taW1lZGIgLS1lbmFibGUtbnN0LWV4dGVuc2lvbiIKK2V4cG9ydCBTWVNST09UID0gIiR7U1RBR0lOR19ESVJfSE9TVH0iCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBzZWQgLWkgLWUgL2RvY3MvZCAke1N9L01ha2VmaWxlLmFtCisgICAgYXV0b3Rvb2xzX2RvX2NvbmZpZ3VyZQorfQorCitSREVQRU5EU18ke1BOfSA9ICJndmZzIGd2ZnNkLWZ0cCBndmZzZC1zZnRwIGd2ZnNkLXRyYXNoIGdsaWItMi4wLXV0aWxzIgorRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vaWNvbnMgXAorICAgICAgICAgICAgICAgIC91c3IvbGliZXhlYy8gXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vbmF1dGlsdXMqIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMSBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L25hdXRpbHVzL2V4dGVuc2lvbnMqLyouc28gXAorIgorRklMRVNfJHtQTn0tZGJnICs9ICIvdXNyL2xpYmV4ZWMvLmRlYnVnIFwKKyAgICAke2xpYmRpcn0vbmF1dGlsdXMvZXh0ZW5zaW9ucyovLmRlYnVnIgorCisjIERvbid0IG1ha2UgbmF1dGlscyBkcmFnIHVzIGluCitQUklWQVRFX0xJQlMgPSAibGlibmF1dGlsdXMtZXh0ZW5zaW9uLnNvLjEiCisKK3BrZ19wb3N0aW5zdF8ke1BOfSAoKSB7CitpZiBbIC1uICIkRCIgXTsgdGhlbgorICAgIGV4aXQgMQorZmkKKworZ2xpYi1jb21waWxlLXNjaGVtYXMgJHtkYXRhZGlyfS9nbGliLTIuMC9zY2hlbWFzCit9CisKKyMgMy4yLjEtcjQvbmF1dGlsdXMtMy4yLjEvZWVsL2VlbC1nbm9tZS1leHRlbnNpb25zLmM6MzQ6NTA6IGZhdGFsIGVycm9yOiBsaWJnbm9tZS1kZXNrdG9wL2dub21lLWRlc2t0b3AtdXRpbHMuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQorIyAzLjIuMS1yNC9uYXV0aWx1cy0zLjIuMS9lZWwvZWVsLWVkaXRhYmxlLWxhYmVsLmM6MzEwNTo1NTogZXJyb3I6ICdHVEtfU1RPQ0tfQ1VUJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKK1BOQkxBQ0tMSVNUW25hdXRpbHVzM10gPz0gIkJST0tFTjogZmFpbHMgdG8gYnVpbGQsIG1heWJlIG1pc3NpbmcgZGVwZW5kZW5jeSBvbiBnbm9tZS1kZXNrdG9wLXV0aWxzLmggcHJvdmlkZXIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9uYXV0aWx1cy9uYXV0aWx1c18yLjMyLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9uYXV0aWx1cy9uYXV0aWx1c18yLjMyLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDI5Mzg1ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL25hdXRpbHVzL25hdXRpbHVzXzIuMzIuMi5iYgpAQCAtMCwwICsxLDQxIEBACisjIG5hdXRpbHVzIE9FIGJ1aWxkIGZpbGUKKyMgQ29weXJpZ2h0IChDKSAyMDA1LCBBZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJbmMuICBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIHBhY2thZ2VzL0NPUFlJTkcpCisKK0xJQ0VOU0U9IkdQTHYyICYgTEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9N2MwMDQ4NTM2ZTQzNjQyYTFmM2E3MjRjMjkwOTg3MmIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PWYzMGE5NzE2ZWYzNzYyZTM0NjdhMmY2MmJmNzkwZjBhIgorCitQUiA9ICJyNiIKKworREVQRU5EUyA9ICJnZGstcGl4YnVmIGd0aysgbGlidW5pcXVlIGd2ZnMgbGlicnN2ZyBsaWJleGlmIGVzb3VuZCBnbm9tZS1kZXNrdG9wIG9yYml0Mi1uYXRpdmUiCisjIG9wdGlvbmFsOiB0cmFja2VyCisKK2luaGVyaXQgZ25vbWUgZ29iamVjdC1pbnRyb3NwZWN0aW9uCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjUxNTY1YWExMGQxNjI1ZGZmNTZlMzgxMjI4MzQ2OTExIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiMmQ0ZmYyOGM3YTdhYTVkNDBlYjI0NjgxNDk5NTRhNTY0YzI1N2EzMDUxODM3NzMwNTc1ODRkMjJkMTUzNDdhMiIKK0dOT01FX0NPTVBSRVNTX1RZUEU9ImJ6MiIKKworU1JDX1VSSSArPSAiZmlsZTovL2lkbC1zeXNyb290LnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9uby10cnktcnVuLXN0cmZ0aW1lLmRpZmYgXAorICAgICAgICAgICAgZmlsZTovL25vLUdfRElTQUJMRV9ERVBSRUNBVEVELnBhdGNoIFwKKyIKKworCitFWFRSQV9PRUNPTkYgPSAiIC0tZGlzYWJsZS1ndGstZG9jICAtLWRpc2FibGUtdXBkYXRlLW1pbWVkYiAiCitleHBvcnQgU1lTUk9PVCA9ICIke1NUQUdJTkdfRElSX0hPU1R9IgorCitkb19jb25maWd1cmUoKSB7CisgICAgc2VkIC1pIC1lIC9kb2NzL2QgJHtTfS9NYWtlZmlsZS5hbQorICAgIGF1dG90b29sc19kb19jb25maWd1cmUKKyAgICAjIFdlIG5lZWQgbmF0aXZlIG9yYml0LWlkbCB3aXRoIHRhcmdldCBpZGwgZmlsZXMuIE5vIHdheSB0byBzYXkgaXQgaW4gYSBjbGVhbiB3YXk6CisgICAgZmluZCAke0J9IC1uYW1lIE1ha2VmaWxlIC1leGVjIHNlZCAtaSAnL1wvdXNyXC9iaW5cL29yYml0LWlkbC0yL3tzOi91c3IvYmluOiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfTo7czovdXNyL3NoYXJlOiR7U1RBR0lOR19EQVRBRElSfTpnfScge30gXDsKK30KKworUkRFUEVORFNfJHtQTn0gPSAiZ3ZmcyBndmZzZC1mdHAgZ3Zmc2Qtc2Z0cCBndmZzZC10cmFzaCBnbGliLW5ldHdvcmtpbmciCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9pY29ucyIKKworIyBEb24ndCBtYWtlIG5hdXRpbHMzIGRyYWcgdXMgaW4KK1BSSVZBVEVfTElCUyA9ICJsaWJuYXV0aWx1cy1leHRlbnNpb24uc28uMSIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvb3JiaXQyL29yYml0Mi8wMDAxLWxpbmMyLXNyYy1NYWtlZmlsZS5hbS1maXgtYnVpbGQtd2l0aC1nbGliLTIuMzYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9vcmJpdDIvb3JiaXQyLzAwMDEtbGluYzItc3JjLU1ha2VmaWxlLmFtLWZpeC1idWlsZC13aXRoLWdsaWItMi4zNi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYWY3NDY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvb3JiaXQyL29yYml0Mi8wMDAxLWxpbmMyLXNyYy1NYWtlZmlsZS5hbS1maXgtYnVpbGQtd2l0aC1nbGliLTIuMzYucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorRnJvbSAxMGJkODA5NGUxZDk0ZTVjNzM3NzkxYzdmNGI2Yjg0NGY1MzVjMTIwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogRnJpLCAzIE1heSAyMDEzIDEwOjAwOjE2ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGxpbmMyL3NyYy9NYWtlZmlsZS5hbTogZml4IGJ1aWxkIHdpdGggZ2xpYiAyLjM2CitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFsxXQorCitbMV0gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjkwMAorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBsaW5jMi9zcmMvTWFrZWZpbGUuYW0gfCAgICAzICstLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGluYzIvc3JjL01ha2VmaWxlLmFtIGIvbGluYzIvc3JjL01ha2VmaWxlLmFtCitpbmRleCAzNTdhMmRkLi5iYTBlMzQ3IDEwMDY0NAorLS0tIGEvbGluYzIvc3JjL01ha2VmaWxlLmFtCisrKysgYi9saW5jMi9zcmMvTWFrZWZpbGUuYW0KK0BAIC0xMiw4ICsxMiw3IEBAIElOQ0xVREVTID0gICAgICAgICAgICAgICAgICAgICAgICAgXAorIAktSSQodG9wX2J1aWxkZGlyKS9saW5jMi9pbmNsdWRlICBcCisgCS1JJCh0b3Bfc3JjZGlyKS9saW5jMi9pbmNsdWRlICAgIFwKKyAJJChMSU5DX0NGTEFHUykgICAgICAgICAgICAgXAorLQkkKFdBUk5fQ0ZMQUdTKSAgICAgICAgICAgICBcCistCS1ER19ESVNBQkxFX0RFUFJFQ0FURUQKKysJJChXQVJOX0NGTEFHUykKKyAKKyBpZiBPU19XSU4zMgorIGVsc2UKKy0tIAorMS43LjYuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9vcmJpdDIvb3JiaXQyLzAwMDItVXNlLUFNX0NQUEZMQUdTLWluc3RlYWQtb2YtSU5DTFVERVMtYW5kLWZpeC1wcm9ibGVtLS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL29yYml0Mi9vcmJpdDIvMDAwMi1Vc2UtQU1fQ1BQRkxBR1MtaW5zdGVhZC1vZi1JTkNMVURFUy1hbmQtZml4LXByb2JsZW0tLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5OTNhYmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9vcmJpdDIvb3JiaXQyLzAwMDItVXNlLUFNX0NQUEZMQUdTLWluc3RlYWQtb2YtSU5DTFVERVMtYW5kLWZpeC1wcm9ibGVtLS5wYXRjaApAQCAtMCwwICsxLDQyIEBACitGcm9tIGQ5MWRiYjQyZGMzYjYwNzM3MjAwMjdmNjg4MjdhY2QwYWJlZTZkNzUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLamFydGFuIE1hcmFhcyA8a21hcmFhc0Bnbm9tZS5vcmc+CitEYXRlOiBUdWUsIDE0IE1heSAyMDEzIDEzOjI5OjUzICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFVzZSBBTV9DUFBGTEFHUyBpbnN0ZWFkIG9mIElOQ0xVREVTIGFuZCBmaXggcHJvYmxlbSB1c2luZworTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFsxXQorCitbMV0gaHR0cHM6Ly9naXQuZ25vbWUub3JnL2Jyb3dzZS9PUkJpdDIvY29tbWl0L3Rlc3QvZXZlcnl0aGluZy9NYWtlZmlsZS5hbT9pZD1kOTFkYmI0MmRjM2I2MDczNzIwMDI3ZjY4ODI3YWNkMGFiZWU2ZDc1CisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIHRlc3QvZXZlcnl0aGluZy9NYWtlZmlsZS5hbSB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90ZXN0L2V2ZXJ5dGhpbmcvTWFrZWZpbGUuYW0gYi90ZXN0L2V2ZXJ5dGhpbmcvTWFrZWZpbGUuYW0KK2luZGV4IDMyYmViMzYuLmNiNGIxZDYgMTAwNjQ0CistLS0gYS90ZXN0L2V2ZXJ5dGhpbmcvTWFrZWZpbGUuYW0KKysrKyBiL3Rlc3QvZXZlcnl0aGluZy9NYWtlZmlsZS5hbQorQEAgLTEwLDcgKzEwLDcgQEAgRVZFUllUSElOR19JRExPVVQgPSAgICAgICAgICBcCisgCSQoRVZFUllUSElOR19CVUlMVCkgIFwKKyAJZXZlcnl0aGluZy1pbW9kdWxlLmMKKyAKKy1JTkNMVURFUyA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorK0FNX0NQUEZMQUdTID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgCS1JJCh0b3Bfc3JjZGlyKS9pbmNsdWRlICAgICAgICAgICAgXAorIAktSSQodG9wX2J1aWxkZGlyKS9pbmNsdWRlICAgICAgICAgIFwKKyAJLUkkKHRvcF9idWlsZGRpcikvc3JjICAgICAgICAgICAgICBcCitAQCAtNzgsNyArNzgsNyBAQCBpbmNsdWRlICQodG9wX3NyY2RpcikvTWFrZWZpbGUuc2hhcmVkCisgQlVJTFRfU09VUkNFUyA9ICR7RVZFUllUSElOR19CVUlMVH0gZXZlcnl0aGluZy1pbW9kdWxlLmMKKyBDTEVBTkZJTEVTID0gJHtCVUlMVF9TT1VSQ0VTfSBpb3JmaWxlCisgCistVEVTVFMgPSAkKHNyY2RpcikvdGVzdC5zaAorK1RFU1RTID0gJCh0b3BfYnVpbGRkaXIpL3Rlc3QvZXZlcnl0aGluZy90ZXN0LnNoCisgCisgRVhUUkFfRElTVCA9ICQoSURMX0ZJTEVTKSB0ZXN0LnNoICQoaW5jbHVkZWRfc3JjKQorIAorLS0gCisxLjguMy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL29yYml0Mi9vcmJpdDIvY29uZmlndXJlLWxvc3NhZ2UucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9vcmJpdDIvb3JiaXQyL2NvbmZpZ3VyZS1sb3NzYWdlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmYzFkZTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9vcmJpdDIvb3JiaXQyL2NvbmZpZ3VyZS1sb3NzYWdlLnBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKKy0tLSBPUkJpdDItMi4xNC4xNy9jb25maWd1cmUuaW4tb3JpZwkyMDA5LTAxLTEwIDA5OjM2OjE4LjAwMDAwMDAwMCAtMDgwMAorKysrIE9SQml0Mi0yLjE0LjE3L2NvbmZpZ3VyZS5pbgkyMDA5LTA2LTE3IDE1OjEwOjU5LjAwMDAwMDAwMCAtMDcwMAorQEAgLTIxNywyMCArMjE3LDIwIEBAIGRubAorIGRubCAgIFNvIG1hbnkgcGVvcGxlIHdpdGggYnJva2VuIGxpbmtpbmcgc2V0dXBzIGFza2VkIGFib3V0IHRoaXMKKyBkbmwgaXQgdHVybmVkIG91dCB0byBiZSBuZWNlc3NhcnkgdG8gY2hlY2sgZm9yIHRoaXMuCisgZG5sCistZG9mdXNfc2F2ZV9saWJzPSIkTElCUyIKKy1MSUJTPSIkT1JCSVRfTElCUyAkTElCUyIKKy1BQ19UUllfUlVOKFsgI2luY2x1ZGUgPHN0ZGlvLmg+CistICAgICAgICAgICAgIG1haW4gKCkKKy0gICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgIHJldHVybiAwOworLSAgICAgICAgICAgICB9IF0sLAorLSAgICAgICAgICAgQUNfTVNHX0VSUk9SKFsKKy1MaW5raW5nIGlzIGJhZGx5IGJvcmtlZCBvbiB5b3VyIHN5c3RlbS4gUGxlYXNlIGVuc3VyZSB5b3VyIGxpYnJhcnkgcGF0aCBpcyBjb3JyZWN0CistQ2hlY2sgY29uZmlnLmxvZyBmb3IgZGV0YWlscyAtIGNoZWNrIG5lYXIgdGhlIGVuZCBvZiB0aGUgbG9nIGFib3ZlICdmYWlsZWQgcHJvZ3JhbSB3YXMnCistQWx0ZXJuYXRpdmVseSBlbnN1cmUgdGhhdCB5b3VyIC9ldGMvbGQuc28uY29uZiAoYW5kL29yIExEX0xJQlJBUllfUEFUSCkgaW5jbHVkZXMgdGhlCistcHJlZml4IHlvdSdyZSBjb21waWxpbmcgb246ICcke3ByZWZpeH0nIF0pLCAKKy1BQ19NU0dfV0FSTihbQ291bGQgbm90IGNoZWNrIGZvciBib3JrZWQgbGlua2luZyB3aGlsZSBjcm9zcy1jb21waWxpbmddKSkKKy1MSUJTPSIkZG9mdXNfc2F2ZV9saWJzIgorK2RubCBkb2Z1c19zYXZlX2xpYnM9IiRMSUJTIgorK2RubCBMSUJTPSIkT1JCSVRfTElCUyAkTElCUyIKKytkbmwgQUNfVFJZX1JVTihbICNpbmNsdWRlIDxzdGRpby5oPgorK2RubCAgICAgICAgICAgICBtYWluICgpCisrZG5sICAgICAgICAgICAgICB7CisrZG5sICAgICAgICAgICAgICAgIHJldHVybiAwOworK2RubCAgICAgICAgICAgICAgfSBdLCwKKytkbmwgICAgICAgICAgICBBQ19NU0dfRVJST1IoWworK2RubCBMaW5raW5nIGlzIGJhZGx5IGJvcmtlZCBvbiB5b3VyIHN5c3RlbS4gUGxlYXNlIGVuc3VyZSB5b3VyIGxpYnJhcnkgcGF0aCBpcyBjb3JyZWN0CisrZG5sIENoZWNrIGNvbmZpZy5sb2cgZm9yIGRldGFpbHMgLSBjaGVjayBuZWFyIHRoZSBlbmQgb2YgdGhlIGxvZyBhYm92ZSAnZmFpbGVkIHByb2dyYW0gd2FzJworK2RubCBBbHRlcm5hdGl2ZWx5IGVuc3VyZSB0aGF0IHlvdXIgL2V0Yy9sZC5zby5jb25mIChhbmQvb3IgTERfTElCUkFSWV9QQVRIKSBpbmNsdWRlcyB0aGUKKytkbmwgcHJlZml4IHlvdSdyZSBjb21waWxpbmcgb246ICcke3ByZWZpeH0nIF0pLCAKKytkbmwgQUNfTVNHX1dBUk4oW0NvdWxkIG5vdCBjaGVjayBmb3IgYm9ya2VkIGxpbmtpbmcgd2hpbGUgY3Jvc3MtY29tcGlsaW5nXSkpCisrZG5sIExJQlM9IiRkb2Z1c19zYXZlX2xpYnMiCisgCisgb3JpZ19DUFBGTEFHUz0kQ1BQRkxBR1MKKyBDUFBGTEFHUz0iJENQUEZMQUdTICRPUkJJVF9DRkxBR1MiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9vcmJpdDIvb3JiaXQyL3BrZ2NvbmZpZy1maXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9vcmJpdDIvb3JiaXQyL3BrZ2NvbmZpZy1maXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjYyOWU1MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL29yYml0Mi9vcmJpdDIvcGtnY29uZmlnLWZpeC5wYXRjaApAQCAtMCwwICsxLDEyIEBACitkaWZmIC11ck4gT1JCaXQyLTIuMTQuMTIub3JpZy9PUkJpdC0yLjAucGMuaW4gT1JCaXQyLTIuMTQuMTIvT1JCaXQtMi4wLnBjLmluCistLS0gT1JCaXQyLTIuMTQuMTIub3JpZy9PUkJpdC0yLjAucGMuaW4JMjAwOC0wMS0yOSAxMzo0NToyMi4wMDAwMDAwMDAgKzAxMDAKKysrKyBPUkJpdDItMi4xNC4xMi9PUkJpdC0yLjAucGMuaW4JMjAwOC0wOS0yMyAyMDoxMzowNy4wMDAwMDAwMDAgKzAyMDAKK0BAIC0yLDcgKzIsNyBAQAorIGV4ZWNfcHJlZml4PUBleGVjX3ByZWZpeEAKKyBsaWJkaXI9QGxpYmRpckAKKyBpbmNsdWRlZGlyPUBpbmNsdWRlZGlyQAorLW9yYml0X2lkbD1AYmluZGlyQC9vcmJpdC1pZGwtMkBFWEVFWFRACisrb3JiaXRfaWRsPUBleGVjX3ByZWZpeEAvYmluL29yYml0LWlkbC0yQEVYRUVYVEAKKyAKKyAKKyBOYW1lOiBPUkJpdC0yLjAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL29yYml0Mi9vcmJpdDJfMi4xNC4xOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL29yYml0Mi9vcmJpdDJfMi4xNC4xOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYWZjZDQ5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvb3JiaXQyL29yYml0Ml8yLjE0LjE5LmJiCkBAIC0wLDAgKzEsNDEgQEAKK1NVTU1BUlkgPSAiQ09SQkEgT1JCIgorU0VDVElPTiA9ICJ4MTEvZ25vbWUvbGlicyIKK0xJQ0VOU0UgPSAiR1BMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIgorU1JDX05BTUUgPSAiT1JCaXQyIgorU0hSVF9WRVIgPSAiJHtAZC5nZXRWYXIoJ1BWJywxKS5zcGxpdCgnLicpWzBdfS4ke0BkLmdldFZhcignUFYnLDEpLnNwbGl0KCcuJylbMV19IgorU1JDX1VSSSA9ICIgXAorICAgICR7R05PTUVfTUlSUk9SfS8ke1NSQ19OQU1FfS8ke1NIUlRfVkVSfS8ke1NSQ19OQU1FfS0ke1BWfS50YXIuYnoyIFwKKyAgICBmaWxlOi8vY29uZmlndXJlLWxvc3NhZ2UucGF0Y2ggXAorICAgIGZpbGU6Ly9wa2djb25maWctZml4LnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMS1saW5jMi1zcmMtTWFrZWZpbGUuYW0tZml4LWJ1aWxkLXdpdGgtZ2xpYi0yLjM2LnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1Vc2UtQU1fQ1BQRkxBR1MtaW5zdGVhZC1vZi1JTkNMVURFUy1hbmQtZml4LXByb2JsZW0tLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI3MDgyZDMxN2E5NTczYWIzMzgzMDIyNDMwODJkMTBkMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1NWM5MDBhOTA1NDgyOTkyNzMwZjU3NWYzZWVmMzRkNTBiZGE3MTdjMTk3Yzk3YzA4ZmE1YTZlYWZkODU3NTUwIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworSURMX0NPTVBJTEVSX0RFUEVORFMgPSAib3JiaXQyLW5hdGl2ZSIKK0lETF9DT01QSUxFUl9ERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICIgIgorREVQRU5EUyA9ICJsaWJpZGwgcG9wdCAke0lETF9DT01QSUxFUl9ERVBFTkRTfSIKKworIyBJRExfQ09NUElMRVJfREVQRU5EU19jbGFzcy1uYXRpdmUgZm9yIHNvbWUgcmVhc29uIGRpZG4ndCB3b3JrIGFuZCBvcmJpdDItbmF0aXZlCisjIHdhcyBzdGlsbCBpbiBvcmJpdDItbmF0aXZlIERFUEVORFMgY2F1c2luZyBjaXJjdWxhciBkZXBlbmRlbmN5CitERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICJsaWJpZGwtbmF0aXZlIHBvcHQtbmF0aXZlIgorUEFSQUxMRUxfTUFLRSA9ICIiCisKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9vcmJpdC0yLjAvKi5zbyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L29yYml0LTIuMC8qLmxhIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0vb3JiaXQtMi4wLyouYSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L29yYml0LTIuMC8uZGVidWciCisKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ19OQU1FfS0ke1BWfSIKKworTEVBRF9TT05BTUUgPSAibGliT1JCaXQtMi5zbyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGd0ay1kb2MKKworRVhUUkFfT0VNQUtFID0gIklETF9DT01QSUxFUj0nJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L29yYml0LWlkbC0yJyIKK0VYVFJBX09FTUFLRV9jbGFzcy1uYXRpdmUgPSAiICIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vY29udGFjdHMuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9jb250YWN0cy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmVkZDIyMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vY29udGFjdHMuaW5jCkBAIC0wLDAgKzEsMjggQEAKK0RFU0NSSVBUSU9OID0gIkFkZHJlc3MtYm9vayBhcHBsaWNhdGlvbi4iCitIT01FUEFHRSA9ICJodHRwOi8vcGltbGljby1wcm9qZWN0Lm9yZy9jb250YWN0cy5odG1sIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8iCisKK0xJQ0VOU0UgPSAiR1BMdjIgJiBHUEx2MisgJiBHUEx2MysgIgorU0VDVElPTiA9ICJ4MTEiCitERVBFTkRTID0gImdsaWItMi4wIGd0aysgZXZvbHV0aW9uLWRhdGEtc2VydmVyIGludGx0b29sLW5hdGl2ZSIKK1JERVBFTkRTXyR7UE59ID0gImxpYmVkYXRhLWJvb2siCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnY29uZgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1nbm9tZS12ZnMiCitFWFRSQV9PRU1BS0UgKz0gIkdDT05GX0RJU0FCTEVfTUFLRUZJTEVfU0NIRU1BX0lOU1RBTEw9MSIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIGluc3RhbGwgLWQgJHtEfS8ke2RhdGFkaXJ9L3BpeG1hcHMKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9zdG9ja19jb250YWN0LnBuZyAke0R9LyR7ZGF0YWRpcn0vcGl4bWFwcworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3N0b2NrX3BlcnNvbi5wbmcgJHtEfS8ke2RhdGFkaXJ9L3BpeG1hcHMKK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vcGl4bWFwcy9zdG9ja19jb250YWN0LnBuZyBcCisgICAgICAgICR7ZGF0YWRpcn0vcGl4bWFwcy9zdG9ja19wZXJzb24ucG5nIFwKKyAgICAgICAgJHtkYXRhZGlyfS9pY29ucy9oaWNvbG9yIgorCitTUkNfVVJJID0gImZpbGU6Ly9zdG9ja19jb250YWN0LnBuZyBcCisgICAgICAgICAgIGZpbGU6Ly9zdG9ja19wZXJzb24ucG5nIFwKKyAgICAgICAgICAgZmlsZTovL2NvbnRhY3RzLWNvbmRpdGlvbmFsbHktaW5zdGFsbC1zY2hlbWEucGF0Y2ggXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9jb250YWN0cy9jb250YWN0cy1jb25kaXRpb25hbGx5LWluc3RhbGwtc2NoZW1hLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9jb250YWN0cy9jb250YWN0cy1jb25kaXRpb25hbGx5LWluc3RhbGwtc2NoZW1hLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhYjc4ODIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9waW1saWNvL2NvbnRhY3RzL2NvbnRhY3RzLWNvbmRpdGlvbmFsbHktaW5zdGFsbC1zY2hlbWEucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorSW5zdGFsbCBzY2hlbWEgc2hvdWxkIHJlc3BlY3QgdG8gR0NPTkZfRElTQUJMRV9NQUtFRklMRV9TQ0hFTUFfSU5TVEFMTAorCitJZiBHQ09ORl9ESVNBQkxFX01BS0VGSUxFX1NDSEVNQV9JTlNUQUxMIGlzIHNldCwgdGhlIHNjaGVtYSBzaG91bGQgbm90CitiZSBpbnN0YWxsZWQuCisKK1NpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKy0tLQorIGRhdGEvTWFrZWZpbGUuYW0gfCAgICA3ICsrKystLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2RhdGEvTWFrZWZpbGUuYW0gYi9kYXRhL01ha2VmaWxlLmFtCitpbmRleCBmNzkwODIzLi5iNmZkNjQzIDEwMDY0NAorLS0tIGEvZGF0YS9NYWtlZmlsZS5hbQorKysrIGIvZGF0YS9NYWtlZmlsZS5hbQorQEAgLTE0LDEzICsxNCwxNCBAQCBkaXN0X21hbjFfTUFOUyA9IGNvbnRhY3RzLjEKKyAKKyBpZiBIQVZFX0dDT05GCisgaW5zdGFsbC1kYXRhLWxvY2FsOgorLQlHQ09ORl9DT05GSUdfU09VUkNFPSQoR0NPTkZfU0NIRU1BX0NPTkZJR19TT1VSQ0UpIFwKKysJaWYgWyAiJChHQ09ORl9ESVNBQkxFX01BS0VGSUxFX1NDSEVNQV9JTlNUQUxMKSIgIT0gIjEiIF07IHRoZW4gXAorKwkJR0NPTkZfQ09ORklHX1NPVVJDRT0kKEdDT05GX1NDSEVNQV9DT05GSUdfU09VUkNFKSBcCisgCQkkKEdDT05GVE9PTCkgLS1tYWtlZmlsZS1pbnN0YWxsLXJ1bGUgJChzY2hlbWFfREFUQSkgfHwgXAorIAkJKGVjaG8gO1wKKyAJCWVjaG8gIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIjsgXAorIAkJZWNobyAiSW5zdGFsbGF0aW9uIG9mIHNjaGVtYXMgZmFpbGVkLCBpbnN0YWxsIHRoZW0gbWFudWFsbHkiOyBcCistCQllY2hvICIqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiI7KQorLQkJQHRydWUKKysJCWVjaG8gIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIjspOyBcCisrCWZpCisgZW5kaWYKKyAKKyBDTEVBTkZJTEVTID0gJChkZXNrdG9wX0RBVEEpCistLSAKKzEuNy43LjYKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9jb250YWN0cy9tYWtlLTM4Mi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vY29udGFjdHMvbWFrZS0zODIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTdjZmVlMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vY29udGFjdHMvbWFrZS0zODIucGF0Y2gKQEAgLTAsMCArMSwxNiBAQAorRml4IGZvciBzdHJpY3RlciBwYXJzZXIgaW4gbWFrZSAzLjgyLiBUaGlzIGZpeCBoYXMgYmVlbiBwdXNoZWQgdG8gdXBzdHJlYW0gZ2l0LgorCitKTCAtIDE1LzEyLzEwCisKK1Vwc3RyZWFtLVN0YXR1czogQWNjZXB0ZWQKKworSW5kZXg6IGdpdC9NYWtlZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdpdC5vcmlnL01ha2VmaWxlLmFtCisrKysgZ2l0L01ha2VmaWxlLmFtCitAQCAtMTEsNCArMTEsNCBAQCBESVNUQ0xFQU5GSUxFUyA9ICQoSU5UTFRPT0xfQlVJTFQpCisgTUFJTlRBSU5FUkNMRUFORklMRVMgPSBhY2xvY2FsLm00IGNvbXBpbGUgY29uZmlnLmd1ZXNzIGNvbmZpZy5zdWIgY29uZmlndXJlIGRlcGNvbXAgJChJTlRMVE9PTF9CVUlMVDo9LmluKSBpbnN0YWxsLXNoIGx0bWFpbi5zaCBta2luc3RhbGxkaXJzIE1ha2VmaWxlLmluIG1pc3NpbmcKKyAKKyBzbmFwc2hvdDoKKy0gICAgICAgICQoTUFLRSkgZGlzdCBkaXN0ZGlyPSQoUEFDS0FHRSktc25hcGBkYXRlICsiJVklbSVkImAKKysJJChNQUtFKSBkaXN0IGRpc3RkaXI9JChQQUNLQUdFKS1zbmFwYGRhdGUgKyIlWSVtJWQiYApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9jb250YWN0cy9zdG9ja19jb250YWN0LnBuZyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vY29udGFjdHMvc3RvY2tfY29udGFjdC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTIzYjQ0OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vY29udGFjdHMvc3RvY2tfY29udGFjdC5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9jb250YWN0cy9zdG9ja19wZXJzb24ucG5nIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9jb250YWN0cy9zdG9ja19wZXJzb24ucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiMTMyOGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9waW1saWNvL2NvbnRhY3RzL3N0b2NrX3BlcnNvbi5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9jb250YWN0c18wLjkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9waW1saWNvL2NvbnRhY3RzXzAuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZGM3ZjQ4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9jb250YWN0c18wLjkuYmIKQEAgLTAsMCArMSwxOCBAQAorcmVxdWlyZSBjb250YWN0cy5pbmMKKworUFIgPSAicjgiCisKK1NSQ19VUkkgPSsgImh0dHA6Ly9waW1saWNvLXByb2plY3Qub3JnL3NvdXJjZXMvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhYWI1YWZmYmY5M2Q2ZmE3Yjk3OGIzMjNhOGQ0NGRlMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5Y2FjZWM5OGY4MTIzOTkzMDMzYWFhMjU1ZjNmNGMwNGM4NmExYmU2NWU0ODdkZDIxZjBhYWE1NDM4NGE2ZjZkIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvY29udGFjdHMtbWFpbi5oO2VuZGxpbmU9MTg7bWQ1PTAzNzFhZjQ2ZmJjNzJlMzM1NzVlMDA3MmRjYTVmYjE5IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9jb250YWN0cy1kYnVzLmM7ZW5kbGluZT0xODttZDU9ZTRkYTlhYzFhMDUzOWZhZmM3ZGY0MzEwMTA5MDRmZDUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2NvbnRhY3RzLWd0ay5jO2VuZGxpbmU9MjE7bWQ1PTFjMmUzZjU1YjIxNTYzNWVmZjRiYTc2Zjc2OTZmOGVlIgorCitkb19jb25maWd1cmVfcHJlcGVuZCAoKSB7CisgICAgIyBJdCB1c2VkIDggc3BhY2VzIHRvIGluc3RlYWQgb2YgYSB0YWIsIGJ1dCBpdCBkb2Vzbid0IHdvcmsgZm9yIHVzCisgICAgc2VkIC1pICdzL14gICAgICAgICQoTUFLRSkgZGlzdCBkaXN0ZGlyPS9cdCQoTUFLRSkgZGlzdCBkaXN0ZGlyLycgTWFrZWZpbGUuYW0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vY29udGFjdHNfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9jb250YWN0c19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGE0YTA3MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vY29udGFjdHNfZ2l0LmJiCkBAIC0wLDAgKzEsMTkgQEAKK3JlcXVpcmUgY29udGFjdHMuaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9jb250YWN0cy1tYWluLmg7ZW5kbGluZT0yMDttZDU9OWRjMzUzMWM5MTRmYjZkNmQ0YThkMWFlZTQ1MTlmZWYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2NvbnRhY3RzLWRidXMuYztlbmRsaW5lPTIwO21kNT05NWUwMmQ3N2YxNTVmYmQwN2ExNGRiYTMzNDhiOWIwMyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvY29udGFjdHMtZ3RrLmM7ZW5kbGluZT0yMzttZDU9ZTFlZTliOWU3MjA0NWYyZDNhYTQ0Y2YxNzMxM2I0NmUiCisKK1NSQ1JFViA9ICIxOTg1Mzg5M2ZkYjU5NWRlNmFhNTlkYjBkOWRjMmY5NDUxZWQyOTMzIgorUFYgPSAiMC4xMitnaXQke1NSQ1BWfSIKK1BSID0gInI0IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitTUkNfVVJJID0rICJnaXQ6Ly9naXQuZ25vbWUub3JnLyR7QlBOfSBcCisgICAgICAgIGZpbGU6Ly9tYWtlLTM4Mi5wYXRjaCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9waW1saWNvL2RhdGVzLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vZGF0ZXMuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyZDJmODMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9waW1saWNvL2RhdGVzLmluYwpAQCAtMCwwICsxLDExIEBACitERVNDUklQVElPTiA9ICJEYXRlcyBpcyBhIGNhbGVuZGFyIGFwcGxpY2F0aW9uLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9waW1saWNvLXByb2plY3Qub3JnL2RhdGVzLmh0bWwiCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLyIKKworTElDRU5TRSA9ICJHUEx2MiAmIEdQTHYyKyAmIExHUEx2MisiCisKK1NFQ1RJT04gPSAieDExIgorREVQRU5EUyA9ICJnbGliLTIuMCBndGsrIGxpYmdsYWRlIGV2b2x1dGlvbi1kYXRhLXNlcnZlciBpbnRsdG9vbC1uYXRpdmUiCitSREVQRU5EU18ke1BOfSA9ICJsaWJlZGF0YS1jYWwiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnIGd0ay1pY29uLWNhY2hlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9waW1saWNvL2RhdGVzLzAwMDEtVXBkYXRlLXRvLW5ldy1ldm9sdXRpb24tZGF0YS1zZXJ2ZXItZV9zb3VyY2VfLWNvbG9yLS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vZGF0ZXMvMDAwMS1VcGRhdGUtdG8tbmV3LWV2b2x1dGlvbi1kYXRhLXNlcnZlci1lX3NvdXJjZV8tY29sb3ItLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1NTBkMjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9waW1saWNvL2RhdGVzLzAwMDEtVXBkYXRlLXRvLW5ldy1ldm9sdXRpb24tZGF0YS1zZXJ2ZXItZV9zb3VyY2VfLWNvbG9yLS5wYXRjaApAQCAtMCwwICsxLDcyIEBACitGcm9tIGE4ZGRmYzRiOTFmMmFiM2Q5NTVmZTUyOGRkYjk4Y2UyYzU1NDU3OTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitEYXRlOiBTdW4sIDQgQXVnIDIwMTMgMTM6NDQ6NTAgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gVXBkYXRlIHRvIG5ldyBldm9sdXRpb24tZGF0YS1zZXJ2ZXIgZV9zb3VyY2VfKmNvbG9yIEFQSXMKKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgc3JjL2RhdGVzX2d0ay5jICB8IDYgKysrLS0tCisgc3JjL2RhdGVzX21haW4uYyB8IDIgKy0KKyBzcmMvZGF0ZXNfdmlldy5jIHwgNiArKysrKy0KKyAzIGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9kYXRlc19ndGsuYyBiL3NyYy9kYXRlc19ndGsuYworaW5kZXggNzhlNzFiYi4uYWM1MzlkMiAxMDA2NDQKKy0tLSBhL3NyYy9kYXRlc19ndGsuYworKysrIGIvc3JjL2RhdGVzX2d0ay5jCitAQCAtMTA3Miw3ICsxMDcyLDcgQEAgY2FsZW5kYXJfZG9fbmV3X2RpYWxvZyAoR3RrV2luZG93ICpwYXJlbnQsIERhdGVzRGF0YSAqZCkKKyAjZW5kaWYKKyAKKyAJCQkvKiBTZXQgdGhlIGNvbG91ciAqLworLQkJCWVfc291cmNlX3NldF9jb2xvciAoc291cmNlLCBuZXdfY29sb3VyKTsKKysJCQllX3NvdXJjZV9zZXRfY29sb3Jfc3BlYyAoc291cmNlLCBuZXdfY29sb3VyKTsKKyAKKyAJCQkvKiBTZXQgdGhlIGdyb3VwIGZvciB0aGUgc291cmNlICovCisgCQkJZV9zb3VyY2Vfc2V0X2dyb3VwIChzb3VyY2UsIGdyb3VwKTsKK0BAIC0xMzM1LDcgKzEzMzUsNyBAQCBjYWxlbmRhcl9kb19lZGl0X2RpYWxvZyAoR3RrV2luZG93ICpwYXJlbnQsIEVTb3VyY2UgKnNvdXJjZSwgRGF0ZXNEYXRhICpkKQorIAlndGtfbWlzY19zZXRfYWxpZ25tZW50IChHVEtfTUlTQyAobGFiZWwpLCAwLCAwLjUpOworIAorIAkvKiBHZXQgdGhlIGNvbG91ciBmcm9tIHRoZSB0aGUgc291cmNlICovCistCWVfc291cmNlX2dldF9jb2xvciAoc291cmNlLCAmcmF3X2NvbG91cik7CisrCXJhd19jb2xvdXIgPSBlX3NvdXJjZV9wZWVrX2NvbG9yX3NwZWMgKHNvdXJjZSk7CisgCisgCS8qIE11bmdlIHRoaXMgaW50byBzb21ldGhpbmcgdXNhYmxlICovCisgCWNvbG91ci5yZWQgPSAoZ3VpbnQxNikoKChyYXdfY29sb3VyICYgMHhmZjAwMDApID4+IDE2KSA8PCA4KTsKK0BAIC0xNDU5LDcgKzE0NTksNyBAQCBjYWxlbmRhcl9kb19lZGl0X2RpYWxvZyAoR3RrV2luZG93ICpwYXJlbnQsIEVTb3VyY2UgKnNvdXJjZSwgRGF0ZXNEYXRhICpkKQorIAkJCW5ld19jb2xvdXIgPDw9IDg7CisgI2VuZGlmCisgCQkJLyogVXBkYXRlIHRoZSBjb2xvdXIgKi8KKy0JCQllX3NvdXJjZV9zZXRfY29sb3IgKHNvdXJjZSwgbmV3X2NvbG91cik7CisrCQkJZV9zb3VyY2Vfc2V0X2NvbG9yX3NwZWMgKHNvdXJjZSwgbmV3X2NvbG91cik7CisgCisgCQkJLyogQW5kIHRoZSBuYW1lICovCisgCQkJZV9zb3VyY2Vfc2V0X25hbWUgKHNvdXJjZSwgKGd0a19lbnRyeV9nZXRfdGV4dCAoR1RLX0VOVFJZIChuYW1lX2VudHJ5KSkpKTsKK2RpZmYgLS1naXQgYS9zcmMvZGF0ZXNfbWFpbi5jIGIvc3JjL2RhdGVzX21haW4uYworaW5kZXggY2UwNWZlOC4uNzI3M2M2MyAxMDA2NDQKKy0tLSBhL3NyYy9kYXRlc19tYWluLmMKKysrKyBiL3NyYy9kYXRlc19tYWluLmMKK0BAIC0xMTIsNyArMTEyLDcgQEAgZGF0ZXNfbG9hZF9jYWxlbmRhcnMgKERhdGVzRGF0YSAqZCkKKyAJCXN5c3RlbV9zb3VyY2UgPSBlX3NvdXJjZV9uZXcgKF8oIlBlcnNvbmFsIiksICJzeXN0ZW0iKTsKKyAKKyAJCS8qIERlZmF1bHQgRXZvbHV0aW9uIGNvbG91ciAqLworLQkJZV9zb3VyY2Vfc2V0X2NvbG9yIChzeXN0ZW1fc291cmNlLCAweEJFQ0VERCk7CisrCQllX3NvdXJjZV9zZXRfY29sb3Jfc3BlYyAoc3lzdGVtX3NvdXJjZSwgMHhCRUNFREQpOworIAorIAkJLyogU2V0IHRoZSBncm91cCBmb3IgdGhlIHNvdXJjZSBhbmQgcHV0IGl0IGluIHRoZSBncm91cCAqLworIAkJZV9zb3VyY2Vfc2V0X2dyb3VwIChzeXN0ZW1fc291cmNlLCBsb2NhbF9ncm91cCk7CitkaWZmIC0tZ2l0IGEvc3JjL2RhdGVzX3ZpZXcuYyBiL3NyYy9kYXRlc192aWV3LmMKK2luZGV4IGQ2NWRiMmYuLmY4ZWZiOWMgMTAwNjQ0CistLS0gYS9zcmMvZGF0ZXNfdmlldy5jCisrKysgYi9zcmMvZGF0ZXNfdmlldy5jCitAQCAtNDg3Niw3ICs0ODgwLDcgQEAgZGF0ZXNfdmlld19hZGRfY2FsZW5kYXIgKERhdGVzVmlldyAqdmlldywgRUNhbCAqZWNhbCkKKyAJY2FsLT50ZXh0X2djID0gZ2RrX2djX25ldyAoCisgCQlHREtfRFJBV0FCTEUgKHByaXYtPm1haW4tPndpbmRvdykpOworIAorLQlpZiAoZV9zb3VyY2VfZ2V0X2NvbG9yIChzb3VyY2UsICZjb2xvdXIpKSB7CisrCWlmIChjb2xvdXIgPSBlX3NvdXJjZV9wZWVrX2NvbG9yX3NwZWMgKHNvdXJjZSkpIHsKKyAJCUdka0NvbG9yIGdjb2xvdXIsIGRnY29sb3VyLCB0Z2NvbG91cjsKKyAJCWdjb2xvdXIucmVkID0gKChjb2xvdXIgJiAweEZGMDAwMCkgPj4gMTYpICogMHgxMDE7CisgCQlnY29sb3VyLmdyZWVuID0gKChjb2xvdXIgJiAweEZGMDApID4+IDgpICAqIDB4MTAxOworLS0gCisxLjguMy4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vZGF0ZXMvZHNvX2xpbmtpbmdfY2hhbmdlX2J1aWxkX2ZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vZGF0ZXMvZHNvX2xpbmtpbmdfY2hhbmdlX2J1aWxkX2ZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NDlkNTlkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9kYXRlcy9kc29fbGlua2luZ19jaGFuZ2VfYnVpbGRfZml4LnBhdGNoCkBAIC0wLDAgKzEsNDQgQEAKK2FmdGVyIGdjYyBsaW5raW5nIGhhcyBjaGFuZ2VkLCBhbGwgdGhlIGxpYnJhcmllcyBtdXN0IGJlIGV4cGxpY2l0ZWx5IHNwZWNpZmllZCAKK1RoaXMgcGF0Y2ggYXZvaWRzIHRoZXNlIGxpbmtpbmcgZXJyb3JzOgorCisKK3wgbWFrZVsyXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvZGlzazAvcG9reWJ1aWxkL2J1aWxkMS90bXAvd29yay9pNTg2LXBva3ktbGludXgvZGF0ZXMtMC40LjExK2dpdDArNTE0MTg1ZGMxZjY1ODgwODVmZGE0MWViNTk4OThiOTNkMDQ4N2RkNC1yMi9naXQvc3JjJ15NCisuLi4KK3wgL2Rpc2swL3Bva3lidWlsZC9idWlsZDEvdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliZXhlYy9pNTg2LXBva3ktbGludXgvZ2NjL2k1ODYtcG9reS1saW51eC80LjUuMS9sZDogZTogaW52YWxpZCBEU08gZm9yIHN5bWJvbCBgcG93QEBHTElCQ18yLjAnIGRlZmluaXRpb25eTQorfCAvZGlzazAvcG9reWJ1aWxkL2J1aWxkMS90bXAvc3lzcm9vdHMvaTU4Ni1wb2t5LWxpbnV4L3Vzci9saWIvbGlibS5zbzogY291bGQgbm90IHJlYWQgc3ltYm9sczogQmFkIHZhbHVlXk0KK3wgY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXNeTQorfCBtYWtlWzJdOiAqKiogW2RhdGVzXSBFcnJvciAxCisKKworCit8IC9kaXNrMC9wb2t5YnVpbGQvYnVpbGQxL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYmV4ZWMvaTU4Ni1wb2t5LWxpbnV4L2djYy9pNTg2LXBva3ktbGludXgvNC41LjEvbGQ6IHo6IGludmFsaWQgRFNPIGZvciBzeW1ib2wgYHBhbmdvX2xheW91dF9nZXRfZXh0ZW50cycgZGVmaW5pdGlvbgorfCAvZGlzazAvcG9reWJ1aWxkL2J1aWxkMS90bXAvc3lzcm9vdHMvaTU4Ni1wb2t5LWxpbnV4L3Vzci9saWIvbGlicGFuZ28tMS4wLnNvOiBjb3VsZCBub3QgcmVhZCBzeW1ib2xzOiBCYWQgdmFsdWUKK3wgY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKK3wgbWFrZVsyXTogKioqIFtkYXRlc10gRXJyb3IgMQorCisKK05pdGluIEEgS2FtYmxlIDxuaXRpbi5hLmthbWJsZUBpbnRlbC5jb20+CitEYXRlOiAyMDExLzAxLzExCisKK1VwZGF0ZToKK1RoaXMgaXMgaWRlbnRpZmllZCBhcyBhIGxpYnRvb2wgaXNzdWUuIFdoaWxlIGNyZWF0aW5nIHRoZSBsaWJndGtkYXRlc3ZpZXcubGEgCitmaWxlLCBsaWJ0b29sIHNob3VsZCBoYXZlIGFkZGVkIHRoZXNlIG5lZWRlZCBsaWJyYXJpZXMgaW4gdGhlcmUuCisgQSBidWcgaGFzIGJlZW4gY3JlYXRlZCBmb3IgdGhpcyBpc3N1ZTogCisgICBodHRwOi8vYnVnemlsbGEucG9reWxpbnV4Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0CitOaXRpbiBBIEthbWJsZSA8bml0aW4uYS5rYW1ibGVAaW50ZWwuY29tPgorRGF0ZTogMjAxMS8wMS8xOQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworSW5kZXg6IGdpdC9zcmMvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnaXQub3JpZy9zcmMvTWFrZWZpbGUuYW0KKysrKyBnaXQvc3JjL01ha2VmaWxlLmFtCitAQCAtMzQsNiArMzQsNiBAQCBkYXRlc19TT1VSQ0VTID0gJChwbGF0Zm9ybSkgCVwKKyAJZ2NvbmYtYnJpZGdlLmgJCVwKKyAJZ2NvbmYtYnJpZGdlLmMKKyAKKy1kYXRlc19MREFERCA9ICQoREFURVNfTElCUykgJChPV0xfTElCUykgbGliZ3RrZGF0ZXN2aWV3LmxhCisrZGF0ZXNfTERBREQgPSAkKERBVEVTX0xJQlMpICQoT1dMX0xJQlMpIGxpYmd0a2RhdGVzdmlldy5sYSAtbG0gLWxwYW5nby0xLjAKKyAKKyBNQUlOVEFJTkVSQ0xFQU5GSUxFUyA9IGNvbmZpZy5oLmluIE1ha2VmaWxlLmluCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9waW1saWNvL2RhdGVzL21ha2UtMzgyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9kYXRlcy9tYWtlLTM4Mi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYWQzYzU4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9kYXRlcy9tYWtlLTM4Mi5wYXRjaApAQCAtMCwwICsxLDE4IEBACitNYWtlIDMuODIgaXMgb2ZmZW5kZWQgYnkgdGhlIHVzZSBvZiBzcGFjZXMgaW5zdGVhZCBvZiB0YWJzLiBUaGlzIGhhcyBiZWVuIGZpeGVkCitpbiB1cHN0cmVhbSBnaXQuCisKK0pMIC0gMTUvMTIvMTAKKworVXBzdHJlYW0tU3RhdHVzOiBBY2NlcHRlZAorCitJbmRleDogZ2l0L01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvTWFrZWZpbGUuYW0KKysrKyBnaXQvTWFrZWZpbGUuYW0KK0BAIC03LDUgKzcsNSBAQCBESVNUQ0xFQU5GSUxFUyA9IGludGx0b29sLWV4dHJhY3QgaW50bHRvCisgTUFJTlRBSU5FUkNMRUFORklMRVMgPSAkKERJU1RDTEVBTkZJTEVTKSBhY2xvY2FsLm00IGNvbXBpbGUgY29uZmlnLmd1ZXNzIGNvbmZpZy5zdWIgY29uZmlndXJlIGRlcGNvbXAgaW5zdGFsbC1zaCBsdG1haW4uc2ggTWFrZWZpbGUuaW4gbWlzc2luZworIAorIHNuYXBzaG90OgorLSAgICAgICAgJChNQUtFKSBkaXN0IGRpc3RkaXI9JChQQUNLQUdFKS1zbmFwYGRhdGUgKyIlWSVtJWQiYAorKwkkKE1BS0UpIGRpc3QgZGlzdGRpcj0kKFBBQ0tBR0UpLXNuYXBgZGF0ZSArIiVZJW0lZCJgCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9waW1saWNvL2RhdGVzL3VjbGliYy1OTF9USU1FX0ZJUlNUX1dFRUtEQVktYWJzZW50LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9kYXRlcy91Y2xpYmMtTkxfVElNRV9GSVJTVF9XRUVLREFZLWFic2VudC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YWRlNDcwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9kYXRlcy91Y2xpYmMtTkxfVElNRV9GSVJTVF9XRUVLREFZLWFic2VudC5wYXRjaApAQCAtMCwwICsxLDM3IEBACit1Y2xpYmMgaGFzIGxhbmdpbmZvLmggYnV0IGl0IGRvZXMgbm90IGRlZmluZSBfTkxfVElNRV9GSVJTVF9XRUVLREFZCit0aGVyZWZvcmUgd2UgaW50cm9kdWNlIGEgY2hlY2sgaW4gY29uZmlndXJlIGZvciB0aGUgdGhpcyBkZWZpbmUKK2FuZCB0aGVuIHdlIG1ha2Ugc3VyZSB0aGF0IHdlIHVzZSBpdCB3aGVuIGl0IHJlYWxseSBleGlzdHMKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK0luZGV4OiBnaXQvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvY29uZmlndXJlLmFjCTIwMTEtMDctMTggMTA6MzQ6MTUuMDAwMDAwMDAwIC0wNzAwCisrKysgZ2l0L2NvbmZpZ3VyZS5hYwkyMDExLTA3LTE4IDEwOjU0OjI2LjQwMzc5ODE4OCAtMDcwMAorQEAgLTk4LDYgKzk4LDggQEAKKyAJCXNyYy9saWJndGtkYXRlc3ZpZXcucGMKKyBdKQorIAorK0FDX0NIRUNLX0RFQ0xTKFtfTkxfVElNRV9GSVJTVF9XRUVLREFZXSxbXSxbXSxbWyNpbmNsdWRlIDxsYW5naW5mby5oPl1dKQorKworIEFDX09VVFBVVAorIAorIGVjaG8gIiAiCitJbmRleDogZ2l0L3NyYy9kYXRlc192aWV3LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnaXQub3JpZy9zcmMvZGF0ZXNfdmlldy5jCTIwMTEtMDctMTggMTA6MzQ6MTUuMDAwMDAwMDAwIC0wNzAwCisrKysgZ2l0L3NyYy9kYXRlc192aWV3LmMJMjAxMS0wNy0xOCAxMDo1ODo0Ni4wOTM3OTgxMzYgLTA3MDAKK0BAIC0xNTA1LDcgKzE1MDUsMTEgQEAKKyAJcHJpdi0+ZGF5cyA9IDE7CisgCXByaXYtPm1vbnRocyA9IDA7CisgCXByaXYtPm1vbnRoc19pbl9yb3cgPSA0OworKyNpZiBIQVZFX0RFQ0xfX05MX1RJTUVfRklSU1RfV0VFS0RBWQorIAlwcml2LT53ZWVrX3N0YXJ0ID0gKm5sX2xhbmdpbmZvIChfTkxfVElNRV9GSVJTVF9XRUVLREFZKSAtIDE7CisrI2Vsc2UKKysJcHJpdi0+d2Vla19zdGFydCA9IDA7CisrI2VuZGlmCisgCXByaXYtPmRyYWdib3ggPSBUUlVFOworIAlwcml2LT5zaW5nbGVfY2xpY2sgPSBUUlVFOworIAlwcml2LT5kb3VibGVfY2xpY2sgPSBGQUxTRTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vZGF0ZXNfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9kYXRlc19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTRhNTcyZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vZGF0ZXNfZ2l0LmJiCkBAIC0wLDAgKzEsMTkgQEAKK3JlcXVpcmUgZGF0ZXMuaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9kYXRlc192aWV3Lmg7ZW5kbGluZT0yMjttZDU9MjlmOTM0ZjM1NmViOTcwMzA5Y2RlYjY2OTNiMzEyM2EgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2RhdGVzX2hpbGRvbi5jO2VuZGxpbmU9MTk7bWQ1PTYzOTM4OTA0MTk4YjI1ZGU0MjlhYmI2NWZiZGJkYjhhIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9nY29uZi1icmlkZ2UuYztlbmRsaW5lPTIyO21kNT1hZDc2MjZjNmRhZjRhZWM1OTA0NzRhMjQzZjQ5MTJmYSIKKworU1JDUkVWID0gIjUxNDE4NWRjMWY2NTg4MDg1ZmRhNDFlYjU5ODk4YjkzZDA0ODdkZDQiCitQViA9ICIwLjQuMTErZ2l0JHtTUkNQVn0iCitQUiA9ICJyOSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQuZ25vbWUub3JnLyR7QlBOfSBcCisgICAgZmlsZTovL21ha2UtMzgyLnBhdGNoIFwKKyAgICBmaWxlOi8vZHNvX2xpbmtpbmdfY2hhbmdlX2J1aWxkX2ZpeC5wYXRjaCBcCisgICAgZmlsZTovL3VjbGliYy1OTF9USU1FX0ZJUlNUX1dFRUtEQVktYWJzZW50LnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMS1VcGRhdGUtdG8tbmV3LWV2b2x1dGlvbi1kYXRhLXNlcnZlci1lX3NvdXJjZV8tY29sb3ItLnBhdGNoIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vdGFza3MuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby90YXNrcy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjgyMTdkYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vdGFza3MuaW5jCkBAIC0wLDAgKzEsMTAgQEAKK0RFU0NSSVBUSU9OID0gIlRhc2sgbGlzdCBhcHBsaWNhdGlvbiIKK0hPTUVQQUdFID0gImh0dHA6Ly9waW1saWNvLXByb2plY3Qub3JnL3Rhc2tzLmh0bWwiCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLyIKKworTElDRU5TRSA9ICJHUEx2MiAmIEdQTHYyKyIKKworU0VDVElPTiA9ICJ4MTEiCitERVBFTkRTID0gImdsaWItMi4wIGd0aysgZXZvbHV0aW9uLWRhdGEtc2VydmVyIGludGx0b29sLW5hdGl2ZSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGd0ay1pY29uLWNhY2hlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9waW1saWNvL3Rhc2tzXzAuMTkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9waW1saWNvL3Rhc2tzXzAuMTkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTkyNTk2ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vdGFza3NfMC4xOS5iYgpAQCAtMCwwICsxLDEzIEBACityZXF1aXJlIHRhc2tzLmluYworCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvZ3RrL21haW4uYztlbmRsaW5lPTE5O21kNT04NjU5ZDBiN2ZkNjhhMmFkNmFjMzBjNjUzOWVhNWI4MiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvb21va28vb3Blbm1va28tdGFza3MuYztlbmRsaW5lPTIwO21kNT0wNGQ1NmE0Njg2M2M5ZjQyNDc2OTRmNDAyNTdhODM2YSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvaGlsZG9uL2hpbGRvbi10YXNrcy5jO2VuZGxpbmU9MjE7bWQ1PTQ4OGRkZjMxZGMxNGIyMTk2ZGVjN2NjNzM2MjExYjUyIgorCitTUkNfVVJJID0gImh0dHA6Ly9waW1saWNvLXByb2plY3Qub3JnL3NvdXJjZXMvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwYWZkOTY5NzU4NTYxNTk5ZmQ3ODJlMWVmZmIzOWMwOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxYTdmZGM1Zjk1YTIxOTNhMWEyNWZkYjEzZjA3MTg2N2ZiN2U0MjI0NWNlMTljY2VlNGJjY2NiNjllNTU3ZjJlIgorCitQUiA9ICJyMyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vdGFza3NfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby90YXNrc19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmEwNmRhMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vdGFza3NfZ2l0LmJiCkBAIC0wLDAgKzEsOSBAQAorcmVxdWlyZSB0YXNrcy5pbmMKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQuZ25vbWUub3JnLyR7QlBOfSIKKworU1JDUkVWID0gImVhNTJkNDZkNjkxYzVmY2U0NDczZWE0ZTI0YTM1NDExMzgxZjNhNjUiCitQViA9ICIwLjEzK2dpdCR7U1JDUFZ9IgorUFIgPSAicjMiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9zeXN0ZW0tdG9vbHMvc3lzdGVtLXRvb2xzLWJhY2tlbmRzLTIuMTAuMi9hZGQtYW5nc3Ryb20tZGlzdHJvLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvc3lzdGVtLXRvb2xzL3N5c3RlbS10b29scy1iYWNrZW5kcy0yLjEwLjIvYWRkLWFuZ3N0cm9tLWRpc3Ryby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjAzZmQ4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvc3lzdGVtLXRvb2xzL3N5c3RlbS10b29scy1iYWNrZW5kcy0yLjEwLjIvYWRkLWFuZ3N0cm9tLWRpc3Ryby5wYXRjaApAQCAtMCwwICsxLDQxIEBACitGcm9tIGI1MDg0NjE2YTNiYzJhMGQ0ODVmNDNhZWFlNjljNjAyNWYzZjg1N2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorRGF0ZTogRnJpLCAxMCBKdW4gMjAxMSAxODo0NDoyMSArMDIwMAorU3ViamVjdDogW1BBVENIXSBhZGQgc3VwcG9ydCBmb3IgdGhlIGFuZ3N0cm9tIGRpc3RyaWJ0aW9uCisKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CistLS0KKyBVdGlscy9QbGF0Zm9ybS5wbSB8ICAgIDMgKysrCisgMSBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9VdGlscy9QbGF0Zm9ybS5wbSBiL1V0aWxzL1BsYXRmb3JtLnBtCitpbmRleCBmYzc2MzYwLi44YjhjNzcwIDEwMDY0NAorLS0tIGEvVXRpbHMvUGxhdGZvcm0ucG0KKysrKyBiL1V0aWxzL1BsYXRmb3JtLnBtCitAQCAtOTIsNiArOTIsNyBAQCBteSAkUExBVEZPUk1fSU5GTyA9IHsKKyAgICJuZXhlbnRhLTEuMCIgICAgID0+IFsgIk5leGVudGEgR05VL1NvbGFyaXMiLCAiMS4wIiwgIkVsbGF0ZSIgXSwKKyAgICJ5ZWxsb3dkb2ctNC4xIiAgID0+IFsgIlllbGxvdyBEb2cgTGludXgiLCAiNC4xIiwgIlNhZ2l0dGEiIF0sCisgICAiZ3VhZGFsaW5leC12NCIgICA9PiBbICJHdWFkYWxpbmV4IiwgInY0IiwgIlRvcm8iIF0sCisrICAiYW5nc3Ryb20iICAgICAgICA9PiBbICJBbmdzdHJvbSIsICIiLCAiIiBdLAorIH07CisgCisgc3ViIGdldF9wbGF0Zm9ybV9pbmZvCitAQCAtMTQzLDYgKzE0NCw3IEBAIHN1YiBlbnN1cmVfZGlzdHJvX21hcAorICAgICAgInZpbmUtMy4xIiAgICAgICAgID0+ICJ2aW5lLTMuMCIsCisgICAgICAidmxvcy0xLjIiICAgICAgICAgPT4gImdlbnRvbyIsCisgICAgICAibmV4ZW50YS0xLjAiICAgICAgPT4gInNvbGFyaXMtMi4xMSIsCisrICAgICAiYW5nc3Ryb20iICAgICAgICAgPT4gImRlYmlhbiIsCisgICAgICApOworIAorICAgcmV0dXJuICRtZXRhbWFweyRkaXN0cm99IGlmICgkbWV0YW1hcHskZGlzdHJvfSk7CitAQCAtMzc1LDYgKzM3Nyw3IEBAIHN1YiBndWVzcworICAgICAgICAgICAgICAgICAgIFsgXCZjaGVja19hcmsgXSwKKyAgICAgICAgICAgICAgICAgICBbIFwmY2hlY2tfeW9wZXIgXSwKKyAgICAgICAgICAgICAgICAgICBbIFwmY2hlY2tfZGlzdHJvX2ZpbGUsICIvZXRjL3llbGxvd2RvZy1yZWxlYXNlIiwgInllbGxvd2RvZyIsICJeWWVsbG93IERvZyBMaW51eCByZWxlYXNlIChcXFMrKSIgXSwKKysgICAgICAgICAgICAgICAgICBbIFwmY2hlY2tfZmlsZV9leGlzdHMsICIvZXRjL2FuZ3N0cm9tLXZlcnNpb24iLCAiYW5nc3Ryb20iIF0sCisgICAgICAgICAgICAgICAgICBdLAorICAgICAiRnJlZUJTRCIgPT4gW1sgXCZjaGVja19mcmVlYnNkIF1dLAorICAgICAiU3VuT1MiICAgPT4gW1sgXCZjaGVja19zb2xhcmlzIF1dCistLSAKKzEuNi42LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvc3lzdGVtLXRvb2xzL3N5c3RlbS10b29scy1iYWNrZW5kcy0yLjEwLjIvc3lzdGVtLXRvb2xzLWJhY2tlbmRzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvc3lzdGVtLXRvb2xzL3N5c3RlbS10b29scy1iYWNrZW5kcy0yLjEwLjIvc3lzdGVtLXRvb2xzLWJhY2tlbmRzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwNGMzNmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9zeXN0ZW0tdG9vbHMvc3lzdGVtLXRvb2xzLWJhY2tlbmRzLTIuMTAuMi9zeXN0ZW0tdG9vbHMtYmFja2VuZHMKQEAgLTAsMCArMSw3NCBAQAorIyEgL2Jpbi9zaAorIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogICAgICAgICAgc3lzdGVtLXRvb2xzLWJhY2tlbmRzCisjIFJlcXVpcmVkLVN0YXJ0OiAgICAkbG9jYWxfZnMgZGJ1cworIyBSZXF1aXJlZC1TdG9wOiAgICAgJGxvY2FsX2ZzIGRidXMKKyMgU2hvdWxkLVN0YXJ0OgkgICAgICRzeXNsb2cKKyMgU2hvdWxkLVN0b3A6ICAgICAgICRzeXNsb2cKKyMgRGVmYXVsdC1TdGFydDogICAgIDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAgICAgIDEKKyMgU2hvcnQtRGVzY3JpcHRpb246IEdub21lIFN5c3RlbSBUb29scyBCYWNrZW5kcworIyBEZXNjcmlwdGlvbjogICAgICAgVGhlIEdub21lIFN5c3RlbSBUb29scyBCYWNrZW5kcyBkYWVtb24gaGFuZGxlcyByb290LW5lZWRlZAorIyAgICAgICAgICAgICAgICAgICAgb3BlcmF0aW9ucyB0byBjb25maWd1cmUgeW91ciBtYWNoaW5lIHdpdGggdGhlIEdub21lIFN5c3RlbQorIwkJICAgICBUb29scy4KKyMjIyBFTkQgSU5JVCBJTkZPCisKK1BBVEg9L3Vzci9sb2NhbC9zYmluOi91c3IvbG9jYWwvYmluOi9zYmluOi9iaW46L3Vzci9zYmluOi91c3IvYmluCitEQUVNT049L3Vzci9iaW4vc3lzdGVtLXRvb2xzLWJhY2tlbmRzCitQSURESVI9L3Zhci9ydW4KK1BJREZJTEU9JFBJRERJUi9zeXN0ZW0tdG9vbHMtYmFja2VuZHMucGlkCitOQU1FPXN5c3RlbS10b29scy1iYWNrZW5kcworREVTQz0iU3lzdGVtIFRvb2xzIEJhY2tlbmRzIgorCit0ZXN0IC14ICREQUVNT04gfHwgZXhpdCAwCisKK3NldCAtZQorCitkb19zdGFydCgpIHsKKyAgICBlY2hvICJTdGFydGluZyAkREVTQyIKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0YXJ0IC0tc3RhcnRhcyAkREFFTU9OIC0tcXVpZXQgLS1waWRmaWxlICRQSURGSUxFCit9CisKK2RvX3N0b3AoKSB7CisgICAgZWNobyAiU3RvcHBpbmcgJERFU0MiCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tb2tub2RvIC0tcXVpZXQgLS1waWRmaWxlICRQSURGSUxFIC0tc3RhcnRhcyAkREFFTU9OCit9CisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKyAgICBkb19zdGFydAorICAgIDs7CisgIHN0b3ApCisgICAgZG9fc3RvcAorICAgIDs7CisgICNyZWxvYWQpCisgICAgIworICAgICMgSWYgdGhlIGRhZW1vbiBjYW4gcmVsb2FkIGl0cyBjb25maWcgZmlsZXMgb24gdGhlIGZseQorICAgICMgZm9yIGV4YW1wbGUgYnkgc2VuZGluZyBpdCBTSUdIVVAsIGRvIGl0IGhlcmUuCisgICAgIworICAgICMgSWYgdGhlIGRhZW1vbiByZXNwb25kcyB0byBjaGFuZ2VzIGluIGl0cyBjb25maWcgZmlsZQorICAgICMgZGlyZWN0bHkgYW55d2F5LCBtYWtlIHRoaXMgYSBkby1ub3RoaW5nIGVudHJ5LgorICAgICMKKyAgICAjIGVjaG8gIlJlbG9hZGluZyAkREVTQyBjb25maWd1cmF0aW9uIGZpbGVzLiIKKyAgICAjIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXNpZ25hbCAxIC0tcXVpZXQgLS1waWRmaWxlIFwKKyAgICAjICAgL3Zhci9ydW4vJE5BTUUucGlkIC0tZXhlYyAkREFFTU9OCisgICM7OworICByZXN0YXJ0fGZvcmNlLXJlbG9hZCkKKyAgICAjCisgICAgIyAgIElmIHRoZSAicmVsb2FkIiBvcHRpb24gaXMgaW1wbGVtZW50ZWQsIG1vdmUgdGhlICJmb3JjZS1yZWxvYWQiCisgICAgIyAgIG9wdGlvbiB0byB0aGUgInJlbG9hZCIgZW50cnkgYWJvdmUuIElmIG5vdCwgImZvcmNlLXJlbG9hZCIgaXMKKyAgICAjICAganVzdCB0aGUgc2FtZSBhcyAicmVzdGFydCIuCisgICAgIworICAgIGRvX3N0b3AKKyAgICBzbGVlcCA1CisgICAgZG9fc3RhcnQKKyAgICA7OworICAqKQorICAgIE49L2V0Yy9pbml0LmQvJE5BTUUKKyAgICBlY2hvICJVc2FnZTogJE4ge3N0YXJ0fHN0b3B8cmVzdGFydHxyZWxvYWR8Zm9yY2UtcmVsb2FkfHN0YXR1c30iID4mMgorICAgIGV4aXQgMQorICAgIDs7Citlc2FjCisKK2V4aXQgMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9zeXN0ZW0tdG9vbHMvc3lzdGVtLXRvb2xzLWJhY2tlbmRzXzIuMTAuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3N5c3RlbS10b29scy9zeXN0ZW0tdG9vbHMtYmFja2VuZHNfMi4xMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2OTNmMzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9zeXN0ZW0tdG9vbHMvc3lzdGVtLXRvb2xzLWJhY2tlbmRzXzIuMTAuMi5iYgpAQCAtMCwwICsxLDU0IEBACitTVU1NQVJZID0gImdub21lIHN5c3RlbSB0b29scyBiYWNrZW5kcyIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworREVQRU5EUyA9ICJkYnVzIGRidXMtZ2xpYiBnbGliLTIuMCBwb2xraXQiCisKK2luaGVyaXQgZ25vbWUgcGtnY29uZmlnIHVwZGF0ZS1yYy5kIGdldHRleHQKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiZWRhZTE0OGIzMTM0MmFlY2FlMDM1MDUxYWRjNzBjNzQiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICIxZGJlNTE3N2RmNDZhOWM3MjUwNzM1ZTA1ZTc3MTI5ZmU3ZWMwNDg0MDc3MWFjY2ZhODc2OTAxMTFjYTJjNjcwIgorCitTUkNfVVJJICs9ICIgXAorICAgICAgICAgICAgZmlsZTovL3N5c3RlbS10b29scy1iYWNrZW5kcyBcCisiCisKKyMgVGhpcyBuZWVkcyB0byBtb3ZlIHRvIG1ldGEtYW5nc3Ryb20KK1NSQ19VUklfYXBwZW5kX2FuZ3N0cm9tID0gIiBcCisgICAgICAgICAgICBmaWxlOi8vYWRkLWFuZ3N0cm9tLWRpc3Ryby5wYXRjaCBcCisiCisKK0VYVFJBX09FQ09ORiA9ICIgLS13aXRoLW5ldC1kYnVzPSR7bGliZGlyfS9wZXJsNSAiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBybSBtaXNzaW5nIHx8IHRydWUKKyAgICBhdXRvbWFrZSAtLWFkZC1taXNzaW5nCisgICAgc2VkIC1pIC1lICdzOkNDPSQoQ0MpOkNDPSIkKENDKSI6ZycgJHtTfS9OZXQtREJ1cy9NYWtlZmlsZS5hbQorICAgIHNlZCAtaSAtZSAnczpDQz0kKENDKTpDQz0iJChDQykiOmcnICR7U30vTmV0LURCdXMvTWFrZWZpbGUuaW4KKyAgICBsaWJ0b29saXplIC0tZm9yY2UgLS1pbnN0YWxsCisgICAgYWNsb2NhbAorICAgIGdudS1jb25maWdpemUKKyAgICBvZV9ydW5jb25mCisgICAgY3AgJHtTVEFHSU5HX0JJTkRJUl9DUk9TU30vJHtIT1NUX1NZU30tbGlidG9vbCAke1N9Cit9CisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9zeXN0ZW0tdG9vbHMtYmFja2VuZHMgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZC8gICAgCit9CisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJzeXN0ZW0tdG9vbHMtYmFja2VuZHMiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCA1MCAyIDMgNCA1IC4gc3RvcCA3MCAxIC4iCisKKyMgU2hhZG93IGFkZGVkIHNvIHRoZXJlIGlzIGEgZnVsbCBhZGR1c2VyL2RlbHVzZXIKKyMgKEdub21lIGltYWdlcyB0ZW5kIHRvIHB1bGwgaW4gc2hhZG93IGFueXdheSkKK1JERVBFTkRTXyR7UE59ID0gInNoYWRvdyIKKworRklMRVNfJHtQTn0gKz0gIiAke3N5c2NvbmZkaXJ9L2RidXMtMS9zeXN0ZW0uZCIKK0ZJTEVTXyR7UE59ICs9ICIgJHtsaWJkaXJ9L3BrZ2NvbmZpZyIKK0ZJTEVTXyR7UE59ICs9ICIgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzIgorRklMRVNfJHtQTn0gKz0gIiAke2RhdGFkaXJ9L3N5c3RlbS10b29scy1iYWNrZW5kcy0yLjAvZmlsZXMiCitGSUxFU18ke1BOfSArPSAiICR7ZGF0YWRpcn0vc3lzdGVtLXRvb2xzLWJhY2tlbmRzLTIuMC9zY3JpcHRzIgorRklMRVNfJHtQTn0gKz0gIiAke2RhdGFkaXJ9L3BvbGtpdCoiCisKK1BOQkxBQ0tMSVNUW3N5c3RlbS10b29scy1iYWNrZW5kc10gPz0gImRvZXMgbm90IGJ1aWxkIHdpdGggZGlzdHJvbGVzcyBxZW11YXJtIGFzIHJlcG9ydGVkIGluICdTdGF0ZSBvZiBiaXRiYWtlIHdvcmxkJyB0aHJlYWQsIG5vYm9keSB2b2x1bnRlZXJlZCB0byBmaXggdGhlbSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3RoZW1lcy9nbm9tZS10aGVtZXMvZHJvcC1sb2NhbGVkaXItb3ZlcnJpZGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS90aGVtZXMvZ25vbWUtdGhlbWVzL2Ryb3AtbG9jYWxlZGlyLW92ZXJyaWRlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUzNzQ4MmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS90aGVtZXMvZ25vbWUtdGhlbWVzL2Ryb3AtbG9jYWxlZGlyLW92ZXJyaWRlLnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKK0NhdXNlcyBsb2NhbGUgZmlsZSB0byBiZSBpbnN0YWxsZWQgaW4gL3Vzci9sb2NhbGUgaW5zdGVhZCBvZiAvdXNyL3NoYXJlL2xvY2FsZQorCitBcHBseSB0aGUgc2FtZSBmaXggYXMgaW4gZXZvbHV0aW9uLWRhdGEtc2VydmVyOgoraHR0cHM6Ly9naXQuZ25vbWUub3JnL2Jyb3dzZS9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvY29tbWl0L2NvbmZpZ3VyZS5hYz9pZD1lYzQ2Yzc2M2U5MzQyZjYwNGI3MjI4YzY2MDYyM2QyNzFkZmViMTAxCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitkaWZmIC11TnIgZ25vbWUtdGhlbWVzLTIuMzIuMS5vcmlnL2NvbmZpZ3VyZS5pbiBnbm9tZS10aGVtZXMtMi4zMi4xL2NvbmZpZ3VyZS5pbgorLS0tIGdub21lLXRoZW1lcy0yLjMyLjEub3JpZy9jb25maWd1cmUuaW4JMjAxNS0wOS0xOCAxNTowMToyNS4xNTIwNTU3MjkgKzAyMDAKKysrKyBnbm9tZS10aGVtZXMtMi4zMi4xL2NvbmZpZ3VyZS5pbgkyMDE1LTA5LTE4IDE1OjA5OjAzLjMxMjA3MjE1NiArMDIwMAorQEAgLTE5LDExICsxOSw2IEBACisgCisgQU1fR0xJQl9HTlVfR0VUVEVYVAorIAorLSMgQU1fR0xJQl9HTlVfR0VUVEVYVCBhYm92ZSBzdWJzdC4gJERBVEFESVJOQU1FCistIyB0aGlzIGlzIHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlICoue21vLGdtb30gZmlsZXMgYXJlIGluc3RhbGxlZAorLWxvY2FsZWRpcj0nJHtwcmVmaXh9LyR7REFUQURJUk5BTUV9L2xvY2FsZScKKy1BQ19TVUJTVChsb2NhbGVkaXIpCistCisgIyBXb3JrYXJvdW5kIHRvIG1ha2UgYWNsb2NhbCBnZXQgdGhlIHJpZ2h0IGZsYWdzCisgQUNfU1VCU1QoQUNMT0NBTF9BTUZMQUdTLCAiXCR7QUNMT0NBTF9GTEFHU30iKQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvdGhlbWVzL2dub21lLXRoZW1lcy9pY29ucGF0aC1vcHRpb24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS90aGVtZXMvZ25vbWUtdGhlbWVzL2ljb25wYXRoLW9wdGlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjQwOTZkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvdGhlbWVzL2dub21lLXRoZW1lcy9pY29ucGF0aC1vcHRpb24ucGF0Y2gKQEAgLTAsMCArMSw1MiBAQAorCitUaGUgcGF0Y2ggaXMgcG9ydGVkIGZyb20gc2F0by1pY29uLXRoZW1lLgorCitwa2ctY29uZmlnIHdpbGwgb25seSBzZWFyY2ggdGhlIHRhcmdldCBzeXNyb290IGFuZCB3ZSB3YW50IHRoZSBuYXRpdmUgc2NyaXB0LiBUaGlzIAorcGF0Y2ggYWRkcyBhbiBvcHRpb24gdG8gYWxsb3cgdGhlIHBhdGggdG8gdGhlIHRvb2wgdG8gYmUgc3BlY2lmaWVkLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBjb25maWd1cmUuaW4gfCAgIDI2ICsrKysrKysrKysrKysrKystLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCitpbmRleCA1ZjdhMThjLi5lOGZjMzFlIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmluCisrKysgYi9jb25maWd1cmUuaW4KK0BAIC03NCwxNiArNzQsMjIgQEAgQUNfQVJHX0VOQUJMRShbaWNvbi1tYXBwaW5nXSwKKyBJQ09OTUFQPSJ0cnVlIgorIGlmIHRlc3QgIngkZW5hYmxlX21hcHBpbmciICE9ICJ4bm8iOyB0aGVuCisgICAgVVRJTFNfUkVRVUlSRUQ9MC44LjcKKy0KKy0gICBBQ19NU0dfQ0hFQ0tJTkcoW2ljb24tbmFtaW5nLXV0aWxzID49ICRVVElMU19SRVFVSVJFRF0pCistICAgUEtHX0NIRUNLX0VYSVNUUyhpY29uLW5hbWluZy11dGlscyA+PSAkVVRJTFNfUkVRVUlSRUQsIGhhdmVfdXRpbHM9eWVzLCBoYXZlX3V0aWxzPW5vKQorLSAgIGlmIHRlc3QgIngkaGF2ZV91dGlscyIgPSAieHllcyI7IHRoZW4KKy0gICAgICBVVElMU19QQVRIPSJgJFBLR19DT05GSUcgLS12YXJpYWJsZT1wcm9ncmFtX3BhdGggaWNvbi1uYW1pbmctdXRpbHNgIgorLSAgICAgIElDT05NQVA9IiRVVElMU19QQVRIL2ljb24tbmFtZS1tYXBwaW5nIgorLSAgICAgIEFDX01TR19SRVNVTFQoW3llc10pCistICAgZWxzZQorLQlBQ19NU0dfUkVTVUxUKFtub10pCistICAgCUFDX01TR19FUlJPUihbaWNvbi1uYW1pbmctdXRpbHMgPj0gJFVUSUxTX1JFUVVJUkVEIGlzIHJlcXVpcmVkIHRvIGJ1aWxkIGFuZCBpbnN0YWxsIGdub21lLXRoZW1lc10pCisrICAgUEtHX1BST0dfUEtHX0NPTkZJRygpCisrICAgQUNfQVJHX1dJVEgoaWNvbm1hcCwKKysgICAJICAgIEFDX0hFTFBfU1RSSU5HKFstLXdpdGgtaWNvbm1hcD08ZGlyPl0sIFtUaGUgbG9jYXRpb24gb2YgdGhlIGljb24tbmFtZS1tYXBwaW5nIHNjcmlwdCB0byB1c2VdKSwKKysgICAJICAgIElDT05NQVA9JHdpdGh2YWwsIElDT05NQVA9IiIpCisrICAgaWYgdGVzdCAieCRJQ09OTUFQIiA9ICJ4IjsgdGhlbgorKyAgICAgIEFDX01TR19DSEVDS0lORyhbaWNvbi1uYW1pbmctdXRpbHMgPj0gJFVUSUxTX1JFUVVJUkVEXSkKKysgICAgICBQS0dfQ0hFQ0tfRVhJU1RTKGljb24tbmFtaW5nLXV0aWxzID49ICRVVElMU19SRVFVSVJFRCwgaGF2ZV91dGlscz15ZXMsIGhhdmVfdXRpbHM9bm8pCisrICAgICAgaWYgdGVzdCAieCRoYXZlX3V0aWxzIiA9ICJ4eWVzIjsgdGhlbgorKyAgICAgICAgIFVUSUxTX1BBVEg9ImAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPXByb2dyYW1fcGF0aCBpY29uLW5hbWluZy11dGlsc2AiCisrICAgICAgICAgSUNPTk1BUD0iJFVUSUxTX1BBVEgvaWNvbi1uYW1lLW1hcHBpbmciCisrCisrICAgICAgICAgQUNfTVNHX1JFU1VMVChbeWVzXSkKKysgICAgICBlbHNlCisrICAgICAgICAgQUNfTVNHX1JFU1VMVChbbm9dKQorKyAgICAgICAgIEFDX01TR19FUlJPUihbaWNvbi1uYW1pbmctdXRpbHMgPj0gJFVUSUxTX1JFUVVJUkVEIGlzIHJlcXVpcmVkIHRvIGJ1aWxkIGFuZCBpbnN0YWxsIGdub21lLXRoZW1lcyJdKQorKyAgICAgIGZpCisgICAgZmkKKyBmaQorIEFDX1NVQlNUKElDT05NQVApCistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvdGhlbWVzL2dub21lLXRoZW1lc18yLjMyLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS90aGVtZXMvZ25vbWUtdGhlbWVzXzIuMzIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWE3NDNlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvdGhlbWVzL2dub21lLXRoZW1lc18yLjMyLjEuYmIKQEAgLTAsMCArMSwzMyBAQAorU1VNTUFSWSA9ICJHTk9NRSB0aGVtZXMiCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MmI1NDNkYzk3ZWI3NTk0ZDAyNmFmMzlkOWI1NDIwNGIiCisKK1BSID0gInIzIgorCitTRUNUSU9OID0gIngxMS9nbm9tZSIKK0RFUEVORFMgPSAiZ3RrLWVuZ2luZXMgaWNvbi1uYW1pbmctdXRpbHMgaWNvbi1uYW1pbmctdXRpbHMtbmF0aXZlIGdsaWItMi4wIGludGx0b29sLW5hdGl2ZSBsaWJ4bWwtc2ltcGxlLXBlcmwtbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gPSAiYWR3YWl0YS1pY29uLXRoZW1lIgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZW5hYmxlLWFsbC10aGVtZXMgXAorICAgIC0td2l0aC1pY29ubWFwPSR7U1RBR0lOR19MSUJFWEVDRElSX05BVElWRX0vaWNvbi1uYW1lLW1hcHBpbmcgXAorIgorCitpbmhlcml0IGdub21lYmFzZSBwZXJsbmF0aXZlCisKK1BBQ0tBR0VTID0rICIgZ25vbWUtdGhlbWUtY3J1eCBnbm9tZS10aGVtZS1oaWdoY29udHJhc3QgZ25vbWUtdGhlbWUtaGlnaGNvbnRyYXN0aW52ZXJzZSBnbm9tZS10aGVtZS1oaWdoY29udHJhc3RsYXJnZXByaW50IGdub21lLXRoZW1lLWhpZ2hjb250cmFzdGxhcmdlcHJpbnRpbnZlcnNlIGdub21lLXRoZW1lLWxhcmdlcHJpbnQgZ25vbWUtdGhlbWUtbWlzdCIKK0ZJTEVTX2dub21lLXRoZW1lLWNydXggPSAiJHtkYXRhZGlyfS90aGVtZXMvQ3J1eCAke2RhdGFkaXJ9L2ljb25zL0NydXgiCitGSUxFU19nbm9tZS10aGVtZS1oaWdoY29udHJhc3QgPSAiJHtkYXRhZGlyfS90aGVtZXMvSGlnaENvbnRyYXN0ICR7ZGF0YWRpcn0vaWNvbnMvSGlnaENvbnRyYXN0IgorRklMRVNfZ25vbWUtdGhlbWUtaGlnaGNvbnRyYXN0aW52ZXJzZSA9ICIke2RhdGFkaXJ9L3RoZW1lcy9IaWdoQ29udHJhc3RJbnZlcnNlICR7ZGF0YWRpcn0vaWNvbnMvSGlnaENvbnRyYXN0SW52ZXJzZSIKK0ZJTEVTX2dub21lLXRoZW1lLWhpZ2hjb250cmFzdGxhcmdlcHJpbnQgPSAiJHtkYXRhZGlyfS90aGVtZXMvSGlnaENvbnRyYXN0TGFyZ2VQcmludCAke2RhdGFkaXJ9L2ljb25zL0hpZ2hDb250cmFzdExhcmdlUHJpbnQiCitGSUxFU19nbm9tZS10aGVtZS1oaWdoY29udHJhc3RsYXJnZXByaW50aW52ZXJzZSA9ICIke2RhdGFkaXJ9L3RoZW1lcy9IaWdoQ29udHJhc3RMYXJnZVByaW50SW52ZXJzZSAke2RhdGFkaXJ9L2ljb25zL0hpZ2hDb250cmFzdExhcmdlUHJpbnRJbnZlcnNlIgorRklMRVNfZ25vbWUtdGhlbWUtbGFyZ2VwcmludCA9ICIke2RhdGFkaXJ9L3RoZW1lcy9MYXJnZVByaW50ICR7ZGF0YWRpcn0vaWNvbnMvTGFyZ2VQcmludCIKK0ZJTEVTX2dub21lLXRoZW1lLW1pc3QgPSAiJHtkYXRhZGlyfS90aGVtZXMvTWlzdCAke2RhdGFkaXJ9L2ljb25zL01pc3QiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3RoZW1lcyAke2RhdGFkaXJ9L2ljb25zIgorCitTUkNfVVJJICs9ICJmaWxlOi8vaWNvbnBhdGgtb3B0aW9uLnBhdGNoIFwKKyAgICBmaWxlOi8vZHJvcC1sb2NhbGVkaXItb3ZlcnJpZGUucGF0Y2ggXAorIiAKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjQxZGI5ZTNjYjI1ZDM1YWYyNjc1YzU5OWU2Nzk0NGQxIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiODYwMWVlMjRjMmUwOTY1OTMyMjFjYmQ2ZWJkYjY2ODYwNDIyMjVhMDNjMDJhMDFjMGQ2N2MxNjNmOWZlYmQxYSIKK0dOT01FX0NPTVBSRVNTX1RZUEU9ImJ6MiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3d2L3d2LTEuMi40LzAwMDEtY29uZmlndXJlLXVzZS1mb3JlaWduLW1vZGUtdG8tYXZvaWQtZXJyb3JzLXdpdGgtbWlzcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3d2L3d2LTEuMi40LzAwMDEtY29uZmlndXJlLXVzZS1mb3JlaWduLW1vZGUtdG8tYXZvaWQtZXJyb3JzLXdpdGgtbWlzcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOGM1YmM3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvd3Yvd3YtMS4yLjQvMDAwMS1jb25maWd1cmUtdXNlLWZvcmVpZ24tbW9kZS10by1hdm9pZC1lcnJvcnMtd2l0aC1taXNzLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Zyb20gZWViZTFmMjdmNGIyN2IwNWViNGI5YjU1ZjlkZjExMjRhY2Y0ZDA5MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitEYXRlOiBGcmksIDEgQXVnIDIwMTQgMTI6MjU6MjQgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlOiB1c2UgJ2ZvcmVpZ24nIG1vZGUgdG8gYXZvaWQgZXJyb3JzIHdpdGggbWlzc2luZworIE5FV1MvQVVUSE9SUy9ldGMKKworVXBzdHJlYW0tc3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CistLS0KKyBjb25maWd1cmUuYWMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDNkN2VlZjYuLjE3ODRiZGQgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTQxLDcgKzQxLDcgQEAgVkVSU0lPTj0kV1ZfVkVSU0lPTgorIFBBQ0tBR0U9d3YKKyAKKyBkbmwgSW5pdGlhbGl6ZSBhdXRvbWFrZSBzdHVmZgorLUFNX0lOSVRfQVVUT01BS0UoJFBBQ0tBR0UsICRWRVJTSU9OKQorK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ25dKQorIAorICMgU3BlY2lmeSBhIGNvbmZpZ3VyYXRpb24gZmlsZQorIEFNX0NPTkZJR19IRUFERVIoY29uZmlnLmgpCistLSAKKzEuOS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3d2L3d2LTEuMi40L3BrZ2NvbmZpZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3d2L3d2LTEuMi40L3BrZ2NvbmZpZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMzZkODkzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvd3Yvd3YtMS4yLjQvcGtnY29uZmlnLnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKK0luZGV4OiB3di0xLjIuMC93di0xLjAucGMuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB3di0xLjIuMC5vcmlnL3d2LTEuMC5wYy5pbgkyMDA4LTAzLTE5IDIyOjI1OjE4LjAwMDAwMDAwMCArMDAwMAorKysrIHd2LTEuMi4wL3d2LTEuMC5wYy5pbgkyMDA4LTAzLTE5IDIyOjI2OjMyLjAwMDAwMDAwMCArMDAwMAorQEAgLTYsNSArNiw2IEBACisgTmFtZTogd3ZXYXJlCisgRGVzY3JpcHRpb246IFdvcmQgRG9jdW1lbnQgRmlsdGVyIGxpYnJhcnkgYW5kIHV0aWxpdGllcworIFZlcnNpb246IEBWRVJTSU9OQAorLUxpYnM6IC1MJHtsaWJkaXJ9IC1sd3YgQFdNRl9MSUJTQCBAWE1MX0xJQlNAIEBHTElCX0xJQlNAIEBHU0ZfTElCU0AgQFBOR19MSUJTQCBAWkxJQl9MSUJTQCBATElCU0AgLWxtCistQ2ZsYWdzOiAtSSR7aW5jbHVkZWRpcn0vd3YgQEdTRl9DRkxBR1NACisrUmVxdWlyZXM6IGxpYmdzZi0xCisrTGliczogLUwke2xpYmRpcn0gLWx3diBAV01GX0xJQlNAIEBYTUxfTElCU0AgQFBOR19MSUJTQCBAWkxJQl9MSUJTQCBATElCU0AgLWxtCisrQ2ZsYWdzOiAtSSR7aW5jbHVkZWRpcn0vd3YKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3d2L3d2XzEuMi40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvd3Yvd3ZfMS4yLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjQ4OWM2ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3d2L3d2XzEuMi40LmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiUHJvZ3JhbXMgZm9yIGFjY2Vzc2luZyBNaWNyb3NvZnQgV29yZCBkb2N1bWVudHMiCitIT01FUEFHRSA9ICJodHRwOi8vd3Z3YXJlLnNvdXJjZWZvcmdlLm5ldC8iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NmNiY2EwMWYxYzkxNzhhY2EyODBlOGZmNjRkODViMmYiCisKK0RFUEVORFMgPSAibGliZ3NmIGdsaWItMi4wIGxpYnBuZyIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vd3Z3YXJlL3d2LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9wa2djb25maWcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUtdXNlLWZvcmVpZ24tbW9kZS10by1hdm9pZC1lcnJvcnMtd2l0aC1taXNzLnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjMTg2MWM1NjA0OTFmMTIxZTEyOTE3ZmE3Njk3MGFjNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2NzMxMDk5MTBlMjJkNGNmOTRjYzhiZTRkY2I5YTBjNDFiNWZiZGIxNzM2ZDRiN2JkYzc3Nzg4OTRkNTdjMmQ2IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworUyA9ICIke1dPUktESVJ9LyR7UE59LSR7UFZ9IgorCitFWFRSQV9PRUNPTkYgPSAiIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvemVuaXR5L2ZpbGVzLzAwMDEtTWFrZWZpbGUuYW0tZG9uLXQtYnVpbGQtaGVscC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3plbml0eS9maWxlcy8wMDAxLU1ha2VmaWxlLmFtLWRvbi10LWJ1aWxkLWhlbHAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTBjOWNiOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3plbml0eS9maWxlcy8wMDAxLU1ha2VmaWxlLmFtLWRvbi10LWJ1aWxkLWhlbHAucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorRnJvbSAxN2U1NjA2ZjhjNGM4ZmYyNmJhMTg0ODlhYWQ0YzQ4NGNmOGUyOTQ5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogTW9uLCAyOSBBcHIgMjAxMyAxMTozNDoyNyArMDIwMAorU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZS5hbTogZG9uJ3QgYnVpbGQgaGVscAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitpdCBjcmFzaGVzIHdpdGg6CisKK3wgd2FybmluZzogZmFpbGVkIHRvIGxvYWQgZXh0ZXJuYWwgZW50aXR5ICIvdXNyL3NoYXJlL3htbC9nbm9tZS94c2x0L2RvY2Jvb2svb21mL2RiMm9tZi54c2wiCit8IGNhbm5vdCBwYXJzZSAvdXNyL3NoYXJlL3htbC9nbm9tZS94c2x0L2RvY2Jvb2svb21mL2RiMm9tZi54c2wKK3wgbWFrZVsyXTogKioqIFt6ZW5pdHktYmcub21mXSBFcnJvciAxCit8IG1ha2VbMl06IExlYXZpbmcgZGlyZWN0b3J5IGAvaG9tZS9hbmRyZWFzL3RtcC9vZS1jb3JlLWVnbGliYy93b3JrL2FybXY3YS12ZnAtbmVvbi1hbmdzdHJvbS1saW51eC1nbnVlYWJpL3plbml0eS8yLjMyLjEtcjIvemVuaXR5LTIuMzIuMS9oZWxwJworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIE1ha2VmaWxlLmFtIHwgICAgMyArLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KK2luZGV4IDAzYWNjYzEuLmNhZWM3ZjAgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5hbQorKysrIGIvTWFrZWZpbGUuYW0KK0BAIC0xLDggKzEsNyBAQAorIFNVQkRJUlMgPSBcCisgCXNyYwlcCisgCXBvCVwKKy0JZGF0YQlcCistCWhlbHAKKysJZGF0YQorIAorIEVYVFJBX0RJU1QgPSBcCisgCWF1dG9nZW4uc2gJCVwKKy0tIAorMS43LjYuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS96ZW5pdHkvemVuaXR5XzIuMzIuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3plbml0eS96ZW5pdHlfMi4zMi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlMDFjNWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS96ZW5pdHkvemVuaXR5XzIuMzIuMS5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIkRpc3BsYXkgZGlhbG9nIGJveGVzIGZyb20gdGhlIGNvbW1hbmRsaW5lIGFuZCBzaGVsbCBzY3JpcHRzIgorTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zYmY1MDAwMmFlZmQwMDJmNDllN2JiODU0MDYzZjdlNyIKKworUFIgPSAicjIiCisKK1BOQkxBQ0tMSVNUW3plbml0eV0gPz0gIkJST0tFTjogZG9lc24ndCBidWlsZCB3aXRoIEIhPVMiCisKK0RFUEVORFMgPSAiZ3RrKyBnbGliLTIuMCBsaWJub3RpZnkgZ25vbWUtZG9jLXV0aWxzIgorCitpbmhlcml0IGdub21lYmFzZQorU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtTWFrZWZpbGUuYW0tZG9uLXQtYnVpbGQtaGVscC5wYXRjaCIKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImFhNjZlYzM1NDUxYjE2ZTQyNDUxOWI0OTczMDgyMTcwIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiODgzOGJlMDQxYTA3MzY0YjYyYTQyODFjOTcxMzkyZTRhMDliYjAxYmIzMjM3YTgzNmVjMDQ1N2VjMGVhMThhYyIKKworRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtc2Nyb2xsa2VlcGVyIgorIyByZW1vdmUgLUkvdXNyL2luY2x1ZGUgZnJvbSB6ZW5pdHlfQ1BQRkxBR1MKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAtZSAnLy1JJChpbmNsdWRlZGlyKS9kJyBzcmMvTWFrZWZpbGUuYW0KK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC9mbG9yZW5jZS9maWxlcy8wMDAxLUZpeC1nbGliLWluY2x1ZGVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC9mbG9yZW5jZS9maWxlcy8wMDAxLUZpeC1nbGliLWluY2x1ZGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzZTU5OGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L2Zsb3JlbmNlL2ZpbGVzLzAwMDEtRml4LWdsaWItaW5jbHVkZXMucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorRnJvbSBjODQxOWVmMDVmZjkyZmZhM2RlMmU2MjZlYjZhY2Q1ZDJkZjNiYWExIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogVHVlLCAxNSBNYXkgMjAxMiAxMzo0MDowNSArMDIwMAorU3ViamVjdDogW1BBVENIXSBGaXggZ2xpYiBpbmNsdWRlcworTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorVXBzdHJlYW0tU3RhdHVzOiB1bmtub3duCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIHNyYy90cmFjZS5jIHwgICAgNSArLS0tLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL3RyYWNlLmMgYi9zcmMvdHJhY2UuYworaW5kZXggNWVhNWMxMy4uNzc0YzU2ZCAxMDA2NDQKKy0tLSBhL3NyYy90cmFjZS5jCisrKysgYi9zcmMvdHJhY2UuYworQEAgLTIxLDEwICsyMSw3IEBACisgCisgI2luY2x1ZGUgInRyYWNlLmgiCisgI2luY2x1ZGUgInN5c3RlbS5oIgorLSNpbmNsdWRlIDxnbGliL2dwcmludGYuaD4KKy0jaW5jbHVkZSA8Z2xpYi9ndXRpbHMuaD4KKy0jaW5jbHVkZSA8Z2xpYi9nc2xpc3QuaD4KKy0jaW5jbHVkZSA8Z2xpYi9nc3RyZnVuY3MuaD4KKysjaW5jbHVkZSA8Z2xpYi5oPgorICNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlIDxzdGRhcmcuaD4KKyAKKy0tIAorMS43LjYuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L2Zsb3JlbmNlL2Zsb3JlbmNlXzAuNS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC9mbG9yZW5jZS9mbG9yZW5jZV8wLjUuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTAxNGYwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC9mbG9yZW5jZS9mbG9yZW5jZV8wLjUuMS5iYgpAQCAtMCwwICsxLDIwIEBACitERVNDUklQVElPTiA9ICJGbG9yZW5jZSBpcyBhIHZpcnR1YWwga2V5Ym9hcmQgKGFsc28gY2FsbGVkIG9uLXNjcmVlbi1rZXlib2FyZCksIHdoaWNoIGFsbG93cyB0aGUgdXNlciB0byBpbnB1dCB0ZXh0IHRocm91Z2ggYSB0b3VjaHNjcmVlbi4iCitIT01FUEFHRSA9ICJodHRwOi8vZmxvcmVuY2Uuc291cmNlZm9yZ2UubmV0L2VuZ2xpc2guaHRtbCIKKworI05PVElDRTogSWYgZmxvcmVuY2UgY2FuJ3QgZmluZCBpdHMgZ2NvbmYgc2V0dGluZ3MsIHlvdSBuZWVkIHRvIHN0YXJ0IGZsb3JlbmNlIHdpdGggLS1jb25maWcgZm9yIG9uZSB0aW1lIGFuZCBzYXZlIHRoZSBjb25maWd1cmF0aW9uIG9uY2UuCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiIKKworUFIgPSAicjEiCisKK0RFUEVORFMgPSAiZ3RrKyBsaWJ4bWwyIGxpYmdsYWRlIGxpYnJzdmcgbGlieHRzdCBnY29uZiBjYWlybyBpbnRsdG9vbC1uYXRpdmUgZ25vbWUtZG9jLXV0aWxzIGxpYm5vdGlmeSIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vZmxvcmVuY2UvZmxvcmVuY2UvJHtQVn0vZmxvcmVuY2UtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1nbGliLWluY2x1ZGVzLnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gIjU2ZDEyZTViNDdjMTAwZDlkZjE3MmFhNWRkYzBmNjA5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdiMDZlZDg0ZWYyYjdiMjJkOGQyY2YwYzdkMDEzYTA1NDA5YmQ4MjAyODI0MGFjODcxOWE2OGIxOTJkNWJjNjIiCisKK2luaGVyaXQgZ2V0dGV4dCBhdXRvdG9vbHMgZ2NvbmYgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtc2Nyb2xsa2VlcGVyIC0td2l0aG91dC1kb2NzIC0td2l0aG91dC1hdC1zcGkgLS13aXRob3V0LXBhbmVsYXBwbGV0IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC9nb2ZmaWNlL2dvZmZpY2UvMDAwMS1jb25maWd1cmUuYWMtZml4LXBhdGhzLXRvLWludHJvc3BlY3Rpb24tdG9vbHMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L2dvZmZpY2UvZ29mZmljZS8wMDAxLWNvbmZpZ3VyZS5hYy1maXgtcGF0aHMtdG8taW50cm9zcGVjdGlvbi10b29scy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNjQ1OTc4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC9nb2ZmaWNlL2dvZmZpY2UvMDAwMS1jb25maWd1cmUuYWMtZml4LXBhdGhzLXRvLWludHJvc3BlY3Rpb24tdG9vbHMucGF0Y2gKQEAgLTAsMCArMSw0MSBAQAorRnJvbSA4ZTE1OGMxNmNkMTVmZmYwOGI0MmVkODZlZGM1NTgxNmQzMzg3ODM3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBGcmksIDE5IEZlYiAyMDE2IDE2OjA0OjI0ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZS5hYzogZml4IHBhdGhzIHRvIGludHJvc3BlY3Rpb24gdG9vbHMKKworVGhleSBuZWVkIHRvIGJlIHByZWZpeGVkIHdpdGggJFBLR19DT05GSUdfU1lTUk9PVF9ESVIKKworU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyBjb25maWd1cmUuYWMgfCA4ICsrKystLS0tCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggNmQyYjc0Ny4uM2IyODQ2MyAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNzA2LDkgKzcwNiw5IEBAIGlmIHRlc3QgIngkZm91bmRfaW50cm9zcGVjdGlvbiIgPSAieHllcyI7IHRoZW4KKyAgICBkbmwgcHl0aG9uIHdoZXJlIHRvIGZpbmQgbGliZ29mZmljZSwgc28geW91IG1pZ2h0IGFsc28gbmVlZCB0byBzZXQKKyAgICBkbmwgTERfTElCUkFSWV9QQVRILgorIAorLSAgIElOVFJPU1BFQ1RJT05fU0NBTk5FUj1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1nX2lyX3NjYW5uZXIgZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMGAKKy0gICBJTlRST1NQRUNUSU9OX0NPTVBJTEVSPWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPWdfaXJfY29tcGlsZXIgZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMGAKKy0gICBJTlRST1NQRUNUSU9OX0dFTkVSQVRFPWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPWdfaXJfZ2VuZXJhdGUgZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMGAKKysgICBJTlRST1NQRUNUSU9OX1NDQU5ORVI9JFBLR19DT05GSUdfU1lTUk9PVF9ESVJgJFBLR19DT05GSUcgLS12YXJpYWJsZT1nX2lyX3NjYW5uZXIgZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMGAKKysgICBJTlRST1NQRUNUSU9OX0NPTVBJTEVSPSRQS0dfQ09ORklHX1NZU1JPT1RfRElSYCRQS0dfQ09ORklHIC0tdmFyaWFibGU9Z19pcl9jb21waWxlciBnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wYAorKyAgIElOVFJPU1BFQ1RJT05fR0VORVJBVEU9JFBLR19DT05GSUdfU1lTUk9PVF9ESVJgJFBLR19DT05GSUcgLS12YXJpYWJsZT1nX2lyX2dlbmVyYXRlIGdvYmplY3QtaW50cm9zcGVjdGlvbi0xLjBgCisgICAgaWYgdGVzdCAieCRJTlRST1NQRUNUSU9OX0dJUkRJUiIgPSB4OyB0aGVuCisgICAgICBJTlRST1NQRUNUSU9OX0dJUkRJUj1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1naXJkaXIgZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMGAKKyAgICBmaQorQEAgLTcxNyw3ICs3MTcsNyBAQCBpZiB0ZXN0ICJ4JGZvdW5kX2ludHJvc3BlY3Rpb24iID0gInh5ZXMiOyB0aGVuCisgICAgZmkKKyAgICBJTlRST1NQRUNUSU9OX0NGTEFHUz1gJFBLR19DT05GSUcgLS1jZmxhZ3MgZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMGAKKyAgICBJTlRST1NQRUNUSU9OX0xJQlM9YCRQS0dfQ09ORklHIC0tbGlicyBnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wYAorLSAgIElOVFJPU1BFQ1RJT05fTUFLRUZJTEU9YCRQS0dfQ09ORklHIC0tdmFyaWFibGU9ZGF0YWRpciBnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wYC9nb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wL01ha2VmaWxlLmludHJvc3BlY3Rpb24KKysgICBJTlRST1NQRUNUSU9OX01BS0VGSUxFPSRQS0dfQ09ORklHX1NZU1JPT1RfRElSYCRQS0dfQ09ORklHIC0tdmFyaWFibGU9ZGF0YWRpciBnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wYC9nb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wL01ha2VmaWxlLmludHJvc3BlY3Rpb24KKyBlbHNlCisgICAgSU5UUk9TUEVDVElPTl9TQ0FOTkVSPQorICAgIElOVFJPU1BFQ1RJT05fQ09NUElMRVI9CistLSAKKzIuNy4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvZ29mZmljZS9nb2ZmaWNlL2M5OW1hdGgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L2dvZmZpY2UvZ29mZmljZS9jOTltYXRoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0ZTZjMzEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L2dvZmZpY2UvZ29mZmljZS9jOTltYXRoLnBhdGNoCkBAIC0wLDAgKzEsMTIgQEAKK0luZGV4OiBnb2ZmaWNlLTAuNy4xNC9jb25maWd1cmUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnb2ZmaWNlLTAuNy4xNC5vcmlnL2NvbmZpZ3VyZS5pbgkyMDA5LTExLTE0IDE5OjE0OjM3LjEwNjEwOTUwMSArMDEwMAorKysrIGdvZmZpY2UtMC43LjE0L2NvbmZpZ3VyZS5pbgkyMDA5LTExLTE0IDE5OjE5OjQwLjkwNzMzMzE4OCArMDEwMAorQEAgLTY2LDYgKzY2LDcgQEAKKyAKKyBBQ19JU0NfUE9TSVgKKyBBQ19QUk9HX0NDCisrQUNfUFJPR19DQ19DOTkKKyBBQ19QUk9HX1lBQ0MKKyBBTV9QUk9HX0xFWAorIEFDX1BST0dfTE5fUwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC9nb2ZmaWNlL2dvZmZpY2Uvbm9kb2x0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC9nb2ZmaWNlL2dvZmZpY2Uvbm9kb2x0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhMTc3N2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L2dvZmZpY2UvZ29mZmljZS9ub2RvbHQucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorSW5kZXg6IGdvZmZpY2UtMC43LjE0L2NvbmZpZ3VyZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdvZmZpY2UtMC43LjE0Lm9yaWcvY29uZmlndXJlLmluCisrKysgZ29mZmljZS0wLjcuMTQvY29uZmlndXJlLmluCitAQCAtNzEsNyArNzEsNiBAQCBBQ19QUk9HX1lBQ0MKKyBBTV9QUk9HX0xFWAorIEFDX1BST0dfTE5fUworIEFNX1BST0dfTElCVE9PTAorLURPTFQKKyBBQ19TVERDX0hFQURFUlMKKyBBQ19TWVNfTEFSR0VGSUxFCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L2dvZmZpY2UvZ29mZmljZS9wY3JlLTguMzAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L2dvZmZpY2UvZ29mZmljZS9wY3JlLTguMzAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWU5MzcwYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvZ29mZmljZS9nb2ZmaWNlL3BjcmUtOC4zMC5wYXRjaApAQCAtMCwwICsxLDE5IEBACitUYWtlbiBmcm9tIGh0dHA6Ly90cmFjLm1hY3BvcnRzLm9yZy90aWNrZXQvMzQ4MTIKKworRml4ZXMgYWJpd29yZCBidWlsZCBmYWlsaW5nIHdpdGg6CisvdXNyL2xpYi9saWJnb2ZmaWNlLTAuOC5zbzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgcGNyZV9pbmZvJworCitVcHN0cmVhbS1TdGF0dXM6IHBlbmRpbmcKKworaHR0cDovL3d3dy5saW51eGZyb21zY3JhdGNoLm9yZy9ibGZzL3ZpZXcvY3ZzL3gvZ29mZmljZS5odG1sCistLS0gYS9nb2ZmaWNlL3V0aWxzL3JlZ3V0ZjguYy5vcmlnCTIwMDktMDktMDUgMTg6NTI6MDkuMDAwMDAwMDAwIC0wNTAwCisrKysgYi9nb2ZmaWNlL3V0aWxzL3JlZ3V0ZjguYwkyMDEyLTA2LTA5IDE4OjA0OjI5LjAwMDAwMDAwMCAtMDUwMAorQEAgLTE1NSw3ICsxNTUsNyBAQAorIAkJZGVmYXVsdDogcmV0dXJuIEdPX1JFR19CQURQQVQ7CisgCQl9CisgCX0gZWxzZSB7CistCQlnb3ItPnJlX25zdWIgPSBwY3JlX2luZm8gKHIsIE5VTEwsIE5VTEwpOworKwkJZ29yLT5yZV9uc3ViID0gcGNyZV9mdWxsaW5mbyAociwgTlVMTCwgMCwgTlVMTCk7CisgCQlnb3ItPm5vc3ViID0gKGNmbGFncyAmIEdPX1JFR19OT1NVQikgIT0gMDsKKyAJCXJldHVybiAwOworIAl9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L2dvZmZpY2UvZ29mZmljZV8wLjEwLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L2dvZmZpY2UvZ29mZmljZV8wLjEwLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTE5YWE3YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvZ29mZmljZS9nb2ZmaWNlXzAuMTAuMS5iYgpAQCAtMCwwICsxLDQ5IEBACitERVNDUklQVElPTj0iR25vbWUgT2ZmaWNlIExpYnJhcnkiCisKK0xJQ0VOU0U9IkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NmRjMzNmZjIxZTFiYTFhYzFhMmExMDY5ZDM2MWUyOWUiCisKK0RFUEVORFMgPSAibGlieG1sLXBhcnNlci1wZXJsLW5hdGl2ZSBnbGliLTIuMCBndGsrMyBwYW5nbyBjYWlybyBsaWJnc2YgbGlicGNyZSBsaWJ4bWwyIGxpYmFydC1sZ3BsIGxpYnJzdmcgaW50bHRvb2wiCisKK2luaGVyaXQgZ25vbWViYXNlIHBrZ2NvbmZpZyBwZXJsbmF0aXZlIGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitHTk9NRV9DT01QUkVTU19UWVBFID0gInh6IgorCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1jb25maWd1cmUuYWMtZml4LXBhdGhzLXRvLWludHJvc3BlY3Rpb24tdG9vbHMucGF0Y2giCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjkwZmQxN2M2ZmUyMDViNzc5NTcxZTAwZDliMGI0NzI3IgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiNWMzOGY0ZTgxZTg3NGNjOGU4OTQ4MWIwODBmNzdjNDdjNzJiZmQ2ZmUyNTI2ZjRmYzJlZjg3YzE3Zjk2Y2FkMCIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZ29mZmljZS8ke1BWfS9wbHVnaW5zLyovLmRlYnVnIgorCitSUkVDT01NRU5EU18ke1BOfSA9ICIgXAorICAgIGdvZmZpY2UtcGx1Z2luLXBsb3QtYmFyY29sIFwKKyAgICBnb2ZmaWNlLXBsdWdpbi1wbG90LWRpc3RyaWIgXAorICAgIGdvZmZpY2UtcGx1Z2luLXBsb3QtcGllIFwKKyAgICBnb2ZmaWNlLXBsdWdpbi1wbG90LXJhZGFyIFwKKyAgICBnb2ZmaWNlLXBsdWdpbi1wbG90LXN1cmZhY2UgXAorICAgIGdvZmZpY2UtcGx1Z2luLXBsb3QteHkgXAorICAgIGdvZmZpY2UtcGx1Z2luLXJlZy1saW5lYXIgXAorICAgIGdvZmZpY2UtcGx1Z2luLXJlZy1sb2dmaXQgXAorICAgIGdvZmZpY2UtcGx1Z2luLXNtb290aGluZyBcCisiCisKK0ZJTEVTXyR7UE59ID0gIiR7YmluZGlyfS8qICR7c2JpbmRpcn0vKiAke2xpYmV4ZWNkaXJ9LyogJHtsaWJkaXJ9L2xpYioke1NPTElCU30gXAorICAgICR7c3lzY29uZmRpcn0gJHtzaGFyZWRzdGF0ZWRpcn0gJHtsb2NhbHN0YXRlZGlyfSBcCisgICAgJHtiYXNlX2JpbmRpcn0vKiAke2Jhc2Vfc2JpbmRpcn0vKiBcCisgICAgJHtiYXNlX2xpYmRpcn0vKiR7U09MSUJTfSBcCisgICAgJHtkYXRhZGlyfS8ke1BOfSBcCisgICAgJHtkYXRhZGlyfS9waXhtYXBzICR7ZGF0YWRpcn0vYXBwbGljYXRpb25zIFwKKyAgICAke2RhdGFkaXJ9L2lkbCAke2RhdGFkaXJ9L29tZiAke2RhdGFkaXJ9L3NvdW5kcyBcCisgICAgJHtsaWJkaXJ9L2Jvbm9iby9zZXJ2ZXJzIgorCitGSUxFU18ke1BOfS1sb2NhbGUgPSAiJHtsaWJkaXJ9L2xvY2FsZSIKKworUEFDS0FHRVNfRFlOQU1JQyArPSAiXmdvZmZpY2UtcGx1Z2luLS4qIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgZ29mZmljZV9saWJkaXIgPSBkLmV4cGFuZCgnJHtsaWJkaXJ9L2dvZmZpY2UvJHtQVn0vcGx1Z2lucy8nKQorCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZ29mZmljZV9saWJkaXIsICcoLiopJywgJ2dvZmZpY2UtcGx1Z2luLSVzJywgJ0dvZmZpY2UgcGx1Z2luIGZvciAlcycsIGFsbG93X2RpcnM9VHJ1ZSkKK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC90cmFja2VyL2ZpbGVzLzkwdHJhY2tlciBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdHJhY2tlci9maWxlcy85MHRyYWNrZXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTU5NGI5MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdHJhY2tlci9maWxlcy85MHRyYWNrZXIKQEAgLTAsMCArMSw0IEBACisjIS9iaW4vc2gKKworL3Vzci9iaW4vdHJhY2tlcmQgLW0gJgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L3RyYWNrZXIvZmlsZXMvdHJhY2tlci1kYnVzLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L3RyYWNrZXIvZmlsZXMvdHJhY2tlci1kYnVzLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzk3ZjQ5YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdHJhY2tlci9maWxlcy90cmFja2VyLWRidXMuc2VydmljZQpAQCAtMCwwICsxLDE1IEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPXRyYWNrZXIgREJ1cyBzZXNzaW9uIGJ1cyBoYW5kbGVyCitCZWZvcmU9dHJhY2tlci1zdG9yZS5zZXJ2aWNlCitBZnRlcj1kYnVzLnNlcnZpY2UKK1JlcXVpcmVzPWRidXMuc2VydmljZQorQmluZFRvPXRyYWNrZXItc3RvcmUuc2VydmljZQorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworRW52aXJvbm1lbnRGaWxlPS0vdG1wL3RyYWNrZXIuZW52CitFeGVjU3RhcnRQcmU9QEJBU0VfQklORElSQC9ybSAtcmYgL3RtcC90cmFja2VyLmVudgorRXhlY1N0YXJ0PS9iaW4vc2ggLWMgJ2VjaG8gIkRCVVNfU0VTU0lPTl9CVVNfQUREUkVTUz1gZGJ1cy1kYWVtb24gLS1mb3JrIC0tc2Vzc2lvbiAtLXByaW50LWFkZHJlc3NgIiA+IC90bXAvdHJhY2tlci5lbnYnCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdHJhY2tlci9maWxlcy90cmFja2VyLW1pbmVyLWZzLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L3RyYWNrZXIvZmlsZXMvdHJhY2tlci1taW5lci1mcy5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0ZDlhMWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L3RyYWNrZXIvZmlsZXMvdHJhY2tlci1taW5lci1mcy5zZXJ2aWNlCkBAIC0wLDAgKzEsMTIgQEAKK1tVbml0XQorRGVzY3JpcHRpb249dHJhY2tlci1taW5lci1mcworQWZ0ZXI9c3lzbG9nLnRhcmdldCBsb2NhbC1mcy50YXJnZXQgdWRldi5zZXJ2aWNlIGRidXMuc2VydmljZSB0cmFja2VyLXN0b3JlLnNlcnZpY2UKK1JlcXVpcmVzPXRyYWNrZXItc3RvcmUuc2VydmljZQorCitbU2VydmljZV0KK0Vudmlyb25tZW50PUhPTUU9L2hvbWUvcm9vdAorRW52aXJvbm1lbnRGaWxlPS0vdG1wL3RyYWNrZXIuZW52CitFeGVjU3RhcnQ9QExJQkVYRUNESVJAL3RyYWNrZXItbWluZXItZnMKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC90cmFja2VyL2ZpbGVzL3RyYWNrZXItc3RvcmUuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdHJhY2tlci9maWxlcy90cmFja2VyLXN0b3JlLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzUwMzdmMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdHJhY2tlci9maWxlcy90cmFja2VyLXN0b3JlLnNlcnZpY2UKQEAgLTAsMCArMSwxMiBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj10cmFja2VyLXN0b3JlCitBZnRlcj1zeXNsb2cudGFyZ2V0IGxvY2FsLWZzLnRhcmdldCBkYnVzLnNlcnZpY2UKK1JlcXVpcmVzPWRidXMuc2VydmljZSB0cmFja2VyLWRidXMuc2VydmljZQorQmluZFRvPXRyYWNrZXItZGJ1cy5zZXJ2aWNlCisKK1tTZXJ2aWNlXQorRW52aXJvbm1lbnRGaWxlPS0vdG1wL3RyYWNrZXIuZW52CitFeGVjU3RhcnQ9QExJQkVYRUNESVJAL3RyYWNrZXItc3RvcmUKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC90cmFja2VyL3RyYWNrZXItMC4xNC4yLzAwMDUtRml4LW1pc3NpbmctZ29iamVjdC1pbnRyb3NwZWN0aW9uLWNoZWNrcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdHJhY2tlci90cmFja2VyLTAuMTQuMi8wMDA1LUZpeC1taXNzaW5nLWdvYmplY3QtaW50cm9zcGVjdGlvbi1jaGVja3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODcwMWY1OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdHJhY2tlci90cmFja2VyLTAuMTQuMi8wMDA1LUZpeC1taXNzaW5nLWdvYmplY3QtaW50cm9zcGVjdGlvbi1jaGVja3MucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorZGlmZiAtTmF1ciAuLi90cmFja2VyLTAuMTAuOC9jb25maWd1cmUuYWMgdHJhY2tlci0wLjEwLjgvL2NvbmZpZ3VyZS5hYworLS0tIC4uL3RyYWNrZXItMC4xMC44L2NvbmZpZ3VyZS5hYwkyMDExLTA0LTA4IDE1OjAzOjMwLjAwMDAwMDAwMCArMDMwMAorKysrIHRyYWNrZXItMC4xMC44Ly9jb25maWd1cmUuYWMJMjAxMS0wNC0xMSAxMzo0NzoxNi42MjU5MTQwMDIgKzAzMDAKK0BAIC0yMTgsNyArMjE4LDEyIEBACisgCisgIyBOZWVkZWQgdG8gZ2VuZXJhdGUgLmdpciBmaWxlcywKKyAjIHNlZSBodHRwOi8vbGl2ZS5nbm9tZS5vcmcvR25vbWVHb2Fscy9BZGRHT2JqZWN0SW50cm9zcGVjdGlvblN1cHBvcnQKKy1HT0JKRUNUX0lOVFJPU1BFQ1RJT05fQ0hFQ0soWzAuOS41XSkKKysjR09CSkVDVF9JTlRST1NQRUNUSU9OX0NIRUNLKFswLjkuNV0pCisrIyBTYXRpc2Z5IG1pc3NpbmcgaW50cm9zcGVjdGlvbiBmb28KKytBTV9DT05ESVRJT05BTChIQVZFX0lOVFJPU1BFQ1RJT04sIHRlc3QgIjAiID09ICIxIikKKysKKytJTlRST1NQRUNUSU9OX0NGTEFHUz0iIgorK0FDX1NVQlNUKElOVFJPU1BFQ1RJT05fQ0ZMQUdTKQorIAorICMgTk9URTogZGJ1cyBhbmQgZGJ1cy1nbGliLTEgYXJlIG9ubHkgdXNlZCBub3cgZm9yIGxpYnRyYWNrZXItY2xpZW50CisgIyB3aGljaCBpcyBkZXByZWNhdGVkIGFuZCB0cmFja2VyLXdyaXRlYmFjayB3aGljaCB3aWxsIGJlIHJlZmFjdG9yZWQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdHJhY2tlci90cmFja2VyLTAuMTQuMi9lbmFibGUtc3FsaXRlLWNyb3NzY29tcGlsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdHJhY2tlci90cmFja2VyLTAuMTQuMi9lbmFibGUtc3FsaXRlLWNyb3NzY29tcGlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZGFkZGEyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC90cmFja2VyL3RyYWNrZXItMC4xNC4yL2VuYWJsZS1zcWxpdGUtY3Jvc3Njb21waWxlLnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKK0luZGV4OiB0cmFja2VyLTAuMTAuMTcvbTQvc3FsaXRlLXRocmVhZHNhZmUubTQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB0cmFja2VyLTAuMTAuMTcub3JpZy9tNC9zcWxpdGUtdGhyZWFkc2FmZS5tNAorKysrIHRyYWNrZXItMC4xMC4xNy9tNC9zcWxpdGUtdGhyZWFkc2FmZS5tNAorQEAgLTQ1LDcgKzQ1LDcgQEAgaW50IG1haW4gKCkKKyAgIF1dKV0sCisgICAgICAgIFtheF9jdl9zcWxpdGVfdGhyZWFkc2FmZT15ZXNdLAorICAgICAgICBbYXhfY3Zfc3FsaXRlX3RocmVhZHNhZmU9bm9dLAorLSAgICAgICBbYXhfY3Zfc3FsaXRlX3RocmVhZHNhZmU9bm9dKV0pCisrICAgICAgIFtheF9jdl9zcWxpdGVfdGhyZWFkc2FmZT15ZXNdKV0pCisgCisgICBMSUJTPSIkc2F2ZV9MSUJTIgorIF0pCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L3RyYWNrZXIvdHJhY2tlci0wLjE0LjIvZml4LXJlbW92YWJsZS1tZWRpYS1kZXRlY3Rpb24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L3RyYWNrZXIvdHJhY2tlci0wLjE0LjIvZml4LXJlbW92YWJsZS1tZWRpYS1kZXRlY3Rpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmMzZDlkZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdHJhY2tlci90cmFja2VyLTAuMTQuMi9maXgtcmVtb3ZhYmxlLW1lZGlhLWRldGVjdGlvbi5wYXRjaApAQCAtMCwwICsxLDMwIEBACitJbmRleDogdHJhY2tlci0wLjE0LjIvc3JjL2xpYnRyYWNrZXItbWluZXIvdHJhY2tlci1zdG9yYWdlLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB0cmFja2VyLTAuMTQuMi5vcmlnL3NyYy9saWJ0cmFja2VyLW1pbmVyL3RyYWNrZXItc3RvcmFnZS5jCTIwMTEtMDgtMDMgMTM6NTM6MTYuMDAwMDAwMDAwICswMTAwCisrKysgdHJhY2tlci0wLjE0LjIvc3JjL2xpYnRyYWNrZXItbWluZXIvdHJhY2tlci1zdG9yYWdlLmMJMjAxMi0wOS0xMCAwODoyNToxOC4zMjIyMTUxMjYgKzAxMDAKK0BAIC0yMCw2ICsyMCw3IEBACisgI2luY2x1ZGUgImNvbmZpZy5oIgorIAorICNpbmNsdWRlIDxzdHJpbmcuaD4KKysjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyAKKyAjaW5jbHVkZSA8Z2lvL2dpby5oPgorICNpbmNsdWRlIDxnaW8vZ3VuaXhtb3VudHMuaD4KK0BAIC02NDYsNiArNjQ3LDE3IEBACisgCQkJCWdjaGFyICpjb250ZW50X3R5cGU7CisgCQkJCWdib29sZWFuIGlzX211bHRpbWVkaWE7CisgCQkJCWdib29sZWFuIGlzX2JsYW5rOworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHN0YXQgc3Q7CisrCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogQ29uc2lkZXIgYWxsIGZpbGVzIHVuZGVyIC9tZWRpYSB0byBiZQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogcmVtb3ZhYmxlIHVubGVzcyB0aGUgZmlsZSAudGhpcy1pcy1yb290IGlzCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBwcmVzZW50LgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXN0cm5jbXAgKG1vdW50X3BhdGgsICIvbWVkaWEvIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RybGVuICgiL21lZGlhLyIpKSAmJgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXQgKCIvbWVkaWEvLnRoaXMtaXMtcm9vdCIsICZzdCkpCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzX3JlbW92YWJsZSA9IFRSVUU7CisgCisgCQkJCWNvbnRlbnRfdHlwZSA9IG1vdW50X2d1ZXNzX2NvbnRlbnRfdHlwZSAobW91bnQsICZpc19vcHRpY2FsLCAmaXNfbXVsdGltZWRpYSwgJmlzX2JsYW5rKTsKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdHJhY2tlci90cmFja2VyXzAuMTQuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdHJhY2tlci90cmFja2VyXzAuMTQuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNTJkOTVlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC90cmFja2VyL3RyYWNrZXJfMC4xNC4yLmJiCkBAIC0wLDAgKzEsODIgQEAKK0RFU0NSSVBUSU9OID0gIlRyYWNrZXIgaXMgYSB0b29sIGRlc2lnbmVkIHRvIGV4dHJhY3QgaW5mb3JtYXRpb24gYW5kIG1ldGFkYXRhIGFib3V0IHlvdXIgcGVyc29uYWwgZGF0YSBzbyB0aGF0IGl0IGNhbiBiZSBzZWFyY2hlZCBlYXNpbHkgYW5kIHF1aWNrbHkuIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWVlMzEwMTJiZjkwZTdiOGMxMDhjNjlmMTk3ZjNlM2E0IgorREVQRU5EUyA9ICJmaWxlIGdzdHJlYW1lciBkYnVzIGxpYmV4aWYgZ2V0dGV4dCBzcWxpdGUzIGljdSBnc3QtcGx1Z2lucy1iYXNlIGxpYmdub21lLWtleXJpbmcgcG9wcGxlciB0aWZmIGVuY2EgbGliZ3NmIGxpYnVuaXN0cmluZyBnaWZsaWIgdGFnbGliIGJ6aXAyIHVwb3dlciBndGsrMyBsaWJnZWUgbmV0d29ya21hbmFnZXIiCisKK1JERVBFTkRTXyR7UE59ICs9ICIgZ3ZmcyBnc2V0dGluZ3MtZGVza3RvcC1zY2hlbWFzIgorSE9NRVBBR0UgPSAiaHR0cDovL3Byb2plY3RzLmdub21lLm9yZy90cmFja2VyLyIKKworUFIgPSAicjciCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnbm9tZWJhc2UgZ2V0dGV4dCBnc2V0dGluZ3Mgc3lzdGVtZCBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworVkVSX0RJUiA9ICIke0Bnbm9tZV92ZXJkaXIoIiR7UFZ9Iil9IgorU1JDX1VSSSA9ICJodHRwOi8vZnRwLmdub21lLm9yZy9wdWIvR05PTUUvc291cmNlcy90cmFja2VyLyR7VkVSX0RJUn0vdHJhY2tlci0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vZW5hYmxlLXNxbGl0ZS1jcm9zc2NvbXBpbGUucGF0Y2ggXAorCSAgIGZpbGU6Ly9maXgtcmVtb3ZhYmxlLW1lZGlhLWRldGVjdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly85MHRyYWNrZXIgXAorICAgICAgICAgICBmaWxlOi8vdHJhY2tlci1zdG9yZS5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL3RyYWNrZXItbWluZXItZnMuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly90cmFja2VyLWRidXMuc2VydmljZSBcCisgICAgICAgICAgICIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIiB0cmFja2VyLXN0b3JlLnNlcnZpY2UgdHJhY2tlci1taW5lci1mcy5zZXJ2aWNlIHRyYWNrZXItZGJ1cy5zZXJ2aWNlICIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworRVhUUkFfT0VDT05GICs9ICIgdHJhY2tlcl9jdl9oYXZlX2lvcHJpbz15ZXMiCisKK1BBQ0tBR0VDT05GSUcgPz0gIm5hdXRpbHVzIgorUEFDS0FHRUNPTkZJR1tuYXV0aWx1c10gPSAiLS1lbmFibGUtbmF1dGlsdXMtZXh0ZW5zaW9uLC0tZGlzYWJsZS1uYXV0aWx1cy1leHRlbnNpb24sbmF1dGlsdXMiCisKKyMgRGlzYWJsZSB0aGUgZGVza3RvcC1jZW50cmljIG1pbmVycworRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtbWluZXItdGh1bmRlcmJpcmQgLS1kaXNhYmxlLW1pbmVyLWZpcmVmb3ggXAorICAgICAgICAgICAgICAgICAtLWRpc2FibGUtbWluZXItZXZvbHV0aW9uIC0tZGlzYWJsZS1taW5lci1mbGlja3IiCisKK0xFQURfU09OQU1FID0gImxpYnRyYWNrZXJjbGllbnQuc28uMCIKKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgICAgICBleHBvcnQgR0lSX0VYVFJBX0xJQlNfUEFUSD0iJHtCfS9zcmMvbGlidHJhY2tlci1zcGFycWwtYmFja2VuZC8ubGliczoke0J9L3NyYy9saWJ0cmFja2VyLWRhdGEvLmxpYnM6JHtCfS9zcmMvbGlidHJhY2tlci1jb21tb24vLmxpYnMiCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGNwIC1QcFIgJHtEfSR7U1RBR0lOR19EQVRBRElSfS8qICR7RH0ke2RhdGFkaXJ9LyB8fCB0cnVlCisjICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vWDExL1hzZXNzaW9uLmQvCisjICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vOTB0cmFja2VyICAke0R9LyR7c3lzY29uZmRpcn0vWDExL1hzZXNzaW9uLmQvCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vdHJhY2tlci1zdG9yZS5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vdHJhY2tlci1taW5lci1mcy5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vdHJhY2tlci1kYnVzLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBzZWQgLWkgLWUgJ3MsQExJQkVYRUNESVJALCR7bGliZXhlY2Rpcn0sZycgXAorICAgICAgICAgICAtZSAncyxAQkFTRV9CSU5ESVJALCR7YmFzZV9iaW5kaXJ9LGcnIFwKKyAgICAgICAgICAgICAgICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLyouc2VydmljZQorfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tdGVzdHMgJHtQTn0tdmFsYSAke1BOfS1uYXV0aWx1cy1leHRlbnNpb24iCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RidXMtMS8gXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS90cmFja2VyLSR7VkVSX0RJUn0vKi5zby4qIFwKKyAgICAgICAgICAgICAgICAke2xpYmRpcn0vdHJhY2tlci0ke1ZFUl9ESVJ9L2V4dHJhY3QtbW9kdWxlcy8qLnNvIFwKKyAgICAgICAgICAgICAgICAke2xpYmRpcn0vdHJhY2tlci0ke1ZFUl9ESVJ9L3dyaXRlYmFjay1tb2R1bGVzLyouc28gXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vaWNvbnMvaGljb2xvci8qL2FwcHMvdHJhY2tlci4qIFwKKyAgICAgICAgICAgICAgICAke2xpYmRpcn0vbmF1dGlsdXMvZXh0ZW5zaW9ucy0yLjAvKi5sYSBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9nbGliLTIuMC9zY2hlbWFzLyogXAorICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vdHJhY2tlci1zdG9yZS5zZXJ2aWNlIFwKKyAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3RyYWNrZXItbWluZXItZnMuc2VydmljZSBcCisgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS90cmFja2VyLWRidXMuc2VydmljZSBcCisiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L3RyYWNrZXItJHtWRVJfRElSfS8qLmxhIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3RyYWNrZXItJHtWRVJfRElSfS8qLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3RyYWNrZXItJHtWRVJfRElSfS8qLyoubGEgXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vdHJhY2tlci0ke1ZFUl9ESVJ9L2V4dHJhY3QtbW9kdWxlcy8qLmxhIgorCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9uYXV0aWx1cy9leHRlbnNpb25zLTIuMC8qLmEiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS8qLyovLmRlYnVnIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9LyovLmRlYnVnIgorRklMRVNfJHtQTn0tdGVzdHMgPSAiJHtkYXRhZGlyfS90cmFja2VyLXRlc3RzLyIKK0ZJTEVTXyR7UE59LXZhbGEgPSAiJHtkYXRhZGlyfS92YWxhLyIKK0ZJTEVTXyR7UE59LW5hdXRpbHVzLWV4dGVuc2lvbiArPSAiJHtsaWJkaXJ9L25hdXRpbHVzL2V4dGVuc2lvbnMtMi4wLyouc28iCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmM2E4NzFiZWVlYmY4NmZkNzUyODYzZWJkMjJhZjlhYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5YjU5MzMwYWEyZTllMDlmZWVlNTg3ZGVkODk1ZTkyNDdmNzFmYzI1ZjQ2YjAyM2Q2MTZkOTk2OTMxNGJjN2YxIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3NpdGUvYXJtLTY0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3NpdGUvYXJtLTY0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0NzRkMmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvc2l0ZS9hcm0tNjQKQEAgLTAsMCArMSwxMyBAQAorIyBPUkJpdDIKK2FjX2N2X2FsaWdub2ZfQ09SQkFfYm9vbGVhbj0xCithY19jdl9hbGlnbm9mX0NPUkJBX2NoYXI9MQorYWNfY3ZfYWxpZ25vZl9DT1JCQV9kb3VibGU9OAorYWNfY3ZfYWxpZ25vZl9DT1JCQV9mbG9hdD00CithY19jdl9hbGlnbm9mX0NPUkJBX2xvbmc9NAorYWNfY3ZfYWxpZ25vZl9DT1JCQV9sb25nX2RvdWJsZT04CithY19jdl9hbGlnbm9mX0NPUkJBX2xvbmdfbG9uZz04CithY19jdl9hbGlnbm9mX0NPUkJBX29jdGV0PTEKK2FjX2N2X2FsaWdub2ZfQ09SQkFfcG9pbnRlcj00CithY19jdl9hbGlnbm9mX0NPUkJBX3Nob3J0PTIKK2FjX2N2X2FsaWdub2ZfQ09SQkFfc3RydWN0PTEKK2FjX2N2X2FsaWdub2ZfQ09SQkFfd2NoYXI9MgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3NpdGUveDg2XzY0LWxpbnV4IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3NpdGUveDg2XzY0LWxpbnV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViYTFmZWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvc2l0ZS94ODZfNjQtbGludXgKQEAgLTAsMCArMSwxNyBAQAorIyBPUkJpdDIKK2FjX2N2X2FsaWdub2ZfQ09SQkFfYm9vbGVhbj0xCithY19jdl9hbGlnbm9mX0NPUkJBX2NoYXI9MQorYWNfY3ZfYWxpZ25vZl9DT1JCQV9kb3VibGU9OAorYWNfY3ZfYWxpZ25vZl9DT1JCQV9mbG9hdD00CithY19jdl9hbGlnbm9mX0NPUkJBX2xvbmc9NAorYWNfY3ZfYWxpZ25vZl9DT1JCQV9sb25nX2RvdWJsZT04CithY19jdl9hbGlnbm9mX0NPUkJBX2xvbmdfbG9uZz04CithY19jdl9hbGlnbm9mX0NPUkJBX29jdGV0PTEKK2FjX2N2X2FsaWdub2ZfQ09SQkFfcG9pbnRlcj04CithY19jdl9hbGlnbm9mX0NPUkJBX3Nob3J0PTIKK2FjX2N2X2FsaWdub2ZfQ09SQkFfc3RydWN0PTEKK2FjX2N2X2FsaWdub2ZfQ09SQkFfd2NoYXI9MgorCitsZl9jdl9zYW5lX3JlYWxsb2M9eWVzCithc19jdl91bmFsaWduZWRfYWNjZXNzPSR7YXNfY3ZfdW5hbGlnbmVkX2FjY2Vzcz15ZXN9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ncGUvUkVBRE1FIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9SRUFETUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzAwNTVhZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ncGUvUkVBRE1FCkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgbGF5ZXIgZGVwZW5kcyBvbjoKKworVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9vZS1jb3JlLmdpdAorYnJhbmNoOiBrcm9nb3RoCityZXZpc2lvbjogSEVBRAorCitVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL21ldGEtb2UuZ2l0CiticmFuY2g6IGtyb2dvdGgKK3JldmlzaW9uOiBIRUFECisKK1NlbmQgcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyB3aXRoICdbbWV0YS1ncGVdW2tyb2dvdGhdJyBpbiB0aGUgc3ViamVjdCcKKworV2hlbiBzZW5kaW5nIHNpbmdsZSBwYXRjaGVzLCBwbGVhc2UgdXNpbmcgc29tZXRoaW5nIGxpa2U6CisnZ2l0IHNlbmQtZW1haWwgLU0gLTEgLS10byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyAtLXN1YmplY3QtcHJlZml4PW1ldGEtZ3BlXVtrcm9nb3RoXVtQQVRDSCcKKwora3JvZ290aCBCcmFuY2ggTWFpbnRhaW5lcjoKK0FybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL2NvbmYvbGF5ZXIuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ncGUvY29uZi9sYXllci5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAwZjM5MjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL2NvbmYvbGF5ZXIuY29uZgpAQCAtMCwwICsxLDE1IEBACisjIFdlIGhhdmUgYSBjb25mIGFuZCBjbGFzc2VzIGRpcmVjdG9yeSwgYXBwZW5kIHRvIEJCUEFUSAorQkJQQVRIIC49ICI6JHtMQVlFUkRJUn0iCisKKyMgV2UgaGF2ZSBhIHJlY2lwZXMgZGlyZWN0b3J5LCBhZGQgdG8gQkJGSUxFUworQkJGSUxFUyArPSAiJHtMQVlFUkRJUn0vcmVjaXBlcy0qLyovKi5iYiAke0xBWUVSRElSfS9yZWNpcGVzLSovKi8qLmJiYXBwZW5kIgorCitCQkZJTEVfQ09MTEVDVElPTlMgKz0gImdwZS1sYXllciIKK0JCRklMRV9QQVRURVJOX2dwZS1sYXllciA6PSAiXiR7TEFZRVJESVJ9LyIKK0JCRklMRV9QUklPUklUWV9ncGUtbGF5ZXIgPSAiNyIKKworIyBUaGlzIHNob3VsZCBvbmx5IGJlIGluY3JlbWVudGVkIG9uIHNpZ25pZmljYW50IGNoYW5nZXMgdGhhdCB3aWxsCisjIGNhdXNlIGNvbXBhdGliaWxpdHkgaXNzdWVzIHdpdGggb3RoZXIgbGF5ZXJzCitMQVlFUlZFUlNJT05fZ3BlLWxheWVyID0gIjEiCisKK0xBWUVSREVQRU5EU19ncGUtbGF5ZXIgPSAiY29yZSBvcGVuZW1iZWRkZWQtbGF5ZXIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtZ3JhcGhpY3MvZ3BlLXNjYXAvZ3BlLXNjYXAvMDAwMS1GaXgtdGhlLW9yZGVyaW5nLW9mLUxEQURELW9wdGlvbnMtdG8tZml4LWEtY29tcGlsYXRpLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLWdyYXBoaWNzL2dwZS1zY2FwL2dwZS1zY2FwLzAwMDEtRml4LXRoZS1vcmRlcmluZy1vZi1MREFERC1vcHRpb25zLXRvLWZpeC1hLWNvbXBpbGF0aS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTc2ZmY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLWdyYXBoaWNzL2dwZS1zY2FwL2dwZS1zY2FwLzAwMDEtRml4LXRoZS1vcmRlcmluZy1vZi1MREFERC1vcHRpb25zLXRvLWZpeC1hLWNvbXBpbGF0aS5wYXRjaApAQCAtMCwwICsxLDI4IEBACitGcm9tIGM1NTFkZWNlNjc2OGY2N2I3NGI1MDhlOWMwMTMzMzIwMjA1ZWYyZGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorRGF0ZTogTW9uLCAyMyBNYXkgMjAxMSAxNTowMzoyOSArMDIwMAorU3ViamVjdDogW1BBVENIXSBGaXggdGhlIG9yZGVyaW5nIG9mIExEQUREIG9wdGlvbnMgdG8gZml4IGEgY29tcGlsYXRpb24gZmFpbHVyZS4KKworImludmFsaWQgRFNPIGZvciBzeW1ib2wgYFhVbmdyYWJTZXJ2ZXInIGRlZmluaXRpb24gIgorCitTaWduZWQtb2ZmLWJ5OiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorLS0tCisgc3JjL01ha2VmaWxlLmFtIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL01ha2VmaWxlLmFtIGIvc3JjL01ha2VmaWxlLmFtCitpbmRleCAyZmRkYzk4Li40NWJkODUwIDEwMDY0NAorLS0tIGEvc3JjL01ha2VmaWxlLmFtCisrKysgYi9zcmMvTWFrZWZpbGUuYW0KK0BAIC02LDcgKzYsNyBAQCBJTkNMVURFUyA9IC1EUEtHREFUQURJUj1cIiQocGtnZGF0YWRpcilcIiBcCisgCSAgICQoR0xBREVfQ0ZMQUdTKSBcCisgICAgICAgIC1EX0dOVV9TT1VSQ0UKKyAKKy1MSUJTID0gJChHVEtfTElCUykgJChHTEFERV9MSUJTKSAkKFhTSEFQRV9MSUJTKQorK0xJQlMgPSAtbFgxMSAkKFhTSEFQRV9MSUJTKSAkKEdMQURFX0xJQlMpICQoR1RLX0xJQlMpIAorIAorIGJpbl9QUk9HUkFNUyA9IGdwZS1zY2FwCisgZ3BlX3NjYXBfU09VUkNFUyA9IHNjci1pMThuLmggXAorLS0gCisxLjYuNi4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ncGUvcmVjaXBlcy1ncmFwaGljcy9ncGUtc2NhcC9ncGUtc2NhcC91c2UubGlic291cC0yLjQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtZ3JhcGhpY3MvZ3BlLXNjYXAvZ3BlLXNjYXAvdXNlLmxpYnNvdXAtMi40LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjZmU1ZDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtZ3JhcGhpY3MvZ3BlLXNjYXAvZ3BlLXNjYXAvdXNlLmxpYnNvdXAtMi40LnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAKK2RpZmYgLXVOciBncGUtc2NhcC0xLjQub3JpZy9jb25maWd1cmUuYWMgZ3BlLXNjYXAtMS40L2NvbmZpZ3VyZS5hYworLS0tIGdwZS1zY2FwLTEuNC5vcmlnL2NvbmZpZ3VyZS5hYwkyMDA5LTAzLTA1IDE4OjUzOjUzLjAwMDAwMDAwMCArMDEwMAorKysrIGdwZS1zY2FwLTEuNC9jb25maWd1cmUuYWMJMjAxMi0wNS0wNiAxMDoxODoyOS4zNDgzMDgzMjIgKzAyMDAKK0BAIC0yNCw3ICsyNCw3IEBACisgQUNfU1VCU1QoTERGTEFHUykKKyAKKyBkbmwgbGlicmFyaWVzCistR1RLX01PRFVMRVM9Imd0aystMi4wID49IDIuNi4wIGd0aHJlYWQtMi4wIGxpYnNvdXAtMi4yIgorK0dUS19NT0RVTEVTPSJndGsrLTIuMCA+PSAyLjYuMCBndGhyZWFkLTIuMCBsaWJzb3VwLTIuNCIKKyBQS0dfQ0hFQ0tfTU9EVUxFUyhHVEssICRHVEtfTU9EVUxFUykKKyBBQ19TVUJTVChHVEtfQ0ZMQUdTKQorIEFDX1NVQlNUKEdUS19MSUJTKQorZGlmZiAtdU5yIGdwZS1zY2FwLTEuNC5vcmlnL3NyYy9zY3Itc2hvdC1jb21tb24uYyBncGUtc2NhcC0xLjQvc3JjL3Njci1zaG90LWNvbW1vbi5jCistLS0gZ3BlLXNjYXAtMS40Lm9yaWcvc3JjL3Njci1zaG90LWNvbW1vbi5jCTIwMDktMDMtMDUgMTI6MTM6MjAuMDAwMDAwMDAwICswMTAwCisrKysgZ3BlLXNjYXAtMS40L3NyYy9zY3Itc2hvdC1jb21tb24uYwkyMDEyLTA1LTA2IDEwOjMwOjUyLjI5OTM3MTU3NiArMDIwMAorQEAgLTE4MiwxMiArMTgyLDEyIEBACisgICAvKiBjcmVhdGUgc2Vzc2lvbiBhbmQgbWVzc2FnZSAqLworICAgc2Vzc2lvbiA9IHNvdXBfc2Vzc2lvbl9zeW5jX25ldyAoKTsKKyAgIG1lc3NhZ2UgPSBzb3VwX21lc3NhZ2VfbmV3ICgiUE9TVCIsIHVybCk7CistICBzb3VwX21lc3NhZ2VfYWRkX2hlYWRlciAobWVzc2FnZS0+cmVxdWVzdF9oZWFkZXJzLCAiVXNlci1BZ2VudCIsICJncGUtc2NhcC8iIFZFUlNJT04pOworLSAgc291cF9tZXNzYWdlX2FkZF9oZWFkZXIgKG1lc3NhZ2UtPnJlcXVlc3RfaGVhZGVycywgIkFjY2VwdCIsCisrICBzb3VwX21lc3NhZ2VfaGVhZGVyc19hcHBlbmQgKG1lc3NhZ2UtPnJlcXVlc3RfaGVhZGVycywgIlVzZXItQWdlbnQiLCAiZ3BlLXNjYXAvIiBWRVJTSU9OKTsKKysgIHNvdXBfbWVzc2FnZV9oZWFkZXJzX2FwcGVuZCAobWVzc2FnZS0+cmVxdWVzdF9oZWFkZXJzLCAiQWNjZXB0IiwKKyAJCQkgICAidGV4dC94bWwsYXBwbGljYXRpb24veG1sLGFwcGxpY2F0aW9uL3hodG1sK3htbCx0ZXh0L2h0bWw7cT0wLjksdGV4dC9wbGFpbjtxPTAuOCxpbWFnZS9wbmcsKi8qO3E9MC41Iik7CistLyogIHNvdXBfbWVzc2FnZV9hZGRfaGVhZGVyIChtZXNzYWdlLT5yZXF1ZXN0X2hlYWRlcnMsICJBY2NlcHQtQ2hhcnNldCIsICJBY2NlcHQtQ2hhcnNldD1JU08tODg1OS0xLHV0Zi04O3E9MC43LCo7cT0wLjciKTsKKy0gIHNvdXBfbWVzc2FnZV9hZGRfaGVhZGVyIChtZXNzYWdlLT5yZXF1ZXN0X2hlYWRlcnMsICJLZWVwLUFsaXZlIiwgIjEwMCIpOworLSAgc291cF9tZXNzYWdlX2FkZF9oZWFkZXIgKG1lc3NhZ2UtPnJlcXVlc3RfaGVhZGVycywgIkNvbm5lY3Rpb24iLCAia2VlcC1hbGl2ZSIpOworKy8qICBzb3VwX21lc3NhZ2VfaGVhZGVyc19hcHBlbmQgKG1lc3NhZ2UtPnJlcXVlc3RfaGVhZGVycywgIkFjY2VwdC1DaGFyc2V0IiwgIkFjY2VwdC1DaGFyc2V0PUlTTy04ODU5LTEsdXRmLTg7cT0wLjcsKjtxPTAuNyIpOworKyAgc291cF9tZXNzYWdlX2hlYWRlcnNfYXBwZW5kIChtZXNzYWdlLT5yZXF1ZXN0X2hlYWRlcnMsICJLZWVwLUFsaXZlIiwgIjEwMCIpOworKyAgc291cF9tZXNzYWdlX2hlYWRlcnNfYXBwZW5kIChtZXNzYWdlLT5yZXF1ZXN0X2hlYWRlcnMsICJDb25uZWN0aW9uIiwgImtlZXAtYWxpdmUiKTsKKyAgIHNvdXBfbWVzc2FnZV93aXJlCWFkZF9oZWFkZXIgKG1lc3NhZ2UtPnJlcXVlc3RfaGVhZGVycywgIkFjY2VwdC1FbmNvZGluZyIsICJnemlwLGRlZmxhdGUiKTsKKyAqLworICAgLyogYnVpbGQgbWVzc2FnZSBib2R5ICovCitAQCAtMjA3LDcgKzIwNyw3IEBACisgICBtZW1jcHkgKGJvZHkgKyBzdHJsZW4gKGNtZCkgKyBsZW4sIHRhaWwsIHN0cmxlbiAodGFpbCkpOworIAorICAgc291cF9tZXNzYWdlX3NldF9yZXF1ZXN0IChtZXNzYWdlLCAibXVsdGlwYXJ0L2Zvcm0tZGF0YTsgYm91bmRhcnk9IlNFUCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgU09VUF9CVUZGRVJfU1lTVEVNX09XTkVELCBib2R5LCBjb250ZW50X2xlbik7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNPVVBfTUVNT1JZX1RBS0UsIGJvZHksIGNvbnRlbnRfbGVuKTsKKyAKKyAgIHNvdXBfc2Vzc2lvbl9zZW5kX21lc3NhZ2UgKHNlc3Npb24sIG1lc3NhZ2UpOworIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLWdyYXBoaWNzL2dwZS1zY2FwL2dwZS1zY2FwXzEuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ncGUvcmVjaXBlcy1ncmFwaGljcy9ncGUtc2NhcC9ncGUtc2NhcF8xLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2YxZTI3ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ncGUvcmVjaXBlcy1ncmFwaGljcy9ncGUtc2NhcC9ncGUtc2NhcF8xLjQuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJBIEdQRSBhcHBsaWNhdGlvbiB0aGF0IGFsbG93cyB5b3UgdG8gdGFrZSBzY3JlZW5zaG90cyIKK1NFQ1RJT04gPSAiZ3BlIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzkzYTVjYTQ0NWY2OTY1ODczZWNhMDI1OWExN2Y4MzMiCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgZ3RrKyBsaWJncGV3aWRnZXQgbGliZ2xhZGUgbGlic291cC0yLjQiCisKK1BSID0gInIzIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZWFmNTQ1NTYxYjBhZDk4MWM5ZDAxODMzZjMwZmNmOTUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzYyNzc4NDIxZmFlN2M2MmQ1ZWM2YTlkMjc5ODYxNjZjMGRiYmUyZmY1MWZjMTBiYjliOGJhZmY1YzM2NzUzNCIKKworR1BFX1RBUkJBTExfU1VGRklYID0gImJ6MiIKKworaW5oZXJpdCBncGUgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1GaXgtdGhlLW9yZGVyaW5nLW9mLUxEQURELW9wdGlvbnMtdG8tZml4LWEtY29tcGlsYXRpLnBhdGNoIFwKKyAgICBmaWxlOi8vdXNlLmxpYnNvdXAtMi40LnBhdGNoIFwKKyIKKworUlJFUExBQ0VTXyR7UE59ID0gImdwZS1zY3JlZW5zaG90IgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtZ3JhcGhpY3MvbGliZ3Bld2lkZ2V0L2xpYmdwZXdpZGdldC9nbGliLTIuMzIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtZ3JhcGhpY3MvbGliZ3Bld2lkZ2V0L2xpYmdwZXdpZGdldC9nbGliLTIuMzIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjU5MGNhYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ncGUvcmVjaXBlcy1ncmFwaGljcy9saWJncGV3aWRnZXQvbGliZ3Bld2lkZ2V0L2dsaWItMi4zMi5wYXRjaApAQCAtMCwwICsxLDExIEBACitkaWZmIC11TnIgbGliZ3Bld2lkZ2V0LTAuMTE3Lm9yaWcvZ3BlaGVscC5jIGxpYmdwZXdpZGdldC0wLjExNy9ncGVoZWxwLmMKKy0tLSBsaWJncGV3aWRnZXQtMC4xMTcub3JpZy9ncGVoZWxwLmMJMjAwNi0xMC0xMiAxMjoyMDozMy4wMDAwMDAwMDAgKzAyMDAKKysrKyBsaWJncGV3aWRnZXQtMC4xMTcvZ3BlaGVscC5jCTIwMTItMDQtMzAgMDc6NDU6NTcuODEzMjkzNzkyICswMjAwCitAQCAtMzMsNyArMzMsNiBAQAorICNpbmNsdWRlIDxnZGstcGl4YnVmL2dkay1waXhidWYuaD4KKyAjaW5jbHVkZSA8Z2RrL2dkay5oPgorICNpbmNsdWRlIDxnbGliLmg+CistI2luY2x1ZGUgPGdsaWIvZ2tleWZpbGUuaD4KKyAKKyAKKyAvKiBoZWxwZXIgZnVuY3Rpb24gZGVmaW5pdGlvbnMqLwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLWdyYXBoaWNzL2xpYmdwZXdpZGdldC9saWJncGV3aWRnZXQvcGtnY29uZmlnLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLWdyYXBoaWNzL2xpYmdwZXdpZGdldC9saWJncGV3aWRnZXQvcGtnY29uZmlnLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxN2UwMWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtZ3JhcGhpY3MvbGliZ3Bld2lkZ2V0L2xpYmdwZXdpZGdldC9wa2djb25maWcucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIGNvbmZpZ3VyZS5hYy5vcmlnCTIwMDYtMDItMDQgMTc6Mzc6NTUuMDAwMDAwMDAwICswMTAwCisrKysgY29uZmlndXJlLmFjCTIwMDYtMDItMDYgMDA6NTY6MjguMDAwMDAwMDAwICswMTAwCitAQCAtMzYsNyArMzYsNyBAQAorIAlFTkFCTEVfQ0FJUk89JGVuYWJsZXZhbAorIF0sCisgWworLSAgICAgICAJUEtHX0NIRUNLX0VYSVNUUyhjYWlybywgW0VOQUJMRV9DQUlSTz15ZXNdLCBbRU5BQkxFX0NBSVJPPW5vXSkKKysgICAgICAgCVBLR19DSEVDS19NT0RVTEVTKGNhaXJvLCBbRU5BQkxFX0NBSVJPPXllc10sIFtFTkFCTEVfQ0FJUk89bm9dKQorIF0pCisgCisgRU5BQkxFX0hJTERPTj1mYWxzZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLWdyYXBoaWNzL2xpYmdwZXdpZGdldC9saWJncGV3aWRnZXRfMC4xMTcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtZ3JhcGhpY3MvbGliZ3Bld2lkZ2V0L2xpYmdwZXdpZGdldF8wLjExNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZjc3NGVlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLWdyYXBoaWNzL2xpYmdwZXdpZGdldC9saWJncGV3aWRnZXRfMC4xMTcuYmIKQEAgLTAsMCArMSwyMyBAQAorREVTQ1JJUFRJT04gPSAibGliZ3Bld2lkZ2V0IGNvbnRhaW5zIGEgY29sbGVjdGlvbiBvZiB3aWRnZXRzIGFuZCBvdGhlciBjb21tb24gY29kZSBzaGFyZWQgYnkgbWFueSBHUEUgYXBwbGljYXRpb25zLiIKK1NFQ1RJT04gPSAiZ3BlL2xpYnMiCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9ZDgwNDVmM2I4ZjkyOWMxY2IyOWExZTNmZDczN2I0OTkiCisKK0RFUEVORFMgPSAiZ3RrKyBjYWlybyBsaWJ4aW5lcmFtYSBsaWJ4Y29tcG9zaXRlIGxpYnhyZW5kZXIiIAorUFIgPSAicjUiCisKK2luaGVyaXQgZ3BlIHBrZ2NvbmZpZyBhdXRvdG9vbHMgZ3RrLWRvYworCitTUkNfVVJJICs9ICJmaWxlOi8vcGtnY29uZmlnLnBhdGNoO3N0cmlwbGV2ZWw9MCBcCisgICAgZmlsZTovL2dsaWItMi4zMi5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiYjg1YTgzOTI2NGEzNWQwZmFmOWExYTM4YzQ4NmUxODkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjk2ZDMwYzA5YjAzOTVlYTRlMTQ2NzMwZmQ1MmQ5ZWEzMDNiNjE5YmIxMzkwNTFkOWYxMmQzZjg2OGE5ZTE4YyIKKworR1BFX1RBUkJBTExfU1VGRklYID0gImJ6MiIKKworRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLWNhaXJvIgorTERGTEFHUyArPSAiIC1MJHtTVEFHSU5HX0xJQkRJUn0iCisKK1BBQ0tBR0VTID0rICIke1BOfS1iaW4iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtZ3JhcGhpY3MvbWluaWxpdGUvbWluaWxpdGUvbWFrZWZpbGUtZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLWdyYXBoaWNzL21pbmlsaXRlL21pbmlsaXRlL21ha2VmaWxlLWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYmU2Y2VhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLWdyYXBoaWNzL21pbmlsaXRlL21pbmlsaXRlL21ha2VmaWxlLWZpeC5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gL3RtcC9NYWtlZmlsZS5vbGQJMjAwNi0wMS0xNiAyMjo1MTozNC4wMDAwMDAwMDAgKzAxMDAKKysrKyBtaW5pbGl0ZS0wNTAvTWFrZWZpbGUJMjAwOS0wNS0wMSAxNjozNjozMi4wMDAwMDAwMDAgKzAyMDAKK0BAIC00NSw3ICs0NSw3IEBACisgCisgaW5zdGFsbC1wcm9ncmFtOiBhbGwKKyAJbWtkaXIgLXAgJChERVNURElSKSQoUFJFRklYKS9iaW4KKy0JJChJTlNUQUxMKSAtcyAkKFBBQ0tBR0UpICQoREVTVERJUikkKFBSRUZJWCkvYmluLyQoUEFDS0FHRSkKKysJJChJTlNUQUxMKSAkKFBBQ0tBR0UpICQoREVTVERJUikkKFBSRUZJWCkvYmluLyQoUEFDS0FHRSkKKyAJbWtkaXIgLXAgJChERVNURElSKSQoUFJFRklYKS9zaGFyZS9hcHBsaWNhdGlvbnMKKyAJJChJTlNUQUxMKSAtbSA2NDQgJChQQUNLQUdFKS5kZXNrdG9wICQoREVTVERJUikkKFBSRUZJWCkvc2hhcmUvYXBwbGljYXRpb25zLyQoUEFDS0FHRSkuZGVza3RvcAorIAlta2RpciAtcCAkKERFU1RESVIpJChQUkVGSVgpL3NoYXJlL3BpeG1hcHMvCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtZ3JhcGhpY3MvbWluaWxpdGUvbWluaWxpdGVfMC41MC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ncGUvcmVjaXBlcy1ncmFwaGljcy9taW5pbGl0ZS9taW5pbGl0ZV8wLjUwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwOTYwYTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtZ3JhcGhpY3MvbWluaWxpdGUvbWluaWxpdGVfMC41MC5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIkdQRSBTY3JlZW4gbGlnaHQgY29udHJvbCBkb2NrYXBwIgorU0VDVElPTiA9ICJncGUiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9taW5pbGl0ZS5jO2JlZ2lubGluZT04O2VuZGxpbmU9MTE7bWQ1PWZlOTMzMmFhZWNiY2U5Zjc0Y2UyYmZlYjkxNjgwZWQxIgorCitERVBFTkRTID0gImxpYmdwZXdpZGdldCIKKworaW5oZXJpdCBncGUKKworU1JDX1VSSSA9ICIke0dQRV9NSVJST1J9LyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9tYWtlZmlsZS1maXgucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiZDgxY2VjZjI2OWFkN2JhYjBkYTk2MGU2ZTcyMjgzMzIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmIyOTk0MjUyMDMyNDYwOTBhNDk0OWUwMzRmMWQwZWZiM2ZmOTljZDE1OTFkMGUxNmM1NzM3MGE1MzBiMzYxZSIKKworZXhwb3J0IENWU0JVSUxEPSJubyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ncGUvcmVjaXBlcy1zdXBwb3J0L2ZicmVhZGVyL2ZicmVhZGVyLTAuMTIuMTAvTWFrZWZpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtc3VwcG9ydC9mYnJlYWRlci9mYnJlYWRlci0wLjEyLjEwL01ha2VmaWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlNDk4YzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtc3VwcG9ydC9mYnJlYWRlci9mYnJlYWRlci0wLjEyLjEwL01ha2VmaWxlLnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKK2RpZmYgLXVyaSBmYnJlYWRlci0wLjEyLjEub3JpZy9mYnJlYWRlci9NYWtlZmlsZSBmYnJlYWRlci0wLjEyLjEvZmJyZWFkZXIvTWFrZWZpbGUKKy0tLSBmYnJlYWRlci0wLjEyLjEub3JpZy9mYnJlYWRlci9NYWtlZmlsZQkyMDA5LTEyLTEzIDA5OjAzOjExLjAwMDAwMDAwMCArMDEwMAorKysrIGZicmVhZGVyLTAuMTIuMS9mYnJlYWRlci9NYWtlZmlsZQkyMDA5LTEyLTE0IDE3OjE4OjQ3LjU0ODYzODc4MyArMDEwMAorQEAgLTM3LDcgKzM3LDYgQEAKKyAJQGluc3RhbGwgJChUQVJHRVQpICQoREVTVERJUikkKEJJTkRJUikvRkJSZWFkZXIKKyAJQGluc3RhbGwgLWQgJChGQlNIQVJFRElSKQorIAlAaW5zdGFsbCAtZCAkKEZCU0hBUkVESVIpL2hlbHAKKy0JQC4vc2NyaXB0cy9pbnN0YWxsX2hlbHAuc2ggJChWQVJJQU5UKSAkKEZCU0hBUkVESVIpL2hlbHAKKyAJQGluc3RhbGwgLWQgJChGQlNIQVJFRElSKS9uZXR3b3JrCisgCUBpbnN0YWxsIC1tIDA2NDQgJCh3aWxkY2FyZCBkYXRhL25ldHdvcmsvKi54bWwpICQoRkJTSEFSRURJUikvbmV0d29yaworIAlAaW5zdGFsbCAtZCAkKEZCU0hBUkVESVIpL25ldHdvcmsvY2VydGlmaWNhdGVzCitAQCAtNTgsOCArNTcsOCBAQAorIAlAaW5zdGFsbCAtZCAkKEZCU0hBUkVESVIpL3Jlc291cmNlcworIAlAaW5zdGFsbCAtbSAwNjQ0ICQod2lsZGNhcmQgZGF0YS9yZXNvdXJjZXMvKi54bWwpICQoRkJTSEFSRURJUikvcmVzb3VyY2VzCisgCUBpbnN0YWxsIC1kICQoREVTVERJUikkKEFQUElNQUdFRElSX1JFQUwpCistCUBpbnN0YWxsIC1tIDA2NDQgJCh3aWxkY2FyZCBkYXRhL2ljb25zL3Rvb2xiYXIvJChWQVJJQU5UKS8qLiopICQoREVTVERJUikkKEFQUElNQUdFRElSX1JFQUwpCistCUBpbnN0YWxsIC1tIDA2NDQgJCh3aWxkY2FyZCBkYXRhL2ljb25zL2ZpbGV0cmVlLyQoVkFSSUFOVCkvKi4qKSAkKERFU1RESVIpJChBUFBJTUFHRURJUl9SRUFMKQorKwlAaW5zdGFsbCAtbSAwNjQ0ICQod2lsZGNhcmQgZGF0YS9pY29ucy90b29sYmFyLyQoVEFSR0VUX0FSQ0gpLyouKikgJChERVNURElSKSQoQVBQSU1BR0VESVJfUkVBTCkKKysJQGluc3RhbGwgLW0gMDY0NCAkKHdpbGRjYXJkIGRhdGEvaWNvbnMvZmlsZXRyZWUvJChUQVJHRVRfQVJDSCkvKi4qKSAkKERFU1RESVIpJChBUFBJTUFHRURJUl9SRUFMKQorIAlAaW5zdGFsbCAtbSAwNjQ0ICQod2lsZGNhcmQgZGF0YS9pY29ucy9ib29rdHJlZS9uZXcvKi4qKSAkKERFU1RESVIpJChBUFBJTUFHRURJUl9SRUFMKQorIAlAbWFrZSAtQyAkKFRBUkdFVF9BUkNIKSBSRVNPTFVUSU9OPSQoUkVTT0xVVElPTikgaW5zdGFsbAorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLXN1cHBvcnQvZmJyZWFkZXIvZmJyZWFkZXItMC4xMi4xMC9nY2M0NS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ncGUvcmVjaXBlcy1zdXBwb3J0L2ZicmVhZGVyL2ZicmVhZGVyLTAuMTIuMTAvZ2NjNDUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDBjYmExMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ncGUvcmVjaXBlcy1zdXBwb3J0L2ZicmVhZGVyL2ZicmVhZGVyLTAuMTIuMTAvZ2NjNDUucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorICBGaXggY29tcGlsYXRpb24gd2l0aCBnY2MgNC41CisKKyAgW0ZCcmVhZGVyIFRpY2tldCAjMzQwXSAtLSBodHRwOi8vb2xkLmZicmVhZGVyLm9yZy9tYW50aXMvdmlldy5waHA/aWQ9MzQwCisKKyAgV2l0aG91dCB0aGF0IHBhdGNoIHdlIGhhdmU6CisgICAgQ29tcGlsaW5nIExpYnJhcnkubyAuLi5MaWJyYXJ5LmNwcDo0MjoxOiBlcnJvcjogJ0xpYnJhcnk6OkxpYnJhcnknIG5hbWVzIHRoZSBjb25zdHJ1Y3Rvciwgbm90IHRoZSB0eXBlCisKKyAgVXBzdHJlYW0tU3RhdHVzOiBBY2NlcHRlZCBbRml4ZWQgaW4gVmVyc2lvbiAwLjE0LjBdCisKKy0tLSBmYnJlYWRlci0wLjEyLjEwLW9yaWcvZmJyZWFkZXIvc3JjL2xpYnJhcnkvTGlicmFyeS5jcHAJMjAxMC0wNC0wMSAxNToxNDoyNC4wMDAwMDAwMDAgKzAyMDAKKysrKyBmYnJlYWRlci0wLjEyLjEwL2ZicmVhZGVyL3NyYy9saWJyYXJ5L0xpYnJhcnkuY3BwCTIwMTAtMDQtMTMgMTM6MzQ6MDYuMDAwMDAwMDAwICswMjAwCitAQCAtMzksNyArMzksNyBAQAorIHNoYXJlZF9wdHI8TGlicmFyeT4gTGlicmFyeTo6b3VySW5zdGFuY2U7CisgY29uc3Qgc2l6ZV90IExpYnJhcnk6Ok1heFJlY2VudExpc3RTaXplID0gMTA7CisgCistTGlicmFyeTo6TGlicmFyeSAmTGlicmFyeTo6SW5zdGFuY2UoKSB7CisrTGlicmFyeSAmTGlicmFyeTo6SW5zdGFuY2UoKSB7CisgCWlmIChvdXJJbnN0YW5jZS5pc051bGwoKSkgeworIAkJb3VySW5zdGFuY2UgPSBuZXcgTGlicmFyeSgpOworIAl9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtc3VwcG9ydC9mYnJlYWRlci9mYnJlYWRlcl8wLjEyLjEwLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLXN1cHBvcnQvZmJyZWFkZXIvZmJyZWFkZXJfMC4xMi4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOWVhZDBmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLXN1cHBvcnQvZmJyZWFkZXIvZmJyZWFkZXJfMC4xMi4xMC5iYgpAQCAtMCwwICsxLDQyIEBACitTVU1NQVJZID0gIkZCcmVhZGVyIGlzIGFuIGVib29rIHJlYWRlciIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZmJyZWFkZXIub3JnIgorU0VDVElPTiA9ICJ4MTEvdXRpbHMiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2ZicmVhZGVyL0xJQ0VOU0U7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorREVQRU5EUyA9ICJndGsrIGVuY2EgZXhwYXQgYnppcDIgbGliZ3Bld2lkZ2V0IHZpcnR1YWwvbGliaWNvbnYgbGlibGluZWJyZWFrIGxpYmZyaWJpZGkgY3VybCBzcWxpdGUzIgorCitQUiA9ICJyMSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmZicmVhZGVyLm9yZy9mYnJlYWRlci1zb3VyY2VzLSR7UFZ9LnRneiBcCitmaWxlOi8vTWFrZWZpbGUucGF0Y2ggXAorZmlsZTovL2djYzQ1LnBhdGNoIgorCisjIFNldCB0aGUgZGVmYXVsdHMKK1JFQURFUl9SRVNPTFVUSU9OID89ICIxMDI0eDYwMCIKK1JFQURFUl9BUkNIICAgICAgID89ICJkZXNrdG9wIgorUkVBREVSX1VJICAgICAgICAgPz0gImd0ayIKK1JFQURFUl9TVEFUVVMgICAgID89ICJyZWxlYXNlIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9GQlJlYWRlciAke2RhdGFkaXJ9L3psaWJyYXJ5ICR7bGliZGlyfS96bGlicmFyeSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3psaWJyYXJ5L3VpLy5kZWJ1Zy8iCisKK0NGTEFHU19hcHBlbmQgPSAiIFJFU09MVVRJT049JHtSRUFERVJfUkVTT0xVVElPTn0gSU5TVEFMTERJUj0ke3ByZWZpeH0iCitFWFRSQV9PRU1BS0UgPSAiQ0M9JyR7Q1hYfScgTEQ9JyR7Q1hYfScgTERGTEFHUz0nJHtMREZMQUdTfScgSU5DUEFUSD0nJHtTVEFHSU5HX0lOQ0RJUn0nIExJQlBBVEg9JyR7U1RBR0lOR19MSUJESVJ9JyIKKworaW5oZXJpdCBwa2djb25maWcKKworZG9fY29uZmlndXJlKCkgeworICAgIGNkICR7V09SS0RJUn0vJHtQTn0tJHtQVn0KKyAgICBtdiBtYWtlZmlsZXMvdGFyZ2V0Lm1rIG1ha2VmaWxlcy90YXJnZXQubWsub3JpZworCisgICAgZWNobyAiVEFSR0VUX0FSQ0ggPSAke1JFQURFUl9BUkNIfSIgPiBtYWtlZmlsZXMvdGFyZ2V0Lm1rCisgICAgZWNobyAiVUlfVFlQRSA9ICR7UkVBREVSX1VJfSIgPj4gbWFrZWZpbGVzL3RhcmdldC5taworICAgIGVjaG8gIlRBUkdFVF9TVEFUVVMgPSAke1JFQURFUl9TVEFUVVN9IiA+PiBtYWtlZmlsZXMvdGFyZ2V0Lm1rCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfSBSRVNPTFVUSU9OPSR7UkVBREVSX1JFU09MVVRJT059Cit9CisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkYTllYzQ3MjFlZmRiMGVjMGFhYTE4MmJmZjE2YWQ4MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzMjhhZWM0NTRkYjgwZTIyNWFhMGI1YzMxYWRlZjc0YmY2MmExNDM1NzQ4Mjk0N2U4N2U5NzMxNjg2YjNjNjI0IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLXN1cHBvcnQvZmJyZWFkZXIvZmJyZWFkZXJfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLXN1cHBvcnQvZmJyZWFkZXIvZmJyZWFkZXJfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2Mzg4OWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtc3VwcG9ydC9mYnJlYWRlci9mYnJlYWRlcl9naXQuYmIKQEAgLTAsMCArMSw0MiBAQAorU1VNTUFSWSA9ICJGQnJlYWRlciBpcyBhbiBlYm9vayByZWFkZXIiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmZicmVhZGVyLm9yZyIKK1NFQ1RJT04gPSAieDExL3V0aWxzIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9mYnJlYWRlci9MSUNFTlNFO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKK0RFUEVORFMgPSAiZ3RrKyBlbmNhIGV4cGF0IGJ6aXAyIGxpYmdwZXdpZGdldCB2aXJ0dWFsL2xpYmljb252IGxpYmxpbmVicmVhayBsaWJmcmliaWRpIGN1cmwgc3FsaXRlMyIKK1NSQ1JFViA9ICIyY2YxZWMwZTMwNmUxMTIyZGJlZDg1MGJmYTAwNWNkNTlhNjE2OGVlIgorUFYgPSAiMC45OS41K2dpdHIke1NSQ1BWfSIKKworUFIgPSAicjEiCisKK0RFRkFVTFRfUFJFRkVSRU5DRSA9ICItMSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2dlb21ldGVyL0ZCUmVhZGVyLmdpdDtwcm90b2NvbD1odHRwO2JyYW5jaD1tYXN0ZXIgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtaW5zdGFsbGF0aW9uLW9mLXRoZS1pY29ucy13aGVuLVJFU09MVVRJT04taXMtc2V0LnBhdGNoIgorCisjIFNldCB0aGUgZGVmYXVsdHMKK1JFQURFUl9SRVNPTFVUSU9OID89ICIxMDI0eDYwMCIKK1JFQURFUl9BUkNIICAgICAgID89ICJkZXNrdG9wIgorUkVBREVSX1VJICAgICAgICAgPz0gImd0ayIKK1JFQURFUl9TVEFUVVMgICAgID89ICJyZWxlYXNlIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9GQlJlYWRlciAke2RhdGFkaXJ9L3psaWJyYXJ5ICR7bGliZGlyfS96bGlicmFyeSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3psaWJyYXJ5L3VpLy5kZWJ1Zy8iCisKK0NGTEFHU19hcHBlbmQgPSAiIFJFU09MVVRJT049JHtSRUFERVJfUkVTT0xVVElPTn0gSU5TVEFMTERJUj0ke3ByZWZpeH0iCitFWFRSQV9PRU1BS0UgPSAiQ0M9JyR7Q1hYfScgTEQ9JyR7Q1hYfScgSU5DUEFUSD0nJHtTVEFHSU5HX0lOQ0RJUn0nIExJQlBBVEg9JyR7U1RBR0lOR19MSUJESVJ9JyIKK2luaGVyaXQgcGtnY29uZmlnCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBjZCAiJHtTfSIKKworICAgIGVjaG8gIlRBUkdFVF9BUkNIID0gJHtSRUFERVJfQVJDSH0iID4gbWFrZWZpbGVzL3RhcmdldC5taworICAgIGVjaG8gIlVJX1RZUEUgPSAke1JFQURFUl9VSX0iID4+IG1ha2VmaWxlcy90YXJnZXQubWsKKyAgICBlY2hvICJUQVJHRVRfU1RBVFVTID0gJHtSRUFERVJfU1RBVFVTfSIgPj4gbWFrZWZpbGVzL3RhcmdldC5taworfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0gUkVTT0xVVElPTj0ke1JFQURFUl9SRVNPTFVUSU9OfQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLXN1cHBvcnQvZmJyZWFkZXIvZmlsZXMvMDAwMS1GaXgtaW5zdGFsbGF0aW9uLW9mLXRoZS1pY29ucy13aGVuLVJFU09MVVRJT04taXMtc2V0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLXN1cHBvcnQvZmJyZWFkZXIvZmlsZXMvMDAwMS1GaXgtaW5zdGFsbGF0aW9uLW9mLXRoZS1pY29ucy13aGVuLVJFU09MVVRJT04taXMtc2V0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2ZTEyMDIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtc3VwcG9ydC9mYnJlYWRlci9maWxlcy8wMDAxLUZpeC1pbnN0YWxsYXRpb24tb2YtdGhlLWljb25zLXdoZW4tUkVTT0xVVElPTi1pcy1zZXQucGF0Y2gKQEAgLTAsMCArMSw0MCBAQAorRnJvbSBkYTQxNzBiNjFiYjQxZWZmMGFmMTcwZDFkNzdiZmQ5MGY5ZWJlNWRkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRGVuaXMgJ0dOVXRvbycgQ2FyaWtsaSA8R05VdG9vQG5vLWxvZy5vcmc+CitEYXRlOiBGcmksIDIwIEphbiAyMDEyIDExOjM0OjQyICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBpbnN0YWxsYXRpb24gb2YgdGhlIGljb25zIHdoZW4gUkVTT0xVVElPTiBpcyBzZXQKKworV2hlbiByZXNvbHV0aW9uIGlzIHNldCwgdGhlIGZvbGxvd2luZyBjb2RlKGluIGZicmVhZGVyL01ha2VmaWxlKSBpcyBleGVjdXRlZDoKKyAgVkFSSUFOVCA9ICQoVEFSR0VUX0FSQ0gpCisgIGlmbmVxICIkKFJFU09MVVRJT04pIiAiIgorICAgIFZBUklBTlQgPSAkKFRBUkdFVF9BUkNIKV8kKFJFU09MVVRJT04pCisgIGVuZGlmCisKK1RoaXMgZml4IGlzIGJhc2VkIG9uIGEgcGF0Y2ggZnJvbSB0aGUgb3BlbmVtYmVkZGVkIHByb2plY3QsCisgIHdoaWNoIGNhbiBiZSBmb3VuZCBoZXJlOgorICAgIGh0dHA6Ly9jZ2l0Lm9wZW5lbWJlZGRlZC5vcmcvb3BlbmVtYmVkZGVkL3RyZWUvcmVjaXBlcy9mYnJlYWRlci9mYnJlYWRlci0wLjEyLjEvTWFrZWZpbGUucGF0Y2gKKworU2lnbmVkLW9mZi1ieTogRGVuaXMgJ0dOVXRvbycgQ2FyaWtsaSA8R05VdG9vQG5vLWxvZy5vcmc+CistLS0KKyBTdWJtaXR0ZWQgdHJvdWdoIGdpdGh1YiB0byBnaXQ6Ly9naXRodWIuY29tL2dlb21ldGVyL0ZCUmVhZGVyLmdpdCBhcyBhIHB1bGwgcmVxdWVzdAorCisgZmJyZWFkZXIvTWFrZWZpbGUgfCAgICA0ICsrLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2ZicmVhZGVyL01ha2VmaWxlIGIvZmJyZWFkZXIvTWFrZWZpbGUKK2luZGV4IGJmYTkyNDIuLjAzZTZjYzMgMTAwNjQ0CistLS0gYS9mYnJlYWRlci9NYWtlZmlsZQorKysrIGIvZmJyZWFkZXIvTWFrZWZpbGUKK0BAIC02MCw4ICs2MCw4IEBAIGRvX2luc3RhbGw6CisgCUBpbnN0YWxsIC1kICQoRkJTSEFSRURJUikvcmVzb3VyY2VzCisgCUBpbnN0YWxsIC1tIDA2NDQgJCh3aWxkY2FyZCBkYXRhL3Jlc291cmNlcy8qLnhtbCkgJChGQlNIQVJFRElSKS9yZXNvdXJjZXMKKyAJQGluc3RhbGwgLWQgJChERVNURElSKSQoQVBQSU1BR0VESVJfUkVBTCkKKy0JQGluc3RhbGwgLW0gMDY0NCAkKHdpbGRjYXJkIGRhdGEvaWNvbnMvdG9vbGJhci8kKFZBUklBTlQpLyouKikgJChERVNURElSKSQoQVBQSU1BR0VESVJfUkVBTCkKKy0JQGluc3RhbGwgLW0gMDY0NCAkKHdpbGRjYXJkIGRhdGEvaWNvbnMvZmlsZXRyZWUvJChWQVJJQU5UKS8qLiopICQoREVTVERJUikkKEFQUElNQUdFRElSX1JFQUwpCisrCUBpbnN0YWxsIC1tIDA2NDQgJCh3aWxkY2FyZCBkYXRhL2ljb25zL3Rvb2xiYXIvJChUQVJHRVRfQVJDSCkvKi4qKSAkKERFU1RESVIpJChBUFBJTUFHRURJUl9SRUFMKQorKwlAaW5zdGFsbCAtbSAwNjQ0ICQod2lsZGNhcmQgZGF0YS9pY29ucy9maWxldHJlZS8kKFRBUkdFVF9BUkNIKS8qLiopICQoREVTVERJUikkKEFQUElNQUdFRElSX1JFQUwpCisgCUBpbnN0YWxsIC1tIDA2NDQgJCh3aWxkY2FyZCBkYXRhL2ljb25zL2Jvb2t0cmVlL25ldy8qLiopICQoREVTVERJUikkKEFQUElNQUdFRElSX1JFQUwpCisgCUBtYWtlIC1DICQoVEFSR0VUX0FSQ0gpIFJFU09MVVRJT049JChSRVNPTFVUSU9OKSBpbnN0YWxsCisgCistLSAKKzEuNy40LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9DT1BZSU5HLk1JVCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvQ09QWUlORy5NSVQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmI5NTBkYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvQ09QWUlORy5NSVQKQEAgLTAsMCArMSwxNyBAQAorUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSAKK29mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIAoraW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyAKK3RvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgCitjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgCitmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorCitUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiAKK2FsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorCitUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUiAKK0lNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCAKK0ZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSAKK0FVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgCitMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCAKK09VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gCitUSEUgU09GVFdBUkUuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL1JFQURNRSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhMDNhMWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL1JFQURNRQpAQCAtMCwwICsxLDM3IEBACittZXRhLWluaXRyYW1mcworPT09PT09PT09PT09PT0KKworVGhpcyBsYXllciBjb250YWlucyB0aGUgbWV0YWRhdGEgbmVjZXNzYXJ5IHRvIGJ1aWxkIHRoZSBrbGliYyBsaWJyYXJ5IGFuZAordXRpbGl0aWVzIChzaGFyZWQgYW5kIHN0YXRpYykgcGx1cyBvdGhlciB0b29scyB1c2VmdWwgZm9yIHRoZSBjcmVhdGlvbiBvZgorc21hbGwtc2l6ZWQgaW5pdHJhbWZzLgorCisKK0RlcGVuZGVuY2llcworLS0tLS0tLS0tLS0tCisKK1RoaXMgbGF5ZXIgZGVwZW5kcyBvbjoKKworVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9vZS1jb3JlLmdpdAorYnJhbmNoOiBrcm9nb3RoCityZXZpc2lvbjogSEVBRAorCisKK01haW50ZW5hbmNlCistLS0tLS0tLS0tLQorCitTZW5kIHBhdGNoZXMgLyBwdWxsIHJlcXVlc3RzIHRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnCit3aXRoICdbbWV0YS1pbml0cmFtZnNdW2tyb2dvdGhdJyBpbiB0aGUgc3ViamVjdC4KKworV2hlbiBzZW5kaW5nIHNpbmdsZSBwYXRjaGVzLCBwbGVhc2UgdXNpbmcgc29tZXRoaW5nIGxpa2U6CisnZ2l0IHNlbmQtZW1haWwgLU0gLTEgLS10byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyAtLXN1YmplY3QtcHJlZml4PW1ldGEtaW5pdHJhbWZzXVtrcm9nb3RoXVtQQVRDSCcKKwora3JvZ290aCBCcmFuY2ggTWFpbnRhaW5lcjoKK0FybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CisKKworTGljZW5zZQorLS0tLS0tLQorCitBbGwgbWV0YWRhdGEgaXMgTUlUIGxpY2Vuc2VkIHVubGVzcyBvdGhlcndpc2Ugc3RhdGVkLiBTb3VyY2UgY29kZSBpbmNsdWRlZAoraW4gdHJlZSBmb3IgaW5kaXZpZHVhbCByZWNpcGVzIGlzIHVuZGVyIHRoZSBMSUNFTlNFIHN0YXRlZCBpbiBlYWNoIHJlY2lwZQorKC5iYiBmaWxlKSB1bmxlc3Mgb3RoZXJ3aXNlIHN0YXRlZC4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvY2xhc3Nlcy9rbGliYy5iYmNsYXNzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9jbGFzc2VzL2tsaWJjLmJiY2xhc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg2NDEwNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvY2xhc3Nlcy9rbGliYy5iYmNsYXNzCkBAIC0wLDAgKzEsMTUgQEAKKyMga2xjYy1jcm9zcyBkZXBlbmRzIG9uIGtsaWJjCitERVBFTkRTID0rICJrbGNjLWNyb3NzIgorCisjIERlZmF1bHQgZm9yIGtsY2MgaXMgdG8gYnVpbGQgc3RhdGljIGJpbmFyaWVzLgorIyBTZXQgQ0MgPSAiJHtUQVJHRVRfUFJFRklYfWtsY2MgLXNoYXJlZCIgdG8gYnVpbGQgdGhlIGR5bmFtaWMgdmVyc2lvbi4KKworZXhwb3J0IENDID0gIiR7VEFSR0VUX1BSRUZJWH1rbGNjICR7VE9PTENIQUlOX09QVElPTlN9IgorZXhwb3J0IENDX2FybXY0X2xpbnV4LWdudWVhYmkgPSAiJHtUQVJHRVRfUFJFRklYfWtsY2MgJHtUT09MQ0hBSU5fT1BUSU9OU30gLW1hcmNoPWFybXY0IC1tdGh1bWItaW50ZXJ3b3JrIgorCitleHBvcnQgQ1BQID0gIiR7Q0N9IC1FIgorCisjIGtsY2MgdXNlcyBvd24gb3B0aW1pemF0aW9ucyBieSBkZWZhdWx0LiBTZWUga2xjYygxKSBtYW4gZmlsZS4KK2V4cG9ydCBDRkxBR1M9IiIKK2V4cG9ydCBDUFBGTEFHUz0iIgorZXhwb3J0IExERkxBR1M9IiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvY29uZi9sYXllci5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9jb25mL2xheWVyLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDliN2M0YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvY29uZi9sYXllci5jb25mCkBAIC0wLDAgKzEsMjEgQEAKKyMgTGF5ZXIgY29uZmlndXJhdGlvbiBmb3IgbWV0YS1pbml0cmFtZnMgbGF5ZXIKKworIyBXZSBoYXZlIGEgY29uZiBhbmQgY2xhc3NlcyBkaXJlY3RvcnksIGFwcGVuZCB0byBCQlBBVEgKK0JCUEFUSCAuPSAiOiR7TEFZRVJESVJ9IgorCisjIFdlIGhhdmUgYSByZWNpcGVzIGRpcmVjdG9yeSwgYWRkIHRvIEJCRklMRVMKK0JCRklMRVMgKz0gIiR7TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmIgJHtMQVlFUkRJUn0vcmVjaXBlcy0qLyovKi5iYmFwcGVuZCIKKworQkJGSUxFX0NPTExFQ1RJT05TICs9ICJtZXRhLWluaXRyYW1mcyIKK0JCRklMRV9QQVRURVJOX21ldGEtaW5pdHJhbWZzIDo9ICJeJHtMQVlFUkRJUn0vIgorCisjIERlZmluZSB0aGUgcHJpb3JpdHkgZm9yIHJlY2lwZXMgKC5iYiBmaWxlcykgZnJvbSB0aGlzIGxheWVyLAorIyBjaG9vc2luZyBjYXJlZnVsbHkgaG93IHRoaXMgbGF5ZXIgaW50ZXJhY3RzIHdpdGggYWxsIG9mIHRoZQorIyBvdGhlciBsYXllcnMuCisKK0JCRklMRV9QUklPUklUWV9tZXRhLWluaXRyYW1mcyA9ICI4IgorTEFZRVJERVBFTkRTX21ldGEtaW5pdHJhbWZzID0gImNvcmUiCisKK1NJR0dFTl9FWENMVURFX1NBRkVfUkVDSVBFX0RFUFMgKz0gIiBcCisgIGRyYWN1dC0+dmlydHVhbC9rZXJuZWwgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9pbWFnZXMvaW5pdHJhbWZzLWRlYnVnLWltYWdlLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9pbWFnZXMvaW5pdHJhbWZzLWRlYnVnLWltYWdlLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlNzM1MGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2ltYWdlcy9pbml0cmFtZnMtZGVidWctaW1hZ2UuYmIKQEAgLTAsMCArMSwyMiBAQAorIyBTaW1wbGUgaW5pdHJhbWZzIGltYWdlLiBNb3N0bHkgdXNlZCBmb3IgbGl2ZSBpbWFnZXMuCitERVNDUklQVElPTiA9ICJTbWFsbCBpbWFnZSBjYXBhYmxlIG9mIGJvb3RpbmcgYSBkZXZpY2UuIFRoZSBrZXJuZWwgaW5jbHVkZXMgXAordGhlIE1pbmltYWwgUkFNLWJhc2VkIEluaXRpYWwgUm9vdCBGaWxlc3lzdGVtIChpbml0cmFtZnMpLCB3aGljaCBvbmUgY2FuIHVzZSBcCit0byBjaGVjayB0aGUgaGFyZHdhcmUgZWZmaWNpZW50bHkuIgorCitQQUNLQUdFX0lOU1RBTEwgPSAiaW5pdHJhbWZzLWRlYnVnIGJ1c3lib3ggYmFzZS1wYXNzd2QgJHtST09URlNfQk9PVFNUUkFQX0lOU1RBTEx9IgorCisjIERvIG5vdCBwb2xsdXRlIHRoZSBpbml0cmQgaW1hZ2Ugd2l0aCByb290ZnMgZmVhdHVyZXMKK0lNQUdFX0ZFQVRVUkVTID0gIiIKKworZXhwb3J0IElNQUdFX0JBU0VOQU1FID0gImluaXRyYW1mcy1kZWJ1Zy1pbWFnZSIKK0lNQUdFX0xJTkdVQVMgPSAiIgorCitMSUNFTlNFID0gIk1JVCIKKworSU1BR0VfRlNUWVBFUyA9ICIke0lOSVRSQU1GU19GU1RZUEVTfSIKK2luaGVyaXQgY29yZS1pbWFnZQorCitJTUFHRV9ST09URlNfU0laRSA9ICI4MTkyIgorSU1BR0VfUk9PVEZTX0VYVFJBX1NQQUNFID0gIjAiCisKK0JBRF9SRUNPTU1FTkRBVElPTlMgKz0gImJ1c3lib3gtc3lzbG9nIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9pbWFnZXMvaW5pdHJhbWZzLWtleGVjYm9vdC1pbWFnZS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3AvaW1hZ2VzL2luaXRyYW1mcy1rZXhlY2Jvb3QtaW1hZ2UuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDVmZjUwZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3AvaW1hZ2VzL2luaXRyYW1mcy1rZXhlY2Jvb3QtaW1hZ2UuYmIKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSA9ICJJbml0cmFtZnMgaW1hZ2UgZm9yIGtleGVjYm9vdCBrZXJuZWwiCitERVNDUklQVElPTiA9ICJUaGlzIGltYWdlIHByb3ZpZGVzIGtleGVjYm9vdCAobGludXggYXMgYm9vdGxvYWRlcikgYW5kIGhlbHBlcnMuIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL0NPUFlJTkcuTUlUO21kNT0zZGE5Y2ZiY2I3ODhjODBhMDM4NDM2MWI0ZGUyMDQyMCIKKworSU1BR0VfRlNUWVBFUyA9ICIke0lOSVRSQU1GU19GU1RZUEVTfSIKKworIyBhdm9pZCBjaXJjdWxhciBkZXBlbmRlbmNpZXMKK0VYVFJBX0lNQUdFREVQRU5EUyA9ICIiCisKKyMgV2UgcmVhbGx5IG5lZWQganVzdCBrZXhlY2Jvb3QsIGtleGVjIGFuZCB1YmlhdHRhY2gKK0lNQUdFX0lOU1RBTEwgPSAia2V4ZWNib290IGtleGVjIG10ZC11dGlscy11YmlmcyIKKworIyBEbyBub3QgcG9sbHV0ZSB0aGUgaW5pdHJkIGltYWdlIHdpdGggcm9vdGZzIGZlYXR1cmVzCitJTUFHRV9GRUFUVVJFUyA9ICIiCisKK0lNQUdFX0xJTkdVQVMgPSAiIgorCitGRUVEX0RFUExPWURJUl9CQVNFX1VSSSA9ICIiCitMRENPTkZJR0RFUEVORCA9ICIiCisKK0lNQUdFX1JPT1RGU19FWFRSQV9TUEFDRSA9ICIwIgorCitpbmhlcml0IGltYWdlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2ltYWdlcy9pbml0cmFtZnMta2V4ZWNib290LWtsaWJjLWltYWdlLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9pbWFnZXMvaW5pdHJhbWZzLWtleGVjYm9vdC1rbGliYy1pbWFnZS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZjk3NTExCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9pbWFnZXMvaW5pdHJhbWZzLWtleGVjYm9vdC1rbGliYy1pbWFnZS5iYgpAQCAtMCwwICsxLDcgQEAKK3JlcXVpcmUgaW5pdHJhbWZzLWtleGVjYm9vdC1pbWFnZS5iYgorCitTVU1NQVJZID0gIkluaXRyYW1mcyBpbWFnZSBmb3Iga2V4ZWNib290IGtlcm5lbCAoa2xpYmMtc3RhdGljIGJpbmFyaWVzKSIKKworIyBXZSByZWFsbHkgbmVlZCBqdXN0IGtleGVjYm9vdCwga2V4ZWMgYW5kIHViaWF0dGFjaAorIyBzdGF0aWNhbGx5IGNvbXBpbGVkIGFnYWluc3Qga2xpYmMKK0lNQUdFX0lOU1RBTEwgPSAia2V4ZWNib290LWtsaWJjIGtleGVjLWtsaWJjIHViaWF0dGFjaC1rbGliYyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3AvaW5pdHJkc2NyaXB0cy9maWxlcy9pbml0LWRlYnVnLnNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9pbml0cmRzY3JpcHRzL2ZpbGVzL2luaXQtZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2VkYmQ3MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3AvaW5pdHJkc2NyaXB0cy9maWxlcy9pbml0LWRlYnVnLnNoCkBAIC0wLDAgKzEsMzEgQEAKKyMhL2Jpbi9zaAorCitQQVRIPS9zYmluOi9iaW46L3Vzci9zYmluOi91c3IvYmluCisKK2RvX21vdW50X2ZzKCkgeworCWdyZXAgLXEgIiQxIiAvcHJvYy9maWxlc3lzdGVtcyB8fCByZXR1cm4KKwl0ZXN0IC1kICIkMiIgfHwgbWtkaXIgLXAgIiQyIgorCW1vdW50IC10ICIkMSIgIiQxIiAiJDIiCit9CisKK2RvX21rbm9kKCkgeworCXRlc3QgLWUgIiQxIiB8fCBta25vZCAiJDEiICIkMiIgIiQzIiAiJDQiCit9CisKK21rZGlyIC1wIC9wcm9jCittb3VudCAtdCBwcm9jIHByb2MgL3Byb2MKKworZG9fbW91bnRfZnMgc3lzZnMgL3N5cworZG9fbW91bnRfZnMgZGVidWdmcyAvc3lzL2tlcm5lbC9kZWJ1ZworZG9fbW91bnRfZnMgZGV2dG1wZnMgL2RldgorZG9fbW91bnRfZnMgZGV2cHRzIC9kZXYvcHRzCitkb19tb3VudF9mcyB0bXBmcyAvZGV2L3NobQorCitta2RpciAtcCAvcnVuCitta2RpciAtcCAvdmFyL3J1bgorCitkb19ta25vZCAvZGV2L2NvbnNvbGUgYyA1IDEKK2RvX21rbm9kIC9kZXYvbnVsbCBjIDEgMworZG9fbWtub2QgL2Rldi96ZXJvIGMgMSA1CisKK2V4ZWMgc2ggPC9kZXYvY29uc29sZSA+L2Rldi9jb25zb2xlIDI+L2Rldi9jb25zb2xlIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9pbml0cmRzY3JpcHRzL2luaXRyYW1mcy1kZWJ1Z18xLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2luaXRyZHNjcmlwdHMvaW5pdHJhbWZzLWRlYnVnXzEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iN2RlZmZmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9pbml0cmRzY3JpcHRzL2luaXRyYW1mcy1kZWJ1Z18xLjAuYmIKQEAgLTAsMCArMSwxNCBAQAorU1VNTUFSWSA9ICJFeHRyZW1lbHkgYmFzaWMgbGl2ZSBpbWFnZSBpbml0IHNjcmlwdCIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9DT1BZSU5HLk1JVDttZDU9M2RhOWNmYmNiNzg4YzgwYTAzODQzNjFiNGRlMjA0MjAiCitTUkNfVVJJID0gImZpbGU6Ly9pbml0LWRlYnVnLnNoIgorCitTID0gIiR7V09SS0RJUn0iCisKK2RvX2luc3RhbGwoKSB7CisgICAgICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2luaXQtZGVidWcuc2ggJHtEfS9pbml0Cit9CisKK2luaGVyaXQgYWxsYXJjaAorCitGSUxFU18ke1BOfSArPSAiIC9pbml0ICIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3Ava2V4ZWNib290L2ZpbGVzLzAwMDEta2V4ZWNib290LWZpeC1idWlsZC13aGVuLVMtQi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3Ava2V4ZWNib290L2ZpbGVzLzAwMDEta2V4ZWNib290LWZpeC1idWlsZC13aGVuLVMtQi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZDMyNzBmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9rZXhlY2Jvb3QvZmlsZXMvMDAwMS1rZXhlY2Jvb3QtZml4LWJ1aWxkLXdoZW4tUy1CLnBhdGNoCkBAIC0wLDAgKzEsNjEgQEAKK0Zyb20gODUxOWQ2MWE3MDk3NDk4YjBlZTkzZmI4ZGM4MjYyMjg2ODI1ZjNlNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMSBNYXkgMjAxNCAyMzo1ODo1MSArMDIwMAorU3ViamVjdDogW1BBVENIIDEvNF0ga2V4ZWNib290OiBmaXggYnVpbGQgd2hlbiBTICE9IEIKKworKiBmYXRhbCBlcnJvcjogLi4vY29uZmlnLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhIEFkYW1pIDxhbmRyZWEuYWRhbWlAZ21haWwuY29tPgorLS0tCisgbWFjaGluZS96YXVydXMuYyB8IDIgKy0KKyByZXMvdGhlbWUtZ3VpLmggIHwgMiArLQorIHJlcy90aGVtZS10dWkuaCAgfCA0ICsrLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL21hY2hpbmUvemF1cnVzLmMgYi9tYWNoaW5lL3phdXJ1cy5jCitpbmRleCBlYTIxMDQ3Li44M2JlMTNiIDEwMDY0NAorLS0tIGEvbWFjaGluZS96YXVydXMuYworKysrIGIvbWFjaGluZS96YXVydXMuYworQEAgLTI1LDcgKzI1LDcgQEAKKyAgKgorICAqLworIAorLSNpbmNsdWRlICIuLi9jb25maWcuaCIKKysjaW5jbHVkZSAiY29uZmlnLmgiCisgCisgI2lmZGVmIFVTRV9aQVVSVVMKKyAKK2RpZmYgLS1naXQgYS9yZXMvdGhlbWUtZ3VpLmggYi9yZXMvdGhlbWUtZ3VpLmgKK2luZGV4IGY4ZmVmN2YuLjc5YmVkMzkgMTAwNjQ0CistLS0gYS9yZXMvdGhlbWUtZ3VpLmgKKysrKyBiL3Jlcy90aGVtZS1ndWkuaAorQEAgLTE1LDcgKzE1LDcgQEAKKyAgKgorICAqLworIAorLSNpbmNsdWRlICIuLi9jb25maWcuaCIKKysjaW5jbHVkZSAiY29uZmlnLmgiCisgCisgI2lmZGVmIFVTRV9JQ09OUworIC8qKiBJY29ucyAqKi8KK2RpZmYgLS1naXQgYS9yZXMvdGhlbWUtdHVpLmggYi9yZXMvdGhlbWUtdHVpLmgKK2luZGV4IDk0ZTc2OTMuLjkwOWJlNTYgMTAwNjQ0CistLS0gYS9yZXMvdGhlbWUtdHVpLmgKKysrKyBiL3Jlcy90aGVtZS10dWkuaAorQEAgLTE1LDExICsxNSwxMSBAQAorICAqCisgICovCisgCistI2luY2x1ZGUgIi4uL2NvbmZpZy5oIgorKyNpbmNsdWRlICJjb25maWcuaCIKKyAKKyAjaWZkZWYgVVNFX1RFWFRVSQorIC8qKiBURVhUIFVJIGNvbG9ycyAqKi8KKy0jaW5jbHVkZSAiLi4vdGVybXNlcS5oIgorKyNpbmNsdWRlICJ0ZXJtc2VxLmgiCisgCisgLyogQmFja2dyb3VuZCBjb2xvciBwYWlyICovCisgI2RlZmluZSBUVUlfQ0xSX0JHCQlURVJNX0NTSSBURVJNX0JHX0JMQUNLICI7IiBURVJNX0ZHX1dISVRFIFRFUk1fU0dSCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3Ava2V4ZWNib290L2ZpbGVzLzAwMDIta2V4ZWNib290LWZpeC1jb25maWd1cmUtd2FybmluZ3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2tleGVjYm9vdC9maWxlcy8wMDAyLWtleGVjYm9vdC1maXgtY29uZmlndXJlLXdhcm5pbmdzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjZjQyMmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2tleGVjYm9vdC9maWxlcy8wMDAyLWtleGVjYm9vdC1maXgtY29uZmlndXJlLXdhcm5pbmdzLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0Zyb20gYjg5MzhhY2MzZjFhYjM1MjczZmE5YTJmYTc3MjgwNTBlZjcyZmY2NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMiBNYXkgMjAxNCAwMDoxOToyNCArMDIwMAorU3ViamVjdDogW1BBVENIIDIvNF0ga2V4ZWNib290OiBmaXggY29uZmlndXJlIHdhcm5pbmdzCisKK01ha2VmaWxlLmFtOjU6IHdhcm5pbmc6IHNvdXJjZSBmaWxlICdmc3R5cGUvZnN0eXBlLmMnIGlzIGluIGEgc3ViZGlyZWN0b3J5LAorTWFrZWZpbGUuYW06NTogYnV0IG9wdGlvbiAnc3ViZGlyLW9iamVjdHMnIGlzIGRpc2FibGVkCithdXRvbWFrZTogd2FybmluZzogcG9zc2libGUgZm9yd2FyZC1pbmNvbXBhdGliaWxpdHkuCisuLi4KK01ha2VmaWxlLmFtOjU6IHdhcm5pbmc6IHNvdXJjZSBmaWxlICdtYWNoaW5lL3phdXJ1cy5jJyBpcyBpbiBhIHN1YmRpcmVjdG9yeSwKKy4uLgorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWEgQWRhbWkgPGFuZHJlYS5hZGFtaUBnbWFpbC5jb20+CistLS0KKyBjb25maWd1cmUuYWMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDBjYTRiODEuLjY2ZWM1NGUgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTEsNyArMSw3IEBACisgQUNfUFJFUkVRKDIuNTMpCisgQUNfSU5JVChba2V4ZWNib290XSwgWzAuNl0sIFtrZXhlY2Jvb3QtZGV2ZWxAbGludXh0b2dvLm9yZ10pCisgQUNfQ0FOT05JQ0FMX0hPU1QKKy1BTV9JTklUX0FVVE9NQUtFKFstV2FsbCBmb3JlaWduXSkKKytBTV9JTklUX0FVVE9NQUtFKFstV2FsbCBmb3JlaWduXSBbc3ViZGlyLW9iamVjdHNdKQorIEFDX0NPTkZJR19TUkNESVIoa2V4ZWNib290LmMpCisgQUNfQ09ORklHX0hFQURFUlMoY29uZmlnLmgpCisgQU1fTUFJTlRBSU5FUl9NT0RFCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3Ava2V4ZWNib290L2ZpbGVzLzAwMDMta2V4ZWNib290LWRvLW5vdC1oYXJkY29kZS1NT1VOVFBPSU5ULnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9rZXhlY2Jvb3QvZmlsZXMvMDAwMy1rZXhlY2Jvb3QtZG8tbm90LWhhcmRjb2RlLU1PVU5UUE9JTlQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGNhYTBkNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3Ava2V4ZWNib290L2ZpbGVzLzAwMDMta2V4ZWNib290LWRvLW5vdC1oYXJkY29kZS1NT1VOVFBPSU5ULnBhdGNoCkBAIC0wLDAgKzEsOTcgQEAKK0Zyb20gODAwZGFlMGQzNGY4NjI5YTM0YzYzOGE2MTIxNjZiNzZkZGEwM2UyNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KK0RhdGU6IFNhdCwgMiBBdWcgMjAxNCAwMToxMzowOCArMDIwMAorU3ViamVjdDogW1BBVENIIDMvNF0ga2V4ZWNib290OiBkbyBub3QgaGFyZGNvZGUgTU9VTlRQT0lOVAorCitBdm9pZCB0byBoYXJkY29kZSBpdDogY291bGQgYmUgcmVxdWVzdGVkIGFzIGEgbmV3IGNvbmZpZ3VyZSBvcHRpb24uCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KKy0tLQorIGNmZ3BhcnNlci5jIHwgIDYgKysrLS0tCisga2V4ZWNib290LmMgfCAxOCArKysrKysrKysrLS0tLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY2ZncGFyc2VyLmMgYi9jZmdwYXJzZXIuYworaW5kZXggOGY2Njg4Yy4uZGVjMjdiMSAxMDA2NDQKKy0tLSBhL2NmZ3BhcnNlci5jCisrKysgYi9jZmdwYXJzZXIuYworQEAgLTE0MSw3ICsxNDEsNyBAQCBzdGF0aWMgaW50IHNldF9rZXJuZWwoc3RydWN0IGNmZ2RhdGFfdCAqY2ZnZGF0YSwgY2hhciAqdmFsdWUpCisgCQlyZXR1cm4gLTE7CisgCX0KKyAKKy0Jc3RyY3B5KHNjLT5rZXJuZWxwYXRoLCAiL21udCIpOworKwlzdHJjcHkoc2MtPmtlcm5lbHBhdGgsIE1PVU5UUE9JTlQpOworIAlzdHJjYXQoc2MtPmtlcm5lbHBhdGgsIHZhbHVlKTsKKyAJcmV0dXJuIDA7CisgfQorQEAgLTE1NSw3ICsxNTUsNyBAQCBzdGF0aWMgaW50IHNldF9pY29uKHN0cnVjdCBjZmdkYXRhX3QgKmNmZ2RhdGEsIGNoYXIgKnZhbHVlKQorIAorIAlkaXNwb3NlKHNjLT5pY29ucGF0aCk7CisgCS8qIEFkZCBvdXIgbW91bnRwb2ludCwgc2luY2UgdGhlIGVuZHVzZXIgd29uJ3Qga25vdyBpdCAqLworLQlzYy0+aWNvbnBhdGggPSBtYWxsb2Moc2l6ZW9mKE1PVU5UUE9JTlQpK3N0cmxlbih2YWx1ZSkpOworKwlzYy0+aWNvbnBhdGggPSBtYWxsb2Moc3RybGVuKE1PVU5UUE9JTlQpK3N0cmxlbih2YWx1ZSkrMSk7CisgCWlmIChOVUxMID09IHNjLT5pY29ucGF0aCkgeworIAkJRFBSSU5URigiQ2FuJ3QgYWxsb2NhdGUgbWVtb3J5IHRvIHN0b3JlIGljb25wYXRoICclcyciLCB2YWx1ZSk7CisgCQlyZXR1cm4gLTE7CitAQCAtMTk0LDcgKzE5NCw3IEBAIHN0YXRpYyBpbnQgc2V0X2luaXRyZChzdHJ1Y3QgY2ZnZGF0YV90ICpjZmdkYXRhLCBjaGFyICp2YWx1ZSkKKyAJCXJldHVybiAtMTsKKyAJfQorIAorLQlzdHJjcHkoc2MtPmluaXRyZCwgIi9tbnQiKTsKKysJc3RyY3B5KHNjLT5pbml0cmQsIE1PVU5UUE9JTlQpOworIAlzdHJjYXQoc2MtPmluaXRyZCwgdmFsdWUpOworIAlyZXR1cm4gMDsKKyB9CitkaWZmIC0tZ2l0IGEva2V4ZWNib290LmMgYi9rZXhlY2Jvb3QuYworaW5kZXggZDY2NTdhMC4uNzI2OGQ2YiAxMDA2NDQKKy0tLSBhL2tleGVjYm9vdC5jCisrKysgYi9rZXhlY2Jvb3QuYworQEAgLTU3LDIwICs1NywyMiBAQAorICNlbmRpZgorIAorICNpZmRlZiBVU0VfTUFDSElORV9LRVJORUwKKy0vKiBNYWNoaW5lLWRlcGVuZGVudCBrZXJuZWwgcGF0Y2ggKi8KKysvKiBNYWNoaW5lLWRlcGVuZGVudCBrZXJuZWwgcGF0aCAqLworIGNoYXIgKm1hY2hpbmVfa2VybmVsID0gTlVMTDsKKyAjZW5kaWYKKyAKKysjZGVmaW5lIFBSRVBFTkRfTU9VTlRQQVRIKHN0cmluZykgTU9VTlRQT0lOVCIic3RyaW5nCisrCisgLyogTlVMTC10ZXJtaW5hdGVkIGFycmF5IG9mIGtlcm5lbCBzZWFyY2ggcGF0aHMKKyAgKiBGaXJzdCBpdGVtIHNob3VsZCBiZSBmaWxsZWQgd2l0aCBtYWNoaW5lLWRlcGVuZGVudCBwYXRoICovCisgY2hhciAqZGVmYXVsdF9rZXJuZWxzW10gPSB7CisgI2lmZGVmIFVTRV9aSU1BR0UKKy0JIi9tbnQvYm9vdC96SW1hZ2UiLAorLQkiL21udC96SW1hZ2UiLAorKwlQUkVQRU5EX01PVU5UUEFUSCgiL2Jvb3QvekltYWdlIiksCisrCVBSRVBFTkRfTU9VTlRQQVRIKCIvekltYWdlIiksCisgI2VuZGlmCisgI2lmZGVmIFVTRV9VSU1BR0UKKy0JIi9tbnQvYm9vdC91SW1hZ2UiLAorLQkiL21udC91SW1hZ2UiLAorKwlQUkVQRU5EX01PVU5UUEFUSCgiL2Jvb3QvdUltYWdlIiksCisrCVBSRVBFTkRfTU9VTlRQQVRIKCIvdUltYWdlIiksCisgI2VuZGlmCisgCU5VTEwKKyB9OworQEAgLTE0OSwxNCArMTUxLDE0IEBAIGNoYXIgKmdldF9tYWNoaW5lX2tlcm5lbHBhdGgoKSB7CisgCQkJKyt0bXA7CisgCQl9CisgCistCQkvKiBQcmVwZW5kICIvbW50L2Jvb3QvekltYWdlLSIgdG8gaHcgKi8KKy0JCXRtcCA9IG1hbGxvYyhzdHJsZW4oaHcpICsgMTcgKyAxKTsJLyogc3RybGVuKCIvbW50L2Jvb3QvekltYWdlLSIpICovCisrCQkvKiBQcmVwZW5kICBNT1VOVFBPSU5UIi9ib290L3pJbWFnZS0iIHRvIGh3ICovCisrCQl0bXAgPSBtYWxsb2Moc3RybGVuKFBSRVBFTkRfTU9VTlRQQVRIKCIvYm9vdC96SW1hZ2UtIikpICsgc3RybGVuKGh3KSArIDEpOworIAkJaWYgKE5VTEwgPT0gdG1wKSB7CisgCQkJRFBSSU5URigiQ2FuJ3QgYWxsb2NhdGUgbWVtb3J5IGZvciBtYWNoaW5lLXNwZWNpZmljIGtlcm5lbCBwYXRoIik7CisgCQkJcmV0dXJuIE5VTEw7CisgCQl9CisgCistCQlzdHJjcHkodG1wLCAiL21udC9ib290L3pJbWFnZS0iKTsKKysJCXN0cmNweSh0bXAsIFBSRVBFTkRfTU9VTlRQQVRIKCIvYm9vdC96SW1hZ2UtIikpOworIAkJc3RyY2F0KHRtcCwgaHcpOworIAorIAkJcmV0dXJuIHRtcDsKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9rZXhlY2Jvb3QvZmlsZXMvMDAwNC1rZXhlY2Jvb3QuYy13b3JrYXJvdW5kLWZvci1hYnNvbHV0ZS1rZXJuZWwtYW5kLWluaXRyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9rZXhlY2Jvb3QvZmlsZXMvMDAwNC1rZXhlY2Jvb3QuYy13b3JrYXJvdW5kLWZvci1hYnNvbHV0ZS1rZXJuZWwtYW5kLWluaXRyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkODFkODMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2tleGVjYm9vdC9maWxlcy8wMDA0LWtleGVjYm9vdC5jLXdvcmthcm91bmQtZm9yLWFic29sdXRlLWtlcm5lbC1hbmQtaW5pdHIucGF0Y2gKQEAgLTAsMCArMSwxMzUgQEAKK0Zyb20gZGU5YTYyODRkZjhhZGQ2ZWMwM2UxZDk5ODFkMGI2ZDA1OTViYmM2OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMTAgTm92IDIwMTQgMjM6Mzc6MjMgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCA0LzRdIGtleGVjYm9vdC5jOiB3b3JrYXJvdW5kIGZvciBhYnNvbHV0ZSBrZXJuZWwgYW5kIGluaXRyZAorIHN5bWxpbmtzCisKK0FkZCBNT1VOVFBPSU5UIHByZWZpeCBpZiB0aGUga2VybmVsL2luaXRyZCBzeW1saW5rcyBzdGFydCB3aXRoICcvJy4KK0RvIG5vdGhpbmcgaWYgdGhlIHBhdGggaXMgYSByZWxhdGl2ZSBzeW1ib2xpYyBsaW5rIG9yIG5vdCBhIHN5bWxpbmsuCisKK0ZpeCBmb2xsb3dpbmcgc2l0dWF0aW9uOgorCityb290QG1pemFyOi92YXIvdG1wIyBscyAtYWwgYm9vdC8KK3RvdGFsIDIwNzYKK2Ryd3hyLXhyLXggMiByb290IHJvb3QgICAgNDA5NiBsdWcgIDUgMDE6MzggLgorZHJ3eHJ3eHJ3dCA0IHJvb3Qgcm9vdCAgICA0MDk2IGx1ZyAgNSAxMjoyNiAuLgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAgICAgODMxIGx1ZyAgNSAwMToyNCBib290LmNmZworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAgICAxMzIyIGx1ZyAgNSAwMToyNCBpY29uLnhwbQorbHJ3eHJ3eHJ3eCAxIHJvb3Qgcm9vdCAgICAgIDM0IGx1ZyAgNSAxMjoyNiB6SW1hZ2UgLT4KKy9ib290L3pJbWFnZS0zLjE0LjUteW9jdG8tc3RhbmRhcmQKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMjEwNjgzMiBsdWcgIDUgMDE6MjAgekltYWdlLTMuMTQuNS15b2N0by1zdGFuZGFyZAorCitDYW5ub3Qgb3BlbiBgL21udC9ib290L3pJbWFnZSc6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKK05vdGhpbmcgaGFzIGJlZW4gbG9hZGVkIQorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWEgQWRhbWkgPGFuZHJlYS5hZGFtaUBnbWFpbC5jb20+CistLS0KKyBrZXhlY2Jvb3QuYyB8IDUzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDQ0IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9rZXhlY2Jvb3QuYyBiL2tleGVjYm9vdC5jCitpbmRleCA3MjY4ZDZiLi44YTdhN2QyIDEwMDY0NAorLS0tIGEva2V4ZWNib290LmMKKysrKyBiL2tleGVjYm9vdC5jCitAQCAtMjA4LDExICsyMDgsMTYgQEAgdm9pZCBzdGFydF9rZXJuZWwoc3RydWN0IHBhcmFtc190ICpwYXJhbXMsIGludCBjaG9pY2UpCisgCWNvbnN0IGNoYXIgKmxvYWRfYXJndltdID0geyBOVUxMLCAiLWwiLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMIH07CisgCWNvbnN0IGNoYXIgKmV4ZWNfYXJndltdID0geyBOVUxMLCAiLWUiLCBOVUxMLCBOVUxMfTsKKyAKKy0JY2hhciAqY21kbGluZV9hcmcgPSBOVUxMLCAqaW5pdHJkX2FyZyA9IE5VTEw7CisrCWNoYXIgKmNtZGxpbmVfYXJnID0gTlVMTCwgKmluaXRyZF9hcmcgPSBOVUxMLCAqa2VybmVsX2FyZyA9IE5VTEw7CisgCWludCBuLCBpZHgsIHU7CisgCXN0cnVjdCBzdGF0IHNpbmZvOworIAlzdHJ1Y3QgYm9vdF9pdGVtX3QgKml0ZW07CisgCisrCS8qIGJ1ZmZlciBmb3IgcmVhZGxpbmsgKGNvdWxkIGJlIHRydW5jYXRlZCkgKi8KKysJY2hhciBidWZbNTEyXTsKKysJaW50IGxlbjsKKysKKysKKyAJaXRlbSA9IHBhcmFtcy0+Ym9vdGNmZy0+bGlzdFtjaG9pY2VdOworIAorIAlleGVjX2FyZ3ZbMF0gPSBrZXhlY19wYXRoOworQEAgLTMwNiwxMCArMzExLDE3IEBAIHZvaWQgc3RhcnRfa2VybmVsKHN0cnVjdCBwYXJhbXNfdCAqcGFyYW1zLCBpbnQgY2hvaWNlKQorIAkJfQorIAl9CisgCisrCS8qIE1vdW50IGJvb3QgZGV2aWNlICovCisrCWlmICggLTEgPT0gbW91bnQobW91bnRfZGV2LCBtb3VudF9wb2ludCwgbW91bnRfZnN0eXBlLAorKwkJCU1TX1JET05MWSwgTlVMTCkgKSB7CisrCQlwZXJyb3IoIkNhbid0IG1vdW50IGJvb3QgZGV2aWNlIik7CisrCQlleGl0KC0xKTsKKysJfQorKworIAkvKiBmaWxsICctLWluaXRyZCcgb3B0aW9uICovCisgCWlmIChpdGVtLT5pbml0cmQpIHsKKyAJCS8qIGFsbG9jYXRlIHNwYWNlICovCistCQluID0gc2l6ZW9mKHN0cl9pbml0cmRfc3RhcnQpICsgc3RybGVuKGl0ZW0tPmluaXRyZCk7CisrCQluID0gc2l6ZW9mKHN0cl9pbml0cmRfc3RhcnQpICsgc3RybGVuKGl0ZW0tPmluaXRyZCkgKyAxICsgc2l6ZW9mKG1vdW50X3BvaW50KSArIHNpemVvZihidWYpOworIAorIAkJaW5pdHJkX2FyZyA9IChjaGFyICopbWFsbG9jKG4pOworIAkJaWYgKE5VTEwgPT0gaW5pdHJkX2FyZykgeworQEAgLTMxNywyNCArMzI5LDQ2IEBAIHZvaWQgc3RhcnRfa2VybmVsKHN0cnVjdCBwYXJhbXNfdCAqcGFyYW1zLCBpbnQgY2hvaWNlKQorIAkJfSBlbHNlIHsKKyAJCQlzdHJjcHkoaW5pdHJkX2FyZywgc3RyX2luaXRyZF9zdGFydCk7CS8qIC0taW5pdHJkPSAqLworIAkJCXN0cmNhdChpbml0cmRfYXJnLCBpdGVtLT5pbml0cmQpOworKworKwkJCWlmICgobGVuID0gcmVhZGxpbmsoaXRlbS0+aW5pdHJkLCBidWYsIHNpemVvZihidWYpLTEpKSAhPSAtMSkgeworKwkJCQlidWZbbGVuXSA9ICdcMCc7CisrCQkJCS8qIEZpeCBhYnNvbHV0ZSBzeW1saW5rczogcHJlcGVuZCBNT1VOVFBPSU5UICovCisrCQkJCWlmIChidWZbMF0gPT0gJy8nKSB7CisrCQkJCQlzdHJjcHkoaW5pdHJkX2FyZywgc3RyX2luaXRyZF9zdGFydCk7CS8qIC0taW5pdHJkPSAqLworKwkJCQkJc3RyY2F0KGluaXRyZF9hcmcsIG1vdW50X3BvaW50KTsKKysJCQkJCXN0cmNhdChpbml0cmRfYXJnLCBidWYpOworKwkJCQl9CisrCQkJfQorIAkJCWxvYWRfYXJndltpZHhdID0gaW5pdHJkX2FyZzsKKyAJCQkrK2lkeDsKKyAJCX0KKyAJfQorIAorIAkvKiBBcHBlbmQga2VybmVscGF0aCBhcyBsYXN0IGFyZyBvZiBrZXhlYyAqLworLQlsb2FkX2FyZ3ZbaWR4XSA9IGl0ZW0tPmtlcm5lbHBhdGg7CisrCQkvKiBhbGxvY2F0ZSBzcGFjZSAqLworKwkJbiA9IHN0cmxlbihpdGVtLT5rZXJuZWxwYXRoKSArIDEgKyBzaXplb2YobW91bnRfcG9pbnQpICsgc2l6ZW9mKGJ1Zik7CisrCisrCQlrZXJuZWxfYXJnID0gKGNoYXIgKiltYWxsb2Mobik7CisrCQlpZiAoTlVMTCA9PSBrZXJuZWxfYXJnKSB7CisrCQkJcGVycm9yKCJDYW4ndCBhbGxvY2F0ZSBtZW1vcnkgZm9yIGtlcm5lbF9hcmciKTsKKysJCX0gZWxzZSB7CisrCQkJc3RyY3B5KGtlcm5lbF9hcmcsIGl0ZW0tPmtlcm5lbHBhdGgpOworKworKwkJCWlmICgobGVuID0gcmVhZGxpbmsoaXRlbS0+a2VybmVscGF0aCwgYnVmLCBzaXplb2YoYnVmKS0xKSkgIT0gLTEpIHsKKysJCQkJYnVmW2xlbl0gPSAnXDAnOworKwkJCQkvKiBGaXggYWJzb2x1dGUgc3ltbGlua3M6IHByZXBlbmQgTU9VTlRQT0lOVCAqLworKwkJCQlpZiAoYnVmWzBdID09ICcvJykgeworKwkJCQkJc3RyY3B5KGtlcm5lbF9hcmcsIG1vdW50X3BvaW50KTsKKysJCQkJCXN0cmNhdChrZXJuZWxfYXJnLCBidWYpOworKwkJCQl9CisrCQkJfQorKwkJCWxvYWRfYXJndltpZHhdID0ga2VybmVsX2FyZzsKKysJCX0KKyAKKyAJRFBSSU5URigibG9hZF9hcmd2OiAlcywgJXMsICVzLCAlcywgJXMiLCBsb2FkX2FyZ3ZbMF0sCisgCQkJbG9hZF9hcmd2WzFdLCBsb2FkX2FyZ3ZbMl0sCisgCQkJbG9hZF9hcmd2WzNdLCBsb2FkX2FyZ3ZbNF0pOworIAorLQkvKiBNb3VudCBib290IGRldmljZSAqLworLQlpZiAoIC0xID09IG1vdW50KG1vdW50X2RldiwgbW91bnRfcG9pbnQsIG1vdW50X2ZzdHlwZSwKKy0JCQlNU19SRE9OTFksIE5VTEwpICkgeworLQkJcGVycm9yKCJDYW4ndCBtb3VudCBib290IGRldmljZSIpOworLQkJZXhpdCgtMSk7CistCX0KKyAKKyAJLyogTG9hZCBrZXJuZWwgKi8KKyAJbiA9IGZleGVjdyhrZXhlY19wYXRoLCAoY2hhciAqY29uc3QgKilsb2FkX2FyZ3YsIGVudnApOworQEAgLTM0Nyw2ICszODEsNyBAQCB2b2lkIHN0YXJ0X2tlcm5lbChzdHJ1Y3QgcGFyYW1zX3QgKnBhcmFtcywgaW50IGNob2ljZSkKKyAKKyAJZGlzcG9zZShjbWRsaW5lX2FyZyk7CisgCWRpc3Bvc2UoaW5pdHJkX2FyZyk7CisrCWRpc3Bvc2Uoa2VybmVsX2FyZyk7CisgCisgCS8qIENoZWNrIC9wcm9jL3N5cy9uZXQgcHJlc2VuY2UgKi8KKyAJaWYgKCAtMSA9PSBzdGF0KCIvcHJvYy9zeXMvbmV0IiwgJnNpbmZvKSApIHsKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9rZXhlY2Jvb3QvZmlsZXMvMDAwNS1yZ2IuaC1maXgtYnVpbGQtd2l0aC1nY2M1LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9rZXhlY2Jvb3QvZmlsZXMvMDAwNS1yZ2IuaC1maXgtYnVpbGQtd2l0aC1nY2M1LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1NDE5OWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2tleGVjYm9vdC9maWxlcy8wMDA1LXJnYi5oLWZpeC1idWlsZC13aXRoLWdjYzUucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorRnJvbSBiMmM0ZmM2OTg2OGE0ODMxZWM3OThhZDk4ZjVlN2ZjZTIwMGNmMGUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQW5kcmVhIEFkYW1pIDxhbmRyZWEuYWRhbWlAZ21haWwuY29tPgorRGF0ZTogVGh1LCAyNCBTZXAgMjAxNSAwMDowMjo0OCArMDIwMAorU3ViamVjdDogW1BBVENIXSByZ2IuaDogZml4IGJ1aWxkIHdpdGggZ2NjIDUgKEM5OSBpbmxpbmUgc2VtYW50aWMpCisKK0J1aWxkaW5nIHdpdGggZ2NjIDUuMiB3ZSB0cmlnZ2VyIHRoZSBmb2xsb3dpbmcgZXJyb3I6CisKK3JnYi5oOjU1OjE6IHdhcm5pbmc6IGlubGluZSBmdW5jdGlvbiAncmdiYTJjb21wJyBkZWNsYXJlZCBidXQgbmV2ZXIgZGVmaW5lZAorfCAgcmdiYTJjb21wKGt4X3JnYmEgcmdiYSwga3hfY2NvbXAgKnJlZCwga3hfY2NvbXAgKmdyZWVuLAorfCAgXgorCitodHRwczovL2djYy5nbnUub3JnL2djYy01L3BvcnRpbmdfdG8uaHRtbAorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWEgQWRhbWkgPGFuZHJlYS5hZGFtaUBnbWFpbC5jb20+CistLS0KKyByZ2IuaCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3JnYi5oIGIvcmdiLmgKK2luZGV4IDBiYTk4N2EuLjRmNjQ2MjIgMTAwNjQ0CistLS0gYS9yZ2IuaAorKysrIGIvcmdiLmgKK0BAIC01MSw4ICs1MSw3IEBAIHR5cGVkZWYgc3RydWN0IHsKKyB9IGt4X25hbWVkX2NvbG9yOworIAorIC8qIENvbnZlcnQgUkdCQSB1aW50MzIgdG8gcmVkL2dyZWVuL2JsdWUvYWxwaGEgY29tcG9uZW50cyAqLworLWlubGluZSB2b2lkCistcmdiYTJjb21wKGt4X3JnYmEgcmdiYSwga3hfY2NvbXAgKnJlZCwga3hfY2NvbXAgKmdyZWVuLAorK3ZvaWQgcmdiYTJjb21wKGt4X3JnYmEgcmdiYSwga3hfY2NvbXAgKnJlZCwga3hfY2NvbXAgKmdyZWVuLAorIAkJa3hfY2NvbXAgKmJsdWUsIGt4X2Njb21wICphbHBoYSk7CisgCisgLyogQ29udmVydCBoZXggcmdiIGNvbG9yIHRvIHJnYmEgY29sb3IgKi8KKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9rZXhlY2Jvb3Qva2V4ZWNib290LWNmZy9pY29uLnhwbSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3Ava2V4ZWNib290L2tleGVjYm9vdC1jZmcvaWNvbi54cG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmU2ZmQ3NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3Ava2V4ZWNib290L2tleGVjYm9vdC1jZmcvaWNvbi54cG0KQEAgLTAsMCArMSw0MyBAQAorLyogWFBNICovCitzdGF0aWMgY2hhciAqIGljb25feHBtW10gPSB7CisiMzIgMzIgOCAxIiwKKyIgCWMgTm9uZSIsCisiLgljICNENkRCREUiLAorIisJYyAjOUJBNkFFIiwKKyJACWMgIzYwNzI3RCIsCisiIwljICNCOEJGQzUiLAorIiQJYyAjQTlFOEY2IiwKKyIlCWMgIzEyQkNFNCIsCisiJgljICM1N0QyRUMiLAorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiwKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIsCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLAorIiAgICAgICAgICAgLisrQEBAQCsrLiAgICAgICAgICAgIiwKKyIgICAgICAgICArQEBAQEBAQEBAQEBAKyAgICAgICAgICIsCisiICAgICAgICNAQEBAQEBAQEBAQEBAQEBAIyAgICAgICAiLAorIiAgICAgICtAQEBAQEBAQEBAQEBAQEBAQEArICAgICAgIiwKKyIgICAgLkBAQEBAQEBAKysjIytAQEBAQEBAQEAuICAgICIsCisiICAgIEBAQEBAQEAuICAgICAgICAuQEBAQEBAQCAgICAiLAorIiAgICtAQEBAQCsgICAgJCQkJCAgICAjQEBAQEArICAgIiwKKyIgICNAQEBAQC4gICQlJSUlJSUlJSQgIC5AQEBAQCMgICIsCisiICBAQEBAQC4gICYlJSUlJSUlJSUlJiAgLkBAQEBAICAiLAorIiAjQEBAQCsgICUlJSUlJSUlJSUlJSUlICArQEBAQCMgIiwKKyIgQEBAQEAgICYlJSUlJSUlJSUlJSUlJSYgIEBAQEBAICIsCisiLkBAQEAuICQlJSUlJSYgICAkJSUlJSUmICAuQEBAQC4iLAorIitAQEBAICAlJSUlJSAgICAkJSUlJSUmICAgIEBAQEArIiwKKyIrQEBAKyAgJSUlJSQgICAkJSUlJSUmICAkJCArQEBAKyIsCisiQEBAQCsgJCUlJSUgICAkJSUlJSUmICAkJSQgK0BAQEAiLAorIkBAQEAjICYlJSUmICAgJiUlJSUmICAkJSUmICNAQEBAIiwKKyJAQEBALiAmJSUlJiAgICUlJSUmICAkJSUlJiAuQEBAQCIsCisiQEBAQCMgJCUlJSYgICAmJSUmICAgJiUlJSQgI0BAQEAiLAorIitAQEArICQlJSUlICAgICAgICAgICUlJSUkICtAQEArIiwKKyIrQEBAQCAgJSUlJSYgICAgICAgICYlJSUlICBAQEBAKyIsCisiI0BAQEAgICYlJSUlJiAgICAgICYlJSUlJiAgQEBAQCMiLAorIiBAQEBAKyAgJSUlJSUlJiQkJiUlJSUlJSAgK0BAQEAgIiwKKyIgK0BAQEAuICQlJSUlJSUlJSUlJSUlJSQgLkBAQEArICIsCisiIC5AQEBAQCAgJCUlJSUlJSUlJSUlJSQgIEBAQEBALiAiLAorIiAgIysrKysuICAgJiUlJSUlJSUlJiAgIC4rKysrIyAgIiwKKyIgICAgICAgICAgICAkJiYlJSYmJCAgICAgICAgICAgICIsCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLAorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiwKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ9OwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9rZXhlY2Jvb3Qva2V4ZWNib290LWNmZ18wLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2tleGVjYm9vdC9rZXhlY2Jvb3QtY2ZnXzAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OWYzODcyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9rZXhlY2Jvb3Qva2V4ZWNib290LWNmZ18wLjIuYmIKQEAgLTAsMCArMSw2MCBAQAorU1VNTUFSWSA9ICJDb25maWd1cmF0aW9uIGZpbGVzIGZvciBrZXhlY2Jvb3QiCitERVNDUklQVElPTiA9ICJEZWZhdWx0IGljb24gYW5kIGJvb3QuY2ZnIGZvciBrZXhlY2Jvb3QgbGludXgtYXMtYm9vdGxvYWRlci4iCitTRUNUSU9OID0gImJhc2UiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L0xJQ0VOU0U7bWQ1PTRkOTJjZDM3M2FiZGEzOTM3YzJiYzQ3ZmJjNDlkNjkwIgorCitTUkNfVVJJID0gImZpbGU6Ly9pY29uLnhwbSIKKworUyA9ICIke1dPUktESVJ9IgorCitkb19pbnN0YWxsX3ByZXBlbmQgKCkgeworZWNobyAnIyAvYm9vdC9ib290LmNmZyAtIEtFWEVDQk9PVCBjb25maWd1cmF0aW9uIGZpbGUuCisjCisjIEZpcnN0IGtlcm5lbCBzdGFuemEuCisjIFNob3cgdGhpcyBsYWJlbCBpbiBrZXhlY2Jvb3QgbWVudS4KKyMKK0xBQkVMPSR7S0VYRUNCT09UX0xBQkVMfQorIworIyBTcGVjaWZ5IGZ1bGwga2VybmVsIHBhdGggb24gdGFyZ2V0LgorS0VSTkVMPS9ib290LyR7S0VSTkVMX0lNQUdFVFlQRX0KKyMKKyMgQXBwZW5kIHRoaXMgdGFncyB0byB0aGUga2VybmVsIGNtZGxpbmUuCitBUFBFTkQ9JHtDTURMSU5FfSAke0NNRExJTkVfREVCVUd9CisjCisjIFNwZWNpZnkgb3B0aW9uYWwgaW5pdHJkL2luaXRyYW1mcy4KKyMgSU5JVFJEPS9ib290L2luaXRyYW1mcy5jcGlvLmd6CisjCisjIFNwZWNpZnkgZnVsbCBwYXRoIGZvciBhIGN1c3RvbSBpY29uIGZvciB0aGUgbWVudS1pdGVtLgorIyBJZiBub3Qgc2V0LCB1c2UgZGV2aWNlLWljb25zIGFzIGRlZmF1bHQgKE5BTkQsIFNELCBDRiwgLi4uKS4KKyMgSUNPTj0vYm9vdC9pY29uLnhwbQorIworIyBQcmlvcml0eSBvZiBpdGVtIGluIGtleGVjYm9vdCBtZW51LgorIyBJdGVtcyB3aXRoIGhpZ2hlc3QgcHJpb3JpdHkgd2lsbCBiZSBzaG93biBhdCB0b3Agb2YgbWVudS4KKyMgRGVmYXVsdDogMCAobG93ZXN0LCBvcmRlcmVkIGJ5IGRldmljZSBvcmRlcmluZykKKyMgUFJJT1JJVFk9MTAKKyMKKyMKKyMgU2Vjb25kIGtlcm5lbCBzdGFuemEuCisjIExBQkVMPSR7S0VYRUNCT09UX0xBQkVMfS10ZXN0CisjIEtFUk5FTD0vYm9vdC8ke0tFUk5FTF9JTUFHRVRZUEV9LXRlc3QKKyMgQVBQRU5EPSR7Q01ETElORX0KKyMnID4gJHtTfS9ib290LmNmZworfQorZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9L2Jvb3QKKyAgICBpbnN0YWxsIC1tIDA2NDQgYm9vdC5jZmcgJHtEfS9ib290L2Jvb3QuY2ZnCisgICAgaW5zdGFsbCAtbSAwNjQ0IGljb24ueHBtICR7RH0vYm9vdC9pY29uLnhwbQorfQorCitQQUNLQUdFX0FSQ0ggPSAiJHtNQUNISU5FX0FSQ0h9IgorCitGSUxFU18ke1BOfSArPSAiL2Jvb3QvKiIKKworQ01ETElORSA/PSAiIgorQ01ETElORV9ERUJVRyA/PSAicXVpZXQiCisKK0lOSElCSVRfREVGQVVMVF9ERVBTID0gIjEiCisKKyMgTm90ZTogZm9yIHF2Z2EgdGhlIGxhYmVsIGlzIGN1cnJlbnRseSBsaW1pdGVkIHRvIGFib3V0IDI0IGNoYXJzCitLRVhFQ0JPT1RfTEFCRUwgPz0gIiR7QGQuZ2V0VmFyKCdESVNUUk8nLCBUcnVlKSBvciBkLmdldFZhcignRElTVFJPX1ZFUlNJT04nLCBUcnVlKX0tJHtNQUNISU5FfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3Ava2V4ZWNib290L2tleGVjYm9vdF8wLjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2tleGVjYm9vdC9rZXhlY2Jvb3RfMC42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1MDk1ZjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2tleGVjYm9vdC9rZXhlY2Jvb3RfMC42LmJiCkBAIC0wLDAgKzEsNzUgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBDb25maWd1cmUgb3B0aW9uczoKKyMKKyMgIC0tZW5hYmxlLXN0YXRpYy1saW5raW5nIGNvbXBpbGUga2V4ZWNib290IGFzIHN0YXRpYyBleGVjdXRhYmxlIFtkZWZhdWx0PW5vXQorIyAgLS1lbmFibGUtZmJ1aSAgICAgICAgICAgc3VwcG9ydCBmcmFtZWJ1ZmZlciBtZW51IFtkZWZhdWx0PXllc10KKyMgIC0tZW5hYmxlLWZidWktd2lkdGggICAgIGxpbWl0IEZCIFVJIHdpZHRoIHRvIHNwZWNpZmllZCB2YWx1ZSBbZGVmYXVsdD1ub10KKyMgIC0tZW5hYmxlLWZidWktaGVpZ2h0ICAgIGxpbWl0IEZCIFVJIGhlaWdodCB0byBzcGVjaWZpZWQgdmFsdWUgW2RlZmF1bHQ9bm9dCisjICAtLWVuYWJsZS10ZXh0dWkgICAgICAgICBzdXBwb3J0IGNvbnNvbGUgdGV4dCB1c2VyIGludGVyZmFjZSBbZGVmYXVsdD1ub10KKyMgIC0tZW5hYmxlLWNmZ2ZpbGVzICAgICAgIHN1cHBvcnQgY29uZmlnIGZpbGVzIFtkZWZhdWx0PXllc10KKyMgIC0tZW5hYmxlLWljb25zICAgICAgICAgIHN1cHBvcnQgY3VzdG9tIGljb25zIChkZXBlbmRzIG9uIGZidWkpIFtkZWZhdWx0PXllc10KKyMgIC0tZW5hYmxlLXphdXJ1cyAgICAgICAgIGNvbXBpbGUgU2hhcnAgWmF1cnVzIHNwZWNpZmljIGNvZGUgW2RlZmF1bHQ9bm9dCisjICAtLWVuYWJsZS16aW1hZ2UgICAgICAgICBjb21waWxlIHdpdGggekltYWdlIHN1cHBvcnQgW2RlZmF1bHQ9eWVzXQorIyAgLS1lbmFibGUtdWltYWdlICAgICAgICAgY29tcGlsZSB3aXRoIHVJbWFnZSBzdXBwb3J0IFtkZWZhdWx0PW5vXQorIyAgLS1lbmFibGUtbWFjaGluZS1rZXJuZWwgbG9vayBmb3IgbWFjaGluZS1zcGVjaWZpYyB6SW1hZ2Uga2VybmVsIFtkZWZhdWx0PW5vXQorIyAgLS1lbmFibGUtZGV2aWNlcy1yZWNyZWF0aW5nCisjICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGUgZGV2aWNlcyByZS1jcmVhdGluZyBbZGVmYXVsdD15ZXNdCisjICAtLWVuYWJsZS1kZWJ1ZyAgICAgICAgICBlbmFibGUgZGVidWcgb3V0cHV0IFtkZWZhdWx0PW5vXQorIyAgLS1lbmFibGUtaG9zdC1kZWJ1ZyAgICAgYWxsb3cgZm9yIG5vbi1kZXN0cnVjdGl2ZSBleGVjdXRpbmcgb2Yga2V4ZWNib290IG9uCisjICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvc3Qgc3lzdGVtIFtkZWZhdWx0PW5vXQorIyAgLS1lbmFibGUtbnVta2V5cyAgICAgICAgZW5hYmxlIG1lbnUgaXRlbSBzZWxlY3Rpb24gYnkga2V5cyBbMC05XSBbZGVmYXVsdD15ZXNdCisjICAtLWVuYWJsZS1iZy1idWZmZXIgICAgICBlbmFibGUgYnVmZmVyIGZvciBwcmUtZHJhd2VkIEZCIEdVSSBiYWNrZ3JvdW5kCisjCisjICAtLWVuYWJsZS10aW1lb3V0ICAgICAgICBhbGxvdyB0byBib290IDFzdCBrZXJuZWwgYWZ0ZXIgdGltZW91dCBpbiBzZWNvbmRzCisjICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0PW5vXQorIyAgLS1lbmFibGUtZGVsYXkgICAgICAgICAgc3BlY2lmeSBkZWxheSBiZWZvcmUgZGV2aWNlIHNjYW5uaW5nLCBhbGxvd2luZworIyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsaXphdGlvbiBvZiBvbGQgQ0YvU0QgY2FyZHMgW2RlZmF1bHQ9MV0KKyMgIC0tZW5hYmxlLWJwcCAgICAgICAgICAgIGVuYWJsZSBzdXBwb3J0IG9mIHNwZWNpZmllZCBicHAgbW9kZXMKKyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFsbCwzMiwyNCwxOCwxNiw0LDIsMSkgW2RlZmF1bHQ9YWxsXQorIyAgLS1lbmFibGUtZXZkZXYtcmF0ZSAgICAgY2hhbmdlIGV2ZGV2IChrZXlib2FyZC9tb3VzZSkgcmVwZWF0IHJhdGUKKyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gbWlsbGlzZWNvbmRzIGUuZy4gIjEwMDAsMjUwIiBbZGVmYXVsdD1ub10KKyMgIC0td2l0aC1rZXhlYy1iaW5hcnkgICAgIGxvb2sgZm9yIGtleGVjIGJpbmFyeSBhdCBwYXRoCisjICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0PSIvdXNyL3NiaW4va2V4ZWMiXQorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK1NVTU1BUlkgPSAia2V4ZWNib290IGxpbnV4LWFzLWJvb3Rsb2FkZXIiCitERVNDUklQVElPTiA9ICJrZXhlY2Jvb3QgaXMgYSBncmFwaGljYWwgbGludXgtYXMtYm9vdGxvYWRlciBpbXBsZW1lbnRhdGlvbiBiYXNlZCBvbiBrZXhlYy4iCitIT01FUEFHRSA9ICJodHRwOi8va2V4ZWNib290Lm9yZyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworUyA9ICIke1dPUktESVJ9L2tleGVjYm9vdC0ke1BWfSIKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2tleGVjYm9vdC9rZXhlY2Jvb3QvYXJjaGl2ZS92JHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjQ2YjdjMWE2ZjIwNTMxYmU1NjQ0NWViYjg2NjlhMmI4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZiMzYwYjhhYTU5YmM1ZDY4YTk2NzA1MzQ5YTBkZDQxNmY4ZWQ3MDRlOTMxZmEwYWM3ODQ5Mjk4MjU4ZjBmMTUiCisKK1NSQ19VUkkgKz0gIlwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWtleGVjYm9vdC1maXgtYnVpbGQtd2hlbi1TLUIucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDIta2V4ZWNib290LWZpeC1jb25maWd1cmUtd2FybmluZ3MucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDMta2V4ZWNib290LWRvLW5vdC1oYXJkY29kZS1NT1VOVFBPSU5ULnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDA0LWtleGVjYm9vdC5jLXdvcmthcm91bmQtZm9yLWFic29sdXRlLWtlcm5lbC1hbmQtaW5pdHIucGF0Y2ggXAorICAgICAgICAgICAgXAorICAgICAgICAgICAgZmlsZTovLzAwMDUtcmdiLmgtZml4LWJ1aWxkLXdpdGgtZ2NjNS5wYXRjaCBcCisgICAgICAgICAgICAiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0VYVFJBX09FQ09ORiA9ICItLWVuYWJsZS10ZXh0dWkgLS1lbmFibGUtZGVsYXk9MiAtLWVuYWJsZS1ldmRldi1yYXRlPTEwMDAsMjUwIgorCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUga2V4ZWNib290ICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0vcHJvYworICAgIGluc3RhbGwgLWQgJHtEfS9tbnQKKyAgICBpbnN0YWxsIC1kICR7RH0vZGV2CisgICAgaW5zdGFsbCAtZCAke0R9L3N5cworfQorCitQQUNLQUdFX0FSQ0ggPSAiJHtNQUNISU5FX0FSQ0h9IgorCitGSUxFU18ke1BOfSArPSAiICR7YmluZGlyfS9rZXhlY2Jvb3QgL2luaXQgL3Byb2MgL21udCAvZGV2IC9zeXMiCisKK3BrZ19wb3N0aW5zdF8ke1BOfSAoKSB7CisgICAgbG4gLXNmICR7YmluZGlyfS9rZXhlY2Jvb3QgJEQvaW5pdAorfQorCitCQkNMQVNTRVhURU5EID0gImtsaWJjIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2RyYWN1dC9kcmFjdXRfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2RyYWN1dC9kcmFjdXRfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5NzgyNjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMvZHJhY3V0L2RyYWN1dF9naXQuYmIKQEAgLTAsMCArMSw2MSBAQAorU1VNTUFSWSA9ICJJbml0cmFtZnMgZ2VuZXJhdG9yIHVzaW5nIHVkZXYiCitERVNDUklQVElPTiA9ICJEcmFjdXQgaXMgYW4gZXZlbnQgZHJpdmVuIGluaXRyYW1mcyBpbmZyYXN0cnVjdHVyZS4gZHJhY3V0ICh0aGUgdG9vbCkgaXMgdXNlZCB0byBjcmVhdGUgYW4gaW5pdHJhbWZzIGltYWdlIGJ5IGNvcHlpbmcgdG9vbHMgYW5kIGZpbGVzIGZyb20gYW4gaW5zdGFsbGVkIHN5c3RlbSBhbmQgY29tYmluaW5nIGl0IHdpdGggdGhlIGRyYWN1dCBmcmFtZXdvcmssIHVzdWFsbHkgZm91bmQgaW4gL3Vzci9saWIvZHJhY3V0L21vZHVsZXMuZC4iCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworUEUgPSAiMSIKK1BWID0gIjA0NCtnaXQke1NSQ1JFVn0iCisKKyMgdjA0NCB0YWcKK1NSQ1JFViA9ICIxYmMzZTczM2Y5NjAzM2E1MDg4NDFlOTdmZTA4ZGE3YTEyODUxNzgyIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2Jvb3QvZHJhY3V0L2RyYWN1dC5naXQ7cHJvdG9jb2w9aHR0cCIKKworaW5oZXJpdCBiYXNoLWNvbXBsZXRpb24KKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworRVhUUkFfT0VDT05GID0gIi0tcHJlZml4PSR7cHJlZml4fSBcCisgICAgICAgICAgICAgICAgLS1saWJkaXI9JHtwcmVmaXh9L2xpYiBcCisgICAgICAgICAgICAgICAgLS1kYXRhZGlyPSR7ZGF0YWRpcn0gXAorICAgICAgICAgICAgICAgIC0tc3lzY29uZmRpcj0ke3N5c2NvbmZkaXJ9IFwKKyAgICAgICAgICAgICAgICAtLXNiaW5kaXI9JHtzYmluZGlyfSBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWRvY3VtZW50YXRpb24gXAorICAgICAgICAgICAgICAgIC0tYmluZGlyPSR7YmluZGlyfSBcCisgICAgICAgICAgICAgICAgLS1pbmNsdWRlZGlyPSR7aW5jbHVkZWRpcn0gXAorICAgICAgICAgICAgICAgIC0tbG9jYWxzdGF0ZWRpcj0ke2xvY2Fsc3RhdGVkaXJ9IFwKKyAgICAgICAgICAgICAgICIKKworIyBSREVQRU5EIG9uIHN5c3RlbWQgb3B0aW9uYWxseQorUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICdzeXN0ZW1kJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vLCwsc3lzdGVtZCIKKworRVhUUkFfT0VNQUtFICs9ICdsaWJkaXI9JHtwcmVmaXh9L2xpYicKKworZG9fY29uZmlndXJlKCkgeworICAgIC4vY29uZmlndXJlICR7RVhUUkFfT0VDT05GfQorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KKyAgICAjIEl0cyBNYWtlZmlsZSB1c2VzIGNwIC1hcnggdG8gaW5zdGFsbCBtb2R1bGVzLmQsIHNvIGZpeCB0aGUgb3duZXIKKyAgICAjIHRvIHJvb3Q6cm9vdAorICAgIGNob3duIC1SIHJvb3Q6cm9vdCAke0R9LyR7cHJlZml4fS9saWIvZHJhY3V0L21vZHVsZXMuZAorfQorCitGSUxFU18ke1BOfSArPSAiJHtwcmVmaXh9L2xpYi9rZXJuZWwgXAorICAgICAgICAgICAgICAgICR7cHJlZml4fS9saWIvZHJhY3V0IFwKKyAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0gXAorICAgICAgICAgICAgICAgIgorRklMRVNfJHtQTn0tZGJnICs9ICIke3ByZWZpeH0vbGliL2RyYWN1dC8uZGVidWciCisKK0NPTkZGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfS9kcmFjdXQuY29uZiIKKworUkRFUEVORFNfJHtQTn0gPSAiZmluZHV0aWxzIGNwaW8gdXRpbC1saW51eC1ibGtpZCB1dGlsLWxpbnV4LWdldG9wdCB1dGlsLWxpbnV4IGJhc2ggbGRkIgorCisjIFRoaXMgY291bGQgYmUgb3B0aW1pemVkIGEgYml0LCBidXQgbGV0J3MgYXZvaWQgbm9uLWJvb3Rpbmcgc3lzdGVtcyA6KQorUlJFQ09NTUVORFNfJHtQTn0gPSAiIFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGVzIFwKKyAgICAgICAgICAgICAgICAgICAgIGJ1c3lib3ggXAorICAgICAgICAgICAgICAgICAgICAgY29yZXV0aWxzIFwgCisgICAgICAgICAgICAgICAgICAgICIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGNjLWNyb3NzXzIuMC40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsY2MtY3Jvc3NfMi4wLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmY0YWZjZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGNjLWNyb3NzXzIuMC40LmJiCkBAIC0wLDAgKzEsNDAgQEAKK1NVTU1BUlkgPSAiVGhlIGtsY2MgY3Jvc3Njb21waWxlciBmb3Iga2xpYmMiCisKK3JlcXVpcmUga2xpYmMuaW5jCitERVBFTkRTID0gImtsaWJjIgorCitGSUxFU1BBVEggPS4gIiR7RklMRV9ESVJOQU1FfS9rbGliYy0ke1BWfToiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly91c2UtZW52LWZvci1wZXJsLnBhdGNoIgorCisjIGRpc2FibGUgdGFzayBhbHJlYWR5IHJ1biBpbiBrbGliYyByZWNpcGUKK2RvX2NvbmZpZ3VyZVtub2V4ZWNdID0gIjEiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSAnSU5TVEFMTERJUj0ke1NUQUdJTkdfRElSX1RBUkdFVH0ke2xpYmRpcn0va2xpYmMnIGtsY2MKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9LworICAgIGluc3RhbGwgLW0gMDc1NSBrbGNjL2tsY2MgJHtEfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vJHtUQVJHRVRfUFJFRklYfWtsY2MKKyAgICAjIEluc2VydCBhbiB1bmVuY29kZWQgcGF0aCBhcyBhIGNvbW1lbnQgdG8gdHJpZ2dlciB0aGUgc3N0YXRlIHJlbmFtaW5nIGZ1bmN0aW9ucworICAgIHNlZCAtaSAnMmkgIyR7U1RBR0lOR19ESVJfVEFSR0VUfScgJHtEfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vJHtUQVJHRVRfUFJFRklYfWtsY2MKK30KKworU1lTUk9PVF9QUkVQUk9DRVNTX0ZVTkNTICs9ICJrbGNjX3N5c3Jvb3RfcHJlcHJvY2VzcyIKKwora2xjY19zeXNyb290X3ByZXByb2Nlc3MgKCkgeworICAgICAgIHN5c3Jvb3Rfc3RhZ2VfZGlyICR7RH0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9ICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30KK30KKworZGVsdGFzayBkb19wYWNrYWdlCitkZWx0YXNrIGRvX3BhY2thZ2VkYXRhCitkZWx0YXNrIGRvX3BhY2thZ2Vfd3JpdGVfaXBrCitkZWx0YXNrIGRvX3BhY2thZ2Vfd3JpdGVfcnBtCitkZWx0YXNrIGRvX3BhY2thZ2Vfd3JpdGVfZGViCitkZWx0YXNrIGRvX3BhY2thZ2Vfd3JpdGVfdGFyCisKK1NTVEFURV9TQ0FOX0ZJTEVTID0gIioiCitFWFRSQV9TVEFHSU5HX0ZJWE1FUyA9ICJNQU5HTEVEU1RBR0lOR0RJUlRBUkdFVCBNQU5HTEVEU1RBR0lOR0RJUiIKK01BTkdMRURTVEFHSU5HRElSID0gIiR7QGQuZ2V0VmFyKCJTVEFHSU5HX0RJUiIsIFRydWUpLnJlcGxhY2UoIi8iLCAiXFxcXC8iKS5yZXBsYWNlKCItIiwgIlxcXFwtIil9IgorTUFOR0xFRFNUQUdJTkdESVJUQVJHRVQgPSAiJHtAZC5nZXRWYXIoIlNUQUdJTkdfRElSX1RBUkdFVCIsIFRydWUpLnJlcGxhY2UoIi8iLCAiXFxcXC8iKS5yZXBsYWNlKCItIiwgIlxcXFwtIil9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40L2FybXY0LWZpeC12NGJ4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40L2FybXY0LWZpeC12NGJ4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiYjM4NGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvYXJtdjQtZml4LXY0YngucGF0Y2gKQEAgLTAsMCArMSwxNSBAQAorU3RhdHVzOiBub3QgYXBwbGljYWJsZSB1cHN0cmVhbSwgaW4gT0UvWW9jdG8gd2UgdXNlICQoRklYX1Y0QlgpCit3aGljaCBpcyAiIiBpbiBjYXNlIG9mIGFybXY1IG9yIHRodW1icy4KKworU2lnbmVkLW9mZi1ieTogQW5kcmVhIEFkYW1pIDxhbmRyZWEuYWRhbWlAZ21haWwuY29tPgorCistLS0gYS91c3Iva2xpYmMvYXJjaC9hcm0vTUNPTkZJRwkyMDEzLTAxLTA5IDAxOjEyOjAyLjAwMDAwMDAwMCArMDEwMAorKysrIGIvdXNyL2tsaWJjL2FyY2gvYXJtL01DT05GSUcJMjAxMy0wMS0wOCAyMzo0NTo1OS4wMDAwMDAwMDAgKzAxMDAKK0BAIC0yOSw2ICsyOSw3IEBACisgS0xJQkNTSEFSRURGTEFHUyA9IC1UdGV4dCAweDAxODAwMjAwCisgaWZlcSAoJChDT05GSUdfQUVBQkkpLHkpCisgS0xJQkNSRVFGTEFHUyArPSAtbWFiaT1hYXBjcy1saW51eCAtbW5vLXRodW1iLWludGVyd29yaworK0tMSUJDTERGTEFHUyArPSAkKEZJWF9BUk1WNF9FQUJJX0JYKQorIGVsc2UKKyBLTElCQ1JFUUZMQUdTICs9IC1tYWJpPWFwY3MtZ251IC1tbm8tdGh1bWItaW50ZXJ3b3JrCisgZW5kaWYKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC9rbGNjLWNvbnNpZGVyLXN5c3Jvb3QucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQva2xjYy1jb25zaWRlci1zeXNyb290LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliYzQ4MzUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQva2xjYy1jb25zaWRlci1zeXNyb290LnBhdGNoCkBAIC0wLDAgKzEsMTQgQEAKK2RpZmYgLS1naXQgYS9rbGNjL2tsY2MuaW4gYi9rbGNjL2tsY2MuaW4KK2luZGV4IDQzZDA5ODQuLjYxZTkzODUgMTAwNjQ0CistLS0gYS9rbGNjL2tsY2MuaW4KKysrKyBiL2tsY2Mva2xjYy5pbgorQEAgLTIwNCw2ICsyMDQsOSBAQCB3aGlsZSAoIGRlZmluZWQoJGEgPSBzaGlmdChAQVJHVikpICkgeworIAkjIExpYnJhcmllcworIAlwdXNoKEBsaWJzLCAkYSk7CisgCXB1c2goQGxpYnMsIHNoaWZ0KEBBUkdWKSkgaWYgKCAkMiBlcSAnJyApOworKyAgICB9IGVsc2lmICggJGEgPX4gL14tLShbc3lzcm9vdD1dKSguKikkLyApIHsKKysJIyBPdmVycmlkZSBnY2MgZW5jb2RlZCBzeXNyb290CisrCXB1c2goQGNjb3B0LCAkYSk7CisgICAgIH0gZWxzZSB7CisgCWRpZSAiJDA6IHVua25vd24gb3B0aW9uOiAkYVxuIjsKKyAgICAgfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40L2tsaWJjLWNvbmZpZy1lYWJpLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40L2tsaWJjLWNvbmZpZy1lYWJpLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxNmM4MGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQva2xpYmMtY29uZmlnLWVhYmkucGF0Y2gKQEAgLTAsMCArMSwxNCBAQAorUGF0Y2ggd2FzIGltcG9ydGVkIGZyb20gdGhlIE9wZW5FbWJlZGRlZCBnaXQgc2VydmVyCisoZ2l0Oi8vZ2l0Lm9wZW5lbWJlZGRlZC5vcmcvb3BlbmVtYmVkZGVkKQorYXMgb2YgY29tbWl0IGlkIGI2NzY0Y2YzMmVjOTM1NDc1MzExMzBkY2EzNjRmYjk1ZTFjNDk1ZjQKK1NpZ25lZC1vZmYtYnk6IFRob21hcyBLdW56ZSA8dGhvbW15Y2hlY2tAZ214LmRlPgorCitkaWZmIC1OdXIga2xpYmMtMS41L2RlZmNvbmZpZyBrbGliYy0xLjVwL2RlZmNvbmZpZworLS0tIGtsaWJjLTEuNS9kZWZjb25maWcJMjAwNy0wMy0wNCAwMjo1MjoxMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBrbGliYy0xLjVwL2RlZmNvbmZpZwkyMDA4LTAyLTA4IDE5OjI0OjIyLjMzNzEyNzc1NiArMDEwMAorQEAgLTUsNCArNSw0IEBACisgQ09ORklHX1JFR1BBUk09eQorICMgQVJNIG9wdGlvbnMKKyAjIENPTkZJR19LTElCQ19USFVNQiBpcyBub3Qgc2V0CistIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAorK0NPTkZJR19BRUFCST15CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQva2xpYmMtbGludXgtbGliYy1kZXYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQva2xpYmMtbGludXgtbGliYy1kZXYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjA0MzA2NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC9rbGliYy1saW51eC1saWJjLWRldi5wYXRjaApAQCAtMCwwICsxLDIyIEBACitjb21taXQgNDNhZGY2OTA2MjI1NGZiNGY4ZDRkMTFmYjVmZTM2YTYwYWUyNWQ1YQorQXV0aG9yOiBCZW4gSHV0Y2hpbmdzIDxiZW5AZGVjYWRlbnQub3JnLnVrPgorRGF0ZTogICBTdW4gTWFyIDE0IDE4OjQxOjU2IDIwMTAgKzAwMDAKKworICAgIFRha2VuIGZyb20gZGViaWFuICJGaXgga2xpYmMgRGViaWFuIHNwZWNpZmljIGJ1aWxkIHRyb3VibGUiCisgICAgQWRhcHRlZCBmb3Iga2xpYmNfMi4wLjIKKworSW5kZXg6IGtsaWJjLTIuMH5yYzIvc2NyaXB0cy9LYnVpbGQuaW5zdGFsbAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGtsaWJjLTIuMH5yYzIub3JpZy9zY3JpcHRzL0tidWlsZC5pbnN0YWxsCTIwMTItMDItMTEgMTg6NTA6MjEuMDAwMDAwMDAwICswMDAwCisrKysga2xpYmMtMi4wfnJjMi9zY3JpcHRzL0tidWlsZC5pbnN0YWxsCTIwMTItMDItMTEgMTk6MDQ6NTIuMDAwMDAwMDAwICswMDAwCitAQCAtOTUsNyArOTUsOSBAQAorIAkkKFEpbWtkaXIgLXAgJChJTlNUQUxMUk9PVCkkKElOU1RBTExESVIpLyQoS0NST1NTKWluY2x1ZGUKKyAJJChRKW1rZGlyIC1wICQoSU5TVEFMTFJPT1QpJChJTlNUQUxMRElSKS8kKEtDUk9TUylsaWIKKyAJJChRKW1rZGlyIC1wICQoSU5TVEFMTFJPT1QpJChJTlNUQUxMRElSKS8kKEtDUk9TUyliaW4KKy0JJChRKSQoTUFLRSkgLUMgJChLTElCQ0tFUk5FTFNSQykgQVJDSD0kKEtMSUJDQVJDSCkgSU5TVEFMTF9IRFJfUEFUSD0kKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpIGhlYWRlcnNfaW5zdGFsbAorKwkkKFEpZm9yIHggaW4gLi4vLi4vLi4vaW5jbHVkZS9hc20gLi4vLi4vLi4vaW5jbHVkZS9hc20tZ2VuZXJpYyAuLi8uLi8uLi9pbmNsdWRlL2xpbnV4IC4uLy4uLy4uL2luY2x1ZGUvbXRkOyBkbyBcCisrCQlsbiAtc2YgJCR7eH0gJChJTlNUQUxMUk9PVCkkKElOU1RBTExESVIpLyQoS0NST1NTKWluY2x1ZGUvIHx8IGV4aXQ7IFwKKysJZG9uZQorIAkkKFEpY3AgLXJmIHVzci9pbmNsdWRlLy4gJChJTlNUQUxMUk9PVCkkKElOU1RBTExESVIpLyQoS0NST1NTKWluY2x1ZGUvLgorIAkkKFEpY2htb2QgLVIgYStyWCAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpaW5jbHVkZQorIAkkKFEpJChpbnN0YWxsLWRhdGEpICQoc3JjdHJlZSkva2xjYy9rbGNjLjEgJChJTlNUQUxMUk9PVCkkKG1hbmRpcikvbWFuMS8kKEtDUk9TUylrbGNjLjEKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC9zdGFnaW5nLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40L3N0YWdpbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzAxYzcxMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC9zdGFnaW5nLnBhdGNoCkBAIC0wLDAgKzEsMTQ0IEBACitQYXRjaCB3YXMgaW1wb3J0ZWQgZnJvbSB0aGUgT3BlbkVtYmVkZGVkIGdpdCBzZXJ2ZXIKKyhnaXQ6Ly9naXQub3BlbmVtYmVkZGVkLm9yZy9vcGVuZW1iZWRkZWQpCithcyBvZiBjb21taXQgaWQgZWVmYjk5YTMxM2JiY2M4ZjM0YzhiMzJiZjBjNWFhMmRkMjU4MDczNQorU2lnbmVkLW9mZi1ieTogVGhvbWFzIEt1bnplIDx0aG9tbXljaGVja0BnbXguZGU+CisKK01pbm9yIGVkaXRzIGZvbGxvd2luZyB1cHN0cmVhbSBjaGFuZ2VzCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWEgQWRhbWkgPGFuZHJlYS5hZGFtaUBnbWFpbC5jb20+CisKK0luZGV4OiBrbGliYy0xLjUuMjQvc2NyaXB0cy9LYnVpbGQuaW5zdGFsbAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvc2NyaXB0cy9LYnVpbGQuaW5zdGFsbAkyMDExLTA3LTI3IDE1OjUwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGIvc2NyaXB0cy9LYnVpbGQuaW5zdGFsbAkyMDExLTA4LTAxIDAwOjAzOjAzLjAwMDAwMDAwMCArMDIwMAorQEAgLTg4LDEzICs4OCwxMCBAQAorIGhlYWRlcjoKKyAJJChRKWVjaG8gIiAgSU5TVEFMTCBoZWFkZXJzICsgbWFuIHBhZ2VzIHRvICQoSU5TVEFMTFJPT1QpJChJTlNUQUxMRElSKSIKKyAJJChRKW1rZGlyIC1wICQoSU5TVEFMTFJPT1QpJChiaW5kaXIpCistCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQobWFuZGlyKS9tYW4xCistCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQoU0hMSUJESVIpCisgCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikKKyAJJChRKS1ybSAtcmYgJChJTlNUQUxMUk9PVCkkKElOU1RBTExESVIpLyQoS0NST1NTKWluY2x1ZGUKKyAJJChRKW1rZGlyIC1wICQoSU5TVEFMTFJPT1QpJChJTlNUQUxMRElSKS8kKEtDUk9TUylpbmNsdWRlCisgCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpbGliCistCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpYmluCisgCSQoUSlmb3IgeCBpbiAuLi8uLi8uLi9pbmNsdWRlL2FzbSAuLi8uLi8uLi9pbmNsdWRlL2FzbS1nZW5lcmljIC4uLy4uLy4uL2luY2x1ZGUvbGludXggLi4vLi4vLi4vaW5jbHVkZS9tdGQ7IGRvIFwKKyAJCWxuIC1zZiAkJHt4fSAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpaW5jbHVkZS8gfHwgZXhpdDsgXAorIAlkb25lCitAQCAtMTAzLDcgKzEwMCw2IEBACisgCWRvbmUKKyAJJChRKWNwIC1yZiB1c3IvaW5jbHVkZS8uICQoSU5TVEFMTFJPT1QpJChJTlNUQUxMRElSKS8kKEtDUk9TUylpbmNsdWRlLy4KKyAJJChRKWNobW9kIC1SIGErclgsZ28tdyAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpaW5jbHVkZQorLQkkKFEpJChpbnN0YWxsLWRhdGEpICQoc3JjdHJlZSkva2xjYy9rbGNjLjEgJChJTlNUQUxMUk9PVCkkKG1hbmRpcikvbWFuMS8kKEtDUk9TUylrbGNjLjEKKyAJJChRKSQoaW5zdGFsbC1iaW4pICQob2JqdHJlZSkva2xjYy8kKEtDUk9TUylrbGNjICQoSU5TVEFMTFJPT1QpJChiaW5kaXIpCisgCisgZm9vdGVyOiBoZWFkZXIKKworSW5kZXg6IGtsaWJjLTEuNS4yNC91c3IvZGFzaC9LYnVpbGQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL3Vzci9kYXNoL0tidWlsZAkyMDExLTA3LTI3IDE1OjUwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGIvdXNyL2Rhc2gvS2J1aWxkCTIwMTEtMDgtMDEgMDA6MDc6NTYuMDAwMDAwMDAwICswMjAwCitAQCAtOTIsNSArOTIsMyBAQAorICQob2JqKS9zeW50YXguaDogJChvYmopL3N5bnRheC5jCisgCSQoUSk6CisgCistIyBUYXJnZXRzIHRvIGluc3RhbGwKKy1pbnN0YWxsLXkgOj0gc2guc2hhcmVkCisKK0luZGV4OiBrbGliYy0xLjUuMjQvdXNyL2d6aXAvS2J1aWxkCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYS91c3IvZ3ppcC9LYnVpbGQJMjAxMS0wNy0yNyAxNTo1MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBiL3Vzci9nemlwL0tidWlsZAkyMDExLTA4LTAxIDAwOjA2OjM5LjAwMDAwMDAwMCArMDIwMAorQEAgLTIxLDUgKzIxLDMgQEAKKyAjIENsZWFuaW5nCisgdGFyZ2V0cyA6PSBnemlwIGd6aXAuZyBndW56aXAgemNhdAorIAorLSMgVGFyZ2V0cyB0byBpbnN0YWxsCistaW5zdGFsbC15IDo9IGd6aXAgZ3VuemlwIHpjYXQKKworSW5kZXg6IGtsaWJjLTEuNS4yNC91c3Iva2luaXQvZnN0eXBlL0tidWlsZAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvdXNyL2tpbml0L2ZzdHlwZS9LYnVpbGQJMjAxMS0wNy0yNyAxNTo1MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBiL3Vzci9raW5pdC9mc3R5cGUvS2J1aWxkCTIwMTEtMDgtMDEgMDA6MDk6MTIuMDAwMDAwMDAwICswMjAwCitAQCAtMjEsNSArMjEsMyBAQAorICMgQ2xlYW5pbmcKKyBjbGVhbi1kaXJzIDo9IHN0YXRpYyBzaGFyZWQKKyAKKy0jIGluc3RhbGwgYmluYXJ5CistaW5zdGFsbC15IDo9ICQoc2hhcmVkLXkpCisKK0luZGV4OiBrbGliYy0xLjUuMjQvdXNyL2tpbml0L2lwY29uZmlnL0tidWlsZAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvdXNyL2tpbml0L2lwY29uZmlnL0tidWlsZAkyMDExLTA3LTI3IDE1OjUwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGIvdXNyL2tpbml0L2lwY29uZmlnL0tidWlsZAkyMDExLTA4LTAxIDAwOjEwOjUyLjAwMDAwMDAwMCArMDIwMAorQEAgLTI3LDUgKzI3LDMgQEAKKyAjIENsZWFuaW5nCisgY2xlYW4tZGlycyA6PSBzdGF0aWMgc2hhcmVkCisgCistIyBpbnN0YWxsIGJpbmFyeQorLWluc3RhbGwteSA6PSAkKHNoYXJlZC15KQorCitJbmRleDoga2xpYmMtMS41LjI0L3Vzci9raW5pdC9LYnVpbGQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL3Vzci9raW5pdC9LYnVpbGQJMjAxMS0wNy0yNyAxNTo1MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBiL3Vzci9raW5pdC9LYnVpbGQJMjAxMS0wOC0wMSAwMDoyMDoxOC4wMDAwMDAwMDAgKzAyMDAKK0BAIC0zMyw1ICszMywzIEBACisgc3ViZGlyLSA6PSBmc3R5cGUgaXBjb25maWcgbmZzbW91bnQgcmVzdW1lIHJ1bi1pbml0CisgCisgCistIyBpbnN0YWxsIGJpbmFyeQorLWluc3RhbGwteSA6PSBraW5pdCBraW5pdC5zaGFyZWQKKworSW5kZXg6IGtsaWJjLTEuNS4yNC91c3Iva2luaXQvbmZzbW91bnQvS2J1aWxkCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYS91c3Iva2luaXQvbmZzbW91bnQvS2J1aWxkCTIwMTEtMDctMjcgMTU6NTA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgYi91c3Iva2luaXQvbmZzbW91bnQvS2J1aWxkCTIwMTEtMDgtMDEgMDA6MTI6NTIuMDAwMDAwMDAwICswMjAwCitAQCAtMjMsNSArMjMsMyBAQAorIAorIGNsZWFuLWRpcnMgOj0gc3RhdGljIHNoYXJlZAorIAorLSMgSW5zdGFsbCBiaW5hcnkKKy1pbnN0YWxsLXkgOj0gJChzaGFyZWQteSkKKworSW5kZXg6IGtsaWJjLTEuNS4yNC91c3Iva2luaXQvcmVzdW1lL0tidWlsZAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvdXNyL2tpbml0L3Jlc3VtZS9LYnVpbGQJMjAxMS0wNy0yNyAxNTo1MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBiL3Vzci9raW5pdC9yZXN1bWUvS2J1aWxkCTIwMTEtMDgtMDEgMDA6MTM6NTEuMDAwMDAwMDAwICswMjAwCitAQCAtMjYsNSArMjYsMyBAQAorICMgQ2xlYW5pbmcKKyBjbGVhbi1kaXJzIDo9IHN0YXRpYyBzaGFyZWQKKyAKKy0jIGluc3RhbGwgYmluYXJ5CistaW5zdGFsbC15IDo9ICQoc2hhcmVkLXkpCisKK0luZGV4OiBrbGliYy0xLjUuMjQvdXNyL2tpbml0L3J1bi1pbml0L0tidWlsZAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvdXNyL2tpbml0L3J1bi1pbml0L0tidWlsZAkyMDExLTA3LTI3IDE1OjUwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGIvdXNyL2tpbml0L3J1bi1pbml0L0tidWlsZAkyMDExLTA4LTAxIDAwOjE0OjQxLjAwMDAwMDAwMCArMDIwMAorQEAgLTI1LDUgKzI1LDMgQEAKKyAjIENsZWFuaW5nCisgY2xlYW4tZGlycyA6PSBzdGF0aWMgc2hhcmVkCisgCistIyBpbnN0YWxsIGJpbmFyeQorLWluc3RhbGwteSA6PSAkKHNoYXJlZC15KQorCitJbmRleDoga2xpYmMtMS41LjI0L3Vzci9rbGliYy9LYnVpbGQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL3Vzci9rbGliYy9LYnVpbGQJMjAxMS0wNy0yNyAxNTo1MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBiL3Vzci9rbGliYy9LYnVpbGQJMjAxMS0wOC0wMSAwMDoxODoxMS4wMDAwMDAwMDAgKzAyMDAKK0BAIC0xNzcsNSArMTc3LDMgQEAKKyAJICAgICAgICAgICQoSU5TVEFMTFJPT1QpJChJTlNUQUxMRElSKS8kKEtMSUJDQ1JPU1MpbGliKSkKKyAJJChRKSQoaW5zdGFsbC1saWIpICQob2JqKS9rbGliYy0kKFNPTElCSEFTSCkuc28gXAorIAkgICAgICAgICAgICAgICAgICAgICAgJChJTlNUQUxMUk9PVCkkKElOU1RBTExESVIpLyQoS0xJQkNDUk9TUylsaWIKKy0JJChRKSQoaW5zdGFsbC1saWIpICQob2JqKS9rbGliYy0kKFNPTElCSEFTSCkuc28gXAorLQkgICAgICAgICAgICAgICAgICAgICAgJChJTlNUQUxMUk9PVCkkKFNITElCRElSKQorCitJbmRleDoga2xpYmMtMS41LjI0L3Vzci91dGlscy9LYnVpbGQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL3Vzci91dGlscy9LYnVpbGQJMjAxMS0wNy0yNyAxNTo1MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBiL3Vzci91dGlscy9LYnVpbGQJMjAxMS0wOC0wMSAwMDoxOToxMy4wMDAwMDAwMDAgKzAyMDAKK0BAIC03Miw1ICs3MiwzIEBACisgIyBDbGVhbiBkZWxldGVzIHRoZSBzdGF0aWMgYW5kIHNoYXJlZCBkaXIKKyBjbGVhbi1kaXJzIDo9IHN0YXRpYyBzaGFyZWQKKyAKKy0jIGluc3RhbGwgb25seSBpbnN0YWxsIHRoZSBzaGFyZWQgYmluYXJpZXMKKy1pbnN0YWxsLXkgOj0gJChzaGFyZWQteSkgc2hhcmVkL3JlYm9vdCBzaGFyZWQvcG93ZXJvZmYKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC91c2UtZW52LWZvci1wZXJsLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40L3VzZS1lbnYtZm9yLXBlcmwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWFjMTI4YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC91c2UtZW52LWZvci1wZXJsLnBhdGNoCkBAIC0wLDAgKzEsMjUgQEAKK1BhdGNoIHdhcyBpbXBvcnRlZCBmcm9tIHRoZSBPcGVuRW1iZWRkZWQgZ2l0IHNlcnZlcgorKGdpdDovL2dpdC5vcGVuZW1iZWRkZWQub3JnL29wZW5lbWJlZGRlZCkKK2FzIG9mIGNvbW1pdCBpZCA2NzZjYmI1NGQ0MmM4OWE0ODMyODcxMDY0Y2ZjYjdlZTJhZDM3MmVlCisKK2tsY2MtY3Jvc3M6IEFkZCBwYXRjaCB0byB1c2UgL3Vzci9iaW4vZW52IHBlcmwKK0NlcnRhaW4gY29uZmlndXJhdGlvbnMgKHN1Y2ggYXMgYXV0b2J1aWxkZXJzKSBtYXkgYnVpbGQgaW4gdmVyeQorZGVlcCBwYXRocyAodGhhdCBhcmUgbG9uZ2VyIHRoYW4gdGhlICMhIG1lY2hhbmlzbSBhbGxvd3MpIHdoaWNoCittYWtlcyBpdCB1bnNhZmUgdG8gdXNlIHRoZSBkaXJlY3QgcGF0aCBmb3IgcGVybC4gIEluIG91ciBjYXNlIHdlIGtub3cKK3RoYXQgL3Vzci9iaW4vZW52IHBlcmwgd2lsbCBhbHdheXMgcmV0dXJuIG91cnMgKGlmIGl0IGhhcyBiZWVuIGJ1aWx0KS4KKworU2lnbmVkLW9mZi1ieTogVG9tIFJpbmkgPHRvbV9yaW5pQG1lbnRvci5jb20+CisKK0luZGV4OiBrbGliYy0xLjUuMjAva2xjYy9tYWtla2xjYy5wbAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEva2xjYy9tYWtla2xjYy5wbAorKysrIGIva2xjYy9tYWtla2xjYy5wbAorQEAgLTI2LDcgKzI2LDcgQEAgc3ViIHBhdGhzZWFyY2goJCkgeworICAgICByZXR1cm4gdW5kZWY7CisgfQorIAorLXByaW50ICIjISR7cGVybHBhdGh9XG4iOworK3ByaW50ICIjIS91c3IvYmluL2VudiBwZXJsXG4iOworIAorIG9wZW4oS0xJQkNDT05GLCAiPCAka2xpYmNjb25mXDAiKQorICAgICBvciBkaWUgIiQwOiBjYW5ub3Qgb3BlbiAka2xpYmNjb25mOiAkIVxuIjsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy1zdGF0aWMtdXRpbHNfMi4wLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtc3RhdGljLXV0aWxzXzIuMC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4MzVmZDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtc3RhdGljLXV0aWxzXzIuMC40LmJiCkBAIC0wLDAgKzEsMTIgQEAKK1NVTU1BUlkgPSAia2xpYmMgdXRpbHMgZm9yIGluaXRyYW1mcyBzdGF0aWNhbGx5IGNvbXBpbGVkIgorCitGSUxFU1BBVEggPS4gIiR7RklMRV9ESVJOQU1FfS9rbGliYy0ke1BWfToiCisKK1BBQ0tBR0VTID0gIiR7UE59IgorRklMRVNfJHtQTn0gPSAiIgorCitLTElCQ19VVElMU19WQVJJQU5UID0gInN0YXRpYyIKK0tMSUJDX1VUSUxTX1BLR05BTUUgPSAia2xpYmMtc3RhdGljLXV0aWxzIgorCityZXF1aXJlIGtsaWJjLXV0aWxzLmluYworcmVxdWlyZSBrbGliYy5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy11dGlscy5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtdXRpbHMuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwMTRmNTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtdXRpbHMuaW5jCkBAIC0wLDAgKzEsNjAgQEAKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiYXNlX2JpbmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke2Jhc2Vfc2JpbmRpcn0KKyAgICAjIGRlYmlhbiBwYWNrYWdlcyBraW5pdCArIGtpbml0LnNoYXJlZCBidXQgb25seSBzaC5zaGFyZWQKKyAgICBpZiBbICIke0tMSUJDX1VUSUxTX1ZBUklBTlR9IiA9ICJzaGFyZWQiIF07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtbSA3NTUgdXNyL2tpbml0L2tpbml0ICR7RH0ke2Jhc2VfYmluZGlyfS9raW5pdAorICAgICAgICBpbnN0YWxsIC1tIDc1NSB1c3Iva2luaXQva2luaXQuc2hhcmVkICR7RH0ke2Jhc2VfYmluZGlyfS9raW5pdC5zaGFyZWQKKyAgICAgICAgaW5zdGFsbCAtbSA3NTUgdXNyL2Rhc2gvc2guc2hhcmVkICR7RH0ke2Jhc2VfYmluZGlyfS9zaC5zaGFyZWQKKyAgICBlbHNlCisgICAgICAgIGluc3RhbGwgLW0gNzU1IHVzci9kYXNoL3NoICR7RH0ke2Jhc2VfYmluZGlyfS9zaAorICAgICAgICBpbnN0YWxsIC1tIDc1NSB1c3Iva2luaXQva2luaXQgJHtEfSR7YmFzZV9iaW5kaXJ9L2tpbml0CisgICAgZmkKKyAgICBpbnN0YWxsIC1tIDc1NSB1c3IvZ3ppcC9nemlwICR7RH0ke2Jhc2VfYmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHVzci9raW5pdC9mc3R5cGUvJHtLTElCQ19VVElMU19WQVJJQU5UfS9mc3R5cGUgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL2tpbml0L2lwY29uZmlnLyR7S0xJQkNfVVRJTFNfVkFSSUFOVH0vaXBjb25maWcgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL2tpbml0L25mc21vdW50LyR7S0xJQkNfVVRJTFNfVkFSSUFOVH0vbmZzbW91bnQgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL2tpbml0L3Jlc3VtZS8ke0tMSUJDX1VUSUxTX1ZBUklBTlR9L3Jlc3VtZSAke0R9JHtiYXNlX2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDc1NSB1c3Iva2luaXQvcnVuLWluaXQvJHtLTElCQ19VVElMU19WQVJJQU5UfS9ydW4taW5pdCAke0R9JHtiYXNlX2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDc1NSB1c3IvdXRpbHMvJHtLTElCQ19VVElMU19WQVJJQU5UfS9jYXQgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL3V0aWxzLyR7S0xJQkNfVVRJTFNfVkFSSUFOVH0vY2hyb290ICR7RH0ke2Jhc2VfYmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHVzci91dGlscy8ke0tMSUJDX1VUSUxTX1ZBUklBTlR9L2NwaW8gJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL3V0aWxzLyR7S0xJQkNfVVRJTFNfVkFSSUFOVH0vZGQgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL3V0aWxzLyR7S0xJQkNfVVRJTFNfVkFSSUFOVH0vZG1lc2cgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL3V0aWxzLyR7S0xJQkNfVVRJTFNfVkFSSUFOVH0vZmFsc2UgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL3V0aWxzLyR7S0xJQkNfVVRJTFNfVkFSSUFOVH0vaGFsdCAke0R9JHtiYXNlX2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDc1NSB1c3IvdXRpbHMvJHtLTElCQ19VVElMU19WQVJJQU5UfS9raWxsICR7RH0ke2Jhc2VfYmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHVzci91dGlscy8ke0tMSUJDX1VUSUxTX1ZBUklBTlR9L2xuICR7RH0ke2Jhc2VfYmluZGlyfQorICAgICMgbG9zZXR1cCBnb2VzIGluICR7YmFzZV9zYmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHVzci91dGlscy8ke0tMSUJDX1VUSUxTX1ZBUklBTlR9L2xvc2V0dXAgJHtEfSR7YmFzZV9zYmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHVzci91dGlscy8ke0tMSUJDX1VUSUxTX1ZBUklBTlR9L2xzICR7RH0ke2Jhc2VfYmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHVzci91dGlscy8ke0tMSUJDX1VUSUxTX1ZBUklBTlR9L21pbmlwcyAke0R9JHtiYXNlX2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDc1NSB1c3IvdXRpbHMvJHtLTElCQ19VVElMU19WQVJJQU5UfS9ta2RpciAke0R9JHtiYXNlX2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDc1NSB1c3IvdXRpbHMvJHtLTElCQ19VVElMU19WQVJJQU5UfS9ta2ZpZm8gJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL3V0aWxzLyR7S0xJQkNfVVRJTFNfVkFSSUFOVH0vbWtub2QgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL3V0aWxzLyR7S0xJQkNfVVRJTFNfVkFSSUFOVH0vbW91bnQgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL3V0aWxzLyR7S0xJQkNfVVRJTFNfVkFSSUFOVH0vbXYgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL3V0aWxzLyR7S0xJQkNfVVRJTFNfVkFSSUFOVH0vbnVrZSAke0R9JHtiYXNlX2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDc1NSB1c3IvdXRpbHMvJHtLTElCQ19VVElMU19WQVJJQU5UfS9waXZvdF9yb290ICR7RH0ke2Jhc2VfYmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHVzci91dGlscy8ke0tMSUJDX1VUSUxTX1ZBUklBTlR9L3Bvd2Vyb2ZmICR7RH0ke2Jhc2VfYmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHVzci91dGlscy8ke0tMSUJDX1VUSUxTX1ZBUklBTlR9L3JlYWRsaW5rICR7RH0ke2Jhc2VfYmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHVzci91dGlscy8ke0tMSUJDX1VUSUxTX1ZBUklBTlR9L3JlYm9vdCAke0R9JHtiYXNlX2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDc1NSB1c3IvdXRpbHMvJHtLTElCQ19VVElMU19WQVJJQU5UfS9zbGVlcCAke0R9JHtiYXNlX2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDc1NSB1c3IvdXRpbHMvJHtLTElCQ19VVElMU19WQVJJQU5UfS9zeW5jICR7RH0ke2Jhc2VfYmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHVzci91dGlscy8ke0tMSUJDX1VUSUxTX1ZBUklBTlR9L3RydWUgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL3V0aWxzLyR7S0xJQkNfVVRJTFNfVkFSSUFOVH0vdW1vdW50ICR7RH0ke2Jhc2VfYmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHVzci91dGlscy8ke0tMSUJDX1VUSUxTX1ZBUklBTlR9L3VuYW1lICR7RH0ke2Jhc2VfYmluZGlyfQorICAgIGxuIC1zIGd6aXAgJHtEfSR7YmFzZV9iaW5kaXJ9L2d1bnppcAorICAgIGxuIC1zIGd6aXAgJHtEfSR7YmFzZV9iaW5kaXJ9L3pjYXQKK30KKworRVhUUkFfS0xJQkNfREVQUyA9ICIke0BiYXNlX2NvbmRpdGlvbmFsKCdLTElCQ19VVElMU19WQVJJQU5UJywgJ3NoYXJlZCcsICcke1RISVNfTElCS0xJQkN9JywgJycsIGQpfSIKKworUEFDS0FHRVNfRFlOQU1JQyArPSAiXiR7S0xJQkNfVVRJTFNfUEtHTkFNRX0tLioiCisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpIHsKKyAgICBiYXNlX2Jpbl9kaXIgPSBkLmV4cGFuZCgnJHtiYXNlX2JpbmRpcn0nKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGJhc2VfYmluX2RpciwgJyguKiknLCAnJHtLTElCQ19VVElMU19QS0dOQU1FfS0lcycsICdLbGliYyB1dGlsIGZvciAlcycsIGV4dHJhX2RlcGVuZHM9JyR7RVhUUkFfS0xJQkNfREVQU30nLCBhbGxvd19saW5rcz1UcnVlLCBhbGxvd19kaXJzPVRydWUpCisgICAgYmFzZV9zYmluX2RpciA9IGQuZXhwYW5kKCcke2Jhc2Vfc2JpbmRpcn0nKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGJhc2Vfc2Jpbl9kaXIsICcoLiopJywgJyR7S0xJQkNfVVRJTFNfUEtHTkFNRX0tJXMnLCAnS2xpYmMgdXRpbCBmb3IgJXMnLCBleHRyYV9kZXBlbmRzPScke0VYVFJBX0tMSUJDX0RFUFN9JywgYWxsb3dfZGlycz1UcnVlKQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXV0aWxzXzIuMC40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXV0aWxzXzIuMC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2ZTcxY2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtdXRpbHNfMi4wLjQuYmIKQEAgLTAsMCArMSwxNCBAQAorU1VNTUFSWSA9ICJrbGliYyB1dGlscyBmb3IgaW5pdHJhbWZzIgorCitGSUxFU1BBVEggPS4gIiR7RklMRV9ESVJOQU1FfS9rbGliYy0ke1BWfToiCisKK1BBQ0tBR0VTID0gIiR7UE59IgorRklMRVNfJHtQTn0gPSAiIgorCitLTElCQ19VVElMU19WQVJJQU5UID0gInNoYXJlZCIKK0tMSUJDX1VUSUxTX1BLR05BTUUgPSAia2xpYmMtdXRpbHMiCisKK3JlcXVpcmUga2xpYmMtdXRpbHMuaW5jCityZXF1aXJlIGtsaWJjLmluYworCitERVBFTkRTID0gImtsaWJjIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjVlZTg2OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy5pbmMKQEAgLTAsMCArMSw1MSBAQAorREVTQ1JJUFRJT04gPSAia2xpYmMgaXMgaW50ZW5kZWQgdG8gYmUgYSBtaW5pbWFsaXN0aWMgbGliYyBzdWJzZXQgZm9yIFwKK3VzZSB3aXRoIGluaXRyYW1mcy4gIEl0IGlzIGRlbGliZXJhdGVseSB3cml0dGVuIGZvciBzbWFsbCBzaXplLCBcCittaW5pbWFsIGVudGFnbGVtZW50LCBhbmQgcG9ydGFiaWxpdHksIG5vdCBzcGVlZC4iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSAmIEdQTC0yLjAgJiBNSVQgJiBabGliIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vdXNyL2tsaWJjL0xJQ0VOU0U7bWQ1PWQ3NTE4MWYxMGU5OThjMjFlYjE0N2Y2ZDJlNDNjZThiIgorREVQRU5EUyA9ICJsaW51eC1saWJjLWhlYWRlcnMgcGVybC1uYXRpdmUiCitTUkNSRVYgPSAiNGQxOTk3NGQ3MDIwNDg4ZjYzNjUxMjQ0ZTFmOWY1MTcyN2MzZjY2YyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpYnMva2xpYmMva2xpYmMuZ2l0IgorU1JDX1VSSV9hcHBlbmRfbGludXgtZ251ZWFiaSA9ICIgZmlsZTovL2tsaWJjLWNvbmZpZy1lYWJpLnBhdGNoIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9hcm12NC1maXgtdjRieC5wYXRjaCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCitTUkNfVVJJX2FwcGVuZF9saW51eC11Y2xpYmNlYWJpID0gIiBmaWxlOi8va2xpYmMtY29uZmlnLWVhYmkucGF0Y2ggXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovL2FybXY0LWZpeC12NGJ4LnBhdGNoIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKK1NSQ19VUkkgKz0gImZpbGU6Ly9rbGliYy1saW51eC1saWJjLWRldi5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vc3RhZ2luZy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8va2xjYy1jb25zaWRlci1zeXNyb290LnBhdGNoIFwKKyAgICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworRVhUUkFfT0VNQUtFID0gIidLTElCQ0FSQ0g9JHtLTElCQ19BUkNIfScgXAorICAgICAgICAgICAgICAgICdDUk9TU19DT01QSUxFPSR7VEFSR0VUX1BSRUZJWH0nIFwKKyAgICAgICAgICAgICAgICAnS0xJQkNLRVJORUxTUkM9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtleGVjX3ByZWZpeH0nIFwKKyAgICAgICAgICAgICAgICAnS0xJQkNMSUJHQ0M9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtsaWJkaXJ9LyR7VEFSR0VUX1NZU30vKi9saWJnY2MuYScgXAorICAgICAgICAgICAgICAgICdwcmVmaXg9JHtleGVjX3ByZWZpeH0nIFwKKyAgICAgICAgICAgICAgICAnSU5TVEFMTFJPT1Q9JHtEfScgXAorICAgICAgICAgICAgICAgICdTSExJQkRJUj0ke2xpYmRpcn0nIFwKKyAgICAgICAgICAgICAgICAiCisKK2V4cG9ydCBGSVhfQVJNVjRfRUFCSV9CWCA9ICIke0ZJWF9WNEJYfSIKKworZG9fY29uZmlndXJlICgpIHsKKyAgICBsbiAtc2YgIiR7U1RBR0lOR19ESVJfVEFSR0VUfSR7ZXhlY19wcmVmaXh9IiBsaW51eAorfQorCitJTkhJQklUX1BBQ0tBR0VfU1RSSVAgPSAiMSIKK0lOSElCSVRfUEFDS0FHRV9ERUJVR19TUExJVCA9ICIxIgorSU5TQU5FX1NLSVBfJHtQTn0gPSAiYWxyZWFkeS1zdHJpcHBlZCIKK0lOU0FORV9TS0lQX2xpYmtsaWJjLWRldiA9ICJkZXYtZWxmIgorS0xJQkNfQVJDSCA9ICIke1RBUkdFVF9BUkNIfSIKK0tMSUJDX0FSQ0hfYWFyY2g2NCA9ICJhcm02NCIKK0tMSUJDX0FSQ0hfYXJtZWIgPSAiYXJtIgorS0xJQkNfQVJDSF9taXBzZWwgPSAibWlwcyIKK0tMSUJDX0FSQ0hfeDg2ID0gImkzODYiCitLTElCQ19BUkNIX3g4Ni02NCA9ICJ4ODZfNjQiCitLTElCQ19BUkNIX3Bvd2VycGMgPSAicHBjIgorS0xJQkNfQVJDSF9wb3dlcnBjNjQgPSAicHBjNjQiCitUSElTX0xJQktMSUJDID0gImxpYmtsaWJjICg9ICR7UFZ9LSR7UFJ9KSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliY18yLjAuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliY18yLjAuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzgwZjM4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjXzIuMC40LmJiCkBAIC0wLDAgKzEsMjQgQEAKK1NVTU1BUlkgPSAia2xpYmMsIGEgc21hbGwgQyBsaWJyYXJ5IGZvciB1c2Ugd2l0aCBpbml0cmFtZnMiCisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsCisgICAgIyB0aGUgY3Jvc3Njb21waWxlciBpcyBwYWNrYWdlZCBieSBrbGNjLWNyb3NzCisgICAgIyByZW1vdmUga2xjYworICAgIHJtICR7RH0ke2JpbmRpcn0va2xjYworICAgICMgcmVtb3ZlIG5vdyBlbXB0eSBkaXIKKyAgICBybWRpciAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHtsaWJkaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL2tsaWJjL2tsaWJjLSouc28gJHtEfSR7bGliZGlyfQorICAgIChjZCAgJHtEfSR7bGliZGlyfTsgbG4gLXMga2xpYmMtKi5zbyBrbGliYy5zbykKK30KKworUEFDS0FHRVMgPSAibGlia2xpYmMgbGlia2xpYmMtc3RhdGljZGV2IGxpYmtsaWJjLWRldiIKKworRklMRVNfbGlia2xpYmMgPSAiJHtsaWJkaXJ9L2tsaWJjLSouc28iCitGSUxFU19saWJrbGliYy1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2tsaWJjL2xpYi9saWJjLmEiCitGSUxFU19saWJrbGliYy1kZXYgPSAiJHtsaWJkaXJ9L2tsaWJjLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0va2xpYmMvbGliLyogXAorICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9rbGliYy9pbmNsdWRlLyogXAorICAgICAgICAgICAgICAgICAgICAgICIKKworcmVxdWlyZSBrbGliYy5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9tdGQvdWJpLXV0aWxzLWtsaWJjLzAwMDEtTWFrZWZpbGUtb25seS1idWlsZC11YmktdXRpbHMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMvbXRkL3ViaS11dGlscy1rbGliYy8wMDAxLU1ha2VmaWxlLW9ubHktYnVpbGQtdWJpLXV0aWxzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkNWU0ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMvbXRkL3ViaS11dGlscy1rbGliYy8wMDAxLU1ha2VmaWxlLW9ubHktYnVpbGQtdWJpLXV0aWxzLnBhdGNoCkBAIC0wLDAgKzEsODcgQEAKK0Zyb20gYzRlNmJkOTM3ODY0NWQ1NzdlOWQ5Zjg1ZGE4NWYxNDM4YWZlN2M1MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KK0RhdGU6IFN1biwgMjkgSnVuIDIwMTQgMDA6MzI6MjkgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzZdIE1ha2VmaWxlOiBidWlsZCB1YmktdXRpbHMgb25seQorCitXZSBidWlsZCBhbGwgdGhlIHN0YXRpYyB1YmktdXRpbHMgYnV0IGFjdHVhbGx5IG9ubHkgdWJpYXR0YWNoIGlzIG5lZWRlZCBpbgorYSBtaW5pbWFsaXN0aWMgaW5pdHJhbWZzIGZvciB0aGUgbW91bnQgb2YgdWJpIHZvbHVtZXMuCisKK01vcmUgZml4ZXMgYXJlIG5lZWRlZCBpbiBvcmRlciB0byBidWlsZCB0aGUgZnVsbCBtdGQtdXRpbHMuCitUaGUgZmlyc3QgaXNzdWUgaXM6CisKK3wgbWtmcy5qZmZzMi5jOjY0OjIwOiBmYXRhbCBlcnJvcjogbGliZ2VuLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKK3wgICNpbmNsdWRlIDxsaWJnZW4uaD4KKworUmVtb3ZpbmcgdGhlIGluY2x1ZGUgdGhlbiB0aGUgc2Vjb25kIGVycm9yIGlzOgorCit8IG1rZnMuamZmczIuYzoxNTcwOjIyOiBlcnJvcjogJ19TQ19QQUdFU0laRScgdW5kZWNsYXJlZAorfCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCit8ICAgcGFnZV9zaXplID0gc3lzY29uZihfU0NfUEFHRVNJWkUpOworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWEgQWRhbWkgPGFuZHJlYS5hZGFtaUBnbWFpbC5jb20+CistLS0KKyBNYWtlZmlsZSB8IDI0ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggZWFkZTIzNC4uMjI3NTg2NSAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTE2LDI4ICsxNiwxMyBAQCBlbmRpZgorIAorIFRFU1RTID0gdGVzdHMKKyAKKy1NVERfQklOUyA9IFwKKy0JZnRsX2Zvcm1hdCBmbGFzaF9lcmFzZSBuYW5kZHVtcCBkb2NfbG9hZGJpb3MgXAorLQlmdGxfY2hlY2sgbWtmcy5qZmZzMiBmbGFzaF9sb2NrIGZsYXNoX3VubG9jayBcCistCWZsYXNoX290cF9pbmZvIGZsYXNoX290cF9kdW1wIGZsYXNoX290cF9sb2NrIGZsYXNoX290cF93cml0ZSBcCistCW10ZF9kZWJ1ZyBmbGFzaGNwIG5hbmR3cml0ZSBuYW5kdGVzdCBcCistCWpmZnMyZHVtcCBcCistCW5mdGxkdW1wIG5mdGxfZm9ybWF0IGRvY2ZkaXNrIFwKKy0JcmZkZHVtcCByZmRmb3JtYXQgXAorLQlzZXJ2ZV9pbWFnZSByZWN2X2ltYWdlIFwKKy0Jc3VtdG9vbCBqZmZzMnJlYWRlcgorIFVCSV9CSU5TID0gXAorIAl1Yml1cGRhdGV2b2wgdWJpbWt2b2wgdWJpcm12b2wgdWJpY3JjMzIgdWJpbmZvIHViaWF0dGFjaCBcCisgCXViaWRldGFjaCB1YmluaXplIHViaWZvcm1hdCB1YmlyZW5hbWUgbXRkaW5mbyB1Ymlyc3ZvbCB1YmlibG9jaworIAorLUJJTlMgPSAkKE1URF9CSU5TKQorLUJJTlMgKz0gbWtmcy51Ymlmcy9ta2ZzLnViaWZzCistQklOUyArPSAkKGFkZHByZWZpeCB1YmktdXRpbHMvLCQoVUJJX0JJTlMpKQorLVNDUklQVFMgPSBmbGFzaF9lcmFzZWFsbAorK0JJTlMgPSAkKGFkZHByZWZpeCB1YmktdXRpbHMvLCQoVUJJX0JJTlMpKQorIAorIFRBUkdFVFMgPSAkKEJJTlMpCistVEFSR0VUUyArPSBsaWIvbGlibXRkLmEKKy1UQVJHRVRTICs9IHViaS11dGlscy9saWJ1YmkuYQorIAorIE9CSkRFUFMgPSAkKEJVSUxERElSKS9pbmNsdWRlL3ZlcnNpb24uaAorIAorQEAgLTYxLDEyICs0Niw5IEBAIGVuZGlmCisgCXJtIC1mICQoQlVJTERESVIpL2luY2x1ZGUvdmVyc2lvbi5oCisgCSQoTUFLRSkgLUMgJChURVNUUykgY2xlYW4KKyAKKy1pbnN0YWxsOjogJChhZGRwcmVmaXggJChCVUlMRERJUikvLCR7QklOU30pICR7U0NSSVBUU30KKytpbnN0YWxsOjogJChhZGRwcmVmaXggJChCVUlMRERJUikvLCR7QklOU30pCisgCW1rZGlyIC1wICR7REVTVERJUn0vJHtTQklORElSfQorIAlpbnN0YWxsIC1tIDA3NTUgJF4gJHtERVNURElSfS8ke1NCSU5ESVJ9LworLQlta2RpciAtcCAke0RFU1RESVJ9LyR7TUFORElSfS9tYW4xCistCWluc3RhbGwgLW0gMDY0NCBta2ZzLmpmZnMyLjEgJHtERVNURElSfS8ke01BTkRJUn0vbWFuMS8KKy0JLWd6aXAgLTlmICR7REVTVERJUn0vJHtNQU5ESVJ9L21hbjEvKi4xCisgCisgdGVzdHM6OgorIAkkKE1BS0UpIC1DICQoVEVTVFMpCitAQCAtOTEsOCArNzMsNiBAQCBMRExJQlNfbWtmcy5qZmZzMiAgPSAtbHogJChMWk9MRExJQlMpCisgTERGTEFHU19qZmZzMnJlYWRlciA9ICQoWkxJQkxERkxBR1MpICQoTFpPTERGTEFHUykKKyBMRExJQlNfamZmczJyZWFkZXIgID0gLWx6ICQoTFpPTERMSUJTKQorIAorLSQoZm9yZWFjaCB2LCQoTVREX0JJTlMpLCQoZXZhbCAkKGNhbGwgbWtkZXAsLCQodikpKSkKKy0KKyAjCisgIyBDb21tb24gbGlibXRkCisgIworLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMvbXRkL3ViaS11dGlscy1rbGliYy8wMDAyLWNvbW1vbi5tay1mb3Ita2xpYmMtQ0MtaXMta2xjYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9tdGQvdWJpLXV0aWxzLWtsaWJjLzAwMDItY29tbW9uLm1rLWZvci1rbGliYy1DQy1pcy1rbGNjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0NjgyNGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMvbXRkL3ViaS11dGlscy1rbGliYy8wMDAyLWNvbW1vbi5tay1mb3Ita2xpYmMtQ0MtaXMta2xjYy5wYXRjaApAQCAtMCwwICsxLDI3IEBACitGcm9tIGYzNjA5YzdjMDQ1MGI0YzMxZTFkNDYwM2ZjZjJjZmIxYmE0NmY5OTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbmRyZWEgQWRhbWkgPGFuZHJlYS5hZGFtaUBnbWFpbC5jb20+CitEYXRlOiBTdW4sIDI5IEp1biAyMDE0IDAwOjM3OjI4ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMi82XSBjb21tb24ubWs6IGZvciBrbGliYyAkKENDKSBpcyBrbGNjCisKK0RvIG5vdCBoYXJkY29kZTogYXNzaWduIHRoZSB2YWx1ZSB0byB0aGUgdmFyaWFibGUgaWYgaXQgaXMgbm90IGFscmVhZHkgZGVmaW5lZC4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KKy0tLQorIGNvbW1vbi5tayB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NvbW1vbi5tayBiL2NvbW1vbi5taworaW5kZXggYmE4NzM3Ny4uNTljNTZkZiAxMDA2NDQKKy0tLSBhL2NvbW1vbi5taworKysrIGIvY29tbW9uLm1rCitAQCAtMSw0ICsxLDQgQEAKKy1DQyA6PSAkKENST1NTKWdjYworK0NDID89ICQoQ1JPU1MpZ2NjCisgQVIgOj0gJChDUk9TUylhcgorIFJBTkxJQiA6PSAkKENST1NTKXJhbmxpYgorIAorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMvbXRkL3ViaS11dGlscy1rbGliYy8wMDAzLWxpYnViaS5jLWFkZC1rbGliYy1zcGVjaWZpYy1maXhlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9tdGQvdWJpLXV0aWxzLWtsaWJjLzAwMDMtbGlidWJpLmMtYWRkLWtsaWJjLXNwZWNpZmljLWZpeGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2MmIzNjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMvbXRkL3ViaS11dGlscy1rbGliYy8wMDAzLWxpYnViaS5jLWFkZC1rbGliYy1zcGVjaWZpYy1maXhlcy5wYXRjaApAQCAtMCwwICsxLDc2IEBACitGcm9tIDcyYTM5YmIzMjkwYTc5ZTc2YjBkYmY1OWVlZjgzZWEyZDliNTc3YTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbmRyZWEgQWRhbWkgPGFuZHJlYS5hZGFtaUBnbWFpbC5jb20+CitEYXRlOiBTdW4sIDI5IEp1biAyMDE0IDAwOjQwOjE1ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMy82XSBsaWJ1YmkuYzogYWRkIGtsaWJjIHNwZWNpZmljIGZpeGVzIGZvciBpb2N0bAorCitGaXJzdCBpc3N1ZSBpcyB0aGF0IGlvY3RsKCkgaW4ga2xpYmMgZG9lc24ndCBleHBlY3QgYSBjb25zdGFudCBhcyBhcmczLgorU2Vjb25kIGlzc3VlIGlzIHRoYXQgYXJnMyBpbiBrbGliYyBpb2N0bCgpIGltcGxlbWVudGF0aW9uIGlzIG5vdCBvcHRpb25hbC4KKworRml4ZXM6CisKK3wgdWJpLXV0aWxzL2xpYnViaS5jOiBJbiBmdW5jdGlvbiAnZG9fYXR0YWNoJzoKK3wgdWJpLXV0aWxzL2xpYnViaS5jOjY5ODo4OiB3YXJuaW5nOiBwYXNzaW5nIGFyZ3VtZW50IDMgb2YgJ2lvY3RsJyBkaXNjYXJkcworfCAnY29uc3QnIHF1YWxpZmllciBmcm9tIHBvaW50ZXIgdGFyZ2V0IHR5cGUKK3wgICByZXQgPSBpb2N0bChmZCwgVUJJX0lPQ0FUVCwgcik7Cit8ICAgICAgICAgXgorfCBJbiBmaWxlIGluY2x1ZGVkIGZyb20gdWJpLXV0aWxzL2xpYnViaS5jOjMyOjA6Cit8IC4uLi9saWIva2xpYmMvaW5jbHVkZS9zeXMvaW9jdGwuaDoxNToxNDogbm90ZTogZXhwZWN0ZWQgJ3ZvaWQgKicgYnV0IGFyZ3VtZW50Cit8IGlzIG9mIHR5cGUgJ2NvbnN0IHN0cnVjdCB1YmlfYXR0YWNoX3JlcSAqJworfCAgX19leHRlcm4gaW50IGlvY3RsKGludCwgaW50LCB2b2lkICopOworfCAgICAgICAgICAgICAgIF4KKworfCB1YmktdXRpbHMvbGlidWJpLmM6IEluIGZ1bmN0aW9uICd1Ymlfdm9sX2Jsb2NrX2NyZWF0ZSc6Cit8IHViaS11dGlscy9saWJ1YmkuYzoxMTE4Ojk6IGVycm9yOiB0b28gZmV3IGFyZ3VtZW50cyB0byBmdW5jdGlvbiAnaW9jdGwnCit8ICAgcmV0dXJuIGlvY3RsKGZkLCBVQklfSU9DVk9MQ1JCTEspOworfCAgICAgICAgICBeCit8IEluIGZpbGUgaW5jbHVkZWQgZnJvbSB1YmktdXRpbHMvbGlidWJpLmM6MzI6MDoKK3wgLi4uL2xpYi9rbGliYy9pbmNsdWRlL3N5cy9pb2N0bC5oOjE1OjE0OiBub3RlOiBkZWNsYXJlZCBoZXJlCit8ICBfX2V4dGVybiBpbnQgaW9jdGwoaW50LCBpbnQsIHZvaWQgKik7Cit8ICAgICAgICAgICAgICAgXgorfCB1YmktdXRpbHMvbGlidWJpLmM6IEluIGZ1bmN0aW9uICd1Ymlfdm9sX2Jsb2NrX3JlbW92ZSc6Cit8IHViaS11dGlscy9saWJ1YmkuYzoxMTIzOjk6IGVycm9yOiB0b28gZmV3IGFyZ3VtZW50cyB0byBmdW5jdGlvbiAnaW9jdGwnCit8ICAgcmV0dXJuIGlvY3RsKGZkLCBVQklfSU9DVk9MUk1CTEspOworfCAgICAgICAgICBeCit8IEluIGZpbGUgaW5jbHVkZWQgZnJvbSB1YmktdXRpbHMvbGlidWJpLmM6MzI6MDoKK3wgLi4uL3Vzci9saWIva2xpYmMvaW5jbHVkZS9zeXMvaW9jdGwuaDoxNToxNDogbm90ZTogZGVjbGFyZWQgaGVyZQorfCAgX19leHRlcm4gaW50IGlvY3RsKGludCwgaW50LCB2b2lkICopOworfCAgICAgICAgICAgICAgIF4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtrbGliYyBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQW5kcmVhIEFkYW1pIDxhbmRyZWEuYWRhbWlAZ21haWwuY29tPgorLS0tCisgdWJpLXV0aWxzL2xpYnViaS5jIHwgNiArKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdWJpLXV0aWxzL2xpYnViaS5jIGIvdWJpLXV0aWxzL2xpYnViaS5jCitpbmRleCAxZTA4YjdkLi40OTFlNTI1IDEwMDY0NAorLS0tIGEvdWJpLXV0aWxzL2xpYnViaS5jCisrKysgYi91YmktdXRpbHMvbGlidWJpLmMKK0BAIC02ODcsNyArNjg3LDcgQEAgdm9pZCBsaWJ1YmlfY2xvc2UobGlidWJpX3QgZGVzYykKKyAgKiBzdWNjZXNzIGFuZCAlLTEgaW4gY2FzZSBvZiBmYWlsdXJlLiBAci0+dWJpX251bSBjb250YWlucyBuZXdseSBjcmVhdGVkIFVCSQorICAqIGRldmljZSBudW1iZXIuCisgICovCistc3RhdGljIGludCBkb19hdHRhY2goY29uc3QgY2hhciAqbm9kZSwgY29uc3Qgc3RydWN0IHViaV9hdHRhY2hfcmVxICpyKQorK3N0YXRpYyBpbnQgZG9fYXR0YWNoKGNvbnN0IGNoYXIgKm5vZGUsIHN0cnVjdCB1YmlfYXR0YWNoX3JlcSAqcikKKyB7CisgCWludCBmZCwgcmV0OworIAorQEAgLTExMTUsMTIgKzExMTUsMTIgQEAgaW50IHViaV9yc3ZvbChsaWJ1YmlfdCBkZXNjLCBjb25zdCBjaGFyICpub2RlLCBpbnQgdm9sX2lkLCBsb25nIGxvbmcgYnl0ZXMpCisgCisgaW50IHViaV92b2xfYmxvY2tfY3JlYXRlKGludCBmZCkKKyB7CistCXJldHVybiBpb2N0bChmZCwgVUJJX0lPQ1ZPTENSQkxLKTsKKysJcmV0dXJuIGlvY3RsKGZkLCBVQklfSU9DVk9MQ1JCTEssIE5VTEwpOworIH0KKyAKKyBpbnQgdWJpX3ZvbF9ibG9ja19yZW1vdmUoaW50IGZkKQorIHsKKy0JcmV0dXJuIGlvY3RsKGZkLCBVQklfSU9DVk9MUk1CTEspOworKwlyZXR1cm4gaW9jdGwoZmQsIFVCSV9JT0NWT0xSTUJMSywgTlVMTCk7CisgfQorIAorIGludCB1YmlfdXBkYXRlX3N0YXJ0KGxpYnViaV90IGRlc2MsIGludCBmZCwgbG9uZyBsb25nIGJ5dGVzKQorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMvbXRkL3ViaS11dGlscy1rbGliYy8wMDA0LWNvbW1vbi5oLWtsaWJjLWZpeGVzLTEucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMvbXRkL3ViaS11dGlscy1rbGliYy8wMDA0LWNvbW1vbi5oLWtsaWJjLWZpeGVzLTEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmVlMWNiYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9tdGQvdWJpLXV0aWxzLWtsaWJjLzAwMDQtY29tbW9uLmgta2xpYmMtZml4ZXMtMS5wYXRjaApAQCAtMCwwICsxLDg0IEBACitGcm9tIGU1Njc2N2I5Y2FhMDJlN2M0MTgwMzQ5OWM3N2RjOTM5ZDVhN2Y2NGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBUaG9yc3RlbiBHbGFzZXIgPHRnQG1pcmJzZC5vcmc+CitEYXRlOiBGcmksIDIwIEp1biAyMDE0IDEwOjU2OjI3ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggNC82XSBSZXN0b3JlIGNvbXBhdGliaWxpdHkgdG8gZGlldGxpYmMsIGtsaWJjLCBtdXNsIGxpYmMgYWZ0ZXIgY29tbWl0IDRmMWIxMDgKKworRWFjaCBDIGxpYnJhcnkgaGFzIHRoZWlyIG93biB3YXkgdG8gZGVmaW5lIG9mZl90LCBhbmQgdGhlIDxmZWF0dXJlcy5oPgoraGVhZGVyIGlzIG5vbnN0YW5kYXJkIGFuZCBzcGVjaWZpYyB0byB0aGUgR05VIGxpYmMgYW5kIHRob3NlIHRoYXQgY2xvbmUKK2l0ICh1Q2xpYmMpLiBGZWZl4oCZcyBkaWV0bGliYyB1c2VzIGRpZmZlcmVudCBmbGFncywgYW5kIGtsaWJjIGFsd2F5cyB1c2VzCithIDY0LWJpdCBvZmZfdCAobGlrZSB0aGUgQlNEcyk7IG11c2wgbGliYyBjYW5ub3QgYmUgcmVjb2duaXNlZCB1c2luZyBjcHAKK2luc3RydWN0aW9ucywgc28gd2UgYXNzdW1lIDY0IGJpdCB0aGVyZSAoYW5kIG9uIHVua25vd24gQyBsaWJyYXJpZXMpIGFuZAorbGVhdmUgaXQgdG8gdGhlIHVzZXIgdG8gc3VibWl0IGEgZm9sbG93LXVwIGZpeCBpZiB3ZSBndWVzcyB3cm9uZy4gSSBhbHNvCithZGRlZCBhIHN0YXRpYyBhc3NlcnRpb24gdG8gdmVyaWZ5IHRoZSA2NCBiaXQgZ3Vlc3MgaXMgY29ycmVjdC4KKworSXQgd291bGQgYmUgcmVhbGx5IGJldHRlciB1c2luZyBhIGNvbmZpZ3VyZSBzY3JpcHQgZm9yIHRoaXMgaW5zdGVhZC4KKworRml4ZXM6Cit8ICAgQ0MgICAgICBsaWIvbGlibXRkLm8KK3wgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIHViaS11dGlscy91Yml1dGlscy1jb21tb24uYzozNTowOgorfCAuL2luY2x1ZGUvY29tbW9uLmg6Mjk6MjI6IGZhdGFsIGVycm9yOiBmZWF0dXJlcy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cit8ICAjaW5jbHVkZSA8ZmVhdHVyZXMuaD4KK3wgICAgICAgICAgICAgICAgICAgICAgIF4KK3wgY29tcGlsYXRpb24gdGVybWluYXRlZC4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFRob3JzdGVuIEdsYXNlciA8dGdAbWlyYnNkLm9yZz4KK1NpZ25lZC1vZmYtYnk6IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KKy0tLQorIGluY2x1ZGUvY29tbW9uLmggfCAyNCArKysrKysrKysrKysrKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9jb21tb24uaCBiL2luY2x1ZGUvY29tbW9uLmgKK2luZGV4IDY4OTVlNWMuLjc3ZjNmN2QgMTAwNjQ0CistLS0gYS9pbmNsdWRlL2NvbW1vbi5oCisrKysgYi9pbmNsdWRlL2NvbW1vbi5oCitAQCAtMjYsNyArMjYsOSBAQAorICNpbmNsdWRlIDxzdHJpbmcuaD4KKyAjaW5jbHVkZSA8ZmNudGwuaD4KKyAjaW5jbHVkZSA8ZXJybm8uaD4KKysjaWYgZGVmaW5lZChfX0dMSUJDX18pIHx8IGRlZmluZWQoX19VQ0xJQkNfXykKKyAjaW5jbHVkZSA8ZmVhdHVyZXMuaD4KKysjZW5kaWYKKyAjaW5jbHVkZSA8aW50dHlwZXMuaD4KKyAjaW5jbHVkZSAidmVyc2lvbi5oIgorIAorQEAgLTUyLDYgKzU0LDIxIEBAIGV4dGVybiAiQyIgeworICNlbmRpZgorIAorIC8qIGRlZmluZSBhIHByaW50IGZvcm1hdCBzcGVjaWZpZXIgZm9yIG9mZl90ICovCisrI2lmIGRlZmluZWQoX19LTElCQ19fKQorKy8qIGFsd2F5cyA2NCBiaXQgb24ga2xpYmMgKi8KKysjZGVmaW5lIFBSSXhvZmZfdCBQUkl4NjQKKysjZGVmaW5lIFBSSWRvZmZfdCBQUklkNjQKKysjZWxpZiBkZWZpbmVkKF9fZGlldGxpYmNfXykKKysvKiBkZXBlbmRzIG9uIGNvbXBpbGVyIGZsYWdzIG9uIGRpZXRsaWJjICovCisrI2lmIGRlZmluZWQoX0ZJTEVfT0ZGU0VUX0JJVFMpICYmIChfRklMRV9PRkZTRVRfQklUUyA9PSA2NCkKKysjZGVmaW5lIFBSSXhvZmZfdCBQUkl4NjQKKysjZGVmaW5lIFBSSWRvZmZfdCBQUklkNjQKKysjZWxzZQorKyNkZWZpbmUgUFJJeG9mZl90ICJsIlBSSXgzMgorKyNkZWZpbmUgUFJJZG9mZl90ICJsIlBSSWQzMgorKyNlbmRpZgorKyNlbGlmIGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKF9fVUNMSUJDX18pCisrLyogZGVwZW5kcyBvbiBjb21waWxlciBmbGFncyBvbiBnbGliYyBhbmQgdUNsaWJjICovCisgI2lmZGVmIF9fVVNFX0ZJTEVfT0ZGU0VUNjQKKyAjZGVmaW5lIFBSSXhvZmZfdCBQUkl4NjQKKyAjZGVmaW5lIFBSSWRvZmZfdCBQUklkNjQKK0BAIC01OSw2ICs3NiwxMyBAQCBleHRlcm4gIkMiIHsKKyAjZGVmaW5lIFBSSXhvZmZfdCAibCJQUkl4MzIKKyAjZGVmaW5lIFBSSWRvZmZfdCAibCJQUklkMzIKKyAjZW5kaWYKKysjZWxzZQorKy8qIHVua25vd24gbGliYyBvciBtdXNsICovCisrI2RlZmluZSBQUkl4b2ZmX3QgUFJJeDY0CisrI2RlZmluZSBQUklkb2ZmX3QgUFJJZDY0CisrLyogdmVyaWZ5IG91ciBndWVzcyBvZiA2NCBiaXQgaXMgY29ycmVjdCAqLworK3N0YXRpYyBjaGFyIF9fUFJJeG9mZl90X3N0YXRpY19hc3NlcnRbc2l6ZW9mKG9mZl90KSA9PSA4ID8gMSA6IC0xXTsKKysjZW5kaWYKKyAKKyAvKiBWZXJib3NlIG1lc3NhZ2VzICovCisgI2RlZmluZSBiYXJldmVyYm9zZSh2ZXJib3NlLCBmbXQsIC4uLikgZG8geyAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL210ZC91YmktdXRpbHMta2xpYmMvMDAwNS1jb21tb24uaC1rbGliYy1maXhlcy0yLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL210ZC91YmktdXRpbHMta2xpYmMvMDAwNS1jb21tb24uaC1rbGliYy1maXhlcy0yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlNDNkNWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMvbXRkL3ViaS11dGlscy1rbGliYy8wMDA1LWNvbW1vbi5oLWtsaWJjLWZpeGVzLTIucGF0Y2gKQEAgLTAsMCArMSw2MSBAQAorRnJvbSA4MzE4ODUyZWY0Zjc2OGJlZDMxMDcyYWE3YjU3ZTExYWRjMWY2MzljIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQW5kcmVhIEFkYW1pIDxhbmRyZWEuYWRhbWlAZ21haWwuY29tPgorRGF0ZTogU3VuLCAyOSBKdW4gMjAxNCAwMDo0NDowMyArMDIwMAorU3ViamVjdDogW1BBVENIIDUvNl0gY29tbW9uLmg6IG1vcmUgd29ya2Fyb3VuZHMgZm9yIGtsaWJjIGNvbXBhdGliaWxpdHkKKworUGF0Y2ggaXMgYWRkcmVzc2luZyB0d28gaXNzdWVzOgorKiBGaXJzdCwgIEtsaWJjIGRvZXNuJ3QgaGF2ZSBycG1hdGNoKCkuCisqIFNlY29uZCwgS2xpYmMgbGFja3MgZ2V0bGluZSgpCisKK0ZpeGVzOgorfCAgIExEICAgICAgdWJpLXV0aWxzL3ViaWZvcm1hdAorfCAuLi4vZ2l0L3ViaS11dGlscy91Ymlmb3JtYXQubzogSW4gZnVuY3Rpb24gYHByb21wdCc6Cit8IC4uLi9naXQvLi9pbmNsdWRlL2NvbW1vbi5oOjE1NzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgZ2V0bGluZScKK3wgLi4uL2dpdC8uL2luY2x1ZGUvY29tbW9uLmg6MTY0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBycG1hdGNoJworfCAuLi4vZ2l0Ly4vaW5jbHVkZS9jb21tb24uaDoxNTc6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGdldGxpbmUnCit8IC4uLi9naXQvLi9pbmNsdWRlL2NvbW1vbi5oOjE2NDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgcnBtYXRjaCcKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KKy0tLQorIGluY2x1ZGUvY29tbW9uLmggfCAxMCArKysrKystLS0tCisgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2luY2x1ZGUvY29tbW9uLmggYi9pbmNsdWRlL2NvbW1vbi5oCitpbmRleCA3N2YzZjdkLi4yY2JlZTBmIDEwMDY0NAorLS0tIGEvaW5jbHVkZS9jb21tb24uaAorKysrIGIvaW5jbHVkZS9jb21tb24uaAorQEAgLTEyNiw3ICsxMjYsNyBAQCBzdGF0aWMgY2hhciBfX1BSSXhvZmZfdF9zdGF0aWNfYXNzZXJ0W3NpemVvZihvZmZfdCkgPT0gOCA/IDEgOiAtMV07CisgCWZwcmludGYoc3RkZXJyLCAiJXM6IHdhcm5pbmchOiAiIGZtdCAiXG4iLCBQUk9HUkFNX05BTUUsICMjX19WQV9BUkdTX18pOyBcCisgfSB3aGlsZSgwKQorIAorLSNpZiBkZWZpbmVkKF9fVUNMSUJDX18pCisrI2lmIGRlZmluZWQoX19VQ0xJQkNfXykgfHwgZGVmaW5lZChfX0tMSUJDX18pCisgLyogdUNsaWJjIHZlcnNpb25zIGJlZm9yZSAwLjkuMzQgZG9uJ3QgaGF2ZSBycG1hdGNoKCkgKi8KKyAjaWYgX19VQ0xJQkNfTUFKT1JfXyA9PSAwICYmIFwKKyAJCShfX1VDTElCQ19NSU5PUl9fIDwgOSB8fCBcCitAQCAtMTQ2LDE1ICsxNDYsMTcgQEAgc3RhdGljIGlubGluZSBpbnQgX19ycG1hdGNoKGNvbnN0IGNoYXIgKnJlc3ApCisgICovCisgc3RhdGljIGlubGluZSBib29sIHByb21wdChjb25zdCBjaGFyICptc2csIGJvb2wgZGVmKQorIHsKKy0JY2hhciAqbGluZSA9IE5VTEw7CistCXNpemVfdCBsZW47CisrCWNoYXIgKmxpbmU7CisgCWJvb2wgcmV0ID0gZGVmOworIAorKwljb25zdCBpbnQgc2l6ZW9mX2xpbmUgPSAyOworKwlsaW5lID0gbWFsbG9jKHNpemVvZl9saW5lKTsKKysKKyAJZG8geworIAkJbm9ybXNnX2NvbnQoIiVzICglYy8lYykgIiwgbXNnLCBkZWYgPyAnWScgOiAneScsIGRlZiA/ICduJyA6ICdOJyk7CisgCQlmZmx1c2goc3Rkb3V0KTsKKyAKKy0JCXdoaWxlIChnZXRsaW5lKCZsaW5lLCAmbGVuLCBzdGRpbikgPT0gLTEpIHsKKysJCXdoaWxlIChmZ2V0cyhsaW5lLCBzaXplb2ZfbGluZSwgc3RkaW4pID09IE5VTEwpIHsKKyAJCQlwcmludGYoImZhaWxlZCB0byByZWFkIHByb21wdDsgYXNzdW1pbmcgJyVzJ1xuIiwKKyAJCQkJZGVmID8gInllcyIgOiAibm8iKTsKKyAJCQlicmVhazsKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL210ZC91YmktdXRpbHMta2xpYmMvMDAwNi1saWJpbmlwYXJzZXItcmVtb3ZlLXVudXNlZC1mdW5jdGlvbi1uZWVkaW5nLWZsb2F0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL210ZC91YmktdXRpbHMta2xpYmMvMDAwNi1saWJpbmlwYXJzZXItcmVtb3ZlLXVudXNlZC1mdW5jdGlvbi1uZWVkaW5nLWZsb2F0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0M2E4OWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMvbXRkL3ViaS11dGlscy1rbGliYy8wMDA2LWxpYmluaXBhcnNlci1yZW1vdmUtdW51c2VkLWZ1bmN0aW9uLW5lZWRpbmctZmxvYXQucGF0Y2gKQEAgLTAsMCArMSw4NSBAQAorRnJvbSA3MmEwNGE5YjllZDMzYzg4OWQyZTJiODZmMzA2YzViZTlmNmNkZTM1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQW5kcmVhIEFkYW1pIDxhbmRyZWEuYWRhbWlAZ21haWwuY29tPgorRGF0ZTogU3VuLCAyOSBKdW4gMjAxNCAwMDo0NDo1NyArMDIwMAorU3ViamVjdDogW1BBVENIIDYvNl0gbGliaW5pcGFyc2VyOiByZW1vdmUgdW51c2VkIGZ1bmN0aW9uIG5lZWRpbmcgZmxvYXQKKworRml4ZXM6Cit8ICAgTEQgICAgICB1YmktdXRpbHMvdWJpZm9ybWF0Cit8IC4uLi9naXQvdWJpLXV0aWxzL2xpYmluaXBhcnNlci5hKGxpYmluaXBhcnNlci5vKTogSW4gZnVuY3Rpb24KK3wgYCAgTEQgICAgICB1YmktdXRpbHMvdWJpcmVuYW1lCit8IGluaXBhcnNlcl9nZXRkb3VibGUnOgorfCAuLi4vZ2l0L3ViaS11dGlscy9saWJpbmlwYXJzZXIuYzozMzY6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGF0b2YnCisKK0dyZXAgZG9lc24ndCByZXZlYWwgYW55IG9jY3VycmVuY2Ugb2YgaW5pcGFyc2VyX2dldGRvdWJsZSgpLCB1c2luZyBhdG9mKCkgc28KK3JlbW92ZSBpdDogZmxvYXRpbmctcG9pbnQgaXMgbm90IHN1cHBvcnRlZCBpbiBrbGliYworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhIEFkYW1pIDxhbmRyZWEuYWRhbWlAZ21haWwuY29tPgorLS0tCisgdWJpLXV0aWxzL2luY2x1ZGUvbGliaW5pcGFyc2VyLmggfCAxNSAtLS0tLS0tLS0tLS0tLS0KKyB1YmktdXRpbHMvbGliaW5pcGFyc2VyLmMgICAgICAgICB8IDIyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDM3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdWJpLXV0aWxzL2luY2x1ZGUvbGliaW5pcGFyc2VyLmggYi91YmktdXRpbHMvaW5jbHVkZS9saWJpbmlwYXJzZXIuaAoraW5kZXggYmUzYzY2Ny4uYWJkNzdhYSAxMDA2NDQKKy0tLSBhL3ViaS11dGlscy9pbmNsdWRlL2xpYmluaXBhcnNlci5oCisrKysgYi91YmktdXRpbHMvaW5jbHVkZS9saWJpbmlwYXJzZXIuaAorQEAgLTE1OCwyMSArMTU4LDYgQEAgaW50IGluaXBhcnNlcl9nZXRpbnQoZGljdGlvbmFyeSAqIGQsIGNvbnN0IGNoYXIgKiBrZXksIGludCBub3Rmb3VuZCk7CisgCisgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyAvKioKKy0gIEBicmllZiAgICBHZXQgdGhlIHN0cmluZyBhc3NvY2lhdGVkIHRvIGEga2V5LCBjb252ZXJ0IHRvIGEgZG91YmxlCistICBAcGFyYW0gICAgZCBEaWN0aW9uYXJ5IHRvIHNlYXJjaAorLSAgQHBhcmFtICAgIGtleSBLZXkgc3RyaW5nIHRvIGxvb2sgZm9yCistICBAcGFyYW0gICAgbm90Zm91bmQgVmFsdWUgdG8gcmV0dXJuIGluIGNhc2Ugb2YgZXJyb3IKKy0gIEByZXR1cm4gICBkb3VibGUKKy0KKy0gIFRoaXMgZnVuY3Rpb24gcXVlcmllcyBhIGRpY3Rpb25hcnkgZm9yIGEga2V5LiBBIGtleSBhcyByZWFkIGZyb20gYW4KKy0gIGluaSBmaWxlIGlzIGdpdmVuIGFzICJzZWN0aW9uOmtleSIuIElmIHRoZSBrZXkgY2Fubm90IGJlIGZvdW5kLAorLSAgdGhlIG5vdGZvdW5kIHZhbHVlIGlzIHJldHVybmVkLgorLSAqLworLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLWRvdWJsZSBpbmlwYXJzZXJfZ2V0ZG91YmxlKGRpY3Rpb25hcnkgKiBkLCBjaGFyICoga2V5LCBkb3VibGUgbm90Zm91bmQpOworLQorLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCistLyoqCisgICBAYnJpZWYgICAgR2V0IHRoZSBzdHJpbmcgYXNzb2NpYXRlZCB0byBhIGtleSwgY29udmVydCB0byBhIGJvb2xlYW4KKyAgIEBwYXJhbSAgICBkIERpY3Rpb25hcnkgdG8gc2VhcmNoCisgICBAcGFyYW0gICAga2V5IEtleSBzdHJpbmcgdG8gbG9vayBmb3IKK2RpZmYgLS1naXQgYS91YmktdXRpbHMvbGliaW5pcGFyc2VyLmMgYi91YmktdXRpbHMvbGliaW5pcGFyc2VyLmMKK2luZGV4IDg5OGY1N2YuLmJhNzBjMDggMTAwNjQ0CistLS0gYS91YmktdXRpbHMvbGliaW5pcGFyc2VyLmMKKysrKyBiL3ViaS11dGlscy9saWJpbmlwYXJzZXIuYworQEAgLTMxNiwyOCArMzE2LDYgQEAgaW50IGluaXBhcnNlcl9nZXRpbnQoZGljdGlvbmFyeSAqIGQsIGNvbnN0IGNoYXIgKiBrZXksIGludCBub3Rmb3VuZCkKKyAKKyAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworIC8qKgorLSAgQGJyaWVmICAgIEdldCB0aGUgc3RyaW5nIGFzc29jaWF0ZWQgdG8gYSBrZXksIGNvbnZlcnQgdG8gYSBkb3VibGUKKy0gIEBwYXJhbSAgICBkIERpY3Rpb25hcnkgdG8gc2VhcmNoCistICBAcGFyYW0gICAga2V5IEtleSBzdHJpbmcgdG8gbG9vayBmb3IKKy0gIEBwYXJhbSAgICBub3Rmb3VuZCBWYWx1ZSB0byByZXR1cm4gaW4gY2FzZSBvZiBlcnJvcgorLSAgQHJldHVybiAgIGRvdWJsZQorLQorLSAgVGhpcyBmdW5jdGlvbiBxdWVyaWVzIGEgZGljdGlvbmFyeSBmb3IgYSBrZXkuIEEga2V5IGFzIHJlYWQgZnJvbSBhbgorLSAgaW5pIGZpbGUgaXMgZ2l2ZW4gYXMgInNlY3Rpb246a2V5Ii4gSWYgdGhlIGtleSBjYW5ub3QgYmUgZm91bmQsCistICB0aGUgbm90Zm91bmQgdmFsdWUgaXMgcmV0dXJuZWQuCistICovCistLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCistZG91YmxlIGluaXBhcnNlcl9nZXRkb3VibGUoZGljdGlvbmFyeSAqIGQsIGNoYXIgKiBrZXksIGRvdWJsZSBub3Rmb3VuZCkKKy17CistICAgIGNoYXIgICAgKiAgIHN0ciA7CistCistICAgIHN0ciA9IGluaXBhcnNlcl9nZXRzdHJpbmcoZCwga2V5LCBJTklfSU5WQUxJRF9LRVkpOworLSAgICBpZiAoc3RyPT1JTklfSU5WQUxJRF9LRVkpIHJldHVybiBub3Rmb3VuZCA7CistICAgIHJldHVybiBhdG9mKHN0cik7CistfQorLQorLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCistLyoqCisgICBAYnJpZWYgICAgR2V0IHRoZSBzdHJpbmcgYXNzb2NpYXRlZCB0byBhIGtleSwgY29udmVydCB0byBhIGJvb2xlYW4KKyAgIEBwYXJhbSAgICBkIERpY3Rpb25hcnkgdG8gc2VhcmNoCisgICBAcGFyYW0gICAga2V5IEtleSBzdHJpbmcgdG8gbG9vayBmb3IKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL210ZC91YmktdXRpbHMta2xpYmNfMS41LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMvbXRkL3ViaS11dGlscy1rbGliY18xLjUuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Y2ExY2E3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL210ZC91YmktdXRpbHMta2xpYmNfMS41LjEuYmIKQEAgLTAsMCArMSw1MCBAQAorU1VNTUFSWSA9ICJVQkkgdXRpbHMgc3RhdGljYWxseSBjb21waWxlZCBhZ2FpbnN0IGtsaWJjIgorREVTQ1JJUFRJT04gPSAiU21hbGwgc2l6ZWQgdG9vbHMgZnJvbSBtdGQtdXRpbHMgZm9yIHVzZSB3aXRoIGluaXRyYW1mcy4iCitTRUNUSU9OID0gImJhc2UiCitERVBFTkRTID0gInpsaWIgbHpvIGUyZnNwcm9ncyB1dGlsLWxpbnV4IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5saW51eC1tdGQuaW5mcmFkZWFkLm9yZy8iCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA2MzZlNzNmZjAyMTVlOGQ2NzJkYzRjMzJjMzE3YmIzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2luY2x1ZGUvY29tbW9uLmg7YmVnaW5saW5lPTE7ZW5kbGluZT0xNzttZDU9YmEwNWIwNzkxMmE0NGVhMmJmODFjZTQwOTM4MDA0OWMiCisKK2luaGVyaXQga2xpYmMKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQuaW5mcmFkZWFkLm9yZy9tdGQtdXRpbHMuZ2l0O3RhZz1iNzQ1NWQ4NDdhYjRmOWVlZWI2YTcyOWVmYzMwNmJmZGE3YmRkYzk5IFwKKyAgICAgICAgICAgICBmaWxlOi8vMDAwMS1NYWtlZmlsZS1vbmx5LWJ1aWxkLXViaS11dGlscy5wYXRjaCBcCisgICAgICAgICAgICAgZmlsZTovLzAwMDItY29tbW9uLm1rLWZvci1rbGliYy1DQy1pcy1rbGNjLnBhdGNoIFwKKyAgICAgICAgICAgICBmaWxlOi8vMDAwMy1saWJ1YmkuYy1hZGQta2xpYmMtc3BlY2lmaWMtZml4ZXMucGF0Y2ggXAorICAgICAgICAgICAgIGZpbGU6Ly8wMDA0LWNvbW1vbi5oLWtsaWJjLWZpeGVzLTEucGF0Y2ggXAorICAgICAgICAgICAgIGZpbGU6Ly8wMDA1LWNvbW1vbi5oLWtsaWJjLWZpeGVzLTIucGF0Y2ggXAorICAgICAgICAgICAgIGZpbGU6Ly8wMDA2LWxpYmluaXBhcnNlci1yZW1vdmUtdW51c2VkLWZ1bmN0aW9uLW5lZWRpbmctZmxvYXQucGF0Y2ggXAorICAgICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9L2dpdC8iCisKK0VYVFJBX09FTUFLRSA9ICInQ0M9JHtDQ30nICdSQU5MSUI9JHtSQU5MSUJ9JyAnQVI9JHtBUn0nICdDRkxBR1M9JHtDRkxBR1N9IC1JJHtTfWluY2x1ZGUgLURXSVRIT1VUX1hBVFRSJyAnQlVJTERESVI9JHtTfSciCisKK2RvX2luc3RhbGwgKCkgeworCisgICAgaW5zdGFsbCAtZCAke0R9JHtzYmluZGlyfQorICAgIG9lX3J1bm1ha2UgREVTVERJUj0iJHtEfSIgaW5zdGFsbAorCit9CisKK1BBQ0tBR0VTID0gInViaS11dGlscy1rbGliYy1kYmciCisKK1BBQ0tBR0VTID0rICJtdGRpbmZvLWtsaWJjIHViaWF0dGFjaC1rbGliYyB1YmlibG9jay1rbGliYyB1YmljcmMzMi1rbGliYyB1YmlkZXRhY2gta2xpYmMgXAorICAgICAgICAgICAgIHViaWZvcm1hdC1rbGliYyB1Ymlta3ZvbC1rbGliYyB1YmluZm8ta2xpYmMgdWJpbml6ZS1rbGliYyB1YmlyZW5hbWUta2xpYmMgXAorICAgICAgICAgICAgIHViaXJtdm9sLWtsaWJjIHViaXJzdm9sLWtsaWJjIHViaXVwZGF0ZXZvbC1rbGliYyIKKworRklMRVNfbXRkaW5mby1rbGliYyA9ICIke3NiaW5kaXJ9L210ZGluZm8iCitGSUxFU191YmlhdHRhY2gta2xpYmMgPSAiJHtzYmluZGlyfS91YmlhdHRhY2giCitGSUxFU191YmlibG9jay1rbGliYyA9ICIke3NiaW5kaXJ9L3ViaWJsb2NrIgorRklMRVNfdWJpY3JjMzIta2xpYmMgPSAiJHtzYmluZGlyfS91YmljcmMzMiIKK0ZJTEVTX3ViaWRldGFjaC1rbGliYyA9ICIke3NiaW5kaXJ9L3ViaWRldGFjaCIKK0ZJTEVTX3ViaWZvcm1hdC1rbGliYyA9ICIke3NiaW5kaXJ9L3ViaWZvcm1hdCIKK0ZJTEVTX3ViaW1rdm9sLWtsaWJjID0gIiR7c2JpbmRpcn0vdWJpbWt2b2wiCitGSUxFU191YmluZm8ta2xpYmMgPSAiJHtzYmluZGlyfS91YmluZm8iCitGSUxFU191YmluaXplLWtsaWJjID0gIiR7c2JpbmRpcn0vdWJpbml6ZSIKK0ZJTEVTX3ViaXJlbmFtZS1rbGliYyA9ICIke3NiaW5kaXJ9L3ViaXJlbmFtZSIKK0ZJTEVTX3ViaXJtdm9sLWtsaWJjID0gIiR7c2JpbmRpcn0vdWJpcm12b2wiCitGSUxFU191Ymlyc3ZvbC1rbGliYyA9ICIke3NiaW5kaXJ9L3ViaXJzdm9sIgorRklMRVNfdWJpdXBkYXRldm9sLWtsaWJjID0gIiR7c2JpbmRpcn0vdWJpdXBkYXRldm9sIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi9hcm1fY3Jhc2hkdW1wLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi9hcm1fY3Jhc2hkdW1wLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmZjYxZTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL2FybV9jcmFzaGR1bXAucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorLS0tIGEva2V4ZWMvYXJjaC9hcm0vY3Jhc2hkdW1wLWFybS5jCisrKysgYi9rZXhlYy9hcmNoL2FybS9jcmFzaGR1bXAtYXJtLmMKK0BAIC0yMCw3ICsyMCw3IEBACisgICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAgKiBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyAgKi8KKy0jaW5jbHVkZSA8ZWxmLmg+CisrI2luY2x1ZGUgIi4uLy4uLy4uL2luY2x1ZGUvZWxmLmgiCisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL2NmbGFnc19zdGF0aWMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL2NmbGFnc19zdGF0aWMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzUxMDBhMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIvY2ZsYWdzX3N0YXRpYy5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gYS9NYWtlZmlsZS5pbgorKysrIGIvTWFrZWZpbGUuaW4KK0BAIC00Niw3ICs0Niw3IEBACisgIyB3aGVyZSBuZWNlc3NhcnkuCisgQ1BQRkxBR1MJPSBAQ1BQRkxBR1NAIC1JJChzcmNkaXIpL2luY2x1ZGUgLUkkKHNyY2RpcikvdXRpbF9saWIvaW5jbHVkZSBcCisJCQktSWluY2x1ZGUvCistQ0ZMQUdTCQk9IEBDRkxBR1NAIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1XYWxsIC1Xc3RyaWN0LXByb3RvdHlwZXMKKytDRkxBR1MJCT0gQENGTEFHU0AgLXN0YXRpYyAtZm5vLXN0cmljdC1hbGlhc2luZyAtV2FsbCAtV3N0cmljdC1wcm90b3R5cGVzCisgUFVSR0FUT1JZX0VYVFJBX0NGTEFHUyA9IEBQVVJHQVRPUllfRVhUUkFfQ0ZMQUdTQAorIEFTRkxBR1MJCT0gQEFTRkxBR1NACisgTERGTEFHUwkJPSBATERGTEFHU0AKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIvZml4LW91dC1vZi10cmVlLWJ1aWxkLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi9maXgtb3V0LW9mLXRyZWUtYnVpbGQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2NiYjI0ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIvZml4LW91dC1vZi10cmVlLWJ1aWxkLnBhdGNoCkBAIC0wLDAgKzEsNTQgQEAKK0Zyb20gMzc3Mzc1Mjc3MjVlNDY1ODMzYmU2NDkxMDFjNGE2ZjgzNTJjNWQ1ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFR5bGVyIEhhbGwgPHR5bGVyd2hhbGxAZ21haWwuY29tPgorRGF0ZTogVHVlLCA3IEZlYiAyMDEyIDE4OjUwOjA1IC0wNTAwCitTdWJqZWN0OiBGaXggb3V0LW9mLXRyZWUgYnVpbGQKKworVXNlIGF1dG9tYXRpYyB2YXJpYWJsZXMgZm9yIHByZXJlcXVpc2l0ZXMgd2hlbiBjb3B5aW5nIG1hbiBwYWdlcyBhbmQKK2luY2x1ZGUgYSBtYWtlZmlsZSByZWxhdGl2ZSB0byAkKHNyY2RpcikuCisKK0JhY2twb3J0ZWQgdG8gMi4wLjIta2xpYmMKKworU2lnbmVkLW9mZi1ieTogVHlsZXIgSGFsbCA8dHlsZXJ3aGFsbEBnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4KKworZGlmZiAtLWdpdCBhL2tkdW1wL01ha2VmaWxlIGIva2R1bXAvTWFrZWZpbGUKK2luZGV4IDFlMmI3MmMuLjVkZmE5MjggMTAwNjQ0CistLS0gYS9rZHVtcC9NYWtlZmlsZQorKysrIGIva2R1bXAvTWFrZWZpbGUKK0BAIC0yMiw3ICsyMiw3IEBAICQoS0RVTVApOiAkKEtEVU1QX09CSlMpCisgCisgJChLRFVNUF9NQU5QQUdFKToga2R1bXAva2R1bXAuOAorIAkkKE1LRElSKSAtcCAgICAgJChNQU5ESVIpL21hbjgKKy0JY3Aga2R1bXAva2R1bXAuOCAkKEtEVU1QX01BTlBBR0UpCisrCWNwICReICQoS0RVTVBfTUFOUEFHRSkKKyBlY2hvOjoKKyAJQGVjaG8gIktEVU1QX1NSQ1MgJChLRFVNUF9TUkNTKSIKKyAJQGVjaG8gIktEVU1QX0RFUFMgJChLRFVNUF9ERVBTKSIKK2RpZmYgLS1naXQgYS9rZXhlYy9NYWtlZmlsZSBiL2tleGVjL01ha2VmaWxlCitpbmRleCAyMTM3Y2FiLi44YzgxNWI1IDEwMDY0NAorLS0tIGEva2V4ZWMvTWFrZWZpbGUKKysrKyBiL2tleGVjL01ha2VmaWxlCitAQCAtODIsNyArODIsNyBAQCAkKEtFWEVDKTogQ1BQRkxBR1MrPS1JJChzcmNkaXIpL2tleGVjL2FyY2gvJChBUkNIKS9pbmNsdWRlCisgCisgJChLRVhFQ19NQU5QQUdFKToga2V4ZWMva2V4ZWMuOAorIAlAJChNS0RJUikgLXAgICAgICQoTUFORElSKS9tYW44CistCWNwIGtleGVjL2tleGVjLjggJChLRVhFQ19NQU5QQUdFKQorKwljcCAkXiAkKEtFWEVDX01BTlBBR0UpCisgZWNobzo6CisgCUBlY2hvICJLRVhFQ19TUkNTICQoS0VYRUNfU1JDUykiCisgCUBlY2hvICJLRVhFQ19ERVBTICQoS0VYRUNfREVQUykiCitkaWZmIC0tZ2l0IGEva2V4ZWMvYXJjaC9wcGMvTWFrZWZpbGUgYi9rZXhlYy9hcmNoL3BwYy9NYWtlZmlsZQoraW5kZXggM2RiYTdjZi4uNDEyNDJhNSAxMDA2NDQKKy0tLSBhL2tleGVjL2FyY2gvcHBjL01ha2VmaWxlCisrKysgYi9rZXhlYy9hcmNoL3BwYy9NYWtlZmlsZQorQEAgLTEsNyArMSw3IEBACisgIworICMga2V4ZWMgcHBjIChsaW51eCBib290aW5nIGxpbnV4KQorICMKKy1pbmNsdWRlIGtleGVjL2FyY2gvcHBjL2xpYmZkdC9NYWtlZmlsZS5saWJmZHQKKytpbmNsdWRlICQoc3JjZGlyKS9rZXhlYy9hcmNoL3BwYy9saWJmZHQvTWFrZWZpbGUubGliZmR0CisgCisgcHBjX0tFWEVDX1NSQ1MgPSAga2V4ZWMvYXJjaC9wcGMva2V4ZWMtcHBjLmMKKyBwcGNfS0VYRUNfU1JDUyArPSBrZXhlYy9hcmNoL3BwYy9rZXhlYy1lbGYtcHBjLmMKKworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL2lmZG93bl9lcnJuby5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIvaWZkb3duX2Vycm5vLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmOGNkZGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL2lmZG93bl9lcnJuby5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gYS9rZXhlYy9pZmRvd24uYworKysrIGIva2V4ZWMvaWZkb3duLmMKK0BAIC0xNCw3ICsxNCw3IEBACisgI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisgI2luY2x1ZGUgPHN5cy90aW1lLmg+CistI2luY2x1ZGUgPHN5cy9lcnJuby5oPgorKyNpbmNsdWRlIDxlcnJuby5oPgorIAorICNpbmNsdWRlIDxuZXQvaWYuaD4KKyAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi9rZXhlYy1lbGYtcmVsLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi9rZXhlYy1lbGYtcmVsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2NjZhZmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL2tleGVjLWVsZi1yZWwucGF0Y2gKQEAgLTAsMCArMSw2MSBAQAorLS0tIGEva2V4ZWMva2V4ZWMtZWxmLXJlbC5jCisrKysgYi9rZXhlYy9rZXhlYy1lbGYtcmVsLmMKK0BAIC00LDcgKzQsNyBAQAorICNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlIDxlcnJuby5oPgorICNpbmNsdWRlIDxzdGRsaWIuaD4KKy0jaW5jbHVkZSAiZWxmLmgiCisrI2luY2x1ZGUgIi4uL2luY2x1ZGUvZWxmLmgiCisgI2luY2x1ZGUgPGJvb3QvZWxmX2Jvb3QuaD4KKyAjaW5jbHVkZSAia2V4ZWMuaCIKKyAjaW5jbHVkZSAia2V4ZWMtZWxmLmgiCisKKy0tLSBhL2tleGVjL2FyY2gvYXJtL2tleGVjLWVsZi1yZWwtYXJtLmMKKysrKyBiL2tleGVjL2FyY2gvYXJtL2tleGVjLWVsZi1yZWwtYXJtLmMKK0BAIC0xLDUgKzEsNSBAQAorICNpbmNsdWRlIDxzdGRpby5oPgorLSNpbmNsdWRlIDxlbGYuaD4KKysjaW5jbHVkZSAiLi4vLi4vLi4vaW5jbHVkZS9lbGYuaCIKKyAjaW5jbHVkZSAiLi4vLi4va2V4ZWMuaCIKKyAjaW5jbHVkZSAiLi4vLi4va2V4ZWMtZWxmLmgiCisgCisKKy0tLSBhL2tleGVjL2FyY2gvaTM4Ni9rZXhlYy1lbGYtcmVsLXg4Ni5jCisrKysgYi9rZXhlYy9hcmNoL2kzODYva2V4ZWMtZWxmLXJlbC14ODYuYworQEAgLTEsNSArMSw1IEBACisgI2luY2x1ZGUgPHN0ZGlvLmg+CistI2luY2x1ZGUgPGVsZi5oPgorKyNpbmNsdWRlICIuLi8uLi8uLi9pbmNsdWRlL2VsZi5oIgorICNpbmNsdWRlICIuLi8uLi9rZXhlYy5oIgorICNpbmNsdWRlICIuLi8uLi9rZXhlYy1lbGYuaCIKKyAKKworLS0tIGEva2V4ZWMvYXJjaC9wcGMva2V4ZWMtZWxmLXJlbC1wcGMuYworKysrIGIva2V4ZWMvYXJjaC9wcGMva2V4ZWMtZWxmLXJlbC1wcGMuYworQEAgLTEsNSArMSw1IEBACisgI2luY2x1ZGUgPHN0ZGlvLmg+CistI2luY2x1ZGUgPGVsZi5oPgorKyNpbmNsdWRlICIuLi8uLi8uLi9pbmNsdWRlL2VsZi5oIgorICNpbmNsdWRlICIuLi8uLi9rZXhlYy5oIgorICNpbmNsdWRlICIuLi8uLi9rZXhlYy1lbGYuaCIKKyAKKworLS0tIGEva2V4ZWMvYXJjaC9wcGM2NC9rZXhlYy1lbGYtcmVsLXBwYzY0LmMKKysrKyBiL2tleGVjL2FyY2gvcHBjNjQva2V4ZWMtZWxmLXJlbC1wcGM2NC5jCitAQCAtMSw1ICsxLDUgQEAKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKy0jaW5jbHVkZSA8ZWxmLmg+CisrI2luY2x1ZGUgIi4uLy4uLy4uL2luY2x1ZGUvZWxmLmgiCisgI2luY2x1ZGUgPHN0cmluZy5oPgorICNpbmNsdWRlICIuLi8uLi9rZXhlYy5oIgorICNpbmNsdWRlICIuLi8uLi9rZXhlYy1lbGYuaCIKKworLS0tIGEva2V4ZWMvYXJjaC94ODZfNjQva2V4ZWMtZWxmLXJlbC14ODZfNjQuYworKysrIGIva2V4ZWMvYXJjaC94ODZfNjQva2V4ZWMtZWxmLXJlbC14ODZfNjQuYworQEAgLTEsNSArMSw1IEBACisgI2luY2x1ZGUgPHN0ZGlvLmg+CistI2luY2x1ZGUgPGVsZi5oPgorKyNpbmNsdWRlICIuLi8uLi8uLi9pbmNsdWRlL2VsZi5oIgorICNpbmNsdWRlICIuLi8uLi9rZXhlYy5oIgorICNpbmNsdWRlICIuLi8uLi9rZXhlYy1lbGYuaCIKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIva2V4ZWMtc3lzY2FsbC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIva2V4ZWMtc3lzY2FsbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODFkZTFiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi9rZXhlYy1zeXNjYWxsLnBhdGNoCkBAIC0wLDAgKzEsNDQgQEAKKy0tLSBhL2tleGVjL2tleGVjLXN5c2NhbGwuaAorKysrIGIva2V4ZWMva2V4ZWMtc3lzY2FsbC5oCitAQCAtMiw3ICsyLDcgQEAKKyAjZGVmaW5lIEtFWEVDX1NZU0NBTExfSAorIAorICNkZWZpbmUgX19MSUJSQVJZX18KKy0jaW5jbHVkZSA8c3lzY2FsbC5oPgorKy8qI2luY2x1ZGUgPHN5c2NhbGwuaD4qLworICNpbmNsdWRlIDxzeXMvc3lzY2FsbC5oPgorICNpbmNsdWRlIDx1bmlzdGQuaD4KKyAKK0BAIC0yMyw2ICsyMyw3IEBACisgI2RlZmluZSBMSU5VWF9SRUJPT1RfQ01EX0tFWEVDCQkweDQ1NTg0NTQzCisgCisgI2lmbmRlZiBfX05SX2tleGVjX2xvYWQKKysvKgorICNpZmRlZiBfX2kzODZfXworICNkZWZpbmUgX19OUl9rZXhlY19sb2FkCQkyODMKKyAjZW5kaWYKK0BAIC02MSwxOSArNjIsMjEgQEAKKyAjaWZuZGVmIF9fTlJfa2V4ZWNfbG9hZAorICNlcnJvciBVbmtub3duIHByb2Nlc3NvciBhcmNoaXRlY3R1cmUuICBOZWVkcyBhIGtleGVjX2xvYWQgc3lzY2FsbCBudW1iZXIuCisgI2VuZGlmCisrKi8KKyAjZW5kaWYgLyppZm5kZWYgX19OUl9rZXhlY19sb2FkKi8KKyAKKyBzdHJ1Y3Qga2V4ZWNfc2VnbWVudDsKKy0KKysvKgorIHN0YXRpYyBpbmxpbmUgbG9uZyBrZXhlY19sb2FkKHZvaWQgKmVudHJ5LCB1bnNpZ25lZCBsb25nIG5yX3NlZ21lbnRzLAorIAkJCXN0cnVjdCBrZXhlY19zZWdtZW50ICpzZWdtZW50cywgdW5zaWduZWQgbG9uZyBmbGFncykKKyB7CisgCXJldHVybiAobG9uZykgc3lzY2FsbChfX05SX2tleGVjX2xvYWQsIGVudHJ5LCBucl9zZWdtZW50cywgc2VnbWVudHMsIGZsYWdzKTsKKyB9CistCisrKi8KKyBzdGF0aWMgaW5saW5lIGxvbmcga2V4ZWNfcmVib290KHZvaWQpCisgeworLQlyZXR1cm4gKGxvbmcpIHN5c2NhbGwoX19OUl9yZWJvb3QsIExJTlVYX1JFQk9PVF9NQUdJQzEsIExJTlVYX1JFQk9PVF9NQUdJQzIsIExJTlVYX1JFQk9PVF9DTURfS0VYRUMsIDApOworKwkvL3JldHVybiAobG9uZykgc3lzY2FsbChfX05SX3JlYm9vdCwgTElOVVhfUkVCT09UX01BR0lDMSwgTElOVVhfUkVCT09UX01BR0lDMiwgTElOVVhfUkVCT09UX0NNRF9LRVhFQywgMCk7CisrCXJldHVybiBfX3JlYm9vdChMSU5VWF9SRUJPT1RfTUFHSUMxLCBMSU5VWF9SRUJPT1RfTUFHSUMyLCBMSU5VWF9SRUJPT1RfQ01EX0tFWEVDLCAwKTsKKyB9CisgCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL3BwY19fbHNocmRpMy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIvcHBjX19sc2hyZGkzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2Y2RmYjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL3BwY19fbHNocmRpMy5wYXRjaApAQCAtMCwwICsxLDE4IEBACistLS0gYS9wdXJnYXRvcnkvYXJjaC9wcGMvY3J0LlMKKysrKyBiL3B1cmdhdG9yeS9hcmNoL3BwYy9jcnQuUworQEAgLTI0OSw2ICsyNDksNyBAQAorICAqCisgICovCisgCisrLyogYWxyZWFkeSBkZWZpbmVkIGluIG1pc2MuUworIF9HTE9CQUwoX19sc2hyZGkzKQorIAlzdWJmaWMJNiw1LDMyCisgCXNydwk0LDQsNQkjIExTVyA9IGNvdW50ID4gMzEgPyAwIDogTFNXID4+IGNvdW50CitAQCAtMjU5LDUgKzI2MCw3IEBACisgCXNydwkzLDMsNQkjIE1TVyA9IE1TVyA+PiBjb3VudAorIAlvcgk0LDQsNwkjIExTVyB8PSB0MgorIAlibHIKKysqLworKworICNlbmRpZgorICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi9wdXJnYXRvcnlfZmxhZ3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL3B1cmdhdG9yeV9mbGFncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MWZjMTE2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi9wdXJnYXRvcnlfZmxhZ3MucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorLS0tIGEvcHVyZ2F0b3J5L01ha2VmaWxlCisrKysgYi9wdXJnYXRvcnkvTWFrZWZpbGUKK0BAIC00Nyw3ICs0Nyw3IEBACisgJChQVVJHQVRPUlkpOiBDQz0kKFRBUkdFVF9DQykKKyAkKFBVUkdBVE9SWSk6IENGTEFHUys9JChQVVJHQVRPUllfRVhUUkFfQ0ZMQUdTKSBcCisJCSAgICAgICQoJChBUkNIKV9QVVJHQVRPUllfRVhUUkFfQ0ZMQUdTKSBcCistCQkgICAgICAtT3MgLWZuby1idWlsdGluIC1mZnJlZXN0YW5kaW5nCisrCQkgICAgICAtT3MgLWZuby1idWlsdGluIC1mZnJlZXN0YW5kaW5nIC1ub3N0ZGluYworIAorICQoUFVSR0FUT1JZKTogQ1BQRkxBR1M9JCgkKEFSQ0gpX1BVUkdBVE9SWV9FWFRSQV9DRkxBR1MpIFwKKwkJCS1JJChzcmNkaXIpL3B1cmdhdG9yeS9pbmNsdWRlIFwKK0BAIC02MSw3ICs2MSw4IEBACisgCisgJChQVVJHQVRPUlkpOiAkKFBVUkdBVE9SWV9PQkpTKQorCSQoTUtESVIpIC1wICQoQEQpCistCSQoQ0MpICQoTERGTEFHUykgLW8gJEAgJF4KKysjCSQoQ0MpICQoTERGTEFHUykgLW8gJEAgJF4KKysJJChMRCkgJChMREZMQUdTKSAtbyAkQCAkXgorIAorICMJJChMRCkgJChMREZMQUdTKSAkKEVYVFJBX0xERkxBR1MpIC0tbm8tdW5kZWZpbmVkIC1lIHB1cmdhdG9yeV9zdGFydCAtciAtbyAkQCAkKFBVUkdBVE9SWV9PQkpTKSAkKFVUSUxfTElCKQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL3B1cmdhdG9yeV9zdHJpbmcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL3B1cmdhdG9yeV9zdHJpbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTcxMDU2MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIvcHVyZ2F0b3J5X3N0cmluZy5wYXRjaApAQCAtMCwwICsxLDkgQEAKKy0tLSBhL3B1cmdhdG9yeS9zdHJpbmcuYworKysrIGIvcHVyZ2F0b3J5L3N0cmluZy5jCitAQCAtMSw1ICsxLDUgQEAKKyAjaW5jbHVkZSA8c3RkZGVmLmg+CistI2luY2x1ZGUgPHN0cmluZy5oPgorKy8qICNpbmNsdWRlIDxzdHJpbmcuaD4gKi8KKyAKKyBzaXplX3Qgc3Rybmxlbihjb25zdCBjaGFyICpzLCBzaXplX3QgbWF4KQorIHsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIvc2hhMjU2LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi9zaGEyNTYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODViZjdhYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIvc2hhMjU2LnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKKy0tLSBhL3V0aWxfbGliL2luY2x1ZGUvc2hhMjU2LmgKKysrKyBiL3V0aWxfbGliL2luY2x1ZGUvc2hhMjU2LmgKK0BAIC0xLDcgKzEsOCBAQAorICNpZm5kZWYgU0hBMjU2X0gKKyAjZGVmaW5lIFNIQTI1Nl9ICisgCistI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorKy8vI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorKyNpbmNsdWRlIDxzdGRkZWYuaD4KKyAjaW5jbHVkZSA8c3RkaW50Lmg+CisgCisgdHlwZWRlZiBzdHJ1Y3QKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi9zeXNjb25mX25ycHJvY2Vzc29ycy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIvc3lzY29uZl9ucnByb2Nlc3NvcnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDRhOTdlNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIvc3lzY29uZl9ucnByb2Nlc3NvcnMucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorLS0tIGEva2V4ZWMvY3Jhc2hkdW1wLWVsZi5jCisrKysgYi9rZXhlYy9jcmFzaGR1bXAtZWxmLmMKK0BAIC00Nyw3ICs0Nyw4IEBACisJaWYgKHhlbl9wcmVzZW50KCkpCisJCW5yX2NwdXMgPSB4ZW5fZ2V0X25yX3BoeXNfY3B1cygpOworCWVsc2UKKy0JCW5yX2NwdXMgPSBzeXNjb25mKF9TQ19OUFJPQ0VTU09SU19DT05GKTsKKysJCS8qbnJfY3B1cyA9IHN5c2NvbmYoX1NDX05QUk9DRVNTT1JTX0NPTkYpOyovCisrCQlucl9jcHVzID0gMTsKKyAKKwlpZiAobnJfY3B1cyA8IDApIHsKKwkJcmV0dXJuIC0xOworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL3g4Nl9iYXNlbmFtZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIveDg2X2Jhc2VuYW1lLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3YTFjMDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL3g4Nl9iYXNlbmFtZS5wYXRjaApAQCAtMCwwICsxLDE0IEBACistLS0gYS9rZXhlYy9hcmNoL2kzODYveDg2LWxpbnV4LXNldHVwLmMKKysrKyBiL2tleGVjL2FyY2gvaTM4Ni94ODYtbGludXgtc2V0dXAuYworQEAgLTI4MCw5ICsyODAsOSBAQCBzdGF0aWMgaW50IGFkZF9lZGRfZW50cnkoc3RydWN0IHg4Nl9saW51CisJbWVtc2V0KGVkZF9pbmZvLCAwLCBzaXplb2Yoc3RydWN0IGVkZF9pbmZvKSk7CisgCisgCS8qIGV4dHJhY3QgdGhlIGRldmljZSBudW1iZXIgKi8KKy0JaWYgKHNzY2FuZihiYXNlbmFtZShzeXNmc19uYW1lKSwgImludDEzX2RldiVoaHgiLCAmZGV2bnVtKSAhPSAxKSB7CisrCWlmIChzc2NhbmYoc3RycmNocihzeXNmc19uYW1lLCcvJykgKyAxLCAiaW50MTNfZGV2JWhoeCIsICZkZXZudW0pICE9IDEpIHsKKyAJCWZwcmludGYoc3RkZXJyLCAiSW52YWxpZCBmb3JtYXQgb2YgaW50MTNfZGV2IGRpciAiCistCQkJCSJlbnRyeTogJXNcbiIsIGJhc2VuYW1lKHN5c2ZzX25hbWUpKTsKKysJCQkJImVudHJ5OiAlc1xuIiwgc3RycmNocihzeXNmc19uYW1lLCcvJykgKyAxKTsKKyAJCXJldHVybiAtMTsKKyAJfQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi94ODZfa2V4ZWNfdGVzdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIveDg2X2tleGVjX3Rlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTUwMGJkNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIveDg2X2tleGVjX3Rlc3QucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorLS0tIGEvTWFrZWZpbGUuaW4KKysrKyBiL01ha2VmaWxlLmluCitAQCAtMTA2LDggKzEwNiw4IEBACisgCisgTUFOX1BBR0VTOj0ga2V4ZWMva2V4ZWMuOAorIE1BTl9QQUdFUys9IGtkdW1wL2tkdW1wLjgKKy1CSU5BUklFU19pMzg2Oj0gICQoU0JJTkRJUikva2V4ZWMgJChQS0dMSUJESVIpL2tleGVjX3Rlc3QKKy1CSU5BUklFU194ODZfNjQ6PSQoU0JJTkRJUikva2V4ZWMgJChQS0dMSUJESVIpL2tleGVjX3Rlc3QKKytCSU5BUklFU19pMzg2Oj0gICQoU0JJTkRJUikva2V4ZWMKKytCSU5BUklFU194ODZfNjQ6PSQoU0JJTkRJUikva2V4ZWMKKyBCSU5BUklFUzo9JChTQklORElSKS9rZXhlYyAkKFNCSU5ESVIpL2tkdW1wICQoQklOQVJJRVNfJChBUkNIKSkKKyAKKyBUQVJHRVRTOj0kKEJJTkFSSUVTKSAkKE1BTl9QQUdFUykKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIveDg2X3N5c19pby5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIveDg2X3N5c19pby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDk3YzlhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi94ODZfc3lzX2lvLnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKKy0tLSBhL3B1cmdhdG9yeS9hcmNoL2kzODYvcGljLmMKKysrKyBiL3B1cmdhdG9yeS9hcmNoL2kzODYvcGljLmMKK0BAIC0xNiw3ICsxNiw3IEBACisgICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAgKiBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyAgKi8KKy0jaW5jbHVkZSA8c3lzL2lvLmg+CisrI2luY2x1ZGUgImluY2x1ZGUvYXJjaC9pby5oIgorICNpbmNsdWRlIDxwdXJnYXRvcnkuaD4KKyAjaW5jbHVkZSAicHVyZ2F0b3J5LXg4Ni5oIgorIAorCistLS0gYS9wdXJnYXRvcnkvYXJjaC9pMzg2L3ZnYS5jCisrKysgYi9wdXJnYXRvcnkvYXJjaC9pMzg2L3ZnYS5jCitAQCAtMSw0ICsxLDQgQEAKKy0jaW5jbHVkZSA8c3lzL2lvLmg+CisrI2luY2x1ZGUgImluY2x1ZGUvYXJjaC9pby5oIgorICNpbmNsdWRlIDxwdXJnYXRvcnkuaD4KKyAjaW5jbHVkZSAicHVyZ2F0b3J5LXg4Ni5oIgorIAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL3g4Nl92ZnNjYW5mLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi94ODZfdmZzY2FuZi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYWQ2OTUxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi94ODZfdmZzY2FuZi5wYXRjaApAQCAtMCwwICsxLDI3IEBACistLS0gYS9rZXhlYy9hcmNoL2kzODYveDg2LWxpbnV4LXNldHVwLmMKKysrKyBiL2tleGVjL2FyY2gvaTM4Ni94ODYtbGludXgtc2V0dXAuYworQEAgLTE3Niw2ICsxNzYsOCBAQCBzdGF0aWMgaW50IGZpbGVfc2NhbmYoY29uc3QgY2hhciAqZGlyLCBjCisgCUZJTEUgKmZwOworIAlpbnQgcmV0bm87CisgCWNoYXIgZmlsZW5hbWVbUEFUSF9NQVhdOworKwlsb25nIGxpbmVfc2l6ZSA9IE1BWF9MSU5FOworKwljaGFyICpsaW5lOworIAorIAlzbnByaW50ZihmaWxlbmFtZSwgUEFUSF9NQVgsICIlcy8lcyIsIGRpciwgZmlsZSk7CisgCWZpbGVuYW1lW1BBVEhfTUFYLTFdID0gMDsKK0BAIC0xODYsNyArMTg4LDE0IEBAIHN0YXRpYyBpbnQgZmlsZV9zY2FuZihjb25zdCBjaGFyICpkaXIsIGMKKyAJfQorIAorIAl2YV9zdGFydChhcmdwdHIsIHNjYW5mX2xpbmUpOworLQlyZXRubyA9IHZmc2NhbmYoZnAsIHNjYW5mX2xpbmUsIGFyZ3B0cik7CisrCisrCWxpbmUgPSB4bWFsbG9jKHNpemVvZihsaW5lKSAqIGxpbmVfc2l6ZSk7CisrCXdoaWxlKGZnZXRzKGxpbmUsIHNpemVvZihsaW5lKSwgZnApICE9IE5VTEwgKSB7CisrCQlsaW5lX3NpemUgKz0gTUFYX0xJTkU7CisrCQlsaW5lID0geHJlYWxsb2MobGluZSxsaW5lX3NpemUpOworKwl9CisrCXJldG5vID0gdnNzY2FuZihsaW5lLCBzY2FuZl9saW5lLCBhcmdwdHIpOworKworIAl2YV9lbmQoYXJncHRyKTsKKyAKKyAJZmNsb3NlKGZwKTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmNfMi4wLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjXzIuMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5ZmVjMjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjXzIuMC4yLmJiCkBAIC0wLDAgKzEsNDAgQEAKKyMgdGhlIGJpbmFyaWVzIGFyZSBzdGF0aWNhbGx5IGxpbmtlZCBhZ2FpbnN0IGtsaWJjCityZXF1aXJlIHJlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLmluYworU1VNTUFSWSA9ICJLZXhlYyB0b29scywgc3RhdGljYWxseSBjb21waWxlZCBhZ2FpbnN0IGtsaWJjIgorU1JDX1VSSVttZDVzdW1dID0gIjkyZWZmOTNiMDk3NDc1Yjc3NjdmOGM5OGRmODQ0MDhhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA5ZTE4MGZmMzZkZWUwODcxODJjZGM5MzliYTZjNjkxN2I2YWRiYjVmYzEyZDU4OWYzMWZkMzY1OWI2NDcxZjIiCisKK2luaGVyaXQga2xpYmMKKworRklMRVNQQVRIID0uICIke0ZJTEVfRElSTkFNRX0va2V4ZWMtdG9vbHMtJHtQVn06IgorCitTUkNfVVJJID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvdXRpbHMva2VybmVsL2tleGVjL2tleGVjLXRvb2xzLSR7UFZ9LnRhci5neiIKKworU1JDX1VSSSArPSAiIFwKKyAgICAgICAgICAgIGZpbGU6Ly9rZXhlYy1lbGYtcmVsLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9rZXhlYy1zeXNjYWxsLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9jZmxhZ3Nfc3RhdGljLnBhdGNoICBcCisgICAgICAgICAgICBmaWxlOi8vaWZkb3duX2Vycm5vLnBhdGNoICBcCisgICAgICAgICAgICBmaWxlOi8vcHVyZ2F0b3J5X2ZsYWdzLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9wdXJnYXRvcnlfc3RyaW5nLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9zaGEyNTYucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL3N5c2NvbmZfbnJwcm9jZXNzb3JzLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9maXgtb3V0LW9mLXRyZWUtYnVpbGQucGF0Y2ggXAorICAgICAgICAgICAgIgorCitTUkNfVVJJX2FwcGVuZF9hcm0gPSAiIGZpbGU6Ly9hcm1fY3Jhc2hkdW1wLnBhdGNoIgorU1JDX1VSSV9hcHBlbmRfcG93ZXJwYyA9ICIgZmlsZTovL3BwY19fbHNocmRpMy5wYXRjaCIKK1NSQ19VUklfYXBwZW5kX3g4NiA9ICIgZmlsZTovL3g4Nl9zeXNfaW8ucGF0Y2ggZmlsZTovL3g4Nl9iYXNlbmFtZS5wYXRjaCBmaWxlOi8veDg2X3Zmc2NhbmYucGF0Y2ggZmlsZTovL3g4Nl9rZXhlY190ZXN0LnBhdGNoIgorU1JDX1VSSV9hcHBlbmRfeDg2LTY0ID0gIiBmaWxlOi8veDg2X3N5c19pby5wYXRjaCBmaWxlOi8veDg2X2Jhc2VuYW1lLnBhdGNoIGZpbGU6Ly94ODZfdmZzY2FuZi5wYXRjaCBmaWxlOi8veDg2X2tleGVjX3Rlc3QucGF0Y2giCisKK1MgPSAiJHtXT1JLRElSfS9rZXhlYy10b29scy0ke1BWfSIKKworRVhUUkFfT0VDT05GICs9ICItLXdpdGhvdXQtemxpYiAtLXdpdGhvdXQtbHptYSAtLXdpdGhvdXQteGVuIgorCitDRkxBR1MgKz0gIi1JJHtTVEFHSU5HX0RJUl9IT1NUfSR7bGliZGlyfS9rbGliYy9pbmNsdWRlIC1JJHtTVEFHSU5HX0RJUl9IT1NUfSR7bGliZGlyfS9rbGliYy9pbmNsdWRlL2JpdHMzMiIKK0NGTEFHU194ODYtNjQgKz0gIi1JJHtTVEFHSU5HX0RJUl9IT1NUfSR7bGliZGlyfS9rbGliYy9pbmNsdWRlIC1JJHtTVEFHSU5HX0RJUl9IT1NUfSR7bGliZGlyfS9rbGliYy9pbmNsdWRlL2JpdHM2NCIKKworUEFDS0FHRVMgPSsgImtleGVjLWtsaWJjIGtkdW1wLWtsaWJjIgorCitGSUxFU19rZXhlYy1rbGliYyA9ICIke3NiaW5kaXJ9L2tleGVjIgorRklMRVNfa2R1bXAta2xpYmMgPSAiJHtzYmluZGlyfS9rZHVtcCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tdGlueS1rZXhlY2Jvb3QvcmV2ZXJ0LWNoZWNrLWNvbnNvbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLXRpbnkta2V4ZWNib290L3JldmVydC1jaGVjay1jb25zb2xlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlNWU4ZDkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLXRpbnkta2V4ZWNib290L3JldmVydC1jaGVjay1jb25zb2xlLnBhdGNoCkBAIC0wLDAgKzEsNDcgQEAKK0Zyb20gYTc0ZTBiZjUxYWRjYzg2N2I3M2ZjNDQwNTBlYjliZGU5ODVjOWNiYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KK0RhdGU6IFN1biwgMjggRmViIDIwMTYgMDE6MDk6MTkgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gbWFpbi5jOiByZXZlcnQgY2hlY2sgb24gY29uc29sZSBkZXZpY2UKKworRml4IGtlcm5lbCBwYW5pYyBiZWNhdXNlIG9mIHRoZSBtaXNzaW5nIC9kZXYvY29uc29sZS4KKworUmV2ZXJ0IFlvY3RvLXNwZWNpZmljIDogImNoZWNrIGNvbnNvbGUgZGV2aWNlIGZpbGUgb24gZnMgd2hlbiBib290aW5nIi4KKworVGhlIGluaXRyYW1mcyB1c2VkIGluIHRoaXMga2VybmVsIG5lZWRzIHRvIGJlIG9mIHRoZSBzbWFsbGVzdCBwb3NzaWJsZQorc2l6ZSBzbyB3ZSBzYXZlIGEgZmV3IGtiIGJ5IGRlcGxveWluZyBhbiBlbXB0eSAvZGV2IHdoaWNoIGlzIHBvcHVsYXRlZAorYWZ0ZXIgYm9vdCBieSB0aGUgaW5pdCAoa2V4ZWNib290IGNoZWNrcyBhbmQgcmVjcmVhdGVzIHRoZSBkZXZpY2VzCit3aXRoIG9yIHdpdGhvdXQgZGV2dG1wZnMpLgorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWEgQWRhbWkgPGFuZHJlYS5hZGFtaUBnbWFpbC5jb20+CistLS0KKyBpbml0L21haW4uYyB8IDcgLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaW5pdC9tYWluLmMgYi9pbml0L21haW4uYworaW5kZXggZDE5MWQyYS4uOWU2NGQ3MCAxMDA2NDQKKy0tLSBhL2luaXQvbWFpbi5jCisrKysgYi9pbml0L21haW4uYworQEAgLTk3Niw3ICs5NzYsNiBAQCBzdGF0aWMgaW50IF9fcmVmIGtlcm5lbF9pbml0KHZvaWQgKnVudXNlZCkKKyAKKyBzdGF0aWMgbm9pbmxpbmUgdm9pZCBfX2luaXQga2VybmVsX2luaXRfZnJlZWFibGUodm9pZCkKKyB7CistCXN0cnVjdCBzdGF0IGNvbnNvbGVfc3RhdDsKKyAJLyoKKyAJICogV2FpdCB1bnRpbCBrdGhyZWFkZCBpcyBhbGwgc2V0LXVwLgorIAkgKi8KK0BAIC0xMDA4LDEyICsxMDA3LDYgQEAgc3RhdGljIG5vaW5saW5lIHZvaWQgX19pbml0IGtlcm5lbF9pbml0X2ZyZWVhYmxlKHZvaWQpCisgCisgCWRvX2Jhc2ljX3NldHVwKCk7CisgCistCS8qIFVzZSAvZGV2L2NvbnNvbGUgdG8gaW5mZXIgaWYgdGhlIHJvb3RmcyBpcyBzZXR1cCBwcm9wZXJseSAqLworLQlpZiAoc3lzX25ld2xzdGF0KChjaGFyIF9fdXNlciAqKSAiL2Rldi9jb25zb2xlIiwgKHN0cnVjdCBzdGF0IF9fdXNlciAqKSAmY29uc29sZV9zdGF0KQorLQkJCXx8ICFTX0lTQ0hSKGNvbnNvbGVfc3RhdC5zdF9tb2RlKSkgeworLQkJcGFuaWMoIi9kZXYvY29uc29sZSBpcyBtaXNzaW5nIG9yIG5vdCBhIGNoYXJhY3RlciBkZXZpY2UhXG5QbGVhc2UgZW5zdXJlIHlvdXIgcm9vdGZzIGlzIHByb3Blcmx5IGNvbmZpZ3VyZWRcbiIpOworLQl9CistCisgCS8qIE9wZW4gdGhlIC9kZXYvY29uc29sZSBvbiB0aGUgcm9vdGZzLCB0aGlzIHNob3VsZCBuZXZlciBmYWlsICovCisgCWlmIChzeXNfb3BlbigoY29uc3QgY2hhciBfX3VzZXIgKikgIi9kZXYvY29uc29sZSIsIE9fUkRXUiwgMCkgPCAwKQorIAkJcHJfZXJyKCJXYXJuaW5nOiB1bmFibGUgdG8gb3BlbiBhbiBpbml0aWFsIGNvbnNvbGUuXG4iKTsKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by10aW55LWtleGVjYm9vdF80LjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLXRpbnkta2V4ZWNib290XzQuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NmUwZTUzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by10aW55LWtleGVjYm9vdF80LjQuYmIKQEAgLTAsMCArMSwyOSBAQAorcmVxdWlyZSByZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by10aW55XyR7UFZ9LmJiCitTVU1NQVJZID0gIllvY3RvIHRpbnkga2VybmVsIGVtYmVkZGluZyBhIG1pbmltYWxpc3RpYyBrZXhlY2Jvb3QgaW5pdHJhbWZzIgorCitTUkNfVVJJICs9ICJmaWxlOi8vcmV2ZXJ0LWNoZWNrLWNvbnNvbGUucGF0Y2giCisKK1BBQ0tBR0VTID0gIiIKK1BST1ZJREVTID0gIiIKKworS0VSTkVMX0lNQUdFX0JBU0VfTkFNRSA9ICIke0tFUk5FTF9JTUFHRVRZUEV9LXlvY3RvLXRpbnkta2V4ZWNib290LSR7UFZ9LSR7TUFDSElORX0iCitLRVJORUxfSU1BR0VfU1lNTElOS19OQU1FID0gIiR7S0VSTkVMX0lNQUdFVFlQRX0teW9jdG8tdGlueS1rZXhlY2Jvb3QtJHtNQUNISU5FfSIKKworSU5JVFJBTUZTX0lNQUdFID0gImluaXRyYW1mcy1rZXhlY2Jvb3Qta2xpYmMtaW1hZ2UiCitJTklUUkFNRlNfVEFTSyA9ICIke0lOSVRSQU1GU19JTUFHRX06ZG9faW1hZ2VfY29tcGxldGUiCisKKyMgZGlzYWJsZSB1bm5lZWRlZCB0YXNrcworZG9fc2hhcmVkX3dvcmtkaXJbbm9leGVjXSA9ICIxIgorZG9faW5zdGFsbFtub2V4ZWNdID0gIjEiCitkb19wYWNrYWdlW25vZXhlY10gPSAiMSIKK2RvX3BhY2thZ2VfcWFbbm9leGVjXSA9ICIxIgorZG9fcGFja2FnZWRhdGFbbm9leGVjXSA9ICIxIgorZG9fcGFja2FnZV9kZWJbbm9leGVjXSA9ICIxIgorZG9fcGFja2FnZV9pcGtbbm9leGVjXSA9ICIxIgorZG9fcGFja2FnZV9ycG1bbm9leGVjXSA9ICIxIgorZG9fcGFja2FnZV90YXJbbm9leGVjXSA9ICIxIgorZG9fcGFja2FnZV93cml0ZV9kZWJbbm9leGVjXSA9ICIxIgorZG9fcGFja2FnZV93cml0ZV9pcGtbbm9leGVjXSA9ICIxIgorZG9fcGFja2FnZV93cml0ZV9ycG1bbm9leGVjXSA9ICIxIgorZG9fcGFja2FnZV93cml0ZV90YXJbbm9leGVjXSA9ICIxIgorZG9fcG9wdWxhdGVfc3lzcm9vdFtub2V4ZWNdID0gIjEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9DT1BZSU5HLk1JVCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL0NPUFlJTkcuTUlUCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiOTUwZGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9DT1BZSU5HLk1JVApAQCAtMCwwICsxLDE3IEBACitQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IAorb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgCitpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIAordG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCAKK2NvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyAKK2Z1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisKK1RoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIAorYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisKK1RIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SIAorSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIAorRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIAorQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiAKK0xJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIAorT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiAKK1RIRSBTT0ZUV0FSRS4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL1JFQURNRSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL1JFQURNRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MzY0NjE4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvUkVBRE1FCkBAIC0wLDAgKzEsMjAgQEAKK1RoaXMgbGF5ZXIgZGVwZW5kcyBvbjoKKworVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9vZS1jb3JlLmdpdAorYnJhbmNoOiBrcm9nb3RoCityZXZpc2lvbjogSEVBRAorCitVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL21ldGEtb2UuZ2l0CitsYXllcnM6IG1ldGEtb2UsIG1ldGEtcnVieQorYnJhbmNoOiBrcm9nb3RoCityZXZpc2lvbjogSEVBRAorCitTZW5kIHB1bGwgcmVxdWVzdHMgdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgd2l0aCAnW21ldGEtbXVsdGltZWRpYV1ba3JvZ290aF0nIGluIHRoZSBzdWJqZWN0JworCitXaGVuIHNlbmRpbmcgc2luZ2xlIHBhdGNoZXMsIHBsZWFzZSB1c2Ugc29tZXRoaW5nIGxpa2U6CisnZ2l0IHNlbmQtZW1haWwgLU0gLTEgLS10byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyAtLXN1YmplY3QtcHJlZml4PW1ldGEtbXVsdGltZWRpYV1ba3JvZ290aF1bUEFUQ0gKKworWW91IGFyZSBlbmNvdXJhZ2VkIHRvIGZvcmsgdGhlIG1pcnJvciBvbiBnaXRodWIgaHR0cHM6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9tZXRhLW9lLyB0byBzaGFyZSB5b3VyIHBhdGNoZXMsIHRoaXMgaXMgcHJlZmVycmVkIGZvciBwYXRjaCBzZXRzIGNvbnNpc3Rpbmcgb2YgbW9yZSB0aGFuIG9uZSBwYXRjaC4gT3RoZXIgc2VydmljZXMgbGlrZSBnaXRvcmlvdXMsIHJlcG8ub3IuY3ogb3Igc2VsZiBob3N0ZWQgc2V0dXBzIGFyZSBvZiBjb3Vyc2UgYWNjZXB0ZWQgYXMgd2VsbCwgJ2dpdCBmZXRjaCA8cmVtb3RlPicgd29ya3MgdGhlIHNhbWUgb24gYWxsIG9mIHRoZW0uIFdlIHJlY29tbWVuZCBnaXRodWIgYmVjYXVzZSBpdCBpcyBmcmVlLCBlYXN5IHRvIHVzZSwgaGFzIGJlZW4gcHJvdmVuIHRvIGJlIHJlbGlhYmxlIGFuZCBoYXMgYSByZWFsbHkgZ29vZCB3ZWIgR1VJLgorCitrcm9nb3RoIEJyYW5jaCBNYWludGFpbmVyOgorQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL2NvbmYvbGF5ZXIuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL2NvbmYvbGF5ZXIuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NGEwYTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvY29uZi9sYXllci5jb25mCkBAIC0wLDAgKzEsMjUgQEAKKyMgSXQgcmVhbGx5IGRlcGVuZHMgb24gb3JkZXIgb2YgdGhlIGxheWVycyBhcHBlYXJpbmcgaW4gQkJMQVlFUlMKKyMgdmFyaWFibGUgaW4gdG9wbGV2ZWwgYmJsYXllcnMuY29uZiBmaWxlLCB3aGVyZSBiaXRiYWtlIHdpbGwgc2VhcmNoCisjIGZvciAuaW5jIGZpbGVzIGFuZCBvdGhlcnMgd2hlcmUgYml0YmFrZSB1c2VzIEJCUEFUSCBzaW5jZSBpdCB3aWxsCisjIHNlYXJjaCB0aGUgZGlyZWN0b3JpZXMgZnJvbSBmaXJzdCB0byBsYXN0IGFzIHNwZWNpZmllZCBpbiBCQlBBVEgKKyMgVGhlcmVmb3JlIGlmIHlvdSB3YW50IGEgZ2l2ZW4gbGF5ZXIgdG8gYmUgY29uc2lkZXJlZCBoaWdoIHByaW9yaXR5CisjIGZvciB0aGUgLmluYyBhbmQgLmNvbmYgZXRjLiB0aGVuIGNvbnNpZGVyIGl0IGFkZGluZyBhdCB0aGUgYmVnaW5uaW5nCisjIG9mIEJCUEFUSC4gRm9yIGJibGF5ZXJzIGJpdGJha2Ugd2lsbCB1c2UgQkJGSUxFU19QUklPUklUWSB0byByZXNvbHZlCisjIHRoZSByZWNpcGUgY29udGVudGlvbiBzbyB0aGUgb3JkZXIgb2YgZGlyZWN0b3JpZXMgaW4gQkJGSUxFUyBkb2VzIAorIyBub3QgbWF0dGVyLgorCisjIFdlIGhhdmUgYSBjb25mIGFuZCBjbGFzc2VzIGRpcmVjdG9yeSwgYXBwZW5kIHRvIEJCUEFUSAorQkJQQVRIIC49ICI6JHtMQVlFUkRJUn0iCisKKyMgV2UgaGF2ZSBhIHJlY2lwZXMgZGlyZWN0b3J5LCBhZGQgdG8gQkJGSUxFUworQkJGSUxFUyArPSAiJHtMQVlFUkRJUn0vcmVjaXBlcy0qLyovKi5iYiAke0xBWUVSRElSfS9yZWNpcGVzLSovKi8qLmJiYXBwZW5kIgorCitCQkZJTEVfQ09MTEVDVElPTlMgKz0gIm11bHRpbWVkaWEtbGF5ZXIiCitCQkZJTEVfUEFUVEVSTl9tdWx0aW1lZGlhLWxheWVyIDo9ICJeJHtMQVlFUkRJUn0vIgorCisjIERlZmluZSB0aGUgcHJpb3JpdHkgZm9yIHJlY2lwZXMgKC5iYiBmaWxlcykgZnJvbSB0aGlzIGxheWVyLAorIyBjaG9vc2luZyBjYXJlZnVsbHkgaG93IHRoaXMgbGF5ZXIgaW50ZXJhY3RzIHdpdGggYWxsIG9mIHRoZQorIyBvdGhlciBsYXllcnMuCisKK0JCRklMRV9QUklPUklUWV9tdWx0aW1lZGlhLWxheWVyID0gIjYiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2d1cG5wL2dzc2RwLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2d1cG5wL2dzc2RwLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yM2YxN2VkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ3VwbnAvZ3NzZHAuaW5jCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiUmVzb3VyY2UgZGlzY292ZXJ5IGFuZCBhbm5vdW5jZW1lbnQgb3ZlciBTU0RQIgorREVTQ1JJUFRJT04gPSAiR1NTRFAgaW1wbGVtZW50cyByZXNvdXJjZSBkaXNjb3ZlcnkgYW5kIGFubm91bmNlbWVudCBvdmVyIFNTRFAgKFNpbXBlIFNlcnZpY2UgRGlzY292ZXJ5IFByb3RvY29sKS4iCitMSUNFTlNFID0gIkxHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTNiZjUwMDAyYWVmZDAwMmY0OWU3YmI4NTQwNjNmN2U3IgorREVQRU5EUyA9ICJnbGliLTIuMCBsaWJzb3VwLTIuNCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdvYmplY3QtaW50cm9zcGVjdGlvbiB2YWxhCisKKyMgQ29weSB2YXBpZ2VuLm00IHNvIHRoYXQgaXQgZG9lc24ndCBnZXQgcmVtb3ZlZCBieSB2YWxhIGNsYXNzCisjIChub3JtYWxseSB0aGlzIHdvdWxkIGJlIHRoZSByaWdodCB0aGluZyB0byBkbywgYnV0IGluIGdzc2RwIHRoZSB2YXBpZ2VuLm00IGhhcyBvbmx5IGEgY3VzdG9tIG1hY3JvKQorZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgICAgIGNwIC1mICR7U30vbTQvdmFwaWdlbi5tNCAke1N9L200L3ZhcGlnZW4tY3VzdG9tLm00IHx8IHRydWUKK30KKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ2d0aycsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHW2d0a10gPSAiLS13aXRoLWd0aywtLXdpdGhvdXQtZ3RrLGd0aysiCisKK1BBQ0tBR0VTID0rICJnc3NkcC10b29scyIKKworRklMRVNfZ3NzZHAtdG9vbHMgPSAiJHtiaW5kaXJ9L2dzc2RwKiAke2RhdGFkaXJ9L2dzc2RwLyouZ2xhZGUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ndXBucC9nc3NkcF8wLjE0LjguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ndXBucC9nc3NkcF8wLjE0LjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTQ1N2FiYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2d1cG5wL2dzc2RwXzAuMTQuOC5iYgpAQCAtMCwwICsxLDkgQEAKK3JlcXVpcmUgZ3NzZHAuaW5jCisKK2luaGVyaXQgZ3RrLWRvYworCitQQUNLQUdFQ09ORklHW2d0a10gPSAiLS13aXRoLWd0aywtLXdpdGhvdXQtZ3RrLGd0ayszIgorCitTUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS8ke0JQTn0vMC4xNC8ke0JQTn0tJHtQVn0udGFyLnh6IgorU1JDX1VSSVttZDVzdW1dID0gImI4NjU4ZTQ4MGQwNDdjYWYyZDkyYmFhNGE1MWI5YWU3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRjM2ZmYTAxNDM1ZTg0ZGMzMWM5NTRlNjY5ZTFjYTA3NDliOTYyZjc2YTMzM2U3NGY1YzJjYjBkZTU4MDNhMTMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ndXBucC9ndXBucC1hdi5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ndXBucC9ndXBucC1hdi5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDU0NDUwMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2d1cG5wL2d1cG5wLWF2LmluYwpAQCAtMCwwICsxLDEzIEBACitTVU1NQVJZID0gIkhlbHBlcnMgZm9yIEFWIGFwcGxpY2F0aW9ucyB1c2luZyBVUG5QIgorREVTQ1JJUFRJT04gPSAiR1VQblAtQVYgaXMgYSBjb2xsZWN0aW9uIG9mIGhlbHBlcnMgZm9yIGJ1aWxkaW5nIEFWIChhdWRpby92aWRlbykgYXBwbGljYXRpb25zIHVzaW5nIEdVUG5QLiIKK0xJQ0VOU0UgPSAiTEdQTHYyIgorREVQRU5EUyA9ICJndXBucCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdvYmplY3QtaW50cm9zcGVjdGlvbiB2YWxhCisKKyMgQ29weSB2YXBpZ2VuLm00IHNvIHRoYXQgaXQgZG9lc24ndCBnZXQgcmVtb3ZlZCBieSB2YWxhIGNsYXNzCisjIChub3JtYWxseSB0aGlzIHdvdWxkIGJlIHRoZSByaWdodCB0aGluZyB0byBkbywgYnV0IGluIGd1cG5wLWF2IHRoZSB2YXBpZ2VuLm00IGhhcyBvbmx5IGEgY3VzdG9tIG1hY3JvKQorZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgICAgIGNwIC1mICR7U30vbTQvdmFwaWdlbi5tNCAke1N9L200L3ZhcGlnZW4tY3VzdG9tLm00IHx8IHRydWUKK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ3VwbnAvZ3VwbnAtYXZfMC4xMi42LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ3VwbnAvZ3VwbnAtYXZfMC4xMi42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4Y2ZhMjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ndXBucC9ndXBucC1hdl8wLjEyLjYuYmIKQEAgLTAsMCArMSw4IEBACityZXF1aXJlIGd1cG5wLWF2LmluYworCitTUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS8ke0JQTn0vMC4xMi8ke0JQTn0tJHtQVn0udGFyLnh6IgorU1JDX1VSSVttZDVzdW1dID0gImY1NmNkYjI2OTM3NmE5ZTZjYjA2MmViOTk2MGNjZjU3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImUwNTUzZDYwZGQ3YzcyNzdjNjVjMDJhNjhhMjcwYzRkY2I5MDM2YTRjNzA3NWM5MDJmYzgxMTFjNmE1ZTZhNDQiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTNiZjUwMDAyYWVmZDAwMmY0OWU3YmI4NTQwNjNmN2U3IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYmd1cG5wLWF2L2d1cG5wLWF2Lmg7YmVnaW5saW5lPTE7ZW5kbGluZT0yMjttZDU9MmI0N2I3YjVmNzk5ZDJlYmFiZTYyYjg5NWU4NDg4MjAiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ndXBucC9ndXBucC1kbG5hXzAuOS40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ3VwbnAvZ3VwbnAtZGxuYV8wLjkuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTM2MDRlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ3VwbnAvZ3VwbnAtZGxuYV8wLjkuNC5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIkhlbHBlcnMgZm9yIEFWIGFwcGxpY2F0aW9ucyB1c2luZyBETE5BIgorTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWJndXBucC1kbG5hL2d1cG5wLWRsbmEtcHJvZmlsZS5oO2JlZ2lubGluZT0xO2VuZGxpbmU9MjI7bWQ1PTFiODU0NTlmNjVjYjFlNzNhODg1Y2ExMzdhYWI2Mjc0IgorCitERVBFTkRTID0gImxpYnhtbDIgZ2xpYi0yLjAiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLmdub21lLm9yZy9zb3VyY2VzLyR7QlBOfS8wLjkvJHtCUE59LSR7UFZ9LnRhci54eiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJmOTM2NjVlNTM1YTUxMmU0ZDUxNWE4NjMxMTQzNWNiNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2OTk2OTcxM2YzNmMwZTgxNWZiYmJjZmRmYjNhZDliZDQ0N2NmZDEwZDBmZDg2MjI3ZDgyZGZkOGVkYjZjODA3IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ29iamVjdC1pbnRyb3NwZWN0aW9uIHZhbGEKKworUEFDS0FHRUNPTkZJRyA/PSAiZ3N0cmVhbWVyIgorUEFDS0FHRUNPTkZJR1tnc3RyZWFtZXJdID0gIi0tZW5hYmxlLWdzdHJlYW1lci1tZXRhZGF0YS1iYWNrZW5kLC0tZGlzYWJsZS1nc3RyZWFtZXItbWV0YWRhdGEtYmFja2VuZCxnc3RyZWFtZXIxLjAgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZ3VwbnAtZGxuYS0yLjAvZGxuYS1wcm9maWxlcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2d1cG5wL2d1cG5wLWlnZF8wLjIuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2d1cG5wL2d1cG5wLWlnZF8wLjIuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wY2M0YTNhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ3VwbnAvZ3VwbnAtaWdkXzAuMi4yLmJiCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAiSGVscGVycyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBJbnRlcm5ldCBHYXRld2F5IERldmljZXMgb3ZlciBVUG5QIgorTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hNmY4OWUyMTAwZDliNmNkZmZjZWE0ZjM5OGUzNzM0MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWJndXBucC1pZ2QvZ3VwbnAtc2ltcGxlLWlnZC5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjE7bWQ1PWFhMjkyYzBkOTM5MDQ2M2E2ZTEwNTVkYzVmYzY4ZTgwIgorCitERVBFTkRTID0gImdsaWItMi4wIGd1cG5wIHNxbGl0ZTMiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLmdub21lLm9yZy9zb3VyY2VzLyR7QlBOfS8wLjIvJHtCUE59LSR7UFZ9LnRhci54eiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJmODgxMzIzMzA0MTg1YzAyNjM0MDM0ZTNiZGE3MTRiYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3M2I2YTk4YTBmMTNiMjliMzRjM2JmYzA3Zjk5Zjc4YjEzMTkyMTFjYjk1YTg1ODU3NTI4NzNhZjJiOTA2N2QzIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ3RrLWRvYyBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1weXRob24iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ndXBucC9ndXBucC10b29sc18wLjguMTAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ndXBucC9ndXBucC10b29sc18wLjguMTAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODIxYjVhMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2d1cG5wL2d1cG5wLXRvb2xzXzAuOC4xMC5iYgpAQCAtMCwwICsxLDEyIEBACitTVU1NQVJZID0gIlRvb2xzIGZvciBHVVBuUCIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL25ldHdvcmstbGlnaHQvbWFpbi5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjE7bWQ1PTJjMzliM2EwMDA0OTVkYWJkNDkzMmYyMzFjN2VmZWQ4IgorREVQRU5EUyA9ICJndXBucCBndXBucC1hdiBndGsrMyIKK1JSRUNPTU1FTkRTXyR7UE59ID0gImFkd2FpdGEtaWNvbi10aGVtZSIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQuZ25vbWUub3JnL3NvdXJjZXMvJHtCUE59LzAuOC8ke0JQTn0tJHtQVn0udGFyLnh6IgorU1JDX1VSSVttZDVzdW1dID0gImFkODQyM2QwMzZlOThiYzZmODc3NTI4ZDZiODQ2ZjZhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU5MmM1MzI4OWZmMWNkNzBlNjc2NDA1YzU2Y2E4N2IyOGQyZGEzN2EzODVkMzRhM2JiOWI5NDRiYTkxMDhkMTciCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ3VwbnAvZ3VwbnAuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ3VwbnAvZ3VwbnAuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjZTk2MzEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ndXBucC9ndXBucC5pbmMKQEAgLTAsMCArMSwyNSBAQAorU1VNTUFSWSA9ICJVUG5QIGZyYW1ld29yayIKK0RFU0NSSVBUSU9OID0gIkdVUG5QIGlzIGFuIGVsZWdhbnQsIG9iamVjdC1vcmllbnRlZCBvcGVuIHNvdXJjZSBmcmFtZXdvcmsgZm9yIGNyZWF0aW5nIFVQblAgIGRldmljZXMgYW5kIGNvbnRyb2wgcG9pbnRzLCB3cml0dGVuIGluIEMgdXNpbmcgR09iamVjdCBhbmQgbGlic291cC4gVGhlIEdVUG5QIEFQSSBpcyBpbnRlbmRlZCB0byBiZSBlYXN5IHRvIHVzZSwgZWZmaWNpZW50IGFuZCBmbGV4aWJsZS4gSXQgcHJvdmlkZXMgdGhlIHNhbWUgc2V0IG9mIGZlYXR1cmVzIGFzIGxpYnVwbnAsIGJ1dCBzaGllbGRzIHRoZSBkZXZlbG9wZXIgZnJvbSBtb3N0IG9mIFVQblAncyBpbnRlcm5hbHMuIgorTElDRU5TRSA9ICJMR1BMdjIrIgorCitERVBFTkRTID0gImUyZnNwcm9ncyBnc3NkcCBsaWJzb3VwLTIuNCBsaWJ4bWwyIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgdmFsYSBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworIyBDb3B5IHZhcGlnZW4ubTQgc28gdGhhdCBpdCBkb2Vzbid0IGdldCByZW1vdmVkIGJ5IHZhbGEgY2xhc3MKKyMgKG5vcm1hbGx5IHRoaXMgd291bGQgYmUgdGhlIHJpZ2h0IHRoaW5nIHRvIGRvLCBidXQgaW4gZ3VwbnAgdGhlIHZhcGlnZW4ubTQgaGFzIG9ubHkgYSBjdXN0b20gbWFjcm8pCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAgICAgY3AgLWYgJHtTfS9tNC92YXBpZ2VuLm00ICR7U30vbTQvdmFwaWdlbi1jdXN0b20ubTQgfHwgdHJ1ZQorfQorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vKi5zby4qIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2JpbmRpcn0vZ3VwbnAtYmluZGluZy10b29sIgorCitSREVQRU5EU18ke1BOfS1kZXYgPSAicHl0aG9uLXRleHR1dGlscyBweXRob24teG1sIgorCitTWVNST09UX1BSRVBST0NFU1NfRlVOQ1MgKz0gImd1cG5wX3N5c3Jvb3RfcHJlcHJvY2VzcyIKKworZ3VwbnBfc3lzcm9vdF9wcmVwcm9jZXNzICgpIHsKKyAgICBpbnN0YWxsIC1kICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vCisgICAgaW5zdGFsbCAtbSA3NTUgJHtEfSR7YmluZGlyfS9ndXBucC1iaW5kaW5nLXRvb2wgJHtTWVNST09UX0RFU1RESVJ9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfS8KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2d1cG5wL2d1cG5wXzAuMjAuMTQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ndXBucC9ndXBucF8wLjIwLjE0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkMDcxNzUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ndXBucC9ndXBucF8wLjIwLjE0LmJiCkBAIC0wLDAgKzEsOCBAQAorcmVxdWlyZSBndXBucC5pbmMKKworU1JDX1VSSSA9ICIke0dOT01FX01JUlJPUn0vJHtCUE59LzAuMjAvJHtCUE59LSR7UFZ9LnRhci54eiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2MzM0NmVmOTBhYzVjZDkyNWMzYTk0MWY1MWQ4YmNhNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3N2ZmYjk0MGJhNzdjNGE2NDI2ZDA5ZDQxMDA0Yzc1ZDkyNjUyZGNiZGU4NmM4NGFjMWM4NDdkYmQ5YWQ1OWJkIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zYmY1MDAwMmFlZmQwMDJmNDllN2JiODU0MDYzZjdlNyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWJndXBucC9ndXBucC5oO2JlZ2lubGluZT0xO2VuZGxpbmU9MjA7bWQ1PWQ3OGE2OWQ5YjZlNjNlZTJkYzcyZTdiNjc0ZDk3NTIwIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlidXBucC9saWJ1cG5wL2F2b2lkLXJlZGVmaW5pbmctc3Rybmxlbi1hbmQtc3RybmR1cC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnVwbnAvbGlidXBucC9hdm9pZC1yZWRlZmluaW5nLXN0cm5sZW4tYW5kLXN0cm5kdXAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2MzZjIzMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnVwbnAvbGlidXBucC9hdm9pZC1yZWRlZmluaW5nLXN0cm5sZW4tYW5kLXN0cm5kdXAucGF0Y2gKQEAgLTAsMCArMSw0NyBAQAorRnJvbSAyMmZiYTRmMjc2NWY5MmNkNTkyYTU4ZTFmZTVjNDUwYjE4N2UzMGUxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQW5kcmUgTWNDdXJkeSA8YXJtY2N1cmR5QGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMyBKdW4gMjAxNSAyMTozOTowMyAtMDcwMAorU3ViamVjdDogW1BBVENIXSBhdm9pZCByZWRlZmluaW5nIHN0cm5sZW4oKSBhbmQgc3RybmR1cCgpCisKK1JlbHkgb24gc3RyaW5nLmggZGVmaW5pdGlvbnMgaW5zdGVhZC4gV29ya2Fyb3VuZCBmb3IgY29tcGlsZXIgZXJyb3JzIHN1Y2ggYXM6CisKKyAgfCBpNjg2LXJkay1saW51eC1saWJ0b29sOiBjb21waWxlOiAgaTY4Ni1yZGstbGludXgtZ2NjIC1tMzIgLW1hcmNoPWF0b20gLW10dW5lPWF0b20gLWZzY2hlZHVsZS1pbnNucyAtZnNjaGVkLXByZXNzdXJlIC1tc3NlMyAtbWZwbWF0aD1zc2UgLS1zeXNyb290PS9ob21lL2FuZHJlL2J1aWxkL3RtcC9zeXNyb290cy83NDAxIC1ESEFWRV9DT05GSUdfSCAtSS4gLUkvaG9tZS9hbmRyZS9idWlsZC90bXAvd29yay9jb3JlMi0zMi1yZGstbGludXgvbGlidXBucC8xLjYuMTktcjAvbGlidXBucC0xLjYuMTkvdXBucCAtSS4uIC1JLi4vdXBucC9pbmMgLUkvaG9tZS9hbmRyZS9idWlsZC90bXAvd29yay9jb3JlMi0zMi1yZGstbGludXgvbGlidXBucC8xLjYuMTktcjAvbGlidXBucC0xLjYuMTkvdXBucC9pbmMgLUkvaG9tZS9hbmRyZS9idWlsZC90bXAvd29yay9jb3JlMi0zMi1yZGstbGludXgvbGlidXBucC8xLjYuMTktcjAvbGlidXBucC0xLjYuMTkvdGhyZWFkdXRpbC9pbmMgLUkvaG9tZS9hbmRyZS9idWlsZC90bXAvd29yay9jb3JlMi0zMi1yZGstbGludXgvbGlidXBucC8xLjYuMTktcjAvbGlidXBucC0xLjYuMTkvaXhtbC9pbmMgLUkvaG9tZS9hbmRyZS9idWlsZC90bXAvd29yay9jb3JlMi0zMi1yZGstbGludXgvbGlidXBucC8xLjYuMTktcjAvbGlidXBucC0xLjYuMTkvdXBucC9zcmMvaW5jIC1wdGhyZWFkIC1PMiAtcGlwZSAtZyAtZmVsaW1pbmF0ZS11bnVzZWQtZGVidWctdHlwZXMgLU9zIC1XYWxsIC1jIC9ob21lL2FuZHJlL2J1aWxkL3RtcC93b3JrL2NvcmUyLTMyLXJkay1saW51eC9saWJ1cG5wLzEuNi4xOS1yMC9saWJ1cG5wLTEuNi4xOS91cG5wL3NyYy9nZW5hL2dlbmFfY2FsbGJhY2syLmMgLW8gc3JjL2dlbmEvbGlidXBucF9sYS1nZW5hX2NhbGxiYWNrMi5vID4vZGV2L251bGwgMj4mMQorICB8IEluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9hbmRyZS9idWlsZC90bXAvc3lzcm9vdHMvNzQwMS91c3IvaW5jbHVkZS9zdHJpbmcuaDo2MzQ6MCwKKyAgfCAgICAgICAgICAgICAgICAgIGZyb20gL2hvbWUvYW5kcmUvYnVpbGQvdG1wL3dvcmsvY29yZTItMzItcmRrLWxpbnV4L2xpYnVwbnAvMS42LjE5LXIwL2xpYnVwbnAtMS42LjE5L3VwbnAvc3JjL2FwaS9VcG5wU3RyaW5nLmM6MjM6CisgIHwgL2hvbWUvYW5kcmUvYnVpbGQvdG1wL3dvcmsvY29yZTItMzItcmRrLWxpbnV4L2xpYnVwbnAvMS42LjE5LXIwL2xpYnVwbnAtMS42LjE5L3VwbnAvc3JjL2FwaS9VcG5wU3RyaW5nLmM6NDc6MTU6IGVycm9yOiBleHBlY3RlZCBpZGVudGlmaWVyIG9yICcoJyBiZWZvcmUgJ19fZXh0ZW5zaW9uX18nCisgIHwgICBleHRlcm4gY2hhciAqc3RybmR1cChfX2NvbnN0IGNoYXIgKl9fc3RyaW5nLCBzaXplX3QgX19uKTsKKyAgfCAgICAgICAgICAgICAgICBeCisgIHwgbWFrZVszXTogKioqIFtzcmMvYXBpL2xpYnVwbnBfbGEtVXBucFN0cmluZy5sb10gRXJyb3IgMQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogQW5kcmUgTWNDdXJkeSA8YXJtY2N1cmR5QGdtYWlsLmNvbT4KKy0tLQorIHVwbnAvc3JjL2FwaS9VcG5wU3RyaW5nLmMgfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdXBucC9zcmMvYXBpL1VwbnBTdHJpbmcuYyBiL3VwbnAvc3JjL2FwaS9VcG5wU3RyaW5nLmMKK2luZGV4IDQxYzk4OTguLjJmYTA5ZDcgMTAwNjQ0CistLS0gYS91cG5wL3NyYy9hcGkvVXBucFN0cmluZy5jCisrKysgYi91cG5wL3NyYy9hcGkvVXBucFN0cmluZy5jCitAQCAtMzIsNyArMzIsNyBAQAorIAkvKiBWQyBoYXMgc3RybmxlbiB3aGljaCBpcyBhbHJlYWR5IGluY2x1ZGVkIGJ1dCB3aXRoIChwb3RlbnRpYWxseSkgZGlmZmVyZW50IGxpbmthZ2UgKi8KKyAJLyogc3RybmxlbigpIGlzIGEgR05VIGV4dGVuc2lvbi4gKi8KKyAJI2lmIEhBVkVfU1RSTkxFTgorLQkJZXh0ZXJuIHNpemVfdCBzdHJubGVuKGNvbnN0IGNoYXIgKnMsIHNpemVfdCBtYXhsZW4pOworKy8vCQlleHRlcm4gc2l6ZV90IHN0cm5sZW4oY29uc3QgY2hhciAqcywgc2l6ZV90IG1heGxlbik7CisgCSNlbHNlIC8qIEhBVkVfU1RSTkxFTiAqLworIAkJc3RhdGljIHNpemVfdCBzdHJubGVuKGNvbnN0IGNoYXIgKnMsIHNpemVfdCBuKQorIAkJeworQEAgLTQ0LDcgKzQ0LDcgQEAKKyAKKyAvKiBzdHJuZHVwKCkgaXMgYSBHTlUgZXh0ZW5zaW9uLiAqLworICNpZiBIQVZFX1NUUk5EVVAgJiYgIWRlZmluZWQoV0lOMzIpCistCWV4dGVybiBjaGFyICpzdHJuZHVwKF9fY29uc3QgY2hhciAqX19zdHJpbmcsIHNpemVfdCBfX24pOworKy8vCWV4dGVybiBjaGFyICpzdHJuZHVwKF9fY29uc3QgY2hhciAqX19zdHJpbmcsIHNpemVfdCBfX24pOworICNlbHNlIC8qIEhBVkVfU1RSTkRVUCAmJiAhZGVmaW5lZChXSU4zMikgKi8KKyAJc3RhdGljIGNoYXIgKnN0cm5kdXAoY29uc3QgY2hhciAqX19zdHJpbmcsIHNpemVfdCBfX24pCisgCXsKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlidXBucC9saWJ1cG5wL3NlcGJ1aWxkZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlidXBucC9saWJ1cG5wL3NlcGJ1aWxkZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkOTc2OGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJ1cG5wL2xpYnVwbnAvc2VwYnVpbGRmaXgucGF0Y2gKQEAgLTAsMCArMSw2MCBAQAorRnJvbSBlMTk4ZjBhODc2NjBhMDQ4MTY0Y2EwZTE2ZDE4NTE3ZDBhZWU4NDZlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQW5kcmUgTWNDdXJkeSA8YXJtY2N1cmR5QGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgOSBKdW4gMjAxNSAxMjoyMDo0NSAtMDcwMAorU3ViamVjdDogW1BBVENIXSBGaXggYnVpbGRzIHdoZW4gdXNpbmcgc2VwYXJhdGUgc291cmNlIGFuZCBidWlsZCBkaXJlY3Rvcmllcy4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlIE1jQ3VyZHkgPGFybWNjdXJkeUBnbWFpbC5jb20+CistLS0KKyBjb25maWd1cmUuYWMgICAgICAgICAgIHwgOCArKysrLS0tLQorIGl4bWwvTWFrZWZpbGUuYW0gICAgICAgfCAyICstCisgdGhyZWFkdXRpbC9NYWtlZmlsZS5hbSB8IDIgKy0KKyAzIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggZTJjM2Y0Ny4uMTFkNWUyMiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNzE0LDggKzcxNCw4IEBAIEFDX09VVFBVVAorICMKKyAjIEZpbGVzIGNvcGllZCBmb3Igd2luZG93cyBjb21waWxhdGlvbi4KKyAjCistZWNobyAiY29uZmlndXJlOiBjb3B5aW5nIFwiYXV0b2NvbmZpZy5oXCIgICAgICAgICAgdG8gXCJidWlsZC9pbmMvYXV0b2NvbmZpZy5oXCIiCistY3AgYXV0b2NvbmZpZy5oIGJ1aWxkL2luYy9hdXRvY29uZmlnLmgKKy1lY2hvICJjb25maWd1cmU6IGNvcHlpbmcgXCJ1cG5wL2luYy91cG5wY29uZmlnLmhcIiB0byBcImJ1aWxkL2luYy91cG5wY29uZmlnLmhcIiIKKy1jcCB1cG5wL2luYy91cG5wY29uZmlnLmggYnVpbGQvaW5jL3VwbnBjb25maWcuaAorK2VjaG8gImNvbmZpZ3VyZTogY29weWluZyBcImF1dG9jb25maWcuaFwiICAgICAgICAgIHRvIFwiXCRzcmNkaXIvYnVpbGQvaW5jL2F1dG9jb25maWcuaFwiIgorK2NwIGF1dG9jb25maWcuaCAkc3JjZGlyL2J1aWxkL2luYy9hdXRvY29uZmlnLmgKKytlY2hvICJjb25maWd1cmU6IGNvcHlpbmcgXCJ1cG5wL2luYy91cG5wY29uZmlnLmhcIiB0byBcIlwkc3JjZGlyL2J1aWxkL2luYy91cG5wY29uZmlnLmhcIiIKKytjcCB1cG5wL2luYy91cG5wY29uZmlnLmggJHNyY2Rpci9idWlsZC9pbmMvdXBucGNvbmZpZy5oCisgCitkaWZmIC0tZ2l0IGEvaXhtbC9NYWtlZmlsZS5hbSBiL2l4bWwvTWFrZWZpbGUuYW0KK2luZGV4IDQ5ZGE3NjYuLjBlOWFiMmMgMTAwNjQ0CistLS0gYS9peG1sL01ha2VmaWxlLmFtCisrKysgYi9peG1sL01ha2VmaWxlLmFtCitAQCAtNyw3ICs3LDcgQEAKKyAKKyBTVUJESVJTIAkJPSBkb2MKKyAKKy1BTV9DUFBGTEFHUwkJPSAtSSQoc3JjZGlyKS9pbmMgLUkkKHNyY2Rpcikvc3JjL2luYworK0FNX0NQUEZMQUdTCQk9IC1JJCh0b3Bfc3JjZGlyKS91cG5wL2luYyAtSSQoc3JjZGlyKS9pbmMgLUkkKHNyY2Rpcikvc3JjL2luYworIEFNX0NGTEFHUwkJPSAKKyAKKyBMREFERAkJCT0gbGliaXhtbC5sYQorZGlmZiAtLWdpdCBhL3RocmVhZHV0aWwvTWFrZWZpbGUuYW0gYi90aHJlYWR1dGlsL01ha2VmaWxlLmFtCitpbmRleCBhNGVkMzI1Li40MmQwNzI2IDEwMDY0NAorLS0tIGEvdGhyZWFkdXRpbC9NYWtlZmlsZS5hbQorKysrIGIvdGhyZWFkdXRpbC9NYWtlZmlsZS5hbQorQEAgLTQsNyArNCw3IEBACisgIyAoQykgQ29weXJpZ2h0IDIwMDUgUmVtaSBUdXJib3VsdCA8cjNtaUB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CisgIworIAorLUFNX0NQUEZMQUdTCQk9IC1JJChzcmNkaXIpL2luYyAtSSQoc3JjZGlyKS9zcmMvaW5jCisrQU1fQ1BQRkxBR1MJCT0gLUkkKHRvcF9zcmNkaXIpL3VwbnAvaW5jIC1JJChzcmNkaXIpL2luYyAtSSQoc3JjZGlyKS9zcmMvaW5jCisgCisgaWYgRU5BQkxFX0RFQlVHCisgICAgIEFNX0NQUEZMQUdTCQkrPSAtRERFQlVHIC1EU1RBVFMKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlidXBucC9saWJ1cG5wXzEuNi4xOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnVwbnAvbGlidXBucF8xLjYuMTkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTMzYThlYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnVwbnAvbGlidXBucF8xLjYuMTkuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJQb3J0YWJsZSBTREsgZm9yIFVQblAqIERldmljZXMiCitERVNDUklQVElPTiA9ICJUaGUgUG9ydGFibGUgU0RLIGZvciBVUG5QIERldmljZXMgaXMgYW4gU0RLIGZvciBkZXZlbG9wbWVudCBvZiBcCitVUG5QIGRldmljZSBhbmQgY29udHJvbCBwb2ludCBhcHBsaWNhdGlvbnMuIEl0IGNvbnNpc3RzIG9mIHRoZSBjb3JlIFVQblAgXAorcHJvdG9jb2xzIGFsb25nIHdpdGggYSBVUG5QLXNwZWNpZmljIGVYdGVuc2libGUgTWFya3VwIExhbmd1YWdlIChYTUwpIHBhcnNlciBcCitzdXBwb3J0aW5nIHRoZSBEb2N1bWVudCBPYmplY3QgTW9kZWwgKERPTSkgTGV2ZWwgMiBBUEkgYW5kIGFuIG9wdGlvbmFsLCBcCitpbnRlZ3JhdGVkIG1pbmkgd2ViIHNlcnZlciBmb3Igc2VydmluZyBVUG5QIHJlbGF0ZWQgZG9jdW1lbnRzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9wdXBucC5zb3VyY2Vmb3JnZS5uZXQvIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1iMzE5MGQ1MjQ0ZTA4ZTc4ZTRjOGVlNzg1NDRmNDg2MyIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcHVwbnAvJHtCUH0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9hdm9pZC1yZWRlZmluaW5nLXN0cm5sZW4tYW5kLXN0cm5kdXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc2VwYnVpbGRmaXgucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZWUxNmU1ZDMzYTNlYTc1MDZmMzhkNzFmYWNjMDU3ZGQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjMxNDJiMzk2MDEyNDNiNTA1MzJlZWM5MGY0YTI3ZGJhODVlYjg2ZjU4ZDRiODQ5YWM5NGVkZWIyOWQ5YjIyYSIKKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3J5Z2VsL3J5Z2VsXzAuMjguMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3J5Z2VsL3J5Z2VsXzAuMjguMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Y2I3ZDQzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvcnlnZWwvcnlnZWxfMC4yOC4yLmJiCkBAIC0wLDAgKzEsNTkgQEAKK1NVTU1BUlkgPSAiQSBVUG5QIEFWIG1lZGlhIHNlcnZlciBhbmQgcmVuZGVyZXIiCitERVNDUklQVElPTiA9ICJSeWdlbCBpcyBhIGhvbWUgbWVkaWEgc29sdXRpb24gKFVQblAgQVYgTWVkaWFTZXJ2ZXIpIHRoYXQgXAorYWxsb3cgeW91IHRvIGVhc2lseSBzaGFyZSBhdWRpbywgdmlkZW8gYW5kIHBpY3R1cmVzIHRvIG90aGVyIGRldmljZXMuIFwKK0FkZGl0aW9uYWxseSwgbWVkaWEgcGxheWVyIHNvZnR3YXJlIG1heSB1c2UgUnlnZWwgdG8gYmVjb21lIGEgTWVkaWFSZW5kZXJlciBcCit0aGF0IG1heSBiZSBjb250cm9sbGVkIHJlbW90ZWx5IGJ5IGEgVVBuUCBvciBETE5BIENvbnRyb2xsZXIuIgorSE9NRVBBR0UgPSAiaHR0cDovL2xpdmUuZ25vbWUub3JnL1J5Z2VsIgorCitMSUNFTlNFID0gIkxHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01ZjMwZjA3MTZkZmRkMGQ5MWViNDM5ZWJlYzUyMmVjMiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvcnlnZWwvcnlnZWwtbWFpbi52YWxhO2VuZGxpbmU9Mjc7bWQ1PTk5MzI0MTE4ZGE0YzAxMmQyNWVkYWUyZjc3OWFlOWIzIgorCitERVBFTkRTID0gImxpYnhtbDIgZ2xpYi0yLjAgZ3NzZHAgZ3VwbnAgZ3VwbnAtYXYgZ3VwbnAtZGxuYSBnc3RyZWFtZXIxLjAgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSBvc3NwLXV1aWQgbGliZ2VlIGxpYnNvdXAtMi40IGxpYm1lZGlhYXJ0LTIuMCBsaWJ1bmlzdHJpbmcgc3FsaXRlMyIKK1JERVBFTkRTXyR7UE59ID0gImdzdHJlYW1lcjEuMC1wbHVnaW5zLWJhc2UtcGxheWJhY2sgc2hhcmVkLW1pbWUtaW5mbyIKK1JSRUNPTU1FTkRTXyR7UE59ID0gInJ5Z2VsLXBsdWdpbi1tZWRpYS1leHBvcnQiCisKK0dOT01FX0NPTVBSRVNTX1RZUEUgPSAieHoiCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI5ZmJlNGZiNTNiNmNmYTJmM2YzNzIzYjc2NDlhMjIxNSIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjllYTIzZGY3MTg2Y2FhYzVmMWFhZDMxMzdlZGY2ZDUwN2QzMzliOWE0NjlmYzMxMzNkZjQwNDNmYTY2YjYxZjUiCisKK2luaGVyaXQgZ25vbWViYXNlIHZhbGEgZ29iamVjdC1pbnRyb3NwZWN0aW9uCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtdHJhY2tlci1wbHVnaW4gLS13aXRoLW1lZGlhLWVuZ2luZT1nc3RyZWFtZXIiCisKK1BBQ0tBR0VDT05GSUcgPz0gImV4dGVybmFsIG1wcmlzIG1lZGlhdGhlayBydWloIG1lZGlhLWV4cG9ydCBnc3QtbGF1bmNoIGd0ayszIgorUEFDS0FHRUNPTkZJR1tleHRlcm5hbF0gPSAiLS1lbmFibGUtZXh0ZXJuYWwtcGx1Z2luLC0tZGlzYWJsZS1leHRlcm5hbC1wbHVnaW4iCitQQUNLQUdFQ09ORklHW21wcmlzXSA9ICItLWVuYWJsZS1tcHJpcy1wbHVnaW4sLS1kaXNhYmxlLW1wcmlzLXBsdWdpbiIKK1BBQ0tBR0VDT05GSUdbbWVkaWF0aGVrXSA9ICItLWVuYWJsZS1tZWRpYXRoZWstcGx1Z2luLC0tZGlzYWJsZS1tZWRpYXRoZWstcGx1Z2luIgorUEFDS0FHRUNPTkZJR1tydWloXSA9ICItLWVuYWJsZS1ydWloLXBsdWdpbiwtLWRpc2FibGUtcnVpaC1wbHVnaW4iCitQQUNLQUdFQ09ORklHW21lZGlhLWV4cG9ydF0gPSAiLS1lbmFibGUtbWVkaWEtZXhwb3J0LXBsdWdpbiwtLWRpc2FibGUtbWVkaWEtZXhwb3J0LXBsdWdpbiIKK1BBQ0tBR0VDT05GSUdbZ3N0LWxhdW5jaF0gPSAiLS1lbmFibGUtZ3N0LWxhdW5jaC1wbHVnaW4sLS1kaXNhYmxlLWdzdC1sYXVuY2gtcGx1Z2luIgorUEFDS0FHRUNPTkZJR1tndGsrM10gPSAiLC0td2l0aG91dC11aSxndGsrMyIKKworTElCViA9ICIyLjYiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICAgICMgUmVtb3ZlIC5sYSBmaWxlcyBmb3IgbG9hZGFibGUgbW9kdWxlcworICAgICAgIHJtIC1mICR7RH0vJHtsaWJkaXJ9L3J5Z2VsLSR7TElCVn0vZW5naW5lcy8qLmxhCisgICAgICAgcm0gLWYgJHtEfS8ke2xpYmRpcn0vcnlnZWwtJHtMSUJWfS9wbHVnaW5zLyoubGEKK30KKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9yeWdlbC0ke0xJQlZ9L2VuZ2luZXMgJHtkYXRhZGlyfS9kYnVzLTEgJHtkYXRhZGlyfS9pY29ucyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3J5Z2VsLSR7TElCVn0vZW5naW5lcy8uZGVidWcgJHtsaWJkaXJ9L3J5Z2VsLSR7TElCVn0vcGx1Z2lucy8uZGVidWciCisKK1BBQ0tBR0VTICs9ICIke1BOfS1tZXRhIgorQUxMT1dfRU1QVFlfJHtQTn0tbWV0YSA9ICIxIgorCitQQUNLQUdFU19EWU5BTUlDID0gIiR7UE59LXBsdWdpbi0qIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgcnlnZWxfbGliZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfS9yeWdlbC0ke0xJQlZ9JykKKyAgICBwb3N0aW5zdCA9IGQuZ2V0VmFyKCdwbHVnaW5fcG9zdGluc3QnLCBUcnVlKQorICAgIHBrZ3MgPSBbXQorCisgICAgcGtncyArPSBkb19zcGxpdF9wYWNrYWdlcyhkLCBvZS5wYXRoLmpvaW4ocnlnZWxfbGliZGlyLCAicGx1Z2lucyIpLCAnbGlicnlnZWwtKC4qKVwuc28kJywgZC5leHBhbmQoJyR7UE59LXBsdWdpbi0lcycpLCAnUnlnZWwgcGx1Z2luIGZvciAlcycsIHBvc3RpbnN0PXBvc3RpbnN0LCBleHRyYV9kZXBlbmRzPWQuZXhwYW5kKCcke1BOfScpKQorICAgIHBrZ3MgKz0gZG9fc3BsaXRfcGFja2FnZXMoZCwgb2UucGF0aC5qb2luKHJ5Z2VsX2xpYmRpciwgInBsdWdpbnMiKSwgJyguKilcLnBsdWdpbiQnLCBkLmV4cGFuZCgnJHtQTn0tcGx1Z2luLSVzJyksICdSeWdlbCBwbHVnaW4gZm9yICVzJywgcG9zdGluc3Q9cG9zdGluc3QsIGV4dHJhX2RlcGVuZHM9ZC5leHBhbmQoJyR7UE59JykpCisKKyAgICBtZXRhcGtnID0gZC5nZXRWYXIoJ1BOJywgVHJ1ZSkgKyAnLW1ldGEnCisgICAgZC5zZXRWYXIoJ1JERVBFTkRTXycgKyBtZXRhcGtnLCAnICcuam9pbihwa2dzKSkKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtZHZiL2R2Yi1hcHBzL2R2Yi1hcHBzXzEuMS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1kdmIvZHZiLWFwcHMvZHZiLWFwcHNfMS4xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWMwZDY4NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtZHZiL2R2Yi1hcHBzL2R2Yi1hcHBzXzEuMS4xLmJiCkBAIC0wLDAgKzEsMTA2IEBACitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmxpbnV4dHYub3JnIgorU1VNTUFSWSA9ICJMaW51eCBEVkIgQVBJIGFwcGxpY2F0aW9ucyBhbmQgdXRpbGl0aWVzIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK1NSQ19VUkkgPSAiaGc6Ly9saW51eHR2Lm9yZy9oZzttb2R1bGU9ZHZiLWFwcHM7cHJvdG9jb2w9aHR0cCIKK1NSQ1JFViA9ICIzZmM3ZGZhNjg0ODQiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0iCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBzZWQgLWkgLWUgczovdXNyL2luY2x1ZGU6JHtTVEFHSU5HX0lOQ0RJUn06ZyB1dGlsL2F2NzExMF9sb2Fka2V5cy9nZW5lcmF0ZS1rZXluYW1lcy5zaCAKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBtYWtlIERFU1RESVI9JHtEfSBpbnN0YWxsCisgICAgaW5zdGFsbCAtZCAke0R9LyR7YmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfS8ke2RvY2Rpcn0vZHZiLWFwcHMKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtkb2NkaXJ9L2R2Yi1hcHBzL3NjYW4KKyAgICBpbnN0YWxsIC1kICR7RH0vJHtkb2NkaXJ9L2R2Yi1hcHBzL3N6YXAKKyAgICBjaG1vZCBhK3J4ICR7RH0vJHtsaWJkaXJ9Lyouc28qCisKKyAgICAjIEluc3RhbGwgdGVzdHMKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS90ZXN0L3NldHZvbHRhZ2UgICAgICAke0R9JHtiaW5kaXJ9L3Rlc3Rfc2V0dm9sdGFnZQorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L3Rlc3Qvc2V0MjJrICAgICAgICAgICR7RH0ke2JpbmRpcn0vdGVzdF9zZXQyMmsKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS90ZXN0L3NlbmRidXJzdCAgICAgICAke0R9JHtiaW5kaXJ9L3Rlc3Rfc2VuZGJ1cnN0CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vdGVzdC9kaXNlcWMgICAgICAgICAgJHtEfSR7YmluZGlyfS90ZXN0X2Rpc2VxYworICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L3Rlc3QvdGVzdF9zZWN0aW9ucyAgICR7RH0ke2JpbmRpcn0vCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vdGVzdC90ZXN0X2F2X3BsYXkgICAgJHtEfSR7YmluZGlyfS8KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS90ZXN0L3Rlc3Rfc3RpbGxpbWFnZSAke0R9JHtiaW5kaXJ9LworICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L3Rlc3QvdGVzdF9kdnJfcGxheSAgICR7RH0ke2JpbmRpcn0vCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vdGVzdC90ZXN0X3R0ICAgICAgICAgJHtEfSR7YmluZGlyfS8KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS90ZXN0L3Rlc3Rfc2VjX25lICAgICAke0R9JHtiaW5kaXJ9LworICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L3Rlc3QvdGVzdF9zdGMgICAgICAgICR7RH0ke2JpbmRpcn0vCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vdGVzdC90ZXN0X2F2ICAgICAgICAgJHtEfSR7YmluZGlyfS8KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS90ZXN0L3Rlc3RfdmV2ZW50ICAgICAke0R9JHtiaW5kaXJ9LworICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L3Rlc3QvdGVzdF9wZXMgICAgICAgICR7RH0ke2JpbmRpcn0vCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vdGVzdC90ZXN0X2R2ciAgICAgICAgJHtEfSR7YmluZGlyfS8KKworICAgIGNwIC1wUFIgJHtTfS91dGlsL3N6YXAvY2hhbm5lbHMtY29uZiogJHtEfS8ke2RvY2Rpcn0vZHZiLWFwcHMvc3phcC8KKyAgICBjcCAtcFBSICR7U30vdXRpbC9zemFwL1JFQURNRSAgICR7RH0vJHtkb2NkaXJ9L2R2Yi1hcHBzL3N6YXAvCit9CisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpIHsKKyAgICBkdmJfbGliZGlyID0gYmIuZGF0YS5leHBhbmQoJyR7bGliZGlyfScsIGQpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZHZiX2xpYmRpciwgJ15saWIoLiopXC5zbyQnLCAnbGliJXMnLCAnRFZCICVzIHBhY2thZ2UnLCBleHRyYV9kZXBlbmRzPScnLCBhbGxvd19saW5rcz1UcnVlKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGR2Yl9saWJkaXIsICdebGliKC4qKVwubGEkJywgJ2xpYiVzLWRldicsICdEVkIgJXMgZGV2ZWxvcG1lbnQgcGFja2FnZScsIGV4dHJhX2RlcGVuZHM9JyR7UE59LWRldicpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZHZiX2xpYmRpciwgJ15saWIoLiopXC5hJCcsICdsaWIlcy1kZXYnLCAnRFZCICVzIGRldmVsb3BtZW50IHBhY2thZ2UnLCBleHRyYV9kZXBlbmRzPScke1BOfS1kZXYnKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGR2Yl9saWJkaXIsICdebGliKC4qKVwuc29cLionLCAnbGliJXMnLCAnRFZCICVzIGxpYnJhcnknLCBleHRyYV9kZXBlbmRzPScnLCBhbGxvd19saW5rcz1UcnVlKQorfQorCitQQUNLQUdFUyA9KyAiZHZiLWV2dGVzdCBkdmItZXZ0ZXN0LWRiZyBcCisgICAgICAgICAgICAgZHZiYXBwLXRlc3RzIGR2YmFwcC10ZXN0cy1kYmcgXAorICAgICAgICAgICAgIGR2YmRhdGUgZHZiZGF0ZS1kYmcgXAorICAgICAgICAgICAgIGR2YnRyYWZmaWMgZHZidHJhZmZpYy1kYmcgXAorICAgICAgICAgICAgIGR2Ym5ldCBkdmJuZXQtZGJnIFwKKyAgICAgICAgICAgICBkdmItc2NhbiBkdmItc2Nhbi1kYmcgZHZiLXNjYW4tZGF0YSBcCisgICAgICAgICAgICAgZHZiLWF6YXAgZHZiLWF6YXAtZGJnIFwKKyAgICAgICAgICAgICBkdmItY3phcCBkdmItY3phcC1kYmcgXAorICAgICAgICAgICAgIGR2Yi1zemFwIGR2Yi1zemFwLWRiZyBcCisgICAgICAgICAgICAgZHZiLXR6YXAgZHZiLXR6YXAtZGJnIFwKKyAgICAgICAgICAgICBkdmItZmVtb24gZHZiLWZlbW9uLWRiZyBcCisgICAgICAgICAgICAgZHZiLXphcC1kYXRhIgorCisKK0ZJTEVTXyR7UE59ID0gIiR7YmluZGlyfSAke2RhdGFkaXJ9L2R2YiIKK0ZJTEVTXyR7UE59LWRvYyA9ICIiCitGSUxFU18ke1BOfS1kZXYgPSAiJHtpbmNsdWRlZGlyfSIKKworRklMRVNfZHZiLWV2dGVzdCA9ICIke2JpbmRpcn0vZXZ0ZXN0IgorRklMRVNfZHZiLWV2dGVzdC1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9ldnRlc3QiCitSQ09ORkxJQ1RTX2R2Yi1ldnRlc3QgPSAiZXZ0ZXN0IgorCitGSUxFU19kdmJhcHAtdGVzdHMgPSAiJHtiaW5kaXJ9Lyp0ZXN0KiAiCitGSUxFU19kdmJhcHAtdGVzdHMtZGJnID0gIiR7YmluZGlyfS8uZGVidWcvKnRlc3QqIgorCitGSUxFU19kdmJkYXRlID0gIiR7YmluZGlyfS9kdmJkYXRlIgorRklMRVNfZHZiZGF0ZS1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9kdmJkYXRlIgorCitGSUxFU19kdmJ0cmFmZmljID0gIiR7YmluZGlyfS9kdmJ0cmFmZmljIgorRklMRVNfZHZidHJhZmZpYy1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9kdmJ0cmFmZmljIgorCitGSUxFU19kdmJuZXQgPSAiJHtiaW5kaXJ9L2R2Ym5ldCIKK0ZJTEVTX2R2Ym5ldC1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9kdmJuZXQiCisKK0ZJTEVTX2R2Yi1zY2FuID0gIiR7YmluZGlyfS8qc2NhbiAiCitGSUxFU19kdmItc2Nhbi1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy8qc2NhbiIKK0ZJTEVTX2R2Yi1zY2FuLWRhdGEgPSAiJHtkb2NkaXJ9L2R2Yi1hcHBzL3NjYW4iCisKK0ZJTEVTX2R2Yi1hemFwID0gIiR7YmluZGlyfS9hemFwIgorRklMRVNfZHZiLWF6YXAtZGJnID0gIiR7YmluZGlyfS8uZGVidWcvYXphcCIKKworRklMRVNfZHZiLWN6YXAgPSAiJHtiaW5kaXJ9L2N6YXAiCitGSUxFU19kdmItY3phcC1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9jemFwIgorCitGSUxFU19kdmItc3phcCA9ICIke2JpbmRpcn0vc3phcCIKK0ZJTEVTX2R2Yi1zemFwLWRiZyA9ICIke2JpbmRpcn0vLmRlYnVnL3N6YXAiCisKK0ZJTEVTX2R2Yi10emFwID0gIiR7YmluZGlyfS90emFwIgorRklMRVNfZHZiLXR6YXAtZGJnID0gIiR7YmluZGlyfS8uZGVidWcvdHphcCIKKworRklMRVNfZHZiLWZlbW9uID0gIiR7YmluZGlyfS9mZW1vbiIKK0ZJTEVTX2R2Yi1mZW1vbi1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9mZW1vbiIKKworRklMRVNfZHZiLXphcC1kYXRhID0gIiR7ZG9jZGlyfS9kdmItYXBwcy9zemFwIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1kdmIvb3NjYW0vb3NjYW0vcmVzcGVjdC1jZmxhZ3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWR2Yi9vc2NhbS9vc2NhbS9yZXNwZWN0LWNmbGFncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNzlkMDRhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1kdmIvb3NjYW0vb3NjYW0vcmVzcGVjdC1jZmxhZ3MucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAoraHR0cDovL3d3dy5zdHJlYW1ib2FyZC50di9vc2NhbS9jaGFuZ2VzZXQvMTAwNjgKK2h0dHA6Ly93d3cuc3RyZWFtYm9hcmQudHYvb3NjYW0vY2hhbmdlc2V0LzEwMDcwCisKK0luZGV4OiAvQ01ha2VMaXN0cy50eHQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAxMDA2NykKKysrKyBiL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAxMDA2OCkKK0BAIC02MjUsOCArNjI1LDggQEAKKyAgICAgbGlzdChHRVQgR0NDX1ZFUlNJT05fQ09NUE9ORU5UUyAwIEdDQ19NSU5PUikKKyAgICAgYWRkX2RlZmluaXRpb25zICgiLVcgLVdhbGwgIikKKy0gICAgc2V0IChDTUFLRV9DX0ZMQUdTICItV2FsbCAtTzIiKQorLQlzZXQgKENNQUtFX0NYWF9GTEFHUyAiLVdhbGwgLU8yIikKKy0gICAgc2V0IChDTUFLRV9DX0ZMQUdTX0RFQlVHICItTzAgLWdnZGIiKQorLSAgICBzZXQgKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiLU8wIC1nZ2RiIikKKysgICAgc2V0IChDTUFLRV9DX0ZMQUdTICIke0NNQUtFX0NfRkxBR1N9IC1XYWxsIC1PMiIpCisrCXNldCAoQ01BS0VfQ1hYX0ZMQUdTICIke0NNQUtFX0NYWF9GTEFHU30gLVdhbGwgLU8yIikKKysgICAgc2V0IChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1PMCAtZ2dkYiIpCisrICAgIHNldCAoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU8wIC1nZ2RiIikKKyBlbmRpZiAoQ01BS0VfQ09NUElMRVJfSVNfR05VQ0MpCisgIyBzb21lIG9wdGltaXNhdGlvbnMKK0luZGV4OiAvY3NjdGFwaS9DTWFrZUxpc3RzLnR4dAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvY3NjdGFwaS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMTAwNjkpCisrKysgYi9jc2N0YXBpL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAxMDA3MCkKK0BAIC02LDggKzYsOCBAQAorICAgICBsaXN0KEdFVCBHQ0NfVkVSU0lPTl9DT01QT05FTlRTIDAgR0NDX01JTk9SKQorICAgICBhZGRfZGVmaW5pdGlvbnMgKCItVyAtV2FsbCAiKQorLSAgICBzZXQgKENNQUtFX0NfRkxBR1MgIi1XYWxsIC1PMiIpCistCXNldCAoQ01BS0VfQ1hYX0ZMQUdTICItV2FsbCAtTzIiKQorLSAgICBzZXQgKENNQUtFX0NfRkxBR1NfREVCVUcgIi1PMCAtZ2dkYiIpCistICAgIHNldCAoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICItTzAgLWdnZGIiKQorKyAgICBzZXQgKENNQUtFX0NfRkxBR1MgIiR7Q01BS0VfQ19GTEFHU30gLVdhbGwgLU8yIikKKysJc2V0IChDTUFLRV9DWFhfRkxBR1MgIiR7Q01BS0VfQ1hYX0ZMQUdTfSAtV2FsbCAtTzIiKQorKyAgICBzZXQgKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU8wIC1nZ2RiIikKKysgICAgc2V0IChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTzAgLWdnZGIiKQorIGVuZGlmIChDTUFLRV9DT01QSUxFUl9JU19HTlVDQykKKyAjIE1hYyBleHRyYSByZW1vdmVzIHRvIGF2b2lkIHJhbmxpYiB3YXJuaW5ncyBpbiBzb21lIHNpdHVhdGlvbnMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtZHZiL29zY2FtL29zY2FtX3N2bi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtZHZiL29zY2FtL29zY2FtX3N2bi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYWM1MTdmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1kdmIvb3NjYW0vb3NjYW1fc3ZuLmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiT1NDYW06IE9wZW4gU291cmNlIENvbmRpdGlvbmFsIEFjY2VzcyBNb2R1bGUiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnN0cmVhbWJvYXJkLnR2L29zY2FtLyIKKworTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitERVBFTkRTID0gImxpYnVzYjEgb3BlbnNzbCBwY3NjLWxpdGUiCisKK1NSQ19VUkkgPSAic3ZuOi8vd3d3LnN0cmVhbWJvYXJkLnR2L3N2bi9vc2NhbTttb2R1bGU9dHJ1bms7cHJvdG9jb2w9aHR0cCBcCisgICAgZmlsZTovL3Jlc3BlY3QtY2ZsYWdzLnBhdGNoIFwKKyIKK1NSQ1JFViA9ICI5MTY0IgorUFYgPSAiMS4xMCske1NSQ1BWfSIKKworUyA9ICIke1dPUktESVJ9L3RydW5rIgorCitpbmhlcml0IGNtYWtlCisKK0VYVFJBX09FQ01BS0UgPSAiLURERUZBVUxUX0NTX0NPTkZESVI9JHtzeXNjb25mZGlyfSAtRENNQUtFX0JVSUxEX1RZUEU9RGVidWciCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtZHZiL3R2aGVhZGVuZC90dmhlYWRlbmQvMDAwMS1Nb3ZlLXR2aGVhZGVuZC1zcGVjaWZpYy1MRC1DRkxBR1MtaW50by1hLWhlbHBlci12YXJpLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1kdmIvdHZoZWFkZW5kL3R2aGVhZGVuZC8wMDAxLU1vdmUtdHZoZWFkZW5kLXNwZWNpZmljLUxELUNGTEFHUy1pbnRvLWEtaGVscGVyLXZhcmkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWRmY2NlMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtZHZiL3R2aGVhZGVuZC90dmhlYWRlbmQvMDAwMS1Nb3ZlLXR2aGVhZGVuZC1zcGVjaWZpYy1MRC1DRkxBR1MtaW50by1hLWhlbHBlci12YXJpLnBhdGNoCkBAIC0wLDAgKzEsOTIgQEAKK0Zyb20gMmVlNjRiMzU5NDY0YjQ4Zjc1MTY4M2ZhYTVkZWQzZWU4MjAwZmU5MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitEYXRlOiBGcmksIDIxIERlYyAyMDEyIDEwOjE1OjQyICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIE1vdmUgdHZoZWFkZW5kIHNwZWNpZmljIExEL0NGTEFHUyBpbnRvIGEgaGVscGVyIHZhcmlhYmxlIHRvCisgYXZvaWQgYmVpbmcgb3ZlcndyaXR0ZW4KKworU2lnbmVkLW9mZi1ieTogS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KKy0tLQorIE1ha2VmaWxlICAgICAgICAgICAgICB8ICAgMjAgKysrKysrKysrKy0tLS0tLS0tLS0KKyBzdXBwb3J0L2NvbmZpZ3VyZS5pbmMgfCAgICA4ICsrKystLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IDhjNmIyOTMuLmRhZjVmMTQgMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0yNywxMiArMjcsMTIgQEAgUFJPRyA9ICR7QlVJTERESVJ9L3R2aGVhZGVuZAorICMgQ29tbW9uIGNvbXBpbGVyIGZsYWdzCisgIworIAorLUNGTEFHUyAgKz0gLVdhbGwgLVdlcnJvciAtV3dyaXRlLXN0cmluZ3MgLVduby1kZXByZWNhdGVkLWRlY2xhcmF0aW9ucworLUNGTEFHUyAgKz0gLVdtaXNzaW5nLXByb3RvdHlwZXMgLWZtcy1leHRlbnNpb25zCistQ0ZMQUdTICArPSAtZyAtZnVuc2lnbmVkLWNoYXIgLU8yIAorLUNGTEFHUyAgKz0gLURfRklMRV9PRkZTRVRfQklUUz02NAorLUNGTEFHUyAgKz0gLUkke0JVSUxERElSfSAtSSR7Q1VSRElSfS9zcmMgLUkke0NVUkRJUn0KKy1MREZMQUdTICs9IC1scnQgLWxkbCAtbHB0aHJlYWQgLWxtCisrVFZIX0NGTEFHUyAgKz0gLVdhbGwgLVdlcnJvciAtV3dyaXRlLXN0cmluZ3MgLVduby1kZXByZWNhdGVkLWRlY2xhcmF0aW9ucworK1RWSF9DRkxBR1MgICs9IC1XbWlzc2luZy1wcm90b3R5cGVzIC1mbXMtZXh0ZW5zaW9ucworK1RWSF9DRkxBR1MgICs9IC1nIC1mdW5zaWduZWQtY2hhciAtTzIgCisrVFZIX0NGTEFHUyAgKz0gLURfRklMRV9PRkZTRVRfQklUUz02NAorK1RWSF9DRkxBR1MgICs9IC1JJHtCVUlMRERJUn0gLUkke0NVUkRJUn0vc3JjIC1JJHtDVVJESVJ9CisrVFZIX0xERkxBR1MgKz0gLWxydCAtbGRsIC1scHRocmVhZCAtbG0KKyAKKyAjCisgIyBPdGhlciBjb25maWcKK0BAIC0xNzksOCArMTc5LDggQEAgU1JDUy0ke0NPTkZJR19DV0N9ICArPSBzcmMvZmZkZWNzYS9mZmRlY3NhX2ludGVyZmFjZS5jIFwKKyAJc3JjL2ZmZGVjc2EvZmZkZWNzYV9pbnQuYworIFNSQ1MtJHtDT05GSUdfTU1YfSAgKz0gc3JjL2ZmZGVjc2EvZmZkZWNzYV9tbXguYworIFNSQ1MtJHtDT05GSUdfU1NFMn0gKz0gc3JjL2ZmZGVjc2EvZmZkZWNzYV9zc2UyLmMKKy0ke0JVSUxERElSfS9zcmMvZmZkZWNzYS9mZmRlY3NhX21teC5vICA6IENGTEFHUyArPSAtbW1teAorLSR7QlVJTERESVJ9L3NyYy9mZmRlY3NhL2ZmZGVjc2Ffc3NlMi5vIDogQ0ZMQUdTICs9IC1tc3NlMgorKyR7QlVJTERESVJ9L3NyYy9mZmRlY3NhL2ZmZGVjc2FfbW14Lm8gIDogVFZIX0NGTEFHUyArPSAtbW1teAorKyR7QlVJTERESVJ9L3NyYy9mZmRlY3NhL2ZmZGVjc2Ffc3NlMi5vIDogVFZIX0NGTEFHUyArPSAtbXNzZTIKKyBlbmRpZgorIAorICMgRmlsZSBidW5kbGVzCitAQCAtMjE3LDEyICsyMTcsMTIgQEAgYWxsOiAke1BST0d9CisgCisgIyBCaW5hcnkKKyAke1BST0d9OiAkKE9CSlMpICQoQUxMREVQUykKKy0JJChDQykgLW8gJEAgJChPQkpTKSAkKENGTEFHUykgJChMREZMQUdTKQorKwkkKENDKSAtbyAkQCAkKE9CSlMpICQoVFZIX0NGTEFHUykgJChUVkhfTERGTEFHUykgJChDRkxBR1MpICQoTERGTEFHUykKKyAKKyAjIE9iamVjdAorICR7QlVJTERESVJ9LyUubzogJS5jCisgCUBta2RpciAtcCAkKGRpciAkQCkKKy0JJChDQykgLU1EIC1NUCAkKENGTEFHUykgLWMgLW8gJEAgJChDVVJESVIpLyQ8CisrCSQoQ0MpIC1NRCAtTVAgJChUVkhfQ0ZMQUdTKSAkKENGTEFHUykgLWMgLW8gJEAgJChDVVJESVIpLyQ8CisgCisgIyBBZGQtb24KKyAke0JVSUxERElSfS8lLnNvOiAke1NSQ1NfRVhUUkF9CitkaWZmIC0tZ2l0IGEvc3VwcG9ydC9jb25maWd1cmUuaW5jIGIvc3VwcG9ydC9jb25maWd1cmUuaW5jCitpbmRleCAwMTMwODgwLi4zMzI1MTFlIDEwMDY0NAorLS0tIGEvc3VwcG9ydC9jb25maWd1cmUuaW5jCisrKysgYi9zdXBwb3J0L2NvbmZpZ3VyZS5pbmMKK0BAIC00NjQsOCArNDY0LDggQEAgaWZlcSAoXCQob3JpZ2luIENDKSxkZWZhdWx0KQorIENDICAgICAgICA9ICR7Q0N9CisgZW5kaWYKKyBQWVRIT04gICA/PSAke1BZVEhPTn0KKy1DRkxBR1MgICArPSAke0NGTEFHU30KKy1MREZMQUdTICArPSAke0xERkxBR1N9CisrVFZIX0NGTEFHUyAgICs9ICR7Q0ZMQUdTfQorK1RWSF9MREZMQUdTICArPSAke0xERkxBR1N9CisgcHJlZml4ICAgID0gJHtwcmVmaXh9CisgYmluZGlyICAgID0gJHtiaW5kaXJ9CisgbWFuZGlyICAgID0gJHttYW5kaXJ9CitAQCAtNDgyLDggKzQ4Miw4IEBAIEVPRgorICAgIyBBZGQgcGFja2FnZSBjb25maWcKKyAgIGZvciBwa2cgaW4gJHtQQUNLQUdFU1sqXX07IGRvCisgICAgIGNhdCA+PiR7Q09ORklHX01LfSA8PEVPRgorLUxERkxBR1MgKz0gJChwa2ctY29uZmlnIC0tbGlicyAkcGtnKQorLUNGTEFHUyAgKz0gJChwa2ctY29uZmlnIC0tY2ZsYWdzICRwa2cpCisrVFZIX0xERkxBR1MgKz0gJChwa2ctY29uZmlnIC0tbGlicyAkcGtnKQorK1RWSF9DRkxBR1MgICs9ICQocGtnLWNvbmZpZyAtLWNmbGFncyAkcGtnKQorIEVPRgorICAgZG9uZQorIAorLS0gCisxLjcuNy42CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtZHZiL3R2aGVhZGVuZC90dmhlYWRlbmRfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1kdmIvdHZoZWFkZW5kL3R2aGVhZGVuZF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjVkNDNjNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtZHZiL3R2aGVhZGVuZC90dmhlYWRlbmRfZ2l0LmJiCkBAIC0wLDAgKzEsMzEgQEAKK1NVTU1BUlkgPSAiVHZoZWFkZW5kIFRWIHN0cmVhbWluZyBzZXJ2ZXIiCitIT01FUEFHRSA9ICJodHRwczovL3d3dy5sb25lbHljb2Rlci5jb20vcmVkbWluZS9wcm9qZWN0cy90dmhlYWRlbmQiCisKK0RFUEVORFMgPSAiYXZhaGkgemxpYiBvcGVuc3NsIHB5dGhvbi1uYXRpdmUiCisKK0xJQ0VOU0UgPSAiR1BMdjMrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9OWVlZjkxMTQ4YTliMTRlYzdmOWRmMzMzZGFlYmM3NDYiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS90dmhlYWRlbmQvdHZoZWFkZW5kLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLU1vdmUtdHZoZWFkZW5kLXNwZWNpZmljLUxELUNGTEFHUy1pbnRvLWEtaGVscGVyLXZhcmkucGF0Y2ggXAorIgorU1JDUkVWID0gImE0MjBjODNhMGUwZDJjMzFjMmMxNWQwZmVjNmZlZGMzZjVhMzZkZmUiCitQViA9ICIzLjMiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICAuL2NvbmZpZ3VyZSAtLXByZWZpeD0ke3ByZWZpeH0gXAorICAgICAgICAgICAgICAgIC0tbGliZGlyPSR7bGliZGlyfSBcCisgICAgICAgICAgICAgICAgLS1iaW5kaXI9JHtiaW5kaXJ9IFwKKyAgICAgICAgICAgICAgICAtLWRhdGFkaXI9JHtkYXRhZGlyfSBcCisgICAgICAgICAgICAgICAgLS1hcmNoPSR7VEFSR0VUX0FSQ0h9IFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtZHZic2NhbiBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWJ1bmRsZQorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vJHtCUE59IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tZWRpYWNlbnRyZS94Ym1jL3hibWMvMDAwMS1jb25maWd1cmUtZG9uLXQtcnVuLXB5dGhvbi1kaXN0dXRpbHMtdG8tZmluZC1TVEFHSU5HLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tZWRpYWNlbnRyZS94Ym1jL3hibWMvMDAwMS1jb25maWd1cmUtZG9uLXQtcnVuLXB5dGhvbi1kaXN0dXRpbHMtdG8tZmluZC1TVEFHSU5HLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmYzM5NTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW1lZGlhY2VudHJlL3hibWMveGJtYy8wMDAxLWNvbmZpZ3VyZS1kb24tdC1ydW4tcHl0aG9uLWRpc3R1dGlscy10by1maW5kLVNUQUdJTkcucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSAwZGNlNWEyYWJkOWY0Mjg3NjYxNmMzNTc3MmE0ZDcxYzUzOTk1NDNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KK0RhdGU6IFNhdCwgMTcgRGVjIDIwMTEgMTE6Mzg6MTUgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzRdIGNvbmZpZ3VyZTogZG9uJ3QgcnVuIHB5dGhvbiBkaXN0dXRpbHMgdG8gZmluZCBTVEFHSU5HX0lOQ0RJUi9weXRob24sIGl0IGlzIG5vdCBzYWZlIGZvciBwZXItbWFjaGluZSBzeXNyb290cworCitTaWduZWQtb2ZmLWJ5OiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorLS0tCisgbTQvYXhfcHl0aG9uX2RldmVsLm00IHwgICAgNyArLS0tLS0tCisgMSBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9tNC9heF9weXRob25fZGV2ZWwubTQgYi9tNC9heF9weXRob25fZGV2ZWwubTQKK2luZGV4IGFkYmQyMDcuLmRlZTcwZjYgMTAwNjQ0CistLS0gYS9tNC9heF9weXRob25fZGV2ZWwubTQKKysrKyBiL200L2F4X3B5dGhvbl9kZXZlbC5tNAorQEAgLTE1MSwxMiArMTUxLDcgQEAgJGFjX2Rpc3R1dGlsc19yZXN1bHRdKQorIAkjCisgCUFDX01TR19DSEVDS0lORyhbZm9yIFB5dGhvbiBpbmNsdWRlIHBhdGhdKQorIAlpZiB0ZXN0IC16ICIkUFlUSE9OX0NQUEZMQUdTIjsgdGhlbgorLQkJcHl0aG9uX3BhdGg9YCRQWVRIT04gLWMgImltcG9ydCBkaXN0dXRpbHMuc3lzY29uZmlnOyBcCistCQkJcHJpbnQgKGRpc3R1dGlscy5zeXNjb25maWcuZ2V0X3B5dGhvbl9pbmMgKCkpOyJgCistCQlpZiB0ZXN0IC1uICIke3B5dGhvbl9wYXRofSI7IHRoZW4KKy0JCQlweXRob25fcGF0aD0iLUkkcHl0aG9uX3BhdGgiCistCQlmaQorLQkJUFlUSE9OX0NQUEZMQUdTPSRweXRob25fcGF0aAorKwkJUFlUSE9OX0NQUEZMQUdTPSItSSR7U1RBR0lOR19JTkNESVJ9LyR7UFlUSE9OX0RJUn0iCisgCWZpCisgCUFDX01TR19SRVNVTFQoWyRQWVRIT05fQ1BQRkxBR1NdKQorIAlBQ19TVUJTVChbUFlUSE9OX0NQUEZMQUdTXSkKKy0tIAorMS43LjIuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW1lZGlhY2VudHJlL3hibWMveGJtYy8wMDAyLVJldmVydC1maXhlZC1pb3MtQWRkLW1lbW9yeS1iYXJyaWVycy10by1hdG9taWMtQWRkLVMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW1lZGlhY2VudHJlL3hibWMveGJtYy8wMDAyLVJldmVydC1maXhlZC1pb3MtQWRkLW1lbW9yeS1iYXJyaWVycy10by1hdG9taWMtQWRkLVMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTBhNDAzNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbWVkaWFjZW50cmUveGJtYy94Ym1jLzAwMDItUmV2ZXJ0LWZpeGVkLWlvcy1BZGQtbWVtb3J5LWJhcnJpZXJzLXRvLWF0b21pYy1BZGQtUy5wYXRjaApAQCAtMCwwICsxLDk3IEBACitGcm9tIDdiMmE4YTc4NjlkMjU3Y2JhMzVmNTNmNmQ4Nzc4NzdjMjljZGFjMjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBQYXVsIE1lbnplbCA8cGF1bGVwYW50ZXJAdXNlcnMuc291cmNlZm9yZ2UubmV0PgorRGF0ZTogU3VuLCAxNCBBdWcgMjAxMSAyMTo1Mzo0NyArMDIwMAorU3ViamVjdDogW1BBVENIIDIvNF0gUmV2ZXJ0ICJmaXhlZDpbaW9zXSBBZGQgbWVtb3J5IGJhcnJpZXJzIHRvIGF0b21pYyBBZGQvU3VidHJhY3QgYW5kIEluY3JlbWVudC9EZWNyZW1lbnQgZnVuY3Rpb25zIHRvIGVuc3VyZSBzeW5jaHJvbml6ZWQgYWNjZXNzZXMuIgorCitUaGlzIHJldmVydHMgY29tbWl0IDlhMTBjNDg3MTBkZjc5MTE4ZTM5ZTliM2JiMGExNWJmMWZlNjk0ZDEuCisKK1RoZSBidWlsZCAoT3BlbkVtYmVkZGVkIGBhbmdzdHJvbS0yMDEwLnhgIGZvciBgTUFDSElORSA9ICJiZWFnbGVib2FyZCIpIGZhaWxzIHdpdGggdGhlIGZvbGxvd2luZyBlcnJvci4KKworICAgICAgICBtYWtlIC1DIHhibWMvdGhyZWFkcworICAgICAgICBtYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9vZS9idWlsZC1hbmdzdHJvbS1uZXh0L2FuZ3N0cm9tLWRldi93b3JrL2FybXY3YS1hbmdzdHJvbS1saW51eC1nbnVlYWJpL3hibWMtMTAuMDUtcjExK2dpdHIwKzlhMTBjNDg3MTBkZjc5MTE4ZTM5ZTliM2JiMGExNWJmMWZlNjk0ZDEvZ2l0L3hibWMvdGhyZWFkcycKKyAgICAgICAgQ1BQICAgICBBdG9taWNzLm8KKyAgICAgICAgL3RtcC9jY0l6VG0zTC5zOiBBc3NlbWJsZXIgbWVzc2FnZXM6CisgICAgICAgIC90bXAvY2NJelRtM0wuczo0MDogRXJyb3I6IGdhcmJhZ2UgZm9sbG93aW5nIGluc3RydWN0aW9uIC0tIGBkbWIgaXNoJworICAgICAgICAvdG1wL2NjSXpUbTNMLnM6NDg6IEVycm9yOiBnYXJiYWdlIGZvbGxvd2luZyBpbnN0cnVjdGlvbiAtLSBgZG1iIGlzaCcKKyAgICAgICAgL3RtcC9jY0l6VG0zTC5zOjc2OiBFcnJvcjogZ2FyYmFnZSBmb2xsb3dpbmcgaW5zdHJ1Y3Rpb24gLS0gYGRtYiBpc2gnCisgICAgICAgIC90bXAvY2NJelRtM0wuczo4MzogRXJyb3I6IGdhcmJhZ2UgZm9sbG93aW5nIGluc3RydWN0aW9uIC0tIGBkbWIgaXNoJworICAgICAgICAvdG1wL2NjSXpUbTNMLnM6MTExOiBFcnJvcjogZ2FyYmFnZSBmb2xsb3dpbmcgaW5zdHJ1Y3Rpb24gLS0gYGRtYiBpc2gnCisgICAgICAgIC90bXAvY2NJelRtM0wuczoxMTg6IEVycm9yOiBnYXJiYWdlIGZvbGxvd2luZyBpbnN0cnVjdGlvbiAtLSBgZG1iIGlzaCcKKyAgICAgICAgL3RtcC9jY0l6VG0zTC5zOjE0NTogRXJyb3I6IGdhcmJhZ2UgZm9sbG93aW5nIGluc3RydWN0aW9uIC0tIGBkbWIgaXNoJworICAgICAgICAvdG1wL2NjSXpUbTNMLnM6MTUyOiBFcnJvcjogZ2FyYmFnZSBmb2xsb3dpbmcgaW5zdHJ1Y3Rpb24gLS0gYGRtYiBpc2gnCisgICAgICAgIC90bXAvY2NJelRtM0wuczoxODA6IEVycm9yOiBnYXJiYWdlIGZvbGxvd2luZyBpbnN0cnVjdGlvbiAtLSBgZG1iIGlzaCcKKyAgICAgICAgL3RtcC9jY0l6VG0zTC5zOjE4NzogRXJyb3I6IGdhcmJhZ2UgZm9sbG93aW5nIGluc3RydWN0aW9uIC0tIGBkbWIgaXNoJworICAgICAgICBtYWtlWzFdOiAqKiogW0F0b21pY3Mub10gRXJyb3IgMQorICAgICAgICBtYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL29lL2J1aWxkLWFuZ3N0cm9tLW5leHQvYW5nc3Ryb20tZGV2L3dvcmsvYXJtdjdhLWFuZ3N0cm9tLWxpbnV4LWdudWVhYmkveGJtYy0xMC4wNS1yMTErZ2l0cjArOWExMGM0ODcxMGRmNzkxMThlMzllOWIzYmIwYTE1YmYxZmU2OTRkMS9naXQveGJtYy90aHJlYWRzJworICAgICAgICBtYWtlOiAqKiogW3hibWMvdGhyZWFkcy90aHJlYWRzLmFdIEVycm9yIDIKKy0tLQorIHhibWMvdGhyZWFkcy9BdG9taWNzLmNwcCB8ICAgIDggLS0tLS0tLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDAgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3hibWMvdGhyZWFkcy9BdG9taWNzLmNwcCBiL3hibWMvdGhyZWFkcy9BdG9taWNzLmNwcAoraW5kZXggNWIwOWYxOC4uMGE5OGE3ZSAxMDA2NDQKKy0tLSBhL3hibWMvdGhyZWFkcy9BdG9taWNzLmNwcAorKysrIGIveGJtYy90aHJlYWRzL0F0b21pY3MuY3BwCitAQCAtMTk0LDE0ICsxOTQsMTIgQEAgbG9uZyBBdG9taWNJbmNyZW1lbnQodm9sYXRpbGUgbG9uZyogcEFkZHIpCisgeworICAgcmVnaXN0ZXIgbG9uZyB2YWw7CisgICBhc20gdm9sYXRpbGUgKAorLSAgICAgICAgICAgICAgICAiZG1iICAgICAgaXNoICAgICAgICAgICAgXG4iIC8vIE1lbW9yeSBiYXJyaWVyLiBNYWtlIHN1cmUgYWxsIG1lbW9yeSBhY2Nlc3NlcyBhcHBlYXJpbmcgYmVmb3JlIHRoaXMgY29tcGxldGUgYmVmb3JlIGFueSB0aGF0IGFwcGVhciBhZnRlcgorICAgICAgICAgICAgICAgICAiMTogICAgICAgICAgICAgICAgICAgICBcbiIgCisgICAgICAgICAgICAgICAgICJsZHJleCAgICUwLCBbJTFdICAgICAgIFxuIiAvLyAodmFsID0gKnBBZGRyKQorICAgICAgICAgICAgICAgICAiYWRkICAgICAlMCwgICMxICAgICAgICBcbiIgLy8gKHZhbCArPSAxKQorICAgICAgICAgICAgICAgICAic3RyZXggICByMSwgICUwLCBbJTFdCVxuIgorICAgICAgICAgICAgICAgICAiY21wICAgICByMSwgICAjMCAgICAgICBcbiIKKyAgICAgICAgICAgICAgICAgImJuZSAgICAgMWIgICAgICAgICAgICAgXG4iCistICAgICAgICAgICAgICAgICJkbWIgICAgIGlzaCAgICAgICAgICAgIFxuIiAvLyBNZW1vcnkgYmFycmllci4KKyAgICAgICAgICAgICAgICAgOiAiPSZyIiAodmFsKQorICAgICAgICAgICAgICAgICA6ICJyIihwQWRkcikKKyAgICAgICAgICAgICAgICAgOiAicjEiCitAQCAtMjczLDE0ICsyNzEsMTIgQEAgbG9uZyBBdG9taWNBZGQodm9sYXRpbGUgbG9uZyogcEFkZHIsIGxvbmcgYW1vdW50KQorIHsKKyAgIHJlZ2lzdGVyIGxvbmcgdmFsOworICAgYXNtIHZvbGF0aWxlICgKKy0gICAgICAgICAgICAgICAgImRtYiAgICAgIGlzaCAgICAgICAgICAgIFxuIiAvLyBNZW1vcnkgYmFycmllci4gTWFrZSBzdXJlIGFsbCBtZW1vcnkgYWNjZXNzZXMgYXBwZWFyaW5nIGJlZm9yZSB0aGlzIGNvbXBsZXRlIGJlZm9yZSBhbnkgdGhhdCBhcHBlYXIgYWZ0ZXIKKyAgICAgICAgICAgICAgICAgIjE6ICAgICAgICAgICAgICAgICAgICAgXG4iIAorICAgICAgICAgICAgICAgICAibGRyZXggICAlMCwgWyUxXSAgICAgICBcbiIgLy8gKHZhbCA9ICpwQWRkcikKKyAgICAgICAgICAgICAgICAgImFkZCAgICAgJTAsICAlMiAgICAgICAgXG4iIC8vICh2YWwgKz0gYW1vdW50KQorICAgICAgICAgICAgICAgICAic3RyZXggICByMSwgICUwLCBbJTFdCVxuIgorICAgICAgICAgICAgICAgICAiY21wICAgICByMSwgICAjMCAgICAgICBcbiIKKyAgICAgICAgICAgICAgICAgImJuZSAgICAgMWIgICAgICAgICAgICAgXG4iCistICAgICAgICAgICAgICAgICJkbWIgICAgIGlzaCAgICAgICAgICAgIFxuIiAvLyBNZW1vcnkgYmFycmllci4KKyAgICAgICAgICAgICAgICAgOiAiPSZyIiAodmFsKQorICAgICAgICAgICAgICAgICA6ICJyIihwQWRkciksICJyIihhbW91bnQpCisgICAgICAgICAgICAgICAgIDogInIxIgorQEAgLTM1MSwxNCArMzQ3LDEyIEBAIGxvbmcgQXRvbWljRGVjcmVtZW50KHZvbGF0aWxlIGxvbmcqIHBBZGRyKQorIHsKKyAgIHJlZ2lzdGVyIGxvbmcgdmFsOworICAgYXNtIHZvbGF0aWxlICgKKy0gICAgICAgICAgICAgICAgImRtYiAgICAgIGlzaCAgICAgICAgICAgIFxuIiAvLyBNZW1vcnkgYmFycmllci4gTWFrZSBzdXJlIGFsbCBtZW1vcnkgYWNjZXNzZXMgYXBwZWFyaW5nIGJlZm9yZSB0aGlzIGNvbXBsZXRlIGJlZm9yZSBhbnkgdGhhdCBhcHBlYXIgYWZ0ZXIKKyAgICAgICAgICAgICAgICAgIjE6ICAgICAgICAgICAgICAgICAgICAgXG4iIAorICAgICAgICAgICAgICAgICAibGRyZXggICAlMCwgWyUxXSAgICAgICBcbiIgLy8gKHZhbCA9ICpwQWRkcikKKyAgICAgICAgICAgICAgICAgInN1YiAgICAgJTAsICAjMSAgICAgICAgXG4iIC8vICh2YWwgLT0gMSkKKyAgICAgICAgICAgICAgICAgInN0cmV4ICAgcjEsICAlMCwgWyUxXQlcbiIKKyAgICAgICAgICAgICAgICAgImNtcCAgICAgcjEsICAgIzAgICAgICAgXG4iCisgICAgICAgICAgICAgICAgICJibmUgICAgIDFiICAgICAgICAgICAgIFxuIgorLSAgICAgICAgICAgICAgICAiZG1iICAgICBpc2ggICAgICAgICAgICBcbiIgLy8gTWVtb3J5IGJhcnJpZXIuCisgICAgICAgICAgICAgICAgIDogIj0mciIgKHZhbCkKKyAgICAgICAgICAgICAgICAgOiAiciIocEFkZHIpCisgICAgICAgICAgICAgICAgIDogInIxIgorQEAgLTQzMSwxNCArNDI1LDEyIEBAIGxvbmcgQXRvbWljU3VidHJhY3Qodm9sYXRpbGUgbG9uZyogcEFkZHIsIGxvbmcgYW1vdW50KQorIHsKKyAgIHJlZ2lzdGVyIGxvbmcgdmFsOworICAgYXNtIHZvbGF0aWxlICgKKy0gICAgICAgICAgICAgICAgImRtYiAgICAgaXNoICAgICAgICAgICAgXG4iIC8vIE1lbW9yeSBiYXJyaWVyLiBNYWtlIHN1cmUgYWxsIG1lbW9yeSBhY2Nlc3NlcyBhcHBlYXJpbmcgYmVmb3JlIHRoaXMgY29tcGxldGUgYmVmb3JlIGFueSB0aGF0IGFwcGVhciBhZnRlcgorICAgICAgICAgICAgICAgICAiMTogICAgICAgICAgICAgICAgICAgICBcbiIgCisgICAgICAgICAgICAgICAgICJsZHJleCAgICUwLCBbJTFdICAgICAgIFxuIiAvLyAodmFsID0gKnBBZGRyKQorICAgICAgICAgICAgICAgICAic3ViICAgICAlMCwgICUyICAgICAgICBcbiIgLy8gKHZhbCAtPSBhbW91bnQpCisgICAgICAgICAgICAgICAgICJzdHJleCAgIHIxLCAgJTAsIFslMV0JXG4iCisgICAgICAgICAgICAgICAgICJjbXAgICAgIHIxLCAgICMwICAgICAgIFxuIgorICAgICAgICAgICAgICAgICAiYm5lICAgICAxYiAgICAgICAgICAgICBcbiIKKy0gICAgICAgICAgICAgICAgImRtYiAgICAgaXNoICAgICAgICAgICAgXG4iIC8vIE1lbW9yeSBiYXJyaWVyLgorICAgICAgICAgICAgICAgICA6ICI9JnIiICh2YWwpCisgICAgICAgICAgICAgICAgIDogInIiKHBBZGRyKSwgInIiKGFtb3VudCkKKyAgICAgICAgICAgICAgICAgOiAicjEiCistLSAKKzEuNy4yLjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tZWRpYWNlbnRyZS94Ym1jL3hibWMvMDAwMy1SZXZlcnQtZml4ZWQtaW9zLUFkZC1tZW1vcnktYmFycmllcnMtdG8tY2FzLWFzc2VtYmx5LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tZWRpYWNlbnRyZS94Ym1jL3hibWMvMDAwMy1SZXZlcnQtZml4ZWQtaW9zLUFkZC1tZW1vcnktYmFycmllcnMtdG8tY2FzLWFzc2VtYmx5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyOTAxN2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW1lZGlhY2VudHJlL3hibWMveGJtYy8wMDAzLVJldmVydC1maXhlZC1pb3MtQWRkLW1lbW9yeS1iYXJyaWVycy10by1jYXMtYXNzZW1ibHkucGF0Y2gKQEAgLTAsMCArMSw2OSBAQAorRnJvbSBhYWFlMTYxNmEwOWQzNTliNTJlOTI5Zjk0NGNhMGNlYjRiYjdmODMxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGF1bCBNZW56ZWwgPHBhdWxlcGFudGVyQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KK0RhdGU6IFN1biwgMTQgQXVnIDIwMTEgMjE6NTU6MDkgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAzLzRdIFJldmVydCAiZml4ZWQ6W2lvc10gQWRkIG1lbW9yeSBiYXJyaWVycyB0byBjYXMoKSBhc3NlbWJseSB0byBlbnN1cmUgYWxpZ25tZW50IG9mIG1lbW9yeSBhY2Nlc3Nlcy4iCisKK1RoaXMgcmV2ZXJ0cyBjb21taXQgOTJiYWI2NTFlMjI1M2QxNzI4Nzk5OTViNTA5ODU2NDViNzdmZWNkMi4KKworVGhlIGJ1aWxkIChPcGVuRW1iZWRkZWQgYGFuZ3N0cm9tLTIwMTAueGAgZm9yIGBNQUNISU5FID0gImJlYWdsZWJvYXJkIikgZmFpbHMgd2l0aCB0aGUgZm9sbG93aW5nIGVycm9yLgorCisgICAgICAgIENQUCAgICAgQXRvbWljcy5vCisgICAgICAgIG1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL29lL2J1aWxkLWFuZ3N0cm9tLW5leHQvYW5nc3Ryb20tZGV2L3dvcmsvYXJtdjdhLWFuZ3N0cm9tLWxpbnV4LWdudWVhYmkveGJtYy0xMC4wNS1yMTErZ2l0cjArOTJiYWI2NTFlMjI1M2QxNzI4Nzk5OTViNTA5ODU2NDViNzdmZWNkMi9naXQveGJtYy93aW5kb3dzJworICAgICAgICBDUFAgICAgIEdVSU1lZGlhV2luZG93Lm8KKyAgICAgICAgL3RtcC9jY3JzeXd1Vi5zOiBBc3NlbWJsZXIgbWVzc2FnZXM6CisgICAgICAgIC90bXAvY2Nyc3l3dVYuczo0MDogRXJyb3I6IGdhcmJhZ2UgZm9sbG93aW5nIGluc3RydWN0aW9uIC0tIGBkbWIgaXNoJworICAgICAgICAvdG1wL2NjcnN5d3VWLnM6NDg6IEVycm9yOiBnYXJiYWdlIGZvbGxvd2luZyBpbnN0cnVjdGlvbiAtLSBgZG1iIGlzaCcKKyAgICAgICAgbWFrZVsxXTogKioqIFtBdG9taWNzLm9dIEVycm9yIDEKKyAgICAgICAgbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9vZS9idWlsZC1hbmdzdHJvbS1uZXh0L2FuZ3N0cm9tLWRldi93b3JrL2FybXY3YS1hbmdzdHJvbS1saW51eC1nbnVlYWJpL3hibWMtMTAuMDUtcjExK2dpdHIwKzkyYmFiNjUxZTIyNTNkMTcyODc5OTk1YjUwOTg1NjQ1Yjc3ZmVjZDIvZ2l0L3hibWMvdGhyZWFkcycKKyAgICAgICAgbWFrZTogKioqIFt4Ym1jL3RocmVhZHMvdGhyZWFkcy5hXSBFcnJvciAyCistLS0KKyB4Ym1jL3RocmVhZHMvQXRvbWljcy5jcHAgfCAgIDMzICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS94Ym1jL3RocmVhZHMvQXRvbWljcy5jcHAgYi94Ym1jL3RocmVhZHMvQXRvbWljcy5jcHAKK2luZGV4IDBhOThhN2UuLjA5NjdlYjIgMTAwNjQ0CistLS0gYS94Ym1jL3RocmVhZHMvQXRvbWljcy5jcHAKKysrKyBiL3hibWMvdGhyZWFkcy9BdG9taWNzLmNwcAorQEAgLTQ5LDIzICs0OSwyMiBAQCBsb25nIGNhcyh2b2xhdGlsZSBsb25nICpwQWRkciwgbG9uZyBleHBlY3RlZFZhbCwgbG9uZyBzd2FwVmFsKQorICNlbGlmIGRlZmluZWQoX19hcm1fXykKKyBsb25nIGNhcyh2b2xhdGlsZSBsb25nKiBwQWRkciwgbG9uZyBleHBlY3RlZFZhbCwgbG9uZyBzd2FwVmFsKQorIHsKKy0gIHJlZ2lzdGVyIGxvbmcgcHJldjsKKy0gIGFzbSB2b2xhdGlsZSAoCistICAgICAgICAgICAgICAgICJkbWIgICAgICBpc2ggICAgICAgICAgICBcbiIgLy8gTWVtb3J5IGJhcnJpZXIuIE1ha2Ugc3VyZSBhbGwgbWVtb3J5IGFjY2Vzc2VzIGFwcGVhcmluZyBiZWZvcmUgdGhpcyBjb21wbGV0ZSBiZWZvcmUgYW55IHRoYXQgYXBwZWFyIGFmdGVyCistICAgICAgICAgICAgICAgICIxOiAgICAgICAgICAgICAgICAgICAgICBcbiIKKy0gICAgICAgICAgICAgICAgImxkcmV4ICAgICUwLCBbJTFdICAgICAgIFxuIiAvLyBMb2FkIHRoZSBjdXJyZW50IHZhbHVlIG9mICpwQWRkciglMSkgaW50byBwcmV2ICglMCkgYW5kIGxvY2sgcEFkZHIsCistICAgICAgICAgICAgICAgICJjbXAgICAgICAlMCwgICUyICAgICAgICBcbiIgLy8gVmVyaWZ5IHRoYXQgdGhlIGN1cnJlbnQgdmFsdWUgKCUwKSA9PSBvbGQgdmFsdWUgKCUyKQorLSAgICAgICAgICAgICAgICAiYm5lICAgICAgMmYgICAgICAgICAgICAgXG4iIC8vIEJhaWwgaWYgdGhlIHR3byB2YWx1ZXMgYXJlIG5vdCBlcXVhbCBbbm90IGFzIGV4cGVjdGVkXQorLSAgICAgICAgICAgICAgICAic3RyZXggICAgcjEsICAlMywgWyUxXSAgXG4iCistICAgICAgICAgICAgICAgICJjbXAgICAgICByMSwgICMwICAgICAgICBcbiIKKy0gICAgICAgICAgICAgICAgImJuZSAgICAgIDFiICAgICAgICAgICAgIFxuIgorLSAgICAgICAgICAgICAgICAiZG1iICAgICAgaXNoICAgICAgICAgICAgXG4iIC8vIE1lbW9yeSBiYXJyaWVyLgorLSAgICAgICAgICAgICAgICAiMjogICAgICAgICAgICAgICAgICAgICAgXG4iCistICAgICAgICAgICAgICAgIDogIj0mciIgKHByZXYpCistICAgICAgICAgICAgICAgIDogInIiKHBBZGRyKSwgInIiKGV4cGVjdGVkVmFsKSwiciIoc3dhcFZhbCkKKy0gICAgICAgICAgICAgICAgOiAicjEiCistICAgICAgICAgICAgICAgICk7CistICByZXR1cm4gcHJldjsKKysgIHJldHVybihfX3N5bmNfdmFsX2NvbXBhcmVfYW5kX3N3YXAocEFkZHIsIGV4cGVjdGVkVmFsLCBzd2FwVmFsKSk7CisrLy8gIHJlZ2lzdGVyIGxvbmcgcHJldjsKKysvLyAgYXNtIHZvbGF0aWxlICgKKysvLyAgICAgICAgICAgICAgICAiMTogICAgICAgICAgICAgICAgICAgICAgXG4iCisrLy8gICAgICAgICAgICAgICAgImxkcmV4ICAgICUwLCBbJTFdICAgICAgIFxuIiAvKiBMb2FkIHRoZSBjdXJyZW50IHZhbHVlIG9mICpwQWRkciglMSkgaW50byBwcmV2ICglMCkgYW5kIGxvY2sgcEFkZHIsICAqLworKy8vICAgICAgICAgICAgICAgICJjbXAgICAgICAlMCwgICUyICAgICAgICBcbiIgLyogVmVyaWZ5IHRoYXQgdGhlIGN1cnJlbnQgdmFsdWUgKCUwKSA9PSBvbGQgdmFsdWUgKCUyKSAqLworKy8vICAgICAgICAgICAgICAgICJibmUgICAgICAyZiAgICAgICAgICAgICBcbiIgLyogQmFpbCBpZiB0aGUgdHdvIHZhbHVlcyBhcmUgbm90IGVxdWFsIFtub3QgYXMgZXhwZWN0ZWRdICovCisrLy8gICAgICAgICAgICAgICAgInN0cmV4ICAgIHIxLCAgJTMsIFslMV0gIFxuIgorKy8vICAgICAgICAgICAgICAgICJjbXAgICAgICByMSwgICMwICAgICAgICBcbiIgICAgICAgICAgICAgICAgCisrLy8gICAgICAgICAgICAgICAgImJuZSAgICAgIDFiICAgICAgICAgICAgIFxuIgorKy8vICAgICAgICAgICAgICAgICIyOiAgICAgICAgICAgICAgICAgICAgICAgICIKKysvLyAgICAgICAgICAgICAgICA6ICI9JnIiIChwcmV2KQorKy8vICAgICAgICAgICAgICAgIDogInIiKHBBZGRyKSwgInIiKGV4cGVjdGVkVmFsKSwiciIoc3dhcFZhbCkKKysvLyAgICAgICAgICAgICAgICA6ICJyMSIKKysvLyAgICAgICAgICAgICAgICApOworKy8vICByZXR1cm4gcHJldjsKKyB9CisgCisgI2VsaWYgZGVmaW5lZChfX21pcHNfXykKKy0tIAorMS43LjIuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW1lZGlhY2VudHJlL3hibWMveGJtYy8wMDA0LWNvbmZpZ3VyZS1jb3BlLXdpdGgtbGQtaXMtZ29sZC1ESVNUUk9fRkVBVFVSRS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbWVkaWFjZW50cmUveGJtYy94Ym1jLzAwMDQtY29uZmlndXJlLWNvcGUtd2l0aC1sZC1pcy1nb2xkLURJU1RST19GRUFUVVJFLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0NWUyMGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW1lZGlhY2VudHJlL3hibWMveGJtYy8wMDA0LWNvbmZpZ3VyZS1jb3BlLXdpdGgtbGQtaXMtZ29sZC1ESVNUUk9fRkVBVFVSRS5wYXRjaApAQCAtMCwwICsxLDQzIEBACitGcm9tIGZkOGY3MzgyNjI0MGFhZTU0M2E0MWEyYmZlZWEwMDU2ZTJmZTU5NGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorRGF0ZTogTW9uLCAxMSBNYXIgMjAxMyAxMTowNDoyOSArMDEwMAorU3ViamVjdDogW1BBVENIXSBjb25maWd1cmU6IGNvcGUgd2l0aCBsZC1pcy1nb2xkIERJU1RST19GRUFUVVJFCisKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CistLS0KKworVXBzdHJlYW0tU3RhdHVyZTogYmFja3BvcnQKKworIGNvbmZpZ3VyZS5pbiB8ICAgMTIgKysrKysrKy0tLS0tCisgMSBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KK2luZGV4IGVmOTQ2ODMuLmM4YjQ1OWIgMTAwNzU1CistLS0gYS9jb25maWd1cmUuaW4KKysrKyBiL2NvbmZpZ3VyZS5pbgorQEAgLTE4LDkgKzE4LDE0IEBAIHRvbG93ZXIoKXsKKyAjIGNoZWNrIGZvciBsaWJyYXJ5IGJhc2VuYW1lcworIEFDX0RFRlVOKFtYQl9GSU5EX1NPTkFNRV0sCisgWworKyAgI3NldCAteAorICAgaWYgW1sgIiRob3N0X3ZlbmRvciIgIT0gImFwcGxlIiBdXTsgdGhlbgorICAgICBBQ19NU0dfQ0hFQ0tJTkcoW2ZvciBsaWIkMiBzb25hbWVdKQorICAgICAkMV9GSUxFTkFNRT0kKCRDQyAtbm9zdGRsaWIgLW8gL2Rldi9udWxsICRMREZMQUdTIC1sJDIgLVdsLC1NIDI+L2Rldi9udWxsIHwgZ3JlcCAiXkxPQUQuKiQyIiB8IGF3ayAne1Y9MjsgcHJpbnQgJFZ9JykKKysgICAgaWYgW1sgLXogJCQxX0ZJTEVOQU1FIF1dOyB0aGVuCisrICAgICAgI3RyeSBnb2xkIGxpbmtlciBzeW50YXgKKysgICAgICAkMV9GSUxFTkFNRT0kKCRDQyAtbm9zdGRsaWIgLW8gL2Rldi9udWxsICRMREZMQUdTIC1sJDIgLVdsLC10IDM+JjEgMT4mMiAyPiYzIHwgZ3JlcCAiJDIiKQorKyAgICBmaQorICAgICBpZiBbWyAhIC16ICQkMV9GSUxFTkFNRSBdXTsgdGhlbgorICAgICAgICQxX1NPTkFNRT0kKG9iamR1bXAgLXAgJCQxX0ZJTEVOQU1FIHwgZ3JlcCAiU09OQU1FLiokMiIgfCBhd2sgJ3tWPTI7IHByaW50ICRWfScpCisgICAgIGZpCitAQCAtNTUsNiArNjAsNyBAQCBBQ19ERUZVTihbWEJfRklORF9TT05BTUVdLAorICAgICBBQ19NU0dfUkVTVUxUKFskJDFfU09OQU1FXSkKKyAgICAgQUNfU1VCU1QoJDFfU09OQU1FKQorICAgZmkKKysgICNzZXQgK3gKKyBdKQorIAorICMgRnVuY3Rpb24gdG8gcHVzaCBhbmQgcG9wIGxpYnMgYW5kIGluY2x1ZGVzIGZvciBhIGNvbW1hbmQKKy0tIAorMS43LjcuNgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW1lZGlhY2VudHJlL3hibWMveGJtYy9jb25maWd1cmUuaW4tQXZvaWQtcnVubmluZy1jb2RlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tZWRpYWNlbnRyZS94Ym1jL3hibWMvY29uZmlndXJlLmluLUF2b2lkLXJ1bm5pbmctY29kZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzE0MDU5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tZWRpYWNlbnRyZS94Ym1jL3hibWMvY29uZmlndXJlLmluLUF2b2lkLXJ1bm5pbmctY29kZS5wYXRjaApAQCAtMCwwICsxLDMyIEBACitGcm9tIGNmZDg1MTY2MGE1OTQ4MDFhNTkxZTgwZGM4MjBjNjVjYjdiZDc4MzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgorRGF0ZTogU2F0LCA2IE9jdCAyMDEyIDA2OjQwOjAzIC0wMzAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZS5pbjogQXZvaWQgcnVubmluZyBjb2RlIG9yIHdlIGJyZWFrIGNyb3NzLWNvbXBpbGUKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbc2ltaWxhciBjaGFuZ2UgZG9uZSBmb3IgMTIuMF0KKworU2lnbmVkLW9mZi1ieTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KKy0tLQorIGNvbmZpZ3VyZS5pbiB8ICAgIDYgKy0tLS0tCisgMSBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KK2luZGV4IGVmOTQ2ODMuLmQ3ZWZjYjAgMTAwNzU1CistLS0gYS9jb25maWd1cmUuaW4KKysrKyBiL2NvbmZpZ3VyZS5pbgorQEAgLTEyNDYsMTEgKzEyNDYsNyBAQCBpZiB0ZXN0ICIkdXNlX2V4dGVybmFsX2ZmbXBlZyIgPSAieWVzIjsgdGhlbgorICAgQUNfREVGSU5FKFtVU0VfRVhURVJOQUxfRkZNUEVHXSwgWzFdLCBbV2hldGhlciB0byB1c2UgZXh0ZXJuYWwgRkZtcGVnIGxpYnJhcmllcy5dKQorIAorICAgIyBEaXNhYmxlIHZkcGF1IHN1cHBvcnQgaWYgZXh0ZXJuYWwgbGliYXZjb2RlYyBkb2Vzbid0IGhhdmUgaXQKKy0gIEFDX1JVTl9JRkVMU0UoCistICAgIEFDX0xBTkdfUFJPR1JBTShbWyNpbmNsdWRlIDxsaWJhdmNvZGVjL2F2Y29kZWMuaD5dXSwKKy0gICAgICBbW2F2Y29kZWNfcmVnaXN0ZXJfYWxsKCk7CistICAgICAgICBBVkNvZGVjICpjb2RlYyA9IGF2Y29kZWNfZmluZF9kZWNvZGVyX2J5X25hbWUoInZjMV92ZHBhdSIpOworLSAgICAgICAgcmV0dXJuIChjb2RlYykgPyAwIDogMTtdXSksLAorKyAgQUNfQ0hFQ0tfTElCKFthdmNvZGVjXSwgW2ZmX3ZkcGF1X3ZjMV9kZWNvZGVfcGljdHVyZV0sLAorICAgICBbaWYgdGVzdCAieCR1c2VfdmRwYXUiID0gInh5ZXMiOyB0aGVuCisgICAgICAgQUNfTVNHX0VSUk9SKCRmZm1wZWdfdmRwYXVfbm90X3N1cHBvcnRlZCkKKyAgICAgZWxzZQorLS0gCisxLjcuMi41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbWVkaWFjZW50cmUveGJtYy94Ym1jX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbWVkaWFjZW50cmUveGJtYy94Ym1jX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTRkNGUxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tZWRpYWNlbnRyZS94Ym1jL3hibWNfZ2l0LmJiCkBAIC0wLDAgKzEsOTkgQEAKK1NVTU1BUlkgPSAiWEJNQyBNZWRpYSBDZW50ZXIiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLkdQTDttZDU9NmViNjMxYjZkYTdmZGIwMTUwOGE4MDIxM2ZmYzM1ZmYiCisKK0RFUEVORFMgPSAibGlidXNiMSBsaWJjZWMgbGlicGxpc3QgZXhwYXQgeWFqbCBncGVyZi1uYXRpdmUgbGlieG11IGZyaWJpZGkgbXBlZzJkZWMgZmZtcGVnIHNhbWJhIGZvbnRjb25maWcgY3VybCBweXRob24gbGliYXNzIGxpYm1vZHBsdWcgbGlibWljcm9odHRwZCB3YXZwYWNrIGxpYm1tcyBjbWFrZS1uYXRpdmUgbGlic2RsLWltYWdlIGxpYnNkbC1taXhlciB2aXJ0dWFsL2VnbCBteXNxbDUgc3FsaXRlMyBsaWJtbXMgZmFhZDIgbGliY2RpbyBsaWJwY3JlIGJvb3N0IGx6byBlbmNhIGF2YWhpIGxpYnNhbXBsZXJhdGUwIGxpYnhpbmVyYW1hIGxpYnhyYW5kciBsaWJ4dHN0IGJ6aXAyIHZpcnR1YWwvbGlic2RsIGphc3BlciB6aXAtbmF0aXZlIHpsaWIgbGlidGlueXhtbCBsaWJtYWQiCisjcmVxdWlyZSByZWNpcGVzL2VnbC9lZ2wuaW5jCisKKworU1JDUkVWID0gIjgyMzg4ZDU1ZGFlNzljYmIyZTQ4NmUzMDdlMjMyMDJlNzZhNDNlZmEiCisKKyMgbXVsdGlwbGUgaXNzdWVzCitQTkJMQUNLTElTVFt4Ym1jXSA/PSAiL3Vzci9pbmNsdWRlL2MrKy9jdGltZTo3MDoxMTogZXJyb3I6ICc6OmdtdGltZScgaGFzIG5vdCBiZWVuIGRlY2xhcmVkIgorCitQViA9ICIxMS4wK2dpdHIke1NSQ1BWfSIKK1BSID0gInIxNCIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS94Ym1jL3hibWMuZ2l0O2JyYW5jaD1FZGVuIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLWRvbi10LXJ1bi1weXRob24tZGlzdHV0aWxzLXRvLWZpbmQtU1RBR0lORy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLVJldmVydC1maXhlZC1pb3MtQWRkLW1lbW9yeS1iYXJyaWVycy10by1hdG9taWMtQWRkLVMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1SZXZlcnQtZml4ZWQtaW9zLUFkZC1tZW1vcnktYmFycmllcnMtdG8tY2FzLWFzc2VtYmx5LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDQtY29uZmlndXJlLWNvcGUtd2l0aC1sZC1pcy1nb2xkLURJU1RST19GRUFUVVJFLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS5pbi1Bdm9pZC1ydW5uaW5nLWNvZGUucGF0Y2ggXAorIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHB5dGhvbi1kaXIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworIyBicmVha3MgY29tcGlsYXRpb24KK0NDQUNIRSA9ICIiCisKK0NBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICIgXAorICAgIGFjX2N2X3BhdGhfUFlUSE9OPSIke1NUQUdJTkdfQklORElSX05BVElWRX0vcHl0aG9uLW5hdGl2ZS9weXRob24iIFwKKyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnb3BlbmdsJywgJ29wZW5nbCcsICdvcGVuZ2xlc3YyJywgZCl9IgorUEFDS0FHRUNPTkZJR1tvcGVuZ2xdID0gIi0tZW5hYmxlLWdsLC0tZW5hYmxlLWdsZXMsZ2xldyIKK1BBQ0tBR0VDT05GSUdbb3BlbmdsZXN2Ml0gPSAiLS1lbmFibGUtZ2xlcywtLWVuYWJsZS1nbCwiCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0tZGlzYWJsZS1ycGF0aCBcCisgICAgLS1lbmFibGUtbGlidXNiIFwKKyAgICAtLWVuYWJsZS1haXJwbGF5IFwKKyAgICAtLWRpc2FibGUtb3B0aWNhbC1kcml2ZSBcCisgICAgLS1lbmFibGUtZXh0ZXJuYWwtbGlicmFyaWVzIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ29wZW5nbCcsICctLWVuYWJsZS1nbCcsICctLWVuYWJsZS1nbGVzJywgZCl9IFwKKyIKKworRlVMTF9PUFRJTUlaQVRJT05fYXJtdjdhID0gIi1mZXhwZW5zaXZlLW9wdGltaXphdGlvbnMgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLU80IC1mZmFzdC1tYXRoIgorQlVJTERfT1BUSU1JWkFUSU9OID0gIiR7RlVMTF9PUFRJTUlaQVRJT059IgorCitFWFRSQV9PRUNPTkZfYXBwZW5kX2FybXY3YSA9ICItLWNwdT1jb3J0ZXgtYTgiCisKKyMgZm9yIHB5dGhvbiBtb2R1bGVzCitleHBvcnQgSE9TVF9TWVMKK2V4cG9ydCBCVUlMRF9TWVMKK2V4cG9ydCBTVEFHSU5HX0xJQkRJUgorZXhwb3J0IFNUQUdJTkdfSU5DRElSCitleHBvcnQgUFlUSE9OX0RJUgorCitkb19jb25maWd1cmUoKSB7CisgICAgc2ggYm9vdHN0cmFwCisgICAgb2VfcnVuY29uZgorfQorCitQQVJBTExFTF9NQUtFID0gIiIKKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgIGZvciBpIGluICQoZmluZCAuIC1uYW1lICJNYWtlZmlsZSIpIDsgZG8KKyAgICAgICAgc2VkIC1pIC1lICdzOkkvdXNyL2luY2x1ZGU6SSR7U1RBR0lOR19JTkNESVJ9OmcnICRpCisgICAgZG9uZQorCisgICAgZm9yIGkgaW4gJChmaW5kIC4gLW5hbWUgIioubWFrKiIgLW8gICAgLW5hbWUgIk1ha2VmaWxlIikgOyBkbworICAgICAgICBzZWQgLWkgLWUgJ3M6SS91c3IvaW5jbHVkZTpJJHtTVEFHSU5HX0lOQ0RJUn06ZycgLWUgJ3M6LXJwYXRoIFwkKGxpYmRpcik6LXJwYXRoICR7bGliZGlyfTpnJyAkaQorICAgIGRvbmUKK30KKworSU5TQU5FX1NLSVBfJHtQTn0gPSAicnBhdGhzIgorCisjIG9uIEFSTSBhcmNoaXRlY3R1cmVzIHhibWMgd2lsbCB1c2UgR0xFUyB3aGljaCB3aWxsIG1ha2UgdGhlIHJlZ3VsYXIgd3JhcHBlciBmYWlsLCBzbyBzdGFydCBpdCBkaXJlY3RseQorZG9faW5zdGFsbF9hcHBlbmRfYXJtKCkgeworICAgIHNlZCAtaSAtZSAnczpFeGVjPXhibWM6RXhlYz0ke2xpYmRpcn0veGJtYy94Ym1jLmJpbjpnJyAke0R9JHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMveGJtYy5kZXNrdG9wCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3hzZXNzaW9ucyAke2RhdGFkaXJ9L2ljb25zIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0veGJtYy8uZGVidWcgJHtsaWJkaXJ9L3hibWMvKi8uZGVidWcgJHtsaWJkaXJ9L3hibWMvKi8qLy5kZWJ1ZyAke2xpYmRpcn0veGJtYy8qLyovKi8uZGVidWciCisKKyMgeGJtYyB1c2VzIHNvbWUga2luZCBvZiBkbG9wZW4oKSBtZXRob2QgZm9yIGxpYmNlYyBzbyB3ZSBuZWVkIHRvIGFkZCBpdCBtYW51YWxseQorIyBPcGVuR0wgYnVpbGRzIG5lZWQgZ2x4aW5mbywgdGhhdCdzIGluIG1lc2EtZGVtb3MKK1JSRUNPTU1FTkRTXyR7UE59X2FwcGVuZCA9ICIgbGliY2VjIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHl0aG9uIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHl0aG9uLWxhbmcgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBweXRob24tcmUgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBweXRob24tbmV0Y2xpZW50IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGliY3VybCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhkcHlpbmZvIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdvcGVuZ2wnLCAnbWVzYS1kZW1vcycsICcnLCBkKX0gXAorIgorUlJFQ09NTUVORFNfJHtQTn1fYXBwZW5kX2xpYmMtZ2xpYmMgPSAiIGdsaWJjLWNoYXJtYXAtaWJtODUwIGdsaWJjLWdjb252LWlibTg1MCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbWt2L2xpYmVibWwvbGliZWJtbF8xLjMuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbWt2L2xpYmVibWwvbGliZWJtbF8xLjMuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MWUyYmZjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1ta3YvbGliZWJtbC9saWJlYm1sXzEuMy4wLmJiCkBAIC0wLDAgKzEsMzMgQEAKK1NVTU1BUlkgPSAibGliZWJtbCBpcyBhIEMrKyBsaWJhcnkgdG8gcGFyc2UgRUJNTCBmaWxlcyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLkxHUEw7bWQ1PWYxNDU5OWEyZjA4OWY2ZmY4Yzk3ZTJiYWE0ZTNkNTc1IgorCitTUkNfVVJJID0gImh0dHA6Ly9kbC5tYXRyb3NrYS5vcmcvZG93bmxvYWRzL2xpYmVibWwvbGliZWJtbC0ke1BWfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gImVmZWM3MjliZjVhNTFlNjQ5ZTFkOWQxZjYxYzBhZTdhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjgzYjA3NGQ2YjYyNzE1YWEwMDgwNDA2ZWE4NGQzM2RmMmU0NGI1ZDg3NDA5NjY0MDIzM2E0ZGI0OWI4MDk2ZGUiCisKK0VYVFJBX09FTUFLRSA9ICItZSBNQUtFRkxBR1M9IgorCitkb19jb21waWxlKCkgeworICAgIGNkICR7U30vbWFrZS9saW51eAorICAgIG9lX3J1bm1ha2UgQ1JPU1M9IiR7VEFSR0VUX1BSRUZJWH0iCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgY2QgJHtTfS9tYWtlL2xpbnV4CisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgbGliZWJtbC5hICR7RH0ke2xpYmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgbGliZWJtbC5zby4qICR7RH0ke2xpYmRpcn0KKyAgICBjcCAtUiAtLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bW9kZSxsaW5rcyAtdiBsaWJlYm1sLnNvICR7RH0ke2xpYmRpcn0KKworICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vZWJtbAorICAgIGZvciBpIGluIC4uLy4uL2VibWwvKi5oOyBkbworICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJGkgJHtEfSR7aW5jbHVkZWRpcn0vZWJtbAorICAgIGRvbmUKKworICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vZWJtbC9jCisgICAgZm9yIGkgaW4gLi4vLi4vZWJtbC9jLyouaDsgZG8KKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICRpICR7RH0ke2luY2x1ZGVkaXJ9L2VibWwvYworICAgIGRvbmUKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbWt2L2xpYm1hdHJvc2thL2xpYm1hdHJvc2thXzEuNC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1ta3YvbGlibWF0cm9za2EvbGlibWF0cm9za2FfMS40LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWFkODdjYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbWt2L2xpYm1hdHJvc2thL2xpYm1hdHJvc2thXzEuNC4xLmJiCkBAIC0wLDAgKzEsMzUgQEAKK1NVTU1BUlkgPSAibGlibWF0cm9za2EgaXMgYSBDKysgbGliYXJ5IHRvIHBhcnNlIE1hdHJvc2thIGZpbGVzICgubWt2IGFuZCAubWthKSIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLkxHUEw7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIgorCitERVBFTkRTID0gImxpYmVibWwiCisKK1NSQ19VUkkgPSAiaHR0cDovL2RsLm1hdHJvc2thLm9yZy9kb3dubG9hZHMvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gImY2MWIyZTUwODZmNGJiOWQyNGE0M2NjOGFmNDNhNzE5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA4NmYyMTg3M2U5MjU2NzliYWJkYWJmNzkzYzNiYjg1YzM1M2QwY2Q3OTQyMzU0M2EzMzU1ZTA4ZThhNGVmYjciCisKK0VYVFJBX09FTUFLRSA9ICItZSBNQUtFRkxBR1M9IgorCitkb19jb21waWxlKCkgeworICAgIGNkICR7U30vbWFrZS9saW51eAorICAgIG9lX3J1bm1ha2UgQ1JPU1M9IiR7VEFSR0VUX1BSRUZJWH0iCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgY2QgJHtTfS9tYWtlL2xpbnV4CisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgbGlibWF0cm9za2EuYSAke0R9JHtsaWJkaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1IGxpYm1hdHJvc2thLnNvLiogJHtEfSR7bGliZGlyfQorICAgIGNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12IGxpYm1hdHJvc2thLnNvICR7RH0ke2xpYmRpcn0KKworICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vbWF0cm9za2EKKyAgICBmb3IgaSBpbiAuLi8uLi9tYXRyb3NrYS8qLmg7IGRvCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAkaSAke0R9JHtpbmNsdWRlZGlyfS9tYXRyb3NrYQorICAgIGRvbmUKKworICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vbWF0cm9za2EvYworICAgIGZvciBpIGluIC4uLy4uL21hdHJvc2thL2MvKi5oOyBkbworICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJGkgJHtEfSR7aW5jbHVkZWRpcn0vbWF0cm9za2EvYworICAgIGRvbmUKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbWt2L21rdnRvb2xuaXgvbWt2dG9vbG5peF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW1rdi9ta3Z0b29sbml4L21rdnRvb2xuaXhfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlNDRjY2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW1rdi9ta3Z0b29sbml4L21rdnRvb2xuaXhfZ2l0LmJiCkBAIC0wLDAgKzEsNTcgQEAKK1NVTU1BUlkgPSAiTUtWVG9vbE5peCAtLSBDcm9zcy1wbGF0Zm9ybSB0b29scyBmb3IgTWF0cm9za2EiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmJ1bmt1cy5vcmcvdmlkZW90b29scy9ta3Z0b29sbml4L3NvdXJjZS5odG1sIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK0RFUEVORFMgPSAiY3VybCBib29zdCBleHBhdCB6bGliIGxpYmVibWwgbGlibWF0cm9za2EgbGlib2dnIGxpYnZvcmJpcyBiemlwMiBsem8gZmlsZSBydWJ5LW5hdGl2ZSIKKworUFYgPSAiOC40LjArZ2l0JHtTUkNQVn0iCitTUkNSRVZfbWt2dG9vbG5peCA9ICI3ZjYzZWE0OGVlNDc0NzU0YTk1ODM4ZjM3YWJhOGY2MTE4Yzk0YTY1IgorU1JDUkVWX2xpYmVibWwgPSAiMDRiMzRiMGRiZGVkNDBlMGNlYzkzY2FmYTZhNGY0YzhlOTBjMzIwNiIKK1NSQ1JFVl9saWJtYXRyb3NrYSA9ICJkYjVkNjI3YjViZjQ4NTE2YzllMGI1NDAyNTRjMGQzNjU5NTc2MGMzIgorU1JDUkVWX0ZPUk1BVCA9ICJta3Z0b29sbml4IgorU1JDX1VSSSA9ICIgXAorICAgICAgICAgICBnaXQ6Ly9naXRodWIuY29tL21idW5rdXMvbWt2dG9vbG5peC5naXQ7bmFtZT1ta3Z0b29sbml4IFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0aHViLmNvbS9NYXRyb3NrYS1PcmcvbGliZWJtbC5naXQ7bmFtZT1saWJlYm1sO2Rlc3RzdWZmaXg9Z2l0L2xpYi9saWJlYm1sIFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0aHViLmNvbS9NYXRyb3NrYS1PcmcvbGlibWF0cm9za2EuZ2l0O25hbWU9bGlibWF0cm9za2E7ZGVzdHN1ZmZpeD1naXQvbGliL2xpYm1hdHJvc2thIFwKKyAgICAgICAgICAiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBnZXR0ZXh0CisKKyMgbWFrZSBzdXJlIHJiIGZpbGVzIGFyZSB1c2VkIGZyb20gc3lzcm9vdCwgbm90IGZyb20gaG9zdAorIyBydWJ5LTEuOS4zLWFsd2F5cy11c2UtaTM4Ni5wYXRjaCBpcyBkb2luZyB0YXJnZXRfY3B1PWBlY2hvICR0YXJnZXRfY3B1IHwgc2VkIHMvaS44Ni9pMzg2L2AKKyMgd2UgbmVlZCB0byByZXBsYWNlIGl0IHRvbyAoYSBiaXQgbG9uZ2VyIHZlcnNpb24gd2l0aG91dCBpbXBvcnRpbmcgcmUpCitSVUJZX1NZUyA9ICIke0AgJyR7QlVJTERfU1lTfScucmVwbGFjZSgnaTQ4NicsICdpMzg2JykucmVwbGFjZSgnaTU4NicsICdpMzg2JykucmVwbGFjZSgnaTY4NicsICdpMzg2JykgfSIKK2V4cG9ydCBSVUJZTElCPSIke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L3J1YnlnZW1zOiR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9ydWJ5OiR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9ydWJ5LyR7UlVCWV9TWVN9IgorCitQQUNLQUdFQ09ORklHID8/PSAiZmxhYyAke0BiYi51dGlscy5jb250YWlucygnQkJGSUxFX0NPTExFQ1RJT05TJywgJ3F0NS1sYXllcicsICdxdDUnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1tmbGFjXSA9ICItLXdpdGgtZmxhYywtLXdpdGhvdXQtZmxhYyxmbGFjIgorUEFDS0FHRUNPTkZJR1txdDVdID0gIi0tZW5hYmxlLXF0IC0td2l0aC1tb2M9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3F0NS9tb2MgLS13aXRoLXVpYz0ke1NUQUdJTkdfQklORElSX05BVElWRX0vcXQ1L3VpYyAtLXdpdGgtcmNjPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9xdDUvcmNjLC0tZGlzYWJsZS1xdCxxdGJhc2UiCisKK0VYVFJBX09FQ09ORiA9ICIgLS13aXRoLWJvb3N0LWxpYmRpcj0ke1NUQUdJTkdfTElCRElSfSBcCisiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9IgorCisjIHJlbW92ZSBzb21lIGhhcmRjb2RlZCBzZWFyY2hwYXRocworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgc2VkIC1pIC1lIHM6L3Vzci9sb2NhbC9saWI6JHtTVEFHSU5HX0xJQkRJUn06ZyAtZSBzOi91c3IvbG9jYWwvaW5jbHVkZToke1NUQUdJTkdfSU5DRElSfTpnICR7U30vYWMvcXQ1Lm00Cit9CisKKyMgWWVhaCwgbm8gbWFrZWZpbGUKK2RvX2NvbXBpbGUoKSB7CisgICAgTENfQUxMPSJlbl9VUy5VVEYtOCIgJHtTfS9kcmFrZSAke1BBUkFMTEVMX01BS0V9Cit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgTENfQUxMPSJlbl9VUy5VVEYtOCIgJHtTfS9kcmFrZSBpbnN0YWxsIERFU1RESVI9JHtEfQorfQorCisjIHwgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIHNyYy9jb21tb24vdXRmOF9jb2RlY3Z0X2ZhY2V0LmNwcDoyMjowOgorIyB8IHNyYy9jb21tb24vLi4vLi4vbGliL2Jvb3N0L3V0ZjhfY29kZWN2dF9mYWNldC91dGY4X2NvZGVjdnRfZmFjZXQuY3BwOjE3NDo1OiBlcnJvcjogJ2ludCBtdHg6OnV0ZjhfY29kZWN2dF9mYWNldDo6ZG9fbGVuZ3RoJyBpcyBub3QgYSBzdGF0aWMgZGF0YSBtZW1iZXIgb2YgJ3N0cnVjdCBtdHg6OnV0ZjhfY29kZWN2dF9mYWNldCcKKyMgfCAgICAgIEJPT1NUX0NPREVDVlRfRE9fTEVOR1RIX0NPTlNUIHN0ZDo6bWJzdGF0ZV90ICYsCisjIHwgICAgICBeCitQTkJMQUNLTElTVFtta3Z0b29sbml4XSA/PSAiQlJPS0VOOiBGYWlseCB0byBidWlsZCB3aXRoIGdjYy01IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2NkcGFyYW5vaWEvY2RwYXJhbm9pYV8xMC4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2NkcGFyYW5vaWEvY2RwYXJhbm9pYV8xMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2YmE1MjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvY2RwYXJhbm9pYS9jZHBhcmFub2lhXzEwLjIuYmIKQEAgLTAsMCArMSwyNiBAQAorU1VNTUFSWSA9ICJjZHBhcmFub2lhIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJsaWJyYXJ5IHVzZWQgdG8gcmVhZCBhdWRpbyBDRHMsIHdoaWNoIGlzIGFibGUgdG8gcGVyZm9ybSBcCitlcnJvciBjb3JyZWN0aW9ucywgaGVuY2UgdGhlIG5hbWUgcGFyYW5vaWEuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly93d3cueGlwaC5vcmcvIgorU0VDVElPTiA9ICJtdWx0aW1lZGlhIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy1MR1BMO21kNT1kMzcwZmVhYTFjOWVkY2RiZDI5Y2EyN2VhM2QyMzA0ZCIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLnhpcGgub3JnL3JlbGVhc2VzL2NkcGFyYW5vaWEvY2RwYXJhbm9pYS1JSUktJHtQVn0uc3JjLnRneiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVVzZS1ERVNURElSLWluLWluc3RhbGwtTWFrZWZpbGUtcnVsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLWludGVyZmFjZS1yZW1vdmUtQy1yZXNlcnZlZC1rZXl3b3JkLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJiMzA0YmJlOGFiNjMzNzM5MjRhNzQ0ZWFjOWViYzY1MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwMDVkYjQ1ZWY0ZWUwMTdmNWMzMmVjMTI0ZjkxM2EwNTQ2ZTc3MDE0MjY2YzZhMWM1MGRmOTAyYTU1ZmU2NGRmIgorCisjIFVwcGVyY2FzZSBsZXR0ZXJzIGFyZSBub3QgYWxsb3dlZCBpbiB0aGUgcmVjaXBlIG5hbWUsIHRodXMgdGhlIHJlY2lwZSBjYW4gbm90IGJlIG5hbWVkIGNkcGFyYW5vaWEtSUlJIGFuZAorIyB3ZSBuZWVkIHRvIGFkZCB0aGUgcGF0aCB0byB0aGUgZXh0cmFjdGVkIHNvdXJjZXMgZXhwbGljaXRlbHk6CitTID0gIiR7V09SS0RJUn0vY2RwYXJhbm9pYS1JSUktJHtQVn0iCisKKyMgY2RwYXJhbm9pYSBNYWtlZmlsZSBjYW4gbm90IGJlIHVzZWQgd2l0aCBzZXZlcmFsIHRocmVhZHMgKGJlY2F1c2UgdGhlIHN0YXRpYyBsaWJyYXJ5IHRhcmdldCBhbmQgdGhlIHNoYXJlZAorIyBsaWJyYXJ5IHRhcmdldCB1c2Ugb2JqZWN0IGZpbGVzIHdoaWNoIGFyZSBjb21waWxlZCBpbiB0aGUgc2FtZSBkaXJlY3RvcnksIHRoZSBvYmplY3QgZmlsZXMgYXJlIGp1c3QgcmVtb3ZlZAorIyBiZXR3ZWVuIHRoZSBjb21waWxhdGlvbiBvZiB0aG9zZSB0d28gdGFyZ2V0cykKK1BBUkFMTEVMX01BS0UgPSAiIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9jZHBhcmFub2lhL2ZpbGVzLzAwMDEtVXNlLURFU1RESVItaW4taW5zdGFsbC1NYWtlZmlsZS1ydWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2NkcGFyYW5vaWEvZmlsZXMvMDAwMS1Vc2UtREVTVERJUi1pbi1pbnN0YWxsLU1ha2VmaWxlLXJ1bGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2IwODMwMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9jZHBhcmFub2lhL2ZpbGVzLzAwMDEtVXNlLURFU1RESVItaW4taW5zdGFsbC1NYWtlZmlsZS1ydWxlLnBhdGNoCkBAIC0wLDAgKzEsNzAgQEAKK0Zyb20gOTdjMDZhZTk1NWIyNzA4NTFmNGZkMjM5NmM3MTVmOWM3NjU5MWYzNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEV0aWVubmUgQ29yZG9ubmllciA8ZXRpZW5uZS5jb3Jkb25uaWVyQHN0cmVhbXVubGltaXRlZC5jb20+CitEYXRlOiBUaHUsIDIgQXByIDIwMTUgMTA6MTU6MDggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gVXNlIERFU1RESVIgaW4gImluc3RhbGwiIE1ha2VmaWxlIHJ1bGUKKworVGhpcyBjaGFuZ2UgYWxsb3dzIHRvIHBlcmZvcm0gaW5zdGFsbGF0aW9ucyBpbiBhIHN5c3Jvb3QgZm9sZGVyLCB3aGljaCBpcyByZXF1aXJlZCBlLmcuIGJ5Cit0aGUgcmVjaXBlcyBpbmhlcml0aW5nIHlvY3RvIGF1dG90b29sIGNsYXNzLCBhbmQgaXMgYW4gYXV0b3Rvb2wgc3RhbmRhcmQ6CittYWtlIGluc3RhbGwgREVTVERJUj1+L215c3lzcm9vdAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgKHRoZSB1cHN0cmVhbSBwcm9qZWN0IGlzIGRlYWQpCisKK1NpZ25lZC1vZmYtYnk6IEV0aWVubmUgQ29yZG9ubmllciA8ZXRpZW5uZS5jb3Jkb25uaWVyQHN0cmVhbXVubGltaXRlZC5jb20+CistLS0KKyBNYWtlZmlsZS5pbiB8IDM2ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmluIGIvTWFrZWZpbGUuaW4KK2luZGV4IDNkMjM1YWQuLmRmNTQ0YzcgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5pbgorKysrIGIvTWFrZWZpbGUuaW4KK0BAIC02MywyOCArNjMsMjggQEAgc2xpYjoKKyAJY2QgcGFyYW5vaWEgJiYgJChNQUtFKSBzbGliCisgCisgaW5zdGFsbDoKKy0JJChJTlNUQUxMKSAtZCAtbSAwNzU1ICQoQklORElSKQorLQkkKElOU1RBTEwpIC1tIDc1NSAkKHNyY2RpcikvY2RwYXJhbm9pYSAkKEJJTkRJUikKKy0JJChJTlNUQUxMKSAtZCAtbSAwNzU1ICQoTUFORElSKQorLQkkKElOU1RBTEwpIC1kIC1tIDA3NTUgJChNQU5ESVIpL21hbjEKKy0JJChJTlNUQUxMKSAtbSAwNjQ0ICQoc3JjZGlyKS9jZHBhcmFub2lhLjEgJChNQU5ESVIpL21hbjEKKy0JJChJTlNUQUxMKSAtZCAtbSAwNzU1ICQoSU5DTFVERURJUikKKy0JJChJTlNUQUxMKSAtbSAwNjQ0ICQoc3JjZGlyKS9wYXJhbm9pYS9jZGRhX3BhcmFub2lhLmggJChJTkNMVURFRElSKQorLQkkKElOU1RBTEwpIC1kIC1tIDA3NTUgJChMSUJESVIpCistCSQoSU5TVEFMTCkgLW0gMDY0NCAkKHNyY2RpcikvcGFyYW5vaWEvbGliY2RkYV9wYXJhbm9pYS5zby4wLiQoVkVSU0lPTikgJChMSUJESVIpCistCSQoSU5TVEFMTCkgLW0gMDY0NCAkKHNyY2RpcikvcGFyYW5vaWEvbGliY2RkYV9wYXJhbm9pYS5hICQoTElCRElSKQorLQkkKElOU1RBTEwpIC1tIDA2NDQgJChzcmNkaXIpL2ludGVyZmFjZS9jZGRhX2ludGVyZmFjZS5oICQoSU5DTFVERURJUikKKy0JJChJTlNUQUxMKSAtbSAwNjQ0ICQoc3JjZGlyKS9pbnRlcmZhY2UvbGliY2RkYV9pbnRlcmZhY2Uuc28uMC4kKFZFUlNJT04pICQoTElCRElSKQorLQkkKElOU1RBTEwpIC1tIDA2NDQgJChzcmNkaXIpL2ludGVyZmFjZS9saWJjZGRhX2ludGVyZmFjZS5hICQoTElCRElSKQorLQkkKElOU1RBTEwpIC1tIDA2NDQgJChzcmNkaXIpL3V0aWxzLmggJChJTkNMVURFRElSKQorKwkkKElOU1RBTEwpIC1kIC1tIDA3NTUgJChERVNURElSKSQoQklORElSKQorKwkkKElOU1RBTEwpIC1tIDc1NSAkKHNyY2RpcikvY2RwYXJhbm9pYSAkKERFU1RESVIpJChCSU5ESVIpCisrCSQoSU5TVEFMTCkgLWQgLW0gMDc1NSAkKERFU1RESVIpJChNQU5ESVIpCisrCSQoSU5TVEFMTCkgLWQgLW0gMDc1NSAkKERFU1RESVIpJChNQU5ESVIpL21hbjEKKysJJChJTlNUQUxMKSAtbSAwNjQ0ICQoc3JjZGlyKS9jZHBhcmFub2lhLjEgJChERVNURElSKSQoTUFORElSKS9tYW4xCisrCSQoSU5TVEFMTCkgLWQgLW0gMDc1NSAkKERFU1RESVIpJChJTkNMVURFRElSKQorKwkkKElOU1RBTEwpIC1tIDA2NDQgJChzcmNkaXIpL3BhcmFub2lhL2NkZGFfcGFyYW5vaWEuaCAkKERFU1RESVIpJChJTkNMVURFRElSKQorKwkkKElOU1RBTEwpIC1kIC1tIDA3NTUgJChERVNURElSKSQoTElCRElSKQorKwkkKElOU1RBTEwpIC1tIDA2NDQgJChzcmNkaXIpL3BhcmFub2lhL2xpYmNkZGFfcGFyYW5vaWEuc28uMC4kKFZFUlNJT04pICQoREVTVERJUikkKExJQkRJUikKKysJJChJTlNUQUxMKSAtbSAwNjQ0ICQoc3JjZGlyKS9wYXJhbm9pYS9saWJjZGRhX3BhcmFub2lhLmEgJChERVNURElSKSQoTElCRElSKQorKwkkKElOU1RBTEwpIC1tIDA2NDQgJChzcmNkaXIpL2ludGVyZmFjZS9jZGRhX2ludGVyZmFjZS5oICQoREVTVERJUikkKElOQ0xVREVESVIpCisrCSQoSU5TVEFMTCkgLW0gMDY0NCAkKHNyY2RpcikvaW50ZXJmYWNlL2xpYmNkZGFfaW50ZXJmYWNlLnNvLjAuJChWRVJTSU9OKSAkKERFU1RESVIpJChMSUJESVIpCisrCSQoSU5TVEFMTCkgLW0gMDY0NCAkKHNyY2RpcikvaW50ZXJmYWNlL2xpYmNkZGFfaW50ZXJmYWNlLmEgJChERVNURElSKSQoTElCRElSKQorKwkkKElOU1RBTEwpIC1tIDA2NDQgJChzcmNkaXIpL3V0aWxzLmggJChERVNURElSKSQoSU5DTFVERURJUikKKyAJbG4gLWZzIGxpYmNkZGFfaW50ZXJmYWNlLnNvLjAuJChWRVJTSU9OKSBcCistCQkkKExJQkRJUikvbGliY2RkYV9pbnRlcmZhY2Uuc28uMAorKwkJJChERVNURElSKSQoTElCRElSKS9saWJjZGRhX2ludGVyZmFjZS5zby4wCisgCWxuIC1mcyBsaWJjZGRhX2ludGVyZmFjZS5zby4wLiQoVkVSU0lPTikgXAorLQkJJChMSUJESVIpL2xpYmNkZGFfaW50ZXJmYWNlLnNvCisrCQkkKERFU1RESVIpJChMSUJESVIpL2xpYmNkZGFfaW50ZXJmYWNlLnNvCisgCWxuIC1mcyBsaWJjZGRhX3BhcmFub2lhLnNvLjAuJChWRVJTSU9OKSBcCistCQkkKExJQkRJUikvbGliY2RkYV9wYXJhbm9pYS5zby4wCisrCQkkKERFU1RESVIpJChMSUJESVIpL2xpYmNkZGFfcGFyYW5vaWEuc28uMAorIAlsbiAtZnMgbGliY2RkYV9wYXJhbm9pYS5zby4wLiQoVkVSU0lPTikgXAorLQkJJChMSUJESVIpL2xpYmNkZGFfcGFyYW5vaWEuc28KKysJCSQoREVTVERJUikkKExJQkRJUikvbGliY2RkYV9wYXJhbm9pYS5zbworIAorIGNkcGFyYW5vaWE6CSQoT0ZJTEVTKSAkKExJQkRFUCkKKyAJCSQoTEQpICQoQ0ZMQUdTKSAkKExERkxBR1MpICQoT0ZJTEVTKSBcCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9jZHBhcmFub2lhL2ZpbGVzLzAwMDItaW50ZXJmYWNlLXJlbW92ZS1DLXJlc2VydmVkLWtleXdvcmQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvY2RwYXJhbm9pYS9maWxlcy8wMDAyLWludGVyZmFjZS1yZW1vdmUtQy1yZXNlcnZlZC1rZXl3b3JkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1NjAwYTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvY2RwYXJhbm9pYS9maWxlcy8wMDAyLWludGVyZmFjZS1yZW1vdmUtQy1yZXNlcnZlZC1rZXl3b3JkLnBhdGNoCkBAIC0wLDAgKzEsNjA1IEBACitGcm9tIDEyZWEyODM5OGY4ZTVkNGE0YTIzYzYyZDUxMWZjNGY1MzU4NGU1MWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBFdGllbm5lIENvcmRvbm5pZXIgPGV0aWVubmUuY29yZG9ubmllckBzdHJlYW11bmxpbWl0ZWQuY29tPgorRGF0ZTogVHVlLCA3IEFwciAyMDE1IDExOjA3OjU2ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGludGVyZmFjZTogcmVtb3ZlIEMrKyByZXNlcnZlZCBrZXl3b3JkCisKK0JlY2F1c2UgInByaXZhdGUiIHdhcyB1c2VkIGluIGNkZGFfaW50ZXJmYWNlLmgsIHRoaXMgaGVhZGVyIGZpbGUgY291bGQgbm90IGJlCitjb21waWxlZCBpbiBDKysuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSAodGhlIHVwc3RyZWFtIHByb2plY3QgaXMgZGVhZCkKKworU2lnbmVkLW9mZi1ieTogRXRpZW5uZSBDb3Jkb25uaWVyIDxldGllbm5lLmNvcmRvbm5pZXJAc3RyZWFtdW5saW1pdGVkLmNvbT4KKy0tLQorIGludGVyZmFjZS9jZGRhX2ludGVyZmFjZS5oICAgfCAgIDIgKy0KKyBpbnRlcmZhY2UvY29va2VkX2ludGVyZmFjZS5jIHwgICA4ICstLQorIGludGVyZmFjZS9pbnRlcmZhY2UuYyAgICAgICAgfCAgIDggKy0tCisgaW50ZXJmYWNlL3NjYW5fZGV2aWNlcy5jICAgICB8ICAyMiArKysrLS0tLQorIGludGVyZmFjZS9zY3NpX2ludGVyZmFjZS5jICAgfCAxMjggKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGludGVyZmFjZS90ZXN0X2ludGVyZmFjZS5jICAgfCAgIDQgKy0KKyA2IGZpbGVzIGNoYW5nZWQsIDg2IGluc2VydGlvbnMoKyksIDg2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaW50ZXJmYWNlL2NkZGFfaW50ZXJmYWNlLmggYi9pbnRlcmZhY2UvY2RkYV9pbnRlcmZhY2UuaAoraW5kZXggODQ4N2NiNy4uYjczODgyNSAxMDA2NDQKKy0tLSBhL2ludGVyZmFjZS9jZGRhX2ludGVyZmFjZS5oCisrKysgYi9pbnRlcmZhY2UvY2RkYV9pbnRlcmZhY2UuaAorQEAgLTg0LDcgKzg0LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgY2Ryb21fZHJpdmV7CisgICBpbnQgaXNfYXRhcGk7CisgICBpbnQgaXNfbW1jOworIAorLSAgY2RkYV9wcml2YXRlX2RhdGFfdCAqcHJpdmF0ZTsKKysgIGNkZGFfcHJpdmF0ZV9kYXRhX3QgKnByaXY7IC8qIHByaXZhdGUgaXMgYSBDKysgcmVzZXJ2ZWQga2V5d29yZCAqLworICAgdm9pZCAgICAgICAgICpyZXNlcnZlZDsKKyAgIHVuc2lnbmVkIGNoYXIgaW5xYnl0ZXNbNF07CisgCitkaWZmIC0tZ2l0IGEvaW50ZXJmYWNlL2Nvb2tlZF9pbnRlcmZhY2UuYyBiL2ludGVyZmFjZS9jb29rZWRfaW50ZXJmYWNlLmMKK2luZGV4IGRlMjkwNTUuLmVhOWQwZmMgMTAwNjQ0CistLS0gYS9pbnRlcmZhY2UvY29va2VkX2ludGVyZmFjZS5jCisrKysgYi9pbnRlcmZhY2UvY29va2VkX2ludGVyZmFjZS5jCitAQCAtMTMsMTMgKzEzLDEzIEBACisgc3RhdGljIGludCB0aW1lZF9pb2N0bChjZHJvbV9kcml2ZSAqZCwgaW50IGZkLCBpbnQgY29tbWFuZCwgdm9pZCAqYXJnKXsKKyAgIHN0cnVjdCB0aW1lc3BlYyB0djE7CisgICBzdHJ1Y3QgdGltZXNwZWMgdHYyOworLSAgaW50IHJldDE9Y2xvY2tfZ2V0dGltZShkLT5wcml2YXRlLT5jbG9jaywmdHYxKTsKKysgIGludCByZXQxPWNsb2NrX2dldHRpbWUoZC0+cHJpdi0+Y2xvY2ssJnR2MSk7CisgICBpbnQgcmV0Mj1pb2N0bChmZCwgY29tbWFuZCxhcmcpOworLSAgaW50IHJldDM9Y2xvY2tfZ2V0dGltZShkLT5wcml2YXRlLT5jbG9jaywmdHYyKTsKKysgIGludCByZXQzPWNsb2NrX2dldHRpbWUoZC0+cHJpdi0+Y2xvY2ssJnR2Mik7CisgICBpZihyZXQxPDAgfHwgcmV0MzwwKXsKKy0gICAgZC0+cHJpdmF0ZS0+bGFzdF9taWxsaXNlY29uZHM9LTE7CisrICAgIGQtPnByaXYtPmxhc3RfbWlsbGlzZWNvbmRzPS0xOworICAgfWVsc2V7CistICAgIGQtPnByaXZhdGUtPmxhc3RfbWlsbGlzZWNvbmRzID0gKHR2Mi50dl9zZWMtdHYxLnR2X3NlYykqMTAwMC4gKyAodHYyLnR2X25zZWMtdHYxLnR2X25zZWMpLzEwMDAwMDAuOworKyAgICBkLT5wcml2LT5sYXN0X21pbGxpc2Vjb25kcyA9ICh0djIudHZfc2VjLXR2MS50dl9zZWMpKjEwMDAuICsgKHR2Mi50dl9uc2VjLXR2MS50dl9uc2VjKS8xMDAwMDAwLjsKKyAgIH0KKyAgIHJldHVybiByZXQyOworIH0KK2RpZmYgLS1naXQgYS9pbnRlcmZhY2UvaW50ZXJmYWNlLmMgYi9pbnRlcmZhY2UvaW50ZXJmYWNlLmMKK2luZGV4IGU4YTkwY2QuLjUyNmMyYTkgMTAwNjQ0CistLS0gYS9pbnRlcmZhY2UvaW50ZXJmYWNlLmMKKysrKyBiL2ludGVyZmFjZS9pbnRlcmZhY2UuYworQEAgLTM5LDkgKzM5LDkgQEAgaW50IGNkZGFfY2xvc2UoY2Ryb21fZHJpdmUgKmQpeworICAgICBpZihkLT5kcml2ZV9tb2RlbClmcmVlKGQtPmRyaXZlX21vZGVsKTsKKyAgICAgaWYoZC0+Y2RkYV9mZCE9LTEpY2xvc2UoZC0+Y2RkYV9mZCk7CisgICAgIGlmKGQtPmlvY3RsX2ZkIT0tMSAmJiBkLT5pb2N0bF9mZCE9ZC0+Y2RkYV9mZCljbG9zZShkLT5pb2N0bF9mZCk7CistICAgIGlmKGQtPnByaXZhdGUpeworLSAgICAgIGlmKGQtPnByaXZhdGUtPnNnX2hkKWZyZWUoZC0+cHJpdmF0ZS0+c2dfaGQpOworLSAgICAgIGZyZWUoZC0+cHJpdmF0ZSk7CisrICAgIGlmKGQtPnByaXYpeworKyAgICAgIGlmKGQtPnByaXYtPnNnX2hkKWZyZWUoZC0+cHJpdi0+c2dfaGQpOworKyAgICAgIGZyZWUoZC0+cHJpdik7CisgICAgIH0KKyAKKyAgICAgZnJlZShkKTsKK0BAIC0xMjcsNyArMTI3LDcgQEAgbG9uZyBjZGRhX3JlYWRfdGltZWQoY2Ryb21fZHJpdmUgKmQsIHZvaWQgKmJ1ZmZlciwgbG9uZyBiZWdpbnNlY3RvciwgbG9uZyBzZWN0b3IKKyAJfQorICAgICAgIH0JCisgICAgIH0KKy0gICAgaWYobXMpKm1zPWQtPnByaXZhdGUtPmxhc3RfbWlsbGlzZWNvbmRzOworKyAgICBpZihtcykqbXM9ZC0+cHJpdi0+bGFzdF9taWxsaXNlY29uZHM7CisgICAgIHJldHVybihzZWN0b3JzKTsKKyAgIH0KKyAgIAorZGlmZiAtLWdpdCBhL2ludGVyZmFjZS9zY2FuX2RldmljZXMuYyBiL2ludGVyZmFjZS9zY2FuX2RldmljZXMuYworaW5kZXggZmM1ODExMC4uNWY2YzRlMyAxMDA2NDQKKy0tLSBhL2ludGVyZmFjZS9zY2FuX2RldmljZXMuYworKysrIGIvaW50ZXJmYWNlL3NjYW5fZGV2aWNlcy5jCitAQCAtMjY0LDExICsyNjQsMTEgQEAgY2Ryb21fZHJpdmUgKmNkZGFfaWRlbnRpZnlfY29va2VkKGNvbnN0IGNoYXIgKmRldiwgaW50IG1lc3NhZ2VkZXN0LAorICAgZC0+aW50ZXJmYWNlPUNPT0tFRF9JT0NUTDsKKyAgIGQtPmJpZ2VuZGlhbnA9LTE7IC8qIFdlIGRvbid0IGtub3cgeWV0Li4uICovCisgICBkLT5uc2VjdG9ycz0tMTsKKy0gIGQtPnByaXZhdGU9Y2FsbG9jKDEsc2l6ZW9mKCpkLT5wcml2YXRlKSk7CisrICBkLT5wcml2PWNhbGxvYygxLHNpemVvZigqZC0+cHJpdikpOworICAgeworICAgICAvKiBnb2RkYW1uaXQgKi8KKyAgICAgc3RydWN0IHRpbWVzcGVjIHR2OworLSAgICBkLT5wcml2YXRlLT5jbG9jaz0oY2xvY2tfZ2V0dGltZShDTE9DS19NT05PVE9OSUMsJnR2KTwwP0NMT0NLX1JFQUxUSU1FOkNMT0NLX01PTk9UT05JQyk7CisrICAgIGQtPnByaXYtPmNsb2NrPShjbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQywmdHYpPDA/Q0xPQ0tfUkVBTFRJTUU6Q0xPQ0tfTU9OT1RPTklDKTsKKyAgIH0KKyAgIGlkbWVzc2FnZShtZXNzYWdlZGVzdCxtZXNzYWdlcywiXHRcdENEUk9NIHNlbnNlZDogJXNcbiIsZGVzY3JpcHRpb24pOworICAgcmV0dXJuKGQpOworQEAgLTY3NCwxNSArNjc0LDE1IEBAIGNkcm9tX2RyaXZlICpjZGRhX2lkZW50aWZ5X3Njc2koY29uc3QgY2hhciAqZ2VuZXJpY19kZXZpY2UsCisgICBkLT5iaWdlbmRpYW5wPS0xOyAvKiBXZSBkb24ndCBrbm93IHlldC4uLiAqLworICAgZC0+bnNlY3RvcnM9LTE7CisgICBkLT5tZXNzYWdlZGVzdCA9IG1lc3NhZ2VkZXN0OworLSAgZC0+cHJpdmF0ZT1jYWxsb2MoMSxzaXplb2YoKmQtPnByaXZhdGUpKTsKKysgIGQtPnByaXY9Y2FsbG9jKDEsc2l6ZW9mKCpkLT5wcml2KSk7CisgICB7CisgICAgIC8qIGdvZGRhbW5pdCAqLworICAgICBzdHJ1Y3QgdGltZXNwZWMgdHY7CistICAgIGQtPnByaXZhdGUtPmNsb2NrPShjbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQywmdHYpPDA/Q0xPQ0tfUkVBTFRJTUU6Q0xPQ0tfTU9OT1RPTklDKTsKKysgICAgZC0+cHJpdi0+Y2xvY2s9KGNsb2NrX2dldHRpbWUoQ0xPQ0tfTU9OT1RPTklDLCZ0dik8MD9DTE9DS19SRUFMVElNRTpDTE9DS19NT05PVE9OSUMpOworICAgfQorICAgaWYodXNlX3NnaW8peworICAgICBkLT5pbnRlcmZhY2U9U0dJT19TQ1NJOworLSAgICBkLT5wcml2YXRlLT5zZ19idWZmZXI9KHVuc2lnbmVkIGNoYXIgKikoZC0+cHJpdmF0ZS0+c2dfaGQ9bWFsbG9jKE1BWF9CSUdfQlVGRl9TSVpFKSk7CisrICAgIGQtPnByaXYtPnNnX2J1ZmZlcj0odW5zaWduZWQgY2hhciAqKShkLT5wcml2LT5zZ19oZD1tYWxsb2MoTUFYX0JJR19CVUZGX1NJWkUpKTsKKyAgICAgZ19mZD1kLT5jZGRhX2ZkPWR1cChkLT5pb2N0bF9mZCk7CisgICB9ZWxzZXsKKyAgICAgdmVyc2lvbj12ZXJpZnlfU0dfdmVyc2lvbihkLG1lc3NhZ2VkZXN0LG1lc3NhZ2VzKTsKK0BAIC02OTYsOCArNjk2LDggQEAgY2Ryb21fZHJpdmUgKmNkZGFfaWRlbnRpZnlfc2NzaShjb25zdCBjaGFyICpnZW5lcmljX2RldmljZSwKKyAgICAgfQorIAorICAgICAvKiBtYWxsb2Mgb3VyIGJpZyBidWZmZXIgZm9yIHNjc2kgY29tbWFuZHMgKi8KKy0gICAgZC0+cHJpdmF0ZS0+c2dfaGQ9bWFsbG9jKE1BWF9CSUdfQlVGRl9TSVpFKTsKKy0gICAgZC0+cHJpdmF0ZS0+c2dfYnVmZmVyPSgodW5zaWduZWQgY2hhciAqKWQtPnByaXZhdGUtPnNnX2hkKStTR19PRkY7CisrICAgIGQtPnByaXYtPnNnX2hkPW1hbGxvYyhNQVhfQklHX0JVRkZfU0laRSk7CisrICAgIGQtPnByaXYtPnNnX2J1ZmZlcj0oKHVuc2lnbmVkIGNoYXIgKilkLT5wcml2LT5zZ19oZCkrU0dfT0ZGOworICAgfQorIAorICAgeworQEAgLTc3Miw5ICs3NzIsOSBAQCBjZGRhX2lkZW50aWZ5X3Njc2lfZmFpbDoKKyAgIGlmKGlfZmQhPS0xKWNsb3NlKGlfZmQpOworICAgaWYoZ19mZCE9LTEpY2xvc2UoZ19mZCk7CisgICBpZihkKXsKKy0gICAgaWYoZC0+cHJpdmF0ZSl7CistICAgICAgaWYoZC0+cHJpdmF0ZS0+c2dfaGQpZnJlZShkLT5wcml2YXRlLT5zZ19oZCk7CistICAgICAgZnJlZShkLT5wcml2YXRlKTsKKysgICAgaWYoZC0+cHJpdil7CisrICAgICAgaWYoZC0+cHJpdi0+c2dfaGQpZnJlZShkLT5wcml2LT5zZ19oZCk7CisrICAgICAgZnJlZShkLT5wcml2KTsKKyAgICAgfQorICAgICBmcmVlKGQpOworICAgfQorQEAgLTgyMSw3ICs4MjEsNyBAQCBjZHJvbV9kcml2ZSAqY2RkYV9pZGVudGlmeV90ZXN0KGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgbWVzc2FnZWRlc3QsCisgICBkLT5pbnRlcmZhY2U9VEVTVF9JTlRFUkZBQ0U7CisgICBkLT5iaWdlbmRpYW5wPS0xOyAvKiBXZSBkb24ndCBrbm93IHlldC4uLiAqLworICAgZC0+bnNlY3RvcnM9LTE7CistICBkLT5wcml2YXRlPWNhbGxvYygxLHNpemVvZigqZC0+cHJpdmF0ZSkpOworKyAgZC0+cHJpdj1jYWxsb2MoMSxzaXplb2YoKmQtPnByaXYpKTsKKyAgIGQtPmRyaXZlX21vZGVsPWNvcHlzdHJpbmcoIkZpbGUgYmFzZWQgdGVzdCBpbnRlcmZhY2UiKTsKKyAgIGlkbWVzc2FnZShtZXNzYWdlZGVzdCxtZXNzYWdlcywiXHRcdENEUk9NIHNlbnNlZDogJXNcbiIsZC0+ZHJpdmVfbW9kZWwpOworICAgCitkaWZmIC0tZ2l0IGEvaW50ZXJmYWNlL3Njc2lfaW50ZXJmYWNlLmMgYi9pbnRlcmZhY2Uvc2NzaV9pbnRlcmZhY2UuYworaW5kZXggYWRiYjliZi4uNzVkOTBkNCAxMDA2NDQKKy0tLSBhL2ludGVyZmFjZS9zY3NpX2ludGVyZmFjZS5jCisrKysgYi9pbnRlcmZhY2Uvc2NzaV9pbnRlcmZhY2UuYworQEAgLTE1LDEzICsxNSwxMyBAQAorIHN0YXRpYyBpbnQgdGltZWRfaW9jdGwoY2Ryb21fZHJpdmUgKmQsIGludCBmZCwgaW50IGNvbW1hbmQsIHZvaWQgKmFyZyl7CisgICBzdHJ1Y3QgdGltZXNwZWMgdHYxOworICAgc3RydWN0IHRpbWVzcGVjIHR2MjsKKy0gIGludCByZXQxPWNsb2NrX2dldHRpbWUoZC0+cHJpdmF0ZS0+Y2xvY2ssJnR2MSk7CisrICBpbnQgcmV0MT1jbG9ja19nZXR0aW1lKGQtPnByaXYtPmNsb2NrLCZ0djEpOworICAgaW50IHJldDI9aW9jdGwoZmQsIGNvbW1hbmQsYXJnKTsKKy0gIGludCByZXQzPWNsb2NrX2dldHRpbWUoZC0+cHJpdmF0ZS0+Y2xvY2ssJnR2Mik7CisrICBpbnQgcmV0Mz1jbG9ja19nZXR0aW1lKGQtPnByaXYtPmNsb2NrLCZ0djIpOworICAgaWYocmV0MTwwIHx8IHJldDM8MCl7CistICAgIGQtPnByaXZhdGUtPmxhc3RfbWlsbGlzZWNvbmRzPS0xOworKyAgICBkLT5wcml2LT5sYXN0X21pbGxpc2Vjb25kcz0tMTsKKyAgIH1lbHNleworLSAgICBkLT5wcml2YXRlLT5sYXN0X21pbGxpc2Vjb25kcyA9ICh0djIudHZfc2VjLXR2MS50dl9zZWMpKjEwMDAuICsgKHR2Mi50dl9uc2VjLXR2MS50dl9uc2VjKS8xMDAwMDAwLjsKKysgICAgZC0+cHJpdi0+bGFzdF9taWxsaXNlY29uZHMgPSAodHYyLnR2X3NlYy10djEudHZfc2VjKSoxMDAwLiArICh0djIudHZfbnNlYy10djEudHZfbnNlYykvMTAwMDAwMC47CisgICB9CisgICByZXR1cm4gcmV0MjsKKyB9CitAQCAtOTYsNyArOTYsNyBAQCBzdGF0aWMgdm9pZCB0d2Vha19TR19idWZmZXIoY2Ryb21fZHJpdmUgKmQpIHsKKyBzdGF0aWMgdm9pZCBjbGVhcl9nYXJiYWdlKGNkcm9tX2RyaXZlICpkKXsKKyAgIGZkX3NldCBmZHNldDsKKyAgIHN0cnVjdCB0aW1ldmFsIHR2OworLSAgc3RydWN0IHNnX2hlYWRlciAqc2dfaGQ9ZC0+cHJpdmF0ZS0+c2dfaGQ7CisrICBzdHJ1Y3Qgc2dfaGVhZGVyICpzZ19oZD1kLT5wcml2LT5zZ19oZDsKKyAgIGludCBmbGFnPTA7CisgCisgICAvKiBjbGVhciBvdXQgYW55IHBvc3NpYmx5IHByZWV4aXN0aW5nIGdhcmJhZ2UgKi8KK0BAIC0xODUsNyArMTg1LDcgQEAgc3RhdGljIGludCBzZzJfaGFuZGxlX3Njc2lfY21kKGNkcm9tX2RyaXZlICpkLAorICAgc3RydWN0IHRpbWVzcGVjIHR2MjsKKyAgIGludCB0cmV0MSx0cmV0MjsKKyAgIGludCBzdGF0dXMgPSAwOworLSAgc3RydWN0IHNnX2hlYWRlciAqc2dfaGQ9ZC0+cHJpdmF0ZS0+c2dfaGQ7CisrICBzdHJ1Y3Qgc2dfaGVhZGVyICpzZ19oZD1kLT5wcml2LT5zZ19oZDsKKyAgIGxvbmcgd3JpdGVieXRlcz1TR19PRkYrY21kX2xlbitpbl9zaXplOworIAorICAgLyogZ2VuZXJpYyBzY3NpIGRldmljZSBzZXJ2aWNlcyAqLworQEAgLTE5NSw3ICsxOTUsNyBAQCBzdGF0aWMgaW50IHNnMl9oYW5kbGVfc2NzaV9jbWQoY2Ryb21fZHJpdmUgKmQsCisgCisgICBtZW1zZXQoc2dfaGQsMCxzaXplb2Yoc2dfaGQpKTsgCisgICBtZW1zZXQoc2Vuc2VfYnVmZmVyLDAsU0dfTUFYX1NFTlNFKTsgCistICBtZW1jcHkoZC0+cHJpdmF0ZS0+c2dfYnVmZmVyLGNtZCxjbWRfbGVuK2luX3NpemUpOworKyAgbWVtY3B5KGQtPnByaXYtPnNnX2J1ZmZlcixjbWQsY21kX2xlbitpbl9zaXplKTsKKyAgIHNnX2hkLT50d2VsdmVfYnl0ZSA9IGNtZF9sZW4gPT0gMTI7CisgICBzZ19oZC0+cmVzdWx0ID0gMDsKKyAgIHNnX2hkLT5yZXBseV9sZW4gPSBTR19PRkYgKyBvdXRfc2l6ZTsKK0BAIC0yMDksNyArMjA5LDcgQEAgc3RhdGljIGludCBzZzJfaGFuZGxlX3Njc2lfY21kKGNkcm9tX2RyaXZlICpkLAorICAgICAgdGVsbCBpZiB0aGUgY29tbWFuZCBmYWlsZWQuICBTY2FyZWQgeWV0PyAqLworIAorICAgaWYoYnl0ZWNoZWNrICYmIG91dF9zaXplPmluX3NpemUpeworLSAgICBtZW1zZXQoZC0+cHJpdmF0ZS0+c2dfYnVmZmVyK2NtZF9sZW4raW5fc2l6ZSxieXRlZmlsbCxvdXRfc2l6ZS1pbl9zaXplKTsgCisrICAgIG1lbXNldChkLT5wcml2LT5zZ19idWZmZXIrY21kX2xlbitpbl9zaXplLGJ5dGVmaWxsLG91dF9zaXplLWluX3NpemUpOyAKKyAgICAgLyogdGhlIHNpemUgZG9lcyBub3QgcmVtb3ZlIGNtZF9sZW4gZHVlIHRvIHRoZSB3YXkgdGhlIGtlcm5lbAorICAgICAgICBkcml2ZXIgY29waWVzIGJ1ZmZlcnMgKi8KKyAgICAgd3JpdGVieXRlcys9KG91dF9zaXplLWluX3NpemUpOworQEAgLTI0Myw3ICsyNDMsNyBAQCBzdGF0aWMgaW50IHNnMl9oYW5kbGVfc2NzaV9jbWQoY2Ryb21fZHJpdmUgKmQsCisgICB9CisgCisgICBzaWdwcm9jbWFzayAoU0lHX0JMT0NLLCAmKGQtPnNpZ3NldCksIE5VTEwgKTsKKy0gIHRyZXQxPWNsb2NrX2dldHRpbWUoZC0+cHJpdmF0ZS0+Y2xvY2ssJnR2MSk7ICAKKysgIHRyZXQxPWNsb2NrX2dldHRpbWUoZC0+cHJpdi0+Y2xvY2ssJnR2MSk7ICAKKyAgIGVycm5vPTA7CisgICBzdGF0dXMgPSB3cml0ZShkLT5jZGRhX2ZkLCBzZ19oZCwgd3JpdGVieXRlcyApOworIAorQEAgLTI4OSw3ICsyODksNyBAQCBzdGF0aWMgaW50IHNnMl9oYW5kbGVfc2NzaV9jbWQoY2Ryb21fZHJpdmUgKmQsCisgICAgIH0KKyAgIH0KKyAKKy0gIHRyZXQyPWNsb2NrX2dldHRpbWUoZC0+cHJpdmF0ZS0+Y2xvY2ssJnR2Mik7ICAKKysgIHRyZXQyPWNsb2NrX2dldHRpbWUoZC0+cHJpdi0+Y2xvY2ssJnR2Mik7ICAKKyAgIGVycm5vPTA7CisgICBzdGF0dXMgPSByZWFkKGQtPmNkZGFfZmQsIHNnX2hkLCBTR19PRkYgKyBvdXRfc2l6ZSk7CisgICBzaWdwcm9jbWFzayAoIFNJR19VTkJMT0NLLCAmKGQtPnNpZ3NldCksIE5VTEwgKTsKK0BAIC0zMTMsNyArMzEzLDcgQEAgc3RhdGljIGludCBzZzJfaGFuZGxlX3Njc2lfY21kKGNkcm9tX2RyaXZlICpkLAorICAgaWYoYnl0ZWNoZWNrICYmIGluX3NpemUrY21kX2xlbjxvdXRfc2l6ZSl7CisgICAgIGxvbmcgaSxmbGFnPTA7CisgICAgIGZvcihpPWluX3NpemU7aTxvdXRfc2l6ZTtpKyspCistICAgICAgaWYoZC0+cHJpdmF0ZS0+c2dfYnVmZmVyW2ldIT1ieXRlZmlsbCl7CisrICAgICAgaWYoZC0+cHJpdi0+c2dfYnVmZmVyW2ldIT1ieXRlZmlsbCl7CisgCWZsYWc9MTsKKyAJYnJlYWs7CisgICAgICAgfQorQEAgLTMyNiw5ICszMjYsOSBAQCBzdGF0aWMgaW50IHNnMl9oYW5kbGVfc2NzaV9jbWQoY2Ryb21fZHJpdmUgKmQsCisgCisgICBlcnJubz0wOworICAgaWYodHJldDE8MCB8fCB0cmV0MjwwKXsKKy0gICAgZC0+cHJpdmF0ZS0+bGFzdF9taWxsaXNlY29uZHM9LTE7CisrICAgIGQtPnByaXYtPmxhc3RfbWlsbGlzZWNvbmRzPS0xOworICAgfWVsc2V7CistICAgIGQtPnByaXZhdGUtPmxhc3RfbWlsbGlzZWNvbmRzID0gKHR2Mi50dl9zZWMtdHYxLnR2X3NlYykqMTAwMCArICh0djIudHZfbnNlYy10djEudHZfbnNlYykvMTAwMDAwMDsKKysgICAgZC0+cHJpdi0+bGFzdF9taWxsaXNlY29uZHMgPSAodHYyLnR2X3NlYy10djEudHZfc2VjKSoxMDAwICsgKHR2Mi50dl9uc2VjLXR2MS50dl9uc2VjKS8xMDAwMDAwOworICAgfQorICAgcmV0dXJuKDApOworIH0KK0BAIC0zNDcsNyArMzQ3LDcgQEAgc3RhdGljIGludCBzZ2lvX2hhbmRsZV9zY3NpX2NtZChjZHJvbV9kcml2ZSAqZCwKKyAKKyAgIG1lbXNldCgmaGRyLDAsc2l6ZW9mKGhkcikpOworICAgbWVtc2V0KHNlbnNlLDAsc2l6ZW9mKHNlbnNlKSk7CistICBtZW1jcHkoZC0+cHJpdmF0ZS0+c2dfYnVmZmVyLGNtZCtjbWRfbGVuLGluX3NpemUpOworKyAgbWVtY3B5KGQtPnByaXYtPnNnX2J1ZmZlcixjbWQrY21kX2xlbixpbl9zaXplKTsKKyAKKyAgIGhkci5jbWRwID0gY21kOworICAgaGRyLmNtZF9sZW4gPSBjbWRfbGVuOworQEAgLTM1NSw3ICszNTUsNyBAQCBzdGF0aWMgaW50IHNnaW9faGFuZGxlX3Njc2lfY21kKGNkcm9tX2RyaXZlICpkLAorICAgaGRyLm14X3NiX2xlbiA9IFNHX01BWF9TRU5TRTsKKyAgIGhkci50aW1lb3V0ID0gNTAwMDA7CisgICBoZHIuaW50ZXJmYWNlX2lkID0gJ1MnOworLSAgaGRyLmR4ZmVycCA9ICBkLT5wcml2YXRlLT5zZ19idWZmZXI7CisrICBoZHIuZHhmZXJwID0gIGQtPnByaXYtPnNnX2J1ZmZlcjsKKyAgIGhkci5mbGFncyA9IFNHX0ZMQUdfRElSRUNUX0lPOyAgLyogZGlyZWN0IElPIGlmIHdlIGNhbiBnZXQgaXQgKi8KKyAKKyAgIC8qIHNjYXJ5IGJ1ZmZlciBmaWxsIGhhY2sgKi8KK0BAIC00MDAsNyArNDAwLDcgQEAgc3RhdGljIGludCBzZ2lvX2hhbmRsZV9zY3NpX2NtZChjZHJvbV9kcml2ZSAqZCwKKyAgIGlmKGJ5dGVjaGVjayAmJiBpbl9zaXplPG91dF9zaXplKXsKKyAgICAgbG9uZyBpLGZsYWc9MDsKKyAgICAgZm9yKGk9aW5fc2l6ZTtpPG91dF9zaXplO2krKykKKy0gICAgICBpZihkLT5wcml2YXRlLT5zZ19idWZmZXJbaV0hPWJ5dGVmaWxsKXsKKysgICAgICBpZihkLT5wcml2LT5zZ19idWZmZXJbaV0hPWJ5dGVmaWxsKXsKKyAJZmxhZz0xOworIAlicmVhazsKKyAgICAgICB9CitAQCAtNDEyLDcgKzQxMiw3IEBAIHN0YXRpYyBpbnQgc2dpb19oYW5kbGVfc2NzaV9jbWQoY2Ryb21fZHJpdmUgKmQsCisgICB9CisgCisgICAvKiBDYW4ndCByZWx5IG9uIC5kdXJhdGlvbiBiZWNhdXNlIHdlIGNhbid0IGJlIGNlcnRhaW4ga2VybmVsIGhhcyBIWiBzZXQgdG8gc29tZXRoaW5nIHVzZWZ1bCAqLworLSAgLyogZC0+cHJpdmF0ZS0+bGFzdF9taWxsaXNlY29uZHMgPSBoZHIuZHVyYXRpb247ICovCisrICAvKiBkLT5wcml2LT5sYXN0X21pbGxpc2Vjb25kcyA9IGhkci5kdXJhdGlvbjsgKi8KKyAKKyAgIGVycm5vID0gMDsKKyAgIHJldHVybiAwOworQEAgLTQ0NSw5ICs0NDUsOSBAQCBzdGF0aWMgaW50IHRlc3RfdW5pdF9yZWFkeShjZHJvbV9kcml2ZSAqZCl7CisgCisgICBoYW5kbGVfc2NzaV9jbWQoZCwgY21kLCA2LCAwLCA1NiwgMCwwLCBzZW5zZSk7CisgCistICBrZXkgPSBkLT5wcml2YXRlLT5zZ19idWZmZXJbMl0gJiAweGY7CistICBBU0MgPSBkLT5wcml2YXRlLT5zZ19idWZmZXJbMTJdOworLSAgQVNDUSA9IGQtPnByaXZhdGUtPnNnX2J1ZmZlclsxM107CisrICBrZXkgPSBkLT5wcml2LT5zZ19idWZmZXJbMl0gJiAweGY7CisrICBBU0MgPSBkLT5wcml2LT5zZ19idWZmZXJbMTJdOworKyAgQVNDUSA9IGQtPnByaXYtPnNnX2J1ZmZlclsxM107CisgICAKKyAgIGlmKGtleSA9PSAyICYmIEFTQyA9PSA0ICYmIEFTQ1EgPT0gMSkgcmV0dXJuIDA7CisgICByZXR1cm4gMTsKK0BAIC00OTIsNyArNDkyLDcgQEAgc3RhdGljIGludCBtb2RlX3NlbnNlX2F0YXBpKGNkcm9tX2RyaXZlICpkLGludCBzaXplLGludCBwYWdlKXsKKyAgIGlmIChoYW5kbGVfc2NzaV9jbWQgKGQsIGNtZCwgMTAsIDAsIHNpemUrNCwnXDM3NycsMSxzZW5zZSkpIHJldHVybigxKTsKKyAKKyAgIHsKKy0gICAgdW5zaWduZWQgY2hhciAqYj1kLT5wcml2YXRlLT5zZ19idWZmZXI7CisrICAgIHVuc2lnbmVkIGNoYXIgKmI9ZC0+cHJpdi0+c2dfYnVmZmVyOworICAgICBpZihiWzBdKXJldHVybigxKTsgLyogSGFuZGxlcyBvbmx5IHVwIHRvIDI1NiBieXRlcyAqLworICAgICBpZihiWzZdKXJldHVybigxKTsgLyogSGFuZGxlcyBvbmx5IHVwIHRvIDI1NiBieXRlcyAqLworIAorQEAgLTYwNCw4ICs2MDQsOCBAQCBzdGF0aWMgaW50IG1vZGVfc2VsZWN0KGNkcm9tX2RyaXZlICpkLGludCBkZW5zaXR5LGludCBzZWNzaXplKXsKKyBzdGF0aWMgdW5zaWduZWQgaW50IGdldF9vcmlnX3NlY3RvcnNpemUoY2Ryb21fZHJpdmUgKmQpeworICAgaWYobW9kZV9zZW5zZShkLDEyLDB4MDEpKXJldHVybigtMSk7CisgCistICBkLT5vcmdkZW5zID0gZC0+cHJpdmF0ZS0+c2dfYnVmZmVyWzRdOworLSAgcmV0dXJuKGQtPm9yZ3NpemUgPSAoKGludCkoZC0+cHJpdmF0ZS0+c2dfYnVmZmVyWzEwXSk8PDgpK2QtPnByaXZhdGUtPnNnX2J1ZmZlclsxMV0pOworKyAgZC0+b3JnZGVucyA9IGQtPnByaXYtPnNnX2J1ZmZlcls0XTsKKysgIHJldHVybihkLT5vcmdzaXplID0gKChpbnQpKGQtPnByaXYtPnNnX2J1ZmZlclsxMF0pPDw4KStkLT5wcml2LT5zZ19idWZmZXJbMTFdKTsKKyB9CisgCisgLyogc3dpdGNoIENEUk9NIHNjc2kgZHJpdmVzIHRvIGdpdmVuIHNlY3RvciBzaXplICAqLworQEAgLTY2NCw4ICs2NjQsOCBAQCBzdGF0aWMgaW50IHNjc2lfcmVhZF90b2MgKGNkcm9tX2RyaXZlICpkKXsKKyAgICAgcmV0dXJuKC00KTsKKyAgIH0KKyAKKy0gIGZpcnN0PWQtPnByaXZhdGUtPnNnX2J1ZmZlclsyXTsKKy0gIGxhc3Q9ZC0+cHJpdmF0ZS0+c2dfYnVmZmVyWzNdOworKyAgZmlyc3Q9ZC0+cHJpdi0+c2dfYnVmZmVyWzJdOworKyAgbGFzdD1kLT5wcml2LT5zZ19idWZmZXJbM107CisgICB0cmFja3M9bGFzdC1maXJzdCsxOworIAorICAgaWYgKGxhc3QgPiBNQVhUUksgfHwgZmlyc3QgPiBNQVhUUksgfHwgbGFzdDwwIHx8IGZpcnN0PDApIHsKK0BAIC02ODMsNyArNjgzLDcgQEAgc3RhdGljIGludCBzY3NpX3JlYWRfdG9jIChjZHJvbV9kcml2ZSAqZCl7CisgICAgICAgcmV0dXJuKC01KTsKKyAgICAgfQorICAgICB7CistICAgICAgc2NzaV9UT0MgKnRvYz0oc2NzaV9UT0MgKikoZC0+cHJpdmF0ZS0+c2dfYnVmZmVyKzQpOworKyAgICAgIHNjc2lfVE9DICp0b2M9KHNjc2lfVE9DICopKGQtPnByaXYtPnNnX2J1ZmZlcis0KTsKKyAKKyAgICAgICBkLT5kaXNjX3RvY1tpLWZpcnN0XS5iRmxhZ3M9dG9jLT5iRmxhZ3M7CisgICAgICAgZC0+ZGlzY190b2NbaS1maXJzdF0uYlRyYWNrPWk7CitAQCAtNzA0LDcgKzcwNCw3IEBAIHN0YXRpYyBpbnQgc2NzaV9yZWFkX3RvYyAoY2Ryb21fZHJpdmUgKmQpeworICAgICByZXR1cm4oLTIpOworICAgfQorICAgeworLSAgICBzY3NpX1RPQyAqdG9jPShzY3NpX1RPQyAqKShkLT5wcml2YXRlLT5zZ19idWZmZXIrNCk7CisrICAgIHNjc2lfVE9DICp0b2M9KHNjc2lfVE9DICopKGQtPnByaXYtPnNnX2J1ZmZlcis0KTsKKyAgICAgCisgICAgIGQtPmRpc2NfdG9jW2ktZmlyc3RdLmJGbGFncz10b2MtPmJGbGFnczsKKyAgICAgZC0+ZGlzY190b2NbaS1maXJzdF0uYlRyYWNrPTB4QUE7CitAQCAtNzM4LDcgKzczOCw3IEBAIHN0YXRpYyBpbnQgc2NzaV9yZWFkX3RvYzIgKGNkcm9tX2RyaXZlICpkKXsKKyAgIH0KKyAKKyAgIC8qIGNvcHkgdG8gb3VyIHN0cnVjdHVyZSBhbmQgY29udmVydCBzdGFydCBzZWN0b3IgKi8KKy0gIHRyYWNrcyA9IGQtPnByaXZhdGUtPnNnX2J1ZmZlclsxXTsKKysgIHRyYWNrcyA9IGQtPnByaXYtPnNnX2J1ZmZlclsxXTsKKyAgIGlmICh0cmFja3MgPiBNQVhUUkspIHsKKyAgICAgY2RlcnJvcihkLCIwMDM6IENEUk9NIHJlcG9ydGluZyBpbGxlZ2FsIG51bWJlciBvZiB0cmFja3NcbiIpOworICAgICByZXR1cm4oLTMpOworQEAgLTc1NCwzMyArNzU0LDMzIEBAIHN0YXRpYyBpbnQgc2NzaV9yZWFkX3RvYzIgKGNkcm9tX2RyaXZlICpkKXsKKyAgICAgICByZXR1cm4oLTUpOworICAgICB9CisgICAgIAorLSAgICBkLT5kaXNjX3RvY1tpXS5iRmxhZ3MgPSBkLT5wcml2YXRlLT5zZ19idWZmZXJbMTBdOworKyAgICBkLT5kaXNjX3RvY1tpXS5iRmxhZ3MgPSBkLT5wcml2LT5zZ19idWZmZXJbMTBdOworICAgICBkLT5kaXNjX3RvY1tpXS5iVHJhY2sgPSBpICsgMTsKKyAKKyAgICAgZC0+ZGlzY190b2NbaV0uZHdTdGFydFNlY3Rvcj0gZC0+YWRqdXN0X3NzaXplICogCistCSgoKHNpZ25lZCBjaGFyKShkLT5wcml2YXRlLT5zZ19idWZmZXJbMl0pPDwyNCkgfCAKKy0JIChkLT5wcml2YXRlLT5zZ19idWZmZXJbM108PDE2KXwKKy0JIChkLT5wcml2YXRlLT5zZ19idWZmZXJbNF08PDgpfAorLQkgKGQtPnByaXZhdGUtPnNnX2J1ZmZlcls1XSkpOworKwkoKChzaWduZWQgY2hhcikoZC0+cHJpdi0+c2dfYnVmZmVyWzJdKTw8MjQpIHwgCisrCSAoZC0+cHJpdi0+c2dfYnVmZmVyWzNdPDwxNil8CisrCSAoZC0+cHJpdi0+c2dfYnVmZmVyWzRdPDw4KXwKKysJIChkLT5wcml2LT5zZ19idWZmZXJbNV0pKTsKKyAgIH0KKyAKKyAgIGQtPmRpc2NfdG9jW2ldLmJGbGFncyA9IDA7CisgICBkLT5kaXNjX3RvY1tpXS5iVHJhY2sgPSBpICsgMTsKKy0gIG1lbWNweSAoJmZvbywgZC0+cHJpdmF0ZS0+c2dfYnVmZmVyKzIsIDQpOworLSAgbWVtY3B5ICgmYmFyLCBkLT5wcml2YXRlLT5zZ19idWZmZXIrNiwgNCk7CisrICBtZW1jcHkgKCZmb28sIGQtPnByaXYtPnNnX2J1ZmZlcisyLCA0KTsKKysgIG1lbWNweSAoJmJhciwgZC0+cHJpdi0+c2dfYnVmZmVyKzYsIDQpOworICAgZC0+ZGlzY190b2NbaV0uZHdTdGFydFNlY3RvciA9IGQtPmFkanVzdF9zc2l6ZSAqIChiZTMyX3RvX2NwdShmb28pICsKKyAJCQkJCQkgICAgYmUzMl90b19jcHUoYmFyKSk7CisgCisgICBkLT5kaXNjX3RvY1tpXS5kd1N0YXJ0U2VjdG9yPSBkLT5hZGp1c3Rfc3NpemUgKiAKKy0gICAgKCgoKHNpZ25lZCBjaGFyKShkLT5wcml2YXRlLT5zZ19idWZmZXJbMl0pPDwyNCkgfCAKKy0gICAgICAoZC0+cHJpdmF0ZS0+c2dfYnVmZmVyWzNdPDwxNil8CistICAgICAgKGQtPnByaXZhdGUtPnNnX2J1ZmZlcls0XTw8OCl8CistICAgICAgKGQtPnByaXZhdGUtPnNnX2J1ZmZlcls1XSkpKworKyAgICAoKCgoc2lnbmVkIGNoYXIpKGQtPnByaXYtPnNnX2J1ZmZlclsyXSk8PDI0KSB8IAorKyAgICAgIChkLT5wcml2LT5zZ19idWZmZXJbM108PDE2KXwKKysgICAgICAoZC0+cHJpdi0+c2dfYnVmZmVyWzRdPDw4KXwKKysgICAgICAoZC0+cHJpdi0+c2dfYnVmZmVyWzVdKSkrCisgICAgICAKKy0gICAgICgoKChzaWduZWQgY2hhcikoZC0+cHJpdmF0ZS0+c2dfYnVmZmVyWzZdKTw8MjQpIHwgCistICAgICAgIChkLT5wcml2YXRlLT5zZ19idWZmZXJbN108PDE2KXwKKy0gICAgICAgKGQtPnByaXZhdGUtPnNnX2J1ZmZlcls4XTw8OCl8CistICAgICAgIChkLT5wcml2YXRlLT5zZ19idWZmZXJbOV0pKSkpOworKyAgICAgKCgoKHNpZ25lZCBjaGFyKShkLT5wcml2LT5zZ19idWZmZXJbNl0pPDwyNCkgfCAKKysgICAgICAgKGQtPnByaXYtPnNnX2J1ZmZlcls3XTw8MTYpfAorKyAgICAgICAoZC0+cHJpdi0+c2dfYnVmZmVyWzhdPDw4KXwKKysgICAgICAgKGQtPnByaXYtPnNnX2J1ZmZlcls5XSkpKSk7CisgCisgCisgICBkLT5jZF9leHRyYSA9IEZpeHVwVE9DKGQsdHJhY2tzKzEpOworQEAgLTgxNyw3ICs4MTcsNyBAQCBzdGF0aWMgaW50IGlfcmVhZF8yOCAoY2Ryb21fZHJpdmUgKmQsIHZvaWQgKnAsIGxvbmcgYmVnaW4sIGxvbmcgc2VjdG9ycywgdW5zaWduZQorICAgY21kWzhdID0gc2VjdG9yczsKKyAgIGlmKChyZXQ9aGFuZGxlX3Njc2lfY21kKGQsY21kLDEwLDAsc2VjdG9ycyAqIENEX0ZSQU1FU0laRV9SQVcsJ1wxNzcnLDEsc2Vuc2UpKSkKKyAgICAgcmV0dXJuKHJldCk7CistICBpZihwKW1lbWNweShwLGQtPnByaXZhdGUtPnNnX2J1ZmZlcixzZWN0b3JzKkNEX0ZSQU1FU0laRV9SQVcpOworKyAgaWYocCltZW1jcHkocCxkLT5wcml2LT5zZ19idWZmZXIsc2VjdG9ycypDRF9GUkFNRVNJWkVfUkFXKTsKKyAgIHJldHVybigwKTsKKyB9CisgCitAQCAtODM2LDcgKzgzNiw3IEBAIHN0YXRpYyBpbnQgaV9yZWFkX0E4IChjZHJvbV9kcml2ZSAqZCwgdm9pZCAqcCwgbG9uZyBiZWdpbiwgbG9uZyBzZWN0b3JzLCB1bnNpZ25lCisgICBjbWRbOV0gPSBzZWN0b3JzOworICAgaWYoKHJldD1oYW5kbGVfc2NzaV9jbWQoZCxjbWQsMTIsMCxzZWN0b3JzICogQ0RfRlJBTUVTSVpFX1JBVywnXDE3NycsMSxzZW5zZSkpKQorICAgICByZXR1cm4ocmV0KTsKKy0gIGlmKHApbWVtY3B5KHAsZC0+cHJpdmF0ZS0+c2dfYnVmZmVyLHNlY3RvcnMqQ0RfRlJBTUVTSVpFX1JBVyk7CisrICBpZihwKW1lbWNweShwLGQtPnByaXYtPnNnX2J1ZmZlcixzZWN0b3JzKkNEX0ZSQU1FU0laRV9SQVcpOworICAgcmV0dXJuKDApOworIH0KKyAKK0BAIC04NTQsNyArODU0LDcgQEAgc3RhdGljIGludCBpX3JlYWRfRDRfMTAgKGNkcm9tX2RyaXZlICpkLCB2b2lkICpwLCBsb25nIGJlZ2luLCBsb25nIHNlY3RvcnMsIHVuc2kKKyAgIGNtZFs4XSA9IHNlY3RvcnM7CisgICBpZigocmV0PWhhbmRsZV9zY3NpX2NtZChkLGNtZCwxMCwwLHNlY3RvcnMgKiBDRF9GUkFNRVNJWkVfUkFXLCdcMTc3JywxLHNlbnNlKSkpCisgICAgIHJldHVybihyZXQpOworLSAgaWYocCltZW1jcHkocCxkLT5wcml2YXRlLT5zZ19idWZmZXIsc2VjdG9ycypDRF9GUkFNRVNJWkVfUkFXKTsKKysgIGlmKHApbWVtY3B5KHAsZC0+cHJpdi0+c2dfYnVmZmVyLHNlY3RvcnMqQ0RfRlJBTUVTSVpFX1JBVyk7CisgICByZXR1cm4oMCk7CisgfQorIAorQEAgLTg3Miw3ICs4NzIsNyBAQCBzdGF0aWMgaW50IGlfcmVhZF9ENF8xMiAoY2Ryb21fZHJpdmUgKmQsIHZvaWQgKnAsIGxvbmcgYmVnaW4sIGxvbmcgc2VjdG9ycywgdW5zaQorICAgY21kWzldID0gc2VjdG9yczsKKyAgIGlmKChyZXQ9aGFuZGxlX3Njc2lfY21kKGQsY21kLDEyLDAsc2VjdG9ycyAqIENEX0ZSQU1FU0laRV9SQVcsJ1wxNzcnLDEsc2Vuc2UpKSkKKyAgICAgcmV0dXJuKHJldCk7CistICBpZihwKW1lbWNweShwLGQtPnByaXZhdGUtPnNnX2J1ZmZlcixzZWN0b3JzKkNEX0ZSQU1FU0laRV9SQVcpOworKyAgaWYocCltZW1jcHkocCxkLT5wcml2LT5zZ19idWZmZXIsc2VjdG9ycypDRF9GUkFNRVNJWkVfUkFXKTsKKyAgIHJldHVybigwKTsKKyB9CisgCitAQCAtODkwLDcgKzg5MCw3IEBAIHN0YXRpYyBpbnQgaV9yZWFkX0Q1IChjZHJvbV9kcml2ZSAqZCwgdm9pZCAqcCwgbG9uZyBiZWdpbiwgbG9uZyBzZWN0b3JzLCB1bnNpZ25lCisgICBjbWRbOF0gPSBzZWN0b3JzOworICAgaWYoKHJldD1oYW5kbGVfc2NzaV9jbWQoZCxjbWQsMTAsMCxzZWN0b3JzICogQ0RfRlJBTUVTSVpFX1JBVywnXDE3NycsMSxzZW5zZSkpKQorICAgICByZXR1cm4ocmV0KTsKKy0gIGlmKHApbWVtY3B5KHAsZC0+cHJpdmF0ZS0+c2dfYnVmZmVyLHNlY3RvcnMqQ0RfRlJBTUVTSVpFX1JBVyk7CisrICBpZihwKW1lbWNweShwLGQtPnByaXYtPnNnX2J1ZmZlcixzZWN0b3JzKkNEX0ZSQU1FU0laRV9SQVcpOworICAgcmV0dXJuKDApOworIH0KKyAKK0BAIC05MDgsNyArOTA4LDcgQEAgc3RhdGljIGludCBpX3JlYWRfRDggKGNkcm9tX2RyaXZlICpkLCB2b2lkICpwLCBsb25nIGJlZ2luLCBsb25nIHNlY3RvcnMsIHVuc2lnbmUKKyAgIGNtZFs5XSA9IHNlY3RvcnM7CisgICBpZigocmV0PWhhbmRsZV9zY3NpX2NtZChkLGNtZCwxMiwwLHNlY3RvcnMgKiBDRF9GUkFNRVNJWkVfUkFXLCdcMTc3JywxLHNlbnNlKSkpCisgICAgIHJldHVybihyZXQpOworLSAgaWYocCltZW1jcHkocCxkLT5wcml2YXRlLT5zZ19idWZmZXIsc2VjdG9ycypDRF9GUkFNRVNJWkVfUkFXKTsKKysgIGlmKHApbWVtY3B5KHAsZC0+cHJpdi0+c2dfYnVmZmVyLHNlY3RvcnMqQ0RfRlJBTUVTSVpFX1JBVyk7CisgICByZXR1cm4oMCk7CisgfQorIAorQEAgLTkyMiw3ICs5MjIsNyBAQCBzdGF0aWMgaW50IGlfcmVhZF9tbWMgKGNkcm9tX2RyaXZlICpkLCB2b2lkICpwLCBsb25nIGJlZ2luLCBsb25nIHNlY3RvcnMsIHVuc2lnbgorICAgY21kWzhdID0gc2VjdG9yczsKKyAgIGlmKChyZXQ9aGFuZGxlX3Njc2lfY21kKGQsY21kLDEyLDAsc2VjdG9ycyAqIENEX0ZSQU1FU0laRV9SQVcsJ1wxNzcnLDEsc2Vuc2UpKSkKKyAgICAgcmV0dXJuKHJldCk7CistICBpZihwKW1lbWNweShwLGQtPnByaXZhdGUtPnNnX2J1ZmZlcixzZWN0b3JzKkNEX0ZSQU1FU0laRV9SQVcpOworKyAgaWYocCltZW1jcHkocCxkLT5wcml2LT5zZ19idWZmZXIsc2VjdG9ycypDRF9GUkFNRVNJWkVfUkFXKTsKKyAgIHJldHVybigwKTsKKyB9CisgCitAQCAtOTM2LDcgKzkzNiw3IEBAIHN0YXRpYyBpbnQgaV9yZWFkX21tY0IgKGNkcm9tX2RyaXZlICpkLCB2b2lkICpwLCBsb25nIGJlZ2luLCBsb25nIHNlY3RvcnMsIHVuc2lnCisgICBjbWRbOF0gPSBzZWN0b3JzOworICAgaWYoKHJldD1oYW5kbGVfc2NzaV9jbWQoZCxjbWQsMTIsMCxzZWN0b3JzICogQ0RfRlJBTUVTSVpFX1JBVywnXDE3NycsMSxzZW5zZSkpKQorICAgICByZXR1cm4ocmV0KTsKKy0gIGlmKHApbWVtY3B5KHAsZC0+cHJpdmF0ZS0+c2dfYnVmZmVyLHNlY3RvcnMqQ0RfRlJBTUVTSVpFX1JBVyk7CisrICBpZihwKW1lbWNweShwLGQtPnByaXYtPnNnX2J1ZmZlcixzZWN0b3JzKkNEX0ZSQU1FU0laRV9SQVcpOworICAgcmV0dXJuKDApOworIH0KKyAKK0BAIC05NTAsNyArOTUwLDcgQEAgc3RhdGljIGludCBpX3JlYWRfbW1jMiAoY2Ryb21fZHJpdmUgKmQsIHZvaWQgKnAsIGxvbmcgYmVnaW4sIGxvbmcgc2VjdG9ycywgdW5zaWcKKyAgIGNtZFs4XSA9IHNlY3RvcnM7CisgICBpZigocmV0PWhhbmRsZV9zY3NpX2NtZChkLGNtZCwxMiwwLHNlY3RvcnMgKiBDRF9GUkFNRVNJWkVfUkFXLCdcMTc3JywxLHNlbnNlKSkpCisgICAgIHJldHVybihyZXQpOworLSAgaWYocCltZW1jcHkocCxkLT5wcml2YXRlLT5zZ19idWZmZXIsc2VjdG9ycypDRF9GUkFNRVNJWkVfUkFXKTsKKysgIGlmKHApbWVtY3B5KHAsZC0+cHJpdi0+c2dfYnVmZmVyLHNlY3RvcnMqQ0RfRlJBTUVTSVpFX1JBVyk7CisgICByZXR1cm4oMCk7CisgfQorIAorQEAgLTk2NCw3ICs5NjQsNyBAQCBzdGF0aWMgaW50IGlfcmVhZF9tbWMyQiAoY2Ryb21fZHJpdmUgKmQsIHZvaWQgKnAsIGxvbmcgYmVnaW4sIGxvbmcgc2VjdG9ycywgdW5zaQorICAgY21kWzhdID0gc2VjdG9yczsKKyAgIGlmKChyZXQ9aGFuZGxlX3Njc2lfY21kKGQsY21kLDEyLDAsc2VjdG9ycyAqIENEX0ZSQU1FU0laRV9SQVcsJ1wxNzcnLDEsc2Vuc2UpKSkKKyAgICAgcmV0dXJuKHJldCk7CistICBpZihwKW1lbWNweShwLGQtPnByaXZhdGUtPnNnX2J1ZmZlcixzZWN0b3JzKkNEX0ZSQU1FU0laRV9SQVcpOworKyAgaWYocCltZW1jcHkocCxkLT5wcml2LT5zZ19idWZmZXIsc2VjdG9ycypDRF9GUkFNRVNJWkVfUkFXKTsKKyAgIHJldHVybigwKTsKKyB9CisgCitAQCAtOTc4LDcgKzk3OCw3IEBAIHN0YXRpYyBpbnQgaV9yZWFkX21tYzMgKGNkcm9tX2RyaXZlICpkLCB2b2lkICpwLCBsb25nIGJlZ2luLCBsb25nIHNlY3RvcnMsIHVuc2lnCisgICBjbWRbOF0gPSBzZWN0b3JzOworICAgaWYoKHJldD1oYW5kbGVfc2NzaV9jbWQoZCxjbWQsMTIsMCxzZWN0b3JzICogQ0RfRlJBTUVTSVpFX1JBVywnXDE3NycsMSxzZW5zZSkpKQorICAgICByZXR1cm4ocmV0KTsKKy0gIGlmKHApbWVtY3B5KHAsZC0+cHJpdmF0ZS0+c2dfYnVmZmVyLHNlY3RvcnMqQ0RfRlJBTUVTSVpFX1JBVyk7CisrICBpZihwKW1lbWNweShwLGQtPnByaXYtPnNnX2J1ZmZlcixzZWN0b3JzKkNEX0ZSQU1FU0laRV9SQVcpOworICAgcmV0dXJuKDApOworIH0KKyAKK0BAIC05OTIsNyArOTkyLDcgQEAgc3RhdGljIGludCBpX3JlYWRfbW1jM0IgKGNkcm9tX2RyaXZlICpkLCB2b2lkICpwLCBsb25nIGJlZ2luLCBsb25nIHNlY3RvcnMsIHVuc2kKKyAgIGNtZFs4XSA9IHNlY3RvcnM7CisgICBpZigocmV0PWhhbmRsZV9zY3NpX2NtZChkLGNtZCwxMiwwLHNlY3RvcnMgKiBDRF9GUkFNRVNJWkVfUkFXLCdcMTc3JywxLHNlbnNlKSkpCisgICAgIHJldHVybihyZXQpOworLSAgaWYocCltZW1jcHkocCxkLT5wcml2YXRlLT5zZ19idWZmZXIsc2VjdG9ycypDRF9GUkFNRVNJWkVfUkFXKTsKKysgIGlmKHApbWVtY3B5KHAsZC0+cHJpdi0+c2dfYnVmZmVyLHNlY3RvcnMqQ0RfRlJBTUVTSVpFX1JBVyk7CisgICByZXR1cm4oMCk7CisgfQorIAorQEAgLTEwMjYsNyArMTAyNiw3IEBAIHN0YXRpYyBpbnQgaV9yZWFkX21zZiAoY2Ryb21fZHJpdmUgKmQsIHZvaWQgKnAsIGxvbmcgYmVnaW4sIGxvbmcgc2VjdG9ycywgdW5zaWduCisgCisgICBpZigocmV0PWhhbmRsZV9zY3NpX2NtZChkLGNtZCwxMiwwLHNlY3RvcnMgKiBDRF9GUkFNRVNJWkVfUkFXLCdcMTc3JywxLHNlbnNlKSkpCisgICAgIHJldHVybihyZXQpOworLSAgaWYocCltZW1jcHkocCxkLT5wcml2YXRlLT5zZ19idWZmZXIsc2VjdG9ycypDRF9GUkFNRVNJWkVfUkFXKTsKKysgIGlmKHApbWVtY3B5KHAsZC0+cHJpdi0+c2dfYnVmZmVyLHNlY3RvcnMqQ0RfRlJBTUVTSVpFX1JBVyk7CisgICByZXR1cm4oMCk7CisgfQorIAorQEAgLTEwMzksNyArMTAzOSw3IEBAIHN0YXRpYyBpbnQgaV9yZWFkX21zZjIgKGNkcm9tX2RyaXZlICpkLCB2b2lkICpwLCBsb25nIGJlZ2luLCBsb25nIHNlY3RvcnMsIHVuc2lnCisgCisgICBpZigocmV0PWhhbmRsZV9zY3NpX2NtZChkLGNtZCwxMiwwLHNlY3RvcnMgKiBDRF9GUkFNRVNJWkVfUkFXLCdcMTc3JywxLHNlbnNlKSkpCisgICAgIHJldHVybihyZXQpOworLSAgaWYocCltZW1jcHkocCxkLT5wcml2YXRlLT5zZ19idWZmZXIsc2VjdG9ycypDRF9GUkFNRVNJWkVfUkFXKTsKKysgIGlmKHApbWVtY3B5KHAsZC0+cHJpdi0+c2dfYnVmZmVyLHNlY3RvcnMqQ0RfRlJBTUVTSVpFX1JBVyk7CisgICByZXR1cm4oMCk7CisgfQorIAorQEAgLTEwNTIsNyArMTA1Miw3IEBAIHN0YXRpYyBpbnQgaV9yZWFkX21zZjMgKGNkcm9tX2RyaXZlICpkLCB2b2lkICpwLCBsb25nIGJlZ2luLCBsb25nIHNlY3RvcnMsIHVuc2lnCisgICAKKyAgIGlmKChyZXQ9aGFuZGxlX3Njc2lfY21kKGQsY21kLDEyLDAsc2VjdG9ycyAqIENEX0ZSQU1FU0laRV9SQVcsJ1wxNzcnLDEsc2Vuc2UpKSkKKyAgICAgcmV0dXJuKHJldCk7CistICBpZihwKW1lbWNweShwLGQtPnByaXZhdGUtPnNnX2J1ZmZlcixzZWN0b3JzKkNEX0ZSQU1FU0laRV9SQVcpOworKyAgaWYocCltZW1jcHkocCxkLT5wcml2LT5zZ19idWZmZXIsc2VjdG9ycypDRF9GUkFNRVNJWkVfUkFXKTsKKyAgIHJldHVybigwKTsKKyB9CisgCitAQCAtMTI3NSw3ICsxMjc1LDcgQEAgbG9uZyBzY3NpX3JlYWRfbXNmMyAoY2Ryb21fZHJpdmUgKmQsIHZvaWQgKnAsIGxvbmcgYmVnaW4sCisgc3RhdGljIGludCBjb3VudF8yMzUyX2J5dGVzKGNkcm9tX2RyaXZlICpkKXsKKyAgIGxvbmcgaTsKKyAgIGZvcihpPTIzNTE7aT49MDtpLS0pCistICAgIGlmKGQtPnByaXZhdGUtPnNnX2J1ZmZlcltpXSE9KHVuc2lnbmVkIGNoYXIpJ1wxNzcnKQorKyAgICBpZihkLT5wcml2LT5zZ19idWZmZXJbaV0hPSh1bnNpZ25lZCBjaGFyKSdcMTc3JykKKyAgICAgICByZXR1cm4oKChpKzMpPj4yKTw8Mik7CisgCisgICByZXR1cm4oMCk7CitAQCAtMTI4NCw3ICsxMjg0LDcgQEAgc3RhdGljIGludCBjb3VudF8yMzUyX2J5dGVzKGNkcm9tX2RyaXZlICpkKXsKKyBzdGF0aWMgaW50IHZlcmlmeV9ub256ZXJvKGNkcm9tX2RyaXZlICpkKXsKKyAgIGxvbmcgaSxmbGFnPTA7CisgICBmb3IoaT0wO2k8MjM1MjtpKyspCistICAgIGlmKGQtPnByaXZhdGUtPnNnX2J1ZmZlcltpXSE9MCl7CisrICAgIGlmKGQtPnByaXYtPnNnX2J1ZmZlcltpXSE9MCl7CisgICAgICAgZmxhZz0xOworICAgICAgIGJyZWFrOworICAgICB9CitAQCAtMTYyNSw3ICsxNjI1LDcgQEAgc3RhdGljIGludCBjaGVja19tbWMoY2Ryb21fZHJpdmUgKmQpeworICAgZC0+aXNfbW1jPTA7CisgICBpZihtb2RlX3NlbnNlKGQsMjIsMHgyQSk9PTApeworICAgCistICAgIGI9ZC0+cHJpdmF0ZS0+c2dfYnVmZmVyOworKyAgICBiPWQtPnByaXYtPnNnX2J1ZmZlcjsKKyAgICAgYis9YlszXSs0OworICAgICAKKyAgICAgaWYoKGJbMF0mMHgzRik9PTB4MkEpeworQEAgLTE2NzMsNyArMTY3Myw3IEBAIHVuc2lnbmVkIGNoYXIgKnNjc2lfaW5xdWlyeShjZHJvbV9kcml2ZSAqZCl7CisgICAgIGNkZXJyb3IoZCwiMDA4OiBVbmFibGUgdG8gaWRlbnRpZnkgQ0RST00gbW9kZWxcbiIpOworICAgICByZXR1cm4oTlVMTCk7CisgICB9CistICByZXR1cm4gKGQtPnByaXZhdGUtPnNnX2J1ZmZlcik7CisrICByZXR1cm4gKGQtPnByaXYtPnNnX2J1ZmZlcik7CisgfQorIAorIGludCBzY3NpX2luaXRfZHJpdmUoY2Ryb21fZHJpdmUgKmQpeworQEAgLTE3NDIsOCArMTc0Miw4IEBAIGludCBzY3NpX2luaXRfZHJpdmUoY2Ryb21fZHJpdmUgKmQpeworICAgY2hlY2tfY2FjaGUoZCk7CisgCisgICBkLT5lcnJvcl9yZXRyeT0xOworLSAgZC0+cHJpdmF0ZS0+c2dfaGQ9cmVhbGxvYyhkLT5wcml2YXRlLT5zZ19oZCxkLT5uc2VjdG9ycypDRF9GUkFNRVNJWkVfUkFXICsgU0dfT0ZGICsgMTI4KTsKKy0gIGQtPnByaXZhdGUtPnNnX2J1ZmZlcj0oKHVuc2lnbmVkIGNoYXIgKilkLT5wcml2YXRlLT5zZ19oZCkrU0dfT0ZGOworKyAgZC0+cHJpdi0+c2dfaGQ9cmVhbGxvYyhkLT5wcml2LT5zZ19oZCxkLT5uc2VjdG9ycypDRF9GUkFNRVNJWkVfUkFXICsgU0dfT0ZGICsgMTI4KTsKKysgIGQtPnByaXYtPnNnX2J1ZmZlcj0oKHVuc2lnbmVkIGNoYXIgKilkLT5wcml2LT5zZ19oZCkrU0dfT0ZGOworICAgZC0+cmVwb3J0X2FsbD0xOworICAgcmV0dXJuKDApOworIH0KK2RpZmYgLS1naXQgYS9pbnRlcmZhY2UvdGVzdF9pbnRlcmZhY2UuYyBiL2ludGVyZmFjZS90ZXN0X2ludGVyZmFjZS5jCitpbmRleCAxMWJlYzI1Li5lMWNlZmFhIDEwMDY0NAorLS0tIGEvaW50ZXJmYWNlL3Rlc3RfaW50ZXJmYWNlLmMKKysrKyBiL2ludGVyZmFjZS90ZXN0X2ludGVyZmFjZS5jCitAQCAtNjYsOSArNjYsOSBAQCBzdGF0aWMgbG9uZyB0ZXN0X3JlYWQoY2Ryb21fZHJpdmUgKmQsIHZvaWQgKnAsIGxvbmcgYmVnaW4sIGxvbmcgc2VjdG9ycyl7CisgICBpZighZmQpZmQ9ZmRvcGVuKGQtPmNkZGFfZmQsInIiKTsKKyAKKyAgIGlmKGJlZ2luPGxhc3RyZWFkKQorLSAgICBkLT5wcml2YXRlLT5sYXN0X21pbGxpc2Vjb25kcz0yMDsKKysgICAgZC0+cHJpdi0+bGFzdF9taWxsaXNlY29uZHM9MjA7CisgICBlbHNlCistICAgIGQtPnByaXZhdGUtPmxhc3RfbWlsbGlzZWNvbmRzPXNlY3RvcnM7CisrICAgIGQtPnByaXYtPmxhc3RfbWlsbGlzZWNvbmRzPXNlY3RvcnM7CisgCisgI2lmZGVmIENEREFfVEVTVF9VTkRFUlJVTgorICAgc2VjdG9ycy09MTsKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2NvcmlhbmRlci9jb3JpYW5kZXIvY3Jvc3MtY29tcGlsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9jb3JpYW5kZXIvY29yaWFuZGVyL2Nyb3NzLWNvbXBpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDkzNTBmZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9jb3JpYW5kZXIvY29yaWFuZGVyL2Nyb3NzLWNvbXBpbGUucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorSW4gYSBjcm9zcyBjb21waWxlIGVudmlyb25tZW50IGFkZGluZyBwYXRocyBsaWtlIC91c3IgYXJlIG5vdCBjb3JyZWN0LgorV2l0aCB0aGlzIHBhdGNoIHdlIG1ha2UgaXQgc28gdGhhdCBpdHMgcmVsYXRpdmUgdG8gc3lzcm9vdCBpZiB0aGUgY29tcGlsZXIKK2RlZmluZXMgb25lLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitJbmRleDogYS9zcmMvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL3NyYy9NYWtlZmlsZS5hbQkyMDEzLTAyLTA4IDIyOjM1OjA4LjAwMDAwMDAwMCAtMDgwMAorKysrIGIvc3JjL01ha2VmaWxlLmFtCTIwMTMtMTAtMTMgMDE6MzE6MzguODEyODY5MDgwIC0wNzAwCitAQCAtMzMsNSArMzMsNSBAQAorIAl2aWRlb19lbmNvZGUuYyB2aWRlb19lbmNvZGUuaCBcCisgCXN1YnRpdGxlcy5jIHN1YnRpdGxlcy5oIAorIAorLWNvcmlhbmRlcl9MREFERCA9IC1ML3Vzci9YMTFSNi9saWIvIEBQQUNLQUdFX0xJQlNAICQoSU5UTExJQlMpICQoTElCVElGRl9MSUJTKSAkKEZUUExJQl9MSUJTKSAkKFNETExJQl9MSUJTKSAkKExJQkRDX0xJQlMpICQoTElCUkFXX0xJQlMpICQoWFZfTElCUykgJChDT1JfTEZTX0xERkxBR1MpIC1sZ3RocmVhZC0yLjAgJChGRk1QRUdfTElCUykgJChYMTFfTElCUykKKytjb3JpYW5kZXJfTERBREQgPSAtTD0vdXNyL1gxMVI2L2xpYi8gQFBBQ0tBR0VfTElCU0AgJChJTlRMTElCUykgJChMSUJUSUZGX0xJQlMpICQoRlRQTElCX0xJQlMpICQoU0RMTElCX0xJQlMpICQoTElCRENfTElCUykgJChMSUJSQVdfTElCUykgJChYVl9MSUJTKSAkKENPUl9MRlNfTERGTEFHUykgLWxndGhyZWFkLTIuMCAkKEZGTVBFR19MSUJTKSAkKFgxMV9MSUJTKQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2NvcmlhbmRlci9jb3JpYW5kZXJfMi4wLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvY29yaWFuZGVyL2NvcmlhbmRlcl8yLjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hOWY1MmNhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2NvcmlhbmRlci9jb3JpYW5kZXJfMi4wLjIuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJDb250cm9sIGFuZCBjYXB0dXJlIEdVSSBmb3IgSUlEQyBjb21wbGlhbnQgY2FtZXJhcyIKK0hPTUVQQUdFID0gImh0dHA6Ly9kYW1pZW4uZG91eGNoYW1wcy5uZXQvaWVlZTEzOTQvY29yaWFuZGVyLyIKK1NFQ1RJT04gPSAiYXBwbGljYXRpb25zIgorTElDRU5TRSA9ICJHUEwtMy4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCitERVBFTkRTID0gImd0aysgbGliZ25vbWV1aSBsaWJyYXcxMzk0IGxpYmRjMTM5NCBsaWJ4diB0aWZmIgorCitQTkJMQUNLTElTVFtjb3JpYW5kZXJdID89ICJCUk9LRU46IGZhaWxzIHRvIHVzZSBTREwgcHJvYmFibHkgYmVjYXVzZSBsaWJzZGwtY29uZmlnIHdhcyByZW1vdmVkLCBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ1NETF9PdmVybGF5JyIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcHJvamVjdC8ke0JQTn0vY29yaWFuZGVyLTIvJHtQVn0vJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2Nyb3NzLWNvbXBpbGUucGF0Y2ggXAorICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjQzMWQ5OGZiMDEzMjE3NjgxZjk3YWRlMTY4MjAxZmI4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVjN2ZkMzFjYjU4ZDM5OGUyNzQyMzUyYmYxZmZiZDJjYTIyZTA2Njg2YzY2NjhlY2ZkNDM3NzM1YzJiNzkxMjMiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kbGV5bmEvZGxleW5hLWNvbm5lY3Rvci1kYnVzXzAuMy4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2RsZXluYS9kbGV5bmEtY29ubmVjdG9yLWRidXNfMC4zLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjIzYmM2YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kbGV5bmEvZGxleW5hLWNvbm5lY3Rvci1kYnVzXzAuMy4wLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiRC1CdXMgY29ubmVjdG9yIGZvciBkTGV5bmEgbGlicmFyaWVzIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly8wMS5vcmcvZGxleW5hLyIKKworTElDRU5TRSA9ICJMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvY29ubmVjdG9yLWRidXMuYztlbmRsaW5lPTIxO21kNT0wYTE2OTVjZWY1M2JlZWZjMzY2NTFkZTQzOWY2NDNiNSIKKworREVQRU5EUyA9ICJnbGliLTIuMCBkYnVzIGRsZXluYS1jb3JlIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vMDFvcmcvJHtCUE59LmdpdCIKK1NSQ1JFViA9ICJkZTkxM2MzNWU1YzkzNmUyZDQwZGRiZDI3NmVlOTAyY2Q4MDJiZDNhIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vZGxleW5hLTEuMC9jb25uZWN0b3JzLyouc28iCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9kbGV5bmEtMS4wL2Nvbm5lY3RvcnMvKi5sYSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2RsZXluYS0xLjAvY29ubmVjdG9ycy8uZGVidWcvKi5zbyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kbGV5bmEvZGxleW5hLWNvcmVfMC42LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZGxleW5hL2RsZXluYS1jb3JlXzAuNi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzYjI3OTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZGxleW5hL2RsZXluYS1jb3JlXzAuNi4wLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiVXRpbGl0eSBmdW5jdGlvbnMgZm9yIGRMZXluYSBsaWJyYXJpZXMiCitERVNDUklQVElPTiA9ICJkbGV5bmEtY29yZSBpcyBhIGxpYnJhcnkgb2YgdXRpbGl0eSBmdW5jdGlvbnMgdGhhdCBhcmUgdXNlZCBcCitieSB0aGUgaGlnaGVyIGxldmVsIGRMZXluYSBsaWJyYXJpZXMgdGhhdCBjb21tdW5pY2F0ZSB3aXRoIERMTkEgZGV2aWNlcywgXAorZS5nLiwgZGxleW5hLXNlcnZlci4gSW4gYnJpZWYsIGl0IHByb3ZpZGVzIEFQSXMgZm9yIGxvZ2dpbmcsIGVycm9yLCBzZXR0aW5ncyBcCithbmQgdGFzayBtYW5hZ2VtZW50IGFuZCBhbiBJUEMgYXNic3RyYWN0aW9uIEFQSS4iCitIT01FUEFHRSA9ICJodHRwczovLzAxLm9yZy9kbGV5bmEvIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYmRsZXluYS9jb3JlL2NvcmUuYztlbmRsaW5lPTIxO21kNT0xMzljYmEwYzYzNDM0NGFiYzk0NTY2OTRmYmI1MDgzYiIKKworREVQRU5EUyA9ICJnbGliLTIuMCBndXBucCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tLzAxb3JnLyR7QlBOfS5naXQiCitTUkNSRVYgPSAiMjdhMzc4NmVjMDEzZjY0ZmQ1ODI0MzQxMGE2MDc5OGY4MjRhY2VjMyIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2RsZXluYS9kbGV5bmEtcmVuZGVyZXJfMC42LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZGxleW5hL2RsZXluYS1yZW5kZXJlcl8wLjYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMzBhZWU5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2RsZXluYS9kbGV5bmEtcmVuZGVyZXJfMC42LjAuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJETE5BIHJlbmRlcmVyIGxpYnJhcmllcyIKK0RFU0NSSVBUSU9OID0gImRsZXluYS1yZW5kZXJlciBpcyBhIGxpYnJhcnkgZm9yIGltcGxlbWVudGluZyBzZXJ2aWNlcyBcCit0aGF0IGFsbG93IGNsaWVudHMgdG8gZGlzY292ZXIgYW5kIG1hbmlwdWxhdGUgRGlnaXRhbCBNZWRpYSBSZW5kZXJlcnMuIFwKK0FuIGltcGxlbWVudGF0aW9uIG9mIHN1Y2ggYSBzZXJ2aWNlIGZvciBsaW51eCBpcyBhbHNvIGluY2x1ZGVkLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vMDEub3JnL2RsZXluYS8iCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGliZGxleW5hL3JlbmRlcmVyL3NlcnZlci5jO2VuZGxpbmU9MjE7bWQ1PWY1MWFjZDQ3NTdmYjZhNzc5YTg3MTIyYzQzY2YxMzQ2IgorCitERVBFTkRTID0gImdsaWItMi4wIGdzc2RwIGd1cG5wIGd1cG5wLWF2IGd1cG5wLWRsbmEgbGlic291cC0yLjQgZGxleW5hLWNvcmUiCitSREVQRU5EU18ke1BOfSA9ICJkbGV5bmEtY29ubmVjdG9yLWRidXMiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS8wMW9yZy8ke0JQTn0uZ2l0IgorU1JDUkVWID0gIjUwZmQxZWM5ZDUxMzI4ZTdkZWE5ODg3NDEyOWRjOGQ2ZmUzZWExZGQiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworQ0ZMQUdTICs9ICIgLUkke1N9IgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9kYnVzLTEiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS8ke1BOfS8qLnNvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2RsZXluYS9kbGV5bmEtc2VydmVyXzAuNi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2RsZXluYS9kbGV5bmEtc2VydmVyXzAuNi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlMTY3NjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZGxleW5hL2RsZXluYS1zZXJ2ZXJfMC42LjAuYmIKQEAgLTAsMCArMSwyMSBAQAorU1VNTUFSWSA9ICJETE5BIHNlcnZlciBsaWJyYXJpZXMiCitERVNDUklQVElPTiA9ICJkbGV5bmEtc2VydmVyIGlzIGEgbGlicmFyeSBmb3IgaW1wbGVtZW50aW5nIHNlcnZpY2VzIHRoYXQgXAorYWxsb3cgY2xpZW50cyB0byBkaXNjb3ZlciwgYnJvd3NlIGFuZCBtYW5pcHVsYXRlIERpZ2l0YWwgTWVkaWEgU2VydmVycy4gXAorQW4gaW1wbGVtZW50YXRpb24gb2Ygc3VjaCBhIHNlcnZpY2UgZm9yIGxpbnV4IGlzIGFsc28gaW5jbHVkZWQuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly8wMS5vcmcvZGxleW5hLyIKKworTElDRU5TRSA9ICJMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWJkbGV5bmEvc2VydmVyL3NlcnZlci5jO2VuZGxpbmU9MjI7bWQ1PWRmYTZkYzNmOTE0MjA2YzI0MDhjMDUxMGMyMzRmOGM4IgorCitERVBFTkRTID0gImdsaWItMi4wIGdzc2RwIGd1cG5wIGd1cG5wLWF2IGd1cG5wLWRsbmEgbGlic291cC0yLjQgbGlieG1sMiBkbGV5bmEtY29yZSIKK1JERVBFTkRTXyR7UE59ID0gImRsZXluYS1jb25uZWN0b3ItZGJ1cyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tLzAxb3JnLyR7QlBOfS5naXQiCitTUkNSRVYgPSAiMzg2NTE3ODM5MTRjNzZiZDg2MWY3ZmU4NjUxYjI1ZTM5ODZkN2JlOCIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9kYnVzLTEiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS8ke1BOfS8qLnNvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2RsZXluYS9tZWRpYS1zZXJ2aWNlLXVwbnBfMC41LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZGxleW5hL21lZGlhLXNlcnZpY2UtdXBucF8wLjUuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYWFmNDJiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2RsZXluYS9tZWRpYS1zZXJ2aWNlLXVwbnBfMC41LjAuYmIKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSA9ICJkaXNjb3ZlciwgYnJvd3NlIGFuZCBzZWFyY2ggVVBOUC9ETE5BIG1lZGlhIHNlcnZlcnMiCitIT01FUEFHRSA9ICJodHRwczovLzAxLm9yZy9kbGV5bmEvIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL21lZGlhLXNlcnZpY2UtdXBucC5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjE7bWQ1PTU4NGViMTAzYjRmNmYzNDMyYzQzZDE2OWI2YTEyM2ExIgorCitERVBFTkRTID0gImRidXMgZ2xpYi0yLjAgZ3NzZHAgZ3VwbnAgZ3VwbnAtYXYgZ3VwbnAtZGxuYSBsaWJzb3VwLTIuNCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tLzAxb3JnLyR7QlBOfS5naXQiCitTUkNSRVYgPSAiMGRiYzc0YTc5YWEwN2E4ZjhjN2QzMmUxZDJkZTZjNGQzYTBmOTViYyIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgZG1zLWluZm8gJHtEfSR7YmluZGlyfQorfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tdGVzdHMiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RidXMtMS9zZXJ2aWNlcy8qLnNlcnZpY2UiCitGSUxFU18ke1BOfS10ZXN0cyA9ICIke2JpbmRpcn0vZG1zLWluZm8iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZGxleW5hL3JlbmRlcmVyLXNlcnZpY2UtdXBucF8wLjMuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kbGV5bmEvcmVuZGVyZXItc2VydmljZS11cG5wXzAuMy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4ZDU5ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZGxleW5hL3JlbmRlcmVyLXNlcnZpY2UtdXBucF8wLjMuMC5iYgpAQCAtMCwwICsxLDI5IEBACitTVU1NQVJZID0gImRpc2NvdmVyIGFuZCBtYW5pcHVsYXRlIFVQTlAvRExOQSBtZWRpYSByZW5kZXJlcnMiCitIT01FUEFHRSA9ICJodHRwczovLzAxLm9yZy9kbGV5bmEvIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL3JlbmRlcmVyLXNlcnZpY2UtdXBucC5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjE7bWQ1PWMyNWMzMDgyNjg0ZWI0Y2E4NzQ3NGI3NTI4YzZkYzE1IgorCitQTkJMQUNLTElTVFtyZW5kZXJlci1zZXJ2aWNlLXVwbnBdID89ICJCUk9LRU46IGRvZXNuJ3QgYnVpbGQgd2l0aCBCIT1TICh0cnlpbmcgdG8gaW5zdGFsbCByZW5kZXJlcmNvbnNvbGUucHkgZnJvbSAke0J9IGluc3RlYWQgb2YgJHtTfSkiCisKK0RFUEVORFMgPSAiZGJ1cyBnbGliLTIuMCBnc3NkcCBndXBucCBndXBucC1hdiBndXBucC1kbG5hIGxpYnNvdXAtMi40IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vMDFvcmcvJHtCUE59LmdpdCIKK1NSQ1JFViA9ICI0YTBiMWQ3Y2Q4ZTIyZDNjYjBlMDljNzdjMzQ0Y2VjY2JjYmJkMzRmIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSB0ZXN0L3JlbmRlcmVyY29uc29sZS5weSAke0R9JHtiaW5kaXJ9Cit9CisKK1BBQ0tBR0VTID0rICIke1BOfS10ZXN0cyIKKworUkRFUEVORFNfJHtQTn0tdGVzdHMgPSAicHl0aG9uLWRidXMgcHl0aG9uLWpzb24gcHl0aG9uLW1pc2MgcHl0aG9uLXBrZ3V0aWwgcHl0aG9uLXhtbCIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZGJ1cy0xL3NlcnZpY2VzLyouc2VydmljZSIKKyMgV2hlbiB3ZSBoYXZlIEdJLCBwYWNrYWdlIGNhcAorRklMRVNfJHtQTn0tdGVzdHMgPSAiJHtiaW5kaXJ9L3JlbmRlcmVyY29uc29sZS5weSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mYWFjL2ZhYWNfMS4yOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mYWFjL2ZhYWNfMS4yOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTZjMWE0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZhYWMvZmFhY18xLjI4LmJiCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAiRnJlZXdhcmUgQWR2YW5jZWQgQXVkaW8gQ29kZXIgKE1QRUcyLUFBQywgTVBFRzQtQUFDKSIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTNiZjUwMDAyYWVmZDAwMmY0OWU3YmI4NTQwNjNmN2U3IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYmZhYWMvY29kZXIuaDtiZWdpbmxpbmU9NTtlbmRsaW5lPTE3O21kNT1mYTFmZDZhNWZhOGNkYzg3N2Q2M2ExMjUzMGQyNzNlMCIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2ZhYWMvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2J1aWxkLWZpeC5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gIjgwNzYzNzI4ZDM5MmM3ZDc4OWNkZTI1NjE0Yzg3OGY2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM1MTQxMTk5ZjRjZmIxN2Q3NDljMzZiYThjZmU0YjI1ZjgzOGRhNjdjMjJmMGZlYzQwMjI4YjZiOWMzZDE5ZGYiCisKK1BBQ0tBR0VTID0rICJsaWIke0JQTn0gbGliJHtCUE59LWRldiIKKworRklMRVNfJHtQTn0gPSAiICR7YmluZGlyfS9mYWFjICIKK0ZJTEVTX2xpYiR7UE59ID0gIiAke2xpYmRpcn0vbGliZmFhYy5zby4qIgorRklMRVNfbGliJHtQTn0tZGV2ID0gIiR7aW5jbHVkZWRpcn0vZmFhYy5oICR7aW5jbHVkZWRpcn0vZmFhY2NmZy5oICR7bGliZGlyfS9saWJmYWFjLnNvICR7bGliZGlyfS9saWJmYWFjLmxhIgorRklMRVNfbGliJHtQTn0tc3RhdGljZGV2ID0gIiR7bGliZGlyfS9saWJmYWFjLmEiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mYWFjL2ZpbGVzL2J1aWxkLWZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mYWFjL2ZpbGVzL2J1aWxkLWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44M2NmZjhmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZhYWMvZmlsZXMvYnVpbGQtZml4LnBhdGNoCkBAIC0wLDAgKzEsMzMyIEBACitQYXRjaCBmaXhpbmcgYnVpbGQgZXJyb3IgYW5kIHdhcm5pbmdzLiBFcnJvciBjb25zaXN0ZWQgb2YgcmVkZWZpbmluZworc3RyY2FzZXN0ciBmdW5jdGlvbiBmcm9tIHN0cmluZy5oLiBXYXJuaW5ncyBjb25zaXN0ZWQgb2YgZGVwcmVjYXRlZCBjb252ZXJzaW9ucworb2Ygc3RyaW5nIGNvbnN0YW50cyB0byBjaGFyKiwgdXNpbmcgJyVsbHUnIGZvciB0eXBlIHVpbnQ2NF90ICh3aGljaCBvbiA2NCBiaXQKK3N5c3RlbXMsIGlzIGRlZmluZWQgYXMgdW5zaWduZWQgbG9uZyBpbnQgYnkgc3RkaW50LmgpLCBhbmQgdXNpbmcgJz09JyBmb3IKK2VxdWFsaXR5IG9mIHR3byBzdHJpbmdzLgorCitQYXRjaCBvcmlnaW5hbGx5IGZyb20gRGViaWFuLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL2NvbW1vbi9tcDR2Mi9tcGVnNGlwLmgKKysrKyBiL2NvbW1vbi9tcDR2Mi9tcGVnNGlwLmgKK0BAIC0xMjAsMTQgKzEyMCw2IEBACisgI2VuZGlmCisgI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgorIAorLSNpZmRlZiBfX2NwbHVzcGx1cworLWV4dGVybiAiQyIgeworLSNlbmRpZgorLWNoYXIgKnN0cmNhc2VzdHIoY29uc3QgY2hhciAqaGF5c3RhY2ssIGNvbnN0IGNoYXIgKm5lZWRsZSk7CistI2lmZGVmIF9fY3BsdXNwbHVzCistfQorLSNlbmRpZgorLQorICNkZWZpbmUgT1BFTl9SRFdSIE9fUkRXUgorICNkZWZpbmUgT1BFTl9DUkVBVCBPX0NSRUFUIAorICNkZWZpbmUgT1BFTl9SRE9OTFkgT19SRE9OTFkKK0BAIC0xMzUsNyArMTI3LDYgQEAKKyAjZGVmaW5lIGNsb3Nlc29ja2V0IGNsb3NlCisgI2RlZmluZSBJT1NCSU5BUlkgaW9zOjpiaW4KKyAKKy0jaWYgU0laRU9GX0xPTkcgPT0gOAorICNkZWZpbmUgTUFYX1VJTlQ2NCAtMUxVCisgI2RlZmluZSBENjRGICJsZCIKKyAjZGVmaW5lIFU2NEYgICJsdSIKK0BAIC0xNDMsMTUgKzEzNCw2IEBACisgCisgI2RlZmluZSBUT19ENjQoYSkgKGEjI0wpCisgI2RlZmluZSBUT19VNjQoYSkgKGEjI0xVKQorLSNlbHNlCistI2RlZmluZSBNQVhfVUlOVDY0IC0xTExVCistI2RlZmluZSBENjRGICJsbGQiCistI2RlZmluZSBVNjRGICAibGx1IgorLSNkZWZpbmUgWDY0RiAibGx4IgorLQorLSNkZWZpbmUgVE9fRDY0KGEpIChhIyNMTCkKKy0jZGVmaW5lIFRPX1U2NChhKSAoYSMjTExVKQorLSNlbmRpZgorIAorICNpZmRlZiBIQVZFX0ZQT1NfVF9fX1BPUworICNkZWZpbmUgRlBPU19UT19WQVIoZnBvcywgdHlwZWQsIHZhcikgKHZhcikgPSAodHlwZWQpKChmcG9zKS5fX3BvcykKKy0tLSBhL2NvbmZpZ3VyZS5pbgorKysrIGIvY29uZmlndXJlLmluCitAQCAtNCw2ICs0LDkgQEAKKyBBTV9JTklUX0FVVE9NQUtFCisgCisgQU1fQ09ORklHX0hFQURFUihjb25maWcuaCkKKytBSF9UT1AoWyNpZm5kZWYgQ09ORklHX0gKKysjZGVmaW5lIENPTkZJR19IXSkKKytBSF9CT1RUT00oWyNlbmRpZiAvKiBDT05GSUdfSCAqL10pCisgCisgQUNfQVJHX1dJVEgoIG1wNHYyLCAgWyAgLS13aXRoLW1wNHYyICAgICAgICAgICAgY29tcGlsZSBsaWJtcDR2Ml0sV0lUSE1QNFYyPSR3aXRodmFsLCBXSVRITVA0VjI9eWVzKQorIEFDX0FSR19FTkFCTEUoIGRybSwgIFsgIC0tZW5hYmxlLWRybSAgICAgICAgICAgIERpZ2l0YWwgUmFkaW8gTW9uZGlhbGUgc3VwcG9ydF0sIGVuYWJsZV9kcm09JGVuYWJsZXZhbCwgZW5hYmxlX2RybT1ubykKKy0tLSBhL2NvbW1vbi9tcDR2Mi9hdG9tX2F2Y0MuY3BwCisrKysgYi9jb21tb24vbXA0djIvYXRvbV9hdmNDLmNwcAorQEAgLTI5LDcgKzI5LDcgQEAKKyBjbGFzcyBTaXplVGFibGVQcm9wZXJ0eSA6IHB1YmxpYyBNUDRUYWJsZVByb3BlcnR5IAorIHsKKyAgcHVibGljOgorLSAgU2l6ZVRhYmxlUHJvcGVydHkoY2hhciAqbmFtZSwgTVA0SW50ZWdlclByb3BlcnR5ICpwQ291bnRQcm9wZXJ0eSkgOgorKyAgU2l6ZVRhYmxlUHJvcGVydHkoY29uc3QgY2hhciAqbmFtZSwgTVA0SW50ZWdlclByb3BlcnR5ICpwQ291bnRQcm9wZXJ0eSkgOgorICAgICBNUDRUYWJsZVByb3BlcnR5KG5hbWUsIHBDb3VudFByb3BlcnR5KSB7fTsKKyAgcHJvdGVjdGVkOgorICAgdm9pZCBSZWFkRW50cnkoTVA0RmlsZSAqcEZpbGUsIHVfaW50MzJfdCBpbmRleCkgeworLS0tIGEvY29tbW9uL21wNHYyL2F0b21fb2hkci5jcHAKKysrKyBiL2NvbW1vbi9tcDR2Mi9hdG9tX29oZHIuY3BwCitAQCAtMjEsNyArMjEsNyBAQAorICAgICAgIFxwYXJhbSB1c2VDb3VudGVkRm9ybWF0ICAgIGNvdW50ZWQgZm9ybWF0IGZsYWcuCisgICAgICAgXHBhcmFtIHVzZVVuaWNvZGUgICAgICAgICAgdW5pY29kZSBmbGFnLgorICAgKi8KKy0JT2hkck1QNFN0cmluZ1Byb3BlcnR5KGNoYXIqIG5hbWUsIGJvb2wgdXNlQ291bnRlZEZvcm1hdCA9IGZhbHNlLAorKwlPaGRyTVA0U3RyaW5nUHJvcGVydHkoY29uc3QgY2hhciogbmFtZSwgYm9vbCB1c2VDb3VudGVkRm9ybWF0ID0gZmFsc2UsCisgICAgIGJvb2wgdXNlVW5pY29kZSA9IGZhbHNlKTogTVA0U3RyaW5nUHJvcGVydHkobmFtZSwgdXNlQ291bnRlZEZvcm1hdCwKKyAgICAgdXNlVW5pY29kZSkgeworICAgfQorLS0tIGEvY29tbW9uL21wNHYyL2F0b21fc3R6Mi5jcHAKKysrKyBiL2NvbW1vbi9tcDR2Mi9hdG9tX3N0ejIuY3BwCitAQCAtMzAsNyArMzAsNyBAQAorIGNsYXNzIE1QNEhhbGZTaXplVGFibGVQcm9wZXJ0eSA6IHB1YmxpYyBNUDRUYWJsZVByb3BlcnR5CisgeworIHB1YmxpYzoKKy0gIE1QNEhhbGZTaXplVGFibGVQcm9wZXJ0eShjaGFyICpuYW1lLCBNUDRJbnRlZ2VyUHJvcGVydHkgKnBDb3VudFByb3BlcnR5KSA6CisrICBNUDRIYWxmU2l6ZVRhYmxlUHJvcGVydHkoY29uc3QgY2hhciAqbmFtZSwgTVA0SW50ZWdlclByb3BlcnR5ICpwQ291bnRQcm9wZXJ0eSkgOgorICAgICBNUDRUYWJsZVByb3BlcnR5KG5hbWUsIHBDb3VudFByb3BlcnR5KSB7fTsKKyAKKyAgIC8vIFRoZSBjb3VudCBpcyBoYWxmIHRoZSBhY3R1YWwgc2l6ZQorLS0tIGEvY29tbW9uL21wNHYyL21wNGF0b20uY3BwCisrKysgYi9jb21tb24vbXA0djIvbXA0YXRvbS5jcHAKK0BAIC04MDYsNyArODA2LDcgQEAKKyAJQWRkUHJvcGVydHkobmV3IE1QNEludGVnZXIyNFByb3BlcnR5KCJmbGFncyIpKTsKKyB9CisgCistdm9pZCBNUDRBdG9tOjpBZGRSZXNlcnZlZChjaGFyKiBuYW1lLCB1X2ludDMyX3Qgc2l6ZSkgCisrdm9pZCBNUDRBdG9tOjpBZGRSZXNlcnZlZChjb25zdCBjaGFyKiBuYW1lLCB1X2ludDMyX3Qgc2l6ZSkKKyB7CisgCU1QNEJ5dGVzUHJvcGVydHkqIHBSZXNlcnZlZCA9IG5ldyBNUDRCeXRlc1Byb3BlcnR5KG5hbWUsIHNpemUpOyAKKyAJcFJlc2VydmVkLT5TZXRSZWFkT25seSgpOworLS0tIGEvY29tbW9uL21wNHYyL21wNGF0b20uaAorKysrIGIvY29tbW9uL21wNHYyL21wNGF0b20uaAorQEAgLTIwNCw3ICsyMDQsNyBAQAorIAorIAl2b2lkIEFkZFZlcnNpb25BbmRGbGFncygpOworIAorLQl2b2lkIEFkZFJlc2VydmVkKGNoYXIqIG5hbWUsIHVfaW50MzJfdCBzaXplKTsKKysJdm9pZCBBZGRSZXNlcnZlZChjb25zdCBjaGFyKiBuYW1lLCB1X2ludDMyX3Qgc2l6ZSk7CisgCisgCXZvaWQgRXhwZWN0Q2hpbGRBdG9tKGNvbnN0IGNoYXIqIG5hbWUsIAorIAkJYm9vbCBtYW5kYXRvcnksIGJvb2wgb25seU9uZSA9IHRydWUpOworLS0tIGEvY29tbW9uL21wNHYyL21wNGZpbGUuY3BwCisrKysgYi9jb21tb24vbXA0djIvbXA0ZmlsZS5jcHAKK0BAIC03MTgsNyArNzE4LDcgQEAKKyAJfQorIH0KKyAKKy12b2lkIE1QNEZpbGU6OlByb3RlY3RXcml0ZU9wZXJhdGlvbihjaGFyKiB3aGVyZSkKKyt2b2lkIE1QNEZpbGU6OlByb3RlY3RXcml0ZU9wZXJhdGlvbihjb25zdCBjaGFyKiB3aGVyZSkKKyB7CisgCWlmIChtX21vZGUgPT0gJ3InKSB7CisgCQl0aHJvdyBuZXcgTVA0RXJyb3IoIm9wZXJhdGlvbiBub3QgcGVybWl0dGVkIGluIHJlYWQgbW9kZSIsIHdoZXJlKTsKK0BAIC0xMjc0LDcgKzEyNzQsNyBAQAorIH0KKyAKKyAvLyBOVUxMIHRlcm1pbmF0ZWQgbGlzdCBvZiBicmFuZHMgd2hpY2ggcmVxdWlyZSB0aGUgSU9EUyBhdG9tCistY2hhciAqYnJhbmRzV2l0aElvZHNbXSA9IHsgIm1wNDIiLAorK2NvbnN0IGNoYXIgKmJyYW5kc1dpdGhJb2RzW10gPSB7ICJtcDQyIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXNvbSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTH07CisgCitAQCAtMjIxMSwxMSArMjIxMSwxMSBAQAorIAlmb3IgKHVfaW50MzJfdCBpID0gMDsgaSA8IG1fcFRyYWNrcy5TaXplKCk7IGkrKykgeworIAkJaWYgKCFzdHJjbXAobm9ybVR5cGUsIG1fcFRyYWNrc1tpXS0+R2V0VHlwZSgpKSkgeworIAkJCWlmIChzdWJUeXBlKSB7CistCQkJCWlmIChub3JtVHlwZSA9PSBNUDRfQVVESU9fVFJBQ0tfVFlQRSkgeworKwkJCQlpZiAoIXN0cmNtcChub3JtVHlwZSxNUDRfQVVESU9fVFJBQ0tfVFlQRSkpIHsKKyAJCQkJCWlmIChzdWJUeXBlICE9IEdldFRyYWNrRXNkc09iamVjdFR5cGVJZChtX3BUcmFja3NbaV0tPkdldElkKCkpKSB7CisgCQkJCQkJY29udGludWU7CisgCQkJCQl9CistCQkJCX0gZWxzZSBpZiAobm9ybVR5cGUgPT0gTVA0X1ZJREVPX1RSQUNLX1RZUEUpIHsKKysJCQkJfSBlbHNlIGlmICghc3RyY21wKG5vcm1UeXBlLE1QNF9WSURFT19UUkFDS19UWVBFKSkgeworIAkJCQkJaWYgKHN1YlR5cGUgIT0gR2V0VHJhY2tFc2RzT2JqZWN0VHlwZUlkKG1fcFRyYWNrc1tpXS0+R2V0SWQoKSkpIHsKKyAJCQkJCQljb250aW51ZTsKKyAJCQkJCX0KK0BAIC0yMjc4LDExICsyMjc4LDExIEBACisgICBmb3IgKHVfaW50MzJfdCBpID0gMDsgaSA8IG1fcFRyYWNrcy5TaXplKCk7IGkrKykgeworICAgICBpZiAoIXN0cmNtcChub3JtVHlwZSwgbV9wVHJhY2tzW2ldLT5HZXRUeXBlKCkpKSB7CisgICAgICAgaWYgKHN1YlR5cGUpIHsKKy0JaWYgKG5vcm1UeXBlID09IE1QNF9BVURJT19UUkFDS19UWVBFKSB7CisrCWlmICghc3RyY21wKG5vcm1UeXBlLE1QNF9BVURJT19UUkFDS19UWVBFKSkgeworIAkgIGlmIChzdWJUeXBlICE9IEdldFRyYWNrRXNkc09iamVjdFR5cGVJZChtX3BUcmFja3NbaV0tPkdldElkKCkpKSB7CisgCSAgICBjb250aW51ZTsKKyAJICB9CistCX0gZWxzZSBpZiAobm9ybVR5cGUgPT0gTVA0X1ZJREVPX1RSQUNLX1RZUEUpIHsKKysJfSBlbHNlIGlmICghc3RyY21wKG5vcm1UeXBlLE1QNF9WSURFT19UUkFDS19UWVBFKSkgeworIAkgIGlmIChzdWJUeXBlICE9IEdldFRyYWNrRXNkc09iamVjdFR5cGVJZChtX3BUcmFja3NbaV0tPkdldElkKCkpKSB7CisgCSAgICBjb250aW51ZTsKKyAJICB9CistLS0gYS9jb21tb24vbXA0djIvbXA0ZmlsZS5oCisrKysgYi9jb21tb24vbXA0djIvbXA0ZmlsZS5oCitAQCAtNzAwLDcgKzcwMCw3IEBACisgCWNvbnN0IGNoYXIqIFRlbXBGaWxlTmFtZSgpOworIAl2b2lkIFJlbmFtZShjb25zdCBjaGFyKiBleGlzdGluZ0ZpbGVOYW1lLCBjb25zdCBjaGFyKiBuZXdGaWxlTmFtZSk7CisgCistCXZvaWQgUHJvdGVjdFdyaXRlT3BlcmF0aW9uKGNoYXIqIHdoZXJlKTsKKysJdm9pZCBQcm90ZWN0V3JpdGVPcGVyYXRpb24oY29uc3QgY2hhciogd2hlcmUpOworIAorIAl2b2lkIEZpbmRJbnRlZ2VyUHJvcGVydHkoY29uc3QgY2hhciogbmFtZSwgCisgCQlNUDRQcm9wZXJ0eSoqIHBwUHJvcGVydHksIHVfaW50MzJfdCogcEluZGV4ID0gTlVMTCk7CistLS0gYS9jb21tb24vbXA0djIvbXA0cHJvcGVydHkuY3BwCisrKysgYi9jb21tb24vbXA0djIvbXA0cHJvcGVydHkuY3BwCitAQCAtMzEzLDcgKzMxMyw3IEBACisgCisgLy8gTVA0U3RyaW5nUHJvcGVydHkKKyAKKy1NUDRTdHJpbmdQcm9wZXJ0eTo6TVA0U3RyaW5nUHJvcGVydHkoY2hhciogbmFtZSwgCisrTVA0U3RyaW5nUHJvcGVydHk6Ok1QNFN0cmluZ1Byb3BlcnR5KGNvbnN0IGNoYXIqIG5hbWUsCisgCWJvb2wgdXNlQ291bnRlZEZvcm1hdCwgYm9vbCB1c2VVbmljb2RlKQorIAk6IE1QNFByb3BlcnR5KG5hbWUpCisgeworQEAgLTQyMCw3ICs0MjAsNyBAQAorIAorIC8vIE1QNEJ5dGVzUHJvcGVydHkKKyAKKy1NUDRCeXRlc1Byb3BlcnR5OjpNUDRCeXRlc1Byb3BlcnR5KGNoYXIqIG5hbWUsIHVfaW50MzJfdCB2YWx1ZVNpemUsCisrTVA0Qnl0ZXNQcm9wZXJ0eTo6TVA0Qnl0ZXNQcm9wZXJ0eShjb25zdCBjaGFyKiBuYW1lLCB1X2ludDMyX3QgdmFsdWVTaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdV9pbnQzMl90IGRlZmF1bHRWYWx1ZVNpemUpCisgCTogTVA0UHJvcGVydHkobmFtZSkKKyB7CitAQCAtNTQ5LDcgKzU0OSw3IEBACisgCisgLy8gTVA0VGFibGVQcm9wZXJ0eQorIAorLU1QNFRhYmxlUHJvcGVydHk6Ok1QNFRhYmxlUHJvcGVydHkoY2hhciogbmFtZSwgTVA0SW50ZWdlclByb3BlcnR5KiBwQ291bnRQcm9wZXJ0eSkKKytNUDRUYWJsZVByb3BlcnR5OjpNUDRUYWJsZVByb3BlcnR5KGNvbnN0IGNoYXIqIG5hbWUsIE1QNEludGVnZXJQcm9wZXJ0eSogcENvdW50UHJvcGVydHkpCisgCTogTVA0UHJvcGVydHkobmFtZSkgCisgeworIAltX3BDb3VudFByb3BlcnR5ID0gcENvdW50UHJvcGVydHk7CitAQCAtNzI1LDcgKzcyNSw3IEBACisgCisgLy8gTVA0RGVzY3JpcHRvclByb3BlcnR5CisgICAKKy1NUDREZXNjcmlwdG9yUHJvcGVydHk6Ok1QNERlc2NyaXB0b3JQcm9wZXJ0eShjaGFyKiBuYW1lLCAKKytNUDREZXNjcmlwdG9yUHJvcGVydHk6Ok1QNERlc2NyaXB0b3JQcm9wZXJ0eShjb25zdCBjaGFyKiBuYW1lLAorIAl1X2ludDhfdCB0YWdzU3RhcnQsIHVfaW50OF90IHRhZ3NFbmQsIGJvb2wgbWFuZGF0b3J5LCBib29sIG9ubHlPbmUpCisgCTogTVA0UHJvcGVydHkobmFtZSkgCisgeyAKKy0tLSBhL2NvbW1vbi9tcDR2Mi9tcDRwcm9wZXJ0eS5oCisrKysgYi9jb21tb24vbXA0djIvbXA0cHJvcGVydHkuaAorQEAgLTEwMCw3ICsxMDAsNyBAQAorIAorIGNsYXNzIE1QNEludGVnZXJQcm9wZXJ0eSA6IHB1YmxpYyBNUDRQcm9wZXJ0eSB7CisgcHJvdGVjdGVkOgorLQlNUDRJbnRlZ2VyUHJvcGVydHkoY2hhciogbmFtZSkKKysJTVA0SW50ZWdlclByb3BlcnR5KGNvbnN0IGNoYXIqIG5hbWUpCisgCQk6IE1QNFByb3BlcnR5KG5hbWUpIHsgfTsKKyAKKyBwdWJsaWM6CitAQCAtMTE4LDcgKzExOCw3IEBACisgI2RlZmluZSBNUDRJTlRFR0VSX1BST1BFUlRZX0RFQ0wyKGlzaXplLCB4c2l6ZSkgXAorIAljbGFzcyBNUDRJbnRlZ2VyIyN4c2l6ZSMjUHJvcGVydHkgOiBwdWJsaWMgTVA0SW50ZWdlclByb3BlcnR5IHsgXAorIAlwdWJsaWM6IFwKKy0JCU1QNEludGVnZXIjI3hzaXplIyNQcm9wZXJ0eShjaGFyKiBuYW1lKSBcCisrCQlNUDRJbnRlZ2VyIyN4c2l6ZSMjUHJvcGVydHkoY29uc3QgY2hhciogbmFtZSkgXAorIAkJCTogTVA0SW50ZWdlclByb3BlcnR5KG5hbWUpIHsgXAorIAkJCVNldENvdW50KDEpOyBcCisgCQkJbV92YWx1ZXNbMF0gPSAwOyBcCitAQCAtMTg4LDcgKzE4OCw3IEBACisgCisgY2xhc3MgTVA0Qml0ZmllbGRQcm9wZXJ0eSA6IHB1YmxpYyBNUDRJbnRlZ2VyNjRQcm9wZXJ0eSB7CisgcHVibGljOgorLQlNUDRCaXRmaWVsZFByb3BlcnR5KGNoYXIqIG5hbWUsIHVfaW50OF90IG51bUJpdHMpCisrCU1QNEJpdGZpZWxkUHJvcGVydHkoY29uc3QgY2hhciogbmFtZSwgdV9pbnQ4X3QgbnVtQml0cykKKyAJCTogTVA0SW50ZWdlcjY0UHJvcGVydHkobmFtZSkgeworIAkJQVNTRVJUKG51bUJpdHMgIT0gMCk7CisgCQlBU1NFUlQobnVtQml0cyA8PSA2NCk7CitAQCAtMjEzLDcgKzIxMyw3IEBACisgCisgY2xhc3MgTVA0RmxvYXQzMlByb3BlcnR5IDogcHVibGljIE1QNFByb3BlcnR5IHsKKyBwdWJsaWM6CistCU1QNEZsb2F0MzJQcm9wZXJ0eShjaGFyKiBuYW1lKQorKwlNUDRGbG9hdDMyUHJvcGVydHkoY29uc3QgY2hhciogbmFtZSkKKyAJCTogTVA0UHJvcGVydHkobmFtZSkgeworIAkJbV91c2VGaXhlZDE2Rm9ybWF0ID0gZmFsc2U7CisgCQltX3VzZUZpeGVkMzJGb3JtYXQgPSBmYWxzZTsKK0BAIC0yODAsNyArMjgwLDcgQEAKKyAKKyBjbGFzcyBNUDRTdHJpbmdQcm9wZXJ0eSA6IHB1YmxpYyBNUDRQcm9wZXJ0eSB7CisgcHVibGljOgorLQlNUDRTdHJpbmdQcm9wZXJ0eShjaGFyKiBuYW1lLCAKKysJTVA0U3RyaW5nUHJvcGVydHkoY29uc3QgY2hhciogbmFtZSwKKyAJICBib29sIHVzZUNvdW50ZWRGb3JtYXQgPSBmYWxzZSwgYm9vbCB1c2VVbmljb2RlID0gZmFsc2UpOworIAorIAl+TVA0U3RyaW5nUHJvcGVydHkoKTsKK0BAIC0zNTUsNyArMzU1LDcgQEAKKyAKKyBjbGFzcyBNUDRCeXRlc1Byb3BlcnR5IDogcHVibGljIE1QNFByb3BlcnR5IHsKKyBwdWJsaWM6CistCU1QNEJ5dGVzUHJvcGVydHkoY2hhciogbmFtZSwgdV9pbnQzMl90IHZhbHVlU2l6ZSA9IDAsCisrCU1QNEJ5dGVzUHJvcGVydHkoY29uc3QgY2hhciogbmFtZSwgdV9pbnQzMl90IHZhbHVlU2l6ZSA9IDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVfaW50MzJfdCBkZWZhdWx0VmFsdWVTaXplID0gMCk7CisgCisgCX5NUDRCeXRlc1Byb3BlcnR5KCk7CitAQCAtNDE5LDcgKzQxOSw3IEBACisgCisgY2xhc3MgTVA0VGFibGVQcm9wZXJ0eSA6IHB1YmxpYyBNUDRQcm9wZXJ0eSB7CisgcHVibGljOgorLQlNUDRUYWJsZVByb3BlcnR5KGNoYXIqIG5hbWUsIE1QNEludGVnZXJQcm9wZXJ0eSogcENvdW50UHJvcGVydHkpOworKwlNUDRUYWJsZVByb3BlcnR5KGNvbnN0IGNoYXIqIG5hbWUsIE1QNEludGVnZXJQcm9wZXJ0eSogcENvdW50UHJvcGVydHkpOworIAorIAl+TVA0VGFibGVQcm9wZXJ0eSgpOworIAorQEAgLTQ2OSw3ICs0NjksNyBAQAorIAorIGNsYXNzIE1QNERlc2NyaXB0b3JQcm9wZXJ0eSA6IHB1YmxpYyBNUDRQcm9wZXJ0eSB7CisgcHVibGljOgorLQlNUDREZXNjcmlwdG9yUHJvcGVydHkoY2hhciogbmFtZSA9IE5VTEwsIAorKwlNUDREZXNjcmlwdG9yUHJvcGVydHkoY29uc3QgY2hhciogbmFtZSA9IE5VTEwsCisgCSAgdV9pbnQ4X3QgdGFnc1N0YXJ0ID0gMCwgdV9pbnQ4X3QgdGFnc0VuZCA9IDAsCisgCSAgYm9vbCBtYW5kYXRvcnkgPSBmYWxzZSwgYm9vbCBvbmx5T25lID0gZmFsc2UpOworIAorQEAgLTUzMSw3ICs1MzEsNyBAQAorIAorIGNsYXNzIE1QNFFvc1F1YWxpZmllclByb3BlcnR5IDogcHVibGljIE1QNERlc2NyaXB0b3JQcm9wZXJ0eSB7CisgcHVibGljOgorLQlNUDRRb3NRdWFsaWZpZXJQcm9wZXJ0eShjaGFyKiBuYW1lID0gTlVMTCwgCisrCU1QNFFvc1F1YWxpZmllclByb3BlcnR5KGNvbnN0IGNoYXIqIG5hbWUgPSBOVUxMLAorIAkgIHVfaW50OF90IHRhZ3NTdGFydCA9IDAsIHVfaW50OF90IHRhZ3NFbmQgPSAwLAorIAkgIGJvb2wgbWFuZGF0b3J5ID0gZmFsc2UsIGJvb2wgb25seU9uZSA9IGZhbHNlKSA6CisgCU1QNERlc2NyaXB0b3JQcm9wZXJ0eShuYW1lLCB0YWdzU3RhcnQsIHRhZ3NFbmQsIG1hbmRhdG9yeSwgb25seU9uZSkgeyB9CistLS0gYS9jb21tb24vbXA0djIvbXA0dHJhY2suY3BwCisrKysgYi9jb21tb24vbXA0djIvbXA0dHJhY2suY3BwCitAQCAtMTM2MCw3ICsxMzYwLDcgQEAKKyAgIH0KKyB9CisgCistTVA0QXRvbSogTVA0VHJhY2s6OkFkZEF0b20oY2hhciogcGFyZW50TmFtZSwgY2hhciogY2hpbGROYW1lKQorK01QNEF0b20qIE1QNFRyYWNrOjpBZGRBdG9tKGNvbnN0IGNoYXIqIHBhcmVudE5hbWUsIGNvbnN0IGNoYXIqIGNoaWxkTmFtZSkKKyB7CisgCU1QNEF0b20qIHBDaGlsZEF0b20gPSBNUDRBdG9tOjpDcmVhdGVBdG9tKGNoaWxkTmFtZSk7CisgCistLS0gYS9jb21tb24vbXA0djIvbXA0dHJhY2suaAorKysrIGIvY29tbW9uL21wNHYyL21wNHRyYWNrLmgKK0BAIC0xNjgsNyArMTY4LDcgQEAKKyAJdm9pZCBVcGRhdGVTeW5jU2FtcGxlcyhNUDRTYW1wbGVJZCBzYW1wbGVJZCwgCisgCQlib29sIGlzU3luY1NhbXBsZSk7CisgCistCU1QNEF0b20qIEFkZEF0b20oY2hhciogcGFyZW50TmFtZSwgY2hhciogY2hpbGROYW1lKTsKKysJTVA0QXRvbSogQWRkQXRvbShjb25zdCBjaGFyKiBwYXJlbnROYW1lLCBjb25zdCBjaGFyKiBjaGlsZE5hbWUpOworIAorIAl2b2lkIFVwZGF0ZUR1cmF0aW9ucyhNUDREdXJhdGlvbiBkdXJhdGlvbik7CisgCU1QNER1cmF0aW9uIFRvTW92aWVEdXJhdGlvbihNUDREdXJhdGlvbiB0cmFja0R1cmF0aW9uKTsKKy0tLSBhL2NvbW1vbi9tcDR2Mi9vY2lkZXNjcmlwdG9ycy5jcHAKKysrKyBiL2NvbW1vbi9tcDR2Mi9vY2lkZXNjcmlwdG9ycy5jcHAKK0BAIC0xNzEsNyArMTcxLDcgQEAKKyAKKyBjbGFzcyBNUDRDcmVhdG9yVGFibGVQcm9wZXJ0eSA6IHB1YmxpYyBNUDRUYWJsZVByb3BlcnR5IHsKKyBwdWJsaWM6CistCU1QNENyZWF0b3JUYWJsZVByb3BlcnR5KGNoYXIqIG5hbWUsIE1QNEludGVnZXI4UHJvcGVydHkqIHBDb3VudFByb3BlcnR5KSA6CisrCU1QNENyZWF0b3JUYWJsZVByb3BlcnR5KGNvbnN0IGNoYXIqIG5hbWUsIE1QNEludGVnZXI4UHJvcGVydHkqIHBDb3VudFByb3BlcnR5KSA6CisgCQlNUDRUYWJsZVByb3BlcnR5KG5hbWUsIHBDb3VudFByb3BlcnR5KSB7CisgCX07CisgcHJvdGVjdGVkOgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmx1aWRzeW50aF8xLjEuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGhfMS4xLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTRlODY5NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGhfMS4xLjYuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJGbHVpZHN5bnRoIGlzIGEgc29mdHdhcmUgc3ludGhlc2l6ZXIiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmZsdWlkc3ludGgub3JnLyIKK1NFQ1RJT04gPSAibGlicy9tdWx0aW1lZGlhIgorTElDRU5TRSA9ICJMR1BMLTIuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lMTk4ZTlhYWM5NDk0M2QwZWMyOWE3ZGFlOGMyOTQxNiIKKworREVQRU5EUyA9ICJhbHNhLWxpYiBuY3Vyc2VzIGdsaWItMi4wIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9wcm9qZWN0LyR7QlBOfS8ke0JQfS8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiYWU1YWNhNmRlODI0YjQxNzM2NjdjYmQzYTMxMGIyNjMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTA4NTMzOTFkOWViZWRhOWI0ZGI3ODdlZmIyM2Y5OGIxZTI2YjcyOTZkZDJiYjVkMGQ5NmI1YmNjZWUyMTcxYyIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZyBsaWJfcGFja2FnZQorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwdWxzZWF1ZGlvJywgJ3B1bHNlYXVkaW8nLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1tzbmRmaWxlXSA9ICItLWVuYWJsZS1saWJzbmRmaWxlLXN1cHBvcnQsLS1kaXNhYmxlLWxpYnNuZGZpbGUtc3VwcG9ydCxsaWJzbmRmaWxlMSIKK1BBQ0tBR0VDT05GSUdbamFja10gPSAiLS1lbmFibGUtamFjay1zdXBwb3J0LC0tZGlzYWJsZS1qYWNrLXN1cHBvcnQsamFjayIKK1BBQ0tBR0VDT05GSUdbcHVsc2VhdWRpb10gPSAiLS1lbmFibGUtcHVsc2Utc3VwcG9ydCwtLWRpc2FibGUtcHVsc2Utc3VwcG9ydCxwdWxzZWF1ZGlvIgorUEFDS0FHRUNPTkZJR1twb3J0YXVkaW9dID0gIi0tZW5hYmxlLXBvcnRhdWRpby1zdXBwb3J0LC0tZGlzYWJsZS1wb3J0YXVkaW8tc3VwcG9ydCxwb3J0YXVkaW8tdjE5IgorCitkb19jb25maWd1cmVfcHJlcGVuZCAoKSB7CisgICAgcm0gLWYgJHtTfS9tNC8qCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtYWFjZGVjLWNoZWNrLWNoYW5uZWwtY291bnQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtYWFjZGVjLWNoZWNrLWNoYW5uZWwtY291bnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2RhMGUxNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1hYWNkZWMtY2hlY2stY2hhbm5lbC1jb3VudC5wYXRjaApAQCAtMCwwICsxLDM0IEBACitnc3QtZmZtcGVnOiBhYWNkZWM6IGNoZWNrIGNoYW5uZWwgY291bnQKKworUHJldmVudCBvdXQgb2YgYXJyYXkgYWNjZXNzZXMKKworRm91bmQtYnk6IE1hdGV1c3ogImowMHJ1IiBKdXJjenlrIGFuZCBHeW52YWVsIENvbGR3aW5kCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgOTZmNDUyYWM2NDdkYWUzM2M1M2MyNDJlZjMyNjZiNjVhOWJlYWZiNikKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCAKKworU2lnbmVkLW9mZi1ieTogWXVlIFRhbyA8eXVlLnRhb0B3aW5kcml2ZXIuY29tPgorLS0tCisgbGliYXZjb2RlYy9hYWNkZWMuYyB8ICAgIDUgKysrKysKKyAxIGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvYWFjZGVjLmMgYi9saWJhdmNvZGVjL2FhY2RlYy5jCitpbmRleCAyMzkxNTNhLi42YzE3YzMzIDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvYWFjZGVjLmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2FhY2RlYy5jCitAQCAtOTE0LDYgKzkxNCwxMSBAQCBzdGF0aWMgYXZfY29sZCBpbnQgYWFjX2RlY29kZV9pbml0KEFWQ29kZWNDb250ZXh0ICphdmN0eCkKKyAgICAgICAgIH0KKyAgICAgfQorIAorKyAgICBpZiAoYXZjdHgtPmNoYW5uZWxzID4gTUFYX0NIQU5ORUxTKSB7CisrICAgICAgICBhdl9sb2coYXZjdHgsIEFWX0xPR19FUlJPUiwgIlRvbyBtYW55IGNoYW5uZWxzXG4iKTsKKysgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOworKyAgICB9CisrCisgICAgIEFBQ19JTklUX1ZMQ19TVEFUSUMoIDAsIDMwNCk7CisgICAgIEFBQ19JTklUX1ZMQ19TVEFUSUMoIDEsIDI3MCk7CisgICAgIEFBQ19JTklUX1ZMQ19TVEFUSUMoIDIsIDU1MCk7CistLSAKKzEuNy41LjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLWFsYWMtZml4LW5iX3NhbXBsZXMtb3JkZXItY2FzZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1hbGFjLWZpeC1uYl9zYW1wbGVzLW9yZGVyLWNhc2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTBjZTBmMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1hbGFjLWZpeC1uYl9zYW1wbGVzLW9yZGVyLWNhc2UucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbSBlMDg4NGVhZGY2YTE1ZTkzMTQyMTMxYjY5NWY0ODc3NmY5YTBhYzMxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KK0RhdGU6IFNhdCwgMTAgTm92IDIwMTIgMTc6MTQ6MDQgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gYWxhYzogZml4IG5iX3NhbXBsZXMgPCBvcmRlciBjYXNlCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworQ29tbWl0IGUwODg0ZWFkZjZhMTVlOTMxNDIxMzFiNjk1ZjQ4Nzc2ZjlhMGFjMzEgcmVsZWFzZS8xLjAKKworRm91bmQtYnk6IE1hdGV1c3ogImowMHJ1IiBKdXJjenlrIGFuZCBHeW52YWVsIENvbGR3aW5kCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZmQ0ZjQ5MjNjY2U2YTJjYmY0ZjQ4NjQwYjRhYzcwNmU2MTRhMTU5NCkKKy0tLQorIGxpYmF2Y29kZWMvYWxhYy5jIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9hbGFjLmMgYi9saWJhdmNvZGVjL2FsYWMuYworaW5kZXggOWNkMTczNy4uZThlODQ0YSAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2FsYWMuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvYWxhYy5jCitAQCAtMjc4LDcgKzI3OCw3IEBAIHN0YXRpYyB2b2lkIHByZWRpY3Rvcl9kZWNvbXByZXNzX2Zpcl9hZGEKKyAKKyAgICAgLyogcmVhZCB3YXJtLXVwIHNhbXBsZXMgKi8KKyAgICAgaWYgKHByZWRpY3Rvcl9jb2VmX251bSA+IDApCistICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcHJlZGljdG9yX2NvZWZfbnVtOyBpKyspIHsKKysgICAgICAgIGZvciAoaSA9IDA7IGkgPCBwcmVkaWN0b3JfY29lZl9udW0gJiYgaSA8IG91dHB1dF9zaXplOyBpKyspIHsKKyAgICAgICAgICAgICBpbnQzMl90IHZhbDsKKyAKKyAgICAgICAgICAgICB2YWwgPSBidWZmZXJfb3V0W2ldICsgZXJyb3JfYnVmZmVyW2krMV07CistLSAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1hbHNkZWMtY2hlY2stYmxvY2stbGVuZ3RoLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLWFsc2RlYy1jaGVjay1ibG9jay1sZW5ndGgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzM5ODBmNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1hbHNkZWMtY2hlY2stYmxvY2stbGVuZ3RoLnBhdGNoCkBAIC0wLDAgKzEsNjEgQEAKK0Zyb20gNmRmMGQzZTI5MTZjMjIzZGJlNDI2MmJmMWI4NzZkZmYxY2IzZjk4MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBXZWQsIDEyIERlYyAyMDEyIDEyOjI4OjQ1ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGFsc2RlYzogY2hlY2sgYmxvY2sgbGVuZ3RoCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworQ29tbWl0IDZkZjBkM2UyOTE2YzIyM2RiZTQyNjJiZjFiODc2ZGZmMWNiM2Y5ODAgcmVsZWFzZS8xLjAKKworRml4IHdyaXRpbmcgb3ZlciB0aGUgZW5kCisKK0ZvdW5kLWJ5OiBNYXRldXN6ICJqMDBydSIgSnVyY3p5ayBhbmQgR3ludmFlbCBDb2xkd2luZAorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDBjZWNhMjY5YjY2ZWMxMmEyM2JmMDkwN2JkMmMyMjA1MTNjZGJmMTYpCisKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CistLS0KKyBsaWJhdmNvZGVjL2Fsc2RlYy5jIHwgMTAgKysrKysrKystLQorIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJhdmNvZGVjL2Fsc2RlYy5jIGIvbGliYXZjb2RlYy9hbHNkZWMuYworaW5kZXggNDZkZDBiNC4uMTA5NWIwMSAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2Fsc2RlYy5jCisrKysgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9hbHNkZWMuYworQEAgLTU1MiwxMiArNTUyLDE1IEBAIHN0YXRpYyB2b2lkIGdldF9ibG9ja19zaXplcyhBTFNEZWNDb250ZXh0ICpjdHgsIHVuc2lnbmVkIGludCAqZGl2X2Jsb2NrcywKKyAKKyAvKiogUmVhZCB0aGUgYmxvY2sgZGF0YSBmb3IgYSBjb25zdGFudCBibG9jaworICAqLworLXN0YXRpYyB2b2lkIHJlYWRfY29uc3RfYmxvY2tfZGF0YShBTFNEZWNDb250ZXh0ICpjdHgsIEFMU0Jsb2NrRGF0YSAqYmQpCisrc3RhdGljIGludCByZWFkX2NvbnN0X2Jsb2NrX2RhdGEoQUxTRGVjQ29udGV4dCAqY3R4LCBBTFNCbG9ja0RhdGEgKmJkKQorIHsKKyAgICAgQUxTU3BlY2lmaWNDb25maWcgKnNjb25mID0gJmN0eC0+c2NvbmY7CisgICAgIEFWQ29kZWNDb250ZXh0ICphdmN0eCAgICA9IGN0eC0+YXZjdHg7CisgICAgIEdldEJpdENvbnRleHQgKmdiICAgICAgICA9ICZjdHgtPmdiOworIAorKyAgICBpZiAoYmQtPmJsb2NrX2xlbmd0aCA8PSAwKQorKyAgICAgICAgcmV0dXJuIC0xOworKworICAgICAqYmQtPnJhd19zYW1wbGVzID0gMDsKKyAgICAgKmJkLT5jb25zdF9ibG9jayA9IGdldF9iaXRzMShnYik7ICAgIC8vIDEgPSBjb25zdGFudCB2YWx1ZSwgMCA9IHplcm8gYmxvY2sgKHNpbGVuY2UpCisgICAgIGJkLT5qc19ibG9ja3MgICAgPSBnZXRfYml0czEoZ2IpOworQEAgLTU3Miw2ICs1NzUsOCBAQCBzdGF0aWMgdm9pZCByZWFkX2NvbnN0X2Jsb2NrX2RhdGEoQUxTRGVjQ29udGV4dCAqY3R4LCBBTFNCbG9ja0RhdGEgKmJkKQorIAorICAgICAvLyBlbnN1cmUgY29uc3RhbnQgYmxvY2sgZGVjb2RpbmcgYnkgcmV1c2luZyB0aGlzIGZpZWxkCisgICAgICpiZC0+Y29uc3RfYmxvY2sgPSAxOworKworKyAgICByZXR1cm4gMDsKKyB9CisgCisgCitAQCAtOTcxLDcgKzk3Niw4IEBAIHN0YXRpYyBpbnQgcmVhZF9ibG9jayhBTFNEZWNDb250ZXh0ICpjdHgsIEFMU0Jsb2NrRGF0YSAqYmQpCisgICAgICAgICBpZiAocmVhZF92YXJfYmxvY2tfZGF0YShjdHgsIGJkKSkKKyAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgIH0gZWxzZSB7CistICAgICAgICByZWFkX2NvbnN0X2Jsb2NrX2RhdGEoY3R4LCBiZCk7CisrICAgICAgICBpZiAocmVhZF9jb25zdF9ibG9ja19kYXRhKGN0eCwgYmQpIDwgMCkKKysgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgIH0KKyAKKyAgICAgcmV0dXJuIDA7CistLSAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1hdHJhYzNkZWMtQ2hlY2stY29kaW5nLW1vZGUtYWdhaW5zdC1jaGFubmVscy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1hdHJhYzNkZWMtQ2hlY2stY29kaW5nLW1vZGUtYWdhaW5zdC1jaGFubmVscy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MmNiNWY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLWF0cmFjM2RlYy1DaGVjay1jb2RpbmctbW9kZS1hZ2FpbnN0LWNoYW5uZWxzLnBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKK0Zyb20gMjUwMjkxNGM1ZjhlYjc3NjU5ZDdjMDg2ODM5Njg2MjU1N2E2MzI0NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBGcmksIDkgTm92IDIwMTIgMTM6MjY6MjAgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gYXRyYWMzZGVjOiBDaGVjayBjb2RpbmcgbW9kZSBhZ2FpbnN0IGNoYW5uZWxzLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK0NvbW1pdCAyNTAyOTE0YzVmOGViNzc2NTlkN2MwODY4Mzk2ODYyNTU3YTYzMjQ1IHJlbGVhc2UvMS4wCisKK0ZvdW5kLWJ5OiBNYXRldXN6ICJqMDBydSIgSnVyY3p5ayBhbmQgR3ludmFlbCBDb2xkd2luZAorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDEzNDUxZjU1MjBjZTZiMGFmZGU4NjFiMjI4NWRkYTY1OWY4ZDRmYjQpCisKK0NvbmZsaWN0czoKKworCWxpYmF2Y29kZWMvYXRyYWMzLmMKKy0tLQorIGxpYmF2Y29kZWMvYXRyYWMzLmMgfCA1ICsrKysrCisgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9hdHJhYzMuYyBiL2xpYmF2Y29kZWMvYXRyYWMzLmMKK2luZGV4IDdkMDc2YmUuLjFkYTRjNzggMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9hdHJhYzMuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvYXRyYWMzLmMKK0BAIC05NTUsNiArOTU1LDExIEBAIHN0YXRpYyBhdl9jb2xkIGludCBhdHJhYzNfZGVjb2RlX2luaXQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQorICAgICB9CisgICAgIC8qIENoZWNrIHRoZSBleHRyYWRhdGEuICovCisgCisrICAgIGlmIChxLT5jb2RpbmdNb2RlID09IEpPSU5UX1NURVJFTyAmJiBhdmN0eC0+Y2hhbm5lbHMgPCAyKSB7CisrICAgICAgICBhdl9sb2coYXZjdHgsIEFWX0xPR19FUlJPUiwgIkludmFsaWQgY29kaW5nIG1vZGVcbiIpOworKyAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CisrICAgIH0KKysKKyAgICAgaWYgKHEtPmF0cmFjM3ZlcnNpb24gIT0gNCkgeworICAgICAgICAgYXZfbG9nKGF2Y3R4LEFWX0xPR19FUlJPUiwiVmVyc2lvbiAlZCAhPSA0LlxuIixxLT5hdHJhYzN2ZXJzaW9uKTsKKyAgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOworLS0gCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtYXZjb2RlYy1kc3B1dGlsLWZpeC1zaWduZWRuZXNzLWluLXNpemVvZi1jb21wYXJpc3Npby5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1hdmNvZGVjLWRzcHV0aWwtZml4LXNpZ25lZG5lc3MtaW4tc2l6ZW9mLWNvbXBhcmlzc2lvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxZmE1MWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtYXZjb2RlYy1kc3B1dGlsLWZpeC1zaWduZWRuZXNzLWluLXNpemVvZi1jb21wYXJpc3Npby5wYXRjaApAQCAtMCwwICsxLDQwIEBACitGcm9tIGE5OWFmZjRlNGJiZWY4ZTY0YjUxZjI2N2NkMTc2OTIxNGUxYjRlODAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorRGF0ZTogRnJpLCAzMCBBdWcgMjAxMyAyMzo0MDo0NyArMDIwMAorU3ViamVjdDogW1BBVENIXSBhdmNvZGVjL2RzcHV0aWw6IGZpeCBzaWduZWRuZXNzIGluIHNpemVvZigpIGNvbXBhcmlzc2lvbnMKKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDQ1NGExMWExYzljNjg2Yzc4YWE5Nzk1NDMwNmZiNjM0NTMyOTk3NjApCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKy0tLQorIGxpYmF2Y29kZWMvZHNwdXRpbC5jIHwgICAgNCArKy0tCisgMSBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJhdmNvZGVjL2RzcHV0aWwuYyBiL2xpYmF2Y29kZWMvZHNwdXRpbC5jCitpbmRleCA1M2RjMmViLi42MjY0ODMyIDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvZHNwdXRpbC5jCisrKysgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9kc3B1dGlsLmMKK0BAIC0xOTEyLDcgKzE5MTIsNyBAQCB2b2lkIGZmX3NldF9jbXAoRFNQQ29udGV4dCogYywgbWVfY21wX2Z1bmMgKmNtcCwgaW50IHR5cGUpeworIAorIHN0YXRpYyB2b2lkIGFkZF9ieXRlc19jKHVpbnQ4X3QgKmRzdCwgdWludDhfdCAqc3JjLCBpbnQgdyl7CisgICAgIGxvbmcgaTsKKy0gICAgZm9yKGk9MDsgaTw9dy1zaXplb2YobG9uZyk7IGkrPXNpemVvZihsb25nKSl7CisrICAgIGZvcihpPTA7IGk8PXctKGludClzaXplb2YobG9uZyk7IGkrPXNpemVvZihsb25nKSl7CisgICAgICAgICBsb25nIGEgPSAqKGxvbmcqKShzcmMraSk7CisgICAgICAgICBsb25nIGIgPSAqKGxvbmcqKShkc3QraSk7CisgICAgICAgICAqKGxvbmcqKShkc3QraSkgPSAoKGEmcGJfN2YpICsgKGImcGJfN2YpKSBeICgoYV5iKSZwYl84MCk7CitAQCAtMTkzNyw3ICsxOTM3LDcgQEAgc3RhdGljIHZvaWQgZGlmZl9ieXRlc19jKHVpbnQ4X3QgKmRzdCwgdWludDhfdCAqc3JjMSwgdWludDhfdCAqc3JjMiwgaW50IHcpeworICAgICAgICAgfQorICAgICB9ZWxzZQorICNlbmRpZgorLSAgICBmb3IoaT0wOyBpPD13LXNpemVvZihsb25nKTsgaSs9c2l6ZW9mKGxvbmcpKXsKKysgICAgZm9yKGk9MDsgaTw9dy0oaW50KXNpemVvZihsb25nKTsgaSs9c2l6ZW9mKGxvbmcpKXsKKyAgICAgICAgIGxvbmcgYSA9ICoobG9uZyopKHNyYzEraSk7CisgICAgICAgICBsb25nIGIgPSAqKGxvbmcqKShzcmMyK2kpOworICAgICAgICAgKihsb25nKikoZHN0K2kpID0gKChhfHBiXzgwKSAtIChiJnBiXzdmKSkgXiAoKGFeYl5wYl84MCkmcGJfODApOworLS0gCisxLjcuNS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1hdmNvZGVjLW1zcmxlLXVzZS1hdl9pbWFnZV9nZXRfbGluZXNpemUtdG8tY2FsY3VsYXRlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLWF2Y29kZWMtbXNybGUtdXNlLWF2X2ltYWdlX2dldF9saW5lc2l6ZS10by1jYWxjdWxhdGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjBhM2ZiMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1hdmNvZGVjLW1zcmxlLXVzZS1hdl9pbWFnZV9nZXRfbGluZXNpemUtdG8tY2FsY3VsYXRlLnBhdGNoCkBAIC0wLDAgKzEsNTAgQEAKK0Zyb20gNTczZDVmZGVkYWU3MmJmNTlkOGMwYjA3NjZmZGVlMTcxMDYzZDM2ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBTdW4sIDE2IEZlYiAyMDE0IDIzOjA4OjUyICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGF2Y29kZWMvbXNybGU6IHVzZSBhdl9pbWFnZV9nZXRfbGluZXNpemUoKSB0byBjYWxjdWxhdGUgdGhlCisgbGluZXNpemUKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitDb21taXQgNTczZDVmZGVkYWU3MmJmNTlkOGMwYjA3NjZmZGVlMTcxMDYzZDM2ZiByZWxlYXNlLzAuOQorCitGaXhlcyBvdXQgb2YgYXJyYXkgYWNjZXNzCitGaXhlczogMTRhNzRhMGEyZGM2N2VkZTU0M2YwZTM1ZDgzNGZiYmUtYXNhbl9oZWFwLW9vYl80OTU3MmNfNTU2X2Nvdl8yMTU0NjY0NDRfNDRfMDAxX2VuZ2luZV9yb29tLm1vdgorRm91bmQtYnk6IE1hdGV1c3ogImowMHJ1IiBKdXJjenlrIGFuZCBHeW52YWVsIENvbGR3aW5kCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYzkxOWUxY2EyZWNmYzQ3ZDc5NjM4Mjk3M2JhMGU0OGI4ZjZmOTJhMikKKworQ29uZmxpY3RzOgorCisJbGliYXZjb2RlYy9tc3JsZS5jCisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBiYzFjOGVjNWU2NTA5OGZkMmNjZDg0NTZmNjY3MTUxZGZjOWNkYTQyKQorCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorLS0tCisgbGliYXZjb2RlYy9tc3JsZS5jIHwgICAgMyArKy0KKyAxIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvbXNybGUuYyBiL2xpYmF2Y29kZWMvbXNybGUuYworaW5kZXggMzAxNTliYi4uYzM5YWU3YiAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL21zcmxlLmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL21zcmxlLmMKK0BAIC0zNSw2ICszNSw3IEBACisgI2luY2x1ZGUgImF2Y29kZWMuaCIKKyAjaW5jbHVkZSAiZHNwdXRpbC5oIgorICNpbmNsdWRlICJtc3JsZWRlYy5oIgorKyNpbmNsdWRlICJsaWJhdnV0aWwvaW1ndXRpbHMuaCIKKyAKKyB0eXBlZGVmIHN0cnVjdCBNc3JsZUNvbnRleHQgeworICAgICBBVkNvZGVjQ29udGV4dCAqYXZjdHg7CitAQCAtMTA3LDcgKzEwOCw3IEBAIHN0YXRpYyBpbnQgbXNybGVfZGVjb2RlX2ZyYW1lKEFWQ29kZWNDb250ZXh0ICphdmN0eCwKKyAKKyAgICAgLyogRklYTUUgaG93IHRvIGNvcnJlY3RseSBkZXRlY3QgUkxFID8/PyAqLworICAgICBpZiAoYXZjdHgtPmhlaWdodCAqIGlzdHJpZGUgPT0gYXZwa3QtPnNpemUpIHsgLyogYXNzdW1lIHVuY29tcHJlc3NlZCAqLworLSAgICAgICAgaW50IGxpbmVzaXplID0gYXZjdHgtPndpZHRoICogYXZjdHgtPmJpdHNfcGVyX2NvZGVkX3NhbXBsZSAvIDg7CisrICAgICAgICBpbnQgbGluZXNpemUgPSBhdl9pbWFnZV9nZXRfbGluZXNpemUoYXZjdHgtPnBpeF9mbXQsIGF2Y3R4LT53aWR0aCwgMCk7CisgICAgICAgICB1aW50OF90ICpwdHIgPSBzLT5mcmFtZS5kYXRhWzBdOworICAgICAgICAgdWludDhfdCAqYnVmID0gYXZwa3QtPmRhdGEgKyAoYXZjdHgtPmhlaWdodC0xKSppc3RyaWRlOworICAgICAgICAgaW50IGksIGo7CistLSAKKzEuNy41LjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLWF2Y29kZWMtcGFyc2VyLXJlc2V0LWluZGV4ZXMtb24tcmVhbGxvYy1mYWlsdXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLWF2Y29kZWMtcGFyc2VyLXJlc2V0LWluZGV4ZXMtb24tcmVhbGxvYy1mYWlsdXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmZjY1ODMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtYXZjb2RlYy1wYXJzZXItcmVzZXQtaW5kZXhlcy1vbi1yZWFsbG9jLWZhaWx1cmUucGF0Y2gKQEAgLTAsMCArMSw1MCBAQAorZ3N0LWZmbXBlZzogYXZjb2RlYy9wYXJzZXI6IHJlc2V0IGluZGV4ZXMgb24gcmVhbGxvYyBmYWlsdXJlCisKK0ZpeGVzIFRpY2tldDI5ODIKKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGYzMTAxMWU5YWJmYjJhZTc1YmIzMmJjNDRlMmMzNDE5NGM4ZGM0MGEpCisKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgCisKK1NpZ25lZC1vZmYtYnk6IFl1ZSBUYW8gPHl1ZS50YW9Ad2luZHJpdmVyLmNvbT4KKworLS0tCisgbGliYXZjb2RlYy9wYXJzZXIuYyB8ICAgMTAgKysrKysrKy0tLQorIDEgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9wYXJzZXIuYyBiL2xpYmF2Y29kZWMvcGFyc2VyLmMKK2luZGV4IDJjNmRlNmUuLjY2ZWNhMDYgMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9wYXJzZXIuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvcGFyc2VyLmMKK0BAIC0yNDEsOCArMjQxLDEwIEBAIGludCBmZl9jb21iaW5lX2ZyYW1lKFBhcnNlQ29udGV4dCAqcGMsIGludCBuZXh0LCBjb25zdCB1aW50OF90ICoqYnVmLCBpbnQgKmJ1Zl9zCisgICAgIGlmKG5leHQgPT0gRU5EX05PVF9GT1VORCl7CisgICAgICAgICB2b2lkKiBuZXdfYnVmZmVyID0gYXZfZmFzdF9yZWFsbG9jKHBjLT5idWZmZXIsICZwYy0+YnVmZmVyX3NpemUsICgqYnVmX3NpemUpICsgcGMtPmluZGV4ICsgRkZfSU5QVVRfQlVGRkVSX1BBRERJTkdfU0laRSk7CisgCistICAgICAgICBpZighbmV3X2J1ZmZlcikKKysgICAgICAgIGlmKCFuZXdfYnVmZmVyKSB7CisrICAgICAgICAgICAgcGMtPmluZGV4ID0gMDsKKyAgICAgICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOworKyAgICAgICAgfQorICAgICAgICAgcGMtPmJ1ZmZlciA9IG5ld19idWZmZXI7CisgICAgICAgICBtZW1jcHkoJnBjLT5idWZmZXJbcGMtPmluZGV4XSwgKmJ1ZiwgKmJ1Zl9zaXplKTsKKyAgICAgICAgIHBjLT5pbmRleCArPSAqYnVmX3NpemU7CitAQCAtMjU1LDkgKzI1NywxMSBAQCBpbnQgZmZfY29tYmluZV9mcmFtZShQYXJzZUNvbnRleHQgKnBjLCBpbnQgbmV4dCwgY29uc3QgdWludDhfdCAqKmJ1ZiwgaW50ICpidWZfcworICAgICAvKiBhcHBlbmQgdG8gYnVmZmVyICovCisgICAgIGlmKHBjLT5pbmRleCl7CisgICAgICAgICB2b2lkKiBuZXdfYnVmZmVyID0gYXZfZmFzdF9yZWFsbG9jKHBjLT5idWZmZXIsICZwYy0+YnVmZmVyX3NpemUsIG5leHQgKyBwYy0+aW5kZXggKyBGRl9JTlBVVF9CVUZGRVJfUEFERElOR19TSVpFKTsKKy0KKy0gICAgICAgIGlmKCFuZXdfYnVmZmVyKQorKyAgICAgICAgaWYoIW5ld19idWZmZXIpIHsKKysgICAgICAgICAgICBwYy0+b3ZlcnJlYWRfaW5kZXggPQorKyAgICAgICAgICAgIHBjLT5pbmRleCA9IDA7CisgICAgICAgICAgICAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKKysgICAgICAgIH0KKyAgICAgICAgIHBjLT5idWZmZXIgPSBuZXdfYnVmZmVyOworICAgICAgICAgaWYgKG5leHQgPiAtRkZfSU5QVVRfQlVGRkVSX1BBRERJTkdfU0laRSkKKyAgICAgICAgICAgICBtZW1jcHkoJnBjLT5idWZmZXJbcGMtPmluZGV4XSwgKmJ1ZiwKKy0tIAorMS43LjUuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtYXZjb2RlYy1ycHphLVBlcmZvcm0tcG9pbnRlci1hZHZhbmNlLWFuZC1jaGVja3MtYmVmby5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1hdmNvZGVjLXJwemEtUGVyZm9ybS1wb2ludGVyLWFkdmFuY2UtYW5kLWNoZWNrcy1iZWZvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmNmViNDgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtYXZjb2RlYy1ycHphLVBlcmZvcm0tcG9pbnRlci1hZHZhbmNlLWFuZC1jaGVja3MtYmVmby5wYXRjaApAQCAtMCwwICsxLDgxIEBACitnc3QtZmZtcGVnOiBhdmNvZGVjL3JwemE6IFBlcmZvcm0gcG9pbnRlciBhZHZhbmNlIGFuZCBjaGVja3MgYmVmb3JlCisgdXNpbmcgdGhlIHBvaW50ZXJzCisKK0ZpeGVzIG91dCBvZiBhcnJheSBhY2Nlc3NlcworRml4ZXMgVGlja2V0Mjg1MAorCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMzgxOWRiNzQ1ZGEyYWM3ZmIzZmFhY2IxMTY3ODhjMzJmNDc1M2YzNCkKKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCAKKworU2luZ2VkLW9mZi1ieTogWXVlIFRhbyA8eXVlLnRhb0B3aW5kcml2ZXIuY29tPgorCistLS0KKyBsaWJhdmNvZGVjL3JwemEuYyB8ICAgIDggKysrKy0tLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvcnB6YS5jIGIvbGliYXZjb2RlYy9ycHphLmMKK2luZGV4IDYzNWI0MDYuLmYyOTFhOTUgMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9ycHphLmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3JwemEuYworQEAgLTgzLDcgKzgzLDcgQEAgc3RhdGljIHZvaWQgcnB6YV9kZWNvZGVfc3RyZWFtKFJwemFDb250ZXh0ICpzKQorICAgICB1bnNpZ25lZCBzaG9ydCAqcGl4ZWxzID0gKHVuc2lnbmVkIHNob3J0ICopcy0+ZnJhbWUuZGF0YVswXTsKKyAKKyAgICAgaW50IHJvd19wdHIgPSAwOworLSAgICBpbnQgcGl4ZWxfcHRyID0gMDsKKysgICAgaW50IHBpeGVsX3B0ciA9IC00OworICAgICBpbnQgYmxvY2tfcHRyOworICAgICBpbnQgcGl4ZWxfeCwgcGl4ZWxfeTsKKyAgICAgaW50IHRvdGFsX2Jsb2NrczsKK0BAIC0xMzksNiArMTM5LDcgQEAgc3RhdGljIHZvaWQgcnB6YV9kZWNvZGVfc3RyZWFtKFJwemFDb250ZXh0ICpzKQorICAgICAgICAgICAgIGNvbG9yQSA9IEFWX1JCMTYgKCZzLT5idWZbc3RyZWFtX3B0cl0pOworICAgICAgICAgICAgIHN0cmVhbV9wdHIgKz0gMjsKKyAgICAgICAgICAgICB3aGlsZSAobl9ibG9ja3MtLSkgeworKyAgICAgICAgICAgICAgICBBRFZBTkNFX0JMT0NLKCkKKyAgICAgICAgICAgICAgICAgYmxvY2tfcHRyID0gcm93X3B0ciArIHBpeGVsX3B0cjsKKyAgICAgICAgICAgICAgICAgZm9yIChwaXhlbF95ID0gMDsgcGl4ZWxfeSA8IDQ7IHBpeGVsX3krKykgeworICAgICAgICAgICAgICAgICAgICAgZm9yIChwaXhlbF94ID0gMDsgcGl4ZWxfeCA8IDQ7IHBpeGVsX3grKyl7CitAQCAtMTQ3LDcgKzE0OCw2IEBAIHN0YXRpYyB2b2lkIHJwemFfZGVjb2RlX3N0cmVhbShScHphQ29udGV4dCAqcykKKyAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgIGJsb2NrX3B0ciArPSByb3dfaW5jOworICAgICAgICAgICAgICAgICB9CistICAgICAgICAgICAgICAgIEFEVkFOQ0VfQkxPQ0soKTsKKyAgICAgICAgICAgICB9CisgICAgICAgICAgICAgYnJlYWs7CisgCitAQCAtMTg0LDYgKzE4NCw3IEBAIHN0YXRpYyB2b2lkIHJwemFfZGVjb2RlX3N0cmVhbShScHphQ29udGV4dCAqcykKKyAgICAgICAgICAgICBjb2xvcjRbMl0gfD0gKCgyMSAqIHRhICsgMTEgKiB0YikgPj4gNSk7CisgCisgICAgICAgICAgICAgd2hpbGUgKG5fYmxvY2tzLS0pIHsKKysgICAgICAgICAgICAgICAgQURWQU5DRV9CTE9DSygpOworICAgICAgICAgICAgICAgICBibG9ja19wdHIgPSByb3dfcHRyICsgcGl4ZWxfcHRyOworICAgICAgICAgICAgICAgICBmb3IgKHBpeGVsX3kgPSAwOyBwaXhlbF95IDwgNDsgcGl4ZWxfeSsrKSB7CisgICAgICAgICAgICAgICAgICAgICBpbmRleCA9IHMtPmJ1ZltzdHJlYW1fcHRyKytdOworQEAgLTE5NCwxMiArMTk1LDEyIEBAIHN0YXRpYyB2b2lkIHJwemFfZGVjb2RlX3N0cmVhbShScHphQ29udGV4dCAqcykKKyAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgIGJsb2NrX3B0ciArPSByb3dfaW5jOworICAgICAgICAgICAgICAgICB9CistICAgICAgICAgICAgICAgIEFEVkFOQ0VfQkxPQ0soKTsKKyAgICAgICAgICAgICB9CisgICAgICAgICAgICAgYnJlYWs7CisgCisgICAgICAgICAvKiBGaWxsIGJsb2NrIHdpdGggMTYgY29sb3JzICovCisgICAgICAgICBjYXNlIDB4MDA6CisrICAgICAgICAgICAgQURWQU5DRV9CTE9DSygpOworICAgICAgICAgICAgIGJsb2NrX3B0ciA9IHJvd19wdHIgKyBwaXhlbF9wdHI7CisgICAgICAgICAgICAgZm9yIChwaXhlbF95ID0gMDsgcGl4ZWxfeSA8IDQ7IHBpeGVsX3krKykgeworICAgICAgICAgICAgICAgICBmb3IgKHBpeGVsX3ggPSAwOyBwaXhlbF94IDwgNDsgcGl4ZWxfeCsrKXsKK0BAIC0yMTMsNyArMjE0LDYgQEAgc3RhdGljIHZvaWQgcnB6YV9kZWNvZGVfc3RyZWFtKFJwemFDb250ZXh0ICpzKQorICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgIGJsb2NrX3B0ciArPSByb3dfaW5jOworICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICBBRFZBTkNFX0JMT0NLKCk7CisgICAgICAgICAgICAgYnJlYWs7CisgCisgICAgICAgICAvKiBVbmtub3duIG9wY29kZSAqLworLS0gCisxLjcuNS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1hdmNvZGVjLXNtYy1maXgtb2ZmLWJ5LTEtZXJyb3IucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtYXZjb2RlYy1zbWMtZml4LW9mZi1ieS0xLWVycm9yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjYTZmYzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtYXZjb2RlYy1zbWMtZml4LW9mZi1ieS0xLWVycm9yLnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Zyb20gYzE3YTBhZDFkZjE1YTk0ZDBiMTIzOWFkYzJhZmI1OTNiZGYwYTE1MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBGcmksIDMgT2N0IDIwMTQgMjI6NTA6NDUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzJdIGF2Y29kZWMvc21jOiBmaXggb2ZmIGJ5IDEgZXJyb3IKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitGaXhlcyBvdXQgb2YgYXJyYXkgYWNjZXNzCitGaXhlczogYXNhbl9oZWFwLW9vYl8xNjg1YmYwXzVfYXNhbl9oZWFwLW9vYl8xZjM1MTE2XzQzMF9zbWMubW92CisKK0ZvdW5kLWJ5OiBNYXRldXN6ICJqMDBydSIgSnVyY3p5ayBhbmQgR3ludmFlbCBDb2xkd2luZAorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKy0tLQorIGxpYmF2Y29kZWMvc21jLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9zbWMuYyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3NtYy5jCitpbmRleCAzY2Q1ZTUzLi5kZWM5ZjcxIDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvc21jLmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3NtYy5jCitAQCAtNjksNyArNjksNyBAQCB0eXBlZGVmIHN0cnVjdCBTbWNDb250ZXh0IHsKKyAgICAgICAgIHJvd19wdHIgKz0gc3RyaWRlICogNDsgXAorICAgICB9IFwKKyAgICAgdG90YWxfYmxvY2tzLS07IFwKKy0gICAgaWYgKHRvdGFsX2Jsb2NrcyA8IDApIFwKKysgICAgaWYgKHRvdGFsX2Jsb2NrcyA8IDAgKyAhIW5fYmxvY2tzKSBcCisgICAgIHsgXAorICAgICAgICAgYXZfbG9nKHMtPmF2Y3R4LCBBVl9MT0dfSU5GTywgIndhcm5pbmc6IGJsb2NrIGNvdW50ZXIganVzdCB3ZW50IG5lZ2F0aXZlICh0aGlzIHNob3VsZCBub3QgaGFwcGVuKVxuIik7IFwKKyAgICAgICAgIHJldHVybjsgXAorLS0gCisyLjEuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtYXZmb3JtYXQtbXBlZ3RzZW5jLUNoZWNrLWRhdGEtYXJyYXktc2l6ZS1pbi1tcGVndHNfdy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1hdmZvcm1hdC1tcGVndHNlbmMtQ2hlY2stZGF0YS1hcnJheS1zaXplLWluLW1wZWd0c193LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4YmI2NmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtYXZmb3JtYXQtbXBlZ3RzZW5jLUNoZWNrLWRhdGEtYXJyYXktc2l6ZS1pbi1tcGVndHNfdy5wYXRjaApAQCAtMCwwICsxLDY5IEBACitGcm9tIDEyNzcwNzAxODU2YTA1YjZiM2NkNzA2ZjcwOGY4ZTlhNGU4YTEzMzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorRGF0ZTogVGh1LCAxMyBGZWIgMjAxNCAxMzo1OTo1MSArMDEwMAorU3ViamVjdDogW1BBVENIXSBhdmZvcm1hdC9tcGVndHNlbmM6IENoZWNrIGRhdGEgYXJyYXkgc2l6ZSBpbgorIG1wZWd0c193cml0ZV9wbXQoKQorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK0NPbW1pdCAxMjc3MDcwMTg1NmEwNWI2YjNjZDcwNmY3MDhmOGU5YTRlOGExMzM2IHJlbGVhc2UvMC4xMQorCitQcmV2ZW50cyBvdXQgb2YgYXJyYXkgd3JpdGVzCisKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA4NDJiNmMxNGJjZmMxYzVkYTFhMmQyODhmZDY1Mzg2ZWI4YzE1OGFkKQorCitDb25mbGljdHM6CisKKwlsaWJhdmZvcm1hdC9tcGVndHNlbmMuYworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZTg3ZGUzZjUwYjc2NTEzNDU4OGQwYjA0OGMzMmVkNGI4YWNjMTZmYikKKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKy0tLQorIGxpYmF2Zm9ybWF0L21wZWd0c2VuYy5jIHwgICAgOSArKysrKysrLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L21wZWd0c2VuYy5jIGIvbGliYXZmb3JtYXQvbXBlZ3RzZW5jLmMKK2luZGV4IDc5M2UyMDUuLmExMmQxOWYgMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZmb3JtYXQvbXBlZ3RzZW5jLmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmZvcm1hdC9tcGVndHNlbmMuYworQEAgLTI0MCw3ICsyNDAsNyBAQCBzdGF0aWMgdm9pZCBtcGVndHNfd3JpdGVfcGF0KEFWRm9ybWF0Q29udGV4dCAqcykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEsIHEgLSBkYXRhKTsKKyB9CisgCistc3RhdGljIHZvaWQgbXBlZ3RzX3dyaXRlX3BtdChBVkZvcm1hdENvbnRleHQgKnMsIE1wZWdUU1NlcnZpY2UgKnNlcnZpY2UpCisrc3RhdGljIGludCBtcGVndHNfd3JpdGVfcG10KEFWRm9ybWF0Q29udGV4dCAqcywgTXBlZ1RTU2VydmljZSAqc2VydmljZSkKKyB7CisgICAgIC8vICAgIE1wZWdUU1dyaXRlICp0cyA9IHMtPnByaXZfZGF0YTsKKyAgICAgdWludDhfdCBkYXRhWzEwMTJdLCAqcSwgKmRlc2NfbGVuZ3RoX3B0ciwgKnByb2dyYW1faW5mb19sZW5ndGhfcHRyOworQEAgLTI5Myw2ICsyOTMsMTAgQEAgc3RhdGljIHZvaWQgbXBlZ3RzX3dyaXRlX3BtdChBVkZvcm1hdENvbnRleHQgKnMsIE1wZWdUU1NlcnZpY2UgKnNlcnZpY2UpCisgICAgICAgICAgICAgc3RyZWFtX3R5cGUgPSBTVFJFQU1fVFlQRV9QUklWQVRFX0RBVEE7CisgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICB9CisrCisrICAgICAgICBpZiAocSAtIGRhdGEgPiBzaXplb2YoZGF0YSkgLSAzMikKKysgICAgICAgICAgICByZXR1cm4gQVZFUlJPUihFSU5WQUwpOworKworICAgICAgICAgKnErKyA9IHN0cmVhbV90eXBlOworICAgICAgICAgcHV0MTYoJnEsIDB4ZTAwMCB8IHRzX3N0LT5waWQpOworICAgICAgICAgZGVzY19sZW5ndGhfcHRyID0gcTsKK0BAIC0zMjQsNyArMzI4LDcgQEAgc3RhdGljIHZvaWQgbXBlZ3RzX3dyaXRlX3BtdChBVkZvcm1hdENvbnRleHQgKnMsIE1wZWdUU1NlcnZpY2UgKnNlcnZpY2UpCisgICAgICAgICAgICAgICAgIGxlbl9wdHIgPSBxKys7CisgICAgICAgICAgICAgICAgICpsZW5fcHRyID0gMDsKKyAKKy0gICAgICAgICAgICAgICAgZm9yIChwID0gbGFuZy0+dmFsdWU7IG5leHQgJiYgKmxlbl9wdHIgPCAyNTUgLyA0ICogNDsgcCA9IG5leHQgKyAxKSB7CisrICAgICAgICAgICAgICAgIGZvciAocCA9IGxhbmctPnZhbHVlOyBuZXh0ICYmICpsZW5fcHRyIDwgMjU1IC8gNCAqIDQgJiYgcSAtIGRhdGEgPCBzaXplb2YoZGF0YSkgLSA0OyBwID0gbmV4dCArIDEpIHsKKyAgICAgICAgICAgICAgICAgICAgIG5leHQgPSBzdHJjaHIocCwgJywnKTsKKyAgICAgICAgICAgICAgICAgICAgIGlmIChzdHJsZW4ocCkgIT0gMyAmJiAoIW5leHQgfHwgbmV4dCAhPSBwICsgMykpCisgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7IC8qIG5vdCBhIDMtbGV0dGVyIGNvZGUgKi8KK0BAIC0zODYsNiArMzkwLDcgQEAgc3RhdGljIHZvaWQgbXBlZ3RzX3dyaXRlX3BtdChBVkZvcm1hdENvbnRleHQgKnMsIE1wZWdUU1NlcnZpY2UgKnNlcnZpY2UpCisgICAgIH0KKyAgICAgbXBlZ3RzX3dyaXRlX3NlY3Rpb24xKCZzZXJ2aWNlLT5wbXQsIFBNVF9USUQsIHNlcnZpY2UtPnNpZCwgMCwgMCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEsIHEgLSBkYXRhKTsKKysgICAgcmV0dXJuIDA7CisgfQorIAorIC8qIE5PVEU6IHN0ciA9PSBOVUxMIGlzIGFjY2VwdGVkIGZvciBhbiBlbXB0eSBzdHJpbmcgKi8KKy0tIAorMS43LjUuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtZWFtYWQtZml4LW91dC1vZi1hcnJheS1hY2Nlc3Nlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1lYW1hZC1maXgtb3V0LW9mLWFycmF5LWFjY2Vzc2VzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0NWUzZmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtZWFtYWQtZml4LW91dC1vZi1hcnJheS1hY2Nlc3Nlcy5wYXRjaApAQCAtMCwwICsxLDI5IEBACitGcm9tIDYzYWM2NDg2NGM2ZTBlODQzNTVhYTNjYWE1YjkyMjA4OTk3YTlhOGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorRGF0ZTogU2F0LCAxNyBOb3YgMjAxMiAxNjoyNjo1NSArMDEwMAorU3ViamVjdDogW1BBVENIXSBlYW1hZDogZml4IG91dCBvZiBhcnJheSBhY2Nlc3NlcworCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK0NvbW1pdCA2M2FjNjQ4NjRjNmUwZTg0MzU1YWEzY2FhNWI5MjIwODk5N2E5YThkIHJlbGVhc2UvMS4xCisKK0ZvdW5kLWJ5OiBNYXRldXN6ICJqMDBydSIgSnVyY3p5ayBhbmQgR3ludmFlbCBDb2xkd2luZAorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKy0tLQorIGxpYmF2Y29kZWMvZWFtYWQuYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvZWFtYWQuYyBiL2xpYmF2Y29kZWMvZWFtYWQuYworaW5kZXggMjgwNTE5NS4uZTM4NjUwZSAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2VhbWFkLmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2VhbWFkLmMKK0BAIC0yMzcsNyArMjM3LDcgQEAgc3RhdGljIGludCBkZWNvZGVfZnJhbWUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LAorICAgICBpbnQgY2h1bmtfdHlwZTsKKyAgICAgaW50IGludGVyOworIAorLSAgICBpZiAoYnVmX3NpemUgPCAxNykgeworKyAgICBpZiAoYnVmX3NpemUgPCAyNikgeworICAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfRVJST1IsICJJbnB1dCBidWZmZXIgdG9vIHNtYWxsXG4iKTsKKyAgICAgICAgICpkYXRhX3NpemUgPSAwOworICAgICAgICAgcmV0dXJuIC0xOworLS0gCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtZXJyb3ItY29uY2VhbG1lbnQtaW5pdGlhbGl6ZS1ibG9jay1pbmRleC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1lcnJvci1jb25jZWFsbWVudC1pbml0aWFsaXplLWJsb2NrLWluZGV4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwZTQyMzkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtZXJyb3ItY29uY2VhbG1lbnQtaW5pdGlhbGl6ZS1ibG9jay1pbmRleC5wYXRjaApAQCAtMCwwICsxLDI5IEBACitnc3QtZmZtcGVnOiBlcnJvciBjb25jZWFsbWVudDogaW5pdGlhbGl6ZSBibG9jayBpbmRleC4KKworRml4ZXMgQ1ZFLTIwMTEtMzk0MSAob3V0IG9mIGJvdW5kcyB3cml0ZSkKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCAKKworRm91bmQtYnk6IE1hdGV1c3ogImowMHJ1IiBKdXJjenlrIGFuZCBHeW52YWVsIENvbGR3aW5kCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorLS0tCisgbGliYXZjb2RlYy9lcnJvcl9yZXNpbGllbmNlLmMgfCAgICAzICsrKworIDEgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9lcnJvcl9yZXNpbGllbmNlLmMgYi9saWJhdmNvZGVjL2Vycm9yX3Jlc2lsaWVuY2UuYworaW5kZXggOGJiNWQwYy4uZDU1YzAwMCAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2Vycm9yX3Jlc2lsaWVuY2UuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvZXJyb3JfcmVzaWxpZW5jZS5jCitAQCAtNDUsNiArNDUsOSBAQCBzdGF0aWMgdm9pZCBkZWNvZGVfbWIoTXBlZ0VuY0NvbnRleHQgKnMsIGludCByZWYpeworICAgICBzLT5kZXN0WzFdID0gcy0+Y3VycmVudF9waWN0dXJlLmRhdGFbMV0gKyAocy0+bWJfeSAqICgxNj4+cy0+Y2hyb21hX3lfc2hpZnQpICogcy0+dXZsaW5lc2l6ZSkgKyBzLT5tYl94ICogKDE2Pj5zLT5jaHJvbWFfeF9zaGlmdCk7CisgICAgIHMtPmRlc3RbMl0gPSBzLT5jdXJyZW50X3BpY3R1cmUuZGF0YVsyXSArIChzLT5tYl95ICogKDE2Pj5zLT5jaHJvbWFfeV9zaGlmdCkgKiBzLT51dmxpbmVzaXplKSArIHMtPm1iX3ggKiAoMTY+PnMtPmNocm9tYV94X3NoaWZ0KTsKKyAKKysgICAgZmZfaW5pdF9ibG9ja19pbmRleChzKTsKKysgICAgZmZfdXBkYXRlX2Jsb2NrX2luZGV4KHMpOworKworICAgICBpZihDT05GSUdfSDI2NF9ERUNPREVSICYmIHMtPmNvZGVjX2lkID09IENPREVDX0lEX0gyNjQpeworICAgICAgICAgSDI2NENvbnRleHQgKmg9ICh2b2lkKilzOworICAgICAgICAgaC0+bWJfeHk9IHMtPm1iX3ggKyBzLT5tYl95KnMtPm1iX3N0cmlkZTsKKy0tIAorMS43LjUuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtZXJyb3JfY29uY2VhbG1lbnQtQ2hlY2stdGhhdC10aGUtcGljdHVyZS1pcy1ub3QtaW4tYS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1lcnJvcl9jb25jZWFsbWVudC1DaGVjay10aGF0LXRoZS1waWN0dXJlLWlzLW5vdC1pbi1hLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlZWY2ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtZXJyb3JfY29uY2VhbG1lbnQtQ2hlY2stdGhhdC10aGUtcGljdHVyZS1pcy1ub3QtaW4tYS5wYXRjaApAQCAtMCwwICsxLDM3IEBACitnc3QtZmZtcGVnOiBlcnJvcl9jb25jZWFsbWVudDogQ2hlY2sgdGhhdCB0aGUgcGljdHVyZSBpcyBub3QgaW4gYSBoYWxmCisKK0ZpeGVzIHN0YXRlIGJlY29taW5nIGluY29uc2lzdGVudAorRml4ZXMgYSBudWxsIHBvaW50ZXIgZGVyZWZlcmVuY2UKKworRm91bmQtYnk6IE1hdGV1c3ogImowMHJ1IiBKdXJjenlrIGFuZCBHeW52YWVsIENvbGR3aW5kCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMjMzMThhNTczNTgzNThlN2E0ZGM1NTFlODMwZTQ1MDNmMDYzOGNmZSkKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCAKKworU2lnbmVkLW9mZi1ieTogWXVlIFRhbyA8eXVlLnRhb0B3aW5kcml2ZXIuY29tPgorCistLS0KKyBsaWJhdmNvZGVjL2Vycm9yX3Jlc2lsaWVuY2UuYyB8ICAgIDYgKysrKysrCisgMSBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJhdmNvZGVjL2Vycm9yX3Jlc2lsaWVuY2UuYyBiL2xpYmF2Y29kZWMvZXJyb3JfcmVzaWxpZW5jZS5jCitpbmRleCAwMWY3NDI0Li4yYjZiYzQyIDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvZXJyb3JfcmVzaWxpZW5jZS5jCisrKysgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9lcnJvcl9yZXNpbGllbmNlLmMKK0BAIC03OTMsNiArNzkzLDEyIEBAIHZvaWQgZmZfZXJfZnJhbWVfZW5kKE1wZWdFbmNDb250ZXh0ICpzKXsKKyAgICAgICAgcy0+cGljdHVyZV9zdHJ1Y3R1cmUgIT0gUElDVF9GUkFNRSB8fCAvLyB3ZSBkb250IHN1cHBvcnQgRVIgb2YgZmllbGQgcGljdHVyZXMgeWV0LCB0aG91Z2ggaXQgc2hvdWxkIG5vdCBjcmFzaCBpZiBlbmFibGVkCisgICAgICAgIHMtPmVycm9yX2NvdW50PT0zKnMtPm1iX3dpZHRoKihzLT5hdmN0eC0+c2tpcF90b3AgKyBzLT5hdmN0eC0+c2tpcF9ib3R0b20pKSByZXR1cm47CisgCisrICAgIGlmICggICBzLT5waWN0dXJlX3N0cnVjdHVyZSA9PSBQSUNUX0ZSQU1FCisrICAgICAgICAmJiBzLT5jdXJyZW50X3BpY3R1cmUubGluZXNpemVbMF0gIT0gcy0+Y3VycmVudF9waWN0dXJlX3B0ci0+bGluZXNpemVbMF0pIHsKKysgICAgICAgIGF2X2xvZyhzLT5hdmN0eCwgQVZfTE9HX0VSUk9SLCAiRXJyb3IgY29uY2VhbG1lbnQgbm90IHBvc3NpYmxlLCBmcmFtZSBub3QgZnVsbHkgaW5pdGlhbGl6ZWRcbiIpOworKyAgICAgICAgcmV0dXJuOworKyAgICB9CisrCisgICAgIGlmKHMtPmN1cnJlbnRfcGljdHVyZS5tb3Rpb25fdmFsWzBdID09IE5VTEwpeworICAgICAgICAgYXZfbG9nKHMtPmF2Y3R4LCBBVl9MT0dfRVJST1IsICJXYXJuaW5nIE1WcyBub3QgYXZhaWxhYmxlXG4iKTsKKyAKKy0tIAorMS43LjUuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtZmZzZXJ2ZXItc2V0LW9mb3JtYXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtZmZzZXJ2ZXItc2V0LW9mb3JtYXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODAzMjVkYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1mZnNlcnZlci1zZXQtb2Zvcm1hdC5wYXRjaApAQCAtMCwwICsxLDM2IEBACitnc3QtZmZtcGVnOiBmZnNlcnZlcjogc2V0IG9mb3JtYXQKKworRml4IFRpY2tldDE5ODYKKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGNiZTQzZTYyYzlhYzdkNGFlZmRjMTM0NzZmNmY2OTFiZDYyNjUyNWYpCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgCisKKy0tLQorIGZmc2VydmVyLmMgfCAgICA0ICsrKy0KKyAxIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2Zmc2VydmVyLmMgYi9mZnNlcnZlci5jCitpbmRleCA0MDQ0ZDBmLi44NzQwMTQwIDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2Zmc2VydmVyLmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9mZnNlcnZlci5jCitAQCAtMjkzNywxMiArMjkzNywxNCBAQCBzdGF0aWMgaW50IHByZXBhcmVfc2RwX2Rlc2NyaXB0aW9uKEZGU3RyZWFtICpzdHJlYW0sIHVpbnQ4X3QgKipwYnVmZmVyLAorIHsKKyAgICAgQVZGb3JtYXRDb250ZXh0ICphdmM7CisgICAgIEFWU3RyZWFtICphdnMgPSBOVUxMOworKyAgICBBVk91dHB1dEZvcm1hdCAqcnRwX2Zvcm1hdCA9IGF2X2d1ZXNzX2Zvcm1hdCgicnRwIiwgTlVMTCwgTlVMTCk7CisgICAgIGludCBpOworIAorICAgICBhdmMgPSAgYXZmb3JtYXRfYWxsb2NfY29udGV4dCgpOworLSAgICBpZiAoYXZjID09IE5VTEwpIHsKKysgICAgaWYgKGF2YyA9PSBOVUxMIHx8ICFydHBfZm9ybWF0KSB7CisgICAgICAgICByZXR1cm4gLTE7CisgICAgIH0KKysgICAgYXZjLT5vZm9ybWF0ID0gcnRwX2Zvcm1hdDsKKyAgICAgYXZfZGljdF9zZXQoJmF2Yy0+bWV0YWRhdGEsICJ0aXRsZSIsCisgICAgICAgICAgICAgICAgc3RyZWFtLT50aXRsZVswXSA/IHN0cmVhbS0+dGl0bGUgOiAiTm8gVGl0bGUiLCAwKTsKKyAgICAgYXZjLT5uYl9zdHJlYW1zID0gc3RyZWFtLT5uYl9zdHJlYW1zOworLS0gCisxLjcuNS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1oMjY0LWNvcnJlY3QtcmVmLWNvdW50LWNoZWNrLWFuZC1saW1pdC1maXgtb3V0LW9mLWFyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLWgyNjQtY29ycmVjdC1yZWYtY291bnQtY2hlY2stYW5kLWxpbWl0LWZpeC1vdXQtb2YtYXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDRmNTViMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1oMjY0LWNvcnJlY3QtcmVmLWNvdW50LWNoZWNrLWFuZC1saW1pdC1maXgtb3V0LW9mLWFyLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Zyb20gZDZjMTg0ODgwZWUyZTA5ZmQ2OGMwYWUyMTcxNzM4MzJjZWU1YWZjMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBTdW4sIDE4IE5vdiAyMDEyIDE2OjI5OjA0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGgyNjQ6IGNvcnJlY3QgcmVmIGNvdW50IGNoZWNrIGFuZCBsaW1pdCwgZml4IG91dCBvZiBhcnJheQorIGFjY2Vzc2VzLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK0ZvdW5kLWJ5OiBNYXRldXN6ICJqMDBydSIgSnVyY3p5ayBhbmQgR3ludmFlbCBDb2xkd2luZAorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKy0tLQorIGxpYmF2Y29kZWMvaDI2NC5jIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9oMjY0LmMgYi9saWJhdmNvZGVjL2gyNjQuYworaW5kZXggZGE0M2YxZS4uMzJjZWRlNSAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2gyNjQuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvaDI2NC5jCitAQCAtMjg3MCw2ICsyODcwLDkgQEAgc3RhdGljIGludCBkZWNvZGVfc2xpY2VfaGVhZGVyKEgyNjRDb250ZQorICAgICAgICAgICAgIGgtPnJlZl9jb3VudFswXT0gZ2V0X3VlX2dvbG9tYigmcy0+Z2IpICsgMTsKKyAgICAgICAgICAgICBpZihoLT5zbGljZV90eXBlX25vcz09QVZfUElDVFVSRV9UWVBFX0IpCisgICAgICAgICAgICAgICAgIGgtPnJlZl9jb3VudFsxXT0gZ2V0X3VlX2dvbG9tYigmcy0+Z2IpICsgMTsKKysgICAgICAgICAgICBlbHNlCisrICAgICAgICAgICAgICAgIC8vIGZ1bGwgcmFuZ2UgaXMgc3BlYy1vayBpbiB0aGlzIGNhc2UsIGV2ZW4gZm9yIGZyYW1lcworKyAgICAgICAgICAgICAgICBoLT5yZWZfY291bnRbMV0gPSAxOworIAorICAgICAgICAgICAgIGlmKGgtPnJlZl9jb3VudFswXS0xID4gMzItMSB8fCBoLT5yZWZfY291bnRbMV0tMSA+IDMyLTEpeworICAgICAgICAgICAgICAgICBhdl9sb2coaC0+cy5hdmN0eCwgQVZfTE9HX0VSUk9SLCAicmVmZXJlbmNlIG92ZXJmbG93XG4iKTsKKy0tIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLWgyNjQtc2V0LXBhcmFtZXRlcnMtZnJvbS1TUFMtd2hlbmV2ZXItaXQtY2hhbmdlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1oMjY0LXNldC1wYXJhbWV0ZXJzLWZyb20tU1BTLXdoZW5ldmVyLWl0LWNoYW5nZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDVhOWRlMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1oMjY0LXNldC1wYXJhbWV0ZXJzLWZyb20tU1BTLXdoZW5ldmVyLWl0LWNoYW5nZXMucGF0Y2gKQEAgLTAsMCArMSwxNDUgQEAKK2dzdC1mZm1wZWc6IGgyNjQ6IHNldCBwYXJhbWV0ZXJzIGZyb20gU1BTIHdoZW5ldmVyIGl0IGNoYW5nZXMKKyAgICAKK0ZpeGVzIGEgY3Jhc2ggaW4gdGhlIGZ1enplZCBzYW1wbGUgc2FtcGxlX3ZhclBBUi5hdmlfczI2NjM4IHdpdGgKK2FsdGVybmF0aW5nIGJpdCBkZXB0aHMuCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworU2lnbmVkLW9mZi1ieTogWXVlIFRhbyA8eXVlLnRhb0B3aW5kcml2ZXIuY29tPgorCitkaWZmIC0tZ2l0IGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvaDI2NC5jLm9sZCBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2gyNjQuYworaW5kZXggMzYyMWY0MS4uNzE4OTA2YSAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2gyNjQuYy5vbGQKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2gyNjQuYworQEAgLTI0OTEsNiArMjQ5MSwzNCBAQCBpbnQgZmZfaDI2NF9nZXRfcHJvZmlsZShTUFMgKnNwcykKKyAgICAgcmV0dXJuIHByb2ZpbGU7CisgfQorIAorK3N0YXRpYyBpbnQgaDI2NF9zZXRfcGFyYW1ldGVyX2Zyb21fc3BzKEgyNjRDb250ZXh0ICpoKQorK3sKKysgICAgTXBlZ0VuY0NvbnRleHQgKnMgPSAmaC0+czsKKysgICAgQVZDb2RlY0NvbnRleHQgKiBhdmN0eD0gcy0+YXZjdHg7CisrCisrICAgIGlmIChzLT5mbGFncyYgQ09ERUNfRkxBR19MT1dfREVMQVkgfHwKKysgICAgICAgIChoLT5zcHMuYml0c3RyZWFtX3Jlc3RyaWN0aW9uX2ZsYWcgJiYgIWgtPnNwcy5udW1fcmVvcmRlcl9mcmFtZXMpKQorKyAgICAgICAgcy0+bG93X2RlbGF5PTE7CisrCisrICAgIGlmKGF2Y3R4LT5oYXNfYl9mcmFtZXMgPCAyKQorKyAgICAgICAgYXZjdHgtPmhhc19iX2ZyYW1lcz0gIXMtPmxvd19kZWxheTsKKysKKysgICAgaWYgKGF2Y3R4LT5iaXRzX3Blcl9yYXdfc2FtcGxlICE9IGgtPnNwcy5iaXRfZGVwdGhfbHVtYSkgeworKyAgICAgICAgaWYgKGgtPnNwcy5iaXRfZGVwdGhfbHVtYSA+PSA4ICYmIGgtPnNwcy5iaXRfZGVwdGhfbHVtYSA8PSAxMCkgeworKyAgICAgICAgICAgIGF2Y3R4LT5iaXRzX3Blcl9yYXdfc2FtcGxlID0gaC0+c3BzLmJpdF9kZXB0aF9sdW1hOworKyAgICAgICAgICAgIGgtPnBpeGVsX3NoaWZ0ID0gaC0+c3BzLmJpdF9kZXB0aF9sdW1hID4gODsKKysKKysgICAgICAgICAgICBmZl9oMjY0ZHNwX2luaXQoJmgtPmgyNjRkc3AsIGgtPnNwcy5iaXRfZGVwdGhfbHVtYSk7CisrICAgICAgICAgICAgZmZfaDI2NF9wcmVkX2luaXQoJmgtPmhwYywgcy0+Y29kZWNfaWQsIGgtPnNwcy5iaXRfZGVwdGhfbHVtYSk7CisrICAgICAgICAgICAgZHNwdXRpbF9pbml0KCZzLT5kc3AsIHMtPmF2Y3R4KTsKKysgICAgICAgIH0gZWxzZSB7CisrICAgICAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfREVCVUcsICJVbnN1cHBvcnRlZCBiaXQgZGVwdGg6ICVkXG4iLCBoLT5zcHMuYml0X2RlcHRoX2x1bWEpOworKyAgICAgICAgICAgIHJldHVybiAtMTsKKysgICAgICAgIH0KKysgICAgfQorKyAgICByZXR1cm4gMDsKKyt9CisrCisgLyoqCisgICogZGVjb2RlcyBhIHNsaWNlIGhlYWRlci4KKyAgKiBUaGlzIHdpbGwgYWxzbyBjYWxsIE1QVl9jb21tb25faW5pdCgpIGFuZCBmcmFtZV9zdGFydCgpIGFzIG5lZWRlZC4KK0BAIC0yNTA1LDcgKzI1MzMsNyBAQCBzdGF0aWMgaW50IGRlY29kZV9zbGljZV9oZWFkZXIoSDI2NENvbnRleHQgKmgsIEgyNjRDb250ZXh0ICpoMCl7CisgICAgIE1wZWdFbmNDb250ZXh0ICogY29uc3QgczAgPSAmaDAtPnM7CisgICAgIHVuc2lnbmVkIGludCBmaXJzdF9tYl9pbl9zbGljZTsKKyAgICAgdW5zaWduZWQgaW50IHBwc19pZDsKKy0gICAgaW50IG51bV9yZWZfaWR4X2FjdGl2ZV9vdmVycmlkZV9mbGFnOworKyAgICBpbnQgbnVtX3JlZl9pZHhfYWN0aXZlX292ZXJyaWRlX2ZsYWcsIHJldDsKKyAgICAgdW5zaWduZWQgaW50IHNsaWNlX3R5cGUsIHRtcCwgaSwgajsKKyAgICAgaW50IGRlZmF1bHRfcmVmX2xpc3RfZG9uZSA9IDA7CisgICAgIGludCBsYXN0X3BpY19zdHJ1Y3R1cmU7CitAQCAtMjU2OSw3ICsyNTk3LDE3IEBAIHN0YXRpYyBpbnQgZGVjb2RlX3NsaWNlX2hlYWRlcihIMjY0Q29udGV4dCAqaCwgSDI2NENvbnRleHQgKmgwKXsKKyAgICAgICAgIGF2X2xvZyhoLT5zLmF2Y3R4LCBBVl9MT0dfRVJST1IsICJub24tZXhpc3RpbmcgU1BTICV1IHJlZmVyZW5jZWRcbiIsIGgtPnBwcy5zcHNfaWQpOworICAgICAgICAgcmV0dXJuIC0xOworICAgICB9CistICAgIGgtPnNwcyA9ICpoMC0+c3BzX2J1ZmZlcnNbaC0+cHBzLnNwc19pZF07CisrCisrICAgIGlmIChoLT5wcHMuc3BzX2lkICE9IGgtPmN1cnJlbnRfc3BzX2lkIHx8CisrICAgICAgICBoMC0+c3BzX2J1ZmZlcnNbaC0+cHBzLnNwc19pZF0tPm5ldykgeworKyAgICAgICAgaDAtPnNwc19idWZmZXJzW2gtPnBwcy5zcHNfaWRdLT5uZXcgPSAwOworKworKyAgICAgICAgaC0+Y3VycmVudF9zcHNfaWQgPSBoLT5wcHMuc3BzX2lkOworKyAgICAgICAgaC0+c3BzICAgICAgICAgICAgPSAqaDAtPnNwc19idWZmZXJzW2gtPnBwcy5zcHNfaWRdOworKworKyAgICAgICAgaWYgKChyZXQgPSBoMjY0X3NldF9wYXJhbWV0ZXJfZnJvbV9zcHMoaCkpIDwgMCkKKysgICAgICAgICAgICByZXR1cm4gcmV0OworKyAgICB9CisgCisgICAgIHMtPmF2Y3R4LT5wcm9maWxlID0gZmZfaDI2NF9nZXRfcHJvZmlsZSgmaC0+c3BzKTsKKyAgICAgcy0+YXZjdHgtPmxldmVsICAgPSBoLT5zcHMubGV2ZWxfaWRjOworQEAgLTM4MTEsMjYgKzM4MTEsOCBAQCBzdGF0aWMgaW50IGRlY29kZV9uYWxfdW5pdHMoSDI2NENvbnRleHQgKmgsIGNvbnN0IHVpbnQ4X3QgKmJ1ZiwgaW50IGJ1Zl9zaXplKXsKKyAgICAgICAgIGNhc2UgTkFMX1NQUzoKKyAgICAgICAgICAgICBpbml0X2dldF9iaXRzKCZzLT5nYiwgcHRyLCBiaXRfbGVuZ3RoKTsKKyAgICAgICAgICAgICBmZl9oMjY0X2RlY29kZV9zZXFfcGFyYW1ldGVyX3NldChoKTsKKy0KKy0gICAgICAgICAgICBpZiAocy0+ZmxhZ3MmIENPREVDX0ZMQUdfTE9XX0RFTEFZIHx8CistICAgICAgICAgICAgICAgIChoLT5zcHMuYml0c3RyZWFtX3Jlc3RyaWN0aW9uX2ZsYWcgJiYgIWgtPnNwcy5udW1fcmVvcmRlcl9mcmFtZXMpKQorLSAgICAgICAgICAgICAgICBzLT5sb3dfZGVsYXk9MTsKKy0KKy0gICAgICAgICAgICBpZihhdmN0eC0+aGFzX2JfZnJhbWVzIDwgMikKKy0gICAgICAgICAgICAgICAgYXZjdHgtPmhhc19iX2ZyYW1lcz0gIXMtPmxvd19kZWxheTsKKy0KKy0gICAgICAgICAgICBpZiAoYXZjdHgtPmJpdHNfcGVyX3Jhd19zYW1wbGUgIT0gaC0+c3BzLmJpdF9kZXB0aF9sdW1hKSB7CistICAgICAgICAgICAgICAgIGlmIChoLT5zcHMuYml0X2RlcHRoX2x1bWEgPj0gOCAmJiBoLT5zcHMuYml0X2RlcHRoX2x1bWEgPD0gMTApIHsKKy0gICAgICAgICAgICAgICAgICAgIGF2Y3R4LT5iaXRzX3Blcl9yYXdfc2FtcGxlID0gaC0+c3BzLmJpdF9kZXB0aF9sdW1hOworLSAgICAgICAgICAgICAgICAgICAgaC0+cGl4ZWxfc2hpZnQgPSBoLT5zcHMuYml0X2RlcHRoX2x1bWEgPiA4OworLQorLSAgICAgICAgICAgICAgICAgICAgZmZfaDI2NGRzcF9pbml0KCZoLT5oMjY0ZHNwLCBoLT5zcHMuYml0X2RlcHRoX2x1bWEpOworLSAgICAgICAgICAgICAgICAgICAgZmZfaDI2NF9wcmVkX2luaXQoJmgtPmhwYywgcy0+Y29kZWNfaWQsIGgtPnNwcy5iaXRfZGVwdGhfbHVtYSk7CistICAgICAgICAgICAgICAgICAgICBkc3B1dGlsX2luaXQoJnMtPmRzcCwgcy0+YXZjdHgpOworLSAgICAgICAgICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfREVCVUcsICJVbnN1cHBvcnRlZCBiaXQgZGVwdGg6ICVkXG4iLCBoLT5zcHMuYml0X2RlcHRoX2x1bWEpOworLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworLSAgICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgaWYgKGgyNjRfc2V0X3BhcmFtZXRlcl9mcm9tX3NwcyhoKSA8IDApIHsKKysgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgIGNhc2UgTkFMX1BQUzoKK2RpZmYgLS1naXQgYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9oMjY0Lmgub2xkIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvaDI2NC5oCitpbmRleCBlM2NjODE1Li5iNzdhZDk4IDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvaDI2NC5oLm9sZAorKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvaDI2NC5oCitAQCAtMjAyLDYgKzIwMiw3IEBAIHR5cGVkZWYgc3RydWN0IFNQU3sKKyAgICAgaW50IGJpdF9kZXB0aF9jaHJvbWE7ICAgICAgICAgICAgICAvLy88IGJpdF9kZXB0aF9jaHJvbWFfbWludXM4ICsgOAorICAgICBpbnQgcmVzaWR1YWxfY29sb3JfdHJhbnNmb3JtX2ZsYWc7IC8vLzwgcmVzaWR1YWxfY29sb3VyX3RyYW5zZm9ybV9mbGFnCisgICAgIGludCBjb25zdHJhaW50X3NldF9mbGFnczsgICAgICAgICAgLy8vPCBjb25zdHJhaW50X3NldFswLTNdX2ZsYWcKKysgICAgaW50IG5ldzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IGZsYWcgdG8ga2VlcCB0cmFjayBpZiB0aGUgZGVjb2RlciBjb250ZXh0IG5lZWRzIHJlLWluaXQgZHVlIHRvIGNoYW5nZWQgU1BTCisgfVNQUzsKKyAKKyAvKioKK0BAIC0zMzMsNiArMzM0LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgSDI2NENvbnRleHR7CisgICAgIGludCBlbXVfZWRnZV93aWR0aDsKKyAgICAgaW50IGVtdV9lZGdlX2hlaWdodDsKKyAKKysgICAgdW5zaWduZWQgY3VycmVudF9zcHNfaWQ7IC8vLzwgaWQgb2YgdGhlIGN1cnJlbnQgU1BTCisgICAgIFNQUyBzcHM7IC8vLzwgY3VycmVudCBzcHMKKyAKKyAgICAgLyoqCitkaWZmIC0tZ2l0IGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvaDI2NF9wcy5jLm9sZCBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2gyNjRfcHMuYworaW5kZXggNzQ5MTgwNy4uMDkyOTA5OCAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2gyNjRfcHMuYy5vbGQKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2gyNjRfcHMuYworQEAgLTQzOCwxMCArNDM4LDEzIEBAIGludCBmZl9oMjY0X2RlY29kZV9zZXFfcGFyYW1ldGVyX3NldChIMjY0Q29udGV4dCAqaCl7CisgICAgICAgICAgICAgICAgc3BzLT50aW1pbmdfaW5mb19wcmVzZW50X2ZsYWcgPyBzcHMtPnRpbWVfc2NhbGUgOiAwCisgICAgICAgICAgICAgICAgKTsKKyAgICAgfQorKyAgICBzcHMtPm5ldyA9IDE7CisgCisgICAgIGF2X2ZyZWUoaC0+c3BzX2J1ZmZlcnNbc3BzX2lkXSk7CistICAgIGgtPnNwc19idWZmZXJzW3Nwc19pZF09IHNwczsKKy0gICAgaC0+c3BzID0gKnNwczsKKysgICAgaC0+c3BzX2J1ZmZlcnNbc3BzX2lkXSA9IHNwczsKKysgICAgaC0+c3BzICAgICAgICAgICAgICAgICA9ICpzcHM7CisrICAgIGgtPmN1cnJlbnRfc3BzX2lkICAgICAgPSBzcHNfaWQ7CisrCisgICAgIHJldHVybiAwOworIGZhaWw6CisgICAgIGF2X2ZyZWUoc3BzKTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1oMjY0LXNraXAtZXJyb3ItY29uY2VhbG1lbnQtd2hlbi1TUFMtYW5kLXNsaWNlcy1hcmUtLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLWgyNjQtc2tpcC1lcnJvci1jb25jZWFsbWVudC13aGVuLVNQUy1hbmQtc2xpY2VzLWFyZS0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWQ0NWMxYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1oMjY0LXNraXAtZXJyb3ItY29uY2VhbG1lbnQtd2hlbi1TUFMtYW5kLXNsaWNlcy1hcmUtLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK2dzdC1mZm1wZWc6IGgyNjQ6IHNraXAgZXJyb3IgY29uY2VhbG1lbnQgd2hlbiBTUFMgYW5kIHNsaWNlcyBhcmUKKyBtaXNtYXRjaGluZworCitGaXhlcyBvdXQgb2YgYXJyYXkgYWNjZXNzZXMKKworRm91bmQtYnk6IE1hdGV1c3ogImowMHJ1IiBKdXJjenlrIGFuZCBHeW52YWVsIENvbGR3aW5kCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNjk1YWY4ZWVkNjQyZmYwMTA0ODM0NDk1NjUyZDFlZTc4NGE0YzE0ZCkKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorU2lnbmVkLW9mZi1ieTogWXVlIFRhbyA8eXVlLnRhb0B3aW5kcml2ZXIuY29tPgorLS0tCisgbGliYXZjb2RlYy9oMjY0LmMgfCAgICAyICstCisgMSBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJhdmNvZGVjL2gyNjQuYyBiL2xpYmF2Y29kZWMvaDI2NC5jCitpbmRleCBkYTE0NGRiLi4wYWFiNGU3IDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvaDI2NC5jCisrKysgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9oMjY0LmMKK0BAIC0yMzUxLDcgKzIzNTEsNyBAQCBzdGF0aWMgaW50IGZpZWxkX2VuZChIMjY0Q29udGV4dCAqaCwgaW50IGluX3NldHVwKQorICAgICAgKiBwYXN0IGVuZCBieSBvbmUgKGNhbGxlcnMgZmF1bHQpIGFuZCByZXN5bmNfbWJfeSAhPSAwCisgICAgICAqIGNhdXNlcyBwcm9ibGVtcyBmb3IgdGhlIGZpcnN0IE1CIGxpbmUsIHRvby4KKyAgICAgICovCistICAgIGlmICghRklFTERfUElDVFVSRSkKKysgICAgaWYgKCFGSUVMRF9QSUNUVVJFICYmIGgtPmN1cnJlbnRfc2xpY2UgJiYgIWgtPnNwcy5uZXcpCisgICAgICAgICBmZl9lcl9mcmFtZV9lbmQocyk7CisgCisgICAgIGZmX01QVl9mcmFtZV9lbmQocyk7CistLSAKKzEuNy41LjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLWgyNjRfc2VpLUZpeC1pbmZpbml0ZS1sb29wLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLWgyNjRfc2VpLUZpeC1pbmZpbml0ZS1sb29wLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlNjJiNTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtaDI2NF9zZWktRml4LWluZmluaXRlLWxvb3AucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorZ3N0LWZmbXBlZzogaDI2NF9zZWk6IEZpeCBpbmZpbml0ZSBsb29wLgorCitGaXhzb3QgeWV0IGZpeGVkIHBhcnRzIG9mIENWRS0yMDExLTM5NDYuCisKK0ZvdW5kLWJ5OiBNYXRldXN6ICJqMDBydSIgSnVyY3p5ayBhbmQgR3ludmFlbCBDb2xkd2luZAorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCAKKworU2lnbmVkLW9mZi1ieTogWXVlIFRhbyA8eXVlLnRhb0B3aW5kcml2ZXIuY29tPgorCistLS0KKyBsaWJhdmNvZGVjL2gyNjRfc2VpLmMgfCAgICA0ICsrKysKKyAxIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKKworCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9oMjY0X3NlaS5jIGIvbGliYXZjb2RlYy9oMjY0X3NlaS5jCitpbmRleCAzNzRlNTNkLi44MGQ3MGU1IDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvaDI2NF9zZWkuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvaDI2NF9zZWkuYworQEAgLTE2OSwxMSArMTY5LDE1IEBAIGludCBmZl9oMjY0X2RlY29kZV9zZWkoSDI2NENvbnRleHQgKmgpeworIAorICAgICAgICAgdHlwZT0wOworICAgICAgICAgZG97CisrICAgICAgICAgICAgaWYgKGdldF9iaXRzX2xlZnQoJnMtPmdiKSA8IDgpCisrICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgICB0eXBlKz0gc2hvd19iaXRzKCZzLT5nYiwgOCk7CisgICAgICAgICB9d2hpbGUoZ2V0X2JpdHMoJnMtPmdiLCA4KSA9PSAyNTUpOworIAorICAgICAgICAgc2l6ZT0wOworICAgICAgICAgZG97CisrICAgICAgICAgICAgaWYgKGdldF9iaXRzX2xlZnQoJnMtPmdiKSA8IDgpCisrICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgICBzaXplKz0gc2hvd19iaXRzKCZzLT5nYiwgOCk7CisgICAgICAgICB9d2hpbGUoZ2V0X2JpdHMoJnMtPmdiLCA4KSA9PSAyNTUpOworIAorLS0gCisxLjcuNS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1odWZmeXV2ZGVjLUNoZWNrLWluaXRfdmxjLXJldHVybi1jb2Rlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1odWZmeXV2ZGVjLUNoZWNrLWluaXRfdmxjLXJldHVybi1jb2Rlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODU5ZTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLWh1ZmZ5dXZkZWMtQ2hlY2staW5pdF92bGMtcmV0dXJuLWNvZGVzLnBhdGNoCkBAIC0wLDAgKzEsODcgQEAKK0Zyb20gYjY2NmRlYmZmZWMxZmNiYjE5ZWYzNzc2MzVhNTNiOWE1OGJjYThhNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBUdWUsIDI5IEphbiAyMDEzIDE4OjI5OjQxICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGh1ZmZ5dXZkZWM6IENoZWNrIGluaXRfdmxjKCkgcmV0dXJuIGNvZGVzLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK0NvbW1pdCBiNjY2ZGViZmZlYzFmY2JiMTllZjM3NzYzNWE1M2I5YTU4YmNhOGE0IHJlbGVhc2UvMS4wCisKK1ByZXZlbnRzIG91dCBvZiBhcnJheSB3cml0ZXMKKworRm91bmQtYnk6IE1hdGV1c3ogImowMHJ1IiBKdXJjenlrIGFuZCBHeW52YWVsIENvbGR3aW5kCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZjY3YTBkMTE1MjU0NDYxNjQ5NDcwNDUyMDU4ZmEzYzI4YzBkZjI5NCkKKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKy0tLQorIGxpYmF2Y29kZWMvaHVmZnl1di5jIHwgMTQgKysrKysrKysrKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvaHVmZnl1di5jIGIvbGliYXZjb2RlYy9odWZmeXV2LmMKK2luZGV4IDU4ZGE3ODkuLjk5M2U1MjQgMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9odWZmeXV2LmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2h1ZmZ5dXYuYworQEAgLTMzLDYgKzMzLDcgQEAKKyAjaW5jbHVkZSAicHV0X2JpdHMuaCIKKyAjaW5jbHVkZSAiZHNwdXRpbC5oIgorICNpbmNsdWRlICJ0aHJlYWQuaCIKKysjaW5jbHVkZSAibGliYXZ1dGlsL2F2YXNzZXJ0LmgiCisgCisgI2RlZmluZSBWTENfQklUUyAxMQorIAorQEAgLTI4Nyw2ICsyODcsNyBAQCBzdGF0aWMgdm9pZCBnZW5lcmF0ZV9qb2ludF90YWJsZXMoSFl1dkNvCisgICAgICAgICAgICAgICAgICAgICBpbnQgbGVuMSA9IHMtPmxlbltwXVt1XTsKKyAgICAgICAgICAgICAgICAgICAgIGlmIChsZW4xID4gbGltaXQgfHwgIWxlbjEpCisgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisrICAgICAgICAgICAgICAgICAgICBhdl9hc3NlcnQwKGkgPCAoMSA8PCBWTENfQklUUykpOworICAgICAgICAgICAgICAgICAgICAgbGVuW2ldID0gbGVuMCArIGxlbjE7CisgICAgICAgICAgICAgICAgICAgICBiaXRzW2ldID0gKHMtPmJpdHNbMF1beV0gPDwgbGVuMSkgKyBzLT5iaXRzW3BdW3VdOworICAgICAgICAgICAgICAgICAgICAgc3ltYm9sc1tpXSA9ICh5PDw4KSArIHU7CitAQCAtMzIwLDYgKzMyMSw3IEBAIHN0YXRpYyB2b2lkIGdlbmVyYXRlX2pvaW50X3RhYmxlcyhIWXV2Q28KKyAgICAgICAgICAgICAgICAgICAgIGludCBsZW4yID0gcy0+bGVuWzJdW3ImMjU1XTsKKyAgICAgICAgICAgICAgICAgICAgIGlmIChsZW4yID4gbGltaXQxIHx8ICFsZW4yKQorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworKyAgICAgICAgICAgICAgICAgICAgYXZfYXNzZXJ0MChpIDwgKDEgPDwgVkxDX0JJVFMpKTsKKyAgICAgICAgICAgICAgICAgICAgIGxlbltpXSA9IGxlbjAgKyBsZW4xICsgbGVuMjsKKyAgICAgICAgICAgICAgICAgICAgIGJpdHNbaV0gPSAoY29kZSA8PCBsZW4yKSArIHMtPmJpdHNbMl1bciYyNTVdOworICAgICAgICAgICAgICAgICAgICAgaWYocy0+ZGVjb3JyZWxhdGUpeworQEAgLTM0Myw2ICszNDUsNyBAQCBzdGF0aWMgdm9pZCBnZW5lcmF0ZV9qb2ludF90YWJsZXMoSFl1dkNvCisgc3RhdGljIGludCByZWFkX2h1ZmZtYW5fdGFibGVzKEhZdXZDb250ZXh0ICpzLCBjb25zdCB1aW50OF90ICpzcmMsIGludCBsZW5ndGgpeworICAgICBHZXRCaXRDb250ZXh0IGdiOworICAgICBpbnQgaTsKKysgICAgaW50IHJldDsKKyAKKyAgICAgaW5pdF9nZXRfYml0cygmZ2IsIHNyYywgbGVuZ3RoKjgpOworIAorQEAgLTM1Myw3ICszNTYsOSBAQCBzdGF0aWMgaW50IHJlYWRfaHVmZm1hbl90YWJsZXMoSFl1dkNvbnRlCisgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgfQorICAgICAgICAgZnJlZV92bGMoJnMtPnZsY1tpXSk7CistICAgICAgICBpbml0X3ZsYygmcy0+dmxjW2ldLCBWTENfQklUUywgMjU2LCBzLT5sZW5baV0sIDEsIDEsIHMtPmJpdHNbaV0sIDQsIDQsIDApOworKyAgICAgICAgaWYgKChyZXQgPSBpbml0X3ZsYygmcy0+dmxjW2ldLCBWTENfQklUUywgMjU2LCBzLT5sZW5baV0sIDEsIDEsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgcy0+Yml0c1tpXSwgNCwgNCwgMCkpIDwgMCkKKysgICAgICAgICAgICByZXR1cm4gcmV0OworICAgICB9CisgCisgICAgIGdlbmVyYXRlX2pvaW50X3RhYmxlcyhzKTsKK0BAIC0zNjUsNiArMzcwLDcgQEAgc3RhdGljIGludCByZWFkX29sZF9odWZmbWFuX3RhYmxlcyhIWXV2QworICNpZiAxCisgICAgIEdldEJpdENvbnRleHQgZ2I7CisgICAgIGludCBpOworKyAgICBpbnQgcmV0OworIAorICAgICBpbml0X2dldF9iaXRzKCZnYiwgY2xhc3NpY19zaGlmdF9sdW1hLCBzaXplb2YoY2xhc3NpY19zaGlmdF9sdW1hKSo4KTsKKyAgICAgaWYocmVhZF9sZW5fdGFibGUocy0+bGVuWzBdLCAmZ2IpPDApCitAQCAtMzg1LDcgKzM5MSw5IEBAIHN0YXRpYyBpbnQgcmVhZF9vbGRfaHVmZm1hbl90YWJsZXMoSFl1dkMKKyAKKyAgICAgZm9yKGk9MDsgaTwzOyBpKyspeworICAgICAgICAgZnJlZV92bGMoJnMtPnZsY1tpXSk7CistICAgICAgICBpbml0X3ZsYygmcy0+dmxjW2ldLCBWTENfQklUUywgMjU2LCBzLT5sZW5baV0sIDEsIDEsIHMtPmJpdHNbaV0sIDQsIDQsIDApOworKyAgICAgICAgaWYgKChyZXQgPSBpbml0X3ZsYygmcy0+dmxjW2ldLCBWTENfQklUUywgMjU2LCBzLT5sZW5baV0sIDEsIDEsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMtPmJpdHNbaV0sIDQsIDQsIDApKSA8IDApCisrICAgICAgICAgICAgcmV0dXJuIHJldDsKKyAgICAgfQorIAorICAgICBnZW5lcmF0ZV9qb2ludF90YWJsZXMocyk7CistLSAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1odWZmeXV2ZGVjLVNraXAtbGVuLTAtY2FzZXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtaHVmZnl1dmRlYy1Ta2lwLWxlbi0wLWNhc2VzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0YmY0YjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtaHVmZnl1dmRlYy1Ta2lwLWxlbi0wLWNhc2VzLnBhdGNoCkBAIC0wLDAgKzEsNjEgQEAKK0Zyb20gZGIwZjdmNzM5NGUxZjk5NGVkMzhkYjA0M2Y3OGVkMGYxMGJkZTBkYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBUdWUsIDI5IEphbiAyMDEzIDE5OjIyOjMzICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGh1ZmZ5dXZkZWM6IFNraXAgbGVuPT0wIGNhc2VzCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworQ29tbWl0IGRiMGY3ZjczOTRlMWY5OTRlZDM4ZGIwNDNmNzhlZDBmMTBiZGUwZGEgcmVsZWFzZS8xLjAKKworRml4ZXMgdmxjIGRlY29kaW5nIGZvciBoeXBvdGhldGljYWwgZmlsZXMgdGhhdCB3b3VsZCBjb250YWluIHN1Y2ggY2FzZXMuCisKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAwZGZjMDFjMmJiZjRiNzFiYjU2MjAxYmM0YTM5MzMyMWUxNWQxYjMxKQorCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorLS0tCisgbGliYXZjb2RlYy9odWZmeXV2LmMgfCAxMCArKysrKy0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvaHVmZnl1di5jIGIvbGliYXZjb2RlYy9odWZmeXV2LmMKK2luZGV4IDk5M2U1MjQuLjcyZWQzNTEgMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9odWZmeXV2LmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2h1ZmZ5dXYuYworQEAgLTI4MSwxMSArMjgxLDExIEBAIHN0YXRpYyB2b2lkIGdlbmVyYXRlX2pvaW50X3RhYmxlcyhIWXV2Q28KKyAgICAgICAgICAgICBmb3IoaT15PTA7IHk8MjU2OyB5KyspeworICAgICAgICAgICAgICAgICBpbnQgbGVuMCA9IHMtPmxlblswXVt5XTsKKyAgICAgICAgICAgICAgICAgaW50IGxpbWl0ID0gVkxDX0JJVFMgLSBsZW4wOworLSAgICAgICAgICAgICAgICBpZihsaW1pdCA8PSAwKQorKyAgICAgICAgICAgICAgICBpZihsaW1pdCA8PSAwIHx8ICFsZW4wKQorICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgIGZvcih1PTA7IHU8MjU2OyB1KyspeworICAgICAgICAgICAgICAgICAgICAgaW50IGxlbjEgPSBzLT5sZW5bcF1bdV07CistICAgICAgICAgICAgICAgICAgICBpZihsZW4xID4gbGltaXQpCisrICAgICAgICAgICAgICAgICAgICBpZiAobGVuMSA+IGxpbWl0IHx8ICFsZW4xKQorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgICAgICAgbGVuW2ldID0gbGVuMCArIGxlbjE7CisgICAgICAgICAgICAgICAgICAgICBiaXRzW2ldID0gKHMtPmJpdHNbMF1beV0gPDwgbGVuMSkgKyBzLT5iaXRzW3BdW3VdOworQEAgLTMwOCwxNyArMzA4LDE3IEBAIHN0YXRpYyB2b2lkIGdlbmVyYXRlX2pvaW50X3RhYmxlcyhIWXV2Q28KKyAgICAgICAgIGZvcihpPTAsIGc9LTE2OyBnPDE2OyBnKyspeworICAgICAgICAgICAgIGludCBsZW4wID0gcy0+bGVuW3AwXVtnJjI1NV07CisgICAgICAgICAgICAgaW50IGxpbWl0MCA9IFZMQ19CSVRTIC0gbGVuMDsKKy0gICAgICAgICAgICBpZihsaW1pdDAgPCAyKQorKyAgICAgICAgICAgIGlmIChsaW1pdDAgPCAyIHx8ICFsZW4wKQorICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICBmb3IoYj0tMTY7IGI8MTY7IGIrKyl7CisgICAgICAgICAgICAgICAgIGludCBsZW4xID0gcy0+bGVuW3AxXVtiJjI1NV07CisgICAgICAgICAgICAgICAgIGludCBsaW1pdDEgPSBsaW1pdDAgLSBsZW4xOworLSAgICAgICAgICAgICAgICBpZihsaW1pdDEgPCAxKQorKyAgICAgICAgICAgICAgICBpZiAobGltaXQxIDwgMSB8fCAhbGVuMSkKKyAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgICBjb2RlID0gKHMtPmJpdHNbcDBdW2cmMjU1XSA8PCBsZW4xKSArIHMtPmJpdHNbcDFdW2ImMjU1XTsKKyAgICAgICAgICAgICAgICAgZm9yKHI9LTE2OyByPDE2OyByKyspeworICAgICAgICAgICAgICAgICAgICAgaW50IGxlbjIgPSBzLT5sZW5bMl1bciYyNTVdOworLSAgICAgICAgICAgICAgICAgICAgaWYobGVuMiA+IGxpbWl0MSkKKysgICAgICAgICAgICAgICAgICAgIGlmIChsZW4yID4gbGltaXQxIHx8ICFsZW4yKQorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgICAgICAgbGVuW2ldID0gbGVuMCArIGxlbjEgKyBsZW4yOworICAgICAgICAgICAgICAgICAgICAgYml0c1tpXSA9IChjb2RlIDw8IGxlbjIpICsgcy0+Yml0c1syXVtyJjI1NV07CistLSAKKzEuOC41LjIuMjMzLmc5MzJmN2U0CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1sYXZmLWNvbXB1dGUtcHJvYmUtYnVmZmVyLXNpemUtbW9yZS1yZWxpYWJseS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1sYXZmLWNvbXB1dGUtcHJvYmUtYnVmZmVyLXNpemUtbW9yZS1yZWxpYWJseS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYTRhYTIyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLWxhdmYtY29tcHV0ZS1wcm9iZS1idWZmZXItc2l6ZS1tb3JlLXJlbGlhYmx5LnBhdGNoCkBAIC0wLDAgKzEsNDUgQEAKK2dzdC1mZm1wZWc6IGxhdmY6IGNvbXB1dGUgcHJvYmUgYnVmZmVyIHNpemUgbW9yZSByZWxpYWJseS4KKworVGhlIHByZXZpb3VzIGNvZGUgY29tcHV0ZXMgdGhlIG9mZnNldCBieSByZXZlcnNpbmcgdGhlIGdyb3d0aAorb2YgdGhlIGFsbG9jYXRlZCBidWZmZXIgc2l6ZTogaXQgaXMgY29tcGxleCBhbmQgZGlkIGxlYWQgdG8KK2luY29uc2lzdGVuY2llcyB3aGVuIHRoZSBzaXplIGxpbWl0IGlzIHJlYWNoZWQuCisKK0ZpeCB0cmFjIHRpY2tldCAjMTk5MS4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDAzODQ3ZWI4MjU5MjkxYjRmZjFiZDg0MGJkNzc5ZDA2OTlkNzFmOTYpCisKK0NvbmZsaWN0czoKKwlsaWJhdmZvcm1hdC91dGlscy5jCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworU2lnbmVkLW9mZi1ieTogWXVlIFRhbyA8eXVlLnRhb0B3aW5kcml2ZXIuY29tPgorCistLS0KKyBsaWJhdmZvcm1hdC91dGlscy5jIHwgICAgNCArKy0tCisgMSBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJhdmZvcm1hdC91dGlscy5jIGIvbGliYXZmb3JtYXQvdXRpbHMuYworaW5kZXggNzk0MDAzNy4uYmU3M2M0YSAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmZvcm1hdC91dGlscy5jCisrKysgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZmb3JtYXQvdXRpbHMuYworQEAgLTQ1OSw3ICs0NTksNyBAQCBpbnQgYXZfcHJvYmVfaW5wdXRfYnVmZmVyKEFWSU9Db250ZXh0ICpwYiwgQVZJbnB1dEZvcm1hdCAqKmZtdCwKKyB7CisgICAgIEFWUHJvYmVEYXRhIHBkID0geyBmaWxlbmFtZSA/IGZpbGVuYW1lIDogIiIsIE5VTEwsIC1vZmZzZXQgfTsKKyAgICAgdW5zaWduZWQgY2hhciAqYnVmID0gTlVMTDsKKy0gICAgaW50IHJldCA9IDAsIHByb2JlX3NpemU7CisrICAgIGludCByZXQgPSAwLCBwcm9iZV9zaXplLCBidWZfb2Zmc2V0ID0gMDsKKyAKKyAgICAgaWYgKCFtYXhfcHJvYmVfc2l6ZSkgeworICAgICAgICAgbWF4X3Byb2JlX3NpemUgPSBQUk9CRV9CVUZfTUFYOworQEAgLTQ5OSw3ICs0OTksNyBAQCBpbnQgYXZfcHJvYmVfaW5wdXRfYnVmZmVyKEFWSU9Db250ZXh0ICpwYiwgQVZJbnB1dEZvcm1hdCAqKmZtdCwKKyAgICAgICAgICAgICBzY29yZSA9IDA7CisgICAgICAgICAgICAgcmV0ID0gMDsgICAgICAgICAgICAvKiBlcnJvciB3YXMgZW5kIG9mIGZpbGUsIG5vdGhpbmcgcmVhZCAqLworICAgICAgICAgfQorLSAgICAgICAgcGQuYnVmX3NpemUgKz0gcmV0OworKyAgICAgICAgcGQuYnVmX3NpemUgPSBidWZfb2Zmc2V0ICs9IHJldDsKKyAgICAgICAgIHBkLmJ1ZiA9ICZidWZbb2Zmc2V0XTsKKyAKKyAgICAgICAgIG1lbXNldChwZC5idWYgKyBwZC5idWZfc2l6ZSwgMCwgQVZQUk9CRV9QQURESU5HX1NJWkUpOworLS0gCisxLjcuNS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1tanBlZ2RlYy1jaGVjay1TRS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1tanBlZ2RlYy1jaGVjay1TRS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTBiYWZhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLW1qcGVnZGVjLWNoZWNrLVNFLnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Zyb20gMWY0MWNmZmUxZTNlNzk2MjBmNTg3NTQ1YmRmY2JkN2U2ZTY4ZWQyOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBTdW4sIDExIE5vdiAyMDEyIDAwOjAxOjI0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIG1qcGVnZGVjOiBjaGVjayBTRS4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitDb21taXQgMWY0MWNmZmUxZTNlNzk2MjBmNTg3NTQ1YmRmY2JkN2U2ZTY4ZWQyOSByZWxlYXNlLzEuMQorCitGb3VuZC1ieTogTWF0ZXVzeiAiajAwcnUiIEp1cmN6eWsgYW5kIEd5bnZhZWwgQ29sZHdpbmQKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CistLS0KKyBsaWJhdmNvZGVjL21qcGVnZGVjLmMgfCA1ICsrKysrCisgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9tanBlZ2RlYy5jIGIvbGliYXZjb2RlYy9tanBlZ2RlYy5jCitpbmRleCA2YjUyNjZkLi4wYTcxYTZmIDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvbWpwZWdkZWMuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvbWpwZWdkZWMuYworQEAgLTkwNSw2ICs5MDUsMTEgQEAgc3RhdGljIGludCBtanBlZ19kZWNvZGVfc2Nhbl9wcm9ncmVzc2l2ZQorICAgICBpbnQxNl90ICpxdWFudF9tYXRyaXggPSBzLT5xdWFudF9tYXRyaXhlc1sgcy0+cXVhbnRfaW5kZXhbY10gXTsKKyAgICAgR2V0Qml0Q29udGV4dCBtYl9iaXRtYXNrX2diOworIAorKyAgICBpZiAoc2UgPiA2MykgeworKyAgICAgICAgYXZfbG9nKHMtPmF2Y3R4LCBBVl9MT0dfRVJST1IsICJTRSAlZCBpcyB0b28gbGFyZ2VcbiIsIHNlKTsKKysgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOworKyAgICB9CisrCisgICAgIGlmIChtYl9iaXRtYXNrKSB7CisgICAgICAgICBpbml0X2dldF9iaXRzKCZtYl9iaXRtYXNrX2diLCBtYl9iaXRtYXNrLCBzLT5tYl93aWR0aCpzLT5tYl9oZWlnaHQpOworICAgICB9CistLSAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1wZ3NzdWJkZWMtY2hlY2stUkxFLXNpemUtYmVmb3JlLWNvcHlpbmcuLUZpeC1vdXQtb2YtLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLXBnc3N1YmRlYy1jaGVjay1STEUtc2l6ZS1iZWZvcmUtY29weWluZy4tRml4LW91dC1vZi0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTA0MTM0NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1wZ3NzdWJkZWMtY2hlY2stUkxFLXNpemUtYmVmb3JlLWNvcHlpbmcuLUZpeC1vdXQtb2YtLnBhdGNoCkBAIC0wLDAgKzEsMzQgQEAKK0Zyb20gMjhiZjY4NWJmYzZkMGM3NDQzNjljZGYzNjdmNjFhNzhkODBkMGIwMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBUaHUsIDE1IE5vdiAyMDEyIDE2OjQxOjI4ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHBnc3N1YmRlYzogY2hlY2sgUkxFIHNpemUgYmVmb3JlIGNvcHlpbmcuIEZpeCBvdXQgb2YgYXJyYXkKKyBhY2Nlc3NlcworCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK0NvbW1pdCAyOGJmNjg1YmZjNmQwYzc0NDM2OWNkZjM2N2Y2MWE3OGQ4MGQwYjAxIHJlbGVhc2UvMS4xCisKK0ZvdW5kLWJ5OiBNYXRldXN6ICJqMDBydSIgSnVyY3p5ayBhbmQgR3ludmFlbCBDb2xkd2luZAorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGMwZDY4YmU1NTVmNTg1ODcwMzM4MzA0MGUwNGZjZDY1Mjk3NzcwNjEpCistLS0KKyBsaWJhdmNvZGVjL3Bnc3N1YmRlYy5jIHwgNSArKysrKworIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvcGdzc3ViZGVjLmMgYi9saWJhdmNvZGVjL3Bnc3N1YmRlYy5jCitpbmRleCA3MjhmMTc4Li4yNmEzYzJhIDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvcGdzc3ViZGVjLmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3Bnc3N1YmRlYy5jCitAQCAtMjAyLDYgKzIwMiwxMSBAQCBzdGF0aWMgaW50IHBhcnNlX3BpY3R1cmVfc2VnbWVudChBVkNvZGVjCisgICAgICAgICByZXR1cm4gLTE7CisgICAgIH0KKyAKKysgICAgaWYgKGJ1Zl9zaXplID4gcmxlX2JpdG1hcF9sZW4pIHsKKysgICAgICAgIGF2X2xvZyhhdmN0eCwgQVZfTE9HX0VSUk9SLCAidG9vIG11Y2ggUkxFIGRhdGFcbiIpOworKyAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CisrICAgIH0KKysKKyAgICAgY3R4LT5waWN0dXJlLncgPSB3aWR0aDsKKyAgICAgY3R4LT5waWN0dXJlLmggPSBoZWlnaHQ7CisgCistLSAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1wbmdkZWMtZmlsdGVyLWRvbnQtYWNjZXNzLW91dC1vZi1hcnJheS1lbGVtZW50cy1hdC10LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLXBuZ2RlYy1maWx0ZXItZG9udC1hY2Nlc3Mtb3V0LW9mLWFycmF5LWVsZW1lbnRzLWF0LXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWU1ZmI3ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1wbmdkZWMtZmlsdGVyLWRvbnQtYWNjZXNzLW91dC1vZi1hcnJheS1lbGVtZW50cy1hdC10LnBhdGNoCkBAIC0wLDAgKzEsNDQgQEAKK2dzdC1mZm1wZWc6IHBuZ2RlYy9maWx0ZXI6IGRvbnQgYWNjZXNzIG91dCBvZiBhcnJheSBlbGVtZW50cyBhdCB0aGUgZW5kCisKK0ZvdW5kLWJ5OiBNYXRldXN6ICJqMDBydSIgSnVyY3p5ayBhbmQgR3ludmFlbCBDb2xkd2luZAorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IAorCitTaWduZWQtb2ZmLWJ5OiBZdWUgVGFvIDx5dWUudGFvQHdpbmRyaXZlci5jb20+CistLS0KKyBsaWJhdmNvZGVjL3BuZ2RlYy5jIHwgICAxMiArKysrLS0tLS0tLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvcG5nZGVjLmMgYi9saWJhdmNvZGVjL3BuZ2RlYy5jCitpbmRleCA5N2MwYWQxLi4xOTNlMzVlIDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvcG5nZGVjLmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3BuZ2RlYy5jCitAQCAtMTkwLDcgKzE5MCw3IEBAIHZvaWQgZmZfYWRkX3BuZ19wYWV0aF9wcmVkaWN0aW9uKHVpbnQ4X3QgKmRzdCwgdWludDhfdCAqc3JjLCB1aW50OF90ICp0b3AsIGludCB3CisgICAgIGlmKGJwcCA+PSAyKSBnID0gZHN0WzFdO1wKKyAgICAgaWYoYnBwID49IDMpIGIgPSBkc3RbMl07XAorICAgICBpZihicHAgPj0gNCkgYSA9IGRzdFszXTtcCistICAgIGZvcig7IGkgPCBzaXplOyBpKz1icHApIHtcCisrICAgIGZvcig7IGkgPD0gc2l6ZSAtIGJwcDsgaSs9YnBwKSB7XAorICAgICAgICAgZHN0W2krMF0gPSByID0gb3Aociwgc3JjW2krMF0sIGxhc3RbaSswXSk7XAorICAgICAgICAgaWYoYnBwID09IDEpIGNvbnRpbnVlO1wKKyAgICAgICAgIGRzdFtpKzFdID0gZyA9IG9wKGcsIHNyY1tpKzFdLCBsYXN0W2krMV0pO1wKK0BAIC0yMDYsMTMgKzIwNiw5IEBAIHZvaWQgZmZfYWRkX3BuZ19wYWV0aF9wcmVkaWN0aW9uKHVpbnQ4X3QgKmRzdCwgdWludDhfdCAqc3JjLCB1aW50OF90ICp0b3AsIGludCB3CisgICAgIGVsc2UgaWYoYnBwID09IDIpIFVOUk9MTDEoMiwgb3ApXAorICAgICBlbHNlIGlmKGJwcCA9PSAzKSBVTlJPTEwxKDMsIG9wKVwKKyAgICAgZWxzZSBpZihicHAgPT0gNCkgVU5ST0xMMSg0LCBvcClcCistICAgIGVsc2Uge1wKKy0gICAgICAgIGZvciAoOyBpIDwgc2l6ZTsgaSArPSBicHApIHtcCistICAgICAgICAgICAgaW50IGo7XAorLSAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBicHA7IGorKylcCistICAgICAgICAgICAgICAgIGRzdFtpK2pdID0gb3AoZHN0W2krai1icHBdLCBzcmNbaStqXSwgbGFzdFtpK2pdKTtcCistICAgICAgICB9XAorLSAgICB9CisrICAgIGZvciAoOyBpIDwgc2l6ZTsgaSsrKSB7XAorKyAgICAgICAgZHN0W2ldID0gb3AoZHN0W2ktYnBwXSwgc3JjW2ldLCBsYXN0W2ldKTtcCisrICAgIH1cCisgCisgLyogTk9URTogJ2RzdCcgY2FuIGJlIGVxdWFsIHRvICdsYXN0JyAqLworIHN0YXRpYyB2b2lkIHBuZ19maWx0ZXJfcm93KFBOR0RTUENvbnRleHQgKmRzcCwgdWludDhfdCAqZHN0LCBpbnQgZmlsdGVyX3R5cGUsCistLSAKKzEuNy41LjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLXFkbTItY2hlY2stYXJyYXktaW5kZXgtYmVmb3JlLXVzZS1maXgtb3V0LW9mLWFycmF5LWEucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtcWRtMi1jaGVjay1hcnJheS1pbmRleC1iZWZvcmUtdXNlLWZpeC1vdXQtb2YtYXJyYXktYS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Yzk0MjMyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLXFkbTItY2hlY2stYXJyYXktaW5kZXgtYmVmb3JlLXVzZS1maXgtb3V0LW9mLWFycmF5LWEucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorZ3N0LWZmbXBlZzogcWRtMjogY2hlY2sgYXJyYXkgaW5kZXggYmVmb3JlIHVzZSwgZml4IG91dCBvZiBhcnJheQorIGFjY2Vzc2VzCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgCisKK0ZvdW5kLWJ5OiBNYXRldXN6ICJqMDBydSIgSnVyY3p5ayBhbmQgR3ludmFlbCBDb2xkd2luZAorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKy0tLQorIGxpYmF2Y29kZWMvcWRtMi5jIHwgICAgNSArKysrKworIDEgZmlsZXMgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9xZG0yLmMgYi9saWJhdmNvZGVjL3FkbTIuYworaW5kZXggNGNmNGIyZi4uMWRmYjhkNSAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3FkbTIuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvcWRtMi5jCitAQCAtMTI1Nyw2ICsxMjU3LDExIEBAIHN0YXRpYyB2b2lkIHFkbTJfZGVjb2RlX3N1cGVyX2Jsb2NrIChRRE0yQ29udGV4dCAqcSkKKyAgICAgZm9yIChpID0gMDsgcGFja2V0X2J5dGVzID4gMDsgaSsrKSB7CisgICAgICAgICBpbnQgajsKKyAKKysgICAgICAgIGlmIChpPj1GRl9BUlJBWV9FTEVNUyhxLT5zdWJfcGFja2V0X2xpc3RfQSkpIHsKKysgICAgICAgICAgICBTQU1QTEVTX05FRURFRF8yKCJ0b28gbWFueSBwYWNrZXQgYnl0ZXMiKTsKKysgICAgICAgICAgICByZXR1cm47CisrICAgICAgICB9CisrCisgICAgICAgICBxLT5zdWJfcGFja2V0X2xpc3RfQVtpXS5uZXh0ID0gTlVMTDsKKyAKKyAgICAgICAgIGlmIChpID4gMCkgeworLS0gCisxLjcuNS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1xZG0yZGVjLWZpeC1idWZmZXItb3ZlcmZsb3cucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtcWRtMmRlYy1maXgtYnVmZmVyLW92ZXJmbG93LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzZmZjMDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtcWRtMmRlYy1maXgtYnVmZmVyLW92ZXJmbG93LnBhdGNoCkBAIC0wLDAgKzEsNTggQEAKK2dzdC1mZm1wZWc6IHFkbTJkZWM6IGZpeCBidWZmZXIgb3ZlcmZsb3cuIEZpeGVzIE5HUzAwMTQ0CisKK1RoaXMgYWxzbyBhZGRzIGEgZmV3IGxpbmVzIG9mIGNvZGUgZnJvbSBtYXN0ZXIgdGhhdCBhcmUgbmVlZGVkIGZvciB0aGlzIGZpeC4KKworVGhhbmtzIHRvIFBoaWxsaXAgZm9yIHN1Z2dlc3Rpb25zIHRvIGltcHJvdmUgdGhlIHBhdGNoLgorRm91bmQtYnk6IFBoaWxsaXAgTGFuZ2xvaXMKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCAKKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKy0tLQorIGxpYmF2Y29kZWMvcWRtMi5jIHwgICAgOSArKysrKysrLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvcWRtMi5jIGIvbGliYXZjb2RlYy9xZG0yLmMKK2luZGV4IDNhYTllNWIuLmUwMDBkZjggMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9xZG0yLmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3FkbTIuYworQEAgLTc2LDYgKzc2LDcgQEAgZG8geyBcCisgI2RlZmluZSBTQU1QTEVTX05FRURFRF8yKHdoeSkgXAorICAgICAgYXZfbG9nIChOVUxMLEFWX0xPR19JTkZPLCJUaGlzIGZpbGUgdHJpZ2dlcnMgc29tZSBtaXNzaW5nIGNvZGUuIFBsZWFzZSBjb250YWN0IHRoZSBkZXZlbG9wZXJzLlxuUG9zaXRpb246ICVzXG4iLHdoeSk7CisgCisrI2RlZmluZSBRRE0yX01BWF9GUkFNRV9TSVpFIDUxMgorIAorIHR5cGVkZWYgaW50OF90IHNiX2ludDhfYXJyYXlbMl1bMzBdWzY0XTsKKyAKK0BAIC0xNjgsNyArMTY5LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgeworICAgICAvLy8gSS9PIGRhdGEKKyAgICAgY29uc3QgdWludDhfdCAqY29tcHJlc3NlZF9kYXRhOworICAgICBpbnQgY29tcHJlc3NlZF9zaXplOworLSAgICBmbG9hdCBvdXRwdXRfYnVmZmVyWzEwMjRdOworKyAgICBmbG9hdCBvdXRwdXRfYnVmZmVyW1FETTJfTUFYX0ZSQU1FX1NJWkUgKiBNUEFfTUFYX0NIQU5ORUxTICogMl07CisgCisgICAgIC8vLyBTeW50aGVzaXMgZmlsdGVyCisgICAgIE1QQURTUENvbnRleHQgbXBhZHNwOworQEAgLTE4MTksNiArMTgyMCw5IEBAIHN0YXRpYyBhdl9jb2xkIGludCBxZG0yX2RlY29kZV9pbml0KEFWQ29kZWNDb250ZXh0ICphdmN0eCkKKyAgICAgcy0+Z3JvdXBfb3JkZXIgPSBhdl9sb2cyKHMtPmdyb3VwX3NpemUpICsgMTsKKyAgICAgcy0+ZnJhbWVfc2l6ZSA9IHMtPmdyb3VwX3NpemUgLyAxNjsgLy8gMTYgaXRlcmF0aW9ucyBwZXIgc3VwZXIgYmxvY2sKKyAKKysgICAgaWYgKHMtPmZyYW1lX3NpemUgPiBRRE0yX01BWF9GUkFNRV9TSVpFKQorKyAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CisrCisgICAgIHMtPnN1Yl9zYW1wbGluZyA9IHMtPmZmdF9vcmRlciAtIDc7CisgICAgIHMtPmZyZXF1ZW5jeV9yYW5nZSA9IDI1NSAvICgxIDw8ICgyIC0gcy0+c3ViX3NhbXBsaW5nKSk7CisgCitAQCAtMTg4Nyw2ICsxODkxLDkgQEAgc3RhdGljIGludCBxZG0yX2RlY29kZSAoUURNMkNvbnRleHQgKnEsIGNvbnN0IHVpbnQ4X3QgKmluLCBpbnQxNl90ICpvdXQpCisgICAgIGludCBjaCwgaTsKKyAgICAgY29uc3QgaW50IGZyYW1lX3NpemUgPSAocS0+ZnJhbWVfc2l6ZSAqIHEtPmNoYW5uZWxzKTsKKyAKKysgICAgaWYoKHVuc2lnbmVkKWZyYW1lX3NpemUgPiBGRl9BUlJBWV9FTEVNUyhxLT5vdXRwdXRfYnVmZmVyKS8yKQorKyAgICAgICAgcmV0dXJuIC0xOworKworICAgICAvKiBzZWxlY3QgaW5wdXQgYnVmZmVyICovCisgICAgIHEtPmNvbXByZXNzZWRfZGF0YSA9IGluOworICAgICBxLT5jb21wcmVzc2VkX3NpemUgPSBxLT5jaGVja3N1bV9zaXplOworLS0gCisxLjcuNS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1yb3F2aWRlb2RlYy1jaGVjay1kaW1lbnNpb25zLXZhbGlkaXR5LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLXJvcXZpZGVvZGVjLWNoZWNrLWRpbWVuc2lvbnMtdmFsaWRpdHkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2U1OGFmYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1yb3F2aWRlb2RlYy1jaGVjay1kaW1lbnNpb25zLXZhbGlkaXR5LnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gMzkxZTBmYzZjOTBjZWQ2NjU2Yjc0ZjUwZjNhNDg3YjZkYzc2ZWE2MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBUaHUsIDI5IE5vdiAyMDEyIDE1OjE4OjE3ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHJvcXZpZGVvZGVjOiBjaGVjayBkaW1lbnNpb25zIHZhbGlkaXR5CisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworQ29tbWl0IDM5MWUwZmM2YzkwY2VkNjY1NmI3NGY1MGYzYTQ4N2I2ZGM3NmVhNjMgcmVsZWFzZS8wLjcKKworRm91bmQtYnk6IE1hdGV1c3ogImowMHJ1IiBKdXJjenlrIGFuZCBHeW52YWVsIENvbGR3aW5kCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgM2FlNjEwNDUxMTcwY2Q1YTI4YjMzOTUwMDA2ZmYwYmQyMzAzNjg0NSkKKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKy0tLQorIGxpYmF2Y29kZWMvcm9xdmlkZW9kZWMuYyB8IDYgKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9yb3F2aWRlb2RlYy5jIGIvbGliYXZjb2RlYy9yb3F2aWRlb2RlYy5jCitpbmRleCBmMDk3N2Y2Li40ZTM0MjMxIDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvcm9xdmlkZW9kZWMuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvcm9xdmlkZW9kZWMuYworQEAgLTE1Nyw2ICsxNTcsMTIgQEAgc3RhdGljIGF2X2NvbGQgaW50IHJvcV9kZWNvZGVfaW5pdChBVkNvZGVjQ29udGV4dCAqYXZjdHgpCisgICAgIFJvcUNvbnRleHQgKnMgPSBhdmN0eC0+cHJpdl9kYXRhOworIAorICAgICBzLT5hdmN0eCA9IGF2Y3R4OworKworKyAgICBpZiAoYXZjdHgtPndpZHRoJTE2IHx8IGF2Y3R4LT5oZWlnaHQlMTYpIHsKKysgICAgICAgICBhdl9sb2dfYXNrX2Zvcl9zYW1wbGUoYXZjdHgsICJkaW1lbnNpb25zIG5vdCBiZWluZyBhIG11bHRpcGxlIG9mIDE2IGFyZSB1bnN1cHBvcnRlZFxuIik7CisrICAgICAgICAgcmV0dXJuIEFWRVJST1JfUEFUQ0hXRUxDT01FOworKyAgICB9CisrCisgICAgIHMtPndpZHRoID0gYXZjdHgtPndpZHRoOworICAgICBzLT5oZWlnaHQgPSBhdmN0eC0+aGVpZ2h0OworICAgICBhdmNvZGVjX2dldF9mcmFtZV9kZWZhdWx0cygmcy0+ZnJhbWVzWzBdKTsKKy0tIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLXNtYWNrZXJkZWMtQ2hlY2stdGhhdC10aGUtbGFzdC1pbmRleGVzLWFyZS13aXRoaW4tdGgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtc21hY2tlcmRlYy1DaGVjay10aGF0LXRoZS1sYXN0LWluZGV4ZXMtYXJlLXdpdGhpbi10aC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNWIxNjE0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLXNtYWNrZXJkZWMtQ2hlY2stdGhhdC10aGUtbGFzdC1pbmRleGVzLWFyZS13aXRoaW4tdGgucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorZ3N0LWZmbXBlZzogc21hY2tlcmRlYzogQ2hlY2sgdGhhdCB0aGUgbGFzdCBpbmRleGVzIGFyZSB3aXRoaW4gdGhlCisgdGFibGUuCisKK0ZpeGVzIENWRS0yMDExLTM5NDQKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCAKKworRm91bmQtYnk6IE1hdGV1c3ogImowMHJ1IiBKdXJjenlrIGFuZCBHeW52YWVsIENvbGR3aW5kCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorLS0tCisgbGliYXZjb2RlYy9zbWFja2VyLmMgfCAgICA1ICsrKysrCisgMSBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJhdmNvZGVjL3NtYWNrZXIuYyBiL2xpYmF2Y29kZWMvc21hY2tlci5jCitpbmRleCAzMGY5OWI0Li4yYThiYWU4IDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvc21hY2tlci5jCisrKysgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9zbWFja2VyLmMKK0BAIC0yNTksNiArMjU5LDExIEBAIHN0YXRpYyBpbnQgc21hY2tlcl9kZWNvZGVfaGVhZGVyX3RyZWUoU21hY2tWQ29udGV4dCAqc21rLCBHZXRCaXRDb250ZXh0ICpnYiwgaW50CisgICAgIGlmKGN0eC5sYXN0WzBdID09IC0xKSBjdHgubGFzdFswXSA9IGh1ZmYuY3VycmVudCsrOworICAgICBpZihjdHgubGFzdFsxXSA9PSAtMSkgY3R4Lmxhc3RbMV0gPSBodWZmLmN1cnJlbnQrKzsKKyAgICAgaWYoY3R4Lmxhc3RbMl0gPT0gLTEpIGN0eC5sYXN0WzJdID0gaHVmZi5jdXJyZW50Kys7CisrICAgIGlmKGh1ZmYuY3VycmVudCA+IGh1ZmYubGVuZ3RoKXsKKysgICAgICAgIGN0eC5sYXN0WzBdID0gY3R4Lmxhc3RbMV0gPSBjdHgubGFzdFsyXSA9IDE7CisrICAgICAgICBhdl9sb2coc21rLT5hdmN0eCwgQVZfTE9HX0VSUk9SLCAiYmlndHJlZSBkYW1hZ2VkXG4iKTsKKysgICAgICAgIHJldHVybiAtMTsKKysgICAgfQorIAorICAgICAqcmVjb2RlcyA9IGh1ZmYudmFsdWVzOworIAorLS0gCisxLjcuNS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS12cDMtQ29weS1hbGwtMy1mcmFtZXMtZm9yLXRocmVhZC11cGRhdGVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLXZwMy1Db3B5LWFsbC0zLWZyYW1lcy1mb3ItdGhyZWFkLXVwZGF0ZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTE5ODljZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS12cDMtQ29weS1hbGwtMy1mcmFtZXMtZm9yLXRocmVhZC11cGRhdGVzLnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK2dzdC1mZm1wZWc6IHZwMzogQ29weSBhbGwgMyBmcmFtZXMgZm9yIHRocmVhZCB1cGRhdGVzLgorCitUaGlzIGZpeGVzIGEgZG91YmxlIHJlbGVhc2Ugb2YgdGhlIGN1cnJlbnQgZnJhbWUgb24gZGVpbml0LgorRml4ZXMgQ1ZFLTIwMTEtMzkzNAorCitGb3VuZC1ieTogTWF0ZXVzeiAiajAwcnUiIEp1cmN6eWsgYW5kIEd5bnZhZWwgQ29sZHdpbmQKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworU2lnbmVkLW9mZi1ieTogWXVlLlRhbyA8eXVlLnRhb0B3aW5kcml2ZXIuY29tPgorCistLS0KKyBsaWJhdmNvZGVjL3ZwMy5jIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy92cDMuYyBiL2xpYmF2Y29kZWMvdnAzLmMKK2luZGV4IDczOGFlOWYuLmI1ZGFhZmMgMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy92cDMuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvdnAzLmMKK0BAIC0xODU5LDcgKzE4NTksNyBAQCBzdGF0aWMgaW50IHZwM191cGRhdGVfdGhyZWFkX2NvbnRleHQoQVZDb2RlY0NvbnRleHQgKmRzdCwgY29uc3QgQVZDb2RlY0NvbnRleHQgKgorICAgICAgICAgfHxzLT53aWR0aCAhPSBzMS0+d2lkdGgKKyAgICAgICAgIHx8cy0+aGVpZ2h0IT0gczEtPmhlaWdodCkgeworICAgICAgICAgaWYgKHMgIT0gczEpCistICAgICAgICAgICAgY29weV9maWVsZHMocywgczEsIGdvbGRlbl9mcmFtZSwgY3VycmVudF9mcmFtZSk7CisrICAgICAgICAgICAgY29weV9maWVsZHMocywgczEsIGdvbGRlbl9mcmFtZSwga2V5ZnJhbWUpOworICAgICAgICAgcmV0dXJuIC0xOworICAgICB9CisgCistLSAKKzEuNy41LjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLXZwMy1maXgtb29iLXJlYWQtZm9yLW5lZ2F0aXZlLXRva2Vucy1hbmQtbWVtbGVha3Mtb24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtdnAzLWZpeC1vb2ItcmVhZC1mb3ItbmVnYXRpdmUtdG9rZW5zLWFuZC1tZW1sZWFrcy1vbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODNkOGY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLXZwMy1maXgtb29iLXJlYWQtZm9yLW5lZ2F0aXZlLXRva2Vucy1hbmQtbWVtbGVha3Mtb24ucGF0Y2gKQEAgLTAsMCArMSwxODMgQEAKK2dzdC1mZm1wZWc6IHZwMzogZml4IG9vYiByZWFkIGZvciBuZWdhdGl2ZSB0b2tlbnMgYW5kIG1lbWxlYWtzIG9uIGVycm9yLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IAorCitTaWduZWQtb2ZmLWJ5OiBZdWUuVGFvIDx5dWUudGFvQHdpbmRyaXZlci5jb20+CisKKy0tLQorIGxpYmF2Y29kZWMvdnAzLmMgfCAgIDU5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCisgMSBmaWxlcyBjaGFuZ2VkLCA0NSBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvdnAzLmMgYi9saWJhdmNvZGVjL3ZwMy5jCitpbmRleCAzNjcxNWJiLi5jZTE0ZTYzIDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvdnAzLmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3ZwMy5jCitAQCAtNDUsNiArNDUsNyBAQAorICNkZWZpbmUgRlJBR01FTlRfUElYRUxTIDgKKyAKKyBzdGF0aWMgYXZfY29sZCBpbnQgdnAzX2RlY29kZV9lbmQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KTsKKytzdGF0aWMgdm9pZCB2cDNfZGVjb2RlX2ZsdXNoKEFWQ29kZWNDb250ZXh0ICphdmN0eCk7CisgCisgLy9GSVhNRSBzcGxpdCB0aGluZ3Mgb3V0IGludG8gdGhlaXIgb3duIGFycmF5cworIHR5cGVkZWYgc3RydWN0IFZwM0ZyYWdtZW50IHsKK0BAIC04OTAsNyArODkxLDcgQEAgc3RhdGljIGludCB1bnBhY2tfdmxjcyhWcDNEZWNvZGVDb250ZXh0ICpzLCBHZXRCaXRDb250ZXh0ICpnYiwKKyAgICAgICAgICAgICAvKiBkZWNvZGUgYSBWTEMgaW50byBhIHRva2VuICovCisgICAgICAgICAgICAgdG9rZW4gPSBnZXRfdmxjMihnYiwgdmxjX3RhYmxlLCAxMSwgMyk7CisgICAgICAgICAgICAgLyogdXNlIHRoZSB0b2tlbiB0byBnZXQgYSB6ZXJvIHJ1biwgYSBjb2VmZmljaWVudCwgYW5kIGFuIGVvYiBydW4gKi8KKy0gICAgICAgICAgICBpZiAodG9rZW4gPD0gNikgeworKyAgICAgICAgICAgIGlmICgodW5zaWduZWQpIHRva2VuIDw9IDZVKSB7CisgICAgICAgICAgICAgICAgIGVvYl9ydW4gPSBlb2JfcnVuX2Jhc2VbdG9rZW5dOworICAgICAgICAgICAgICAgICBpZiAoZW9iX3J1bl9nZXRfYml0c1t0b2tlbl0pCisgICAgICAgICAgICAgICAgICAgICBlb2JfcnVuICs9IGdldF9iaXRzKGdiLCBlb2JfcnVuX2dldF9iaXRzW3Rva2VuXSk7CitAQCAtOTA4LDcgKzkwOSw3IEBAIHN0YXRpYyBpbnQgdW5wYWNrX3ZsY3MoVnAzRGVjb2RlQ29udGV4dCAqcywgR2V0Qml0Q29udGV4dCAqZ2IsCisgICAgICAgICAgICAgICAgICAgICBjb2VmZl9pICAgICAgICArPSBlb2JfcnVuOworICAgICAgICAgICAgICAgICAgICAgZW9iX3J1biA9IDA7CisgICAgICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICB9IGVsc2UgeworKyAgICAgICAgICAgIH0gZWxzZSBpZiAodG9rZW4gPj0gMCkgeworICAgICAgICAgICAgICAgICBiaXRzX3RvX2dldCA9IGNvZWZmX2dldF9iaXRzW3Rva2VuXTsKKyAgICAgICAgICAgICAgICAgaWYgKGJpdHNfdG9fZ2V0KQorICAgICAgICAgICAgICAgICAgICAgYml0c190b19nZXQgPSBnZXRfYml0cyhnYiwgYml0c190b19nZXQpOworQEAgLTk0Miw2ICs5NDMsMTAgQEAgc3RhdGljIGludCB1bnBhY2tfdmxjcyhWcDNEZWNvZGVDb250ZXh0ICpzLCBHZXRCaXRDb250ZXh0ICpnYiwKKyAgICAgICAgICAgICAgICAgZm9yIChpID0gY29lZmZfaW5kZXgrMTsgaSA8PSBjb2VmZl9pbmRleCt6ZXJvX3J1bjsgaSsrKQorICAgICAgICAgICAgICAgICAgICAgcy0+bnVtX2NvZGVkX2ZyYWdzW3BsYW5lXVtpXS0tOworICAgICAgICAgICAgICAgICBjb2VmZl9pKys7CisrICAgICAgICAgICAgfSBlbHNlIHsKKysgICAgICAgICAgICAgICAgYXZfbG9nKHMtPmF2Y3R4LCBBVl9MT0dfRVJST1IsCisrICAgICAgICAgICAgICAgICAgICAgICAiSW52YWxpZCB0b2tlbiAlZFxuIiwgdG9rZW4pOworKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICAgfQorICAgICB9CisgCitAQCAtOTkxLDYgKzk5Niw4IEBAIHN0YXRpYyBpbnQgdW5wYWNrX2RjdF9jb2VmZnMoVnAzRGVjb2RlQ29udGV4dCAqcywgR2V0Qml0Q29udGV4dCAqZ2IpCisgICAgIC8qIHVucGFjayB0aGUgWSBwbGFuZSBEQyBjb2VmZmljaWVudHMgKi8KKyAgICAgcmVzaWR1YWxfZW9iX3J1biA9IHVucGFja192bGNzKHMsIGdiLCAmcy0+ZGNfdmxjW2RjX3lfdGFibGVdLCAwLAorICAgICAgICAgMCwgcmVzaWR1YWxfZW9iX3J1bik7CisrICAgIGlmIChyZXNpZHVhbF9lb2JfcnVuIDwgMCkKKysgICAgICAgIHJldHVybiByZXNpZHVhbF9lb2JfcnVuOworIAorICAgICAvKiByZXZlcnNlIHByZWRpY3Rpb24gb2YgdGhlIFktcGxhbmUgREMgY29lZmZpY2llbnRzICovCisgICAgIHJldmVyc2VfZGNfcHJlZGljdGlvbihzLCAwLCBzLT5mcmFnbWVudF93aWR0aFswXSwgcy0+ZnJhZ21lbnRfaGVpZ2h0WzBdKTsKK0BAIC05OTgsOCArMTAwNSwxMiBAQCBzdGF0aWMgaW50IHVucGFja19kY3RfY29lZmZzKFZwM0RlY29kZUNvbnRleHQgKnMsIEdldEJpdENvbnRleHQgKmdiKQorICAgICAvKiB1bnBhY2sgdGhlIEMgcGxhbmUgREMgY29lZmZpY2llbnRzICovCisgICAgIHJlc2lkdWFsX2VvYl9ydW4gPSB1bnBhY2tfdmxjcyhzLCBnYiwgJnMtPmRjX3ZsY1tkY19jX3RhYmxlXSwgMCwKKyAgICAgICAgIDEsIHJlc2lkdWFsX2VvYl9ydW4pOworKyAgICBpZiAocmVzaWR1YWxfZW9iX3J1biA8IDApCisrICAgICAgICByZXR1cm4gcmVzaWR1YWxfZW9iX3J1bjsKKyAgICAgcmVzaWR1YWxfZW9iX3J1biA9IHVucGFja192bGNzKHMsIGdiLCAmcy0+ZGNfdmxjW2RjX2NfdGFibGVdLCAwLAorICAgICAgICAgMiwgcmVzaWR1YWxfZW9iX3J1bik7CisrICAgIGlmIChyZXNpZHVhbF9lb2JfcnVuIDwgMCkKKysgICAgICAgIHJldHVybiByZXNpZHVhbF9lb2JfcnVuOworIAorICAgICAvKiByZXZlcnNlIHByZWRpY3Rpb24gb2YgdGhlIEMtcGxhbmUgREMgY29lZmZpY2llbnRzICovCisgICAgIGlmICghKHMtPmF2Y3R4LT5mbGFncyAmIENPREVDX0ZMQUdfR1JBWSkpCitAQCAtMTAzNiwxMSArMTA0NywxNyBAQCBzdGF0aWMgaW50IHVucGFja19kY3RfY29lZmZzKFZwM0RlY29kZUNvbnRleHQgKnMsIEdldEJpdENvbnRleHQgKmdiKQorICAgICBmb3IgKGkgPSAxOyBpIDw9IDYzOyBpKyspIHsKKyAgICAgICAgICAgICByZXNpZHVhbF9lb2JfcnVuID0gdW5wYWNrX3ZsY3MocywgZ2IsIHlfdGFibGVzW2ldLCBpLAorICAgICAgICAgICAgICAgICAwLCByZXNpZHVhbF9lb2JfcnVuKTsKKysgICAgICAgICAgICBpZiAocmVzaWR1YWxfZW9iX3J1biA8IDApCisrICAgICAgICAgICAgICAgIHJldHVybiByZXNpZHVhbF9lb2JfcnVuOworIAorICAgICAgICAgICAgIHJlc2lkdWFsX2VvYl9ydW4gPSB1bnBhY2tfdmxjcyhzLCBnYiwgY190YWJsZXNbaV0sIGksCisgICAgICAgICAgICAgICAgIDEsIHJlc2lkdWFsX2VvYl9ydW4pOworKyAgICAgICAgICAgIGlmIChyZXNpZHVhbF9lb2JfcnVuIDwgMCkKKysgICAgICAgICAgICAgICAgcmV0dXJuIHJlc2lkdWFsX2VvYl9ydW47CisgICAgICAgICAgICAgcmVzaWR1YWxfZW9iX3J1biA9IHVucGFja192bGNzKHMsIGdiLCBjX3RhYmxlc1tpXSwgaSwKKyAgICAgICAgICAgICAgICAgMiwgcmVzaWR1YWxfZW9iX3J1bik7CisrICAgICAgICAgICAgaWYgKHJlc2lkdWFsX2VvYl9ydW4gPCAwKQorKyAgICAgICAgICAgICAgICByZXR1cm4gcmVzaWR1YWxfZW9iX3J1bjsKKyAgICAgfQorIAorICAgICByZXR1cm4gMDsKK0BAIC0xNzc3LDEwICsxNzk0LDE1IEBAIHN0YXRpYyBpbnQgdnAzX3VwZGF0ZV90aHJlYWRfY29udGV4dChBVkNvZGVjQ29udGV4dCAqZHN0LCBjb25zdCBBVkNvZGVjQ29udGV4dCAqCisgICAgIFZwM0RlY29kZUNvbnRleHQgKnMgPSBkc3QtPnByaXZfZGF0YSwgKnMxID0gc3JjLT5wcml2X2RhdGE7CisgICAgIGludCBxcHNfY2hhbmdlZCA9IDAsIGksIGVycjsKKyAKKysjZGVmaW5lIGNvcHlfZmllbGRzKHRvLCBmcm9tLCBzdGFydF9maWVsZCwgZW5kX2ZpZWxkKSBtZW1jcHkoJnRvLT5zdGFydF9maWVsZCwgJmZyb20tPnN0YXJ0X2ZpZWxkLCAoY2hhciopJnRvLT5lbmRfZmllbGQgLSAoY2hhciopJnRvLT5zdGFydF9maWVsZCkKKysKKyAgICAgaWYgKCFzMS0+Y3VycmVudF9mcmFtZS5kYXRhWzBdCisgICAgICAgICB8fHMtPndpZHRoICE9IHMxLT53aWR0aAorLSAgICAgICAgfHxzLT5oZWlnaHQhPSBzMS0+aGVpZ2h0KQorKyAgICAgICAgfHxzLT5oZWlnaHQhPSBzMS0+aGVpZ2h0KSB7CisrICAgICAgICBpZiAocyAhPSBzMSkKKysgICAgICAgICAgICBjb3B5X2ZpZWxkcyhzLCBzMSwgZ29sZGVuX2ZyYW1lLCBjdXJyZW50X2ZyYW1lKTsKKyAgICAgICAgIHJldHVybiAtMTsKKysgICAgfQorIAorICAgICBpZiAocyAhPSBzMSkgeworICAgICAgICAgLy8gaW5pdCB0YWJsZXMgaWYgdGhlIGZpcnN0IGZyYW1lIGhhc24ndCBiZWVuIGRlY29kZWQKK0BAIC0xNzk2LDggKzE4MTgsNiBAQCBzdGF0aWMgaW50IHZwM191cGRhdGVfdGhyZWFkX2NvbnRleHQoQVZDb2RlY0NvbnRleHQgKmRzdCwgY29uc3QgQVZDb2RlY0NvbnRleHQgKgorICAgICAgICAgICAgIG1lbWNweShzLT5tb3Rpb25fdmFsWzFdLCBzMS0+bW90aW9uX3ZhbFsxXSwgY19mcmFnbWVudF9jb3VudCAqIHNpemVvZigqcy0+bW90aW9uX3ZhbFsxXSkpOworICAgICAgICAgfQorIAorLSNkZWZpbmUgY29weV9maWVsZHModG8sIGZyb20sIHN0YXJ0X2ZpZWxkLCBlbmRfZmllbGQpIG1lbWNweSgmdG8tPnN0YXJ0X2ZpZWxkLCAmZnJvbS0+c3RhcnRfZmllbGQsIChjaGFyKikmdG8tPmVuZF9maWVsZCAtIChjaGFyKikmdG8tPnN0YXJ0X2ZpZWxkKQorLQorICAgICAgICAgLy8gY29weSBwcmV2aW91cyBmcmFtZSBkYXRhCisgICAgICAgICBjb3B5X2ZpZWxkcyhzLCBzMSwgZ29sZGVuX2ZyYW1lLCBkc3ApOworIAorQEAgLTE5ODcsOSArMjAwNyw2IEBAIHN0YXRpYyBhdl9jb2xkIGludCB2cDNfZGVjb2RlX2VuZChBVkNvZGVjQ29udGV4dCAqYXZjdHgpCisgICAgIFZwM0RlY29kZUNvbnRleHQgKnMgPSBhdmN0eC0+cHJpdl9kYXRhOworICAgICBpbnQgaTsKKyAKKy0gICAgaWYgKGF2Y3R4LT5pc19jb3B5ICYmICFzLT5jdXJyZW50X2ZyYW1lLmRhdGFbMF0pCistICAgICAgICByZXR1cm4gMDsKKy0KKyAgICAgYXZfZnJlZShzLT5zdXBlcmJsb2NrX2NvZGluZyk7CisgICAgIGF2X2ZyZWUocy0+YWxsX2ZyYWdtZW50cyk7CisgICAgIGF2X2ZyZWUocy0+Y29kZWRfZnJhZ21lbnRfbGlzdFswXSk7CitAQCAtMjAxNiwxMiArMjAzMyw3IEBAIHN0YXRpYyBhdl9jb2xkIGludCB2cDNfZGVjb2RlX2VuZChBVkNvZGVjQ29udGV4dCAqYXZjdHgpCisgICAgIGZyZWVfdmxjKCZzLT5tb3Rpb25fdmVjdG9yX3ZsYyk7CisgCisgICAgIC8qIHJlbGVhc2UgYWxsIGZyYW1lcyAqLworLSAgICBpZiAocy0+Z29sZGVuX2ZyYW1lLmRhdGFbMF0pCistICAgICAgICBmZl90aHJlYWRfcmVsZWFzZV9idWZmZXIoYXZjdHgsICZzLT5nb2xkZW5fZnJhbWUpOworLSAgICBpZiAocy0+bGFzdF9mcmFtZS5kYXRhWzBdICYmIHMtPmxhc3RfZnJhbWUudHlwZSAhPSBGRl9CVUZGRVJfVFlQRV9DT1BZKQorLSAgICAgICAgZmZfdGhyZWFkX3JlbGVhc2VfYnVmZmVyKGF2Y3R4LCAmcy0+bGFzdF9mcmFtZSk7CistICAgIC8qIG5vIG5lZWQgdG8gcmVsZWFzZSB0aGUgY3VycmVudF9mcmFtZSBzaW5jZSBpdCB3aWxsIGFsd2F5cyBiZSBwb2ludGluZworLSAgICAgKiB0byB0aGUgc2FtZSBmcmFtZSBhcyBlaXRoZXIgdGhlIGdvbGRlbiBvciBsYXN0IGZyYW1lICovCisrICAgIHZwM19kZWNvZGVfZmx1c2goYXZjdHgpOworIAorICAgICByZXR1cm4gMDsKKyB9CitAQCAtMjM0MSw2ICsyMzUzLDIzIEBAIHN0YXRpYyB2b2lkIHZwM19kZWNvZGVfZmx1c2goQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQorICAgICAgICAgZmZfdGhyZWFkX3JlbGVhc2VfYnVmZmVyKGF2Y3R4LCAmcy0+Y3VycmVudF9mcmFtZSk7CisgfQorIAorK3N0YXRpYyBpbnQgdnAzX2luaXRfdGhyZWFkX2NvcHkoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQorK3sKKysgICAgVnAzRGVjb2RlQ29udGV4dCAqcyA9IGF2Y3R4LT5wcml2X2RhdGE7CisrCisrICAgIHMtPnN1cGVyYmxvY2tfY29kaW5nICAgICAgPSBOVUxMOworKyAgICBzLT5hbGxfZnJhZ21lbnRzICAgICAgICAgID0gTlVMTDsKKysgICAgcy0+Y29kZWRfZnJhZ21lbnRfbGlzdFswXSA9IE5VTEw7CisrICAgIHMtPmRjdF90b2tlbnNfYmFzZSAgICAgICAgPSBOVUxMOworKyAgICBzLT5zdXBlcmJsb2NrX2ZyYWdtZW50cyAgID0gTlVMTDsKKysgICAgcy0+bWFjcm9ibG9ja19jb2RpbmcgICAgICA9IE5VTEw7CisrICAgIHMtPm1vdGlvbl92YWxbMF0gICAgICAgICAgPSBOVUxMOworKyAgICBzLT5tb3Rpb25fdmFsWzFdICAgICAgICAgID0gTlVMTDsKKysgICAgcy0+ZWRnZV9lbXVfYnVmZmVyICAgICAgICA9IE5VTEw7CisrCisrICAgIHJldHVybiAwOworK30KKysKKyBBVkNvZGVjIGZmX3RoZW9yYV9kZWNvZGVyID0geworICAgICAubmFtZSAgICAgICAgICAgPSAidGhlb3JhIiwKKyAgICAgLnR5cGUgICAgICAgICAgID0gQVZNRURJQV9UWVBFX1ZJREVPLAorQEAgLTIzNTIsNiArMjM4MSw3IEBAIEFWQ29kZWMgZmZfdGhlb3JhX2RlY29kZXIgPSB7CisgICAgIC5jYXBhYmlsaXRpZXMgICA9IENPREVDX0NBUF9EUjEgfCBDT0RFQ19DQVBfRFJBV19IT1JJWl9CQU5EIHwgQ09ERUNfQ0FQX0ZSQU1FX1RIUkVBRFMsCisgICAgIC5mbHVzaCA9IHZwM19kZWNvZGVfZmx1c2gsCisgICAgIC5sb25nX25hbWUgPSBOVUxMX0lGX0NPTkZJR19TTUFMTCgiVGhlb3JhIiksCisrICAgIC5pbml0X3RocmVhZF9jb3B5ICAgICAgPSBPTkxZX0lGX1RIUkVBRFNfRU5BQkxFRCh2cDNfaW5pdF90aHJlYWRfY29weSksCisgICAgIC51cGRhdGVfdGhyZWFkX2NvbnRleHQgPSBPTkxZX0lGX1RIUkVBRFNfRU5BQkxFRCh2cDNfdXBkYXRlX3RocmVhZF9jb250ZXh0KQorIH07CisgI2VuZGlmCitAQCAtMjM2Nyw1ICsyMzk3LDYgQEAgQVZDb2RlYyBmZl92cDNfZGVjb2RlciA9IHsKKyAgICAgLmNhcGFiaWxpdGllcyAgID0gQ09ERUNfQ0FQX0RSMSB8IENPREVDX0NBUF9EUkFXX0hPUklaX0JBTkQgfCBDT0RFQ19DQVBfRlJBTUVfVEhSRUFEUywKKyAgICAgLmZsdXNoID0gdnAzX2RlY29kZV9mbHVzaCwKKyAgICAgLmxvbmdfbmFtZSA9IE5VTExfSUZfQ09ORklHX1NNQUxMKCJPbjIgVlAzIiksCisrICAgIC5pbml0X3RocmVhZF9jb3B5ICAgICAgPSBPTkxZX0lGX1RIUkVBRFNfRU5BQkxFRCh2cDNfaW5pdF90aHJlYWRfY29weSksCisgICAgIC51cGRhdGVfdGhyZWFkX2NvbnRleHQgPSBPTkxZX0lGX1RIUkVBRFNfRU5BQkxFRCh2cDNfdXBkYXRlX3RocmVhZF9jb250ZXh0KQorIH07CistLSAKKzEuNy41LjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLXZxYXZpZGVvLWNoZWNrLWNodW5rLXNpemVzLWJlZm9yZS1yZWFkaW5nLWNodW5rcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS12cWF2aWRlby1jaGVjay1jaHVuay1zaXplcy1iZWZvcmUtcmVhZGluZy1jaHVua3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2U0ZjY4MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS12cWF2aWRlby1jaGVjay1jaHVuay1zaXplcy1iZWZvcmUtcmVhZGluZy1jaHVua3MucGF0Y2gKQEAgLTAsMCArMSw1MSBAQAorRnJvbSAyY2FjMzUwODZjOWUxMDNmYTk4OTYwYzU0NmQ1MDE3ZTczNjM4MDNhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KK0RhdGU6IEZyaSwgMjUgSmFuIDIwMTMgMDY6MTE6NTkgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gdnFhdmlkZW86IGNoZWNrIGNodW5rIHNpemVzIGJlZm9yZSByZWFkaW5nIGNodW5rcworCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK0NvbW1pdCAyY2FjMzUwODZjOWUxMDNmYTk4OTYwYzU0NmQ1MDE3ZTczNjM4MDNhIHJlbGVhc2UvMC43CisKK0ZpeGVzIG91dCBvZiBhcnJheSB3cml0ZXMKKworRm91bmQtYnk6IE1hdGV1c3ogImowMHJ1IiBKdXJjenlrIGFuZCBHeW52YWVsIENvbGR3aW5kCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYWI2YzkzMzJiZmExZTIwMTI3YTE2MzkyYTBiODVhNGFhNDg0MDg4OSkKKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKy0tLQorIGxpYmF2Y29kZWMvdnFhdmlkZW8uYyB8ICAgMTAgKysrKysrKysrKworIDEgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvdnFhdmlkZW8uYyBiL2xpYmF2Y29kZWMvdnFhdmlkZW8uYworaW5kZXggZDFlYWI1Yi4uNmUxY2U2YyAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3ZxYXZpZGVvLmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3ZxYXZpZGVvLmMKK0BAIC01MjcsNiArNTI3LDExIEBAIHN0YXRpYyB2b2lkIHZxYV9kZWNvZGVfY2h1bmsoVnFhQ29udGV4dCAqcykKKyAgICAgICAgIGNodW5rX3NpemUgPSBBVl9SQjMyKCZzLT5idWZbY2JwMF9jaHVuayArIDRdKTsKKyAgICAgICAgIGNicDBfY2h1bmsgKz0gQ0hVTktfUFJFQU1CTEVfU0laRTsKKyAKKysgICAgICAgIGlmIChjaHVua19zaXplID4gTUFYX0NPREVCT09LX1NJWkUgLSBzLT5uZXh0X2NvZGVib29rX2J1ZmZlcl9pbmRleCkgeworKyAgICAgICAgICAgIGF2X2xvZyhzLT5hdmN0eCwgQVZfTE9HX0VSUk9SLCAiY2JwMCBjaHVuayB0b28gbGFyZ2UgKDB4JVggYnl0ZXMpXG4iLCBjaHVua19zaXplKTsKKysgICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKKysgICAgICAgIH0KKysKKyAgICAgICAgIC8qIGFjY3VtdWxhdGUgcGFydGlhbCBjb2RlYm9vayAqLworICAgICAgICAgbWVtY3B5KCZzLT5uZXh0X2NvZGVib29rX2J1ZmZlcltzLT5uZXh0X2NvZGVib29rX2J1ZmZlcl9pbmRleF0sCisgICAgICAgICAgICAgJnMtPmJ1ZltjYnAwX2NodW5rXSwgY2h1bmtfc2l6ZSk7CitAQCAtNTUwLDYgKzU1NSwxMSBAQCBzdGF0aWMgdm9pZCB2cWFfZGVjb2RlX2NodW5rKFZxYUNvbnRleHQgKnMpCisgICAgICAgICBjaHVua19zaXplID0gQVZfUkIzMigmcy0+YnVmW2NicHpfY2h1bmsgKyA0XSk7CisgICAgICAgICBjYnB6X2NodW5rICs9IENIVU5LX1BSRUFNQkxFX1NJWkU7CisgCisrICAgICAgICBpZiAoY2h1bmtfc2l6ZSA+IE1BWF9DT0RFQk9PS19TSVpFIC0gcy0+bmV4dF9jb2RlYm9va19idWZmZXJfaW5kZXgpIHsKKysgICAgICAgICAgICBhdl9sb2cocy0+YXZjdHgsIEFWX0xPR19FUlJPUiwgImNicHogY2h1bmsgdG9vIGxhcmdlICgweCVYIGJ5dGVzKVxuIiwgY2h1bmtfc2l6ZSk7CisrICAgICAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CisrICAgICAgICB9CisrCisgICAgICAgICAvKiBhY2N1bXVsYXRlIHBhcnRpYWwgY29kZWJvb2sgKi8KKyAgICAgICAgIG1lbWNweSgmcy0+bmV4dF9jb2RlYm9va19idWZmZXJbcy0+bmV4dF9jb2RlYm9va19idWZmZXJfaW5kZXhdLAorICAgICAgICAgICAgICZzLT5idWZbY2Jwel9jaHVua10sIGNodW5rX3NpemUpOworLS0gCisxLjcuNS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMi1hdmNvZGVjLW1qcGVnZGVjLWNoZWNrLWJpdHMtcGVyLXBpeGVsLWZvci1jaGFuZ2VzLXNpLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAyLWF2Y29kZWMtbWpwZWdkZWMtY2hlY2stYml0cy1wZXItcGl4ZWwtZm9yLWNoYW5nZXMtc2kucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzhiYWZkNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMi1hdmNvZGVjLW1qcGVnZGVjLWNoZWNrLWJpdHMtcGVyLXBpeGVsLWZvci1jaGFuZ2VzLXNpLnBhdGNoCkBAIC0wLDAgKzEsNjggQEAKK0Zyb20gNjA0M2M0MzFjOTdkNTUxNzNmMzM5ZmFmYmQwMzNkM2MwNjQyZTJlOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBGcmksIDMgT2N0IDIwMTQgMDE6NTA6MjcgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAyLzJdIGF2Y29kZWMvbWpwZWdkZWM6IGNoZWNrIGJpdHMgcGVyIHBpeGVsIGZvciBjaGFuZ2VzCisgc2ltaWxhciB0byBkaW1lbnNpb25zCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworRml4ZXMgb3V0IG9mIGFycmF5IGFjY2Vzc2VzCitGaXhlczogYXNhbl9oZWFwLW9vYl8xNjY2OGU5XzJfYXNhbl9oZWFwLW9vYl8xNjY2OGU5XzM0Nl9taXNzX2NvbmdlbmlhbGl0eV9wZWdhc3VzX21qcGcuYXZpCisKK0ZvdW5kLWJ5OiBNYXRldXN6ICJqMDBydSIgSnVyY3p5ayBhbmQgR3ludmFlbCBDb2xkd2luZAorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKworQ29uZmxpY3RzOgorCWxpYmF2Y29kZWMvbWpwZWdkZWMuYworLS0tCisgbGliYXZjb2RlYy9tanBlZ2RlYy5jIHwgMTUgKysrKysrKystLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL21qcGVnZGVjLmMgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9tanBlZ2RlYy5jCitpbmRleCA4NDM0M2MwLi5jMDEzN2Q4IDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvbWpwZWdkZWMuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvbWpwZWdkZWMuYworQEAgLTIxMCwxNiArMjEwLDE2IEBAIGludCBmZl9tanBlZ19kZWNvZGVfZGh0KE1KcGVnRGVjb2RlQ29udGV4dCAqcykKKyAKKyBpbnQgZmZfbWpwZWdfZGVjb2RlX3NvZihNSnBlZ0RlY29kZUNvbnRleHQgKnMpCisgeworLSAgICBpbnQgbGVuLCBuYl9jb21wb25lbnRzLCBpLCB3aWR0aCwgaGVpZ2h0LCBwaXhfZm10X2lkOworKyAgICBpbnQgbGVuLCBuYl9jb21wb25lbnRzLCBpLCBiaXRzLCB3aWR0aCwgaGVpZ2h0LCBwaXhfZm10X2lkOworIAorICAgICAvKiBYWFg6IHZlcmlmeSBsZW4gZmllbGQgdmFsaWRpdHkgKi8KKyAgICAgbGVuID0gZ2V0X2JpdHMoJnMtPmdiLCAxNik7CistICAgIHMtPmJpdHM9IGdldF9iaXRzKCZzLT5nYiwgOCk7CisrICAgIGJpdHM9IGdldF9iaXRzKCZzLT5nYiwgOCk7CisgCistICAgIGlmKHMtPnBlZ2FzdXNfcmN0KSBzLT5iaXRzPTk7CistICAgIGlmKHMtPmJpdHM9PTkgJiYgIXMtPnBlZ2FzdXNfcmN0KSBzLT5yY3Q9MTsgICAgLy9GSVhNRSB1Z2x5CisrICAgIGlmKHMtPnBlZ2FzdXNfcmN0KSBiaXRzPTk7CisrICAgIGlmKGJpdHM9PTkgJiYgIXMtPnBlZ2FzdXNfcmN0KSBzLT5yY3Q9MTsgICAgLy9GSVhNRSB1Z2x5CisgCistICAgIGlmIChzLT5iaXRzICE9IDggJiYgIXMtPmxvc3NsZXNzKXsKKysgICAgaWYgKGJpdHMgIT0gOCAmJiAhcy0+bG9zc2xlc3MpeworICAgICAgICAgYXZfbG9nKHMtPmF2Y3R4LCBBVl9MT0dfRVJST1IsICJvbmx5IDggYml0cy9jb21wb25lbnQgYWNjZXB0ZWRcbiIpOworICAgICAgICAgcmV0dXJuIC0xOworICAgICB9CitAQCAtMjM5LDcgKzIzOSw3IEBAIGludCBmZl9tanBlZ19kZWNvZGVfc29mKE1KcGVnRGVjb2RlQ29udGV4dCAqcykKKyAgICAgaWYgKG5iX2NvbXBvbmVudHMgPD0gMCB8fAorICAgICAgICAgbmJfY29tcG9uZW50cyA+IE1BWF9DT01QT05FTlRTKQorICAgICAgICAgcmV0dXJuIC0xOworLSAgICBpZiAocy0+bHMgJiYgIShzLT5iaXRzIDw9IDggfHwgbmJfY29tcG9uZW50cyA9PSAxKSl7CisrICAgIGlmIChzLT5scyAmJiAhKGJpdHMgPD0gOCB8fCBuYl9jb21wb25lbnRzID09IDEpKXsKKyAgICAgICAgIGF2X2xvZyhzLT5hdmN0eCwgQVZfTE9HX0VSUk9SLCAib25seSA8PSA4IGJpdHMvY29tcG9uZW50IG9yIDE2LWJpdCBncmF5IGFjY2VwdGVkIGZvciBKUEVHLUxTXG4iKTsKKyAgICAgICAgIHJldHVybiAtMTsKKyAgICAgfQorQEAgLTI3MiwxMCArMjcyLDExIEBAIGludCBmZl9tanBlZ19kZWNvZGVfc29mKE1KcGVnRGVjb2RlQ29udGV4dCAqcykKKyAKKyAgICAgLyogaWYgZGlmZmVyZW50IHNpemUsIHJlYWxsb2MvYWxsb2MgcGljdHVyZSAqLworICAgICAvKiBYWFg6IGFsc28gY2hlY2sgaF9jb3VudCBhbmQgdl9jb3VudCAqLworLSAgICBpZiAod2lkdGggIT0gcy0+d2lkdGggfHwgaGVpZ2h0ICE9IHMtPmhlaWdodCkgeworKyAgICBpZiAod2lkdGggIT0gcy0+d2lkdGggfHwgaGVpZ2h0ICE9IHMtPmhlaWdodCB8fCBiaXRzICE9IHMtPmJpdHMpIHsKKyAgICAgICAgIGF2X2ZyZWVwKCZzLT5xc2NhbGVfdGFibGUpOworIAorICAgICAgICAgcy0+d2lkdGggPSB3aWR0aDsKKysgICAgICAgIHMtPmJpdHM9IGJpdHM7CisgICAgICAgICBzLT5oZWlnaHQgPSBoZWlnaHQ7CisgICAgICAgICBzLT5pbnRlcmxhY2VkID0gMDsKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvY29uZmlndXJlLWZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvY29uZmlndXJlLWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZWY2ZjdjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9jb25maWd1cmUtZml4LnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKK0Rpc2FibGUgeWFzbSBmb3IgbGliYXYgd2hlbiAtLWRpc2FibGUteWFzbQorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IFNoYW5lIFdhbmcgPHNoYW5lLndhbmdAaW50ZWwuY29tPgorCitkaWZmIC1yIGYyZjhmNzRjNmUzMCBjb25maWd1cmUuYWMKKy0tLSBhL2NvbmZpZ3VyZS5hYwlUaHUgRGVjIDIyIDIzOjU2OjA5IDIwMTEgKzA4MDAKKysrKyBiL2NvbmZpZ3VyZS5hYwlUaHUgRGVjIDIyIDIzOjU3OjM3IDIwMTEgKzA4MDAKK0BAIC0zMjUsNiArMzI1LDEyIEBACisgICAgICAgICAtLWVuYWJsZS1ncGwiCisgICBmaQorIAorKyBBQ19BUkdfRU5BQkxFKHlhc20sCisrICAgICAgICAgICAgICBbQUNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS15YXNtXSwgW2Rpc2FibGUgdXNlIG9mIHlhc20gYXNzZW1ibGVyXSldKQorKyAgaWYgdGVzdCAieCRlbmFibGVfeWFzbSIgPSAieG5vIjsgdGhlbgorKyAgICBlbWJmZm1wZWdfY29uZmlndXJlX2FyZ3M9IiRlbWJmZm1wZWdfY29uZmlndXJlX2FyZ3MgLS1kaXNhYmxlLXlhc20iCisrICBmaQorKworICAgIyBpZiB3ZSBhcmUgY3Jvc3MtY29tcGlsaW5nLCB0ZWxsIGZmbXBlZyBzbworICAgdGFyZ2V0X29zPWBlY2hvICRob3N0X29zIHwgc2VkICdzLy1nbnUvLydgCisgICBpZiB0ZXN0ICJ4JGNyb3NzX2NvbXBpbGluZyIgPSB4eWVzOyB0aGVuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2dzdC1mZm1wZWctQ1ZFLTIwMTMtMDg1NS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvZ3N0LWZmbXBlZy1DVkUtMjAxMy0wODU1LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjOGQ4ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2dzdC1mZm1wZWctQ1ZFLTIwMTMtMDg1NS5wYXRjaApAQCAtMCwwICsxLDEwMCBAQAorZ3N0LWZmbXBlZzogU2VjdXJpdHkgQWR2aXNvcnkgLSBmZm1wZWcgLSBDVkUtMjAxMy0wODU1CisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgCisKK1NpZ25lZC1vZmYtYnk6IFl1ZSBUYW8gPHl1ZS50YW9Ad2luZHJpdmVyLmNvbT4KKworZGlmZiAtLWdpdCBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2FsYWMuYy5vbGQgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9hbGFjLmMKK2luZGV4IDJhMGRmOGMuLmJjYmQ1NmQgMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9hbGFjLmMub2xkCisrKysgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9hbGFjLmMKK0BAIC04NywxOCArODcsNDQgQEAgdHlwZWRlZiBzdHJ1Y3QgeworICAgICBpbnQgd2FzdGVkX2JpdHM7CisgfSBBTEFDQ29udGV4dDsKKyAKKy1zdGF0aWMgdm9pZCBhbGxvY2F0ZV9idWZmZXJzKEFMQUNDb250ZXh0ICphbGFjKQorK3N0YXRpYyBhdl9jb2xkIGludCBhbGFjX2RlY29kZV9jbG9zZShBVkNvZGVjQ29udGV4dCAqYXZjdHgpCisreworKyAgICBBTEFDQ29udGV4dCAqYWxhYyA9IGF2Y3R4LT5wcml2X2RhdGE7CisrCisrICAgIGludCBjaGFuOworKyAgICBmb3IgKGNoYW4gPSAwOyBjaGFuIDwgTUFYX0NIQU5ORUxTOyBjaGFuKyspIHsKKysgICAgICAgIGF2X2ZyZWVwKCZhbGFjLT5wcmVkaWN0ZXJyb3JfYnVmZmVyW2NoYW5dKTsKKysgICAgICAgIGF2X2ZyZWVwKCZhbGFjLT5vdXRwdXRzYW1wbGVzX2J1ZmZlcltjaGFuXSk7CisrICAgICAgICBhdl9mcmVlcCgmYWxhYy0+d2FzdGVkX2JpdHNfYnVmZmVyW2NoYW5dKTsKKysgICAgfQorKworKyAgICByZXR1cm4gMDsKKyt9CisrCisrc3RhdGljIGludCBhbGxvY2F0ZV9idWZmZXJzKEFMQUNDb250ZXh0ICphbGFjKQorIHsKKyAgICAgaW50IGNoYW47CisrICAgIGludCBidWZfc2l6ZTsKKysKKysgICAgaWYgKGFsYWMtPnNldGluZm9fbWF4X3NhbXBsZXNfcGVyX2ZyYW1lID4gSU5UX01BWCAvIHNpemVvZihpbnQzMl90KSkKKysgICAgICAgIGdvdG8gYnVmX2FsbG9jX2ZhaWw7CisrICAgIGJ1Zl9zaXplID0gYWxhYy0+c2V0aW5mb19tYXhfc2FtcGxlc19wZXJfZnJhbWUgKiBzaXplb2YoaW50MzJfdCk7CisrCisgICAgIGZvciAoY2hhbiA9IDA7IGNoYW4gPCBNQVhfQ0hBTk5FTFM7IGNoYW4rKykgeworLSAgICAgICAgYWxhYy0+cHJlZGljdGVycm9yX2J1ZmZlcltjaGFuXSA9CistICAgICAgICAgICAgYXZfbWFsbG9jKGFsYWMtPnNldGluZm9fbWF4X3NhbXBsZXNfcGVyX2ZyYW1lICogNCk7CisgCistICAgICAgICBhbGFjLT5vdXRwdXRzYW1wbGVzX2J1ZmZlcltjaGFuXSA9CistICAgICAgICAgICAgYXZfbWFsbG9jKGFsYWMtPnNldGluZm9fbWF4X3NhbXBsZXNfcGVyX2ZyYW1lICogNCk7CisrICAgICAgICBGRl9BTExPQ19PUl9HT1RPKGFsYWMtPmF2Y3R4LCBhbGFjLT5wcmVkaWN0ZXJyb3JfYnVmZmVyW2NoYW5dLAorKyAgICAgICAgICAgICAgICAgICAgICAgICBidWZfc2l6ZSwgYnVmX2FsbG9jX2ZhaWwpOworIAorLSAgICAgICAgYWxhYy0+d2FzdGVkX2JpdHNfYnVmZmVyW2NoYW5dID0gYXZfbWFsbG9jKGFsYWMtPnNldGluZm9fbWF4X3NhbXBsZXNfcGVyX2ZyYW1lICogNCk7CisrICAgICAgICBGRl9BTExPQ19PUl9HT1RPKGFsYWMtPmF2Y3R4LCBhbGFjLT5vdXRwdXRzYW1wbGVzX2J1ZmZlcltjaGFuXSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgYnVmX3NpemUsIGJ1Zl9hbGxvY19mYWlsKTsKKysKKysgICAgICAgIEZGX0FMTE9DX09SX0dPVE8oYWxhYy0+YXZjdHgsIGFsYWMtPndhc3RlZF9iaXRzX2J1ZmZlcltjaGFuXSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgYnVmX3NpemUsIGJ1Zl9hbGxvY19mYWlsKTsKKyAgICAgfQorKyAgICByZXR1cm4gMDsKKytidWZfYWxsb2NfZmFpbDoKKysgICAgYWxhY19kZWNvZGVfY2xvc2UoYWxhYy0+YXZjdHgpOworKyAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOworIH0KKyAKKyBzdGF0aWMgaW50IGFsYWNfc2V0X2luZm8oQUxBQ0NvbnRleHQgKmFsYWMpCitAQCAtMTMxLDggKzE1Nyw2IEBAIHN0YXRpYyBpbnQgYWxhY19zZXRfaW5mbyhBTEFDQ29udGV4dCAqYWxhYykKKyAgICAgYnl0ZXN0cmVhbV9nZXRfYmUzMigmcHRyKTsgICAgICAvKiBiaXRyYXRlID8gKi8KKyAgICAgYnl0ZXN0cmVhbV9nZXRfYmUzMigmcHRyKTsgICAgICAvKiBzYW1wbGVyYXRlICovCisgCistICAgIGFsbG9jYXRlX2J1ZmZlcnMoYWxhYyk7CistCisgICAgIHJldHVybiAwOworIH0KKyAKK0BAIC02NTksNiArNjgzLDcgQEAgc3RhdGljIGludCBhbGFjX2RlY29kZV9mcmFtZShBVkNvZGVjQ29udGV4dCAqYXZjdHgsCisgCisgc3RhdGljIGF2X2NvbGQgaW50IGFsYWNfZGVjb2RlX2luaXQoQVZDb2RlY0NvbnRleHQgKiBhdmN0eCkKKyB7CisrICAgIGludCByZXQ7CisgICAgIEFMQUNDb250ZXh0ICphbGFjID0gYXZjdHgtPnByaXZfZGF0YTsKKyAgICAgYWxhYy0+YXZjdHggPSBhdmN0eDsKKyAgICAgYWxhYy0+bnVtY2hhbm5lbHMgPSBhbGFjLT5hdmN0eC0+Y2hhbm5lbHM7CitAQCAtNjc0LDE4ICs2OTksOSBAQCBzdGF0aWMgYXZfY29sZCBpbnQgYWxhY19kZWNvZGVfaW5pdChBVkNvZGVjQ29udGV4dCAqIGF2Y3R4KQorICAgICAgICAgcmV0dXJuIC0xOworICAgICB9CisgCistICAgIHJldHVybiAwOworLX0KKy0KKy1zdGF0aWMgYXZfY29sZCBpbnQgYWxhY19kZWNvZGVfY2xvc2UoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQorLXsKKy0gICAgQUxBQ0NvbnRleHQgKmFsYWMgPSBhdmN0eC0+cHJpdl9kYXRhOworLQorLSAgICBpbnQgY2hhbjsKKy0gICAgZm9yIChjaGFuID0gMDsgY2hhbiA8IE1BWF9DSEFOTkVMUzsgY2hhbisrKSB7CistICAgICAgICBhdl9mcmVlcCgmYWxhYy0+cHJlZGljdGVycm9yX2J1ZmZlcltjaGFuXSk7CistICAgICAgICBhdl9mcmVlcCgmYWxhYy0+b3V0cHV0c2FtcGxlc19idWZmZXJbY2hhbl0pOworLSAgICAgICAgYXZfZnJlZXAoJmFsYWMtPndhc3RlZF9iaXRzX2J1ZmZlcltjaGFuXSk7CisrICAgIGlmICgocmV0ID0gYWxsb2NhdGVfYnVmZmVycyhhbGFjKSkgPCAwKSB7CisrICAgICAgICBhdl9sb2coYXZjdHgsIEFWX0xPR19FUlJPUiwgIkVycm9yIGFsbG9jYXRpbmcgYnVmZmVyc1xuIik7CisrICAgICAgICByZXR1cm4gcmV0OworICAgICB9CisgCisgICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9nc3QtZmZtcGVnLUNWRS0yMDEzLTM2NzQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2dzdC1mZm1wZWctQ1ZFLTIwMTMtMzY3NC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTM4NWY1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9nc3QtZmZtcGVnLUNWRS0yMDEzLTM2NzQucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorYXZjb2RlYy9jZGdyYXBoaWNzOiBjaGVjayBidWZmZXIgc2l6ZSBiZWZvcmUgdXNlCisKK0ZpeGVzIG91dCBvZiBhcnJheSBhY2Nlc3NlcworCitCYWNrcG9ydGVkIGZyb206aHR0cDovL2dpdC52aWRlb2xhbi5vcmcvP3A9ZmZtcGVnLmdpdDthPWNvbW1pdDtoPWFkMDAyZTFhMTNhOGRmOTM0YmQ2Y2IyYzg0MTc1YTQ3ODBhYjg5NDIKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitGb3VuZC1ieTogTWF0ZXVzeiAiajAwcnUiIEp1cmN6eWsgYW5kIEd5bnZhZWwgQ29sZHdpbmQKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitTaWduZWQtb2ZmLWJ5OiBNaW5nIExpdSA8bWluZy5saXVAd2luZHJpdmVyLmNvbT4KKworZGlmZiAtdXJwTiBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2NkZ3JhcGhpY3MuYyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2NkZ3JhcGhpY3MuYworLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvY2RncmFwaGljcy5jCTIwMTMtMDctMTggMTM6MTc6MDguMzk5ODc2NTc1ICswODAwCisrKysgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9jZGdyYXBoaWNzLmMJMjAxMy0wNy0xOCAxMzoxODowNS44ODA1MDIyNjcgKzA4MDAKK0BAIC0yOTEsNyArMjkxLDkgQEAgc3RhdGljIGludCBjZGdfZGVjb2RlX2ZyYW1lKEFWQ29kZWNDb250ZQorICAgICBpbnN0ICAgID0gYnl0ZXN0cmVhbV9nZXRfYnl0ZSgmYnVmKTsKKyAgICAgaW5zdCAgICAmPSBDREdfTUFTSzsKKyAgICAgYnVmICs9IDI7ICAvLy8gc2tpcHBpbmcgMiB1bm5lZWRlZCBieXRlcworLSAgICBieXRlc3RyZWFtX2dldF9idWZmZXIoJmJ1ZiwgY2RnX2RhdGEsIGJ1Zl9zaXplIC0gQ0RHX0hFQURFUl9TSVpFKTsKKysKKysgICAgaWYgKGJ1Zl9zaXplID4gQ0RHX0hFQURFUl9TSVpFKQorKyAgICAgICAgYnl0ZXN0cmVhbV9nZXRfYnVmZmVyKCZidWYsIGNkZ19kYXRhLCBidWZfc2l6ZSAtIENER19IRUFERVJfU0laRSk7CisgCisgICAgIGlmICgoY29tbWFuZCAmIENER19NQVNLKSA9PSBDREdfQ09NTUFORCkgeworICAgICAgICAgc3dpdGNoIChpbnN0KSB7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2dzdC1mZm1wZWctZml4LUNWRS0yMDExLTQzNTIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2dzdC1mZm1wZWctZml4LUNWRS0yMDExLTQzNTIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTBmM2ZkMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTEtNDM1Mi5wYXRjaApAQCAtMCwwICsxLDY0IEBACitGcm9tIDhiOTRkZjBmMjA0N2U5NzI4Y2I4NzJhZGM5ZTY0NTU3YjdhNTE1MmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSZWluaGFyZCBUYXJ0bGVyIDxzaXJldGFydEB0YXV3YXJlLmRlPgorRGF0ZTogU3VuLCA0IERlYyAyMDExIDEwOjEwOjMzICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHZwM2RlYzogQ2hlY2sgY29lZmZpY2llbnQgaW5kZXggaW4gdnAzX2RlcXVhbnQoKQorCitCYXNlZCBvbiBhIHBhdGNoIGJ5IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CisKK0ZpeGVzIE5HUzAwMTQ1LCBDVkUtMjAxMS00MzUyCisKK0ZvdW5kLWJ5OiBQaGlsbGlwIExhbmdsb2lzCitTaWduZWQtb2ZmLWJ5OiBSZWluaGFyZCBUYXJ0bGVyIDxzaXJldGFydEB0YXV3YXJlLmRlPgorCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworaHR0cDovL2dpdC52aWRlb2xhbi5vcmcvP3A9ZmZtcGVnLmdpdDthPWNvbW1pdDtoPThiOTRkZjBmMjA0N2U5NzI4Y2I4NzJhZGM5ZTY0NTU3YjdhNTE1MmYKKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBsaWJhdmNvZGVjL3ZwMy5jIHwgMTQgKysrKysrKysrKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvdnAzLmMgYi9saWJhdmNvZGVjL3ZwMy5jCitpbmRleCA1MWFiMDQ4Li5mNDRkMDg0IDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvdnAzLmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3ZwMy5jCitAQCAtMTM2Myw2ICsxMzYzLDEwIEBAIHN0YXRpYyBpbmxpbmUgaW50IHZwM19kZXF1YW50KFZwM0RlY29kZUNvbnRleHQgKnMsIFZwM0ZyYWdtZW50ICpmcmFnLAorICAgICAgICAgY2FzZSAxOiAvLyB6ZXJvIHJ1bgorICAgICAgICAgICAgIHMtPmRjdF90b2tlbnNbcGxhbmVdW2ldKys7CisgICAgICAgICAgICAgaSArPSAodG9rZW4gPj4gMikgJiAweDdmOworKyAgICAgICAgICAgIGlmIChpID4gNjMpIHsKKysgICAgICAgICAgICAgICAgYXZfbG9nKHMtPmF2Y3R4LCBBVl9MT0dfRVJST1IsICJDb2VmZmljaWVudCBpbmRleCBvdmVyZmxvd1xuIik7CisrICAgICAgICAgICAgICAgIHJldHVybiBpOworKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICBibG9ja1twZXJtW2ldXSA9ICh0b2tlbiA+PiA5KSAqIGRlcXVhbnRpemVyW3Blcm1baV1dOworICAgICAgICAgICAgIGkrKzsKKyAgICAgICAgICAgICBicmVhazsKK0BAIC0xNTY2LDcgKzE1NzAsMTAgQEAgc3RhdGljIHZvaWQgcmVuZGVyX3NsaWNlKFZwM0RlY29kZUNvbnRleHQgKnMsIGludCBzbGljZSkKKyAgICAgICAgICAgICAgICAgICAgIC8qIGludmVydCBEQ1QgYW5kIHBsYWNlIChvciBhZGQpIGluIGZpbmFsIG91dHB1dCAqLworIAorICAgICAgICAgICAgICAgICAgICAgaWYgKHMtPmFsbF9mcmFnbWVudHNbaV0uY29kaW5nX21ldGhvZCA9PSBNT0RFX0lOVFJBKSB7CistICAgICAgICAgICAgICAgICAgICAgICAgdnAzX2RlcXVhbnQocywgcy0+YWxsX2ZyYWdtZW50cyArIGksIHBsYW5lLCAwLCBibG9jayk7CisrICAgICAgICAgICAgICAgICAgICAgICAgaW50IGluZGV4OworKyAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4ID0gdnAzX2RlcXVhbnQocywgcy0+YWxsX2ZyYWdtZW50cyArIGksIHBsYW5lLCAwLCBibG9jayk7CisrICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID4gNjMpCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHMtPmF2Y3R4LT5pZGN0X2FsZ28hPUZGX0lEQ1RfVlAzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9ja1swXSArPSAxMjg8PDM7CisgICAgICAgICAgICAgICAgICAgICAgICAgcy0+ZHNwLmlkY3RfcHV0KAorQEAgLTE1NzQsNyArMTU4MSwxMCBAQCBzdGF0aWMgdm9pZCByZW5kZXJfc2xpY2UoVnAzRGVjb2RlQ29udGV4dCAqcywgaW50IHNsaWNlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrKTsKKyAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CistICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZwM19kZXF1YW50KHMsIHMtPmFsbF9mcmFnbWVudHMgKyBpLCBwbGFuZSwgMSwgYmxvY2spKSB7CisrICAgICAgICAgICAgICAgICAgICAgICAgaW50IGluZGV4ID0gdnAzX2RlcXVhbnQocywgcy0+YWxsX2ZyYWdtZW50cyArIGksIHBsYW5lLCAxLCBibG9jayk7CisrICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID4gNjMpCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbmRleCA+IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICBzLT5kc3AuaWRjdF9hZGQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dF9wbGFuZSArIGZpcnN0X3BpeGVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpZGUsCistLSAKKzIuMS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTQtNzkzMy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTQtNzkzMy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzUzN2M3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9nc3QtZmZtcGVnLWZpeC1DVkUtMjAxNC03OTMzLnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK0Zyb20gMjI2NmI4YmMzMzcwODU2ZDg3NDMzNGJhNjJiMzM3Y2U0ZjFlYjI1NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogV2VkLCAxMyBNYXkgMjAxNSAxNjo0NjowNiArMDgwMAorU3ViamVjdDogW1BBVENIIDIvMl0gZ3N0LWZmbXBlZzogZml4IENWRS0yMDE0LTc5MzMKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitodHRwOi8vZ2l0LnZpZGVvbGFuLm9yZy8/cD1mZm1wZWcuZ2l0O2E9Y29tbWl0O2g9MzMzMDFmMDAKKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBnc3QtbGlicy9leHQvbGliYXYvbGliYXZmb3JtYXQvbWF0cm9za2FkZWMuYyB8IDMgKystCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Zm9ybWF0L21hdHJvc2thZGVjLmMgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZmb3JtYXQvbWF0cm9za2FkZWMuYworaW5kZXggNTlkY2U0Zi4uZTVmNWZjMSAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmZvcm1hdC9tYXRyb3NrYWRlYy5jCisrKysgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZmb3JtYXQvbWF0cm9za2FkZWMuYworQEAgLTE5MTYsNyArMTkxNiw3IEBAIHN0YXRpYyBpbnQgbWF0cm9za2FfcmVhZF9zZWVrKEFWRm9ybWF0Q29udGV4dCAqcywgaW50IHN0cmVhbV9pbmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ2NF90IHRpbWVzdGFtcCwgaW50IGZsYWdzKQorIHsKKyAgICAgTWF0cm9za2FEZW11eENvbnRleHQgKm1hdHJvc2thID0gcy0+cHJpdl9kYXRhOworLSAgICBNYXRyb3NrYVRyYWNrICp0cmFja3MgPSBtYXRyb3NrYS0+dHJhY2tzLmVsZW07CisrICAgIE1hdHJvc2thVHJhY2sgKnRyYWNrcyA9IE5VTEw7CisgICAgIEFWU3RyZWFtICpzdCA9IHMtPnN0cmVhbXNbc3RyZWFtX2luZGV4XTsKKyAgICAgaW50IGksIGluZGV4LCBpbmRleF9zdWIsIGluZGV4X21pbjsKKyAKK0BAIC0xOTM5LDYgKzE5MzksNyBAQCBzdGF0aWMgaW50IG1hdHJvc2thX3JlYWRfc2VlayhBVkZvcm1hdENvbnRleHQgKnMsIGludCBzdHJlYW1faW5kZXgsCisgICAgICAgICByZXR1cm4gMDsKKyAKKyAgICAgaW5kZXhfbWluID0gaW5kZXg7CisrICAgIHRyYWNrcyA9IG1hdHJvc2thLT50cmFja3MuZWxlbTsKKyAgICAgZm9yIChpPTA7IGkgPCBtYXRyb3NrYS0+dHJhY2tzLm5iX2VsZW07IGkrKykgeworICAgICAgICAgdHJhY2tzW2ldLmF1ZGlvLnBrdF9jbnQgPSAwOworICAgICAgICAgdHJhY2tzW2ldLmF1ZGlvLnN1Yl9wYWNrZXRfY250ID0gMDsKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9nc3QtZmZtcGVnLWZpeC1DVkUtMjAxNC04NTQyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9nc3QtZmZtcGVnLWZpeC1DVkUtMjAxNC04NTQyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhNDdjODEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2dzdC1mZm1wZWctZml4LUNWRS0yMDE0LTg1NDIucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorRnJvbSAxMDU2NTRlMzc2YTczNmQyNDNhZWY0YTFkMTIxYWJlYmNlOTEyZTZiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KK0RhdGU6IEZyaSwgMyBPY3QgMjAxNCAwNDozMDo1OCArMDIwMAorU3ViamVjdDogW1BBVENIXSBhdmNvZGVjL3V0aWxzOiBBZGQgY2FzZSBmb3IganYgdG8KKyBhdmNvZGVjX2FsaWduX2RpbWVuc2lvbnMyKCkKKworKFVwc3RyZWFtIGNvbW1pdCAxMDU2NTRlMzc2YTczNmQyNDNhZWY0YTFkMTIxYWJlYmNlOTEyZTZiKQorCitGaXhlcyBvdXQgb2YgYXJyYXkgYWNjZXNzZXMKK0ZpeGVzOiBhc2FuX2hlYXAtb29iXzEyMzA0YWFfOF9hc2FuX2hlYXAtb29iXzRkYTRmM18zMDBfaW50cm8uanYKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitGb3VuZC1ieTogTWF0ZXVzeiAiajAwcnUiIEp1cmN6eWsgYW5kIEd5bnZhZWwgQ29sZHdpbmQKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitTaWduZWQtb2ZmLWJ5OiBZdWUgVGFvIDx5dWUudGFvQHdpbmRyaXZlci5jb20+CistLS0KKyBsaWJhdmNvZGVjL3V0aWxzLmMgfCAgICA0ICsrKysKKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9saWJhdmNvZGVjL3V0aWxzLmMgYi9saWJhdmNvZGVjL3V0aWxzLmMKK2luZGV4IGQ0ZjU1MzIuLmMyYzU1NzkgMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy91dGlscy5jCisrKysgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy91dGlscy5jCitAQCAtMTczLDYgKzE3MywxMCBAQCB2b2lkIGF2Y29kZWNfYWxpZ25fZGltZW5zaW9uczIoQVZDb2RlY0NvbnRleHQgKnMsIGludCAqd2lkdGgsIGludCAqaGVpZ2h0LCBpbnQgbAorICAgICAgICAgICAgIHdfYWxpZ249NDsKKyAgICAgICAgICAgICBoX2FsaWduPTQ7CisgICAgICAgICB9CisrICAgICAgICBpZiAocy0+Y29kZWNfaWQgPT0gQ09ERUNfSURfSlYpeworKyAgICAgICAgICAgIHdfYWxpZ24gPSA4OworKyAgICAgICAgICAgIGhfYWxpZ24gPSA4OworKyAgICAgICAgfQorICAgICAgICAgYnJlYWs7CisgICAgIGNhc2UgUElYX0ZNVF9CR1IyNDoKKyAgICAgICAgIGlmKChzLT5jb2RlY19pZCA9PSBDT0RFQ19JRF9NU1pIKSB8fCAocy0+Y29kZWNfaWQgPT0gQ09ERUNfSURfWkxJQikpeworLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTQtODU0My5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTQtODU0My5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjVlNTVmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9nc3QtZmZtcGVnLWZpeC1DVkUtMjAxNC04NTQzLnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK0Zyb20gOGIwZTk2ZTFmMjFiNzYxY2ExNWRiYjQ3MGNkNjE5YTFlYmY4NmMzZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBGcmksIDMgT2N0IDIwMTQgMTQ6NDU6MDQgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gYXZjb2RlYy9tbXZpZGVvOiBCb3VuZHMgY2hlY2sgMm5kIGxpbmUgb2YgSEhWIEludHJhIGJsb2NrcworCisoVXBzdHJlYW0gY29tbWl0IDhiMGU5NmUxZjIxYjc2MWNhMTVkYmI0NzBjZDYxOWExZWJmODZjM2UpCisKK0ZpeGVzIG91dCBvZiBhcnJheSBhY2Nlc3MKK0ZpeGVzOiBhc2FuX2hlYXAtb29iXzRkYTRmM184X2FzYW5faGVhcC1vb2JfNGRhNGYzXzQxOV9zY2VuZTFhLm1tCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworRm91bmQtYnk6IE1hdGV1c3ogImowMHJ1IiBKdXJjenlrIGFuZCBHeW52YWVsIENvbGR3aW5kCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorU2lnbmVkLW9mZi1ieTogWXVlIFRhbyA8eXVlLnRhb0B3aW5kcml2ZXIuY29tPgorLS0tCisgbGliYXZjb2RlYy9tbXZpZGVvLmMgfCAgICAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9saWJhdmNvZGVjL21tdmlkZW8uYyBiL2xpYmF2Y29kZWMvbW12aWRlby5jCitpbmRleCAwMjZkNDYzLi45ZmY2MzkzIDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvbW12aWRlby5jCisrKysgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9tbXZpZGVvLmMKK0BAIC0xMDQsNyArMTA0LDcgQEAgc3RhdGljIHZvaWQgbW1fZGVjb2RlX2ludHJhKE1tQ29udGV4dCAqIHMsIGludCBoYWxmX2hvcml6LCBpbnQgaGFsZl92ZXJ0LCBjb25zdAorIAorICAgICAgICAgaWYgKGNvbG9yKSB7CisgICAgICAgICAgICAgbWVtc2V0KHMtPmZyYW1lLmRhdGFbMF0gKyB5KnMtPmZyYW1lLmxpbmVzaXplWzBdICsgeCwgY29sb3IsIHJ1bl9sZW5ndGgpOworLSAgICAgICAgICAgIGlmIChoYWxmX3ZlcnQpCisrICAgICAgICAgICAgaWYgKGhhbGZfdmVydCAmJiB5ICsgaGFsZl92ZXJ0IDwgcy0+YXZjdHgtPmhlaWdodCkKKyAgICAgICAgICAgICAgICAgbWVtc2V0KHMtPmZyYW1lLmRhdGFbMF0gKyAoeSsxKSpzLT5mcmFtZS5saW5lc2l6ZVswXSArIHgsIGNvbG9yLCBydW5fbGVuZ3RoKTsKKyAgICAgICAgIH0KKyAgICAgICAgIHgrPSBydW5fbGVuZ3RoOworLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTQtODU0NC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTQtODU0NC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMTI0ZTNhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9nc3QtZmZtcGVnLWZpeC1DVkUtMjAxNC04NTQ0LnBhdGNoCkBAIC0wLDAgKzEsNTYgQEAKK0Zyb20gZTFjMGNmYWE0MTlhYTVkMzIwNTQwZDVhMWIzZjhmZDliODJhYjdlNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBGcmksIDMgT2N0IDIwMTQgMTY6MDg6MzIgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gYXZjb2RlYy90aWZmOiBtb3JlIGNvbXBsZXRlbHkgY2hlY2sgYnBwL2JwcGNvdW50CisKKyhVcHN0cmVhbSBjb21taXQgZTFjMGNmYWE0MTlhYTVkMzIwNTQwZDVhMWIzZjhmZDliODJhYjdlNSkKKworRml4ZXMgcGl4ZWwgZm9ybWF0IHNlbGVjdGlvbgorRml4ZXMgb3V0IG9mIGFycmF5IGFjY2Vzc2VzCitGaXhlczogYXNhbl9oZWFwLW9vYl8xNzY2MDI5XzZfYXNhbl9oZWFwLW9vYl8yMGFhMDQ1XzMzMl9jb3ZfMTgyMzIxNjc1N19tMi1kMWQzNjZkNzk2NWRiNzY2YzE5YTY2YzdhMmNjYmI2Yi50aWYKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitGb3VuZC1ieTogTWF0ZXVzeiAiajAwcnUiIEp1cmN6eWsgYW5kIEd5bnZhZWwgQ29sZHdpbmQKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitTaWduZWQtb2ZmLWJ5OiBZdWUgVGFvIDx5dWUudGFvQHdpbmRyaXZlci5jb20+CistLS0KKyBsaWJhdmNvZGVjL3RpZmYuYyB8ICAgMTMgKysrKysrKysrKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy90aWZmLmMgYi9saWJhdmNvZGVjL3RpZmYuYworaW5kZXggNmUyMDk2Zi4uMDg3MGUzMSAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3RpZmYuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvdGlmZi5jCitAQCAtMzI0LDExICszMjQsMTEgQEAgc3RhdGljIGludCB0aWZmX2RlY29kZV90YWcoVGlmZkNvbnRleHQgKnMsIGNvbnN0IHVpbnQ4X3QgKnN0YXJ0LCBjb25zdCB1aW50OF90ICoKKyAgICAgICAgIHMtPmhlaWdodCA9IHZhbHVlOworICAgICAgICAgYnJlYWs7CisgICAgIGNhc2UgVElGRl9CUFA6CistICAgICAgICBzLT5icHBjb3VudCA9IGNvdW50OworLSAgICAgICAgaWYoY291bnQgPiA0KXsKKy0gICAgICAgICAgICBhdl9sb2cocy0+YXZjdHgsIEFWX0xPR19FUlJPUiwgIlRoaXMgZm9ybWF0IGlzIG5vdCBzdXBwb3J0ZWQgKGJwcD0lZCwgJWQgY29tcG9uZW50cylcbiIsIHMtPmJwcCwgY291bnQpOworKyAgICAgICAgaWYoY291bnQgPiA0VSl7CisrICAgICAgICAgICAgYXZfbG9nKHMtPmF2Y3R4LCBBVl9MT0dfRVJST1IsICJUaGlzIGZvcm1hdCBpcyBub3Qgc3VwcG9ydGVkIChicHA9JWQsICVkIGNvbXBvbmVudHMpXG4iLCB2YWx1ZSwgY291bnQpOworICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgIH0KKysgICAgICAgIHMtPmJwcGNvdW50ID0gY291bnQ7CisgICAgICAgICBpZihjb3VudCA9PSAxKSBzLT5icHAgPSB2YWx1ZTsKKyAgICAgICAgIGVsc2V7CisgICAgICAgICAgICAgc3dpdGNoKHR5cGUpeworQEAgLTM0NCw2ICszNDQsMTMgQEAgc3RhdGljIGludCB0aWZmX2RlY29kZV90YWcoVGlmZkNvbnRleHQgKnMsIGNvbnN0IHVpbnQ4X3QgKnN0YXJ0LCBjb25zdCB1aW50OF90ICoKKyAgICAgICAgICAgICAgICAgcy0+YnBwID0gLTE7CisgICAgICAgICAgICAgfQorICAgICAgICAgfQorKyAgICAgICAgaWYgKHMtPmJwcCA+IDY0VSkgeworKyAgICAgICAgICAgIGF2X2xvZyhzLT5hdmN0eCwgQVZfTE9HX0VSUk9SLAorKyAgICAgICAgICAgICAgICAgICAiVGhpcyBmb3JtYXQgaXMgbm90IHN1cHBvcnRlZCAoYnBwPSVkLCAlZCBjb21wb25lbnRzKVxuIiwKKysgICAgICAgICAgICAgICAgICAgcy0+YnBwLCBjb3VudCk7CisrICAgICAgICAgICAgcy0+YnBwID0gMDsKKysgICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKKysgICAgICAgIH0KKyAgICAgICAgIGJyZWFrOworICAgICBjYXNlIFRJRkZfU0FNUExFU19QRVJfUElYRUw6CisgICAgICAgICBpZiAoY291bnQgIT0gMSkgeworLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTQtODU0NS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTQtODU0NS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOWQ1Zjc3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9nc3QtZmZtcGVnLWZpeC1DVkUtMjAxNC04NTQ1LnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gM2UyYjc0NTAyMGMyZGJmMDIwMWZlN2RmM2RhZDllN2UwYjJlMWJiNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBGcmksIDMgT2N0IDIwMTQgMTc6MzU6NTggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gYXZjb2RlYy9wbmdkZWM6IENoZWNrIGJpdHMgcGVyIHBpeGVsIGJlZm9yZSBzZXR0aW5nCisgbW9ub2JsYWNrIHBpeGVsIGZvcm1hdAorCisoVXBzdHJlYW0gY29tbWl0IDNlMmI3NDUwMjBjMmRiZjAyMDFmZTdkZjNkYWQ5ZTdlMGIyZTFiYjYpCisKK0ZpeGVzIG91dCBvZiBhcnJheSBhY2Nlc3NlcworRml4ZXM6IGFzYW5faGVhcC1vb2JfMTRkYmZjZl80X2FzYW5faGVhcC1vb2JfMWNlNTc2N18xNzlfYWRkX21ldGhvZF9zbWFsbC5wbmcKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitGb3VuZC1ieTogTWF0ZXVzeiAiajAwcnUiIEp1cmN6eWsgYW5kIEd5bnZhZWwgQ29sZHdpbmQKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitTaWduZWQtb2ZmLWJ5OiBZdWUgVGFvIDx5dWUudGFvQHdpbmRyaXZlci5jb20+CistLS0KKyBsaWJhdmNvZGVjL3BuZ2RlYy5jIHwgICAgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9wbmdkZWMuYyBiL2xpYmF2Y29kZWMvcG5nZGVjLmMKK2luZGV4IGRhOTFhYWIuLmYzNjAzYjMgMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9wbmdkZWMuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvcG5nZGVjLmMKK0BAIC00ODEsNyArNDgxLDcgQEAgc3RhdGljIGludCBkZWNvZGVfZnJhbWUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LAorICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHMtPmJpdF9kZXB0aCA9PSAxNiAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMtPmNvbG9yX3R5cGUgPT0gUE5HX0NPTE9SX1RZUEVfUkdCKSB7CisgICAgICAgICAgICAgICAgICAgICBhdmN0eC0+cGl4X2ZtdCA9IFBJWF9GTVRfUkdCNDhCRTsKKy0gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzLT5iaXRfZGVwdGggPT0gMSAmJgorKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHMtPmJpdF9kZXB0aCA9PSAxICYmIHMtPmJpdHNfcGVyX3BpeGVsID09IDEgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzLT5jb2xvcl90eXBlID09IFBOR19DT0xPUl9UWVBFX0dSQVkpIHsKKyAgICAgICAgICAgICAgICAgICAgIGF2Y3R4LT5waXhfZm10ID0gUElYX0ZNVF9NT05PQkxBQ0s7CisgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocy0+Y29sb3JfdHlwZSA9PSBQTkdfQ09MT1JfVFlQRV9QQUxFVFRFKSB7CistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9nc3QtZmZtcGVnLWZpeC1DVkUtMjAxNC04NTQ2LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9nc3QtZmZtcGVnLWZpeC1DVkUtMjAxNC04NTQ2LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1NWQ5ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2dzdC1mZm1wZWctZml4LUNWRS0yMDE0LTg1NDYucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorRnJvbSBlN2U1MTE0YzUwNjk1N2Y0MGFhZmQ3OTRlMDZkZTFhN2UzNDFlOWQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KK0RhdGU6IEZyaSwgMyBPY3QgMjAxNCAxOTozMzowMSArMDIwMAorU3ViamVjdDogW1BBVENIXSBhdmNvZGVjL2NpbmVwYWs6IGZpeCBpbnRlZ2VyIHVuZGVyZmxvdworCisoVXBzdHJlYW0gY29tbWl0IGU3ZTUxMTRjNTA2OTU3ZjQwYWFmZDc5NGUwNmRlMWE3ZTM0MWU5ZDUpCisKK0ZpeGVzIG91dCBvZiBhcnJheSBhY2Nlc3MKK0ZpeGVzOiBhc2FuX2hlYXAtb29iXzRkYTBiYV82X2FzYW5faGVhcC1vb2JfNGRhMGJhXzI0MV9jdmlkX2NyYXNoLmF2aQorCitVcHN0cmVhbS1zdGF0dXM6IEJhY2twb3J0CisKK0ZvdW5kLWJ5OiBNYXRldXN6ICJqMDBydSIgSnVyY3p5ayBhbmQgR3ludmFlbCBDb2xkd2luZAorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KK1NpZ25lZC1vZmYtYnk6IFl1ZSBUYW8gPHl1ZS50YW9Ad2luZHJpdmVyLmNvbT4KKy0tLQorIGxpYmF2Y29kZWMvY2luZXBhay5jIHwgICAgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9jaW5lcGFrLmMgYi9saWJhdmNvZGVjL2NpbmVwYWsuYworaW5kZXggNDc0NjI4OS4uZjY1MWM0OCAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2NpbmVwYWsuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvY2luZXBhay5jCitAQCAtMTI1LDcgKzEyNSw3IEBAIHN0YXRpYyBpbnQgY2luZXBha19kZWNvZGVfdmVjdG9ycyAoQ2luZXBha0NvbnRleHQgKnMsIGN2aWRfc3RyaXAgKnN0cmlwLAorICAgICBjb25zdCB1aW50OF90ICAgKmVvZCA9IChkYXRhICsgc2l6ZSk7CisgICAgIHVpbnQzMl90ICAgICAgICAgZmxhZywgbWFzazsKKyAgICAgY3ZpZF9jb2RlYm9vayAgICpjb2RlYm9vazsKKy0gICAgdW5zaWduZWQgaW50ICAgICB4LCB5OworKyAgICBpbnQgICAgICAgICAgICAgeCwgeTsKKyAgICAgdWludDMyX3QgICAgICAgICBpeVs0XTsKKyAgICAgdWludDMyX3QgICAgICAgICBpdVsyXTsKKyAgICAgdWludDMyX3QgICAgICAgICBpdlsyXTsKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2dzdC1mZm1wZWctZml4LUNWRS0yMDE0LTg1NDcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2dzdC1mZm1wZWctZml4LUNWRS0yMDE0LTg1NDcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTg2MTZmYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTQtODU0Ny5wYXRjaApAQCAtMCwwICsxLDU5IEBACitGcm9tIDhmMTQ1Nzg2NGJlOGZiOTY1MzY0MzUxOWRlYTFjNjQ5MmYxZGRlNTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorRGF0ZTogRnJpLCAzIE9jdCAyMDE0IDIwOjE1OjUyICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGF2Y29kZWMvZ2lmZGVjOiBmYWN0b3JpemUgaW50ZXJsZWF2ZSBlbmQgaGFuZGxpbmcgb3V0CisKKyhVcHN0cmVhbSBjb21taXQgOGYxNDU3ODY0YmU4ZmI5NjUzNjQzNTE5ZGVhMWM2NDkyZjFkZGU1NykKKworYWxzbyBjaGFuZ2UgaXQgdG8gYSBsb29wCitGaXhlcyBvdXQgb2YgYXJyYXkgYWNjZXNzCitGaXhlczogYXNhbl9oZWFwLW9vYl9jYTU0MTBfOF9hc2FuX2hlYXAtb29iX2NhNTQxMF85N19JRF9MU0RfU2l6ZV9MZXNzX1RoZW5fRGF0YV9JbnRlcl8zLmdpZgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK0ZvdW5kLWJ5OiBNYXRldXN6ICJqMDBydSIgSnVyY3p5ayBhbmQgR3ludmFlbCBDb2xkd2luZAorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KK1NpZ25lZC1vZmYtYnk6IFl1ZSBUYW8gPHl1ZS50YW9Ad2luZHJpdmVyLmNvbT4KKy0tLQorIGxpYmF2Y29kZWMvZ2lmZGVjLmMgfCAgIDE1ICsrKysrLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9naWZkZWMuYyBiL2xpYmF2Y29kZWMvZ2lmZGVjLmMKK2luZGV4IGRlZTQ4ZjUuLjkwZGUzOGIgMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9naWZkZWMuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvZ2lmZGVjLmMKK0BAIC0yNzEsMjYgKzI3MSwyMSBAQCBzdGF0aWMgaW50IGdpZl9yZWFkX2ltYWdlKEdpZlN0YXRlICpzLCBBVkZyYW1lICpmcmFtZSkKKyAgICAgICAgICAgICBjYXNlIDE6CisgICAgICAgICAgICAgICAgIHkxICs9IDg7CisgICAgICAgICAgICAgICAgIHB0ciArPSBsaW5lc2l6ZSAqIDg7CistICAgICAgICAgICAgICAgIGlmICh5MSA+PSBoZWlnaHQpIHsKKy0gICAgICAgICAgICAgICAgICAgIHkxID0gcGFzcyA/IDIgOiA0OworLSAgICAgICAgICAgICAgICAgICAgcHRyID0gcHRyMSArIGxpbmVzaXplICogeTE7CistICAgICAgICAgICAgICAgICAgICBwYXNzKys7CistICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgY2FzZSAyOgorICAgICAgICAgICAgICAgICB5MSArPSA0OworICAgICAgICAgICAgICAgICBwdHIgKz0gbGluZXNpemUgKiA0OworLSAgICAgICAgICAgICAgICBpZiAoeTEgPj0gaGVpZ2h0KSB7CistICAgICAgICAgICAgICAgICAgICB5MSA9IDE7CistICAgICAgICAgICAgICAgICAgICBwdHIgPSBwdHIxICsgbGluZXNpemU7CistICAgICAgICAgICAgICAgICAgICBwYXNzKys7CistICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgY2FzZSAzOgorICAgICAgICAgICAgICAgICB5MSArPSAyOworICAgICAgICAgICAgICAgICBwdHIgKz0gbGluZXNpemUgKiAyOworICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICB9CisrICAgICAgICAgICAgd2hpbGUgKHkxID49IGhlaWdodCkgeworKyAgICAgICAgICAgICAgICB5MSA9IDQgPj4gcGFzczsKKysgICAgICAgICAgICAgICAgcHRyID0gcHRyMSArIGxpbmVzaXplICogeTE7CisrICAgICAgICAgICAgICAgIHBhc3MrKzsKKysgICAgICAgICAgICB9CisgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgIHB0ciArPSBsaW5lc2l6ZTsKKyAgICAgICAgIH0KKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2dzdC1mZm1wZWctZml4LUNWRS0yMDE0LTkzMTgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2dzdC1mZm1wZWctZml4LUNWRS0yMDE0LTkzMTgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDU1M2NlZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTQtOTMxOC5wYXRjaApAQCAtMCwwICsxLDM3IEBACitGcm9tIDBkM2EzYjlmODkwNzYyNWIzNjE0MjBkNDhmZTA1NzE2ODU5NjIwZmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorRGF0ZTogV2VkLCAyNiBOb3YgMjAxNCAxODo1NjozOSArMDEwMAorU3ViamVjdDogW1BBVENIXSBhdmNvZGVjL3Jhd2RlYzogQ2hlY2sgdGhlIHJldHVybiBjb2RlIG9mCisgYXZwaWN0dXJlX2dldF9zaXplKCkKKworKFVwc3RyZWFtIGNvbW1pdCAxZDNhM2I5Zjg5MDc2MjViMzYxNDIwZDQ4ZmUwNTcxNjg1OTYyMGZmKQorCitGaXhlcyBvdXQgb2YgYXJyYXkgYWNjZXNzCitGaXhlczogYXNhbl9oZWFwLW9vYl8yMjM4OGQwXzM0MzVfY292XzMyOTcxMjg5MTBfc21hbGxfcm9sbDVfRmxhc2hDaW5lMS5jaW5lCitGb3VuZC1ieTogTWF0ZXVzeiAiajAwcnUiIEp1cmN6eWsgYW5kIEd5bnZhZWwgQ29sZHdpbmQKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorU2lnbmVkLW9mZi1ieTogWXVlIFRhbyA8eXVlLnRhb0B3aW5kcml2ZXIuY29tPgorLS0tCisgbGliYXZjb2RlYy9yYXdkZWMuYyB8ICAgIDMgKysrCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9yYXdkZWMuYyBiL2xpYmF2Y29kZWMvcmF3ZGVjLmMKK2luZGV4IDI4NzkyYTEuLjY0N2RmYTkgMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9yYXdkZWMuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvcmF3ZGVjLmMKK0BAIC04Nyw2ICs4Nyw5IEBAIHN0YXRpYyBhdl9jb2xkIGludCByYXdfaW5pdF9kZWNvZGVyKEFWQ29kZWNDb250ZXh0ICphdmN0eCkKKyAKKyAgICAgZmZfc2V0X3N5c3RlbWF0aWNfcGFsMihjb250ZXh0LT5wYWxldHRlLCBhdmN0eC0+cGl4X2ZtdCk7CisgICAgIGNvbnRleHQtPmxlbmd0aCA9IGF2cGljdHVyZV9nZXRfc2l6ZShhdmN0eC0+cGl4X2ZtdCwgYXZjdHgtPndpZHRoLCBhdmN0eC0+aGVpZ2h0KTsKKysgICAgaWYgKGNvbnRleHQtPmxlbmd0aCA8IDApCisrICAgICAgICByZXR1cm4gY29udGV4dC0+bGVuZ3RoOworKworICAgICBpZigoYXZjdHgtPmJpdHNfcGVyX2NvZGVkX3NhbXBsZSA9PSA0IHx8IGF2Y3R4LT5iaXRzX3Blcl9jb2RlZF9zYW1wbGUgPT0gMikgJiYKKyAgICAgICAgYXZjdHgtPnBpeF9mbXQ9PVBJWF9GTVRfUEFMOCAmJgorICAgICAgICAoIWF2Y3R4LT5jb2RlY190YWcgfHwgYXZjdHgtPmNvZGVjX3RhZyA9PSBNS1RBRygncicsJ2EnLCd3JywnICcpKSl7CistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9nc3QtZmZtcGVnLWZpeC1DVkUtMjAxNC05NjAzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9nc3QtZmZtcGVnLWZpeC1DVkUtMjAxNC05NjAzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkZGE0Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2dzdC1mZm1wZWctZml4LUNWRS0yMDE0LTk2MDMucGF0Y2gKQEAgLTAsMCArMSw0MSBAQAorRnJvbSBkYzY4ZmFmODMzOWE4ODViYzU1ZmFiZTViMDFmMWRlNGY4ZjM3ODJjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDEzIE1heSAyMDE1IDE2OjMwOjUzICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMS8yXSBnc3QtZmZtcGVnOiBmaXggQ1ZFLTIwMTQtOTYwMworCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1Vwc3RyZWFtIGlzIHZlcnNpb24gMi54IGFuZCB2bWRhdi5jIGlzIHNwbGl0dGVkIGludG8gMiBmaWxlcyB2bWRhdWRpby5jCithbmQgdm1kdmlkZW8uYy4gQmVjdWFzZSBzb3VyY2UgY29kZSBjaGFuZ2VzLCBqdXN0IHBhcnRseSBiYWNrcG9ydCBjb21taXQgd2hpY2gKK2lzIGFwcGxpY2FibGUgdG8gdmVyc2lvbiAwLjEwLjEzIHRvIGZpeCBDVkUtMjAxNC05NjAzLgorCitodHRwOi8vZ2l0LnZpZGVvbGFuLm9yZy8/cD1mZm1wZWcuZ2l0O2E9Y29tbWl0O2g9MzAzMGZiN2UwZDQxODM2ZjhhZGQ2Mzk5ZTlhN2M3Yjc0MGI0OGJmZAorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIGdzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3ZtZGF2LmMgfCA3ICsrKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvdm1kYXYuYyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3ZtZGF2LmMKK2luZGV4IGQyNTgyNTIuLmJhODhhZDggMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy92bWRhdi5jCisrKysgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy92bWRhdi5jCitAQCAtMjk0LDEwICsyOTQsMTMgQEAgc3RhdGljIHZvaWQgdm1kX2RlY29kZShWbWRWaWRlb0NvbnRleHQgKnMpCisgICAgICAgICAgICAgICAgICAgICBsZW4gPSAqcGIrKzsKKyAgICAgICAgICAgICAgICAgICAgIGlmIChsZW4gJiAweDgwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gKGxlbiAmIDB4N0YpICsgMTsKKy0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoKnBiKysgPT0gMHhGRikKKysgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKnBiKysgPT0gMHhGRikgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4gPSBybGVfdW5wYWNrKHBiLCAmZHBbb2ZzXSwgbGVuLCBmcmFtZV93aWR0aCAtIG9mcyk7CistICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQorKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvZnMgKyBsZW4gPiBmcmFtZV93aWR0aCkKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtY3B5KCZkcFtvZnNdLCBwYiwgbGVuKTsKKysgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgcGIgKz0gbGVuOworICAgICAgICAgICAgICAgICAgICAgICAgIG9mcyArPSBsZW47CisgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2gyNjRfcXBlbF9tbXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2gyNjRfcXBlbF9tbXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWRlMjRkYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvaDI2NF9xcGVsX21teC5wYXRjaApAQCAtMCwwICsxLDU3IEBACitCYWNrcG9ydCBodHRwOi8vZ2l0LnZpZGVvbGFuLm9yZy8/cD1mZm1wZWcuZ2l0O2E9Y29tbWl0ZGlmZjtoPTVmNjU0ODk3ZTMyNTM0OWRhY2YyNTQ2Njc0ZTA1MTBiYjcyZWNiNTA7aHA9MjUwY2ViZWIzYjM0OGMzZGE3MWY5OTcyZWI1MDBkNjAwNWRjMDFmMQorCitGaXhlcyB0aGVzZSBlcnJvcnMgb24geDg2CisKK2xpYmF2Y29kZWMveDg2L2gyNjRfcXBlbF9tbXguYzogQXNzZW1ibGVyIG1lc3NhZ2VzOgorbGliYXZjb2RlYy94ODYvaDI2NF9xcGVsX21teC5jOjEyOTQ6IEVycm9yOiBvcGVyYW5kIHR5cGUgbWlzbWF0Y2ggZm9yIGBjbXAnCitsaWJhdmNvZGVjL3g4Ni9oMjY0X3FwZWxfbW14LmM6MTI5NDogRXJyb3I6IG9wZXJhbmQgdHlwZSBtaXNtYXRjaCBmb3IgYGNtcCcKK2xpYmF2Y29kZWMveDg2L2gyNjRfcXBlbF9tbXguYzoxMjk4OiBFcnJvcjogb3BlcmFuZCB0eXBlIG1pc21hdGNoIGZvciBgY21wJworbGliYXZjb2RlYy94ODYvaDI2NF9xcGVsX21teC5jOjEyOTg6IEVycm9yOiBvcGVyYW5kIHR5cGUgbWlzbWF0Y2ggZm9yIGBjbXAnCitsaWJhdmNvZGVjL3g4Ni9oMjY0X3FwZWxfbW14LmM6OTY0OiBFcnJvcjogb3BlcmFuZCB0eXBlIG1pc21hdGNoIGZvciBgY21wJworbGliYXZjb2RlYy94ODYvaDI2NF9xcGVsX21teC5jOjk2NDogRXJyb3I6IG9wZXJhbmQgdHlwZSBtaXNtYXRjaCBmb3IgYGNtcCcKK2xpYmF2Y29kZWMveDg2L2gyNjRfcXBlbF9tbXguYzo5NjQ6IEVycm9yOiBvcGVyYW5kIHR5cGUgbWlzbWF0Y2ggZm9yIGBjbXAnCittYWtlWzVdOiAqKiogW2xpYmF2Y29kZWMveDg2L2RzcHV0aWxfbW14Lm9dIEVycm9yIDEKKworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorSW5kZXg6IGdzdC1mZm1wZWctMC4xMC4xMy9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy94ODYvaDI2NF9xcGVsX21teC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMveDg2L2gyNjRfcXBlbF9tbXguYwkyMDEyLTAzLTMwIDExOjM5OjQxLjMyNDUyMjA1MSAtMDcwMAorKysrIGdzdC1mZm1wZWctMC4xMC4xMy9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy94ODYvaDI2NF9xcGVsX21teC5jCTIwMTItMDMtMzAgMTE6NTQ6MDguMTUyNTY0MDc1IC0wNzAwCitAQCAtMzk4LDcgKzM5OCw3IEBACisgICAgICAgICAgICAgIjI6ICAgICAgICAgICAgICAgICAgICAgICAgIFxuXHQiXAorICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICA6ICIrYSIoc3JjKSwgIitjIihkc3QpXAorLSAgICAgICAgICAgIDogIlMiKCh4ODZfcmVnKXNyY1N0cmlkZSksICJEIigoeDg2X3JlZylkc3RTdHJpZGUpLCAiZyIoaClcCisrICAgICAgICAgICAgOiAiUyIoKHg4Nl9yZWcpc3JjU3RyaWRlKSwgIkQiKCh4ODZfcmVnKWRzdFN0cmlkZSksICJybSIoaClcCisgICAgICAgICAgICAgOiAibWVtb3J5IlwKKyAgICAgICAgICk7XAorICAgICAgICAgc3JjICs9IDQtKGgrNSkqc3JjU3RyaWRlO1wKK0BAIC00NDYsNyArNDQ2LDcgQEAKKyAgICAgICAgICAgICBRUEVMX0gyNjRIViglJW1tMywgJSVtbTQsICUlbW01LCAlJW1tMCwgJSVtbTEsICUlbW0yLCAxNSo0OClcCisgICAgICAgICAgICAgIjI6ICAgICAgICAgICAgICAgICAgICAgXG5cdCJcCisgICAgICAgICAgICAgOiAiK2EiKHNyYylcCistICAgICAgICAgICAgOiAiYyIodG1wKSwgIlMiKCh4ODZfcmVnKXNyY1N0cmlkZSksICJnIihzaXplKVwKKysgICAgICAgICAgICA6ICJjIih0bXApLCAiUyIoKHg4Nl9yZWcpc3JjU3RyaWRlKSwgInJtIihzaXplKVwKKyAgICAgICAgICAgICA6ICJtZW1vcnkiXAorICAgICAgICAgICAgICk7XAorICAgICAgICAgdG1wICs9IDQ7XAorQEAgLTgyMyw3ICs4MjMsNyBAQAorICAgICAgICAgIjI6ICAgICAgICAgICAgICAgICAgICAgICAgICBcblx0IlwKKyAgICAgICAgIFwKKyAgICAgICAgIDogIithIihzcmMpLCAiK2MiKGRzdClcCistICAgICAgICA6ICJTIigoeDg2X3JlZylzcmNTdHJpZGUpLCAiRCIoKHg4Nl9yZWcpZHN0U3RyaWRlKSwgImciKGgpXAorKyAgICAgICAgOiAiUyIoKHg4Nl9yZWcpc3JjU3RyaWRlKSwgIkQiKCh4ODZfcmVnKWRzdFN0cmlkZSksICJybSIoaClcCisgICAgICAgICA6IFhNTV9DTE9CQkVSUygiJXhtbTAiLCAiJXhtbTEiLCAiJXhtbTIiLCAiJXhtbTMiLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAiJXhtbTQiLCAiJXhtbTUiLCAiJXhtbTYiLCAiJXhtbTciLClcCisgICAgICAgICAgICJtZW1vcnkiXAorQEAgLTg3OCw3ICs4NzgsNyBAQAorICAgICAgICAgICAgIFFQRUxfSDI2NEhWX1hNTSglJXhtbTMsICUleG1tNCwgJSV4bW01LCAlJXhtbTAsICUleG1tMSwgJSV4bW0yLCAxNSo0OCkKKyAgICAgICAgICAgICAiMjogICAgICAgICAgICAgICAgICAgICAgICAgXG5cdCIKKyAgICAgICAgICAgICA6ICIrYSIoc3JjKQorLSAgICAgICAgICAgIDogImMiKHRtcCksICJTIigoeDg2X3JlZylzcmNTdHJpZGUpLCAiZyIoc2l6ZSkKKysgICAgICAgICAgICA6ICJjIih0bXApLCAiUyIoKHg4Nl9yZWcpc3JjU3RyaWRlKSwgInJtIihzaXplKQorICAgICAgICAgICAgIDogWE1NX0NMT0JCRVJTKCIleG1tMCIsICIleG1tMSIsICIleG1tMiIsICIleG1tMyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiV4bW00IiwgIiV4bW01IiwgIiV4bW02IiwgIiV4bW03IiwpCisgICAgICAgICAgICAgICAibWVtb3J5IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9saWJhdi05LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9saWJhdi05LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4NjA3NTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2xpYmF2LTkucGF0Y2gKQEAgLTAsMCArMSw5MzA0IEBACitUYWtlbiBmcm9tIGdlbnRvbyBwYXRjaHNldDoKK2h0dHA6Ly9kZXYuZ2VudG9vLm9yZy9+dGV0cm9taW5vL2Rpc3RmaWxlcy9nc3QtcGx1Z2lucy1mZm1wZWcvZ3N0LWZmbXBlZy0wLjEwLjEzX3AyMDEyLjExLWxpYmF2LTktcGF0Y2hlcy50YXIueHoKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK0NvbnRhaW5zIGZvbGxvd2luZyBjaGFuZ2VzLCByZWJhc2VkIHRvIGFwcGx5IG9uIHRvcCBvZiBvdXIgY2hhbmdlcworMDAwMi1GaXgtaW5jbHVkZXMtZm9yLXN5c3RlbXdpZGUtYnVpbGQucGF0Y2gKKzAwMDMtbGliYXYtU3dpdGNoLXRvLW5vbi1kZXByZWNhdGVkLXN5bWJvbHMucGF0Y2gKKzAwMDUtYXYtVXBkYXRlLWZvci1zb21lLWNvbnN0YW50LWNoYW5nZXMucGF0Y2gKKzAwMDYtYXYtUmVtb3ZlLXBhbGV0dGUtc3VwcG9ydC1mb3Itbm93LnBhdGNoCiswMDA3LWF2LVBvcnQtcmVtYWluaW5nLXNpbXBsZS1iaXRzLnBhdGNoCiswMDA4LWF2LVVzZS1hdl9jb2RlY19pc18tZW4tZGUtY29kZXItQVBJLWluc3RlYWQtb2YtcHJpdmEucGF0Y2gKKzAwMDktYXZwcm90b2NvbC1Qb3J0LWZyb20tdGhlLVVSTC1wcm90b2NvbC1oYW5kbGVyLXRvLXNhbi5wYXRjaAorMDAxMC1hdmRlYy1kb24tdC13YWl0LWZvci1rZXlmcmFtZS5wYXRjaAorCitGb2xsb3dpbmcgY2hhbmdlcyB3ZXJlIHNraXBwZWQ6CiswMDAxLVBhcnRpYWxseS1yZXZlcnQtY29tbWl0LTAzMDA4MDFiLnBhdGNoCiswMDA0LWF2LXVwZGF0ZS10by11c2UtQVZPcHRpb24tdmFyaWFudHMucGF0Y2gKKzAwMTEtYXZfZ2V0X2JpdHNfcGVyX3NhbXBsZV9mb3JtYXQtd2FzLXJlbW92ZWQtaW4tbGliYXYtOS5wYXRjaAorCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CisKK2RpZmYgLXVOciBnc3QtZmZtcGVnLTAuMTAuMTMub3JpZy9leHQvZmZtcGVnL2dzdGZmbXBlZy5jIGdzdC1mZm1wZWctMC4xMC4xMy9leHQvZmZtcGVnL2dzdGZmbXBlZy5jCistLS0gZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWcuYwkyMDExLTEwLTMxIDExOjE0OjAzLjAwMDAwMDAwMCArMDEwMAorKysrIGdzdC1mZm1wZWctMC4xMC4xMy9leHQvZmZtcGVnL2dzdGZmbXBlZy5jCTIwMTQtMDgtMDggMTU6MjY6MDcuODcyODU3NTU1ICswMjAwCitAQCAtMTUxLDkgKzE1MSw2IEBACisgI2VuZGlmCisgICBnc3RfZmZtcGVnYXVkaW9yZXNhbXBsZV9yZWdpc3RlciAocGx1Z2luKTsKKyAKKy0gIGF2X3JlZ2lzdGVyX3Byb3RvY29sMiAoJmdzdHJlYW1lcl9wcm90b2NvbCwgc2l6ZW9mIChVUkxQcm90b2NvbCkpOworLSAgYXZfcmVnaXN0ZXJfcHJvdG9jb2wyICgmZ3N0cGlwZV9wcm90b2NvbCwgc2l6ZW9mIChVUkxQcm90b2NvbCkpOworLQorICAgLyogTm93IHdlIGNhbiByZXR1cm4gdGhlIHBvaW50ZXIgdG8gdGhlIG5ld2x5IGNyZWF0ZWQgUGx1Z2luIG9iamVjdC4gKi8KKyAgIHJldHVybiBUUlVFOworIH0KK2RpZmYgLXVOciBnc3QtZmZtcGVnLTAuMTAuMTMub3JpZy9leHQvZmZtcGVnL2dzdGZmbXBlZy5oIGdzdC1mZm1wZWctMC4xMC4xMy9leHQvZmZtcGVnL2dzdGZmbXBlZy5oCistLS0gZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWcuaAkyMDExLTA1LTE3IDEwOjUzOjE2LjAwMDAwMDAwMCArMDIwMAorKysrIGdzdC1mZm1wZWctMC4xMC4xMy9leHQvZmZtcGVnL2dzdGZmbXBlZy5oCTIwMTQtMDgtMDggMTU6MjY6MDcuODcyODU3NTU1ICswMjAwCitAQCAtNTgsMTAgKzU4LDEzIEBACisgaW50IGdzdF9mZm1wZWdfYXZjb2RlY19jbG9zZSAoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KTsKKyBpbnQgZ3N0X2ZmbXBlZ19hdl9maW5kX3N0cmVhbV9pbmZvKEFWRm9ybWF0Q29udGV4dCAqaWMpOworIAorLUdfRU5EX0RFQ0xTCisraW50IGdzdF9mZm1wZWdkYXRhX29wZW4gKEdzdFBhZCAqIHBhZCwgaW50IGZsYWdzLCBBVklPQ29udGV4dCAqKiBjb250ZXh0KTsKKytpbnQgZ3N0X2ZmbXBlZ2RhdGFfY2xvc2UgKEFWSU9Db250ZXh0ICogaCk7CisrdHlwZWRlZiBzdHJ1Y3QgX0dzdEZGTXBlZ1BpcGUgR3N0RkZNcGVnUGlwZTsKKytpbnQgZ3N0X2ZmbXBlZ19waXBlX29wZW4gKEdzdEZGTXBlZ1BpcGUgKmZmcGlwZSwgaW50IGZsYWdzLCBBVklPQ29udGV4dCAqKiBjb250ZXh0KTsKKytpbnQgZ3N0X2ZmbXBlZ19waXBlX2Nsb3NlIChBVklPQ29udGV4dCAqIGgpOworIAorLWV4dGVybiBVUkxQcm90b2NvbCBnc3RyZWFtZXJfcHJvdG9jb2w7CistZXh0ZXJuIFVSTFByb3RvY29sIGdzdHBpcGVfcHJvdG9jb2w7CisrR19FTkRfREVDTFMKKyAKKyAvKiB1c2UgR1NUX0ZGTVBFRyBVUkxfU1RSRUFNSEVBREVSIHdpdGggVVJMX1dST05MWSBpZiB0aGUgZmlyc3QKKyAgKiBidWZmZXIgc2hvdWxkIGJlIHVzZWQgYXMgc3RyZWFtaGVhZGVyIHByb3BlcnR5IG9uIHRoZSBwYWQncyBjYXBzLiAqLworZGlmZiAtdU5yIGdzdC1mZm1wZWctMC4xMC4xMy5vcmlnL2V4dC9mZm1wZWcvZ3N0ZmZtcGVnY2ZnLmMgZ3N0LWZmbXBlZy0wLjEwLjEzL2V4dC9mZm1wZWcvZ3N0ZmZtcGVnY2ZnLmMKKy0tLSBnc3QtZmZtcGVnLTAuMTAuMTMub3JpZy9leHQvZmZtcGVnL2dzdGZmbXBlZ2NmZy5jCTIwMTEtMDctMTIgMTY6MzU6MjcuMDAwMDAwMDAwICswMjAwCisrKysgZ3N0LWZmbXBlZy0wLjEwLjEzL2V4dC9mZm1wZWcvZ3N0ZmZtcGVnY2ZnLmMJMjAxNC0wOC0wOCAxNToyNDoxNy44OTk4NTM2MTIgKzAyMDAKK0BAIC0xNDcsNyArMTQ3LDYgQEAKKyAgICAgICB7RkZfRENUX0ZBU1RJTlQsICJGYXN0IEludGVnZXIiLCAiZmFzdGludCJ9LAorICAgICAgIHtGRl9EQ1RfSU5ULCAiQWNjdXJhdGUgSW50ZWdlciIsICJpbnQifSwKKyAgICAgICB7RkZfRENUX01NWCwgIk1NWCIsICJtbXgifSwKKy0gICAgICB7RkZfRENUX01MSUIsICJNTElCIiwgIm1saWIifSwKKyAgICAgICB7RkZfRENUX0FMVElWRUMsICJBTFRJVkVDIiwgImFsdGl2ZWMifSwKKyAgICAgICB7RkZfRENUX0ZBQU4sICJGQUFOIiwgImZhYW4ifSwKKyAgICAgICB7MCwgTlVMTCwgTlVMTH0sCitAQCAtMTczLDggKzE3Miw2IEBACisgICAgICAge0ZGX0lEQ1RfU0lNUExFLCAiU2ltcGxlIiwgInNpbXBsZSJ9LAorICAgICAgIHtGRl9JRENUX1NJTVBMRU1NWCwgIlNpbXBsZSBNTVgiLCAic2ltcGxlbW14In0sCisgICAgICAge0ZGX0lEQ1RfTElCTVBFRzJNTVgsICJMSUJNUEVHMk1NWCIsICJsaWJtcGVnMm1teCJ9LAorLSAgICAgIHtGRl9JRENUX1BTMiwgIlBTMiIsICJwczIifSwKKy0gICAgICB7RkZfSURDVF9NTElCLCAiTUxJQiIsICJtbGliIn0sCisgICAgICAge0ZGX0lEQ1RfQVJNLCAiQVJNIiwgImFybSJ9LAorICAgICAgIHtGRl9JRENUX0FMVElWRUMsICJBTFRJVkVDIiwgImFsdGl2ZWMifSwKKyAgICAgICB7RkZfSURDVF9TSDQsICJTSDQiLCAic2g0In0sCitAQCAtMjYzLDE2ICsyNjAsMTEgQEAKKyAKKyAgIGlmICghZmZtcGVnX2ZsYWdzX3R5cGUpIHsKKyAgICAgc3RhdGljIGNvbnN0IEdGbGFnc1ZhbHVlIGZmbXBlZ19mbGFnc1tdID0geworLSAgICAgIHtDT0RFQ19GTEFHX09CTUMsICJVc2Ugb3ZlcmxhcHBlZCBibG9jayBtb3Rpb24gY29tcGVuc2F0aW9uIChoMjYzKykiLAorLSAgICAgICAgICAib2JtYyJ9LAorICAgICAgIHtDT0RFQ19GTEFHX1FTQ0FMRSwgIlVzZSBmaXhlZCBxc2NhbGUiLCAicXNjYWxlIn0sCisgICAgICAge0NPREVDX0ZMQUdfNE1WLCAiQWxsb3cgNCBNViBwZXIgTUIiLCAiNG12In0sCistICAgICAge0NPREVDX0ZMQUdfSDI2M1BfQUlWLCAiSC4yNjMgYWx0ZXJuYXRpdmUgaW50ZXIgVkxDIiwgImFpdiJ9LAorICAgICAgIHtDT0RFQ19GTEFHX1FQRUwsICJRdWFydGVsIFBlbCBNb3Rpb24gQ29tcGVuc2F0aW9uIiwgInFwZWwifSwKKyAgICAgICB7Q09ERUNfRkxBR19HTUMsICJHTUMiLCAiZ21jIn0sCisgICAgICAge0NPREVDX0ZMQUdfTVYwLCAiQWx3YXlzIHRyeSBhIE1CIHdpdGggTVYgKDAsMCkiLCAibXYwIn0sCistICAgICAge0NPREVDX0ZMQUdfUEFSVCwKKy0gICAgICAgICAgIlN0b3JlIE1WLCBEQyBhbmQgQUMgY29lZmZpY2llbnRzIGluIHNlcGVyYXRlIHBhcnRpdGlvbnMiLCAicGFydCJ9LAorICAgICAgIHtDT0RFQ19GTEFHX0xPT1BfRklMVEVSLCAiTG9vcCBmaWx0ZXIiLCAibG9vcC1maWx0ZXIifSwKKyAgICAgICB7Q09ERUNfRkxBR19HUkFZLCAiT25seSBkZWNvZGUvZW5jb2RlIGdyYXlzY2FsZSIsICJncmF5In0sCisgICAgICAge0NPREVDX0ZMQUdfTk9STUFMSVpFX0FRUCwKK0BAIC0yODIsMTMgKzI3NCw5IEBACisgICAgICAgICAgICJnbG9iYWwtaGVhZGVycyJ9LAorICAgICAgIHtDT0RFQ19GTEFHX0FDX1BSRUQsICJIMjYzIEFkdmFuY2VkIEludHJhIENvZGluZyAvIE1QRUc0IEFDIHByZWRpY3Rpb24iLAorICAgICAgICAgICAiYWljIn0sCistICAgICAge0NPREVDX0ZMQUdfSDI2M1BfVU1WLCAiVW5saW1pdGVkIE1vdGlvbiBWZWN0b3IiLCAidW12In0sCisgICAgICAge0NPREVDX0ZMQUdfQ0JQX1JELCAiUmF0ZSBEaXN0b3JhdGlvbiBPcHRpbWl6YXRpb24gZm9yIENCUCIsICJjYnAtcmQifSwKKyAgICAgICB7Q09ERUNfRkxBR19RUF9SRCwgIlJhdGUgRGlzdG9yYXRpb24gT3B0aW1pemF0aW9uIGZvciBRUCBzZWxlY3Rpb24iLAorICAgICAgICAgICAicXAtcmQifSwKKy0gICAgICB7Q09ERUNfRkxBR19IMjYzUF9TTElDRV9TVFJVQ1QsICJIMjYzIHNsaWNlIHN0cnVjdCIsICJzcyJ9LAorLSAgICAgIHtDT0RFQ19GTEFHX1NWQ0RfU0NBTl9PRkZTRVQsCistICAgICAgICAgICJSZXNlcnZlIHNwYWNlIGZvciBTVkNEIHNjYW4gb2Zmc2V0IHVzZXIgZGF0YSIsICJzY2Fub2Zmc2V0In0sCisgICAgICAge0NPREVDX0ZMQUdfQ0xPU0VEX0dPUCwgIkNsb3NlZCBHT1AiLCAiY2xvc2VkZ29wIn0sCisgICAgICAgezAsIE5VTEwsIE5VTEx9LAorICAgICB9OworZGlmZiAtdU5yIGdzdC1mZm1wZWctMC4xMC4xMy5vcmlnL2V4dC9mZm1wZWcvZ3N0ZmZtcGVnY29kZWNtYXAuYyBnc3QtZmZtcGVnLTAuMTAuMTMvZXh0L2ZmbXBlZy9nc3RmZm1wZWdjb2RlY21hcC5jCistLS0gZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWdjb2RlY21hcC5jCTIwMTEtMTAtMzEgMTE6MTQ6MDMuMDAwMDAwMDAwICswMTAwCisrKysgZ3N0LWZmbXBlZy0wLjEwLjEzL2V4dC9mZm1wZWcvZ3N0ZmZtcGVnY29kZWNtYXAuYwkyMDE0LTA4LTA4IDE1OjMxOjMwLjk2ODg2OTEzOSArMDIwMAorQEAgLTI1LDggKzI1LDEwIEBACisgI2luY2x1ZGUgPGdzdC9nc3QuaD4KKyAjaWZkZWYgSEFWRV9GRk1QRUdfVU5JTlNUQUxMRUQKKyAjaW5jbHVkZSA8YXZjb2RlYy5oPgorKyNpbmNsdWRlIDxjaGFubmVsX2xheW91dC5oPgorICNlbHNlCisgI2luY2x1ZGUgPGxpYmF2Y29kZWMvYXZjb2RlYy5oPgorKyNpbmNsdWRlIDxsaWJhdnV0aWwvY2hhbm5lbF9sYXlvdXQuaD4KKyAjZW5kaWYKKyAjaW5jbHVkZSA8c3RyaW5nLmg+CisgCitAQCAtMzUsNDMgKzM3LDYgQEAKKyAKKyAjaW5jbHVkZSA8Z3N0L3BidXRpbHMvY29kZWMtdXRpbHMuaD4KKyAKKy0vKgorLSAqIFJlYWQgYSBwYWxldHRlIGZyb20gYSBjYXBzLgorLSAqLworLQorLXN0YXRpYyB2b2lkCistZ3N0X2ZmbXBlZ19nZXRfcGFsZXR0ZSAoY29uc3QgR3N0Q2FwcyAqIGNhcHMsIEFWQ29kZWNDb250ZXh0ICogY29udGV4dCkKKy17CistICBHc3RTdHJ1Y3R1cmUgKnN0ciA9IGdzdF9jYXBzX2dldF9zdHJ1Y3R1cmUgKGNhcHMsIDApOworLSAgY29uc3QgR1ZhbHVlICpwYWxldHRlX3Y7CistICBjb25zdCBHc3RCdWZmZXIgKnBhbGV0dGU7CistCistICAvKiBkbyB3ZSBoYXZlIGEgcGFsZXR0ZT8gKi8KKy0gIGlmICgocGFsZXR0ZV92ID0gZ3N0X3N0cnVjdHVyZV9nZXRfdmFsdWUgKHN0ciwgInBhbGV0dGVfZGF0YSIpKSAmJiBjb250ZXh0KSB7CistICAgIHBhbGV0dGUgPSBnc3RfdmFsdWVfZ2V0X2J1ZmZlciAocGFsZXR0ZV92KTsKKy0gICAgaWYgKEdTVF9CVUZGRVJfU0laRSAocGFsZXR0ZSkgPj0gQVZQQUxFVFRFX1NJWkUpIHsKKy0gICAgICBpZiAoY29udGV4dC0+cGFsY3RybCkKKy0gICAgICAgIGF2X2ZyZWUgKGNvbnRleHQtPnBhbGN0cmwpOworLSAgICAgIGNvbnRleHQtPnBhbGN0cmwgPSBhdl9tYWxsb2MgKHNpemVvZiAoQVZQYWxldHRlQ29udHJvbCkpOworLSAgICAgIGNvbnRleHQtPnBhbGN0cmwtPnBhbGV0dGVfY2hhbmdlZCA9IDE7CistICAgICAgbWVtY3B5IChjb250ZXh0LT5wYWxjdHJsLT5wYWxldHRlLCBHU1RfQlVGRkVSX0RBVEEgKHBhbGV0dGUpLAorLSAgICAgICAgICBBVlBBTEVUVEVfU0laRSk7CistICAgIH0KKy0gIH0KKy19CistCistc3RhdGljIHZvaWQKKy1nc3RfZmZtcGVnX3NldF9wYWxldHRlIChHc3RDYXBzICogY2FwcywgQVZDb2RlY0NvbnRleHQgKiBjb250ZXh0KQorLXsKKy0gIGlmIChjb250ZXh0LT5wYWxjdHJsKSB7CistICAgIEdzdEJ1ZmZlciAqcGFsZXR0ZSA9IGdzdF9idWZmZXJfbmV3X2FuZF9hbGxvYyAoQVZQQUxFVFRFX1NJWkUpOworLQorLSAgICBtZW1jcHkgKEdTVF9CVUZGRVJfREFUQSAocGFsZXR0ZSksIGNvbnRleHQtPnBhbGN0cmwtPnBhbGV0dGUsCistICAgICAgICBBVlBBTEVUVEVfU0laRSk7CistICAgIGdzdF9jYXBzX3NldF9zaW1wbGUgKGNhcHMsICJwYWxldHRlX2RhdGEiLCBHU1RfVFlQRV9CVUZGRVIsIHBhbGV0dGUsIE5VTEwpOworLSAgfQorLX0KKy0KKyAvKiBJTVBPUlRBTlQ6IEtlZXAgdGhpcyBzb3J0ZWQgYnkgdGhlIGZmbXBlZyBjaGFubmVsIG1hc2tzICovCisgc3RhdGljIGNvbnN0IHN0cnVjdAorIHsKK0BAIC03OSwyNiArNDQsMjYgQEAKKyAgIEdzdEF1ZGlvQ2hhbm5lbFBvc2l0aW9uIGdzdDsKKyB9IF9mZl90b19nc3RfbGF5b3V0W10gPSB7CisgICB7CistICBDSF9GUk9OVF9MRUZULCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9GUk9OVF9MRUZUfSwgeworLSAgQ0hfRlJPTlRfUklHSFQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX0ZST05UX1JJR0hUfSwgeworLSAgQ0hfRlJPTlRfQ0VOVEVSLCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9GUk9OVF9DRU5URVJ9LCB7CistICBDSF9MT1dfRlJFUVVFTkNZLCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9MRkV9LCB7CistICBDSF9CQUNLX0xFRlQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX1JFQVJfTEVGVH0sIHsKKy0gIENIX0JBQ0tfUklHSFQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX1JFQVJfUklHSFR9LCB7CistICBDSF9GUk9OVF9MRUZUX09GX0NFTlRFUiwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fRlJPTlRfTEVGVF9PRl9DRU5URVJ9LCB7CistICBDSF9GUk9OVF9SSUdIVF9PRl9DRU5URVIsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX0ZST05UX1JJR0hUX09GX0NFTlRFUn0sIHsKKy0gIENIX0JBQ0tfQ0VOVEVSLCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9SRUFSX0NFTlRFUn0sIHsKKy0gIENIX1NJREVfTEVGVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fU0lERV9MRUZUfSwgeworLSAgQ0hfU0lERV9SSUdIVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fU0lERV9SSUdIVH0sIHsKKy0gIENIX1RPUF9DRU5URVIsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX05PTkV9LCB7CistICBDSF9UT1BfRlJPTlRfTEVGVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fTk9ORX0sIHsKKy0gIENIX1RPUF9GUk9OVF9DRU5URVIsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX05PTkV9LCB7CistICBDSF9UT1BfRlJPTlRfUklHSFQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX05PTkV9LCB7CistICBDSF9UT1BfQkFDS19MRUZULCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9OT05FfSwgeworLSAgQ0hfVE9QX0JBQ0tfQ0VOVEVSLCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9OT05FfSwgeworLSAgQ0hfVE9QX0JBQ0tfUklHSFQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX05PTkV9LCB7CistICBDSF9TVEVSRU9fTEVGVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fRlJPTlRfTEVGVH0sIHsKKy0gIENIX1NURVJFT19SSUdIVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fRlJPTlRfUklHSFR9CisrICBBVl9DSF9GUk9OVF9MRUZULCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9GUk9OVF9MRUZUfSwgeworKyAgQVZfQ0hfRlJPTlRfUklHSFQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX0ZST05UX1JJR0hUfSwgeworKyAgQVZfQ0hfRlJPTlRfQ0VOVEVSLCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9GUk9OVF9DRU5URVJ9LCB7CisrICBBVl9DSF9MT1dfRlJFUVVFTkNZLCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9MRkV9LCB7CisrICBBVl9DSF9CQUNLX0xFRlQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX1JFQVJfTEVGVH0sIHsKKysgIEFWX0NIX0JBQ0tfUklHSFQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX1JFQVJfUklHSFR9LCB7CisrICBBVl9DSF9GUk9OVF9MRUZUX09GX0NFTlRFUiwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fRlJPTlRfTEVGVF9PRl9DRU5URVJ9LCB7CisrICBBVl9DSF9GUk9OVF9SSUdIVF9PRl9DRU5URVIsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX0ZST05UX1JJR0hUX09GX0NFTlRFUn0sIHsKKysgIEFWX0NIX0JBQ0tfQ0VOVEVSLCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9SRUFSX0NFTlRFUn0sIHsKKysgIEFWX0NIX1NJREVfTEVGVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fU0lERV9MRUZUfSwgeworKyAgQVZfQ0hfU0lERV9SSUdIVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fU0lERV9SSUdIVH0sIHsKKysgIEFWX0NIX1RPUF9DRU5URVIsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX05PTkV9LCB7CisrICBBVl9DSF9UT1BfRlJPTlRfTEVGVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fTk9ORX0sIHsKKysgIEFWX0NIX1RPUF9GUk9OVF9DRU5URVIsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX05PTkV9LCB7CisrICBBVl9DSF9UT1BfRlJPTlRfUklHSFQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX05PTkV9LCB7CisrICBBVl9DSF9UT1BfQkFDS19MRUZULCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9OT05FfSwgeworKyAgQVZfQ0hfVE9QX0JBQ0tfQ0VOVEVSLCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9OT05FfSwgeworKyAgQVZfQ0hfVE9QX0JBQ0tfUklHSFQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX05PTkV9LCB7CisrICBBVl9DSF9TVEVSRU9fTEVGVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fRlJPTlRfTEVGVH0sIHsKKysgIEFWX0NIX1NURVJFT19SSUdIVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fRlJPTlRfUklHSFR9CisgfTsKKyAKKyBzdGF0aWMgR3N0QXVkaW9DaGFubmVsUG9zaXRpb24gKgorQEAgLTM0Miw4ICszMDcsOCBAQAorIAorICAgICBpZiAoY2hhbm5lbF9sYXlvdXQgPT0gMCkgeworICAgICAgIGNvbnN0IGd1aW50NjQgZGVmYXVsdF9jaGFubmVsX3NldFtdID0geworLSAgICAgICAgMCwgMCwgQ0hfTEFZT1VUX1NVUlJPVU5ELCBDSF9MQVlPVVRfUVVBRCwgQ0hfTEFZT1VUXzVQT0lOVDAsCistICAgICAgICBDSF9MQVlPVVRfNVBPSU5UMSwgMCwgQ0hfTEFZT1VUXzdQT0lOVDEKKysgICAgICAgIDAsIDAsIEFWX0NIX0xBWU9VVF9TVVJST1VORCwgQVZfQ0hfTEFZT1VUX1FVQUQsIEFWX0NIX0xBWU9VVF81UE9JTlQwLAorKyAgICAgICAgQVZfQ0hfTEFZT1VUXzVQT0lOVDEsIDAsIEFWX0NIX0xBWU9VVF83UE9JTlQxCisgICAgICAgfTsKKyAKKyAgICAgICBzd2l0Y2ggKGNvZGVjX2lkKSB7CitAQCAtMTI2Nyw4ICsxMjMyLDYgQEAKKyAgICAgY2FzZSBDT0RFQ19JRF9GTElDOgorICAgICBjYXNlIENPREVDX0lEX1ZNRFZJREVPOgorICAgICBjYXNlIENPREVDX0lEX1ZNREFVRElPOgorLSAgICBjYXNlIENPREVDX0lEX1NPTklDOgorLSAgICBjYXNlIENPREVDX0lEX1NPTklDX0xTOgorICAgICBjYXNlIENPREVDX0lEX1NOT1c6CisgICAgIGNhc2UgQ09ERUNfSURfVklYTDoKKyAgICAgY2FzZSBDT0RFQ19JRF9RUEVHOgorQEAgLTE2ODksMTEgKzE2NTIsNiBAQAorICAgICAgIGdzdF9idWZmZXJfdW5yZWYgKGRhdGEpOworICAgICB9CisgCistICAgIC8qIHBhbGV0dGUgKi8KKy0gICAgaWYgKGNvbnRleHQpIHsKKy0gICAgICBnc3RfZmZtcGVnX3NldF9wYWxldHRlIChjYXBzLCBjb250ZXh0KTsKKy0gICAgfQorLQorICAgICBHU1RfTE9HICgiY2FwcyBmb3IgY29kZWNfaWQ9JWQ6ICUiIEdTVF9QVFJfRk9STUFULCBjb2RlY19pZCwgY2Fwcyk7CisgCisgICB9IGVsc2UgeworQEAgLTE4MzAsOSArMTc4OCw2IEBACisgICAgICAgICAgICAgImJwcCIsIEdfVFlQRV9JTlQsIGJwcCwKKyAgICAgICAgICAgICAiZGVwdGgiLCBHX1RZUEVfSU5ULCBkZXB0aCwKKyAgICAgICAgICAgICAiZW5kaWFubmVzcyIsIEdfVFlQRV9JTlQsIGVuZGlhbm5lc3MsIE5VTEwpOworLSAgICAgICAgaWYgKGNhcHMgJiYgY29udGV4dCkgeworLSAgICAgICAgICBnc3RfZmZtcGVnX3NldF9wYWxldHRlIChjYXBzLCBjb250ZXh0KTsKKy0gICAgICAgIH0KKyAgICAgICB9CisgICAgIH0gZWxzZSBpZiAoZm10KSB7CisgICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1yYXcteXV2IiwKK0BAIC0xODU3LDcgKzE4MTIsNyBAQAorICAqLworIAorIHN0YXRpYyBHc3RDYXBzICoKKy1nc3RfZmZtcGVnX3NtcGZtdF90b19jYXBzIChlbnVtIFNhbXBsZUZvcm1hdCBzYW1wbGVfZm10LAorK2dzdF9mZm1wZWdfc21wZm10X3RvX2NhcHMgKGVudW0gQVZTYW1wbGVGb3JtYXQgc2FtcGxlX2ZtdCwKKyAgICAgQVZDb2RlY0NvbnRleHQgKiBjb250ZXh0LCBlbnVtIENvZGVjSUQgY29kZWNfaWQpCisgeworICAgR3N0Q2FwcyAqY2FwcyA9IE5VTEw7CitAQCAtMTg2NywyMiArMTgyMiwyMiBAQAorICAgZ2Jvb2xlYW4gc2lnbmVkbmVzcyA9IEZBTFNFOworIAorICAgc3dpdGNoIChzYW1wbGVfZm10KSB7CistICAgIGNhc2UgU0FNUExFX0ZNVF9TMTY6CisrICAgIGNhc2UgQVZfU0FNUExFX0ZNVF9TMTY6CisgICAgICAgc2lnbmVkbmVzcyA9IFRSVUU7CisgICAgICAgYnBwID0gMTY7CisgICAgICAgYnJlYWs7CisgCistICAgIGNhc2UgU0FNUExFX0ZNVF9TMzI6CisrICAgIGNhc2UgQVZfU0FNUExFX0ZNVF9TMzI6CisgICAgICAgc2lnbmVkbmVzcyA9IFRSVUU7CisgICAgICAgYnBwID0gMzI7CisgICAgICAgYnJlYWs7CisgCistICAgIGNhc2UgU0FNUExFX0ZNVF9GTFQ6CisrICAgIGNhc2UgQVZfU0FNUExFX0ZNVF9GTFQ6CisgICAgICAgaW50ZWdlciA9IEZBTFNFOworICAgICAgIGJwcCA9IDMyOworICAgICAgIGJyZWFrOworIAorLSAgICBjYXNlIFNBTVBMRV9GTVRfREJMOgorKyAgICBjYXNlIEFWX1NBTVBMRV9GTVRfREJMOgorICAgICAgIGludGVnZXIgPSBGQUxTRTsKKyAgICAgICBicHAgPSA2NDsKKyAgICAgICBicmVhazsKK0BAIC0xOTQxLDEyICsxODk2LDEyIEBACisgICAgIH0KKyAgIH0gZWxzZSB7CisgICAgIEdzdENhcHMgKnRlbXA7CistICAgIGVudW0gU2FtcGxlRm9ybWF0IGk7CisrICAgIGVudW0gQVZTYW1wbGVGb3JtYXQgaTsKKyAgICAgQVZDb2RlY0NvbnRleHQgY3R4ID0geyAwLCB9OworIAorICAgICBjdHguY2hhbm5lbHMgPSAtMTsKKyAgICAgY2FwcyA9IGdzdF9jYXBzX25ld19lbXB0eSAoKTsKKy0gICAgZm9yIChpID0gMDsgaSA8PSBTQU1QTEVfRk1UX0RCTDsgaSsrKSB7CisrICAgIGZvciAoaSA9IDA7IGkgPD0gQVZfU0FNUExFX0ZNVF9EQkw7IGkrKykgeworICAgICAgIHRlbXAgPSBnc3RfZmZtcGVnX3NtcGZtdF90b19jYXBzIChpLCBlbmNvZGUgPyAmY3R4IDogTlVMTCwgY29kZWNfaWQpOworICAgICAgIGlmICh0ZW1wICE9IE5VTEwpIHsKKyAgICAgICAgIGdzdF9jYXBzX2FwcGVuZCAoY2FwcywgdGVtcCk7CitAQCAtMjA0OSw5ICsyMDA0LDkgQEAKKyAgICAgICAgIGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAiZW5kaWFubmVzcyIsICZlbmRpYW5uZXNzKSkgeworICAgICAgIGlmIChlbmRpYW5uZXNzID09IEdfQllURV9PUkRFUikgeworICAgICAgICAgaWYgKHdpZHRoID09IDMyKQorLSAgICAgICAgICBjb250ZXh0LT5zYW1wbGVfZm10ID0gU0FNUExFX0ZNVF9GTFQ7CisrICAgICAgICAgIGNvbnRleHQtPnNhbXBsZV9mbXQgPSBBVl9TQU1QTEVfRk1UX0ZMVDsKKyAgICAgICAgIGVsc2UgaWYgKHdpZHRoID09IDY0KQorLSAgICAgICAgICBjb250ZXh0LT5zYW1wbGVfZm10ID0gU0FNUExFX0ZNVF9EQkw7CisrICAgICAgICAgIGNvbnRleHQtPnNhbXBsZV9mbXQgPSBBVl9TQU1QTEVfRk1UX0RCTDsKKyAgICAgICB9CisgICAgIH0KKyAgIH0gZWxzZSB7CitAQCAtMjA2Miw5ICsyMDE3LDkgQEAKKyAgICAgICAgIGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAiZW5kaWFubmVzcyIsICZlbmRpYW5uZXNzKSkgeworICAgICAgIGlmICgoZW5kaWFubmVzcyA9PSBHX0JZVEVfT1JERVIpICYmIChzaWduZWRuZXNzID09IFRSVUUpKSB7CisgICAgICAgICBpZiAoKHdpZHRoID09IDE2KSAmJiAoZGVwdGggPT0gMTYpKQorLSAgICAgICAgICBjb250ZXh0LT5zYW1wbGVfZm10ID0gU0FNUExFX0ZNVF9TMTY7CisrICAgICAgICAgIGNvbnRleHQtPnNhbXBsZV9mbXQgPSBBVl9TQU1QTEVfRk1UX1MxNjsKKyAgICAgICAgIGVsc2UgaWYgKCh3aWR0aCA9PSAzMikgJiYgKGRlcHRoID09IDMyKSkKKy0gICAgICAgICAgY29udGV4dC0+c2FtcGxlX2ZtdCA9IFNBTVBMRV9GTVRfUzMyOworKyAgICAgICAgICBjb250ZXh0LT5zYW1wbGVfZm10ID0gQVZfU0FNUExFX0ZNVF9TMzI7CisgICAgICAgfQorICAgICB9CisgICB9CitAQCAtMjE5MCw3ICsyMTQ1LDYgQEAKKyAgICAgICB9IGVsc2UgeworICAgICAgICAgaWYgKGJwcCA9PSA4KSB7CisgICAgICAgICAgIGNvbnRleHQtPnBpeF9mbXQgPSBQSVhfRk1UX1BBTDg7CistICAgICAgICAgIGdzdF9mZm1wZWdfZ2V0X3BhbGV0dGUgKGNhcHMsIGNvbnRleHQpOworICAgICAgICAgfQorICAgICAgIH0KKyAgICAgfQorQEAgLTI1NzYsNyArMjUzMCw2IEBACisgICBzd2l0Y2ggKGNvZGVjX3R5cGUpIHsKKyAgICAgY2FzZSBBVk1FRElBX1RZUEVfVklERU86CisgICAgICAgZ3N0X2ZmbXBlZ19jYXBzX3RvX3BpeGZtdCAoY2FwcywgY29udGV4dCwgY29kZWNfaWQgPT0gQ09ERUNfSURfUkFXVklERU8pOworLSAgICAgIGdzdF9mZm1wZWdfZ2V0X3BhbGV0dGUgKGNhcHMsIGNvbnRleHQpOworICAgICAgIGJyZWFrOworICAgICBjYXNlIEFWTUVESUFfVFlQRV9BVURJTzoKKyAgICAgICBnc3RfZmZtcGVnX2NhcHNfdG9fc21wZm10IChjYXBzLCBjb250ZXh0LCBGQUxTRSk7CitkaWZmIC11TnIgZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWdjb2RlY21hcC5jLm9yaWcgZ3N0LWZmbXBlZy0wLjEwLjEzL2V4dC9mZm1wZWcvZ3N0ZmZtcGVnY29kZWNtYXAuYy5vcmlnCistLS0gZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWdjb2RlY21hcC5jLm9yaWcJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnc3QtZmZtcGVnLTAuMTAuMTMvZXh0L2ZmbXBlZy9nc3RmZm1wZWdjb2RlY21hcC5jLm9yaWcJMjAxNC0wOC0wOCAxNTozMDozNC4wMDY4NjcwOTcgKzAyMDAKK0BAIC0wLDAgKzEsMzQ0NyBAQAorKy8qIEdTdHJlYW1lcgorKyAqIENvcHlyaWdodCAoQykgPDE5OTk+IEVyaWsgV2FsdGhpbnNlbiA8b21lZ2FAY3NlLm9naS5lZHU+CisrICogVGhpcyBmaWxlOgorKyAqIENvcHlyaWdodCAoYykgMjAwMi0yMDA0IFJvbmFsZCBCdWx0amUgPHJidWx0amVAcm9uYWxkLmJpdGZyZWFrLm5ldD4KKysgKgorKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKysgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysgKgorKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKysgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysgKgorKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisrICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUKKysgKiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKKysgKiBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KKysgKi8KKysKKysjaWZkZWYgSEFWRV9DT05GSUdfSAorKyNpbmNsdWRlICJjb25maWcuaCIKKysjZW5kaWYKKysjaW5jbHVkZSA8Z3N0L2dzdC5oPgorKyNpZmRlZiBIQVZFX0ZGTVBFR19VTklOU1RBTExFRAorKyNpbmNsdWRlIDxhdmNvZGVjLmg+CisrI2luY2x1ZGUgPGNoYW5uZWxfbGF5b3V0Lmg+PgorKyNlbHNlCisrI2luY2x1ZGUgPGxpYmF2Y29kZWMvYXZjb2RlYy5oPgorKyNpbmNsdWRlIDxsaWJhdnV0aWwvY2hhbm5lbF9sYXlvdXQuaD4KKysjZW5kaWYKKysjaW5jbHVkZSA8c3RyaW5nLmg+CisrCisrI2luY2x1ZGUgImdzdGZmbXBlZy5oIgorKyNpbmNsdWRlICJnc3RmZm1wZWdjb2RlY21hcC5oIgorKworKyNpbmNsdWRlIDxnc3QvcGJ1dGlscy9jb2RlYy11dGlscy5oPgorKworKy8qCisrICogUmVhZCBhIHBhbGV0dGUgZnJvbSBhIGNhcHMuCisrICovCisrCisrc3RhdGljIHZvaWQKKytnc3RfZmZtcGVnX2dldF9wYWxldHRlIChjb25zdCBHc3RDYXBzICogY2FwcywgQVZDb2RlY0NvbnRleHQgKiBjb250ZXh0KQorK3sKKysgIEdzdFN0cnVjdHVyZSAqc3RyID0gZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZSAoY2FwcywgMCk7CisrICBjb25zdCBHVmFsdWUgKnBhbGV0dGVfdjsKKysgIGNvbnN0IEdzdEJ1ZmZlciAqcGFsZXR0ZTsKKysKKysgIC8qIGRvIHdlIGhhdmUgYSBwYWxldHRlPyAqLworKyAgaWYgKChwYWxldHRlX3YgPSBnc3Rfc3RydWN0dXJlX2dldF92YWx1ZSAoc3RyLCAicGFsZXR0ZV9kYXRhIikpICYmIGNvbnRleHQpIHsKKysgICAgcGFsZXR0ZSA9IGdzdF92YWx1ZV9nZXRfYnVmZmVyIChwYWxldHRlX3YpOworKyAgICBpZiAoR1NUX0JVRkZFUl9TSVpFIChwYWxldHRlKSA+PSBBVlBBTEVUVEVfU0laRSkgeworKyAgICAgIGlmIChjb250ZXh0LT5wYWxjdHJsKQorKyAgICAgICAgYXZfZnJlZSAoY29udGV4dC0+cGFsY3RybCk7CisrICAgICAgY29udGV4dC0+cGFsY3RybCA9IGF2X21hbGxvYyAoc2l6ZW9mIChBVlBhbGV0dGVDb250cm9sKSk7CisrICAgICAgY29udGV4dC0+cGFsY3RybC0+cGFsZXR0ZV9jaGFuZ2VkID0gMTsKKysgICAgICBtZW1jcHkgKGNvbnRleHQtPnBhbGN0cmwtPnBhbGV0dGUsIEdTVF9CVUZGRVJfREFUQSAocGFsZXR0ZSksCisrICAgICAgICAgIEFWUEFMRVRURV9TSVpFKTsKKysgICAgfQorKyAgfQorK30KKysKKytzdGF0aWMgdm9pZAorK2dzdF9mZm1wZWdfc2V0X3BhbGV0dGUgKEdzdENhcHMgKiBjYXBzLCBBVkNvZGVjQ29udGV4dCAqIGNvbnRleHQpCisreworKyAgaWYgKGNvbnRleHQtPnBhbGN0cmwpIHsKKysgICAgR3N0QnVmZmVyICpwYWxldHRlID0gZ3N0X2J1ZmZlcl9uZXdfYW5kX2FsbG9jIChBVlBBTEVUVEVfU0laRSk7CisrCisrICAgIG1lbWNweSAoR1NUX0JVRkZFUl9EQVRBIChwYWxldHRlKSwgY29udGV4dC0+cGFsY3RybC0+cGFsZXR0ZSwKKysgICAgICAgIEFWUEFMRVRURV9TSVpFKTsKKysgICAgZ3N0X2NhcHNfc2V0X3NpbXBsZSAoY2FwcywgInBhbGV0dGVfZGF0YSIsIEdTVF9UWVBFX0JVRkZFUiwgcGFsZXR0ZSwgTlVMTCk7CisrICB9CisrfQorKworKy8qIElNUE9SVEFOVDogS2VlcCB0aGlzIHNvcnRlZCBieSB0aGUgZmZtcGVnIGNoYW5uZWwgbWFza3MgKi8KKytzdGF0aWMgY29uc3Qgc3RydWN0CisreworKyAgZ3VpbnQ2NCBmZjsKKysgIEdzdEF1ZGlvQ2hhbm5lbFBvc2l0aW9uIGdzdDsKKyt9IF9mZl90b19nc3RfbGF5b3V0W10gPSB7CisrICB7CisrICBBVl9DSF9GUk9OVF9MRUZULCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9GUk9OVF9MRUZUfSwgeworKyAgQVZfQ0hfRlJPTlRfUklHSFQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX0ZST05UX1JJR0hUfSwgeworKyAgQVZfQ0hfRlJPTlRfQ0VOVEVSLCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9GUk9OVF9DRU5URVJ9LCB7CisrICBBVl9DSF9MT1dfRlJFUVVFTkNZLCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9MRkV9LCB7CisrICBBVl9DSF9CQUNLX0xFRlQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX1JFQVJfTEVGVH0sIHsKKysgIEFWX0NIX0JBQ0tfUklHSFQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX1JFQVJfUklHSFR9LCB7CisrICBBVl9DSF9GUk9OVF9MRUZUX09GX0NFTlRFUiwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fRlJPTlRfTEVGVF9PRl9DRU5URVJ9LCB7CisrICBBVl9DSF9GUk9OVF9SSUdIVF9PRl9DRU5URVIsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX0ZST05UX1JJR0hUX09GX0NFTlRFUn0sIHsKKysgIEFWX0NIX0JBQ0tfQ0VOVEVSLCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9SRUFSX0NFTlRFUn0sIHsKKysgIEFWX0NIX1NJREVfTEVGVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fU0lERV9MRUZUfSwgeworKyAgQVZfQ0hfU0lERV9SSUdIVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fU0lERV9SSUdIVH0sIHsKKysgIEFWX0NIX1RPUF9DRU5URVIsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX05PTkV9LCB7CisrICBBVl9DSF9UT1BfRlJPTlRfTEVGVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fTk9ORX0sIHsKKysgIEFWX0NIX1RPUF9GUk9OVF9DRU5URVIsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX05PTkV9LCB7CisrICBBVl9DSF9UT1BfRlJPTlRfUklHSFQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX05PTkV9LCB7CisrICBBVl9DSF9UT1BfQkFDS19MRUZULCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9OT05FfSwgeworKyAgQVZfQ0hfVE9QX0JBQ0tfQ0VOVEVSLCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9OT05FfSwgeworKyAgQVZfQ0hfVE9QX0JBQ0tfUklHSFQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX05PTkV9LCB7CisrICBBVl9DSF9TVEVSRU9fTEVGVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fRlJPTlRfTEVGVH0sIHsKKysgIEFWX0NIX1NURVJFT19SSUdIVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fRlJPTlRfUklHSFR9CisrfTsKKysKKytzdGF0aWMgR3N0QXVkaW9DaGFubmVsUG9zaXRpb24gKgorK2dzdF9mZl9jaGFubmVsX2xheW91dF90b19nc3QgKGd1aW50NjQgY2hhbm5lbF9sYXlvdXQsIGd1aW50IGNoYW5uZWxzKQorK3sKKysgIGd1aW50IG5jaGFubmVscyA9IDAsIGksIGo7CisrICBHc3RBdWRpb0NoYW5uZWxQb3NpdGlvbiAqcG9zID0gTlVMTDsKKysgIGdib29sZWFuIG5vbmVfbGF5b3V0ID0gRkFMU0U7CisrCisrICBmb3IgKGkgPSAwOyBpIDwgNjQ7IGkrKykgeworKyAgICBpZiAoKGNoYW5uZWxfbGF5b3V0ICYgKEdfR1VJTlQ2NF9DT05TVEFOVCAoMSkgPDwgaSkpICE9IDApIHsKKysgICAgICBuY2hhbm5lbHMrKzsKKysgICAgfQorKyAgfQorKworKyAgaWYgKGNoYW5uZWxfbGF5b3V0ID09IDApIHsKKysgICAgbmNoYW5uZWxzID0gY2hhbm5lbHM7CisrICAgIG5vbmVfbGF5b3V0ID0gVFJVRTsKKysgIH0KKysKKysgIGlmIChuY2hhbm5lbHMgIT0gY2hhbm5lbHMpIHsKKysgICAgR1NUX0VSUk9SICgiTnVtYmVyIG9mIGNoYW5uZWxzIGlzIGRpZmZlcmVudCAoJXUgIT0gJXUpIiwgY2hhbm5lbHMsCisrICAgICAgICBuY2hhbm5lbHMpOworKyAgICByZXR1cm4gTlVMTDsKKysgIH0KKysKKysgIHBvcyA9IGdfbmV3IChHc3RBdWRpb0NoYW5uZWxQb3NpdGlvbiwgbmNoYW5uZWxzKTsKKysKKysgIGZvciAoaSA9IDAsIGogPSAwOyBpIDwgR19OX0VMRU1FTlRTIChfZmZfdG9fZ3N0X2xheW91dCk7IGkrKykgeworKyAgICBpZiAoKGNoYW5uZWxfbGF5b3V0ICYgX2ZmX3RvX2dzdF9sYXlvdXRbaV0uZmYpICE9IDApIHsKKysgICAgICBwb3NbaisrXSA9IF9mZl90b19nc3RfbGF5b3V0W2ldLmdzdDsKKysKKysgICAgICBpZiAoX2ZmX3RvX2dzdF9sYXlvdXRbaV0uZ3N0ID09IEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX05PTkUpCisrICAgICAgICBub25lX2xheW91dCA9IFRSVUU7CisrICAgIH0KKysgIH0KKysKKysgIGlmIChqICE9IG5jaGFubmVscykgeworKyAgICBHU1RfV0FSTklORyAoIlVua25vd24gY2hhbm5lbHMgaW4gY2hhbm5lbCBsYXlvdXQgLSBhc3N1bWluZyBOT05FIGxheW91dCIpOworKyAgICBub25lX2xheW91dCA9IFRSVUU7CisrICB9CisrCisrICBpZiAoIW5vbmVfbGF5b3V0ICYmICFnc3RfYXVkaW9fY2hlY2tfY2hhbm5lbF9wb3NpdGlvbnMgKHBvcywgbmNoYW5uZWxzKSkgeworKyAgICBHU1RfRVJST1IgKCJJbnZhbGlkIGNoYW5uZWwgbGF5b3V0ICUiIEdfR1VJTlQ2NF9GT1JNQVQKKysgICAgICAgICIgLSBhc3N1bWluZyBOT05FIGxheW91dCIsIGNoYW5uZWxfbGF5b3V0KTsKKysgICAgbm9uZV9sYXlvdXQgPSBUUlVFOworKyAgfQorKworKyAgaWYgKG5vbmVfbGF5b3V0KSB7CisrICAgIGlmIChuY2hhbm5lbHMgPT0gMSkgeworKyAgICAgIHBvc1swXSA9IEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX0ZST05UX01PTk87CisrICAgIH0gZWxzZSBpZiAobmNoYW5uZWxzID09IDIpIHsKKysgICAgICBwb3NbMF0gPSBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9GUk9OVF9MRUZUOworKyAgICAgIHBvc1sxXSA9IEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX0ZST05UX1JJR0hUOworKyAgICB9IGVsc2UgaWYgKGNoYW5uZWxfbGF5b3V0ID09IDApIHsKKysgICAgICBnX2ZyZWUgKHBvcyk7CisrICAgICAgcG9zID0gTlVMTDsKKysgICAgfSBlbHNlIHsKKysgICAgICBmb3IgKGkgPSAwOyBpIDwgbmNoYW5uZWxzOyBpKyspCisrICAgICAgICBwb3NbaV0gPSBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9OT05FOworKyAgICB9CisrICB9CisrCisrICBpZiAobmNoYW5uZWxzID09IDEgJiYgcG9zWzBdID09IEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX0ZST05UX0NFTlRFUikgeworKyAgICBHU1RfREVCVUcgKCJtb25vIGNvbW1vbiBjYXNlOyB3b24ndCBzZXQgY2hhbm5lbCBwb3NpdGlvbnMiKTsKKysgICAgZ19mcmVlIChwb3MpOworKyAgICBwb3MgPSBOVUxMOworKyAgfSBlbHNlIGlmIChuY2hhbm5lbHMgPT0gMiAmJiBwb3NbMF0gPT0gR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fRlJPTlRfTEVGVAorKyAgICAgICYmIHBvc1sxXSA9PSBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9GUk9OVF9SSUdIVCkgeworKyAgICBHU1RfREVCVUcgKCJzdGVyZW8gY29tbW9uIGNhc2U7IHdvbid0IHNldCBjaGFubmVsIHBvc2l0aW9ucyIpOworKyAgICBnX2ZyZWUgKHBvcyk7CisrICAgIHBvcyA9IE5VTEw7CisrICB9CisrCisrICByZXR1cm4gcG9zOworK30KKysKKysvKiB0aGlzIG1hY3JvIG1ha2VzIGEgY2FwcyB3aWR0aCBmaXhlZCBvciB1bmZpeGVkIHdpZHRoL2hlaWdodAorKyAqIHByb3BlcnRpZXMgZGVwZW5kaW5nIG9uIHdoZXRoZXIgd2UndmUgZ290IGEgY29udGV4dC4KKysgKgorKyAqIFNlZSBiZWxvdyBmb3Igd2h5IHdlIHVzZSB0aGlzLgorKyAqCisrICogV2Ugc2hvdWxkIGFjdHVhbGx5IGRvIHRoaXMgc3R1ZmYgYXQgdGhlIGVuZCwgbGlrZSBpbiByaWZmLW1lZGlhLmMsCisrICogYnV0IEknbSB0b28gbGF6eSB0b2RheS4gTWF5YmUgbGF0ZXIuCisrICovCisrc3RhdGljIEdzdENhcHMgKgorK2dzdF9mZl92aWRfY2Fwc19uZXcgKEFWQ29kZWNDb250ZXh0ICogY29udGV4dCwgZW51bSBDb2RlY0lEIGNvZGVjX2lkLAorKyAgICBjb25zdCBjaGFyICptaW1ldHlwZSwgY29uc3QgY2hhciAqZmllbGRuYW1lLCAuLi4pCisreworKyAgR3N0U3RydWN0dXJlICpzdHJ1Y3R1cmUgPSBOVUxMOworKyAgR3N0Q2FwcyAqY2FwcyA9IE5VTEw7CisrICB2YV9saXN0IHZhcl9hcmdzOworKyAgZ2ludCBpOworKworKyAgR1NUX0xPRyAoImNvbnRleHQ6JXAsIGNvZGVjX2lkOiVkLCBtaW1ldHlwZTolcyIsIGNvbnRleHQsIGNvZGVjX2lkLCBtaW1ldHlwZSk7CisrCisrICAvKiBmaXhlZCwgbm9uIHByb2JpbmcgY29udGV4dCAqLworKyAgaWYgKGNvbnRleHQgIT0gTlVMTCAmJiBjb250ZXh0LT53aWR0aCAhPSAtMSkgeworKyAgICBnaW50IG51bSwgZGVub207CisrCisrICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfc2ltcGxlIChtaW1ldHlwZSwKKysgICAgICAgICJ3aWR0aCIsIEdfVFlQRV9JTlQsIGNvbnRleHQtPndpZHRoLAorKyAgICAgICAgImhlaWdodCIsIEdfVFlQRV9JTlQsIGNvbnRleHQtPmhlaWdodCwgTlVMTCk7CisrCisrICAgIG51bSA9IGNvbnRleHQtPnRpbWVfYmFzZS5kZW4gLyBjb250ZXh0LT50aWNrc19wZXJfZnJhbWU7CisrICAgIGRlbm9tID0gY29udGV4dC0+dGltZV9iYXNlLm51bTsKKysKKysgICAgaWYgKCFkZW5vbSkgeworKyAgICAgIEdTVF9MT0cgKCJpbnZhbGlkIGZyYW1lcmF0ZTogJWQvMCwgLT4gJWQvMSIsIG51bSwgbnVtKTsKKysgICAgICBkZW5vbSA9IDE7CisrICAgIH0KKysgICAgaWYgKGdzdF91dGlsX2ZyYWN0aW9uX2NvbXBhcmUgKG51bSwgZGVub20sIDEwMDAsIDEpID4gMCkgeworKyAgICAgIEdTVF9MT0cgKCJleGNlc3NpdmUgZnJhbWVyYXRlOiAlZC8lZCwgLT4gMC8xIiwgbnVtLCBkZW5vbSk7CisrICAgICAgbnVtID0gMDsKKysgICAgICBkZW5vbSA9IDE7CisrICAgIH0KKysgICAgR1NUX0xPRyAoInNldHRpbmcgZnJhbWVyYXRlOiAlZC8lZCIsIG51bSwgZGVub20pOworKyAgICBnc3RfY2Fwc19zZXRfc2ltcGxlIChjYXBzLAorKyAgICAgICAgImZyYW1lcmF0ZSIsIEdTVF9UWVBFX0ZSQUNUSU9OLCBudW0sIGRlbm9tLCBOVUxMKTsKKysgIH0gZWxzZSB7CisrICAgIC8qIHNvIHdlIGFyZSBhZnRlciByZXN0cmljdGVkIGNhcHMgaW4gdGhpcyBjYXNlICovCisrICAgIHN3aXRjaCAoY29kZWNfaWQpIHsKKysgICAgICBjYXNlIENPREVDX0lEX0gyNjE6CisrICAgICAgeworKyAgICAgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKG1pbWV0eXBlLAorKyAgICAgICAgICAgICJ3aWR0aCIsIEdfVFlQRV9JTlQsIDM1MiwKKysgICAgICAgICAgICAiaGVpZ2h0IiwgR19UWVBFX0lOVCwgMjg4LAorKyAgICAgICAgICAgICJmcmFtZXJhdGUiLCBHU1RfVFlQRV9GUkFDVElPTl9SQU5HRSwgMCwgMSwgR19NQVhJTlQsIDEsIE5VTEwpOworKyAgICAgICAgZ3N0X2NhcHNfYXBwZW5kIChjYXBzLCBnc3RfY2Fwc19uZXdfc2ltcGxlIChtaW1ldHlwZSwKKysgICAgICAgICAgICAgICAgIndpZHRoIiwgR19UWVBFX0lOVCwgMTc2LAorKyAgICAgICAgICAgICAgICAiaGVpZ2h0IiwgR19UWVBFX0lOVCwgMTQ0LAorKyAgICAgICAgICAgICAgICAiZnJhbWVyYXRlIiwgR1NUX1RZUEVfRlJBQ1RJT05fUkFOR0UsIDAsIDEsIEdfTUFYSU5ULCAxLCBOVUxMKSk7CisrICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgICAgY2FzZSBDT0RFQ19JRF9IMjYzOgorKyAgICAgIHsKKysgICAgICAgIC8qIDEyOHg5NiwgMTc2eDE0NCwgMzUyeDI4OCwgNzA0eDU3NiwgYW5kIDE0MDh4MTE1Mi4gc2xpZ2h0bHkgcmVvcmRlcmVkCisrICAgICAgICAgKiBiZWNhdXNlIHdlIHdhbnQgYXV0b21hdGljIG5lZ290aWF0aW9uIHRvIGdvIGFzIGNsb3NlIHRvIDMyMHgyNDAgYXMKKysgICAgICAgICAqIHBvc3NpYmxlLiAqLworKyAgICAgICAgY29uc3Qgc3RhdGljIGdpbnQgd2lkdGhzW10gPSB7IDM1MiwgNzA0LCAxNzYsIDE0MDgsIDEyOCB9OworKyAgICAgICAgY29uc3Qgc3RhdGljIGdpbnQgaGVpZ2h0c1tdID0geyAyODgsIDU3NiwgMTQ0LCAxMTUyLCA5NiB9OworKyAgICAgICAgR3N0Q2FwcyAqdGVtcDsKKysgICAgICAgIGdpbnQgbl9zaXplcyA9IEdfTl9FTEVNRU5UUyAod2lkdGhzKTsKKysKKysgICAgICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfZW1wdHkgKCk7CisrICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbl9zaXplczsgaSsrKSB7CisrICAgICAgICAgIHRlbXAgPSBnc3RfY2Fwc19uZXdfc2ltcGxlIChtaW1ldHlwZSwKKysgICAgICAgICAgICAgICJ3aWR0aCIsIEdfVFlQRV9JTlQsIHdpZHRoc1tpXSwKKysgICAgICAgICAgICAgICJoZWlnaHQiLCBHX1RZUEVfSU5ULCBoZWlnaHRzW2ldLAorKyAgICAgICAgICAgICAgImZyYW1lcmF0ZSIsIEdTVF9UWVBFX0ZSQUNUSU9OX1JBTkdFLCAwLCAxLCBHX01BWElOVCwgMSwgTlVMTCk7CisrCisrICAgICAgICAgIGdzdF9jYXBzX2FwcGVuZCAoY2FwcywgdGVtcCk7CisrICAgICAgICB9CisrICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgICAgY2FzZSBDT0RFQ19JRF9EVlZJREVPOgorKyAgICAgIHsKKysgICAgICAgIHN0YXRpYyBzdHJ1Y3QKKysgICAgICAgIHsKKysgICAgICAgICAgZ3VpbnQzMiBjc3A7CisrICAgICAgICAgIGdpbnQgd2lkdGgsIGhlaWdodDsKKysgICAgICAgICAgZ2ludCBwYXJfbiwgcGFyX2Q7CisrICAgICAgICAgIGdpbnQgZnJhbWVyYXRlX24sIGZyYW1lcmF0ZV9kOworKyAgICAgICAgfSBwcm9maWxlc1tdID0geworKyAgICAgICAgICB7CisrICAgICAgICAgIEdTVF9NQUtFX0ZPVVJDQyAoJ1knLCAnNCcsICcxJywgJ0InKSwgNzIwLCA0ODAsIDEwLCAxMSwgMzAwMDAsIDEwMDF9LCB7CisrICAgICAgICAgIEdTVF9NQUtFX0ZPVVJDQyAoJ1knLCAnNCcsICcxJywgJ0InKSwgNzIwLCA0ODAsIDQwLCAzMywgMzAwMDAsIDEwMDF9LCB7CisrICAgICAgICAgIEdTVF9NQUtFX0ZPVVJDQyAoJ0knLCAnNCcsICcyJywgJzAnKSwgNzIwLCA1NzYsIDU5LCA1NCwgMjUsIDF9LCB7CisrICAgICAgICAgIEdTVF9NQUtFX0ZPVVJDQyAoJ0knLCAnNCcsICcyJywgJzAnKSwgNzIwLCA1NzYsIDExOCwgODEsIDI1LCAxfSwgeworKyAgICAgICAgICBHU1RfTUFLRV9GT1VSQ0MgKCdZJywgJzQnLCAnMScsICdCJyksIDcyMCwgNTc2LCA1OSwgNTQsIDI1LCAxfSwgeworKyAgICAgICAgICBHU1RfTUFLRV9GT1VSQ0MgKCdZJywgJzQnLCAnMScsICdCJyksIDcyMCwgNTc2LCAxMTgsIDgxLCAyNSwgMX0KKysgICAgICAgIH07CisrICAgICAgICBHc3RDYXBzICp0ZW1wOworKyAgICAgICAgZ2ludCBuX3NpemVzID0gR19OX0VMRU1FTlRTIChwcm9maWxlcyk7CisrCisrICAgICAgICBjYXBzID0gZ3N0X2NhcHNfbmV3X2VtcHR5ICgpOworKyAgICAgICAgZm9yIChpID0gMDsgaSA8IG5fc2l6ZXM7IGkrKykgeworKyAgICAgICAgICB0ZW1wID0gZ3N0X2NhcHNfbmV3X3NpbXBsZSAobWltZXR5cGUsCisrICAgICAgICAgICAgICAid2lkdGgiLCBHX1RZUEVfSU5ULCBwcm9maWxlc1tpXS53aWR0aCwKKysgICAgICAgICAgICAgICJoZWlnaHQiLCBHX1RZUEVfSU5ULCBwcm9maWxlc1tpXS5oZWlnaHQsCisrICAgICAgICAgICAgICAiZnJhbWVyYXRlIiwgR1NUX1RZUEVfRlJBQ1RJT04sIHByb2ZpbGVzW2ldLmZyYW1lcmF0ZV9uLAorKyAgICAgICAgICAgICAgcHJvZmlsZXNbaV0uZnJhbWVyYXRlX2QsICJwaXhlbC1hc3BlY3QtcmF0aW8iLCBHU1RfVFlQRV9GUkFDVElPTiwKKysgICAgICAgICAgICAgIHByb2ZpbGVzW2ldLnBhcl9uLCBwcm9maWxlc1tpXS5wYXJfZCwgTlVMTCk7CisrCisrICAgICAgICAgIGdzdF9jYXBzX2FwcGVuZCAoY2FwcywgdGVtcCk7CisrICAgICAgICB9CisrICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgICAgY2FzZSBDT0RFQ19JRF9ETlhIRDoKKysgICAgICB7CisrICAgICAgICBjYXBzID0gZ3N0X2NhcHNfbmV3X3NpbXBsZSAobWltZXR5cGUsCisrICAgICAgICAgICAgIndpZHRoIiwgR19UWVBFX0lOVCwgMTkyMCwKKysgICAgICAgICAgICAiaGVpZ2h0IiwgR19UWVBFX0lOVCwgMTA4MCwKKysgICAgICAgICAgICAiZnJhbWVyYXRlIiwgR1NUX1RZUEVfRlJBQ1RJT05fUkFOR0UsIDAsIDEsIEdfTUFYSU5ULCAxLCBOVUxMKTsKKysgICAgICAgIGdzdF9jYXBzX2FwcGVuZCAoY2FwcywgZ3N0X2NhcHNfbmV3X3NpbXBsZSAobWltZXR5cGUsCisrICAgICAgICAgICAgICAgICJ3aWR0aCIsIEdfVFlQRV9JTlQsIDEyODAsCisrICAgICAgICAgICAgICAgICJoZWlnaHQiLCBHX1RZUEVfSU5ULCA3MjAsCisrICAgICAgICAgICAgICAgICJmcmFtZXJhdGUiLCBHU1RfVFlQRV9GUkFDVElPTl9SQU5HRSwgMCwgMSwgR19NQVhJTlQsIDEsIE5VTEwpKTsKKysgICAgICAgIGJyZWFrOworKyAgICAgIH0KKysgICAgICBkZWZhdWx0OgorKyAgICAgICAgYnJlYWs7CisrICAgIH0KKysgIH0KKysKKysgIC8qIG5vIGZpeGVkIGNhcHMgb3Igc3BlY2lhbCByZXN0cmljdGlvbnMgYXBwbGllZDsKKysgICAqIGRlZmF1bHQgdW5maXhlZCBzZXR0aW5nICovCisrICBpZiAoIWNhcHMpIHsKKysgICAgR1NUX0RFQlVHICgiQ3JlYXRpbmcgZGVmYXVsdCBjYXBzIik7CisrICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfc2ltcGxlIChtaW1ldHlwZSwKKysgICAgICAgICJ3aWR0aCIsIEdTVF9UWVBFX0lOVF9SQU5HRSwgMTYsIDQwOTYsCisrICAgICAgICAiaGVpZ2h0IiwgR1NUX1RZUEVfSU5UX1JBTkdFLCAxNiwgNDA5NiwKKysgICAgICAgICJmcmFtZXJhdGUiLCBHU1RfVFlQRV9GUkFDVElPTl9SQU5HRSwgMCwgMSwgR19NQVhJTlQsIDEsIE5VTEwpOworKyAgfQorKworKyAgZm9yIChpID0gMDsgaSA8IGdzdF9jYXBzX2dldF9zaXplIChjYXBzKTsgaSsrKSB7CisrICAgIHZhX3N0YXJ0ICh2YXJfYXJncywgZmllbGRuYW1lKTsKKysgICAgc3RydWN0dXJlID0gZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZSAoY2FwcywgaSk7CisrICAgIGdzdF9zdHJ1Y3R1cmVfc2V0X3ZhbGlzdCAoc3RydWN0dXJlLCBmaWVsZG5hbWUsIHZhcl9hcmdzKTsKKysgICAgdmFfZW5kICh2YXJfYXJncyk7CisrICB9CisrCisrICByZXR1cm4gY2FwczsKKyt9CisrCisrLyogc2FtZSBmb3IgYXVkaW8gLSBub3cgd2l0aCBjaGFubmVscy9zYW1wbGUgcmF0ZQorKyAqLworK3N0YXRpYyBHc3RDYXBzICoKKytnc3RfZmZfYXVkX2NhcHNfbmV3IChBVkNvZGVjQ29udGV4dCAqIGNvbnRleHQsIGVudW0gQ29kZWNJRCBjb2RlY19pZCwKKysgICAgY29uc3QgY2hhciAqbWltZXR5cGUsIGNvbnN0IGNoYXIgKmZpZWxkbmFtZSwgLi4uKQorK3sKKysgIEdzdENhcHMgKmNhcHMgPSBOVUxMOworKyAgR3N0U3RydWN0dXJlICpzdHJ1Y3R1cmUgPSBOVUxMOworKyAgZ2ludCBpOworKyAgdmFfbGlzdCB2YXJfYXJnczsKKysKKysgIC8qIGZpeGVkLCBub24tcHJvYmluZyBjb250ZXh0ICovCisrICBpZiAoY29udGV4dCAhPSBOVUxMICYmIGNvbnRleHQtPmNoYW5uZWxzICE9IC0xKSB7CisrICAgIEdzdEF1ZGlvQ2hhbm5lbFBvc2l0aW9uICpwb3M7CisrICAgIGd1aW50NjQgY2hhbm5lbF9sYXlvdXQgPSBjb250ZXh0LT5jaGFubmVsX2xheW91dDsKKysKKysgICAgaWYgKGNoYW5uZWxfbGF5b3V0ID09IDApIHsKKysgICAgICBjb25zdCBndWludDY0IGRlZmF1bHRfY2hhbm5lbF9zZXRbXSA9IHsKKysgICAgICAgIDAsIDAsIEFWX0NIX0xBWU9VVF9TVVJST1VORCwgQVZfQ0hfTEFZT1VUX1FVQUQsIEFWX0NIX0xBWU9VVF81UE9JTlQwLAorKyAgICAgICAgQVZfQ0hfTEFZT1VUXzVQT0lOVDEsIDAsIEFWX0NIX0xBWU9VVF83UE9JTlQxCisrICAgICAgfTsKKysKKysgICAgICBzd2l0Y2ggKGNvZGVjX2lkKSB7CisrICAgICAgICBjYXNlIENPREVDX0lEX0VBQzM6CisrICAgICAgICBjYXNlIENPREVDX0lEX0FDMzoKKysgICAgICAgIGNhc2UgQ09ERUNfSURfRFRTOgorKyAgICAgICAgICBpZiAoY29udGV4dC0+Y2hhbm5lbHMgPiAwCisrICAgICAgICAgICAgICAmJiBjb250ZXh0LT5jaGFubmVscyA8IEdfTl9FTEVNRU5UUyAoZGVmYXVsdF9jaGFubmVsX3NldCkpCisrICAgICAgICAgICAgY2hhbm5lbF9sYXlvdXQgPSBkZWZhdWx0X2NoYW5uZWxfc2V0W2NvbnRleHQtPmNoYW5uZWxzIC0gMV07CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgZGVmYXVsdDoKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgfQorKyAgICB9CisrCisrICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfc2ltcGxlIChtaW1ldHlwZSwKKysgICAgICAgICJyYXRlIiwgR19UWVBFX0lOVCwgY29udGV4dC0+c2FtcGxlX3JhdGUsCisrICAgICAgICAiY2hhbm5lbHMiLCBHX1RZUEVfSU5ULCBjb250ZXh0LT5jaGFubmVscywgTlVMTCk7CisrCisrICAgIHBvcyA9IGdzdF9mZl9jaGFubmVsX2xheW91dF90b19nc3QgKGNoYW5uZWxfbGF5b3V0LCBjb250ZXh0LT5jaGFubmVscyk7CisrICAgIGlmIChwb3MgIT0gTlVMTCkgeworKyAgICAgIGdzdF9hdWRpb19zZXRfY2hhbm5lbF9wb3NpdGlvbnMgKGdzdF9jYXBzX2dldF9zdHJ1Y3R1cmUgKGNhcHMsIDApLCBwb3MpOworKyAgICAgIGdfZnJlZSAocG9zKTsKKysgICAgfQorKyAgfSBlbHNlIHsKKysgICAgZ2ludCBtYXhjaGFubmVscyA9IDI7CisrICAgIGNvbnN0IGdpbnQgKnJhdGVzID0gTlVMTDsKKysgICAgZ2ludCBuX3JhdGVzID0gMDsKKysKKysgICAgLyogc28gd2UgbXVzdCBiZSBhZnRlciByZXN0cmljdGVkIGNhcHMgaW4gdGhpcyBjYXNlICovCisrICAgIHN3aXRjaCAoY29kZWNfaWQpIHsKKysgICAgICBjYXNlIENPREVDX0lEX0FBQzoKKysgICAgICBjYXNlIENPREVDX0lEX0FBQ19MQVRNOgorKyAgICAgIGNhc2UgQ09ERUNfSURfRFRTOgorKyAgICAgICAgbWF4Y2hhbm5lbHMgPSA2OworKyAgICAgICAgYnJlYWs7CisrICAgICAgY2FzZSBDT0RFQ19JRF9NUDI6CisrICAgICAgeworKyAgICAgICAgY29uc3Qgc3RhdGljIGdpbnQgbF9yYXRlc1tdID0KKysgICAgICAgICAgICB7IDQ4MDAwLCA0NDEwMCwgMzIwMDAsIDI0MDAwLCAyMjA1MCwgMTYwMDAgfTsKKysgICAgICAgIG5fcmF0ZXMgPSBHX05fRUxFTUVOVFMgKGxfcmF0ZXMpOworKyAgICAgICAgcmF0ZXMgPSBsX3JhdGVzOworKyAgICAgICAgYnJlYWs7CisrICAgICAgfQorKyAgICAgIGNhc2UgQ09ERUNfSURfRUFDMzoKKysgICAgICBjYXNlIENPREVDX0lEX0FDMzoKKysgICAgICB7CisrICAgICAgICBjb25zdCBzdGF0aWMgZ2ludCBsX3JhdGVzW10gPSB7IDQ4MDAwLCA0NDEwMCwgMzIwMDAgfTsKKysgICAgICAgIG1heGNoYW5uZWxzID0gNjsKKysgICAgICAgIG5fcmF0ZXMgPSBHX05fRUxFTUVOVFMgKGxfcmF0ZXMpOworKyAgICAgICAgcmF0ZXMgPSBsX3JhdGVzOworKyAgICAgICAgYnJlYWs7CisrICAgICAgfQorKyAgICAgIGNhc2UgQ09ERUNfSURfQURQQ01fRzcyMjoKKysgICAgICB7CisrICAgICAgICBjb25zdCBzdGF0aWMgZ2ludCBsX3JhdGVzW10gPSB7IDE2MDAwIH07CisrICAgICAgICBuX3JhdGVzID0gR19OX0VMRU1FTlRTIChsX3JhdGVzKTsKKysgICAgICAgIHJhdGVzID0gbF9yYXRlczsKKysgICAgICAgIG1heGNoYW5uZWxzID0gMTsKKysgICAgICAgIGJyZWFrOworKyAgICAgIH0KKysgICAgICBjYXNlIENPREVDX0lEX0FEUENNX0c3MjY6CisrICAgICAgeworKyAgICAgICAgY29uc3Qgc3RhdGljIGdpbnQgbF9yYXRlc1tdID0geyA4MDAwIH07CisrICAgICAgICBuX3JhdGVzID0gR19OX0VMRU1FTlRTIChsX3JhdGVzKTsKKysgICAgICAgIHJhdGVzID0gbF9yYXRlczsKKysgICAgICAgIG1heGNoYW5uZWxzID0gMTsKKysgICAgICAgIGJyZWFrOworKyAgICAgIH0KKysgICAgICBjYXNlIENPREVDX0lEX0FEUENNX1NXRjoKKysgICAgICB7CisrICAgICAgICBjb25zdCBzdGF0aWMgZ2ludCBsX3JhdGVzW10gPSB7IDExMDI1LCAyMjA1MCwgNDQxMDAgfTsKKysgICAgICAgIG5fcmF0ZXMgPSBHX05fRUxFTUVOVFMgKGxfcmF0ZXMpOworKyAgICAgICAgcmF0ZXMgPSBsX3JhdGVzOworKyAgICAgICAgYnJlYWs7CisrICAgICAgfQorKyAgICAgIGNhc2UgQ09ERUNfSURfUk9RX0RQQ006CisrICAgICAgeworKyAgICAgICAgY29uc3Qgc3RhdGljIGdpbnQgbF9yYXRlc1tdID0geyAyMjA1MCB9OworKyAgICAgICAgbl9yYXRlcyA9IEdfTl9FTEVNRU5UUyAobF9yYXRlcyk7CisrICAgICAgICByYXRlcyA9IGxfcmF0ZXM7CisrICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgICAgY2FzZSBDT0RFQ19JRF9BTVJfTkI6CisrICAgICAgeworKyAgICAgICAgY29uc3Qgc3RhdGljIGdpbnQgbF9yYXRlc1tdID0geyA4MDAwIH07CisrICAgICAgICBtYXhjaGFubmVscyA9IDE7CisrICAgICAgICBuX3JhdGVzID0gR19OX0VMRU1FTlRTIChsX3JhdGVzKTsKKysgICAgICAgIHJhdGVzID0gbF9yYXRlczsKKysgICAgICAgIGJyZWFrOworKyAgICAgIH0KKysgICAgICBjYXNlIENPREVDX0lEX0FNUl9XQjoKKysgICAgICB7CisrICAgICAgICBjb25zdCBzdGF0aWMgZ2ludCBsX3JhdGVzW10gPSB7IDE2MDAwIH07CisrICAgICAgICBtYXhjaGFubmVscyA9IDE7CisrICAgICAgICBuX3JhdGVzID0gR19OX0VMRU1FTlRTIChsX3JhdGVzKTsKKysgICAgICAgIHJhdGVzID0gbF9yYXRlczsKKysgICAgICAgIGJyZWFrOworKyAgICAgIH0KKysgICAgICBkZWZhdWx0OgorKyAgICAgICAgYnJlYWs7CisrICAgIH0KKysKKysgICAgLyogVE9ETzogaGFuZGxlIGNvbnRleHQtPmNoYW5uZWxfbGF5b3V0cyBoZXJlIHRvIHNldAorKyAgICAgKiB0aGUgbGlzdCBvZiBjaGFubmVsIGxheW91dHMgc3VwcG9ydGVkIGJ5IHRoZSBlbmNvZGVyLgorKyAgICAgKiBVbmZvcnR1bmF0ZWx5IG5vIGVuY29kZXIgdXNlcyB0aGlzIHlldC4uLi4KKysgICAgICovCisrICAgIC8qIHJlZ2FyZGxlc3Mgb2YgZW5jb2RlL2RlY29kZSwgb3BlbiB1cCBjaGFubmVscyBpZiBhcHBsaWNhYmxlICovCisrICAgIC8qIFVudGlsIGRlY29kZXJzL2VuY29kZXJzIGV4cG9zZSB0aGUgbWF4aW11bSBudW1iZXIgb2YgY2hhbm5lbHMKKysgICAgICogdGhleSBzdXBwb3J0LCB3ZSB3aGl0ZWxpc3QgdGhlbSBoZXJlLiAqLworKyAgICBzd2l0Y2ggKGNvZGVjX2lkKSB7CisrICAgICAgY2FzZSBDT0RFQ19JRF9XTUFQUk86CisrICAgICAgY2FzZSBDT0RFQ19JRF9UUlVFSEQ6CisrICAgICAgICBtYXhjaGFubmVscyA9IDg7CisrICAgICAgICBicmVhazsKKysgICAgICBkZWZhdWx0OgorKyAgICAgICAgYnJlYWs7CisrICAgIH0KKysKKysgICAgaWYgKG1heGNoYW5uZWxzID09IDEpCisrICAgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKG1pbWV0eXBlLAorKyAgICAgICAgICAiY2hhbm5lbHMiLCBHX1RZUEVfSU5ULCBtYXhjaGFubmVscywgTlVMTCk7CisrICAgIGVsc2UKKysgICAgICBjYXBzID0gZ3N0X2NhcHNfbmV3X3NpbXBsZSAobWltZXR5cGUsCisrICAgICAgICAgICJjaGFubmVscyIsIEdTVF9UWVBFX0lOVF9SQU5HRSwgMSwgbWF4Y2hhbm5lbHMsIE5VTEwpOworKyAgICBpZiAobl9yYXRlcykgeworKyAgICAgIEdWYWx1ZSBsaXN0ID0geyAwLCB9OworKyAgICAgIEdzdFN0cnVjdHVyZSAqc3RydWN0dXJlOworKworKyAgICAgIGdfdmFsdWVfaW5pdCAoJmxpc3QsIEdTVF9UWVBFX0xJU1QpOworKyAgICAgIGZvciAoaSA9IDA7IGkgPCBuX3JhdGVzOyBpKyspIHsKKysgICAgICAgIEdWYWx1ZSB2ID0geyAwLCB9OworKworKyAgICAgICAgZ192YWx1ZV9pbml0ICgmdiwgR19UWVBFX0lOVCk7CisrICAgICAgICBnX3ZhbHVlX3NldF9pbnQgKCZ2LCByYXRlc1tpXSk7CisrICAgICAgICBnc3RfdmFsdWVfbGlzdF9hcHBlbmRfdmFsdWUgKCZsaXN0LCAmdik7CisrICAgICAgICBnX3ZhbHVlX3Vuc2V0ICgmdik7CisrICAgICAgfQorKyAgICAgIHN0cnVjdHVyZSA9IGdzdF9jYXBzX2dldF9zdHJ1Y3R1cmUgKGNhcHMsIDApOworKyAgICAgIGdzdF9zdHJ1Y3R1cmVfc2V0X3ZhbHVlIChzdHJ1Y3R1cmUsICJyYXRlIiwgJmxpc3QpOworKyAgICAgIGdfdmFsdWVfdW5zZXQgKCZsaXN0KTsKKysgICAgfSBlbHNlCisrICAgICAgZ3N0X2NhcHNfc2V0X3NpbXBsZSAoY2FwcywgInJhdGUiLCBHU1RfVFlQRV9JTlRfUkFOR0UsIDQwMDAsIDk2MDAwLCBOVUxMKTsKKysgIH0KKysKKysgIGZvciAoaSA9IDA7IGkgPCBnc3RfY2Fwc19nZXRfc2l6ZSAoY2Fwcyk7IGkrKykgeworKyAgICB2YV9zdGFydCAodmFyX2FyZ3MsIGZpZWxkbmFtZSk7CisrICAgIHN0cnVjdHVyZSA9IGdzdF9jYXBzX2dldF9zdHJ1Y3R1cmUgKGNhcHMsIGkpOworKyAgICBnc3Rfc3RydWN0dXJlX3NldF92YWxpc3QgKHN0cnVjdHVyZSwgZmllbGRuYW1lLCB2YXJfYXJncyk7CisrICAgIHZhX2VuZCAodmFyX2FyZ3MpOworKyAgfQorKworKyAgcmV0dXJuIGNhcHM7CisrfQorKworKy8qIENvbnZlcnQgYSBGRk1QRUcgY29kZWMgSUQgYW5kIG9wdGlvbmFsIEFWQ29kZWNDb250ZXh0CisrICogdG8gYSBHc3RDYXBzLiBJZiB0aGUgY29udGV4dCBpcyBvbW1pdHRlZCwgbm8gZml4ZWQgdmFsdWVzCisrICogZm9yIHZpZGVvL2F1ZGlvIHNpemUgd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgR3N0Q2FwcworKyAqCisrICogQ29kZWNJRCBpcyBwcmltYXJpbHkgbWVhbnQgZm9yIGNvbXByZXNzZWQgZGF0YSBHc3RDYXBzIQorKyAqCisrICogZW5jb2RlIGlzIGEgc3BlY2lhbCBwYXJhbWV0ZXIuIGdzdGZmbXBlZ2RlYyB3aWxsIHNheQorKyAqIEZBTFNFLCBnc3RmZm1wZWdlbmMgd2lsbCBzYXkgVFJVRS4gVGhlIG91dHB1dCBjYXBzCisrICogZGVwZW5kcyBvbiB0aGlzLCBpbiBzdWNoIGEgd2F5IHRoYXQgaXQgd2lsbCBiZSB2ZXJ5CisrICogc3BlY2lmaWMsIGRlZmluZWQsIGZpeGVkIGFuZCBjb3JyZWN0IGNhcHMgZm9yIGVuY29kZXJzLAorKyAqIHlldCB2ZXJ5IHdpZGUsICJmb3JnaXZpbmciIGNhcHMgZm9yIGRlY29kZXJzLiBFeGFtcGxlCisrICogZm9yIG1wMzogZGVjb2RlOiBhdWRpby9tcGVnLG1wZWd2ZXJzaW9uPTEsbGF5ZXI9WzEtM10KKysgKiBidXQgZW5jb2RlOiBhdWRpby9tcGVnLG1wZWd2ZXJzaW9uPTEsbGF5ZXI9MyxiaXRyYXRlPXgsCisrICogcmF0ZT14LGNoYW5uZWxzPXguCisrICovCisrCisrR3N0Q2FwcyAqCisrZ3N0X2ZmbXBlZ19jb2RlY2lkX3RvX2NhcHMgKGVudW0gQ29kZWNJRCBjb2RlY19pZCwKKysgICAgQVZDb2RlY0NvbnRleHQgKiBjb250ZXh0LCBnYm9vbGVhbiBlbmNvZGUpCisreworKyAgR3N0Q2FwcyAqY2FwcyA9IE5VTEw7CisrICBnYm9vbGVhbiBidWlsZGNhcHMgPSBGQUxTRTsKKysKKysgIEdTVF9MT0cgKCJjb2RlY19pZDolZCwgY29udGV4dDolcCwgZW5jb2RlOiVkIiwgY29kZWNfaWQsIGNvbnRleHQsIGVuY29kZSk7CisrCisrICBzd2l0Y2ggKGNvZGVjX2lkKSB7CisrICAgIGNhc2UgQ09ERUNfSURfTVBFRzFWSURFTzoKKysgICAgICAvKiBGSVhNRTogYml0cmF0ZSAqLworKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL21wZWciLAorKyAgICAgICAgICAibXBlZ3ZlcnNpb24iLCBHX1RZUEVfSU5ULCAxLAorKyAgICAgICAgICAic3lzdGVtc3RyZWFtIiwgR19UWVBFX0JPT0xFQU4sIEZBTFNFLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9NUEVHMlZJREVPOgorKyAgICAgIGlmIChlbmNvZGUpIHsKKysgICAgICAgIC8qIEZJWE1FOiBiaXRyYXRlICovCisrICAgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby9tcGVnIiwKKysgICAgICAgICAgICAibXBlZ3ZlcnNpb24iLCBHX1RZUEVfSU5ULCAyLAorKyAgICAgICAgICAgICJzeXN0ZW1zdHJlYW0iLCBHX1RZUEVfQk9PTEVBTiwgRkFMU0UsIE5VTEwpOworKyAgICAgIH0gZWxzZSB7CisrICAgICAgICAvKiBkZWNvZGUgYm90aCBNUEVHLTEgYW5kIE1QRUctMjsgd2lkdGgvaGVpZ2h0L2ZwcyBhcmUgYWxsIGluCisrICAgICAgICAgKiB0aGUgTVBFRyB2aWRlbyBzdHJlYW0gaGVhZGVycywgc28gbWF5IGJlIG9taXR0ZWQgZnJvbSBjYXBzLiAqLworKyAgICAgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKCJ2aWRlby9tcGVnIiwKKysgICAgICAgICAgICAibXBlZ3ZlcnNpb24iLCBHU1RfVFlQRV9JTlRfUkFOR0UsIDEsIDIsCisrICAgICAgICAgICAgInN5c3RlbXN0cmVhbSIsIEdfVFlQRV9CT09MRUFOLCBGQUxTRSwgTlVMTCk7CisrICAgICAgfQorKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX01QRUcyVklERU9fWFZNQzoKKysgICAgICAvKiB0aGlzIGlzIGEgc3BlY2lhbCBJRCAtIGRvbid0IG5lZWQgaXQgaW4gR1N0cmVhbWVyLCBJIHRoaW5rICovCisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfSDI2MzoKKysgICAgICBpZiAoZW5jb2RlKSB7CisrICAgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LWgyNjMiLAorKyAgICAgICAgICAgICJ2YXJpYW50IiwgR19UWVBFX1NUUklORywgIml0dSIsCisrICAgICAgICAgICAgImgyNjN2ZXJzaW9uIiwgR19UWVBFX1NUUklORywgImgyNjMiLCBOVUxMKTsKKysgICAgICB9IGVsc2UgeworKyAgICAgICAgLyogZG9uJ3QgcGFzcyBjb2RlY19pZCwgd2UgY2FuIGRlY29kZSBvdGhlciB2YXJpYW50cyB3aXRoIHRoZSBIMjYzCisrICAgICAgICAgKiBkZWNvZGVyIHRoYXQgZG9uJ3QgaGF2ZSBzcGVjaWZpYyBzaXplIHJlcXVpcmVtZW50cworKyAgICAgICAgICovCisrICAgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgQ09ERUNfSURfTk9ORSwgInZpZGVvL3gtaDI2MyIsCisrICAgICAgICAgICAgInZhcmlhbnQiLCBHX1RZUEVfU1RSSU5HLCAiaXR1IiwgTlVMTCk7CisrICAgICAgfQorKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX0gyNjNQOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtaDI2MyIsCisrICAgICAgICAgICJ2YXJpYW50IiwgR19UWVBFX1NUUklORywgIml0dSIsCisrICAgICAgICAgICJoMjYzdmVyc2lvbiIsIEdfVFlQRV9TVFJJTkcsICJoMjYzcCIsIE5VTEwpOworKyAgICAgIGlmIChlbmNvZGUgJiYgY29udGV4dCkgeworKworKyAgICAgICAgZ3N0X2NhcHNfc2V0X3NpbXBsZSAoY2FwcywKKysgICAgICAgICAgICAiYW5uZXgtZiIsIEdfVFlQRV9CT09MRUFOLCBjb250ZXh0LT5mbGFncyAmIENPREVDX0ZMQUdfNE1WLAorKyAgICAgICAgICAgICJhbm5leC1qIiwgR19UWVBFX0JPT0xFQU4sIGNvbnRleHQtPmZsYWdzICYgQ09ERUNfRkxBR19MT09QX0ZJTFRFUiwKKysgICAgICAgICAgICAiYW5uZXgtaSIsIEdfVFlQRV9CT09MRUFOLCBjb250ZXh0LT5mbGFncyAmIENPREVDX0ZMQUdfQUNfUFJFRCwKKysgICAgICAgICAgICAiYW5uZXgtdCIsIEdfVFlQRV9CT09MRUFOLCBjb250ZXh0LT5mbGFncyAmIENPREVDX0ZMQUdfQUNfUFJFRCwKKysgICAgICAgICAgICBOVUxMKTsKKysgICAgICB9CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfSDI2M0k6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1pbnRlbC1oMjYzIiwKKysgICAgICAgICAgInZhcmlhbnQiLCBHX1RZUEVfU1RSSU5HLCAiaW50ZWwiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9IMjYxOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtaDI2MSIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1JWMTA6CisrICAgIGNhc2UgQ09ERUNfSURfUlYyMDoKKysgICAgY2FzZSBDT0RFQ19JRF9SVjMwOgorKyAgICBjYXNlIENPREVDX0lEX1JWNDA6CisrICAgIHsKKysgICAgICBnaW50IHZlcnNpb247CisrCisrICAgICAgc3dpdGNoIChjb2RlY19pZCkgeworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9SVjQwOgorKyAgICAgICAgICB2ZXJzaW9uID0gNDsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIENPREVDX0lEX1JWMzA6CisrICAgICAgICAgIHZlcnNpb24gPSAzOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfUlYyMDoKKysgICAgICAgICAgdmVyc2lvbiA9IDI7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgZGVmYXVsdDoKKysgICAgICAgICAgdmVyc2lvbiA9IDE7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgIH0KKysKKysgICAgICAvKiBGSVhNRTogY29udGV4dC0+c3ViX2lkIG11c3QgYmUgZmlsbGVkIGluIGR1cmluZyBkZWNvZGluZyAqLworKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtcG4tcmVhbHZpZGVvIiwKKysgICAgICAgICAgInN5c3RlbXN0cmVhbSIsIEdfVFlQRV9CT09MRUFOLCBGQUxTRSwKKysgICAgICAgICAgInJtdmVyc2lvbiIsIEdfVFlQRV9JTlQsIHZlcnNpb24sIE5VTEwpOworKyAgICAgIGlmIChjb250ZXh0KSB7CisrICAgICAgICBnc3RfY2Fwc19zZXRfc2ltcGxlIChjYXBzLCAiZm9ybWF0IiwgR19UWVBFX0lOVCwgY29udGV4dC0+c3ViX2lkLCBOVUxMKTsKKysgICAgICAgIGlmIChjb250ZXh0LT5leHRyYWRhdGFfc2l6ZSA+PSA4KSB7CisrICAgICAgICAgIGdzdF9jYXBzX3NldF9zaW1wbGUgKGNhcHMsCisrICAgICAgICAgICAgICAic3ViZm9ybWF0IiwgR19UWVBFX0lOVCwgR1NUX1JFQURfVUlOVDMyX0JFIChjb250ZXh0LT5leHRyYWRhdGEpLAorKyAgICAgICAgICAgICAgTlVMTCk7CisrICAgICAgICB9CisrICAgICAgfQorKyAgICB9CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfTVAxOgorKyAgICAgIC8qIEZJWE1FOiBiaXRyYXRlICovCisrICAgICAgY2FwcyA9IGdzdF9mZl9hdWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiYXVkaW8vbXBlZyIsCisrICAgICAgICAgICJtcGVndmVyc2lvbiIsIEdfVFlQRV9JTlQsIDEsICJsYXllciIsIEdfVFlQRV9JTlQsIDEsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX01QMjoKKysgICAgICAvKiBGSVhNRTogYml0cmF0ZSAqLworKyAgICAgIGNhcHMgPSBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL21wZWciLAorKyAgICAgICAgICAibXBlZ3ZlcnNpb24iLCBHX1RZUEVfSU5ULCAxLCAibGF5ZXIiLCBHX1RZUEVfSU5ULCAyLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9NUDM6CisrICAgICAgaWYgKGVuY29kZSkgeworKyAgICAgICAgLyogRklYTUU6IGJpdHJhdGUgKi8KKysgICAgICAgIGNhcHMgPSBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL21wZWciLAorKyAgICAgICAgICAgICJtcGVndmVyc2lvbiIsIEdfVFlQRV9JTlQsIDEsICJsYXllciIsIEdfVFlQRV9JTlQsIDMsIE5VTEwpOworKyAgICAgIH0gZWxzZSB7CisrICAgICAgICAvKiBEZWNvZGVzIE1QRUctMSBsYXllciAxLzIvMy4gU2FtcGxlcmF0ZSwgY2hhbm5lbHMgZXQgYWwgYXJlCisrICAgICAgICAgKiBpbiB0aGUgTVBFRyBhdWRpbyBoZWFkZXIsIHNvIG1heSBiZSBvbWl0dGVkIGZyb20gY2Fwcy4gKi8KKysgICAgICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfc2ltcGxlICgiYXVkaW8vbXBlZyIsCisrICAgICAgICAgICAgIm1wZWd2ZXJzaW9uIiwgR19UWVBFX0lOVCwgMSwKKysgICAgICAgICAgICAibGF5ZXIiLCBHU1RfVFlQRV9JTlRfUkFOR0UsIDEsIDMsIE5VTEwpOworKyAgICAgIH0KKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9NVVNFUEFDSzc6CisrICAgICAgY2FwcyA9CisrICAgICAgICAgIGdzdF9mZl9hdWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLAorKyAgICAgICAgICAiYXVkaW8veC1mZm1wZWctcGFyc2VkLW11c2VwYWNrIiwgInN0cmVhbXZlcnNpb24iLCBHX1RZUEVfSU5ULCA3LAorKyAgICAgICAgICBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9NVVNFUEFDSzg6CisrICAgICAgY2FwcyA9CisrICAgICAgICAgIGdzdF9mZl9hdWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLAorKyAgICAgICAgICAiYXVkaW8veC1mZm1wZWctcGFyc2VkLW11c2VwYWNrIiwgInN0cmVhbXZlcnNpb24iLCBHX1RZUEVfSU5ULCA4LAorKyAgICAgICAgICBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9BQzM6CisrICAgICAgLyogRklYTUU6IGJpdHJhdGUgKi8KKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LWFjMyIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX0VBQzM6CisrICAgICAgLyogRklYTUU6IGJpdHJhdGUgKi8KKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LWVhYzMiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9UUlVFSEQ6CisrICAgICAgY2FwcyA9IGdzdF9mZl9hdWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiYXVkaW8veC10cnVlLWhkIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfQVRSQUMxOgorKyAgICAgIGNhcHMgPQorKyAgICAgICAgICBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL3gtdm5kLnNvbnkuYXRyYWMxIiwKKysgICAgICAgICAgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfQVRSQUMzOgorKyAgICAgIGNhcHMgPQorKyAgICAgICAgICBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL3gtdm5kLnNvbnkuYXRyYWMzIiwKKysgICAgICAgICAgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfRFRTOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL3gtZHRzIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfQVBFOgorKyAgICAgIGNhcHMgPQorKyAgICAgICAgICBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL3gtZmZtcGVnLXBhcnNlZC1hcGUiLAorKyAgICAgICAgICBOVUxMKTsKKysgICAgICBpZiAoY29udGV4dCkgeworKyAgICAgICAgZ3N0X2NhcHNfc2V0X3NpbXBsZSAoY2FwcywKKysgICAgICAgICAgICAiZGVwdGgiLCBHX1RZUEVfSU5ULCBjb250ZXh0LT5iaXRzX3Blcl9jb2RlZF9zYW1wbGUsIE5VTEwpOworKyAgICAgIH0KKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9NTFA6CisrICAgICAgY2FwcyA9IGdzdF9mZl9hdWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiYXVkaW8veC1tbHAiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9JTUM6CisrICAgICAgY2FwcyA9IGdzdF9mZl9hdWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiYXVkaW8veC1pbWMiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgICAvKiBNSlBFRyBpcyBub3JtYWwgSlBFRywgTW90aW9uLUpQRUcgYW5kIFF1aWNrdGltZSBNSlBFRy1BLiBNSlBFR0IKKysgICAgICAgKiBpcyBRdWlja3RpbWUncyBNSlBFRy1CLiBMSlBFRyBpcyBsb3NzbGVzcyBKUEVHLiBJIGRvbid0IGtub3cgd2hhdAorKyAgICAgICAqIHNwNXggaXMsIGJ1dCBpdCdzIGFwcGFyZW50bHkgc29tZXRoaW5nIEpQRUcuLi4gV2UgZG9uJ3Qgc2VwYXJhdGUKKysgICAgICAgKiBiZXR3ZWVuIHRob3NlIGluIEdTdHJlYW1lci4gU2hvdWxkIHdlIChhdCBsZWFzdCBiZXR3ZWVuIE1KUEVHLAorKyAgICAgICAqIE1KUEVHLUIgYW5kIHNwNXggZGVjb2RpbmcuLi4pPyAqLworKyAgICBjYXNlIENPREVDX0lEX01KUEVHOgorKyAgICBjYXNlIENPREVDX0lEX0xKUEVHOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImltYWdlL2pwZWciLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9TUDVYOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3NwNXgiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9NSlBFR0I6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1tanBlZy1iIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfTVBFRzQ6CisrICAgICAgaWYgKGVuY29kZSAmJiBjb250ZXh0ICE9IE5VTEwpIHsKKysgICAgICAgIC8qIEknbSBub3QgZXhhY3RseSBzdXJlIHdoYXQgZmZtcGVnIG91dHB1dHMuLi4gZmZtcGVnIGl0c2VsZiB1c2VzCisrICAgICAgICAgKiB0aGUgQVZJIGZvdXJjYyAnRElWWCcsIGJ1dCAnbXA0dicgZm9yIFF1aWNrdGltZS4uLiAqLworKyAgICAgICAgc3dpdGNoIChjb250ZXh0LT5jb2RlY190YWcpIHsKKysgICAgICAgICAgY2FzZSBHU1RfTUFLRV9GT1VSQ0MgKCdEJywgJ0knLCAnVicsICdYJyk6CisrICAgICAgICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1kaXZ4IiwKKysgICAgICAgICAgICAgICAgImRpdnh2ZXJzaW9uIiwgR19UWVBFX0lOVCwgNSwgTlVMTCk7CisrICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgIGNhc2UgR1NUX01BS0VfRk9VUkNDICgnbScsICdwJywgJzQnLCAndicpOgorKyAgICAgICAgICBkZWZhdWx0OgorKyAgICAgICAgICAgIC8qIEZJWE1FOiBiaXRyYXRlICovCisrICAgICAgICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8vbXBlZyIsCisrICAgICAgICAgICAgICAgICJzeXN0ZW1zdHJlYW0iLCBHX1RZUEVfQk9PTEVBTiwgRkFMU0UsCisrICAgICAgICAgICAgICAgICJtcGVndmVyc2lvbiIsIEdfVFlQRV9JTlQsIDQsIE5VTEwpOworKyAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgfQorKyAgICAgIH0gZWxzZSB7CisrICAgICAgICAvKiBUaGUgdHJpY2sgaGVyZSBpcyB0byBzZXBhcmF0ZSB4dmlkLCBkaXZ4LCBtcGVnNCwgM2l2eCBldCBhbCAqLworKyAgICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8vbXBlZyIsCisrICAgICAgICAgICAgIm1wZWd2ZXJzaW9uIiwgR19UWVBFX0lOVCwgNCwKKysgICAgICAgICAgICAic3lzdGVtc3RyZWFtIiwgR19UWVBFX0JPT0xFQU4sIEZBTFNFLCBOVUxMKTsKKysgICAgICAgIGlmIChlbmNvZGUpIHsKKysgICAgICAgICAgZ3N0X2NhcHNfYXBwZW5kIChjYXBzLCBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwKKysgICAgICAgICAgICAgICAgICAidmlkZW8veC1kaXZ4IiwgImRpdnh2ZXJzaW9uIiwgR19UWVBFX0lOVCwgNSwgTlVMTCkpOworKyAgICAgICAgfSBlbHNlIHsKKysgICAgICAgICAgZ3N0X2NhcHNfYXBwZW5kIChjYXBzLCBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwKKysgICAgICAgICAgICAgICAgICAidmlkZW8veC1kaXZ4IiwgImRpdnh2ZXJzaW9uIiwgR1NUX1RZUEVfSU5UX1JBTkdFLCA0LCA1LAorKyAgICAgICAgICAgICAgICAgIE5VTEwpKTsKKysgICAgICAgICAgZ3N0X2NhcHNfYXBwZW5kIChjYXBzLCBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwKKysgICAgICAgICAgICAgICAgICAidmlkZW8veC14dmlkIiwgTlVMTCkpOworKyAgICAgICAgICBnc3RfY2Fwc19hcHBlbmQgKGNhcHMsIGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLAorKyAgICAgICAgICAgICAgICAgICJ2aWRlby94LTNpdngiLCBOVUxMKSk7CisrICAgICAgICB9CisrICAgICAgfQorKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1JBV1ZJREVPOgorKyAgICAgIGNhcHMgPQorKyAgICAgICAgICBnc3RfZmZtcGVnX2NvZGVjdHlwZV90b19jYXBzIChBVk1FRElBX1RZUEVfVklERU8sIGNvbnRleHQsIGNvZGVjX2lkLAorKyAgICAgICAgICBlbmNvZGUpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX01TTVBFRzRWMToKKysgICAgY2FzZSBDT0RFQ19JRF9NU01QRUc0VjI6CisrICAgIGNhc2UgQ09ERUNfSURfTVNNUEVHNFYzOgorKyAgICB7CisrICAgICAgZ2ludCB2ZXJzaW9uID0gNDEgKyBjb2RlY19pZCAtIENPREVDX0lEX01TTVBFRzRWMTsKKysKKysgICAgICAvKiBlbmNvZGUtRklYTUU6IGJpdHJhdGUgKi8KKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LW1zbXBlZyIsCisrICAgICAgICAgICJtc21wZWd2ZXJzaW9uIiwgR19UWVBFX0lOVCwgdmVyc2lvbiwgTlVMTCk7CisrICAgICAgaWYgKCFlbmNvZGUgJiYgY29kZWNfaWQgPT0gQ09ERUNfSURfTVNNUEVHNFYzKSB7CisrICAgICAgICBnc3RfY2Fwc19hcHBlbmQgKGNhcHMsIGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLAorKyAgICAgICAgICAgICAgICAidmlkZW8veC1kaXZ4IiwgImRpdnh2ZXJzaW9uIiwgR19UWVBFX0lOVCwgMywgTlVMTCkpOworKyAgICAgIH0KKysgICAgfQorKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1dNVjE6CisrICAgIGNhc2UgQ09ERUNfSURfV01WMjoKKysgICAgeworKyAgICAgIGdpbnQgdmVyc2lvbiA9IChjb2RlY19pZCA9PSBDT0RFQ19JRF9XTVYxKSA/IDEgOiAyOworKworKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtd212IiwKKysgICAgICAgICAgIndtdnZlcnNpb24iLCBHX1RZUEVfSU5ULCB2ZXJzaW9uLCBOVUxMKTsKKysgICAgfQorKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX0ZMVjE6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1mbGFzaC12aWRlbyIsCisrICAgICAgICAgICJmbHZ2ZXJzaW9uIiwgR19UWVBFX0lOVCwgMSwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfU1ZRMToKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LXN2cSIsCisrICAgICAgICAgICJzdnF2ZXJzaW9uIiwgR19UWVBFX0lOVCwgMSwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfU1ZRMzoKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LXN2cSIsCisrICAgICAgICAgICJzdnF2ZXJzaW9uIiwgR19UWVBFX0lOVCwgMywgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfRFZBVURJTzoKKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LWR2IiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfRFZWSURFTzoKKysgICAgeworKyAgICAgIGlmIChlbmNvZGUgJiYgY29udGV4dCkgeworKyAgICAgICAgZ3VpbnQzMiBmb3VyY2M7CisrCisrICAgICAgICBzd2l0Y2ggKGNvbnRleHQtPnBpeF9mbXQpIHsKKysgICAgICAgICAgY2FzZSBQSVhfRk1UX1lVWVY0MjI6CisrICAgICAgICAgICAgZm91cmNjID0gR1NUX01BS0VfRk9VUkNDICgnWScsICdVJywgJ1knLCAnMicpOworKyAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICBjYXNlIFBJWF9GTVRfWVVWNDIwUDoKKysgICAgICAgICAgICBmb3VyY2MgPSBHU1RfTUFLRV9GT1VSQ0MgKCdJJywgJzQnLCAnMicsICcwJyk7CisrICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgIGNhc2UgUElYX0ZNVF9ZVVZBNDIwUDoKKysgICAgICAgICAgICBmb3VyY2MgPSBHU1RfTUFLRV9GT1VSQ0MgKCdBJywgJzQnLCAnMicsICcwJyk7CisrICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgIGNhc2UgUElYX0ZNVF9ZVVY0MTFQOgorKyAgICAgICAgICAgIGZvdXJjYyA9IEdTVF9NQUtFX0ZPVVJDQyAoJ1knLCAnNCcsICcxJywgJ0InKTsKKysgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgY2FzZSBQSVhfRk1UX1lVVjQyMlA6CisrICAgICAgICAgICAgZm91cmNjID0gR1NUX01BS0VfRk9VUkNDICgnWScsICc0JywgJzInLCAnQicpOworKyAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICBjYXNlIFBJWF9GTVRfWVVWNDEwUDoKKysgICAgICAgICAgICBmb3VyY2MgPSBHU1RfTUFLRV9GT1VSQ0MgKCdZJywgJ1UnLCAnVicsICc5Jyk7CisrICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgIGRlZmF1bHQ6CisrICAgICAgICAgICAgR1NUX1dBUk5JTkcKKysgICAgICAgICAgICAgICAgKCJDb3VsZG50JyBmaW5kIGZvdXJjYyBmb3IgcGl4Zm10ICVkLCBkZWZhdWx0aW5nIHRvIEk0MjAiLAorKyAgICAgICAgICAgICAgICBjb250ZXh0LT5waXhfZm10KTsKKysgICAgICAgICAgICBmb3VyY2MgPSBHU1RfTUFLRV9GT1VSQ0MgKCdJJywgJzQnLCAnMicsICcwJyk7CisrICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICB9CisrICAgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LWR2IiwKKysgICAgICAgICAgICAic3lzdGVtc3RyZWFtIiwgR19UWVBFX0JPT0xFQU4sIEZBTFNFLAorKyAgICAgICAgICAgICJmb3JtYXQiLCBHU1RfVFlQRV9GT1VSQ0MsIGZvdXJjYywgTlVMTCk7CisrICAgICAgfSBlbHNlIHsKKysgICAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtZHYiLAorKyAgICAgICAgICAgICJzeXN0ZW1zdHJlYW0iLCBHX1RZUEVfQk9PTEVBTiwgRkFMU0UsIE5VTEwpOworKyAgICAgIH0KKysgICAgfQorKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1dNQVYxOgorKyAgICBjYXNlIENPREVDX0lEX1dNQVYyOgorKyAgICB7CisrICAgICAgZ2ludCB2ZXJzaW9uID0gKGNvZGVjX2lkID09IENPREVDX0lEX1dNQVYxKSA/IDEgOiAyOworKworKyAgICAgIGlmIChjb250ZXh0KSB7CisrICAgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LXdtYSIsCisrICAgICAgICAgICAgIndtYXZlcnNpb24iLCBHX1RZUEVfSU5ULCB2ZXJzaW9uLAorKyAgICAgICAgICAgICJibG9ja19hbGlnbiIsIEdfVFlQRV9JTlQsIGNvbnRleHQtPmJsb2NrX2FsaWduLAorKyAgICAgICAgICAgICJiaXRyYXRlIiwgR19UWVBFX0lOVCwgY29udGV4dC0+Yml0X3JhdGUsIE5VTEwpOworKyAgICAgIH0gZWxzZSB7CisrICAgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LXdtYSIsCisrICAgICAgICAgICAgIndtYXZlcnNpb24iLCBHX1RZUEVfSU5ULCB2ZXJzaW9uLAorKyAgICAgICAgICAgICJibG9ja19hbGlnbiIsIEdTVF9UWVBFX0lOVF9SQU5HRSwgMCwgR19NQVhJTlQsCisrICAgICAgICAgICAgImJpdHJhdGUiLCBHU1RfVFlQRV9JTlRfUkFOR0UsIDAsIEdfTUFYSU5ULCBOVUxMKTsKKysgICAgICB9CisrICAgIH0KKysgICAgICBicmVhazsKKysgICAgY2FzZSBDT0RFQ19JRF9XTUFQUk86CisrICAgIHsKKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LXdtYSIsCisrICAgICAgICAgICJ3bWF2ZXJzaW9uIiwgR19UWVBFX0lOVCwgMywgTlVMTCk7CisrICAgICAgYnJlYWs7CisrICAgIH0KKysKKysgICAgY2FzZSBDT0RFQ19JRF9XTUFWT0lDRToKKysgICAgeworKyAgICAgIGNhcHMgPSBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL3gtd21zIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrICAgIH0KKysKKysgICAgY2FzZSBDT0RFQ19JRF9NQUNFMzoKKysgICAgY2FzZSBDT0RFQ19JRF9NQUNFNjoKKysgICAgeworKyAgICAgIGdpbnQgdmVyc2lvbiA9IChjb2RlY19pZCA9PSBDT0RFQ19JRF9NQUNFMykgPyAzIDogNjsKKysKKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LW1hY2UiLAorKyAgICAgICAgICAibWFjZXZlcnNpb24iLCBHX1RZUEVfSU5ULCB2ZXJzaW9uLCBOVUxMKTsKKysgICAgfQorKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX0hVRkZZVVY6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1odWZmeXV2IiwgTlVMTCk7CisrICAgICAgaWYgKGNvbnRleHQpIHsKKysgICAgICAgIGdzdF9jYXBzX3NldF9zaW1wbGUgKGNhcHMsCisrICAgICAgICAgICAgImJwcCIsIEdfVFlQRV9JTlQsIGNvbnRleHQtPmJpdHNfcGVyX2NvZGVkX3NhbXBsZSwgTlVMTCk7CisrICAgICAgfQorKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX0NZVVY6CisrICAgICAgY2FwcyA9CisrICAgICAgICAgIGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1jb21wcmVzc2VkLXl1diIsCisrICAgICAgICAgIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX0gyNjQ6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1oMjY0IiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfSU5ERU81OgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtaW5kZW8iLAorKyAgICAgICAgICAiaW5kZW92ZXJzaW9uIiwgR19UWVBFX0lOVCwgNSwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfSU5ERU8zOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtaW5kZW8iLAorKyAgICAgICAgICAiaW5kZW92ZXJzaW9uIiwgR19UWVBFX0lOVCwgMywgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfSU5ERU8yOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtaW5kZW8iLAorKyAgICAgICAgICAiaW5kZW92ZXJzaW9uIiwgR19UWVBFX0lOVCwgMiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfRkxBU0hTVjoKKysgICAgICBjYXBzID0KKysgICAgICAgICAgZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LWZsYXNoLXNjcmVlbiIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1ZQMzoKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LXZwMyIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1ZQNToKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LXZwNSIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1ZQNjoKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LXZwNiIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1ZQNkY6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC12cDYtZmxhc2giLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9WUDZBOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtdnA2LWFscGhhIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfVlA4OgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtdnA4IiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfVEhFT1JBOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtdGhlb3JhIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfQUFDOgorKyAgICB7CisrICAgICAgY2FwcyA9IGdzdF9mZl9hdWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiYXVkaW8vbXBlZyIsIE5VTEwpOworKworKyAgICAgIGlmICghZW5jb2RlKSB7CisrICAgICAgICBHVmFsdWUgYXJyID0geyAwLCB9OworKyAgICAgICAgR1ZhbHVlIGl0ZW0gPSB7IDAsIH07CisrCisrICAgICAgICBnX3ZhbHVlX2luaXQgKCZhcnIsIEdTVF9UWVBFX0xJU1QpOworKyAgICAgICAgZ192YWx1ZV9pbml0ICgmaXRlbSwgR19UWVBFX0lOVCk7CisrICAgICAgICBnX3ZhbHVlX3NldF9pbnQgKCZpdGVtLCAyKTsKKysgICAgICAgIGdzdF92YWx1ZV9saXN0X2FwcGVuZF92YWx1ZSAoJmFyciwgJml0ZW0pOworKyAgICAgICAgZ192YWx1ZV9zZXRfaW50ICgmaXRlbSwgNCk7CisrICAgICAgICBnc3RfdmFsdWVfbGlzdF9hcHBlbmRfdmFsdWUgKCZhcnIsICZpdGVtKTsKKysgICAgICAgIGdfdmFsdWVfdW5zZXQgKCZpdGVtKTsKKysKKysgICAgICAgIGdzdF9jYXBzX3NldF92YWx1ZSAoY2FwcywgIm1wZWd2ZXJzaW9uIiwgJmFycik7CisrICAgICAgICBnX3ZhbHVlX3Vuc2V0ICgmYXJyKTsKKysKKysgICAgICAgIGdfdmFsdWVfaW5pdCAoJmFyciwgR1NUX1RZUEVfTElTVCk7CisrICAgICAgICBnX3ZhbHVlX2luaXQgKCZpdGVtLCBHX1RZUEVfU1RSSU5HKTsKKysgICAgICAgIGdfdmFsdWVfc2V0X3N0cmluZyAoJml0ZW0sICJyYXciKTsKKysgICAgICAgIGdzdF92YWx1ZV9saXN0X2FwcGVuZF92YWx1ZSAoJmFyciwgJml0ZW0pOworKyAgICAgICAgZ192YWx1ZV9zZXRfc3RyaW5nICgmaXRlbSwgImFkdHMiKTsKKysgICAgICAgIGdzdF92YWx1ZV9saXN0X2FwcGVuZF92YWx1ZSAoJmFyciwgJml0ZW0pOworKyAgICAgICAgZ192YWx1ZV9zZXRfc3RyaW5nICgmaXRlbSwgImFkaWYiKTsKKysgICAgICAgIGdzdF92YWx1ZV9saXN0X2FwcGVuZF92YWx1ZSAoJmFyciwgJml0ZW0pOworKyAgICAgICAgZ192YWx1ZV91bnNldCAoJml0ZW0pOworKworKyAgICAgICAgZ3N0X2NhcHNfc2V0X3ZhbHVlIChjYXBzLCAic3RyZWFtLWZvcm1hdCIsICZhcnIpOworKyAgICAgICAgZ192YWx1ZV91bnNldCAoJmFycik7CisrICAgICAgfSBlbHNlIHsKKysgICAgICAgIGdzdF9jYXBzX3NldF9zaW1wbGUgKGNhcHMsICJtcGVndmVyc2lvbiIsIEdfVFlQRV9JTlQsIDQsCisrICAgICAgICAgICAgInN0cmVhbS1mb3JtYXQiLCBHX1RZUEVfU1RSSU5HLCAicmF3IiwKKysgICAgICAgICAgICAiYmFzZS1wcm9maWxlIiwgR19UWVBFX1NUUklORywgImxjIiwgTlVMTCk7CisrCisrICAgICAgICBpZiAoY29udGV4dCAmJiBjb250ZXh0LT5leHRyYWRhdGFfc2l6ZSA+IDApCisrICAgICAgICAgIGdzdF9jb2RlY191dGlsc19hYWNfY2Fwc19zZXRfbGV2ZWxfYW5kX3Byb2ZpbGUgKGNhcHMsCisrICAgICAgICAgICAgICBjb250ZXh0LT5leHRyYWRhdGEsIGNvbnRleHQtPmV4dHJhZGF0YV9zaXplKTsKKysgICAgICB9CisrCisrICAgICAgYnJlYWs7CisrICAgIH0KKysgICAgY2FzZSBDT0RFQ19JRF9BQUNfTEFUTTogICAgLyogTEFUTS9MT0FTIEFBQyBzeW50YXggKi8KKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby9tcGVnIiwKKysgICAgICAgICAgIm1wZWd2ZXJzaW9uIiwgR19UWVBFX0lOVCwgNCwgInN0cmVhbS1mb3JtYXQiLCBHX1RZUEVfU1RSSU5HLCAibG9hcyIsCisrICAgICAgICAgIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX0FTVjE6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1hc3VzIiwKKysgICAgICAgICAgImFzdXN2ZXJzaW9uIiwgR19UWVBFX0lOVCwgMSwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgQ09ERUNfSURfQVNWMjoKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LWFzdXMiLAorKyAgICAgICAgICAiYXN1c3ZlcnNpb24iLCBHX1RZUEVfSU5ULCAyLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9GRlYxOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtZmZ2IiwKKysgICAgICAgICAgImZmdnZlcnNpb24iLCBHX1RZUEVfSU5ULCAxLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF80WE06CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC00eG0iLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9YQU5fV0MzOgorKyAgICBjYXNlIENPREVDX0lEX1hBTl9XQzQ6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC14YW4iLAorKyAgICAgICAgICAid2N2ZXJzaW9uIiwgR19UWVBFX0lOVCwgMyAtIENPREVDX0lEX1hBTl9XQzMgKyBjb2RlY19pZCwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfQ0xKUjoKKysgICAgICBjYXBzID0KKysgICAgICAgICAgZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsCisrICAgICAgICAgICJ2aWRlby94LWNpcnJ1cy1sb2dpYy1hY2N1cGFrIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfRlJBUFM6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1mcmFwcyIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX01ERUM6CisrICAgIGNhc2UgQ09ERUNfSURfUk9ROgorKyAgICBjYXNlIENPREVDX0lEX0lOVEVSUExBWV9WSURFTzoKKysgICAgICBidWlsZGNhcHMgPSBUUlVFOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1ZDUjE6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1hdGktdmNyIiwKKysgICAgICAgICAgInZjcnZlcnNpb24iLCBHX1RZUEVfSU5ULCAxLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9SUFpBOgorKyAgICAgIGNhcHMgPQorKyAgICAgICAgICBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtYXBwbGUtdmlkZW8iLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9DSU5FUEFLOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtY2luZXBhayIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICAgIC8qIFdTX1ZRQSBiZWxvZ25zIGhlcmUgKG9yZGVyKSAqLworKworKyAgICBjYXNlIENPREVDX0lEX01TUkxFOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtcmxlIiwKKysgICAgICAgICAgImxheW91dCIsIEdfVFlQRV9TVFJJTkcsICJtaWNyb3NvZnQiLCBOVUxMKTsKKysgICAgICBpZiAoY29udGV4dCkgeworKyAgICAgICAgZ3N0X2NhcHNfc2V0X3NpbXBsZSAoY2FwcywKKysgICAgICAgICAgICAiZGVwdGgiLCBHX1RZUEVfSU5ULCAoZ2ludCkgY29udGV4dC0+Yml0c19wZXJfY29kZWRfc2FtcGxlLCBOVUxMKTsKKysgICAgICB9IGVsc2UgeworKyAgICAgICAgZ3N0X2NhcHNfc2V0X3NpbXBsZSAoY2FwcywgImRlcHRoIiwgR1NUX1RZUEVfSU5UX1JBTkdFLCAxLCA2NCwgTlVMTCk7CisrICAgICAgfQorKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1FUUkxFOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtcmxlIiwKKysgICAgICAgICAgImxheW91dCIsIEdfVFlQRV9TVFJJTkcsICJxdWlja3RpbWUiLCBOVUxMKTsKKysgICAgICBpZiAoY29udGV4dCkgeworKyAgICAgICAgZ3N0X2NhcHNfc2V0X3NpbXBsZSAoY2FwcywKKysgICAgICAgICAgICAiZGVwdGgiLCBHX1RZUEVfSU5ULCAoZ2ludCkgY29udGV4dC0+Yml0c19wZXJfY29kZWRfc2FtcGxlLCBOVUxMKTsKKysgICAgICB9IGVsc2UgeworKyAgICAgICAgZ3N0X2NhcHNfc2V0X3NpbXBsZSAoY2FwcywgImRlcHRoIiwgR1NUX1RZUEVfSU5UX1JBTkdFLCAxLCA2NCwgTlVMTCk7CisrICAgICAgfQorKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX01TVklERU8xOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtbXN2aWRlb2NvZGVjIiwKKysgICAgICAgICAgIm1zdmlkZW92ZXJzaW9uIiwgR19UWVBFX0lOVCwgMSwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfV01WMzoKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LXdtdiIsCisrICAgICAgICAgICJ3bXZ2ZXJzaW9uIiwgR19UWVBFX0lOVCwgMywgTlVMTCk7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgQ09ERUNfSURfVkMxOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtd212IiwKKysgICAgICAgICAgIndtdnZlcnNpb24iLCBHX1RZUEVfSU5ULCAzLCAiZm9ybWF0IiwgR1NUX1RZUEVfRk9VUkNDLAorKyAgICAgICAgICBHU1RfTUFLRV9GT1VSQ0MgKCdXJywgJ1YnLCAnQycsICcxJyksIE5VTEwpOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIENPREVDX0lEX1FETTI6CisrICAgICAgY2FwcyA9IGdzdF9mZl9hdWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiYXVkaW8veC1xZG0yIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfTVNaSDoKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LW1zemgiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9aTElCOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtemxpYiIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1RSVUVNT1RJT04xOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtdHJ1ZW1vdGlvbiIsCisrICAgICAgICAgICJ0cnVldmVyc2lvbiIsIEdfVFlQRV9JTlQsIDEsIE5VTEwpOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIENPREVDX0lEX1RSVUVNT1RJT04yOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtdHJ1ZW1vdGlvbiIsCisrICAgICAgICAgICJ0cnVldmVyc2lvbiIsIEdfVFlQRV9JTlQsIDIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1VMVEk6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC11bHRpbW90aW9uIiwKKysgICAgICAgICAgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfVFNDQzoKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LWNhbXRhc2lhIiwgTlVMTCk7CisrICAgICAgaWYgKGNvbnRleHQpIHsKKysgICAgICAgIGdzdF9jYXBzX3NldF9zaW1wbGUgKGNhcHMsCisrICAgICAgICAgICAgImRlcHRoIiwgR19UWVBFX0lOVCwgKGdpbnQpIGNvbnRleHQtPmJpdHNfcGVyX2NvZGVkX3NhbXBsZSwgTlVMTCk7CisrICAgICAgfSBlbHNlIHsKKysgICAgICAgIGdzdF9jYXBzX3NldF9zaW1wbGUgKGNhcHMsICJkZXB0aCIsIEdTVF9UWVBFX0lOVF9SQU5HRSwgOCwgMzIsIE5VTEwpOworKyAgICAgIH0KKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9LTVZDOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gta212YyIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX05VVjoKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LW51diIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX0dJRjoKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJpbWFnZS9naWYiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9QTkc6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiaW1hZ2UvcG5nIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfUFBNOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImltYWdlL3BwbSIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1BCTToKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJpbWFnZS9wYm0iLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9QQU06CisrICAgICAgY2FwcyA9CisrICAgICAgICAgIGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiaW1hZ2UveC1wb3J0YWJsZS1hbnltYXAiLAorKyAgICAgICAgICBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9QR006CisrICAgICAgY2FwcyA9CisrICAgICAgICAgIGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiaW1hZ2UveC1wb3J0YWJsZS1ncmF5bWFwIiwKKysgICAgICAgICAgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfUENYOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImltYWdlL3gtcGN4IiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfU0dJOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImltYWdlL3gtc2dpIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfVEFSR0E6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiaW1hZ2UveC10Z2EiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9USUZGOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImltYWdlL3RpZmYiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9TVU5SQVNUOgorKyAgICAgIGNhcHMgPQorKyAgICAgICAgICBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImltYWdlL3gtc3VuLXJhc3RlciIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1NNQzoKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LXNtYyIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1FEUkFXOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtcWRydyIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX0ROWEhEOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtZG54aGQiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9NSU1JQzoKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LW1pbWljIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfVk1OQzoKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LXZtbmMiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9UUlVFU1BFRUNIOgorKyAgICAgIGNhcHMgPQorKyAgICAgICAgICBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL3gtdHJ1ZXNwZWVjaCIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1FDRUxQOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL3FjZWxwIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfQU1WOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtYW12IiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfQUFTQzoKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LWFhc2MiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9MT0NPOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtbG9jbyIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1pNQlY6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC16bWJ2IiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfTEFHQVJJVEg6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1sYWdhcml0aCIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX0NTQ0Q6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1jYW1zdHVkaW8iLCBOVUxMKTsKKysgICAgICBpZiAoY29udGV4dCkgeworKyAgICAgICAgZ3N0X2NhcHNfc2V0X3NpbXBsZSAoY2FwcywKKysgICAgICAgICAgICAiZGVwdGgiLCBHX1RZUEVfSU5ULCAoZ2ludCkgY29udGV4dC0+Yml0c19wZXJfY29kZWRfc2FtcGxlLCBOVUxMKTsKKysgICAgICB9IGVsc2UgeworKyAgICAgICAgZ3N0X2NhcHNfc2V0X3NpbXBsZSAoY2FwcywgImRlcHRoIiwgR1NUX1RZUEVfSU5UX1JBTkdFLCA4LCAzMiwgTlVMTCk7CisrICAgICAgfQorKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1dTX1ZRQToKKysgICAgY2FzZSBDT0RFQ19JRF9JRENJTjoKKysgICAgY2FzZSBDT0RFQ19JRF84QlBTOgorKyAgICBjYXNlIENPREVDX0lEX0ZMSUM6CisrICAgIGNhc2UgQ09ERUNfSURfVk1EVklERU86CisrICAgIGNhc2UgQ09ERUNfSURfVk1EQVVESU86CisrICAgIGNhc2UgQ09ERUNfSURfU05PVzoKKysgICAgY2FzZSBDT0RFQ19JRF9WSVhMOgorKyAgICBjYXNlIENPREVDX0lEX1FQRUc6CisrICAgIGNhc2UgQ09ERUNfSURfUEdNWVVWOgorKyAgICBjYXNlIENPREVDX0lEX0ZGVkhVRkY6CisrICAgIGNhc2UgQ09ERUNfSURfV05WMToKKysgICAgY2FzZSBDT0RFQ19JRF9NUDNBRFU6CisrICAgIGNhc2UgQ09ERUNfSURfTVAzT040OgorKyAgICBjYXNlIENPREVDX0lEX1dFU1RXT09EX1NORDE6CisrICAgIGNhc2UgQ09ERUNfSURfTU1WSURFTzoKKysgICAgY2FzZSBDT0RFQ19JRF9BVlM6CisrICAgIGNhc2UgQ09ERUNfSURfQ0FWUzoKKysgICAgICBidWlsZGNhcHMgPSBUUlVFOworKyAgICAgIGJyZWFrOworKworKyAgICAgIC8qIHdlaXJkIHF1YXNpLWNvZGVjcyBmb3IgdGhlIGRlbXV4ZXJzIG9ubHkgKi8KKysgICAgY2FzZSBDT0RFQ19JRF9QQ01fUzE2TEU6CisrICAgIGNhc2UgQ09ERUNfSURfUENNX1MxNkJFOgorKyAgICBjYXNlIENPREVDX0lEX1BDTV9VMTZMRToKKysgICAgY2FzZSBDT0RFQ19JRF9QQ01fVTE2QkU6CisrICAgIGNhc2UgQ09ERUNfSURfUENNX1M4OgorKyAgICBjYXNlIENPREVDX0lEX1BDTV9VODoKKysgICAgeworKyAgICAgIGdpbnQgd2lkdGggPSAwLCBkZXB0aCA9IDAsIGVuZGlhbm5lc3MgPSAwOworKyAgICAgIGdib29sZWFuIHNpZ25lZG5lc3MgPSBGQUxTRTsgICAgICAvKiBibGFibGEgKi8KKysKKysgICAgICBzd2l0Y2ggKGNvZGVjX2lkKSB7CisrICAgICAgICBjYXNlIENPREVDX0lEX1BDTV9TMTZMRToKKysgICAgICAgICAgd2lkdGggPSAxNjsKKysgICAgICAgICAgZGVwdGggPSAxNjsKKysgICAgICAgICAgZW5kaWFubmVzcyA9IEdfTElUVExFX0VORElBTjsKKysgICAgICAgICAgc2lnbmVkbmVzcyA9IFRSVUU7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9QQ01fUzE2QkU6CisrICAgICAgICAgIHdpZHRoID0gMTY7CisrICAgICAgICAgIGRlcHRoID0gMTY7CisrICAgICAgICAgIGVuZGlhbm5lc3MgPSBHX0JJR19FTkRJQU47CisrICAgICAgICAgIHNpZ25lZG5lc3MgPSBUUlVFOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfUENNX1UxNkxFOgorKyAgICAgICAgICB3aWR0aCA9IDE2OworKyAgICAgICAgICBkZXB0aCA9IDE2OworKyAgICAgICAgICBlbmRpYW5uZXNzID0gR19MSVRUTEVfRU5ESUFOOworKyAgICAgICAgICBzaWduZWRuZXNzID0gRkFMU0U7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9QQ01fVTE2QkU6CisrICAgICAgICAgIHdpZHRoID0gMTY7CisrICAgICAgICAgIGRlcHRoID0gMTY7CisrICAgICAgICAgIGVuZGlhbm5lc3MgPSBHX0JJR19FTkRJQU47CisrICAgICAgICAgIHNpZ25lZG5lc3MgPSBGQUxTRTsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIENPREVDX0lEX1BDTV9TODoKKysgICAgICAgICAgd2lkdGggPSA4OworKyAgICAgICAgICBkZXB0aCA9IDg7CisrICAgICAgICAgIGVuZGlhbm5lc3MgPSBHX0JZVEVfT1JERVI7CisrICAgICAgICAgIHNpZ25lZG5lc3MgPSBUUlVFOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfUENNX1U4OgorKyAgICAgICAgICB3aWR0aCA9IDg7CisrICAgICAgICAgIGRlcHRoID0gODsKKysgICAgICAgICAgZW5kaWFubmVzcyA9IEdfQllURV9PUkRFUjsKKysgICAgICAgICAgc2lnbmVkbmVzcyA9IEZBTFNFOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGRlZmF1bHQ6CisrICAgICAgICAgIGdfYXNzZXJ0ICgwKTsgICAgICAgICAvKiBkb24ndCB3b3JyeSwgd2UgbmV2ZXIgZ2V0IGhlcmUgKi8KKysgICAgICAgICAgYnJlYWs7CisrICAgICAgfQorKworKyAgICAgIGNhcHMgPSBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL3gtcmF3LWludCIsCisrICAgICAgICAgICJ3aWR0aCIsIEdfVFlQRV9JTlQsIHdpZHRoLAorKyAgICAgICAgICAiZGVwdGgiLCBHX1RZUEVfSU5ULCBkZXB0aCwKKysgICAgICAgICAgImVuZGlhbm5lc3MiLCBHX1RZUEVfSU5ULCBlbmRpYW5uZXNzLAorKyAgICAgICAgICAic2lnbmVkIiwgR19UWVBFX0JPT0xFQU4sIHNpZ25lZG5lc3MsIE5VTEwpOworKyAgICB9CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfUENNX01VTEFXOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL3gtbXVsYXciLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9QQ01fQUxBVzoKKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LWFsYXciLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9HNzIyOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL0c3MjIiLCBOVUxMKTsKKysgICAgICBpZiAoY29udGV4dCkKKysgICAgICAgIGdzdF9jYXBzX3NldF9zaW1wbGUgKGNhcHMsCisrICAgICAgICAgICAgImJsb2NrX2FsaWduIiwgR19UWVBFX0lOVCwgY29udGV4dC0+YmxvY2tfYWxpZ24sCisrICAgICAgICAgICAgImJpdHJhdGUiLCBHX1RZUEVfSU5ULCBjb250ZXh0LT5iaXRfcmF0ZSwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfQURQQ01fRzcyNjoKKysgICAgeworKyAgICAgIC8qIHRoZSBHNzI2IGRlY29kZXIgY2FuIGFsc28gaGFuZGxlIEc3MjEgKi8KKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LWFkcGNtIiwKKysgICAgICAgICAgImxheW91dCIsIEdfVFlQRV9TVFJJTkcsICJnNzI2IiwgTlVMTCk7CisrICAgICAgaWYgKGNvbnRleHQpCisrICAgICAgICBnc3RfY2Fwc19zZXRfc2ltcGxlIChjYXBzLAorKyAgICAgICAgICAgICJibG9ja19hbGlnbiIsIEdfVFlQRV9JTlQsIGNvbnRleHQtPmJsb2NrX2FsaWduLAorKyAgICAgICAgICAgICJiaXRyYXRlIiwgR19UWVBFX0lOVCwgY29udGV4dC0+Yml0X3JhdGUsIE5VTEwpOworKworKyAgICAgIGlmICghZW5jb2RlKSB7CisrICAgICAgICBnc3RfY2Fwc19hcHBlbmQgKGNhcHMsIGdzdF9jYXBzX25ld19zaW1wbGUgKCJhdWRpby94LWFkcGNtIiwKKysgICAgICAgICAgICAgICAgImxheW91dCIsIEdfVFlQRV9TVFJJTkcsICJnNzIxIiwKKysgICAgICAgICAgICAgICAgImNoYW5uZWxzIiwgR19UWVBFX0lOVCwgMSwgInJhdGUiLCBHX1RZUEVfSU5ULCA4MDAwLCBOVUxMKSk7CisrICAgICAgfQorKyAgICAgIGJyZWFrOworKyAgICB9CisrICAgIGNhc2UgQ09ERUNfSURfQURQQ01fSU1BX1FUOgorKyAgICBjYXNlIENPREVDX0lEX0FEUENNX0lNQV9XQVY6CisrICAgIGNhc2UgQ09ERUNfSURfQURQQ01fSU1BX0RLMzoKKysgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9JTUFfREs0OgorKyAgICBjYXNlIENPREVDX0lEX0FEUENNX0lNQV9XUzoKKysgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9JTUFfU01KUEVHOgorKyAgICBjYXNlIENPREVDX0lEX0FEUENNX0lNQV9BTVY6CisrICAgIGNhc2UgQ09ERUNfSURfQURQQ01fSU1BX0lTUzoKKysgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9JTUFfRUFfRUFDUzoKKysgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9JTUFfRUFfU0VBRDoKKysgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9NUzoKKysgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV80WE06CisrICAgIGNhc2UgQ09ERUNfSURfQURQQ01fWEE6CisrICAgIGNhc2UgQ09ERUNfSURfQURQQ01fQURYOgorKyAgICBjYXNlIENPREVDX0lEX0FEUENNX0VBOgorKyAgICBjYXNlIENPREVDX0lEX0FEUENNX0NUOgorKyAgICBjYXNlIENPREVDX0lEX0FEUENNX1NXRjoKKysgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9ZQU1BSEE6CisrICAgIGNhc2UgQ09ERUNfSURfQURQQ01fU0JQUk9fMjoKKysgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9TQlBST18zOgorKyAgICBjYXNlIENPREVDX0lEX0FEUENNX1NCUFJPXzQ6CisrICAgIGNhc2UgQ09ERUNfSURfQURQQ01fRUFfUjE6CisrICAgIGNhc2UgQ09ERUNfSURfQURQQ01fRUFfUjI6CisrICAgIGNhc2UgQ09ERUNfSURfQURQQ01fRUFfUjM6CisrICAgIGNhc2UgQ09ERUNfSURfQURQQ01fRUFfTUFYSVNfWEE6CisrICAgIGNhc2UgQ09ERUNfSURfQURQQ01fRUFfWEFTOgorKyAgICBjYXNlIENPREVDX0lEX0FEUENNX1RIUDoKKysgICAgeworKyAgICAgIGNvbnN0IGdjaGFyICpsYXlvdXQgPSBOVUxMOworKworKyAgICAgIHN3aXRjaCAoY29kZWNfaWQpIHsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfQURQQ01fSU1BX1FUOgorKyAgICAgICAgICBsYXlvdXQgPSAicXVpY2t0aW1lIjsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIENPREVDX0lEX0FEUENNX0lNQV9XQVY6CisrICAgICAgICAgIGxheW91dCA9ICJkdmkiOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfQURQQ01fSU1BX0RLMzoKKysgICAgICAgICAgbGF5b3V0ID0gImRrMyI7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9JTUFfREs0OgorKyAgICAgICAgICBsYXlvdXQgPSAiZGs0IjsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIENPREVDX0lEX0FEUENNX0lNQV9XUzoKKysgICAgICAgICAgbGF5b3V0ID0gIndlc3R3b29kIjsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIENPREVDX0lEX0FEUENNX0lNQV9TTUpQRUc6CisrICAgICAgICAgIGxheW91dCA9ICJzbWpwZWciOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfQURQQ01fSU1BX0FNVjoKKysgICAgICAgICAgbGF5b3V0ID0gImFtdiI7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9JTUFfSVNTOgorKyAgICAgICAgICBsYXlvdXQgPSAiaXNzIjsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIENPREVDX0lEX0FEUENNX0lNQV9FQV9FQUNTOgorKyAgICAgICAgICBsYXlvdXQgPSAiZWEtZWFjcyI7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9JTUFfRUFfU0VBRDoKKysgICAgICAgICAgbGF5b3V0ID0gImVhLXNlYWQiOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfQURQQ01fTVM6CisrICAgICAgICAgIGxheW91dCA9ICJtaWNyb3NvZnQiOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfQURQQ01fNFhNOgorKyAgICAgICAgICBsYXlvdXQgPSAiNHhtIjsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIENPREVDX0lEX0FEUENNX1hBOgorKyAgICAgICAgICBsYXlvdXQgPSAieGEiOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfQURQQ01fQURYOgorKyAgICAgICAgICBsYXlvdXQgPSAiYWR4IjsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIENPREVDX0lEX0FEUENNX0VBOgorKyAgICAgICAgICBsYXlvdXQgPSAiZWEiOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfQURQQ01fQ1Q6CisrICAgICAgICAgIGxheW91dCA9ICJjdCI7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9TV0Y6CisrICAgICAgICAgIGxheW91dCA9ICJzd2YiOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfQURQQ01fWUFNQUhBOgorKyAgICAgICAgICBsYXlvdXQgPSAieWFtYWhhIjsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIENPREVDX0lEX0FEUENNX1NCUFJPXzI6CisrICAgICAgICAgIGxheW91dCA9ICJzYnBybzIiOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfQURQQ01fU0JQUk9fMzoKKysgICAgICAgICAgbGF5b3V0ID0gInNicHJvMyI7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9TQlBST180OgorKyAgICAgICAgICBsYXlvdXQgPSAic2Jwcm80IjsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIENPREVDX0lEX0FEUENNX0VBX1IxOgorKyAgICAgICAgICBsYXlvdXQgPSAiZWEtcjEiOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfQURQQ01fRUFfUjI6CisrICAgICAgICAgIGxheW91dCA9ICJlYS1yMyI7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9FQV9SMzoKKysgICAgICAgICAgbGF5b3V0ID0gImVhLXIzIjsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIENPREVDX0lEX0FEUENNX0VBX01BWElTX1hBOgorKyAgICAgICAgICBsYXlvdXQgPSAiZWEtbWF4aXMteGEiOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfQURQQ01fRUFfWEFTOgorKyAgICAgICAgICBsYXlvdXQgPSAiZWEteGFzIjsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIENPREVDX0lEX0FEUENNX1RIUDoKKysgICAgICAgICAgbGF5b3V0ID0gInRocCI7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgZGVmYXVsdDoKKysgICAgICAgICAgZ19hc3NlcnQgKDApOyAgICAgICAgIC8qIGRvbid0IHdvcnJ5LCB3ZSBuZXZlciBnZXQgaGVyZSAqLworKyAgICAgICAgICBicmVhazsKKysgICAgICB9CisrCisrICAgICAgLyogRklYTUU6IHNvbWVvbmUgcGxlYXNlIGNoZWNrIHdoZXRoZXIgd2UgbmVlZCBhZGRpdGlvbmFsIHByb3BlcnRpZXMKKysgICAgICAgKiBpbiB0aGlzIGNhcHMgZGVmaW5pdGlvbi4gKi8KKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LWFkcGNtIiwKKysgICAgICAgICAgImxheW91dCIsIEdfVFlQRV9TVFJJTkcsIGxheW91dCwgTlVMTCk7CisrICAgICAgaWYgKGNvbnRleHQpCisrICAgICAgICBnc3RfY2Fwc19zZXRfc2ltcGxlIChjYXBzLAorKyAgICAgICAgICAgICJibG9ja19hbGlnbiIsIEdfVFlQRV9JTlQsIGNvbnRleHQtPmJsb2NrX2FsaWduLAorKyAgICAgICAgICAgICJiaXRyYXRlIiwgR19UWVBFX0lOVCwgY29udGV4dC0+Yml0X3JhdGUsIE5VTEwpOworKyAgICB9CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfQU1SX05COgorKyAgICAgIGNhcHMgPSBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL0FNUiIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX0FNUl9XQjoKKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby9BTVItV0IiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9HU006CisrICAgICAgY2FwcyA9IGdzdF9mZl9hdWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiYXVkaW8veC1nc20iLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9HU01fTVM6CisrICAgICAgY2FwcyA9IGdzdF9mZl9hdWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiYXVkaW8vbXMtZ3NtIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfTkVMTFlNT1NFUjoKKysgICAgICBjYXBzID0KKysgICAgICAgICAgZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LW5lbGx5bW9zZXIiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9TSVBSOgorKyAgICB7CisrICAgICAgY2FwcyA9IGdzdF9mZl9hdWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiYXVkaW8veC1zaXBybyIsIE5VTEwpOworKyAgICAgIGlmIChjb250ZXh0KSB7CisrICAgICAgICBnc3RfY2Fwc19zZXRfc2ltcGxlIChjYXBzLAorKyAgICAgICAgICAgICJsZWFmX3NpemUiLCBHX1RZUEVfSU5ULCBjb250ZXh0LT5ibG9ja19hbGlnbiwKKysgICAgICAgICAgICAiYml0cmF0ZSIsIEdfVFlQRV9JTlQsIGNvbnRleHQtPmJpdF9yYXRlLCBOVUxMKTsKKysgICAgICB9CisrICAgIH0KKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9SQV8xNDQ6CisrICAgIGNhc2UgQ09ERUNfSURfUkFfMjg4OgorKyAgICBjYXNlIENPREVDX0lEX0NPT0s6CisrICAgIHsKKysgICAgICBnaW50IHZlcnNpb24gPSAwOworKworKyAgICAgIHN3aXRjaCAoY29kZWNfaWQpIHsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfUkFfMTQ0OgorKyAgICAgICAgICB2ZXJzaW9uID0gMTsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIENPREVDX0lEX1JBXzI4ODoKKysgICAgICAgICAgdmVyc2lvbiA9IDI7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9DT09LOgorKyAgICAgICAgICB2ZXJzaW9uID0gODsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBkZWZhdWx0OgorKyAgICAgICAgICBicmVhazsKKysgICAgICB9CisrCisrICAgICAgLyogRklYTUU6IHByb3BlcnRpZXM/ICovCisrICAgICAgY2FwcyA9IGdzdF9mZl9hdWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiYXVkaW8veC1wbi1yZWFsYXVkaW8iLAorKyAgICAgICAgICAicmF2ZXJzaW9uIiwgR19UWVBFX0lOVCwgdmVyc2lvbiwgTlVMTCk7CisrICAgICAgaWYgKGNvbnRleHQpIHsKKysgICAgICAgIGdzdF9jYXBzX3NldF9zaW1wbGUgKGNhcHMsCisrICAgICAgICAgICAgImxlYWZfc2l6ZSIsIEdfVFlQRV9JTlQsIGNvbnRleHQtPmJsb2NrX2FsaWduLAorKyAgICAgICAgICAgICJiaXRyYXRlIiwgR19UWVBFX0lOVCwgY29udGV4dC0+Yml0X3JhdGUsIE5VTEwpOworKyAgICAgIH0KKysgICAgfQorKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1JPUV9EUENNOgorKyAgICBjYXNlIENPREVDX0lEX0lOVEVSUExBWV9EUENNOgorKyAgICBjYXNlIENPREVDX0lEX1hBTl9EUENNOgorKyAgICBjYXNlIENPREVDX0lEX1NPTF9EUENNOgorKyAgICB7CisrICAgICAgY29uc3QgZ2NoYXIgKmxheW91dCA9IE5VTEw7CisrCisrICAgICAgc3dpdGNoIChjb2RlY19pZCkgeworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9ST1FfRFBDTToKKysgICAgICAgICAgbGF5b3V0ID0gInJvcSI7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9JTlRFUlBMQVlfRFBDTToKKysgICAgICAgICAgbGF5b3V0ID0gImludGVycGxheSI7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9YQU5fRFBDTToKKysgICAgICAgICAgbGF5b3V0ID0gInhhbiI7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9TT0xfRFBDTToKKysgICAgICAgICAgbGF5b3V0ID0gInNvbCI7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgZGVmYXVsdDoKKysgICAgICAgICAgZ19hc3NlcnQgKDApOyAgICAgICAgIC8qIGRvbid0IHdvcnJ5LCB3ZSBuZXZlciBnZXQgaGVyZSAqLworKyAgICAgICAgICBicmVhazsKKysgICAgICB9CisrCisrICAgICAgLyogRklYTUU6IHNvbWVvbmUgcGxlYXNlIGNoZWNrIHdoZXRoZXIgd2UgbmVlZCBhZGRpdGlvbmFsIHByb3BlcnRpZXMKKysgICAgICAgKiBpbiB0aGlzIGNhcHMgZGVmaW5pdGlvbi4gKi8KKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LWRwY20iLAorKyAgICAgICAgICAibGF5b3V0IiwgR19UWVBFX1NUUklORywgbGF5b3V0LCBOVUxMKTsKKysgICAgICBpZiAoY29udGV4dCkKKysgICAgICAgIGdzdF9jYXBzX3NldF9zaW1wbGUgKGNhcHMsCisrICAgICAgICAgICAgImJsb2NrX2FsaWduIiwgR19UWVBFX0lOVCwgY29udGV4dC0+YmxvY2tfYWxpZ24sCisrICAgICAgICAgICAgImJpdHJhdGUiLCBHX1RZUEVfSU5ULCBjb250ZXh0LT5iaXRfcmF0ZSwgTlVMTCk7CisrICAgIH0KKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9TSE9SVEVOOgorKyAgICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfc2ltcGxlICgiYXVkaW8veC1zaG9ydGVuIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfQUxBQzoKKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LWFsYWMiLCBOVUxMKTsKKysgICAgICBpZiAoY29udGV4dCkgeworKyAgICAgICAgZ3N0X2NhcHNfc2V0X3NpbXBsZSAoY2FwcywKKysgICAgICAgICAgICAic2FtcGxlc2l6ZSIsIEdfVFlQRV9JTlQsIGNvbnRleHQtPmJpdHNfcGVyX2NvZGVkX3NhbXBsZSwgTlVMTCk7CisrICAgICAgfQorKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX0ZMQUM6CisrICAgICAgLyogTm90ZSB0aGF0IGZmbXBlZyBoYXMgbm8gZW5jb2RlciB5ZXQsIGJ1dCBqdXN0IGZvciBzYWZldHkuIEluIHRoZQorKyAgICAgICAqIGVuY29kZXIgY2FzZSwgd2Ugd2FudCB0byBhZGQgdGhpbmdzIGxpa2Ugc2FtcGxlcmF0ZSwgY2hhbm5lbHMuLi4gKi8KKysgICAgICBpZiAoIWVuY29kZSkgeworKyAgICAgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKCJhdWRpby94LWZsYWMiLCBOVUxMKTsKKysgICAgICB9CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfRFZEX1NVQlRJVExFOgorKyAgICBjYXNlIENPREVDX0lEX0RWQl9TVUJUSVRMRToKKysgICAgICBjYXBzID0gTlVMTDsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBDT0RFQ19JRF9CTVA6CisrICAgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKCJpbWFnZS9ibXAiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBDT0RFQ19JRF9UVEE6CisrICAgICAgY2FwcyA9IGdzdF9mZl9hdWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiYXVkaW8veC10dGEiLCBOVUxMKTsKKysgICAgICBpZiAoY29udGV4dCkgeworKyAgICAgICAgZ3N0X2NhcHNfc2V0X3NpbXBsZSAoY2FwcywKKysgICAgICAgICAgICAic2FtcGxlc2l6ZSIsIEdfVFlQRV9JTlQsIGNvbnRleHQtPmJpdHNfcGVyX2NvZGVkX3NhbXBsZSwgTlVMTCk7CisrICAgICAgfQorKyAgICAgIGJyZWFrOworKyAgICBjYXNlIENPREVDX0lEX1RXSU5WUToKKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LXR3aW4tdnEiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysgICAgZGVmYXVsdDoKKysgICAgICBHU1RfREVCVUcgKCJVbmtub3duIGNvZGVjIElEICVkLCBwbGVhc2UgYWRkIG1hcHBpbmcgaGVyZSIsIGNvZGVjX2lkKTsKKysgICAgICBicmVhazsKKysgIH0KKysKKysgIGlmIChidWlsZGNhcHMpIHsKKysgICAgQVZDb2RlYyAqY29kZWM7CisrCisrICAgIGlmICgoY29kZWMgPSBhdmNvZGVjX2ZpbmRfZGVjb2RlciAoY29kZWNfaWQpKSB8fAorKyAgICAgICAgKGNvZGVjID0gYXZjb2RlY19maW5kX2VuY29kZXIgKGNvZGVjX2lkKSkpIHsKKysgICAgICBnY2hhciAqbWltZSA9IE5VTEw7CisrCisrICAgICAgR1NUX0xPRyAoIkNvdWxkIG5vdCBjcmVhdGUgc3RyZWFtIGZvcm1hdCBjYXBzIGZvciAlcyIsIGNvZGVjLT5uYW1lKTsKKysKKysgICAgICBzd2l0Y2ggKGNvZGVjLT50eXBlKSB7CisrICAgICAgICBjYXNlIEFWTUVESUFfVFlQRV9WSURFTzoKKysgICAgICAgICAgbWltZSA9IGdfc3RyZHVwX3ByaW50ZiAoInZpZGVvL3gtZ3N0X2ZmLSVzIiwgY29kZWMtPm5hbWUpOworKyAgICAgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsIG1pbWUsIE5VTEwpOworKyAgICAgICAgICBnX2ZyZWUgKG1pbWUpOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQVZNRURJQV9UWVBFX0FVRElPOgorKyAgICAgICAgICBtaW1lID0gZ19zdHJkdXBfcHJpbnRmICgiYXVkaW8veC1nc3RfZmYtJXMiLCBjb2RlYy0+bmFtZSk7CisrICAgICAgICAgIGNhcHMgPSBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgbWltZSwgTlVMTCk7CisrICAgICAgICAgIGlmIChjb250ZXh0KQorKyAgICAgICAgICAgIGdzdF9jYXBzX3NldF9zaW1wbGUgKGNhcHMsCisrICAgICAgICAgICAgICAgICJibG9ja19hbGlnbiIsIEdfVFlQRV9JTlQsIGNvbnRleHQtPmJsb2NrX2FsaWduLAorKyAgICAgICAgICAgICAgICAiYml0cmF0ZSIsIEdfVFlQRV9JTlQsIGNvbnRleHQtPmJpdF9yYXRlLCBOVUxMKTsKKysgICAgICAgICAgZ19mcmVlIChtaW1lKTsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBkZWZhdWx0OgorKyAgICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgIH0KKysgIH0KKysKKysgIGlmIChjYXBzICE9IE5VTEwpIHsKKysKKysgICAgLyogc2V0IHByaXZhdGUgZGF0YSAqLworKyAgICBpZiAoY29udGV4dCAmJiBjb250ZXh0LT5leHRyYWRhdGFfc2l6ZSA+IDApIHsKKysgICAgICBHc3RCdWZmZXIgKmRhdGEgPSBnc3RfYnVmZmVyX25ld19hbmRfYWxsb2MgKGNvbnRleHQtPmV4dHJhZGF0YV9zaXplKTsKKysKKysgICAgICBtZW1jcHkgKEdTVF9CVUZGRVJfREFUQSAoZGF0YSksIGNvbnRleHQtPmV4dHJhZGF0YSwKKysgICAgICAgICAgY29udGV4dC0+ZXh0cmFkYXRhX3NpemUpOworKyAgICAgIGdzdF9jYXBzX3NldF9zaW1wbGUgKGNhcHMsICJjb2RlY19kYXRhIiwgR1NUX1RZUEVfQlVGRkVSLCBkYXRhLCBOVUxMKTsKKysgICAgICBnc3RfYnVmZmVyX3VucmVmIChkYXRhKTsKKysgICAgfQorKworKyAgICAvKiBwYWxldHRlICovCisrICAgIGlmIChjb250ZXh0KSB7CisrICAgICAgZ3N0X2ZmbXBlZ19zZXRfcGFsZXR0ZSAoY2FwcywgY29udGV4dCk7CisrICAgIH0KKysKKysgICAgR1NUX0xPRyAoImNhcHMgZm9yIGNvZGVjX2lkPSVkOiAlIiBHU1RfUFRSX0ZPUk1BVCwgY29kZWNfaWQsIGNhcHMpOworKworKyAgfSBlbHNlIHsKKysgICAgR1NUX0xPRyAoIk5vIGNhcHMgZm91bmQgZm9yIGNvZGVjX2lkPSVkIiwgY29kZWNfaWQpOworKyAgfQorKworKyAgcmV0dXJuIGNhcHM7CisrfQorKworKy8qIENvbnZlcnQgYSBGRk1QRUcgUGl4ZWwgRm9ybWF0IGFuZCBvcHRpb25hbCBBVkNvZGVjQ29udGV4dAorKyAqIHRvIGEgR3N0Q2Fwcy4gSWYgdGhlIGNvbnRleHQgaXMgb21taXR0ZWQsIG5vIGZpeGVkIHZhbHVlcworKyAqIGZvciB2aWRlby9hdWRpbyBzaXplIHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhlIEdzdENhcHMKKysgKgorKyAqIFNlZSBiZWxvdyBmb3IgdXNlZnVsbG5lc3MKKysgKi8KKysKKytHc3RDYXBzICoKKytnc3RfZmZtcGVnX3BpeGZtdF90b19jYXBzIChlbnVtIFBpeGVsRm9ybWF0IHBpeF9mbXQsIEFWQ29kZWNDb250ZXh0ICogY29udGV4dCwKKysgICAgZW51bSBDb2RlY0lEIGNvZGVjX2lkKQorK3sKKysgIEdzdENhcHMgKmNhcHMgPSBOVUxMOworKworKyAgaW50IGJwcCA9IDAsIGRlcHRoID0gMCwgZW5kaWFubmVzcyA9IDA7CisrICBndWxvbmcgZ19tYXNrID0gMCwgcl9tYXNrID0gMCwgYl9tYXNrID0gMCwgYV9tYXNrID0gMDsKKysgIGd1aW50MzIgZm10ID0gMDsKKysKKysgIHN3aXRjaCAocGl4X2ZtdCkgeworKyAgICBjYXNlIFBJWF9GTVRfWVVWSjQyMFA6CisrICAgIGNhc2UgUElYX0ZNVF9ZVVY0MjBQOgorKyAgICAgIGZtdCA9IEdTVF9NQUtFX0ZPVVJDQyAoJ0knLCAnNCcsICcyJywgJzAnKTsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBQSVhfRk1UX1lVVkE0MjBQOgorKyAgICAgIGZtdCA9IEdTVF9NQUtFX0ZPVVJDQyAoJ0EnLCAnNCcsICcyJywgJzAnKTsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBQSVhfRk1UX1lVWVY0MjI6CisrICAgICAgZm10ID0gR1NUX01BS0VfRk9VUkNDICgnWScsICdVJywgJ1knLCAnMicpOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIFBJWF9GTVRfUkdCMjQ6CisrICAgICAgYnBwID0gZGVwdGggPSAyNDsKKysgICAgICBlbmRpYW5uZXNzID0gR19CSUdfRU5ESUFOOworKyAgICAgIHJfbWFzayA9IDB4ZmYwMDAwOworKyAgICAgIGdfbWFzayA9IDB4MDBmZjAwOworKyAgICAgIGJfbWFzayA9IDB4MDAwMGZmOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIFBJWF9GTVRfQkdSMjQ6CisrICAgICAgYnBwID0gZGVwdGggPSAyNDsKKysgICAgICBlbmRpYW5uZXNzID0gR19CSUdfRU5ESUFOOworKyAgICAgIHJfbWFzayA9IDB4MDAwMGZmOworKyAgICAgIGdfbWFzayA9IDB4MDBmZjAwOworKyAgICAgIGJfbWFzayA9IDB4ZmYwMDAwOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIFBJWF9GTVRfWVVWSjQyMlA6CisrICAgIGNhc2UgUElYX0ZNVF9ZVVY0MjJQOgorKyAgICAgIGZtdCA9IEdTVF9NQUtFX0ZPVVJDQyAoJ1knLCAnNCcsICcyJywgJ0InKTsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBQSVhfRk1UX1lVVko0NDRQOgorKyAgICBjYXNlIFBJWF9GTVRfWVVWNDQ0UDoKKysgICAgICBmbXQgPSBHU1RfTUFLRV9GT1VSQ0MgKCdZJywgJzQnLCAnNCcsICc0Jyk7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgUElYX0ZNVF9SR0IzMjoKKysgICAgICBicHAgPSAzMjsKKysgICAgICBkZXB0aCA9IDMyOworKyAgICAgIGVuZGlhbm5lc3MgPSBHX0JJR19FTkRJQU47CisrI2lmIChHX0JZVEVfT1JERVIgPT0gR19CSUdfRU5ESUFOKQorKyAgICAgIHJfbWFzayA9IDB4MDBmZjAwMDA7CisrICAgICAgZ19tYXNrID0gMHgwMDAwZmYwMDsKKysgICAgICBiX21hc2sgPSAweDAwMDAwMGZmOworKyAgICAgIGFfbWFzayA9IDB4ZmYwMDAwMDA7CisrI2Vsc2UKKysgICAgICByX21hc2sgPSAweDAwMDBmZjAwOworKyAgICAgIGdfbWFzayA9IDB4MDBmZjAwMDA7CisrICAgICAgYl9tYXNrID0gMHhmZjAwMDAwMDsKKysgICAgICBhX21hc2sgPSAweDAwMDAwMGZmOworKyNlbmRpZgorKyAgICAgIGJyZWFrOworKyAgICBjYXNlIFBJWF9GTVRfWVVWNDEwUDoKKysgICAgICBmbXQgPSBHU1RfTUFLRV9GT1VSQ0MgKCdZJywgJ1UnLCAnVicsICc5Jyk7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgUElYX0ZNVF9ZVVY0MTFQOgorKyAgICAgIGZtdCA9IEdTVF9NQUtFX0ZPVVJDQyAoJ1knLCAnNCcsICcxJywgJ0InKTsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBQSVhfRk1UX1JHQjU2NToKKysgICAgICBicHAgPSBkZXB0aCA9IDE2OworKyAgICAgIGVuZGlhbm5lc3MgPSBHX0JZVEVfT1JERVI7CisrICAgICAgcl9tYXNrID0gMHhmODAwOworKyAgICAgIGdfbWFzayA9IDB4MDdlMDsKKysgICAgICBiX21hc2sgPSAweDAwMWY7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgUElYX0ZNVF9SR0I1NTU6CisrICAgICAgYnBwID0gMTY7CisrICAgICAgZGVwdGggPSAxNTsKKysgICAgICBlbmRpYW5uZXNzID0gR19CWVRFX09SREVSOworKyAgICAgIHJfbWFzayA9IDB4N2MwMDsKKysgICAgICBnX21hc2sgPSAweDAzZTA7CisrICAgICAgYl9tYXNrID0gMHgwMDFmOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIFBJWF9GTVRfUEFMODoKKysgICAgICBicHAgPSBkZXB0aCA9IDg7CisrICAgICAgZW5kaWFubmVzcyA9IEdfQllURV9PUkRFUjsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBQSVhfRk1UX0dSQVk4OgorKyAgICAgIGJwcCA9IGRlcHRoID0gODsKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LXJhdy1ncmF5IiwKKysgICAgICAgICAgImJwcCIsIEdfVFlQRV9JTlQsIGJwcCwgImRlcHRoIiwgR19UWVBFX0lOVCwgZGVwdGgsIE5VTEwpOworKyAgICAgIGJyZWFrOworKyAgICBkZWZhdWx0OgorKyAgICAgIC8qIGdpdmUgdXAgLi4uICovCisrICAgICAgYnJlYWs7CisrICB9CisrCisrICBpZiAoY2FwcyA9PSBOVUxMKSB7CisrICAgIGlmIChicHAgIT0gMCkgeworKyAgICAgIGlmIChyX21hc2sgIT0gMCkgeworKyAgICAgICAgaWYgKGFfbWFzaykgeworKyAgICAgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LXJhdy1yZ2IiLAorKyAgICAgICAgICAgICAgImJwcCIsIEdfVFlQRV9JTlQsIGJwcCwKKysgICAgICAgICAgICAgICJkZXB0aCIsIEdfVFlQRV9JTlQsIGRlcHRoLAorKyAgICAgICAgICAgICAgInJlZF9tYXNrIiwgR19UWVBFX0lOVCwgcl9tYXNrLAorKyAgICAgICAgICAgICAgImdyZWVuX21hc2siLCBHX1RZUEVfSU5ULCBnX21hc2ssCisrICAgICAgICAgICAgICAiYmx1ZV9tYXNrIiwgR19UWVBFX0lOVCwgYl9tYXNrLAorKyAgICAgICAgICAgICAgImFscGhhX21hc2siLCBHX1RZUEVfSU5ULCBhX21hc2ssCisrICAgICAgICAgICAgICAiZW5kaWFubmVzcyIsIEdfVFlQRV9JTlQsIGVuZGlhbm5lc3MsIE5VTEwpOworKyAgICAgICAgfSBlbHNlIHsKKysgICAgICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1yYXctcmdiIiwKKysgICAgICAgICAgICAgICJicHAiLCBHX1RZUEVfSU5ULCBicHAsCisrICAgICAgICAgICAgICAiZGVwdGgiLCBHX1RZUEVfSU5ULCBkZXB0aCwKKysgICAgICAgICAgICAgICJyZWRfbWFzayIsIEdfVFlQRV9JTlQsIHJfbWFzaywKKysgICAgICAgICAgICAgICJncmVlbl9tYXNrIiwgR19UWVBFX0lOVCwgZ19tYXNrLAorKyAgICAgICAgICAgICAgImJsdWVfbWFzayIsIEdfVFlQRV9JTlQsIGJfbWFzaywKKysgICAgICAgICAgICAgICJlbmRpYW5uZXNzIiwgR19UWVBFX0lOVCwgZW5kaWFubmVzcywgTlVMTCk7CisrICAgICAgICB9CisrICAgICAgfSBlbHNlIHsKKysgICAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtcmF3LXJnYiIsCisrICAgICAgICAgICAgImJwcCIsIEdfVFlQRV9JTlQsIGJwcCwKKysgICAgICAgICAgICAiZGVwdGgiLCBHX1RZUEVfSU5ULCBkZXB0aCwKKysgICAgICAgICAgICAiZW5kaWFubmVzcyIsIEdfVFlQRV9JTlQsIGVuZGlhbm5lc3MsIE5VTEwpOworKyAgICAgICAgaWYgKGNhcHMgJiYgY29udGV4dCkgeworKyAgICAgICAgICBnc3RfZmZtcGVnX3NldF9wYWxldHRlIChjYXBzLCBjb250ZXh0KTsKKysgICAgICAgIH0KKysgICAgICB9CisrICAgIH0gZWxzZSBpZiAoZm10KSB7CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1yYXcteXV2IiwKKysgICAgICAgICAgImZvcm1hdCIsIEdTVF9UWVBFX0ZPVVJDQywgZm10LCBOVUxMKTsKKysgICAgfQorKyAgfQorKworKyAgaWYgKGNhcHMgIT0gTlVMTCkgeworKyAgICBHU1RfREVCVUcgKCJjYXBzIGZvciBwaXhfZm10PSVkOiAlIiBHU1RfUFRSX0ZPUk1BVCwgcGl4X2ZtdCwgY2Fwcyk7CisrICB9IGVsc2UgeworKyAgICBHU1RfTE9HICgiTm8gY2FwcyBmb3VuZCBmb3IgcGl4X2ZtdD0lZCIsIHBpeF9mbXQpOworKyAgfQorKworKyAgcmV0dXJuIGNhcHM7CisrfQorKworKy8qIENvbnZlcnQgYSBGRk1QRUcgU2FtcGxlIEZvcm1hdCBhbmQgb3B0aW9uYWwgQVZDb2RlY0NvbnRleHQKKysgKiB0byBhIEdzdENhcHMuIElmIHRoZSBjb250ZXh0IGlzIG9tbWl0dGVkLCBubyBmaXhlZCB2YWx1ZXMKKysgKiBmb3IgdmlkZW8vYXVkaW8gc2l6ZSB3aWxsIGJlIGluY2x1ZGVkIGluIHRoZSBHc3RDYXBzCisrICoKKysgKiBTZWUgYmVsb3cgZm9yIHVzZWZ1bGxuZXNzCisrICovCisrCisrc3RhdGljIEdzdENhcHMgKgorK2dzdF9mZm1wZWdfc21wZm10X3RvX2NhcHMgKGVudW0gQVZTYW1wbGVGb3JtYXQgc2FtcGxlX2ZtdCwKKysgICAgQVZDb2RlY0NvbnRleHQgKiBjb250ZXh0LCBlbnVtIENvZGVjSUQgY29kZWNfaWQpCisreworKyAgR3N0Q2FwcyAqY2FwcyA9IE5VTEw7CisrCisrICBpbnQgYnBwID0gMDsKKysgIGdib29sZWFuIGludGVnZXIgPSBUUlVFOworKyAgZ2Jvb2xlYW4gc2lnbmVkbmVzcyA9IEZBTFNFOworKworKyAgc3dpdGNoIChzYW1wbGVfZm10KSB7CisrICAgIGNhc2UgQVZfU0FNUExFX0ZNVF9TMTY6CisrICAgICAgc2lnbmVkbmVzcyA9IFRSVUU7CisrICAgICAgYnBwID0gMTY7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQVZfU0FNUExFX0ZNVF9TMzI6CisrICAgICAgc2lnbmVkbmVzcyA9IFRSVUU7CisrICAgICAgYnBwID0gMzI7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQVZfU0FNUExFX0ZNVF9GTFQ6CisrICAgICAgaW50ZWdlciA9IEZBTFNFOworKyAgICAgIGJwcCA9IDMyOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIEFWX1NBTVBMRV9GTVRfREJMOgorKyAgICAgIGludGVnZXIgPSBGQUxTRTsKKysgICAgICBicHAgPSA2NDsKKysgICAgICBicmVhazsKKysgICAgZGVmYXVsdDoKKysgICAgICAvKiAuLiAqLworKyAgICAgIGJyZWFrOworKyAgfQorKworKyAgaWYgKGJwcCkgeworKyAgICBpZiAoaW50ZWdlcikgeworKyAgICAgIGNhcHMgPSBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL3gtcmF3LWludCIsCisrICAgICAgICAgICJzaWduZWQiLCBHX1RZUEVfQk9PTEVBTiwgc2lnbmVkbmVzcywKKysgICAgICAgICAgImVuZGlhbm5lc3MiLCBHX1RZUEVfSU5ULCBHX0JZVEVfT1JERVIsCisrICAgICAgICAgICJ3aWR0aCIsIEdfVFlQRV9JTlQsIGJwcCwgImRlcHRoIiwgR19UWVBFX0lOVCwgYnBwLCBOVUxMKTsKKysgICAgfSBlbHNlIHsKKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LXJhdy1mbG9hdCIsCisrICAgICAgICAgICJlbmRpYW5uZXNzIiwgR19UWVBFX0lOVCwgR19CWVRFX09SREVSLAorKyAgICAgICAgICAid2lkdGgiLCBHX1RZUEVfSU5ULCBicHAsIE5VTEwpOworKyAgICB9CisrICB9CisrCisrICBpZiAoY2FwcyAhPSBOVUxMKSB7CisrICAgIEdTVF9MT0cgKCJjYXBzIGZvciBzYW1wbGVfZm10PSVkOiAlIiBHU1RfUFRSX0ZPUk1BVCwgc2FtcGxlX2ZtdCwgY2Fwcyk7CisrICB9IGVsc2UgeworKyAgICBHU1RfTE9HICgiTm8gY2FwcyBmb3VuZCBmb3Igc2FtcGxlX2ZtdD0lZCIsIHNhbXBsZV9mbXQpOworKyAgfQorKworKyAgcmV0dXJuIGNhcHM7CisrfQorKworK0dzdENhcHMgKgorK2dzdF9mZm1wZWdfY29kZWN0eXBlX3RvX2F1ZGlvX2NhcHMgKEFWQ29kZWNDb250ZXh0ICogY29udGV4dCwKKysgICAgZW51bSBDb2RlY0lEIGNvZGVjX2lkLCBnYm9vbGVhbiBlbmNvZGUsIEFWQ29kZWMgKiBjb2RlYykKKyt7CisrICBHc3RDYXBzICpjYXBzID0gTlVMTDsKKysKKysgIEdTVF9ERUJVRyAoImNvbnRleHQ6JXAsIGNvZGVjX2lkOiVkLCBlbmNvZGU6JWQsIGNvZGVjOiVwIiwKKysgICAgICBjb250ZXh0LCBjb2RlY19pZCwgZW5jb2RlLCBjb2RlYyk7CisrICBpZiAoY29kZWMpCisrICAgIEdTVF9ERUJVRyAoInNhbXBsZV9mbXRzOiVwLCBzYW1wbGVyYXRlczolcCIsCisrICAgICAgICBjb2RlYy0+c2FtcGxlX2ZtdHMsIGNvZGVjLT5zdXBwb3J0ZWRfc2FtcGxlcmF0ZXMpOworKworKyAgaWYgKGNvbnRleHQpIHsKKysgICAgLyogU3BlY2lmaWMgY29kZWMgY29udGV4dCAqLworKyAgICBjYXBzID0gZ3N0X2ZmbXBlZ19zbXBmbXRfdG9fY2FwcyAoY29udGV4dC0+c2FtcGxlX2ZtdCwgY29udGV4dCwgY29kZWNfaWQpOworKyAgfSBlbHNlIGlmIChjb2RlYyAmJiBjb2RlYy0+c2FtcGxlX2ZtdHMpIHsKKysgICAgR3N0Q2FwcyAqdGVtcDsKKysgICAgaW50IGk7CisrCisrICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfZW1wdHkgKCk7CisrICAgIGZvciAoaSA9IDA7IGNvZGVjLT5zYW1wbGVfZm10c1tpXSAhPSAtMTsgaSsrKSB7CisrICAgICAgdGVtcCA9CisrICAgICAgICAgIGdzdF9mZm1wZWdfc21wZm10X3RvX2NhcHMgKGNvZGVjLT5zYW1wbGVfZm10c1tpXSwgY29udGV4dCwgY29kZWNfaWQpOworKyAgICAgIGlmICh0ZW1wICE9IE5VTEwpCisrICAgICAgICBnc3RfY2Fwc19hcHBlbmQgKGNhcHMsIHRlbXApOworKyAgICB9CisrICB9IGVsc2UgeworKyAgICBHc3RDYXBzICp0ZW1wOworKyAgICBlbnVtIEFWU2FtcGxlRm9ybWF0IGk7CisrICAgIEFWQ29kZWNDb250ZXh0IGN0eCA9IHsgMCwgfTsKKysKKysgICAgY3R4LmNoYW5uZWxzID0gLTE7CisrICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfZW1wdHkgKCk7CisrICAgIGZvciAoaSA9IDA7IGkgPD0gQVZfU0FNUExFX0ZNVF9EQkw7IGkrKykgeworKyAgICAgIHRlbXAgPSBnc3RfZmZtcGVnX3NtcGZtdF90b19jYXBzIChpLCBlbmNvZGUgPyAmY3R4IDogTlVMTCwgY29kZWNfaWQpOworKyAgICAgIGlmICh0ZW1wICE9IE5VTEwpIHsKKysgICAgICAgIGdzdF9jYXBzX2FwcGVuZCAoY2FwcywgdGVtcCk7CisrICAgICAgfQorKyAgICB9CisrICB9CisrICByZXR1cm4gY2FwczsKKyt9CisrCisrR3N0Q2FwcyAqCisrZ3N0X2ZmbXBlZ19jb2RlY3R5cGVfdG9fdmlkZW9fY2FwcyAoQVZDb2RlY0NvbnRleHQgKiBjb250ZXh0LAorKyAgICBlbnVtIENvZGVjSUQgY29kZWNfaWQsIGdib29sZWFuIGVuY29kZSwgQVZDb2RlYyAqIGNvZGVjKQorK3sKKysgIEdzdENhcHMgKmNhcHM7CisrCisrICBHU1RfTE9HICgiY29udGV4dDolcCwgY29kZWNfaWQ6JWQsIGVuY29kZTolZCwgY29kZWM6JXAiLAorKyAgICAgIGNvbnRleHQsIGNvZGVjX2lkLCBlbmNvZGUsIGNvZGVjKTsKKysKKysgIGlmIChjb250ZXh0KSB7CisrICAgIGNhcHMgPSBnc3RfZmZtcGVnX3BpeGZtdF90b19jYXBzIChjb250ZXh0LT5waXhfZm10LCBjb250ZXh0LCBjb2RlY19pZCk7CisrICB9IGVsc2UgeworKyAgICBHc3RDYXBzICp0ZW1wOworKyAgICBlbnVtIFBpeGVsRm9ybWF0IGk7CisrICAgIEFWQ29kZWNDb250ZXh0IGN0eCA9IHsgMCwgfTsKKysKKysgICAgY2FwcyA9IGdzdF9jYXBzX25ld19lbXB0eSAoKTsKKysgICAgZm9yIChpID0gMDsgaSA8IFBJWF9GTVRfTkI7IGkrKykgeworKyAgICAgIGN0eC53aWR0aCA9IC0xOworKyAgICAgIGN0eC5waXhfZm10ID0gaTsKKysgICAgICB0ZW1wID0gZ3N0X2ZmbXBlZ19waXhmbXRfdG9fY2FwcyAoaSwgZW5jb2RlID8gJmN0eCA6IE5VTEwsIGNvZGVjX2lkKTsKKysgICAgICBpZiAodGVtcCAhPSBOVUxMKSB7CisrICAgICAgICBnc3RfY2Fwc19hcHBlbmQgKGNhcHMsIHRlbXApOworKyAgICAgIH0KKysgICAgfQorKyAgfQorKyAgcmV0dXJuIGNhcHM7CisrfQorKworKy8qIENvbnZlcnQgYSBGRk1QRUcgY29kZWMgVHlwZSBhbmQgb3B0aW9uYWwgQVZDb2RlY0NvbnRleHQKKysgKiB0byBhIEdzdENhcHMuIElmIHRoZSBjb250ZXh0IGlzIG9tbWl0dGVkLCBubyBmaXhlZCB2YWx1ZXMKKysgKiBmb3IgdmlkZW8vYXVkaW8gc2l6ZSB3aWxsIGJlIGluY2x1ZGVkIGluIHRoZSBHc3RDYXBzCisrICoKKysgKiBBVk1lZGlhVHlwZSBpcyBwcmltYXJpbHkgbWVhbnQgZm9yIHVuY29tcHJlc3NlZCBkYXRhIEdzdENhcHMhCisrICovCisrCisrR3N0Q2FwcyAqCisrZ3N0X2ZmbXBlZ19jb2RlY3R5cGVfdG9fY2FwcyAoZW51bSBBVk1lZGlhVHlwZSBjb2RlY190eXBlLAorKyAgICBBVkNvZGVjQ29udGV4dCAqIGNvbnRleHQsIGVudW0gQ29kZWNJRCBjb2RlY19pZCwgZ2Jvb2xlYW4gZW5jb2RlKQorK3sKKysgIEdzdENhcHMgKmNhcHM7CisrCisrICBzd2l0Y2ggKGNvZGVjX3R5cGUpIHsKKysgICAgY2FzZSBBVk1FRElBX1RZUEVfVklERU86CisrICAgICAgY2FwcyA9CisrICAgICAgICAgIGdzdF9mZm1wZWdfY29kZWN0eXBlX3RvX3ZpZGVvX2NhcHMgKGNvbnRleHQsIGNvZGVjX2lkLCBlbmNvZGUsIE5VTEwpOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIEFWTUVESUFfVFlQRV9BVURJTzoKKysgICAgICBjYXBzID0KKysgICAgICAgICAgZ3N0X2ZmbXBlZ19jb2RlY3R5cGVfdG9fYXVkaW9fY2FwcyAoY29udGV4dCwgY29kZWNfaWQsIGVuY29kZSwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrICAgIGRlZmF1bHQ6CisrICAgICAgY2FwcyA9IE5VTEw7CisrICAgICAgYnJlYWs7CisrICB9CisrCisrICByZXR1cm4gY2FwczsKKyt9CisrCisrLyogQ29udmVydCBhIEdzdENhcHMgKGF1ZGlvL3JhdykgdG8gYSBGRk1QRUcgU2FtcGxlRm10CisrICogYW5kIG90aGVyIGF1ZGlvIHByb3BlcnRpZXMgaW4gYSBBVkNvZGVjQ29udGV4dC4KKysgKgorKyAqIEZvciB1c2VmdWxsbmVzcywgc2VlIGJlbG93CisrICovCisrCisrc3RhdGljIHZvaWQKKytnc3RfZmZtcGVnX2NhcHNfdG9fc21wZm10IChjb25zdCBHc3RDYXBzICogY2FwcywKKysgICAgQVZDb2RlY0NvbnRleHQgKiBjb250ZXh0LCBnYm9vbGVhbiByYXcpCisreworKyAgR3N0U3RydWN0dXJlICpzdHJ1Y3R1cmU7CisrICBnaW50IGRlcHRoID0gMCwgd2lkdGggPSAwLCBlbmRpYW5uZXNzID0gMDsKKysgIGdib29sZWFuIHNpZ25lZG5lc3MgPSBGQUxTRTsKKysgIGNvbnN0IGdjaGFyICpuYW1lOworKworKyAgZ19yZXR1cm5faWZfZmFpbCAoZ3N0X2NhcHNfZ2V0X3NpemUgKGNhcHMpID09IDEpOworKyAgc3RydWN0dXJlID0gZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZSAoY2FwcywgMCk7CisrCisrICBnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgImNoYW5uZWxzIiwgJmNvbnRleHQtPmNoYW5uZWxzKTsKKysgIGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAicmF0ZSIsICZjb250ZXh0LT5zYW1wbGVfcmF0ZSk7CisrICBnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgImJsb2NrX2FsaWduIiwgJmNvbnRleHQtPmJsb2NrX2FsaWduKTsKKysgIGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAiYml0cmF0ZSIsICZjb250ZXh0LT5iaXRfcmF0ZSk7CisrCisrICBpZiAoIXJhdykKKysgICAgcmV0dXJuOworKworKyAgbmFtZSA9IGdzdF9zdHJ1Y3R1cmVfZ2V0X25hbWUgKHN0cnVjdHVyZSk7CisrCisrICBpZiAoIXN0cmNtcCAobmFtZSwgImF1ZGlvL3gtcmF3LWZsb2F0IikpIHsKKysgICAgLyogRkxPQVQgKi8KKysgICAgaWYgKGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAid2lkdGgiLCAmd2lkdGgpICYmCisrICAgICAgICBnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgImVuZGlhbm5lc3MiLCAmZW5kaWFubmVzcykpIHsKKysgICAgICBpZiAoZW5kaWFubmVzcyA9PSBHX0JZVEVfT1JERVIpIHsKKysgICAgICAgIGlmICh3aWR0aCA9PSAzMikKKysgICAgICAgICAgY29udGV4dC0+c2FtcGxlX2ZtdCA9IEFWX1NBTVBMRV9GTVRfRkxUOworKyAgICAgICAgZWxzZSBpZiAod2lkdGggPT0gNjQpCisrICAgICAgICAgIGNvbnRleHQtPnNhbXBsZV9mbXQgPSBBVl9TQU1QTEVfRk1UX0RCTDsKKysgICAgICB9CisrICAgIH0KKysgIH0gZWxzZSB7CisrICAgIC8qIElOVCAqLworKyAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHJ1Y3R1cmUsICJ3aWR0aCIsICZ3aWR0aCkgJiYKKysgICAgICAgIGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAiZGVwdGgiLCAmZGVwdGgpICYmCisrICAgICAgICBnc3Rfc3RydWN0dXJlX2dldF9ib29sZWFuIChzdHJ1Y3R1cmUsICJzaWduZWQiLCAmc2lnbmVkbmVzcykgJiYKKysgICAgICAgIGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAiZW5kaWFubmVzcyIsICZlbmRpYW5uZXNzKSkgeworKyAgICAgIGlmICgoZW5kaWFubmVzcyA9PSBHX0JZVEVfT1JERVIpICYmIChzaWduZWRuZXNzID09IFRSVUUpKSB7CisrICAgICAgICBpZiAoKHdpZHRoID09IDE2KSAmJiAoZGVwdGggPT0gMTYpKQorKyAgICAgICAgICBjb250ZXh0LT5zYW1wbGVfZm10ID0gQVZfU0FNUExFX0ZNVF9TMTY7CisrICAgICAgICBlbHNlIGlmICgod2lkdGggPT0gMzIpICYmIChkZXB0aCA9PSAzMikpCisrICAgICAgICAgIGNvbnRleHQtPnNhbXBsZV9mbXQgPSBBVl9TQU1QTEVfRk1UX1MzMjsKKysgICAgICB9CisrICAgIH0KKysgIH0KKyt9CisrCisrCisrLyogQ29udmVydCBhIEdzdENhcHMgKHZpZGVvL3JhdykgdG8gYSBGRk1QRUcgUGl4Rm10CisrICogYW5kIG90aGVyIHZpZGVvIHByb3BlcnRpZXMgaW4gYSBBVkNvZGVjQ29udGV4dC4KKysgKgorKyAqIEZvciB1c2VmdWxsbmVzcywgc2VlIGJlbG93CisrICovCisrCisrc3RhdGljIHZvaWQKKytnc3RfZmZtcGVnX2NhcHNfdG9fcGl4Zm10IChjb25zdCBHc3RDYXBzICogY2FwcywKKysgICAgQVZDb2RlY0NvbnRleHQgKiBjb250ZXh0LCBnYm9vbGVhbiByYXcpCisreworKyAgR3N0U3RydWN0dXJlICpzdHJ1Y3R1cmU7CisrICBjb25zdCBHVmFsdWUgKmZwczsKKysgIGNvbnN0IEdWYWx1ZSAqcGFyID0gTlVMTDsKKysKKysgIEdTVF9ERUJVRyAoImNvbnZlcnRpbmcgY2FwcyAlIiBHU1RfUFRSX0ZPUk1BVCwgY2Fwcyk7CisrICBnX3JldHVybl9pZl9mYWlsIChnc3RfY2Fwc19nZXRfc2l6ZSAoY2FwcykgPT0gMSk7CisrICBzdHJ1Y3R1cmUgPSBnc3RfY2Fwc19nZXRfc3RydWN0dXJlIChjYXBzLCAwKTsKKysKKysgIGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAid2lkdGgiLCAmY29udGV4dC0+d2lkdGgpOworKyAgZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHJ1Y3R1cmUsICJoZWlnaHQiLCAmY29udGV4dC0+aGVpZ2h0KTsKKysgIGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAiYnBwIiwgJmNvbnRleHQtPmJpdHNfcGVyX2NvZGVkX3NhbXBsZSk7CisrCisrICBmcHMgPSBnc3Rfc3RydWN0dXJlX2dldF92YWx1ZSAoc3RydWN0dXJlLCAiZnJhbWVyYXRlIik7CisrICBpZiAoZnBzICE9IE5VTEwgJiYgR1NUX1ZBTFVFX0hPTERTX0ZSQUNUSU9OIChmcHMpKSB7CisrCisrICAgIC8qIHNvbWVob3cgdGhlc2Ugc2VlbSBtaXhlZCB1cC4uICovCisrICAgIGNvbnRleHQtPnRpbWVfYmFzZS5kZW4gPSBnc3RfdmFsdWVfZ2V0X2ZyYWN0aW9uX251bWVyYXRvciAoZnBzKTsKKysgICAgY29udGV4dC0+dGltZV9iYXNlLm51bSA9IGdzdF92YWx1ZV9nZXRfZnJhY3Rpb25fZGVub21pbmF0b3IgKGZwcyk7CisrICAgIGNvbnRleHQtPnRpY2tzX3Blcl9mcmFtZSA9IDE7CisrCisrICAgIEdTVF9ERUJVRyAoInNldHRpbmcgZnJhbWVyYXRlICVkLyVkID0gJWxmIiwKKysgICAgICAgIGNvbnRleHQtPnRpbWVfYmFzZS5kZW4sIGNvbnRleHQtPnRpbWVfYmFzZS5udW0sCisrICAgICAgICAxLiAqIGNvbnRleHQtPnRpbWVfYmFzZS5kZW4gLyBjb250ZXh0LT50aW1lX2Jhc2UubnVtKTsKKysgIH0KKysKKysgIHBhciA9IGdzdF9zdHJ1Y3R1cmVfZ2V0X3ZhbHVlIChzdHJ1Y3R1cmUsICJwaXhlbC1hc3BlY3QtcmF0aW8iKTsKKysgIGlmIChwYXIgJiYgR1NUX1ZBTFVFX0hPTERTX0ZSQUNUSU9OIChwYXIpKSB7CisrCisrICAgIGNvbnRleHQtPnNhbXBsZV9hc3BlY3RfcmF0aW8ubnVtID0gZ3N0X3ZhbHVlX2dldF9mcmFjdGlvbl9udW1lcmF0b3IgKHBhcik7CisrICAgIGNvbnRleHQtPnNhbXBsZV9hc3BlY3RfcmF0aW8uZGVuID0gZ3N0X3ZhbHVlX2dldF9mcmFjdGlvbl9kZW5vbWluYXRvciAocGFyKTsKKysKKysgICAgR1NUX0RFQlVHICgic2V0dGluZyBwaXhlbC1hc3BlY3QtcmF0aW8gJWQvJWQgPSAlbGYiLAorKyAgICAgICAgY29udGV4dC0+c2FtcGxlX2FzcGVjdF9yYXRpby5kZW4sIGNvbnRleHQtPnNhbXBsZV9hc3BlY3RfcmF0aW8ubnVtLAorKyAgICAgICAgMS4gKiBjb250ZXh0LT5zYW1wbGVfYXNwZWN0X3JhdGlvLmRlbiAvCisrICAgICAgICBjb250ZXh0LT5zYW1wbGVfYXNwZWN0X3JhdGlvLm51bSk7CisrICB9CisrCisrICBpZiAoIXJhdykKKysgICAgcmV0dXJuOworKworKyAgZ19yZXR1cm5faWZfZmFpbCAoZnBzICE9IE5VTEwgJiYgR1NUX1ZBTFVFX0hPTERTX0ZSQUNUSU9OIChmcHMpKTsKKysKKysgIGlmIChzdHJjbXAgKGdzdF9zdHJ1Y3R1cmVfZ2V0X25hbWUgKHN0cnVjdHVyZSksICJ2aWRlby94LXJhdy15dXYiKSA9PSAwKSB7CisrICAgIGd1aW50MzIgZm91cmNjOworKworKyAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXRfZm91cmNjIChzdHJ1Y3R1cmUsICJmb3JtYXQiLCAmZm91cmNjKSkgeworKyAgICAgIHN3aXRjaCAoZm91cmNjKSB7CisrICAgICAgICBjYXNlIEdTVF9NQUtFX0ZPVVJDQyAoJ1knLCAnVScsICdZJywgJzInKToKKysgICAgICAgICAgY29udGV4dC0+cGl4X2ZtdCA9IFBJWF9GTVRfWVVZVjQyMjsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIEdTVF9NQUtFX0ZPVVJDQyAoJ0knLCAnNCcsICcyJywgJzAnKToKKysgICAgICAgICAgY29udGV4dC0+cGl4X2ZtdCA9IFBJWF9GTVRfWVVWNDIwUDsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIEdTVF9NQUtFX0ZPVVJDQyAoJ0EnLCAnNCcsICcyJywgJzAnKToKKysgICAgICAgICAgY29udGV4dC0+cGl4X2ZtdCA9IFBJWF9GTVRfWVVWQTQyMFA7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBHU1RfTUFLRV9GT1VSQ0MgKCdZJywgJzQnLCAnMScsICdCJyk6CisrICAgICAgICAgIGNvbnRleHQtPnBpeF9mbXQgPSBQSVhfRk1UX1lVVjQxMVA7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBHU1RfTUFLRV9GT1VSQ0MgKCdZJywgJzQnLCAnMicsICdCJyk6CisrICAgICAgICAgIGNvbnRleHQtPnBpeF9mbXQgPSBQSVhfRk1UX1lVVjQyMlA7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBHU1RfTUFLRV9GT1VSQ0MgKCdZJywgJ1UnLCAnVicsICc5Jyk6CisrICAgICAgICAgIGNvbnRleHQtPnBpeF9mbXQgPSBQSVhfRk1UX1lVVjQxMFA7CisrICAgICAgICAgIGJyZWFrOworKyNpZiAwCisrICAgICAgICBjYXNlIEZJWE1FOgorKyAgICAgICAgICBjb250ZXh0LT5waXhfZm10ID0gUElYX0ZNVF9ZVVY0NDRQOworKyAgICAgICAgICBicmVhazsKKysjZW5kaWYKKysgICAgICB9CisrICAgIH0KKysgIH0gZWxzZSBpZiAoc3RyY21wIChnc3Rfc3RydWN0dXJlX2dldF9uYW1lIChzdHJ1Y3R1cmUpLAorKyAgICAgICAgICAidmlkZW8veC1yYXctcmdiIikgPT0gMCkgeworKyAgICBnaW50IGJwcCA9IDAsIHJtYXNrID0gMCwgZW5kaWFubmVzcyA9IDA7CisrCisrICAgIGlmIChnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgImJwcCIsICZicHApICYmCisrICAgICAgICBnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgImVuZGlhbm5lc3MiLCAmZW5kaWFubmVzcykpIHsKKysgICAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHJ1Y3R1cmUsICJyZWRfbWFzayIsICZybWFzaykpIHsKKysgICAgICAgIHN3aXRjaCAoYnBwKSB7CisrICAgICAgICAgIGNhc2UgMzI6CisrI2lmIChHX0JZVEVfT1JERVIgPT0gR19CSUdfRU5ESUFOKQorKyAgICAgICAgICAgIGlmIChybWFzayA9PSAweDAwZmYwMDAwKQorKyNlbHNlCisrICAgICAgICAgICAgaWYgKHJtYXNrID09IDB4MDAwMGZmMDApCisrI2VuZGlmCisrICAgICAgICAgICAgICBjb250ZXh0LT5waXhfZm10ID0gUElYX0ZNVF9SR0IzMjsKKysgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgY2FzZSAyNDoKKysgICAgICAgICAgICBpZiAocm1hc2sgPT0gMHgwMDAwRkYpCisrICAgICAgICAgICAgICBjb250ZXh0LT5waXhfZm10ID0gUElYX0ZNVF9CR1IyNDsKKysgICAgICAgICAgICBlbHNlCisrICAgICAgICAgICAgICBjb250ZXh0LT5waXhfZm10ID0gUElYX0ZNVF9SR0IyNDsKKysgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgY2FzZSAxNjoKKysgICAgICAgICAgICBpZiAoZW5kaWFubmVzcyA9PSBHX0JZVEVfT1JERVIpCisrICAgICAgICAgICAgICBjb250ZXh0LT5waXhfZm10ID0gUElYX0ZNVF9SR0I1NjU7CisrICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgIGNhc2UgMTU6CisrICAgICAgICAgICAgaWYgKGVuZGlhbm5lc3MgPT0gR19CWVRFX09SREVSKQorKyAgICAgICAgICAgICAgY29udGV4dC0+cGl4X2ZtdCA9IFBJWF9GTVRfUkdCNTU1OworKyAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICBkZWZhdWx0OgorKyAgICAgICAgICAgIC8qIG5vdGhpbmcgKi8KKysgICAgICAgICAgICBicmVhazsKKysgICAgICAgIH0KKysgICAgICB9IGVsc2UgeworKyAgICAgICAgaWYgKGJwcCA9PSA4KSB7CisrICAgICAgICAgIGNvbnRleHQtPnBpeF9mbXQgPSBQSVhfRk1UX1BBTDg7CisrICAgICAgICAgIGdzdF9mZm1wZWdfZ2V0X3BhbGV0dGUgKGNhcHMsIGNvbnRleHQpOworKyAgICAgICAgfQorKyAgICAgIH0KKysgICAgfQorKyAgfSBlbHNlIGlmIChzdHJjbXAgKGdzdF9zdHJ1Y3R1cmVfZ2V0X25hbWUgKHN0cnVjdHVyZSksCisrICAgICAgICAgICJ2aWRlby94LXJhdy1ncmF5IikgPT0gMCkgeworKyAgICBnaW50IGJwcCA9IDA7CisrCisrICAgIGlmIChnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgImJwcCIsICZicHApKSB7CisrICAgICAgc3dpdGNoIChicHApIHsKKysgICAgICAgIGNhc2UgODoKKysgICAgICAgICAgY29udGV4dC0+cGl4X2ZtdCA9IFBJWF9GTVRfR1JBWTg7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgIH0KKysgICAgfQorKyAgfQorK30KKysKKysvKiBDb252ZXJ0IGEgR3N0Q2FwcyBhbmQgYSBGRk1QRUcgY29kZWMgVHlwZSB0byBhCisrICogQVZDb2RlY0NvbnRleHQuIElmIHRoZSBjb250ZXh0IGlzIG9tbWl0dGVkLCBubyBmaXhlZCB2YWx1ZXMKKysgKiBmb3IgdmlkZW8vYXVkaW8gc2l6ZSB3aWxsIGJlIGluY2x1ZGVkIGluIHRoZSBjb250ZXh0CisrICoKKysgKiBBVk1lZGlhVHlwZSBpcyBwcmltYXJpbHkgbWVhbnQgZm9yIHVuY29tcHJlc3NlZCBkYXRhIEdzdENhcHMhCisrICovCisrCisrdm9pZAorK2dzdF9mZm1wZWdfY2Fwc193aXRoX2NvZGVjdHlwZSAoZW51bSBBVk1lZGlhVHlwZSB0eXBlLAorKyAgICBjb25zdCBHc3RDYXBzICogY2FwcywgQVZDb2RlY0NvbnRleHQgKiBjb250ZXh0KQorK3sKKysgIGlmIChjb250ZXh0ID09IE5VTEwpCisrICAgIHJldHVybjsKKysKKysgIHN3aXRjaCAodHlwZSkgeworKyAgICBjYXNlIEFWTUVESUFfVFlQRV9WSURFTzoKKysgICAgICBnc3RfZmZtcGVnX2NhcHNfdG9fcGl4Zm10IChjYXBzLCBjb250ZXh0LCBUUlVFKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBBVk1FRElBX1RZUEVfQVVESU86CisrICAgICAgZ3N0X2ZmbXBlZ19jYXBzX3RvX3NtcGZtdCAoY2FwcywgY29udGV4dCwgVFJVRSk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGRlZmF1bHQ6CisrICAgICAgLyogdW5rbm93biAqLworKyAgICAgIGJyZWFrOworKyAgfQorK30KKysKKysjaWYgMAorK3N0YXRpYyB2b2lkCisrbmFsX2VzY2FwZSAoZ3VpbnQ4ICogZHN0LCBndWludDggKiBzcmMsIGd1aW50IHNpemUsIGd1aW50ICogZGVzdHNpemUpCisreworKyAgZ3VpbnQ4ICpkc3RwID0gZHN0OworKyAgZ3VpbnQ4ICpzcmNwID0gc3JjOworKyAgZ3VpbnQ4ICplbmQgPSBzcmMgKyBzaXplOworKyAgZ2ludCBjb3VudCA9IDA7CisrCisrICB3aGlsZSAoc3JjcCA8IGVuZCkgeworKyAgICBpZiAoY291bnQgPT0gMiAmJiAqc3JjcCA8PSAweDAzKSB7CisrICAgICAgR1NUX0RFQlVHICgiYWRkZWQgZXNjYXBlIGNvZGUiKTsKKysgICAgICAqZHN0cCsrID0gMHgwMzsKKysgICAgICBjb3VudCA9IDA7CisrICAgIH0KKysgICAgaWYgKCpzcmNwID09IDApCisrICAgICAgY291bnQrKzsKKysgICAgZWxzZQorKyAgICAgIGNvdW50ID0gMDsKKysKKysgICAgR1NUX0RFQlVHICgiY29weSAlMDJ4LCBjb3VudCAlZCIsICpzcmNwLCBjb3VudCk7CisrICAgICpkc3RwKysgPSAqc3JjcCsrOworKyAgfQorKyAgKmRlc3RzaXplID0gZHN0cCAtIGRzdDsKKyt9CisrCisrLyogY29weSB0aGUgY29uZmlnLCBlc2NhcGluZyBOQUwgdW5pdHMgYXMgd2UgaXRlcmF0ZSB0aGVtLCBpZiBzb21ldGhpbmcgZmFpbHMgd2UKKysgKiBjb3B5IGV2ZXJ5dGhpbmcgYW5kIGhvcGUgZm9yIHRoZSBiZXN0LiAqLworK3N0YXRpYyB2b2lkCisrY29weV9jb25maWcgKGd1aW50OCAqIGRzdCwgZ3VpbnQ4ICogc3JjLCBndWludCBzaXplLCBndWludCAqIGRlc3RzaXplKQorK3sKKysgIGd1aW50OCAqZHN0cCA9IGRzdDsKKysgIGd1aW50OCAqc3JjcCA9IHNyYzsKKysgIGdpbnQgY250LCBpOworKyAgZ3VpbnQgbmFsc2l6ZSwgZXNpemU7CisrCisrICAvKiBjaGVjayBzaXplICovCisrICBpZiAoc2l6ZSA8IDcpCisrICAgIGdvdG8gZnVsbF9jb3B5OworKworKyAgLyogY2hlY2sgdmVyc2lvbiAqLworKyAgaWYgKCpzcmNwICE9IDEpCisrICAgIGdvdG8gZnVsbF9jb3B5OworKworKyAgY250ID0gKihzcmNwICsgNSkgJiAweDFmOyAgICAgLyogTnVtYmVyIG9mIHNwcyAqLworKworKyAgR1NUX0RFQlVHICgibnVtIFNQUyAlZCIsIGNudCk7CisrCisrICBtZW1jcHkgKGRzdHAsIHNyY3AsIDYpOworKyAgc3JjcCArPSA2OworKyAgZHN0cCArPSA2OworKworKyAgZm9yIChpID0gMDsgaSA8IGNudDsgaSsrKSB7CisrICAgIEdTVF9ERUJVRyAoImNvcHkgU1BTICVkIiwgaSk7CisrICAgIG5hbHNpemUgPSAoc3JjcFswXSA8PCA4KSB8IHNyY3BbMV07CisrICAgIG5hbF9lc2NhcGUgKGRzdHAgKyAyLCBzcmNwICsgMiwgbmFsc2l6ZSwgJmVzaXplKTsKKysgICAgZHN0cFswXSA9IGVzaXplID4+IDg7CisrICAgIGRzdHBbMV0gPSBlc2l6ZSAmIDB4ZmY7CisrICAgIGRzdHAgKz0gZXNpemUgKyAyOworKyAgICBzcmNwICs9IG5hbHNpemUgKyAyOworKyAgfQorKworKyAgY250ID0gKihkc3RwKyspID0gKihzcmNwKyspOyAgLyogTnVtYmVyIG9mIHBwcyAqLworKworKyAgR1NUX0RFQlVHICgibnVtIFBQUyAlZCIsIGNudCk7CisrCisrICBmb3IgKGkgPSAwOyBpIDwgY250OyBpKyspIHsKKysgICAgR1NUX0RFQlVHICgiY29weSBQUFMgJWQiLCBpKTsKKysgICAgbmFsc2l6ZSA9IChzcmNwWzBdIDw8IDgpIHwgc3JjcFsxXTsKKysgICAgbmFsX2VzY2FwZSAoZHN0cCArIDIsIHNyY3AgKyAyLCBuYWxzaXplLCAmZXNpemUpOworKyAgICBkc3RwWzBdID0gZXNpemUgPj4gODsKKysgICAgZHN0cFsxXSA9IGVzaXplICYgMHhmZjsKKysgICAgZHN0cCArPSBlc2l6ZSArIDI7CisrICAgIHNyY3AgKz0gbmFsc2l6ZSArIDI7CisrICB9CisrICAqZGVzdHNpemUgPSBkc3RwIC0gZHN0OworKworKyAgcmV0dXJuOworKworK2Z1bGxfY29weToKKysgIHsKKysgICAgR1NUX0RFQlVHICgic29tZXRoaW5nIHVuZXhwZWN0ZWQsIGRvaW5nIGZ1bGwgY29weSIpOworKyAgICBtZW1jcHkgKGRzdCwgc3JjLCBzaXplKTsKKysgICAgKmRlc3RzaXplID0gc2l6ZTsKKysgICAgcmV0dXJuOworKyAgfQorK30KKysjZW5kaWYKKysKKysvKgorKyAqIGNhcHNfd2l0aF9jb2RlY2lkICgpIHRyYW5zZm9ybXMgYSBHc3RDYXBzIGZvciBhIGtub3duIGNvZGVjCisrICogSUQgaW50byBhIGZpbGxlZC1pbiBjb250ZXh0LgorKyAqIGNvZGVjX2RhdGEgZnJvbSBjYXBzIHdpbGwgb3ZlcnJpZGUgcG9zc2libGUgZXh0cmFkYXRhIGFscmVhZHkgaW4gdGhlIGNvbnRleHQKKysgKi8KKysKKyt2b2lkCisrZ3N0X2ZmbXBlZ19jYXBzX3dpdGhfY29kZWNpZCAoZW51bSBDb2RlY0lEIGNvZGVjX2lkLAorKyAgICBlbnVtIEFWTWVkaWFUeXBlIGNvZGVjX3R5cGUsIGNvbnN0IEdzdENhcHMgKiBjYXBzLCBBVkNvZGVjQ29udGV4dCAqIGNvbnRleHQpCisreworKyAgR3N0U3RydWN0dXJlICpzdHI7CisrICBjb25zdCBHVmFsdWUgKnZhbHVlOworKyAgY29uc3QgR3N0QnVmZmVyICpidWY7CisrCisrICBHU1RfTE9HICgiY29kZWNfaWQ6JWQsIGNvZGVjX3R5cGU6JWQsIGNhcHM6JSIgR1NUX1BUUl9GT1JNQVQgIiBjb250ZXh0OiVwIiwKKysgICAgICBjb2RlY19pZCwgY29kZWNfdHlwZSwgY2FwcywgY29udGV4dCk7CisrCisrICBpZiAoIWNvbnRleHQgfHwgIWdzdF9jYXBzX2dldF9zaXplIChjYXBzKSkKKysgICAgcmV0dXJuOworKworKyAgc3RyID0gZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZSAoY2FwcywgMCk7CisrCisrICAvKiBleHRyYWRhdGEgcGFyc2luZyAoZXNkcyBbbXBlZzRdLCB3bWEvd212LCBtc21wZWc0djEvMi8zLCBldGMuKSAqLworKyAgaWYgKCh2YWx1ZSA9IGdzdF9zdHJ1Y3R1cmVfZ2V0X3ZhbHVlIChzdHIsICJjb2RlY19kYXRhIikpKSB7CisrICAgIGd1aW50IHNpemU7CisrICAgIGd1aW50OCAqZGF0YTsKKysKKysgICAgYnVmID0gR1NUX0JVRkZFUl9DQVNUIChnc3RfdmFsdWVfZ2V0X21pbmlfb2JqZWN0ICh2YWx1ZSkpOworKyAgICBzaXplID0gR1NUX0JVRkZFUl9TSVpFIChidWYpOworKyAgICBkYXRhID0gR1NUX0JVRkZFUl9EQVRBIChidWYpOworKworKyAgICAvKiBmcmVlIHRoZSBvbGQgb25lIGlmIGl0IGlzIHRoZXJlICovCisrICAgIGlmIChjb250ZXh0LT5leHRyYWRhdGEpCisrICAgICAgYXZfZnJlZSAoY29udGV4dC0+ZXh0cmFkYXRhKTsKKysKKysjaWYgMAorKyAgICBpZiAoY29kZWNfaWQgPT0gQ09ERUNfSURfSDI2NCkgeworKyAgICAgIGd1aW50IGV4dHJhc2l6ZTsKKysKKysgICAgICBHU1RfREVCVUcgKCJjb3B5LCBlc2NhcGluZyBjb2RlY19kYXRhICVkIiwgc2l6ZSk7CisrICAgICAgLyogZmZtcGVnIGgyNjQgZXhwZWN0cyB0aGUgY29kZWNfZGF0YSB0byBiZSBlc2NhcGVkLCB0aGVyZSBpcyBubyByZWFsCisrICAgICAgICogcmVhc29uIGZvciB0aGlzIGJ1dCBsZXQncyBqdXN0IGVzY2FwZSBpdCBmb3Igbm93LiBTdGFydCBieSBhbGxvY2F0aW5nCisrICAgICAgICogZW5vdWdoIHNwYWNlLCB4MiBpcyBtb3JlIHRoYW4gZW5vdWdoLgorKyAgICAgICAqCisrICAgICAgICogRklYTUUsIHdlIGRpc2FibGVkIGVzY2FwaW5nIGJlY2F1c2Ugc29tZSBmaWxlIGFscmVhZHkgY29udGFpbiBlc2NhcGVkCisrICAgICAgICogY29kZWNfZGF0YSBhbmQgdGhlbiB3ZSBlc2NhcGUgdHdpY2UgYW5kIGZhaWwuIEl0J3MgYmV0dGVyIHRvIGxlYXZlIGl0CisrICAgICAgICogYXMgaXMsIGFzIHRoYXQgaXMgd2hhdCBtb3N0IHBsYXllcnMgZG8uICovCisrICAgICAgY29udGV4dC0+ZXh0cmFkYXRhID0KKysgICAgICAgICAgYXZfbWFsbG9jeiAoR1NUX1JPVU5EX1VQXzE2IChzaXplICogMiArCisrICAgICAgICAgICAgICBGRl9JTlBVVF9CVUZGRVJfUEFERElOR19TSVpFKSk7CisrICAgICAgY29weV9jb25maWcgKGNvbnRleHQtPmV4dHJhZGF0YSwgZGF0YSwgc2l6ZSwgJmV4dHJhc2l6ZSk7CisrICAgICAgR1NUX0RFQlVHICgiZXNjYXBlZCBzaXplOiAlZCIsIGV4dHJhc2l6ZSk7CisrICAgICAgY29udGV4dC0+ZXh0cmFkYXRhX3NpemUgPSBleHRyYXNpemU7CisrICAgIH0gZWxzZQorKyNlbmRpZgorKyAgICB7CisrICAgICAgLyogYWxsb2NhdGUgd2l0aCBlbm91Z2ggcGFkZGluZyAqLworKyAgICAgIEdTVF9ERUJVRyAoImNvcHkgY29kZWNfZGF0YSIpOworKyAgICAgIGNvbnRleHQtPmV4dHJhZGF0YSA9CisrICAgICAgICAgIGF2X21hbGxvY3ogKEdTVF9ST1VORF9VUF8xNiAoc2l6ZSArIEZGX0lOUFVUX0JVRkZFUl9QQURESU5HX1NJWkUpKTsKKysgICAgICBtZW1jcHkgKGNvbnRleHQtPmV4dHJhZGF0YSwgZGF0YSwgc2l6ZSk7CisrICAgICAgY29udGV4dC0+ZXh0cmFkYXRhX3NpemUgPSBzaXplOworKyAgICB9CisrCisrICAgIC8qIEhhY2sgZm9yIFZDMS4gU29tZXRpbWVzIHRoZSBmaXJzdCAobGVuZ3RoKSBieXRlIGlzIDAgZm9yIHNvbWUgZmlsZXMgKi8KKysgICAgaWYgKGNvZGVjX2lkID09IENPREVDX0lEX1ZDMSAmJiBzaXplID4gMCAmJiBkYXRhWzBdID09IDApIHsKKysgICAgICBjb250ZXh0LT5leHRyYWRhdGFbMF0gPSAoZ3VpbnQ4KSBzaXplOworKyAgICB9CisrCisrICAgIEdTVF9ERUJVRyAoImhhdmUgY29kZWMgZGF0YSBvZiBzaXplICVkIiwgc2l6ZSk7CisrICB9IGVsc2UgaWYgKGNvbnRleHQtPmV4dHJhZGF0YSA9PSBOVUxMICYmIGNvZGVjX2lkICE9IENPREVDX0lEX0FBQ19MQVRNICYmCisrICAgICAgY29kZWNfaWQgIT0gQ09ERUNfSURfRkxBQykgeworKyAgICAvKiBubyBleHRyYWRhdGEsIGFsbG9jIGR1bW15IHdpdGggMCBzaXplZCwgc29tZSBjb2RlY3MgaW5zaXN0IG9uIHJlYWRpbmcKKysgICAgICogZXh0cmFkYXRhIGFueXdheSB3aGljaCBtYWtlcyB0aGVuIHNlZ2ZhdWx0LiAqLworKyAgICBjb250ZXh0LT5leHRyYWRhdGEgPQorKyAgICAgICAgYXZfbWFsbG9jeiAoR1NUX1JPVU5EX1VQXzE2IChGRl9JTlBVVF9CVUZGRVJfUEFERElOR19TSVpFKSk7CisrICAgIGNvbnRleHQtPmV4dHJhZGF0YV9zaXplID0gMDsKKysgICAgR1NUX0RFQlVHICgibm8gY29kZWMgZGF0YSIpOworKyAgfQorKworKyAgc3dpdGNoIChjb2RlY19pZCkgeworKyAgICBjYXNlIENPREVDX0lEX01QRUc0OgorKyAgICB7CisrICAgICAgY29uc3QgZ2NoYXIgKm1pbWUgPSBnc3Rfc3RydWN0dXJlX2dldF9uYW1lIChzdHIpOworKworKyAgICAgIGlmICghc3RyY21wIChtaW1lLCAidmlkZW8veC1kaXZ4IikpCisrICAgICAgICBjb250ZXh0LT5jb2RlY190YWcgPSBHU1RfTUFLRV9GT1VSQ0MgKCdEJywgJ0knLCAnVicsICdYJyk7CisrICAgICAgZWxzZSBpZiAoIXN0cmNtcCAobWltZSwgInZpZGVvL3gteHZpZCIpKQorKyAgICAgICAgY29udGV4dC0+Y29kZWNfdGFnID0gR1NUX01BS0VfRk9VUkNDICgnWCcsICdWJywgJ0knLCAnRCcpOworKyAgICAgIGVsc2UgaWYgKCFzdHJjbXAgKG1pbWUsICJ2aWRlby94LTNpdngiKSkKKysgICAgICAgIGNvbnRleHQtPmNvZGVjX3RhZyA9IEdTVF9NQUtFX0ZPVVJDQyAoJzMnLCAnSScsICdWJywgJzEnKTsKKysgICAgICBlbHNlIGlmICghc3RyY21wIChtaW1lLCAidmlkZW8vbXBlZyIpKQorKyAgICAgICAgY29udGV4dC0+Y29kZWNfdGFnID0gR1NUX01BS0VfRk9VUkNDICgnbScsICdwJywgJzQnLCAndicpOworKyAgICB9CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfU1ZRMzoKKysgICAgICAvKiBGSVhNRTogdGhpcyBpcyBhIHdvcmthcm91bmQgZm9yIG9sZGVyIGdzdC1wbHVnaW5zIHJlbGVhc2VzCisrICAgICAgICogKDw9IDAuOC45KS4gVGhpcyBzaG91bGQgYmUgcmVtb3ZlZCBhdCBzb21lIHBvaW50LCBiZWNhdXNlCisrICAgICAgICogaXQgY2F1c2VzIHdyb25nIGRlY29kZWQgZnJhbWUgb3JkZXIuICovCisrICAgICAgaWYgKCFjb250ZXh0LT5leHRyYWRhdGEpIHsKKysgICAgICAgIGdpbnQgaGFsZnBlbF9mbGFnLCB0aGlyZHBlbF9mbGFnLCBsb3dfZGVsYXksIHVua25vd25fc3ZxM19mbGFnOworKyAgICAgICAgZ3VpbnQxNiBmbGFnczsKKysKKysgICAgICAgIGlmIChnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0ciwgImhhbGZwZWxfZmxhZyIsICZoYWxmcGVsX2ZsYWcpIHx8CisrICAgICAgICAgICAgZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHIsICJ0aGlyZHBlbF9mbGFnIiwgJnRoaXJkcGVsX2ZsYWcpIHx8CisrICAgICAgICAgICAgZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHIsICJsb3dfZGVsYXkiLCAmbG93X2RlbGF5KSB8fAorKyAgICAgICAgICAgIGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RyLCAidW5rbm93bl9zdnEzX2ZsYWciLAorKyAgICAgICAgICAgICAgICAmdW5rbm93bl9zdnEzX2ZsYWcpKSB7CisrICAgICAgICAgIGNvbnRleHQtPmV4dHJhZGF0YSA9IChndWludDggKikgYXZfbWFsbG9jeiAoMHg2NCk7CisrICAgICAgICAgIGdfc3RwY3B5ICgoZ2NoYXIgKikgY29udGV4dC0+ZXh0cmFkYXRhLCAiU1ZRMyIpOworKyAgICAgICAgICBmbGFncyA9IDEgPDwgMzsKKysgICAgICAgICAgZmxhZ3MgfD0gbG93X2RlbGF5OworKyAgICAgICAgICBmbGFncyA9IGZsYWdzIDw8IDI7CisrICAgICAgICAgIGZsYWdzIHw9IHVua25vd25fc3ZxM19mbGFnOworKyAgICAgICAgICBmbGFncyA9IGZsYWdzIDw8IDY7CisrICAgICAgICAgIGZsYWdzIHw9IGhhbGZwZWxfZmxhZzsKKysgICAgICAgICAgZmxhZ3MgPSBmbGFncyA8PCAxOworKyAgICAgICAgICBmbGFncyB8PSB0aGlyZHBlbF9mbGFnOworKyAgICAgICAgICBmbGFncyA9IGZsYWdzIDw8IDM7CisrCisrICAgICAgICAgIGZsYWdzID0gR1VJTlQxNl9GUk9NX0xFIChmbGFncyk7CisrCisrICAgICAgICAgIG1lbWNweSAoKGdjaGFyICopIGNvbnRleHQtPmV4dHJhZGF0YSArIDB4NjIsICZmbGFncywgMik7CisrICAgICAgICAgIGNvbnRleHQtPmV4dHJhZGF0YV9zaXplID0gMHg2NDsKKysgICAgICAgIH0KKysgICAgICB9CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfTVNSTEU6CisrICAgIGNhc2UgQ09ERUNfSURfUVRSTEU6CisrICAgIGNhc2UgQ09ERUNfSURfVFNDQzoKKysgICAgY2FzZSBDT0RFQ19JRF9DU0NEOgorKyAgICBjYXNlIENPREVDX0lEX0FQRToKKysgICAgeworKyAgICAgIGdpbnQgZGVwdGg7CisrCisrICAgICAgaWYgKGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RyLCAiZGVwdGgiLCAmZGVwdGgpKSB7CisrICAgICAgICBjb250ZXh0LT5iaXRzX3Blcl9jb2RlZF9zYW1wbGUgPSBkZXB0aDsKKysgICAgICB9IGVsc2UgeworKyAgICAgICAgR1NUX1dBUk5JTkcgKCJObyBkZXB0aCBmaWVsZCBpbiBjYXBzICUiIEdTVF9QVFJfRk9STUFULCBjYXBzKTsKKysgICAgICB9CisrCisrICAgIH0KKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9SVjEwOgorKyAgICBjYXNlIENPREVDX0lEX1JWMjA6CisrICAgIGNhc2UgQ09ERUNfSURfUlYzMDoKKysgICAgY2FzZSBDT0RFQ19JRF9SVjQwOgorKyAgICB7CisrICAgICAgZ2ludCBmb3JtYXQ7CisrCisrICAgICAgaWYgKGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RyLCAiZm9ybWF0IiwgJmZvcm1hdCkpCisrICAgICAgICBjb250ZXh0LT5zdWJfaWQgPSBmb3JtYXQ7CisrCisrICAgICAgYnJlYWs7CisrICAgIH0KKysgICAgY2FzZSBDT0RFQ19JRF9DT09LOgorKyAgICBjYXNlIENPREVDX0lEX1JBXzI4ODoKKysgICAgY2FzZSBDT0RFQ19JRF9SQV8xNDQ6CisrICAgIGNhc2UgQ09ERUNfSURfU0lQUjoKKysgICAgeworKyAgICAgIGdpbnQgbGVhZl9zaXplOworKyAgICAgIGdpbnQgYml0cmF0ZTsKKysKKysgICAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHIsICJsZWFmX3NpemUiLCAmbGVhZl9zaXplKSkKKysgICAgICAgIGNvbnRleHQtPmJsb2NrX2FsaWduID0gbGVhZl9zaXplOworKyAgICAgIGlmIChnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0ciwgImJpdHJhdGUiLCAmYml0cmF0ZSkpCisrICAgICAgICBjb250ZXh0LT5iaXRfcmF0ZSA9IGJpdHJhdGU7CisrICAgIH0KKysgICAgY2FzZSBDT0RFQ19JRF9BTEFDOgorKyAgICAgIGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RyLCAic2FtcGxlc2l6ZSIsCisrICAgICAgICAgICZjb250ZXh0LT5iaXRzX3Blcl9jb2RlZF9zYW1wbGUpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX0RWVklERU86CisrICAgIHsKKysgICAgICBndWludDMyIGZvdXJjYzsKKysKKysgICAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXRfZm91cmNjIChzdHIsICJmb3JtYXQiLCAmZm91cmNjKSkKKysgICAgICAgIHN3aXRjaCAoZm91cmNjKSB7CisrICAgICAgICAgIGNhc2UgR1NUX01BS0VfRk9VUkNDICgnWScsICdVJywgJ1knLCAnMicpOgorKyAgICAgICAgICAgIGNvbnRleHQtPnBpeF9mbXQgPSBQSVhfRk1UX1lVWVY0MjI7CisrICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgIGNhc2UgR1NUX01BS0VfRk9VUkNDICgnSScsICc0JywgJzInLCAnMCcpOgorKyAgICAgICAgICAgIGNvbnRleHQtPnBpeF9mbXQgPSBQSVhfRk1UX1lVVjQyMFA7CisrICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgIGNhc2UgR1NUX01BS0VfRk9VUkNDICgnQScsICc0JywgJzInLCAnMCcpOgorKyAgICAgICAgICAgIGNvbnRleHQtPnBpeF9mbXQgPSBQSVhfRk1UX1lVVkE0MjBQOworKyAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICBjYXNlIEdTVF9NQUtFX0ZPVVJDQyAoJ1knLCAnNCcsICcxJywgJ0InKToKKysgICAgICAgICAgICBjb250ZXh0LT5waXhfZm10ID0gUElYX0ZNVF9ZVVY0MTFQOworKyAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICBjYXNlIEdTVF9NQUtFX0ZPVVJDQyAoJ1knLCAnNCcsICcyJywgJ0InKToKKysgICAgICAgICAgICBjb250ZXh0LT5waXhfZm10ID0gUElYX0ZNVF9ZVVY0MjJQOworKyAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICBjYXNlIEdTVF9NQUtFX0ZPVVJDQyAoJ1knLCAnVScsICdWJywgJzknKToKKysgICAgICAgICAgICBjb250ZXh0LT5waXhfZm10ID0gUElYX0ZNVF9ZVVY0MTBQOworKyAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICBkZWZhdWx0OgorKyAgICAgICAgICAgIEdTVF9XQVJOSU5HICgiY291bGRuJ3QgY29udmVydCBmb3VyY2MgJSIgR1NUX0ZPVVJDQ19GT1JNQVQKKysgICAgICAgICAgICAgICAgIiB0byBhIHBpeGVsIGZvcm1hdCIsIEdTVF9GT1VSQ0NfQVJHUyAoZm91cmNjKSk7CisrICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICB9CisrICAgICAgYnJlYWs7CisrICAgIH0KKysgICAgY2FzZSBDT0RFQ19JRF9IMjYzUDoKKysgICAgeworKyAgICAgIGdib29sZWFuIHZhbDsKKysKKysgICAgICBpZiAoIWdzdF9zdHJ1Y3R1cmVfZ2V0X2Jvb2xlYW4gKHN0ciwgImFubmV4LWYiLCAmdmFsKSB8fCB2YWwpCisrICAgICAgICBjb250ZXh0LT5mbGFncyB8PSBDT0RFQ19GTEFHXzRNVjsKKysgICAgICBlbHNlCisrICAgICAgICBjb250ZXh0LT5mbGFncyAmPSB+Q09ERUNfRkxBR180TVY7CisrICAgICAgaWYgKCghZ3N0X3N0cnVjdHVyZV9nZXRfYm9vbGVhbiAoc3RyLCAiYW5uZXgtaSIsICZ2YWwpIHx8IHZhbCkgJiYKKysgICAgICAgICAgKCFnc3Rfc3RydWN0dXJlX2dldF9ib29sZWFuIChzdHIsICJhbm5leC10IiwgJnZhbCkgfHwgdmFsKSkKKysgICAgICAgIGNvbnRleHQtPmZsYWdzIHw9IENPREVDX0ZMQUdfQUNfUFJFRDsKKysgICAgICBlbHNlCisrICAgICAgICBjb250ZXh0LT5mbGFncyAmPSB+Q09ERUNfRkxBR19BQ19QUkVEOworKyAgICAgIGlmICghZ3N0X3N0cnVjdHVyZV9nZXRfYm9vbGVhbiAoc3RyLCAiYW5uZXgtaiIsICZ2YWwpIHx8IHZhbCkKKysgICAgICAgIGNvbnRleHQtPmZsYWdzIHw9IENPREVDX0ZMQUdfTE9PUF9GSUxURVI7CisrICAgICAgZWxzZQorKyAgICAgICAgY29udGV4dC0+ZmxhZ3MgJj0gfkNPREVDX0ZMQUdfTE9PUF9GSUxURVI7CisrICAgICAgYnJlYWs7CisrICAgIH0KKysgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9HNzI2OgorKyAgICB7CisrICAgICAgY29uc3QgZ2NoYXIgKmxheW91dDsKKysKKysgICAgICBpZiAoKGxheW91dCA9IGdzdF9zdHJ1Y3R1cmVfZ2V0X3N0cmluZyAoc3RyLCAibGF5b3V0IikpKSB7CisrICAgICAgICBpZiAoIXN0cmNtcCAobGF5b3V0LCAiZzcyMSIpKSB7CisrICAgICAgICAgIGNvbnRleHQtPnNhbXBsZV9yYXRlID0gODAwMDsKKysgICAgICAgICAgY29udGV4dC0+Y2hhbm5lbHMgPSAxOworKyAgICAgICAgICBjb250ZXh0LT5iaXRfcmF0ZSA9IDMyMDAwOworKyAgICAgICAgfQorKyAgICAgIH0KKysgICAgICBicmVhazsKKysgICAgfQorKyAgICBkZWZhdWx0OgorKyAgICAgIGJyZWFrOworKyAgfQorKworKyAgaWYgKCFnc3RfY2Fwc19pc19maXhlZCAoY2FwcykpCisrICAgIHJldHVybjsKKysKKysgIC8qIGNvbW1vbiBwcm9wZXJ0aWVzICh3aWR0aCwgaGVpZ2h0LCBmcHMpICovCisrICBzd2l0Y2ggKGNvZGVjX3R5cGUpIHsKKysgICAgY2FzZSBBVk1FRElBX1RZUEVfVklERU86CisrICAgICAgZ3N0X2ZmbXBlZ19jYXBzX3RvX3BpeGZtdCAoY2FwcywgY29udGV4dCwgY29kZWNfaWQgPT0gQ09ERUNfSURfUkFXVklERU8pOworKyAgICAgIGdzdF9mZm1wZWdfZ2V0X3BhbGV0dGUgKGNhcHMsIGNvbnRleHQpOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIEFWTUVESUFfVFlQRV9BVURJTzoKKysgICAgICBnc3RfZmZtcGVnX2NhcHNfdG9fc21wZm10IChjYXBzLCBjb250ZXh0LCBGQUxTRSk7CisrICAgICAgYnJlYWs7CisrICAgIGRlZmF1bHQ6CisrICAgICAgYnJlYWs7CisrICB9CisrCisrICAvKiBmaXh1cCBvZiBkZWZhdWx0IHNldHRpbmdzICovCisrICBzd2l0Y2ggKGNvZGVjX2lkKSB7CisrICAgIGNhc2UgQ09ERUNfSURfUUNFTFA6CisrICAgICAgLyogUUNFTFAgaXMgYWx3YXlzIG1vbm8sIG5vIG1hdHRlciB3aGF0IHRoZSBjYXBzIHNheSAqLworKyAgICAgIGNvbnRleHQtPmNoYW5uZWxzID0gMTsKKysgICAgICBicmVhazsKKysgICAgZGVmYXVsdDoKKysgICAgICBicmVhazsKKysgIH0KKyt9CisrCisrLyogX2Zvcm1hdGlkX3RvX2NhcHMgKCkgaXMgbWVhbnQgZm9yIG11eGVycy9kZW11eGVycywgaXQKKysgKiB0cmFuc2Zvcm1zIGEgbmFtZSAoZmZtcGVnIHdheSBvZiBJRCdpbmcgdGhlc2UsIHdoeSBkb24ndAorKyAqIHRoZXkgaGF2ZSB1bmlxdWUgbnVtZXJpY2FsIElEcz8pIHRvIHRoZSBjb3JyZXNwb25kaW5nCisrICogY2FwcyBiZWxvbmdpbmcgdG8gdGhhdCBtdXgtZm9ybWF0CisrICoKKysgKiBOb3RlOiB3ZSBkb24ndCBuZWVkIGFueSBhZGRpdGlvbmFsIGluZm8gYmVjYXVzZSB0aGUgY2FwcworKyAqIGlzbid0IHN1cHBvc2VkIHRvIGNvbnRhaW4gYW55IHVzZWZ1bCBpbmZvIGJlc2lkZXMgdGhlCisrICogbWVkaWEgdHlwZSBhbnl3YXkKKysgKi8KKysKKytHc3RDYXBzICoKKytnc3RfZmZtcGVnX2Zvcm1hdGlkX3RvX2NhcHMgKGNvbnN0IGdjaGFyICogZm9ybWF0X25hbWUpCisreworKyAgR3N0Q2FwcyAqY2FwcyA9IE5VTEw7CisrCisrICBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJtcGVnIikpIHsKKysgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKCJ2aWRlby9tcGVnIiwKKysgICAgICAgICJzeXN0ZW1zdHJlYW0iLCBHX1RZUEVfQk9PTEVBTiwgVFJVRSwgTlVMTCk7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAibXBlZ3RzIikpIHsKKysgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKCJ2aWRlby9tcGVndHMiLAorKyAgICAgICAgInN5c3RlbXN0cmVhbSIsIEdfVFlQRV9CT09MRUFOLCBUUlVFLCBOVUxMKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJybSIpKSB7CisrICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfc2ltcGxlICgiYXBwbGljYXRpb24veC1wbi1yZWFsbWVkaWEiLAorKyAgICAgICAgInN5c3RlbXN0cmVhbSIsIEdfVFlQRV9CT09MRUFOLCBUUlVFLCBOVUxMKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJhc2YiKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfbmV3X3NpbXBsZSAoInZpZGVvL3gtbXMtYXNmIiwgTlVMTCk7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAiYXZpIikpIHsKKysgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKCJ2aWRlby94LW1zdmlkZW8iLCBOVUxMKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJ3YXYiKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfbmV3X3NpbXBsZSAoImF1ZGlvL3gtd2F2IiwgTlVMTCk7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAiYXBlIikpIHsKKysgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKCJhcHBsaWNhdGlvbi94LWFwZSIsIE5VTEwpOworKyAgfSBlbHNlIGlmICghc3RyY21wIChmb3JtYXRfbmFtZSwgInN3ZiIpKSB7CisrICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfc2ltcGxlICgiYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2giLCBOVUxMKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJhdSIpKSB7CisrICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfc2ltcGxlICgiYXVkaW8veC1hdSIsIE5VTEwpOworKyAgfSBlbHNlIGlmICghc3RyY21wIChmb3JtYXRfbmFtZSwgImR2IikpIHsKKysgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKCJ2aWRlby94LWR2IiwKKysgICAgICAgICJzeXN0ZW1zdHJlYW0iLCBHX1RZUEVfQk9PTEVBTiwgVFJVRSwgTlVMTCk7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAiNHhtIikpIHsKKysgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKCJ2aWRlby94LTR4bSIsIE5VTEwpOworKyAgfSBlbHNlIGlmICghc3RyY21wIChmb3JtYXRfbmFtZSwgIm1hdHJvc2thIikpIHsKKysgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKCJ2aWRlby94LW1hdHJvc2thIiwgTlVMTCk7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAibXAzIikpIHsKKysgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKCJhcHBsaWNhdGlvbi94LWlkMyIsIE5VTEwpOworKyAgfSBlbHNlIGlmICghc3RyY21wIChmb3JtYXRfbmFtZSwgImZsaWMiKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfbmV3X3NpbXBsZSAoInZpZGVvL3gtZmxpIiwgTlVMTCk7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAiZmx2IikpIHsKKysgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKCJ2aWRlby94LWZsdiIsIE5VTEwpOworKyAgfSBlbHNlIGlmICghc3RyY21wIChmb3JtYXRfbmFtZSwgInR0YSIpKSB7CisrICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfc2ltcGxlICgiYXVkaW8veC10dGFmaWxlIiwgTlVMTCk7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAiYWlmZiIpKSB7CisrICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfc2ltcGxlICgiYXVkaW8veC1haWZmIiwgTlVMTCk7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAibW92X21wNF9tNGFfM2dwXzNnMiIpKSB7CisrICAgIGNhcHMgPQorKyAgICAgICAgZ3N0X2NhcHNfZnJvbV9zdHJpbmcKKysgICAgICAgICgiYXBwbGljYXRpb24veC0zZ3A7IHZpZGVvL3F1aWNrdGltZTsgYXVkaW8veC1tNGEiKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJtb3YiKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfZnJvbV9zdHJpbmcgKCJ2aWRlby9xdWlja3RpbWUsdmFyaWFudD0oc3RyaW5nKWFwcGxlIik7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAibXA0IikpIHsKKysgICAgY2FwcyA9IGdzdF9jYXBzX2Zyb21fc3RyaW5nICgidmlkZW8vcXVpY2t0aW1lLHZhcmlhbnQ9KHN0cmluZylpc28iKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICIzZ3AiKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfZnJvbV9zdHJpbmcgKCJ2aWRlby9xdWlja3RpbWUsdmFyaWFudD0oc3RyaW5nKTNncHAiKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICIzZzIiKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfZnJvbV9zdHJpbmcgKCJ2aWRlby9xdWlja3RpbWUsdmFyaWFudD0oc3RyaW5nKTNnMiIpOworKyAgfSBlbHNlIGlmICghc3RyY21wIChmb3JtYXRfbmFtZSwgInBzcCIpKSB7CisrICAgIGNhcHMgPSBnc3RfY2Fwc19mcm9tX3N0cmluZyAoInZpZGVvL3F1aWNrdGltZSx2YXJpYW50PShzdHJpbmcpcHNwIik7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAiaXBvZCIpKSB7CisrICAgIGNhcHMgPSBnc3RfY2Fwc19mcm9tX3N0cmluZyAoInZpZGVvL3F1aWNrdGltZSx2YXJpYW50PShzdHJpbmcpaXBvZCIpOworKyAgfSBlbHNlIGlmICghc3RyY21wIChmb3JtYXRfbmFtZSwgImFhYyIpKSB7CisrICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfc2ltcGxlICgiYXVkaW8vbXBlZyIsCisrICAgICAgICAibXBlZ3ZlcnNpb24iLCBHX1RZUEVfSU5ULCA0LCBOVUxMKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJnaWYiKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfZnJvbV9zdHJpbmcgKCJpbWFnZS9naWYiKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJvZ2ciKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfZnJvbV9zdHJpbmcgKCJhcHBsaWNhdGlvbi9vZ2ciKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJteGYiKSB8fCAhc3RyY21wIChmb3JtYXRfbmFtZSwgIm14Zl9kMTAiKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfZnJvbV9zdHJpbmcgKCJhcHBsaWNhdGlvbi9teGYiKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJneGYiKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfZnJvbV9zdHJpbmcgKCJhcHBsaWNhdGlvbi9neGYiKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJ5dXY0bXBlZ3BpcGUiKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfbmV3X3NpbXBsZSAoImFwcGxpY2F0aW9uL3gteXV2NG1wZWciLAorKyAgICAgICAgInk0bXZlcnNpb24iLCBHX1RZUEVfSU5ULCAyLCBOVUxMKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJtcGMiKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfZnJvbV9zdHJpbmcgKCJhdWRpby94LW11c2VwYWNrLCBzdHJlYW12ZXJzaW9uID0gKGludCkgNyIpOworKyAgfSBlbHNlIGlmICghc3RyY21wIChmb3JtYXRfbmFtZSwgInZxZiIpKSB7CisrICAgIGNhcHMgPSBnc3RfY2Fwc19mcm9tX3N0cmluZyAoImF1ZGlvL3gtdnFmIik7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAibnN2IikpIHsKKysgICAgY2FwcyA9IGdzdF9jYXBzX2Zyb21fc3RyaW5nICgidmlkZW8veC1uc3YiKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJhbXIiKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfZnJvbV9zdHJpbmcgKCJhdWRpby94LWFtci1uYi1zaCIpOworKyAgfSBlbHNlIGlmICghc3RyY21wIChmb3JtYXRfbmFtZSwgIndlYm0iKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfZnJvbV9zdHJpbmcgKCJ2aWRlby93ZWJtIik7CisrICB9IGVsc2UgeworKyAgICBnY2hhciAqbmFtZTsKKysKKysgICAgR1NUX0xPRyAoIkNvdWxkIG5vdCBjcmVhdGUgc3RyZWFtIGZvcm1hdCBjYXBzIGZvciAlcyIsIGZvcm1hdF9uYW1lKTsKKysgICAgbmFtZSA9IGdfc3RyZHVwX3ByaW50ZiAoImFwcGxpY2F0aW9uL3gtZ3N0X2ZmLSVzIiwgZm9ybWF0X25hbWUpOworKyAgICBjYXBzID0gZ3N0X2NhcHNfbmV3X3NpbXBsZSAobmFtZSwgTlVMTCk7CisrICAgIGdfZnJlZSAobmFtZSk7CisrICB9CisrCisrICByZXR1cm4gY2FwczsKKyt9CisrCisrZ2Jvb2xlYW4KKytnc3RfZmZtcGVnX2Zvcm1hdGlkX2dldF9jb2RlY2lkcyAoY29uc3QgZ2NoYXIgKiBmb3JtYXRfbmFtZSwKKysgICAgZW51bSBDb2RlY0lEICoqIHZpZGVvX2NvZGVjX2xpc3QsIGVudW0gQ29kZWNJRCAqKiBhdWRpb19jb2RlY19saXN0LAorKyAgICBBVk91dHB1dEZvcm1hdCAqIHBsdWdpbikKKyt7CisrICBzdGF0aWMgZW51bSBDb2RlY0lEIHRtcF92bGlzdFtdID0geworKyAgICBDT0RFQ19JRF9OT05FLAorKyAgICBDT0RFQ19JRF9OT05FCisrICB9OworKyAgc3RhdGljIGVudW0gQ29kZWNJRCB0bXBfYWxpc3RbXSA9IHsKKysgICAgQ09ERUNfSURfTk9ORSwKKysgICAgQ09ERUNfSURfTk9ORQorKyAgfTsKKysKKysgIEdTVF9MT0cgKCJmb3JtYXRfbmFtZSA6ICVzIiwgZm9ybWF0X25hbWUpOworKworKyAgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAibXA0IikpIHsKKysgICAgc3RhdGljIGVudW0gQ29kZWNJRCBtcDRfdmlkZW9fbGlzdFtdID0geworKyAgICAgIENPREVDX0lEX01QRUc0LCBDT0RFQ19JRF9IMjY0LAorKyAgICAgIENPREVDX0lEX01KUEVHLAorKyAgICAgIENPREVDX0lEX05PTkUKKysgICAgfTsKKysgICAgc3RhdGljIGVudW0gQ29kZWNJRCBtcDRfYXVkaW9fbGlzdFtdID0geworKyAgICAgIENPREVDX0lEX0FBQywgQ09ERUNfSURfTVAzLAorKyAgICAgIENPREVDX0lEX05PTkUKKysgICAgfTsKKysKKysgICAgKnZpZGVvX2NvZGVjX2xpc3QgPSBtcDRfdmlkZW9fbGlzdDsKKysgICAgKmF1ZGlvX2NvZGVjX2xpc3QgPSBtcDRfYXVkaW9fbGlzdDsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJtcGVnIikpIHsKKysgICAgc3RhdGljIGVudW0gQ29kZWNJRCBtcGVnX3ZpZGVvX2xpc3RbXSA9IHsgQ09ERUNfSURfTVBFRzFWSURFTywKKysgICAgICBDT0RFQ19JRF9NUEVHMlZJREVPLAorKyAgICAgIENPREVDX0lEX0gyNjQsCisrICAgICAgQ09ERUNfSURfTk9ORQorKyAgICB9OworKyAgICBzdGF0aWMgZW51bSBDb2RlY0lEIG1wZWdfYXVkaW9fbGlzdFtdID0geyBDT0RFQ19JRF9NUDEsCisrICAgICAgQ09ERUNfSURfTVAyLAorKyAgICAgIENPREVDX0lEX01QMywKKysgICAgICBDT0RFQ19JRF9OT05FCisrICAgIH07CisrCisrICAgICp2aWRlb19jb2RlY19saXN0ID0gbXBlZ192aWRlb19saXN0OworKyAgICAqYXVkaW9fY29kZWNfbGlzdCA9IG1wZWdfYXVkaW9fbGlzdDsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJkdmQiKSkgeworKyAgICBzdGF0aWMgZW51bSBDb2RlY0lEIG1wZWdfdmlkZW9fbGlzdFtdID0geyBDT0RFQ19JRF9NUEVHMlZJREVPLAorKyAgICAgIENPREVDX0lEX05PTkUKKysgICAgfTsKKysgICAgc3RhdGljIGVudW0gQ29kZWNJRCBtcGVnX2F1ZGlvX2xpc3RbXSA9IHsgQ09ERUNfSURfTVAyLAorKyAgICAgIENPREVDX0lEX0FDMywKKysgICAgICBDT0RFQ19JRF9EVFMsCisrICAgICAgQ09ERUNfSURfUENNX1MxNkJFLAorKyAgICAgIENPREVDX0lEX05PTkUKKysgICAgfTsKKysKKysgICAgKnZpZGVvX2NvZGVjX2xpc3QgPSBtcGVnX3ZpZGVvX2xpc3Q7CisrICAgICphdWRpb19jb2RlY19saXN0ID0gbXBlZ19hdWRpb19saXN0OworKyAgfSBlbHNlIGlmICghc3RyY21wIChmb3JtYXRfbmFtZSwgIm1wZWd0cyIpKSB7CisrICAgIHN0YXRpYyBlbnVtIENvZGVjSUQgbXBlZ3RzX3ZpZGVvX2xpc3RbXSA9IHsgQ09ERUNfSURfTVBFRzFWSURFTywKKysgICAgICBDT0RFQ19JRF9NUEVHMlZJREVPLAorKyAgICAgIENPREVDX0lEX0gyNjQsCisrICAgICAgQ09ERUNfSURfTk9ORQorKyAgICB9OworKyAgICBzdGF0aWMgZW51bSBDb2RlY0lEIG1wZWd0c19hdWRpb19saXN0W10gPSB7IENPREVDX0lEX01QMiwKKysgICAgICBDT0RFQ19JRF9NUDMsCisrICAgICAgQ09ERUNfSURfQUMzLAorKyAgICAgIENPREVDX0lEX0RUUywKKysgICAgICBDT0RFQ19JRF9BQUMsCisrICAgICAgQ09ERUNfSURfTk9ORQorKyAgICB9OworKworKyAgICAqdmlkZW9fY29kZWNfbGlzdCA9IG1wZWd0c192aWRlb19saXN0OworKyAgICAqYXVkaW9fY29kZWNfbGlzdCA9IG1wZWd0c19hdWRpb19saXN0OworKyAgfSBlbHNlIGlmICghc3RyY21wIChmb3JtYXRfbmFtZSwgInZvYiIpKSB7CisrICAgIHN0YXRpYyBlbnVtIENvZGVjSUQgdm9iX3ZpZGVvX2xpc3RbXSA9CisrICAgICAgICB7IENPREVDX0lEX01QRUcyVklERU8sIENPREVDX0lEX05PTkUgfTsKKysgICAgc3RhdGljIGVudW0gQ29kZWNJRCB2b2JfYXVkaW9fbGlzdFtdID0geyBDT0RFQ19JRF9NUDIsIENPREVDX0lEX0FDMywKKysgICAgICBDT0RFQ19JRF9EVFMsIENPREVDX0lEX05PTkUKKysgICAgfTsKKysKKysgICAgKnZpZGVvX2NvZGVjX2xpc3QgPSB2b2JfdmlkZW9fbGlzdDsKKysgICAgKmF1ZGlvX2NvZGVjX2xpc3QgPSB2b2JfYXVkaW9fbGlzdDsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJmbHYiKSkgeworKyAgICBzdGF0aWMgZW51bSBDb2RlY0lEIGZsdl92aWRlb19saXN0W10gPSB7IENPREVDX0lEX0ZMVjEsIENPREVDX0lEX05PTkUgfTsKKysgICAgc3RhdGljIGVudW0gQ29kZWNJRCBmbHZfYXVkaW9fbGlzdFtdID0geyBDT0RFQ19JRF9NUDMsIENPREVDX0lEX05PTkUgfTsKKysKKysgICAgKnZpZGVvX2NvZGVjX2xpc3QgPSBmbHZfdmlkZW9fbGlzdDsKKysgICAgKmF1ZGlvX2NvZGVjX2xpc3QgPSBmbHZfYXVkaW9fbGlzdDsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJhc2YiKSkgeworKyAgICBzdGF0aWMgZW51bSBDb2RlY0lEIGFzZl92aWRlb19saXN0W10gPQorKyAgICAgICAgeyBDT0RFQ19JRF9XTVYxLCBDT0RFQ19JRF9XTVYyLCBDT0RFQ19JRF9NU01QRUc0VjMsIENPREVDX0lEX05PTkUgfTsKKysgICAgc3RhdGljIGVudW0gQ29kZWNJRCBhc2ZfYXVkaW9fbGlzdFtdID0KKysgICAgICAgIHsgQ09ERUNfSURfV01BVjEsIENPREVDX0lEX1dNQVYyLCBDT0RFQ19JRF9NUDMsIENPREVDX0lEX05PTkUgfTsKKysKKysgICAgKnZpZGVvX2NvZGVjX2xpc3QgPSBhc2ZfdmlkZW9fbGlzdDsKKysgICAgKmF1ZGlvX2NvZGVjX2xpc3QgPSBhc2ZfYXVkaW9fbGlzdDsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJkdiIpKSB7CisrICAgIHN0YXRpYyBlbnVtIENvZGVjSUQgZHZfdmlkZW9fbGlzdFtdID0geyBDT0RFQ19JRF9EVlZJREVPLCBDT0RFQ19JRF9OT05FIH07CisrICAgIHN0YXRpYyBlbnVtIENvZGVjSUQgZHZfYXVkaW9fbGlzdFtdID0geyBDT0RFQ19JRF9QQ01fUzE2TEUsIENPREVDX0lEX05PTkUgfTsKKysKKysgICAgKnZpZGVvX2NvZGVjX2xpc3QgPSBkdl92aWRlb19saXN0OworKyAgICAqYXVkaW9fY29kZWNfbGlzdCA9IGR2X2F1ZGlvX2xpc3Q7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAibW92IikpIHsKKysgICAgc3RhdGljIGVudW0gQ29kZWNJRCBtb3ZfdmlkZW9fbGlzdFtdID0geworKyAgICAgIENPREVDX0lEX1NWUTEsIENPREVDX0lEX1NWUTMsIENPREVDX0lEX01QRUc0LAorKyAgICAgIENPREVDX0lEX0gyNjMsIENPREVDX0lEX0gyNjNQLAorKyAgICAgIENPREVDX0lEX0gyNjQsIENPREVDX0lEX0RWVklERU8sCisrICAgICAgQ09ERUNfSURfTUpQRUcsCisrICAgICAgQ09ERUNfSURfTk9ORQorKyAgICB9OworKyAgICBzdGF0aWMgZW51bSBDb2RlY0lEIG1vdl9hdWRpb19saXN0W10gPSB7CisrICAgICAgQ09ERUNfSURfUENNX01VTEFXLCBDT0RFQ19JRF9QQ01fQUxBVywgQ09ERUNfSURfQURQQ01fSU1BX1FULAorKyAgICAgIENPREVDX0lEX01BQ0UzLCBDT0RFQ19JRF9NQUNFNiwgQ09ERUNfSURfQUFDLAorKyAgICAgIENPREVDX0lEX0FNUl9OQiwgQ09ERUNfSURfQU1SX1dCLAorKyAgICAgIENPREVDX0lEX1BDTV9TMTZCRSwgQ09ERUNfSURfUENNX1MxNkxFLAorKyAgICAgIENPREVDX0lEX01QMywgQ09ERUNfSURfTk9ORQorKyAgICB9OworKworKyAgICAqdmlkZW9fY29kZWNfbGlzdCA9IG1vdl92aWRlb19saXN0OworKyAgICAqYXVkaW9fY29kZWNfbGlzdCA9IG1vdl9hdWRpb19saXN0OworKyAgfSBlbHNlIGlmICgoIXN0cmNtcCAoZm9ybWF0X25hbWUsICIzZ3AiKSB8fCAhc3RyY21wIChmb3JtYXRfbmFtZSwgIjNnMiIpKSkgeworKyAgICBzdGF0aWMgZW51bSBDb2RlY0lEIHRncF92aWRlb19saXN0W10gPSB7CisrICAgICAgQ09ERUNfSURfTVBFRzQsIENPREVDX0lEX0gyNjMsIENPREVDX0lEX0gyNjNQLCBDT0RFQ19JRF9IMjY0LAorKyAgICAgIENPREVDX0lEX05PTkUKKysgICAgfTsKKysgICAgc3RhdGljIGVudW0gQ29kZWNJRCB0Z3BfYXVkaW9fbGlzdFtdID0geworKyAgICAgIENPREVDX0lEX0FNUl9OQiwgQ09ERUNfSURfQU1SX1dCLAorKyAgICAgIENPREVDX0lEX0FBQywKKysgICAgICBDT0RFQ19JRF9OT05FCisrICAgIH07CisrCisrICAgICp2aWRlb19jb2RlY19saXN0ID0gdGdwX3ZpZGVvX2xpc3Q7CisrICAgICphdWRpb19jb2RlY19saXN0ID0gdGdwX2F1ZGlvX2xpc3Q7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAibW1mIikpIHsKKysgICAgc3RhdGljIGVudW0gQ29kZWNJRCBtbWZfYXVkaW9fbGlzdFtdID0geworKyAgICAgIENPREVDX0lEX0FEUENNX1lBTUFIQSwgQ09ERUNfSURfTk9ORQorKyAgICB9OworKyAgICAqdmlkZW9fY29kZWNfbGlzdCA9IE5VTEw7CisrICAgICphdWRpb19jb2RlY19saXN0ID0gbW1mX2F1ZGlvX2xpc3Q7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAiYW1yIikpIHsKKysgICAgc3RhdGljIGVudW0gQ29kZWNJRCBhbXJfYXVkaW9fbGlzdFtdID0geworKyAgICAgIENPREVDX0lEX0FNUl9OQiwgQ09ERUNfSURfQU1SX1dCLAorKyAgICAgIENPREVDX0lEX05PTkUKKysgICAgfTsKKysgICAgKnZpZGVvX2NvZGVjX2xpc3QgPSBOVUxMOworKyAgICAqYXVkaW9fY29kZWNfbGlzdCA9IGFtcl9hdWRpb19saXN0OworKyAgfSBlbHNlIGlmICghc3RyY21wIChmb3JtYXRfbmFtZSwgImdpZiIpKSB7CisrICAgIHN0YXRpYyBlbnVtIENvZGVjSUQgZ2lmX2ltYWdlX2xpc3RbXSA9IHsKKysgICAgICBDT0RFQ19JRF9SQVdWSURFTywgQ09ERUNfSURfTk9ORQorKyAgICB9OworKyAgICAqdmlkZW9fY29kZWNfbGlzdCA9IGdpZl9pbWFnZV9saXN0OworKyAgICAqYXVkaW9fY29kZWNfbGlzdCA9IE5VTEw7CisrICB9IGVsc2UgaWYgKChwbHVnaW4tPmF1ZGlvX2NvZGVjICE9IENPREVDX0lEX05PTkUpIHx8CisrICAgICAgKHBsdWdpbi0+dmlkZW9fY29kZWMgIT0gQ09ERUNfSURfTk9ORSkpIHsKKysgICAgdG1wX3ZsaXN0WzBdID0gcGx1Z2luLT52aWRlb19jb2RlYzsKKysgICAgdG1wX2FsaXN0WzBdID0gcGx1Z2luLT5hdWRpb19jb2RlYzsKKysKKysgICAgKnZpZGVvX2NvZGVjX2xpc3QgPSB0bXBfdmxpc3Q7CisrICAgICphdWRpb19jb2RlY19saXN0ID0gdG1wX2FsaXN0OworKyAgfSBlbHNlIHsKKysgICAgR1NUX0xPRyAoIkZvcm1hdCAlcyBub3QgZm91bmQiLCBmb3JtYXRfbmFtZSk7CisrICAgIHJldHVybiBGQUxTRTsKKysgIH0KKysKKysgIHJldHVybiBUUlVFOworK30KKysKKysvKiBDb252ZXJ0IGEgR3N0Q2FwcyB0byBhIEZGTVBFRyBjb2RlYyBJRC4gU2l6ZSBldCBhbGwKKysgKiBhcmUgb21pdHRlZCwgdGhhdCBjYW4gYmUgcXVlcmllZCBieSB0aGUgdXNlciBpdHNlbGYsCisrICogd2UncmUgbm90IGVhdGluZyB0aGUgR3N0Q2FwcyBvciBhbnl0aGluZworKyAqIEEgcG9pbnRlciB0byBhbiBhbGxvY2F0ZWQgY29udGV4dCBpcyBhbHNvIG5lZWRlZCBmb3IKKysgKiBvcHRpb25hbCBleHRyYSBpbmZvCisrICovCisrCisrZW51bSBDb2RlY0lECisrZ3N0X2ZmbXBlZ19jYXBzX3RvX2NvZGVjaWQgKGNvbnN0IEdzdENhcHMgKiBjYXBzLCBBVkNvZGVjQ29udGV4dCAqIGNvbnRleHQpCisreworKyAgZW51bSBDb2RlY0lEIGlkID0gQ09ERUNfSURfTk9ORTsKKysgIGNvbnN0IGdjaGFyICptaW1ldHlwZTsKKysgIGNvbnN0IEdzdFN0cnVjdHVyZSAqc3RydWN0dXJlOworKyAgZ2Jvb2xlYW4gdmlkZW8gPSBGQUxTRSwgYXVkaW8gPSBGQUxTRTsgICAgICAgIC8qIHdlIHdhbnQgdG8gYmUgc3VyZSEgKi8KKysKKysgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChjYXBzICE9IE5VTEwsIENPREVDX0lEX05PTkUpOworKyAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKGdzdF9jYXBzX2dldF9zaXplIChjYXBzKSA9PSAxLCBDT0RFQ19JRF9OT05FKTsKKysgIHN0cnVjdHVyZSA9IGdzdF9jYXBzX2dldF9zdHJ1Y3R1cmUgKGNhcHMsIDApOworKworKyAgbWltZXR5cGUgPSBnc3Rfc3RydWN0dXJlX2dldF9uYW1lIChzdHJ1Y3R1cmUpOworKworKyAgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC1yYXctcmdiIikgfHwKKysgICAgICAhc3RyY21wIChtaW1ldHlwZSwgInZpZGVvL3gtcmF3LXl1diIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfUkFXVklERU87CisrICAgIHZpZGVvID0gVFJVRTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJhdWRpby94LXJhdy1pbnQiKSkgeworKyAgICBnaW50IGRlcHRoLCB3aWR0aCwgZW5kaWFubmVzczsKKysgICAgZ2Jvb2xlYW4gc2lnbmVkbmVzczsKKysKKysgICAgaWYgKGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAiZW5kaWFubmVzcyIsICZlbmRpYW5uZXNzKSAmJgorKyAgICAgICAgZ3N0X3N0cnVjdHVyZV9nZXRfYm9vbGVhbiAoc3RydWN0dXJlLCAic2lnbmVkIiwgJnNpZ25lZG5lc3MpICYmCisrICAgICAgICBnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgIndpZHRoIiwgJndpZHRoKSAmJgorKyAgICAgICAgZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHJ1Y3R1cmUsICJkZXB0aCIsICZkZXB0aCkgJiYgZGVwdGggPT0gd2lkdGgpIHsKKysgICAgICBzd2l0Y2ggKGRlcHRoKSB7CisrICAgICAgICBjYXNlIDg6CisrICAgICAgICAgIGlmIChzaWduZWRuZXNzKSB7CisrICAgICAgICAgICAgaWQgPSBDT0RFQ19JRF9QQ01fUzg7CisrICAgICAgICAgIH0gZWxzZSB7CisrICAgICAgICAgICAgaWQgPSBDT0RFQ19JRF9QQ01fVTg7CisrICAgICAgICAgIH0KKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIDE2OgorKyAgICAgICAgICBzd2l0Y2ggKGVuZGlhbm5lc3MpIHsKKysgICAgICAgICAgICBjYXNlIEdfQklHX0VORElBTjoKKysgICAgICAgICAgICAgIGlmIChzaWduZWRuZXNzKSB7CisrICAgICAgICAgICAgICAgIGlkID0gQ09ERUNfSURfUENNX1MxNkJFOworKyAgICAgICAgICAgICAgfSBlbHNlIHsKKysgICAgICAgICAgICAgICAgaWQgPSBDT0RFQ19JRF9QQ01fVTE2QkU7CisrICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgICBjYXNlIEdfTElUVExFX0VORElBTjoKKysgICAgICAgICAgICAgIGlmIChzaWduZWRuZXNzKSB7CisrICAgICAgICAgICAgICAgIGlkID0gQ09ERUNfSURfUENNX1MxNkxFOworKyAgICAgICAgICAgICAgfSBlbHNlIHsKKysgICAgICAgICAgICAgICAgaWQgPSBDT0RFQ19JRF9QQ01fVTE2TEU7CisrICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgfQorKyAgICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgICAgaWYgKGlkICE9IENPREVDX0lEX05PTkUpCisrICAgICAgICBhdWRpbyA9IFRSVUU7CisrICAgIH0KKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJhdWRpby94LW11bGF3IikpIHsKKysgICAgaWQgPSBDT0RFQ19JRF9QQ01fTVVMQVc7CisrICAgIGF1ZGlvID0gVFJVRTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJhdWRpby94LWFsYXciKSkgeworKyAgICBpZCA9IENPREVDX0lEX1BDTV9BTEFXOworKyAgICBhdWRpbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC1kdiIpKSB7CisrICAgIGdib29sZWFuIHN5c19zdHJtOworKworKyAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXRfYm9vbGVhbiAoc3RydWN0dXJlLCAic3lzdGVtc3RyZWFtIiwgJnN5c19zdHJtKSAmJgorKyAgICAgICAgIXN5c19zdHJtKSB7CisrICAgICAgaWQgPSBDT0RFQ19JRF9EVlZJREVPOworKyAgICAgIHZpZGVvID0gVFJVRTsKKysgICAgfQorKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgImF1ZGlvL3gtZHYiKSkgeyAgICAgICAgLyogPz8/ICovCisrICAgIGlkID0gQ09ERUNfSURfRFZBVURJTzsKKysgICAgYXVkaW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgInZpZGVvL3gtaDI2MyIpKSB7CisrICAgIGNvbnN0IGdjaGFyICpoMjYzdmVyc2lvbiA9CisrICAgICAgICBnc3Rfc3RydWN0dXJlX2dldF9zdHJpbmcgKHN0cnVjdHVyZSwgImgyNjN2ZXJzaW9uIik7CisrICAgIGlmIChoMjYzdmVyc2lvbiAmJiAhc3RyY21wIChoMjYzdmVyc2lvbiwgImgyNjNwIikpCisrICAgICAgaWQgPSBDT0RFQ19JRF9IMjYzUDsKKysgICAgZWxzZQorKyAgICAgIGlkID0gQ09ERUNfSURfSDI2MzsKKysgICAgdmlkZW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgInZpZGVvL3gtaW50ZWwtaDI2MyIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfSDI2M0k7CisrICAgIHZpZGVvID0gVFJVRTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJ2aWRlby94LWgyNjEiKSkgeworKyAgICBpZCA9IENPREVDX0lEX0gyNjE7CisrICAgIHZpZGVvID0gVFJVRTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJ2aWRlby9tcGVnIikpIHsKKysgICAgZ2Jvb2xlYW4gc3lzX3N0cm07CisrICAgIGdpbnQgbXBlZ3ZlcnNpb247CisrCisrICAgIGlmIChnc3Rfc3RydWN0dXJlX2dldF9ib29sZWFuIChzdHJ1Y3R1cmUsICJzeXN0ZW1zdHJlYW0iLCAmc3lzX3N0cm0pICYmCisrICAgICAgICBnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgIm1wZWd2ZXJzaW9uIiwgJm1wZWd2ZXJzaW9uKSAmJgorKyAgICAgICAgIXN5c19zdHJtKSB7CisrICAgICAgc3dpdGNoIChtcGVndmVyc2lvbikgeworKyAgICAgICAgY2FzZSAxOgorKyAgICAgICAgICBpZCA9IENPREVDX0lEX01QRUcxVklERU87CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSAyOgorKyAgICAgICAgICBpZCA9IENPREVDX0lEX01QRUcyVklERU87CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSA0OgorKyAgICAgICAgICBpZCA9IENPREVDX0lEX01QRUc0OworKyAgICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgIH0KKysgICAgaWYgKGlkICE9IENPREVDX0lEX05PTkUpCisrICAgICAgdmlkZW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgImltYWdlL2pwZWciKSkgeworKyAgICBpZCA9IENPREVDX0lEX01KUEVHOyAgICAgICAgLyogQS4uLiBCLi4uICovCisrICAgIHZpZGVvID0gVFJVRTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJ2aWRlby94LWpwZWctYiIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfTUpQRUdCOworKyAgICB2aWRlbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC13bXYiKSkgeworKyAgICBnaW50IHdtdnZlcnNpb24gPSAwOworKworKyAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHJ1Y3R1cmUsICJ3bXZ2ZXJzaW9uIiwgJndtdnZlcnNpb24pKSB7CisrICAgICAgc3dpdGNoICh3bXZ2ZXJzaW9uKSB7CisrICAgICAgICBjYXNlIDE6CisrICAgICAgICAgIGlkID0gQ09ERUNfSURfV01WMTsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIDI6CisrICAgICAgICAgIGlkID0gQ09ERUNfSURfV01WMjsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIDM6CisrICAgICAgICB7CisrICAgICAgICAgIGd1aW50MzIgZm91cmNjOworKworKyAgICAgICAgICAvKiBXTVYzIHVubGVzcyB0aGUgZm91cmNjIGV4aXN0cyBhbmQgc2F5cyBvdGhlcndpc2UgKi8KKysgICAgICAgICAgaWQgPSBDT0RFQ19JRF9XTVYzOworKworKyAgICAgICAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXRfZm91cmNjIChzdHJ1Y3R1cmUsICJmb3JtYXQiLCAmZm91cmNjKSkgeworKyAgICAgICAgICAgIGlmICgoZm91cmNjID09IEdTVF9NQUtFX0ZPVVJDQyAoJ1cnLCAnVicsICdDJywgJzEnKSkgfHwKKysgICAgICAgICAgICAgICAgKGZvdXJjYyA9PSBHU1RfTUFLRV9GT1VSQ0MgKCdXJywgJ00nLCAnVicsICdBJykpKSB7CisrICAgICAgICAgICAgICBpZCA9IENPREVDX0lEX1ZDMTsKKysgICAgICAgICAgICB9CisrICAgICAgICAgIH0KKysgICAgICAgIH0KKysgICAgICAgICAgYnJlYWs7CisrICAgICAgfQorKyAgICB9CisrICAgIGlmIChpZCAhPSBDT0RFQ19JRF9OT05FKQorKyAgICAgIHZpZGVvID0gVFJVRTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJhdWRpby94LXZvcmJpcyIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfVk9SQklTOworKyAgICBhdWRpbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAiYXVkaW8veC1xZG0yIikpIHsKKysgICAgaWQgPSBDT0RFQ19JRF9RRE0yOworKyAgICBhdWRpbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAiYXVkaW8vbXBlZyIpKSB7CisrICAgIGdpbnQgbGF5ZXIgPSAwOworKyAgICBnaW50IG1wZWd2ZXJzaW9uID0gMDsKKysKKysgICAgaWYgKGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAibXBlZ3ZlcnNpb24iLCAmbXBlZ3ZlcnNpb24pKSB7CisrICAgICAgc3dpdGNoIChtcGVndmVyc2lvbikgeworKyAgICAgICAgY2FzZSAyOiAgICAgICAgICAgICAgICAvKiBmZm1wZWcgdXNlcyBmYWFkIGZvciBib3RoLi4uICovCisrICAgICAgICBjYXNlIDQ6CisrICAgICAgICAgIGlkID0gQ09ERUNfSURfQUFDOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgMToKKysgICAgICAgICAgaWYgKGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAibGF5ZXIiLCAmbGF5ZXIpKSB7CisrICAgICAgICAgICAgc3dpdGNoIChsYXllcikgeworKyAgICAgICAgICAgICAgY2FzZSAxOgorKyAgICAgICAgICAgICAgICBpZCA9IENPREVDX0lEX01QMTsKKysgICAgICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgICAgICBjYXNlIDI6CisrICAgICAgICAgICAgICAgIGlkID0gQ09ERUNfSURfTVAyOworKyAgICAgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgICAgIGNhc2UgMzoKKysgICAgICAgICAgICAgICAgaWQgPSBDT0RFQ19JRF9NUDM7CisrICAgICAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICAgIH0KKysgICAgICAgICAgfQorKyAgICAgIH0KKysgICAgfQorKyAgICBpZiAoaWQgIT0gQ09ERUNfSURfTk9ORSkKKysgICAgICBhdWRpbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAiYXVkaW8veC1tdXNlcGFjayIpKSB7CisrICAgIGdpbnQgc3RyZWFtdmVyc2lvbiA9IC0xOworKworKyAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHJ1Y3R1cmUsICJzdHJlYW12ZXJzaW9uIiwgJnN0cmVhbXZlcnNpb24pKSB7CisrICAgICAgaWYgKHN0cmVhbXZlcnNpb24gPT0gNykKKysgICAgICAgIGlkID0gQ09ERUNfSURfTVVTRVBBQ0s3OworKyAgICB9IGVsc2UgeworKyAgICAgIGlkID0gQ09ERUNfSURfTVVTRVBBQ0s3OworKyAgICB9CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAiYXVkaW8veC13bWEiKSkgeworKyAgICBnaW50IHdtYXZlcnNpb24gPSAwOworKworKyAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHJ1Y3R1cmUsICJ3bWF2ZXJzaW9uIiwgJndtYXZlcnNpb24pKSB7CisrICAgICAgc3dpdGNoICh3bWF2ZXJzaW9uKSB7CisrICAgICAgICBjYXNlIDE6CisrICAgICAgICAgIGlkID0gQ09ERUNfSURfV01BVjE7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSAyOgorKyAgICAgICAgICBpZCA9IENPREVDX0lEX1dNQVYyOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgMzoKKysgICAgICAgICAgaWQgPSBDT0RFQ19JRF9XTUFQUk87CisrICAgICAgICAgIGJyZWFrOworKyAgICAgIH0KKysgICAgfQorKyAgICBpZiAoaWQgIT0gQ09ERUNfSURfTk9ORSkKKysgICAgICBhdWRpbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAiYXVkaW8veC13bXMiKSkgeworKyAgICBpZCA9IENPREVDX0lEX1dNQVZPSUNFOworKyAgICBhdWRpbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAiYXVkaW8veC1hYzMiKSkgeworKyAgICBpZCA9IENPREVDX0lEX0FDMzsKKysgICAgYXVkaW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgImF1ZGlvL3gtZWFjMyIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfRUFDMzsKKysgICAgYXVkaW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgImF1ZGlvL3gtdm5kLnNvbnkuYXRyYWMzIikgfHwKKysgICAgICAhc3RyY21wIChtaW1ldHlwZSwgImF1ZGlvL2F0cmFjMyIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfQVRSQUMzOworKyAgICBhdWRpbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAiYXVkaW8veC1kdHMiKSkgeworKyAgICBpZCA9IENPREVDX0lEX0RUUzsKKysgICAgYXVkaW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgImFwcGxpY2F0aW9uL3gtYXBlIikpIHsKKysgICAgaWQgPSBDT0RFQ19JRF9BUEU7CisrICAgIGF1ZGlvID0gVFJVRTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJ2aWRlby94LW1zbXBlZyIpKSB7CisrICAgIGdpbnQgbXNtcGVndmVyc2lvbiA9IDA7CisrCisrICAgIGlmIChnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgIm1zbXBlZ3ZlcnNpb24iLCAmbXNtcGVndmVyc2lvbikpIHsKKysgICAgICBzd2l0Y2ggKG1zbXBlZ3ZlcnNpb24pIHsKKysgICAgICAgIGNhc2UgNDE6CisrICAgICAgICAgIGlkID0gQ09ERUNfSURfTVNNUEVHNFYxOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgNDI6CisrICAgICAgICAgIGlkID0gQ09ERUNfSURfTVNNUEVHNFYyOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgNDM6CisrICAgICAgICAgIGlkID0gQ09ERUNfSURfTVNNUEVHNFYzOworKyAgICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgIH0KKysgICAgaWYgKGlkICE9IENPREVDX0lEX05PTkUpCisrICAgICAgdmlkZW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgInZpZGVvL3gtc3ZxIikpIHsKKysgICAgZ2ludCBzdnF2ZXJzaW9uID0gMDsKKysKKysgICAgaWYgKGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAic3ZxdmVyc2lvbiIsICZzdnF2ZXJzaW9uKSkgeworKyAgICAgIHN3aXRjaCAoc3ZxdmVyc2lvbikgeworKyAgICAgICAgY2FzZSAxOgorKyAgICAgICAgICBpZCA9IENPREVDX0lEX1NWUTE7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSAzOgorKyAgICAgICAgICBpZCA9IENPREVDX0lEX1NWUTM7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgIH0KKysgICAgfQorKyAgICBpZiAoaWQgIT0gQ09ERUNfSURfTk9ORSkKKysgICAgICB2aWRlbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC1odWZmeXV2IikpIHsKKysgICAgaWQgPSBDT0RFQ19JRF9IVUZGWVVWOworKyAgICB2aWRlbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAiYXVkaW8veC1tYWNlIikpIHsKKysgICAgZ2ludCBtYWNldmVyc2lvbiA9IDA7CisrCisrICAgIGlmIChnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgIm1hY2V2ZXJzaW9uIiwgJm1hY2V2ZXJzaW9uKSkgeworKyAgICAgIHN3aXRjaCAobWFjZXZlcnNpb24pIHsKKysgICAgICAgIGNhc2UgMzoKKysgICAgICAgICAgaWQgPSBDT0RFQ19JRF9NQUNFMzsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIDY6CisrICAgICAgICAgIGlkID0gQ09ERUNfSURfTUFDRTY7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgIH0KKysgICAgfQorKyAgICBpZiAoaWQgIT0gQ09ERUNfSURfTk9ORSkKKysgICAgICBhdWRpbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC10aGVvcmEiKSkgeworKyAgICBpZCA9IENPREVDX0lEX1RIRU9SQTsKKysgICAgdmlkZW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgInZpZGVvL3gtdnAzIikpIHsKKysgICAgaWQgPSBDT0RFQ19JRF9WUDM7CisrICAgIHZpZGVvID0gVFJVRTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJ2aWRlby94LXZwNSIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfVlA1OworKyAgICB2aWRlbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC12cDYiKSkgeworKyAgICBpZCA9IENPREVDX0lEX1ZQNjsKKysgICAgdmlkZW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgInZpZGVvL3gtdnA2LWZsYXNoIikpIHsKKysgICAgaWQgPSBDT0RFQ19JRF9WUDZGOworKyAgICB2aWRlbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC12cDYtYWxwaGEiKSkgeworKyAgICBpZCA9IENPREVDX0lEX1ZQNkE7CisrICAgIHZpZGVvID0gVFJVRTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJ2aWRlby94LXZwOCIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfVlA4OworKyAgICB2aWRlbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC1mbGFzaC1zY3JlZW4iKSkgeworKyAgICBpZCA9IENPREVDX0lEX0ZMQVNIU1Y7CisrICAgIHZpZGVvID0gVFJVRTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJ2aWRlby94LWluZGVvIikpIHsKKysgICAgZ2ludCBpbmRlb3ZlcnNpb24gPSAwOworKworKyAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHJ1Y3R1cmUsICJpbmRlb3ZlcnNpb24iLCAmaW5kZW92ZXJzaW9uKSkgeworKyAgICAgIHN3aXRjaCAoaW5kZW92ZXJzaW9uKSB7CisrICAgICAgICBjYXNlIDU6CisrICAgICAgICAgIGlkID0gQ09ERUNfSURfSU5ERU81OworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgMzoKKysgICAgICAgICAgaWQgPSBDT0RFQ19JRF9JTkRFTzM7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSAyOgorKyAgICAgICAgICBpZCA9IENPREVDX0lEX0lOREVPMjsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgfQorKyAgICAgIGlmIChpZCAhPSBDT0RFQ19JRF9OT05FKQorKyAgICAgICAgdmlkZW8gPSBUUlVFOworKyAgICB9CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC1kaXZ4IikpIHsKKysgICAgZ2ludCBkaXZ4dmVyc2lvbiA9IDA7CisrCisrICAgIGlmIChnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgImRpdnh2ZXJzaW9uIiwgJmRpdnh2ZXJzaW9uKSkgeworKyAgICAgIHN3aXRjaCAoZGl2eHZlcnNpb24pIHsKKysgICAgICAgIGNhc2UgMzoKKysgICAgICAgICAgaWQgPSBDT0RFQ19JRF9NU01QRUc0VjM7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSA0OgorKyAgICAgICAgY2FzZSA1OgorKyAgICAgICAgICBpZCA9IENPREVDX0lEX01QRUc0OworKyAgICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgIH0KKysgICAgaWYgKGlkICE9IENPREVDX0lEX05PTkUpCisrICAgICAgdmlkZW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgInZpZGVvL3gtM2l2eCIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfTVBFRzQ7CisrICAgIHZpZGVvID0gVFJVRTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJ2aWRlby94LXh2aWQiKSkgeworKyAgICBpZCA9IENPREVDX0lEX01QRUc0OworKyAgICB2aWRlbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC1mZnYiKSkgeworKyAgICBnaW50IGZmdnZlcnNpb24gPSAwOworKworKyAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHJ1Y3R1cmUsICJmZnZ2ZXJzaW9uIiwgJmZmdnZlcnNpb24pICYmCisrICAgICAgICBmZnZ2ZXJzaW9uID09IDEpIHsKKysgICAgICBpZCA9IENPREVDX0lEX0ZGVjE7CisrICAgICAgdmlkZW8gPSBUUlVFOworKyAgICB9CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAiYXVkaW8veC1hZHBjbSIpKSB7CisrICAgIGNvbnN0IGdjaGFyICpsYXlvdXQ7CisrCisrICAgIGxheW91dCA9IGdzdF9zdHJ1Y3R1cmVfZ2V0X3N0cmluZyAoc3RydWN0dXJlLCAibGF5b3V0Iik7CisrICAgIGlmIChsYXlvdXQgPT0gTlVMTCkgeworKyAgICAgIC8qIGJyZWFrICovCisrICAgIH0gZWxzZSBpZiAoIXN0cmNtcCAobGF5b3V0LCAicXVpY2t0aW1lIikpIHsKKysgICAgICBpZCA9IENPREVDX0lEX0FEUENNX0lNQV9RVDsKKysgICAgfSBlbHNlIGlmICghc3RyY21wIChsYXlvdXQsICJtaWNyb3NvZnQiKSkgeworKyAgICAgIGlkID0gQ09ERUNfSURfQURQQ01fTVM7CisrICAgIH0gZWxzZSBpZiAoIXN0cmNtcCAobGF5b3V0LCAiZHZpIikpIHsKKysgICAgICBpZCA9IENPREVDX0lEX0FEUENNX0lNQV9XQVY7CisrICAgIH0gZWxzZSBpZiAoIXN0cmNtcCAobGF5b3V0LCAiNHhtIikpIHsKKysgICAgICBpZCA9IENPREVDX0lEX0FEUENNXzRYTTsKKysgICAgfSBlbHNlIGlmICghc3RyY21wIChsYXlvdXQsICJzbWpwZWciKSkgeworKyAgICAgIGlkID0gQ09ERUNfSURfQURQQ01fSU1BX1NNSlBFRzsKKysgICAgfSBlbHNlIGlmICghc3RyY21wIChsYXlvdXQsICJkazMiKSkgeworKyAgICAgIGlkID0gQ09ERUNfSURfQURQQ01fSU1BX0RLMzsKKysgICAgfSBlbHNlIGlmICghc3RyY21wIChsYXlvdXQsICJkazQiKSkgeworKyAgICAgIGlkID0gQ09ERUNfSURfQURQQ01fSU1BX0RLNDsKKysgICAgfSBlbHNlIGlmICghc3RyY21wIChsYXlvdXQsICJ3ZXN0d29vZCIpKSB7CisrICAgICAgaWQgPSBDT0RFQ19JRF9BRFBDTV9JTUFfV1M7CisrICAgIH0gZWxzZSBpZiAoIXN0cmNtcCAobGF5b3V0LCAiaXNzIikpIHsKKysgICAgICBpZCA9IENPREVDX0lEX0FEUENNX0lNQV9JU1M7CisrICAgIH0gZWxzZSBpZiAoIXN0cmNtcCAobGF5b3V0LCAieGEiKSkgeworKyAgICAgIGlkID0gQ09ERUNfSURfQURQQ01fWEE7CisrICAgIH0gZWxzZSBpZiAoIXN0cmNtcCAobGF5b3V0LCAiYWR4IikpIHsKKysgICAgICBpZCA9IENPREVDX0lEX0FEUENNX0FEWDsKKysgICAgfSBlbHNlIGlmICghc3RyY21wIChsYXlvdXQsICJlYSIpKSB7CisrICAgICAgaWQgPSBDT0RFQ19JRF9BRFBDTV9FQTsKKysgICAgfSBlbHNlIGlmICghc3RyY21wIChsYXlvdXQsICJnNzI2IikpIHsKKysgICAgICBpZCA9IENPREVDX0lEX0FEUENNX0c3MjY7CisrICAgIH0gZWxzZSBpZiAoIXN0cmNtcCAobGF5b3V0LCAiZzcyMSIpKSB7CisrICAgICAgaWQgPSBDT0RFQ19JRF9BRFBDTV9HNzI2OworKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAgKGxheW91dCwgImN0IikpIHsKKysgICAgICBpZCA9IENPREVDX0lEX0FEUENNX0NUOworKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAgKGxheW91dCwgInN3ZiIpKSB7CisrICAgICAgaWQgPSBDT0RFQ19JRF9BRFBDTV9TV0Y7CisrICAgIH0gZWxzZSBpZiAoIXN0cmNtcCAobGF5b3V0LCAieWFtYWhhIikpIHsKKysgICAgICBpZCA9IENPREVDX0lEX0FEUENNX1lBTUFIQTsKKysgICAgfSBlbHNlIGlmICghc3RyY21wIChsYXlvdXQsICJzYnBybzIiKSkgeworKyAgICAgIGlkID0gQ09ERUNfSURfQURQQ01fU0JQUk9fMjsKKysgICAgfSBlbHNlIGlmICghc3RyY21wIChsYXlvdXQsICJzYnBybzMiKSkgeworKyAgICAgIGlkID0gQ09ERUNfSURfQURQQ01fU0JQUk9fMzsKKysgICAgfSBlbHNlIGlmICghc3RyY21wIChsYXlvdXQsICJzYnBybzQiKSkgeworKyAgICAgIGlkID0gQ09ERUNfSURfQURQQ01fU0JQUk9fNDsKKysgICAgfQorKyAgICBpZiAoaWQgIT0gQ09ERUNfSURfTk9ORSkKKysgICAgICBhdWRpbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC00eG0iKSkgeworKyAgICBpZCA9IENPREVDX0lEXzRYTTsKKysgICAgdmlkZW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgImF1ZGlvL3gtZHBjbSIpKSB7CisrICAgIGNvbnN0IGdjaGFyICpsYXlvdXQ7CisrCisrICAgIGxheW91dCA9IGdzdF9zdHJ1Y3R1cmVfZ2V0X3N0cmluZyAoc3RydWN0dXJlLCAibGF5b3V0Iik7CisrICAgIGlmICghbGF5b3V0KSB7CisrICAgICAgLyogLi4gKi8KKysgICAgfSBlbHNlIGlmICghc3RyY21wIChsYXlvdXQsICJyb3EiKSkgeworKyAgICAgIGlkID0gQ09ERUNfSURfUk9RX0RQQ007CisrICAgIH0gZWxzZSBpZiAoIXN0cmNtcCAobGF5b3V0LCAiaW50ZXJwbGF5IikpIHsKKysgICAgICBpZCA9IENPREVDX0lEX0lOVEVSUExBWV9EUENNOworKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAgKGxheW91dCwgInhhbiIpKSB7CisrICAgICAgaWQgPSBDT0RFQ19JRF9YQU5fRFBDTTsKKysgICAgfSBlbHNlIGlmICghc3RyY21wIChsYXlvdXQsICJzb2wiKSkgeworKyAgICAgIGlkID0gQ09ERUNfSURfU09MX0RQQ007CisrICAgIH0KKysgICAgaWYgKGlkICE9IENPREVDX0lEX05PTkUpCisrICAgICAgYXVkaW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgImF1ZGlvL3gtZmxhYyIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfRkxBQzsKKysgICAgYXVkaW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgImF1ZGlvL3gtc2hvcnRlbiIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfU0hPUlRFTjsKKysgICAgYXVkaW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgImF1ZGlvL3gtYWxhYyIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfQUxBQzsKKysgICAgYXVkaW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgInZpZGVvL3gtY2luZXBhayIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfQ0lORVBBSzsKKysgICAgdmlkZW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgInZpZGVvL3gtcG4tcmVhbHZpZGVvIikpIHsKKysgICAgZ2ludCBybXZlcnNpb247CisrCisrICAgIGlmIChnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgInJtdmVyc2lvbiIsICZybXZlcnNpb24pKSB7CisrICAgICAgc3dpdGNoIChybXZlcnNpb24pIHsKKysgICAgICAgIGNhc2UgMToKKysgICAgICAgICAgaWQgPSBDT0RFQ19JRF9SVjEwOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgMjoKKysgICAgICAgICAgaWQgPSBDT0RFQ19JRF9SVjIwOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgMzoKKysgICAgICAgICAgaWQgPSBDT0RFQ19JRF9SVjMwOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgNDoKKysgICAgICAgICAgaWQgPSBDT0RFQ19JRF9SVjQwOworKyAgICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgIH0KKysgICAgaWYgKGlkICE9IENPREVDX0lEX05PTkUpCisrICAgICAgdmlkZW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgImF1ZGlvL3gtc2lwcm8iKSkgeworKyAgICBpZCA9IENPREVDX0lEX1NJUFI7CisrICAgIGF1ZGlvID0gVFJVRTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJhdWRpby94LXBuLXJlYWxhdWRpbyIpKSB7CisrICAgIGdpbnQgcmF2ZXJzaW9uOworKworKyAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHJ1Y3R1cmUsICJyYXZlcnNpb24iLCAmcmF2ZXJzaW9uKSkgeworKyAgICAgIHN3aXRjaCAocmF2ZXJzaW9uKSB7CisrICAgICAgICBjYXNlIDE6CisrICAgICAgICAgIGlkID0gQ09ERUNfSURfUkFfMTQ0OworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgMjoKKysgICAgICAgICAgaWQgPSBDT0RFQ19JRF9SQV8yODg7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSA4OgorKyAgICAgICAgICBpZCA9IENPREVDX0lEX0NPT0s7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgIH0KKysgICAgfQorKyAgICBpZiAoaWQgIT0gQ09ERUNfSURfTk9ORSkKKysgICAgICBhdWRpbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC1ybGUiKSkgeworKyAgICBjb25zdCBnY2hhciAqbGF5b3V0OworKworKyAgICBpZiAoKGxheW91dCA9IGdzdF9zdHJ1Y3R1cmVfZ2V0X3N0cmluZyAoc3RydWN0dXJlLCAibGF5b3V0IikpKSB7CisrICAgICAgaWYgKCFzdHJjbXAgKGxheW91dCwgIm1pY3Jvc29mdCIpKSB7CisrICAgICAgICBpZCA9IENPREVDX0lEX01TUkxFOworKyAgICAgICAgdmlkZW8gPSBUUlVFOworKyAgICAgIH0KKysgICAgfQorKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgInZpZGVvL3gteGFuIikpIHsKKysgICAgZ2ludCB3Y3ZlcnNpb24gPSAwOworKworKyAgICBpZiAoKGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAid2N2ZXJzaW9uIiwgJndjdmVyc2lvbikpKSB7CisrICAgICAgc3dpdGNoICh3Y3ZlcnNpb24pIHsKKysgICAgICAgIGNhc2UgMzoKKysgICAgICAgICAgaWQgPSBDT0RFQ19JRF9YQU5fV0MzOworKyAgICAgICAgICB2aWRlbyA9IFRSVUU7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSA0OgorKyAgICAgICAgICBpZCA9IENPREVDX0lEX1hBTl9XQzQ7CisrICAgICAgICAgIHZpZGVvID0gVFJVRTsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBkZWZhdWx0OgorKyAgICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgIH0KKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJhdWRpby9BTVIiKSkgeworKyAgICBhdWRpbyA9IFRSVUU7CisrICAgIGlkID0gQ09ERUNfSURfQU1SX05COworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgImF1ZGlvL0FNUi1XQiIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfQU1SX1dCOworKyAgICBhdWRpbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAiYXVkaW8vcWNlbHAiKSkgeworKyAgICBpZCA9IENPREVDX0lEX1FDRUxQOworKyAgICBhdWRpbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC1oMjY0IikpIHsKKysgICAgaWQgPSBDT0RFQ19JRF9IMjY0OworKyAgICB2aWRlbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC1mbGFzaC12aWRlbyIpKSB7CisrICAgIGdpbnQgZmx2dmVyc2lvbiA9IDA7CisrCisrICAgIGlmICgoZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHJ1Y3R1cmUsICJmbHZ2ZXJzaW9uIiwgJmZsdnZlcnNpb24pKSkgeworKyAgICAgIHN3aXRjaCAoZmx2dmVyc2lvbikgeworKyAgICAgICAgY2FzZSAxOgorKyAgICAgICAgICBpZCA9IENPREVDX0lEX0ZMVjE7CisrICAgICAgICAgIHZpZGVvID0gVFJVRTsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBkZWZhdWx0OgorKyAgICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgIH0KKysKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJhdWRpby94LW5lbGx5bW9zZXIiKSkgeworKyAgICBpZCA9IENPREVDX0lEX05FTExZTU9TRVI7CisrICAgIGF1ZGlvID0gVFJVRTsKKysgIH0gZWxzZSBpZiAoIXN0cm5jbXAgKG1pbWV0eXBlLCAiYXVkaW8veC1nc3RfZmYtIiwgMTUpKSB7CisrICAgIGdjaGFyIGV4dFsxNl07CisrICAgIEFWQ29kZWMgKmNvZGVjOworKworKyAgICBpZiAoc3RybGVuIChtaW1ldHlwZSkgPD0gMzAgJiYKKysgICAgICAgIHNzY2FuZiAobWltZXR5cGUsICJhdWRpby94LWdzdF9mZi0lcyIsIGV4dCkgPT0gMSkgeworKyAgICAgIGlmICgoY29kZWMgPSBhdmNvZGVjX2ZpbmRfZGVjb2Rlcl9ieV9uYW1lIChleHQpKSB8fAorKyAgICAgICAgICAoY29kZWMgPSBhdmNvZGVjX2ZpbmRfZW5jb2Rlcl9ieV9uYW1lIChleHQpKSkgeworKyAgICAgICAgaWQgPSBjb2RlYy0+aWQ7CisrICAgICAgICBhdWRpbyA9IFRSVUU7CisrICAgICAgfQorKyAgICB9CisrICB9IGVsc2UgaWYgKCFzdHJuY21wIChtaW1ldHlwZSwgInZpZGVvL3gtZ3N0X2ZmLSIsIDE1KSkgeworKyAgICBnY2hhciBleHRbMTZdOworKyAgICBBVkNvZGVjICpjb2RlYzsKKysKKysgICAgaWYgKHN0cmxlbiAobWltZXR5cGUpIDw9IDMwICYmCisrICAgICAgICBzc2NhbmYgKG1pbWV0eXBlLCAidmlkZW8veC1nc3RfZmYtJXMiLCBleHQpID09IDEpIHsKKysgICAgICBpZiAoKGNvZGVjID0gYXZjb2RlY19maW5kX2RlY29kZXJfYnlfbmFtZSAoZXh0KSkgfHwKKysgICAgICAgICAgKGNvZGVjID0gYXZjb2RlY19maW5kX2VuY29kZXJfYnlfbmFtZSAoZXh0KSkpIHsKKysgICAgICAgIGlkID0gY29kZWMtPmlkOworKyAgICAgICAgdmlkZW8gPSBUUlVFOworKyAgICAgIH0KKysgICAgfQorKyAgfQorKworKyAgaWYgKGNvbnRleHQgIT0gTlVMTCkgeworKyAgICBpZiAodmlkZW8gPT0gVFJVRSkgeworKyAgICAgIGNvbnRleHQtPmNvZGVjX3R5cGUgPSBBVk1FRElBX1RZUEVfVklERU87CisrICAgIH0gZWxzZSBpZiAoYXVkaW8gPT0gVFJVRSkgeworKyAgICAgIGNvbnRleHQtPmNvZGVjX3R5cGUgPSBBVk1FRElBX1RZUEVfQVVESU87CisrICAgIH0gZWxzZSB7CisrICAgICAgY29udGV4dC0+Y29kZWNfdHlwZSA9IEFWTUVESUFfVFlQRV9VTktOT1dOOworKyAgICB9CisrICAgIGNvbnRleHQtPmNvZGVjX2lkID0gaWQ7CisrICAgIGdzdF9mZm1wZWdfY2Fwc193aXRoX2NvZGVjaWQgKGlkLCBjb250ZXh0LT5jb2RlY190eXBlLCBjYXBzLCBjb250ZXh0KTsKKysgIH0KKysKKysgIGlmIChpZCAhPSBDT0RFQ19JRF9OT05FKSB7CisrICAgIEdTVF9ERUJVRyAoIlRoZSBpZD0lZCBiZWxvbmdzIHRvIHRoZSBjYXBzICUiIEdTVF9QVFJfRk9STUFULCBpZCwgY2Fwcyk7CisrICB9IGVsc2UgeworKyAgICBHU1RfV0FSTklORyAoIkNvdWxkbid0IGZpZ3VyZSBvdXQgdGhlIGlkIGZvciBjYXBzICUiIEdTVF9QVFJfRk9STUFULCBjYXBzKTsKKysgIH0KKysKKysgIHJldHVybiBpZDsKKyt9CitkaWZmIC11TnIgZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWdjb2RlY21hcC5jLnJlaiBnc3QtZmZtcGVnLTAuMTAuMTMvZXh0L2ZmbXBlZy9nc3RmZm1wZWdjb2RlY21hcC5jLnJlagorLS0tIGdzdC1mZm1wZWctMC4xMC4xMy5vcmlnL2V4dC9mZm1wZWcvZ3N0ZmZtcGVnY29kZWNtYXAuYy5yZWoJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnc3QtZmZtcGVnLTAuMTAuMTMvZXh0L2ZmbXBlZy9nc3RmZm1wZWdjb2RlY21hcC5jLnJlagkyMDE0LTA4LTA4IDE1OjMxOjA2LjA1NTg2ODI0NiArMDIwMAorQEAgLTAsMCArMSwxMiBAQAorKy0tLSBleHQvZmZtcGVnL2dzdGZmbXBlZ2NvZGVjbWFwLmMKKysrKysgZXh0L2ZmbXBlZy9nc3RmZm1wZWdjb2RlY21hcC5jCisrQEAgLTE4ODQsOSArMTg0Miw2IEBACisrICAgICAgICAgICAgIGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCBlbmNvZGUsICJ2aWRlby94LXJhdy1yZ2IiLAorKyAgICAgICAgICAgICAiYnBwIiwgR19UWVBFX0lOVCwgYnBwLCAiZGVwdGgiLCBHX1RZUEVfSU5ULCBkZXB0aCwgImVuZGlhbm5lc3MiLAorKyAgICAgICAgICAgICBHX1RZUEVfSU5ULCBlbmRpYW5uZXNzLCBOVUxMKTsKKystICAgICAgICBpZiAoY2FwcyAmJiBjb250ZXh0KSB7CisrLSAgICAgICAgICBnc3RfZmZtcGVnX3NldF9wYWxldHRlIChjYXBzLCBjb250ZXh0KTsKKystICAgICAgICB9CisrICAgICAgIH0KKysgICAgIH0gZWxzZSBpZiAoZm10KSB7CisrICAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgZW5jb2RlLCAidmlkZW8veC1yYXcteXV2IiwKK2RpZmYgLXVOciBnc3QtZmZtcGVnLTAuMTAuMTMub3JpZy9leHQvZmZtcGVnL2dzdGZmbXBlZ2RlYy5jIGdzdC1mZm1wZWctMC4xMC4xMy9leHQvZmZtcGVnL2dzdGZmbXBlZ2RlYy5jCistLS0gZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWdkZWMuYwkyMDE0LTA4LTA4IDE0OjQ2OjMxLjQ2Mjc3MjM1MSArMDIwMAorKysrIGdzdC1mZm1wZWctMC4xMC4xMy9leHQvZmZtcGVnL2dzdGZmbXBlZ2RlYy5jCTIwMTQtMDgtMDggMTU6MzI6MTguNjA4ODcwODQ3ICswMjAwCitAQCAtODgsNyArODgsNiBAQAorICAgICAgIGdpbnQgZGVwdGg7CisgICAgIH0gYXVkaW87CisgICB9IGZvcm1hdDsKKy0gIGdib29sZWFuIHdhaXRpbmdfZm9yX2tleTsKKyAgIGdib29sZWFuIGRpc2NvbnQ7CisgICBnYm9vbGVhbiBjbGVhcl90czsKKyAKK0BAIC00MzgsNyArNDM3LDYgQEAKKyAgIGZmbXBlZ2RlYy0+cGNhY2hlID0gTlVMTDsKKyAgIGZmbXBlZ2RlYy0+cGFyID0gTlVMTDsKKyAgIGZmbXBlZ2RlYy0+b3BlbmVkID0gRkFMU0U7CistICBmZm1wZWdkZWMtPndhaXRpbmdfZm9yX2tleSA9IFRSVUU7CisgICBmZm1wZWdkZWMtPnNraXBfZnJhbWUgPSBmZm1wZWdkZWMtPmxvd3JlcyA9IDA7CisgICBmZm1wZWdkZWMtPmRpcmVjdF9yZW5kZXJpbmcgPSBERUZBVUxUX0RJUkVDVF9SRU5ERVJJTkc7CisgICBmZm1wZWdkZWMtPmRvX3BhZGRpbmcgPSBERUZBVUxUX0RPX1BBRERJTkc7CitAQCAtNjA4LDExICs2MDYsNiBAQAorICAgICBnc3RfZmZtcGVnX2F2Y29kZWNfY2xvc2UgKGZmbXBlZ2RlYy0+Y29udGV4dCk7CisgICBmZm1wZWdkZWMtPm9wZW5lZCA9IEZBTFNFOworIAorLSAgaWYgKGZmbXBlZ2RlYy0+Y29udGV4dC0+cGFsY3RybCkgeworLSAgICBhdl9mcmVlIChmZm1wZWdkZWMtPmNvbnRleHQtPnBhbGN0cmwpOworLSAgICBmZm1wZWdkZWMtPmNvbnRleHQtPnBhbGN0cmwgPSBOVUxMOworLSAgfQorLQorICAgaWYgKGZmbXBlZ2RlYy0+Y29udGV4dC0+ZXh0cmFkYXRhKSB7CisgICAgIGF2X2ZyZWUgKGZmbXBlZ2RlYy0+Y29udGV4dC0+ZXh0cmFkYXRhKTsKKyAgICAgZmZtcGVnZGVjLT5jb250ZXh0LT5leHRyYWRhdGEgPSBOVUxMOworQEAgLTg2NCw3ICs4NTcsNyBAQAorIAorICAgLyogd29ya2Fyb3VuZCBlbmNvZGVyIGJ1Z3MgKi8KKyAgIGZmbXBlZ2RlYy0+Y29udGV4dC0+d29ya2Fyb3VuZF9idWdzIHw9IEZGX0JVR19BVVRPREVURUNUOworLSAgZmZtcGVnZGVjLT5jb250ZXh0LT5lcnJvcl9yZWNvZ25pdGlvbiA9IDE7CisrICBmZm1wZWdkZWMtPmNvbnRleHQtPmVycl9yZWNvZ25pdGlvbiA9IDE7CisgCisgICAvKiBmb3Igc2xvdyBjcHVzICovCisgICBmZm1wZWdkZWMtPmNvbnRleHQtPmxvd3JlcyA9IGZmbXBlZ2RlYy0+bG93cmVzOworQEAgLTk0NCw3ICs5MzcsNyBAQAorICAgZnNpemUgPSBnc3RfZmZtcGVnX2F2cGljdHVyZV9nZXRfc2l6ZSAoZmZtcGVnZGVjLT5jb250ZXh0LT5waXhfZm10LAorICAgICAgIHdpZHRoLCBoZWlnaHQpOworIAorLSAgaWYgKCFmZm1wZWdkZWMtPmNvbnRleHQtPnBhbGN0cmwgJiYgZmZtcGVnZGVjLT5jYW5fYWxsb2NhdGVfYWxpZ25lZCkgeworKyAgaWYgKGZmbXBlZ2RlYy0+Y2FuX2FsbG9jYXRlX2FsaWduZWQpIHsKKyAgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgImNhbGxpbmcgcGFkX2FsbG9jIik7CisgICAgIC8qIG5vIHBhbGxldGUsIHdlIGNhbiB1c2UgdGhlIGJ1ZmZlciBzaXplIHRvIGFsbG9jICovCisgICAgIHJldCA9IGdzdF9wYWRfYWxsb2NfYnVmZmVyX2FuZF9zZXRfY2FwcyAoZmZtcGVnZGVjLT5zcmNwYWQsCitAQCAtMTA4Myw3ICsxMDc2LDYgQEAKKyAgIC8qIHRlbGwgZmZtcGVnIHdlIG93biB0aGlzIGJ1ZmZlciwgdHJhbmZlciB0aGUgcmVmIHdlIGhhdmUgb24gdGhlIGJ1ZmZlciB0bworICAgICogdGhlIG9wYXF1ZSBkYXRhLiAqLworICAgcGljdHVyZS0+dHlwZSA9IEZGX0JVRkZFUl9UWVBFX1VTRVI7CistICBwaWN0dXJlLT5hZ2UgPSAyNTYgKiAyNTYgKiAyNTYgKiA2NDsKKyAgIHBpY3R1cmUtPm9wYXF1ZSA9IGJ1ZjsKKyAKKyAjaWZkZWYgRVhUUkFfUkVGCitAQCAtMTQxNCwxMCArMTQwNiw2IEBACisgICB9IGVsc2UgeworICAgICBpZiAoZGlmZiA+PSAwKSB7CisgICAgICAgLyogd2UncmUgdG9vIHNsb3csIHRyeSB0byBzcGVlZCB1cCAqLworLSAgICAgIGlmIChmZm1wZWdkZWMtPndhaXRpbmdfZm9yX2tleSkgeworLSAgICAgICAgLyogd2Ugd2VyZSB3YWl0aW5nIGZvciBhIGtleWZyYW1lLCB0aGF0J3Mgb2sgKi8KKy0gICAgICAgIGdvdG8gc2tpcHBpbmc7CistICAgICAgfQorICAgICAgIC8qIHN3aXRjaCB0byBza2lwX2ZyYW1lIG1vZGUgKi8KKyAgICAgICBnb3RvIHNraXBfZnJhbWU7CisgICAgIH0KK0BAIC0xNDI3LDExICsxNDE1LDYgQEAKKyAgIGZmbXBlZ2RlYy0+cHJvY2Vzc2VkKys7CisgICByZXR1cm4gVFJVRTsKKyAKKy1za2lwcGluZzoKKy0gIHsKKy0gICAgcmVzID0gRkFMU0U7CistICAgIGdvdG8gZHJvcF9xb3M7CistICB9Cisgbm9ybWFsX21vZGU6CisgICB7CisgICAgIGlmIChmZm1wZWdkZWMtPmNvbnRleHQtPnNraXBfZnJhbWUgIT0gQVZESVNDQVJEX0RFRkFVTFQpIHsKK0BAIC0xNTI4LDQzICsxNTExLDYgQEAKKyB9CisgCisgCistLyogZmlndXJlIG91dCBpZiB0aGUgY3VycmVudCBwaWN0dXJlIGlzIGEga2V5ZnJhbWUsIHJldHVybiBUUlVFIGlmIHRoYXQgaXMKKy0gKiB0aGUgY2FzZS4gKi8KKy1zdGF0aWMgZ2Jvb2xlYW4KKy1jaGVja19rZXlmcmFtZSAoR3N0RkZNcGVnRGVjICogZmZtcGVnZGVjKQorLXsKKy0gIEdzdEZGTXBlZ0RlY0NsYXNzICpvY2xhc3M7CistICBnYm9vbGVhbiBpc19pdHlwZSA9IEZBTFNFOworLSAgZ2Jvb2xlYW4gaXNfcmVmZXJlbmNlID0gRkFMU0U7CistICBnYm9vbGVhbiBpc2tleWZyYW1lOworLQorLSAgLyogZmlndXJlIG91dCBpZiB3ZSBhcmUgZGVhbGluZyB3aXRoIGEga2V5ZnJhbWUgKi8KKy0gIG9jbGFzcyA9IChHc3RGRk1wZWdEZWNDbGFzcyAqKSAoR19PQkpFQ1RfR0VUX0NMQVNTIChmZm1wZWdkZWMpKTsKKy0KKy0gIC8qIHJlbWVtYmVyIHRoYXQgd2UgaGF2ZSBCIGZyYW1lcywgd2UgbmVlZCB0aGlzIGZvciB0aGUgRFRTIC0+IFBUUyBjb252ZXJzaW9uCistICAgKiBjb2RlICovCistICBpZiAoIWZmbXBlZ2RlYy0+aGFzX2JfZnJhbWVzICYmIGZmbXBlZ2RlYy0+cGljdHVyZS0+cGljdF90eXBlID09IEZGX0JfVFlQRSkgeworLSAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJ3ZSBoYXZlIEIgZnJhbWVzIik7CistICAgIGZmbXBlZ2RlYy0+aGFzX2JfZnJhbWVzID0gVFJVRTsKKy0gIH0KKy0KKy0gIGlzX2l0eXBlID0gKGZmbXBlZ2RlYy0+cGljdHVyZS0+cGljdF90eXBlID09IEZGX0lfVFlQRSk7CistICBpc19yZWZlcmVuY2UgPSAoZmZtcGVnZGVjLT5waWN0dXJlLT5yZWZlcmVuY2UgPT0gMSk7CistCistICBpc2tleWZyYW1lID0gKGlzX2l0eXBlIHx8IGlzX3JlZmVyZW5jZSB8fCBmZm1wZWdkZWMtPnBpY3R1cmUtPmtleV9mcmFtZSkKKy0gICAgICB8fCAob2NsYXNzLT5pbl9wbHVnaW4tPmlkID09IENPREVDX0lEX0lOREVPMykKKy0gICAgICB8fCAob2NsYXNzLT5pbl9wbHVnaW4tPmlkID09IENPREVDX0lEX01TWkgpCistICAgICAgfHwgKG9jbGFzcy0+aW5fcGx1Z2luLT5pZCA9PSBDT0RFQ19JRF9aTElCKQorLSAgICAgIHx8IChvY2xhc3MtPmluX3BsdWdpbi0+aWQgPT0gQ09ERUNfSURfVlAzKQorLSAgICAgIHx8IChvY2xhc3MtPmluX3BsdWdpbi0+aWQgPT0gQ09ERUNfSURfSFVGRllVVik7CistCistICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLAorLSAgICAgICJjdXJyZW50IHBpY3R1cmU6IHR5cGU6ICVkLCBpc19rZXlmcmFtZTolZCwgaXNfaXR5cGU6JWQsIGlzX3JlZmVyZW5jZTolZCIsCistICAgICAgZmZtcGVnZGVjLT5waWN0dXJlLT5waWN0X3R5cGUsIGlza2V5ZnJhbWUsIGlzX2l0eXBlLCBpc19yZWZlcmVuY2UpOworLQorLSAgcmV0dXJuIGlza2V5ZnJhbWU7CistfQorLQorIC8qIGdldCBhbiBvdXRidWYgYnVmZmVyIHdpdGggdGhlIGN1cnJlbnQgcGljdHVyZSAqLworIHN0YXRpYyBHc3RGbG93UmV0dXJuCisgZ2V0X291dHB1dF9idWZmZXIgKEdzdEZGTXBlZ0RlYyAqIGZmbXBlZ2RlYywgR3N0QnVmZmVyICoqIG91dGJ1ZikKK0BAIC0xNjk0LDcgKzE2NDAsNiBAQAorIHsKKyAgIGdpbnQgbGVuID0gLTE7CisgICBnaW50IGhhdmVfZGF0YTsKKy0gIGdib29sZWFuIGlza2V5ZnJhbWU7CisgICBnYm9vbGVhbiBtb2RlX3N3aXRjaDsKKyAgIGdib29sZWFuIGRlY29kZTsKKyAgIGdpbnQgc2tpcF9mcmFtZSA9IEFWRElTQ0FSRF9ERUZBVUxUOworQEAgLTE4MDksNyArMTc1NCw2IEBACisgICAgIGdzdF9mZm1wZWdkZWNfbmVnb3RpYXRlIChmZm1wZWdkZWMsIFRSVUUpOworICAgfQorIAorLQorICAgLyogV2hldGhlciBhIGZyYW1lIGlzIGludGVybGFjZWQgb3Igbm90IGlzIHVua25vd24gYXQgdGhlIHRpbWUgb2YKKyAgICAgIGJ1ZmZlciBhbGxvY2F0aW9uLCBzbyBjYXBzIG9uIHRoZSBidWZmZXIgaW4gb3BhcXVlIHdpbGwgaGF2ZQorICAgICAgdGhlIHByZXZpb3VzIGZyYW1lJ3MgaW50ZXJsYWNlZCBmbGFnIHNldC4gU28gaWYgaW50ZXJsYWNlZG5lc3MKK0BAIC0xODMxLDEwICsxNzc1LDYgQEAKKyAgICAgfQorICAgfQorIAorLSAgLyogY2hlY2sgaWYgd2UgYXJlIGRlYWxpbmcgd2l0aCBhIGtleWZyYW1lIGhlcmUsIHRoaXMgd2lsbCBhbHNvIGNoZWNrIGlmIHdlCistICAgKiBhcmUgZGVhbGluZyB3aXRoIEIgZnJhbWVzLiAqLworLSAgaXNrZXlmcmFtZSA9IGNoZWNrX2tleWZyYW1lIChmZm1wZWdkZWMpOworLQorICAgLyogY2hlY2sgdGhhdCB0aGUgdGltZXN0YW1wcyBnbyB1cHdhcmRzICovCisgICBpZiAoZmZtcGVnZGVjLT5sYXN0X291dCAhPSAtMSAmJiBmZm1wZWdkZWMtPmxhc3Rfb3V0ID4gb3V0X3B0cykgeworICAgICAvKiB0aW1lc3RhbXBzIGdvIGJhY2t3YXJkcywgdGhpcyBtZWFucyBmcmFtZXMgd2VyZSByZW9yZGVyZWQgYW5kIHdlIG11c3QKK0BAIC0xODY1LDcgKzE4MDUsNyBAQAorICAgICogdGltZXN0YW1wcyAqLworICAgaWYgKCFmZm1wZWdkZWMtPnJlb3JkZXJlZF9pbiAmJiBmZm1wZWdkZWMtPnJlb3JkZXJlZF9vdXQpIHsKKyAgICAgLyogUFRTIGFuZCBEVFMgYXJlIHRoZSBzYW1lIGZvciBrZXlmcmFtZXMgKi8KKy0gICAgaWYgKCFpc2tleWZyYW1lICYmIGZmbXBlZ2RlYy0+bmV4dF9vdXQgIT0gLTEpIHsKKysgICAgaWYgKGZmbXBlZ2RlYy0+bmV4dF9vdXQgIT0gLTEpIHsKKyAgICAgICAvKiBpbnRlcnBvbGF0ZSBhbGwgdGltZXN0YW1wcyBleGNlcHQgZm9yIGtleWZyYW1lcywgRklYTUUsIHRoaXMgaXMKKyAgICAgICAgKiB3cm9uZyB3aGVuIFFvUyBpcyBhY3RpdmUuICovCisgICAgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAiaW50ZXJwb2xhdGUgdGltZXN0YW1wcyIpOworQEAgLTE4NzQsMTYgKzE4MTQsNiBAQAorICAgICB9CisgICB9CisgCistICAvKiB3aGVuIHdlJ3JlIHdhaXRpbmcgZm9yIGEga2V5ZnJhbWUsIHNlZSBpZiB3ZSBoYXZlIG9uZSBvciBkcm9wIHRoZSBjdXJyZW50CistICAgKiBub24ta2V5ZnJhbWUgKi8KKy0gIGlmIChHX1VOTElLRUxZIChmZm1wZWdkZWMtPndhaXRpbmdfZm9yX2tleSkpIHsKKy0gICAgaWYgKEdfTElLRUxZICghaXNrZXlmcmFtZSkpCistICAgICAgZ290byBkcm9wX25vbl9rZXlmcmFtZTsKKy0KKy0gICAgLyogd2UgaGF2ZSBhIGtleWZyYW1lLCB3ZSBjYW4gc3RvcCB3YWl0aW5nIGZvciBvbmUgKi8KKy0gICAgZmZtcGVnZGVjLT53YWl0aW5nX2Zvcl9rZXkgPSBGQUxTRTsKKy0gIH0KKy0KKyAgIC8qIGdldCBhIGhhbmRsZSB0byB0aGUgb3V0cHV0IGJ1ZmZlciAqLworICAgKnJldCA9IGdldF9vdXRwdXRfYnVmZmVyIChmZm1wZWdkZWMsIG91dGJ1Zik7CisgICBpZiAoR19VTkxJS0VMWSAoKnJldCAhPSBHU1RfRkxPV19PSykpCitAQCAtMjAwMCwyMCArMTkzMCwxMSBAQAorICAgZWxzZQorICAgICBmZm1wZWdkZWMtPm5leHRfb3V0ID0gLTE7CisgCistICAvKiBwYWxldHRlIGlzIG5vdCBwYXJ0IG9mIHJhdyB2aWRlbyBmcmFtZSBpbiBnc3QgYW5kIHRoZSBzaXplCistICAgKiBvZiB0aGUgb3V0Z29pbmcgYnVmZmVyIG5lZWRzIHRvIGJlIGFkanVzdGVkIGFjY29yZGluZ2x5ICovCistICBpZiAoZmZtcGVnZGVjLT5jb250ZXh0LT5wYWxjdHJsICE9IE5VTEwpCistICAgIEdTVF9CVUZGRVJfU0laRSAoKm91dGJ1ZikgLT0gQVZQQUxFVFRFX1NJWkU7CistCisgICAvKiBub3cgc2VlIGlmIHdlIG5lZWQgdG8gY2xpcCB0aGUgYnVmZmVyIGFnYWluc3QgdGhlIHNlZ21lbnQgYm91bmRhcmllcy4gKi8KKyAgIGlmIChHX1VOTElLRUxZICghY2xpcF92aWRlb19idWZmZXIgKGZmbXBlZ2RlYywgKm91dGJ1Ziwgb3V0X3RpbWVzdGFtcCwKKyAgICAgICAgICAgICAgIG91dF9kdXJhdGlvbikpKQorICAgICBnb3RvIGNsaXBwZWQ7CisgCistICAvKiBtYXJrIGFzIGtleWZyYW1lIG9yIGRlbHRhIHVuaXQgKi8KKy0gIGlmICghaXNrZXlmcmFtZSkKKy0gICAgR1NUX0JVRkZFUl9GTEFHX1NFVCAoKm91dGJ1ZiwgR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQpOworLQorICAgaWYgKGZmbXBlZ2RlYy0+cGljdHVyZS0+dG9wX2ZpZWxkX2ZpcnN0KQorICAgICBHU1RfQlVGRkVSX0ZMQUdfU0VUICgqb3V0YnVmLCBHU1RfVklERU9fQlVGRkVSX1RGRik7CisgCitAQCAtMjAyNCwxMSArMTk0NSw2IEBACisgICByZXR1cm4gbGVuOworIAorICAgLyogc3BlY2lhbCBjYXNlcyAqLworLWRyb3Bfbm9uX2tleWZyYW1lOgorLSAgeworLSAgICBHU1RfV0FSTklOR19PQkpFQ1QgKGZmbXBlZ2RlYywgIkRyb3BwaW5nIG5vbi1rZXlmcmFtZSAoc2Vlay9pbml0KSIpOworLSAgICBnb3RvIGJlYWNoOworLSAgfQorIG5vX291dHB1dDoKKyAgIHsKKyAgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAibm8gb3V0cHV0IGJ1ZmZlciIpOworQEAgLTI0MjIsNyArMjMzOCw2IEBACisgICAgICAgZ3N0X2ZmbXBlZ2RlY19yZXNldF90cyAoZmZtcGVnZGVjKTsKKyAgICAgICBnc3RfZmZtcGVnZGVjX3Jlc2V0X3FvcyAoZmZtcGVnZGVjKTsKKyAgICAgICBnc3RfZmZtcGVnZGVjX2ZsdXNoX3BjYWNoZSAoZmZtcGVnZGVjKTsKKy0gICAgICBmZm1wZWdkZWMtPndhaXRpbmdfZm9yX2tleSA9IFRSVUU7CisgICAgICAgZ3N0X3NlZ21lbnRfaW5pdCAoJmZmbXBlZ2RlYy0+c2VnbWVudCwgR1NUX0ZPUk1BVF9USU1FKTsKKyAgICAgICBjbGVhcl9xdWV1ZWQgKGZmbXBlZ2RlYyk7CisgICAgICAgYnJlYWs7CitAQCAtMjU2MCwxNyArMjQ3NSw2IEBACisgCisgICBvY2xhc3MgPSAoR3N0RkZNcGVnRGVjQ2xhc3MgKikgKEdfT0JKRUNUX0dFVF9DTEFTUyAoZmZtcGVnZGVjKSk7CisgCistICAvKiBkbyBlYXJseSBrZXlmcmFtZSBjaGVjayBwcmV0dHkgYmFkIHRvIHJlbHkgb24gdGhlIGtleWZyYW1lIGZsYWcgaW4gdGhlCistICAgKiBzb3VyY2UgZm9yIHRoaXMgYXMgaXQgbWlnaHQgbm90IGV2ZW4gYmUgcGFyc2VkIChVRFAvZmlsZS8uLikuICAqLworLSAgaWYgKEdfVU5MSUtFTFkgKGZmbXBlZ2RlYy0+d2FpdGluZ19mb3Jfa2V5KSkgeworLSAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJ3YWl0aW5nIGZvciBrZXlmcmFtZSIpOworLSAgICBpZiAoR1NUX0JVRkZFUl9GTEFHX0lTX1NFVCAoaW5idWYsIEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklUKSAmJgorLSAgICAgICAgb2NsYXNzLT5pbl9wbHVnaW4tPnR5cGUgIT0gQVZNRURJQV9UWVBFX0FVRElPKQorLSAgICAgIGdvdG8gc2tpcF9rZXlmcmFtZTsKKy0KKy0gICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAiZ290IGtleWZyYW1lIik7CistICAgIGZmbXBlZ2RlYy0+d2FpdGluZ19mb3Jfa2V5ID0gRkFMU0U7CistICB9CisgICAvKiBwYXJzZSBjYWNoZSBqb2luaW5nLiBJZiB0aGVyZSBpcyBjYWNoZWQgZGF0YSAqLworICAgaWYgKGZmbXBlZ2RlYy0+cGNhY2hlKSB7CisgICAgIC8qIGpvaW4gd2l0aCBwcmV2aW91cyBkYXRhICovCitAQCAtMjgwNSwxMiArMjcwOSw2IEBACisgICAgIGdzdF9idWZmZXJfdW5yZWYgKGluYnVmKTsKKyAgICAgcmV0dXJuIEdTVF9GTE9XX05PVF9ORUdPVElBVEVEOworICAgfQorLXNraXBfa2V5ZnJhbWU6CistICB7CistICAgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywgInNraXBwaW5nIG5vbiBrZXlmcmFtZSIpOworLSAgICBnc3RfYnVmZmVyX3VucmVmIChpbmJ1Zik7CistICAgIHJldHVybiBHU1RfRkxPV19PSzsKKy0gIH0KKyB9CisgCisgc3RhdGljIEdzdFN0YXRlQ2hhbmdlUmV0dXJuCitAQCAtMjkzNiw3ICsyODM0LDcgQEAKKyAgICAgZ2NoYXIgKnBsdWdpbl9uYW1lOworIAorICAgICAvKiBvbmx5IGRlY29kZXJzICovCistICAgIGlmICghaW5fcGx1Z2luLT5kZWNvZGUpIHsKKysgICAgaWYgKCFhdl9jb2RlY19pc19kZWNvZGVyIChpbl9wbHVnaW4pKSB7CisgICAgICAgZ290byBuZXh0OworICAgICB9CisgCitkaWZmIC11TnIgZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWdkZWMuYy5vcmlnIGdzdC1mZm1wZWctMC4xMC4xMy9leHQvZmZtcGVnL2dzdGZmbXBlZ2RlYy5jLm9yaWcKKy0tLSBnc3QtZmZtcGVnLTAuMTAuMTMub3JpZy9leHQvZmZtcGVnL2dzdGZmbXBlZ2RlYy5jLm9yaWcJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnc3QtZmZtcGVnLTAuMTAuMTMvZXh0L2ZmbXBlZy9nc3RmZm1wZWdkZWMuYy5vcmlnCTIwMTQtMDgtMDggMTU6MzE6MDYuMDU3ODY4MjQ2ICswMjAwCitAQCAtMCwwICsxLDI5NzMgQEAKKysvKiBHU3RyZWFtZXIKKysgKiBDb3B5cmlnaHQgKEMpIDwxOTk5PiBFcmlrIFdhbHRoaW5zZW4gPG9tZWdhQGNzZS5vZ2kuZWR1PgorKyAqCisrICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisrICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisrICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyAqCisrICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyAqCisrICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKysgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZQorKyAqIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorKyAqLworKworKyNpZmRlZiBIQVZFX0NPTkZJR19ICisrI2luY2x1ZGUgImNvbmZpZy5oIgorKyNlbmRpZgorKworKyNpbmNsdWRlIDxhc3NlcnQuaD4KKysjaW5jbHVkZSA8c3RyaW5nLmg+CisrCisrI2lmZGVmIEhBVkVfRkZNUEVHX1VOSU5TVEFMTEVECisrI2luY2x1ZGUgPGF2Y29kZWMuaD4KKysjZWxzZQorKyNpbmNsdWRlIDxsaWJhdmNvZGVjL2F2Y29kZWMuaD4KKysjZW5kaWYKKysKKysjaW5jbHVkZSA8Z3N0L2dzdC5oPgorKyNpbmNsdWRlIDxnc3QvdmlkZW8vdmlkZW8uaD4KKysKKysjaW5jbHVkZSAiZ3N0ZmZtcGVnLmgiCisrI2luY2x1ZGUgImdzdGZmbXBlZ2NvZGVjbWFwLmgiCisrI2luY2x1ZGUgImdzdGZmbXBlZ3V0aWxzLmgiCisrCisrLyogZGVmaW5lIHRvIGVuYWJsZSBhbHRlcm5hdGl2ZSBidWZmZXIgcmVmY291bnRpbmcgYWxnb3JpdGhtICovCisrI3VuZGVmIEVYVFJBX1JFRgorKworK3R5cGVkZWYgc3RydWN0IF9Hc3RGRk1wZWdEZWMgR3N0RkZNcGVnRGVjOworKworKyNkZWZpbmUgTUFYX1RTX01BU0sgMHhmZgorKworKy8qIGZvciBlYWNoIGluY29tbWluZyBidWZmZXIgd2Uga2VlcCBhbGwgdGltaW5nIGluZm8gaW4gYSBzdHJ1Y3R1cmUgbGlrZSB0aGlzLgorKyAqIFdlIGtlZXAgYSBjaXJjdWxhciBhcnJheSBvZiB0aGVzZSBzdHJ1Y3R1cmVzIGFyb3VuZCB0byBzdG9yZSB0aGUgdGltaW5nIGluZm8uCisrICogVGhlIGluZGV4IGluIHRoZSBhcnJheSBpcyB3aGF0IHdlIHBhc3MgYXMgb3BhcXVlIGRhdGEgKHRvIHBpY3R1cmVzKSBhbmQKKysgKiBwdHMgKHRvIHBhcnNlcnMpIHNvIHRoYXQgZmZtcGVnIGNhbiByZW1lbWJlciB0aGVtIGZvciB1cy4gKi8KKyt0eXBlZGVmIHN0cnVjdAorK3sKKysgIGdpbnQgaWR4OworKyAgR3N0Q2xvY2tUaW1lIHRpbWVzdGFtcDsKKysgIEdzdENsb2NrVGltZSBkdXJhdGlvbjsKKysgIGdpbnQ2NCBvZmZzZXQ7CisrfSBHc3RUU0luZm87CisrCisrc3RydWN0IF9Hc3RGRk1wZWdEZWMKKyt7CisrICBHc3RFbGVtZW50IGVsZW1lbnQ7CisrCisrICAvKiBXZSBuZWVkIHRvIGtlZXAgdHJhY2sgb2Ygb3VyIHBhZHMsIHNvIHdlIGRvIHNvIGhlcmUuICovCisrICBHc3RQYWQgKnNyY3BhZDsKKysgIEdzdFBhZCAqc2lua3BhZDsKKysKKysgIC8qIGRlY29kaW5nICovCisrICBBVkNvZGVjQ29udGV4dCAqY29udGV4dDsKKysgIEFWRnJhbWUgKnBpY3R1cmU7CisrICBnYm9vbGVhbiBvcGVuZWQ7CisrICB1bmlvbgorKyAgeworKyAgICBzdHJ1Y3QKKysgICAgeworKyAgICAgIGdpbnQgd2lkdGgsIGhlaWdodDsKKysgICAgICBnaW50IGNsaXBfd2lkdGgsIGNsaXBfaGVpZ2h0OworKyAgICAgIGdpbnQgcGFyX24sIHBhcl9kOworKyAgICAgIGdpbnQgZnBzX24sIGZwc19kOworKyAgICAgIGdpbnQgb2xkX2Zwc19uLCBvbGRfZnBzX2Q7CisrICAgICAgZ2Jvb2xlYW4gaW50ZXJsYWNlZDsKKysKKysgICAgICBlbnVtIFBpeGVsRm9ybWF0IHBpeF9mbXQ7CisrICAgIH0gdmlkZW87CisrICAgIHN0cnVjdAorKyAgICB7CisrICAgICAgZ2ludCBjaGFubmVsczsKKysgICAgICBnaW50IHNhbXBsZXJhdGU7CisrICAgICAgZ2ludCBkZXB0aDsKKysgICAgfSBhdWRpbzsKKysgIH0gZm9ybWF0OworKyAgZ2Jvb2xlYW4gZGlzY29udDsKKysgIGdib29sZWFuIGNsZWFyX3RzOworKworKyAgLyogZm9yIHRyYWNraW5nIERUUy9QVFMgKi8KKysgIGdib29sZWFuIGhhc19iX2ZyYW1lczsKKysgIGdib29sZWFuIHJlb3JkZXJlZF9pbjsKKysgIEdzdENsb2NrVGltZSBsYXN0X2luOworKyAgR3N0Q2xvY2tUaW1lIGxhc3RfZGlmZjsKKysgIGd1aW50IGxhc3RfZnJhbWVzOworKyAgZ2Jvb2xlYW4gcmVvcmRlcmVkX291dDsKKysgIEdzdENsb2NrVGltZSBsYXN0X291dDsKKysgIEdzdENsb2NrVGltZSBuZXh0X291dDsKKysKKysgIC8qIHBhcnNpbmcgKi8KKysgIGdib29sZWFuIHR1cm5vZmZfcGFyc2VyOyAgICAgIC8qIHVzZWQgZm9yIHR1cm5pbmcgb2ZmIGFhYyByYXcgcGFyc2luZworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogU2VlIGJ1ZyAjNTY2MjUwICovCisrICBBVkNvZGVjUGFyc2VyQ29udGV4dCAqcGN0eDsKKysgIEdzdEJ1ZmZlciAqcGNhY2hlOworKyAgZ3VpbnQ4ICpwYWRkZWQ7CisrICBndWludCBwYWRkZWRfc2l6ZTsKKysKKysgIEdWYWx1ZSAqcGFyOyAgICAgICAgICAgICAgICAgIC8qIHBpeGVsIGFzcGVjdCByYXRpbyBvZiBpbmNvbWluZyBkYXRhICovCisrICBnYm9vbGVhbiBjdXJyZW50X2RyOyAgICAgICAgICAvKiBpZiBkaXJlY3QgcmVuZGVyaW5nIGlzIGVuYWJsZWQgKi8KKysgIGdib29sZWFuIGV4dHJhX3JlZjsgICAgICAgICAgIC8qIGtlZXAgZXh0cmEgcmVmIGFyb3VuZCBpbiBnZXQvcmVsZWFzZSAqLworKworKyAgLyogc29tZSBwcm9wZXJ0aWVzICovCisrICBlbnVtIEFWRGlzY2FyZCBza2lwX2ZyYW1lOworKyAgZ2ludCBsb3dyZXM7CisrICBnYm9vbGVhbiBkaXJlY3RfcmVuZGVyaW5nOworKyAgZ2Jvb2xlYW4gZG9fcGFkZGluZzsKKysgIGdib29sZWFuIGRlYnVnX212OworKyAgZ2Jvb2xlYW4gY3JvcDsKKysgIGludCBtYXhfdGhyZWFkczsKKysKKysgIC8qIFFvUyBzdHVmZiAqLy8qIHdpdGggTE9DSyAqLworKyAgZ2RvdWJsZSBwcm9wb3J0aW9uOworKyAgR3N0Q2xvY2tUaW1lIGVhcmxpZXN0X3RpbWU7CisrICBnaW50NjQgcHJvY2Vzc2VkOworKyAgZ2ludDY0IGRyb3BwZWQ7CisrCisrICAvKiBjbGlwcGluZyBzZWdtZW50ICovCisrICBHc3RTZWdtZW50IHNlZ21lbnQ7CisrCisrICBnYm9vbGVhbiBpc19yZWFsdmlkZW87CisrCisrICBHc3RUU0luZm8gdHNfaW5mb1tNQVhfVFNfTUFTSyArIDFdOworKyAgZ2ludCB0c19pZHg7CisrCisrICAvKiByZXZlcnNlIHBsYXliYWNrIHF1ZXVlICovCisrICBHTGlzdCAqcXVldWVkOworKworKyAgLyogQ2FuIGRvd25zdHJlYW0gYWxsb2NhdGUgMTZieXRlcyBhbGlnbmVkIGRhdGEuICovCisrICBnYm9vbGVhbiBjYW5fYWxsb2NhdGVfYWxpZ25lZDsKKyt9OworKworK3R5cGVkZWYgc3RydWN0IF9Hc3RGRk1wZWdEZWNDbGFzcyBHc3RGRk1wZWdEZWNDbGFzczsKKysKKytzdHJ1Y3QgX0dzdEZGTXBlZ0RlY0NsYXNzCisreworKyAgR3N0RWxlbWVudENsYXNzIHBhcmVudF9jbGFzczsKKysKKysgIEFWQ29kZWMgKmluX3BsdWdpbjsKKysgIEdzdFBhZFRlbXBsYXRlICpzcmN0ZW1wbCwgKnNpbmt0ZW1wbDsKKyt9OworKworKyNkZWZpbmUgR1NUX1RTX0lORk9fTk9ORSAmdHNfaW5mb19ub25lCisrc3RhdGljIGNvbnN0IEdzdFRTSW5mbyB0c19pbmZvX25vbmUgPSB7IC0xLCAtMSwgLTEsIC0xIH07CisrCisrc3RhdGljIGNvbnN0IEdzdFRTSW5mbyAqCisrZ3N0X3RzX2luZm9fc3RvcmUgKEdzdEZGTXBlZ0RlYyAqIGRlYywgR3N0Q2xvY2tUaW1lIHRpbWVzdGFtcCwKKysgICAgR3N0Q2xvY2tUaW1lIGR1cmF0aW9uLCBnaW50NjQgb2Zmc2V0KQorK3sKKysgIGdpbnQgaWR4ID0gZGVjLT50c19pZHg7CisrICBkZWMtPnRzX2luZm9baWR4XS5pZHggPSBpZHg7CisrICBkZWMtPnRzX2luZm9baWR4XS50aW1lc3RhbXAgPSB0aW1lc3RhbXA7CisrICBkZWMtPnRzX2luZm9baWR4XS5kdXJhdGlvbiA9IGR1cmF0aW9uOworKyAgZGVjLT50c19pbmZvW2lkeF0ub2Zmc2V0ID0gb2Zmc2V0OworKyAgZGVjLT50c19pZHggPSAoaWR4ICsgMSkgJiBNQVhfVFNfTUFTSzsKKysKKysgIHJldHVybiAmZGVjLT50c19pbmZvW2lkeF07CisrfQorKworK3N0YXRpYyBjb25zdCBHc3RUU0luZm8gKgorK2dzdF90c19pbmZvX2dldCAoR3N0RkZNcGVnRGVjICogZGVjLCBnaW50IGlkeCkKKyt7CisrICBpZiAoR19VTkxJS0VMWSAoaWR4IDwgMCB8fCBpZHggPiBNQVhfVFNfTUFTSykpCisrICAgIHJldHVybiBHU1RfVFNfSU5GT19OT05FOworKworKyAgcmV0dXJuICZkZWMtPnRzX2luZm9baWR4XTsKKyt9CisrCisrI2RlZmluZSBHU1RfVFlQRV9GRk1QRUdERUMgXAorKyAgKGdzdF9mZm1wZWdkZWNfZ2V0X3R5cGUoKSkKKysjZGVmaW5lIEdTVF9GRk1QRUdERUMob2JqKSBcCisrICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1QoKG9iaiksR1NUX1RZUEVfRkZNUEVHREVDLEdzdEZGTXBlZ0RlYykpCisrI2RlZmluZSBHU1RfRkZNUEVHREVDX0NMQVNTKGtsYXNzKSBcCisrICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSxHU1RfVFlQRV9GRk1QRUdERUMsR3N0RkZNcGVnRGVjQ2xhc3MpKQorKyNkZWZpbmUgR1NUX0lTX0ZGTVBFR0RFQyhvYmopIFwKKysgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgob2JqKSxHU1RfVFlQRV9GRk1QRUdERUMpKQorKyNkZWZpbmUgR1NUX0lTX0ZGTVBFR0RFQ19DTEFTUyhrbGFzcykgXAorKyAgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksR1NUX1RZUEVfRkZNUEVHREVDKSkKKysKKysjZGVmaW5lIERFRkFVTFRfTE9XUkVTCQkJMAorKyNkZWZpbmUgREVGQVVMVF9TS0lQRlJBTUUJCTAKKysjZGVmaW5lIERFRkFVTFRfRElSRUNUX1JFTkRFUklORwlUUlVFCisrI2RlZmluZSBERUZBVUxUX0RPX1BBRERJTkcJCVRSVUUKKysjZGVmaW5lIERFRkFVTFRfREVCVUdfTVYJCUZBTFNFCisrI2RlZmluZSBERUZBVUxUX0NST1AJCQlUUlVFCisrI2RlZmluZSBERUZBVUxUX01BWF9USFJFQURTCQkxCisrCisrZW51bQorK3sKKysgIFBST1BfMCwKKysgIFBST1BfTE9XUkVTLAorKyAgUFJPUF9TS0lQRlJBTUUsCisrICBQUk9QX0RJUkVDVF9SRU5ERVJJTkcsCisrICBQUk9QX0RPX1BBRERJTkcsCisrICBQUk9QX0RFQlVHX01WLAorKyAgUFJPUF9DUk9QLAorKyAgUFJPUF9NQVhfVEhSRUFEUywKKysgIFBST1BfTEFTVAorK307CisrCisrLyogQSBudW1iZXIgb2YgZnVuY3Rpb24gcHJvdG90eXBlcyBhcmUgZ2l2ZW4gc28gd2UgY2FuIHJlZmVyIHRvIHRoZW0gbGF0ZXIuICovCisrc3RhdGljIHZvaWQgZ3N0X2ZmbXBlZ2RlY19iYXNlX2luaXQgKEdzdEZGTXBlZ0RlY0NsYXNzICoga2xhc3MpOworK3N0YXRpYyB2b2lkIGdzdF9mZm1wZWdkZWNfY2xhc3NfaW5pdCAoR3N0RkZNcGVnRGVjQ2xhc3MgKiBrbGFzcyk7Cisrc3RhdGljIHZvaWQgZ3N0X2ZmbXBlZ2RlY19pbml0IChHc3RGRk1wZWdEZWMgKiBmZm1wZWdkZWMpOworK3N0YXRpYyB2b2lkIGdzdF9mZm1wZWdkZWNfZmluYWxpemUgKEdPYmplY3QgKiBvYmplY3QpOworKworK3N0YXRpYyBnYm9vbGVhbiBnc3RfZmZtcGVnZGVjX3F1ZXJ5IChHc3RQYWQgKiBwYWQsIEdzdFF1ZXJ5ICogcXVlcnkpOworK3N0YXRpYyBnYm9vbGVhbiBnc3RfZmZtcGVnZGVjX3NyY19ldmVudCAoR3N0UGFkICogcGFkLCBHc3RFdmVudCAqIGV2ZW50KTsKKysKKytzdGF0aWMgZ2Jvb2xlYW4gZ3N0X2ZmbXBlZ2RlY19zZXRjYXBzIChHc3RQYWQgKiBwYWQsIEdzdENhcHMgKiBjYXBzKTsKKytzdGF0aWMgZ2Jvb2xlYW4gZ3N0X2ZmbXBlZ2RlY19zaW5rX2V2ZW50IChHc3RQYWQgKiBwYWQsIEdzdEV2ZW50ICogZXZlbnQpOworK3N0YXRpYyBHc3RGbG93UmV0dXJuIGdzdF9mZm1wZWdkZWNfY2hhaW4gKEdzdFBhZCAqIHBhZCwgR3N0QnVmZmVyICogYnVmKTsKKysKKytzdGF0aWMgR3N0U3RhdGVDaGFuZ2VSZXR1cm4gZ3N0X2ZmbXBlZ2RlY19jaGFuZ2Vfc3RhdGUgKEdzdEVsZW1lbnQgKiBlbGVtZW50LAorKyAgICBHc3RTdGF0ZUNoYW5nZSB0cmFuc2l0aW9uKTsKKysKKytzdGF0aWMgdm9pZCBnc3RfZmZtcGVnZGVjX3NldF9wcm9wZXJ0eSAoR09iamVjdCAqIG9iamVjdCwKKysgICAgZ3VpbnQgcHJvcF9pZCwgY29uc3QgR1ZhbHVlICogdmFsdWUsIEdQYXJhbVNwZWMgKiBwc3BlYyk7Cisrc3RhdGljIHZvaWQgZ3N0X2ZmbXBlZ2RlY19nZXRfcHJvcGVydHkgKEdPYmplY3QgKiBvYmplY3QsCisrICAgIGd1aW50IHByb3BfaWQsIEdWYWx1ZSAqIHZhbHVlLCBHUGFyYW1TcGVjICogcHNwZWMpOworKworK3N0YXRpYyBnYm9vbGVhbiBnc3RfZmZtcGVnZGVjX25lZ290aWF0ZSAoR3N0RkZNcGVnRGVjICogZmZtcGVnZGVjLAorKyAgICBnYm9vbGVhbiBmb3JjZSk7CisrCisrLyogc29tZSBzb3J0IG9mIGJ1ZmZlcnBvb2wgaGFuZGxpbmcsIGJ1dCBkaWZmZXJlbnQgKi8KKytzdGF0aWMgaW50IGdzdF9mZm1wZWdkZWNfZ2V0X2J1ZmZlciAoQVZDb2RlY0NvbnRleHQgKiBjb250ZXh0LAorKyAgICBBVkZyYW1lICogcGljdHVyZSk7Cisrc3RhdGljIHZvaWQgZ3N0X2ZmbXBlZ2RlY19yZWxlYXNlX2J1ZmZlciAoQVZDb2RlY0NvbnRleHQgKiBjb250ZXh0LAorKyAgICBBVkZyYW1lICogcGljdHVyZSk7CisrCisrc3RhdGljIHZvaWQgZ3N0X2ZmbXBlZ2RlY19kcmFpbiAoR3N0RkZNcGVnRGVjICogZmZtcGVnZGVjKTsKKysKKysjZGVmaW5lIEdTVF9GRkRFQ19QQVJBTVNfUURBVEEgZ19xdWFya19mcm9tX3N0YXRpY19zdHJpbmcoImZmZGVjLXBhcmFtcyIpCisrCisrc3RhdGljIEdzdEVsZW1lbnRDbGFzcyAqcGFyZW50X2NsYXNzID0gTlVMTDsKKysKKysjZGVmaW5lIEdTVF9GRk1QRUdERUNfVFlQRV9MT1dSRVMgKGdzdF9mZm1wZWdkZWNfbG93cmVzX2dldF90eXBlKCkpCisrc3RhdGljIEdUeXBlCisrZ3N0X2ZmbXBlZ2RlY19sb3dyZXNfZ2V0X3R5cGUgKHZvaWQpCisreworKyAgc3RhdGljIEdUeXBlIGZmbXBlZ2RlY19sb3dyZXNfdHlwZSA9IDA7CisrCisrICBpZiAoIWZmbXBlZ2RlY19sb3dyZXNfdHlwZSkgeworKyAgICBzdGF0aWMgY29uc3QgR0VudW1WYWx1ZSBmZm1wZWdkZWNfbG93cmVzW10gPSB7CisrICAgICAgezAsICIwIiwgImZ1bGwifSwKKysgICAgICB7MSwgIjEiLCAiMS8yLXNpemUifSwKKysgICAgICB7MiwgIjIiLCAiMS80LXNpemUifSwKKysgICAgICB7MCwgTlVMTCwgTlVMTH0sCisrICAgIH07CisrCisrICAgIGZmbXBlZ2RlY19sb3dyZXNfdHlwZSA9CisrICAgICAgICBnX2VudW1fcmVnaXN0ZXJfc3RhdGljICgiR3N0RkZNcGVnRGVjTG93cmVzIiwgZmZtcGVnZGVjX2xvd3Jlcyk7CisrICB9CisrCisrICByZXR1cm4gZmZtcGVnZGVjX2xvd3Jlc190eXBlOworK30KKysKKysjZGVmaW5lIEdTVF9GRk1QRUdERUNfVFlQRV9TS0lQRlJBTUUgKGdzdF9mZm1wZWdkZWNfc2tpcGZyYW1lX2dldF90eXBlKCkpCisrc3RhdGljIEdUeXBlCisrZ3N0X2ZmbXBlZ2RlY19za2lwZnJhbWVfZ2V0X3R5cGUgKHZvaWQpCisreworKyAgc3RhdGljIEdUeXBlIGZmbXBlZ2RlY19za2lwZnJhbWVfdHlwZSA9IDA7CisrCisrICBpZiAoIWZmbXBlZ2RlY19za2lwZnJhbWVfdHlwZSkgeworKyAgICBzdGF0aWMgY29uc3QgR0VudW1WYWx1ZSBmZm1wZWdkZWNfc2tpcGZyYW1lW10gPSB7CisrICAgICAgezAsICIwIiwgIlNraXAgbm90aGluZyJ9LAorKyAgICAgIHsxLCAiMSIsICJTa2lwIEItZnJhbWVzIn0sCisrICAgICAgezIsICIyIiwgIlNraXAgSURDVC9EZXF1YW50aXphdGlvbiJ9LAorKyAgICAgIHs1LCAiNSIsICJTa2lwIGV2ZXJ5dGhpbmcifSwKKysgICAgICB7MCwgTlVMTCwgTlVMTH0sCisrICAgIH07CisrCisrICAgIGZmbXBlZ2RlY19za2lwZnJhbWVfdHlwZSA9CisrICAgICAgICBnX2VudW1fcmVnaXN0ZXJfc3RhdGljICgiR3N0RkZNcGVnRGVjU2tpcEZyYW1lIiwgZmZtcGVnZGVjX3NraXBmcmFtZSk7CisrICB9CisrCisrICByZXR1cm4gZmZtcGVnZGVjX3NraXBmcmFtZV90eXBlOworK30KKysKKytzdGF0aWMgdm9pZAorK2dzdF9mZm1wZWdkZWNfYmFzZV9pbml0IChHc3RGRk1wZWdEZWNDbGFzcyAqIGtsYXNzKQorK3sKKysgIEdzdEVsZW1lbnRDbGFzcyAqZWxlbWVudF9jbGFzcyA9IEdTVF9FTEVNRU5UX0NMQVNTIChrbGFzcyk7CisrICBHc3RQYWRUZW1wbGF0ZSAqc2lua3RlbXBsLCAqc3JjdGVtcGw7CisrICBHc3RDYXBzICpzaW5rY2FwcywgKnNyY2NhcHM7CisrICBBVkNvZGVjICppbl9wbHVnaW47CisrICBnY2hhciAqbG9uZ25hbWUsICpjbGFzc2lmaWNhdGlvbiwgKmRlc2NyaXB0aW9uOworKworKyAgaW5fcGx1Z2luID0KKysgICAgICAoQVZDb2RlYyAqKSBnX3R5cGVfZ2V0X3FkYXRhIChHX09CSkVDVF9DTEFTU19UWVBFIChrbGFzcyksCisrICAgICAgR1NUX0ZGREVDX1BBUkFNU19RREFUQSk7CisrICBnX2Fzc2VydCAoaW5fcGx1Z2luICE9IE5VTEwpOworKworKyAgLyogY29uc3RydWN0IHRoZSBlbGVtZW50IGRldGFpbHMgc3RydWN0ICovCisrICBsb25nbmFtZSA9IGdfc3RyZHVwX3ByaW50ZiAoIkZGbXBlZyAlcyBkZWNvZGVyIiwgaW5fcGx1Z2luLT5sb25nX25hbWUpOworKyAgY2xhc3NpZmljYXRpb24gPSBnX3N0cmR1cF9wcmludGYgKCJDb2RlYy9EZWNvZGVyLyVzIiwKKysgICAgICAoaW5fcGx1Z2luLT50eXBlID09IEFWTUVESUFfVFlQRV9WSURFTykgPyAiVmlkZW8iIDogIkF1ZGlvIik7CisrICBkZXNjcmlwdGlvbiA9IGdfc3RyZHVwX3ByaW50ZiAoIkZGbXBlZyAlcyBkZWNvZGVyIiwgaW5fcGx1Z2luLT5uYW1lKTsKKysgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSAoZWxlbWVudF9jbGFzcywgbG9uZ25hbWUsIGNsYXNzaWZpY2F0aW9uLAorKyAgICAgIGRlc2NyaXB0aW9uLAorKyAgICAgICJXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPiwgIgorKyAgICAgICJSb25hbGQgQnVsdGplIDxyYnVsdGplQHJvbmFsZC5iaXRmcmVhay5uZXQ+LCAiCisrICAgICAgIkVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+Iik7CisrICBnX2ZyZWUgKGxvbmduYW1lKTsKKysgIGdfZnJlZSAoY2xhc3NpZmljYXRpb24pOworKyAgZ19mcmVlIChkZXNjcmlwdGlvbik7CisrCisrICAvKiBnZXQgdGhlIGNhcHMgKi8KKysgIHNpbmtjYXBzID0gZ3N0X2ZmbXBlZ19jb2RlY2lkX3RvX2NhcHMgKGluX3BsdWdpbi0+aWQsIE5VTEwsIEZBTFNFKTsKKysgIGlmICghc2lua2NhcHMpIHsKKysgICAgR1NUX0RFQlVHICgiQ291bGRuJ3QgZ2V0IHNpbmsgY2FwcyBmb3IgZGVjb2RlciAnJXMnIiwgaW5fcGx1Z2luLT5uYW1lKTsKKysgICAgc2lua2NhcHMgPSBnc3RfY2Fwc19mcm9tX3N0cmluZyAoInVua25vd24vdW5rbm93biIpOworKyAgfQorKyAgaWYgKGluX3BsdWdpbi0+dHlwZSA9PSBBVk1FRElBX1RZUEVfVklERU8pIHsKKysgICAgc3JjY2FwcyA9IGdzdF9jYXBzX2Zyb21fc3RyaW5nICgidmlkZW8veC1yYXctcmdiOyB2aWRlby94LXJhdy15dXYiKTsKKysgIH0gZWxzZSB7CisrICAgIHNyY2NhcHMgPSBnc3RfZmZtcGVnX2NvZGVjdHlwZV90b19hdWRpb19jYXBzIChOVUxMLAorKyAgICAgICAgaW5fcGx1Z2luLT5pZCwgRkFMU0UsIGluX3BsdWdpbik7CisrICB9CisrICBpZiAoIXNyY2NhcHMpIHsKKysgICAgR1NUX0RFQlVHICgiQ291bGRuJ3QgZ2V0IHNvdXJjZSBjYXBzIGZvciBkZWNvZGVyICclcyciLCBpbl9wbHVnaW4tPm5hbWUpOworKyAgICBzcmNjYXBzID0gZ3N0X2NhcHNfZnJvbV9zdHJpbmcgKCJ1bmtub3duL3Vua25vd24iKTsKKysgIH0KKysKKysgIC8qIHBhZCB0ZW1wbGF0ZXMgKi8KKysgIHNpbmt0ZW1wbCA9IGdzdF9wYWRfdGVtcGxhdGVfbmV3ICgic2luayIsIEdTVF9QQURfU0lOSywKKysgICAgICBHU1RfUEFEX0FMV0FZUywgc2lua2NhcHMpOworKyAgc3JjdGVtcGwgPSBnc3RfcGFkX3RlbXBsYXRlX25ldyAoInNyYyIsIEdTVF9QQURfU1JDLCBHU1RfUEFEX0FMV0FZUywgc3JjY2Fwcyk7CisrCisrICBnc3RfZWxlbWVudF9jbGFzc19hZGRfcGFkX3RlbXBsYXRlIChlbGVtZW50X2NsYXNzLCBzcmN0ZW1wbCk7CisrICBnc3RfZWxlbWVudF9jbGFzc19hZGRfcGFkX3RlbXBsYXRlIChlbGVtZW50X2NsYXNzLCBzaW5rdGVtcGwpOworKworKyAga2xhc3MtPmluX3BsdWdpbiA9IGluX3BsdWdpbjsKKysgIGtsYXNzLT5zcmN0ZW1wbCA9IHNyY3RlbXBsOworKyAga2xhc3MtPnNpbmt0ZW1wbCA9IHNpbmt0ZW1wbDsKKyt9CisrCisrc3RhdGljIHZvaWQKKytnc3RfZmZtcGVnZGVjX2NsYXNzX2luaXQgKEdzdEZGTXBlZ0RlY0NsYXNzICoga2xhc3MpCisreworKyAgR09iamVjdENsYXNzICpnb2JqZWN0X2NsYXNzID0gR19PQkpFQ1RfQ0xBU1MgKGtsYXNzKTsKKysgIEdzdEVsZW1lbnRDbGFzcyAqZ3N0ZWxlbWVudF9jbGFzcyA9IEdTVF9FTEVNRU5UX0NMQVNTIChrbGFzcyk7CisrCisrICBwYXJlbnRfY2xhc3MgPSBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQgKGtsYXNzKTsKKysKKysgIGdvYmplY3RfY2xhc3MtPmZpbmFsaXplID0gZ3N0X2ZmbXBlZ2RlY19maW5hbGl6ZTsKKysKKysgIGdvYmplY3RfY2xhc3MtPnNldF9wcm9wZXJ0eSA9IGdzdF9mZm1wZWdkZWNfc2V0X3Byb3BlcnR5OworKyAgZ29iamVjdF9jbGFzcy0+Z2V0X3Byb3BlcnR5ID0gZ3N0X2ZmbXBlZ2RlY19nZXRfcHJvcGVydHk7CisrCisrICBpZiAoa2xhc3MtPmluX3BsdWdpbi0+dHlwZSA9PSBBVk1FRElBX1RZUEVfVklERU8pIHsKKysgICAgaW50IGNhcHM7CisrCisrICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkgKGdvYmplY3RfY2xhc3MsIFBST1BfU0tJUEZSQU1FLAorKyAgICAgICAgZ19wYXJhbV9zcGVjX2VudW0gKCJza2lwLWZyYW1lIiwgIlNraXAgZnJhbWVzIiwKKysgICAgICAgICAgICAiV2hpY2ggdHlwZXMgb2YgZnJhbWVzIHRvIHNraXAgZHVyaW5nIGRlY29kaW5nIiwKKysgICAgICAgICAgICBHU1RfRkZNUEVHREVDX1RZUEVfU0tJUEZSQU1FLCAwLAorKyAgICAgICAgICAgIEdfUEFSQU1fUkVBRFdSSVRFIHwgR19QQVJBTV9TVEFUSUNfU1RSSU5HUykpOworKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5IChnb2JqZWN0X2NsYXNzLCBQUk9QX0xPV1JFUywKKysgICAgICAgIGdfcGFyYW1fc3BlY19lbnVtICgibG93cmVzIiwgIkxvdyByZXNvbHV0aW9uIiwKKysgICAgICAgICAgICAiQXQgd2hpY2ggcmVzb2x1dGlvbiB0byBkZWNvZGUgaW1hZ2VzIiwgR1NUX0ZGTVBFR0RFQ19UWVBFX0xPV1JFUywKKysgICAgICAgICAgICAwLCBHX1BBUkFNX1JFQURXUklURSB8IEdfUEFSQU1fU1RBVElDX1NUUklOR1MpKTsKKysgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eSAoZ29iamVjdF9jbGFzcywgUFJPUF9ESVJFQ1RfUkVOREVSSU5HLAorKyAgICAgICAgZ19wYXJhbV9zcGVjX2Jvb2xlYW4gKCJkaXJlY3QtcmVuZGVyaW5nIiwgIkRpcmVjdCBSZW5kZXJpbmciLAorKyAgICAgICAgICAgICJFbmFibGUgZGlyZWN0IHJlbmRlcmluZyIsIERFRkFVTFRfRElSRUNUX1JFTkRFUklORywKKysgICAgICAgICAgICBHX1BBUkFNX1JFQURXUklURSB8IEdfUEFSQU1fU1RBVElDX1NUUklOR1MpKTsKKysgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eSAoZ29iamVjdF9jbGFzcywgUFJPUF9ET19QQURESU5HLAorKyAgICAgICAgZ19wYXJhbV9zcGVjX2Jvb2xlYW4gKCJkby1wYWRkaW5nIiwgIkRvIFBhZGRpbmciLAorKyAgICAgICAgICAgICJBZGQgMCBwYWRkaW5nIGJlZm9yZSBkZWNvZGluZyBkYXRhIiwgREVGQVVMVF9ET19QQURESU5HLAorKyAgICAgICAgICAgIEdfUEFSQU1fUkVBRFdSSVRFIHwgR19QQVJBTV9TVEFUSUNfU1RSSU5HUykpOworKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5IChnb2JqZWN0X2NsYXNzLCBQUk9QX0RFQlVHX01WLAorKyAgICAgICAgZ19wYXJhbV9zcGVjX2Jvb2xlYW4gKCJkZWJ1Zy1tdiIsICJEZWJ1ZyBtb3Rpb24gdmVjdG9ycyIsCisrICAgICAgICAgICAgIldoZXRoZXIgZmZtcGVnIHNob3VsZCBwcmludCBtb3Rpb24gdmVjdG9ycyBvbiB0b3Agb2YgdGhlIGltYWdlIiwKKysgICAgICAgICAgICBERUZBVUxUX0RFQlVHX01WLCBHX1BBUkFNX1JFQURXUklURSB8IEdfUEFSQU1fU1RBVElDX1NUUklOR1MpKTsKKysjaWYgMAorKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5IChnb2JqZWN0X2NsYXNzLCBQUk9QX0NST1AsCisrICAgICAgICBnX3BhcmFtX3NwZWNfYm9vbGVhbiAoImNyb3AiLCAiQ3JvcCIsCisrICAgICAgICAgICAgIkNyb3AgaW1hZ2VzIHRvIHRoZSBkaXNwbGF5IHJlZ2lvbiIsCisrICAgICAgICAgICAgREVGQVVMVF9DUk9QLCBHX1BBUkFNX1JFQURXUklURSB8IEdfUEFSQU1fU1RBVElDX1NUUklOR1MpKTsKKysjZW5kaWYKKysKKysgICAgY2FwcyA9IGtsYXNzLT5pbl9wbHVnaW4tPmNhcGFiaWxpdGllczsKKysgICAgaWYgKGNhcHMgJiAoQ09ERUNfQ0FQX0ZSQU1FX1RIUkVBRFMgfCBDT0RFQ19DQVBfU0xJQ0VfVEhSRUFEUykpIHsKKysgICAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5IChHX09CSkVDVF9DTEFTUyAoa2xhc3MpLCBQUk9QX01BWF9USFJFQURTLAorKyAgICAgICAgICBnX3BhcmFtX3NwZWNfaW50ICgibWF4LXRocmVhZHMiLCAiTWF4aW11bSBkZWNvZGUgdGhyZWFkcyIsCisrICAgICAgICAgICAgICAiTWF4aW11bSBudW1iZXIgb2Ygd29ya2VyIHRocmVhZHMgdG8gc3Bhd24uICgwID0gYXV0bykiLAorKyAgICAgICAgICAgICAgMCwgR19NQVhJTlQsIERFRkFVTFRfTUFYX1RIUkVBRFMsCisrICAgICAgICAgICAgICBHX1BBUkFNX1JFQURXUklURSB8IEdfUEFSQU1fU1RBVElDX1NUUklOR1MpKTsKKysgICAgfQorKyAgfQorKworKyAgZ3N0ZWxlbWVudF9jbGFzcy0+Y2hhbmdlX3N0YXRlID0gZ3N0X2ZmbXBlZ2RlY19jaGFuZ2Vfc3RhdGU7CisrfQorKworK3N0YXRpYyB2b2lkCisrZ3N0X2ZmbXBlZ2RlY19pbml0IChHc3RGRk1wZWdEZWMgKiBmZm1wZWdkZWMpCisreworKyAgR3N0RkZNcGVnRGVjQ2xhc3MgKm9jbGFzczsKKysKKysgIG9jbGFzcyA9IChHc3RGRk1wZWdEZWNDbGFzcyAqKSAoR19PQkpFQ1RfR0VUX0NMQVNTIChmZm1wZWdkZWMpKTsKKysKKysgIC8qIHNldHVwIHBhZHMgKi8KKysgIGZmbXBlZ2RlYy0+c2lua3BhZCA9IGdzdF9wYWRfbmV3X2Zyb21fdGVtcGxhdGUgKG9jbGFzcy0+c2lua3RlbXBsLCAic2luayIpOworKyAgZ3N0X3BhZF9zZXRfc2V0Y2Fwc19mdW5jdGlvbiAoZmZtcGVnZGVjLT5zaW5rcGFkLAorKyAgICAgIEdTVF9ERUJVR19GVU5DUFRSIChnc3RfZmZtcGVnZGVjX3NldGNhcHMpKTsKKysgIGdzdF9wYWRfc2V0X2V2ZW50X2Z1bmN0aW9uIChmZm1wZWdkZWMtPnNpbmtwYWQsCisrICAgICAgR1NUX0RFQlVHX0ZVTkNQVFIgKGdzdF9mZm1wZWdkZWNfc2lua19ldmVudCkpOworKyAgZ3N0X3BhZF9zZXRfY2hhaW5fZnVuY3Rpb24gKGZmbXBlZ2RlYy0+c2lua3BhZCwKKysgICAgICBHU1RfREVCVUdfRlVOQ1BUUiAoZ3N0X2ZmbXBlZ2RlY19jaGFpbikpOworKyAgZ3N0X2VsZW1lbnRfYWRkX3BhZCAoR1NUX0VMRU1FTlQgKGZmbXBlZ2RlYyksIGZmbXBlZ2RlYy0+c2lua3BhZCk7CisrCisrICBmZm1wZWdkZWMtPnNyY3BhZCA9IGdzdF9wYWRfbmV3X2Zyb21fdGVtcGxhdGUgKG9jbGFzcy0+c3JjdGVtcGwsICJzcmMiKTsKKysgIGdzdF9wYWRfdXNlX2ZpeGVkX2NhcHMgKGZmbXBlZ2RlYy0+c3JjcGFkKTsKKysgIGdzdF9wYWRfc2V0X2V2ZW50X2Z1bmN0aW9uIChmZm1wZWdkZWMtPnNyY3BhZCwKKysgICAgICBHU1RfREVCVUdfRlVOQ1BUUiAoZ3N0X2ZmbXBlZ2RlY19zcmNfZXZlbnQpKTsKKysgIGdzdF9wYWRfc2V0X3F1ZXJ5X2Z1bmN0aW9uIChmZm1wZWdkZWMtPnNyY3BhZCwKKysgICAgICBHU1RfREVCVUdfRlVOQ1BUUiAoZ3N0X2ZmbXBlZ2RlY19xdWVyeSkpOworKyAgZ3N0X2VsZW1lbnRfYWRkX3BhZCAoR1NUX0VMRU1FTlQgKGZmbXBlZ2RlYyksIGZmbXBlZ2RlYy0+c3JjcGFkKTsKKysKKysgIC8qIHNvbWUgZmZtcGVnIGRhdGEgKi8KKysgIGZmbXBlZ2RlYy0+Y29udGV4dCA9IGF2Y29kZWNfYWxsb2NfY29udGV4dCAoKTsKKysgIGZmbXBlZ2RlYy0+cGljdHVyZSA9IGF2Y29kZWNfYWxsb2NfZnJhbWUgKCk7CisrICBmZm1wZWdkZWMtPnBjdHggPSBOVUxMOworKyAgZmZtcGVnZGVjLT5wY2FjaGUgPSBOVUxMOworKyAgZmZtcGVnZGVjLT5wYXIgPSBOVUxMOworKyAgZmZtcGVnZGVjLT5vcGVuZWQgPSBGQUxTRTsKKysgIGZmbXBlZ2RlYy0+c2tpcF9mcmFtZSA9IGZmbXBlZ2RlYy0+bG93cmVzID0gMDsKKysgIGZmbXBlZ2RlYy0+ZGlyZWN0X3JlbmRlcmluZyA9IERFRkFVTFRfRElSRUNUX1JFTkRFUklORzsKKysgIGZmbXBlZ2RlYy0+ZG9fcGFkZGluZyA9IERFRkFVTFRfRE9fUEFERElORzsKKysgIGZmbXBlZ2RlYy0+ZGVidWdfbXYgPSBERUZBVUxUX0RFQlVHX01WOworKyAgZmZtcGVnZGVjLT5jcm9wID0gREVGQVVMVF9DUk9QOworKyAgZmZtcGVnZGVjLT5tYXhfdGhyZWFkcyA9IERFRkFVTFRfTUFYX1RIUkVBRFM7CisrCisrICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5wYXJfbiA9IC0xOworKyAgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uZnBzX24gPSAtMTsKKysgIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLm9sZF9mcHNfbiA9IC0xOworKyAgZ3N0X3NlZ21lbnRfaW5pdCAoJmZmbXBlZ2RlYy0+c2VnbWVudCwgR1NUX0ZPUk1BVF9USU1FKTsKKysKKysgIC8qIFdlIGluaXRpYWxseSBhc3N1bWUgZG93bnN0cmVhbSBjYW4gYWxsb2NhdGUgMTYgYnl0ZXMgYWxpZ25lZCBidWZmZXJzICovCisrICBmZm1wZWdkZWMtPmNhbl9hbGxvY2F0ZV9hbGlnbmVkID0gVFJVRTsKKyt9CisrCisrc3RhdGljIHZvaWQKKytnc3RfZmZtcGVnZGVjX2ZpbmFsaXplIChHT2JqZWN0ICogb2JqZWN0KQorK3sKKysgIEdzdEZGTXBlZ0RlYyAqZmZtcGVnZGVjID0gKEdzdEZGTXBlZ0RlYyAqKSBvYmplY3Q7CisrCisrICBpZiAoZmZtcGVnZGVjLT5jb250ZXh0ICE9IE5VTEwpIHsKKysgICAgYXZfZnJlZSAoZmZtcGVnZGVjLT5jb250ZXh0KTsKKysgICAgZmZtcGVnZGVjLT5jb250ZXh0ID0gTlVMTDsKKysgIH0KKysKKysgIGlmIChmZm1wZWdkZWMtPnBpY3R1cmUgIT0gTlVMTCkgeworKyAgICBhdl9mcmVlIChmZm1wZWdkZWMtPnBpY3R1cmUpOworKyAgICBmZm1wZWdkZWMtPnBpY3R1cmUgPSBOVUxMOworKyAgfQorKworKyAgR19PQkpFQ1RfQ0xBU1MgKHBhcmVudF9jbGFzcyktPmZpbmFsaXplIChvYmplY3QpOworK30KKysKKytzdGF0aWMgZ2Jvb2xlYW4KKytnc3RfZmZtcGVnZGVjX3F1ZXJ5IChHc3RQYWQgKiBwYWQsIEdzdFF1ZXJ5ICogcXVlcnkpCisreworKyAgR3N0RkZNcGVnRGVjICpmZm1wZWdkZWM7CisrICBHc3RQYWQgKnBlZXI7CisrICBnYm9vbGVhbiByZXM7CisrCisrICBmZm1wZWdkZWMgPSAoR3N0RkZNcGVnRGVjICopIGdzdF9wYWRfZ2V0X3BhcmVudCAocGFkKTsKKysKKysgIHJlcyA9IEZBTFNFOworKworKyAgaWYgKChwZWVyID0gZ3N0X3BhZF9nZXRfcGVlciAoZmZtcGVnZGVjLT5zaW5rcGFkKSkpIHsKKysgICAgLyoganVzdCBmb3J3YXJkIHRvIHBlZXIgKi8KKysgICAgcmVzID0gZ3N0X3BhZF9xdWVyeSAocGVlciwgcXVlcnkpOworKyAgICBnc3Rfb2JqZWN0X3VucmVmIChwZWVyKTsKKysgIH0KKysjaWYgMAorKyAgeworKyAgICBHc3RGb3JtYXQgYmZtdDsKKysKKysgICAgYmZtdCA9IEdTVF9GT1JNQVRfQllURVM7CisrCisrICAgIC8qIG9rLCBkbyBiaXRyYXRlIGNhbGMuLi4gKi8KKysgICAgaWYgKCh0eXBlICE9IEdTVF9RVUVSWV9QT1NJVElPTiAmJiB0eXBlICE9IEdTVF9RVUVSWV9UT1RBTCkgfHwKKysgICAgICAgICpmbXQgIT0gR1NUX0ZPUk1BVF9USU1FIHx8IGZmbXBlZ2RlYy0+Y29udGV4dC0+Yml0X3JhdGUgPT0gMCB8fAorKyAgICAgICAgIWdzdF9wYWRfcXVlcnkgKHBlZXIsIHR5cGUsICZiZm10LCB2YWx1ZSkpCisrICAgICAgcmV0dXJuIEZBTFNFOworKworKyAgICBpZiAoZmZtcGVnZGVjLT5wY2FjaGUgJiYgdHlwZSA9PSBHU1RfUVVFUllfUE9TSVRJT04pCisrICAgICAgKnZhbHVlIC09IEdTVF9CVUZGRVJfU0laRSAoZmZtcGVnZGVjLT5wY2FjaGUpOworKyAgICAqdmFsdWUgKj0gR1NUX1NFQ09ORCAvIGZmbXBlZ2RlYy0+Y29udGV4dC0+Yml0X3JhdGU7CisrICB9CisrI2VuZGlmCisrCisrICBnc3Rfb2JqZWN0X3VucmVmIChmZm1wZWdkZWMpOworKworKyAgcmV0dXJuIHJlczsKKyt9CisrCisrc3RhdGljIHZvaWQKKytnc3RfZmZtcGVnZGVjX3Jlc2V0X3RzIChHc3RGRk1wZWdEZWMgKiBmZm1wZWdkZWMpCisreworKyAgZmZtcGVnZGVjLT5sYXN0X2luID0gR1NUX0NMT0NLX1RJTUVfTk9ORTsKKysgIGZmbXBlZ2RlYy0+bGFzdF9kaWZmID0gR1NUX0NMT0NLX1RJTUVfTk9ORTsKKysgIGZmbXBlZ2RlYy0+bGFzdF9mcmFtZXMgPSAwOworKyAgZmZtcGVnZGVjLT5sYXN0X291dCA9IEdTVF9DTE9DS19USU1FX05PTkU7CisrICBmZm1wZWdkZWMtPm5leHRfb3V0ID0gR1NUX0NMT0NLX1RJTUVfTk9ORTsKKysgIGZmbXBlZ2RlYy0+cmVvcmRlcmVkX2luID0gRkFMU0U7CisrICBmZm1wZWdkZWMtPnJlb3JkZXJlZF9vdXQgPSBGQUxTRTsKKyt9CisrCisrc3RhdGljIHZvaWQKKytnc3RfZmZtcGVnZGVjX3VwZGF0ZV9xb3MgKEdzdEZGTXBlZ0RlYyAqIGZmbXBlZ2RlYywgZ2RvdWJsZSBwcm9wb3J0aW9uLAorKyAgICBHc3RDbG9ja1RpbWUgdGltZXN0YW1wKQorK3sKKysgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJ1cGRhdGUgUU9TOiAlZiwgJSIgR1NUX1RJTUVfRk9STUFULAorKyAgICAgIHByb3BvcnRpb24sIEdTVF9USU1FX0FSR1MgKHRpbWVzdGFtcCkpOworKworKyAgR1NUX09CSkVDVF9MT0NLIChmZm1wZWdkZWMpOworKyAgZmZtcGVnZGVjLT5wcm9wb3J0aW9uID0gcHJvcG9ydGlvbjsKKysgIGZmbXBlZ2RlYy0+ZWFybGllc3RfdGltZSA9IHRpbWVzdGFtcDsKKysgIEdTVF9PQkpFQ1RfVU5MT0NLIChmZm1wZWdkZWMpOworK30KKysKKytzdGF0aWMgdm9pZAorK2dzdF9mZm1wZWdkZWNfcmVzZXRfcW9zIChHc3RGRk1wZWdEZWMgKiBmZm1wZWdkZWMpCisreworKyAgZ3N0X2ZmbXBlZ2RlY191cGRhdGVfcW9zIChmZm1wZWdkZWMsIDAuNSwgR1NUX0NMT0NLX1RJTUVfTk9ORSk7CisrICBmZm1wZWdkZWMtPnByb2Nlc3NlZCA9IDA7CisrICBmZm1wZWdkZWMtPmRyb3BwZWQgPSAwOworK30KKysKKytzdGF0aWMgdm9pZAorK2dzdF9mZm1wZWdkZWNfcmVhZF9xb3MgKEdzdEZGTXBlZ0RlYyAqIGZmbXBlZ2RlYywgZ2RvdWJsZSAqIHByb3BvcnRpb24sCisrICAgIEdzdENsb2NrVGltZSAqIHRpbWVzdGFtcCkKKyt7CisrICBHU1RfT0JKRUNUX0xPQ0sgKGZmbXBlZ2RlYyk7CisrICAqcHJvcG9ydGlvbiA9IGZmbXBlZ2RlYy0+cHJvcG9ydGlvbjsKKysgICp0aW1lc3RhbXAgPSBmZm1wZWdkZWMtPmVhcmxpZXN0X3RpbWU7CisrICBHU1RfT0JKRUNUX1VOTE9DSyAoZmZtcGVnZGVjKTsKKyt9CisrCisrc3RhdGljIGdib29sZWFuCisrZ3N0X2ZmbXBlZ2RlY19zcmNfZXZlbnQgKEdzdFBhZCAqIHBhZCwgR3N0RXZlbnQgKiBldmVudCkKKyt7CisrICBHc3RGRk1wZWdEZWMgKmZmbXBlZ2RlYzsKKysgIGdib29sZWFuIHJlczsKKysKKysgIGZmbXBlZ2RlYyA9IChHc3RGRk1wZWdEZWMgKikgZ3N0X3BhZF9nZXRfcGFyZW50IChwYWQpOworKworKyAgc3dpdGNoIChHU1RfRVZFTlRfVFlQRSAoZXZlbnQpKSB7CisrICAgIGNhc2UgR1NUX0VWRU5UX1FPUzoKKysgICAgeworKyAgICAgIGdkb3VibGUgcHJvcG9ydGlvbjsKKysgICAgICBHc3RDbG9ja1RpbWVEaWZmIGRpZmY7CisrICAgICAgR3N0Q2xvY2tUaW1lIHRpbWVzdGFtcDsKKysKKysgICAgICBnc3RfZXZlbnRfcGFyc2VfcW9zIChldmVudCwgJnByb3BvcnRpb24sICZkaWZmLCAmdGltZXN0YW1wKTsKKysKKysgICAgICAvKiB1cGRhdGUgb3VyIFFvUyB2YWx1ZXMgKi8KKysgICAgICBnc3RfZmZtcGVnZGVjX3VwZGF0ZV9xb3MgKGZmbXBlZ2RlYywgcHJvcG9ydGlvbiwgdGltZXN0YW1wICsgZGlmZik7CisrCisrICAgICAgLyogZm9yd2FyZCB1cHN0cmVhbSAqLworKyAgICAgIHJlcyA9IGdzdF9wYWRfcHVzaF9ldmVudCAoZmZtcGVnZGVjLT5zaW5rcGFkLCBldmVudCk7CisrICAgICAgYnJlYWs7CisrICAgIH0KKysgICAgZGVmYXVsdDoKKysgICAgICAvKiBmb3J3YXJkIHVwc3RyZWFtICovCisrICAgICAgcmVzID0gZ3N0X3BhZF9wdXNoX2V2ZW50IChmZm1wZWdkZWMtPnNpbmtwYWQsIGV2ZW50KTsKKysgICAgICBicmVhazsKKysgIH0KKysKKysgIGdzdF9vYmplY3RfdW5yZWYgKGZmbXBlZ2RlYyk7CisrCisrICByZXR1cm4gcmVzOworK30KKysKKysvKiB3aXRoIExPQ0sgKi8KKytzdGF0aWMgdm9pZAorK2dzdF9mZm1wZWdkZWNfY2xvc2UgKEdzdEZGTXBlZ0RlYyAqIGZmbXBlZ2RlYykKKyt7CisrICBpZiAoIWZmbXBlZ2RlYy0+b3BlbmVkKQorKyAgICByZXR1cm47CisrCisrICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAiY2xvc2luZyBmZm1wZWcgY29kZWMiKTsKKysKKysgIGlmIChmZm1wZWdkZWMtPnBhcikgeworKyAgICBnX2ZyZWUgKGZmbXBlZ2RlYy0+cGFyKTsKKysgICAgZmZtcGVnZGVjLT5wYXIgPSBOVUxMOworKyAgfQorKworKyAgaWYgKGZmbXBlZ2RlYy0+Y29udGV4dC0+cHJpdl9kYXRhKQorKyAgICBnc3RfZmZtcGVnX2F2Y29kZWNfY2xvc2UgKGZmbXBlZ2RlYy0+Y29udGV4dCk7CisrICBmZm1wZWdkZWMtPm9wZW5lZCA9IEZBTFNFOworKworKyAgaWYgKGZmbXBlZ2RlYy0+Y29udGV4dC0+ZXh0cmFkYXRhKSB7CisrICAgIGF2X2ZyZWUgKGZmbXBlZ2RlYy0+Y29udGV4dC0+ZXh0cmFkYXRhKTsKKysgICAgZmZtcGVnZGVjLT5jb250ZXh0LT5leHRyYWRhdGEgPSBOVUxMOworKyAgfQorKworKyAgaWYgKGZmbXBlZ2RlYy0+cGN0eCkgeworKyAgICBpZiAoZmZtcGVnZGVjLT5wY2FjaGUpIHsKKysgICAgICBnc3RfYnVmZmVyX3VucmVmIChmZm1wZWdkZWMtPnBjYWNoZSk7CisrICAgICAgZmZtcGVnZGVjLT5wY2FjaGUgPSBOVUxMOworKyAgICB9CisrICAgIGF2X3BhcnNlcl9jbG9zZSAoZmZtcGVnZGVjLT5wY3R4KTsKKysgICAgZmZtcGVnZGVjLT5wY3R4ID0gTlVMTDsKKysgIH0KKysKKysgIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLnBhcl9uID0gLTE7CisrICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5mcHNfbiA9IC0xOworKyAgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8ub2xkX2Zwc19uID0gLTE7CisrICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5pbnRlcmxhY2VkID0gRkFMU0U7CisrfQorKworKy8qIHdpdGggTE9DSyAqLworK3N0YXRpYyBnYm9vbGVhbgorK2dzdF9mZm1wZWdkZWNfb3BlbiAoR3N0RkZNcGVnRGVjICogZmZtcGVnZGVjKQorK3sKKysgIEdzdEZGTXBlZ0RlY0NsYXNzICpvY2xhc3M7CisrCisrICBvY2xhc3MgPSAoR3N0RkZNcGVnRGVjQ2xhc3MgKikgKEdfT0JKRUNUX0dFVF9DTEFTUyAoZmZtcGVnZGVjKSk7CisrCisrICBpZiAoZ3N0X2ZmbXBlZ19hdmNvZGVjX29wZW4gKGZmbXBlZ2RlYy0+Y29udGV4dCwgb2NsYXNzLT5pbl9wbHVnaW4pIDwgMCkKKysgICAgZ290byBjb3VsZF9ub3Rfb3BlbjsKKysKKysgIGZmbXBlZ2RlYy0+b3BlbmVkID0gVFJVRTsKKysgIGZmbXBlZ2RlYy0+aXNfcmVhbHZpZGVvID0gRkFMU0U7CisrCisrICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAiT3BlbmVkIGZmbXBlZyBjb2RlYyAlcywgaWQgJWQiLAorKyAgICAgIG9jbGFzcy0+aW5fcGx1Z2luLT5uYW1lLCBvY2xhc3MtPmluX3BsdWdpbi0+aWQpOworKworKyAgLyogb3BlbiBhIHBhcnNlciBpZiB3ZSBjYW4gKi8KKysgIHN3aXRjaCAob2NsYXNzLT5pbl9wbHVnaW4tPmlkKSB7CisrICAgIGNhc2UgQ09ERUNfSURfTVBFRzQ6CisrICAgIGNhc2UgQ09ERUNfSURfTUpQRUc6CisrICAgIGNhc2UgQ09ERUNfSURfVkMxOgorKyAgICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJub3QgdXNpbmcgcGFyc2VyLCBibGFja2xpc3RlZCBjb2RlYyIpOworKyAgICAgIGZmbXBlZ2RlYy0+cGN0eCA9IE5VTEw7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgQ09ERUNfSURfSDI2NDoKKysgICAgICAvKiBGb3IgSDI2NCwgb25seSB1c2UgYSBwYXJzZXIgaWYgdGhlcmUgaXMgbm8gY29udGV4dCBkYXRhLCBpZiB0aGVyZSBpcywgCisrICAgICAgICogd2UncmUgdGFsa2luZyBBVkMgKi8KKysgICAgICBpZiAoZmZtcGVnZGVjLT5jb250ZXh0LT5leHRyYWRhdGFfc2l6ZSA9PSAwKSB7CisrICAgICAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAiSDI2NCB3aXRoIG5vIGV4dHJhZGF0YSwgY3JlYXRpbmcgcGFyc2VyIik7CisrICAgICAgICBmZm1wZWdkZWMtPnBjdHggPSBhdl9wYXJzZXJfaW5pdCAob2NsYXNzLT5pbl9wbHVnaW4tPmlkKTsKKysgICAgICB9IGVsc2UgeworKyAgICAgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywKKysgICAgICAgICAgICAiSDI2NCB3aXRoIGV4dHJhZGF0YSBpbXBsaWVzIGZyYW1lZCBkYXRhIC0gbm90IHVzaW5nIHBhcnNlciIpOworKyAgICAgICAgZmZtcGVnZGVjLT5wY3R4ID0gTlVMTDsKKysgICAgICB9CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgQ09ERUNfSURfUlYxMDoKKysgICAgY2FzZSBDT0RFQ19JRF9SVjMwOgorKyAgICBjYXNlIENPREVDX0lEX1JWMjA6CisrICAgIGNhc2UgQ09ERUNfSURfUlY0MDoKKysgICAgICBmZm1wZWdkZWMtPmlzX3JlYWx2aWRlbyA9IFRSVUU7CisrICAgICAgYnJlYWs7CisrICAgIGRlZmF1bHQ6CisrICAgICAgaWYgKCFmZm1wZWdkZWMtPnR1cm5vZmZfcGFyc2VyKSB7CisrICAgICAgICBmZm1wZWdkZWMtPnBjdHggPSBhdl9wYXJzZXJfaW5pdCAob2NsYXNzLT5pbl9wbHVnaW4tPmlkKTsKKysgICAgICAgIGlmIChmZm1wZWdkZWMtPnBjdHgpCisrICAgICAgICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJVc2luZyBwYXJzZXIgJXAiLCBmZm1wZWdkZWMtPnBjdHgpOworKyAgICAgICAgZWxzZQorKyAgICAgICAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAiTm8gcGFyc2VyIGZvciBjb2RlYyIpOworKyAgICAgIH0gZWxzZSB7CisrICAgICAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAiUGFyc2VyIGRlYWN0aXZhdGVkIGZvciBmb3JtYXQiKTsKKysgICAgICB9CisrICAgICAgYnJlYWs7CisrICB9CisrCisrICBzd2l0Y2ggKG9jbGFzcy0+aW5fcGx1Z2luLT50eXBlKSB7CisrICAgIGNhc2UgQVZNRURJQV9UWVBFX1ZJREVPOgorKyAgICAgIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLndpZHRoID0gMDsKKysgICAgICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5oZWlnaHQgPSAwOworKyAgICAgIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLmNsaXBfd2lkdGggPSAtMTsKKysgICAgICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5jbGlwX2hlaWdodCA9IC0xOworKyAgICAgIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLnBpeF9mbXQgPSBQSVhfRk1UX05COworKyAgICAgIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLmludGVybGFjZWQgPSBGQUxTRTsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBBVk1FRElBX1RZUEVfQVVESU86CisrICAgICAgZmZtcGVnZGVjLT5mb3JtYXQuYXVkaW8uc2FtcGxlcmF0ZSA9IDA7CisrICAgICAgZmZtcGVnZGVjLT5mb3JtYXQuYXVkaW8uY2hhbm5lbHMgPSAwOworKyAgICAgIGZmbXBlZ2RlYy0+Zm9ybWF0LmF1ZGlvLmRlcHRoID0gMDsKKysgICAgICBicmVhazsKKysgICAgZGVmYXVsdDoKKysgICAgICBicmVhazsKKysgIH0KKysKKysgIGdzdF9mZm1wZWdkZWNfcmVzZXRfdHMgKGZmbXBlZ2RlYyk7CisrICAvKiBGSVhNRSwgcmVzZXRfcW9zIGhvbGRzIHRoZSBMT0NLICovCisrICBmZm1wZWdkZWMtPnByb3BvcnRpb24gPSAwLjA7CisrICBmZm1wZWdkZWMtPmVhcmxpZXN0X3RpbWUgPSAtMTsKKysKKysgIHJldHVybiBUUlVFOworKworKyAgLyogRVJST1JTICovCisrY291bGRfbm90X29wZW46CisrICB7CisrICAgIGdzdF9mZm1wZWdkZWNfY2xvc2UgKGZmbXBlZ2RlYyk7CisrICAgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywgImZmZGVjXyVzOiBGYWlsZWQgdG8gb3BlbiBGRk1QRUcgY29kZWMiLAorKyAgICAgICAgb2NsYXNzLT5pbl9wbHVnaW4tPm5hbWUpOworKyAgICByZXR1cm4gRkFMU0U7CisrICB9CisrfQorKworK3N0YXRpYyBnYm9vbGVhbgorK2dzdF9mZm1wZWdkZWNfc2V0Y2FwcyAoR3N0UGFkICogcGFkLCBHc3RDYXBzICogY2FwcykKKyt7CisrICBHc3RGRk1wZWdEZWMgKmZmbXBlZ2RlYzsKKysgIEdzdEZGTXBlZ0RlY0NsYXNzICpvY2xhc3M7CisrICBHc3RTdHJ1Y3R1cmUgKnN0cnVjdHVyZTsKKysgIGNvbnN0IEdWYWx1ZSAqcGFyOworKyAgY29uc3QgR1ZhbHVlICpmcHM7CisrICBnYm9vbGVhbiByZXQgPSBUUlVFOworKworKyAgZmZtcGVnZGVjID0gKEdzdEZGTXBlZ0RlYyAqKSAoZ3N0X3BhZF9nZXRfcGFyZW50IChwYWQpKTsKKysgIG9jbGFzcyA9IChHc3RGRk1wZWdEZWNDbGFzcyAqKSAoR19PQkpFQ1RfR0VUX0NMQVNTIChmZm1wZWdkZWMpKTsKKysKKysgIEdTVF9ERUJVR19PQkpFQ1QgKHBhZCwgInNldGNhcHMgY2FsbGVkIik7CisrCisrICBHU1RfT0JKRUNUX0xPQ0sgKGZmbXBlZ2RlYyk7CisrCisrICAvKiBzdHVwaWQgY2hlY2sgZm9yIFZDMSAqLworKyAgaWYgKChvY2xhc3MtPmluX3BsdWdpbi0+aWQgPT0gQ09ERUNfSURfV01WMykgfHwKKysgICAgICAob2NsYXNzLT5pbl9wbHVnaW4tPmlkID09IENPREVDX0lEX1ZDMSkpCisrICAgIG9jbGFzcy0+aW5fcGx1Z2luLT5pZCA9IGdzdF9mZm1wZWdfY2Fwc190b19jb2RlY2lkIChjYXBzLCBOVUxMKTsKKysKKysgIC8qIGNsb3NlIG9sZCBzZXNzaW9uICovCisrICBpZiAoZmZtcGVnZGVjLT5vcGVuZWQpIHsKKysgICAgR1NUX09CSkVDVF9VTkxPQ0sgKGZmbXBlZ2RlYyk7CisrICAgIGdzdF9mZm1wZWdkZWNfZHJhaW4gKGZmbXBlZ2RlYyk7CisrICAgIEdTVF9PQkpFQ1RfTE9DSyAoZmZtcGVnZGVjKTsKKysgICAgZ3N0X2ZmbXBlZ2RlY19jbG9zZSAoZmZtcGVnZGVjKTsKKysKKysgICAgLyogYW5kIHJlc2V0IHRoZSBkZWZhdWx0cyB0aGF0IHdlcmUgc2V0IHdoZW4gYSBjb250ZXh0IGlzIGNyZWF0ZWQgKi8KKysgICAgYXZjb2RlY19nZXRfY29udGV4dF9kZWZhdWx0cyAoZmZtcGVnZGVjLT5jb250ZXh0KTsKKysgIH0KKysKKysgIC8qIHNldCBidWZmZXIgZnVuY3Rpb25zICovCisrICBmZm1wZWdkZWMtPmNvbnRleHQtPmdldF9idWZmZXIgPSBnc3RfZmZtcGVnZGVjX2dldF9idWZmZXI7CisrICBmZm1wZWdkZWMtPmNvbnRleHQtPnJlbGVhc2VfYnVmZmVyID0gZ3N0X2ZmbXBlZ2RlY19yZWxlYXNlX2J1ZmZlcjsKKysgIGZmbXBlZ2RlYy0+Y29udGV4dC0+ZHJhd19ob3Jpel9iYW5kID0gTlVMTDsKKysKKysgIC8qIGRlZmF1bHQgaXMgdG8gbGV0IGZvcm1hdCBkZWNpZGUgaWYgaXQgbmVlZHMgYSBwYXJzZXIgKi8KKysgIGZmbXBlZ2RlYy0+dHVybm9mZl9wYXJzZXIgPSBGQUxTRTsKKysKKysgIGZmbXBlZ2RlYy0+aGFzX2JfZnJhbWVzID0gRkFMU0U7CisrCisrICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAic2l6ZSAlZHglZCIsIGZmbXBlZ2RlYy0+Y29udGV4dC0+d2lkdGgsCisrICAgICAgZmZtcGVnZGVjLT5jb250ZXh0LT5oZWlnaHQpOworKworKyAgLyogZ2V0IHNpemUgYW5kIHNvICovCisrICBnc3RfZmZtcGVnX2NhcHNfd2l0aF9jb2RlY2lkIChvY2xhc3MtPmluX3BsdWdpbi0+aWQsCisrICAgICAgb2NsYXNzLT5pbl9wbHVnaW4tPnR5cGUsIGNhcHMsIGZmbXBlZ2RlYy0+Y29udGV4dCk7CisrCisrICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAic2l6ZSBhZnRlciAlZHglZCIsIGZmbXBlZ2RlYy0+Y29udGV4dC0+d2lkdGgsCisrICAgICAgZmZtcGVnZGVjLT5jb250ZXh0LT5oZWlnaHQpOworKworKyAgaWYgKCFmZm1wZWdkZWMtPmNvbnRleHQtPnRpbWVfYmFzZS5kZW4gfHwgIWZmbXBlZ2RlYy0+Y29udGV4dC0+dGltZV9iYXNlLm51bSkgeworKyAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJmb3JjaW5nIDI1LzEgZnJhbWVyYXRlIik7CisrICAgIGZmbXBlZ2RlYy0+Y29udGV4dC0+dGltZV9iYXNlLm51bSA9IDE7CisrICAgIGZmbXBlZ2RlYy0+Y29udGV4dC0+dGltZV9iYXNlLmRlbiA9IDI1OworKyAgfQorKworKyAgLyogZ2V0IHBpeGVsIGFzcGVjdCByYXRpbyBpZiBpdCdzIHNldCAqLworKyAgc3RydWN0dXJlID0gZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZSAoY2FwcywgMCk7CisrCisrICBwYXIgPSBnc3Rfc3RydWN0dXJlX2dldF92YWx1ZSAoc3RydWN0dXJlLCAicGl4ZWwtYXNwZWN0LXJhdGlvIik7CisrICBpZiAocGFyKSB7CisrICAgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywgInNpbmsgY2FwcyBoYXZlIHBpeGVsLWFzcGVjdC1yYXRpbyBvZiAlZDolZCIsCisrICAgICAgICBnc3RfdmFsdWVfZ2V0X2ZyYWN0aW9uX251bWVyYXRvciAocGFyKSwKKysgICAgICAgIGdzdF92YWx1ZV9nZXRfZnJhY3Rpb25fZGVub21pbmF0b3IgKHBhcikpOworKyAgICAvKiBzaG91bGQgYmUgTlVMTCAqLworKyAgICBpZiAoZmZtcGVnZGVjLT5wYXIpCisrICAgICAgZ19mcmVlIChmZm1wZWdkZWMtPnBhcik7CisrICAgIGZmbXBlZ2RlYy0+cGFyID0gZ19uZXcwIChHVmFsdWUsIDEpOworKyAgICBnc3RfdmFsdWVfaW5pdF9hbmRfY29weSAoZmZtcGVnZGVjLT5wYXIsIHBhcik7CisrICB9CisrCisrICAvKiBnZXQgdGhlIGZyYW1lcmF0ZSBmcm9tIGluY29taW5nIGNhcHMuIGZwc19uIGlzIHNldCB0byAtMSB3aGVuCisrICAgKiB0aGVyZSBpcyBubyB2YWxpZCBmcmFtZXJhdGUgKi8KKysgIGZwcyA9IGdzdF9zdHJ1Y3R1cmVfZ2V0X3ZhbHVlIChzdHJ1Y3R1cmUsICJmcmFtZXJhdGUiKTsKKysgIGlmIChmcHMgIT0gTlVMTCAmJiBHU1RfVkFMVUVfSE9MRFNfRlJBQ1RJT04gKGZwcykpIHsKKysgICAgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uZnBzX24gPSBnc3RfdmFsdWVfZ2V0X2ZyYWN0aW9uX251bWVyYXRvciAoZnBzKTsKKysgICAgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uZnBzX2QgPSBnc3RfdmFsdWVfZ2V0X2ZyYWN0aW9uX2Rlbm9taW5hdG9yIChmcHMpOworKyAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJVc2luZyBmcmFtZXJhdGUgJWQvJWQgZnJvbSBpbmNvbWluZyBjYXBzIiwKKysgICAgICAgIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLmZwc19uLCBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5mcHNfZCk7CisrICB9IGVsc2UgeworKyAgICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5mcHNfbiA9IC0xOworKyAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJVc2luZyBmcmFtZXJhdGUgZnJvbSBjb2RlYyIpOworKyAgfQorKworKyAgLyogZmlndXJlIG91dCBpZiB3ZSBjYW4gdXNlIGRpcmVjdCByZW5kZXJpbmcgKi8KKysgIGZmbXBlZ2RlYy0+Y3VycmVudF9kciA9IEZBTFNFOworKyAgZmZtcGVnZGVjLT5leHRyYV9yZWYgPSBGQUxTRTsKKysgIGlmIChmZm1wZWdkZWMtPmRpcmVjdF9yZW5kZXJpbmcpIHsKKysgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAidHJ5aW5nIHRvIGVuYWJsZSBkaXJlY3QgcmVuZGVyaW5nIik7CisrICAgIGlmIChvY2xhc3MtPmluX3BsdWdpbi0+Y2FwYWJpbGl0aWVzICYgQ09ERUNfQ0FQX0RSMSkgeworKyAgICAgIGlmIChvY2xhc3MtPmluX3BsdWdpbi0+aWQgPT0gQ09ERUNfSURfSDI2NCkgeworKyAgICAgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAiZGlzYWJsZSBkaXJlY3QgcmVuZGVyaW5nIHNldHVwIGZvciBIMjY0Iik7CisrICAgICAgICAvKiBkb2VzIG5vdCB3b3JrLCBtYW55IHN0dWZmIHJlYWRzIG91dHNpZGUgb2YgdGhlIHBsYW5lcyAqLworKyAgICAgICAgZmZtcGVnZGVjLT5jdXJyZW50X2RyID0gRkFMU0U7CisrICAgICAgICBmZm1wZWdkZWMtPmV4dHJhX3JlZiA9IFRSVUU7CisrICAgICAgfSBlbHNlIGlmICgob2NsYXNzLT5pbl9wbHVnaW4tPmlkID09IENPREVDX0lEX1NWUTEpIHx8CisrICAgICAgICAgIChvY2xhc3MtPmluX3BsdWdpbi0+aWQgPT0gQ09ERUNfSURfVlA1KSB8fAorKyAgICAgICAgICAob2NsYXNzLT5pbl9wbHVnaW4tPmlkID09IENPREVDX0lEX1ZQNikgfHwKKysgICAgICAgICAgKG9jbGFzcy0+aW5fcGx1Z2luLT5pZCA9PSBDT0RFQ19JRF9WUDZGKSB8fAorKyAgICAgICAgICAob2NsYXNzLT5pbl9wbHVnaW4tPmlkID09IENPREVDX0lEX1ZQNkEpKSB7CisrICAgICAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsCisrICAgICAgICAgICAgImRpc2FibGUgZGlyZWN0IHJlbmRlcmluZyBzZXR1cCBmb3IgYnJva2VuIHN0cmlkZSBzdXBwb3J0Iik7CisrICAgICAgICAvKiBkb2VzIG5vdCB3b3JrLCB1c2VzIGEgaW5jb21wYXRpYmxlIHN0cmlkZS4gU2VlICM2MTA2MTMgKi8KKysgICAgICAgIGZmbXBlZ2RlYy0+Y3VycmVudF9kciA9IEZBTFNFOworKyAgICAgICAgZmZtcGVnZGVjLT5leHRyYV9yZWYgPSBUUlVFOworKyAgICAgIH0gZWxzZSB7CisrICAgICAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJlbmFibGVkIGRpcmVjdCByZW5kZXJpbmciKTsKKysgICAgICAgIGZmbXBlZ2RlYy0+Y3VycmVudF9kciA9IFRSVUU7CisrICAgICAgfQorKyAgICB9IGVsc2UgeworKyAgICAgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywgImRpcmVjdCByZW5kZXJpbmcgbm90IHN1cHBvcnRlZCIpOworKyAgICB9CisrICB9CisrICBpZiAoZmZtcGVnZGVjLT5jdXJyZW50X2RyKSB7CisrICAgIC8qIGRvICpub3QqIGRyYXcgZWRnZXMgd2hlbiBpbiBkaXJlY3QgcmVuZGVyaW5nLCBmb3Igc29tZSByZWFzb24gaXQgZHJhd3MKKysgICAgICogb3V0c2lkZSBvZiB0aGUgbWVtb3J5LiAqLworKyAgICBmZm1wZWdkZWMtPmNvbnRleHQtPmZsYWdzIHw9IENPREVDX0ZMQUdfRU1VX0VER0U7CisrICB9CisrCisrICAvKiBmb3IgQUFDIHdlIG9ubHkgdXNlIGF2X3BhcnNlIGlmIG5vdCBvbiBzdHJlYW0tZm9ybWF0PT1yYXcgb3IgPT1sb2FzICovCisrICBpZiAob2NsYXNzLT5pbl9wbHVnaW4tPmlkID09IENPREVDX0lEX0FBQworKyAgICAgIHx8IG9jbGFzcy0+aW5fcGx1Z2luLT5pZCA9PSBDT0RFQ19JRF9BQUNfTEFUTSkgeworKyAgICBjb25zdCBnY2hhciAqZm9ybWF0ID0gZ3N0X3N0cnVjdHVyZV9nZXRfc3RyaW5nIChzdHJ1Y3R1cmUsICJzdHJlYW0tZm9ybWF0Iik7CisrCisrICAgIGlmIChmb3JtYXQgPT0gTlVMTCB8fCBzdHJjbXAgKGZvcm1hdCwgInJhdyIpID09IDApIHsKKysgICAgICBmZm1wZWdkZWMtPnR1cm5vZmZfcGFyc2VyID0gVFJVRTsKKysgICAgfQorKyAgfQorKworKyAgLyogZm9yIEZMQUMsIGRvbid0IHBhcnNlIGlmIGl0J3MgYWxyZWFkeSBwYXJzZWQgKi8KKysgIGlmIChvY2xhc3MtPmluX3BsdWdpbi0+aWQgPT0gQ09ERUNfSURfRkxBQykgeworKyAgICBpZiAoZ3N0X3N0cnVjdHVyZV9oYXNfZmllbGQgKHN0cnVjdHVyZSwgInN0cmVhbWhlYWRlciIpKQorKyAgICAgIGZmbXBlZ2RlYy0+dHVybm9mZl9wYXJzZXIgPSBUUlVFOworKyAgfQorKworKyAgLyogd29ya2Fyb3VuZCBlbmNvZGVyIGJ1Z3MgKi8KKysgIGZmbXBlZ2RlYy0+Y29udGV4dC0+d29ya2Fyb3VuZF9idWdzIHw9IEZGX0JVR19BVVRPREVURUNUOworKyAgZmZtcGVnZGVjLT5jb250ZXh0LT5lcnJfcmVjb2duaXRpb24gPSAxOworKworKyAgLyogZm9yIHNsb3cgY3B1cyAqLworKyAgZmZtcGVnZGVjLT5jb250ZXh0LT5sb3dyZXMgPSBmZm1wZWdkZWMtPmxvd3JlczsKKysgIGZmbXBlZ2RlYy0+Y29udGV4dC0+c2tpcF9mcmFtZSA9IGZmbXBlZ2RlYy0+c2tpcF9mcmFtZTsKKysKKysgIC8qIGZmbXBlZyBjYW4gZHJhdyBtb3Rpb24gdmVjdG9ycyBvbiB0b3Agb2YgdGhlIGltYWdlIChub3QgZXZlcnkgZGVjb2RlcgorKyAgICogc3VwcG9ydHMgaXQpICovCisrICBmZm1wZWdkZWMtPmNvbnRleHQtPmRlYnVnX212ID0gZmZtcGVnZGVjLT5kZWJ1Z19tdjsKKysKKysgIGlmIChmZm1wZWdkZWMtPm1heF90aHJlYWRzID09IDApCisrICAgIGZmbXBlZ2RlYy0+Y29udGV4dC0+dGhyZWFkX2NvdW50ID0gZ3N0X2ZmbXBlZ19hdXRvX21heF90aHJlYWRzICgpOworKyAgZWxzZQorKyAgICBmZm1wZWdkZWMtPmNvbnRleHQtPnRocmVhZF9jb3VudCA9IGZmbXBlZ2RlYy0+bWF4X3RocmVhZHM7CisrCisrICAvKiBvcGVuIGNvZGVjIC0gd2UgZG9uJ3Qgc2VsZWN0IGFuIG91dHB1dCBwaXhfZm10IHlldCwKKysgICAqIHNpbXBseSBiZWNhdXNlIHdlIGRvbid0IGtub3chIFdlIG9ubHkgZ2V0IGl0CisrICAgKiBkdXJpbmcgcGxheWJhY2suLi4gKi8KKysgIGlmICghZ3N0X2ZmbXBlZ2RlY19vcGVuIChmZm1wZWdkZWMpKQorKyAgICBnb3RvIG9wZW5fZmFpbGVkOworKworKyAgLyogY2xpcHBpbmcgcmVnaW9uICovCisrICBnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgIndpZHRoIiwKKysgICAgICAmZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uY2xpcF93aWR0aCk7CisrICBnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgImhlaWdodCIsCisrICAgICAgJmZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLmNsaXBfaGVpZ2h0KTsKKysKKysgIEdTVF9ERUJVR19PQkpFQ1QgKHBhZCwgImNsaXBwaW5nIHRvICVkeCVkIiwKKysgICAgICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5jbGlwX3dpZHRoLCBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5jbGlwX2hlaWdodCk7CisrCisrICAvKiB0YWtlIGludG8gYWNjb3VudCB0aGUgbG93cmVzIHByb3BlcnR5ICovCisrICBpZiAoZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uY2xpcF93aWR0aCAhPSAtMSkKKysgICAgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uY2xpcF93aWR0aCA+Pj0gZmZtcGVnZGVjLT5sb3dyZXM7CisrICBpZiAoZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uY2xpcF9oZWlnaHQgIT0gLTEpCisrICAgIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLmNsaXBfaGVpZ2h0ID4+PSBmZm1wZWdkZWMtPmxvd3JlczsKKysKKysgIEdTVF9ERUJVR19PQkpFQ1QgKHBhZCwgImZpbmFsIGNsaXBwaW5nIHRvICVkeCVkIiwKKysgICAgICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5jbGlwX3dpZHRoLCBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5jbGlwX2hlaWdodCk7CisrCisrZG9uZToKKysgIEdTVF9PQkpFQ1RfVU5MT0NLIChmZm1wZWdkZWMpOworKworKyAgZ3N0X29iamVjdF91bnJlZiAoZmZtcGVnZGVjKTsKKysKKysgIHJldHVybiByZXQ7CisrCisrICAvKiBFUlJPUlMgKi8KKytvcGVuX2ZhaWxlZDoKKysgIHsKKysgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAiRmFpbGVkIHRvIG9wZW4iKTsKKysgICAgaWYgKGZmbXBlZ2RlYy0+cGFyKSB7CisrICAgICAgZ19mcmVlIChmZm1wZWdkZWMtPnBhcik7CisrICAgICAgZmZtcGVnZGVjLT5wYXIgPSBOVUxMOworKyAgICB9CisrICAgIHJldCA9IEZBTFNFOworKyAgICBnb3RvIGRvbmU7CisrICB9CisrfQorKworK3N0YXRpYyBHc3RGbG93UmV0dXJuCisrYWxsb2Nfb3V0cHV0X2J1ZmZlciAoR3N0RkZNcGVnRGVjICogZmZtcGVnZGVjLCBHc3RCdWZmZXIgKiogb3V0YnVmLAorKyAgICBnaW50IHdpZHRoLCBnaW50IGhlaWdodCkKKyt7CisrICBHc3RGbG93UmV0dXJuIHJldDsKKysgIGdpbnQgZnNpemU7CisrCisrICByZXQgPSBHU1RfRkxPV19FUlJPUjsKKysgICpvdXRidWYgPSBOVUxMOworKworKyAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgImFsbG9jIG91dHB1dCBidWZmZXIiKTsKKysKKysgIC8qIHNlZSBpZiB3ZSBuZWVkIHJlbmVnb3RpYXRpb24gKi8KKysgIGlmIChHX1VOTElLRUxZICghZ3N0X2ZmbXBlZ2RlY19uZWdvdGlhdGUgKGZmbXBlZ2RlYywgRkFMU0UpKSkKKysgICAgZ290byBuZWdvdGlhdGVfZmFpbGVkOworKworKyAgLyogZ2V0IHRoZSBzaXplIG9mIHRoZSBnc3RyZWFtZXIgb3V0cHV0IGJ1ZmZlciBnaXZlbiBhCisrICAgKiB3aWR0aC9oZWlnaHQvZm9ybWF0ICovCisrICBmc2l6ZSA9IGdzdF9mZm1wZWdfYXZwaWN0dXJlX2dldF9zaXplIChmZm1wZWdkZWMtPmNvbnRleHQtPnBpeF9mbXQsCisrICAgICAgd2lkdGgsIGhlaWdodCk7CisrCisrICBpZiAoZmZtcGVnZGVjLT5jYW5fYWxsb2NhdGVfYWxpZ25lZCkgeworKyAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAiY2FsbGluZyBwYWRfYWxsb2MiKTsKKysgICAgLyogbm8gcGFsbGV0ZSwgd2UgY2FuIHVzZSB0aGUgYnVmZmVyIHNpemUgdG8gYWxsb2MgKi8KKysgICAgcmV0ID0gZ3N0X3BhZF9hbGxvY19idWZmZXJfYW5kX3NldF9jYXBzIChmZm1wZWdkZWMtPnNyY3BhZCwKKysgICAgICAgIEdTVF9CVUZGRVJfT0ZGU0VUX05PTkUsIGZzaXplLAorKyAgICAgICAgR1NUX1BBRF9DQVBTIChmZm1wZWdkZWMtPnNyY3BhZCksIG91dGJ1Zik7CisrICAgIGlmIChHX1VOTElLRUxZIChyZXQgIT0gR1NUX0ZMT1dfT0spKQorKyAgICAgIGdvdG8gYWxsb2NfZmFpbGVkOworKworKyAgICAvKiBJZiBidWZmZXIgaXNuJ3QgMTI4LWJpdCBhbGlnbmVkLCBjcmVhdGUgYSBtZW1hbGlnbmVkIG9uZSBvdXJzZWx2ZXMgKi8KKysgICAgaWYgKCgodWludHB0cl90KSBHU1RfQlVGRkVSX0RBVEEgKCpvdXRidWYpKSAlIDE2KSB7CisrICAgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLAorKyAgICAgICAgICAiRG93bnN0cmVhbSBjYW4ndCBhbGxvY2F0ZSBhbGlnbmVkIGJ1ZmZlcnMuIik7CisrICAgICAgZmZtcGVnZGVjLT5jYW5fYWxsb2NhdGVfYWxpZ25lZCA9IEZBTFNFOworKyAgICAgIGdzdF9idWZmZXJfdW5yZWYgKCpvdXRidWYpOworKyAgICAgICpvdXRidWYgPSBuZXdfYWxpZ25lZF9idWZmZXIgKGZzaXplLCBHU1RfUEFEX0NBUFMgKGZmbXBlZ2RlYy0+c3JjcGFkKSk7CisrICAgIH0KKysgIH0gZWxzZSB7CisrICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsCisrICAgICAgICAibm90IGNhbGxpbmcgcGFkX2FsbG9jLCB3ZSBoYXZlIGEgcGFsbGV0ZSBvciBkb3duc3RyZWFtIGNhbid0IGdpdmUgMTYgYnl0ZSBhbGlnbmVkIGJ1ZmZlcnMuIik7CisrICAgIC8qIGZvciBwYWxldHRlZCBkYXRhIHdlIGNhbid0IHVzZSBwYWRfYWxsb2NfYnVmZmVyKCksIGJlY2F1c2UKKysgICAgICogZnNpemUgY29udGFpbnMgdGhlIHNpemUgb2YgdGhlIHBhbGV0dGUsIHNvIHRoZSBvdmVyYWxsIHNpemUKKysgICAgICogaXMgYmlnZ2VyIHRoYW4gZmZtcGVnY29sb3JzcGFjZSdzIHVuaXQgc2l6ZSwgd2hpY2ggd2lsbAorKyAgICAgKiBwcm9tcHQgR3N0QmFzZVRyYW5zZm9ybSB0byBjb21wbGFpbiBlbmRsZXNzbHkgLi4uICovCisrICAgICpvdXRidWYgPSBuZXdfYWxpZ25lZF9idWZmZXIgKGZzaXplLCBHU1RfUEFEX0NBUFMgKGZmbXBlZ2RlYy0+c3JjcGFkKSk7CisrICAgIHJldCA9IEdTVF9GTE9XX09LOworKyAgfQorKyAgLyogc2V0IGNhcHMsIHdlIGRvIHRoaXMgaGVyZSBiZWNhdXNlIHRoZSBidWZmZXIgaXMgc3RpbGwgd3JpdGFibGUgaGVyZSBhbmQgd2UKKysgICAqIGFyZSBzdXJlIHRvIGJlIG5lZ290aWF0ZWQgKi8KKysgIGdzdF9idWZmZXJfc2V0X2NhcHMgKCpvdXRidWYsIEdTVF9QQURfQ0FQUyAoZmZtcGVnZGVjLT5zcmNwYWQpKTsKKysKKysgIHJldHVybiByZXQ7CisrCisrICAvKiBzcGVjaWFsIGNhc2VzICovCisrbmVnb3RpYXRlX2ZhaWxlZDoKKysgIHsKKysgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAibmVnb3RpYXRlIGZhaWxlZCIpOworKyAgICByZXR1cm4gR1NUX0ZMT1dfTk9UX05FR09USUFURUQ7CisrICB9CisrYWxsb2NfZmFpbGVkOgorKyAgeworKyAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJwYWRfYWxsb2MgZmFpbGVkICVkICglcykiLCByZXQsCisrICAgICAgICBnc3RfZmxvd19nZXRfbmFtZSAocmV0KSk7CisrICAgIHJldHVybiByZXQ7CisrICB9CisrfQorKworK3N0YXRpYyBpbnQKKytnc3RfZmZtcGVnZGVjX2dldF9idWZmZXIgKEFWQ29kZWNDb250ZXh0ICogY29udGV4dCwgQVZGcmFtZSAqIHBpY3R1cmUpCisreworKyAgR3N0QnVmZmVyICpidWYgPSBOVUxMOworKyAgR3N0RkZNcGVnRGVjICpmZm1wZWdkZWM7CisrICBnaW50IHdpZHRoLCBoZWlnaHQ7CisrICBnaW50IGNvZGVkX3dpZHRoLCBjb2RlZF9oZWlnaHQ7CisrICBnaW50IHJlczsKKysKKysgIGZmbXBlZ2RlYyA9IChHc3RGRk1wZWdEZWMgKikgY29udGV4dC0+b3BhcXVlOworKworKyAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAiZ2V0dGluZyBidWZmZXIiKTsKKysKKysgIC8qIGFwcGx5IHRoZSBsYXN0IGluZm8gd2UgaGF2ZSBzZWVuIHRvIHRoaXMgcGljdHVyZSwgd2hlbiB3ZSBnZXQgdGhlCisrICAgKiBwaWN0dXJlIGJhY2sgZnJvbSBmZm1wZWcgd2UgY2FuIHVzZSB0aGlzIHRvIGNvcnJlY3RseSB0aW1lc3RhbXAgdGhlIG91dHB1dAorKyAgICogYnVmZmVyICovCisrICBwaWN0dXJlLT5yZW9yZGVyZWRfb3BhcXVlID0gY29udGV4dC0+cmVvcmRlcmVkX29wYXF1ZTsKKysgIC8qIG1ha2Ugc3VyZSB3ZSBkb24ndCBmcmVlIHRoZSBidWZmZXIgd2hlbiBpdCdzIG5vdCBvdXJzICovCisrICBwaWN0dXJlLT5vcGFxdWUgPSBOVUxMOworKworKyAgLyogdGFrZSB3aWR0aCBhbmQgaGVpZ2h0IGJlZm9yZSBjbGlwcGluZyAqLworKyAgd2lkdGggPSBjb250ZXh0LT53aWR0aDsKKysgIGhlaWdodCA9IGNvbnRleHQtPmhlaWdodDsKKysgIGNvZGVkX3dpZHRoID0gY29udGV4dC0+Y29kZWRfd2lkdGg7CisrICBjb2RlZF9oZWlnaHQgPSBjb250ZXh0LT5jb2RlZF9oZWlnaHQ7CisrCisrICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAiZGltZW5zaW9uICVkeCVkLCBjb2RlZCAlZHglZCIsIHdpZHRoLCBoZWlnaHQsCisrICAgICAgY29kZWRfd2lkdGgsIGNvZGVkX2hlaWdodCk7CisrICBpZiAoIWZmbXBlZ2RlYy0+Y3VycmVudF9kcikgeworKyAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAiZGlyZWN0IHJlbmRlcmluZyBkaXNhYmxlZCwgZmFsbGJhY2sgYWxsb2MiKTsKKysgICAgcmVzID0gYXZjb2RlY19kZWZhdWx0X2dldF9idWZmZXIgKGNvbnRleHQsIHBpY3R1cmUpOworKworKyAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAibGluc2l6ZSAlZCAlZCAlZCIsIHBpY3R1cmUtPmxpbmVzaXplWzBdLAorKyAgICAgICAgcGljdHVyZS0+bGluZXNpemVbMV0sIHBpY3R1cmUtPmxpbmVzaXplWzJdKTsKKysgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgImRhdGEgJXUgJXUgJXUiLCAwLAorKyAgICAgICAgKGd1aW50KSAocGljdHVyZS0+ZGF0YVsxXSAtIHBpY3R1cmUtPmRhdGFbMF0pLAorKyAgICAgICAgKGd1aW50KSAocGljdHVyZS0+ZGF0YVsyXSAtIHBpY3R1cmUtPmRhdGFbMF0pKTsKKysgICAgcmV0dXJuIHJlczsKKysgIH0KKysKKysgIHN3aXRjaCAoY29udGV4dC0+Y29kZWNfdHlwZSkgeworKyAgICBjYXNlIEFWTUVESUFfVFlQRV9WSURFTzoKKysgICAgICAvKiBzb21lIGZmbXBlZyB2aWRlbyBwbHVnaW5zIGRvbid0IHNlZSB0aGUgcG9pbnQgaW4gc2V0dGluZyBjb2RlY190eXBlIC4uLiAqLworKyAgICBjYXNlIEFWTUVESUFfVFlQRV9VTktOT1dOOgorKyAgICB7CisrICAgICAgR3N0Rmxvd1JldHVybiByZXQ7CisrICAgICAgZ2ludCBjbGlwX3dpZHRoLCBjbGlwX2hlaWdodDsKKysKKysgICAgICAvKiB0YWtlIGZpbmFsIGNsaXBwZWQgb3V0cHV0IHNpemUgKi8KKysgICAgICBpZiAoKGNsaXBfd2lkdGggPSBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5jbGlwX3dpZHRoKSA9PSAtMSkKKysgICAgICAgIGNsaXBfd2lkdGggPSB3aWR0aDsKKysgICAgICBpZiAoKGNsaXBfaGVpZ2h0ID0gZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uY2xpcF9oZWlnaHQpID09IC0xKQorKyAgICAgICAgY2xpcF9oZWlnaHQgPSBoZWlnaHQ7CisrCisrICAgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgInJhdyBvdXRzaXplICVkLyVkIiwgd2lkdGgsIGhlaWdodCk7CisrCisrICAgICAgLyogdGhpcyBpcyB0aGUgc2l6ZSBmZm1wZWcgbmVlZHMgZm9yIHRoZSBidWZmZXIgKi8KKysgICAgICBhdmNvZGVjX2FsaWduX2RpbWVuc2lvbnMgKGNvbnRleHQsICZ3aWR0aCwgJmhlaWdodCk7CisrCisrICAgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgImFsaWduZWQgb3V0c2l6ZSAlZC8lZCwgY2xpcCAlZC8lZCIsCisrICAgICAgICAgIHdpZHRoLCBoZWlnaHQsIGNsaXBfd2lkdGgsIGNsaXBfaGVpZ2h0KTsKKysKKysgICAgICBpZiAod2lkdGggIT0gY2xpcF93aWR0aCB8fCBoZWlnaHQgIT0gY2xpcF9oZWlnaHQpIHsKKysgICAgICAgIC8qIFdlIGNhbid0IGFsbG9jIGlmIHdlIG5lZWQgdG8gY2xpcCB0aGUgb3V0cHV0IGJ1ZmZlciBsYXRlciAqLworKyAgICAgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgIndlIG5lZWQgY2xpcHBpbmcsIGZhbGxiYWNrIGFsbG9jIik7CisrICAgICAgICByZXR1cm4gYXZjb2RlY19kZWZhdWx0X2dldF9idWZmZXIgKGNvbnRleHQsIHBpY3R1cmUpOworKyAgICAgIH0KKysKKysgICAgICAvKiBhbGxvYyB3aXRoIGFsaWduZWQgZGltZW5zaW9ucyBmb3IgZmZtcGVnICovCisrICAgICAgcmV0ID0gYWxsb2Nfb3V0cHV0X2J1ZmZlciAoZmZtcGVnZGVjLCAmYnVmLCB3aWR0aCwgaGVpZ2h0KTsKKysgICAgICBpZiAoR19VTkxJS0VMWSAocmV0ICE9IEdTVF9GTE9XX09LKSkgeworKyAgICAgICAgLyogYWxsb2MgZGVmYXVsdCBidWZmZXIgd2hlbiB3ZSBjYW4ndCBnZXQgb25lIGZyb20gZG93bnN0cmVhbSAqLworKyAgICAgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgImFsbG9jIGZhaWxlZCwgZmFsbGJhY2sgYWxsb2MiKTsKKysgICAgICAgIHJldHVybiBhdmNvZGVjX2RlZmF1bHRfZ2V0X2J1ZmZlciAoY29udGV4dCwgcGljdHVyZSk7CisrICAgICAgfQorKworKyAgICAgIC8qIGNvcHkgdGhlIHJpZ2h0IHBvaW50ZXJzIGFuZCBzdHJpZGVzIGluIHRoZSBwaWN0dXJlIG9iamVjdCAqLworKyAgICAgIGdzdF9mZm1wZWdfYXZwaWN0dXJlX2ZpbGwgKChBVlBpY3R1cmUgKikgcGljdHVyZSwKKysgICAgICAgICAgR1NUX0JVRkZFUl9EQVRBIChidWYpLCBjb250ZXh0LT5waXhfZm10LCB3aWR0aCwgaGVpZ2h0KTsKKysgICAgICBicmVhazsKKysgICAgfQorKyAgICBjYXNlIEFWTUVESUFfVFlQRV9BVURJTzoKKysgICAgZGVmYXVsdDoKKysgICAgICBHU1RfRVJST1JfT0JKRUNUIChmZm1wZWdkZWMsCisrICAgICAgICAgICJfZ2V0X2J1ZmZlcigpIHNob3VsZCBuZXZlciBnZXQgY2FsbGVkIGZvciBub24tdmlkZW8gYnVmZmVycyAhIik7CisrICAgICAgZ19hc3NlcnRfbm90X3JlYWNoZWQgKCk7CisrICAgICAgYnJlYWs7CisrICB9CisrCisrICAvKiB0ZWxsIGZmbXBlZyB3ZSBvd24gdGhpcyBidWZmZXIsIHRyYW5mZXIgdGhlIHJlZiB3ZSBoYXZlIG9uIHRoZSBidWZmZXIgdG8KKysgICAqIHRoZSBvcGFxdWUgZGF0YS4gKi8KKysgIHBpY3R1cmUtPnR5cGUgPSBGRl9CVUZGRVJfVFlQRV9VU0VSOworKyAgcGljdHVyZS0+b3BhcXVlID0gYnVmOworKworKyNpZmRlZiBFWFRSQV9SRUYKKysgIGlmIChwaWN0dXJlLT5yZWZlcmVuY2UgIT0gMCB8fCBmZm1wZWdkZWMtPmV4dHJhX3JlZikgeworKyAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJhZGRpbmcgZXh0cmEgcmVmIik7CisrICAgIGdzdF9idWZmZXJfcmVmIChidWYpOworKyAgfQorKyNlbmRpZgorKworKyAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgInJldHVybmVkIGJ1ZmZlciAlcCIsIGJ1Zik7CisrCisrICByZXR1cm4gMDsKKyt9CisrCisrc3RhdGljIHZvaWQKKytnc3RfZmZtcGVnZGVjX3JlbGVhc2VfYnVmZmVyIChBVkNvZGVjQ29udGV4dCAqIGNvbnRleHQsIEFWRnJhbWUgKiBwaWN0dXJlKQorK3sKKysgIGdpbnQgaTsKKysgIEdzdEJ1ZmZlciAqYnVmOworKyAgR3N0RkZNcGVnRGVjICpmZm1wZWdkZWM7CisrCisrICBmZm1wZWdkZWMgPSAoR3N0RkZNcGVnRGVjICopIGNvbnRleHQtPm9wYXF1ZTsKKysKKysgIC8qIGNoZWNrIGlmIGl0IHdhcyBvdXIgYnVmZmVyICovCisrICBpZiAocGljdHVyZS0+b3BhcXVlID09IE5VTEwpIHsKKysgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAiZGVmYXVsdCByZWxlYXNlIGJ1ZmZlciIpOworKyAgICBhdmNvZGVjX2RlZmF1bHRfcmVsZWFzZV9idWZmZXIgKGNvbnRleHQsIHBpY3R1cmUpOworKyAgICByZXR1cm47CisrICB9CisrCisrICAvKiB3ZSByZW1vdmUgdGhlIG9wYXF1ZSBkYXRhIG5vdyAqLworKyAgYnVmID0gR1NUX0JVRkZFUl9DQVNUIChwaWN0dXJlLT5vcGFxdWUpOworKyAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAicmVsZWFzZSBidWZmZXIgJXAiLCBidWYpOworKyAgcGljdHVyZS0+b3BhcXVlID0gTlVMTDsKKysKKysjaWZkZWYgRVhUUkFfUkVGCisrICBpZiAocGljdHVyZS0+cmVmZXJlbmNlICE9IDAgfHwgZmZtcGVnZGVjLT5leHRyYV9yZWYpIHsKKysgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAicmVtb3ZlIGV4dHJhIHJlZiIpOworKyAgICBnc3RfYnVmZmVyX3VucmVmIChidWYpOworKyAgfQorKyNlbHNlCisrICBnc3RfYnVmZmVyX3VucmVmIChidWYpOworKyNlbmRpZgorKworKyAgLyogemVybyBvdXQgdGhlIHJlZmVyZW5jZSBpbiBmZm1wZWcgKi8KKysgIGZvciAoaSA9IDA7IGkgPCA0OyBpKyspIHsKKysgICAgcGljdHVyZS0+ZGF0YVtpXSA9IE5VTEw7CisrICAgIHBpY3R1cmUtPmxpbmVzaXplW2ldID0gMDsKKysgIH0KKyt9CisrCisrc3RhdGljIHZvaWQKKytnc3RfZmZtcGVnZGVjX2FkZF9waXhlbF9hc3BlY3RfcmF0aW8gKEdzdEZGTXBlZ0RlYyAqIGZmbXBlZ2RlYywKKysgICAgR3N0U3RydWN0dXJlICogcykKKyt7CisrICBnYm9vbGVhbiBkZW11eGVyX3Bhcl9zZXQgPSBGQUxTRTsKKysgIGdib29sZWFuIGRlY29kZXJfcGFyX3NldCA9IEZBTFNFOworKyAgZ2ludCBkZW11eGVyX251bSA9IDEsIGRlbXV4ZXJfZGVub20gPSAxOworKyAgZ2ludCBkZWNvZGVyX251bSA9IDEsIGRlY29kZXJfZGVub20gPSAxOworKworKyAgR1NUX09CSkVDVF9MT0NLIChmZm1wZWdkZWMpOworKworKyAgaWYgKGZmbXBlZ2RlYy0+cGFyKSB7CisrICAgIGRlbXV4ZXJfbnVtID0gZ3N0X3ZhbHVlX2dldF9mcmFjdGlvbl9udW1lcmF0b3IgKGZmbXBlZ2RlYy0+cGFyKTsKKysgICAgZGVtdXhlcl9kZW5vbSA9IGdzdF92YWx1ZV9nZXRfZnJhY3Rpb25fZGVub21pbmF0b3IgKGZmbXBlZ2RlYy0+cGFyKTsKKysgICAgZGVtdXhlcl9wYXJfc2V0ID0gVFJVRTsKKysgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAiRGVtdXhlciBQQVI6ICVkOiVkIiwgZGVtdXhlcl9udW0sCisrICAgICAgICBkZW11eGVyX2Rlbm9tKTsKKysgIH0KKysKKysgIGlmIChmZm1wZWdkZWMtPmNvbnRleHQtPnNhbXBsZV9hc3BlY3RfcmF0aW8ubnVtICYmCisrICAgICAgZmZtcGVnZGVjLT5jb250ZXh0LT5zYW1wbGVfYXNwZWN0X3JhdGlvLmRlbikgeworKyAgICBkZWNvZGVyX251bSA9IGZmbXBlZ2RlYy0+Y29udGV4dC0+c2FtcGxlX2FzcGVjdF9yYXRpby5udW07CisrICAgIGRlY29kZXJfZGVub20gPSBmZm1wZWdkZWMtPmNvbnRleHQtPnNhbXBsZV9hc3BlY3RfcmF0aW8uZGVuOworKyAgICBkZWNvZGVyX3Bhcl9zZXQgPSBUUlVFOworKyAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJEZWNvZGVyIFBBUjogJWQ6JWQiLCBkZWNvZGVyX251bSwKKysgICAgICAgIGRlY29kZXJfZGVub20pOworKyAgfQorKworKyAgR1NUX09CSkVDVF9VTkxPQ0sgKGZmbXBlZ2RlYyk7CisrCisrICBpZiAoIWRlbXV4ZXJfcGFyX3NldCAmJiAhZGVjb2Rlcl9wYXJfc2V0KQorKyAgICBnb3RvIG5vX3BhcjsKKysKKysgIGlmIChkZW11eGVyX3Bhcl9zZXQgJiYgIWRlY29kZXJfcGFyX3NldCkKKysgICAgZ290byB1c2VfZGVtdXhlcl9wYXI7CisrCisrICBpZiAoZGVjb2Rlcl9wYXJfc2V0ICYmICFkZW11eGVyX3Bhcl9zZXQpCisrICAgIGdvdG8gdXNlX2RlY29kZXJfcGFyOworKworKyAgLyogQm90aCB0aGUgZGVtdXhlciBhbmQgdGhlIGRlY29kZXIgcHJvdmlkZSBhIFBBUi4gSWYgb25lIG9mCisrICAgKiB0aGUgdHdvIFBBUnMgaXMgMToxIGFuZCB0aGUgb3RoZXIgb25lIGlzIG5vdCwgdXNlIHRoZSBvbmUKKysgICAqIHRoYXQgaXMgbm90IDE6MS4gKi8KKysgIGlmIChkZW11eGVyX251bSA9PSBkZW11eGVyX2Rlbm9tICYmIGRlY29kZXJfbnVtICE9IGRlY29kZXJfZGVub20pCisrICAgIGdvdG8gdXNlX2RlY29kZXJfcGFyOworKworKyAgaWYgKGRlY29kZXJfbnVtID09IGRlY29kZXJfZGVub20gJiYgZGVtdXhlcl9udW0gIT0gZGVtdXhlcl9kZW5vbSkKKysgICAgZ290byB1c2VfZGVtdXhlcl9wYXI7CisrCisrICAvKiBCb3RoIFBBUnMgYXJlIG5vbi0xOjEsIHNvIHVzZSB0aGUgUEFSIHByb3ZpZGVkIGJ5IHRoZSBkZW11eGVyICovCisrICBnb3RvIHVzZV9kZW11eGVyX3BhcjsKKysKKyt1c2VfZGVjb2Rlcl9wYXI6CisrICB7CisrICAgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywKKysgICAgICAgICJTZXR0aW5nIGRlY29kZXIgcHJvdmlkZWQgcGl4ZWwtYXNwZWN0LXJhdGlvIG9mICV1OiV1IiwgZGVjb2Rlcl9udW0sCisrICAgICAgICBkZWNvZGVyX2Rlbm9tKTsKKysgICAgZ3N0X3N0cnVjdHVyZV9zZXQgKHMsICJwaXhlbC1hc3BlY3QtcmF0aW8iLCBHU1RfVFlQRV9GUkFDVElPTiwgZGVjb2Rlcl9udW0sCisrICAgICAgICBkZWNvZGVyX2Rlbm9tLCBOVUxMKTsKKysgICAgcmV0dXJuOworKyAgfQorKworK3VzZV9kZW11eGVyX3BhcjoKKysgIHsKKysgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLAorKyAgICAgICAgIlNldHRpbmcgZGVtdXhlciBwcm92aWRlZCBwaXhlbC1hc3BlY3QtcmF0aW8gb2YgJXU6JXUiLCBkZW11eGVyX251bSwKKysgICAgICAgIGRlbXV4ZXJfZGVub20pOworKyAgICBnc3Rfc3RydWN0dXJlX3NldCAocywgInBpeGVsLWFzcGVjdC1yYXRpbyIsIEdTVF9UWVBFX0ZSQUNUSU9OLCBkZW11eGVyX251bSwKKysgICAgICAgIGRlbXV4ZXJfZGVub20sIE5VTEwpOworKyAgICByZXR1cm47CisrICB9Cisrbm9fcGFyOgorKyAgeworKyAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsCisrICAgICAgICAiTmVpdGhlciBkZW11eGVyIG5vciBjb2RlYyBwcm92aWRlIGEgcGl4ZWwtYXNwZWN0LXJhdGlvIik7CisrICAgIHJldHVybjsKKysgIH0KKyt9CisrCisrc3RhdGljIGdib29sZWFuCisrZ3N0X2ZmbXBlZ2RlY19uZWdvdGlhdGUgKEdzdEZGTXBlZ0RlYyAqIGZmbXBlZ2RlYywgZ2Jvb2xlYW4gZm9yY2UpCisreworKyAgR3N0RkZNcGVnRGVjQ2xhc3MgKm9jbGFzczsKKysgIEdzdENhcHMgKmNhcHM7CisrCisrICBvY2xhc3MgPSAoR3N0RkZNcGVnRGVjQ2xhc3MgKikgKEdfT0JKRUNUX0dFVF9DTEFTUyAoZmZtcGVnZGVjKSk7CisrCisrICBzd2l0Y2ggKG9jbGFzcy0+aW5fcGx1Z2luLT50eXBlKSB7CisrICAgIGNhc2UgQVZNRURJQV9UWVBFX1ZJREVPOgorKyAgICAgIGlmICghZm9yY2UgJiYgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8ud2lkdGggPT0gZmZtcGVnZGVjLT5jb250ZXh0LT53aWR0aAorKyAgICAgICAgICAmJiBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5oZWlnaHQgPT0gZmZtcGVnZGVjLT5jb250ZXh0LT5oZWlnaHQKKysgICAgICAgICAgJiYgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uZnBzX24gPT0gZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8ub2xkX2Zwc19uCisrICAgICAgICAgICYmIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLmZwc19kID09IGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLm9sZF9mcHNfZAorKyAgICAgICAgICAmJiBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5waXhfZm10ID09IGZmbXBlZ2RlYy0+Y29udGV4dC0+cGl4X2ZtdAorKyAgICAgICAgICAmJiBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5wYXJfbiA9PQorKyAgICAgICAgICBmZm1wZWdkZWMtPmNvbnRleHQtPnNhbXBsZV9hc3BlY3RfcmF0aW8ubnVtCisrICAgICAgICAgICYmIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLnBhcl9kID09CisrICAgICAgICAgIGZmbXBlZ2RlYy0+Y29udGV4dC0+c2FtcGxlX2FzcGVjdF9yYXRpby5kZW4pCisrICAgICAgICByZXR1cm4gVFJVRTsKKysgICAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsCisrICAgICAgICAgICJSZW5lZ290aWF0aW5nIHZpZGVvIGZyb20gJWR4JWRAICVkOiVkIFBBUiAlZC8lZCBmcHMgdG8gJWR4JWRAICVkOiVkIFBBUiAlZC8lZCBmcHMiLAorKyAgICAgICAgICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby53aWR0aCwgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uaGVpZ2h0LAorKyAgICAgICAgICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5wYXJfbiwgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8ucGFyX2QsCisrICAgICAgICAgIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLm9sZF9mcHNfbiwgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8ub2xkX2Zwc19uLAorKyAgICAgICAgICBmZm1wZWdkZWMtPmNvbnRleHQtPndpZHRoLCBmZm1wZWdkZWMtPmNvbnRleHQtPmhlaWdodCwKKysgICAgICAgICAgZmZtcGVnZGVjLT5jb250ZXh0LT5zYW1wbGVfYXNwZWN0X3JhdGlvLm51bSwKKysgICAgICAgICAgZmZtcGVnZGVjLT5jb250ZXh0LT5zYW1wbGVfYXNwZWN0X3JhdGlvLmRlbiwKKysgICAgICAgICAgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uZnBzX24sIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLmZwc19kKTsKKysgICAgICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby53aWR0aCA9IGZmbXBlZ2RlYy0+Y29udGV4dC0+d2lkdGg7CisrICAgICAgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uaGVpZ2h0ID0gZmZtcGVnZGVjLT5jb250ZXh0LT5oZWlnaHQ7CisrICAgICAgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8ub2xkX2Zwc19uID0gZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uZnBzX247CisrICAgICAgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8ub2xkX2Zwc19kID0gZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uZnBzX2Q7CisrICAgICAgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8ucGl4X2ZtdCA9IGZmbXBlZ2RlYy0+Y29udGV4dC0+cGl4X2ZtdDsKKysgICAgICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5wYXJfbiA9CisrICAgICAgICAgIGZmbXBlZ2RlYy0+Y29udGV4dC0+c2FtcGxlX2FzcGVjdF9yYXRpby5udW07CisrICAgICAgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8ucGFyX2QgPQorKyAgICAgICAgICBmZm1wZWdkZWMtPmNvbnRleHQtPnNhbXBsZV9hc3BlY3RfcmF0aW8uZGVuOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIEFWTUVESUFfVFlQRV9BVURJTzoKKysgICAgeworKyAgICAgIGdpbnQgZGVwdGggPSBhdl9zbXBfZm9ybWF0X2RlcHRoIChmZm1wZWdkZWMtPmNvbnRleHQtPnNhbXBsZV9mbXQpOworKyAgICAgIGlmICghZm9yY2UgJiYgZmZtcGVnZGVjLT5mb3JtYXQuYXVkaW8uc2FtcGxlcmF0ZSA9PQorKyAgICAgICAgICBmZm1wZWdkZWMtPmNvbnRleHQtPnNhbXBsZV9yYXRlICYmCisrICAgICAgICAgIGZmbXBlZ2RlYy0+Zm9ybWF0LmF1ZGlvLmNoYW5uZWxzID09IGZmbXBlZ2RlYy0+Y29udGV4dC0+Y2hhbm5lbHMgJiYKKysgICAgICAgICAgZmZtcGVnZGVjLT5mb3JtYXQuYXVkaW8uZGVwdGggPT0gZGVwdGgpCisrICAgICAgICByZXR1cm4gVFJVRTsKKysgICAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsCisrICAgICAgICAgICJSZW5lZ290aWF0aW5nIGF1ZGlvIGZyb20gJWRIekAlZGNoYW5uZWxzICglZCkgdG8gJWRIekAlZGNoYW5uZWxzICglZCkiLAorKyAgICAgICAgICBmZm1wZWdkZWMtPmZvcm1hdC5hdWRpby5zYW1wbGVyYXRlLCBmZm1wZWdkZWMtPmZvcm1hdC5hdWRpby5jaGFubmVscywKKysgICAgICAgICAgZmZtcGVnZGVjLT5mb3JtYXQuYXVkaW8uZGVwdGgsCisrICAgICAgICAgIGZmbXBlZ2RlYy0+Y29udGV4dC0+c2FtcGxlX3JhdGUsIGZmbXBlZ2RlYy0+Y29udGV4dC0+Y2hhbm5lbHMsIGRlcHRoKTsKKysgICAgICBmZm1wZWdkZWMtPmZvcm1hdC5hdWRpby5zYW1wbGVyYXRlID0gZmZtcGVnZGVjLT5jb250ZXh0LT5zYW1wbGVfcmF0ZTsKKysgICAgICBmZm1wZWdkZWMtPmZvcm1hdC5hdWRpby5jaGFubmVscyA9IGZmbXBlZ2RlYy0+Y29udGV4dC0+Y2hhbm5lbHM7CisrICAgICAgZmZtcGVnZGVjLT5mb3JtYXQuYXVkaW8uZGVwdGggPSBkZXB0aDsKKysgICAgfQorKyAgICAgIGJyZWFrOworKyAgICBkZWZhdWx0OgorKyAgICAgIGJyZWFrOworKyAgfQorKworKyAgY2FwcyA9IGdzdF9mZm1wZWdfY29kZWN0eXBlX3RvX2NhcHMgKG9jbGFzcy0+aW5fcGx1Z2luLT50eXBlLAorKyAgICAgIGZmbXBlZ2RlYy0+Y29udGV4dCwgb2NsYXNzLT5pbl9wbHVnaW4tPmlkLCBGQUxTRSk7CisrCisrICBpZiAoY2FwcyA9PSBOVUxMKQorKyAgICBnb3RvIG5vX2NhcHM7CisrCisrICBzd2l0Y2ggKG9jbGFzcy0+aW5fcGx1Z2luLT50eXBlKSB7CisrICAgIGNhc2UgQVZNRURJQV9UWVBFX1ZJREVPOgorKyAgICB7CisrICAgICAgZ2ludCB3aWR0aCwgaGVpZ2h0OworKyAgICAgIGdib29sZWFuIGludGVybGFjZWQ7CisrCisrICAgICAgd2lkdGggPSBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5jbGlwX3dpZHRoOworKyAgICAgIGhlaWdodCA9IGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLmNsaXBfaGVpZ2h0OworKyAgICAgIGludGVybGFjZWQgPSBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5pbnRlcmxhY2VkOworKworKyAgICAgIGlmICh3aWR0aCAhPSAtMSAmJiBoZWlnaHQgIT0gLTEpIHsKKysgICAgICAgIC8qIG92ZXJ3cml0ZSB0aGUgb3V0cHV0IHNpemUgd2l0aCB0aGUgZGltZW5zaW9uIG9mIHRoZQorKyAgICAgICAgICogY2xpcHBpbmcgcmVnaW9uIGJ1dCBvbmx5IGlmIHRoZXkgYXJlIHNtYWxsZXIuICovCisrICAgICAgICBpZiAod2lkdGggPCBmZm1wZWdkZWMtPmNvbnRleHQtPndpZHRoKQorKyAgICAgICAgICBnc3RfY2Fwc19zZXRfc2ltcGxlIChjYXBzLCAid2lkdGgiLCBHX1RZUEVfSU5ULCB3aWR0aCwgTlVMTCk7CisrICAgICAgICBpZiAoaGVpZ2h0IDwgZmZtcGVnZGVjLT5jb250ZXh0LT5oZWlnaHQpCisrICAgICAgICAgIGdzdF9jYXBzX3NldF9zaW1wbGUgKGNhcHMsICJoZWlnaHQiLCBHX1RZUEVfSU5ULCBoZWlnaHQsIE5VTEwpOworKyAgICAgIH0KKysgICAgICBnc3RfY2Fwc19zZXRfc2ltcGxlIChjYXBzLCAiaW50ZXJsYWNlZCIsIEdfVFlQRV9CT09MRUFOLCBpbnRlcmxhY2VkLAorKyAgICAgICAgICBOVUxMKTsKKysKKysgICAgICAvKiBJZiBhIGRlbXV4ZXIgcHJvdmlkZWQgYSBmcmFtZXJhdGUgdGhlbiB1c2UgaXQgKCMzMTM5NzApICovCisrICAgICAgaWYgKGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLmZwc19uICE9IC0xKSB7CisrICAgICAgICBnc3RfY2Fwc19zZXRfc2ltcGxlIChjYXBzLCAiZnJhbWVyYXRlIiwKKysgICAgICAgICAgICBHU1RfVFlQRV9GUkFDVElPTiwgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uZnBzX24sCisrICAgICAgICAgICAgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uZnBzX2QsIE5VTEwpOworKyAgICAgIH0KKysgICAgICBnc3RfZmZtcGVnZGVjX2FkZF9waXhlbF9hc3BlY3RfcmF0aW8gKGZmbXBlZ2RlYywKKysgICAgICAgICAgZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZSAoY2FwcywgMCkpOworKyAgICAgIGJyZWFrOworKyAgICB9CisrICAgIGNhc2UgQVZNRURJQV9UWVBFX0FVRElPOgorKyAgICB7CisrICAgICAgYnJlYWs7CisrICAgIH0KKysgICAgZGVmYXVsdDoKKysgICAgICBicmVhazsKKysgIH0KKysKKysgIGlmICghZ3N0X3BhZF9zZXRfY2FwcyAoZmZtcGVnZGVjLT5zcmNwYWQsIGNhcHMpKQorKyAgICBnb3RvIGNhcHNfZmFpbGVkOworKworKyAgZ3N0X2NhcHNfdW5yZWYgKGNhcHMpOworKworKyAgcmV0dXJuIFRSVUU7CisrCisrICAvKiBFUlJPUlMgKi8KKytub19jYXBzOgorKyAgeworKyNpZmRlZiBIQVZFX0ZGTVBFR19VTklOU1RBTExFRAorKyAgICAvKiB1c2luZyBpbnRlcm5hbCBmZm1wZWcgc25hcHNob3QgKi8KKysgICAgR1NUX0VMRU1FTlRfRVJST1IgKGZmbXBlZ2RlYywgQ09SRSwgTkVHT1RJQVRJT04sCisrICAgICAgICAoIkNvdWxkIG5vdCBmaW5kIEdTdHJlYW1lciBjYXBzIG1hcHBpbmcgZm9yIEZGbXBlZyBjb2RlYyAnJXMnLiIsCisrICAgICAgICAgICAgb2NsYXNzLT5pbl9wbHVnaW4tPm5hbWUpLCAoTlVMTCkpOworKyNlbHNlCisrICAgIC8qIHVzaW5nIGV4dGVybmFsIGZmbXBlZyAqLworKyAgICBHU1RfRUxFTUVOVF9FUlJPUiAoZmZtcGVnZGVjLCBDT1JFLCBORUdPVElBVElPTiwKKysgICAgICAgICgiQ291bGQgbm90IGZpbmQgR1N0cmVhbWVyIGNhcHMgbWFwcGluZyBmb3IgRkZtcGVnIGNvZGVjICclcycsIGFuZCAiCisrICAgICAgICAgICAgInlvdSBhcmUgdXNpbmcgYW4gZXh0ZXJuYWwgbGliYXZjb2RlYy4gVGhpcyBpcyBtb3N0IGxpa2VseSBkdWUgdG8gIgorKyAgICAgICAgICAgICJhIHBhY2thZ2luZyBwcm9ibGVtIGFuZC9vciBsaWJhdmNvZGVjIGhhdmluZyBiZWVuIHVwZ3JhZGVkIHRvIGEgIgorKyAgICAgICAgICAgICJ2ZXJzaW9uIHRoYXQgaXMgbm90IGNvbXBhdGlibGUgd2l0aCB0aGlzIHZlcnNpb24gb2YgIgorKyAgICAgICAgICAgICJnc3RyZWFtZXItZmZtcGVnLiBNYWtlIHN1cmUgeW91ciBnc3RyZWFtZXItZmZtcGVnIGFuZCBsaWJhdmNvZGVjICIKKysgICAgICAgICAgICAicGFja2FnZXMgY29tZSBmcm9tIHRoZSBzYW1lIHNvdXJjZS9yZXBvc2l0b3J5LiIsCisrICAgICAgICAgICAgb2NsYXNzLT5pbl9wbHVnaW4tPm5hbWUpLCAoTlVMTCkpOworKyNlbmRpZgorKyAgICByZXR1cm4gRkFMU0U7CisrICB9CisrY2Fwc19mYWlsZWQ6CisrICB7CisrICAgIEdTVF9FTEVNRU5UX0VSUk9SIChmZm1wZWdkZWMsIENPUkUsIE5FR09USUFUSU9OLCAoTlVMTCksCisrICAgICAgICAoIkNvdWxkIG5vdCBzZXQgY2FwcyBmb3IgZmZtcGVnIGRlY29kZXIgKCVzKSwgbm90IGZpeGVkPyIsCisrICAgICAgICAgICAgb2NsYXNzLT5pbl9wbHVnaW4tPm5hbWUpKTsKKysgICAgZ3N0X2NhcHNfdW5yZWYgKGNhcHMpOworKworKyAgICByZXR1cm4gRkFMU0U7CisrICB9CisrfQorKworKy8qIHBlcmZvcm0gcW9zIGNhbGN1bGF0aW9ucyBiZWZvcmUgZGVjb2RpbmcgdGhlIG5leHQgZnJhbWUuCisrICoKKysgKiBTZXRzIHRoZSBza2lwX2ZyYW1lIGZsYWcgYW5kIGlmIHRoaW5ncyBhcmUgcmVhbGx5IGJhZCwgc2tpcHMgdG8gdGhlIG5leHQKKysgKiBrZXlmcmFtZS4KKysgKiAKKysgKiBSZXR1cm5zIFRSVUUgaWYgdGhlIGZyYW1lIHNob3VsZCBiZSBkZWNvZGVkLCBGQUxTRSBpZiB0aGUgZnJhbWUgY2FuIGJlIGRyb3BwZWQKKysgKiBlbnRpcmVseS4KKysgKi8KKytzdGF0aWMgZ2Jvb2xlYW4KKytnc3RfZmZtcGVnZGVjX2RvX3FvcyAoR3N0RkZNcGVnRGVjICogZmZtcGVnZGVjLCBHc3RDbG9ja1RpbWUgdGltZXN0YW1wLAorKyAgICBnYm9vbGVhbiAqIG1vZGVfc3dpdGNoKQorK3sKKysgIEdzdENsb2NrVGltZURpZmYgZGlmZjsKKysgIGdkb3VibGUgcHJvcG9ydGlvbjsKKysgIEdzdENsb2NrVGltZSBxb3N0aW1lLCBlYXJsaWVzdF90aW1lOworKyAgZ2Jvb2xlYW4gcmVzID0gVFJVRTsKKysKKysgICptb2RlX3N3aXRjaCA9IEZBTFNFOworKworKyAgLyogbm8gdGltZXN0YW1wLCBjYW4ndCBkbyBRb1MgKi8KKysgIGlmIChHX1VOTElLRUxZICghR1NUX0NMT0NLX1RJTUVfSVNfVkFMSUQgKHRpbWVzdGFtcCkpKQorKyAgICBnb3RvIG5vX3FvczsKKysKKysgIC8qIGdldCBsYXRlc3QgUW9TIG9ic2VydmF0aW9uIHZhbHVlcyAqLworKyAgZ3N0X2ZmbXBlZ2RlY19yZWFkX3FvcyAoZmZtcGVnZGVjLCAmcHJvcG9ydGlvbiwgJmVhcmxpZXN0X3RpbWUpOworKworKyAgLyogc2tpcCBxb3MgaWYgd2UgaGF2ZSBubyBvYnNlcnZhdGlvbiAoeWV0KSAqLworKyAgaWYgKEdfVU5MSUtFTFkgKCFHU1RfQ0xPQ0tfVElNRV9JU19WQUxJRCAoZWFybGllc3RfdGltZSkpKSB7CisrICAgIC8qIG5vIHNraXBfZnJhbWUgaW5pdGlhbHkgKi8KKysgICAgZmZtcGVnZGVjLT5jb250ZXh0LT5za2lwX2ZyYW1lID0gQVZESVNDQVJEX0RFRkFVTFQ7CisrICAgIGdvdG8gbm9fcW9zOworKyAgfQorKworKyAgLyogcW9zIGlzIGRvbmUgb24gcnVubmluZyB0aW1lIG9mIHRoZSB0aW1lc3RhbXAgKi8KKysgIHFvc3RpbWUgPSBnc3Rfc2VnbWVudF90b19ydW5uaW5nX3RpbWUgKCZmZm1wZWdkZWMtPnNlZ21lbnQsIEdTVF9GT1JNQVRfVElNRSwKKysgICAgICB0aW1lc3RhbXApOworKworKyAgLyogdGltZXN0YW1wIGNhbiBiZSBvdXQgb2Ygc2VnbWVudCwgdGhlbiB3ZSBkb24ndCBkbyBRb1MgKi8KKysgIGlmIChHX1VOTElLRUxZICghR1NUX0NMT0NLX1RJTUVfSVNfVkFMSUQgKHFvc3RpbWUpKSkKKysgICAgZ290byBub19xb3M7CisrCisrICAvKiBzZWUgaG93IG91ciBuZXh0IHRpbWVzdGFtcCByZWxhdGVzIHRvIHRoZSBsYXRlc3QgcW9zIHRpbWVzdGFtcC4gbmVnYXRpdmUKKysgICAqIHZhbHVlcyBtZWFuIHdlIGFyZSBlYXJseSwgcG9zaXRpdmUgdmFsdWVzIG1lYW4gd2UgYXJlIHRvbyBsYXRlLiAqLworKyAgZGlmZiA9IEdTVF9DTE9DS19ESUZGIChxb3N0aW1lLCBlYXJsaWVzdF90aW1lKTsKKysKKysgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywgIlFPUzogcW9zdGltZSAlIiBHU1RfVElNRV9GT1JNQVQKKysgICAgICAiLCBlYXJsaWVzdCAlIiBHU1RfVElNRV9GT1JNQVQsIEdTVF9USU1FX0FSR1MgKHFvc3RpbWUpLAorKyAgICAgIEdTVF9USU1FX0FSR1MgKGVhcmxpZXN0X3RpbWUpKTsKKysKKysgIC8qIGlmIHdlIHVzaW5nIGxlc3MgdGhhbiA0MCUgb2YgdGhlIGF2YWlsYWJsZSB0aW1lLCB3ZSBjYW4gdHJ5IHRvCisrICAgKiBzcGVlZCB1cCBhZ2FpbiB3aGVuIHdlIHdlcmUgc2xvdy4gKi8KKysgIGlmIChwcm9wb3J0aW9uIDwgMC40ICYmIGRpZmYgPCAwKSB7CisrICAgIGdvdG8gbm9ybWFsX21vZGU7CisrICB9IGVsc2UgeworKyAgICBpZiAoZGlmZiA+PSAwKSB7CisrICAgICAgLyogd2UncmUgdG9vIHNsb3csIHRyeSB0byBzcGVlZCB1cCAqLworKyAgICAgIC8qIHN3aXRjaCB0byBza2lwX2ZyYW1lIG1vZGUgKi8KKysgICAgICBnb3RvIHNraXBfZnJhbWU7CisrICAgIH0KKysgIH0KKysKKytub19xb3M6CisrICBmZm1wZWdkZWMtPnByb2Nlc3NlZCsrOworKyAgcmV0dXJuIFRSVUU7CisrCisrbm9ybWFsX21vZGU6CisrICB7CisrICAgIGlmIChmZm1wZWdkZWMtPmNvbnRleHQtPnNraXBfZnJhbWUgIT0gQVZESVNDQVJEX0RFRkFVTFQpIHsKKysgICAgICBmZm1wZWdkZWMtPmNvbnRleHQtPnNraXBfZnJhbWUgPSBBVkRJU0NBUkRfREVGQVVMVDsKKysgICAgICAqbW9kZV9zd2l0Y2ggPSBUUlVFOworKyAgICAgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywgIlFPUzogbm9ybWFsIG1vZGUgJWcgPCAwLjQiLCBwcm9wb3J0aW9uKTsKKysgICAgfQorKyAgICBmZm1wZWdkZWMtPnByb2Nlc3NlZCsrOworKyAgICByZXR1cm4gVFJVRTsKKysgIH0KKytza2lwX2ZyYW1lOgorKyAgeworKyAgICBpZiAoZmZtcGVnZGVjLT5jb250ZXh0LT5za2lwX2ZyYW1lICE9IEFWRElTQ0FSRF9OT05SRUYpIHsKKysgICAgICBmZm1wZWdkZWMtPmNvbnRleHQtPnNraXBfZnJhbWUgPSBBVkRJU0NBUkRfTk9OUkVGOworKyAgICAgICptb2RlX3N3aXRjaCA9IFRSVUU7CisrICAgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLAorKyAgICAgICAgICAiUU9TOiBodXJyeSB1cCwgZGlmZiAlIiBHX0dJTlQ2NF9GT1JNQVQgIiA+PSAwIiwgZGlmZik7CisrICAgIH0KKysgICAgZ290byBkcm9wX3FvczsKKysgIH0KKytkcm9wX3FvczoKKysgIHsKKysgICAgR3N0Q2xvY2tUaW1lIHN0cmVhbV90aW1lLCBqaXR0ZXI7CisrICAgIEdzdE1lc3NhZ2UgKnFvc19tc2c7CisrCisrICAgIGZmbXBlZ2RlYy0+ZHJvcHBlZCsrOworKyAgICBzdHJlYW1fdGltZSA9CisrICAgICAgICBnc3Rfc2VnbWVudF90b19zdHJlYW1fdGltZSAoJmZmbXBlZ2RlYy0+c2VnbWVudCwgR1NUX0ZPUk1BVF9USU1FLAorKyAgICAgICAgdGltZXN0YW1wKTsKKysgICAgaml0dGVyID0gR1NUX0NMT0NLX0RJRkYgKHFvc3RpbWUsIGVhcmxpZXN0X3RpbWUpOworKyAgICBxb3NfbXNnID0KKysgICAgICAgIGdzdF9tZXNzYWdlX25ld19xb3MgKEdTVF9PQkpFQ1RfQ0FTVCAoZmZtcGVnZGVjKSwgRkFMU0UsIHFvc3RpbWUsCisrICAgICAgICBzdHJlYW1fdGltZSwgdGltZXN0YW1wLCBHU1RfQ0xPQ0tfVElNRV9OT05FKTsKKysgICAgZ3N0X21lc3NhZ2Vfc2V0X3Fvc192YWx1ZXMgKHFvc19tc2csIGppdHRlciwgcHJvcG9ydGlvbiwgMTAwMDAwMCk7CisrICAgIGdzdF9tZXNzYWdlX3NldF9xb3Nfc3RhdHMgKHFvc19tc2csIEdTVF9GT1JNQVRfQlVGRkVSUywKKysgICAgICAgIGZmbXBlZ2RlYy0+cHJvY2Vzc2VkLCBmZm1wZWdkZWMtPmRyb3BwZWQpOworKyAgICBnc3RfZWxlbWVudF9wb3N0X21lc3NhZ2UgKEdTVF9FTEVNRU5UX0NBU1QgKGZmbXBlZ2RlYyksIHFvc19tc2cpOworKworKyAgICByZXR1cm4gcmVzOworKyAgfQorK30KKysKKysvKiByZXR1cm5zIFRSVUUgaWYgYnVmZmVyIGlzIHdpdGhpbiBzZWdtZW50LCBlbHNlIEZBTFNFLgorKyAqIGlmIEJ1ZmZlciBpcyBvbiBzZWdtZW50IGJvcmRlciwgaXQncyB0aW1lc3RhbXAgYW5kIGR1cmF0aW9uIHdpbGwgYmUgY2xpcHBlZCAqLworK3N0YXRpYyBnYm9vbGVhbgorK2NsaXBfdmlkZW9fYnVmZmVyIChHc3RGRk1wZWdEZWMgKiBkZWMsIEdzdEJ1ZmZlciAqIGJ1ZiwgR3N0Q2xvY2tUaW1lIGluX3RzLAorKyAgICBHc3RDbG9ja1RpbWUgaW5fZHVyKQorK3sKKysgIGdib29sZWFuIHJlcyA9IFRSVUU7CisrICBnaW50NjQgY3N0YXJ0LCBjc3RvcDsKKysgIEdzdENsb2NrVGltZSBzdG9wOworKworKyAgR1NUX0xPR19PQkpFQ1QgKGRlYywKKysgICAgICAidGltZXN0YW1wOiUiIEdTVF9USU1FX0ZPUk1BVCAiICwgZHVyYXRpb246JSIgR1NUX1RJTUVfRk9STUFULAorKyAgICAgIEdTVF9USU1FX0FSR1MgKGluX3RzKSwgR1NUX1RJTUVfQVJHUyAoaW5fZHVyKSk7CisrCisrICAvKiBjYW4ndCBjbGlwIHdpdGhvdXQgVElNRSBzZWdtZW50ICovCisrICBpZiAoR19VTkxJS0VMWSAoZGVjLT5zZWdtZW50LmZvcm1hdCAhPSBHU1RfRk9STUFUX1RJTUUpKQorKyAgICBnb3RvIGJlYWNoOworKworKyAgLyogd2UgbmVlZCBhIHN0YXJ0IHRpbWUgKi8KKysgIGlmIChHX1VOTElLRUxZICghR1NUX0NMT0NLX1RJTUVfSVNfVkFMSUQgKGluX3RzKSkpCisrICAgIGdvdG8gYmVhY2g7CisrCisrICAvKiBnZW5lcmF0ZSB2YWxpZCBzdG9wLCBpZiBkdXJhdGlvbiB1bmtub3duLCB3ZSBoYXZlIHVua25vd24gc3RvcCAqLworKyAgc3RvcCA9CisrICAgICAgR1NUX0NMT0NLX1RJTUVfSVNfVkFMSUQgKGluX2R1cikgPyAoaW5fdHMgKyBpbl9kdXIpIDogR1NUX0NMT0NLX1RJTUVfTk9ORTsKKysKKysgIC8qIG5vdyBjbGlwICovCisrICByZXMgPQorKyAgICAgIGdzdF9zZWdtZW50X2NsaXAgKCZkZWMtPnNlZ21lbnQsIEdTVF9GT1JNQVRfVElNRSwgaW5fdHMsIHN0b3AsICZjc3RhcnQsCisrICAgICAgJmNzdG9wKTsKKysgIGlmIChHX1VOTElLRUxZICghcmVzKSkKKysgICAgZ290byBiZWFjaDsKKysKKysgIC8qIHdlJ3JlIHByZXR0eSBzdXJlIHRoZSBkdXJhdGlvbiBvZiB0aGlzIGJ1ZmZlciBpcyBub3QgdGlsbCB0aGUgZW5kIG9mIHRoaXMKKysgICAqIHNlZ21lbnQgKHdoaWNoIF9jbGlwIHdpbGwgYXNzdW1lIHdoZW4gdGhlIHN0b3AgaXMgLTEpICovCisrICBpZiAoc3RvcCA9PSBHU1RfQ0xPQ0tfVElNRV9OT05FKQorKyAgICBjc3RvcCA9IEdTVF9DTE9DS19USU1FX05PTkU7CisrCisrICAvKiB1cGRhdGUgdGltZXN0YW1wIGFuZCBwb3NzaWJseSBkdXJhdGlvbiBpZiB0aGUgY2xpcHBlZCBzdG9wIHRpbWUgaXMKKysgICAqIHZhbGlkICovCisrICBHU1RfQlVGRkVSX1RJTUVTVEFNUCAoYnVmKSA9IGNzdGFydDsKKysgIGlmIChHU1RfQ0xPQ0tfVElNRV9JU19WQUxJRCAoY3N0b3ApKQorKyAgICBHU1RfQlVGRkVSX0RVUkFUSU9OIChidWYpID0gY3N0b3AgLSBjc3RhcnQ7CisrCisrICBHU1RfTE9HX09CSkVDVCAoZGVjLAorKyAgICAgICJjbGlwcGVkIHRpbWVzdGFtcDolIiBHU1RfVElNRV9GT1JNQVQgIiAsIGR1cmF0aW9uOiUiIEdTVF9USU1FX0ZPUk1BVCwKKysgICAgICBHU1RfVElNRV9BUkdTIChjc3RhcnQpLCBHU1RfVElNRV9BUkdTIChHU1RfQlVGRkVSX0RVUkFUSU9OIChidWYpKSk7CisrCisrYmVhY2g6CisrICBHU1RfTE9HX09CSkVDVCAoZGVjLCAiJXNkcm9wcGluZyIsIChyZXMgPyAibm90ICIgOiAiIikpOworKyAgcmV0dXJuIHJlczsKKyt9CisrCisrCisrLyogZ2V0IGFuIG91dGJ1ZiBidWZmZXIgd2l0aCB0aGUgY3VycmVudCBwaWN0dXJlICovCisrc3RhdGljIEdzdEZsb3dSZXR1cm4KKytnZXRfb3V0cHV0X2J1ZmZlciAoR3N0RkZNcGVnRGVjICogZmZtcGVnZGVjLCBHc3RCdWZmZXIgKiogb3V0YnVmKQorK3sKKysgIEdzdEZsb3dSZXR1cm4gcmV0OworKworKyAgcmV0ID0gR1NUX0ZMT1dfT0s7CisrICAqb3V0YnVmID0gTlVMTDsKKysKKysgIGlmIChmZm1wZWdkZWMtPnBpY3R1cmUtPm9wYXF1ZSAhPSBOVUxMKSB7CisrICAgIC8qIHdlIGFsbG9jYXRlZCBhIHBpY3R1cmUgYWxyZWFkeSBmb3IgZmZtcGVnIHRvIGRlY29kZSBpbnRvLCBsZXQncyBwaWNrIGl0CisrICAgICAqIHVwIGFuZCB1c2UgaXQgbm93LiAqLworKyAgICAqb3V0YnVmID0gKEdzdEJ1ZmZlciAqKSBmZm1wZWdkZWMtPnBpY3R1cmUtPm9wYXF1ZTsKKysgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgInVzaW5nIG9wYXF1ZSBidWZmZXIgJXAiLCAqb3V0YnVmKTsKKysjaWZuZGVmIEVYVFJBX1JFRgorKyAgICBnc3RfYnVmZmVyX3JlZiAoKm91dGJ1Zik7CisrI2VuZGlmCisrICB9IGVsc2UgeworKyAgICBBVlBpY3R1cmUgcGljLCAqb3V0cGljOworKyAgICBnaW50IHdpZHRoLCBoZWlnaHQ7CisrCisrICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJnZXQgb3V0cHV0IGJ1ZmZlciIpOworKworKyAgICAvKiBmaWd1cmUgb3V0IHNpemUgb2Ygb3V0cHV0IGJ1ZmZlciwgdGhpcyBpcyB0aGUgY2xpcHBlZCBvdXRwdXQgc2l6ZSBiZWNhdXNlCisrICAgICAqIHdlIHdpbGwgY29weSB0aGUgcGljdHVyZSBpbnRvIGl0IGJ1dCBvbmx5IHdoZW4gdGhlIGNsaXBwaW5nIHJlZ2lvbiBpcworKyAgICAgKiBzbWFsbGVyIHRoYW4gdGhlIGFjdHVhbCBwaWN0dXJlIHNpemUuICovCisrICAgIGlmICgod2lkdGggPSBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5jbGlwX3dpZHRoKSA9PSAtMSkKKysgICAgICB3aWR0aCA9IGZmbXBlZ2RlYy0+Y29udGV4dC0+d2lkdGg7CisrICAgIGVsc2UgaWYgKHdpZHRoID4gZmZtcGVnZGVjLT5jb250ZXh0LT53aWR0aCkKKysgICAgICB3aWR0aCA9IGZmbXBlZ2RlYy0+Y29udGV4dC0+d2lkdGg7CisrCisrICAgIGlmICgoaGVpZ2h0ID0gZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uY2xpcF9oZWlnaHQpID09IC0xKQorKyAgICAgIGhlaWdodCA9IGZmbXBlZ2RlYy0+Y29udGV4dC0+aGVpZ2h0OworKyAgICBlbHNlIGlmIChoZWlnaHQgPiBmZm1wZWdkZWMtPmNvbnRleHQtPmhlaWdodCkKKysgICAgICBoZWlnaHQgPSBmZm1wZWdkZWMtPmNvbnRleHQtPmhlaWdodDsKKysKKysgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgImNsaXAgd2lkdGggJWQvaGVpZ2h0ICVkIiwgd2lkdGgsIGhlaWdodCk7CisrCisrICAgIHJldCA9IGFsbG9jX291dHB1dF9idWZmZXIgKGZmbXBlZ2RlYywgb3V0YnVmLCB3aWR0aCwgaGVpZ2h0KTsKKysgICAgaWYgKEdfVU5MSUtFTFkgKHJldCAhPSBHU1RfRkxPV19PSykpCisrICAgICAgZ290byBhbGxvY19mYWlsZWQ7CisrCisrICAgIC8qIG9yaWdpbmFsIGZmbXBlZyBjb2RlIGRvZXMgbm90IGhhbmRsZSBvZGQgc2l6ZXMgY29ycmVjdGx5LgorKyAgICAgKiBUaGlzIHBhdGNoZWQgdXAgdmVyc2lvbiBkb2VzICovCisrICAgIGdzdF9mZm1wZWdfYXZwaWN0dXJlX2ZpbGwgKCZwaWMsIEdTVF9CVUZGRVJfREFUQSAoKm91dGJ1ZiksCisrICAgICAgICBmZm1wZWdkZWMtPmNvbnRleHQtPnBpeF9mbXQsIHdpZHRoLCBoZWlnaHQpOworKworKyAgICBvdXRwaWMgPSAoQVZQaWN0dXJlICopIGZmbXBlZ2RlYy0+cGljdHVyZTsKKysKKysgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgImxpbnNpemUgJWQgJWQgJWQiLCBvdXRwaWMtPmxpbmVzaXplWzBdLAorKyAgICAgICAgb3V0cGljLT5saW5lc2l6ZVsxXSwgb3V0cGljLT5saW5lc2l6ZVsyXSk7CisrICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJkYXRhICV1ICV1ICV1IiwgMCwKKysgICAgICAgIChndWludCkgKG91dHBpYy0+ZGF0YVsxXSAtIG91dHBpYy0+ZGF0YVswXSksCisrICAgICAgICAoZ3VpbnQpIChvdXRwaWMtPmRhdGFbMl0gLSBvdXRwaWMtPmRhdGFbMF0pKTsKKysKKysgICAgYXZfcGljdHVyZV9jb3B5ICgmcGljLCBvdXRwaWMsIGZmbXBlZ2RlYy0+Y29udGV4dC0+cGl4X2ZtdCwgd2lkdGgsIGhlaWdodCk7CisrICB9CisrICBmZm1wZWdkZWMtPnBpY3R1cmUtPnJlb3JkZXJlZF9vcGFxdWUgPSAtMTsKKysKKysgIHJldHVybiByZXQ7CisrCisrICAvKiBzcGVjaWFsIGNhc2VzICovCisrYWxsb2NfZmFpbGVkOgorKyAgeworKyAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJwYWRfYWxsb2MgZmFpbGVkIik7CisrICAgIHJldHVybiByZXQ7CisrICB9CisrfQorKworK3N0YXRpYyB2b2lkCisrY2xlYXJfcXVldWVkIChHc3RGRk1wZWdEZWMgKiBmZm1wZWdkZWMpCisreworKyAgZ19saXN0X2ZvcmVhY2ggKGZmbXBlZ2RlYy0+cXVldWVkLCAoR0Z1bmMpIGdzdF9taW5pX29iamVjdF91bnJlZiwgTlVMTCk7CisrICBnX2xpc3RfZnJlZSAoZmZtcGVnZGVjLT5xdWV1ZWQpOworKyAgZmZtcGVnZGVjLT5xdWV1ZWQgPSBOVUxMOworK30KKysKKytzdGF0aWMgR3N0Rmxvd1JldHVybgorK2ZsdXNoX3F1ZXVlZCAoR3N0RkZNcGVnRGVjICogZmZtcGVnZGVjKQorK3sKKysgIEdzdEZsb3dSZXR1cm4gcmVzID0gR1NUX0ZMT1dfT0s7CisrCisrICB3aGlsZSAoZmZtcGVnZGVjLT5xdWV1ZWQpIHsKKysgICAgR3N0QnVmZmVyICpidWYgPSBHU1RfQlVGRkVSX0NBU1QgKGZmbXBlZ2RlYy0+cXVldWVkLT5kYXRhKTsKKysKKysgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgInB1c2hpbmcgYnVmZmVyICVwLCBvZmZzZXQgJSIKKysgICAgICAgIEdfR1VJTlQ2NF9GT1JNQVQgIiwgdGltZXN0YW1wICUiCisrICAgICAgICBHU1RfVElNRV9GT1JNQVQgIiwgZHVyYXRpb24gJSIgR1NUX1RJTUVfRk9STUFULCBidWYsCisrICAgICAgICBHU1RfQlVGRkVSX09GRlNFVCAoYnVmKSwKKysgICAgICAgIEdTVF9USU1FX0FSR1MgKEdTVF9CVUZGRVJfVElNRVNUQU1QIChidWYpKSwKKysgICAgICAgIEdTVF9USU1FX0FSR1MgKEdTVF9CVUZGRVJfRFVSQVRJT04gKGJ1ZikpKTsKKysKKysgICAgLyogaXRlcmF0ZSBvdXB1dCBxdWV1ZSBhbiBwdXNoIGRvd25zdHJlYW0gKi8KKysgICAgcmVzID0gZ3N0X3BhZF9wdXNoIChmZm1wZWdkZWMtPnNyY3BhZCwgYnVmKTsKKysKKysgICAgZmZtcGVnZGVjLT5xdWV1ZWQgPQorKyAgICAgICAgZ19saXN0X2RlbGV0ZV9saW5rIChmZm1wZWdkZWMtPnF1ZXVlZCwgZmZtcGVnZGVjLT5xdWV1ZWQpOworKyAgfQorKyAgcmV0dXJuIHJlczsKKyt9CisrCisrc3RhdGljIHZvaWQKKytnc3RfYXZwYWNrZXRfaW5pdCAoQVZQYWNrZXQgKiBwYWNrZXQsIGd1aW50OCAqIGRhdGEsIGd1aW50IHNpemUpCisreworKyAgbWVtc2V0IChwYWNrZXQsIDAsIHNpemVvZiAoQVZQYWNrZXQpKTsKKysgIHBhY2tldC0+ZGF0YSA9IGRhdGE7CisrICBwYWNrZXQtPnNpemUgPSBzaXplOworK30KKysKKysvKiBnc3RfZmZtcGVnZGVjX1t2aWRlb3xhdWRpb11fZnJhbWU6CisrICogZmZtcGVnZGVjOgorKyAqIGRhdGE6IHBvaW50ZXIgdG8gdGhlIGRhdGEgdG8gZGVjb2RlCisrICogc2l6ZTogc2l6ZSBvZiBkYXRhIGluIGJ5dGVzCisrICogaW5fdGltZXN0YW1wOiBpbmNvbWluZyB0aW1lc3RhbXAuCisrICogaW5fZHVyYXRpb246IGluY29taW5nIGR1cmF0aW9uLgorKyAqIGluX29mZnNldDogaW5jb21pbmcgb2Zmc2V0IChmcmFtZSBudW1iZXIpLgorKyAqIG91dGJ1Zjogb3V0Z29pbmcgYnVmZmVyLiBEaWZmZXJlbnQgZnJvbSBOVUxMIE9OTFkgaWYgaXQgY29udGFpbnMgZGVjb2RlZCBkYXRhLgorKyAqIHJldDogUmV0dXJuIGZsb3cuCisrICoKKysgKiBSZXR1cm5zOiBudW1iZXIgb2YgYnl0ZXMgdXNlZCBpbiBkZWNvZGluZy4gVGhlIGNoZWNrIGZvciBzdWNjZXNzZnVsIGRlY29kZSBpcworKyAqICAgb3V0YnVmIGJlaW5nIG5vbi1OVUxMLgorKyAqLworK3N0YXRpYyBnaW50CisrZ3N0X2ZmbXBlZ2RlY192aWRlb19mcmFtZSAoR3N0RkZNcGVnRGVjICogZmZtcGVnZGVjLAorKyAgICBndWludDggKiBkYXRhLCBndWludCBzaXplLAorKyAgICBjb25zdCBHc3RUU0luZm8gKiBkZWNfaW5mbywgR3N0QnVmZmVyICoqIG91dGJ1ZiwgR3N0Rmxvd1JldHVybiAqIHJldCkKKyt7CisrICBnaW50IGxlbiA9IC0xOworKyAgZ2ludCBoYXZlX2RhdGE7CisrICBnYm9vbGVhbiBtb2RlX3N3aXRjaDsKKysgIGdib29sZWFuIGRlY29kZTsKKysgIGdpbnQgc2tpcF9mcmFtZSA9IEFWRElTQ0FSRF9ERUZBVUxUOworKyAgR3N0Q2xvY2tUaW1lIG91dF90aW1lc3RhbXAsIG91dF9kdXJhdGlvbiwgb3V0X3B0czsKKysgIGdpbnQ2NCBvdXRfb2Zmc2V0OworKyAgY29uc3QgR3N0VFNJbmZvICpvdXRfaW5mbzsKKysgIEFWUGFja2V0IHBhY2tldDsKKysKKysgICpyZXQgPSBHU1RfRkxPV19PSzsKKysgICpvdXRidWYgPSBOVUxMOworKworKyAgZmZtcGVnZGVjLT5jb250ZXh0LT5vcGFxdWUgPSBmZm1wZWdkZWM7CisrCisrICAvKiBpbiBjYXNlIHdlIHNraXAgZnJhbWVzICovCisrICBmZm1wZWdkZWMtPnBpY3R1cmUtPnBpY3RfdHlwZSA9IC0xOworKworKyAgLyogcnVuIFFvUyBjb2RlLCB3ZSBkb24ndCBzdG9wIGRlY29kaW5nIHRoZSBmcmFtZSB3aGVuIHdlIGFyZSBsYXRlIGJlY2F1c2UKKysgICAqIGVsc2Ugd2UgbWlnaHQgc2tpcCBhIHJlZmVyZW5jZSBmcmFtZSAqLworKyAgZGVjb2RlID0gZ3N0X2ZmbXBlZ2RlY19kb19xb3MgKGZmbXBlZ2RlYywgZGVjX2luZm8tPnRpbWVzdGFtcCwgJm1vZGVfc3dpdGNoKTsKKysKKysgIGlmIChmZm1wZWdkZWMtPmlzX3JlYWx2aWRlbyAmJiBkYXRhICE9IE5VTEwpIHsKKysgICAgZ2ludCBzbGljZV9jb3VudDsKKysgICAgZ2ludCBpOworKworKyAgICAvKiBzZXR1cCB0aGUgc2xpY2UgdGFibGUgZm9yIHJlYWx2aWRlbyAqLworKyAgICBpZiAoZmZtcGVnZGVjLT5jb250ZXh0LT5zbGljZV9vZmZzZXQgPT0gTlVMTCkKKysgICAgICBmZm1wZWdkZWMtPmNvbnRleHQtPnNsaWNlX29mZnNldCA9IGdfbWFsbG9jIChzaXplb2YgKGd1aW50MzIpICogMTAwMCk7CisrCisrICAgIHNsaWNlX2NvdW50ID0gKCpkYXRhKyspICsgMTsKKysgICAgZmZtcGVnZGVjLT5jb250ZXh0LT5zbGljZV9jb3VudCA9IHNsaWNlX2NvdW50OworKworKyAgICBmb3IgKGkgPSAwOyBpIDwgc2xpY2VfY291bnQ7IGkrKykgeworKyAgICAgIGRhdGEgKz0gNDsKKysgICAgICBmZm1wZWdkZWMtPmNvbnRleHQtPnNsaWNlX29mZnNldFtpXSA9IEdTVF9SRUFEX1VJTlQzMl9MRSAoZGF0YSk7CisrICAgICAgZGF0YSArPSA0OworKyAgICB9CisrICB9CisrCisrICBpZiAoIWRlY29kZSkgeworKyAgICAvKiBubyBkZWNvZGluZyBuZWVkZWQsIHNhdmUgcHJldmlvdXMgc2tpcF9mcmFtZSB2YWx1ZSBhbmQgYnJ1dGVseSBza2lwCisrICAgICAqIGRlY29kaW5nIGV2ZXJ5dGhpbmcgKi8KKysgICAgc2tpcF9mcmFtZSA9IGZmbXBlZ2RlYy0+Y29udGV4dC0+c2tpcF9mcmFtZTsKKysgICAgZmZtcGVnZGVjLT5jb250ZXh0LT5za2lwX2ZyYW1lID0gQVZESVNDQVJEX05PTlJFRjsKKysgIH0KKysKKysgIC8qIHNhdmUgcmVmZXJlbmNlIHRvIHRoZSB0aW1pbmcgaW5mbyAqLworKyAgZmZtcGVnZGVjLT5jb250ZXh0LT5yZW9yZGVyZWRfb3BhcXVlID0gKGdpbnQ2NCkgZGVjX2luZm8tPmlkeDsKKysgIGZmbXBlZ2RlYy0+cGljdHVyZS0+cmVvcmRlcmVkX29wYXF1ZSA9IChnaW50NjQpIGRlY19pbmZvLT5pZHg7CisrCisrICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJzdG9yZWQgb3BhcXVlIHZhbHVlcyBpZHggJWQiLCBkZWNfaW5mby0+aWR4KTsKKysKKysgIC8qIG5vdyBkZWNvZGUgdGhlIGZyYW1lICovCisrICBnc3RfYXZwYWNrZXRfaW5pdCAoJnBhY2tldCwgZGF0YSwgc2l6ZSk7CisrICBsZW4gPSBhdmNvZGVjX2RlY29kZV92aWRlbzIgKGZmbXBlZ2RlYy0+Y29udGV4dCwKKysgICAgICBmZm1wZWdkZWMtPnBpY3R1cmUsICZoYXZlX2RhdGEsICZwYWNrZXQpOworKworKyAgLyogcmVzdG9yZSBwcmV2aW91cyBzdGF0ZSAqLworKyAgaWYgKCFkZWNvZGUpCisrICAgIGZmbXBlZ2RlYy0+Y29udGV4dC0+c2tpcF9mcmFtZSA9IHNraXBfZnJhbWU7CisrCisrICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJhZnRlciBkZWNvZGU6IGxlbiAlZCwgaGF2ZV9kYXRhICVkIiwKKysgICAgICBsZW4sIGhhdmVfZGF0YSk7CisrCisrICAvKiB3aGVuIHdlIGFyZSBpbiBza2lwX2ZyYW1lIG1vZGUsIGRvbid0IGNvbXBsYWluIHdoZW4gZmZtcGVnIHJldHVybmVkCisrICAgKiBubyBkYXRhIGJlY2F1c2Ugd2UgdG9sZCBpdCB0byBza2lwIHN0dWZmLiAqLworKyAgaWYgKGxlbiA8IDAgJiYgKG1vZGVfc3dpdGNoIHx8IGZmbXBlZ2RlYy0+Y29udGV4dC0+c2tpcF9mcmFtZSkpCisrICAgIGxlbiA9IDA7CisrCisrICBpZiAobGVuID4gMCAmJiBoYXZlX2RhdGEgPD0gMCAmJiAobW9kZV9zd2l0Y2gKKysgICAgICAgICAgfHwgZmZtcGVnZGVjLT5jb250ZXh0LT5za2lwX2ZyYW1lKSkgeworKyAgICAvKiB3ZSBjb25zdW1lZCBzb21lIGJ5dGVzIGJ1dCBub3RoaW5nIGRlY29kZWQgYW5kIHdlIGFyZSBza2lwcGluZyBmcmFtZXMsCisrICAgICAqIGRpc2FibGUgdGhlIGludGVycG9sbGF0aW9uIG9mIERUUyB0aW1lc3RhbXBzICovCisrICAgIGZmbXBlZ2RlYy0+bGFzdF9vdXQgPSAtMTsKKysgIH0KKysKKysgIC8qIG5vIGRhdGEsIHdlJ3JlIGRvbmUgKi8KKysgIGlmIChsZW4gPCAwIHx8IGhhdmVfZGF0YSA8PSAwKQorKyAgICBnb3RvIGJlYWNoOworKworKyAgLyogZ2V0IHRoZSBvdXRwdXQgcGljdHVyZSB0aW1pbmcgaW5mbyBhZ2FpbiAqLworKyAgb3V0X2luZm8gPSBnc3RfdHNfaW5mb19nZXQgKGZmbXBlZ2RlYywgZmZtcGVnZGVjLT5waWN0dXJlLT5yZW9yZGVyZWRfb3BhcXVlKTsKKysgIG91dF9wdHMgPSBvdXRfaW5mby0+dGltZXN0YW1wOworKyAgb3V0X2R1cmF0aW9uID0gb3V0X2luZm8tPmR1cmF0aW9uOworKyAgb3V0X29mZnNldCA9IG91dF9pbmZvLT5vZmZzZXQ7CisrCisrICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsCisrICAgICAgInB0cyAlIiBHX0dVSU5UNjRfRk9STUFUICIgZHVyYXRpb24gJSIgR19HVUlOVDY0X0ZPUk1BVCAiIG9mZnNldCAlIgorKyAgICAgIEdfR0lOVDY0X0ZPUk1BVCwgb3V0X3B0cywgb3V0X2R1cmF0aW9uLCBvdXRfb2Zmc2V0KTsKKysgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywgInBpY3R1cmU6IHB0cyAlIiBHX0dVSU5UNjRfRk9STUFULAorKyAgICAgIChndWludDY0KSBmZm1wZWdkZWMtPnBpY3R1cmUtPnB0cyk7CisrICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJwaWN0dXJlOiBudW0gJWQiLAorKyAgICAgIGZmbXBlZ2RlYy0+cGljdHVyZS0+Y29kZWRfcGljdHVyZV9udW1iZXIpOworKyAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAicGljdHVyZTogcmVmICVkIiwKKysgICAgICBmZm1wZWdkZWMtPnBpY3R1cmUtPnJlZmVyZW5jZSk7CisrICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJwaWN0dXJlOiBkaXNwbGF5ICVkIiwKKysgICAgICBmZm1wZWdkZWMtPnBpY3R1cmUtPmRpc3BsYXlfcGljdHVyZV9udW1iZXIpOworKyAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAicGljdHVyZTogb3BhcXVlICVwIiwKKysgICAgICBmZm1wZWdkZWMtPnBpY3R1cmUtPm9wYXF1ZSk7CisrICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJwaWN0dXJlOiByZW9yZGVyZWQgb3BhcXVlICUiIEdfR1VJTlQ2NF9GT1JNQVQsCisrICAgICAgKGd1aW50NjQpIGZmbXBlZ2RlYy0+cGljdHVyZS0+cmVvcmRlcmVkX29wYXF1ZSk7CisrICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJyZXBlYXRfcGljdDolZCIsCisrICAgICAgZmZtcGVnZGVjLT5waWN0dXJlLT5yZXBlYXRfcGljdCk7CisrICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJpbnRlcmxhY2VkX2ZyYW1lOiVkIiwKKysgICAgICBmZm1wZWdkZWMtPnBpY3R1cmUtPmludGVybGFjZWRfZnJhbWUpOworKworKyAgaWYgKEdfVU5MSUtFTFkgKGZmbXBlZ2RlYy0+cGljdHVyZS0+aW50ZXJsYWNlZF9mcmFtZSAhPQorKyAgICAgICAgICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5pbnRlcmxhY2VkKSkgeworKyAgICBHU1RfV0FSTklORyAoIkNoYW5nZSBpbiBpbnRlcmxhY2luZyAhIHBpY3R1cmU6JWQsIHJlY29yZGVkOiVkIiwKKysgICAgICAgIGZmbXBlZ2RlYy0+cGljdHVyZS0+aW50ZXJsYWNlZF9mcmFtZSwKKysgICAgICAgIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLmludGVybGFjZWQpOworKyAgICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5pbnRlcmxhY2VkID0gZmZtcGVnZGVjLT5waWN0dXJlLT5pbnRlcmxhY2VkX2ZyYW1lOworKyAgICBnc3RfZmZtcGVnZGVjX25lZ290aWF0ZSAoZmZtcGVnZGVjLCBUUlVFKTsKKysgIH0KKysKKysgIC8qIFdoZXRoZXIgYSBmcmFtZSBpcyBpbnRlcmxhY2VkIG9yIG5vdCBpcyB1bmtub3duIGF0IHRoZSB0aW1lIG9mCisrICAgICBidWZmZXIgYWxsb2NhdGlvbiwgc28gY2FwcyBvbiB0aGUgYnVmZmVyIGluIG9wYXF1ZSB3aWxsIGhhdmUKKysgICAgIHRoZSBwcmV2aW91cyBmcmFtZSdzIGludGVybGFjZWQgZmxhZyBzZXQuIFNvIGlmIGludGVybGFjZWRuZXNzCisrICAgICBoYXMgY2hhbmdlZCBzaW5jZSBhbGxvY2F0aW9uLCB3ZSB1cGRhdGUgdGhlIGJ1ZmZlciAoaWYgYW55KQorKyAgICAgY2FwcyBub3cgd2l0aCB0aGUgY29ycmVjdCBpbnRlcmxhY2VkIGZsYWcuICovCisrICBpZiAoZmZtcGVnZGVjLT5waWN0dXJlLT5vcGFxdWUgIT0gTlVMTCkgeworKyAgICBHc3RCdWZmZXIgKmJ1ZmZlciA9IGZmbXBlZ2RlYy0+cGljdHVyZS0+b3BhcXVlOworKyAgICBpZiAoR1NUX0JVRkZFUl9DQVBTIChidWZmZXIpICYmIEdTVF9QQURfQ0FQUyAoZmZtcGVnZGVjLT5zcmNwYWQpKSB7CisrICAgICAgR3N0U3RydWN0dXJlICpzID0gZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZSAoR1NUX0JVRkZFUl9DQVBTIChidWZmZXIpLCAwKTsKKysgICAgICBnYm9vbGVhbiBpbnRlcmxhY2VkOworKyAgICAgIGdib29sZWFuIGZvdW5kID0gZ3N0X3N0cnVjdHVyZV9nZXRfYm9vbGVhbiAocywgImludGVybGFjZWQiLCAmaW50ZXJsYWNlZCk7CisrICAgICAgaWYgKCFmb3VuZCB8fCAoISFpbnRlcmxhY2VkICE9ICEhZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uaW50ZXJsYWNlZCkpIHsKKysgICAgICAgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywKKysgICAgICAgICAgICAiQnVmZmVyIGludGVybGFjaW5nIGRvZXMgbm90IG1hdGNoIHBhZCwgdXBkYXRpbmciKTsKKysgICAgICAgIGJ1ZmZlciA9IGdzdF9idWZmZXJfbWFrZV9tZXRhZGF0YV93cml0YWJsZSAoYnVmZmVyKTsKKysgICAgICAgIGdzdF9idWZmZXJfc2V0X2NhcHMgKGJ1ZmZlciwgR1NUX1BBRF9DQVBTIChmZm1wZWdkZWMtPnNyY3BhZCkpOworKyAgICAgICAgZmZtcGVnZGVjLT5waWN0dXJlLT5vcGFxdWUgPSBidWZmZXI7CisrICAgICAgfQorKyAgICB9CisrICB9CisrCisrICAvKiBjaGVjayB0aGF0IHRoZSB0aW1lc3RhbXBzIGdvIHVwd2FyZHMgKi8KKysgIGlmIChmZm1wZWdkZWMtPmxhc3Rfb3V0ICE9IC0xICYmIGZmbXBlZ2RlYy0+bGFzdF9vdXQgPiBvdXRfcHRzKSB7CisrICAgIC8qIHRpbWVzdGFtcHMgZ28gYmFja3dhcmRzLCB0aGlzIG1lYW5zIGZyYW1lcyB3ZXJlIHJlb3JkZXJlZCBhbmQgd2UgbXVzdAorKyAgICAgKiBiZSBkZWFsaW5nIHdpdGggRFRTIGFzIHRoZSBidWZmZXIgdGltZXN0YW1wcyAqLworKyAgICBpZiAoIWZmbXBlZ2RlYy0+cmVvcmRlcmVkX291dCkgeworKyAgICAgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywgImRldGVjdGVkIHJlb3JkZXJlZCBvdXQgdGltZXN0YW1wcyIpOworKyAgICAgIGZmbXBlZ2RlYy0+cmVvcmRlcmVkX291dCA9IFRSVUU7CisrICAgIH0KKysgICAgaWYgKGZmbXBlZ2RlYy0+cmVvcmRlcmVkX2luKSB7CisrICAgICAgLyogd2UgcmVzZXQgdGhlIGlucHV0IHJlb3JkZXJpbmcgaGVyZSBiZWNhdXNlIHdlIHdhbnQgdG8gcmVjb3ZlciBmcm9tIGFuCisrICAgICAgICogb2NjYXNpb25hbGx5IHdyb25nIHJlb3JkZXJlZCBpbnB1dCB0aW1lc3RhbXAgKi8KKysgICAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJhc3N1bWluZyBEVFMgaW5wdXQgdGltZXN0YW1wcyIpOworKyAgICAgIGZmbXBlZ2RlYy0+cmVvcmRlcmVkX2luID0gRkFMU0U7CisrICAgIH0KKysgIH0KKysKKysgIGlmIChvdXRfcHRzID09IDAgJiYgb3V0X3B0cyA9PSBmZm1wZWdkZWMtPmxhc3Rfb3V0KSB7CisrICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJmZm1wZWcgcmV0dXJucyAwIHRpbWVzdGFtcHMsIGlnbm9yaW5nIik7CisrICAgIC8qIHNvbWUgY29kZWNzIG9ubHkgb3V0cHV0IDAgdGltZXN0YW1wcywgd2hlbiB0aGF0IGhhcHBlbnMsIG1ha2UgdXMgc2VsZWN0IGFuCisrICAgICAqIG91dHB1dCB0aW1lc3RhbXAgYmFzZWQgb24gdGhlIGlucHV0IHRpbWVzdGFtcC4gV2UgZG8gdGhpcyBieSBtYWtpbmcgdGhlCisrICAgICAqIGZmbXBlZyB0aW1lc3RhbXAgYW5kIHRoZSBpbnRlcnBvbGxhdGVkIG5leHQgdGltZXN0YW1wIGludmFsaWQuICovCisrICAgIG91dF9wdHMgPSAtMTsKKysgICAgZmZtcGVnZGVjLT5uZXh0X291dCA9IC0xOworKyAgfSBlbHNlCisrICAgIGZmbXBlZ2RlYy0+bGFzdF9vdXQgPSBvdXRfcHRzOworKworKyAgLyogd2UgYXNzdW1lIERUUyBhcyBpbnB1dCB0aW1lc3RhbXBzIHVubGVzcyB3ZSBzZWUgcmVvcmRlcmVkIGlucHV0CisrICAgKiB0aW1lc3RhbXBzICovCisrICBpZiAoIWZmbXBlZ2RlYy0+cmVvcmRlcmVkX2luICYmIGZmbXBlZ2RlYy0+cmVvcmRlcmVkX291dCkgeworKyAgICAvKiBQVFMgYW5kIERUUyBhcmUgdGhlIHNhbWUgZm9yIGtleWZyYW1lcyAqLworKyAgICBpZiAoZmZtcGVnZGVjLT5uZXh0X291dCAhPSAtMSkgeworKyAgICAgIC8qIGludGVycG9sYXRlIGFsbCB0aW1lc3RhbXBzIGV4Y2VwdCBmb3Iga2V5ZnJhbWVzLCBGSVhNRSwgdGhpcyBpcworKyAgICAgICAqIHdyb25nIHdoZW4gUW9TIGlzIGFjdGl2ZS4gKi8KKysgICAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJpbnRlcnBvbGF0ZSB0aW1lc3RhbXBzIik7CisrICAgICAgb3V0X3B0cyA9IC0xOworKyAgICAgIG91dF9vZmZzZXQgPSAtMTsKKysgICAgfQorKyAgfQorKworKyAgLyogZ2V0IGEgaGFuZGxlIHRvIHRoZSBvdXRwdXQgYnVmZmVyICovCisrICAqcmV0ID0gZ2V0X291dHB1dF9idWZmZXIgKGZmbXBlZ2RlYywgb3V0YnVmKTsKKysgIGlmIChHX1VOTElLRUxZICgqcmV0ICE9IEdTVF9GTE9XX09LKSkKKysgICAgZ290byBub19vdXRwdXQ7CisrCisrICAvKgorKyAgICogVGltZXN0YW1wczoKKysgICAqCisrICAgKiAgMSkgQ29weSBwaWN0dXJlIHRpbWVzdGFtcCBpZiB2YWxpZAorKyAgICogIDIpIGVsc2UgaW50ZXJwb2xhdGUgZnJvbSBwcmV2aW91cyBvdXRwdXQgdGltZXN0YW1wCisrICAgKiAgMykgZWxzZSBjb3B5IGlucHV0IHRpbWVzdGFtcAorKyAgICovCisrICBvdXRfdGltZXN0YW1wID0gLTE7CisrICBpZiAob3V0X3B0cyAhPSAtMSkgeworKyAgICAvKiBHZXQgKGludGVycG9sYXRlZCkgdGltZXN0YW1wIGZyb20gRkZNUEVHICovCisrICAgIG91dF90aW1lc3RhbXAgPSAoR3N0Q2xvY2tUaW1lKSBvdXRfcHRzOworKyAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAidXNpbmcgdGltZXN0YW1wICUiIEdTVF9USU1FX0ZPUk1BVAorKyAgICAgICAgIiByZXR1cm5lZCBieSBmZm1wZWciLCBHU1RfVElNRV9BUkdTIChvdXRfdGltZXN0YW1wKSk7CisrICB9CisrICBpZiAoIUdTVF9DTE9DS19USU1FX0lTX1ZBTElEIChvdXRfdGltZXN0YW1wKSAmJiBmZm1wZWdkZWMtPm5leHRfb3V0ICE9IC0xKSB7CisrICAgIG91dF90aW1lc3RhbXAgPSBmZm1wZWdkZWMtPm5leHRfb3V0OworKyAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAidXNpbmcgbmV4dCB0aW1lc3RhbXAgJSIgR1NUX1RJTUVfRk9STUFULAorKyAgICAgICAgR1NUX1RJTUVfQVJHUyAob3V0X3RpbWVzdGFtcCkpOworKyAgfQorKyAgaWYgKCFHU1RfQ0xPQ0tfVElNRV9JU19WQUxJRCAob3V0X3RpbWVzdGFtcCkpIHsKKysgICAgb3V0X3RpbWVzdGFtcCA9IGRlY19pbmZvLT50aW1lc3RhbXA7CisrICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJ1c2luZyBpbiB0aW1lc3RhbXAgJSIgR1NUX1RJTUVfRk9STUFULAorKyAgICAgICAgR1NUX1RJTUVfQVJHUyAob3V0X3RpbWVzdGFtcCkpOworKyAgfQorKyAgR1NUX0JVRkZFUl9USU1FU1RBTVAgKCpvdXRidWYpID0gb3V0X3RpbWVzdGFtcDsKKysKKysgIC8qCisrICAgKiBPZmZzZXQ6CisrICAgKiAgMCkgVXNlIHN0b3JlZCBpbnB1dCBvZmZzZXQgKGZyb20gb3BhcXVlKQorKyAgICogIDEpIFVzZSB2YWx1ZSBjb252ZXJ0ZWQgZnJvbSB0aW1lc3RhbXAgaWYgdmFsaWQKKysgICAqICAyKSBVc2UgaW5wdXQgb2Zmc2V0IGlmIHZhbGlkCisrICAgKi8KKysgIGlmIChvdXRfb2Zmc2V0ICE9IEdTVF9CVUZGRVJfT0ZGU0VUX05PTkUpIHsKKysgICAgLyogb3V0X29mZnNldCBhbHJlYWR5IGNvbnRhaW5zIHRoZSBvZmZzZXQgZnJvbSB0c19pbmZvICovCisrICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJVc2luZyBvZmZzZXQgcmV0dXJuZWQgYnkgZmZtcGVnIik7CisrICB9IGVsc2UgaWYgKG91dF90aW1lc3RhbXAgIT0gR1NUX0NMT0NLX1RJTUVfTk9ORSkgeworKyAgICBHc3RGb3JtYXQgb3V0X2ZtdCA9IEdTVF9GT1JNQVRfREVGQVVMVDsKKysgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgIlVzaW5nIG9mZnNldCBjb252ZXJ0ZWQgZnJvbSB0aW1lc3RhbXAiKTsKKysgICAgLyogRklYTUUsIHdlIHNob3VsZCByZWFsbHkgcmVtb3ZlIHRoaXMgYXMgaXQncyBub3QgbmljZSBhdCBhbGwgdG8gZG8KKysgICAgICogdXBzdHJlYW0gcXVlcmllcyBmb3IgZWFjaCBmcmFtZSB0byBnZXQgdGhlIGZyYW1lIG9mZnNldC4gV2UgYWxzbyBjYW4ndAorKyAgICAgKiByZWFsbHkgcmVtb3ZlIHRoaXMgYmVjYXVzZSBpdCBpcyB0aGUgb25seSB3YXkgb2Ygc2V0dGluZyBmcmFtZSBvZmZzZXRzCisrICAgICAqIG9uIG91dGdvaW5nIGJ1ZmZlcnMuIFdlIHNob3VsZCBoYXZlIG1ldGFkYXRhIHNvIHRoYXQgdGhlIHVwc3RyZWFtIHBlZXIKKysgICAgICogY2FuIHNldCBhIGZyYW1lIG51bWJlciBvbiB0aGUgZW5jb2RlZCBkYXRhLiAqLworKyAgICBnc3RfcGFkX3F1ZXJ5X3BlZXJfY29udmVydCAoZmZtcGVnZGVjLT5zaW5rcGFkLAorKyAgICAgICAgR1NUX0ZPUk1BVF9USU1FLCBvdXRfdGltZXN0YW1wLCAmb3V0X2ZtdCwgJm91dF9vZmZzZXQpOworKyAgfSBlbHNlIGlmIChkZWNfaW5mby0+b2Zmc2V0ICE9IEdTVF9CVUZGRVJfT0ZGU0VUX05PTkUpIHsKKysgICAgLyogRklYTUUsIHRoZSBpbnB1dCBvZmZzZXQgaXMgaW5wdXQgbWVkaWEgc3BlY2lmaWMgYW5kIG1pZ2h0IG5vdAorKyAgICAgKiBiZSB0aGUgc2FtZSBmb3IgdGhlIG91dHB1dCBtZWRpYS4gKGJ5dGUgb2Zmc2V0IGFzIGlucHV0LCBmcmFtZSBudW1iZXIKKysgICAgICogYXMgb3V0cHV0LCBmb3IgZXhhbXBsZSkgKi8KKysgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgInVzaW5nIGluX29mZnNldCAlIiBHX0dJTlQ2NF9GT1JNQVQsCisrICAgICAgICBkZWNfaW5mby0+b2Zmc2V0KTsKKysgICAgb3V0X29mZnNldCA9IGRlY19pbmZvLT5vZmZzZXQ7CisrICB9IGVsc2UgeworKyAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAibm8gdmFsaWQgb2Zmc2V0IGZvdW5kIik7CisrICAgIG91dF9vZmZzZXQgPSBHU1RfQlVGRkVSX09GRlNFVF9OT05FOworKyAgfQorKyAgR1NUX0JVRkZFUl9PRkZTRVQgKCpvdXRidWYpID0gb3V0X29mZnNldDsKKysKKysgIC8qCisrICAgKiBEdXJhdGlvbjoKKysgICAqCisrICAgKiAgMSkgVXNlIHJlb3JkZXJlZCBpbnB1dCBkdXJhdGlvbiBpZiB2YWxpZAorKyAgICogIDIpIEVsc2UgdXNlIGlucHV0IGR1cmF0aW9uCisrICAgKiAgMykgZWxzZSB1c2UgaW5wdXQgZnJhbWVyYXRlCisrICAgKiAgNCkgZWxzZSB1c2UgZmZtcGVnIGZyYW1lcmF0ZQorKyAgICovCisrICBpZiAoR1NUX0NMT0NLX1RJTUVfSVNfVkFMSUQgKG91dF9kdXJhdGlvbikpIHsKKysgICAgLyogV2UgaGF2ZSBhIHZhbGlkIChyZW9yZGVyZWQpIGR1cmF0aW9uICovCisrICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJVc2luZyBkdXJhdGlvbiByZXR1cm5lZCBieSBmZm1wZWciKTsKKysgIH0gZWxzZSBpZiAoR1NUX0NMT0NLX1RJTUVfSVNfVkFMSUQgKGRlY19pbmZvLT5kdXJhdGlvbikpIHsKKysgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgInVzaW5nIGluX2R1cmF0aW9uIik7CisrICAgIG91dF9kdXJhdGlvbiA9IGRlY19pbmZvLT5kdXJhdGlvbjsKKysgIH0gZWxzZSBpZiAoR1NUX0NMT0NLX1RJTUVfSVNfVkFMSUQgKGZmbXBlZ2RlYy0+bGFzdF9kaWZmKSkgeworKyAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAidXNpbmcgbGFzdC1kaWZmIik7CisrICAgIG91dF9kdXJhdGlvbiA9IGZmbXBlZ2RlYy0+bGFzdF9kaWZmOworKyAgfSBlbHNlIHsKKysgICAgLyogaWYgd2UgaGF2ZSBhbiBpbnB1dCBmcmFtZXJhdGUsIHVzZSB0aGF0ICovCisrICAgIGlmIChmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5mcHNfbiAhPSAtMSAmJgorKyAgICAgICAgKGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLmZwc19uICE9IDEwMDAgJiYKKysgICAgICAgICAgICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5mcHNfZCAhPSAxKSkgeworKyAgICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJ1c2luZyBpbnB1dCBmcmFtZXJhdGUgZm9yIGR1cmF0aW9uIik7CisrICAgICAgb3V0X2R1cmF0aW9uID0gZ3N0X3V0aWxfdWludDY0X3NjYWxlX2ludCAoR1NUX1NFQ09ORCwKKysgICAgICAgICAgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uZnBzX2QsIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLmZwc19uKTsKKysgICAgfSBlbHNlIHsKKysgICAgICAvKiBkb24ndCB0cnkgdG8gdXNlIHRoZSBkZWNvZGVyJ3MgZnJhbWVyYXRlIHdoZW4gaXQgc2VlbXMgYSBiaXQgYWJub3JtYWwsCisrICAgICAgICogd2hpY2ggd2UgYXNzdW1lIHdoZW4gZGVuID49IDEwMDAuLi4gKi8KKysgICAgICBpZiAoZmZtcGVnZGVjLT5jb250ZXh0LT50aW1lX2Jhc2UubnVtICE9IDAgJiYKKysgICAgICAgICAgKGZmbXBlZ2RlYy0+Y29udGV4dC0+dGltZV9iYXNlLmRlbiA+IDAgJiYKKysgICAgICAgICAgICAgIGZmbXBlZ2RlYy0+Y29udGV4dC0+dGltZV9iYXNlLmRlbiA8IDEwMDApKSB7CisrICAgICAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAidXNpbmcgZGVjb2RlcidzIGZyYW1lcmF0ZSBmb3IgZHVyYXRpb24iKTsKKysgICAgICAgIG91dF9kdXJhdGlvbiA9IGdzdF91dGlsX3VpbnQ2NF9zY2FsZV9pbnQgKEdTVF9TRUNPTkQsCisrICAgICAgICAgICAgZmZtcGVnZGVjLT5jb250ZXh0LT50aW1lX2Jhc2UubnVtICoKKysgICAgICAgICAgICBmZm1wZWdkZWMtPmNvbnRleHQtPnRpY2tzX3Blcl9mcmFtZSwKKysgICAgICAgICAgICBmZm1wZWdkZWMtPmNvbnRleHQtPnRpbWVfYmFzZS5kZW4pOworKyAgICAgIH0gZWxzZSB7CisrICAgICAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAibm8gdmFsaWQgZHVyYXRpb24gZm91bmQiKTsKKysgICAgICB9CisrICAgIH0KKysgIH0KKysKKysgIC8qIFRha2UgcmVwZWF0X3BpY3QgaW50byBhY2NvdW50ICovCisrICBpZiAoR1NUX0NMT0NLX1RJTUVfSVNfVkFMSUQgKG91dF9kdXJhdGlvbikpIHsKKysgICAgb3V0X2R1cmF0aW9uICs9IG91dF9kdXJhdGlvbiAqIGZmbXBlZ2RlYy0+cGljdHVyZS0+cmVwZWF0X3BpY3QgLyAyOworKyAgfQorKyAgR1NUX0JVRkZFUl9EVVJBVElPTiAoKm91dGJ1ZikgPSBvdXRfZHVyYXRpb247CisrCisrICBpZiAob3V0X3RpbWVzdGFtcCAhPSAtMSAmJiBvdXRfZHVyYXRpb24gIT0gLTEgJiYgb3V0X2R1cmF0aW9uICE9IDApCisrICAgIGZmbXBlZ2RlYy0+bmV4dF9vdXQgPSBvdXRfdGltZXN0YW1wICsgb3V0X2R1cmF0aW9uOworKyAgZWxzZQorKyAgICBmZm1wZWdkZWMtPm5leHRfb3V0ID0gLTE7CisrCisrICAvKiBub3cgc2VlIGlmIHdlIG5lZWQgdG8gY2xpcCB0aGUgYnVmZmVyIGFnYWluc3QgdGhlIHNlZ21lbnQgYm91bmRhcmllcy4gKi8KKysgIGlmIChHX1VOTElLRUxZICghY2xpcF92aWRlb19idWZmZXIgKGZmbXBlZ2RlYywgKm91dGJ1Ziwgb3V0X3RpbWVzdGFtcCwKKysgICAgICAgICAgICAgIG91dF9kdXJhdGlvbikpKQorKyAgICBnb3RvIGNsaXBwZWQ7CisrCisrICBpZiAoZmZtcGVnZGVjLT5waWN0dXJlLT50b3BfZmllbGRfZmlyc3QpCisrICAgIEdTVF9CVUZGRVJfRkxBR19TRVQgKCpvdXRidWYsIEdTVF9WSURFT19CVUZGRVJfVEZGKTsKKysKKysKKytiZWFjaDoKKysgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywgInJldHVybiBmbG93ICVkLCBvdXQgJXAsIGxlbiAlZCIsCisrICAgICAgKnJldCwgKm91dGJ1ZiwgbGVuKTsKKysgIHJldHVybiBsZW47CisrCisrICAvKiBzcGVjaWFsIGNhc2VzICovCisrbm9fb3V0cHV0OgorKyAgeworKyAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJubyBvdXRwdXQgYnVmZmVyIik7CisrICAgIGxlbiA9IC0xOworKyAgICBnb3RvIGJlYWNoOworKyAgfQorK2NsaXBwZWQ6CisrICB7CisrICAgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywgImJ1ZmZlciBjbGlwcGVkIik7CisrICAgIGdzdF9idWZmZXJfdW5yZWYgKCpvdXRidWYpOworKyAgICAqb3V0YnVmID0gTlVMTDsKKysgICAgZ290byBiZWFjaDsKKysgIH0KKyt9CisrCisrLyogcmV0dXJucyBUUlVFIGlmIGJ1ZmZlciBpcyB3aXRoaW4gc2VnbWVudCwgZWxzZSBGQUxTRS4KKysgKiBpZiBCdWZmZXIgaXMgb24gc2VnbWVudCBib3JkZXIsIGl0J3MgdGltZXN0YW1wIGFuZCBkdXJhdGlvbiB3aWxsIGJlIGNsaXBwZWQgKi8KKytzdGF0aWMgZ2Jvb2xlYW4KKytjbGlwX2F1ZGlvX2J1ZmZlciAoR3N0RkZNcGVnRGVjICogZGVjLCBHc3RCdWZmZXIgKiBidWYsIEdzdENsb2NrVGltZSBpbl90cywKKysgICAgR3N0Q2xvY2tUaW1lIGluX2R1cikKKyt7CisrICBHc3RDbG9ja1RpbWUgc3RvcDsKKysgIGdpbnQ2NCBkaWZmLCBjdGltZSwgY3N0b3A7CisrICBnYm9vbGVhbiByZXMgPSBUUlVFOworKworKyAgR1NUX0xPR19PQkpFQ1QgKGRlYywKKysgICAgICAidGltZXN0YW1wOiUiIEdTVF9USU1FX0ZPUk1BVCAiLCBkdXJhdGlvbjolIiBHU1RfVElNRV9GT1JNQVQKKysgICAgICAiLCBzaXplICV1IiwgR1NUX1RJTUVfQVJHUyAoaW5fdHMpLCBHU1RfVElNRV9BUkdTIChpbl9kdXIpLAorKyAgICAgIEdTVF9CVUZGRVJfU0laRSAoYnVmKSk7CisrCisrICAvKiBjYW4ndCBjbGlwIHdpdGhvdXQgVElNRSBzZWdtZW50ICovCisrICBpZiAoR19VTkxJS0VMWSAoZGVjLT5zZWdtZW50LmZvcm1hdCAhPSBHU1RfRk9STUFUX1RJTUUpKQorKyAgICBnb3RvIGJlYWNoOworKworKyAgLyogd2UgbmVlZCBhIHN0YXJ0IHRpbWUgKi8KKysgIGlmIChHX1VOTElLRUxZICghR1NUX0NMT0NLX1RJTUVfSVNfVkFMSUQgKGluX3RzKSkpCisrICAgIGdvdG8gYmVhY2g7CisrCisrICAvKiB0cnVzdCBkdXJhdGlvbiAqLworKyAgc3RvcCA9IGluX3RzICsgaW5fZHVyOworKworKyAgcmVzID0gZ3N0X3NlZ21lbnRfY2xpcCAoJmRlYy0+c2VnbWVudCwgR1NUX0ZPUk1BVF9USU1FLCBpbl90cywgc3RvcCwgJmN0aW1lLAorKyAgICAgICZjc3RvcCk7CisrICBpZiAoR19VTkxJS0VMWSAoIXJlcykpCisrICAgIGdvdG8gb3V0X29mX3NlZ21lbnQ7CisrCisrICAvKiBzZWUgaWYgc29tZSBjbGlwcGluZyBoYXBwZW5lZCAqLworKyAgaWYgKEdfVU5MSUtFTFkgKChkaWZmID0gY3RpbWUgLSBpbl90cykgPiAwKSkgeworKyAgICAvKiBicmluZyBjbGlwcGVkIHRpbWUgdG8gYnl0ZXMgKi8KKysgICAgZGlmZiA9CisrICAgICAgICBnc3RfdXRpbF91aW50NjRfc2NhbGVfaW50IChkaWZmLCBkZWMtPmZvcm1hdC5hdWRpby5zYW1wbGVyYXRlLAorKyAgICAgICAgR1NUX1NFQ09ORCkgKiAoZGVjLT5mb3JtYXQuYXVkaW8uZGVwdGggKiBkZWMtPmZvcm1hdC5hdWRpby5jaGFubmVscyk7CisrCisrICAgIEdTVF9ERUJVR19PQkpFQ1QgKGRlYywgImNsaXBwaW5nIHN0YXJ0IHRvICUiIEdTVF9USU1FX0ZPUk1BVCAiICUiCisrICAgICAgICBHX0dJTlQ2NF9GT1JNQVQgIiBieXRlcyIsIEdTVF9USU1FX0FSR1MgKGN0aW1lKSwgZGlmZik7CisrCisrICAgIEdTVF9CVUZGRVJfU0laRSAoYnVmKSAtPSBkaWZmOworKyAgICBHU1RfQlVGRkVSX0RBVEEgKGJ1ZikgKz0gZGlmZjsKKysgIH0KKysgIGlmIChHX1VOTElLRUxZICgoZGlmZiA9IHN0b3AgLSBjc3RvcCkgPiAwKSkgeworKyAgICAvKiBicmluZyBjbGlwcGVkIHRpbWUgdG8gYnl0ZXMgKi8KKysgICAgZGlmZiA9CisrICAgICAgICBnc3RfdXRpbF91aW50NjRfc2NhbGVfaW50IChkaWZmLCBkZWMtPmZvcm1hdC5hdWRpby5zYW1wbGVyYXRlLAorKyAgICAgICAgR1NUX1NFQ09ORCkgKiAoZGVjLT5mb3JtYXQuYXVkaW8uZGVwdGggKiBkZWMtPmZvcm1hdC5hdWRpby5jaGFubmVscyk7CisrCisrICAgIEdTVF9ERUJVR19PQkpFQ1QgKGRlYywgImNsaXBwaW5nIHN0b3AgdG8gJSIgR1NUX1RJTUVfRk9STUFUICIgJSIKKysgICAgICAgIEdfR0lOVDY0X0ZPUk1BVCAiIGJ5dGVzIiwgR1NUX1RJTUVfQVJHUyAoY3N0b3ApLCBkaWZmKTsKKysKKysgICAgR1NUX0JVRkZFUl9TSVpFIChidWYpIC09IGRpZmY7CisrICB9CisrICBHU1RfQlVGRkVSX1RJTUVTVEFNUCAoYnVmKSA9IGN0aW1lOworKyAgR1NUX0JVRkZFUl9EVVJBVElPTiAoYnVmKSA9IGNzdG9wIC0gY3RpbWU7CisrCisrYmVhY2g6CisrICBHU1RfTE9HX09CSkVDVCAoZGVjLCAiJXNkcm9wcGluZyIsIChyZXMgPyAibm90ICIgOiAiIikpOworKyAgcmV0dXJuIHJlczsKKysKKysgIC8qIEVSUk9SUyAqLworK291dF9vZl9zZWdtZW50OgorKyAgeworKyAgICBHU1RfTE9HX09CSkVDVCAoZGVjLCAib3V0IG9mIHNlZ21lbnQiKTsKKysgICAgZ290byBiZWFjaDsKKysgIH0KKyt9CisrCisrc3RhdGljIGdpbnQKKytnc3RfZmZtcGVnZGVjX2F1ZGlvX2ZyYW1lIChHc3RGRk1wZWdEZWMgKiBmZm1wZWdkZWMsCisrICAgIEFWQ29kZWMgKiBpbl9wbHVnaW4sIGd1aW50OCAqIGRhdGEsIGd1aW50IHNpemUsCisrICAgIGNvbnN0IEdzdFRTSW5mbyAqIGRlY19pbmZvLCBHc3RCdWZmZXIgKiogb3V0YnVmLCBHc3RGbG93UmV0dXJuICogcmV0KQorK3sKKysgIGdpbnQgbGVuID0gLTE7CisrICBnaW50IGhhdmVfZGF0YSA9IEFWQ09ERUNfTUFYX0FVRElPX0ZSQU1FX1NJWkU7CisrICBHc3RDbG9ja1RpbWUgb3V0X3RpbWVzdGFtcCwgb3V0X2R1cmF0aW9uOworKyAgZ2ludDY0IG91dF9vZmZzZXQ7CisrICBBVlBhY2tldCBwYWNrZXQ7CisrCisrICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsCisrICAgICAgInNpemU6JWQsIG9mZnNldDolIiBHX0dJTlQ2NF9GT1JNQVQgIiwgdHM6JSIgR1NUX1RJTUVfRk9STUFUICIsIGR1cjolIgorKyAgICAgIEdTVF9USU1FX0ZPUk1BVCAiLCBmZm1wZWdkZWMtPm5leHRfb3V0OiUiIEdTVF9USU1FX0ZPUk1BVCwgc2l6ZSwKKysgICAgICBkZWNfaW5mby0+b2Zmc2V0LCBHU1RfVElNRV9BUkdTIChkZWNfaW5mby0+dGltZXN0YW1wKSwKKysgICAgICBHU1RfVElNRV9BUkdTIChkZWNfaW5mby0+ZHVyYXRpb24pLCBHU1RfVElNRV9BUkdTIChmZm1wZWdkZWMtPm5leHRfb3V0KSk7CisrCisrICAqb3V0YnVmID0KKysgICAgICBuZXdfYWxpZ25lZF9idWZmZXIgKEFWQ09ERUNfTUFYX0FVRElPX0ZSQU1FX1NJWkUsCisrICAgICAgR1NUX1BBRF9DQVBTIChmZm1wZWdkZWMtPnNyY3BhZCkpOworKworKyAgZ3N0X2F2cGFja2V0X2luaXQgKCZwYWNrZXQsIGRhdGEsIHNpemUpOworKyAgbGVuID0gYXZjb2RlY19kZWNvZGVfYXVkaW8zIChmZm1wZWdkZWMtPmNvbnRleHQsCisrICAgICAgKGludDE2X3QgKikgR1NUX0JVRkZFUl9EQVRBICgqb3V0YnVmKSwgJmhhdmVfZGF0YSwgJnBhY2tldCk7CisrICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsCisrICAgICAgIkRlY29kZSBhdWRpbzogbGVuPSVkLCBoYXZlX2RhdGE9JWQiLCBsZW4sIGhhdmVfZGF0YSk7CisrCisrICBpZiAobGVuID49IDAgJiYgaGF2ZV9kYXRhID4gMCkgeworKyAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJDcmVhdGluZyBvdXRwdXQgYnVmZmVyIik7CisrICAgIGlmICghZ3N0X2ZmbXBlZ2RlY19uZWdvdGlhdGUgKGZmbXBlZ2RlYywgRkFMU0UpKSB7CisrICAgICAgZ3N0X2J1ZmZlcl91bnJlZiAoKm91dGJ1Zik7CisrICAgICAgKm91dGJ1ZiA9IE5VTEw7CisrICAgICAgbGVuID0gLTE7CisrICAgICAgZ290byBiZWFjaDsKKysgICAgfQorKworKyAgICAvKiBCdWZmZXIgc2l6ZSAqLworKyAgICBHU1RfQlVGRkVSX1NJWkUgKCpvdXRidWYpID0gaGF2ZV9kYXRhOworKworKyAgICAvKgorKyAgICAgKiBUaW1lc3RhbXBzOgorKyAgICAgKgorKyAgICAgKiAgMSkgQ29weSBpbnB1dCB0aW1lc3RhbXAgaWYgdmFsaWQKKysgICAgICogIDIpIGVsc2UgaW50ZXJwb2xhdGUgZnJvbSBwcmV2aW91cyBpbnB1dCB0aW1lc3RhbXAKKysgICAgICovCisrICAgIC8qIGFsd2F5cyB0YWtlIHRpbWVzdGFtcHMgZnJvbSB0aGUgaW5wdXQgYnVmZmVyIGlmIGFueSAqLworKyAgICBpZiAoR1NUX0NMT0NLX1RJTUVfSVNfVkFMSUQgKGRlY19pbmZvLT50aW1lc3RhbXApKSB7CisrICAgICAgb3V0X3RpbWVzdGFtcCA9IGRlY19pbmZvLT50aW1lc3RhbXA7CisrICAgIH0gZWxzZSB7CisrICAgICAgb3V0X3RpbWVzdGFtcCA9IGZmbXBlZ2RlYy0+bmV4dF9vdXQ7CisrICAgIH0KKysKKysgICAgLyoKKysgICAgICogRHVyYXRpb246CisrICAgICAqCisrICAgICAqICAxKSBjYWxjdWxhdGUgYmFzZWQgb24gbnVtYmVyIG9mIHNhbXBsZXMKKysgICAgICovCisrICAgIG91dF9kdXJhdGlvbiA9IGdzdF91dGlsX3VpbnQ2NF9zY2FsZSAoaGF2ZV9kYXRhLCBHU1RfU0VDT05ELAorKyAgICAgICAgZmZtcGVnZGVjLT5mb3JtYXQuYXVkaW8uZGVwdGggKiBmZm1wZWdkZWMtPmZvcm1hdC5hdWRpby5jaGFubmVscyAqCisrICAgICAgICBmZm1wZWdkZWMtPmZvcm1hdC5hdWRpby5zYW1wbGVyYXRlKTsKKysKKysgICAgLyogb2Zmc2V0OgorKyAgICAgKgorKyAgICAgKiBKdXN0IGNvcHkKKysgICAgICovCisrICAgIG91dF9vZmZzZXQgPSBkZWNfaW5mby0+b2Zmc2V0OworKworKyAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsCisrICAgICAgICAiQnVmZmVyIGNyZWF0ZWQuIFNpemU6JWQgLCB0aW1lc3RhbXA6JSIgR1NUX1RJTUVfRk9STUFUICIgLCBkdXJhdGlvbjolIgorKyAgICAgICAgR1NUX1RJTUVfRk9STUFULCBoYXZlX2RhdGEsCisrICAgICAgICBHU1RfVElNRV9BUkdTIChvdXRfdGltZXN0YW1wKSwgR1NUX1RJTUVfQVJHUyAob3V0X2R1cmF0aW9uKSk7CisrCisrICAgIEdTVF9CVUZGRVJfVElNRVNUQU1QICgqb3V0YnVmKSA9IG91dF90aW1lc3RhbXA7CisrICAgIEdTVF9CVUZGRVJfRFVSQVRJT04gKCpvdXRidWYpID0gb3V0X2R1cmF0aW9uOworKyAgICBHU1RfQlVGRkVSX09GRlNFVCAoKm91dGJ1ZikgPSBvdXRfb2Zmc2V0OworKyAgICBnc3RfYnVmZmVyX3NldF9jYXBzICgqb3V0YnVmLCBHU1RfUEFEX0NBUFMgKGZmbXBlZ2RlYy0+c3JjcGFkKSk7CisrCisrICAgIC8qIHRoZSBuZXh0IHRpbWVzdGFtcCB3ZSdsbCB1c2Ugd2hlbiBpbnRlcnBvbGF0aW5nICovCisrICAgIGlmIChHU1RfQ0xPQ0tfVElNRV9JU19WQUxJRCAob3V0X3RpbWVzdGFtcCkpCisrICAgICAgZmZtcGVnZGVjLT5uZXh0X291dCA9IG91dF90aW1lc3RhbXAgKyBvdXRfZHVyYXRpb247CisrCisrICAgIC8qIG5vdyBzZWUgaWYgd2UgbmVlZCB0byBjbGlwIHRoZSBidWZmZXIgYWdhaW5zdCB0aGUgc2VnbWVudCBib3VuZGFyaWVzLiAqLworKyAgICBpZiAoR19VTkxJS0VMWSAoIWNsaXBfYXVkaW9fYnVmZmVyIChmZm1wZWdkZWMsICpvdXRidWYsIG91dF90aW1lc3RhbXAsCisrICAgICAgICAgICAgICAgIG91dF9kdXJhdGlvbikpKQorKyAgICAgIGdvdG8gY2xpcHBlZDsKKysKKysgIH0gZWxzZSB7CisrICAgIGdzdF9idWZmZXJfdW5yZWYgKCpvdXRidWYpOworKyAgICAqb3V0YnVmID0gTlVMTDsKKysgIH0KKysKKysgIC8qIElmIHdlIGRvbid0IGVycm9yIG91dCBhZnRlciB0aGUgZmlyc3QgZmFpbGVkIHJlYWQgd2l0aCB0aGUgQUFDIGRlY29kZXIsCisrICAgKiB3ZSBtdXN0ICpub3QqIGNhcnJ5IG9uIHB1c2hpbmcgZGF0YSwgZWxzZSB3ZSdsbCBjYXVzZSBzZWdmYXVsdHMuLi4gKi8KKysgIGlmIChsZW4gPT0gLTEgJiYgKGluX3BsdWdpbi0+aWQgPT0gQ09ERUNfSURfQUFDCisrICAgICAgICAgIHx8IGluX3BsdWdpbi0+aWQgPT0gQ09ERUNfSURfQUFDX0xBVE0pKSB7CisrICAgIEdTVF9FTEVNRU5UX0VSUk9SIChmZm1wZWdkZWMsIFNUUkVBTSwgREVDT0RFLCAoTlVMTCksCisrICAgICAgICAoIkRlY29kaW5nIG9mIEFBQyBzdHJlYW0gYnkgRkZNUEVHIGZhaWxlZC4iKSk7CisrICAgICpyZXQgPSBHU1RfRkxPV19FUlJPUjsKKysgIH0KKysKKytiZWFjaDoKKysgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywgInJldHVybiBmbG93ICVkLCBvdXQgJXAsIGxlbiAlZCIsCisrICAgICAgKnJldCwgKm91dGJ1ZiwgbGVuKTsKKysgIHJldHVybiBsZW47CisrCisrICAvKiBFUlJPUlMgKi8KKytjbGlwcGVkOgorKyAgeworKyAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJidWZmZXIgY2xpcHBlZCIpOworKyAgICBnc3RfYnVmZmVyX3VucmVmICgqb3V0YnVmKTsKKysgICAgKm91dGJ1ZiA9IE5VTEw7CisrICAgIGdvdG8gYmVhY2g7CisrICB9CisrfQorKworKy8qIGdzdF9mZm1wZWdkZWNfZnJhbWU6CisrICogZmZtcGVnZGVjOgorKyAqIGRhdGE6IHBvaW50ZXIgdG8gdGhlIGRhdGEgdG8gZGVjb2RlCisrICogc2l6ZTogc2l6ZSBvZiBkYXRhIGluIGJ5dGVzCisrICogZ290X2RhdGE6IDAgaWYgbm8gZGF0YSB3YXMgZGVjb2RlZCwgIT0gMCBvdGhlcndpc2UuCisrICogaW5fdGltZTogdGltZXN0YW1wIG9mIGRhdGEKKysgKiBpbl9kdXJhdGlvbjogZHVyYXRpb24gb2YgZGF0YQorKyAqIHJldDogR3N0Rmxvd1JldHVybiB0byByZXR1cm4gaW4gdGhlIGNoYWluIGZ1bmN0aW9uCisrICoKKysgKiBEZWNvZGUgdGhlIGdpdmVuIGZyYW1lIGFuZCBwdXNoZXMgaXQgZG93bnN0cmVhbS4KKysgKgorKyAqIFJldHVybnM6IE51bWJlciBvZiBieXRlcyB1c2VkIGluIGRlY29kaW5nLCAtMSBvbiBlcnJvci9mYWlsdXJlLgorKyAqLworKworK3N0YXRpYyBnaW50CisrZ3N0X2ZmbXBlZ2RlY19mcmFtZSAoR3N0RkZNcGVnRGVjICogZmZtcGVnZGVjLAorKyAgICBndWludDggKiBkYXRhLCBndWludCBzaXplLCBnaW50ICogZ290X2RhdGEsIGNvbnN0IEdzdFRTSW5mbyAqIGRlY19pbmZvLAorKyAgICBHc3RGbG93UmV0dXJuICogcmV0KQorK3sKKysgIEdzdEZGTXBlZ0RlY0NsYXNzICpvY2xhc3M7CisrICBHc3RCdWZmZXIgKm91dGJ1ZiA9IE5VTEw7CisrICBnaW50IGhhdmVfZGF0YSA9IDAsIGxlbiA9IDA7CisrCisrICBpZiAoR19VTkxJS0VMWSAoZmZtcGVnZGVjLT5jb250ZXh0LT5jb2RlYyA9PSBOVUxMKSkKKysgICAgZ290byBub19jb2RlYzsKKysKKysgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJkYXRhOiVwLCBzaXplOiVkLCBpZDolZCIsIGRhdGEsIHNpemUsCisrICAgICAgZGVjX2luZm8tPmlkeCk7CisrCisrICAqcmV0ID0gR1NUX0ZMT1dfT0s7CisrICBmZm1wZWdkZWMtPmNvbnRleHQtPmZyYW1lX251bWJlcisrOworKworKyAgb2NsYXNzID0gKEdzdEZGTXBlZ0RlY0NsYXNzICopIChHX09CSkVDVF9HRVRfQ0xBU1MgKGZmbXBlZ2RlYykpOworKworKyAgc3dpdGNoIChvY2xhc3MtPmluX3BsdWdpbi0+dHlwZSkgeworKyAgICBjYXNlIEFWTUVESUFfVFlQRV9WSURFTzoKKysgICAgICBsZW4gPQorKyAgICAgICAgICBnc3RfZmZtcGVnZGVjX3ZpZGVvX2ZyYW1lIChmZm1wZWdkZWMsIGRhdGEsIHNpemUsIGRlY19pbmZvLCAmb3V0YnVmLAorKyAgICAgICAgICByZXQpOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIEFWTUVESUFfVFlQRV9BVURJTzoKKysgICAgICBsZW4gPQorKyAgICAgICAgICBnc3RfZmZtcGVnZGVjX2F1ZGlvX2ZyYW1lIChmZm1wZWdkZWMsIG9jbGFzcy0+aW5fcGx1Z2luLCBkYXRhLCBzaXplLAorKyAgICAgICAgICBkZWNfaW5mbywgJm91dGJ1ZiwgcmV0KTsKKysKKysgICAgICAvKiBpZiB3ZSBkaWQgbm90IGdldCBhbiBvdXRwdXQgYnVmZmVyIGFuZCB3ZSBoYXZlIGEgcGVuZGluZyBkaXNjb250LCBkb24ndAorKyAgICAgICAqIGNsZWFyIHRoZSBpbnB1dCB0aW1lc3RhbXBzLCB3ZSB3aWxsIHB1dCB0aGVtIG9uIHRoZSBuZXh0IGJ1ZmZlciBiZWNhdXNlCisrICAgICAgICogZWxzZSB3ZSBtaWdodCBjcmVhdGUgdGhlIGZpcnN0IGJ1ZmZlciB3aXRoIGEgdmVyeSBiaWcgdGltZXN0YW1wIGdhcC4gKi8KKysgICAgICBpZiAob3V0YnVmID09IE5VTEwgJiYgZmZtcGVnZGVjLT5kaXNjb250KSB7CisrICAgICAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJubyBidWZmZXIgYnV0IGtlZXBpbmcgdGltZXN0YW1wIik7CisrICAgICAgICBmZm1wZWdkZWMtPmNsZWFyX3RzID0gRkFMU0U7CisrICAgICAgfQorKyAgICAgIGJyZWFrOworKyAgICBkZWZhdWx0OgorKyAgICAgIEdTVF9FUlJPUl9PQkpFQ1QgKGZmbXBlZ2RlYywgIkFza2VkIHRvIGRlY29kZSBub24tYXVkaW8vdmlkZW8gZnJhbWUgISIpOworKyAgICAgIGdfYXNzZXJ0X25vdF9yZWFjaGVkICgpOworKyAgICAgIGJyZWFrOworKyAgfQorKworKyAgaWYgKG91dGJ1ZikKKysgICAgaGF2ZV9kYXRhID0gMTsKKysKKysgIGlmIChsZW4gPCAwIHx8IGhhdmVfZGF0YSA8IDApIHsKKysgICAgR1NUX1dBUk5JTkdfT0JKRUNUIChmZm1wZWdkZWMsCisrICAgICAgICAiZmZkZWNfJXM6IGRlY29kaW5nIGVycm9yIChsZW46ICVkLCBoYXZlX2RhdGE6ICVkKSIsCisrICAgICAgICBvY2xhc3MtPmluX3BsdWdpbi0+bmFtZSwgbGVuLCBoYXZlX2RhdGEpOworKyAgICAqZ290X2RhdGEgPSAwOworKyAgICBnb3RvIGJlYWNoOworKyAgfSBlbHNlIGlmIChsZW4gPT0gMCAmJiBoYXZlX2RhdGEgPT0gMCkgeworKyAgICAqZ290X2RhdGEgPSAwOworKyAgICBnb3RvIGJlYWNoOworKyAgfSBlbHNlIHsKKysgICAgLyogdGhpcyBpcyB3aGVyZSBJIGxvc3QgbXkgbGFzdCBjbHVlIG9uIGZmbXBlZy4uLiAqLworKyAgICAqZ290X2RhdGEgPSAxOworKyAgfQorKworKyAgaWYgKG91dGJ1ZikgeworKyAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLAorKyAgICAgICAgIkRlY29kZWQgZGF0YSwgbm93IHB1c2hpbmcgYnVmZmVyICVwIHdpdGggb2Zmc2V0ICUiIEdfR0lOVDY0X0ZPUk1BVAorKyAgICAgICAgIiwgdGltZXN0YW1wICUiIEdTVF9USU1FX0ZPUk1BVCAiIGFuZCBkdXJhdGlvbiAlIiBHU1RfVElNRV9GT1JNQVQsCisrICAgICAgICBvdXRidWYsIEdTVF9CVUZGRVJfT0ZGU0VUIChvdXRidWYpLAorKyAgICAgICAgR1NUX1RJTUVfQVJHUyAoR1NUX0JVRkZFUl9USU1FU1RBTVAgKG91dGJ1ZikpLAorKyAgICAgICAgR1NUX1RJTUVfQVJHUyAoR1NUX0JVRkZFUl9EVVJBVElPTiAob3V0YnVmKSkpOworKworKyAgICAvKiBtYXJrIHBlbmRpbmcgZGlzY29udCAqLworKyAgICBpZiAoZmZtcGVnZGVjLT5kaXNjb250KSB7CisrICAgICAgR1NUX0JVRkZFUl9GTEFHX1NFVCAob3V0YnVmLCBHU1RfQlVGRkVSX0ZMQUdfRElTQ09OVCk7CisrICAgICAgZmZtcGVnZGVjLT5kaXNjb250ID0gRkFMU0U7CisrICAgIH0KKysKKysgICAgaWYgKGZmbXBlZ2RlYy0+c2VnbWVudC5yYXRlID4gMC4wKSB7CisrICAgICAgLyogYW5kIG9mZiB3ZSBnbyAqLworKyAgICAgICpyZXQgPSBnc3RfcGFkX3B1c2ggKGZmbXBlZ2RlYy0+c3JjcGFkLCBvdXRidWYpOworKyAgICB9IGVsc2UgeworKyAgICAgIC8qIHJldmVyc2UgcGxheWJhY2ssIHF1ZXVlIGZyYW1lIHRpbGwgbGF0ZXIgd2hlbiB3ZSBnZXQgYSBkaXNjb250LiAqLworKyAgICAgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywgInF1ZXVlZCBmcmFtZSIpOworKyAgICAgIGZmbXBlZ2RlYy0+cXVldWVkID0gZ19saXN0X3ByZXBlbmQgKGZmbXBlZ2RlYy0+cXVldWVkLCBvdXRidWYpOworKyAgICAgICpyZXQgPSBHU1RfRkxPV19PSzsKKysgICAgfQorKyAgfSBlbHNlIHsKKysgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAiV2UgZGlkbid0IGdldCBhIGRlY29kZWQgYnVmZmVyIik7CisrICB9CisrCisrYmVhY2g6CisrICByZXR1cm4gbGVuOworKworKyAgLyogRVJST1JTICovCisrbm9fY29kZWM6CisrICB7CisrICAgIEdTVF9FUlJPUl9PQkpFQ1QgKGZmbXBlZ2RlYywgIm5vIGNvZGVjIGNvbnRleHQiKTsKKysgICAgcmV0dXJuIC0xOworKyAgfQorK30KKysKKytzdGF0aWMgdm9pZAorK2dzdF9mZm1wZWdkZWNfZHJhaW4gKEdzdEZGTXBlZ0RlYyAqIGZmbXBlZ2RlYykKKyt7CisrICBHc3RGRk1wZWdEZWNDbGFzcyAqb2NsYXNzOworKworKyAgb2NsYXNzID0gKEdzdEZGTXBlZ0RlY0NsYXNzICopIChHX09CSkVDVF9HRVRfQ0xBU1MgKGZmbXBlZ2RlYykpOworKworKyAgaWYgKG9jbGFzcy0+aW5fcGx1Z2luLT5jYXBhYmlsaXRpZXMgJiBDT0RFQ19DQVBfREVMQVkpIHsKKysgICAgZ2ludCBoYXZlX2RhdGEsIGxlbiwgdHJ5ID0gMDsKKysKKysgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywKKysgICAgICAgICJjb2RlYyBoYXMgZGVsYXkgY2FwYWJpbGl0aWVzLCBjYWxsaW5nIHVudGlsIGZmbXBlZyBoYXMgZHJhaW5lZCBldmVyeXRoaW5nIik7CisrCisrICAgIGRvIHsKKysgICAgICBHc3RGbG93UmV0dXJuIHJldDsKKysKKysgICAgICBsZW4gPQorKyAgICAgICAgICBnc3RfZmZtcGVnZGVjX2ZyYW1lIChmZm1wZWdkZWMsIE5VTEwsIDAsICZoYXZlX2RhdGEsICZ0c19pbmZvX25vbmUsCisrICAgICAgICAgICZyZXQpOworKyAgICAgIGlmIChsZW4gPCAwIHx8IGhhdmVfZGF0YSA9PSAwKQorKyAgICAgICAgYnJlYWs7CisrICAgIH0gd2hpbGUgKHRyeSsrIDwgMTApOworKyAgfQorKyAgaWYgKGZmbXBlZ2RlYy0+c2VnbWVudC5yYXRlIDwgMC4wKSB7CisrICAgIC8qIGlmIHdlIGhhdmUgc29tZSBxdWV1ZWQgZnJhbWVzIGZvciByZXZlcnNlIHBsYXliYWNrLCBmbHVzaCB0aGVtIG5vdyAqLworKyAgICBmbHVzaF9xdWV1ZWQgKGZmbXBlZ2RlYyk7CisrICB9CisrfQorKworK3N0YXRpYyB2b2lkCisrZ3N0X2ZmbXBlZ2RlY19mbHVzaF9wY2FjaGUgKEdzdEZGTXBlZ0RlYyAqIGZmbXBlZ2RlYykKKyt7CisrICBpZiAoZmZtcGVnZGVjLT5wY3R4KSB7CisrICAgIGdpbnQgc2l6ZSwgYnNpemU7CisrICAgIGd1aW50OCAqZGF0YTsKKysgICAgZ3VpbnQ4IGJkYXRhW0ZGX0lOUFVUX0JVRkZFUl9QQURESU5HX1NJWkVdOworKworKyAgICBic2l6ZSA9IEZGX0lOUFVUX0JVRkZFUl9QQURESU5HX1NJWkU7CisrICAgIG1lbXNldCAoYmRhdGEsIDAsIGJzaXplKTsKKysKKysgICAgLyogcGFyc2Ugc29tZSBkdW1teSBkYXRhIHRvIHdvcmsgYXJvdW5kIHNvbWUgZmZtcGVnIHdlaXJkbmVzcyB3aGVyZSBpdCBrZWVwcworKyAgICAgKiB0aGUgcHJldmlvdXMgcHRzIGFyb3VuZCAqLworKyAgICBhdl9wYXJzZXJfcGFyc2UyIChmZm1wZWdkZWMtPnBjdHgsIGZmbXBlZ2RlYy0+Y29udGV4dCwKKysgICAgICAgICZkYXRhLCAmc2l6ZSwgYmRhdGEsIGJzaXplLCAtMSwgLTEsIC0xKTsKKysgICAgZmZtcGVnZGVjLT5wY3R4LT5wdHMgPSAtMTsKKysgICAgZmZtcGVnZGVjLT5wY3R4LT5kdHMgPSAtMTsKKysgIH0KKysKKysgIGlmIChmZm1wZWdkZWMtPnBjYWNoZSkgeworKyAgICBnc3RfYnVmZmVyX3VucmVmIChmZm1wZWdkZWMtPnBjYWNoZSk7CisrICAgIGZmbXBlZ2RlYy0+cGNhY2hlID0gTlVMTDsKKysgIH0KKyt9CisrCisrc3RhdGljIGdib29sZWFuCisrZ3N0X2ZmbXBlZ2RlY19zaW5rX2V2ZW50IChHc3RQYWQgKiBwYWQsIEdzdEV2ZW50ICogZXZlbnQpCisreworKyAgR3N0RkZNcGVnRGVjICpmZm1wZWdkZWM7CisrICBnYm9vbGVhbiByZXQgPSBGQUxTRTsKKysKKysgIGZmbXBlZ2RlYyA9IChHc3RGRk1wZWdEZWMgKikgZ3N0X3BhZF9nZXRfcGFyZW50IChwYWQpOworKworKyAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAiSGFuZGxpbmcgJXMgZXZlbnQiLAorKyAgICAgIEdTVF9FVkVOVF9UWVBFX05BTUUgKGV2ZW50KSk7CisrCisrICBzd2l0Y2ggKEdTVF9FVkVOVF9UWVBFIChldmVudCkpIHsKKysgICAgY2FzZSBHU1RfRVZFTlRfRU9TOgorKyAgICB7CisrICAgICAgZ3N0X2ZmbXBlZ2RlY19kcmFpbiAoZmZtcGVnZGVjKTsKKysgICAgICBicmVhazsKKysgICAgfQorKyAgICBjYXNlIEdTVF9FVkVOVF9GTFVTSF9TVE9QOgorKyAgICB7CisrICAgICAgaWYgKGZmbXBlZ2RlYy0+b3BlbmVkKSB7CisrICAgICAgICBhdmNvZGVjX2ZsdXNoX2J1ZmZlcnMgKGZmbXBlZ2RlYy0+Y29udGV4dCk7CisrICAgICAgfQorKyAgICAgIGdzdF9mZm1wZWdkZWNfcmVzZXRfdHMgKGZmbXBlZ2RlYyk7CisrICAgICAgZ3N0X2ZmbXBlZ2RlY19yZXNldF9xb3MgKGZmbXBlZ2RlYyk7CisrICAgICAgZ3N0X2ZmbXBlZ2RlY19mbHVzaF9wY2FjaGUgKGZmbXBlZ2RlYyk7CisrICAgICAgZ3N0X3NlZ21lbnRfaW5pdCAoJmZmbXBlZ2RlYy0+c2VnbWVudCwgR1NUX0ZPUk1BVF9USU1FKTsKKysgICAgICBjbGVhcl9xdWV1ZWQgKGZmbXBlZ2RlYyk7CisrICAgICAgYnJlYWs7CisrICAgIH0KKysgICAgY2FzZSBHU1RfRVZFTlRfTkVXU0VHTUVOVDoKKysgICAgeworKyAgICAgIGdib29sZWFuIHVwZGF0ZTsKKysgICAgICBHc3RGb3JtYXQgZm10OworKyAgICAgIGdpbnQ2NCBzdGFydCwgc3RvcCwgdGltZTsKKysgICAgICBnZG91YmxlIHJhdGUsIGFyYXRlOworKworKyAgICAgIGdzdF9ldmVudF9wYXJzZV9uZXdfc2VnbWVudF9mdWxsIChldmVudCwgJnVwZGF0ZSwgJnJhdGUsICZhcmF0ZSwgJmZtdCwKKysgICAgICAgICAgJnN0YXJ0LCAmc3RvcCwgJnRpbWUpOworKworKyAgICAgIHN3aXRjaCAoZm10KSB7CisrICAgICAgICBjYXNlIEdTVF9GT1JNQVRfVElNRToKKysgICAgICAgICAgLyogZmluZSwgb3VyIG5hdGl2ZSBzZWdtZW50IGZvcm1hdCAqLworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgR1NUX0ZPUk1BVF9CWVRFUzoKKysgICAgICAgIHsKKysgICAgICAgICAgZ2ludCBiaXRfcmF0ZTsKKysKKysgICAgICAgICAgYml0X3JhdGUgPSBmZm1wZWdkZWMtPmNvbnRleHQtPmJpdF9yYXRlOworKworKyAgICAgICAgICAvKiBjb252ZXJ0IHRvIHRpbWUgb3IgZmFpbCAqLworKyAgICAgICAgICBpZiAoIWJpdF9yYXRlKQorKyAgICAgICAgICAgIGdvdG8gbm9fYml0cmF0ZTsKKysKKysgICAgICAgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAiYml0cmF0ZTogJWQiLCBiaXRfcmF0ZSk7CisrCisrICAgICAgICAgIC8qIGNvbnZlcnQgdmFsdWVzIHRvIFRJTUUgKi8KKysgICAgICAgICAgaWYgKHN0YXJ0ICE9IC0xKQorKyAgICAgICAgICAgIHN0YXJ0ID0gZ3N0X3V0aWxfdWludDY0X3NjYWxlX2ludCAoc3RhcnQsIEdTVF9TRUNPTkQsIGJpdF9yYXRlKTsKKysgICAgICAgICAgaWYgKHN0b3AgIT0gLTEpCisrICAgICAgICAgICAgc3RvcCA9IGdzdF91dGlsX3VpbnQ2NF9zY2FsZV9pbnQgKHN0b3AsIEdTVF9TRUNPTkQsIGJpdF9yYXRlKTsKKysgICAgICAgICAgaWYgKHRpbWUgIT0gLTEpCisrICAgICAgICAgICAgdGltZSA9IGdzdF91dGlsX3VpbnQ2NF9zY2FsZV9pbnQgKHRpbWUsIEdTVF9TRUNPTkQsIGJpdF9yYXRlKTsKKysKKysgICAgICAgICAgLyogdW5yZWYgb2xkIGV2ZW50ICovCisrICAgICAgICAgIGdzdF9ldmVudF91bnJlZiAoZXZlbnQpOworKworKyAgICAgICAgICAvKiBjcmVhdGUgbmV3IGNvbnZlcnRlZCB0aW1lIHNlZ21lbnQgKi8KKysgICAgICAgICAgZm10ID0gR1NUX0ZPUk1BVF9USU1FOworKyAgICAgICAgICAvKiBGSVhNRSwgYml0cmF0ZSBpcyBub3QgZ29vZCBlbm91Z2ggdG9vIGZpbmQgYSBnb29kIHN0b3AsIGxldCdzCisrICAgICAgICAgICAqIGhvcGUgc3RhcnQgYW5kIHRpbWUgd2VyZSAwLi4uIG1laC4gKi8KKysgICAgICAgICAgc3RvcCA9IC0xOworKyAgICAgICAgICBldmVudCA9IGdzdF9ldmVudF9uZXdfbmV3X3NlZ21lbnQgKHVwZGF0ZSwgcmF0ZSwgZm10LAorKyAgICAgICAgICAgICAgc3RhcnQsIHN0b3AsIHRpbWUpOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIH0KKysgICAgICAgIGRlZmF1bHQ6CisrICAgICAgICAgIC8qIGludmFsaWQgZm9ybWF0ICovCisrICAgICAgICAgIGdvdG8gaW52YWxpZF9mb3JtYXQ7CisrICAgICAgfQorKworKyAgICAgIC8qIGRyYWluIHBlbmRpbmcgZnJhbWVzIGJlZm9yZSB0cnlpbmcgdG8gdXNlIHRoZSBuZXcgc2VnbWVudCwgcXVldWVkCisrICAgICAgICogYnVmZmVycyBiZWxvbmdlZCB0byB0aGUgcHJldmlvdXMgc2VnbWVudC4gKi8KKysgICAgICBpZiAoZmZtcGVnZGVjLT5jb250ZXh0LT5jb2RlYykKKysgICAgICAgIGdzdF9mZm1wZWdkZWNfZHJhaW4gKGZmbXBlZ2RlYyk7CisrCisrICAgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLAorKyAgICAgICAgICAiTkVXU0VHTUVOVCBpbiB0aW1lIHN0YXJ0ICUiIEdTVF9USU1FX0ZPUk1BVCAiIC0tIHN0b3AgJSIKKysgICAgICAgICAgR1NUX1RJTUVfRk9STUFULCBHU1RfVElNRV9BUkdTIChzdGFydCksIEdTVF9USU1FX0FSR1MgKHN0b3ApKTsKKysKKysgICAgICAvKiBhbmQgc3RvcmUgdGhlIHZhbHVlcyAqLworKyAgICAgIGdzdF9zZWdtZW50X3NldF9uZXdzZWdtZW50X2Z1bGwgKCZmZm1wZWdkZWMtPnNlZ21lbnQsIHVwZGF0ZSwKKysgICAgICAgICAgcmF0ZSwgYXJhdGUsIGZtdCwgc3RhcnQsIHN0b3AsIHRpbWUpOworKyAgICAgIGJyZWFrOworKyAgICB9CisrICAgIGRlZmF1bHQ6CisrICAgICAgYnJlYWs7CisrICB9CisrCisrICAvKiBhbmQgcHVzaCBzZWdtZW50IGRvd25zdHJlYW0gKi8KKysgIHJldCA9IGdzdF9wYWRfcHVzaF9ldmVudCAoZmZtcGVnZGVjLT5zcmNwYWQsIGV2ZW50KTsKKysKKytkb25lOgorKyAgZ3N0X29iamVjdF91bnJlZiAoZmZtcGVnZGVjKTsKKysKKysgIHJldHVybiByZXQ7CisrCisrICAvKiBFUlJPUlMgKi8KKytub19iaXRyYXRlOgorKyAgeworKyAgICBHU1RfV0FSTklOR19PQkpFQ1QgKGZmbXBlZ2RlYywgIm5vIGJpdHJhdGUgdG8gY29udmVydCBCWVRFUyB0byBUSU1FIik7CisrICAgIGdzdF9ldmVudF91bnJlZiAoZXZlbnQpOworKyAgICBnb3RvIGRvbmU7CisrICB9CisraW52YWxpZF9mb3JtYXQ6CisrICB7CisrICAgIEdTVF9XQVJOSU5HX09CSkVDVCAoZmZtcGVnZGVjLCAidW5rbm93biBmb3JtYXQgcmVjZWl2ZWQgaW4gTkVXU0VHTUVOVCIpOworKyAgICBnc3RfZXZlbnRfdW5yZWYgKGV2ZW50KTsKKysgICAgZ290byBkb25lOworKyAgfQorK30KKysKKytzdGF0aWMgR3N0Rmxvd1JldHVybgorK2dzdF9mZm1wZWdkZWNfY2hhaW4gKEdzdFBhZCAqIHBhZCwgR3N0QnVmZmVyICogaW5idWYpCisreworKyAgR3N0RkZNcGVnRGVjICpmZm1wZWdkZWM7CisrICBHc3RGRk1wZWdEZWNDbGFzcyAqb2NsYXNzOworKyAgZ3VpbnQ4ICpkYXRhLCAqYmRhdGE7CisrICBnaW50IHNpemUsIGJzaXplLCBsZW4sIGhhdmVfZGF0YTsKKysgIEdzdEZsb3dSZXR1cm4gcmV0ID0gR1NUX0ZMT1dfT0s7CisrICBHc3RDbG9ja1RpbWUgaW5fdGltZXN0YW1wOworKyAgR3N0Q2xvY2tUaW1lIGluX2R1cmF0aW9uOworKyAgZ2Jvb2xlYW4gZGlzY29udDsKKysgIGdpbnQ2NCBpbl9vZmZzZXQ7CisrICBjb25zdCBHc3RUU0luZm8gKmluX2luZm87CisrICBjb25zdCBHc3RUU0luZm8gKmRlY19pbmZvOworKworKyAgZmZtcGVnZGVjID0gKEdzdEZGTXBlZ0RlYyAqKSAoR1NUX1BBRF9QQVJFTlQgKHBhZCkpOworKworKyAgaWYgKEdfVU5MSUtFTFkgKCFmZm1wZWdkZWMtPm9wZW5lZCkpCisrICAgIGdvdG8gbm90X25lZ290aWF0ZWQ7CisrCisrICBkaXNjb250ID0gR1NUX0JVRkZFUl9JU19ESVNDT05UIChpbmJ1Zik7CisrCisrICAvKiBUaGUgZGlzY29udCBmbGFncyBtYXJrcyBhIGJ1ZmZlciB0aGF0IGlzIG5vdCBjb250aW51b3VzIHdpdGggdGhlIHByZXZpb3VzCisrICAgKiBidWZmZXIuIFRoaXMgbWVhbnMgd2UgbmVlZCB0byBjbGVhciB3aGF0ZXZlciBkYXRhIHdlIGN1cnJlbnRseSBoYXZlLiBXZQorKyAgICogY3VycmVudGx5IGFsc28gd2FpdCBmb3IgYSBuZXcga2V5ZnJhbWUsIHdoaWNoIG1pZ2h0IGJlIHN1Ym9wdGltYWwgaW4gdGhlCisrICAgKiBjYXNlIG9mIGEgbmV0d29yayBlcnJvciwgYmV0dGVyIHNob3cgdGhlIGVycm9ycyB0aGFuIHRvIGRyb3AgYWxsIGRhdGEuLiAqLworKyAgaWYgKEdfVU5MSUtFTFkgKGRpc2NvbnQpKSB7CisrICAgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywgInJlY2VpdmVkIERJU0NPTlQiKTsKKysgICAgLyogZHJhaW4gd2hhdCB3ZSBoYXZlIHF1ZXVlZCAqLworKyAgICBnc3RfZmZtcGVnZGVjX2RyYWluIChmZm1wZWdkZWMpOworKyAgICBnc3RfZmZtcGVnZGVjX2ZsdXNoX3BjYWNoZSAoZmZtcGVnZGVjKTsKKysgICAgYXZjb2RlY19mbHVzaF9idWZmZXJzIChmZm1wZWdkZWMtPmNvbnRleHQpOworKyAgICBmZm1wZWdkZWMtPmRpc2NvbnQgPSBUUlVFOworKyAgICBnc3RfZmZtcGVnZGVjX3Jlc2V0X3RzIChmZm1wZWdkZWMpOworKyAgfQorKyAgLyogYnkgZGVmYXVsdCB3ZSBjbGVhciB0aGUgaW5wdXQgdGltZXN0YW1wIGFmdGVyIGRlY29kaW5nIGVhY2ggZnJhbWUgc28gdGhhdAorKyAgICogaW50ZXJwb2xsYXRpb24gY2FuIHdvcmsuICovCisrICBmZm1wZWdkZWMtPmNsZWFyX3RzID0gVFJVRTsKKysKKysgIG9jbGFzcyA9IChHc3RGRk1wZWdEZWNDbGFzcyAqKSAoR19PQkpFQ1RfR0VUX0NMQVNTIChmZm1wZWdkZWMpKTsKKysKKysgIC8qIHBhcnNlIGNhY2hlIGpvaW5pbmcuIElmIHRoZXJlIGlzIGNhY2hlZCBkYXRhICovCisrICBpZiAoZmZtcGVnZGVjLT5wY2FjaGUpIHsKKysgICAgLyogam9pbiB3aXRoIHByZXZpb3VzIGRhdGEgKi8KKysgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgImpvaW4gcGFyc2UgY2FjaGUiKTsKKysgICAgaW5idWYgPSBnc3RfYnVmZmVyX2pvaW4gKGZmbXBlZ2RlYy0+cGNhY2hlLCBpbmJ1Zik7CisrICAgIC8qIG5vIG1vcmUgY2FjaGVkIGRhdGEsIHdlIGFzc3VtZSB3ZSBjYW4gY29uc3VtZSB0aGUgY29tcGxldGUgY2FjaGUgKi8KKysgICAgZmZtcGVnZGVjLT5wY2FjaGUgPSBOVUxMOworKyAgfQorKworKyAgaW5fdGltZXN0YW1wID0gR1NUX0JVRkZFUl9USU1FU1RBTVAgKGluYnVmKTsKKysgIGluX2R1cmF0aW9uID0gR1NUX0JVRkZFUl9EVVJBVElPTiAoaW5idWYpOworKyAgaW5fb2Zmc2V0ID0gR1NUX0JVRkZFUl9PRkZTRVQgKGluYnVmKTsKKysKKysgIC8qIGdldCBoYW5kbGUgdG8gdGltZXN0YW1wIGluZm8sIHdlIGNhbiBwYXNzIHRoaXMgYXJvdW5kIHRvIGZmbXBlZyAqLworKyAgaW5faW5mbyA9IGdzdF90c19pbmZvX3N0b3JlIChmZm1wZWdkZWMsIGluX3RpbWVzdGFtcCwgaW5fZHVyYXRpb24sIGluX29mZnNldCk7CisrCisrICBpZiAoaW5fdGltZXN0YW1wICE9IC0xKSB7CisrICAgIC8qIGNoZWNrIGZvciBpbmNyZWFzaW5nIHRpbWVzdGFtcHMgaWYgdGhleSBhcmUganVtcGluZyBiYWNrd2FyZHMsIHdlCisrICAgICAqIHByb2JhYmx5IGFyZSBkZWFsaW5nIHdpdGggUFRTIGFzIHRpbWVzdGFtcHMgKi8KKysgICAgaWYgKCFmZm1wZWdkZWMtPnJlb3JkZXJlZF9pbiAmJiBmZm1wZWdkZWMtPmxhc3RfaW4gIT0gLTEpIHsKKysgICAgICBpZiAoaW5fdGltZXN0YW1wIDwgZmZtcGVnZGVjLT5sYXN0X2luKSB7CisrICAgICAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAiZGV0ZWN0ZWQgcmVvcmRlcmVkIGlucHV0IHRpbWVzdGFtcHMiKTsKKysgICAgICAgIGZmbXBlZ2RlYy0+cmVvcmRlcmVkX2luID0gVFJVRTsKKysgICAgICAgIGZmbXBlZ2RlYy0+bGFzdF9kaWZmID0gR1NUX0NMT0NLX1RJTUVfTk9ORTsKKysgICAgICB9IGVsc2UgaWYgKGluX3RpbWVzdGFtcCA+IGZmbXBlZ2RlYy0+bGFzdF9pbikgeworKyAgICAgICAgR3N0Q2xvY2tUaW1lIGRpZmY7CisrICAgICAgICAvKiBrZWVwIHRyYWNrIG9mIHRpbWVzdGFtcCBkaWZmIHRvIGVzdGltYXRlIGR1cmF0aW9uICovCisrICAgICAgICBkaWZmID0gaW5fdGltZXN0YW1wIC0gZmZtcGVnZGVjLT5sYXN0X2luOworKyAgICAgICAgLyogbmVlZCB0byBzY2FsZSB3aXRoIGFtb3VudCBvZiBmcmFtZXMgaW4gdGhlIGludGVydmFsICovCisrICAgICAgICBpZiAoZmZtcGVnZGVjLT5sYXN0X2ZyYW1lcykKKysgICAgICAgICAgZGlmZiAvPSBmZm1wZWdkZWMtPmxhc3RfZnJhbWVzOworKworKyAgICAgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgImVzdGltYXRlZCBkdXJhdGlvbiAlIiBHU1RfVElNRV9GT1JNQVQgIiAldSIsCisrICAgICAgICAgICAgR1NUX1RJTUVfQVJHUyAoZGlmZiksIGZmbXBlZ2RlYy0+bGFzdF9mcmFtZXMpOworKworKyAgICAgICAgZmZtcGVnZGVjLT5sYXN0X2RpZmYgPSBkaWZmOworKyAgICAgIH0KKysgICAgfQorKyAgICBmZm1wZWdkZWMtPmxhc3RfaW4gPSBpbl90aW1lc3RhbXA7CisrICAgIGZmbXBlZ2RlYy0+bGFzdF9mcmFtZXMgPSAwOworKyAgfQorKworKyAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywKKysgICAgICAiUmVjZWl2ZWQgbmV3IGRhdGEgb2Ygc2l6ZSAldSwgb2Zmc2V0OiUiIEdfR1VJTlQ2NF9GT1JNQVQgIiwgdHM6JSIKKysgICAgICBHU1RfVElNRV9GT1JNQVQgIiwgZHVyOiUiIEdTVF9USU1FX0ZPUk1BVCAiLCBpbmZvICVkIiwKKysgICAgICBHU1RfQlVGRkVSX1NJWkUgKGluYnVmKSwgR1NUX0JVRkZFUl9PRkZTRVQgKGluYnVmKSwKKysgICAgICBHU1RfVElNRV9BUkdTIChpbl90aW1lc3RhbXApLCBHU1RfVElNRV9BUkdTIChpbl9kdXJhdGlvbiksIGluX2luZm8tPmlkeCk7CisrCisrICAvKiB3b3JrYXJvdW5kcywgZnVuY3Rpb25zIHdyaXRlIHRvIGJ1ZmZlcnM6CisrICAgKiAgbGliYXZjb2RlYy9zdnExLmM6c3ZxMV9kZWNvZGVfZnJhbWUgd3JpdGVzIHRvIHRoZSBnaXZlbiBidWZmZXIuCisrICAgKiAgbGliYXZjb2RlYy9zdnEzLmM6c3ZxM19kZWNvZGVfc2xpY2VfaGVhZGVyIHRvby4KKysgICAqIGZmbXBlZyBkZXZzIGtub3cgYWJvdXQgaXQgYW5kIHdpbGwgZml4IGl0ICh0aGV5IHNhaWQpLiAqLworKyAgaWYgKG9jbGFzcy0+aW5fcGx1Z2luLT5pZCA9PSBDT0RFQ19JRF9TVlExIHx8CisrICAgICAgb2NsYXNzLT5pbl9wbHVnaW4tPmlkID09IENPREVDX0lEX1NWUTMpIHsKKysgICAgaW5idWYgPSBnc3RfYnVmZmVyX21ha2Vfd3JpdGFibGUgKGluYnVmKTsKKysgIH0KKysKKysgIGJkYXRhID0gR1NUX0JVRkZFUl9EQVRBIChpbmJ1Zik7CisrICBic2l6ZSA9IEdTVF9CVUZGRVJfU0laRSAoaW5idWYpOworKworKyAgaWYgKGZmbXBlZ2RlYy0+ZG9fcGFkZGluZykgeworKyAgICAvKiBhZGQgcGFkZGluZyAqLworKyAgICBpZiAoZmZtcGVnZGVjLT5wYWRkZWRfc2l6ZSA8IGJzaXplICsgRkZfSU5QVVRfQlVGRkVSX1BBRERJTkdfU0laRSkgeworKyAgICAgIGZmbXBlZ2RlYy0+cGFkZGVkX3NpemUgPSBic2l6ZSArIEZGX0lOUFVUX0JVRkZFUl9QQURESU5HX1NJWkU7CisrICAgICAgZmZtcGVnZGVjLT5wYWRkZWQgPSBnX3JlYWxsb2MgKGZmbXBlZ2RlYy0+cGFkZGVkLCBmZm1wZWdkZWMtPnBhZGRlZF9zaXplKTsKKysgICAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAicmVzaXplZCBwYWRkaW5nIGJ1ZmZlciB0byAlZCIsCisrICAgICAgICAgIGZmbXBlZ2RlYy0+cGFkZGVkX3NpemUpOworKyAgICB9CisrICAgIG1lbWNweSAoZmZtcGVnZGVjLT5wYWRkZWQsIGJkYXRhLCBic2l6ZSk7CisrICAgIG1lbXNldCAoZmZtcGVnZGVjLT5wYWRkZWQgKyBic2l6ZSwgMCwgRkZfSU5QVVRfQlVGRkVSX1BBRERJTkdfU0laRSk7CisrCisrICAgIGJkYXRhID0gZmZtcGVnZGVjLT5wYWRkZWQ7CisrICB9CisrCisrICBkbyB7CisrICAgIGd1aW50OCB0bXBfcGFkZGluZ1tGRl9JTlBVVF9CVUZGRVJfUEFERElOR19TSVpFXTsKKysKKysgICAgLyogcGFyc2UsIGlmIGF0IGFsbCBwb3NzaWJsZSAqLworKyAgICBpZiAoZmZtcGVnZGVjLT5wY3R4KSB7CisrICAgICAgZ2ludCByZXM7CisrCisrICAgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywKKysgICAgICAgICAgIkNhbGxpbmcgYXZfcGFyc2VyX3BhcnNlMiB3aXRoIG9mZnNldCAlIiBHX0dJTlQ2NF9GT1JNQVQgIiwgdHM6JSIKKysgICAgICAgICAgR1NUX1RJTUVfRk9STUFUICIgc2l6ZSAlZCIsIGluX29mZnNldCwgR1NUX1RJTUVfQVJHUyAoaW5fdGltZXN0YW1wKSwKKysgICAgICAgICAgYnNpemUpOworKworKyAgICAgIC8qIGZlZWQgdGhlIHBhcnNlci4gV2UgcGFzcyB0aGUgdGltZXN0YW1wIGluZm8gc28gdGhhdCB3ZSBjYW4gcmVjb3ZlciBhbGwKKysgICAgICAgKiBpbmZvIGFnYWluIGxhdGVyICovCisrICAgICAgcmVzID0gYXZfcGFyc2VyX3BhcnNlMiAoZmZtcGVnZGVjLT5wY3R4LCBmZm1wZWdkZWMtPmNvbnRleHQsCisrICAgICAgICAgICZkYXRhLCAmc2l6ZSwgYmRhdGEsIGJzaXplLCBpbl9pbmZvLT5pZHgsIGluX2luZm8tPmlkeCwgaW5fb2Zmc2V0KTsKKysKKysgICAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLAorKyAgICAgICAgICAicGFyc2VyIHJldHVybmVkIHJlcyAlZCBhbmQgc2l6ZSAlZCwgaWQgJSIgR19HSU5UNjRfRk9STUFULCByZXMsIHNpemUsCisrICAgICAgICAgIGZmbXBlZ2RlYy0+cGN0eC0+cHRzKTsKKysKKysgICAgICAvKiBzdG9yZSBwdHMgZm9yIGRlY29kaW5nICovCisrICAgICAgaWYgKGZmbXBlZ2RlYy0+cGN0eC0+cHRzICE9IEFWX05PUFRTX1ZBTFVFICYmIGZmbXBlZ2RlYy0+cGN0eC0+cHRzICE9IC0xKQorKyAgICAgICAgZGVjX2luZm8gPSBnc3RfdHNfaW5mb19nZXQgKGZmbXBlZ2RlYywgZmZtcGVnZGVjLT5wY3R4LT5wdHMpOworKyAgICAgIGVsc2UgeworKyAgICAgICAgLyogZmZtcGVnIHNvbWV0aW1lcyBsb3NlcyB0cmFjayBhZnRlciBhIGZsdXNoLCBoZWxwIGl0IGJ5IGZlZWRpbmcgYQorKyAgICAgICAgICogdmFsaWQgc3RhcnQgdGltZSAqLworKyAgICAgICAgZmZtcGVnZGVjLT5wY3R4LT5wdHMgPSBpbl9pbmZvLT5pZHg7CisrICAgICAgICBmZm1wZWdkZWMtPnBjdHgtPmR0cyA9IGluX2luZm8tPmlkeDsKKysgICAgICAgIGRlY19pbmZvID0gaW5faW5mbzsKKysgICAgICB9CisrCisrICAgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgImNvbnN1bWluZyAlZCBieXRlcy4gaWQgJWQiLCBzaXplLAorKyAgICAgICAgICBkZWNfaW5mby0+aWR4KTsKKysKKysgICAgICBpZiAocmVzKSB7CisrICAgICAgICAvKiB0aGVyZSBpcyBvdXRwdXQsIHNldCBwb2ludGVycyBmb3IgbmV4dCByb3VuZC4gKi8KKysgICAgICAgIGJzaXplIC09IHJlczsKKysgICAgICAgIGJkYXRhICs9IHJlczsKKysgICAgICB9IGVsc2UgeworKyAgICAgICAgLyogUGFyc2VyIGRpZCBub3QgY29uc3VtZSBhbnkgZGF0YSwgbWFrZSBzdXJlIHdlIGRvbid0IGNsZWFyIHRoZQorKyAgICAgICAgICogdGltZXN0YW1wIGZvciB0aGUgbmV4dCByb3VuZCAqLworKyAgICAgICAgZmZtcGVnZGVjLT5jbGVhcl90cyA9IEZBTFNFOworKyAgICAgIH0KKysKKysgICAgICAvKiBpZiB0aGVyZSBpcyBubyBvdXRwdXQsIHdlIG11c3QgYnJlYWsgYW5kIHdhaXQgZm9yIG1vcmUgZGF0YS4gYWxzbyB0aGUKKysgICAgICAgKiB0aW1lc3RhbXAgaW4gdGhlIGNvbnRleHQgaXMgbm90IHVwZGF0ZWQuICovCisrICAgICAgaWYgKHNpemUgPT0gMCkgeworKyAgICAgICAgaWYgKGJzaXplID4gMCkKKysgICAgICAgICAgY29udGludWU7CisrICAgICAgICBlbHNlCisrICAgICAgICAgIGJyZWFrOworKyAgICAgIH0KKysgICAgfSBlbHNlIHsKKysgICAgICBkYXRhID0gYmRhdGE7CisrICAgICAgc2l6ZSA9IGJzaXplOworKworKyAgICAgIGRlY19pbmZvID0gaW5faW5mbzsKKysgICAgfQorKworKyAgICBpZiAoZmZtcGVnZGVjLT5kb19wYWRkaW5nKSB7CisrICAgICAgLyogYWRkIHRlbXBvcmFyeSBwYWRkaW5nICovCisrICAgICAgbWVtY3B5ICh0bXBfcGFkZGluZywgZGF0YSArIHNpemUsIEZGX0lOUFVUX0JVRkZFUl9QQURESU5HX1NJWkUpOworKyAgICAgIG1lbXNldCAoZGF0YSArIHNpemUsIDAsIEZGX0lOUFVUX0JVRkZFUl9QQURESU5HX1NJWkUpOworKyAgICB9CisrCisrICAgIC8qIGRlY29kZSBhIGZyYW1lIG9mIGF1ZGlvL3ZpZGVvIG5vdyAqLworKyAgICBsZW4gPQorKyAgICAgICAgZ3N0X2ZmbXBlZ2RlY19mcmFtZSAoZmZtcGVnZGVjLCBkYXRhLCBzaXplLCAmaGF2ZV9kYXRhLCBkZWNfaW5mbywgJnJldCk7CisrCisrICAgIGlmIChmZm1wZWdkZWMtPmRvX3BhZGRpbmcpIHsKKysgICAgICBtZW1jcHkgKGRhdGEgKyBzaXplLCB0bXBfcGFkZGluZywgRkZfSU5QVVRfQlVGRkVSX1BBRERJTkdfU0laRSk7CisrICAgIH0KKysKKysgICAgaWYgKHJldCAhPSBHU1RfRkxPV19PSykgeworKyAgICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJicmVha2luZyBiZWNhdXNlIG9mIGZsb3cgcmV0ICVzIiwKKysgICAgICAgICAgZ3N0X2Zsb3dfZ2V0X25hbWUgKHJldCkpOworKyAgICAgIC8qIGJhZCBmbG93IHJldHVuLCBtYWtlIHN1cmUgd2UgZGlzY2FyZCBhbGwgZGF0YSBhbmQgZXhpdCAqLworKyAgICAgIGJzaXplID0gMDsKKysgICAgICBicmVhazsKKysgICAgfQorKyAgICBpZiAoIWZmbXBlZ2RlYy0+cGN0eCkgeworKyAgICAgIGlmIChsZW4gPT0gMCAmJiAhaGF2ZV9kYXRhKSB7CisrICAgICAgICAvKiBub3RoaW5nIHdhcyBkZWNvZGVkLCB0aGlzIGNvdWxkIGJlIGJlY2F1c2Ugbm8gZGF0YSB3YXMgYXZhaWxhYmxlIG9yCisrICAgICAgICAgKiBiZWNhdXNlIHdlIHdlcmUgc2tpcHBpbmcgZnJhbWVzLgorKyAgICAgICAgICogSWYgd2UgaGF2ZSBubyBjb250ZXh0IHdlIG11c3QgZXhpdCBhbmQgd2FpdCBmb3IgbW9yZSBkYXRhLCB3ZSBrZWVwIHRoZQorKyAgICAgICAgICogZGF0YSB3ZSB0cmllZC4gKi8KKysgICAgICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJEZWNvZGluZyBkaWRuJ3QgcmV0dXJuIGFueSBkYXRhLCBicmVha2luZyIpOworKyAgICAgICAgYnJlYWs7CisrICAgICAgfSBlbHNlIGlmIChsZW4gPCAwKSB7CisrICAgICAgICAvKiBhIGRlY29kaW5nIGVycm9yIGhhcHBlbmVkLCB3ZSBtdXN0IGJyZWFrIGFuZCB0cnkgYWdhaW4gd2l0aCBuZXh0IGRhdGEuICovCisrICAgICAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAiRGVjb2RpbmcgZXJyb3IsIGJyZWFraW5nIik7CisrICAgICAgICBic2l6ZSA9IDA7CisrICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgICAgLyogcHJlcGFyZSBmb3IgdGhlIG5leHQgcm91bmQsIGZvciBjb2RlY3Mgd2l0aCBhIGNvbnRleHQgd2UgZGlkIHRoaXMKKysgICAgICAgKiBhbHJlYWR5IHdoZW4gdXNpbmcgdGhlIHBhcnNlci4gKi8KKysgICAgICBic2l6ZSAtPSBsZW47CisrICAgICAgYmRhdGEgKz0gbGVuOworKyAgICB9IGVsc2UgeworKyAgICAgIGlmIChsZW4gPT0gMCkgeworKyAgICAgICAgLyogbm90aGluZyB3YXMgZGVjb2RlZCwgdGhpcyBjb3VsZCBiZSBiZWNhdXNlIG5vIGRhdGEgd2FzIGF2YWlsYWJsZSBvcgorKyAgICAgICAgICogYmVjYXVzZSB3ZSB3ZXJlIHNraXBwaW5nIGZyYW1lcy4gU2luY2Ugd2UgaGF2ZSBhIHBhcnNlciB3ZSBjYW4KKysgICAgICAgICAqIGNvbnRpbnVlIHdpdGggdGhlIG5leHQgZnJhbWUgKi8KKysgICAgICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsCisrICAgICAgICAgICAgIkRlY29kaW5nIGRpZG4ndCByZXR1cm4gYW55IGRhdGEsIHRyeWluZyBuZXh0Iik7CisrICAgICAgfSBlbHNlIGlmIChsZW4gPCAwKSB7CisrICAgICAgICAvKiB3ZSBoYXZlIGEgY29udGV4dCB0aGF0IHdpbGwgYnJpbmcgdXMgdG8gdGhlIG5leHQgZnJhbWUgKi8KKysgICAgICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJEZWNvZGluZyBlcnJvciwgdHJ5aW5nIG5leHQiKTsKKysgICAgICB9CisrICAgIH0KKysKKysgICAgLyogbWFrZSBzdXJlIHdlIGRvbid0IHVzZSB0aGUgc2FtZSBvbGQgdGltZXN0YW1wIGZvciB0aGUgbmV4dCBmcmFtZSBhbmQgbGV0CisrICAgICAqIHRoZSBpbnRlcnBvbGxhdGlvbiB0YWtlIGNhcmUgb2YgaXQuICovCisrICAgIGlmIChmZm1wZWdkZWMtPmNsZWFyX3RzKSB7CisrICAgICAgaW5fdGltZXN0YW1wID0gR1NUX0NMT0NLX1RJTUVfTk9ORTsKKysgICAgICBpbl9kdXJhdGlvbiA9IEdTVF9DTE9DS19USU1FX05PTkU7CisrICAgICAgaW5fb2Zmc2V0ID0gR1NUX0JVRkZFUl9PRkZTRVRfTk9ORTsKKysgICAgICBpbl9pbmZvID0gR1NUX1RTX0lORk9fTk9ORTsKKysgICAgfSBlbHNlIHsKKysgICAgICBmZm1wZWdkZWMtPmNsZWFyX3RzID0gVFJVRTsKKysgICAgfQorKyAgICBmZm1wZWdkZWMtPmxhc3RfZnJhbWVzKys7CisrCisrICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJCZWZvcmUgKHdoaWxlIGJzaXplPjApLiAgYnNpemU6JWQgLCBiZGF0YTolcCIsCisrICAgICAgICBic2l6ZSwgYmRhdGEpOworKyAgfSB3aGlsZSAoYnNpemUgPiAwKTsKKysKKysgIC8qIGtlZXAgbGVmdC1vdmVyICovCisrICBpZiAoZmZtcGVnZGVjLT5wY3R4ICYmIGJzaXplID4gMCkgeworKyAgICBpbl90aW1lc3RhbXAgPSBHU1RfQlVGRkVSX1RJTUVTVEFNUCAoaW5idWYpOworKyAgICBpbl9vZmZzZXQgPSBHU1RfQlVGRkVSX09GRlNFVCAoaW5idWYpOworKworKyAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLAorKyAgICAgICAgIktlZXBpbmcgJWQgYnl0ZXMgb2YgZGF0YSB3aXRoIG9mZnNldCAlIiBHX0dJTlQ2NF9GT1JNQVQgIiwgdGltZXN0YW1wICUiCisrICAgICAgICBHU1RfVElNRV9GT1JNQVQsIGJzaXplLCBpbl9vZmZzZXQsIEdTVF9USU1FX0FSR1MgKGluX3RpbWVzdGFtcCkpOworKworKyAgICBmZm1wZWdkZWMtPnBjYWNoZSA9IGdzdF9idWZmZXJfY3JlYXRlX3N1YiAoaW5idWYsCisrICAgICAgICBHU1RfQlVGRkVSX1NJWkUgKGluYnVmKSAtIGJzaXplLCBic2l6ZSk7CisrICAgIC8qIHdlIGtlZXAgdGltZXN0YW1wLCBldmVuIHRob3VnaCBhbGwgd2UgcmVhbGx5IGtub3cgaXMgdGhhdCB0aGUgY29ycmVjdAorKyAgICAgKiB0aW1lc3RhbXAgaXMgbm90IGJlbG93IHRoZSBvbmUgZnJvbSBpbmJ1ZiAqLworKyAgICBHU1RfQlVGRkVSX1RJTUVTVEFNUCAoZmZtcGVnZGVjLT5wY2FjaGUpID0gaW5fdGltZXN0YW1wOworKyAgICBHU1RfQlVGRkVSX09GRlNFVCAoZmZtcGVnZGVjLT5wY2FjaGUpID0gaW5fb2Zmc2V0OworKyAgfSBlbHNlIGlmIChic2l6ZSA+IDApIHsKKysgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAiRHJvcHBpbmcgJWQgYnl0ZXMgb2YgZGF0YSIsIGJzaXplKTsKKysgIH0KKysgIGdzdF9idWZmZXJfdW5yZWYgKGluYnVmKTsKKysKKysgIHJldHVybiByZXQ7CisrCisrICAvKiBFUlJPUlMgKi8KKytub3RfbmVnb3RpYXRlZDoKKysgIHsKKysgICAgb2NsYXNzID0gKEdzdEZGTXBlZ0RlY0NsYXNzICopIChHX09CSkVDVF9HRVRfQ0xBU1MgKGZmbXBlZ2RlYykpOworKyAgICBHU1RfRUxFTUVOVF9FUlJPUiAoZmZtcGVnZGVjLCBDT1JFLCBORUdPVElBVElPTiwgKE5VTEwpLAorKyAgICAgICAgKCJmZmRlY18lczogaW5wdXQgZm9ybWF0IHdhcyBub3Qgc2V0IGJlZm9yZSBkYXRhIHN0YXJ0IiwKKysgICAgICAgICAgICBvY2xhc3MtPmluX3BsdWdpbi0+bmFtZSkpOworKyAgICBnc3RfYnVmZmVyX3VucmVmIChpbmJ1Zik7CisrICAgIHJldHVybiBHU1RfRkxPV19OT1RfTkVHT1RJQVRFRDsKKysgIH0KKyt9CisrCisrc3RhdGljIEdzdFN0YXRlQ2hhbmdlUmV0dXJuCisrZ3N0X2ZmbXBlZ2RlY19jaGFuZ2Vfc3RhdGUgKEdzdEVsZW1lbnQgKiBlbGVtZW50LCBHc3RTdGF0ZUNoYW5nZSB0cmFuc2l0aW9uKQorK3sKKysgIEdzdEZGTXBlZ0RlYyAqZmZtcGVnZGVjID0gKEdzdEZGTXBlZ0RlYyAqKSBlbGVtZW50OworKyAgR3N0U3RhdGVDaGFuZ2VSZXR1cm4gcmV0OworKworKyAgcmV0ID0gR1NUX0VMRU1FTlRfQ0xBU1MgKHBhcmVudF9jbGFzcyktPmNoYW5nZV9zdGF0ZSAoZWxlbWVudCwgdHJhbnNpdGlvbik7CisrCisrICBzd2l0Y2ggKHRyYW5zaXRpb24pIHsKKysgICAgY2FzZSBHU1RfU1RBVEVfQ0hBTkdFX1BBVVNFRF9UT19SRUFEWToKKysgICAgICBHU1RfT0JKRUNUX0xPQ0sgKGZmbXBlZ2RlYyk7CisrICAgICAgZ3N0X2ZmbXBlZ2RlY19jbG9zZSAoZmZtcGVnZGVjKTsKKysgICAgICBHU1RfT0JKRUNUX1VOTE9DSyAoZmZtcGVnZGVjKTsKKysgICAgICBjbGVhcl9xdWV1ZWQgKGZmbXBlZ2RlYyk7CisrICAgICAgZ19mcmVlIChmZm1wZWdkZWMtPnBhZGRlZCk7CisrICAgICAgZmZtcGVnZGVjLT5wYWRkZWQgPSBOVUxMOworKyAgICAgIGZmbXBlZ2RlYy0+cGFkZGVkX3NpemUgPSAwOworKyAgICAgIGZmbXBlZ2RlYy0+Y2FuX2FsbG9jYXRlX2FsaWduZWQgPSBUUlVFOworKyAgICAgIGJyZWFrOworKyAgICBkZWZhdWx0OgorKyAgICAgIGJyZWFrOworKyAgfQorKworKyAgcmV0dXJuIHJldDsKKyt9CisrCisrc3RhdGljIHZvaWQKKytnc3RfZmZtcGVnZGVjX3NldF9wcm9wZXJ0eSAoR09iamVjdCAqIG9iamVjdCwKKysgICAgZ3VpbnQgcHJvcF9pZCwgY29uc3QgR1ZhbHVlICogdmFsdWUsIEdQYXJhbVNwZWMgKiBwc3BlYykKKyt7CisrICBHc3RGRk1wZWdEZWMgKmZmbXBlZ2RlYyA9IChHc3RGRk1wZWdEZWMgKikgb2JqZWN0OworKworKyAgc3dpdGNoIChwcm9wX2lkKSB7CisrICAgIGNhc2UgUFJPUF9MT1dSRVM6CisrICAgICAgZmZtcGVnZGVjLT5sb3dyZXMgPSBmZm1wZWdkZWMtPmNvbnRleHQtPmxvd3JlcyA9IGdfdmFsdWVfZ2V0X2VudW0gKHZhbHVlKTsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBQUk9QX1NLSVBGUkFNRToKKysgICAgICBmZm1wZWdkZWMtPnNraXBfZnJhbWUgPSBmZm1wZWdkZWMtPmNvbnRleHQtPnNraXBfZnJhbWUgPQorKyAgICAgICAgICBnX3ZhbHVlX2dldF9lbnVtICh2YWx1ZSk7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgUFJPUF9ESVJFQ1RfUkVOREVSSU5HOgorKyAgICAgIGZmbXBlZ2RlYy0+ZGlyZWN0X3JlbmRlcmluZyA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4gKHZhbHVlKTsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBQUk9QX0RPX1BBRERJTkc6CisrICAgICAgZmZtcGVnZGVjLT5kb19wYWRkaW5nID0gZ192YWx1ZV9nZXRfYm9vbGVhbiAodmFsdWUpOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIFBST1BfREVCVUdfTVY6CisrICAgICAgZmZtcGVnZGVjLT5kZWJ1Z19tdiA9IGZmbXBlZ2RlYy0+Y29udGV4dC0+ZGVidWdfbXYgPQorKyAgICAgICAgICBnX3ZhbHVlX2dldF9ib29sZWFuICh2YWx1ZSk7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgUFJPUF9DUk9QOgorKyAgICAgIGZmbXBlZ2RlYy0+Y3JvcCA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4gKHZhbHVlKTsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBQUk9QX01BWF9USFJFQURTOgorKyAgICAgIGZmbXBlZ2RlYy0+bWF4X3RocmVhZHMgPSBnX3ZhbHVlX2dldF9pbnQgKHZhbHVlKTsKKysgICAgICBicmVhazsKKysgICAgZGVmYXVsdDoKKysgICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQgKG9iamVjdCwgcHJvcF9pZCwgcHNwZWMpOworKyAgICAgIGJyZWFrOworKyAgfQorK30KKysKKytzdGF0aWMgdm9pZAorK2dzdF9mZm1wZWdkZWNfZ2V0X3Byb3BlcnR5IChHT2JqZWN0ICogb2JqZWN0LAorKyAgICBndWludCBwcm9wX2lkLCBHVmFsdWUgKiB2YWx1ZSwgR1BhcmFtU3BlYyAqIHBzcGVjKQorK3sKKysgIEdzdEZGTXBlZ0RlYyAqZmZtcGVnZGVjID0gKEdzdEZGTXBlZ0RlYyAqKSBvYmplY3Q7CisrCisrICBzd2l0Y2ggKHByb3BfaWQpIHsKKysgICAgY2FzZSBQUk9QX0xPV1JFUzoKKysgICAgICBnX3ZhbHVlX3NldF9lbnVtICh2YWx1ZSwgZmZtcGVnZGVjLT5jb250ZXh0LT5sb3dyZXMpOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIFBST1BfU0tJUEZSQU1FOgorKyAgICAgIGdfdmFsdWVfc2V0X2VudW0gKHZhbHVlLCBmZm1wZWdkZWMtPmNvbnRleHQtPnNraXBfZnJhbWUpOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIFBST1BfRElSRUNUX1JFTkRFUklORzoKKysgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuICh2YWx1ZSwgZmZtcGVnZGVjLT5kaXJlY3RfcmVuZGVyaW5nKTsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBQUk9QX0RPX1BBRERJTkc6CisrICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbiAodmFsdWUsIGZmbXBlZ2RlYy0+ZG9fcGFkZGluZyk7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgUFJPUF9ERUJVR19NVjoKKysgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuICh2YWx1ZSwgZmZtcGVnZGVjLT5jb250ZXh0LT5kZWJ1Z19tdik7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgUFJPUF9DUk9QOgorKyAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4gKHZhbHVlLCBmZm1wZWdkZWMtPmNyb3ApOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIFBST1BfTUFYX1RIUkVBRFM6CisrICAgICAgZ192YWx1ZV9zZXRfaW50ICh2YWx1ZSwgZmZtcGVnZGVjLT5tYXhfdGhyZWFkcyk7CisrICAgICAgYnJlYWs7CisrICAgIGRlZmF1bHQ6CisrICAgICAgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEIChvYmplY3QsIHByb3BfaWQsIHBzcGVjKTsKKysgICAgICBicmVhazsKKysgIH0KKyt9CisrCisrZ2Jvb2xlYW4KKytnc3RfZmZtcGVnZGVjX3JlZ2lzdGVyIChHc3RQbHVnaW4gKiBwbHVnaW4pCisreworKyAgR1R5cGVJbmZvIHR5cGVpbmZvID0geworKyAgICBzaXplb2YgKEdzdEZGTXBlZ0RlY0NsYXNzKSwKKysgICAgKEdCYXNlSW5pdEZ1bmMpIGdzdF9mZm1wZWdkZWNfYmFzZV9pbml0LAorKyAgICBOVUxMLAorKyAgICAoR0NsYXNzSW5pdEZ1bmMpIGdzdF9mZm1wZWdkZWNfY2xhc3NfaW5pdCwKKysgICAgTlVMTCwKKysgICAgTlVMTCwKKysgICAgc2l6ZW9mIChHc3RGRk1wZWdEZWMpLAorKyAgICAwLAorKyAgICAoR0luc3RhbmNlSW5pdEZ1bmMpIGdzdF9mZm1wZWdkZWNfaW5pdCwKKysgIH07CisrICBHVHlwZSB0eXBlOworKyAgQVZDb2RlYyAqaW5fcGx1Z2luOworKyAgZ2ludCByYW5rOworKworKyAgaW5fcGx1Z2luID0gYXZfY29kZWNfbmV4dCAoTlVMTCk7CisrCisrICBHU1RfTE9HICgiUmVnaXN0ZXJpbmcgZGVjb2RlcnMiKTsKKysKKysgIHdoaWxlIChpbl9wbHVnaW4pIHsKKysgICAgZ2NoYXIgKnR5cGVfbmFtZTsKKysgICAgZ2NoYXIgKnBsdWdpbl9uYW1lOworKworKyAgICAvKiBvbmx5IGRlY29kZXJzICovCisrICAgIGlmICghaW5fcGx1Z2luLT5kZWNvZGUpIHsKKysgICAgICBnb3RvIG5leHQ7CisrICAgIH0KKysKKysgICAgLyogbm8gcXVhc2ktY29kZWNzLCBwbGVhc2UgKi8KKysgICAgaWYgKGluX3BsdWdpbi0+aWQgPT0gQ09ERUNfSURfUkFXVklERU8gfHwKKysgICAgICAgIGluX3BsdWdpbi0+aWQgPT0gQ09ERUNfSURfVjIxMCB8fAorKyAgICAgICAgaW5fcGx1Z2luLT5pZCA9PSBDT0RFQ19JRF9WMjEwWCB8fAorKyAgICAgICAgaW5fcGx1Z2luLT5pZCA9PSBDT0RFQ19JRF9SMjEwIHx8CisrICAgICAgICAoaW5fcGx1Z2luLT5pZCA+PSBDT0RFQ19JRF9QQ01fUzE2TEUgJiYKKysgICAgICAgICAgICBpbl9wbHVnaW4tPmlkIDw9IENPREVDX0lEX1BDTV9CTFVSQVkpKSB7CisrICAgICAgZ290byBuZXh0OworKyAgICB9CisrCisrICAgIC8qIE5vIGRlY29kZXJzIGRlcGVuZGluZyBvbiBleHRlcm5hbCBsaWJyYXJpZXMgKHdlIGRvbid0IGJ1aWxkIHRoZW0sIGJ1dAorKyAgICAgKiBwZW9wbGUgd2hvIGJ1aWxkIGFnYWluc3QgYW4gZXh0ZXJuYWwgZmZtcGVnIG1pZ2h0IGhhdmUgdGhlbS4KKysgICAgICogV2UgaGF2ZSBuYXRpdmUgZ3N0cmVhbWVyIHBsdWdpbnMgZm9yIGFsbCBvZiB0aG9zZSBsaWJyYXJpZXMgYW55d2F5LiAqLworKyAgICBpZiAoIXN0cm5jbXAgKGluX3BsdWdpbi0+bmFtZSwgImxpYiIsIDMpKSB7CisrICAgICAgR1NUX0RFQlVHCisrICAgICAgICAgICgiTm90IHVzaW5nIGV4dGVybmFsIGxpYnJhcnkgZGVjb2RlciAlcy4gVXNlIHRoZSBnc3RyZWFtZXItbmF0aXZlIG9uZXMgaW5zdGVhZC4iLAorKyAgICAgICAgICBpbl9wbHVnaW4tPm5hbWUpOworKyAgICAgIGdvdG8gbmV4dDsKKysgICAgfQorKworKyAgICAvKiBObyB2ZHBhdSBwbHVnaW5zIHVudGlsIHdlIGNhbiBmaWd1cmUgb3V0IGhvdyB0byBwcm9wZXJseSB1c2UgdGhlbQorKyAgICAgKiBvdXRzaWRlIG9mIGZmbXBlZy4gKi8KKysgICAgaWYgKGdfc3RyX2hhc19zdWZmaXggKGluX3BsdWdpbi0+bmFtZSwgIl92ZHBhdSIpKSB7CisrICAgICAgR1NUX0RFQlVHCisrICAgICAgICAgICgiSWdub3JpbmcgVkRQQVUgZGVjb2RlciAlcy4gV2UgY2FuJ3QgaGFuZGxlIHRoaXMgb3V0c2lkZSBvZiBmZm1wZWciLAorKyAgICAgICAgICBpbl9wbHVnaW4tPm5hbWUpOworKyAgICAgIGdvdG8gbmV4dDsKKysgICAgfQorKworKyAgICBpZiAoZ19zdHJfaGFzX3N1ZmZpeCAoaW5fcGx1Z2luLT5uYW1lLCAiX3h2bWMiKSkgeworKyAgICAgIEdTVF9ERUJVRworKyAgICAgICAgICAoIklnbm9yaW5nIFhWTUMgZGVjb2RlciAlcy4gV2UgY2FuJ3QgaGFuZGxlIHRoaXMgb3V0c2lkZSBvZiBmZm1wZWciLAorKyAgICAgICAgICBpbl9wbHVnaW4tPm5hbWUpOworKyAgICAgIGdvdG8gbmV4dDsKKysgICAgfQorKworKyAgICBHU1RfREVCVUcgKCJUcnlpbmcgcGx1Z2luICVzIFslc10iLCBpbl9wbHVnaW4tPm5hbWUsIGluX3BsdWdpbi0+bG9uZ19uYW1lKTsKKysKKysgICAgLyogbm8gY29kZWNzIGZvciB3aGljaCB3ZSdyZSBHVUFSQU5URUVEIHRvIGhhdmUgYmV0dGVyIGFsdGVybmF0aXZlcyAqLworKyAgICAvKiBNUEVHMVZJREVPIDogdGhlIG1wZWcydmlkZW8gZGVjb2RlciBpcyBwcmVmZXJyZWQgKi8KKysgICAgLyogTVAxIDogVXNlIE1QMyBmb3IgZGVjb2RpbmcgKi8KKysgICAgLyogTVAyIDogVXNlIE1QMyBmb3IgZGVjb2RpbmcgKi8KKysgICAgLyogVGhlb3JhOiBVc2UgbGlidGhlb3JhIGJhc2VkIHRoZW9yYWRlYyAqLworKyAgICBpZiAoIXN0cmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAiZ2lmIikgfHwKKysgICAgICAgICFzdHJjbXAgKGluX3BsdWdpbi0+bmFtZSwgInZvcmJpcyIpIHx8CisrICAgICAgICAhc3RyY21wIChpbl9wbHVnaW4tPm5hbWUsICJ0aGVvcmEiKSB8fAorKyAgICAgICAgIXN0cmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAibXBlZzF2aWRlbyIpIHx8CisrICAgICAgICAhc3RyY21wIChpbl9wbHVnaW4tPm5hbWUsICJ3YXZwYWNrIikgfHwKKysgICAgICAgICFzdHJjbXAgKGluX3BsdWdpbi0+bmFtZSwgIm1wMSIpIHx8CisrICAgICAgICAhc3RyY21wIChpbl9wbHVnaW4tPm5hbWUsICJtcDIiKSB8fAorKyAgICAgICAgIXN0cmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAibGliZmFhZCIpIHx8CisrICAgICAgICAhc3RyY21wIChpbl9wbHVnaW4tPm5hbWUsICJtcGVnNGFhYyIpIHx8CisrICAgICAgICAhc3RyY21wIChpbl9wbHVnaW4tPm5hbWUsICJhc3MiKSB8fAorKyAgICAgICAgIXN0cmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAic3J0IikgfHwKKysgICAgICAgICFzdHJjbXAgKGluX3BsdWdpbi0+bmFtZSwgInBnc3N1YiIpIHx8CisrICAgICAgICAhc3RyY21wIChpbl9wbHVnaW4tPm5hbWUsICJkdmRzdWIiKSB8fAorKyAgICAgICAgIXN0cmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAiZHZic3ViIikpIHsKKysgICAgICBHU1RfTE9HICgiSWdub3JpbmcgZGVjb2RlciAlcyIsIGluX3BsdWdpbi0+bmFtZSk7CisrICAgICAgZ290byBuZXh0OworKyAgICB9CisrCisrICAgIC8qIGNvbnN0cnVjdCB0aGUgdHlwZSAqLworKyAgICBwbHVnaW5fbmFtZSA9IGdfc3RyZHVwICgoZ2NoYXIgKikgaW5fcGx1Z2luLT5uYW1lKTsKKysgICAgZ19zdHJkZWxpbWl0IChwbHVnaW5fbmFtZSwgTlVMTCwgJ18nKTsKKysgICAgdHlwZV9uYW1lID0gZ19zdHJkdXBfcHJpbnRmICgiZmZkZWNfJXMiLCBwbHVnaW5fbmFtZSk7CisrICAgIGdfZnJlZSAocGx1Z2luX25hbWUpOworKworKyAgICB0eXBlID0gZ190eXBlX2Zyb21fbmFtZSAodHlwZV9uYW1lKTsKKysKKysgICAgaWYgKCF0eXBlKSB7CisrICAgICAgLyogY3JlYXRlIHRoZSBndHlwZSBub3cgKi8KKysgICAgICB0eXBlID0gZ190eXBlX3JlZ2lzdGVyX3N0YXRpYyAoR1NUX1RZUEVfRUxFTUVOVCwgdHlwZV9uYW1lLCAmdHlwZWluZm8sIDApOworKyAgICAgIGdfdHlwZV9zZXRfcWRhdGEgKHR5cGUsIEdTVF9GRkRFQ19QQVJBTVNfUURBVEEsIChncG9pbnRlcikgaW5fcGx1Z2luKTsKKysgICAgfQorKworKyAgICAvKiAoUm9uYWxkKSBNUEVHLTQgZ2V0cyBhIGhpZ2hlciBwcmlvcml0eSBiZWNhdXNlIGl0IGhhcyBiZWVuIHdlbGwtCisrICAgICAqIHRlc3RlZCBhbmQgYnkgZmFyIG91dHBlcmZvcm1zIGRpdnhkZWMveHZpZGRlYyAtIHNvIHdlIHByZWZlciBpdC4KKysgICAgICogbXNtcGVnNHYzIHNhbWUsIGFzIGl0IG91dHBlcmZvcm1zIGRpdnhkZWMgZm9yIGRpdngzIHBsYXliYWNrLgorKyAgICAgKiBWQzEvV01WMyBhcmUgbm90IHdvcmtpbmcgYW5kIHRodXMgdW5wcmVmZXJyZWQgZm9yIG5vdy4gKi8KKysgICAgc3dpdGNoIChpbl9wbHVnaW4tPmlkKSB7CisrICAgICAgY2FzZSBDT0RFQ19JRF9NUEVHNDoKKysgICAgICBjYXNlIENPREVDX0lEX01TTVBFRzRWMzoKKysgICAgICBjYXNlIENPREVDX0lEX0gyNjQ6CisrICAgICAgY2FzZSBDT0RFQ19JRF9SQV8xNDQ6CisrICAgICAgY2FzZSBDT0RFQ19JRF9SQV8yODg6CisrICAgICAgY2FzZSBDT0RFQ19JRF9SVjEwOgorKyAgICAgIGNhc2UgQ09ERUNfSURfUlYyMDoKKysgICAgICBjYXNlIENPREVDX0lEX1JWMzA6CisrICAgICAgY2FzZSBDT0RFQ19JRF9SVjQwOgorKyAgICAgIGNhc2UgQ09ERUNfSURfQ09PSzoKKysgICAgICAgIHJhbmsgPSBHU1RfUkFOS19TRUNPTkRBUlk7CisrICAgICAgICBicmVhazsKKysgICAgICAgIC8qIERWVklERU86IHdlIGhhdmUgYSBnb29kIGR2IGRlY29kZXIsIGZhc3Qgb24gYm90aCBwcGMgYXMgd2VsbCBhcyB4ODYuCisrICAgICAgICAgKiBUaGV5IHNheSBsaWJkdidzIHF1YWxpdHkgaXMgYmV0dGVyIHRob3VnaC4gbGVhdmUgYXMgc2Vjb25kYXJ5LgorKyAgICAgICAgICogbm90ZTogaWYgeW91IGNoYW5nZSB0aGlzLCBzZWUgdGhlIGNvZGUgaW4gZ3N0ZHYuYyBpbiBnb29kL2V4dC9kdi4KKysgICAgICAgICAqCisrICAgICAgICAgKiBTSVBSOiBkZWNvZGVyIHNob3VsZCBoYXZlIGEgaGlnaGVyIHJhbmsgdGhhbiByZWFsYXVkaW9kZWMuCisrICAgICAgICAgKi8KKysgICAgICBjYXNlIENPREVDX0lEX0RWVklERU86CisrICAgICAgY2FzZSBDT0RFQ19JRF9TSVBSOgorKyAgICAgICAgcmFuayA9IEdTVF9SQU5LX1NFQ09OREFSWTsKKysgICAgICAgIGJyZWFrOworKyAgICAgIGNhc2UgQ09ERUNfSURfTVAzOgorKyAgICAgICAgcmFuayA9IEdTVF9SQU5LX05PTkU7CisrICAgICAgICBicmVhazsKKysgICAgICAgIC8qIFRFTVBPUkFSSUxZIERJU0FCTElORyBBQzMvRUFDMy9EVFMgZm9yIDAuMTAuMTIgcmVsZWFzZQorKyAgICAgICAgICogZHVlIHRvIGRvd25taXhpbmcgZmFpbHVyZS4KKysgICAgICAgICAqIFNlZSBCdWcgIzYwODg5MiBmb3IgbW9yZSBkZXRhaWxzICovCisrICAgICAgY2FzZSBDT0RFQ19JRF9FQUMzOgorKyAgICAgIGNhc2UgQ09ERUNfSURfQUMzOgorKyAgICAgIGNhc2UgQ09ERUNfSURfRFRTOgorKyAgICAgICAgcmFuayA9IEdTVF9SQU5LX05PTkU7CisrICAgICAgICBicmVhazsKKysgICAgICBkZWZhdWx0OgorKyAgICAgICAgcmFuayA9IEdTVF9SQU5LX01BUkdJTkFMOworKyAgICAgICAgYnJlYWs7CisrICAgIH0KKysgICAgaWYgKCFnc3RfZWxlbWVudF9yZWdpc3RlciAocGx1Z2luLCB0eXBlX25hbWUsIHJhbmssIHR5cGUpKSB7CisrICAgICAgZ193YXJuaW5nICgiRmFpbGVkIHRvIHJlZ2lzdGVyICVzIiwgdHlwZV9uYW1lKTsKKysgICAgICBnX2ZyZWUgKHR5cGVfbmFtZSk7CisrICAgICAgcmV0dXJuIEZBTFNFOworKyAgICB9CisrCisrICAgIGdfZnJlZSAodHlwZV9uYW1lKTsKKysKKysgIG5leHQ6CisrICAgIGluX3BsdWdpbiA9IGF2X2NvZGVjX25leHQgKGluX3BsdWdpbik7CisrICB9CisrCisrICBHU1RfTE9HICgiRmluaXNoZWQgUmVnaXN0ZXJpbmcgZGVjb2RlcnMiKTsKKysKKysgIHJldHVybiBUUlVFOworK30KK2RpZmYgLXVOciBnc3QtZmZtcGVnLTAuMTAuMTMub3JpZy9leHQvZmZtcGVnL2dzdGZmbXBlZ2RlYy5jLnJlaiBnc3QtZmZtcGVnLTAuMTAuMTMvZXh0L2ZmbXBlZy9nc3RmZm1wZWdkZWMuYy5yZWoKKy0tLSBnc3QtZmZtcGVnLTAuMTAuMTMub3JpZy9leHQvZmZtcGVnL2dzdGZmbXBlZ2RlYy5jLnJlagkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysrIGdzdC1mZm1wZWctMC4xMC4xMy9leHQvZmZtcGVnL2dzdGZmbXBlZ2RlYy5jLnJlagkyMDE0LTA4LTA4IDE1OjI2OjM4LjQ3MTg1ODY1MiArMDIwMAorQEAgLTAsMCArMSwxMSBAQAorKy0tLSBleHQvZmZtcGVnL2dzdGZmbXBlZ2RlYy5jCisrKysrIGV4dC9mZm1wZWcvZ3N0ZmZtcGVnZGVjLmMKKytAQCAtMTU2NSw3ICsxNTY0LDcgQEAKKysgICAgICAgICBnc3RfbWVzc2FnZV9uZXdfbGF0ZW5jeSAoR1NUX09CSkVDVF9DQVNUIChmZm1wZWdkZWMpKSk7CisrICAgfQorKyAKKystICBpc19pdHlwZSA9IChmZm1wZWdkZWMtPnBpY3R1cmUtPnBpY3RfdHlwZSA9PSBGRl9JX1RZUEUpOworKysgIGlzX2l0eXBlID0gKGZmbXBlZ2RlYy0+cGljdHVyZS0+cGljdF90eXBlID09IEFWX1BJQ1RVUkVfVFlQRV9JKTsKKysgICBpc19yZWZlcmVuY2UgPSAoZmZtcGVnZGVjLT5waWN0dXJlLT5yZWZlcmVuY2UgPT0gMSk7CisrIAorKyAgIGlza2V5ZnJhbWUgPSAoaXNfaXR5cGUgfHwgaXNfcmVmZXJlbmNlIHx8IGZmbXBlZ2RlYy0+cGljdHVyZS0+a2V5X2ZyYW1lKQorZGlmZiAtdU5yIGdzdC1mZm1wZWctMC4xMC4xMy5vcmlnL2V4dC9mZm1wZWcvZ3N0ZmZtcGVnZGVtdXguYyBnc3QtZmZtcGVnLTAuMTAuMTMvZXh0L2ZmbXBlZy9nc3RmZm1wZWdkZW11eC5jCistLS0gZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWdkZW11eC5jCTIwMTEtMDctMTMgMTE6MDc6MjguMDAwMDAwMDAwICswMjAwCisrKysgZ3N0LWZmbXBlZy0wLjEwLjEzL2V4dC9mZm1wZWcvZ3N0ZmZtcGVnZGVtdXguYwkyMDE0LTA4LTA4IDE1OjI2OjA3Ljg3NDg1NzU1NSArMDIwMAorQEAgLTM0Myw4ICszNDMsMTEgQEAKKyAgIGRlbXV4LT5hdWRpb3BhZHMgPSAwOworIAorICAgLyogY2xvc2UgZGVtdXhlciBjb250ZXh0IGZyb20gZmZtcGVnICovCistICBhdl9jbG9zZV9pbnB1dF9maWxlIChkZW11eC0+Y29udGV4dCk7CistICBkZW11eC0+Y29udGV4dCA9IE5VTEw7CisrICBpZiAoZGVtdXgtPnNlZWthYmxlKQorKyAgICBnc3RfZmZtcGVnZGF0YV9jbG9zZSAoZGVtdXgtPmNvbnRleHQtPnBiKTsKKysgIGVsc2UKKysgICAgZ3N0X2ZmbXBlZ19waXBlX2Nsb3NlIChkZW11eC0+Y29udGV4dC0+cGIpOworKyAgYXZmb3JtYXRfY2xvc2VfaW5wdXQgKCZkZW11eC0+Y29udGV4dCk7CisgCisgICBHU1RfT0JKRUNUX0xPQ0sgKGRlbXV4KTsKKyAgIGRlbXV4LT5vcGVuZWQgPSBGQUxTRTsKK0BAIC0xMTQ2LDkgKzExNDksOSBAQAorIHN0YXRpYyBnYm9vbGVhbgorIGdzdF9mZm1wZWdkZW11eF9vcGVuIChHc3RGRk1wZWdEZW11eCAqIGRlbXV4KQorIHsKKysgIEFWSU9Db250ZXh0ICppb2NvbnRleHQgPSBOVUxMOworICAgR3N0RkZNcGVnRGVtdXhDbGFzcyAqb2NsYXNzID0KKyAgICAgICAoR3N0RkZNcGVnRGVtdXhDbGFzcyAqKSBHX09CSkVDVF9HRVRfQ0xBU1MgKGRlbXV4KTsKKy0gIGdjaGFyICpsb2NhdGlvbjsKKyAgIGdpbnQgcmVzLCBuX3N0cmVhbXMsIGk7CisgI2lmIDAKKyAgIC8qIFJlLWVuYWJsZSBvbmNlIGNvbnZlcnRlZCB0byBuZXcgQVZNZXRhRGF0YSBBUEkKK0BAIC0xMTY0LDE1ICsxMTY3LDE0IEBACisgCisgICAvKiBvcGVuIHZpYSBvdXIgaW5wdXQgcHJvdG9jb2wgaGFjayAqLworICAgaWYgKGRlbXV4LT5zZWVrYWJsZSkKKy0gICAgbG9jYXRpb24gPSBnX3N0cmR1cF9wcmludGYgKCJnc3RyZWFtZXI6Ly8lcCIsIGRlbXV4LT5zaW5rcGFkKTsKKysgICAgcmVzID0gZ3N0X2ZmbXBlZ2RhdGFfb3BlbiAoZGVtdXgtPnNpbmtwYWQsIEFWSU9fRkxBR19SRUFELCAmaW9jb250ZXh0KTsKKyAgIGVsc2UKKy0gICAgbG9jYXRpb24gPSBnX3N0cmR1cF9wcmludGYgKCJnc3RwaXBlOi8vJXAiLCAmZGVtdXgtPmZmcGlwZSk7CistICBHU1RfREVCVUdfT0JKRUNUIChkZW11eCwgImFib3V0IHRvIGNhbGwgYXZfb3Blbl9pbnB1dF9maWxlICVzIiwgbG9jYXRpb24pOworKyAgICByZXMgPSBnc3RfZmZtcGVnX3BpcGVfb3BlbiAoJmRlbXV4LT5mZnBpcGUsIEFWSU9fRkxBR19SRUFELCAmaW9jb250ZXh0KTsKKyAKKy0gIHJlcyA9IGF2X29wZW5faW5wdXRfZmlsZSAoJmRlbXV4LT5jb250ZXh0LCBsb2NhdGlvbiwKKy0gICAgICBvY2xhc3MtPmluX3BsdWdpbiwgMCwgTlVMTCk7CisrICBkZW11eC0+Y29udGV4dCA9IGF2Zm9ybWF0X2FsbG9jX2NvbnRleHQgKCk7CisrICBkZW11eC0+Y29udGV4dC0+cGIgPSBpb2NvbnRleHQ7CisrICByZXMgPSBhdmZvcm1hdF9vcGVuX2lucHV0ICgmZGVtdXgtPmNvbnRleHQsIE5VTEwsIG9jbGFzcy0+aW5fcGx1Z2luLCBOVUxMKTsKKyAKKy0gIGdfZnJlZSAobG9jYXRpb24pOworICAgR1NUX0RFQlVHX09CSkVDVCAoZGVtdXgsICJhdl9vcGVuX2lucHV0IHJldHVybmVkICVkIiwgcmVzKTsKKyAgIGlmIChyZXMgPCAwKQorICAgICBnb3RvIG9wZW5fZmFpbGVkOworZGlmZiAtdU5yIGdzdC1mZm1wZWctMC4xMC4xMy5vcmlnL2V4dC9mZm1wZWcvZ3N0ZmZtcGVnZW5jLmMgZ3N0LWZmbXBlZy0wLjEwLjEzL2V4dC9mZm1wZWcvZ3N0ZmZtcGVnZW5jLmMKKy0tLSBnc3QtZmZtcGVnLTAuMTAuMTMub3JpZy9leHQvZmZtcGVnL2dzdGZmbXBlZ2VuYy5jCTIwMTEtMTAtMzEgMTE6MTQ6MDMuMDAwMDAwMDAwICswMTAwCisrKysgZ3N0LWZmbXBlZy0wLjEwLjEzL2V4dC9mZm1wZWcvZ3N0ZmZtcGVnZW5jLmMJMjAxNC0wOC0wOCAxNTozMjoxOC42MDg4NzA4NDcgKzAyMDAKK0BAIC03NzAsNyArNzcwLDcgQEAKKyAgIEdTVF9PQkpFQ1RfVU5MT0NLIChmZm1wZWdlbmMpOworIAorICAgaWYgKGZvcmNlX2tleWZyYW1lKQorLSAgICBmZm1wZWdlbmMtPnBpY3R1cmUtPnBpY3RfdHlwZSA9IEZGX0lfVFlQRTsKKysgICAgZmZtcGVnZW5jLT5waWN0dXJlLT5waWN0X3R5cGUgPSBBVl9QSUNUVVJFX1RZUEVfSTsKKyAKKyAgIGZyYW1lX3NpemUgPSBnc3RfZmZtcGVnX2F2cGljdHVyZV9maWxsICgoQVZQaWN0dXJlICopIGZmbXBlZ2VuYy0+cGljdHVyZSwKKyAgICAgICBHU1RfQlVGRkVSX0RBVEEgKGluYnVmKSwKK0BAIC0xMTM2LDcgKzExMzYsNyBAQAorICAgICAgIGNvbnN0IEdzdFN0cnVjdHVyZSAqczsKKyAgICAgICBzID0gZ3N0X2V2ZW50X2dldF9zdHJ1Y3R1cmUgKGV2ZW50KTsKKyAgICAgICBpZiAoZ3N0X3N0cnVjdHVyZV9oYXNfbmFtZSAocywgIkdzdEZvcmNlS2V5VW5pdCIpKSB7CistICAgICAgICBmZm1wZWdlbmMtPnBpY3R1cmUtPnBpY3RfdHlwZSA9IEZGX0lfVFlQRTsKKysgICAgICAgIGZmbXBlZ2VuYy0+cGljdHVyZS0+cGljdF90eXBlID0gQVZfUElDVFVSRV9UWVBFX0k7CisgICAgICAgfQorICAgICAgIGJyZWFrOworICAgICB9CitAQCAtMTMzOSw3ICsxMzM5LDcgQEAKKyAgICAgfQorIAorICAgICAvKiBvbmx5IGVuY29kZXJzICovCistICAgIGlmICghaW5fcGx1Z2luLT5lbmNvZGUpIHsKKysgICAgaWYgKCFhdl9jb2RlY19pc19lbmNvZGVyIChpbl9wbHVnaW4pKSB7CisgICAgICAgZ290byBuZXh0OworICAgICB9CisgCitkaWZmIC11TnIgZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWdtdXguYyBnc3QtZmZtcGVnLTAuMTAuMTMvZXh0L2ZmbXBlZy9nc3RmZm1wZWdtdXguYworLS0tIGdzdC1mZm1wZWctMC4xMC4xMy5vcmlnL2V4dC9mZm1wZWcvZ3N0ZmZtcGVnbXV4LmMJMjAxMS0wNy0xMyAxMTowNzoyOC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnc3QtZmZtcGVnLTAuMTAuMTMvZXh0L2ZmbXBlZy9nc3RmZm1wZWdtdXguYwkyMDE0LTA4LTA4IDE1OjI2OjA3Ljg3NDg1NzU1NSArMDIwMAorQEAgLTI0LDggKzI0LDEwIEBACisgI2luY2x1ZGUgPHN0cmluZy5oPgorICNpZmRlZiBIQVZFX0ZGTVBFR19VTklOU1RBTExFRAorICNpbmNsdWRlIDxhdmZvcm1hdC5oPgorKyNpbmNsdWRlIDxvcHQuaD4KKyAjZWxzZQorICNpbmNsdWRlIDxsaWJhdmZvcm1hdC9hdmZvcm1hdC5oPgorKyNpbmNsdWRlIDxsaWJhdnV0aWwvb3B0Lmg+CisgI2VuZGlmCisgCisgI2luY2x1ZGUgPGdzdC9nc3QuaD4KK0BAIC0zMzYsOSArMzM4LDYgQEAKKyAgIGZmbXBlZ211eC0+Y29udGV4dCA9IGdfbmV3MCAoQVZGb3JtYXRDb250ZXh0LCAxKTsKKyAgIGZmbXBlZ211eC0+Y29udGV4dC0+b2Zvcm1hdCA9IG9jbGFzcy0+aW5fcGx1Z2luOworICAgZmZtcGVnbXV4LT5jb250ZXh0LT5uYl9zdHJlYW1zID0gMDsKKy0gIGdfc25wcmludGYgKGZmbXBlZ211eC0+Y29udGV4dC0+ZmlsZW5hbWUsCistICAgICAgc2l6ZW9mIChmZm1wZWdtdXgtPmNvbnRleHQtPmZpbGVuYW1lKSwKKy0gICAgICAiZ3N0cmVhbWVyOi8vJXAiLCBmZm1wZWdtdXgtPnNyY3BhZCk7CisgICBmZm1wZWdtdXgtPm9wZW5lZCA9IEZBTFNFOworIAorICAgZmZtcGVnbXV4LT52aWRlb3BhZHMgPSAwOworQEAgLTQ1MCwxMCArNDQ5LDEwIEBACisgICBnc3RfZWxlbWVudF9hZGRfcGFkIChlbGVtZW50LCBwYWQpOworIAorICAgLyogQVZTdHJlYW0gbmVlZHMgdG8gYmUgY3JlYXRlZCAqLworLSAgc3QgPSBhdl9uZXdfc3RyZWFtIChmZm1wZWdtdXgtPmNvbnRleHQsIGNvbGxlY3RfcGFkLT5wYWRudW0pOworKyAgc3QgPSBhdmZvcm1hdF9uZXdfc3RyZWFtIChmZm1wZWdtdXgtPmNvbnRleHQsIE5VTEwpOworKyAgc3QtPmlkID0gY29sbGVjdF9wYWQtPnBhZG51bTsKKyAgIHN0LT5jb2RlYy0+Y29kZWNfdHlwZSA9IHR5cGU7CisgICBzdC0+Y29kZWMtPmNvZGVjX2lkID0gQ09ERUNfSURfTk9ORTsgIC8qIHRoaXMgaXMgYSBjaGVjayBhZnRlcndhcmRzICovCistICBzdC0+c3RyZWFtX2NvcHkgPSAxOyAgICAgICAgICAvKiB3ZSdyZSBub3QgdGhlIGFjdHVhbCBlbmNvZGVyICovCisgICBzdC0+Y29kZWMtPmJpdF9yYXRlID0gYml0cmF0ZTsKKyAgIHN0LT5jb2RlYy0+ZnJhbWVfc2l6ZSA9IGZyYW1lc2l6ZTsKKyAgIC8qIHdlIGZpbGwgaW4gY29kZWMgZHVyaW5nIGNhcHNuZWdvICovCitAQCAtNDg1LDcgKzQ4NCw3IEBACisgICBjb2xsZWN0X3BhZCA9IChHc3RGRk1wZWdNdXhQYWQgKikgZ3N0X3BhZF9nZXRfZWxlbWVudF9wcml2YXRlIChwYWQpOworIAorICAgc3QgPSBmZm1wZWdtdXgtPmNvbnRleHQtPnN0cmVhbXNbY29sbGVjdF9wYWQtPnBhZG51bV07CistICBmZm1wZWdtdXgtPmNvbnRleHQtPnByZWxvYWQgPSBmZm1wZWdtdXgtPnByZWxvYWQ7CisrICBhdl9vcHRfc2V0X2ludCAoJmZmbXBlZ211eC0+Y29udGV4dCwgInByZWxvYWQiLCBmZm1wZWdtdXgtPnByZWxvYWQsIDApOworICAgZmZtcGVnbXV4LT5jb250ZXh0LT5tYXhfZGVsYXkgPSBmZm1wZWdtdXgtPm1heF9kZWxheTsKKyAKKyAgIC8qIGZvciB0aGUgZm9ybWF0LXNwZWNpZmljIGd1ZXNzZXMsIHdlJ2xsIGdvIHRvCitAQCAtNTUyLDcgKzU1MSw3IEBACisgCisgICAvKiBvcGVuICJmaWxlIiAoZ3N0cmVhbWVyIHByb3RvY29sIHRvIG5leHQgZWxlbWVudCkgKi8KKyAgIGlmICghZmZtcGVnbXV4LT5vcGVuZWQpIHsKKy0gICAgaW50IG9wZW5fZmxhZ3MgPSBVUkxfV1JPTkxZOworKyAgICBpbnQgb3Blbl9mbGFncyA9IEFWSU9fRkxBR19XUklURTsKKyAKKyAgICAgLyogd2UgZG8gbmVlZCBhbGwgc3RyZWFtcyB0byBoYXZlIHN0YXJ0ZWQgY2Fwc25lZ28sCisgICAgICAqIG9yIHRoaW5ncyB3aWxsIGdvIGhvcnJpYmx5IHdyb25nICovCitAQCAtNjQ2LDE5ICs2NDUsMTMgQEAKKyAgICAgICBvcGVuX2ZsYWdzIHw9IEdTVF9GRk1QRUdfVVJMX1NUUkVBTUhFQURFUjsKKyAgICAgfQorIAorLSAgICBpZiAodXJsX2ZvcGVuICgmZmZtcGVnbXV4LT5jb250ZXh0LT5wYiwKKy0gICAgICAgICAgICBmZm1wZWdtdXgtPmNvbnRleHQtPmZpbGVuYW1lLCBvcGVuX2ZsYWdzKSA8IDApIHsKKysgICAgaWYgKGdzdF9mZm1wZWdkYXRhX29wZW4gKGZmbXBlZ211eC0+c3JjcGFkLCBvcGVuX2ZsYWdzLAorKyAgICAgICAgICAgICZmZm1wZWdtdXgtPmNvbnRleHQtPnBiKSA8IDApIHsKKyAgICAgICBHU1RfRUxFTUVOVF9FUlJPUiAoZmZtcGVnbXV4LCBMSUJSQVJZLCBUT09fTEFaWSwgKE5VTEwpLAorICAgICAgICAgICAoIkZhaWxlZCB0byBvcGVuIHN0cmVhbSBjb250ZXh0IGluIGZmbXV4IikpOworICAgICAgIHJldHVybiBHU1RfRkxPV19FUlJPUjsKKyAgICAgfQorIAorLSAgICBpZiAoYXZfc2V0X3BhcmFtZXRlcnMgKGZmbXBlZ211eC0+Y29udGV4dCwgTlVMTCkgPCAwKSB7CistICAgICAgR1NUX0VMRU1FTlRfRVJST1IgKGZmbXBlZ211eCwgTElCUkFSWSwgSU5JVCwgKE5VTEwpLAorLSAgICAgICAgICAoIkZhaWxlZCB0byBpbml0aWFsaXplIG11eGVyIikpOworLSAgICAgIHJldHVybiBHU1RfRkxPV19FUlJPUjsKKy0gICAgfQorLQorICAgICAvKiBub3cgb3BlbiB0aGUgbXV4IGZvcm1hdCAqLworICAgICBpZiAoYXZfd3JpdGVfaGVhZGVyIChmZm1wZWdtdXgtPmNvbnRleHQpIDwgMCkgeworICAgICAgIEdTVF9FTEVNRU5UX0VSUk9SIChmZm1wZWdtdXgsIExJQlJBUlksIFNFVFRJTkdTLCAoTlVMTCksCitAQCAtNjcwLDcgKzY2Myw3IEBACisgICAgIGZmbXBlZ211eC0+b3BlbmVkID0gVFJVRTsKKyAKKyAgICAgLyogZmx1c2ggdGhlIGhlYWRlciBzbyBpdCB3aWxsIGJlIHVzZWQgYXMgc3RyZWFtaGVhZGVyICovCistICAgIHB1dF9mbHVzaF9wYWNrZXQgKGZmbXBlZ211eC0+Y29udGV4dC0+cGIpOworKyAgICBhdmlvX2ZsdXNoIChmZm1wZWdtdXgtPmNvbnRleHQtPnBiKTsKKyAgIH0KKyAKKyAgIC8qIHRha2UgdGhlIG9uZSB3aXRoIGVhcmxpZXN0IHRpbWVzdGFtcCwKK0BAIC03NzAsOCArNzYzLDggQEAKKyAgICAgLyogY2xvc2UgZG93biAqLworICAgICBhdl93cml0ZV90cmFpbGVyIChmZm1wZWdtdXgtPmNvbnRleHQpOworICAgICBmZm1wZWdtdXgtPm9wZW5lZCA9IEZBTFNFOworLSAgICBwdXRfZmx1c2hfcGFja2V0IChmZm1wZWdtdXgtPmNvbnRleHQtPnBiKTsKKy0gICAgdXJsX2ZjbG9zZSAoZmZtcGVnbXV4LT5jb250ZXh0LT5wYik7CisrICAgIGF2aW9fZmx1c2ggKGZmbXBlZ211eC0+Y29udGV4dC0+cGIpOworKyAgICBnc3RfZmZtcGVnZGF0YV9jbG9zZSAoZmZtcGVnbXV4LT5jb250ZXh0LT5wYik7CisgICAgIGdzdF9wYWRfcHVzaF9ldmVudCAoZmZtcGVnbXV4LT5zcmNwYWQsIGdzdF9ldmVudF9uZXdfZW9zICgpKTsKKyAgICAgcmV0dXJuIEdTVF9GTE9XX1VORVhQRUNURUQ7CisgICB9CitAQCAtNzk1LDYgKzc4OCwxMCBAQAorICAgICAgIGJyZWFrOworICAgICBjYXNlIEdTVF9TVEFURV9DSEFOR0VfUEFVU0VEX1RPX1JFQURZOgorICAgICAgIGdzdF9jb2xsZWN0X3BhZHNfc3RvcCAoZmZtcGVnbXV4LT5jb2xsZWN0KTsKKysgICAgICBpZiAoZmZtcGVnbXV4LT5vcGVuZWQpIHsKKysgICAgICAgIGZmbXBlZ211eC0+b3BlbmVkID0gRkFMU0U7CisrICAgICAgICBnc3RfZmZtcGVnZGF0YV9jbG9zZSAoZmZtcGVnbXV4LT5jb250ZXh0LT5wYik7CisrICAgICAgfQorICAgICAgIGJyZWFrOworICAgICBkZWZhdWx0OgorICAgICAgIGJyZWFrOworQEAgLTgwOSw3ICs4MDYsNyBAQAorICAgICAgIGdzdF90YWdfc2V0dGVyX3Jlc2V0X3RhZ3MgKEdTVF9UQUdfU0VUVEVSIChmZm1wZWdtdXgpKTsKKyAgICAgICBpZiAoZmZtcGVnbXV4LT5vcGVuZWQpIHsKKyAgICAgICAgIGZmbXBlZ211eC0+b3BlbmVkID0gRkFMU0U7CistICAgICAgICB1cmxfZmNsb3NlIChmZm1wZWdtdXgtPmNvbnRleHQtPnBiKTsKKysgICAgICAgIGF2aW9fY2xvc2UgKGZmbXBlZ211eC0+Y29udGV4dC0+cGIpOworICAgICAgIH0KKyAgICAgICBicmVhazsKKyAgICAgY2FzZSBHU1RfU1RBVEVfQ0hBTkdFX1JFQURZX1RPX05VTEw6CitkaWZmIC11TnIgZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWdtdXguYy5vcmlnIGdzdC1mZm1wZWctMC4xMC4xMy9leHQvZmZtcGVnL2dzdGZmbXBlZ211eC5jLm9yaWcKKy0tLSBnc3QtZmZtcGVnLTAuMTAuMTMub3JpZy9leHQvZmZtcGVnL2dzdGZmbXBlZ211eC5jLm9yaWcJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnc3QtZmZtcGVnLTAuMTAuMTMvZXh0L2ZmbXBlZy9nc3RmZm1wZWdtdXguYy5vcmlnCTIwMTEtMDctMTMgMTE6MDc6MjguMDAwMDAwMDAwICswMjAwCitAQCAtMCwwICsxLDk3MCBAQAorKy8qIEdTdHJlYW1lcgorKyAqIENvcHlyaWdodCAoQykgPDE5OTk+IEVyaWsgV2FsdGhpbnNlbiA8b21lZ2FAY3NlLm9naS5lZHU+CisrICoKKysgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisrICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKysgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKysgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrICoKKysgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisrICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrICoKKysgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlCisrICogRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCisrICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisrICovCisrCisrI2lmZGVmIEhBVkVfQ09ORklHX0gKKysjaW5jbHVkZSAiY29uZmlnLmgiCisrI2VuZGlmCisrCisrI2luY2x1ZGUgPHN0cmluZy5oPgorKyNpZmRlZiBIQVZFX0ZGTVBFR19VTklOU1RBTExFRAorKyNpbmNsdWRlIDxhdmZvcm1hdC5oPgorKyNlbHNlCisrI2luY2x1ZGUgPGxpYmF2Zm9ybWF0L2F2Zm9ybWF0Lmg+CisrI2VuZGlmCisrCisrI2luY2x1ZGUgPGdzdC9nc3QuaD4KKysjaW5jbHVkZSA8Z3N0L2Jhc2UvZ3N0Y29sbGVjdHBhZHMuaD4KKysKKysjaW5jbHVkZSAiZ3N0ZmZtcGVnLmgiCisrI2luY2x1ZGUgImdzdGZmbXBlZ2NvZGVjbWFwLmgiCisrI2luY2x1ZGUgImdzdGZmbXBlZ3V0aWxzLmgiCisrCisrdHlwZWRlZiBzdHJ1Y3QgX0dzdEZGTXBlZ011eCBHc3RGRk1wZWdNdXg7CisrdHlwZWRlZiBzdHJ1Y3QgX0dzdEZGTXBlZ011eFBhZCBHc3RGRk1wZWdNdXhQYWQ7CisrCisrc3RydWN0IF9Hc3RGRk1wZWdNdXhQYWQKKyt7CisrICBHc3RDb2xsZWN0RGF0YSBjb2xsZWN0OyAgICAgICAvKiB3ZSBleHRlbmQgdGhlIENvbGxlY3REYXRhICovCisrCisrICBnaW50IHBhZG51bTsKKyt9OworKworK3N0cnVjdCBfR3N0RkZNcGVnTXV4CisreworKyAgR3N0RWxlbWVudCBlbGVtZW50OworKworKyAgR3N0Q29sbGVjdFBhZHMgKmNvbGxlY3Q7CisrICAvKiBXZSBuZWVkIHRvIGtlZXAgdHJhY2sgb2Ygb3VyIHBhZHMsIHNvIHdlIGRvIHNvIGhlcmUuICovCisrICBHc3RQYWQgKnNyY3BhZDsKKysKKysgIEFWRm9ybWF0Q29udGV4dCAqY29udGV4dDsKKysgIGdib29sZWFuIG9wZW5lZDsKKysKKysgIGdpbnQgdmlkZW9wYWRzLCBhdWRpb3BhZHM7CisrCisrICAvKjwgcHJpdmF0ZSA+ICovCisrICAvKiBldmVudF9mdW5jdGlvbiBpcyB0aGUgY29sbGVjdHBhZHMgZGVmYXVsdCBldmVudGZ1bmN0aW9uICovCisrICBHc3RQYWRFdmVudEZ1bmN0aW9uIGV2ZW50X2Z1bmN0aW9uOworKyAgaW50IHByZWxvYWQ7CisrICBpbnQgbWF4X2RlbGF5OworK307CisrCisrdHlwZWRlZiBzdHJ1Y3QgX0dzdEZGTXBlZ011eENsYXNzIEdzdEZGTXBlZ011eENsYXNzOworKworK3N0cnVjdCBfR3N0RkZNcGVnTXV4Q2xhc3MKKyt7CisrICBHc3RFbGVtZW50Q2xhc3MgcGFyZW50X2NsYXNzOworKworKyAgQVZPdXRwdXRGb3JtYXQgKmluX3BsdWdpbjsKKyt9OworKworKyNkZWZpbmUgR1NUX1RZUEVfRkZNUEVHTVVYIFwKKysgIChnc3RfZmZtcGVnZGVjX2dldF90eXBlKCkpCisrI2RlZmluZSBHU1RfRkZNUEVHTVVYKG9iaikgXAorKyAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9DQVNUKChvYmopLEdTVF9UWVBFX0ZGTVBFR01VWCxHc3RGRk1wZWdNdXgpKQorKyNkZWZpbmUgR1NUX0ZGTVBFR01VWF9DTEFTUyhrbGFzcykgXAorKyAgKEdfVFlQRV9DSEVDS19DTEFTU19DQVNUKChrbGFzcyksR1NUX1RZUEVfRkZNUEVHTVVYLEdzdEZGTXBlZ011eENsYXNzKSkKKysjZGVmaW5lIEdTVF9JU19GRk1QRUdNVVgob2JqKSBcCisrICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUoKG9iaiksR1NUX1RZUEVfRkZNUEVHTVVYKSkKKysjZGVmaW5lIEdTVF9JU19GRk1QRUdNVVhfQ0xBU1Moa2xhc3MpIFwKKysgIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfVFlQRSgoa2xhc3MpLEdTVF9UWVBFX0ZGTVBFR01VWCkpCisrCisrZW51bQorK3sKKysgIC8qIEZJTEwgTUUgKi8KKysgIExBU1RfU0lHTkFMCisrfTsKKysKKytlbnVtCisreworKyAgQVJHXzAsCisrICAvKiBGSUxMIE1FICovCisrfTsKKysKKytlbnVtCisreworKyAgUFJPUF8wLAorKyAgUFJPUF9QUkVMT0FELAorKyAgUFJPUF9NQVhERUxBWQorK307CisrCisrLyogQSBudW1iZXIgb2YgZnVuY3Rpb24gcHJvdG90eXBlcyBhcmUgZ2l2ZW4gc28gd2UgY2FuIHJlZmVyIHRvIHRoZW0gbGF0ZXIuICovCisrc3RhdGljIHZvaWQgZ3N0X2ZmbXBlZ211eF9jbGFzc19pbml0IChHc3RGRk1wZWdNdXhDbGFzcyAqIGtsYXNzKTsKKytzdGF0aWMgdm9pZCBnc3RfZmZtcGVnbXV4X2Jhc2VfaW5pdCAoZ3BvaW50ZXIgZ19jbGFzcyk7Cisrc3RhdGljIHZvaWQgZ3N0X2ZmbXBlZ211eF9pbml0IChHc3RGRk1wZWdNdXggKiBmZm1wZWdtdXgsCisrICAgIEdzdEZGTXBlZ011eENsYXNzICogZ19jbGFzcyk7Cisrc3RhdGljIHZvaWQgZ3N0X2ZmbXBlZ211eF9maW5hbGl6ZSAoR09iamVjdCAqIG9iamVjdCk7CisrCisrc3RhdGljIGdib29sZWFuIGdzdF9mZm1wZWdtdXhfc2V0Y2FwcyAoR3N0UGFkICogcGFkLCBHc3RDYXBzICogY2Fwcyk7Cisrc3RhdGljIEdzdFBhZCAqZ3N0X2ZmbXBlZ211eF9yZXF1ZXN0X25ld19wYWQgKEdzdEVsZW1lbnQgKiBlbGVtZW50LAorKyAgICBHc3RQYWRUZW1wbGF0ZSAqIHRlbXBsLCBjb25zdCBnY2hhciAqIG5hbWUpOworK3N0YXRpYyBHc3RGbG93UmV0dXJuIGdzdF9mZm1wZWdtdXhfY29sbGVjdGVkIChHc3RDb2xsZWN0UGFkcyAqIHBhZHMsCisrICAgIGdwb2ludGVyIHVzZXJfZGF0YSk7CisrCisrc3RhdGljIGdib29sZWFuIGdzdF9mZm1wZWdtdXhfc2lua19ldmVudCAoR3N0UGFkICogcGFkLCBHc3RFdmVudCAqIGV2ZW50KTsKKysKKytzdGF0aWMgR3N0U3RhdGVDaGFuZ2VSZXR1cm4gZ3N0X2ZmbXBlZ211eF9jaGFuZ2Vfc3RhdGUgKEdzdEVsZW1lbnQgKiBlbGVtZW50LAorKyAgICBHc3RTdGF0ZUNoYW5nZSB0cmFuc2l0aW9uKTsKKysKKytzdGF0aWMgdm9pZCBnc3RfZmZtcGVnbXV4X3NldF9wcm9wZXJ0eSAoR09iamVjdCAqIG9iamVjdCwgZ3VpbnQgcHJvcF9pZCwKKysgICAgY29uc3QgR1ZhbHVlICogdmFsdWUsIEdQYXJhbVNwZWMgKiBwc3BlYyk7Cisrc3RhdGljIHZvaWQgZ3N0X2ZmbXBlZ211eF9nZXRfcHJvcGVydHkgKEdPYmplY3QgKiBvYmplY3QsIGd1aW50IHByb3BfaWQsCisrICAgIEdWYWx1ZSAqIHZhbHVlLCBHUGFyYW1TcGVjICogcHNwZWMpOworKworK3N0YXRpYyBHc3RDYXBzICpnc3RfZmZtcGVnbXV4X2dldF9pZF9jYXBzIChlbnVtIENvZGVjSUQgKmlkX2xpc3QpOworK3N0YXRpYyB2b2lkIGdzdF9mZm1wZWdfbXV4X3NpbXBsZV9jYXBzX3NldF9pbnRfbGlzdCAoR3N0Q2FwcyAqIGNhcHMsCisrICAgIGNvbnN0IGdjaGFyICogZmllbGQsIGd1aW50IG51bSwgY29uc3QgZ2ludCAqIHZhbHVlcyk7CisrCisrI2RlZmluZSBHU1RfRkZNVVhfUEFSQU1TX1FEQVRBIGdfcXVhcmtfZnJvbV9zdGF0aWNfc3RyaW5nKCJmZm11eC1wYXJhbXMiKQorKworK3N0YXRpYyBHc3RFbGVtZW50Q2xhc3MgKnBhcmVudF9jbGFzcyA9IE5VTEw7CisrCisrLypzdGF0aWMgZ3VpbnQgZ3N0X2ZmbXBlZ211eF9zaWduYWxzW0xBU1RfU0lHTkFMXSA9IHsgMCB9OyAqLworKworK3R5cGVkZWYgc3RydWN0CisreworKyAgY29uc3QgY2hhciAqbmFtZTsKKysgIGNvbnN0IGNoYXIgKnJlcGxhY2VtZW50OworK30gR3N0RkZNcGVnTXV4UmVwbGFjZW1lbnQ7CisrCisrc3RhdGljIGNvbnN0IGNoYXIgKgorK2dzdF9mZm1wZWdtdXhfZ2V0X3JlcGxhY2VtZW50IChjb25zdCBjaGFyICpuYW1lKQorK3sKKysgIHN0YXRpYyBjb25zdCBHc3RGRk1wZWdNdXhSZXBsYWNlbWVudCBibGFja2xpc3RbXSA9IHsKKysgICAgeyJhdmkiLCAiYXZpbXV4In0sCisrICAgIHsibWF0cm9za2EiLCAibWF0cm9za2FtdXgifSwKKysgICAgeyJtb3YiLCAicXRtdXgifSwKKysgICAgeyJtcGVndHMiLCAibXBlZ3RzbXV4In0sCisrICAgIHsibXA0IiwgIm1wNG11eCJ9LAorKyAgICB7Im1wanBlZyIsICJtdWx0aXBhcnRtdXgifSwKKysgICAgeyJvZ2ciLCAib2dnbXV4In0sCisrICAgIHsid2F2IiwgIndhdmVuYyJ9LAorKyAgICB7IndlYm0iLCAid2VibW11eCJ9LAorKyAgICB7Im14ZiIsICJteGZtdXgifSwKKysgICAgeyIzZ3AiLCAiZ3BwbXV4In0sCisrICAgIHsieXV2NG1wZWdwaXBlIiwgInk0bWVuYyJ9LAorKyAgICB7ImFpZmYiLCAiYWlmZm11eCJ9LAorKyAgICB7ImFkdHMiLCAiYWFjcGFyc2UifSwKKysgICAgeyJhc2YiLCAiYXNmbXV4In0sCisrICAgIHsiYXNmX3N0cmVhbSIsICJhc2ZtdXgifSwKKysgICAgeyJmbHYiLCAiZmx2bXV4In0sCisrICAgIHsibXAzIiwgImlkM3YybXV4In0sCisrICAgIHsibXAyIiwgImlkM3YybXV4In0KKysgIH07CisrICBpbnQgaTsKKysKKysgIGZvciAoaSA9IDA7IGkgPCBzaXplb2YgKGJsYWNrbGlzdCkgLyBzaXplb2YgKGJsYWNrbGlzdFswXSk7IGkrKykgeworKyAgICBpZiAoc3RyY21wIChibGFja2xpc3RbaV0ubmFtZSwgbmFtZSkgPT0gMCkgeworKyAgICAgIHJldHVybiBibGFja2xpc3RbaV0ucmVwbGFjZW1lbnQ7CisrICAgIH0KKysgIH0KKysKKysgIHJldHVybiBOVUxMOworK30KKysKKytzdGF0aWMgZ2Jvb2xlYW4KKytnc3RfZmZtcGVnbXV4X2lzX2Zvcm1hdHRlciAoY29uc3QgY2hhciAqbmFtZSkKKyt7CisrICBzdGF0aWMgY29uc3QgY2hhciAqcmVwbGFjZVtdID0geworKyAgICAibXAyIiwgIm1wMyIsIE5VTEwKKysgIH07CisrICBpbnQgaTsKKysKKysgIGZvciAoaSA9IDA7IHJlcGxhY2VbaV07IGkrKykKKysgICAgaWYgKHN0cmNtcCAocmVwbGFjZVtpXSwgbmFtZSkgPT0gMCkKKysgICAgICByZXR1cm4gVFJVRTsKKysgIHJldHVybiBGQUxTRTsKKyt9CisrCisrc3RhdGljIHZvaWQKKytnc3RfZmZtcGVnbXV4X2Jhc2VfaW5pdCAoZ3BvaW50ZXIgZ19jbGFzcykKKyt7CisrICBHc3RGRk1wZWdNdXhDbGFzcyAqa2xhc3MgPSAoR3N0RkZNcGVnTXV4Q2xhc3MgKikgZ19jbGFzczsKKysgIEdzdEVsZW1lbnRDbGFzcyAqZWxlbWVudF9jbGFzcyA9IEdTVF9FTEVNRU5UX0NMQVNTIChnX2NsYXNzKTsKKysgIEdzdFBhZFRlbXBsYXRlICp2aWRlb3Npbmt0ZW1wbCwgKmF1ZGlvc2lua3RlbXBsLCAqc3JjdGVtcGw7CisrICBBVk91dHB1dEZvcm1hdCAqaW5fcGx1Z2luOworKyAgR3N0Q2FwcyAqc3JjY2FwcywgKmF1ZGlvc2lua2NhcHMsICp2aWRlb3NpbmtjYXBzOworKyAgZW51bSBDb2RlY0lEICp2aWRlb19pZHMgPSBOVUxMLCAqYXVkaW9faWRzID0gTlVMTDsKKysgIGdjaGFyICpsb25nbmFtZSwgKmRlc2NyaXB0aW9uOworKyAgY29uc3QgY2hhciAqcmVwbGFjZW1lbnQ7CisrICBnYm9vbGVhbiBpc19mb3JtYXR0ZXI7CisrCisrICBpbl9wbHVnaW4gPQorKyAgICAgIChBVk91dHB1dEZvcm1hdCAqKSBnX3R5cGVfZ2V0X3FkYXRhIChHX09CSkVDVF9DTEFTU19UWVBFIChrbGFzcyksCisrICAgICAgR1NUX0ZGTVVYX1BBUkFNU19RREFUQSk7CisrICBnX2Fzc2VydCAoaW5fcGx1Z2luICE9IE5VTEwpOworKworKyAgLyogY29uc3RydWN0IHRoZSBlbGVtZW50IGRldGFpbHMgc3RydWN0ICovCisrICByZXBsYWNlbWVudCA9IGdzdF9mZm1wZWdtdXhfZ2V0X3JlcGxhY2VtZW50IChpbl9wbHVnaW4tPm5hbWUpOworKyAgaXNfZm9ybWF0dGVyID0gZ3N0X2ZmbXBlZ211eF9pc19mb3JtYXR0ZXIgKGluX3BsdWdpbi0+bmFtZSk7CisrICBpZiAocmVwbGFjZW1lbnQgIT0gTlVMTCkgeworKyAgICBsb25nbmFtZSA9CisrICAgICAgICBnX3N0cmR1cF9wcmludGYgKCJGRm1wZWcgJXMgJXMgKG5vdCByZWNvbW1lbmRlZCwgdXNlICVzIGluc3RlYWQpIiwKKysgICAgICAgIGluX3BsdWdpbi0+bG9uZ19uYW1lLCBpc19mb3JtYXR0ZXIgPyAiZm9ybWF0dGVyIiA6ICJtdXhlciIsCisrICAgICAgICByZXBsYWNlbWVudCk7CisrICAgIGRlc2NyaXB0aW9uID0KKysgICAgICAgIGdfc3RyZHVwX3ByaW50ZiAoIkZGbXBlZyAlcyAlcyAobm90IHJlY29tbWVuZGVkLCB1c2UgJXMgaW5zdGVhZCkiLAorKyAgICAgICAgaW5fcGx1Z2luLT5sb25nX25hbWUsIGlzX2Zvcm1hdHRlciA/ICJmb3JtYXR0ZXIiIDogIm11eGVyIiwKKysgICAgICAgIHJlcGxhY2VtZW50KTsKKysgIH0gZWxzZSB7CisrICAgIGxvbmduYW1lID0gZ19zdHJkdXBfcHJpbnRmICgiRkZtcGVnICVzICVzIiwgaW5fcGx1Z2luLT5sb25nX25hbWUsCisrICAgICAgICBpc19mb3JtYXR0ZXIgPyAiZm9ybWF0dGVyIiA6ICJtdXhlciIpOworKyAgICBkZXNjcmlwdGlvbiA9IGdfc3RyZHVwX3ByaW50ZiAoIkZGbXBlZyAlcyAlcyIsIGluX3BsdWdpbi0+bG9uZ19uYW1lLAorKyAgICAgICAgaXNfZm9ybWF0dGVyID8gImZvcm1hdHRlciIgOiAibXV4ZXIiKTsKKysgIH0KKysgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSAoZWxlbWVudF9jbGFzcywgbG9uZ25hbWUsCisrICAgICAgaXNfZm9ybWF0dGVyID8gIkZvcm1hdHRlci9NZXRhZGF0YSIgOiAiQ29kZWMvTXV4ZXIiLCBkZXNjcmlwdGlvbiwKKysgICAgICAiV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNoZWxsby5iZT4sICIKKysgICAgICAiUm9uYWxkIEJ1bHRqZSA8cmJ1bHRqZUByb25hbGQuYml0ZnJlYWsubmV0PiIpOworKyAgZ19mcmVlIChsb25nbmFtZSk7CisrICBnX2ZyZWUgKGRlc2NyaXB0aW9uKTsKKysKKysgIC8qIFRyeSB0byBmaW5kIHRoZSBjYXBzIHRoYXQgYmVsb25ncyBoZXJlICovCisrICBzcmNjYXBzID0gZ3N0X2ZmbXBlZ19mb3JtYXRpZF90b19jYXBzIChpbl9wbHVnaW4tPm5hbWUpOworKyAgaWYgKCFzcmNjYXBzKSB7CisrICAgIEdTVF9ERUJVRyAoIkNvdWxkbid0IGdldCBzb3VyY2UgY2FwcyBmb3IgbXV4ZXIgJyVzJywgc2tpcHBpbmcgZm9ybWF0IiwKKysgICAgICAgIGluX3BsdWdpbi0+bmFtZSk7CisrICAgIGdvdG8gYmVhY2g7CisrICB9CisrCisrICBpZiAoIWdzdF9mZm1wZWdfZm9ybWF0aWRfZ2V0X2NvZGVjaWRzIChpbl9wbHVnaW4tPm5hbWUsCisrICAgICAgICAgICZ2aWRlb19pZHMsICZhdWRpb19pZHMsIGluX3BsdWdpbikpIHsKKysgICAgZ3N0X2NhcHNfdW5yZWYgKHNyY2NhcHMpOworKyAgICBHU1RfREVCVUcKKysgICAgICAgICgiQ291bGRuJ3QgZ2V0IHNpbmsgY2FwcyBmb3IgbXV4ZXIgJyVzJy4gTW9zdCBsaWtlbHkgYmVjYXVzZSBubyBpbnB1dCBmb3JtYXQgbWFwcGluZyBleGlzdHMuIiwKKysgICAgICAgIGluX3BsdWdpbi0+bmFtZSk7CisrICAgIGdvdG8gYmVhY2g7CisrICB9CisrCisrICB2aWRlb3NpbmtjYXBzID0gdmlkZW9faWRzID8gZ3N0X2ZmbXBlZ211eF9nZXRfaWRfY2FwcyAodmlkZW9faWRzKSA6IE5VTEw7CisrICBhdWRpb3NpbmtjYXBzID0gYXVkaW9faWRzID8gZ3N0X2ZmbXBlZ211eF9nZXRfaWRfY2FwcyAoYXVkaW9faWRzKSA6IE5VTEw7CisrCisrICAvKiBmaXggdXAgYWxsb3dlZCBjYXBzIGZvciBzb21lIG11eGVycyAqLworKyAgLyogRklYTUUgOiBUaGlzIHNob3VsZCBiZSBpbiBnc3RmZm1wZWdjb2RlY21hcC5jICEgKi8KKysgIGlmIChzdHJjbXAgKGluX3BsdWdpbi0+bmFtZSwgImZsdiIpID09IDApIHsKKysgICAgY29uc3QgZ2ludCByYXRlc1tdID0geyA0NDEwMCwgMjIwNTAsIDExMDI1IH07CisrCisrICAgIGdzdF9mZm1wZWdfbXV4X3NpbXBsZV9jYXBzX3NldF9pbnRfbGlzdCAoYXVkaW9zaW5rY2FwcywgInJhdGUiLCAzLCByYXRlcyk7CisrICB9IGVsc2UgaWYgKHN0cmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAiZ2lmIikgPT0gMCkgeworKyAgICBpZiAodmlkZW9zaW5rY2FwcykKKysgICAgICBnc3RfY2Fwc191bnJlZiAodmlkZW9zaW5rY2Fwcyk7CisrCisrICAgIHZpZGVvc2lua2NhcHMgPQorKyAgICAgICAgZ3N0X2NhcHNfZnJvbV9zdHJpbmcgKCJ2aWRlby94LXJhdy1yZ2IsIGJwcD0oaW50KTI0LCBkZXB0aD0oaW50KTI0Iik7CisrICB9CisrCisrICAvKiBwYWQgdGVtcGxhdGVzICovCisrICBzcmN0ZW1wbCA9IGdzdF9wYWRfdGVtcGxhdGVfbmV3ICgic3JjIiwgR1NUX1BBRF9TUkMsIEdTVF9QQURfQUxXQVlTLCBzcmNjYXBzKTsKKysgIGdzdF9lbGVtZW50X2NsYXNzX2FkZF9wYWRfdGVtcGxhdGUgKGVsZW1lbnRfY2xhc3MsIHNyY3RlbXBsKTsKKysKKysgIGlmIChhdWRpb3NpbmtjYXBzKSB7CisrICAgIGF1ZGlvc2lua3RlbXBsID0gZ3N0X3BhZF90ZW1wbGF0ZV9uZXcgKCJhdWRpb18lZCIsCisrICAgICAgICBHU1RfUEFEX1NJTkssIEdTVF9QQURfUkVRVUVTVCwgYXVkaW9zaW5rY2Fwcyk7CisrICAgIGdzdF9lbGVtZW50X2NsYXNzX2FkZF9wYWRfdGVtcGxhdGUgKGVsZW1lbnRfY2xhc3MsIGF1ZGlvc2lua3RlbXBsKTsKKysgIH0KKysKKysgIGlmICh2aWRlb3NpbmtjYXBzKSB7CisrICAgIHZpZGVvc2lua3RlbXBsID0gZ3N0X3BhZF90ZW1wbGF0ZV9uZXcgKCJ2aWRlb18lZCIsCisrICAgICAgICBHU1RfUEFEX1NJTkssIEdTVF9QQURfUkVRVUVTVCwgdmlkZW9zaW5rY2Fwcyk7CisrICAgIGdzdF9lbGVtZW50X2NsYXNzX2FkZF9wYWRfdGVtcGxhdGUgKGVsZW1lbnRfY2xhc3MsIHZpZGVvc2lua3RlbXBsKTsKKysgIH0KKysKKytiZWFjaDoKKysgIGtsYXNzLT5pbl9wbHVnaW4gPSBpbl9wbHVnaW47CisrfQorKworK3N0YXRpYyB2b2lkCisrZ3N0X2ZmbXBlZ211eF9jbGFzc19pbml0IChHc3RGRk1wZWdNdXhDbGFzcyAqIGtsYXNzKQorK3sKKysgIEdPYmplY3RDbGFzcyAqZ29iamVjdF9jbGFzczsKKysgIEdzdEVsZW1lbnRDbGFzcyAqZ3N0ZWxlbWVudF9jbGFzczsKKysKKysgIGdvYmplY3RfY2xhc3MgPSAoR09iamVjdENsYXNzICopIGtsYXNzOworKyAgZ3N0ZWxlbWVudF9jbGFzcyA9IChHc3RFbGVtZW50Q2xhc3MgKikga2xhc3M7CisrCisrICBwYXJlbnRfY2xhc3MgPSBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQgKGtsYXNzKTsKKysKKysgIGdvYmplY3RfY2xhc3MtPnNldF9wcm9wZXJ0eSA9IEdTVF9ERUJVR19GVU5DUFRSIChnc3RfZmZtcGVnbXV4X3NldF9wcm9wZXJ0eSk7CisrICBnb2JqZWN0X2NsYXNzLT5nZXRfcHJvcGVydHkgPSBHU1RfREVCVUdfRlVOQ1BUUiAoZ3N0X2ZmbXBlZ211eF9nZXRfcHJvcGVydHkpOworKworKyAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eSAoZ29iamVjdF9jbGFzcywgUFJPUF9QUkVMT0FELAorKyAgICAgIGdfcGFyYW1fc3BlY19pbnQgKCJwcmVsb2FkIiwgInByZWxvYWQiLAorKyAgICAgICAgICAiU2V0IHRoZSBpbml0aWFsIGRlbXV4LWRlY29kZSBkZWxheSAoaW4gbWljcm9zZWNvbmRzKSIsIDAsIEdfTUFYSU5ULAorKyAgICAgICAgICAwLCBHX1BBUkFNX1JFQURXUklURSB8IEdfUEFSQU1fU1RBVElDX1NUUklOR1MpKTsKKysKKysgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkgKGdvYmplY3RfY2xhc3MsIFBST1BfTUFYREVMQVksCisrICAgICAgZ19wYXJhbV9zcGVjX2ludCAoIm1heGRlbGF5IiwgIm1heGRlbGF5IiwKKysgICAgICAgICAgIlNldCB0aGUgbWF4aW11bSBkZW11eC1kZWNvZGUgZGVsYXkgKGluIG1pY3Jvc2Vjb25kcykiLCAwLCBHX01BWElOVCwKKysgICAgICAgICAgMCwgR19QQVJBTV9SRUFEV1JJVEUgfCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTKSk7CisrCisrICBnc3RlbGVtZW50X2NsYXNzLT5yZXF1ZXN0X25ld19wYWQgPSBnc3RfZmZtcGVnbXV4X3JlcXVlc3RfbmV3X3BhZDsKKysgIGdzdGVsZW1lbnRfY2xhc3MtPmNoYW5nZV9zdGF0ZSA9IGdzdF9mZm1wZWdtdXhfY2hhbmdlX3N0YXRlOworKyAgZ29iamVjdF9jbGFzcy0+ZmluYWxpemUgPSBnc3RfZmZtcGVnbXV4X2ZpbmFsaXplOworK30KKysKKytzdGF0aWMgdm9pZAorK2dzdF9mZm1wZWdtdXhfaW5pdCAoR3N0RkZNcGVnTXV4ICogZmZtcGVnbXV4LCBHc3RGRk1wZWdNdXhDbGFzcyAqIGdfY2xhc3MpCisreworKyAgR3N0RWxlbWVudENsYXNzICprbGFzcyA9IEdTVF9FTEVNRU5UX0NMQVNTIChnX2NsYXNzKTsKKysgIEdzdEZGTXBlZ011eENsYXNzICpvY2xhc3MgPSAoR3N0RkZNcGVnTXV4Q2xhc3MgKikga2xhc3M7CisrICBHc3RQYWRUZW1wbGF0ZSAqdGVtcGwgPSBnc3RfZWxlbWVudF9jbGFzc19nZXRfcGFkX3RlbXBsYXRlIChrbGFzcywgInNyYyIpOworKworKyAgZmZtcGVnbXV4LT5zcmNwYWQgPSBnc3RfcGFkX25ld19mcm9tX3RlbXBsYXRlICh0ZW1wbCwgInNyYyIpOworKyAgZ3N0X3BhZF9zZXRfY2FwcyAoZmZtcGVnbXV4LT5zcmNwYWQsIGdzdF9wYWRfdGVtcGxhdGVfZ2V0X2NhcHMgKHRlbXBsKSk7CisrICBnc3RfZWxlbWVudF9hZGRfcGFkIChHU1RfRUxFTUVOVCAoZmZtcGVnbXV4KSwgZmZtcGVnbXV4LT5zcmNwYWQpOworKworKyAgZmZtcGVnbXV4LT5jb2xsZWN0ID0gZ3N0X2NvbGxlY3RfcGFkc19uZXcgKCk7CisrICBnc3RfY29sbGVjdF9wYWRzX3NldF9mdW5jdGlvbiAoZmZtcGVnbXV4LT5jb2xsZWN0LAorKyAgICAgIChHc3RDb2xsZWN0UGFkc0Z1bmN0aW9uKSBnc3RfZmZtcGVnbXV4X2NvbGxlY3RlZCwgZmZtcGVnbXV4KTsKKysKKysgIGZmbXBlZ211eC0+Y29udGV4dCA9IGdfbmV3MCAoQVZGb3JtYXRDb250ZXh0LCAxKTsKKysgIGZmbXBlZ211eC0+Y29udGV4dC0+b2Zvcm1hdCA9IG9jbGFzcy0+aW5fcGx1Z2luOworKyAgZmZtcGVnbXV4LT5jb250ZXh0LT5uYl9zdHJlYW1zID0gMDsKKysgIGdfc25wcmludGYgKGZmbXBlZ211eC0+Y29udGV4dC0+ZmlsZW5hbWUsCisrICAgICAgc2l6ZW9mIChmZm1wZWdtdXgtPmNvbnRleHQtPmZpbGVuYW1lKSwKKysgICAgICAiZ3N0cmVhbWVyOi8vJXAiLCBmZm1wZWdtdXgtPnNyY3BhZCk7CisrICBmZm1wZWdtdXgtPm9wZW5lZCA9IEZBTFNFOworKworKyAgZmZtcGVnbXV4LT52aWRlb3BhZHMgPSAwOworKyAgZmZtcGVnbXV4LT5hdWRpb3BhZHMgPSAwOworKyAgZmZtcGVnbXV4LT5wcmVsb2FkID0gMDsKKysgIGZmbXBlZ211eC0+bWF4X2RlbGF5ID0gMDsKKyt9CisrCisrc3RhdGljIHZvaWQKKytnc3RfZmZtcGVnbXV4X3NldF9wcm9wZXJ0eSAoR09iamVjdCAqIG9iamVjdCwgZ3VpbnQgcHJvcF9pZCwKKysgICAgY29uc3QgR1ZhbHVlICogdmFsdWUsIEdQYXJhbVNwZWMgKiBwc3BlYykKKyt7CisrICBHc3RGRk1wZWdNdXggKnNyYzsKKysKKysgIHNyYyA9IChHc3RGRk1wZWdNdXggKikgb2JqZWN0OworKworKyAgc3dpdGNoIChwcm9wX2lkKSB7CisrICAgIGNhc2UgUFJPUF9QUkVMT0FEOgorKyAgICAgIHNyYy0+cHJlbG9hZCA9IGdfdmFsdWVfZ2V0X2ludCAodmFsdWUpOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIFBST1BfTUFYREVMQVk6CisrICAgICAgc3JjLT5tYXhfZGVsYXkgPSBnX3ZhbHVlX2dldF9pbnQgKHZhbHVlKTsKKysgICAgICBicmVhazsKKysgICAgZGVmYXVsdDoKKysgICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQgKG9iamVjdCwgcHJvcF9pZCwgcHNwZWMpOworKyAgICAgIGJyZWFrOworKyAgfQorK30KKysKKytzdGF0aWMgdm9pZAorK2dzdF9mZm1wZWdtdXhfZ2V0X3Byb3BlcnR5IChHT2JqZWN0ICogb2JqZWN0LCBndWludCBwcm9wX2lkLCBHVmFsdWUgKiB2YWx1ZSwKKysgICAgR1BhcmFtU3BlYyAqIHBzcGVjKQorK3sKKysgIEdzdEZGTXBlZ011eCAqc3JjOworKworKyAgc3JjID0gKEdzdEZGTXBlZ011eCAqKSBvYmplY3Q7CisrCisrICBzd2l0Y2ggKHByb3BfaWQpIHsKKysgICAgY2FzZSBQUk9QX1BSRUxPQUQ6CisrICAgICAgZ192YWx1ZV9zZXRfaW50ICh2YWx1ZSwgc3JjLT5wcmVsb2FkKTsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBQUk9QX01BWERFTEFZOgorKyAgICAgIGdfdmFsdWVfc2V0X2ludCAodmFsdWUsIHNyYy0+bWF4X2RlbGF5KTsKKysgICAgICBicmVhazsKKysgICAgZGVmYXVsdDoKKysgICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQgKG9iamVjdCwgcHJvcF9pZCwgcHNwZWMpOworKyAgICAgIGJyZWFrOworKyAgfQorK30KKysKKysKKytzdGF0aWMgdm9pZAorK2dzdF9mZm1wZWdtdXhfZmluYWxpemUgKEdPYmplY3QgKiBvYmplY3QpCisreworKyAgR3N0RkZNcGVnTXV4ICpmZm1wZWdtdXggPSAoR3N0RkZNcGVnTXV4ICopIG9iamVjdDsKKysKKysgIGdfZnJlZSAoZmZtcGVnbXV4LT5jb250ZXh0KTsKKysgIGdzdF9vYmplY3RfdW5yZWYgKGZmbXBlZ211eC0+Y29sbGVjdCk7CisrCisrICBpZiAoR19PQkpFQ1RfQ0xBU1MgKHBhcmVudF9jbGFzcyktPmZpbmFsaXplKQorKyAgICBHX09CSkVDVF9DTEFTUyAocGFyZW50X2NsYXNzKS0+ZmluYWxpemUgKG9iamVjdCk7CisrfQorKworK3N0YXRpYyBHc3RQYWQgKgorK2dzdF9mZm1wZWdtdXhfcmVxdWVzdF9uZXdfcGFkIChHc3RFbGVtZW50ICogZWxlbWVudCwKKysgICAgR3N0UGFkVGVtcGxhdGUgKiB0ZW1wbCwgY29uc3QgZ2NoYXIgKiBuYW1lKQorK3sKKysgIEdzdEZGTXBlZ011eCAqZmZtcGVnbXV4ID0gKEdzdEZGTXBlZ011eCAqKSBlbGVtZW50OworKyAgR3N0RWxlbWVudENsYXNzICprbGFzcyA9IEdTVF9FTEVNRU5UX0dFVF9DTEFTUyAoZWxlbWVudCk7CisrICBHc3RGRk1wZWdNdXhQYWQgKmNvbGxlY3RfcGFkOworKyAgZ2NoYXIgKnBhZG5hbWU7CisrICBHc3RQYWQgKnBhZDsKKysgIEFWU3RyZWFtICpzdDsKKysgIGVudW0gQVZNZWRpYVR5cGUgdHlwZTsKKysgIGdpbnQgYml0cmF0ZSA9IDAsIGZyYW1lc2l6ZSA9IDA7CisrCisrICBnX3JldHVybl92YWxfaWZfZmFpbCAodGVtcGwgIT0gTlVMTCwgTlVMTCk7CisrICBnX3JldHVybl92YWxfaWZfZmFpbCAodGVtcGwtPmRpcmVjdGlvbiA9PSBHU1RfUEFEX1NJTkssIE5VTEwpOworKyAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKGZmbXBlZ211eC0+b3BlbmVkID09IEZBTFNFLCBOVUxMKTsKKysKKysgIC8qIGZpZ3VyZSBvdXQgYSBuYW1lIHRoYXQgKndlKiBsaWtlICovCisrICBpZiAodGVtcGwgPT0gZ3N0X2VsZW1lbnRfY2xhc3NfZ2V0X3BhZF90ZW1wbGF0ZSAoa2xhc3MsICJ2aWRlb18lZCIpKSB7CisrICAgIHBhZG5hbWUgPSBnX3N0cmR1cF9wcmludGYgKCJ2aWRlb18lZCIsIGZmbXBlZ211eC0+dmlkZW9wYWRzKyspOworKyAgICB0eXBlID0gQVZNRURJQV9UWVBFX1ZJREVPOworKyAgICBiaXRyYXRlID0gNjQgKiAxMDI0OworKyAgICBmcmFtZXNpemUgPSAxMTUyOworKyAgfSBlbHNlIGlmICh0ZW1wbCA9PSBnc3RfZWxlbWVudF9jbGFzc19nZXRfcGFkX3RlbXBsYXRlIChrbGFzcywgImF1ZGlvXyVkIikpIHsKKysgICAgcGFkbmFtZSA9IGdfc3RyZHVwX3ByaW50ZiAoImF1ZGlvXyVkIiwgZmZtcGVnbXV4LT5hdWRpb3BhZHMrKyk7CisrICAgIHR5cGUgPSBBVk1FRElBX1RZUEVfQVVESU87CisrICAgIGJpdHJhdGUgPSAyODUgKiAxMDI0OworKyAgfSBlbHNlIHsKKysgICAgZ193YXJuaW5nICgiZmZtdXg6IHVua25vd24gcGFkIHRlbXBsYXRlISIpOworKyAgICByZXR1cm4gTlVMTDsKKysgIH0KKysKKysgIC8qIGNyZWF0ZSBwYWQgKi8KKysgIHBhZCA9IGdzdF9wYWRfbmV3X2Zyb21fdGVtcGxhdGUgKHRlbXBsLCBwYWRuYW1lKTsKKysgIGNvbGxlY3RfcGFkID0gKEdzdEZGTXBlZ011eFBhZCAqKQorKyAgICAgIGdzdF9jb2xsZWN0X3BhZHNfYWRkX3BhZCAoZmZtcGVnbXV4LT5jb2xsZWN0LCBwYWQsCisrICAgICAgc2l6ZW9mIChHc3RGRk1wZWdNdXhQYWQpKTsKKysgIGNvbGxlY3RfcGFkLT5wYWRudW0gPSBmZm1wZWdtdXgtPmNvbnRleHQtPm5iX3N0cmVhbXM7CisrCisrICAvKiBzbWFsbCBoYWNrIHRvIHB1dCBvdXIgb3duIGV2ZW50IHBhZCBmdW5jdGlvbiBhbmQgY2hhaW4gdXAgdG8gY29sbGVjdCBwYWQgKi8KKysgIGZmbXBlZ211eC0+ZXZlbnRfZnVuY3Rpb24gPSBHU1RfUEFEX0VWRU5URlVOQyAocGFkKTsKKysgIGdzdF9wYWRfc2V0X2V2ZW50X2Z1bmN0aW9uIChwYWQsCisrICAgICAgR1NUX0RFQlVHX0ZVTkNQVFIgKGdzdF9mZm1wZWdtdXhfc2lua19ldmVudCkpOworKworKyAgZ3N0X3BhZF9zZXRfc2V0Y2Fwc19mdW5jdGlvbiAocGFkLCBHU1RfREVCVUdfRlVOQ1BUUiAoZ3N0X2ZmbXBlZ211eF9zZXRjYXBzKSk7CisrICBnc3RfZWxlbWVudF9hZGRfcGFkIChlbGVtZW50LCBwYWQpOworKworKyAgLyogQVZTdHJlYW0gbmVlZHMgdG8gYmUgY3JlYXRlZCAqLworKyAgc3QgPSBhdl9uZXdfc3RyZWFtIChmZm1wZWdtdXgtPmNvbnRleHQsIGNvbGxlY3RfcGFkLT5wYWRudW0pOworKyAgc3QtPmNvZGVjLT5jb2RlY190eXBlID0gdHlwZTsKKysgIHN0LT5jb2RlYy0+Y29kZWNfaWQgPSBDT0RFQ19JRF9OT05FOyAgLyogdGhpcyBpcyBhIGNoZWNrIGFmdGVyd2FyZHMgKi8KKysgIHN0LT5zdHJlYW1fY29weSA9IDE7ICAgICAgICAgIC8qIHdlJ3JlIG5vdCB0aGUgYWN0dWFsIGVuY29kZXIgKi8KKysgIHN0LT5jb2RlYy0+Yml0X3JhdGUgPSBiaXRyYXRlOworKyAgc3QtPmNvZGVjLT5mcmFtZV9zaXplID0gZnJhbWVzaXplOworKyAgLyogd2UgZmlsbCBpbiBjb2RlYyBkdXJpbmcgY2Fwc25lZ28gKi8KKysKKysgIC8qIHdlIGxvdmUgZGVidWcgb3V0cHV0IChjKSAodG0pIChyKSAqLworKyAgR1NUX0RFQlVHICgiQ3JlYXRlZCAlcyBwYWQgZm9yIGZmbXV4XyVzIGVsZW1lbnQiLAorKyAgICAgIHBhZG5hbWUsICgoR3N0RkZNcGVnTXV4Q2xhc3MgKikga2xhc3MpLT5pbl9wbHVnaW4tPm5hbWUpOworKyAgZ19mcmVlIChwYWRuYW1lKTsKKysKKysgIHJldHVybiBwYWQ7CisrfQorKworKy8qKgorKyAqIGdzdF9mZm1wZWdtdXhfc2V0Y2FwcworKyAqIEBwYWQ6ICNHc3RQYWQKKysgKiBAY2FwczogTmV3IGNhcHMuCisrICoKKysgKiBTZXQgY2FwcyB0byBwYWQuCisrICoKKysgKiBSZXR1cm5zOiAjVFJVRSBvbiBzdWNjZXNzLgorKyAqLworK3N0YXRpYyBnYm9vbGVhbgorK2dzdF9mZm1wZWdtdXhfc2V0Y2FwcyAoR3N0UGFkICogcGFkLCBHc3RDYXBzICogY2FwcykKKyt7CisrICBHc3RGRk1wZWdNdXggKmZmbXBlZ211eCA9IChHc3RGRk1wZWdNdXggKikgKGdzdF9wYWRfZ2V0X3BhcmVudCAocGFkKSk7CisrICBHc3RGRk1wZWdNdXhQYWQgKmNvbGxlY3RfcGFkOworKyAgQVZTdHJlYW0gKnN0OworKworKyAgY29sbGVjdF9wYWQgPSAoR3N0RkZNcGVnTXV4UGFkICopIGdzdF9wYWRfZ2V0X2VsZW1lbnRfcHJpdmF0ZSAocGFkKTsKKysKKysgIHN0ID0gZmZtcGVnbXV4LT5jb250ZXh0LT5zdHJlYW1zW2NvbGxlY3RfcGFkLT5wYWRudW1dOworKyAgZmZtcGVnbXV4LT5jb250ZXh0LT5wcmVsb2FkID0gZmZtcGVnbXV4LT5wcmVsb2FkOworKyAgZmZtcGVnbXV4LT5jb250ZXh0LT5tYXhfZGVsYXkgPSBmZm1wZWdtdXgtPm1heF9kZWxheTsKKysKKysgIC8qIGZvciB0aGUgZm9ybWF0LXNwZWNpZmljIGd1ZXNzZXMsIHdlJ2xsIGdvIHRvCisrICAgKiBvdXIgZmFtb3VzIGNvZGVjIG1hcHBlciAqLworKyAgaWYgKGdzdF9mZm1wZWdfY2Fwc190b19jb2RlY2lkIChjYXBzLCBzdC0+Y29kZWMpID09IENPREVDX0lEX05PTkUpCisrICAgIGdvdG8gbm90X2FjY2VwdGVkOworKworKyAgLyogY29weSBvdmVyIHRoZSBhc3BlY3QgcmF0aW9zLCBmZm1wZWcgZXhwZWN0cyB0aGUgc3RyZWFtIGFzcGVjdCB0byBtYXRjaCB0aGUKKysgICAqIGNvZGVjIGFzcGVjdC4gKi8KKysgIHN0LT5zYW1wbGVfYXNwZWN0X3JhdGlvID0gc3QtPmNvZGVjLT5zYW1wbGVfYXNwZWN0X3JhdGlvOworKworKyAgR1NUX0xPR19PQkpFQ1QgKHBhZCwgImFjY2VwdGVkIGNhcHMgJSIgR1NUX1BUUl9GT1JNQVQsIGNhcHMpOworKyAgcmV0dXJuIFRSVUU7CisrCisrICAvKiBFUlJPUlMgKi8KKytub3RfYWNjZXB0ZWQ6CisrICB7CisrICAgIEdTVF9MT0dfT0JKRUNUIChwYWQsICJyZWplY3RpbmcgY2FwcyAlIiBHU1RfUFRSX0ZPUk1BVCwgY2Fwcyk7CisrICAgIHJldHVybiBGQUxTRTsKKysgIH0KKyt9CisrCisrCisrc3RhdGljIGdib29sZWFuCisrZ3N0X2ZmbXBlZ211eF9zaW5rX2V2ZW50IChHc3RQYWQgKiBwYWQsIEdzdEV2ZW50ICogZXZlbnQpCisreworKyAgR3N0RkZNcGVnTXV4ICpmZm1wZWdtdXggPSAoR3N0RkZNcGVnTXV4ICopIGdzdF9wYWRfZ2V0X3BhcmVudCAocGFkKTsKKysgIGdib29sZWFuIHJlcyA9IFRSVUU7CisrCisrICBzd2l0Y2ggKEdTVF9FVkVOVF9UWVBFIChldmVudCkpIHsKKysgICAgY2FzZSBHU1RfRVZFTlRfVEFHOnsKKysgICAgICBHc3RUYWdMaXN0ICp0YWdsaXN0OworKyAgICAgIEdzdFRhZ1NldHRlciAqc2V0dGVyID0gR1NUX1RBR19TRVRURVIgKGZmbXBlZ211eCk7CisrICAgICAgY29uc3QgR3N0VGFnTWVyZ2VNb2RlIG1vZGUgPSBnc3RfdGFnX3NldHRlcl9nZXRfdGFnX21lcmdlX21vZGUgKHNldHRlcik7CisrCisrICAgICAgZ3N0X2V2ZW50X3BhcnNlX3RhZyAoZXZlbnQsICZ0YWdsaXN0KTsKKysgICAgICBnc3RfdGFnX3NldHRlcl9tZXJnZV90YWdzIChzZXR0ZXIsIHRhZ2xpc3QsIG1vZGUpOworKyAgICAgIGJyZWFrOworKyAgICB9CisrICAgIGRlZmF1bHQ6CisrICAgICAgYnJlYWs7CisrICB9CisrCisrICAvKiBjaGFpbmluZyB1cCB0byBjb2xsZWN0cGFkcyBkZWZhdWx0IGV2ZW50IGZ1bmN0aW9uICovCisrICByZXMgPSBmZm1wZWdtdXgtPmV2ZW50X2Z1bmN0aW9uIChwYWQsIGV2ZW50KTsKKysKKysgIGdzdF9vYmplY3RfdW5yZWYgKGZmbXBlZ211eCk7CisrICByZXR1cm4gcmVzOworK30KKysKKytzdGF0aWMgR3N0Rmxvd1JldHVybgorK2dzdF9mZm1wZWdtdXhfY29sbGVjdGVkIChHc3RDb2xsZWN0UGFkcyAqIHBhZHMsIGdwb2ludGVyIHVzZXJfZGF0YSkKKyt7CisrICBHc3RGRk1wZWdNdXggKmZmbXBlZ211eCA9IChHc3RGRk1wZWdNdXggKikgdXNlcl9kYXRhOworKyAgR1NMaXN0ICpjb2xsZWN0ZWQ7CisrICBHc3RGRk1wZWdNdXhQYWQgKmJlc3RfcGFkOworKyAgR3N0Q2xvY2tUaW1lIGJlc3RfdGltZTsKKysjaWYgMAorKyAgLyogUmUtZW5hYmxlIG9uY2UgY29udmVydGVkIHRvIG5ldyBBVk1ldGFEYXRhIEFQSQorKyAgICogU2VlICM1NjY2MDUKKysgICAqLworKyAgY29uc3QgR3N0VGFnTGlzdCAqdGFnczsKKysjZW5kaWYKKysKKysgIC8qIG9wZW4gImZpbGUiIChnc3RyZWFtZXIgcHJvdG9jb2wgdG8gbmV4dCBlbGVtZW50KSAqLworKyAgaWYgKCFmZm1wZWdtdXgtPm9wZW5lZCkgeworKyAgICBpbnQgb3Blbl9mbGFncyA9IFVSTF9XUk9OTFk7CisrCisrICAgIC8qIHdlIGRvIG5lZWQgYWxsIHN0cmVhbXMgdG8gaGF2ZSBzdGFydGVkIGNhcHNuZWdvLAorKyAgICAgKiBvciB0aGluZ3Mgd2lsbCBnbyBob3JyaWJseSB3cm9uZyAqLworKyAgICBmb3IgKGNvbGxlY3RlZCA9IGZmbXBlZ211eC0+Y29sbGVjdC0+ZGF0YTsgY29sbGVjdGVkOworKyAgICAgICAgY29sbGVjdGVkID0gZ19zbGlzdF9uZXh0IChjb2xsZWN0ZWQpKSB7CisrICAgICAgR3N0RkZNcGVnTXV4UGFkICpjb2xsZWN0X3BhZCA9IChHc3RGRk1wZWdNdXhQYWQgKikgY29sbGVjdGVkLT5kYXRhOworKyAgICAgIEFWU3RyZWFtICpzdCA9IGZmbXBlZ211eC0+Y29udGV4dC0+c3RyZWFtc1tjb2xsZWN0X3BhZC0+cGFkbnVtXTsKKysKKysgICAgICAvKiBjaGVjayB3aGV0aGVyIHRoZSBwYWQgaGFzIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQgY2Fwc25lZ28gKi8KKysgICAgICBpZiAoc3QtPmNvZGVjLT5jb2RlY19pZCA9PSBDT0RFQ19JRF9OT05FKSB7CisrICAgICAgICBHU1RfRUxFTUVOVF9FUlJPUiAoZmZtcGVnbXV4LCBDT1JFLCBORUdPVElBVElPTiwgKE5VTEwpLAorKyAgICAgICAgICAgICgibm8gY2FwcyBzZXQgb24gc3RyZWFtICVkICglcykiLCBjb2xsZWN0X3BhZC0+cGFkbnVtLAorKyAgICAgICAgICAgICAgICAoc3QtPmNvZGVjLT5jb2RlY190eXBlID09IEFWTUVESUFfVFlQRV9WSURFTykgPworKyAgICAgICAgICAgICAgICAidmlkZW8iIDogImF1ZGlvIikpOworKyAgICAgICAgcmV0dXJuIEdTVF9GTE9XX0VSUk9SOworKyAgICAgIH0KKysgICAgICAvKiBzZXQgZnJhbWVyYXRlIGZvciBhdWRpbyAqLworKyAgICAgIGlmIChzdC0+Y29kZWMtPmNvZGVjX3R5cGUgPT0gQVZNRURJQV9UWVBFX0FVRElPKSB7CisrICAgICAgICBzd2l0Y2ggKHN0LT5jb2RlYy0+Y29kZWNfaWQpIHsKKysgICAgICAgICAgY2FzZSBDT0RFQ19JRF9QQ01fUzE2TEU6CisrICAgICAgICAgIGNhc2UgQ09ERUNfSURfUENNX1MxNkJFOgorKyAgICAgICAgICBjYXNlIENPREVDX0lEX1BDTV9VMTZMRToKKysgICAgICAgICAgY2FzZSBDT0RFQ19JRF9QQ01fVTE2QkU6CisrICAgICAgICAgIGNhc2UgQ09ERUNfSURfUENNX1M4OgorKyAgICAgICAgICBjYXNlIENPREVDX0lEX1BDTV9VODoKKysgICAgICAgICAgICBzdC0+Y29kZWMtPmZyYW1lX3NpemUgPSAxOworKyAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICBkZWZhdWx0OgorKyAgICAgICAgICB7CisrICAgICAgICAgICAgR3N0QnVmZmVyICpidWZmZXI7CisrCisrICAgICAgICAgICAgLyogRklYTUUgOiBUaGlzIGRvZXNuJ3Qgd29yayBmb3IgUkFXIEFVRElPLi4uCisrICAgICAgICAgICAgICogaW4gZmFjdCBJJ20gd29uZGVyaW5nIGlmIGl0IGV2ZW4gd29ya3MgZm9yIGFueSBraW5kIG9mIGF1ZGlvLi4uICovCisrICAgICAgICAgICAgYnVmZmVyID0gZ3N0X2NvbGxlY3RfcGFkc19wZWVrIChmZm1wZWdtdXgtPmNvbGxlY3QsCisrICAgICAgICAgICAgICAgIChHc3RDb2xsZWN0RGF0YSAqKSBjb2xsZWN0X3BhZCk7CisrICAgICAgICAgICAgaWYgKGJ1ZmZlcikgeworKyAgICAgICAgICAgICAgc3QtPmNvZGVjLT5mcmFtZV9zaXplID0KKysgICAgICAgICAgICAgICAgICBzdC0+Y29kZWMtPnNhbXBsZV9yYXRlICoKKysgICAgICAgICAgICAgICAgICBHU1RfQlVGRkVSX0RVUkFUSU9OIChidWZmZXIpIC8gR1NUX1NFQ09ORDsKKysgICAgICAgICAgICAgIGdzdF9idWZmZXJfdW5yZWYgKGJ1ZmZlcik7CisrICAgICAgICAgICAgfQorKyAgICAgICAgICB9CisrICAgICAgICB9CisrICAgICAgfQorKyAgICB9CisrCisrI2lmIDAKKysgICAgLyogUmUtZW5hYmxlIG9uY2UgY29udmVydGVkIHRvIG5ldyBBVk1ldGFEYXRhIEFQSQorKyAgICAgKiBTZWUgIzU2NjYwNQorKyAgICAgKi8KKysKKysgICAgLyogdGFncyAqLworKyAgICB0YWdzID0gZ3N0X3RhZ19zZXR0ZXJfZ2V0X3RhZ19saXN0IChHU1RfVEFHX1NFVFRFUiAoZmZtcGVnbXV4KSk7CisrICAgIGlmICh0YWdzKSB7CisrICAgICAgZ2ludCBpOworKyAgICAgIGdjaGFyICpzOworKworKyAgICAgIC8qIGdldCB0aGUgaW50ZXJlc3Rpbmcgb25lcyAqLworKyAgICAgIGlmIChnc3RfdGFnX2xpc3RfZ2V0X3N0cmluZyAodGFncywgR1NUX1RBR19USVRMRSwgJnMpKSB7CisrICAgICAgICBzdHJuY3B5IChmZm1wZWdtdXgtPmNvbnRleHQtPnRpdGxlLCBzLAorKyAgICAgICAgICAgIHNpemVvZiAoZmZtcGVnbXV4LT5jb250ZXh0LT50aXRsZSkpOworKyAgICAgIH0KKysgICAgICBpZiAoZ3N0X3RhZ19saXN0X2dldF9zdHJpbmcgKHRhZ3MsIEdTVF9UQUdfQVJUSVNULCAmcykpIHsKKysgICAgICAgIHN0cm5jcHkgKGZmbXBlZ211eC0+Y29udGV4dC0+YXV0aG9yLCBzLAorKyAgICAgICAgICAgIHNpemVvZiAoZmZtcGVnbXV4LT5jb250ZXh0LT5hdXRob3IpKTsKKysgICAgICB9CisrICAgICAgaWYgKGdzdF90YWdfbGlzdF9nZXRfc3RyaW5nICh0YWdzLCBHU1RfVEFHX0NPUFlSSUdIVCwgJnMpKSB7CisrICAgICAgICBzdHJuY3B5IChmZm1wZWdtdXgtPmNvbnRleHQtPmNvcHlyaWdodCwgcywKKysgICAgICAgICAgICBzaXplb2YgKGZmbXBlZ211eC0+Y29udGV4dC0+Y29weXJpZ2h0KSk7CisrICAgICAgfQorKyAgICAgIGlmIChnc3RfdGFnX2xpc3RfZ2V0X3N0cmluZyAodGFncywgR1NUX1RBR19DT01NRU5ULCAmcykpIHsKKysgICAgICAgIHN0cm5jcHkgKGZmbXBlZ211eC0+Y29udGV4dC0+Y29tbWVudCwgcywKKysgICAgICAgICAgICBzaXplb2YgKGZmbXBlZ211eC0+Y29udGV4dC0+Y29tbWVudCkpOworKyAgICAgIH0KKysgICAgICBpZiAoZ3N0X3RhZ19saXN0X2dldF9zdHJpbmcgKHRhZ3MsIEdTVF9UQUdfQUxCVU0sICZzKSkgeworKyAgICAgICAgc3RybmNweSAoZmZtcGVnbXV4LT5jb250ZXh0LT5hbGJ1bSwgcywKKysgICAgICAgICAgICBzaXplb2YgKGZmbXBlZ211eC0+Y29udGV4dC0+YWxidW0pKTsKKysgICAgICB9CisrICAgICAgaWYgKGdzdF90YWdfbGlzdF9nZXRfc3RyaW5nICh0YWdzLCBHU1RfVEFHX0dFTlJFLCAmcykpIHsKKysgICAgICAgIHN0cm5jcHkgKGZmbXBlZ211eC0+Y29udGV4dC0+Z2VucmUsIHMsCisrICAgICAgICAgICAgc2l6ZW9mIChmZm1wZWdtdXgtPmNvbnRleHQtPmdlbnJlKSk7CisrICAgICAgfQorKyAgICAgIGlmIChnc3RfdGFnX2xpc3RfZ2V0X2ludCAodGFncywgR1NUX1RBR19UUkFDS19OVU1CRVIsICZpKSkgeworKyAgICAgICAgZmZtcGVnbXV4LT5jb250ZXh0LT50cmFjayA9IGk7CisrICAgICAgfQorKyAgICB9CisrI2VuZGlmCisrCisrICAgIC8qIHNldCB0aGUgc3RyZWFtaGVhZGVyIGZsYWcgZm9yIGdzdGZmbXBlZ3Byb3RvY29sIGlmIGNvZGVjIHN1cHBvcnRzIGl0ICovCisrICAgIGlmICghc3RyY21wIChmZm1wZWdtdXgtPmNvbnRleHQtPm9mb3JtYXQtPm5hbWUsICJmbHYiKSkgeworKyAgICAgIG9wZW5fZmxhZ3MgfD0gR1NUX0ZGTVBFR19VUkxfU1RSRUFNSEVBREVSOworKyAgICB9CisrCisrICAgIGlmICh1cmxfZm9wZW4gKCZmZm1wZWdtdXgtPmNvbnRleHQtPnBiLAorKyAgICAgICAgICAgIGZmbXBlZ211eC0+Y29udGV4dC0+ZmlsZW5hbWUsIG9wZW5fZmxhZ3MpIDwgMCkgeworKyAgICAgIEdTVF9FTEVNRU5UX0VSUk9SIChmZm1wZWdtdXgsIExJQlJBUlksIFRPT19MQVpZLCAoTlVMTCksCisrICAgICAgICAgICgiRmFpbGVkIHRvIG9wZW4gc3RyZWFtIGNvbnRleHQgaW4gZmZtdXgiKSk7CisrICAgICAgcmV0dXJuIEdTVF9GTE9XX0VSUk9SOworKyAgICB9CisrCisrICAgIGlmIChhdl9zZXRfcGFyYW1ldGVycyAoZmZtcGVnbXV4LT5jb250ZXh0LCBOVUxMKSA8IDApIHsKKysgICAgICBHU1RfRUxFTUVOVF9FUlJPUiAoZmZtcGVnbXV4LCBMSUJSQVJZLCBJTklULCAoTlVMTCksCisrICAgICAgICAgICgiRmFpbGVkIHRvIGluaXRpYWxpemUgbXV4ZXIiKSk7CisrICAgICAgcmV0dXJuIEdTVF9GTE9XX0VSUk9SOworKyAgICB9CisrCisrICAgIC8qIG5vdyBvcGVuIHRoZSBtdXggZm9ybWF0ICovCisrICAgIGlmIChhdl93cml0ZV9oZWFkZXIgKGZmbXBlZ211eC0+Y29udGV4dCkgPCAwKSB7CisrICAgICAgR1NUX0VMRU1FTlRfRVJST1IgKGZmbXBlZ211eCwgTElCUkFSWSwgU0VUVElOR1MsIChOVUxMKSwKKysgICAgICAgICAgKCJGYWlsZWQgdG8gd3JpdGUgZmlsZSBoZWFkZXIgLSBjaGVjayBjb2RlYyBzZXR0aW5ncyIpKTsKKysgICAgICByZXR1cm4gR1NUX0ZMT1dfRVJST1I7CisrICAgIH0KKysKKysgICAgLyogd2UncmUgbm93IG9wZW5lZCAqLworKyAgICBmZm1wZWdtdXgtPm9wZW5lZCA9IFRSVUU7CisrCisrICAgIC8qIGZsdXNoIHRoZSBoZWFkZXIgc28gaXQgd2lsbCBiZSB1c2VkIGFzIHN0cmVhbWhlYWRlciAqLworKyAgICBwdXRfZmx1c2hfcGFja2V0IChmZm1wZWdtdXgtPmNvbnRleHQtPnBiKTsKKysgIH0KKysKKysgIC8qIHRha2UgdGhlIG9uZSB3aXRoIGVhcmxpZXN0IHRpbWVzdGFtcCwKKysgICAqIGFuZCBwdXNoIGl0IGZvcndhcmQgKi8KKysgIGJlc3RfcGFkID0gTlVMTDsKKysgIGJlc3RfdGltZSA9IEdTVF9DTE9DS19USU1FX05PTkU7CisrICBmb3IgKGNvbGxlY3RlZCA9IGZmbXBlZ211eC0+Y29sbGVjdC0+ZGF0YTsgY29sbGVjdGVkOworKyAgICAgIGNvbGxlY3RlZCA9IGdfc2xpc3RfbmV4dCAoY29sbGVjdGVkKSkgeworKyAgICBHc3RGRk1wZWdNdXhQYWQgKmNvbGxlY3RfcGFkID0gKEdzdEZGTXBlZ011eFBhZCAqKSBjb2xsZWN0ZWQtPmRhdGE7CisrICAgIEdzdEJ1ZmZlciAqYnVmZmVyID0gZ3N0X2NvbGxlY3RfcGFkc19wZWVrIChmZm1wZWdtdXgtPmNvbGxlY3QsCisrICAgICAgICAoR3N0Q29sbGVjdERhdGEgKikgY29sbGVjdF9wYWQpOworKworKyAgICAvKiBpZiB0aGVyZSdzIG5vIGJ1ZmZlciwganVzdCBjb250aW51ZSAqLworKyAgICBpZiAoYnVmZmVyID09IE5VTEwpIHsKKysgICAgICBjb250aW51ZTsKKysgICAgfQorKworKyAgICAvKiBpZiB3ZSBoYXZlIG5vIGJ1ZmZlciB5ZXQsIGp1c3QgdXNlIHRoZSBmaXJzdCBvbmUgKi8KKysgICAgaWYgKGJlc3RfcGFkID09IE5VTEwpIHsKKysgICAgICBiZXN0X3BhZCA9IGNvbGxlY3RfcGFkOworKyAgICAgIGJlc3RfdGltZSA9IEdTVF9CVUZGRVJfVElNRVNUQU1QIChidWZmZXIpOworKyAgICAgIGdvdG8gbmV4dF9wYWQ7CisrICAgIH0KKysKKysgICAgLyogaWYgd2UgZG8gaGF2ZSBvbmUsIG9ubHkgdXNlIHRoaXMgb25lIGlmIGl0J3Mgb2xkZXIgKi8KKysgICAgaWYgKEdTVF9CVUZGRVJfVElNRVNUQU1QIChidWZmZXIpIDwgYmVzdF90aW1lKSB7CisrICAgICAgYmVzdF90aW1lID0gR1NUX0JVRkZFUl9USU1FU1RBTVAgKGJ1ZmZlcik7CisrICAgICAgYmVzdF9wYWQgPSBjb2xsZWN0X3BhZDsKKysgICAgfQorKworKyAgbmV4dF9wYWQ6CisrICAgIGdzdF9idWZmZXJfdW5yZWYgKGJ1ZmZlcik7CisrCisrICAgIC8qIE11eCBidWZmZXJzIHdpdGggaW52YWxpZCB0aW1lc3RhbXAgZmlyc3QgKi8KKysgICAgaWYgKCFHU1RfQ0xPQ0tfVElNRV9JU19WQUxJRCAoYmVzdF90aW1lKSkKKysgICAgICBicmVhazsKKysgIH0KKysKKysgIC8qIG5vdyBoYW5kbGUgdGhlIGJ1ZmZlciwgb3Igc2lnbmFsIEVPUyBpZiB3ZSBoYXZlCisrICAgKiBubyBidWZmZXJzIGxlZnQgKi8KKysgIGlmIChiZXN0X3BhZCAhPSBOVUxMKSB7CisrICAgIEdzdEJ1ZmZlciAqYnVmOworKyAgICBBVlBhY2tldCBwa3Q7CisrICAgIGdib29sZWFuIG5lZWRfZnJlZSA9IEZBTFNFOworKworKyAgICAvKiBwdXNoIG91dCBjdXJyZW50IGJ1ZmZlciAqLworKyAgICBidWYgPSBnc3RfY29sbGVjdF9wYWRzX3BvcCAoZmZtcGVnbXV4LT5jb2xsZWN0LAorKyAgICAgICAgKEdzdENvbGxlY3REYXRhICopIGJlc3RfcGFkKTsKKysKKysgICAgZmZtcGVnbXV4LT5jb250ZXh0LT5zdHJlYW1zW2Jlc3RfcGFkLT5wYWRudW1dLT5jb2RlYy0+ZnJhbWVfbnVtYmVyKys7CisrCisrICAgIC8qIHNldCB0aW1lICovCisrICAgIHBrdC5wdHMgPSBnc3RfZmZtcGVnX3RpbWVfZ3N0X3RvX2ZmIChHU1RfQlVGRkVSX1RJTUVTVEFNUCAoYnVmKSwKKysgICAgICAgIGZmbXBlZ211eC0+Y29udGV4dC0+c3RyZWFtc1tiZXN0X3BhZC0+cGFkbnVtXS0+dGltZV9iYXNlKTsKKysgICAgcGt0LmR0cyA9IHBrdC5wdHM7CisrCisrICAgIGlmIChzdHJjbXAgKGZmbXBlZ211eC0+Y29udGV4dC0+b2Zvcm1hdC0+bmFtZSwgImdpZiIpID09IDApIHsKKysgICAgICBBVlN0cmVhbSAqc3QgPSBmZm1wZWdtdXgtPmNvbnRleHQtPnN0cmVhbXNbYmVzdF9wYWQtPnBhZG51bV07CisrICAgICAgQVZQaWN0dXJlIHNyYywgZHN0OworKworKyAgICAgIG5lZWRfZnJlZSA9IFRSVUU7CisrICAgICAgcGt0LnNpemUgPSBzdC0+Y29kZWMtPndpZHRoICogc3QtPmNvZGVjLT5oZWlnaHQgKiAzOworKyAgICAgIHBrdC5kYXRhID0gZ19tYWxsb2MgKHBrdC5zaXplKTsKKysKKysgICAgICBkc3QuZGF0YVswXSA9IHBrdC5kYXRhOworKyAgICAgIGRzdC5kYXRhWzFdID0gTlVMTDsKKysgICAgICBkc3QuZGF0YVsyXSA9IE5VTEw7CisrICAgICAgZHN0LmxpbmVzaXplWzBdID0gc3QtPmNvZGVjLT53aWR0aCAqIDM7CisrCisrICAgICAgZ3N0X2ZmbXBlZ19hdnBpY3R1cmVfZmlsbCAoJnNyYywgR1NUX0JVRkZFUl9EQVRBIChidWYpLAorKyAgICAgICAgICBQSVhfRk1UX1JHQjI0LCBzdC0+Y29kZWMtPndpZHRoLCBzdC0+Y29kZWMtPmhlaWdodCk7CisrCisrICAgICAgYXZfcGljdHVyZV9jb3B5ICgmZHN0LCAmc3JjLCBQSVhfRk1UX1JHQjI0LAorKyAgICAgICAgICBzdC0+Y29kZWMtPndpZHRoLCBzdC0+Y29kZWMtPmhlaWdodCk7CisrICAgIH0gZWxzZSB7CisrICAgICAgcGt0LmRhdGEgPSBHU1RfQlVGRkVSX0RBVEEgKGJ1Zik7CisrICAgICAgcGt0LnNpemUgPSBHU1RfQlVGRkVSX1NJWkUgKGJ1Zik7CisrICAgIH0KKysKKysgICAgcGt0LnN0cmVhbV9pbmRleCA9IGJlc3RfcGFkLT5wYWRudW07CisrICAgIHBrdC5mbGFncyA9IDA7CisrCisrICAgIGlmICghR1NUX0JVRkZFUl9GTEFHX0lTX1NFVCAoYnVmLCBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCkpCisrICAgICAgcGt0LmZsYWdzIHw9IEFWX1BLVF9GTEFHX0tFWTsKKysKKysgICAgaWYgKEdTVF9CVUZGRVJfRFVSQVRJT05fSVNfVkFMSUQgKGJ1ZikpCisrICAgICAgcGt0LmR1cmF0aW9uID0KKysgICAgICAgICAgZ3N0X2ZmbXBlZ190aW1lX2dzdF90b19mZiAoR1NUX0JVRkZFUl9EVVJBVElPTiAoYnVmKSwKKysgICAgICAgICAgZmZtcGVnbXV4LT5jb250ZXh0LT5zdHJlYW1zW2Jlc3RfcGFkLT5wYWRudW1dLT50aW1lX2Jhc2UpOworKyAgICBlbHNlCisrICAgICAgcGt0LmR1cmF0aW9uID0gMDsKKysgICAgYXZfd3JpdGVfZnJhbWUgKGZmbXBlZ211eC0+Y29udGV4dCwgJnBrdCk7CisrICAgIGdzdF9idWZmZXJfdW5yZWYgKGJ1Zik7CisrICAgIGlmIChuZWVkX2ZyZWUpCisrICAgICAgZ19mcmVlIChwa3QuZGF0YSk7CisrICB9IGVsc2UgeworKyAgICAvKiBjbG9zZSBkb3duICovCisrICAgIGF2X3dyaXRlX3RyYWlsZXIgKGZmbXBlZ211eC0+Y29udGV4dCk7CisrICAgIGZmbXBlZ211eC0+b3BlbmVkID0gRkFMU0U7CisrICAgIHB1dF9mbHVzaF9wYWNrZXQgKGZmbXBlZ211eC0+Y29udGV4dC0+cGIpOworKyAgICB1cmxfZmNsb3NlIChmZm1wZWdtdXgtPmNvbnRleHQtPnBiKTsKKysgICAgZ3N0X3BhZF9wdXNoX2V2ZW50IChmZm1wZWdtdXgtPnNyY3BhZCwgZ3N0X2V2ZW50X25ld19lb3MgKCkpOworKyAgICByZXR1cm4gR1NUX0ZMT1dfVU5FWFBFQ1RFRDsKKysgIH0KKysKKysgIHJldHVybiBHU1RfRkxPV19PSzsKKyt9CisrCisrc3RhdGljIEdzdFN0YXRlQ2hhbmdlUmV0dXJuCisrZ3N0X2ZmbXBlZ211eF9jaGFuZ2Vfc3RhdGUgKEdzdEVsZW1lbnQgKiBlbGVtZW50LCBHc3RTdGF0ZUNoYW5nZSB0cmFuc2l0aW9uKQorK3sKKysgIEdzdEZsb3dSZXR1cm4gcmV0OworKyAgR3N0RkZNcGVnTXV4ICpmZm1wZWdtdXggPSAoR3N0RkZNcGVnTXV4ICopIChlbGVtZW50KTsKKysKKysgIHN3aXRjaCAodHJhbnNpdGlvbikgeworKyAgICBjYXNlIEdTVF9TVEFURV9DSEFOR0VfTlVMTF9UT19SRUFEWToKKysgICAgICBicmVhazsKKysgICAgY2FzZSBHU1RfU1RBVEVfQ0hBTkdFX1JFQURZX1RPX1BBVVNFRDoKKysgICAgICBnc3RfY29sbGVjdF9wYWRzX3N0YXJ0IChmZm1wZWdtdXgtPmNvbGxlY3QpOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIEdTVF9TVEFURV9DSEFOR0VfUEFVU0VEX1RPX1BMQVlJTkc6CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgR1NUX1NUQVRFX0NIQU5HRV9QQVVTRURfVE9fUkVBRFk6CisrICAgICAgZ3N0X2NvbGxlY3RfcGFkc19zdG9wIChmZm1wZWdtdXgtPmNvbGxlY3QpOworKyAgICAgIGJyZWFrOworKyAgICBkZWZhdWx0OgorKyAgICAgIGJyZWFrOworKyAgfQorKworKyAgcmV0ID0gR1NUX0VMRU1FTlRfQ0xBU1MgKHBhcmVudF9jbGFzcyktPmNoYW5nZV9zdGF0ZSAoZWxlbWVudCwgdHJhbnNpdGlvbik7CisrCisrICBzd2l0Y2ggKHRyYW5zaXRpb24pIHsKKysgICAgY2FzZSBHU1RfU1RBVEVfQ0hBTkdFX1BMQVlJTkdfVE9fUEFVU0VEOgorKyAgICAgIGJyZWFrOworKyAgICBjYXNlIEdTVF9TVEFURV9DSEFOR0VfUEFVU0VEX1RPX1JFQURZOgorKyAgICAgIGdzdF90YWdfc2V0dGVyX3Jlc2V0X3RhZ3MgKEdTVF9UQUdfU0VUVEVSIChmZm1wZWdtdXgpKTsKKysgICAgICBpZiAoZmZtcGVnbXV4LT5vcGVuZWQpIHsKKysgICAgICAgIGZmbXBlZ211eC0+b3BlbmVkID0gRkFMU0U7CisrICAgICAgICB1cmxfZmNsb3NlIChmZm1wZWdtdXgtPmNvbnRleHQtPnBiKTsKKysgICAgICB9CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgR1NUX1NUQVRFX0NIQU5HRV9SRUFEWV9UT19OVUxMOgorKyAgICAgIGJyZWFrOworKyAgICBkZWZhdWx0OgorKyAgICAgIGJyZWFrOworKyAgfQorKworKyAgcmV0dXJuIHJldDsKKyt9CisrCisrc3RhdGljIEdzdENhcHMgKgorK2dzdF9mZm1wZWdtdXhfZ2V0X2lkX2NhcHMgKGVudW0gQ29kZWNJRCAqaWRfbGlzdCkKKyt7CisrICBHc3RDYXBzICpjYXBzLCAqdDsKKysgIGdpbnQgaTsKKysKKysgIGNhcHMgPSBnc3RfY2Fwc19uZXdfZW1wdHkgKCk7CisrICBmb3IgKGkgPSAwOyBpZF9saXN0W2ldICE9IENPREVDX0lEX05PTkU7IGkrKykgeworKyAgICBpZiAoKHQgPSBnc3RfZmZtcGVnX2NvZGVjaWRfdG9fY2FwcyAoaWRfbGlzdFtpXSwgTlVMTCwgVFJVRSkpKQorKyAgICAgIGdzdF9jYXBzX2FwcGVuZCAoY2FwcywgdCk7CisrICB9CisrICBpZiAoZ3N0X2NhcHNfaXNfZW1wdHkgKGNhcHMpKSB7CisrICAgIGdzdF9jYXBzX3VucmVmIChjYXBzKTsKKysgICAgcmV0dXJuIE5VTEw7CisrICB9CisrCisrICByZXR1cm4gY2FwczsKKyt9CisrCisrLyogc2V0IGEgbGlzdCBvZiBpbnRlZ2VyIHZhbHVlcyBvbiB0aGUgY2FwcywgZS5nLiBmb3Igc2FtcGxlIHJhdGVzICovCisrc3RhdGljIHZvaWQKKytnc3RfZmZtcGVnX211eF9zaW1wbGVfY2Fwc19zZXRfaW50X2xpc3QgKEdzdENhcHMgKiBjYXBzLCBjb25zdCBnY2hhciAqIGZpZWxkLAorKyAgICBndWludCBudW0sIGNvbnN0IGdpbnQgKiB2YWx1ZXMpCisreworKyAgR1ZhbHVlIGxpc3QgPSB7IDAsIH07CisrICBHVmFsdWUgdmFsID0geyAwLCB9OworKyAgZ2ludCBpOworKworKyAgZ19yZXR1cm5faWZfZmFpbCAoR1NUX0NBUFNfSVNfU0lNUExFIChjYXBzKSk7CisrCisrICBnX3ZhbHVlX2luaXQgKCZsaXN0LCBHU1RfVFlQRV9MSVNUKTsKKysgIGdfdmFsdWVfaW5pdCAoJnZhbCwgR19UWVBFX0lOVCk7CisrCisrICBmb3IgKGkgPSAwOyBpIDwgbnVtOyArK2kpIHsKKysgICAgZ192YWx1ZV9zZXRfaW50ICgmdmFsLCB2YWx1ZXNbaV0pOworKyAgICBnc3RfdmFsdWVfbGlzdF9hcHBlbmRfdmFsdWUgKCZsaXN0LCAmdmFsKTsKKysgIH0KKysKKysgIGdzdF9zdHJ1Y3R1cmVfc2V0X3ZhbHVlIChnc3RfY2Fwc19nZXRfc3RydWN0dXJlIChjYXBzLCAwKSwgZmllbGQsICZsaXN0KTsKKysKKysgIGdfdmFsdWVfdW5zZXQgKCZ2YWwpOworKyAgZ192YWx1ZV91bnNldCAoJmxpc3QpOworK30KKysKKytnYm9vbGVhbgorK2dzdF9mZm1wZWdtdXhfcmVnaXN0ZXIgKEdzdFBsdWdpbiAqIHBsdWdpbikKKyt7CisrICBHVHlwZUluZm8gdHlwZWluZm8gPSB7CisrICAgIHNpemVvZiAoR3N0RkZNcGVnTXV4Q2xhc3MpLAorKyAgICAoR0Jhc2VJbml0RnVuYykgZ3N0X2ZmbXBlZ211eF9iYXNlX2luaXQsCisrICAgIE5VTEwsCisrICAgIChHQ2xhc3NJbml0RnVuYykgZ3N0X2ZmbXBlZ211eF9jbGFzc19pbml0LAorKyAgICBOVUxMLAorKyAgICBOVUxMLAorKyAgICBzaXplb2YgKEdzdEZGTXBlZ011eCksCisrICAgIDAsCisrICAgIChHSW5zdGFuY2VJbml0RnVuYykgZ3N0X2ZmbXBlZ211eF9pbml0LAorKyAgfTsKKysgIHN0YXRpYyBjb25zdCBHSW50ZXJmYWNlSW5mbyB0YWdfc2V0dGVyX2luZm8gPSB7CisrICAgIE5VTEwsIE5VTEwsIE5VTEwKKysgIH07CisrICBHVHlwZSB0eXBlOworKyAgQVZPdXRwdXRGb3JtYXQgKmluX3BsdWdpbjsKKysKKysgIGluX3BsdWdpbiA9IGF2X29mb3JtYXRfbmV4dCAoTlVMTCk7CisrCisrICBHU1RfTE9HICgiUmVnaXN0ZXJpbmcgbXV4ZXJzIik7CisrCisrICB3aGlsZSAoaW5fcGx1Z2luKSB7CisrICAgIGdjaGFyICp0eXBlX25hbWU7CisrICAgIGdjaGFyICpwOworKyAgICBHc3RSYW5rIHJhbmsgPSBHU1RfUkFOS19NQVJHSU5BTDsKKysKKysgICAgaWYgKCghc3RybmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAidTE2IiwgMykpIHx8CisrICAgICAgICAoIXN0cm5jbXAgKGluX3BsdWdpbi0+bmFtZSwgInMxNiIsIDMpKSB8fAorKyAgICAgICAgKCFzdHJuY21wIChpbl9wbHVnaW4tPm5hbWUsICJ1MjQiLCAzKSkgfHwKKysgICAgICAgICghc3RybmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAiczI0IiwgMykpIHx8CisrICAgICAgICAoIXN0cm5jbXAgKGluX3BsdWdpbi0+bmFtZSwgInU4IiwgMikpIHx8CisrICAgICAgICAoIXN0cm5jbXAgKGluX3BsdWdpbi0+bmFtZSwgInM4IiwgMikpIHx8CisrICAgICAgICAoIXN0cm5jbXAgKGluX3BsdWdpbi0+bmFtZSwgInUzMiIsIDMpKSB8fAorKyAgICAgICAgKCFzdHJuY21wIChpbl9wbHVnaW4tPm5hbWUsICJzMzIiLCAzKSkgfHwKKysgICAgICAgICghc3RybmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAiZjMyIiwgMykpIHx8CisrICAgICAgICAoIXN0cm5jbXAgKGluX3BsdWdpbi0+bmFtZSwgImY2NCIsIDMpKSB8fAorKyAgICAgICAgKCFzdHJuY21wIChpbl9wbHVnaW4tPm5hbWUsICJyYXciLCAzKSkgfHwKKysgICAgICAgICghc3RybmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAiY3JjIiwgMykpIHx8CisrICAgICAgICAoIXN0cm5jbXAgKGluX3BsdWdpbi0+bmFtZSwgIm51bGwiLCA0KSkgfHwKKysgICAgICAgICghc3RybmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAiZ2lmIiwgMykpIHx8CisrICAgICAgICAoIXN0cm5jbXAgKGluX3BsdWdpbi0+bmFtZSwgImZyYW1lIiwgNSkpIHx8CisrICAgICAgICAoIXN0cm5jbXAgKGluX3BsdWdpbi0+bmFtZSwgImltYWdlIiwgNSkpIHx8CisrICAgICAgICAoIXN0cm5jbXAgKGluX3BsdWdpbi0+bmFtZSwgIm11bGF3IiwgNSkpIHx8CisrICAgICAgICAoIXN0cm5jbXAgKGluX3BsdWdpbi0+bmFtZSwgImFsYXciLCA0KSkgfHwKKysgICAgICAgICghc3RybmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAiaDI2IiwgMykpIHx8CisrICAgICAgICAoIXN0cm5jbXAgKGluX3BsdWdpbi0+bmFtZSwgInJ0cCIsIDMpKSB8fAorKyAgICAgICAgKCFzdHJuY21wIChpbl9wbHVnaW4tPm5hbWUsICJhc3MiLCAzKSkgfHwKKysgICAgICAgICghc3RybmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAiZmZtZXRhZGF0YSIsIDEwKSkgfHwKKysgICAgICAgICghc3RybmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAic3J0IiwgMykpCisrICAgICAgICApIHsKKysgICAgICBHU1RfTE9HICgiSWdub3JpbmcgbXV4ZXIgJXMiLCBpbl9wbHVnaW4tPm5hbWUpOworKyAgICAgIGdvdG8gbmV4dDsKKysgICAgfQorKworKyAgICBpZiAoKCFzdHJuY21wIChpbl9wbHVnaW4tPmxvbmdfbmFtZSwgInJhdyAiLCA0KSkpIHsKKysgICAgICBHU1RfTE9HICgiSWdub3JpbmcgcmF3IG11eGVyICVzIiwgaW5fcGx1Z2luLT5uYW1lKTsKKysgICAgICBnb3RvIG5leHQ7CisrICAgIH0KKysKKysgICAgaWYgKGdzdF9mZm1wZWdtdXhfZ2V0X3JlcGxhY2VtZW50IChpbl9wbHVnaW4tPm5hbWUpKQorKyAgICAgIHJhbmsgPSBHU1RfUkFOS19OT05FOworKworKyAgICAvKiBGSVhNRSA6IFdlIG5lZWQgYSBmYXN0IHdheSB0byBrbm93IHdoZXRoZXIgd2UgaGF2ZSBtYXBwaW5ncyBmb3IgdGhpcworKyAgICAgKiBtdXhlciB0eXBlLiAqLworKworKyAgICAvKiBjb25zdHJ1Y3QgdGhlIHR5cGUgKi8KKysgICAgdHlwZV9uYW1lID0gZ19zdHJkdXBfcHJpbnRmICgiZmZtdXhfJXMiLCBpbl9wbHVnaW4tPm5hbWUpOworKworKyAgICBwID0gdHlwZV9uYW1lOworKworKyAgICB3aGlsZSAoKnApIHsKKysgICAgICBpZiAoKnAgPT0gJy4nKQorKyAgICAgICAgKnAgPSAnXyc7CisrICAgICAgcCsrOworKyAgICB9CisrCisrICAgIHR5cGUgPSBnX3R5cGVfZnJvbV9uYW1lICh0eXBlX25hbWUpOworKworKyAgICBpZiAoIXR5cGUpIHsKKysgICAgICAvKiBjcmVhdGUgdGhlIHR5cGUgbm93ICovCisrICAgICAgdHlwZSA9IGdfdHlwZV9yZWdpc3Rlcl9zdGF0aWMgKEdTVF9UWVBFX0VMRU1FTlQsIHR5cGVfbmFtZSwgJnR5cGVpbmZvLCAwKTsKKysgICAgICBnX3R5cGVfc2V0X3FkYXRhICh0eXBlLCBHU1RfRkZNVVhfUEFSQU1TX1FEQVRBLCAoZ3BvaW50ZXIpIGluX3BsdWdpbik7CisrICAgICAgZ190eXBlX2FkZF9pbnRlcmZhY2Vfc3RhdGljICh0eXBlLCBHU1RfVFlQRV9UQUdfU0VUVEVSLCAmdGFnX3NldHRlcl9pbmZvKTsKKysgICAgfQorKworKyAgICBpZiAoIWdzdF9lbGVtZW50X3JlZ2lzdGVyIChwbHVnaW4sIHR5cGVfbmFtZSwgcmFuaywgdHlwZSkpIHsKKysgICAgICBnX2ZyZWUgKHR5cGVfbmFtZSk7CisrICAgICAgcmV0dXJuIEZBTFNFOworKyAgICB9CisrCisrICAgIGdfZnJlZSAodHlwZV9uYW1lKTsKKysKKysgIG5leHQ6CisrICAgIGluX3BsdWdpbiA9IGF2X29mb3JtYXRfbmV4dCAoaW5fcGx1Z2luKTsKKysgIH0KKysKKysgIEdTVF9MT0cgKCJGaW5pc2hlZCByZWdpc3RlcmluZyBtdXhlcnMiKTsKKysKKysgIHJldHVybiBUUlVFOworK30KK2RpZmYgLXVOciBnc3QtZmZtcGVnLTAuMTAuMTMub3JpZy9leHQvZmZtcGVnL2dzdGZmbXBlZ3Byb3RvY29sLmMgZ3N0LWZmbXBlZy0wLjEwLjEzL2V4dC9mZm1wZWcvZ3N0ZmZtcGVncHJvdG9jb2wuYworLS0tIGdzdC1mZm1wZWctMC4xMC4xMy5vcmlnL2V4dC9mZm1wZWcvZ3N0ZmZtcGVncHJvdG9jb2wuYwkyMDExLTA3LTEyIDE2OjM1OjI4LjAwMDAwMDAwMCArMDIwMAorKysrIGdzdC1mZm1wZWctMC4xMC4xMy9leHQvZmZtcGVnL2dzdGZmbXBlZ3Byb3RvY29sLmMJMjAxNC0wOC0wOCAxNToyNjowNy44NzU4NTc1NTUgKzAyMDAKK0BAIC00Niw2MyArNDYsMTQgQEAKKyB9OworIAorIHN0YXRpYyBpbnQKKy1nc3RfZmZtcGVnZGF0YV9vcGVuIChVUkxDb250ZXh0ICogaCwgY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCBmbGFncykKKy17CistICBHc3RQcm90b2NvbEluZm8gKmluZm87CistICBHc3RQYWQgKnBhZDsKKy0KKy0gIEdTVF9MT0cgKCJPcGVuaW5nICVzIiwgZmlsZW5hbWUpOworLQorLSAgaW5mbyA9IGdfbmV3MCAoR3N0UHJvdG9jb2xJbmZvLCAxKTsKKy0KKy0gIGluZm8tPnNldF9zdHJlYW1oZWFkZXIgPSBmbGFncyAmIEdTVF9GRk1QRUdfVVJMX1NUUkVBTUhFQURFUjsKKy0gIGZsYWdzICY9IH5HU1RfRkZNUEVHX1VSTF9TVFJFQU1IRUFERVI7CistICBoLT5mbGFncyAmPSB+R1NUX0ZGTVBFR19VUkxfU1RSRUFNSEVBREVSOworLQorLSAgLyogd2UgZG9uJ3Qgc3VwcG9ydCBSL1cgdG9nZXRoZXIgKi8KKy0gIGlmIChmbGFncyAhPSBVUkxfUkRPTkxZICYmIGZsYWdzICE9IFVSTF9XUk9OTFkpIHsKKy0gICAgR1NUX1dBUk5JTkcgKCJPbmx5IHJlYWQtb25seSBvciB3cml0ZS1vbmx5IGFyZSBzdXBwb3J0ZWQiKTsKKy0gICAgcmV0dXJuIC1FSU5WQUw7CistICB9CistCistICBpZiAoc3NjYW5mICgmZmlsZW5hbWVbMTJdLCAiJXAiLCAmcGFkKSAhPSAxKSB7CistICAgIEdTVF9XQVJOSU5HICgiY291bGQgbm90IGRlY29kZSBwYWQgZnJvbSAlcyIsIGZpbGVuYW1lKTsKKy0gICAgcmV0dXJuIC1FSU87CistICB9CistCistICAvKiBtYWtlIHN1cmUgd2UncmUgYSBwYWQgYW5kIHRoYXQgd2UncmUgb2YgdGhlIHJpZ2h0IHR5cGUgKi8KKy0gIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChHU1RfSVNfUEFEIChwYWQpLCAtRUlOVkFMKTsKKy0KKy0gIHN3aXRjaCAoZmxhZ3MpIHsKKy0gICAgY2FzZSBVUkxfUkRPTkxZOgorLSAgICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChHU1RfUEFEX0lTX1NJTksgKHBhZCksIC1FSU5WQUwpOworLSAgICAgIGJyZWFrOworLSAgICBjYXNlIFVSTF9XUk9OTFk6CistICAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKEdTVF9QQURfSVNfU1JDIChwYWQpLCAtRUlOVkFMKTsKKy0gICAgICBicmVhazsKKy0gIH0KKy0KKy0gIGluZm8tPmVvcyA9IEZBTFNFOworLSAgaW5mby0+cGFkID0gcGFkOworLSAgaW5mby0+b2Zmc2V0ID0gMDsKKy0KKy0gIGgtPnByaXZfZGF0YSA9ICh2b2lkICopIGluZm87CistICBoLT5pc19zdHJlYW1lZCA9IEZBTFNFOworLSAgaC0+bWF4X3BhY2tldF9zaXplID0gMDsKKy0KKy0gIHJldHVybiAwOworLX0KKy0KKy1zdGF0aWMgaW50CistZ3N0X2ZmbXBlZ2RhdGFfcGVlayAoVVJMQ29udGV4dCAqIGgsIHVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50IHNpemUpCisrZ3N0X2ZmbXBlZ2RhdGFfcGVlayAodm9pZCAqcHJpdl9kYXRhLCB1bnNpZ25lZCBjaGFyICpidWYsIGludCBzaXplKQorIHsKKyAgIEdzdFByb3RvY29sSW5mbyAqaW5mbzsKKyAgIEdzdEJ1ZmZlciAqaW5idWYgPSBOVUxMOworICAgR3N0Rmxvd1JldHVybiByZXQ7CisgICBpbnQgdG90YWwgPSAwOworIAorLSAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKGgtPmZsYWdzID09IFVSTF9SRE9OTFksIEFWRVJST1IgKEVJTykpOworLSAgaW5mbyA9IChHc3RQcm90b2NvbEluZm8gKikgaC0+cHJpdl9kYXRhOworKyAgaW5mbyA9IChHc3RQcm90b2NvbEluZm8gKikgcHJpdl9kYXRhOworIAorICAgR1NUX0RFQlVHICgiUHVsbGluZyAlZCBieXRlcyBhdCBwb3NpdGlvbiAlIiBHX0dVSU5UNjRfRk9STUFULCBzaXplLAorICAgICAgIGluZm8tPm9mZnNldCk7CitAQCAtMTM0LDE3ICs4NSwxNyBAQAorIH0KKyAKKyBzdGF0aWMgaW50CistZ3N0X2ZmbXBlZ2RhdGFfcmVhZCAoVVJMQ29udGV4dCAqIGgsIHVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50IHNpemUpCisrZ3N0X2ZmbXBlZ2RhdGFfcmVhZCAodm9pZCAqcHJpdl9kYXRhLCB1bnNpZ25lZCBjaGFyICpidWYsIGludCBzaXplKQorIHsKKyAgIGdpbnQgcmVzOworICAgR3N0UHJvdG9jb2xJbmZvICppbmZvOworIAorLSAgaW5mbyA9IChHc3RQcm90b2NvbEluZm8gKikgaC0+cHJpdl9kYXRhOworKyAgaW5mbyA9IChHc3RQcm90b2NvbEluZm8gKikgcHJpdl9kYXRhOworIAorICAgR1NUX0RFQlVHICgiUmVhZGluZyAlZCBieXRlcyBvZiBkYXRhIGF0IHBvc2l0aW9uICUiIEdfR1VJTlQ2NF9GT1JNQVQsIHNpemUsCisgICAgICAgaW5mby0+b2Zmc2V0KTsKKyAKKy0gIHJlcyA9IGdzdF9mZm1wZWdkYXRhX3BlZWsgKGgsIGJ1Ziwgc2l6ZSk7CisrICByZXMgPSBnc3RfZmZtcGVnZGF0YV9wZWVrIChwcml2X2RhdGEsIGJ1Ziwgc2l6ZSk7CisgICBpZiAocmVzID49IDApCisgICAgIGluZm8tPm9mZnNldCArPSByZXM7CisgCitAQCAtMTU0LDE1ICsxMDUsMTMgQEAKKyB9CisgCisgc3RhdGljIGludAorLWdzdF9mZm1wZWdkYXRhX3dyaXRlIChVUkxDb250ZXh0ICogaCwgY29uc3QgdW5zaWduZWQgY2hhciAqYnVmLCBpbnQgc2l6ZSkKKytnc3RfZmZtcGVnZGF0YV93cml0ZSAodm9pZCAqcHJpdl9kYXRhLCBjb25zdCB1bnNpZ25lZCBjaGFyICpidWYsIGludCBzaXplKQorIHsKKyAgIEdzdFByb3RvY29sSW5mbyAqaW5mbzsKKyAgIEdzdEJ1ZmZlciAqb3V0YnVmOworIAorICAgR1NUX0RFQlVHICgiV3JpdGluZyAlZCBieXRlcyIsIHNpemUpOworLSAgaW5mbyA9IChHc3RQcm90b2NvbEluZm8gKikgaC0+cHJpdl9kYXRhOworLQorLSAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKGgtPmZsYWdzICE9IFVSTF9SRE9OTFksIC1FSU8pOworKyAgaW5mbyA9IChHc3RQcm90b2NvbEluZm8gKikgcHJpdl9kYXRhOworIAorICAgLyogY3JlYXRlIGJ1ZmZlciBhbmQgcHVzaCBkYXRhIGZ1cnRoZXIgKi8KKyAgIGlmIChnc3RfcGFkX2FsbG9jX2J1ZmZlcl9hbmRfc2V0X2NhcHMgKGluZm8tPnBhZCwKK0BAIC0xNzksNyArMTI4LDcgQEAKKyB9CisgCisgc3RhdGljIGludDY0X3QKKy1nc3RfZmZtcGVnZGF0YV9zZWVrIChVUkxDb250ZXh0ICogaCwgaW50NjRfdCBwb3MsIGludCB3aGVuY2UpCisrZ3N0X2ZmbXBlZ2RhdGFfc2VlayAodm9pZCAqcHJpdl9kYXRhLCBpbnQ2NF90IHBvcywgaW50IHdoZW5jZSkKKyB7CisgICBHc3RQcm90b2NvbEluZm8gKmluZm87CisgICBndWludDY0IG5ld3BvcyA9IDA7CitAQCAtMTg3LDcwICsxMzYsNjIgQEAKKyAgIEdTVF9ERUJVRyAoIlNlZWtpbmcgdG8gJSIgR19HSU5UNjRfRk9STUFUICIsIHdoZW5jZT0lZCIsCisgICAgICAgKGdpbnQ2NCkgcG9zLCB3aGVuY2UpOworIAorLSAgaW5mbyA9IChHc3RQcm90b2NvbEluZm8gKikgaC0+cHJpdl9kYXRhOworKyAgaW5mbyA9IChHc3RQcm90b2NvbEluZm8gKikgcHJpdl9kYXRhOworIAorICAgLyogVE9ETyA6IGlmIHdlIGFyZSBwdXNoLWJhc2VkLCB3ZSBuZWVkIHRvIHJldHVybiBzZW5zaWJsZSBpbmZvICovCisgCistICBzd2l0Y2ggKGgtPmZsYWdzKSB7CistICAgIGNhc2UgVVJMX1JET05MWToKKy0gICAgeworLSAgICAgIC8qIHNpbmtwYWQgKi8KKy0gICAgICBzd2l0Y2ggKHdoZW5jZSkgeworLSAgICAgICAgY2FzZSBTRUVLX1NFVDoKKy0gICAgICAgICAgbmV3cG9zID0gKGd1aW50NjQpIHBvczsKKy0gICAgICAgICAgYnJlYWs7CistICAgICAgICBjYXNlIFNFRUtfQ1VSOgorLSAgICAgICAgICBuZXdwb3MgPSBpbmZvLT5vZmZzZXQgKyBwb3M7CistICAgICAgICAgIGJyZWFrOworLSAgICAgICAgY2FzZSBTRUVLX0VORDoKKy0gICAgICAgIGNhc2UgQVZTRUVLX1NJWkU6CistICAgICAgICAgIC8qIGZmbXBlZyB3YW50cyB0byBrbm93IHRoZSBjdXJyZW50IGVuZCBwb3NpdGlvbiBpbiBieXRlcyAhICovCistICAgICAgICB7CistICAgICAgICAgIEdzdEZvcm1hdCBmb3JtYXQgPSBHU1RfRk9STUFUX0JZVEVTOworLSAgICAgICAgICBnaW50NjQgZHVyYXRpb247CistCistICAgICAgICAgIEdTVF9ERUJVRyAoIlNlZWsgZW5kIik7CistCistICAgICAgICAgIGlmIChnc3RfcGFkX2lzX2xpbmtlZCAoaW5mby0+cGFkKSkKKy0gICAgICAgICAgICBpZiAoZ3N0X3BhZF9xdWVyeV9kdXJhdGlvbiAoR1NUX1BBRF9QRUVSIChpbmZvLT5wYWQpLCAmZm9ybWF0LAorLSAgICAgICAgICAgICAgICAgICAgJmR1cmF0aW9uKSkKKy0gICAgICAgICAgICAgIG5ld3BvcyA9ICgoZ3VpbnQ2NCkgZHVyYXRpb24pICsgcG9zOworLSAgICAgICAgfQorLSAgICAgICAgICBicmVhazsKKy0gICAgICAgIGRlZmF1bHQ6CistICAgICAgICAgIGdfYXNzZXJ0ICgwKTsKKy0gICAgICAgICAgYnJlYWs7CisrICBpZiAoR1NUX1BBRF9JU19TSU5LIChpbmZvLT5wYWQpKSB7CisrICAgIC8qIHNpbmtwYWQgKi8KKysgICAgc3dpdGNoICh3aGVuY2UpIHsKKysgICAgICBjYXNlIFNFRUtfU0VUOgorKyAgICAgICAgbmV3cG9zID0gKGd1aW50NjQpIHBvczsKKysgICAgICAgIGJyZWFrOworKyAgICAgIGNhc2UgU0VFS19DVVI6CisrICAgICAgICBuZXdwb3MgPSBpbmZvLT5vZmZzZXQgKyBwb3M7CisrICAgICAgICBicmVhazsKKysgICAgICBjYXNlIFNFRUtfRU5EOgorKyAgICAgIGNhc2UgQVZTRUVLX1NJWkU6CisrICAgICAgICAvKiBmZm1wZWcgd2FudHMgdG8ga25vdyB0aGUgY3VycmVudCBlbmQgcG9zaXRpb24gaW4gYnl0ZXMgISAqLworKyAgICAgIHsKKysgICAgICAgIEdzdEZvcm1hdCBmb3JtYXQgPSBHU1RfRk9STUFUX0JZVEVTOworKyAgICAgICAgZ2ludDY0IGR1cmF0aW9uOworKworKyAgICAgICAgR1NUX0RFQlVHICgiU2VlayBlbmQiKTsKKysKKysgICAgICAgIGlmIChnc3RfcGFkX2lzX2xpbmtlZCAoaW5mby0+cGFkKSkKKysgICAgICAgICAgaWYgKGdzdF9wYWRfcXVlcnlfZHVyYXRpb24gKEdTVF9QQURfUEVFUiAoaW5mby0+cGFkKSwgJmZvcm1hdCwKKysgICAgICAgICAgICAgICAgICAmZHVyYXRpb24pKQorKyAgICAgICAgICAgIG5ld3BvcyA9ICgoZ3VpbnQ2NCkgZHVyYXRpb24pICsgcG9zOworICAgICAgIH0KKy0gICAgICAvKiBGSVhNRSA6IGltcGxlbWVudCBjYXNlIGZvciBwdXNoLWJhc2VkIGJlaGF2aW91ciAqLworLSAgICAgIGlmICh3aGVuY2UgIT0gQVZTRUVLX1NJWkUpCistICAgICAgICBpbmZvLT5vZmZzZXQgPSBuZXdwb3M7CisrICAgICAgICBicmVhazsKKysgICAgICBkZWZhdWx0OgorKyAgICAgICAgZ19hc3NlcnQgKDApOworKyAgICAgICAgYnJlYWs7CisgICAgIH0KKy0gICAgICBicmVhazsKKy0gICAgY2FzZSBVUkxfV1JPTkxZOgorLSAgICB7CistICAgICAgLyogc3JjcGFkICovCistICAgICAgc3dpdGNoICh3aGVuY2UpIHsKKy0gICAgICAgIGNhc2UgU0VFS19TRVQ6CistICAgICAgICAgIGluZm8tPm9mZnNldCA9IChndWludDY0KSBwb3M7CistICAgICAgICAgIGdzdF9wYWRfcHVzaF9ldmVudCAoaW5mby0+cGFkLCBnc3RfZXZlbnRfbmV3X25ld19zZWdtZW50CistICAgICAgICAgICAgICAoVFJVRSwgMS4wLCBHU1RfRk9STUFUX0JZVEVTLCBpbmZvLT5vZmZzZXQsCistICAgICAgICAgICAgICAgICAgR1NUX0NMT0NLX1RJTUVfTk9ORSwgaW5mby0+b2Zmc2V0KSk7CistICAgICAgICAgIGJyZWFrOworLSAgICAgICAgY2FzZSBTRUVLX0NVUjoKKy0gICAgICAgICAgaW5mby0+b2Zmc2V0ICs9IHBvczsKKy0gICAgICAgICAgZ3N0X3BhZF9wdXNoX2V2ZW50IChpbmZvLT5wYWQsIGdzdF9ldmVudF9uZXdfbmV3X3NlZ21lbnQKKy0gICAgICAgICAgICAgIChUUlVFLCAxLjAsIEdTVF9GT1JNQVRfQllURVMsIGluZm8tPm9mZnNldCwKKy0gICAgICAgICAgICAgICAgICBHU1RfQ0xPQ0tfVElNRV9OT05FLCBpbmZvLT5vZmZzZXQpKTsKKy0gICAgICAgICAgYnJlYWs7CistICAgICAgICBkZWZhdWx0OgorLSAgICAgICAgICBicmVhazsKKy0gICAgICB9CistICAgICAgbmV3cG9zID0gaW5mby0+b2Zmc2V0OworKyAgICAvKiBGSVhNRSA6IGltcGxlbWVudCBjYXNlIGZvciBwdXNoLWJhc2VkIGJlaGF2aW91ciAqLworKyAgICBpZiAod2hlbmNlICE9IEFWU0VFS19TSVpFKQorKyAgICAgIGluZm8tPm9mZnNldCA9IG5ld3BvczsKKysgIH0gZWxzZSBpZiAoR1NUX1BBRF9JU19TUkMgKGluZm8tPnBhZCkpIHsKKysgICAgLyogc3JjcGFkICovCisrICAgIHN3aXRjaCAod2hlbmNlKSB7CisrICAgICAgY2FzZSBTRUVLX1NFVDoKKysgICAgICAgIGluZm8tPm9mZnNldCA9IChndWludDY0KSBwb3M7CisrICAgICAgICBnc3RfcGFkX3B1c2hfZXZlbnQgKGluZm8tPnBhZCwgZ3N0X2V2ZW50X25ld19uZXdfc2VnbWVudAorKyAgICAgICAgICAgIChUUlVFLCAxLjAsIEdTVF9GT1JNQVRfQllURVMsIGluZm8tPm9mZnNldCwKKysgICAgICAgICAgICAgICAgR1NUX0NMT0NLX1RJTUVfTk9ORSwgaW5mby0+b2Zmc2V0KSk7CisrICAgICAgICBicmVhazsKKysgICAgICBjYXNlIFNFRUtfQ1VSOgorKyAgICAgICAgaW5mby0+b2Zmc2V0ICs9IHBvczsKKysgICAgICAgIGdzdF9wYWRfcHVzaF9ldmVudCAoaW5mby0+cGFkLCBnc3RfZXZlbnRfbmV3X25ld19zZWdtZW50CisrICAgICAgICAgICAgKFRSVUUsIDEuMCwgR1NUX0ZPUk1BVF9CWVRFUywgaW5mby0+b2Zmc2V0LAorKyAgICAgICAgICAgICAgICBHU1RfQ0xPQ0tfVElNRV9OT05FLCBpbmZvLT5vZmZzZXQpKTsKKysgICAgICAgIGJyZWFrOworKyAgICAgIGRlZmF1bHQ6CisrICAgICAgICBicmVhazsKKyAgICAgfQorLSAgICAgIGJyZWFrOworLSAgICBkZWZhdWx0OgorLSAgICAgIGdfYXNzZXJ0ICgwKTsKKy0gICAgICBicmVhazsKKysgICAgbmV3cG9zID0gaW5mby0+b2Zmc2V0OworKyAgfSBlbHNlIHsKKysgICAgZ19hc3NlcnRfbm90X3JlYWNoZWQgKCk7CisgICB9CisgCisgICBHU1RfREVCVUcgKCJOb3cgYXQgb2Zmc2V0ICUiIEdfR1VJTlQ2NF9GT1JNQVQgIiAocmV0dXJuaW5nICUiIEdfR1VJTlQ2NF9GT1JNQVQKK0BAIC0yNTgsODUgKzE5OSw5MSBAQAorICAgcmV0dXJuIG5ld3BvczsKKyB9CisgCistc3RhdGljIGludAorLWdzdF9mZm1wZWdkYXRhX2Nsb3NlIChVUkxDb250ZXh0ICogaCkKKytpbnQKKytnc3RfZmZtcGVnZGF0YV9jbG9zZSAoQVZJT0NvbnRleHQgKiBoKQorIHsKKyAgIEdzdFByb3RvY29sSW5mbyAqaW5mbzsKKyAKKy0gIGluZm8gPSAoR3N0UHJvdG9jb2xJbmZvICopIGgtPnByaXZfZGF0YTsKKysgIGluZm8gPSAoR3N0UHJvdG9jb2xJbmZvICopIGgtPm9wYXF1ZTsKKyAgIGlmIChpbmZvID09IE5VTEwpCisgICAgIHJldHVybiAwOworIAorICAgR1NUX0xPRyAoIkNsb3NpbmcgZmlsZSIpOworIAorLSAgc3dpdGNoIChoLT5mbGFncykgeworLSAgICBjYXNlIFVSTF9XUk9OTFk6CistICAgIHsKKy0gICAgICAvKiBzZW5kIEVPUyAtIHRoYXQgY2xvc2VzIGRvd24gdGhlIHN0cmVhbSAqLworLSAgICAgIGdzdF9wYWRfcHVzaF9ldmVudCAoaW5mby0+cGFkLCBnc3RfZXZlbnRfbmV3X2VvcyAoKSk7CistICAgICAgYnJlYWs7CistICAgIH0KKy0gICAgZGVmYXVsdDoKKy0gICAgICBicmVhazsKKysgIGlmIChHU1RfUEFEX0lTX1NSQyAoaW5mby0+cGFkKSkgeworKyAgICAvKiBzZW5kIEVPUyAtIHRoYXQgY2xvc2VzIGRvd24gdGhlIHN0cmVhbSAqLworKyAgICBnc3RfcGFkX3B1c2hfZXZlbnQgKGluZm8tPnBhZCwgZ3N0X2V2ZW50X25ld19lb3MgKCkpOworICAgfQorIAorICAgLyogY2xlYW4gdXAgZGF0YSAqLworICAgZ19mcmVlIChpbmZvKTsKKy0gIGgtPnByaXZfZGF0YSA9IE5VTEw7CisrICBoLT5vcGFxdWUgPSBOVUxMOworKworKyAgYXZfZnJlZXAgKCZoLT5idWZmZXIpOworKyAgYXZfZnJlZSAoaCk7CisgCisgICByZXR1cm4gMDsKKyB9CisgCisraW50CisrZ3N0X2ZmbXBlZ2RhdGFfb3BlbiAoR3N0UGFkICogcGFkLCBpbnQgZmxhZ3MsIEFWSU9Db250ZXh0ICoqIGNvbnRleHQpCisreworKyAgR3N0UHJvdG9jb2xJbmZvICppbmZvOworKyAgc3RhdGljIGNvbnN0IGludCBidWZmZXJfc2l6ZSA9IDQwOTY7CisrICB1bnNpZ25lZCBjaGFyICpidWZmZXIgPSBOVUxMOworIAorLVVSTFByb3RvY29sIGdzdHJlYW1lcl9wcm90b2NvbCA9IHsKKy0gIC8qLm5hbWUgPSAqLyAiZ3N0cmVhbWVyIiwKKy0gIC8qLnVybF9vcGVuID0gKi8gZ3N0X2ZmbXBlZ2RhdGFfb3BlbiwKKy0gIC8qLnVybF9yZWFkID0gKi8gZ3N0X2ZmbXBlZ2RhdGFfcmVhZCwKKy0gIC8qLnVybF93cml0ZSA9ICovIGdzdF9mZm1wZWdkYXRhX3dyaXRlLAorLSAgLyoudXJsX3NlZWsgPSAqLyBnc3RfZmZtcGVnZGF0YV9zZWVrLAorLSAgLyoudXJsX2Nsb3NlID0gKi8gZ3N0X2ZmbXBlZ2RhdGFfY2xvc2UsCistfTsKKysgIGluZm8gPSBnX25ldzAgKEdzdFByb3RvY29sSW5mbywgMSk7CisgCisrICBpbmZvLT5zZXRfc3RyZWFtaGVhZGVyID0gZmxhZ3MgJiBHU1RfRkZNUEVHX1VSTF9TVFJFQU1IRUFERVI7CisrICBmbGFncyAmPSB+R1NUX0ZGTVBFR19VUkxfU1RSRUFNSEVBREVSOworIAorLS8qIHNwZWNpYWxpemVkIHByb3RvY29sIGZvciBjcm9zcy10aHJlYWQgcHVzaGluZywKKy0gKiBiYXNlZCBvbiBmZm1wZWcncyBwaXBlIHByb3RvY29sICovCisrICAvKiB3ZSBkb24ndCBzdXBwb3J0IFIvVyB0b2dldGhlciAqLworKyAgaWYgKChmbGFncyAmIEFWSU9fRkxBR19XUklURSkgJiYgKGZsYWdzICYgQVZJT19GTEFHX1JFQUQpKSB7CisrICAgIEdTVF9XQVJOSU5HICgiT25seSByZWFkLW9ubHkgb3Igd3JpdGUtb25seSBhcmUgc3VwcG9ydGVkIik7CisrICAgIHJldHVybiAtRUlOVkFMOworKyAgfQorIAorLXN0YXRpYyBpbnQKKy1nc3RfZmZtcGVnX3BpcGVfb3BlbiAoVVJMQ29udGV4dCAqIGgsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgZmxhZ3MpCisteworLSAgR3N0RkZNcGVnUGlwZSAqZmZwaXBlOworKyAgLyogbWFrZSBzdXJlIHdlJ3JlIGEgcGFkIGFuZCB0aGF0IHdlJ3JlIG9mIHRoZSByaWdodCB0eXBlICovCisrICBnX3JldHVybl92YWxfaWZfZmFpbCAoR1NUX0lTX1BBRCAocGFkKSwgLUVJTlZBTCk7CisgCistICBHU1RfTE9HICgiT3BlbmluZyAlcyIsIGZpbGVuYW1lKTsKKysgIGlmICgoZmxhZ3MgJiBBVklPX0ZMQUdfUkVBRCkpCisrICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChHU1RfUEFEX0lTX1NJTksgKHBhZCksIC1FSU5WQUwpOworKyAgaWYgKChmbGFncyAmIEFWSU9fRkxBR19XUklURSkpCisrICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChHU1RfUEFEX0lTX1NSQyAocGFkKSwgLUVJTlZBTCk7CisgCistICAvKiB3ZSBkb24ndCBzdXBwb3J0IFcgdG9nZXRoZXIgKi8KKy0gIGlmIChmbGFncyAhPSBVUkxfUkRPTkxZKSB7CistICAgIEdTVF9XQVJOSU5HICgiT25seSByZWFkLW9ubHkgaXMgc3VwcG9ydGVkIik7CistICAgIHJldHVybiAtRUlOVkFMOworLSAgfQorKyAgaW5mby0+ZW9zID0gRkFMU0U7CisrICBpbmZvLT5wYWQgPSBwYWQ7CisrICBpbmZvLT5vZmZzZXQgPSAwOworIAorLSAgaWYgKHNzY2FuZiAoJmZpbGVuYW1lWzEwXSwgIiVwIiwgJmZmcGlwZSkgIT0gMSkgeworLSAgICBHU1RfV0FSTklORyAoImNvdWxkIG5vdCBkZWNvZGUgcGlwZSBpbmZvIGZyb20gJXMiLCBmaWxlbmFtZSk7CistICAgIHJldHVybiAtRUlPOworKyAgYnVmZmVyID0gYXZfbWFsbG9jIChidWZmZXJfc2l6ZSk7CisrICBpZiAoYnVmZmVyID09IE5VTEwpIHsKKysgICAgR1NUX1dBUk5JTkcgKCJGYWlsZWQgdG8gYWxsb2NhdGUgYnVmZmVyIik7CisrICAgIHJldHVybiAtRU5PTUVNOworICAgfQorIAorLSAgLyogc2FuaXR5IGNoZWNrICovCistICBnX3JldHVybl92YWxfaWZfZmFpbCAoR1NUX0lTX0FEQVBURVIgKGZmcGlwZS0+YWRhcHRlciksIC1FSU5WQUwpOworLQorLSAgaC0+cHJpdl9kYXRhID0gKHZvaWQgKikgZmZwaXBlOworLSAgaC0+aXNfc3RyZWFtZWQgPSBUUlVFOworLSAgaC0+bWF4X3BhY2tldF9zaXplID0gMDsKKysgICpjb250ZXh0ID0KKysgICAgICBhdmlvX2FsbG9jX2NvbnRleHQgKGJ1ZmZlciwgYnVmZmVyX3NpemUsIGZsYWdzLCAodm9pZCAqKSBpbmZvLAorKyAgICAgIGdzdF9mZm1wZWdkYXRhX3JlYWQsIGdzdF9mZm1wZWdkYXRhX3dyaXRlLCBnc3RfZmZtcGVnZGF0YV9zZWVrKTsKKysgICgqY29udGV4dCktPnNlZWthYmxlID0gQVZJT19TRUVLQUJMRV9OT1JNQUw7CisrICBpZiAoIShmbGFncyAmIEFWSU9fRkxBR19XUklURSkpIHsKKysgICAgKCpjb250ZXh0KS0+YnVmX3B0ciA9ICgqY29udGV4dCktPmJ1Zl9lbmQ7CisrICAgICgqY29udGV4dCktPndyaXRlX2ZsYWcgPSAwOworKyAgfQorIAorICAgcmV0dXJuIDA7CisgfQorIAorKy8qIHNwZWNpYWxpemVkIHByb3RvY29sIGZvciBjcm9zcy10aHJlYWQgcHVzaGluZywKKysgKiBiYXNlZCBvbiBmZm1wZWcncyBwaXBlIHByb3RvY29sICovCisrCisgc3RhdGljIGludAorLWdzdF9mZm1wZWdfcGlwZV9yZWFkIChVUkxDb250ZXh0ICogaCwgdW5zaWduZWQgY2hhciAqYnVmLCBpbnQgc2l6ZSkKKytnc3RfZmZtcGVnX3BpcGVfcmVhZCAodm9pZCAqcHJpdl9kYXRhLCB1bnNpZ25lZCBjaGFyICpidWYsIGludCBzaXplKQorIHsKKyAgIEdzdEZGTXBlZ1BpcGUgKmZmcGlwZTsKKyAgIGNvbnN0IGd1aW50OCAqZGF0YTsKKyAgIGd1aW50IGF2YWlsYWJsZTsKKyAKKy0gIGZmcGlwZSA9IChHc3RGRk1wZWdQaXBlICopIGgtPnByaXZfZGF0YTsKKysgIGZmcGlwZSA9IChHc3RGRk1wZWdQaXBlICopIHByaXZfZGF0YTsKKyAKKyAgIEdTVF9MT0cgKCJyZXF1ZXN0ZWQgc2l6ZSAlZCIsIHNpemUpOworIAorQEAgLTM2NywyMSArMzE0LDM4IEBACisgICByZXR1cm4gc2l6ZTsKKyB9CisgCistc3RhdGljIGludAorLWdzdF9mZm1wZWdfcGlwZV9jbG9zZSAoVVJMQ29udGV4dCAqIGgpCisraW50CisrZ3N0X2ZmbXBlZ19waXBlX2Nsb3NlIChBVklPQ29udGV4dCAqIGgpCisgeworICAgR1NUX0xPRyAoIkNsb3NpbmcgcGlwZSIpOworIAorLSAgaC0+cHJpdl9kYXRhID0gTlVMTDsKKysgIGgtPm9wYXF1ZSA9IE5VTEw7CisrICBhdl9mcmVlcCAoJmgtPmJ1ZmZlcik7CisrICBhdl9mcmVlIChoKTsKKyAKKyAgIHJldHVybiAwOworIH0KKyAKKy1VUkxQcm90b2NvbCBnc3RwaXBlX3Byb3RvY29sID0geworLSAgImdzdHBpcGUiLAorLSAgZ3N0X2ZmbXBlZ19waXBlX29wZW4sCistICBnc3RfZmZtcGVnX3BpcGVfcmVhZCwKKy0gIE5VTEwsCistICBOVUxMLAorLSAgZ3N0X2ZmbXBlZ19waXBlX2Nsb3NlLAorLX07CisraW50CisrZ3N0X2ZmbXBlZ19waXBlX29wZW4gKEdzdEZGTXBlZ1BpcGUgKiBmZnBpcGUsIGludCBmbGFncywgQVZJT0NvbnRleHQgKiogY29udGV4dCkKKyt7CisrICBzdGF0aWMgY29uc3QgaW50IGJ1ZmZlcl9zaXplID0gNDA5NjsKKysgIHVuc2lnbmVkIGNoYXIgKmJ1ZmZlciA9IE5VTEw7CisrCisrICAvKiBzYW5pdHkgY2hlY2sgKi8KKysgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChHU1RfSVNfQURBUFRFUiAoZmZwaXBlLT5hZGFwdGVyKSwgLUVJTlZBTCk7CisrCisrICBidWZmZXIgPSBhdl9tYWxsb2MgKGJ1ZmZlcl9zaXplKTsKKysgIGlmIChidWZmZXIgPT0gTlVMTCkgeworKyAgICBHU1RfV0FSTklORyAoIkZhaWxlZCB0byBhbGxvY2F0ZSBidWZmZXIiKTsKKysgICAgcmV0dXJuIC1FTk9NRU07CisrICB9CisrCisrICAqY29udGV4dCA9CisrICAgICAgYXZpb19hbGxvY19jb250ZXh0IChidWZmZXIsIGJ1ZmZlcl9zaXplLCAwLCAodm9pZCAqKSBmZnBpcGUsCisrICAgICAgZ3N0X2ZmbXBlZ19waXBlX3JlYWQsIE5VTEwsIE5VTEwpOworKyAgKCpjb250ZXh0KS0+c2Vla2FibGUgPSAwOworKyAgKCpjb250ZXh0KS0+YnVmX3B0ciA9ICgqY29udGV4dCktPmJ1Zl9lbmQ7CisrCisrICByZXR1cm4gMDsKKyt9CitkaWZmIC11TnIgZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWd1dGlscy5jIGdzdC1mZm1wZWctMC4xMC4xMy9leHQvZmZtcGVnL2dzdGZmbXBlZ3V0aWxzLmMKKy0tLSBnc3QtZmZtcGVnLTAuMTAuMTMub3JpZy9leHQvZmZtcGVnL2dzdGZmbXBlZ3V0aWxzLmMJMjAxMS0wNy0xMyAxMTowNzoyOC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnc3QtZmZtcGVnLTAuMTAuMTMvZXh0L2ZmbXBlZy9nc3RmZm1wZWd1dGlscy5jCTIwMTQtMDgtMDggMTU6MzQ6MDQuMDA3ODc0NjI2ICswMjAwCitAQCAtMjUsNiArMjUsMTEgQEAKKyAjaWZkZWYgX19BUFBMRV9fCisgI2luY2x1ZGUgPHN5cy9zeXNjdGwuaD4KKyAjZW5kaWYKKysjaWZkZWYgSEFWRV9GRk1QRUdfVU5JTlNUQUxMRUQKKysjaW5jbHVkZSA8YXZmb3JtYXQuaD4KKysjZWxzZQorKyNpbmNsdWRlIDxsaWJhdmZvcm1hdC9hdmZvcm1hdC5oPgorKyNlbmRpZgorIAorIEdfQ09OU1RfUkVUVVJOIGdjaGFyICoKKyBnc3RfZmZtcGVnX2dldF9jb2RlY2lkX2xvbmduYW1lIChlbnVtIENvZGVjSUQgY29kZWNfaWQpCitAQCAtMzksMjEgKzQ0LDIxIEBACisgfQorIAorIGdpbnQKKy1hdl9zbXBfZm9ybWF0X2RlcHRoIChlbnVtIFNhbXBsZUZvcm1hdCBzbXBfZm10KQorK2F2X3NtcF9mb3JtYXRfZGVwdGggKGVudW0gQVZTYW1wbGVGb3JtYXQgc21wX2ZtdCkKKyB7CisgICBnaW50IGRlcHRoID0gLTE7CisgICBzd2l0Y2ggKHNtcF9mbXQpIHsKKy0gICAgY2FzZSBTQU1QTEVfRk1UX1U4OgorKyAgICBjYXNlIEFWX1NBTVBMRV9GTVRfVTg6CisgICAgICAgZGVwdGggPSAxOworICAgICAgIGJyZWFrOworLSAgICBjYXNlIFNBTVBMRV9GTVRfUzE2OgorKyAgICBjYXNlIEFWX1NBTVBMRV9GTVRfUzE2OgorICAgICAgIGRlcHRoID0gMjsKKyAgICAgICBicmVhazsKKy0gICAgY2FzZSBTQU1QTEVfRk1UX1MzMjoKKy0gICAgY2FzZSBTQU1QTEVfRk1UX0ZMVDoKKysgICAgY2FzZSBBVl9TQU1QTEVfRk1UX1MzMjoKKysgICAgY2FzZSBBVl9TQU1QTEVfRk1UX0ZMVDoKKyAgICAgICBkZXB0aCA9IDQ7CisgICAgICAgYnJlYWs7CistICAgIGNhc2UgU0FNUExFX0ZNVF9EQkw6CisrICAgIGNhc2UgQVZfU0FNUExFX0ZNVF9EQkw6CisgICAgICAgZGVwdGggPSA4OworICAgICAgIGJyZWFrOworICAgICBkZWZhdWx0OgorZGlmZiAtdU5yIGdzdC1mZm1wZWctMC4xMC4xMy5vcmlnL2V4dC9mZm1wZWcvZ3N0ZmZtcGVndXRpbHMuYy5vcmlnIGdzdC1mZm1wZWctMC4xMC4xMy9leHQvZmZtcGVnL2dzdGZmbXBlZ3V0aWxzLmMub3JpZworLS0tIGdzdC1mZm1wZWctMC4xMC4xMy5vcmlnL2V4dC9mZm1wZWcvZ3N0ZmZtcGVndXRpbHMuYy5vcmlnCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgZ3N0LWZmbXBlZy0wLjEwLjEzL2V4dC9mZm1wZWcvZ3N0ZmZtcGVndXRpbHMuYy5vcmlnCTIwMTEtMDctMTMgMTE6MDc6MjguMDAwMDAwMDAwICswMjAwCitAQCAtMCwwICsxLDQ4MyBAQAorKy8qIEdTdHJlYW1lcgorKyAqIENvcHlyaWdodCAoYykgMjAwOSBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgorKyAqCisrICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisrICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisrICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyAqCisrICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyAqCisrICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKysgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZQorKyAqIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorKyAqLworKworKyNpZmRlZiBIQVZFX0NPTkZJR19ICisrI2luY2x1ZGUgImNvbmZpZy5oIgorKyNlbmRpZgorKyNpbmNsdWRlICJnc3RmZm1wZWd1dGlscy5oIgorKyNpbmNsdWRlIDx1bmlzdGQuaD4KKysjaWZkZWYgX19BUFBMRV9fCisrI2luY2x1ZGUgPHN5cy9zeXNjdGwuaD4KKysjZW5kaWYKKysKKytHX0NPTlNUX1JFVFVSTiBnY2hhciAqCisrZ3N0X2ZmbXBlZ19nZXRfY29kZWNpZF9sb25nbmFtZSAoZW51bSBDb2RlY0lEIGNvZGVjX2lkKQorK3sKKysgIEFWQ29kZWMgKmNvZGVjOworKyAgLyogTGV0J3MgdXNlIHdoYXQgZmZtcGVnIGNhbiBwcm92aWRlIHVzICovCisrCisrICBpZiAoKGNvZGVjID0gYXZjb2RlY19maW5kX2RlY29kZXIgKGNvZGVjX2lkKSkgfHwKKysgICAgICAoY29kZWMgPSBhdmNvZGVjX2ZpbmRfZW5jb2RlciAoY29kZWNfaWQpKSkKKysgICAgcmV0dXJuIGNvZGVjLT5sb25nX25hbWU7CisrICByZXR1cm4gTlVMTDsKKyt9CisrCisrZ2ludAorK2F2X3NtcF9mb3JtYXRfZGVwdGggKGVudW0gU2FtcGxlRm9ybWF0IHNtcF9mbXQpCisreworKyAgZ2ludCBkZXB0aCA9IC0xOworKyAgc3dpdGNoIChzbXBfZm10KSB7CisrICAgIGNhc2UgU0FNUExFX0ZNVF9VODoKKysgICAgICBkZXB0aCA9IDE7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgU0FNUExFX0ZNVF9TMTY6CisrICAgICAgZGVwdGggPSAyOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIFNBTVBMRV9GTVRfUzMyOgorKyAgICBjYXNlIFNBTVBMRV9GTVRfRkxUOgorKyAgICAgIGRlcHRoID0gNDsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBTQU1QTEVfRk1UX0RCTDoKKysgICAgICBkZXB0aCA9IDg7CisrICAgICAgYnJlYWs7CisrICAgIGRlZmF1bHQ6CisrICAgICAgR1NUX0VSUk9SICgiVU5IQU5ETEVEIFNBTVBMRSBGT1JNQVQgISIpOworKyAgICAgIGJyZWFrOworKyAgfQorKyAgcmV0dXJuIGRlcHRoOworK30KKysKKysKKysvKgorKyAqIEZpbGwgaW4gcG9pbnRlcnMgdG8gbWVtb3J5IGluIGEgQVZQaWN0dXJlLCB3aGVyZQorKyAqIGV2ZXJ5dGhpbmcgaXMgYWxpZ25lZCBieSA0IChhcyByZXF1aXJlZCBieSBYKS4KKysgKiBUaGlzIGlzIG1vc3RseSBhIGNvcHkgZnJvbSBpbWdjb252ZXJ0LmMgd2l0aCBzb21lCisrICogc21hbGwgY2hhbmdlcy4KKysgKi8KKysKKysjZGVmaW5lIEZGX0NPTE9SX1JHQiAgICAgIDAgICAgIC8qIFJHQiBjb2xvciBzcGFjZSAqLworKyNkZWZpbmUgRkZfQ09MT1JfR1JBWSAgICAgMSAgICAgLyogZ3JheSBjb2xvciBzcGFjZSAqLworKyNkZWZpbmUgRkZfQ09MT1JfWVVWICAgICAgMiAgICAgLyogWVVWIGNvbG9yIHNwYWNlLiAxNiA8PSBZIDw9IDIzNSwgMTYgPD0gVSwgViA8PSAyNDAgKi8KKysjZGVmaW5lIEZGX0NPTE9SX1lVVl9KUEVHIDMgICAgIC8qIFlVViBjb2xvciBzcGFjZS4gMCA8PSBZIDw9IDI1NSwgMCA8PSBVLCBWIDw9IDI1NSAqLworKworKyNkZWZpbmUgRkZfUElYRUxfUExBTkFSICAgMCAgICAgLyogZWFjaCBjaGFubmVsIGhhcyBvbmUgY29tcG9uZW50IGluIEFWUGljdHVyZSAqLworKyNkZWZpbmUgRkZfUElYRUxfUEFDS0VEICAgMSAgICAgLyogb25seSBvbmUgY29tcG9uZW50cyBjb250YWluaW5nIGFsbCB0aGUgY2hhbm5lbHMgKi8KKysjZGVmaW5lIEZGX1BJWEVMX1BBTEVUVEUgIDIgICAgIC8qIG9uZSBjb21wb25lbnRzIGNvbnRhaW5pbmcgaW5kZXhlcyBmb3IgYSBwYWxldHRlICovCisrCisrdHlwZWRlZiBzdHJ1Y3QgUGl4Rm10SW5mbworK3sKKysgIGNvbnN0IGNoYXIgKm5hbWU7CisrICB1aW50OF90IG5iX2NoYW5uZWxzOyAgICAgICAgICAvKiBudW1iZXIgb2YgY2hhbm5lbHMgKGluY2x1ZGluZyBhbHBoYSkgKi8KKysgIHVpbnQ4X3QgY29sb3JfdHlwZTsgICAgICAgICAgIC8qIGNvbG9yIHR5cGUgKHNlZSBGRl9DT0xPUl94eHggY29uc3RhbnRzKSAqLworKyAgdWludDhfdCBwaXhlbF90eXBlOyAgICAgICAgICAgLyogcGl4ZWwgc3RvcmFnZSB0eXBlIChzZWUgRkZfUElYRUxfeHh4IGNvbnN0YW50cykgKi8KKysgIHVpbnQ4X3QgaXNfYWxwaGE6MTsgICAgICAgICAgIC8qIHRydWUgaWYgYWxwaGEgY2FuIGJlIHNwZWNpZmllZCAqLworKyAgdWludDhfdCB4X2Nocm9tYV9zaGlmdDsgICAgICAgLyogWCBjaHJvbWEgc3Vic2FtcGxpbmcgZmFjdG9yIGlzIDIgXiBzaGlmdCAqLworKyAgdWludDhfdCB5X2Nocm9tYV9zaGlmdDsgICAgICAgLyogWSBjaHJvbWEgc3Vic2FtcGxpbmcgZmFjdG9yIGlzIDIgXiBzaGlmdCAqLworKyAgdWludDhfdCBkZXB0aDsgICAgICAgICAgICAgICAgLyogYml0IGRlcHRoIG9mIHRoZSBjb2xvciBjb21wb25lbnRzICovCisrfSBQaXhGbXRJbmZvOworKworKworKy8qIHRoaXMgdGFibGUgZ2l2ZXMgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBmb3JtYXRzICovCisrc3RhdGljIFBpeEZtdEluZm8gcGl4X2ZtdF9pbmZvW1BJWF9GTVRfTkJdOworK3ZvaWQKKytnc3RfZmZtcGVnX2luaXRfcGl4X2ZtdF9pbmZvICh2b2lkKQorK3sKKysgIC8qIFlVViBmb3JtYXRzICovCisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0MjBQXS5uYW1lID0gZ19zdHJkdXAgKCJ5dXY0MjBwIik7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0MjBQXS5uYl9jaGFubmVscyA9IDM7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0MjBQXS5jb2xvcl90eXBlID0gRkZfQ09MT1JfWVVWOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWNDIwUF0ucGl4ZWxfdHlwZSA9IEZGX1BJWEVMX1BMQU5BUjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVjQyMFBdLmRlcHRoID0gOCwKKysgICAgICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0MjBQXS54X2Nocm9tYV9zaGlmdCA9IDEsCisrICAgICAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWNDIwUF0ueV9jaHJvbWFfc2hpZnQgPSAxOworKworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWNDIyUF0ubmFtZSA9IGdfc3RyZHVwICgieXV2NDIycCIpOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWNDIyUF0ubmJfY2hhbm5lbHMgPSAzOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWNDIyUF0uY29sb3JfdHlwZSA9IEZGX0NPTE9SX1lVVjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVjQyMlBdLnBpeGVsX3R5cGUgPSBGRl9QSVhFTF9QTEFOQVI7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0MjJQXS5kZXB0aCA9IDg7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0MjJQXS54X2Nocm9tYV9zaGlmdCA9IDE7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0MjJQXS55X2Nocm9tYV9zaGlmdCA9IDA7CisrCisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0NDRQXS5uYW1lID0gZ19zdHJkdXAgKCJ5dXY0NDRwIik7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0NDRQXS5uYl9jaGFubmVscyA9IDM7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0NDRQXS5jb2xvcl90eXBlID0gRkZfQ09MT1JfWVVWOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWNDQ0UF0ucGl4ZWxfdHlwZSA9IEZGX1BJWEVMX1BMQU5BUjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVjQ0NFBdLmRlcHRoID0gODsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVjQ0NFBdLnhfY2hyb21hX3NoaWZ0ID0gMDsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVjQ0NFBdLnlfY2hyb21hX3NoaWZ0ID0gMDsKKysKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVWVY0MjJdLm5hbWUgPSBnX3N0cmR1cCAoInl1djQyMiIpOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVZVjQyMl0ubmJfY2hhbm5lbHMgPSAxOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVZVjQyMl0uY29sb3JfdHlwZSA9IEZGX0NPTE9SX1lVVjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVWVY0MjJdLnBpeGVsX3R5cGUgPSBGRl9QSVhFTF9QQUNLRUQ7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVlWNDIyXS5kZXB0aCA9IDg7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVlWNDIyXS54X2Nocm9tYV9zaGlmdCA9IDE7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVlWNDIyXS55X2Nocm9tYV9zaGlmdCA9IDA7CisrCisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0MTBQXS5uYW1lID0gZ19zdHJkdXAgKCJ5dXY0MTBwIik7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0MTBQXS5uYl9jaGFubmVscyA9IDM7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0MTBQXS5jb2xvcl90eXBlID0gRkZfQ09MT1JfWVVWOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWNDEwUF0ucGl4ZWxfdHlwZSA9IEZGX1BJWEVMX1BMQU5BUjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVjQxMFBdLmRlcHRoID0gODsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVjQxMFBdLnhfY2hyb21hX3NoaWZ0ID0gMjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVjQxMFBdLnlfY2hyb21hX3NoaWZ0ID0gMjsKKysKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVjQxMVBdLm5hbWUgPSBnX3N0cmR1cCAoInl1djQxMXAiKTsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVjQxMVBdLm5iX2NoYW5uZWxzID0gMzsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVjQxMVBdLmNvbG9yX3R5cGUgPSBGRl9DT0xPUl9ZVVY7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0MTFQXS5waXhlbF90eXBlID0gRkZfUElYRUxfUExBTkFSOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWNDExUF0uZGVwdGggPSA4OworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWNDExUF0ueF9jaHJvbWFfc2hpZnQgPSAyOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWNDExUF0ueV9jaHJvbWFfc2hpZnQgPSAwOworKworKyAgLyogSlBFRyBZVVYgKi8KKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVko0MjBQXS5uYW1lID0gZ19zdHJkdXAgKCJ5dXZqNDIwcCIpOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWSjQyMFBdLm5iX2NoYW5uZWxzID0gMzsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVko0MjBQXS5jb2xvcl90eXBlID0gRkZfQ09MT1JfWVVWX0pQRUc7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVZKNDIwUF0ucGl4ZWxfdHlwZSA9IEZGX1BJWEVMX1BMQU5BUjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVko0MjBQXS5kZXB0aCA9IDg7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVZKNDIwUF0ueF9jaHJvbWFfc2hpZnQgPSAxOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWSjQyMFBdLnlfY2hyb21hX3NoaWZ0ID0gMTsKKysKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVko0MjJQXS5uYW1lID0gZ19zdHJkdXAgKCJ5dXZqNDIycCIpOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWSjQyMlBdLm5iX2NoYW5uZWxzID0gMzsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVko0MjJQXS5jb2xvcl90eXBlID0gRkZfQ09MT1JfWVVWX0pQRUc7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVZKNDIyUF0ucGl4ZWxfdHlwZSA9IEZGX1BJWEVMX1BMQU5BUjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVko0MjJQXS5kZXB0aCA9IDg7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVZKNDIyUF0ueF9jaHJvbWFfc2hpZnQgPSAxOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWSjQyMlBdLnlfY2hyb21hX3NoaWZ0ID0gMDsKKysKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVko0NDRQXS5uYW1lID0gZ19zdHJkdXAgKCJ5dXZqNDQ0cCIpOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWSjQ0NFBdLm5iX2NoYW5uZWxzID0gMzsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVko0NDRQXS5jb2xvcl90eXBlID0gRkZfQ09MT1JfWVVWX0pQRUc7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVZKNDQ0UF0ucGl4ZWxfdHlwZSA9IEZGX1BJWEVMX1BMQU5BUjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVko0NDRQXS5kZXB0aCA9IDg7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVZKNDQ0UF0ueF9jaHJvbWFfc2hpZnQgPSAwOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWSjQ0NFBdLnlfY2hyb21hX3NoaWZ0ID0gMDsKKysKKysgIC8qIFJHQiBmb3JtYXRzICovCisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9SR0IyNF0ubmFtZSA9IGdfc3RyZHVwICgicmdiMjQiKTsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1JHQjI0XS5uYl9jaGFubmVscyA9IDM7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9SR0IyNF0uY29sb3JfdHlwZSA9IEZGX0NPTE9SX1JHQjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1JHQjI0XS5waXhlbF90eXBlID0gRkZfUElYRUxfUEFDS0VEOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfUkdCMjRdLmRlcHRoID0gODsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1JHQjI0XS54X2Nocm9tYV9zaGlmdCA9IDA7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9SR0IyNF0ueV9jaHJvbWFfc2hpZnQgPSAwOworKworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfQkdSMjRdLm5hbWUgPSBnX3N0cmR1cCAoImJncjI0Iik7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9CR1IyNF0ubmJfY2hhbm5lbHMgPSAzOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfQkdSMjRdLmNvbG9yX3R5cGUgPSBGRl9DT0xPUl9SR0I7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9CR1IyNF0ucGl4ZWxfdHlwZSA9IEZGX1BJWEVMX1BBQ0tFRDsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX0JHUjI0XS5kZXB0aCA9IDg7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9CR1IyNF0ueF9jaHJvbWFfc2hpZnQgPSAwOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfQkdSMjRdLnlfY2hyb21hX3NoaWZ0ID0gMDsKKysKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1JHQjMyXS5uYW1lID0gZ19zdHJkdXAgKCJyZ2JhMzIiKTsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1JHQjMyXS5uYl9jaGFubmVscyA9IDQ7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9SR0IzMl0uaXNfYWxwaGEgPSAxOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfUkdCMzJdLmNvbG9yX3R5cGUgPSBGRl9DT0xPUl9SR0I7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9SR0IzMl0ucGl4ZWxfdHlwZSA9IEZGX1BJWEVMX1BBQ0tFRDsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1JHQjMyXS5kZXB0aCA9IDg7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9SR0IzMl0ueF9jaHJvbWFfc2hpZnQgPSAwOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfUkdCMzJdLnlfY2hyb21hX3NoaWZ0ID0gMDsKKysKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1JHQjU2NV0ubmFtZSA9IGdfc3RyZHVwICgicmdiNTY1Iik7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9SR0I1NjVdLm5iX2NoYW5uZWxzID0gMzsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1JHQjU2NV0uY29sb3JfdHlwZSA9IEZGX0NPTE9SX1JHQjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1JHQjU2NV0ucGl4ZWxfdHlwZSA9IEZGX1BJWEVMX1BBQ0tFRDsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1JHQjU2NV0uZGVwdGggPSA1OworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfUkdCNTY1XS54X2Nocm9tYV9zaGlmdCA9IDA7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9SR0I1NjVdLnlfY2hyb21hX3NoaWZ0ID0gMDsKKysKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1JHQjU1NV0ubmFtZSA9IGdfc3RyZHVwICgicmdiNTU1Iik7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9SR0I1NTVdLm5iX2NoYW5uZWxzID0gNDsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1JHQjU1NV0uaXNfYWxwaGEgPSAxOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfUkdCNTU1XS5jb2xvcl90eXBlID0gRkZfQ09MT1JfUkdCOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfUkdCNTU1XS5waXhlbF90eXBlID0gRkZfUElYRUxfUEFDS0VEOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfUkdCNTU1XS5kZXB0aCA9IDU7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9SR0I1NTVdLnhfY2hyb21hX3NoaWZ0ID0gMDsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1JHQjU1NV0ueV9jaHJvbWFfc2hpZnQgPSAwOworKworKyAgLyogZ3JheSAvIG1vbm8gZm9ybWF0cyAqLworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfR1JBWThdLm5hbWUgPSBnX3N0cmR1cCAoImdyYXkiKTsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX0dSQVk4XS5uYl9jaGFubmVscyA9IDE7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9HUkFZOF0uY29sb3JfdHlwZSA9IEZGX0NPTE9SX0dSQVk7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9HUkFZOF0ucGl4ZWxfdHlwZSA9IEZGX1BJWEVMX1BMQU5BUjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX0dSQVk4XS5kZXB0aCA9IDg7CisrCisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9NT05PV0hJVEVdLm5hbWUgPSBnX3N0cmR1cCAoIm1vbm93Iik7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9NT05PV0hJVEVdLm5iX2NoYW5uZWxzID0gMTsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX01PTk9XSElURV0uY29sb3JfdHlwZSA9IEZGX0NPTE9SX0dSQVk7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9NT05PV0hJVEVdLnBpeGVsX3R5cGUgPSBGRl9QSVhFTF9QTEFOQVI7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9NT05PV0hJVEVdLmRlcHRoID0gMTsKKysKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX01PTk9CTEFDS10ubmFtZSA9IGdfc3RyZHVwICgibW9ub2IiKTsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX01PTk9CTEFDS10ubmJfY2hhbm5lbHMgPSAxOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfTU9OT0JMQUNLXS5jb2xvcl90eXBlID0gRkZfQ09MT1JfR1JBWTsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX01PTk9CTEFDS10ucGl4ZWxfdHlwZSA9IEZGX1BJWEVMX1BMQU5BUjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX01PTk9CTEFDS10uZGVwdGggPSAxOworKworKyAgLyogcGFsZXR0ZWQgZm9ybWF0cyAqLworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfUEFMOF0ubmFtZSA9IGdfc3RyZHVwICgicGFsOCIpOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfUEFMOF0ubmJfY2hhbm5lbHMgPSA0OworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfUEFMOF0uaXNfYWxwaGEgPSAxOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfUEFMOF0uY29sb3JfdHlwZSA9IEZGX0NPTE9SX1JHQjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1BBTDhdLnBpeGVsX3R5cGUgPSBGRl9QSVhFTF9QQUxFVFRFOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfUEFMOF0uZGVwdGggPSA4OworKworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWQTQyMFBdLm5hbWUgPSBnX3N0cmR1cCAoInl1dmE0MjBwIik7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVZBNDIwUF0ubmJfY2hhbm5lbHMgPSA0OworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWQTQyMFBdLmlzX2FscGhhID0gMTsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVkE0MjBQXS5jb2xvcl90eXBlID0gRkZfQ09MT1JfWVVWOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWQTQyMFBdLnBpeGVsX3R5cGUgPSBGRl9QSVhFTF9QTEFOQVI7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVZBNDIwUF0uZGVwdGggPSA4LAorKyAgICAgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVkE0MjBQXS54X2Nocm9tYV9zaGlmdCA9IDEsCisrICAgICAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWQTQyMFBdLnlfY2hyb21hX3NoaWZ0ID0gMTsKKyt9OworKworK2ludAorK2dzdF9mZm1wZWdfYXZwaWN0dXJlX2dldF9zaXplIChpbnQgcGl4X2ZtdCwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQorK3sKKysgIEFWUGljdHVyZSBkdW1teV9waWN0OworKworKyAgcmV0dXJuIGdzdF9mZm1wZWdfYXZwaWN0dXJlX2ZpbGwgKCZkdW1teV9waWN0LCBOVUxMLCBwaXhfZm10LCB3aWR0aCwgaGVpZ2h0KTsKKyt9CisrCisrI2RlZmluZSBHRU5fTUFTSyh4KSAoKDE8PCh4KSktMSkKKysjZGVmaW5lIFJPVU5EX1VQX1godix4KSAoKCh2KSArIEdFTl9NQVNLKHgpKSAmIH5HRU5fTUFTSyh4KSkKKysjZGVmaW5lIFJPVU5EX1VQXzIoeCkgUk9VTkRfVVBfWCAoeCwgMSkKKysjZGVmaW5lIFJPVU5EX1VQXzQoeCkgUk9VTkRfVVBfWCAoeCwgMikKKysjZGVmaW5lIFJPVU5EX1VQXzgoeCkgUk9VTkRfVVBfWCAoeCwgMykKKysjZGVmaW5lIERJVl9ST1VORF9VUF9YKHYseCkgKCgodikgKyBHRU5fTUFTSyh4KSkgPj4gKHgpKQorKworK2ludAorK2dzdF9mZm1wZWdfYXZwaWN0dXJlX2ZpbGwgKEFWUGljdHVyZSAqIHBpY3R1cmUsCisrICAgIHVpbnQ4X3QgKiBwdHIsIGVudW0gUGl4ZWxGb3JtYXQgcGl4X2ZtdCwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQorK3sKKysgIGludCBzaXplLCB3MiwgaDIsIHNpemUyOworKyAgaW50IHN0cmlkZSwgc3RyaWRlMjsKKysgIFBpeEZtdEluZm8gKnBpbmZvOworKworKyAgcGluZm8gPSAmcGl4X2ZtdF9pbmZvW3BpeF9mbXRdOworKworKyAgc3dpdGNoIChwaXhfZm10KSB7CisrICAgIGNhc2UgUElYX0ZNVF9ZVVY0MjBQOgorKyAgICBjYXNlIFBJWF9GTVRfWVVWNDIyUDoKKysgICAgY2FzZSBQSVhfRk1UX1lVVjQ0NFA6CisrICAgIGNhc2UgUElYX0ZNVF9ZVVY0MTBQOgorKyAgICBjYXNlIFBJWF9GTVRfWVVWNDExUDoKKysgICAgY2FzZSBQSVhfRk1UX1lVVko0MjBQOgorKyAgICBjYXNlIFBJWF9GTVRfWVVWSjQyMlA6CisrICAgIGNhc2UgUElYX0ZNVF9ZVVZKNDQ0UDoKKysgICAgICBzdHJpZGUgPSBST1VORF9VUF80ICh3aWR0aCk7CisrICAgICAgaDIgPSBST1VORF9VUF9YIChoZWlnaHQsIHBpbmZvLT55X2Nocm9tYV9zaGlmdCk7CisrICAgICAgc2l6ZSA9IHN0cmlkZSAqIGgyOworKyAgICAgIHcyID0gRElWX1JPVU5EX1VQX1ggKHdpZHRoLCBwaW5mby0+eF9jaHJvbWFfc2hpZnQpOworKyAgICAgIHN0cmlkZTIgPSBST1VORF9VUF80ICh3Mik7CisrICAgICAgaDIgPSBESVZfUk9VTkRfVVBfWCAoaGVpZ2h0LCBwaW5mby0+eV9jaHJvbWFfc2hpZnQpOworKyAgICAgIHNpemUyID0gc3RyaWRlMiAqIGgyOworKyAgICAgIHBpY3R1cmUtPmRhdGFbMF0gPSBwdHI7CisrICAgICAgcGljdHVyZS0+ZGF0YVsxXSA9IHBpY3R1cmUtPmRhdGFbMF0gKyBzaXplOworKyAgICAgIHBpY3R1cmUtPmRhdGFbMl0gPSBwaWN0dXJlLT5kYXRhWzFdICsgc2l6ZTI7CisrICAgICAgcGljdHVyZS0+ZGF0YVszXSA9IE5VTEw7CisrICAgICAgcGljdHVyZS0+bGluZXNpemVbMF0gPSBzdHJpZGU7CisrICAgICAgcGljdHVyZS0+bGluZXNpemVbMV0gPSBzdHJpZGUyOworKyAgICAgIHBpY3R1cmUtPmxpbmVzaXplWzJdID0gc3RyaWRlMjsKKysgICAgICBwaWN0dXJlLT5saW5lc2l6ZVszXSA9IDA7CisrICAgICAgR1NUX0RFQlVHICgicGxhbmVzICVkICVkICVkIiwgMCwgc2l6ZSwgc2l6ZSArIHNpemUyKTsKKysgICAgICBHU1RfREVCVUcgKCJzdHJpZGVzICVkICVkICVkIiwgc3RyaWRlLCBzdHJpZGUyLCBzdHJpZGUyKTsKKysgICAgICByZXR1cm4gc2l6ZSArIDIgKiBzaXplMjsKKysgICAgY2FzZSBQSVhfRk1UX1lVVkE0MjBQOgorKyAgICAgIHN0cmlkZSA9IFJPVU5EX1VQXzQgKHdpZHRoKTsKKysgICAgICBoMiA9IFJPVU5EX1VQX1ggKGhlaWdodCwgcGluZm8tPnlfY2hyb21hX3NoaWZ0KTsKKysgICAgICBzaXplID0gc3RyaWRlICogaDI7CisrICAgICAgdzIgPSBESVZfUk9VTkRfVVBfWCAod2lkdGgsIHBpbmZvLT54X2Nocm9tYV9zaGlmdCk7CisrICAgICAgc3RyaWRlMiA9IFJPVU5EX1VQXzQgKHcyKTsKKysgICAgICBoMiA9IERJVl9ST1VORF9VUF9YIChoZWlnaHQsIHBpbmZvLT55X2Nocm9tYV9zaGlmdCk7CisrICAgICAgc2l6ZTIgPSBzdHJpZGUyICogaDI7CisrICAgICAgcGljdHVyZS0+ZGF0YVswXSA9IHB0cjsKKysgICAgICBwaWN0dXJlLT5kYXRhWzFdID0gcGljdHVyZS0+ZGF0YVswXSArIHNpemU7CisrICAgICAgcGljdHVyZS0+ZGF0YVsyXSA9IHBpY3R1cmUtPmRhdGFbMV0gKyBzaXplMjsKKysgICAgICBwaWN0dXJlLT5kYXRhWzNdID0gcGljdHVyZS0+ZGF0YVsyXSArIHNpemUyOworKyAgICAgIHBpY3R1cmUtPmxpbmVzaXplWzBdID0gc3RyaWRlOworKyAgICAgIHBpY3R1cmUtPmxpbmVzaXplWzFdID0gc3RyaWRlMjsKKysgICAgICBwaWN0dXJlLT5saW5lc2l6ZVsyXSA9IHN0cmlkZTI7CisrICAgICAgcGljdHVyZS0+bGluZXNpemVbM10gPSBzdHJpZGU7CisrICAgICAgR1NUX0RFQlVHICgicGxhbmVzICVkICVkICVkICVkIiwgMCwgc2l6ZSwgc2l6ZSArIHNpemUyLCBzaXplICsgMiAqIHNpemUyKTsKKysgICAgICBHU1RfREVCVUcgKCJzdHJpZGVzICVkICVkICVkICVkIiwgc3RyaWRlLCBzdHJpZGUyLCBzdHJpZGUyLCBzdHJpZGUpOworKyAgICAgIHJldHVybiAyICogc2l6ZSArIDIgKiBzaXplMjsKKysgICAgY2FzZSBQSVhfRk1UX1JHQjI0OgorKyAgICBjYXNlIFBJWF9GTVRfQkdSMjQ6CisrICAgICAgc3RyaWRlID0gUk9VTkRfVVBfNCAod2lkdGggKiAzKTsKKysgICAgICBzaXplID0gc3RyaWRlICogaGVpZ2h0OworKyAgICAgIHBpY3R1cmUtPmRhdGFbMF0gPSBwdHI7CisrICAgICAgcGljdHVyZS0+ZGF0YVsxXSA9IE5VTEw7CisrICAgICAgcGljdHVyZS0+ZGF0YVsyXSA9IE5VTEw7CisrICAgICAgcGljdHVyZS0+ZGF0YVszXSA9IE5VTEw7CisrICAgICAgcGljdHVyZS0+bGluZXNpemVbMF0gPSBzdHJpZGU7CisrICAgICAgcGljdHVyZS0+bGluZXNpemVbMV0gPSAwOworKyAgICAgIHBpY3R1cmUtPmxpbmVzaXplWzJdID0gMDsKKysgICAgICBwaWN0dXJlLT5saW5lc2l6ZVszXSA9IDA7CisrICAgICAgcmV0dXJuIHNpemU7CisrICAgICAgLypjYXNlIFBJWF9GTVRfQVlVVjQ0NDQ6CisrICAgICAgICAgY2FzZSBQSVhfRk1UX0JHUjMyOgorKyAgICAgICAgIGNhc2UgUElYX0ZNVF9CR1JBMzI6CisrICAgICAgICAgY2FzZSBQSVhfRk1UX1JHQjMyOiAqLworKyAgICBjYXNlIFBJWF9GTVRfUkdCMzI6CisrICAgICAgc3RyaWRlID0gd2lkdGggKiA0OworKyAgICAgIHNpemUgPSBzdHJpZGUgKiBoZWlnaHQ7CisrICAgICAgcGljdHVyZS0+ZGF0YVswXSA9IHB0cjsKKysgICAgICBwaWN0dXJlLT5kYXRhWzFdID0gTlVMTDsKKysgICAgICBwaWN0dXJlLT5kYXRhWzJdID0gTlVMTDsKKysgICAgICBwaWN0dXJlLT5kYXRhWzNdID0gTlVMTDsKKysgICAgICBwaWN0dXJlLT5saW5lc2l6ZVswXSA9IHN0cmlkZTsKKysgICAgICBwaWN0dXJlLT5saW5lc2l6ZVsxXSA9IDA7CisrICAgICAgcGljdHVyZS0+bGluZXNpemVbMl0gPSAwOworKyAgICAgIHBpY3R1cmUtPmxpbmVzaXplWzNdID0gMDsKKysgICAgICByZXR1cm4gc2l6ZTsKKysgICAgY2FzZSBQSVhfRk1UX1JHQjU1NToKKysgICAgY2FzZSBQSVhfRk1UX1JHQjU2NToKKysgICAgY2FzZSBQSVhfRk1UX1lVWVY0MjI6CisrICAgIGNhc2UgUElYX0ZNVF9VWVZZNDIyOgorKyAgICAgIHN0cmlkZSA9IFJPVU5EX1VQXzQgKHdpZHRoICogMik7CisrICAgICAgc2l6ZSA9IHN0cmlkZSAqIGhlaWdodDsKKysgICAgICBwaWN0dXJlLT5kYXRhWzBdID0gcHRyOworKyAgICAgIHBpY3R1cmUtPmRhdGFbMV0gPSBOVUxMOworKyAgICAgIHBpY3R1cmUtPmRhdGFbMl0gPSBOVUxMOworKyAgICAgIHBpY3R1cmUtPmRhdGFbM10gPSBOVUxMOworKyAgICAgIHBpY3R1cmUtPmxpbmVzaXplWzBdID0gc3RyaWRlOworKyAgICAgIHBpY3R1cmUtPmxpbmVzaXplWzFdID0gMDsKKysgICAgICBwaWN0dXJlLT5saW5lc2l6ZVsyXSA9IDA7CisrICAgICAgcGljdHVyZS0+bGluZXNpemVbM10gPSAwOworKyAgICAgIHJldHVybiBzaXplOworKyAgICBjYXNlIFBJWF9GTVRfVVlZVllZNDExOgorKyAgICAgIC8qIEZJWE1FLCBwcm9iYWJseSBub3QgdGhlIHJpZ2h0IHN0cmlkZSAqLworKyAgICAgIHN0cmlkZSA9IFJPVU5EX1VQXzQgKHdpZHRoKTsKKysgICAgICBzaXplID0gc3RyaWRlICogaGVpZ2h0OworKyAgICAgIHBpY3R1cmUtPmRhdGFbMF0gPSBwdHI7CisrICAgICAgcGljdHVyZS0+ZGF0YVsxXSA9IE5VTEw7CisrICAgICAgcGljdHVyZS0+ZGF0YVsyXSA9IE5VTEw7CisrICAgICAgcGljdHVyZS0+ZGF0YVszXSA9IE5VTEw7CisrICAgICAgcGljdHVyZS0+bGluZXNpemVbMF0gPSB3aWR0aCArIHdpZHRoIC8gMjsKKysgICAgICBwaWN0dXJlLT5saW5lc2l6ZVsxXSA9IDA7CisrICAgICAgcGljdHVyZS0+bGluZXNpemVbMl0gPSAwOworKyAgICAgIHBpY3R1cmUtPmxpbmVzaXplWzNdID0gMDsKKysgICAgICByZXR1cm4gc2l6ZSArIHNpemUgLyAyOworKyAgICBjYXNlIFBJWF9GTVRfR1JBWTg6CisrICAgICAgc3RyaWRlID0gUk9VTkRfVVBfNCAod2lkdGgpOworKyAgICAgIHNpemUgPSBzdHJpZGUgKiBoZWlnaHQ7CisrICAgICAgcGljdHVyZS0+ZGF0YVswXSA9IHB0cjsKKysgICAgICBwaWN0dXJlLT5kYXRhWzFdID0gTlVMTDsKKysgICAgICBwaWN0dXJlLT5kYXRhWzJdID0gTlVMTDsKKysgICAgICBwaWN0dXJlLT5kYXRhWzNdID0gTlVMTDsKKysgICAgICBwaWN0dXJlLT5saW5lc2l6ZVswXSA9IHN0cmlkZTsKKysgICAgICBwaWN0dXJlLT5saW5lc2l6ZVsxXSA9IDA7CisrICAgICAgcGljdHVyZS0+bGluZXNpemVbMl0gPSAwOworKyAgICAgIHBpY3R1cmUtPmxpbmVzaXplWzNdID0gMDsKKysgICAgICByZXR1cm4gc2l6ZTsKKysgICAgY2FzZSBQSVhfRk1UX01PTk9XSElURToKKysgICAgY2FzZSBQSVhfRk1UX01PTk9CTEFDSzoKKysgICAgICBzdHJpZGUgPSBST1VORF9VUF80ICgod2lkdGggKyA3KSA+PiAzKTsKKysgICAgICBzaXplID0gc3RyaWRlICogaGVpZ2h0OworKyAgICAgIHBpY3R1cmUtPmRhdGFbMF0gPSBwdHI7CisrICAgICAgcGljdHVyZS0+ZGF0YVsxXSA9IE5VTEw7CisrICAgICAgcGljdHVyZS0+ZGF0YVsyXSA9IE5VTEw7CisrICAgICAgcGljdHVyZS0+ZGF0YVszXSA9IE5VTEw7CisrICAgICAgcGljdHVyZS0+bGluZXNpemVbMF0gPSBzdHJpZGU7CisrICAgICAgcGljdHVyZS0+bGluZXNpemVbMV0gPSAwOworKyAgICAgIHBpY3R1cmUtPmxpbmVzaXplWzJdID0gMDsKKysgICAgICBwaWN0dXJlLT5saW5lc2l6ZVszXSA9IDA7CisrICAgICAgcmV0dXJuIHNpemU7CisrICAgIGNhc2UgUElYX0ZNVF9QQUw4OgorKyAgICAgIC8qIGFscmVhZHkgZm9yY2VkIHRvIGJlIHdpdGggc3RyaWRlLCBzbyBzYW1lIHJlc3VsdCBhcyBvdGhlciBmdW5jdGlvbiAqLworKyAgICAgIHN0cmlkZSA9IFJPVU5EX1VQXzQgKHdpZHRoKTsKKysgICAgICBzaXplID0gc3RyaWRlICogaGVpZ2h0OworKyAgICAgIHBpY3R1cmUtPmRhdGFbMF0gPSBwdHI7CisrICAgICAgcGljdHVyZS0+ZGF0YVsxXSA9IHB0ciArIHNpemU7ICAgIC8qIHBhbGV0dGUgaXMgc3RvcmVkIGhlcmUgYXMgMjU2IDMyIGJpdCB3b3JkcyAqLworKyAgICAgIHBpY3R1cmUtPmRhdGFbMl0gPSBOVUxMOworKyAgICAgIHBpY3R1cmUtPmRhdGFbM10gPSBOVUxMOworKyAgICAgIHBpY3R1cmUtPmxpbmVzaXplWzBdID0gc3RyaWRlOworKyAgICAgIHBpY3R1cmUtPmxpbmVzaXplWzFdID0gNDsKKysgICAgICBwaWN0dXJlLT5saW5lc2l6ZVsyXSA9IDA7CisrICAgICAgcGljdHVyZS0+bGluZXNpemVbM10gPSAwOworKyAgICAgIHJldHVybiBzaXplICsgMjU2ICogNDsKKysgICAgZGVmYXVsdDoKKysgICAgICBwaWN0dXJlLT5kYXRhWzBdID0gTlVMTDsKKysgICAgICBwaWN0dXJlLT5kYXRhWzFdID0gTlVMTDsKKysgICAgICBwaWN0dXJlLT5kYXRhWzJdID0gTlVMTDsKKysgICAgICBwaWN0dXJlLT5kYXRhWzNdID0gTlVMTDsKKysgICAgICByZXR1cm4gLTE7CisrICB9CisrCisrICByZXR1cm4gMDsKKyt9CisrCisrLyogQ3JlYXRlIGEgR3N0QnVmZmVyIG9mIHRoZSByZXF1ZXN0ZWQgc2l6ZSBhbmQgY2Fwcy4KKysgKiBUaGUgbWVtb3J5IHdpbGwgYmUgYWxsb2NhdGVkIGJ5IGZmbXBlZywgbWFraW5nIHN1cmUgaXQncyBwcm9wZXJseSBhbGlnbmVkCisrICogZm9yIGFueSBwcm9jZXNzaW5nLiAqLworKworK0dzdEJ1ZmZlciAqCisrbmV3X2FsaWduZWRfYnVmZmVyIChnaW50IHNpemUsIEdzdENhcHMgKiBjYXBzKQorK3sKKysgIEdzdEJ1ZmZlciAqYnVmOworKworKyAgYnVmID0gZ3N0X2J1ZmZlcl9uZXcgKCk7CisrICBHU1RfQlVGRkVSX0RBVEEgKGJ1ZikgPSBHU1RfQlVGRkVSX01BTExPQ0RBVEEgKGJ1ZikgPSBhdl9tYWxsb2MgKHNpemUpOworKyAgR1NUX0JVRkZFUl9TSVpFIChidWYpID0gc2l6ZTsKKysgIEdTVF9CVUZGRVJfRlJFRV9GVU5DIChidWYpID0gYXZfZnJlZTsKKysgIGlmIChjYXBzKQorKyAgICBnc3RfYnVmZmVyX3NldF9jYXBzIChidWYsIGNhcHMpOworKworKyAgcmV0dXJuIGJ1ZjsKKyt9CisrCisraW50CisrZ3N0X2ZmbXBlZ19hdXRvX21heF90aHJlYWRzICh2b2lkKQorK3sKKysgIHN0YXRpYyBnc2l6ZSBuX3RocmVhZHMgPSAwOworKyAgaWYgKGdfb25jZV9pbml0X2VudGVyICgmbl90aHJlYWRzKSkgeworKyAgICBpbnQgbiA9IDE7CisrI2lmIGRlZmluZWQoX1dJTjMyKQorKyAgICB7CisrICAgICAgY29uc3QgY2hhciAqcyA9IGdldGVudiAoIk5VTUJFUl9PRl9QUk9DRVNTT1JTIik7CisrICAgICAgaWYgKHMpIHsKKysgICAgICAgIG4gPSBhdG9pIChzKTsKKysgICAgICB9CisrICAgIH0KKysjZWxpZiBkZWZpbmVkKF9fQVBQTEVfXykKKysgICAgeworKyAgICAgIGludCBtaWJbXSA9IHsgQ1RMX0hXLCBIV19OQ1BVIH07CisrICAgICAgc2l6ZV90IGRhdGFTaXplID0gc2l6ZW9mIChpbnQpOworKworKyAgICAgIGlmIChzeXNjdGwgKG1pYiwgMiwgJm5fdGhyZWFkcywgJmRhdGFTaXplLCBOVUxMLCAwKSkgeworKyAgICAgICAgbiA9IDE7CisrICAgICAgfQorKyAgICB9CisrI2Vsc2UKKysgICAgbiA9IHN5c2NvbmYgKF9TQ19OUFJPQ0VTU09SU19DT05GKTsKKysjZW5kaWYKKysgICAgaWYgKG4gPCAxKQorKyAgICAgIG4gPSAxOworKworKyAgICBnX29uY2VfaW5pdF9sZWF2ZSAoJm5fdGhyZWFkcywgbik7CisrICB9CisrCisrICByZXR1cm4gKGludCkgKG5fdGhyZWFkcyk7CisrfQorZGlmZiAtdU5yIGdzdC1mZm1wZWctMC4xMC4xMy5vcmlnL2V4dC9mZm1wZWcvZ3N0ZmZtcGVndXRpbHMuaCBnc3QtZmZtcGVnLTAuMTAuMTMvZXh0L2ZmbXBlZy9nc3RmZm1wZWd1dGlscy5oCistLS0gZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWd1dGlscy5oCTIwMTEtMTEtMDIgMTQ6MDQ6MDUuMDAwMDAwMDAwICswMTAwCisrKysgZ3N0LWZmbXBlZy0wLjEwLjEzL2V4dC9mZm1wZWcvZ3N0ZmZtcGVndXRpbHMuaAkyMDE0LTA4LTA4IDE1OjM0OjA0LjAwNzg3NDYyNiArMDIwMAorQEAgLTIzLDYgKzIzLDcgQEAKKyAjaWZkZWYgSEFWRV9GRk1QRUdfVU5JTlNUQUxMRUQKKyAjaW5jbHVkZSA8YXZjb2RlYy5oPgorICNlbHNlCisrI2luY2x1ZGUgPGxpYmF2dXRpbC9tYXRoZW1hdGljcy5oPgorICNpbmNsdWRlIDxsaWJhdmNvZGVjL2F2Y29kZWMuaD4KKyAjZW5kaWYKKyAjaW5jbHVkZSA8Z3N0L2dzdC5oPgorQEAgLTg3LDcgKzg4LDcgQEAKKyBnc3RfZmZtcGVnX2dldF9jb2RlY2lkX2xvbmduYW1lIChlbnVtIENvZGVjSUQgY29kZWNfaWQpOworIAorIGdpbnQKKy1hdl9zbXBfZm9ybWF0X2RlcHRoKGVudW0gU2FtcGxlRm9ybWF0IHNtcF9mbXQpOworK2F2X3NtcF9mb3JtYXRfZGVwdGgoZW51bSBBVlNhbXBsZUZvcm1hdCBzbXBfZm10KTsKKyAKKyBHc3RCdWZmZXIgKgorIG5ld19hbGlnbmVkX2J1ZmZlciAoZ2ludCBzaXplLCBHc3RDYXBzICogY2Fwcyk7CitkaWZmIC11TnIgZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWd1dGlscy5oLm9yaWcgZ3N0LWZmbXBlZy0wLjEwLjEzL2V4dC9mZm1wZWcvZ3N0ZmZtcGVndXRpbHMuaC5vcmlnCistLS0gZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWd1dGlscy5oLm9yaWcJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnc3QtZmZtcGVnLTAuMTAuMTMvZXh0L2ZmbXBlZy9nc3RmZm1wZWd1dGlscy5oLm9yaWcJMjAxNC0wOC0wOCAxNToyNjozOC40NzM4NTg2NTIgKzAyMDAKK0BAIC0wLDAgKzEsOTUgQEAKKysvKiBHU3RyZWFtZXIKKysgKiBDb3B5cmlnaHQgKEMpIDwyMDA5PiBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgorKyAqCisrICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisrICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisrICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyAqCisrICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyAqCisrICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKysgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZQorKyAqIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorKyAqLworKworKyNpZm5kZWYgX19HU1RfRkZNUEVHX1VUSUxTX0hfXworKyNkZWZpbmUgX19HU1RfRkZNUEVHX1VUSUxTX0hfXworKworKyNpZmRlZiBIQVZFX0ZGTVBFR19VTklOU1RBTExFRAorKyNpbmNsdWRlIDxhdmNvZGVjLmg+CisrI2Vsc2UKKysjaW5jbHVkZSA8bGliYXZjb2RlYy9hdmNvZGVjLmg+CisrI2VuZGlmCisrI2luY2x1ZGUgPGdzdC9nc3QuaD4KKysKKysvKgorKyAqR2V0IHRoZSBzaXplIG9mIGFuIHBpY3R1cmUKKysgKi8KKytpbnQKKytnc3RfZmZtcGVnX2F2cGljdHVyZV9nZXRfc2l6ZSAoaW50IHBpeF9mbXQsIGludCB3aWR0aCwgaW50IGhlaWdodCk7CisrCisrLyoKKysgKiBGaWxsIGluIHBvaW50ZXJzIGluIGFuIEFWUGljdHVyZSwgYWxpZ25lZCBieSA0IChyZXF1aXJlZCBieSBYKS4KKysgKi8KKysKKytpbnQKKytnc3RfZmZtcGVnX2F2cGljdHVyZV9maWxsIChBVlBpY3R1cmUgKiBwaWN0dXJlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKiAgIHB0ciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIFBpeGVsRm9ybWF0IHBpeF9mbXQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICAgICAgICAgd2lkdGgsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICAgICAgICAgaGVpZ2h0KTsKKysKKysvKgorKyAqIENvbnZlcnQgZnJvbS90byBhIEdTdHJlYW1lciA8LT4gRkZNcGVnIHRpbWVzdGFtcC4KKysgKi8KKytzdGF0aWMgaW5saW5lIGd1aW50NjQKKytnc3RfZmZtcGVnX3RpbWVfZmZfdG9fZ3N0IChnaW50NjQgcHRzLCBBVlJhdGlvbmFsIGJhc2UpCisreworKyAgZ3VpbnQ2NCBvdXQ7CisrCisrICBpZiAocHRzID09IEFWX05PUFRTX1ZBTFVFKXsKKysgICAgb3V0ID0gR1NUX0NMT0NLX1RJTUVfTk9ORTsKKysgIH0gZWxzZSB7CisrICAgIEFWUmF0aW9uYWwgYnEgPSB7IDEsIEdTVF9TRUNPTkQgfTsKKysgICAgb3V0ID0gYXZfcmVzY2FsZV9xIChwdHMsIGJhc2UsIGJxKTsKKysgIH0KKysKKysgIHJldHVybiBvdXQ7CisrfQorKworK3N0YXRpYyBpbmxpbmUgZ2ludDY0CisrZ3N0X2ZmbXBlZ190aW1lX2dzdF90b19mZiAoZ3VpbnQ2NCB0aW1lLCBBVlJhdGlvbmFsIGJhc2UpCisreworKyAgZ2ludDY0IG91dDsKKysKKysgIGlmICghR1NUX0NMT0NLX1RJTUVfSVNfVkFMSUQgKHRpbWUpIHx8IGJhc2UubnVtID09IDApIHsKKysgICAgb3V0ID0gQVZfTk9QVFNfVkFMVUU7CisrICB9IGVsc2UgeworKyAgICBBVlJhdGlvbmFsIGJxID0geyAxLCBHU1RfU0VDT05EIH07CisrICAgIG91dCA9IGF2X3Jlc2NhbGVfcSAodGltZSwgYnEsIGJhc2UpOworKyAgfQorKworKyAgcmV0dXJuIG91dDsKKyt9CisrCisrdm9pZCAKKytnc3RfZmZtcGVnX2luaXRfcGl4X2ZtdF9pbmZvKHZvaWQpOworKworK2ludAorK2dzdF9mZm1wZWdfYXV0b19tYXhfdGhyZWFkcyh2b2lkKTsKKysKKytHX0NPTlNUX1JFVFVSTiBnY2hhciAqCisrZ3N0X2ZmbXBlZ19nZXRfY29kZWNpZF9sb25nbmFtZSAoZW51bSBDb2RlY0lEIGNvZGVjX2lkKTsKKysKKytnaW50CisrYXZfc21wX2Zvcm1hdF9kZXB0aChlbnVtIEFWU2FtcGxlRm9ybWF0IHNtcF9mbXQpOworKworK0dzdEJ1ZmZlciAqCisrbmV3X2FsaWduZWRfYnVmZmVyIChnaW50IHNpemUsIEdzdENhcHMgKiBjYXBzKTsKKysKKysjZW5kaWYgLyogX19HU1RfRkZNUEVHX1VUSUxTX0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9saWJhdl9lNTAwbWMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2xpYmF2X2U1MDBtYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYmE0OTg4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9saWJhdl9lNTAwbWMucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorZGlmZiAtLWdpdCBhL2dzdC1saWJzL2V4dC9saWJhdi9jb25maWd1cmUgYi9nc3QtbGlicy9leHQvbGliYXYvY29uZmlndXJlCitpbmRleCA4NDczMDY5Li40Zjc0OTUyIDEwMDc1NQorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2NvbmZpZ3VyZQorKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2NvbmZpZ3VyZQorRml4IGdzdC1mZm1wZWcgYnVpbGQgaXNzdWVzIGZvciBsaWJhdiBvbiBlNTAwbWMgKGZzbC1wNDA4MCkKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitTaWduZWQtb2ZmLWJ5OiBZYW8gWmhhbyA8eWFvLnpoYW9Ad2luZHJpdmVyLmNvbT4KKworQEAgLTIyMTAsNiArMjIxMCwxMCBAQCBlbGlmIGVuYWJsZWQgcHBjOyB0aGVuCisgICAgICAgICAgICAgY3B1ZmxhZ3M9Ii1tY3B1PWNlbGwiCisgICAgICAgICAgICAgZW5hYmxlIGxkYnJ4CisgICAgICAgICA7OworKyAgICAgICAgZTUwMG1jKQorKyAgICAgICAgICAgIGNwdWZsYWdzPSItbWNwdT1lNTAwbWMiCisrICAgICAgICAgICAgZGlzYWJsZSBhbHRpdmVjCisrICAgICAgICA7OworICAgICAgICAgZTUwMHYyKQorICAgICAgICAgICAgIGNwdWZsYWdzPSItbWNwdT04NTQ4IC1taGFyZC1mbG9hdCAtbWZsb2F0LWdwcnM9ZG91YmxlIgorICAgICAgICAgICAgIGRpc2FibGUgYWx0aXZlYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9saWJhdl9lNTUwMC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvbGliYXZfZTU1MDAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDllYTJjMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvbGliYXZfZTU1MDAucGF0Y2gKQEAgLTAsMCArMSwxOSBAQAorbGliYXY6IEFkZCBjb25maWdzIGZvciBwcGMgZTU1MDAKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEplc3NlIFpoYW5nIDxzZW4uemhhbmdAd2luZHJpdmVyLmNvbT4KKworLS0tIGdzdC1mZm1wZWctMC4xMC4xMy9nc3QtbGlicy9leHQvbGliYXYvY29uZmlndXJlCTIwMTMtMDYtMjAgMDU6MTg6MzYuMDczMTA0OTY0IC0wNDAwCisrKysgZ3N0LWZmbXBlZy0wLjEwLjEzL2dzdC1saWJzL2V4dC9saWJhdi9jb25maWd1cmUJMjAxMy0wNi0yMCAwNToxODozOC4yNjkxMDQxNTAgLTA0MDAKK0BAIC0yMjIyLDYgKzIyMjIsMTAgQEAKKyAgICAgICAgICAgICBjcHVmbGFncz0iLW1jcHU9ODU0MCAtbWhhcmQtZmxvYXQiCisgICAgICAgICAgICAgZGlzYWJsZSBhbHRpdmVjCisgICAgICAgICA7OworKyAgICAgICAgZTU1MDApCisrICAgICAgICAgICAgY3B1ZmxhZ3M9Ii1tY3B1PWU1NTAwIC1taGFyZC1mbG9hdCIKKysgICAgICAgICAgICBkaXNhYmxlIGFsdGl2ZWMKKysgICAgICAgIDs7CisgICAgIGVzYWMKKyAKKyBlbGlmIGVuYWJsZWQgeDg2OyB0aGVuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2xvd2VyLXJhbmsuZGlmZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvbG93ZXItcmFuay5kaWZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmMDhhZmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2xvd2VyLXJhbmsuZGlmZgpAQCAtMCwwICsxLDE2IEBACitMb3dlciB0aGUgcmFuayBvZiBmZm1wZWcgcGx1Z2luIHNvIGNvZGVjcyB0aGF0IGhvb2sgaW50byBhY2NlbGVyYXRlZCBwaWVjZXMgKGUuZy4gZHNwIG9yIGh3IGVuZ2luZXMpIGNhbiBnZXQgcGlja2VkIG92ZXIgdGhpcworRGVyaXZlZCBmcm9tIE9FIGJ5IERvbmd4aWFvIFh1IDxkb25neGlhby54dUBpbnRlbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKKy0tLSAvdG1wL2dzdGZmbXBlZ2RlYy5jCTIwMDktMDMtMDUgMDk6MzE6MTUuMDAwMDAwMDAwICswMTAwCisrKysgZ3N0LWZmbXBlZy0wLjEwLjYvZXh0L2ZmbXBlZy9nc3RmZm1wZWdkZWMuYwkyMDA5LTAzLTA1IDA5OjMzOjA5LjAwMDAwMDAwMCArMDEwMAorQEAgLTI1ODgsNyArMjU4OCw3IEBACisgICAgICAgY2FzZSBDT0RFQ19JRF9NU01QRUc0VjM6CisgICAgICAgY2FzZSBDT0RFQ19JRF9IMjY0OgorICAgICAgIGNhc2UgQ09ERUNfSURfQ09PSzoKKy0gICAgICAgIHJhbmsgPSBHU1RfUkFOS19QUklNQVJZOworKyAgICAgICAgcmFuayA9IEdTVF9SQU5LX1NFQ09OREFSWTsKKyAgICAgICAgIGJyZWFrOworICAgICAgIGNhc2UgQ09ERUNfSURfRFZWSURFTzoKKyAgICAgICAgIC8qIHdlIGhhdmUgYSBnb29kIGR2IGRlY29kZXIsIGZhc3Qgb24gYm90aCBwcGMgYXMgd2VsbCBhcyB4ODYuIHRoZXkgc2F5CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZ18wLjEwLjEzLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWdfMC4xMC4xMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTFiMTBjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWdfMC4xMC4xMy5iYgpAQCAtMCwwICsxLDEwMyBAQAorU1VNTUFSWSA9ICJGRm1wZWctYmFzZWQgR1N0cmVhbWVyIHBsdWctaW4iCitTRUNUSU9OID0gIm11bHRpbWVkaWEiCitMSUNFTlNFID0gIkdQTHYyKyAmIExHUEx2MisgJiAoIChHUEx2MisgJiBMR1BMdjIuMSspIHwgKEdQTHYzKyAmIExHUEx2MyspICkiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9leHQvbGlicG9zdHByb2MvZ3N0cG9zdHByb2MuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTE4O21kNT01ODk2ZTQ0NWU0MTY4MTMyNDM4MWY1ODY5ZWUzM2QzOCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NTVjYTgxN2NjYjdkNWI1YjY2MzU1NjkwZTlhYmM2MDUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZXh0L2ZmbXBlZy9nc3RmZm1wZWcuaDtiZWdpbmxpbmU9MTtlbmRsaW5lPTE4O21kNT1mZjY1NDY3YjBjNTNjZGZhOThkMDY4NGMxYmMyNDBhOSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9nc3QtbGlicy9leHQvbGliYXYvTElDRU5TRTttZDU9YWJjM2I4Y2IwMjg1NmFhNzgyM2JiYmQxNjJkMTYyMzIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3N0LWxpYnMvZXh0L2xpYmF2L0NPUFlJTkcuR1BMdjI7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dzdC1saWJzL2V4dC9saWJhdi9DT1BZSU5HLkdQTHYzO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9nc3QtbGlicy9leHQvbGliYXYvQ09QWUlORy5MR1BMdjIuMTttZDU9ZTM0NGM4ZmE4MzZjM2E0MWM0Y2JkNzlkN2JkM2EzNzkgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3N0LWxpYnMvZXh0L2xpYmF2L0NPUFlJTkcuTEdQTHYzO21kNT1lNmE2MDBmZDVlMWQ5Y2JkZTJkOTgzNjgwMjMzYWQwMiIKK0xJQ0VOU0VfRkxBR1MgPSAiY29tbWVyY2lhbCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ3N0cmVhbWVyLm5ldC8iCitERVBFTkRTID0gImdzdHJlYW1lciBnc3QtcGx1Z2lucy1iYXNlIHpsaWIgYnppcDIgeWFzbS1uYXRpdmUgbGlicG9zdHByb2MiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcKKworU1JDX1VSSSA9ICJodHRwOi8vZ3N0cmVhbWVyLmZyZWVkZXNrdG9wLm9yZy9zcmMvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL2xvd2VyLXJhbmsuZGlmZiBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUtZml4LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2gyNjRfcXBlbF9tbXgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbGliYXZfZTUwMG1jLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2xpYmF2X2U1NTAwLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2dzdC1mZm1wZWctQ1ZFLTIwMTMtMzY3NC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWF2Zm9ybWF0LW1wZWd0c2VuYy1DaGVjay1kYXRhLWFycmF5LXNpemUtaW4tbXBlZ3RzX3cucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS12cWF2aWRlby1jaGVjay1jaHVuay1zaXplcy1iZWZvcmUtcmVhZGluZy1jaHVua3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1hdmNvZGVjLW1zcmxlLXVzZS1hdl9pbWFnZV9nZXRfbGluZXNpemUtdG8tY2FsY3VsYXRlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtaHVmZnl1dmRlYy1Ta2lwLWxlbi0wLWNhc2VzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtaHVmZnl1dmRlYy1DaGVjay1pbml0X3ZsYy1yZXR1cm4tY29kZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1hbHNkZWMtY2hlY2stYmxvY2stbGVuZ3RoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtcGdzc3ViZGVjLWNoZWNrLVJMRS1zaXplLWJlZm9yZS1jb3B5aW5nLi1GaXgtb3V0LW9mLS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWF0cmFjM2RlYy1DaGVjay1jb2RpbmctbW9kZS1hZ2FpbnN0LWNoYW5uZWxzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZWFtYWQtZml4LW91dC1vZi1hcnJheS1hY2Nlc3Nlcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW1qcGVnZGVjLWNoZWNrLVNFLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtYWxhYy1maXgtbmJfc2FtcGxlcy1vcmRlci1jYXNlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtaDI2NC1jb3JyZWN0LXJlZi1jb3VudC1jaGVjay1hbmQtbGltaXQtZml4LW91dC1vZi1hci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXJvcXZpZGVvZGVjLWNoZWNrLWRpbWVuc2lvbnMtdmFsaWRpdHkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1hYWNkZWMtY2hlY2stY2hhbm5lbC1jb3VudC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXBuZ2RlYy1maWx0ZXItZG9udC1hY2Nlc3Mtb3V0LW9mLWFycmF5LWVsZW1lbnRzLWF0LXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1lcnJvcl9jb25jZWFsbWVudC1DaGVjay10aGF0LXRoZS1waWN0dXJlLWlzLW5vdC1pbi1hLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtdnAzLWZpeC1vb2ItcmVhZC1mb3ItbmVnYXRpdmUtdG9rZW5zLWFuZC1tZW1sZWFrcy1vbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXZwMy1Db3B5LWFsbC0zLWZyYW1lcy1mb3ItdGhyZWFkLXVwZGF0ZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1oMjY0X3NlaS1GaXgtaW5maW5pdGUtbG9vcC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWF2Y29kZWMtcGFyc2VyLXJlc2V0LWluZGV4ZXMtb24tcmVhbGxvYy1mYWlsdXJlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtYXZjb2RlYy1ycHphLVBlcmZvcm0tcG9pbnRlci1hZHZhbmNlLWFuZC1jaGVja3MtYmVmby5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9nc3QtZmZtcGVnLUNWRS0yMDEzLTA4NTUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1xZG0yZGVjLWZpeC1idWZmZXItb3ZlcmZsb3cucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1zbWFja2VyZGVjLUNoZWNrLXRoYXQtdGhlLWxhc3QtaW5kZXhlcy1hcmUtd2l0aGluLXRoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtYXZjb2RlYy1kc3B1dGlsLWZpeC1zaWduZWRuZXNzLWluLXNpemVvZi1jb21wYXJpc3Npby5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWVycm9yLWNvbmNlYWxtZW50LWluaXRpYWxpemUtYmxvY2staW5kZXgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1xZG0yLWNoZWNrLWFycmF5LWluZGV4LWJlZm9yZS11c2UtZml4LW91dC1vZi1hcnJheS1hLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbGF2Zi1jb21wdXRlLXByb2JlLWJ1ZmZlci1zaXplLW1vcmUtcmVsaWFibHkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1mZnNlcnZlci1zZXQtb2Zvcm1hdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWgyNjQtc2V0LXBhcmFtZXRlcnMtZnJvbS1TUFMtd2hlbmV2ZXItaXQtY2hhbmdlcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWgyNjQtc2tpcC1lcnJvci1jb25jZWFsbWVudC13aGVuLVNQUy1hbmQtc2xpY2VzLWFyZS0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1hdmNvZGVjLXNtYy1maXgtb2ZmLWJ5LTEtZXJyb3IucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1hdmNvZGVjLW1qcGVnZGVjLWNoZWNrLWJpdHMtcGVyLXBpeGVsLWZvci1jaGFuZ2VzLXNpLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2xpYmF2LTkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTEtNDM1Mi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9nc3QtZmZtcGVnLWZpeC1DVkUtMjAxNC03OTMzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2dzdC1mZm1wZWctZml4LUNWRS0yMDE0LTg1NDIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTQtODU0My5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9nc3QtZmZtcGVnLWZpeC1DVkUtMjAxNC04NTQ0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2dzdC1mZm1wZWctZml4LUNWRS0yMDE0LTg1NDUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTQtODU0Ni5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9nc3QtZmZtcGVnLWZpeC1DVkUtMjAxNC04NTQ3LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2dzdC1mZm1wZWctZml4LUNWRS0yMDE0LTkzMTgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTQtOTYwMy5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3ZjViZWFjYWYxMzEyZGIyZGIzMGEwMjZiMzY4ODhjNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3NmZjYTA1YjA4ZTAwMTM0ZTNjYjkyZmEzNDc1MDdmNDJjYmQ0OGRkYjA4ZWQzMzQzYTkxMmRlZjE4N2ZiYjYyIgorCitQUiA9ICJyOCIKKworR1NUUkVBTUVSX0RFQlVHID89ICItLWRpc2FibGUtZGVidWciCisKK0ZGTVBFR19FWFRSQV9DT05GSUdVUkUgPSAiLS13aXRoLWZmbXBlZy1leHRyYS1jb25maWd1cmUiCisjIHBhc3MgLS1jcHUgZm9yIHBvd2VycGMuIGdldCBjcHUgbmFtZSBieSBzdHJpcHBpbmcgInBwYyIgb3IgInBwYzY0IgorIyBmcm9tIERFRkFVTFRUVU5FCitGRk1QRUdfQ1BVX3Bvd2VycGMgPSAiLS1jcHU9JHtAZC5nZXRWYXIoJ0RFRkFVTFRUVU5FJywgRmFsc2UpWzM6XX0iCitGRk1QRUdfQ1BVX3Bvd2VycGM2NCA9ICItLWNwdT0ke0BkLmdldFZhcignREVGQVVMVFRVTkUnLCBGYWxzZSlbNTpdfSIKK0ZGTVBFR19FWFRSQV9DT05GSUdVUkVfQ09NTU9OX0FSRyA9ICItLXRhcmdldC1vcz1saW51eCAke0ZGTVBFR19DUFV9IFwKKyAgLS1jYz0nJHtDQ30nIC0tYXM9JyR7Q0N9JyAtLWxkPScke0NDfScgLS1ubT0nJHtOTX0nIC0tYXI9JyR7QVJ9JyBcCisgIC0tcmFubGliPScke1JBTkxJQn0nIFwKKyAgJHtHU1RSRUFNRVJfREVCVUd9IgorRkZNUEVHX0VYVFJBX0NPTkZJR1VSRV9DT01NT04gPSBcCisnJHtGRk1QRUdfRVhUUkFfQ09ORklHVVJFfT0iJHtGRk1QRUdfRVhUUkFfQ09ORklHVVJFX0NPTU1PTl9BUkd9IicKKworRVhUUkFfT0VDT05GID0gIiR7RkZNUEVHX0VYVFJBX0NPTkZJR1VSRV9DT01NT059IgorCitQQUNLQUdFQ09ORklHID8/PSAiZXh0ZXJuYWwtbGliYXYiCitQQUNLQUdFQ09ORklHW2V4dGVybmFsLWxpYmF2XSA9ICItLXdpdGgtc3lzdGVtLWZmbXBlZywsbGliYXYiCitQQUNLQUdFQ09ORklHW29yY10gPSAiLS1lbmFibGUtb3JjLC0tZGlzYWJsZS1vcmMsb3JjIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLyouc28iCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8qLmxhIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0vZ3N0cmVhbWVyLTAuMTAvKi5hIgorCisjIGh0dHA6Ly9lcnJvcnMueW9jdG9wcm9qZWN0Lm9yZy9FcnJvcnMvRGV0YWlscy80MDczNi8KK1BOQkxBQ0tMSVNUW2dzdC1mZm1wZWddID89ICJOb3QgY29tcGF0aWJsZSB3aXRoIGN1cnJlbnRseSB1c2VkIGZmbXBlZyAzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mbHVlbmRvLW1wM18wLjEwLjMxLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mbHVlbmRvLW1wM18wLjEwLjMxLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlMmNkMmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZsdWVuZG8tbXAzXzAuMTAuMzEuYmIKQEAgLTAsMCArMSwxNCBAQAorcmVxdWlyZSBnc3QtZmx1ZW5kby5pbmMKKworU1VNTUFSWSA9ICJGbHVlbmRvIGNsb3NlZC1mb3JtYXQgbXAzIEdTdHJlYW1lciBwbHVnLWluIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yNTlhNDNkZDFjOTg1NGI3MWZjMzk2Zjc0Njk5ZjRkMiIKK0xJQ0VOU0VfRkxBR1MgPSAiY29tbWVyY2lhbCIKKworR1NUUkVBTUVSX0RFQlVHID89ICItLWRpc2FibGUtZGVidWciCitFWFRSQV9PRUNPTkYgKz0gIiR7R1NUUkVBTUVSX0RFQlVHfSAtLXdpdGgtZ3N0cmVhbWVyLWFwaT0wLjEwIgorCithY3BhdGhzID0gIi1JICR7U30vY29tbW9uL200IC1JICR7U30vbTQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhZGYwMzkwZjM0MTZiYjcyZjkxYzM1ODUyOGJlMGMzOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkYWUwZDA1NTlhNGUxNTljMGRkOTJiN2UxOGRlMDU5YTU3ODNmOGQwMzg5MDRjN2RlNGNhNjM5M2Y3ZDU1YzdkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mbHVlbmRvLW1wZWdkZW11eF8wLjEwLjg1LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mbHVlbmRvLW1wZWdkZW11eF8wLjEwLjg1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiYmE0MWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZsdWVuZG8tbXBlZ2RlbXV4XzAuMTAuODUuYmIKQEAgLTAsMCArMSwxMiBAQAorcmVxdWlyZSBnc3QtZmx1ZW5kby5pbmMKKworU1VNTUFSWSA9ICJGbHVlbmRvIE1QRUcgVHJhbnNwb3J0IFN0cmVhbSBhbmQgUHJvZ3JhbSBTdHJlYW0gZGVtdXhlciBmb3IgR1N0cmVhbWVyIgorTElDRU5TRSA9ICJNUEx2MS4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YmUyODJmMWMzY2M5YTk4Y2MwZGM1YzJiMjVkZmM1MTAgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2dzdG1wZWdkZW11eC5oO2JlZ2lubGluZT0xO2VuZGxpbmU9MTk7bWQ1PWE5ZTkwMDMzZjU5ODk3YjkxNjY0ZDlmMmEyZmYwMWRkIgorTElDRU5TRV9GTEFHUyA9ICJjb21tZXJjaWFsIgorCithY3BhdGhzID0gIi1JICR7U30vY29tbW9uL200IC1JICR7U30vbTQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3YzRmYjk5M2Y4MGI5YWU2MzFiMTE4OTc3MzNmMDk3MCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkZjA0YzkxY2M4ZTVkOWE4OTJjMjQ5MmVkOTg5OTc0YjQ1NDdiZWFhMmEzNjQ3NjQ5ZTg1MTEzMzE3ODk3NDI0IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mbHVlbmRvLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmx1ZW5kby5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E3N2Q2MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmx1ZW5kby5pbmMKQEAgLTAsMCArMSwxNCBAQAorU1VNTUFSWSA9ICJGbHVlbmRvIGNsb3NlZC1mb3JtYXQgR1N0cmVhbWVyIHBsdWctaW4iCitTRUNUSU9OID0gIm11bHRpbWVkaWEiCitIT01FUEFHRSA9ICJodHRwczovL2NvcmUuZmx1ZW5kby5jb20vZ3N0cmVhbWVyL3RyYWMvd2lraSIKK0RFUEVORFMgPSAiZ3N0cmVhbWVyIGdzdC1wbHVnaW5zLWJhc2UgemxpYiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1NSQ19VUkkgPSAiaHR0cDovL2NvcmUuZmx1ZW5kby5jb20vZ3N0cmVhbWVyL3NyYy8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5iejIiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vZ3N0cmVhbWVyLTAuMTAvKi5zbyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLy5kZWJ1ZyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLyoubGEgJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLyouYSIKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS12YWxncmluZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtbWV0YS1iYXNlXzAuMTAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LW1ldGEtYmFzZV8wLjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzOWFiZTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LW1ldGEtYmFzZV8wLjEwLmJiCkBAIC0wLDAgKzEsNzMgQEAKK1NVTU1BUlkgPSAiR1N0cmVhbWVyIHBhY2thZ2UgZ3JvdXBzIgorTElDRU5TRSA9ICJNSVQiCisKK0NPTU1FUkNJQUxfUExVR0lOUyA9ICIke0NPTU1FUkNJQUxfQVVESU9fUExVR0lOU30gJHtDT01NRVJDSUFMX1ZJREVPX1BMVUdJTlN9IgorREVQRU5EU19VR0xZPSIke0AnZ3N0LXBsdWdpbnMtdWdseScgaWYgJ3VnbHknIGluIENPTU1FUkNJQUxfUExVR0lOUy5zcGxpdCgnLScpIGVsc2UgJyd9IgorREVQRU5EU19CQUQ9IiR7QCdnc3QtcGx1Z2lucy1iYWQnIGlmICdiYWQnIGluIENPTU1FUkNJQUxfUExVR0lOUy5zcGxpdCgnLScpIGVsc2UgJyd9IgorREVQRU5EUyA9ICJnc3RyZWFtZXIgZ3N0LXBsdWdpbnMtYmFzZSBnc3QtcGx1Z2lucy1nb29kICR7REVQRU5EU19VR0xZfSAke0RFUEVORFNfQkFEfSIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vTElDRU5TRTttZDU9NGQ5MmNkMzczYWJkYTM5MzdjMmJjNDdmYmM0OWQ2OTAgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9DT1BZSU5HLk1JVDttZDU9M2RhOWNmYmNiNzg4YzgwYTAzODQzNjFiNGRlMjA0MjAiCisKKworUFIgPSAicjEzIgorCitQQUNLQUdFUyA9ICJcCisgICAgZ3N0LW1ldGEtYmFzZSBcCisgICAgZ3N0LW1ldGEteDExLWJhc2UgXAorICAgIGdzdC1tZXRhLWF1ZGlvIFwKKyAgICBnc3QtbWV0YS1kZWJ1ZyBcCisgICAgZ3N0LW1ldGEtdmlkZW8iCisKK0FMTE9XX0VNUFRZX2dzdC1tZXRhLWJhc2UgPSAiMSIKK0FMTE9XX0VNUFRZX2dzdC1tZXRhLXgxMS1iYXNlID0gIjEiCitBTExPV19FTVBUWV9nc3QtbWV0YS1hdWRpbyA9ICIxIgorQUxMT1dfRU1QVFlfZ3N0LW1ldGEtZGVidWcgPSAiMSIKK0FMTE9XX0VNUFRZX2dzdC1tZXRhLXZpZGVvID0gIjEiCisKK1JERVBFTkRTX2dzdC1tZXRhLWJhc2UgPSAiXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ2dzdC1tZXRhLXgxMS1iYXNlJywgJycsIGQpfSBcCisgICAgZ3N0cmVhbWVyIFwKKyAgICBnc3QtcGx1Z2lucy1iYXNlLXBsYXliaW4gXAorICAgIGdzdC1wbHVnaW5zLWJhc2UtZGVjb2RlYmluIFwKKyAgICBnc3QtcGx1Z2lucy1iYXNlLWRlY29kZWJpbjIgXAorICAgIGdzdC1wbHVnaW5zLWJhc2UtZ2lvIFwKKyAgICBnc3QtcGx1Z2lucy1iYXNlLWFsc2EgXAorICAgIGdzdC1wbHVnaW5zLWJhc2Utdm9sdW1lIFwKKyAgICBnc3QtcGx1Z2lucy1iYXNlLWF1ZGlvY29udmVydCBcCisgICAgZ3N0LXBsdWdpbnMtYmFzZS1hdWRpb3Jlc2FtcGxlIFwKKyAgICBnc3QtcGx1Z2lucy1iYXNlLXR5cGVmaW5kZnVuY3Rpb25zIFwKKyAgICBnc3QtcGx1Z2lucy1iYXNlLXZpZGVvc2NhbGUgXAorICAgIGdzdC1wbHVnaW5zLWJhc2UtZmZtcGVnY29sb3JzcGFjZSBcCisgICAgZ3N0LXBsdWdpbnMtZ29vZC1hdXRvZGV0ZWN0IFwKKyAgICBnc3QtcGx1Z2lucy1nb29kLXNvdXBodHRwc3JjIgorCitSUkVDT01NRU5EU19nc3QtbWV0YS14MTEtYmFzZSA9ICJcCisgICAgZ3N0LXBsdWdpbnMtYmFzZS14aW1hZ2VzaW5rIFwKKyAgICBnc3QtcGx1Z2lucy1iYXNlLXh2aW1hZ2VzaW5rIgorCitSREVQRU5EU19nc3QtbWV0YS1hdWRpbyA9ICJcCisgICAgZ3N0LW1ldGEtYmFzZSBcCisgICAgZ3N0LXBsdWdpbnMtYmFzZS12b3JiaXMgXAorICAgIGdzdC1wbHVnaW5zLWJhc2Utb2dnIFwKKyAgICBnc3QtcGx1Z2lucy1nb29kLXdhdnBhcnNlIFwKKyAgICBnc3QtcGx1Z2lucy1nb29kLWZsYWMgXAorICAgICR7Q09NTUVSQ0lBTF9BVURJT19QTFVHSU5TfSIKKworCitSREVQRU5EU19nc3QtbWV0YS1kZWJ1ZyA9ICJcCisgICAgZ3N0LW1ldGEtYmFzZSBcCisgICAgZ3N0LXBsdWdpbnMtZ29vZC1kZWJ1ZyBcCisgICAgZ3N0LXBsdWdpbnMtYmFzZS1hdWRpb3Rlc3RzcmMgXAorICAgIGdzdC1wbHVnaW5zLWJhc2UtdmlkZW90ZXN0c3JjIgorCisKK1JERVBFTkRTX2dzdC1tZXRhLXZpZGVvID0gIlwKKyAgICBnc3QtbWV0YS1iYXNlIFwKKyAgICBnc3QtcGx1Z2lucy1nb29kLWF2aSBcCisgICAgZ3N0LXBsdWdpbnMtZ29vZC1tYXRyb3NrYSBcCisgICAgZ3N0LXBsdWdpbnMtYmFzZS10aGVvcmEgXAorICAgICR7Q09NTUVSQ0lBTF9WSURFT19QTFVHSU5TfSIKKworUlJFQ09NTUVORFNfZ3N0LW1ldGEtdmlkZW8gPSAiXAorICAgIGdzdC1tZXRhLWF1ZGlvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1vcGVubWF4L2djY180LjYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LW9wZW5tYXgvZ2NjXzQuNi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41N2E2M2I1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1vcGVubWF4L2djY180LjYucGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFNhdWwgV29sZCA8c2d3QGxpbnV4LmludGVsLmNvbT4KKworSW5kZXg6IGdzdC1vcGVubWF4LTAuMTAuMS9vbXgvZ3N0b214LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnc3Qtb3Blbm1heC0wLjEwLjEub3JpZy9vbXgvZ3N0b214LmMJMjAxMC0wOS0zMCAxODowMDoyNC4wMDAwMDAwMDAgLTA3MDAKKysrKyBnc3Qtb3Blbm1heC0wLjEwLjEvb214L2dzdG9teC5jCTIwMTEtMDUtMTcgMjM6MDg6MDguNzk0NTM1ODcyIC0wNzAwCitAQCAtMjM4LDcgKzIzOCw4IEBACisgICAgIGNvbnN0IGdjaGFyICplbGVtZW50X25hbWUgPSBnc3Rfc3RydWN0dXJlX250aF9maWVsZF9uYW1lIChlbGVtZW50X3RhYmxlLCBpKTsKKyAgICAgR3N0U3RydWN0dXJlICplbGVtZW50ID0gZ2V0X2VsZW1lbnRfZW50cnkgKGVsZW1lbnRfbmFtZSk7CisgICAgIGNvbnN0IGdjaGFyICp0eXBlX25hbWUsICpwYXJlbnRfdHlwZV9uYW1lOworLSAgICBjb25zdCBnY2hhciAqY29tcG9uZW50X25hbWUsICpjb21wb25lbnRfcm9sZSwgKmxpYnJhcnlfbmFtZTsKKysgICAgY29uc3QgZ2NoYXIgKmNvbXBvbmVudF9uYW1lLCAqbGlicmFyeV9uYW1lOworKyAgICBjb25zdCBnY2hhciBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgKmNvbXBvbmVudF9yb2xlOworICAgICBHVHlwZSB0eXBlOworICAgICBnaW50IHJhbms7CisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LW9wZW5tYXgvcHRyLWFycmF5LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1vcGVubWF4L3B0ci1hcnJheS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OTY1YmJhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1vcGVubWF4L3B0ci1hcnJheS5wYXRjaApAQCAtMCwwICsxLDQ2IEBACitSZW5hbWUgc3RhdGljIGZ1bmN0aW9ucyB0aGF0IHVzZSBHTGliIG5hbWluZyBjb252ZW50aW9ucyBhcyBvbmUgb2YgdGhlbQorKGdfcHRyX2FycmF5X2luc2VydCkgaGFzIG5vdyBiZWVuIGFkZGVkIHRvIEdMaWIuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworZGlmZiAtLWdpdCBhL29teC9nc3RvbXhfdXRpbC5jIGIvb214L2dzdG9teF91dGlsLmMKK2luZGV4IDQyM2U0NDEuLjU3OWRiZjUgMTAwNjQ0CistLS0gYS9vbXgvZ3N0b214X3V0aWwuYworKysrIGIvb214L2dzdG9teF91dGlsLmMKK0BAIC04NSw3ICs4NSw3IEBAIHN0YXRpYyBnYm9vbGVhbiBpbml0aWFsaXplZDsKKyAgKi8KKyAKKyBzdGF0aWMgdm9pZAorLWdfcHRyX2FycmF5X2NsZWFyIChHUHRyQXJyYXkgKiBhcnJheSkKKytvbXhfZ19wdHJfYXJyYXlfY2xlYXIgKEdQdHJBcnJheSAqIGFycmF5KQorIHsKKyAgIGd1aW50IGluZGV4OworICAgZm9yIChpbmRleCA9IDA7IGluZGV4IDwgYXJyYXktPmxlbjsgaW5kZXgrKykKK0BAIC05Myw3ICs5Myw3IEBAIGdfcHRyX2FycmF5X2NsZWFyIChHUHRyQXJyYXkgKiBhcnJheSkKKyB9CisgCisgc3RhdGljIHZvaWQKKy1nX3B0cl9hcnJheV9pbnNlcnQgKEdQdHJBcnJheSAqIGFycmF5LCBndWludCBpbmRleCwgZ3BvaW50ZXIgZGF0YSkKKytvbXhfZ19wdHJfYXJyYXlfaW5zZXJ0IChHUHRyQXJyYXkgKiBhcnJheSwgZ3VpbnQgaW5kZXgsIGdwb2ludGVyIGRhdGEpCisgeworICAgaWYgKGluZGV4ICsgMSA+IGFycmF5LT5sZW4pIHsKKyAgICAgZ19wdHJfYXJyYXlfc2V0X3NpemUgKGFycmF5LCBpbmRleCArIDEpOworQEAgLTM5NCw3ICszOTQsNyBAQCBnX29teF9jb3JlX3VubG9hZCAoR09teENvcmUgKiBjb3JlKQorICAgfQorIAorICAgY29yZV9mb3JfZWFjaF9wb3J0IChjb3JlLCBnX29teF9wb3J0X2ZyZWUpOworLSAgZ19wdHJfYXJyYXlfY2xlYXIgKGNvcmUtPnBvcnRzKTsKKysgIG9teF9nX3B0cl9hcnJheV9jbGVhciAoY29yZS0+cG9ydHMpOworIH0KKyAKKyBzdGF0aWMgaW5saW5lIEdPbXhQb3J0ICoKK0BAIC00MTgsNyArNDE4LDcgQEAgZ19vbXhfY29yZV9uZXdfcG9ydCAoR09teENvcmUgKiBjb3JlLCBndWludCBpbmRleCkKKyAgIH0KKyAKKyAgIHBvcnQgPSBnX29teF9wb3J0X25ldyAoY29yZSwgaW5kZXgpOworLSAgZ19wdHJfYXJyYXlfaW5zZXJ0IChjb3JlLT5wb3J0cywgaW5kZXgsIHBvcnQpOworKyAgb214X2dfcHRyX2FycmF5X2luc2VydCAoY29yZS0+cG9ydHMsIGluZGV4LCBwb3J0KTsKKyAKKyAgIHJldHVybiBwb3J0OworIH0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3Qtb3Blbm1heF8wLjEwLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LW9wZW5tYXhfMC4xMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlMDE1NzkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LW9wZW5tYXhfMC4xMC4xLmJiCkBAIC0wLDAgKzEsMzUgQEAKK1NVTU1BUlkgPSAiR1N0cmVhbWVyIHBsdWctaW4gZm9yIGNvbW11bmljYXRpb24gd2l0aCBPcGVuTUFYIElMIGNvbXBvbmVudHMiCitERVNDUklQVElPTiA9ICJHc3RPcGVuTUFYIGlzIGEgR1N0cmVhbWVyIHBsdWctaW4gdGhhdCBhbGxvd3MgXAorY29tbXVuaWNhdGlvbiB3aXRoIE9wZW5NQVggSW50ZWdyYXRpb24gTGF5ZXIgKElMKSBjb21wb25lbnRzLiBPcGVuTUFYIFwKK0lMIGlzIGFuIGluZHVzdHJ5IHN0YW5kYXJkIHRoYXQgcHJvdmlkZXMgYW4gYWJzdHJhY3Rpb24gbGF5ZXIgZm9yIFwKK2NvbXB1dGVyIGdyYXBoaWNzLCB2aWRlbywgYW5kIHNvdW5kIHJvdXRpbmVzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9mcmVlZGVza3RvcC5vcmcvd2lraS9Hc3RPcGVuTUFYIgorREVQRU5EUyA9ICJnc3RyZWFtZXIiCitSREVQRU5EU18ke1BOfSA9ICJsaWJvbXhpbCIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNFTlNFX0ZMQUdTID0gImNvbW1lcmNpYWwiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mYmMwOTM5MDE4NTdmY2QxMThmMDY1ZjkwMDk4MmMyNCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly91dGlsL3NlbS5oO2JlZ2lubGluZT0xO2VuZGxpbmU9MjA7bWQ1PWFjY2NlNTU1MGQ1NTgzYjgzOWI0NDFhMDYyM2YwOWZjIgorCitTUkNfVVJJID0gImh0dHA6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnL3NyYy9nc3Qtb3Blbm1heC9nc3Qtb3Blbm1heC0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL2djY180LjYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcHRyLWFycmF5LnBhdGNoIFwKKyAgICAgICAgICAgIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworIyBUZWxsIGNvbmZpZ3VyZSB0aGF0IHRoaXMgaXNuJ3QgYSBkZXZlbG9wbWVudCBzbmFwc2hvdCBzbyB3ZSBkb24ndCB3YW50CisjIC1XZXJyb3IgKGhvcGVmdWxseSBmaXhlZCBpbiAwLjEwLjIpCitleHBvcnQgR1NUX0NWUz0ibm8iCisKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLXZhbGdyaW5kIgorCitQUiA9ICJyNCIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC9saWJnc3RvbXguc28iCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC9saWJnc3RvbXgubGEiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC9saWJnc3RvbXguYSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLy5kZWJ1Zy8iCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0ZDAzNzBiZmU5OWRlYTIwOTE4Yzg0MzQ3YWJhZGI0ZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5MDc0ZDVhMDU5MTk5NTEzM2QxOWNmYjE1MTQ0ZjE5NjY0ZjkwMmMxNjIzZjk5NjU5NTY5NWNmMmMyMDcwZTFmIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhZC9idWZmZXItb3ZlcmZsb3ctbXA0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhZC9idWZmZXItb3ZlcmZsb3ctbXA0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzNWFjZGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtYmFkL2J1ZmZlci1vdmVyZmxvdy1tcDQucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorRGVzY3JpcHRpb246IEZpeCBidWZmZXIgb3ZlcmZsb3cgaW4gbXA0IHBhcnNpbmcKK0F1dGhvcjogUmFscGggR2lsZXMgPGdpbGVzQG1vemlsbGEuY29tPgorLS0tCitCYWNrcG9ydCBwYXRjaCBmcm9tIGRlYmlhbiB0byBmaXggQ1ZFLTIwMTUtMDc5Ny4KK2h0dHBzOi8vc291cmNlcy5kZWJpYW4ubmV0L2RhdGEvbWFpbi9nL2dzdC1wbHVnaW5zLWJhZDAuMTAvMC4xMC4yMy03LjErZGViN3UyL2RlYmlhbi9wYXRjaGVzL2J1ZmZlci1vdmVyZmxvdy1tcDQucGF0Y2gKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorLS0tIGdzdC1wbHVnaW5zLWJhZDAuMTAtMC4xMC4yMy5vcmlnL2dzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmMKKysrKyBnc3QtcGx1Z2lucy1iYWQwLjEwLTAuMTAuMjMvZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYworQEAgLTM4NCw2ICszODQsMTEgQEAgZ3N0X2gyNjRfcGFyc2Vfd3JhcF9uYWwgKEdzdEgyNjRQYXJzZSAqCisgCisgICBHU1RfREVCVUdfT0JKRUNUIChoMjY0cGFyc2UsICJuYWwgbGVuZ3RoICVkIiwgc2l6ZSk7CisgCisrICBpZiAoc2l6ZSA+IEdfTUFYVUlOVDMyIC0gbmwpIHsKKysgICAgR1NUX0VMRU1FTlRfRVJST1IgKGgyNjRwYXJzZSwgU1RSRUFNLCBGQUlMRUQsIChOVUxMKSwKKysgICAgICAgICgib3ZlcmZsb3cgaW4gbmFsIHNpemUiKSk7CisrICAgIHJldHVybiBOVUxMOworKyAgfQorICAgYnVmID0gZ3N0X2J1ZmZlcl9uZXdfYW5kX2FsbG9jIChzaXplICsgbmwgKyA0KTsKKyAgIGlmIChmb3JtYXQgPT0gR1NUX0gyNjRfUEFSU0VfRk9STUFUX0FWQykgeworICAgICBHU1RfV1JJVEVfVUlOVDMyX0JFIChHU1RfQlVGRkVSX0RBVEEgKGJ1ZiksIHNpemUgPDwgKDMyIC0gOCAqIG5sKSk7CitAQCAtNDUyLDYgKzQ1NywxMSBAQCBnc3RfaDI2NF9wYXJzZV9wcm9jZXNzX25hbCAoR3N0SDI2NFBhcnNlCisgICAgIEdTVF9ERUJVR19PQkpFQ1QgKGgyNjRwYXJzZSwgIm5vdCBwcm9jZXNzaW5nIG5hbCBzaXplICV1IiwgbmFsdS0+c2l6ZSk7CisgICAgIHJldHVybjsKKyAgIH0KKysgIGlmIChHX1VOTElLRUxZIChuYWx1LT5zaXplID4gMjAgKiAxMDI0ICogMTAyNCkpIHsKKysgICAgR1NUX0RFQlVHX09CSkVDVCAoaDI2NHBhcnNlLCAibm90IHByb2Nlc3NpbmcgbmFsIHNpemUgJXUgKHRvbyBiaWcpIiwKKysgICAgICAgIG5hbHUtPnNpemUpOworKyAgICByZXR1cm47CisrICB9CisgCisgICAvKiB3ZSBoYXZlIGEgcGVlayBhcyB3ZWxsICovCisgICBuYWxfdHlwZSA9IG5hbHUtPnR5cGU7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtYmFkXzAuMTAuMjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtYmFkXzAuMTAuMjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGFhZDBiNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYWRfMC4xMC4yMy5iYgpAQCAtMCwwICsxLDYwIEBACityZXF1aXJlIGdzdC1wbHVnaW5zLmluYworCitMSUNFTlNFID0gIkdQTHYyKyAmIExHUEx2MisgJiBMR1BMdjIuMSsgIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDYzNmU3M2ZmMDIxNWU4ZDY3MmRjNGMzMmMzMTdiYjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3N0L3R0YS9maWx0ZXJzLmg7YmVnaW5saW5lPTEyO2VuZGxpbmU9Mjk7bWQ1PTYyOWIwYzdhNjY1ZDE1NWE2Njc3Nzc4ZjQ0NjBlYzA2IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT01NWNhODE3Y2NiN2Q1YjViNjYzNTU2OTBlOWFiYzYwNSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9nc3QvdHRhL2NyYzMyLmg7YmVnaW5saW5lPTEyO2VuZGxpbmU9Mjk7bWQ1PTcxYTkwNGQ5OWNlN2FlMGMxY2YxMjk4OTFiOTgxNDVjIgorCitERVBFTkRTICs9ICJnc3QtcGx1Z2lucy1iYXNlIgorCitQUiA9ICJyNCIKKworU1JDX1VSSSArPSAiZmlsZTovL2J1ZmZlci1vdmVyZmxvdy1tcDQucGF0Y2giCisKK2luaGVyaXQgZ2V0dGV4dCBnc2V0dGluZ3MKKworRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtZXhwZXJpbWVudGFsIFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXNkbCAtLWRpc2FibGUtY2RhdWRpbyAtLWRpc2FibGUtZGlyZWN0ZmIgXAorICAgICAgICAgICAgICAgICAtLWRpc2FibGUtdmRwYXUgLS1kaXNhYmxlLWFwZXhzaW5rIgorCitQQUNLQUdFQ09ORklHID8/PSAiYnppcCBjdXJsIFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICdyc3ZnJywgJycsIGQpfSIKKworUEFDS0FHRUNPTkZJR1tiemlwXSA9ICItLWVuYWJsZS1iejIsLS1kaXNhYmxlLWJ6MixiemlwMiIKK1BBQ0tBR0VDT05GSUdbY3VybF0gPSAiLS1lbmFibGUtY3VybCwtLWRpc2FibGUtY3VybCxjdXJsIgorUEFDS0FHRUNPTkZJR1tyc3ZnXSA9ICItLWVuYWJsZS1yc3ZnLC0tZGlzYWJsZS1yc3ZnLGxpYnJzdmcsIgorUEFDS0FHRUNPTkZJR1tvcmNdID0gIi0tZW5hYmxlLW9yYywtLWRpc2FibGUtb3JjLG9yYyIKK1BBQ0tBR0VDT05GSUdbbmVvbl0gPSAiLS1lbmFibGUtbmVvbiwtLWRpc2FibGUtbmVvbixuZW9uIgorUEFDS0FHRUNPTkZJR1ttbXNdID0gIi0tZW5hYmxlLWxpYm1tcywtLWRpc2FibGUtbGlibW1zLGxpYm1tcyIKK1BBQ0tBR0VDT05GSUdbY29nXSA9ICItLWVuYWJsZS1jb2csLS1kaXNhYmxlLWNvZyxsaWJwbmciCitQQUNLQUdFQ09ORklHW2ZhYWRdID0gIi0tZW5hYmxlLWZhYWQsLS1kaXNhYmxlLWZhYWQsZmFhZDIiCitQQUNLQUdFQ09ORklHW2pwMmtdID0gIi0tZW5hYmxlLWpwMmssLS1kaXNhYmxlLWpwMmssamFzcGVyIgorUEFDS0FHRUNPTkZJR1ttb2RwbHVnXSA9ICItLWVuYWJsZS1tb2RwbHVnLC0tZGlzYWJsZS1tb2RwbHVnLGxpYm1vZHBsdWciCitQQUNLQUdFQ09ORklHW29wdXNdID0gIi0tZW5hYmxlLW9wdXMsLS1kaXNhYmxlLW9wdXMsbGlib3B1cyIKK1BBQ0tBR0VDT05GSUdbc25kZmlsZV0gPSAiLS1lbmFibGUtc25kZmlsZSwtLWRpc2FibGUtc25kZmlsZSxsaWJzbmRmaWxlMSIKK1BBQ0tBR0VDT05GSUdbdnA4XSA9ICItLWVuYWJsZS12cDgsLS1kaXNhYmxlLXZwOCxsaWJ2cHgiCitQQUNLQUdFQ09ORklHW2Fzc10gPSAiLS1lbmFibGUtYXNzcmVuZGVyLC0tZGlzYWJsZS1hc3NyZW5kZXIsbGliYXNzIgorUEFDS0FHRUNPTkZJR1tvcGVuYWxdID0gIi0tZW5hYmxlLW9wZW5hbCwtLWRpc2FibGUtb3BlbmFsLG9wZW5hbC1zb2Z0IgorUEFDS0FHRUNPTkZJR1tzY2hyb10gPSAiLS1lbmFibGUtc2Nocm8sLS1kaXNhYmxlLXNjaHJvLHNjaHJvZWRpbmdlciIKK1BBQ0tBR0VDT05GSUdbZGMxMzk0XSA9ICItLWVuYWJsZS1kYzEzOTQsLS1kaXNhYmxlLWRjMTM5NCxsaWJkYzEzOTQiCitQQUNLQUdFQ09ORklHW2ZhYWNdID0gIi0tZW5hYmxlLWZhYWMsLS1kaXNhYmxlLWZhYWMsZmFhYyIKK1BBQ0tBR0VDT05GSUdbcnRtcF0gPSAiLS1lbmFibGUtcnRtcCwtLWRpc2FibGUtcnRtcCxydG1wZHVtcCIKK1BBQ0tBR0VDT05GSUdbdm9hbXJ3YmVuY10gPSAiLS1lbmFibGUtdm9hbXJ3YmVuYywtLWRpc2FibGUtdm9hbXJ3YmVuYyx2by1hbXJ3YmVuYyIKK1BBQ0tBR0VDT05GSUdbdm9hYWNlbmNdID0gIi0tZW5hYmxlLXZvYWFjZW5jLC0tZGlzYWJsZS12b2FhY2VuYyx2by1hYWNlbmMiCitQQUNLQUdFQ09ORklHW3Jlc2luZHZkXSA9ICItLWVuYWJsZS1yZXNpbmR2ZCwtLWRpc2FibGUtcmVzaW5kdmQsbGliZHZkbmF2IGxpYmR2ZHJlYWQiCisKK0FSTV9JTlNUUlVDVElPTl9TRVQgPSAiYXJtIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tcmVzaW5kdmQiCitGSUxFU18ke1BOfS1yZXNpbmR2ZCA9ICIke2xpYmRpcn0vZ3N0cmVhbWVyLSR7TElCVn0vbGlicmVzaW5kdmQuc28iCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItJHtMSUJWfS9saWJyZXNpbmR2ZC5sYSIKK0ZJTEVTXyR7UE59LXZvYW1yd2JlbmMgKz0gIiR7ZGF0YWRpcn0vZ3N0cmVhbWVyLSR7TElCVn0vcHJlc2V0cy9Hc3RWb0FtcndiRW5jLnBycyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisJIyBUaGlzIG00IGZpbGUgY29udGFpbnMgbmFzdGluZXNzIHdoaWNoIGNvbmZsaWN0cyB3aXRoIGxpYnRvb2wgMi4yLjIKKwlybSAke1N9L200L2xpYi1saW5rLm00IHx8IHRydWUKK30KKworU1JDX1VSSVttZDVzdW1dID0gImZjYjA5Nzk4MTE0NDYxOTU1MjYwZTRkOTQwZGI1OTg3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBlYWU3ZDFhMTM1N2FlODM3N2ZkZWQ2YTFiNDJlNjYzODg3YmVhYmUwZTZjYzMzNmUyZWY5YWRhNDJlMTE0OTEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtYmFzZS0wLjEwLjM2L2F1ZGlvcmVzYW1wbGUtRml4LWJ1aWxkLW9uLXg4Ni1pZi1lbW1pbnRyaW4uaC1pcy1hdmEucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtYmFzZS0wLjEwLjM2L2F1ZGlvcmVzYW1wbGUtRml4LWJ1aWxkLW9uLXg4Ni1pZi1lbW1pbnRyaW4uaC1pcy1hdmEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTIxNDI1NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlLTAuMTAuMzYvYXVkaW9yZXNhbXBsZS1GaXgtYnVpbGQtb24teDg2LWlmLWVtbWludHJpbi5oLWlzLWF2YS5wYXRjaApAQCAtMCwwICsxLDM3IEBACithdWRpb3Jlc2FtcGxlOiBGaXggYnVpbGQgb24geDg2IGlmIGVtbWludHJpbi5oIGlzIGF2YWlsYWJsZSBidXQgY2FuJ3QgYmUgdXNlZAorCitPbiB4ODYsIEVNTUlOVFJJTiBpcyBkZWZpbmVkIGJ1dCBub3QgdXNhYmxlIHdpdGhvdXQgU1NFIHNvIGNoZWNrIGZvcgorX19TU0VfXyBhbmQgX19TU0UyX18gYXMgd2VsbC4KKworaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDY5MAorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1NpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jIHwgICAgNCArKy0tCisgMSBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jIGIvZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuYworaW5kZXggOThkMDA2Yy4uNDgxZmEwMSAxMDA2NDQKKy0tLSBhL2dzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmMKKysrKyBiL2dzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmMKK0BAIC03NywxMyArNzcsMTMgQEAKKyAjZGVmaW5lIEVYUE9SVCBHX0dOVUNfSU5URVJOQUwKKyAKKyAjaWZkZWYgX1VTRV9TU0UKKy0jaWZuZGVmIEhBVkVfWE1NSU5UUklOX0gKKysjaWYgIWRlZmluZWQoX19TU0VfXykgfHwgIWRlZmluZWQoSEFWRV9YTU1JTlRSSU5fSCkKKyAjdW5kZWYgX1VTRV9TU0UKKyAjZW5kaWYKKyAjZW5kaWYKKyAKKyAjaWZkZWYgX1VTRV9TU0UyCistI2lmbmRlZiBIQVZFX0VNTUlOVFJJTl9ICisrI2lmICFkZWZpbmVkKF9fU1NFMl9fKSB8fCAhZGVmaW5lZChIQVZFX0VNTUlOVFJJTl9IKQorICN1bmRlZiBfVVNFX1NTRTIKKyAjZW5kaWYKKyAjZW5kaWYKKy0tIAorMS43LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhc2UtMC4xMC4zNi9jb25maWd1cmUuYWMtZml4LXN1YnBhcnNlLXBsdWdpbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlLTAuMTAuMzYvY29uZmlndXJlLmFjLWZpeC1zdWJwYXJzZS1wbHVnaW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjg2MDJjOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlLTAuMTAuMzYvY29uZmlndXJlLmFjLWZpeC1zdWJwYXJzZS1wbHVnaW4ucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW3NpbWlsYXIgcGF0Y2ggYnkgb3RoZXIgYXV0aG9yLCBidWd6aWxsYV0KK0J1Z3RyYWNrZXItVVJMOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNjAwCisKK1ByZXBlbmQgUEtHX0NPTkZJR19TWVNST09UIHRvIGluY2x1ZGVkaXIsIHNvIGNvbmZpZ3VyZSBkb2Vzbid0CitzZWFyY2ggZm9yIGdzdGNvbmZpZy5oIGluIC91c3IvaW5jbHVkZS4KKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBPYmVycml0dGVyIDxvYmlAb3BlbmRyZWFtYm94Lm9yZz4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8ICAgIDIgKy0KKyAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggMTkwMWJjZi4uNDYwZmIwYSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNDM1LDcgKzQzNSw3IEBAIEFHX0dTVF9DSEVDS19QTFVHSU4odm9sdW1lKQorIGRubCBjaGVjayBmb3IgZ3N0cmVhbWVyIGNvcmUgZmVhdHVyZXMgKHN1YnN5c3RlbXMpCisgZG5sIEZJWE1FOiB0aGlzIGFzc3VtZXMgc3JjZGlyID09IGJ1aWxkZGlyIGZvciB1bmluc3RhbGxlZCBzZXR1cHMKKyBHU1RfQ09ORklHUEFUSD1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1pbmNsdWRlZGlyIGdzdHJlYW1lci0wLjEwYCIvZ3N0L2dzdGNvbmZpZy5oIgorLUFHX0dTVF9QQVJTRV9TVUJTWVNURU1fRElTQUJMRVMoJEdTVF9DT05GSUdQQVRIKQorK0FHX0dTVF9QQVJTRV9TVUJTWVNURU1fRElTQUJMRVMoJFBLR19DT05GSUdfU1lTUk9PVF9ESVIkR1NUX0NPTkZJR1BBVEgpCisgQU1fQ09ORElUSU9OQUwoVVNFX1hNTCwgdGVzdCAkR1NUX0RJU0FCTEVfWE1MICE9ICIxIikKKyAKKyBkbmwgZGlzYWJsZSBwbHVnLWlucyB0aGF0IHJlcXVpcmUgbGlieG1sMidzIEhUTUwgc3VwcG9ydCBpZiBpdCBpcyBub3QgYXZhaWxhYmxlCistLSAKKzEuNy41LjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhc2UtMC4xMC4zNi9nc3QtcGx1Z2lucy1iYXNlLXRyZW1vci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlLTAuMTAuMzYvZ3N0LXBsdWdpbnMtYmFzZS10cmVtb3IucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTlkYmM5ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlLTAuMTAuMzYvZ3N0LXBsdWdpbnMtYmFzZS10cmVtb3IucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorUmVtb3ZlIC1EVFJFTU9SIG9wdGlvbiBzaW5jZSBUcmVtb3IgaGFzIGRyb3BwZWQgaXRzIGludGVybmFsCitsaWJvZ2cyLCBhbmQgZ3N0LXBsdWdpbnMtYmFzZSBoYXMgZGVwZW5kZW5jeSBvbiB0aGF0LgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IERvbmd4aWFvIFh1IDxkb25neGlhby54dUBpbnRlbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBTaGFuZSBXYW5nIDxzaGFuZS53YW5nQGludGVsLmNvbT4KKworZGlmZiAtciA3MDA2NWZiNGUwODUgZXh0L3ZvcmJpcy9NYWtlZmlsZS5hbQorLS0tIGEvZXh0L3ZvcmJpcy9NYWtlZmlsZS5hbQlUdWUgTWFyIDEzIDE2OjM2OjU2IDIwMTIgKzA4MDAKKysrKyBiL2V4dC92b3JiaXMvTWFrZWZpbGUuYW0JVHVlIE1hciAxMyAxNjozODo1MyAyMDEyICswODAwCitAQCAtMzAsNyArMzAsNyBAQAorIAlnc3R2b3JiaXNkZWMuYyBnc3R2b3JiaXNkZWNsaWIuYyBnc3R2b3JiaXNjb21tb24uYworIGxpYmdzdGl2b3JiaXNkZWNfbGFfQ0ZMQUdTID0gXAorIAkkKEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTKSAkKEdTVF9DRkxBR1MpIFwKKy0JLURUUkVNT1IgJChJVk9SQklTX0NGTEFHUykKKysJJChJVk9SQklTX0NGTEFHUykKKyBsaWJnc3Rpdm9yYmlzZGVjX2xhX0xJQkFERCA9IFwKKyAJJCh0b3BfYnVpbGRkaXIpL2dzdC1saWJzL2dzdC90YWcvbGliZ3N0dGFnLUBHU1RfTUFKT1JNSU5PUkAubGEgXAorIAkkKHRvcF9idWlsZGRpcikvZ3N0LWxpYnMvZ3N0L2F1ZGlvL2xpYmdzdGF1ZGlvLUBHU1RfTUFKT1JNSU5PUkAubGEgXApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhc2VfMC4xMC4zNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlXzAuMTAuMzYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzg2ODM0ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlXzAuMTAuMzYuYmIKQEAgLTAsMCArMSw0MyBAQAorcmVxdWlyZSBnc3QtcGx1Z2lucy5pbmMKKworTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDYzNmU3M2ZmMDIxNWU4ZDY3MmRjNGMzMmMzMTdiYjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vY29tbW9uL2NvdmVyYWdlL2NvdmVyYWdlLXJlcG9ydC5wbDtiZWdpbmxpbmU9MjtlbmRsaW5lPTE3O21kNT02MjI5MjFmZmFkOGNiMThhYjkwNmM1NjA1Mjc4OGEzZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NTVjYTgxN2NjYjdkNWI1YjY2MzU1NjkwZTlhYmM2MDUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvdXRpbHMuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTIwO21kNT05YzgzYTIwMGI4ZTU5N2IyNmNhMjlkZjIwZmM2ZWNkMCIKKworREVQRU5EUyArPSAiYWxzYS1saWIgbGlib2dnIGxpYnZvcmJpcyBsaWJ0aGVvcmEgdXRpbC1saW51eCB0cmVtb3IgZ2xpYi0yLjAtbmF0aXZlIgorCitTUkNfVVJJICs9ICJmaWxlOi8vZ3N0LXBsdWdpbnMtYmFzZS10cmVtb3IucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS5hYy1maXgtc3VicGFyc2UtcGx1Z2luLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9hdWRpb3Jlc2FtcGxlLUZpeC1idWlsZC1vbi14ODYtaWYtZW1taW50cmluLmgtaXMtYXZhLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjc3NmM3Mzg4M2U1NjdmNjdiOWM0YTI4NDdkOGQwNDFhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJjZDNiMGZhOGU5YjU5NWRiOGY1MTRlZjdjMmJkYmNkNjM5YTBkNjNkMTU0YzAwZjhjOWI2MDkzMjFmNDk5NzYiCisKK1BSID0gInI4IgorCitpbmhlcml0IGdldHRleHQKKworRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtZnJlZXR5cGV0ZXN0IgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAneDExJywgJycsIGQpfSIKKworUEFDS0FHRUNPTkZJR1tnbm9tZXZmc10gPSAiLS1lbmFibGUtZ25vbWVfdmZzLC0tZGlzYWJsZS1nbm9tZV92ZnMsZ25vbWUtdmZzIgorUEFDS0FHRUNPTkZJR1tvcmNdID0gIi0tZW5hYmxlLW9yYywtLWRpc2FibGUtb3JjLG9yYyIKK1BBQ0tBR0VDT05GSUdbcGFuZ29dID0gIi0tZW5hYmxlLXBhbmdvLC0tZGlzYWJsZS1wYW5nbyxwYW5nbyIKK1BBQ0tBR0VDT05GSUdbeDExXSA9ICItLWVuYWJsZS14IC0tZW5hYmxlLXh2aWRlbywtLWRpc2FibGUteCAtLWRpc2FibGUteHZpZGVvLHZpcnR1YWwvbGlieDExIGxpYnh2IGxpYnNtIGxpYmljZSIKK1BBQ0tBR0VDT05GSUdbY2RwYXJhbm9pYV0gPSAiLS1lbmFibGUtY2RwYXJhbm9pYSwtLWRpc2FibGUtY2RwYXJhbm9pYSxjZHBhcmFub2lhIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKwkjIFRoaXMgbTQgZmlsZSBjb250YWlucyBuYXN0aW5lc3Mgd2hpY2ggY29uZmxpY3RzIHdpdGggbGlidG9vbCAyLjIuMgorCXJtIC1mICR7U30vbTQvbGliLWxpbmsubTQKK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vJHtCUE59IgorCitDQUNIRURfQ09ORklHVVJFVkFSU19hcHBlbmRfeDg2ID0gIiBhY19jdl9oZWFkZXJfZW1taW50cmluX2g9bm8gYWNfY3ZfaGVhZGVyX3htbWludHJpbl9oPW5vIgorCisjIC91c3IvYmluL2dzdC12aXN1YWxpc2UtMC4xMCBpcyBhIHBlcmwgc2NyaXB0LgorUkRFUEVORFNfJHtQTn0tYXBwcyArPSAicGVybCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nbC8wMDAxLWNvbmRpdGlvbmFsLWdsLWZyYW1lYnVmZmVyLXVuZGVmaW5lZC11c2UucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ2wvMDAwMS1jb25kaXRpb25hbC1nbC1mcmFtZWJ1ZmZlci11bmRlZmluZWQtdXNlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjMmY4OGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ2wvMDAwMS1jb25kaXRpb25hbC1nbC1mcmFtZWJ1ZmZlci11bmRlZmluZWQtdXNlLnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK0Zyb20gMTRkNTFjYmVmZWYxOTczN2U3YWIyYjY4MThlZTFkM2JkYjI0OGQxMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEplcmVteSBTdGFzaGx1ayA8anN0YXNobHVrQGRla2FyZXNlYXJjaC5jb20+CitEYXRlOiBXZWQsIDYgRmViIDIwMTMgMDk6NTk6NDggLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZGl0aW9uYWwgZ2wgZnJhbWVidWZmZXIgdW5kZWZpbmVkIHVzZQorCitUaGUgT3BlbkdMIGV4dGVuc2lvbiBHTF9BUkJfZnJhbWVidWZmZXJfb2JqZWN0IGRlZmluZXMgdGhlIG1hY3JvCitHTF9GUkFNRUJVRkZFUl9VTkRFRklORUQuIFRoZSBtYWNybyB3aWxsIG9ubHkgbmVlZCB0byBtYXAgdG8gYW4gZXJyb3IKK3N0cmluZyBpZiB0aGUgZXh0ZW5zaW9uIHByb3ZpZGVzIGZ1bmN0aW9ucyB0aGF0IG1pZ2h0IHJldHVybiB0aGUgbWFjcm8uCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBKZXJlbXkgU3Rhc2hsdWsgPGpzdGFzaGx1a0BkZWthcmVzZWFyY2guY29tPgorLS0tCisgZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jIHwgICAgMiArKworIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2dzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYyBiL2dzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYworaW5kZXggM2VkMGI3MS4uNjRjNmMyYyAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYworKysrIGIvZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jCitAQCAtMjE3Nyw5ICsyMTc3LDExIEBAIGdzdF9nbF9kaXNwbGF5X2NoZWNrX2ZyYW1lYnVmZmVyX3N0YXR1cyAodm9pZCkKKyAgICAgICBHU1RfRVJST1IgKCJHTF9GUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0RJTUVOU0lPTlMiKTsKKyAgICAgICBicmVhazsKKyAKKysjaWYgZGVmaW5lZChHTF9BUkJfZnJhbWVidWZmZXJfb2JqZWN0KQorICAgICBjYXNlIEdMX0ZSQU1FQlVGRkVSX1VOREVGSU5FRDoKKyAgICAgICBHU1RfRVJST1IgKCJHTF9GUkFNRUJVRkZFUl9VTkRFRklORUQiKTsKKyAgICAgICBicmVhazsKKysjZW5kaWYKKyAKKyAgICAgZGVmYXVsdDoKKyAgICAgICBHU1RfRVJST1IgKCJHZW5lcmFsIEZCTyBlcnJvciIpOworLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nbF8wLjEwLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ2xfMC4xMC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4NTlmMzMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ2xfMC4xMC4zLmJiCkBAIC0wLDAgKzEsMjUgQEAKK3JlcXVpcmUgZ3N0LXBsdWdpbnMuaW5jCisKK0xJQ0VOU0UgPSAiR1BMdjIrICYgTEdQTHYyKyAmIExHUEx2Mi4xKyAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01NWNhODE3Y2NiN2Q1YjViNjYzNTU2OTBlOWFiYzYwNSIKKworU1JDX1VSSVttZDVzdW1dID0gImFjNzBlZGUxM2Y3OTk3OGQ1NmVhZWQ4YWJhYTNjOTM4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ4MzQwYjZhNGI4YWJjZTE2MzQ0YTdiYzMzZTc0YTk0ZmRjY2U0ZjU3ZWY2MzQyY2RmMmY5NDFjNDI5YmYyMTAiCisKK1NSQ19VUkkgKz0gIiBmaWxlOi8vMDAwMS1jb25kaXRpb25hbC1nbC1mcmFtZWJ1ZmZlci11bmRlZmluZWQtdXNlLnBhdGNoIgorCitERVBFTkRTICs9ICJnc3QtcGx1Z2lucy1iYXNlIHZpcnR1YWwvbGliZ2xlczIgdmlydHVhbC9lZ2wganBlZyBsaWJwbmcgZ2xldyIKKworUFIgPSAicjQiCisKK2luaGVyaXQgZ2V0dGV4dAorCisjIFRoaXMgcGFja2FnZSBkb2Vzbid0IGhhdmUgYSBjb25maWd1cmUgc3dpdGNoIGZvciBFR0wgb3IgR0wsIHNvIGZvcmNpYmx5IHRlbGwKKyMgY29uZmlndXJlIHRoYXQgaXQgY2FuJ3QgZmluZCBnbC5oIHNvIGl0IGFsd2F5cyB1c2VzIEVHTC4gIElmL3doZW4gd2UgaGF2ZSBzb21lCisjIHdheSBmb3IgbWFjaGluZXMgdG8gc3BlY2lmeSB0aGVpciBwcmVmZXJyZWQgR0wgZmxhdm91ciB0aGlzIGNhbiBiZQorIyBhdXRvbWF0aWNhbGx5IGFkYXB0ZWQuCitFWFRSQV9PRUNPTkYgKz0gImFjX2N2X2hlYWRlcl9HTF9nbF9oPW5vIgorCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorQUxMT1dfRU1QVFlfJHtQTn0tYXBwcyA9ICIxIgorQUxMT1dfRU1QVFlfJHtQTn0tZ2xpYiA9ICIxIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdvb2QtMC4xMC4zMS8wMDAxLXY0bDItZml4LWJ1aWxkLXdpdGgtcmVjZW50LWtlcm5lbHMtdGhlLXY0bDJfYnVmZmVyLWkucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ29vZC0wLjEwLjMxLzAwMDEtdjRsMi1maXgtYnVpbGQtd2l0aC1yZWNlbnQta2VybmVscy10aGUtdjRsMl9idWZmZXItaS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NDU2ZDNjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdvb2QtMC4xMC4zMS8wMDAxLXY0bDItZml4LWJ1aWxkLXdpdGgtcmVjZW50LWtlcm5lbHMtdGhlLXY0bDJfYnVmZmVyLWkucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorRnJvbSAxMmQxOGZlNGU5OGU3YzIzMmQ1OWI1NmQ1MjlhMDUyMWYyOTNmZTZkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogV2VkLCA1IFNlcCAyMDEyIDE4OjU0OjQyICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIHY0bDI6IGZpeCBidWlsZCB3aXRoIHJlY2VudCBrZXJuZWxzLCB0aGUgdjRsMl9idWZmZXIgaW5wdXQKKyBmaWVsZCB3YXMgcmVtb3ZlZAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1sxXSBodHRwOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWdvb2QvY29tbWl0Lz9pZD05ZjJhYThkNDdmODM1ZWExNTVhYWY2MzVmNjE4YzBmYzFjYTg3MDEyCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmMgfCAgICAxIC0KKyAxIGZpbGVzIGNoYW5nZWQsIDAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3N5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmMgYi9zeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jCitpbmRleCBiODFjNmE0Li41MWNjMGNlIDEwMDY0NAorLS0tIGEvc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYworKysrIGIvc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYworQEAgLTE4MSw3ICsxODEsNiBAQCBnc3RfdjRsMl9idWZmZXJfbmV3IChHc3RWNGwyQnVmZmVyUG9vbCAqIHBvb2wsIGd1aW50IGluZGV4LCBHc3RDYXBzICogY2FwcykKKyAgICAgR1NUX0xPR19PQkpFQ1QgKHBvb2wtPnY0bDJlbGVtLCAiICBNTUFQIG9mZnNldDogICV1IiwKKyAgICAgICAgIHJldC0+dmJ1ZmZlci5tLm9mZnNldCk7CisgICBHU1RfTE9HX09CSkVDVCAocG9vbC0+djRsMmVsZW0sICIgIGxlbmd0aDogICAgJXUiLCByZXQtPnZidWZmZXIubGVuZ3RoKTsKKy0gIEdTVF9MT0dfT0JKRUNUIChwb29sLT52NGwyZWxlbSwgIiAgaW5wdXQ6ICAgICAldSIsIHJldC0+dmJ1ZmZlci5pbnB1dCk7CisgCisgICBkYXRhID0gKGd1aW50OCAqKSB2NGwyX21tYXAgKDAsIHJldC0+dmJ1ZmZlci5sZW5ndGgsCisgICAgICAgUFJPVF9SRUFEIHwgUFJPVF9XUklURSwgTUFQX1NIQVJFRCwgcG9vbC0+dmlkZW9fZmQsCistLSAKKzEuNy42LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdvb2QtMC4xMC4zMS8wMDAxLXY0bDJfY2FsbHMtZGVmaW5lLVY0TDJfQ0lEX0hDRU5URVItYW5kLVY0TDJfQ0lEX1ZDRU4ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ29vZC0wLjEwLjMxLzAwMDEtdjRsMl9jYWxscy1kZWZpbmUtVjRMMl9DSURfSENFTlRFUi1hbmQtVjRMMl9DSURfVkNFTi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZDBkZTU4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdvb2QtMC4xMC4zMS8wMDAxLXY0bDJfY2FsbHMtZGVmaW5lLVY0TDJfQ0lEX0hDRU5URVItYW5kLVY0TDJfQ0lEX1ZDRU4ucGF0Y2gKQEAgLTAsMCArMSw0NSBAQAorRnJvbSBjY2IwMWRlODA5NmEzMmQ4NmQ0N2IwZDkyZWMzNDE2YzU3ZWU0ZDI1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQHdpbmRyaXZlci5jb20+CitEYXRlOiBUaHUsIDIyIEF1ZyAyMDEzIDEyOjE1OjU0IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIHY0bDJfY2FsbHM6IGRlZmluZSBWNEwyX0NJRF9IQ0VOVEVSIGFuZCBWNEwyX0NJRF9WQ0VOVEVSCisKK2tlcm5lbCBjb21taXQgMjRiOWY1MDE3IFtbbWVkaWFdIFY0TDogUmVtb3ZlIGRlcHJlY2F0ZWQgaW1hZ2UgY2VudGVyaW5nIGNvbnRyb2xzXQorcmVtb3ZlZCB0aGUgZGVmaW5pdGlvbnMgb2YgVjRMMl9DSURfSENFTlRFUiBhbmQgVjRMMl9DSURfVkNFTlRFUiBhZnRlciB0aHJlZQoreWVhcnMgb2YgZGVwcmVjaWF0aW9uLgorCitUaGUgaW9jdGwgdmFsdWVzIGFyZSBzdGlsbCBmcmVlLCBhbmQgdGhlIGNhc2Ugc3RhdGVtZW50IHdoaWNoIHByb2Nlc3Nlc3MgdGhlbQoraW4gdjRsMiB1c2Vyc3BhY2UgZmFsbHMgdGhyb3VnaCB0byB0aGUgcHJvcGVyIHJlcGxhY2VtZW50LiBTbyBpbiB0aGUgc2hvcnQKK3Rlcm0sIHdlIGNhbiBleHBsaWNpdGx5IGRlZmluZSB0aGVtIHVzaW5nIHRoZSBvbGQgYWJzb2x1dGUgdmFsdWVzLCBhbmQgZXZlcnl0aGluZword2lsbCB3b3JrLgorCitTaWduZWQtb2ZmLWJ5OiBCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAd2luZHJpdmVyLmNvbT4KKy0tLQorIHN5cy92NGwyL3Y0bDJfY2FsbHMuYyB8ICAgIDkgKysrKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3N5cy92NGwyL3Y0bDJfY2FsbHMuYyBiL3N5cy92NGwyL3Y0bDJfY2FsbHMuYworaW5kZXggMzA5YmZiNi4uM2M2NDU0NCAxMDA2NDQKKy0tLSBhL3N5cy92NGwyL3Y0bDJfY2FsbHMuYworKysrIGIvc3lzL3Y0bDIvdjRsMl9jYWxscy5jCitAQCAtNTQsMTEgKzU0LDE2IEBACisgI2luY2x1ZGUgImdzdC9nc3QtaTE4bi1wbHVnaW4uaCIKKyAKKyAvKiBUaG9zZSBhcmUgaW9jdGwgY2FsbHMgKi8KKysKKysvKiBWNEwyX0NJRF9IQ0VOVEVSIGhhcyBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgbWFpbmxpbmUga2VybmVsLCBidXQKKysgICB0aGUgaW9jdGwgc3BhY2UgaXMgc3RpbGwgcHJlc2VudC4gU2luY2UgdGhlc2UgdmFsdWVzIGZhbGwgdGhyb3VnaAorKyAgIHRvIHRoZWlyIHJlcGxhY2VtZW50LCBpdCBpcyBzYWZlIChpbiB0aGUgc2hvcnQgdGVybSkgdG8gcmUtdXNlIHRoZQorKyAgICBvbGQgdmFsdWVzIGV4cGxpY3RpbHkgKi8KKyAjaWZuZGVmIFY0TDJfQ0lEX0hDRU5URVIKKy0jZGVmaW5lIFY0TDJfQ0lEX0hDRU5URVIgVjRMMl9DSURfSENFTlRFUl9ERVBSRUNBVEVECisrI2RlZmluZSBWNEwyX0NJRF9IQ0VOVEVSIFY0TDJfQ0lEX0JBU0UrMjIKKyAjZW5kaWYKKyAjaWZuZGVmIFY0TDJfQ0lEX1ZDRU5URVIKKy0jZGVmaW5lIFY0TDJfQ0lEX1ZDRU5URVIgVjRMMl9DSURfVkNFTlRFUl9ERVBSRUNBVEVECisrI2RlZmluZSBWNEwyX0NJRF9WQ0VOVEVSIFY0TDJfQ0lEX0JBU0UrMjMKKyAjZW5kaWYKKyAKKyBHU1RfREVCVUdfQ0FURUdPUllfRVhURVJOICh2NGwyX2RlYnVnKTsKKy0tIAorMS43LjEwLjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdvb2QtMC4xMC4zMS8wNDA3LW11bGF3ZGVjLWZpeC1pbnRlZ2VyLW92ZXJydW4ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ29vZC0wLjEwLjMxLzA0MDctbXVsYXdkZWMtZml4LWludGVnZXItb3ZlcnJ1bi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OGI4ZTk4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdvb2QtMC4xMC4zMS8wNDA3LW11bGF3ZGVjLWZpeC1pbnRlZ2VyLW92ZXJydW4ucGF0Y2gKQEAgLTAsMCArMSw0NyBAQAorRnJvbSBjZTk0YjJjMmI5MWI2ZGIxOTBjMTIxODYwZTEyYTZhZmFmY2U3YWUxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUm9sYW5kIEtyaWthdmEgPHJrcmlrYXZhQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMiBOb3YgMjAxMiAxMjozODo0NCAtMDQwMAorU3ViamVjdDogW1BBVENIIDQwNy80NDBdIG11bGF3ZGVjOiBmaXggaW50ZWdlciBvdmVycnVuCisKK1RoZXJlIG1pZ2h0IGJlIG1vcmUgdGhhbiA2NTUzNSBzYW1wbGVzIGluIGEgY2h1bmsgb2YgZGF0YS4KKworaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzQ2OQorCitDb21taXQgLSAzYmU0NWY3MDIyMDMxMGVjMWM2MGQ4MTlmOTBiNWYyYWUwM2I1ZDgzIGluIDAuMTAgYnJhbmNoCisKK1Vwc3RyZWFtIFN0YXR1czogIEJhY2twb3J0ZWQKKworU2lnbmVkLW9mZi1ieTogUm9sYW5kIEtyaWthdmEgPHJrcmlrYXZhQGdtYWlsLmNvbT4KKy0tLQorIGdzdC9sYXcvbXVsYXctY29udmVyc2lvbi5jIHwgICAgNiArKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZ3N0L2xhdy9tdWxhdy1jb252ZXJzaW9uLmMgYi9nc3QvbGF3L211bGF3LWNvbnZlcnNpb24uYworaW5kZXggOGFmYWU4MC4uMTkwYTlmNSAxMDA2NDQKKy0tLSBhL2dzdC9sYXcvbXVsYXctY29udmVyc2lvbi5jCisrKysgYi9nc3QvbGF3L211bGF3LWNvbnZlcnNpb24uYworQEAgLTUxLDkgKzUxLDEwIEBAIG11bGF3X2VuY29kZSAoZ2ludDE2ICogaW4sIGd1aW50OCAqIG91dCwgZ2ludCBudW1zYW1wbGVzKQorICAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LAorICAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3CisgICB9OworLSAgZ2ludDE2IHNpZ24sIGV4cG9uZW50LCBtYW50aXNzYSwgaTsKKysgIGdpbnQxNiBzaWduLCBleHBvbmVudCwgbWFudGlzc2E7CisgICBnaW50MTYgc2FtcGxlOworICAgZ3VpbnQ4IHVsYXdieXRlOworKyAgZ2ludCBpOworIAorICAgZm9yIChpID0gMDsgaSA8IG51bXNhbXBsZXM7IGkrKykgeworICAgICBzYW1wbGUgPSBpbltpXTsKK0BAIC0xMDIsNyArMTAzLDggQEAgbXVsYXdfZGVjb2RlIChndWludDggKiBpbiwgZ2ludDE2ICogb3V0LCBnaW50IG51bXNhbXBsZXMpCisgICBzdGF0aWMgZ2ludDE2IGV4cF9sdXRbOF0gPSB7IDAsIDEzMiwgMzk2LCA5MjQsIDE5ODAsIDQwOTIsIDgzMTYsIDE2NzY0IH07CisgICBnaW50MTYgc2lnbiwgZXhwb25lbnQsIG1hbnRpc3NhOworICAgZ3VpbnQ4IHVsYXdieXRlOworLSAgZ2ludDE2IGxpbmVhciwgaTsKKysgIGdpbnQxNiBsaW5lYXI7CisrICBnaW50IGk7CisgCisgICBmb3IgKGkgPSAwOyBpIDwgbnVtc2FtcGxlczsgaSsrKSB7CisgICAgIHVsYXdieXRlID0gaW5baV07CistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdvb2RfMC4xMC4zMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nb29kXzAuMTAuMzEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDkyMjg5NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nb29kXzAuMTAuMzEuYmIKQEAgLTAsMCArMSw0OCBAQAorcmVxdWlyZSBnc3QtcGx1Z2lucy5pbmMKKworTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hNmY4OWUyMTAwZDliNmNkZmZjZWE0ZjM5OGUzNzM0MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9jb21tb24vY292ZXJhZ2UvY292ZXJhZ2UtcmVwb3J0LnBsO2JlZ2lubGluZT0yO2VuZGxpbmU9MTc7bWQ1PTYyMjkyMWZmYWQ4Y2IxOGFiOTA2YzU2MDUyNzg4YTNmIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTIzO21kNT1iNjBlYmVmZDViMmY1YThlMGNhYjZiZmVlMzkxYTVmZSIKKworUFIgPSAicjgiCisKK1BBQ0tBR0VDT05GSUcgPz0gImpwZWcgdjRsIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3B1bHNlYXVkaW8nLCAncHVsc2VhdWRpbycsICcnLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3gxMScsICcnLCBkKX0gXAorIgorUEFDS0FHRUNPTkZJR1twdWxzZWF1ZGlvXSA9ICItLWVuYWJsZS1wdWxzZSwtLWRpc2FibGUtcHVsc2UscHVsc2VhdWRpbyIKK1BBQ0tBR0VDT05GSUdbamFja10gPSAiLS1lbmFibGUtamFjaywtLWRpc2FibGUtamFjayxqYWNrIgorUEFDS0FHRUNPTkZJR1tqcGVnXSA9ICItLWVuYWJsZS1qcGVnLC0tZGlzYWJsZS1qcGVnLGpwZWciCitQQUNLQUdFQ09ORklHW3dhdnBhY2tdID0gIi0tZW5hYmxlLXdhdnBhY2ssLS1kaXNhYmxlLXdhdnBhY2ssd2F2cGFjayIKK1BBQ0tBR0VDT05GSUdbZ2RrcGl4YnVmXSA9ICItLWVuYWJsZS1nZGtfcGl4YnVmLC0tZGlzYWJsZS1nZGtfcGl4YnVmLGdkay1waXhidWYiCitQQUNLQUdFQ09ORklHW3Y0bF0gPSAiLS1lbmFibGUtZ3N0X3Y0bDIgLS13aXRoLWd1ZGV2LC0tZGlzYWJsZS1nc3RfdjRsMiAtLXdpdGhvdXQtZ3VkZXYsbGliZ3VkZXYiCisjIHN1Yi1mZWF0dXJlIG9mIHY0bCwgYnV0IGNvbnRyb2wgc2VwYXJhdGVseSBzaW5jZSBsaWJ2NGwgaXMgbm90IHBhcnQgb2Ygb2UtY29yZQorUEFDS0FHRUNPTkZJR1tsaWJ2NGxdID0gIi0td2l0aC1saWJ2NGwyLC0td2l0aG91dC1saWJ2NGwyLGxpYnY0bCIKK1BBQ0tBR0VDT05GSUdbYnppcDJdID0gIi0tZW5hYmxlLWJ6MiwtLWRpc2FibGUtYnoyLGJ6aXAyIgorUEFDS0FHRUNPTkZJR1tvcmNdID0gIi0tZW5hYmxlLW9yYywtLWRpc2FibGUtb3JjLG9yYyIKK1BBQ0tBR0VDT05GSUdbeDExXSA9ICItLWVuYWJsZS14LC0tZGlzYWJsZS14LHZpcnR1YWwvbGlieDExIGxpYnhmaXhlcyBsaWJ4ZGFtYWdlIgorUEFDS0FHRUNPTkZJR1tkdjEzOTRdID0gIi0tZW5hYmxlLWR2MTM5NCwtLWRpc2FibGUtZHYxMzk0LGxpYnJhdzEzOTQgbGliaWVjNjE4ODMgbGliYXZjMTM5NCIKKworREVQRU5EUyArPSAiZ3N0LXBsdWdpbnMtYmFzZSBnY29uZiBjYWlybyBsaWJwbmcgemxpYiBsaWJpZDN0YWcgZmxhYyBcCisgICAgICAgICAgICBzcGVleCBsaWJzb3VwLTIuNCBsaWJjYXAiCisKK2luaGVyaXQgZ2V0dGV4dCBnY29uZgorCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS12NGwyLWZpeC1idWlsZC13aXRoLXJlY2VudC1rZXJuZWxzLXRoZS12NGwyX2J1ZmZlci1pLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAxLXY0bDJfY2FsbHMtZGVmaW5lLVY0TDJfQ0lEX0hDRU5URVItYW5kLVY0TDJfQ0lEX1ZDRU4ucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzA0MDctbXVsYXdkZWMtZml4LWludGVnZXItb3ZlcnJ1bi5wYXRjaCBcCisiCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1hYWxpYiAtLWRpc2FibGUtZXNkIC0tZGlzYWJsZS1zaG91dDIgLS1kaXNhYmxlLWxpYmNhY2EgLS1kaXNhYmxlLWhhbCBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1leGFtcGxlcyAtLWRpc2FibGUtdGFnbGliIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKwkjIFRoaXMgbTQgZmlsZSBjb250YWlucyBuYXN0aW5lc3Mgd2hpY2ggY29uZmxpY3RzIHdpdGggbGlidG9vbCAyLjIuMgorCXJtICR7U30vbTQvbGliLWxpbmsubTQgfHwgdHJ1ZQorfQorCitTUkNfVVJJW21kNXN1bV0gPSAiMjRmOThhMjk0YTJiNTIxZTFiMjk0MTJiZGFkYWUyZTYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2UyNzg0MGU0MGE3OTMyZWYyZGMwMzJkNzIwMWY5ZjQxYWZjYWYwYjQzN2RhZjVkMWQ0NGRjOTZkOWUzNWFjNiIKKworRklMRVNfJHtQTn0tZ2NvbmZlbGVtZW50cyArPSAiJHtzeXNjb25mZGlyfS9nY29uZi9zY2hlbWFzL2dzdHJlYW1lci0wLjEwLnNjaGVtYXMiCitGSUxFU18ke1BOfS1lcXVhbGl6ZXIgKz0gIiR7ZGF0YWRpcn0vZ3N0cmVhbWVyLTAuMTAvcHJlc2V0cy8qLnBycyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy11Z2x5LzAwMDEtY2Rpby1jb21wZW5zYXRlLWZvci1saWJjZGlvLXMtcmVjZW50LWNkLXRleHQtYXBpLWNoYS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy11Z2x5LzAwMDEtY2Rpby1jb21wZW5zYXRlLWZvci1saWJjZGlvLXMtcmVjZW50LWNkLXRleHQtYXBpLWNoYS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjcyZmMwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLXVnbHkvMDAwMS1jZGlvLWNvbXBlbnNhdGUtZm9yLWxpYmNkaW8tcy1yZWNlbnQtY2QtdGV4dC1hcGktY2hhLnBhdGNoCkBAIC0wLDAgKzEsMTkzIEBACitGcm9tIDY0OWJkOTJjZDI2MDA3MTk4NjJhZDUxODk4OTkyMTI0MDlkZDBhNjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMZW9uIE1lcnRlbiBMb2hzZSA8bGVvbkBncmVlbi1zaWRlLmRlPgorRGF0ZTogVGh1LCAzIE1heSAyMDEyIDIzOjUwOjMwICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGNkaW86IGNvbXBlbnNhdGUgZm9yIGxpYmNkaW8ncyByZWNlbnQgY2QtdGV4dCBhcGkgY2hhbmdlcworCitodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1MTEyCisKK0NvbmZsaWN0czoKKworCWV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmMKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CistLS0KKyBleHQvY2Rpby9nc3RjZGlvLmMgICAgICAgIHwgMzUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KKyBleHQvY2Rpby9nc3RjZGlvLmggICAgICAgIHwgMTYgKysrKysrKysrKysrKysrKworIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmMgfCAxOSArKysrKysrKysrKysrKysrKysrCisgMyBmaWxlcyBjaGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZXh0L2NkaW8vZ3N0Y2Rpby5jIGIvZXh0L2NkaW8vZ3N0Y2Rpby5jCitpbmRleCAyZjU4ZDE4Li40ODNlYmY1IDEwMDY0NAorLS0tIGEvZXh0L2NkaW8vZ3N0Y2Rpby5jCisrKysgYi9leHQvY2Rpby9nc3RjZGlvLmMKK0BAIC0zMCwxMiArMzAsMTYgQEAKKyBHU1RfREVCVUdfQ0FURUdPUlkgKGdzdF9jZGlvX2RlYnVnKTsKKyAKKyB2b2lkCistZ3N0X2NkaW9fYWRkX2NkdGV4dF9maWVsZCAoR3N0T2JqZWN0ICogc3JjLCBjZHRleHRfdCAqIGNkdGV4dCwKKytnc3RfY2Rpb19hZGRfY2R0ZXh0X2ZpZWxkIChHc3RPYmplY3QgKiBzcmMsIGNkdGV4dF90ICogY2R0ZXh0LCB0cmFja190IHRyYWNrLAorICAgICBjZHRleHRfZmllbGRfdCBmaWVsZCwgY29uc3QgZ2NoYXIgKiBnc3RfdGFnLCBHc3RUYWdMaXN0ICoqIHBfdGFncykKKyB7CisgICBjb25zdCBnY2hhciAqdHh0OworIAorKyNpZiBMSUJDRElPX1ZFUlNJT05fTlVNID4gODMKKysgIHR4dCA9IGNkdGV4dF9nZXRfY29uc3QgKGNkdGV4dCwgZmllbGQsIHRyYWNrKTsKKysjZWxzZQorICAgdHh0ID0gY2R0ZXh0X2dldF9jb25zdCAoZmllbGQsIGNkdGV4dCk7CisrI2VuZGlmCisgICBpZiAodHh0ID09IE5VTEwgfHwgKnR4dCA9PSAnXDAnKSB7CisgICAgIEdTVF9ERUJVR19PQkpFQ1QgKHNyYywgImVtcHR5IENELVRFWFQgZmllbGQgJXUgKCVzKSIsIGZpZWxkLCBnc3RfdGFnKTsKKyAgICAgcmV0dXJuOworQEAgLTU3LDYgKzYxLDEyIEBAIGdzdF9jZGlvX2FkZF9jZHRleHRfZmllbGQgKEdzdE9iamVjdCAqIHNyYywgY2R0ZXh0X3QgKiBjZHRleHQsCisgfQorIAorIEdzdFRhZ0xpc3QgKgorKyNpZiBMSUJDRElPX1ZFUlNJT05fTlVNID4gODMKKytnc3RfY2Rpb19nZXRfY2R0ZXh0IChHc3RPYmplY3QgKiBzcmMsIGNkdGV4dF90ICogdCwgdHJhY2tfdCB0cmFjaykKKyt7CisrICBHc3RUYWdMaXN0ICp0YWdzID0gTlVMTDsKKysKKysjZWxzZQorIGdzdF9jZGlvX2dldF9jZHRleHQgKEdzdE9iamVjdCAqIHNyYywgQ2RJbyAqIGNkaW8sIHRyYWNrX3QgdHJhY2spCisgeworICAgR3N0VGFnTGlzdCAqdGFncyA9IE5VTEw7CitAQCAtNjcsMTQgKzc3LDIyIEBAIGdzdF9jZGlvX2dldF9jZHRleHQgKEdzdE9iamVjdCAqIHNyYywgQ2RJbyAqIGNkaW8sIHRyYWNrX3QgdHJhY2spCisgICAgIEdTVF9ERUJVR19PQkpFQ1QgKHNyYywgIm5vIENELVRFWFQgZm9yIHRyYWNrICV1IiwgdHJhY2spOworICAgICByZXR1cm4gTlVMTDsKKyAgIH0KKysjZW5kaWYKKyAKKy0gIGdzdF9jZGlvX2FkZF9jZHRleHRfZmllbGQgKHNyYywgdCwgQ0RURVhUX1BFUkZPUk1FUiwgR1NUX1RBR19BUlRJU1QsICZ0YWdzKTsKKy0gIGdzdF9jZGlvX2FkZF9jZHRleHRfZmllbGQgKHNyYywgdCwgQ0RURVhUX1RJVExFLCBHU1RfVEFHX1RJVExFLCAmdGFncyk7CisrICBnc3RfY2Rpb19hZGRfY2R0ZXh0X2ZpZWxkIChzcmMsIHQsIHRyYWNrLCBDRFRFWFRfRklFTERfUEVSRk9STUVSLAorKyAgICAgIEdTVF9UQUdfQVJUSVNULCAmdGFncyk7CisrICBnc3RfY2Rpb19hZGRfY2R0ZXh0X2ZpZWxkIChzcmMsIHQsIHRyYWNrLCBDRFRFWFRfRklFTERfVElUTEUsIEdTVF9UQUdfVElUTEUsCisrICAgICAgJnRhZ3MpOworIAorICAgcmV0dXJuIHRhZ3M7CisgfQorIAorIHZvaWQKKysjaWYgTElCQ0RJT19WRVJTSU9OX05VTSA+IDgzCisrZ3N0X2NkaW9fYWRkX2NkdGV4dF9hbGJ1bV90YWdzIChHc3RPYmplY3QgKiBzcmMsIGNkdGV4dF90ICogdCwKKysgICAgR3N0VGFnTGlzdCAqIHRhZ3MpCisreworKyNlbHNlCisgZ3N0X2NkaW9fYWRkX2NkdGV4dF9hbGJ1bV90YWdzIChHc3RPYmplY3QgKiBzcmMsIENkSW8gKiBjZGlvLCBHc3RUYWdMaXN0ICogdGFncykKKyB7CisgICBjZHRleHRfdCAqdDsKK0BAIC04NCwxMSArMTAyLDE0IEBAIGdzdF9jZGlvX2FkZF9jZHRleHRfYWxidW1fdGFncyAoR3N0T2JqZWN0ICogc3JjLCBDZElvICogY2RpbywgR3N0VGFnTGlzdCAqIHRhZ3MpCisgICAgIEdTVF9ERUJVR19PQkpFQ1QgKHNyYywgIm5vIENELVRFWFQgZm9yIGFsYnVtIik7CisgICAgIHJldHVybjsKKyAgIH0KKysjZW5kaWYKKyAKKy0gIC8qIEZJWE1FOiBtYXAgQ0RURVhUX1BFUkZPUk1FUiB0byBHU1RfVEFHX0FMQlVNX0FSVElTVCBvbmNlIHdlIGhhdmUgdGhhdCAqLworLSAgZ3N0X2NkaW9fYWRkX2NkdGV4dF9maWVsZCAoc3JjLCB0LCBDRFRFWFRfVElUTEUsIEdTVF9UQUdfQUxCVU0sICZ0YWdzKTsKKy0gIGdzdF9jZGlvX2FkZF9jZHRleHRfZmllbGQgKHNyYywgdCwgQ0RURVhUX0dFTlJFLCBHU1RfVEFHX0dFTlJFLCAmdGFncyk7CistCisrICBnc3RfY2Rpb19hZGRfY2R0ZXh0X2ZpZWxkIChzcmMsIHQsIDAsIENEVEVYVF9GSUVMRF9QRVJGT1JNRVIsCisrICAgICAgR1NUX1RBR19BTEJVTV9BUlRJU1QsICZ0YWdzKTsKKysgIGdzdF9jZGlvX2FkZF9jZHRleHRfZmllbGQgKHNyYywgdCwgMCwgQ0RURVhUX0ZJRUxEX1RJVExFLCBHU1RfVEFHX0FMQlVNLAorKyAgICAgICZ0YWdzKTsKKysgIGdzdF9jZGlvX2FkZF9jZHRleHRfZmllbGQgKHNyYywgdCwgMCwgQ0RURVhUX0ZJRUxEX0dFTlJFLCBHU1RfVEFHX0dFTlJFLAorKyAgICAgICZ0YWdzKTsKKyAgIEdTVF9ERUJVRyAoIkNELVRFWFQgYWxidW0gdGFnczogJSIgR1NUX1BUUl9GT1JNQVQsIHRhZ3MpOworIH0KKyAKK2RpZmYgLS1naXQgYS9leHQvY2Rpby9nc3RjZGlvLmggYi9leHQvY2Rpby9nc3RjZGlvLmgKK2luZGV4IGVmMzFlZDAuLmM2ZGE1ODAgMTAwNjQ0CistLS0gYS9leHQvY2Rpby9nc3RjZGlvLmgKKysrKyBiL2V4dC9jZGlvL2dzdGNkaW8uaAorQEAgLTI0LDIyICsyNCwzOCBAQAorICNpbmNsdWRlIDxnc3QvZ3N0Lmg+CisgI2luY2x1ZGUgPGNkaW8vY2Rpby5oPgorICNpbmNsdWRlIDxjZGlvL2NkdGV4dC5oPgorKyNpbmNsdWRlIDxjZGlvL3ZlcnNpb24uaD4KKysKKysjaWYgTElCQ0RJT19WRVJTSU9OX05VTSA8PSA4MworKyAgI2RlZmluZSBDRFRFWFRfRklFTERfUEVSRk9STUVSIENEVEVYVF9QRVJGT1JNRVIKKysgICNkZWZpbmUgQ0RURVhUX0ZJRUxEX0dFTlJFICAgICBDRFRFWFRfR0VOUkUKKysgICNkZWZpbmUgQ0RURVhUX0ZJRUxEX1RJVExFICAgICBDRFRFWFRfVElUTEUKKysjZW5kaWYKKyAKKyBHU1RfREVCVUdfQ0FURUdPUllfRVhURVJOIChnc3RfY2Rpb19kZWJ1Zyk7CisgI2RlZmluZSBHU1RfQ0FUX0RFRkFVTFQgZ3N0X2NkaW9fZGVidWcKKyAKKyB2b2lkICAgICBnc3RfY2Rpb19hZGRfY2R0ZXh0X2ZpZWxkIChHc3RPYmplY3QgICAgICAqIHNyYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZHRleHRfdCAgICAgICAqIGNkdGV4dCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFja190ICAgICAgICAgIHRyYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNkdGV4dF9maWVsZF90ICAgZmllbGQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgKiBnc3RfdGFnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdzdFRhZ0xpc3QgICAgKiogcF90YWdzKTsKKyAKKyBHc3RUYWdMaXN0ICAqIGdzdF9jZGlvX2dldF9jZHRleHQgIChHc3RPYmplY3QgICAgICAqIHNyYywKKysjaWYgTElCQ0RJT19WRVJTSU9OX05VTSA+IDgzCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2R0ZXh0X3QgICAgICAgKiB0LAorKyNlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2RJbyAgICAgICAgICAgKiBjZGlvLAorKyNlbmRpZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrX3QgICAgICAgICAgdHJhY2spOworIAorIHZvaWQgICAgICBnc3RfY2Rpb19hZGRfY2R0ZXh0X2FsYnVtX3RhZ3MgKEdzdE9iamVjdCAgKiBzcmMsCisrI2lmIExJQkNESU9fVkVSU0lPTl9OVU0gPiA4MworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNkdGV4dF90ICAgKiB0LAorKyNlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2RJbyAgICAgICAqIGNkaW8sCisrI2VuZGlmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3N0VGFnTGlzdCAqIHRhZ3MpOworIAorICNlbmRpZiAvKiBfX0dTVF9DRElPX0hfXyAqLworZGlmZiAtLWdpdCBhL2V4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmMgYi9leHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jCitpbmRleCA2MTVhMGM4Li44MzA4MzllIDEwMDY0NAorLS0tIGEvZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYworKysrIGIvZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYworQEAgLTIwNiw2ICsyMDYsOSBAQCBnc3RfY2Rpb19jZGRhX3NyY19vcGVuIChHc3RBdWRpb0NkU3JjICogYXVkaW9jZHNyYywgY29uc3QgZ2NoYXIgKiBkZXZpY2UpCisgICBHc3RDZGlvQ2RkYVNyYyAqc3JjOworICAgZGlzY21vZGVfdCBkaXNjbW9kZTsKKyAgIGdpbnQgZmlyc3RfdHJhY2ssIG51bV90cmFja3MsIGk7CisrI2lmIExJQkNESU9fVkVSU0lPTl9OVU0gPiA4MworKyAgY2R0ZXh0X3QgKmNkdGV4dDsKKysjZW5kaWYKKyAKKyAgIHNyYyA9IEdTVF9DRElPX0NEREFfU1JDIChhdWRpb2Nkc3JjKTsKKyAKK0BAIC0yNDQsOCArMjQ0LDE4IEBAIGdzdF9jZGlvX2NkZGFfc3JjX29wZW4gKEdzdENkZGFCYXNlU3JjICogY2RkYWJhc2VzcmMsIGNvbnN0IGdjaGFyICogZGV2aWNlKQorICAgaWYgKHNyYy0+cmVhZF9zcGVlZCAhPSAtMSkKKyAgICAgY2Rpb19zZXRfc3BlZWQgKHNyYy0+Y2Rpbywgc3JjLT5yZWFkX3NwZWVkKTsKKyAKKysjaWYgTElCQ0RJT19WRVJTSU9OX05VTSA+IDgzCisrICBjZHRleHQgPSBjZGlvX2dldF9jZHRleHQgKHNyYy0+Y2Rpbyk7CisrCisrICBpZiAoTlVMTCA9PSBjZHRleHQpCisrICAgIEdTVF9ERUJVR19PQkpFQ1QgKHNyYywgIm5vIENELVRFWFQgb24gZGlzYyIpOworKyAgZWxzZQorKyAgICBnc3RfY2Rpb19hZGRfY2R0ZXh0X2FsYnVtX3RhZ3MgKEdTVF9PQkpFQ1RfQ0FTVCAoc3JjKSwgY2R0ZXh0LAorKyAgICAgICAgY2RkYWJhc2VzcmMtPnRhZ3MpOworKyNlbHNlCisgICBnc3RfY2Rpb19hZGRfY2R0ZXh0X2FsYnVtX3RhZ3MgKEdTVF9PQkpFQ1RfQ0FTVCAoc3JjKSwgc3JjLT5jZGlvLAorICAgICAgIGNkZGFiYXNlc3JjLT50YWdzKTsKKysjZW5kaWYKKyAKKyAgIEdTVF9MT0dfT0JKRUNUIChzcmMsICIldSB0cmFja3MsIGZpcnN0IHRyYWNrOiAlZCIsIG51bV90cmFja3MsIGZpcnN0X3RyYWNrKTsKKyAKK0BAIC0yNTAsOCArMjYzLDE0IEBAIGdzdF9jZGlvX2NkZGFfc3JjX29wZW4gKEdzdEF1ZGlvQ2RTcmMgKiBhdWRpb2Nkc3JjLCBjb25zdCBnY2hhciAqIGRldmljZSkKKyAgICAgICogdGhlIHJpZ2h0IHRoaW5nIGhlcmUgKGZvciBjZGRiIGlkIGNhbGN1bGF0aW9ucyBldGMuIGFzIHdlbGwpICovCisgICAgIHRyYWNrLnN0YXJ0ID0gY2Rpb19nZXRfdHJhY2tfbHNuIChzcmMtPmNkaW8sIGkgKyBmaXJzdF90cmFjayk7CisgICAgIHRyYWNrLmVuZCA9IHRyYWNrLnN0YXJ0ICsgbGVuX3NlY3RvcnMgLSAxOyAgLyogLTE/ICovCisrI2lmIExJQkNESU9fVkVSU0lPTl9OVU0gPiA4MworKyAgICBpZiAoTlVMTCAhPSBjZHRleHQpCisrICAgICAgdHJhY2sudGFncyA9IGdzdF9jZGlvX2dldF9jZHRleHQgKEdTVF9PQkpFQ1QgKHNyYyksIGNkdGV4dCwKKysgICAgICAgICAgaSArIGZpcnN0X3RyYWNrKTsKKysjZWxzZQorICAgICB0cmFjay50YWdzID0gZ3N0X2NkaW9fZ2V0X2NkdGV4dCAoR1NUX09CSkVDVCAoc3JjKSwgc3JjLT5jZGlvLAorICAgICAgICAgaSArIGZpcnN0X3RyYWNrKTsKKysjZW5kaWYKKyAKKyAgICAgZ3N0X2F1ZGlvX2NkX3NyY19hZGRfdHJhY2sgKEdTVF9BVURJT19DRF9TUkMgKHNyYyksICZ0cmFjayk7CisgICB9CistLSAKKzIuMS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy11Z2x5LzAwMDItRml4LW9wZW5jb3JlLWluY2x1ZGUtcGF0aHMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtdWdseS8wMDAyLUZpeC1vcGVuY29yZS1pbmNsdWRlLXBhdGhzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmZDZhMjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtdWdseS8wMDAyLUZpeC1vcGVuY29yZS1pbmNsdWRlLXBhdGhzLnBhdGNoCkBAIC0wLDAgKzEsNTggQEAKK0Zyb20gZTYzNGJjNjQyMDgyNmY3NjBmNjUxOWE5ZjEzNGM2YTRkMzQxMmVmOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KK0RhdGU6IE1vbiwgMTkgT2N0IDIwMTUgMTU6MjY6MjQgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IG9wZW5jb3JlIGluY2x1ZGUgcGF0aHMKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtubyB1cHN0cmVhbSAtIEdTdHJlYW1lciAwLjEwIGlzIG5vIGxvbmdlciBiZWluZyBtYWludGFpbmVkXQorCitTaWduZWQtb2ZmLWJ5OiBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CistLS0KKyBleHQvYW1ybmIvYW1ybmJkZWMuaCAgICB8IDIgKy0KKyBleHQvYW1ybmIvYW1ybmJlbmMuaCAgICB8IDIgKy0KKyBleHQvYW1yd2JkZWMvYW1yd2JkZWMuaCB8IDQgKystLQorIDMgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZXh0L2Ftcm5iL2Ftcm5iZGVjLmggYi9leHQvYW1ybmIvYW1ybmJkZWMuaAoraW5kZXggMWU4MTgzOS4uMDFiNzE1NCAxMDA2NDQKKy0tLSBhL2V4dC9hbXJuYi9hbXJuYmRlYy5oCisrKysgYi9leHQvYW1ybmIvYW1ybmJkZWMuaAorQEAgLTIyLDcgKzIyLDcgQEAKKyAKKyAjaW5jbHVkZSA8Z3N0L2dzdC5oPgorICNpbmNsdWRlIDxnc3QvYXVkaW8vZ3N0YXVkaW9kZWNvZGVyLmg+CistI2luY2x1ZGUgPGludGVyZl9kZWMuaD4KKysjaW5jbHVkZSA8b3BlbmNvcmUtYW1ybmIvaW50ZXJmX2RlYy5oPgorIAorIEdfQkVHSU5fREVDTFMKKyAKK2RpZmYgLS1naXQgYS9leHQvYW1ybmIvYW1ybmJlbmMuaCBiL2V4dC9hbXJuYi9hbXJuYmVuYy5oCitpbmRleCA3ZjY3M2FjLi41YmUzOWI1IDEwMDY0NAorLS0tIGEvZXh0L2Ftcm5iL2Ftcm5iZW5jLmgKKysrKyBiL2V4dC9hbXJuYi9hbXJuYmVuYy5oCitAQCAtMjEsNyArMjEsNyBAQAorICNkZWZpbmUgX19HU1RfQU1STkJFTkNfSF9fCisgCisgI2luY2x1ZGUgPGdzdC9nc3QuaD4KKy0jaW5jbHVkZSA8aW50ZXJmX2VuYy5oPgorKyNpbmNsdWRlIDxvcGVuY29yZS1hbXJuYi9pbnRlcmZfZW5jLmg+CisgI2luY2x1ZGUgPGdzdC9hdWRpby9nc3RhdWRpb2VuY29kZXIuaD4KKyAKKyBHX0JFR0lOX0RFQ0xTCitkaWZmIC0tZ2l0IGEvZXh0L2FtcndiZGVjL2FtcndiZGVjLmggYi9leHQvYW1yd2JkZWMvYW1yd2JkZWMuaAoraW5kZXggYzM1MjhmYy4uZjI3YzZkMiAxMDA2NDQKKy0tLSBhL2V4dC9hbXJ3YmRlYy9hbXJ3YmRlYy5oCisrKysgYi9leHQvYW1yd2JkZWMvYW1yd2JkZWMuaAorQEAgLTIyLDggKzIyLDggQEAKKyAKKyAjaW5jbHVkZSA8Z3N0L2dzdC5oPgorICNpbmNsdWRlIDxnc3QvYXVkaW8vZ3N0YXVkaW9kZWNvZGVyLmg+CistI2luY2x1ZGUgPGRlY19pZi5oPgorLSNpbmNsdWRlIDxpZl9yb20uaD4KKysjaW5jbHVkZSA8b3BlbmNvcmUtYW1yd2IvZGVjX2lmLmg+CisrI2luY2x1ZGUgPG9wZW5jb3JlLWFtcndiL2lmX3JvbS5oPgorIAorIEdfQkVHSU5fREVDTFMKKyAKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLXVnbHlfMC4xMC4xOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy11Z2x5XzAuMTAuMTkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYThjYjg1MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy11Z2x5XzAuMTAuMTkuYmIKQEAgLTAsMCArMSwzNSBAQAorcmVxdWlyZSBnc3QtcGx1Z2lucy5pbmMKKworTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIuMSsgJiBMR1BMdjIrIgorTElDRU5TRV9GTEFHUyA9ICJjb21tZXJjaWFsIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTZmODllMjEwMGQ5YjZjZGZmY2VhNGYzOThlMzczNDMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3N0L3N5bmFlc3RoZXNpYS9zeW5hZXNjb3BlLmg7YmVnaW5saW5lPTE7ZW5kbGluZT0yMDttZDU9OTlmMzAxZGY3YjgwNDkwYzZmZjgzMDVmY2M3MTI4MzggXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vdGVzdHMvY2hlY2svZWxlbWVudHMveGluZ211eC5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjE7bWQ1PTRjNzcxYjhhZjE4ODcyNDg1NWNiOTljYWRkMzkwMDY4IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dzdC9tcGVnc3RyZWFtL2dzdG1wZWdwYXJzZS5oO2JlZ2lubGluZT0xO2VuZGxpbmU9MTg7bWQ1PWZmNjU0NjdiMGM1M2NkZmE5OGQwNjg0YzFiYzI0MGE5IgorCitERVBFTkRTICs9ICJnc3QtcGx1Z2lucy1iYXNlIGxpYmlkM3RhZyBsaWJtYWQgbXBlZzJkZWMgbGliYTUyIGxhbWUiCitQUiA9ICJyMyIKKworaW5oZXJpdCBnZXR0ZXh0CisKK0VYVFJBX09FQ09ORiArPSAiLS13aXRoLXBsdWdpbnM9YTUyZGVjLGxhbWUsaWQzdGFnLG1hZCxtcGVnMmRlYyxtcGVnc3RyZWFtLG1wZWdhdWRpb3BhcnNlLGFzZmRlbXV4LHJlYWxtZWRpYSBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1vcmMiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW3gyNjRdID0gIi0tZW5hYmxlLXgyNjQsLS1kaXNhYmxlLXgyNjQseDI2NCIKK1BBQ0tBR0VDT05GSUdbY2Rpb10gPSAiLS1lbmFibGUtY2RpbywtLWRpc2FibGUtY2RpbyxsaWJjZGlvIgorUEFDS0FHRUNPTkZJR1tkdmRyZWFkXSA9ICItLWVuYWJsZS1kdmRyZWFkLC0tZGlzYWJsZS1kdmRyZWFkLGxpYmR2ZHJlYWQiCitQQUNLQUdFQ09ORklHW2Ftcm5iXSA9ICItLWVuYWJsZS1hbXJuYiwtLWRpc2FibGUtYW1ybmIsb3BlbmNvcmUtYW1yIgorUEFDS0FHRUNPTkZJR1thbXJ3Yl0gPSAiLS1lbmFibGUtYW1yd2IsLS1kaXNhYmxlLWFtcndiLG9wZW5jb3JlLWFtciIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisJIyBUaGlzIG00IGZpbGUgY29udGFpbnMgbmFzdGluZXNzIHdoaWNoIGNvbmZsaWN0cyB3aXRoIGxpYnRvb2wgMi4yLjIKKwlybSAke1N9L200L2xpYi1saW5rLm00IHx8IHRydWUKK30KKworU1JDX1VSSVttZDVzdW1dID0gIjFkODFjNTkzZTIyYTZjZGYwZjJiNGY1N2VhZTkzZGYyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFjYTkwMDU5Mjc1YzBmNWRjYTcxZDRkMTYwMWE4ZjQyOWI3ODUyYmFlZDA3MjNlODIwNzAzYjk3N2UyYzhkZjAiCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1jZGlvLWNvbXBlbnNhdGUtZm9yLWxpYmNkaW8tcy1yZWNlbnQtY2QtdGV4dC1hcGktY2hhLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAyLUZpeC1vcGVuY29yZS1pbmNsdWRlLXBhdGhzLnBhdGNoIgorCitGSUxFU18ke1BOfS1hbXJuYiArPSAiJHtkYXRhZGlyfS9nc3RyZWFtZXItMC4xMC9wcmVzZXRzL0dzdEFtcm5iRW5jLnBycyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4YTcwYjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMuaW5jCkBAIC0wLDAgKzEsMjkgQEAKK1NVTU1BUlkgPSAiUGx1Z2lucyBmb3IgdGhlIEdTdHJlYW1lciBtdWx0aW1lZGlhIGZyYW1ld29yayIKK0hPTUVQQUdFID0gImh0dHA6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnLyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PUdzdHJlYW1lciIKK1NFQ1RJT04gPSAibXVsdGltZWRpYSIKK0RFUEVORFMgPSAiZ3N0cmVhbWVyIgorCisjIGdvYmplY3QtaW50cm9zcGVjdGlvbiB0byBnZXQgLS1kaXNhYmxlLWludHJvc3BlY3Rpb24gaW50byBVTktOT1dOX0NPTkZJR1VSRV9XSElURUxJU1QKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworU1JDX1VSSSA9ICJodHRwOi8vZ3N0cmVhbWVyLmZyZWVkZXNrdG9wLm9yZy9zcmMvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuYnoyIgorCitHU1RSRUFNRVJfREVCVUcgPz0gIi0tZGlzYWJsZS1kZWJ1ZyIKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtdmFsZ3JpbmQgJHtHU1RSRUFNRVJfREVCVUd9IC0tZGlzYWJsZS1leGFtcGxlcyAtLWRpc2FibGUtaW50cm9zcGVjdGlvbiIKKworYWNwYXRocyA9ICItSSAke1N9L2NvbW1vbi9tNCAtSSAke1N9L200IgorCitMSUJWID0gIjAuMTAiCityZXF1aXJlIHJlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtcGFja2FnZS5pbmMKKworUEFDS0FHRVNfRFlOQU1JQyArPSAiXiR7UE59LS4qIgorCisjIGFwcGx5IGdzdHJlYW1lciBoYWNrIGFmdGVyIE1ha2VmaWxlLmluLmluIGluIHNvdXJjZSBpcyByZXBsYWNlZCBieSBvdXIgdmVyc2lvbiBmcm9tCisjICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vZ2V0dGV4dC9wby9NYWtlZmlsZS5pbi5pbiwgYnV0IGJlZm9yZSBjb25maWd1cmUgaXMgZXhlY3V0ZWQKKyMgaHR0cDovL2xpc3RzLmxpbnV4dG9nby5vcmcvcGlwZXJtYWlsL29wZW5lbWJlZGRlZC1jb3JlLzIwMTItTm92ZW1iZXIvMDMyMjMzLmh0bWwKK29lX3J1bmNvbmZfcHJlcGVuZCgpIHsKKwlpZiBbIC1lICR7U30vcG8vTWFrZWZpbGUuaW4uaW4gXTsgdGhlbgorCQlzZWQgLWkgLWUgIjFhXFwiIC1lICdHRVRURVhUX1BBQ0tBR0UgPSBAR0VUVEVYVF9QQUNLQUdFQCcgJHtTfS9wby9NYWtlZmlsZS5pbi5pbgorCWZpCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXJ0c3AvMDAwMS1jaGFuZ2UtZGVwcmVjYXRlZC1JTkNMVURFUy10by1BTV9DUFBGTEFHUy1mb3ItYXV0b21hLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1ydHNwLzAwMDEtY2hhbmdlLWRlcHJlY2F0ZWQtSU5DTFVERVMtdG8tQU1fQ1BQRkxBR1MtZm9yLWF1dG9tYS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWZjYTRlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1ydHNwLzAwMDEtY2hhbmdlLWRlcHJlY2F0ZWQtSU5DTFVERVMtdG8tQU1fQ1BQRkxBR1MtZm9yLWF1dG9tYS5wYXRjaApAQCAtMCwwICsxLDM0IEBACitpbmRleCBnc3QtcnRzcF8wLjEwLjgvYmluZGluZ3MvcHl0aG9uL01ha2VmaWxlLmFtCistLS0gZ3N0LXJ0c3BfMC4xMC44Lm9yaWcvYmluZGluZ3MvcHl0aG9uL01ha2VmaWxlLmFtCisrKysgZ3N0LXJ0c3BfMC4xMC44L2JpbmRpbmdzL3B5dGhvbi9NYWtlZmlsZS5hbQorQEAgLTE0LDcgKzE0LDcgQEAgZGVmc19EQVRBID0gJChERUZTKQorIGRlZnNkaXIgPSAkKHBrZ2RhdGFkaXIpLyQoR1NUX01BSk9STUlOT1IpL2RlZnMKKyBPVkVSUklERVMgPSBydHNwc2VydmVyLm92ZXJyaWRlCisKKy1JTkNMVURFUyA9IC1JJCh0b3Bfc3JjZGlyKSAtSSQoc3JjZGlyKSAkKFBZVEhPTl9JTkNMVURFUykKKytBTV9DUFBGTEFHUyA9IC1JJCh0b3Bfc3JjZGlyKSAtSSQoc3JjZGlyKSAkKFBZVEhPTl9JTkNMVURFUykKKworIHJ0c3BzZXJ2ZXJfbGFfQ0ZMQUdTID0gLUkkKHRvcF9zcmNkaXIpL3NyYyBcCisgICAgICAgICAkKFBZR09CSkVDVF9DRkxBR1MpICQoR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MpICQoR1NUX0NGTEFHUykKK2luZGV4IGdzdC1ydHNwXzAuMTAuOC9leGFtcGxlcy9NYWtlZmlsZS5hbQorLS0tIGdzdC1ydHNwXzAuMTAuOC5vcmlnL2V4YW1wbGVzL01ha2VmaWxlLmFtCisrKysgZ3N0LXJ0c3BfMC4xMC44L2V4YW1wbGVzL01ha2VmaWxlLmFtCitAQCAtMSw2ICsxLDYgQEAKKyBub2luc3RfUFJPR1JBTVMgPSB0ZXN0LXZpZGVvIHRlc3Qtb2dnIHRlc3QtbXA0IHRlc3QtcmVhZG1lIHRlc3QtbGF1bmNoIHRlc3Qtc2RwIHRlc3QtdXJpIHRlc3QtYXV0aAorCistSU5DTFVERVMgPSAtSSQodG9wX3NyY2RpcikgLUkkKHNyY2RpcikKKytBTV9DUFBGTEFHUyA9IC1JJCh0b3Bfc3JjZGlyKSAtSSQoc3JjZGlyKQorCisgQU1fQ0ZMQUdTID0gJChHU1RfUExVR0lOU19CQVNFX0NGTEFHUykgJChHU1RfQ0ZMQUdTKQorIEFNX0xERkxBR1MgPSBcCitpbmRleCBnc3QtcnRzcF8wLjEwLjgvdGVzdHMvTWFrZWZpbGUuYW0KKy0tLSBnc3QtcnRzcF8wLjEwLjgub3JpZy90ZXN0cy9NYWtlZmlsZS5hbQorKysrIGdzdC1ydHNwXzAuMTAuOC90ZXN0cy9NYWtlZmlsZS5hbQorQEAgLTEsNiArMSw2IEBACisgbm9pbnN0X1BST0dSQU1TID0gdGVzdC1jbGVhbnVwCisKKy1JTkNMVURFUyA9IC1JJCh0b3Bfc3JjZGlyKSAtSSQoc3JjZGlyKQorK0FNX0NQUEZMQUdTID0gLUkkKHRvcF9zcmNkaXIpIC1JJChzcmNkaXIpCisKKyBBTV9DRkxBR1MgPSAkKEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTKSAkKEdTVF9DRkxBR1MpCisgQU1fTERGTEFHUyA9IFwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcnRzcF8wLjEwLjguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXJ0c3BfMC4xMC44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3OGJjYWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXJ0c3BfMC4xMC44LmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiR1N0cmVhbWVyIFJUU1Agc2VydmVyIgorTElDRU5TRSA9ICJMR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTVjYTgxN2NjYjdkNWI1YjY2MzU1NjkwZTlhYmM2MDUiCisKK1NSQ19VUkkgPSAiaHR0cDovL2dzdHJlYW1lci5mcmVlZGVza3RvcC5vcmcvc3JjLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNoYW5nZS1kZXByZWNhdGVkLUlOQ0xVREVTLXRvLUFNX0NQUEZMQUdTLWZvci1hdXRvbWEucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiYjUxMWFmMDcwMDA1OTVmNjNjM2E3MDU5NDYyMjE2NDMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTkxNTg4N2NmODUxNWJkYTg3NDYyYzY5NzM4NjQ2YWZiNzE1YjU5NzYxM2VkYzczNDA0NzdjY2FiNjNhNjYxNyIKKworREVQRU5EUyA9ICJnc3QtcGx1Z2lucy1iYXNlIGdzdHJlYW1lciIKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1pbnRyb3NwZWN0aW9uIgorCisjIENvbmZpZ3VyZSBhbHdheXMgY2hlY2tzIGZvciBQeXRob24gc28gaW5oZXJpdCBweXRob25uYXRpdmUuIEJldHRlciBzb2x1dGlvbgorIyB3b3VsZCBiZSB0byBkaXNhYmxlIHRoZSBjaGVja3MgZW50aXJlbHkuCitpbmhlcml0IGF1dG90b29scyBweXRob25uYXRpdmUgZ2V0dGV4dAorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7ZGF0YWRpcn0vdmFsYS92YXBpLyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi8wMDAxLWJhc2VwYXJzZS1GaXgtc2VsZi1jb21wYXJpc29uLWFsd2F5cy1ldmFsdWF0ZXMtdG8tdHIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvMDAwMS1iYXNlcGFyc2UtRml4LXNlbGYtY29tcGFyaXNvbi1hbHdheXMtZXZhbHVhdGVzLXRvLXRyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwNzc0OTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvMDAwMS1iYXNlcGFyc2UtRml4LXNlbGYtY29tcGFyaXNvbi1hbHdheXMtZXZhbHVhdGVzLXRvLXRyLnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Zyb20gZWQ3ZjQ4MDIyMjIyMzRlZWYxOTJhYTNmNzRiYzkyMjY4ZjMzOGY5NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFNlYmFzdGlhbiBEcm9lZ2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgorRGF0ZTogVHVlLCA2IE1hciAyMDEyIDEyOjI4OjAyICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGJhc2VwYXJzZTogRml4ICdzZWxmLWNvbXBhcmlzb24gYWx3YXlzIGV2YWx1YXRlcyB0byB0cnVlJworCitUaGlzIHdhcyByZWFsbHkgYSBidWcuCisKK0NvbW1pdCBpcyBlZDdmNDgwMjIyMjIzNGVlZjE5MmFhM2Y3NGJjOTIyNjhmMzM4Zjk3IGluIDAuMTAgYnJhbmNoCisKK1Vwc3RyZWFtIFN0YXR1czogIEJhY2twb3J0ZWQKKworU2lnbmVkLW9mZi1ieTogU2ViYXN0aWFuIERyb2VnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CistLS0KKyBsaWJzL2dzdC9iYXNlL2dzdGJhc2VwYXJzZS5jIHwgICAgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbGlicy9nc3QvYmFzZS9nc3RiYXNlcGFyc2UuYyBiL2xpYnMvZ3N0L2Jhc2UvZ3N0YmFzZXBhcnNlLmMKK2luZGV4IDg1MWVjMWQuLjEwOGVlODkgMTAwNjQ0CistLS0gYS9saWJzL2dzdC9iYXNlL2dzdGJhc2VwYXJzZS5jCisrKysgYi9saWJzL2dzdC9iYXNlL2dzdGJhc2VwYXJzZS5jCitAQCAtMzg5OSw3ICszODk5LDcgQEAgZ3N0X2Jhc2VfcGFyc2VfaGFuZGxlX3NlZWsgKEdzdEJhc2VQYXJzZSAqIHBhcnNlLCBHc3RFdmVudCAqIGV2ZW50KQorICAgICAgICBzZWVrIGV2ZW50IChpbiBieXRlcykgdG8gdXBzdHJlYW0uIFNlZ21lbnQgLyBmbHVzaCBoYW5kbGluZyBoYXBwZW5zCisgICAgICAgIGluIGNvcnJlc3BvbmRpbmcgc3JjIGV2ZW50IGhhbmRsZXJzICovCisgICAgIEdTVF9ERUJVR19PQkpFQ1QgKHBhcnNlLCAic2VlayBpbiBQVVNIIG1vZGUiKTsKKy0gICAgaWYgKHNlZWtzdG9wID49IDAgJiYgc2Vla3BvcyA8PSBzZWVrcG9zKQorKyAgICBpZiAoc2Vla3N0b3AgPj0gMCAmJiBzZWVrc3RvcCA8PSBzZWVrcG9zKQorICAgICAgIHNlZWtzdG9wID0gc2Vla3BvczsKKyAgICAgbmV3X2V2ZW50ID0gZ3N0X2V2ZW50X25ld19zZWVrIChyYXRlLCBHU1RfRk9STUFUX0JZVEVTLCBmbGFncywKKyAgICAgICAgIEdTVF9TRUVLX1RZUEVfU0VULCBzZWVrcG9zLCBzdG9wX3R5cGUsIHNlZWtzdG9wKTsKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvMDAwMS1wYXJzZS1tYWtlLWdyYW1tYXIueS13b3JrLXdpdGgtQmlzb24tMy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi8wMDAxLXBhcnNlLW1ha2UtZ3JhbW1hci55LXdvcmstd2l0aC1CaXNvbi0zLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjMmQ2MDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvMDAwMS1wYXJzZS1tYWtlLWdyYW1tYXIueS13b3JrLXdpdGgtQmlzb24tMy5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9tIDYwNTE2ZjQ3OTg4OTRmOTU4ZmM1M2I0NzBlMTI4MzMxOGQwZjg3MDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLZXJyaWNrIFN0YWxleSA8a2Vycmlja0BrZXJyaWNrc3RhbGV5LmNvbT4KK0RhdGU6IFR1ZSwgMjAgQXVnIDIwMTMgMjM6NTk6MjkgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSCAxLzJdIHBhcnNlOiBtYWtlIGdyYW1tYXIueSB3b3JrIHdpdGggQmlzb24gMworCitZWUxFWF9QQVJBTSBpcyBubyBsb25nZXIgc3VwcG9ydGVkIGluIEJpc29uIDMuCisKK2h0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDY0NjIKKy0tLQorIGdzdC9wYXJzZS9ncmFtbWFyLnkgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9nc3QvcGFyc2UvZ3JhbW1hci55IGIvZ3N0L3BhcnNlL2dyYW1tYXIueQoraW5kZXggMjRmYzg3Yi4uN2Y5ZGQxNiAxMDA2NDQKKy0tLSBhL2dzdC9wYXJzZS9ncmFtbWFyLnkKKysrKyBiL2dzdC9wYXJzZS9ncmFtbWFyLnkKK0BAIC0yNiw3ICsyNiw2IEBACisgICovCisgCisgI2RlZmluZSBZWUVSUk9SX1ZFUkJPU0UgMQorLSNkZWZpbmUgWVlMRVhfUEFSQU0gc2Nhbm5lcgorIAorICNkZWZpbmUgWVlFTkFCTEVfTkxTIDAKKyAKK0BAIC02NDgsNiArNjQ3LDcgQEAgc3RhdGljIGludCB5eWVycm9yICh2b2lkICpzY2FubmVyLCBncmFwaF90ICpncmFwaCwgY29uc3QgY2hhciAqcyk7CisgJXJpZ2h0ICcuJworICVsZWZ0ICchJyAnPScKKyAKKyslbGV4LXBhcmFtIHsgdm9pZCAqc2Nhbm5lciB9CisgJXBhcnNlLXBhcmFtIHsgdm9pZCAqc2Nhbm5lciB9CisgJXBhcnNlLXBhcmFtIHsgZ3JhcGhfdCAqZ3JhcGggfQorICVwdXJlLXBhcnNlcgorLS0gCisyLjcuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvY2hlY2tfZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdHJlYW1lci0wLjEwLjM2L2NoZWNrX2ZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZDhiYjEzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdHJlYW1lci0wLjEwLjM2L2NoZWNrX2ZpeC5wYXRjaApAQCAtMCwwICsxLDE5IEBACisjIGdzdHJlYW1lcjogRml4IGEgcHJvYmxlbSB3aXRoIGNvbmZpZ3VyZSBpZiBjaGVjayBoYXMgYWxyZWFkeSBiZWVuIGJ1aWx0CisjIFJpY2hhcmQgUHVyZGllIDxycHVyZGllQGxpbnV4LmludGVsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitkaWZmIC11ck4gZ3N0cmVhbWVyLTAuMTAuMjktb3JpZy9jb25maWd1cmUuYWMgZ3N0cmVhbWVyLTAuMTAuMjkvY29uZmlndXJlLmFjCistLS0gZ3N0cmVhbWVyLTAuMTAuMjktb3JpZy9jb25maWd1cmUuYWMJMjAxMC0wNi0yNiAxMjo0OToyNy43NzQ5MzA3NzMgKzA4MDAKKysrKyBnc3RyZWFtZXItMC4xMC4yOS9jb25maWd1cmUuYWMJMjAxMC0wNi0yNiAxMjo1MToxMi44OTkyMDAyMzMgKzA4MDAKK0BAIC01NDMsOCArNTQzLDEwIEBACisgICAgICAgKikgQlVJTERfQ0hFQ0s9eWVzIDs7CisgICAgIGVzYWMKKyBdKQorKworIGRubCBiaXQgb2YgYSBtaXNub21lciwgYnV0IGtlZXAgdGhlIGNvbmRpdGlvbmFsIG5hbWVkIGxpa2UgdGhpcyBzbyB3ZSBkb24ndAorIGRubCBoYXZlIHRvIGNoYW5nZSB0b28gbXVjaCBlbHNld2hlcmUKKytIQVZFX0NIRUNLPW5vCisgQU1fQ09ORElUSU9OQUwoSEFWRV9DSEVDSywgdGVzdCAieCRCVUlMRF9DSEVDSyIgPSAieHllcyIpCisgCisgZG5sIGNvbmZpZ3VyZSB0aGUgZGVzaXJlZCBidWZmZXIgYWxpZ25tZW50CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvZ3N0LWluc3BlY3QtY2hlY2stZXJyb3IucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvZ3N0LWluc3BlY3QtY2hlY2stZXJyb3IucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzBiZTg1ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi9nc3QtaW5zcGVjdC1jaGVjay1lcnJvci5wYXRjaApAQCAtMCwwICsxLDE2IEBACisjIEZpeCBjcmFzaCB3aXRoIGdzdC1pbnNwZWN0CisjIENocmlzIExvcmQgPGNocmlzQG9wZW5lZGhhbmQuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworLS0tIGdzdHJlYW1lci0wLjEwLjkvdG9vbHMvZ3N0LWluc3BlY3QuYy5vbGQJMjAwNi0wOS0xMiAxMTo1Njo1My4wMDAwMDAwMDAgKzAxMDAKKysrKyBnc3RyZWFtZXItMC4xMC45L3Rvb2xzL2dzdC1pbnNwZWN0LmMJMjAwNi0wOS0xMiAxMTo1NzoyNy4wMDAwMDAwMDAgKzAxMDAKK0BAIC0xMTIzLDcgKzExMjMsNyBAQAorICAgZ19vcHRpb25fY29udGV4dF9hZGRfbWFpbl9lbnRyaWVzIChjdHgsIG9wdGlvbnMsIEdFVFRFWFRfUEFDS0FHRSk7CisgICBnX29wdGlvbl9jb250ZXh0X2FkZF9ncm91cCAoY3R4LCBnc3RfaW5pdF9nZXRfb3B0aW9uX2dyb3VwICgpKTsKKyAgIGlmICghZ19vcHRpb25fY29udGV4dF9wYXJzZSAoY3R4LCAmYXJnYywgJmFyZ3YsICZlcnIpKSB7CistICAgIGdfcHJpbnQgKCJFcnJvciBpbml0aWFsaXppbmc6ICVzXG4iLCBlcnItPm1lc3NhZ2UpOworKyAgICBnX3ByaW50ICgiRXJyb3IgaW5pdGlhbGl6aW5nOiAlc1xuIiwgZXJyID8gZXJyLT5tZXNzYWdlIDogIihudWxsKSIpOworICAgICBleGl0ICgxKTsKKyAgIH0KKyAgIGdfb3B0aW9uX2NvbnRleHRfZnJlZSAoY3R4KTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi9nc3RyZWdpc3RyeWJpbmFyeS5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdHJlYW1lci0wLjEwLjM2L2dzdHJlZ2lzdHJ5YmluYXJ5LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzFmM2U3MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi9nc3RyZWdpc3RyeWJpbmFyeS5jCkBAIC0wLDAgKzEsNDg3IEBACisvKiBHU3RyZWFtZXIKKyAqIENvcHlyaWdodCAoQykgMTk5OSwyMDAwIEVyaWsgV2FsdGhpbnNlbiA8b21lZ2FAY3NlLm9naS5lZHU+CisgKiAgICAgICAgICAgICAgICAgICAgMjAwMCBXaW0gVGF5bWFucyA8d3RheUBjaGVsbG8uYmU+CisgKiAgICAgICAgICAgICAgICAgICAgMjAwNSBEYXZpZCBBLiBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KKyAqCisgKiBnc3RyZWdpc3RyeXhtbC5jOiBHc3RSZWdpc3RyeSBvYmplY3QsIHN1cHBvcnQgcm91dGluZXMKKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdWxuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUKKyAqIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKi8KKworCisjaW5jbHVkZSA8Z3N0L2dzdHJlZ2lzdHJ5YmluYXJ5Lmg+CisKKy8qCisqKiBTaW1wbGUgaGFuZHkgZnVuY3Rpb24gdG8gd3JpdGUgYSBtZW1vcnkgbG9jYXRpb24gdG8gdGhlIHJlZ2lzdHJ5IGNhY2hlIGZpbGUKKyovCitpbmxpbmUgc3RhdGljIGdib29sZWFuCitnc3RfcmVnaXN0cnlfYmluYXJ5X3dyaXRlKEdzdFJlZ2lzdHJ5ICpyZWdpc3RyeSwgY29uc3Qgdm9pZCAqbWVtLCBjb25zdCBzc2l6ZV90IHNpemUpCit7CisgIGlmICh3cml0ZShyZWdpc3RyeS0+Y2FjaGVfZmlsZSwgbWVtLCBzaXplKSAhPSBzaXplKQorICAgIHsKKyAgICAgIEdTVF9FUlJPUigiRmFpbGVkIHRvIHdyaXRlIGJpbmFyeSByZWdpc3RyeSBlbGVtZW50OiBwdHI9JXAgc2l6ZT0ldSBlcnJvcj0lc1xuIiwKKwkJbWVtLCBzaXplLCBzdHJlcnJvcihlcnJubykpOworICAgICAgcmV0dXJuIEZBTFNFOworICAgIH0KKyAgcmV0dXJuIFRSVUU7Cit9CisKKy8qCisqKiBTYXZlIGZlYXR1cmVzIEdzdEJpbmFyeSBzdHlsZQorKi8KK3N0YXRpYyBnYm9vbGVhbiAKK2dzdF9yZWdpc3RyeV9iaW5hcnlfZmlsbF9mZWF0dXJlKEdMaXN0ICoqbGlzdCwgR3N0UGx1Z2luRmVhdHVyZSAqb3JpZywgR3N0QmluYXJ5UGx1Z2luRmVhdHVyZSAqZGVzdCwgY29uc3QgY2hhciAqbmFtZSkKK3sKKyAgR3N0QmluYXJ5Q2h1bmNrICpjaGs7CisKKyAgaWYgKChjaGsgPSBjYWxsb2MoMSwgc2l6ZW9mIChHc3RCaW5hcnlDaHVuY2spKSkgPT0gTlVMTCkKKyAgICByZXR1cm4gRkFMU0U7CisKKyAgY2hrLT5kYXRhID0gZGVzdDsKKyAgY2hrLT5zaXplID0gc2l6ZW9mIChHc3RCaW5hcnlQbHVnaW5GZWF0dXJlKTsKKworICAqbGlzdCA9IGdfbGlzdF9hcHBlbmQoKmxpc3QsIGNoayk7CisKKyAgZGVzdC0+cmFuayA9IG9yaWctPnJhbms7CisgIGlmICghc3RybmNweShkZXN0LT50eXBlbmFtZSwgbmFtZSwgR1NUX0JJTkFSWV9SRUdJU1RSWV9UWVBFTkFNRV9UWVBFTkFNRV9MRU4pIHx8CisgICAgICAhc3RybmNweShkZXN0LT5uYW1lLCBvcmlnLT5uYW1lLCBHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX05BTUVfTEVOKSkKKyAgICB7CisgICAgICBHU1RfRVJST1IoIkZhaWxlZCB0byB3cml0ZSBiaW5hcnkgcmVnaXN0cnkgZmVhdHVyZSIpOworICAgICAgZ290byBmYWlsOworICAgIH0KKyAgCisgIGlmIChHU1RfSVNfRUxFTUVOVF9GQUNUT1JZKG9yaWcpKQorICAgIHsKKyAgICAgIEdzdEVsZW1lbnRGYWN0b3J5ICpmYWN0b3J5ID0gR1NUX0VMRU1FTlRfRkFDVE9SWShvcmlnKTsKKyAgICAgIAorICAgICAgaWYgKCFzdHJuY3B5KGRlc3QtPmxvbmduYW1lLCBmYWN0b3J5LT5kZXRhaWxzLmxvbmduYW1lLCBHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX0xPTkdOQU1FX0xFTikgfHwKKwkgICFzdHJuY3B5KGRlc3QtPmNsYXNzLCBmYWN0b3J5LT5kZXRhaWxzLmtsYXNzLCBHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX0NMQVNTX0xFTikgfHwKKwkgICFzdHJuY3B5KGRlc3QtPmRlc2NyaXB0aW9uLCBmYWN0b3J5LT5kZXRhaWxzLmRlc2NyaXB0aW9uLCBHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX0RFU0NSSVBUSU9OX0xFTikgfHwKKwkgICFzdHJuY3B5KGRlc3QtPmF1dGhvciwgZmFjdG9yeS0+ZGV0YWlscy5hdXRob3IsIEdTVF9CSU5BUllfUkVHSVNUUllfVFlQRU5BTUVfQVVUSE9SX0xFTikpCisJeworCSAgR1NUX0VSUk9SKCJGYWlsZWQgdG8gd3JpdGUgYmluYXJ5IHJlZ2lzdHJ5IGZlYXR1cmUiKTsKKwkgIGdvdG8gZmFpbDsKKwl9CisgICAgfQorICAKKyAgZGVzdC0+bnBhZHRlbXBsYXRlcyA9IGRlc3QtPm5pbnRlcmZhY2VzID0gZGVzdC0+bnVyaXR5cGVzID0gMDsKKyAgcmV0dXJuIFRSVUU7CisKKyBmYWlsOgorICBmcmVlKGNoayk7CisgIHJldHVybiBGQUxTRTsKK30KKworCisvKgorKiogSW5pdGlhbGl6ZSB0aGUgR3N0QmluYXJ5UmVnaXN0cnlNYWdpYywgc2V0dGluZyBib3RoIG91ciBtYWdpYyBudW1iZXIgYW5kIGdzdHJlYW1lciBtYWpvci9taW5vciB2ZXJzaW9uCisqLworaW5saW5lIHN0YXRpYyBnYm9vbGVhbgorZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9pbml0aWFsaXplX21hZ2ljKEdzdEJpbmFyeVJlZ2lzdHJ5TWFnaWMgKm0pCit7CisgIGlmICghc3RybmNweShtLT5tYWdpYywgR1NUX01BR0lDX0JJTkFSWV9SRUdJU1RSWV9TVFIsIEdTVF9NQUdJQ19CSU5BUllfUkVHSVNUUllfTEVOKSB8fAorICAgICAgIXN0cm5jcHkobS0+dmVyc2lvbiwgR1NUX01BSk9STUlOT1IsIEdTVF9CSU5BUllfUkVHSVNUUllfVkVSU0lPTl9MRU4pKQorICAgIHsKKyAgICAgIEdTVF9FUlJPUigiRmFpbGVkIHRvIHdyaXRlIG1hZ2ljIHRvIHRoZSByZWdpc3RyeSBtYWdpYyBzdHJ1Y3R1cmUiKTsKKyAgICAgIHJldHVybiBGQUxTRTsKKyAgICB9CisgIHJldHVybiBUUlVFOworfQorCisvKgorKiogQ2hlY2sgR3N0QmluYXJ5UmVnaXN0cnlNYWdpYyB2YWxpZGl0eS4KKyoqIFJldHVybiBhIHBvaW50ZXIgcG9pbnRpbmcgcmlnaHQgYWZ0ZXIgdGhlIG1hZ2ljIHN0cnVjdHVyZQorKi8KK3N0YXRpYyBnY2hhciAqCitnc3RfcmVnaXN0cnlfYmluYXJ5X2NoZWNrX21hZ2ljKGdjaGFyICppbikKK3sKKyAgR3N0QmluYXJ5UmVnaXN0cnlNYWdpYyAqbSA9IChHc3RCaW5hcnlSZWdpc3RyeU1hZ2ljICopIGluOworCisgIGlmIChtID09IE5VTEwgfHwgbS0+bWFnaWMgPT0gTlVMTCB8fCBtLT52ZXJzaW9uID09IE5VTEwpCisgICAgeworICAgICAgR1NUX0VSUk9SKCJCaW5hcnkgcmVnaXN0cnkgbWFnaWMgc3RydWN0dXJlIGlzIGJyb2tlbiIpOworICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICBpZiAoc3RybmNtcChtLT5tYWdpYywgR1NUX01BR0lDX0JJTkFSWV9SRUdJU1RSWV9TVFIsIEdTVF9NQUdJQ19CSU5BUllfUkVHSVNUUllfTEVOKSAhPSAwKQorICAgIHsKKyAgICAgIEdTVF9FUlJPUigiQmluYXJ5IHJlZ2lzdHJ5IG1hZ2ljIGlzIGRpZmZlcmVudCA6ICUwMnglMDJ4JTAyeCUwMnggIT0gJTAyeCUwMnglMDJ4JTAyeCIsCisJCUdTVF9NQUdJQ19CSU5BUllfUkVHSVNUUllfU1RSWzBdICYgMHhmZiwgR1NUX01BR0lDX0JJTkFSWV9SRUdJU1RSWV9TVFJbMV0gJiAweGZmLAorCQlHU1RfTUFHSUNfQklOQVJZX1JFR0lTVFJZX1NUUlsyXSAmIDB4ZmYsIEdTVF9NQUdJQ19CSU5BUllfUkVHSVNUUllfU1RSWzNdICYgMHhmZiwKKwkJbS0+bWFnaWNbMF0gJiAweGZmLCBtLT5tYWdpY1sxXSAmIDB4ZmYsIG0tPm1hZ2ljWzJdICYgMHhmZiwgbS0+bWFnaWNbM10gJiAweGZmKTsKKyAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgaWYgKHN0cm5jbXAobS0+dmVyc2lvbiwgR1NUX01BSk9STUlOT1IsIEdTVF9CSU5BUllfUkVHSVNUUllfVkVSU0lPTl9MRU4pKQorICAgIHsKKyAgICAgIEdTVF9FUlJPUigiQmluYXJ5IHJlZ2lzdHJ5IG1hZ2ljIHZlcnNpb24gaXMgZGlmZmVyZW50IDogJXMgIT0gJXMiLAorCQlHU1RfTUFKT1JNSU5PUiwgbS0+dmVyc2lvbik7CisgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgIHJldHVybiAoaW4gKyBzaXplb2YgKEdzdEJpbmFyeVJlZ2lzdHJ5TWFnaWMpKTsKK30KKworLyoKKyoqIEFkYXB0IGEgR3N0UGx1Z2luIHRvIG91ciBHc3RCaW5hcnlQbHVnaW5FbGVtZW50IHN0cnVjdHVyZSwgYW5kIHdyaXRlIGl0IHRvIHRoZSAKKyoqIHJlZ2lzdHJ5IGZpbGUuCisqLyAgIAorc3RhdGljIGdib29sZWFuCitnc3RfcmVnaXN0cnlfYmluYXJ5X3NhdmVfcGx1Z2luKEdMaXN0ICoqbGlzdCwgR3N0UmVnaXN0cnkgKnJlZ2lzdHJ5LCBHc3RQbHVnaW4gKnBsdWdpbikKK3sKKyAgR3N0QmluYXJ5UGx1Z2luRWxlbWVudCAqZTsKKyAgR3N0QmluYXJ5Q2h1bmNrICpjaGs7CisgIEdMaXN0ICp3YWxrOworCisgIGlmICgoZSA9IGNhbGxvYygxLCBzaXplb2YgKEdzdEJpbmFyeVBsdWdpbkVsZW1lbnQpKSkgPT0gTlVMTCB8fAorICAgICAgKGNoayA9IGNhbGxvYygxLCBzaXplb2YgKEdzdEJpbmFyeUNodW5jaykpKSA9PSBOVUxMKQorICAgIHJldHVybiBGQUxTRTsKKworICBjaGstPmRhdGEgPSBlOworICBjaGstPnNpemUgPSBzaXplb2YgKEdzdEJpbmFyeVBsdWdpbkVsZW1lbnQpOworICAqbGlzdCA9IGdfbGlzdF9hcHBlbmQoKmxpc3QsIGNoayk7CisKKyAgaWYgKCFzdHJuY3B5KGUtPm5hbWUsIHBsdWdpbi0+ZGVzYy5uYW1lLCBHU1RfQklOQVJZX1JFR0lTVFJZX05BTUVfTEVOKQkJICAgICAgIAl8fAorICAgICAgIXN0cm5jcHkoZS0+ZGVzY3JpcHRpb24sIHBsdWdpbi0+ZGVzYy5kZXNjcmlwdGlvbiwgR1NUX0JJTkFSWV9SRUdJU1RSWV9ERVNDUklQVElPTl9MRU4pCXx8CisgICAgICAhc3RybmNweShlLT5maWxlbmFtZSwgcGx1Z2luLT5maWxlbmFtZSwgX1BPU0lYX1BBVEhfTUFYKQkJCQkJfHwKKyAgICAgICFzdHJuY3B5KGUtPnZlcnNpb24sIHBsdWdpbi0+ZGVzYy52ZXJzaW9uLCBHU1RfQklOQVJZX1JFR0lTVFJZX1ZFUlNJT05fTEVOKQkJfHwKKyAgICAgICFzdHJuY3B5KGUtPmxpY2Vuc2UsIHBsdWdpbi0+ZGVzYy5saWNlbnNlLCBHU1RfQklOQVJZX1JFR0lTVFJZX0xJQ0VOU0VfTEVOKQkJfHwKKyAgICAgICFzdHJuY3B5KGUtPnNvdXJjZSwgcGx1Z2luLT5kZXNjLnNvdXJjZSwgR1NUX0JJTkFSWV9SRUdJU1RSWV9TT1VSQ0VfTEVOKQkJCXx8CisgICAgICAhc3RybmNweShlLT5wYWNrYWdlLCBwbHVnaW4tPmRlc2MucGFja2FnZSwgR1NUX0JJTkFSWV9SRUdJU1RSWV9QQUNLQUdFX0xFTikJCXx8CisgICAgICAhc3RybmNweShlLT5vcmlnaW4sIHBsdWdpbi0+ZGVzYy5vcmlnaW4sIEdTVF9CSU5BUllfUkVHSVNUUllfT1JJR0lOX0xFTikpCisgICAgeworICAgICAgR1NUX0RFQlVHKCJDYW4ndCBhZGFwdCBHc3RQbHVnaW4gdG8gR3N0QmluYXJ5UGx1Z2luRWxlbWVudCIpOworICAgICAgZ290byBmYWlsOworICAgIH0KKworICBlLT5zaXplID0gcGx1Z2luLT5maWxlX3NpemU7CisgIGUtPm0zMnAgPSBwbHVnaW4tPmZpbGVfbXRpbWU7CisgIAorICBHTGlzdCAqZnRfbGlzdCA9IGdzdF9yZWdpc3RyeV9nZXRfZmVhdHVyZV9saXN0X2J5X3BsdWdpbihyZWdpc3RyeSwgcGx1Z2luLT5kZXNjLm5hbWUpOworCisgIGZvciAod2FsayA9IGZ0X2xpc3Q7IHdhbGs7IHdhbGsgPSBnX2xpc3RfbmV4dCh3YWxrKSwgZS0+bmZlYXR1cmVzKyspCisgICAgeworICAgICAgR3N0UGx1Z2luRmVhdHVyZSAqY3VyZmVhdCA9IEdTVF9QTFVHSU5fRkVBVFVSRSAod2Fsay0+ZGF0YSk7CisgICAgICBHc3RCaW5hcnlQbHVnaW5GZWF0dXJlICpuZXdmZWF0OworICAgICAgY29uc3QgY2hhciAqZmVhdF9uYW1lID0gZ190eXBlX25hbWUoR19PQkpFQ1RfVFlQRShjdXJmZWF0KSk7CisgICAgICAKKyAgICAgIGlmICgobmV3ZmVhdCA9IGNhbGxvYygxLCBzaXplb2YgKEdzdEJpbmFyeVBsdWdpbkZlYXR1cmUpKSkgPT0gTlVMTCkKKwkgIGdvdG8gZmFpbDsKKworICAgICAgaWYgKCFmZWF0X25hbWUgfHwgIWdzdF9yZWdpc3RyeV9iaW5hcnlfZmlsbF9mZWF0dXJlKGxpc3QsIGN1cmZlYXQsIG5ld2ZlYXQsIGZlYXRfbmFtZSkpCisJeworCSAgR1NUX0VSUk9SKCJDYW4ndCBmaWxsIHBsdWdpbiBmZWF0dXJlLCBhYm9ydGluZy4iKTsKKwkgIGdvdG8gZmFpbDsKKwl9CisgICAgfQorCisgIEdTVF9ERUJVRygiRm91bmQgJWQgZmVhdHVyZXMgaW4gcGx1Z2luIFwiJXNcIlxuIiwgZS0+bmZlYXR1cmVzLCBlLT5uYW1lKTsKKyAgcmV0dXJuIFRSVUU7CisKKyBmYWlsOgorICBmcmVlKGNoayk7CisgIGZyZWUoZSk7CisgIHJldHVybiBGQUxTRTsKK30KKworLyoKKyoqIFdyaXRlIHRoZSBjYWNoZSB0byBmaWxlLiBQYXJ0IG9mIHRoZSBjb2RlIHdhcyB0YWtlbiBmcm9tIGdzdHJlZ2lzdHJ5eG1sLmMKKyovCitnYm9vbGVhbiAKK2dzdF9yZWdpc3RyeV9iaW5hcnlfd3JpdGVfY2FjaGUoR3N0UmVnaXN0cnkgKnJlZ2lzdHJ5LCBjb25zdCBjaGFyICpsb2NhdGlvbikKK3sKKyAgR0xpc3QgKndhbGs7CisgIGNoYXIgKnRtcF9sb2NhdGlvbjsKKyAgR3N0QmluYXJ5UmVnaXN0cnlNYWdpYyAqbWFnaWM7CisgIEdzdEJpbmFyeUNodW5jayAqbWFnaWNfY2h1bmNrOworICBHTGlzdCAqdG9fd3JpdGUgPSBOVUxMOworIAorICBHU1RfSU5GTygiV3JpdGluZyBiaW5hcnkgcmVnaXN0cnkgY2FjaGUiKTsKKworICBnX3JldHVybl92YWxfaWZfZmFpbCAoR1NUX0lTX1JFR0lTVFJZIChyZWdpc3RyeSksIEZBTFNFKTsKKyAgdG1wX2xvY2F0aW9uID0gZ19zdHJjb25jYXQgKGxvY2F0aW9uLCAiLnRtcFhYWFhYWCIsIE5VTEwpOworICByZWdpc3RyeS0+Y2FjaGVfZmlsZSA9IGdfbWtzdGVtcCAodG1wX2xvY2F0aW9uKTsKKyAgaWYgKHJlZ2lzdHJ5LT5jYWNoZV9maWxlID09IC0xKQorICAgIHsKKyAgICAgIGNoYXIgKmRpcjsKKworICAgICAgLyogb29wcywgSSBiZXQgdGhlIGRpcmVjdG9yeSBkb2Vzbid0IGV4aXN0ICovCisgICAgICBkaXIgPSBnX3BhdGhfZ2V0X2Rpcm5hbWUgKGxvY2F0aW9uKTsKKyAgICAgIGdfbWtkaXJfd2l0aF9wYXJlbnRzIChkaXIsIDA3NzcpOworICAgICAgZ19mcmVlIChkaXIpOworICAgICAgCisgICAgICByZWdpc3RyeS0+Y2FjaGVfZmlsZSA9IGdfbWtzdGVtcCAodG1wX2xvY2F0aW9uKTsKKyAgICB9CisKKyAgaWYgKHJlZ2lzdHJ5LT5jYWNoZV9maWxlID09IC0xKQorICAgIGdvdG8gZmFpbDsKKworICBpZiAoKG1hZ2ljID0gY2FsbG9jKDEsIHNpemVvZiAoR3N0QmluYXJ5UmVnaXN0cnlNYWdpYykpKSA9PSBOVUxMIHx8CisgICAgICAhZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9pbml0aWFsaXplX21hZ2ljKG1hZ2ljKSkKKyAgICBnb3RvIGZhaWw7CisKKyAgaWYgKChtYWdpY19jaHVuY2sgPSBjYWxsb2MoMSwgc2l6ZW9mIChHc3RCaW5hcnlDaHVuY2spKSkgPT0gTlVMTCkKKyAgICBnb3RvIGZhaWw7CisKKyAgbWFnaWNfY2h1bmNrLT5kYXRhID0gbWFnaWM7CisgIG1hZ2ljX2NodW5jay0+c2l6ZSA9IHNpemVvZiAoR3N0QmluYXJ5UmVnaXN0cnlNYWdpYyk7CisgIHRvX3dyaXRlID0gZ19saXN0X2FwcGVuZCh0b193cml0ZSwgbWFnaWNfY2h1bmNrKTsgCisKKyAgLyogSXRlcmF0ZSB0cm91Z2ggdGhlIGxpc3Qgb2YgcGx1Z2lucyBpbiB0aGUgR3N0UmVnaXN0cnkgYW5kIGFkYXB0IHRoZW0gdG8gb3VyIHN0cnVjdHVyZXMgKi8KKyAgZm9yICh3YWxrID0gZ19saXN0X2xhc3QocmVnaXN0cnktPnBsdWdpbnMpOyB3YWxrOyB3YWxrID0gZ19saXN0X3ByZXZpb3VzKHdhbGspKQorICAgIHsKKyAgICAgIEdzdFBsdWdpbiAqcGx1Z2luID0gR1NUX1BMVUdJTih3YWxrLT5kYXRhKTsKKyAgICAgIAorICAgICAgaWYgKCFwbHVnaW4tPmZpbGVuYW1lKQorCWNvbnRpbnVlOworCSAgCisgICAgICBpZiAocGx1Z2luLT5mbGFncyAmIEdTVF9QTFVHSU5fRkxBR19DQUNIRUQpCisJeworCSAgaW50IHJldDsKKwkgIHN0cnVjdCBzdGF0IHN0YXRidWY7CisJICAKKwkgIHJldCA9IGdfc3RhdCAocGx1Z2luLT5maWxlbmFtZSwgJnN0YXRidWYpOworCSAgaWYgKChyZXQgPSBnX3N0YXQgKHBsdWdpbi0+ZmlsZW5hbWUsICZzdGF0YnVmKSkgPCAwIAl8fAorCSAgICAgIHBsdWdpbi0+ZmlsZV9tdGltZSAhPSBzdGF0YnVmLnN0X210aW1lCQl8fAorCSAgICAgIHBsdWdpbi0+ZmlsZV9zaXplICE9IHN0YXRidWYuc3Rfc2l6ZSkKKwkgICAgY29udGludWU7CisJfQorCisgICAgICBpZiAoIWdzdF9yZWdpc3RyeV9iaW5hcnlfc2F2ZV9wbHVnaW4oJnRvX3dyaXRlLCByZWdpc3RyeSwgcGx1Z2luKSkKKwl7CisJICBHU1RfRVJST1IoIkNhbid0IHdyaXRlIGJpbmFyeSBwbHVnaW4gaW5mb3JtYXRpb24gZm9yIFwiJXNcIiIsIHBsdWdpbi0+ZmlsZW5hbWUpOworCSAgY29udGludWU7IC8qIFRyeSBhbnl3YXkgKi8KKwl9CisgICAgfQorCisgIGZvciAod2FsayA9IGdfbGlzdF9maXJzdCh0b193cml0ZSk7IHdhbGs7IHdhbGsgPSBnX2xpc3RfbmV4dCh3YWxrKSkKKyAgICB7CisgICAgICBHc3RCaW5hcnlDaHVuY2sgKmN1ciA9IHdhbGstPmRhdGE7CisKKyAgICAgIGlmICghZ3N0X3JlZ2lzdHJ5X2JpbmFyeV93cml0ZShyZWdpc3RyeSwgY3VyLT5kYXRhLCBjdXItPnNpemUpKQorCXsKKwkgIGZyZWUoY3VyLT5kYXRhKTsKKwkgIGZyZWUoY3VyKTsKKwkgIGdfbGlzdF9mcmVlKHRvX3dyaXRlKTsKKwkgIGdvdG8gZmFpbDsKKwl9CisgICAgICBmcmVlKGN1ci0+ZGF0YSk7CisgICAgICBmcmVlKGN1cik7CisgICAgfQorICBnX2xpc3RfZnJlZSh0b193cml0ZSk7CisKKyAgaWYgKGNsb3NlKHJlZ2lzdHJ5LT5jYWNoZV9maWxlKSA8IDApCisgICAgeworICAgICAgR1NUX0RFQlVHKCJDYW4ndCBjbG9zZSByZWdpc3RyeSBmaWxlIDogJXMiLCBzdHJlcnJvcihlcnJubykpOworICAgICAgZ290byBmYWlsOworICAgIH0KKyAgCisgIGlmIChnX2ZpbGVfdGVzdCAodG1wX2xvY2F0aW9uLCBHX0ZJTEVfVEVTVF9FWElTVFMpKSB7CisjaWZkZWYgV0lOMzIKKyAgICByZW1vdmUgKGxvY2F0aW9uKTsKKyNlbmRpZgorICAgIHJlbmFtZSAodG1wX2xvY2F0aW9uLCBsb2NhdGlvbik7CisgIH0KKworICBnX2ZyZWUgKHRtcF9sb2NhdGlvbik7CisgIHJldHVybiBUUlVFOworCisgZmFpbDoKKyAgZ19mcmVlKHRtcF9sb2NhdGlvbik7CisgIHJldHVybiBGQUxTRTsKK30KKworc3RhdGljIEdzdFBsdWdpbkZlYXR1cmUqCitnc3RfcmVnaXN0cnlfYmluYXJ5X2xvYWRfZmVhdHVyZShHc3RCaW5hcnlQbHVnaW5GZWF0dXJlICppbikKK3sKKyAgR3N0UGx1Z2luRmVhdHVyZSAqZmVhdHVyZTsKKyAgR1R5cGUgdHlwZTsKKworICBpZiAoIWluLT50eXBlbmFtZSB8fCAhKihpbi0+dHlwZW5hbWUpKQorICAgIHJldHVybiBOVUxMOworCisgIC8qICBHU1RfSU5GTygiUGx1Z2luIGZlYXR1cmUgdHlwZW5hbWUgOiAlcyIsIGluLT50eXBlbmFtZSk7Ki8KKworICBpZiAoISh0eXBlID0gZ190eXBlX2Zyb21fbmFtZShpbi0+dHlwZW5hbWUpKSkKKyAgICB7CisgICAgICBHU1RfRVJST1IoIlVua25vd24gdHlwZSBmcm9tIHR5cGVuYW1lIik7CisgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgIGZlYXR1cmUgPSBnX29iamVjdF9uZXcgKHR5cGUsIE5VTEwpOworCisgIGlmICghZmVhdHVyZSkgeworICAgIEdTVF9FUlJPUigiQ2FuJ3QgY3JlYXRlIGZlYXR1cmUgZnJvbSB0eXBlIik7CisgICAgcmV0dXJuIE5VTEw7CisgIH0KKworICBpZiAoIUdTVF9JU19QTFVHSU5fRkVBVFVSRSAoZmVhdHVyZSkpIHsKKyAgICAvKiBkb24ndCByZWFsbHkga25vdyB3aGF0IGl0IGlzICovCisgICAgaWYgKEdTVF9JU19PQkpFQ1QgKGZlYXR1cmUpKQorICAgICAgZ3N0X29iamVjdF91bnJlZiAoZmVhdHVyZSk7CisgICAgZWxzZQorICAgICAgZ19vYmplY3RfdW5yZWYgKGZlYXR1cmUpOworICAgIHJldHVybiBOVUxMOworICB9CisKKyAgZmVhdHVyZS0+bmFtZSA9IGdfc3RyZHVwKGluLT5uYW1lKTsKKyAgZmVhdHVyZS0+cmFuayA9IGluLT5yYW5rOworCisgIGlmIChHU1RfSVNfRUxFTUVOVF9GQUNUT1JZKGZlYXR1cmUpKQorICAgIHsKKyAgICAgIEdzdEVsZW1lbnRGYWN0b3J5ICpmYWN0b3J5ID0gR1NUX0VMRU1FTlRfRkFDVE9SWShmZWF0dXJlKTsKKworICAgICAgZmFjdG9yeS0+ZGV0YWlscy5sb25nbmFtZSA9IGdfc3RyZHVwKGluLT5sb25nbmFtZSk7CisgICAgICBmYWN0b3J5LT5kZXRhaWxzLmtsYXNzID0gZ19zdHJkdXAoaW4tPmNsYXNzKTsKKyAgICAgIGZhY3RvcnktPmRldGFpbHMuZGVzY3JpcHRpb24gPSBnX3N0cmR1cChpbi0+ZGVzY3JpcHRpb24pOworICAgICAgZmFjdG9yeS0+ZGV0YWlscy5hdXRob3IgPSBnX3N0cmR1cChpbi0+YXV0aG9yKTsKKworICAgICAgLyogICAgICBHU1RfSU5GTygiRWxlbWVudCBmYWN0b3J5IDogJXMiLCBmYWN0b3J5LT5kZXRhaWxzLmxvbmduYW1lKTsgKi8KKyAgICB9CisKKyAgR1NUX0RFQlVHKCJBZGRlZCBmZWF0dXJlICVwIHdpdGggbmFtZSAlcyIsIGZlYXR1cmUsIGZlYXR1cmUtPm5hbWUpOworICByZXR1cm4gZmVhdHVyZTsKK30KKworLyoKKyoqIE1ha2UgYSBuZXcgcGx1Z2luIGZyb20gY3VycmVudCBHc3RCaW5hcnlQbHVnaW5FbGVtZW50IHN0cnVjdHVyZQorKiogYW5kIHNhdmUgaXQgdG8gdGhlIEdzdFJlZ2lzdHJ5LiBSZXR1cm4gYW4gb2Zmc2V0IHRvIHRoZSBuZXh0CisqKiBHc3RCaW5hcnlQbHVnaW5FbGVtZW50IHN0cnVjdHVyZS4KKyovCitzdGF0aWMgdW5zaWduZWQgbG9uZworZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9nZXRfYmluYXJ5X3BsdWdpbihHc3RSZWdpc3RyeSAqcmVnaXN0cnksIGdjaGFyICppbikKK3sKKyAgR3N0QmluYXJ5UGx1Z2luRWxlbWVudCAqcCA9IChHc3RCaW5hcnlQbHVnaW5FbGVtZW50ICopIGluOworICBHc3RQbHVnaW4gKnBsdWdpbiA9IE5VTEw7CisgIEdMaXN0ICpwbHVnaW5fZmVhdHVyZXMgPSBOVUxMOworICBHc3RCaW5hcnlQbHVnaW5GZWF0dXJlICpmZWF0OworICB1bnNpZ25lZCBpbnQgaTsKKyAgdW5zaWduZWQgbG9uZyBvZmZzZXQ7CisKKyAgcGx1Z2luID0gZ19vYmplY3RfbmV3IChHU1RfVFlQRV9QTFVHSU4sIE5VTEwpOworCisgIHBsdWdpbi0+ZmxhZ3MgfD0gR1NUX1BMVUdJTl9GTEFHX0NBQ0hFRDsKKworICBwbHVnaW4tPmRlc2MubmFtZSA9IGdfc3RyZHVwKHAtPm5hbWUpOworICBwbHVnaW4tPmRlc2MuZGVzY3JpcHRpb249IGdfc3RyZHVwKHAtPmRlc2NyaXB0aW9uKTsKKyAgcGx1Z2luLT5maWxlbmFtZSA9IGdfc3RyZHVwKHAtPmZpbGVuYW1lKTsKKyAgcGx1Z2luLT5kZXNjLnZlcnNpb24gPSBnX3N0cmR1cChwLT52ZXJzaW9uKTsKKyAgcGx1Z2luLT5kZXNjLmxpY2Vuc2UgPSBnX3N0cmR1cChwLT5saWNlbnNlKTsKKyAgcGx1Z2luLT5kZXNjLnNvdXJjZSA9IGdfc3RyZHVwKHAtPnNvdXJjZSk7CisgIHBsdWdpbi0+ZGVzYy5wYWNrYWdlID0gZ19zdHJkdXAocC0+cGFja2FnZSk7CisgIHBsdWdpbi0+ZGVzYy5vcmlnaW4gPSBnX3N0cmR1cChwLT5vcmlnaW4pOworICBwbHVnaW4tPmZpbGVfbXRpbWUgPSBwLT5tMzJwOworICBwbHVnaW4tPmZpbGVfc2l6ZSA9IHAtPnNpemU7CisgIHBsdWdpbi0+YmFzZW5hbWUgPSBnX3BhdGhfZ2V0X2Jhc2VuYW1lIChwbHVnaW4tPmZpbGVuYW1lKTsKKworICBpZiAocGx1Z2luLT5maWxlX210aW1lIDwgMCB8fCBwbHVnaW4tPmZpbGVfc2l6ZSA8IDApCisgICAgeworICAgICAgR1NUX0VSUk9SKCJQbHVnaW4gdGltZSBvciBmaWxlIHNpemUgaXMgbm90IHZhbGlkICEiKTsKKyAgICAgIGdfZnJlZShwbHVnaW4pOworICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICBpZiAocC0+bmZlYXR1cmVzIDwgMCkKKyAgICB7CisgICAgICBHU1RfRVJST1IoIlRoZSBudW1iZXIgb2YgZmVhdHVyZSBzdHJ1Y3R1cmUgaXMgbm90IHZhbGlkICEiKTsKKyAgICAgIGdzdF9vYmplY3RfdW5yZWYocGx1Z2luKTsKKyAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgZm9yIChmZWF0ID0gKEdzdEJpbmFyeVBsdWdpbkZlYXR1cmUgKikgKGluICsgc2l6ZW9mIChHc3RCaW5hcnlQbHVnaW5FbGVtZW50KSksIGkgPSAwOyAKKyAgICAgICBpIDwgcC0+bmZlYXR1cmVzOyBpKyssIGZlYXQrKykKKyAgICB7CisgICAgICBHc3RQbHVnaW5GZWF0dXJlICpnc3RmZWF0OworCisgICAgICBpZiAoKGdzdGZlYXQgPSBnc3RfcmVnaXN0cnlfYmluYXJ5X2xvYWRfZmVhdHVyZShmZWF0KSkgPT0gTlVMTCkKKwl7CisJICBnX2xpc3RfZnJlZShwbHVnaW5fZmVhdHVyZXMpOworCSAgZ19mcmVlKHBsdWdpbik7CisJICBHU1RfRVJST1IoIkVycm9yIHdoaWxlIGxvYWRpbmcgYmluYXJ5IGZlYXR1cmUiKTsKKwkgIHJldHVybiAtMTsKKwl9CisgICAgICBnc3RmZWF0LT5wbHVnaW5fbmFtZSA9IGdfc3RyZHVwKHBsdWdpbi0+ZGVzYy5uYW1lKTsKKyAgICAgIHBsdWdpbl9mZWF0dXJlcyA9IGdfbGlzdF9wcmVwZW5kKHBsdWdpbl9mZWF0dXJlcywgZ3N0ZmVhdCk7CisgICAgfQorICAKKyAgR1NUX0RFQlVHKCJBZGRlZCBwbHVnaW4gXCIlc1wiIHRvIGdsb2JhbCByZWdpc3RyeSBmcm9tIGJpbmFyeSByZWdpc3RyeSIsIHBsdWdpbi0+ZGVzYy5uYW1lKTsgCisgIEdMaXN0ICpnOworCisgIGdzdF9yZWdpc3RyeV9hZGRfcGx1Z2luIChyZWdpc3RyeSwgcGx1Z2luKTsKKyAgZm9yIChnID0gcGx1Z2luX2ZlYXR1cmVzOyBnOyBnID0gZ19saXN0X25leHQgKGcpKQorICAgIGdzdF9yZWdpc3RyeV9hZGRfZmVhdHVyZSAocmVnaXN0cnksIEdTVF9QTFVHSU5fRkVBVFVSRSAoZy0+ZGF0YSkpOworICAvKiAgZ19saXN0X2ZyZWUocGx1Z2luX2ZlYXR1cmVzKTsgKi8KKworICBvZmZzZXQgPSBzaXplb2YgKEdzdEJpbmFyeVBsdWdpbkVsZW1lbnQpICsgcC0+bmZlYXR1cmVzICogc2l6ZW9mIChHc3RCaW5hcnlQbHVnaW5GZWF0dXJlKTsKKyAgcmV0dXJuIG9mZnNldDsKK30KKworCisvKgorKiogUmVhZCB0aGUgY2FjaGUgYW5kIGFkYXB0IGl0IHRvIGZpbGwgR3N0UmVnaXN0cnkKKyovIAorZ2Jvb2xlYW4gCitnc3RfcmVnaXN0cnlfYmluYXJ5X3JlYWRfY2FjaGUoR3N0UmVnaXN0cnkgKnJlZ2lzdHJ5LCBjb25zdCBjaGFyICpsb2NhdGlvbikKK3sKKyAgR01hcHBlZEZpbGUgKm1hcHBlZCA9IE5VTEw7CisgIEdUaW1lciAqdGltZXIgPSBOVUxMOworICBnY2hhciAqY29udGVudHMgPSBOVUxMOworICBnZG91YmxlIHNlY29uZHM7CisgIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCBpbmM7CisgIGdzaXplIHNpemU7CisKKyAgLyogbWFrZSBzdXJlIHRoZXNlIHR5cGVzIGV4aXN0ICovCisgIEdTVF9UWVBFX0VMRU1FTlRfRkFDVE9SWTsKKyAgR1NUX1RZUEVfVFlQRV9GSU5EX0ZBQ1RPUlk7CisgIEdTVF9UWVBFX0lOREVYX0ZBQ1RPUlk7CisKKyAgdGltZXIgPSBnX3RpbWVyX25ldyAoKTsKKworICBpZiAoKG1hcHBlZCA9IGdfbWFwcGVkX2ZpbGVfbmV3KGxvY2F0aW9uLCBGQUxTRSwgTlVMTCkpID09IE5VTEwgfHwKKyAgICAgIChjb250ZW50cyA9IGdfbWFwcGVkX2ZpbGVfZ2V0X2NvbnRlbnRzKG1hcHBlZCkpID09IE5VTEwpCisgICAgeworICAgICAgR1NUX0VSUk9SKCJDYW4ndCBsb2FkIGZpbGUgOiAlcyIsIHN0cmVycm9yKGVycm5vKSk7CisgICAgICByZXR1cm4gRkFMU0U7CisgICAgfQorICBpZiAoKGNvbnRlbnRzID0gZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9jaGVja19tYWdpYyhjb250ZW50cykpID09IE5VTEwpCisgICAgeworICAgICAgR1NUX0VSUk9SKCJCaW5hcnkgcmVnaXN0cnkgdHlwZSBub3QgcmVjb2duaXplZCAoaW52YWxpZCBtYWdpYykiKTsKKyAgICAgIGdfbWFwcGVkX2ZpbGVfZnJlZShtYXBwZWQpOworICAgICAgcmV0dXJuIEZBTFNFOworICAgIH0KKworICBpZiAoKHNpemUgPSBnX21hcHBlZF9maWxlX2dldF9sZW5ndGgobWFwcGVkKSkgPCBzaXplb2YgKEdzdEJpbmFyeVBsdWdpbkVsZW1lbnQpKQorICAgIHsKKyAgICAgIEdTVF9JTkZPKCJObyBiaW5hcnkgcGx1Z2lucyBzdHJ1Y3R1cmUgdG8gcmVhZCIpOworICAgICAgcmV0dXJuIFRSVUU7IC8qIFRoaXMgaXMgbm90IHJlYWxseSBhbiBlcnJvciAqLworICAgIH0KKworICBmb3IgKG9mZnNldCA9IGluYyA9IDA7IChvZmZzZXQgKyBzaXplb2YgKEdzdEJpbmFyeVBsdWdpbkVsZW1lbnQpKSA8IHNpemUgJiYKKwkgKGluYyA9IGdzdF9yZWdpc3RyeV9iaW5hcnlfZ2V0X2JpbmFyeV9wbHVnaW4ocmVnaXN0cnksIGNvbnRlbnRzICsgb2Zmc2V0KSkgPiAwOworICAgICAgIG9mZnNldCArPSBpbmMpCisgICAgOyAvKiBNYXkgd2FudCBpbiB0aGUgZnV0dXJlIHRvIGRvIHNvbWV0aGluZyBoZXJlICovCisgIGlmIChpbmMgPCAwKQorICAgIHsKKyAgICAgIEdTVF9ERUJVRygiUHJvYmxlbSB3aGlsZSByZWFkaW5nIGJpbmFyeSByZWdpc3RyeSIpOworICAgICAgcmV0dXJuIEZBTFNFOworICAgIH0KKworICBnX3RpbWVyX3N0b3AgKHRpbWVyKTsKKyAgc2Vjb25kcyA9IGdfdGltZXJfZWxhcHNlZCAodGltZXIsIE5VTEwpOworICBnX3RpbWVyX2Rlc3Ryb3kgKHRpbWVyKTsKKworICBHU1RfSU5GTyAoImxvYWRlZCAlcyBpbiAlZiBzZWNvbmRzIiwgbG9jYXRpb24sIHNlY29uZHMpOworCisgIGlmIChtYXBwZWQpCisgICAgZ19tYXBwZWRfZmlsZV9mcmVlIChtYXBwZWQpOworICByZXR1cm4gVFJVRTsKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi9nc3RyZWdpc3RyeWJpbmFyeS5oIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdHJlYW1lci0wLjEwLjM2L2dzdHJlZ2lzdHJ5YmluYXJ5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmVmMjRkNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi9nc3RyZWdpc3RyeWJpbmFyeS5oCkBAIC0wLDAgKzEsMTk0IEBACisvKiBHU3RyZWFtZXIKKyAqIENvcHlyaWdodCAoQykgMTk5OSwyMDAwIEVyaWsgV2FsdGhpbnNlbiA8b21lZ2FAY3NlLm9naS5lZHU+CisgKiAgICAgICAgICAgICAgICAgICAgMjAwMCBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY2hlbGxvLmJlPgorICoKKyAqIGdzdHJlZ2lzdHJ5Lmg6IEhlYWRlciBmb3IgcmVnaXN0cnkgaGFuZGxpbmcKKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZQorICogRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCisgKiBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KKyAqLworCisvKiBTVUdHRVNUSU9OUyBBTkQgVE9ETyA6CisqKiA9PT09PT09PT09PT09PT09PT09PQorKiogLSBVc2UgYSBjb21wcmVzc2VkIHJlZ2lzdHJ5LCBidXQgd291bGQgaW5kdWNlIHBlcmZvcm1hbmNlIGxvc3MKKyoqIC0gRW5jcnlwdCB0aGUgcmVnaXN0cnksIGZvciBzZWN1cml0eSBwdXJwb3NlLCBidXQgd291bGQgYWxzbyByZWR1Y2UgcGVyZm9ybWFuY2VzCisqKiAtIEFsc28gaGF2ZSBhIG5vbi1tbWFwIGJhc2VkIGNhY2hlIHJlYWRpbmcgKHdvcmsgd2l0aCBmaWxlIGRlc2NyaXB0b3JzKQorKi8KKworI2lmbmRlZiBfX0dTVF9SRUdJU1RSWUJJTkFSWV9IX18KKyNkZWZpbmUgX19HU1RfUkVHSVNUUllCSU5BUllfSF9fCisKKyNpZmRlZiBIQVZFX0NPTkZJR19ICisjICBpbmNsdWRlICJjb25maWcuaCIKKyNlbmRpZgorCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8ZGlyZW50Lmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzeXMvbW1hbi5oPgorI2lmZGVmIEhBVkVfVU5JU1REX0gKKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNlbmRpZgorCisjaW5jbHVkZSA8Z3N0L2dzdF9wcml2YXRlLmg+CisjaW5jbHVkZSA8Z3N0L2dzdGVsZW1lbnQuaD4KKyNpbmNsdWRlIDxnc3QvZ3N0dHlwZWZpbmQuaD4KKyNpbmNsdWRlIDxnc3QvZ3N0dHlwZWZpbmRmYWN0b3J5Lmg+CisjaW5jbHVkZSA8Z3N0L2dzdHVyaS5oPgorI2luY2x1ZGUgPGdzdC9nc3RpbmZvLmg+CisjaW5jbHVkZSA8Z3N0L2dzdGVudW10eXBlcy5oPgorI2luY2x1ZGUgPGdzdC9nc3RyZWdpc3RyeS5oPgorI2luY2x1ZGUgPGdzdC9nc3RwYWR0ZW1wbGF0ZS5oPgorCisjaW5jbHVkZSAiZ2xpYi1jb21wYXQtcHJpdmF0ZS5oIgorI2luY2x1ZGUgPGdsaWIvZ3N0ZGlvLmg+CisKKy8qIEEgbWFnaWMsIHdyaXR0ZW4gYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZSAqLworI2RlZmluZSBHU1RfTUFHSUNfQklOQVJZX1JFR0lTVFJZX1NUUiAiXHhjMFx4ZGVceGYwXHgwZCIKKyNkZWZpbmUgR1NUX01BR0lDX0JJTkFSWV9SRUdJU1RSWV9MRU4gKDQpCisjZGVmaW5lIEdTVF9NQUdJQ19CSU5BUllfVkVSU0lPTl9MRU4gKDY0KQorCit0eXBlZGVmIHN0cnVjdCBfR3N0QmluYXJ5UmVnaXN0cnlNYWdpYworeworICBjaGFyIG1hZ2ljW0dTVF9NQUdJQ19CSU5BUllfUkVHSVNUUllfTEVOXTsKKyAgY2hhciB2ZXJzaW9uW0dTVF9NQUdJQ19CSU5BUllfVkVSU0lPTl9MRU5dOworfSBHc3RCaW5hcnlSZWdpc3RyeU1hZ2ljOworCisKKy8qIFVzZWQgdG8gc3RvcmUgcG9pbnRlcnMgdG8gd3JpdGUgKi8KK3R5cGVkZWYgc3RydWN0IF9Hc3RCaW5hcnlDaHVuY2sKK3sKKyAgdm9pZCAqZGF0YTsKKyAgdW5zaWduZWQgaW50IHNpemU7Cit9IEdzdEJpbmFyeUNodW5jazsKKworCisvKiBBIHN0cnVjdHVyZSBjb250YWluaW5nIChzdGF0aWNlbHkpIGV2ZXJ5IGluZm9ybWF0aW9uIG5lZWRlZCBmb3IgYSBwbHVnaW4KKyoqCisqKiBOb3RlcyA6CisqKiAibmZlYXR1cmVzIiBpcyB1c2VkIHRvIHNheSBob3cgbWFueSBHc3RCaW5hcnlQbHVnaW5GZWF0dXJlIHN0cnVjdHVyZXMgd2Ugd2lsbCBoYXZlIAorKiogcmlnaHQgYWZ0ZXIgdGhlIHN0cnVjdHVyZSBpdHNlbGYuCisqLworCisvKiBWYXJpb3VzIGxlbmdodCBkZWZpbmVzIGZvciBvdXIgR3N0QmluYXJ5UGx1Z2luRWxlbWVudCBzdHJ1Y3R1cmUgCisqKiBOb3RlIDogV2UgY291bGQgZXZlbnR1YWxseSB1c2Ugc21hbGxlciBzaXplCisqLworI2RlZmluZSBHU1RfQklOQVJZX1JFR0lTVFJZX05BTUVfTEVOICgyNTYpCisjZGVmaW5lIEdTVF9CSU5BUllfUkVHSVNUUllfREVTQ1JJUFRJT05fTEVOICgxMDI0KQorI2RlZmluZSBHU1RfQklOQVJZX1JFR0lTVFJZX1ZFUlNJT05fTEVOICg2NCkKKyNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9MSUNFTlNFX0xFTiAoMjU2KQorI2RlZmluZSBHU1RfQklOQVJZX1JFR0lTVFJZX1NPVVJDRV9MRU4gKDI1NikKKyNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9QQUNLQUdFX0xFTiAoMTAyNCkKKyNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9PUklHSU5fTEVOICgxMDI0KQorCit0eXBlZGVmIHN0cnVjdCBfR3N0QmluYXJ5UGx1Z2luRWxlbWVudAoreworICBjaGFyIG5hbWVbR1NUX0JJTkFSWV9SRUdJU1RSWV9OQU1FX0xFTl07CisgIGNoYXIgZGVzY3JpcHRpb25bR1NUX0JJTkFSWV9SRUdJU1RSWV9ERVNDUklQVElPTl9MRU5dOworICBjaGFyIGZpbGVuYW1lW19QT1NJWF9QQVRIX01BWF07CisgIGNoYXIgdmVyc2lvbltHU1RfQklOQVJZX1JFR0lTVFJZX1ZFUlNJT05fTEVOXTsKKyAgY2hhciBsaWNlbnNlW0dTVF9CSU5BUllfUkVHSVNUUllfTElDRU5TRV9MRU5dOworICBjaGFyIHNvdXJjZVtHU1RfQklOQVJZX1JFR0lTVFJZX1NPVVJDRV9MRU5dOworICBjaGFyIHBhY2thZ2VbR1NUX0JJTkFSWV9SRUdJU1RSWV9QQUNLQUdFX0xFTl07CisgIGNoYXIgb3JpZ2luW0dTVF9CSU5BUllfUkVHSVNUUllfT1JJR0lOX0xFTl07CisgIHVuc2lnbmVkIGxvbmcgc2l6ZTsKKyAgdW5zaWduZWQgbG9uZyBtMzJwOworICB1bnNpZ25lZCBpbnQgbmZlYXR1cmVzOworfSBHc3RCaW5hcnlQbHVnaW5FbGVtZW50OworCisKKy8qIEEgc3RydWN0dXJlIGNvbnRhaW5pbmcgdGhlIHBsdWdpbiBmZWF0dXJlcworKioKKyoqIE5vdGUgOgorKiogIm5wYWR0ZW1wbGF0ZXMiIGlzIHVzZWQgdG8gc3RvcmUgdGhlIG51bWJlciBvZiBHc3RCaW5hcnlQYWRUZW1wbGF0ZSBzdHJ1Y3R1cmVzIGZvbGxvd2luZyB0aGUgc3RydWN0dXJlIGl0c2VsZi4KKyoqICJuaW50ZXJmYWNlcyIgaXMgdXNlZCB0byBzdG9yZSB0aGUgbnVtYmVyIG9mIEdzdEJpbmFyeUludGVyZmFjZSBzdHJ1Y3R1cmVzIGZvbGxvd2luZyB0aGUgc3RydWN0dXJlIGl0c2VsZi4KKyoqICJudXJpdHlwZXMiIGlzIHVzZWQgdG8gc3RvcmUgdGhlIG51bWJlciBvZiBHc3RCaW5hcnlVcmlUeXBlIHN0cnVjdHVyZXMgZm9sbG93aW5nIHRoZSBzdHJ1Y3R1cmUgaXRzZWxmLgorKi8KKyNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9UWVBFTkFNRV9UWVBFTkFNRV9MRU4gKDI1NikKKyNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9UWVBFTkFNRV9OQU1FX0xFTiAoMjU2KQorI2RlZmluZSBHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX0xPTkdOQU1FX0xFTiAoMTAyNCkKKyNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9UWVBFTkFNRV9DTEFTU19MRU4gKDUxMikKKyNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9UWVBFTkFNRV9ERVNDUklQVElPTl9MRU4gKDEwMjQpCisjZGVmaW5lIEdTVF9CSU5BUllfUkVHSVNUUllfVFlQRU5BTUVfQVVUSE9SX0xFTiAoMjU2KQorCit0eXBlZGVmIHN0cnVjdCBfR3N0QmluYXJ5UGx1Z2luRmVhdHVyZQoreworICBjaGFyIHR5cGVuYW1lW0dTVF9CSU5BUllfUkVHSVNUUllfVFlQRU5BTUVfVFlQRU5BTUVfTEVOXTsKKyAgY2hhciBuYW1lW0dTVF9CSU5BUllfUkVHSVNUUllfVFlQRU5BTUVfTkFNRV9MRU5dOworICB1bnNpZ25lZCBsb25nIHJhbms7CisgIGNoYXIgbG9uZ25hbWVbR1NUX0JJTkFSWV9SRUdJU1RSWV9UWVBFTkFNRV9MT05HTkFNRV9MRU5dOworICBjaGFyIGNsYXNzW0dTVF9CSU5BUllfUkVHSVNUUllfVFlQRU5BTUVfQ0xBU1NfTEVOXTsKKyAgY2hhciBkZXNjcmlwdGlvbltHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX0RFU0NSSVBUSU9OX0xFTl07CisgIGNoYXIgYXV0aG9yW0dTVF9CSU5BUllfUkVHSVNUUllfVFlQRU5BTUVfQVVUSE9SX0xFTl07CisgIHVuc2lnbmVkIGludCBucGFkdGVtcGxhdGVzOworICB1bnNpZ25lZCBpbnQgbmludGVyZmFjZXM7CisgIHVuc2lnbmVkIGludCBudXJpdHlwZXM7Cit9IEdzdEJpbmFyeVBsdWdpbkZlYXR1cmU7CisKKworLyogCisqKiBBIHN0cnVjdHVyZSBjb250YWluaW5nIHRoZSBzdGF0aWMgcGFkIHRlbXBsYXRlcyBvZiBhIHBsdWdpbiBmZWF0dXJlIAorKi8KKyNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9QQURURU1QTEFURV9OQU1FX0xFTiAoMjU2KQorI2RlZmluZSBHU1RfQklOQVJZX1JFR0lTVFJZX1BBRFRFTVBMQVRFX0NBUF9MRU4gKDEwMjQpCisKK3R5cGVkZWYgc3RydWN0IF9Hc3RCaW5hcnlQYWRUZW1wbGF0ZQoreworICBjaGFyIG5hbWVbR1NUX0JJTkFSWV9SRUdJU1RSWV9QQURURU1QTEFURV9OQU1FX0xFTl07CisgIGNoYXIgY2FwW0dTVF9CSU5BUllfUkVHSVNUUllfUEFEVEVNUExBVEVfQ0FQX0xFTl07CisgIGludCBkaXJlY3Rpb247CQkJCQkvKiBFaXRoZXIgMDoic2luayIgb3IgMToic3JjIiAqLworICBHc3RQYWRQcmVzZW5jZSBwcmVzZW5jZTsKK30gR3N0QmluYXJ5UGFkVGVtcGxhdGU7CisKKy8qCisqKiBBIHZlcnkgc2ltcGxlIHN0cnVjdHVyZSBkZWZpbmluZyB0aGUgcGx1Z2luIGZlYXR1cmUgaW50ZXJmYWNlIHN0cmluZworKi8KKyNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9JTlRFUkZBQ0VfSU5URVJGQUNFX0xFTiAoNTEyKQordHlwZWRlZiBzdHJ1Y3QgX0dzdEJpbmFyeUludGVyZmFjZQoreworICBjaGFyIGludGVyZmFjZVtHU1RfQklOQVJZX1JFR0lTVFJZX0lOVEVSRkFDRV9JTlRFUkZBQ0VfTEVOXTsKKyAgdW5zaWduZWQgbG9uZyBzaXplOworfSBHc3RCaW5hcnlJbnRlcmZhY2U7CisKKy8qIFVyaSBUeXBlICovCit0eXBlZGVmIHN0cnVjdCBfR3N0QmluYXJ5VXJpVHlwZQoreworICBHc3RVUklUeXBlIHR5cGU7CisgIHVuc2lnbmVkIGxvbmcgbnVyaXByb3RvY29sczsKK30gR3N0QmluYXJ5VXJpVHlwZTsKKworLyogCisqKiBGdW5jdGlvbiBwcm90b3R5cGVzCisqLworCisvKiBMb2NhbCBwcm90b3R5cGVzICovCitpbmxpbmUgc3RhdGljIGdib29sZWFuIGdzdF9yZWdpc3RyeV9iaW5hcnlfd3JpdGUoR3N0UmVnaXN0cnkgKnJlZ2lzdHJ5LCBjb25zdCB2b2lkICptZW0sIGNvbnN0IHNzaXplX3Qgc2l6ZSk7CitpbmxpbmUgc3RhdGljIGdib29sZWFuIGdzdF9yZWdpc3RyeV9iaW5hcnlfaW5pdGlhbGl6ZV9tYWdpYyhHc3RCaW5hcnlSZWdpc3RyeU1hZ2ljICptKTsKK3N0YXRpYyBnYm9vbGVhbiBnc3RfcmVnaXN0cnlfYmluYXJ5X2ZpbGxfZmVhdHVyZShHTGlzdCAqKmxpc3QsIEdzdFBsdWdpbkZlYXR1cmUgKiwgR3N0QmluYXJ5UGx1Z2luRmVhdHVyZSAqLCBjb25zdCBjaGFyICopOworc3RhdGljIGdib29sZWFuIGdzdF9yZWdpc3RyeV9iaW5hcnlfc2F2ZV9wbHVnaW4oR0xpc3QgKipsaXN0LCBHc3RSZWdpc3RyeSAqcmVnaXN0cnksIEdzdFBsdWdpbiAqcGx1Z2luKTsKK3N0YXRpYyBnY2hhciAqZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9jaGVja19tYWdpYyhnY2hhciAqaW4pOworc3RhdGljIEdzdFBsdWdpbkZlYXR1cmUgKmdzdF9yZWdpc3RyeV9iaW5hcnlfbG9hZF9mZWF0dXJlKEdzdEJpbmFyeVBsdWdpbkZlYXR1cmUgKik7CitzdGF0aWMgdW5zaWduZWQgbG9uZyBnc3RfcmVnaXN0cnlfYmluYXJ5X2dldF9iaW5hcnlfcGx1Z2luKEdzdFJlZ2lzdHJ5ICpyZWdpc3RyeSwgZ2NoYXIgKmluKTsKKworLyogRXhwb3J0YWJsZSAqLworZ2Jvb2xlYW4gZ3N0X3JlZ2lzdHJ5X2JpbmFyeV93cml0ZV9jYWNoZShHc3RSZWdpc3RyeSAqcmVnaXN0cnksIGNvbnN0IGNoYXIgKmxvY2F0aW9uKTsKK2dib29sZWFuIGdzdF9yZWdpc3RyeV9iaW5hcnlfcmVhZF9jYWNoZShHc3RSZWdpc3RyeSAqcmVnaXN0cnksIGNvbnN0IGNoYXIgKmxvY2F0aW9uKTsKKworI2VuZGlmIC8qICFfX0dTVF9SRUdJU1RSWUJJTkFSWV9IX18gKi8KKworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyXzAuMTAuMzYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyXzAuMTAuMzYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjYxYTQxMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXJfMC4xMC4zNi5iYgpAQCAtMCwwICsxLDUyIEBACitTVU1NQVJZID0gIkdTdHJlYW1lciBtdWx0aW1lZGlhIGZyYW1ld29yayIKK0RFU0NSSVBUSU9OID0gIkdTdHJlYW1lciBpcyBhIG11bHRpbWVkaWEgZnJhbWV3b3JrIGZvciBlbmNvZGluZyBhbmQgZGVjb2RpbmcgdmlkZW8gYW5kIHNvdW5kLiBcCitJdCBzdXBwb3J0cyBhIHdpZGUgcmFuZ2Ugb2YgZm9ybWF0cyBpbmNsdWRpbmcgbXAzLCBvZ2csIGF2aSwgbXBlZyBhbmQgcXVpY2t0aW1lLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnLyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PUdzdHJlYW1lciIKK1NFQ1RJT04gPSAibXVsdGltZWRpYSIKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU1Y2E4MTdjY2I3ZDViNWI2NjM1NTY5MGU5YWJjNjA1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dzdC9nc3QuaDtiZWdpbmxpbmU9MTtlbmRsaW5lPTIxO21kNT04ZTVmZTVlODdkMzNhMDQ0NzlmZGU4NjJlMjM4ZWFhNCIKK0RFUEVORFMgPSAiZ2xpYi0yLjAgbGlieG1sMiBiaXNvbi1uYXRpdmUgZmxleC1uYXRpdmUiCisKK1BSID0gInIyIgorCitTUkNfVVJJID0gImh0dHA6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnL3NyYy9nc3RyZWFtZXIvZ3N0cmVhbWVyLSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vY2hlY2tfZml4LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2dzdC1pbnNwZWN0LWNoZWNrLWVycm9yLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtYmFzZXBhcnNlLUZpeC1zZWxmLWNvbXBhcmlzb24tYWx3YXlzLWV2YWx1YXRlcy10by10ci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXBhcnNlLW1ha2UtZ3JhbW1hci55LXdvcmstd2l0aC1CaXNvbi0zLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gImEwY2Y3ZDY4NzdmNjk0YTFhMmFkMmI0ZDFlY2I4OTBiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU1NTZhNTI5ZTBhOGNmMWNkMGFmZDBjYWIyYWY1NDg4Yzk1MjRlN2MzZjQwOWRlMjliNWQ4MmJiNDFhZTdhMzAiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0CisKK0dTVFJFQU1FUl9ERUJVRyA/PSAiLS1kaXNhYmxlLWRlYnVnIgorRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1kb2Nib29rIC0tZGlzYWJsZS1ndGstZG9jIFwKKyAgICAgICAgICAgIC0tZGlzYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nIC0tZGlzYWJsZS1jaGVjayBcCisgICAgICAgICAgICAtLWRpc2FibGUtZXhhbXBsZXMgLS1kaXNhYmxlLXRlc3RzIFwKKyAgICAgICAgICAgIC0tZGlzYWJsZS12YWxncmluZCAke0dTVFJFQU1FUl9ERUJVR30gXAorICAgICAgICAgICAgLS1kaXNhYmxlLWludHJvc3BlY3Rpb24gXAorICAgICAgICAgICAgIgorCitDQUNIRURfQ09ORklHVVJFVkFSUyArPSAiYWNfY3ZfaGVhZGVyX3ZhbGdyaW5kX3ZhbGdyaW5kX2g9bm8iCisKKyMgYXBwbHkgZ3N0cmVhbWVyIGhhY2sgYWZ0ZXIgTWFrZWZpbGUuaW4uaW4gaW4gc291cmNlIGlzIHJlcGxhY2VkIGJ5IG91ciB2ZXJzaW9uIGZyb20KKyMgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9nZXR0ZXh0L3BvL01ha2VmaWxlLmluLmluLCBidXQgYmVmb3JlIGNvbmZpZ3VyZSBpcyBleGVjdXRlZAorIyBodHRwOi8vbGlzdHMubGludXh0b2dvLm9yZy9waXBlcm1haWwvb3BlbmVtYmVkZGVkLWNvcmUvMjAxMi1Ob3ZlbWJlci8wMzIyMzMuaHRtbAorb2VfcnVuY29uZl9wcmVwZW5kKCkgeworICAgICAgICBzZWQgLWkgLWUgIjFhXFwiIC1lICdHRVRURVhUX1BBQ0tBR0UgPSBAR0VUVEVYVF9QQUNLQUdFQCcgJHtTfS9wby9NYWtlZmlsZS5pbi5pbgorfQorCisjZG9fY29tcGlsZV9wcmVwZW5kICgpIHsKKyMJbXYgJHtXT1JLRElSfS9nc3RyZWdpc3RyeWJpbmFyeS5bY2hdICR7U30vZ3N0LworI30KKworUlJFQ09NTUVORFNfJHtQTn1fcWVtdXg4NiAgICArPSAia2VybmVsLW1vZHVsZS1zbmQtZW5zMTM3MCBrZXJuZWwtbW9kdWxlLXNuZC1yYXdtaWRpIgorUlJFQ09NTUVORFNfJHtQTn1fcWVtdXg4Ni02NCArPSAia2VybmVsLW1vZHVsZS1zbmQtZW5zMTM3MCBrZXJuZWwtbW9kdWxlLXNuZC1yYXdtaWRpIgorCitGSUxFU18ke1BOfSArPSAiICR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8qLnNvIgorRklMRVNfJHtQTn0tZGV2ICs9ICIgJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLyoubGEgJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLyouYSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiICR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8uZGVidWcvICR7bGliZXhlY2Rpcn0vZ3N0cmVhbWVyLTAuMTAvLmRlYnVnLyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZmlsZXMvZGlzcGxheS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZmlsZXMvZGlzcGxheS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MWIwZTZjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci9maWxlcy9kaXNwbGF5LnBhdGNoCkBAIC0wLDAgKzEsNjAgQEAKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK0Zyb20gM2U0NmQyZTUwMWRhNjhkOTI5YmI1ZjI2OTAwYTI5MmE1ZmMwNGExZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFN0ZWZhbiBXZXN0ZXJmZWxkIDxzdGVmYW5Ac3BhY2UudHdjLmRlPgorRGF0ZTogTW9uLCAyMyBBcHIgMjAxMiAwMzoxMDoyMiArMDIwMAorU3ViamVjdDogW1BBVENIXSBGaXggdGltZSBkaXNwbGF5IHVwZGF0ZXMgKGJyb2tlbiBieSBpbnRyb2R1Y3Rpb24gb2YgcXVpZXQKKyBtb2RlKS4KKworLS0tCisgc3JjL2dzdDEyMy5jYyB8ICAgIDEgKworIHNyYy9tc2cuY2MgICAgfCAgICA3ICsrKysrKysKKyBzcmMvbXNnLmggICAgIHwgICAgMSArCisgMyBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NyYy9nc3QxMjMuY2MgYi9zcmMvZ3N0MTIzLmNjCitpbmRleCAyMGU5MWU1Li5jZTU4NzZkIDEwMDY0NAorLS0tIGEvc3JjL2dzdDEyMy5jYworKysrIGIvc3JjL2dzdDEyMy5jYworQEAgLTY0MCw2ICs2NDAsNyBAQCBjYl9wcmludF9wb3NpdGlvbiAoZ3BvaW50ZXIgKmRhdGEpCisgICAgICAgZWxzZQorICAgICAgICAgYmxhbmtzICs9ICIgICAgICAgICAiOworICAgICAgIE1zZzo6cHJpbnQgKCIlcyVzXHIiLCBzdGF0dXMuY19zdHIoKSwgYmxhbmtzLmNfc3RyKCkpOworKyAgICAgIE1zZzo6Zmx1c2goKTsKKyAgICAgfQorIAorICAgLyogY2FsbCBtZSBhZ2FpbiAqLworZGlmZiAtLWdpdCBhL3NyYy9tc2cuY2MgYi9zcmMvbXNnLmNjCitpbmRleCA1NDdjZDkwLi4zM2NhZGEyIDEwMDY0NAorLS0tIGEvc3JjL21zZy5jYworKysrIGIvc3JjL21zZy5jYworQEAgLTQxLDYgKzQxLDEzIEBAIHByaW50IChjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKKyAgICAgfQorIH0KKyAKKyt2b2lkCisrZmx1c2goKQorK3sKKysgIGlmICghT3B0aW9uczo6dGhlKCkucXVpZXQpCisrICAgIGZmbHVzaCAoc3Rkb3V0KTsKKyt9CisrCisgfQorIAorIH0KK2RpZmYgLS1naXQgYS9zcmMvbXNnLmggYi9zcmMvbXNnLmgKK2luZGV4IGUwY2VkMjQuLjViZWJhYzAgMTAwNjQ0CistLS0gYS9zcmMvbXNnLmgKKysrKyBiL3NyYy9tc2cuaAorQEAgLTI3LDYgKzI3LDcgQEAgbmFtZXNwYWNlIE1zZworIHsKKyAKKyB2b2lkIHByaW50IChjb25zdCBjaGFyICpmb3JtYXQsIC4uLik7Cisrdm9pZCBmbHVzaCgpOworIAorIH0KKyAKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdDEyM18wLjMuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZ3N0MTIzXzAuMy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3ZjFkOWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdDEyM18wLjMuMS5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIkZsZXhpYmxlIENMSSBwbGF5ZXIgaW4gdGhlIHNwaXJpdCBvZiBtcGcxMjMsIGJhc2VkIG9uIEdTdHJlYW1lciIKK0hPTUVQQUdFID0gImh0dHA6Ly9zcGFjZS50d2MuZGUvfnN0ZWZhbi9nc3QxMjMucGhwIgorTElDRU5TRSA9ICJMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01ZjMwZjA3MTZkZmRkMGQ5MWViNDM5ZWJlYzUyMmVjMiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvZ3N0MTIzLmNjO2JlZ2lubGluZT0xO2VuZGxpbmU9MTk7bWQ1PTA1ZDJmNWQ1NGI5ODViOTg2YzI2YWY5MzFkMjA4NGY4IgorCitERVBFTkRTID0gImxpYngxMSBnc3RyZWFtZXIgZ3N0LXBsdWdpbnMtYmFzZSBndGsrIG5jdXJzZXMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NwYWNlLnR3Yy5kZS9+c3RlZmFuL2dzdDEyMy8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9kaXNwbGF5LnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMWU3Nzc2N2M5ZDZmZWNlZTU2NDFmOTU4MDRmMTYwZmUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODlkMWRlMDI1ZWNhMDQ2NmMxMjVkY2Q2YTExYjY0MzQxYmRmOThlZTRjMDNjM2U1YTEyMzIxZDc3Y2I4YjBjZSIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworUE5CTEFDS0xJU1RbZ3N0MTIzXSA/PSAiZ3N0MTIzIGlzIHN0aWxsICJzb21ldGltZXMiIHVzaW5nIHdyb25nIHN5c3Jvb3QiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliYW8vbGliYW9fMS4yLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliYW8vbGliYW9fMS4yLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTMzOWRmNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJhby9saWJhb18xLjIuMC5iYgpAQCAtMCwwICsxLDM0IEBACitTVU1NQVJZID0gIkNyb3NzLXBsYXRmb3JtIGF1ZGlvIG91dHB1dCBsaWJyYXJ5IGFuZCBwbHVnaW5zIgorREVTQ1JJUFRJT04gPSAiTGliYW8gaXMgYSBjcm9zcy1wbGF0Zm9ybSBhdWRpbyBsaWJyYXJ5IHRoYXQgYWxsb3dzIHByb2dyYW1zIHRvIFwKKyAgICAgICAgICAgICAgIG91dHB1dCBhdWRpbyB1c2luZyBhIHNpbXBsZSBBUEkgb24gYSB3aWRlIHZhcmlldHkgb2YgcGxhdGZvcm1zLiIKK1NFQ1RJT04gPSAibXVsdGltZWRpYSIKK0hPTUVQQUdFID0gImh0dHBzOi8vd3d3LnhpcGgub3JnL2FvLyIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitTUkNfVVJJPSJodHRwOi8vZG93bmxvYWRzLnhpcGgub3JnL3JlbGVhc2VzL2FvLyR7QlB9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5ZjVkZDIwZDdlOTVmZDBkZDcyZGY1MzUzODI5ZjA5NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwM2FkMjMxYWQxZjlkNjRiNTI0NzQzOTJkNjNjMzExOTdiMGJjN2JkNDE2ZTU4YjFjMTBhMzI5YTVlZDg5Y2FmIgorCitpbmhlcml0IGF1dG90b29scworCitQQUNLQUdFUyArPSAiJHtCUE59LWNrcG9ydCIKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl4ke0JQTn0tcGx1Z2luLS4qIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgZmluZCAiJHtEfSIgLW5hbWUgJyoubGEnIC1leGVjIHJtIC1mIHt9ICsKK30KKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgeworICAgIHJvb3RkaXIgPSBiYi5kYXRhLmV4cGFuZCgnJHtsaWJkaXJ9L2FvL3BsdWdpbnMtNCcsIGQpCisgICAgcm9vdGRpcl9kYmcgPSBiYi5kYXRhLmV4cGFuZCgnJHtsaWJkaXJ9L2FvL3BsdWdpbnMtNC8uZGVidWcnLCBkKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHJvb3RkaXIsICdeKC4qKVwuc28kJywgb3V0cHV0X3BhdHRlcm49JyR7QlBOfS1wbHVnaW4tJXMnLCBkZXNjcmlwdGlvbj0nQU8gJXMgcGx1Z2luJykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCByb290ZGlyX2RiZywgJ14oLiopXC5zbyQnLCBvdXRwdXRfcGF0dGVybj0nJHtCUE59LXBsdWdpbi0lcy1kYmcnLCBkZXNjcmlwdGlvbj0nQU8gJXMgcGx1Z2luIGRlYnVnIGRhdGEnKQorfQorCitQQUNLQUdFQ09ORklHID89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3B1bHNlYXVkaW8nLCAncHVsc2VhdWRpbycsICcnLCBkKX0gJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdhbHNhJywgJ2Fsc2EnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1tlc291bmRdID0gIi0tZW5hYmxlLWVzZCwtLWRpc2FibGUtZXNkLGVzb3VuZCIKK1BBQ0tBR0VDT05GSUdbYWxzYV0gPSAiLS1lbmFibGUtYWxzYSwtLWRpc2FibGUtYWxzYSxhbHNhLWxpYiIKK1BBQ0tBR0VDT05GSUdbcHVsc2VhdWRpb10gPSAiLS1lbmFibGUtcHVsc2UsLS1kaXNhYmxlLXB1bHNlLHB1bHNlYXVkaW8iCitGSUxFU18ke0JQTn0tY2twb3J0ID0gIiR7bGliZGlyfS9ja3BvcnQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliYXZjMTM5NC9saWJhdmMxMzk0XzAuNS40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmF2YzEzOTQvbGliYXZjMTM5NF8wLjUuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45N2UyYmYxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmF2YzEzOTQvbGliYXZjMTM5NF8wLjUuNC5iYgpAQCAtMCwwICsxLDE1IEBACitERVNDUklQVElPTiA9ICJsaWJhdmMxMzk0IGlzIGEgcHJvZ3JhbW1pbmcgaW50ZXJmYWNlIGZvciB0aGUgMTM5NCBUcmFkZSBcCitBc3NvY2lhdGlvbiBBVi9DIChBdWRpby9WaWRlbyBDb250cm9sKSBEaWdpdGFsIEludGVyZmFjZSBDb21tYW5kIFNldCIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGliYXZjMTM5NC8iCitTRUNUSU9OID0gImxpYnMvbXVsdGltZWRpYSIKKworREVQRU5EUyA9ICJsaWJyYXcxMzk0IgorCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZGNmM2M4MjU2NTllODI1Mzk2NDVkYTQxYTc5MDg1ODkiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9LyR7QlBOfS8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiY2FmMGRiMDU5ZDhiOGQzNWQ2ZjA4ZTZjMGUxYzdkZmUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2NiMWZmMDk1MDZhZTkxMWNhOTg2MGJlZjRhZjA4YzI0MDNmM2UxMzFmNmM5MTNhMmNiZDZkZGNhNDIxNWI1MyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZGMxMzk0L2ZpbGVzL2luc3RhbGxfZXhhbXBsZXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZGMxMzk0L2ZpbGVzL2luc3RhbGxfZXhhbXBsZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODkxMzNhZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJkYzEzOTQvZmlsZXMvaW5zdGFsbF9leGFtcGxlcy5wYXRjaApAQCAtMCwwICsxLDE0IEBACitJbmRleDogbGliZGMxMzk0L2V4YW1wbGVzL01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGliZGMxMzk0Lm9yaWcvZXhhbXBsZXMvTWFrZWZpbGUuYW0JMjAxMi0wNi0zMCAxNzo1MDo0Ni4wMDAwMDAwMDAgLTA3MDAKKysrKyBsaWJkYzEzOTQvZXhhbXBsZXMvTWFrZWZpbGUuYW0JMjAxMi0wNi0zMCAxOTowMjoxMy44MjI2NDY0MzAgLTA3MDAKK0BAIC0zNiw4ICszNiw3IEBACisgQU1fTERGTEFHUyA9IC1mcmFtZXdvcmsgQ29yZUZvdW5kYXRpb24gLWZyYW1ld29yayBDYXJib24KKyBlbmRpZgorIAorLW5vaW5zdF9QUk9HUkFNUyA9ICQoQSkKKy1iaW5fUFJPR1JBTVMgPSAkKEIpCisrYmluX1BST0dSQU1TID0gJChBKSAkKEIpCisgCisgTERBREQgPSAuLi9kYzEzOTQvbGliZGMxMzk0LmxhCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZGMxMzk0L2xpYmRjMTM5NF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZGMxMzk0L2xpYmRjMTM5NF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGVhNWNiOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJkYzEzOTQvbGliZGMxMzk0X2dpdC5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gIkNhcHR1cmUgYW5kIGNvbnRyb2wgQVBJIGZvciBJSURDIGNvbXBsaWFudCBjYW1lcmFzIgorSE9NRVBBR0UgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJkYzEzOTQvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJMR1BMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM4NDhlNzhkOWE0YTVjYzY5OTA2MTc4ZTRkNmZiZDY0IgorCisjIGxpYnNkbCB0byBwcm92aWRlIHNkbC5tNCB3aXRoIEFNX1BBVEhfU0RMCitERVBFTkRTICs9ICJsaWJ1c2IxIGxpYnJhdzEzOTQgbGlic2RsIgorCitQViA9ICIyLjIuMStnaXRyJHtTUkNQVn0iCisKK1NSQ1JFViA9ICJiOTAzNDI5MzNiNGI0ODYzNGI5OGI3MzgwNWY0N2JkMjVlZDU4NTdlIgorCitTUkNfVVJJID0gImdpdDovL2dpdC5jb2RlLnNmLm5ldC9wL2xpYmRjMTM5NC9jb2RlO2JyYW5jaD1tYXN0ZXI7cHJvdG9jb2w9Z2l0IFwKKyAgICAgICAgICAgZmlsZTovL2luc3RhbGxfZXhhbXBsZXMucGF0Y2ggXAorICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9L2dpdC8ke1BOfSIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1kb3h5Z2VuLWRvYyAtLWRpc2FibGUtZXhhbXBsZXMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZHZicHNpL2xpYmR2YnBzaV8xLjMuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJkdmJwc2kvbGliZHZicHNpXzEuMy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4YjAxMTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZHZicHNpL2xpYmR2YnBzaV8xLjMuMC5iYgpAQCAtMCwwICsxLDEyIEBACitERVNDUklQVElPTiA9ICJsaWJkdmJwc2kgaXMgYSBzaW1wbGUgbGlicmFyeSBkZXNpZ25lZCBmb3IgZGVjb2RpbmcgXAorYW5kIGdlbmVyYXRpb24gb2YgTVBFRyBUUyBhbmQgRFZCIFBTSSB0YWJsZXMgYWNjb3JkaW5nIHRvIHN0YW5kYXJkcyBcCitJU08vSUVDIDEzODE4IGFuZCBJVFUtVCBILjIyMi4wLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL2RldmVsb3BlcnMvbGliZHZicHNpLmh0bWwiCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLnZpZGVvbGFuLm9yZy9wdWIvbGliZHZicHNpLyR7UFZ9L2xpYmR2YnBzaS0ke1BWfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gIjJiMjE3MDM5YTEyOTkwMDBjMzk0MjM0NDFmNzdlNzZhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImEyZmVkMWQxMTk4MDY2MmY5MTliYmQxZjI5ZTI0NjI3MTllMGY2MjI3ZTFhNTMxMzEwYmQ1YTcwNmRiMGExZmUiCisKK2luaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZHZkbmF2L2xpYmR2ZG5hdl81LjAuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJkdmRuYXYvbGliZHZkbmF2XzUuMC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyZGQ5NmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZHZkbmF2L2xpYmR2ZG5hdl81LjAuMy5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gImxpYnJhcnkgZm9yIERWRCBuYXZpZ2F0aW9uIGZlYXR1cmVzIgorU0VDVElPTiA9ICJsaWJzL211bHRpbWVkaWEiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorREVQRU5EUyA9ICJsaWJkdmRyZWFkIgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZC52aWRlb2xhbi5vcmcvcHViL3ZpZGVvbGFuLyR7QlBOfS8ke1BWfS8ke0JQfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gImU5ZWE0ZGUzYmQ4ZjIwNGU2MTMwMWQ0MDdkMDlmMDMzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjUwOTcwMjNlM2QyYjM2OTQ0Yzc2M2YxZGY3MDdlZTA2YjE5ZGM2MzliMmI2OGZiMzAxMTNhNWYyY2JmNjBiNmQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGxpYl9wYWNrYWdlIGJpbmNvbmZpZyBwa2djb25maWcKKworQ09ORklHVVJFT1BUU19yZW1vdmUgPSAiLS1kaXNhYmxlLXNpbGVudC1ydWxlcyIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmllYzYxODgzL2xpYmllYzYxODgzXzEuMi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmllYzYxODgzL2xpYmllYzYxODgzXzEuMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2MDc5YmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliaWVjNjE4ODMvbGliaWVjNjE4ODNfMS4yLjAuYmIKQEAgLTAsMCArMSwxNiBAQAorREVTQ1JJUFRJT04gPSAiQW4gaW1wbGVtZW50YXRpb24gb2YgdGhlIG1vc3QgcmVsZXZhbnQgcGFydHMgb2YgSUVDIDYxODgzIG92ZXIgXAorbGlicmF3MTM5NCBmb3IgdHJhbnNtaXNzaW9uLCByZWNlcHRpb24sIGFuZCBtYW5hZ2VtZW50IG9mIG1lZGlhIHN0cmVhbXMgYW5kIFwKK2RldmljZXMgc3VjaCBhcyBEViwgTVBFRzItVFMsIGF1ZGlvLCBhbmQgTUlESSIKK0hPTUVQQUdFID0gImh0dHBzOi8vaWVlZTEzOTQud2lraS5rZXJuZWwub3JnL2luZGV4LnBocC9MaWJyYXJpZXMjbGliaWVjNjE4ODMiCitTRUNUSU9OID0gImxpYnMvbXVsdGltZWRpYSIKKworREVQRU5EUyA9ICJsaWJyYXcxMzk0IgorCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzcxNzgyY2I2MjQ1YzdmYmJlNzRiYzBlYzA1OWJlZmYiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvbGlicy9pZWVlMTM5NC8ke0JQTn0tJHtQVn0udGFyLnh6IgorU1JDX1VSSVttZDVzdW1dID0gImVkOTFiYzE3MjdmYWM4ZTAxOTQwMmZjMzcyNGEyODNkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQxZTAyYzdlMjc2ZmFjMzczMTNhMmY4YzFjMzNkN2E5ZTE5MjgyZmYxNmYzMmU3MjQzNTQyOGZmNTEyMWYwOWUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL21wZzEyMy9tcGcxMjNfMS4yMi40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL21wZzEyMy9tcGcxMjNfMS4yMi40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2YTkxMmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbXBnMTIzL21wZzEyM18xLjIyLjQuYmIKQEAgLTAsMCArMSw2NSBAQAorU1VNTUFSWSA9ICJBdWRpbyBkZWNvZGVyIGZvciBNUEVHLTEgTGF5ZXIgMS8yLzMiCitERVNDUklQVElPTiA9ICJUaGUgY29yZSBvZiBtcGcxMjMgaXMgYW4gTVBFRy0xIExheWVyIDEvMi8zIGRlY29kaW5nIGxpYnJhcnksIHdoaWNoIGNhbiBiZSB1c2VkIGJ5IG90aGVyIHByb2dyYW1zLiBcCittcGcxMjMgYWxzbyBjb21lcyB3aXRoIGEgY29tbWFuZC1saW5lIHRvb2wgd2hpY2ggY2FuIHBsYXliYWNrIHVzaW5nIEFMU0EsIFB1bHNlQXVkaW8sIE9TUywgYW5kIHNldmVyYWwgb3RoZXIgQVBJcywgXAorYW5kIGFsc28gY2FuIHdyaXRlIHRoZSBkZWNvZGVkIGF1ZGlvIHRvIFdBVi4iCitIT01FUEFHRSA9ICJodHRwOi8vbXBnMTIzLmRlLyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wL21wZzEyMy9idWdzLyIKK1NFQ1RJT04gPSAibXVsdGltZWRpYSIKKworTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ0VOU0VfRkxBR1MgPSAiY29tbWVyY2lhbCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTFlODY3NTM2MzhkM2NmMjUxMjUyOGI5OTA3OWJjNGYzIgorCitERVBFTkRTID0gImF1ZGlvZmlsZSIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vbXBnMTIzL21wZzEyMy8ke1BWfS8ke0JQfS50YXIuYnoyIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMmRmYWZhZTNiYmM1MzJiNGM4YjA0YTc3YzZhNmRlODkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTA2OWUwMmU1MDEzODYwMGYxMGNjNWY3Njc0ZTQ0ZTliZjZmMTkzMGFmODFkMGUxZDJmODY5YjNjMGVlNDBkMiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKKyMgVGhlIG9wdGlvbnMgc2hvdWxkIGJlIG11dHVhbGx5IGV4Y2x1c2l2ZSBmb3IgY29uZmlndXJhdGlvbiBzY3JpcHQuCisjIElmIGJvdGggYWxzYSBhbmQgcHVsc2VhdWRpbyBhcmUgc3BlY2lmaWVkIChhcyBpbiB0aGUgZGVmYXVsdCBkaXN0cm8gZmVhdHVyZXMpCisjIHB1bHNlYXVkaW8gdGFrZXMgcHJlY2VkZW5jZS4KK1BBQ0tBR0VDT05GSUdfQUxTQSA9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2Fsc2EnLCAnYWxzYScsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwdWxzZWF1ZGlvJywgJ3B1bHNlYXVkaW8nLCAnJHtQQUNLQUdFQ09ORklHX0FMU0F9JywgZCl9IgorCitQQUNLQUdFQ09ORklHW2Fsc2FdID0gIi0td2l0aC1kZWZhdWx0LWF1ZGlvPWFsc2EsLGFsc2EtbGliIgorUEFDS0FHRUNPTkZJR1tlc2RdID0gIiwsZXNvdW5kIgorUEFDS0FHRUNPTkZJR1tqYWNrXSA9ICIsLGphY2siCitQQUNLQUdFQ09ORklHW29wZW5hbF0gPSAiLCxvcGVuYWwtc29mdCIKK1BBQ0tBR0VDT05GSUdbcG9ydGF1ZGlvXSA9ICIsLHBvcnRhdWRpby12MTkiCitQQUNLQUdFQ09ORklHW3B1bHNlYXVkaW9dID0gIi0td2l0aC1kZWZhdWx0LWF1ZGlvPXB1bHNlLCxwdWxzZWF1ZGlvIgorUEFDS0FHRUNPTkZJR1tzZGxdID0gIiwsbGlic2RsIgorCisjIEZvbGxvd2luZyBhcmUgcG9zc2libGUgc291bmQgb3V0cHV0IG1vZHVsZXM6CisjIGFsc2EgYXJ0cyBjb3JlYXVkaW8gZHVtbXkgZXNkIGphY2sgbmFzIG9wZW5hbCBvczIgb3NzIHBvcnRhdWRpbyBwdWxzZSBzZGwgc25kaW8gc3VuIHRpbnlhbHNhIHdpbjMyIHdpbjMyX3dhc2FwaQorQVVESU9NT0RTICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdhbHNhJywgJ2Fsc2EnLCAnJywgZCl9IgorQVVESU9NT0RTICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdlc2QnLCAnZXNkJywgJycsIGQpfSIKK0FVRElPTU9EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnamFjaycsICdqYWNrJywgJycsIGQpfSIKK0FVRElPTU9EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnb3BlbmFsJywgJ29wZW5hbCcsICcnLCBkKX0iCitBVURJT01PRFMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3BvcnRhdWRpbycsICdwb3J0YXVkaW8nLCAnJywgZCl9IgorQVVESU9NT0RTICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdwdWxzZWF1ZGlvJywgJ3B1bHNlJywgJycsIGQpfSIKK0FVRElPTU9EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnc2RsJywgJ3NkbCcsICcnLCBkKX0iCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0tZW5hYmxlLXNoYXJlZCBcCisgICAgLS13aXRoLWF1ZGlvPScke0FVRElPTU9EU30nIFwKKyAgICAtLXdpdGgtbW9kdWxlLXN1ZmZpeD0uc28gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ25lb24nLCAnLS13aXRoLWNwdT1uZW9uJywgJycsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnYWx0aXZlYycsICctLXdpdGgtY3B1PWFsdGl2ZWMnLCAnJywgZCl9IFwKKyIKKworIyBUaGUgeDg2IGFzc2VtYmxlciBvcHRpbWlzYXRpb25zIGNvbnRhaW5zIHRleHQgcmVsb2NhdGlvbnMgYW5kIHRoZXJlIGFyZSBubworIyB1cHN0cmVhbSBwbGFucyB0byBmaXggdGhlbTogaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wL21wZzEyMy9idWdzLzE2OC8KK0lOU0FORV9TS0lQXyR7UE59X2FwcGVuZF94ODYgPSAiIHRleHRyZWwiCisKKyMgRmFpbHMgdG8gYnVpbGQgd2l0aCB0aHVtYi0xIChxZW11YXJtKQorI3wge3N0YW5kYXJkIGlucHV0fTogQXNzZW1ibGVyIG1lc3NhZ2VzOgorI3wge3N0YW5kYXJkIGlucHV0fTo0NzogRXJyb3I6IHNlbGVjdGVkIHByb2Nlc3NvciBkb2VzIG5vdCBzdXBwb3J0IFRodW1iIG1vZGUgYHNtdWxsIHI1LHI2LHI3LHI0JworI3wge3N0YW5kYXJkIGlucHV0fTo0ODogRXJyb3I6IHNoaWZ0cyBpbiBDTVAvTU9WIGluc3RydWN0aW9ucyBhcmUgb25seSBzdXBwb3J0ZWQgaW4gdW5pZmllZCBzeW50YXggLS0gYG1vdiByNSxyNSxsc3IjMjQnCisjLi4uCisjfCBtYWtlWzNdOiAqKiogW2VxdWFsaXplci5sb10gRXJyb3IgMQorQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NCA9ICJhcm0iCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY1ID0gImFybSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9tdXNpY2JyYWluei9maWxlcy9hbGxvdy1saWJkaXItb3ZlcnJpZGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbXVzaWNicmFpbnovZmlsZXMvYWxsb3ctbGliZGlyLW92ZXJyaWRlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1OWQxMmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbXVzaWNicmFpbnovZmlsZXMvYWxsb3ctbGliZGlyLW92ZXJyaWRlLnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKK0FsbG93IExJQl9JTlNUQUxMX0RJUiB0byBiZSBzZXQgYnkgdGhlIHRoZSBjbWFrZSBjb25maWd1cmUgaW52b2NhdGlvbi4gIFdlIGRvbnQKK2Vhc2lseSBoYXZlIGEgd2F5IG9mIGRldGVybWluaW5nIHNvbWV0aGluZyB0aGF0IHBhdGNoZXMgJHtMSUJfU1VGRklYfSBzbyB3ZSdsbAorc2V0IExJQl9JTlNUQUxMX0RJUi4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitJbmRleDogbGlibXVzaWNicmFpbnotMy4wLjMvQ01ha2VMaXN0cy50eHQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsaWJtdXNpY2JyYWluei0zLjAuMy5vcmlnL0NNYWtlTGlzdHMudHh0CisrKysgbGlibXVzaWNicmFpbnotMy4wLjMvQ01ha2VMaXN0cy50eHQKK0BAIC0yNiw3ICsyNiw3IEBAIEZJTkRfUEFDS0FHRShEaXNjSWQpCisgU0VUKExJQl9TVUZGSVggIiIgQ0FDSEUgU1RSSU5HICJEZWZpbmUgc3VmZml4IG9mIGRpcmVjdG9yeSBuYW1lICgzMi82NCkiKQorIFNFVChFWEVDX0lOU1RBTExfUFJFRklYICR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9IENBQ0hFIFBBVEggIkluc3RhbGxhdGlvbiBwcmVmaXggZm9yIGV4ZWN1dGFibGVzIGFuZCBvYmplY3QgY29kZSBsaWJyYXJpZXMiIEZPUkNFKQorIFNFVChCSU5fSU5TVEFMTF9ESVIgJHtFWEVDX0lOU1RBTExfUFJFRklYfS9iaW4gQ0FDSEUgUEFUSCAiSW5zdGFsbGF0aW9uIHByZWZpeCBmb3IgdXNlciBleGVjdXRhYmxlcyIgRk9SQ0UpCistU0VUKExJQl9JTlNUQUxMX0RJUiAke0VYRUNfSU5TVEFMTF9QUkVGSVh9L2xpYiR7TElCX1NVRkZJWH0gQ0FDSEUgUEFUSCAgIkluc3RhbGxhdGlvbiBwcmVmaXggZm9yIG9iamVjdCBjb2RlIGxpYnJhcmllcyIgRk9SQ0UpCisrU0VUKExJQl9JTlNUQUxMX0RJUiAke0VYRUNfSU5TVEFMTF9QUkVGSVh9L2xpYiR7TElCX1NVRkZJWH0gQ0FDSEUgUEFUSCAgIkluc3RhbGxhdGlvbiBwcmVmaXggZm9yIG9iamVjdCBjb2RlIGxpYnJhcmllcyIpCisgU0VUKElOQ0xVREVfSU5TVEFMTF9ESVIgJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vaW5jbHVkZSBDQUNIRSBQQVRIICJJbnN0YWxsYXRpb24gcHJlZml4IGZvciBDIGhlYWRlciBmaWxlcyIgRk9SQ0UpCisgCisgQ09ORklHVVJFX0ZJTEUoJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2xpYm11c2ljYnJhaW56My5wYy5jbWFrZSAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vbGlibXVzaWNicmFpbnozLnBjKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL211c2ljYnJhaW56L2xpYm11c2ljYnJhaW56X2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9tdXNpY2JyYWluei9saWJtdXNpY2JyYWluel9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTZhNGY2YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9tdXNpY2JyYWluei9saWJtdXNpY2JyYWluel9naXQuYmIKQEAgLTAsMCArMSw0MSBAQAorU1VNTUFSWSA9ICJNdXNpY0JyYWlueiBjbGllbnQgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIlRoZSBNdXNpY0JyYWlueiBjbGllbnQgaXMgYSBsaWJyYXJ5IHdoaWNoIGNhbiBiZSBidWlsdCBpbnRvIG90aGVyIHByb2dyYW1zLiAgVGhlIGxpYnJhcnkgYWxsb3dzIHlvdSB0byBhY2Nlc3MgdGhlIGRhdGEgaGVsZCBvbiB0aGUgTXVzaWNCcmFpbnogc2VydmVyLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9tdXNpY2JyYWluei5vcmciCitMSUNFTlNFID0gIkxHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcudHh0O21kNT1mYmMwOTM5MDE4NTdmY2QxMThmMDY1ZjkwMDk4MmMyNCIKK0RFUEVORFMgPSAiZXhwYXQgbmVvbiBuZW9uLW5hdGl2ZSIKKworUFYgPSAiNS4wLjErZ2l0JHtTUkNQVn0iCitQUiA9ICJyMSIKKworU1JDUkVWID0gIjA3NDlkZDBhMzViNGE1NDMxNmRhMDY0NDc1ODYzYTRhYzZlMjhlN2UiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbWV0YWJyYWluei9saWJtdXNpY2JyYWluei5naXQgXAorICAgICAgICAgICBmaWxlOi8vYWxsb3ctbGliZGlyLW92ZXJyaWRlLnBhdGNoICIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworTERGTEFHU19wcmVwZW5kX2xpYmMtdWNsaWJjID0gIiAtbHB0aHJlYWQgIgorCitpbmhlcml0IGNtYWtlIHBrZ2NvbmZpZworCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAjIFRoZSBuYXRpdmUgYnVpbGQgcmVhbGx5IGRvZXNuJ3QgbGlrZSBiZWluZyByZWJ1aWx0LCBzbyBkZWxldGUKKyAgICAjIGl0IGlmIGl0J3MgYWxyZWFkeSBwcmVzZW50LiBBbHNvIGRlbGV0ZSBhbGwgb3RoZXIgZmlsZXMgbm90CisgICAgIyBrbm93biB0byBHaXQgdG8gZml4IHN1YnNlcXVlbnQgaW52b2NhdGlvbnMgb2YgZG9fY29uZmlndXJlLgorICAgIGdpdCBjbGVhbiAtZGZ4IC1lIC8ucGMvIC1lIC9wYXRjaGVzLyAuCisgICAgbWtkaXIgYnVpbGQtbmF0aXZlCisgICAgY2QgYnVpbGQtbmF0aXZlCisgICAgY21ha2UgLURDTUFLRV9DX0ZMQUdTPSR7QlVJTERfQ0ZMQUdTfSBcCisgICAgICAgICAgLURDTUFLRV9DX0NPTVBJTEVSPSR7QlVJTERfQ0N9IFwKKyAgICAgICAgICAtRENNQUtFX0NYWF9GTEFHUz0ke0JVSUxEX0NYWEZMQUdTfSBcCisgICAgICAgICAgLURDTUFLRV9DWFhfQ09NUElMRVI9JHtCVUlMRF9DWFh9IFwKKyAgICAgICAgICAuLgorICAgIG1ha2UgbWFrZS1jLWludGVyZmFjZQorICAgIGNkIC4uCit9CisKK0VYVFJBX09FQ01BS0UgPSAiLURMSUJfSU5TVEFMTF9ESVI6UEFUSD0ke2xpYmRpcn0gXAorICAgICAgICAgICAgICAgICAtRElNUE9SVF9FWEVDVVRBQkxFUz1idWlsZC1uYXRpdmUvSW1wb3J0RXhlY3V0YWJsZXMuY21ha2UiCisKKyMgb3V0LW9mLXRyZWUgYnVpbGRpbmcgZG9lc24ndCBhcHBlYXIgdG8gd29yayBmb3IgdGhpcyBwYWNrYWdlLgorQiA9ICIke1N9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL211c2ljcGQvbGlibXBkLTExLjguMTcvZ2xpYmMtMi4yMC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9tdXNpY3BkL2xpYm1wZC0xMS44LjE3L2dsaWJjLTIuMjAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGEyYjI1YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9tdXNpY3BkL2xpYm1wZC0xMS44LjE3L2dsaWJjLTIuMjAucGF0Y2gKQEAgLTAsMCArMSwxMCBAQAorLS0tIGxpYm1wZC0xMS44LjE3L3NyYy9saWJtcGQtaW50ZXJuYWwuaC5vcmlnCTIwMTQtMDktMzAgMDQ6MDg6NTAuOTYzMjkyNDI3ICswMjAwCisrKysgbGlibXBkLTExLjguMTcvc3JjL2xpYm1wZC1pbnRlcm5hbC5oCTIwMTQtMDktMzAgMDQ6MDg6MzAuNTk1MjkyMjIzICswMjAwCitAQCAtMjEsNiArMjEsNyBAQAorICNkZWZpbmUgX19NUERfSU5URVJOQUxfTElCXworIAorICNpbmNsdWRlICJsaWJtcGRjbGllbnQuaCIKKysjaW5jbHVkZSAiY29uZmlnLmgiCisgc3RydWN0IF9NcGREYXRhX3JlYWw7CisgCisgdHlwZWRlZiBzdHJ1Y3QgX01wZERhdGFfcmVhbCB7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbXVzaWNwZC9saWJtcGRfMTEuOC4xNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9tdXNpY3BkL2xpYm1wZF8xMS44LjE3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0ZDc5MTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbXVzaWNwZC9saWJtcGRfMTEuOC4xNy5iYgpAQCAtMCwwICsxLDEzIEBACitTVU1NQVJZID0gIk11c2ljIFBsYXllciBEYWVtb24gbGlicmFyeSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKK0hPTUVQQUdFID0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9tdXNpY3BkIgorREVQRU5EUyA9ICJnbGliLTIuMCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lm11c2ljcGQub3JnL2Rvd25sb2FkLyR7QlBOfS8ke1BWfS8ke0JQfS50YXIuZ3ogXAorICAgIGZpbGU6Ly9nbGliYy0yLjIwLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1YWUzZDg3NDY3ZDUyYWVmMzM0NTQwN2FkYjBhMjQ4OCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmZTIwMzI2YjBkMTA2NDFmNzFjNDY3M2ZhZTYzN2JmOTIyMmE5NmUxNzEyZjcxZjE3MGZjYTJmYzM0YmY3YTgzIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9tdXNpY3BkL21wZC9tcGQuY29uZi5pbiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9tdXNpY3BkL21wZC9tcGQuY29uZi5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOWY5MmM5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL211c2ljcGQvbXBkL21wZC5jb25mLmluCkBAIC0wLDAgKzEsNDIwIEBACisjIEFuIGV4YW1wbGUgY29uZmlndXJhdGlvbiBmaWxlIGZvciBNUEQKKyMgU2VlIHRoZSBtcGQuY29uZiBtYW4gcGFnZSBmb3IgYSBtb3JlIGRldGFpbGVkIGRlc2NyaXB0aW9uIG9mIGVhY2ggcGFyYW1ldGVyLgorCisKKyMgRmlsZXMgYW5kIGRpcmVjdG9yaWVzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgVGhpcyBzZXR0aW5nIGNvbnRyb2xzIHRoZSB0b3AgZGlyZWN0b3J5IHdoaWNoIE1QRCB3aWxsIHNlYXJjaCB0byBkaXNjb3ZlciB0aGUKKyMgYXZhaWxhYmxlIGF1ZGlvIGZpbGVzIGFuZCBhZGQgdGhlbSB0byB0aGUgZGFlbW9uJ3Mgb25saW5lIGRhdGFiYXNlLiBUaGlzCisjIHNldHRpbmcgZGVmYXVsdHMgdG8gdGhlIFhERyBkaXJlY3RvcnksIG90aGVyd2lzZSB0aGUgbXVzaWMgZGlyZWN0b3J5IHdpbGwgYmUKKyMgYmUgZGlzYWJsZWQgYW5kIGF1ZGlvIGZpbGVzIHdpbGwgb25seSBiZSBhY2NlcHRlZCBvdmVyIGlwYyBzb2NrZXQgKHVzaW5nCisjIGZpbGU6Ly8gcHJvdG9jb2wpIG9yIHN0cmVhbWluZyBmaWxlcyBvdmVyIGFuIGFjY2VwdGVkIHByb3RvY29sLgorIworbXVzaWNfZGlyZWN0b3J5CQkiJW11c2ljX2RpcmVjdG9yeSUiCisjCisjIFRoaXMgc2V0dGluZyBzZXRzIHRoZSBNUEQgaW50ZXJuYWwgcGxheWxpc3QgZGlyZWN0b3J5LiBUaGUgcHVycG9zZSBvZiB0aGlzCisjIGRpcmVjdG9yeSBpcyBzdG9yYWdlIGZvciBwbGF5bGlzdHMgY3JlYXRlZCBieSBNUEQuIFRoZSBzZXJ2ZXIgd2lsbCB1c2UKKyMgcGxheWxpc3QgZmlsZXMgbm90IGNyZWF0ZWQgYnkgdGhlIHNlcnZlciBidXQgb25seSBpZiB0aGV5IGFyZSBpbiB0aGUgTVBECisjIGZvcm1hdC4gVGhpcyBzZXR0aW5nIGRlZmF1bHRzIHRvIHBsYXlsaXN0IHNhdmluZyBiZWluZyBkaXNhYmxlZC4KKyMKK3BsYXlsaXN0X2RpcmVjdG9yeQkJIiVwbGF5bGlzdF9kaXJlY3RvcnklIgorIworIyBUaGlzIHNldHRpbmcgc2V0cyB0aGUgbG9jYXRpb24gb2YgdGhlIE1QRCBkYXRhYmFzZS4gVGhpcyBmaWxlIGlzIHVzZWQgdG8KKyMgbG9hZCB0aGUgZGF0YWJhc2UgYXQgc2VydmVyIHN0YXJ0IHVwIGFuZCBzdG9yZSB0aGUgZGF0YWJhc2Ugd2hpbGUgdGhlCisjIHNlcnZlciBpcyBub3QgdXAuIFRoaXMgc2V0dGluZyBkZWZhdWx0cyB0byBkaXNhYmxlZCB3aGljaCB3aWxsIGFsbG93CisjIE1QRCB0byBhY2NlcHQgZmlsZXMgb3ZlciBpcGMgc29ja2V0ICh1c2luZyBmaWxlOi8vIHByb3RvY29sKSBvciBzdHJlYW1pbmcKKyMgZmlsZXMgb3ZlciBhbiBhY2NlcHRlZCBwcm90b2NvbC4KKyMKK2RiX2ZpbGUJCQkiJWRiX2ZpbGUlIgorIworIyBUaGVzZSBzZXR0aW5ncyBhcmUgdGhlIGxvY2F0aW9ucyBmb3IgdGhlIGRhZW1vbiBsb2cgZmlsZXMgZm9yIHRoZSBkYWVtb24uCisjIFRoZXNlIGxvZ3MgYXJlIGdyZWF0IGZvciB0cm91Ymxlc2hvb3RpbmcsIGRlcGVuZGluZyBvbiB5b3VyIGxvZ19sZXZlbAorIyBzZXR0aW5ncy4KKyMKKyMgVGhlIHNwZWNpYWwgdmFsdWUgInN5c2xvZyIgbWFrZXMgTVBEIHVzZSB0aGUgbG9jYWwgc3lzbG9nIGRhZW1vbi4gVGhpcworIyBzZXR0aW5nIGRlZmF1bHRzIHRvIGxvZ2dpbmcgdG8gc3lzbG9nLCBvdGhlcndpc2UgbG9nZ2luZyBpcyBkaXNhYmxlZC4KKyMKK2xvZ19maWxlCQkJIiVsb2dfZmlsZSUiCisjCisjIFRoaXMgc2V0dGluZyBzZXRzIHRoZSBsb2NhdGlvbiBvZiB0aGUgZmlsZSB3aGljaCBzdG9yZXMgdGhlIHByb2Nlc3MgSUQKKyMgZm9yIHVzZSBvZiBtcGQgLS1raWxsIGFuZCBzb21lIGluaXQgc2NyaXB0cy4gVGhpcyBzZXR0aW5nIGlzIGRpc2FibGVkIGJ5CisjIGRlZmF1bHQgYW5kIHRoZSBwaWQgZmlsZSB3aWxsIG5vdCBiZSBzdG9yZWQuCisjCisjcGlkX2ZpbGUJCQkiL3Zhci9ydW4vbXBkL21wZC5waWQiCisjCisjIFRoaXMgc2V0dGluZyBzZXRzIHRoZSBsb2NhdGlvbiBvZiB0aGUgZmlsZSB3aGljaCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dAorIyBtb3N0IHZhcmlhYmxlcyB0byBnZXQgTVBEIGJhY2sgaW50byB0aGUgc2FtZSBnZW5lcmFsIHNoYXBlIGl0IHdhcyBpbiBiZWZvcmUKKyMgaXQgd2FzIGJyb3VnaHQgZG93bi4gVGhpcyBzZXR0aW5nIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIHRoZSBzZXJ2ZXIKKyMgc3RhdGUgd2lsbCBiZSByZXNldCBvbiBzZXJ2ZXIgc3RhcnQgdXAuCisjCitzdGF0ZV9maWxlCQkiJXN0YXRlX2ZpbGUlIgorIworIyBUaGUgbG9jYXRpb24gb2YgdGhlIHN0aWNrZXIgZGF0YWJhc2UuICBUaGlzIGlzIGEgZGF0YWJhc2Ugd2hpY2gKKyMgbWFuYWdlcyBkeW5hbWljIGluZm9ybWF0aW9uIGF0dGFjaGVkIHRvIHNvbmdzLgorIworI3N0aWNrZXJfZmlsZQkJCSJ+Ly5tcGQvc3RpY2tlci5zcWwiCisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKworIyBHZW5lcmFsIG11c2ljIGRhZW1vbiBvcHRpb25zICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBUaGlzIHNldHRpbmcgc3BlY2lmaWVzIHRoZSB1c2VyIHRoYXQgTVBEIHdpbGwgcnVuIGFzLiBNUEQgc2hvdWxkIG5ldmVyIHJ1biBhcworIyByb290IGFuZCB5b3UgbWF5IHVzZSB0aGlzIHNldHRpbmcgdG8gbWFrZSBNUEQgY2hhbmdlIGl0cyB1c2VyIElEIGFmdGVyCisjIGluaXRpYWxpemF0aW9uLiBUaGlzIHNldHRpbmcgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCBhbmQgTVBEIGlzIHJ1biBhcyB0aGUKKyMgY3VycmVudCB1c2VyLgorIwordXNlciAibXBkIgorIworIyBUaGlzIHNldHRpbmcgc3BlY2lmaWVzIHRoZSBncm91cCB0aGF0IE1QRCB3aWxsIHJ1biBhcy4gSWYgbm90IHNwZWNpZmllZAorIyBwcmltYXJ5IGdyb3VwIG9mIHVzZXIgc3BlY2lmaWVkIHdpdGggInVzZXIiIHNldHRpbmcgd2lsbCBiZSB1c2VkIChpZiBzZXQpLgorIyBUaGlzIGlzIHVzZWZ1bCBpZiBNUEQgbmVlZHMgdG8gYmUgYSBtZW1iZXIgb2YgZ3JvdXAgc3VjaCBhcyAiYXVkaW8iIHRvCisjIGhhdmUgcGVybWlzc2lvbiB0byB1c2Ugc291bmQgY2FyZC4KKyMKK2dyb3VwCQkJCSJhdWRpbyIKKyMKKyMgVGhpcyBzZXR0aW5nIHNldHMgdGhlIGFkZHJlc3MgZm9yIHRoZSBkYWVtb24gdG8gbGlzdGVuIG9uLiBDYXJlZnVsIGF0dGVudGlvbgorIyBzaG91bGQgYmUgcGFpZCBpZiB0aGlzIGlzIGFzc2lnbmVkIHRvIGFueXRoaW5nIG90aGVyIHRoZW4gdGhlIGRlZmF1bHQsIGFueS4KKyMgVGhpcyBzZXR0aW5nIGNhbiBkZW55IGFjY2VzcyB0byBjb250cm9sIG9mIHRoZSBkYWVtb24uCisjCisjIEZvciBuZXR3b3JrCitiaW5kX3RvX2FkZHJlc3MJCSJhbnkiCisjCisjIEFuZCBmb3IgVW5peCBTb2NrZXQKKyNiaW5kX3RvX2FkZHJlc3MJCSJ+Ly5tcGQvc29ja2V0IgorIworIyBUaGlzIHNldHRpbmcgaXMgdGhlIFRDUCBwb3J0IHRoYXQgaXMgZGVzaXJlZCBmb3IgdGhlIGRhZW1vbiB0byBnZXQgYXNzaWduZWQKKyMgdG8uCisjCisjcG9ydAkJCQkiNjYwMCIKKyMKKyMgVGhpcyBzZXR0aW5nIGNvbnRyb2xzIHRoZSB0eXBlIG9mIGluZm9ybWF0aW9uIHdoaWNoIGlzIGxvZ2dlZC4gQXZhaWxhYmxlCisjIHNldHRpbmcgYXJndW1lbnRzIGFyZSAiZGVmYXVsdCIsICJzZWN1cmUiIG9yICJ2ZXJib3NlIi4gVGhlICJ2ZXJib3NlIiBzZXR0aW5nCisjIGFyZ3VtZW50IGlzIHJlY29tbWVuZGVkIGZvciB0cm91Ymxlc2hvb3RpbmcsIHRob3VnaCBjYW4gcXVpY2tseSBzdHJldGNoCisjIGF2YWlsYWJsZSByZXNvdXJjZXMgb24gbGltaXRlZCBoYXJkd2FyZSBzdG9yYWdlLgorIworI2xvZ19sZXZlbAkJCSJkZWZhdWx0IgorIworIyBJZiB5b3UgaGF2ZSBhIHByb2JsZW0gd2l0aCB5b3VyIE1QM3MgZW5kaW5nIGFicnVwdGx5IGl0IGlzIHJlY29tbWVuZGVkIHRoYXQKKyMgeW91IHNldCB0aGlzIGFyZ3VtZW50IHRvICJubyIgdG8gYXR0ZW1wdCB0byBmaXggdGhlIHByb2JsZW0uIElmIHRoaXMgc29sdmVzCisjIHRoZSBwcm9ibGVtLCBpdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdG8gZml4IHRoZSBNUDMgZmlsZXMgd2l0aCB2YnJmaXgKKyMgKGF2YWlsYWJsZSBmcm9tIDxodHRwOi8vd3d3LndpbGx3YXAuY28udWsvUHJvZ3JhbXMvdmJyZml4LnBocD4pLCBhdCB3aGljaAorIyBwb2ludCBnYXBsZXNzIE1QMyBwbGF5YmFjayBjYW4gYmUgZW5hYmxlZC4KKyMKKyNnYXBsZXNzX21wM19wbGF5YmFjawkJCSJ5ZXMiCisjCisjIFRoaXMgc2V0dGluZyBlbmFibGVzIE1QRCB0byBjcmVhdGUgcGxheWxpc3RzIGluIGEgZm9ybWF0IHVzYWJsZSBieSBvdGhlcgorIyBtdXNpYyBwbGF5ZXJzLgorIworI3NhdmVfYWJzb2x1dGVfcGF0aHNfaW5fcGxheWxpc3RzCSJubyIKKyMKKyMgVGhpcyBzZXR0aW5nIGRlZmluZXMgYSBsaXN0IG9mIHRhZyB0eXBlcyB0aGF0IHdpbGwgYmUgZXh0cmFjdGVkIGR1cmluZyB0aGUKKyMgYXVkaW8gZmlsZSBkaXNjb3ZlcnkgcHJvY2Vzcy4gT3B0aW9uYWxseSwgJ2NvbW1lbnQnIGNhbiBiZSBhZGRlZCB0byB0aGlzCisjIGxpc3QuCisjCisjbWV0YWRhdGFfdG9fdXNlCSJhcnRpc3QsYWxidW0sdGl0bGUsdHJhY2ssbmFtZSxnZW5yZSxkYXRlLGNvbXBvc2VyLHBlcmZvcm1lcixkaXNjIgorIworIyBUaGlzIHNldHRpbmcgZW5hYmxlcyBhdXRvbWF0aWMgdXBkYXRlIG9mIE1QRCdzIGRhdGFiYXNlIHdoZW4gZmlsZXMgaW4KKyMgbXVzaWNfZGlyZWN0b3J5IGFyZSBjaGFuZ2VkLgorIworI2F1dG9fdXBkYXRlCSJ5ZXMiCisjCisjIExpbWl0IHRoZSBkZXB0aCBvZiB0aGUgZGlyZWN0b3JpZXMgYmVpbmcgd2F0Y2hlZCwgMCBtZWFucyBvbmx5IHdhdGNoCisjIHRoZSBtdXNpYyBkaXJlY3RvcnkgaXRzZWxmLiAgVGhlcmUgaXMgbm8gbGltaXQgYnkgZGVmYXVsdC4KKyMKKyNhdXRvX3VwZGF0ZV9kZXB0aCAiMyIKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworCisjIFN5bWJvbGljIGxpbmsgYmVoYXZpb3IgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIElmIHRoaXMgc2V0dGluZyBpcyBzZXQgdG8gInllcyIsIE1QRCB3aWxsIGRpc2NvdmVyIGF1ZGlvIGZpbGVzIGJ5IGZvbGxvd2luZworIyBzeW1ib2xpYyBsaW5rcyBvdXRzaWRlIG9mIHRoZSBjb25maWd1cmVkIG11c2ljX2RpcmVjdG9yeS4KKyMKKyNmb2xsb3dfb3V0c2lkZV9zeW1saW5rcwkieWVzIgorIworIyBJZiB0aGlzIHNldHRpbmcgaXMgc2V0IHRvICJ5ZXMiLCBNUEQgd2lsbCBkaXNjb3ZlciBhdWRpbyBmaWxlcyBieSBmb2xsb3dpbmcKKyMgc3ltYm9saWMgbGlua3MgaW5zaWRlIG9mIHRoZSBjb25maWd1cmVkIG11c2ljX2RpcmVjdG9yeS4KKyMKKyNmb2xsb3dfaW5zaWRlX3N5bWxpbmtzCQkieWVzIgorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisKKyMgWmVyb2NvbmYgLyBBdmFoaSBTZXJ2aWNlIERpc2NvdmVyeSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgSWYgdGhpcyBzZXR0aW5nIGlzIHNldCB0byAieWVzIiwgc2VydmljZSBpbmZvcm1hdGlvbiB3aWxsIGJlIHB1Ymxpc2hlZCB3aXRoCisjIFplcm9jb25mIC8gQXZhaGkuCisjCisjemVyb2NvbmZfZW5hYmxlZAkJInllcyIKKyMKKyMgVGhlIGFyZ3VtZW50IHRvIHRoaXMgc2V0dGluZyB3aWxsIGJlIHRoZSBaZXJvY29uZiAvIEF2YWhpIHVuaXF1ZSBuYW1lIGZvcgorIyB0aGlzIE1QRCBzZXJ2ZXIgb24gdGhlIG5ldHdvcmsuCisjCisjemVyb2NvbmZfbmFtZQkJCSJNdXNpYyBQbGF5ZXIiCisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKworIyBQZXJtaXNzaW9ucyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBJZiB0aGlzIHNldHRpbmcgaXMgc2V0LCBNUEQgd2lsbCByZXF1aXJlIHBhc3N3b3JkIGF1dGhvcml6YXRpb24uIFRoZSBwYXNzd29yZAorIyBjYW4gc2V0dGluZyBjYW4gYmUgc3BlY2lmaWVkIG11bHRpcGxlIHRpbWVzIGZvciBkaWZmZXJlbnQgcGFzc3dvcmQgcHJvZmlsZXMuCisjCisjcGFzc3dvcmQgICAgICAgICAgICAgICAgICAgICAgICAicGFzc3dvcmRAcmVhZCxhZGQsY29udHJvbCxhZG1pbiIKKyMKKyMgVGhpcyBzZXR0aW5nIHNwZWNpZmllcyB0aGUgcGVybWlzc2lvbnMgYSB1c2VyIGhhcyB3aG8gaGFzIG5vdCB5ZXQgbG9nZ2VkIGluLgorIworI2RlZmF1bHRfcGVybWlzc2lvbnMgICAgICAgICAgICAgInJlYWQsYWRkLGNvbnRyb2wsYWRtaW4iCisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKworIyBJbnB1dCAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworCitpbnB1dCB7CisgICAgICAgIHBsdWdpbiAiY3VybCIKKyMgICAgICAgcHJveHkgInByb3h5LmlzcC5jb206ODA4MCIKKyMgICAgICAgcHJveHlfdXNlciAidXNlciIKKyMgICAgICAgcHJveHlfcGFzc3dvcmQgInBhc3N3b3JkIgorfQorCisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgQXVkaW8gT3V0cHV0ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgTVBEIHN1cHBvcnRzIHZhcmlvdXMgYXVkaW8gb3V0cHV0IHR5cGVzLCBhcyB3ZWxsIGFzIHBsYXlpbmcgdGhyb3VnaCBtdWx0aXBsZQorIyBhdWRpbyBvdXRwdXRzIGF0IHRoZSBzYW1lIHRpbWUsIHRocm91Z2ggbXVsdGlwbGUgYXVkaW9fb3V0cHV0IHNldHRpbmdzCisjIGJsb2Nrcy4gU2V0dGluZyB0aGlzIGJsb2NrIGlzIG9wdGlvbmFsLCB0aG91Z2ggdGhlIHNlcnZlciB3aWxsIG9ubHkgYXR0ZW1wdAorIyBhdXRvZGV0ZWN0aW9uIGZvciBvbmUgc291bmQgY2FyZC4KKyMKKyMgU2VlIDxodHRwOi8vbXBkLndpa2lhLmNvbS93aWtpL0NvbmZpZ3VyYXRpb24jQXVkaW9fT3V0cHV0cz4gZm9yIGV4YW1wbGVzIG9mCisjIG90aGVyIGF1ZGlvIG91dHB1dHMuCisjCisjIGJvYXJkIHNwZWNpZmljIGV4YW1wbGVzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIChmZWVsIGZyZWUgdG8gYWRkIGZ1dGhlcikKKyMKKyMgZ3Vtc3RpeCBvdmVybyAodGVzdGVkIHdpdGggVE9CSSBleHBhbnNpb24gYm9hcmQpCisjYXVkaW9fb3V0cHV0IHsKKyMJdHlwZQkJImFsc2EiCisjCW5hbWUJCSJvdmVybyIKKyMJbWl4ZXJfY29udHJvbAkiSGVhZHNldCIKKyMJbWl4ZXJfaW5kZXgJIjAiCisjfQorIworIyBnZW5lcmFsIGV4YW1wbGVzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBBbiBleGFtcGxlIG9mIGFuIEFMU0Egb3V0cHV0OgorIworI2F1ZGlvX291dHB1dCB7CisjCXR5cGUJCSJhbHNhIgorIwluYW1lCQkiTXkgQUxTQSBEZXZpY2UiCisjIwlkZXZpY2UJCSJodzowLDAiCSMgb3B0aW9uYWwKKyMjCWZvcm1hdAkJIjQ0MTAwOjE2OjIiCSMgb3B0aW9uYWwKKyMjCW1peGVyX3R5cGUgICAgICAiaGFyZHdhcmUiCSMgb3B0aW9uYWwKKyMjCW1peGVyX2RldmljZQkiZGVmYXVsdCIJIyBvcHRpb25hbAorIyMJbWl4ZXJfY29udHJvbAkiUENNIgkJIyBvcHRpb25hbAorIyMJbWl4ZXJfaW5kZXgJIjAiCQkjIG9wdGlvbmFsCisjfQorIworIyBBbiBleGFtcGxlIG9mIGFuIE9TUyBvdXRwdXQ6CisjCisjYXVkaW9fb3V0cHV0IHsKKyMJdHlwZQkJIm9zcyIKKyMJbmFtZQkJIk15IE9TUyBEZXZpY2UiCisjIwlkZXZpY2UJCSIvZGV2L2RzcCIJIyBvcHRpb25hbAorIyMJZm9ybWF0CQkiNDQxMDA6MTY6MiIJIyBvcHRpb25hbAorIyMJbWl4ZXJfdHlwZSAgICAgICJoYXJkd2FyZSIJIyBvcHRpb25hbAorIyMJbWl4ZXJfZGV2aWNlCSIvZGV2L21peGVyIgkjIG9wdGlvbmFsCisjIwltaXhlcl9jb250cm9sCSJQQ00iCQkjIG9wdGlvbmFsCisjfQorIworIyBBbiBleGFtcGxlIG9mIGEgc2hvdXQgb3V0cHV0IChmb3Igc3RyZWFtaW5nIHRvIEljZWNhc3QpOgorIworI2F1ZGlvX291dHB1dCB7CisjCXR5cGUJCSJzaG91dCIKKyMJZW5jb2RpbmcJIm9nZyIJCQkjIG9wdGlvbmFsCisjCW5hbWUJCSJNeSBTaG91dCBTdHJlYW0iCisjCWhvc3QJCSJsb2NhbGhvc3QiCisjCXBvcnQJCSI4MDAwIgorIwltb3VudAkJIi9tcGQub2dnIgorIwlwYXNzd29yZAkiaGFja21lIgorIwlxdWFsaXR5CQkiNS4wIgorIwliaXRyYXRlCQkiMTI4IgorIwlmb3JtYXQJCSI0NDEwMDoxNjoxIgorIyMJcHJvdG9jb2wJImljZWNhc3QyIgkJIyBvcHRpb25hbAorIyMJdXNlcgkJInNvdXJjZSIJCSMgb3B0aW9uYWwKKyMjCWRlc2NyaXB0aW9uCSJNeSBTdHJlYW0gRGVzY3JpcHRpb24iCSMgb3B0aW9uYWwKKyMjCWdlbnJlCQkiamF6eiIJCQkjIG9wdGlvbmFsCisjIwlwdWJsaWMJCSJubyIJCQkjIG9wdGlvbmFsCisjIwl0aW1lb3V0CQkiMiIJCQkjIG9wdGlvbmFsCisjIwltaXhlcl90eXBlICAgICAgInNvZnR3YXJlIgkJIyBvcHRpb25hbAorI30KKyMKKyMgQW4gZXhhbXBsZSBvZiBhIHJlY29yZGVyIG91dHB1dDoKKyMKKyNhdWRpb19vdXRwdXQgeworIwl0eXBlCQkicmVjb3JkZXIiCisjCW5hbWUJCSJNeSByZWNvcmRlciIKKyMJZW5jb2RlcgkJInZvcmJpcyIJCSMgb3B0aW9uYWwsIHZvcmJpcyBvciBsYW1lCisjCXBhdGgJCSIvdmFyL2xpYi9tcGQvcmVjb3JkZXIvbXBkLm9nZyIKKyMjCXF1YWxpdHkJCSI1LjAiCQkJIyBkbyBub3QgZGVmaW5lIGlmIGJpdHJhdGUgaXMgZGVmaW5lZAorIwliaXRyYXRlCQkiMTI4IgkJCSMgZG8gbm90IGRlZmluZSBpZiBxdWFsaXR5IGlzIGRlZmluZWQKKyMJZm9ybWF0CQkiNDQxMDA6MTY6MSIKKyN9CisjCisjIEFuIGV4YW1wbGUgb2YgYSBodHRwZCBvdXRwdXQgKGJ1aWx0LWluIEhUVFAgc3RyZWFtaW5nIHNlcnZlcik6CisjCisjYXVkaW9fb3V0cHV0IHsKKyMJdHlwZQkJImh0dHBkIgorIwluYW1lCQkiTXkgSFRUUCBTdHJlYW0iCisjCWVuY29kZXIJCSJ2b3JiaXMiCQkjIG9wdGlvbmFsLCB2b3JiaXMgb3IgbGFtZQorIwlwb3J0CQkiODAwMCIKKyMJYmluZF90b19hZGRyZXNzCSIwLjAuMC4wIgkJIyBvcHRpb25hbCwgSVB2NCBvciBJUHY2CisjIwlxdWFsaXR5CQkiNS4wIgkJCSMgZG8gbm90IGRlZmluZSBpZiBiaXRyYXRlIGlzIGRlZmluZWQKKyMJYml0cmF0ZQkJIjEyOCIJCQkjIGRvIG5vdCBkZWZpbmUgaWYgcXVhbGl0eSBpcyBkZWZpbmVkCisjCWZvcm1hdAkJIjQ0MTAwOjE2OjEiCisjCW1heF9jbGllbnRzCSIwIgkJCSMgb3B0aW9uYWwgMD1ubyBsaW1pdAorI30KKyMKKyMgQW4gZXhhbXBsZSBvZiBhIHB1bHNlYXVkaW8gb3V0cHV0IChzdHJlYW1pbmcgdG8gYSByZW1vdGUgcHVsc2VhdWRpbyBzZXJ2ZXIpCisjCisjYXVkaW9fb3V0cHV0IHsKKyMJdHlwZQkJInB1bHNlIgorIwluYW1lCQkiTXkgUHVsc2UgT3V0cHV0IgorIyMJc2VydmVyCQkicmVtb3RlX3NlcnZlciIJCSMgb3B0aW9uYWwKKyMjCXNpbmsJCSJyZW1vdGVfc2VydmVyX3NpbmsiCSMgb3B0aW9uYWwKKyN9CisjCisjIyBFeGFtcGxlICJwaXBlIiBvdXRwdXQ6CisjCisjYXVkaW9fb3V0cHV0IHsKKyMJdHlwZQkJInBpcGUiCisjCW5hbWUJCSJteSBwaXBlIgorIwljb21tYW5kCQkiYXBsYXkgLWYgY2QgMj4vZGV2L251bGwiCisjIyBPciBpZiB5b3UncmUgd2FudCB0byB1c2UgQXVkaW9Db21wcmVzcworIwljb21tYW5kCQkiQXVkaW9Db21wcmVzcyAtbSB8IGFwbGF5IC1mIGNkIDI+L2Rldi9udWxsIgorIyMgT3IgdG8gc2VuZCByYXcgUENNIHN0cmVhbSB0aHJvdWdoIFBDTToKKyMJY29tbWFuZAkJIm5jIGV4YW1wbGUub3JnIDg3NjUiCisjCWZvcm1hdAkJIjQ0MTAwOjE2OjIiCisjfQorIworIyMgQW4gZXhhbXBsZSBvZiBhIG51bGwgb3V0cHV0IChmb3Igbm8gYXVkaW8gb3V0cHV0KToKKyMKKyNhdWRpb19vdXRwdXQgeworIwl0eXBlCQkibnVsbCIKKyMJbmFtZQkJIk15IE51bGwgT3V0cHV0IgorIwltaXhlcl90eXBlICAgICAgIm5vbmUiCQkJIyBvcHRpb25hbAorI30KKyMKKyMgVGhpcyBzZXR0aW5nIHdpbGwgY2hhbmdlIGFsbCBkZWNvZGVkIGF1ZGlvIHRvIGJlIGNvbnZlcnRlZCB0byB0aGUgc3BlY2lmaWVkCisjIGZvcm1hdCBiZWZvcmUgYmVpbmcgcGFzc2VkIHRvIHRoZSBhdWRpbyBvdXRwdXRzLiBCeSBkZWZhdWx0LCB0aGlzIHNldHRpbmcgaXMKKyMgZGlzYWJsZWQuCisjCisjYXVkaW9fb3V0cHV0X2Zvcm1hdAkJIjQ0MTAwOjE2OjIiCisjCisjIElmIE1QRCBoYXMgYmVlbiBjb21waWxlZCB3aXRoIGxpYnNhbXBsZXJhdGUgc3VwcG9ydCwgdGhpcyBzZXR0aW5nIHNwZWNpZmllcworIyB0aGUgc2FtcGxlIHJhdGUgY29udmVydGVyIHRvIHVzZS4gIFBvc3NpYmxlIHZhbHVlcyBjYW4gYmUgZm91bmQgaW4gdGhlCisjIG1wZC5jb25mIG1hbiBwYWdlIG9yIHRoZSBsaWJzYW1wbGVyYXRlIGRvY3VtZW50YXRpb24uIEJ5IGRlZmF1bHQsIHRoaXMgaXMKKyMgc2V0dGluZyBpcyBkaXNhYmxlZC4KKyMKKyNzYW1wbGVyYXRlX2NvbnZlcnRlcgkJIkZhc3Rlc3QgU2luYyBJbnRlcnBvbGF0b3IiCisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKworIyBOb3JtYWxpemF0aW9uIGF1dG9tYXRpYyB2b2x1bWUgYWRqdXN0bWVudHMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBUaGlzIHNldHRpbmcgc3BlY2lmaWVzIHRoZSB0eXBlIG9mIFJlcGxheUdhaW4gdG8gdXNlLiBUaGlzIHNldHRpbmcgY2FuIGhhdmUKKyMgdGhlIGFyZ3VtZW50ICJvZmYiLCAiYWxidW0iIG9yICJ0cmFjayIuIFNlZSA8aHR0cDovL3d3dy5yZXBsYXlnYWluLm9yZz4KKyMgZm9yIG1vcmUgZGV0YWlscy4gVGhpcyBzZXR0aW5nIGlzIG9mZiBieSBkZWZhdWx0LgorIworI3JlcGxheWdhaW4JCQkiYWxidW0iCisjCisjIFRoaXMgc2V0dGluZyBzZXRzIHRoZSBwcmUtYW1wIHVzZWQgZm9yIGZpbGVzIHRoYXQgaGF2ZSBSZXBsYXlHYWluIHRhZ3MuIEJ5CisjIGRlZmF1bHQgdGhpcyBzZXR0aW5nIGlzIGRpc2FibGVkLgorIworI3JlcGxheWdhaW5fcHJlYW1wCQkiMCIKKyMKKyMgVGhpcyBzZXR0aW5nIGVuYWJsZXMgb24tdGhlLWZseSBub3JtYWxpemF0aW9uIHZvbHVtZSBhZGp1c3RtZW50LiBUaGlzIHdpbGwKKyMgcmVzdWx0IGluIHRoZSB2b2x1bWUgb2YgYWxsIHBsYXlpbmcgYXVkaW8gdG8gYmUgYWRqdXN0ZWQgc28gdGhlIG91dHB1dCBoYXMKKyMgZXF1YWwgImxvdWRuZXNzIi4gVGhpcyBzZXR0aW5nIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQuCisjCisjdm9sdW1lX25vcm1hbGl6YXRpb24JCSJubyIKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworCisjIE1QRCBJbnRlcm5hbCBCdWZmZXJpbmcgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIFRoaXMgc2V0dGluZyBhZGp1c3RzIHRoZSBzaXplIG9mIGludGVybmFsIGRlY29kZWQgYXVkaW8gYnVmZmVyaW5nLiBDaGFuZ2luZworIyB0aGlzIG1heSBoYXZlIHVuZGVzaXJlZCBlZmZlY3RzLiBEb24ndCBjaGFuZ2UgdGhpcyBpZiB5b3UgZG9uJ3Qga25vdyB3aGF0IHlvdQorIyBhcmUgZG9pbmcuCisjCisjYXVkaW9fYnVmZmVyX3NpemUJCSIyMDQ4IgorIworIyBUaGlzIHNldHRpbmcgY29udHJvbHMgdGhlIHBlcmNlbnRhZ2Ugb2YgdGhlIGJ1ZmZlciB3aGljaCBpcyBmaWxsZWQgYmVmb3JlCisjIGJlZ2lubmluZyB0byBwbGF5LiBJbmNyZWFzaW5nIHRoaXMgcmVkdWNlcyB0aGUgY2hhbmNlIG9mIGF1ZGlvIGZpbGUgc2tpcHBpbmcsCisjIGF0IHRoZSBjb3N0IG9mIGluY3JlYXNlZCB0aW1lIHByaW9yIHRvIGF1ZGlvIHBsYXliYWNrLgorIworI2J1ZmZlcl9iZWZvcmVfcGxheQkJIjEwJSIKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworCisjIFJlc291cmNlIExpbWl0YXRpb25zICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIFRoZXNlIHNldHRpbmdzIGFyZSB2YXJpb3VzIGxpbWl0YXRpb25zIHRvIHByZXZlbnQgTVBEIGZyb20gdXNpbmcgdG9vIG1hbnkKKyMgcmVzb3VyY2VzLiBHZW5lcmFsbHksIHRoZXNlIHNldHRpbmdzIHNob3VsZCBiZSBtaW5pbWl6ZWQgdG8gcHJldmVudCBzZWN1cml0eQorIyByaXNrcywgZGVwZW5kaW5nIG9uIHRoZSBvcGVyYXRpbmcgcmVzb3VyY2VzLgorIworI2Nvbm5lY3Rpb25fdGltZW91dAkJIjYwIgorI21heF9jb25uZWN0aW9ucwkJIjEwIgorI21heF9wbGF5bGlzdF9sZW5ndGgJCSIxNjM4NCIKKyNtYXhfY29tbWFuZF9saXN0X3NpemUJCSIyMDQ4IgorI21heF9vdXRwdXRfYnVmZmVyX3NpemUJCSI4MTkyIgorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisKKyMgQ2hhcmFjdGVyIEVuY29kaW5nICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgSWYgZmlsZSBvciBkaXJlY3RvcnkgbmFtZXMgZG8gbm90IGRpc3BsYXkgY29ycmVjdGx5IGZvciB5b3VyIGxvY2FsZSB0aGVuIHlvdQorIyBtYXkgbmVlZCB0byBtb2RpZnkgdGhpcyBzZXR0aW5nLgorIworI2ZpbGVzeXN0ZW1fY2hhcnNldAkJIlVURi04IgorIworIyBUaGlzIHNldHRpbmcgY29udHJvbHMgdGhlIGVuY29kaW5nIHRoYXQgSUQzdjEgdGFncyBzaG91bGQgYmUgY29udmVydGVkIGZyb20uCisjCisjaWQzdjFfZW5jb2RpbmcJCQkiSVNPLTg4NTktMSIKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworCisjIFNJRFBsYXkgZGVjb2RlciAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHNvbmdsZW5ndGhfZGF0YWJhc2U6CisjICBMb2NhdGlvbiBvZiB5b3VyIHNvbmdsZW5ndGhzIGZpbGUsIGFzIGRpc3RyaWJ1dGVkIHdpdGggdGhlIEhWU0MuCisjICBUaGUgc2lkcGxheSBwbHVnaW4gY2hlY2tzIHRoaXMgZm9yIG1hdGNoaW5nIE1ENSBmaW5nZXJwcmludHMuCisjICBTZWUgaHR0cDovL3d3dy5jNjQub3JnL0hWU0MvRE9DVU1FTlRTL1NvbmdsZW5ndGhzLmZhcQorIworIyBkZWZhdWx0X3NvbmdsZW5ndGg6CisjICBUaGlzIGlzIHRoZSBkZWZhdWx0IHBsYXlpbmcgdGltZSBpbiBzZWNvbmRzIGZvciBzb25ncyBub3QgaW4gdGhlCisjICBzb25nbGVuZ3RoIGRhdGFiYXNlLCBvciBpbiBjYXNlIHlvdSdyZSBub3QgdXNpbmcgYSBkYXRhYmFzZS4KKyMgIEEgdmFsdWUgb2YgMCBtZWFucyBwbGF5IGluZGVmaW5pdGVseS4KKyMKKyMgZmlsdGVyOgorIyAgVHVybnMgdGhlIFNJRCBmaWx0ZXIgZW11bGF0aW9uIG9uIG9yIG9mZi4KKyMKKyNkZWNvZGVyIHsKKyMJcGx1Z2luCQkJInNpZHBsYXkiCisjCXNvbmdsZW5ndGhfZGF0YWJhc2UJIi9tZWRpYS9DNjRNdXNpYy9ET0NVTUVOVFMvU29uZ2xlbmd0aHMudHh0IgorIwlkZWZhdWx0X3NvbmdsZW5ndGgJIjEyMCIKKyMJZmlsdGVyICJ0cnVlIgorI30KKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL211c2ljcGQvbXBkXzAuMTkuMTAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbXVzaWNwZC9tcGRfMC4xOS4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjEyNGNhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL211c2ljcGQvbXBkXzAuMTkuMTAuYmIKQEAgLTAsMCArMSw1OSBAQAorU1VNTUFSWSA9ICJNdXNpYyBQbGF5ZXIgRGFlbW9uIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorSE9NRVBBR0UgPSJodHRwOi8vd3d3Lm11c2ljcGQub3JnIgorCitERVBFTkRTID0gImFsc2EtbGliIGxpYnNhbXBsZXJhdGUwIGxpYnNuZGZpbGUxIGxpYnZvcmJpcyBsaWJvZ2cgZmFhZDIgZmZtcGVnIGN1cmwgc3FsaXRlIGJ6aXAyIHB1bHNlYXVkaW8gdGNwLXdyYXBwZXJzIG9wZW5hbC1zb2Z0IHlhamwgamFjayBmYWFkMiBmbGFjIGxpYmFvIGZsdWlkc3ludGggbGliY2RpbyB3YXZwYWNrIGxpYm9wdXMgbXBnMTIzIGxpYm1tcyBsaWJtb2RwbHVnIGJvb3N0IGljdSBkYnVzIGV4cGF0IHpsaWIgbGlidXBucCIKKworU1JDX1VSSSA9ICIgXAorICAgIGh0dHA6Ly93d3cubXVzaWNwZC5vcmcvZG93bmxvYWQvJHtCUE59LzAuMTkvJHtCUH0udGFyLnh6IFwKKyAgICBmaWxlOi8vbXBkLmNvbmYuaW4gXAorIgorU1JDX1VSSVttZDVzdW1dID0gImRhNGJjM2U0N2FmZDBmYWY5ZTdhNjcxNjhlMDEyMTAyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImMzODZlYjNkMjJmOThkYzk5M2I1YWUzYzI3MmY5NjlhYTc3NjM3MTM0ODNjNjgwMDA0MGViZjE3OTFiMTU4NTEiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHVzZXJhZGQgc3lzdGVtZAorCitFWFRSQV9PRUNPTkYgPSAiZW5hYmxlX2J6aXAyPXllcyIKK0VYVFJBX09FQ09ORiArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJy0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLycsICctLXdpdGhvdXQtc3lzdGVtZHN5c3RlbXVuaXRkaXInLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbbWFkXSA9ICItLWVuYWJsZS1tYWQsLS1kaXNhYmxlLW1hZCxsaWJtYWQiCitQQUNLQUdFQ09ORklHW2lkM3RhZ10gPSAiLS1lbmFibGUtaWQzLC0tZGlzYWJsZS1pZDMsbGliaWQzdGFnIgorUEFDS0FHRUNPTkZJR1tsYW1lXSA9ICItLWVuYWJsZS1sYW1lLWVuY29kZXIsLS1kaXNhYmxlLWxhbWUtZW5jb2RlcixsYW1lIgorUEFDS0FHRUNPTkZJR1tzbWJdID0gIi0tZW5hYmxlLXNtYmNsaWVudCwtLWRpc2FibGUtc21iY2xpZW50LHNhbWJhIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtsb2NhbHN0YXRlZGlyfS9saWIvbXBkL211c2ljCisgICAgY2htb2QgNzc1ICR7RH0vJHtsb2NhbHN0YXRlZGlyfS9saWIvbXBkL211c2ljCisgICAgaW5zdGFsbCAtZCAke0R9LyR7bG9jYWxzdGF0ZWRpcn0vbGliL21wZC9wbGF5bGlzdHMKKyAgICBjaG93biAtUiBtcGQgJHtEfS8ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9tcGQKKyAgICBjaG93biBtcGQ6bXBkICR7RH0vJHtsb2NhbHN0YXRlZGlyfS9saWIvbXBkL211c2ljCisKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfQorICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vbXBkLmNvbmYuaW4gJHtEfS8ke3N5c2NvbmZkaXJ9L21wZC5jb25mCisgICAgc2VkIC1pIFwKKyAgICAgICAgLWUgJ3N8JW11c2ljX2RpcmVjdG9yeSV8JHtsb2NhbHN0YXRlZGlyfS9saWIvbXBkL211c2ljfCcgXAorICAgICAgICAtZSAnc3wlcGxheWxpc3RfZGlyZWN0b3J5JXwke2xvY2Fsc3RhdGVkaXJ9L2xpYi9tcGQvcGxheWxpc3RzfCcgXAorICAgICAgICAtZSAnc3wlZGJfZmlsZSV8JHtsb2NhbHN0YXRlZGlyfS9saWIvbXBkL21wZC5kYnwnIFwKKyAgICAgICAgLWUgJ3N8JWxvZ19maWxlJXwke2xvY2Fsc3RhdGVkaXJ9L2xvZy9tcGQubG9nfCcgXAorICAgICAgICAtZSAnc3wlc3RhdGVfZmlsZSV8JHtsb2NhbHN0YXRlZGlyfS9saWIvbXBkL3N0YXRlfCcgXAorICAgICAgICAke0R9LyR7c3lzY29uZmRpcn0vbXBkLmNvbmYKKworICAgIGlmIFsgLWUgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL21wZC5zZXJ2aWNlIF0gOyB0aGVuCisgICAgICAgIHNlZCAtaSBcCisgICAgICAgICAgICAnc3xeRXhlY1N0YXJ0PS4qfEV4ZWNTdGFydD0ke2JpbmRpcn0vbXBkIC0tbm8tZGFlbW9ufCcgXAorICAgICAgICAgICAgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL21wZC5zZXJ2aWNlCisgICAgZmkKK30KKworUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJtcGQuc2VydmljZSBtcGQuc29ja2V0IgorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICIgXAorICAgIC0tc3lzdGVtIC0tbm8tY3JlYXRlLWhvbWUgXAorICAgIC0taG9tZSAke2xvY2Fsc3RhdGVkaXJ9L2xpYi9tcGQgXAorICAgIC0tZ3JvdXBzIGF1ZGlvIFwKKyAgICAtLXVzZXItZ3JvdXAgbXBkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL29wZW5hbC9vcGVuYWwtc29mdF8xLjE1LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvb3BlbmFsL29wZW5hbC1zb2Z0XzEuMTUuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ODk1MjM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL29wZW5hbC9vcGVuYWwtc29mdF8xLjE1LjEuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJPcGVuQUwgaXMgYSBjcm9zcy1wbGF0Zm9ybSAzRCBhdWRpbyBBUEkiCitIT01FUEFHRSA9ICJodHRwOi8va2NhdC5zdHJhbmdlc29mdC5uZXQvb3BlbmFsLmh0bWwiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZmFjYzNhOGY0NTI5MzAwODNiYmI5NWQ4MmI5ODljMzUiCisKK2luaGVyaXQgY21ha2UKKworU1JDX1VSSSA9ICJodHRwOi8va2NhdC5zdHJhbmdlc29mdC5uZXQvb3BlbmFsLXJlbGVhc2VzLyR7QlB9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiZWE4M2RlYzNiOTY1NWEyN2QyOGU3YmM3Y2FlOWNkNzEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGUyOWExNjJmMDg0MWNjYjQxMzVjZTc2ZTkyZThhNzA0NTg5YjY4MGE4NWVkZGY3NmY4OThkZTUyMzZlYjA1NiIKKworUEFDS0FHRUNPTkZJRyA/PSAiXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYWxzYScsICdhbHNhJywgJycsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwdWxzZWF1ZGlvJywgJ3B1bHNlYXVkaW8nLCAnJywgZCl9IFwKKyIKK1BBQ0tBR0VDT05GSUdbYWxzYV0gPSAiLURBTFNBPVRSVUUsIC1EQUxTQT1GQUxTRSwgYWxzYS1saWIiCitQQUNLQUdFQ09ORklHW3B1bHNlYXVkaW9dID0gIi1EUFVMU0VBVURJTz1UUlVFLCAtRFBVTFNFQVVESU89RkFMU0UsIHB1bHNlYXVkaW8iCisjIGN1cnJlbnRseSBkb2Vzbid0IHdvcmsgd2l0aCBsaWJhdi05CisjIFBLR19DSEVDS19NT0RVTEVTKEZGTVBFRyBsaWJhdmNvZGVjPj01My42MS4xMDAgbGliYXZmb3JtYXQ+PTUzLjMyLjEwMCBsaWJhdnV0aWw+PTUxLjM1LjEwMCkKKyMgYnV0IGFsZmZtcGVnLmM6NDE4OjQ0OiBlcnJvcjogJ0FWX0NIX0xBWU9VVF9NT05PJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKK1BBQ0tBR0VDT05GSUdbZXhhbXBsZXNdID0gIi1ERVhBTVBMRVM9VFJVRSwgLURFWEFNUExFUz1GQUxTRSwgbGliYXYiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L29wZW5hbCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9vcGVuY29yZS1hbXIvb3BlbmNvcmUtYW1yXzAuMS4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL29wZW5jb3JlLWFtci9vcGVuY29yZS1hbXJfMC4xLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWI1ODEzZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9vcGVuY29yZS1hbXIvb3BlbmNvcmUtYW1yXzAuMS4zLmJiCkBAIC0wLDAgKzEsMTMgQEAKK0RFU0NSSVBUSU9OID0gIk9wZW5DT1JFIEFkYXB0aXZlIE11bHRpIFJhdGUgKEFNUikgc3BlZWNoIGNvZGVjIGxpYnJhcnkgaW1wbGVtZW50YXRpb24iCitIT01FUEFHRSA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL29wZW5jb3JlLWFtci8iCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ0VOU0VfRkxBR1MgPSAiY29tbWVyY2lhbCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWRkMmMyNDg2YWNhMDIxOTAxNTNjZjM5OWU1MDhjN2U3IgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9vcGVuY29yZS1hbXIvJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjA5ZDJjNWRmYjQzYTlmNmU5ZmVjOGIxYWU2NzhlNzI1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjEwNmJmODExYzFmMzY0NDRkNzY3MWQ4ZmQyNTg5ZjhiMmUwY2NhNThhMmM3NjRkYTYyZmZjNGEwNzA1OTUzODUiCisKK2luaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvb3BlbmNvcmUtYW1yL3ZvLWFhY2VuY18wLjEuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9vcGVuY29yZS1hbXIvdm8tYWFjZW5jXzAuMS4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlMzczNjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvb3BlbmNvcmUtYW1yL3ZvLWFhY2VuY18wLjEuMy5iYgpAQCAtMCwwICsxLDEzIEBACitERVNDUklQVElPTiA9ICJWaXN1YWxPbiBBZHZhbmNlZCBBdWRpbyBDb2RpbmcgKEFBQykgZW5jb2RlciIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvb3BlbmNvcmUtYW1yLyIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDRU5TRV9GTEFHUyA9ICJjb21tZXJjaWFsIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZGQyYzI0ODZhY2EwMjE5MDE1M2NmMzk5ZTUwOGM3ZTciCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L29wZW5jb3JlLWFtci8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiYjU3NGRhMWQ5MmQ3NWZjNDBiMGI3NWFhMTZmMjRhYzQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTUxYTc0NzdhMzU5ZjE4ZGY3YzRmODJkMTk1ZGFiNGUxNGU3NDE0Y2JkNDhjZjc5Y2MxOTVmYzQ0Njg1MGYzNiIKKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9vcGVuY29yZS1hbXIvdm8tYW1yd2JlbmNfMC4xLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvb3BlbmNvcmUtYW1yL3ZvLWFtcndiZW5jXzAuMS4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjMDQ5ZWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvb3BlbmNvcmUtYW1yL3ZvLWFtcndiZW5jXzAuMS4zLmJiCkBAIC0wLDAgKzEsMTMgQEAKK0RFU0NSSVBUSU9OID0gIlZpc3VhbE9uIEFkYXB0aXZlIE11bHRpIFJhdGUgV2lkZWJhbmQgKEFNUi1XQikgZW5jb2RlciIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvb3BlbmNvcmUtYW1yLyIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDRU5TRV9GTEFHUyA9ICJjb21tZXJjaWFsIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZGQyYzI0ODZhY2EwMjE5MDE1M2NmMzk5ZTUwOGM3ZTciCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L29wZW5jb3JlLWFtci8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZjYzYmI5MmJkZTBiMTU4M2NiM2NiMzQ0YzEyOTIyZTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTY1MmIzOTFlMGYwZTI5NjQxN2I4NDFiMDI5ODdkM2ZkMzNlNmMwYWYzNDJjNjk1NDJjYmIwMTZhNzFkOWQ0ZSIKKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9ydG1wZHVtcC9ydG1wZHVtcC9maXgtcmFjaW5nLWJ1aWxkLWlzc3VlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3J0bXBkdW1wL3J0bXBkdW1wL2ZpeC1yYWNpbmctYnVpbGQtaXNzdWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmIzZDhiMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9ydG1wZHVtcC9ydG1wZHVtcC9maXgtcmFjaW5nLWJ1aWxkLWlzc3VlLnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKK01ha2Ugc3VyZSBsaWJkaXIgKFNPRElSKSBpcyBjcmVhdGVkIHdoZW4gcnVubmluZyBwYXJhbGxlbCBtYWtlLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlaSBHaGVyemFuIDxhbmRyZWlAZ2hlcnphbi5ybz4KKworSW5kZXg6IGdpdC9saWJydG1wL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvbGlicnRtcC9NYWtlZmlsZQorKysrIGdpdC9saWJydG1wL01ha2VmaWxlCitAQCAtMTA3LDYgKzEwNyw3IEBAIGluc3RhbGxfYmFzZToJbGlicnRtcC5hIGxpYnJ0bXAucGMKKyAJY3AgbGlicnRtcC4zICQoTUFORElSKS9tYW4zCisgCisgaW5zdGFsbF9zbzoJbGlicnRtcC4kKFNPX0VYVCkKKysJLW1rZGlyIC1wICQoU09ESVIpCisgCWNwIGxpYnJ0bXAuJChTT19FWFQpICQoU09ESVIpCisgCWNkICQoU09ESVIpOyBsbiAtc2YgbGlicnRtcC4kKFNPX0VYVCkgbGlicnRtcC4kKFNPWCkKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9ydG1wZHVtcC9ydG1wZHVtcF8yLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvcnRtcGR1bXAvcnRtcGR1bXBfMi40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExZTY1MDIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvcnRtcGR1bXAvcnRtcGR1bXBfMi40LmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiUlRNUCBEdW1wIgorREVTQ1JJUFRJT04gPSAicnRtcGR1bXAgaXMgYSB0b29sa2l0IGZvciBSVE1QIHN0cmVhbXMuIEFsbCBmb3JtcyBvZiBSVE1QIGFyZSBcCitzdXBwb3J0ZWQsIGluY2x1ZGluZyBydG1wOi8vLCBydG1wdDovLywgcnRtcGU6Ly8sIHJ0bXB0ZTovLywgYW5kIHJ0bXBzOi8vLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9ydG1wZHVtcC5tcGxheWVyaHEuaHUvIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorCitERVBFTkRTID0gIm9wZW5zc2wgemxpYiIKKworU1JDUkVWID0gIjMxMjEzMjQwNDZlNGNhMTkzNGU3ZTI4MjkzZmM4MzI2NDc1ZDUwNTMiCitTUkNfVVJJID0gIiBcCisgICAgZ2l0Oi8vZ2l0LmZmbXBlZy5vcmcvcnRtcGR1bXAgXAorICAgIGZpbGU6Ly9maXgtcmFjaW5nLWJ1aWxkLWlzc3VlLnBhdGNoIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworRVhUUkFfT0VNQUtFID0gIiBcCisgICAgQ0M9JyR7Q0N9JyBMRD0nJHtMRH0gJHtTVEFHSU5HX0xJQkRJUn0nIFwKKyAgICBTWVM9cG9zaXggSU5DPS1JPS91c3IvaW5jbHVkZSBERVNURElSPSR7RH0gXAorICAgIHByZWZpeD0ke3ByZWZpeH0gbGliZGlyPSR7bGliZGlyfSBpbmNkaXI9JHtpbmNsdWRlZGlyfS9saWJydG1wIGJpbmRpcj0ke2JpbmRpcn0gbWFuZGlyPSR7bWFuZGlyfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9zYW1wbGUtY29udGVudC9iaWdidWNrYnVubnktMTA4MHAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvc2FtcGxlLWNvbnRlbnQvYmlnYnVja2J1bm55LTEwODBwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5MWJhNDUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvc2FtcGxlLWNvbnRlbnQvYmlnYnVja2J1bm55LTEwODBwLmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiQmlnIEJ1Y2sgQnVubnkgbW92aWUgLSAxMDgwUCIKK0xJQ0VOU0UgPSAiQ0MtQlktMy4wIgorIyBodHRwOi8vd3d3LmJpZ2J1Y2tidW5ueS5vcmcvaW5kZXgucGhwL2Fib3V0LworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMvQ0MtQlktMy4wO21kNT1kZmEwMmI1NzU1NjI5MDIyZTI2N2YxMGI5YzBhMmFiNyIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQuYmxlbmRlci5vcmcvcGVhY2gvYmlnYnVja2J1bm55X21vdmllcy9iaWdfYnVja19idW5ueV8xMDgwcF9zdXJyb3VuZC5hdmkiCitTUkNfVVJJW21kNXN1bV0gPSAiMjIzOTkxYzhiMzM1NjRlYjc3OTg4YTRjMTNjMWM3NmEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjlmZTJjZmU3MTU0YTZlNzUyNjg4ZTNhMGQ3ZDZiMDdiMTYwNWJiYWY3NWI1NmY2NDcwZGM3YjRjMjBjMDZlYSIKKworaW5oZXJpdCBhbGxhcmNoCisKK2RvX2luc3RhbGwoKSB7CisJaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9tb3ZpZXMKKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9iaWdfYnVja19idW5ueV8xMDgwcF9zdXJyb3VuZC5hdmkgJHtEfSR7ZGF0YWRpcn0vbW92aWVzLworfQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9tb3ZpZXMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvc2FtcGxlLWNvbnRlbnQvYmlnYnVja2J1bm55LTQ4MHAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvc2FtcGxlLWNvbnRlbnQvYmlnYnVja2J1bm55LTQ4MHAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTcwMjlkOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9zYW1wbGUtY29udGVudC9iaWdidWNrYnVubnktNDgwcC5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIkJpZyBCdWNrIEJ1bm55IG1vdmllIC0gNDgwUCIKK0xJQ0VOU0UgPSAiQ0MtQlktMy4wIgorIyBodHRwOi8vd3d3LmJpZ2J1Y2tidW5ueS5vcmcvaW5kZXgucGhwL2Fib3V0LworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMvQ0MtQlktMy4wO21kNT1kZmEwMmI1NzU1NjI5MDIyZTI2N2YxMGI5YzBhMmFiNyIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQuYmxlbmRlci5vcmcvcGVhY2gvYmlnYnVja2J1bm55X21vdmllcy9iaWdfYnVja19idW5ueV80ODBwX3N1cnJvdW5kLWZpeC5hdmkiCitTUkNfVVJJW21kNXN1bV0gPSAiZWQ3ZWQwMWU5YWVmYmE4ZGRkNzdjMTMzMzJjZWMxMjAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDBkMWNmNWJjOGUxYjBlNTVkYWM3YmIyZTNmYmMyYWVhMDViNjY3OTQ0NDg2NDc4MTI5OWIyNGRiMDQ0NjM0ZiIKKworaW5oZXJpdCBhbGxhcmNoCisKK2RvX2luc3RhbGwoKSB7CisJaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9tb3ZpZXMKKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9iaWdfYnVja19idW5ueV80ODBwX3N1cnJvdW5kLWZpeC5hdmkgJHtEfSR7ZGF0YWRpcn0vbW92aWVzLworfQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9tb3ZpZXMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvc2FtcGxlLWNvbnRlbnQvYmlnYnVja2J1bm55LTcyMHAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvc2FtcGxlLWNvbnRlbnQvYmlnYnVja2J1bm55LTcyMHAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTVmY2VhYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9zYW1wbGUtY29udGVudC9iaWdidWNrYnVubnktNzIwcC5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIkJpZyBCdWNrIEJ1bm55IG1vdmllIC0gNzIwUCIKK0xJQ0VOU0UgPSAiQ0MtQlktMy4wIgorIyBodHRwOi8vd3d3LmJpZ2J1Y2tidW5ueS5vcmcvaW5kZXgucGhwL2Fib3V0LworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMvQ0MtQlktMy4wO21kNT1kZmEwMmI1NzU1NjI5MDIyZTI2N2YxMGI5YzBhMmFiNyIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQuYmxlbmRlci5vcmcvcGVhY2gvYmlnYnVja2J1bm55X21vdmllcy9iaWdfYnVja19idW5ueV83MjBwX3N1cnJvdW5kLmF2aSIKK1NSQ19VUklbbWQ1c3VtXSA9ICIwZGE4ZmUxMjQ1OTVmNWIyMDZkNjRjYjE0MDBiYmVmYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiOTU3ZDZlNjIxMjYzODQ0MWI1MmQzYjYyMGFmMTU3Y2M4ZDQwYzJhMDM0MjY2OTI5NDg1NGEwNmVkY2Q1MjhjIgorCitpbmhlcml0IGFsbGFyY2gKKworZG9faW5zdGFsbCgpIHsKKwlpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L21vdmllcworCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2JpZ19idWNrX2J1bm55XzcyMHBfc3Vycm91bmQuYXZpICR7RH0ke2RhdGFkaXJ9L21vdmllcy8KK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vbW92aWVzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3NhbXBsZS1jb250ZW50L3RlYXJzb2ZzdGVlbC0xMDgwcC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9zYW1wbGUtY29udGVudC90ZWFyc29mc3RlZWwtMTA4MHAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmI3ZWU3YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9zYW1wbGUtY29udGVudC90ZWFyc29mc3RlZWwtMTA4MHAuYmIKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJUZWFycyBvZiBTdGVlbCBtb3ZpZSAtIDEwODBQIgorTElDRU5TRSA9ICJDQy1CWS0zLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL2ZpbGVzL2NvbW1vbi1saWNlbnNlcy9DQy1CWS0zLjA7bWQ1PWRmYTAyYjU3NTU2MjkwMjJlMjY3ZjEwYjljMGEyYWI3IgorCitTUkNfVVJJID0gImh0dHA6Ly9mdHAubmx1dWcubmwvcHViL2dyYXBoaWNzL2JsZW5kZXIvZGVtby9tb3ZpZXMvVG9TL1RvUy00ay0xOTIwLm1vdiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlM2ZlZTU1YjE3NzljNTUzZTM3YjFkMzk4OGU2ZmFkNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiZDJiNWJjNmMxNmQ0MDg1MDM0ZjQ3ZWY3ZTRiMzkzOGFmZTg2YjRlZWM0YWMzY2YyNjg1MzY3ZDNiMGIyM2IwIgorCitpbmhlcml0IGFsbGFyY2gKKworZG9faW5zdGFsbCgpIHsKKwlpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L21vdmllcworCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L1RvUy00ay0xOTIwLm1vdiAke0R9JHtkYXRhZGlyfS9tb3ZpZXMvCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L21vdmllcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9zY2hyb2VkaW5nZXIvc2Nocm9lZGluZ2VyL2NvbmZpZ3VyZS5hYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9zY2hyb2VkaW5nZXIvc2Nocm9lZGluZ2VyL2NvbmZpZ3VyZS5hYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZWQ4ZDIyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3NjaHJvZWRpbmdlci9zY2hyb2VkaW5nZXIvY29uZmlndXJlLmFjLnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKK1VzZSB0aGUgdmVyc2lvbiBvZiBvcmNjIGluIHRoZSBzeXNyb290IG5vdCB0aGUgb25lIGZyb20gdGhlIGhvc3QKKworU2lnbmVkLW9mZi1ieTogRG9uZ3hpYW8gWHUgPGRvbmd4aWFvLnh1QGludGVsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IFBhdWwgRWdnbGV0b24gPHBhdWwuZWdnbGV0b25AbGludXguaW50ZWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK0luZGV4OiBzY2hyb2VkaW5nZXItMS4wLjkvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gc2Nocm9lZGluZ2VyLTEuMC45Lm9yaWcvY29uZmlndXJlLmFjCisrKysgc2Nocm9lZGluZ2VyLTEuMC45L2NvbmZpZ3VyZS5hYworQEAgLTU0LDcgKzU0LDcgQEAgaWYgdGVzdCAieCR7SEFWRV9PUkN9IiAhPSB4eWVzIDsgdGhlbgorICAgQUNfRVJST1IoW29yYy0wLjQgPj0gJE9SQ19WRVIgaXMgcmVxdWlyZWRdKQorIGZpCisgU0NIUk9fUEtHX0RFUFM9IiRTQ0hST19QS0dfREVQUyBvcmMtMC40ID49ICRPUkNfVkVSIgorLU9SQ0M9YCRQS0dfQ09ORklHIC0tdmFyaWFibGU9b3JjYyBvcmMtMC40YAorK09SQ0M9JFNUQUdJTkdfRElSYCRQS0dfQ09ORklHIC0tdmFyaWFibGU9b3JjYyBvcmMtMC40YAorIEFDX1NVQlNUKE9SQ0MpCisgCisgQUNfQVJHX1dJVEgoW3RocmVhZF0sCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvc2Nocm9lZGluZ2VyL3NjaHJvZWRpbmdlcl8xLjAuMTEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvc2Nocm9lZGluZ2VyL3NjaHJvZWRpbmdlcl8xLjAuMTEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDM4ZWI5NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9zY2hyb2VkaW5nZXIvc2Nocm9lZGluZ2VyXzEuMC4xMS5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gIkRpcmFjIGNvbXByZXNzZWQgdmlkZW8gZW5jb2Rlci9kZWNvZGVyIgorSE9NRVBBR0UgPSAiaHR0cDovL3NjaHJvZGluZ2VyLnNvdXJjZWZvcmdlLm5ldC8iCitMSUNFTlNFID0gIk1QTC0xLjEgfCBHUEx2MiB8IExHUEx2MiB8IE1JVCIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDkxYTQ2NDA1ZmMwNzRiODhjOTYzY2M0ZjJhMGFhZTkgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5HUEw7bWQ1PWUxODFlM2I3YzY2ZjVmOTY5MjFkODEzYzEwNzRmODMzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEdQTDttZDU9MzhjODkzZTIxYmFlYzRjZDc1YWQ4MDBiYTllMjQxMGEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5NSVQ7bWQ1PThiMzQ1MzcxYjM1MzZiNGNlMzdlYWQxZWFmYzg4MjIxIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTVBMO21kNT0wMTE3NjQ3ZmVjYjlhOTMyYzI1YTdiYmZjMDMzM2MzNyIKKworREVQRU5EUyA9ICJsaWJvaWwgb3JjLW5hdGl2ZSBvcmMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5kaXJhY3ZpZGVvLm9yZy9kb3dubG9hZC9zY2hyb2VkaW5nZXIvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS5hYy5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gImRhNmFmMDhlNTY0Y2ExMTU3MzQ4ZmI4ZDkyZWZjODkxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFlNTcyYTA3MzViOTJhY2E1NzQ2YzQ1MjhmOWJlYmQzNWFhMGNjZjg2MTliMjJmYTI3NTYxMzdhOGNjOWY5MTIiCisKK0VYVFJBX09FQ09ORiArPSAiU1RBR0lOR19ESVI9JHtTVEFHSU5HX0RJUl9OQVRJVkV9IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9zb3gvc294XzE0LjQuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9zb3gvc294XzE0LjQuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YjczYWEzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3NveC9zb3hfMTQuNC4wLmJiCkBAIC0wLDAgKzEsMzggQEAKK0RFU0NSSVBUSU9OPSJTb1ggaXMgdGhlIFN3aXNzIEFybXkga25pZmUgb2Ygc291bmQgcHJvY2Vzc2luZyB0b29scy4gXAorSXQgY29udmVydHMgYXVkaW8gZmlsZXMgYW1vbmcgdmFyaW91cyBzdGFuZGFyZCBhdWRpbyBmaWxlIGZvcm1hdHMgXAorYW5kIGNhbiBhcHBseSBkaWZmZXJlbnQgZWZmZWN0cyBhbmQgZmlsdGVycyB0byB0aGUgYXVkaW8gZGF0YS4iCitIT01FUEFHRSA9ICJodHRwOi8vc294LnNvdXJjZWZvcmdlLm5ldCIKK1NFQ1RJT04gPSAiYXVkaW8iCisKK0RFUEVORFMgPSAibGlicG5nIGZmbXBlZyBsaWJzbmRmaWxlMSBsaWJ2b3JiaXMiCisKK1BSID0gInIyIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwdWxzZWF1ZGlvJywgJ3B1bHNlYXVkaW8nLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2Fsc2EnLCAnYWxzYScsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgIG1hZ2ljIFwKKyIKK1BBQ0tBR0VDT05GSUdbcHVsc2VhdWRpb10gPSAiLS13aXRoLXB1bHNlYXVkaW89ZHluLC0td2l0aC1wdWxzZWF1ZGlvPW5vLHB1bHNlYXVkaW8sIgorUEFDS0FHRUNPTkZJR1thbHNhXSA9ICItLXdpdGgtYWxzYT1keW4sLS13aXRoLWFsc2E9bm8sYWxzYS1saWIsIgorUEFDS0FHRUNPTkZJR1t3YXZwYWNrXSA9ICItLXdpdGgtd2F2cGFjaz1keW4sLS13aXRoLXdhdnBhY2s9bm8sd2F2cGFjaywiCitQQUNLQUdFQ09ORklHW2ZsYWNdID0gIi0td2l0aC1mbGFjPWR5biwtLXdpdGgtZmxhYz1ubyxmbGFjLCIKK1BBQ0tBR0VDT05GSUdbYW1yd2JdID0gIi0td2l0aC1hbXJ3Yj1keW4sLS13aXRoLWFtcndiPW5vLG9wZW5jb3JlLWFtciwiCitQQUNLQUdFQ09ORklHW2Ftcm5iXSA9ICItLXdpdGgtYW1ybmI9ZHluLC0td2l0aC1hbXJuYj1ubyxvcGVuY29yZS1hbXIsIgorUEFDS0FHRUNPTkZJR1ttYWdpY10gPSAiLS13aXRoLW1hZ2ljLC0td2l0aG91dC1tYWdpYyxmaWxlLCIKK1BBQ0tBR0VDT05GSUdbbWFkXSA9ICItLXdpdGgtbWFkLC0td2l0aG91dC1tYWQsbGlibWFkLCIKK1BBQ0tBR0VDT05GSUdbaWQzdGFnXSA9ICItLXdpdGgtaWQzdGFnLC0td2l0aG91dC1pZDN0YWcsbGliaWQzdGFnLCIKK1BBQ0tBR0VDT05GSUdbbGFtZV0gPSAiLS13aXRoLWxhbWUsLS13aXRob3V0LWxhbWUsbGFtZSwiCitQQUNLQUdFQ09ORklHW2FvXSA9ICItLXdpdGgtYW8sLS13aXRob3V0LWFvLGxpYmFvLCIKKworTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5HUEw7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0UuTEdQTDttZDU9ZmJjMDkzOTAxODU3ZmNkMTE4ZjA2NWY5MDA5ODJjMjQiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3NveC9zb3gtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImIwYzE1Y2ZmN2E0YmEwZWMxN2ZkYzc0ZTZhMWY5Y2YxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNlZTM0YjE0ZGQyNjdkZTM3OGU4YTExN2FhZTgxZWM0Y2FlMzMwNzcyMzQyZTZhNTViYmY2NTIwYTBhODhhYTMiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL2xpYmR2ZGNzc18xLjMuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvbGliZHZkY3NzXzEuMy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5ZTY0YWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL2xpYmR2ZGNzc18xLjMuMC5iYgpAQCAtMCwwICsxLDEyIEBACitERVNDUklQVElPTiA9ICJsaWJkdmRjc3MgaXMgYSBzaW1wbGUgbGlicmFyeSBkZXNpZ25lZCBmb3IgYWNjZXNzaW5nIERWRHMgbGlrZSBhIGJsb2NrIGRldmljZSB3aXRob3V0IGhhdmluZyB0byBib3RoZXIgYWJvdXQgdGhlIGRlY3J5cHRpb24uIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZC52aWRlb2xhbi5vcmcvcHViL2xpYmR2ZGNzcy8ke1BWfS9saWJkdmRjc3MtJHtQVn0udGFyLmJ6MiIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworRVhUUkFfT0VDT05GID0gIiAtLWRpc2FibGUtZG9jICIKKworU1JDX1VSSVttZDVzdW1dID0gIjdmMGZkYjNmZjkxZDYzOGY1ZTQ1ZWQ3NTM2ZjdlYjY3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdjNDE0YWNkNTIwYzRlNGRkNzI2Nzk1MmY3MmQ3MzhmZjUwMzIxYTc4NjlhZjRkNzVjNjVhZWZhZDQ0ZjEzOTUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODE0MmUxNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLmluYwpAQCAtMCwwICsxLDEwNiBAQAorREVTQ1JJUFRJT04gPSAiVmlkZW8gcGxheWVyIGFuZCBzdHJlYW1lciAtIGRhdmluY2kgZWRpdGlvbiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cudmlkZW9sYW4ub3JnIgorU0VDVElPTiA9ICJtdWx0aW1lZGlhIgorCitMSUNFTlNFID0gIkdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworREVQRU5EUyA9ICJsaWJmcmliaWRpIGxpYnRvb2wgbGliZ2NyeXB0IGxpYmdjcnlwdC1uYXRpdmUgXAorICAgZGJ1cyBkYnVzLWdsaWIgbGlieG1sMiBnbnV0bHMgXAorICAgdHJlbW9yIGZhYWQyIGZmbXBlZyBmbGFjIGZsdWlkc3ludGggYWxzYS1saWIgXAorICAgbHVhLW5hdGl2ZSBsdWEgbGliaWRuIFwKKyAgIGF2YWhpIGpwZWcgeHogbGlibW9kcGx1ZyBtcGVnMmRlYyBcCisgICBsaWJtdHAgbGlib3B1cyBvcmMgbGlic2FtcGxlcmF0ZTAgbGlidXNiMSBzY2hyb2VkaW5nZXIgdGFnbGliIFwKKyAgIHRpZmYiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLnZpZGVvbGFuLm9yZy9wdWIvdmlkZW9sYW4vJHtCUE59LyR7UFZ9LyR7QlB9LnRhci54eiIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKK0FSTV9JTlNUUlVDVElPTl9TRVQgPSAiYXJtIgorCitFWFRSQV9PRUNPTkYgPSAiXAorICAgIC0tZW5hYmxlLXJ1bi1hcy1yb290IFwKKyAgICAtLWVuYWJsZS14dmlkZW8gXCAKKyAgICAtLWRpc2FibGUtc2NyZWVuIC0tZGlzYWJsZS1jYWNhIFwKKyAgICAtLWVuYWJsZS1odHRwZCAtLWVuYWJsZS12bG0gXAorICAgIC0tZW5hYmxlLWZyZWV0eXBlIFwKKyAgICAtLWVuYWJsZS10cmVtb3IgXAorICAgIC0tZW5hYmxlLXY0bDIgLS1kaXNhYmxlLWFhIC0tZGlzYWJsZS1mYWFkIFwKKyAgICAtLWVuYWJsZS1kYnVzIFwKKyAgICAtLXdpdGhvdXQtY29udHJpYiBcCisgICAgLS13aXRob3V0LWtkZS1zb2xpZCBcCisgICAgLS1lbmFibGUtcmVhbHJ0c3AgXAorICAgIC0tZGlzYWJsZS1saWJ0YXIgXAorICAgIGFjX2N2X3BhdGhfTU9DPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9tb2M0IFwKKyAgICBhY19jdl9wYXRoX1JDQz0ke1NUQUdJTkdfQklORElSX05BVElWRX0vcmNjNCBcCisgICAgYWNfY3ZfcGF0aF9VSUM9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3VpYzQgXAorIgorCitQQUNLQUdFQ09ORklHID89ICIgbGl2ZTU1NSBkYzEzOTQgZHYxMzk0IG5vdGlmeSBmb250Y29uZmlnIGZyZWV0eXBlIGR2ZHJlYWQgcG5nICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3gxMSBzZGwnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1ttYWRdID0gIi0tZW5hYmxlLW1hZCwtLWRpc2FibGUtbWFkLGxpYm1hZCIKK1BBQ0tBR0VDT05GSUdbc2RsXSA9ICItLWVuYWJsZS1zZGwsLS1kaXNhYmxlLXNkbCx2aXJ0dWFsL2xpYnNkbCBsaWJzZGwtaW1hZ2UgIgorUEFDS0FHRUNPTkZJR1thNTJdID0gIi0tZW5hYmxlLWE1MiwtLWRpc2FibGUtYTUyLGxpYmE1MiIKK1BBQ0tBR0VDT05GSUdbamFja10gPSAiLS1lbmFibGUtamFjaywtLWRpc2FibGUtamFjayxqYWNrIgorUEFDS0FHRUNPTkZJR1tsaXZlNTU1XSA9ICItLWVuYWJsZS1saXZlNTU1LC0tZGlzYWJsZS1saXZlNTU1LGxpdmU1NTUiCitQQUNLQUdFQ09ORklHW2xpYmFzc10gPSAiLS1lbmFibGUtbGliYXNzLC0tZGlzYWJsZS1saWJhc3MsbGliYXNzIgorUEFDS0FHRUNPTkZJR1tta3ZdID0gIi0tZW5hYmxlLW1rdiwtLWRpc2FibGUtbWt2LGxpYm1hdHJvc2thIGxpYmVibWwiCitQQUNLQUdFQ09ORklHW3Bvc3Rwcm9jXSA9ICItLWVuYWJsZS1wb3N0cHJvYywtLWRpc2FibGUtcG9zdHByb2MsbGlicG9zdHByb2MiCitQQUNLQUdFQ09ORklHW29wZW5jdl0gPSAiLS1lbmFibGUtb3BlbmN2LC0tZGlzYWJsZS1vcGVuY3Ysb3BlbmN2IgorUEFDS0FHRUNPTkZJR1tsaWJ2YV0gPSAiLS1lbmFibGUtbGlidmEgLS1lbmFibGUtYXZjb2RlYywtLWRpc2FibGUtbGlidmEgLS1kaXNhYmxlLWF2Y29kZWMsbGlidmEgbGliYXYiCitQQUNLQUdFQ09ORklHW3NwZWV4XSA9ICItLWVuYWJsZS1zcGVleCwtLWRpc2FibGUtc3BlZXgsc3BlZXgiCitQQUNLQUdFQ09ORklHW2dzdHJlYW1lcl0gPSAiLS1lbmFibGUtZ3N0LWRlY29kZSwtLWRpc2FibGUtZ3N0LWRlY29kZSxnc3RyZWFtZXIxLjAgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSBnc3QtcGx1Z2lucy1iYWQiCitQQUNLQUdFQ09ORklHW3ZweF0gPSAiLS1lbmFibGUtdnB4LC0tZGlzYWJsZS12cHgsIGxpYnZweCIKK1BBQ0tBR0VDT05GSUdbcXQ0XSA9ICItLWVuYWJsZS1xdCwtLWRpc2FibGUtcXQsIHF0NC14MTEtZnJlZSIKK1BBQ0tBR0VDT05GSUdbZnJlZXJkcF0gPSAiLS1lbmFibGUtZnJlZXJkcCwtLWRpc2FibGUtZnJlZXJkcCwgZnJlZXJkcCIKK1BBQ0tBR0VDT05GSUdbZHZicHNpXSA9ICItLWVuYWJsZS1kdmJwc2ksLS1kaXNhYmxlLWR2YnBzaSwgbGliZHZicHNpIgorUEFDS0FHRUNPTkZJR1tnbm9tZS12ZnNdID0gIi0tZW5hYmxlLWdub21ldmZzLC0tZGlzYWJsZS1nbm9tZXZmcywgZ25vbWUtdmZzIgorUEFDS0FHRUNPTkZJR1tzYW1iYV0gPSAiLS1lbmFibGUtc21iY2xpZW50LC0tZGlzYWJsZS1zbWJjbGllbnQsIHNhbWJhIgorUEFDS0FHRUNPTkZJR1t1cG5wXSA9ICItLWVuYWJsZS11cG5wLC0tZGlzYWJsZS11cG5wLGxpYnVwbnAiCitQQUNLQUdFQ09ORklHW2R2ZG5hdl0gPSAiLS1lbmFibGUtZHZkbmF2LC0tZGlzYWJsZS1kdmRuYXYsbGliZHZkbmF2IGxpYmR2ZGNzcyIKK1BBQ0tBR0VDT05GSUdbc2Z0cF0gPSAiLS1lbmFibGUtc2Z0cCwtLWRpc2FibGUtc2Z0cCxsaWJzc2gyIgorUEFDS0FHRUNPTkZJR1t2b3JiaXNdID0gIi0tZW5hYmxlLXZvcmJpcywtLWRpc2FibGUtdm9yYmlzLGxpYnZvcmJpcyBsaWJvZ2ciCitQQUNLQUdFQ09ORklHW29nZ10gPSAiLS1lbmFibGUtb2dnLC0tZGlzYWJsZS1vZ2csbGlidm9yYmlzIGxpYm9nZyIKK1BBQ0tBR0VDT05GSUdbZGMxMzk0XSA9ICItLWVuYWJsZS1kYzEzOTQsLS1kaXNhYmxlLWRjMTM5NCxsaWJkYzEzOTQiCitQQUNLQUdFQ09ORklHW2R2MTM5NF0gPSAiLS1lbmFibGUtZHYxMzk0LC0tZGlzYWJsZS1kdjEzOTQsbGlicmF3MTM5NCBsaWJhdmMxMzk0IgorUEFDS0FHRUNPTkZJR1tzdmddID0gIi0tZW5hYmxlLXN2ZywtLWRpc2FibGUtc3ZnLGxpYnJzdmciCitQQUNLQUdFQ09ORklHW3N2Z2RlY10gPSAiLS1lbmFibGUtc3ZnZGVjLC0tZGlzYWJsZS1zdmdkZWMsbGlicnN2ZyBjYWlybyIKK1BBQ0tBR0VDT05GSUdbbm90aWZ5XSA9ICItLWVuYWJsZS1ub3RpZnksLS1kaXNhYmxlLW5vdGlmeSwgbGlibm90aWZ5IGd0aysiCitQQUNLQUdFQ09ORklHW2ZvbnRjb25maWddID0gIi0tZW5hYmxlLWZvbnRjb25maWcsLS1kaXNhYmxlLWZvbnRjb25maWcsIGZvbnRjb25maWciCitQQUNLQUdFQ09ORklHW2ZyZWV0eXBlXSA9ICItLWVuYWJsZS1mcmVldHlwZSwtLWRpc2FibGUtZnJlZXR5cGUsIGZyZWV0eXBlIgorUEFDS0FHRUNPTkZJR1tkdmRyZWFkXSA9ICItLWVuYWJsZS1kdmRyZWFkLC0tZGlzYWJsZS1kdmRyZWFkLCBsaWJkdmRyZWFkIGxpYmR2ZGNzcyIKK1BBQ0tBR0VDT05GSUdbdm5jXSA9ICItLWVuYWJsZS12bmMsLS1kaXNhYmxlLXZuYywgbGlidm5jc2VydmVyIgorUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0td2l0aC14IC0tZW5hYmxlLXhjYiwtLXdpdGhvdXQteCAtLWRpc2FibGUteGNiLCAgeGNiLXV0aWwta2V5c3ltcyBsaWJ4cG0gbGlieGluZXJhbWEiCitQQUNLQUdFQ09ORklHW3BuZ10gPSAiLS1lbmFibGUtcG5nLC0tZGlzYWJsZS1wbmcsbGlicG5nIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBjcCAke1NUQUdJTkdfREFUQURJUn0vbGlidG9vbC9jb25maWcuKiAke1N9L2F1dG90b29scy8gfHwgdHJ1ZQorfQorCitkb19jb25maWd1cmVfYXBwZW5kKCkgeworICAgIHNlZCAtaSAtZSBzOickKE1PQykgJChERUZTKSAkKENQUEZMQUdTKSc6JyQoTU9DKSAkKERFRlMpJ1wgLUkke0J9L2luY2x1ZGVcIC1EU1lTX0xJTlVYOmcgJHtCfS9tb2R1bGVzL2d1aS9xdDQvTWFrZWZpbGUKKyAgICBzZWQgLWkgLWUgczonJHt0b3BfYnVpbGRkaXJfc2xhc2h9bGlidG9vbCc6JyR7dG9wX2J1aWxkZGlyX3NsYXNofScke1RBUkdFVF9TWVN9LWxpYnRvb2w6ZyAke0J9L2RvbHRsaWJ0b29sCit9CisKKyMgVGhpcyByZWNpcGUgcGFja2FnZXMgdmxjIGFzIGEgbGlicmFyeSBhcyB3ZWxsLCBzbyBxdDQgZGVwZW5kZW5jaWVzCisjIGNhbiBiZSBhdm9pZGVkIHdoZW4gb25seSB0aGUgbGlicmFyeSBpcyBpbnN0YWxsZWQuCitQQUNLQUdFUyA9KyAibGlidmxjIgorCitMRUFEX1NPTkFNRV9saWJ2bGMgPSAibGlidmxjLnNvLjUiCitGSUxFU19saWJ2bGMgPSAiJHtsaWJkaXJ9L2xpYiouc28uKiIKKworRklMRVNfJHtQTn0gKz0gIlwKKyAgICAke2JpbmRpcn0vdmxjIFwKKyAgICAke2RhdGFkaXJ9L2FwcGxpY2F0aW9ucyBcCisgICAgJHtkYXRhZGlyfS92bGMvIFwKKyAgICAke2RhdGFkaXJ9L2ljb25zIFwKKyIKKworRklMRVNfJHtQTn0tZGJnICs9ICJcCisgICAgJHtsaWJkaXJ9L3ZsYy8qLy5kZWJ1ZyBcCisgICAgJHtsaWJkaXJ9L3ZsYy9wbHVnaW5zLyovLmRlYnVnIFwKKyIKKworRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICJcCisgICAgJHtsaWJkaXJ9L3ZsYy9wbHVnaW5zLyovKi5hIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDEtZW5hYmxlLXN1YmRpci1vYmplY3RzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwMS1lbmFibGUtc3ViZGlyLW9iamVjdHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWYwZTcwOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDEtZW5hYmxlLXN1YmRpci1vYmplY3RzLnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKK0luZGV4OiB2bGMtMi4xLjIvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdmxjLTIuMS4yLm9yaWcvY29uZmlndXJlLmFjCisrKysgdmxjLTIuMS4yL2NvbmZpZ3VyZS5hYworQEAgLTI0LDcgKzI0LDcgQEAgQUNfQ0FOT05JQ0FMX0JVSUxECisgQUNfQ0FOT05JQ0FMX0hPU1QKKyBBQ19QUkVTRVJWRV9IRUxQX09SREVSCisgCistQU1fSU5JVF9BVVRPTUFLRSh0YXItdXN0YXIgY29sb3ItdGVzdHMgZm9yZWlnbikKKytBTV9JTklUX0FVVE9NQUtFKHRhci11c3RhciBjb2xvci10ZXN0cyBmb3JlaWduIHN1YmRpci1vYmplY3RzKQorIEFDX0NPTkZJR19IRUFERVJTKFtjb25maWcuaF0pCisgCisgIyBEaXNhYmxlIHdpdGggIi4vY29uZmlndXJlIC0tZGlzYWJsZS1zaWxlbnQtcnVsZXMiIG9yICJtYWtlIFY9MSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDItZ2xpYmMtZG9lcy1ub3QtcHJvdmlkZS1zdHJsY3B5LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwMi1nbGliYy1kb2VzLW5vdC1wcm92aWRlLXN0cmxjcHkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmQyYTQ2ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDItZ2xpYmMtZG9lcy1ub3QtcHJvdmlkZS1zdHJsY3B5LnBhdGNoCkBAIC0wLDAgKzEsMTcgQEAKK0luZGV4OiB2bGMtMi4xLjIvc3JjL2lucHV0L3N1YnRpdGxlcy5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdmxjLTIuMS4yLm9yaWcvc3JjL2lucHV0L3N1YnRpdGxlcy5jCisrKysgdmxjLTIuMS4yL3NyYy9pbnB1dC9zdWJ0aXRsZXMuYworQEAgLTQ0LDYgKzQ0LDEyIEBACisgI2luY2x1ZGUgImlucHV0X2ludGVybmFsLmgiCisgCisgLyoqCisrICogRHJlcHBlcidzIGFsdGVybmF0aXZlIAorKyAqIGh0dHA6Ly9lbi53aWtpYm9va3Mub3JnL3dpa2kvQ19Qcm9ncmFtbWluZy9DX1JlZmVyZW5jZS9ub25zdGFuZGFyZC9zdHJsY3B5CisrICovCisrI2RlZmluZSBzdHJsY3B5KGRzdCwgc3JjLCBuKSAqKChjaGFyKiApIG1lbXBjcHkoZHN0LCBzcmMsIG4pKSA9ICdcMCcKKysKKysvKioKKyAgKiBXZSBhcmUgbm90IGdvaW5nIHRvIGF1dG9kZXRlY3QgbW9yZSBzdWJ0aXRsZSBmaWxlcyB0aGFuIHRoaXMuCisgICovCisgI2RlZmluZSBNQVhfU1VCVElUTEVfRklMRVMgMTI4CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDAzLXVzZS1hbS1wYXRoLWxpYmdjcnlwdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDMtdXNlLWFtLXBhdGgtbGliZ2NyeXB0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlODgxZDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDAzLXVzZS1hbS1wYXRoLWxpYmdjcnlwdC5wYXRjaApAQCAtMCwwICsxLDQ2IEBACisqIFRoZSB1cHN0cmVhbSB0ZXN0cyBmb3IgbGliZ2NyeXB0IGFyZSBhd2t3YXJkIGFuZCBub3Qgd29ya2luZy4KKyAgLSBSZXF1aXJlcyBsaWJnY3J5cHQtY29uZmlnLCB3aGljaCBzZWVtcyBicm9rZW4/CisqIEFNX1BBVEhfTElCR0NSWVBUIGV4aXN0cyBmb3IgYSByZWFzb24sIHdoeSBub3QgdXNlIGl0PyBLSVNTLgorKiBVcHN0cmVhbSBhYmFuZG9uZWQgQU1fUEFUSF9MSUJHQ1JZUFQgaW4gdGhlIHBhc3QuLi5uZXdlciBhdXRvbWFrZSBvaz8KKworVXBzdHJlYW0gc3RhdHVzOiBQZW5kaW5nCisKK0luZGV4OiB2bGMtMi4yLjEvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdmxjLTIuMi4xLm9yaWcvY29uZmlndXJlLmFjCisrKysgdmxjLTIuMi4xL2NvbmZpZ3VyZS5hYworQEAgLTQwMTcsMjUgKzQwMTcsMTkgQEAgUEtHX0VOQUJMRV9NT0RVTEVTX1ZMQyhbTElCWE1MMl0sIFt4bWxdLAorIGRubAorIGRubCBsaWJnY3J5cHQKKyBkbmwKKytHQ1JZUFRfTElCVkVSPTEKKytHQ1JZUFRfUkVRPTEuMS45NAorIEFDX0FSR19FTkFCTEUobGliZ2NyeXB0LAorICAgWyAgLS1kaXNhYmxlLWxpYmdjcnlwdCAgICAgZ2NyeXB0IHN1cHBvcnQgKGRlZmF1bHQgZW5hYmxlZCldKQorIEFTX0lGKFt0ZXN0ICIke2VuYWJsZV9saWJnY3J5cHR9IiAhPSAibm8iXSwgWworLSAgQUNfQ0hFQ0tfREVDTChbR0NSWUNUTF9TRVRfVEhSRUFEX0NCU10sIFsKKy0gICAgbGliZ2NyeXB0LWNvbmZpZyAtLXZlcnNpb24gPi9kZXYvbnVsbCB8fCBcCistICAgICAgICBBQ19NU0dfRVJST1IoW2djcnlwdC5oIHByZXNlbnQgYnV0IGxpYmdjcnlwdC1jb25maWcgY291bGQgbm90IGJlIGZvdW5kXSkKKy0gICAgQUNfQ0hFQ0tfTElCKGdjcnlwdCwgZ2NyeV9jb250cm9sLCBbCistICAgICAgaGF2ZV9saWJnY3J5cHQ9InllcyIKKy0gICAgICBHQ1JZUFRfQ0ZMQUdTPSJgbGliZ2NyeXB0LWNvbmZpZyAtLWNmbGFnc2AiCistICAgICAgR0NSWVBUX0xJQlM9ImBsaWJnY3J5cHQtY29uZmlnIC0tbGlic2AiCistICAgIF0sIFsKKy0gICAgICBBQ19NU0dfRVJST1IoW2xpYmdjcnlwdCBub3QgZm91bmQuIEluc3RhbGwgbGliZ2NyeXB0IG9yIHBhc3MgLS1kaXNhYmxlLWxpYmdjcnlwdC5dKQorLSAgICBdLCBbYGxpYmdjcnlwdC1jb25maWcgLS1saWJzYF0pCistICBdLCBbCistICAgIEFDX01TR19FUlJPUihbbGliZ2NyeXB0IHZlcnNpb24gMS4xLjk0IG9yIGhpZ2hlciBub3QgZm91bmQuIEluc3RhbGwgbGliZ2NyeXB0IG9yIHBhc3MgLS1kaXNhYmxlLWxpYmdjcnlwdC5dKQorLSAgXSwgWyNpbmNsdWRlIDxnY3J5cHQuaD5dCistICApCisrICAgICAgQU1fUEFUSF9MSUJHQ1JZUFQoJEdDUllQVF9MSUJWRVI6JEdDUllQVF9SRVEsCisrICAgICAgWworKyAgICAgICAgICBHQ1JZUFRfQ0ZMQUdTPSIkTElCR0NSWVBUX0NGTEFHUyIKKysgICAgICAgICAgR0NSWVBUX0xJQlM9IiRMSUJHQ1JZUFRfTElCUyIKKysgICAgICBdLFsKKysgICAgICAgICAgQUNfTVNHX0VSUk9SKFtsaWJnY3J5cHQgdmVyc2lvbiAxLjEuOTQgb3IgaGlnaGVyIG5vdCBmb3VuZC4gSW5zdGFsbCBsaWJnY3J5cHQgb3IgdXNlIC0tZGlzYWJsZS1saWJnY3J5cHQuIEhhdmUgYSBuaWNlIGRheS5dKQorKyAgICAgIF0pCisgXSkKKy0KKyBBQ19TVUJTVChHQ1JZUFRfQ0ZMQUdTKQorIEFDX1NVQlNUKEdDUllQVF9MSUJTKQorIEFNX0NPTkRJVElPTkFMKFtIQVZFX0dDUllQVF0sIFt0ZXN0ICIke2hhdmVfbGliZ2NyeXB0fSIgPSAieWVzIl0pCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDA0LW1vZHVsZXMtZ3VpLXF0NC1vdXQtb2YtdHJlZS1idWlsZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDQtbW9kdWxlcy1ndWktcXQ0LW91dC1vZi10cmVlLWJ1aWxkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzZGYxYzYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDA0LW1vZHVsZXMtZ3VpLXF0NC1vdXQtb2YtdHJlZS1idWlsZC5wYXRjaApAQCAtMCwwICsxLDE5IEBACisqIG1vZHVsZXMvZ3VpL3F0NC9NYWtlZmlsZS5hbSBub3QgQiE9UyBmcmllbmRseQorKiBTaW1wbGUgc29sdXRpb24gdG8gbWlzc2luZyBkaXJlY3RvcmllcyBpbiAke0J9CisKK1Vwc3RyZWFtIHN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBUaW0gT3JsaW5nIDxUaWNvVGltb0BnbWFpbC5jb20+CisKK0luZGV4OiB2bGMtMi4yLjEvbW9kdWxlcy9ndWkvcXQ0L01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdmxjLTIuMi4xLm9yaWcvbW9kdWxlcy9ndWkvcXQ0L01ha2VmaWxlLmFtCisrKysgdmxjLTIuMi4xL21vZHVsZXMvZ3VpL3F0NC9NYWtlZmlsZS5hbQorQEAgLTEyNyw2ICsxMjcsNyBAQCBtb2NfdmVyYm9zZV8wID0gQGVjaG8gIiAgTU9DICAgIiAkQDsKKyBtb2NfdmVyYm9zZV9fMCA9ICQobW9jX3ZlcmJvc2VfMCkKKyAKKyAuaHBwLm1vYy5jcHA6CisrCVsgLWQgJChkaXIgJEApIF0gfHwgbWtkaXIgLXAgJChkaXIgJEApCisgCSQobW9jX3ZlcmJvc2UpJChNT0MpICQoTU9DX0NQUEZMQUdTKSAtbyAkQCAkPAorIAorICMgVGhlc2UgTU9DIGZpbGVzIGRlcGVuZCBvbiB0aGUgY29uZmlndXJlIHNldHRpbmdzOgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwNS1saWJwb3N0cHJvYy1oZWFkZXItY2hlY2sucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDA1LWxpYnBvc3Rwcm9jLWhlYWRlci1jaGVjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZDg0ZmZkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwNS1saWJwb3N0cHJvYy1oZWFkZXItY2hlY2sucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorKiBBbHNvIGxvb2sgZm9yIHBvc3Rwcm9jZXNzLmggdW5kZXIgbGlicG9zdHByb2MvCisKK1Vwc3RyZWFtLXN0YXR1czogUGVuZGluZworCitJbmRleDogdmxjLTIuMS40L2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHZsYy0yLjEuNC5vcmlnL2NvbmZpZ3VyZS5hYworKysrIHZsYy0yLjEuNC9jb25maWd1cmUuYWMKK0BAIC0yNDQ0LDcgKzI0NDQsNyBAQCB0aGVuCisgICAgICAgVkxDX1NBVkVfRkxBR1MKKyAgICAgICBDUFBGTEFHUz0iJHtDUFBGTEFHU30gJHtQT1NUUFJPQ19DRkxBR1N9IgorICAgICAgIENGTEFHUz0iJHtDRkxBR1N9ICR7UE9TVFBST0NfQ0ZMQUdTfSIKKy0gICAgICBBQ19DSEVDS19IRUFERVJTKHBvc3Rwcm9jL3Bvc3Rwcm9jZXNzLmgpCisrICAgICAgQUNfQ0hFQ0tfSEVBREVSUyhwb3N0cHJvYy9wb3N0cHJvY2Vzcy5oLFtdLFtBQ19DSEVDS19IRUFERVJTKGxpYnBvc3Rwcm9jL3Bvc3Rwcm9jZXNzLmgpXSkKKyAgICAgICBWTENfQUREX1BMVUdJTihbcG9zdHByb2NdKQorICAgICAgIFZMQ19BRERfTElCUyhbcG9zdHByb2NdLFskUE9TVFBST0NfTElCUyAkQVZVVElMX0xJQlNdKQorICAgICAgIFZMQ19BRERfQ0ZMQUdTKFtwb3N0cHJvY10sWyRQT1NUUFJPQ19DRkxBR1MgJEFWVVRJTF9DRkxBR1NdKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwNi1tYWtlLW9wZW5jdi1jb25maWd1cmFibGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDA2LW1ha2Utb3BlbmN2LWNvbmZpZ3VyYWJsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NTBjMDliCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwNi1tYWtlLW9wZW5jdi1jb25maWd1cmFibGUucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorUmVjZW50IG9wZW5jdiBBUEkgY2hhbmdlcyBicmVhayB1cHN0cmVhbSBmaWx0ZXIgYW5kIGV4YW1wbGUuCitNYWtlIG9wZW5jdiBleHBsaWNpdGx5IGNvbmZpZ3VyYWJsZS4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitTaWduZWQtb2ZmLWJ5OiBUaW0gT3JsaW5nIDxUaWNvVGltb0BnbWFpbC5jb20+CisKK0luZGV4OiB2bGMtMi4xLjQvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdmxjLTIuMS40Lm9yaWcvY29uZmlndXJlLmFjCisrKysgdmxjLTIuMS40L2NvbmZpZ3VyZS5hYworQEAgLTE2OTMsNyArMTY5MywxNiBAQCBQS0dfRU5BQkxFX01PRFVMRVNfVkxDKFtCTFVSQVldLCBbbGliYmx1CisgZG5sCisgZG5sICBPcGVuQ1Ygd3JhcHBlciBhbmQgZXhhbXBsZSBmaWx0ZXJzCisgZG5sCistUEtHX0VOQUJMRV9NT0RVTEVTX1ZMQyhbT1BFTkNWXSwgW29wZW5jdl9leGFtcGxlIG9wZW5jdl93cmFwcGVyXSwgW29wZW5jdiA+IDIuMF0sIChPcGVuQ1YgKGNvbXB1dGVyIHZpc2lvbikgZmlsdGVyKSwgW2F1dG9dKQorK0FDX0FSR19FTkFCTEUob3BlbmN2LAorKyAgW0FTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtb3BlbmN2XSwKKysgICAgW2Rpc2FibGUgT3BlbkNWIGNvbXB1dGVyIHZpc2lvbiBmaWx0ZXIgYW5kIGV4YW1wbGUgKGRlZmF1bHQgYXV0byldKV0pCisraWYgdGVzdCAiJHtlbmFibGVfb3BlbmN2fSIgIT0gIm5vIgorK3RoZW4KKysgICAgUEtHX0VOQUJMRV9NT0RVTEVTX1ZMQyhbT1BFTkNWXSwgCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgW29wZW5jdl9leGFtcGxlIG9wZW5jdl93cmFwcGVyXSwgCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgW29wZW5jdiA+IDIuMF0sIAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChPcGVuQ1YgKGNvbXB1dGVyIHZpc2lvbikgZmlsdGVyKSwgW2F1dG9dKQorK2ZpCisgCisgCisgZG5sCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDA3LXVzZS12b3JiaXNpZGVjLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwNy11c2Utdm9yYmlzaWRlYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMDVjZjAyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwNy11c2Utdm9yYmlzaWRlYy5wYXRjaApAQCAtMCwwICsxLDE5IEBACisqIHRyZW1vciBwcm92aWRlcyBsaWJ2b3JiaXNpZGVjLCB1c2UgaXQgaW5zdGVhZCBvZiBsaWJ2b3JiaXNkZWMKKworVXBzdHJlYW0tc3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFRpbSBPcmxpbmcgPFRpY29UaW1vQGdtYWlsLmNvbT4KKworSW5kZXg6IHZsYy0yLjIuMS9tb2R1bGVzL2NvZGVjL01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdmxjLTIuMi4xLm9yaWcvbW9kdWxlcy9jb2RlYy9NYWtlZmlsZS5hbQorKysrIHZsYy0yLjIuMS9tb2R1bGVzL2NvZGVjL01ha2VmaWxlLmFtCitAQCAtMjM0LDcgKzIzNCw3IEBAIGNvZGVjX0xUTElCUkFSSUVTICs9ICQoTFRMSUJ0aGVvcmEpCisgbGlidHJlbW9yX3BsdWdpbl9sYV9TT1VSQ0VTID0gY29kZWMvdm9yYmlzLmMKKyBsaWJ0cmVtb3JfcGx1Z2luX2xhX0NQUEZMQUdTID0gJChBTV9DUFBGTEFHUykgLURNT0RVTEVfTkFNRV9JU190cmVtb3IKKyBsaWJ0cmVtb3JfcGx1Z2luX2xhX0xERkxBR1MgPSAkKEFNX0xERkxBR1MpIC1ycGF0aCAnJChjb2RlY2RpciknCistbGlidHJlbW9yX3BsdWdpbl9sYV9MSUJBREQgPSAtbHZvcmJpc2RlYyAtbG9nZworK2xpYnRyZW1vcl9wbHVnaW5fbGFfTElCQUREID0gLWx2b3JiaXNpZGVjIC1sb2dnCisgRVhUUkFfTFRMSUJSQVJJRVMgKz0gbGlidHJlbW9yX3BsdWdpbi5sYQorIGNvZGVjX0xUTElCUkFSSUVTICs9ICQoTFRMSUJ0cmVtb3IpCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDA4LWZpeC1sdWFMLWNoZWNraW50LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwOC1maXgtbHVhTC1jaGVja2ludC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNDVlMWFiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwOC1maXgtbHVhTC1jaGVja2ludC5wYXRjaApAQCAtMCwwICsxLDI3OSBAQAorKiBsdWFMX2NoZWNraW50IGFuZCBsdWFMX29wdGludCB3ZXJlIGRlcHJlY2F0ZWQgaW4gbHVhIDUuMworKiByZXBsYWNlbWVudCBmdW5jdGlvbnMgYXJlIGx1YUxfY2hlY2tpbnRlZ2VyIGFuZCBsdWFMX29wdGludGVnZXIKKworVXBzdHJlYW0tc3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFRpbSBPcmxpbmcgPFRpY29UaW1vQGdtYWlsLmNvbT4KKworSW5kZXg6IHZsYy0yLjIuMS9tb2R1bGVzL2x1YS9kZW11eC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdmxjLTIuMi4xLm9yaWcvbW9kdWxlcy9sdWEvZGVtdXguYworKysrIHZsYy0yLjIuMS9tb2R1bGVzL2x1YS9kZW11eC5jCitAQCAtNTIsNyArNTIsNyBAQCBzdHJ1Y3QgZGVtdXhfc3lzX3QKKyBzdGF0aWMgaW50IHZsY2x1YV9kZW11eF9wZWVrKCBsdWFfU3RhdGUgKkwgKQorIHsKKyAgICAgZGVtdXhfdCAqcF9kZW11eCA9IChkZW11eF90ICopdmxjbHVhX2dldF90aGlzKCBMICk7CistICAgIGludCBuID0gbHVhTF9jaGVja2ludCggTCwgMSApOworKyAgICBpbnQgbiA9IGx1YUxfY2hlY2tpbnRlZ2VyKCBMLCAxICk7CisgICAgIGNvbnN0IHVpbnQ4X3QgKnBfcGVlazsKKyAKKyAgICAgaW50IGlfcGVlayA9IHN0cmVhbV9QZWVrKCBwX2RlbXV4LT5zLCAmcF9wZWVrLCBuICk7CitAQCAtNjcsNyArNjcsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9kZW11eF9yZWFkKCBsdWFfU3RhdGUKKyB7CisgICAgIGRlbXV4X3QgKnBfZGVtdXggPSAoZGVtdXhfdCAqKXZsY2x1YV9nZXRfdGhpcyggTCApOworICAgICBjb25zdCB1aW50OF90ICpwX3JlYWQ7CistICAgIGludCBuID0gbHVhTF9jaGVja2ludCggTCwgMSApOworKyAgICBpbnQgbiA9IGx1YUxfY2hlY2tpbnRlZ2VyKCBMLCAxICk7CisgICAgIGludCBpX3JlYWQgPSBzdHJlYW1fUGVlayggcF9kZW11eC0+cywgJnBfcmVhZCwgbiApOworIAorICAgICBpZiggaV9yZWFkID4gMCApCitJbmRleDogdmxjLTIuMi4xL21vZHVsZXMvbHVhL2xpYnMvY29uZmlndXJhdGlvbi5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdmxjLTIuMi4xLm9yaWcvbW9kdWxlcy9sdWEvbGlicy9jb25maWd1cmF0aW9uLmMKKysrKyB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy9jb25maWd1cmF0aW9uLmMKK0BAIC04NCw3ICs4NCw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX2NvbmZpZ19zZXQoIGx1YV9TdGF0ZQorICAgICAgICAgICAgIGJyZWFrOworIAorICAgICAgICAgY2FzZSBWTENfVkFSX0lOVEVHRVI6CistICAgICAgICAgICAgY29uZmlnX1B1dEludCggcF90aGlzLCBwc3pfbmFtZSwgbHVhTF9jaGVja2ludCggTCwgMiApICk7CisrICAgICAgICAgICAgY29uZmlnX1B1dEludCggcF90aGlzLCBwc3pfbmFtZSwgbHVhTF9jaGVja2ludGVnZXIoIEwsIDIgKSApOworICAgICAgICAgICAgIGJyZWFrOworIAorICAgICAgICAgY2FzZSBWTENfVkFSX0JPT0w6CitJbmRleDogdmxjLTIuMi4xL21vZHVsZXMvbHVhL2xpYnMvbmV0LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB2bGMtMi4yLjEub3JpZy9tb2R1bGVzL2x1YS9saWJzL25ldC5jCisrKysgdmxjLTIuMi4xL21vZHVsZXMvbHVhL2xpYnMvbmV0LmMKK0BAIC0yMDIsNyArMjAyLDcgQEAgc3RhdGljIGludCB2bGNsdWFfbmV0X2xpc3Rlbl90Y3AoIGx1YV9TdAorIHsKKyAgICAgdmxjX29iamVjdF90ICpwX3RoaXMgPSB2bGNsdWFfZ2V0X3RoaXMoIEwgKTsKKyAgICAgY29uc3QgY2hhciAqcHN6X2hvc3QgPSBsdWFMX2NoZWNrc3RyaW5nKCBMLCAxICk7CistICAgIGludCBpX3BvcnQgPSBsdWFMX2NoZWNraW50KCBMLCAyICk7CisrICAgIGludCBpX3BvcnQgPSBsdWFMX2NoZWNraW50ZWdlciggTCwgMiApOworICAgICBpbnQgKnBpX2ZkID0gbmV0X0xpc3RlblRDUCggcF90aGlzLCBwc3pfaG9zdCwgaV9wb3J0ICk7CisgICAgIGlmKCBwaV9mZCA9PSBOVUxMICkKKyAgICAgICAgIHJldHVybiBsdWFMX2Vycm9yKCBMLCAiQ2Fubm90IGxpc3RlbiBvbiAlczolZCIsIHBzel9ob3N0LCBpX3BvcnQgKTsKK0BAIC0yNzQsNyArMjc0LDcgQEAgc3RhdGljIGludCB2bGNsdWFfbmV0X2Nvbm5lY3RfdGNwKCBsdWFfUworIHsKKyAgICAgdmxjX29iamVjdF90ICpwX3RoaXMgPSB2bGNsdWFfZ2V0X3RoaXMoIEwgKTsKKyAgICAgY29uc3QgY2hhciAqcHN6X2hvc3QgPSBsdWFMX2NoZWNrc3RyaW5nKCBMLCAxICk7CistICAgIGludCBpX3BvcnQgPSBsdWFMX2NoZWNraW50KCBMLCAyICk7CisrICAgIGludCBpX3BvcnQgPSBsdWFMX2NoZWNraW50ZWdlciggTCwgMiApOworICAgICBpbnQgaV9mZCA9IG5ldF9Db25uZWN0KCBwX3RoaXMsIHBzel9ob3N0LCBpX3BvcnQsIFNPQ0tfU1RSRUFNLCBJUFBST1RPX1RDUCApOworICAgICBsdWFfcHVzaGludGVnZXIoIEwsIHZsY2x1YV9mZF9tYXBfc2FmZSggTCwgaV9mZCApICk7CisgICAgIHJldHVybiAxOworQEAgLTI4MiwyNiArMjgyLDI2IEBAIHN0YXRpYyBpbnQgdmxjbHVhX25ldF9jb25uZWN0X3RjcCggbHVhX1MKKyAKKyBzdGF0aWMgaW50IHZsY2x1YV9uZXRfY2xvc2UoIGx1YV9TdGF0ZSAqTCApCisgeworLSAgICBpbnQgaV9mZCA9IGx1YUxfY2hlY2tpbnQoIEwsIDEgKTsKKysgICAgaW50IGlfZmQgPSBsdWFMX2NoZWNraW50ZWdlciggTCwgMSApOworICAgICB2bGNsdWFfZmRfdW5tYXBfc2FmZSggTCwgaV9mZCApOworICAgICByZXR1cm4gMDsKKyB9CisgCisgc3RhdGljIGludCB2bGNsdWFfbmV0X3NlbmQoIGx1YV9TdGF0ZSAqTCApCisgeworLSAgICBpbnQgZmQgPSB2bGNsdWFfZmRfZ2V0KCBMLCBsdWFMX2NoZWNraW50KCBMLCAxICkgKTsKKysgICAgaW50IGZkID0gdmxjbHVhX2ZkX2dldCggTCwgbHVhTF9jaGVja2ludGVnZXIoIEwsIDEgKSApOworICAgICBzaXplX3QgaV9sZW47CisgICAgIGNvbnN0IGNoYXIgKnBzel9idWZmZXIgPSBsdWFMX2NoZWNrbHN0cmluZyggTCwgMiwgJmlfbGVuICk7CisgCistICAgIGlfbGVuID0gbHVhTF9vcHRpbnQoIEwsIDMsIGlfbGVuICk7CisrICAgIGlfbGVuID0gbHVhTF9vcHRpbnRlZ2VyKCBMLCAzLCBpX2xlbiApOworICAgICBsdWFfcHVzaGludGVnZXIoIEwsIChmZCAhPSAtMSkgPyBzZW5kKCBmZCwgcHN6X2J1ZmZlciwgaV9sZW4sIDAgKSA6IC0xICk7CisgICAgIHJldHVybiAxOworIH0KKyAKKyBzdGF0aWMgaW50IHZsY2x1YV9uZXRfcmVjdiggbHVhX1N0YXRlICpMICkKKyB7CistICAgIGludCBmZCA9IHZsY2x1YV9mZF9nZXQoIEwsIGx1YUxfY2hlY2tpbnQoIEwsIDEgKSApOworLSAgICBzaXplX3QgaV9sZW4gPSBsdWFMX29wdGludCggTCwgMiwgMSApOworKyAgICBpbnQgZmQgPSB2bGNsdWFfZmRfZ2V0KCBMLCBsdWFMX2NoZWNraW50ZWdlciggTCwgMSApICk7CisrICAgIHNpemVfdCBpX2xlbiA9IGx1YUxfb3B0aW50ZWdlciggTCwgMiwgMSApOworICAgICBjaGFyIHBzel9idWZmZXJbaV9sZW5dOworIAorICAgICBzc2l6ZV90IGlfcmV0ID0gKGZkICE9IC0xKSA/IHJlY3YoIGZkLCBwc3pfYnVmZmVyLCBpX2xlbiwgMCApIDogLTE7CitAQCAtMzgyLDE5ICszODIsMTkgQEAgc3RhdGljIGludCB2bGNsdWFfZmRfb3BlbiggbHVhX1N0YXRlICpMCisgI2lmbmRlZiBfV0lOMzIKKyBzdGF0aWMgaW50IHZsY2x1YV9mZF93cml0ZSggbHVhX1N0YXRlICpMICkKKyB7CistICAgIGludCBmZCA9IHZsY2x1YV9mZF9nZXQoIEwsIGx1YUxfY2hlY2tpbnQoIEwsIDEgKSApOworKyAgICBpbnQgZmQgPSB2bGNsdWFfZmRfZ2V0KCBMLCBsdWFMX2NoZWNraW50ZWdlciggTCwgMSApICk7CisgICAgIHNpemVfdCBpX2xlbjsKKyAgICAgY29uc3QgY2hhciAqcHN6X2J1ZmZlciA9IGx1YUxfY2hlY2tsc3RyaW5nKCBMLCAyLCAmaV9sZW4gKTsKKyAKKy0gICAgaV9sZW4gPSBsdWFMX29wdGludCggTCwgMywgaV9sZW4gKTsKKysgICAgaV9sZW4gPSBsdWFMX29wdGludGVnZXIoIEwsIDMsIGlfbGVuICk7CisgICAgIGx1YV9wdXNoaW50ZWdlciggTCwgKGZkICE9IC0xKSA/IHdyaXRlKCBmZCwgcHN6X2J1ZmZlciwgaV9sZW4gKSA6IC0xICk7CisgICAgIHJldHVybiAxOworIH0KKyAKKyBzdGF0aWMgaW50IHZsY2x1YV9mZF9yZWFkKCBsdWFfU3RhdGUgKkwgKQorIHsKKy0gICAgaW50IGZkID0gdmxjbHVhX2ZkX2dldCggTCwgbHVhTF9jaGVja2ludCggTCwgMSApICk7CistICAgIHNpemVfdCBpX2xlbiA9IGx1YUxfb3B0aW50KCBMLCAyLCAxICk7CisrICAgIGludCBmZCA9IHZsY2x1YV9mZF9nZXQoIEwsIGx1YUxfY2hlY2tpbnRlZ2VyKCBMLCAxICkgKTsKKysgICAgc2l6ZV90IGlfbGVuID0gbHVhTF9vcHRpbnRlZ2VyKCBMLCAyLCAxICk7CisgICAgIGNoYXIgcHN6X2J1ZmZlcltpX2xlbl07CisgCisgICAgIHNzaXplX3QgaV9yZXQgPSAoZmQgIT0gLTEpID8gcmVhZCggZmQsIHBzel9idWZmZXIsIGlfbGVuICkgOiAtMTsKK0luZGV4OiB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy9vc2QuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHZsYy0yLjIuMS5vcmlnL21vZHVsZXMvbHVhL2xpYnMvb3NkLmMKKysrKyB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy9vc2QuYworQEAgLTY3LDcgKzY3LDcgQEAgc3RhdGljIGludCB2bGNsdWFfb3NkX2ljb24oIGx1YV9TdGF0ZSAqTAorIHsKKyAgICAgY29uc3QgY2hhciAqcHN6X2ljb24gPSBsdWFMX2NoZWNrc3RyaW5nKCBMLCAxICk7CisgICAgIGludCBpX2ljb24gPSB2bGNfb3NkX2ljb25fZnJvbV9zdHJpbmcoIHBzel9pY29uICk7CistICAgIGludCBpX2NoYW4gPSBsdWFMX29wdGludCggTCwgMiwgU1BVX0RFRkFVTFRfQ0hBTk5FTCApOworKyAgICBpbnQgaV9jaGFuID0gbHVhTF9vcHRpbnRlZ2VyKCBMLCAyLCBTUFVfREVGQVVMVF9DSEFOTkVMICk7CisgICAgIGlmKCAhaV9pY29uICkKKyAgICAgICAgIHJldHVybiBsdWFMX2Vycm9yKCBMLCAiXCIlc1wiIGlzIG5vdCBhIHZhbGlkIG9zZCBpY29uLiIsIHBzel9pY29uICk7CisgCitAQCAtMTE0LDkgKzExNCw5IEBAIHN0YXRpYyBpbnQgdmxjX29zZF9wb3NpdGlvbl9mcm9tX3N0cmluZygKKyBzdGF0aWMgaW50IHZsY2x1YV9vc2RfbWVzc2FnZSggbHVhX1N0YXRlICpMICkKKyB7CisgICAgIGNvbnN0IGNoYXIgKnBzel9tZXNzYWdlID0gbHVhTF9jaGVja3N0cmluZyggTCwgMSApOworLSAgICBpbnQgaV9jaGFuID0gbHVhTF9vcHRpbnQoIEwsIDIsIFNQVV9ERUZBVUxUX0NIQU5ORUwgKTsKKysgICAgaW50IGlfY2hhbiA9IGx1YUxfb3B0aW50ZWdlciggTCwgMiwgU1BVX0RFRkFVTFRfQ0hBTk5FTCApOworICAgICBjb25zdCBjaGFyICpwc3pfcG9zaXRpb24gPSBsdWFMX29wdHN0cmluZyggTCwgMywgInRvcC1yaWdodCIgKTsKKy0gICAgbXRpbWVfdCBkdXJhdGlvbiA9IGx1YUxfb3B0aW50KCBMLCA0LCAxMDAwMDAwICk7CisrICAgIG10aW1lX3QgZHVyYXRpb24gPSBsdWFMX29wdGludGVnZXIoIEwsIDQsIDEwMDAwMDAgKTsKKyAKKyAgICAgaW5wdXRfdGhyZWFkX3QgKnBfaW5wdXQgPSB2bGNsdWFfZ2V0X2lucHV0X2ludGVybmFsKCBMICk7CisgICAgIGlmKCBwX2lucHV0ICkKK0BAIC0xNTQsMTAgKzE1NCwxMCBAQCBzdGF0aWMgaW50IHZsY19vc2Rfc2xpZGVyX3R5cGVfZnJvbV9zdHJpCisgCisgc3RhdGljIGludCB2bGNsdWFfb3NkX3NsaWRlciggbHVhX1N0YXRlICpMICkKKyB7CistICAgIGludCBpX3Bvc2l0aW9uID0gbHVhTF9jaGVja2ludCggTCwgMSApOworKyAgICBpbnQgaV9wb3NpdGlvbiA9IGx1YUxfY2hlY2tpbnRlZ2VyKCBMLCAxICk7CisgICAgIGNvbnN0IGNoYXIgKnBzel90eXBlID0gbHVhTF9jaGVja3N0cmluZyggTCwgMiApOworICAgICBpbnQgaV90eXBlID0gdmxjX29zZF9zbGlkZXJfdHlwZV9mcm9tX3N0cmluZyggcHN6X3R5cGUgKTsKKy0gICAgaW50IGlfY2hhbiA9IGx1YUxfb3B0aW50KCBMLCAzLCBTUFVfREVGQVVMVF9DSEFOTkVMICk7CisrICAgIGludCBpX2NoYW4gPSBsdWFMX29wdGludGVnZXIoIEwsIDMsIFNQVV9ERUZBVUxUX0NIQU5ORUwgKTsKKyAgICAgaWYoICFpX3R5cGUgKQorICAgICAgICAgcmV0dXJuIGx1YUxfZXJyb3IoIEwsICJcIiVzXCIgaXMgbm90IGEgdmFsaWQgc2xpZGVyIHR5cGUuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwc3pfdHlwZSApOworQEAgLTE5OCw3ICsxOTgsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9zcHVfY2hhbm5lbF9yZWdpc3RlcigKKyAKKyBzdGF0aWMgaW50IHZsY2x1YV9zcHVfY2hhbm5lbF9jbGVhciggbHVhX1N0YXRlICpMICkKKyB7CistICAgIGludCBpX2NoYW4gPSBsdWFMX2NoZWNraW50KCBMLCAxICk7CisrICAgIGludCBpX2NoYW4gPSBsdWFMX2NoZWNraW50ZWdlciggTCwgMSApOworICAgICBpbnB1dF90aHJlYWRfdCAqcF9pbnB1dCA9IHZsY2x1YV9nZXRfaW5wdXRfaW50ZXJuYWwoIEwgKTsKKyAgICAgaWYoICFwX2lucHV0ICkKKyAgICAgICAgIHJldHVybiBsdWFMX2Vycm9yKCBMLCAiVW5hYmxlIHRvIGZpbmQgaW5wdXQuIiApOworSW5kZXg6IHZsYy0yLjIuMS9tb2R1bGVzL2x1YS9saWJzL3BsYXlsaXN0LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB2bGMtMi4yLjEub3JpZy9tb2R1bGVzL2x1YS9saWJzL3BsYXlsaXN0LmMKKysrKyB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy9wbGF5bGlzdC5jCitAQCAtNjksNyArNjksNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9wbGF5bGlzdF9uZXh0KCBsdWFfU3RhCisgCisgc3RhdGljIGludCB2bGNsdWFfcGxheWxpc3Rfc2tpcCggbHVhX1N0YXRlICogTCApCisgeworLSAgICBpbnQgaV9za2lwID0gbHVhTF9jaGVja2ludCggTCwgMSApOworKyAgICBpbnQgaV9za2lwID0gbHVhTF9jaGVja2ludGVnZXIoIEwsIDEgKTsKKyAgICAgcGxheWxpc3RfdCAqcF9wbGF5bGlzdCA9IHZsY2x1YV9nZXRfcGxheWxpc3RfaW50ZXJuYWwoIEwgKTsKKyAgICAgcGxheWxpc3RfU2tpcCggcF9wbGF5bGlzdCwgaV9za2lwICk7CisgICAgIHJldHVybiAwOworQEAgLTEyNyw3ICsxMjcsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9wbGF5bGlzdF9yYW5kb20oIGx1YV9TCisgCisgc3RhdGljIGludCB2bGNsdWFfcGxheWxpc3RfZ290b2l0ZW0oIGx1YV9TdGF0ZSAqIEwgKQorIHsKKy0gICAgaW50IGlfaWQgPSBsdWFMX2NoZWNraW50KCBMLCAxICk7CisrICAgIGludCBpX2lkID0gbHVhTF9jaGVja2ludGVnZXIoIEwsIDEgKTsKKyAgICAgcGxheWxpc3RfdCAqcF9wbGF5bGlzdCA9IHZsY2x1YV9nZXRfcGxheWxpc3RfaW50ZXJuYWwoIEwgKTsKKyAgICAgUExfTE9DSzsKKyAgICAgaW50IGlfcmV0ID0gcGxheWxpc3RfQ29udHJvbCggcF9wbGF5bGlzdCwgUExBWUxJU1RfVklFV1BMQVksCitAQCAtMTM5LDcgKzEzOSw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX3BsYXlsaXN0X2dvdG9pdGVtKCBsdWEKKyAKKyBzdGF0aWMgaW50IHZsY2x1YV9wbGF5bGlzdF9kZWxldGUoIGx1YV9TdGF0ZSAqIEwgKQorIHsKKy0gICAgaW50IGlfaWQgPSBsdWFMX2NoZWNraW50KCBMLCAxICk7CisrICAgIGludCBpX2lkID0gbHVhTF9jaGVja2ludGVnZXIoIEwsIDEgKTsKKyAgICAgcGxheWxpc3RfdCAqcF9wbGF5bGlzdCA9IHZsY2x1YV9nZXRfcGxheWxpc3RfaW50ZXJuYWwoIEwgKTsKKyAgICAgUExfTE9DSzsKKyAgICAgcGxheWxpc3RfaXRlbV90ICpwX2l0ZW0gPSBwbGF5bGlzdF9JdGVtR2V0QnlJZCggcF9wbGF5bGlzdCwgaV9pZCApOworQEAgLTE1NSw4ICsxNTUsOCBAQCBzdGF0aWMgaW50IHZsY2x1YV9wbGF5bGlzdF9kZWxldGUoIGx1YV9TCisgCisgc3RhdGljIGludCB2bGNsdWFfcGxheWxpc3RfbW92ZSggbHVhX1N0YXRlICogTCApCisgeworLSAgICBpbnQgaV9pdGVtID0gbHVhTF9jaGVja2ludCggTCwgMSApOworLSAgICBpbnQgaV90YXJnZXQgPSBsdWFMX2NoZWNraW50KCBMLCAyICk7CisrICAgIGludCBpX2l0ZW0gPSBsdWFMX2NoZWNraW50ZWdlciggTCwgMSApOworKyAgICBpbnQgaV90YXJnZXQgPSBsdWFMX2NoZWNraW50ZWdlciggTCwgMiApOworICAgICBwbGF5bGlzdF90ICpwX3BsYXlsaXN0ID0gdmxjbHVhX2dldF9wbGF5bGlzdF9pbnRlcm5hbCggTCApOworICAgICBQTF9MT0NLOworICAgICBwbGF5bGlzdF9pdGVtX3QgKnBfaXRlbSA9IHBsYXlsaXN0X0l0ZW1HZXRCeUlkKCBwX3BsYXlsaXN0LCBpX2l0ZW0gKTsKK0luZGV4OiB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy9zdHJlYW0uYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHZsYy0yLjIuMS5vcmlnL21vZHVsZXMvbHVhL2xpYnMvc3RyZWFtLmMKKysrKyB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy9zdHJlYW0uYworQEAgLTEwMSw3ICsxMDEsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9zdHJlYW1fcmVhZCggbHVhX1N0YXRlCisgeworICAgICBpbnQgaV9yZWFkOworICAgICBzdHJlYW1fdCAqKnBwX3N0cmVhbSA9IChzdHJlYW1fdCAqKilsdWFMX2NoZWNrdWRhdGEoIEwsIDEsICJzdHJlYW0iICk7CistICAgIGludCBuID0gbHVhTF9jaGVja2ludCggTCwgMiApOworKyAgICBpbnQgbiA9IGx1YUxfY2hlY2tpbnRlZ2VyKCBMLCAyICk7CisgICAgIHVpbnQ4X3QgKnBfcmVhZCA9IG1hbGxvYyggbiApOworICAgICBpZiggIXBfcmVhZCApIHJldHVybiB2bGNsdWFfZXJyb3IoIEwgKTsKKyAKK0luZGV4OiB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy92YXJpYWJsZXMuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHZsYy0yLjIuMS5vcmlnL21vZHVsZXMvbHVhL2xpYnMvdmFyaWFibGVzLmMKKysrKyB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy92YXJpYWJsZXMuYworQEAgLTEwMyw3ICsxMDMsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV90b3ZhbHVlKCBsdWFfU3RhdGUgKkwsCisgICAgICAgICAgICAgdmFsLT5iX2Jvb2wgPSBsdWFMX2NoZWNrYm9vbGVhbiggTCwgLTEgKTsKKyAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgIGNhc2UgVkxDX1ZBUl9JTlRFR0VSOgorLSAgICAgICAgICAgIHZhbC0+aV9pbnQgPSBsdWFMX2NoZWNraW50KCBMLCAtMSApOworKyAgICAgICAgICAgIHZhbC0+aV9pbnQgPSBsdWFMX2NoZWNraW50ZWdlciggTCwgLTEgKTsKKyAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgIGNhc2UgVkxDX1ZBUl9TVFJJTkc6CisgICAgICAgICAgICAgdmFsLT5wc3pfc3RyaW5nID0gKGNoYXIqKWx1YUxfY2hlY2tzdHJpbmcoIEwsIC0xICk7IC8qIFhYWDogQmV3YXJlLCB0aGlzIG9ubHkgc3RheXMgdmFsaWQgYXMgbG9uZyBhcyAoTCwtMSkgc3RheXMgaW4gdGhlIHN0YWNrICovCitJbmRleDogdmxjLTIuMi4xL21vZHVsZXMvbHVhL2xpYnMvdm9sdW1lLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB2bGMtMi4yLjEub3JpZy9tb2R1bGVzL2x1YS9saWJzL3ZvbHVtZS5jCisrKysgdmxjLTIuMi4xL21vZHVsZXMvbHVhL2xpYnMvdm9sdW1lLmMKK0BAIC00OCw3ICs0OCw3IEBACisgc3RhdGljIGludCB2bGNsdWFfdm9sdW1lX3NldCggbHVhX1N0YXRlICpMICkKKyB7CisgICAgIHBsYXlsaXN0X3QgKnBfdGhpcyA9IHZsY2x1YV9nZXRfcGxheWxpc3RfaW50ZXJuYWwoIEwgKTsKKy0gICAgaW50IGlfdm9sdW1lID0gbHVhTF9jaGVja2ludCggTCwgMSApOworKyAgICBpbnQgaV92b2x1bWUgPSBsdWFMX2NoZWNraW50ZWdlciggTCwgMSApOworICAgICBpZiggaV92b2x1bWUgPCAwICkKKyAgICAgICAgIGlfdm9sdW1lID0gMDsKKyAgICAgaW50IGlfcmV0ID0gcGxheWxpc3RfVm9sdW1lU2V0KCBwX3RoaXMsIGlfdm9sdW1lLyhmbG9hdClBT1VUX1ZPTFVNRV9ERUZBVUxUICk7CitAQCAtNjgsNyArNjgsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV92b2x1bWVfdXAoIGx1YV9TdGF0ZSAqCisgICAgIHBsYXlsaXN0X3QgKnBfdGhpcyA9IHZsY2x1YV9nZXRfcGxheWxpc3RfaW50ZXJuYWwoIEwgKTsKKyAgICAgZmxvYXQgdm9sdW1lOworIAorLSAgICBwbGF5bGlzdF9Wb2x1bWVVcCggcF90aGlzLCBsdWFMX29wdGludCggTCwgMSwgMSApLCAmdm9sdW1lICk7CisrICAgIHBsYXlsaXN0X1ZvbHVtZVVwKCBwX3RoaXMsIGx1YUxfb3B0aW50ZWdlciggTCwgMSwgMSApLCAmdm9sdW1lICk7CisgICAgIGx1YV9wdXNobnVtYmVyKCBMLCBscm91bmRmKHZvbHVtZSAqIEFPVVRfVk9MVU1FX0RFRkFVTFQpICk7CisgICAgIHJldHVybiAxOworIH0KK0BAIC03OCw3ICs3OCw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX3ZvbHVtZV9kb3duKCBsdWFfU3RhdGUKKyAgICAgcGxheWxpc3RfdCAqcF90aGlzID0gdmxjbHVhX2dldF9wbGF5bGlzdF9pbnRlcm5hbCggTCApOworICAgICBmbG9hdCB2b2x1bWU7CisgCistICAgIHBsYXlsaXN0X1ZvbHVtZURvd24oIHBfdGhpcywgbHVhTF9vcHRpbnQoIEwsIDEsIDEgKSwgJnZvbHVtZSApOworKyAgICBwbGF5bGlzdF9Wb2x1bWVEb3duKCBwX3RoaXMsIGx1YUxfb3B0aW50ZWdlciggTCwgMSwgMSApLCAmdm9sdW1lICk7CisgICAgIGx1YV9wdXNobnVtYmVyKCBMLCBscm91bmRmKHZvbHVtZSAqIEFPVVRfVk9MVU1FX0RFRkFVTFQpICk7CisgICAgIHJldHVybiAxOworIH0KK0luZGV4OiB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy93aW4uYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHZsYy0yLjIuMS5vcmlnL21vZHVsZXMvbHVhL2xpYnMvd2luLmMKKysrKyB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy93aW4uYworQEAgLTEyMyw3ICsxMjMsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9jb25zb2xlX2luaXQoIGx1YV9TdGF0CisgCisgc3RhdGljIGludCB2bGNsdWFfY29uc29sZV93YWl0KCBsdWFfU3RhdGUgKkwgKQorIHsKKy0gICAgaW50IGlfdGltZW91dCA9IGx1YUxfb3B0aW50KCBMLCAxLCAwICk7CisrICAgIGludCBpX3RpbWVvdXQgPSBsdWFMX29wdGludGVnZXIoIEwsIDEsIDAgKTsKKyAgICAgRFdPUkQgc3RhdHVzID0gV2FpdEZvclNpbmdsZU9iamVjdCggR2V0Q29uc29sZSggTCApLCBpX3RpbWVvdXQgKTsKKyAgICAgbHVhX3B1c2hib29sZWFuKCBMLCBzdGF0dXMgPT0gV0FJVF9PQkpFQ1RfMCApOworICAgICByZXR1cm4gMTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDktQXZjb2RlYy1zd3NjYWxlLXVzZS1BVl9QSVhfRk1ULWNvbnNpc3RlbnRseS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDktQXZjb2RlYy1zd3NjYWxlLXVzZS1BVl9QSVhfRk1ULWNvbnNpc3RlbnRseS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjNiYTcxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwOS1BdmNvZGVjLXN3c2NhbGUtdXNlLUFWX1BJWF9GTVQtY29uc2lzdGVudGx5LnBhdGNoCkBAIC0wLDAgKzEsMjkzIEBACitGcm9tIDQyNzczMmEzNzk4OTM0OTFlYWMyN2FlYWRmZjBlMGIzZTI1MmQxNTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKZWFuLUJhcHRpc3RlIEtlbXBmIDxqYkB2aWRlb2xhbi5vcmc+CitEYXRlOiBNb24sIDMxIEF1ZyAyMDE1IDA4OjE5OjAwICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEF2Y29kZWMvc3dzY2FsZTogdXNlIEFWX1BJWF9GTVQgY29uc2lzdGVudGx5CitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGZhYTdiZDM1N2IxZjllMDdhNmZmYmM0NTFhMTg4NzczZmFkN2EyNzUpCitTaWduZWQtb2ZmLWJ5OiBSYWZhw6tsIENhcnLDqSA8ZnVubWFuQHZpZGVvbGFuLm9yZz4KKworQ29uZmxpY3RzOgorCW1vZHVsZXMvY29kZWMvYXZjb2RlYy9jaHJvbWEuYworCW1vZHVsZXMvY29kZWMvYXZjb2RlYy92aWRlby5jCistLS0KKyBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvY2hyb21hLmMgfCAxMDQgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmlkZW8uYyAgfCAgMTAgKystLQorIG1vZHVsZXMvdmlkZW9fY2hyb21hL3N3c2NhbGUuYyB8ICAyOCArKysrKy0tLS0tLQorIDMgZmlsZXMgY2hhbmdlZCwgNzEgaW5zZXJ0aW9ucygrKSwgNzEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvY2hyb21hLmMgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvY2hyb21hLmMKK2luZGV4IDM5MzM2NGIuLmMzMWY5M2QgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvY2hyb21hLmMKKysrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9jaHJvbWEuYworQEAgLTYyLDc3ICs2Miw3NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0CisgfSBjaHJvbWFfdGFibGVbXSA9CisgeworICAgICAvKiBQbGFuYXIgWVVWIGZvcm1hdHMgKi8KKy0gICAge1ZMQ19DT0RFQ19JNDQ0LCBQSVhfRk1UX1lVVjQ0NFAsIDAsIDAsIDAgfSwKKy0gICAge1ZMQ19DT0RFQ19KNDQ0LCBQSVhfRk1UX1lVVko0NDRQLCAwLCAwLCAwIH0sCistCistICAgIHtWTENfQ09ERUNfSTQ0MCwgUElYX0ZNVF9ZVVY0NDBQLCAwLCAwLCAwIH0sCistICAgIHtWTENfQ09ERUNfSjQ0MCwgUElYX0ZNVF9ZVVZKNDQwUCwgMCwgMCwgMCB9LAorLQorLSAgICB7VkxDX0NPREVDX0k0MjIsIFBJWF9GTVRfWVVWNDIyUCwgMCwgMCwgMCB9LAorLSAgICB7VkxDX0NPREVDX0o0MjIsIFBJWF9GTVRfWVVWSjQyMlAsIDAsIDAsIDAgfSwKKy0KKy0gICAge1ZMQ19DT0RFQ19JNDIwLCBQSVhfRk1UX1lVVjQyMFAsIDAsIDAsIDAgfSwKKy0gICAge1ZMQ19DT0RFQ19ZVjEyLCBQSVhfRk1UX1lVVjQyMFAsIDAsIDAsIDAgfSwKKy0gICAge1ZMQ19GT1VSQ0MoJ0knLCdZJywnVScsJ1YnKSwgUElYX0ZNVF9ZVVY0MjBQLCAwLCAwLCAwIH0sCistICAgIHtWTENfQ09ERUNfSjQyMCwgUElYX0ZNVF9ZVVZKNDIwUCwgMCwgMCwgMCB9LAorLSAgICB7VkxDX0NPREVDX0k0MTEsIFBJWF9GTVRfWVVWNDExUCwgMCwgMCwgMCB9LAorLSAgICB7VkxDX0NPREVDX0k0MTAsIFBJWF9GTVRfWVVWNDEwUCwgMCwgMCwgMCB9LAorLSAgICB7VkxDX0ZPVVJDQygnWScsJ1YnLCdVJywnOScpLCBQSVhfRk1UX1lVVjQxMFAsIDAsIDAsIDAgfSwKKy0KKy0gICAge1ZMQ19GT1VSQ0MoJ04nLCdWJywnMScsJzInKSwgUElYX0ZNVF9OVjEyLCAwLCAwLCAwIH0sCistICAgIHtWTENfRk9VUkNDKCdOJywnVicsJzInLCcxJyksIFBJWF9GTVRfTlYyMSwgMCwgMCwgMCB9LAorLQorLSAgICB7VkxDX0NPREVDX0k0MjBfOUwsIFBJWF9GTVRfWVVWNDIwUDlMRSwgMCwgMCwgMCB9LAorLSAgICB7VkxDX0NPREVDX0k0MjBfOUIsIFBJWF9GTVRfWVVWNDIwUDlCRSwgMCwgMCwgMCB9LAorLSAgICB7VkxDX0NPREVDX0k0MjBfMTBMLCBQSVhfRk1UX1lVVjQyMFAxMExFLCAwLCAwLCAwIH0sCistICAgIHtWTENfQ09ERUNfSTQyMF8xMEIsIFBJWF9GTVRfWVVWNDIwUDEwQkUsIDAsIDAsIDAgfSwKKysgICAge1ZMQ19DT0RFQ19JNDQ0LCBBVl9QSVhfRk1UX1lVVjQ0NFAsIDAsIDAsIDAgfSwKKysgICAge1ZMQ19DT0RFQ19KNDQ0LCBBVl9QSVhfRk1UX1lVVko0NDRQLCAwLCAwLCAwIH0sCisrCisrICAgIHtWTENfQ09ERUNfSTQ0MCwgQVZfUElYX0ZNVF9ZVVY0NDBQLCAwLCAwLCAwIH0sCisrICAgIHtWTENfQ09ERUNfSjQ0MCwgQVZfUElYX0ZNVF9ZVVZKNDQwUCwgMCwgMCwgMCB9LAorKworKyAgICB7VkxDX0NPREVDX0k0MjIsIEFWX1BJWF9GTVRfWVVWNDIyUCwgMCwgMCwgMCB9LAorKyAgICB7VkxDX0NPREVDX0o0MjIsIEFWX1BJWF9GTVRfWVVWSjQyMlAsIDAsIDAsIDAgfSwKKysKKysgICAge1ZMQ19DT0RFQ19JNDIwLCBBVl9QSVhfRk1UX1lVVjQyMFAsIDAsIDAsIDAgfSwKKysgICAge1ZMQ19DT0RFQ19ZVjEyLCBBVl9QSVhfRk1UX1lVVjQyMFAsIDAsIDAsIDAgfSwKKysgICAge1ZMQ19GT1VSQ0MoJ0knLCdZJywnVScsJ1YnKSwgQVZfUElYX0ZNVF9ZVVY0MjBQLCAwLCAwLCAwIH0sCisrICAgIHtWTENfQ09ERUNfSjQyMCwgQVZfUElYX0ZNVF9ZVVZKNDIwUCwgMCwgMCwgMCB9LAorKyAgICB7VkxDX0NPREVDX0k0MTEsIEFWX1BJWF9GTVRfWVVWNDExUCwgMCwgMCwgMCB9LAorKyAgICB7VkxDX0NPREVDX0k0MTAsIEFWX1BJWF9GTVRfWVVWNDEwUCwgMCwgMCwgMCB9LAorKyAgICB7VkxDX0ZPVVJDQygnWScsJ1YnLCdVJywnOScpLCBBVl9QSVhfRk1UX1lVVjQxMFAsIDAsIDAsIDAgfSwKKysKKysgICAge1ZMQ19GT1VSQ0MoJ04nLCdWJywnMScsJzInKSwgQVZfUElYX0ZNVF9OVjEyLCAwLCAwLCAwIH0sCisrICAgIHtWTENfRk9VUkNDKCdOJywnVicsJzInLCcxJyksIEFWX1BJWF9GTVRfTlYyMSwgMCwgMCwgMCB9LAorKworKyAgICB7VkxDX0NPREVDX0k0MjBfOUwsIEFWX1BJWF9GTVRfWVVWNDIwUDlMRSwgMCwgMCwgMCB9LAorKyAgICB7VkxDX0NPREVDX0k0MjBfOUIsIEFWX1BJWF9GTVRfWVVWNDIwUDlCRSwgMCwgMCwgMCB9LAorKyAgICB7VkxDX0NPREVDX0k0MjBfMTBMLCBBVl9QSVhfRk1UX1lVVjQyMFAxMExFLCAwLCAwLCAwIH0sCisrICAgIHtWTENfQ09ERUNfSTQyMF8xMEIsIEFWX1BJWF9GTVRfWVVWNDIwUDEwQkUsIDAsIDAsIDAgfSwKKyAjaWYgTElCQVZVVElMX1ZFUlNJT05fSU5UID49IEFWX1ZFUlNJT05fSU5UKDUxLDEzLDApCistICAgIHtWTENfQ09ERUNfSTQyMl85TCwgUElYX0ZNVF9ZVVY0MjJQOUxFLCAwLCAwLCAwIH0sCistICAgIHtWTENfQ09ERUNfSTQyMl85QiwgUElYX0ZNVF9ZVVY0MjJQOUJFLCAwLCAwLCAwIH0sCisrICAgIHtWTENfQ09ERUNfSTQyMl85TCwgQVZfUElYX0ZNVF9ZVVY0MjJQOUxFLCAwLCAwLCAwIH0sCisrICAgIHtWTENfQ09ERUNfSTQyMl85QiwgQVZfUElYX0ZNVF9ZVVY0MjJQOUJFLCAwLCAwLCAwIH0sCisgI2VuZGlmCistICAgIHtWTENfQ09ERUNfSTQyMl8xMEwsIFBJWF9GTVRfWVVWNDIyUDEwTEUsIDAsIDAsIDAgfSwKKy0gICAge1ZMQ19DT0RFQ19JNDIyXzEwQiwgUElYX0ZNVF9ZVVY0MjJQMTBCRSwgMCwgMCwgMCB9LAorKyAgICB7VkxDX0NPREVDX0k0MjJfMTBMLCBBVl9QSVhfRk1UX1lVVjQyMlAxMExFLCAwLCAwLCAwIH0sCisrICAgIHtWTENfQ09ERUNfSTQyMl8xMEIsIEFWX1BJWF9GTVRfWVVWNDIyUDEwQkUsIDAsIDAsIDAgfSwKKyAKKy0gICAge1ZMQ19DT0RFQ19ZVVY0MjBBLCBQSVhfRk1UX1lVVkE0MjBQLCAwLCAwLCAwIH0sCisrICAgIHtWTENfQ09ERUNfWVVWNDIwQSwgQVZfUElYX0ZNVF9ZVVZBNDIwUCwgMCwgMCwgMCB9LAorICNpZiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyggNTEsIDQ1LCAwLCA3NCwgMTAwICkKKyAgICAge1ZMQ19DT0RFQ19ZVVY0MjJBLCBBVl9QSVhfRk1UX1lVVkE0MjJQLCAwLCAwLCAwIH0sCisgI2VuZGlmCisgCistICAgIHtWTENfQ09ERUNfSTQ0NF85TCwgUElYX0ZNVF9ZVVY0NDRQOUxFLCAwLCAwLCAwIH0sCistICAgIHtWTENfQ09ERUNfSTQ0NF85QiwgUElYX0ZNVF9ZVVY0NDRQOUJFLCAwLCAwLCAwIH0sCistICAgIHtWTENfQ09ERUNfSTQ0NF8xMEwsIFBJWF9GTVRfWVVWNDQ0UDEwTEUsIDAsIDAsIDAgfSwKKy0gICAge1ZMQ19DT0RFQ19JNDQ0XzEwQiwgUElYX0ZNVF9ZVVY0NDRQMTBCRSwgMCwgMCwgMCB9LAorLSAgICB7VkxDX0NPREVDX0k0NDRfMTZMLCBQSVhfRk1UX1lVVjQ0NFAxNkxFLCAwLCAwLCAwIH0sCistICAgIHtWTENfQ09ERUNfSTQ0NF8xNkIsIFBJWF9GTVRfWVVWNDQ0UDE2QkUsIDAsIDAsIDAgfSwKKysgICAge1ZMQ19DT0RFQ19JNDQ0XzlMLCBBVl9QSVhfRk1UX1lVVjQ0NFA5TEUsIDAsIDAsIDAgfSwKKysgICAge1ZMQ19DT0RFQ19JNDQ0XzlCLCBBVl9QSVhfRk1UX1lVVjQ0NFA5QkUsIDAsIDAsIDAgfSwKKysgICAge1ZMQ19DT0RFQ19JNDQ0XzEwTCwgQVZfUElYX0ZNVF9ZVVY0NDRQMTBMRSwgMCwgMCwgMCB9LAorKyAgICB7VkxDX0NPREVDX0k0NDRfMTBCLCBBVl9QSVhfRk1UX1lVVjQ0NFAxMEJFLCAwLCAwLCAwIH0sCisrICAgIHtWTENfQ09ERUNfSTQ0NF8xNkwsIEFWX1BJWF9GTVRfWVVWNDQ0UDE2TEUsIDAsIDAsIDAgfSwKKysgICAge1ZMQ19DT0RFQ19JNDQ0XzE2QiwgQVZfUElYX0ZNVF9ZVVY0NDRQMTZCRSwgMCwgMCwgMCB9LAorIAorICAgICAvKiBQYWNrZWQgWVVWIGZvcm1hdHMgKi8KKy0gICAge1ZMQ19DT0RFQ19ZVVlWLCBQSVhfRk1UX1lVWVY0MjIsIDAsIDAsIDAgfSwKKy0gICAge1ZMQ19GT1VSQ0MoJ1knLCdVJywnWScsJ1YnKSwgUElYX0ZNVF9ZVVlWNDIyLCAwLCAwLCAwIH0sCistICAgIHtWTENfQ09ERUNfVVlWWSwgUElYX0ZNVF9VWVZZNDIyLCAwLCAwLCAwIH0sCistICAgIHtWTENfRk9VUkNDKCdZJywnNCcsJzEnLCcxJyksIFBJWF9GTVRfVVlZVllZNDExLCAwLCAwLCAwIH0sCisrICAgIHtWTENfQ09ERUNfWVVZViwgQVZfUElYX0ZNVF9ZVVlWNDIyLCAwLCAwLCAwIH0sCisrICAgIHtWTENfRk9VUkNDKCdZJywnVScsJ1knLCdWJyksIEFWX1BJWF9GTVRfWVVZVjQyMiwgMCwgMCwgMCB9LAorKyAgICB7VkxDX0NPREVDX1VZVlksIEFWX1BJWF9GTVRfVVlWWTQyMiwgMCwgMCwgMCB9LAorKyAgICB7VkxDX0ZPVVJDQygnWScsJzQnLCcxJywnMScpLCBBVl9QSVhfRk1UX1VZWVZZWTQxMSwgMCwgMCwgMCB9LAorIAorICAgICAvKiBQYWNrZWQgUkdCIGZvcm1hdHMgKi8KKy0gICAgVkxDX1JHQiggVkxDX0ZPVVJDQygnUicsJ0cnLCdCJywnNCcpLCBQSVhfRk1UX1JHQjQsIFBJWF9GTVRfQkdSNCwgMHgxMCwgMHgwNiwgMHgwMSApCistICAgIFZMQ19SR0IoIFZMQ19GT1VSQ0MoJ1InLCdHJywnQicsJzgnKSwgUElYX0ZNVF9SR0I4LCBQSVhfRk1UX0JHUjgsIDB4QzAsIDB4MzgsIDB4MDcgKQorKyAgICBWTENfUkdCKCBWTENfRk9VUkNDKCdSJywnRycsJ0InLCc0JyksIEFWX1BJWF9GTVRfUkdCNCwgQVZfUElYX0ZNVF9CR1I0LCAweDEwLCAweDA2LCAweDAxICkKKysgICAgVkxDX1JHQiggVkxDX0ZPVVJDQygnUicsJ0cnLCdCJywnOCcpLCBBVl9QSVhfRk1UX1JHQjgsIEFWX1BJWF9GTVRfQkdSOCwgMHhDMCwgMHgzOCwgMHgwNyApCisgCistICAgIFZMQ19SR0IoIFZMQ19DT0RFQ19SR0IxNSwgUElYX0ZNVF9SR0I1NTUsIFBJWF9GTVRfQkdSNTU1LCAweDdjMDAsIDB4MDNlMCwgMHgwMDFmICkKKy0gICAgVkxDX1JHQiggVkxDX0NPREVDX1JHQjE2LCBQSVhfRk1UX1JHQjU2NSwgUElYX0ZNVF9CR1I1NjUsIDB4ZjgwMCwgMHgwN2UwLCAweDAwMWYgKQorLSAgICBWTENfUkdCKCBWTENfQ09ERUNfUkdCMjQsIFBJWF9GTVRfQkdSMjQsIFBJWF9GTVRfUkdCMjQsIDB4ZmYwMDAwLCAweDAwZmYwMCwgMHgwMDAwZmYgKQorKyAgICBWTENfUkdCKCBWTENfQ09ERUNfUkdCMTUsIEFWX1BJWF9GTVRfUkdCNTU1LCBBVl9QSVhfRk1UX0JHUjU1NSwgMHg3YzAwLCAweDAzZTAsIDB4MDAxZiApCisrICAgIFZMQ19SR0IoIFZMQ19DT0RFQ19SR0IxNiwgQVZfUElYX0ZNVF9SR0I1NjUsIEFWX1BJWF9GTVRfQkdSNTY1LCAweGY4MDAsIDB4MDdlMCwgMHgwMDFmICkKKysgICAgVkxDX1JHQiggVkxDX0NPREVDX1JHQjI0LCBBVl9QSVhfRk1UX0JHUjI0LCBBVl9QSVhfRk1UX1JHQjI0LCAweGZmMDAwMCwgMHgwMGZmMDAsIDB4MDAwMGZmICkKKyAKKy0gICAgVkxDX1JHQiggVkxDX0NPREVDX1JHQjMyLCBQSVhfRk1UX1JHQjMyLCBQSVhfRk1UX0JHUjMyLCAweDAwZmYwMDAwLCAweDAwMDBmZjAwLCAweDAwMDAwMGZmICkKKy0gICAgVkxDX1JHQiggVkxDX0NPREVDX1JHQjMyLCBQSVhfRk1UX1JHQjMyXzEsIFBJWF9GTVRfQkdSMzJfMSwgMHhmZjAwMDAwMCwgMHgwMGZmMDAwMCwgMHgwMDAwZmYwMCApCisrICAgIFZMQ19SR0IoIFZMQ19DT0RFQ19SR0IzMiwgQVZfUElYX0ZNVF9SR0IzMiwgQVZfUElYX0ZNVF9CR1IzMiwgMHgwMGZmMDAwMCwgMHgwMDAwZmYwMCwgMHgwMDAwMDBmZiApCisrICAgIFZMQ19SR0IoIFZMQ19DT0RFQ19SR0IzMiwgQVZfUElYX0ZNVF9SR0IzMl8xLCBBVl9QSVhfRk1UX0JHUjMyXzEsIDB4ZmYwMDAwMDAsIDB4MDBmZjAwMDAsIDB4MDAwMGZmMDAgKQorIAorICNpZmRlZiBBVl9QSVhfRk1UXzBCR1IzMgorICAgICBWTENfUkdCKCBWTENfQ09ERUNfUkdCMzIsIEFWX1BJWF9GTVRfMEJHUjMyLCBBVl9QSVhfRk1UXzBSR0IzMiwgMHgwMDAwMDBmZiwgMHgwMDAwZmYwMCwgMHgwMGZmMDAwMCApCisgI2VuZGlmCisgCistICAgIHtWTENfQ09ERUNfUkdCQSwgUElYX0ZNVF9SR0JBLCAwLCAwLCAwIH0sCistICAgIHtWTENfQ09ERUNfQVJHQiwgUElYX0ZNVF9BUkdCLCAwLCAwLCAwIH0sCistICAgIHtWTENfQ09ERUNfQkdSQSwgUElYX0ZNVF9CR1JBLCAwLCAwLCAwIH0sCistICAgIHtWTENfQ09ERUNfR1JFWSwgUElYX0ZNVF9HUkFZOCwgMCwgMCwgMH0sCisrICAgIHtWTENfQ09ERUNfUkdCQSwgQVZfUElYX0ZNVF9SR0JBLCAwLCAwLCAwIH0sCisrICAgIHtWTENfQ09ERUNfQVJHQiwgQVZfUElYX0ZNVF9BUkdCLCAwLCAwLCAwIH0sCisrICAgIHtWTENfQ09ERUNfQkdSQSwgQVZfUElYX0ZNVF9CR1JBLCAwLCAwLCAwIH0sCisrICAgIHtWTENfQ09ERUNfR1JFWSwgQVZfUElYX0ZNVF9HUkFZOCwgMCwgMCwgMH0sCisgCisgICAgICAvKiBQYWxldGl6ZWQgUkdCICovCistICAgIHtWTENfQ09ERUNfUkdCUCwgUElYX0ZNVF9QQUw4LCAwLCAwLCAwfSwKKysgICAge1ZMQ19DT0RFQ19SR0JQLCBBVl9QSVhfRk1UX1BBTDgsIDAsIDAsIDB9LAorIAorICNpZiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyg1MSwgNDIsIDAsIDc0LDEwMCkKKyAgICAge1ZMQ19DT0RFQ19HQlJfUExBTkFSLCBBVl9QSVhfRk1UX0dCUlAsIDAsIDAsIDAgfSwKK0BAIC0yMDEsNSArMjAxLDUgQEAgaW50IEZpbmRGZm1wZWdDaHJvbWEoIHZsY19mb3VyY2NfdCBmb3VyY2MgKQorICAgICBmb3IoIGludCBpID0gMDsgY2hyb21hX3RhYmxlW2ldLmlfY2hyb21hICE9IDA7IGkrKyApCisgICAgICAgICBpZiggY2hyb21hX3RhYmxlW2ldLmlfY2hyb21hID09IGZvdXJjYyApCisgICAgICAgICAgICAgcmV0dXJuIGNocm9tYV90YWJsZVtpXS5pX2Nocm9tYV9pZDsKKy0gICAgcmV0dXJuIFBJWF9GTVRfTk9ORTsKKysgICAgcmV0dXJuIEFWX1BJWF9GTVRfTk9ORTsKKyB9CitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZpZGVvLmMgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmlkZW8uYworaW5kZXggYzExNWRiOS4uYWU2MDBlOCAxMDA2NDQKKy0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy92aWRlby5jCisrKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmlkZW8uYworQEAgLTEwMDQsNyArMTAwNCw3IEBAIHN0YXRpYyBwaWN0dXJlX3QgKmxhdmNfZHJfR2V0RnJhbWUoc3RydWN0IEFWQ29kZWNDb250ZXh0ICpjdHgsCisgICAgIGlmIChHZXRWbGNDaHJvbWEoJmRlYy0+Zm10X291dC52aWRlbywgY3R4LT5waXhfZm10KSAhPSBWTENfU1VDQ0VTUykKKyAgICAgICAgIHJldHVybiBOVUxMOworICAgICBkZWMtPmZtdF9vdXQuaV9jb2RlYyA9IGRlYy0+Zm10X291dC52aWRlby5pX2Nocm9tYTsKKy0gICAgaWYgKGN0eC0+cGl4X2ZtdCA9PSBQSVhfRk1UX1BBTDgpCisrICAgIGlmIChjdHgtPnBpeF9mbXQgPT0gQVZfUElYX0ZNVF9QQUw4KQorICAgICAgICAgcmV0dXJuIE5VTEw7CisgCisgICAgIGludCB3aWR0aCA9IGZyYW1lLT53aWR0aDsKK0BAIC0xMTgwLDcgKzExODAsNyBAQCBzdGF0aWMgcGljdHVyZV90ICpmZm1wZWdfZHJfR2V0RnJhbWVCdWYoc3RydWN0IEFWQ29kZWNDb250ZXh0ICpwX2NvbnRleHQpCisgICAgIGlmIChHZXRWbGNDaHJvbWEoJnBfZGVjLT5mbXRfb3V0LnZpZGVvLCBwX2NvbnRleHQtPnBpeF9mbXQpICE9IFZMQ19TVUNDRVNTKQorICAgICAgICAgZ290byBub19kcjsKKyAKKy0gICAgaWYgKHBfY29udGV4dC0+cGl4X2ZtdCA9PSBQSVhfRk1UX1BBTDgpCisrICAgIGlmIChwX2NvbnRleHQtPnBpeF9mbXQgPT0gQVZfUElYX0ZNVF9QQUw4KQorICAgICAgICAgZ290byBub19kcjsKKyAKKyAgICAgcF9kZWMtPmZtdF9vdXQuaV9jb2RlYyA9IHBfZGVjLT5mbXRfb3V0LnZpZGVvLmlfY2hyb21hOworQEAgLTEyMTUsNyArMTIxNSw3IEBAIHN0YXRpYyBwaWN0dXJlX3QgKmZmbXBlZ19kcl9HZXRGcmFtZUJ1ZihzdHJ1Y3QgQVZDb2RlY0NvbnRleHQgKnBfY29udGV4dCkKKyAgICAgICAgICAgICBnb3RvIG5vX2RyOworICAgICB9CisgCistICAgIGlmKCBwX2NvbnRleHQtPnBpeF9mbXQgPT0gUElYX0ZNVF9ZVVY0MjJQICkKKysgICAgaWYoIHBfY29udGV4dC0+cGl4X2ZtdCA9PSBBVl9QSVhfRk1UX1lVVjQyMlAgKQorICAgICB7CisgICAgICAgICBpZiggMiAqIHBfcGljLT5wWzFdLmlfcGl0Y2ggIT0gcF9waWMtPnBbMF0uaV9waXRjaCB8fAorICAgICAgICAgICAgIDIgKiBwX3BpYy0+cFsyXS5pX3BpdGNoICE9IHBfcGljLT5wWzBdLmlfcGl0Y2ggKQorQEAgLTEzMjUsNyArMTMyNSw3IEBAIHN0YXRpYyBlbnVtIFBpeGVsRm9ybWF0IGZmbXBlZ19HZXRGb3JtYXQoIEFWQ29kZWNDb250ZXh0ICpwX2NvbnRleHQsCisgCisgICAgIC8qIEVudW1lcmF0ZSBhdmFpbGFibGUgZm9ybWF0cyAqLworICAgICBib29sIGNhbl9od2FjY2VsID0gZmFsc2U7CistICAgIGZvciggc2l6ZV90IGkgPSAwOyBwaV9mbXRbaV0gIT0gUElYX0ZNVF9OT05FOyBpKysgKQorKyAgICBmb3IoIHNpemVfdCBpID0gMDsgcGlfZm10W2ldICE9IEFWX1BJWF9GTVRfTk9ORTsgaSsrICkKKyAgICAgeworICAgICAgICAgY29uc3QgQVZQaXhGbXREZXNjcmlwdG9yICpkc2MgPSBhdl9waXhfZm10X2Rlc2NfZ2V0KHBpX2ZtdFtpXSk7CisgICAgICAgICBpZiAoZHNjID09IE5VTEwpCitAQCAtMTM1Miw3ICsxMzUyLDcgQEAgc3RhdGljIGVudW0gUGl4ZWxGb3JtYXQgZmZtcGVnX0dldEZvcm1hdCggQVZDb2RlY0NvbnRleHQgKnBfY29udGV4dCwKKyAgICAgaWYoIHBfdmEgPT0gTlVMTCApCisgICAgICAgICBnb3RvIGVuZDsKKyAKKy0gICAgZm9yKCBzaXplX3QgaSA9IDA7IHBpX2ZtdFtpXSAhPSBQSVhfRk1UX05PTkU7IGkrKyApCisrICAgIGZvciggc2l6ZV90IGkgPSAwOyBwaV9mbXRbaV0gIT0gQVZfUElYX0ZNVF9OT05FOyBpKysgKQorICAgICB7CisgICAgICAgICBpZiggcF92YS0+cGl4X2ZtdCAhPSBwaV9mbXRbaV0gKQorICAgICAgICAgICAgIGNvbnRpbnVlOworZGlmZiAtLWdpdCBhL21vZHVsZXMvdmlkZW9fY2hyb21hL3N3c2NhbGUuYyBiL21vZHVsZXMvdmlkZW9fY2hyb21hL3N3c2NhbGUuYworaW5kZXggNTY5ZTBmNS4uNGUwZWNmMSAxMDA2NDQKKy0tLSBhL21vZHVsZXMvdmlkZW9fY2hyb21hL3N3c2NhbGUuYworKysrIGIvbW9kdWxlcy92aWRlb19jaHJvbWEvc3dzY2FsZS5jCitAQCAtMjU3LDM1ICsyNTcsMzUgQEAgc3RhdGljIHZvaWQgRml4UGFyYW1ldGVycyggaW50ICpwaV9mbXQsIGJvb2wgKnBiX2hhc19hLCBib29sICpwYl9zd2FwX3V2LCB2bGNfZm8KKyAgICAgc3dpdGNoKCBmbXQgKQorICAgICB7CisgICAgIGNhc2UgVkxDX0NPREVDX1lVVjQyMkE6CistICAgICAgICAqcGlfZm10ID0gUElYX0ZNVF9ZVVY0MjJQOworKyAgICAgICAgKnBpX2ZtdCA9IEFWX1BJWF9GTVRfWVVWNDIyUDsKKyAgICAgICAgICpwYl9oYXNfYSA9IHRydWU7CisgICAgICAgICBicmVhazsKKyAgICAgY2FzZSBWTENfQ09ERUNfWVVWNDIwQToKKy0gICAgICAgICpwaV9mbXQgPSBQSVhfRk1UX1lVVjQyMFA7CisrICAgICAgICAqcGlfZm10ID0gQVZfUElYX0ZNVF9ZVVY0MjBQOworICAgICAgICAgKnBiX2hhc19hID0gdHJ1ZTsKKyAgICAgICAgIGJyZWFrOworICAgICBjYXNlIFZMQ19DT0RFQ19ZVVZBOgorLSAgICAgICAgKnBpX2ZtdCA9IFBJWF9GTVRfWVVWNDQ0UDsKKysgICAgICAgICpwaV9mbXQgPSBBVl9QSVhfRk1UX1lVVjQ0NFA7CisgICAgICAgICAqcGJfaGFzX2EgPSB0cnVlOworICAgICAgICAgYnJlYWs7CisgICAgIGNhc2UgVkxDX0NPREVDX1JHQkE6CistICAgICAgICAqcGlfZm10ID0gUElYX0ZNVF9CR1IzMjsKKysgICAgICAgICpwaV9mbXQgPSBBVl9QSVhfRk1UX0JHUjMyOworICAgICAgICAgKnBiX2hhc19hID0gdHJ1ZTsKKyAgICAgICAgIGJyZWFrOworICAgICBjYXNlIFZMQ19DT0RFQ19BUkdCOgorLSAgICAgICAgKnBpX2ZtdCA9IFBJWF9GTVRfQkdSMzJfMTsKKysgICAgICAgICpwaV9mbXQgPSBBVl9QSVhfRk1UX0JHUjMyXzE7CisgICAgICAgICAqcGJfaGFzX2EgPSB0cnVlOworICAgICAgICAgYnJlYWs7CisgICAgIGNhc2UgVkxDX0NPREVDX0JHUkE6CistICAgICAgICAqcGlfZm10ID0gUElYX0ZNVF9SR0IzMjsKKysgICAgICAgICpwaV9mbXQgPSBBVl9QSVhfRk1UX1JHQjMyOworICAgICAgICAgKnBiX2hhc19hID0gdHJ1ZTsKKyAgICAgICAgIGJyZWFrOworICAgICBjYXNlIFZMQ19DT0RFQ19ZVjEyOgorLSAgICAgICAgKnBpX2ZtdCA9IFBJWF9GTVRfWVVWNDIwUDsKKysgICAgICAgICpwaV9mbXQgPSBBVl9QSVhfRk1UX1lVVjQyMFA7CisgICAgICAgICAqcGJfc3dhcF91diA9IHRydWU7CisgICAgICAgICBicmVhazsKKyAgICAgY2FzZSBWTENfQ09ERUNfWVY5OgorLSAgICAgICAgKnBpX2ZtdCA9IFBJWF9GTVRfWVVWNDEwUDsKKysgICAgICAgICpwaV9mbXQgPSBBVl9QSVhfRk1UX1lVVjQxMFA7CisgICAgICAgICAqcGJfc3dhcF91diA9IHRydWU7CisgICAgICAgICBicmVhazsKKyAgICAgZGVmYXVsdDoKK0BAIC0zMTQsNyArMzE0LDcgQEAgc3RhdGljIGludCBHZXRQYXJhbWV0ZXJzKCBTY2FsZXJDb25maWd1cmF0aW9uICpwX2NmZywKKyAgICAgeworICAgICAgICAgaWYoIHBfZm10aS0+aV9jaHJvbWEgPT0gVkxDX0NPREVDX1lVVlAgJiYgQUxMT1dfWVVWUCApCisgICAgICAgICB7CistICAgICAgICAgICAgaV9mbXRpID0gaV9mbXRvID0gUElYX0ZNVF9HUkFZODsKKysgICAgICAgICAgICBpX2ZtdGkgPSBpX2ZtdG8gPSBBVl9QSVhfRk1UX0dSQVk4OworICAgICAgICAgICAgIGlfc3dzX2ZsYWdzID0gU1dTX1BPSU5UOworICAgICAgICAgfQorICAgICB9CitAQCAtMzI3LDkgKzMyNyw5IEBAIHN0YXRpYyBpbnQgR2V0UGFyYW1ldGVycyggU2NhbGVyQ29uZmlndXJhdGlvbiAqcF9jZmcsCisgICAgICAqIFdpdGhvdXQgU1dTX0FDQ1VSQVRFX1JORCB0aGUgcXVhbGl0eSBpcyByZWFsbHkgYmFkIGZvciBzb21lIGNvbnZlcnNpb25zICovCisgICAgIHN3aXRjaCggaV9mbXRvICkKKyAgICAgeworLSAgICBjYXNlIFBJWF9GTVRfQVJHQjoKKy0gICAgY2FzZSBQSVhfRk1UX1JHQkE6CistICAgIGNhc2UgUElYX0ZNVF9BQkdSOgorKyAgICBjYXNlIEFWX1BJWF9GTVRfQVJHQjoKKysgICAgY2FzZSBBVl9QSVhfRk1UX1JHQkE6CisrICAgIGNhc2UgQVZfUElYX0ZNVF9BQkdSOgorICAgICAgICAgaV9zd3NfZmxhZ3MgfD0gU1dTX0FDQ1VSQVRFX1JORDsKKyAgICAgICAgIGJyZWFrOworICAgICB9CitAQCAtNDAzLDggKzQwMyw4IEBAIHN0YXRpYyBpbnQgSW5pdCggZmlsdGVyX3QgKnBfZmlsdGVyICkKKyAgICAgY29uc3QgdW5zaWduZWQgaV9mbXRvX3Zpc2libGVfd2lkdGggPSBwX2ZtdG8tPmlfdmlzaWJsZV93aWR0aCAqIHBfc3lzLT5pX2V4dGVuZF9mYWN0b3I7CisgICAgIGZvciggaW50IG4gPSAwOyBuIDwgKGNmZy5iX2hhc19hID8gMiA6IDEpOyBuKysgKQorICAgICB7CistICAgICAgICBjb25zdCBpbnQgaV9mbXRpID0gbiA9PSAwID8gY2ZnLmlfZm10aSA6IFBJWF9GTVRfR1JBWTg7CistICAgICAgICBjb25zdCBpbnQgaV9mbXRvID0gbiA9PSAwID8gY2ZnLmlfZm10byA6IFBJWF9GTVRfR1JBWTg7CisrICAgICAgICBjb25zdCBpbnQgaV9mbXRpID0gbiA9PSAwID8gY2ZnLmlfZm10aSA6IEFWX1BJWF9GTVRfR1JBWTg7CisrICAgICAgICBjb25zdCBpbnQgaV9mbXRvID0gbiA9PSAwID8gY2ZnLmlfZm10byA6IEFWX1BJWF9GTVRfR1JBWTg7CisgICAgICAgICBzdHJ1Y3QgU3dzQ29udGV4dCAqY3R4OworIAorICAgICAgICAgY3R4ID0gc3dzX2dldENvbnRleHQoIGlfZm10aV92aXNpYmxlX3dpZHRoLCBwX2ZtdGktPmlfdmlzaWJsZV9oZWlnaHQsIGlfZm10aSwKKy0tIAorMi41LjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAxMC1TV1NDQUxFLWZpeC1jb21waWxhdGlvbi13aXRoLTQueC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMTAtU1dTQ0FMRS1maXgtY29tcGlsYXRpb24td2l0aC00LngucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTY3NDRlNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMTAtU1dTQ0FMRS1maXgtY29tcGlsYXRpb24td2l0aC00LngucGF0Y2gKQEAgLTAsMCArMSw0NSBAQAorRnJvbSA2ZmE4YTRhOWJiNjRmZjM0MzI4YWFlNDZhY2Q2MDBmODUwMmIyYzA1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSmVhbi1CYXB0aXN0ZSBLZW1wZiA8amJAdmlkZW9sYW4ub3JnPgorRGF0ZTogTW9uLCAzMSBBdWcgMjAxNSAwOTowNzozOSArMDIwMAorU3ViamVjdDogW1BBVENIXSBTV1NDQUxFOiBmaXggY29tcGlsYXRpb24gd2l0aCA0LngKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMmIyMzg1N2M2ODYyMmVkZGE3NmI3MmI3NGFlYjNkOTQzZWUyNzdjOSkKK1NpZ25lZC1vZmYtYnk6IFJhZmHDq2wgQ2FycsOpIDxmdW5tYW5AdmlkZW9sYW4ub3JnPgorLS0tCisgbW9kdWxlcy92aWRlb19jaHJvbWEvc3dzY2FsZS5jIHwgMyArKysKKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL3ZpZGVvX2Nocm9tYS9zd3NjYWxlLmMgYi9tb2R1bGVzL3ZpZGVvX2Nocm9tYS9zd3NjYWxlLmMKK2luZGV4IDRlMGVjZjEuLjI2ZDBkNmYgMTAwNjQ0CistLS0gYS9tb2R1bGVzL3ZpZGVvX2Nocm9tYS9zd3NjYWxlLmMKKysrKyBiL21vZHVsZXMvdmlkZW9fY2hyb21hL3N3c2NhbGUuYworQEAgLTM2LDYgKzM2LDcgQEAKKyAjaW5jbHVkZSA8dmxjX2NwdS5oPgorIAorICNpbmNsdWRlIDxsaWJzd3NjYWxlL3N3c2NhbGUuaD4KKysjaW5jbHVkZSA8bGlic3dzY2FsZS92ZXJzaW9uLmg+CisgCisgI2lmZGVmIF9fQVBQTEVfXworICMgaW5jbHVkZSA8VGFyZ2V0Q29uZGl0aW9uYWxzLmg+CitAQCAtMjM1LDYgKzIzNiw3IEBAIHN0YXRpYyBpbnQgR2V0U3dzQ3B1TWFzayh2b2lkKQorIHsKKyAgICAgaW50IGlfc3dzX2NwdSA9IDA7CisgCisrI2lmIExJQlNXU0NBTEVfVkVSU0lPTl9NQUpPUiA8IDQKKyAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKQorICAgICBpZiggdmxjX0NQVV9NTVgoKSApCisgICAgICAgICBpX3N3c19jcHUgfD0gU1dTX0NQVV9DQVBTX01NWDsKK0BAIC0yNDgsNiArMjUwLDcgQEAgc3RhdGljIGludCBHZXRTd3NDcHVNYXNrKHZvaWQpCisgICAgIGlmKCB2bGNfQ1BVX0FMVElWRUMoKSApCisgICAgICAgICBpX3N3c19jcHUgfD0gU1dTX0NQVV9DQVBTX0FMVElWRUM7CisgI2VuZGlmCisrI2VuZGlmCisgCisgICAgIHJldHVybiBpX3N3c19jcHU7CisgfQorLS0gCisyLjUuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsY18yLjIuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjXzIuMi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1YmUwNGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsY18yLjIuMi5iYgpAQCAtMCwwICsxLDE5IEBACityZXF1aXJlICR7QlBOfS5pbmMKKworIyB3b3JrIGFyb3VuZCBidWlsZCBmYWlsdXJlCitFWFRSQV9PRUNPTkYgKz0gIiAtLWVuYWJsZS1saWJ4bWwyPW5vIgorCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1lbmFibGUtc3ViZGlyLW9iamVjdHMucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDItZ2xpYmMtZG9lcy1ub3QtcHJvdmlkZS1zdHJsY3B5LnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAzLXVzZS1hbS1wYXRoLWxpYmdjcnlwdC5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwNC1tb2R1bGVzLWd1aS1xdDQtb3V0LW9mLXRyZWUtYnVpbGQucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDUtbGlicG9zdHByb2MtaGVhZGVyLWNoZWNrLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDA2LW1ha2Utb3BlbmN2LWNvbmZpZ3VyYWJsZS5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwNy11c2Utdm9yYmlzaWRlYy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwOC1maXgtbHVhTC1jaGVja2ludC5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwOS1BdmNvZGVjLXN3c2NhbGUtdXNlLUFWX1BJWF9GTVQtY29uc2lzdGVudGx5LnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDEwLVNXU0NBTEUtZml4LWNvbXBpbGF0aW9uLXdpdGgtNC54LnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gImY5OGQ2MGYwZjU5ZWY3MmI2ZTM0MDdmMmZmMDliZGE2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjlhZDIzMTI4YmUxNmY5YjQwZWQ3NzI5NjEyNzJjYjA3NDhlZDhlNGFhMWJjNzljMTI5ZTU4OWZlZWJlYTVmYjUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdm9yYmlzLXRvb2xzL3ZvcmJpcy10b29scy8wMDAxLW9nZ2VuYy1GaXgtbGFyZ2UtYWxsb2NhLW9uLWJhZC1BSUZGLWlucHV0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZvcmJpcy10b29scy92b3JiaXMtdG9vbHMvMDAwMS1vZ2dlbmMtRml4LWxhcmdlLWFsbG9jYS1vbi1iYWQtQUlGRi1pbnB1dC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjIzZGJmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZvcmJpcy10b29scy92b3JiaXMtdG9vbHMvMDAwMS1vZ2dlbmMtRml4LWxhcmdlLWFsbG9jYS1vbi1iYWQtQUlGRi1pbnB1dC5wYXRjaApAQCAtMCwwICsxLDQ5IEBACitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK0JhY2twb3J0IHBhdGNoIHRvIGZpeCBDVkUtMjAxNS02NzQ5IGZyb206CisKK2h0dHBzOi8vdHJhYy54aXBoLm9yZy90aWNrZXQvMjIxMgorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorRnJvbSAwNDgxNWQzZTFiZmFlM2E2Y2RmYjJjMjUzNThhNWE3MmI2MTI5OWY3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFyayBIYXJyaXMgPG1hcmsuaHNqQGdtYWlsLmNvbT4KK0RhdGU6IFN1biwgMzAgQXVnIDIwMTUgMDU6NTQ6NDYgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gb2dnZW5jOiBGaXggbGFyZ2UgYWxsb2NhIG9uIGJhZCBBSUZGIGlucHV0CisKK0ZpeGVzICMyMjEyCistLS0KKyBvZ2dlbmMvYXVkaW8uYyB8IDEwICsrKysrLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvb2dnZW5jL2F1ZGlvLmMgYi9vZ2dlbmMvYXVkaW8uYworaW5kZXggNDc3ZGE4Yy4uNDkyMWZiOSAxMDA2NDQKKy0tLSBhL29nZ2VuYy9hdWRpby5jCisrKysgYi9vZ2dlbmMvYXVkaW8uYworQEAgLTI0NSw4ICsyNDUsOCBAQCBzdGF0aWMgaW50IGFpZmZfcGVybXV0ZV9tYXRyaXhbNl1bNl0gPQorIGludCBhaWZmX29wZW4oRklMRSAqaW4sIG9lX2VuY19vcHQgKm9wdCwgdW5zaWduZWQgY2hhciAqYnVmLCBpbnQgYnVmbGVuKQorIHsKKyAgICAgaW50IGFpZmM7IC8qIEFJRkMgb3IgQUlGRj8gKi8KKy0gICAgdW5zaWduZWQgaW50IGxlbjsKKy0gICAgdW5zaWduZWQgY2hhciAqYnVmZmVyOworKyAgICB1bnNpZ25lZCBpbnQgbGVuLCByZWFkbGVuOworKyAgICB1bnNpZ25lZCBjaGFyIGJ1ZmZlclsyMl07CisgICAgIHVuc2lnbmVkIGNoYXIgYnVmMls4XTsKKyAgICAgYWlmZl9mbXQgZm9ybWF0OworICAgICBhaWZmZmlsZSAqYWlmZiA9IG1hbGxvYyhzaXplb2YoYWlmZmZpbGUpKTsKK0BAIC0yNjksOSArMjY5LDkgQEAgaW50IGFpZmZfb3BlbihGSUxFICppbiwgb2VfZW5jX29wdCAqb3B0LCB1bnNpZ25lZCBjaGFyICpidWYsIGludCBidWZsZW4pCisgICAgICAgICByZXR1cm4gMDsgLyogV2VpcmQgY29tbW9uIGNodW5rICovCisgICAgIH0KKyAKKy0gICAgYnVmZmVyID0gYWxsb2NhKGxlbik7CistCistICAgIGlmKGZyZWFkKGJ1ZmZlciwxLGxlbixpbikgPCBsZW4pCisrICAgIHJlYWRsZW4gPSBsZW4gPCBzaXplb2YoYnVmZmVyKSA/IGxlbiA6IHNpemVvZihidWZmZXIpOworKyAgICBpZihmcmVhZChidWZmZXIsMSxyZWFkbGVuLGluKSA8IHJlYWRsZW4gfHwKKysgICAgICAgKGxlbiA+IHJlYWRsZW4gJiYgIXNlZWtfZm9yd2FyZChpbiwgbGVuLXJlYWRsZW4pKSkKKyAgICAgeworICAgICAgICAgZnByaW50ZihzdGRlcnIsIF8oIldhcm5pbmc6IFVuZXhwZWN0ZWQgRU9GIGluIHJlYWRpbmcgQUlGRiBoZWFkZXJcbiIpKTsKKyAgICAgICAgIHJldHVybiAwOworLS0gCisyLjUuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdm9yYmlzLXRvb2xzL3ZvcmJpcy10b29sc18xLjQuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92b3JiaXMtdG9vbHMvdm9yYmlzLXRvb2xzXzEuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2ODM1NTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdm9yYmlzLXRvb2xzL3ZvcmJpcy10b29sc18xLjQuMC5iYgpAQCAtMCwwICsxLDI0IEBACitTVU1NQVJZID0gIlZvcmJpcyBUb29scyIKK0RFU0NSSVBUSU9OID0gIk9nZyBWb3JiaXMgaXMgYSBoaWdoLXF1YWxpdHkgbG9zc3kgYXVkaW8gY29kZWMgXAordGhhdCBpcyBmcmVlIG9mIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByZXN0cmljdGlvbnMuIHZvcmJpcy10b29scyBcCitpbmNsdWRlIHNvbWUgY29tbWFuZCBsaW5lIGFwcGxpY2F0aW9ucyB0byB1c2UgdGhlIGxpYnJhcmllcy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnZvcmJpcy5jb20vIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL3RyYWMueGlwaC5vcmciCitTRUNUSU9OID0gIm11bHRpbWVkaWEiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK0RFUEVORFMgPSAibGlib2dnIGxpYnZvcmJpcyBjdXJsIGxpYmFvIgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZHMueGlwaC5vcmcvcmVsZWFzZXMvdm9yYmlzLyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW9nZ2VuYy1GaXgtbGFyZ2UtYWxsb2NhLW9uLWJhZC1BSUZGLWlucHV0LnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1NjdlMGZiOGQzMjFiMmNkNzEyNGY4MjA4YjhiOTBlNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhMzg5Mzk1YmFhNDNmOGU1YTc5NmM5OWRhZjYyMzk3ZTQzNWE3ZTczNTMxYzlmNDRkOTA4NDA1NWEwNWQyMmJjIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dAorCitQQUNLQUdFQ09ORklHID8/PSAiZmxhYyIKK1BBQ0tBR0VDT05GSUdbZmxhY10gPSAiLC0td2l0aG91dC1mbGFjLGZsYWMsbGliZmxhYyIKK1BBQ0tBR0VDT05GSUdbc3BlZXhdID0gIiwtLXdpdGhvdXQtc3BlZXgsc3BlZXgsc3BlZXgiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLXN1cHBvcnQvbGlibWVkaWFhcnQvbGlibWVkaWFhcnQtMi4wXzEuOS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm1lZGlhYXJ0L2xpYm1lZGlhYXJ0LTIuMF8xLjkuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NGYxMzVhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm1lZGlhYXJ0L2xpYm1lZGlhYXJ0LTIuMF8xLjkuMC5iYgpAQCAtMCwwICsxLDcgQEAKK3JlcXVpcmUgbGlibWVkaWFhcnQuaW5jCisKK1NSQ19VUkkgPSAiJHtHTk9NRV9NSVJST1J9L2xpYm1lZGlhYXJ0LzEuOS9saWJtZWRpYWFydC0ke1BWfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiMGI2NWQ2NDM5OGQyZjNkZmY4OTUzNGM5ZGZmZmFiNGYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTQ2NjhhZGIyOWQ0ZGMzMTE1YjBmZDEwNTk0MmViZDVjYTZmNWY5ZGJiMmFmYThhMTkxYTczYTc0N2RkNTA2ZiIKKworUyA9ICIke1dPUktESVJ9L2xpYm1lZGlhYXJ0LSR7UFZ9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm1lZGlhYXJ0L2xpYm1lZGlhYXJ0LmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJtZWRpYWFydC9saWJtZWRpYWFydC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTdkY2E5YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJtZWRpYWFydC9saWJtZWRpYWFydC5pbmMKQEAgLTAsMCArMSwxNCBAQAorU1VNTUFSWSA9ICJMaWJyYXJ5IHRhc2tlZCB3aXRoIG1hbmFnaW5nLCBleHRyYWN0aW5nIGFuZCBoYW5kbGluZyBtZWRpYSBhcnQgY2FjaGVzIgorCitMSUNFTlNFID0gIkxHUEx2MisgJiBHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLkxFU1NFUjttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGlibWVkaWFhcnQvZXh0cmFjdC5jO2VuZGxpbmU9MTg7bWQ1PWRmZjJiNjMyOGFiMDY3YjViYWFkYzEzNWY5ODc2YzM2IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3Rlc3RzL21lZGlhYXJ0dGVzdC5jO2VuZGxpbmU9MTg7bWQ1PTA2NzEwNmVhYTFmN2E5ZDkxODc1OWEwOTY2NjdmMThlIgorCitERVBFTkRTID0gImdsaWItMi4wIGdkay1waXhidWYiCisKK0dOT01FX0NPTVBSRVNTX1RZUEUgPSAieHoiCisKK2luaGVyaXQgZ25vbWViYXNlIGd0ay1kb2MgZ29iamVjdC1pbnRyb3NwZWN0aW9uCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtcXQgLS1lbmFibGUtZ2RrcGl4YnVmIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm1lZGlhYXJ0L2xpYm1lZGlhYXJ0XzAuNy4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm1lZGlhYXJ0L2xpYm1lZGlhYXJ0XzAuNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViNDU5NzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLXN1cHBvcnQvbGlibWVkaWFhcnQvbGlibWVkaWFhcnRfMC43LjAuYmIKQEAgLTAsMCArMSw0IEBACityZXF1aXJlIGxpYm1lZGlhYXJ0LmluYworCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIxYTQ0OTMzZDRjZDAwNjRlM2M3NmQ4ZDBkZGFjZGRjOSIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjNhOWRmZmNhZDg2MmFlZDdjMDkyMTU3OWI5MzA4MGQ2OTRiOGE2NmYzNjc2YmZlZTgwMzc4NjdmNjUzYTFjZDMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLXN1cHBvcnQvbGlib2lsL2xpYm9pbC0wLjMuMTcvMDAwMS1GaXgtZW5hYmxlLXZmcC1mbGFnLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWwtMC4zLjE3LzAwMDEtRml4LWVuYWJsZS12ZnAtZmxhZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZmYxY2IxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWwtMC4zLjE3LzAwMDEtRml4LWVuYWJsZS12ZnAtZmxhZy5wYXRjaApAQCAtMCwwICsxLDQxIEBACitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK0Zyb20gMTkyMTQ5OGJjYzA2NDA4ZThiMDUxYTNhOWU5Y2U0MTgyOTk4Zjc0OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgorRGF0ZTogRnJpLCA4IEFwciAyMDExIDEwOjA1OjQ5IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0ggMTAvMTBdIEZpeCAtLWVuYWJsZS12ZnAgZmxhZworCitQYXRjaCBmcm9tIENocmlzdG9waGUgTHlvbiwgZml4ZXMgIzM2MDg0LgorLS0tCisgY29uZmlndXJlLmFjICAgICAgICAgICB8ICAgIDQgKystLQorIGxpYm9pbC9hcm0vTWFrZWZpbGUuYW0gfCAgICAxICsKKyAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggOThjODFmYi4uNDA3ZDg4YyAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMTg4LDggKzE4OCw4IEBAIGZpCisgQUNfQVJHX0VOQUJMRSh2ZnAsCisgICBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtdmZwXSxbY29tcGlsZSB3aXRoIFZlY3RvciBGbG9hdGluZy1wb2ludCB1bml0IHN1cHBvcnRdKSwKKyAgIGVuYWJsZV92ZnA9JGVuYWJsZXZhbCxlbmFibGVfdmZwPXllcykKKy1pZiB0ZXN0ICJ4JGVuYWJsZS12ZnAiID0geHllcyAtYSB4JEhBVkVfR0NDX0FTTSA9IHh5ZXMgLWEgeCRIQVZFX0FSTSA9IHh5ZXM7IHRoZW4KKy0gIEFTX0NPTVBJTEVSX0ZMQUcoWyItV2EsLW1mcHU9dmZwIl0sCisraWYgdGVzdCAieCRlbmFibGVfdmZwIiA9IHh5ZXMgLWEgeCRIQVZFX0dDQ19BU00gPSB4eWVzIC1hIHgkSEFWRV9BUk0gPSB4eWVzOyB0aGVuCisrICBBU19DT01QSUxFUl9GTEFHKFsiLW1mcHU9dmZwIl0sCisgICAgIFtWRlBfQ0ZMQUdTPSIkVkZQX0NGTEFHUyAtbWZwdT12ZnAiXSwKKyAgICAgdHJ1ZSkKKyAgICNBU19DT01QSUxFUl9GTEFHKFsiLVdhLC1tZmxvYXQtYWJpPXNvZnRmcCJdLAorZGlmZiAtLWdpdCBhL2xpYm9pbC9hcm0vTWFrZWZpbGUuYW0gYi9saWJvaWwvYXJtL01ha2VmaWxlLmFtCitpbmRleCBlYWQwOGVkLi5jZDhkOWZhIDEwMDY0NAorLS0tIGEvbGlib2lsL2FybS9NYWtlZmlsZS5hbQorKysrIGIvbGlib2lsL2FybS9NYWtlZmlsZS5hbQorQEAgLTYsNCArNiw1IEBAIGxpYmFybV9sYV9TT1VSQ0VTID0gXAorIAltYXRoX3ZmcF9hc20uUworIAorIGxpYmFybV9sYV9DRkxBR1MgPSAkKExJQk9JTF9DRkxBR1MpICQoVkZQX0NGTEFHUykKKytsaWJhcm1fbGFfQ0NBU0ZMQUdTID0gJChMSUJPSUxfQ0ZMQUdTKSAkKFZGUF9DRkxBR1MpCisgCistLSAKKzEuNy42CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJvaWwvbGlib2lsLTAuMy4xNy9maXgtdW5hbGlnbmVkLXdoaXRlbGlzdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJvaWwvbGlib2lsLTAuMy4xNy9maXgtdW5hbGlnbmVkLXdoaXRlbGlzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOGUzYzFmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWwtMC4zLjE3L2ZpeC11bmFsaWduZWQtd2hpdGVsaXN0LnBhdGNoCkBAIC0wLDAgKzEsMTkgQEAKK1Vwc3RyZWFtOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTM1OAorCitjb25maWd1cmU6IGZpeCB3aGl0ZWxpc3Rpbmcgb2YgeDg2XzY0IHVuYWxpZ25lZCBtZW1vcnkgYWNjZXNzCisKK0ZpeCB0eXBvIGluIHdoaXRlbGlzdCBzbyBjcm9zcy1jb21waWxlIHdvcmtzIGZvciB4ODZfNjQuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworLS0tIGxpYm9pbC0wLjMuMTcvbTQvYXMtdW5hbGlnbmVkLWFjY2Vzcy5tNC5vcmlnCTIwMDktMDItMjYgMTQ6NDA6MDguMDAwMDAwMDAwIC0wNTAwCisrKysgbGlib2lsLTAuMy4xNy9tNC9hcy11bmFsaWduZWQtYWNjZXNzLm00CTIwMTAtMTEtMDMgMTI6MTk6NTUuMDAwMDAwMDAwIC0wNDAwCitAQCAtOSw3ICs5LDcgQEAKKyAgICAgICAgIF9BU19FQ0hPX04oWyhibGFja2xpc3RlZCkgXSkKKyAgICAgICAgIGFzX2N2X3VuYWxpZ25lZF9hY2Nlc3M9bm8KKyAJOzsKKy0gICAgICBpPzg2Knx4ODZfNjR8YW1kNjR8cG93ZXJwYyp8bTY4ayp8Y3JpcyopCisrICAgICAgaT84Nip8eDg2XzY0KnxhbWQ2NCp8cG93ZXJwYyp8bTY4ayp8Y3JpcyopCisgICAgICAgICBfQVNfRUNIT19OKFsod2hpdGVsaXN0ZWQpIF0pCisgICAgICAgICBhc19jdl91bmFsaWduZWRfYWNjZXNzPXllcworIAk7OwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWwtMC4zLjE3L2xpYm9pbF9maXhfZm9yX3gzMi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJvaWwvbGlib2lsLTAuMy4xNy9saWJvaWxfZml4X2Zvcl94MzIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDczMzgwZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJvaWwvbGlib2lsLTAuMy4xNy9saWJvaWxfZml4X2Zvcl94MzIucGF0Y2gKQEAgLTAsMCArMSwyMjIgQEAKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitNYWtlIHRoZSBhc3NlbWJseSBzeW50YXggY29tcGF0aWJsZSB3aXRoIHgzMiBnY2MuIE90aGV3aXNlIHgzMiBnY2MgdGhyb3dzIGVycm9ycy4KKworU2lnbmVkLU9mZi1CeTogTml0aW4gQSBLYW1ibGUgPG5pdGluLmEua2FtYmxlQGludGVsLmNvbT4KKzIwMTEvMTIvMDEKKworCitJbmRleDogbGlib2lsLTAuMy4xNy9saWJvaWwvYW1kNjQvd2F2ZWxldC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGlib2lsLTAuMy4xNy5vcmlnL2xpYm9pbC9hbWQ2NC93YXZlbGV0LmMKKysrKyBsaWJvaWwtMC4zLjE3L2xpYm9pbC9hbWQ2NC93YXZlbGV0LmMKK0BAIC0yMSwxNCArMjEsMTQgQEAgZGVpbnRlcmxlYXZlMl9hc20gKGludDE2X3QgKmQxLCBpbnQxNl90IAorICAgYXNtIHZvbGF0aWxlICgiXG4iCisgICAgICAgIiAgc3ViICQyLCAlJXJjeFxuIgorICAgICAgICIxOlxuIgorLSAgICAgICIgIG1vdncgKCUxLCUlcmN4LDQpLCAlJWF4XG4iCistICAgICAgIiAgbW92dyAlJWF4LCAoJTAsJSVyY3gsMilcbiIKKy0gICAgICAiICBtb3Z3IDIoJTEsJSVyY3gsNCksICUlYXhcbiIKKy0gICAgICAiICBtb3Z3ICUlYXgsICglMiwlJXJjeCwyKVxuIgorLSAgICAgICIgIG1vdncgNCglMSwlJXJjeCw0KSwgJSVheFxuIgorLSAgICAgICIgIG1vdncgJSVheCwgMiglMCwlJXJjeCwyKVxuIgorLSAgICAgICIgIG1vdncgNiglMSwlJXJjeCw0KSwgJSVheFxuIgorLSAgICAgICIgIG1vdncgJSVheCwgMiglMiwlJXJjeCwyKVxuIgorKyAgICAgICIgIG1vdncgKCVxMSwlJXJjeCw0KSwgJSVheFxuIgorKyAgICAgICIgIG1vdncgJSVheCwgKCVxMCwlJXJjeCwyKVxuIgorKyAgICAgICIgIG1vdncgMiglcTEsJSVyY3gsNCksICUlYXhcbiIKKysgICAgICAiICBtb3Z3ICUlYXgsICglcTIsJSVyY3gsMilcbiIKKysgICAgICAiICBtb3Z3IDQoJXExLCUlcmN4LDQpLCAlJWF4XG4iCisrICAgICAgIiAgbW92dyAlJWF4LCAyKCVxMCwlJXJjeCwyKVxuIgorKyAgICAgICIgIG1vdncgNiglcTEsJSVyY3gsNCksICUlYXhcbiIKKysgICAgICAiICBtb3Z3ICUlYXgsIDIoJXEyLCUlcmN4LDIpXG4iCisgICAgICAgIiAgc3ViICQyLCAlJXJjeFxuIgorICAgICAgICIgIGpnZSAxYlxuIgorICAgICAgIDogIityIiAoZDEpLCAiK3IiIChzXzJ4biksICIrciIgKGQyKSwgIitjIiAobikKK0BAIC01MywyMCArNTMsMjAgQEAgZGVpbnRlcmxlYXZlMl9tbXggKGludDE2X3QgKmQxLCBpbnQxNl90IAorICAgYXNtIHZvbGF0aWxlICgiXG4iCisgICAgICAgIiAgeG9yICUlcmN4LCAlJXJjeFxuIgorICAgICAgICIxOlxuIgorLSAgICAgICIgIG1vdnEgKCUxLCUlcmN4LDQpLCAlJW1tMFxuIgorLSAgICAgICIgIG1vdnEgOCglMSwlJXJjeCw0KSwgJSVtbTFcbiIKKysgICAgICAiICBtb3ZxICglcTEsJSVyY3gsNCksICUlbW0wXG4iCisrICAgICAgIiAgbW92cSA4KCVxMSwlJXJjeCw0KSwgJSVtbTFcbiIKKyAgICAgICAiICBwc2xsZCAkMTYsICUlbW0wXG4iCisgICAgICAgIiAgcHNsbGQgJDE2LCAlJW1tMVxuIgorICAgICAgICIgIHBzcmFkICQxNiwgJSVtbTBcbiIKKyAgICAgICAiICBwc3JhZCAkMTYsICUlbW0xXG4iCisgICAgICAgIiAgcGFja3NzZHcgJSVtbTEsICUlbW0wXG4iCistICAgICAgIiAgbW92cSAlJW1tMCwgKCUwLCUlcmN4LDIpXG4iCistICAgICAgIiAgbW92cSAoJTEsJSVyY3gsNCksICUlbW0wXG4iCistICAgICAgIiAgbW92cSA4KCUxLCUlcmN4LDQpLCAlJW1tMVxuIgorKyAgICAgICIgIG1vdnEgJSVtbTAsICglcTAsJSVyY3gsMilcbiIKKysgICAgICAiICBtb3ZxICglcTEsJSVyY3gsNCksICUlbW0wXG4iCisrICAgICAgIiAgbW92cSA4KCVxMSwlJXJjeCw0KSwgJSVtbTFcbiIKKyAgICAgICAiICBwc3JhZCAkMTYsICUlbW0wXG4iCisgICAgICAgIiAgcHNyYWQgJDE2LCAlJW1tMVxuIgorICAgICAgICIgIHBhY2tzc2R3ICUlbW0xLCAlJW1tMFxuIgorLSAgICAgICIgIG1vdnEgJSVtbTAsICglMiwlJXJjeCwyKVxuIgorKyAgICAgICIgIG1vdnEgJSVtbTAsICglcTIsJSVyY3gsMilcbiIKKyAgICAgICAiICBhZGQgJDQsICUlcmN4XG4iCisgICAgICAgIiAgY21wICUzLCAlJWVjeFxuIgorICAgICAgICIgIGpsIDFiXG4iCitAQCAtOTMsMTAgKzkzLDEwIEBAIGRlaW50ZXJsZWF2ZTJfbW14XzIgKGludDE2X3QgKmQxLCBpbnQxNl8KKyAgIGFzbSB2b2xhdGlsZSAoIlxuIgorICAgICAgICIgIHhvciAlJXJjeCwgJSVyY3hcbiIKKyAgICAgICAiMTpcbiIKKy0gICAgICAiICBwc2h1ZncgJDB4ZDgsICglMSwlJXJjeCw0KSwgJSVtbTBcbiIKKy0gICAgICAiICBtb3ZkICUlbW0wLCAoJTAsJSVyY3gsMilcbiIKKy0gICAgICAiICBwc2h1ZncgJDB4OGQsICglMSwlJXJjeCw0KSwgJSVtbTBcbiIKKy0gICAgICAiICBtb3ZkICUlbW0wLCAoJTIsJSVyY3gsMilcbiIKKysgICAgICAiICBwc2h1ZncgJDB4ZDgsICglcTEsJSVyY3gsNCksICUlbW0wXG4iCisrICAgICAgIiAgbW92ZCAlJW1tMCwgKCVxMCwlJXJjeCwyKVxuIgorKyAgICAgICIgIHBzaHVmdyAkMHg4ZCwgKCVxMSwlJXJjeCw0KSwgJSVtbTBcbiIKKysgICAgICAiICBtb3ZkICUlbW0wLCAoJXEyLCUlcmN4LDIpXG4iCisgICAgICAgIiAgYWRkICQyLCAlJXJjeFxuIgorICAgICAgICIgIGNtcCAlMywgJSVlY3hcbiIKKyAgICAgICAiICBqbCAxYlxuIgorQEAgLTEyMywxNiArMTIzLDE2IEBAIGRlaW50ZXJsZWF2ZTJfbW14XzMgKGludDE2X3QgKmQxLCBpbnQxNl8KKyAgIGFzbSB2b2xhdGlsZSAoIlxuIgorICAgICAgICIgIHhvciAlJXJjeCwgJSVyY3hcbiIKKyAgICAgICAiMTpcbiIKKy0gICAgICAiICBtb3ZxICglMSwlJXJjeCw0KSwgJSVtbTFcbiIKKy0gICAgICAiICBtb3ZxICglMSwlJXJjeCw0KSwgJSVtbTJcbiIKKy0gICAgICAiICBtb3ZxIDgoJTEsJSVyY3gsNCksICUlbW0wXG4iCisrICAgICAgIiAgbW92cSAoJXExLCUlcmN4LDQpLCAlJW1tMVxuIgorKyAgICAgICIgIG1vdnEgKCVxMSwlJXJjeCw0KSwgJSVtbTJcbiIKKysgICAgICAiICBtb3ZxIDgoJXExLCUlcmN4LDQpLCAlJW1tMFxuIgorICAgICAgICIgIHB1bnBja2x3ZCAlJW1tMCwgJSVtbTFcbiIKKyAgICAgICAiICBwdW5wY2tod2QgJSVtbTAsICUlbW0yXG4iCisgICAgICAgIiAgbW92cSAlJW1tMSwgJSVtbTBcbiIKKyAgICAgICAiICBwdW5wY2tsd2QgJSVtbTIsICUlbW0wXG4iCisgICAgICAgIiAgcHVucGNraHdkICUlbW0yLCAlJW1tMVxuIgorLSAgICAgICIgIG1vdnEgJSVtbTAsICglMCwlJXJjeCwyKVxuIgorLSAgICAgICIgIG1vdnEgJSVtbTEsICglMiwlJXJjeCwyKVxuIgorKyAgICAgICIgIG1vdnEgJSVtbTAsICglcTAsJSVyY3gsMilcbiIKKysgICAgICAiICBtb3ZxICUlbW0xLCAoJXEyLCUlcmN4LDIpXG4iCisgICAgICAgIiAgYWRkICQ0LCAlJXJjeFxuIgorICAgICAgICIgIGNtcCAlMywgJSVlY3hcbiIKKyAgICAgICAiICBqbCAxYlxuIgorQEAgLTE1OSwyNiArMTU5LDI2IEBAIGRlaW50ZXJsZWF2ZTJfbW14XzQgKGludDE2X3QgKmQxLCBpbnQxNl8KKyAgIGFzbSB2b2xhdGlsZSAoIlxuIgorICAgICAgICIgIHhvciAlJXJjeCwgJSVyY3hcbiIKKyAgICAgICAiMTpcbiIKKy0gICAgICAiICBtb3ZxICglMSwlJXJjeCw0KSwgJSVtbTFcbiIKKysgICAgICAiICBtb3ZxICglcTEsJSVyY3gsNCksICUlbW0xXG4iCisgICAgICAgIiAgbW92cSAlJW1tMSwgJSVtbTJcbiIKKy0gICAgICAiICBtb3ZxIDgoJTEsJSVyY3gsNCksICUlbW0wXG4iCistICAgICAgIiAgIG1vdnEgMTYoJTEsJSVyY3gsNCksICUlbW01XG4iCisrICAgICAgIiAgbW92cSA4KCVxMSwlJXJjeCw0KSwgJSVtbTBcbiIKKysgICAgICAiICAgbW92cSAxNiglcTEsJSVyY3gsNCksICUlbW01XG4iCisgICAgICAgIiAgcHVucGNrbHdkICUlbW0wLCAlJW1tMVxuIgorICAgICAgICIgICBtb3ZxICUlbW01LCAlJW1tNlxuIgorICAgICAgICIgIHB1bnBja2h3ZCAlJW1tMCwgJSVtbTJcbiIKKy0gICAgICAiICAgbW92cSAyNCglMSwlJXJjeCw0KSwgJSVtbTRcbiIKKysgICAgICAiICAgbW92cSAyNCglcTEsJSVyY3gsNCksICUlbW00XG4iCisgICAgICAgIiAgbW92cSAlJW1tMSwgJSVtbTBcbiIKKyAgICAgICAiICAgcHVucGNrbHdkICUlbW00LCAlJW1tNVxuIgorICAgICAgICIgIHB1bnBja2x3ZCAlJW1tMiwgJSVtbTBcbiIKKyAgICAgICAiICAgcHVucGNraHdkICUlbW00LCAlJW1tNlxuIgorICAgICAgICIgIHB1bnBja2h3ZCAlJW1tMiwgJSVtbTFcbiIKKyAgICAgICAiICAgbW92cSAlJW1tNSwgJSVtbTRcbiIKKy0gICAgICAiICBtb3ZxICUlbW0wLCAoJTAsJSVyY3gsMilcbiIKKysgICAgICAiICBtb3ZxICUlbW0wLCAoJXEwLCUlcmN4LDIpXG4iCisgICAgICAgIiAgIHB1bnBja2x3ZCAlJW1tNiwgJSVtbTRcbiIKKy0gICAgICAiICBtb3ZxICUlbW0xLCAoJTIsJSVyY3gsMilcbiIKKysgICAgICAiICBtb3ZxICUlbW0xLCAoJXEyLCUlcmN4LDIpXG4iCisgICAgICAgIiAgIHB1bnBja2h3ZCAlJW1tNiwgJSVtbTVcbiIKKy0gICAgICAiICAgbW92cSAlJW1tNCwgOCglMCwlJXJjeCwyKVxuIgorLSAgICAgICIgICBtb3ZxICUlbW01LCA4KCUyLCUlcmN4LDIpXG4iCisrICAgICAgIiAgIG1vdnEgJSVtbTQsIDgoJXEwLCUlcmN4LDIpXG4iCisrICAgICAgIiAgIG1vdnEgJSVtbTUsIDgoJXEyLCUlcmN4LDIpXG4iCisgICAgICAgIiAgYWRkICQ4LCAlJXJjeFxuIgorICAgICAgICIgIGNtcCAlMywgJSVlY3hcbiIKKyAgICAgICAiICBqbCAxYlxuIgorQEAgLTI1MiwxMyArMjUyLDEzIEBAIGludGVybGVhdmUyX21teCAoaW50MTZfdCAqZF8yeG4sIGludDE2X3QKKyAgIGFzbSB2b2xhdGlsZSAoIlxuIgorICAgICAgICIgIHhvciAlJXJjeCwgJSVyY3hcbiIKKyAgICAgICAiMTpcbiIKKy0gICAgICAiICBtb3ZxICglMSwlJXJjeCwyKSwgJSVtbTBcbiIKKy0gICAgICAiICBtb3ZxICglMiwlJXJjeCwyKSwgJSVtbTFcbiIKKysgICAgICAiICBtb3ZxICglcTEsJSVyY3gsMiksICUlbW0wXG4iCisrICAgICAgIiAgbW92cSAoJXEyLCUlcmN4LDIpLCAlJW1tMVxuIgorICAgICAgICIgIG1vdnEgJSVtbTAsICUlbW0yXG4iCisgICAgICAgIiAgcHVucGNraHdkICUlbW0xLCAlJW1tMFxuIgorICAgICAgICIgIHB1bnBja2x3ZCAlJW1tMSwgJSVtbTJcbiIKKy0gICAgICAiICBtb3ZxICUlbW0yLCAoJTAsJSVyY3gsNClcbiIKKy0gICAgICAiICBtb3ZxICUlbW0wLCA4KCUwLCUlcmN4LDQpXG4iCisrICAgICAgIiAgbW92cSAlJW1tMiwgKCVxMCwlJXJjeCw0KVxuIgorKyAgICAgICIgIG1vdnEgJSVtbTAsIDgoJXEwLCUlcmN4LDQpXG4iCisgICAgICAgIiAgYWRkICQ0LCAlJXJjeFxuIgorICAgICAgICIgIGNtcCAlMywgJSVlY3hcbiIKKyAgICAgICAiICBqbCAxYlxuIgorQEAgLTI4NSwxMiArMjg1LDEyIEBAIGxpZnRfYWRkX3NoaWZ0MV9tbXggKGludDE2X3QgKmQsIGludDE2X3QKKyAgIGFzbSB2b2xhdGlsZSAoIlxuIgorICAgICAgICIgIHhvciAlJXJjeCwgJSVyY3hcbiIKKyAgICAgICAiMTpcbiIKKy0gICAgICAiICBtb3ZxICglMiwlJXJjeCwyKSwgJSVtbTFcbiIKKy0gICAgICAiICBtb3ZxICglMywlJXJjeCwyKSwgJSVtbTJcbiIKKysgICAgICAiICBtb3ZxICglcTIsJSVyY3gsMiksICUlbW0xXG4iCisrICAgICAgIiAgbW92cSAoJXEzLCUlcmN4LDIpLCAlJW1tMlxuIgorICAgICAgICIgIHBhZGR3ICUlbW0yLCAlJW1tMVxuIgorICAgICAgICIgIHBzcmF3ICQxLCAlJW1tMVxuIgorLSAgICAgICIgIHBhZGR3ICglMSwlJXJjeCwyKSwgJSVtbTFcbiIKKy0gICAgICAiICBtb3ZxICUlbW0xLCAoJTAsJSVyY3gsMilcbiIKKysgICAgICAiICBwYWRkdyAoJXExLCUlcmN4LDIpLCAlJW1tMVxuIgorKyAgICAgICIgIG1vdnEgJSVtbTEsICglcTAsJSVyY3gsMilcbiIKKyAgICAgICAiICBhZGQgJDQsICUlcmN4XG4iCisgICAgICAgIiAgY21wICU0LCAlJWVjeFxuIgorICAgICAgICIgIGpsIDFiXG4iCitAQCAtMzE3LDEzICszMTcsMTMgQEAgbGlmdF9zdWJfc2hpZnQxX21teCAoaW50MTZfdCAqZCwgaW50MTZfdAorICAgYXNtIHZvbGF0aWxlICgiXG4iCisgICAgICAgIiAgeG9yICUlcmN4LCAlJXJjeFxuIgorICAgICAgICIxOlxuIgorLSAgICAgICIgIG1vdnEgKCUyLCUlcmN4LDIpLCAlJW1tMVxuIgorLSAgICAgICIgIG1vdnEgKCUzLCUlcmN4LDIpLCAlJW1tMlxuIgorLSAgICAgICIgIG1vdnEgKCUxLCUlcmN4LDIpLCAlJW1tMFxuIgorKyAgICAgICIgIG1vdnEgKCVxMiwlJXJjeCwyKSwgJSVtbTFcbiIKKysgICAgICAiICBtb3ZxICglcTMsJSVyY3gsMiksICUlbW0yXG4iCisrICAgICAgIiAgbW92cSAoJXExLCUlcmN4LDIpLCAlJW1tMFxuIgorICAgICAgICIgIHBhZGR3ICUlbW0yLCAlJW1tMVxuIgorICAgICAgICIgIHBzcmF3ICQxLCAlJW1tMVxuIgorICAgICAgICIgIHBzdWJ3ICUlbW0xLCAlJW1tMFxuIgorLSAgICAgICIgIG1vdnEgJSVtbTAsICglMCwlJXJjeCwyKVxuIgorKyAgICAgICIgIG1vdnEgJSVtbTAsICglcTAsJSVyY3gsMilcbiIKKyAgICAgICAiICBhZGQgJDQsICUlcmN4XG4iCisgICAgICAgIiAgY21wICU0LCAlJWVjeFxuIgorICAgICAgICIgIGpsIDFiXG4iCitAQCAtMzUwLDEyICszNTAsMTIgQEAgbGlmdF9hZGRfc2hpZnQyX21teCAoaW50MTZfdCAqZCwgaW50MTZfdAorICAgYXNtIHZvbGF0aWxlICgiXG4iCisgICAgICAgIiAgeG9yICUlcmN4LCAlJXJjeFxuIgorICAgICAgICIxOlxuIgorLSAgICAgICIgIG1vdnEgKCUyLCUlcmN4LDIpLCAlJW1tMVxuIgorLSAgICAgICIgIG1vdnEgKCUzLCUlcmN4LDIpLCAlJW1tMlxuIgorKyAgICAgICIgIG1vdnEgKCVxMiwlJXJjeCwyKSwgJSVtbTFcbiIKKysgICAgICAiICBtb3ZxICglcTMsJSVyY3gsMiksICUlbW0yXG4iCisgICAgICAgIiAgcGFkZHcgJSVtbTIsICUlbW0xXG4iCisgICAgICAgIiAgcHNyYXcgJDIsICUlbW0xXG4iCistICAgICAgIiAgcGFkZHcgKCUxLCUlcmN4LDIpLCAlJW1tMVxuIgorLSAgICAgICIgIG1vdnEgJSVtbTEsICglMCwlJXJjeCwyKVxuIgorKyAgICAgICIgIHBhZGR3ICglcTEsJSVyY3gsMiksICUlbW0xXG4iCisrICAgICAgIiAgbW92cSAlJW1tMSwgKCVxMCwlJXJjeCwyKVxuIgorICAgICAgICIgIGFkZCAkNCwgJSVyY3hcbiIKKyAgICAgICAiICBjbXAgJTQsICUlZWN4XG4iCisgICAgICAgIiAgamwgMWJcbiIKK0BAIC0zODIsMTMgKzM4MiwxMyBAQCBsaWZ0X3N1Yl9zaGlmdDJfbW14IChpbnQxNl90ICpkLCBpbnQxNl90CisgICBhc20gdm9sYXRpbGUgKCJcbiIKKyAgICAgICAiICB4b3IgJSVyY3gsICUlcmN4XG4iCisgICAgICAgIjE6XG4iCistICAgICAgIiAgbW92cSAoJTIsJSVyY3gsMiksICUlbW0xXG4iCistICAgICAgIiAgbW92cSAoJTMsJSVyY3gsMiksICUlbW0yXG4iCistICAgICAgIiAgbW92cSAoJTEsJSVyY3gsMiksICUlbW0wXG4iCisrICAgICAgIiAgbW92cSAoJXEyLCUlcmN4LDIpLCAlJW1tMVxuIgorKyAgICAgICIgIG1vdnEgKCVxMywlJXJjeCwyKSwgJSVtbTJcbiIKKysgICAgICAiICBtb3ZxICglcTEsJSVyY3gsMiksICUlbW0wXG4iCisgICAgICAgIiAgcGFkZHcgJSVtbTIsICUlbW0xXG4iCisgICAgICAgIiAgcHNyYXcgJDIsICUlbW0xXG4iCisgICAgICAgIiAgcHN1YncgJSVtbTEsICUlbW0wXG4iCistICAgICAgIiAgbW92cSAlJW1tMCwgKCUwLCUlcmN4LDIpXG4iCisrICAgICAgIiAgbW92cSAlJW1tMCwgKCVxMCwlJXJjeCwyKVxuIgorICAgICAgICIgIGFkZCAkNCwgJSVyY3hcbiIKKyAgICAgICAiICBjbXAgJTQsICUlZWN4XG4iCisgICAgICAgIiAgamwgMWJcbiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJvaWwvbGlib2lsLTAuMy4xNy9uby10ZXN0cy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJvaWwvbGlib2lsLTAuMy4xNy9uby10ZXN0cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTJkNDQxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWwtMC4zLjE3L25vLXRlc3RzLnBhdGNoCkBAIC0wLDAgKzEsMjQgQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZGlzYWJsZSBmZWF0dXJlXQorCistLS0gbGlib2lsLTAuMy45L2xpYm9pbC9saWJvaWxmdW5jdGlvbi5jLm9sZAkyMDA2LTA5LTE4IDEzOjAzOjIwLjAwMDAwMDAwMCArMDEwMAorKysrIGxpYm9pbC0wLjMuOS9saWJvaWwvbGlib2lsZnVuY3Rpb24uYwkyMDA2LTA5LTE4IDEzOjA0OjEwLjAwMDAwMDAwMCArMDEwMAorQEAgLTM0NSw3ICszNDUsOSBAQAorICAgICByZXR1cm47CisgICB9CisgCistICB0ZXN0ID0gb2lsX3Rlc3RfbmV3IChrbGFzcyk7CisrICBrbGFzcy0+Y2hvc2VuX2ltcGwgPSBrbGFzcy0+cmVmZXJlbmNlX2ltcGw7CisrICBrbGFzcy0+ZnVuYyA9IGtsYXNzLT5yZWZlcmVuY2VfaW1wbC0+ZnVuYzsKKysvKiAgdGVzdCA9IG9pbF90ZXN0X25ldyAoa2xhc3MpOworICAgaWYgKHRlc3QgPT0gTlVMTCkgeworICAgICBPSUxfRVJST1IgKCJmYWlsZWQgdG8gdGVzdCBmdW5jdGlvbiBjbGFzcyAlcyIsIGtsYXNzLT5uYW1lKTsKKyAgICAgcmV0dXJuOworQEAgLTM4NSw3ICszODcsNyBAQAorICAga2xhc3MtPmNob3Nlbl9pbXBsID0gbWluX2ltcGw7CisgICBrbGFzcy0+ZnVuYyA9IG1pbl9pbXBsLT5mdW5jOworIAorLSAgb2lsX3Rlc3RfZnJlZSAodGVzdCk7CisrICBvaWxfdGVzdF9mcmVlICh0ZXN0KTsqLworIH0KKyAKKyBzdGF0aWMgdm9pZApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWxfMC4zLjE3LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWxfMC4zLjE3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzYjc3ODUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLXN1cHBvcnQvbGlib2lsL2xpYm9pbF8wLjMuMTcuYmIKQEAgLTAsMCArMSwyNyBAQAorU1VNTUFSWSA9ICJMaWJyYXJ5IG9mIHNpbXBsZSBmdW5jdGlvbnMgb3B0aW1pemVkIGZvciB2YXJpb3VzIENQVXMiCitIT01FUEFHRSA9ICJodHRwOi8vbGlib2lsLmZyZWVkZXNrdG9wLm9yZy8iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvIgorCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWFkODA3ODBkOWM1MjA1ZDYzNDgxYTAxODRlMTk5YTE1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYm9pbC9saWJvaWwuaDtlbmRsaW5lPTI4O21kNT05NWM3OTRhNjZiODg4MDBkOTQ5ZmVkMTdlNDM3ZDlmYiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWJvaWwvbGlib2lsY3B1LmM7ZW5kbGluZT0yODttZDU9ODlkYTY5YTYxZDg4ZWVkY2JhMDY2ZjQyMzUzZmI3NWEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZXhhbXBsZXMvZXhhbXBsZTEuYztlbmRsaW5lPTI5O21kNT05ZDRkYWQ5ZmNiYmRmMDQ0MWVlMDYzZjhhZjUxNzBjOSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly90ZXN0c3VpdGUvdHJhbnMuYztlbmRsaW5lPTI5O21kNT0zODBlY2Q0MzEyMWZlM2RjYzBkOGQ3ZTU5ODRmMjgzZCIKKworREVQRU5EUyA9ICJnbGliLTIuMCIKK1BSID0gInI1IgorCitTUkNfVVJJID0gImh0dHA6Ly9saWJvaWwuZnJlZWRlc2t0b3Aub3JnL2Rvd25sb2FkLyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vbm8tdGVzdHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZml4LXVuYWxpZ25lZC13aGl0ZWxpc3QucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtZW5hYmxlLXZmcC1mbGFnLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2xpYm9pbF9maXhfZm9yX3gzMi5wYXRjaCBcCisgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDdkYzczNGY4MmZhZWIyOTY0ZDk3NzcxY2ZkMmU3MDEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTA1ZjAyMDc5YjBiNTAwMzRjNzU5ZGIzNGI0NzNlY2I1NzA0ZmZhMjBhNTQ4NmI2MGE4Yjc2OTgxMjhiZmM2OSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0FSTV9JTlNUUlVDVElPTl9TRVQgPSAiYXJtIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYnNydHAvbGlic3J0cF8xLjUuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJzcnRwL2xpYnNydHBfMS41LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGVlNjYzNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJzcnRwL2xpYnNydHBfMS41LjIuYmIKQEAgLTAsMCArMSwxOCBAQAorREVTQ1JJUFRJT04gPSAibGlicmFyeSBpbXBsZW1lbnRpbmcgU2VjdXJlIFJUUCAoUkZDIDM3MTEpIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2Npc2NvL2xpYnNydHAiCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MTViYzE2YjlkMmUzMDU5NzRkZGU0N2U3MzM4ODM3MTQiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2Npc2NvL2xpYnNydHAvYXJjaGl2ZS92JHtQVn0udGFyLmd6O2Rvd25sb2FkZmlsZW5hbWU9JHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjIzMDlhYTYwMjc5OTI4MTBhNDI4NWIwNDJjNzFlNjQ0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjg2ZTFlZmUzNTMzOTdjMDc1MWY2YmRkNzA5Nzk0MTQzYmQxYjc2NDk0NDEyODYwZjE2ZmYyYjZkOWMzMDRlZGEiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK2RvX2luc3RhbGxbcG9zdGZ1bmNzXSArPSAiIHJtX3VudXNlZF9iaW5kaXIgIgorCitybV91bnVzZWRfYmluZGlyKCkgeworCXJtZGlyICR7RH0vJHtiaW5kaXJ9Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9DT1BZSU5HLk1JVCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL0NPUFlJTkcuTUlUCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiOTUwZGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9DT1BZSU5HLk1JVApAQCAtMCwwICsxLDE3IEBACitQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IAorb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgCitpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIAordG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCAKK2NvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyAKK2Z1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisKK1RoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIAorYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisKK1RIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SIAorSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIAorRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIAorQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiAKK0xJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIAorT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiAKK1RIRSBTT0ZUV0FSRS4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL01BSU5UQUlORVJTIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvTUFJTlRBSU5FUlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjM4OTY3MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL01BSU5UQUlORVJTCkBAIC0wLDAgKzEsMzggQEAKK1RoaXMgZmlsZSBjb250YWlucyBhIGxpc3Qgb2YgbWFpbnRhaW5lcnMgZm9yIHRoZSBtZXRhLW5ldHdvcmtpbmcgbGF5ZXIuCisKK1BsZWFzZSBzdWJtaXQgYW55IHBhdGNoZXMgYWdhaW5zdCBtZXRhLW5ldHdvcmtpbmcgdG8gdGhlIE9wZW5FbWJlZGRlZAorZGV2ZWxvcG1lbnQgbWFpbGluZyBsaXN0IChvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZykgd2l0aAorJ1ttZXRhLW5ldHdvcmtpbmddW2tyb2dvdGhdJyBpbiB0aGUgc3ViamVjdC4KKworV2hlbiBzZW5kaW5nIHNpbmdsZSBwYXRjaGVzLCBwbGVhc2UgdXNlIHNvbWV0aGluZyBsaWtlOgorCisgICBnaXQgc2VuZC1lbWFpbCAtMSAtTSBcCisgICAgICAgIC0tdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgXAorICAgICAgICAtLXN1YmplY3QtcHJlZml4PW1ldGEtbmV0d29ya2luZ11ba3JvZ290aF1bUEFUQ0gKKwora3JvZ290aCBCcmFuY2ggTWFpbnRhaW5lcjoKK0FybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CisKK1lvdSBtYXkgYWxzbyBjb250YWN0IHRoZSBtYWludGFpbmVycyBkaXJlY3RseS4KKworRGVzY3JpcHRpb25zIG9mIHNlY3Rpb24gZW50cmllczoKKworICAgICAgICBNOiBNYWlsIHBhdGNoZXMgdG86IEZ1bGxOYW1lIDxhZGRyZXNzQGRvbWFpbj4KKyAgICAgICAgRjogRmlsZXMgYW5kIGRpcmVjdG9yaWVzIHdpdGggd2lsZGNhcmQgcGF0dGVybnMuCisgICAgICAgICAgIEEgdHJhaWxpbmcgc2xhc2ggaW5jbHVkZXMgYWxsIGZpbGVzIGFuZCBzdWJkaXJlY3RvcnkgZmlsZXMuCisgICAgICAgICAgIEY6IHJlY2lwZXMtZGV2dG9vbHMvICAgIGFsbCBmaWxlcyBpbiBhbmQgYmVsb3cgcmVjaXBlcy1kZXZ0b29scworICAgICAgICAgICBGOiByZWNpcGVzLXNlbGludXgvKiAgICBhbGwgZmlsZXMgaW4gcmVjaXBlcy1zZWxpbnV4LCBidXQgbm90IGJlbG93CisgICAgICAgICAgIE9uZSBwYXR0ZXJuIHBlciBsaW5lLiAgTXVsdGlwbGUgRjogbGluZXMgYWNjZXB0YWJsZS4KKworUGxlYXNlIGtlZXAgdGhpcyBsaXN0IGluIGFscGhhYmV0aWNhbCBvcmRlci4KKworTWFpbnRhaW5lcnMgTGlzdCAodHJ5IHRvIGxvb2sgZm9yIG1vc3QgcHJlY2lzZSBhcmVhcyBmaXJzdCkKKworQ09NTU9OCitNOiAgICAgIEpvZSBNYWNEb25hbGQgPGpvZV9tYWNkb25hbGRAbWVudG9yLmNvbT4KK0Y6ICAgICAgY29uZgorRjogICAgICByZWNpcGVzLSoKKworTkVUS0lUCitNOiAgICAgIEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CitGOiAgICAgIHJlY2lwZXMtbmV0a2l0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9SRUFETUUgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9SRUFETUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTFiYTI3ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL1JFQURNRQpAQCAtMCwwICsxLDQwIEBACittZXRhLW5ldHdvcmtpbmcKKz09PT09PT09PT09PT09PQorCitUaGlzIGxheWVyIGlzIGludGVuZGVkIHRvIGJlIGEgY2VudHJhbCBwb2ludCBmb3IgbmV0d29ya2luZy1yZWxhdGVkCitwYWNrYWdlcyBhbmQgY29uZmlndXJhdGlvbi4gIEl0IHNob3VsZCBiZSB1c2VmdWwgZGlyZWN0bHkgb24gdG9wIG9mCitvZS1jb3JlIGFuZCBjb21wbGltZW50cyBtZXRhLW9wZW5lbWJlZGRlZC4gIEl0IHNob3VsZCBiZSBwcmltYXJpbHkgdXNlZnVsCit0byB0aGUgZm9sbG93aW5nIGdyb3VwczoKKworICAgICAgLSBBbnlvbmUgYnVpbGRpbmcgYSBzbWFsbCBuZXR3b3JraW5nIGRldmljZSAoZWcuIGEgaG9tZSByb3V0ZXIgLworICAgICAgICBicmlkZ2UgLyBzd2l0Y2gpLgorCisgICAgICAtIEFueW9uZSB3YW50aW5nIHRvIGFkZCBuZXR3b3JrIHNlcnZpY2VzIHRvIHRoZWlyIGRldmljZSAoZWcuCisgICAgICAgIGFueXRoaW5nIHRoYXQgbWlnaHQgYmVuZWZpdCBmcm9tIGEgc21hbGwgZnRwL3RmdHAgc2VydmVyKQorCitEZXBlbmRlbmNpZXMKKy0tLS0tLS0tLS0tLQorCitUaGlzIGxheWVyIGRlcGVuZHMgb246CisKK1VSSTogZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuZW1iZWRkZWQvb3BlbmVtYmVkZGVkLWNvcmUuZ2l0CiticmFuY2g6IG1hc3RlcgorcmV2aXNpb246IEhFQUQKKworRm9yIHNvbWUgcmVjaXBlcywgdGhlIG1ldGEtb2UgbGF5ZXIgaXMgcmVxdWlyZWQ6CisKK1VSSTogZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuZW1iZWRkZWQvbWV0YS1vcGVuZW1iZWRkZWQuZ2l0CitzdWJkaXJlY3Rvcnk6IG1ldGEtb2UKK2JyYW5jaDogbWFzdGVyCityZXZpc2lvbjogSEVBRAorCitVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL21ldGEtb3BlbmVtYmVkZGVkLmdpdAorc3ViZGlyZWN0b3J5OiBtZXRhLXB5dGhvbgorYnJhbmNoOiBtYXN0ZXIKK3JldmlzaW9uOiBIRUFECisKK01haW50ZW5hbmNlCistLS0tLS0tLS0tLQorCitQbGVhc2Ugc2VlIHRoZSBNQUlOVEFJTkVSUyBmaWxlIGZvciBpbmZvcm1hdGlvbiBvbiBjb250YWN0aW5nIHRoZQorbWFpbnRhaW5lcnMgb2YgdGhpcyBsYXllciwgYXMgd2VsbCBhcyBpbnN0cnVjdGlvbnMgZm9yIHN1Ym1pdHRpbmcgcGF0Y2hlcy4gCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9jbGFzc2VzL3dhZi1zYW1iYS5iYmNsYXNzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvY2xhc3Nlcy93YWYtc2FtYmEuYmJjbGFzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NWZiY2MzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvY2xhc3Nlcy93YWYtc2FtYmEuYmJjbGFzcwpAQCAtMCwwICsxLDk1IEBACisjIHdhZiBpcyBhIGJ1aWxkIHN5c3RlbSB3aGljaCBpcyB1c2VkIGJ5IHNhbWJhIHJlbGF0ZWQgcHJvamVjdC4KKyMgT2J0YWluIGRldGFpbHMgZnJvbSBodHRwczovL3dpa2kuc2FtYmEub3JnL2luZGV4LnBocC9XYWYKKyMgCitpbmhlcml0IHFlbXUgcHl0aG9ubmF0aXZlCisKK0RFUEVORFMgKz0gInFlbXUtbmF0aXZlIGxpYnhzbHQtbmF0aXZlIGRvY2Jvb2steHNsLXN0eWxlc2hlZXRzLW5hdGl2ZSBweXRob24iCisKK0NPTkZJR1VSRU9QVFMgPSAiIC0tcHJlZml4PSR7cHJlZml4fSBcCisgICAgICAgICAgICAgICAgICAtLWJpbmRpcj0ke2JpbmRpcn0gXAorICAgICAgICAgICAgICAgICAgLS1zYmluZGlyPSR7c2JpbmRpcn0gXAorICAgICAgICAgICAgICAgICAgLS1saWJleGVjZGlyPSR7bGliZXhlY2Rpcn0gXAorICAgICAgICAgICAgICAgICAgLS1kYXRhZGlyPSR7ZGF0YWRpcn0gXAorICAgICAgICAgICAgICAgICAgLS1zeXNjb25mZGlyPSR7c3lzY29uZmRpcn0gXAorICAgICAgICAgICAgICAgICAgLS1zaGFyZWRzdGF0ZWRpcj0ke3NoYXJlZHN0YXRlZGlyfSBcCisgICAgICAgICAgICAgICAgICAtLWxvY2Fsc3RhdGVkaXI9JHtsb2NhbHN0YXRlZGlyfSBcCisgICAgICAgICAgICAgICAgICAtLWxpYmRpcj0ke2xpYmRpcn0gXAorICAgICAgICAgICAgICAgICAgLS1pbmNsdWRlZGlyPSR7aW5jbHVkZWRpcn0gXAorICAgICAgICAgICAgICAgICAgLS1vbGRpbmNsdWRlZGlyPSR7b2xkaW5jbHVkZWRpcn0gXAorICAgICAgICAgICAgICAgICAgLS1pbmZvZGlyPSR7aW5mb2Rpcn0gXAorICAgICAgICAgICAgICAgICAgLS1tYW5kaXI9JHttYW5kaXJ9IFwKKyAgICAgICAgICAgICAgICAiCisKKyMgVGhyZWUgbWV0aG9kcyBmb3Igd2FmIGNyb3NzIGNvbXBpbGU6CisjIDEuIGFuc3dlcnM6CisjICAgIE9ubHkgLS1jcm9zcy1hbnN3ZXJzIC0gdHJ5IHRoZSBjcm9zcy1hbnN3ZXJzIGZpbGUsIGFuZCBpZgorIyAgICB0aGVyZSdzIG5vIGNvcnJlc3BvbmRpbmcgYW5zd2VyLCBhZGQgdG8gdGhlIGZpbGUgYW5kIG1hcmsKKyMgICAgdGhlIGNvbmZpZ3VyZSBwcm9jZXNzIGFzIHVuZmluaXNoZWQuCisjIDIuIGV4ZWM6CisjICAgIE9ubHkgLS1jcm9zcy1leGVjdXRlIC0gZ2V0IHRoZSBhbnN3ZXIgZnJvbSBjcm9zcy1leGVjdXRlLAorIyAgICBhbiBlbXVsYXRvciAocWVtdSkgaXMgdXNlZCB0byBydW4gY3Jvc3MtY29tcGlsZWQgYmluYXJpZXMuCisjIDMuIGJvdGg6CisjICAgIChub3Rlczogbm90IHN1cHBvcnRlZCBpbiBsb3dlciB2ZXJzaW9uIG9mIHNvbWUgcGFja2FnZXMsCisjICAgICBwbGVhc2UgY2hlY2sgYnVpbGR0b29scy93YWZzYW1iYS9zYW1iYV9jcm9zcy5weSBpbiB0aGUKKyMgICAgIHBhY2thZ2Ugc291cmNlKQorIyAgICBUcnkgdGhlIGNyb3NzLWFuc3dlcnMgZmlsZSBmaXJzdCwgYW5kIGlmIHRoZXJlIGlzIG5vCisjICAgIGNvcnJlc3BvbmRpbmcgYW5zd2VyLCB1c2UgY3Jvc3MtZXhlY3V0ZSB0byBnZXQgYW4gYW5zd2VyLAorIyAgICBhbmQgYWRkIHRoYXQgYW5zd2VyIHRvIHRoZSBmaWxlLgorIworIyBUaGUgZmlyc3Qgb25lIGlzIHByZWZlcnJlZCBzaW5jZSBpdCBtYXkgZmFpbCB3aXRoIDIgb3IgMyBpZgorIyB0aGUgdGFyZ2V0IGJvYXJkIGlzIG5vdCBzdXBvcnRlZCBieSBxZW11LCBidXQgd2UgY2FuIHVzZSAyIG9yIDMKKyMgdG8gaGVscCBnZW5lcmF0ZSB0aGUgY3Jvc3MgYW5zd2VyIHdoZW4gYWRkaW5nIG5ldyBib2FyZCBzdXBwb3J0LgorQ1JPU1NfTUVUSE9EID89ICJhbnN3ZXIiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKworICAgICMgUHJlcGFyZSB0aGUgY3Jvc3MtYW5zd2VycyBmaWxlCisgICAgQ1JPU1NfQU5TV0VSUz0iJHtCfS9jcm9zcy1hbnN3ZXJzLSR7VEFSR0VUX0FSQ0h9LnR4dCIKKyAgICBpZiBbIC1lICR7Q1JPU1NfQU5TV0VSU30gXTsgdGhlbgorICAgICAgICBybSAtZiAke0NST1NTX0FOU1dFUlN9CisgICAgZmkKKyAgICBlY2hvICdDaGVja2luZyB1bmFtZSBtYWNoaW5lIHR5cGU6ICIke1RBUkdFVF9BUkNIfSInID4+ICR7Q1JPU1NfQU5TV0VSU30KKyAgICBlY2hvICdDaGVja2luZyB1bmFtZSByZWxlYXNlIHR5cGU6ICIke09MREVTVF9LRVJORUx9IicgPj4gJHtDUk9TU19BTlNXRVJTfQorICAgIGNhdCAke1dBRl9DUk9TU19BTlNXRVJTX1BBVEh9L2Nyb3NzLWFuc3dlcnMtJHtUQVJHRVRfQVJDSH0udHh0ID4+ICR7Q1JPU1NfQU5TV0VSU30KKworICAgIHFlbXVfYmluYXJ5PSIke0BxZW11X3RhcmdldF9iaW5hcnkoZCl9IgorICAgIGlmIFsgIiR7cWVtdV9iaW5hcnl9IiA9ICJxZW11LWFsbGFyY2giIF07IHRoZW4KKyAgICAgICAgcWVtdV9iaW5hcnk9InFlbXV3cmFwcGVyIgorICAgIGZpCisKKyAgICBsaWJkaXJfcWVtdT0iJHtTVEFHSU5HX0RJUl9IT1NUfS8ke2xpYmRpcn0iCisgICAgYmFzZV9saWJkaXJfcWVtdT0iJHtTVEFHSU5HX0RJUl9IT1NUfS8ke2Jhc2VfbGliZGlyfSIKKworICAgIENST1NTX0VYRUM9IiR7cWVtdV9iaW5hcnl9IFwKKyAgICAgICAgICAgICAgICAke1FFTVVfT1BUSU9OU30gXAorICAgICAgICAgICAgICAgIC1MICR7U1RBR0lOR19ESVJfSE9TVH0gXAorICAgICAgICAgICAgICAgIC1FIExEX0xJQlJBUllfUEFUSD0ke2xpYmRpcl9xZW11fToke2Jhc2VfbGliZGlyX3FlbXV9IgorCisgICAgZXhwb3J0IEJVSUxEX1NZUz0ke0JVSUxEX1NZU30KKyAgICBleHBvcnQgSE9TVF9TWVM9JHtIT1NUX1NZU30KKyAgICBleHBvcnQgQlVJTERfQVJDSD0ke0JVSUxEX0FSQ0h9CisgICAgZXhwb3J0IEhPU1RfQVJDSD0ke0hPU1RfQVJDSH0KKyAgICBleHBvcnQgU1RBR0lOR19MSUJESVI9JHtTVEFHSU5HX0xJQkRJUn0KKyAgICBleHBvcnQgU1RBR0lOR19JTkNESVI9JHtTVEFHSU5HX0lOQ0RJUn0KKyAgICBleHBvcnQgUFlUSE9OUEFUSD0ke1NUQUdJTkdfRElSX0hPU1R9JHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0KKworICAgIENPTkZJR19DTUQ9Ii4vY29uZmlndXJlICR7Q09ORklHVVJFT1BUU30gJHtFWFRSQV9PRUNPTkZ9IC0tY3Jvc3MtY29tcGlsZSIKKyAgICBpZiBbICIke0NST1NTX01FVEhPRH0iID0gImFuc3dlciIgXTsgdGhlbgorICAgICAgICAke0NPTkZJR19DTUR9IC0tY3Jvc3MtYW5zd2Vycz0iJHtDUk9TU19BTlNXRVJTfSIKKyAgICBlbGlmIFsgIiR7Q1JPU1NfTUVUSE9EfSIgPSAiZXhlYyIgXTsgdGhlbgorICAgICAgICAke0NPTkZJR19DTUR9IC0tY3Jvc3MtZXhlYz0iJHtDUk9TU19FWEVDfSIKKyAgICBlbGlmIFsgIiR7Q1JPU1NfTUVUSE9EfSIgPSAiYm90aCIgXTsgdGhlbgorICAgICAgICAke0NPTkZJR19DTUR9IC0tY3Jvc3MtYW5zd2Vycz0iJHtDUk9TU19BTlNXRVJTfSIgLS1jcm9zcy1leGVjPSIke0NST1NTX0VYRUN9IgorICAgIGVsc2UKKyAgICAgICAgZWNobyAiRVJST1I6ICR7Q1JPU1NfTUVUSE9EfSBpcyBub3QgdmFsaWQgZm9yIGNyb3NzLWNvbXBpbGUhIgorICAgICAgICBleGl0IDEKKyAgICBmaQorfQorCitkb19jb21waWxlICgpIHsKKyAgICBweXRob24gLi9idWlsZHRvb2xzL2Jpbi93YWYgJHtQQVJBTExFTF9NQUtFfQorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2NvbmYvbGF5ZXIuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2NvbmYvbGF5ZXIuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZmQ2MzZhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvY29uZi9sYXllci5jb25mCkBAIC0wLDAgKzEsMjMgQEAKKyMgV2UgaGF2ZSBhIGNvbmYgYW5kIGNsYXNzZXMgZGlyZWN0b3J5LCBhZGQgdG8gQkJQQVRICitCQlBBVEggLj0gIjoke0xBWUVSRElSfSIKKworIyBXZSBoYXZlIGEgcGFja2FnZXMgZGlyZWN0b3J5LCBhZGQgdG8gQkJGSUxFUworQkJGSUxFUyArPSAiJHtMQVlFUkRJUn0vcmVjaXBlcy0qLyovKi5iYiBcCisgICAgICAgICAgICAke0xBWUVSRElSfS9yZWNpcGVzLSovKi8qLmJiYXBwZW5kIgorCitCQkZJTEVfQ09MTEVDVElPTlMgKz0gIm5ldHdvcmtpbmctbGF5ZXIiCitCQkZJTEVfUEFUVEVSTl9uZXR3b3JraW5nLWxheWVyIDo9ICJeJHtMQVlFUkRJUn0vIgorQkJGSUxFX1BSSU9SSVRZX25ldHdvcmtpbmctbGF5ZXIgPSAiNSIKKworIyBUaGlzIHNob3VsZCBvbmx5IGJlIGluY3JlbWVudGVkIG9uIHNpZ25pZmljYW50IGNoYW5nZXMgdGhhdCB3aWxsCisjIGNhdXNlIGNvbXBhdGliaWxpdHkgaXNzdWVzIHdpdGggb3RoZXIgbGF5ZXJzCitMQVlFUlZFUlNJT05fbmV0d29ya2luZy1sYXllciA9ICIxIgorCitMQVlFUkRFUEVORFNfbmV0d29ya2luZy1sYXllciA9ICJjb3JlIgorTEFZRVJERVBFTkRTX25ldHdvcmtpbmctbGF5ZXIgKz0gIm9wZW5lbWJlZGRlZC1sYXllciIKK0xBWUVSREVQRU5EU19uZXR3b3JraW5nLWxheWVyICs9ICJtZXRhLXB5dGhvbiIKKworTElDRU5TRV9QQVRIICs9ICIke0xBWUVSRElSfS9saWNlbnNlcyIKKworIyB1c2VkIGJ5IHdhZi1zYW1iYS5iYmNsYXNzCitXQUZfQ1JPU1NfQU5TV0VSU19QQVRIID0gIiR7TEFZRVJESVJ9L2ZpbGVzL3dhZi1jcm9zcy1hbnN3ZXJzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvZmlsZXMvd2FmLWNyb3NzLWFuc3dlcnMvUkVBRE1FIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvZmlsZXMvd2FmLWNyb3NzLWFuc3dlcnMvUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkYTQ1YzUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9maWxlcy93YWYtY3Jvc3MtYW5zd2Vycy9SRUFETUUKQEAgLTAsMCArMSwzIEBACitUaGUgZmlsZXMgaW4gdGhpcyBkaXJlY3RvcnkgYXJlIGNyb3NzIGFuc3dlcnMgZmlsZXMKK3VzZWQgYnkgd2FmLXNhbWJhLmJiY2xhc3MsIHBsZWFzZSBzZWUgd2FmLXNhbWJhLmJiY2xhc3MKK2ZvciBkZXRhaWxzIGFib3V0IGhvdyB0aGV5IGFyZSB1c2VkLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvZmlsZXMvd2FmLWNyb3NzLWFuc3dlcnMvY3Jvc3MtYW5zd2Vycy1hYXJjaDY0LnR4dCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2ZpbGVzL3dhZi1jcm9zcy1hbnN3ZXJzL2Nyb3NzLWFuc3dlcnMtYWFyY2g2NC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmJmN2YxNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2ZpbGVzL3dhZi1jcm9zcy1hbnN3ZXJzL2Nyb3NzLWFuc3dlcnMtYWFyY2g2NC50eHQKQEAgLTAsMCArMSwzOCBAQAorQ2hlY2tpbmcgdW5hbWUgc3lzbmFtZSB0eXBlOiAiTGludXgiCitDaGVja2luZyB1bmFtZSB2ZXJzaW9uIHR5cGU6ICIjIFdlZCBNYXkgMjAgMTA6MzQ6MzkgVVRDIDIwMTUiCitDaGVja2luZyBzaW1wbGUgQyBwcm9ncmFtOiAiaGVsbG8gd29ybGQiCitycGF0aCBsaWJyYXJ5IHN1cHBvcnQ6IE9LCistV2wsLS12ZXJzaW9uLXNjcmlwdCBzdXBwb3J0OiBPSworQ2hlY2tpbmcgZ2V0Y29uZiBMRlNfQ0ZMQUdTOiBOTworQ2hlY2tpbmcgY29ycmVjdCBiZWhhdmlvciBvZiBzdHJ0b2xsOiBOTworQ2hlY2tpbmcgZm9yIHdvcmtpbmcgc3RycHRpbWU6IE9LCitDaGVja2luZyBmb3IgQzk5IHZzbnByaW50ZjogIjEiCitDaGVja2luZyBmb3IgSEFWRV9TSEFSRURfTU1BUDogT0sKK0NoZWNraW5nIGZvciBIQVZFX01SRU1BUDogT0sKK0NoZWNraW5nIGZvciBIQVZFX1NFQ1VSRV9NS1NURU1QOiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfSUZBQ0VfR0VUSUZBRERSUzogTk8KK0NoZWNraW5nIGZvciBIQVZFX0lGQUNFX0lGQ09ORjogTk8KK0NoZWNraW5nIGZvciBIQVZFX0lGQUNFX0lGUkVROiBOTworQ2hlY2tpbmcgZm9yIGxhcmdlIGZpbGUgc3VwcG9ydCB3aXRob3V0IGFkZGl0aW9uYWwgZmxhZ3M6IE9LCitDaGVja2luZyBmb3IgSEFWRV9JTkNPSEVSRU5UX01NQVA6IE5PCitDaGVja2luZyB2YWx1ZSBvZiBOU0lHOiAiNjUiCitDaGVja2luZyB2YWx1ZSBvZiBfTlNJRzogIjY1IgorQ2hlY2tpbmcgdmFsdWUgb2YgU0lHUlRNQVg6ICI2NCIKK0NoZWNraW5nIHZhbHVlIG9mIFNJR1JUTUlOOiAiMzQiCitDaGVja2luZyB3aGV0aGVyIHRoZSBXUkZJTEUgLWtleXRhYiBpcyBzdXBwb3J0ZWQ6IE9LCitDaGVja2luZyBmb3Iga2VybmVsIGNoYW5nZSBub3RpZnkgc3VwcG9ydDogT0sKK0NoZWNraW5nIGZvciBMaW51eCBrZXJuZWwgb3Bsb2NrczogT0sKK0NoZWNraW5nIGZvciBrZXJuZWwgc2hhcmUgbW9kZXM6IE9LCitDaGVja2luZyB3aGV0aGVyIFBPU0lYIGNhcGFiaWxpdGllcyBhcmUgYXZhaWxhYmxlOiBPSworQ2hlY2tpbmcgaWYgY2FuIHdlIGNvbnZlcnQgZnJvbSBDUDg1MCB0byBVQ1MtMkxFOiBPSworQ2hlY2tpbmcgaWYgY2FuIHdlIGNvbnZlcnQgZnJvbSBVVEYtOCB0byBVQ1MtMkxFOiBPSwordmZzX2ZpbGVpZCBjaGVja2luZyBmb3Igc3RhdGZzKCkgYW5kIHN0cnVjdCBzdGF0ZnMuZl9mc2lkOiBPSworQ2hlY2tpbmcgd2hldGhlciB3ZSBjYW4gdXNlIExpbnV4IHRocmVhZC1zcGVjaWZpYyBjcmVkZW50aWFsczogT0sKK0NoZWNraW5nIHdoZXRoZXIgZmNudGwgbG9ja2luZyBpcyBhdmFpbGFibGU6IE9LCitDaGVja2luZyBmb3IgdGhlIG1heGltdW0gdmFsdWUgb2YgdGhlICd0aW1lX3QnIHR5cGU6IE9LCitDaGVja2luZyB3aGV0aGVyIHRoZSByZWFscGF0aCBmdW5jdGlvbiBhbGxvd3MgYSBOVUxMIGFyZ3VtZW50OiBPSworQ2hlY2tpbmcgZm9yIGZ0cnVuY2F0ZSBleHRlbmQ6IE9LCitnZXRjd2QgdGFrZXMgYSBOVUxMIGFyZ3VtZW50OiBPSworQ2hlY2tpbmcgZm9yIHNtYWxsIG9mZl90OiBOTworQ2hlY2tpbmcgd2hldGhlciBibGtjbnRfdCBpcyAzMiBiaXQ6IE5PCitDaGVja2luZyB3aGV0aGVyIGJsa2NudF90IGlzIDY0IGJpdDogT0sKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2ZpbGVzL3dhZi1jcm9zcy1hbnN3ZXJzL2Nyb3NzLWFuc3dlcnMtYXJtLnR4dCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2ZpbGVzL3dhZi1jcm9zcy1hbnN3ZXJzL2Nyb3NzLWFuc3dlcnMtYXJtLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTI2ZmNkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvZmlsZXMvd2FmLWNyb3NzLWFuc3dlcnMvY3Jvc3MtYW5zd2Vycy1hcm0udHh0CkBAIC0wLDAgKzEsMzkgQEAKK0NoZWNraW5nIHVuYW1lIHN5c25hbWUgdHlwZTogIkxpbnV4IgorQ2hlY2tpbmcgdW5hbWUgdmVyc2lvbiB0eXBlOiAiIyBXZWQgTWF5IDIwIDEwOjM0OjM5IFVUQyAyMDE1IgorQ2hlY2tpbmcgc2ltcGxlIEMgcHJvZ3JhbTogImhlbGxvIHdvcmxkIgorcnBhdGggbGlicmFyeSBzdXBwb3J0OiBPSworLVdsLC0tdmVyc2lvbi1zY3JpcHQgc3VwcG9ydDogT0sKK0NoZWNraW5nIGdldGNvbmYgTEZTX0NGTEFHUzogTk8KK0NoZWNraW5nIGNvcnJlY3QgYmVoYXZpb3Igb2Ygc3RydG9sbDogTk8KK0NoZWNraW5nIGZvciB3b3JraW5nIHN0cnB0aW1lOiBPSworQ2hlY2tpbmcgZm9yIEM5OSB2c25wcmludGY6ICIxIgorQ2hlY2tpbmcgZm9yIEhBVkVfU0hBUkVEX01NQVA6IE9LCitDaGVja2luZyBmb3IgSEFWRV9NUkVNQVA6IE9LCitDaGVja2luZyBmb3IgSEFWRV9TRUNVUkVfTUtTVEVNUDogT0sKK0NoZWNraW5nIGZvciBIQVZFX0lGQUNFX0dFVElGQUREUlM6IE5PCitDaGVja2luZyBmb3IgSEFWRV9JRkFDRV9JRkNPTkY6IE5PCitDaGVja2luZyBmb3IgSEFWRV9JRkFDRV9JRlJFUTogTk8KK0NoZWNraW5nIGZvciBsYXJnZSBmaWxlIHN1cHBvcnQgd2l0aG91dCBhZGRpdGlvbmFsIGZsYWdzOiBOTworQ2hlY2tpbmcgZm9yIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQ6IE9LCitDaGVja2luZyBmb3IgSEFWRV9JTkNPSEVSRU5UX01NQVA6IE5PCitDaGVja2luZyB2YWx1ZSBvZiBOU0lHOiAiNjUiCitDaGVja2luZyB2YWx1ZSBvZiBfTlNJRzogIjY1IgorQ2hlY2tpbmcgdmFsdWUgb2YgU0lHUlRNQVg6ICI2NCIKK0NoZWNraW5nIHZhbHVlIG9mIFNJR1JUTUlOOiAiMzQiCitDaGVja2luZyB3aGV0aGVyIHRoZSBXUkZJTEUgLWtleXRhYiBpcyBzdXBwb3J0ZWQ6IE9LCitDaGVja2luZyBmb3Iga2VybmVsIGNoYW5nZSBub3RpZnkgc3VwcG9ydDogT0sKK0NoZWNraW5nIGZvciBMaW51eCBrZXJuZWwgb3Bsb2NrczogT0sKK0NoZWNraW5nIGZvciBrZXJuZWwgc2hhcmUgbW9kZXM6IE9LCitDaGVja2luZyB3aGV0aGVyIFBPU0lYIGNhcGFiaWxpdGllcyBhcmUgYXZhaWxhYmxlOiBPSworQ2hlY2tpbmcgaWYgY2FuIHdlIGNvbnZlcnQgZnJvbSBDUDg1MCB0byBVQ1MtMkxFOiBPSworQ2hlY2tpbmcgaWYgY2FuIHdlIGNvbnZlcnQgZnJvbSBVVEYtOCB0byBVQ1MtMkxFOiBPSwordmZzX2ZpbGVpZCBjaGVja2luZyBmb3Igc3RhdGZzKCkgYW5kIHN0cnVjdCBzdGF0ZnMuZl9mc2lkOiBPSworQ2hlY2tpbmcgd2hldGhlciB3ZSBjYW4gdXNlIExpbnV4IHRocmVhZC1zcGVjaWZpYyBjcmVkZW50aWFscyB3aXRoIDMyLWJpdCBzeXN0ZW0gY2FsbHM6IE9LCitDaGVja2luZyB3aGV0aGVyIGZjbnRsIGxvY2tpbmcgaXMgYXZhaWxhYmxlOiBPSworQ2hlY2tpbmcgZm9yIHRoZSBtYXhpbXVtIHZhbHVlIG9mIHRoZSAndGltZV90JyB0eXBlOiBOTworQ2hlY2tpbmcgd2hldGhlciB0aGUgcmVhbHBhdGggZnVuY3Rpb24gYWxsb3dzIGEgTlVMTCBhcmd1bWVudDogT0sKK0NoZWNraW5nIGZvciBmdHJ1bmNhdGUgZXh0ZW5kOiBPSworZ2V0Y3dkIHRha2VzIGEgTlVMTCBhcmd1bWVudDogT0sKK0NoZWNraW5nIGZvciBzbWFsbCBvZmZfdDogTk8KK0NoZWNraW5nIHdoZXRoZXIgYmxrY250X3QgaXMgMzIgYml0OiBOTworQ2hlY2tpbmcgd2hldGhlciBibGtjbnRfdCBpcyA2NCBiaXQ6IE9LCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9maWxlcy93YWYtY3Jvc3MtYW5zd2Vycy9jcm9zcy1hbnN3ZXJzLWk1ODYudHh0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvZmlsZXMvd2FmLWNyb3NzLWFuc3dlcnMvY3Jvc3MtYW5zd2Vycy1pNTg2LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTI2ZmNkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvZmlsZXMvd2FmLWNyb3NzLWFuc3dlcnMvY3Jvc3MtYW5zd2Vycy1pNTg2LnR4dApAQCAtMCwwICsxLDM5IEBACitDaGVja2luZyB1bmFtZSBzeXNuYW1lIHR5cGU6ICJMaW51eCIKK0NoZWNraW5nIHVuYW1lIHZlcnNpb24gdHlwZTogIiMgV2VkIE1heSAyMCAxMDozNDozOSBVVEMgMjAxNSIKK0NoZWNraW5nIHNpbXBsZSBDIHByb2dyYW06ICJoZWxsbyB3b3JsZCIKK3JwYXRoIGxpYnJhcnkgc3VwcG9ydDogT0sKKy1XbCwtLXZlcnNpb24tc2NyaXB0IHN1cHBvcnQ6IE9LCitDaGVja2luZyBnZXRjb25mIExGU19DRkxBR1M6IE5PCitDaGVja2luZyBjb3JyZWN0IGJlaGF2aW9yIG9mIHN0cnRvbGw6IE5PCitDaGVja2luZyBmb3Igd29ya2luZyBzdHJwdGltZTogT0sKK0NoZWNraW5nIGZvciBDOTkgdnNucHJpbnRmOiAiMSIKK0NoZWNraW5nIGZvciBIQVZFX1NIQVJFRF9NTUFQOiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfTVJFTUFQOiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfU0VDVVJFX01LU1RFTVA6IE9LCitDaGVja2luZyBmb3IgSEFWRV9JRkFDRV9HRVRJRkFERFJTOiBOTworQ2hlY2tpbmcgZm9yIEhBVkVfSUZBQ0VfSUZDT05GOiBOTworQ2hlY2tpbmcgZm9yIEhBVkVfSUZBQ0VfSUZSRVE6IE5PCitDaGVja2luZyBmb3IgbGFyZ2UgZmlsZSBzdXBwb3J0IHdpdGhvdXQgYWRkaXRpb25hbCBmbGFnczogTk8KK0NoZWNraW5nIGZvciAtRF9GSUxFX09GRlNFVF9CSVRTPTY0OiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfSU5DT0hFUkVOVF9NTUFQOiBOTworQ2hlY2tpbmcgdmFsdWUgb2YgTlNJRzogIjY1IgorQ2hlY2tpbmcgdmFsdWUgb2YgX05TSUc6ICI2NSIKK0NoZWNraW5nIHZhbHVlIG9mIFNJR1JUTUFYOiAiNjQiCitDaGVja2luZyB2YWx1ZSBvZiBTSUdSVE1JTjogIjM0IgorQ2hlY2tpbmcgd2hldGhlciB0aGUgV1JGSUxFIC1rZXl0YWIgaXMgc3VwcG9ydGVkOiBPSworQ2hlY2tpbmcgZm9yIGtlcm5lbCBjaGFuZ2Ugbm90aWZ5IHN1cHBvcnQ6IE9LCitDaGVja2luZyBmb3IgTGludXgga2VybmVsIG9wbG9ja3M6IE9LCitDaGVja2luZyBmb3Iga2VybmVsIHNoYXJlIG1vZGVzOiBPSworQ2hlY2tpbmcgd2hldGhlciBQT1NJWCBjYXBhYmlsaXRpZXMgYXJlIGF2YWlsYWJsZTogT0sKK0NoZWNraW5nIGlmIGNhbiB3ZSBjb252ZXJ0IGZyb20gQ1A4NTAgdG8gVUNTLTJMRTogT0sKK0NoZWNraW5nIGlmIGNhbiB3ZSBjb252ZXJ0IGZyb20gVVRGLTggdG8gVUNTLTJMRTogT0sKK3Zmc19maWxlaWQgY2hlY2tpbmcgZm9yIHN0YXRmcygpIGFuZCBzdHJ1Y3Qgc3RhdGZzLmZfZnNpZDogT0sKK0NoZWNraW5nIHdoZXRoZXIgd2UgY2FuIHVzZSBMaW51eCB0aHJlYWQtc3BlY2lmaWMgY3JlZGVudGlhbHMgd2l0aCAzMi1iaXQgc3lzdGVtIGNhbGxzOiBPSworQ2hlY2tpbmcgd2hldGhlciBmY250bCBsb2NraW5nIGlzIGF2YWlsYWJsZTogT0sKK0NoZWNraW5nIGZvciB0aGUgbWF4aW11bSB2YWx1ZSBvZiB0aGUgJ3RpbWVfdCcgdHlwZTogTk8KK0NoZWNraW5nIHdoZXRoZXIgdGhlIHJlYWxwYXRoIGZ1bmN0aW9uIGFsbG93cyBhIE5VTEwgYXJndW1lbnQ6IE9LCitDaGVja2luZyBmb3IgZnRydW5jYXRlIGV4dGVuZDogT0sKK2dldGN3ZCB0YWtlcyBhIE5VTEwgYXJndW1lbnQ6IE9LCitDaGVja2luZyBmb3Igc21hbGwgb2ZmX3Q6IE5PCitDaGVja2luZyB3aGV0aGVyIGJsa2NudF90IGlzIDMyIGJpdDogTk8KK0NoZWNraW5nIHdoZXRoZXIgYmxrY250X3QgaXMgNjQgYml0OiBPSwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvZmlsZXMvd2FmLWNyb3NzLWFuc3dlcnMvY3Jvc3MtYW5zd2Vycy1pNjg2LnR4dCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2ZpbGVzL3dhZi1jcm9zcy1hbnN3ZXJzL2Nyb3NzLWFuc3dlcnMtaTY4Ni50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTkyNmZjZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2ZpbGVzL3dhZi1jcm9zcy1hbnN3ZXJzL2Nyb3NzLWFuc3dlcnMtaTY4Ni50eHQKQEAgLTAsMCArMSwzOSBAQAorQ2hlY2tpbmcgdW5hbWUgc3lzbmFtZSB0eXBlOiAiTGludXgiCitDaGVja2luZyB1bmFtZSB2ZXJzaW9uIHR5cGU6ICIjIFdlZCBNYXkgMjAgMTA6MzQ6MzkgVVRDIDIwMTUiCitDaGVja2luZyBzaW1wbGUgQyBwcm9ncmFtOiAiaGVsbG8gd29ybGQiCitycGF0aCBsaWJyYXJ5IHN1cHBvcnQ6IE9LCistV2wsLS12ZXJzaW9uLXNjcmlwdCBzdXBwb3J0OiBPSworQ2hlY2tpbmcgZ2V0Y29uZiBMRlNfQ0ZMQUdTOiBOTworQ2hlY2tpbmcgY29ycmVjdCBiZWhhdmlvciBvZiBzdHJ0b2xsOiBOTworQ2hlY2tpbmcgZm9yIHdvcmtpbmcgc3RycHRpbWU6IE9LCitDaGVja2luZyBmb3IgQzk5IHZzbnByaW50ZjogIjEiCitDaGVja2luZyBmb3IgSEFWRV9TSEFSRURfTU1BUDogT0sKK0NoZWNraW5nIGZvciBIQVZFX01SRU1BUDogT0sKK0NoZWNraW5nIGZvciBIQVZFX1NFQ1VSRV9NS1NURU1QOiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfSUZBQ0VfR0VUSUZBRERSUzogTk8KK0NoZWNraW5nIGZvciBIQVZFX0lGQUNFX0lGQ09ORjogTk8KK0NoZWNraW5nIGZvciBIQVZFX0lGQUNFX0lGUkVROiBOTworQ2hlY2tpbmcgZm9yIGxhcmdlIGZpbGUgc3VwcG9ydCB3aXRob3V0IGFkZGl0aW9uYWwgZmxhZ3M6IE5PCitDaGVja2luZyBmb3IgLURfRklMRV9PRkZTRVRfQklUUz02NDogT0sKK0NoZWNraW5nIGZvciBIQVZFX0lOQ09IRVJFTlRfTU1BUDogTk8KK0NoZWNraW5nIHZhbHVlIG9mIE5TSUc6ICI2NSIKK0NoZWNraW5nIHZhbHVlIG9mIF9OU0lHOiAiNjUiCitDaGVja2luZyB2YWx1ZSBvZiBTSUdSVE1BWDogIjY0IgorQ2hlY2tpbmcgdmFsdWUgb2YgU0lHUlRNSU46ICIzNCIKK0NoZWNraW5nIHdoZXRoZXIgdGhlIFdSRklMRSAta2V5dGFiIGlzIHN1cHBvcnRlZDogT0sKK0NoZWNraW5nIGZvciBrZXJuZWwgY2hhbmdlIG5vdGlmeSBzdXBwb3J0OiBPSworQ2hlY2tpbmcgZm9yIExpbnV4IGtlcm5lbCBvcGxvY2tzOiBPSworQ2hlY2tpbmcgZm9yIGtlcm5lbCBzaGFyZSBtb2RlczogT0sKK0NoZWNraW5nIHdoZXRoZXIgUE9TSVggY2FwYWJpbGl0aWVzIGFyZSBhdmFpbGFibGU6IE9LCitDaGVja2luZyBpZiBjYW4gd2UgY29udmVydCBmcm9tIENQODUwIHRvIFVDUy0yTEU6IE9LCitDaGVja2luZyBpZiBjYW4gd2UgY29udmVydCBmcm9tIFVURi04IHRvIFVDUy0yTEU6IE9LCit2ZnNfZmlsZWlkIGNoZWNraW5nIGZvciBzdGF0ZnMoKSBhbmQgc3RydWN0IHN0YXRmcy5mX2ZzaWQ6IE9LCitDaGVja2luZyB3aGV0aGVyIHdlIGNhbiB1c2UgTGludXggdGhyZWFkLXNwZWNpZmljIGNyZWRlbnRpYWxzIHdpdGggMzItYml0IHN5c3RlbSBjYWxsczogT0sKK0NoZWNraW5nIHdoZXRoZXIgZmNudGwgbG9ja2luZyBpcyBhdmFpbGFibGU6IE9LCitDaGVja2luZyBmb3IgdGhlIG1heGltdW0gdmFsdWUgb2YgdGhlICd0aW1lX3QnIHR5cGU6IE5PCitDaGVja2luZyB3aGV0aGVyIHRoZSByZWFscGF0aCBmdW5jdGlvbiBhbGxvd3MgYSBOVUxMIGFyZ3VtZW50OiBPSworQ2hlY2tpbmcgZm9yIGZ0cnVuY2F0ZSBleHRlbmQ6IE9LCitnZXRjd2QgdGFrZXMgYSBOVUxMIGFyZ3VtZW50OiBPSworQ2hlY2tpbmcgZm9yIHNtYWxsIG9mZl90OiBOTworQ2hlY2tpbmcgd2hldGhlciBibGtjbnRfdCBpcyAzMiBiaXQ6IE5PCitDaGVja2luZyB3aGV0aGVyIGJsa2NudF90IGlzIDY0IGJpdDogT0sKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2ZpbGVzL3dhZi1jcm9zcy1hbnN3ZXJzL2Nyb3NzLWFuc3dlcnMtbWlwcy50eHQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9maWxlcy93YWYtY3Jvc3MtYW5zd2Vycy9jcm9zcy1hbnN3ZXJzLW1pcHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4YmZhMDIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9maWxlcy93YWYtY3Jvc3MtYW5zd2Vycy9jcm9zcy1hbnN3ZXJzLW1pcHMudHh0CkBAIC0wLDAgKzEsMzkgQEAKK0NoZWNraW5nIHVuYW1lIHN5c25hbWUgdHlwZTogIkxpbnV4IgorQ2hlY2tpbmcgdW5hbWUgdmVyc2lvbiB0eXBlOiAiIyBXZWQgTWF5IDIwIDEwOjM0OjM5IFVUQyAyMDE1IgorQ2hlY2tpbmcgc2ltcGxlIEMgcHJvZ3JhbTogImhlbGxvIHdvcmxkIgorcnBhdGggbGlicmFyeSBzdXBwb3J0OiBPSworLVdsLC0tdmVyc2lvbi1zY3JpcHQgc3VwcG9ydDogT0sKK0NoZWNraW5nIGdldGNvbmYgTEZTX0NGTEFHUzogTk8KK0NoZWNraW5nIGNvcnJlY3QgYmVoYXZpb3Igb2Ygc3RydG9sbDogTk8KK0NoZWNraW5nIGZvciB3b3JraW5nIHN0cnB0aW1lOiBPSworQ2hlY2tpbmcgZm9yIEM5OSB2c25wcmludGY6ICIxIgorQ2hlY2tpbmcgZm9yIEhBVkVfU0hBUkVEX01NQVA6IE9LCitDaGVja2luZyBmb3IgSEFWRV9NUkVNQVA6IE9LCitDaGVja2luZyBmb3IgSEFWRV9TRUNVUkVfTUtTVEVNUDogT0sKK0NoZWNraW5nIGZvciBIQVZFX0lGQUNFX0dFVElGQUREUlM6IE5PCitDaGVja2luZyBmb3IgSEFWRV9JRkFDRV9JRkNPTkY6IE5PCitDaGVja2luZyBmb3IgSEFWRV9JRkFDRV9JRlJFUTogTk8KK0NoZWNraW5nIGZvciBsYXJnZSBmaWxlIHN1cHBvcnQgd2l0aG91dCBhZGRpdGlvbmFsIGZsYWdzOiBOTworQ2hlY2tpbmcgZm9yIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQ6IE9LCitDaGVja2luZyBmb3IgSEFWRV9JTkNPSEVSRU5UX01NQVA6IE5PCitDaGVja2luZyB2YWx1ZSBvZiBOU0lHOiAiMTI4IgorQ2hlY2tpbmcgdmFsdWUgb2YgX05TSUc6ICIxMjgiCitDaGVja2luZyB2YWx1ZSBvZiBTSUdSVE1BWDogIjEyNyIKK0NoZWNraW5nIHZhbHVlIG9mIFNJR1JUTUlOOiAiMzQiCitDaGVja2luZyB3aGV0aGVyIHRoZSBXUkZJTEUgLWtleXRhYiBpcyBzdXBwb3J0ZWQ6IE9LCitDaGVja2luZyBmb3Iga2VybmVsIGNoYW5nZSBub3RpZnkgc3VwcG9ydDogT0sKK0NoZWNraW5nIGZvciBMaW51eCBrZXJuZWwgb3Bsb2NrczogT0sKK0NoZWNraW5nIGZvciBrZXJuZWwgc2hhcmUgbW9kZXM6IE9LCitDaGVja2luZyB3aGV0aGVyIFBPU0lYIGNhcGFiaWxpdGllcyBhcmUgYXZhaWxhYmxlOiBPSworQ2hlY2tpbmcgaWYgY2FuIHdlIGNvbnZlcnQgZnJvbSBDUDg1MCB0byBVQ1MtMkxFOiBPSworQ2hlY2tpbmcgaWYgY2FuIHdlIGNvbnZlcnQgZnJvbSBVVEYtOCB0byBVQ1MtMkxFOiBPSwordmZzX2ZpbGVpZCBjaGVja2luZyBmb3Igc3RhdGZzKCkgYW5kIHN0cnVjdCBzdGF0ZnMuZl9mc2lkOiBPSworQ2hlY2tpbmcgd2hldGhlciB3ZSBjYW4gdXNlIExpbnV4IHRocmVhZC1zcGVjaWZpYyBjcmVkZW50aWFsczogT0sKK0NoZWNraW5nIHdoZXRoZXIgZmNudGwgbG9ja2luZyBpcyBhdmFpbGFibGU6IE9LCitDaGVja2luZyBmb3IgdGhlIG1heGltdW0gdmFsdWUgb2YgdGhlICd0aW1lX3QnIHR5cGU6IE5PCitDaGVja2luZyB3aGV0aGVyIHRoZSByZWFscGF0aCBmdW5jdGlvbiBhbGxvd3MgYSBOVUxMIGFyZ3VtZW50OiBPSworQ2hlY2tpbmcgZm9yIGZ0cnVuY2F0ZSBleHRlbmQ6IE9LCitnZXRjd2QgdGFrZXMgYSBOVUxMIGFyZ3VtZW50OiBPSworQ2hlY2tpbmcgZm9yIHNtYWxsIG9mZl90OiBOTworQ2hlY2tpbmcgd2hldGhlciBibGtjbnRfdCBpcyAzMiBiaXQ6IE5PCitDaGVja2luZyB3aGV0aGVyIGJsa2NudF90IGlzIDY0IGJpdDogT0sKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2ZpbGVzL3dhZi1jcm9zcy1hbnN3ZXJzL2Nyb3NzLWFuc3dlcnMtbWlwczY0LnR4dCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2ZpbGVzL3dhZi1jcm9zcy1hbnN3ZXJzL2Nyb3NzLWFuc3dlcnMtbWlwczY0LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZmEwMTVhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvZmlsZXMvd2FmLWNyb3NzLWFuc3dlcnMvY3Jvc3MtYW5zd2Vycy1taXBzNjQudHh0CkBAIC0wLDAgKzEsMzggQEAKK0NoZWNraW5nIHVuYW1lIHN5c25hbWUgdHlwZTogIkxpbnV4IgorQ2hlY2tpbmcgdW5hbWUgdmVyc2lvbiB0eXBlOiAiIyBXZWQgTWF5IDIwIDEwOjM0OjM5IFVUQyAyMDE1IgorQ2hlY2tpbmcgc2ltcGxlIEMgcHJvZ3JhbTogImhlbGxvIHdvcmxkIgorcnBhdGggbGlicmFyeSBzdXBwb3J0OiBPSworLVdsLC0tdmVyc2lvbi1zY3JpcHQgc3VwcG9ydDogT0sKK0NoZWNraW5nIGdldGNvbmYgTEZTX0NGTEFHUzogTk8KK0NoZWNraW5nIGNvcnJlY3QgYmVoYXZpb3Igb2Ygc3RydG9sbDogTk8KK0NoZWNraW5nIGZvciB3b3JraW5nIHN0cnB0aW1lOiBPSworQ2hlY2tpbmcgZm9yIEM5OSB2c25wcmludGY6ICIxIgorQ2hlY2tpbmcgZm9yIEhBVkVfU0hBUkVEX01NQVA6IE9LCitDaGVja2luZyBmb3IgSEFWRV9NUkVNQVA6IE9LCitDaGVja2luZyBmb3IgSEFWRV9TRUNVUkVfTUtTVEVNUDogT0sKK0NoZWNraW5nIGZvciBIQVZFX0lGQUNFX0dFVElGQUREUlM6IE5PCitDaGVja2luZyBmb3IgSEFWRV9JRkFDRV9JRkNPTkY6IE5PCitDaGVja2luZyBmb3IgSEFWRV9JRkFDRV9JRlJFUTogTk8KK0NoZWNraW5nIGZvciBsYXJnZSBmaWxlIHN1cHBvcnQgd2l0aG91dCBhZGRpdGlvbmFsIGZsYWdzOiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfSU5DT0hFUkVOVF9NTUFQOiBPSworQ2hlY2tpbmcgdmFsdWUgb2YgTlNJRzogIjEyOCIKK0NoZWNraW5nIHZhbHVlIG9mIF9OU0lHOiAiMTI4IgorQ2hlY2tpbmcgdmFsdWUgb2YgU0lHUlRNQVg6ICIxMjciCitDaGVja2luZyB2YWx1ZSBvZiBTSUdSVE1JTjogIjM0IgorQ2hlY2tpbmcgd2hldGhlciB0aGUgV1JGSUxFIC1rZXl0YWIgaXMgc3VwcG9ydGVkOiBPSworQ2hlY2tpbmcgZm9yIGtlcm5lbCBjaGFuZ2Ugbm90aWZ5IHN1cHBvcnQ6IE9LCitDaGVja2luZyBmb3IgTGludXgga2VybmVsIG9wbG9ja3M6IE9LCitDaGVja2luZyBmb3Iga2VybmVsIHNoYXJlIG1vZGVzOiBPSworQ2hlY2tpbmcgd2hldGhlciBQT1NJWCBjYXBhYmlsaXRpZXMgYXJlIGF2YWlsYWJsZTogT0sKK0NoZWNraW5nIGlmIGNhbiB3ZSBjb252ZXJ0IGZyb20gQ1A4NTAgdG8gVUNTLTJMRTogT0sKK0NoZWNraW5nIGlmIGNhbiB3ZSBjb252ZXJ0IGZyb20gVVRGLTggdG8gVUNTLTJMRTogT0sKK3Zmc19maWxlaWQgY2hlY2tpbmcgZm9yIHN0YXRmcygpIGFuZCBzdHJ1Y3Qgc3RhdGZzLmZfZnNpZDogT0sKK0NoZWNraW5nIHdoZXRoZXIgd2UgY2FuIHVzZSBMaW51eCB0aHJlYWQtc3BlY2lmaWMgY3JlZGVudGlhbHM6IE9LCitDaGVja2luZyB3aGV0aGVyIGZjbnRsIGxvY2tpbmcgaXMgYXZhaWxhYmxlOiBPSworQ2hlY2tpbmcgZm9yIHRoZSBtYXhpbXVtIHZhbHVlIG9mIHRoZSAndGltZV90JyB0eXBlOiBPSworQ2hlY2tpbmcgd2hldGhlciB0aGUgcmVhbHBhdGggZnVuY3Rpb24gYWxsb3dzIGEgTlVMTCBhcmd1bWVudDogT0sKK0NoZWNraW5nIGZvciBmdHJ1bmNhdGUgZXh0ZW5kOiBPSworZ2V0Y3dkIHRha2VzIGEgTlVMTCBhcmd1bWVudDogT0sKK0NoZWNraW5nIGZvciBzbWFsbCBvZmZfdDogTk8KK0NoZWNraW5nIHdoZXRoZXIgYmxrY250X3QgaXMgMzIgYml0OiBOTworQ2hlY2tpbmcgd2hldGhlciBibGtjbnRfdCBpcyA2NCBiaXQ6IE9LCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9maWxlcy93YWYtY3Jvc3MtYW5zd2Vycy9jcm9zcy1hbnN3ZXJzLW1pcHNlbC50eHQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9maWxlcy93YWYtY3Jvc3MtYW5zd2Vycy9jcm9zcy1hbnN3ZXJzLW1pcHNlbC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMThiZmEwMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2ZpbGVzL3dhZi1jcm9zcy1hbnN3ZXJzL2Nyb3NzLWFuc3dlcnMtbWlwc2VsLnR4dApAQCAtMCwwICsxLDM5IEBACitDaGVja2luZyB1bmFtZSBzeXNuYW1lIHR5cGU6ICJMaW51eCIKK0NoZWNraW5nIHVuYW1lIHZlcnNpb24gdHlwZTogIiMgV2VkIE1heSAyMCAxMDozNDozOSBVVEMgMjAxNSIKK0NoZWNraW5nIHNpbXBsZSBDIHByb2dyYW06ICJoZWxsbyB3b3JsZCIKK3JwYXRoIGxpYnJhcnkgc3VwcG9ydDogT0sKKy1XbCwtLXZlcnNpb24tc2NyaXB0IHN1cHBvcnQ6IE9LCitDaGVja2luZyBnZXRjb25mIExGU19DRkxBR1M6IE5PCitDaGVja2luZyBjb3JyZWN0IGJlaGF2aW9yIG9mIHN0cnRvbGw6IE5PCitDaGVja2luZyBmb3Igd29ya2luZyBzdHJwdGltZTogT0sKK0NoZWNraW5nIGZvciBDOTkgdnNucHJpbnRmOiAiMSIKK0NoZWNraW5nIGZvciBIQVZFX1NIQVJFRF9NTUFQOiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfTVJFTUFQOiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfU0VDVVJFX01LU1RFTVA6IE9LCitDaGVja2luZyBmb3IgSEFWRV9JRkFDRV9HRVRJRkFERFJTOiBOTworQ2hlY2tpbmcgZm9yIEhBVkVfSUZBQ0VfSUZDT05GOiBOTworQ2hlY2tpbmcgZm9yIEhBVkVfSUZBQ0VfSUZSRVE6IE5PCitDaGVja2luZyBmb3IgbGFyZ2UgZmlsZSBzdXBwb3J0IHdpdGhvdXQgYWRkaXRpb25hbCBmbGFnczogTk8KK0NoZWNraW5nIGZvciAtRF9GSUxFX09GRlNFVF9CSVRTPTY0OiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfSU5DT0hFUkVOVF9NTUFQOiBOTworQ2hlY2tpbmcgdmFsdWUgb2YgTlNJRzogIjEyOCIKK0NoZWNraW5nIHZhbHVlIG9mIF9OU0lHOiAiMTI4IgorQ2hlY2tpbmcgdmFsdWUgb2YgU0lHUlRNQVg6ICIxMjciCitDaGVja2luZyB2YWx1ZSBvZiBTSUdSVE1JTjogIjM0IgorQ2hlY2tpbmcgd2hldGhlciB0aGUgV1JGSUxFIC1rZXl0YWIgaXMgc3VwcG9ydGVkOiBPSworQ2hlY2tpbmcgZm9yIGtlcm5lbCBjaGFuZ2Ugbm90aWZ5IHN1cHBvcnQ6IE9LCitDaGVja2luZyBmb3IgTGludXgga2VybmVsIG9wbG9ja3M6IE9LCitDaGVja2luZyBmb3Iga2VybmVsIHNoYXJlIG1vZGVzOiBPSworQ2hlY2tpbmcgd2hldGhlciBQT1NJWCBjYXBhYmlsaXRpZXMgYXJlIGF2YWlsYWJsZTogT0sKK0NoZWNraW5nIGlmIGNhbiB3ZSBjb252ZXJ0IGZyb20gQ1A4NTAgdG8gVUNTLTJMRTogT0sKK0NoZWNraW5nIGlmIGNhbiB3ZSBjb252ZXJ0IGZyb20gVVRGLTggdG8gVUNTLTJMRTogT0sKK3Zmc19maWxlaWQgY2hlY2tpbmcgZm9yIHN0YXRmcygpIGFuZCBzdHJ1Y3Qgc3RhdGZzLmZfZnNpZDogT0sKK0NoZWNraW5nIHdoZXRoZXIgd2UgY2FuIHVzZSBMaW51eCB0aHJlYWQtc3BlY2lmaWMgY3JlZGVudGlhbHM6IE9LCitDaGVja2luZyB3aGV0aGVyIGZjbnRsIGxvY2tpbmcgaXMgYXZhaWxhYmxlOiBPSworQ2hlY2tpbmcgZm9yIHRoZSBtYXhpbXVtIHZhbHVlIG9mIHRoZSAndGltZV90JyB0eXBlOiBOTworQ2hlY2tpbmcgd2hldGhlciB0aGUgcmVhbHBhdGggZnVuY3Rpb24gYWxsb3dzIGEgTlVMTCBhcmd1bWVudDogT0sKK0NoZWNraW5nIGZvciBmdHJ1bmNhdGUgZXh0ZW5kOiBPSworZ2V0Y3dkIHRha2VzIGEgTlVMTCBhcmd1bWVudDogT0sKK0NoZWNraW5nIGZvciBzbWFsbCBvZmZfdDogTk8KK0NoZWNraW5nIHdoZXRoZXIgYmxrY250X3QgaXMgMzIgYml0OiBOTworQ2hlY2tpbmcgd2hldGhlciBibGtjbnRfdCBpcyA2NCBiaXQ6IE9LCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9maWxlcy93YWYtY3Jvc3MtYW5zd2Vycy9jcm9zcy1hbnN3ZXJzLXBvd2VycGMudHh0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvZmlsZXMvd2FmLWNyb3NzLWFuc3dlcnMvY3Jvc3MtYW5zd2Vycy1wb3dlcnBjLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYjkzYjU2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvZmlsZXMvd2FmLWNyb3NzLWFuc3dlcnMvY3Jvc3MtYW5zd2Vycy1wb3dlcnBjLnR4dApAQCAtMCwwICsxLDM5IEBACitDaGVja2luZyB1bmFtZSBzeXNuYW1lIHR5cGU6ICJMaW51eCIKK0NoZWNraW5nIHVuYW1lIHZlcnNpb24gdHlwZTogIiMgV2VkIE1heSAyMCAxMDozNDozOSBVVEMgMjAxNSIKK0NoZWNraW5nIHNpbXBsZSBDIHByb2dyYW06ICJoZWxsbyB3b3JsZCIKK3JwYXRoIGxpYnJhcnkgc3VwcG9ydDogT0sKKy1XbCwtLXZlcnNpb24tc2NyaXB0IHN1cHBvcnQ6IE9LCitDaGVja2luZyBnZXRjb25mIExGU19DRkxBR1M6IE5PCitDaGVja2luZyBjb3JyZWN0IGJlaGF2aW9yIG9mIHN0cnRvbGw6IE5PCitDaGVja2luZyBmb3Igd29ya2luZyBzdHJwdGltZTogT0sKK0NoZWNraW5nIGZvciBDOTkgdnNucHJpbnRmOiAiMSIKK0NoZWNraW5nIGZvciBIQVZFX1NIQVJFRF9NTUFQOiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfTVJFTUFQOiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfU0VDVVJFX01LU1RFTVA6IE9LCitDaGVja2luZyBmb3IgSEFWRV9JRkFDRV9HRVRJRkFERFJTOiBOTworQ2hlY2tpbmcgZm9yIEhBVkVfSUZBQ0VfSUZDT05GOiBOTworQ2hlY2tpbmcgZm9yIEhBVkVfSUZBQ0VfSUZSRVE6IE5PCitDaGVja2luZyBmb3IgbGFyZ2UgZmlsZSBzdXBwb3J0IHdpdGhvdXQgYWRkaXRpb25hbCBmbGFnczogTk8KK0NoZWNraW5nIGZvciAtRF9GSUxFX09GRlNFVF9CSVRTPTY0OiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfSU5DT0hFUkVOVF9NTUFQOiBOTworQ2hlY2tpbmcgdmFsdWUgb2YgTlNJRzogIjY1IgorQ2hlY2tpbmcgdmFsdWUgb2YgX05TSUc6ICI2NSIKK0NoZWNraW5nIHZhbHVlIG9mIFNJR1JUTUFYOiAiNjQiCitDaGVja2luZyB2YWx1ZSBvZiBTSUdSVE1JTjogIjM0IgorQ2hlY2tpbmcgd2hldGhlciB0aGUgV1JGSUxFIC1rZXl0YWIgaXMgc3VwcG9ydGVkOiBPSworQ2hlY2tpbmcgZm9yIGtlcm5lbCBjaGFuZ2Ugbm90aWZ5IHN1cHBvcnQ6IE9LCitDaGVja2luZyBmb3IgTGludXgga2VybmVsIG9wbG9ja3M6IE9LCitDaGVja2luZyBmb3Iga2VybmVsIHNoYXJlIG1vZGVzOiBPSworQ2hlY2tpbmcgd2hldGhlciBQT1NJWCBjYXBhYmlsaXRpZXMgYXJlIGF2YWlsYWJsZTogT0sKK0NoZWNraW5nIGlmIGNhbiB3ZSBjb252ZXJ0IGZyb20gQ1A4NTAgdG8gVUNTLTJMRTogT0sKK0NoZWNraW5nIGlmIGNhbiB3ZSBjb252ZXJ0IGZyb20gVVRGLTggdG8gVUNTLTJMRTogT0sKK3Zmc19maWxlaWQgY2hlY2tpbmcgZm9yIHN0YXRmcygpIGFuZCBzdHJ1Y3Qgc3RhdGZzLmZfZnNpZDogT0sKK0NoZWNraW5nIHdoZXRoZXIgd2UgY2FuIHVzZSBMaW51eCB0aHJlYWQtc3BlY2lmaWMgY3JlZGVudGlhbHM6IE9LCitDaGVja2luZyB3aGV0aGVyIGZjbnRsIGxvY2tpbmcgaXMgYXZhaWxhYmxlOiBPSworQ2hlY2tpbmcgZm9yIHRoZSBtYXhpbXVtIHZhbHVlIG9mIHRoZSAndGltZV90JyB0eXBlOiBOTworQ2hlY2tpbmcgd2hldGhlciB0aGUgcmVhbHBhdGggZnVuY3Rpb24gYWxsb3dzIGEgTlVMTCBhcmd1bWVudDogT0sKK0NoZWNraW5nIGZvciBmdHJ1bmNhdGUgZXh0ZW5kOiBPSworZ2V0Y3dkIHRha2VzIGEgTlVMTCBhcmd1bWVudDogT0sKK0NoZWNraW5nIGZvciBzbWFsbCBvZmZfdDogTk8KK0NoZWNraW5nIHdoZXRoZXIgYmxrY250X3QgaXMgMzIgYml0OiBOTworQ2hlY2tpbmcgd2hldGhlciBibGtjbnRfdCBpcyA2NCBiaXQ6IE9LCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9maWxlcy93YWYtY3Jvc3MtYW5zd2Vycy9jcm9zcy1hbnN3ZXJzLXBvd2VycGM2NC50eHQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9maWxlcy93YWYtY3Jvc3MtYW5zd2Vycy9jcm9zcy1hbnN3ZXJzLXBvd2VycGM2NC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmQ1ODVmMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2ZpbGVzL3dhZi1jcm9zcy1hbnN3ZXJzL2Nyb3NzLWFuc3dlcnMtcG93ZXJwYzY0LnR4dApAQCAtMCwwICsxLDM5IEBACitDaGVja2luZyB1bmFtZSBzeXNuYW1lIHR5cGU6ICJMaW51eCIKK0NoZWNraW5nIHVuYW1lIHZlcnNpb24gdHlwZTogIiMgV2VkIE1heSAyMCAxMDozNDozOSBVVEMgMjAxNSIKK0NoZWNraW5nIHNpbXBsZSBDIHByb2dyYW06ICJoZWxsbyB3b3JsZCIKK3JwYXRoIGxpYnJhcnkgc3VwcG9ydDogT0sKKy1XbCwtLXZlcnNpb24tc2NyaXB0IHN1cHBvcnQ6IE9LCitDaGVja2luZyBnZXRjb25mIExGU19DRkxBR1M6IE5PCitDaGVja2luZyBjb3JyZWN0IGJlaGF2aW9yIG9mIHN0cnRvbGw6IE5PCitDaGVja2luZyBmb3Igd29ya2luZyBzdHJwdGltZTogT0sKK0NoZWNraW5nIGZvciBDOTkgdnNucHJpbnRmOiAiMSIKK0NoZWNraW5nIGZvciBIQVZFX1NIQVJFRF9NTUFQOiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfTVJFTUFQOiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfU0VDVVJFX01LU1RFTVA6IE9LCitDaGVja2luZyBmb3IgSEFWRV9JRkFDRV9HRVRJRkFERFJTOiBOTworQ2hlY2tpbmcgZm9yIEhBVkVfSUZBQ0VfSUZDT05GOiBOTworQ2hlY2tpbmcgZm9yIEhBVkVfSUZBQ0VfSUZSRVE6IE5PCitDaGVja2luZyBmb3IgbGFyZ2UgZmlsZSBzdXBwb3J0IHdpdGhvdXQgYWRkaXRpb25hbCBmbGFnczogT0sKK0NoZWNraW5nIGZvciBIQVZFX0lOQ09IRVJFTlRfTU1BUDogTk8KK0NoZWNraW5nIHZhbHVlIG9mIE5TSUc6ICI2NSIKK0NoZWNraW5nIHZhbHVlIG9mIF9OU0lHOiAiNjUiCitDaGVja2luZyB2YWx1ZSBvZiBTSUdSVE1BWDogIjY0IgorQ2hlY2tpbmcgdmFsdWUgb2YgU0lHUlRNSU46ICIzNCIKK0NoZWNraW5nIHdoZXRoZXIgdGhlIFdSRklMRSAta2V5dGFiIGlzIHN1cHBvcnRlZDogT0sKK0NoZWNraW5nIGZvciBrZXJuZWwgY2hhbmdlIG5vdGlmeSBzdXBwb3J0OiBPSworQ2hlY2tpbmcgZm9yIExpbnV4IGtlcm5lbCBvcGxvY2tzOiBPSworQ2hlY2tpbmcgZm9yIGtlcm5lbCBzaGFyZSBtb2RlczogT0sKK0NoZWNraW5nIHdoZXRoZXIgUE9TSVggY2FwYWJpbGl0aWVzIGFyZSBhdmFpbGFibGU6IE9LCitDaGVja2luZyBpZiBjYW4gd2UgY29udmVydCBmcm9tIENQODUwIHRvIFVDUy0yTEU6ICgyNTUsICIiKQorQ2hlY2tpbmcgaWYgY2FuIHdlIGNvbnZlcnQgZnJvbSBJQk04NTAgdG8gVUNTLTJMRTogKDI1NSwgIiIpCitDaGVja2luZyBpZiBjYW4gd2UgY29udmVydCBmcm9tIFVURi04IHRvIFVDUy0yTEU6IE9LCit2ZnNfZmlsZWlkIGNoZWNraW5nIGZvciBzdGF0ZnMoKSBhbmQgc3RydWN0IHN0YXRmcy5mX2ZzaWQ6IE9LCitDaGVja2luZyB3aGV0aGVyIHdlIGNhbiB1c2UgTGludXggdGhyZWFkLXNwZWNpZmljIGNyZWRlbnRpYWxzOiBPSworQ2hlY2tpbmcgd2hldGhlciBmY250bCBsb2NraW5nIGlzIGF2YWlsYWJsZTogT0sKK0NoZWNraW5nIGZvciB0aGUgbWF4aW11bSB2YWx1ZSBvZiB0aGUgJ3RpbWVfdCcgdHlwZTogT0sKK0NoZWNraW5nIHdoZXRoZXIgdGhlIHJlYWxwYXRoIGZ1bmN0aW9uIGFsbG93cyBhIE5VTEwgYXJndW1lbnQ6IE9LCitDaGVja2luZyBmb3IgZnRydW5jYXRlIGV4dGVuZDogT0sKK2dldGN3ZCB0YWtlcyBhIE5VTEwgYXJndW1lbnQ6IE9LCitDaGVja2luZyBmb3Igc21hbGwgb2ZmX3Q6IE5PCitDaGVja2luZyB3aGV0aGVyIGJsa2NudF90IGlzIDMyIGJpdDogTk8KK0NoZWNraW5nIHdoZXRoZXIgYmxrY250X3QgaXMgNjQgYml0OiBPSwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvZmlsZXMvd2FmLWNyb3NzLWFuc3dlcnMvY3Jvc3MtYW5zd2Vycy14ODZfNjQudHh0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvZmlsZXMvd2FmLWNyb3NzLWFuc3dlcnMvY3Jvc3MtYW5zd2Vycy14ODZfNjQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiZjdmMTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9maWxlcy93YWYtY3Jvc3MtYW5zd2Vycy9jcm9zcy1hbnN3ZXJzLXg4Nl82NC50eHQKQEAgLTAsMCArMSwzOCBAQAorQ2hlY2tpbmcgdW5hbWUgc3lzbmFtZSB0eXBlOiAiTGludXgiCitDaGVja2luZyB1bmFtZSB2ZXJzaW9uIHR5cGU6ICIjIFdlZCBNYXkgMjAgMTA6MzQ6MzkgVVRDIDIwMTUiCitDaGVja2luZyBzaW1wbGUgQyBwcm9ncmFtOiAiaGVsbG8gd29ybGQiCitycGF0aCBsaWJyYXJ5IHN1cHBvcnQ6IE9LCistV2wsLS12ZXJzaW9uLXNjcmlwdCBzdXBwb3J0OiBPSworQ2hlY2tpbmcgZ2V0Y29uZiBMRlNfQ0ZMQUdTOiBOTworQ2hlY2tpbmcgY29ycmVjdCBiZWhhdmlvciBvZiBzdHJ0b2xsOiBOTworQ2hlY2tpbmcgZm9yIHdvcmtpbmcgc3RycHRpbWU6IE9LCitDaGVja2luZyBmb3IgQzk5IHZzbnByaW50ZjogIjEiCitDaGVja2luZyBmb3IgSEFWRV9TSEFSRURfTU1BUDogT0sKK0NoZWNraW5nIGZvciBIQVZFX01SRU1BUDogT0sKK0NoZWNraW5nIGZvciBIQVZFX1NFQ1VSRV9NS1NURU1QOiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfSUZBQ0VfR0VUSUZBRERSUzogTk8KK0NoZWNraW5nIGZvciBIQVZFX0lGQUNFX0lGQ09ORjogTk8KK0NoZWNraW5nIGZvciBIQVZFX0lGQUNFX0lGUkVROiBOTworQ2hlY2tpbmcgZm9yIGxhcmdlIGZpbGUgc3VwcG9ydCB3aXRob3V0IGFkZGl0aW9uYWwgZmxhZ3M6IE9LCitDaGVja2luZyBmb3IgSEFWRV9JTkNPSEVSRU5UX01NQVA6IE5PCitDaGVja2luZyB2YWx1ZSBvZiBOU0lHOiAiNjUiCitDaGVja2luZyB2YWx1ZSBvZiBfTlNJRzogIjY1IgorQ2hlY2tpbmcgdmFsdWUgb2YgU0lHUlRNQVg6ICI2NCIKK0NoZWNraW5nIHZhbHVlIG9mIFNJR1JUTUlOOiAiMzQiCitDaGVja2luZyB3aGV0aGVyIHRoZSBXUkZJTEUgLWtleXRhYiBpcyBzdXBwb3J0ZWQ6IE9LCitDaGVja2luZyBmb3Iga2VybmVsIGNoYW5nZSBub3RpZnkgc3VwcG9ydDogT0sKK0NoZWNraW5nIGZvciBMaW51eCBrZXJuZWwgb3Bsb2NrczogT0sKK0NoZWNraW5nIGZvciBrZXJuZWwgc2hhcmUgbW9kZXM6IE9LCitDaGVja2luZyB3aGV0aGVyIFBPU0lYIGNhcGFiaWxpdGllcyBhcmUgYXZhaWxhYmxlOiBPSworQ2hlY2tpbmcgaWYgY2FuIHdlIGNvbnZlcnQgZnJvbSBDUDg1MCB0byBVQ1MtMkxFOiBPSworQ2hlY2tpbmcgaWYgY2FuIHdlIGNvbnZlcnQgZnJvbSBVVEYtOCB0byBVQ1MtMkxFOiBPSwordmZzX2ZpbGVpZCBjaGVja2luZyBmb3Igc3RhdGZzKCkgYW5kIHN0cnVjdCBzdGF0ZnMuZl9mc2lkOiBPSworQ2hlY2tpbmcgd2hldGhlciB3ZSBjYW4gdXNlIExpbnV4IHRocmVhZC1zcGVjaWZpYyBjcmVkZW50aWFsczogT0sKK0NoZWNraW5nIHdoZXRoZXIgZmNudGwgbG9ja2luZyBpcyBhdmFpbGFibGU6IE9LCitDaGVja2luZyBmb3IgdGhlIG1heGltdW0gdmFsdWUgb2YgdGhlICd0aW1lX3QnIHR5cGU6IE9LCitDaGVja2luZyB3aGV0aGVyIHRoZSByZWFscGF0aCBmdW5jdGlvbiBhbGxvd3MgYSBOVUxMIGFyZ3VtZW50OiBPSworQ2hlY2tpbmcgZm9yIGZ0cnVuY2F0ZSBleHRlbmQ6IE9LCitnZXRjd2QgdGFrZXMgYSBOVUxMIGFyZ3VtZW50OiBPSworQ2hlY2tpbmcgZm9yIHNtYWxsIG9mZl90OiBOTworQ2hlY2tpbmcgd2hldGhlciBibGtjbnRfdCBpcyAzMiBiaXQ6IE5PCitDaGVja2luZyB3aGV0aGVyIGJsa2NudF90IGlzIDY0IGJpdDogT0sKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2xpY2Vuc2VzL0RNVEYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9saWNlbnNlcy9ETVRGCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0YTI4MTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9saWNlbnNlcy9ETVRGCkBAIC0wLDAgKzEsMzQgQEAKKy8vIENvcHlyaWdodCAxOTk4LTIwMDggRGlzdHJpYnV0ZWQgTWFuYWdlbWVudCBUYXNrIEZvcmNlLCBJbmMuIChETVRGKS4KKy8vIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBETVRGIGlzIGEgbm90LWZvci1wcm9maXQgYXNzb2NpYXRpb24gb2YgaW5kdXN0cnkgbWVtYmVycyBkZWRpY2F0ZWQKKy8vIHRvIHByb21vdGluZyBlbnRlcnByaXNlIGFuZCBzeXN0ZW1zIG1hbmFnZW1lbnQgYW5kIGludGVyb3BlcmFiaWxpdHkuCisvLyBETVRGIHNwZWNpZmljYXRpb25zIGFuZCBkb2N1bWVudHMgbWF5IGJlIHJlcHJvZHVjZWQgYnkKKy8vIG1lbWJlcnMgYW5kIG5vbi1tZW1iZXJzLCBwcm92aWRlZCB0aGF0IGNvcnJlY3QgYXR0cmlidXRpb24gaXMgZ2l2ZW4uCisvLyBBcyBETVRGIHNwZWNpZmljYXRpb25zIG1heSBiZSByZXZpc2VkIGZyb20gdGltZSB0byB0aW1lLAorLy8gdGhlIHBhcnRpY3VsYXIgdmVyc2lvbiBhbmQgcmVsZWFzZSBkYXRlIHNob3VsZCBhbHdheXMgYmUgbm90ZWQuCisvLyAKKy8vIEltcGxlbWVudGF0aW9uIG9mIGNlcnRhaW4gZWxlbWVudHMgb2YgdGhpcyBzdGFuZGFyZCBvciBwcm9wb3NlZAorLy8gc3RhbmRhcmQgbWF5IGJlIHN1YmplY3QgdG8gdGhpcmQgcGFydHkgcGF0ZW50IHJpZ2h0cywgaW5jbHVkaW5nCisvLyBwcm92aXNpb25hbCBwYXRlbnQgcmlnaHRzIChoZXJlaW4gInBhdGVudCByaWdodHMiKS4gRE1URiBtYWtlcworLy8gbm8gcmVwcmVzZW50YXRpb25zIHRvIHVzZXJzIG9mIHRoZSBzdGFuZGFyZCBhcyB0byB0aGUgZXhpc3RlbmNlCisvLyBvZiBzdWNoIHJpZ2h0cywgYW5kIGlzIG5vdCByZXNwb25zaWJsZSB0byByZWNvZ25pemUsIGRpc2Nsb3NlLCBvcgorLy8gaWRlbnRpZnkgYW55IG9yIGFsbCBzdWNoIHRoaXJkIHBhcnR5IHBhdGVudCByaWdodCwgb3duZXJzIG9yCisvLyBjbGFpbWFudHMsIG5vciBmb3IgYW55IGluY29tcGxldGUgb3IgaW5hY2N1cmF0ZSBpZGVudGlmaWNhdGlvbiBvcgorLy8gZGlzY2xvc3VyZSBvZiBzdWNoIHJpZ2h0cywgb3duZXJzIG9yIGNsYWltYW50cy4gRE1URiBzaGFsbCBoYXZlIG5vCisvLyBsaWFiaWxpdHkgdG8gYW55IHBhcnR5LCBpbiBhbnkgbWFubmVyIG9yIGNpcmN1bXN0YW5jZSwgdW5kZXIgYW55CisvLyBsZWdhbCB0aGVvcnkgd2hhdHNvZXZlciwgZm9yIGZhaWx1cmUgdG8gcmVjb2duaXplLCBkaXNjbG9zZSwgb3IKKy8vIGlkZW50aWZ5IGFueSBzdWNoIHRoaXJkIHBhcnR5IHBhdGVudCByaWdodHMsIG9yIGZvciBzdWNoIHBhcnR5J3MKKy8vIHJlbGlhbmNlIG9uIHRoZSBzdGFuZGFyZCBvciBpbmNvcnBvcmF0aW9uIHRoZXJlb2YgaW4gaXRzIHByb2R1Y3QsCisvLyBwcm90b2NvbHMgb3IgdGVzdGluZyBwcm9jZWR1cmVzLiBETVRGIHNoYWxsIGhhdmUgbm8gbGlhYmlsaXR5IHRvCisvLyBhbnkgcGFydHkgaW1wbGVtZW50aW5nIHN1Y2ggc3RhbmRhcmQsIHdoZXRoZXIgc3VjaCBpbXBsZW1lbnRhdGlvbgorLy8gaXMgZm9yZXNlZWFibGUgb3Igbm90LCBub3IgdG8gYW55IHBhdGVudCBvd25lciBvciBjbGFpbWFudCwgYW5kIHNoYWxsCisvLyBoYXZlIG5vIGxpYWJpbGl0eSBvciByZXNwb25zaWJpbGl0eSBmb3IgY29zdHMgb3IgbG9zc2VzIGluY3VycmVkIGlmCisvLyBhIHN0YW5kYXJkIGlzIHdpdGhkcmF3biBvciBtb2RpZmllZCBhZnRlciBwdWJsaWNhdGlvbiwgYW5kIHNoYWxsIGJlCisvLyBpbmRlbW5pZmllZCBhbmQgaGVsZCBoYXJtbGVzcyBieSBhbnkgcGFydHkgaW1wbGVtZW50aW5nIHRoZQorLy8gc3RhbmRhcmQgZnJvbSBhbnkgYW5kIGFsbCBjbGFpbXMgb2YgaW5mcmluZ2VtZW50IGJ5IGEgcGF0ZW50IG93bmVyCisvLyBmb3Igc3VjaCBpbXBsZW1lbnRhdGlvbnMuCisvLyAKKy8vIEZvciBpbmZvcm1hdGlvbiBhYm91dCBwYXRlbnRzIGhlbGQgYnkgdGhpcmQtcGFydGllcyB3aGljaCBoYXZlCisvLyBub3RpZmllZCB0aGUgRE1URiB0aGF0LCBpbiB0aGVpciBvcGluaW9uLCBzdWNoIHBhdGVudCBtYXkgcmVsYXRlIHRvCisvLyBvciBpbXBhY3QgaW1wbGVtZW50YXRpb25zIG9mIERNVEYgc3RhbmRhcmRzLCB2aXNpdAorLy8gaHR0cDovL3d3dy5kbXRmLm9yZy9hYm91dC9wb2xpY2llcy9kaXNjbG9zdXJlcy5waHAuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9saWNlbnNlcy9jb3B5bGVmdC1uZXh0LTAuMy4wIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvbGljZW5zZXMvY29weWxlZnQtbmV4dC0wLjMuMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNjZkNWJmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvbGljZW5zZXMvY29weWxlZnQtbmV4dC0wLjMuMApAQCAtMCwwICsxLDIxOSBAQAorICAgICAgICAgICAgICAgICAgIGNvcHlsZWZ0LW5leHQgMC4zLjAgKCJ0aGlzIExpY2Vuc2UiKQorICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2UgZGF0ZTogMjAxMy0wNS0xNgorCisxLiBMaWNlbnNlIEdyYW50czsgTm8gVHJhZGVtYXJrIExpY2Vuc2UKKworICAgU3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlLCBJIGdyYW50IFlvdToKKworICAgYSkgQSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHBlcnBldHVhbCwgcm95YWx0eS1mcmVlLCBpcnJldm9jYWJsZQorICAgICAgY29weXJpZ2h0IGxpY2Vuc2UsIHRvIHJlcHJvZHVjZSwgRGlzdHJpYnV0ZSwgcHJlcGFyZSBkZXJpdmF0aXZlIHdvcmtzCisgICAgICBvZiwgcHVibGljbHkgcGVyZm9ybSBhbmQgcHVibGljbHkgZGlzcGxheSBNeSBXb3JrLgorCisgICBiKSBBIG5vbi1leGNsdXNpdmUsIHdvcmxkd2lkZSwgcGVycGV0dWFsLCByb3lhbHR5LWZyZWUsIGlycmV2b2NhYmxlCisgICAgICBwYXRlbnQgbGljZW5zZSB1bmRlciBMaWNlbnNlZCBQYXRlbnRzIHRvIG1ha2UsIGhhdmUgbWFkZSwgdXNlLCBzZWxsLAorICAgICAgb2ZmZXIgZm9yIHNhbGUsIGFuZCBpbXBvcnQgQ292ZXJlZCBXb3Jrcy4KKworICAgVGhpcyBMaWNlbnNlIGRvZXMgbm90IGdyYW50IGFueSByaWdodHMgaW4gTXkgbmFtZSwgdHJhZGVtYXJrcywgc2VydmljZQorICAgbWFya3MsIG9yIGxvZ29zLgorCisyLiBEaXN0cmlidXRpb246IEdlbmVyYWwgQ29uZGl0aW9ucworCisgICBZb3UgbWF5IERpc3RyaWJ1dGUgQ292ZXJlZCBXb3JrcywgcHJvdmlkZWQgdGhhdCBZb3UgKGkpIGluZm9ybQorICAgcmVjaXBpZW50cyBob3cgdGhleSBjYW4gb2J0YWluIGEgY29weSBvZiB0aGlzIExpY2Vuc2U7IChpaSkgc2F0aXNmeSB0aGUKKyAgIGFwcGxpY2FibGUgY29uZGl0aW9ucyBvZiBzZWN0aW9ucyAzIHRocm91Z2ggNjsgYW5kIChpaWkpIHByZXNlcnZlIGFsbAorICAgTGVnYWwgTm90aWNlcyBjb250YWluZWQgaW4gTXkgV29yayAodG8gdGhlIGV4dGVudCB0aGV5IHJlbWFpbgorICAgcGVydGluZW50KS4gIkxlZ2FsIE5vdGljZXMiIG1lYW5zIGNvcHlyaWdodCBub3RpY2VzLCBsaWNlbnNlIG5vdGljZXMsCisgICBsaWNlbnNlIHRleHRzLCBhbmQgYXV0aG9yIGF0dHJpYnV0aW9ucywgYnV0IGRvZXMgbm90IGluY2x1ZGUgbG9nb3MsCisgICBvdGhlciBncmFwaGljYWwgaW1hZ2VzLCB0cmFkZW1hcmtzIG9yIHRyYWRlbWFyayBsZWdlbmRzLgorCiszLiBDb25kaXRpb25zIGZvciBEaXN0cmlidXRpbmcgRGVyaXZlZCBXb3JrczsgT3V0Ym91bmQgR1BMIENvbXBhdGliaWxpdHkKKworICAgSWYgWW91IERpc3RyaWJ1dGUgYSBEZXJpdmVkIFdvcmssIFlvdSBtdXN0IGxpY2Vuc2UgdGhlIGVudGlyZSBEZXJpdmVkCisgICBXb3JrIGFzIGEgd2hvbGUgdW5kZXIgdGhpcyBMaWNlbnNlLCB3aXRoIHByb21pbmVudCBub3RpY2Ugb2Ygc3VjaAorICAgbGljZW5zaW5nLiBUaGlzIGNvbmRpdGlvbiBtYXkgbm90IGJlIGF2b2lkZWQgdGhyb3VnaCBzdWNoIG1lYW5zIGFzCisgICBzZXBhcmF0ZSBEaXN0cmlidXRpb24gb2YgcG9ydGlvbnMgb2YgdGhlIERlcml2ZWQgV29yay4gWW91IG1heQorICAgYWRkaXRpb25hbGx5IGxpY2Vuc2UgdGhlIERlcml2ZWQgV29yayB1bmRlciB0aGUgR1BMLCBzbyB0aGF0IHRoZQorICAgcmVjaXBpZW50IG1heSBmdXJ0aGVyIERpc3RyaWJ1dGUgdGhlIERlcml2ZWQgV29yayB1bmRlciBlaXRoZXIgdGhpcworICAgTGljZW5zZSBvciB0aGUgR1BMLgorCis0LiBDb25kaXRpb24gQWdhaW5zdCBGdXJ0aGVyIFJlc3RyaWN0aW9uczsgSW5ib3VuZCBMaWNlbnNlIENvbXBhdGliaWxpdHkKKworICAgV2hlbiBEaXN0cmlidXRpbmcgYSBDb3ZlcmVkIFdvcmssIFlvdSBtYXkgbm90IGltcG9zZSBmdXJ0aGVyCisgICByZXN0cmljdGlvbnMgb24gdGhlIGV4ZXJjaXNlIG9mIHJpZ2h0cyBpbiB0aGUgQ292ZXJlZCBXb3JrIGdyYW50ZWQgdW5kZXIKKyAgIHRoaXMgTGljZW5zZS4gVGhpcyBjb25kaXRpb24gaXMgbm90IGV4Y3VzZWQgbWVyZWx5IGJlY2F1c2Ugc3VjaAorICAgcmVzdHJpY3Rpb25zIHJlc3VsdCBmcm9tIFlvdXIgY29tcGxpYW5jZSB3aXRoIGNvbmRpdGlvbnMgb3Igb2JsaWdhdGlvbnMKKyAgIGV4dHJpbnNpYyB0byB0aGlzIExpY2Vuc2UgKHN1Y2ggYXMgYSBjb3VydCBvcmRlciBvciBhbiBhZ3JlZW1lbnQgd2l0aCBhCisgICB0aGlyZCBwYXJ0eSkuCisKKyAgIEhvd2V2ZXIsIFlvdSBtYXkgRGlzdHJpYnV0ZSBhIENvdmVyZWQgV29yayBpbmNvcnBvcmF0aW5nIG1hdGVyaWFsCisgICBnb3Zlcm5lZCBieSBhIGxpY2Vuc2UgdGhhdCBpcyBib3RoIE9TSS1BcHByb3ZlZCBhbmQgRlNGLUZyZWUgYXMgb2YgdGhlCisgICByZWxlYXNlIGRhdGUgb2YgdGhpcyBMaWNlbnNlLCBwcm92aWRlZCB0aGF0IFlvdXIgRGlzdHJpYnV0aW9uIGNvbXBsaWVzCisgICB3aXRoIHN1Y2ggb3RoZXIgbGljZW5zZS4KKworNS4gQ29uZGl0aW9ucyBmb3IgRGlzdHJpYnV0aW5nIE9iamVjdCBDb2RlCisKKyAgIFlvdSBtYXkgRGlzdHJpYnV0ZSBhbiBPYmplY3QgQ29kZSBmb3JtIG9mIGEgQ292ZXJlZCBXb3JrLCBwcm92aWRlZCB0aGF0CisgICB5b3UgYWNjb21wYW55IHRoZSBPYmplY3QgQ29kZSB3aXRoIGEgVVJMIHRocm91Z2ggd2hpY2ggdGhlIENvcnJlc3BvbmRpbmcKKyAgIFNvdXJjZSBpcyBtYWRlIGF2YWlsYWJsZSwgYXQgbm8gY2hhcmdlLCBieSBzb21lIHN0YW5kYXJkIG9yIGN1c3RvbWFyeQorICAgbWVhbnMgb2YgcHJvdmlkaW5nIG5ldHdvcmsgYWNjZXNzIHRvIHNvdXJjZSBjb2RlLgorCisgICBJZiB5b3UgRGlzdHJpYnV0ZSB0aGUgT2JqZWN0IENvZGUgaW4gYSBwaHlzaWNhbCBwcm9kdWN0IG9yIHRhbmdpYmxlCisgICBzdG9yYWdlIG1lZGl1bSAoIlByb2R1Y3QiKSwgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIG11c3QgYmUgYXZhaWxhYmxlCisgICB0aHJvdWdoIHN1Y2ggVVJMIGZvciB0d28geWVhcnMgZnJvbSB0aGUgZGF0ZSBvZiBZb3VyIG1vc3QgcmVjZW50CisgICBEaXN0cmlidXRpb24gb2YgdGhlIE9iamVjdCBDb2RlIGluIHRoZSBQcm9kdWN0LiBIb3dldmVyLCBpZiB0aGUgUHJvZHVjdAorICAgaXRzZWxmIGNvbnRhaW5zIG9yIGlzIGFjY29tcGFuaWVkIGJ5IHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSAobWFkZQorICAgYXZhaWxhYmxlIGluIGEgY3VzdG9tYXJpbHkgYWNjZXNzaWJsZSBtYW5uZXIpLCBZb3UgbmVlZCBub3QgYWxzbyBjb21wbHkKKyAgIHdpdGggdGhlIGZpcnN0IHBhcmFncmFwaCBvZiB0aGlzIHNlY3Rpb24uCisKKyAgIEVhY2ggcmVjaXBpZW50IG9mIHRoZSBDb3ZlcmVkIFdvcmsgZnJvbSBZb3UgaXMgYW4gaW50ZW5kZWQgdGhpcmQtcGFydHkKKyAgIGJlbmVmaWNpYXJ5IG9mIHRoaXMgTGljZW5zZSBzb2xlbHkgYXMgdG8gdGhpcyBzZWN0aW9uIDUsIHdpdGggdGhlIHJpZ2h0CisgICB0byBlbmZvcmNlIGl0cyB0ZXJtcy4KKworNi4gU3ltbWV0cmljYWwgTGljZW5zaW5nIENvbmRpdGlvbiBmb3IgVXBzdHJlYW0gQ29udHJpYnV0aW9ucworCisgICBJZiBZb3UgRGlzdHJpYnV0ZSBhIHdvcmsgdG8gTWUgc3BlY2lmaWNhbGx5IGZvciBpbmNsdXNpb24gaW4gb3IKKyAgIG1vZGlmaWNhdGlvbiBvZiBhIENvdmVyZWQgV29yayAoYSAiUGF0Y2giKSwgYW5kIG5vIGV4cGxpY2l0IGxpY2Vuc2luZworICAgdGVybXMgYXBwbHkgdG8gdGhlIFBhdGNoLCBZb3UgbGljZW5zZSB0aGUgUGF0Y2ggdW5kZXIgdGhpcyBMaWNlbnNlLCB0bworICAgdGhlIGV4dGVudCBvZiBZb3VyIGNvcHlyaWdodCBpbiB0aGUgUGF0Y2guIFRoaXMgY29uZGl0aW9uIGRvZXMgbm90CisgICBuZWdhdGUgdGhlIG90aGVyIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLCBpZiBhcHBsaWNhYmxlIHRvIHRoZSBQYXRjaC4KKworNy4gTnVsbGlmaWNhdGlvbiBvZiBDb3B5bGVmdC9Qcm9wcmlldGFyeSBEdWFsIExpY2Vuc2luZworCisgICBJZiBJIG9mZmVyIHRvIGxpY2Vuc2UsIGZvciBhIGZlZSwgYSBDb3ZlcmVkIFdvcmsgdW5kZXIgdGVybXMgb3RoZXIgdGhhbgorICAgYSBsaWNlbnNlIHRoYXQgaXMgT1NJLUFwcHJvdmVkIG9yIEZTRi1GcmVlIGFzIG9mIHRoZSByZWxlYXNlIGRhdGUgb2YgdGhpcworICAgTGljZW5zZSBvciBhIG51bWJlcmVkIHZlcnNpb24gb2YgY29weWxlZnQtbmV4dCByZWxlYXNlZCBieSB0aGUKKyAgIENvcHlsZWZ0LU5leHQgUHJvamVjdCwgdGhlbiB0aGUgbGljZW5zZSBJIGdyYW50IFlvdSB1bmRlciBzZWN0aW9uIDEgaXMgbm8KKyAgIGxvbmdlciBzdWJqZWN0IHRvIHRoZSBjb25kaXRpb25zIGluIHNlY3Rpb25zIDIgdGhyb3VnaCA1LgorCis4LiBDb3B5bGVmdCBTdW5zZXQKKworICAgVGhlIGNvbmRpdGlvbnMgaW4gc2VjdGlvbnMgMiB0aHJvdWdoIDUgbm8gbG9uZ2VyIGFwcGx5IG9uY2UgZmlmdGVlbgorICAgeWVhcnMgaGF2ZSBlbGFwc2VkIGZyb20gdGhlIGRhdGUgb2YgTXkgZmlyc3QgRGlzdHJpYnV0aW9uIG9mIE15IFdvcmsKKyAgIHVuZGVyIHRoaXMgTGljZW5zZS4KKworOS4gUGFzcy1UaHJvdWdoCisKKyAgIFdoZW4gWW91IERpc3RyaWJ1dGUgYSBDb3ZlcmVkIFdvcmssIHRoZSByZWNpcGllbnQgYXV0b21hdGljYWxseSByZWNlaXZlcworICAgYSBsaWNlbnNlIHRvIE15IFdvcmsgZnJvbSBNZSwgc3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlLgorCisxMC4gVGVybWluYXRpb24KKworICAgIFlvdXIgbGljZW5zZSBncmFudHMgdW5kZXIgc2VjdGlvbiAxIGFyZSBhdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZWQgaWYgWW91CisKKyAgICBhKSBmYWlsIHRvIGNvbXBseSB3aXRoIHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZSwgdW5sZXNzIFlvdSBjdXJlCisgICAgICAgc3VjaCBub25jb21wbGlhbmNlIHdpdGhpbiB0aGlydHkgZGF5cyBhZnRlciBiZWNvbWluZyBhd2FyZSBvZiBpdCwgb3IKKworICAgIGIpIGluaXRpYXRlIGEgcGF0ZW50IGluZnJpbmdlbWVudCBsaXRpZ2F0aW9uIGNsYWltIChleGNsdWRpbmcKKyAgICAgICBkZWNsYXJhdG9yeSBqdWRnbWVudCBhY3Rpb25zLCBjb3VudGVyY2xhaW1zLCBhbmQgY3Jvc3MtY2xhaW1zKQorICAgICAgIGFsbGVnaW5nIHRoYXQgYW55IHBhcnQgb2YgTXkgV29yayBkaXJlY3RseSBvciBpbmRpcmVjdGx5IGluZnJpbmdlcworICAgICAgIGFueSBwYXRlbnQuCisKKyAgICBUZXJtaW5hdGlvbiBvZiBZb3VyIGxpY2Vuc2UgZ3JhbnRzIGV4dGVuZHMgdG8gYWxsIGNvcGllcyBvZiBDb3ZlcmVkCisgICAgV29ya3MgWW91IHN1YnNlcXVlbnRseSBvYnRhaW4uIFRlcm1pbmF0aW9uIGRvZXMgbm90IHRlcm1pbmF0ZSB0aGUKKyAgICByaWdodHMgb2YgdGhvc2Ugd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIFlvdSBzdWJqZWN0IHRvCisgICAgdGhpcyBMaWNlbnNlLgorCisgICAgVG8gdGhlIGV4dGVudCBwZXJtaXNzaW9uIHRvIG1ha2UgY29waWVzIG9mIGEgQ292ZXJlZCBXb3JrIGlzIG5lY2Vzc2FyeQorICAgIG1lcmVseSBmb3IgcnVubmluZyBpdCwgc3VjaCBwZXJtaXNzaW9uIGlzIG5vdCB0ZXJtaW5hYmxlLgorCisxMS4gTGF0ZXIgTGljZW5zZSBWZXJzaW9ucworCisgICAgVGhlIENvcHlsZWZ0LU5leHQgUHJvamVjdCBtYXkgcmVsZWFzZSBuZXcgdmVyc2lvbnMgb2YgY29weWxlZnQtbmV4dCwKKyAgICBkZXNpZ25hdGVkIGJ5IGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIgKCJMYXRlciBWZXJzaW9ucyIpLgorICAgIFVubGVzcyBJIGV4cGxpY2l0bHkgcmVtb3ZlIHRoZSBvcHRpb24gb2YgRGlzdHJpYnV0aW5nIENvdmVyZWQgV29ya3MKKyAgICB1bmRlciBMYXRlciBWZXJzaW9ucywgWW91IG1heSBEaXN0cmlidXRlIENvdmVyZWQgV29ya3MgdW5kZXIgYW55IExhdGVyCisgICAgVmVyc2lvbi4KKworKiogMTIuIE5vIFdhcnJhbnR5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqCisqKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKioKKyoqICAgICBNeSBXb3JrIGlzIHByb3ZpZGVkICJhcy1pcyIsIHdpdGhvdXQgd2FycmFudHkuIFlvdSBiZWFyIHRoZSByaXNrICAqKgorKiogICAgIG9mIHVzaW5nIGl0LiBUbyB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBhcHBsaWNhYmxlIGxhdywgZWFjaCAgICAgICoqCisqKiAgICAgRGlzdHJpYnV0b3Igb2YgTXkgV29yayBleGNsdWRlcyB0aGUgaW1wbGllZCB3YXJyYW50aWVzIG9mIHRpdGxlLCAgKioKKyoqICAgICBtZXJjaGFudGFiaWxpdHksIGZpdG5lc3MgZm9yIGEgcGFydGljdWxhciBwdXJwb3NlIGFuZCAgICAgICAgICAgICAqKgorKiogICAgIG5vbi1pbmZyaW5nZW1lbnQuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqCisKKyoqIDEzLiBMaW1pdGF0aW9uIG9mIExpYWJpbGl0eSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKgorKiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqCisqKiAgICAgVG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgYXBwbGljYWJsZSBsYXcsIGluIG5vIGV2ZW50IHdpbGwgYW55ICAgKioKKyoqICAgICBEaXN0cmlidXRvciBvZiBNeSBXb3JrIGJlIGxpYWJsZSB0byBZb3UgZm9yIGFueSBkYW1hZ2VzICAgICAgICAgICAqKgorKiogICAgIHdoYXRzb2V2ZXIsIHdoZXRoZXIgZGlyZWN0LCBpbmRpcmVjdCwgc3BlY2lhbCwgaW5jaWRlbnRhbCwgb3IgICAgICoqCisqKiAgICAgY29uc2VxdWVudGlhbCBkYW1hZ2VzLCB3aGV0aGVyIGFyaXNpbmcgdW5kZXIgY29udHJhY3QsIHRvcnQgICAgICAgKioKKyoqICAgICAoaW5jbHVkaW5nIG5lZ2xpZ2VuY2UpLCBvciBvdGhlcndpc2UsIGV2ZW4gd2hlcmUgdGhlIERpc3RyaWJ1dG9yICAqKgorKiogICAgIGtuZXcgb3Igc2hvdWxkIGhhdmUga25vd24gYWJvdXQgdGhlIHBvc3NpYmlsaXR5IG9mIHN1Y2ggZGFtYWdlcy4gICoqCisKKzE0LiBTZXZlcmFiaWxpdHkKKworICAgIFRoZSBpbnZhbGlkaXR5IG9yIHVuZW5mb3JjZWFiaWxpdHkgb2YgYW55IHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UKKyAgICBkb2VzIG5vdCBhZmZlY3QgdGhlIHZhbGlkaXR5IG9yIGVuZm9yY2VhYmlsaXR5IG9mIHRoZSByZW1haW5kZXIgb2YKKyAgICB0aGlzIExpY2Vuc2UuIFN1Y2ggcHJvdmlzaW9uIGlzIHRvIGJlIHJlZm9ybWVkIHRvIHRoZSBtaW5pbXVtIGV4dGVudAorICAgIG5lY2Vzc2FyeSB0byBtYWtlIGl0IHZhbGlkIGFuZCBlbmZvcmNlYWJsZS4KKworMTUuIERlZmluaXRpb25zCisKKyAgICAiQ29weWxlZnQtTmV4dCBQcm9qZWN0IiBtZWFucyB0aGUgcHJvamVjdCB0aGF0IG1haW50YWlucyB0aGUgc291cmNlCisgICAgY29kZSByZXBvc2l0b3J5IGF0IDxodHRwczovL2dpdG9yaW91cy5vcmcvY29weWxlZnQtbmV4dC8+IGFzIG9mIHRoZQorICAgIHJlbGVhc2UgZGF0ZSBvZiB0aGlzIExpY2Vuc2UuCisKKyAgICAiQ29ycmVzcG9uZGluZyBTb3VyY2UiIG9mIGEgQ292ZXJlZCBXb3JrIGluIE9iamVjdCBDb2RlIGZvcm0gbWVhbnMgKGkpCisgICAgdGhlIFNvdXJjZSBDb2RlIGZvcm0gb2YgdGhlIENvdmVyZWQgV29yazsgKGlpKSBhbGwgc2NyaXB0cywKKyAgICBpbnN0cnVjdGlvbnMgYW5kIHNpbWlsYXIgaW5mb3JtYXRpb24gdGhhdCBhcmUgcmVhc29uYWJseSBuZWNlc3NhcnkgZm9yCisgICAgYSBza2lsbGVkIGRldmVsb3BlciB0byBnZW5lcmF0ZSBzdWNoIE9iamVjdCBDb2RlIGZyb20gdGhlIFNvdXJjZSBDb2RlCisgICAgcHJvdmlkZWQgdW5kZXIgKGkpOyBhbmQgKGlpaSkgYSBsaXN0IGNsZWFybHkgaWRlbnRpZnlpbmcgYWxsIFNlcGFyYXRlCisgICAgV29ya3MgKG90aGVyIHRoYW4gdGhvc2UgcHJvdmlkZWQgaW4gY29tcGxpYW5jZSB3aXRoIChpaSkpIHRoYXQgd2VyZQorICAgIHNwZWNpZmljYWxseSB1c2VkIGluIGJ1aWxkaW5nIGFuZCAoaWYgYXBwbGljYWJsZSkgaW5zdGFsbGluZyB0aGUKKyAgICBDb3ZlcmVkIFdvcmsgKGZvciBleGFtcGxlLCBhIHNwZWNpZmllZCBwcm9wcmlldGFyeSBjb21waWxlciBpbmNsdWRpbmcKKyAgICBpdHMgdmVyc2lvbiBudW1iZXIpLiBDb3JyZXNwb25kaW5nIFNvdXJjZSBtdXN0IGJlIG1hY2hpbmUtcmVhZGFibGUuCisKKyAgICAiQ292ZXJlZCBXb3JrIiBtZWFucyBNeSBXb3JrIG9yIGEgRGVyaXZlZCBXb3JrLgorCisgICAgIkRlcml2ZWQgV29yayIgbWVhbnMgYSB3b3JrIG9mIGF1dGhvcnNoaXAgdGhhdCBjb3BpZXMgZnJvbSwgbW9kaWZpZXMsCisgICAgYWRhcHRzLCBpcyBiYXNlZCBvbiwgaXMgYSBkZXJpdmF0aXZlIHdvcmsgb2YsIHRyYW5zZm9ybXMsIHRyYW5zbGF0ZXMgb3IKKyAgICBjb250YWlucyBhbGwgb3IgcGFydCBvZiBNeSBXb3JrLCBzdWNoIHRoYXQgY29weXJpZ2h0IHBlcm1pc3Npb24gaXMKKyAgICByZXF1aXJlZC4gVGhlIGZvbGxvd2luZyBhcmUgbm90IERlcml2ZWQgV29ya3M6IChpKSBNZXJlIEFnZ3JlZ2F0aW9uOworICAgIChpaSkgYSBtZXJlIHJlcHJvZHVjdGlvbiBvZiBNeSBXb3JrOyBhbmQgKGlpaSkgaWYgTXkgV29yayBmYWlscyB0bworICAgIGV4cGxpY2l0bHkgc3RhdGUgYW4gZXhwZWN0YXRpb24gb3RoZXJ3aXNlLCBhIHdvcmsgdGhhdCBtZXJlbHkgbWFrZXMKKyAgICByZWZlcmVuY2UgdG8gTXkgV29yay4KKworICAgICJEaXN0cmlidXRlIiBtZWFucyB0byBkaXN0cmlidXRlLCB0cmFuc2ZlciBvciBtYWtlIGEgY29weSBhdmFpbGFibGUgdG8KKyAgICBzb21lb25lIGVsc2UsIHN1Y2ggdGhhdCBjb3B5cmlnaHQgcGVybWlzc2lvbiBpcyByZXF1aXJlZC4KKworICAgICJEaXN0cmlidXRvciIgbWVhbnMgTWUgYW5kIGFueW9uZSBlbHNlIHdobyBEaXN0cmlidXRlcyBhIENvdmVyZWQgV29yay4KKworICAgICJGU0YtRnJlZSIgbWVhbnMgY2xhc3NpZmllZCBhcyAnZnJlZScgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKworICAgICJHUEwiIG1lYW5zIGEgdmVyc2lvbiBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ugb3IgdGhlIEdOVQorICAgIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorCisgICAgIkkiLyJNZSIvIk15IiByZWZlcnMgdG8gdGhlIGluZGl2aWR1YWwgb3IgbGVnYWwgZW50aXR5IHRoYXQgcGxhY2VzIE15CisgICAgV29yayB1bmRlciB0aGlzIExpY2Vuc2UuICJZb3UiLyJZb3VyIiByZWZlcnMgdG8gdGhlIGluZGl2aWR1YWwgb3IgbGVnYWwKKyAgICBlbnRpdHkgZXhlcmNpc2luZyByaWdodHMgaW4gTXkgV29yayB1bmRlciB0aGlzIExpY2Vuc2UuIEEgbGVnYWwgZW50aXR5CisgICAgaW5jbHVkZXMgZWFjaCBlbnRpdHkgdGhhdCBjb250cm9scywgaXMgY29udHJvbGxlZCBieSwgb3IgaXMgdW5kZXIKKyAgICBjb21tb24gY29udHJvbCB3aXRoIHN1Y2ggbGVnYWwgZW50aXR5LiAiQ29udHJvbCIgbWVhbnMgKGEpIHRoZSBwb3dlciB0bworICAgIGRpcmVjdCB0aGUgYWN0aW9ucyBvZiBzdWNoIGxlZ2FsIGVudGl0eSwgd2hldGhlciBieSBjb250cmFjdCBvcgorICAgIG90aGVyd2lzZSwgb3IgKGIpIG93bmVyc2hpcCBvZiBtb3JlIHRoYW4gZmlmdHkgcGVyY2VudCBvZiB0aGUKKyAgICBvdXRzdGFuZGluZyBzaGFyZXMgb3IgYmVuZWZpY2lhbCBvd25lcnNoaXAgb2Ygc3VjaCBsZWdhbCBlbnRpdHkuCisKKyAgICAiTGljZW5zZWQgUGF0ZW50cyIgbWVhbnMgYWxsIHBhdGVudCBjbGFpbXMgbGljZW5zYWJsZSByb3lhbHR5LWZyZWUgYnkKKyAgICBNZSwgbm93IG9yIGluIHRoZSBmdXR1cmUsIHRoYXQgYXJlIG5lY2Vzc2FyaWx5IGluZnJpbmdlZCBieSBtYWtpbmcsCisgICAgdXNpbmcsIG9yIHNlbGxpbmcgTXkgV29yaywgYW5kIGV4Y2x1ZGVzIGNsYWltcyB0aGF0IHdvdWxkIGJlIGluZnJpbmdlZAorICAgIG9ubHkgYXMgYSBjb25zZXF1ZW5jZSBvZiBmdXJ0aGVyIG1vZGlmaWNhdGlvbiBvZiBNeSBXb3JrLgorCisgICAgIk1lcmUgQWdncmVnYXRpb24iIG1lYW5zIGFuIGFnZ3JlZ2F0aW9uIG9mIGEgQ292ZXJlZCBXb3JrIHdpdGggYQorICAgIFNlcGFyYXRlIFdvcmsuCisKKyAgICAiTXkgV29yayIgbWVhbnMgdGhlIHBhcnRpY3VsYXIgd29yayBvZiBhdXRob3JzaGlwIEkgbGljZW5zZSB0byBZb3UKKyAgICB1bmRlciB0aGlzIExpY2Vuc2UuCisKKyAgICAiT2JqZWN0IENvZGUiIG1lYW5zIGFueSBmb3JtIG9mIGEgd29yayB0aGF0IGlzIG5vdCBTb3VyY2UgQ29kZS4KKworICAgICJPU0ktQXBwcm92ZWQiIG1lYW5zIGFwcHJvdmVkIGFzICdPcGVuIFNvdXJjZScgYnkgdGhlIE9wZW4gU291cmNlCisgICAgSW5pdGlhdGl2ZS4KKworICAgICJTZXBhcmF0ZSBXb3JrIiBtZWFucyBhIHdvcmsgdGhhdCBpcyBzZXBhcmF0ZSBmcm9tIGFuZCBpbmRlcGVuZGVudCBvZiBhCisgICAgcGFydGljdWxhciBDb3ZlcmVkIFdvcmsgYW5kIGlzIG5vdCBieSBpdHMgbmF0dXJlIGFuIGV4dGVuc2lvbiBvcgorICAgIGVuaGFuY2VtZW50IG9mIHRoZSBDb3ZlcmVkIFdvcmssIGFuZC9vciBhIHJ1bnRpbWUgbGlicmFyeSwgc3RhbmRhcmQKKyAgICBsaWJyYXJ5IG9yIHNpbWlsYXIgY29tcG9uZW50IHRoYXQgaXMgdXNlZCB0byBnZW5lcmF0ZSBhbiBPYmplY3QgQ29kZQorICAgIGZvcm0gb2YgYSBDb3ZlcmVkIFdvcmsuCisKKyAgICAiU291cmNlIENvZGUiIG1lYW5zIHRoZSBwcmVmZXJyZWQgZm9ybSBvZiBhIHdvcmsgZm9yIG1ha2luZworICAgIG1vZGlmaWNhdGlvbnMgdG8gaXQuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9saWNlbnNlcy9uZXRwZXJmIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvbGljZW5zZXMvbmV0cGVyZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjNjZWIyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvbGljZW5zZXMvbmV0cGVyZgpAQCAtMCwwICsxLDQzIEBACisKKyAKKyAgICAgICAgICAgICAgQ29weXJpZ2h0IChDKSAxOTkzIEhld2xldHQtUGFja2FyZCBDb21wYW55CisgICAgICAgICAgICAgICAgICAgICAgICAgQUxMIFJJR0hUUyBSRVNFUlZFRC4KKyAKKyAgVGhlIGVuY2xvc2VkIHNvZnR3YXJlIGFuZCBkb2N1bWVudGF0aW9uIGluY2x1ZGVzIGNvcHlyaWdodGVkIHdvcmtzCisgIG9mIEhld2xldHQtUGFja2FyZCBDby4gRm9yIGFzIGxvbmcgYXMgeW91IGNvbXBseSB3aXRoIHRoZSBmb2xsb3dpbmcKKyAgbGltaXRhdGlvbnMsIHlvdSBhcmUgaGVyZWJ5IGF1dGhvcml6ZWQgdG8gKGkpIHVzZSwgcmVwcm9kdWNlLCBhbmQKKyAgbW9kaWZ5IHRoZSBzb2Z0d2FyZSBhbmQgZG9jdW1lbnRhdGlvbiwgYW5kIHRvIChpaSkgZGlzdHJpYnV0ZSB0aGUKKyAgc29mdHdhcmUgYW5kIGRvY3VtZW50YXRpb24sIGluY2x1ZGluZyBtb2RpZmljYXRpb25zLCBmb3IKKyAgbm9uLWNvbW1lcmNpYWwgcHVycG9zZXMgb25seS4KKyAgICAgIAorICAxLiAgVGhlIGVuY2xvc2VkIHNvZnR3YXJlIGFuZCBkb2N1bWVudGF0aW9uIGlzIG1hZGUgYXZhaWxhYmxlIGF0IG5vCisgICAgICBjaGFyZ2UgaW4gb3JkZXIgdG8gYWR2YW5jZSB0aGUgZ2VuZXJhbCBkZXZlbG9wbWVudCBvZgorICAgICAgaGlnaC1wZXJmb3JtYW5jZSBuZXR3b3JraW5nIHByb2R1Y3RzLgorIAorICAyLiAgWW91IG1heSBub3QgZGVsZXRlIGFueSBjb3B5cmlnaHQgbm90aWNlcyBjb250YWluZWQgaW4gdGhlCisgICAgICBzb2Z0d2FyZSBvciBkb2N1bWVudGF0aW9uLiBBbGwgaGFyZCBjb3BpZXMsIGFuZCBjb3BpZXMgaW4KKyAgICAgIHNvdXJjZSBjb2RlIG9yIG9iamVjdCBjb2RlIGZvcm0sIG9mIHRoZSBzb2Z0d2FyZSBvcgorICAgICAgZG9jdW1lbnRhdGlvbiAoaW5jbHVkaW5nIG1vZGlmaWNhdGlvbnMpIG11c3QgY29udGFpbiBhdCBsZWFzdAorICAgICAgb25lIG9mIHRoZSBjb3B5cmlnaHQgbm90aWNlcy4KKyAKKyAgMy4gIFRoZSBlbmNsb3NlZCBzb2Z0d2FyZSBhbmQgZG9jdW1lbnRhdGlvbiBoYXMgbm90IGJlZW4gc3ViamVjdGVkCisgICAgICB0byB0ZXN0aW5nIGFuZCBxdWFsaXR5IGNvbnRyb2wgYW5kIGlzIG5vdCBhIEhld2xldHQtUGFja2FyZCBDby4KKyAgICAgIHByb2R1Y3QuIEF0IGEgZnV0dXJlIHRpbWUsIEhld2xldHQtUGFja2FyZCBDby4gbWF5IG9yIG1heSBub3QKKyAgICAgIG9mZmVyIGEgdmVyc2lvbiBvZiB0aGUgc29mdHdhcmUgYW5kIGRvY3VtZW50YXRpb24gYXMgYSBwcm9kdWN0LgorICAKKyAgNC4gIFRIRSBTT0ZUV0FSRSBBTkQgRE9DVU1FTlRBVElPTiBJUyBQUk9WSURFRCAiQVMgSVMiLgorICAgICAgSEVXTEVUVC1QQUNLQVJEIENPTVBBTlkgRE9FUyBOT1QgV0FSUkFOVCBUSEFUIFRIRSBVU0UsCisgICAgICBSRVBST0RVQ1RJT04sIE1PRElGSUNBVElPTiBPUiBESVNUUklCVVRJT04gT0YgVEhFIFNPRlRXQVJFIE9SCisgICAgICBET0NVTUVOVEFUSU9OIFdJTEwgTk9UIElORlJJTkdFIEEgVEhJUkQgUEFSVFknUyBJTlRFTExFQ1RVQUwKKyAgICAgIFBST1BFUlRZIFJJR0hUUy4gSFAgRE9FUyBOT1QgV0FSUkFOVCBUSEFUIFRIRSBTT0ZUV0FSRSBPUgorICAgICAgRE9DVU1FTlRBVElPTiBJUyBFUlJPUiBGUkVFLiBIUCBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMsCisgICAgICBFWFBSRVNTIEFORCBJTVBMSUVELCBXSVRIIFJFR0FSRCBUTyBUSEUgU09GVFdBUkUgQU5EIFRIRQorICAgICAgRE9DVU1FTlRBVElPTi4gSFAgU1BFQ0lGSUNBTExZIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBPRgorICAgICAgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KKyAgCisgIDUuICBIRVdMRVRULVBBQ0tBUkQgQ09NUEFOWSBXSUxMIE5PVCBJTiBBTlkgRVZFTlQgQkUgTElBQkxFIEZPUiBBTlkKKyAgICAgIERJUkVDVCwgSU5ESVJFQ1QsIFNQRUNJQUwsIElOQ0lERU5UQUwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgICAgICAoSU5DTFVESU5HIExPU1QgUFJPRklUUykgUkVMQVRFRCBUTyBBTlkgVVNFLCBSRVBST0RVQ1RJT04sCisgICAgICBNT0RJRklDQVRJT04sIE9SIERJU1RSSUJVVElPTiBPRiBUSEUgU09GVFdBUkUgT1IgRE9DVU1FTlRBVElPTi4KKyAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvbGljZW5zZXMvcmFkdmQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9saWNlbnNlcy9yYWR2ZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wM2RiMGI2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvbGljZW5zZXMvcmFkdmQKQEAgLTAsMCArMSwzNyBAQAorVGhlIGF1dGhvcihzKSBncmFudCBwZXJtaXNzaW9uIGZvciByZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQKK2JpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgb2YgdGhlIHNvZnR3YXJlIGFuZCBkb2N1bWVudGF0aW9uCitwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCiswLiBJZiB5b3UgcmVjZWl2ZSBhIHZlcnNpb24gb2YgdGhlIHNvZnR3YXJlIHRoYXQgaXMgc3BlY2lmaWNhbGx5IGxhYmVsbGVkCisgICBhcyBub3QgYmVpbmcgZm9yIHJlZGlzdHJpYnV0aW9uIChjaGVjayB0aGUgdmVyc2lvbiBtZXNzYWdlIGFuZC9vciBSRUFETUUpLAorICAgeW91IGFyZSBub3QgcGVybWl0dGVkIHRvIHJlZGlzdHJpYnV0ZSB0aGF0IHZlcnNpb24gb2YgdGhlIHNvZnR3YXJlIGluIGFueQorICAgd2F5IG9yIGZvcm0uCisxLiBBbGwgdGVybXMgb2YgYWxsIG90aGVyIGFwcGxpY2FibGUgY29weXJpZ2h0cyBhbmQgbGljZW5zZXMgbXVzdCBiZQorICAgZm9sbG93ZWQuCisyLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGF1dGhvcnMnIGNvcHlyaWdodAorICAgbm90aWNlKHMpLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucywgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKzMuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYXV0aG9ycycgY29weXJpZ2h0CisgICBub3RpY2UocyksIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zLCBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKzQuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50IHdpdGggdGhlIG5hbWUocykgb2YgdGhlCisgICBhdXRob3JzIGFzIHNwZWNpZmllZCBpbiB0aGUgY29weXJpZ2h0IG5vdGljZShzKSBzdWJzdGl0dXRlZCB3aGVyZQorICAgaW5kaWNhdGVkOgorCisgICAgICAgIFRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIGF1dGhvcnMgd2hpY2ggYXJlIAorCW1lbnRpb25lZCBhdCB0aGUgc3RhcnQgb2YgdGhlIHNvdXJjZSBmaWxlcyBhbmQgb3RoZXIgY29udHJpYnV0b3JzLgorCis1LiBOZWl0aGVyIHRoZSBuYW1lKHMpIG9mIHRoZSBhdXRob3Iocykgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIElUUyBBVVRIT1JTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKK0VYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKK1dBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKK0RJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyhJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKK0xPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyhJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCitTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2NyZGEvY3JkYS9kby1ub3QtcnVuLWxkY29uZmlnLWlmLWRlc3RkaXItaXMtc2V0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvY3JkYS9jcmRhL2RvLW5vdC1ydW4tbGRjb25maWctaWYtZGVzdGRpci1pcy1zZXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2VmMzVlZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2NyZGEvY3JkYS9kby1ub3QtcnVuLWxkY29uZmlnLWlmLWRlc3RkaXItaXMtc2V0LnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKK0Zyb206IEJlbiBIdXRjaGluZ3MgPGJlbkBkZWNhZGVudC5vcmcudWs+CitEYXRlOiBTYXQsIDIzIEF1ZyAyMDE0IDEyOjI3OjM0IC0wNzAwCitTdWJqZWN0OiBjcmRhOiBEbyBub3QgcnVuIGxkY29uZmlnIGlmIERFU1RESVIgaXMgc2V0CisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHA6Ly93d3cuc3Bpbmljcy5uZXQvbGlzdHMvbGludXgtd2lyZWxlc3MvbXNnMTI2MDI4Lmh0bWxdCisKK1NpZ25lZC1vZmYtYnk6IEJlbiBIdXRjaGluZ3MgPGJlbkBkZWNhZGVudC5vcmcudWs+CitTaWduZWQtb2ZmLWJ5OiBKb2UgTWFjRG9uYWxkIDxqb2VfbWFjZG9uYWxkQG1lbnRvci5jb20+CisKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTEzMiw3ICsxMzIsOSBAQCBpbnN0YWxsLWxpYnJlZzoKKyAJJChOUSkgJyAgSU5TVEFMTCAgbGlicmVnJworIAkkKFEpbWtkaXIgLXAgJChERVNURElSKS8kKExJQkRJUikKKyAJJChRKWNwICQoTElCUkVHKSAkKERFU1RESVIpLyQoTElCRElSKS8KKytpZm5kZWYgREVTVERJUgorIAkkKFEpbGRjb25maWcKKytlbmRpZgorIAorICUubzogJS5jIHJlZ2RiLmggJChMSUJSRUcpCisgCSQoTlEpICcgIENDICAnICRACmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jcmRhL2NyZGEvZml4LWxpbmtpbmctb2YtbGlicmFyaWVzLXVzZWQtYnktcmVnbGliLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvY3JkYS9jcmRhL2ZpeC1saW5raW5nLW9mLWxpYnJhcmllcy11c2VkLWJ5LXJlZ2xpYi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hY2ViNTZkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvY3JkYS9jcmRhL2ZpeC1saW5raW5nLW9mLWxpYnJhcmllcy11c2VkLWJ5LXJlZ2xpYi5wYXRjaApAQCAtMCwwICsxLDUwIEBACitGcm9tOiBCZW4gSHV0Y2hpbmdzIDxiZW5AZGVjYWRlbnQub3JnLnVrPgorRGF0ZTogU2F0LCAyMyBBdWcgMjAxNCAxMjoyNjozNyAtMDcwMAorU3ViamVjdDogRml4IGxpbmtpbmcgb2YgbGlicmFyaWVzIHVzZWQgYnkgbGlicmVnCisKK1RoZSBtYXRoIGFuZCBjcnlwdG8gbGlicmFyaWVzIGFyZSBjYWxsZWQgYnkgYW5kIG5lZWQgdG8gYmUgbGlua2VkIHRvCitsaWJyZWcuc28sIG5vdCB0byB0aGUgZXhlY3V0YWJsZXMuCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHA6Ly93d3cuc3Bpbmljcy5uZXQvbGlzdHMvbGludXgtd2lyZWxlc3MvbXNnMTI2MDI3Lmh0bWxdCisKK1NpZ25lZC1vZmYtYnk6IEJlbiBIdXRjaGluZ3MgPGJlbkBkZWNhZGVudC5vcmcudWs+CitTaWduZWQtb2ZmLWJ5OiBKb2UgTWFjRG9uYWxkIDxqb2VfbWFjZG9uYWxkQG1lbnRvci5jb20+CisKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTMwLDcgKzMwLDcgQEAgQ0ZMQUdTICs9IC1zdGQ9Z251OTkgLVdhbGwgLVdlcnJvciAtcGVkYQorIENGTEFHUyArPSAtV2FsbCAtZworIExETElCUkVHICs9IC1scmVnCisgTERMSUJTICs9ICQoTERMSUJSRUcpCistTERMSUJTICs9IC1sbQorK0xJQlJFR0xETElCUyArPSAtbG0KKyBMSUJSRUcgKz0gbGlicmVnLnNvCisgTERGTEFHUyArPSAtTCAuLworIAorQEAgLTQwLDcgKzQwLDcgQEAgYWxsX25vdmVyaWZ5OiAkKExJQlJFRykgY3JkYSBpbnRlcnNlY3QgcgorIAorIGlmZXEgKCQoVVNFX09QRU5TU0wpLDEpCisgQ0ZMQUdTICs9IC1EVVNFX09QRU5TU0wgLURQVUJLRVlfRElSPVwiJChSVU5USU1FX1BVQktFWV9ESVIpXCIgYHBrZy1jb25maWcgLS1jZmxhZ3Mgb3BlbnNzbGAKKy1MRExJQlMgKz0gYHBrZy1jb25maWcgLS1saWJzIG9wZW5zc2xgCisrTElCUkVHTERMSUJTICs9IGBwa2ctY29uZmlnIC0tbGlicyBvcGVuc3NsYAorIAorIGlmZXEgKCQoUlVOVElNRV9QVUJLRVlfT05MWSksMSkKKyBDRkxBR1MgKz0gLURSVU5USU1FX1BVQktFWV9PTkxZCitAQCAtNTEsNyArNTEsNyBAQCBlbmRpZgorIAorIGVsc2UKKyBDRkxBR1MgKz0gLURVU0VfR0NSWVBUCistTERMSUJTICs9IC1sZ2NyeXB0CisrTElCUkVHTERMSUJTICs9IC1sZ2NyeXB0CisgCisgJChMSUJSRUcpOiBrZXlzLWdjcnlwdC5jCisgCitAQCAtMTIxLDcgKzEyMSw3IEBAIGtleXMtJS5jOiB1dGlscy9rZXkycHViLnB5ICQod2lsZGNhcmQgJCgKKyAKKyAkKExJQlJFRyk6IHJlZ2RiLmggcmVnbGliLmggcmVnbGliLmMKKyAJJChOUSkgJyAgQ0MgICcgJEAKKy0JJChRKSQoQ0MpICQoQ0ZMQUdTKSAkKENQUEZMQUdTKSAtbyAkQCAtc2hhcmVkIC1XbCwtc29uYW1lLCQoTElCUkVHKSAkXgorKwkkKFEpJChDQykgJChDRkxBR1MpICQoQ1BQRkxBR1MpIC1vICRAIC1zaGFyZWQgLVdsLC1zb25hbWUsJChMSUJSRUcpICReICQoTElCUkVHTERMSUJTKQorIAorIGluc3RhbGwtbGlicmVnLWhlYWRlcnM6CisgCSQoTlEpICcgIElOU1RBTEwgIGxpYnJlZy1oZWFkZXJzJwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvY3JkYS9jcmRhXzMuMTguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jcmRhL2NyZGFfMy4xOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MzFhMDUzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvY3JkYS9jcmRhXzMuMTguYmIKQEAgLTAsMCArMSw0MSBAQAorU1VNTUFSWSA9ICJXaXJlbGVzcyBDZW50cmFsIFJlZ3VsYXRvcnkgRG9tYWluIEFnZW50IgorSE9NRVBBR0UgPSAiaHR0cDovL3dpcmVsZXNzLmtlcm5lbC5vcmcvZW4vZGV2ZWxvcGVycy9SZWd1bGF0b3J5L0NSREEiCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiY29weWxlZnQtbmV4dC0wLjMuMCAmIElTQyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2NvcHlsZWZ0LW5leHQtMC4zLjA7bWQ1PTg3NDNhMmMzNTkwMzdkNGQzMjlhMzFlNzllYWJlZmZlIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovLyR7V09SS0RJUn0vd2lyZWxlc3MtcmVnZGItMjAxNC4xMS4xOC9MSUNFTlNFO21kNT0wN2M0ZjZkZWEzODQ1YjAyYTE4ZGMwMGM4Yzg3Njk5YyIKKworREVQRU5EUyA9ICJweXRob24tbTJjcnlwdG8tbmF0aXZlIHB5dGhvbi1uYXRpdmUgbGliZ2NyeXB0IGxpYm5sIgorCitTUkNfVVJJID0gImh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL3NvZnR3YXJlL25ldHdvcmsvY3JkYS8ke0JQfS50YXIueHo7bmFtZT1jcmRhIFwKKyAgICAgICAgICAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvc29mdHdhcmUvbmV0d29yay93aXJlbGVzcy1yZWdkYi93aXJlbGVzcy1yZWdkYi0yMDE0LjExLjE4LnRhci54ejtuYW1lPWJpbiBcCisgICAgICAgICAgIGZpbGU6Ly9kby1ub3QtcnVuLWxkY29uZmlnLWlmLWRlc3RkaXItaXMtc2V0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC1saW5raW5nLW9mLWxpYnJhcmllcy11c2VkLWJ5LXJlZ2xpYi5wYXRjaCBcCisiCitTUkNfVVJJW2NyZGEubWQ1c3VtXSA9ICIwNDMxZmVmMzA2N2JmNTAzZGZiNDY0MDY5ZjA2MTYzYSIKK1NSQ19VUklbY3JkYS5zaGEyNTZzdW1dID0gIjQzZmNiOTY3OWY4Yjc1ZWQ4N2FkMTA5NDRhNTA2MjkyZGVmMTNlNGFmYjE5NGFmYTdhYTkyMWIwMWU4ZWNkYmYiCisKK1NSQ19VUklbYmluLm1kNXN1bV0gPSAiZDc1MGM0MDJjNTUxMGFkZDczODBlZGNiMWQ5Yjc1YjIiCitTUkNfVVJJW2Jpbi5zaGEyNTZzdW1dID0gImVhYjZiNTBmMzA3NDhhOGIwMDY1YmEzOGNmM2RmMDVhYWMxNjFhNTg2MWFlMGE2YzNjZmQwMWQzOGE3MWM5ZGQiCisKK2luaGVyaXQgcHl0aG9uLWRpciBweXRob25uYXRpdmUKKyMgUmVjdXJzaXZlIG1ha2UgcHJvYmxlbQorRVhUUkFfT0VNQUtFID0gIk1BS0VGTEFHUz0gREVTVERJUj0ke0R9IExJQkRJUj0ke2xpYmRpcn0vY3JkYSBMRExJQlJFRz0nLVdsLC1ycGF0aCwke2xpYmRpcn0vY3JkYSAtbHJlZyciCisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSBhbGxfbm92ZXJpZnkKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIFNCSU5ESVI9JHtzYmluZGlyfS8gaW5zdGFsbAorCisgICAgaW5zdGFsbCAtZCAke0R9JHtsaWJkaXJ9L2NyZGEvCisKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS93aXJlbGVzcy1yZWdkYi0yMDE0LjExLjE4L3JlZ3VsYXRvcnkuYmluICR7RH0ke2xpYmRpcn0vY3JkYS9yZWd1bGF0b3J5LmJpbgorfQorCisKK1JERVBFTkRTXyR7UE59ID0gInVkZXYiCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9Y3JkYS9yZWd1bGF0b3J5LmJpbiBcCisgICAgICAgICAgICAgICAgJHtiYXNlX2xpYmRpcn0vdWRldi9ydWxlcy5kLzg1LXJlZ3VsYXRvcnkucnVsZXMgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGFxL2RhcV8yLjAuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RhcS9kYXFfMi4wLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDgwMzlmMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RhcS9kYXFfMi4wLjYuYmIKQEAgLTAsMCArMSwyNiBAQAorU1VNTUFSWSA9ICJUaGUgZHVtcCBEQVEgdGVzdCB0aGUgdmFyaW91cyBpbmxpbmUgbW9kZSBmZWF0dXJlcyAiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnNub3J0Lm9yZyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mOWNlNTFhNjVkZDczOGRjMWFlNjMxZDhiMjFjNDBlMCIKKworUEFSQUxMRUxfTUFLRSA9ICIiCisKK0RFUEVORFMgPSAibGlicGNhcCBsaWJwY3JlIGxpYmRuZXQiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Zvc3NpZXMub3JnL2xpbnV4L21pc2MvZGFxLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgICBmaWxlOi8vZGlzYWJsZS1ydW4tdGVzdC1wcm9ncmFtLXdoaWxlLWNyb3NzLWNvbXBpbGluZy5wYXRjaCAiCisKKyMgdGhlc2UgMiBjcmVhdGUgdW5kZWNsYXJlZCBkZXBlbmRlbmN5IG9uIGxpYmRuZXQgYW5kIGxpYm5ldGZpbHRlci1xdWV1ZSBmcm9tIG1ldGEtbmV0d29ya2luZworIyB0aGlzIGVycm9yIGZyb20gdGVzdC1kZXBlbmRlbmNpZXMgc2NyaXB0OgorIyBkYXEvZGFxL2xhdGVzdCBsb3N0IGRlcGVuZGVuY3kgb24gIGxpYmRuZXQgbGlibW5sIGxpYm5ldGZpbHRlci1xdWV1ZSBsaWJuZm5ldGxpbmsKKyMKKyMgbmV2ZXIgbG9vayB0byAvdXNyL2xvY2FsIGxpYiB3aGlsZSBjcm9zcyBjb21waWxpbmcKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1uZnEtbW9kdWxlIC0tZGlzYWJsZS1pcHEtbW9kdWxlIC0taW5jbHVkZWRpcj0ke2luY2x1ZGVkaXJ9IFwKKwktLXdpdGgtbGlicGNhcC1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSAtLXdpdGgtZG5ldC1pbmNsdWRlcz0ke1NUQUdJTkdfTElCRElSfSIKKworU1JDX1VSSVttZDVzdW1dID0gIjJjZDZkYTQyMmE3MmMxMjljNjg1ZmM0YmI4NDhjMjRjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImI0MGUxZDEyNzNlMDhhYWVhYTg2ZTY5ZDRmMjhkNTM1YjdlNTNiZGIzODk4YWRmNTM5MjY2YjYzMTM3YmU3Y2IiCisKK2luaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kYXEvZmlsZXMvZGlzYWJsZS1ydW4tdGVzdC1wcm9ncmFtLXdoaWxlLWNyb3NzLWNvbXBpbGluZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RhcS9maWxlcy9kaXNhYmxlLXJ1bi10ZXN0LXByb2dyYW0td2hpbGUtY3Jvc3MtY29tcGlsaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExMDBiN2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kYXEvZmlsZXMvZGlzYWJsZS1ydW4tdGVzdC1wcm9ncmFtLXdoaWxlLWNyb3NzLWNvbXBpbGluZy5wYXRjaApAQCAtMCwwICsxLDMxIEBACitVcHN0cmVhbS1TdGF0dXM6SW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK2ZpeCB0aGUgYmVsb3cgZXJyb3I6Citjb25maWd1cmU6IGVycm9yOiBjYW5ub3QgcnVuIHRlc3QgcHJvZ3JhbSB3aGlsZSBjcm9zcyBjb21waWxpbmcKKworU2lnbmVkLW9mZi1ieTogQ2h1bnJvbmcgR3VvIDxCNDAyOTBAZnJlZXNjYWxlLmNvbT4KKworLS0tIGEvbTQvc2YubTRvbGQgICAgMjAxNS0xMC0yOCAxMDoyMToyMC4yNzA1NTc5ODYgKzA4MDAKKysrKyBhL200L3NmLm00ICAgICAgIDIwMTUtMTAtMjggMTA6MjM6MjIuNzI2NTUxOTc0ICswODAwCitAQCAtMTM1LDIwICsxMzUsNyBAQAorICAgICAgICAgZWNobworICAgICAgICAgZXhpdCAxCisgICAgIGZpCistICAgIEFDX0NBQ0hFX0NIRUNLKFtmb3IgbGlicGNhcCB2ZXJzaW9uID49ICQxXSwgW2RhcV9jdl9saWJwY2FwX3ZlcnNpb25fMXhdLCBbCistICAgIEFDX1JVTl9JRkVMU0UoCistICAgIFtBQ19MQU5HX1BST0dSQU0oCistICAgIFtbCistICAgICNpbmNsdWRlIDxwY2FwLmg+CistICAgICNpbmNsdWRlIDxzdHJpbmcuaD4KKy0gICAgZXh0ZXJuIGNoYXIgcGNhcF92ZXJzaW9uW107CistICAgIF1dLAorLSAgICBbWworLSAgICAgICAgaWYgKHN0cmNtcChwY2FwX3ZlcnNpb24sICQxKSA8IDApCistICAgICAgICAgICAgcmV0dXJuIDE7CistICAgIF1dKV0sCistICAgIFtkYXFfY3ZfbGlicGNhcF92ZXJzaW9uXzF4PSJ5ZXMiXSwKKy0gICAgW2RhcV9jdl9saWJwY2FwX3ZlcnNpb25fMXg9Im5vIl0pXSkKKysgICAgQUNfQ0FDSEVfQ0hFQ0soW2ZvciBsaWJwY2FwIHZlcnNpb24gPj0gJDFdLCBbZGFxX2N2X2xpYnBjYXBfdmVyc2lvbl8xeF0pCisgICAgIGlmIHRlc3QgIngkZGFxX2N2X2xpYnBjYXBfdmVyc2lvbl8xeCIgPSAieG5vIjsgdGhlbgorICAgICAgICAgZWNobworICAgICAgICAgZWNobyAiICAgIEVSUk9SISAgTGlicGNhcCBsaWJyYXJ5IHZlcnNpb24gPj0gJDEgIG5vdCBmb3VuZC4iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaGNwY2QvZGhjcGNkXzYuMTAuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3BjZC9kaGNwY2RfNi4xMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkODA0MjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaGNwY2QvZGhjcGNkXzYuMTAuMS5iYgpAQCAtMCwwICsxLDI0IEBACitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK1NVTU1BUlkgPSAiZGhjcGNkIC0gYSBESENQIGNsaWVudCIKK0RFU0NSSVBUSU9OID0gImRoY3BjZCBydW5zIG9uIHlvdXIgbWFjaGluZSBhbmQgc2lsZW50bHkgY29uZmlndXJlcyB5b3VyIGNvbXB1dGVyIHRvIHdvcmsgb24gdGhlIGF0dGFjaGVkIG5ldHdvcmtzIHdpdGhvdXQgdHJvdWJsZSBhbmQgbW9zdGx5IHdpdGhvdXQgY29uZmlndXJhdGlvbi4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly9yb3kubWFycGxlcy5uYW1lL3Byb2plY3RzL2RoY3BjZC8iCisKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZGhjcGNkLmM7ZW5kbGluZT0yNjttZDU9NzdjNDBkNjcxYWZmODA0Y2E5MWVhOTk1NTZkYThlOWIiCisKK1NSQ19VUkkgPSAiaHR0cDovL3JveS5tYXJwbGVzLm5hbWUvZG93bmxvYWRzLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLnh6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiYTdiODNjNTdmNDdiNjJmNDgzNzM5MDVkM2I0Zjc5NzgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjg0YWJmOGMzYmUwNTgwYmJhYzVlYWNhOTUzNTkzNDZhYjBkNzhkNDA3MjMxN2I2Y2U4N2NjNjhmMmU4YWU3YiIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKK1BBQ0tBR0VDT05GSUcgPz0gInVkZXYgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJpcHY2IiwgImlwdjYiLCAiIiwgZCl9IgorCitQQUNLQUdFQ09ORklHW3VkZXZdID0gIi0td2l0aC11ZGV2LC0td2l0aG91dC11ZGV2LHVkZXYsdWRldiIKK1BBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiIKKworRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLWlwdjQiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2RoY3BjZC9kZXYvLmRlYnVnIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy8wMDAxLXJjcC1maXgtdG8td29yay13aXRoLWxhcmdlLWZpbGVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy8wMDAxLXJjcC1maXgtdG8td29yay13aXRoLWxhcmdlLWZpbGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0NzY0ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzLzAwMDEtcmNwLWZpeC10by13b3JrLXdpdGgtbGFyZ2UtZmlsZXMucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1N1YmplY3Q6IHJjcDogZml4IHRvIHdvcmsgd2l0aCBsYXJnZSBmaWxlcworCitXaGVuIHdlIGNvcHkgZmlsZSBieSByY3AgY29tbWFuZCwgaWYgdGhlIGZpbGUgPiAyR0IsIGl0IHdpbGwgZmFpbC4KK1RoZSBjYXVzZSBpcyB0aGF0IGl0IHVzZWQgaW5jb3JyZWN0IGRhdGEgdHlwZSBvbiBmaWxlIHNpemUgaW4gc2luaygpIG9mIHJjcC4KKworU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL3JjcC5jIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9yY3AuYyBiL3NyYy9yY3AuYworaW5kZXggMjFmNTViNi4uYmFmYTM1ZiAxMDA2NDQKKy0tLSBhL3NyYy9yY3AuYworKysrIGIvc3JjL3JjcC5jCitAQCAtODc2LDkgKzg3Niw5IEBAIHNpbmsgKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgICBlbnVtCisgICB7IFlFUywgTk8sIERJU1BMQVlFRCB9IHdyZXJyOworICAgQlVGICpicDsKKy0gIG9mZl90IGksIGo7CisrICBvZmZfdCBpLCBqLCBzaXplOworICAgaW50IGFtdCwgY291bnQsIGV4aXN0cywgZmlyc3QsIG1hc2ssIG1vZGUsIG9mZCwgb21vZGU7CistICBpbnQgc2V0aW1lcywgc2l6ZSwgdGFyZ2lzZGlyLCB3cmVycm5vOworKyAgaW50IHNldGltZXMsIHRhcmdpc2Rpciwgd3JlcnJubzsKKyAgIGNoYXIgY2gsICpjcCwgKm5wLCAqdGFyZywgKnZlY3RbMV0sIGJ1ZltCVUZTSVpdOworICAgY29uc3QgY2hhciAqd2h5OworIAorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2ZpeC1kaXNhYmxlLWlwdjYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2ZpeC1kaXNhYmxlLWlwdjYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmQzYWU0NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvZml4LWRpc2FibGUtaXB2Ni5wYXRjaApAQCAtMCwwICsxLDYwIEBACitVcHN0cmVhbTogaHR0cDovL3d3dy5tYWlsLWFyY2hpdmUuY29tL2J1Zy1pbmV0dXRpbHNAZ251Lm9yZy9tc2cwMjEwMy5odG1sCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitkaWZmIC11ciBpbmV0dXRpbHMtMS44Lm9yaWcvcGluZy9waW5nX2NvbW1vbi5oIGluZXR1dGlscy0xLjgvcGluZy9waW5nX2NvbW1vbi5oCistLS0gaW5ldHV0aWxzLTEuOC5vcmlnL3BpbmcvcGluZ19jb21tb24uaAkyMDEwLTA1LTE1IDIwOjU1OjQ3LjAwMDAwMDAwMCArMDkzMAorKysrIGluZXR1dGlscy0xLjgvcGluZy9waW5nX2NvbW1vbi5oCTIwMTAtMTItMDEgMTI6MTk6MDguMDAwMDAwMDAwICsxMDMwCitAQCAtMTcsMTAgKzE3LDE0IEBACisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSBgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLycuICovCisgCisrI2luY2x1ZGUgPGNvbmZpZy5oPgorKworICNpbmNsdWRlIDxuZXRpbmV0L2luX3N5c3RtLmg+CisgI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KKyAjaW5jbHVkZSA8bmV0aW5ldC9pcC5oPgorKyNpZmRlZiBIQVZFX0lQVjYKKyAjaW5jbHVkZSA8bmV0aW5ldC9pY21wNi5oPgorKyNlbmRpZgorICNpbmNsdWRlIDxpY21wLmg+CisgI2luY2x1ZGUgPGVycm9yLmg+CisgI2luY2x1ZGUgPHByb2duYW1lLmg+CitAQCAtNjYsMTMgKzcwLDE5IEBACisgICAodCkudHZfdXNlYyA9ICgoaSklUElOR19QUkVDSVNJT04pKigxMDAwMDAwL1BJTkdfUFJFQ0lTSU9OKSA7XAorIH0gd2hpbGUgKDApCisgCisrI2lmZGVmIEhBVkVfSVBWNgorIC8qIE5vdCBzdXJlIGFib3V0IHRoaXMgc3RlcCovCisgI2RlZmluZSBfUElOR19CVUZMRU4ocCwgVVNFX0lQVjYpICgoVVNFX0lQVjYpPyAoKHApLT5waW5nX2RhdGFsZW4gKyBzaXplb2YgKHN0cnVjdCBpY21wNl9oZHIpKSA6IFwKKyAJCQkJICAgKChwKS0+cGluZ19kYXRhbGVuICsgc2l6ZW9mIChpY21waGRyX3QpKSkKKysjZWxzZQorKyNkZWZpbmUgX1BJTkdfQlVGTEVOKHAsIFVTRV9JUFY2KSAoKHApLT5waW5nX2RhdGFsZW4gKyBzaXplb2YgKGljbXBoZHJfdCkpCisrI2VuZGlmCisgCisrI2lmZGVmIEhBVkVfSVBWNgorIHR5cGVkZWYgaW50ICgqcGluZ19lZnA2KSAoaW50IGNvZGUsIHZvaWQgKmNsb3N1cmUsIHN0cnVjdCBzb2NrYWRkcl9pbjYgKiBkZXN0LAorIAkJCSAgc3RydWN0IHNvY2thZGRyX2luNiAqIGZyb20sIHN0cnVjdCBpY21wNl9oZHIgKiBpY21wLAorIAkJCSAgaW50IGRhdGFsZW4pOworKyNlbmRpZgorIAorIHR5cGVkZWYgaW50ICgqcGluZ19lZnApIChpbnQgY29kZSwKKyAJCQkgdm9pZCAqY2xvc3VyZSwKK0BAIC04MSwxMyArOTEsMTcgQEAKKyAJCQkgc3RydWN0IGlwICogaXAsIGljbXBoZHJfdCAqIGljbXAsIGludCBkYXRhbGVuKTsKKyAKKyB1bmlvbiBldmVudCB7CisrI2lmZGVmIEhBVkVfSVBWNgorICAgcGluZ19lZnA2IGhhbmRsZXI2OworKyNlbmRpZgorICAgcGluZ19lZnAgaGFuZGxlcjsKKyB9OworIAorIHVuaW9uIHBpbmdfYWRkcmVzcyB7CisgICBzdHJ1Y3Qgc29ja2FkZHJfaW4gcGluZ19zb2NrYWRkcjsKKysjaWZkZWYgSEFWRV9JUFY2CisgICBzdHJ1Y3Qgc29ja2FkZHJfaW42IHBpbmdfc29ja2FkZHI2OworKyNlbmRpZgorIH07CisgCisgdHlwZWRlZiBzdHJ1Y3QgcGluZ19kYXRhIFBJTkc7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2luZXR1dGlscy0xLjgtMDAwMS1wcmludGYtcGFyc2UtcHVsbC1pbi1mZWF0dXJlcy5oLWZvci1fX0dMSUJDX18ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2luZXR1dGlscy0xLjgtMDAwMS1wcmludGYtcGFyc2UtcHVsbC1pbi1mZWF0dXJlcy5oLWZvci1fX0dMSUJDX18ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2RhNGU5ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvaW5ldHV0aWxzLTEuOC0wMDAxLXByaW50Zi1wYXJzZS1wdWxsLWluLWZlYXR1cmVzLmgtZm9yLV9fR0xJQkNfXy5wYXRjaApAQCAtMCwwICsxLDI5IEBACitGcm9tIDU1MmE3ZDY0YWQ0YTcxODhhOWI3Y2Q4OTkzM2FlN2NhZjdlYmZlOTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyIGF0IGdlbnRvby5vcmc+CitEYXRlOiBUaHUsIDE4IE5vdiAyMDEwIDE2OjU5OjE0IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0ggZ251bGliXSBwcmludGYtcGFyc2U6IHB1bGwgaW4gZmVhdHVyZXMuaCBmb3IgX19HTElCQ19fCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyIGF0IGdlbnRvby5vcmc+CistLS0KKyBsaWIvcHJpbnRmLXBhcnNlLmggfCAgICAzICsrKworIDEgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliL3ByaW50Zi1wYXJzZS5oIGIvbGliL3ByaW50Zi1wYXJzZS5oCitpbmRleCA2N2E0YTJhLi4zYmQ2MTUyIDEwMDY0NAorLS0tIGEvbGliL3ByaW50Zi1wYXJzZS5oCisrKysgYi9saWIvcHJpbnRmLXBhcnNlLmgKK0BAIC0yNSw2ICsyNSw5IEBACisgCisgI2luY2x1ZGUgInByaW50Zi1hcmdzLmgiCisgCisrI2lmZGVmIEhBVkVfRkVBVFVSRVNfSAorKyMgaW5jbHVkZSA8ZmVhdHVyZXMuaD4JLyogZm9yIF9fR0xJQkNfXyAqLworKyNlbmRpZgorIAorIC8qIEZsYWdzICovCisgI2RlZmluZSBGTEFHX0dST1VQICAgICAgIDEgICAgICAvKiAnIGZsYWcgKi8KKy0tIAorMS43LjMuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2luZXR1dGlscy0xLjgtMDAwMy13Y2hhci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvaW5ldHV0aWxzLTEuOC0wMDAzLXdjaGFyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxM2JiOTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2luZXR1dGlscy0xLjgtMDAwMy13Y2hhci5wYXRjaApAQCAtMCwwICsxLDE0IEBACitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworLS0tIGluZXR1dGlscy0xLjgvbGliL3djaGFyLmluLmgKKysrKyBpbmV0dXRpbHMtMS44L2xpYi93Y2hhci5pbi5oCitAQCAtNzAsNiArNzAsOSBAQAorIC8qIFRoZSBpbmNsdWRlX25leHQgcmVxdWlyZXMgYSBzcGxpdCBkb3VibGUtaW5jbHVzaW9uIGd1YXJkLiAgKi8KKyAjaWYgQEhBVkVfV0NIQVJfSEAKKyAjIEBJTkNMVURFX05FWFRAIEBORVhUX1dDSEFSX0hACisrI2Vsc2UKKysjIGluY2x1ZGUgPHN0ZGRlZi5oPgorKyMgZGVmaW5lIE1CX0NVUl9NQVggMQorICNlbmRpZgorIAorICN1bmRlZiBfR0xfQUxSRUFEWV9JTkNMVURJTkdfV0NIQVJfSApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9pbmV0dXRpbHMtMS45LVBBVEhfUFJPQ05FVF9ERVYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2luZXR1dGlscy0xLjktUEFUSF9QUk9DTkVUX0RFVi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTkyOTg5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9pbmV0dXRpbHMtMS45LVBBVEhfUFJPQ05FVF9ERVYucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAoraW5ldHV0aWxzOiBkZWZpbmUgUEFUSF9QUk9DTkVUX0RFViBpZiBub3QgYWxyZWFkeSBkZWZpbmVkCisKK3RoaXMgcHJldmVudHMgdGhlIGZvbGxvd2luZyBjb21waWxhdGlvbiBlcnJvciA6CitzeXN0ZW0vbGludXguYzo0MDE6MTU6IGVycm9yOiAnUEFUSF9QUk9DTkVUX0RFVicgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCisKK3RoaXMgcGF0Y2ggY29tZXMgZnJvbSA6CisgaHR0cDovL3JlcG9zaXRvcnkudGltZXN5cy5jb20vYnVpbGRzb3VyY2VzL2kvaW5ldHV0aWxzL2luZXR1dGlscy0xLjkvCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbm90IGF1dGhvcl0KKworU2lnbmVkLW9mLWJ5OiBFcmljIELDqW5hcmQgPGVyaWNAZXVrcmVhLmNvbT4KKy0tLQorZGlmZiAtTmF1ciBpbmV0dXRpbHMtMS45Lm9yaWcvaWZjb25maWcvc3lzdGVtL2xpbnV4LmMgaW5ldHV0aWxzLTEuOS9pZmNvbmZpZy9zeXN0ZW0vbGludXguYworLS0tIGluZXR1dGlscy0xLjkub3JpZy9pZmNvbmZpZy9zeXN0ZW0vbGludXguYwkyMDEyLTAxLTA0IDE2OjMxOjM2LjAwMDAwMDAwMCAtMDUwMAorKysrIGluZXR1dGlscy0xLjkvaWZjb25maWcvc3lzdGVtL2xpbnV4LmMJMjAxMi0wMS0wNCAxNjo0MDo1My4wMDAwMDAwMDAgLTA1MDAKK0BAIC00OSw2ICs0OSwxMCBAQAorICNpbmNsdWRlICIuLi9pZmNvbmZpZy5oIgorIAwKKyAKKysjaWZuZGVmIFBBVEhfUFJPQ05FVF9ERVYKKysgICNkZWZpbmUgUEFUSF9QUk9DTkVUX0RFViAiL3Byb2MvbmV0L2RldiIKKysjZW5kaWYKKysKKyAvKiBBUlBIUkQgc3R1ZmYuICAqLworIAorIHN0YXRpYyB2b2lkCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2luZXR1dGlscy1vbmx5LWNoZWNrLXBhbV9hcHBsLmgtd2hlbi1wYW0tZW5hYmxlZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvaW5ldHV0aWxzLW9ubHktY2hlY2stcGFtX2FwcGwuaC13aGVuLXBhbS1lbmFibGVkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmM2FiZDgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2luZXR1dGlscy1vbmx5LWNoZWNrLXBhbV9hcHBsLmgtd2hlbi1wYW0tZW5hYmxlZC5wYXRjaApAQCAtMCwwICsxLDQwIEBACitPbmx5IGNoZWNrIHNlY3VyaXR5L3BhbV9hcHBsLmggd2hpY2ggaXMgcHJvdmlkZWQgYnkgcGFja2FnZSBsaWJwYW0gd2hlbiBwYW0gaXMKK2VuYWJsZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggYjM1ZTY3Mi4uZTc4YTc1MSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMTk1LDYgKzE5NSwxOSBAQCBmaQorIAorICMgU2VlIGlmIHdlIGhhdmUgbGlicGFtLmEuICBJbnZlc3RpZ2F0ZSBQQU0gdmVyc3VzIExpbnV4LVBBTS4KKyBpZiB0ZXN0ICIkd2l0aF9wYW0iID0geWVzIDsgdGhlbgorKyAgQUNfQ0hFQ0tfSEVBREVSUyhbc2VjdXJpdHkvcGFtX2FwcGwuaF0sIFtdLCBbXSwgWworKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKysjaWZkZWYgSEFWRV9ORVRJTkVUX0lOX1NZU1RNX0gKKysjIGluY2x1ZGUgPG5ldGluZXQvaW5fc3lzdG0uaD4KKysjZW5kaWYKKysjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgorKyNpZmRlZiBIQVZFX05FVElORVRfSVBfSAorKyMgaW5jbHVkZSA8bmV0aW5ldC9pcC5oPgorKyNlbmRpZgorKyNpZmRlZiBIQVZFX1NZU19QQVJBTV9ICisrIyBpbmNsdWRlIDxzeXMvcGFyYW0uaD4KKysjZW5kaWYKKytdKQorICAgQUNfQ0hFQ0tfTElCKGRsLCBkbG9wZW4sIExJQkRMPS1sZGwpCisgICBBQ19DSEVDS19MSUIocGFtLCBwYW1fYXV0aGVudGljYXRlLCBMSUJQQU09LWxwYW0pCisgICBpZiB0ZXN0ICIkYWNfY3ZfbGliX3BhbV9wYW1fYXV0aGVudGljYXRlIiA9IHllcyA7IHRoZW4KK0BAIC01ODcsNyArNjAwLDcgQEAgQUNfSEVBREVSX0RJUkVOVAorIEFDX0NIRUNLX0hFQURFUlMoW2FycGEvbmFtZXNlci5oIGVycm5vLmggZmNudGwuaCBmZWF0dXJlcy5oIFwKKyAJCSAgZ2xvYi5oIG1lbW9yeS5oIG5ldGluZXQvZXRoZXIuaCBuZXRpbmV0L2luX3N5c3RtLmggXAorIAkJICBuZXRpbmV0L2lwLmggbmV0aW5ldC9pcF9pY21wLmggbmV0aW5ldC9pcF92YXIuaCBcCistCQkgIHNlY3VyaXR5L3BhbV9hcHBsLmggc2hhZG93LmggXAorKwkJICBzaGFkb3cuaCBcCisgCQkgIHN0ZGFyZy5oIHN0ZGxpYi5oIHN0cmluZy5oIHN0cm9wdHMuaCBzeXMvdHR5LmggXAorIAkJICBzeXMvdXRzbmFtZS5oIHN5cy9wdHl2YXIuaCBzeXMvbXNnYnVmLmggc3lzL2ZpbGlvLmggXAorIAkJICBzeXMvaW9jdGxfY29tcGF0Lmggc3lzL2NkZWZzLmggc3lzL3N0cmVhbS5oIHN5cy9ta2Rldi5oIFwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvcmV4ZWMueGluZXRkLmluZXR1dGlscyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvcmV4ZWMueGluZXRkLmluZXR1dGlscwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMGU4MWVmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9yZXhlYy54aW5ldGQuaW5ldHV0aWxzCkBAIC0wLDAgKzEsMjAgQEAKKyMgZGVmYXVsdDogb2ZmCisjIGRlc2NyaXB0aW9uOgorIyBSZXhlY2QgaXMgdGhlIHNlcnZlciBmb3IgdGhlIHJleGVjIHByb2dyYW0uIFRoZSBzZXJ2ZXIgcHJvdmlkZXMgcmVtb3RlIAorIyBleGVjdXRpb24gZmFjaWxpdGllcyB3aXRoIGF1dGhlbnRpY2F0aW9uIGJhc2VkIG9uIHVzZXIgbmFtZXMgYW5kIAorIyBwYXNzd29yZHMuCisjCitzZXJ2aWNlIGV4ZWMKK3sKKwlzb2NrZXRfdHlwZQk9IHN0cmVhbQorCXByb3RvY29sCT0gdGNwCisJZmxhZ3MJCT0gTkFNRUlOQVJHUworCXdhaXQJCT0gbm8KKwl1c2VyCQk9IHJvb3QKKwlncm91cAkJPSByb290CisJbG9nX29uX3N1Y2Nlc3MJKz0gVVNFUklECisJbG9nX29uX2ZhaWx1cmUJKz0gVVNFUklECisJc2VydmVyCQk9IEBTQklORElSQC90Y3BkCisJc2VydmVyX2FyZ3MJPSBAU0JJTkRJUkAvaW4ucmV4ZWNkCisJZGlzYWJsZQkJPSB5ZXMKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvcmxvZ2luLnhpbmV0ZC5pbmV0dXRpbHMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3Jsb2dpbi54aW5ldGQuaW5ldHV0aWxzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxYjU1ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3Jsb2dpbi54aW5ldGQuaW5ldHV0aWxzCkBAIC0wLDAgKzEsMjMgQEAKKyMgZGVmYXVsdDogb2ZmCisjIGRlc2NyaXB0aW9uOgorIyBSbG9naW5kIGlzIGEgc2VydmVyIGZvciB0aGUgcmxvZ2luIHByb2dyYW0uIFRoZSBzZXJ2ZXIgcHJvdmlkZXMgcmVtb3RlIAorIyBleGVjdXRpb24gd2l0aCBhdXRoZW50aWNhdGlvbiBiYXNlZCBvbiBwcml2aWxlZ2VkIHBvcnQgbnVtYmVycyBmcm9tIHRydXN0ZWQKKyMgaG9zdAorIworc2VydmljZSBsb2dpbgoreworCXNvY2tldF90eXBlCT0gc3RyZWFtCisJcHJvdG9jb2wJPSB0Y3AKKwlmbGFncwkJPSBOQU1FSU5BUkdTCisJd2FpdAkJPSBubworCXVzZXIJCT0gcm9vdAorCWdyb3VwCQk9IHJvb3QKKwlsb2dfb25fc3VjY2VzcwkrPSBVU0VSSUQKKwlsb2dfb25fZmFpbHVyZQkrPSBVU0VSSUQKKwlzZXJ2ZXIJCT0gQFNCSU5ESVJAL3RjcGQKKwlzZXJ2ZXJfYXJncwk9IEBTQklORElSQC9pbi5ybG9naW5kIC1hCisJZGlzYWJsZQkJPSB5ZXMKK30KKwkJCQkJCQkKKwkJCQkJCQkKKwkJCQkJCQkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvcnNoLnhpbmV0ZC5pbmV0dXRpbHMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3JzaC54aW5ldGQuaW5ldHV0aWxzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiODk0YTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3JzaC54aW5ldGQuaW5ldHV0aWxzCkBAIC0wLDAgKzEsMjEgQEAKKyMgZGVmYXVsdDogb2ZmCisjIGRlc2NyaXB0aW9uOgorIyBUaGUgcnNoZCBzZXJ2ZXIgaXMgYSBzZXJ2ZXIgZm9yIHRoZSByY21kKDMpIHJvdXRpbmUgYW5kLCAKKyMgY29uc2VxdWVudGx5LCBmb3IgdGhlIHJzaCgxKSBwcm9ncmFtLiBUaGUgc2VydmVyIHByb3ZpZGVzIAorIyByZW1vdGUgZXhlY3V0aW9uIGZhY2lsaXRpZXMgd2l0aCBhdXRoZW50aWNhdGlvbiBiYXNlZCBvbiAKKyMgcHJpdmlsZWdlZCBwb3J0IG51bWJlcnMgZnJvbSB0cnVzdGVkIGhvc3RzLgorIworc2VydmljZSBzaGVsbAoreworCXNvY2tldF90eXBlCT0gc3RyZWFtCisJcHJvdG9jb2wJPSB0Y3AKKwlmbGFncwkJPSBOQU1FSU5BUkdTCisJd2FpdAkJPSBubworCXVzZXIJCT0gcm9vdAorCWdyb3VwCQk9IHJvb3QKKwlsb2dfb25fc3VjY2VzcwkrPSBVU0VSSUQKKwlsb2dfb25fZmFpbHVyZQkrPSBVU0VSSUQKKwlzZXJ2ZXIJCT0gQFNCSU5ESVJAL3RjcGQKKwlzZXJ2ZXJfYXJncwk9IEBTQklORElSQC9pbi5yc2hkIC1hTAorCWRpc2FibGUJCT0geWVzCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3RlbG5ldC54aW5ldGQuaW5ldHV0aWxzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy90ZWxuZXQueGluZXRkLmluZXR1dGlscwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZDlhMDQwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy90ZWxuZXQueGluZXRkLmluZXR1dGlscwpAQCAtMCwwICsxLDEzIEBACisjIGRlZmF1bHQ6IG9uCisjIGRlc2NyaXB0aW9uOiBUaGUgdGVsbmV0IHNlcnZlciBzZXJ2ZXMgdGVsbmV0IHNlc3Npb25zOyBpdCB1c2VzIFwKKyMgICAgICAgdW5lbmNyeXB0ZWQgdXNlcm5hbWUvcGFzc3dvcmQgcGFpcnMgZm9yIGF1dGhlbnRpY2F0aW9uLgorc2VydmljZSB0ZWxuZXQKK3sKKwlkaXNhYmxlCQk9IG5vCisJZmxhZ3MJCT0gUkVVU0UKKwlzb2NrZXRfdHlwZQk9IHN0cmVhbQorCXdhaXQJCT0gbm8KKwl1c2VyCQk9IHJvb3QKKwlzZXJ2ZXIJCT0gQFNCSU5ESVJAL2luLnRlbG5ldGQKKwlsb2dfb25fZmFpbHVyZQkrPSBVU0VSSUQKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvdGZ0cGQueGluZXRkLmluZXR1dGlscyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvdGZ0cGQueGluZXRkLmluZXR1dGlscwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42N2I0NGM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy90ZnRwZC54aW5ldGQuaW5ldHV0aWxzCkBAIC0wLDAgKzEsMTkgQEAKKyMgZGVmYXVsdDogb2ZmCisjIGRlc2NyaXB0aW9uOgorIyBUZnRwZCBpcyBhIHNlcnZlciB3aGljaCBzdXBwb3J0cyB0aGUgSW50ZXJuZXQgVHJpdmlhbCBGaWxlIFRyYW5zZmVyCisjIFByby10b2NvbCAoUkZDIDc4MykuIFRoZSBURlRQIHNlcnZlciBvcGVyYXRlcyBhdCB0aGUgcG9ydCBpbmRpY2F0ZWQKKyMgaW4gdGhlIHRmdHAgc2VydmljZSBkZXNjcmlwdGlvbjsgc2VlIHNlcnZpY2VzKDUpLgorIworc2VydmljZSB0ZnRwCit7CisgICAgICAgIGRpc2FibGUgICAgICAgICA9IHllcworICAgICAgICBzb2NrZXRfdHlwZSAgICAgPSBkZ3JhbQorICAgICAgICBwcm90b2NvbCAgICAgICAgPSB1ZHAKKyAgICAgICAgZmxhZ3MgICAgICAgICAgID0gSVB2NgorICAgICAgICB3YWl0ICAgICAgICAgICAgPSB5ZXMKKyAgICAgICAgdXNlciAgICAgICAgICAgID0gcm9vdAorICAgICAgICBncm91cCAgICAgICAgICAgPSByb290CisgICAgICAgIHNlcnZlciAgICAgICAgICA9IEBTQklORElSQC9pbi50ZnRwZAorICAgICAgICBzZXJ2ZXJfYXJncyAgICAgPSAvdGZ0cGJvb3QKK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy92ZXJzaW9uLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy92ZXJzaW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzMmEwZTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3ZlcnNpb24ucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK3JlbW92ZSBtNF9lc3lzY21kIGZ1bmN0aW9uCisKK1NpZ25lZC1vZmYtYnk6IENodW5yb25nIEd1byA8YjQwMjkwQGZyZWVzY2FsZS5jb20+CistLS0gaW5ldHV0aWxzLTEuOS4xL2NvbmZpZ3VyZS5hYwkyMDEyLTAxLTA2IDIyOjA1OjA1LjAwMDAwMDAwMCArMDgwMAorKysrIGluZXR1dGlscy0xLjkuMS9jb25maWd1cmUuYWMJMjAxMi0xMS0xMiAxNDowMToxMS43MzI5NTcwMTkgKzA4MDAKK0BAIC0yMCw4ICsyMCw3IEBACisgCisgQUNfUFJFUkVRKDIuNTkpCisgCistQUNfSU5JVChbR05VIGluZXR1dGlsc10sCistIG00X2VzeXNjbWQoW2J1aWxkLWF1eC9naXQtdmVyc2lvbi1nZW4gLnRhcmJhbGwtdmVyc2lvbiAncy9pbmV0dXRpbHMtL3YvO3MvXy8uL2cnXSksCisrQUNfSU5JVChbR05VIGluZXR1dGlsc10sWzEuOS40XSwKKyAgW2J1Zy1pbmV0dXRpbHNAZ251Lm9yZ10pCisgCisgQUNfQ09ORklHX1NSQ0RJUihbc3JjL2luZXRkLmNdKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlsc18xLjkuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHNfMS45LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjg0ODdlYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHNfMS45LjQuYmIKQEAgLTAsMCArMSwxNzkgQEAKK0RFU0NSSVBUSU9OID0gIlRoZSBHTlUgaW5ldHV0aWxzIGFyZSBhIGNvbGxlY3Rpb24gb2YgY29tbW9uIFwKK25ldHdvcmtpbmcgdXRpbGl0aWVzIGFuZCBzZXJ2ZXJzIGluY2x1ZGluZyBmdHAsIGZ0cGQsIHJjcCwgXAorcmV4ZWMsIHJsb2dpbiwgcmxvZ2luZCwgcnNoLCByc2hkLCBzeXNsb2csIHN5c2xvZ2QsIHRhbGssIFwKK3RhbGtkLCB0ZWxuZXQsIHRlbG5ldGQsIHRmdHAsIHRmdHBkLCBhbmQgdXVjcGQuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2luZXR1dGlscyIKK1NFQ1RJT04gPSAibmV0IgorREVQRU5EUyA9ICJuY3Vyc2VzIG5ldGJhc2UgcmVhZGxpbmUiCitMSUNFTlNFID0gIkdQTHYzIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wYzcwNTFhZWY5MjE5ZGM3MjM3ZjIwNmM1YzQxNzlhNyIKKworU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9L2luZXR1dGlscy9pbmV0dXRpbHMtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3ZlcnNpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vaW5ldHV0aWxzLTEuOC0wMDAxLXByaW50Zi1wYXJzZS1wdWxsLWluLWZlYXR1cmVzLmgtZm9yLV9fR0xJQkNfXy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9pbmV0dXRpbHMtMS44LTAwMDMtd2NoYXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcmV4ZWMueGluZXRkLmluZXR1dGlscyAgXAorICAgICAgICAgICBmaWxlOi8vcmxvZ2luLnhpbmV0ZC5pbmV0dXRpbHMgXAorICAgICAgICAgICBmaWxlOi8vcnNoLnhpbmV0ZC5pbmV0dXRpbHMgXAorICAgICAgICAgICBmaWxlOi8vdGVsbmV0LnhpbmV0ZC5pbmV0dXRpbHMgXAorICAgICAgICAgICBmaWxlOi8vdGZ0cGQueGluZXRkLmluZXR1dGlscyBcCisgICAgICAgICAgIGZpbGU6Ly9pbmV0dXRpbHMtMS45LVBBVEhfUFJPQ05FVF9ERVYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vaW5ldHV0aWxzLW9ubHktY2hlY2stcGFtX2FwcGwuaC13aGVuLXBhbS1lbmFibGVkLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtcmNwLWZpeC10by13b3JrLXdpdGgtbGFyZ2UtZmlsZXMucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDQ4NTJjMjZjNDdjYzhjNmI4MjVmMmI3NGYxOTFmNTIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYmU4Zjc1ZWZmOTM2YjhlNDFiMTEyNDYyZGI1MWFkZjY4OTcxNTY1OGExYjA5ZTBkNmIwNWQxMWVjOTJjYzYxNiIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCB1cGRhdGUtYWx0ZXJuYXRpdmVzIHRleGluZm8KKworU1JDX1VSSSArPSAiJHtAYmFzZV9jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCAnJywgJ2ZpbGU6Ly9maXgtZGlzYWJsZS1pcHY2LnBhdGNoJywgZCl9Igorbm9pcHY2PSIke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsICcnLCAnLS1kaXNhYmxlLWlwdjYgZ2xfY3Zfc29ja2V0X2lwdjY9bm8nLCBkKX0iCisKK1BBQ0tBR0VDT05GSUcgPz89ICJmdHAgdXVjcGQgXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ3BhbScsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgIgorUEFDS0FHRUNPTkZJR1tmdHBdID0gIi0tZW5hYmxlLWZ0cCwtLWRpc2FibGUtZnRwLHJlYWRsaW5lIgorUEFDS0FHRUNPTkZJR1t1dWNwZF0gPSAiLS1lbmFibGUtdXVjcGQsLS1kaXNhYmxlLXV1Y3BkLHJlYWRsaW5lIgorUEFDS0FHRUNPTkZJR1twYW1dID0gIi0td2l0aC1wYW0sLS13aXRob3V0LXBhbSxsaWJwYW0iCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtbmN1cnNlcy1pbmNsdWRlLWRpcj0ke1NUQUdJTkdfSU5DRElSfSBcCisgICAgICAgICR7bm9pcHY2fSBcCisgICAgICAgIGluZXR1dGlsc19jdl9wYXRoX2xvZ2luPSR7YmFzZV9iaW5kaXJ9L2xvZ2luIFwKKyAgICAgICAgLS13aXRoLWxpYnJlYWRsaW5lLXByZWZpeD0ke1NUQUdJTkdfTElCRElSfSBcCisgICAgICAgIC0tZW5hYmxlLXJwYXRoPW5vIFwKKyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgIGV4cG9ydCBIRUxQMk1BTj0ndHJ1ZScKKyAgICBjcCAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2dldHRleHQvY29uZmlnLnJwYXRoICR7U30vYnVpbGQtYXV4L2NvbmZpZy5ycGF0aAorICAgIHJtIC1mICR7U30vZ2xvYi9jb25maWd1cmUqCit9CisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke2Jhc2Vfc2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7c2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7c3lzY29uZmRpcn0veGluZXRkLmQKKyAgICBtdiAke0R9JHtiaW5kaXJ9L3BpbmcgJHtEfSR7YmFzZV9iaW5kaXJ9LworICAgIG12ICR7RH0ke2JpbmRpcn0vcGluZzYgJHtEfSR7YmFzZV9iaW5kaXJ9LworICAgIG12ICR7RH0ke2JpbmRpcn0vaWZjb25maWcgJHtEfSR7YmFzZV9zYmluZGlyfS8KKyAgICBtdiAke0R9JHtsaWJleGVjZGlyfS9zeXNsb2dkICR7RH0ke2Jhc2Vfc2JpbmRpcn0vCisgICAgbXYgJHtEfSR7YmluZGlyfS9ob3N0bmFtZSAke0R9JHtiYXNlX2JpbmRpcn0vCisgICAgbXYgJHtEfSR7bGliZXhlY2Rpcn0vdGZ0cGQgJHtEfSR7c2JpbmRpcn0vaW4udGZ0cGQKKyAgICBtdiAke0R9JHtsaWJleGVjZGlyfS90ZWxuZXRkICR7RH0ke3NiaW5kaXJ9L2luLnRlbG5ldGQKKyAgICBtdiAke0R9JHtsaWJleGVjZGlyfS9yZXhlY2QgJHtEfSR7c2JpbmRpcn0vaW4ucmV4ZWNkCisgICAgbXYgJHtEfSR7bGliZXhlY2Rpcn0vcmxvZ2luZCAke0R9JHtzYmluZGlyfS9pbi5ybG9naW5kCisgICAgbXYgJHtEfSR7bGliZXhlY2Rpcn0vcnNoZCAke0R9JHtzYmluZGlyfS9pbi5yc2hkCisgICAgbXYgJHtEfSR7bGliZXhlY2Rpcn0vdGFsa2QgJHtEfSR7c2JpbmRpcn0vaW4udGFsa2QKKyAgICBtdiAke0R9JHtsaWJleGVjZGlyfS91dWNwZCAke0R9JHtzYmluZGlyfS9pbi51dWNwZAorICAgIG12ICR7RH0ke2xpYmV4ZWNkaXJ9LyogJHtEfSR7YmluZGlyfS8KKyAgICBjcCAke1dPUktESVJ9L3JleGVjLnhpbmV0ZC5pbmV0dXRpbHMgICR7RH0vJHtzeXNjb25mZGlyfS94aW5ldGQuZC9yZXhlYworICAgIGNwICR7V09SS0RJUn0vcmxvZ2luLnhpbmV0ZC5pbmV0dXRpbHMgICR7RH0vJHtzeXNjb25mZGlyfS94aW5ldGQuZC9ybG9naW4KKyAgICBjcCAke1dPUktESVJ9L3JzaC54aW5ldGQuaW5ldHV0aWxzICAke0R9LyR7c3lzY29uZmRpcn0veGluZXRkLmQvcnNoCisgICAgY3AgJHtXT1JLRElSfS90ZWxuZXQueGluZXRkLmluZXR1dGlscyAgJHtEfS8ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3RlbG5ldAorICAgIGNwICR7V09SS0RJUn0vdGZ0cGQueGluZXRkLmluZXR1dGlscyAgJHtEfS8ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3RmdHBkCisKKyAgICBzZWQgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgLWkgJHtEfS8ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kLyoKKworICAgIHJtIC1yZiAke0R9JHtsaWJleGVjZGlyfS8KKyAgICAjIHJlbW92ZSB1c3IvbGliIGlmIGVtcHR5CisgICAgcm1kaXIgJHtEfSR7bGliZGlyfSB8fCB0cnVlCit9CisKK1BBQ0tBR0VTID0rICIke1BOfS1waW5nICR7UE59LXBpbmc2ICR7UE59LWhvc3RuYW1lICR7UE59LWlmY29uZmlnIFwKKyR7UE59LXRmdHAgJHtQTn0tbG9nZ2VyICR7UE59LXRyYWNlcm91dGUgJHtQTn0tc3lzbG9nZCBcCiske1BOfS1mdHAgJHtQTn0tZnRwZCAke1BOfS10ZnRwZCAke1BOfS10ZWxuZXQgJHtQTn0tdGVsbmV0ZCAke1BOfS1pbmV0ZCBcCiske1BOfS1yc2ggJHtQTn0tcnNoZCIKKworIyBUaGUgcGFja2FnZXMgdGZ0cGQsIHRlbG5ldGQgYW5kIHJzaGQgY29uZmxpY3Qgd2l0aCB0aGUgb25lcworIyBwcm92aWRlZCBieSBuZXRraXQsIHNvIGFkZCB0aGUgY29ycmVzcG9uZGluZyAtZGJnIHBhY2thZ2VzCisjIGZvciB0aGVtIHRvIGF2b2lkIHRoZSBjb25mbGljdGlvbiBiZXR3ZWVuIHRoZSBkYmcgcGFja2FnZQorIyBvZiBpbmV0dXRpbHMgYW5kIG5ldGtpdC4KK1BBQ0tBR0VTICs9ICIke1BOfS10ZnRwZC1kYmcgJHtQTn0tdGVsbmV0ZC1kYmcgJHtQTn0tcnNoZC1kYmciCisKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjgwIgorQUxURVJOQVRJVkVfJHtQTn0gPSAidGFsayB3aG9pcyIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt0YWxrZF0gID0gIiR7c2JpbmRpcn0vaW4udGFsa2QiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbdXVjcGRdICA9ICIke3NiaW5kaXJ9L2luLnV1Y3BkIgorCitBTFRFUk5BVElWRV8ke1BOfS1sb2dnZXIgPSAibG9nZ2VyIgorQUxURVJOQVRJVkVfJHtQTn0tc3lzbG9nZCA9ICJzeXNsb2dkIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3N5c2xvZ2RdICA9ICIke2Jhc2Vfc2JpbmRpcn0vc3lzbG9nZCIKKworQUxURVJOQVRJVkVfJHtQTn0tZnRwID0gImZ0cCIKK0FMVEVSTkFUSVZFXyR7UE59LWZ0cGQgPSAiZnRwZCIKK0FMVEVSTkFUSVZFXyR7UE59LXRmdHAgPSAidGZ0cCIKK0FMVEVSTkFUSVZFXyR7UE59LXRmdHBkID0gInRmdHBkIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3RmdHBkXSA9ICIke3NiaW5kaXJ9L3RmdHBkIgorQUxURVJOQVRJVkVfVEFSR0VUW3RmdHBkXSAgPSAiJHtzYmluZGlyfS9pbi50ZnRwZCIKKworQUxURVJOQVRJVkVfJHtQTn0tdGVsbmV0ID0gInRlbG5ldCIKK0FMVEVSTkFUSVZFXyR7UE59LXRlbG5ldGQgPSAidGVsbmV0ZCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt0ZWxuZXRkXSA9ICIke3NiaW5kaXJ9L3RlbG5ldGQiCitBTFRFUk5BVElWRV9UQVJHRVRbdGVsbmV0ZF0gPSAiJHtzYmluZGlyfS9pbi50ZWxuZXRkIgorCitBTFRFUk5BVElWRV8ke1BOfS1yc2ggPSAicmNwIHJleGVjIHJsb2dpbiByc2giCitBTFRFUk5BVElWRV8ke1BOfS1yc2hkID0gInJzaGQgcmV4ZWNkIHJsb2dpbmQiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbcnNoZF0gPSAiJHtzYmluZGlyfS9yc2hkIgorQUxURVJOQVRJVkVfVEFSR0VUW3JzaGRdID0gIiR7c2JpbmRpcn0vaW4ucnNoZCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtyZXhlY2RdID0gIiR7c2JpbmRpcn0vcmV4ZWNkIgorQUxURVJOQVRJVkVfVEFSR0VUW3JleGVjZF0gPSAiJHtzYmluZGlyfS9pbi5yZXhlY2QiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbcmxvZ2luZF0gPSAiJHtzYmluZGlyfS9ybG9naW5kIgorQUxURVJOQVRJVkVfVEFSR0VUW3Jsb2dpbmRdID0gIiR7c2JpbmRpcn0vaW4ucmxvZ2luZCIKKworQUxURVJOQVRJVkVfJHtQTn0taW5ldGQ9ICJpbmV0ZCIKK0FMVEVSTkFUSVZFXyR7UE59LXRyYWNlcm91dGUgPSAidHJhY2Vyb3V0ZSIKKworQUxURVJOQVRJVkVfJHtQTn0taG9zdG5hbWUgPSAiaG9zdG5hbWUiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbaG9zdG5hbWVdICA9ICIke2Jhc2VfYmluZGlyfS9ob3N0bmFtZSIKKworQUxURVJOQVRJVkVfJHtQTn0taWZjb25maWcgPSAiaWZjb25maWciCitBTFRFUk5BVElWRV9MSU5LX05BTUVbaWZjb25maWddICA9ICIke2Jhc2Vfc2JpbmRpcn0vaWZjb25maWciCisKK0FMVEVSTkFUSVZFXyR7UE59LXBpbmcgPSAicGluZyIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtwaW5nXSAgID0gIiR7YmFzZV9iaW5kaXJ9L3BpbmciCisKK0FMVEVSTkFUSVZFXyR7UE59LXBpbmc2ID0gInBpbmc2IgorQUxURVJOQVRJVkVfTElOS19OQU1FW3Bpbmc2XSAgPSAiJHtiYXNlX2JpbmRpcn0vcGluZzYiCisKKworRklMRVNfJHtQTn0tcGluZyA9ICIke2Jhc2VfYmluZGlyfS9waW5nLiR7QlBOfSIKK0ZJTEVTXyR7UE59LXBpbmc2ID0gIiR7YmFzZV9iaW5kaXJ9L3Bpbmc2LiR7QlBOfSIKK0ZJTEVTXyR7UE59LWhvc3RuYW1lID0gIiR7YmFzZV9iaW5kaXJ9L2hvc3RuYW1lLiR7QlBOfSIKK0ZJTEVTXyR7UE59LWlmY29uZmlnID0gIiR7YmFzZV9zYmluZGlyfS9pZmNvbmZpZy4ke0JQTn0iCitGSUxFU18ke1BOfS10cmFjZXJvdXRlID0gIiR7YmluZGlyfS90cmFjZXJvdXRlLiR7QlBOfSIKK0ZJTEVTXyR7UE59LWxvZ2dlciA9ICIke2JpbmRpcn0vbG9nZ2VyLiR7QlBOfSIKK0ZJTEVTXyR7UE59LXN5c2xvZ2QgPSAiJHtiYXNlX3NiaW5kaXJ9L3N5c2xvZ2QuJHtCUE59IgorRklMRVNfJHtQTn0tZnRwID0gIiR7YmluZGlyfS9mdHAuJHtCUE59IgorCitGSUxFU18ke1BOfS10ZnRwID0gIiR7YmluZGlyfS90ZnRwLiR7QlBOfSIKK0ZJTEVTXyR7UE59LXRlbG5ldCA9ICIke2JpbmRpcn0vdGVsbmV0LiR7QlBOfSIKK0ZJTEVTXyR7UE59LXJzaCA9ICIke2JpbmRpcn0vcnNoLiR7QlBOfSAke2JpbmRpcn0vcmxvZ2luLiR7QlBOfSAke2JpbmRpcn0vcmV4ZWMuJHtCUE59ICR7YmluZGlyfS9yY3AuJHtCUE59IgorCitGSUxFU18ke1BOfS1yc2hkID0gIiR7c2JpbmRpcn0vaW4ucnNoZCAke3NiaW5kaXJ9L2luLnJsb2dpbmQgJHtzYmluZGlyfS9pbi5yZXhlY2QgXAorICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3JzaCAke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3Jsb2dpbiAke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3JleGVjIgorRklMRVNfJHtQTn0tcnNoZC1kYmcgPSAiJHtzYmluZGlyfS8uZGVidWcvaW4ucnNoZCAke3NiaW5kaXJ9Ly5kZWJ1Zy9pbi5ybG9naW5kICR7c2JpbmRpcn0vLmRlYnVnL2luLnJleGVjZCIKK1JERVBFTkRTXyR7UE59LXJzaGQgKz0gInhpbmV0ZCB0Y3Atd3JhcHBlcnMiCitSQ09ORkxJQ1RTXyR7UE59LXJzaGQgKz0gIm5ldGtpdC1yc2hkIgorUlBST1ZJREVTXyR7UE59LXJzaGQgPSAicnNoZCIKKworRklMRVNfJHtQTn0tZnRwZCA9ICIke2JpbmRpcn0vZnRwZC4ke0JQTn0iCitGSUxFU18ke1BOfS1mdHBkLWRiZyA9ICIke2JpbmRpcn0vLmRlYnVnL2Z0cGQuJHtCUE59IgorUkRFUEVORFNfJHtQTn0tZnRwZCArPSAieGluZXRkIgorCitGSUxFU18ke1BOfS10ZnRwZCA9ICIke3NiaW5kaXJ9L2luLnRmdHBkICR7c3lzY29uZmRpcn0veGluZXRkLmQvdGZ0cGQiCitGSUxFU18ke1BOfS10ZnRwZC1kYmcgPSAiJHtzYmluZGlyfS8uZGVidWcvaW4udGZ0cGQiCitSQ09ORkxJQ1RTXyR7UE59LXRmdHBkICs9ICJuZXRraXQtdGZ0cGQiCitSREVQRU5EU18ke1BOfS10ZnRwZCArPSAieGluZXRkIgorCitGSUxFU18ke1BOfS10ZWxuZXRkID0gIiR7c2JpbmRpcn0vaW4udGVsbmV0ZCAke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3RlbG5ldCIKK0ZJTEVTXyR7UE59LXRlbG5ldGQtZGJnID0gIiR7c2JpbmRpcn0vLmRlYnVnL2luLnRlbG5ldGQiCitSQ09ORkxJQ1RTXyR7UE59LXRlbG5ldGQgKz0gIm5ldGtpdC10ZWxuZXRkIgorUlBST1ZJREVTXyR7UE59LXRlbG5ldGQgPSAidGVsbmV0ZCIKK1JERVBFTkRTXyR7UE59LXRlbG5ldGQgKz0gInhpbmV0ZCIKKworRklMRVNfJHtQTn0taW5ldGQgPSAiJHtiaW5kaXJ9L2luZXRkLiR7QlBOfSIKKworUkRFUEVORFNfJHtQTn0gPSAieGluZXRkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGZ0cC9sZnRwXzQuNi4zYS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xmdHAvbGZ0cF80LjYuM2EuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY3OTZhNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xmdHAvbGZ0cF80LjYuM2EuYmIKQEAgLTAsMCArMSwyNiBAQAorREVTQ1JJUFRJT04gPSAiTEZUUCBpcyBhIHNvcGhpc3RpY2F0ZWQgZmlsZSB0cmFuc2ZlciBwcm9ncmFtIHdpdGggXAorICAgICAgICAgICAgICAgY29tbWFuZCBsaW5lIGludGVyZmFjZS4gSXQgc3VwcG9ydHMgRlRQLCBIVFRQLCBcCisgICAgICAgICAgICAgICBGSVNILCBTRlRQLCBIVFRQUyBhbmQgRlRQUyBwcm90b2NvbHMiCitIT01FUEFHRSA9ICJodHRwOi8vbGZ0cC55YXIucnUvIgorU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCitERVBFTkRTID0gInJlYWRsaW5lIgorCitTUkNfVVJJID0gImh0dHA6Ly9mb3NzaWVzLm9yZy9saW51eC9taXNjL2xmdHAtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiMjc3N2RkNTE0ZDIxZmUxZGE3NjRiZWRkMWQwYWIzNmMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYThiNTNlNWNhMmMxYWNiZWNkMTgxYzg3ZjIxYTg2NzNjYTkwMzhkYzlmMmJlNmFiOGMyMzc5MGJkOTFmZDQ0NiIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcKKworRVhUUkFfT0VDT05GICs9ICItLXdpdGgtbW9kdWxlcyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gImxpYmlkbiBvcGVuc3NsIHpsaWIgZ251dGxzIgorUEFDS0FHRUNPTkZJR1tsaWJpZG5dID0gIi0td2l0aC1saWJpZG4sIC0td2l0aG91dC1saWJpZG4sIGxpYmlkbiIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLW9wZW5zc2wsIC0td2l0aG91dC1vcGVuc3NsLCBvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1t6bGliXSA9ICItLXdpdGgtemxpYiwgLS13aXRob3V0LXpsaWIsIHpsaWIiCitQQUNLQUdFQ09ORklHW2dudXRsc10gPSAiLS13aXRoLWdudXRscywgLS13aXRob3V0LWdudXRscywgZ251dGxzIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9sZnRwLyR7UFZ9Ly5kZWJ1ZyIKK1JERVBFTkRTXyR7UE59ID0gInBlcmwgYmFzaCByZWFkbGluZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYmRuZXQvbGliZG5ldF8xLjEyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGliZG5ldC9saWJkbmV0XzEuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjhiNmM4MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYmRuZXQvbGliZG5ldF8xLjEyLmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiZHVtYiBuZXR3b3JraW5nIGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvbGliZG5ldC8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTAwMzZjMWIxNTVmNGU5OTlmM2UwYTM3MzQ5MGI1ZGI5IgorCitTUkNfVVJJID0gImh0dHA6Ly9saWJkbmV0Lmdvb2dsZWNvZGUuY29tL2ZpbGVzL2xpYmRuZXQtJHtQVn0udGd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiOTI1M2VmNmRlMWI1ZTI4ZTljOWE2MmI4ODJlNDRjYzkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODNiMzMwMzk3ODdjZjk5OTkwZTk3N2NlZjdmMThhNWQ1ZTdhYWZmYzQ1MDU1NDhhODNkMzFiZDM1MTVlYjAyNiIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworYWNwYXRocyA9ICItSSAuL2NvbmZpZy8iCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L21iZWR0bHMvbWJlZHRsc18xLjMuMTAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tYmVkdGxzL21iZWR0bHNfMS4zLjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1YzdhZmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tYmVkdGxzL21iZWR0bHNfMS4zLjEwLmJiCkBAIC0wLDAgKzEsMzcgQEAKK1NVTU1BUlkgPSAiTGlnaHR3ZWlnaHQgY3J5cHRvIGFuZCBTU0wvVExTIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJtYmVkdGxzIGlzIGEgbGVhbiBvcGVuIHNvdXJjZSBjcnlwdG8gbGlicmFyeSAgICAgICAgICBcCitmb3IgcHJvdmlkaW5nIFNTTCBhbmQgVExTIHN1cHBvcnQgaW4geW91ciBwcm9ncmFtcy4gSXQgb2ZmZXJzICAgICAgICBcCithbiBpbnR1aXRpdmUgQVBJIGFuZCBkb2N1bWVudGVkIGhlYWRlciBmaWxlcywgc28geW91IGNhbiBhY3R1YWxseSAgICBcCit1bmRlcnN0YW5kIHdoYXQgdGhlIGNvZGUgZG9lcy4gSXQgZmVhdHVyZXM6ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgLSBTeW1tZXRyaWMgYWxnb3JpdGhtcywgbGlrZSBBRVMsIEJsb3dmaXNoLCBUcmlwbGUtREVTLCBERVMsIEFSQzQsICBcCisgICBDYW1lbGxpYSBhbmQgWFRFQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgLSBIYXNoIGFsZ29yaXRobXMsIGxpa2UgU0hBLTEsIFNIQS0yLCBSSVBFTUQtMTYwIGFuZCBNRDUgICAgICAgICAgICBcCisgLSBFbnRyb3B5IHBvb2wgYW5kIHJhbmRvbSBnZW5lcmF0b3JzLCBsaWtlIENUUi1EUkJHIGFuZCBITUFDLURSQkcgICBcCisgLSBQdWJsaWMga2V5IGFsZ29yaXRobXMsIGxpa2UgUlNBLCBFbGxpcHRpYyBDdXJ2ZXMsIERpZmZpZS1IZWxsbWFuLCBcCisgICBFQ0RTQSBhbmQgRUNESCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgLSBTU0wgdjMgYW5kIFRMUyAxLjAsIDEuMSBhbmQgMS4yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgLSBBYnN0cmFjdGlvbiBsYXllcnMgZm9yIGNpcGhlcnMsIGhhc2hlcywgcHVibGljIGtleSBvcGVyYXRpb25zLCAgICBcCisgICBwbGF0Zm9ybSBhYnN0cmFjdGlvbiBhbmQgdGhyZWFkaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisiCisKK0hPTUVQQUdFID0gImh0dHBzOi8vcG9sYXJzc2wub3JnIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2dpdGh1Yi5jb20vcG9sYXJzc2wvcG9sYXJzc2wvaXNzdWVzIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK1NFQ1RJT04gPSAibGliZGV2ZWwiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly90bHMubWJlZC5vcmcvZG93bmxvYWQvbWJlZHRscy0ke1BWfS1ncGwudGd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiMTllYmJjOTZmZWNlYjQzMGFkOTU4ZGZlODljYjYzM2YiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzQ2ZmQ4OGUwYzY2MjM2OTFmYzU2YzRlZWQ1MmU0MGE1N2IyZGEwYWM4MGY2ZGQ4OTk1MDk0YWE2YWRiNDA3ZSIKKworREVQRU5EUyA9ICJvcGVuc3NsIgorUkRFUEVORFNfJHtQTn0gKz0gImxpYmNyeXB0byIKK1BST1ZJREVTICs9ICJwb2xhcnNzbCIKK1JQUk9WSURFU18ke1BOfSA9ICJwb2xhcnNzbCIKK0VYVFJBX09FQ01BS0UgPSAiLURVU0VfU0hBUkVEX1BPTEFSU1NMX0xJQlJBUlk9b24gLURMSUJfSU5TVEFMTF9ESVI9JHtiYXNlbGlifSIKKworaW5oZXJpdCBjbWFrZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbmNvbm5lY3Qvb3BlbmNvbm5lY3RfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbmNvbm5lY3Qvb3BlbmNvbm5lY3RfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkM2MyNTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuY29ubmVjdC9vcGVuY29ubmVjdF9naXQuYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSA9ICJPcGVuIGNsaWVudCBmb3IgQ2lzY28gQW55Q29ubmVjdCBWUE4iCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5MR1BMO21kNT0yNDNiNzI1ZDcxYmI1ZGY0YTFlNTkyMGIzNDRiODZhZCIKKworREVQRU5EUyA9ICJ2cG5jIGxpYnhtbDIgZ251dGxzIGx6NCBrcmI1IGxpYnByb3h5IHBjc2MtbGl0ZSIKK1JERVBFTkRTXyR7UE59ID0gInZwbmMiCisKK1BWID0gIjcuMDYiCisKK1NSQ1JFViA9ICIzNTU0MmQ1MjIwMjY3MmI4YzEyZWNjNjM4Njc0MzIxMjgyNDQwMTNhIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXQuaW5mcmFkZWFkLm9yZy91c2Vycy9kd213Mi9vcGVuY29ubmVjdC5naXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aC12cG5jLXNjcmlwdD0ke1NZU1JPT1RfREVTVERJUn0ke3N5c2NvbmZkaXJ9L3ZwbmMvdnBuYy1zY3JpcHQgXAorICAgICAgICAgICAgICAgICAtLWRpc2FibGUtc3RhdGljIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvcmVsYXlkL3JlbGF5ZF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9yZWxheWQvcmVsYXlkX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYWIyYWI1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvcmVsYXlkL3JlbGF5ZF9naXQuYmIKQEAgLTAsMCArMSwxNCBAQAorREVTQ1JJUFRJT04gPSAiTGF5ZXIgMyByZWxheSBkYWVtb24iCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9tYWluLmM7ZW5kbGluZT0xNzttZDU9ODZhYWQ3OTkwODU2ODNlMGEyZTFjMjY4NGEyMGJhYjIiCisKK0RFUEVORFMgPSAibGlidWJveCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9uYmQubmFtZS9yZWxheWQuZ2l0IgorCitTUkNSRVYgPSAiMjk3MGZmNjBiYWM2YjcwZWNiNjgyNzc5ZDVjNzc2ZGM1NTlkYzBiOSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBjbWFrZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc2FtYmEvc2FtYmEtNC40LjIvMDAtZml4LXR5cG9zLWluLW1hbi1wYWdlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NhbWJhL3NhbWJhLTQuNC4yLzAwLWZpeC10eXBvcy1pbi1tYW4tcGFnZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzk0YmMzMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NhbWJhL3NhbWJhLTQuNC4yLzAwLWZpeC10eXBvcy1pbi1tYW4tcGFnZXMucGF0Y2gKQEAgLTAsMCArMSwxMDggQEAKK0Zyb20gMTU3MzYzODIxMmE5NzMzYTQ0OTM5YTRkMzhhMjI2ZjM4ZGNhMzZmMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hlbGUgQmFsZGVzc2FyaSA8bWljaGVsZUBhY2tzeW4ub3JnPgorRGF0ZTogVHVlLCA5IEp1bCAyMDEzIDIzOjIzOjMzICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCB0eXBvcyBpbiBtYW4tcGFnZXMKKworRml4IHNvbWUgdHlwb3MgaW4gdGhlIG1hbi1wYWdlcy4KKworU2lnbmVkLW9mZi1ieTogTWljaGVsZSBCYWxkZXNzYXJpIDxtaWNoZWxlQGFja3N5bi5vcmc+CitSZXZpZXdlZC1ieTogU2ltbyBTb3JjZSA8aWRyYUBzYW1iYS5vcmc+CisKK0F1dG9idWlsZC1Vc2VyKG1hc3Rlcik6IFNpbW8gU29yY2UgPGlkcmFAc2FtYmEub3JnPgorQXV0b2J1aWxkLURhdGUobWFzdGVyKTogV2VkIEp1bCAxMCAxNjo0NTowNyBDRVNUIDIwMTMgb24gc24tZGV2ZWwtMTA0CistLS0KKyBkb2NzLXhtbC9tYW5wYWdlcy9kYndyYXBfdG9vbC4xLnhtbCAgICAgICAgICAgICAgfCAyICstCisgZG9jcy14bWwvbWFucGFnZXMvaWRtYXBfYXV0b3JpZC44LnhtbCAgICAgICAgICAgIHwgMiArLQorIGRvY3MteG1sL21hbnBhZ2VzL25ldC44LnhtbCAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KKyBkb2NzLXhtbC9tYW5wYWdlcy9wZGJlZGl0LjgueG1sICAgICAgICAgICAgICAgICAgfCAyICstCisgZG9jcy14bWwvbWFucGFnZXMvc2FtYmEuNy54bWwgICAgICAgICAgICAgICAgICAgIHwgMiArLQorIGRvY3MteG1sL21hbnBhZ2VzL3NtYmNsaWVudC4xLnhtbCAgICAgICAgICAgICAgICB8IDIgKy0KKyBkb2NzLXhtbC9tYW5wYWdlcy9zbWJwYXNzd2QuNS54bWwgICAgICAgICAgICAgICAgfCAyICstCisgZG9jcy14bWwvbWFucGFnZXMvdmZzX3NtYl90cmFmZmljX2FuYWx5emVyLjgueG1sIHwgMiArLQorIDggZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQorCitJbmRleDogc2FtYmEtNC4xLjExL2RvY3MteG1sL21hbnBhZ2VzL3NtYnN0YXR1cy4xLnhtbAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHNhbWJhLTQuMS4xMS5vcmlnL2RvY3MteG1sL21hbnBhZ2VzL3NtYnN0YXR1cy4xLnhtbAorKysrIHNhbWJhLTQuMS4xMS9kb2NzLXhtbC9tYW5wYWdlcy9zbWJzdGF0dXMuMS54bWwKK0BAIC0xMzcsNiArMTM3LDEzIEBACisgCQk8L2xpc3RpdGVtPgorIAkJPC92YXJsaXN0ZW50cnk+CisgCisrCQk8dmFybGlzdGVudHJ5PgorKwkJPHRlcm0+LW58LS1udW1lcmljPC90ZXJtPgorKwkJPGxpc3RpdGVtPjxwYXJhPmNhdXNlcyBzbWJzdGF0dXMgdG8gZGlzcGxheSBudW1lcmljIFVJRHMgYW5kIEdJRHMgaW5zdGVhZCBvZgorKwkJCQlyZXNvbHZpbmcgdGhlbSB0byBuYW1lcy48L3BhcmE+CisrCQk8L2xpc3RpdGVtPgorKwkJPC92YXJsaXN0ZW50cnk+CisrCisgCTwvdmFyaWFibGVsaXN0PgorIDwvcmVmc2VjdDE+CisgCitJbmRleDogc2FtYmEtNC4xLjExL2RvY3MteG1sL21hbnBhZ2VzL3NoYXJlc2VjLjEueG1sCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gc2FtYmEtNC4xLjExLm9yaWcvZG9jcy14bWwvbWFucGFnZXMvc2hhcmVzZWMuMS54bWwKKysrKyBzYW1iYS00LjEuMTEvZG9jcy14bWwvbWFucGFnZXMvc2hhcmVzZWMuMS54bWwKK0BAIC0xMjksNiArMTI5LDEzIEBACisgCQk8L3BhcmE+PC9saXN0aXRlbT4KKyAJCTwvdmFybGlzdGVudHJ5PgorIAorKwkJPHZhcmxpc3RlbnRyeT4KKysJCTx0ZXJtPi1TfC0tc2V0c2RkbD1TVFJJTkc8L3Rlcm0+CisrCQk8bGlzdGl0ZW0+PHBhcmE+CisrCQlTZXQgc2VjdXJpdHkgZGVzY3JpcHRvciBieSBwcm92aWRpbmcgQUNMIGluIFNEREwgZm9ybWF0LgorKwkJPC9wYXJhPjwvbGlzdGl0ZW0+CisrCQk8L3Zhcmxpc3RlbnRyeT4KKysKKyAJCSZzdGRhcmcuaGVscDsKKyAJCSZzdGRhcmcuc2VydmVyLmRlYnVnOworIAkJJnBvcHQuY29tbW9uLnNhbWJhOworSW5kZXg6IHNhbWJhLTQuMS4xMS9kb2NzLXhtbC9idWlsZC9EVEQvc2FtYmEuZW50aXRpZXMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBzYW1iYS00LjEuMTEub3JpZy9kb2NzLXhtbC9idWlsZC9EVEQvc2FtYmEuZW50aXRpZXMKKysrKyBzYW1iYS00LjEuMTEvZG9jcy14bWwvYnVpbGQvRFREL3NhbWJhLmVudGl0aWVzCitAQCAtMjcwLDYgKzI3MCw0NCBAQCBmaWxlLgorICZwb3B0LmNvbW1vbi5zYW1iYTsKKyAnPgorIAorKzwhRU5USVRZIHN0ZGFyZy5zaWduaW5nICcKKys8dmFybGlzdGVudHJ5PgorKzx0ZXJtPi1TfC0tc2lnbmluZyBvbnxvZmZ8cmVxdWlyZWQ8L3Rlcm0+CisrPGxpc3RpdGVtPjxwYXJhPlNldCB0aGUgY2xpZW50IHNpZ25pbmcgc3RhdGUuCisrPC9wYXJhPjwvbGlzdGl0ZW0+CisrPC92YXJsaXN0ZW50cnk+CisrJz4KKysKKys8IUVOVElUWSBzdGRhcmcubWFjaGluZXBhc3MgJworKzx2YXJsaXN0ZW50cnk+CisrPHRlcm0+LVB8LS1tYWNoaW5lLXBhc3M8L3Rlcm0+CisrPGxpc3RpdGVtPjxwYXJhPlVzZSBzdG9yZWQgbWFjaGluZSBhY2NvdW50IHBhc3N3b3JkLgorKzwvcGFyYT48L2xpc3RpdGVtPgorKzwvdmFybGlzdGVudHJ5PgorKyc+CisrCisrPCFFTlRJVFkgc3RkYXJnLmVuY3J5cHQgJworKzx2YXJsaXN0ZW50cnk+CisrPHRlcm0+LWV8LS1lbmNyeXB0PC90ZXJtPgorKzxsaXN0aXRlbT48cGFyYT4KKytUaGlzIGNvbW1hbmQgbGluZSBwYXJhbWV0ZXIgcmVxdWlyZXMgdGhlIHJlbW90ZQorK3NlcnZlciBzdXBwb3J0IHRoZSBVTklYIGV4dGVuc2lvbnMgb3IgdGhhdCB0aGUgU01CMyBwcm90b2NvbCBoYXMgYmVlbiBzZWxlY3RlZC4KKytSZXF1ZXN0cyB0aGF0IHRoZSBjb25uZWN0aW9uIGJlIGVuY3J5cHRlZC4gTmVnb3RpYXRlcyBTTUIgZW5jcnlwdGlvbiB1c2luZyBlaXRoZXIKKytTTUIzIG9yIFBPU0lYIGV4dGVuc2lvbnMgdmlhIEdTU0FQSS4gVXNlcyB0aGUgZ2l2ZW4gY3JlZGVudGlhbHMgZm9yCisrdGhlIGVuY3J5cHRpb24gbmVnb3RpYXRpb24gKGVpdGhlciBrZXJiZXJvcyBvciBOVExNdjEvdjIgaWYgZ2l2ZW4KKytkb21haW4vdXNlcm5hbWUvcGFzc3dvcmQgdHJpcGxlLiBGYWlscyB0aGUgY29ubmVjdGlvbiBpZiBlbmNyeXB0aW9uCisrY2Fubm90IGJlIG5lZ290aWF0ZWQuCisrPC9wYXJhPjwvbGlzdGl0ZW0+CisrPC92YXJsaXN0ZW50cnk+CisrJz4KKysKKys8IUVOVElUWSBzdGRhcmcucHdudGhhc2ggJworKzx2YXJsaXN0ZW50cnk+CisrPHRlcm0+LS1wdy1udC1oYXNoPC90ZXJtPgorKzxsaXN0aXRlbT48cGFyYT5UaGUgc3VwcGxpZWQgcGFzc3dvcmQgaXMgdGhlIE5UIGhhc2guCisrPC9wYXJhPjwvbGlzdGl0ZW0+CisrPC92YXJsaXN0ZW50cnk+CisrJz4KKyAKKyA8IUVOVElUWSBzdGRhcmcucmVzb2x2ZS5vcmRlciAnCisgPHZhcmxpc3RlbnRyeT4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NhbWJhL3NhbWJhLTQuNC4yLzAwMDYtYXZvaWQtdXNpbmctY29sb24taW4tdGhlLWNoZWNraW5nLW1zZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NhbWJhL3NhbWJhLTQuNC4yLzAwMDYtYXZvaWQtdXNpbmctY29sb24taW4tdGhlLWNoZWNraW5nLW1zZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZGY3YTM4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc2FtYmEvc2FtYmEtNC40LjIvMDAwNi1hdm9pZC11c2luZy1jb2xvbi1pbi10aGUtY2hlY2tpbmctbXNnLnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Zyb20gNTQxM2Y5NzI5MGQzMTI2MjYyZWIzMDllY2JjZjc3Njk1MDlmMmExMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDEwIE5vdiAyMDE1IDAwOjQ4OjM1IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0ggNi83XSBhdm9pZCB1c2luZyBjb2xvbiBpbiB0aGUgY2hlY2tpbmcgbXNnCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitjb2xvbiBpcyB1c2VkIGFzIHRoZSBzZXBhcmF0b3Igd2hlbiBwYXJzZSBmcm9tCithIGFuc3dlcnMgZmlsZSwgdGhlIGNvbG9uIGhlcmUgbWFrZXMgaXQgbmV2ZXIKK2dldCB0aGUgcmlnaHQgYW5zd2VyLgorCitTaWduZWQtb2ZmLWJ5OiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgd3NjcmlwdF9jb25maWd1cmVfc3lzdGVtX21pdGtyYjUgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS93c2NyaXB0X2NvbmZpZ3VyZV9zeXN0ZW1fbWl0a3JiNSBiL3dzY3JpcHRfY29uZmlndXJlX3N5c3RlbV9taXRrcmI1CitpbmRleCBhNjJkMDBiLi5hMmQ4OWYwIDEwMDY0NAorLS0tIGEvd3NjcmlwdF9jb25maWd1cmVfc3lzdGVtX21pdGtyYjUKKysrKyBiL3dzY3JpcHRfY29uZmlndXJlX3N5c3RlbV9taXRrcmI1CitAQCAtMjQwLDcgKzI0MCw3IEBAIGNvbmYuQ0hFQ0tfQ09ERSgnJycKKyAgICAgICAgJycnLAorICAgICAnSEFWRV9XUkZJTEVfS0VZVEFCJywKKyAgICAgaGVhZGVycz0na3JiNS5oJywgbGliPSdrcmI1JywgZXhlY3V0ZT1UcnVlLAorLSAgICBtc2c9IkNoZWNraW5nIHdoZXRoZXIgdGhlIFdSRklMRTota2V5dGFiIGlzIHN1cHBvcnRlZCIpOworKyAgICBtc2c9IkNoZWNraW5nIHdoZXRoZXIgdGhlIFdSRklMRSAta2V5dGFiIGlzIHN1cHBvcnRlZCIpOworICMgQ2hlY2sgZm9yIEtSQjVfREVQUkVDQVRFRCBoYW5kbGluZworIGNvbmYuQ0hFQ0tfQ09ERSgnJycjZGVmaW5lIEtSQjVfREVQUkVDQVRFRCAxCisgICAgICAgICNpbmNsdWRlIDxrcmI1Lmg+JycnLAorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zYW1iYS9zYW1iYS00LjQuMi8xNi1kby1ub3QtY2hlY2steHNsdHByb2MtbWFucGFnZXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zYW1iYS9zYW1iYS00LjQuMi8xNi1kby1ub3QtY2hlY2steHNsdHByb2MtbWFucGFnZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzM3Y2ZjZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NhbWJhL3NhbWJhLTQuNC4yLzE2LWRvLW5vdC1jaGVjay14c2x0cHJvYy1tYW5wYWdlcy5wYXRjaApAQCAtMCwwICsxLDQzIEBACitEb24ndCBjaGVjayB4c2x0cHJvYyBtYW5wYWdlcworCitTaWduZWQtb2ZmLWJ5OiBCaWFuIE5haW1lbmcgPGJpYW5ubUBjbi5mdWppdHN1LmNvbT4KKworSW5kZXg6IHNhbWJhLTQuNC4yL2xpYi9sZGIvd3NjcmlwdAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHNhbWJhLTQuNC4yLm9yaWcvbGliL2xkYi93c2NyaXB0CisrKysgc2FtYmEtNC40LjIvbGliL2xkYi93c2NyaXB0CitAQCAtNjUsNyArNjUsNyBAQCBkZWYgY29uZmlndXJlKGNvbmYpOgorICAgICAgICAgICAgICAgICBjb25mLmRlZmluZSgnVVNJTkdfU1lTVEVNX0xEQicsIDEpCisgCisgICAgIGlmIGNvbmYuZW52LnN0YW5kYWxvbmVfbGRiOgorLSAgICAgICAgY29uZi5DSEVDS19YU0xUUFJPQ19NQU5QQUdFUygpCisrICAgICAgICAjY29uZi5DSEVDS19YU0xUUFJPQ19NQU5QQUdFUygpCisgCisgICAgICAgICAjIHdlIG5lZWQgdGhpcyBmb3IgdGhlIGxkYXAgYmFja2VuZAorICAgICAgICAgaWYgY29uZi5DSEVDS19GVU5DU19JTignYmVyX2ZsdXNoIGxkYXBfb3BlbiBsZGFwX2luaXRpYWxpemUnLCAnbGJlciBsZGFwJywgaGVhZGVycz0nbGJlci5oIGxkYXAuaCcpOgorSW5kZXg6IHNhbWJhLTQuNC4yL2xpYi90YWxsb2Mvd3NjcmlwdAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHNhbWJhLTQuNC4yLm9yaWcvbGliL3RhbGxvYy93c2NyaXB0CisrKysgc2FtYmEtNC40LjIvbGliL3RhbGxvYy93c2NyaXB0CitAQCAtNTYsNyArNTYsNyBAQCBkZWYgY29uZmlndXJlKGNvbmYpOgorICAgICBpZiBjb25mLmVudi5zdGFuZGFsb25lX3RhbGxvYzoKKyAgICAgICAgIGNvbmYuZW52LlRBTExPQ19DT01QQVQxID0gT3B0aW9ucy5vcHRpb25zLlRBTExPQ19DT01QQVQxCisgCistICAgIGNvbmYuQ0hFQ0tfWFNMVFBST0NfTUFOUEFHRVMoKQorKyAgICAjY29uZi5DSEVDS19YU0xUUFJPQ19NQU5QQUdFUygpCisgCisgICAgIGlmIG5vdCBjb25mLmVudi5kaXNhYmxlX3B5dGhvbjoKKyAgICAgICAgICMgYWxzbyBkaXNhYmxlIGlmIHdlIGRvbid0IGhhdmUgdGhlIHB5dGhvbiBsaWJzIGluc3RhbGxlZAorSW5kZXg6IHNhbWJhLTQuNC4yL2xpYi90ZGIvd3NjcmlwdAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHNhbWJhLTQuNC4yLm9yaWcvbGliL3RkYi93c2NyaXB0CisrKysgc2FtYmEtNC40LjIvbGliL3RkYi93c2NyaXB0CitAQCAtOTIsNyArOTIsNyBAQCBkZWYgY29uZmlndXJlKGNvbmYpOgorICAgICAgICAgbm90IGNvbmYuZW52LmRpc2FibGVfdGRiX211dGV4X2xvY2tpbmcpOgorICAgICAgICAgY29uZi5kZWZpbmUoJ1VTRV9UREJfTVVURVhfTE9DS0lORycsIDEpCisgCistICAgIGNvbmYuQ0hFQ0tfWFNMVFBST0NfTUFOUEFHRVMoKQorKyAgICAjY29uZi5DSEVDS19YU0xUUFJPQ19NQU5QQUdFUygpCisgCisgICAgIGlmIG5vdCBjb25mLmVudi5kaXNhYmxlX3B5dGhvbjoKKyAgICAgICAgICMgYWxzbyBkaXNhYmxlIGlmIHdlIGRvbid0IGhhdmUgdGhlIHB5dGhvbiBsaWJzIGluc3RhbGxlZApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc2FtYmEvc2FtYmEtNC40LjIvMjAtZG8tbm90LWltcG9ydC10YXJnZXQtbW9kdWxlLXdoaWxlLWNyb3NzLWNvbXBpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zYW1iYS9zYW1iYS00LjQuMi8yMC1kby1ub3QtaW1wb3J0LXRhcmdldC1tb2R1bGUtd2hpbGUtY3Jvc3MtY29tcGlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMTEyYjNiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc2FtYmEvc2FtYmEtNC40LjIvMjAtZG8tbm90LWltcG9ydC10YXJnZXQtbW9kdWxlLXdoaWxlLWNyb3NzLWNvbXBpbGUucGF0Y2gKQEAgLTAsMCArMSw1OCBAQAorU29tZSBtb2R1bGVzIHN1Y2ggYXMgZHluYW1pYyBsaWJyYXJ5IG1heWJlIGNhbm4ndCBiZSBpbXBvcnRlZCB3aGlsZSBjcm9zcyBjb21waWxlLCAKK3dlIGp1c3QgY2hlY2sgd2hldGhlciBkb2VzIHRoZSBtb2R1bGUgZXhpc3QuCisKK1NpZ25lZC1vZmYtYnk6IEJpYW4gTmFpbWVuZyA8Ymlhbm5tQGNuLmZ1aml0c3UuY29tPgorCitJbmRleDogc2FtYmEtNC40LjIvYnVpbGR0b29scy93YWZzYW1iYS9zYW1iYV9idW5kbGVkLnB5Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gc2FtYmEtNC40LjIub3JpZy9idWlsZHRvb2xzL3dhZnNhbWJhL3NhbWJhX2J1bmRsZWQucHkKKysrKyBzYW1iYS00LjQuMi9idWlsZHRvb2xzL3dhZnNhbWJhL3NhbWJhX2J1bmRsZWQucHkKK0BAIC0yLDYgKzIsNyBAQAorIAorIGltcG9ydCBzeXMKKyBpbXBvcnQgQnVpbGQsIE9wdGlvbnMsIExvZ3MKKytpbXBvcnQgaW1wLCBvcworIGZyb20gQ29uZmlndXJlIGltcG9ydCBjb25mCisgZnJvbSBzYW1iYV91dGlscyBpbXBvcnQgVE9fTElTVAorIAorQEAgLTIzMCwxNyArMjMxLDMyIEBAIGRlZiBDSEVDS19CVU5ETEVEX1NZU1RFTV9QWVRIT04oY29uZiwgbGkKKyAgICAgIyB2ZXJzaW9ucworICAgICBtaW52ZXJzaW9uID0gbWluaW11bV9saWJyYXJ5X3ZlcnNpb24oY29uZiwgbGlibmFtZSwgbWludmVyc2lvbikKKyAKKy0gICAgdHJ5OgorLSAgICAgICAgbSA9IF9faW1wb3J0X18obW9kdWxlbmFtZSkKKy0gICAgZXhjZXB0IEltcG9ydEVycm9yOgorLSAgICAgICAgZm91bmQgPSBGYWxzZQorLSAgICBlbHNlOgorKyAgICAjIEZpbmQgbW9kdWxlIGluIFBZVEhPTlBBVEgKKysgICAgc3R1ZmYgPSBpbXAuZmluZF9tb2R1bGUobW9kdWxlbmFtZSwgW29zLmVudmlyb25bIlBZVEhPTlBBVEgiXV0pCisrICAgIGlmIHN0dWZmOgorICAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIHZlcnNpb24gPSBtLl9fdmVyc2lvbl9fCistICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisrICAgICAgICAgICAgbSA9IGltcC5sb2FkX21vZHVsZShtb2R1bGVuYW1lLCBzdHVmZlswXSwgc3R1ZmZbMV0sIHN0dWZmWzJdKQorKyAgICAgICAgZXhjZXB0IEltcG9ydEVycm9yOgorICAgICAgICAgICAgIGZvdW5kID0gRmFsc2UKKysKKysgICAgICAgICAgICBpZiBjb25mLmVudi5DUk9TU19DT01QSUxFOgorKyAgICAgICAgICAgICAgICAjIFNvbWUgbW9kdWxlcyBzdWNoIGFzIGR5bmFtaWMgbGlicmFyeSBtYXliZSBjYW5uJ3QgYmUgaW1wb3J0ZWQKKysgICAgICAgICAgICAgICAgIyB3aGlsZSBjcm9zcyBjb21waWxlLCB3ZSBqdXN0IGNoZWNrIHdoZXRoZXIgdGhlIG1vZHVsZSBleGlzdAorKyAgICAgICAgICAgICAgICBMb2dzLndhcm4oJ0Nyb3NzIG1vZHVsZVslc10gaGFzIGJlZW4gZm91bmQsIGJ1dCBjYW4gbm90IGJlIGxvYWRlZC4nICUgKHN0dWZmWzFdKSkKKysgICAgICAgICAgICAgICAgZm91bmQgPSBUcnVlCisgICAgICAgICBlbHNlOgorLSAgICAgICAgICAgIGZvdW5kID0gdHVwbGl6ZV92ZXJzaW9uKHZlcnNpb24pID49IHR1cGxpemVfdmVyc2lvbihtaW52ZXJzaW9uKQorKyAgICAgICAgICAgIHRyeToKKysgICAgICAgICAgICAgICAgdmVyc2lvbiA9IG0uX192ZXJzaW9uX18KKysgICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisrICAgICAgICAgICAgICAgIGZvdW5kID0gRmFsc2UKKysgICAgICAgICAgICBlbHNlOgorKyAgICAgICAgICAgICAgICBmb3VuZCA9IHR1cGxpemVfdmVyc2lvbih2ZXJzaW9uKSA+PSB0dXBsaXplX3ZlcnNpb24obWludmVyc2lvbikKKysgICAgICAgIGZpbmFsbHk6CisrICAgICAgICAgICAgaWYgc3R1ZmZbMF06CisrICAgICAgICAgICAgICAgIHN0dWZmWzBdLmNsb3NlKCkKKysgICAgZWxzZToKKysgICAgICAgIGZvdW5kID0gRmFsc2UKKysKKyAgICAgaWYgbm90IGZvdW5kIGFuZCBub3QgY29uZi5MSUJfTUFZX0JFX0JVTkRMRUQobGlibmFtZSk6CisgICAgICAgICBMb2dzLmVycm9yKCdFUlJPUjogUHl0aG9uIG1vZHVsZSAlcyBvZiB2ZXJzaW9uICVzIG5vdCBmb3VuZCwgYW5kIGJ1bmRsaW5nIGRpc2FibGVkJyAlIChsaWJuYW1lLCBtaW52ZXJzaW9uKSkKKyAgICAgICAgIHN5cy5leGl0KDEpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zYW1iYS9zYW1iYS00LjQuMi8yMS1hZGQtY29uZmlnLW9wdGlvbi13aXRob3V0LXZhbGdyaW5kLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc2FtYmEvc2FtYmEtNC40LjIvMjEtYWRkLWNvbmZpZy1vcHRpb24td2l0aG91dC12YWxncmluZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMjVhYzI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc2FtYmEvc2FtYmEtNC40LjIvMjEtYWRkLWNvbmZpZy1vcHRpb24td2l0aG91dC12YWxncmluZC5wYXRjaApAQCAtMCwwICsxLDYzIEBACitGcm9tIDlhMmQ2MzE1ZmYyMDZiMmE0NzEwMGRmZDg1YWZlM2FmNTY1NzY5OTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBXZW56b25nIEZhbiA8d2Vuem9uZy5mYW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IFRodSwgMTAgRGVjIDIwMTUgMDQ6MjA6NTEgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRkIGNvbmZpZyBvcHRpb24gd2l0aG91dC12YWxncmluZAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogV2Vuem9uZyBGYW4gPHdlbnpvbmcuZmFuQHdpbmRyaXZlci5jb20+CistLS0KKyBsaWIvcmVwbGFjZS93c2NyaXB0IHwgNCArKystCisgc291cmNlMy93c2NyaXB0ICAgICB8IDUgKysrKy0KKyB3c2NyaXB0ICAgICAgICAgICAgIHwgNCArKysrCisgMyBmaWxlcyBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliL3JlcGxhY2Uvd3NjcmlwdCBiL2xpYi9yZXBsYWNlL3dzY3JpcHQKK2luZGV4IGYwMDQwYjEuLmFjYTczYWYgMTAwNjQ0CistLS0gYS9saWIvcmVwbGFjZS93c2NyaXB0CisrKysgYi9saWIvcmVwbGFjZS93c2NyaXB0CitAQCAtMTAxLDcgKzEwMSw5IEBAIHN0cnVjdCBmb28gYmFyID0geyAueSA9ICdYJywgLnggPSAxIH07CisgCisgICAgIGNvbmYuQ0hFQ0tfQ09ERSgnJywgaGVhZGVycz0ncnBjL3JwYy5oIHJwY3N2Yy95cF9wcm90LmgnLCBkZWZpbmU9J0hBVkVfUlBDU1ZDX1lQX1BST1RfSCcpCisgCistICAgIGNvbmYuQ0hFQ0tfSEVBREVSUygndmFsZ3JpbmQuaCB2YWxncmluZC92YWxncmluZC5oIHZhbGdyaW5kL21lbWNoZWNrLmgnKQorKyAgICBpZiBub3QgT3B0aW9ucy5vcHRpb25zLmRpc2FibGVfdmFsZ3JpbmQ6CisrICAgICAgICBjb25mLkNIRUNLX0hFQURFUlMoJ3ZhbGdyaW5kLmggdmFsZ3JpbmQvdmFsZ3JpbmQuaCB2YWxncmluZC9tZW1jaGVjay5oJykKKysKKyAgICAgY29uZi5DSEVDS19IRUFERVJTKCduc3NfY29tbW9uLmggbnNzd2l0Y2guaCBuc19hcGkuaCcpCisgICAgIGNvbmYuQ0hFQ0tfSEVBREVSUygnc3lzL2V4dGF0dHIuaCBzeXMvZWEuaCBzeXMvcHJvcGxpc3QuaCBzeXMvY2RlZnMuaCcpCisgICAgIGNvbmYuQ0hFQ0tfSEVBREVSUygndXRtcC5oIHV0bXB4LmggbGFzdGxvZy5oIG1hbGxvYy5oJykKK2RpZmYgLS1naXQgYS9zb3VyY2UzL3dzY3JpcHQgYi9zb3VyY2UzL3dzY3JpcHQKK2luZGV4IGJhYzNkZDUuLmE1YzUxZWEgMTAwNjQ0CistLS0gYS9zb3VyY2UzL3dzY3JpcHQKKysrKyBiL3NvdXJjZTMvd3NjcmlwdAorQEAgLTEwMTYsNyArMTAxNiwxMCBAQCBzeXNjYWxsKFNZU19zZXRncm91cHMzMiwgMCwgTlVMTCk7CisgICAgICAgICAgICAgTG9ncy53YXJuKCItLXdpdGgtZG5zdXBkYXRlPXllcyBidXQgZ3NzYXBpIHN1cHBvcnQgbm90IHN1ZmZpY2llbnQiKQorICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICBjb25mLkRFRklORSgnV0lUSF9ETlNfVVBEQVRFUycsIDEpCistICAgIGNvbmYuQ0hFQ0tfSEVBREVSUygndmFsZ3JpbmQuaCB2YWxncmluZC92YWxncmluZC5oIHZhbGdyaW5kL21lbWNoZWNrLmgnKQorKworKyAgICBpZiBub3QgT3B0aW9ucy5vcHRpb25zLmRpc2FibGVfdmFsZ3JpbmQ6CisrICAgICAgICBjb25mLkNIRUNLX0hFQURFUlMoJ3ZhbGdyaW5kLmggdmFsZ3JpbmQvdmFsZ3JpbmQuaCB2YWxncmluZC9tZW1jaGVjay5oJykKKysKKyAgICAgaWYgT3B0aW9ucy5vcHRpb25zLmRldmVsb3BlcjoKKyAgICAgICAgIGlmIGNvbmYuQ09ORklHX1NFVCgnSEFWRV9WQUxHUklORF9IJykgb3IgY29uZi5DT05GSUdfU0VUKCdIQVZFX1ZBTEdSSU5EX1ZBTEdSSU5EX0gnKToKKyAgICAgICAgICAgICBjb25mLkRFRklORSgnVkFMR1JJTkQnLCAnMScpCitkaWZmIC0tZ2l0IGEvd3NjcmlwdCBiL3dzY3JpcHQKK2luZGV4IDc2NzljMGYuLjY4MWFjMTcgMTAwNjQ0CistLS0gYS93c2NyaXB0CisrKysgYi93c2NyaXB0CitAQCAtNzIsNiArNzIsMTAgQEAgZGVmIHNldF9vcHRpb25zKG9wdCk6CisgICAgICAgICAgICAgICAgICAgIGhlbHA9KCJEaXNhYmxlIHN5c3RlbWQgaW50ZWdyYXRpb24iKSwKKyAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSdzdG9yZV9mYWxzZScsIGRlc3Q9J2VuYWJsZV9zeXN0ZW1kJykKKyAKKysgICAgb3B0LmFkZF9vcHRpb24oJy0td2l0aG91dC12YWxncmluZCcsCisrICAgICAgICAgICAgICAgICAgIGhlbHA9KCJEaXNhYmxlIHVzZSBvZiB0aGUgdmFsZ3JpbmQgaGVhZGVycyIpLAorKyAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLCBkZXN0PSdkaXNhYmxlX3ZhbGdyaW5kJywgZGVmYXVsdD1GYWxzZSkKKysKKyAgICAgZ3IgPSBvcHQub3B0aW9uX2dyb3VwKCdkZXZlbG9wZXIgb3B0aW9ucycpCisgCisgICAgIG9wdC50b29sX29wdGlvbnMoJ3B5dGhvbicpICMgb3B0aW9ucyBmb3IgZGlzYWJsaW5nIHB5YyBvciBweW8gY29tcGlsYXRpb24KKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc2FtYmEvc2FtYmEtNC40LjIvdm9sYXRpbGVzLjAzX3NhbWJhIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc2FtYmEvc2FtYmEtNC40LjIvdm9sYXRpbGVzLjAzX3NhbWJhCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiZGZhN2QKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zYW1iYS9zYW1iYS00LjQuMi92b2xhdGlsZXMuMDNfc2FtYmEKQEAgLTAsMCArMSwzIEBACisjIDx0eXBlPiA8b3duZXI+IDxncm91cD4gPG1vZGU+IDxwYXRoPiA8bGlua3NvdXJjZT4KK2Qgcm9vdCByb290IDA3NTUgL3Zhci9sb2cvc2FtYmEgbm9uZQorZCByb290IHJvb3QgMDc1NSAvdmFyL3J1bi9zYW1iYSBub25lCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zYW1iYS9zYW1iYV80LjQuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NhbWJhL3NhbWJhXzQuNC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhMjIyMGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zYW1iYS9zYW1iYV80LjQuMi5iYgpAQCAtMCwwICsxLDMyMCBAQAorU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCisKK0xJQ0VOU0UgPSAiR1BMLTMuMCsgJiBMR1BMLTMuMCsgJiBHUEwtMi4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovLyR7Q09SRUJBU0V9L21ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzL0xHUEwtMy4wO21kNT1iZmNjZmU5NTIyNjlmZmYyYjQwN2RkMTFmMmYzMDgzYiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL2ZpbGVzL2NvbW1vbi1saWNlbnNlcy9HUEwtMi4wO21kNT04MDFmODA5ODBkMTcxZGQ2NDI1NjEwODMzYTIyZGJlNiAiCisKK1NBTUJBX01JUlJPUiA9ICJodHRwOi8vc2FtYmEub3JnL3NhbWJhL2Z0cCIKK01JUlJPUlMgKz0gIlwKKyR7U0FNQkFfTUlSUk9SfSAgICBodHRwOi8vbWlycm9yLmludGVybm9kZS5vbi5uZXQvcHViL3NhbWJhIFxuIFwKKyR7U0FNQkFfTUlSUk9SfSAgICBodHRwOi8vd3d3Lm1pcnJvcnNlcnZpY2Uub3JnL3NpdGVzL2Z0cC5zYW1iYS5vcmcgXG4gXAorIgorCitTUkNfVVJJID0gIiR7U0FNQkFfTUlSUk9SfS9zdGFibGUvc2FtYmEtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzAwLWZpeC10eXBvcy1pbi1tYW4tcGFnZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMTYtZG8tbm90LWNoZWNrLXhzbHRwcm9jLW1hbnBhZ2VzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzIwLWRvLW5vdC1pbXBvcnQtdGFyZ2V0LW1vZHVsZS13aGlsZS1jcm9zcy1jb21waWxlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzIxLWFkZC1jb25maWctb3B0aW9uLXdpdGhvdXQtdmFsZ3JpbmQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNi1hdm9pZC11c2luZy1jb2xvbi1pbi10aGUtY2hlY2tpbmctbXNnLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3ZvbGF0aWxlcy4wM19zYW1iYSBcCisgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDNhNjVhM2FkZjA4Y2ViMTYzNmFkNTlkMjM0ZDdmOWQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWFlY2Q0MWE4NWViYjk1MDdiOGRiOTg1NmFkYTJhOTQ5Mzc2ZTlkNTNjZjc1NjY0YjU0OTM2NThmNmU1OTI2YSIKKworaW5oZXJpdCBzeXN0ZW1kIHdhZi1zYW1iYSBjcGFuLWJhc2UgcGVybG5hdGl2ZQorIyByZW1vdmUgZGVmYXVsdCBhZGRlZCBSREVQRU5EUyBvbiBwZXJsCitSREVQRU5EU18ke1BOfV9yZW1vdmUgPSAicGVybCIKKworREVQRU5EUyArPSAicmVhZGxpbmUgdmlydHVhbC9saWJpY29udiB6bGliIHBvcHQgbGlidGFsbG9jIGxpYnRkYiBsaWJ0ZXZlbnQgbGlibGRiIGtyYjUgbGliYnNkIGxpYmFpbyIKKworU1lTVklOSVRUWVBFX2xpbnV4c3RkYmFzZSA9ICJsc2IiCitTWVNWSU5JVFRZUEUgPSAic3lzdiIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAncGFtJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICcke1NZU1ZJTklUVFlQRX0nLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICdzeXN0ZW1kJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgJHtAYmFzZV9jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3plcm9jb25mJywgJ3plcm9jb25mJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgYWNsIGN1cHMgbGRhcCBcCisiCisKK1JERVBFTkRTXyR7UE59LWJhc2UgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2xzYicsICdsc2InLCAnJywgZCl9IgorUkRFUEVORFNfJHtQTn0tY3RkYi10ZXN0cyArPSAiYmFzaCIKKworUEFDS0FHRUNPTkZJR1thY2xdID0gIi0td2l0aC1hY2wtc3VwcG9ydCwtLXdpdGhvdXQtYWNsLXN1cHBvcnQsYWNsIgorUEFDS0FHRUNPTkZJR1tmYW1dID0gIi0td2l0aC1mYW0sLS13aXRob3V0LWZhbSxnYW1pbiIKK1BBQ0tBR0VDT05GSUdbcGFtXSA9ICItLXdpdGgtcGFtIC0td2l0aC1wYW1tb2R1bGVzZGlyPSR7YmFzZV9saWJkaXJ9L3NlY3VyaXR5LC0td2l0aG91dC1wYW0sbGlicGFtIgorUEFDS0FHRUNPTkZJR1tsc2JdID0gIiwsbHNiIgorUEFDS0FHRUNPTkZJR1tzeXN2XSA9ICIsLHN5c3Zpbml0IgorUEFDS0FHRUNPTkZJR1tjdXBzXSA9ICItLWVuYWJsZS1jdXBzLC0tZGlzYWJsZS1jdXBzLGN1cHMiCitQQUNLQUdFQ09ORklHW2xkYXBdID0gIi0td2l0aC1sZGFwLC0td2l0aG91dC1sZGFwLG9wZW5sZGFwIgorUEFDS0FHRUNPTkZJR1tzYXNsXSA9ICIsLGN5cnVzLXNhc2wiCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kLC0td2l0aG91dC1zeXN0ZW1kLHN5c3RlbWQiCitQQUNLQUdFQ09ORklHW2RtYXBpXSA9ICItLXdpdGgtZG1hcGksLS13aXRob3V0LWRtYXBpLGRtYXBpIgorUEFDS0FHRUNPTkZJR1t6ZXJvY29uZl0gPSAiLS1lbmFibGUtYXZhaGksLS1kaXNhYmxlLWF2YWhpLGF2YWhpIgorUEFDS0FHRUNPTkZJR1t2YWxncmluZF0gPSAiLC0td2l0aG91dC12YWxncmluZCx2YWxncmluZCwiCitQQUNLQUdFQ09ORklHW2x0dG5nXSA9ICItLXdpdGgtbHR0bmcsIC0td2l0aG91dC1sdHRuZyxsdHRuZy11c3QiCitQQUNLQUdFQ09ORklHW2FyY2hpdmVdID0gIi0td2l0aC1saWJhcmNoaXZlLCAtLXdpdGhvdXQtbGliYXJjaGl2ZSwgbGliYXJjaGl2ZSIKKworCitTQU1CQTRfSURNQVBfTU9EVUxFUz0iaWRtYXBfYWQsaWRtYXBfcmlkLGlkbWFwX2FkZXgsaWRtYXBfaGFzaCxpZG1hcF90ZGIyIgorU0FNQkE0X1BEQl9NT0RVTEVTPSJwZGJfdGRic2FtLCR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2xkYXAnLCAncGRiX2xkYXAsJywgJycsIGQpfXBkYl9hZHMscGRiX3NtYnBhc3N3ZCxwZGJfd2JjX3NhbSxwZGJfc2FtYmE0IgorU0FNQkE0X0FVVEhfTU9EVUxFUz0iYXV0aF91bml4LGF1dGhfd2JjLGF1dGhfc2VydmVyLGF1dGhfbmV0bG9nb25kLGF1dGhfc2NyaXB0LGF1dGhfc2FtYmE0IgorU0FNQkE0X01PRFVMRVM9IiR7U0FNQkE0X0lETUFQX01PRFVMRVN9LCR7U0FNQkE0X1BEQl9NT0RVTEVTfSwke1NBTUJBNF9BVVRIX01PRFVMRVN9IgorCitTQU1CQTRfTElCUz0iaGVpbWRhbCwhemxpYiwhcG9wdCwhdGFsbG9jLCFweXRhbGxvYywhcHl0YWxsb2MtdXRpbCwhdGV2ZW50LCFweXRldmVudCwhdGRiLCFweXRkYiwhbGRiLCFweWxkYiIKKworRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS1maHMgXAorICAgICAgICAgICAgICAgICAtLXdpdGgtcGlkZGlyPS9ydW4gXAorICAgICAgICAgICAgICAgICAtLXdpdGgtc29ja2V0cy1kaXI9L3J1bi9zYW1iYSBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1tb2R1bGVzZGlyPSR7bGliZGlyfS9zYW1iYSBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1sb2NrZGlyPSR7bG9jYWxzdGF0ZWRpcn0vbGliL3NhbWJhIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLWNhY2hlZGlyPSR7bG9jYWxzdGF0ZWRpcn0vbGliL3NhbWJhIFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWdudXRscyBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1ycGF0aC1pbnN0YWxsIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLXNoYXJlZC1tb2R1bGVzPSR7U0FNQkE0X01PRFVMRVN9IFwKKyAgICAgICAgICAgICAgICAgLS1idW5kbGVkLWxpYnJhcmllcz0ke1NBTUJBNF9MSUJTfSBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1zeXN0ZW0tbWl0a3JiNSBcCisgICAgICAgICAgICAgICAgIC0td2l0aG91dC1hZC1kYyBcCisgICAgICAgICAgICAgICAgICR7QGJhc2VfY29uZGl0aW9uYWwoJ1RBUkdFVF9BUkNIJywgJ3g4Nl82NCcsICcnLCAnLS1kaXNhYmxlLWdsdXN0ZXJmcycsIGQpfSBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1jbHVzdGVyLXN1cHBvcnQgXAorICAgICAgICAgICAgICAgICAtLXdpdGgtcHJvZmlsaW5nLWRhdGEgXAorICAgICAgICAgICAgICAgICAtLXdpdGgtbGliaWNvbnY9JHtTVEFHSU5HX0RJUl9IT1NUfSR7cHJlZml4fSBcCisgICAgICAgICAgICAgICAgIgorRElTQUJMRV9TVEFUSUMgPSAiIgorCitMREZMQUdTICs9ICItV2wsLXoscmVscm8sLXosbm93IgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBmb3IgaSBpbiBubWIgc21iIHdpbmJpbmQ7IGRvCisgICAgICAgICAgICBpbnN0YWxsIC1tIDA2NDQgcGFja2FnaW5nL3N5c3RlbWQvJGkuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBkb25lCisgICAgICAgIHNlZCAtaSAncyxcKEV4ZWNSZWxvYWQ9XCkuKlwoL2tpbGxcKSxcMSR7YmFzZV9iaW5kaXJ9XDIsJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8qLnNlcnZpY2UKKworICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQKKyAgICAgICAgaW5zdGFsbCAtbTY0NCBwYWNrYWdpbmcvc3lzdGVtZC9zYW1iYS5jb25mLnRtcCAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kL3NhbWJhLmNvbmYKKyAgICAgICAgZWNobyAiZCAke2xvY2Fsc3RhdGVkaXJ9L2xvZy9zYW1iYSAwNzU1IHJvb3Qgcm9vdCAtIiBcCisgICAgICAgICAgICA+PiAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kL3NhbWJhLmNvbmYKKyAgICBlbGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2xzYicsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgICAgIGluc3RhbGwgLW0gMDc1NSBwYWNrYWdpbmcvTFNCL3NhbWJhLnNoICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgICAgICB1cGRhdGUtcmMuZCAtciAke0R9IHNhbWJhLnNoIHN0YXJ0IDIwIDMgNSAuCisgICAgICAgIHVwZGF0ZS1yYy5kIC1yICR7RH0gc2FtYmEuc2ggc3RhcnQgMjAgMCAxIDYgLgorICAgIGVsaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnc3lzdicsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgICAgIGluc3RhbGwgLW0gMDc1NSBwYWNrYWdpbmcvc3lzdi9zYW1iYS5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9zYW1iYS5zaAorICAgICAgICBzZWQgLWUgJ3MsL29wdC9zYW1iYS9iaW4sJHtzYmluZGlyfSxnJyBcCisgICAgICAgICAgICAtZSAncywvb3B0L3NhbWJhL3NtYi5jb25mLCR7c3lzY29uZmRpcn0vc2FtYmEvc21iLmNvbmYsZycgXAorICAgICAgICAgICAgLWUgJ3MsL29wdC9zYW1iYS9sb2csJHtsb2NhbHN0YXRlZGlyfS9sb2cvc2FtYmEsZycgXAorICAgICAgICAgICAgLWUgJ3MsL2V0Yy9pbml0LmQvc2FtYmEuc2VydmVyLCR7c3lzY29uZmRpcn0vaW5pdC5kL3NhbWJhLnNoLGcnIFwKKyAgICAgICAgICAgIC1pICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9zYW1iYS5zaAorICAgICAgICB1cGRhdGUtcmMuZCAtciAke0R9IHNhbWJhLnNoIHN0YXJ0IDIwIDMgNSAuCisgICAgICAgIHVwZGF0ZS1yYy5kIC1yICR7RH0gc2FtYmEuc2ggc3RhcnQgMjAgMCAxIDYgLgorICAgIGZpCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3NhbWJhCisgICAgZWNobyAiMTI3LjAuMC4xIGxvY2FsaG9zdCIgPiAke0R9JHtzeXNjb25mZGlyfS9zYW1iYS9sbWhvc3RzCisgICAgaW5zdGFsbCAtbTY0NCBwYWNrYWdpbmcvTFNCL3NtYi5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3NhbWJhL3NtYi5jb25mCisgICAgaW5zdGFsbCAtRCAtbSA2NDQgJHtXT1JLRElSfS92b2xhdGlsZXMuMDNfc2FtYmEgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvMDNfc2FtYmEKKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vc3lzY29uZmlnLworICAgIGluc3RhbGwgLW02NDQgcGFja2FnaW5nL3N5c3RlbWQvc2FtYmEuc3lzY29uZmlnICR7RH0ke3N5c2NvbmZkaXJ9L3N5c2NvbmZpZy9zYW1iYQorCisgICAgcm0gLXJmICR7RH0vcnVuICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bgorfQorCitQQUNLQUdFUyArPSAiJHtQTn0tcHl0aG9uICR7UE59LXB5dGhvbi1kYmcgJHtQTn0tcGlkbCBsaWJ3aW5iaW5kIGxpYndpbmJpbmQtZGJnIGxpYndpbmJpbmQta3JiNS1sb2NhdG9yIgorUEFDS0FHRVMgPSsgImxpYndiY2xpZW50IGxpYm5zcy13aW5iaW5kIHdpbmJpbmQgd2luYmluZC1kYmcgbGlibmV0YXBpIGxpYnNtYnNoYXJlbW9kZXMgXAorICAgICAgICAgICAgIGxpYnNtYmNsaWVudCBsaWJzbWJjbGllbnQtZGV2IGxpYiR7UE59LWJhc2UgJHtQTn0tYmFzZSAke1BOfS1jdGRiLXRlc3RzIgorCitSREVQRU5EU18ke1BOfSArPSAiJHtQTn0tYmFzZSIKKworRklMRVNfJHtQTn0tYmFzZSA9ICIke3NiaW5kaXJ9L25tYmQgXAorICAgICAgICAgICAgICAgICAgICAke3NiaW5kaXJ9L3NtYmQgXAorICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZCBcCisgICAgICAgICAgICAgICAgICAgICR7bG9jYWxzdGF0ZWRpcn0vbGliL3NhbWJhIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsb2NhbHN0YXRlZGlyfS9sb2cvc2FtYmEgXAorICAgICAgICAgICAgICAgICAgICAke2xvY2Fsc3RhdGVkaXJ9L25tYmQgXAorICAgICAgICAgICAgICAgICAgICAke2xvY2Fsc3RhdGVkaXJ9L3Nwb29sL3NhbWJhIFwKKyIKKworRklMRVNfJHtQTn0tY3RkYi10ZXN0cyA9ICIke2JpbmRpcn0vY3RkYl9ydW5fdGVzdHMgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vY3RkYi10ZXN0cyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vY3RkYi10ZXN0cyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgIC9ydW4vY3RkYiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgIgorCisjIGZpZ3VyZWQgb3V0IGJ5CisjIEZJTEVTPSJ0bXAvd29yay9jb3J0ZXhhOWhmLXZmcC1uZW9uLXBva3ktbGludXgtZ251ZWFiaS9zYW1iYS80LjEuMTItcjAvaW1hZ2UvdXNyL3NiaW4vc21iZCB0bXAvd29yay9jb3J0ZXhhOWhmLXZmcC1uZW9uLXBva3ktbGludXgtZ251ZWFiaS9zYW1iYS80LjEuMTItcjAvaW1hZ2UvdXNyL3NiaW4vbm1iZCIKKyMKKyMgd2hpbGUgWyAiJHtGSUxFU30iICE9ICIke09MREZJTEVTfSIgXQorIyBkbworIyAgICAgT0xERklMRVM9IiR7RklMRVN9IgorIyAgICAgTkVFREVEPWB0bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWJleGVjL2FybS1wb2t5LWxpbnV4LWdudWVhYmkuZ2NjLWNyb3NzLWluaXRpYWwtYXJtL2djYy9hcm0tcG9reS1saW51eC1nbnVlYWJpLzUuMi4wL29iamR1bXAgLXggJHtGSUxFU30gfCBncmVwIE5FRURFRCB8IGVncmVwIC1FICdzbyguWzAtOV18JCknIHwgc29ydCAtdSB8IHBlcmwgLU1EYXRhOjpEdW1wZXIgLWxlICd3aGlsZSAoPD4pIHtjaG9tcDsgcHVzaCBAbGliLCAoc3BsaXQpWzFdfTsgcHJpbnQgIigiLCBqb2luKCJ8IiwgQGxpYiksICIpIidgCisjICAgICBORj1gZmluZCB0bXAvd29yay9jb3J0ZXhhOWhmLXZmcC1uZW9uLXBva3ktbGludXgtZ251ZWFiaS9zYW1iYS80LjEuMTItcjAvaW1hZ2UvdXNyL2xpYiAtdHlwZSBmIHwgZWdyZXAgIiR7TkVFREVEfSIgfCBzb3J0IC11YAorIworIyAgICAgRklMRVM9YHBlcmwgLWxlICdmb3JlYWNoIChAQVJHVikgeyAkZnskX30rKyB9OyBwcmludCBqb2luKCIgIiwgc29ydCBrZXlzICVmKScgJHtGSUxFU30gJHtORn1gCisjIGRvbmUKKyMKKyMgTElCUz1gZWNobyAke0ZJTEVTfSB8IHNlZCAtZSAncyx0bXAvd29yay9jb3J0ZXhhOWhmLXZmcC1uZW9uLXBva3ktbGludXgtZ251ZWFiaS9zYW1iYS80LjEuMTItcjAvaW1hZ2UvdXNyL2xpYiwke2xpYmRpcn0sZycgLWUgJ3MsLnNvLlswLTldKy4qJCwuc28uKixnJ2AKKyMgZm9yIGwgaW4gJHtMSUJTfQorIyBkbworIyAgICAgZWNobyAkbAorIyBkb25lCisKK0ZJTEVTX2xpYiR7UE59LWJhc2UgPSAiXAorICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2RlZmF1bHQgXAorICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3NhbWJhIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYmRjZXJwYy1iaW5kaW5nLnNvLiogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGliZ2Vuc2VjLnNvLiogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlibmRyLWtyYjVwYWMuc28uKiBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9saWJuZHItbmJ0LnNvLiogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlibmRyLXN0YW5kYXJkLnNvLiogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlibmRyLnNvLiogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlibmV0YXBpLnNvLiogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlicGRiLnNvLiogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlic2FtYmEtY3JlZGVudGlhbHMuc28uKiBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9saWJzYW1iYS1ob3N0Y29uZmlnLnNvLiogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlic2FtYmEtdXRpbC5zby4qIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYnNhbWRiLnNvLiogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlic21iY29uZi5zby4qIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYnRldmVudC11dGlsLnNvLiogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGliQ0hBUlNFVDMuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGliYWRkbnMuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGliYWRzLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYmFzbjF1dGlsLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYmF1dGguc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGliYXV0aF9zYW1fcmVwbHkuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGliYXV0aGtyYjUuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGliY2Nhbi5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9saWJjbGktbGRhcC1jb21tb24uc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGliY2xpLW5idC5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9saWJjbGlfY2xkYXAuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGliY2xpX3NtYl9jb21tb24uc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGliY2xpX3Nwb29sc3Muc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGliY2xpYXV0aC5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9saWJkYndyYXAuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGliZGNlcnBjLXNhbWJhLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYmVycm9ycy5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9saWJmbGFnX21hcHBpbmcuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGliZ3NlLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYmludGVyZmFjZXMuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGlia3JiNXNhbWJhLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYmxkYnNhbWJhLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYmxpYmNsaV9sc2EzLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYmxpYmNsaV9uZXRsb2dvbjMuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGlibGlic21iLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYm1zcnBjMy5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9saWJuZHItc2FtYmEuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGlibmRyLXNhbWJhNC5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9saWJucGFfdHN0cmVhbS5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9saWJudGRiLnNvLiogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGlicG9wdF9zYW1iYTMuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGlicHJpbnRpbmdfbWlncmF0ZS5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9saWJzYW1iYS1tb2R1bGVzLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYnNhbWJhLXNlY3VyaXR5LnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYnNhbWJhLXNvY2tldHMuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGlic2FtYmEzLXV0aWwuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGlic2FtZGItY29tbW9uLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYnNlY3JldHMzLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYnNlcnZlci1yb2xlLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYnNtYl90cmFuc3BvcnQuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGlic21iZF9iYXNlLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYnNtYmRfY29ubi5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9saWJzbWJkX3NoaW0uc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGlic21icmVnaXN0cnkuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGlidGRiLXdyYXAuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGlidXRpbF9jbWRsaW5lLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYnV0aWxfbnRkYi5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9saWJ1dGlsX3JlZy5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9saWJ1dGlsX3NldGlkLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYnV0aWxfdGRiLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL3BkYi9zbWJwYXNzd2Quc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvcGRiL3RkYnNhbS5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9wZGIvd2JjX3NhbS5zbyBcCisiCisKK0ZJTEVTX3dpbmJpbmQtZGJnID0gIiR7bGliZGlyfS9pZG1hcC8uZGVidWcvKi5zbyBcCisgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2VjdXJpdHkvLmRlYnVnL3BhbV93aW5iaW5kLnNvIFwKKyIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS92ZnMvKi5zbyBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2NoYXJzZXQvKi5zbyBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9LyouZGF0IFwKKyAgICAgICAgICAgICAgICAke2xpYmRpcn0vYXV0aC8qLnNvIFwKKyAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2VjdXJpdHkvcGFtX3NtYnBhc3Muc28gXAorIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS92ZnMvLmRlYnVnLyouc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vY2hhcnNldC8uZGVidWcvKi5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9hdXRoLy5kZWJ1Zy8qLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NlY3VyaXR5Ly5kZWJ1Zy9wYW1fc21icGFzcy5zbyBcCisiCisKK0ZJTEVTX2xpYndiY2xpZW50ID0gIiR7bGliZGlyfS9saWJ3YmNsaWVudC5zby4qICR7bGliZGlyfS9zYW1iYS9saWJ3aW5iaW5kLWNsaWVudC5zbyIKK0ZJTEVTX2xpYm5ldGFwaSA9ICIke2xpYmRpcn0vbGlibmV0YXBpLnNvLioiCitGSUxFU19saWJzbWJzaGFyZW1vZGVzID0gIiR7bGliZGlyfS9saWJzbWJzaGFyZW1vZGVzLnNvLioiCitGSUxFU19saWJzbWJjbGllbnQgPSAiJHtsaWJkaXJ9L2xpYnNtYmNsaWVudC5zby4qIgorRklMRVNfbGlic21iY2xpZW50LWRldiA9ICIke2xpYmRpcn0vbGlic21iY2xpZW50LnNvICR7aW5jbHVkZWRpcn0iCitGSUxFU193aW5iaW5kID0gIiR7c2JpbmRpcn0vd2luYmluZGQgXAorICAgICAgICAgICAgICAgICAke2JpbmRpcn0vd2JpbmZvIFwKKyAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L250bG1fYXV0aCBcCisgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vaW5pdC5kL3dpbmJpbmQgXAorICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3dpbmJpbmQuc2VydmljZSBcCisiCisKK0ZJTEVTX2xpYm5zcy13aW5iaW5kID0gIiR7bGliZGlyfS9saWJuc3NfKiR7U09MSUJTfSBcCisgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbnNzX2luZm8gXAorIgorCitGSUxFU18ke1BOfSArPSAiJHtiYXNlX2xpYmRpcn0vc2VjdXJpdHkvcGFtX3NtYnBhc3Muc28gXAorIgorCitTTUJfU0VSVklDRT0iJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9ubWIuc2VydmljZSAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3NtYi5zZXJ2aWNlIgorU01CX1NZU1Y9IiR7c3lzY29uZmRpcn0vaW5pdC5kICR7c3lzY29uZmRpcn0vcmM/LmQiCitGSUxFU18ke1BOfS1iYXNlICs9IiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICcke1NNQl9TRVJWSUNFfScsICcnLCBkKX0iCitGSUxFU18ke1BOfS1iYXNlICs9IiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdmluaXQnLCAnJHtTTUJfU1lTVn0nLCAnJywgZCl9IgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9zYW1iYS9pZG1hcC8uZGVidWcvKiBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9wZGIvLmRlYnVnLyogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvYXV0aC8uZGVidWcvKiBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9uc3NfaW5mby8uZGVidWcvKiBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9sZGIvLmRlYnVnLyogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvdmZzLy5kZWJ1Zy8qIFwKKyAgICAgICAgICAgICAgICAgICAgJHtiYXNlX2xpYmRpcn0vc2VjdXJpdHkvLmRlYnVnL3BhbV9zbWJwYXNzLnNvIFwKKyIKKworRklMRVNfbGlid2luYmluZCA9ICIke2Jhc2VfbGliZGlyfS9zZWN1cml0eS9wYW1fd2luYmluZC5zbyIKK0ZJTEVTX2xpYndpbmJpbmQgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICcke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3dpbmJpbmQuc2VydmljZScsICcnLCBkKX0iCitGSUxFU19saWJ3aW5iaW5kLWRiZyA9ICIke2Jhc2VfbGliZGlyfS9zZWN1cml0eS8uZGVidWcvcGFtX3dpbmJpbmQuc28iCitGSUxFU19saWJ3aW5iaW5kLWtyYjUtbG9jYXRvciA9ICIke2xpYmRpcn0vd2luYmluZF9rcmI1X2xvY2F0b3Iuc28iCisKK0ZJTEVTXyR7UE59LXB5dGhvbiA9ICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMvKi5zbyBcCisgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX0JBU0VWRVJTSU9OfS9zaXRlLXBhY2thZ2VzL19sZGJfdGV4dC5weSBcCisgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX0JBU0VWRVJTSU9OfS9zaXRlLXBhY2thZ2VzL3NhbWJhLyoucHkgXAorICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0vc2l0ZS1wYWNrYWdlcy9zYW1iYS8qLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMvc2FtYmEvZGNlcnBjLyouc28gXAorICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0vc2l0ZS1wYWNrYWdlcy9zYW1iYS9kY2VycGMvKi5weSBcCisgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX0JBU0VWRVJTSU9OfS9zaXRlLXBhY2thZ2VzL3NhbWJhL2V4dGVybmFsLyogXAorICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0vc2l0ZS1wYWNrYWdlcy9zYW1iYS9rY2MvKiBcCisgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX0JBU0VWRVJTSU9OfS9zaXRlLXBhY2thZ2VzL3NhbWJhL25ldGNtZC8qLnB5IFwKKyAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMvc2FtYmEvcHJvdmlzaW9uLyoucHkgXAorICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0vc2l0ZS1wYWNrYWdlcy9zYW1iYS9zYW1iYTMvKi5weSBcCisgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX0JBU0VWRVJTSU9OfS9zaXRlLXBhY2thZ2VzL3NhbWJhL3NhbWJhMy8qLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMvc2FtYmEvc3VidW5pdC8qIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMvc2FtYmEvdGVzdHMvKiBcCisgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX0JBU0VWRVJTSU9OfS9zaXRlLXBhY2thZ2VzL3NhbWJhL3RoaXJkX3BhcnR5LyogXAorICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0vc2l0ZS1wYWNrYWdlcy9zYW1iYS93ZWJfc2VydmVyLyogXAorIgorCitGSUxFU18ke1BOfS1weXRob24tZGJnID0gIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0vc2l0ZS1wYWNrYWdlcy8uZGVidWcvKiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0vc2l0ZS1wYWNrYWdlcy9zYW1iYS8uZGVidWcvKiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0vc2l0ZS1wYWNrYWdlcy9zYW1iYS9zYW1iYTMvLmRlYnVnLyogXAorICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMvc2FtYmEvZGNlcnBjLy5kZWJ1Zy8qIFwKKyIKKworUkRFUEVORFNfJHtQTn0tcGlkbF9hcHBlbmQgPSAiIHBlcmwiCitGSUxFU18ke1BOfS1waWRsID0gIiR7YmluZGlyfS9waWRsICR7ZGF0YWRpcn0vcGVybDUvUGFyc2UiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zZXRoZGxjL2ZpbGVzL3NldGhkbGMtZml4LWhvc3QtY29udGFtaW5hdGlvbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NldGhkbGMvZmlsZXMvc2V0aGRsYy1maXgtaG9zdC1jb250YW1pbmF0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyNWEwMmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zZXRoZGxjL2ZpbGVzL3NldGhkbGMtZml4LWhvc3QtY29udGFtaW5hdGlvbi5wYXRjaApAQCAtMCwwICsxLDQyIEBACitGcm9tIDlhOTEzN2MzZGY1MzA5YWMzNTk3MzdkNmViZDY3ZmI0ZmY1ZjNjZjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBXZW56b25nIEZhbiA8d2Vuem9uZy5mYW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMjQgTm92IDIwMTQgMjI6MDU6MTggLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gc2V0aGRsYzogZml4IGhvc3QgY29udGFtaW5hdGlvbgorCitDbGVhbiBJTkNMVURFUyB0byBmaXggdGhlIGhvc3QgY29udGFtaW5hdGlvbiBlcnJvcnM6CisKKyAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC91c3Ivc3JjL2xpbnV4L2luY2x1ZGUvbGludXgvcG9zaXhfdHlwZXMuaDo0NzowLAorICBmcm9tIC91c3Ivc3JjL2xpbnV4L2luY2x1ZGUvbGludXgvdHlwZXMuaDoxNywKKyAgZnJvbSAvdXNyL3NyYy9saW51eC9pbmNsdWRlL2xpbnV4L2lmLmg6MjIsCisgIGZyb20gc2V0aGRsYy5jOjIzOgorICAvdXNyL3NyYy9saW51eC9pbmNsdWRlL2FzbS1nZW5lcmljL3Bvc2l4X3R5cGVzLmg6OTE6MzogXAorICAgIGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ19fa2VybmVsX2ZzaWRfdCcKKyAgfSBfX2tlcm5lbF9mc2lkX3Q7CisgIF4KKyAgLi4uL3RtcC9zeXNyb290cy9xZW11bWlwcy91c3IvaW5jbHVkZS9hc20vcG9zaXhfdHlwZXMuaDoyNjozOiBcCisgICAgbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ19fa2VybmVsX2ZzaWRfdCcgd2FzIGhlcmUKKyAgfSBfX2tlcm5lbF9mc2lkX3Q7CisgIF4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFdlbnpvbmcgRmFuIDx3ZW56b25nLmZhbkB3aW5kcml2ZXIuY29tPgorLS0tCisgTWFrZWZpbGUgfCAgICAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCAwNDkyZjJiLi45N2RlYzIyIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtMSw2ICsxLDYgQEAKKyBDQyA9IGdjYworIENGTEFHUyA9IC1PMiAtV2FsbCAtVyAtV25vLWxvbmctbG9uZyAtcGlwZQorLUlOQ0xVREVTID0gLUkvdXNyL3NyYy9saW51eC9pbmNsdWRlIC1JL3Vzci9zcmMvbGludXgtMi42L2luY2x1ZGUKKytJTkNMVURFUyA9CisgCisgYWxsOgkJc2V0aGRsYworIAorLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NldGhkbGMvc2V0aGRsYy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NldGhkbGMvc2V0aGRsYy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYzMwNGZhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc2V0aGRsYy9zZXRoZGxjLmJiCkBAIC0wLDAgKzEsMzMgQEAKK0RFU0NSSVBUSU9OID0gInNldCBMaW51eCBIRExDIHBhY2tldCByYWRpbyBtb2RlbSBkcml2ZXIgcG9ydCBpbmZvcm1hdGlvbiIKK0hPTUVQQUdFID0gImh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL25ldC9oZGxjIgorU0VDVElPTiA9ICJjb21tIgorTElDRU5TRSA9ICJHUEx2MiAmIEdQTHYyKyAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9zZXRoZGxjLmM7ZW5kbGluZT0xMDttZDU9OTBmOTM2ODc5ZTlmOGI3NTVhMTM4YWViMzQ4NzgyZWIiCisKKworU1JDX1VSSSA9ICJodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy9uZXQvaGRsYy8ke0JQTn0tMS4xOC50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vc2V0aGRsYy1maXgtaG9zdC1jb250YW1pbmF0aW9uLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5MDE2ODc4MTU2YTVlYWRiMDZjMGJhZTcxY2M1YzlhYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyMWIxZTJlMWNiMGUyODhiMGVjOGZjZmQ5ZmVkNDQ5OTE0ZTBmOGU2ZmMyNzM3MDZiZDViM2Q0ZjZhYjZiMDRlIgorCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0tMS4xOCIKKworUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKK0RFUEVORFMgPSAidmlydHVhbC9rZXJuZWwiCisKK0VYVFJBX09FTUFLRT0iQ1JPU1NfQ09NUElMRT0ke1RBUkdFVF9QUkVGSVh9IENDPScke0NDfSAke0xERkxBR1N9JyBcCisgICAgICAgICAgICAgIEtFUk5FTF9ESVI9JHtTVEFHSU5HX0tFUk5FTF9ESVJ9ICIKKworZG9fY29tcGlsZV9wcmVwZW5kICgpIHsKKyAgICBvZV9ydW5tYWtlIGNsZWFuCit9CisKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtiaW5kaXJ9CisgICAgaW5zdGFsbCBzZXRoZGxjICR7RH0vJHtiaW5kaXJ9LworfQorCitGSUxFU18ke1BOfSArPSAiJHtiaW5kaXJ9L3NldGhkbGMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zbm9ydC9zbm9ydC8wMDAxLWZpeC1kb19wYWNrYWdlLWZhaWxlZC1zaW5jZS1zbm9ydC0yLjkuNy4wLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc25vcnQvc25vcnQvMDAwMS1maXgtZG9fcGFja2FnZS1mYWlsZWQtc2luY2Utc25vcnQtMi45LjcuMC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNTIwNTUzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc25vcnQvc25vcnQvMDAwMS1maXgtZG9fcGFja2FnZS1mYWlsZWQtc2luY2Utc25vcnQtMi45LjcuMC5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9tIDgxNWU4NjE3MjFhOWM0M2VmZGRiNzg1MjExNDcxNDVlYmM3NTY5Y2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBaaGlxdWFuIExpIDx6aGlxdWFuLmxpQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDEzIE5vdiAyMDE1IDE3OjQwOjI0ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeCBkb19wYWNrYWdlIGZhaWxlZCBzaW5jZSBzbm9ydCAyLjkuNy4wCisKK1JlbW92ZSByZWR1bmRhbnQgJy8nIGFzIGEgd29ya3JvdW5kIGZvciBiZWxvdyBlcnJvcjoKKy9saWIvcnBtL2Jpbi9kZWJ1Z2VkaXQ6IGNhbm9uaWNhbGl6YXRpb24gdW5leHBlY3RlZGx5IHNocmFuayBieSBvbmUgY2hhcmFjdGVyCisKK0l0J3MgYSBycG0gZGVidWdlZGl0IGJ1ZzoKKyogaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wL3Nub3J0L21haWxtYW4vbWVzc2FnZS8zNDEzMDI2OC8KKyogaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0zMDQxMjEKKworVXBzdHJlYW0tU3RhdHVzOkluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBaaGlxdWFuIExpIDx6aGlxdWFuLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvc25vcnQuaCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9zbm9ydC5oIGIvc3JjL3Nub3J0LmgKK2luZGV4IDgzMDhlNTcuLjQ5OWQxNTcgMTAwNjQ0CistLS0gYS9zcmMvc25vcnQuaAorKysrIGIvc3JjL3Nub3J0LmgKK0BAIC0zOSw3ICszOSw3IEBACisgI2luY2x1ZGUgInNmZGFxLmgiCisgI2luY2x1ZGUgInNmX3R5cGVzLmgiCisgI2luY2x1ZGUgInNmdXRpbC9zZmxzcS5oIgorLSNpbmNsdWRlICJzZnV0aWwvL3NmQWN0aW9uUXVldWUuaCIKKysjaW5jbHVkZSAic2Z1dGlsL3NmQWN0aW9uUXVldWUuaCIKKyAjaW5jbHVkZSAicHJvZmlsZXIuaCIKKyAjaW5jbHVkZSAicnVsZXMuaCIKKyAjaW5jbHVkZSAidHJlZW5vZGVzLmgiCistLQorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc25vcnQvc25vcnQvMDAwMS1saWJwY2FwLXNlYXJjaC1zeXNyb290LWZvci1oZWFkZXJzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc25vcnQvc25vcnQvMDAwMS1saWJwY2FwLXNlYXJjaC1zeXNyb290LWZvci1oZWFkZXJzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0YzJhOTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zbm9ydC9zbm9ydC8wMDAxLWxpYnBjYXAtc2VhcmNoLXN5c3Jvb3QtZm9yLWhlYWRlcnMucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSA0ZDdlYmUzZWQ2Y2VlNzJiYzdkYjk4YmQ0MDhkMjJjMTBlZjVkZDgyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSm9lIE1hY0RvbmFsZCA8am9lQGRlc2VydGVkLm5ldD4KK0RhdGU6IFdlZCwgMjAgTm92IDIwMTMgMTY6MDY6MDcgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gbGlicGNhcDogc2VhcmNoIHN5c3Jvb3QgZm9yIGhlYWRlcnMKKworQ29uZmlndXJlIGhhcmQtY29kZWQgaG9zdCBoZWFkZXIgcGF0aHMgd2hlbiBidWlsZGluZyB3aXRoIGxpYnBjYXAuICBQb2ludAordGhlIHNlYXJjaCBwYXRoIGF0IHRoZSBzeXNyb290IGluc3RlYWQuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBKb2UgTWFjRG9uYWxkIDxqb2VAZGVzZXJ0ZWQubmV0PgorLS0tCisgY29uZmlndXJlLmluIHwgICAgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCitpbmRleCBlNTJiYjZjLi44ZGVkMzVkIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmluCisrKysgYi9jb25maWd1cmUuaW4KK0BAIC03OCw3ICs3OCw3IEBAIGNhc2UgIiRob3N0IiBpbgorICAgICBsaW51eD0ieWVzIgorICAgICBBQ19ERUZJTkUoW0xJTlVYXSxbMV0sW0RlZmluZSBpZiBMaW51eF0pCisgICAgIEFDX1NVQlNUKGV4dHJhX2luY2wpCistICAgIGV4dHJhX2luY2w9Ii1JL3Vzci9pbmNsdWRlL3BjYXAiCisrICAgIGV4dHJhX2luY2w9Ii1JPS91c3IvaW5jbHVkZS9wY2FwIgorICAgICA7OworICAgKi1ocHV4MTAqfCotaHB1eDExKikKKyAgICAgQUNfREVGSU5FKFtIUFVYXSxbMV0sW0RlZmluZSBpZiBIUC1VWCAxMCBvciAxMV0pCistLSAKKzEuNy4xMC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Nub3J0L3Nub3J0L2Rpc2FibGUtZGFwLWFkZHJlc3Mtc3BhY2UtaWQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zbm9ydC9zbm9ydC9kaXNhYmxlLWRhcC1hZGRyZXNzLXNwYWNlLWlkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5ZTVjOWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zbm9ydC9zbm9ydC9kaXNhYmxlLWRhcC1hZGRyZXNzLXNwYWNlLWlkLnBhdGNoCkBAIC0wLDAgKzEsNTIgQEAKK1Vwc3RyZWFtLVN0YXR1czpJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworZml4IHRoZSBiZWxvdyBlcnJvcjoKK2NoZWNraW5nIGZvciBkYXAgYWRkcmVzcyBzcGFjZSBpZC4uLiBjb25maWd1cmU6IAorY29uZmlndXJlOiBlcnJvcjogY2Fubm90IHJ1biB0ZXN0IHByb2dyYW0gd2hpbGUgY3Jvc3MgY29tcGlsaW5nCisKKworU2lnbmVkLW9mZi1ieTogQ2h1bnJvbmcgR3VvIDxCNDAyOTBAZnJlZXNjYWxlLmNvbT4KKworLS0tIGEvY29uZmlndXJlLmluCTIwMTMtMDgtMjMgMDA6MDY6MzcuMjM5MzYxOTMyIC0wNTAwCisrKysgYi9jb25maWd1cmUuaW4JMjAxMy0wOC0yMyAwMDowNzozMi44NjAyNjY1MzQgLTA1MDAKK0BAIC02NzksMjMgKzY3OSwyMyBAQAorIAorIEFDX0NIRUNLX0ZVTkNTKFtkYXFfaHVwX2FwcGx5XSBbZGFxX2FjcXVpcmVfd2l0aF9tZXRhXSkKKyAKKy1BQ19NU0dfQ0hFQ0tJTkcoW2ZvciBkYXEgYWRkcmVzcyBzcGFjZSBJRF0pCistQUNfUlVOX0lGRUxTRSgKKy1bQUNfTEFOR19QUk9HUkFNKAorLVtbCistI2luY2x1ZGUgPGRhcS5oPgorLV1dLAorLVtbCistICAgREFRX1BrdEhkcl90IGhkcjsKKy0gICBoZHIuYWRkcmVzc19zcGFjZV9pZCA9IDA7CistXV0pXSwKKy1baGF2ZV9kYXFfYWRkcmVzc19zcGFjZV9pZD0ieWVzIl0sCistW2hhdmVfZGFxX2FkZHJlc3Nfc3BhY2VfaWQ9Im5vIl0pCistQUNfTVNHX1JFU1VMVCgkaGF2ZV9kYXFfYWRkcmVzc19zcGFjZV9pZCkKKy1pZiB0ZXN0ICJ4JGhhdmVfZGFxX2FkZHJlc3Nfc3BhY2VfaWQiID0gInh5ZXMiOyB0aGVuCistICAgIEFDX0RFRklORShbSEFWRV9EQVFfQUREUkVTU19TUEFDRV9JRF0sWzFdLAorLSAgICAgICAgW0RBUSB2ZXJzaW9uIHN1cHBvcnRzIGFkZHJlc3Mgc3BhY2UgSUQgaW4gaGVhZGVyLl0pCistZmkKKysjQUNfTVNHX0NIRUNLSU5HKFtmb3IgZGFxIGFkZHJlc3Mgc3BhY2UgSURdKQorKyNBQ19SVU5fSUZFTFNFKAorKyNbQUNfTEFOR19QUk9HUkFNKAorKyNbWworKyMjaW5jbHVkZSA8ZGFxLmg+CisrI11dLAorKyNbWworKyMgICBEQVFfUGt0SGRyX3QgaGRyOworKyMgICBoZHIuYWRkcmVzc19zcGFjZV9pZCA9IDA7CisrI11dKV0sCisraGF2ZV9kYXFfYWRkcmVzc19zcGFjZV9pZD0ieWVzIgorKyNbaGF2ZV9kYXFfYWRkcmVzc19zcGFjZV9pZD0ibm8iXSkKKysjQUNfTVNHX1JFU1VMVCgkaGF2ZV9kYXFfYWRkcmVzc19zcGFjZV9pZCkKKysjaWYgdGVzdCAieCRoYXZlX2RhcV9hZGRyZXNzX3NwYWNlX2lkIiA9ICJ4eWVzIjsgdGhlbgorKyMgICAgQUNfREVGSU5FKFtIQVZFX0RBUV9BRERSRVNTX1NQQUNFX0lEXSxbMV0sCisrIyAgICAgICAgW0RBUSB2ZXJzaW9uIHN1cHBvcnRzIGFkZHJlc3Mgc3BhY2UgSUQgaW4gaGVhZGVyLl0pCisrI2ZpCisgCisgIyBhbnkgc3BhcmMgcGxhdGZvcm0gaGFzIHRvIGhhdmUgdGhpcyBvbmUgZGVmaW5lZC4KKyBBQ19NU0dfQ0hFQ0tJTkcoZm9yIHNwYXJjKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc25vcnQvc25vcnQvZGlzYWJsZS1kYXEtZmxvdy1pZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Nub3J0L3Nub3J0L2Rpc2FibGUtZGFxLWZsb3ctaWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTZhZmNhYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Nub3J0L3Nub3J0L2Rpc2FibGUtZGFxLWZsb3ctaWQucGF0Y2gKQEAgLTAsMCArMSw1MCBAQAorVXBzdHJlYW0tU3RhdHVzOkluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitmaXggdGhlIGJlbG93IGVycm9yOgorY2hlY2tpbmcgZm9yIGRhcSBmbG93IElELi4uIGNvbmZpZ3VyZToKK2NvbmZpZ3VyZTogZXJyb3I6IGNhbm5vdCBydW4gdGVzdCBwcm9ncmFtIHdoaWxlIGNyb3NzIGNvbXBpbGluZworCisKKy0tLSBhL2NvbmZpZ3VyZS5pbiAgICAyMDE1LTEwLTI4IDEwOjM2OjQyLjkxODUxMjY5MCArMDgwMAorKysrIGIvY29uZmlndXJlLmluICAgIDIwMTUtMTAtMjggMTA6Mzc6MzYuNzM4NTEwMDQ4ICswODAwCitAQCAtNzE2LDIzICs3MTYsMjMgQEAKKyAjICAgICAgICBbREFRIHZlcnNpb24gc3VwcG9ydHMgYWRkcmVzcyBzcGFjZSBJRCBpbiBoZWFkZXIuXSkKKyAjZmkKKworLUFDX01TR19DSEVDS0lORyhbZm9yIGRhcSBmbG93IElEXSkKKy1BQ19SVU5fSUZFTFNFKAorLVtBQ19MQU5HX1BST0dSQU0oCistW1sKKy0jaW5jbHVkZSA8ZGFxLmg+CistXV0sCistW1sKKy0gICBEQVFfUGt0SGRyX3QgaGRyOworLSAgIGhkci5mbG93X2lkID0gMDsKKy1dXSldLAorLVtoYXZlX2RhcV9mbG93X2lkPSJ5ZXMiXSwKKy1baGF2ZV9kYXFfZmxvd19pZD0ibm8iXSkKKy1BQ19NU0dfUkVTVUxUKCRoYXZlX2RhcV9mbG93X2lkKQorLWlmIHRlc3QgIngkaGF2ZV9kYXFfZmxvd19pZCIgPSAieHllcyI7IHRoZW4KKy0gICAgQUNfREVGSU5FKFtIQVZFX0RBUV9GTE9XX0lEXSxbMV0sCistICAgICAgICBbREFRIHZlcnNpb24gc3VwcG9ydHMgZmxvdyBJRCBpbiBoZWFkZXIuXSkKKy1maQorKyNBQ19NU0dfQ0hFQ0tJTkcoW2ZvciBkYXEgZmxvdyBJRF0pCisrI0FDX1JVTl9JRkVMU0UoCisrI1tBQ19MQU5HX1BST0dSQU0oCisrI1tbCisrIyNpbmNsdWRlIDxkYXEuaD4KKysjXV0sCisrI1tbCisrIyAgIERBUV9Qa3RIZHJfdCBoZHI7CisrIyAgIGhkci5mbG93X2lkID0gMDsKKysjXV0pXSwKKytoYXZlX2RhcV9mbG93X2lkPSJ5ZXMiCisrI1toYXZlX2RhcV9mbG93X2lkPSJubyJdKQorKyNBQ19NU0dfUkVTVUxUKCRoYXZlX2RhcV9mbG93X2lkKQorKyNpZiB0ZXN0ICJ4JGhhdmVfZGFxX2Zsb3dfaWQiID0gInh5ZXMiOyB0aGVuCisrIyAgICBBQ19ERUZJTkUoW0hBVkVfREFRX0ZMT1dfSURdLFsxXSwKKysjICAgICAgICBbREFRIHZlcnNpb24gc3VwcG9ydHMgZmxvdyBJRCBpbiBoZWFkZXIuXSkKKysjZmkKKworIEFDX01TR19DSEVDS0lORyhbZm9yIERBUV9WRVJESUNUX1JFVFJZXSkKKyBBQ19SVU5fSUZFTFNFKApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc25vcnQvc25vcnQvZGlzYWJsZS1kYXEtdmVyZGljdC1yZXRyeS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Nub3J0L3Nub3J0L2Rpc2FibGUtZGFxLXZlcmRpY3QtcmV0cnkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWExMzI5OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Nub3J0L3Nub3J0L2Rpc2FibGUtZGFxLXZlcmRpY3QtcmV0cnkucGF0Y2gKQEAgLTAsMCArMSw1MSBAQAorVXBzdHJlYW0tU3RhdHVzOkluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitmaXggdGhlIGJlbG93IGVycm9yOgorY2hlY2tpbmcgZm9yIERBUV9WRVJESUNUX1JFVFJZLi4uIGNvbmZpZ3VyZToKK2NvbmZpZ3VyZTogZXJyb3I6IGNhbm5vdCBydW4gdGVzdCBwcm9ncmFtIHdoaWxlIGNyb3NzIGNvbXBpbGluZworCisKKy0tLSBhL2NvbmZpZ3VyZS5pbiAgICAyMDE1LTEwLTI4IDEwOjQ1OjE4LjE3NDQ4NzM5NSArMDgwMAorKysrIGIvY29uZmlndXJlLmluICAgIDIwMTUtMTAtMjggMTA6NDU6NDcuNTg2NDg1OTUxICswODAwCitAQCAtNzM0LDIzICs3MzQsMjMgQEAKKyAjICAgICAgICBbREFRIHZlcnNpb24gc3VwcG9ydHMgZmxvdyBJRCBpbiBoZWFkZXIuXSkKKyAjZmkKKworLUFDX01TR19DSEVDS0lORyhbZm9yIERBUV9WRVJESUNUX1JFVFJZXSkKKy1BQ19SVU5fSUZFTFNFKAorLVtBQ19MQU5HX1BST0dSQU0oCistW1sKKy0jaW5jbHVkZSA8ZGFxLmg+CistXV0sCistW1sKKy0gICBEQVFfVmVyZGljdCB2ZXJkaWN0OworLSAgIHZlcmRpY3QgPSBEQVFfVkVSRElDVF9SRVRSWTsKKy1dXSldLAorLVtoYXZlX2RhcV92ZXJkaWN0X3JldHJ5PSJ5ZXMiXSwKKy1baGF2ZV9kYXFfdmVyZGljdF9yZXRyeT0ibm8iXSkKKy1BQ19NU0dfUkVTVUxUKCRoYXZlX2RhcV92ZXJkaWN0X3JldHJ5KQorLWlmIHRlc3QgIngkaGF2ZV9kYXFfdmVyZGljdF9yZXRyeSIgPSAieHllcyI7IHRoZW4KKy0gICAgQUNfREVGSU5FKFtIQVZFX0RBUV9WRVJESUNUX1JFVFJZXSxbMV0sCistICAgICAgICBbREFRIHZlcnNpb24gc3VwcG9ydHMgREFRX1ZFUkRJQ1RfUkVUUlkgaW4gREFRX1ZlcmRpY3QuXSkKKy1maQorKyNBQ19NU0dfQ0hFQ0tJTkcoW2ZvciBEQVFfVkVSRElDVF9SRVRSWV0pCisrI0FDX1JVTl9JRkVMU0UoCisrI1tBQ19MQU5HX1BST0dSQU0oCisrI1tbCisrIyNpbmNsdWRlIDxkYXEuaD4KKysjXV0sCisrI1tbCisrIyAgIERBUV9WZXJkaWN0IHZlcmRpY3Q7CisrIyAgIHZlcmRpY3QgPSBEQVFfVkVSRElDVF9SRVRSWTsKKysjXV0pXSwKKytoYXZlX2RhcV92ZXJkaWN0X3JldHJ5PSJ5ZXMiCisrI1toYXZlX2RhcV92ZXJkaWN0X3JldHJ5PSJubyJdKQorKyNBQ19NU0dfUkVTVUxUKCRoYXZlX2RhcV92ZXJkaWN0X3JldHJ5KQorKyNpZiB0ZXN0ICJ4JGhhdmVfZGFxX3ZlcmRpY3RfcmV0cnkiID0gInh5ZXMiOyB0aGVuCisrIyAgICBBQ19ERUZJTkUoW0hBVkVfREFRX1ZFUkRJQ1RfUkVUUlldLFsxXSwKKysjICAgICAgICBbREFRIHZlcnNpb24gc3VwcG9ydHMgREFRX1ZFUkRJQ1RfUkVUUlkgaW4gREFRX1ZlcmRpY3QuXSkKKysjZmkKKworICMgYW55IHNwYXJjIHBsYXRmb3JtIGhhcyB0byBoYXZlIHRoaXMgb25lIGRlZmluZWQuCisgQUNfTVNHX0NIRUNLSU5HKGZvciBzcGFyYykKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc25vcnQvc25vcnQvZGlzYWJsZS1pbmFkZHItbm9uZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Nub3J0L3Nub3J0L2Rpc2FibGUtaW5hZGRyLW5vbmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWRhZmU2MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Nub3J0L3Nub3J0L2Rpc2FibGUtaW5hZGRyLW5vbmUucGF0Y2gKQEAgLTAsMCArMSw3NSBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworZml4IHRoZSBiZWxvdyBlcnJvcjoKK2NoZWNraW5nIGZvciBJTkFERFJfTk9ORS4uLiBjb25maWd1cmU6Citjb25maWd1cmU6IGVycm9yOiBjYW5ub3QgcnVuIHRlc3QgcHJvZ3JhbSB3aGlsZSBjcm9zcyBjb21waWxpbmcKKworU2lnbmVkLW9mZi1ieTogQ2h1bnJvbmcgR3VvIDxCNDAyOTBAZnJlZXNjYWxlLmNvbT4KKworCistLS0gYS9jb25maWd1cmUuaW4JMjAxMy0wOC0yMSAwMzo1NjoxNy4xOTc0MTQ3ODkgLTA1MDAKKysrKyBiL2NvbmZpZ3VyZS5pbgkyMDEzLTA4LTIxIDIzOjE5OjA1LjI5ODU1MzU2MCAtMDUwMAorQEAgLTI4MSwyNSArMjgxLDcgQEAKKyBBQ19DSEVDS19UWVBFUyhbYm9vbGVhbl0pCisgCisgIyBJbiBjYXNlIElOQUREUl9OT05FIGlzIG5vdCBkZWZpbmVkIChsaWtlIG9uIFNvbGFyaXMpCistaGF2ZV9pbmFkZHJfbm9uZT0ibm8iCistQUNfTVNHX0NIRUNLSU5HKFtmb3IgSU5BRERSX05PTkVdKQorLUFDX1JVTl9JRkVMU0UoCistW0FDX0xBTkdfUFJPR1JBTSgKKy1bWworLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKy0jaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgorLSNpbmNsdWRlIDxhcnBhL2luZXQuaD4KKy1dXSwKKy1bWworLQlpZiAoaW5ldF9hZGRyKCIxMCw1LDIiKSA9PSBJTkFERFJfTk9ORSk7CistICAgIHJldHVybiAwOworLV1dKV0sCistW2hhdmVfaW5hZGRyX25vbmU9InllcyJdLAorLVtoYXZlX2luYWRkcl9ub25lPSJubyJdKQorLUFDX01TR19SRVNVTFQoJGhhdmVfaW5hZGRyX25vbmUpCistaWYgdGVzdCAieCRoYXZlX2luYWRkcl9ub25lIiA9ICJ4bm8iOyB0aGVuCistCUFDX0RFRklORShbSU5BRERSX05PTkVdLFstMV0sW0ZvciBJTkFERFJfTk9ORSBkZWZpbml0aW9uXSkKKy1maQorK2hhdmVfaW5hZGRyX25vbmU9InllcyIKKyAKKyBBQ19DT01QSUxFX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKFtbCisgI2luY2x1ZGUgPHN0ZGlvLmg+CitAQCAtMzk3LDIxICszNzksMjEgQEAKKyAgIGZpCisgZmkKKyAKKy1BQ19NU0dfQ0hFQ0tJTkcoW2ZvciBwY2FwX2xleF9kZXN0cm95XSkKKy1BQ19SVU5fSUZFTFNFKAorLVtBQ19MQU5HX1BST0dSQU0oCistW1sKKy0jaW5jbHVkZSA8cGNhcC5oPgorLV1dLAorLVtbCistICAgcGNhcF9sZXhfZGVzdHJveSgpOworLV1dKV0sCistW2hhdmVfcGNhcF9sZXhfZGVzdHJveT0ieWVzIl0sCistW2hhdmVfcGNhcF9sZXhfZGVzdHJveT0ibm8iXSkKKy1BQ19NU0dfUkVTVUxUKCRoYXZlX3BjYXBfbGV4X2Rlc3Ryb3kpCistaWYgdGVzdCAieCRoYXZlX3BjYXBfbGV4X2Rlc3Ryb3kiID0gInh5ZXMiOyB0aGVuCistICAgIEFDX0RFRklORShbSEFWRV9QQ0FQX0xFWF9ERVNUUk9ZXSxbMV0sW0NhbiBjbGVhbnVwIGxleCBidWZmZXIgc3RhY2sgY3JlYXRlZCBieSBwY2FwIGJwZiBmaWx0ZXJdKQorLWZpCisrI0FDX01TR19DSEVDS0lORyhbZm9yIHBjYXBfbGV4X2Rlc3Ryb3ldKQorKyNBQ19SVU5fSUZFTFNFKAorKyNbQUNfTEFOR19QUk9HUkFNKAorKyNbWworKyMjaW5jbHVkZSA8cGNhcC5oPgorKyNdXSwKKysjW1sKKysjICAgcGNhcF9sZXhfZGVzdHJveSgpOworKyNdXSldLAorK2hhdmVfcGNhcF9sZXhfZGVzdHJveT0ieWVzIgorKyNbaGF2ZV9wY2FwX2xleF9kZXN0cm95PSJubyJdKQorKyNBQ19NU0dfUkVTVUxUKCRoYXZlX3BjYXBfbGV4X2Rlc3Ryb3kpCisrI2lmIHRlc3QgIngkaGF2ZV9wY2FwX2xleF9kZXN0cm95IiA9ICJ4eWVzIjsgdGhlbgorKyMgICAgQUNfREVGSU5FKFtIQVZFX1BDQVBfTEVYX0RFU1RST1ldLFsxXSxbQ2FuIGNsZWFudXAgbGV4IGJ1ZmZlciBzdGFjayBjcmVhdGVkIGJ5IHBjYXAgYnBmIGZpbHRlcl0pCisrI2ZpCisgCisgQUNfTVNHX0NIRUNLSU5HKFtmb3IgcGNhcF9saWJfdmVyc2lvbl0pCisgQUNfTElOS19JRkVMU0UoCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zbm9ydC9zbm9ydC9zbm9ydC5pbml0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc25vcnQvc25vcnQvc25vcnQuaW5pdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOGEwMGM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc25vcnQvc25vcnQvc25vcnQuaW5pdApAQCAtMCwwICsxLDEwOSBAQAorIyEvYmluL3NoCisjCisjICAgU25vcnQgU3RhcnR1cCBTY3JpcHQgbW9kaWZpZWQgZm9yIE9wZW5FbWJlZGRlZAorIworCisjIFNjcmlwdCB2YXJpYWJsZXMKKworTEFOX0lOVEVSRkFDRT0iJDIiCitSRVRVUk5fVkFMPTAKK0JJTkFSWT0vdXNyL2Jpbi9zbm9ydAorUEFUSD0vYmluOi91c3IvYmluCitQSUQ9L3Zhci9ydW4vc25vcnRfJHtMQU5fSU5URVJGQUNFfV9pZHMucGlkCitERUxfUElEPSRQSUQKK0xPR0RJUj0iL3Zhci9sb2cvc25vcnQiCitEQVRFPWAvYmluL2RhdGUgKyVZJW0lZGAKK0NPTkZJR19GSUxFPS9ldGMvc25vcnQvc25vcnQuY29uZgorUFJPRz1zbm9ydAorVVNFUj1yb290CitHUk9VUD1yb290CisKK2lmIFsgISAteCAiJEJJTkFSWSIgXTsgdGhlbgorICAgIGVjaG8gIkVSUk9SOiAkQklOQVJZIG5vdCBmb3VuZC4iCisgICAgZXhpdCAxCitmaQorCitpZiBbICEgLXIgIiRDT05GSUdfRklMRSIgXTsgdGhlbgorICAgIGVjaG8gIkVSUk9SOiAkQ09ORklHX0ZJTEUgbm90IGZvdW5kLiIKKyAgICBleGl0IDEKK2ZpCisKK3N0YXJ0KCkKK3sKKworICAgIFsgLW4gIiRMQU5fSU5URVJGQUNFIiBdIHx8IHJldHVybiAwCisgICAgIyBDaGVjayBpZiBsb2cgZGlyYXRvcnkgaXMgcHJlc2VudC4gT3RoZXJ3aXNlLCBjcmVhdGUgaXQuCisgICAgaWYgWyAhIC1kICRMT0dESVIvJERBVEUgXTsgdGhlbgorICAgICAgICBta2RpciAtZCAkTE9HRElSLyREQVRFCisgICAgICAgIC9iaW4vY2hvd24gLVIgJFVTRVI6JFVTRVIgJExPR0RJUi8kREFURQorICAgIC9iaW4vY2htb2QgLVIgNzAwICRMT0dESVIvJERBVEUKKyAgICBmaQorCisgICAgL2Jpbi9lY2hvICJTdGFydGluZyAkUFJPRzogIgorICAgICMgU25vcnQgcGFyYW1ldGVycworICAgICMgLUQgUnVuIFNub3J0IGluIGJhY2tncm91bmQgKGRhZW1vbikgbW9kZQorICAgICMgLWkgPGlmPiBMaXN0ZW4gb24gaW50ZXJmYWNlIDxpZj4KKyAgICAjIC11IDx1bmFtZT4gUnVuIHNub3J0IHVpZCBhcyA8dW5hbWU+IHVzZXIgKG9yIHVpZCkKKyAgICAjIC1nIDxnbmFtZT4gUnVuIHNub3J0IHVpZCBhcyA8Z25hbWU+IGdyb3VwIChvciBnaWQpCisgICAgIyAtYyBMb2FkIGNvbmZpZ3VyYXRpb24gZmlsZQorICAgICMgLU4gVHVybiBvZmYgbG9nZ2luZyAoYWxlcnRzIHN0aWxsIHdvcmspIChyZW1vdmVkIHRvIGVuYWJsZSBsb2dnaW5nKSA6KQorICAgICMgLWwgTG9nIHRvIGRpcmVjdG9yeQorICAgICMgLXQgQ2hyb290cyBwcm9jZXNzIHRvIGRpcmVjdG9yeSBhZnRlciBpbml0aWFsaXphdGlvbgorICAgICMgLVIgPGlkPiBJbmNsdWRlICdpZCcgaW4gc25vcnRfaW50ZjxpZD4ucGlkIGZpbGUgbmFtZQorCisgICAgJEJJTkFSWSAtRCAtaSAkTEFOX0lOVEVSRkFDRSAtdSAkVVNFUiAtZyAkR1JPVVAgLWMgJENPTkZJR19GSUxFIC1sICRMT0dESVIvJERBVEUgLXQgJExPR0RJUi8kREFURSAtUiBfaWRzCisgICAgL2Jpbi9lY2hvICIkUFJPRyBzdGFydHVwIGNvbXBsZXRlLiIKKyAgICByZXR1cm4gJFJFVFVSTl9WQUwKK30KKworc3RvcCgpCit7CisgICAgaWYgWyAtcyAkUElEIF07IHRoZW4KKyAgICAgICAgL2Jpbi9lY2hvICJTdG9wcGluZyAkUFJPRyB3aXRoIFBJRCBgY2F0ICRQSURgOiAiCisgICAgICAgIGtpbGwgLVRFUk0gYGNhdCAkUElEYCAyPi9kZXYvbnVsbAorICAgICAgICBSRVRVUk5fVkFMPSQ/CisgICAgICAgIC9iaW4vZWNobyAiJFBST0cgc2h1dGRvd24gY29tcGxldGUuIgorICAgICAgICBbIC1lICRERUxfUElEIF0gJiYgcm0gLWYgJERFTF9QSUQKKyAgICBbIC1lICRERUxfUElELmxjayBdICYmIHJtIC1mICRERUxfUElELmxjaworICAgIGVsc2UKKyAgICAgICAgL2Jpbi9lY2hvICJFUlJPUjogUElEIGluICRQSUQgZmlsZSBub3QgZm91bmQuIgorICAgICAgICBSRVRVUk5fVkFMPTEKKyAgICBmaQorICAgIHJldHVybiAkUkVUVVJOX1ZBTAorfQorCitzdGF0dXMoKSB7CisgICAgICAgIGlmIFsgLXMgJFBJRCBdOyB0aGVuCisgICAgICAgICAgICAgICAgZWNobyAiJFBST0cgaXMgcnVubmluZyBhcyBwaWQgYGNhdCAkUElEYDoiCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBlY2hvICIkUFJPRyBpcyBub3QgcnVubmluZy4iCisgICAgICAgIGZpCit9CisKK3Jlc3RhcnQoKQoreworICAgIHN0b3AKKyAgICBzdGFydAorICAgIFJFVFVSTl9WQUw9JD8KKyAgICByZXR1cm4gJFJFVFVSTl9WQUwKK30KKworY2FzZSAiJDEiIGluCisgc3RhcnQpCisgICAgICAgc3RhcnQKKyAgICA7OworIHN0b3ApCisgICAgICAgc3RvcAorICAgIDs7Cisgc3RhdHVzKQorICAgICAgIHN0YXR1cworICAgIDs7CisgcmVzdGFydHxyZWxvYWQpCisgICAgICAgcmVzdGFydAorICAgIDs7CisgKikKKyAgICAvYmluL2VjaG8gIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxzdGF0dXN8cmVzdGFydHxyZWxvYWR9IgorICAgIFJFVFVSTl9WQUw9MQorZXNhYworCitleGl0ICRSRVRVUk5fVkFMCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zbm9ydC9zbm9ydF8yLjkuNy41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc25vcnQvc25vcnRfMi45LjcuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDk0NmFmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc25vcnQvc25vcnRfMi45LjcuNS5iYgpAQCAtMCwwICsxLDg5IEBACitERVNDUklQVElPTiA9ICJzbm9ydCAtIGEgZnJlZSBsaWdodHdlaWdodCBuZXR3b3JrIGludHJ1c2lvbiBkZXRlY3Rpb24gc3lzdGVtIGZvciBVTklYIGFuZCBXaW5kb3dzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuc25vcnQub3JnLyIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJHUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzhmYThlZjk2NmI0OGZiZjkwOTVlMTNjYzkyMzc3YzUiCisKK0RFUEVORFMgPSAibGlicGNhcCBsaWJwY3JlIGRhcSBsaWJkbmV0IHV0aWwtbGludXgiCisKK1NSQ19VUkkgPSAiICR7R0VOVE9PX01JUlJPUn0vJHtCUH0udGFyLmd6O25hbWU9dGFyYmFsbCBcCisgICAgZmlsZTovL3Nub3J0LmluaXQgXAorICAgIGZpbGU6Ly9kaXNhYmxlLWluYWRkci1ub25lLnBhdGNoIFwKKyAgICBmaWxlOi8vZGlzYWJsZS1kYXAtYWRkcmVzcy1zcGFjZS1pZC5wYXRjaCBcCisgICAgZmlsZTovL2Rpc2FibGUtZGFxLWZsb3ctaWQucGF0Y2ggXAorICAgIGZpbGU6Ly9kaXNhYmxlLWRhcS12ZXJkaWN0LXJldHJ5LnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMS1saWJwY2FwLXNlYXJjaC1zeXNyb290LWZvci1oZWFkZXJzLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMS1maXgtZG9fcGFja2FnZS1mYWlsZWQtc2luY2Utc25vcnQtMi45LjcuMC5wYXRjaCBcCisiCisKK1NSQ19VUklbdGFyYmFsbC5tZDVzdW1dID0gImZkMjcxNzg4YzBmODg3NmJlODdhODU4YTkxNDJmMjAyIgorU1JDX1VSSVt0YXJiYWxsLnNoYTI1NnN1bV0gPSAiYWQwM2YxMWI1MzAxYjE2NjQyMTk5YTg2YWE5MDM4OGVhYTUzZjUwMDNmODNiMGM1NTk1NzQ1YTQ5MDA0N2JlMSIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCB1cGRhdGUtcmMuZCBwa2djb25maWcKKworSU5JVFNDUklQVF9OQU1FID0gInNub3J0IgorSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMiCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0tZW5hYmxlLWdyZSBcCisgICAgLS1lbmFibGUtbGludXgtc21wLXN0YXRzIFwKKyAgICAtLWVuYWJsZS1yZWxvYWQgXAorICAgIC0tZW5hYmxlLXJlbG9hZC1lcnJvci1yZXN0YXJ0IFwKKyAgICAtLWVuYWJsZS10YXJnZXRiYXNlZCBcCisgICAgLS1kaXNhYmxlLXN0YXRpYy1kYXEgXAorICAgIC0td2l0aC1kbmV0LWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IFwKKyAgICAtLXdpdGgtZG5ldC1saWJyYXJpZXM9JHtTVEFHSU5HX0xJQkRJUn0gXAorICAgIC0td2l0aC1saWJwY3JlLWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IFwKKyAgICAtLXdpdGgtbGlicGNyZS1saWJyYXJpZXM9JHtTVEFHSU5HX0xJQkRJUn0gXAorICAgIC0td2l0aC1kYXEtaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gXAorICAgIC0td2l0aC1kYXEtbGlicmFyaWVzPSR7U1RBR0lOR19MSUJESVJ9IFwKKyIKKworIyBpZiB5b3Ugd2FudCB0byBkaXNhYmxlIGl0LCB5b3UgbmVlZCB0byBwYXRjaCBjb25maWd1cmUuaW4gZmlyc3QKKyMgQUNfQ0hFQ0tfSEVBREVSUyhbb3BlbnNzbC9zaGEuaF0sLCBTSEFfSD0ibm8iKQorIyBpcyBjYWxsZWQgZXZlbiB3aXRoIC0td2l0aG91dC1vcGVuc3NsLWluY2x1ZGVzCitQQUNLQUdFQ09ORklHID89ICJvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tvcGVuc3NsXSA9ICItLXdpdGgtb3BlbnNzbC1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSAtLXdpdGgtb3BlbnNzbC1saWJyYXJpZXM9JHtTVEFHSU5HX0xJQkRJUn0sIC0td2l0aG91dC1vcGVuc3NsLWluY2x1ZGVzIC0td2l0aG91dC1vcGVuc3NsLWxpYnJhcmllcywgb3BlbnNzbCwiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vc25vcnQvcnVsZXMKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3Nub3J0L3ByZXByb2NfcnVsZXMKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGZvciBpIGluIG1hcCBjb25maWcgY29uZiBkdGQ7IGRvCisgICAgICAgIGNwICR7U30vZXRjLyouJGkgJHtEfSR7c3lzY29uZmRpcn0vc25vcnQvCisgICAgZG9uZQorICAgIGNwICR7U30vcHJlcHJvY19ydWxlcy8qLnJ1bGVzICR7RH0ke3N5c2NvbmZkaXJ9L3Nub3J0L3ByZXByb2NfcnVsZXMvCisgICAgaW5zdGFsbCAtbSA3NTUgJHtXT1JLRElSfS9zbm9ydC5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9zbm9ydAorICAgIG1rZGlyIC1wICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xvZy9zbm9ydAorICAgIGluc3RhbGwgLWQgJHtEfS92YXIvbG9nL3Nub3J0Cit9CisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7bGliZGlyfS9zbm9ydF9keW5hbWljZW5naW5lLyouc28uKiBcCisgICAgJHtsaWJkaXJ9L3Nub3J0X2R5bmFtaWNwcmVwcm9jZXNzb3IvKi5zby4qIFwKKyAgICAke2xpYmRpcn0vc25vcnRfZHluYW1pY3J1bGVzLyouc28uKiBcCisiCitGSUxFU18ke1BOfS1kYmcgKz0gIiBcCisgICAgJHtsaWJkaXJ9L3Nub3J0X2R5bmFtaWNlbmdpbmUvLmRlYnVnIFwKKyAgICAke2xpYmRpcn0vc25vcnRfZHluYW1pY3ByZXByb2Nlc3Nvci8uZGVidWcgXAorICAgICR7bGliZGlyfS9zbm9ydF9keW5hbWljcnVsZXMvLmRlYnVnIFwKKyIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiIFwKKyAgICAke2xpYmRpcn0vc25vcnRfZHluYW1pY2VuZ2luZS8qLmEgXAorICAgICR7bGliZGlyfS9zbm9ydF9keW5hbWljcHJlcHJvY2Vzc29yLyouYSBcCisgICAgJHtsaWJkaXJ9L3Nub3J0X2R5bmFtaWNydWxlcy8qLmEgXAorICAgICR7bGliZGlyfS9zbm9ydC9keW5hbWljX3ByZXByb2MvKi5hIFwKKyAgICAke2xpYmRpcn0vc25vcnQvZHluYW1pY19vdXRwdXQvKi5hIFwKKyIKK0ZJTEVTXyR7UE59LWRldiArPSAiIFwKKyAgICAke2xpYmRpcn0vc25vcnRfZHluYW1pY2VuZ2luZS8qLmxhIFwKKyAgICAke2xpYmRpcn0vc25vcnRfZHluYW1pY3ByZXByb2Nlc3Nvci8qLmxhIFwKKyAgICAke2xpYmRpcn0vc25vcnRfZHluYW1pY3J1bGVzLyoubGEgXAorICAgICR7bGliZGlyfS9zbm9ydF9keW5hbWljZW5naW5lLyouc28gXAorICAgICR7bGliZGlyfS9zbm9ydF9keW5hbWljcHJlcHJvY2Vzc29yLyouc28gXAorICAgICR7bGliZGlyfS9zbm9ydF9keW5hbWljcnVsZXMvKi5zbyBcCisgICAgJHtwcmVmaXh9L3NyYy9zbm9ydF9keW5hbWljc3JjIFwKKyIKKworIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMzUxMzcvCitQTkJMQUNLTElTVFtzbm9ydF0gPz0gIkJST0tFTjogUUEgSXNzdWU6IHNub3J0X3ByZXByb2MucGMsIHNub3J0X291dHB1dC5wYywgc25vcnQucGMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS91ZncvdWZ3LzAwMDEtb3B0aW1pemUtYm9vdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Vmdy91ZncvMDAwMS1vcHRpbWl6ZS1ib290LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExZTU2YjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS91ZncvdWZ3LzAwMDEtb3B0aW1pemUtYm9vdC5wYXRjaApAQCAtMCwwICsxLDI1IEBACitBdXRob3I6IEphbWllIFN0cmFuZGJvZ2UgPGphbWllQGNhbm9uaWNhbC5jb20+CitEZXNjcmlwdGlvbjogdG8gaW1wcm92ZSBib290IHNwZWVkIHdoZW4gZGlzYWJsZWQsIGRvbid0IHNvdXJjZSBhbGwgb2YKKyB1ZnctaW5pdC1mdW5jdGlvbnMgKHdoaWNoIGFsc28gc291cmNlcyBpbiBvdGhlciBmaWxlcykuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbIG5vdCBhdXRob3IgXQorCitTaWduZWQtb2ZmLWJ5OiBKb2UgTWFjRG9uYWxkIDxqb2VfbWFjZG9uYWxkQG1lbnRvci5jb20+CisKK0luZGV4OiB1ZnctMC4zMS9zcmMvdWZ3LWluaXQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB1ZnctMC4zMS5vcmlnL3NyYy91ZnctaW5pdAkyMDEyLTAzLTA5IDE3OjA3OjExLjAwMDAwMDAwMCAtMDYwMAorKysrIHVmdy0wLjMxL3NyYy91ZnctaW5pdAkyMDEyLTAzLTE3IDA5OjM3OjUxLjAwMDAwMDAwMCAtMDUwMAorQEAgLTE4LDYgKzE4LDEyIEBACisgIworIHNldCAtZQorIAorKyMgRGViaWFuL1VidW50dTogc21hbGwgYm9vdCBzcGVlZCBpbXByb3ZlbWVudAorKy4gIiNDT05GSUdfUFJFRklYIy91ZncvdWZ3LmNvbmYiCisraWYgWyAiJDEiID0gInN0YXJ0IiBdICYmIFsgIiQyIiA9ICJxdWlldCIgXSAmJiBbICIkRU5BQkxFRCIgPSAibm8iIF07IHRoZW4KKysgICAgZXhpdCAwCisrZmkKKysKKyBpZiBbIC1zICIjU1RBVEVfUFJFRklYIy91ZnctaW5pdC1mdW5jdGlvbnMiIF07IHRoZW4KKyAgICAgLiAiI1NUQVRFX1BSRUZJWCMvdWZ3LWluaXQtZnVuY3Rpb25zIgorIGVsc2UKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Vmdy91ZncvMDAwMi1scDEwNDQzNjEucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS91ZncvdWZ3LzAwMDItbHAxMDQ0MzYxLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwNGMxOGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS91ZncvdWZ3LzAwMDItbHAxMDQ0MzYxLnBhdGNoCkBAIC0wLDAgKzEsMTE4IEBACitPcmlnaW46IHI3OTUsIHI3OTYKK0Rlc2NyaXB0aW9uOiBtb3ZlIG5ldGZpbHRlciBjYXBhYmlsaXRpZXMgY2hlY2tpbmcgaW50byBpbml0Y2FwcygpLCBhbmQgY2FsbAorIGluaXRjYXBzKCkgb25seSB3aGVuIHdlIG5lZWQgaXQuCitCdWctVWJ1bnR1OiBodHRwczovL2xhdW5jaHBhZC5uZXQvYnVncy8xMDQ0MzYxCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbIG5vdCBhdXRob3IgXQorCitTaWduZWQtb2ZmLWJ5OiBKb2UgTWFjRG9uYWxkIDxqb2VfbWFjZG9uYWxkQG1lbnRvci5jb20+CisKK0luZGV4OiB1ZnctMC4zMy9zcmMvYmFja2VuZF9pcHRhYmxlcy5weQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHVmdy0wLjMzLm9yaWcvc3JjL2JhY2tlbmRfaXB0YWJsZXMucHkJMjAxMi0wOS0yMyAwOTo1ODozNC4wMDAwMDAwMDAgLTA1MDAKKysrKyB1ZnctMC4zMy9zcmMvYmFja2VuZF9pcHRhYmxlcy5weQkyMDEyLTA5LTIzIDA5OjU4OjM2LjAwMDAwMDAwMCAtMDUwMAorQEAgLTE2MCw2ICsxNjAsOSBAQAorICAgICAgICAgICAgIG91dCArPSAiPiAiICsgXygiQ2hlY2tpbmcgcmF3IGlwNnRhYmxlc1xuIikKKyAgICAgICAgICAgICByZXR1cm4gb3V0CisgCisrICAgICAgICAjIEluaXRpYWxpemUgdGhlIGNhcGFiaWxpdGllcyBkYXRhYmFzZQorKyAgICAgICAgc2VsZi5pbml0Y2FwcygpCisrCisgICAgICAgICBhcmdzID0gWyctbicsICctdicsICcteCcsICctTCddCisgICAgICAgICBpdGVtcyA9IFtdCisgICAgICAgICBpdGVtczYgPSBbXQorQEAgLTQ3MCw2ICs0NzMsOSBAQAorICAgICAgICAgaWYgc2VsZi5kcnlydW46CisgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgCisrICAgICAgICAjIEluaXRpYWxpemUgdGhlIGNhcGFiaWxpdGllcyBkYXRhYmFzZQorKyAgICAgICAgc2VsZi5pbml0Y2FwcygpCisrCisgICAgICAgICBwcmVmaXggPSAidWZ3IgorICAgICAgICAgZXhlID0gc2VsZi5pcHRhYmxlcworICAgICAgICAgaWYgdjY6CitAQCAtNjg0LDYgKzY5MCw5IEBACisgICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgorICAgICAgICAgICAgIHJhaXNlCisgCisrICAgICAgICAjIEluaXRpYWxpemUgdGhlIGNhcGFiaWxpdGllcyBkYXRhYmFzZQorKyAgICAgICAgc2VsZi5pbml0Y2FwcygpCisrCisgICAgICAgICBjaGFpbl9wcmVmaXggPSAidWZ3IgorICAgICAgICAgcnVsZXMgPSBzZWxmLnJ1bGVzCisgICAgICAgICBpZiB2NjoKK0BAIC04MzAsNiArODM5LDEwIEBACisgICAgICAgICAqIHVwZGF0aW5nIHVzZXIgcnVsZXMgZmlsZQorICAgICAgICAgKiByZWxvYWRpbmcgdGhlIHVzZXIgcnVsZXMgZmlsZSBpZiBydWxlIGlzIG1vZGlmaWVkCisgICAgICAgICAnJycKKysKKysgICAgICAgICMgSW5pdGlhbGl6ZSB0aGUgY2FwYWJpbGl0aWVzIGRhdGFiYXNlCisrICAgICAgICBzZWxmLmluaXRjYXBzKCkKKysKKyAgICAgICAgIHJzdHIgPSAiIgorIAorICAgICAgICAgaWYgcnVsZS52NjoKK0BAIC0xMDczLDYgKzEwODYsOSBAQAorICAgICAgICAgaWYgc2VsZi5kcnlydW46CisgICAgICAgICAgICAgcmV0dXJuCisgCisrICAgICAgICAjIEluaXRpYWxpemUgdGhlIGNhcGFiaWxpdGllcyBkYXRhYmFzZQorKyAgICAgICAgc2VsZi5pbml0Y2FwcygpCisrCisgICAgICAgICBydWxlc190ID0gW10KKyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICBydWxlc190ID0gc2VsZi5fZ2V0X2xvZ2dpbmdfcnVsZXMobGV2ZWwpCitJbmRleDogdWZ3LTAuMzMvc3JjL2JhY2tlbmQucHkKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB1ZnctMC4zMy5vcmlnL3NyYy9iYWNrZW5kLnB5CTIwMTItMDktMjMgMDk6NTg6MzQuMDAwMDAwMDAwIC0wNTAwCisrKysgdWZ3LTAuMzMvc3JjL2JhY2tlbmQucHkJMjAxMi0wOS0yMyAwOTo1OTowMy4wMDAwMDAwMDAgLTA1MDAKK0BAIC0yMSw3ICsyMSw3IEBACisgaW1wb3J0IHN0YXQKKyBpbXBvcnQgc3lzCisgaW1wb3J0IHVmdy51dGlsCistZnJvbSB1ZncudXRpbCBpbXBvcnQgd2FybiwgZGVidWcKKytmcm9tIHVmdy51dGlsIGltcG9ydCBlcnJvciwgd2FybiwgZGVidWcKKyBmcm9tIHVmdy5jb21tb24gaW1wb3J0IFVGV0Vycm9yLCBjb25maWdfZGlyLCBpcHRhYmxlc19kaXIsIFVGV1J1bGUKKyBpbXBvcnQgdWZ3LmFwcGxpY2F0aW9ucworIAorQEAgLTY4LDYgKzY4LDE3IEBACisgICAgICAgICAgICAgZXJyX21zZyA9IF8oIkNvdWxkbid0IGRldGVybWluZSBpcHRhYmxlcyB2ZXJzaW9uIikKKyAgICAgICAgICAgICByYWlzZSBVRldFcnJvcihlcnJfbXNnKQorIAorKyAgICAgICAgIyBJbml0aWFsaXplIHZpYSBpbml0Y2FwcyBvbmx5IHdoZW4gd2UgbmVlZCBpdCAoTFA6ICMxMDQ0MzYxKQorKyAgICAgICAgc2VsZi5jYXBzID0gTm9uZQorKworKyAgICBkZWYgaW5pdGNhcHMoc2VsZik6CisrICAgICAgICAnJydJbml0aWFsaXplIHRoZSBjYXBhYmlsaXRpZXMgZGF0YWJhc2UuIFRoaXMgbmVlZHMgdG8gYmUgY2FsbGVkCisrICAgICAgICAgICBiZWZvcmUgYWNjZXNzaW5nIHRoZSBkYXRhYmFzZS4nJycKKysKKysgICAgICAgICMgT25seSBpbml0aWFsaXplIGlmIG5vdCBpbml0aWFsaXplZCBhbHJlYWR5CisrICAgICAgICBpZiBzZWxmLmNhcHMgIT0gTm9uZToKKysgICAgICAgICAgICByZXR1cm4KKysKKyAgICAgICAgIHNlbGYuY2FwcyA9IHt9CisgICAgICAgICBzZWxmLmNhcHNbJ2xpbWl0J10gPSB7fQorIAorQEAgLTc4LDE0ICs4OSwyMCBAQAorICAgICAgICAgIyBUcnkgdG8gZ2V0IGNhcGFiaWxpdGllcyBmcm9tIHRoZSBydW5uaW5nIHN5c3RlbSBpZiByb290CisgICAgICAgICBpZiBzZWxmLmRvX2NoZWNrcyBhbmQgb3MuZ2V0dWlkKCkgPT0gMCBhbmQgbm90IHNlbGYuZHJ5cnVuOgorICAgICAgICAgICAgICMgdjQKKy0gICAgICAgICAgICBuZl9jYXBzID0gdWZ3LnV0aWwuZ2V0X25ldGZpbHRlcl9jYXBhYmlsaXRpZXMoc2VsZi5pcHRhYmxlcykKKysgICAgICAgICAgICB0cnk6CisrICAgICAgICAgICAgICAgIG5mX2NhcHMgPSB1ZncudXRpbC5nZXRfbmV0ZmlsdGVyX2NhcGFiaWxpdGllcyhzZWxmLmlwdGFibGVzKQorKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CisrICAgICAgICAgICAgICAgIGVycm9yKCJpbml0Y2Fwc1xuJXMiICUgZSkKKyAgICAgICAgICAgICBpZiAncmVjZW50LXNldCcgaW4gbmZfY2FwcyBhbmQgJ3JlY2VudC11cGRhdGUnIGluIG5mX2NhcHM6CisgICAgICAgICAgICAgICAgIHNlbGYuY2Fwc1snbGltaXQnXVsnNCddID0gVHJ1ZQorICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgIHNlbGYuY2Fwc1snbGltaXQnXVsnNCddID0gRmFsc2UKKyAKKyAgICAgICAgICAgICAjIHY2CistICAgICAgICAgICAgbmZfY2FwcyA9IHVmdy51dGlsLmdldF9uZXRmaWx0ZXJfY2FwYWJpbGl0aWVzKHNlbGYuaXA2dGFibGVzKQorKyAgICAgICAgICAgIHRyeToKKysgICAgICAgICAgICAgICAgbmZfY2FwcyA9IHVmdy51dGlsLmdldF9uZXRmaWx0ZXJfY2FwYWJpbGl0aWVzKHNlbGYuaXA2dGFibGVzKQorKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CisrICAgICAgICAgICAgICAgIGVycm9yKCJpbml0Y2Fwc1xuJXMiICUgZSkKKyAgICAgICAgICAgICBpZiAncmVjZW50LXNldCcgaW4gbmZfY2FwcyBhbmQgJ3JlY2VudC11cGRhdGUnIGluIG5mX2NhcHM6CisgICAgICAgICAgICAgICAgIHNlbGYuY2Fwc1snbGltaXQnXVsnNiddID0gVHJ1ZQorICAgICAgICAgICAgIGVsc2U6CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS91ZncvdWZ3LzAwMDMtZml4LXR5cGVlcnJvci1vbi1lcnJvci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Vmdy91ZncvMDAwMy1maXgtdHlwZWVycm9yLW9uLWVycm9yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyNTlmZGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS91ZncvdWZ3LzAwMDMtZml4LXR5cGVlcnJvci1vbi1lcnJvci5wYXRjaApAQCAtMCwwICsxLDIwIEBACitPcmlnaW46IHI3OTcKK0Rlc2NyaXB0aW9uOiBzcmMvYmFja2VuZF9pcHRhYmxlcy5weTogZml4IG1pc3BsYWNlZCBwYXJlbnRoZXNpcworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgWyBub3QgYXV0aG9yIF0KKworU2lnbmVkLW9mZi1ieTogSm9lIE1hY0RvbmFsZCA8am9lX21hY2RvbmFsZEBtZW50b3IuY29tPgorCitJbmRleDogdWZ3LTAuMzMvc3JjL2JhY2tlbmRfaXB0YWJsZXMucHkKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB1ZnctMC4zMy5vcmlnL3NyYy9iYWNrZW5kX2lwdGFibGVzLnB5CTIwMTItMDktMjQgMDg6NTE6MTMuMDAwMDAwMDAwIC0wNTAwCisrKysgdWZ3LTAuMzMvc3JjL2JhY2tlbmRfaXB0YWJsZXMucHkJMjAxMi0wOS0yNCAwODo1MjowMC4wMDAwMDAwMDAgLTA1MDAKK0BAIC0xMDc1LDcgKzEwNzUsNyBAQAorICAgICAgICAgICAgIGV4ZSA9IHNlbGYuaXA2dGFibGVzCisgICAgICAgICAocmMsIG91dCkgPSBjbWQoW2V4ZV0gKyBhcmdzKQorICAgICAgICAgaWYgcmMgIT0gMDoKKy0gICAgICAgICAgICBlcnJfbXNnID0gXygiQ291bGQgbm90IHBlcmZvcm0gJyVzJyIpICUgKGFyZ3MpCisrICAgICAgICAgICAgZXJyX21zZyA9IF8oIkNvdWxkIG5vdCBwZXJmb3JtICclcyciICUgKGFyZ3MpKQorICAgICAgICAgICAgIGlmIGZhaWxfb2s6CisgICAgICAgICAgICAgICAgIGRlYnVnKCJGQUlMT0s6ICIgKyBlcnJfbXNnKQorICAgICAgICAgICAgIGVsc2U6CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS91ZncvdWZ3LzAwMDQtbHAxMDM5NzI5LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvdWZ3L3Vmdy8wMDA0LWxwMTAzOTcyOS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OTViMjY1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvdWZ3L3Vmdy8wMDA0LWxwMTAzOTcyOS5wYXRjaApAQCAtMCwwICsxLDQwIEBACitPcmlnaW46IHI4MDMsIHI4MDQKK0Rlc2NyaXB0aW9uOiBEb24ndCBjYWxsIGdldF9uZXRmaWx0ZXJfY2FwYWJpbGl0aWVzKCkgd2l0aCBpcHY2IGlmIGlwdjYgaXMKKyBkaXNhYmxlZC4KK0J1Zy1VYnVudHU6IGh0dHBzOi8vbGF1bmNocGFkLm5ldC91ZncvYnVncy8xMDM5NzI5CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbIG5vdCBhdXRob3IgXQorCitTaWduZWQtb2ZmLWJ5OiBKb2UgTWFjRG9uYWxkIDxqb2VfbWFjZG9uYWxkQG1lbnRvci5jb20+CisKK0luZGV4OiB1ZnctMC4zMy9zcmMvYmFja2VuZC5weQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHVmdy0wLjMzLm9yaWcvc3JjL2JhY2tlbmQucHkJMjAxMi0xMi0wNCAwOToyMTo1Ny4wMDAwMDAwMDAgLTA2MDAKKysrKyB1ZnctMC4zMy9zcmMvYmFja2VuZC5weQkyMDEyLTEyLTA0IDA5OjIyOjQwLjAwMDAwMDAwMCAtMDYwMAorQEAgLTk4LDE1ICs5OCwxNyBAQAorICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgIHNlbGYuY2Fwc1snbGltaXQnXVsnNCddID0gRmFsc2UKKyAKKy0gICAgICAgICAgICAjIHY2CistICAgICAgICAgICAgdHJ5OgorLSAgICAgICAgICAgICAgICBuZl9jYXBzID0gdWZ3LnV0aWwuZ2V0X25ldGZpbHRlcl9jYXBhYmlsaXRpZXMoc2VsZi5pcDZ0YWJsZXMpCistICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKKy0gICAgICAgICAgICAgICAgZXJyb3IoImluaXRjYXBzXG4lcyIgJSBlKQorLSAgICAgICAgICAgIGlmICdyZWNlbnQtc2V0JyBpbiBuZl9jYXBzIGFuZCAncmVjZW50LXVwZGF0ZScgaW4gbmZfY2FwczoKKy0gICAgICAgICAgICAgICAgc2VsZi5jYXBzWydsaW1pdCddWyc2J10gPSBUcnVlCistICAgICAgICAgICAgZWxzZToKKy0gICAgICAgICAgICAgICAgc2VsZi5jYXBzWydsaW1pdCddWyc2J10gPSBGYWxzZQorKyAgICAgICAgICAgICMgdjYgKHNraXAgY2FwYWJpbGl0aWVzIGNoZWNrIGZvciBpcHY2IGlmIGlwdjYgaXMgZGlzYWJsZWQgaW4gdWZ3CisrICAgICAgICAgICAgIyBiZWNhdXNlIHRoZSBzeXN0ZW0gbWF5IG5vdCBoYXZlIGlwdjYgc3VwcG9ydCAoTFA6ICMxMDM5NzI5KQorKyAgICAgICAgICAgIGlmIHNlbGYudXNlX2lwdjYoKToKKysgICAgICAgICAgICAgICAgdHJ5OgorKyAgICAgICAgICAgICAgICAgICAgbmZfY2FwcyA9IHVmdy51dGlsLmdldF9uZXRmaWx0ZXJfY2FwYWJpbGl0aWVzKHNlbGYuaXA2dGFibGVzKQorKyAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgorKyAgICAgICAgICAgICAgICAgICAgZXJyb3IoImluaXRjYXBzXG4lcyIgJSBlKQorKyAgICAgICAgICAgICAgICBpZiAncmVjZW50LXNldCcgaW4gbmZfY2FwcyBhbmQgJ3JlY2VudC11cGRhdGUnIGluIG5mX2NhcHM6CisrICAgICAgICAgICAgICAgICAgICBzZWxmLmNhcHNbJ2xpbWl0J11bJzYnXSA9IFRydWUKKysgICAgICAgICAgICAgICAgZWxzZToKKysgICAgICAgICAgICAgICAgICAgIHNlbGYuY2Fwc1snbGltaXQnXVsnNiddID0gRmFsc2UKKyAKKyAgICAgZGVmIGlzX2VuYWJsZWQoc2VsZik6CisgICAgICAgICAnJydJcyBmaXJld2FsbCBjb25maWd1cmVkIGFzIGVuYWJsZWQnJycKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Vmdy91ZncvMDAwNS1scDExOTExOTcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS91ZncvdWZ3LzAwMDUtbHAxMTkxMTk3LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3NjBkM2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS91ZncvdWZ3LzAwMDUtbHAxMTkxMTk3LnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK09yaWdpbjogcjgxNgorRGVzY3JpcHRpb246IGFkZCBjaGVjayBmb3IgLW0gcnQgLS1ydC10eXBlIDAKK0J1Zy1VYnVudHU6IGh0dHBzOi8vbGF1bmNocGFkLm5ldC9idWdzLzExOTExOTcKK0ZvcndhcmRlZDogeWVzCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbIG5vdCBhdXRob3IgXQorCitTaWduZWQtb2ZmLWJ5OiBKb2UgTWFjRG9uYWxkIDxqb2VfbWFjZG9uYWxkQG1lbnRvci5jb20+CisKK0luZGV4OiB1ZnctMC4zMy90ZXN0cy9jaGVjay1yZXF1aXJlbWVudHMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB1ZnctMC4zMy5vcmlnL3Rlc3RzL2NoZWNrLXJlcXVpcmVtZW50cwkyMDEyLTA4LTE3IDE2OjEyOjQ5LjAwMDAwMDAwMCAtMDUwMAorKysrIHVmdy0wLjMzL3Rlc3RzL2NoZWNrLXJlcXVpcmVtZW50cwkyMDEzLTA2LTE1IDA3OjQ3OjAwLjAwMDAwMDAwMCAtMDUwMAorQEAgLTMsNyArMyw3IEBACisgIyBjaGVjay1yZXF1aXJlbWVudHM6IHZlcmlmeSBhbGwgdGhlIHJlcXVpcmVkIGlwdGFibGVzIGZ1bmN0aW9uYWxpdHkgaXMKKyAjIGF2YWlsYWJsZQorICMKKy0jIENvcHlyaWdodCAyMDA4LTIwMTIgQ2Fub25pY2FsIEx0ZC4KKysjIENvcHlyaWdodCAyMDA4LTIwMTMgQ2Fub25pY2FsIEx0ZC4KKyAjCisgIyAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICMgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDMsCitAQCAtMjE4LDYgKzIxOCw5IEBACisgICAgICAgICAgICAgZWNobyAtbiAiaWNtcHY2IHdpdGggaGwgKCRqKTogIgorICAgICAgICAgICAgIHJ1bmNtZCAkZXhlIC1BICRjIC1wIGljbXB2NiAtLWljbXB2Ni10eXBlICRqIC1tIGhsIC0taGwtZXEgMjU1IC1qIEFDQ0VQVAorICAgICAgICAgZG9uZQorKworKyAgICAgICAgZWNobyAtbiAiaXB2NiBydDogIgorKyAgICAgICAgcnVuY21kICRleGUgLUEgJGMgLW0gcnQgLS1ydC10eXBlIDAgLWogQUNDRVBUCisgICAgIGZpCisgCisgICAgIGVjaG8gIiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Vmdy91Zncvc2V0dXAtYWRkLWFuLW9wdGlvbi10by1zcGVjaWZ5LWlwdGFibGVzLWxvY2F0aW9uLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvdWZ3L3Vmdy9zZXR1cC1hZGQtYW4tb3B0aW9uLXRvLXNwZWNpZnktaXB0YWJsZXMtbG9jYXRpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTExNzQyMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Vmdy91Zncvc2V0dXAtYWRkLWFuLW9wdGlvbi10by1zcGVjaWZ5LWlwdGFibGVzLWxvY2F0aW9uLnBhdGNoCkBAIC0wLDAgKzEsMTA3IEBACitGcm9tIGM1NGQzNmQwNTgyYTYwZmQyODFjZDkyODcwNzdjZWEyMDVmZDg0OWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb2UgTWFjRG9uYWxkIDxqb2VfbWFjZG9uYWxkQG1lbnRvci5jb20+CitEYXRlOiBUaHUsIDI3IE5vdiAyMDE0IDE1OjIwOjM0IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIHNldHVwOiBhZGQgYW4gb3B0aW9uIHRvIHNwZWNpZnkgaXB0YWJsZXMgbG9jYXRpb24KKworV2hlbiBjcm9zcy1jb21waWxpbmcgaXQgaXNuJ3QgY2VydGFpbiB0aGF0IHRoZSBsb2NhdGlvbiBvZiBpcHRhYmxlcyBvbiB0aGUKK3RhcmdldCB3aWxsIGJlIHRoZSBzYW1lIGFzIG9uIHRoZSBob3N0LiAgSXQgYWxzbyBkb2Vzbid0IG1ha2Ugc2Vuc2UgdGhlCit0ZXN0IHRoZSB2ZXJzaW9uIG9mIHRoZSBob3N0IGR1cmluZyBzZXR1cC4gIFdlIHByb3ZpZGUgYW4gb3B0aW9uIHRvCitzcGVjaWZ5IGFuIGFsdGVybmF0ZSBpcHRhYmxlcyBkaXJlY3RvcnkuICBUaGlzIGlzIGFzc3VtZWQgdG8gYmUgYQorY3Jvc3MtY29tcGlsZSBlbnZpcm9ubWVudCBhbmQgdGhlcmVmb3JlIG5vIGF0dGVtcHQgaXMgbWFkZSB0byB2ZXJpZnkgdGhlCit2ZXJzaW9uIG9mIGlwdGFibGVzIHRvIGJlIHVzZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBKb2UgTWFjRG9uYWxkIDxqb2VfbWFjZG9uYWxkQG1lbnRvci5jb20+CistLS0KKyBzZXR1cC5weSB8IDY5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMzkgaW5zZXJ0aW9ucygrKSwgMzAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCA2ZmIzNzUxLi5iMTNkMTFjIDEwMDY0NAorLS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAtMjI1LDQxICsyMjUsNTAgQEAgc2h1dGlsLmNvcHl0cmVlKCdzcmMnLCAnc3RhZ2luZycpCisgb3MudW5saW5rKG9zLnBhdGguam9pbignc3RhZ2luZycsICd1ZnctaW5pdCcpKQorIG9zLnVubGluayhvcy5wYXRoLmpvaW4oJ3N0YWdpbmcnLCAndWZ3LWluaXQtZnVuY3Rpb25zJykpCisgCisraXB0YWJsZXNfc2V0ID0gMAorIGlwdGFibGVzX2V4ZSA9ICcnCisgaXB0YWJsZXNfZGlyID0gJycKKyAKKy1mb3IgZSBpbiBbJ2lwdGFibGVzJ106CistICAgIGZvciBkaXIgaW4gWycvc2JpbicsICcvYmluJywgJy91c3Ivc2JpbicsICcvdXNyL2JpbicsICcvdXNyL2xvY2FsL3NiaW4nLCBcCistICAgICAgICAgICAgICAgICcvdXNyL2xvY2FsL2JpbiddOgorLSAgICAgICAgaWYgZSA9PSAiaXB0YWJsZXMiOgorLSAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihkaXIsIGUpKToKKy0gICAgICAgICAgICAgICAgaXB0YWJsZXNfZGlyID0gZGlyCistICAgICAgICAgICAgICAgIGlwdGFibGVzX2V4ZSA9IG9zLnBhdGguam9pbihpcHRhYmxlc19kaXIsICJpcHRhYmxlcyIpCistICAgICAgICAgICAgICAgIHByaW50KCJGb3VuZCAnJXMnIiAlIGlwdGFibGVzX2V4ZSkKKy0gICAgICAgICAgICBlbHNlOgorLSAgICAgICAgICAgICAgICBjb250aW51ZQorLQorLSAgICAgICAgaWYgaXB0YWJsZXNfZXhlICE9ICIiOgorLSAgICAgICAgICAgIGJyZWFrCistCistCistaWYgaXB0YWJsZXNfZXhlID09ICcnOgorLSAgICBwcmludCgiRVJST1I6IGNvdWxkIG5vdCBmaW5kIHJlcXVpcmVkIGJpbmFyeSAnaXB0YWJsZXMnIiwgZmlsZT1zeXMuc3RkZXJyKQorLSAgICBzeXMuZXhpdCgxKQorLQorLWZvciBlIGluIFsnaXA2dGFibGVzJywgJ2lwdGFibGVzLXJlc3RvcmUnLCAnaXA2dGFibGVzLXJlc3RvcmUnXToKKy0gICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihpcHRhYmxlc19kaXIsIGUpKToKKy0gICAgICAgIHByaW50KCJFUlJPUjogY291bGQgbm90IGZpbmQgcmVxdWlyZWQgYmluYXJ5ICclcyciICUgKGUpLCBmaWxlPXN5cy5zdGRlcnIpCisraWYgIi0taXB0YWJsZXMtZGlyIiBpbiBzeXMuYXJndjoKKysgICAgaXB0YWJsZXNfZGlyID0gc3lzLmFyZ3Zbc3lzLmFyZ3YuaW5kZXgoIi0taXB0YWJsZXMtZGlyIikgKyAxXQorKyAgICBpcHRhYmxlc19leGUgPSBvcy5wYXRoLmpvaW4oaXB0YWJsZXNfZGlyLCAiaXB0YWJsZXMiKQorKyAgICBpcHRhYmxlc19zZXQgPSAxCisrICAgIHByaW50KCJJTkZPOiBpcHRhYmxlcyBtYW51YWxseSBzZXQ6ICclcyciICUgKGlwdGFibGVzX2V4ZSkpCisrICAgIHN5cy5hcmd2LnJlbW92ZShpcHRhYmxlc19kaXIpCisrICAgIHN5cy5hcmd2LnJlbW92ZSgiLS1pcHRhYmxlcy1kaXIiKQorKworK2lmIG5vdCBpcHRhYmxlc19zZXQ6CisrICAgIGZvciBlIGluIFsnaXB0YWJsZXMnXToKKysgICAgICAgIGZvciBkaXIgaW4gWycvc2JpbicsICcvYmluJywgJy91c3Ivc2JpbicsICcvdXNyL2JpbicsICcvdXNyL2xvY2FsL3NiaW4nLCBcCisrICAgICAgICAgICAgICAgICAgICAnL3Vzci9sb2NhbC9iaW4nXToKKysgICAgICAgICAgICBpZiBlID09ICJpcHRhYmxlcyI6CisrICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihkaXIsIGUpKToKKysgICAgICAgICAgICAgICAgICAgIGlwdGFibGVzX2RpciA9IGRpcgorKyAgICAgICAgICAgICAgICAgICAgaXB0YWJsZXNfZXhlID0gb3MucGF0aC5qb2luKGlwdGFibGVzX2RpciwgImlwdGFibGVzIikKKysgICAgICAgICAgICAgICAgICAgIHByaW50KCJGb3VuZCAnJXMnIiAlIGlwdGFibGVzX2V4ZSkKKysgICAgICAgICAgICAgICAgZWxzZToKKysgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisrCisrICAgICAgICAgICAgaWYgaXB0YWJsZXNfZXhlICE9ICIiOgorKyAgICAgICAgICAgICAgICBicmVhaworKworKyAgICBpZiBpcHRhYmxlc19leGUgPT0gJyc6CisrICAgICAgICBwcmludCgiRVJST1I6IGNvdWxkIG5vdCBmaW5kIHJlcXVpcmVkIGJpbmFyeSAnaXB0YWJsZXMnIiwgZmlsZT1zeXMuc3RkZXJyKQorICAgICAgICAgc3lzLmV4aXQoMSkKKyAKKy0ocmMsIG91dCkgPSBjbWQoW2lwdGFibGVzX2V4ZSwgJy1WJ10pCistaWYgcmMgIT0gMDoKKy0gICAgcmFpc2UgT1NFcnJvcihlcnJuby5FTk9FTlQsICJDb3VsZCBub3QgZmluZCB2ZXJzaW9uIGZvciAnJXMnIiAlIFwKKy0gICAgICAgICAgICAgICAgICAoaXB0YWJsZXNfZXhlKSkKKy12ZXJzaW9uID0gcmUuc3ViKCdedicsICcnLCByZS5zcGxpdCgnXHMnLCBzdHIob3V0KSlbMV0pCistcHJpbnQoIkZvdW5kICclcycgdmVyc2lvbiAnJXMnIiAlIChpcHRhYmxlc19leGUsIHZlcnNpb24pKQorLWlmIHZlcnNpb24gPCAiMS40IjoKKy0gICAgcHJpbnQoIldBUk46IHZlcnNpb24gJyVzJyBoYXMgbGltaXRlZCBJUHY2IHN1cHBvcnQuIFNlZSBSRUFETUUgZm9yIGRldGFpbHMuIiAlICh2ZXJzaW9uKSwgZmlsZT1zeXMuc3RkZXJyKQorKyAgICBmb3IgZSBpbiBbJ2lwNnRhYmxlcycsICdpcHRhYmxlcy1yZXN0b3JlJywgJ2lwNnRhYmxlcy1yZXN0b3JlJ106CisrICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKGlwdGFibGVzX2RpciwgZSkpOgorKyAgICAgICAgICAgIHByaW50KCJFUlJPUjogY291bGQgbm90IGZpbmQgcmVxdWlyZWQgYmluYXJ5ICclcyciICUgKGUpLCBmaWxlPXN5cy5zdGRlcnIpCisrICAgICAgICAgICAgc3lzLmV4aXQoMSkKKysKKysgICAgKHJjLCBvdXQpID0gY21kKFtpcHRhYmxlc19leGUsICctViddKQorKyAgICBpZiByYyAhPSAwOgorKyAgICAgICAgcmFpc2UgT1NFcnJvcihlcnJuby5FTk9FTlQsICJDb3VsZCBub3QgZmluZCB2ZXJzaW9uIGZvciAnJXMnIiAlIFwKKysgICAgICAgICAgICAgICAgICAgICAgKGlwdGFibGVzX2V4ZSkpCisrICAgIHZlcnNpb24gPSByZS5zdWIoJ152JywgJycsIHJlLnNwbGl0KCdccycsIHN0cihvdXQpKVsxXSkKKysgICAgcHJpbnQoIkZvdW5kICclcycgdmVyc2lvbiAnJXMnIiAlIChpcHRhYmxlc19leGUsIHZlcnNpb24pKQorKyAgICBpZiB2ZXJzaW9uIDwgIjEuNCI6CisrICAgICAgICBwcmludCgiV0FSTjogdmVyc2lvbiAnJXMnIGhhcyBsaW1pdGVkIElQdjYgc3VwcG9ydC4gU2VlIFJFQURNRSBmb3IgZGV0YWlscy4iICUgKHZlcnNpb24pLCBmaWxlPXN5cy5zdGRlcnIpCisgCisgc2V0dXAgKG5hbWU9J3VmdycsCisgICAgICAgdmVyc2lvbj11ZndfdmVyc2lvbiwKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvdWZ3L3Vmdy9zZXR1cC1vbmx5LW1ha2Utb25lLXJlZmVyZW5jZS10by1lbnYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS91ZncvdWZ3L3NldHVwLW9ubHktbWFrZS1vbmUtcmVmZXJlbmNlLXRvLWVudi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZjcwNGI1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvdWZ3L3Vmdy9zZXR1cC1vbmx5LW1ha2Utb25lLXJlZmVyZW5jZS10by1lbnYucGF0Y2gKQEAgLTAsMCArMSw3NyBAQAorRnJvbSBiZTUzZWVhMDZhNTY1NWZkYzk4ZjQ3YTczYmU4Mjc3YjY1YmI0MmVkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSm9lIE1hY0RvbmFsZCA8am9lX21hY2RvbmFsZEBtZW50b3IuY29tPgorRGF0ZTogVHVlLCAxMSBOb3YgMjAxNCAyMTo0MToxNCAtMDUwMAorU3ViamVjdDogW1BBVENIXSBzZXR1cDogb25seSBtYWtlIG9uZSByZWZlcmVuY2UgdG8gZW52CisKK0lmIHN5cy5leGVjdXRhYmxlIGhhcHBlbnMgdG8gYmUgJy91c3IvYmluL2VudiBweXRob24nIG9yIHNvbWV0aGluZworc2ltaWxhciwgdGhlIHNldHVwIHNjcmlwdCB3aWxsIHJlc3VsdCBpbiAndWZ3JyBnZXR0aW5nIC91c3IvYmluL2VudgorcmVwZWF0ZWQgb24gdGhlIHRvcCBsaW5lLiAgVGhpcyBjYXVzZXMgYW4gZXJyb3IgYXQgcnVudGltZS4gIFBlcmZvcm0gYQorcXVpY2sgc2FuaXR5IGNoZWNrIG9uIHN5cy5leGVjdXRhYmxlIGJlZm9yZSBkb2luZyB0aGUgc3Vic3RpdHV0aW9uLgorCitXaGlsZSB3ZSdyZSBhdCBpdCwgY2hhbmdlIHRoZSBkZWZhdWx0IHZhbHVlIG9mICdleGUnIHRvIHRoZSBvbmUgd2UgZWl0aGVyCitkZXRlY3RlZCBvciBzcGVjaWZpZWQgb24gdGhlIGJ1aWxkIGxpbmUuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbIGVtYmVkZGVkIHNwZWNpZmljIF0KKworU2lnbmVkLW9mZi1ieTogSm9lIE1hY0RvbmFsZCA8am9lX21hY2RvbmFsZEBtZW50b3IuY29tPgorLS0tCisgc2V0dXAucHkgfCAzNCArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCBiMTNkMTFjLi43M2FjZGVmIDEwMDY0NAorLS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAtNjQsNyArNjQsNyBAQCBjbGFzcyBJbnN0YWxsKF9pbnN0YWxsLCBvYmplY3QpOgorICAgICAgICAgcmVhbF9zaGFyZWRpciA9IG9zLnBhdGguam9pbihyZWFsX3ByZWZpeCwgJ3NoYXJlJywgJ3VmdycpCisgCisgICAgICAgICAjIFVwZGF0ZSB0aGUgbW9kdWxlcycgcGF0aHMKKy0gICAgICAgIGZvciBmaWxlIGluIFsgJ2NvbW1vbi5weScgXToKKysgICAgICAgIGZvciBmaWxlIGluIFsgJ2NvbW1vbi5weScsICd1dGlsLnB5JyBdOgorICAgICAgICAgICAgIHByaW50KCJVcGRhdGluZyAiICsgZmlsZSkKKyAgICAgICAgICAgICBzdWJwcm9jZXNzLmNhbGwoWyJzZWQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1pIiwKK0BAIC05MSw2ICs5MSwxMSBAQCBjbGFzcyBJbnN0YWxsKF9pbnN0YWxsLCBvYmplY3QpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMlI1NIQVJFX0RJUiMlIiArIHJlYWxfc2hhcmVkaXIgKyAiJWciLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKCdzdGFnaW5nJywgZmlsZSldKQorIAorKyAgICAgICAgICAgIHN1YnByb2Nlc3MuY2FsbChbInNlZCIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLWkuamptIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzJS9zYmluL2lwdGFibGVzJSIgKyBpcHRhYmxlc19leGUgKyAiJWciLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKCdzdGFnaW5nJywgZmlsZSldKQorKworICAgICAgICAgIyBOb3cgYnl0ZS1jb21waWxlIGV2ZXJ5dGhpbmcKKyAgICAgICAgIHN1cGVyKEluc3RhbGwsIHNlbGYpLnJ1bigpCisgCitAQCAtMTA3LDEyICsxMTIsMjMgQEAgY2xhc3MgSW5zdGFsbChfaW5zdGFsbCwgb2JqZWN0KToKKyAgICAgICAgIGZvciBmIGluIFsgc2NyaXB0LCBtYW5wYWdlLCBtYW5wYWdlX2YgXToKKyAgICAgICAgICAgICBzZWxmLm1rcGF0aChvcy5wYXRoLmRpcm5hbWUoZikpCisgCisrICAgICAgICAjIGlmIHN5cy5leGVjdXRhYmxlID09IC91c3IvYmluL2VudiBweXRob24qIHRoZSByZXN1bHQgd2lsbCBiZSB0aGUgdG9wCisrICAgICAgICAjIG9mIHVmdyBnZXR0aW5nOgorKyAgICAgICAgIworKyAgICAgICAgIyAgIyEgL3Vzci9iaW4vZW52IC91c3IvYmluL2VudiBweXRob24KKysgICAgICAgICMKKysgICAgICAgICMgd2hpY2ggaXMgbm90IGlkZWFsCisrICAgICAgICAjCisgICAgICAgICAjIHVwZGF0ZSB0aGUgaW50ZXJwcmV0ZXIgdG8gdGhhdCBvZiB0aGUgb25lIHRoZSB1c2VyIHNwZWNpZmllZCBmb3Igc2V0dXAKKy0gICAgICAgIHByaW50KCJVcGRhdGluZyBzdGFnaW5nL3VmdyB0byB1c2UgJXMiICUgKHN5cy5leGVjdXRhYmxlKSkKKy0gICAgICAgIHN1YnByb2Nlc3MuY2FsbChbInNlZCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICItaSIsCistICAgICAgICAgICAgICAgICAgICAgICAgICIxcyVeIy4qcHl0aG9uLiolIyEgL3Vzci9iaW4vZW52ICIgKyBzeXMuZXhlY3V0YWJsZSArICIlZyIsCistICAgICAgICAgICAgICAgICAgICAgICAgICdzdGFnaW5nL3VmdyddKQorKyAgICAgICAgcHJpbnQoIlVwZGF0aW5nIHN0YWdpbmcvdWZ3IHRvIHVzZSAoJXMpIiAlIChzeXMuZXhlY3V0YWJsZSkpCisrCisrICAgICAgICBpZiByZS5zZWFyY2goIigvdXNyL2Jpbi9lbnYpIiwgc3lzLmV4ZWN1dGFibGUpOgorKyAgICAgICAgICAgIHByaW50KCJmb3VuZCAnZW52JyBpbiBzeXMuZXhlY3V0YWJsZSAoJXMpIiAlIChzeXMuZXhlY3V0YWJsZSkpCisrICAgICAgICAgICAgc3VicHJvY2Vzcy5jYWxsKFsic2VkIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItaS5qam0iLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjFzJV4jLipweXRob24uKiUjISAiICsgc3lzLmV4ZWN1dGFibGUgKyAiJWciLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0YWdpbmcvdWZ3J10pCisrCisgICAgICAgICBzZWxmLmNvcHlfZmlsZSgnc3RhZ2luZy91ZncnLCBzY3JpcHQpCisgICAgICAgICBzZWxmLmNvcHlfZmlsZSgnZG9jL3Vmdy44JywgbWFucGFnZSkKKyAgICAgICAgIHNlbGYuY29weV9maWxlKCdkb2MvdWZ3LWZyYW1ld29yay44JywgbWFucGFnZV9mKQorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS91ZncvdWZ3XzAuMzMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS91ZncvdWZ3XzAuMzMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTljZmU0NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Vmdy91ZndfMC4zMy5iYgpAQCAtMCwwICsxLDU2IEBACitTVU1NQVJZID0gIlVuY29tcGxpY2F0ZWQgRmlyZXdhbGwiCitERVNDUklQVElPTiA9ICJVRlcgc3RhbmRzIGZvciBVbmNvbXBsaWNhdGVkIEZpcmV3YWxsLCBhbmQgaXMgcHJvZ3JhbSBmb3IgXAorbWFuYWdpbmcgYSBuZXRmaWx0ZXIgZmlyZXdhbGwuIEl0IHByb3ZpZGVzIGEgY29tbWFuZCBsaW5lIGludGVyZmFjZSBhbmQgYWltcyBcCit0byBiZSB1bmNvbXBsaWNhdGVkIGFuZCBlYXN5IHRvIHVzZS4iCitIT01FUEFHRSA9ICJodHRwczovL2xhdW5jaHBhZC5uZXQvdWZ3IgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZjI3ZGVmZTFlOTZjMmUxZWNkNGUwYzliZTg5Njc5NDkiCisKK1NSQ19VUkkgPSAiIFwKKyAgICAgICAgICAgaHR0cHM6Ly9sYXVuY2hwYWQubmV0L3Vmdy8wLjMzLzAuMzMvK2Rvd25sb2FkL3Vmdy0wLjMzLnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9zZXR1cC1hZGQtYW4tb3B0aW9uLXRvLXNwZWNpZnktaXB0YWJsZXMtbG9jYXRpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc2V0dXAtb25seS1tYWtlLW9uZS1yZWZlcmVuY2UtdG8tZW52LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtb3B0aW1pemUtYm9vdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLWxwMTA0NDM2MS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAzLWZpeC10eXBlZXJyb3Itb24tZXJyb3IucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1scDEwMzk3MjkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNS1scDExOTExOTcucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjM3NDdiNDUzZDc2NzA5ZTVhOTlkYTIwOWZjMGJiNWY1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVmODVhODA4NGFkMzUzOWI1NDdiZWMwOTcyODY5NDgyMzMxODhjOTcxZjQ5ODg5MDMxNmRlYzE3MGJkZDFkYTgiCisKK2luaGVyaXQgc2V0dXB0b29scyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworUkRFUEVORFNfJHtQTn0gPSAiIFwKKyAgICAgICAgICAgICAgICAgIGlwdGFibGVzIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbiBcCisgICAgICAgICAgICAgICAgICBweXRob24tbW9kdWxlcyBcCisgICAgICAgICAgICAgICAgICIKKworUlJFQ09NTUVORFNfJHtQTn0gPSAiIFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtaXB2NiBcCisgICAgICAgICAgICAgICAgICAgICBrZXJuZWwtbW9kdWxlLW5mLWNvbm50cmFjay1pcHY2IFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtbmYtbG9nLWNvbW1vbiBcCisgICAgICAgICAgICAgICAgICAgICBrZXJuZWwtbW9kdWxlLW5mLWxvZy1pcHY0IFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtbmYtbG9nLWlwdjYgXAorICAgICAgICAgICAgICAgICAgICAga2VybmVsLW1vZHVsZS1uZi1hZGRydHlwZSBcCisgICAgICAgICAgICAgICAgICAgICBrZXJuZWwtbW9kdWxlLW5mLWxpbWl0IFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtbmYtbG9nIFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtbmYtcmVjZW50IFwKKyIKKworIyBDZXJ0YWluIGl0ZW1zIGFyZSBleHBsaWNpdGx5IHB1dCB1bmRlciAvbGliLCBub3QgYmFzZV9saWJkaXIgd2hlbiBpbnN0YWxsZWQuCisjCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAgICAgICAgICAgICAke3NiaW5kaXJ9LyogXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vdWZ3LyogXAorICAgICAgICAgICAgICAgIC9saWIvdWZ3LyogXAorICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vdWZ3LyogXAorICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vZGVmYXVsdC91ZncgXAorIgorCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAiaXB2NiIKKworRElTVFVUSUxTX0JVSUxEX0FSR1NfYXBwZW5kID0gIiAtLWlwdGFibGVzLWRpciAvdXNyL3NiaW4iCitESVNUVVRJTFNfSU5TVEFMTF9BUkdTX2FwcGVuZCA9ICIgLS1pcHRhYmxlcy1kaXIgL3Vzci9zYmluIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvdmxhbi92bGFuLTEuOS9uby1IT01FLWluY2x1ZGVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvdmxhbi92bGFuLTEuOS9uby1IT01FLWluY2x1ZGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3YWI3ZDkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS92bGFuL3ZsYW4tMS45L25vLUhPTUUtaW5jbHVkZXMucGF0Y2gKQEAgLTAsMCArMSwyMiBAQAorRnJvbTogRG1pdHJ5IEVyZW1pbi1Tb2xlbmlrb3YgPGRiYXJ5c2hrb3ZAZ21haWwuY29tPgorU3ViamVjdDogdmxhbjogZG8gbm90IGluY2x1ZGUgJHtIT01FfS9saW51eC9pbmNsdWRlIGRpcgorCit+L2xpbnV4L2luY2x1ZGUgZGlyIG1heSBleGlzdCBhbmQgc28gd2lsbCBiZSBhZGRlZCB0byBpbmNsdWRlIHBhdGgKK2luIGZyb250IG9mIHNhbml0aXplZCBrZXJuZWwgaGVhZGVycyBpbiBPRSBjaHJvb3QuIERyb3AgdGhpcyBpbmNsdWRlCitvcHRpb24uCisKK1Vwc3RyZWFtLVN0YXR1czogbm90LWFwcGxpY2FibGUKKworSW5kZXg6IHZsYW4vTWFrZUluY2x1ZGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB2bGFuLm9yaWcvTWFrZUluY2x1ZGUKKysrKyB2bGFuL01ha2VJbmNsdWRlCitAQCAtMTYsNyArMTYsNyBAQCBpZmVxICIke1BMQVRGT1JNfSIgIiIKKyBlbmRpZgorIAorICMjIFlvdSBtYXkgbmVlZCB0byBjaGFuZ2UgdGhpcyBsaW51eC9pbmNsdWRlIHBhcnQuCistQ0NGTEFHUyA9IC1nIC1EX0dOVV9TT1VSQ0UgLVdhbGwgLUkke0hPTUV9L2xpbnV4L2luY2x1ZGUKKytDQ0ZMQUdTID0gLWcgLURfR05VX1NPVVJDRSAtV2FsbAorIExETElCUyA9ICMgLWxtICMtbG5zbCAjIC1sc29ja2V0CisgCisgQVJNX1RDX0JJTiA9ICR7SE9NRX0vSW50cmluc3ljL2JpbgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvdmxhbi92bGFuXzEuOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3ZsYW4vdmxhbl8xLjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDljNDAwNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3ZsYW4vdmxhbl8xLjkuYmIKQEAgLTAsMCArMSwyOSBAQAorU1VNTUFSWSA9ICJWTEFOIHByb3ZpZGVzIHZjb25maWcgdXRpbGl0eSIKK1NFQ1RJT04gPSAibWlzYyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly92Y29uZmlnLmM7bWQ1PTI5M2VmNjljNGU4ODQzNGQzN2E1ZWU1NzdhNTI4OGNiIgorCitTUkNfVVJJID0gImh0dHA6Ly8ke0JQTn0uc291cmNlYXJjaGl2ZS5jb20vZG93bmxvYWRzLyR7UFZ9LTN1YnVudHU5LyR7QlBOfV8ke1BWfS5vcmlnLnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9uby1IT01FLWluY2x1ZGVzLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNWYwYzYwNjBiMzM5NTZmYjE2ZTExYTE1NDY3ZGQzOTQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2I4ZjBhMWJmMGQzNjQyNzY0ZTVmNjQ2ZTFmM2JiYzhiMWVlZWM0NzRhNzczOTJkOWFlYjQ4Njg4NDJiNGNjYSIKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfSIKKworRVhUUkFfT0VNQUtFID0gIi1lIE1BS0VGTEFHUz0iCisKKyMgY29tbWVudCBvdXQgTWFrZUluY2x1ZGUgaW4gTWFrZWZpbGUgd2hpY2ggc2V0cyBidWlsZCBlbnZpcm9ubWVudAorZG9fY29uZmlndXJlX2FwcGVuZCAoKSB7CisgICAgc2VkIC1pICdzL14gaW5jbHVkZS8jXmluY2x1ZGUvJyAke1N9L01ha2VmaWxlCit9CisKKyMgaWdub3JlIHN0cmlwIHRvIGF2b2lkIHlvY3RvIGVycm9ycyBpbiBzdHJpcHBpbmcKK2RvX2NvbXBpbGUgKCkgeworICAgIG9lX3J1bm1ha2UgUExBVEZPUk09QVJNICdTVFJJUD1lY2hvJyBhbGwKK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9LyR7YmFzZV9zYmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L3Zjb25maWcgJHtEfS8ke2Jhc2Vfc2JpbmRpcn0vCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS92cG5jL3ZwbmMvZGVmYXVsdC5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvdnBuYy92cG5jL2RlZmF1bHQuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OGIxNWVjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvdnBuYy92cG5jL2RlZmF1bHQuY29uZgpAQCAtMCwwICsxLDE5IEBACisjIENvbW1lbnQgb3V0IHRoZSBvcHRpb25zIHlvdSBuZWVkLgorIyBWZXJpZnkgeW91ciBjb25maWcgd2l0aCAidnBuYyAtLXByaW50LWNvbmZpZyIuCisjIFlvdSBtaWdodCBhbHNvIHRyeSAidnBuYyAtLWxvbmctaGVscCIgb3IgbG9vayBpbnRvIHRoZSBkb2N1bWVudGF0aW9uLgorCisjIE5lZWRlZCAoeW91IHdpbGwgYmUgcHJvbXB0ZWQgaWYgdGhpcyBpcyBtaXNzaW5nKToKKyNJUFNlYyBnYXRld2F5IDEwLjEuMi4zCisjSVBTZWMgSUQgWU9VUlBFRVJTSUQKKyNJUFNlYyBzZWNyZXQgWU9VUlBFRVJTU0VDUkVUCisjWGF1dGggdXNlcm5hbWUgWU9VUlVTRVJOQU1FCisjWGF1dGggcGFzc3dvcmQgWU9VUlBBU1NXT1JECisKKyMgT3B0aW9uYWw6CisjVURQIEVuY2Fwc3VsYXRlCisjVURQIEVuY2Fwc3VsYXRpb24gUG9ydCAxMDAwMAorI05vbmludGVyYWN0aXZlCisjTm8gRGV0YWNoCisjRGVidWcgOTkKKyNJbnRlcmZhY2UgbmFtZSB0dW4wCisjU2NyaXB0IC9ldGMvdnBuYy92cG5jLXNjcmlwdApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvdnBuYy92cG5jL2xvbmctaGVscCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3ZwbmMvdnBuYy9sb25nLWhlbHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmJlYzI1NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3ZwbmMvdnBuYy9sb25nLWhlbHAKQEAgLTAsMCArMSwxNjggQEAKK1VzYWdlOiB2cG5jIFstLXZlcnNpb25dIFstLXByaW50LWNvbmZpZ10gWy0taGVscF0gWy0tbG9uZy1oZWxwXSBbb3B0aW9uc10gW2NvbmZpZyBmaWxlc10KKworT3B0aW9uczoKKyAgLS1nYXRld2F5IDxpcC9ob3N0bmFtZT4KKyAgICAgIElQL25hbWUgb2YgeW91ciBJUFNlYyBnYXRld2F5CisgIGNvbmYtdmFyaWFibGU6IElQU2VjIGdhdGV3YXkgPGlwL2hvc3RuYW1lPgorCisgIC0taWQgPEFTQ0lJIHN0cmluZz4KKyAgICAgIHlvdXIgZ3JvdXAgbmFtZQorICBjb25mLXZhcmlhYmxlOiBJUFNlYyBJRCA8QVNDSUkgc3RyaW5nPgorCisgIChjb25maWdmaWxlIG9ubHkgb3B0aW9uKSAKKyAgICAgIHlvdXIgZ3JvdXAgcGFzc3dvcmQgKGNsZWFydGV4dCkKKyAgY29uZi12YXJpYWJsZTogSVBTZWMgc2VjcmV0IDxBU0NJSSBzdHJpbmc+CisKKyAgKGNvbmZpZ2ZpbGUgb25seSBvcHRpb24pIAorICAgICAgeW91ciBncm91cCBwYXNzd29yZCAob2JmdXNjYXRlZCkKKyAgY29uZi12YXJpYWJsZTogSVBTZWMgb2JmdXNjYXRlZCBzZWNyZXQgPGhleCBzdHJpbmc+CisKKyAgLS11c2VybmFtZSA8QVNDSUkgc3RyaW5nPgorICAgICAgeW91ciB1c2VybmFtZQorICBjb25mLXZhcmlhYmxlOiBYYXV0aCB1c2VybmFtZSA8QVNDSUkgc3RyaW5nPgorCisgIChjb25maWdmaWxlIG9ubHkgb3B0aW9uKSAKKyAgICAgIHlvdXIgcGFzc3dvcmQgKGNsZWFydGV4dCkKKyAgY29uZi12YXJpYWJsZTogWGF1dGggcGFzc3dvcmQgPEFTQ0lJIHN0cmluZz4KKworICAoY29uZmlnZmlsZSBvbmx5IG9wdGlvbikgCisgICAgICB5b3VyIHBhc3N3b3JkIChvYmZ1c2NhdGVkKQorICBjb25mLXZhcmlhYmxlOiBYYXV0aCBvYmZ1c2NhdGVkIHBhc3N3b3JkIDxoZXggc3RyaW5nPgorCisgIC0tZG9tYWluIDxBU0NJSSBzdHJpbmc+CisgICAgICAoTlQtKSBEb21haW4gbmFtZSBmb3IgYXV0aGVudGljYXRpb24KKyAgY29uZi12YXJpYWJsZTogRG9tYWluIDxBU0NJSSBzdHJpbmc+CisKKyAgLS14YXV0aC1pbnRlciAKKyAgICAgIGVuYWJsZSBpbnRlcmFjdGl2ZSBleHRlbmRlZCBhdXRoZW50aWNhdGlvbiAoZm9yIGNoYWxsZW5nZSByZXNwb25zZSBhdXRoKQorICBjb25mLXZhcmlhYmxlOiBYYXV0aCBpbnRlcmFjdGl2ZQorCisgIC0tdmVuZG9yIDxjaXNjby9uZXRzY3JlZW4+CisgICAgICB2ZW5kb3Igb2YgeW91ciBJUFNlYyBnYXRld2F5CisgICAgRGVmYXVsdDogY2lzY28KKyAgY29uZi12YXJpYWJsZTogVmVuZG9yIDxjaXNjby9uZXRzY3JlZW4+CisKKyAgLS1uYXR0LW1vZGUgPG5hdHQvbm9uZS9mb3JjZS1uYXR0L2Npc2NvLXVkcD4KKyAgICAgIFdoaWNoIE5BVC1UcmF2ZXJzYWwgTWV0aG9kIHRvIHVzZToKKyAgICAgICAqIG5hdHQgLS0gTkFULVQgYXMgZGVmaW5lZCBpbiBSRkMzOTQ3CisgICAgICAgKiBub25lIC0tIGRpc2FibGUgdXNlIG9mIGFueSBOQVQtVCBtZXRob2QKKyAgICAgICAqIGZvcmNlLW5hdHQgLS0gYWx3YXlzIHVzZSBOQVQtVCBlbmNhcHN1bGF0aW9uIGV2ZW4KKyAgICAgICAgICAgICAgICAgICAgICAgd2l0aG91dCBwcmVzZW5jZSBvZiBhIE5BVCBkZXZpY2UKKyAgICAgICAgICAgICAgICAgICAgICAgKHVzZWZ1bCBpZiB0aGUgT1MgY2FwdHVyZXMgYWxsIEVTUCB0cmFmZmljKQorICAgICAgICogY2lzY28tdWRwIC0tIENpc2NvIHByb3ByaWV0YXJ5IFVEUCBlbmNhcHN1bGF0aW9uLCBjb21tb25seSBvdmVyIFBvcnQgMTAwMDAKKyAgICAgIE5vdGU6IGNpc2NvLXRjcCBlbmNhcHN1bGF0aW9uIGlzIG5vdCB5ZXQgc3VwcG9ydGVkCisgICAgRGVmYXVsdDogbmF0dAorICBjb25mLXZhcmlhYmxlOiBOQVQgVHJhdmVyc2FsIE1vZGUgPG5hdHQvbm9uZS9mb3JjZS1uYXR0L2Npc2NvLXVkcD4KKworICAtLXNjcmlwdCA8Y29tbWFuZD4KKyAgICAgIGNvbW1hbmQgaXMgZXhlY3V0ZWQgdXNpbmcgc3lzdGVtKCkgdG8gY29uZmlndXJlIHRoZSBpbnRlcmZhY2UsCisgICAgICByb3V0aW5nIGFuZCBzbyBvbi4gRGV2aWNlIG5hbWUsIElQLCBldGMuIGFyZSBwYXNzZWQgdXNpbmcgZW52aXJvbWVudAorICAgICAgdmFyaWFibGVzLCBzZWUgUkVBRE1FLiBUaGlzIHNjcmlwdCBpcyBleGVjdXRlZCByaWdodCBhZnRlciBJU0FLTVAgaXMKKyAgICAgIGRvbmUsIGJ1dCBiZWZvcmUgdHVubmVsaW5nIGlzIGVuYWJsZWQuIEl0IGlzIGNhbGxlZCB3aGVuIHZwbmMKKyAgICAgIHRlcm1pbmF0ZXMsIHRvbworICAgIERlZmF1bHQ6IC9ldGMvdnBuYy92cG5jLXNjcmlwdAorICBjb25mLXZhcmlhYmxlOiBTY3JpcHQgPGNvbW1hbmQ+CisKKyAgLS1kaCA8ZGgxL2RoMi9kaDU+CisgICAgICBuYW1lIG9mIHRoZSBJS0UgREggR3JvdXAKKyAgICBEZWZhdWx0OiBkaDIKKyAgY29uZi12YXJpYWJsZTogSUtFIERIIEdyb3VwIDxkaDEvZGgyL2RoNT4KKworICAtLXBmcyA8bm9wZnMvZGgxL2RoMi9kaDUvc2VydmVyPgorICAgICAgRGlmZmllLUhlbGxtYW4gZ3JvdXAgdG8gdXNlIGZvciBQRlMKKyAgICBEZWZhdWx0OiBzZXJ2ZXIKKyAgY29uZi12YXJpYWJsZTogUGVyZmVjdCBGb3J3YXJkIFNlY3JlY3kgPG5vcGZzL2RoMS9kaDIvZGg1L3NlcnZlcj4KKworICAtLWVuYWJsZS0xZGVzIAorICAgICAgZW5hYmxlcyB3ZWFrIHNpbmdsZSBERVMgZW5jcnlwdGlvbgorICBjb25mLXZhcmlhYmxlOiBFbmFibGUgU2luZ2xlIERFUworCisgIC0tZW5hYmxlLW5vLWVuY3J5cHRpb24gCisgICAgICBlbmFibGVzIHVzaW5nIG5vIGVuY3J5cHRpb24gZm9yIGRhdGEgdHJhZmZpYyAoa2V5IGV4Y2hhbmdlZCBtdXN0IGJlIGVuY3J5cHRlZCkKKyAgY29uZi12YXJpYWJsZTogRW5hYmxlIG5vIGVuY3J5cHRpb24KKworICAtLWFwcGxpY2F0aW9uLXZlcnNpb24gPEFTQ0lJIHN0cmluZz4KKyAgICAgIEFwcGxpY2F0aW9uIFZlcnNpb24gdG8gcmVwb3J0LiBOb3RlOiBEZWZhdWx0IHN0cmluZyBpcyBnZW5lcmF0ZWQgYXQgcnVudGltZS4KKyAgICBEZWZhdWx0OiBDaXNjbyBTeXN0ZW1zIFZQTiBDbGllbnQgMC41LjMtMzk0OkxpbnV4CisgIGNvbmYtdmFyaWFibGU6IEFwcGxpY2F0aW9uIHZlcnNpb24gPEFTQ0lJIHN0cmluZz4KKworICAtLWlmbmFtZSA8QVNDSUkgc3RyaW5nPgorICAgICAgdmlzaWJsZSBuYW1lIG9mIHRoZSBUVU4vVEFQIGludGVyZmFjZQorICBjb25mLXZhcmlhYmxlOiBJbnRlcmZhY2UgbmFtZSA8QVNDSUkgc3RyaW5nPgorCisgIC0taWZtb2RlIDx0dW4vdGFwPgorICAgICAgbW9kZSBvZiBUVU4vVEFQIGludGVyZmFjZToKKyAgICAgICAqIHR1bjogdmlydHVhbCBwb2ludCB0byBwb2ludCBpbnRlcmZhY2UgKGRlZmF1bHQpCisgICAgICAgKiB0YXA6IHZpcnR1YWwgZXRoZXJuZXQgaW50ZXJmYWNlCisgICAgRGVmYXVsdDogdHVuCisgIGNvbmYtdmFyaWFibGU6IEludGVyZmFjZSBtb2RlIDx0dW4vdGFwPgorCisgIC0tZGVidWcgPDAvMS8yLzMvOTk+CisgICAgICBTaG93IHZlcmJvc2UgZGVidWcgbWVzc2FnZXMKKyAgICAgICAqICAwOiBEbyBub3QgcHJpbnQgZGVidWcgaW5mb3JtYXRpb24uCisgICAgICAgKiAgMTogUHJpbnQgbWluaW1hbCBkZWJ1ZyBpbmZvcm1hdGlvbi4KKyAgICAgICAqICAyOiBTaG93IHN0YXRlbWFjaGluZSBhbmQgcGFja2V0L3BheWxvYWQgdHlwZSBpbmZvcm1hdGlvbi4KKyAgICAgICAqICAzOiBEdW1wIGV2ZXJ5dGhpbmcgZXhsdWRpbmcgYXV0aGVudGljYXRpb24gZGF0YS4KKyAgICAgICAqIDk5OiBEdW1wIGV2ZXJ5dGhpbmcgSU5DTFVESU5HIEFVVEhFTlRJQ0FUSU9OIGRhdGEgKGUuZy4gUEFTU1dPUkRTKS4KKyAgY29uZi12YXJpYWJsZTogRGVidWcgPDAvMS8yLzMvOTk+CisKKyAgLS1uby1kZXRhY2ggCisgICAgICBEb24ndCBkZXRhY2ggZnJvbSB0aGUgY29uc29sZSBhZnRlciBsb2dpbgorICBjb25mLXZhcmlhYmxlOiBObyBEZXRhY2gKKworICAtLXBpZC1maWxlIDxmaWxlbmFtZT4KKyAgICAgIHN0b3JlIHRoZSBwaWQgb2YgYmFja2dyb3VuZCBwcm9jZXNzIGluIDxmaWxlbmFtZT4KKyAgICBEZWZhdWx0OiAvdmFyL3J1bi92cG5jL3BpZAorICBjb25mLXZhcmlhYmxlOiBQaWRmaWxlIDxmaWxlbmFtZT4KKworICAtLWxvY2FsLWFkZHIgPGlwL2hvc3RuYW1lPgorICAgICAgbG9jYWwgSVAgdG8gdXNlIGZvciBJU0FLTVAgLyBFU1AgLyAuLi4gKDAuMC4wLjAgPT0gYXV0b21hdGljYWxseSBhc3NpZ24pCisgICAgRGVmYXVsdDogMC4wLjAuMAorICBjb25mLXZhcmlhYmxlOiBMb2NhbCBBZGRyIDxpcC9ob3N0bmFtZT4KKworICAtLWxvY2FsLXBvcnQgPDAtNjU1MzU+CisgICAgICBsb2NhbCBJU0FLTVAgcG9ydCBudW1iZXIgdG8gdXNlICgwID09IHVzZSByYW5kb20gcG9ydCkKKyAgICBEZWZhdWx0OiA1MDAKKyAgY29uZi12YXJpYWJsZTogTG9jYWwgUG9ydCA8MC02NTUzNT4KKworICAtLXVkcC1wb3J0IDwwLTY1NTM1PgorICAgICAgTG9jYWwgVURQIHBvcnQgbnVtYmVyIHRvIHVzZSAoMCA9PSB1c2UgcmFuZG9tIHBvcnQpLgorICAgICAgVGhpcyBpcyBvbmx5IHJlbGV2YW50IGlmIGNpc2NvLXVkcCBuYXQtdHJhdmVyc2FsIGlzIHVzZWQuCisgICAgICBUaGlzIGlzIHRoZSBfbG9jYWxfIHBvcnQsIHRoZSByZW1vdGUgdWRwIHBvcnQgaXMgZGlzY292ZXJlZCBhdXRvbWF0aWNhbGx5LgorICAgICAgSXQgaXMgZXNwZWNpYWxseSBub3QgdGhlIGNpc2NvLXRjcCBwb3J0LgorICAgIERlZmF1bHQ6IDEwMDAwCisgIGNvbmYtdmFyaWFibGU6IENpc2NvIFVEUCBFbmNhcHN1bGF0aW9uIFBvcnQgPDAtNjU1MzU+CisKKyAgLS1kcGQtaWRsZSA8MCwxMC04NjQwMD4KKyAgICAgIFNlbmQgRFBEIHBhY2tldCBhZnRlciBub3QgcmVjZWl2aW5nIGFueXRoaW5nIGZvciA8aWRsZT4gc2Vjb25kcy4KKyAgICAgIFVzZSAwIHRvIGRpc2FibGUgRFBEIGNvbXBsZXRlbHkgKGJvdGggd2F5cykuCisgICAgRGVmYXVsdDogMzAwCisgIGNvbmYtdmFyaWFibGU6IERQRCBpZGxlIHRpbWVvdXQgKG91ciBzaWRlKSA8MCwxMC04NjQwMD4KKworICAtLW5vbi1pbnRlciAKKyAgICAgIERvbid0IGFzayBhbnl0aGluZywgZXhpdCBvbiBtaXNzaW5nIG9wdGlvbnMKKyAgY29uZi12YXJpYWJsZTogTm9uaW50ZXJhY3RpdmUKKworICAtLWF1dGgtbW9kZSA8cHNrL2NlcnQvaHlicmlkPgorICAgICAgQXV0aGVudGljYXRpb24gbW9kZToKKyAgICAgICAqIHBzazogICAgcHJlLXNoYXJlZCBrZXkgKGRlZmF1bHQpCisgICAgICAgKiBjZXJ0OiAgIHNlcnZlciArIGNsaWVudCBjZXJ0aWZpY2F0ZSAobm90IGltcGxlbWVudGVkIHlldCkKKyAgICAgICAqIGh5YnJpZDogc2VydmVyIGNlcnRpZmljYXRlICsgeGF1dGggKGlmIGJ1aWx0IHdpdGggb3BlbnNzbCBzdXBwb3J0KQorICAgIERlZmF1bHQ6IHBzaworICBjb25mLXZhcmlhYmxlOiBJS0UgQXV0aG1vZGUgPHBzay9jZXJ0L2h5YnJpZD4KKworICAtLWNhLWZpbGUgPGZpbGVuYW1lPgorICAgICAgZmlsZW5hbWUgYW5kIHBhdGggdG8gdGhlIENBLVBFTS1GaWxlCisgIGNvbmYtdmFyaWFibGU6IENBLUZpbGUgPGZpbGVuYW1lPgorCisgIC0tY2EtZGlyIDxkaXJlY3Rvcnk+CisgICAgICBwYXRoIG9mIHRoZSB0cnVzdGVkIENBLURpcmVjdG9yeQorICAgIERlZmF1bHQ6IC9ldGMvc3NsL2NlcnRzCisgIGNvbmYtdmFyaWFibGU6IENBLURpciA8ZGlyZWN0b3J5PgorCisgIC0tdGFyZ2V0LW5ldHdvcmsgPHRhcmdldCBuZXR3b3JrL25ldG1hc2s+CisgICAgICBUYXJnZXQgbmV0d29yayBpbiBkb3R0ZWQgZGVjaW1hbCBvciBDSURSIG5vdGF0aW9uCisgICAgRGVmYXVsdDogMC4wLjAuMC8wLjAuMC4wCisgIGNvbmYtdmFyaWFibGU6IElQU0VDIHRhcmdldCBuZXR3b3JrIDx0YXJnZXQgbmV0d29yay9uZXRtYXNrPgorCitSZXBvcnQgYnVncyB0byB2cG5jQHVuaXgtYWcudW5pLWtsLmRlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS92cG5jL3ZwbmMvbWFrZW1hbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3ZwbmMvdnBuYy9tYWtlbWFuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzOTRlNmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS92cG5jL3ZwbmMvbWFrZW1hbi5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gdnBuYy0wLjUuMS9tYWtlbWFuLnBsLm9sZAkyMDA4LTAzLTE2IDAyOjE3OjU5LjAwMDAwMDAwMCAtMDUwMAorKysrIHZwbmMtMC41LjEvbWFrZW1hbi5wbAkyMDA4LTAzLTE2IDAyOjI5OjM0LjAwMDAwMDAwMCAtMDUwMAorQEAgLTI5LDcgKzI5LDcgQEAgbXkgJHZwbmMgPSAnLi92cG5jJzsKKyAjIGluZGVudGluZyBsaXN0cyAodGhvc2Ugb3JpZ2luYWxseSBzdGFydGluZyB3aXRoIGFuIGFzdGVyaXNrKS4gSSBob3BlCisgIyB0aGlzIHBheXMgb2ZmIHdoZW4gY29udmVydGluZyB0aGUgbWFucGFnZSB0byBIVE1MIG9yIHN1Y2guCisgCistb3BlbiBteSAkTE9OR0hFTFAsICctfCcsICIkdnBuYyAtLWxvbmctaGVscCI7Cisrb3BlbiBteSAkTE9OR0hFTFAsICctfCcsICJjYXQgLi4vbG9uZy1oZWxwIjsKKyBteSAkdnBuY19vcHRpb25zICAgID0gJyc7CisgbXkgJHJlbGF0aXZlX2luZGVudCA9IDA7CisgbXkgJGluZGVudF9uZWVkZWQgICA9IDA7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS92cG5jL3ZwbmMvdnBuYy1pbnN0YWxsLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvdnBuYy92cG5jL3ZwbmMtaW5zdGFsbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZGU2NWVjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvdnBuYy92cG5jL3ZwbmMtaW5zdGFsbC5wYXRjaApAQCAtMCwwICsxLDM1IEBACistLS0gYS9NYWtlZmlsZX4JMjAwOS0wMS0yMCAxODo0NDozMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBiL01ha2VmaWxlCTIwMDktMDEtMjAgMTg6NDQ6MzAuMDAwMDAwMDAwICswMTAwCitAQCAtMTE5LDIxICsxMTksMjEgQEAKKyAJZWxzZSBcCisgCQlpbnN0YWxsIHZwbmMtc2NyaXB0ICQoREVTVERJUikkKEVUQ0RJUik7IFwKKyAJZmkKKy0JaW5zdGFsbCAtbTYwMCB2cG5jLmNvbmYgJChERVNURElSKSQoRVRDRElSKS9kZWZhdWx0LmNvbmYKKy0JaW5zdGFsbCAtbTc1NSB2cG5jLWRpc2Nvbm5lY3QgJChERVNURElSKSQoU0JJTkRJUikKKy0JaW5zdGFsbCAtbTc1NSBwY2YydnBuYyAkKERFU1RESVIpJChCSU5ESVIpCistCWluc3RhbGwgLW02NDQgdnBuYy44ICQoREVTVERJUikkKE1BTkRJUikvbWFuOAorLQlpbnN0YWxsIC1tNjQ0IHBjZjJ2cG5jLjEgJChERVNURElSKSQoTUFORElSKS9tYW4xCistCWluc3RhbGwgLW02NDQgY2lzY28tZGVjcnlwdC4xICQoREVTVERJUikkKE1BTkRJUikvbWFuMQorLQlpbnN0YWxsIC1tNjQ0IENPUFlJTkcgJChERVNURElSKSQoRE9DRElSKQorKwlpbnN0YWxsIC1tIDYwMCB2cG5jLmNvbmYgJChERVNURElSKSQoRVRDRElSKS9kZWZhdWx0LmNvbmYKKysJaW5zdGFsbCAtbSA3NTUgdnBuYy1kaXNjb25uZWN0ICQoREVTVERJUikkKFNCSU5ESVIpCisrCWluc3RhbGwgLW0gNzU1IHBjZjJ2cG5jICQoREVTVERJUikkKEJJTkRJUikKKysJaW5zdGFsbCAtbSA2NDQgdnBuYy44ICQoREVTVERJUikkKE1BTkRJUikvbWFuOAorKwlpbnN0YWxsIC1tIDY0NCBwY2YydnBuYy4xICQoREVTVERJUikkKE1BTkRJUikvbWFuMQorKwlpbnN0YWxsIC1tIDY0NCBjaXNjby1kZWNyeXB0LjEgJChERVNURElSKSQoTUFORElSKS9tYW4xCisrCWluc3RhbGwgLW0gNjQ0IENPUFlJTkcgJChERVNURElSKSQoRE9DRElSKQorIAorIGluc3RhbGwgOiBpbnN0YWxsLWNvbW1vbgorLQlpbnN0YWxsIC1tNzU1IHZwbmMgJChERVNURElSKSQoU0JJTkRJUikKKy0JaW5zdGFsbCAtbTc1NSBjaXNjby1kZWNyeXB0ICQoREVTVERJUikkKEJJTkRJUikKKysJaW5zdGFsbCAtbSA3NTUgdnBuYyAkKERFU1RESVIpJChTQklORElSKQorKwlpbnN0YWxsIC1tIDc1NSBjaXNjby1kZWNyeXB0ICQoREVTVERJUikkKEJJTkRJUikKKyAKKyBpbnN0YWxsLXN0cmlwIDogaW5zdGFsbC1jb21tb24KKy0JaW5zdGFsbCAtcyAtbTc1NSB2cG5jICQoREVTVERJUikkKFNCSU5ESVIpCistCWluc3RhbGwgLXMgLW03NTUgY2lzY28tZGVjcnlwdCAkKERFU1RESVIpJChCSU5ESVIpCisrCWluc3RhbGwgLXMgLW0gNzU1IHZwbmMgJChERVNURElSKSQoU0JJTkRJUikKKysJaW5zdGFsbCAtcyAtbSA3NTUgY2lzY28tZGVjcnlwdCAkKERFU1RESVIpJChCSU5ESVIpCisgCisgdW5pbnN0YWxsIDoKKyAJcm0gLWYgJChERVNURElSKSQoU0JJTkRJUikvdnBuYyBcCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS92cG5jL3ZwbmNfMC41LjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS92cG5jL3ZwbmNfMC41LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2NiNDQ5NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3ZwbmMvdnBuY18wLjUuMy5iYgpAQCAtMCwwICsxLDQ1IEBACitTVU1NQVJZID0gIkEgY2xpZW50IGZvciB0aGUgQ2lzY28zMDAwIFZQTiBDb25jZW50cmF0b3IiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnVuaXgtYWcudW5pLWtsLmRlL35tYXNzYXIvdnBuYy8iCitBVVRIT1IgPSAiTWF1cmljZSBNYXNzYXIgdnBuY0B1bml4LWFnLnVuaS1rbC5kZSIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJHUEwtMi4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTE3M2I3NGNiOGFjNjQwYTk5OTJjMDNmM2JjZTIyYTMzIgorREVQRU5EUyA9ICJsaWJnY3J5cHQiCisKK2luaGVyaXQgcGVybG5hdGl2ZQorCitFWFRSQV9PRU1BS0UgPSAiLWUgTUFLRUZMQUdTPSIKK0NGTEFHU19hcHBlbmQgPSAnIC1EVkVSU0lPTj1cXCIke1BWfVxcIicKK0xERkxBR1NfYXBwZW5kID0gIiAtbGdjcnlwdCAtbGdwZy1lcnJvciIKKworZG9fY29uZmlndXJlX2FwcGVuZCAoKSB7CisgICAgIyBNYWtlIHN1cmUgd2UgdXNlIG91ciBuYXRpdmVwZXJsIHdyYXBwZXIKKyAgICBzZWQgLWkgIjFzOiMhLio6IyEvdXNyL2Jpbi9lbnYgbmF0aXZlcGVybDoiICR7U30vKi5wbAorfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBzZWQgLWkgczptNjAwOm1cIDYwMDpnIE1ha2VmaWxlICAgIAorICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgJ1BSRUZJWD0vdXNyJyBpbnN0YWxsCisgICAgcm0gLWYgJHtEfSR7c3lzY29uZmRpcn0vdnBuYy92cG5jLmNvbmYgI1RoaXMgZmlsZSBpcyB1c2VsZXNzCisgICAgaW5zdGFsbCAke1dPUktESVJ9L2RlZmF1bHQuY29uZiAke0R9JHtzeXNjb25mZGlyfS92cG5jL2RlZmF1bHQuY29uZgorfQorCitTWVNST09UX1BSRVBST0NFU1NfRlVOQ1MgKz0gInZwbmNfc3lzcm9vdF9wcmVwcm9jZXNzIgorCit2cG5jX3N5c3Jvb3RfcHJlcHJvY2VzcyAoKSB7CisgICAgaW5zdGFsbCAtZCAke1NZU1JPT1RfREVTVERJUn0ke3N5c2NvbmZkaXJ9L3ZwbmMKKyAgICBpbnN0YWxsIC1tIDc1NSAke0R9JHtzeXNjb25mZGlyfS92cG5jL3ZwbmMtc2NyaXB0ICR7U1lTUk9PVF9ERVNURElSfSR7c3lzY29uZmRpcn0vdnBuYworfQorCitDT05GRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfS92cG5jL2RlZmF1bHQuY29uZiIKK1JERVBFTkRTXyR7UE59ID0gInBlcmwtbW9kdWxlLWlvLWZpbGUiCitSUkVDT01NRU5EU18ke1BOfSA9ICJrZXJuZWwtbW9kdWxlLXR1biIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LnVuaXgtYWcudW5pLWtsLmRlL35tYXNzYXIvdnBuYy92cG5jLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9tYWtlbWFuLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3ZwbmMtaW5zdGFsbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9sb25nLWhlbHAgXAorICAgICAgICAgICBmaWxlOi8vZGVmYXVsdC5jb25mIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDM3OGY5NTUxZDViMDc3ZTE3NzBiYmUwOTk5NWFmYjMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDZjZWEzYmQwMmYyMDdjNjJjN2M2ZjJmMjIxMzMzODI2MDJiYWVkYTFkYzMyMDc0NzgwOWU5NDg4MTQxNDg4NCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dvbGZzc2wvd29sZnNzbF8zLjkuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dvbGZzc2wvd29sZnNzbF8zLjkuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMDg2Y2VmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvd29sZnNzbC93b2xmc3NsXzMuOS4wLmJiCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAid29sZlNTTCBMaWdodHdlaWdodCwgRW1iZWRkZWQgU1NMIExpYnJhcnkiCitERVNDUklQVElPTiA9ICJ3b2xmU1NMLCBmb3JtZXJseSBDeWFTU0wsIGlzIGEgbGlnaHR3ZWlnaHQgU1NMIGxpYnJhcnkgd3JpdHRlbiBpbiBDIGFuZCBcCisgICAgICAgICAgICAgICBvcHRpbWl6ZWQgZm9yIGVtYmVkZGVkIGFuZCBSVE9TIGVudmlyb25tZW50cy4gSXQgY2FuIGJlIFwKKyAgICAgICAgICAgICAgIFVwIHRvIDIwIHRpbWVzIHNtYWxsZXIgdGhhbiBPcGVuU1NMIHdoaWxlIHN0aWxsIHN1cHBvcnRpbmcgXAorICAgICAgICAgICAgICAgYSBmdWxsIFRMUyAxLjIgY2xpZW50IGFuZCBzZXJ2ZXIuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy53b2xmc3NsLmNvbS95YVNTTC9Qcm9kdWN0cy13b2xmc3NsLmh0bWwiCitCVUdUUkFDS0VSID0gImh0dHA6Ly9naXRodWIuY29tL3dvbGZzc2wvd29sZnNzbC9pc3N1ZXMiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK1BST1ZJREVTICs9ICJjeWFzc2wiCitSUFJPVklERVNfJHtQTn0gPSAiY3lhc3NsIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cud29sZnNzbC5jb20vJHtCUH0uemlwIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjMzOTY3MjZhOWJlZmQ2MTQ0M2MyY2NlMjE2ZTM5YmEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOThmNTAyNDRmN2I0M2Y4NjgzYmQwY2Y1YzU5OTg0OWQzMzBlNzVlNmNmMDc3ZTk2ZjE0ZTgzYmRhOGIwM2NhMyIKKworaW5oZXJpdCBhdXRvdG9vbHMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F0ZnRwL2F0ZnRwL2F0ZnRwZC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F0ZnRwL2F0ZnRwL2F0ZnRwZC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4MGJjNzAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXRmdHAvYXRmdHAvYXRmdHBkLnNlcnZpY2UKQEAgLTAsMCArMSwxMCBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1BZHZhbmNlZCBURlRQIFNlcnZlcgorQWZ0ZXI9c3lzbG9nLnRhcmdldCBuZXR3b3JrLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworRXhlY1N0YXJ0PS91c3Ivc2Jpbi9hdGZ0cGQgLS1kYWVtb24gLS1wb3J0IDY5CisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdGZ0cC9hdGZ0cF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXRmdHAvYXRmdHBfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlY2U1OGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXRmdHAvYXRmdHBfZ2l0LmJiCkBAIC0wLDAgKzEsNjMgQEAKK1NVTU1BUlkgPSAiQWR2YW5jZWQgVEZUUCBzZXJ2ZXIgYW5kIGNsaWVudCIKK1NFQ1RJT04gPSAibmV0IgorSE9NRVBBR0UgPSAiaHR0cDovL3BhY2thZ2VzLmRlYmlhbi5vcmcvYXRmdHAiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCitQViA9ICIwLjcuMStnaXQke1NSQ1BWfSIKK1BSID0gInIzIgorCitTUkNSRVYgPSAiYmUzMjkxYTE4YzA2OWFlMjNhMTI0ZmZkYzU2ZDY0YTVmZjBiYmVjNyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQuY29kZS5zZi5uZXQvcC9hdGZ0cC9jb2RlIFwKKyAgICAgICAgICAgZmlsZTovL2F0ZnRwZC0wLjdfY2lyY3VtdmVudF90ZnRwX3NpemVfcmVzdHJpY3Rpb25zLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2F0ZnRwZC0wLjdfdW5wcm90ZWN0ZWRfYXNzaWdubWVudHNfY3Jhc2gucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYXRmdHBkLmluaXQgXAorICAgICAgICAgICBmaWxlOi8vYXRmdHBkLnNlcnZpY2UgXCAgIAorICAgICAgICAgICBmaWxlOi8vYXRmdHAtMC43LXNvcmNlcmVyc19hcHByZW50aWNlLnBhdGNoIFwKKyIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHVwZGF0ZS1yYy5kIHVzZXJhZGQgc3lzdGVtZAorCitQQUNLQUdFQ09ORklHID8/PSAidGNwLXdyYXBwZXJzIgorUEFDS0FHRUNPTkZJR1twY3JlXSA9ICItLWVuYWJsZS1saWJwY3JlLC0tZGlzYWJsZS1saWJwY3JlLGxpYnBjcmUiCitQQUNLQUdFQ09ORklHW3RjcC13cmFwcGVyc10gPSAiLS1lbmFibGUtbGlid3JhcCwtLWRpc2FibGUtbGlid3JhcCx0Y3Atd3JhcHBlcnMiCitQQUNLQUdFQ09ORklHW3JlYWRsaW5lXSA9ICItLWVuYWJsZS1saWJyZWFkbGluZSwtLWRpc2FibGUtbGlicmVhZGxpbmUscmVhZGxpbmUiCisKK0lOSVRTQ1JJUFRfUEFDS0FHRVMgPSAiJHtQTn1kIgorSU5JVFNDUklQVF9OQU1FXyR7UE59ZCA9ICJhdGZ0cGQiCitJTklUU0NSSVBUX1BBUkFNU18ke1BOfWQgPSAiZGVmYXVsdHMgODAiCisKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn1kIgorVVNFUkFERF9QQVJBTV8ke1BOfWQgPSAiLS1zeXN0ZW0gLS1uby1jcmVhdGUtaG9tZSAtLXNoZWxsIC9iaW4vZmFsc2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgLS11c2VyLWdyb3VwIG5vYm9keSIKKworRVhUUkFfT0VNQUtFID0gIkNGTEFHUz0nJHtDRkxBR1N9IC1zdGQ9Z251ODknIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2F0ZnRwZC5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9hdGZ0cGQKKworICAgIGluc3RhbGwgLWQgJHtEfS9zcnYvdGZ0cAorCisgICAgcm0gJHtEfSR7c2JpbmRpcn0vaW4udGZ0cGQKKyAgICAKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vYXRmdHBkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KK30KKworUEFDS0FHRVMgPSsgIiR7UE59ZCIKKworRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9LyoiCisKK0ZJTEVTXyR7UE59ZCA9ICIke3NiaW5kaXJ9LyogXAorICAgICR7c3lzY29uZmRpcn0gXAorICAgIC9zcnYvdGZ0cCBcCisgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9hdGZ0cGQuc2VydmljZSBcCisiCisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn1kIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ZCA9ICJhdGZ0cGQuc2VydmljZSIKK1JQUk9WSURFU18ke1BOfWQgKz0gIiR7UE59ZC1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ZCArPSAiJHtQTn1kLXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ZCArPSAiJHtQTn1kLXN5c3RlbWQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXRmdHAvZmlsZXMvYXRmdHAtMC43LXNvcmNlcmVyc19hcHByZW50aWNlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F0ZnRwL2ZpbGVzL2F0ZnRwLTAuNy1zb3JjZXJlcnNfYXBwcmVudGljZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYzY0MjkxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F0ZnRwL2ZpbGVzL2F0ZnRwLTAuNy1zb3JjZXJlcnNfYXBwcmVudGljZS5wYXRjaApAQCAtMCwwICsxLDk0IEBACithdGZ0cCBleGhpYml0cyB0aGUgd2VsbCBrbm93biAiU29yY2VyZXIncyBBcHByZW50aWNlIFN5bmRyb21lIihTQVMpIHByb2JsZW0uCitBY2NvcmRpbmcgdG8gUkZDIDEzNTAsIHRoZSBmaXggdG8gU0FTIGlzIHF1aXRlIHNpbXBsZTogZnVydGhlciBjb3BpZXMgb2YgdGhlCithY2tub3dsZWRnbWVudCBmb3IgYSBwYXJ0aWN1bGFyIGRhdGEgYmxvY2sgd291bGQgYmUgaWdub3JlZC4KKworUGF0Y2ggb3JpZ2luYWxseSBmcm9tIE9wZW5TVVNFOgoraHR0cHM6Ly9idWlsZC5vcGVuc3VzZS5vcmcvcGFja2FnZS92aWV3X2ZpbGU/ZmlsZT1hdGZ0cC0wLjctc29yY2VyZXJzX2FwcHJlbnRpY2UucGF0Y2gmcGFja2FnZT1hdGZ0cC41MzkmcHJvamVjdD1vcGVuU1VTRSUzQTEyLjElM0FVcGRhdGUmcmV2PTg0NTY5NzkyOTc1ZTAwNTczZDdkZjU5N2QyYTZlODk1CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBSb3kuTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitJbmRleDogYXRmdHAtMC43L3RmdHBfZmlsZS5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYXRmdHAtMC43Lm9yaWcvdGZ0cF9maWxlLmMJMjAxMS0xMS0yMiAxNToxMjo1My43OTI3NDQwODMgKzAxMDAKKysrKyBhdGZ0cC0wLjcvdGZ0cF9maWxlLmMJMjAxMS0xMS0yMiAxNToxMzo1MS43MDY0MjE4OTMgKzAxMDAKK0BAIC02MDUsNiArNjA1LDcgQEAKKyAgICAgIGludCB0aW1lb3V0X3N0YXRlID0gc3RhdGU7IC8qIHdoYXQgc3RhdGUgc2hvdWxkIHdlIGdvIG9uIHdoZW4gdGltZW91dCAqLworICAgICAgaW50IHJlc3VsdDsKKyAgICAgIGxvbmcgYmxvY2tfbnVtYmVyID0gMDsKKysgICAgIGxvbmcgbGFzdF9yZXF1ZXN0ZWRfYmxvY2sgPSAtMTsKKyAgICAgIGxvbmcgbGFzdF9ibG9jayA9IC0xOworICAgICAgaW50IGRhdGFfc2l6ZTsgICAgICAgICAgICAgLyogc2l6ZSBvZiBkYXRhIHJlY2VpdmVkICovCisgICAgICBpbnQgc29ja2ZkID0gZGF0YS0+c29ja2ZkOyAvKiBqdXN0IHRvIHNpbXBsaWZ5IGNhbGxzICovCitAQCAtNzY1LDYgKzc2NiwxNyBAQAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0ZWQgPSAxOworICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgYmxvY2tfbnVtYmVyID0gbnRvaHModGZ0cGhkci0+dGhfYmxvY2spOworKworKyAgICAgICAgICAgICAgICAgICAgaWYgKGxhc3RfcmVxdWVzdGVkX2Jsb2NrID49IGJsb2NrX251bWJlcikKKysgICAgICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS0+dHJhY2UpCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAicmVjZWl2ZWQgZHVwbGljYXRlZCBBQ0sgPGJsb2NrOiAlbGQgPj0gJWxkPlxuIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0X3JlcXVlc3RlZF9ibG9jaywgYmxvY2tfbnVtYmVyKTsKKysgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICAgICAgICAgIGVsc2UKKysgICAgICAgICAgICAgICAgICAgICAgICBsYXN0X3JlcXVlc3RlZF9ibG9jayA9IGJsb2NrX251bWJlcjsKKysKKyAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLT50cmFjZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJyZWNlaXZlZCBBQ0sgPGJsb2NrOiAlbGQ+XG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrX251bWJlcik7CitJbmRleDogYXRmdHAtMC43L3RmdHBkX2ZpbGUuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGF0ZnRwLTAuNy5vcmlnL3RmdHBkX2ZpbGUuYwkyMDExLTExLTIyIDE1OjEyOjUzLjc5Mzc0NDExMiArMDEwMAorKysrIGF0ZnRwLTAuNy90ZnRwZF9maWxlLmMJMjAxMS0xMS0yMiAxNToxNTowNC42MTc1MzQyNjAgKzAxMDAKK0BAIC00MDMsNiArNDAzLDcgQEAKKyAgICAgIGludCB0aW1lb3V0X3N0YXRlID0gc3RhdGU7CisgICAgICBpbnQgcmVzdWx0OworICAgICAgbG9uZyBibG9ja19udW1iZXIgPSAwOworKyAgICAgbG9uZyBsYXN0X3JlcXVlc3RlZF9ibG9jayA9IC0xOworICAgICAgbG9uZyBsYXN0X2Jsb2NrID0gLTE7CisgICAgICBpbnQgYmxvY2tfbG9vcHMgPSAwOworICAgICAgaW50IGRhdGFfc2l6ZTsKK0BAIC04NTksNiArODYwLDMyIEBACisgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2dlcihMT0dfREVCVUcsICJyZWNlaXZlZCBBQ0sgPGJsb2NrOiAlZD4iLCBibG9ja19udW1iZXIpOworICAgICAgICAgICAgICAgICAgICAgfQorKworKwkJICAgIC8qIGNoZWNrIHdoZXRoZXIgdGhlIGJsb2NrIHJlcXVlc3QgaXNuJ3QgYWxyZWFkeSBmdWxmaWxsZWQgKi8KKysKKysgICAgICAgICAgICAgICAgICAgIC8qIG11bHRpY2FzdCwgYmxvY2sgbnVtYmVycyBjb3VsZCBjb250YWluIGdhcHMgKi8KKysgICAgICAgICAgICAgICAgICAgIGlmIChtdWx0aWNhc3QpIHsKKysgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGFzdF9yZXF1ZXN0ZWRfYmxvY2sgPj0gYmxvY2tfbnVtYmVyKQorKyAgICAgICAgICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEtPnRyYWNlKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyKExPR19ERUJVRywgInJlY2VpdmVkIGR1cGxpY2F0ZWQgQUNLIDxibG9jazogJWQgPj0gJWQ+IiwgbGFzdF9yZXF1ZXN0ZWRfYmxvY2ssIGJsb2NrX251bWJlcik7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RfcmVxdWVzdGVkX2Jsb2NrID0gYmxvY2tfbnVtYmVyOworKyAgICAgICAgICAgICAgICAgICAgLyogdW5pY2FzdCwgYmxvY2tzIHNob3VsZCBiZSByZXF1ZXN0ZWQgb25lIGFmdGVyIGFub3RoZXIgKi8KKysJCSAgICB9IGVsc2UgeworKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsYXN0X3JlcXVlc3RlZF9ibG9jayArIDEgIT0gYmxvY2tfbnVtYmVyICYmIGxhc3RfcmVxdWVzdGVkX2Jsb2NrICE9IC0xKQorKyAgICAgICAgICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEtPnRyYWNlKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyKExPR19ERUJVRywgInJlY2VpdmVkIG91dCBvZiBvcmRlciBBQ0sgPGJsb2NrOiAlZCAhPSAlZD4iLCBsYXN0X3JlcXVlc3RlZF9ibG9jayArIDEsIGJsb2NrX251bWJlcik7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RfcmVxdWVzdGVkX2Jsb2NrID0gYmxvY2tfbnVtYmVyOworKyAgICAgICAgICAgICAgICAgICAgfQorKworKworICAgICAgICAgICAgICAgICAgICAgaWYgKG50b2hzKHRmdHBoZHItPnRoX2Jsb2NrKSA9PSA2NTUzNSkKKyAgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2tfbG9vcHMrKzsKK0BAIC05NTgsNiArOTg1LDggQEAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmVkZCB0byBzZW5kIGFuIG9hY2sgdG8gdGhhdCBjbGllbnQgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSBTX1NFTkRfT0FDSzsgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgIGZzZWVrKGZwLCAwLCBTRUVLX1NFVCk7CisrCQkJIC8qIHJlc2V0IHRoZSBsYXN0IGJsb2NrIHJlY2VpdmVkIGNvdW50ZXIgKi8KKysJCQkgbGFzdF9yZXF1ZXN0ZWRfYmxvY2sgPSAtMTsKKyAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgIHsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdGZ0cC9maWxlcy9hdGZ0cGQtMC43X2NpcmN1bXZlbnRfdGZ0cF9zaXplX3Jlc3RyaWN0aW9ucy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdGZ0cC9maWxlcy9hdGZ0cGQtMC43X2NpcmN1bXZlbnRfdGZ0cF9zaXplX3Jlc3RyaWN0aW9ucy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODBiNTcwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F0ZnRwL2ZpbGVzL2F0ZnRwZC0wLjdfY2lyY3VtdmVudF90ZnRwX3NpemVfcmVzdHJpY3Rpb25zLnBhdGNoCkBAIC0wLDAgKzEsMTYzIEBACitGYXRlICMzMDMwMzE6IENpcmN1bXZlbnQgVEZUUCBzaXplIHJlc3RyaWN0aW9ucyBpbiBhdGZ0cGQKK1RoZSBzaXplIG9mIGEgc2luZ2xlIGltYWdlIGZpbGUgdGhhdCBjYW4gYmUgdHJhbnNmZXJyZWQgd2l0aCBURlRQIGlzIGxpbWl0ZWQgdG8KKzJeKDIqOCkgKkJMT0NLU0laRSAoYXMgcGVyIFJGQyAxMzUwIHRoZXJlIGFyZSBvbmx5IHR3byBieXRlcyBmb3IgdGhlIGJsb2NrCitjb3VudGVyKS4gVGhpcyBpcyBwcm9ibGVtYXRpYyBmb3Igb25lIG9mIG91ciBjdXN0b21lcnMgd2hvIG5lZWRzIHRvIHRyYW5zZmVyCisxMDArIE1CIFdpbmRvd3MgaW1hZ2VzIHVzaW5nIGEgVEZUUCBjbGllbnQgKE5UIGJvb3Rsb2FkZXIpIHdoaWNoIGhhcyBhCitoYXJkd2FyZWQgQkxPQ0tTSVpFIHNldHRpbmcgb2YgMTQzMikuCisKK2Jsb2NrIHJvbGxvdmVyCitodHRwOi8vd3d3LmNvbXB1cGhhc2UuY29tL3RmdHAuaHRtCisKK1BhdGNoIG9yaWdpbmFsbHkgZnJvbSBPcGVuU1VTRToKK2h0dHBzOi8vYnVpbGQub3BlbnN1c2Uub3JnL3BhY2thZ2Uvc2hvdz9wYWNrYWdlPWF0ZnRwJnByb2plY3Q9b3BlblNVU0UlM0ExMi4yCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitJbmRleDogZ2l0L3RmdHBfZGVmLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnaXQub3JpZy90ZnRwX2RlZi5oCTIwMTItMTEtMTkgMTY6Mjg6NTAuMjIxMDI3MTQ0IC0wODAwCisrKysgZ2l0L3RmdHBfZGVmLmgJMjAxMi0xMS0yMCAxNzo0MDo1NC4zOTEyMDY5NzkgLTA4MDAKK0BAIC0zMiw2ICszMiw3IEBACisgI2RlZmluZSBUSU1FT1VUICAgICAgIDUgICAgICAgICAvKiBDbGllbnQgdGltZW91dCAqLworICNkZWZpbmUgU19USU1FT1VUICAgICA1ICAgICAgICAgLyogU2VydmVyIHRpbW91dC4gKi8KKyAjZGVmaW5lIE5CX09GX1JFVFJZICAgNQorKyNkZWZpbmUgTUFYQkxPQ0tTICAgMTAwMDAwMCAgICAgIC8qIG1heGltdW0gbnVtYmVyIG9mIGJsb2NrcyBpbiBhIGRvd25sb2FkICovCisgCisgLyogZGVmaW5pdGlvbiB0byB1c2UgdGZ0cF9vcHRpb25zIHN0cnVjdHVyZSAqLworICNkZWZpbmUgT1BUX0ZJTEVOQU1FICAwCitJbmRleDogZ2l0L3RmdHBfZmlsZS5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvdGZ0cF9maWxlLmMJMjAxMi0xMS0xOSAxNjoyODo1MC4yMjEwMjcxNDQgLTA4MDAKKysrKyBnaXQvdGZ0cF9maWxlLmMJMjAxMi0xMS0xOSAxNjoyODo1MS4yMDEwMjcxNjcgLTA4MDAKK0BAIC02MjIsOCArNjIyLDggQEAKKyAgICAgIGludCBzdGF0ZSA9IFNfU0VORF9SRVE7ICAgIC8qIGN1cnJlbnQgc3RhdGUgaW4gdGhlIHN0YXRlIG1hY2hpbmUgKi8KKyAgICAgIGludCB0aW1lb3V0X3N0YXRlID0gc3RhdGU7IC8qIHdoYXQgc3RhdGUgc2hvdWxkIHdlIGdvIG9uIHdoZW4gdGltZW91dCAqLworICAgICAgaW50IHJlc3VsdDsKKy0gICAgIGludCBibG9ja19udW1iZXIgPSAwOworLSAgICAgaW50IGxhc3RfYmxvY2sgPSAtMTsKKysgICAgIGxvbmcgYmxvY2tfbnVtYmVyID0gMDsKKysgICAgIGxvbmcgbGFzdF9ibG9jayA9IC0xOworICAgICAgaW50IGRhdGFfc2l6ZTsgICAgICAgICAgICAgLyogc2l6ZSBvZiBkYXRhIHJlY2VpdmVkICovCisgICAgICBpbnQgc29ja2ZkID0gZGF0YS0+c29ja2ZkOyAvKiBqdXN0IHRvIHNpbXBsaWZ5IGNhbGxzICovCisgICAgICBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSBzYTsgLyogYSBjb3B5IG9mIGRhdGEuc2FfcGVlciAqLworQEAgLTYzNyw4ICs2MzcsOCBAQAorICAgICAgaW50IGNvbnZlcnQgPSAwOyAgICAgICAgICAgLyogaWYgdHJ1ZSwgZG8gbmV0YXNjaWkgY29udmVydGlvbiAqLworICAgICAgY2hhciBzdHJpbmdbTUFYTEVOXTsKKyAKKy0gICAgIGludCBwcmV2X2Jsb2NrX251bWJlciA9IDA7IC8qIG5lZWRlZCB0byBzdXBwb3J0IG5ldGFzY2lpIGNvbnZlcnRpb24gKi8KKy0gICAgIGludCBwcmV2X2ZpbGVfcG9zID0gMDsKKysgICAgIGxvbmcgcHJldl9ibG9ja19udW1iZXIgPSAwOyAvKiBuZWVkZWQgdG8gc3VwcG9ydCBuZXRhc2NpaSBjb252ZXJ0aW9uICovCisrICAgICBsb25nIHByZXZfZmlsZV9wb3MgPSAwOworICAgICAgaW50IHRlbXAgPSAwOworIAorICAgICAgZGF0YS0+ZmlsZV9zaXplID0gMDsKK0BAIC03NDUsNyArNzQ1LDcgQEAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhX3NpemUsIGRhdGEtPmRhdGFfYnVmZmVyKTsKKyAgICAgICAgICAgICAgICBkYXRhLT5maWxlX3NpemUgKz0gZGF0YV9zaXplOworICAgICAgICAgICAgICAgIGlmIChkYXRhLT50cmFjZSkKKy0gICAgICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAic2VudCBEQVRBIDxibG9jazogJWQsIHNpemU6ICVkPlxuIiwKKysgICAgICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAic2VudCBEQVRBIDxibG9jazogJWxkLCBzaXplOiAlZD5cbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrX251bWJlciArIDEsIGRhdGFfc2l6ZSAtIDQpOworICAgICAgICAgICAgICAgIHN0YXRlID0gU19XQUlUX1BBQ0tFVDsKKyAgICAgICAgICAgICAgICBicmVhazsKK0BAIC03ODUsNyArNzg1LDcgQEAKKyAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgIGJsb2NrX251bWJlciA9IG50b2hzKHRmdHBoZHItPnRoX2Jsb2NrKTsKKyAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLT50cmFjZSkKKy0gICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJyZWNlaXZlZCBBQ0sgPGJsb2NrOiAlZD5cbiIsCisrICAgICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAicmVjZWl2ZWQgQUNLIDxibG9jazogJWxkPlxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9ja19udW1iZXIpOworICAgICAgICAgICAgICAgICAgICAgaWYgKChsYXN0X2Jsb2NrICE9IC0xKSAmJiAoYmxvY2tfbnVtYmVyID4gbGFzdF9ibG9jaykpCisgICAgICAgICAgICAgICAgICAgICB7CitJbmRleDogZ2l0L3RmdHBfaW8uYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdpdC5vcmlnL3RmdHBfaW8uYwkyMDEyLTExLTE5IDE2OjI4OjUwLjIyMTAyNzE0NCAtMDgwMAorKysrIGdpdC90ZnRwX2lvLmMJMjAxMi0xMS0xOSAxNjoyODo1MS4yMDEwMjcxNjcgLTA4MDAKK0BAIC0zNTAsOCArMzUwLDggQEAKKyAvKgorICAqIFJlYWQgZnJvbSBmaWxlIGFuZCBkbyBuZXRhc2NpaSBjb252ZXJzaW9uIGlmIG5lZWRlZAorICAqLworLWludCB0ZnRwX2ZpbGVfcmVhZChGSUxFICpmcCwgY2hhciAqZGF0YV9idWZmZXIsIGludCBkYXRhX2J1ZmZlcl9zaXplLCBpbnQgYmxvY2tfbnVtYmVyLAorLSAgICAgICAgICAgICAgICAgICBpbnQgY29udmVydCwgaW50ICpwcmV2X2Jsb2NrX251bWJlciwgaW50ICpwcmV2X2ZpbGVfcG9zLCBpbnQgKnRlbXApCisraW50IHRmdHBfZmlsZV9yZWFkKEZJTEUgKmZwLCBjaGFyICpkYXRhX2J1ZmZlciwgaW50IGRhdGFfYnVmZmVyX3NpemUsIGxvbmcgYmxvY2tfbnVtYmVyLAorKyAgICAgICAgICAgICAgICAgICBpbnQgY29udmVydCwgbG9uZyAqcHJldl9ibG9ja19udW1iZXIsIGxvbmcgKnByZXZfZmlsZV9wb3MsIGludCAqdGVtcCkKKyB7CisgICAgICBpbnQgaTsKKyAgICAgIGludCBjOworSW5kZXg6IGdpdC90ZnRwX2lvLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnaXQub3JpZy90ZnRwX2lvLmgJMjAxMi0xMS0xOSAxNjoyODo1MC4yMjEwMjcxNDQgLTA4MDAKKysrKyBnaXQvdGZ0cF9pby5oCTIwMTItMTEtMTkgMTY6Mjg6NTEuMjAxMDI3MTY3IC0wODAwCitAQCAtNTIsOCArNTIsOCBAQAorIGludCB0ZnRwX2dldF9wYWNrZXQoaW50IHNvY2sxLCBpbnQgc29jazIsIGludCAqc29jaywgc3RydWN0IHNvY2thZGRyX3N0b3JhZ2UgKnNhLAorICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHNvY2thZGRyX3N0b3JhZ2UgKmZyb20sIHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlICp0bywKKyAgICAgICAgICAgICAgICAgICAgIGludCB0aW1lb3V0LCBpbnQgKnNpemUsIGNoYXIgKmRhdGEpOworLWludCB0ZnRwX2ZpbGVfcmVhZChGSUxFICpmcCwgY2hhciAqYnVmZmVyLCBpbnQgYnVmZmVyX3NpemUsIGludCBibG9ja19udW1iZXIsIGludCBjb252ZXJ0LAorLSAgICAgICAgICAgICAgICAgICBpbnQgKnByZXZfYmxvY2tfbnVtYmVyLCBpbnQgKnByZXZfZmlsZV9wb3MsIGludCAqdGVtcCk7CisraW50IHRmdHBfZmlsZV9yZWFkKEZJTEUgKmZwLCBjaGFyICpidWZmZXIsIGludCBidWZmZXJfc2l6ZSwgbG9uZyBibG9ja19udW1iZXIsIGludCBjb252ZXJ0LAorKyAgICAgICAgICAgICAgICAgICBsb25nICpwcmV2X2Jsb2NrX251bWJlciwgbG9uZyAqcHJldl9maWxlX3BvcywgaW50ICp0ZW1wKTsKKyBpbnQgdGZ0cF9maWxlX3dyaXRlKEZJTEUgKmZwLCBjaGFyICpkYXRhX2J1ZmZlciwgaW50IGRhdGFfYnVmZmVyX3NpemUsIGludCBibG9ja19udW1iZXIsCisgICAgICAgICAgICAgICAgICAgICBpbnQgZGF0YV9zaXplLCBpbnQgY29udmVydCwgaW50ICpwcmV2X2Jsb2NrX251bWJlciwgaW50ICp0ZW1wKTsKKyAjZW5kaWYKK0luZGV4OiBnaXQvdGZ0cGRfZmlsZS5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvdGZ0cGRfZmlsZS5jCTIwMTItMTEtMTkgMTY6Mjg6NTAuMjI1MDI3MTQ0IC0wODAwCisrKysgZ2l0L3RmdHBkX2ZpbGUuYwkyMDEyLTExLTE5IDE2OjI4OjUxLjIwMTAyNzE2NyAtMDgwMAorQEAgLTQwNyw4ICs0MDcsOSBAQAorICAgICAgaW50IHN0YXRlID0gU19CRUdJTjsKKyAgICAgIGludCB0aW1lb3V0X3N0YXRlID0gc3RhdGU7CisgICAgICBpbnQgcmVzdWx0OworLSAgICAgaW50IGJsb2NrX251bWJlciA9IDA7CistICAgICBpbnQgbGFzdF9ibG9jayA9IC0xOworKyAgICAgbG9uZyBibG9ja19udW1iZXIgPSAwOworKyAgICAgbG9uZyBsYXN0X2Jsb2NrID0gLTE7CisrICAgICBpbnQgYmxvY2tfbG9vcHMgPSAwOworICAgICAgaW50IGRhdGFfc2l6ZTsKKyAgICAgIHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlICpzYSA9ICZkYXRhLT5jbGllbnRfaW5mby0+Y2xpZW50OworICAgICAgc3RydWN0IHNvY2thZGRyX3N0b3JhZ2UgZnJvbTsKK0BAIC00MzEsOCArNDMyLDggQEAKKyAgICAgIHN0cnVjdCBjbGllbnRfaW5mbyAqY2xpZW50X29sZCA9IE5VTEw7CisgICAgICBzdHJ1Y3QgdGZ0cF9vcHQgb3B0aW9uc1tPUFRfTlVNQkVSXTsKKyAKKy0gICAgIGludCBwcmV2X2Jsb2NrX251bWJlciA9IDA7IC8qIG5lZWRlZCB0byBzdXBwb3J0IG5ldGFzY2lpIGNvbnZlcnRpb24gKi8KKy0gICAgIGludCBwcmV2X2ZpbGVfcG9zID0gMDsKKysgICAgIGxvbmcgcHJldl9ibG9ja19udW1iZXIgPSAwOyAvKiBuZWVkZWQgdG8gc3VwcG9ydCBuZXRhc2NpaSBjb252ZXJ0aW9uICovCisrICAgICBsb25nIHByZXZfZmlsZV9wb3MgPSAwOworICAgICAgaW50IHRlbXAgPSAwOworIAorICAgICAgLyogbG9vayBmb3IgbW9kZSBvcHRpb24gKi8KK0BAIC01NjUsMTEgKzU2NiwxMiBAQAorICAgICAgICAgICBsb2dnZXIoTE9HX0lORk8sICJibGtzaXplIG9wdGlvbiAtPiAlZCIsIHJlc3VsdCk7CisgICAgICB9CisgCistICAgICAvKiBWZXJpZnkgdGhhdCB0aGUgZmlsZSBjYW4gYmUgc2VudCBpbiAyXjE2IGJsb2NrIG9mIEJMS1NJWkUgb2N0ZXRzICovCistICAgICBpZiAoKGZpbGVfc3RhdC5zdF9zaXplIC8gKGRhdGEtPmRhdGFfYnVmZmVyX3NpemUgLSA0KSkgPiA2NTUzNSkKKysgICAgIC8qIFZlcmlmeSB0aGF0IHRoZSBmaWxlIGNhbiBiZSBzZW50IGluIE1BWEJMT0NLUyBibG9ja3Mgb2YgQkxLU0laRSBvY3RldHMgKi8KKysgICAgIGlmICgoZmlsZV9zdGF0LnN0X3NpemUgLyAoZGF0YS0+ZGF0YV9idWZmZXJfc2l6ZSAtIDQpKSA+IE1BWEJMT0NLUykKKyAgICAgIHsKKyAgICAgICAgICAgdGZ0cF9zZW5kX2Vycm9yKHNvY2tmZCwgc2EsIEVVTkRFRiwgZGF0YS0+ZGF0YV9idWZmZXIsIGRhdGEtPmRhdGFfYnVmZmVyX3NpemUpOworLSAgICAgICAgICBsb2dnZXIoTE9HX05PVElDRSwgIlJlcXVlc3RlZCBmaWxlIHRvIGJpZywgaW5jcmVhc2UgQkxLU0laRSIpOworKyAgICAgICAgICBsb2dnZXIoTE9HX05PVElDRSwgIlJlcXVlc3RlZCBmaWxlIHRvbyBiaWcsIGluY3JlYXNlIEJMS1NJWkUiKTsKKysgICAgICAgICAgbG9nZ2VyKExPR19OT1RJQ0UsICJPbmx5ICVkIGJsb2NrcyBvZiAlZCBieXRlcyBjYW4gYmUgc2VydmVkLiIsIE1BWEJMT0NLUywgZGF0YS0+ZGF0YV9idWZmZXJfc2l6ZSk7CisgICAgICAgICAgIGlmIChkYXRhLT50cmFjZSkKKyAgICAgICAgICAgICAgICBsb2dnZXIoTE9HX0RFQlVHLCAic2VudCBFUlJPUiA8Y29kZTogJWQsIG1zZzogJXM+IiwgRVVOREVGLAorICAgICAgICAgICAgICAgICAgICAgICB0ZnRwX2Vycm1zZ1tFVU5ERUZdKTsKK0BAIC04ODAsMTAgKzg4MiwxNSBAQAorICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgLyogVGhlIEFDSyBpcyBmcm9tIHRoZSBjdXJyZW50IGNsaWVudCAqLworICAgICAgICAgICAgICAgICAgICAgbnVtYmVyX29mX3RpbWVvdXQgPSAwOworLSAgICAgICAgICAgICAgICAgICAgYmxvY2tfbnVtYmVyID0gbnRvaHModGZ0cGhkci0+dGhfYmxvY2spOworKyAgICAgICAgICAgICAgICAgICAgYmxvY2tfbnVtYmVyID0gKGJsb2NrX2xvb3BzICogNjU1MzYpICsgbnRvaHModGZ0cGhkci0+dGhfYmxvY2spOworICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEtPnRyYWNlKQorLSAgICAgICAgICAgICAgICAgICAgICAgICBsb2dnZXIoTE9HX0RFQlVHLCAicmVjZWl2ZWQgQUNLIDxibG9jazogJWQ+IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrX251bWJlcik7CisrICAgICAgICAgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2dlcihMT0dfREVCVUcsICJyZWNlaXZlZCBBQ0sgPGJsb2NrOiAlZD4iLCBibG9ja19udW1iZXIpOworKyAgICAgICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgICAgICAgICAgaWYgKG50b2hzKHRmdHBoZHItPnRoX2Jsb2NrKSA9PSA2NTUzNSkKKysgICAgICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2tfbG9vcHMrKzsKKysgICAgICAgICAgICAgICAgICAgIH07CisgICAgICAgICAgICAgICAgICAgICBpZiAoKGxhc3RfYmxvY2sgIT0gLTEpICYmIChibG9ja19udW1iZXIgPiBsYXN0X2Jsb2NrKSkKKyAgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSBTX0VORDsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdGZ0cC9maWxlcy9hdGZ0cGQtMC43X3VucHJvdGVjdGVkX2Fzc2lnbm1lbnRzX2NyYXNoLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F0ZnRwL2ZpbGVzL2F0ZnRwZC0wLjdfdW5wcm90ZWN0ZWRfYXNzaWdubWVudHNfY3Jhc2gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjhmYmE2YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdGZ0cC9maWxlcy9hdGZ0cGQtMC43X3VucHJvdGVjdGVkX2Fzc2lnbm1lbnRzX2NyYXNoLnBhdGNoCkBAIC0wLDAgKzEsMTUyIEBACitBdm9pZCBhc3NpZ25pbmcgdGhyZWFkIGRhdGEgb3V0c2lkZSBvZiBtdXRleCBsb2NrCisKK1BhdGNoIG9yaWdpbmFsbHkgZnJvbSBPcGVuU1VTRToKK2h0dHBzOi8vYnVpbGQub3BlbnN1c2Uub3JnL3BhY2thZ2Uvc2hvdz9wYWNrYWdlPWF0ZnRwJnByb2plY3Q9b3BlblNVU0UlM0ExMi4yCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitJbmRleDogZ2l0L3RmdHBkX2xpc3QuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdpdC5vcmlnL3RmdHBkX2xpc3QuYwkyMDEyLTEwLTI0IDIxOjQ4OjQ3LjAwMDAwMDAwMCAtMDcwMAorKysrIGdpdC90ZnRwZF9saXN0LmMJMjAxMi0xMC0yNCAyMTo1MjowNC4yNjYyMDUwNzYgLTA3MDAKK0BAIC00OSwxMSArNDksMTEgQEAKKyAgKi8KKyBpbnQgdGZ0cGRfbGlzdF9hZGQoc3RydWN0IHRocmVhZF9kYXRhICpuZXcpCisgeworLSAgICAgc3RydWN0IHRocmVhZF9kYXRhICpjdXJyZW50ID0gdGhyZWFkX2RhdGE7CisrICAgICBzdHJ1Y3QgdGhyZWFkX2RhdGEgKmN1cnJlbnQ7CisgICAgICBpbnQgcmV0OworIAorICAgICAgcHRocmVhZF9tdXRleF9sb2NrKCZ0aHJlYWRfbGlzdF9tdXRleCk7CistCisrICAgICBjdXJyZW50ID0gdGhyZWFkX2RhdGE7CisgICAgICBudW1iZXJfb2ZfdGhyZWFkKys7CisgICAgICAKKyAgICAgIHJldCA9IG51bWJlcl9vZl90aHJlYWQ7CitAQCAtODEsMTEgKzgxLDEzIEBACisgICovCisgaW50IHRmdHBkX2xpc3RfcmVtb3ZlKHN0cnVjdCB0aHJlYWRfZGF0YSAqb2xkKQorIHsKKy0gICAgIHN0cnVjdCB0aHJlYWRfZGF0YSAqY3VycmVudCA9IHRocmVhZF9kYXRhOworKyAgICAgc3RydWN0IHRocmVhZF9kYXRhICpjdXJyZW50OworICAgICAgaW50IHJldDsKKyAKKyAgICAgIHB0aHJlYWRfbXV0ZXhfbG9jaygmdGhyZWFkX2xpc3RfbXV0ZXgpOworIAorKyAgICAgY3VycmVudCA9IHRocmVhZF9kYXRhOworKworICAgICAgbnVtYmVyX29mX3RocmVhZC0tOworICAgICAgcmV0ID0gbnVtYmVyX29mX3RocmVhZDsKKyAgICAgCitAQCAtMTM3LDIzICsxMzksMjYgQEAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdGhyZWFkX2RhdGEgKmRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGNsaWVudF9pbmZvICpjbGllbnQpCisgeworLSAgICAgc3RydWN0IHRocmVhZF9kYXRhICpjdXJyZW50ID0gdGhyZWFkX2RhdGE7IC8qIGhlYWQgb2YgdGhlIGxpc3QgKi8KKy0gICAgIHN0cnVjdCB0ZnRwX29wdCAqdGZ0cF9vcHRpb25zID0gZGF0YS0+dGZ0cF9vcHRpb25zOworKyAgICAgc3RydWN0IHRocmVhZF9kYXRhICpjdXJyZW50OyAvKiBoZWFkIG9mIHRoZSBsaXN0ICovCisrICAgICBzdHJ1Y3QgdGZ0cF9vcHQgKnRmdHBfb3B0aW9uczsKKyAgICAgIHN0cnVjdCBjbGllbnRfaW5mbyAqdG1wOworICAgICAgY2hhciBvcHRpb25zW01BWExFTl07CisgICAgICBjaGFyIHN0cmluZ1tNQVhMRU5dOworICAgICAgY2hhciAqaW5kZXg7CisgICAgICBpbnQgbGVuOworIAorKyAgICAgLyogbG9jayB0aGUgd2hvbGUgbGlzdCBiZWZvcmUgd2Fsa2luZyBpdCAqLworKyAgICAgcHRocmVhZF9tdXRleF9sb2NrKCZ0aHJlYWRfbGlzdF9tdXRleCk7CisrCisgICAgICAqdGhyZWFkID0gTlVMTDsKKyAKKysgICAgIGN1cnJlbnQgPSB0aHJlYWRfZGF0YTsKKysgICAgIHRmdHBfb3B0aW9ucyA9IGRhdGEtPnRmdHBfb3B0aW9uczsKKysKKyAgICAgIG9wdF9yZXF1ZXN0X3RvX3N0cmluZyh0ZnRwX29wdGlvbnMsIG9wdGlvbnMsIE1BWExFTik7CisgICAgICBpbmRleCA9IHN0cnN0cihvcHRpb25zLCAibXVsdGljYXN0Iik7CisgICAgICBsZW4gPSAoaW50KWluZGV4IC0gKGludClvcHRpb25zOworIAorLSAgICAgLyogbG9jayB0aGUgd2hvbGUgbGlzdCBiZWZvcmUgd2Fsa2luZyBpdCAqLworLSAgICAgcHRocmVhZF9tdXRleF9sb2NrKCZ0aHJlYWRfbGlzdF9tdXRleCk7CistCisgICAgICB3aGlsZSAoY3VycmVudCkKKyAgICAgIHsKKyAgICAgICAgICAgaWYgKGN1cnJlbnQgIT0gZGF0YSkKK0BAIC0yMTQsOSArMjE5LDEwIEBACisgdm9pZCB0ZnRwZF9jbGllbnRsaXN0X3JlbW92ZShzdHJ1Y3QgdGhyZWFkX2RhdGEgKnRocmVhZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjbGllbnRfaW5mbyAqY2xpZW50KQorIHsKKy0gICAgIHN0cnVjdCBjbGllbnRfaW5mbyAqdG1wID0gdGhyZWFkLT5jbGllbnRfaW5mbzsKKysgICAgIHN0cnVjdCBjbGllbnRfaW5mbyAqdG1wOworIAorICAgICAgcHRocmVhZF9tdXRleF9sb2NrKCZ0aHJlYWQtPmNsaWVudF9tdXRleCk7CisrICAgICB0bXAgPSB0aHJlYWQtPmNsaWVudF9pbmZvOworICAgICAgd2hpbGUgKCh0bXAtPm5leHQgIT0gY2xpZW50KSAmJiAodG1wLT5uZXh0ICE9IE5VTEwpKQorICAgICAgICAgICB0bXAgPSB0bXAtPm5leHQ7CisgICAgICBpZiAodG1wLT5uZXh0ID09IE5VTEwpCitAQCAtMjMxLDkgKzIzNywxMSBAQAorIHZvaWQgdGZ0cGRfY2xpZW50bGlzdF9mcmVlKHN0cnVjdCB0aHJlYWRfZGF0YSAqdGhyZWFkKQorIHsKKyAgICAgIHN0cnVjdCBjbGllbnRfaW5mbyAqdG1wOworLSAgICAgc3RydWN0IGNsaWVudF9pbmZvICpoZWFkID0gdGhyZWFkLT5jbGllbnRfaW5mbzsKKysgICAgIHN0cnVjdCBjbGllbnRfaW5mbyAqaGVhZDsKKyAKKyAgICAgIHB0aHJlYWRfbXV0ZXhfbG9jaygmdGhyZWFkLT5jbGllbnRfbXV0ZXgpOworKyAgICAgaGVhZCA9IHRocmVhZC0+Y2xpZW50X2luZm87CisrCisgICAgICB3aGlsZSAoaGVhZCkKKyAgICAgIHsKKyAgICAgICAgICAgdG1wID0gaGVhZDsKK0BAIC0yNTAsOSArMjU4LDEwIEBACisgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgY2xpZW50X2luZm8gKmNsaWVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlICpzb2NrKQorIHsKKy0gICAgIHN0cnVjdCBjbGllbnRfaW5mbyAqaGVhZCA9IHRocmVhZC0+Y2xpZW50X2luZm87CisrICAgICBzdHJ1Y3QgY2xpZW50X2luZm8gKmhlYWQ7CisgCisgICAgICBwdGhyZWFkX211dGV4X2xvY2soJnRocmVhZC0+Y2xpZW50X211dGV4KTsKKysgICAgIGhlYWQgPSB0aHJlYWQtPmNsaWVudF9pbmZvOworIAorICAgICAgaWYgKGNsaWVudCkKKyAgICAgIHsKK0BAIC0zMzQsMTAgKzM0MywxMCBAQAorIAorIHZvaWQgdGZ0cGRfbGlzdF9raWxsX3RocmVhZHModm9pZCkKKyB7CistICAgICBzdHJ1Y3QgdGhyZWFkX2RhdGEgKmN1cnJlbnQgPSB0aHJlYWRfZGF0YTsgLyogaGVhZCBvZiBsaXN0ICovCisrICAgICBzdHJ1Y3QgdGhyZWFkX2RhdGEgKmN1cnJlbnQ7IC8qIGhlYWQgb2YgbGlzdCAqLworIAorICAgICAgcHRocmVhZF9tdXRleF9sb2NrKCZ0aHJlYWRfbGlzdF9tdXRleCk7CistCisrICAgICBjdXJyZW50ID0gdGhyZWFkX2RhdGE7CisgCisgICAgICB3aGlsZSAoY3VycmVudCAhPSBOVUxMKQorICAgICAgeworSW5kZXg6IGdpdC90ZnRwZF9tY2FzdC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvdGZ0cGRfbWNhc3QuYwkyMDEyLTEwLTI0IDIxOjQ4OjQ3LjAwMDAwMDAwMCAtMDcwMAorKysrIGdpdC90ZnRwZF9tY2FzdC5jCTIwMTItMTAtMjQgMjE6NDk6MTEuNTcwMjAxNTgyIC0wNzAwCitAQCAtNTEsOSArNTEsMTEgQEAKKyAgKi8KKyBpbnQgdGZ0cGRfbWNhc3RfZ2V0X3RpZChjaGFyICoqYWRkciwgc2hvcnQgKnBvcnQpCisgeworLSAgICAgc3RydWN0IHRpZCAqY3VycmVudCA9IHRpZF9saXN0OworKyAgICAgc3RydWN0IHRpZCAqY3VycmVudDsKKyAKKyAgICAgIHB0aHJlYWRfbXV0ZXhfbG9jaygmbWNhc3RfdGlkX2xpc3QpOworKyAgICAgY3VycmVudCA9IHRpZF9saXN0OworKworICAgICAgLyogd2FsayB0aGUgbGlzdCBmb3IgYSBmcmVlIHRpZCAqLworICAgICAgd2hpbGUgKGN1cnJlbnQgIT0gTlVMTCkKKyAgICAgIHsKK0BAIC03NCw5ICs3NiwxMSBAQAorIAorIGludCB0ZnRwZF9tY2FzdF9mcmVlX3RpZChjaGFyICphZGRyLCBzaG9ydCBwb3J0KQorIHsKKy0gICAgIHN0cnVjdCB0aWQgKmN1cnJlbnQgPSB0aWRfbGlzdDsKKysgICAgIHN0cnVjdCB0aWQgKmN1cnJlbnQ7CisgCisgICAgICBwdGhyZWFkX211dGV4X2xvY2soJm1jYXN0X3RpZF9saXN0KTsKKysgICAgIGN1cnJlbnQgPSB0aWRfbGlzdDsKKysKKyAgICAgIHdoaWxlIChjdXJyZW50ICE9IE5VTEwpCisgICAgICB7CisgCSAgaWYgKChjdXJyZW50LT51c2VkID09IDEpICYmIChjdXJyZW50LT5wb3J0ID09IHBvcnQpICYmCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXRmdHAvZmlsZXMvYXRmdHBkLmluaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXRmdHAvZmlsZXMvYXRmdHBkLmluaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTYxZDk3YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdGZ0cC9maWxlcy9hdGZ0cGQuaW5pdApAQCAtMCwwICsxLDM3IEBACisjISAvYmluL3NoCisjCisjIFRoaXMgaXMgYW4gaW5pdCBzY3JpcHQgZm9yIG9wZW5lbWJlZGRlZAorIyBDb3B5IGl0IHRvIC9ldGMvaW5pdC5kL2F0ZnRwZCBhbmQgdHlwZQorIyA+IHVwZGF0ZS1yYy5kIGF0ZnRwZCBkZWZhdWx0cyA2MAorIworCisKK3Rlc3QgLWYgL3Vzci9zYmluL2F0ZnRwZCB8fCBleGl0IDAKKwordGVzdCAtZCAvc3J2L3RmdHAgfHwgbWtkaXIgLXAgL3Nydi90ZnRwCisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKyAgICBlY2hvIC1uICJTdGFydGluZyB0ZnRwIGRhZW1vbjogYXRmdHBkIgorICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLS1xdWlldCAtLWV4ZWMgL3Vzci9zYmluL2F0ZnRwZCAtLSAtLWRhZW1vbiAtLXBvcnQgNjkKKyAgICBlY2hvICIuIgorICAgIDs7CisgIHN0b3ApCisgICAgZWNobyAtbiAiU3RvcHBpbmcgdGZ0cCBkYWVtb246IGF0ZnRwZCIKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLWV4ZWMgL3Vzci9zYmluL2F0ZnRwZAorICAgIGVjaG8gIi4iCisgICAgOzsKKyAgcmVsb2FkfGZvcmNlLXJlbG9hZCkKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLXNpZ25hbCAxIC0tZXhlYyAvdXNyL3NiaW4vYXRmdHBkCisgICAgOzsKKyAgcmVzdGFydCkKKyAgICAkMCBzdG9wCisgICAgc2xlZXAgMQorCSQwIHN0YXJ0CisgICAgOzsKKyAgKikKKyAgICBlY2hvICJVc2FnZTogL2V0Yy9pbml0LmQvYXRmdHBkIHtzdGFydHxzdG9wfHJlbG9hZHxyZXN0YXJ0fGZvcmNlLXJlbG9hZH0iCisgICAgZXhpdCAxCitlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvMDAwMS1zeXN0ZW1kLWFsbG93LXdpdGgtc3lzdGVtZC10by10YWtlLWEtcGF0aC1hcmcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy8wMDAxLXN5c3RlbWQtYWxsb3ctd2l0aC1zeXN0ZW1kLXRvLXRha2UtYS1wYXRoLWFyZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDJmMjVkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvMDAwMS1zeXN0ZW1kLWFsbG93LXdpdGgtc3lzdGVtZC10by10YWtlLWEtcGF0aC1hcmcucGF0Y2gKQEAgLTAsMCArMSw0NyBAQAorRnJvbSA0MDk3MTkxMWQ2NTNiZjUzZGUyOTVkNzQ2MmM2NDNlNDA3MzkxNmI5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSm9lIE1hY0RvbmFsZCA8am9lQGRlc2VydGVkLm5ldD4KK0RhdGU6IEZyaSwgMSBOb3YgMjAxMyAxMjo0NzoxOCAtMDQwMAorU3ViamVjdDogW1BBVENIXSBzeXN0ZW1kOiBhbGxvdyAtLXdpdGgtc3lzdGVtZCB0byB0YWtlIGEgcGF0aCBhcmcKKworSWYgYnVpbGRpbmcgZm9yIGEgY3Jvc3MtY29tcGlsZSBlbnZpcm9ubWVudCB3aXRoIHN5c3RlbWQgaXQgaXMgY29udmVuaWVudAordG8gYmUgYWJsZSB0byBzcGVjaWZ5IGEgc3lzdGVtZCBwYXRoIGZvciB0aGUgdGFyZ2V0IHRoYXQgbWF5IG5vdCBiZSB0aGUKK3NhbWUgYXMgdGhhdCBvbiB0aGUgaG9zdC4KKworVXBzdHJlYW0tc3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHA6Ly93d3cuc3Bpbmljcy5uZXQvbGlzdHMvYXV0b2ZzL21zZzAwNzQwLmh0bWxdCisKK1NpZ25lZC1vZmYtYnk6IEpvZSBNYWNEb25hbGQgPGpvZUBkZXNlcnRlZC5uZXQ+CistLS0KKyBhY2xvY2FsLm00IHwgICAxMCArKysrKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2FjbG9jYWwubTQgYi9hY2xvY2FsLm00CitpbmRleCAzZTZmMjIzLi4xMDVlM2U5IDEwMDY0NAorLS0tIGEvYWNsb2NhbC5tNAorKysrIGIvYWNsb2NhbC5tNAorQEAgLTIyOSw4ICsyMjksMTAgQEAgZG5sIENoZWNrIHRoZSBsb2NhdGlvbiBvZiB0aGUgc3lzdGVtZCB1bml0IGZpbGVzIGRpcmVjdG9yeQorIGRubCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEFDX0RFRlVOKFtBRl9XSVRIX1NZU1RFTURdLAorIFtBQ19BUkdfV0lUSChzeXN0ZW1kLAorLVsgIC0td2l0aC1zeXN0ZW1kICAgICAgICAgaW5zdGFsbCBzeXN0ZW1kIHVuaXQgZmlsZSBpZiBzeXN0ZW1kIHVuaXQgZGlyZWN0b3J5CistCQkJICBpcyBmb3VuZCBvbiBzeXN0ZW1dLAorK1sgIC0td2l0aC1zeXN0ZW1kQDw6QD1zeXN0ZW1kZGlyQDo+QCAgaW5zdGFsbCBzeXN0ZW1kIHVuaXQgZmlsZS4gIElmICd5ZXMnCisrCQkJICBwcm9iZSB0aGUgc3lzdGVtIGZvciB1bml0IGRpcmVjdG9yeS4KKysJCQkgIElmIGEgcGF0aCBpcyBzcGVjaWZpZWQsIGFzc3VtZSB0aGF0CisrCQkJICBpcyBhIHZhbGlkIGluc3RhbGwgcGF0aC5dLAorIFtpZiB0ZXN0ICIkd2l0aHZhbCIgPSB5ZXM7IHRoZW4KKyAgIGlmIHRlc3QgLXogIiRzeXN0ZW1kZGlyIjsgdGhlbgorICAgICBBQ19NU0dfQ0hFQ0tJTkcoW2xvY2F0aW9uIG9mIHRoZSBzeXN0ZW1kIHVuaXQgZmlsZXMgZGlyZWN0b3J5XSkKK0BAIC0yNDcsNiArMjQ5LDEwIEBAIEFDX0RFRlVOKFtBRl9XSVRIX1NZU1RFTURdLAorICAgZWxzZQorICAgICBBQ19NU0dfUkVTVUxUKG5vdCBmb3VuZCkKKyAgIGZpCisrZWxzZQorKyBpZiB0ZXN0ICIkd2l0aHZhbCIgIT0gbm87IHRoZW4KKysgIHN5c3RlbWRkaXI9JHdpdGh2YWwKKysgZmkKKyBmaV0pCisgXSkKKyAKKy0tIAorMS43LjEwLjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvTWFrZWZpbGUucnVsZXMtY3Jvc3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy9NYWtlZmlsZS5ydWxlcy1jcm9zcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZGM3MDk2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvTWFrZWZpbGUucnVsZXMtY3Jvc3MucGF0Y2gKQEAgLTAsMCArMSwyMyBAQAorSW5kZXg6IGF1dG9mcy01LjAuNy9NYWtlZmlsZS5ydWxlcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGF1dG9mcy01LjAuNy5vcmlnL01ha2VmaWxlLnJ1bGVzCTIwMTItMDctMjQgMjM6MDU6MjYuMDAwMDAwMDAwIC0wNzAwCisrKysgYXV0b2ZzLTUuMC43L01ha2VmaWxlLnJ1bGVzCTIwMTItMTAtMjYgMDk6MjM6NDAuMjcwMjA0MjcwIC0wNzAwCitAQCAtMzQsMTQgKzM0LDE0IEBACisgZWxzZQorIENGTEFHUyAgICA/PSAtTzIgLVdhbGwKKyBMREZMQUdTICAgPSAtcworLVNUUklQICAgICA9IHN0cmlwIC0tc3RyaXAtZGVidWcKKytTVFJJUCAgICAgPSAke1RBUkdFVF9QUkVGSVh9c3RyaXAgLS1zdHJpcC1kZWJ1ZworIGVuZGlmCisgZW5kaWYKKyAKKy1DQyAgICAgICAgPSBnY2MKKy1DWFggICAgICAgPSBnKysKKytDQyAgICAgICAgPz0gJHtUQVJHRVRfUFJFRklYfWdjYworK0NYWCAgICAgICA/PSAke1RBUkdFVF9QUkVGSVh9ZysrCisgQ1hYRkxBR1MgID0gJChDRkxBR1MpCistTEQgICAgICAgID0gbGQKKytMRCAgICAgICAgPz0gJHtUQVJHRVRfUFJFRklYfWxkCisgU09MREZMQUdTID0gLXNoYXJlZAorIAorIENGTEFHUyArPSAtRF9SRUVOVFJBTlQgLURfRklMRV9PRkZTRVRfQklUUz02NApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvYWRkLXRoZS1uZWVkZWQtc3RkYXJnLmgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy9hZGQtdGhlLW5lZWRlZC1zdGRhcmcuaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZGI5MDZiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvYWRkLXRoZS1uZWVkZWQtc3RkYXJnLmgucGF0Y2gKQEAgLTAsMCArMSwyNCBAQAorW1BBVENIXSBhZGQgdGhlIG5lZWRlZCBzdGRhcmcuaAorCitVcHN0cmVhbS1zdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgbGliL2RlZmF1bHRzLmMgfCAgICAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL2xpYi9kZWZhdWx0cy5jIGIvbGliL2RlZmF1bHRzLmMKK2luZGV4IDJiMDNlYTIuLjU3MjhlNjcgMTAwNjQ0CistLS0gYS9saWIvZGVmYXVsdHMuYworKysrIGIvbGliL2RlZmF1bHRzLmMKK0BAIC0xNiw2ICsxNiw3IEBACisgCisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorICNpbmNsdWRlIDxzdGRpby5oPgorKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyAjaW5jbHVkZSA8Y3R5cGUuaD4KKyAjaW5jbHVkZSA8c3RyaW5nLmg+CisgI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CistLSAKKzEuNy4xMC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL2F1dG9mcy01LjAuNy1kby1ub3QtY2hlY2stZm9yLW1vZHByb2JlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvYXV0b2ZzLTUuMC43LWRvLW5vdC1jaGVjay1mb3ItbW9kcHJvYmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWY1YmU2YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL2F1dG9mcy01LjAuNy1kby1ub3QtY2hlY2stZm9yLW1vZHByb2JlLnBhdGNoCkBAIC0wLDAgKzEsNzUgQEAKK0Rlc2NyaXB0aW9uOiBMb2FkaW5nIGF1dG9mcyBtb2R1bGUgaXMgI2lmZGVmJ2VkIGluIHRoZSBzb3VyY2UsIHNvCisgdGhlcmUgaXMgbm8gbmVlZCB0byBjaGVjayBmb3IgL3Byb2MgKHdoaWNoIGlzIG9ubHkgdXNlZAorIHRvIGxvYWQgbW9kdWxlKSBvciBtb2Rwcm9iZS4gIEJvdGggbW9kcHJvYmUgYW5kIC9wcm9jCisgYXJlIGFsd2F5cyBpbiB0aGUgZml4ZWQgbG9jYXRpb24gc28gdGhlcmUncyBubyBuZWVkIHRvCisgY2hlY2sgZm9yIHRoZXNlIHRvIHN0YXJ0IHdpdGguCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgWzFdCitbMV0gaHR0cDovL3d3dy5zcGluaWNzLm5ldC9saXN0cy9hdXRvZnMvbXNnMDAxMzkuaHRtbAorCitkaWZmIC11cnBOIGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCistLS0gYS9jb25maWd1cmUuaW4JMjAxMy0wMS0xNSAxMTozMDoyMi4wMDAwMDAwMDAgKzA4MDAKKysrKyBiL2NvbmZpZ3VyZS5pbgkyMDEzLTAxLTE1IDExOjMxOjQ1LjAwMDAwMDAwMCArMDgwMAorQEAgLTM0LDExICszNCw2IEBAIEFDX01TR19DSEVDS0lORyhbZm9yIGJpbmFyaWVzIGluXSkKKyBBQ19NU0dfUkVTVUxUKFskc2VhcmNocGF0aF0pCisgCisgIworLSMgTWFrZSBzdXJlIHdlIGhhdmUgIi9wcm9jIgorLSMKKy1BRl9MSU5VWF9QUk9DRlMoKQorLQorLSMKKyAjIExvY2F0aW9uIG9mIGluaXQuZCBkaXJlY3Rvcnk/CisgIworIEFGX0lOSVRfRCgpCitAQCAtMTQyLDcgKzEzNyw2IEBAIEFGX1BBVEhfSU5DTFVERShVTU9VTlQsIHVtb3VudCwgL2Jpbi91bW8KKyBBRl9QQVRIX0lOQ0xVREUoRTJGU0NLLCBmc2NrLmV4dDIgZTJmc2NrLCAsICRzZWFyY2hwYXRoKQorIEFGX1BBVEhfSU5DTFVERShFM0ZTQ0ssIGZzY2suZXh0MyBlM2ZzY2ssICwgJHNlYXJjaHBhdGgpCisgQUZfUEFUSF9JTkNMVURFKEU0RlNDSywgZnNjay5leHQ0IGU0ZnNjaywgLCAkc2VhcmNocGF0aCkKKy1BRl9QQVRIX0lOQ0xVREUoTU9EUFJPQkUsIG1vZHByb2JlLCAsICRzZWFyY2hwYXRoKQorIAorIEFGX0NIRUNLX1BST0coTEVYLCBmbGV4IGxleCwgLCAkc2VhcmNocGF0aCkKKyBBRl9DSEVDS19QUk9HKFlBQ0MsIGJpc29uLCAsICRzZWFyY2hwYXRoKQorZGlmZiAtdXJwTiBhL2RhZW1vbi9tb2R1bGUuYyBiL2RhZW1vbi9tb2R1bGUuYworLS0tIGEvZGFlbW9uL21vZHVsZS5jCTIwMTMtMDEtMTUgMTE6MzA6NDkuMDAwMDAwMDAwICswODAwCisrKysgYi9kYWVtb24vbW9kdWxlLmMJMjAxMy0wMS0xNSAxMTozMjowMC4wMDAwMDAwMDAgKzA4MDAKK0BAIC0xOCw2ICsxOCw4IEBACisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorICNpbmNsdWRlICJhdXRvbW91bnQuaCIKKyAKKysjaWYgMAorKy8qIHNlZSBjb21tZW50IGluIGRhZW1vbi9hdXRvbW91bnQuYyBhcm91bmQgbG9hZF9hdXRvZnM0X21vZHVsZSgpIGNhbGwgKi8KKyBpbnQgbG9hZF9hdXRvZnM0X21vZHVsZSh2b2lkKQorIHsKKyAJRklMRSAqZnA7CitAQCAtNTIsNiArNTQsNyBAQCBpbnQgbG9hZF9hdXRvZnM0X21vZHVsZSh2b2lkKQorIAorIAlyZXR1cm4gMTsKKyB9CisrI2VuZGlmCisgCisgc3RydWN0IGxvb2t1cF9tb2QgKm9wZW5fbG9va3VwKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKmVycl9wcmVmaXgsCisgCQkJICAgICAgIGNvbnN0IGNoYXIgKm1hcGZtdCwgaW50IGFyZ2MsIGNvbnN0IGNoYXIgKmNvbnN0ICphcmd2KQorZGlmZiAtdXJwTiBhL2luY2x1ZGUvYXV0b21vdW50LmggYi9pbmNsdWRlL2F1dG9tb3VudC5oCistLS0gYS9pbmNsdWRlL2F1dG9tb3VudC5oCTIwMTMtMDEtMTUgMTE6MzE6MTAuMDAwMDAwMDAwICswODAwCisrKysgYi9pbmNsdWRlL2F1dG9tb3VudC5oCTIwMTMtMDEtMTUgMTE6MzI6MDYuMDAwMDAwMDAwICswODAwCitAQCAtNTAsMTYgKzUwLDExIEBACisgI2Vycm9yIEZhaWxlZCB0byBsb2NhdGUgdW1vdW50KDgpIQorICNlbmRpZgorIAorLSNpZm5kZWYgSEFWRV9NT0RQUk9CRQorLSNlcnJvciBGYWlsZWQgdG8gbG9jYXRlIG1vZHByb2JlKDgpIQorLSNlbmRpZgorLQorLSNpZm5kZWYgSEFWRV9MSU5VWF9QUk9DRlMKKy0jZXJyb3IgRmFpbGVkIHRvIHZlcmlmeSBleGlzdGVuY2Ugb2YgcHJvY2ZzIGZpbGVzeXN0ZW0hCistI2VuZGlmCistCisrI2lmIDAKKysvKiBzZWUgY29tbWVudCBpbiBkYWVtb24vYXV0b21vdW50LmMgYXJvdW5kIGxvYWRfYXV0b2ZzNF9tb2R1bGUoKSBjYWxsICovCisgI2RlZmluZSBGU19NT0RVTEVfTkFNRSAgImF1dG9mczQiCisgaW50IGxvYWRfYXV0b2ZzNF9tb2R1bGUodm9pZCk7CisrI2VuZGlmCisgCisgLyogVGhlIC1zIChzbG9wcHkpIG9wdGlvbiB0byBtb3VudCBpcyBnb29kLCBpZiB3ZSBoYXZlIGl0Li4uICovCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy9hdXRvZnMtNS4wLjctZml4LWxpYi1kZXBzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvYXV0b2ZzLTUuMC43LWZpeC1saWItZGVwcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOWZlYTQ5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvYXV0b2ZzLTUuMC43LWZpeC1saWItZGVwcy5wYXRjaApAQCAtMCwwICsxLDI4IEBACitGcm9tIDU0YTliZDI4YTMwN2RkNzRkZjA0NGQ3NzljYTg1YWRjZjM2YWEyMDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb2UgTWFjRG9uYWxkIDxqb2UubWFjZG9uYWxkQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDE4IEp1biAyMDEzIDEwOjA1OjIxIC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCB0aGUgZGVwZW5kZW5jeSBpc3N1ZQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworYXV0b2ZzJ3MgbGliIHNvdXJjZXMgaGF2ZSBhIGRlcGVuZGVuY3kgb24gYSBudW1iZXIgb2YgZmlsZXMgdGhhdCBhcmUKK2dlbmVyYXRlZCBieSBycGNnZW4gZHVyaW5nIGJ1aWxkdGltZQorCitTaWduZWQtb2ZmLWJ5OiBSb3kuTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBKb2UgTWFjRG9uYWxkIDxqb2UubWFjZG9uYWxkQHdpbmRyaXZlci5jb20+CistLS0KKyBsaWIvTWFrZWZpbGUgfCAgICAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL2xpYi9NYWtlZmlsZSBiL2xpYi9NYWtlZmlsZQoraW5kZXggNTQxODAwOS4uYmZmNGUxZCAxMDA2NDQKKy0tLSBhL2xpYi9NYWtlZmlsZQorKysrIGIvbGliL01ha2VmaWxlCitAQCAtNzUsMyArNzUsNCBAQCBpbnN0YWxsOiBhbGwKKyBjbGVhbjoKKyAJcm0gLWYgJChMSUIpICQoUlBDUykgJChPQkpTKSAkKFlBQ0NTUkMpICoub3V0cHV0ICp+CisgCisrJChPQkpTKTogJChSUENTKQorLS0gCisxLjcuMTAuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy9hdXRvZnMtNS4wLjctaW5jbHVkZS1saW51eC1uZnMuaC1kaXJlY3RseS1pbi1ycGNfc3ViLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvYXV0b2ZzLTUuMC43LWluY2x1ZGUtbGludXgtbmZzLmgtZGlyZWN0bHktaW4tcnBjX3N1Yi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTg3ODk4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvYXV0b2ZzLTUuMC43LWluY2x1ZGUtbGludXgtbmZzLmgtZGlyZWN0bHktaW4tcnBjX3N1Yi5wYXRjaApAQCAtMCwwICsxLDMyIEBACitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworRnJvbSA0NGJkY2U4YzZlZDliMzBjMTY0M2U1OTgxMTcyYTRmOTAyNWYwMTNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQW5kcmVhcyBPYmVycml0dGVyIDxvYmlAb3BlbmRyZWFtYm94Lm9yZz4KK0RhdGU6IFdlZCwgMTMgTWFyIDIwMTMgMTY6MTc6MDggKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gYXV0b2ZzLTUuMC43OiBpbmNsdWRlIGxpbnV4L25mcy5oIGRpcmVjdGx5IGluIHJwY19zdWJzLmgKKworRml4ZXMgY29tcGlsZSBlcnJvciB3aXRoIHVjbGliYy4gR2xpYmMncyBuZnMvbmZzLmggY29udGFpbnMKK25vdGhpbmcgYnV0ICIjaW5jbHVkZSBsaW51eC9uZnMuaCIuIHJwY19zdWJzLmggYWxyZWFkeSBpbmNsdWRlcworb3RoZXIgbGludXgvbmZzKi5oIGZpbGVzIGRpcmVjdGx5LgorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE9iZXJyaXR0ZXIgPG9iaUBvcGVuZHJlYW1ib3gub3JnPgorLS0tCisgaW5jbHVkZS9ycGNfc3Vicy5oIHwgICAgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9ycGNfc3Vicy5oIGIvaW5jbHVkZS9ycGNfc3Vicy5oCitpbmRleCBiNmQ1OWY5Li5hMmQ5NjQ4IDEwMDY0NAorLS0tIGEvaW5jbHVkZS9ycGNfc3Vicy5oCisrKysgYi9pbmNsdWRlL3JwY19zdWJzLmgKK0BAIC0xOCw3ICsxOCw3IEBACisgCisgI2luY2x1ZGUgPHJwYy9ycGMuaD4KKyAjaW5jbHVkZSA8cnBjL3BtYXBfcHJvdC5oPgorLSNpbmNsdWRlIDxuZnMvbmZzLmg+CisrI2luY2x1ZGUgPGxpbnV4L25mcy5oPgorICNpbmNsdWRlIDxsaW51eC9uZnMyLmg+CisgI2luY2x1ZGUgPGxpbnV4L25mczMuaD4KKyAKKy0tIAorMS43LjEwLjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvYXV0b2ZzLWFkZGl0aW9uYWwtZGlzdHJvcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL2F1dG9mcy1hZGRpdGlvbmFsLWRpc3Ryb3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmEzNTg0MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL2F1dG9mcy1hZGRpdGlvbmFsLWRpc3Ryb3MucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorLS0tIGF1dG9mcy00LjEuNC9zYW1wbGVzL3JjLmF1dG9mcy5pbn4JMjAwNS0wNC0xMSAwNjozMDo1NC4wMDAwMDAwMDAgLTA1MDAKKysrKyBhdXRvZnMtNC4xLjQvc2FtcGxlcy9yYy5hdXRvZnMuaW4JMjAwNy0wNC0wNyAxMzoxODo0NC4wMDAwMDAwMDAgLTA1MDAKK0BAIC00Myw2ICs0Myw5IEBACisgCXN5c3RlbT1kZWJpYW4KKyBlbGlmIFsgLWYgL2V0Yy9yZWRoYXQtcmVsZWFzZSBdOyB0aGVuCisgCXN5c3RlbT1yZWRoYXQKKytlbGlmIFsgLWYgL2V0Yy9pc3N1ZSBdICYmIGdyZXAgLXEgIl5TbHVnT1NcfFlvY3RvIiAvZXRjL2lzc3VlIDsgdGhlbgorKwkjIFNsdWdPUyBhbmQgWW9jdG8gYmVoYXZlIGxpa2UgRGViaWFuLCBhdCBsZWFzdCBmb3IgYXV0b2ZzIHB1cnBvc2VzLgorKwlzeXN0ZW09ZGViaWFuCisgZWxzZQorIAllY2hvICIkMDogVW5rbm93biBzeXN0ZW0sIHBsZWFzZSBwb3J0IGFuZCBjb250YWN0IGF1dG9mc0BsaW51eC5rZXJuZWwub3JnIiAxPiYyCisgCWV4aXQgMQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvY3Jvc3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy9jcm9zcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZjFhZjYyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvY3Jvc3MucGF0Y2gKQEAgLTAsMCArMSw0NCBAQAorSW5kZXg6IGF1dG9mcy01LjAuNy9hY2xvY2FsLm00Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYXV0b2ZzLTUuMC43Lm9yaWcvYWNsb2NhbC5tNAkyMDEyLTEwLTI4IDA0OjQ1OjA3LjAwMDAwMDAwMCAtMDcwMAorKysrIGF1dG9mcy01LjAuNy9hY2xvY2FsLm00CTIwMTItMTAtMjggMTA6NDc6NTMuMjYzOTk2OTEwIC0wNzAwCitAQCAtNyw2ICs3LDggQEAKKyBBQ19ERUZVTihBRl9QQVRIX0lOQ0xVREUsCisgW0FDX1BBVEhfUFJPR1MoJDEsJDIsJDMsJDQpCisgaWYgdGVzdCAtbiAiJCQxIjsgdGhlbgorKyAgQUhfVEVNUExBVEUoW0hBVkVfJDFdLCBbSGF2ZSAkMl0pCisrICBBSF9URU1QTEFURShbUEFUSF8kMV0sIFtIYXZlICQyXSkKKyAgIEFDX0RFRklORShIQVZFXyQxLDEsW2RlZmluZSBpZiB5b3UgaGF2ZSAkMV0pCisgICBBQ19ERUZJTkVfVU5RVU9URUQoUEFUSF8kMSwgIiQkMSIsIFtkZWZpbmUgaWYgeW91IGhhdmUgJDFdKQorICAgSEFWRV8kMT0xCitJbmRleDogYXV0b2ZzLTUuMC43L2NvbmZpZ3VyZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGF1dG9mcy01LjAuNy5vcmlnL2NvbmZpZ3VyZS5pbgkyMDEyLTEwLTI4IDA0OjQ1OjA2LjAwMDAwMDAwMCAtMDcwMAorKysrIGF1dG9mcy01LjAuNy9jb25maWd1cmUuaW4JMjAxMi0xMC0yOCAxMDo1MDowNy41ODAwMDA2MjggLTA3MDAKK0BAIC0zMDEsMTMgKzMwMSwxNSBAQAorIGNhdCA+IHBpZXRlc3QuYyA8PEVPRgorIGludCBtYWluKHZvaWQpIHsgcmV0dXJuIDA7IH0KKyBFT0YKKytBRl90bXBfbGRmbGFncz0iJExERkxBR1MiCisrQUZfdG1wX2NmbGFncz0iJENGTEFHUyIKKyBDRkxBR1M9LWZQSUUKKyBMREZMQUdTPS1waWUKKyBEQUVNT05fQ0ZMQUdTPQorIERBRU1PTl9MREZMQUdTPQorIEFDX01TR19DSEVDS0lORyhbd2hldGhlciBnY2MgLWZQSUUgd29ya3NdKQorLUFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbW11dLCBbW2ludCBtYWluKHZvaWQpIHtyZXR1cm4gMDt9XV0pXSwKKy0JICAgICAgW2djY19zdXBwb3J0c19waWU9eWVzXSwgW2djY19zdXBwb3J0c19waWU9bm9dLCBbZ2NjX3N1cHBvcnRzX3BpZT1ub10pCisrQUNfTElOS19JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbW11dLCBbW2ludCBtYWluKHZvaWQpIHtyZXR1cm4gMDt9XV0pXSwKKysJICAgICAgIFtnY2Nfc3VwcG9ydHNfcGllPXllc10sIFtnY2Nfc3VwcG9ydHNfcGllPW5vXSwgW2djY19zdXBwb3J0c19waWU9bm9dKQorIEFDX01TR19SRVNVTFQoWyRnY2Nfc3VwcG9ydHNfcGllXSkKKyBpZiB0ZXN0ICRnY2Nfc3VwcG9ydHNfcGllID0geWVzIDsgdGhlbgorIAlEQUVNT05fQ0ZMQUdTPSItZlBJRSIKK0BAIC0zMTYsNiArMzE4LDggQEAKKyBybSAtZiBwaWV0ZXN0LmMKKyBBQ19TVUJTVChEQUVNT05fQ0ZMQUdTKQorIEFDX1NVQlNUKERBRU1PTl9MREZMQUdTKQorK0NGTEFHUz0iJHtBRl90bXBfY2ZsYWdzfSIKKytMREZMQUdTPSIke0FGX3RtcF9sZGZsYWdzfSIKKyAKKyAjCisgIyBFbmFibGUgYWJpbGl0eSB0byBhY2Nlc3MgdmFsdWUgaW4gZXh0ZXJuYWwgZW52IHZhcmlhYmxlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy9maXgtdGhlLVlBQ0MtcnVsZS10by1maXgtYS1idWlsZGluZy1mYWlsdXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvZml4LXRoZS1ZQUNDLXJ1bGUtdG8tZml4LWEtYnVpbGRpbmctZmFpbHVyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjY0MTgzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvZml4LXRoZS1ZQUNDLXJ1bGUtdG8tZml4LWEtYnVpbGRpbmctZmFpbHVyZS5wYXRjaApAQCAtMCwwICsxLDYyIEBACitbUEFUQ0hdIGZpeCB0aGUgWUFDQyBydWxlIHRvIGZpeCBhIGJ1aWxkaW5nIGZhaWx1cmUKKworVXBzdHJlYW0tU3RhdHU6IFBlbmRpbmcKKworVGhlIG9yaWdpbmFsIHJ1bGUgd2lsbCBjcmVhdGUgdGhlIGhlYWRlciBmaWxlIHR3aWNlLCBvbmUgaXMgdGhhdCB0aGUgaGVhZGVyCitmaWxlIGFzIHRoZSBvYmplY3QgZmlsZSBpcyBjcmVhdGVkLCBvdGhlciB0aW1lIGlzIHdoZW4gY3JlYXRlIHRoZSBDIHNvdXJjZSBmaWxlLgorc2luY2UgWUFDQyBhbHdheXMgaGFzICItZCIgcGFyYW1ldGVyLgorCitUaGlzIGxlYWQgdG8gYSByYWNlIHdoZW4gY29tcGlsZSBhbWRfdG9rLm8sIHRoZSBoZWFkZXIgZmlsZSBtYXliZSByZXdyaXR0ZW4uCisgIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIHxhbWRfdG9rLmw6MzU5OjEwOiBlcnJvcjogJ1JCUkFDS0VUJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKKyAgfCAgIikiIHsgcmV0dXJuIFJCUkFDS0VUOyB9CisgIHwgICAgICAgICAgXgorICB8Li4vTWFrZWZpbGUucnVsZXM6NjQ6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbWRfdG9rLm8nIGZhaWxlZAorICB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgbGliL01ha2VmaWxlICAgICB8IDYgKysrKy0tCisgbW9kdWxlcy9NYWtlZmlsZSB8IDMgKystCisgMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWIvTWFrZWZpbGUgYi9saWIvTWFrZWZpbGUKK2luZGV4IDQ3OThhNGIuLmM0MGNmODYgMTAwNjQ0CistLS0gYS9saWIvTWFrZWZpbGUKKysrKyBiL2xpYi9NYWtlZmlsZQorQEAgLTU3LDcgKzU3LDggQEAgbW91bnRfeGRyLm86IG1vdW50X3hkci5jCisgbWFzdGVyX3Rvay5jOiBtYXN0ZXJfdG9rLmwKKyAJJChMRVgpIC1vJEAgLVBtYXN0ZXJfICQ/CisgCistbWFzdGVyX3BhcnNlLnRhYi5jIG1hc3Rlcl9wYXJzZS50YWIuaDogbWFzdGVyX3BhcnNlLnkKKyttYXN0ZXJfcGFyc2UudGFiLmg6IG1hc3Rlcl9wYXJzZS50YWIuYworK21hc3Rlcl9wYXJzZS50YWIuYzogbWFzdGVyX3BhcnNlLnkKKyAJJChZQUNDKSAtdiAtZCAtcCBtYXN0ZXJfIC1iIG1hc3Rlcl9wYXJzZSAkPworIAorIG1hc3Rlcl90b2subzogbWFzdGVyX3Rvay5jIG1hc3Rlcl9wYXJzZS50YWIuaAorQEAgLTY3LDcgKzY4LDggQEAgbWFzdGVyX3BhcnNlLnRhYi5vOiBtYXN0ZXJfcGFyc2UudGFiLmMgbWFzdGVyX3BhcnNlLnRhYi5oCisgbnNzX3Rvay5jOiBuc3NfdG9rLmwKKyAJJChMRVgpIC1vJEAgLVBuc3NfICQ/CisgCistbnNzX3BhcnNlLnRhYi5jIG5zc19wYXJzZS50YWIuaDogbnNzX3BhcnNlLnkKKytuc3NfcGFyc2UudGFiLmg6IG5zc19wYXJzZS50YWIuYworK25zc19wYXJzZS50YWIuYzogbnNzX3BhcnNlLnkKKyAJJChZQUNDKSAtdiAtZCAtcCBuc3NfIC1iIG5zc19wYXJzZSAkPworIAorIG5zc190b2subzogbnNzX3Rvay5jIG5zc19wYXJzZS50YWIuaAorZGlmZiAtLWdpdCBhL21vZHVsZXMvTWFrZWZpbGUgYi9tb2R1bGVzL01ha2VmaWxlCitpbmRleCAyMzdiNzBiLi43MTQxNWQwIDEwMDY0NAorLS0tIGEvbW9kdWxlcy9NYWtlZmlsZQorKysrIGIvbW9kdWxlcy9NYWtlZmlsZQorQEAgLTEwMyw3ICsxMDMsOCBAQCBhbWRfdG9rLmM6IGFtZF90b2subAorIAorIGFtZF90b2subzogYW1kX3Rvay5jIGFtZF9wYXJzZS50YWIuaAorIAorLWFtZF9wYXJzZS50YWIuYyBhbWRfcGFyc2UudGFiLmg6IGFtZF9wYXJzZS55CisrYW1kX3BhcnNlLnRhYi5oOiBhbWRfcGFyc2UudGFiLmMKKythbWRfcGFyc2UudGFiLmM6IGFtZF9wYXJzZS55CisgCSQoWUFDQykgLXYgLWQgLXAgYW1kXyAtYiBhbWRfcGFyc2UgJD8KKyAKKyBhbWRfcGFyc2UudGFiLm86IGFtZF9wYXJzZS50YWIuYyBhbWRfcGFyc2UudGFiLmgKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvZml4X2Rpc2FibGVfbGRhcC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL2ZpeF9kaXNhYmxlX2xkYXAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzFjODUxMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL2ZpeF9kaXNhYmxlX2xkYXAucGF0Y2gKQEAgLTAsMCArMSw0MiBAQAorYXV0b2ZzOiBmYWlscyB0byBjb21waWxlIHdpdGggb3BlbmxkYXAgZGlzYWJsZWQKKworQXMgb2YgNS4wLjYsIGl0IGFwcGVhcnMgdGhhdCBjaGFuZ2VzIHdlcmUgaW50cm9kdWNlZCBzbyB0aGF0IAoraWYgeW91IGNvbXBpbGUgd2l0aCBvcGVubGRhcCBkaXNhYmxlZCBhbmQgb3BlbmxkYXAgaGVhZGVycyBhcmUgbm90CithdmFpbGFibGUsIHRoZW4gYXV0b2ZzIGZhaWxzIHRvIGJ1aWxkLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogQW15IEZvbmcgPGFteS5mb25nQHdpbmRyaXZlci5jb20+CistLQorIGxvb2t1cF9sZGFwLmggfCAgICA0ICsrKysKKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCisKKy0tLQorIGluY2x1ZGUvbG9va3VwX2xkYXAuaCB8ICAgIDQgKysrKworIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKKworLS0tIGEvaW5jbHVkZS9sb29rdXBfbGRhcC5oCisrKysgYi9pbmNsdWRlL2xvb2t1cF9sZGFwLmgKK0BAIC0xLDcgKzEsOSBAQAorICNpZm5kZWYgTE9PS1VQX0xEQVBfSAorICNkZWZpbmUgTE9PS1VQX0xEQVBfSAorIAorKyNpZmRlZiBXSVRIX0xEQVAKKyAjaW5jbHVkZSA8bGRhcC5oPgorKyNlbmRpZgorIAorICNpZmRlZiBXSVRIX1NBU0wKKyAjaW5jbHVkZSA8b3BlbnNzbC9zc2wuaD4KK0BAIC0xMDksMTAgKzExMSwxMiBAQAorIAorICNkZWZpbmUgTERBUF9BVVRIX1VTRVNJTVBMRQkweDAwMDgKKyAKKysjaWZkZWYgV0lUSF9MREFQCisgLyogbG9va3VwX2xkYXAuYyAqLworIExEQVAgKmluaXRfbGRhcF9jb25uZWN0aW9uKHVuc2lnbmVkIGxvZ29wdCwgY29uc3QgY2hhciAqdXJpLCBzdHJ1Y3QgbG9va3VwX2NvbnRleHQgKmN0eHQpOworIGludCB1bmJpbmRfbGRhcF9jb25uZWN0aW9uKHVuc2lnbmVkIGxvZ29wdCwgTERBUCAqbGRhcCwgc3RydWN0IGxvb2t1cF9jb250ZXh0ICpjdHh0KTsKKyBpbnQgYXV0aHR5cGVfcmVxdWlyZXNfY3JlZHMoY29uc3QgY2hhciAqYXV0aHR5cGUpOworKyNlbmRpZgorIAorICNpZmRlZiBXSVRIX1NBU0wKKyAvKiBjeXJ1cy1zYXNsLmMgKi8KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL2ZvcmNlLVNUUklQLXRvLWVtdHB5LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvZm9yY2UtU1RSSVAtdG8tZW10cHkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjM0MDA1YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL2ZvcmNlLVNUUklQLXRvLWVtdHB5LnBhdGNoCkBAIC0wLDAgKzEsMjUgQEAKK1tQQVRDSF0gZm9yY2UgU1RSSVAgdG8gZW10cHkKKworb3RoZXJ3aXNlIHRoZSBnZW5lcmF0ZSBmaWxlIHdpbGwgYmUgc3RyaXBwZWQKKworU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgTWFrZWZpbGUucnVsZXMgfCAgICAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZS5ydWxlcyBiL01ha2VmaWxlLnJ1bGVzCitpbmRleCA3MTBhMmM5Li5lNDMzNGRiIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUucnVsZXMKKysrKyBiL01ha2VmaWxlLnJ1bGVzCitAQCAtMzEsNyArMzEsNyBAQCBMREZMQUdTICAgPz0gLXMKKyBlbmRpZgorIAorIGlmZGVmIERPTlRTVFJJUAorLVNUUklQICAgICA/PSA6CisrU1RSSVAgICAgID0gOgorIGVsc2UKKyBTVFJJUCAgICAgPz0gc3RyaXAgLS1zdHJpcC1kZWJ1ZworIGVuZGlmCistLSAKKzEuNy4xMC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL2xpYnRpcnBjLW5hbWUtY2xhc2gtYmFja291dC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL2xpYnRpcnBjLW5hbWUtY2xhc2gtYmFja291dC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTMwMjFkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvbGlidGlycGMtbmFtZS1jbGFzaC1iYWNrb3V0LnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKKy0tLQorIGxpYi9ycGNfc3Vicy5jIHwgICAxMCAtLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDEwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliL3JwY19zdWJzLmMgYi9saWIvcnBjX3N1YnMuYworaW5kZXggNWQ2ZWFkMC4uYzcxNzdmMiAxMDA2NDQKKy0tLSBhL2xpYi9ycGNfc3Vicy5jCisrKysgYi9saWIvcnBjX3N1YnMuYworQEAgLTM0LDE2ICszNCw2IEBACisgI2luY2x1ZGUgPHBvbGwuaD4KKyAKKyAjaWZkZWYgV0lUSF9MSUJUSVJQQworLSN1bmRlZiBhdXRoX2Rlc3Ryb3kKKy0jZGVmaW5lIGF1dGhfZGVzdHJveShhdXRoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgICAgICAgICAgICAgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHJlZnMgPSBhdXRoX3B1dCgoYXV0aCkpKSA9PSAwKSAgICAgICAgICAgICBcCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCooKGF1dGgpLT5haF9vcHMtPmFoX2Rlc3Ryb3kpKShhdXRoKSk7XAorLSAgICAgICAgICAgICAgICB9IHdoaWxlICgwKQorLSNlbmRpZgorLQorLSNpZmRlZiBXSVRIX0xJQlRJUlBDCisgY29uc3QgcnBjcHJvZ190IHJwY2JfcHJvZyA9IFJQQ0JQUk9HOworIGNvbnN0IHJwY3ZlcnNfdCBycGNiX3ZlcnNpb24gPSBSUENCVkVSUzsKKyAjZWxzZQorLS0gCisxLjcuMTAuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy9saWJ0aXJwYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL2xpYnRpcnBjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2ODk0NGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy9saWJ0aXJwYy5wYXRjaApAQCAtMCwwICsxLDI2IEBACitJbmRleDogYXV0b2ZzLTUuMC43L2FjbG9jYWwubTQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhdXRvZnMtNS4wLjcub3JpZy9hY2xvY2FsLm00CTIwMTItMTAtMjggMTM6MTc6NDUuNTA0MjM3MDI3IC0wNzAwCisrKysgYXV0b2ZzLTUuMC43L2FjbG9jYWwubTQJMjAxMi0xMC0yOCAxMzoyMDo1MC4xMDgyNDI3MzkgLTA3MDAKK0BAIC00MDMsNyArNDAzLDcgQEAKKyAjIHNhdmUgY3VycmVudCBmbGFncworIGFmX2NoZWNrX2xpYnRpcnBjX3NhdmVfY2ZsYWdzPSIkQ0ZMQUdTIgorIGFmX2NoZWNrX2xpYnRpcnBjX3NhdmVfbGRmbGFncz0iJExERkxBR1MiCistQ0ZMQUdTPSIkQ0ZMQUdTIC1JL3Vzci9pbmNsdWRlL3RpcnBjIgorK0NGTEFHUz0iJENGTEFHUyAtST0vdXNyL2luY2x1ZGUvdGlycGMiCisgTERGTEFHUz0iJExERkxBR1MgLWx0aXJwYyIKKyAKKyBBQ19UUllfTElOSygKK0luZGV4OiBhdXRvZnMtNS4wLjcvTWFrZWZpbGUucnVsZXMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhdXRvZnMtNS4wLjcub3JpZy9NYWtlZmlsZS5ydWxlcwkyMDEyLTEwLTI4IDEzOjE3OjQ1LjMwODIzNzAyMiAtMDcwMAorKysrIGF1dG9mcy01LjAuNy9NYWtlZmlsZS5ydWxlcwkyMDEyLTEwLTI4IDEzOjIxOjI1LjcyMDI0MjgwMyAtMDcwMAorQEAgLTQ4LDcgKzQ4LDcgQEAKKyBMSUJTICs9IC1scHRocmVhZAorIAorIGlmZGVmIFRJUlBDTElCCistQ0ZMQUdTICs9IC1JL3Vzci9pbmNsdWRlL3RpcnBjCisrQ0ZMQUdTICs9IC1JPS91c3IvaW5jbHVkZS90aXJwYworIExJQlMgKz0gJChUSVJQQ0xJQikKKyBlbmRpZgorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvbm8tYmFzaC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL25vLWJhc2gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2YwMzYzNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL25vLWJhc2gucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorSW5kZXg6IGF1dG9mcy01LjAuNy9zYW1wbGVzL2F1dG8ubmV0Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYXV0b2ZzLTUuMC43Lm9yaWcvc2FtcGxlcy9hdXRvLm5ldAkyMDEyLTA3LTI0IDIzOjA1OjI2LjAwMDAwMDAwMCAtMDcwMAorKysrIGF1dG9mcy01LjAuNy9zYW1wbGVzL2F1dG8ubmV0CTIwMTItMTAtMjggMTA6NDQ6MjUuMDM1OTkxNzE1IC0wNzAwCitAQCAtMSw0ICsxLDQgQEAKKy0jIS9iaW4vYmFzaAorKyMhL2Jpbi9zaAorIAorICMgVGhpcyBmaWxlIG11c3QgYmUgZXhlY3V0YWJsZSB0byB3b3JrISBjaG1vZCA3NTUhCisgCitJbmRleDogYXV0b2ZzLTUuMC43L3NhbXBsZXMvYXV0by5zbWIKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhdXRvZnMtNS4wLjcub3JpZy9zYW1wbGVzL2F1dG8uc21iCTIwMTItMDctMjQgMjM6MDU6MjYuMDAwMDAwMDAwIC0wNzAwCisrKysgYXV0b2ZzLTUuMC43L3NhbXBsZXMvYXV0by5zbWIJMjAxMi0xMC0yOCAxMDo0NDoyNS4wMzU5OTE3MTUgLTA3MDAKK0BAIC0xLDQgKzEsNCBAQAorLSMhL2Jpbi9iYXNoCisrIyEvYmluL3NoCisgCisgIyBUaGlzIGZpbGUgbXVzdCBiZSBleGVjdXRhYmxlIHRvIHdvcmshIGNobW9kIDc1NSEKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL3JlbW92ZS1iYXNoaXNtLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvcmVtb3ZlLWJhc2hpc20ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjgyZDZmMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL3JlbW92ZS1iYXNoaXNtLnBhdGNoCkBAIC0wLDAgKzEsMTIwIEBACitGcm9tIDc5MDM0Zjk2OWJiZDEyMjE1ZDY1YjQzMzdkZmQzOGExM2QwMmQ0ZWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFNhdCwgMTMgU2VwIDIwMTQgMjA6MTk6MjggLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gYXV0b2ZzLmluaXQuaW46IHJlbW92ZSBiYXNoaXNtCisKK0l0IGNhbiB3b3JrIHdpdGhvdXQgdGhlIGJhc2hpc20uCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBNaWtlIExvb2lqbWFucyA8bWlrZS5sb29pam1hbnNAdG9waWMubmw+CitTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIHJlZGhhdC9hdXRvZnMuaW5pdC5pbiB8ICAgMTIgKysrKysrLS0tLS0tCisgc2FtcGxlcy9yYy5hdXRvZnMuaW4gIHwgICAxMCArKysrKy0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3JlZGhhdC9hdXRvZnMuaW5pdC5pbiBiL3JlZGhhdC9hdXRvZnMuaW5pdC5pbgoraW5kZXggOWQwMDhmZi4uNGYxYzBkOCAxMDA2NDQKKy0tLSBhL3JlZGhhdC9hdXRvZnMuaW5pdC5pbgorKysrIGIvcmVkaGF0L2F1dG9mcy5pbml0LmluCitAQCAtMSw0ICsxLDQgQEAKKy0jIS9iaW4vYmFzaAorKyMhL2Jpbi9zaAorICMKKyAjIHJjIGZpbGUgZm9yIGF1dG9tb3VudCB1c2luZyBhIFN1bi1zdHlsZSAibWFzdGVyIG1hcCIuCisgIworQEAgLTQyLDcgKzQyLDcgQEAgaWYgWyAtciAkY29uZmRpci9hdXRvZnMgXTsgdGhlbgorIAkuICRjb25mZGlyL2F1dG9mcworIGZpCisgCistZnVuY3Rpb24gc3RhcnQoKSB7Cisrc3RhcnQoKSB7CisgCSMgTWFrZSBzdXJlIGF1dG9mczQgbW9kdWxlIGlzIGxvYWRlZAorIAlpZiAhIGdyZXAgLXEgYXV0b2ZzIC9wcm9jL2ZpbGVzeXN0ZW1zCisgCXRoZW4KK0BAIC0xMDIsNyArMTAyLDcgQEAgZnVuY3Rpb24gc3RhcnQoKSB7CisgCXJldHVybiAkUkVUVkFMCisgfQorIAorLWZ1bmN0aW9uIHN0b3AoKSB7Cisrc3RvcCgpIHsKKyAJZWNobyAtbiAkIlN0b3BwaW5nICRwcm9nOiAiCisgCWNvdW50PTAKKyAJd2hpbGUgWyAtbiAiYHBpZG9mICRwcm9nYCIgLWEgJGNvdW50IC1sdCAxNSBdIDsgZG8KK0BAIC0xMjUsNyArMTI1LDcgQEAgZnVuY3Rpb24gc3RvcCgpIHsKKyAJcmV0dXJuICRSRVRWQUwKKyB9CisgCistZnVuY3Rpb24gcmVzdGFydCgpIHsKKytyZXN0YXJ0KCkgeworIAlzdGF0dXMgYXV0b2ZzID4gL2Rldi9udWxsIDI+JjEKKyAJaWYgWyAkPyAtZXEgMCBdOyB0aGVuCisgCQlzdG9wCitAQCAtMTQzLDcgKzE0Myw3IEBAIGZ1bmN0aW9uIHJlc3RhcnQoKSB7CisgCXN0YXJ0CisgfQorIAorLWZ1bmN0aW9uIHJlbG9hZCgpIHsKKytyZWxvYWQoKSB7CisgCWlmIFsgISAtZiAvdmFyL2xvY2svc3Vic3lzL2F1dG9mcyBdOyB0aGVuCisgCQllY2hvICQiJHByb2cgbm90IHJ1bm5pbmciCisgCQlSRVRWQUw9MQorQEAgLTE2MSw3ICsxNjEsNyBAQCBmdW5jdGlvbiByZWxvYWQoKSB7CisgCXJldHVybiAkUkVUVkFMCisgfQorIAorLWZ1bmN0aW9uIHVzYWdlX21lc3NhZ2UoKSB7CisrdXNhZ2VfbWVzc2FnZSgpIHsKKyAJZWNobyAkIlVzYWdlOiAkMCB7c3RhcnR8Zm9yY2VzdGFydHxzdG9wfHN0YXR1c3xyZXN0YXJ0fGZvcmNlLXJlbG9hZHxmb3JjZXJlc3RhcnR8cmVsb2FkfGNvbmRyZXN0YXJ0fHRyeS1yZXN0YXJ0fHVzYWdlfSIKKyB9CisgCitkaWZmIC0tZ2l0IGEvc2FtcGxlcy9yYy5hdXRvZnMuaW4gYi9zYW1wbGVzL3JjLmF1dG9mcy5pbgoraW5kZXggNDg3NjY5Zi4uZTk2Y2RlMSAxMDA2NDQKKy0tLSBhL3NhbXBsZXMvcmMuYXV0b2ZzLmluCisrKysgYi9zYW1wbGVzL3JjLmF1dG9mcy5pbgorQEAgLTEsNCArMSw0IEBACistIyEvYmluL2Jhc2gKKysjIS9iaW4vc2gKKyAjCisgIyByYyBmaWxlIGZvciBhdXRvbW91bnQgdXNpbmcgYSBTdW4tc3R5bGUgIm1hc3RlciBtYXAiLgorICMKK0BAIC0zNiw3ICszNiw3IEBAIGlmIFsgLXIgJGNvbmZkaXIvYXV0b2ZzIF07IHRoZW4KKyAJLiAkY29uZmRpci9hdXRvZnMKKyBmaQorIAorLWZ1bmN0aW9uIHN0YXJ0KCkgeworK3N0YXJ0KCkgeworIAllY2hvIC1uICJTdGFydGluZyAkcHJvZzogIgorIAorIAkjIE1ha2Ugc3VyZSBhdXRvZnM0IG1vZHVsZSBpcyBsb2FkZWQKK0BAIC04NSw3ICs4NSw3IEBAIGZ1bmN0aW9uIHN0YXJ0KCkgeworIAlyZXR1cm4gJFJFVFZBTAorIH0KKyAKKy1mdW5jdGlvbiBzdG9wKCkgeworK3N0b3AoKSB7CisgCWVjaG8gLW4gJCJTdG9wcGluZyAkcHJvZzogIgorIAljb3VudD0wCisgCXdoaWxlIFsgLW4gImBwaWRvZiAkcHJvZ2AiIC1hICRjb3VudCAtbHQgMTUgXSA7IGRvCitAQCAtMTAyLDcgKzEwMiw3IEBAIGZ1bmN0aW9uIHN0b3AoKSB7CisgCXJldHVybiAkUkVUVkFMCisgfQorIAorLWZ1bmN0aW9uIHJlc3RhcnQoKSB7CisrcmVzdGFydCgpIHsKKyAJc3RvcAorIAl3aGlsZSBbIC1uICJgcGlkb2YgJHByb2dgIiBdIDsgZG8KKyAJCXNsZWVwIDUKK0BAIC0xMTAsNyArMTEwLDcgQEAgZnVuY3Rpb24gcmVzdGFydCgpIHsKKyAJc3RhcnQKKyB9CisgCistZnVuY3Rpb24gcmVsb2FkKCkgeworK3JlbG9hZCgpIHsKKyAJcGlkPWBwaWRvZiAkcHJvZ2AKKyAJaWYgWyAteiAkcGlkIF07IHRoZW4KKyAJCWVjaG8gJCIkcHJvZyBub3QgcnVubmluZyIKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy91c2luZy1wa2ctY29uZmlnLXRvLWRldGVjdC1saWJ4bWwtMi4wLWFuZC1rcmI1LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvdXNpbmctcGtnLWNvbmZpZy10by1kZXRlY3QtbGlieG1sLTIuMC1hbmQta3JiNS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45M2I3NmJkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvdXNpbmctcGtnLWNvbmZpZy10by1kZXRlY3QtbGlieG1sLTIuMC1hbmQta3JiNS5wYXRjaApAQCAtMCwwICsxLDM5IEBACit1c2luZyBwa2ctY29uZmlnIHRvIGRldGVjdCBsaWJ4bWwtMi4wIGFuZCBrcmI1CisKK1Vwc3RyZWFtLXN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBjb25maWd1cmUuaW4gfCAgIDE2ICsrKysrKysrKysrKysrLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KK2luZGV4IDM5MmQxMjIuLmEzMDI4YWEgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuaW4KKysrKyBiL2NvbmZpZ3VyZS5pbgorQEAgLTE2Miw4ICsxNjIsMjAgQEAgaWYgdGVzdCB4JGVuYWJsZV9zbG9wcHlfbW91bnQgPSB4eWVzOyB0aGVuCisgZmkKKyAKKyAjIExEQVAgU0FTTCBhdXRoIG5lZWRzIGxpYnhtbCBhbmQgS2VyYmVyb3MKKy1BRl9DSEVDS19MSUJYTUwoKQorLUFGX0NIRUNLX0tSQjUoKQorK1BLR19DSEVDS19NT0RVTEVTKFhNTCwgW2xpYnhtbC0yLjBdLEhBVkVfTElCWE1MPTEsSEFWRV9MSUJYTUw9MCkKKytBQ19TVUJTVChbSEFWRV9MSUJYTUxdKQorK1hNTF9GTEFHUz0kWE1MX0NGTEFHUworKworK1BLR19DSEVDS19NT0RVTEVTKEtSQjUsIFtrcmI1XSxIQVZFX0tSQjU9MSxIQVZFX0tSQjU9MCkKKytBQ19TVUJTVChbSEFWRV9LUkI1XSkKKytpZiB0ZXN0ICJ4JEhBVkVfS1JCNSIgPSAieDEiOyB0aGVuCisrICBTQVZFX0NGTEFHUz0kQ0ZMQUdTCisrICBTQVZFX0xJQlM9JExJQlMKKysgIENGTEFHUz0iJENGTEFHUyAkS1JCNV9GTEFHUyIKKysgIExJQlM9IiRMSUJTICRLUkI1X0xJQlMiCisrCisrICBBQ19DSEVDS19GVU5DUyhba3JiNV9wcmluY2lwYWxfZ2V0X3JlYWxtXSkKKytmaQorIAorIEFDX1NFQVJDSF9MSUJTKFt2ZXJzaW9uc29ydF0sW10pCisgaWYgdGVzdCAiJGFjX2N2X3NlYXJjaF92ZXJzaW9uc29ydCIgPSAibm8iOyB0aGVuCistLSAKKzEuNy4xMC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzXzUuMS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnNfNS4xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGY0YzI0NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzXzUuMS4xLmJiCkBAIC0wLDAgKzEsNzIgQEAKK1NVTU1BUlkgPSAiS2VybmVsIGJhc2VkIGF1dG9tb3VudGVyIGZvciBsaW51eCIKK1NFQ1RJT04gPSAidXRpbHMiCitMSUNFTlNFID0gIkdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyIKKworREVQRU5EUyArPSAibGlidGlycGMgZmxleC1uYXRpdmUgYmlzb24tbmF0aXZlIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgc3lzdGVtZAorCitTUkNfVVJJID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvZGFlbW9ucy9hdXRvZnMvdjUvYXV0b2ZzLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9hdXRvZnMtNS4wLjctaW5jbHVkZS1saW51eC1uZnMuaC1kaXJlY3RseS1pbi1ycGNfc3ViLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL25vLWJhc2gucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY3Jvc3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbGlidGlycGMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbGlidGlycGMtbmFtZS1jbGFzaC1iYWNrb3V0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2F1dG9mcy01LjAuNy1kby1ub3QtY2hlY2stZm9yLW1vZHByb2JlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeF9kaXNhYmxlX2xkYXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYXV0b2ZzLTUuMC43LWZpeC1saWItZGVwcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9hZGQtdGhlLW5lZWRlZC1zdGRhcmcuaC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly91c2luZy1wa2ctY29uZmlnLXRvLWRldGVjdC1saWJ4bWwtMi4wLWFuZC1rcmI1LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZvcmNlLVNUUklQLXRvLWVtdHB5LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3JlbW92ZS1iYXNoaXNtLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC10aGUtWUFDQy1ydWxlLXRvLWZpeC1hLWJ1aWxkaW5nLWZhaWx1cmUucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZTE0M2RmNjZiNjE0YjhjZGIxZmY1MzM3MzVmOGUxMmQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzk1NDE5MzgzYjEyMGQxNTY5OWFiM2I4OWVhMGYzZDAyOWY2ZmIyODQwNWE4Mzk4MmQzMDVjNGI3YjYxMTMwZiIKKworaW5oZXJpdCB1cGRhdGUtcmMuZCBwa2djb25maWcKKworSU5JVFNDUklQVF9OQU1FID0gImF1dG9mcyIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIgorCisjIEZJWE1FOiBtb2R1bGVzL01ha2VmaWxlIGhhcyBjcmFwcHkgcnVsZXMgdGhhdCBkb24ndCBvYmV5IExERkxBR1MKK0NGTEFHUyArPSAiJHtMREZMQUdTfSIKKworUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLXdpdGgtc3lzdGVtZD0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLC0td2l0aG91dC1zeXN0ZW1kLHN5c3RlbWQiCisKK1BBQ0tBR0VDT05GSUcgPz0gIiR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3N5c3RlbWQnLCAnJywgZCl9IgorCitFWFRSQV9PRU1BS0UgPSAiRE9OVFNUUklQPTEiCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1tb3VudC1sb2NraW5nIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1pZ25vcmUtYnVzeSAtLXdpdGgtb3BlbmxkYXA9bm8gXAorICAgICAgICAgICAgICAgIC0td2l0aC1zYXNsPW5vIC0td2l0aC1saWJ0aXJwYz15ZXMgXAorICAgICAgICAgICAgICAgIC0td2l0aC1wYXRoPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfSBcCisiCitDQUNIRURfQ09ORklHVVJFVkFSUyA9ICJhY19jdl9wYXRoX1JBTkxJQj0ke1JBTkxJQn0gXAorICAgICAgICAgICAgICAgICAgICAgICAgYWNfY3ZfcGF0aF9SUENHRU49cnBjZ2VuIFwKKyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgIHNlZCAtZSAiczpmaWxhZ2RpcjpmbGFnZGlyOiIgLWkgY29uZmlndXJlLmluCisgICAgaWYgWyAhIC1lIGFjaW5jbHVkZS5tNCBdOyB0aGVuCisgICAgICAgIGNwIGFjbG9jYWwubTQgYWNpbmNsdWRlLm00CisgICAgZmkKK30KKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIGlmIFsgLWQgJHtEfS9ydW4gXTsgdGhlbgorCXJtZGlyICR7RH0vcnVuCisgICAgZmkKKyAgICBpZiBbIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biBdOyB0aGVuCisJcm1kaXIgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuCisgICAgZmkKK30KKworSU5TQU5FX1NLSVBfJHtQTn0gPSAiZGV2LXNvIgorCitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImF1dG9mcy5zZXJ2aWNlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2N5cnVzLXNhc2wvY3lydXMtc2FzbC9GaXgtaGFyZGNvZGVkLWxpYmRpci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9jeXJ1cy1zYXNsL2N5cnVzLXNhc2wvRml4LWhhcmRjb2RlZC1saWJkaXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2ZhODQzMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9jeXJ1cy1zYXNsL2N5cnVzLXNhc2wvRml4LWhhcmRjb2RlZC1saWJkaXIucGF0Y2gKQEAgLTAsMCArMSwyNSBAQAorRml4IGhhcmRjb2RlZCBsaWJkaXIuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZyAKKworU2lnbmVkLW9mZi1ieTogUm95LkxpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgcGx1Z2lucy9NYWtlZmlsZS5hbSB8ICAgIDIgKy0KKyAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3BsdWdpbnMvTWFrZWZpbGUuYW0gYi9wbHVnaW5zL01ha2VmaWxlLmFtCitpbmRleCBiMDA5MTVmLi4yNTI2MmExIDEwMDY0NAorLS0tIGEvcGx1Z2lucy9NYWtlZmlsZS5hbQorKysrIGIvcGx1Z2lucy9NYWtlZmlsZS5hbQorQEAgLTYyLDcgKzYyLDcgQEAgcGx1Z2luZGlyID0gQHBsdWdpbmRpckAKKyAKKyBjb21tb25fc291cmNlcyA9IHBsdWdpbl9jb21tb24uYyBwbHVnaW5fY29tbW9uLmgKKyAKKy1zYXNsZGlyID0gJChwcmVmaXgpL2xpYi9zYXNsMgorK3Nhc2xkaXIgPSAkKGxpYmRpcikvc2FzbDIKKyBzYXNsX0xUTElCUkFSSUVTID0gQFNBU0xfTUVDSFNACisgRVhUUkFfTFRMSUJSQVJJRVMgPSBsaWJwbGFpbi5sYSBsaWJhbm9ueW1vdXMubGEgbGlia2VyYmVyb3M0LmxhIGxpYmNyYW1tZDUubGEgXAorIAlsaWJnczIubGEgbGliZ3NzYXBpdjIubGEgbGliZGlnZXN0bWQ1LmxhIGxpYmxvZ2luLmxhIGxpYnNycC5sYSBsaWJvdHAubGEgXAorLS0gCisxLjcuNC4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9jeXJ1cy1zYXNsL2N5cnVzLXNhc2wvYXZvaWQtdG8tY2FsbC1BQ19UUllfUlVOLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2N5cnVzLXNhc2wvY3lydXMtc2FzbC9hdm9pZC10by1jYWxsLUFDX1RSWV9SVU4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjQwNzcyMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9jeXJ1cy1zYXNsL2N5cnVzLXNhc2wvYXZvaWQtdG8tY2FsbC1BQ19UUllfUlVOLnBhdGNoCkBAIC0wLDAgKzEsNDYgQEAKK0F2b2lkIHRvIGNhbGwgQUNfVFJZX1JVTgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK0F2b2lkIHRvIGNhbGwgQUNfVFJZX1JVTiB0byBjaGVjayBpZiBHU1NBUEkgbGlicmFyaWVzIHN1cHBvcnQgU1BORUdPCitvbiBjcm9zcy1jb21waWxlIGVudmlyb25tZW50IGJ5IGRlZmluaXRpb24gQUNfQVJHX0VOQUJMRSBlbmFibGUtc3BuZWdvCisKK1NpZ25lZC1vZmYtYnk6IFJveS5MaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIGNtdWxvY2FsL3Nhc2wyLm00IHwgICAxMyArKysrKysrKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NtdWxvY2FsL3Nhc2wyLm00IGIvY211bG9jYWwvc2FzbDIubTQKK2luZGV4IDNjMjg0MWEuLmE1ZWNmODEgMTAwNjQ0CistLS0gYS9jbXVsb2NhbC9zYXNsMi5tNAorKysrIGIvY211bG9jYWwvc2FzbDIubTQKK0BAIC0yODEsNiArMjgxLDE3IEBAIGlmIHRlc3QgIiRnc3NhcGkiICE9IG5vOyB0aGVuCisgCisgICBjbXVfc2F2ZV9MSUJTPSIkTElCUyIKKyAgIExJQlM9IiRMSUJTICRHU1NBUElCQVNFX0xJQlMiCisrICBBQ19BUkdfRU5BQkxFKFtzcG5lZ29dLAorKyAgICAgICAgICAgICAgW0FDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1zcG5lZ289PERJUj5dLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbmFibGUgU1BORUdPIHN1cHBvcnQgaW4gR1NTQVBJIGxpYnJhcmllcyBbbm9dXSldLAorKyAgICAgICAgICAgICAgW3NwbmVnbz0kZW5hYmxldmFsXSwKKysgICAgICAgICAgICAgIFtzcG5lZ289bm9dKQorKworKyAgaWYgdGVzdCAiJHNwbmVnbyIgPSBubzsgdGhlbgorKyAgICAgICBlY2hvICJubyIKKysgIGVsaWYgdGVzdCAiJHNwbmVnbyIgPSB5ZXM7IHRoZW4KKysgICAgICAgQUNfREVGSU5FKEhBVkVfR1NTX1NQTkVHTywsW0RlZmluZSBpZiB5b3VyIEdTU0FQSSBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyBTUE5FR09dKQorKyAgZWxzZQorICAgQUNfTVNHX0NIRUNLSU5HKFtmb3IgU1BORUdPIHN1cHBvcnQgaW4gR1NTQVBJIGxpYnJhcmllc10pCisgICBBQ19UUllfUlVOKFsKKyAjaWZkZWYgSEFWRV9HU1NBUElfSAorQEAgLTMwOCw3ICszMTksNyBAQCBpbnQgbWFpbih2b2lkKQorIAlBQ19NU0dfUkVTVUxUKHllcykgXSwKKyAJQUNfTVNHX1JFU1VMVChubykpCisgICBMSUJTPSIkY211X3NhdmVfTElCUyIKKy0KKysgICBmaQorIGVsc2UKKyAgIEFDX01TR19SRVNVTFQoW2Rpc2FibGVkXSkKKyBmaQorLS0gCisxLjcuMTAuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvY3lydXMtc2FzbC9jeXJ1cy1zYXNsL2RlYmlhbl9wYXRjaGVzXzAwMDlfc2FzbGRiX2FsLmRpZmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvY3lydXMtc2FzbC9jeXJ1cy1zYXNsL2RlYmlhbl9wYXRjaGVzXzAwMDlfc2FzbGRiX2FsLmRpZmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGVmZjVhOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9jeXJ1cy1zYXNsL2N5cnVzLXNhc2wvZGViaWFuX3BhdGNoZXNfMDAwOV9zYXNsZGJfYWwuZGlmZgpAQCAtMCwwICsxLDE0IEBACitBdXRob3I6IEZhYmlhbiBGYWdlcmhvbG0gPGZhYmJlQGRlYmlhbi5vcmc+CitEZXNjcmlwdGlvbjogRml4IGxpbmtpbmcgd2l0aCBsaWJzYXNsZGIuYSB3aGVuIHNhc2xhdXRoZCBpcyBidWlsdCB3aXRoIHNhc2xkYgorc3VwcG9ydC4KKy0tLSBhL3Nhc2xhdXRoZC9jb25maWd1cmUuaW4KKysrKyBiL3Nhc2xhdXRoZC9jb25maWd1cmUuaW4KK0BAIC03Nyw3ICs3Nyw3IEBAIGlmIHRlc3QgIiRhdXRoc2FzbGRiIiAhPSBubzsgdGhlbgorICAgQUNfREVGSU5FKEFVVEhfU0FTTERCLFtdLFtJbmNsdWRlIFNBU0xkYiBTdXBwb3J0XSkKKyAgIFNBU0xfREJfUEFUSF9DSEVDSygpCisgICBTQVNMX0RCX0NIRUNLKCkKKy0gIFNBU0xfREJfTElCPSIkU0FTTF9EQl9MSUIgLi4vc2FzbGRiLy5saWJzL2xpYnNhc2xkYi5hbCIKKysgIFNBU0xfREJfTElCPSIkU0FTTF9EQl9MSUIgLi4vc2FzbGRiLy5saWJzL2xpYnNhc2xkYi5hIgorIGZpCisgCisgQUNfQVJHX0VOQUJMRShodHRwZm9ybSwgWyAgLS1lbmFibGUtaHR0cGZvcm0gICAgICAgZW5hYmxlIEhUVFAgZm9ybSBhdXRoZW50aWNhdGlvbiBbW25vXV0gXSwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9jeXJ1cy1zYXNsL2N5cnVzLXNhc2wvZGViaWFuX3BhdGNoZXNfMDAxNF9hdm9pZF9waWNfb3ZlcndyaXRlLmRpZmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvY3lydXMtc2FzbC9jeXJ1cy1zYXNsL2RlYmlhbl9wYXRjaGVzXzAwMTRfYXZvaWRfcGljX292ZXJ3cml0ZS5kaWZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlNWIxNzUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvY3lydXMtc2FzbC9jeXJ1cy1zYXNsL2RlYmlhbl9wYXRjaGVzXzAwMTRfYXZvaWRfcGljX292ZXJ3cml0ZS5kaWZmCkBAIC0wLDAgKzEsMjcgQEAKK0F1dGhvcjogRmFiaWFuIEZhZ2VyaG9sbSA8ZmFiYmVAZGViaWFuLm9yZz4KK0Rlc2NyaXB0aW9uOiBUaGlzIHBhdGNoIG1ha2VzIHN1cmUgdGhlIG5vbi1QSUMgdmVyc2lvbiBvZiBsaWJzYXNsZGIuYSwgd2hpY2gKK2lzIGNyZWF0ZWQgb3V0IG9mIG5vbi1QSUMgb2JqZWN0cywgaXMgbm90IGdvaW5nIHRvIG92ZXJ3cml0ZSB0aGUgUElDIHZlcnNpb24sCit3aGljaCBpcyBjcmVhdGVkIG91dCBvZiBQSUMgb2JqZWN0cy4gVGhlIFBJQyB2ZXJzaW9uIGlzIHBsYWNlZCBpbiAubGlicywgYW5kCit0aGUgbm9uLVBJQyB2ZXJzaW9uIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4gIFRoaXMgZW5zdXJlcyB0aGF0IGJvdGggbm9uLVBJQworYW5kIFBJQyB2ZXJzaW9ucyBhcmUgYXZhaWxhYmxlIGluIHRoZSBjb3JyZWN0IGxvY2F0aW9ucy4KKy0tLSBhL2xpYi9NYWtlZmlsZS5hbQorKysrIGIvbGliL01ha2VmaWxlLmFtCitAQCAtNzgsNyArNzgsNyBAQCBlbmRpZgorIAorIGxpYnNhc2wyLmE6IGxpYnNhc2wyLmxhICQoU0FTTF9TVEFUSUNfT0JKUykKKyAJQGVjaG8gYWRkaW5nIHN0YXRpYyBwbHVnaW5zIGFuZCBkZXBlbmRlbmNpZXMKKy0JJChBUikgY3J1IC5saWJzLyRAICQoU0FTTF9TVEFUSUNfT0JKUykKKysJJChBUikgY3J1ICRAICQoU0FTTF9TVEFUSUNfT0JKUykKKyAJQGZvciBpIGluIC4vbGlic2FzbDIubGEgLi4vc2FzbGRiL2xpYnNhc2xkYi5sYSAuLi9wbHVnaW5zL2xpYioubGE7IGRvIFwKKyAJaWYgdGVzdCAhIC1mICQkaTsgdGhlbiBjb250aW51ZTsgZmk7IC4gJCRpOyBcCisgCWZvciBqIGluICQkZGVwZW5kZW5jeV9saWJzIGZvbzsgZG8gXAorLS0tIGEvc2FzbGRiL01ha2VmaWxlLmFtCisrKysgYi9zYXNsZGIvTWFrZWZpbGUuYW0KK0BAIC02Myw2ICs2Myw2IEBAIGxpYnNhc2xkYl9hX1NPVVJDRVMgPQorIEVYVFJBX2xpYnNhc2xkYl9hX1NPVVJDRVMgPQorIAorIGxpYnNhc2xkYi5hOiBsaWJzYXNsZGIubGEgJChTQVNMX0RCX0JBQ0tFTkRfU1RBVElDKQorLQkkKEFSKSBjcnUgLmxpYnMvJEAgJChTQVNMX0RCX0JBQ0tFTkRfU1RBVElDKQorKwkkKEFSKSBjcnUgJEAgJChTQVNMX0RCX0JBQ0tFTkRfU1RBVElDKQorIAorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2N5cnVzLXNhc2wvY3lydXMtc2FzbC9zYXNsLmgtaW5jbHVkZS1zdGRkZWYuaC1mb3Itc2l6ZV90LW9uLU5ldEJTRC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9jeXJ1cy1zYXNsL2N5cnVzLXNhc2wvc2FzbC5oLWluY2x1ZGUtc3RkZGVmLmgtZm9yLXNpemVfdC1vbi1OZXRCU0QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWNiYWI4NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9jeXJ1cy1zYXNsL2N5cnVzLXNhc2wvc2FzbC5oLWluY2x1ZGUtc3RkZGVmLmgtZm9yLXNpemVfdC1vbi1OZXRCU0QucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSA5MmQ3Mjc4OWM4MTFiMGQ1NWY2MjRhOGJhYzVjY2M0NDEyZjU5OTZlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2VuIE11cmNoaXNvbiA8bXVyY2hAYW5kcmV3LmNtdS5lZHU+CitEYXRlOiBUaHUsIDIwIERlYyAyMDEyIDE4OjE0OjUwIC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIHNhc2wuaDogI2luY2x1ZGUgPHN0ZGRlZi5oPiBmb3Igc2l6ZV90IG9uIE5ldEJTRAorCitUaGlzIHBhdGNoIHdhcyBpbXBvcnRlZCBmcm9tIGdpdDovL2dpdC5jeXJ1c2ltYXAub3JnL2N5cnVzLXNhc2wKK2NvbW1pdCA2N2ExODg2OTM3OTZhMTRlM2E3NmFjNjAzMTA0ODA3ZmJiZmRkZmM0CisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworU2lnbmVkLW9mZi1ieTogTWFyayBBc3NlbHN0aW5lIDxtYXJrLmFzc2Vsc3RpbmVAd2luZHJpdmVyLmNvbT4KKy0tLQorIGluY2x1ZGUvc2FzbC5oIHwgMiArKworIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2luY2x1ZGUvc2FzbC5oIGIvaW5jbHVkZS9zYXNsLmgKK2luZGV4IGZlZjRkNTEuLjhiOGE2M2YgMTAwNzU1CistLS0gYS9pbmNsdWRlL3Nhc2wuaAorKysrIGIvaW5jbHVkZS9zYXNsLmgKK0BAIC0xMjEsNiArMTIxLDggQEAKKyAjaWZuZGVmIFNBU0xfSAorICNkZWZpbmUgU0FTTF9IIDEKKyAKKysjaW5jbHVkZSA8c3RkZGVmLmg+ICAvKiBGb3Igc2l6ZV90ICovCisrCisgLyogS2VlcCBpbiBzeW5jIHdpdGggd2luMzIvY29tbW9uLm1hayAqLworICNkZWZpbmUgU0FTTF9WRVJTSU9OX01BSk9SIDIKKyAjZGVmaW5lIFNBU0xfVkVSU0lPTl9NSU5PUiAxCistLSAKKzEuOC4zLjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2N5cnVzLXNhc2wvY3lydXMtc2FzbC9zYXNsYXV0aGQuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9jeXJ1cy1zYXNsL2N5cnVzLXNhc2wvc2FzbGF1dGhkLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTkxYTlkMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9jeXJ1cy1zYXNsL2N5cnVzLXNhc2wvc2FzbGF1dGhkLmNvbmYKQEAgLTAsMCArMSwxMSBAQAorIyBEaXJlY3RvcnkgaW4gd2hpY2ggdG8gcGxhY2Ugc2FzbGF1dGhkJ3MgbGlzdGVuaW5nIHNvY2tldCwgcGlkIGZpbGUsIGFuZCBzbworIyBvbi4gIFRoaXMgZGlyZWN0b3J5IG11c3QgYWxyZWFkeSBleGlzdC4KK1NPQ0tFVERJUj1ATE9DQUxTVEFURURJUkAvcnVuL3Nhc2xhdXRoZAorCisjIE1lY2hhbmlzbSB0byB1c2Ugd2hlbiBjaGVja2luZyBwYXNzd29yZHMuICBSdW4gInNhc2xhdXRoZCAtdiIgdG8gZ2V0IGEgbGlzdAorIyBvZiB3aGljaCBtZWNoYW5pc20geW91ciBpbnN0YWxsYXRpb24gd2FzIGNvbXBpbGVkIHdpdGggdGhlIGFibGl0eSB0byB1c2UuCitNRUNIPXBhbQorCisjIEFkZGl0aW9uYWwgZmxhZ3MgdG8gcGFzcyB0byBzYXNsYXV0aGQgb24gdGhlIGNvbW1hbmQgbGluZS4gIFNlZSBzYXNsYXV0aGQoOCkKKyMgZm9yIHRoZSBsaXN0IG9mIGFjY2VwdGVkIGZsYWdzLgorRkxBR1M9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvY3lydXMtc2FzbC9jeXJ1cy1zYXNsL3Nhc2xhdXRoZC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2N5cnVzLXNhc2wvY3lydXMtc2FzbC9zYXNsYXV0aGQuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NmRiYWUzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2N5cnVzLXNhc2wvY3lydXMtc2FzbC9zYXNsYXV0aGQuc2VydmljZQpAQCAtMCwwICsxLDEyIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPVNBU0wgYXV0aGVudGljYXRpb24gZGFlbW9uLgorQWZ0ZXI9c3lzbG9nLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworUElERmlsZT1ATE9DQUxTVEFURURJUkAvcnVuL3Nhc2xhdXRoZC9zYXNsYXV0aGQucGlkCitFbnZpcm9ubWVudEZpbGU9QFNZU0NPTkZESVJAL2RlZmF1bHQvc2FzbGF1dGhkCitFeGVjU3RhcnQ9QFNCSU5ESVJAL3Nhc2xhdXRoZCAtbSAkU09DS0VURElSIC1hICRNRUNIICRGTEFHUworCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvY3lydXMtc2FzbC9jeXJ1cy1zYXNsXzIuMS4yNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9jeXJ1cy1zYXNsL2N5cnVzLXNhc2xfMi4xLjI2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkYTNkOTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvY3lydXMtc2FzbC9jeXJ1cy1zYXNsXzIuMS4yNi5iYgpAQCAtMCwwICsxLDk1IEBACitTVU1NQVJZID0gIkdlbmVyaWMgY2xpZW50L3NlcnZlciBsaWJyYXJ5IGZvciBTQVNMIGF1dGhlbnRpY2F0aW9uIgorU0VDVElPTiA9ICJsaWJzIgorREVQRU5EUyA9ICJvcGVuc3NsIHZpcnR1YWwvZGIiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTNmNTVlMDk3NGUzZDZkYjAwY2E2ZjU3ZjJkMjA2Mzk2IgorCitTUkNfVVJJID0gImZ0cDovL2Z0cC5jeXJ1c2ltYXAub3JnL2N5cnVzLXNhc2wvY3lydXMtc2FzbC0ke1BWfS50YXIuZ3ogXAorCSAgIGZpbGU6Ly9hdm9pZC10by1jYWxsLUFDX1RSWV9SVU4ucGF0Y2ggXAorCSAgIGZpbGU6Ly9GaXgtaGFyZGNvZGVkLWxpYmRpci5wYXRjaCBcCisJICAgZmlsZTovL2RlYmlhbl9wYXRjaGVzXzAwMDlfc2FzbGRiX2FsLmRpZmYgXAorCSAgIGZpbGU6Ly9kZWJpYW5fcGF0Y2hlc18wMDE0X2F2b2lkX3BpY19vdmVyd3JpdGUuZGlmZiBcCisJICAgZmlsZTovL3Nhc2wuaC1pbmNsdWRlLXN0ZGRlZi5oLWZvci1zaXplX3Qtb24tTmV0QlNELnBhdGNoIFwKKwkgICBmaWxlOi8vc2FzbGF1dGhkLnNlcnZpY2UgXAorCSAgIGZpbGU6Ly9zYXNsYXV0aGQuY29uZiBcCisJICAgIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIHVzZXJhZGQgc3lzdGVtZAorCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aC1kYmxpYj1iZXJrZWxleSBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1iZGItbGliZGlyPSR7U1RBR0lOR19MSUJESVJ9IFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLWJkYi1pbmNkaXI9JHtTVEFHSU5HX0lOQ0RJUn0gXAorICAgICAgICAgICAgICAgICAtLXdpdGgtYmRiPWRiLTUuMyBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1wbHVnaW5kaXI9IiR7bGliZGlyfS9zYXNsMiIgXAorICAgICAgICAgICAgICAgICBhbmRyZXdfY3ZfcnVucGF0aF9zd2l0Y2g9bm9uZSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIm50bG0gXAorICAgICAgICAke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGRhcCcsICdsZGFwJywgJycsIGQpfSBcCisgICAgICAgICR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAncGFtJywgJycsIGQpfSBcCisgICAgICAgICIKK1BBQ0tBR0VDT05GSUdbZ3NzYXBpXSA9ICItLWVuYWJsZS1nc3NhcGk9eWVzLC0tZW5hYmxlLWdzc2FwaT1ubyxrcmI1LCIKK1BBQ0tBR0VDT05GSUdbcGFtXSA9ICItLXdpdGgtcGFtLC0td2l0aG91dC1wYW0sbGlicGFtLCIKK1BBQ0tBR0VDT05GSUdbb3BpZV0gPSAiLS13aXRoLW9waWUsLS13aXRob3V0LW9waWUsb3BpZSwiCitQQUNLQUdFQ09ORklHW2Rlc10gPSAiLS13aXRoLWRlcywtLXdpdGhvdXQtZGVzLCwiCitQQUNLQUdFQ09ORklHW2xkYXBdID0gIi0td2l0aC1sZGFwPSR7U1RBR0lOR19MSUJESVJ9IC0tZW5hYmxlLWxkYXBkYiwtLXdpdGhvdXQtbGRhcCAtLWRpc2FibGUtbGRhcGRiLG9wZW5sZGFwLCIKK1BBQ0tBR0VDT05GSUdbbnRsbV0gPSAiLS13aXRoLW50bG0sLS13aXRob3V0LW50bG0sLCIKKworQ0ZMQUdTICs9ICItZlBJQyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgIHJtIC1mIGFjaW5jbHVkZS5tNCBjb25maWcvbGlidG9vbC5tNAorCisgICAgIyBtYWtlIGl0IGJlIGFibGUgdG8gd29yayB3aXRoIGRiIDUuMCB2ZXJzaW9uCisgICAgbG9jYWwgc2VkX2ZpbGVzPSJzYXNsZGIvZGJfYmVya2VsZXkuYyB1dGlscy9kYmNvbnZlcnRlci0yLmMiCisgICAgZm9yIHNlZF9maWxlIGluICRzZWRfZmlsZXM7IGRvCisgICAgICAgIHNlZCAtaSAncyNEQl9WRVJTSU9OX01BSk9SID09IDQuKiMoJikgfHwgREJfVkVSU0lPTl9NQUpPUiA9PSA1IycgJHNlZF9maWxlCisgICAgZG9uZQorfQorCitkb19jb21waWxlX3ByZXBlbmQgKCkgeworICAgIGNkIGluY2x1ZGUKKyAgICAke0JVSUxEX0NDfSAke0JVSUxEX0NGTEFHU30gJHtCVUlMRF9MREZMQUdTfSBtYWtlbWQ1LmMgLW8gbWFrZW1kNQorICAgIHRvdWNoIG1ha2VtZDUubyBtYWtlbWQ1LmxvIG1ha2VtZDUKKyAgICBjZCAuLgorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpZiAke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9zYXNsYXV0aGQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCisgICAgICAgIHNlZCAtaSAtZSAncyNAU0JJTkRJUkAjJHtzYmluZGlyfSNnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zYXNsYXV0aGQuc2VydmljZQorICAgICAgICBzZWQgLWkgLWUgJ3MjQExPQ0FMU1RBVEVESVJAIyR7bG9jYWxzdGF0ZWRpcn0jZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc2FzbGF1dGhkLnNlcnZpY2UKKyAgICAgICAgc2VkIC1pIC1lICdzI0BTWVNDT05GRElSQCMke3N5c2NvbmZkaXJ9I2cnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3Nhc2xhdXRoZC5zZXJ2aWNlCisKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kCisgICAgICAgIGVjaG8gImQgL3J1bi9zYXNsYXV0aGQvIC0gLSAtIC0iID4gJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC9zYXNsYXV0aGQuY29uZgorCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC8KKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vc2FzbGF1dGhkLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC9zYXNsYXV0aGQKKyAgICAgICAgc2VkIC1pIC1lICdzI0BMT0NBTFNUQVRFRElSQCMke2xvY2Fsc3RhdGVkaXJ9I2cnICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvc2FzbGF1dGhkCisgICAgZmkKK30KKworVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfS1iaW4iCitVU0VSQUREX1BBUkFNXyR7UE59LWJpbiA9ICItLXN5c3RlbSAtLWhvbWU9L3Zhci9zcG9vbC9tYWlsIC1nIG1haWwgY3lydXMiCisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0iCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAic2FzbGF1dGhkLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhN2Y0ZTVlNTU5YTBlMzdiM2ZmYzQzOGM5NDU2ZTQyNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ZmJjNTEzNjUxMmI1OWJiNzkzNjU3ZjM2ZmFkZGE2MzU5Y2FlM2IwOGYwMWZkMTZiM2Q0MDZmMTM0NWI3YmMzIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tYmluIgorCitGSUxFU18ke1BOfSAgICAgICAgICAgKz0gIiR7bGliZGlyfS9zYXNsMi8qLnNvKiIKK0ZJTEVTXyR7UE59LWJpbiAgICAgICArPSAiJHtiaW5kaXJ9IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9kZWZhdWx0L3Nhc2xhdXRoZCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc2FzbGF1dGhkLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvc2FzbGF1dGhkLmNvbmYiCitGSUxFU18ke1BOfS1kZXYgICAgICAgKz0gIiR7bGliZGlyfS9zYXNsMi8qLmxhIgorRklMRVNfJHtQTn0tZGJnICAgICAgICs9ICIke2xpYmRpcn0vc2FzbDIvLmRlYnVnIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0vc2FzbDIvKi5hIgorCitJTlNBTkVfU0tJUF8ke1BOfSArPSAiZGV2LXNvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2RucmQvZG5yZC9kbnJkLmNvbmYuc2FtcGxlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2RucmQvZG5yZC9kbnJkLmNvbmYuc2FtcGxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjMDU4NDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvZG5yZC9kbnJkL2RucmQuY29uZi5zYW1wbGUKQEAgLTAsMCArMSwyMSBAQAorIyBvcHRpb25zIHRvIGRucmQKKworIyBleGFtcGxlOiB0d28gZGVmYXVsdCBkbnMgc2VydmVycyBhbmQgZG5zIHNlcnZlcnMgZm9yIGV4YW1wbGVkb21haW4uY29tLiBUaGUKKyMgbGF0dGVyIGFyZSBsb2FkIGJhbGFuY2VkICgtYikKKyMKKyMKKworIyBETlJEX09QVFM9IgorIyAtcyBYWFguWFhYLlhYLlhYWAorIyAtcyBYWFguWFhYLlhYLlhYWAorIyAtYgorIyAtcyBYWFguWFhYLlhYLlhYWDpleGFtcGxlZG9tYWluLmNvbQorIyAtcyBYWFguWFhYLlhYLlhYWDpleGFtcGxlZG9tYWluLmNvbSIKKworIyBleGFtcGxlOiBkbnJkIHVzZXIKKyMKKworIyBETlJEX1VTRVI9InVzZXIiCisjCisKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2RucmQvZG5yZC9kbnJkLmluaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvZG5yZC9kbnJkL2RucmQuaW5pdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZmU1ODNmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2RucmQvZG5yZC9kbnJkLmluaXQKQEAgLTAsMCArMSw5NCBAQAorIyEvYmluL3NoCisjCisjIFN0YXJ0dXAgc2NyaXB0IGZvciBkbnJkCisjCisjICAgICAgIENvcHlyaWdodCAyMDA4LCBSYWtlc2ggUGFuZGl0IDxyYWtlc2gucGFuZGl0QGdtYWlsLmNvbT4KKyMKKyMgICAgICAgVGhpcyBzb3VyY2UgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyAgICAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyAgICAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24pCisjICAgICAgIGFueSBsYXRlciB2ZXJzaW9uLgorCisjICAgICAgIFRoaXMgc291cmNlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjICAgICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjICAgICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgICAgICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworIyAgICAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyAgICAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorIyAgICAgICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyMKKyMgY2hrY29uZmlnOiAtIDg1IDE1CisjIGRlc2NyaXB0aW9uOiBkbnJkIGlzIGEgcHJveHlpbmcgbmFtZXNlcnZlci4gSXQgZm9yd2FyZHMgRE5TIHF1ZXJpZXMgdG8gdGhlCisjIGFwcHJvcHJpYXRlIG5hbWVzZXJ2ZXIsIGJ1dCBjYW4gYWxzbyBhY3QgYXMgdGhlIHByaW1hcnkgbmFtZXNlcnZlciBmb3IKKyMgYSBzdWJuZXQgYmVoaW5kIGEgZmlyZXdhbGwuIEl0IGFsc28gaGFzIGZlYXR1cmVzIHN1Y2ggYXMgY2FjaGluZyBETlMKKyMgcmVxdWVzdHMsIHN1cHBvcnQgZm9yIEROUyBzZXJ2ZXJzLCBjYWNoZSBwb2lzb25pbmcgcHJldmVudGlvbiwgVENQCisjIHN1cHBvcnQsIGV0Yy4uCisKKyMgcHJvY2Vzc25hbWU6IGRucmQKKyMgcGlkZmlsZTogL3Zhci9ydW4vZG5yZC5waWQKKyMgY29uZmlnOiAvZXRjL2RucmQvZG5yZC5jb25mCisKKyMgUHJvdmlkZXM6ICAgICAgICAgIGRucmQKKyMgUmVxdWlyZWQtU3RhcnQ6CisjIFNob3VsZC1TdGFydDoKKyMgUmVxdWlyZWQtU3RvcDoKKyMgRGVmYXVsdC1TdG9wOiAgICAgIDAgMSAyIDYKKyMgU2hvcnQtRGVzY3JpcHRpb246IFN0YXJ0IGRucmQgZGFlbW9uCisjIERlc2NyaXB0aW9uOiAgICAgICBEb21haW4gTmFtZSBSZWxheSBEYWVtb24KKyMgRU5EIElOSVQgSU5GTworCitleGU9L3Vzci9zYmluL2RucmQKK3BmaWxlPS9ldGMvcGFzc3dkCisKKyMgU291cmNlIGZ1bmN0aW9uIGxpYnJhcnkuCisuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworCisjIFNvdXJjZSBjb25mIGZpbGUKKy4gL2V0Yy9kbnJkL2RucmQuY29uZgorCitbIC14ICRleGUgXSB8fCBleGl0IDEKK1sgLXIgIi9ldGMvZG5yZC9kbnJkLmNvbmYiIF0gfHwgZXhpdCAxCitpZiBbICRETlJEX1VTRVIgXQordGhlbgorICAgICAgICAgZ3JlcCAiXiR7TE9HSU59OiIgJHBmaWxlID4vZGV2L251bGwgMj4mMQorICAgICAgICAgaWYgWyAkPyAtZXEgMCBdO3RoZW4KKyAgICAgICAgICAgICAgICAgZWNobyAiJEROUkRfVVNFUiBzcGVjaWZpZWQgaW4gL2V0Yy9kbnJkL2RucmQuY29uZiBkb2VzIG5vdCBleGlzdCEiCisgICAgICAgICBmaQorZWxzZQorICAgICAgICBlY2hvICJETlJEX1VTRVIgbm90IHNldCBhdCAvZXRjL2RucmQvZG5yZC5jb25mISIKKyAgICAgICAgZXhpdCAxCitmaQorCitjYXNlICIkMSIgaW4KKyAgc3RhcnQpCisgICAgICAgIGVjaG8gLW4gIlN0YXJ0aW5nICBkbnJkOiAiCisgICAgICAgIGRhZW1vbiAgZG5yZCAkRE5SRF9PUFRTIC11ICRETlJEX1VTRVIKKyAgICAgICAgZWNobworICAgICAgICB0b3VjaCAvdmFyL2xvY2svc3Vic3lzL2RucmQKKyAgICAgICAgOzsKKyAgc3RvcCkKKyAgICAgICAgZWNobyAtbiAiU2h1dHRpbmcgZG93biBkbnJkOiAiCisgICAgICAgIGtpbGxwcm9jIGRucmQKKyAgICAgICAgZWNobworICAgICAgICBybSAtZiAvdmFyL2xvY2svc3Vic3lzL2RucmQKKyAgICAgICAgcm0gLWYgL3Zhci9ydW4vZG5yZC5waWQKKyAgICAgICAgOzsKKyAgc3RhdHVzKQorICAgICAgICBzdGF0dXMgZG5yZAorICAgICAgICA7OworICByZXN0YXJ0KQorICAgICAgICAkMCBzdG9wCisgICAgICAgICQwIHN0YXJ0CisgICAgICAgIDs7CisgIHJlbG9hZCkKKyAgICAgICAgZWNobyAtbiAiUmVsb2FkaW5nIGRucmQ6ICIKKyAgICAgICAga2lsbHByb2MgZG5yZCAtSFVQCisgICAgICAgIGVjaG8KKyAgICAgICAgOzsKKyAgKikKKyAgICAgICAgZWNobyAiVXNhZ2U6ICQwIHtzdGFydHxzdG9wfHJlc3RhcnR8cmVsb2FkfHN0YXR1c30iCisgICAgICAgIGV4aXQgMQorZXNhYworCitleGl0IDAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9kbnJkL2RucmQvZG5yZC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2RucmQvZG5yZC9kbnJkLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWM5ZmE2NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9kbnJkL2RucmQvZG5yZC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTIgQEAKK1tVbml0XQorRGVzY3JpcHRpb249RG9tYWluIE5hbWUgUmVsYXkgRGFlbW9uCitBZnRlcj1uZXR3b3JrLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworUElERmlsZT0vdmFyL3J1bi9kbnJkLnBpZAorRW52aXJvbm1lbnRGaWxlPS9ldGMvZG5yZC9kbnJkLmNvbmYKK0V4ZWNTdGFydD0vdXNyL3NiaW4vZG5yZCAkRE5SRF9PUFRTIC11ICRETlJEX1VTRVIKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2RucmQvZG5yZF8yLjIwLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvZG5yZC9kbnJkXzIuMjAuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NzY5ZTUyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2RucmQvZG5yZF8yLjIwLjMuYmIKQEAgLTAsMCArMSw0MSBAQAorU1VNTUFSWSA9ICJBIGNhY2hpbmcsIGZvcndhcmRpbmcgRE5TIHByb3h5IHNlcnZlciIKK0RFU0NSSVBUSU9OID0gIlwKK2RucmQgaXMgYSBwcm94eWluZyBuYW1lc2VydmVyLiBJdCBmb3J3YXJkcyBETlMgcXVlcmllcyB0byB0aGUgYXBwcm9wcmlhdGUgXAorbmFtZXNlcnZlciwgYnV0IGNhbiBhbHNvIGFjdCBhcyB0aGUgcHJpbWFyeSBuYW1lc2VydmVyIGZvciBhIHN1Ym5ldCBiZWhpbmQgXAorYSBmaXJld2FsbC4gSXQgYWxzbyBoYXMgZmVhdHVyZXMgc3VjaCBhcyBjYWNoaW5nIEROUyByZXF1ZXN0cywgc3VwcG9ydCBmb3IgXAorRE5TIHNlcnZlcnMsIGNhY2hlIHBvaXNvbmluZyBwcmV2ZW50aW9uLCBUQ1Agc3VwcG9ydCwgZXRjLi4iCitIT01FUEFHRSA9ICJodHRwOi8vZG5yZC5zb3VyY2Vmb3JnZS5uZXQvIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MGJlNjcwMTdmMWM3NzAzMTNhZDdiNDBlMThkNTY4ZjEiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9LyR7QlBOfS8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZG5yZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL2RucmQuY29uZi5zYW1wbGUgXAorICAgICAgICAgICBmaWxlOi8vZG5yZC5pbml0IgorU1JDX1VSSVttZDVzdW1dID0gIjQxYzliMDcwYWFlOGVkNDAzZmM4YzJhYWM3YWIxNTdjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFhNDZlN2Y4NzM2Yjg4YzFkNzUyY2Y2MDZiMzk5MDA0MTIyMWNlOTFkMDE0ZTk1NWM2YjAyZWIyMTY3ZGIwMTUiCisKK1BOQkxBQ0tMSVNUW2RucmRdID89ICJCUk9LRU46IGRucmQtMi4yMC4zLXIwIGRvX3BhY2thZ2U6IFFBIElzc3VlOiBkbnJkOiBGaWxlcy9kaXJlY3RvcmllcyB3ZXJlIGluc3RhbGxlZCBidXQgbm90IHNoaXBwZWQgaW4gYW55IHBhY2thZ2U6IgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiZG5yZC5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorCitpbmhlcml0IGF1dG90b29scworaW5oZXJpdCAke0BiYXNlX2NvbnRhaW5zKCdWSVJUVUFMLVJVTlRJTUVfaW5pdF9tYW5hZ2VyJywnc3lzdGVtZCcsJ3N5c3RlbWQnLCcnLCBkKX0KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9IElOU1RBTEw9Imluc3RhbGwgLXAiCisKKyAgICBzZWQgLWkgLWUgJ3M6L2V0Yy9yYy5kL2luaXQuZC9mdW5jdGlvbnM6L2V0Yy9pbml0LmQvZnVuY3Rpb25zOmcnIFwKKyAgICAgICAgJHtXT1JLRElSfS9kbnJkLmluaXQKKyAgICBpbnN0YWxsIC1kIC1tIDA3NTUgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtZCAtbSAwNzU1ICR7RH0ke3N5c2NvbmZkaXJ9L2RucmQKKyAgICBpbnN0YWxsIC1wIC1tIDA2NDQgJHtXT1JLRElSfS9kbnJkLmNvbmYuc2FtcGxlICR7RH0ke3N5c2NvbmZkaXJ9L2RucmQvZG5yZC5jb25mCisgICAgaW5zdGFsbCAtcCAtbSAwNzU1ICR7V09SS0RJUn0vZG5yZC5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9kbnJkCisKKyAgICBpZiAke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAtbSAwNzU1ICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vZG5yZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgZmkKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pc2NzaS1pbml0aWF0b3ItdXRpbHMvZmlsZXMvOTlfaXNjc2ktaW5pdGlhdG9yLXV0aWxzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2lzY3NpLWluaXRpYXRvci11dGlscy9maWxlcy85OV9pc2NzaS1pbml0aWF0b3ItdXRpbHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDJmZGQ2MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pc2NzaS1pbml0aWF0b3ItdXRpbHMvZmlsZXMvOTlfaXNjc2ktaW5pdGlhdG9yLXV0aWxzCkBAIC0wLDAgKzEsMiBAQAorIyA8dHlwZT4gPG93bmVyPiA8Z3JvdXA+IDxtb2RlPiA8cGF0aD4gPGxpbmtzb3VyY2U+CitkIHJvb3Qgcm9vdCAwNzU1IC92YXIvbG9jay9pc2NzaSBub25lCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzL2ZpbGVzL2luaXRkLmRlYmlhbiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pc2NzaS1pbml0aWF0b3ItdXRpbHMvZmlsZXMvaW5pdGQuZGViaWFuCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5YTc2MzgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzL2ZpbGVzL2luaXRkLmRlYmlhbgpAQCAtMCwwICsxLDExOSBAQAorIyEgL2Jpbi9zaAorIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczoKKyMgUmVxdWlyZWQtU3RhcnQ6CisjIFJlcXVpcmVkLVN0b3A6CisjIERlZmF1bHQtU3RhcnQ6CisjIERlZmF1bHQtU3RvcDoKKyMgU2hvcnQtRGVzY3JpcHRpb246IFN0YXJ0cyBhbmQgc3RvcHMgdGhlIGlTQ1NJIGluaXRpYXRvciBzZXJ2aWNlcyBhbmQgbG9naW5zIHRvIGRlZmF1bHQgdGFyZ2V0cworIyMjIEVORCBJTklUIElORk8KKyNzZXQgLXgKK1BBVEg9L3NiaW46L2JpbjovdXNyL3NiaW46L3Vzci9iaW4KK0RBRU1PTj0vdXNyL3NiaW4vaXNjc2lkCitBRE09L3Vzci9zYmluL2lzY3NpYWRtCitQSURGSUxFPS92YXIvcnVuL2lzY3NpZC5waWQKKworWyAteCAiJERBRU1PTiIgXSB8fCBleGl0IDAKKworaWYgWyAhIC1kIC9zeXMvY2xhc3MvIF07IHRoZW4KKyAgZWNobyAiRmFpbHVyZToiICJpU0NTSSByZXF1aXJlcyBhIG1vdW50ZWQgc3lzZnMsIG5vdCBzdGFydGVkLiIKKyAgZXhpdCAxCitmaQorCitub2Rlc3RhcnR1cF9yZT0ncy9ebm9kZVwuY29ublxbMF1cLnN0YXJ0dXBbIAldKj1bIAldKi8vcCcKKworUkVUVkFMPTAKKworc3RhcnQoKSB7CisJZWNobyAiU3RhcnRpbmcgaVNDU0kgaW5pdGlhdG9yIHNlcnZpY2UiICJpc2NzaWQiCisJbW9kcHJvYmUgLXEgaXNjc2lfdGNwIDI+L2Rldi9udWxsIHx8IDoKKwltb2Rwcm9iZSAtcSBpYl9pc2VyIDI+L2Rldi9udWxsIHx8IDoKKwlpZiBbICEgLWYgL2V0Yy9pc2NzaS9pbml0aWF0b3JuYW1lLmlzY3NpIF07IHRoZW4KKwkJSU5JVElBVE9STkFNRT0kKGlzY3NpLWluYW1lKQorCQljYXQgPi9ldGMvaXNjc2kvaW5pdGlhdG9ybmFtZS5pc2NzaSA8PEVPRgorIyMgRE8gTk9UIEVESVQgT1IgUkVNT1ZFIFRISVMgRklMRSEKKyMjIElmIHlvdSByZW1vdmUgdGhpcyBmaWxlLCB0aGUgaVNDU0kgZGFlbW9uIHdpbGwgbm90IHN0YXJ0LgorIyMgSWYgeW91IGNoYW5nZSB0aGUgSW5pdGlhdG9yTmFtZSwgZXhpc3RpbmcgYWNjZXNzIGNvbnRyb2wgbGlzdHMKKyMjIG1heSByZWplY3QgdGhpcyBpbml0aWF0b3IuICBUaGUgSW5pdGlhdG9yTmFtZSBtdXN0IGJlIHVuaXF1ZQorIyMgZm9yIGVhY2ggaVNDU0kgaW5pdGlhdG9yLiAgRG8gTk9UIGR1cGxpY2F0ZSBpU0NTSSBJbml0aWF0b3JOYW1lcy4KK0luaXRpYXRvck5hbWU9JElOSVRJQVRPUk5BTUUKK0VPRgorCWZpCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tcGlkZmlsZSAkUElERklMRSAtLWV4ZWMgJERBRU1PTgorCVJFVFZBTD0kPworCXN0YXJ0dGFyZ2V0cworfQorCitzdGFydHRhcmdldHMoKSB7CisJZWNobyAiU2V0dGluZyB1cCBpU0NTSSB0YXJnZXRzIgorCSRBRE0gLW0gbm9kZSAtLWxvZ2luYWxsPWF1dG9tYXRpYworfQorCitzdG9wdGFyZ2V0cygpIHsKKwllY2hvICJEaXNjb25uZWN0aW5nIGlTQ1NJIHRhcmdldHMiCisJc3luYworCSRBRE0gLW0gbm9kZSAtLWxvZ291dGFsbD1hbGwKKwlSRVRWQUw9JD8KKwkjaWYgUkVUVkFMIGlzIDIxLCBtZWFucyBubyBhY3RpdmUgc2Vzc2lvbnMsIGNvbnNpZGVyIG9rCisJaWYgWyAiJFJFVFZBTCIgPSAiMjEiIF07IHRoZW4KKwkJUkVUVkFMPTAKKwlmaQorfQorCitzdG9wKCkgeworCXN0b3B0YXJnZXRzCisJaWYgWyAkUkVUVkFMIC1uZSAwIF07IHRoZW4KKwkJZWNobyAiRmFpbHVyZToiICJDb3VsZCBub3Qgc3RvcCBhbGwgdGFyZ2V0cywgdHJ5IGFnYWluIGxhdGVyIgorCQlyZXR1cm4gJFJFVFZBTAorCWZpCisKKwllY2hvICJTdG9wcGluZyBpU0NTSSBpbml0aWF0b3Igc2VydmljZSIKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLXBpZGZpbGUgJFBJREZJTEUgLS1leGVjICREQUVNT04KKwlybSAtZiAkUElERklMRQorCXN0YXR1cz0wCisJbW9kcHJvYmUgLXIgaWJfaXNlciAyPi9kZXYvbnVsbAorCWlmIFsgIiQ/IiAtbmUgIjAiIC1hICIkPyIgLW5lICIxIiBdOyB0aGVuCisJCXN0YXR1cz0xCisJZmkKKwltb2Rwcm9iZSAtciBpc2NzaV90Y3AgMj4vZGV2L251bGwKKwlpZiBbICIkPyIgLW5lICIwIiAtYSAiJD8iIC1uZSAiMSIgXTsgdGhlbgorCQlzdGF0dXM9MQorCWZpCit9CisKK3Jlc3RhcnQoKSB7CisJc3RvcAorCWlmIFsgJFJFVFZBTCAtbmUgMCBdOyB0aGVuCisJCWVjaG8gIkZhaWx1cmU6IiAiU3RvcHBpbmcgaVNDU0kgaW5pdGlhdG9yIHNlcnZpY2UgZmFpbGVkLCBub3Qgc3RhcnRpbmciCisJCXJldHVybiAkUkVUVkFMCisJZmkKKwlzdGFydAorfQorCityZXN0YXJ0dGFyZ2V0cygpIHsKKwlzdG9wdGFyZ2V0cworCWlmIFsgJFJFVFZBTCAtbmUgMCBdOyB0aGVuCisJCWVjaG8gIkZhaWx1cmU6IiAiQ291bGQgbm90IHN0b3AgYWxsIHRhcmdldHMsIHRyeSBhZ2FpbiBsYXRlciIKKwkJcmV0dXJuICRSRVRWQUwKKwlmaQorCXN0YXJ0dGFyZ2V0cworfQorCitzdGF0dXMoKSB7CisJI1hYWCBGSVhNRTogd2hhdCB0byBkbyBoZXJlPworCSNzdGF0dXMgaXNjc2lkCisJIyBsaXN0IGFjdGl2ZSBzZXNzaW9ucworCWVjaG8gQ3VycmVudCBhY3RpdmUgaVNDU0kgc2Vzc2lvbnM6CisJJEFETSAtbSBzZXNzaW9uCit9CisKK2Nhc2UgIiQxIiBpbgorCXN0YXJ0fHN0YXJ0dGFyZ2V0c3xzdG9wfHN0b3B0YXJnZXRzfHJlc3RhcnR8cmVzdGFydHRhcmdldHN8c3RhdHVzKQorCQkkMQorCQk7OworCSopCisJCWVjaG8gIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxyZXN0YXJ0fHN0YXR1c30iCisJCWV4aXQgMQorCQk7OworZXNhYworZXhpdCAkUkVUVkFMCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzL2ZpbGVzL2lzY3NpLWluaXRpYXRvciBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pc2NzaS1pbml0aWF0b3ItdXRpbHMvZmlsZXMvaXNjc2ktaW5pdGlhdG9yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmYTQ5YTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzL2ZpbGVzL2lzY3NpLWluaXRpYXRvcgpAQCAtMCwwICsxLDQgQEAKKyMgZGVmYXVsdCBjb21tYW5kIGxpbmUgc2V0dGluZ3MgZm9yIG9wZW4taXNjc2kncyBpc2NzaWQKKworT1BUU19JU0NTSUQ9IiIKK09QVFNfSVNDU0lBRE09IiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pc2NzaS1pbml0aWF0b3ItdXRpbHMvZmlsZXMvaXNjc2ktaW5pdGlhdG9yLXRhcmdldHMuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pc2NzaS1pbml0aWF0b3ItdXRpbHMvZmlsZXMvaXNjc2ktaW5pdGlhdG9yLXRhcmdldHMuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NjRiMmQyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2lzY3NpLWluaXRpYXRvci11dGlscy9maWxlcy9pc2NzaS1pbml0aWF0b3ItdGFyZ2V0cy5zZXJ2aWNlCkBAIC0wLDAgKzEsMTUgQEAKK1tVbml0XQorRGVzY3JpcHRpb249T3Blbi1pU0NTSSBpbml0aWF0b3IgKGkuZS4gY2xpZW50KSB0YXJnZXQgYmluZGluZ3MKK0FmdGVyPWlzY3NpLWluaXRpYXRvci5zZXJ2aWNlCitSZXF1aXJlcz1pc2NzaS1pbml0aWF0b3Iuc2VydmljZQorCitbU2VydmljZV0KK1R5cGU9b25lc2hvdAorRW52aXJvbm1lbnRGaWxlPS9ldGMvZGVmYXVsdC9pc2NzaS1pbml0aWF0b3IKK0V4ZWNTdGFydD0vdXNyL3NiaW4vaXNjc2lhZG0gLW0gbm9kZSAtLWxvZ2luYWxsPWF1dG9tYXRpYyAkT1BUU19JU0NTSUFETQorRXhlY1N0b3A9L3Vzci9zYmluL2lzY3NpYWRtIC1tIG5vZGUgLS1sb2dvdXRhbGw9YWxsICRPUFRTX0lTQ1NJQURNCitSZW1haW5BZnRlckV4aXQ9eWVzCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2lzY3NpLWluaXRpYXRvci11dGlscy9maWxlcy9pc2NzaS1pbml0aWF0b3ItdXRpbHMtZG9udC11c2Utc3RhdGljLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2lzY3NpLWluaXRpYXRvci11dGlscy9maWxlcy9pc2NzaS1pbml0aWF0b3ItdXRpbHMtZG9udC11c2Utc3RhdGljLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlNDhlMmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzL2ZpbGVzL2lzY3NpLWluaXRpYXRvci11dGlscy1kb250LXVzZS1zdGF0aWMucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAoraXNjc2ktaW5pdGlhdG9yLXV0aWxzIG5vdCB0byB1c2Ugc3RhdGljCisKK1Vwc3RyZWFtLXN0YXR1czogQmFja3BvcnQKK1RoaXMgcGF0Y2ggaXMgZnJvbSBmZWRvcmExNy4KKworU2lnbmVkLW9mZi1ieTogWWFvIFpoYW8gPHlhby56aGFvQHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBWdSBUcmFuIDx2dS50cmFuQHdpbmRyaXZlci5jb20+CisKK2RpZmYgLS1naXQgYS91c3IvTWFrZWZpbGUgYi91c3IvTWFrZWZpbGUKK2luZGV4IDY3M2I3ZjEuLmZkMTRhMTAgMTAwNjQ0CistLS0gYS91c3IvTWFrZWZpbGUKKysrKyBiL3Vzci9NYWtlZmlsZQorQEAgLTYxLDcgKzYxLDcgQEAgaXNjc2lhZG06ICQoSVNDU0lfTElCX1NSQ1MpICQoRElTQ09WRVJZX1NSQ1MpIGlzY3NpYWRtLm8gc2Vzc2lvbl9tZ210Lm8KKyAKKyBpc2NzaXN0YXJ0OiAkKElTQ1NJX0xJQl9TUkNTKSAkKElOSVRJQVRPUl9TUkNTKSAkKEZXX0JPT1RfU1JDUykgXAorIAkJaXNjc2lzdGFydC5vIHN0YXRpY3MubworLQkkKENDKSAkKENGTEFHUykgLXN0YXRpYyAkXiAtbyAkQAorKwkkKENDKSAkKENGTEFHUykgJF4gLW8gJEAKKyBjbGVhbjoKKyAJcm0gLWYgKi5vICQoUFJPR1JBTVMpIC5kZXBlbmQgJChMSUJTWVMpCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzL2ZpbGVzL2lzY3NpLWluaXRpYXRvci11dGlscy11c2UtdmFyLWZvci1jb25maWcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzL2ZpbGVzL2lzY3NpLWluaXRpYXRvci11dGlscy11c2UtdmFyLWZvci1jb25maWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTAyMjdhNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pc2NzaS1pbml0aWF0b3ItdXRpbHMvZmlsZXMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzLXVzZS12YXItZm9yLWNvbmZpZy5wYXRjaApAQCAtMCwwICsxLDI0MCBAQAoraXNjc2ktaW5pdGlhdG9yLXV0aWxzIHRvIHVzZSB2YXIgZm9yIGNvbmZpZworCitVcHN0cmVhbS1zdGF0dXM6IEJhY2twb3J0CitUaGlzIHBhdGNoIGlzIGZyb20gZmVkb3JhLgorCitVc2UgL3Zhci9saWIvaXNjc2kvIGluc3RlYWQgb2YgL2V0Yy9pc2NzaS8gZm9yIGhvbGRpbmcKK3N0YXRlIGZpbGVzLgorCitTaWduZWQtb2ZmLWJ5OiBZYW8gWmhhbyA8eWFvLnpoYW9Ad2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IFZ1IFRyYW4gPHZ1LnRyYW5Ad2luZHJpdmVyLmNvbT4KKworZGlmZiAtLWdpdCBhL1JFQURNRSBiL1JFQURNRQoraW5kZXggNzM2NGIyZC4uNWU4YmZmOCAxMDA2NDQKKy0tLSBhL1JFQURNRQorKysrIGIvUkVBRE1FCitAQCAtMTY0LDEwICsxNjQsMTAgQEAgYXZhaWxhYmxlIG9uIGFsbCBMaW51eCBpbnN0YWxsYXRpb25zLgorIAorIFRoZSBkYXRhYmFzZSBjb250YWlucyB0d28gdGFibGVzOgorIAorLS0gRGlzY292ZXJ5IHRhYmxlICgvZXRjL2lzY3NpL3NlbmRfdGFyZ2V0cyk7CistLSBOb2RlIHRhYmxlICgvZXRjL2lzY3NpL25vZGVzKS4KKystIERpc2NvdmVyeSB0YWJsZSAoL3Zhci9saWIvaXNjc2kvc2VuZF90YXJnZXRzKTsKKystIE5vZGUgdGFibGUgKC92YXIvbGliL2lzY3NpL25vZGVzKS4KKyAKKy1UaGUgcmVndWxhciBwbGFjZSBmb3IgaVNDU0kgZGF0YWJhc2UgZmlsZXM6IC9ldGMvaXNjc2kvbm9kZXMKKytUaGUgcmVndWxhciBwbGFjZSBmb3IgaVNDU0kgZGF0YWJhc2UgZmlsZXM6IC92YXIvbGliL2lzY3NpL25vZGVzCisgCisgVGhlIGlzY3NpYWRtIHV0aWxpdHkgaXMgYSBjb21tYW5kLWxpbmUgdG9vbCB0byBtYW5hZ2UgKHVwZGF0ZSwgZGVsZXRlLAorIGluc2VydCwgcXVlcnkpIHRoZSBwZXJzaXN0ZW50IGRhdGFiYXNlLgorQEAgLTQ0NCw3ICs0NDQsNyBAQCBhIHNjc2lfaG9zdCBwZXIgSEJBIHBvcnQpLgorIFRvIG1hbmFnZSBib3RoIHR5cGVzIG9mIGluaXRpYXRvciBzdGFja3MsIGlzY3NpYWRtIHVzZXMgdGhlIGludGVyZmFjZSAoaWZhY2UpCisgc3RydWN0dXJlLiBGb3IgZWFjaCBIQkEgcG9ydCBvciBmb3Igc29mdHdhcmUgaXNjc2kgZm9yIGVhY2ggbmV0d29yaworIGRldmljZSAoZXRoWCkgb3IgTklDLCB0aGF0IHlvdSB3aXNoIHRvIGJpbmQgc2Vzc2lvbnMgdG8geW91IG11c3QgY3JlYXRlCistYSBpZmFjZSBjb25maWcgL2V0Yy9pc2NzaS9pZmFjZXMuCisrYSBpZmFjZSBjb25maWcgL3Zhci9saWIvaXNjc2kvaWZhY2VzLgorIAorIFByZXA6CisgCitAQCAtNDc4LDI5ICs0NzgsMjkgQEAgUnVubmluZzoKKyBpZmFjZTAgcWxhNHh4eCwwMDpjMDpkZDowODo2MzplOCwyMC4xNS4wLjcsZGVmYXVsdCxpcW4uMjAwNS0wNi5jb20ucmVkaGF0Om1hZG1heAorIGlmYWNlMSBxbGE0eHh4LDAwOmMwOmRkOjA4OjYzOmVhLDIwLjE1LjAuOSxkZWZhdWx0LGlxbi4yMDA1LTA2LmNvbS5yZWRoYXQ6bWFkbWF4CisgCistV2lsbCByZXBvcnQgaWZhY2UgY29uZmlndXJhdGlvbnMgdGhhdCBhcmUgc2V0dXAgaW4gL2V0Yy9pc2NzaS9pZmFjZXMuCisrV2lsbCByZXBvcnQgaWZhY2UgY29uZmlndXJhdGlvbnMgdGhhdCBhcmUgc2V0dXAgaW4gL3Zhci9saWIvaXNjc2kvaWZhY2VzLgorIFRoZSBmb3JtYXQgaXM6CisgCisgaWZhY2VfbmFtZSB0cmFuc3BvcnRfbmFtZSxod2FkZHJlc3MsaXBhZGRyZXNzLG5ldF9pZmFjZW5hbWUsaW5pdGlhdG9ybmFtZQorIAorIEZvciBzb2Z0d2FyZSBpc2NzaSwgeW91IGNhbiBjcmVhdGUgdGhlIGlmYWNlIGNvbmZpZ3MgYnkgaGFuZCwgYnV0IGl0IGlzCisgcmVjY29tZW5kZWQgdGhhdCB5b3UgdXNlIGlzY3NpYWRtJ3MgaWZhY2UgbW9kZS4gVGhlcmUgaXMgYSBpZmFjZS5leGFtcGxlIGluCistL2V0Yy9pc2NzaS9pZmFjZXMgd2hpY2ggY2FuIGJlIHVzZWQgYXMgYSB0ZW1wbGF0ZSBmb3IgdGhlIGRhcmluZy4KKysvdmFyL2xpYi9pc2NzaS9pZmFjZXMgd2hpY2ggY2FuIGJlIHVzZWQgYXMgYSB0ZW1wbGF0ZSBmb3IgdGhlIGRhcmluZy4KKyAKKyBGb3IgZWFjaCBuZXR3b3JrIG9iamVjdCB5b3Ugd2lzaCB0byBiaW5kIGEgc2Vzc2lvbiB0byB5b3UgbXVzdCBjcmVhdGUKKy1hIHNlcGVyYXRlIGlmYWNlIGNvbmZpZyBpbiAvZXRjL2lzY3NpL2lmYWNlcyBhbmQgZWFjaCBpZmFjZSBjb25maWcgZmlsZQorK2Egc2VwZXJhdGUgaWZhY2UgY29uZmlnIGluIC92YXIvbGliL2lzY3NpL2lmYWNlcyBhbmQgZWFjaCBpZmFjZSBjb25maWcgZmlsZQorIG11c3QgaGF2ZSBhIHVuaXF1ZSBuYW1lIHdoaWNoIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byA2NCBjaGFyYWN0ZXJzLgorIAorIEV4YW1wbGU6CisgCisgSWYgeW91IGhhdmUgTklDMSB3aXRoIE1BQyBhZGRyZXNzIDAwOjBGOjFGOjkyOjZCOkJGIGFuZCBOSUMyIHdpdGgKKyBNQUMgYWRkcmVzcyAwMDpDMDpERDowODo2MzpFNyBhbmQgeW91IHdhbnRlZCB0byBkbyBzb2Z0d2FyZSBpc2NzaSBvdmVyCistVENQL0lQLiBUaGVuIGluIC9ldGMvaXNjc2kvaWZhY2VzL2lmYWNlMCB5b3Ugd291bGQgZW50ZXI6CisrVENQL0lQLiBUaGVuIGluIC92YXIvbGliL2lzY3NpL2lmYWNlcy9pZmFjZTAgeW91IHdvdWxkIGVudGVyOgorIAorIGlmYWNlLnRyYW5zcG9ydF9uYW1lID0gdGNwCisgaWZhY2UuaHdhZGRyZXNzID0gMDA6MEY6MUY6OTI6NkI6QkYKKyAKKy1hbmQgaW4gL2V0Yy9pc2NzaS9pZmFjZXMvaWZhY2UxIHlvdSB3b3VsZCBlbnRlcjoKKythbmQgaW4gL3Zhci9saWIvaXNjc2kvaWZhY2VzL2lmYWNlMSB5b3Ugd291bGQgZW50ZXI6CisgCisgaWZhY2UudHJhbnNwb3J0X25hbWUgPSB0Y3AKKyBpZmFjZS5od2FkZHJlc3MgPSAwMDpDMDpERDowODo2MzpFNworQEAgLTU1MCw3ICs1NTAsNyBAQCBjeGdiM2kuMDA6MDc6NDM6MDU6OTc6MDcgY3hnYjNpLDAwOjA3OjQzOjA1Ojk3OjA3LDxlbXB0eT4sPGVtcHR5Piw8ZW1wdHk+CisgcWxhNHh4eC4wMDowZToxZTowNDo4YjoyZSBxbGE0eHh4LDAwOjBlOjFlOjA0OjhiOjJlLDxlbXB0eT4sPGVtcHR5Piw8ZW1wdHk+CisgCisgCistV2lsbCByZXBvcnQgaWZhY2UgY29uZmlndXJhdGlvbnMgdGhhdCBhcmUgc2V0dXAgaW4gL2V0Yy9pc2NzaS9pZmFjZXMuCisrV2lsbCByZXBvcnQgaWZhY2UgY29uZmlndXJhdGlvbnMgdGhhdCBhcmUgc2V0dXAgaW4gL3Zhci9saWIvaXNjc2kvaWZhY2VzLgorIFRoZSBmb3JtYXQgaXM6CisgCisgaWZhY2VfbmFtZSB0cmFuc3BvcnRfbmFtZSxod2FkZHJlc3MsaXBhZGRyZXNzLG5ldF9pZmFjZW5hbWUsaW5pdGlhdG9ybmFtZQorQEAgLTYzNiw3ICs2MzYsNyBAQCBuZWVkIGEgc2VwZXJhdGUgbmV0d29yayBjb25uZWN0aW9uIHRvIHRoZSB0YXJnZXQgZm9yIGRpc2NvdmVyeSBwdXJwb3Nlcy4KKyAqVGhpcyB3aWxsIGJlIGZpeGVkIGluIHRoZSBuZXh0IHZlcnNpb24gb2Ygb3Blbi1pc2NzaSoKKyAKKyBGb3IgY29tcGF0aWJpbGl0eSByZWFzb25zLCB3aGVuIHlvdSBydW4gaXNjc2lhZG0gdG8gZG8gZGlzY292ZXJ5LCBpdAorLXdpbGwgY2hlY2sgZm9yIGludGVyZmFjZXMgaW4gL2V0Yy9pc2NzaS9pc2NzaS9pZmFjZXMgdGhhdCBhcmUgdXNpbmcKKyt3aWxsIGNoZWNrIGZvciBpbnRlcmZhY2VzIGluIC92YXIvbGliL2lzY3NpL2lzY3NpL2lmYWNlcyB0aGF0IGFyZSB1c2luZworIHRjcCBmb3IgdGhlIGlmYWNlLnRyYW5zcG9ydCBhbmQgaXQgd2lsbCBiaW5kIHRoZSBwb3J0YWxzIHRoYXQgYXJlIGRpc2NvdmVyZWQKKyBzbyB0aGF0IHRoZXkgd2lsbCBiZSBsb2dnZWQgaW4gdGhyb3VnaCB0aG9zZSBpZmFjZXMuIFRoaXMgYmVoYXZpb3IgY2FuIGFsc28KKyBiZSBvdmVycmlkZW4gYnkgcGFzc2luZyBpbiB0aGUgaW50ZXJmYWNlcyB5b3Ugd2FudCB0byB1c2UuIEZvciB0aGUgY2FzZQorQEAgLTY1NCw3ICs2NTQsNyBAQCB3ZSBkbyBub3QgYmluZCBhIHNlc3Npb24gdG8gYSBpZmFjZSwgdGhlbiB5b3UgY2FuIHVzZSB0aGUgc3BlY2lhbCBpZmFjZQorIAorIGlzY3NpYWRtIC1tIGRpc2NvdmVyeWRiIC10IHN0IC1wIGlwOnBvcnQgLUkgZGVmYXVsdCAtLWRpc2NvdmVyIC1QIDEKKyAKKy1BbmQgaWYgeW91IGRpZCBub3QgZGVmaW5lIGFueSBpbnRlcmZhY2VzIGluIC9ldGMvaXNjc2kvaWZhY2VzIGFuZCBkbworK0FuZCBpZiB5b3UgZGlkIG5vdCBkZWZpbmUgYW55IGludGVyZmFjZXMgaW4gL3Zhci9saWIvaXNjc2kvaWZhY2VzIGFuZCBkbworIG5vdCBwYXNzIGFueXRoaW5nIGludG8gaXNjc2lhZG0sIHJ1bm5pbmcgaXNjc2lhZG0gd2lsbCBkbyB0aGUgZGVmYXVsdAorIGJlaGF2aW9yLCB3aGVyZSB3ZSBhbGxvdyB0aGUgbmV0d29yayBzdWJzeXN0ZW0gdG8gZGVjaWRlIHdoaWNoCisgZGV2aWNlIHRvIHVzZS4KK0BAIC02OTYsNyArNjk2LDcgQEAgVG8gbm93IGxvZyBpbnRvIHRhcmdldHMgaXQgaXMgdGhlIHNhbWUgYXMgd2l0aCBzb2Z3YXJlIGlzY3NpLiBTZWUgc2VjdGlvbgorIAorIAkgICAgLi9pc2NzaWFkbSAtbSBkaXNjb3ZlcnlkYiAtdCBzdCAtcCAxOTIuMTY4LjEuMTozMjYwIC0tZGlzY292ZXIKKyAKKy0JVGhpcyB3aWxsIHNlYXJjaCAvZXRjL2lzY3NpL3NlbmRfdGFyZ2V0cyBmb3IgYSByZWNvcmQgd2l0aCB0aGUKKysJVGhpcyB3aWxsIHNlYXJjaCAvdmFyL2xpYi9pc2NzaS9zZW5kX3RhcmdldHMgZm9yIGEgcmVjb3JkIHdpdGggdGhlCisgCUlEIFtwb3J0YWwgPSAxOTIuMTY4LjEuMTozMjYwIGFuZCB0eXBlID0gc2VuZHRhcmdldHMuIElmIGZvdW5kIGl0CisgCXdpbGwgcGVyZm9ybSBkaXNjb3ZlcnkgdXNpbmcgdGhlIHNldHRpbmdzIHN0b3JlZCBpbiB0aGUgcmVjb3JkLgorIAlJZiBhIHJlY29yZCBkb2VzIG5vdCBleGlzdCwgaXQgd2lsbCBiZSBjcmVhdGVkIHVzaW5nIHRoZSBpc2NzaWQuY29uZgorQEAgLTcwNSw3ICs3MDUsNyBAQCBUbyBub3cgbG9nIGludG8gdGFyZ2V0cyBpdCBpcyB0aGUgc2FtZSBhcyB3aXRoIHNvZndhcmUgaXNjc2kuIFNlZSBzZWN0aW9uCisgCVRoZSBhcmd1bWVudCB0byAtcCBtYXkgYWxzbyBiZSBhIGhvc3RuYW1lIGluc3RlYWQgb2YgYW4gYWRkcmVzcy4KKyAJICAgIC4vaXNjc2lhZG0gLW0gZGlzY292ZXJ5ZGIgLXQgc3QgLXAgc21vZWhvc3QgLS1kaXNjb3ZlcgorIAorLQlGb3IgdGhlIGlmYWNlcywgaXNjc2lhZG0gd2lsbCBmaXJzdCBzZWFyY2ggL2V0Yy9pc2NzaS9pZmFjZXMgZm9yCisrCUZvciB0aGUgaWZhY2VzLCBpc2NzaWFkbSB3aWxsIGZpcnN0IHNlYXJjaCAvdmFyL2xpYi9pc2NzaS9pZmFjZXMgZm9yCisgCWludGVyZmFjZXMgdXNpbmcgc29mdHdhcmUgaXNjc2kuIElmIGFueSBhcmUgZm91bmQgdGhlbiBub2RlcyBmb3VuZAorIAlkdXJpbmcgZGlzY292ZXJ5IHdpbGwgYmUgc2V0dXAgc28gdGhhdCB0aGV5IGNhbiBsb2dnZWQgaW4gdGhyb3VnaAorIAl0aG9zZSBpbnRlcmZhY2VzLiBUbyBzcGVjaWZ5IGEgc3BlY2lmaWMgaWZhY2UsIHBhc3MgdGhlCitAQCAtNzYxLDcgKzc2MSw3IEBAIFRvIG5vdyBsb2cgaW50byB0YXJnZXRzIGl0IGlzIHRoZSBzYW1lIGFzIHdpdGggc29md2FyZSBpc2NzaS4gU2VlIHNlY3Rpb24KKyAJVGhpcyBjb21tYW5kIHdpbGwgcGVyZm9ybSBkaXNjb3ZlcnksIGJ1dCBub3QgbWFuaXB1bGF0ZSB0aGUgbm9kZSBEQi4KKyAKKyAgIC0gU2VuZFRhcmdldHMgaVNDU0kgRGlzY292ZXJ5IHdpdGggYSBzcGVjaWZpYyBpbnRlcmZhY2UuIElmIHlvdQorLQl3aXNoIHRvIG9ubHkgdXNlIGEgc3Vic2V0IG9mIHRoZSBpbnRlcmZhY2VzIGluIC9ldGMvaXNjc2kvaWZhY2VzCisrCXdpc2ggdG8gb25seSB1c2UgYSBzdWJzZXQgb2YgdGhlIGludGVyZmFjZXMgaW4gL3Zhci9saWIvaXNjc2kvaWZhY2VzCisgCXRoZW4geW91IGNhbiBwYXNzIHRoZW0gaW4gZHVyaW5nIGRpc2NvdmVyeToKKyAKKyAJICAgICAuL2lzY3NpYWRtIC1tIGRpc2NvdmVyeWRiIC10IHNlbmR0YXJnZXRzIC1wIDE5Mi4xNjguMS4xOjMyNjAgXAorQEAgLTEwNzIsOCArMTA3Miw4IEBAIHdoZXJlIHRhcmdldG5hbWUgaXMgdGhlIG5hbWUgb2YgdGhlIHRhcmdldCBhbmQgaXBfYWRkcmVzczpwb3J0IGlzIHRoZSBhZGRyZXNzCisgYW5kIHBvcnQgb2YgdGhlIHBvcnRhbC4gdHBndCwgaXMgdGhlIHBvcnRhbCBncm91cCB0YWcgb2YKKyB0aGUgcG9ydGFsLCBhbmQgaXMgbm90IHVzZWQgaW4gaXNjc2lhZG0gY29tbWFuZHMgZXhjZXB0IGZvciBzdGF0aWMKKyByZWNvcmQgY3JlYXRpb24uIEFuZCBpZmFjZSBuYW1lIGlzIHRoZSBuYW1lIG9mIHRoZSBpc2NzaSBpbnRlcmZhY2UKKy1kZWZpbmVkIGluIC9ldGMvaXNjc2kvaWZhY2VzLiBJZiBubyBpbnRlcmZhY2Ugd2FzIGRlZmluZWQgaW4KKy0vZXRjL2lzY3NpL2lmYWNlcyBvciBwYXNzZWQgaW4sIHRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHVzZWQuCisrZGVmaW5lZCBpbiAvdmFyL2xpYi9pc2NzaS9pZmFjZXMuIElmIG5vIGludGVyZmFjZSB3YXMgZGVmaW5lZCBpbgorKy92YXIvbGliL2lzY3NpL2lmYWNlcyBvciBwYXNzZWQgaW4sIHRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHVzZWQuCisgRGVmYXVsdCBoZXJlIGlzIGlzY3NpX3RjcC90Y3AgdG8gYmUgdXNlZCBvdmVyIHdoaWNoIGV2ZXIgTklDIHRoZQorIG5ldHdvcmsgbGF5ZXIgZGVjaWRlcyBpcyBiZXN0LgorIAorQEAgLTExODgsNyArMTE4OCw3IEBAIElmIHNldCwgaXNjc2lkIHdpbGwgcGVyZm9ybSBkaXNjb3ZlcnkgdG8gdGhlIGFkZHJlc3MgZXZlcnkKKyBkaXNjb3ZlcnkuaXNucy5kaXNjb3ZlcnlkX3BvbGxfaW52YWwgb3IKKyBkaXNjb3Zlcnkuc2VuZHRhcmdldHMuZGlzY292ZXJ5ZF9wb2xsX2ludmFsIHNlY29uZHMsCisgYW5kIGl0IHdpbGwgbG9nIGludG8gYW55IHBvcnRhbHMgZm91bmQgZnJvbSB0aGUgZGlzY292ZXJ5IHNvdXJjZSB1c2luZworLXRoZSBpZmFjZXMgaW4gL2V0Yy9pc2NzaS9pZmFjZXMuCisrdGhlIGlmYWNlcyBpbiAvdmFyL2xpYi9pc2NzaS9pZmFjZXMuCisgCisgTm90ZSB0aGF0IGZvciBpU05TIHRoZSBwb2xsX2ludGVydmFsIGRvZXMgbm90IGhhdmUgdG8gYmUgc2V0LiBJZiBub3Qgc2V0LAorIGlzY3NpZCB3aWxsIG9ubHkgcGVyZm9ybSByZWRpc2NvdmVyeSB3aGVuIGl0IGdldHMgYSBTQ04gZnJvbSB0aGUgc2VydmVyLgorZGlmZiAtLWdpdCBhL2RvYy9pc2NzaWFkbS44IGIvZG9jL2lzY3NpYWRtLjgKK2luZGV4IDdjMjA5ZjYuLmU5NGNjYTAgMTAwNjQ0CistLS0gYS9kb2MvaXNjc2lhZG0uOAorKysrIGIvZG9jL2lzY3NpYWRtLjgKK0BAIC04OSw3ICs4OSw3IEBAIFRoaXMgb3B0aW9uIGlzIG9ubHkgdmFsaWQgZm9yIHBpbmcgc3VibW9kZS4KKyAuVFAKKyBcZkJcLUlcZlIsIFxmQlwtXC1pbnRlcmZhY2U9XGZJW2lmYWNlXVxmUgorIFRoZSBpbnRlcmZhY2UgYXJndW1lbnQgc3BlY2lmaWVzIHRoZSBpU0NTSSBpbnRlcmZhY2UgdG8gdXNlIGZvciB0aGUgb3BlcmF0aW9uLgorLWlTQ1NJIGludGVyZmFjZXMgKGlmYWNlKSBhcmUgZGVmaW5lZCBpbiAvZXRjL2lzY3NpL2lmYWNlcy4gRm9yIGhhcmR3YXJlCisraVNDU0kgaW50ZXJmYWNlcyAoaWZhY2UpIGFyZSBkZWZpbmVkIGluIC92YXIvbGliL2lzY3NpL2lmYWNlcy4gRm9yIGhhcmR3YXJlCisgaVNDU0kgKHFsYTR4eHgpIHRoZSBpZmFjZSBjb25maWcgbXVzdCBoYXZlIHRoZSBoYXJkd2FyZSBhZGRyZXNzCisgKGlmYWNlLmh3YWRkcmVzcyA9IHBvcnQncyBNQUMgYWRkcmVzcykKKyBhbmQgdGhlIGRyaXZlci90cmFuc3BvcnRfbmFtZSAoaWZhY2UudHJhbnNwb3J0X25hbWUpLiBUaGUgaWZhY2UncyBuYW1lIGlzCitAQCAtMTY2LDcgKzE2Niw3IEBAIElmIG5vIG90aGVyIG9wdGlvbnMgYXJlIHNwZWNpZmllZDogZm9yIFxmSWRpc2NvdmVyeWRiXGZSIGFuZCBcZklub2RlXGZSLCBhbGwKKyBvZiB0aGVpciByZXNwZWN0aXZlIHJlY29yZHMgYXJlIGRpc3BsYXllZDsgZm9yIFxmSXNlc3Npb25cZlIsIGFsbCBhY3RpdmUKKyBzZXNzaW9ucyBhbmQgY29ubmVjdGlvbnMgYXJlIGRpc3BsYXllZDsgZm9yIFxmSWZ3XGZSLCBhbGwgYm9vdCBmaXJtd2FyZQorIHZhbHVlcyBhcmUgZGlzcGxheWVkOyBmb3IgXGZJaG9zdFxmUiwgYWxsIGlTQ1NJIGhvc3RzIGFyZSBkaXNwbGF5ZWQ7IGFuZAorLWZvciBcZklpZmFjZVxmUiwgYWxsIGlmYWNlcyBzZXR1cCBpbiAvZXRjL2lzY3NpL2lmYWNlcyBhcmUgZGlzcGxheWVkLgorK2ZvciBcZklpZmFjZVxmUiwgYWxsIGlmYWNlcyBzZXR1cCBpbiAvdmFyL2xpYi9pc2NzaS9pZmFjZXMgYXJlIGRpc3BsYXllZC4KKyAKKyAuVFAKKyBcZkJcLW5cZlIsIFxmQlwtXC1uYW1lPVxmSW5hbWVcZlIKK0BAIC01MzUsMTAgKzUzNSwxMCBAQCBUaGUgY29uZmlndXJhdGlvbiBmaWxlIHJlYWQgYnkgXGZCaXNjc2lkXGZSIGFuZCBcZkJpc2NzaWFkbVxmUiBvbiBzdGFydHVwLgorIFRoZSBmaWxlIGNvbnRhaW5pbmcgdGhlIGlTQ1NJIEluaXRpYXRvck5hbWUgYW5kIEluaXRpYXRvckFsaWFzIHJlYWQgYnkKKyBcZkJpc2NzaWRcZlIgYW5kIFxmQmlzY3NpYWRtXGZSIG9uIHN0YXJ0dXAuCisgLlRQCistL2V0Yy9pc2NzaS9ub2Rlcy8KKysvdmFyL2xpYi9pc2NzaS9ub2Rlcy8KKyBUaGlzIGRpcmVjdG9yeSBjb250YWlucyB0aGUgbm9kZXMgd2l0aCB0aGVpciB0YXJnZXRzLgorIC5UUAorLS9ldGMvaXNjc2kvc2VuZF90YXJnZXRzCisrL3Zhci9saWIvaXNjc2kvc2VuZF90YXJnZXRzCisgVGhpcyBkaXJlY3RvcnkgY29udGFpbnMgdGhlIHBvcnRhbHMuCisgCisgLlNIICJTRUUgQUxTTyIKK2RpZmYgLS1naXQgYS91c3IvaWRibS5jIGIvdXNyL2lkYm0uYworaW5kZXggNGQzMGFhOS4uMzE2ZTU0ZiAxMDA2NDQKKy0tLSBhL3Vzci9pZGJtLmMKKysrKyBiL3Vzci9pZGJtLmMKK0BAIC0yNDY4LDkgKzI0NjgsOSBAQCBmcmVlX2luZm86CisgaW50IGlkYm1faW5pdChpZGJtX2dldF9jb25maWdfZmlsZV9mbiAqZm4pCisgeworIAkvKiBtYWtlIHN1cmUgcm9vdCBkYiBkaXIgaXMgdGhlcmUgKi8KKy0JaWYgKGFjY2VzcyhJU0NTSV9DT05GSUdfUk9PVCwgRl9PSykgIT0gMCkgeworLQkJaWYgKG1rZGlyKElTQ1NJX0NPTkZJR19ST09ULCAwNjYwKSAhPSAwKSB7CistCQkJbG9nX2Vycm9yKCJDb3VsZCBub3QgbWFrZSAlcyAlZFxuIiwgSVNDU0lfQ09ORklHX1JPT1QsCisrCWlmIChhY2Nlc3MoSVNDU0lWQVIsIEZfT0spICE9IDApIHsKKysJCWlmIChta2RpcihJU0NTSVZBUiwgMDY2MCkgIT0gMCkgeworKwkJCWxvZ19lcnJvcigiQ291bGQgbm90IG1ha2UgJXMgJWRcbiIsIElTQ1NJVkFSLAorIAkJCQkgICBlcnJubyk7CisgCQkJcmV0dXJuIGVycm5vOworIAkJfQorZGlmZiAtLWdpdCBhL3Vzci9pZGJtLmggYi91c3IvaWRibS5oCitpbmRleCAyNDVmMDQ2Li5mNDVlODZlIDEwMDY0NAorLS0tIGEvdXNyL2lkYm0uaAorKysrIGIvdXNyL2lkYm0uaAorQEAgLTI4LDEyICsyOCwxNiBAQAorICNpbmNsdWRlICJjb25maWcuaCIKKyAjaW5jbHVkZSAibGlzdC5oIgorIAorLSNkZWZpbmUgTk9ERV9DT05GSUdfRElSCQlJU0NTSV9DT05GSUdfUk9PVCJub2RlcyIKKy0jZGVmaW5lIFNMUF9DT05GSUdfRElSCQlJU0NTSV9DT05GSUdfUk9PVCJzbHAiCistI2RlZmluZSBJU05TX0NPTkZJR19ESVIJCUlTQ1NJX0NPTkZJR19ST09UImlzbnMiCistI2RlZmluZSBTVEFUSUNfQ09ORklHX0RJUglJU0NTSV9DT05GSUdfUk9PVCJzdGF0aWMiCistI2RlZmluZSBGV19DT05GSUdfRElSCQlJU0NTSV9DT05GSUdfUk9PVCJmdyIKKy0jZGVmaW5lIFNUX0NPTkZJR19ESVIJCUlTQ1NJX0NPTkZJR19ST09UInNlbmRfdGFyZ2V0cyIKKysjZGVmaW5lIElTQ1NJVkFSCQkJIi92YXIvbGliL2lzY3NpLyIKKysKKysjZGVmaW5lIE5PREVfQ09ORklHX0RJUiAgICBJU0NTSVZBUiJub2RlcyIKKysjZGVmaW5lIFNMUF9DT05GSUdfRElSICAgICBJU0NTSVZBUiJzbHAiCisrI2RlZmluZSBJU05TX0NPTkZJR19ESVIgICAgSVNDU0lWQVIiaXNucyIKKysjZGVmaW5lIFNUQVRJQ19DT05GSUdfRElSICBJU0NTSVZBUiJzdGF0aWMiCisrI2RlZmluZSBGV19DT05GSUdfRElSICAgICAgSVNDU0lWQVIiZnciCisrI2RlZmluZSBTVF9DT05GSUdfRElSICAgICAgSVNDU0lWQVIic2VuZF90YXJnZXRzIgorKworKworICNkZWZpbmUgU1RfQ09ORklHX05BTUUJCSJzdF9jb25maWciCisgI2RlZmluZSBJU05TX0NPTkZJR19OQU1FCSJpc25zX2NvbmZpZyIKKyAKK2RpZmYgLS1naXQgYS91c3IvaWZhY2UuaCBiL3Vzci9pZmFjZS5oCitpbmRleCAwMWY3MDc0Li4yYzZlZjcyIDEwMDY0NAorLS0tIGEvdXNyL2lmYWNlLmgKKysrKyBiL3Vzci9pZmFjZS5oCitAQCAtMjAsNyArMjAsOCBAQAorICNpZm5kZWYgSVNDU0lfSUZBQ0VfSAorICNkZWZpbmUgSVNDU0lfSUZBQ0VfSAorIAorLSNkZWZpbmUgSUZBQ0VfQ09ORklHX0RJUglJU0NTSV9DT05GSUdfUk9PVCJpZmFjZXMiCisrI2luY2x1ZGUgImlkYm0uaCIKKysjZGVmaW5lIElGQUNFX0NPTkZJR19ESVIJSVNDU0lWQVIiaWZhY2VzIgorIAorIHN0cnVjdCBpZmFjZV9yZWM7Cisgc3RydWN0IGxpc3RfaGVhZDsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pc2NzaS1pbml0aWF0b3ItdXRpbHMvZmlsZXMvaXNjc2ktaW5pdGlhdG9yLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzL2ZpbGVzL2lzY3NpLWluaXRpYXRvci5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxMzk3NTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzL2ZpbGVzL2lzY3NpLWluaXRpYXRvci5zZXJ2aWNlCkBAIC0wLDAgKzEsMTIgQEAKK1tVbml0XQorRGVzY3JpcHRpb249T3Blbi1pU0NTSSBpbml0aWF0b3IgKGkuZS4gY2xpZW50KSBzZXJ2aWNlCitBZnRlcj1zeXNsb2cudGFyZ2V0CisKK1tTZXJ2aWNlXQorRW52aXJvbm1lbnRGaWxlPS9ldGMvZGVmYXVsdC9pc2NzaS1pbml0aWF0b3IKK0V4ZWNTdGFydFByZT0vc2Jpbi9tb2Rwcm9iZSBpc2NzaV90Y3AKK0V4ZWNTdGFydD0vdXNyL3NiaW4vaXNjc2lkIC1mICRPUFRTX0lTQ1NJRAorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pc2NzaS1pbml0aWF0b3ItdXRpbHMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzXzIuMC04NzMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzL2lzY3NpLWluaXRpYXRvci11dGlsc18yLjAtODczLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzZjY0NTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzL2lzY3NpLWluaXRpYXRvci11dGlsc18yLjAtODczLmJiCkBAIC0wLDAgKzEsMTEzIEBACitTVU1NQVJZID0gImlTQ1NJIGRhZW1vbiBhbmQgdXRpbGl0eSBwcm9ncmFtcyIKK0RFU0NSSVBUSU9OID0gIk9wZW4taVNDU0kgcHJvamVjdCBpcyBhIGhpZ2ggcGVyZm9ybWFuY2UsIHRyYW5zcG9ydCBcCitpbmRlcGVuZGVudCwgbXVsdGktcGxhdGZvcm0gaW1wbGVtZW50YXRpb24gb2YgUkZDMzcyMC4gVGhlIGlzY3NpIHBhY2thZ2UgXAorcHJvdmlkZXMgdGhlIHNlcnZlciBkYWVtb24gZm9yIHRoZSBpU0NTSSBwcm90b2NvbCwgYXMgd2VsbCBhcyB0aGUgdXRpbGl0eSBcCitwcm9ncmFtcyB1c2VkIHRvIG1hbmFnZSBpdC4gaVNDU0kgaXMgYSBwcm90b2NvbCBmb3IgZGlzdHJpYnV0ZWQgXAorZGlzayBhY2Nlc3MgdXNpbmcgU0NTSSBjb21tYW5kcyBzZW50IG92ZXIgSW50ZXJuZXQgUHJvdG9jb2wgbmV0d29ya3MuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5vcGVuLWlzY3NpLm9yZy8iCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyLjEiCitTRUNUSU9OID0gIm5ldCIKK0RFUEVORFMgPSAib3BlbnNzbCBmbGV4LW5hdGl2ZSBiaXNvbi1uYXRpdmUiCisKK0xJQ19GSUxFU19DSEtTVU0gPSBcCisgICAgICAgICJmaWxlOi8vQ09QWUlORzttZDU9MzkzYTVjYTQ0NWY2OTY1ODczZWNhMDI1OWExN2Y4MzMgXAorICAgICAgICAgZmlsZTovL3V0aWxzL29wZW4taXNucy9DT1BZSU5HO21kNT03ZmJjMzM4MzA5YWMzOGZlZmNkNjRiMDRiYjkwM2UzNCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lm9wZW4taXNjc2kub3JnL2JpdHMvb3Blbi1pc2NzaS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vaXNjc2ktaW5pdGlhdG9yLXV0aWxzLXVzZS12YXItZm9yLWNvbmZpZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9pc2NzaS1pbml0aWF0b3ItdXRpbHMtZG9udC11c2Utc3RhdGljLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2luaXRkLmRlYmlhbiBcCisgICAgICAgICAgIGZpbGU6Ly85OV9pc2NzaS1pbml0aWF0b3ItdXRpbHMgXAorICAgICAgICAgICBmaWxlOi8vaXNjc2ktaW5pdGlhdG9yIFwKKyAgICAgICAgICAgZmlsZTovL2lzY3NpLWluaXRpYXRvci5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL2lzY3NpLWluaXRpYXRvci10YXJnZXRzLnNlcnZpY2UgXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjhiODMxNmQ3Yzk0NjkxNDlhNmNjNjIzNDQ3ODM0N2Y3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdkZDlmMmY5N2RhNDE3NTYwMzQ5YThkYTQ0ZWE0ZmNmZTk4YmZkNWVmMjg0MjQwYTJjYzRmZjhlODhhYzdjZDkiCisKK1MgPSAiJHtXT1JLRElSfS9vcGVuLWlzY3NpLSR7UFZ9IgorCitpbmhlcml0IHVwZGF0ZS1yYy5kIHN5c3RlbWQKKworVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCitkb19jb25maWd1cmUgKCkgeworICAgICNuZWVkIHRvIHN1cHBvcnQgY3Jvc3MtY29tcGlsaW5nIGluIG9wZW4taXNucyBvbmx5CisgICAgKGNkIHV0aWxzL29wZW4taXNuczsgZ251LWNvbmZpZ2l6ZTsgXAorICAgICAuL2NvbmZpZ3VyZSAtLWhvc3Q9JHtUQVJHRVRfU1lTfSAtLWJ1aWxkPSR7QlVJTERfU1lTfSAtLXdpdGgtc2VjdXJpdHk9bm8gKQorfQorCitkb19jb21waWxlICgpIHsKKyAgICAjbWFrZSBpc2NzaXN0YXJ0IG9uZSBvZiBQUk9HUkFNUyBpZiBpbnN0YWxsX3VzZXIgaW4gZG9faW5zdGFsbAorICAgICNzZWQgLWkgLWUgJy9eUFJPR1JBTVMgPSAvczskOyB1c3IvaXNjc2lzdGFydDsnIE1ha2VmaWxlCisKKyAgICAjZml4IHRoZSBhciB1c2VkIGluIG9wZW4taXNucworICAgIHNlZCAtaSAtZSAnczphciBjciA6JChBUikgY3IgOicgJHtTfS91dGlscy9vcGVuLWlzbnMvTWFrZWZpbGUKKyAgICBvZV9ydW5tYWtlIHVzZXIKK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgI2NvbXBsZXRlbHkgb3ZlcnJpZGUgdGhlIGluc3RhbGxfdXNlciBhcyBidWdzIGluIE1ha2VmaWxlCisgICAgI29lX3J1bm1ha2UgREVTVERJUj0iJHtEfSIgaW5zdGFsbF91c2VyCisKKyAgICAjaW5zdGFsbCBuZWNlc3NhcnkgZGlyZWN0b3JpZXMKKyAgICBpbnN0YWxsIC1kICR7RH0ke3NiaW5kaXJ9IFwKKyAgICAgICAgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kIFwKKyAgICAgICAgJHtEfSR7c3lzY29uZmRpcn0vaXNjc2kgXAorICAgICAgICAke0R9JHtsb2NhbHN0YXRlZGlyfS9saWIvaXNjc2kvbm9kZXMgXAorICAgICAgICAke0R9JHtsb2NhbHN0YXRlZGlyfS9saWIvaXNjc2kvc2VuZF90YXJnZXRzIFwKKyAgICAgICAgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliL2lzY3NpL3N0YXRpYyBcCisgICAgICAgICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9pc2NzaS9pc25zIFwKKyAgICAgICAgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliL2lzY3NpL3NscCBcCisgICAgICAgICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9pc2NzaS9pZmFjZXMgXAorICAgICAgICAke0R9LyR7bWFuZGlyfS9tYW44CisKKyAgICBpbnN0YWxsIC1wIC1tIDc1NSAke1N9L3Vzci9pc2NzaWQgJHtTfS91c3IvaXNjc2lhZG0gXAorICAgICAgICAke1N9L3V0aWxzL2lzY3NpLWluYW1lIFwKKyAgICAgICAgJHtTfS91c3IvaXNjc2lzdGFydCAke0R9LyR7c2JpbmRpcn0KKworICAgIGluc3RhbGwgLXAgLW0gNjQ0ICR7U30vZG9jL2lzY3NpYWRtLjggJHtTfS9kb2MvaXNjc2lkLjggJHtEfS8ke21hbmRpcn0vbWFuOAorICAgIGluc3RhbGwgLXAgLW0gNjQ0ICR7U30vZXRjL2lzY3NpZC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L2lzY3NpCisgICAgaW5zdGFsbCAtcCAtbSA3NTUgJHtXT1JLRElSfS9pbml0ZC5kZWJpYW4gJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2lzY3NpZAorCisgICAgc2VkIC1pIC1lICJzOj0gL3NiaW4vaXNjc2lkOj0gJHtzYmluZGlyfS9pc2NzaWQ6IiAke0R9JHtzeXNjb25mZGlyfS9pc2NzaS9pc2NzaWQuY29uZgorCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kCisgICAgICAgIGVjaG8gImQgL3J1bi8ke0JQTn0vbG9jayAtIC0gLSAtIiBcCisgICAgICAgICAgICAgICAgICAgICA+ICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvaXNjc2kuY29uZgorICAgICAgICBpbnN0YWxsIC1kICR7RH0vZXRjL2RlZmF1bHQvCisgICAgICAgIGluc3RhbGwgLXAgLW0gNzU1ICR7V09SS0RJUn0vaXNjc2ktaW5pdGlhdG9yICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvCisKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vaXNjc2ktaW5pdGlhdG9yLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtXT1JLRElSfS9pc2NzaS1pbml0aWF0b3ItdGFyZ2V0cy5zZXJ2aWNlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLworICAgIGVsc2UKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9L2V0Yy9kZWZhdWx0L3ZvbGF0aWxlcworICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS85OV9pc2NzaS1pbml0aWF0b3ItdXRpbHMgJHtEfS9ldGMvZGVmYXVsdC92b2xhdGlsZXMKKyAgICBmaQorfQorCitwa2dfcG9zdGluc3RfJHtQTn0oKSB7CisgICAgI2RlZmF1bHQgdGhlcmUgaXMgbm8gaW5pdGlhdG9ybmFtZS5pc2NzaSBpbnN0YWxsZWQKKyAgICAjYnV0IGl0IGlzIG5lZWRlZCBvciBpc2NzaWQgd2lsbCBmYWlsCisKKyAgICAjd2lsbCBydW4gb25seSB3aGVuIHBvc3RpbnN0IG9uIHRhcmdldAorICAgIGlmIFsgIngkRCIgIT0gIngiIF07IHRoZW4KKyAgICAgICAgZXhpdCAxCisgICAgZmkKKyAgICBpZiBbICEgLWYgJHtzeXNjb25mZGlyfS9pc2NzaS9pbml0aWF0b3JuYW1lLmlzY3NpIF07IHRoZW4KKyAgICAgICAgZWNobyAiSW5pdGlhdG9yTmFtZT0kKCR7c2JpbmRpcn0vaXNjc2ktaW5hbWUpIiA+IFwKKyAgICAgICAgJHtzeXNjb25mZGlyfS9pc2NzaS9pbml0aWF0b3JuYW1lLmlzY3NpCisgICAgZmkKKworICAgIGlmIFsgLWUgL2V0Yy9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggXTsgdGhlbgorICAgICAgICAvZXRjL2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCB1cGRhdGUKKyAgICBlbGlmIGNvbW1hbmQgLXYgc3lzdGVtZC10bXBmaWxlcyA+L2Rldi9udWxsOyB0aGVuCisgICAgICAgIHN5c3RlbWQtdG1wZmlsZXMgLS1jcmVhdGUgJHtzeXNjb25mZGlyfS90bXBmaWxlcy5kL2lzY3NpLmNvbmYKKyAgICBmaQorfQorCitTWVNURU1EX1NFUlZJQ0UgPSAiIGlzY3NpLWluaXRpYXRvci5zZXJ2aWNlIGlzY3NpLWluaXRpYXRvci10YXJnZXRzLnNlcnZpY2UgIgorSU5JVFNDUklQVF9OQU1FID0gImlzY3NpZCIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDMwIDEgMiAzIDQgNSAuIHN0b3AgNzAgMCAxIDIgMyA0IDUgNiAuIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2xsZHBkL2ZpbGVzL2xsZHBkLmRlZmF1bHQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvbGxkcGQvZmlsZXMvbGxkcGQuZGVmYXVsdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWNhY2ZkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2xsZHBkL2ZpbGVzL2xsZHBkLmRlZmF1bHQKQEAgLTAsMCArMSwyIEBACisjIFVuY29tbWVudCB0byBzdGFydCBTTk1QIHN1YmFnZW50IGFuZCBlbmFibGUgQ0RQLCBTT05NUCBhbmQgRURQIHByb3RvY29sCisjREFFTU9OX0FSR1M9Ii14IC1jIC1zIC1lIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2xsZHBkL2ZpbGVzL2xsZHBkLmluaXQuZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9sbGRwZC9maWxlcy9sbGRwZC5pbml0LmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODhiZjk1OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9sbGRwZC9maWxlcy9sbGRwZC5pbml0LmQKQEAgLTAsMCArMSwxMjggQEAKKyMhIC9iaW4vc2gKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6ICAgICAgICAgIGxsZHBkCisjIFJlcXVpcmVkLVN0YXJ0OiAgICAkcmVtb3RlX2ZzICRuZXR3b3JrICRzeXNsb2cKKyMgUmVxdWlyZWQtU3RvcDogICAgICRuZXR3b3JrICRyZW1vdGVfZnMgJHN5c2xvZworIyBEZWZhdWx0LVN0YXJ0OiAgICAgMiAzIDQgNQorIyBEZWZhdWx0LVN0b3A6ICAgICAgMCAxIDYKKyMgU2hvcnQtRGVzY3JpcHRpb246IExMRFAgZGFlbW9uCisjIERlc2NyaXB0aW9uOiAgICAgICBsbGRwZCBpcyBhIDgwMi4xQUIgaW1wbGVtZW50YXRpb24sIGEgTDIgbmV0d29yaworIyAgICAgICAgICAgICAgICAgICAgZGlzY292ZXJ5IHByb3RvY29sLiBJdCBhbHNvIHN1cHBvcnRzIENEUCwgRURQIGFuZAorIyAgICAgICAgICAgICAgICAgICAgdmFyaW91cyBvdGhlciBwcm90b2NvbHMuCisjIyMgRU5EIElOSVQgSU5GTworCisjIERvIE5PVCAic2V0IC1lIgorCitsb2dfZGFlbW9uX21zZygpIHsKKyAgICBlY2hvICQqCit9CisKK2xvZ19lbmRfbXNnKCkgeworICAgIGlmIFsgJDEgLWVxIDAgXTsgdGhlbgorICAgICAgICBzdWNjZXNzICQqCisgICAgZWxzZQorICAgICAgICBmYWlsdXJlICQqCisgICAgZmkKK30KKworbG9nX2ZhaWx1cmVfbXNnKCkgeworICAgIGVjaG8gJCoKK30KKworbG9nX3N1Y2Nlc3NfbXNnKCkgeworICAgIGVjaG8gJCoKK30KKworCisjIFBBVEggc2hvdWxkIG9ubHkgaW5jbHVkZSAvdXNyLyogaWYgaXQgcnVucyBhZnRlciB0aGUgbW91bnRuZnMuc2ggc2NyaXB0CitQQVRIPS9zYmluOi91c3Ivc2JpbjovYmluOi91c3IvYmluCitERVNDPSJMTERQIGRhZW1vbiIKK05BTUU9bGxkcGQKK0RBRU1PTj0vdXNyL3NiaW4vJE5BTUUKK0RBRU1PTl9BUkdTPSIiCitQSURGSUxFPS92YXIvcnVuLyROQU1FLnBpZAorU0NSSVBUTkFNRT0vZXRjL2luaXQuZC8kTkFNRQorQ0hST09UPS92YXIvcnVuLyROQU1FCisKKyMgRXhpdCBpZiB0aGUgcGFja2FnZSBpcyBub3QgaW5zdGFsbGVkCitbIC14ICIkREFFTU9OIiBdIHx8IGV4aXQgMAorCisjIFJlYWQgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBmaWxlIGlmIGl0IGlzIHByZXNlbnQKK1sgLXIgL2V0Yy9kZWZhdWx0LyROQU1FIF0gJiYgLiAvZXRjL2RlZmF1bHQvJE5BTUUKKworIyBMU0IgbG9nXyogZnVuY3Rpb25zCisuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworCitkb19zdGFydCgpCit7CisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tcGlkZmlsZSAkUElERklMRSAtLWV4ZWMgJERBRU1PTiAtLSBcCisJCSREQUVNT05fQVJHUyBcCisJCXx8IHJldHVybiAyCit9CisKK2RvX3N0b3AoKQoreworCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXF1aWV0IC0tcmV0cnk9VEVSTS8zMC9LSUxMLzUgLS1waWRmaWxlICRQSURGSUxFIC0tbmFtZSAkTkFNRQorCVJFVFZBTD0iJD8iCisJWyAiJFJFVFZBTCIgPSAyIF0gJiYgcmV0dXJuIDIKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLW9rbm9kbyAtLXJldHJ5PTAvMzAvS0lMTC81IC0tZXhlYyAkREFFTU9OCisJWyAiJD8iID0gMiBdICYmIHJldHVybiAyCisJcm0gLWYgJFBJREZJTEUKKwlyZXR1cm4gIiRSRVRWQUwiCit9CisKK2RvX3JlbG9hZCgpIHsKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1zaWduYWwgMSAtLXF1aWV0IC0tcGlkZmlsZSAkUElERklMRSAtLW5hbWUgJE5BTUUKKwlyZXR1cm4gMAorfQorCitjYXNlICIkMSIgaW4KKyAgc3RhcnQpCisJWyAiJFZFUkJPU0UiICE9IG5vIF0gJiYgbG9nX2RhZW1vbl9tc2cgIlN0YXJ0aW5nICRERVNDIiAiJE5BTUUiCisJZG9fc3RhcnQKKwljYXNlICIkPyIgaW4KKwkJMHwxKSBbICIkVkVSQk9TRSIgIT0gbm8gXSAmJiBsb2dfZW5kX21zZyAwIDs7CisJCTIpIFsgIiRWRVJCT1NFIiAhPSBubyBdICYmIGxvZ19lbmRfbXNnIDEgOzsKKwllc2FjCisJOzsKKyAgc3RvcCkKKwlbICIkVkVSQk9TRSIgIT0gbm8gXSAmJiBsb2dfZGFlbW9uX21zZyAiU3RvcHBpbmcgJERFU0MiICIkTkFNRSIKKwlkb19zdG9wCisJY2FzZSAiJD8iIGluCisJCTB8MSkgWyAiJFZFUkJPU0UiICE9IG5vIF0gJiYgbG9nX2VuZF9tc2cgMCA7OworCQkyKSBbICIkVkVSQk9TRSIgIT0gbm8gXSAmJiBsb2dfZW5kX21zZyAxIDs7CisJZXNhYworCTs7CisgIHJlbG9hZCkKKwlsb2dfZGFlbW9uX21zZyAiUmVsb2FkaW5nICRERVNDIiAiJE5BTUUiCisJZG9fcmVsb2FkCisJbG9nX2VuZF9tc2cgJD8KKwk7OworICByZXN0YXJ0fGZvcmNlLXJlbG9hZCkKKwlsb2dfZGFlbW9uX21zZyAiUmVzdGFydGluZyAkREVTQyIgIiROQU1FIgorCWRvX3N0b3AKKwljYXNlICIkPyIgaW4KKwkgIDB8MSkKKwkJZG9fc3RhcnQKKwkJY2FzZSAiJD8iIGluCisJCQkwKSBsb2dfZW5kX21zZyAwIDs7CisJCQkxKSBsb2dfZW5kX21zZyAxIDs7ICMgT2xkIHByb2Nlc3MgaXMgc3RpbGwgcnVubmluZworCQkJKikgbG9nX2VuZF9tc2cgMSA7OyAjIEZhaWxlZCB0byBzdGFydAorCQllc2FjCisJCTs7CisJICAqKQorCSAgCSMgRmFpbGVkIHRvIHN0b3AKKwkJbG9nX2VuZF9tc2cgMQorCQk7OworCWVzYWMKKwk7OworICBzdGF0dXMpCisJc3RhdHVzX29mX3Byb2MgJERBRU1PTiAkTkFNRSAtcCAkUElERklMRSAmJiBleGl0IDAgfHwgZXhpdCAkPworCTs7CisgICopCisJZWNobyAiVXNhZ2U6ICRTQ1JJUFROQU1FIHtzdGFydHxzdG9wfHJlc3RhcnR8cmVsb2FkfGZvcmNlLXJlbG9hZHxzdGF0dXN9IiA+JjIKKwlleGl0IDMKKwk7OworZXNhYworCis6CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvbGxkcGQvbGxkcGRfMC45LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvbGxkcGQvbGxkcGRfMC45LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzdlZDA5ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9sbGRwZC9sbGRwZF8wLjkuMi5iYgpAQCAtMCwwICsxLDY1IEBACitTVU1NQVJZID0gIkEgODAyLjFhYiBpbXBsZW1lbnRhdGlvbiAoTExEUCkgdG8gaGVscCB5b3UgbG9jYXRlIG5laWdoYm9ycyBvZiBhbGwgeW91ciBlcXVpcG1lbnRzIgorU0VDVElPTiA9ICJuZXQvbWlzYyIKK0xJQ0VOU0UgPSAiSVNDIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMvSVNDO21kNT1mM2I5MGU3OGVhMGNmZmIyMGJmNWNjYTc5NDdhODk2ZCIKKworREVQRU5EUyA9ICJsaWJic2QgbGliZXZlbnQiCisKK1NSQ19VUkkgPSAiXAorICAgIGh0dHA6Ly9tZWRpYS5sdWZmeS5jeC9maWxlcy8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgZmlsZTovL2xsZHBkLmluaXQuZCBcCisgICAgZmlsZTovL2xsZHBkLmRlZmF1bHQgXAorICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gImI4MDk4ODdiYzkyN2ZiNTU4ZmQ1ZGQ2NGI2YzBhNDk0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjYwNTRmMjlkNDFmYWYzMjE4NmEyMjMzMTg1M2EyOTljODdmNDQxOWI0MzMyZGY0YTU2NGY3NmExMzkzMDVhMzIiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHVwZGF0ZS1yYy5kIHVzZXJhZGQgc3lzdGVtZCBwa2djb25maWcgYmFzaC1jb21wbGV0aW9uCisKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCitVU0VSQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIC1nIGxsZHBkIC0tc2hlbGwgL2Jpbi9mYWxzZSBsbGRwZCIKK0dST1VQQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIGxsZHBkIgorCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aG91dC1lbWJlZGRlZC1saWJldmVudCBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1vbGRpZXMgXAorICAgICAgICAgICAgICAgICAtLXdpdGgtcHJpdnNlcC11c2VyPWxsZHBkIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLXByaXZzZXAtZ3JvdXA9bGxkcGQgXAorICAgICAgICAgICAgICAgICAtLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfSBcCisgICAgICAgICAgICAgICAgIC0td2l0aG91dC1zeXN1c2Vyc2RpciBcCisiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJjZHAgZmRwIGVkcCBzb25tcCBsbGRwbWVkIGRvdDEgZG90MyIKK1BBQ0tBR0VDT05GSUdbanNvbl0gPSAiLS13aXRoLWpzb24sLS13aXRob3V0LWpzb24samFuc3NvbiIKK1BBQ0tBR0VDT05GSUdbeG1sXSA9ICItLXdpdGgteG1sLC0td2l0aG91dC14bWwsbGlieG0yIgorUEFDS0FHRUNPTkZJR1tzbm1wXSA9ICItLXdpdGgtc25tcCwtLXdpdGhvdXQtc25tcCxuZXQtc25tcCIKK1BBQ0tBR0VDT05GSUdbcmVhZGxpbmVdID0gIi0td2l0aC1yZWFkbGluZSwtLXdpdGhvdXQtcmVhZGxpbmUscmVhZGxpbmUiCitQQUNLQUdFQ09ORklHW3NlY2NvbXBdID0gIi0td2l0aC1zZWNjb21wLC0td2l0aG91dC1zZWNjb21wLGxpYnNlY2NvbXAiCitQQUNLQUdFQ09ORklHW2NkcF0gPSAiLS1lbmFibGUtY2RwLC0tZGlzYWJsZS1jZHAiCitQQUNLQUdFQ09ORklHW2ZkcF0gPSAiLS1lbmFibGUtZmRwLC0tZGlzYWJsZS1mZHAiCitQQUNLQUdFQ09ORklHW2VkcF0gPSAiLS1lbmFibGUtZWRwLC0tZGlzYWJsZS1lZHAiCitQQUNLQUdFQ09ORklHW3Nvbm1wXSA9ICItLWVuYWJsZS1zb25tcCwtLWRpc2FibGUtc29ubXAiCitQQUNLQUdFQ09ORklHW2xsZHBtZWRdID0gIi0tZW5hYmxlLWxsZHBtZWQsLS1kaXNhYmxlLWxsZHBtZWQiCitQQUNLQUdFQ09ORklHW2RvdDFdID0gIi0tZW5hYmxlLWRvdDEsLS1kaXNhYmxlLWRvdDEiCitQQUNLQUdFQ09ORklHW2RvdDNdID0gIi0tZW5hYmxlLWRvdDMsLS1kaXNhYmxlLWRvdDMiCitQQUNLQUdFQ09ORklHW2N1c3RvbV0gPSAiLS1lbmFibGUtY3VzdG9tLC0tZGlzYWJsZS1jdXN0b20iCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJsbGRwZCIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAibGxkcGQuc2VydmljZSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtRG0gMDc1NSAke1dPUktESVJ9L2xsZHBkLmluaXQuZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbGxkcGQKKyAgICBpbnN0YWxsIC1EbSAwNjQ0ICR7V09SS0RJUn0vbGxkcGQuZGVmYXVsdCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L2xsZHBkCisgICAgIyBNYWtlIGFuIGVtcHR5IGNvbmZpZ3VyYXRpb24gZmlsZQorICAgIHRvdWNoICR7RH0ke3N5c2NvbmZkaXJ9L2xsZHBkLmNvbmYKK30KKworUEFDS0FHRVMgPSsgIiR7UE59LXpzaC1jb21wbGV0aW9uIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3N5c3VzZXJzLmQiCitSREVQRU5EU18ke1BOfSArPSAib3MtcmVsZWFzZSIKKworRklMRVNfJHtQTn0tenNoLWNvbXBsZXRpb24gKz0gIiR7ZGF0YWRpcn0venNoLyIKKyMgRklYTUU6IHpzaCBpcyBicm9rZW4gaW4gbWV0YS1vZSBzbyB0aGlzIGNhbm5vdCBiZSBlbmFibGVkIGZvciBub3cKKyNSREVQRU5EU18ke1BOfS16c2gtY29tcGxldGlvbiArPSAienNoIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL25jZnRwL25jZnRwL25jZnRwLWNvbmZpZ3VyZS11c2UtQlVJTERfQ0MtZm9yLWNjZHYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvbmNmdHAvbmNmdHAvbmNmdHAtY29uZmlndXJlLXVzZS1CVUlMRF9DQy1mb3ItY2Nkdi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTU5MDE3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL25jZnRwL25jZnRwL25jZnRwLWNvbmZpZ3VyZS11c2UtQlVJTERfQ0MtZm9yLWNjZHYucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorRnJvbSAwNDNlMWE5ZWM4M2E1OTY3MWVmOGM0Y2FkNjc5ZGJmNzgxZTVlZjk4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFN1biwgMjkgTm92IDIwMTUgMjM6Mzc6MDYgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlOiB1c2UgQlVJTERfQ0MgZm9yIGNjZHYKKworY2NkdiBpcyBpbnRlbmRlZCB0byBiZSBpbnZva2VkIGZyb20gTWFrZWZpbGVzIG9ubHksCitpdCBkb2Vzbid0IHdvcmsgZm9yIHRoZSBjcm9zcyBjb21waWxpbmcsIHNvIGNvbXBpbGUKK2l0IHdpdGggJEJVSUxEX0NDIGFuZCBjb3JyZXNwb25kaW5nIENGTEFHUy4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjcm9zcyBjb21waWxlIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgY29uZmlndXJlIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlIGIvY29uZmlndXJlCitpbmRleCAyZjBmYWUwLi5hN2U5MTEyIDEwMDc1NQorLS0tIGEvY29uZmlndXJlCisrKysgYi9jb25maWd1cmUKK0BAIC0xMTI4Niw3ICsxMTI4Niw3IEBAIHBhbmljOgorIH0JLyogbWFpbiAqLworIC8qIGVvZiBjY2R2LmMgKi8KKyBFT0YKKy0JCSR7Q0MtY2N9ICRERUZTICRDUFBGTEFHUyAkQ0ZMQUdTICJjY2R2LmMiIC1vICJjY2R2IiA+L2Rldi9udWxsIDI+JjEKKysJCSR7QlVJTERfQ0N9ICRERUZTICR7QlVJTERfQ1BQRkxBR1N9ICR7QlVJTERfQ0ZMQUdTfSAiY2Nkdi5jIiAtbyAiY2NkdiIgPi9kZXYvbnVsbCAyPiYxCisgCXJtIC1mIGNjZHYuYyBjY2R2Lm8gY2Nkdi5jLmd6LnV1IGNjZHYuYy5negorIAlzdHJpcCAuL2NjZHYgPi9kZXYvbnVsbCAyPiYxCisgCS4vY2NkdiA+L2Rldi9udWxsIDI+JjEKKy0tIAorMi4zLjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL25jZnRwL25jZnRwXzMuMi41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL25jZnRwL25jZnRwXzMuMi41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg5M2VhY2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvbmNmdHAvbmNmdHBfMy4yLjUuYmIKQEAgLTAsMCArMSwyNyBAQAorREVTQ1JJUFRJT04gPSAiQSBzb3BoaXN0aWNhdGVkIGNvbnNvbGUgZnRwIGNsaWVudCIKK0hPTUVQQUdFID0gImh0dHA6Ly9uY2Z0cC5jb20vIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkNsQXJ0aXN0aWMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9uY2Z0cC9jbWRzLmM7YmVnaW5saW5lPTM7ZW5kbGluZT00O21kNT05ZGU3NmZhZWFlZGM0ZjkwODA4MmUzZjgxNDI3MTVmNCIKK0RFUEVORFMgPSAibmN1cnNlcyIKKworU1JDX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vbi8ke0JQTn0vJHtCUE59XyR7UFZ9Lm9yaWcudGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL25jZnRwLWNvbmZpZ3VyZS11c2UtQlVJTERfQ0MtZm9yLWNjZHYucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjY4NWU0NWY2MGFjMTFjODk0NDJjNTcyYzI4YWY0MjI4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFjMTExYjcxMTEyMzgyODUzYjI4MzVjNDJlYmU3YmQ1OWFjYjdmODVkZDAwZDQ0YjJjMTlmYmQwNzRhNDM2YzQiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbY2Nkdl0gPSAiLS1lbmFibGUtY2NkdiwtLWRpc2FibGUtY2NkdiwsIgorCitkb19jb25maWd1cmUoKSB7CisgICAgb2VfcnVuY29uZgorfQorZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9ICR7RH0ke3N5c2NvbmZkaXJ9ICR7RH0ke21hbmRpcn0KKyAgICBvZV9ydW5tYWtlICdwcmVmaXg9JHtEfSR7cHJlZml4fScgJ0JJTkRJUj0ke0R9JHtiaW5kaXJ9JyBcCisgICAgICAgICdTWVNDT05GRElSPSR7RH0ke3N5c2NvbmZkaXJ9JyAnbWFuZGlyPSR7RH0ke21hbmRpcn0nIFwKKyAgICAgICAgaW5zdGFsbAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL29wZW5zYWYvb3BlbnNhZi8wMDAxLXBsbWNkLWVycm9yLWZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9vcGVuc2FmL29wZW5zYWYvMDAwMS1wbG1jZC1lcnJvci1maXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjI0Y2QyZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9vcGVuc2FmL29wZW5zYWYvMDAwMS1wbG1jZC1lcnJvci1maXgucGF0Y2gKQEAgLTAsMCArMSw0MyBAQAorRnJvbSBmMTgxM2FmNGMxNTRmYjFkMzk1MGFiYmRmNjc4YzNhNWE2NzIyMmZjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogVGh1LCAyNSBKdW4gMjAxNSAxMTo0NDoyNyArMDkwMAorU3ViamVjdDogW1BBVENIXSBwbG1jZDogZXJyb3IgZml4CisKK2xkOiBjYW5ub3QgZmluZCAtbHN5c3RlbWQtZGFlbW9uCitjb2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKKworU2lnbmVkLW9mZi1ieTogTGkgWGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorLS0tCisgY29udHJpYi9wbG1jL3BsbWNkL01ha2VmaWxlLmFtIHwgMiArLQorIGNvbnRyaWIvcGxtYy9wbG1jZC9NYWtlZmlsZS5pbiB8IDIgKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbnRyaWIvcGxtYy9wbG1jZC9NYWtlZmlsZS5hbSBiL2NvbnRyaWIvcGxtYy9wbG1jZC9NYWtlZmlsZS5hbQoraW5kZXggOGQ4NDdmMi4uZGQ3OTEzYSAxMDA2NDQKKy0tLSBhL2NvbnRyaWIvcGxtYy9wbG1jZC9NYWtlZmlsZS5hbQorKysrIGIvY29udHJpYi9wbG1jL3BsbWNkL01ha2VmaWxlLmFtCitAQCAtMzIsNyArMzIsNyBAQCBwbG1jZF9TT1VSQ0VTID0gXAorIHBsbWNkX0xERkxBR1MgPSAtbHB0aHJlYWQKKyAKKyBpZiBFTkFCTEVfU1lTVEVNRAorLXBsbWNkX0xERkxBR1MgKz0gLWxzeXN0ZW1kLWRhZW1vbgorK3BsbWNkX0xERkxBR1MgKz0gLWxzeXN0ZW1kCisgZW5kaWYKKyAKKyBwbG1jZF9MREFERCA9IFwKK2RpZmYgLS1naXQgYS9jb250cmliL3BsbWMvcGxtY2QvTWFrZWZpbGUuaW4gYi9jb250cmliL3BsbWMvcGxtY2QvTWFrZWZpbGUuaW4KK2luZGV4IDAxODVkYzQuLmU0MDUxM2EgMTAwNjQ0CistLS0gYS9jb250cmliL3BsbWMvcGxtY2QvTWFrZWZpbGUuaW4KKysrKyBiL2NvbnRyaWIvcGxtYy9wbG1jZC9NYWtlZmlsZS5pbgorQEAgLTEwNiw3ICsxMDYsNyBAQCBidWlsZF90cmlwbGV0ID0gQGJ1aWxkQAorIGhvc3RfdHJpcGxldCA9IEBob3N0QAorIHRhcmdldF90cmlwbGV0ID0gQHRhcmdldEAKKyBzYmluX1BST0dSQU1TID0gcGxtY2QkKEVYRUVYVCkKKy1ARU5BQkxFX1NZU1RFTURfVFJVRUBhbV9fYXBwZW5kXzEgPSAtbHN5c3RlbWQtZGFlbW9uCisrQEVOQUJMRV9TWVNURU1EX1RSVUVAYW1fX2FwcGVuZF8xID0gLWxzeXN0ZW1kCisgc3ViZGlyID0gcGxtY2QKKyBBQ0xPQ0FMX000ID0gJCh0b3Bfc3JjZGlyKS9hY2xvY2FsLm00CisgYW1fX2FjbG9jYWxfbTRfZGVwcyA9ICQodG9wX3NyY2RpcikvY29uZmlndXJlLmFjCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL29wZW5zYWYvb3BlbnNhZi9pbnN0YWxsLXNhbXBsZXMtZnJvbS1zcmNkaXIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvb3BlbnNhZi9vcGVuc2FmL2luc3RhbGwtc2FtcGxlcy1mcm9tLXNyY2Rpci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMTZiNjRmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL29wZW5zYWYvb3BlbnNhZi9pbnN0YWxsLXNhbXBsZXMtZnJvbS1zcmNkaXIucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIG9wZW5zYWYtNC41LjAub3JpZy9NYWtlZmlsZS5hbQkyMDE0LTEyLTMxIDE0OjQ1OjU0LjA4ODc5Nzk4OSArMDgwMAorKysrIG9wZW5zYWYtNC41LjAvTWFrZWZpbGUuYW0JMjAxNC0xMi0zMSAxNDo0NTowOC4zMjg3OTY2ODggKzA4MDAKK0BAIC0yMTksNyArMjE5LDcgQEAgaW5zdGFsbC1kYXRhLWxvY2FsOgorIAkkKG1raW5zdGFsbGRpcnMpICQoREVTVERJUikkKHBrZ3BpZGRpcikKKyAJJChta2luc3RhbGxkaXJzKSAkKERFU1RESVIpJChsb2NrZGlyKQorIAkkKG1raW5zdGFsbGRpcnMpICQoREVTVERJUikkKHBrZ2xvY2Fsc3RhdGVkaXIpCistCWNwIC1SIHNhbXBsZXMvICQoREVTVERJUikkKHBrZ2RhdGFkaXIpCisrCWNwIC1SICQoc3JjZGlyKS9zYW1wbGVzLyAkKERFU1RESVIpJChwa2dkYXRhZGlyKQorIAorIGluc3RhbGwtZGF0YS1ob29rOgorIAlAZm9yIGkgaW4gJCQoZ3JlcCAtbHIgLWUgJ3h4TElCRElSeHgnIC1lICd4eExPR0RJUnh4JyAtZSAneHhDTENDTElESVJ4eCcgJChERVNURElSKSQocGtnaW1teG1sX3N2Y2RpcikvKi54bWwpIDsgZG8gXApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL29wZW5zYWYvb3BlbnNhZl80LjcuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9vcGVuc2FmL29wZW5zYWZfNC43LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDJlODgzYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9vcGVuc2FmL29wZW5zYWZfNC43LjAuYmIKQEAgLTAsMCArMSw2NiBAQAorU1VNTUFSWSA9ICJPcGVuU0FGIGlzIGFuIG9wZW4gc291cmNlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBTQUYgQUlTIHNwZWNpZmljYXRpb24iCitERVNDUklQVElPTiA9ICJPcGVuU0FGIGlzIGFuIG9wZW4gc291cmNlIHByb2plY3QgZXN0YWJsaXNoZWQgdG8gZGV2ZWxvcCBhIGJhc2UgcGxhdGZvcm0gXAorbWlkZGxld2FyZSBjb25zaXN0ZW50IHdpdGggU2VydmljZSBBdmFpbGFiaWxpdHkgRm9ydW0gKFNBIEZvcnVtKSBcCitzcGVjaWZpY2F0aW9ucywgdW5kZXIgdGhlIExHUEx2Mi4xIGxpY2Vuc2UuIFRoZSBPcGVuU0FGIEZvdW5kYXRpb24gd2FzIFwKK2VzdGFibGlzaGVkIGJ5IGxlYWRpbmcgQ29tbXVuaWNhdGlvbnMgYW5kIEVudGVycHJpc2UgQ29tcHV0aW5nIENvbXBhbmllcyB0byBcCitmYWNpbGl0YXRlIHRoZSBPcGVuU0FGIFByb2plY3QgYW5kIHRvIGFjY2VsZXJhdGUgdGhlIGFkb3B0aW9uIG9mIHRoZSBPcGVuU0FGIFwKK2NvZGUgYmFzZSBpbiBjb21tZXJjaWFsIHByb2R1Y3RzLiBcCitUaGUgT3BlblNBRiBwcm9qZWN0IHdhcyBsYXVuY2hlZCBpbiBtaWQgMjAwNyBhbmQgaGFzIGJlZW4gdW5kZXIgZGV2ZWxvcG1lbnQgYnkgXAorYW4gaW5mb3JtYWwgZ3JvdXAgb2Ygc3VwcG9ydGVycyBvZiB0aGUgT3BlblNBRiBpbml0aWF0aXZlLiBUaGUgT3BlblNBRiBcCitGb3VuZGF0aW9uIHdhcyBmb3VuZGVkIG9uIEphbnVhcnkgMjJuZCAyMDA4IHdpdGggRW1lcnNvbiBOZXR3b3JrIFBvd2VyLCBcCitFcmljc3NvbiwgTm9raWEgU2llbWVucyBOZXR3b3JrcywgSFAgYW5kIFN1biBNaWNyb3N5c3RlbXMgYXMgZm91bmRpbmcgbWVtYmVycy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm9wZW5zYWYub3JnIgorCitpbmhlcml0IGF1dG90b29scyB1c2VyYWRkIHN5c3RlbWQgcGtnY29uZmlnCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9LyR7QlBOfS9yZWxlYXNlcy8ke0JQTn0tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2luc3RhbGwtc2FtcGxlcy1mcm9tLXNyY2Rpci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXBsbWNkLWVycm9yLWZpeC5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjgyZGQyNzc3YTY3MjE0MGUyMmI4MjA1ZjEwYWE1NWQzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImRhOWUxMzg2NTBiODM1NzI4YWQ1MWQ5OTI2OGQzYTMxNDE5YjI1NGM0Y2I0ZTg3YzZlYzkwYmM0NTI2NmQ3ZDIiCisKK1NFQ1RJT04gPSAiYWRtaW4iCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PWE5MTY0NjdiOTEwNzZlNjMxZGQ4ZWRiNzQyNDc2OWM3IgorCitERVBFTkRTID0gImxpYnhtbDIgcHl0aG9uIgorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAiLWYgLXIgb3BlbnNhZiIKK1VTRVJBRERfUEFSQU1fJHtQTn0gPSAgIi1yIC1nIG9wZW5zYWYgLWQgJHtkYXRhZGlyfS9vcGVuc2FmLyAtcyAke3NiaW5kaXJ9L25vbG9naW4gLWMgXCJPcGVuU0FGXCIgb3BlbnNhZiIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ICs9ICJvcGVuc2FmZC5zZXJ2aWNlIHBsbWNib290LnNlcnZpY2UgcGxtY2Quc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLWVuYWJsZS1zeXN0ZW1kLWRhZW1vbiIKK1BBQ0tBR0VDT05GSUdbb3BlbmhwaV0gPSAiLS13aXRoLWhwaS1pbnRlcmZhY2U9QjAzIC0tZW5hYmxlLWFpcy1wbG0sLG9wZW5ocGkiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKyAgICAgICAgKCBjZCAke1N9OyBhdXRvcmVjb25mIC1mIC1pIC1zICkKK30KKworRVhUUkFfT0VDT05GICs9ICIgLS1saWJkaXI9JHtsaWJkaXJ9L29wZW5zYWYgIgorRVhUUkFfT0VNQUtFICs9ICIgLVdsLC1ycGF0aCwke2xpYmRpcn0vb3BlbnNhZiAiCisKK1BLR0xJQkRJUj0iJHtsaWJkaXJ9L29wZW5zYWYvb3BlbnNhZiIKKworRklMRVNfJHtQTn0gKz0gIiR7bG9jYWxzdGF0ZWRpcn0vcnVuIgorCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7UEtHTElCRElSfS8qLmEiCisKK1JERVBFTkRTXyR7UE59ICs9ICJiYXNoIHB5dGhvbiIKKworSU5TQU5FX1NLSVBfJHtQTn0gPSAiZGV2LXNvIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBybSAtZnIgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xvY2siCisgICAgcm0gLWZyICIke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4iCisgICAgcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9IgorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtCfS9vc2FmL3NlcnZpY2VzL2luZnJhc3RydWN0dXJlL25pZC9jb25maWcvb3BlbnNhZmQuc2VydmljZSBcCisgICAgICAgICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7Qn0vY29udHJpYi9wbG1jL2NvbmZpZy8qLnNlcnZpY2UgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L2ZpbGVzL2FsaWFzZXNkYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L2ZpbGVzL2FsaWFzZXNkYgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NTVhNjRmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Bvc3RmaXgvZmlsZXMvYWxpYXNlc2RiCkBAIC0wLDAgKzEsMjAgQEAKKyMhL2Jpbi9zaAorCitBTElBU0VTREJfU1RBTVA9L3Zhci9saWIvbWlzYy9wb3N0Zml4LmFsaWFzZXNkYi1zdGFtcAorCittYWtlX2FsaWFzZXNkYigpIHsKKyAgICAgICAgaWYgWyAiJCgvdXNyL3NiaW4vcG9zdGNvbmYgLWggYWxpYXNfZGF0YWJhc2UpIiA9ICJoYXNoOi9ldGMvYWxpYXNlcyIgXQorICAgICAgICB0aGVuCisgICAgICAgICAgICAgICAgIyAvZXRjL2FsaWFzZXMuZGIgbWF5IGJlIHVzZWQgYnkgb3RoZXIgTVRBLCBtYWtlIHN1cmUgbm90aGluZworICAgICAgICAgICAgICAgICMgaGFzIHRvdWNoZWQgaXQgc2luY2Ugb3VyIGxhc3QgbmV3YWxpYXNlcyBjYWxsCisgICAgICAgICAgICAgICAgWyAvZXRjL2FsaWFzZXMgLW50IC9ldGMvYWxpYXNlcy5kYiBdIHx8CisgICAgICAgICAgICAgICAgICAgICAgICBbICIkQUxJQVNFU0RCX1NUQU1QIiAtbnQgL2V0Yy9hbGlhc2VzLmRiIF0gfHwKKyAgICAgICAgICAgICAgICAgICAgICAgIFsgIiRBTElBU0VTREJfU1RBTVAiIC1vdCAvZXRjL2FsaWFzZXMuZGIgXSB8fCByZXR1cm4gMAorICAgICAgICAgICAgICAgIC91c3IvYmluL25ld2FsaWFzZXMKKyAgICAgICAgICAgICAgICB0b3VjaCAtciAvZXRjL2FsaWFzZXMuZGIgIiRBTElBU0VTREJfU1RBTVAiCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAvdXNyL2Jpbi9uZXdhbGlhc2VzCisgICAgICAgIGZpCit9CisKK21ha2VfYWxpYXNlc2RiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9maWxlcy9jaGVja19ob3N0bmFtZS5zaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L2ZpbGVzL2NoZWNrX2hvc3RuYW1lLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM3YTBkZDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9maWxlcy9jaGVja19ob3N0bmFtZS5zaApAQCAtMCwwICsxLDEzIEBACisjISAvYmluL3NoCisKK0hPU1ROQU1FPSQoL2Jpbi9ob3N0bmFtZSkKKworaWYgWyAteiAiJEhPU1ROQU1FIiAtbyAiJEhPU1ROQU1FIiA9ICIobm9uZSkiIC1vICEgLXogImBlY2hvICRIT1NUTkFNRSB8IHNlZCAtbiAnL15bMC05XSpcLlswLTldLiovcCdgIiBdOyB0aGVuCisJIyBJZiBob3N0bmFtZSBpcyBpbnZhbGlkLCBhbmQgbXlob3N0bmFtZSBub3QgZXhpc3RlZCBpbiBtYWluLmNmCisJL3Vzci9zYmluL3Bvc3Rjb25mIC1oICJteWhvc3RuYW1lIiAyPi9kZXYvbnVsbAorCWlmIFsgJD8gLW5lIDAgXTsgdGhlbgorCQkjIFNldCAibG9jYWxob3N0IiB0byBtYWluLmNmCisJCS91c3Ivc2Jpbi9wb3N0Y29uZiAtZSAibXlob3N0bmFtZT1sb2NhbGhvc3QiCisJZmkKK2ZpCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L2ZpbGVzL2luc3RhbGwucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9maWxlcy9pbnN0YWxsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwMjM2ODAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9maWxlcy9pbnN0YWxsLnBhdGNoCkBAIC0wLDAgKzEsOTMgQEAKK0Zyb20gMTkwNjUwZTFjZDU3MDBjZDY5NTBlYWQzZmNiMTdlYmNlYzE5MmEyZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExpIHhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IEZyaSwgMTkgSnVuIDIwMTUgMTc6MTQ6NTggKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gQ2hhbmdlIGZpeGVkIHBvc3Rjb25mIHRvIGEgdmFyaWFibGUgZm9yIGNyb3NzLWNvbXBpbGluZworCitVcHN0cmVhbXN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IFlhbyBaaGFvIDx5YW8uemhhb0B3aW5kcml2ZXIuY29tPgorLS0tCisgcG9zdGZpeC1pbnN0YWxsIHwgMTggKysrKysrKysrKy0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9wb3N0Zml4LWluc3RhbGwgYi9wb3N0Zml4LWluc3RhbGwKK2luZGV4IDE2NjJjM2QuLmQxMWZhMTIgMTAwNjQ0CistLS0gYS9wb3N0Zml4LWluc3RhbGwKKysrKyBiL3Bvc3RmaXgtaW5zdGFsbAorQEAgLTIyNiw4ICsyMjYsOCBAQCB0ZXN0IC16ICIkbm9uX2ludGVyYWN0aXZlIiAtYSAhIC10IDAgJiYgeworICAgICBleGl0IDEKKyB9CisgCistdGVzdCAteCBiaW4vcG9zdGNvbmYgfHwgeworLSAgICBlY2hvICQwOiBFcnJvcjogbm8gYmluL3Bvc3Rjb25mIGZpbGUuIERpZCB5b3UgZm9yZ2V0IHRvIHJ1biBcIm1ha2VcIj8gMT4mMgorK3Rlc3QgLXggIiRQT1NUQ09ORiIgfHwgeworKyAgICBlY2hvICQwOiBFcnJvcjogbm8gJFBPU1RDT05GIGZpbGUuIERpZCB5b3UgZm9yZ2V0IHRvIHJ1biBcIm1ha2VcIj8gMT4mMgorICAgICBleGl0IDEKKyB9CisgCitAQCAtMjQ4LDcgKzI0OCw3IEBAIGRvCisgICAgIGNhc2UgIiRqdW5rIiBpbgorICAgICAqTUFJTF9WRVJTSU9OKikgCisgCWNhc2UgIiRtYWlsX3ZlcnNpb24iIGluCistCSIiKSBtYWlsX3ZlcnNpb249ImBiaW4vcG9zdGNvbmYgLWRoeCBtYWlsX3ZlcnNpb25gIiB8fCBleGl0IDEKKysJIiIpIG1haWxfdmVyc2lvbj0iYCRQT1NUQ09ORiAtZGh4IG1haWxfdmVyc2lvbmAiIHx8IGV4aXQgMQorIAllc2FjCisgCXZhbD1gZWNobyAiJGp1bmsiIHwgc2VkICdzL01BSUxfVkVSU0lPTiQvJyIkbWFpbF92ZXJzaW9uL2ciYCB8fCBleGl0IDEKKyAJY2FzZSAiJHZhbCIgaW4KK0BAIC00MzQsNyArNDM0LDcgQEAgdGVtcGxhdGUgZmlsZXMgbWFpbi5jZi5wcm90byBhbmQgbWFzdGVyLmNmLnByb3RvLiIKKyAKKyA6ICR7aW5zdGFsbF9yb290PS99CisgOiAke3RlbXBkaXI9YHB3ZGB9CistOiAke2NvbmZpZ19kaXJlY3Rvcnk9YGJpbi9wb3N0Y29uZiAtYyBjb25mIC1oIC1kIGNvbmZpZ19kaXJlY3RvcnlgfQorKzogJHtjb25maWdfZGlyZWN0b3J5PWAkUE9TVENPTkYgLWMgY29uZiAtaCAtZCBjb25maWdfZGlyZWN0b3J5YH0KKyAKKyAjIEZpbmQgb3V0IHRoZSBsb2NhdGlvbiBvZiBpbnN0YWxsZWQgY29uZmlndXJhdGlvbiBmaWxlcy4KKyAKK0BAIC01MDAsNyArNTAwLDcgQEAgdGVzdCAtZiAkQ09ORklHX0RJUkVDVE9SWS9tYWluLmNmICYmIHsKKyAJY2FzZSAiJGp1bmsiIGluCisgCSIiKSBldmFsIHVuc2V0ICRuYW1lOzsKKyAJZXNhYworLQlldmFsIDogXCR7JG5hbWU9XGBiaW4vcG9zdGNvbmYgLWMgJENPTkZJR19ESVJFQ1RPUlkgLWh4ICRuYW1lXGB9IHx8CisrCWV2YWwgOiBcJHskbmFtZT1cYCRQT1NUQ09ORiAtYyAkQ09ORklHX0RJUkVDVE9SWSAtaHggJG5hbWVcYH0gfHwKKyAJICAgIGV4aXQgMQorICAgICBkb25lCisgfQorQEAgLTUxMyw3ICs1MTMsNyBAQCBkbworICAgICBjYXNlICIkanVuayIgaW4KKyAgICAgIiIpIGV2YWwgdW5zZXQgJG5hbWU7OworICAgICBlc2FjCistICAgIGV2YWwgOiBcJHskbmFtZT1cYGJpbi9wb3N0Y29uZiAtYyBjb25mIC1kIC1oeCAkbmFtZVxgfSB8fCBleGl0IDEKKysgICAgZXZhbCA6IFwkeyRuYW1lPVxgJFBPU1RDT05GIC1jIGNvbmYgLWQgLWh4ICRuYW1lXGB9IHx8IGV4aXQgMQorIGRvbmUKKyAKKyAjIE92ZXJyaWRlIHNldHRpbmdzIG1hbnVhbGx5LgorQEAgLTYzOSw2ICs2MzksOCBAQCBSRUFETUVfRElSRUNUT1JZPSRpbnN0YWxsX3Jvb3QkcmVhZG1lX2RpcmVjdG9yeQorIFNITElCX0RJUkVDVE9SWT0kaW5zdGFsbF9yb290JHNobGliX2RpcmVjdG9yeQorIE1FVEFfRElSRUNUT1JZPSRpbnN0YWxsX3Jvb3QkbWV0YV9kaXJlY3RvcnkKKyAKKyt0ZXN0ICJ4JFBPU1RDT05GIiAhPSAieCIgfHwgUE9TVENPTkY9ImJpbi9wb3N0Y29uZiIKKysKKyAjIEF2b2lkIHJlcGVhdGVkIHRlc3RzIGZvciBleGlzdGVuY2Ugb2YgdGhlc2U7IGRlZmF1bHQgcGVybWlzc2lvbnMgc3VmZmljZS4KKyAKKyB0ZXN0IC1kICREQUVNT05fRElSRUNUT1JZIHx8IG1rZGlyIC1wICREQUVNT05fRElSRUNUT1JZIHx8IGV4aXQgMQorQEAgLTgxMCw3ICs4MTIsNyBAQCBJRlM9IiRCQUNLVVBfSUZTIgorICMgdGhlIHdyb25nIHBsYWNlIHdoZW4gUG9zdGZpeCBpcyBiZWluZyB1cGdyYWRlZC4KKyAKKyBjYXNlICIkbWFpbF92ZXJzaW9uIiBpbgorLSIiKSBtYWlsX3ZlcnNpb249ImBiaW4vcG9zdGNvbmYgLWRoeCBtYWlsX3ZlcnNpb25gIiB8fCBleGl0IDEKKysiIikgbWFpbF92ZXJzaW9uPSJgJFBPU1RDT05GIC1kaHggbWFpbF92ZXJzaW9uYCIgfHwgZXhpdCAxCisgZXNhYworIAorICMgVW5kbyBNQUlMX1ZFUlNJT04gZXhwYW5zaW9uIGF0IHRoZSBlbmQgb2YgYSBwYXJhbWV0ZXIgdmFsdWUuIElmCitAQCAtODMwLDcgKzgzMiw3IEBAIGRvCisgICAgIGVzYWMKKyBkb25lCisgCistYmluL3Bvc3Rjb25mIC1jICRDT05GSUdfRElSRUNUT1JZIC1lIFwKKysiJFBPU1RDT05GIiAtYyAkQ09ORklHX0RJUkVDVE9SWSAtZSBcCisgICAgICJkYWVtb25fZGlyZWN0b3J5ID0gJGRhZW1vbl9kaXJlY3RvcnkiIFwKKyAgICAgImRhdGFfZGlyZWN0b3J5ID0gJGRhdGFfZGlyZWN0b3J5IiBcCisgICAgICJjb21tYW5kX2RpcmVjdG9yeSA9ICRjb21tYW5kX2RpcmVjdG9yeSIgXAorLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L2ZpbGVzL2ludGVybmFsX3JlY2lwaWVudCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L2ZpbGVzL2ludGVybmFsX3JlY2lwaWVudApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YThmMjY4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Bvc3RmaXgvZmlsZXMvaW50ZXJuYWxfcmVjaXBpZW50CkBAIC0wLDAgKzEgQEAKK3Jvb3RAICAgcGVybWl0X215bmV0d29ya3MscmVqZWN0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9maWxlcy9tYWluLmNmXzIuMCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L2ZpbGVzL21haW4uY2ZfMi4wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjN2ZlYjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9maWxlcy9tYWluLmNmXzIuMApAQCAtMCwwICsxLDEwMiBAQAorIyBDb25maWd1cmUgeW91ciBkb21haW4gYW5kIGFjY291bnRzCisjbXlkb21haW49c2FtcGxlLmNvbQorI0ZRRE4gZnJvbSBnZXRob3N0bmFtZQorI215aG9zdG5hbWUgPQorbXlkb21haW49bG9jYWxkb21haW4KK215ZGVzdGluYXRpb24gPSAkbXlob3N0bmFtZSwgbG9jYWxob3N0LmxvY2FsZG9tYWluIGxvY2FsaG9zdAorbXluZXR3b3JrcyA9IDEyNy4wLjAuMS84CitpbmV0X2ludGVyZmFjZXMgPSAxMjcuMC4wLjEKKwordmlydHVhbF9tYWlsYm94X2RvbWFpbnMgPSBzYW1wbGUuY29tLCBvdGhlci5uZXQKK3ZpcnR1YWxfbWFpbGJveF9tYXBzID0gaGFzaDovZXRjL3Bvc3RmaXgvdmlydHVhbAordmlydHVhbF9hbGlhc19tYXBzID0gaGFzaDovZXRjL3Bvc3RmaXgvdmlydHVhbF9hbGlhcworCithbGlhc19tYXBzID0gaGFzaDovZXRjL2FsaWFzZXMKKworIyBZb3UnbGwgc3RhcnQgd2l0aCB0aGUgZm9sbG93aW5nIGxpbmVzIGZvciBtYWlsZGlyIHN0b3JhZ2UKK3ZpcnR1YWxfbWFpbGJveF9iYXNlID0gL3Zhci9zcG9vbC92bWFpbAordmlydHVhbF91aWRfbWFwcyA9IHN0YXRpYzpgZ3JlcCB2bWFpbCAvZXRjL3Bhc3N3ZCB8IGN1dCAtZCAiOiIgLWYgM2AKK3ZpcnR1YWxfZ2lkX21hcHMgPSBzdGF0aWM6YGdyZXAgdm1haWwgL2V0Yy9wYXNzd2QgfCBjdXQgLWQgIjoiIC1mIDRgCisKKworIyBZb3UnbGwgc3RhcnQgd2l0aCB0aGUgZm9sbG93aW5nIGxpbmVzIGZvciBJTUFQIHN0b3JhZ2UKKyN2aXJ0dWFsX3RyYW5zcG9ydCA9IGxtdHA6dW5peDovdmFyL2xpYi9jeXJ1cy9zb2NrZXQvbG10cAorCisKKyMgR2VuZXJhbCBzdHVmZiBoZXJlIGFnYWluCisjY29uZmlnX2RpcmVjdG9yeSA9IC9ldGMvcG9zdGZpeAorc2FtcGxlX2RpcmVjdG9yeSA9IC9ldGMvcG9zdGZpeAorcXVldWVfZGlyZWN0b3J5ID0gL3Zhci9zcG9vbC9wb3N0Zml4CittYWlsX3Nwb29sX2RpcmVjdG9yeSA9IC92YXIvc3Bvb2wvbWFpbAorcmVhZG1lX2RpcmVjdG9yeSA9IG5vCitjb21tYW5kX2RpcmVjdG9yeSA9IC91c3Ivc2JpbgorZGFlbW9uX2RpcmVjdG9yeSA9IEBMSUJFWEVDRElSQAorbWFpbF9vd25lciA9IHBvc3RmaXgKK3NldGdpZF9ncm91cCA9IHBvc3Rkcm9wCit1bmtub3duX2xvY2FsX3JlY2lwaWVudF9yZWplY3RfY29kZSA9IDQ1MAorbXluZXR3b3Jrc19zdHlsZSA9IGhvc3QKK2RlYnVnX3BlZXJfbGV2ZWwgPSAyCitzZW5kbWFpbF9wYXRoID0gL3Vzci9zYmluL3NlbmRtYWlsCituZXdhbGlhc2VzX3BhdGggPSAvdXNyL2Jpbi9uZXdhbGlhc2VzCittYWlscV9wYXRoID0gL3Vzci9iaW4vbWFpbHEKKworc210cGRfZGF0YV9yZXN0cmljdGlvbnMgPQorICAgICAgICBwZXJtaXRfbXluZXR3b3JrcywKKyAgICAgICAgcmVqZWN0X3VuYXV0aF9waXBlbGluaW5nLAorICAgICAgICBwZXJtaXQKKworc210cGRfY2xpZW50X3Jlc3RyaWN0aW9ucyA9CisgICAgICAgIHBlcm1pdF9teW5ldHdvcmtzLAorICAgICAgICAjIHJlamVjdF91bmtub3duX2NsaWVudCwgIyBUaGlzIGNhbiBjYXVzZSBhIGxvdCBvZiBmYWxzZSByZWplY3RzLgorICAgICAgICByZWplY3RfaW52YWxpZF9ob3N0bmFtZSwKKyAgICAgICAgcmVqZWN0X3JibF9jbGllbnQgbGlzdC5kc2JsLm9yZywKKyAgICAgICAgcmVqZWN0X3JibF9jbGllbnQgc2JsLnNwYW1oYXVzLm9yZywKKyAgICAgICAgcmVqZWN0X3JibF9jbGllbnQgY2JsLmFidXNlYXQub3JnLAorICAgICAgICByZWplY3RfcmJsX2NsaWVudCBkdWwuZG5zYmwuc29yYnMubmV0LAorICAgICAgICBwZXJtaXQKKworc210cGRfaGVsb19yZXF1aXJlZCA9IHllcworc210cGRfaGVsb19yZXN0cmljdGlvbnMgPQorICAgICAgICBwZXJtaXRfbXluZXR3b3JrcywKKyAgICAgICAgcmVqZWN0X3VuYXV0aF9waXBlbGluaW5nLAorICAgICAgICAjIHJlamVjdF9ub25fZnFkbl9ob3N0bmFtZSwgIyBUaGlzIGNhbiBjYXVzZSBhIGxvdCBvZiBmYWxzZSByZWplY3RzLgorICAgICAgICAjIHJlamVjdF91bmtub3duX2hvc3RuYW1lLCAjIFRoaXMgY2FuIGNhdXNlIGEgbG90IG9mIGZhbHNlIHJlamVjdHMuCisgICAgICAgIHJlamVjdF9pbnZhbGlkX2hvc3RuYW1lLAorICAgICAgICBwZXJtaXQKKworc210cGRfc2VuZGVyX3Jlc3RyaWN0aW9ucyA9CisgICAgICAgIHBlcm1pdF9teW5ldHdvcmtzLAorICAgICAgICByZWplY3Rfbm9uX2ZxZG5fc2VuZGVyLAorICAgICAgICAjIGNoZWNrX3NlbmRlcl9hY2Nlc3MgaGFzaDovZXRjL3Bvc3RmaXgvYWNjZXNzX2RvbWFpbnMsCisgICAgICAgIHJlamVjdF91bmtub3duX3NlbmRlcl9kb21haW4sCisgICAgICAgIHBlcm1pdAorCitzbXRwZF9yZWNpcGllbnRfcmVzdHJpY3Rpb25zID0KKyAgICAgICAgcGVybWl0X215bmV0d29ya3MsCisgICAgICAgIHBlcm1pdF9zYXNsX2F1dGhlbnRpY2F0ZWQsCisgICAgICAgIHJlamVjdF91bmF1dGhfZGVzdGluYXRpb24sCisKKyAgICAgICAgIyBjaGVja19yZWNpcGllbnRfYWNjZXNzIHBjcmU6L2V0Yy9wb3N0Zml4L3JlY2lwaWVudF9jaGVja3MucGNyZSwKKyAgICAgICAgIyBjaGVja19oZWxvX2FjY2VzcyBwY3JlOi9ldGMvcG9zdGZpeC9oZWxvX2NoZWNrcy5wY3JlLAorCisgICAgICAgICMgY2hlY2tfY2xpZW50X2FjY2VzcyBoYXNoOi9ldGMvcG9zdGZpeC9tYXBzL2FjY2Vzc19jbGllbnQsCisgICAgICAgICMgY2hlY2tfY2xpZW50X2FjY2VzcyBoYXNoOi9ldGMvcG9zdGZpeC9tYXBzL2V4Y2VwdGlvbnNfY2xpZW50LAorICAgICAgICAjIGNoZWNrX2hlbG9fYWNjZXNzIGhhc2g6L2V0Yy9wb3N0Zml4L21hcHMvYWNjZXNzX2hlbG8sCisgICAgICAgICMgY2hlY2tfaGVsb19hY2Nlc3MgaGFzaDovZXRjL3Bvc3RmaXgvbWFwcy92ZXJpZnlfaGVsbywKKyAgICAgICAgIyBjaGVja19zZW5kZXJfYWNjZXNzIGhhc2g6L2V0Yy9wb3N0Zml4L21hcHMvYWNjZXNzX3NlbmRlciwKKyAgICAgICAgIyBjaGVja19zZW5kZXJfYWNjZXNzIGhhc2g6L2V0Yy9wb3N0Zml4L21hcHMvdmVyaWZ5X3NlbmRlciwKKyAgICAgICAgIyBjaGVja19yZWNpcGllbnRfYWNjZXNzIGhhc2g6L2V0Yy9wb3N0Zml4L21hcHMvYWNjZXNzX3JlY2lwaWVudCwKKworICAgICAgICAjIHJlamVjdF9tdWx0aV9yZWNpcGllbnRfYm91bmNlLAorICAgICAgICByZWplY3Rfbm9uX2ZxZG5fcmVjaXBpZW50LAorICAgICAgICByZWplY3RfdW5rbm93bl9yZWNpcGllbnRfZG9tYWluLAorICAgICAgICAjIHJlamVjdF91bmxpc3RlZF9yZWNpcGllbnQsCisgICAgICAgICNjaGVja19wb2xpY3lfc2VydmljZSB1bml4OnByaXZhdGUvcG9saWN5LAorCisgICAgICAgICMgY2hlY2tfc2VuZGVyX2FjY2VzcyBoYXNoOi9ldGMvcG9zdGZpeC9tYXBzL25vX3ZlcmlmeV9zZW5kZXIsCisgICAgICAgICMgY2hlY2tfc2VuZGVyX2FjY2VzcyBoYXNoOi9ldGMvcG9zdGZpeC9hY2Nlc3NfZG9tYWlucywKKyAgICAgICAgIyByZWplY3RfdW52ZXJpZmllZF9zZW5kZXIsCisgICAgICAgICMgcmVqZWN0X3VudmVyaWZpZWRfcmVjaXBpZW50CisgICAgICAgIGNoZWNrX3JlY2lwaWVudF9hY2Nlc3MgaGFzaDovZXRjL3Bvc3RmaXgvaW50ZXJuYWxfcmVjaXBpZW50CisKK2Rpc2FibGVfdnJmeV9jb21tYW5kID0geWVzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9maWxlcy9tYWtlZGVmcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L2ZpbGVzL21ha2VkZWZzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4ZDVmN2UKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9maWxlcy9tYWtlZGVmcy5wYXRjaApAQCAtMCwwICsxLDExNiBAQAorRnJvbSA0ZjQ5ZTJjZTQyMGZiM2MxNzQxNTkzNzUzMDQ5MzE1OGVmMzEyNzMzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogRnJpLCAxOSBKdW4gMjAxNSAxNjo0NTo1NCArMDkwMAorU3ViamVjdDogW1BBVENIXSAxKXJlbW92ZSBSQU5MSUIsIFNZU0xJQlMsIEFSIGFuZCBnZXQgdGhlbSBmcm9tIGVudi4KKworMilyZWZlcmVuY2Ugc3lzcm9vdCB3aGVuIHNlYXJjaGluZyBoZWFkZXIgZmlsZXMKKzMpaW5jbHVkZSBzeXNyb290IHBhdGggaW5zdGVhZCBvZiBhYnNvbHV0ZSBpbmNsdWRlIHBhdGgKK2ZvciBMaW51eDIgYW5kIExpbnV4MyBzeXN0ZW1zLgorNClmb3Igbm9uLW5hdGl2ZSBidWlsZCwgc2VhcmNoIFNUQUdJTkdfQkFTRUxJQkRJUi9MSUJESVIKKyAgbmF0aXZlIGJ1aWxkLCBzZWFyY2ggaG9zdCBsaWJyYXJ5IHBhdGggZm9yIG5zbCBhbmQgcmVzb2x2IGxpYnJhcnkKKyAgd2hpY2ggY29tZXMgZnJvbSBsaWJjCisKK1Vwc3RyZWFtc3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogWWFvIFpoYW8gPHlhby56aGFvQHdpbmRyaXZlci5jb20+CistLS0KKyBtYWtlZGVmcyB8IDI3ICsrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL21ha2VkZWZzIGIvbWFrZWRlZnMKK2luZGV4IDhiODRlNDcuLjg5M2ZiMGQgMTAwNjQ0CistLS0gYS9tYWtlZGVmcworKysrIGIvbWFrZWRlZnMKK0BAIC0xNzAsOSArMTcwLDYgQEAgZWNobyAiIyBwaWU9JHBpZSIKKyAKKyAjIERlZmF1bHRzIGZvciBtb3N0IHNhbmUgc3lzdGVtcworIAorLVJBTkxJQj1yYW5saWIKKy1TWVNMSUJTPQorLUFSPWFyCisgQVJGTD1ydgorIAorICMgVWdseSBmdW5jdGlvbiB0byBtYWtlIG91ciBlcnJvciBtZXNzYWdlIG1vcmUgdmlzaWJsZSBhbW9uZyB0aGUKK0BAIC00MjQsMTIgKzQyMSwxMiBAQCBjYXNlICIkU1lTVEVNLiRSRUxFQVNFIiBpbgorIAkJY2FzZSAiJENDQVJHUyIgaW4KKyAJCSAqLUROT19EQiopIDs7CisgCQkgKi1ESEFTX0RCKikgOzsKKy0JCSAqKSBpZiBbIC1mIC91c3IvaW5jbHVkZS9kYi5oIF0KKysJCSAqKSBpZiBbIC1mICIkQlVJTERfU1lTUk9PVCIvdXNyL2luY2x1ZGUvZGIuaCBdCisgCQkgICAgdGhlbgorIAkJCTogd2UgYXJlIGFsbCBzZXQKKy0JCSAgICBlbGlmIFsgLWYgL3Vzci9pbmNsdWRlL2RiL2RiLmggXQorKwkJICAgIGVsaWYgWyAtZiAiJEJVSUxEX1NZU1JPT1QiL3Vzci9pbmNsdWRlL2RiL2RiLmggXQorIAkJICAgIHRoZW4KKy0JCQlDQ0FSR1M9IiRDQ0FSR1MgLUkvdXNyL2luY2x1ZGUvZGIiCisrCQkJQ0NBUkdTPSIkQ0NBUkdTIC1JIiRCVUlMRF9TWVNST09UIi91c3IvaW5jbHVkZS9kYiIKKyAJCSAgICBlbHNlCisgCQkJIyBObywgd2UncmUgbm90IGdvaW5nIHRvIHRyeSBkYjEgZGIyIGRiMyBldGMuCisgCQkJIyBPbiBhIHByb3Blcmx5IGluc3RhbGxlZCBzeXN0ZW0sIFBvc3RmaXggYnVpbGRzCitAQCAtNDM4LDEyICs0MzUsMTIgQEAgY2FzZSAiJFNZU1RFTS4kUkVMRUFTRSIgaW4KKyAJCQllY2hvICJJbnN0YWxsIHRoZSBhcHByb3ByaWF0ZSBkYiotZGV2ZWwgcGFja2FnZSBmaXJzdC4iIDE+JjIKKyAJCQlleGl0IDEKKyAJCSAgICBmaQorLQkJICAgIFNZU0xJQlM9Ii1sZGIiCisrCQkgICAgU1lTTElCUz0iJFNZU0xJQlMgLWxkYiIKKyAJCSAgICA7OworIAkJZXNhYworIAkJZm9yIG5hbWUgaW4gbnNsIHJlc29sdiAkR0RCTV9MSUJTCisgCQlkbworLQkJICAgIGZvciBsaWIgaW4gL3Vzci9saWI2NCAvbGliNjQgL3Vzci9saWIgL2xpYgorKwkJICAgIGZvciBsaWIgaW4gJEJVSUxEX1NZU1JPT1RfTlNMX1BBVEgKKyAJCSAgICBkbworIAkJCXRlc3QgLWUgJGxpYi9saWIkbmFtZS5hIC1vIC1lICRsaWIvbGliJG5hbWUuc28gJiYgeworIAkJCSAgICBTWVNMSUJTPSIkU1lTTElCUyAtbCRuYW1lIgorQEAgLTQ2Myw3ICs0NjAsNyBAQCBjYXNlICIkU1lTVEVNLiRSRUxFQVNFIiBpbgorIAkJICAgICAgIGlmIFsgYGV4cHIgIlgkQ0NBUkdTIiA6ICJYLiotRE5PX0VQT0xMImAgLWd0IDAgXQorIAkJICAgICAgIHRoZW4KKyAJCQkgICA6CistCQkgICAgICAgZWxpZiBbICEgLWUgL3Vzci9pbmNsdWRlL3N5cy9lcG9sbC5oIF0KKysJCSAgICAgICBlbGlmIFsgISAtZSAiJEJVSUxEX1NZU1JPT1QiL3Vzci9pbmNsdWRlL3N5cy9lcG9sbC5oIF0KKyAJCSAgICAgICB0aGVuCisgCQkJICAgZWNobyBDQ0FSR1M9IiRDQ0FSR1MgLUROT19FUE9MTCIKKyAJCSAgICAgICBlbHNlCitAQCAtNDg3LDggKzQ4NCw2IEBAIGludCAgICAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgfQorIEVPRgorIAkJCSAgICR7Q0MtZ2NjfSAtbyBtYWtlZGVmcy50ZXN0IG1ha2VkZWZzLnRlc3QuYyB8fCBleGl0IDEKKy0JCQkgICAuL21ha2VkZWZzLnRlc3QgMj4vZGV2L251bGwgfHwKKy0JCQkJQ0NBUkdTPSIkQ0NBUkdTIC1ETk9fRVBPTEwiCisgCQkJICAgcm0gLWYgbWFrZWRlZnMudGVzdCBtYWtlZGVmcy50ZXN0Lltjb10KKyAJCSAgICAgICBmaTs7CisgCQllc2FjCitAQCAtNTA0LDEyICs0OTksMTIgQEAgRU9GCisgCQljYXNlICIkQ0NBUkdTIiBpbgorIAkJICotRE5PX0RCKikgOzsKKyAJCSAqLURIQVNfREIqKSA7OworLQkJICopIGlmIFsgLWYgL3Vzci9pbmNsdWRlL2RiLmggXQorKwkJICopIGlmIFsgLWYgIiRCVUlMRF9TWVNST09UIi91c3IvaW5jbHVkZS9kYi5oIF0KKyAJCSAgICB0aGVuCisgCQkJOiB3ZSBhcmUgYWxsIHNldAorLQkJICAgIGVsaWYgWyAtZiAvdXNyL2luY2x1ZGUvZGIvZGIuaCBdCisrCQkgICAgZWxpZiBbIC1mICIkQlVJTERfU1lTUk9PVCIvdXNyL2luY2x1ZGUvZGIvZGIuaCBdCisgCQkgICAgdGhlbgorLQkJCUNDQVJHUz0iJENDQVJHUyAtSS91c3IvaW5jbHVkZS9kYiIKKysJCQlDQ0FSR1M9IiRDQ0FSR1MgLUkiJEJVSUxEX1NZU1JPT1QiL3Vzci9pbmNsdWRlL2RiIgorIAkJICAgIGVsc2UKKyAJCQkjIE9uIGEgcHJvcGVybHkgaW5zdGFsbGVkIHN5c3RlbSwgUG9zdGZpeCBidWlsZHMKKyAJCQkjIGJ5IGluY2x1ZGluZyA8ZGIuaD4gYW5kIGJ5IGxpbmtpbmcgd2l0aCAtbGRiCitAQCAtNTE3LDEyICs1MTIsMTIgQEAgRU9GCisgCQkJZWNobyAiSW5zdGFsbCB0aGUgYXBwcm9wcmlhdGUgZGIqLWRldmVsIHBhY2thZ2UgZmlyc3QuIiAxPiYyCisgCQkJZXhpdCAxCisgCQkgICAgZmkKKy0JCSAgICBTWVNMSUJTPSItbGRiIgorKwkJICAgIFNZU0xJQlM9IiRTWVNMSUJTIC1sZGIiCisgCQkgICAgOzsKKyAJCWVzYWMKKyAJCWZvciBuYW1lIGluIG5zbCByZXNvbHYKKyAJCWRvCistCQkgICAgZm9yIGxpYiBpbiAvdXNyL2xpYjY0IC9saWI2NCAvdXNyL2xpYiAvdXNyL2xpYi8qIC9saWIgL2xpYi8qCisrCQkgICAgZm9yIGxpYiBpbiAkQlVJTERfU1lTUk9PVF9OU0xfUEFUSAorIAkJICAgIGRvCisgCQkJdGVzdCAtZSAkbGliL2xpYiRuYW1lLmEgLW8gLWUgJGxpYi9saWIkbmFtZS5zbyAmJiB7CisgCQkJICAgIFNZU0xJQlM9IiRTWVNMSUJTIC1sJG5hbWUiCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Bvc3RmaXgvZmlsZXMvcG9zdGZpeCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L2ZpbGVzL3Bvc3RmaXgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGM3YTYwMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L2ZpbGVzL3Bvc3RmaXgKQEAgLTAsMCArMSw5NCBAQAorIyEvYmluL3NoCisjIyMgQkVHSU4gSU5JVCBJTkZPCisjIFByb3ZpZGVzOiBwb3N0Zml4IE1UQQorIyBEZWZhdWx0LVN0YXJ0OiAyMzQ1CisjIERlZmF1bHQtU3RvcDogMDE2CisjIFNob3J0LURlc2NyaXB0aW9uOiBzdGFydCBhbmQgc3RvcCBwb3N0Zml4CisjIERlc2NyaXB0aW9uOiBQb3N0Zml4IGlzIGEgTWFpbCBUcmFuc3BvcnQgQWdlbnQsIHdoaWNoIGlzIHRoZSBwcm9ncmFtCisjICAgICAgICAgICAgICB0aGF0IG1vdmVzIG1haWwgZnJvbSBvbmUgbWFjaGluZSB0byBhbm90aGVyLgorIyMjIEVORCBJTklUIElORk8KKworc3VjY2VzcygpIHsKKyAgICAgICAgZWNobyAiIFN1Y2Nlc3NmdWwiCisgICAgICAgIGV4aXQgMAorfQorCitmYWlsKCkgeworICAgICAgICBlY2hvICIgRmFpbGVkIgorICAgICAgICBleGl0IDEKKworfQorCitjaGVja19yZXR1cm4gKCkgeworICAgICAgICBsb2NhbCByZXQ9IiQxIgorCisgICAgICAgIGlmIFsgIiRyZXQiID0gIjAiIF07IHRoZW4KKyAgICAgICAgICBzdWNjZXNzCisgICAgICAgIGVsc2UKKyAgICAgICAgICBmYWlsCisgICAgICAgIGZpCit9CisKK1BJREZpbGU9L3Zhci9zcG9vbC9wb3N0Zml4L3BpZC9tYXN0ZXIucGlkCitjYXNlICIkMSIgaW4KKworICAgICAgICBzdGFydCkKKyAgICAgICAgZWNobyAtbiAiU3RhcnRpbmcgUG9zdGZpeC4uLiIKKyAgICAgICAgaWYgWyAhIC1lIC9ldGMvYWxpYXNlcy5kYiBdOyB0aGVuCisgICAgICAgICAgIyBUaGUgYWxpYXMgZGF0YWJhc2UgaXMgbmVjZXNzYXJ5IGZvciBwb3N0Zml4IHRvIHdvcmsgY29ycmVjdGx5LgorICAgICAgICAgIGVjaG8gIkNyZWF0aW5nIGFsaWFzZXMgZGF0YWJhc2UgLi4uIgorICAgICAgICAgIG5ld2FsaWFzZXMKKyAgICAgICAgZmkKKyAgICAgICAgaWYgISBwb3N0Zml4IHN0YXR1cyA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKyAgICAgICAgICAvdXNyL3NiaW4vY2hlY2tfaG9zdG5hbWUuc2gKKyAgICAgICAgICBwb3N0Zml4IHN0YXJ0CisgICAgICAgICAgY2hlY2tfcmV0dXJuICQ/CisgICAgICAgIGVsc2UKKyAgICAgICAgICBzdWNjZXNzCisgICAgICAgIGZpCisgICAgICAgIDs7CisKKyAgICAgICAgc3RvcCkKKyAgICAgICAgZWNobyAtbiAgIlN0b3BwaW5nIFBvc3RmaXguLi4iCisgICAgICAgIGlmIHBvc3RmaXggc3RhdHVzID4vZGV2L251bGwgMj4mMTsgdGhlbgorICAgICAgICAgIHBvc3RmaXggc3RvcAorICAgICAgICAgIGNoZWNrX3JldHVybiAkPworICAgICAgICBlbHNlCisgICAgICAgICAgc3VjY2VzcworICAgICAgICBmaQorICAgICAgICA7OworCisgICAgICAgIHJlbG9hZCkKKyAgICAgICAgZWNobyAtbiAiUmVsb2FkaW5nIFBvc3RmaXguLi4iCisgICAgICAgIGlmIHBvc3RmaXggc3RhdHVzID4vZGV2L251bGwgMj4mMTsgdGhlbgorICAgICAgICAgIHBvc3RmaXggcmVsb2FkCisgICAgICAgICAgY2hlY2tfcmV0dXJuICQ/CisgICAgICAgIGVsc2UKKyAgICAgICAgICBwb3N0Zml4IHN0YXJ0CisgICAgICAgICAgY2hlY2tfcmV0dXJuICQ/CisgICAgICAgIGZpCisgICAgICAgIDs7CisKKyAgICAgICAgcmVzdGFydCkKKyAgICAgICAgJDAgc3RvcAorICAgICAgICBzbGVlcCAxCisgICAgICAgICQwIHN0YXJ0CisgICAgICAgIDs7CisKKyAgICAgICAgc3RhdHVzKQorICAgICAgICBpZiBwb3N0Zml4IHN0YXR1cyA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKyAgICAgICAgICBwaWQ9YHNlZCAtZSAncy9ccy8vZycgJFBJREZpbGVgCisgICAgICAgICAgZWNobyAiVGhlIFBvc3RmaXggbWFpbCBzeXN0ZW0gaXMgcnVubmluZyAoUElEOiAkcGlkKSIKKyAgICAgICAgICBleGl0IDAKKyAgICAgICAgZWxzZQorICAgICAgICAgIGVjaG8gIlRoZSBQb3N0Zml4IG1haWwgc3lzdGVtIGlzIG5vdCBydW5uaW5nIgorICAgICAgICAgIGV4aXQgMQorICAgICAgICBmaQorICAgICAgICA7OworCisgICAgICAgICopCisgICAgICAgIGVjaG8gIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxzdGF0dXN8cmVsb2FkfHJlc3RhcnR9IgorICAgICAgICBleGl0IDEKKyAgICAgICAgOzsKK2VzYWMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Bvc3RmaXgvZmlsZXMvcG9zdGZpeC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Bvc3RmaXgvZmlsZXMvcG9zdGZpeC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhOWEwYTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9maWxlcy9wb3N0Zml4LnNlcnZpY2UKQEAgLTAsMCArMSwxNiBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1Qb3N0Zml4IE1haWwgVHJhbnNwb3J0IEFnZW50CitBZnRlcj1zeXNsb2cudGFyZ2V0IG5ldHdvcmsudGFyZ2V0CitDb25mbGljdHM9c2VuZG1haWwuc2VydmljZSBleGltLnNlcnZpY2UKKworW1NlcnZpY2VdCitUeXBlPWZvcmtpbmcKK1BJREZpbGU9QExPQ0FMU1RBVEVESVJAL3Nwb29sL3Bvc3RmaXgvcGlkL21hc3Rlci5waWQKK0V4ZWNTdGFydFByZT0tQFNCSU5ESVJAL2NoZWNrX2hvc3RuYW1lLnNoCitFeGVjU3RhcnRQcmU9LUBMSUJFWEVDRElSQC9hbGlhc2VzZGIKK0V4ZWNTdGFydD1AU0JJTkRJUkAvcG9zdGZpeCBzdGFydAorRXhlY1JlbG9hZD1AU0JJTkRJUkAvcG9zdGZpeCByZWxvYWQKK0V4ZWNTdG9wPUBTQklORElSQC9wb3N0Zml4IHN0b3AKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Bvc3RmaXgvcG9zdGZpeC5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9wb3N0Zml4LmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xN2RiZjc2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Bvc3RmaXgvcG9zdGZpeC5pbmMKQEAgLTAsMCArMSwyNTEgQEAKK1NVTU1BUlkgPSAiUG9zdGZpeCBNYWlsIFRyYW5zcG9ydCBBZ2VudCIKK0RFU0NSSVBUSU9OID0gIlBvc3RmaXggaXMgV2lldHNlIFZlbmVtYSdzIG1haWwgc2VydmVyIHRoYXQgc3RhcnRlZCBsaWZlIGF0IFwKK0lCTSByZXNlYXJjaCBhcyBhbiBhbHRlcm5hdGl2ZSB0byB0aGUgd2lkZWx5LXVzZWQgU2VuZG1haWwgcHJvZ3JhbS4gXAorUG9zdGZpeCBhdHRlbXB0cyB0byBiZSBmYXN0LCBlYXN5IHRvIGFkbWluaXN0ZXIsIGFuZCBzZWN1cmUuIFRoZSBvdXRzaWRlaSBcCitoYXMgYSBkZWZpbml0ZSBTZW5kbWFpbC1pc2ggZmxhdm9yLCBidXQgdGhlIGluc2lkZSBpcyBjb21wbGV0ZWx5IGRpZmZlcmVudC4iCisKK0hPTUVQQUdFPSAiaHR0cDovL3d3dy5wb3N0Zml4Lm9yZyIKK1NFQ1RJT04gPSAibWFpbCIKK0RFUEVORFMgPSAidmlydHVhbC9kYiBsaWJwY3JlIG9wZW5zc2wgcG9zdGZpeC1uYXRpdmUgXAorICAgICR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsZGFwJywgJ29wZW5sZGFwJywgJycsIGQpfSBcCisgICAgJHtAYmFzZV9jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3Nhc2wnLCAnY3lydXMtc2FzbCcsICcnLCBkKX0gXAorIgorREVQRU5EU19jbGFzcy1uYXRpdmUgPSAidmlydHVhbC9kYi1uYXRpdmUgb3BlbnNzbC1uYXRpdmUgbGlicGNyZS1uYXRpdmUiCisKK0xJQ0VOU0UgPSAiSVBMLTEuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTY0Mzc1ZjM3NDMxMzM2ZWExYjFiMzAwNWZlM2ZhMzU0IgorCitTUkNfVVJJID0gImZ0cDovL2Z0cC5wb3JjdXBpbmUub3JnL21pcnJvcnMvcG9zdGZpeC1yZWxlYXNlL29mZmljaWFsL3Bvc3RmaXgtJHtQVn0udGFyLmd6IFwKKyAgICBmaWxlOi8vbWFrZWRlZnMucGF0Y2ggXAorICAgIGZpbGU6Ly9pbnN0YWxsLnBhdGNoIFwKKyAgICBmaWxlOi8vbWFpbi5jZl8yLjAgXAorICAgIGZpbGU6Ly9wb3N0Zml4IFwKKyAgICBmaWxlOi8vaW50ZXJuYWxfcmVjaXBpZW50IFwKKyAgICBmaWxlOi8vcG9zdGZpeC5zZXJ2aWNlIFwKKyAgICBmaWxlOi8vYWxpYXNlc2RiIFwKKyAgICBmaWxlOi8vY2hlY2tfaG9zdG5hbWUuc2ggXAorIgorCitTID0gIiR7V09SS0RJUn0vcG9zdGZpeC0ke1BWfSIKKworQ0xFQU5CUk9LRU4gPSAiMSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK2luaGVyaXQgdXBkYXRlLXJjLmQgdXNlcmFkZCB1cGRhdGUtYWx0ZXJuYXRpdmVzIHN5c3RlbWQKKworSU5JVFNDUklQVF9OQU1FID0gInBvc3RmaXgiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCA1OCAzIDQgNSAuIHN0b3AgMTMgMCAxIDYgLiIKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCitVU0VSQUREX1BBUkFNXyR7UE59ID0gXAorIi1kIC92YXIvc3Bvb2wvcG9zdGZpeCAtciAtZyBwb3N0Zml4IC0tc2hlbGwgL2Jpbi9mYWxzZSBwb3N0Zml4OyBcCisgLWQgL3Zhci9zcG9vbC92bWFpbCAtciAtZyB2bWFpbCAtLXNoZWxsIC9iaW4vZmFsc2Ugdm1haWwgXAorIgorR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAiLS1zeXN0ZW0gcG9zdGZpeDstLXN5c3RlbSBwb3N0ZHJvcDstLXN5c3RlbSB2bWFpbCIKKworZXhwb3J0IFNZU0xJQlMgPSAiJHtMREZMQUdTfSIKKworIyBDQ0FSR1Mgc3BlY2lmaWVzIGluY2x1ZGVzLCBkZWZpbmVzCisjIEFVWExJQlMgc3BlY2lmaWVzIGxpYnJhcmllcworIyBMaW51eDIvTGludXgzIGhhcyBIQVNfREIgZGVmaW5lZAorIyBtYWtlZGVmcyB3aWxsIG1ha2UgQ0MgdG8gYmUgQ0MrQ0NBUkdTCisKKyMgbGRhcCBzdXBwb3J0CitleHBvcnQgQ0NBUkdTLWxkYXAgID0gIlwKKyAgICAke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGRhcCcsICctREhBU19MREFQJywgJycsIGQpfSIKK2V4cG9ydCBBVVhMSUJTLWxkYXAgPSAiXAorICAgICR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsZGFwJywgJy1sbGRhcCAtbGxiZXInLCAnJywgZCl9IgorCisjIG5vIG5hdGl2ZSBvcGVubGRhcAorZXhwb3J0IENDQVJHUy1sZGFwX2NsYXNzLW5hdGl2ZSA9ICIiCitleHBvcnQgQVVYTElCUy1sZGFwX2NsYXNzLW5hdGl2ZSA9ICIiCisKKyMgU0FTTCBzdXBwb3J0IC1EVVNFX0xEQVBfU0FTTCAtRFVTRV9TQVNMX0FVVEgKKyMgY3VycmVudCBvcGVubGRhcCBkaWRuJ3QgZW5hYmxlIFNBU0wKK2V4cG9ydCBDQ0FSR1Mtc2FzbCAgPSAiXAorICAgICR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzYXNsJywgJy1EVVNFX1NBU0xfQVVUSCAtRFVTRV9DWVJVU19TQVNMIC1JPS91c3IvaW5jbHVkZS9zYXNsJywgJycsIGQpfSIKK2V4cG9ydCBBVVhMSUJTLXNhc2wgPSAiXAorICAgICR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzYXNsJywgJy1sc2FzbDInLCAnJywgZCl9IgorZXhwb3J0IENDQVJHUy1zYXNsX2NsYXNzLW5hdGl2ZSA9ICIiCitleHBvcnQgQVVYTElCUy1zYXNsX2NsYXNzLW5hdGl2ZSA9ICIiCisKKyMgUENSRSwgVExTIHN1cHBvcnQgZGVmYXVsdAorZXhwb3J0IENDQVJHUyAgPSAiJHtDRkxBR1N9IC1ESEFTX1BDUkUgLURVU0VfVExTICR7Q0NBUkdTLWxkYXB9ICR7Q0NBUkdTLXNhc2x9IgorZXhwb3J0IEFVWExJQlMgPSAiLWxwY3JlIC1sc3NsIC1sY3J5cHRvICR7QVVYTElCUy1zYXNsfSAke0FVWExJQlMtbGRhcH0iCitleHBvcnQgUE9TVENPTkYgPSAiJHtTVEFHSU5HX0RJUl9OQVRJVkV9JHtzYmluZGlyX25hdGl2ZX0vcG9zdGNvbmYiCisKKyMgT1BULERFQlVHIGlzIGFyZWFkeSBpbiBDRkxBR1MKKyMgaWdub3JlIHRoZSBPUFRTPSJDQz0kQ0MiIGluIE1ha2VmaWxlIGl0IHdpbGwgbm90IHVzZSB0aGUgQ0M9JENDICRDQ0FSR1MKK0VYVFJBX09FTUFLRSArPSAiT1BUPSBERUJVRz0gT1BUUz0gIgorCitkb19jb21waWxlICgpIHsKKyAgICB1bnNldCBDRkxBR1MgQ1BQRkxBR1MgQ1hYRkxBR1MKKyAgICBsb2NhbCBuYXRpdmVfYnVpbGQKKworICAgIG5hdGl2ZV9idWlsZD0iJHtAWycwJywgJzEnXVtiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCduYXRpdmUnLCBkKSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCduYXRpdmVzZGsnLCBkKV19IgorCisgICAgIyBpZiBub3QgbmF0aXZlIGJ1aWxkLCB0aGVuIHBhc3MgU1lTVEVNIGFuZCBSRUxFQVNFIHRvIG1ha2VkZWZzCisgICAgaWYgWyAiJHtuYXRpdmVfYnVpbGR9IiAhPSAiMSIgXTsgdGhlbgorICAgICAgICAjIHVuYW1lIC1zIGZvciB0YXJnZXQKKyAgICAgICAgU1lTVEVNPSJMaW51eCIKKworICAgICAgICAjIHVuYW1lIC1yLCB1c2UgMi42IGFzIGJvdHRvbWxpbmUsIGV2ZW4gdGFyZ2V0IGtlcm5lbCB2ZXIgPiAyLjYKKyAgICAgICAgUkVMRUFTRT0iMi42LjM0IgorICAgICAgICBzZWQgLWkgLWUgXAorICAgICAgICAgICAgInM6XCQoU0hFTEwpIG1ha2VkZWZzKTpcJChTSEVMTCkgbWFrZWRlZnMgJFNZU1RFTSAkUkVMRUFTRSk6IiBcCisgICAgICAgICAgICAke1N9L01ha2VmaWxlLmluCisgICAgICAgIGV4cG9ydCBCVUlMRF9TWVNST09UPSIke1NUQUdJTkdfRElSX0hPU1R9IgorICAgICAgICBleHBvcnQgQlVJTERfU1lTUk9PVF9OU0xfUEFUSD0iJHtTVEFHSU5HX0JBU0VMSUJESVJ9IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7U1RBR0lOR19MSUJESVJ9IgorICAgIGVsc2UKKyAgICAgICAgIyBuYXRpdmUgYnVpbGQKKyAgICAgICAgZXhwb3J0IEJVSUxEX1NZU1JPT1Q9IiR7U1RBR0lOR19ESVJfTkFUSVZFfSIKKworICAgICAgICAjIHVidW50dSB4ODYgaG9zdDogL2xpYi94ODZfNjQtbGludXgtZ251KDY0KSAvbGliL2kzODYtbGludXgtZ251ICgzMikKKyAgICAgICAgIyAgICAgICAgICAgICBvbiA2NCBiaXRzLCAzMiBsaWJzIGluIGkzODYtbGludXgtZ251CisgICAgICAgICMgbGV0IG1ha2VkZWZzIGZpbmRzIG5zbCBhbmQgcmVzb2x2IGxpYnMsIGhvc3QgQ0Mgd2lsbCBsaW5rCisgICAgICAgICMgdGhlIGNvcnJlY3QgbGlicmFyaWVzCisgICAgICAgIEJVSUxEX1NZU1JPT1RfTlNMX1BBVEg9IiQoJHtDQ30gLXByaW50LXNlYXJjaC1kaXJzIDI+L2Rldi9udWxsIHwgXAorICAgICAgICAgICAgICAgICAgICAgIHNlZCAtbiAnL15saWJyYXJpZXM6ID0vcy9saWJyYXJpZXM6ID0vL3AnIHwgXAorICAgICAgICAgICAgICAgICAgICAgIHNlZCAtZSAncy86L1xuL2cnIHwgeGFyZ3MgLW4xIHJlYWRsaW5rIC1mIHwgXAorICAgICAgICAgICAgICAgICAgICAgIGdyZXAgLXYgJ2djY1x8L1swLTkuXVwrJCcgfCBzb3J0IC11KSIKKyAgICAgICAgaWYgWyAteiAiJEJVSUxEX1NZU1JPT1RfTlNMX1BBVEgiIF07IHRoZW4KKyAgICAgICAgICAgIEJVSUxEX1NZU1JPT1RfTlNMX1BBVEg9Ii91c3IvbGliNjQgL2xpYjY0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC9saWIveDg2XzY0LWxpbnV4LWdudSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvdXNyL2xpYiAgIC9saWIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL2xpYi9pMzg2LWxpbnV4LWdudSIKKyAgICAgICAgZmkKKyAgICAgICAgZXhwb3J0IEJVSUxEX1NZU1JPT1RfTlNMX1BBVEgKKyAgICBmaQorCisgICAgb2VfcnVubWFrZSBtYWtlZmlsZXMKKyAgICBvZV9ydW5tYWtlCit9CisKK2RvX2luc3RhbGxfcHJlcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisgICAgZXhwb3J0IFBPU1RDT05GPSJiaW4vcG9zdGNvbmYiCit9CisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJwb3N0Zml4LnNlcnZpY2UiCisKK2RvX2luc3RhbGwgKCkgeworICAgIHNoIC4vcG9zdGZpeC1pbnN0YWxsICdpbnN0YWxsX3Jvb3Q9JHtEfScgXAorICAgICAgICAnY29uZmlnX2RpcmVjdG9yeT0ke3N5c2NvbmZkaXJ9L3Bvc3RmaXgnIFwKKyAgICAgICAgJ2RhZW1vbl9kaXJlY3Rvcnk9JHtsaWJleGVjZGlyfScgXAorICAgICAgICAnY29tbWFuZF9kaXJlY3Rvcnk9JHtzYmluZGlyfScgXAorICAgICAgICAncXVldWVfZGlyZWN0b3J5PSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvcG9zdGZpeCcgXAorICAgICAgICAnc2VuZG1haWxfcGF0aD0ke3NiaW5kaXJ9L3NlbmRtYWlsLnBvc3RmaXgnIFwKKyAgICAgICAgJ25ld2FsaWFzZXNfcGF0aD0ke2JpbmRpcn0vbmV3YWxpYXNlcycgXAorICAgICAgICAnbWFpbHFfcGF0aD0ke2JpbmRpcn0vbWFpbHEnIFwKKyAgICAgICAgJ21hbnBhZ2VfZGlyZWN0b3J5PSR7bWFuZGlyfScgXAorICAgICAgICAncmVhZG1lX2RpcmVjdG9yeT0ke2RhdGFkaXJ9L2RvYy9wb3N0Zml4JyBcCisgICAgICAgICdkYXRhX2RpcmVjdG9yeT0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9wb3N0Zml4JyBcCisgICAgICAgIC1ub24taW50ZXJhY3RpdmUKKyAgICBybSAtcmYgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvcG9zdGZpeAorICAgIG12ICR7RH0ke3N5c2NvbmZkaXJ9L3Bvc3RmaXgvbWFpbi5jZiAke0R9JHtzeXNjb25mZGlyfS9wb3N0Zml4L3NhbXBsZS1tYWluLmNmCisgICAgaW5zdGFsbCAtbSA3NTUgJHtTfS9iaW4vc210cC1zaW5rICR7RH0vJHtzYmluZGlyfS8KKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vbWFpbi5jZl8yLjAgJHtEfSR7c3lzY29uZmRpcn0vcG9zdGZpeC9tYWluLmNmCisgICAgc2VkIC1pICdzI0BMSUJFWEVDRElSQCMke2xpYmV4ZWNkaXJ9IycgJHtEfSR7c3lzY29uZmRpcn0vcG9zdGZpeC9tYWluLmNmCisKKyAgICBpbnN0YWxsIC1tIDc1NSAke1dPUktESVJ9L2NoZWNrX2hvc3RuYW1lLnNoICR7RH0ke3NiaW5kaXJ9LworCisgICAgaW5zdGFsbCAtbSA3NTUgJHtXT1JLRElSfS9wb3N0Zml4ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9wb3N0Zml4CisgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9pbnRlcm5hbF9yZWNpcGllbnQgJHtEfSR7c3lzY29uZmRpcn0vcG9zdGZpeC9pbnRlcm5hbF9yZWNpcGllbnQKKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9wb3N0Zml4LnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBzZWQgLWkgLWUgJ3MjQExJQkVYRUNESVJAIyR7bGliZXhlY2Rpcn0jZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcG9zdGZpeC5zZXJ2aWNlCisgICAgc2VkIC1pIC1lICdzI0BMT0NBTFNUQVRFRElSQCMke2xvY2Fsc3RhdGVkaXJ9I2cnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3Bvc3RmaXguc2VydmljZQorICAgIHNlZCAtaSAtZSAncyNAU0JJTkRJUkAjJHtzYmluZGlyfSNnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9wb3N0Zml4LnNlcnZpY2UKKworICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2FsaWFzZXNkYiAke0R9JHtsaWJleGVjZGlyfQorCisgICAgaW5zdGFsbCAtbSA3NzAgLWQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvcG9zdGZpeAorICAgIGNob3duIHBvc3RmaXg6cG9zdGZpeCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4CisKKyAgICBpbnN0YWxsIC1tIDI3NTUgLWQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvbWFpbAorICAgIGNob3duIHBvc3RmaXg6bm9ncm91cCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9tYWlsCisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9wb3N0Zml4CisgICAgY2hvd24gcG9zdGZpeDpub2dyb3VwICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9wb3N0Zml4CisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3Nwb29sL3Bvc3RmaXgKKyAgICBjaG93biByb290OnBvc3RmaXggJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvcG9zdGZpeAorICAgIGluc3RhbGwgLW0gMDcwMCAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L2FjdGl2ZQorICAgIGNob3duIHBvc3RmaXg6cm9vdCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L2FjdGl2ZQorICAgIGluc3RhbGwgLW0gMDcwMCAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L2JvdW5jZQorICAgIGNob3duIHBvc3RmaXg6cm9vdCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L2JvdW5jZQorICAgIGluc3RhbGwgLW0gMDcwMCAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L2NvcnJ1cHQKKyAgICBjaG93biBwb3N0Zml4OnJvb3QgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvcG9zdGZpeC9jb3JydXB0CisgICAgaW5zdGFsbCAtbSAwNzAwIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3Nwb29sL3Bvc3RmaXgvZGVmZXIKKyAgICBjaG93biBwb3N0Zml4OnJvb3QgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvcG9zdGZpeC9kZWZlcgorICAgIGluc3RhbGwgLW0gMDcwMCAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L2RlZmVycmVkCisgICAgY2hvd24gcG9zdGZpeDpyb290ICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3Nwb29sL3Bvc3RmaXgvZGVmZXJyZWQKKyAgICBpbnN0YWxsIC1tIDA3MDAgLWQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvcG9zdGZpeC9mbHVzaAorICAgIGNob3duIHBvc3RmaXg6cm9vdCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L2ZsdXNoCisgICAgaW5zdGFsbCAtbSAwNzAwIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3Nwb29sL3Bvc3RmaXgvaG9sZAorICAgIGNob3duIHBvc3RmaXg6cm9vdCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L2hvbGQKKyAgICBpbnN0YWxsIC1tIDA3MDAgLWQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvcG9zdGZpeC9pbmNvbWluZworICAgIGNob3duIHBvc3RmaXg6cm9vdCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L2luY29taW5nCisgICAgaW5zdGFsbCAtbSAwNzAwIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3Nwb29sL3Bvc3RmaXgvc2F2ZWQKKyAgICBjaG93biBwb3N0Zml4OnJvb3QgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvcG9zdGZpeC9zYXZlZAorICAgIGluc3RhbGwgLW0gMDcwMCAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L3RyYWNlCisgICAgY2hvd24gcG9zdGZpeDpyb290ICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3Nwb29sL3Bvc3RmaXgvdHJhY2UKKyAgICBpbnN0YWxsIC1tIDA3MzAgLWQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvcG9zdGZpeC9tYWlsZHJvcAorICAgIGNob3duIHBvc3RmaXg6cG9zdGRyb3AgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvcG9zdGZpeC9tYWlsZHJvcAorICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L3BpZAorICAgIGNob3duIHJvb3Q6cm9vdCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L3BpZAorICAgIGluc3RhbGwgLW0gMDcwMCAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L3ByaXZhdGUKKyAgICBjaG93biBwb3N0Zml4OnJvb3QgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvcG9zdGZpeC9wcml2YXRlCisgICAgaW5zdGFsbCAtbSAwNzEwIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3Nwb29sL3Bvc3RmaXgvcHVibGljCisgICAgY2hvd24gcG9zdGZpeDpwb3N0ZHJvcCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L3B1YmxpYworICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC92bWFpbAorICAgIGNob3duIHZtYWlsOnZtYWlsICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3Nwb29sL3ZtYWlsCisKKyAgICBjaG93biA6cG9zdGRyb3AgJHtEfSR7c2JpbmRpcn0vcG9zdHF1ZXVlCisgICAgY2hvd24gOnBvc3Rkcm9wICR7RH0ke3NiaW5kaXJ9L3Bvc3Rkcm9wCisgICAgY2htb2QgZytzICR7RH0ke3NiaW5kaXJ9L3Bvc3RxdWV1ZQorICAgIGNobW9kIGcrcyAke0R9JHtzYmluZGlyfS9wb3N0ZHJvcAorfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisgICAgbG4gLXNmIC4uL3NiaW4vc2VuZG1haWwucG9zdGZpeCAke0R9JHtiaW5kaXJ9L25ld2FsaWFzZXMKKyAgICBsbiAtc2YgLi4vc2Jpbi9zZW5kbWFpbC5wb3N0Zml4ICR7RH0ke2JpbmRpcn0vbWFpbHEKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgeworICAgICMgUmVtb3ZlIHJlZmVyZW5jZXMgdG8gYnVpbGRtYWNoaW5lIHBhdGhzIGluIHRhcmdldCBtYWtlZGVmcy5vdXQKKyAgICBzZWQgLWkgLWUgJ3M6LS1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfTo6ZycgJHtEfS9ldGMvcG9zdGZpeC9tYWtlZGVmcy5vdXQKK30KKworTkFUSVZFX0lOU1RBTExfV09SS1MgPSAiMSIKKworQUxURVJOQVRJVkVfJHtQTn0gPSAic2VuZG1haWwiCitBTFRFUk5BVElWRV9UQVJHRVRbc2VuZG1haWxdID0gIiR7c2JpbmRpcn0vc2VuZG1haWwucG9zdGZpeCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtzZW5kbWFpbF0gPSAiJHtzYmluZGlyfS9zZW5kbWFpbCIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEyMCIKKworcGtnX3Bvc3RpbnN0XyR7UE59ICgpIHsKKyAgICBpZiBbICJ4JEQiID0gIngiIF07IHRoZW4KKyAgICAgICAgdG91Y2ggL2V0Yy9hbGlhc2VzCisgICAgICAgIG5ld2FsaWFzZXMKKworICAgICAgICAjIGdlbmVyYXRlIHZpcnR1YWxfYWxpYXMsIGRlZmF1bHQgaXMgaGFzaAorICAgICAgICB0b3VjaCAvZXRjL3Bvc3RmaXgvdmlydHVhbF9hbGlhcworICAgICAgICBwb3N0bWFwIC9ldGMvcG9zdGZpeC92aXJ0dWFsX2FsaWFzCisgICAgZWxzZQorICAgICAgICB0b3VjaCAkRC9ldGMvYWxpYXNlcworICAgICAgICBuZXdhbGlhc2VzIC1DICREL2V0Yy9wb3N0Zml4L21haW4uY2YgLW9BJEQvZXRjL2FsaWFzZXMKKyAgICAgICAgdG91Y2ggJEQvZXRjL3Bvc3RmaXgvdmlydHVhbF9hbGlhcworICAgICAgICBwb3N0bWFwIC1jICREL2V0Yy9wb3N0Zml4ICREL2V0Yy9wb3N0Zml4L3ZpcnR1YWxfYWxpYXMKKworICAgICAgICBpZiAke0AndHJ1ZScgaWYgJ2xpbnV4c3RkYmFzZScgaW4gZC5nZXRWYXIoJ0RJU1RST09WRVJSSURFUycsIEZhbHNlKSBlbHNlICdmYWxzZSd9OyB0aGVuCisgICAgICAgICAgICAjIC91c3IvbGliL3NlbmRtaWFsIGlzIHJlcXVpcmVkIGJ5IExTQiBjb3JlIHRlc3QKKyAgICAgICAgICAgIFsgISAtTCAkRC91c3IvbGliL3NlbmRtYWlsIF0gJiYgbG4gLXNmICR7c2JpbmRpcn0vc2VuZG1haWwgJEQvdXNyL2xpYi8KKyAgICAgICAgZmkKKyAgICBmaQorfQorCisjIEV4Y2x1ZGUgLmRlYnVnIGRpcmVjdG9yaWVzIGZyb20gdGhlIG1haW4gcGFja2FnZQorRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfSAke2xvY2Fsc3RhdGVkaXJ9ICR7YmluZGlyfS8qICR7c2JpbmRpcn0vKiBcCisgICAgICAgICAgICAgICAke2xpYmV4ZWNkaXJ9LyogJHtzeXN0ZW1kX3VuaXRkaXJ9LyoiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZXhlY2Rpcn0vLmRlYnVnIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Bvc3RmaXgvcG9zdGZpeF8zLjAuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L3Bvc3RmaXhfMy4wLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzEwNGE5ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L3Bvc3RmaXhfMy4wLjMuYmIKQEAgLTAsMCArMSw0IEBACityZXF1aXJlIHBvc3RmaXguaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2MWNhZmZhZTY4OWMxMWQwOWI0Yzk3MmEzOTRhZTNiMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0MDFlNDZlYzM0NTA1NjlkY2NlNjBkMWQ4Y2EyMmExOWFiMWY3ZjgxN2IwY2M3MzBjZGY0ODc1YmE2MDhhYzAyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Byb2Z0cGQvZmlsZXMvQ1ZFLTIwMTYtMzEyNS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wcm9mdHBkL2ZpbGVzL0NWRS0yMDE2LTMxMjUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjljOWJlMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wcm9mdHBkL2ZpbGVzL0NWRS0yMDE2LTMxMjUucGF0Y2gKQEAgLTAsMCArMSwyNDcgQEAKK0Zyb20gN2E4ZjY4M2NlZGY5YjBkMTAyNGE4MDM2MjY5M2M5ZjhiOTNhMGYyYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFRKIFNhdW5kZXJzIDx0akBjYXN0YWdsaWEub3JnPgorRGF0ZTogVGh1LCAxMCBNYXIgMjAxNiAxNTowNzo1OCAtMDgwMAorU3ViamVjdDogW1BBVENIXSBCYWNrcG9ydCBvZiBmaXggZm9yIEJ1ZyM0MjMwIHRvIDEuMy41IGJyYW5jaC4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorQ1ZFOiBDVkUtMjAxNi0zMTI1CisKK0F1dGhvcjogVEogU2F1bmRlcnMgPHRqQGNhc3RhZ2xpYS5vcmc+CitTaWduZWQtb2ZmLWJ5OiBDYXRhbGluIEVuYWNoZSA8Y2F0YWxpbi5lbmFjaGVAd2luZHJpdmVyLmNvbT4KKy0tLQorIGNvbnRyaWIvbW9kX3Rscy5jIHwgMTY3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxNDcgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb250cmliL21vZF90bHMuYyBiL2NvbnRyaWIvbW9kX3Rscy5jCitpbmRleCBkZjkyNjU4Li41ODgzY2M3IDEwMDY0NAorLS0tIGEvY29udHJpYi9tb2RfdGxzLmMKKysrKyBiL2NvbnRyaWIvbW9kX3Rscy5jCitAQCAtNDExLDYgKzQxMSwxMyBAQCBzdGF0aWMgaW50IHRsc19yZXF1aXJlZF9vbl9jdHJsID0gMDsKKyBzdGF0aWMgaW50IHRsc19yZXF1aXJlZF9vbl9kYXRhID0gMDsKKyBzdGF0aWMgdW5zaWduZWQgY2hhciAqdGxzX2F1dGhlbnRpY2F0ZWQgPSBOVUxMOworIAorKy8qIERlZmluZSB0aGUgbWluaW11bSBESCBncm91cCBsZW5ndGggd2UgYWxsb3cgKHVubGVzcyB0aGUgQWxsb3dXZWFrREgKKysgKiBUTFNPcHRpb24gaXMgdXNlZCkuICBJZGVhbGx5IHRoaXMgd291bGQgYmUgMjA0OCwgcGVyIGh0dHBzOi8vd2Vha2RoLm9yZywKKysgKiBidXQgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBvbGRlciBKYXZhIHZlcnNpb25zLCB3aGljaCBvbmx5IHN1cHBvcnQgdXAgdG8KKysgKiAxMDI0LCB3ZSdsbCB1c2UgMTAyNC4gIEZvciBub3cuCisrICovCisrI2RlZmluZSBUTFNfREhfTUlOX0xFTgkJCQkxMDI0CisrCisgLyogbW9kX3RscyBzZXNzaW9uIGZsYWdzICovCisgI2RlZmluZQlUTFNfU0VTU19PTl9DVFJMCQkJMHgwMDAxCisgI2RlZmluZSBUTFNfU0VTU19PTl9EQVRBCQkJMHgwMDAyCitAQCAtNDM4LDYgKzQ0NSw3IEBAIHN0YXRpYyB1bnNpZ25lZCBjaGFyICp0bHNfYXV0aGVudGljYXRlZCA9IE5VTEw7CisgI2RlZmluZSBUTFNfT1BUX1VTRV9JTVBMSUNJVF9TU0wJCQkweDAyMDAKKyAjZGVmaW5lIFRMU19PUFRfQUxMT1dfQ0xJRU5UX1JFTkVHT1RJQVRJT05TCQkweDA0MDAKKyAjZGVmaW5lIFRMU19PUFRfVkVSSUZZX0NFUlRfQ04JCQkJMHgwODAwCisrI2RlZmluZSBUTFNfT1BUX0FMTE9XX1dFQUtfREgJCQkJMHgxMDAwCisgCisgLyogbW9kX3RscyBTU0NOIG1vZGVzICovCisgI2RlZmluZSBUTFNfU1NDTl9NT0RFX1NFUlZFUgkJCQkwCitAQCAtMjQxNywyNCArMjQyNSwxMzkgQEAgc3RhdGljIGludCB0bHNfY3RybF9yZW5lZ290aWF0ZV9jYihDQUxMQkFDS19GUkFNRSkgeworIAorIHN0YXRpYyBESCAqdGxzX2RoX2NiKFNTTCAqc3NsLCBpbnQgaXNfZXhwb3J0LCBpbnQga2V5bGVuZ3RoKSB7CisgICBESCAqZGggPSBOVUxMOworKyAgRVZQX1BLRVkgKnBrZXk7CisrICBpbnQgcGtleWxlbiA9IDAsIHVzZV9wa2V5bGVuID0gRkFMU0U7CisrCisrICAvKiBPcGVuU1NMIHdpbGwgb25seSBldmVyIGNhbGwgdXMgKGN1cnJlbnRseSkgd2l0aCBhIGtleWxlbiBvZiA1MTIgb3IgMTAyNDsKKysgICAqIHNlZSB0aGUgU1NMX0VYUE9SVF9QS0VZTEVOR1RIIG1hY3JvIGluIHNzbF9sb2NsLmguICBTaWdoLgorKyAgICoKKysgICAqIFRodXMgd2UgYWRqdXN0IHRoZSBESCBwYXJhbWV0ZXIgbGVuZ3RoIGFjY29yZGluZyB0byB0aGUgc2l6ZSBvZiB0aGUKKysgICAqIFJTQS9EU0EgcHJpdmF0ZSBrZXkgdXNlZCBmb3IgdGhlIGN1cnJlbnQgY29ubmVjdGlvbi4KKysgICAqCisrICAgKiBOT1RFOiBUaGlzIE1BWSBjYXVzZSBpbnRlcm9wZXJhYmlsaXR5IGlzc3VlcyB3aXRoIHNvbWUgY2xpZW50cywgbm90YWJseQorKyAgICogSmF2YSA3IChhbmQgZWFybGllcikgY2xpZW50cywgc2luY2UgSmF2YSA3IGFuZCBlYXJsaWVyIHN1cHBvcnRzCisrICAgKiBEaWZmaWUtSGVsbG1hbiBvbmx5IHVwIHRvIDEwMjQgYml0cy4gIE1vcmUgc2lnaHMuICBUbyBkZWFsIHdpdGggdGhlc2UKKysgICAqIGNsaWVudHMsIHRoZW4sIHlvdSBuZWVkIHRvIGNvbmZpZ3VyZSBhIGNlcnRpZmljYXRlL2tleSBvZiAxMDI0IGJpdHMuCisrICAgKi8KKysgIHBrZXkgPSBTU0xfZ2V0X3ByaXZhdGVrZXkoc3NsKTsKKysgIGlmIChwa2V5ICE9IE5VTEwpIHsKKysgICAgaWYgKEVWUF9QS0VZX3R5cGUocGtleS0+dHlwZSkgPT0gRVZQX1BLRVlfUlNBIHx8CisrICAgICAgICBFVlBfUEtFWV90eXBlKHBrZXktPnR5cGUpID09IEVWUF9QS0VZX0RTQSkgeworKyAgICAgIHBrZXlsZW4gPSBFVlBfUEtFWV9iaXRzKHBrZXkpOworKworKyAgICAgIGlmIChwa2V5bGVuIDwgVExTX0RIX01JTl9MRU4pIHsKKysgICAgICAgIGlmICghKHRsc19vcHRzICYgVExTX09QVF9BTExPV19XRUFLX0RIKSkgeworKyAgICAgICAgICBwcl90cmFjZV9tc2codHJhY2VfY2hhbm5lbCwgMTEsCisrICAgICAgICAgICAgImNlcnRpZmljYXRlIHByaXZhdGUga2V5IGxlbmd0aCAlZCBsZXNzIHRoYW4gJWQgYml0cywgdXNpbmcgJWQgIgorKyAgICAgICAgICAgICIoc2VlIEFsbG93V2Vha0RIIFRMU09wdGlvbikiLCBwa2V5bGVuLCBUTFNfREhfTUlOX0xFTiwKKysgICAgICAgICAgICBUTFNfREhfTUlOX0xFTik7CisrICAgICAgICAgIHBrZXlsZW4gPSBUTFNfREhfTUlOX0xFTjsKKysgICAgICAgIH0KKysgICAgICB9CisrCisrICAgICAgaWYgKHBrZXlsZW4gIT0ga2V5bGVuKSB7CisrICAgICAgICBwcl90cmFjZV9tc2codHJhY2VfY2hhbm5lbCwgMTMsCisrICAgICAgICAgICJhZGp1c3RlZCBESCBwYXJhbWV0ZXIgbGVuZ3RoIGZyb20gJWQgdG8gJWQgYml0cyIsIGtleWxlbiwgcGtleWxlbik7CisrICAgICAgICB1c2VfcGtleWxlbiA9IFRSVUU7CisrICAgICAgfQorKyAgICB9CisrICB9CisgCisgICBpZiAodGxzX3RtcF9kaHMgIT0gTlVMTCAmJgorICAgICAgIHRsc190bXBfZGhzLT5uZWx0cyA+IDApIHsKKyAgICAgcmVnaXN0ZXIgdW5zaWduZWQgaW50IGk7CistICAgIERIICoqZGhzOworKyAgICBESCAqYmVzdF9kaCA9IE5VTEwsICoqZGhzOworKyAgICBpbnQgYmVzdF9kaGxlbiA9IDA7CisgCisgICAgIGRocyA9IHRsc190bXBfZGhzLT5lbHRzOworKworKyAgICAvKiBTZWFyY2ggdGhlIGNvbmZpZ3VyZWQgbGlzdCBvZiBESCBwYXJhbWV0ZXJzIHR3aWNlOiBvbmNlIGZvciBhbnkgc2l6ZXMKKysgICAgICogbWF0Y2hpbmcgdGhlIGFjdHVhbCByZXF1ZXN0ZWQgc2l6ZSAodXN1YWxseSAxMDI0KSwgYW5kIG9uY2UgZm9yIGFueQorKyAgICAgKiBtYXRjaGluZyB0aGUgY2VydGlmaWNhdGUgcHJpdmF0ZSBrZXkgc2l6ZSAocGtleWxlbikuCisrICAgICAqCisrICAgICAqIFRoaXMgYmVoYXZpb3IgYWxsb3dzIHNpdGUgYWRtaW5zIHRvIGNvbmZpZ3VyZSBhIFRMU0RIUGFyYW1GaWxlIHRoYXQKKysgICAgICogY29udGFpbnMgMTAyNC1iaXQgcGFyYW1ldGVycywgZm9yIGUuZy4gSmF2YSA3IChhbmQgZWFybGllcikgY2xpZW50cy4KKysgICAgICovCisrCisrICAgIC8qIE5vdGU6IHRoZSBrZXlsZW4gYXJndW1lbnQgaXMgaW4gQklUUywgYnV0IERIX3NpemUoKSByZXR1cm5zIHRoZSBudW1iZXIKKysgICAgICogb2YgQllURVMuCisrICAgICAqLworICAgICBmb3IgKGkgPSAwOyBpIDwgdGxzX3RtcF9kaHMtPm5lbHRzOyBpKyspIHsKKy0gICAgICAvKiBOb3RlOiB0aGUga2V5bGVuZ3RoIGFyZ3VtZW50IGlzIGluIEJJVFMsIGJ1dCBESF9zaXplKCkgcmV0dXJucworLSAgICAgICAqIHRoZSBudW1iZXIgb2YgQllURVMuCisrICAgICAgaW50IGRobGVuOworKworKyAgICAgIGRobGVuID0gREhfc2l6ZShkaHNbaV0pICogODsKKysgICAgICBpZiAoZGhsZW4gPT0ga2V5bGVuKSB7CisrICAgICAgICBwcl90cmFjZV9tc2codHJhY2VfY2hhbm5lbCwgMTEsCisrICAgICAgICAgICJmb3VuZCBtYXRjaGluZyBESCBwYXJhbWV0ZXIgZm9yIGtleSBsZW5ndGggJWQiLCBrZXlsZW4pOworKyAgICAgICAgcmV0dXJuIGRoc1tpXTsKKysgICAgICB9CisrCisrICAgICAgLyogVHJ5IHRvIGZpbmQgdGhlIG5leHQgImJlc3QiIERIIHRvIHVzZSwgd2hlcmUgImJlc3QiIG1lYW5zCisrICAgICAgICogdGhlIHNtYWxsZXN0IERIIHRoYXQgaXMgbGFyZ2VyIHRoYW4gdGhlIG5lY2Vzc2FyeSBrZXlsZW4uCisgICAgICAgICovCistICAgICAgaWYgKERIX3NpemUoZGhzW2ldKSA9PSAoa2V5bGVuZ3RoIC8gOCkpIHsKKysgICAgICBpZiAoZGhsZW4gPiBrZXlsZW4pIHsKKysgICAgICAgIGlmIChiZXN0X2RoICE9IE5VTEwpIHsKKysgICAgICAgICAgaWYgKGRobGVuIDwgYmVzdF9kaGxlbikgeworKyAgICAgICAgICAgIGJlc3RfZGggPSBkaHNbaV07CisrICAgICAgICAgICAgYmVzdF9kaGxlbiA9IGRobGVuOworKyAgICAgICAgICB9CisrCisrICAgICAgICB9IGVsc2UgeworKyAgICAgICAgICBiZXN0X2RoID0gZGhzW2ldOworKyAgICAgICAgICBiZXN0X2RobGVuID0gZGhsZW47CisrICAgICAgICB9CisrICAgICAgfQorKyAgICB9CisrCisrICAgIGZvciAoaSA9IDA7IGkgPCB0bHNfdG1wX2Rocy0+bmVsdHM7IGkrKykgeworKyAgICAgIGludCBkaGxlbjsKKysKKysgICAgICBkaGxlbiA9IERIX3NpemUoZGhzW2ldKSAqIDg7CisrICAgICAgaWYgKGRobGVuID09IHBrZXlsZW4pIHsKKysgICAgICAgIHByX3RyYWNlX21zZyh0cmFjZV9jaGFubmVsLCAxMSwKKysgICAgICAgICAgImZvdW5kIG1hdGNoaW5nIERIIHBhcmFtZXRlciBmb3IgY2VydGlmaWNhdGUgcHJpdmF0ZSBrZXkgbGVuZ3RoICVkIiwKKysgICAgICAgICAgcGtleWxlbik7CisgICAgICAgICByZXR1cm4gZGhzW2ldOworICAgICAgIH0KKysKKysgICAgICBpZiAoZGhsZW4gPiBwa2V5bGVuKSB7CisrICAgICAgICBpZiAoYmVzdF9kaCAhPSBOVUxMKSB7CisrICAgICAgICAgIGlmIChkaGxlbiA8IGJlc3RfZGhsZW4pIHsKKysgICAgICAgICAgICBiZXN0X2RoID0gZGhzW2ldOworKyAgICAgICAgICAgIGJlc3RfZGhsZW4gPSBkaGxlbjsKKysgICAgICAgICAgfQorKworKyAgICAgICAgfSBlbHNlIHsKKysgICAgICAgICAgYmVzdF9kaCA9IGRoc1tpXTsKKysgICAgICAgICAgYmVzdF9kaGxlbiA9IGRobGVuOworKyAgICAgICAgfQorKyAgICAgIH0KKysgICAgfQorKworKyAgICBpZiAoYmVzdF9kaCAhPSBOVUxMKSB7CisrICAgICAgcHJfdHJhY2VfbXNnKHRyYWNlX2NoYW5uZWwsIDExLAorKyAgICAgICAgInVzaW5nIGJlc3QgREggcGFyYW1ldGVyIGZvciBrZXkgbGVuZ3RoICVkIChsZW5ndGggJWQpIiwga2V5bGVuLAorKyAgICAgICAgYmVzdF9kaGxlbik7CisrICAgICAgcmV0dXJuIGJlc3RfZGg7CisgICAgIH0KKyAgIH0KKyAKKy0gIHN3aXRjaCAoa2V5bGVuZ3RoKSB7CisrICAvKiBTdGlsbCBubyBESCBwYXJhbWV0ZXJzIGZvdW5kPyAgVXNlIHRoZSBidWlsdC1pbiBvbmVzLiAqLworKworKyAgaWYgKGtleWxlbiA8IFRMU19ESF9NSU5fTEVOKSB7CisrICAgIGlmICghKHRsc19vcHRzICYgVExTX09QVF9BTExPV19XRUFLX0RIKSkgeworKyAgICAgIHByX3RyYWNlX21zZyh0cmFjZV9jaGFubmVsLCAxMSwKKysgICAgICAgICJyZXF1ZXN0ZWQga2V5IGxlbmd0aCAlZCBsZXNzIHRoYW4gJWQgYml0cywgdXNpbmcgJWQgIgorKyAgICAgICAgIihzZWUgQWxsb3dXZWFrREggVExTT3B0aW9uKSIsIGtleWxlbiwgVExTX0RIX01JTl9MRU4sIFRMU19ESF9NSU5fTEVOKTsKKysgICAgICBrZXlsZW4gPSBUTFNfREhfTUlOX0xFTjsKKysgICAgfQorKyAgfQorKworKyAgaWYgKHVzZV9wa2V5bGVuKSB7CisrICAgIGtleWxlbiA9IHBrZXlsZW47CisrICB9CisrCisrICBzd2l0Y2ggKGtleWxlbikgeworICAgICBjYXNlIDUxMjoKKyAgICAgICBkaCA9IGdldF9kaDUxMigpOworICAgICAgIGJyZWFrOworQEAgLTI0NDMsMzIgKzI1NjYsMzMgQEAgc3RhdGljIERIICp0bHNfZGhfY2IoU1NMICpzc2wsIGludCBpc19leHBvcnQsIGludCBrZXlsZW5ndGgpIHsKKyAgICAgICBkaCA9IGdldF9kaDc2OCgpOworICAgICAgIGJyZWFrOworIAorLSAgICAgY2FzZSAxMDI0OgorLSAgICAgICBkaCA9IGdldF9kaDEwMjQoKTsKKy0gICAgICAgYnJlYWs7CisrICAgIGNhc2UgMTAyNDoKKysgICAgICBkaCA9IGdldF9kaDEwMjQoKTsKKysgICAgICBicmVhazsKKyAKKy0gICAgIGNhc2UgMTUzNjoKKy0gICAgICAgZGggPSBnZXRfZGgxNTM2KCk7CistICAgICAgIGJyZWFrOworKyAgICBjYXNlIDE1MzY6CisrICAgICAgZGggPSBnZXRfZGgxNTM2KCk7CisrICAgICAgYnJlYWs7CisgCistICAgICBjYXNlIDIwNDg6CistICAgICAgIGRoID0gZ2V0X2RoMjA0OCgpOworLSAgICAgICBicmVhazsKKysgICAgY2FzZSAyMDQ4OgorKyAgICAgIGRoID0gZ2V0X2RoMjA0OCgpOworKyAgICAgIGJyZWFrOworIAorLSAgICAgZGVmYXVsdDoKKy0gICAgICAgdGxzX2xvZygidW5zdXBwb3J0ZWQgREgga2V5IGxlbmd0aCAlZCByZXF1ZXN0ZWQsIHJldHVybmluZyAxMDI0IGJpdHMiLAorLSAgICAgICAgIGtleWxlbmd0aCk7CistICAgICAgIGRoID0gZ2V0X2RoMTAyNCgpOworLSAgICAgICBicmVhazsKKysgICAgZGVmYXVsdDoKKysgICAgICB0bHNfbG9nKCJ1bnN1cHBvcnRlZCBESCBrZXkgbGVuZ3RoICVkIHJlcXVlc3RlZCwgcmV0dXJuaW5nIDEwMjQgYml0cyIsCisrICAgICAgICBrZXlsZW4pOworKyAgICAgIGRoID0gZ2V0X2RoMTAyNCgpOworKyAgICAgIGJyZWFrOworICAgfQorIAorKyAgcHJfdHJhY2VfbXNnKHRyYWNlX2NoYW5uZWwsIDExLCAidXNpbmcgYnVpbHRpbiBESCBmb3IgJWQgYml0cyIsIGtleWxlbik7CisrCisgICAvKiBBZGQgdGhpcyBESCB0byB0aGUgbGlzdCwgc28gdGhhdCBpdCBjYW4gYmUgZnJlZWQgcHJvcGVybHkgbGF0ZXIuICovCisgICBpZiAodGxzX3RtcF9kaHMgPT0gTlVMTCkgeworICAgICB0bHNfdG1wX2RocyA9IG1ha2VfYXJyYXkoc2Vzc2lvbi5wb29sLCAxLCBzaXplb2YoREggKikpOworICAgfQorIAorICAgKigoREggKiopIHB1c2hfYXJyYXkodGxzX3RtcF9kaHMpKSA9IGRoOworLQorICAgcmV0dXJuIGRoOworIH0KKyAKK0BAIC04NDQ1LDYgKzg1NjksOSBAQCBNT0RSRVQgc2V0X3Rsc29wdGlvbnMoY21kX3JlYyAqY21kKSB7CisgICAgICAgICAgICAgICAgc3RyY21wKGNtZC0+YXJndltpXSwgIkFsbG93Q2xpZW50UmVuZWdvdGlhdGlvbnMiKSA9PSAwKSB7CisgICAgICAgb3B0cyB8PSBUTFNfT1BUX0FMTE9XX0NMSUVOVF9SRU5FR09USUFUSU9OUzsKKyAKKysgICAgfSBlbHNlIGlmIChzdHJjbXAoY21kLT5hcmd2W2ldLCAiQWxsb3dXZWFrREgiKSA9PSAwKSB7CisrICAgICAgb3B0cyB8PSBUTFNfT1BUX0FMTE9XX1dFQUtfREg7CisrCisgICAgIH0gZWxzZSBpZiAoc3RyY21wKGNtZC0+YXJndltpXSwgIkVuYWJsZURpYWdzIikgPT0gMCkgeworICAgICAgIG9wdHMgfD0gVExTX09QVF9FTkFCTEVfRElBR1M7CisgCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wcm9mdHBkL2ZpbGVzL2Jhc2ljLmNvbmYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHJvZnRwZC9maWxlcy9iYXNpYy5jb25mLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ5NjdiZWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHJvZnRwZC9maWxlcy9iYXNpYy5jb25mLnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworcHJvZnRwZCB0cmllcyB0byBnZXQgdGhlIElQIGFkZHJlc3MgZnJvbSB0aGUgaG9zdG5hbWUuCitVbmx1Y2tpbHkgbm93IHRoZSBob3N0bmFtZSBpcyBub3QgcHJvcGVybHkgY29uZmlndXJlZCBpbiAvZXRjL2hvc3RzLgorV2UgY2FuIHVzZSB0aGlzIHBhdGNoIGFzIGEgd29ya2Fyb3VuZC4KKworQXV0aG9yOiBEZXh1YW4gQ3VpIDxkZXh1YW4uY3VpQGludGVsLmNvbT4KK1R1ZSBPY3QgMjUgMTI6NTk6MjcgQ1NUIDIwMTEKKworLS0tIHByb2Z0cGQtMS4zLjNjLm9yaWcvc2FtcGxlLWNvbmZpZ3VyYXRpb25zL2Jhc2ljLmNvbmYKKysrKyBwcm9mdHBkLTEuMy4zYy9zYW1wbGUtY29uZmlndXJhdGlvbnMvYmFzaWMuY29uZgorQEAgLTcsNiArNyw5IEBACisgU2VydmVyVHlwZQkJCXN0YW5kYWxvbmUKKyBEZWZhdWx0U2VydmVyCQkJb24KKyAKKysjQnkgZGVmYXVsdCB3ZSBiaW5kIHRvIGFsbCBpbnRlcmZhY2VzLgorK0RlZmF1bHRBZGRyZXNzICAgICAgMC4wLjAuMAorKworICMgUG9ydCAyMSBpcyB0aGUgc3RhbmRhcmQgRlRQIHBvcnQuCisgUG9ydAkJCQkyMQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Byb2Z0cGQvZmlsZXMvYnVpbGRfZml4dXAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHJvZnRwZC9maWxlcy9idWlsZF9maXh1cC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOTYxN2E2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Byb2Z0cGQvZmlsZXMvYnVpbGRfZml4dXAucGF0Y2gKQEAgLTAsMCArMSwxMTIgQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworY29tYmluZWQgdGhlIGZvbGxvd2luZyBwYXRjaGVzIGludG8gb25lOgorbWFrZSwgbW92ZS1waWRmaWxlLXRvLXZhci1ydW4sIG1vdmUtcnVuZmlsZS10by12YXItcnVuCisKK21vdmUgcGlkZmlsZSB0byAvdmFyL3J1bgorcmVkZWZpbmUgUFJfUlVOX0RJUiBhcyAke2xvY2Fsc3RhdGVkaXJ9L3J1bgorCitTaWduZWQtb2ZmLUJ5OiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgorCisKK0luZGV4OiBwcm9mdHBkLTEuMy41L01ha2UucnVsZXMuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBwcm9mdHBkLTEuMy41Lm9yaWcvTWFrZS5ydWxlcy5pbgorKysrIHByb2Z0cGQtMS4zLjUvTWFrZS5ydWxlcy5pbgorQEAgLTI5LDkgKzI5LDkgQEAgSU5TVEFMTD1ASU5TVEFMTEAKKyBJTlNUQUxMX1NUUklQPUBJTlNUQUxMX1NUUklQQAorIElOU1RBTExfVVNFUj1AaW5zdGFsbF91c2VyQAorIElOU1RBTExfR1JPVVA9QGluc3RhbGxfZ3JvdXBACistSU5TVEFMTF9CSU49JChJTlNUQUxMKSAkKElOU1RBTExfU1RSSVApIC1vICQoSU5TVEFMTF9VU0VSKSAtZyAkKElOU1RBTExfR1JPVVApIC1tIDA3NTUKKy1JTlNUQUxMX1NCSU49JChJTlNUQUxMKSAkKElOU1RBTExfU1RSSVApIC1vICQoSU5TVEFMTF9VU0VSKSAtZyAkKElOU1RBTExfR1JPVVApIC1tIDA3NTUKKy1JTlNUQUxMX01BTj0kKElOU1RBTEwpIC1vICQoSU5TVEFMTF9VU0VSKSAtZyAkKElOU1RBTExfR1JPVVApIC1tIDA2NDQKKytJTlNUQUxMX0JJTj0kKElOU1RBTEwpIC1tIDA3NTUKKytJTlNUQUxMX1NCSU49JChJTlNUQUxMKSAtbSAwNzU1CisrSU5TVEFMTF9NQU49JChJTlNUQUxMKSAtbSAwNjQ0CisgCisgUk09cm0gLWYKKyBTSEVMTD1AQ09ORklHX1NIRUxMQAorSW5kZXg6IHByb2Z0cGQtMS4zLjUvTWFrZWZpbGUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBwcm9mdHBkLTEuMy41Lm9yaWcvTWFrZWZpbGUuaW4KKysrKyBwcm9mdHBkLTEuMy41L01ha2VmaWxlLmluCitAQCAtMTA1LDcgKzEwNSw2IEBAIGNoZWNrOiBwcm9mdHBkJChFWEVFWFQpCisgJChERVNURElSKSQobG9jYWxlZGlyKSAkKERFU1RESVIpJChpbmNsdWRlZGlyKSAkKERFU1RESVIpJChpbmNsdWRlZGlyKS9wcm9mdHBkICQoREVTVERJUikkKGxpYmRpcikgJChERVNURElSKSQocGtnY29uZmlnZGlyKSAkKERFU1RESVIpJChsaWJkaXIpL3Byb2Z0cGQgJChERVNURElSKSQobGliZXhlY2RpcikgJChERVNURElSKSQobG9jYWxzdGF0ZWRpcikgJChERVNURElSKSQoc3lzY29uZmRpcikgJChERVNURElSKSQoYmluZGlyKSAkKERFU1RESVIpJChzYmluZGlyKSAkKERFU1RESVIpJChtYW5kaXIpICQoREVTVERJUikkKG1hbmRpcikvbWFuMSAkKERFU1RESVIpJChtYW5kaXIpL21hbjUgJChERVNURElSKSQobWFuZGlyKS9tYW44OgorIAlAaWYgWyAhIC1kICRAIF07IHRoZW4gXAorIAkJbWtkaXIgLXAgJEA7IFwKKy0JCWNob3duICQoSU5TVEFMTF9VU0VSKTokKElOU1RBTExfR1JPVVApICRAOyBcCisgCQljaG1vZCAwNzU1ICRAOyBcCisgCWZpCisgCitAQCAtMTE1LDcgKzExNCw2IEBAIGluc3RhbGwtcHJvZnRwZDogcHJvZnRwZCAkKERFU1RESVIpJChpbmMKKyAJCXJtIC1mICQoREVTVERJUikkKHNiaW5kaXIpL2luLnByb2Z0cGQgOyBcCisgCWZpCisgCWxuIC1zIHByb2Z0cGQgJChERVNURElSKSQoc2JpbmRpcikvaW4ucHJvZnRwZAorLQktY2hvd24gLWggJChJTlNUQUxMX1VTRVIpOiQoSU5TVEFMTF9HUk9VUCkgJChERVNURElSKSQoc2JpbmRpcikvaW4ucHJvZnRwZAorIAorIGluc3RhbGwtbGliczogJChERVNURElSKSQobGliZGlyKS9wcm9mdHBkCisgCWNkIGxpYi8gJiYgJChNQUtFKSBpbnN0YWxsCitAQCAtMTUyLDExICsxNTAsMTEgQEAgaW5zdGFsbC11dGlsczogJChERVNURElSKSQoc2JpbmRpcikgJChERQorIAkkKElOU1RBTExfU0JJTikgZnRwc2h1dCAgJChERVNURElSKSQoc2JpbmRpcikvZnRwc2h1dAorIAkkKElOU1RBTExfQklOKSAgZnRwdG9wICAgJChERVNURElSKSQoYmluZGlyKS9mdHB0b3AKKyAJJChJTlNUQUxMX0JJTikgIGZ0cHdobyAgICQoREVTVERJUikkKGJpbmRpcikvZnRwd2hvCistCSQoSU5TVEFMTCkgLW8gJChJTlNUQUxMX1VTRVIpIC1nICQoSU5TVEFMTF9HUk9VUCkgLW0gMDc1NSBzcmMvcHJ4cyAkKERFU1RESVIpJChiaW5kaXIpL3ByeHMKKysJJChJTlNUQUxMKSAtbSAwNzU1IHNyYy9wcnhzICQoREVTVERJUikkKGJpbmRpcikvcHJ4cworIAorIGluc3RhbGwtY29uZjogJChERVNURElSKSQoc3lzY29uZmRpcikKKyAJaWYgWyAhIC1mICQoREVTVERJUikkKHN5c2NvbmZkaXIpL3Byb2Z0cGQuY29uZiBdIDsgdGhlbiBcCistCQkkKElOU1RBTEwpIC1vICQoSU5TVEFMTF9VU0VSKSAtZyAkKElOU1RBTExfR1JPVVApIC1tIDA2NDQgXAorKwkJJChJTlNUQUxMKSAtbSAwNjQ0IFwKKyAJCSAgICAgICAgICAgJCh0b3Bfc3JjZGlyKS9zYW1wbGUtY29uZmlndXJhdGlvbnMvYmFzaWMuY29uZiBcCisgCSAgICAgICAJICAgICAgICAgICAkKERFU1RESVIpJChzeXNjb25mZGlyKS9wcm9mdHBkLmNvbmYgOyBcCisgCWZpCitJbmRleDogcHJvZnRwZC0xLjMuNS9jb25maWd1cmUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBwcm9mdHBkLTEuMy41Lm9yaWcvY29uZmlndXJlCisrKysgcHJvZnRwZC0xLjMuNS9jb25maWd1cmUKK0BAIC0zODI1NSw3ICszODI1NSw3IEBAIF9BQ0VPRgorIAorIAorIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKy0jZGVmaW5lIFBSX1JVTl9ESVIgImBldmFsIGVjaG8gIiR7bG9jYWxzdGF0ZWRpcn0iYCIKKysjZGVmaW5lIFBSX1JVTl9ESVIgImBldmFsIGVjaG8gIiR7bG9jYWxzdGF0ZWRpcn0iL3J1bi9gIgorIF9BQ0VPRgorIAorIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKK0BAIC0zODI2Myw3ICszODI2Myw3IEBAIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKyBfQUNFT0YKKyAKKyBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCistI2RlZmluZSBQUl9QSURfRklMRV9QQVRIICJgZXZhbCBlY2hvICIke2xvY2Fsc3RhdGVkaXJ9L3Byb2Z0cGQucGlkImAiCisrI2RlZmluZSBQUl9QSURfRklMRV9QQVRIICJgZXZhbCBlY2hvICIke2xvY2Fsc3RhdGVkaXJ9L3J1bi9wcm9mdHBkLnBpZCJgIgorIF9BQ0VPRgorIAorIAorSW5kZXg6IHByb2Z0cGQtMS4zLjUvY29uZmlndXJlLmluCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcHJvZnRwZC0xLjMuNS5vcmlnL2NvbmZpZ3VyZS5pbgorKysrIHByb2Z0cGQtMS4zLjUvY29uZmlndXJlLmluCitAQCAtMjk3MSw4ICsyOTcxLDggQEAgbG9jYWxlX2Rpcj0iYGV2YWwgZWNobyAke2xvY2FsZV9kaXJ9YCIKKyBBQ19ERUZJTkVfVU5RVU9URUQoUFJfTE9DQUxFX0RJUiwgImBldmFsIGVjaG8gIiR7bG9jYWxlX2Rpcn0iYCIpCisgCisgQUNfREVGSU5FX1VOUVVPVEVEKFBSX1JVTl9ESVIsICJgZXZhbCBlY2hvICIke2xvY2Fsc3RhdGVkaXJ9ImAiKQorLUFDX0RFRklORV9VTlFVT1RFRChQUl9DT05GSUdfRklMRV9QQVRILCAiYGV2YWwgZWNobyAiJHtzeXNjb25mZGlyfS9wcm9mdHBkLmNvbmYiYCIpCistQUNfREVGSU5FX1VOUVVPVEVEKFBSX1BJRF9GSUxFX1BBVEgsICJgZXZhbCBlY2hvICIke2xvY2Fsc3RhdGVkaXJ9L3Byb2Z0cGQucGlkImAiKQorK0FDX0RFRklORV9VTlFVT1RFRChQUl9DT05GSUdfRklMRV9QQVRILCAiYGV2YWwgZWNobyAiJHtzeXNjb25mZGlyfS9ydW4vcHJvZnRwZC5jb25mImAiKQorK0FDX0RFRklORV9VTlFVT1RFRChQUl9QSURfRklMRV9QQVRILCAiYGV2YWwgZWNobyAiJHtsb2NhbHN0YXRlZGlyfS9ydW4vcHJvZnRwZC5waWQiYCIpCisgCisgcHJlZml4PSIkcHJfc2F2ZWRfcHJlZml4IgorIGV4ZWNfcHJlZml4PSIkcHJfc2F2ZWRfZXhlY19wcmVmaXgiCitJbmRleDogcHJvZnRwZC0xLjMuNS9saWIvbGliY2FwL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcHJvZnRwZC0xLjMuNS5vcmlnL2xpYi9saWJjYXAvTWFrZWZpbGUKKysrKyBwcm9mdHBkLTEuMy41L2xpYi9saWJjYXAvTWFrZWZpbGUKK0BAIC0yNiw3ICsyNiw3IEBAIE9CSlM9JChhZGRzdWZmaXggLm8sICQoRklMRVMpKQorIGFsbDogJChMSUJOQU1FKQorIAorIF9tYWtlbmFtZXM6IF9tYWtlbmFtZXMuYyBjYXBfbmFtZXMuc2VkCistCSQoQ0MpICQoQ0ZMQUdTKSAkKExERkxBR1MpICQ8IC1vICRACisrCSQoQlVJTERfQ0MpICQoQ0ZMQUdTKSAkKExERkxBR1MpICQ8IC1vICRACisgCisgY2FwX25hbWVzLmg6IF9tYWtlbmFtZXMKKyAJLi9fbWFrZW5hbWVzID4gY2FwX25hbWVzLmgKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wcm9mdHBkL2ZpbGVzL2Nsb3NlLVJlcXVpcmVWYWxpZFNoZWxsLWNoZWNrLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Byb2Z0cGQvZmlsZXMvY2xvc2UtUmVxdWlyZVZhbGlkU2hlbGwtY2hlY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzY0NTM1YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wcm9mdHBkL2ZpbGVzL2Nsb3NlLVJlcXVpcmVWYWxpZFNoZWxsLWNoZWNrLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK2Nsb3NlIFJlcXVpcmVWYWxpZFNoZWxsIGNoZWNrCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworY2xvc2UgUmVxdWlyZVZhbGlkU2hlbGwgY2hlY2sgc2luY2Ugd2UgbGlrZSB0byBtYWtlIC9iaW4vZmFsc2UgYXMgc2hlbGwKK2ZvciBmdHAgdXNlcgorCitTaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBzYW1wbGUtY29uZmlndXJhdGlvbnMvYmFzaWMuY29uZiB8ICAgIDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvc2FtcGxlLWNvbmZpZ3VyYXRpb25zL2Jhc2ljLmNvbmYgYi9zYW1wbGUtY29uZmlndXJhdGlvbnMvYmFzaWMuY29uZgoraW5kZXggMzE0ZWI3OS4uYWJjYjI4NCAxMDA2NDQKKy0tLSBhL3NhbXBsZS1jb25maWd1cmF0aW9ucy9iYXNpYy5jb25mCisrKysgYi9zYW1wbGUtY29uZmlndXJhdGlvbnMvYmFzaWMuY29uZgorQEAgLTUzLDYgKzUzLDcgQEAgQWxsb3dPdmVyd3JpdGUJCW9uCisgICAjIFdlIHdhbnQgY2xpZW50cyB0byBiZSBhYmxlIHRvIGxvZ2luIHdpdGggImFub255bW91cyIgYXMgd2VsbCBhcyAiZnRwIgorICAgVXNlckFsaWFzCQkJYW5vbnltb3VzIGZ0cAorIAorKyAgUmVxdWlyZVZhbGlkU2hlbGwJIAlvZmYKKyAgICMgTGltaXQgdGhlIG1heGltdW0gbnVtYmVyIG9mIGFub255bW91cyBsb2dpbnMKKyAgIE1heENsaWVudHMJCQkxMAorIAorLS0gCisxLjcuMTAuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHJvZnRwZC9maWxlcy9jb250cmliLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Byb2Z0cGQvZmlsZXMvY29udHJpYi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZTJhOGUzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Byb2Z0cGQvZmlsZXMvY29udHJpYi5wYXRjaApAQCAtMCwwICsxLDQyIEBACitUaGUgY29udHJpYiBkaXJlY3Rvcnkgbm93IGNvbnRhaW5zIGl0cyBvd24gTWFrZWZpbGUgd2hpY2ggaXMKK3VzZWQgZHVyaW5nIGluc3RhbGxhdGlvbi4gSXQgd2FzIHJlcXVpcmVkIHRvIHBhc3MgREVTVERJUiB0aHJvdWdoCit3aGVuIGl0IGdldHMgY2FsbGVkIGZyb20gdGhlIGJhc2UgTWFrZWZpbGUuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLZXZpbiBTdHJhc3NlciA8a2V2aW4uc3RyYXNzZXJAbGludXguaW50ZWwuY29tPgorLS0tCisgTWFrZWZpbGUuaW4gICAgICAgICB8ICAgIDIgKy0KKyBjb250cmliL01ha2VmaWxlLmluIHwgICAgNiArKystLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmluIGIvTWFrZWZpbGUuaW4KK2luZGV4IDViMmU2ODMuLmVlNzJmZTEgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5pbgorKysrIGIvTWFrZWZpbGUuaW4KK0BAIC0xMjAsNyArMTIwLDcgQEAgaW5zdGFsbC1tb2R1bGVzOiAkKERFU1RESVIpJChsaWJleGVjZGlyKSAkKERFU1RESVIpJChzeXNjb25mZGlyKQorIAl0ZXN0IC16ICIkKFNIQVJFRF9NT0RVTEVfT0JKUykiIC1hIC16ICIkKFNIQVJFRF9NT0RVTEVfRElSUykiIC1hIC16ICIkKFNUQVRJQ19NT0RVTEVfRElSUykiIHx8IChjZCBtb2R1bGVzLyAmJiAkKE1BS0UpIGluc3RhbGwpCisgCisgaW5zdGFsbC11dGlsczogJChERVNURElSKSQoc2JpbmRpcikgJChERVNURElSKSQoYmluZGlyKQorLQljZCBjb250cmliLyAmJiAkKE1BS0UpIGluc3RhbGwtdXRpbHMKKysJY2QgY29udHJpYi8gJiYgJChNQUtFKSBERVNURElSPSR7REVTVERJUn0gaW5zdGFsbC11dGlscworIAkkKElOU1RBTExfQklOKSAgZnRwY291bnQgJChERVNURElSKSQoYmluZGlyKS9mdHBjb3VudAorIAkkKElOU1RBTExfQklOKSAgZnRwZGN0bCAgJChERVNURElSKSQoYmluZGlyKS9mdHBkY3RsCisgCSQoSU5TVEFMTF9TQklOKSBmdHBzY3J1YiAkKERFU1RESVIpJChzYmluZGlyKS9mdHBzY3J1YgorZGlmZiAtLWdpdCBhL2NvbnRyaWIvTWFrZWZpbGUuaW4gYi9jb250cmliL01ha2VmaWxlLmluCitpbmRleCA1YmNjMDM4Li41MWQyNDhjIDEwMDY0NAorLS0tIGEvY29udHJpYi9NYWtlZmlsZS5pbgorKysrIGIvY29udHJpYi9NYWtlZmlsZS5pbgorQEAgLTE4LDYgKzE4LDYgQEAgTWFrZWZpbGU6IE1ha2VmaWxlLmluIC4uL2NvbmZpZy5zdGF0dXMKKyAJY2QgLi4vICYmIC4vY29uZmlnLnN0YXR1cworIAorIGluc3RhbGwtdXRpbHM6CistCSQoSU5TVEFMTCkgLW8gJChJTlNUQUxMX1VTRVIpIC1nICQoSU5TVEFMTF9HUk9VUCkgLW0gMDc1NSBmdHBhc3N3ZCAkKERFU1RESVIpJChiaW5kaXIpL2Z0cGFzc3dkCistCSQoSU5TVEFMTCkgLW8gJChJTlNUQUxMX1VTRVIpIC1nICQoSU5TVEFMTF9HUk9VUCkgLW0gMDc1NSBmdHBtYWlsICQoREVTVERJUikkKGJpbmRpcikvZnRwbWFpbAorLQkkKElOU1RBTEwpIC1vICQoSU5TVEFMTF9VU0VSKSAtZyAkKElOU1RBTExfR1JPVVApIC1tIDA3NTUgZnRwcXVvdGEgJChERVNURElSKSQoYmluZGlyKS9mdHBxdW90YQorKwkkKElOU1RBTEwpIC1tIDA3NTUgZnRwYXNzd2QgJChERVNURElSKSQoYmluZGlyKS9mdHBhc3N3ZAorKwkkKElOU1RBTEwpIC1tIDA3NTUgZnRwbWFpbCAkKERFU1RESVIpJChiaW5kaXIpL2Z0cG1haWwKKysJJChJTlNUQUxMKSAtbSAwNzU1IGZ0cHF1b3RhICQoREVTVERJUikkKGJpbmRpcikvZnRwcXVvdGEKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHJvZnRwZC9maWxlcy9kZWZhdWx0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Byb2Z0cGQvZmlsZXMvZGVmYXVsdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMzFmMzZjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Byb2Z0cGQvZmlsZXMvZGVmYXVsdApAQCAtMCwwICsxLDkgQEAKKyMgRGVmYXVsdHMgZm9yIHByb2Z0cGQgaW5pdHNjcmlwdAorCisjIE1hc3RlciBzeXN0ZW0td2lkZSBwcm9mdHBkIHN3aXRjaC4gVGhlIGluaXRzY3JpcHQKKyMgd2lsbCBub3QgcnVuIGlmIGl0IGlzIG5vdCBzZXQgdG8geWVzLgorUlVOPSJ5ZXMiCisKKyMgRGVmYXVsdCBvcHRpb25zLgorIyBGb3IgbW9yZSBleGhhdXN0aXZlIGxvZ2dpbmcsIHRyeSAiLWQgMyIuCitPUFRJT05TPSIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHJvZnRwZC9maWxlcy9wcm9mdHBkLWJhc2ljLmluaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHJvZnRwZC9maWxlcy9wcm9mdHBkLWJhc2ljLmluaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDFjOTk4YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wcm9mdHBkL2ZpbGVzL3Byb2Z0cGQtYmFzaWMuaW5pdApAQCAtMCwwICsxLDIyMCBAQAorIyEvYmluL3NoCisKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6ICAgICAgICAgIHByb2Z0cGQKKyMgUmVxdWlyZWQtU3RhcnQ6ICAgICRyZW1vdGVfZnMgJHN5c2xvZyAkbG9jYWxfZnMgJG5ldHdvcmsKKyMgUmVxdWlyZWQtU3RvcDogICAgICRyZW1vdGVfZnMgJHN5c2xvZyAkbG9jYWxfZnMgJG5ldHdvcmsKKyMgU2hvdWxkLVN0YXJ0OiAgICAgICRuYW1lZAorIyBTaG91bGQtU3RvcDogICAgICAgJG5hbWVkCisjIERlZmF1bHQtU3RhcnQ6ICAgICAyIDMgNCA1CisjIERlZmF1bHQtU3RvcDogICAgICAwIDEgNgorIyBTaG9ydC1EZXNjcmlwdGlvbjogU3RhcnRzIFByb0ZUUEQgZGFlbW9uCisjIERlc2NyaXB0aW9uOiAgICAgICBUaGlzIHNjcmlwdCBydW5zIHRoZSBGVFAgc2VydmljZSBvZmZlcmVkCisjICAgICAgICAgICAgICAgICAgICBieSB0aGUgUHJvRlRQRCBkYWVtb24KKyMjIyBFTkQgSU5JVCBJTkZPCisKKyMgU3RhcnQgdGhlIHByb2Z0cGQgRlRQIGRhZW1vbi4KKworUEFUSD0vYmluOi91c3IvYmluOi9zYmluOi91c3Ivc2JpbgorREFFTU9OPS91c3Ivc2Jpbi9wcm9mdHBkCitOQU1FPXByb2Z0cGQKKworIyBEZWZhdWx0cworUlVOPSJubyIKK09QVElPTlM9IiIKK0NPTkZJR19GSUxFPS9ldGMvcHJvZnRwZC5jb25mCisKK1BJREZJTEU9YGdyZXAgLWkgJ15waWRmaWxlJyAkQ09ORklHX0ZJTEV8YXdrICd7IHByaW50ICQyIH0nYAoraWYgWyAieCRQSURGSUxFIiA9ICJ4IiBdOwordGhlbgorICAgIFBJREZJTEU9L3Zhci9ydW4vcHJvZnRwZC5waWQKK2ZpCisKKyMgUmVhZCBjb25maWcgKHdpbGwgb3ZlcnJpZGUgZGVmYXVsdHMpCitbIC1yIC9ldGMvZGVmYXVsdC9wcm9mdHBkIF0gJiYgLiAvZXRjL2RlZmF1bHQvcHJvZnRwZAorCit0cmFwICIiIDEKK3RyYXAgIiIgMTUKKwordGVzdCAtZiAkREFFTU9OIHx8IGV4aXQgMAorCisuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworCisjCisjIFNlcnZlcnR5cGUgY291bGQgYmUgaW5ldGR8c3RhbmRhbG9uZXxub25lLgorIyBJbiBhbGwgY2FzZXMgY2hlY2sgYWdhaW5zdCBpbmV0ZCBhbmQgeGluZXRkIHN1cHBvcnQuCisjCitpZiAhIGVncmVwIC1xaSAiXltbOnNwYWNlOl1dKlNlcnZlclR5cGUuKnN0YW5kYWxvbmUiICRDT05GSUdfRklMRQordGhlbgorICAgIGlmIGVncmVwIC1xaSAic2VydmVyW1s6c3BhY2U6XV0qPVtbOnNwYWNlOl1dKi91c3Ivc2Jpbi9wcm9mdHBkIiAvZXRjL3hpbmV0ZC5jb25mIDI+L2Rldi9udWxsIHx8IFwKKyAgICAgICBlZ3JlcCAtcWkgInNlcnZlcltbOnNwYWNlOl1dKj1bWzpzcGFjZTpdXSovdXNyL3NiaW4vcHJvZnRwZCIgL2V0Yy94aW5ldGQuZC8qIDI+L2Rldi9udWxsIHx8IFwKKyAgICAgICBlZ3JlcCAtcWkgIl5mdHAuKi91c3Ivc2Jpbi9wcm9mdHBkIiAvZXRjL2luZXRkLmNvbmYgMj4vZGV2L251bGwKKyAgICB0aGVuCisgICAgICAgIFJVTj0ibm8iCisgICAgICAgIElORVREPSJ5ZXMiCisgICAgZWxzZQorICAgICAgICBpZiAhIGVncmVwIC1xaSAiXltbOnNwYWNlOl1dKlNlcnZlclR5cGUuKmluZXRkIiAkQ09ORklHX0ZJTEUKKyAgICAgICAgdGhlbgorICAgICAgICAgICAgUlVOPSJ5ZXMiCisgICAgICAgICAgICBJTkVURD0ibm8iCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIFJVTj0ibm8iCisgICAgICAgICAgICBJTkVURD0ibm8iCisgICAgICAgIGZpCisgICAgZmkKK2ZpCisKKyMgL3Zhci9ydW4gY291bGQgYmUgb24gYSB0bXBmcworCitbICEgLWQgL3Zhci9ydW4vcHJvZnRwZCBdICYmIG1rZGlyIC92YXIvcnVuL3Byb2Z0cGQKKworaW5ldGRfY2hlY2soKQoreworICAgIGlmIFsgISAteCAvdXNyL3NiaW4vaW5ldGQgLWEgISAteCAvdXNyL3NiaW4veGluZXRkIF07IHRoZW4KKyAgICAgICAgZWNobyAiTmVpdGhlciBpbmV0ZCBub3IgeGluZXRkIGFwcGVhcnMgaW5zdGFsbGVkOiBjaGVjayB5b3VyIGNvbmZpZ3VyYXRpb24uIgorICAgIGZpCit9CisKK3N0YXJ0KCkKK3sKKyAgICBzZXQgLWUKKyAgICBlY2hvIC1uICJTdGFydGluZyBmdHAgc2VydmVyICROQU1FLi4uICIKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0YXJ0IC0tcXVpZXQgLS1waWRmaWxlICIkUElERklMRSIgLS1va25vZG8gLS1leGVjICREQUVNT04gLS0gLWMgJENPTkZJR19GSUxFICRPUFRJT05TCisgICAgZWNobyAiZG9uZS4iCit9CisKK3NpZ25hbCgpCit7CisKKyAgICBpZiBbICIkMSIgPSAic3RvcCIgXTsgdGhlbgorICAgICAgICBTSUdOQUw9IlRFUk0iCisgICAgICAgIGVjaG8gLW4gIlN0b3BwaW5nIGZ0cCBzZXJ2ZXIgJE5BTUUuLi4gIgorICAgIGVsc2UKKyAgICAgICAgaWYgWyAiJDEiID0gInJlbG9hZCIgXTsgdGhlbgorICAgICAgICAgICAgU0lHTkFMPSJIVVAiCisgICAgICAgICAgICBlY2hvIC1uICJSZWxvYWRpbmcgZnRwIHNlcnZlciAkTkFNRS4uLiAiCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGVjaG8gIkVSUjogd3JvbmcgcGFyYW1ldGVyIGdpdmVuIHRvIHNpZ25hbCgpIgorICAgICAgICAgICAgZXhpdCAxCisgICAgICAgIGZpCisgICAgZmkKKyAgICBpZiBbIC1mICIkUElERklMRSIgXTsgdGhlbgorICAgICAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1zaWduYWwgJFNJR05BTCAtLXF1aWV0IC0tcGlkZmlsZSAiJFBJREZJTEUiCisgICAgICAgIGlmIFsgJD8gPSAwIF07IHRoZW4KKyAgICAgICAgICAgIGVjaG8gImRvbmUuIgorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIFNJR05BTD0iS0lMTCIKKyAgICAgICAgICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXNpZ25hbCAkU0lHTkFMIC0tcXVpZXQgLS1waWRmaWxlICIkUElERklMRSIKKyAgICAgICAgICAgIGlmIFsgJD8gIT0gMCBdOyB0aGVuCisgICAgICAgICAgICAgICAgZWNobworICAgICAgICAgICAgICAgIFsgJDIgIT0gMCBdIHx8IGV4aXQgMAorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGVjaG8gImRvbmUuIgorICAgICAgICAgICAgICAgIHJldHVybgorICAgICAgICAgICAgZmkKKyAgICAgICAgZmkKKyAgICAgICAgaWYgWyAiJFNJR05BTCIgPSAiS0lMTCIgXTsgdGhlbgorICAgICAgICAgICAgcm0gLWYgIiRQSURGSUxFIgorICAgICAgICBmaQorICAgIGVsc2UKKyAgICAgICAgZWNobyAiZG9uZS4iCisgICAgICAgIHJldHVybgorICAgIGZpCit9CisKK2Nhc2UgIiQxIiBpbgorICAgIHN0YXJ0KQorICAgICAgICBpZiBbICJ4JFJVTiIgPSAieHllcyIgXSA7IHRoZW4KKyAgICAgICAgICAgIHN0YXJ0CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGlmIFsgIngkSU5FVEQiID0gInh5ZXMiIF0gOyB0aGVuCisgICAgICAgICAgICAgICAgZWNobyAiUHJvRlRQRCBpcyBzdGFydGVkIGZyb20gaW5ldGQveGluZXRkLiIKKyAgICAgICAgICAgICAgICBpbmV0ZF9jaGVjaworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGVjaG8gIlByb0ZUUEQgd2FybmluZzogY2Fubm90IHN0YXJ0IG5laXRoZXIgaW4gc3RhbmRhbG9uZSBub3IgaW4gaW5ldGQveGluZXRkIG1vZGUuIENoZWNrIHlvdXIgY29uZmlndXJhdGlvbi4iCisgICAgICAgICAgICBmaQorICAgICAgICBmaQorICAgICAgICA7OworCisgICAgZm9yY2Utc3RhcnQpCisgICAgICAgIGlmIFsgIngkSU5FVEQiID0gInh5ZXMiIF0gOyB0aGVuCisgICAgICAgICAgICBlY2hvICJXYXJuaW5nOiBQcm9GVFBEIGlzIHN0YXJ0ZWQgZnJvbSBpbmV0ZC94aW5ldGQgKHRyeWluZyB0byBzdGFydCBhbnl3YXkpLiIKKyAgICAgICAgICAgIGluZXRkX2NoZWNrCisgICAgICAgIGZpCisgICAgICAgIHN0YXJ0CisgICAgICAgIDs7CisKKyAgICBzdG9wKQorICAgICAgICBpZiBbICJ4JFJVTiIgPSAieHllcyIgXSA7IHRoZW4KKyAgICAgICAgICAgIHNpZ25hbCBzdG9wIDAKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgaWYgWyAieCRJTkVURCIgPSAieHllcyIgXSA7IHRoZW4KKyAgICAgICAgICAgICAgICBlY2hvICJQcm9GVFBEIGlzIHN0YXJ0ZWQgZnJvbSBpbmV0ZC94aW5ldGQuIgorICAgICAgICAgICAgICAgIGluZXRkX2NoZWNrCisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgZWNobyAiUHJvRlRQRCB3YXJuaW5nOiBjYW5ub3Qgc3RhcnQgbmVpdGhlciBpbiBzdGFuZGFsb25lIG5vciBpbiBpbmV0ZC94aW5ldGQgbW9kZS4gQ2hlY2sgeW91ciBjb25maWd1cmF0aW9uLiIKKyAgICAgICAgICAgIGZpCisgICAgICAgIGZpCisgICAgICAgIDs7CisKKyAgICBmb3JjZS1zdG9wKQorICAgICAgICBpZiBbICJ4JElORVREIiA9ICJ4eWVzIiBdIDsgdGhlbgorICAgICAgICAgICAgZWNobyAiV2FybmluZzogUHJvRlRQRCBpcyBzdGFydGVkIGZyb20gaW5ldGQveGluZXRkICh0cnlpbmcgdG8ga2lsbCBhbnl3YXkpLiIKKyAgICAgICAgICAgIGluZXRkX2NoZWNrCisgICAgICAgIGZpCisgICAgICAgIHNpZ25hbCBzdG9wIDAKKyAgICAgICAgOzsKKworICAgIHJlbG9hZCkKKyAgICAgICAgc2lnbmFsIHJlbG9hZCAwCisgICAgICAgIDs7CisKKyAgICBmb3JjZS1yZWxvYWR8cmVzdGFydCkKKyAgICAgICAgaWYgWyAieCRSVU4iID0gInh5ZXMiIF0gOyB0aGVuCisgICAgICAgICAgICBzaWduYWwgc3RvcCAxCisgICAgICAgICAgICBzbGVlcCAyCisgICAgICAgICAgICBzdGFydAorICAgICAgICBlbHNlCisgICAgICAgICAgICBpZiBbICJ4JElORVREIiA9ICJ4eWVzIiBdIDsgdGhlbgorICAgICAgICAgICAgICAgIGVjaG8gIlByb0ZUUEQgaXMgc3RhcnRlZCBmcm9tIGluZXRkL3hpbmV0ZC4iCisgICAgICAgICAgICAgICAgaW5ldGRfY2hlY2sKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBlY2hvICJQcm9GVFBEIHdhcm5pbmc6IGNhbm5vdCBzdGFydCBuZWl0aGVyIGluIHN0YW5kYWxvbmUgbm9yIGluIGluZXRkL3hpbmV0ZCBtb2RlLiBDaGVjayB5b3VyIGNvbmZpZ3VyYXRpb24uIgorICAgICAgICAgICAgZmkKKyAgICAgICAgZmkKKyAgICAgICAgOzsKKworICAgIHN0YXR1cykKKyAgICAgICAgaWYgWyAieCRJTkVURCIgPSAieHllcyIgXSA7IHRoZW4KKyAgICAgICAgICAgIGVjaG8gIlByb0ZUUEQgaXMgc3RhcnRlZCBmcm9tIGluZXRkL3hpbmV0ZC4iCisgICAgICAgICAgICBpbmV0ZF9jaGVjaworICAgICAgICAgICAgZXhpdCAwCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGlmIFsgLWYgIiRQSURGSUxFIiBdOyB0aGVuCisgICAgICAgICAgICAgICAgcGlkPSQoY2F0ICRQSURGSUxFKQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHBpZD0ieCIKKyAgICAgICAgICAgIGZpCisgICAgICAgICAgICBpZiBbIGBwaWRvZiBwcm9mdHBkfGdyZXAgIiRwaWQifHdjIC1sYCAtbmUgMCBdIDsgdGhlbgorICAgICAgICAgICAgICAgIGVjaG8gIlByb0ZUUEQgaXMgc3RhcnRlZCBpbiBzdGFuZGFsb25lIG1vZGUsIGN1cnJlbnRseSBydW5uaW5nLiIKKyAgICAgICAgICAgICAgICBleGl0IDAKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBlY2hvICJQcm9GVFBEIGlzIHN0YXJ0ZWQgaW4gc3RhbmRhbG9uZSBtb2RlLCBjdXJyZW50bHkgbm90IHJ1bm5pbmcuIgorICAgICAgICAgICAgICAgIGV4aXQgMworICAgICAgICAgICAgZmkKKyAgICAgICAgZmkKKyAgICAgICAgOzsKKworICAgIGNoZWNrLWNvbmZpZykKKyAgICAgICAgJERBRU1PTiAtdCA+L2Rldi9udWxsICYmIGVjaG8gIlByb0ZUUEQgY29uZmlndXJhdGlvbiBPSyIgJiYgZXhpdCAwCisgICAgICAgIGV4aXQgMQorICAgICAgICA7OworCisgICAgKikKKyAgICAgICAgZWNobyAiVXNhZ2U6IC9ldGMvaW5pdC5kLyROQU1FIHtzdGFydHxzdGF0dXN8Zm9yY2Utc3RhcnR8c3RvcHxmb3JjZS1zdG9wfHJlbG9hZHxyZXN0YXJ0fGZvcmNlLXJlbG9hZHxjaGVjay1jb25maWd9IgorICAgICAgICBleGl0IDEKKyAgICAgICAgOzsKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHJvZnRwZC9maWxlcy9wcm9mdHBkLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHJvZnRwZC9maWxlcy9wcm9mdHBkLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmE5N2Y4ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wcm9mdHBkL2ZpbGVzL3Byb2Z0cGQuc2VydmljZQpAQCAtMCwwICsxLDcgQEAKK1tVbml0XQorRGVzY3JpcHRpb249cHJvZnRwZCBEYWVtb24KKworW1NlcnZpY2VdCitUeXBlPWZvcmtpbmcKK0V4ZWNTdGFydD0tQFNCSU5ESVJAL3Byb2Z0cGQgLWMgQFNZU0NPTkZESVJAL3Byb2Z0cGQuY29uZgorU3RhbmRhcmRFcnJvcj1zeXNsb2cKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wcm9mdHBkL3Byb2Z0cGRfMS4zLjVhLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Byb2Z0cGQvcHJvZnRwZF8xLjMuNWEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTdkNDk4NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wcm9mdHBkL3Byb2Z0cGRfMS4zLjVhLmJiCkBAIC0wLDAgKzEsMTE1IEBACitTVU1NQVJZID0gIlNlY3VyZSBhbmQgY29uZmlndXJhYmxlIEZUUCBzZXJ2ZXIiCitTRUNUSU9OID0gIm5ldCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cucHJvZnRwZC5vcmciCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZiMGQxNDg0ZDExOTE1ZmE4OGE2YTc3MDJmMWRjMTg0IgorCitTUkNfVVJJID0gImZ0cDovL2Z0cC5wcm9mdHBkLm9yZy9kaXN0cmliL3NvdXJjZS8ke0JQTn0tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2Jhc2ljLmNvbmYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcHJvZnRwZC1iYXNpYy5pbml0IFwKKyAgICAgICAgICAgZmlsZTovL2RlZmF1bHQgXAorICAgICAgICAgICBmaWxlOi8vY2xvc2UtUmVxdWlyZVZhbGlkU2hlbGwtY2hlY2sucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY29udHJpYi5wYXRjaCAgXAorICAgICAgICAgICBmaWxlOi8vYnVpbGRfZml4dXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcHJvZnRwZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL0NWRS0yMDE2LTMxMjUucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiOWQzMDkyNDExNDc4NDE1YjMxZDQzNWY4ZTI2ZDE3MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhMWY0OGRmODUzOWM0MTRlYzU2ZTBjZWE2M2RjZjRiOGUxNmU2MDZjMDVmMTAxNTZmMDMwYTRhNjdmYWU1Njk2IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgdXNlcmFkZCB1cGRhdGUtcmMuZCBzeXN0ZW1kCisKK1BBQ0tBR0VDT05GSUcgPz89ICJzaWEgc2hhZG93IgorUEFDS0FHRUNPTkZJRyArPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsICdpcHY2JywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUcgKz0gIiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdwYW0nLCAnJywgZCl9IgorCitQQUNLQUdFQ09ORklHW2N1cnNlc10gPSAiLS1lbmFibGUtY3Vyc2VzIC0tZW5hYmxlLW5jdXJzZXMsIC0tZGlzYWJsZS1jdXJzZXMgLS1kaXNhYmxlLW5jdXJzZXMsIG5jdXJzZXMiCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0tZW5hYmxlLW9wZW5zc2wsIC0tZGlzYWJsZS1vcGVuc3NsLCBvcGVuc3NsLCBvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1twYW1dID0gIi0tZW5hYmxlLWF1dGgtcGFtLCAtLWRpc2FibGUtYXV0aC1wYW0sIGxpYnBhbSwgbGlicGFtIgorUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LCAtLWRpc2FibGUtaXB2NiIKK1BBQ0tBR0VDT05GSUdbc2hhZG93XSA9ICItLWVuYWJsZS1zaGFkb3csIC0tZGlzYWJsZS1zaGFkb3ciCitQQUNLQUdFQ09ORklHW3BjcmVdID0gIi0tZW5hYmxlLXBjcmUsIC0tZGlzYWJsZS1wY3JlLCBsaWJwY3JlICIKKworIyBlbmFibGUgUE9TSVguMWUgY2FwYWJpbGl0aWVzCitQQUNLQUdFQ09ORklHW2NhcF0gPSAiLS1lbmFibGUtY2FwLCAtLWRpc2FibGUtY2FwLCBsaWJjYXAsIGxpYmNhcCIKKworI2VuYWJsZSBzdXBwb3J0IGZvciBQT1NJWCBBQ0xzCitQQUNLQUdFQ09ORklHW2FjbF0gPSAiLS1lbmFibGUtZmFjbCwgLS1kaXNhYmxlLWZhY2wiCisKKyNlbmFibGUgcHJvZnRwZCBjb250cm9scyB2aWEgZnRwZGN0CitQQUNLQUdFQ09ORklHW2N0cmxzXSA9ICItLWVuYWJsZS1jdHJscywgLS1kaXNhYmxlLWNydGxzIgorCisjcHJldmVudCBwcm9mdHBkIGZyb20gdXNpbmcgaXRzIGJ1bmRsZWQgZ2V0b3B0IGltcGxlbWVudGF0aW9uLgorUEFDS0FHRUNPTkZJR1tnZXRvcHRdID0gIi0td2l0aC1nZXRvcHQsIC0td2l0aG91dC1nZXRvcHQiCisKKyNkbyBub3Qgc3RyaXAgZGVidWdnaW5nIHN5bWJvbHMgZnJvbSBpbnN0YWxsZWQgY29kZQorUEFDS0FHRUNPTkZJR1tzdHJpcF0gPSAiLS1lbmFibGUtc3RyaXAsIC0tZGlzYWJsZS1zdHJpcCIKKworI2VuYWJsZSBTSUEgYXV0aGVudGljYXRpb24gc3VwcG9ydCAoVHJ1NjQpCitQQUNLQUdFQ09ORklHW3NpYV0gPSAiLS1lbmFibGUtc2lhLCAtLWRpc2FibGUtc2lhIgorUEFDS0FHRUNPTkZJR1tzZW5kZmlsZV0gPSAiLWVuYWJsZS1zZW5kZmlsZSwgLS1kaXNhYmxlLXNlbmRmaWxlIgorCisjZW5hYmxlIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0IChOTFMpCitQQUNLQUdFQ09ORklHW25sc10gPSAiLS1lbmFibGUtbmxzLCAtLWRpc2FibGUtbmxzIgorCisjYWRkIG1vZF9kc28gdG8gY29yZSBtb2R1bGVzCitQQUNLQUdFQ09ORklHW2Rzb10gPSAiLS1lbmFibGUtZHNvLCAtLWRpc2FibGUtZHNvIgorUEFDS0FHRUNPTkZJR1tsYXJnZWZpbGVdID0gIi0tZW5hYmxlLWxhcmdlZmlsZSwgLS1kaXNhYmxlLWxhcmdlZmlsZSIKKworI29taXQgbW9kX2F1dGhfZmlsZSBmcm9tIGNvcmUgbW9kdWxlcworUEFDS0FHRUNPTkZJR1thdXRoXSA9ICItLWVuYWJsZS1hdXRoLWZpbGUsIC0tZGlzYWJsZS1hdXRoLWZpbGUiCisKKworIyBwcm9mdHBkIHVzZXMgbGlibHRkbCB3aGljaCBjdXJyZW50bHkgbWFrZXMgY29uZmlndXJpbmcgdXNpbmcKKyMgYXV0b3Rvb2xzLmJiY2xhc3MgYSBwYWluLi4uCitkb19jb25maWd1cmUgKCkgeworICAgIG9lX3J1bmNvbmYKKyAgICBjcCAke1NUQUdJTkdfQklORElSX0NST1NTfS8ke0hPU1RfU1lTfS1saWJ0b29sICR7U30vbGlidG9vbAorfQorCitGVFBVU0VSID0gImZ0cCIKK0ZUUEdST1VQID0gImZ0cCIKKworZG9faW5zdGFsbCAoKSB7CisgICAgb2VfcnVubWFrZSBERVNURElSPSR7RH0gaW5zdGFsbAorICAgIHJtZGlyICR7RH0ke2xpYmRpcn0vcHJvZnRwZCAke0R9JHtkYXRhZGlyfS9sb2NhbGUKKyAgICBbIC1kICR7RH0ke2xpYmV4ZWNkaXJ9IF0gJiYgcm1kaXIgJHtEfSR7bGliZXhlY2Rpcn0KKyAgICBzZWQgLWkgJy8gKlVzZXJbIFx0XSovcy9mdHAvJHtGVFBVU0VSfS8nICR7RH0ke3N5c2NvbmZkaXJ9L3Byb2Z0cGQuY29uZgorICAgIHNlZCAtaSAnLyAqR3JvdXBbIFx0XSovcy9mdHAvJHtGVFBHUk9VUH0vJyAke0R9JHtzeXNjb25mZGlyfS9wcm9mdHBkLmNvbmYKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3Byb2Z0cGQtYmFzaWMuaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvcHJvZnRwZAorICAgIHNlZCAtaSAncyEvdXNyL3NiaW4vISR7c2JpbmRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9wcm9mdHBkCisgICAgc2VkIC1pICdzIS9ldGMvISR7c3lzY29uZmRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9wcm9mdHBkCisgICAgc2VkIC1pICdzIS92YXIvISR7bG9jYWxzdGF0ZWRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9wcm9mdHBkCisgICAgc2VkIC1pICdzIV5QQVRIPS4qIVBBVEg9JHtiYXNlX3NiaW5kaXJ9OiR7YmFzZV9iaW5kaXJ9OiR7c2JpbmRpcn06JHtiaW5kaXJ9IScgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3Byb2Z0cGQKKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdAorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2RlZmF1bHQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC9wcm9mdHBkCisKKyAgICAjIGNyZWF0ZSB0aGUgcHViIGRpcmVjdG9yeQorICAgIG1rZGlyIC1wICR7RH0vaG9tZS8ke0ZUUFVTRVJ9L3B1Yi8KKyAgICBjaG93biAtUiAke0ZUUFVTRVJ9OiR7RlRQR1JPVVB9ICR7RH0vaG9tZS8ke0ZUUFVTRVJ9L3B1YgorCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L3Byb2Z0cGQuc2VydmljZSAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBzZWQgLWUgJ3MsQEJBU0VfU0JJTkRJUkAsJHtiYXNlX3NiaW5kaXJ9LGcnIFwKKyAgICAgICAgLWUgJ3MsQFNZU0NPTkZESVJALCR7c3lzY29uZmRpcn0sZycgXAorICAgICAgICAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyBcCisgICAgICAgIC1pICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLyouc2VydmljZQorfQorCitJTklUU0NSSVBUX05BTUUgPSAicHJvZnRwZCIKK0lOSVRTQ1JJUFRfUEFSQU0gPSAiZGVmYXVsdHMgODUgMTUiCisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0iCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAicHJvZnRwZC5zZXJ2aWNlIgorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAiLS1zeXN0ZW0gJHtGVFBHUk9VUH0iCitVU0VSQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIC1nICR7RlRQR1JPVVB9IC0taG9tZS1kaXIgL3Zhci9saWIvJHtGVFBVU0VSfSAtLW5vLWNyZWF0ZS1ob21lIFwKKyAgICAgICAgICAgICAgICAgICAgICAgLS1zaGVsbCAvYmluL2ZhbHNlICR7RlRQVVNFUn0iCisKK0ZJTEVTXyR7UE59ICs9ICIvaG9tZS8ke0ZUUFVTRVJ9IgorCitSREVQRU5EU18ke1BOfSArPSAicGVybCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wdHBkL3B0cGQvcHRwZC11c2UtcGtnY29uZmlnLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3B0cGQvcHRwZC9wdHBkLXVzZS1wa2djb25maWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTQ1NzhkZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wdHBkL3B0cGQvcHRwZC11c2UtcGtnY29uZmlnLnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK0Zyb20gNGM4NTBiOTJhMWNmOGNmYTE5Njc3YzY2YmNkZTJlZGZhYjFhNDQ5MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEpvZSBNYWNEb25hbGQgPGpvZV9tYWNkb25hbGRAbWVudG9yLmNvbT4KK0RhdGU6IFR1ZSwgMjQgRmViIDIwMTUgMjM6MDI6MTQgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gcHRwZDogdXNlIHBrZ2NvbmZpZworCitZb2N0byB1c2VzIHBrZy1jb25maWcgZm9yIGxpYnBjYXAsIHJhdGhlciB0aGFuIHBjYXAtY29uZmlnLCBzbyB1c2UgdGhhdAoraW5zdGVhZCBhcyB0aGUgc291cmNlIGZvciBsaWJzIGFuZCBjZmxhZ3MuCisKK1Vwc3RyZWFtLXN0YXR1czogSW5hcHByb3ByaWF0ZSBbIGVtYmVkZGVkIHNwZWNpZmljIF0KKworU2lnbmVkLW9mZi1ieTogSm9lIE1hY0RvbmFsZCA8am9lX21hY2RvbmFsZEBtZW50b3IuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggZGM5NTQxZi4uMjg4ZjU0NyAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMTEyLDEwICsxMTIsMTAgQEAgY2FzZSAiJHRyeV9wY2FwIiBpbgorICB5ZXMpCisgICAgIGNhc2UgIiRQQVRIX1BDQVBfQ09ORklHIiBpbgorICAgICAgLyopCistCVBDQVBfTElCUz1gJFBBVEhfUENBUF9DT05GSUcgLS1saWJzYAorKwlQQ0FQX0xJQlM9YCRQQVRIX1BDQVBfQ09ORklHIC0tbGlicyBsaWJwY2FwYAorIAlBQ19TVUJTVChbUENBUF9MSUJTXSkKKyAJIyBTZXBhcmF0ZSBDUFBGTEFHUyBhbmQgQ0ZMQUdTCistCWZvbz1gJFBBVEhfUENBUF9DT05GSUcgLS1jZmxhZ3NgCisrCWZvbz1gJFBBVEhfUENBUF9DT05GSUcgLS1jZmxhZ3MgbGlicGNhcGAKKyAJUENBUF9DUFBGTEFHUz0KKyAJUENBUF9DRkxBR1M9CisgCWZvciBpIGluICRmb287IGRvCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wdHBkL3B0cGQvcHRwZC5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3B0cGQvcHRwZC9wdHBkLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGRkNTcxMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wdHBkL3B0cGQvcHRwZC5jb25mCkBAIC0wLDAgKzEsNyBAQAorIworIyBQVFBEIENvbmZpZ3VyYXRpb24KKyMKKyMgU2VlIG1hbiBwdHBkMiBmb3IgYXJndW1lbnRzLgorIworIyBFeGFtcGxlIGFyZ3VtZW50cworUFRQREFSR1M9Ii1kIDEgLWkgZXRoMCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wdHBkL3B0cGQvcHRwZC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3B0cGQvcHRwZC9wdHBkLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg0Nzk5ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wdHBkL3B0cGQvcHRwZC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTAgQEAKK1tVbml0XQorRGVzY3JpcHRpb249cHRwZCB0aW1lIHByZWNpc2lvbiBkYWVtb24KKworW1NlcnZpY2VdCitUeXBlPWZvcmtpbmcKK0Vudmlyb25tZW50RmlsZT0tQFNZU0NPTkZESVJAL2RlZmF1bHQvcHRwZAorRXhlY1N0YXJ0PUBCSU5ESVJAL3B0cGQyICRQVFBEQVJHUworCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHRwZC9wdHBkXzIuMy4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3B0cGQvcHRwZF8yLjMuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNmFhZWUwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3B0cGQvcHRwZF8yLjMuMS5iYgpAQCAtMCwwICsxLDU4IEBACitTVU1NQVJZID0gIlRoZSBQVFAgZGFlbW9uIChQVFBkKSIKK0RFU0NSSVBUSU9OID0gIlRoZSBQVFAgZGFlbW9uIChQVFBkKSBpbXBsZW1lbnRzIHRoZSBQcmVjaXNpb24gVGltZSBwcm90b2NvbCAoUFRQKSBhcyBcCitkZWZpbmVkIGJ5IHRoZSByZWxldmFudCBJRUVFIDE1ODggc3RhbmRhcmQuIFBUUCBWZXJzaW9uIDEgaW1wbGVtZW50cyBJRUVFLTE1ODgtMjAwMiwgXAorYW5kIFBUUCBWZXJzaW9uIDIgaW1wbGVtZW50cyBJRUVFLTE1ODgtMjAwOC4gUFRQIHdhcyBkZXZlbG9wZWQgdG8gcHJvdmlkZSB2ZXJ5IHByZWNpc2UgXAordGltZSBjb29yZGluYXRpb24gb2YgTEFOIGNvbm5lY3RlZCBjb21wdXRlcnMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9wdHBkIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTttZDU9MDczM2UxYjM3ODhhYjJlYmJjNjNiZjMzYTAyMGRhMWQiCisKK0RFUEVORFMgPSAibGlicGNhcCIKKworaW5oZXJpdCBhdXRvdG9vbHMgc3lzdGVtZAorCisjIHJldHVybiBzb21ldGhpbmcgbGlrZSAnMS4yLjMnIG9yICcxLjIuMy9yYzEnCisjCitkZWYgZ2V0X3N1YihkKToKKyAgICBwYXJ0cyA9IGQuZ2V0VmFyKCdQVicsVHJ1ZSkuc3BsaXQoJy0nKQorICAgIHRyeToKKyAgICAgICAgcmV0dXJuIHBhcnRzWzBdICsgJy8nICsgcGFydHNbMV0KKyAgICBleGNlcHQ6CisgICAgICAgIHJldHVybiBwYXJ0c1swXQorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3Byb2plY3QvcHRwZC9wdHBkLyR7QGdldF9zdWIoZCl9L3B0cGQtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3B0cGQtdXNlLXBrZ2NvbmZpZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9wdHBkLnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vcHRwZC5jb25mIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjI1M2JhYjdhYjUxZDk2OTYxNmVhODExYmUxZjEzMmYzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBkYmY1NGRkMmMxNzhiZDlmZTYyNDgxZDJjMzc1MTNlZTM2NjM2ZDhiZjEzN2NmZGFkOTY4OTE0OTBjZGJmOTMiCisKK1MgPSAiJHtXT1JLRElSfS9wdHBkLSR7UFZ9IgorCitFWFRSQV9PRU1BS0UgPSAiIgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1zbm1wIC0td2l0aC1wY2FwLWNvbmZpZz1wa2ctY29uZmlnIgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfSAke0R9JHttYW5kaXJ9L21hbjgKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtCfS9zcmMvcHRwZDIgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDY0NCAke0J9L3NyYy9wdHBkMi44ICR7RH0ke21hbmRpcn0vbWFuOAorCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9wdHBkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKworICAgICAgICBzZWQgLWkgLWUgJ3MjQFNZU0NPTkZESVJAIyR7c3lzY29uZmRpcn0jZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcHRwZC5zZXJ2aWNlCisgICAgICAgIHNlZCAtaSAtZSAncyNAQklORElSQCMke2JpbmRpcn0jZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcHRwZC5zZXJ2aWNlCisKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0LworICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9wdHBkLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC9wdHBkCisgICAgZmkKK30KKworU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJwdHBkLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHVyZS1mdHBkL3B1cmUtZnRwZC8wMDAxLVJlbW92ZS1oYXJkY29kZWQtdXNyLWxvY2FsLWluY2x1ZGVzLWZyb20tY29uZmlndXJlLmEucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHVyZS1mdHBkL3B1cmUtZnRwZC8wMDAxLVJlbW92ZS1oYXJkY29kZWQtdXNyLWxvY2FsLWluY2x1ZGVzLWZyb20tY29uZmlndXJlLmEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzY1MjNmYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wdXJlLWZ0cGQvcHVyZS1mdHBkLzAwMDEtUmVtb3ZlLWhhcmRjb2RlZC11c3ItbG9jYWwtaW5jbHVkZXMtZnJvbS1jb25maWd1cmUuYS5wYXRjaApAQCAtMCwwICsxLDM5IEBACitGcm9tIDFiYWZhZGYyNTAyMzM0YTNlOTcyZmY2NjcwNjE0NjkzMTZkMGQyY2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBUdWRvciBGbG9yZWEgPHR1ZG9yLmZsb3JlYUBlbmVhLmNvbT4KK0RhdGU6IFR1ZSwgNCBBdWcgMjAxNSAwMjo0NjozOSArMDIwMAorU3ViamVjdDogW1BBVENIXSBSZW1vdmUgaGFyZGNvZGVkIC91c3IvbG9jYWwgaW5jbHVkZXMgZnJvbSBjb25maWd1cmUuYWMKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWddCisKK1NpZ25lZC1vZmYtYnk6IFlhdWhlbiBLaGFydXpoeSA8eWF1aGVuLmtoYXJ1emh5QHByb213YWQuY29tPgorU2lnbmVkLW9mZi1ieTogVHVkb3IgRmxvcmVhIDx0dWRvci5mbG9yZWFAZW5lYS5jb20+CistLS0KKyBjb25maWd1cmUuYWMgfCAxMiAtLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDZjNzhlOGMuLjg1MWQ0NWQgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTEwMCwxOCArMTAwLDYgQEAgQUNfQVJHX1ZBUihQWVRIT04sbG9jYWwgcGF0aCB0byB0aGUgcHl0aG9uIGludGVycHJldGVyKQorIHB5dGhvbl9wb3NzaWJsZV9wYXRoPSIvdXNyL2JpbjovdXNyL2xvY2FsL2JpbjovYmluOi9vcHQvcHl0aG9uL2Jpbjovb3B0L3B5dGhvbi91c3IvYmluOi9vcHQvcHl0aG9uL3Vzci9sb2NhbC9iaW4iCisgQUNfUEFUSF9QUk9HKFBZVEhPTixweXRob24sL3Vzci9iaW4vZW52IHB5dGhvbiwkcHl0aG9uX3Bvc3NpYmxlX3BhdGgpCisgCistaWYgdGVzdCAtZCAvdXNyL2xvY2FsL2luY2x1ZGU7IHRoZW4KKy0gIENQUEZMQUdTPSIkQ1BQRkxBR1MgLUkvdXNyL2xvY2FsL2luY2x1ZGUiCistZmkKKy0KKy1pZiB0ZXN0IC1kIC91c3Iva2VyYmVyb3MvaW5jbHVkZTsgdGhlbgorLSAgQ1BQRkxBR1M9IiRDUFBGTEFHUyAtSS91c3Iva2VyYmVyb3MvaW5jbHVkZSIKKy1maQorLQorLWlmIHRlc3QgLWQgL3Vzci9sb2NhbC9saWI7IHRoZW4KKy0gIExERkxBR1M9IiRMREZMQUdTIC1ML3Vzci9sb2NhbC9saWIiCistZmkKKy0KKyBDUFBGTEFHUz0iJENQUEZMQUdTIC1EX0ZPUlRJRllfU09VUkNFPTIiCisgCisgZG5sIENoZWNrcyBmb3IgaGVhZGVyIGZpbGVzCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wdXJlLWZ0cGQvcHVyZS1mdHBkL25vc3RyaXAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHVyZS1mdHBkL3B1cmUtZnRwZC9ub3N0cmlwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjYjMzYmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHVyZS1mdHBkL3B1cmUtZnRwZC9ub3N0cmlwLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gMDI5MGJkNmY0Y2VkZGZmMmM1MmRmZjgzM2M5ZDMxZDI0ZGU3ZDBlMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFR1ZG9yIEZsb3JlYSA8dHVkb3IuZmxvcmVhQGVuZWEuY29tPgorRGF0ZTogVHVlLCA0IEF1ZyAyMDE1IDAzOjA3OjAxICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIERvbid0IG1lc3Mgd2l0aCBDRkxBR1MgYW5kIExERkxBR1Mgd2hlbiAtLXdpdGgtbWluaW1hbCBpcyBzcGVjaWZpZWQKKworV2UgZXNwZWNpYWxseSBkb24ndCB3YW50IHN0cmlwcGluZyBlbmFibGVkLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ10KKworU2lnbmVkLW9mZi1ieTogUGF1bCBFZ2dsZXRvbiA8cGF1bC5lZ2dsZXRvbkBsaW51eC5pbnRlbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBUdWRvciBGbG9yZWEgPHR1ZG9yLmZsb3JlYUBlbmVhLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDIgLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggODUxZDQ1ZC4uZGM0MTBhMSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNDIzLDggKzQyMyw2IEBAIEFDX0FSR19XSVRIKG1pbmltYWwsCisgICAgIEFDX0RFRklORShOT19GVFBfVVNFUlMpCisgICAgIEFDX0RFRklORShXSVRIT1VUX0FTQ0lJKSAgICAKKyAgICAgQUNfREVGSU5FKEJPUklOR19NT0RFKQorLSAgICBDRkxBR1M9IiRDRkxBR1MgLU9zIC1mb21pdC1mcmFtZS1wb2ludGVyIC1mbm8tdW5yb2xsLWxvb3BzICIKKy0gICAgTERGTEFHUz0iJExERkxBR1MgLXMgIgorICAgZmkgXSkKKyAKKyBBQ19BUkdfV0lUSChwYXJhbm9pZG1zZywKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3B1cmUtZnRwZC9wdXJlLWZ0cGRfMS4wLjQyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3B1cmUtZnRwZC9wdXJlLWZ0cGRfMS4wLjQyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxZjE1MDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHVyZS1mdHBkL3B1cmUtZnRwZF8xLjAuNDIuYmIKQEAgLTAsMCArMSwyMiBAQAorU1VNTUFSWSA9ICJGVFAgU2VydmVyIHdpdGggYSBzdHJvbmcgZm9jdXMgb24gc29mdHdhcmUgc2VjdXJpdHkiCitERVNDUklQVElPTiA9ICJQdXJlLUZUUGQgaXMgYSBmcmVlIChCU0QgbGljZW5zZSksIHNlY3VyZSwgcHJvZHVjdGlvbi1xdWFsaXR5IGFuZCBzdGFuZGFyZC1jb25mb3JtYW50IEZUUCBzZXJ2ZXIuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5wdXJlZnRwZC5vcmcvcHJvamVjdC9wdXJlLWZ0cGQiCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTAzNTJmYjJiZmUxN2Y0MjYxNjg3YTBkNmUwOWY0ODkiCisKK0RFUEVORFMgPSAibGliY2FwIgorCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLnB1cmVmdHBkLm9yZy9wdWIvcHVyZS1mdHBkL3JlbGVhc2VzL3B1cmUtZnRwZC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1SZW1vdmUtaGFyZGNvZGVkLXVzci1sb2NhbC1pbmNsdWRlcy1mcm9tLWNvbmZpZ3VyZS5hLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL25vc3RyaXAucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjQxOTVhZjhmMGU1ZWUyYTc5OGIxMDE0MDcxZGFlM2EzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdiZTczYThlNThiMTkwYTcwNTRkMmFlMDBjNWU2NTBjYjllMDkxOTgwNDIwMDgyZDAyZWMzYzNiNjhkOGU3ZjkiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtbWluaW1hbCIKK1BBQ0tBR0VDT05GSUdbbGlic29kaXVtXSA9ImFjX2N2X2xpYl9zb2RpdW1fY3J5cHRvX3B3aGFzaF9zY3J5cHRzYWxzYTIwOHNoYTI1Nl9zdHI9eWVzLCBcCisgICAgICAgICAgICAgICAgICAgICAgIGFjX2N2X2xpYl9zb2RpdW1fY3J5cHRvX3B3aGFzaF9zY3J5cHRzYWxzYTIwOHNoYTI1Nl9zdHI9bm8sIGxpYnNvZGl1bSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9yYWR2ZC9maWxlcy9yYWR2ZC5kZWZhdWx0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3JhZHZkL2ZpbGVzL3JhZHZkLmRlZmF1bHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2NiNzNjNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9yYWR2ZC9maWxlcy9yYWR2ZC5kZWZhdWx0CkBAIC0wLDAgKzEgQEAKK09QVElPTlM9Ii11IHJhZHZkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3JhZHZkL2ZpbGVzL3JhZHZkLmluaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcmFkdmQvZmlsZXMvcmFkdmQuaW5pdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YjI2MzE3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3JhZHZkL2ZpbGVzL3JhZHZkLmluaXQKQEAgLTAsMCArMSwxMzUgQEAKKyMhIC9iaW4vc2gKKyMKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6ICAgICAgIHJhZHZkCisjIFJlcXVpcmVkLVN0YXJ0OiAkcmVtb3RlX2ZzICRuYW1lZCAkc3lzbG9nCisjIFJlcXVpcmVkLVN0b3A6ICAkcmVtb3RlX2ZzICRuYW1lZCAkc3lzbG9nCisjIERlZmF1bHQtU3RhcnQ6ICAzIDUKKyMgRGVmYXVsdC1TdG9wOiAgIDAgMSAyIDYKKyMgRGVzY3JpcHRpb246ICAgIHJvdXRlciBhZHZlcnRpc2VtZW50IGRhZW1vbgorIyMjIEVORCBJTklUIElORk8KKworIyBTb3VyY2UgZnVuY3Rpb24gbGlicmFyeS4KKy4gL2V0Yy9pbml0LmQvZnVuY3Rpb25zCisKK1BBVEg9L3NiaW46L2JpbjovdXNyL3NiaW46L3Vzci9iaW4KK0RBRU1PTj0vdXNyL3NiaW4vcmFkdmQKK05BTUU9cmFkdmQKK0RFU0M9cmFkdmQKK0NPTkZJRz0vZXRjL3JhZHZkLmNvbmYKK1NBVkVEX1NFVFRJTkdTPS92YXIvcnVuL3JhZHZkL3NhdmVkLXNldHRpbmdzCitQSURGSUxFPS92YXIvcnVuL3JhZHZkL3JhZHZkLnBpZAorT1BUSU9OUz0iLXUgcmFkdmQgLXAgJFBJREZJTEUiCisKK3Rlc3QgLXggJERBRU1PTiB8fCBleGl0IDAKKworc2V0IC1lCisKKyMgQ2hlY2sgZm9yIElQdjYgc3VwcG9ydCBpbiBrZXJuZWwKK2lmIHRlc3QgXCEgLWUgL3Byb2Mvc3lzL25ldC9pcHY2OyB0aGVuCisgIGVjaG8gIklQdjYgc3VwcG9ydCBtdXN0IGJlIGVuYWJsZWQgaW4gdGhlIGtlcm5lbCBmb3IgJERFU0MgdG8gd29yay4iCisgIGV4aXQKK2ZpCisKK3NhdmVfc2V0dGluZ3MoKQoreworICAgIGxvY2FsIGZpbGU9JDEKKyAgICAKKyAgICBybSAtZiAkZmlsZQorICAgIGZvciBpZl9jb25mIGluIC9wcm9jL3N5cy9uZXQvaXB2Ni9jb25mLyo7IGRvCisJZWNobyAtZSAiJGlmX2NvbmYvZm9yd2FyZGluZ1x0IGBjYXQgJGlmX2NvbmYvZm9yd2FyZGluZ2AiID4+ICRmaWxlCisgICAgZG9uZQorICAgIHJldHVybiAwCit9CisKK3Jlc3RvcmVfc2V0dGluZ3MoKQoreworICAgIGZpbGU9JDEKKyAgICAKKyAgICBpZiBbICEgLWYgJGZpbGUgXTsgdGhlbgorCWVjaG8gIiQwOiB3YXJuaW5nOiBjYW5ub3QgcmVzdG9yZSBzZXR0aW5ncyIKKwlyZXR1cm4KKyAgICBmaQorICAgIAorICAgICggCisJd2hpbGUgcmVhZCBmIHZhbHVlOyBkbworCSAgICBpZiBbIC13ICRmIF07IHRoZW4KKwkJZWNobyAkdmFsdWUgPiAkZgorCSAgICBmaQorCWRvbmUKKyAgICApIDwgJGZpbGUKK30KKworY2hrY29uZmlnKCkgeworICAgIGlmIFsgISAtZSAkQ09ORklHIC1vICEgLXMgJENPTkZJRyBdOyB0aGVuCisgICAgICAgIGVjaG8gIiIKKwllY2hvICIqICRDT05GSUcgZG9lcyBub3QgZXhpc3Qgb3IgaXMgZW1wdHkuIiAKKwllY2hvICIqIFNlZSAvdXNyL3NoYXJlL2RvYy9yYWR2ZC9yYWR2ZC5jb25mLmV4YW1wbGUgZm9yIGEgc2ltcGxlIgorCWVjaG8gIiogY29uZmlndXJhdGlvbiBzdWl0YWJsZSBmb3IgbW9zdCBzeXN0ZW1zLCBhbmQgcmFkdmQuY29uZig1KSIKKwllY2hvICIqIGZvciBjb25maWd1cmF0aW9uIGZpbGUgc3ludGF4LiByYWR2ZCB3aWxsICpub3QqIGJlIHN0YXJ0ZWQuIgorCWV4aXQgMAorICAgIGZpCit9CisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKwllY2hvIC1uICJTdGFydGluZyAkREVTQzogIgorCWNoa2NvbmZpZworCXNhdmVfc2V0dGluZ3MgJFNBVkVEX1NFVFRJTkdTCisJCisgICAgICAgICMgV2UgbXVzdCBlbmFibGUgSVB2NiBmb3J3YXJkaW5nIGZvciByYWR2ZCB0byB3b3JrCisJZWNobyAxID4gL3Byb2Mvc3lzL25ldC9pcHY2L2NvbmYvYWxsL2ZvcndhcmRpbmcKKworCSMgQ2hlY2sgZm9yIHN0YWxlIHBpZGZpbGU7IHJhZHZkIHdvbid0IHN0YXJ0IGlmIG9uZSBpcyBseWluZyBhcm91bmQKKwlpZiBbIC1mICRQSURGSUxFIF0gJiYgISBwcyBgY2F0ICAkUElERklMRWAgPiAvZGV2L251bGw7IHRoZW4KKwkgIHJtIC1mICRQSURGSUxFCisJZmkKKwlpZiAhIHN0YXJ0LXN0b3AtZGFlbW9uIC0tb2tub2RvIC0tc3RhcnQgLS1waWRmaWxlICRQSURGSUxFIFwKKwkJLS1leGVjICREQUVNT04gLS0gJE9QVElPTlM7IHRoZW4KKwkgIGVjaG8gImZhaWxlZC4iICYmIGV4aXQgMQorCWZpCisJZWNobyAiJE5BTUUuIgorCTs7CisgIHN0b3ApCisJZWNobyAtbiAiU3RvcHBpbmcgJERFU0M6ICIKKwlpZiAhIFsgLWYgJFBJREZJTEUgXSA7IHRoZW4KKwkJZWNobyAibm90IHJ1bm5pbmcuIgorCQlleGl0IDAKKwlmaQorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tb2tub2RvIC0tc3RvcCAtLXBpZGZpbGUgJFBJREZJTEUgXAorCQktLWV4ZWMgJERBRU1PTgorCXJlc3RvcmVfc2V0dGluZ3MgJFNBVkVEX1NFVFRJTkdTCisJcm0gLWYgJFNBVkVEX1NFVFRJTkdTCisJZWNobyAiJE5BTUUuIgorCTs7CisgIHN0YXR1cykKKwlzdGF0dXMgJERBRU1PTjsKKwlleGl0ICQ/CisJOzsKKyAgcmVsb2FkfGZvcmNlLXJlbG9hZCkKKwllY2hvICJSZWxvYWRpbmcgJERFU0MgY29uZmlndXJhdGlvbiBmaWxlcy4iCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tc2lnbmFsIEhVUCAtLXF1aWV0IC0tcGlkZmlsZSBcCisJICAgICRQSURGSUxFIC0tZXhlYyAkREFFTU9OCisJOzsKKyAgcmVzdGFydCkKKwljaGtjb25maWcKKwllY2hvIC1uICJSZXN0YXJ0aW5nICRERVNDOiAiCisJaWYgISBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLXBpZGZpbGUgXAorCQkkUElERklMRSAtLWV4ZWMgJERBRU1PTjsgdGhlbgorCSAgIyBzdG9wIGZhaWxlZCwgc28gd2Ugd2VyZSBub3QgcnVubmluZworCSAgc2F2ZV9zZXR0aW5ncyAkU0FWRURfU0VUVElOR1MKKwkgIGVjaG8gMSA+IC9wcm9jL3N5cy9uZXQvaXB2Ni9jb25mL2FsbC9mb3J3YXJkaW5nCisJZmkKKwlzbGVlcCAxCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tcGlkZmlsZSBcCisJCSRQSURGSUxFIC0tZXhlYyAkREFFTU9OIC0tICRPUFRJT05TCisJZWNobyAiJE5BTUUuIgorCTs7CisgICopCisJTj0vZXRjL2luaXQuZC8kTkFNRQorCWVjaG8gIlVzYWdlOiAkTiB7c3RhcnR8c3RvcHxzdGF0dXN8cmVzdGFydHxyZWxvYWR8Zm9yY2UtcmVsb2FkfSIgPiYyCisJZXhpdCAxCisJOzsKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcmFkdmQvZmlsZXMvcmFkdmQuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9yYWR2ZC9maWxlcy9yYWR2ZC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2MDc5OGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcmFkdmQvZmlsZXMvcmFkdmQuc2VydmljZQpAQCAtMCwwICsxLDExIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPVJvdXRlciBhZHZlcnRpc2VtZW50IGRhZW1vbiBmb3IgSVB2NgorQWZ0ZXI9bmV0d29yay50YXJnZXQKK0NvbmRpdGlvblBhdGhFeGlzdHM9QFNZU0NPTkZESVJAL3JhZHZkLmNvbmYKKworW1NlcnZpY2VdCitFbnZpcm9ubWVudEZpbGU9LUBTWVNDT05GRElSQC9kZWZhdWx0L3JhZHZkCitFeGVjU3RhcnQ9QFNCSU5ESVJAL3JhZHZkIC1uICRPUFRJT05TCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9yYWR2ZC9maWxlcy92b2xhdGlsZXMuMDNfcmFkdmQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcmFkdmQvZmlsZXMvdm9sYXRpbGVzLjAzX3JhZHZkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg5MjU2YTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcmFkdmQvZmlsZXMvdm9sYXRpbGVzLjAzX3JhZHZkCkBAIC0wLDAgKzEsMiBAQAorIyA8dHlwZT4gPG93bmVyPiA8Z3JvdXA+IDxtb2RlPiA8cGF0aD4gPGxpbmtzb3VyY2U+CitkIHJhZHZkIHJvb3QgMDc1NSAvdmFyL3J1bi9yYWR2ZCBub25lCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcmFkdmQvcmFkdmQuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3JhZHZkL3JhZHZkLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40N2U0NzM2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3JhZHZkL3JhZHZkLmluYwpAQCAtMCwwICsxLDY3IEBACitTVU1NQVJZID0gIklQdjYgcm91dGVyIGFkdmVydGlzZW1lbnQgZGFlbW9uIgorREVTQ1JJUFRJT04gPSAicmFkdmQgaXMgdGhlIHJvdXRlciBhZHZlcnRpc2VtZW50IGRhZW1vbiBmb3IgSVB2Ni4gSXQgXAorbGlzdGVucyB0byByb3V0ZXIgc29saWNpdGF0aW9ucyBhbmQgc2VuZHMgcm91dGVyIFwKK2FkdmVydGlzZW1lbnRzIGFzIGRlc2NyaWJlZCBpbiBSRkMgMjQ2MSwgTmVpZ2hib3IgXAorRGlzY292ZXJ5IGZvciBJUCBWZXJzaW9uIDYgKElQdjYpLiBXaXRoIHRoZXNlIFwKK2FkdmVydGlzZW1lbnRzIGhvc3RzIGNhbiBhdXRvbWF0aWNhbGx5IGNvbmZpZ3VyZSB0aGVpciBcCithZGRyZXNzZXMgYW5kIHNvbWUgb3RoZXIgcGFyYW1ldGVycy4gVGhleSBhbHNvIGNhbiBcCitjaG9vc2UgYSBkZWZhdWx0IHJvdXRlciBiYXNlZCBvbiB0aGVzZSBhZHZlcnRpc2VtZW50cy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmxpdGVjaC5vcmcvcmFkdmQvIgorU0VDVElPTiA9ICJuZXQiCitERVBFTkRTID0gImZsZXgtbmF0aXZlIGxpYmRhZW1vbiIKKworIyBMaWNlbnNlIGlzIEJTRC1TdHlsZSAod2l0aCBhZHZlcnRpc2luZyBjbGF1c2UpIGJ1dCBhbHNvIGhhcyBhbiBhZGRpdGlvbmFsIDB0aCBjbGF1c2UKK0xJQ0VOU0UgPSAicmFkdmQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZUklHSFQ7bWQ1PTczZWJiZjcxODJhZTk5NmU2NWU4ZmFkYzlhOGM0NWRiIgorCitTUkNfVVJJID0gImh0dHA6Ly92NndlYi5saXRlY2gub3JnL3JhZHZkL2Rpc3QvcmFkdmQtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3JhZHZkLmluaXQgXAorICAgICAgICAgICBmaWxlOi8vcmFkdmQuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly92b2xhdGlsZXMuMDNfcmFkdmQgXAorICAgICAgICAgICBmaWxlOi8vcmFkdmQuZGVmYXVsdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLXJjLmQgdXNlcmFkZCBwa2djb25maWcgc3lzdGVtZAorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAicmFkdmQuc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQgXAorICAgICAgICAgICAgICAgICAgICAgICAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcyBcCisgICAgICAgICAgICAgICAgICAgICAgICR7RH0ke2RvY2Rpcn0vcmFkdmQKKyAgICAjIEluc3RhbGwgaW5pdCBzY3JpcHQgYW5kIHZvbGF0aWxlcworICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3JhZHZkLmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3JhZHZkCisgICAgc2VkIC1pICdzIS91c3Ivc2Jpbi8hJHtzYmluZGlyfS8hZycgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3JhZHZkCisgICAgc2VkIC1pICdzIS9ldGMvISR7c3lzY29uZmRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9yYWR2ZAorICAgIHNlZCAtaSAncyEvdmFyLyEke2xvY2Fsc3RhdGVkaXJ9LyFnJyAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvcmFkdmQKKyAgICBzZWQgLWkgJ3MhXlBBVEg9LiohUEFUSD0ke2Jhc2Vfc2JpbmRpcn06JHtiYXNlX2JpbmRpcn06JHtzYmluZGlyfToke2JpbmRpcn0hJyAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvcmFkdmQKKworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3ZvbGF0aWxlcy4wM19yYWR2ZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcy92b2xhdGlsZXMuMDNfcmFkdmQKKworICAgICMgSW5zdGFsbCBzeXN0ZW1kIHNlcnZpY2UgZmlsZXMKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcmFkdmQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIHNlZCAtaSAtZSAncyNAU1lTQ09ORkRJUkAjJHtzeXNjb25mZGlyfSNnJyBcCisgICAgICAgICAgIC1lICdzI0BTQklORElSQCMke3NiaW5kaXJ9I2cnIFwKKyAgICAgICAgICAgLWUgJ3MjQEJBU0VfQklORElSQCMke2Jhc2VfYmluZGlyfSNnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9yYWR2ZC5zZXJ2aWNlCisKKyAgICAjIEluc3RhbGwgZGVmYXVsdCBlbnZpcm9ubWVudCBmaWxlCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcmFkdmQuZGVmYXVsdCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3JhZHZkCisKKyAgICAjIERvY3VtZW50YXRpb24KKyAgICBmb3IgaSBpbiByYWR2ZC5jb25mLmV4YW1wbGUgUkVBRE1FOyBkbyBcCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9LyRpICR7RH0ke2RvY2Rpcn0vcmFkdmQ7IFwKKyAgICBkb25lCit9CisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJyYWR2ZCIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIDIwIDgwIgorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSAtLWhvbWUgJHtsb2NhbHN0YXRlZGlyfS9ydW4vcmFkdmQvIC1NIC1nIG5vZ3JvdXAgcmFkdmQiCisKK3BrZ19wb3N0aW5zdF8ke1BOfSAoKSB7CisgICAgaWYgWyAteiAiJEQiIC1hIC14IC9ldGMvaW5pdC5kL3BvcHVsYXRlLXZvbGF0aWxlLnNoIF07IHRoZW4KKwkvZXRjL2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCB1cGRhdGUKKyAgICBmaQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3JhZHZkL3JhZHZkXzIuMTEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcmFkdmQvcmFkdmRfMi4xMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMGI3NTMyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3JhZHZkL3JhZHZkXzIuMTEuYmIKQEAgLTAsMCArMSw1IEBACisKK3JlcXVpcmUgcmFkdmQuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1N2ZjNjAyMWY2YTVlNTQ3MmU0NTU5Mzc2ODU0NzJhMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4MGFkNjBiMTU2ODllOTU5MWE1YWYzOTNhNTdhMWQ5MzMwNGRlZWZmMmU0NjQ4MmYwZmQ5ODA0NmMwMDYyMmY4IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL2ZpbGVzL0FkZC1kZWZhdWx0LWVudHJ5LWZvci1jcm9zcy1jb21waWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL2ZpbGVzL0FkZC1kZWZhdWx0LWVudHJ5LWZvci1jcm9zcy1jb21waWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmODQ1YmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvc3F1aWQvZmlsZXMvQWRkLWRlZmF1bHQtZW50cnktZm9yLWNyb3NzLWNvbXBpbGUucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSBmYWEyMTJhNGUwYWFmNDQyZmY1OGZjYTUwNzcwYThmYWRjMTAzOGUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorTWVzc2FnZS1JZDogPGZhYTIxMmE0ZTBhYWY0NDJmZjU4ZmNhNTA3NzBhOGZhZGMxMDM4ZTMuMTM4MjA0MTEyMy5naXQuSmltLlNvbWVydmlsbGVAd2luZHJpdmVyLmNvbT4KK0Zyb206IEppbSBTb21lcnZpbGxlIDxKaW0uU29tZXJ2aWxsZUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVGh1LCAxNyBPY3QgMjAxMyAxNjoxNzo0OCAtMDQwMAorU3ViamVjdDogW1BBVENIIDEvMV0gQWRkIGRlZmF1bHQgZW50cnkgZm9yIGNyb3NzIGNvbXBpbGUKKworU2lnbmVkLW9mZi1ieTogSmltIFNvbWVydmlsbGUgPEppbS5Tb21lcnZpbGxlQHdpbmRyaXZlci5jb20+CistLS0KKyBhY2luY2x1ZGUva3JiNS5tNCB8ICAgIDYgKysrKystCisgMSBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9hY2luY2x1ZGUva3JiNS5tNCBiL2FjaW5jbHVkZS9rcmI1Lm00CitpbmRleCA1ZDlhYzM2Li43YTA3MmEyIDEwMDY0NAorLS0tIGEvYWNpbmNsdWRlL2tyYjUubTQKKysrKyBiL2FjaW5jbHVkZS9rcmI1Lm00CitAQCAtODIsNyArODIsMTEgQEAgbWFpbih2b2lkKQorIAorICAgICAgICAgcmV0dXJuIDA7CisgfQorLV1dKV0sIFsgc3F1aWRfY3ZfYnJva2VuX2hlaW1kYWxfa3JiNV9oPXllcyBdLCBbIHNxdWlkX2N2X2Jyb2tlbl9oZWltZGFsX2tyYjVfaD1ubyBdKQorK11dKV0sIFsgc3F1aWRfY3ZfYnJva2VuX2hlaW1kYWxfa3JiNV9oPXllcyBdLCBbIHNxdWlkX2N2X2Jyb2tlbl9oZWltZGFsX2tyYjVfaD1ubyBdLAorK1sKKysgIGRubCBDYW4ndCB0ZXN0IGluIGNyb3NzIGNvbXBpbGVkIGVudiAtIHNvIGFzc3VtZSBnb29kCisrICBzcXVpZF9jdl9icm9rZW5faGVpbWRhbF9rcmI1X2g9bm8KKytdKQorICAgICBdLAorICAgICBbCisgICAgICBkbmwgQ2FuJ3QgdGVzdCBpbiBjcm9zcyBjb21waWxlZCBlbnYgLSBzbyBhc3N1bWUgZ29vZAorLS0gCisxLjcuNC4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9zcXVpZC9maWxlcy9DVkUtMjAxNi0zOTQ3LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL2ZpbGVzL0NWRS0yMDE2LTM5NDcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzgzZTZhYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9zcXVpZC9maWxlcy9DVkUtMjAxNi0zOTQ3LnBhdGNoCkBAIC0wLDAgKzEsNDggQEAKK0Zyb20gMGZlMTA4ZWNiMmJiZGY2ODRmMTU5OTUwZWFhNTVkMjJmMDdjNDAwOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENhdGFsaW4gRW5hY2hlIDxjYXRhbGluLmVuYWNoZUB3aW5kcml2ZXIuY29tPgorRGF0ZTogV2VkLCAyMCBBcHIgMjAxNiAxNToxNzoxOCArMDMwMAorU3ViamVjdDogW1BBVENIXSBwaW5nZXI6IEZpeCBidWZmZXIgb3ZlcmZsb3cgaW4gSWNtcDY6OlJlY3YKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorQ1ZFOiBDVkUtMjAxNi0zOTQ3CisKK0F1dGhvcjogWXVyaXkgTS4gS2FtaW5za2l5IDx5dW1rYW1AZ21haWwuY29tPgorQ29tbWl0dGVyOiBBbW9zIEplZmZyaWVzIDxzcXVpZDNAdHJlZW5ldC5jby5uegorU2lnbmVkLW9mZi1ieTogQ2F0YWxpbiBFbmFjaGUgPGNhdGFsaW4uZW5hY2hlQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvaWNtcC9JY21wNi5jYyB8IDUgKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2ljbXAvSWNtcDYuY2MgYi9zcmMvaWNtcC9JY21wNi5jYworaW5kZXggNzk0YTUxYS4uZWU4NGI4MCAxMDA2NDQKKy0tLSBhL3NyYy9pY21wL0ljbXA2LmNjCisrKysgYi9zcmMvaWNtcC9JY21wNi5jYworQEAgLTI1Niw3ICsyNTYsNyBAQCBJY21wNjo6UmVjdih2b2lkKQorICAgICAjZGVmaW5lIGlwNl9ob3BzICAgIC8vIEhPUFMhISEgIChjYW4gaXQgYmUgdHJ1ZT8/KQorIAorICAgICAgICAgaXAgPSAoc3RydWN0IGlwNl9oZHIgKikgcGt0OworLSAgICAgICAgcGt0ICs9IHNpemVvZihpcDZfaGRyKTsKKysgICAgICAgIE5QOiBlY2hvIHNpemUgbmVlZHMgdG8gK3NpemVvZihpcDZfaGRyKTsKKyAKKyAgICAgZGVidWdzKDQyLCBEQkdfQ1JJVElDQUwsIEhFUkUgPDwgImlwNl9ueHQ9IiA8PCBpcC0+aXA2X254dCA8PAorICAgICAgICAgICAgICIsIGlwNl9wbGVuPSIgPDwgaXAtPmlwNl9wbGVuIDw8CitAQCAtMjY3LDcgKzI2Nyw2IEBAIEljbXA2OjpSZWN2KHZvaWQpCisgICAgICovCisgCisgICAgIGljbXA2aGVhZGVyID0gKHN0cnVjdCBpY21wNl9oZHIgKikgcGt0OworLSAgICBwa3QgKz0gc2l6ZW9mKGljbXA2X2hkcik7CisgCisgICAgIGlmIChpY21wNmhlYWRlci0+aWNtcDZfdHlwZSAhPSBJQ01QNl9FQ0hPX1JFUExZKSB7CisgCitAQCAtMjkyLDcgKzI5MSw3IEBAIEljbXA2OjpSZWN2KHZvaWQpCisgICAgICAgICByZXR1cm47CisgICAgIH0KKyAKKy0gICAgZWNobyA9IChpY21wRWNob0RhdGEgKikgcGt0OworKyAgICBlY2hvID0gKGljbXBFY2hvRGF0YSAqKSAocGt0ICsgc2l6ZW9mKGljbXA2X2hkcikpOworIAorICAgICBwcmVwbHkub3Bjb2RlID0gZWNoby0+b3Bjb2RlOworIAorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvc3F1aWQvZmlsZXMvRml4LWZsYXdlZC1keW5hbWljLWxkYi1saW5rLXRlc3QtaW4tY29uZmlndXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL2ZpbGVzL0ZpeC1mbGF3ZWQtZHluYW1pYy1sZGItbGluay10ZXN0LWluLWNvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMzA0YzVmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL2ZpbGVzL0ZpeC1mbGF3ZWQtZHluYW1pYy1sZGItbGluay10ZXN0LWluLWNvbmZpZ3VyZS5wYXRjaApAQCAtMCwwICsxLDQzIEBACitGcm9tIDBkNWIzMzdmZjVlZjdkZDQ4Zjk3MGYwOGJkOTVkNjMyNzkxN2NmZDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitNZXNzYWdlLUlkOiA8MGQ1YjMzN2ZmNWVmN2RkNDhmOTcwZjA4YmQ5NWQ2MzI3OTE3Y2ZkMS4xMzgyMzc1ODA3LmdpdC5KaW0uU29tZXJ2aWxsZUB3aW5kcml2ZXIuY29tPgorRnJvbTogSmltIFNvbWVydmlsbGUgPEppbS5Tb21lcnZpbGxlQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDIxIE9jdCAyMDEzIDEyOjUwOjQ0IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0ggMS8xXSBGaXggZmxhd2VkIGR5bmFtaWMgLWxkYiBsaW5rIHRlc3QgaW4gY29uZmlndXJlCisKK1RoZSB0ZXN0IHVzZXMgZGJvcGVuLCBidXQganVzdCBpZ25vcmVzIHRoZSBmYWN0Cit0aGF0IHRoaXMgZnVuY3Rpb24gbWF5IG5vdCBleGlzdCBpbiB0aGUgZGIgdmVyc2lvbgordXNlZC4gIFRoaXMgbGVhZHMgdG8gdGhlIGR5bmFtaWMgbGluayB0ZXN0IGZhaWxpbmcKK2FuZCB0aGUgY29uZmlndXJlIHNjcmlwdCBqdXN0IG1ha2luZyBhc3N1bXB0aW9ucworYWJvdXQgd2h5IGFuZCBzZXR0aW5nIHRoZSBuZWVkIGZvciAtbGRiIGluY29ycmVjdGx5LgorCitTaWduZWQtb2ZmLWJ5OiBKaW0gU29tZXJ2aWxsZSA8SmltLlNvbWVydmlsbGVAd2luZHJpdmVyLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8ICAgMTIgKysrKysrKysrKy0tCisgMSBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCA5NjJhNzQ4Li40MmU2YTkzIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0zMDUxLDggKzMwNTEsMTYgQEAgQUNfQ0hFQ0tfREVDTChkYm9wZW4sLCxbCisgI2luY2x1ZGUgPGRiLmg+CisgI2VuZGlmXSkKKyAKKy1kbmwgMS44NQorLVNRVUlEX0NIRUNLX0RCT1BFTl9ORUVEU19MSUJEQgorK2lmIHRlc3QgIngkYWNfY3ZfaGF2ZV9kZWNsX2Rib3BlbiIgPSAieHllcyI7IHRoZW4KKysgIGRubCAxLjg1CisrICBTUVVJRF9DSEVDS19EQk9QRU5fTkVFRFNfTElCREIKKytlbHNlCisrICAjIGRib3BlbiBpc24ndCB0aGVyZS4gU28gaW5zdGVhZCBvZiBydW5uaW5nIGEgY29tcGlsZS9saW5rIHRlc3QgdGhhdAorKyAgIyB1c2VzIGl0IGFuZCBpcyB0aHVzIGd1YXJhbnRlZWQgdG8gZmFpbCwgd2UganVzdCBhc3N1bWUgdGhhdCB3ZSB3aWxsCisrICAjIG5lZWQgdG8gbGluayBpbiB0aGUgZGIgbGlicmFyeSwgcmF0aGVyIHRoYW4gZmFicmljYXRlIHNvbWUgb3RoZXIKKysgICMgZHluYW1pYyBjb21waWxlL2xpbmsgdGVzdC4KKysgIGFjX2N2X2Rib3Blbl9saWJkYj0ieWVzIgorK2ZpCisgaWYgdGVzdCAieCRhY19jdl9kYm9wZW5fbGliZGIiID0gInh5ZXMiOyB0aGVuCisgICAgIExJQl9EQj0iLWxkYiIKKyBmaQorLS0gCisxLjcuNC4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9zcXVpZC9maWxlcy9TZXQtdXAtZm9yLWNyb3NzLWNvbXBpbGF0aW9uLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL2ZpbGVzL1NldC11cC1mb3ItY3Jvc3MtY29tcGlsYXRpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGNhMjc0NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9zcXVpZC9maWxlcy9TZXQtdXAtZm9yLWNyb3NzLWNvbXBpbGF0aW9uLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Zyb20gMTdlNWEyODY2N2Y2Njc4NTljNDhiZWUyNWU1NzVhMDcyZDM5ZWUxYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK01lc3NhZ2UtSWQ6IDwxN2U1YTI4NjY3ZjY2Nzg1OWM0OGJlZTI1ZTU3NWEwNzJkMzllZTFiLjEzODE5NTYxNzAuZ2l0LkppbS5Tb21lcnZpbGxlQHdpbmRyaXZlci5jb20+CitGcm9tOiBKaW0gU29tZXJ2aWxsZSA8SmltLlNvbWVydmlsbGVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgMTYgT2N0IDIwMTMgMTY6NDE6MDMgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSCAxLzFdIFNldCB1cCBmb3IgY3Jvc3MgY29tcGlsYXRpb24KKworU2V0IHRoZSBob3N0IGNvbXBpbGVyIHRvIEJVSUxEX0NYWCBzbworcHJvcGVyIGNyb3NzIGNvbXBpbGF0aW9uIGNhbiBvY2N1ci4KKworU2lnbmVkLW9mZi1ieTogSmltIFNvbWVydmlsbGUgPEppbS5Tb21lcnZpbGxlQHdpbmRyaXZlci5jb20+CistLS0KKyBjb25maWd1cmUuYWMgfCAgICAxICsKKyAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggYzJkMzAzMy4uZGRhOWVkOSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMTksNiArMTksNyBAQCBtNF9pbmNsdWRlKFthY2luY2x1ZGUvbGliLWNoZWNrcy5tNF0pCisgbTRfaW5jbHVkZShbYWNpbmNsdWRlL2F4X2N4eF9jb21waWxlX3N0ZGN4eF8weC5tNF0pCisgbTRfaW5jbHVkZShbYWNpbmNsdWRlL2F4X2N4eF8weF90eXBlcy5tNF0pCisgCisrSE9TVENYWD0iJEJVSUxEX0NYWCIKKyBQUkVTRVRfQ0ZMQUdTPSIkQ0ZMQUdTIgorIFBSRVNFVF9DWFhGTEFHUz0iJENYWEZMQUdTIgorIFBSRVNFVF9MREZMQUdTPSIkTERGTEFHUyIKKy0tIAorMS43LjQuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvc3F1aWQvZmlsZXMvU2tpcC1BQ19SVU5fSUZFTFNFLXRlc3RzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL2ZpbGVzL1NraXAtQUNfUlVOX0lGRUxTRS10ZXN0cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjZkY2M4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL2ZpbGVzL1NraXAtQUNfUlVOX0lGRUxTRS10ZXN0cy5wYXRjaApAQCAtMCwwICsxLDY0IEBACitTdWJqZWN0OiBbUEFUQ0hdIFNraXAgQUNfUlVOX0lGRUxTRSB0ZXN0cworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2Nyb3NzIGNvbXBpbGluZyBzcGVjaWZpY10KKworU3VjaCB0ZXN0cyBhcmUgbm90IHN1cHBvcnRlZCBpbiBhIGNyb3NzIGNvbXBpbGUKK2Vudmlyb25tZW50LiAgQ2hvb3NlIHNhbmUgZGVmYXVsdHMuCisKK1NpZ25lZC1vZmYtYnk6IEppbSBTb21lcnZpbGxlIDxKaW0uU29tZXJ2aWxsZUB3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIGFjaW5jbHVkZS9rcmI1Lm00ICAgICAgIHwgICAxMCArKysrKysrKystCisgYWNpbmNsdWRlL2xpYi1jaGVja3MubTQgfCAgICA4ICsrKysrKy0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYWNpbmNsdWRlL2tyYjUubTQgYi9hY2luY2x1ZGUva3JiNS5tNAoraW5kZXggOTQ2YmVhOC4uN2EwNzJhMiAxMDA2NDQKKy0tLSBhL2FjaW5jbHVkZS9rcmI1Lm00CisrKysgYi9hY2luY2x1ZGUva3JiNS5tNAorQEAgLTgyLDcgKzgyLDE1IEBAIG1haW4odm9pZCkKKyAKKyAgICAgICAgIHJldHVybiAwOworIH0KKy1dXSldLCBbIHNxdWlkX2N2X2Jyb2tlbl9oZWltZGFsX2tyYjVfaD15ZXMgXSwgWyBzcXVpZF9jdl9icm9rZW5faGVpbWRhbF9rcmI1X2g9bm8gXSkKKytdXSldLCBbIHNxdWlkX2N2X2Jyb2tlbl9oZWltZGFsX2tyYjVfaD15ZXMgXSwgWyBzcXVpZF9jdl9icm9rZW5faGVpbWRhbF9rcmI1X2g9bm8gXSwKKytbCisrICBkbmwgQ2FuJ3QgdGVzdCBpbiBjcm9zcyBjb21waWxlZCBlbnYgLSBzbyBhc3N1bWUgZ29vZAorKyAgc3F1aWRfY3ZfYnJva2VuX2hlaW1kYWxfa3JiNV9oPW5vCisrXSkKKysgICAgXSwKKysgICAgWworKyAgICAgZG5sIENhbid0IHRlc3QgaW4gY3Jvc3MgY29tcGlsZWQgZW52IC0gc28gYXNzdW1lIGdvb2QKKysgICAgIHNxdWlkX2N2X2Jyb2tlbl9oZWltZGFsX2tyYjVfaD1ubworICAgICBdKQorICAgXSkKKyBdKSBkbmwgU1FVSURfQ0hFQ0tfS1JCNV9IRUlNREFMX0JST0tFTl9LUkI1X0gKK2RpZmYgLS1naXQgYS9hY2luY2x1ZGUvbGliLWNoZWNrcy5tNCBiL2FjaW5jbHVkZS9saWItY2hlY2tzLm00CitpbmRleCAyYmY5OGVlLi41MGRiYTliIDEwMDY0NAorLS0tIGEvYWNpbmNsdWRlL2xpYi1jaGVja3MubTQKKysrKyBiL2FjaW5jbHVkZS9saWItY2hlY2tzLm00CitAQCAtMTI4LDcgKzEyOCw5IEBAIEFDX0RFRlVOKFtTUVVJRF9DSEVDS19PUEVOU1NMX0dFVENFUlRJRklDQVRFX1dPUktTXSxbCisgICAgQUNfREVGSU5FKFNRVUlEX1NTTEdFVENFUlRJRklDQVRFX0JVR0dZLCAxKQorICAgIEFDX01TR19SRVNVTFQoW3llc10pCisgICBdLAorLSAgW10pCisrICBbCisrICAgQUNfTVNHX1JFU1VMVChbc2tpcHBlZCAtIGNhbid0IHRlc3QgaW4gY3Jvc3MtY29tcGlsZWQgZW52XSkKKysgIF0pCisgCisgICBBQ19NU0dfQ0hFQ0tJTkcod2hldGhlciB0aGUgd29ya2Fyb3VuZCBmb3IgU1NMX2dldF9jZXJ0aWZpY2F0ZSB3b3JrcykKKyAgIEFDX1JVTl9JRkVMU0UoWworQEAgLTE1NCw3ICsxNTYsOSBAQCBBQ19ERUZVTihbU1FVSURfQ0hFQ0tfT1BFTlNTTF9HRVRDRVJUSUZJQ0FURV9XT1JLU10sWworICAgWworICAgIEFDX01TR19SRVNVTFQoW25vXSkKKyAgIF0sCistW10pCisrWworKyAgIEFDX01TR19SRVNVTFQoW3NraXBwZWQgLSBjYW4ndCB0ZXN0IGluIGNyb3NzLWNvbXBpbGVkIGVudl0pCisrXSkKKyAKKyBTUVVJRF9TVEFURV9ST0xMQkFDSyhjaGVja19TU0xfZ2V0X2NlcnRpZmljYXRlKQorIF0pCistLSAKKzEuNy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9zcXVpZC9maWxlcy9ydW4tcHRlc3QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvc3F1aWQvZmlsZXMvcnVuLXB0ZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlNzlhMjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvc3F1aWQvZmlsZXMvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCisjCittYWtlIC1DIHRlc3Qtc3VpdGUgLWsgcnVudGVzdC1URVNUUwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL2ZpbGVzL3NxdWlkLXVzZS1zZXJpYWwtdGVzdHMtY29uZmlnLW5lZWRlZC1ieS1wdGVzdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9zcXVpZC9maWxlcy9zcXVpZC11c2Utc2VyaWFsLXRlc3RzLWNvbmZpZy1uZWVkZWQtYnktcHRlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWUyY2VhYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9zcXVpZC9maWxlcy9zcXVpZC11c2Utc2VyaWFsLXRlc3RzLWNvbmZpZy1uZWVkZWQtYnktcHRlc3QucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSAyMTkyZmRiYzkwYjBmZjJkNTQwOGU4NzYzZGYyMDA2MjA4NzBkZWVhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMTMgT2N0IDIwMTQgMDE6MzI6MzcgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gc3F1aWQ6IHVzZSBzZXJpYWwtdGVzdHMgY29uZmlnIG5lZWRlZCBieSBwdGVzdAorCitwdGVzdCBuZWVkcyBidWlsZHRlc3QtVEVTVFMgYW5kIHJ1bnRlc3QtVEVTVFMgdGFyZ2V0cy4KK3NlcmlhbC10ZXN0cyBpcyByZXF1aXJlZCB0byBnZW5lcmF0ZSB0aG9zZSB0YXJnZXRzLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2RlZmF1bHQgYXV0b21ha2UgYmVoYXZpb3IgaW5jb21wYXRpYmxlIHdpdGggcHRlc3RdCisKK1NpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBjb25maWd1cmUuYWMgfCAgICAyICstCisgMSBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDZmNzE3MWYuLmFiOWI5M2UgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTMsNyArMyw3IEBAIEFDX1BSRVJFUSgyLjYxKQorIEFDX0NPTkZJR19IRUFERVJTKFtpbmNsdWRlL2F1dG9jb25mLmhdKQorIEFDX0NPTkZJR19BVVhfRElSKGNmZ2F1eCkKKyBBQ19DT05GSUdfU1JDRElSKFtzcmMvbWFpbi5jY10pCistQU1fSU5JVF9BVVRPTUFLRShbdGFyLXVzdGFyIG5vc3RkaW5jXSkKKytBTV9JTklUX0FVVE9NQUtFKFt0YXItdXN0YXIgbm9zdGRpbmMgc2VyaWFsLXRlc3RzXSkKKyBBQ19SRVZJU0lPTigkUmV2aXNpb24kKWRubAorIEFDX1BSRUZJWF9ERUZBVUxUKC91c3IvbG9jYWwvc3F1aWQpCisgQU1fTUFJTlRBSU5FUl9NT0RFCistLSAKKzEuNy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9zcXVpZC9maWxlcy92b2xhdGlsZXMuMDNfc3F1aWQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvc3F1aWQvZmlsZXMvdm9sYXRpbGVzLjAzX3NxdWlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5Njg2NWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvc3F1aWQvZmlsZXMvdm9sYXRpbGVzLjAzX3NxdWlkCkBAIC0wLDAgKzEsMiBAQAorIyA8dHlwZT4gPG93bmVyPiA8Z3JvdXA+IDxtb2RlPiA8cGF0aD4gPGxpbmtzb3VyY2U+CitkIHNxdWlkIHNxdWlkIDA3NTUgL3Zhci9ydW4vc3F1aWQgbm9uZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL3NxdWlkXzMuNS43LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL3NxdWlkXzMuNS43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUzNWFhZDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvc3F1aWQvc3F1aWRfMy41LjcuYmIKQEAgLTAsMCArMSw3OSBAQAorU1VNTUFSWSA9ICJBIGZ1bGx5LWZlYXR1cmVkIGh0dHAgcHJveHkgYW5kIHdlYi1jYWNoZSBkYWVtb24gZm9yIExpbnV4IgorREVTQ1JJUFRJT04gPSAiQSBmdWxseS1mZWF0dXJlZCBodHRwIHByb3h5IGFuZCB3ZWItY2FjaGUgZGFlbW9uIGZvciBMaW51eC4gXAorU3F1aWQgb2ZmZXJzIGEgcmljaCBhY2Nlc3MgY29udHJvbCwgYXV0aG9yaXphdGlvbiBhbmQgbG9nZ2luZyBlbnZpcm9ubWVudCB0byBcCitkZXZlbG9wIHdlYiBwcm94eSBhbmQgY29udGVudCBzZXJ2aW5nIGFwcGxpY2F0aW9ucy4gXAorU3F1aWQgb2ZmZXJzIGEgcmljaCBzZXQgb2YgdHJhZmZpYyBvcHRpbWl6YXRpb24gb3B0aW9ucywgbW9zdCBvZiB3aGljaCBhcmUgXAorZW5hYmxlZCBieSBkZWZhdWx0IGZvciBzaW1wbGVyIGluc3RhbGxhdGlvbiBhbmQgaGlnaCBwZXJmb3JtYW5jZS4gXAorIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5zcXVpZC1jYWNoZS5vcmciCitTRUNUSU9OID0gIndlYiIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorCitNQUpfVkVSID0gIiR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAxKX0iCitNSU5fVkVSID0gIiR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAyKX0iCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5zcXVpZC1jYWNoZS5vcmcvVmVyc2lvbnMvdiR7TUFKX1ZFUn0vJHtNSU5fVkVSfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9TZXQtdXAtZm9yLWNyb3NzLWNvbXBpbGF0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL1NraXAtQUNfUlVOX0lGRUxTRS10ZXN0cy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9GaXgtZmxhd2VkLWR5bmFtaWMtbGRiLWxpbmstdGVzdC1pbi1jb25maWd1cmUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc3F1aWQtdXNlLXNlcmlhbC10ZXN0cy1jb25maWctbmVlZGVkLWJ5LXB0ZXN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIGZpbGU6Ly92b2xhdGlsZXMuMDNfc3F1aWQgXAorICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTYtMzk0Ny5wYXRjaCBcCisiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM0OTJlMmQ2ZDMyZWM1YzFhYWQwZTA2MDlhMTQxY2U5IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2Vycm9ycy9DT1BZUklHSFQ7bWQ1PTBmZWQ4ZjE0NjJmNmZkYmM2MmJiNDMxYmNiNjE4ZjQ2IFwKKyAgICAgICAgICAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiMDZlNDNhYmM2N2FlZGNjMzkwM2EyNzgwZGUyMGEzZWQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjdkY2VjOGM1Y2I3ZjU2ODdhZmY0MjU2YTc1MjJmNjcwYzMxMGEzNTBjYzllOWMwZjI5ZjNmZDljZjg4ZDAxNyIKKworREVQRU5EUyA9ICJsaWJ0b29sIGtyYjUgb3BlbmxkYXAgZGIgY3lydXMtc2FzbCIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXNlcmFkZCBwdGVzdAorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSAtLW5vLWNyZWF0ZS1ob21lIC0taG9tZS1kaXIgL3Zhci9ydW4vc3F1aWQgLS1zaGVsbCAvYmluL2ZhbHNlIC0tdXNlci1ncm91cCBzcXVpZCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJhc2VfY29udGFpbnMoJ1RBUkdFVF9BUkNIJywgJ3Bvd2VycGMnLCAnbm9hdG9taWNzJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgJHtAYmFzZV9jb250YWlucygnVEFSR0VUX0FSQ0gnLCAnbWlwcycsICdub2F0b21pY3MnLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICIKK1BBQ0tBR0VDT05GSUdbbGlibmV0ZmlsdGVyLWNvbm50cmFja10gPSAiLS13aXRoLW5ldGZpbHRlci1jb25udHJhY2s9JHtpbmNsdWRlZGlyfSwgLS13aXRob3V0LW5ldGZpbHRlci1jb25udHJhY2ssIGxpYm5ldGZpbHRlci1jb25udHJhY2siCitQQUNLQUdFQ09ORklHW25vYXRvbWljc10gPSAic3F1aWRfY3ZfZ251X2F0b21pY3M9bm8sc3F1aWRfY3ZfZ251X2F0b21pY3M9eWVzLCwiCisKK0JBU0lDX0FVVEggPSAiREIgU0FTTCBMREFQIE5JUyIKK0RFUEVORFMgKz0gIiR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnbGlicGFtJywgJycsIGQpfSIKK0JBU0lDX0FVVEggKz0gIiR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnUEFNJywgJycsIGQpfSIKKworRVhUUkFfT0VDT05GICs9ICItLXdpdGgtZGVmYXVsdC11c2VyPXNxdWlkIC0tZW5hYmxlLWF1dGgtYmFzaWM9JyR7QkFTSUNfQVVUSH0nIgorZXhwb3J0IEJVSUxEQ1hYRkxBR1M9IiR7QlVJTERfQ1hYRkxBR1N9IgorCitURVNURElSID0gInRlc3Qtc3VpdGUiCitkb19jb21waWxlX3B0ZXN0KCkgeworICAgIG9lX3J1bm1ha2UgLUMgJHtURVNURElSfSBidWlsZHRlc3QtVEVTVFMKK30KKworZG9faW5zdGFsbF9wdGVzdCgpIHsKKyAgICBjcCAtcmYgJHtCfS8ke1RFU1RESVJ9ICR7RH0ke1BURVNUX1BBVEh9CisgICAgY3AgLXJmICR7U30vJHtURVNURElSfSAke0R9JHtQVEVTVF9QQVRIfQorCisgICAgIyBkbyBOT1QgbmVlZCB0byByZWJ1aWxkIE1ha2VmaWxlIGl0c2VsZgorICAgIHNlZCAtaSAncy9eTWFrZWZpbGU6LiokL01ha2VmaWxlOi8nICR7RH0ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0vTWFrZWZpbGUKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcworCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3ZvbGF0aWxlcy4wM19zcXVpZCAgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvdm9sYXRpbGVzLjAzX3NxdWlkCisJcm1kaXIgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bi8ke0JQTn0iCisJcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biIKK30KKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfSAke2RhdGFkaXJ9L2Vycm9ycyAke2RhdGFkaXJ9L2ljb25zIgorRklMRVNfJHtQTn0tZGJnICs9ICIvdXNyL3NyYy9kZWJ1ZyIKK0ZJTEVTXyR7UE59LWRvYyArPSAiJHtkYXRhZGlyfS8qLnR4dCIKKworUkRFUEVORFNfJHtQTn0gKz0gInBlcmwiCitSREVQRU5EU18ke1BOfS1wdGVzdCArPSAibWFrZSIKKworIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMzUxMjgvCitQTkJMQUNLTElTVFtzcXVpZF0gPz0gIkJST0tFTjogc3lzcm9vdHMvcWVtdWFybS91c3IvaW5jbHVkZS9saW51eC9pbi5oOjI4OjE2OiBlcnJvcjogcmVkZWNsYXJhdGlvbiBvZiAnSVBQUk9UT19JUCciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvYWRkLWVycm9yLWNoZWNrLWZvci1kaXNrLWZpbGxlZC11cC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy90ZnRwLWhwYS9maWxlcy9hZGQtZXJyb3ItY2hlY2stZm9yLWRpc2stZmlsbGVkLXVwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwMWMyMGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvYWRkLWVycm9yLWNoZWNrLWZvci1kaXNrLWZpbGxlZC11cC5wYXRjaApAQCAtMCwwICsxLDgxIEBACitGcm9tIGJkNTc3Mzk0N2FmNWNhODBjYTU0NmFkNTYyNTgxOGZjOTEyYmRkNjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiAiUm95LkxpIiA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFRodSwgMjIgQXVnIDIwMTMgMDg6NTY6MDkgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gdGZ0cC1ocGE6IGFkZCBlcnJvciBjaGVjayBmb3IgZGlzayBmaWxsZWQgdXAKKworVXBzdHJlYW0tc3RhdHVzOiBQZW5kaW5nIFtTZW50IHRvIGh0dHA6Ly93d3cuc3lzbGludXgub3JnL2FyY2hpdmVzLzIwMTMtQXVndXN0LzAyMDc2NS5odG1sXQorCitBZGQgZXJyb3IgY2hlY2sgd2hlbiB0aGUgd3JpdGUtYnVmZmVyIGlzIGZpbmFsbHkgZmx1c2hlZCB0byB0aGUgZmlsZSwKK3RoZSBjYWxsZXIgY2FuIGRldGVjdCBpZiB0aGUgZGlzayBmaWxsZWQgdXAgKG9yIGhhZCBhbiBpL28gZXJyb3IpIGFuZAorcmV0dXJuIGEgTk9TQVBDRSBuYWsgdG8gdGhlIG90aGVyIHNpZGUuCisKK1NpZ25lZC1vZmYtYnk6IE1pbmcgTGl1IDxtaW5nLmxpdUB3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogUm95LkxpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgY29tbW9uL3RmdHBzdWJzLmMgfCAgICA4ICsrKysrLS0tCisgdGZ0cGQvdGZ0cGQuYyAgICAgfCAgIDEyICsrKysrKysrKystLQorIDIgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbW1vbi90ZnRwc3Vicy5jIGIvY29tbW9uL3RmdHBzdWJzLmMKK2luZGV4IDhjOTk5ZjYuLmI0ZDRmZmUgMTAwNjQ0CistLS0gYS9jb21tb24vdGZ0cHN1YnMuYworKysrIGIvY29tbW9uL3RmdHBzdWJzLmMKK0BAIC0yMDYsMjAgKzIwNiwyMiBAQCBpbnQgd3JpdGVfYmVoaW5kKEZJTEUgKiBmaWxlLCBpbnQgY29udmVydCkKKyAKKyAgICAgcCA9IGJ1ZjsKKyAgICAgY3QgPSBjb3VudDsKKysgICAgY291bnQgPSAwOworICAgICB3aGlsZSAoY3QtLSkgeyAgICAgICAgICAgICAgLyogbG9vcCBvdmVyIHRoZSBidWZmZXIgKi8KKyAgICAgICAgIGMgPSAqcCsrOyAgICAgICAgICAgICAgIC8qIHBpY2sgdXAgYSBjaGFyYWN0ZXIgKi8KKyAgICAgICAgIGlmIChwcmV2Y2hhciA9PSAnXHInKSB7IC8qIGlmIHByZXYgY2hhciB3YXMgY3IgKi8KKyAgICAgICAgICAgICBpZiAoYyA9PSAnXG4nKSAgICAgIC8qIGlmIGhhdmUgY3IsbGYgdGhlbiBqdXN0ICovCistICAgICAgICAgICAgICAgIGZzZWVrKGZpbGUsIC0xLCAxKTsgICAgIC8qIHNtYXNoIGxmIG9uIHRvcCBvZiB0aGUgY3IgKi8KKysgICAgICAgICAgICAgICAgY291bnQgPSBjb3VudCAtIDE7CisgICAgICAgICAgICAgZWxzZSBpZiAoYyA9PSAnXDAnKSAvKiBpZiBoYXZlIGNyLG51bCB0aGVuICovCisgICAgICAgICAgICAgICAgIGdvdG8gc2tpcGl0OyAgICAvKiBqdXN0IHNraXAgb3ZlciB0aGUgcHV0YyAqLworICAgICAgICAgICAgIC8qIGVsc2UganVzdCBmYWxsIHRocm91Z2ggYW5kIGFsbG93IGl0ICovCisgICAgICAgICB9CistICAgICAgICBwdXRjKGMsIGZpbGUpOworKyAgICAgICAgYnVmW2NvdW50XSA9IGM7CisrICAgICAgICBjb3VudCArKzsKKyAgICAgICBza2lwaXQ6CisgICAgICAgICBwcmV2Y2hhciA9IGM7CisgICAgIH0KKy0gICAgcmV0dXJuIGNvdW50OworKyAgICByZXR1cm4gd3JpdGUoZmlsZW5vKGZpbGUpLCBidWYsIGNvdW50KTsKKyB9CisgCisgLyogV2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQsIGl0IGlzIHBvc3NpYmxlIHRoYXQgdGhlIHR3byBzaWRlcworZGlmZiAtLWdpdCBhL3RmdHBkL3RmdHBkLmMgYi90ZnRwZC90ZnRwZC5jCitpbmRleCAxODczZTcwLi5jMmFkYmRhIDEwMDY0NAorLS0tIGEvdGZ0cGQvdGZ0cGQuYworKysrIGIvdGZ0cGQvdGZ0cGQuYworQEAgLTE2ODEsNyArMTY4MSwxMSBAQCBzdGF0aWMgdm9pZCB0ZnRwX3JlY3ZmaWxlKGNvbnN0IHN0cnVjdCBmb3JtYXRzICpwZiwgc3RydWN0IHRmdHBoZHIgKm9hcCwgaW50IG9hYworICAgICAgICAgICAgIHN5c2xvZyhMT0dfV0FSTklORywgInRmdHBkOiB3cml0ZShhY2spOiAlbSIpOworICAgICAgICAgICAgIGdvdG8gYWJvcnQ7CisgICAgICAgICB9CistICAgICAgICB3cml0ZV9iZWhpbmQoZmlsZSwgcGYtPmZfY29udmVydCk7CisrICAgICAgICBpZih3cml0ZV9iZWhpbmQoZmlsZSwgcGYtPmZfY29udmVydCkgPCAwKSB7CisrICAgICAgICAgICAgbmFrKEVOT1NQQUNFLCBOVUxMKTsKKysgICAgICAgICAgICAodm9pZClmY2xvc2UoZmlsZSk7CisrICAgICAgICAgICAgZ290byBhYm9ydDsKKysgICAgICAgIH0KKyAgICAgICAgIGZvciAoOzspIHsKKyAgICAgICAgICAgICBuID0gcmVjdl90aW1lKHBlZXIsIGRwLCBQS1RTSVpFLCAwLCAmcl90aW1lb3V0KTsKKyAgICAgICAgICAgICBpZiAobiA8IDApIHsgICAgICAgIC8qIHJlYWxseT8gKi8KK0BAIC0xNzEyLDcgKzE3MTYsMTEgQEAgc3RhdGljIHZvaWQgdGZ0cF9yZWN2ZmlsZShjb25zdCBzdHJ1Y3QgZm9ybWF0cyAqcGYsIHN0cnVjdCB0ZnRwaGRyICpvYXAsIGludCBvYWMKKyAgICAgICAgICAgICBnb3RvIGFib3J0OworICAgICAgICAgfQorICAgICB9IHdoaWxlIChzaXplID09IHNlZ3NpemUpOworLSAgICB3cml0ZV9iZWhpbmQoZmlsZSwgcGYtPmZfY29udmVydCk7CisrICAgIGlmKHdyaXRlX2JlaGluZChmaWxlLCBwZi0+Zl9jb252ZXJ0KSA8IDApIHsKKysgICAgICAgIG5hayhFTk9TUEFDRSwgTlVMTCk7CisrICAgICAgICAodm9pZClmY2xvc2UoZmlsZSk7CisrICAgICAgICBnb3RvIGFib3J0OworKyAgICB9CisgICAgICh2b2lkKWZjbG9zZShmaWxlKTsgICAgICAgICAvKiBjbG9zZSBkYXRhIGZpbGUgKi8KKyAKKyAgICAgYXAtPnRoX29wY29kZSA9IGh0b25zKCh1X3Nob3J0KSBBQ0spOyAgICAgICAvKiBzZW5kIHRoZSAiZmluYWwiIGFjayAqLworLS0gCisxLjcuMTAuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvZGVmYXVsdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy90ZnRwLWhwYS9maWxlcy9kZWZhdWx0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkY2U3ZmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvZGVmYXVsdApAQCAtMCwwICsxLDMgQEAKKyNEZWZhdWx0cyBmb3IgdGZ0cGQtaHBhCitSVU5fREFFTU9OPSJ5ZXMiCitPUFRJT05TPSItbCAtcyAvdmFyL2xpYi90ZnRwYm9vdCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy90ZnRwLWhwYS9maWxlcy9maXgtd3JpdGluZy1lbXRweS1maWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL2ZpeC13cml0aW5nLWVtdHB5LWZpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDUyYWEwNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy90ZnRwLWhwYS9maWxlcy9maXgtd3JpdGluZy1lbXRweS1maWxlLnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKK1tQQVRDSF0gZml4IHRoZSBlbXB0eSBmaWxlIHdyaXR0aW5nCisKK1Vwc3RyZWFtLVN0YXR1czogcGVuZGluZworCitXaXRoIHRoZSBmZWF0dXJlIHRoYXQgY2hlY2tpbmcgdGhlIGRpc2sgZmlsbGVkIHVwLCB0aGUgcmV0dXJuCit2YWx1ZSBvZiBmdW5jdGlvbiB3cml0ZV9iZWhpbmQgd2FzIGNoZWNrZWQgYW5kIHVzZWQgdG8gZGV0ZWN0Cit0aGUgZGlzayBzdGF0dXMuIFdoaWxlIGZvciBlbXB0eSBmaWxlLCB3aXRob3V0IGRhdGEgYmVpbmcKK3dyaXR0ZW4sIHRoaXMgZnVuY3Rpb24gd2lsbCByZXR1cm4gLTEgdGh1cyB0aGUgZGlzayBmaWxsZWQgdXAKK2Vycm9yIHdhcyBtaXNzLXJhaXNlZC4KKworbWFrZSB3cml0ZV9iZWhpbmQgdG8gcmV0dXJuIDAgaWYgd3JpdHRlbiBmaWxlIGlzIGVtcHR5LCB0byBmaXgKK3RoZSB0aGlzIGJ1Zy4KKworU2lnbmVkLW9mZi1ieTogUm95LkxpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgY29tbW9uL3RmdHBzdWJzLmMgfCA1ICsrKystCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY29tbW9uL3RmdHBzdWJzLmMgYi9jb21tb24vdGZ0cHN1YnMuYworaW5kZXggYjRlYTNmMi4uOWY2Y2FmYyAxMDA2NDQKKy0tLSBhL2NvbW1vbi90ZnRwc3Vicy5jCisrKysgYi9jb21tb24vdGZ0cHN1YnMuYworQEAgLTE5OCw5ICsxOTgsMTIgQEAgaW50IHdyaXRlX2JlaGluZChGSUxFICogZmlsZSwgaW50IGNvbnZlcnQpCisgICAgIG5leHRvbmUgPSAhbmV4dG9uZTsgICAgICAgICAvKiBpbmNyIGZvciBuZXh0IHRpbWUgKi8KKyAgICAgYnVmID0gZHAtPnRoX2RhdGE7CisgCistICAgIGlmIChjb3VudCA8PSAwKQorKyAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgcmV0dXJuIC0xOyAgICAgICAgICAgICAgLyogbmFrIGxvZ2ljPyAqLworIAorKyAgICBpZiAoY291bnQgPT0gMCkKKysgICAgICAgIHJldHVybiAwOworKworICAgICBpZiAoY29udmVydCA9PSAwKQorICAgICAgICAgcmV0dXJuIHdyaXRlKGZpbGVubyhmaWxlKSwgYnVmLCBjb3VudCk7CisgCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy90ZnRwLWhwYS9maWxlcy9pbml0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL2luaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWUxODQzNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy90ZnRwLWhwYS9maWxlcy9pbml0CkBAIC0wLDAgKzEsMTA1IEBACisjISAvYmluL3NoCisjCisjIEF1dGhvcjoJSmFha2tvIE5pZW1pIDxsaWl3aUBpa2kuZmk+CisjIE1vZGlmaWVkIGZyb20gc2tlbGV0b24gZmlsZSBpbiBzYXJnZQorCisjIyMgQkVHSU4gSU5JVCBJTkZPCisjIFByb3ZpZGVzOiAgICAgICAgICB0ZnRwLWhwYQorIyBSZXF1aXJlZC1TdGFydDogICAgJGxvY2FsX2ZzICRyZW1vdGVfZnMgJHN5c2xvZyAkbmV0d29yaworIyBSZXF1aXJlZC1TdG9wOiAgICAgJGxvY2FsX2ZzICRyZW1vdGVfZnMgJHN5c2xvZyAkbmV0d29yaworIyBEZWZhdWx0LVN0YXJ0OiAgICAgMiAzIDQgNQorIyBEZWZhdWx0LVN0b3A6ICAgICAgMQorIyBTaG9ydC1EZXNjcmlwdGlvbjogSFBBJ3MgdGZ0cCBjbGllbnQgCisjIERlc2NyaXB0aW9uOiAgICAgICB0ZnRwIHNlcnZlciB0byBhbGxvdyBib290aW5nIGNsaWVudHMgd2hpY2ggc3VwcG9ydAorIyAgICAgICAgICAgICAgICAgICAgdGhlIFBYRSBwcm90b2NvbC4KKyMjIyBFTkQgSU5JVCBJTkZPCisKK3NldCAtZQorCitQQVRIPS91c3IvbG9jYWwvc2JpbjovdXNyL2xvY2FsL2Jpbjovc2JpbjovYmluOi91c3Ivc2JpbjovdXNyL2JpbgorREVTQz0iSFBBJ3MgdGZ0cGQiCitOQU1FPWluLnRmdHBkLWhwYQorU0NSSVBUTkFNRT0vZXRjL2luaXQuZC90ZnRwZC1ocGEKKworIyBSZWFkIGNvbmZpZyBmaWxlIGlmIGl0IGlzIHByZXNlbnQuCitpZiBbIC1yIC9ldGMvZGVmYXVsdC90ZnRwZC1ocGEgXQordGhlbgorCS4gL2V0Yy9kZWZhdWx0L3RmdHBkLWhwYQorZmkKKworREFFTU9OPS91c3Ivc2Jpbi8kTkFNRQorUElERklMRT0vdmFyL3J1bi8kTkFNRS5waWQKKworIyBHcmFjZWZ1bGx5IGV4aXQgaWYgdGhlIHBhY2thZ2UgaGFzIGJlZW4gcmVtb3ZlZC4KK3Rlc3QgLXggJERBRU1PTiB8fCBleGl0IDAKKworaWYgWyAiJFJVTl9EQUVNT04iICE9ICJ5ZXMiIF0gOyB0aGVuCisgICAgICAgICBlY2hvICJ0ZnRwZC1ocGEgZGlzYWJsZWQgaW4gL2V0Yy9kZWZhdWx0L3RmdHBkLWhwYSIKKwkgZXhpdCAwCitmaQorCisjCisjCUZ1bmN0aW9uIHRoYXQgc3RhcnRzIHRoZSBkYWVtb24vc2VydmljZS4KKyMKK2Rfc3RhcnQoKSB7CisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tZXhlYyAkREFFTU9OIC0tICRPUFRJT05TCit9CisKKyMKKyMJRnVuY3Rpb24gdGhhdCBzdG9wcyB0aGUgZGFlbW9uL3NlcnZpY2UuCisjCitkX3N0b3AoKSB7CisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tcXVpZXQgLS1uYW1lICROQU1FCit9CisKKyMKKyMJRnVuY3Rpb24gdGhhdCBzZW5kcyBhIFNJR0hVUCB0byB0aGUgZGFlbW9uL3NlcnZpY2UuCisjCitkX3JlbG9hZCgpIHsKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLW5hbWUgJE5BTUUgLS1zaWduYWwgMQorfQorCitjYXNlICIkMSIgaW4KKyAgc3RhcnQpCisJZWNobyAgIlN0YXJ0aW5nICRERVNDOiAkTkFNRSIKKwlkX3N0YXJ0CisJZWNobyAiLiIKKwk7OworICBzdG9wKQorCWVjaG8gICJTdG9wcGluZyAkREVTQzogJE5BTUUiCisJZF9zdG9wCisJZWNobyAiLiIKKwk7OworICAjcmVsb2FkKQorCSMKKwkjCUlmIHRoZSBkYWVtb24gY2FuIHJlbG9hZCBpdHMgY29uZmlndXJhdGlvbiB3aXRob3V0CisJIwlyZXN0YXJ0aW5nIChmb3IgZXhhbXBsZSwgd2hlbiBpdCBpcyBzZW50IGEgU0lHSFVQKSwKKwkjCXRoZW4gaW1wbGVtZW50IHRoYXQgaGVyZS4KKwkjCisJIwlJZiB0aGUgZGFlbW9uIHJlc3BvbmRzIHRvIGNoYW5nZXMgaW4gaXRzIGNvbmZpZyBmaWxlCisJIwlkaXJlY3RseSBhbnl3YXksIG1ha2UgdGhpcyBhbiAiZXhpdCAwIi4KKwkjCisJIyBlY2hvIC1uICJSZWxvYWRpbmcgJERFU0MgY29uZmlndXJhdGlvbi4uLiIKKwkjIGRfcmVsb2FkCisJIyBlY2hvICJkb25lLiIKKyAgIzs7CisgIHJlc3RhcnR8Zm9yY2UtcmVsb2FkKQorCSMKKwkjCUlmIHRoZSAicmVsb2FkIiBvcHRpb24gaXMgaW1wbGVtZW50ZWQsIG1vdmUgdGhlICJmb3JjZS1yZWxvYWQiCisJIwlvcHRpb24gdG8gdGhlICJyZWxvYWQiIGVudHJ5IGFib3ZlLiBJZiBub3QsICJmb3JjZS1yZWxvYWQiIGlzCisJIwlqdXN0IHRoZSBzYW1lIGFzICJyZXN0YXJ0Ii4KKwkjCisJZWNobyAiUmVzdGFydGluZyAkREVTQzogJE5BTUUiCisJZF9zdG9wCisJc2xlZXAgMQorCWRfc3RhcnQKKwllY2hvICIuIgorCTs7CisgICopCisJIyBlY2hvICJVc2FnZTogJFNDUklQVE5BTUUge3N0YXJ0fHN0b3B8cmVzdGFydHxyZWxvYWR8Zm9yY2UtcmVsb2FkfSIgPiYyCisJZWNobyAiVXNhZ2U6ICRTQ1JJUFROQU1FIHtzdGFydHxzdG9wfHJlc3RhcnR8Zm9yY2UtcmVsb2FkfSIgPiYyCisJZXhpdCAxCisJOzsKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvdGZ0cC0wLjQwLXJlbWFwLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAtMC40MC1yZW1hcC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjY5MDYwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAtMC40MC1yZW1hcC5wYXRjaApAQCAtMCwwICsxLDI1IEBACitQYXRjaCBvcmlnaW5hbGx5IGZyb20gRmVkb3JhCisKK2h0dHA6Ly9wa2dzLmZlZG9yYXByb2plY3Qub3JnL2NnaXQvdGZ0cC5naXQvCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitkaWZmIC11cCB0ZnRwLWhwYS0wLjQ5L3RmdHBkL3JlbWFwLmMuemVybyB0ZnRwLWhwYS0wLjQ5L3RmdHBkL3JlbWFwLmMKKy0tLSB0ZnRwLWhwYS0wLjQ5L3RmdHBkL3JlbWFwLmMuemVybwkyMDA4LTEwLTIwIDE4OjA4OjMxLjAwMDAwMDAwMCAtMDQwMAorKysrIHRmdHAtaHBhLTAuNDkvdGZ0cGQvcmVtYXAuYwkyMDA4LTExLTI1IDExOjQxOjA5LjAwMDAwMDAwMCAtMDUwMAorQEAgLTI4Niw2ICsyODYsNyBAQCBzdHJ1Y3QgcnVsZSAqcGFyc2VydWxlZmlsZShGSUxFICogZikKKyAgICAgaW50IGxpbmVubyA9IDA7CisgICAgIGludCBlcnIgPSAwOworIAorKyAgICBtZW1zZXQodGhpc19ydWxlLCAnXDAnLCBzaXplb2Yoc3RydWN0IHJ1bGUpKTsKKyAgICAgd2hpbGUgKGxpbmVubysrLCBmZ2V0cyhsaW5lLCBNQVhMSU5FLCBmKSkgeworICAgICAgICAgcnYgPSBwYXJzZWxpbmUobGluZSwgdGhpc19ydWxlLCBsaW5lbm8pOworICAgICAgICAgaWYgKHJ2IDwgMCkKK0BAIC0yOTQsNiArMjk1LDcgQEAgc3RydWN0IHJ1bGUgKnBhcnNlcnVsZWZpbGUoRklMRSAqIGYpCisgICAgICAgICAgICAgKmxhc3RfcnVsZSA9IHRoaXNfcnVsZTsKKyAgICAgICAgICAgICBsYXN0X3J1bGUgPSAmdGhpc19ydWxlLT5uZXh0OworICAgICAgICAgICAgIHRoaXNfcnVsZSA9IHRmbWFsbG9jKHNpemVvZihzdHJ1Y3QgcnVsZSkpOworKyAgICAgICAgICAgIG1lbXNldCh0aGlzX3J1bGUsICdcMCcsIHNpemVvZihzdHJ1Y3QgcnVsZSkpOworICAgICAgICAgfQorICAgICB9CisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvdGZ0cC0wLjQyLXRmdHBib290LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAtMC40Mi10ZnRwYm9vdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OGE4NmI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAtMC40Mi10ZnRwYm9vdC5wYXRjaApAQCAtMCwwICsxLDYwIEBACitQYXRjaCBvcmlnaW5hbGx5IGZyb20gRmVkb3JhCisKK2h0dHA6Ly9wa2dzLmZlZG9yYXByb2plY3Qub3JnL2NnaXQvdGZ0cC5naXQvCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitkaWZmIC11cCB0ZnRwLWhwYS0wLjQ4L3RmdHAteGluZXRkLnRmdHBib290IHRmdHAtaHBhLTAuNDgvdGZ0cC14aW5ldGQKKy0tLSB0ZnRwLWhwYS0wLjQ4L3RmdHAteGluZXRkLnRmdHBib290CTIwMDctMDEtMzEgMDA6NTE6MDUuMDAwMDAwMDAwICswMTAwCisrKysgdGZ0cC1ocGEtMC40OC90ZnRwLXhpbmV0ZAkyMDA4LTA1LTIwIDEyOjA1OjUzLjAwMDAwMDAwMCArMDIwMAorQEAgLTEwLDcgKzEwLDcgQEAgc2VydmljZSB0ZnRwCisgCXdhaXQJCQk9IHllcworIAl1c2VyCQkJPSByb290CisgCXNlcnZlcgkJCT0gL3Vzci9zYmluL2luLnRmdHBkCistCXNlcnZlcl9hcmdzCQk9IC1zIC90ZnRwYm9vdAorKwlzZXJ2ZXJfYXJncwkJPSAtcyAvdmFyL2xpYi90ZnRwYm9vdAorIAlkaXNhYmxlCQkJPSB5ZXMKKyAJcGVyX3NvdXJjZQkJPSAxMQorIAljcHMJCQk9IDEwMCAyCitkaWZmIC11cCB0ZnRwLWhwYS0wLjQ4L1JFQURNRS5zZWN1cml0eS50ZnRwYm9vdCB0ZnRwLWhwYS0wLjQ4L1JFQURNRS5zZWN1cml0eQorLS0tIHRmdHAtaHBhLTAuNDgvUkVBRE1FLnNlY3VyaXR5LnRmdHBib290CTIwMDgtMDUtMjkgMTc6MzY6MzIuMDAwMDAwMDAwICswMjAwCisrKysgdGZ0cC1ocGEtMC40OC9SRUFETUUuc2VjdXJpdHkJMjAwOC0wNS0yOSAxNzozNzoyMS4wMDAwMDAwMDAgKzAyMDAKK0BAIC0xNywxMCArMTcsMTAgQEAgcHJvYmFibHkgdGhlIGZvbGxvd2luZzoKKyAKKyAxLiBDcmVhdGUgYSBzZXBhcmF0ZSAidGZ0cGQiIHVzZXIgYW5kIGdyb3VwIG9ubHkgdXNlZCBmb3IgdGZ0cGQ7CisgMi4gSGF2ZSBhbGwgeW91ciBib290IGZpbGVzIGluIGEgc2luZ2xlIGRpcmVjdG9yeSB0cmVlICh1c3VhbGx5IGNhbGxlZCAKKy0gICAvdGZ0cGJvb3QpLgorLTMuIFNwZWNpZnkgIi1wIC11IHRmdHBkIC1zIC90ZnRwYm9vdCIgb24gdGhlIHRmdHBkIGNvbW1hbmQgbGluZTsgaWYKKysgICAvdmFyL2xpYi90ZnRwYm9vdCkuCisrMy4gU3BlY2lmeSAiLXAgLXUgdGZ0cGQgLXMgL3Zhci9saWIvdGZ0cGJvb3QiIG9uIHRoZSB0ZnRwZCBjb21tYW5kIGxpbmU7IGlmCisgICAgeW91IHdhbnQgY2xpZW50cyB0byBiZSBhYmxlIHRvIGNyZWF0ZSBmaWxlcyB1c2UKKy0gICAiLXAgLWMgLVUgMDAyIC11IHRmdHBkIC1zIC90ZnRwYm9vdCIgKHJlcGxhY2UgMDAyIHdpdGggd2hhdGV2ZXIKKysgICAiLXAgLWMgLVUgMDAyIC11IHRmdHBkIC1zIC92YXIvbGliL3RmdHBib290IiAocmVwbGFjZSAwMDIgd2l0aCB3aGF0ZXZlcgorICAgIHVtYXNrIGlzIGFwcHJvcHJpYXRlIGZvciB5b3VyIHNldHVwLikKKyAKKyAJICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorQEAgLTQwLDEyICs0MCwxMiBAQCBkaXJlY3RseS4gIFRodXMsIGlmIHlvdXIgL2V0Yy9pbmV0ZC5jb25mCisgbGluZSk6CisgCisgdGZ0cAlkZ3JhbQl1ZHAJd2FpdAlyb290CS91c3Ivc2Jpbi90Y3BkCistL3Vzci9zYmluL2luLnRmdHBkIC1zIC90ZnRwYm9vdCAtciBibGtzaXplCisrL3Vzci9zYmluL2luLnRmdHBkIC1zIC92YXIvbGliL3RmdHBib290IC1yIGJsa3NpemUKKyAKKyAuLi4gaXQncyBiZXR0ZXIgdG8gY2hhbmdlIHRvIC4uLgorIAorIHRmdHAJZGdyYW0JdWRwCXdhaXQJcm9vdAkvdXNyL3NiaW4vaW4udGZ0cGQKKy1pbi50ZnRwZCAtcyAvdGZ0cGJvb3QgLXIgYmxrc2l6ZQorK2luLnRmdHBkIC1zIC92YXIvbGliL3RmdHBib290IC1yIGJsa3NpemUKKyAKKyBZb3Ugc2hvdWxkIG1ha2Ugc3VyZSB0aGF0IHlvdSBhcmUgdXNpbmcgIndhaXQiIG9wdGlvbiBpbiB0ZnRwZDsgeW91CisgYWxzbyBuZWVkIHRvIGhhdmUgdGZ0cGQgc3Bhd25lZCBhcyByb290IGluIG9yZGVyIGZvciBjaHJvb3QgKC1zKSB0bworZGlmZiAtdXAgdGZ0cC1ocGEtMC40OC90ZnRwZC9zYW1wbGUucnVsZXMudGZ0cGJvb3QgdGZ0cC1ocGEtMC40OC90ZnRwZC9zYW1wbGUucnVsZXMKKy0tLSB0ZnRwLWhwYS0wLjQ4L3RmdHBkL3NhbXBsZS5ydWxlcy50ZnRwYm9vdAkyMDA4LTA1LTI5IDE3OjM4OjQ2LjAwMDAwMDAwMCArMDIwMAorKysrIHRmdHAtaHBhLTAuNDgvdGZ0cGQvc2FtcGxlLnJ1bGVzCTIwMDgtMDUtMjkgMTc6Mzg6MDUuMDAwMDAwMDAwICswMjAwCitAQCAtMzAsNSArMzAsNSBAQCByZwlcXAkJLwkJIyBDb252ZXJ0IGJhY2tzbGFzaGVzIHRvIHNsYXNoCisgcmcJXCMJCUAJCSMgQ29udmVydCBoYXNoIG1hcmtzIHRvIEAgc2lnbnMKKyByZwkvLi4vCQkvLi5uby4uLwkjIENvbnZlcnQgLy4uLyB0byAvLi5uby4uLworIGUJXm9rLwkJCQkjIFRoZXNlIGFyZSBhbHdheXMgb2sKKy1yCV5bXi9dCQkvdGZ0cGJvb3QvXDAJIyBDb252ZXJ0IG5vbi1hYnNvbHV0ZSBmaWxlcworK3IJXlteL10JCS92YXIvbGliL3RmdHBib290L1wwCSMgQ29udmVydCBub24tYWJzb2x1dGUgZmlsZXMKKyBhCVwucHZ0JAkJCQkjIFJlamVjdCByZXF1ZXN0cyBmb3IgcHJpdmF0ZSBmaWxlcwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAtMC40OS1jaGtfcmV0Y29kZXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvdGZ0cC0wLjQ5LWNoa19yZXRjb2Rlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YWUxYTg3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAtMC40OS1jaGtfcmV0Y29kZXMucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorUGF0Y2ggb3JpZ2luYWxseSBmcm9tIEZlZG9yYQorCitodHRwOi8vcGtncy5mZWRvcmFwcm9qZWN0Lm9yZy9jZ2l0L3RmdHAuZ2l0LworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworZGlmZiAtdXAgdGZ0cC1ocGEtMC40OS90ZnRwZC90ZnRwZC5jLmNoa19yZXRjb2RlcyB0ZnRwLWhwYS0wLjQ5L3RmdHBkL3RmdHBkLmMKKy0tLSB0ZnRwLWhwYS0wLjQ5L3RmdHBkL3RmdHBkLmMuY2hrX3JldGNvZGVzCTIwMDktMDEtMTUgMTU6Mjg6NTAuMDAwMDAwMDAwICswMTAwCisrKysgdGZ0cC1ocGEtMC40OS90ZnRwZC90ZnRwZC5jCTIwMDktMDEtMTUgMTU6MzE6MzYuMDAwMDAwMDAwICswMTAwCitAQCAtOTMyLDcgKzkzMiwxMCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgICAgICAgICAgICAgZXhpdChFWF9PU0VSUik7CisgICAgICAgICB9CisgI2lmZGVmIF9fQ1lHV0lOX18KKy0gICAgICAgIGNoZGlyKCIvIik7ICAgICAgICAgICAgIC8qIEN5Z3dpbiBjaHJvb3QoKSBidWcgd29ya2Fyb3VuZCAqLworKwkJCQlpZiAoY2hkaXIoIi8iKSA8IDApIHsJCQkvKiBDeWd3aW4gY2hyb290KCkgYnVnIHdvcmthcm91bmQgKi8KKysJCQkJCXN5c2xvZyhMT0dfRVJSLCAiY2hyb290OiAlbSIpOworKwkJCQkJZXhpdChFWF9PU0VSUik7CisrCQkJCX0KKyAjZW5kaWYKKyAgICAgfQorICNpZmRlZiBIQVZFX1NFVFJFR0lECmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvdGZ0cC0wLjQ5LWNtZF9hcmcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvdGZ0cC0wLjQ5LWNtZF9hcmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmI4Y2VhYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy90ZnRwLWhwYS9maWxlcy90ZnRwLTAuNDktY21kX2FyZy5wYXRjaApAQCAtMCwwICsxLDE2NSBAQAorUGF0Y2ggb3JpZ2luYWxseSBmcm9tIEZlZG9yYQorCitodHRwOi8vcGtncy5mZWRvcmFwcm9qZWN0Lm9yZy9jZ2l0L3RmdHAuZ2l0LworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworZGlmZiAtdXAgdGZ0cC1ocGEtMC40OS9jb25maWcuaC5jbWRfYXJnIHRmdHAtaHBhLTAuNDkvY29uZmlnLmgKKy0tLSB0ZnRwLWhwYS0wLjQ5L2NvbmZpZy5oLmNtZF9hcmcJMjAxMC0wNC0xOSAxNToyOToxMC41NjczMzE0NTQgKzAyMDAKKysrKyB0ZnRwLWhwYS0wLjQ5L2NvbmZpZy5oCTIwMTAtMDQtMjAgMDc6MzM6MDMuMTMzMjMyNzcyICswMjAwCitAQCAtMjkxLDYgKzI5MSw3IEBAIHR5cGVkZWYgaW50IHNvY2tsZW5fdDsKKyAvKiBQcm90b3R5cGVzIGZvciBsaWJ4dHJhIGZ1bmN0aW9ucyAqLworIAorIHZvaWQgKnhtYWxsb2Moc2l6ZV90KTsKKyt2b2lkICp4cmVhbGxvYyh2b2lkICosIHNpemVfdCk7CisgY2hhciAqeHN0cmR1cChjb25zdCBjaGFyICopOworIAorICNpZm5kZWYgSEFWRV9CU0RfU0lHTkFMCitkaWZmIC11cCB0ZnRwLWhwYS0wLjQ5L2NvbmZpZ3VyZS5pbi5jbWRfYXJnIHRmdHAtaHBhLTAuNDkvY29uZmlndXJlLmluCistLS0gdGZ0cC1ocGEtMC40OS9jb25maWd1cmUuaW4uY21kX2FyZwkyMDA4LTEwLTIxIDAwOjA4OjMxLjAwMDAwMDAwMCArMDIwMAorKysrIHRmdHAtaHBhLTAuNDkvY29uZmlndXJlLmluCTIwMTAtMDQtMTkgMTE6MDU6MTIuMzg3MzQwNjk4ICswMjAwCitAQCAtMTUyLDYgKzE1Miw3IEBAIE9CSlJPT1Q9YHB3ZGAKKyAKKyBYVFJBPWZhbHNlCisgUEFfU0VBUkNIX0xJQlNfQU5EX0FERCh4bWFsbG9jLCBpYmVydHkpCisrUEFfU0VBUkNIX0xJQlNfQU5EX0FERCh4cmVhbGxvYywgaWJlcnR5KQorIFBBX1NFQVJDSF9MSUJTX0FORF9BREQoeHN0cmR1cCwgaWJlcnR5KQorIFBBX1NFQVJDSF9MSUJTX0FORF9BREQoYnNkX3NpZ25hbCwgYnNkLCBic2RzaWduYWwpCisgUEFfU0VBUkNIX0xJQlNfQU5EX0FERChnZXRvcHRfbG9uZywgZ2V0b3B0LCBnZXRvcHRfbG9uZykKK2RpZmYgLXVwIHRmdHAtaHBhLTAuNDkvbGliL3hyZWFsbG9jLmMuY21kX2FyZyB0ZnRwLWhwYS0wLjQ5L2xpYi94cmVhbGxvYy5jCistLS0gdGZ0cC1ocGEtMC40OS9saWIveHJlYWxsb2MuYy5jbWRfYXJnCTIwMTAtMDQtMTkgMTE6MDU6MTIuMzg3MzQwNjk4ICswMjAwCisrKysgdGZ0cC1ocGEtMC40OS9saWIveHJlYWxsb2MuYwkyMDEwLTA0LTE5IDExOjA1OjEyLjM4NzM0MDY5OCArMDIwMAorQEAgLTAsMCArMSwyMCBAQAorKy8qCisrICogeHJlYWxsb2MuYworKyAqCisrICogU2ltcGxlIGVycm9yLWNoZWNraW5nIHZlcnNpb24gb2YgcmVhbGxvYygpCisrICoKKysgKi8KKysKKysjaW5jbHVkZSAiY29uZmlnLmgiCisrCisrdm9pZCAqeHJlYWxsb2Modm9pZCAqcHRyLCBzaXplX3Qgc2l6ZSkKKyt7CisrICAgIHZvaWQgKnAgPSByZWFsbG9jKHB0ciwgc2l6ZSk7CisrCisrICAgIGlmICghcCkgeworKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJPdXQgb2YgbWVtb3J5IVxuIik7CisrICAgICAgICBleGl0KDEyOCk7CisrICAgIH0KKysKKysgICAgcmV0dXJuIHA7CisrfQorZGlmZiAtdXAgdGZ0cC1ocGEtMC40OS90ZnRwL21haW4uYy5jbWRfYXJnIHRmdHAtaHBhLTAuNDkvdGZ0cC9tYWluLmMKKy0tLSB0ZnRwLWhwYS0wLjQ5L3RmdHAvbWFpbi5jLmNtZF9hcmcJMjAwOC0xMC0yMSAwMDowODozMS4wMDAwMDAwMDAgKzAyMDAKKysrKyB0ZnRwLWhwYS0wLjQ5L3RmdHAvbWFpbi5jCTIwMTAtMDQtMTkgMTE6MDU6MTIuMzg5MzI5MzM3ICswMjAwCitAQCAtODksMTEgKzg5LDE0IEBAIGludCBjb25uZWN0ZWQ7CisgY29uc3Qgc3RydWN0IG1vZGVzICptb2RlOworICNpZmRlZiBXSVRIX1JFQURMSU5FCisgY2hhciAqbGluZSA9IE5VTEw7CisrY2hhciAqcmVtb3RlX3B0aCA9IE5VTEw7CisgI2Vsc2UKKyBjaGFyIGxpbmVbTEJVRkxFTl07CisrY2hhciByZW1vdGVfcHRoW0xCVUZMRU5dOworICNlbmRpZgorIGludCBtYXJnYzsKKy1jaGFyICptYXJndlsyMF07CisrY2hhciAqKm1hcmd2OworK2ludCBzaXplb2ZfbWFyZ3Y9MDsKKyBjb25zdCBjaGFyICpwcm9tcHQgPSAidGZ0cD4gIjsKKyBzaWdqbXBfYnVmIHRvcGxldmVsOworIHZvaWQgaW50cihpbnQpOworQEAgLTM3OSw2ICszODIsMTAgQEAgc3RhdGljIHZvaWQgZ2V0bW9yZWFyZ3MoY29uc3QgY2hhciAqcGFydAorICAgICAgICAgZnJlZShsaW5lKTsKKyAgICAgICAgIGxpbmUgPSBOVUxMOworICAgICB9CisrICAgIGlmIChyZW1vdGVfcHRoKSB7CisrICAgICAgICBmcmVlKHJlbW90ZV9wdGgpOworKyAgICAgICAgcmVtb3RlX3B0aCA9IE5VTEw7CisrICAgIH0KKyAgICAgbGluZSA9IHhtYWxsb2MobGVuICsgZWxlbiArIDEpOworICAgICBzdHJjcHkobGluZSwgcGFydGlhbCk7CisgICAgIHN0cmNweShsaW5lICsgbGVuLCBlbGluZSk7CitAQCAtNTM1LDYgKzU0Miw3IEBAIHZvaWQgcHV0KGludCBhcmdjLCBjaGFyICphcmd2W10pCisgICAgIGludCBmZDsKKyAgICAgaW50IG4sIGVycjsKKyAgICAgY2hhciAqY3AsICp0YXJnOworKyAgICBsb25nIGRpcmxlbiwgbmFtZWxlbiwgbGFzdGxlbj0wOworIAorICAgICBpZiAoYXJnYyA8IDIpIHsKKyAgICAgICAgIGdldG1vcmVhcmdzKCJzZW5kICIsICIoZmlsZSkgIik7CitAQCAtNTg4LDkgKzU5NiwyMiBAQCB2b2lkIHB1dChpbnQgYXJnYywgY2hhciAqYXJndltdKQorICAgICB9CisgICAgIC8qIHRoaXMgYXNzdW1lcyB0aGUgdGFyZ2V0IGlzIGEgZGlyZWN0b3J5ICovCisgICAgIC8qIG9uIGEgcmVtb3RlIHVuaXggc3lzdGVtLiAgaG1tbW0uICAqLworLSAgICBjcCA9IHN0cmNocih0YXJnLCAnXDAnKTsKKy0gICAgKmNwKysgPSAnLyc7CisrICAgIGRpcmxlbiA9IHN0cmxlbih0YXJnKSsxOworKyNpZmRlZiBXSVRIX1JFQURMSU5FCisrICAgIHJlbW90ZV9wdGggPSB4bWFsbG9jKGRpcmxlbisxKTsKKysjZW5kaWYKKysgICAgc3RyY3B5KHJlbW90ZV9wdGgsIHRhcmcpOworKyAgICByZW1vdGVfcHRoW2Rpcmxlbi0xXSA9ICcvJzsKKysgICAgY3AgPSByZW1vdGVfcHRoICsgZGlybGVuOworICAgICBmb3IgKG4gPSAxOyBuIDwgYXJnYyAtIDE7IG4rKykgeworKyNpZmRlZiBXSVRIX1JFQURMSU5FCisrICAgICAgICBuYW1lbGVuID0gc3RybGVuKHRhaWwoYXJndltuXSkpICsgMTsKKysgICAgICAgIGlmIChuYW1lbGVuID4gbGFzdGxlbikgeworKyAgICAgICAgICAgIHJlbW90ZV9wdGggPSB4cmVhbGxvYyhyZW1vdGVfcHRoLCBkaXJsZW4gKyBuYW1lbGVuICsgMSk7CisrICAgICAgICAgICAgY3AgPSByZW1vdGVfcHRoICsgZGlybGVuOworKyAgICAgICAgICAgIGxhc3RsZW4gPSBuYW1lbGVuOworKyAgICAgICAgfQorKyNlbmRpZgorICAgICAgICAgc3RyY3B5KGNwLCB0YWlsKGFyZ3Zbbl0pKTsKKyAgICAgICAgIGZkID0gb3Blbihhcmd2W25dLCBPX1JET05MWSB8IG1vZGUtPm1fb3BlbmZsYWdzKTsKKyAgICAgICAgIGlmIChmZCA8IDApIHsKK0BAIC02MDAsOSArNjIxLDkgQEAgdm9pZCBwdXQoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAgICAgICAgIH0KKyAgICAgICAgIGlmICh2ZXJib3NlKQorICAgICAgICAgICAgIHByaW50ZigicHV0dGluZyAlcyB0byAlczolcyBbJXNdXG4iLAorLSAgICAgICAgICAgICAgICAgICBhcmd2W25dLCBob3N0bmFtZSwgdGFyZywgbW9kZS0+bV9tb2RlKTsKKysgICAgICAgICAgICAgICAgICAgYXJndltuXSwgaG9zdG5hbWUsIHJlbW90ZV9wdGgsIG1vZGUtPm1fbW9kZSk7CisgICAgICAgICBzYV9zZXRfcG9ydCgmcGVlcmFkZHIsIHBvcnQpOworLSAgICAgICAgdGZ0cF9zZW5kZmlsZShmZCwgdGFyZywgbW9kZS0+bV9tb2RlKTsKKysgICAgICAgIHRmdHBfc2VuZGZpbGUoZmQsIHJlbW90ZV9wdGgsIG1vZGUtPm1fbW9kZSk7CisgICAgIH0KKyB9CisgCitAQCAtODAxLDYgKzgyMiwxMCBAQCBzdGF0aWMgdm9pZCBjb21tYW5kKHZvaWQpCisgICAgICAgICAgICAgZnJlZShsaW5lKTsKKyAgICAgICAgICAgICBsaW5lID0gTlVMTDsKKyAgICAgICAgIH0KKysgICAgICAgIGlmIChyZW1vdGVfcHRoKSB7CisrICAgICAgICAgICAgZnJlZShyZW1vdGVfcHRoKTsKKysgICAgICAgICAgICByZW1vdGVfcHRoID0gTlVMTDsKKysgICAgICAgIH0KKyAgICAgICAgIGxpbmUgPSByZWFkbGluZShwcm9tcHQpOworICAgICAgICAgaWYgKCFsaW5lKQorICAgICAgICAgICAgIGV4aXQoMCk7ICAgICAgICAgICAgLyogRU9GICovCitAQCAtODcyLDcgKzg5NywxMyBAQCBzdHJ1Y3QgY21kICpnZXRjbWQoY2hhciAqbmFtZSkKKyBzdGF0aWMgdm9pZCBtYWtlYXJndih2b2lkKQorIHsKKyAgICAgY2hhciAqY3A7CistICAgIGNoYXIgKiphcmdwID0gbWFyZ3Y7CisrICAgIGNoYXIgKiphcmdwOworKworKyAgICBpZiAoIXNpemVvZl9tYXJndikgeworKyAgICAgICAgc2l6ZW9mX21hcmd2ID0gMjA7CisrICAgICAgICBtYXJndiA9IHhtYWxsb2Moc2l6ZW9mX21hcmd2ICogc2l6ZW9mKGNoYXIgKikpOworKyAgICB9CisrICAgIGFyZ3AgPSBtYXJndjsKKyAKKyAgICAgbWFyZ2MgPSAwOworICAgICBmb3IgKGNwID0gbGluZTsgKmNwOykgeworQEAgLTg4Miw2ICs5MTMsMTEgQEAgc3RhdGljIHZvaWQgbWFrZWFyZ3Yodm9pZCkKKyAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICphcmdwKysgPSBjcDsKKyAgICAgICAgIG1hcmdjICs9IDE7CisrICAgICAgICBpZiAobWFyZ2MgPT0gc2l6ZW9mX21hcmd2KSB7CisrICAgICAgICAgICAgc2l6ZW9mX21hcmd2ICs9IDIwOworKyAgICAgICAgICAgIG1hcmd2ID0geHJlYWxsb2MobWFyZ3YsIHNpemVvZl9tYXJndiAqIHNpemVvZihjaGFyICopKTsKKysgICAgICAgICAgICBhcmdwID0gbWFyZ3YgKyBtYXJnYzsKKysgICAgICAgIH0KKyAgICAgICAgIHdoaWxlICgqY3AgIT0gJ1wwJyAmJiAhaXNzcGFjZSgqY3ApKQorICAgICAgICAgICAgIGNwKys7CisgICAgICAgICBpZiAoKmNwID09ICdcMCcpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvdGZ0cC1ocGEtMC4zOS10emZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy90ZnRwLWhwYS9maWxlcy90ZnRwLWhwYS0wLjM5LXR6Zml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1MTEwZWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvdGZ0cC1ocGEtMC4zOS10emZpeC5wYXRjaApAQCAtMCwwICsxLDI0IEBACitQYXRjaCBvcmlnaW5hbGx5IGZyb20gRmVkb3JhCisKK2h0dHA6Ly9wa2dzLmZlZG9yYXByb2plY3Qub3JnL2NnaXQvdGZ0cC5naXQvCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitkaWZmIC11cCB0ZnRwLWhwYS0wLjQ5L3RmdHBkL3RmdHBkLmMudHpmaXggdGZ0cC1ocGEtMC40OS90ZnRwZC90ZnRwZC5jCistLS0gdGZ0cC1ocGEtMC40OS90ZnRwZC90ZnRwZC5jLnR6Zml4CTIwMDgtMTAtMjAgMTg6MDg6MzEuMDAwMDAwMDAwIC0wNDAwCisrKysgdGZ0cC1ocGEtMC40OS90ZnRwZC90ZnRwZC5jCTIwMDgtMTEtMjUgMTE6NDU6MjcuMDAwMDAwMDAwIC0wNTAwCitAQCAtMzUwLDYgKzM1MCwxNCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgICAgIGNvbnN0IGNoYXIgKnBpZGZpbGUgPSBOVUxMOworICAgICB1X3Nob3J0IHRwX29wY29kZTsKKyAKKysgICAgdGltZV90IG15X3RpbWUgPSAwOworKyAgICBzdHJ1Y3QgdG0qIHBfdG07CisrICAgIGNoYXIgZW52dHpbMTBdOworKyAgICBteV90aW1lID0gdGltZShOVUxMKTsKKysgICAgcF90bSA9IGxvY2FsdGltZSgmbXlfdGltZSk7CisrICAgIHNucHJpbnRmKGVudnR6LCBzaXplb2YoZW52dHopIC0gMSwgIlVUQyUrZCIsIChwX3RtLT50bV9nbXRvZmYgKiAtMSkvMzYwMCk7CisrICAgIHNldGVudigiVFoiLCBlbnZ0eiwgMCk7CisrCisgICAgIC8qIGJhc2VuYW1lKCkgaXMgd2F5IHRvbyBtdWNoIG9mIGEgcGFpbiBmcm9tIGEgcG9ydGFiaWxpdHkgc3RhbmRwb2ludCAqLworIAorICAgICBwID0gc3RycmNocihhcmd2WzBdLCAnLycpOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAtaHBhLTAuNDktZm9ydGlmeS1zdHJjcHktY3Jhc2gucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvdGZ0cC1ocGEtMC40OS1mb3J0aWZ5LXN0cmNweS1jcmFzaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOGQyYjViCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAtaHBhLTAuNDktZm9ydGlmeS1zdHJjcHktY3Jhc2gucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorUGF0Y2ggb3JpZ2luYWxseSBmcm9tIEZlZG9yYQorCitodHRwOi8vcGtncy5mZWRvcmFwcm9qZWN0Lm9yZy9jZ2l0L3RmdHAuZ2l0LworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworZGlmZiAtdXJOIHRmdHAtaHBhLTAuNDkub3JpZy90ZnRwL3RmdHAuYyB0ZnRwLWhwYS0wLjQ5L3RmdHAvdGZ0cC5jCistLS0gdGZ0cC1ocGEtMC40OS5vcmlnL3RmdHAvdGZ0cC5jCTIwMDgtMTAtMjAgMTg6MDg6MzEuMDAwMDAwMDAwIC0wNDAwCisrKysgdGZ0cC1ocGEtMC40OS90ZnRwL3RmdHAuYwkyMDA5LTA4LTA1IDA5OjQ3OjE4LjA3MjU4NTg0OCAtMDQwMAorQEAgLTI3OSwxNSArMjc5LDE2IEBACisgICAgICAgICAgICAgc3RydWN0IHRmdHBoZHIgKnRwLCBjb25zdCBjaGFyICptb2RlKQorIHsKKyAgICAgY2hhciAqY3A7CisrICAgIHNpemVfdCBsZW47CisgCisgICAgIHRwLT50aF9vcGNvZGUgPSBodG9ucygodV9zaG9ydCkgcmVxdWVzdCk7CisgICAgIGNwID0gKGNoYXIgKikmKHRwLT50aF9zdHVmZik7CistICAgIHN0cmNweShjcCwgbmFtZSk7CistICAgIGNwICs9IHN0cmxlbihuYW1lKTsKKy0gICAgKmNwKysgPSAnXDAnOworLSAgICBzdHJjcHkoY3AsIG1vZGUpOworLSAgICBjcCArPSBzdHJsZW4obW9kZSk7CistICAgICpjcCsrID0gJ1wwJzsKKysgICAgbGVuID0gc3RybGVuKG5hbWUpICsgMTsKKysgICAgbWVtY3B5KGNwLCBuYW1lLCBsZW4pOworKyAgICBjcCArPSBsZW47CisrICAgIGxlbiA9IHN0cmxlbihtb2RlKSArIDE7CisrICAgIG1lbWNweShjcCwgbW9kZSwgbGVuKTsKKysgICAgY3AgKz0gbGVuOworICAgICByZXR1cm4gKGNwIC0gKGNoYXIgKil0cCk7CisgfQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAtaHBhLTAuNDktc3RhdHMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvdGZ0cC1ocGEtMC40OS1zdGF0cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MjBjZDY5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAtaHBhLTAuNDktc3RhdHMucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorUGF0Y2ggb3JpZ2luYWxseSBmcm9tIEZlZG9yYQorCitodHRwOi8vcGtncy5mZWRvcmFwcm9qZWN0Lm9yZy9jZ2l0L3RmdHAuZ2l0LworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworZGlmZiAtdXAgdGZ0cC1ocGEtMC40OS90ZnRwL3RmdHAuYy5zdGF0cyB0ZnRwLWhwYS0wLjQ5L3RmdHAvdGZ0cC5jCistLS0gdGZ0cC1ocGEtMC40OS90ZnRwL3RmdHAuYy5zdGF0cwkyMDExLTAxLTAzIDE1OjM4OjM0LjIxNzkxODA2NyArMDEwMAorKysrIHRmdHAtaHBhLTAuNDkvdGZ0cC90ZnRwLmMJMjAxMS0wMS0wMyAxNTozODozNy40OTg5MTcwMTQgKzAxMDAKK0BAIC00MDAsOCArNDAwLDggQEAgc3RhdGljIHZvaWQgcHJpbnRzdGF0cyhjb25zdCBjaGFyICpkaXJlYworIHsKKyAgICAgZG91YmxlIGRlbHRhOworIAorLSAgICBkZWx0YSA9ICh0c3RvcC50dl9zZWMgKyAodHN0b3AudHZfdXNlYyAvIDEwMDAwMC4wKSkgLQorLSAgICAgICAgKHRzdGFydC50dl9zZWMgKyAodHN0YXJ0LnR2X3VzZWMgLyAxMDAwMDAuMCkpOworKyAgICBkZWx0YSA9ICh0c3RvcC50dl9zZWMgKyAodHN0b3AudHZfdXNlYyAvIDEwMDAwMDAuMCkpIC0KKysgICAgICAgICh0c3RhcnQudHZfc2VjICsgKHRzdGFydC50dl91c2VjIC8gMTAwMDAwMC4wKSk7CisgICAgIGlmICh2ZXJib3NlKSB7CisgICAgICAgICBwcmludGYoIiVzICVsdSBieXRlcyBpbiAlLjFmIHNlY29uZHMiLCBkaXJlY3Rpb24sIGFtb3VudCwgZGVsdGEpOworICAgICAgICAgcHJpbnRmKCIgWyUuMGYgYml0L3NdIiwgKGFtb3VudCAqIDguKSAvIGRlbHRhKTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy90ZnRwLWhwYS9maWxlcy90ZnRwLWhwYS01LjItcGt0aW5mby5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy90ZnRwLWhwYS9maWxlcy90ZnRwLWhwYS01LjItcGt0aW5mby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMTYzNDlkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAtaHBhLTUuMi1wa3RpbmZvLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK1BhdGNoIG9yaWdpbmFsbHkgZnJvbSBGZWRvcmEKKworaHR0cDovL3BrZ3MuZmVkb3JhcHJvamVjdC5vcmcvY2dpdC90ZnRwLmdpdC8KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK2RpZmYgLXVwIHRmdHAtaHBhLTUuMi90ZnRwZC9yZWN2ZnJvbS5jLnRlc3QgdGZ0cC1ocGEtNS4yL3RmdHBkL3JlY3Zmcm9tLmMKKy0tLSB0ZnRwLWhwYS01LjIvdGZ0cGQvcmVjdmZyb20uYy50ZXN0CTIwMTEtMTItMTEgMjM6MTM6NTIuMDAwMDAwMDAwICswMTAwCisrKysgdGZ0cC1ocGEtNS4yL3RmdHBkL3JlY3Zmcm9tLmMJMjAxMi0wMS0wNCAxMDowNToxNy44NTIwNDIyNTYgKzAxMDAKK0BAIC0xNDksMTYgKzE0OSwxNiBAQCBteXJlY3Zmcm9tKGludCBzLCB2b2lkICpidWYsIGludCBsZW4sIHVuCisgCisgICAgIC8qIFRyeSB0byBlbmFibGUgZ2V0dGluZyB0aGUgcmV0dXJuIGFkZHJlc3MgKi8KKyAjaWZkZWYgSVBfUkVDVkRTVEFERFIKKy0gICAgaWYgKGZyb20tPnNhX2ZhbWlseSA9PSBBRl9JTkVUKQorKyAgICBpZiAoZnJvbS0+c2FfZmFtaWx5ID09IEFGX0lORVQgfHwgIWZyb20tPnNhX2ZhbWlseSkKKyAgICAgICAgIHNldHNvY2tvcHQocywgSVBQUk9UT19JUCwgSVBfUkVDVkRTVEFERFIsICZvbiwgc2l6ZW9mKG9uKSk7CisgI2VuZGlmCisgI2lmZGVmIElQX1BLVElORk8KKy0gICAgaWYgKGZyb20tPnNhX2ZhbWlseSA9PSBBRl9JTkVUKQorKyAgICBpZiAoZnJvbS0+c2FfZmFtaWx5ID09IEFGX0lORVQgfHwgIWZyb20tPnNhX2ZhbWlseSkKKyAgICAgICAgIHNldHNvY2tvcHQocywgSVBQUk9UT19JUCwgSVBfUEtUSU5GTywgJm9uLCBzaXplb2Yob24pKTsKKyAjZW5kaWYKKyAjaWZkZWYgSEFWRV9JUFY2CisgI2lmZGVmIElQVjZfUkVDVlBLVElORk8KKy0gICAgaWYgKGZyb20tPnNhX2ZhbWlseSA9PSBBRl9JTkVUNikKKysgICAgaWYgKGZyb20tPnNhX2ZhbWlseSA9PSBBRl9JTkVUNiB8fCAhZnJvbS0+c2FfZmFtaWx5KQorICAgICAgICAgc2V0c29ja29wdChzLCBJUFBST1RPX0lQVjYsIElQVjZfUkVDVlBLVElORk8sICZvbiwgc2l6ZW9mKG9uKSk7CisgI2VuZGlmCisgI2VuZGlmCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvdGZ0cC1ocGEtYnVnLWZpeC1vbi1zZXBhcmF0ZWQtQ1ItYW5kLUxGLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAtaHBhLWJ1Zy1maXgtb24tc2VwYXJhdGVkLUNSLWFuZC1MRi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZTIyMGVjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAtaHBhLWJ1Zy1maXgtb24tc2VwYXJhdGVkLUNSLWFuZC1MRi5wYXRjaApAQCAtMCwwICsxLDM4IEBACitGcm9tIDZlZDFlYjg4MjlkZWUzNTFiNTRlMTgzYmM0MmMwMDdjYjMwNmFhYTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBaaGFuZyBYaWFvIDx4aWFvLnpoYW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDExIEp1biAyMDE0IDE0OjAxOjE2ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIHRmdHAtaHBhOiBidWcgZml4IG9uIHNlcGFyYXRlZCBDUiBhbmQgTEYKKworSW4gYXNjaWkgbW9kZSwgaWYgdGhlIENSIGFuZCBMRiB3YXMgc2VwYXJhdGVkIGludG8gZGlmZmVyZW50IHRyYW5zZmVyCitibG9ja3MsIExGIHdpbGwgYmUganVzdCBkcm9wcGVkIGluc3RlYWQgb2YgcmVwbGFjaW5nIHRoZSBwcmV2aW91cyBDUi4KK0FkZCBhIGNoZWNraW5nIG9uIHRoZSBmaXJzdCBjaGFyYWN0ZXIgdG8gZml4IGl0LgorCitVcHN0cmVhbS1TdGF0dXM6IHBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogWmhhbmcgWGlhbyA8eGlhby56aGFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgY29tbW9uL3RmdHBzdWJzLmMgfCA4ICsrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvY29tbW9uL3RmdHBzdWJzLmMgYi9jb21tb24vdGZ0cHN1YnMuYworaW5kZXggYjRkNGZmZS4uYjRlYTNmMiAxMDA2NDQKKy0tLSBhL2NvbW1vbi90ZnRwc3Vicy5jCisrKysgYi9jb21tb24vdGZ0cHN1YnMuYworQEAgLTIwNyw2ICsyMDcsMTQgQEAgaW50IHdyaXRlX2JlaGluZChGSUxFICogZmlsZSwgaW50IGNvbnZlcnQpCisgICAgIHAgPSBidWY7CisgICAgIGN0ID0gY291bnQ7CisgICAgIGNvdW50ID0gMDsKKysKKysgICAgLyogQ2hlY2sgdGhlIGZpcnN0IGNoYXJhY3RlciB0b2dldGhlciB3aXRoIHByZXZjaGFyICovCisrICAgIGMgPSAqcDsKKysgICAgaWYgKChwcmV2Y2hhciA9PSAnXHInKSAmJiAoYyA9PSAnXG4nKSkgeworKyAgICAgICAgbHNlZWsoZmlsZW5vKGZpbGUpLCAtMSwgU0VFS19DVVIpOworKyAgICAgICAgY291bnQrKzsKKysgICAgfQorKworICAgICB3aGlsZSAoY3QtLSkgeyAgICAgICAgICAgICAgLyogbG9vcCBvdmVyIHRoZSBidWZmZXIgKi8KKyAgICAgICAgIGMgPSAqcCsrOyAgICAgICAgICAgICAgIC8qIHBpY2sgdXAgYSBjaGFyYWN0ZXIgKi8KKyAgICAgICAgIGlmIChwcmV2Y2hhciA9PSAnXHInKSB7IC8qIGlmIHByZXYgY2hhciB3YXMgY3IgKi8KKy0tIAorMS44LjUuMi4yMzMuZzkzMmY3ZTQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAteGluZXRkIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAteGluZXRkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlNzAxNjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvdGZ0cC14aW5ldGQKQEAgLTAsMCArMSwxOCBAQAorIyBkZWZhdWx0OiBvZmYKKyMgZGVzY3JpcHRpb246IFRoZSB0ZnRwIHNlcnZlciBzZXJ2ZXMgZmlsZXMgdXNpbmcgdGhlIHRyaXZpYWwgZmlsZSB0cmFuc2ZlciBcCisjCXByb3RvY29sLiAgVGhlIHRmdHAgcHJvdG9jb2wgaXMgb2Z0ZW4gdXNlZCB0byBib290IGRpc2tsZXNzIFwKKyMJd29ya3N0YXRpb25zLCBkb3dubG9hZCBjb25maWd1cmF0aW9uIGZpbGVzIHRvIG5ldHdvcmstYXdhcmUgcHJpbnRlcnMsIFwKKyMJYW5kIHRvIHN0YXJ0IHRoZSBpbnN0YWxsYXRpb24gcHJvY2VzcyBmb3Igc29tZSBvcGVyYXRpbmcgc3lzdGVtcy4KK3NlcnZpY2UgdGZ0cAoreworCXNvY2tldF90eXBlCQk9IGRncmFtCisJcHJvdG9jb2wJCT0gdWRwCisJd2FpdAkJCT0geWVzCisJdXNlcgkJCT0gcm9vdAorCXNlcnZlcgkJCT0gL3Vzci9zYmluL2luLnRmdHBkLWhwYQorCXNlcnZlcl9hcmdzCQk9IC1zIC92YXIvbGliL3RmdHBib290CisJZGlzYWJsZQkJCT0geWVzCisJcGVyX3NvdXJjZQkJPSAxMQorCWNwcwkJCQk9IDEwMCAyCisJZmxhZ3MJCQk9IElQdjYKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy90ZnRwLWhwYS90ZnRwLWhwYV81LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvdGZ0cC1ocGFfNS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4ODQyZTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvdGZ0cC1ocGFfNS4yLmJiCkBAIC0wLDAgKzEsNzYgQEAKK1NVTU1BUlkgICAgICAgID0gIkNsaWVudCBmb3IgdGhlIFRyaXZpYWwgRmlsZSBUcmFuc2ZlciBQcm90b2NvbCIKK0RFU0NSSVBUSU9OICAgID0gXAorIlRoZSBUcml2aWFsIEZpbGUgVHJhbnNmZXIgUHJvdG9jb2wgKFRGVFApIGlzIG5vcm1hbGx5IHVzZWQgb25seSBmb3IgXAorYm9vdGluZyBkaXNrbGVzcyB3b3Jrc3RhdGlvbnMuICBUaGUgdGZ0cCBwYWNrYWdlIHByb3ZpZGVzIHRoZSB1c2VyICAgXAoraW50ZXJmYWNlIGZvciBURlRQLCB3aGljaCBhbGxvd3MgdXNlcnMgdG8gdHJhbnNmZXIgZmlsZXMgdG8gYW5kIGZyb20gYSBcCityZW1vdGUgbWFjaGluZS4gIFRoaXMgcHJvZ3JhbSBhbmQgVEZUUCBwcm92aWRlIHZlcnkgbGl0dGxlIHNlY3VyaXR5LCBcCithbmQgc2hvdWxkIG5vdCBiZSBlbmFibGVkIHVubGVzcyBpdCBpcyBleHByZXNzbHkgbmVlZGVkLiIKK0RFUEVORFMgPSAidGNwLXdyYXBwZXJzIHJlYWRsaW5lIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkJTRC00LUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL01DT05GSUcuaW47YmVnaW5saW5lPTE7ZW5kbGluZT05O21kNT1jMjhiYTVhZGI0MzA0MWZhZTQ2MjlkYjA1YzgzY2JkZCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly90ZnRwL3RmdHAuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTMyO21kNT05ODhjMWNiYTk5ZDcwODU4YTI2Y2Q4NzcyMDk4NTdmNCIKKworCitTUkNfVVJJID0gImh0dHA6Ly9rZXJuZWwub3JnL3B1Yi9zb2Z0d2FyZS9uZXR3b3JrL3RmdHAvdGZ0cC1ocGEvdGZ0cC1ocGEtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly90ZnRwLTAuNDAtcmVtYXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdGZ0cC0wLjQyLXRmdHBib290LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3RmdHAtMC40OS1jaGtfcmV0Y29kZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdGZ0cC0wLjQ5LWNtZF9hcmcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdGZ0cC1ocGEtMC4zOS10emZpeC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly90ZnRwLWhwYS0wLjQ5LWZvcnRpZnktc3RyY3B5LWNyYXNoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3RmdHAtaHBhLTAuNDktc3RhdHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdGZ0cC1ocGEtNS4yLXBrdGluZm8ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZGVmYXVsdCBcCisgICAgICAgICAgIGZpbGU6Ly9pbml0IFwKKyAgICAgICAgICAgZmlsZTovL2FkZC1lcnJvci1jaGVjay1mb3ItZGlzay1maWxsZWQtdXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdGZ0cC1ocGEtYnVnLWZpeC1vbi1zZXBhcmF0ZWQtQ1ItYW5kLUxGLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC13cml0aW5nLWVtdHB5LWZpbGUucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDZjOWJkMjBiYmZmYTYyZjc5Yzk1OGM3Yjk5YWFjMjEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGE5Zjg4ZDRjMWMwMjY4N2I0ODUzYjAyYWI1ZGQ4Nzc5ZDRkZTRmZmRiOWIyZTVjOTMzMjg0MTMwNGQxYTI2OSIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHVwZGF0ZS1yYy5kIHVwZGF0ZS1hbHRlcm5hdGl2ZXMKKworZXhwb3J0IEFSID0gIiR7SE9TVF9QUkVGSVh9YXIgY3EiCisKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLW9wdGlvbi1jaGVja2luZyIKKworIyBjb25maWd1cmUuaW4gaGFzIGVycm9ycworZG9fY29uZmlndXJlKCkgeworICAgIG9lX3J1bmNvbmYKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgSU5TVEFMTFJPT1Q9JHtEfQorICAgIG12ICR7RH0ke2JpbmRpcn0vdGZ0cCAke0R9JHtiaW5kaXJ9L3RmdHAtaHBhCisgICAgbXYgJHtEfSR7c2JpbmRpcn0vaW4udGZ0cGQgJHtEfSR7c2JpbmRpcn0vaW4udGZ0cGQtaHBhCisKKyAgICBpbnN0YWxsIC1tIDc1NSAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9saWIvdGZ0cGJvb3QvCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC90ZnRwZC1ocGEKKyAgICBzZWQgLWkgJ3MhL3Vzci9zYmluLyEke3NiaW5kaXJ9LyFnJyAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvdGZ0cGQtaHBhCisgICAgc2VkIC1pICdzIS9ldGMvISR7c3lzY29uZmRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC90ZnRwZC1ocGEKKyAgICBzZWQgLWkgJ3MhL3Zhci8hJHtsb2NhbHN0YXRlZGlyfS8hZycgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3RmdHBkLWhwYQorICAgIHNlZCAtaSAncyFeUEFUSD0uKiFQQVRIPSR7YmFzZV9zYmluZGlyfToke2Jhc2VfYmluZGlyfToke3NiaW5kaXJ9OiR7YmluZGlyfSEnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC90ZnRwZC1ocGEKKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdAorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2RlZmF1bHQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC90ZnRwZC1ocGEKK30KKworRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9IgorCitQQUNLQUdFUyArPSAidGZ0cC1ocGEtc2VydmVyIgorU1VNTUFSWV90ZnRwLWhwYS1zZXJ2ZXIgPSAiU2VydmVyIGZvciB0aGUgVHJpdmlhbCBGaWxlIFRyYW5zZmVyIFByb3RvY29sIgorRklMRVNfdGZ0cC1ocGEtc2VydmVyID0gIiR7c2JpbmRpcn0gJHtzeXNjb25mZGlyfSAke2xvY2Fsc3RhdGVkaXJ9IgorQ09ORkZJTEVTX3RmdHAtaHBhLXNlcnZlciA9ICIke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdGZ0cGQtaHBhIgorCitJTklUU0NSSVBUX1BBQ0tBR0VTID0gInRmdHAtaHBhLXNlcnZlciIKK0lOSVRTQ1JJUFRfTkFNRSA9ICJ0ZnRwZC1ocGEiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCAyMCAyIDMgNCA1IC4gc3RvcCAyMCAxIC4iCisKK0FMVEVSTkFUSVZFXyR7UE59ID0gInRmdHAiCitBTFRFUk5BVElWRV9UQVJHRVRbdGZ0cF0gPSAiJHtiaW5kaXJ9L3RmdHAtaHBhIgorQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiNTAiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92YmxhZGUvZmlsZXMvY3Jvc3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdmJsYWRlL2ZpbGVzL2Nyb3NzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyZWIxNTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdmJsYWRlL2ZpbGVzL2Nyb3NzLnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKK1JlbW92ZSBDQyBhbmQgQ0ZMQUdTIHZhbHVlcywgd2Ugc2V0IHRoZXNlIG91cnNlbHZlcworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ10KKworZGlmZiAtdXJOIHZibGFkZS0xOS5vbGQvL21ha2VmaWxlIHZibGFkZS0xOS8vbWFrZWZpbGUKKy0tLSB2YmxhZGUtMTkub2xkLy9tYWtlZmlsZQkyMDA4LTEwLTA4IDIyOjA3OjQwLjAwMDAwMDAwMCArMDEwMAorKysrIHZibGFkZS0xOS8vbWFrZWZpbGUJMjAwOC0xMS0xOCAxOTowNzo1MS43MDAzNjUwMjkgKzAwMDAKK0BAIC05LDggKzksNiBAQAorIG1hbmRpciA9ICR7c2hhcmVkaXJ9L21hbgorIAorIE89YW9lLm8gYnBmLm8gJHtQTEFURk9STX0ubyBhdGEubworLUNGTEFHUyArPSAtV2FsbCAtZyAtTzIKKy1DQyA9IGdjYworIAorIHZibGFkZTogJE8KKyAJJHtDQ30gLW8gdmJsYWRlICRPCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdmJsYWRlL3ZibGFkZV8yMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92YmxhZGUvdmJsYWRlXzIwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzNTdlNDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdmJsYWRlL3ZibGFkZV8yMC5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIlZpcnR1YWwgRXRoZXJEcml2ZSBibGFkZSBBb0UgdGFyZ2V0IgorU0VDVElPTiA9ICJhZG1pbiIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9hb2V0b29scy8ke0JQTn0tJHtQVn0udGd6IFwKKyAgICAgICBmaWxlOi8vY3Jvc3MucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzYzgwZTRhNmJjN2Q2NmFlMGMyMzViODhjYjQ0YmQ1OSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjOGZlMmZjNGYyZmJhOGUwN2U1Y2ZkZjE3MzM1OTgyNTg0ZWVmMmNkNWM3OGJmOGIxZGI5M2YyYjU2ZTcxMjFkIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1EIC1tIDA3NTUgJHtTfS92YmxhZGUgJHtEfS8ke3NiaW5kaXJ9L3ZibGFkZQorICAgIGluc3RhbGwgLUQgLW0gMDc1NSAke1N9L3ZibGFkZWQgJHtEfS8ke3NiaW5kaXJ9L3ZibGFkZWQKKyAgICBpbnN0YWxsIC1EIC1tIDA2NDQgJHtTfS92YmxhZGUuOCAke0R9LyR7bWFuZGlyfS9tYW44L3ZibGFkZS44Cit9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvZmlsZXMvY2hhbmdlLXNlY3VyZV9jaHJvb3RfZGlyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC9maWxlcy9jaGFuZ2Utc2VjdXJlX2Nocm9vdF9kaXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWYyODYwZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvZmlsZXMvY2hhbmdlLXNlY3VyZV9jaHJvb3RfZGlyLnBhdGNoCkBAIC0wLDAgKzEsNTUgQEAKK3ZzZnRwZDogY2hhbmdlIGRlZmF1bHQgdmFsdWUgb2Ygc2VjdXJlX2Nocm9vdF9kaXIKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK0NoYW5nZSBzZWN1cmVfY2hyb290X2RpciBwb2ludGluZyB0byBhIHZvbGF0aWxlIGRpcmVjdG9yeS4KKworU2lnbmVkLW9mZi1ieTogTWluZyBMaXUgPG1pbmcubGl1QHdpbmRyaXZlci5jb20+CistLS0KKyBJTlNUQUxMICAgICAgIHwgICAgNiArKystLS0KKyB0dW5hYmxlcy5jICAgIHwgICAgMiArLQorIHZzZnRwZC5jb25mLjUgfCAgICAyICstCisgMyBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLXVycE4gYS9JTlNUQUxMIGIvSU5TVEFMTAorLS0tIGEvSU5TVEFMTAkyMDEzLTA5LTEzIDEwOjIzOjU3LjUwNDk3MjM5NyArMDgwMAorKysrIGIvSU5TVEFMTAkyMDEzLTA5LTEzIDEwOjI1OjI1LjY2NDk3MTc3OSArMDgwMAorQEAgLTI3LDExICsyNywxMSBAQCB1c2VyIGluIGNhc2UgaXQgZG9lcyBub3QgYWxyZWFkeSBleGlzdC4gCisgW3Jvb3RAbG9jYWxob3N0IHJvb3RdIyB1c2VyYWRkIG5vYm9keQorIHVzZXJhZGQ6IHVzZXIgbm9ib2R5IGV4aXN0cworIAorLTJiKSB2c2Z0cGQgbmVlZHMgdGhlIChlbXB0eSkgZGlyZWN0b3J5IC91c3Ivc2hhcmUvZW1wdHkgaW4gdGhlIGRlZmF1bHQKKysyYikgdnNmdHBkIG5lZWRzIHRoZSAoZW1wdHkpIGRpcmVjdG9yeSAvdmFyL3J1bi92c2Z0cGQvZW1wdHkgaW4gdGhlIGRlZmF1bHQKKyBjb25maWd1cmF0aW9uLiBBZGQgdGhpcyBkaXJlY3RvcnkgaW4gY2FzZSBpdCBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0LiBlLmcuOgorIAorLVtyb290QGxvY2FsaG9zdCByb290XSMgbWtkaXIgL3Vzci9zaGFyZS9lbXB0eS8KKy1ta2RpcjogY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgYC91c3Ivc2hhcmUvZW1wdHknOiBGaWxlIGV4aXN0cworK1tyb290QGxvY2FsaG9zdCByb290XSMgbWtkaXIgL3Zhci9ydW4vdnNmdHBkL2VtcHR5LworK21rZGlyOiBjYW5ub3QgY3JlYXRlIGRpcmVjdG9yeSBgL3Zhci9ydW4vdnNmdHBkL2VtcHR5JzogRmlsZSBleGlzdHMKKyAKKyAyYykgRm9yIGFub255bW91cyBGVFAsIHlvdSB3aWxsIG5lZWQgdGhlIHVzZXIgImZ0cCIgdG8gZXhpc3QsIGFuZCBoYXZlIGEKKyB2YWxpZCBob21lIGRpcmVjdG9yeSAod2hpY2ggaXMgTk9UIG93bmVkIG9yIHdyaXRhYmxlIGJ5IHRoZSB1c2VyICJmdHAiKS4KK2RpZmYgLXVycE4gYS90dW5hYmxlcy5jIGIvdHVuYWJsZXMuYworLS0tIGEvdHVuYWJsZXMuYwkyMDEzLTA5LTEzIDEwOjI2OjI5LjU1NDk3MjgxNyArMDgwMAorKysrIGIvdHVuYWJsZXMuYwkyMDEzLTA5LTEzIDEwOjI3OjE4LjEwNDk3MjIxMCArMDgwMAorQEAgLTI1NCw3ICsyNTQsNyBAQCB0dW5hYmxlc19sb2FkX2RlZmF1bHRzKCkKKyAgIC8qIC1ydy0tLS0tLS0gKi8KKyAgIHR1bmFibGVfY2hvd25fdXBsb2FkX21vZGUgPSAwNjAwOworIAorLSAgaW5zdGFsbF9zdHJfc2V0dGluZygiL3Vzci9zaGFyZS9lbXB0eSIsICZ0dW5hYmxlX3NlY3VyZV9jaHJvb3RfZGlyKTsKKysgIGluc3RhbGxfc3RyX3NldHRpbmcoIi92YXIvcnVuL3ZzZnRwZC9lbXB0eSIsICZ0dW5hYmxlX3NlY3VyZV9jaHJvb3RfZGlyKTsKKyAgIGluc3RhbGxfc3RyX3NldHRpbmcoImZ0cCIsICZ0dW5hYmxlX2Z0cF91c2VybmFtZSk7CisgICBpbnN0YWxsX3N0cl9zZXR0aW5nKCJyb290IiwgJnR1bmFibGVfY2hvd25fdXNlcm5hbWUpOworICAgaW5zdGFsbF9zdHJfc2V0dGluZygiL3Zhci9sb2cveGZlcmxvZyIsICZ0dW5hYmxlX3hmZXJsb2dfZmlsZSk7CitkaWZmIC11cnBOIGEvdnNmdHBkLmNvbmYuNSBiL3ZzZnRwZC5jb25mLjUKKy0tLSBhL3ZzZnRwZC5jb25mLjUJMjAxMy0wOS0xMyAxMDowOTozMy43NzQ5NzI0NjIgKzA4MDAKKysrKyBiL3ZzZnRwZC5jb25mLjUJMjAxMy0wOS0xMyAxMDoxMDo0MS45MTQ5NzE5ODkgKzA4MDAKK0BAIC05NjksNyArOTY5LDcgQEAgVGhpcyBvcHRpb24gc2hvdWxkIGJlIHRoZSBuYW1lIG9mIGEgZGlyZQorIGRpcmVjdG9yeSBzaG91bGQgbm90IGJlIHdyaXRhYmxlIGJ5IHRoZSBmdHAgdXNlci4gVGhpcyBkaXJlY3RvcnkgaXMgdXNlZAorIGFzIGEgc2VjdXJlIGNocm9vdCgpIGphaWwgYXQgdGltZXMgdnNmdHBkIGRvZXMgbm90IHJlcXVpcmUgZmlsZXN5c3RlbSBhY2Nlc3MuCisgCistRGVmYXVsdDogL3Vzci9zaGFyZS9lbXB0eQorK0RlZmF1bHQ6IC92YXIvcnVuL3ZzZnRwZC9lbXB0eQorIC5UUAorIC5CIHNzbF9jaXBoZXJzCisgVGhpcyBvcHRpb24gY2FuIGJlIHVzZWQgdG8gc2VsZWN0IHdoaWNoIFNTTCBjaXBoZXJzIHZzZnRwZCB3aWxsIGFsbG93IGZvcgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC9maWxlcy9pbml0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC9maWxlcy9pbml0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjcyYWRmMGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL2ZpbGVzL2luaXQKQEAgLTAsMCArMSw1MCBAQAorIyEvYmluL3NoCisjIyMgQkVHSU4gSU5JVCBJTkZPCisjIFByb3ZpZGVzOiB2c2Z0cGQKKyMgRGVmYXVsdC1TdGFydDogIDIzNDUKKyMgRGVmYXVsdC1TdG9wOiAgIDAxNgorIyBTaG9ydC1EZXNjcmlwdGlvbjogVmVyeSBTZWN1cmUgRnRwIERhZW1vbgorIyBEZXNjcmlwdGlvbjogdnNmdHBkIGlzIGEgVmVyeSBTZWN1cmUgRlRQIGRhZW1vbi4gSXQgd2FzIHdyaXR0ZW4gY29tcGxldGVseSBmcm9tCisjICAgICAgICAgICAgICBzY3JhdGNoCisjIyMgRU5EIElOSVQgSU5GTworCitEQUVNT049L3Vzci9zYmluL3ZzZnRwZAorTkFNRT12c2Z0cGQKK0RFU0M9IkZUUCBTZXJ2ZXIiCitBUkdTPSIiCitGVFBESVI9L3Zhci9saWIvZnRwCisKK3Rlc3QgLWYgJERBRU1PTiB8fCBleGl0IDAKKworc2V0IC1lCisKK2Nhc2UgIiQxIiBpbgorICAgIHN0YXJ0KQorICAgICAgICBlY2hvIC1uICIqIHN0YXJ0aW5nICRERVNDOiAkTkFNRS4uLiAiCisgICAgICAgIGlmICEgdGVzdCAtZCAkRlRQRElSOyB0aGVuCisgICAgICAgICAgICBta2RpciAtcCAkRlRQRElSL2luCisgICAgICAgICAgICBjaG93biBmdHAgJEZUUERJUiAtUgorICAgICAgICAgICAgY2htb2QgYS13ICRGVFBESVIKKyAgICAgICAgICAgIGNobW9kIHUrdyAkRlRQRElSL2luCisgICAgICAgIGZpCisgICAgICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC1TIC1iIC14ICREQUVNT04gLS0gJEFSR1MKKyAgICAgICAgZWNobyAiZG9uZS4iCisgICAgICAgIDs7CisgICAgc3RvcCkKKyAgICAgICAgZWNobyAtbiAiKiBzdG9wcGluZyAkREVTQzogJE5BTUUuLi4gIgorICAgICAgICBzdGFydC1zdG9wLWRhZW1vbiAtSyAteCAkREFFTU9OCisgICAgICAgIGVjaG8gImRvbmUuIgorICAgICAgICA7OworICAgIHJlc3RhcnQpCisgICAgICAgIGVjaG8gIiogcmVzdGFydGluZyAkREVTQzogJE5BTUUuLi4gIgorICAgICAgICAkMCBzdG9wCisgICAgICAgICQwIHN0YXJ0CisgICAgICAgIGVjaG8gImRvbmUuIgorICAgICAgICA7OworICAgICopCisgICAgICAgIGVjaG8gIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxyZXN0YXJ0fSIKKyAgICAgICAgZXhpdCAxCisgICAgICAgIDs7Citlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC9maWxlcy92b2xhdGlsZXMuOTlfdnNmdHBkIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC9maWxlcy92b2xhdGlsZXMuOTlfdnNmdHBkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhNjAyYmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL2ZpbGVzL3ZvbGF0aWxlcy45OV92c2Z0cGQKQEAgLTAsMCArMSBAQAorZCByb290IHJvb3QgMDc1NSAvdmFyL3J1bi92c2Z0cGQvZW1wdHkgbm9uZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC9maWxlcy92c2Z0cGQuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvZmlsZXMvdnNmdHBkLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmIxOTI5NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvZmlsZXMvdnNmdHBkLmNvbmYKQEAgLTAsMCArMSwxMzkgQEAKKyMgRXhhbXBsZSBjb25maWcgZmlsZSAvZXRjL3ZzZnRwZC5jb25mCisjCisjIFRoZSBkZWZhdWx0IGNvbXBpbGVkIGluIHNldHRpbmdzIGFyZSBmYWlybHkgcGFyYW5vaWQuIFRoaXMgc2FtcGxlIGZpbGUKKyMgbG9vc2VucyB0aGluZ3MgdXAgYSBiaXQsIHRvIG1ha2UgdGhlIGZ0cCBkYWVtb24gbW9yZSB1c2FibGUuCisjIFBsZWFzZSBzZWUgdnNmdHBkLmNvbmYuNSBmb3IgYWxsIGNvbXBpbGVkIGluIGRlZmF1bHRzLgorIworIyBSRUFEIFRISVM6IFRoaXMgZXhhbXBsZSBmaWxlIGlzIE5PVCBhbiBleGhhdXN0aXZlIGxpc3Qgb2YgdnNmdHBkIG9wdGlvbnMuCisjIFBsZWFzZSByZWFkIHRoZSB2c2Z0cGQuY29uZi41IG1hbnVhbCBwYWdlIHRvIGdldCBhIGZ1bGwgaWRlYSBvZiB2c2Z0cGQncworIyBjYXBhYmlsaXRpZXMuCisKKyMgcnVuIHN0YW5kYWxvbmUKK2xpc3Rlbj1ZRVMKKworIyBBbGxvdyBhbm9ueW1vdXMgRlRQPyAoQmV3YXJlIC0gYWxsb3dlZCBieSBkZWZhdWx0IGlmIHlvdSBjb21tZW50IHRoaXMgb3V0KS4KK2Fub255bW91c19lbmFibGU9Tk8KKyMKKyMgVW5jb21tZW50IHRoaXMgdG8gYWxsb3cgbG9jYWwgdXNlcnMgdG8gbG9nIGluLgorbG9jYWxfZW5hYmxlPVlFUworIworIyBVbmNvbW1lbnQgdGhpcyB0byBlbmFibGUgYW55IGZvcm0gb2YgRlRQIHdyaXRlIGNvbW1hbmQuCit3cml0ZV9lbmFibGU9WUVTCisjCisjIERlZmF1bHQgdW1hc2sgZm9yIGxvY2FsIHVzZXJzIGlzIDA3Ny4gWW91IG1heSB3aXNoIHRvIGNoYW5nZSB0aGlzIHRvIDAyMiwKKyMgaWYgeW91ciB1c2VycyBleHBlY3QgdGhhdCAoMDIyIGlzIHVzZWQgYnkgbW9zdCBvdGhlciBmdHBkJ3MpCitsb2NhbF91bWFzaz0wMjIKKyMKKyMgVW5jb21tZW50IHRoaXMgdG8gYWxsb3cgdGhlIGFub255bW91cyBGVFAgdXNlciB0byB1cGxvYWQgZmlsZXMuIFRoaXMgb25seQorIyBoYXMgYW4gZWZmZWN0IGlmIHRoZSBhYm92ZSBnbG9iYWwgd3JpdGUgZW5hYmxlIGlzIGFjdGl2YXRlZC4gQWxzbywgeW91IHdpbGwKKyMgb2J2aW91c2x5IG5lZWQgdG8gY3JlYXRlIGEgZGlyZWN0b3J5IHdyaXRhYmxlIGJ5IHRoZSBGVFAgdXNlci4KKyNhbm9uX3VwbG9hZF9lbmFibGU9WUVTCisjCisjIFVuY29tbWVudCB0aGlzIGlmIHlvdSB3YW50IHRoZSBhbm9ueW1vdXMgRlRQIHVzZXIgdG8gYmUgYWJsZSB0byBjcmVhdGUKKyMgbmV3IGRpcmVjdG9yaWVzLgorI2Fub25fbWtkaXJfd3JpdGVfZW5hYmxlPVlFUworIworIyBBY3RpdmF0ZSBkaXJlY3RvcnkgbWVzc2FnZXMgLSBtZXNzYWdlcyBnaXZlbiB0byByZW1vdGUgdXNlcnMgd2hlbiB0aGV5CisjIGdvIGludG8gYSBjZXJ0YWluIGRpcmVjdG9yeS4KK2Rpcm1lc3NhZ2VfZW5hYmxlPVlFUworIworIyBBY3RpdmF0ZSBsb2dnaW5nIG9mIHVwbG9hZHMvZG93bmxvYWRzLgoreGZlcmxvZ19lbmFibGU9WUVTCisjCisjIE1ha2Ugc3VyZSBQT1JUIHRyYW5zZmVyIGNvbm5lY3Rpb25zIG9yaWdpbmF0ZSBmcm9tIHBvcnQgMjAgKGZ0cC1kYXRhKS4KK2Nvbm5lY3RfZnJvbV9wb3J0XzIwPVlFUworIworIyBJZiB5b3Ugd2FudCwgeW91IGNhbiBhcnJhbmdlIGZvciB1cGxvYWRlZCBhbm9ueW1vdXMgZmlsZXMgdG8gYmUgb3duZWQgYnkKKyMgYSBkaWZmZXJlbnQgdXNlci4gTm90ZSEgVXNpbmcgInJvb3QiIGZvciB1cGxvYWRlZCBmaWxlcyBpcyBub3QKKyMgcmVjb21tZW5kZWQhCisjY2hvd25fdXBsb2Fkcz1ZRVMKKyNjaG93bl91c2VybmFtZT13aG9ldmVyCisjCisjIFlvdSBtYXkgb3ZlcnJpZGUgd2hlcmUgdGhlIGxvZyBmaWxlIGdvZXMgaWYgeW91IGxpa2UuIFRoZSBkZWZhdWx0IGlzIHNob3duCisjIGJlbG93LgorI3hmZXJsb2dfZmlsZT0vdmFyL2xvZy92c2Z0cGQubG9nCisjCisjIElmIHlvdSB3YW50LCB5b3UgY2FuIGhhdmUgeW91ciBsb2cgZmlsZSBpbiBzdGFuZGFyZCBmdHBkIHhmZXJsb2cgZm9ybWF0Cit4ZmVybG9nX3N0ZF9mb3JtYXQ9WUVTCisjCisjIFlvdSBtYXkgY2hhbmdlIHRoZSBkZWZhdWx0IHZhbHVlIGZvciB0aW1pbmcgb3V0IGFuIGlkbGUgc2Vzc2lvbi4KKyNpZGxlX3Nlc3Npb25fdGltZW91dD02MDAKKyMKKyMgWW91IG1heSBjaGFuZ2UgdGhlIGRlZmF1bHQgdmFsdWUgZm9yIHRpbWluZyBvdXQgYSBkYXRhIGNvbm5lY3Rpb24uCisjZGF0YV9jb25uZWN0aW9uX3RpbWVvdXQ9MTIwCisjCisjIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRlZmluZSBvbiB5b3VyIHN5c3RlbSBhIHVuaXF1ZSB1c2VyIHdoaWNoIHRoZQorIyBmdHAgc2VydmVyIGNhbiB1c2UgYXMgYSB0b3RhbGx5IGlzb2xhdGVkIGFuZCB1bnByaXZpbGVnZWQgdXNlci4KKyNub3ByaXZfdXNlcj1mdHAKKyMKKyMgRW5hYmxlIHRoaXMgYW5kIHRoZSBzZXJ2ZXIgd2lsbCByZWNvZ25pc2UgYXN5bmNocm9ub3VzIEFCT1IgcmVxdWVzdHMuIE5vdAorIyByZWNvbW1lbmRlZCBmb3Igc2VjdXJpdHkgKHRoZSBjb2RlIGlzIG5vbi10cml2aWFsKS4gTm90IGVuYWJsaW5nIGl0LAorIyBob3dldmVyLCBtYXkgY29uZnVzZSBvbGRlciBGVFAgY2xpZW50cy4KKyNhc3luY19hYm9yX2VuYWJsZT1ZRVMKKyMKKyMgQnkgZGVmYXVsdCB0aGUgc2VydmVyIHdpbGwgcHJldGVuZCB0byBhbGxvdyBBU0NJSSBtb2RlIGJ1dCBpbiBmYWN0IGlnbm9yZQorIyB0aGUgcmVxdWVzdC4gVHVybiBvbiB0aGUgYmVsb3cgb3B0aW9ucyB0byBoYXZlIHRoZSBzZXJ2ZXIgYWN0dWFsbHkgZG8gQVNDSUkKKyMgbWFuZ2xpbmcgb24gZmlsZXMgd2hlbiBpbiBBU0NJSSBtb2RlLgorIyBCZXdhcmUgdGhhdCB0dXJuaW5nIG9uIGFzY2lpX2Rvd25sb2FkX2VuYWJsZSBlbmFibGVzIG1hbGljaW91cyByZW1vdGUgcGFydGllcworIyB0byBjb25zdW1lIHlvdXIgSS9PIHJlc291cmNlcywgYnkgaXNzdWluZyB0aGUgY29tbWFuZCAiU0laRSAvYmlnL2ZpbGUiIGluCisjIEFTQ0lJIG1vZGUuCisjIFRoZXNlIEFTQ0lJIG9wdGlvbnMgYXJlIHNwbGl0IGludG8gdXBsb2FkIGFuZCBkb3dubG9hZCBiZWNhdXNlIHlvdSBtYXkgd2lzaAorIyB0byBlbmFibGUgQVNDSUkgdXBsb2FkcyAodG8gcHJldmVudCB1cGxvYWRlZCBzY3JpcHRzIGV0Yy4gZnJvbSBicmVha2luZyksCisjIHdpdGhvdXQgdGhlIERvUyByaXNrIG9mIFNJWkUgYW5kIEFTQ0lJIGRvd25sb2Fkcy4gQVNDSUkgbWFuZ2xpbmcgc2hvdWxkIGJlCisjIG9uIHRoZSBjbGllbnQgYW55d2F5Li4KKyNhc2NpaV91cGxvYWRfZW5hYmxlPVlFUworI2FzY2lpX2Rvd25sb2FkX2VuYWJsZT1ZRVMKKyMKKyMgWW91IG1heSBmdWxseSBjdXN0b21pc2UgdGhlIGxvZ2luIGJhbm5lciBzdHJpbmc6CisjZnRwZF9iYW5uZXI9V2VsY29tZSB0byBibGFoIEZUUCBzZXJ2aWNlLgorIworIyBZb3UgbWF5IHNwZWNpZnkgYSBmaWxlIG9mIGRpc2FsbG93ZWQgYW5vbnltb3VzIGUtbWFpbCBhZGRyZXNzZXMuIEFwcGFyZW50bHkKKyMgdXNlZnVsIGZvciBjb21iYXR0aW5nIGNlcnRhaW4gRG9TIGF0dGFja3MuCisjZGVueV9lbWFpbF9lbmFibGU9WUVTCisjIChkZWZhdWx0IGZvbGxvd3MpCisjYmFubmVkX2VtYWlsX2ZpbGU9L2V0Yy92c2Z0cGQuYmFubmVkX2VtYWlscworIworIyBZb3UgbWF5IHNwZWNpZnkgYW4gZXhwbGljaXQgbGlzdCBvZiBsb2NhbCB1c2VycyB0byBjaHJvb3QoKSB0byB0aGVpciBob21lCisjIGRpcmVjdG9yeS4gSWYgY2hyb290X2xvY2FsX3VzZXIgaXMgWUVTLCB0aGVuIHRoaXMgbGlzdCBiZWNvbWVzIGEgbGlzdCBvZgorIyB1c2VycyB0byBOT1QgY2hyb290KCkuCisjY2hyb290X2xpc3RfZW5hYmxlPVlFUworIyAoZGVmYXVsdCBmb2xsb3dzKQorI2Nocm9vdF9saXN0X2ZpbGU9L2V0Yy92c2Z0cGQuY2hyb290X2xpc3QKKyMKKyMgWW91IG1heSBhY3RpdmF0ZSB0aGUgIi1SIiBvcHRpb24gdG8gdGhlIGJ1aWx0aW4gbHMuIFRoaXMgaXMgZGlzYWJsZWQgYnkKKyMgZGVmYXVsdCB0byBhdm9pZCByZW1vdGUgdXNlcnMgYmVpbmcgYWJsZSB0byBjYXVzZSBleGNlc3NpdmUgSS9PIG9uIGxhcmdlCisjIHNpdGVzLiBIb3dldmVyLCBzb21lIGJyb2tlbiBGVFAgY2xpZW50cyBzdWNoIGFzICJuY2Z0cCIgYW5kICJtaXJyb3IiIGFzc3VtZQorIyB0aGUgcHJlc2VuY2Ugb2YgdGhlICItUiIgb3B0aW9uLCBzbyB0aGVyZSBpcyBhIHN0cm9uZyBjYXNlIGZvciBlbmFibGluZyBpdC4KKyNsc19yZWN1cnNlX2VuYWJsZT1ZRVMKKyMKKyMgVGhpcyBzdHJpbmcgaXMgdGhlIG5hbWUgb2YgdGhlIFBBTSBzZXJ2aWNlIHZzZnRwZCB3aWxsIHVzZS4KK3BhbV9zZXJ2aWNlX25hbWU9dnNmdHBkCisjCisjIFRoaXMgb3B0aW9uIGlzIGV4YW1pbmVkIGlmIHVzZXJsaXN0X2VuYWJsZSBpcyBhY3RpdmF0ZWQuIElmIHlvdSBzZXQgdGhpcworIyBzZXR0aW5nIHRvIE5PLCB0aGVuIHVzZXJzIHdpbGwgYmUgZGVuaWVkIGxvZ2luICB1bmxlc3MgIHRoZXkgYXJlICBleHBsaWNpdGx5IAorIyBsaXN0ZWQgIGluIHRoZSBmaWxlIHNwZWNpZmllZCBieSB1c2VybGlzdF9maWxlLiAgV2hlbiBsb2dpbiBpcyBkZW5pZWQsIHRoZSAKKyMgZGVuaWFsIGlzIGlzc3VlZCBiZWZvcmUgdGhlIHVzZXIgaXMgYXNrZWQgZm9yIGEgcGFzc3dvcmQuCit1c2VybGlzdF9kZW55PVlFUworIworIyBJZiBlbmFibGVkLCB2c2Z0cGQgd2lsbCBsb2FkIGEgbGlzdCBvZiB1c2VybmFtZXMsIGZyb20gdGhlIGZpbGVuYW1lIGdpdmVuIGJ5CisjIHVzZXJsaXN0X2ZpbGUuICBJZiBhIHVzZXIgdHJpZXMgdG8gbG9nIGluIHVzaW5nICBhICBuYW1lIGluICB0aGlzICBmaWxlLCAgdGhleQorIyB3aWxsIGJlIGRlbmllZCBiZWZvcmUgdGhleSBhcmUgYXNrZWQgZm9yIGEgcGFzc3dvcmQuIFRoaXMgbWF5IGJlIHVzZWZ1bCBpbiAKKyMgcHJldmVudGluZyBjbGVhcnRleHQgcGFzc3dvcmRzIGJlaW5nIHRyYW5zbWl0dGVkLiBTZWUgYWxzbyB1c2VybGlzdF9kZW55LgordXNlcmxpc3RfZW5hYmxlPVlFUworIworIyBJZiBlbmFibGVkLCAgdnNmdHBkICB3aWxsIGRpc3BsYXkgZGlyZWN0b3J5IGxpc3RpbmdzIHdpdGggdGhlIHRpbWUgaW4geW91cgorIyBsb2NhbCB0aW1lIHpvbmUuIFRoZSBkZWZhdWx0IGlzIHRvIGRpc3BsYXkgR01ULiBUaGUgdGltZXMgcmV0dXJuZWQgYnkgdGhlCisjIE1EVE0gRlRQIGNvbW1hbmQgYXJlIGFsc28gYWZmZWN0ZWQgYnkgdGhpcyBvcHRpb24uCit1c2VfbG9jYWx0aW1lPVlFUworIworIyBJZiBzZXQgdG8gWUVTLCBsb2NhbCB1c2VycyB3aWxsIGJlIChieSBkZWZhdWx0KSBwbGFjZWQgaW4gYSBjaHJvb3QoKSBqYWlsIGluCisjIHRoZWlyIGhvbWUgZGlyZWN0b3J5IGFmdGVyIGxvZ2luLiAgV2FybmluZzogVGhpcyAgb3B0aW9uIGhhcyAgc2VjdXJpdHkgIAorIyBpbXBsaWNhdGlvbnMsICBlc3BlY2lhbGx5ICBpZiAgdGhlIHVzZXJzIGhhdmUgdXBsb2FkIHBlcm1pc3Npb24sIG9yIHNoZWxsIGFjY2Vzcy4KKyMgT25seSBlbmFibGUgaWYgeW91IGtub3cgd2hhdCB5b3UgYXJlIGRvaW5nLiAgTm90ZSB0aGF0IHRoZXNlIHNlY3VyaXR5IGltcGxpY2F0aW9ucworIyBhcmUgbm90IHZzZnRwZCBzcGVjaWZpYy4gVGhleSBhcHBseSB0byBhbGwgRlRQIGRhZW1vbnMgd2hpY2ggb2ZmZXIgdG8gcHV0IAorIyBsb2NhbCAgdXNlcnMgaW4gY2hyb290KCkgamFpbHMuCitjaHJvb3RfbG9jYWxfdXNlcj1ZRVMKKyMKK2FsbG93X3dyaXRlYWJsZV9jaHJvb3Q9WUVTCisjCit0Y3Bfd3JhcHBlcnM9WUVTCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL2ZpbGVzL3ZzZnRwZC5mdHB1c2VycyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvZmlsZXMvdnNmdHBkLmZ0cHVzZXJzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5NjE0MmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL2ZpbGVzL3ZzZnRwZC5mdHB1c2VycwpAQCAtMCwwICsxLDE1IEBACisjIFVzZXJzIHRoYXQgYXJlIG5vdCBhbGxvd2VkIHRvIGxvZ2luIHZpYSBmdHAKK3Jvb3QKK2JpbgorZGFlbW9uCithZG0KK2xwCitzeW5jCitzaHV0ZG93bgoraGFsdAorbWFpbAorbmV3cwordXVjcAorb3BlcmF0b3IKK2dhbWVzCitub2JvZHkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvZmlsZXMvdnNmdHBkLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL2ZpbGVzL3ZzZnRwZC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyNzEwMjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL2ZpbGVzL3ZzZnRwZC5zZXJ2aWNlCkBAIC0wLDAgKzEsOSBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1Wc2Z0cGQgZnRwIGRhZW1vbgorQWZ0ZXI9bmV0d29yay50YXJnZXQKKworW1NlcnZpY2VdCitFeGVjU3RhcnQ9QFNCSU5ESVJAL3ZzZnRwZAorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL2ZpbGVzL3ZzZnRwZC51c2VyX2xpc3QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL2ZpbGVzL3ZzZnRwZC51c2VyX2xpc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDI4M2UzZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvZmlsZXMvdnNmdHBkLnVzZXJfbGlzdApAQCAtMCwwICsxLDIwIEBACisjIHZzZnRwZCB1c2VybGlzdAorIyBJZiB1c2VybGlzdF9kZW55PU5PLCBvbmx5IGFsbG93IHVzZXJzIGluIHRoaXMgZmlsZQorIyBJZiB1c2VybGlzdF9kZW55PVlFUyAoZGVmYXVsdCksIG5ldmVyIGFsbG93IHVzZXJzIGluIHRoaXMgZmlsZSwgYW5kCisjIGRvIG5vdCBldmVuIHByb21wdCBmb3IgYSBwYXNzd29yZC4KKyMgTm90ZSB0aGF0IHRoZSBkZWZhdWx0IHZzZnRwZCBwYW0gY29uZmlnIGFsc28gY2hlY2tzIC9ldGMvdnNmdHBkLmZ0cHVzZXJzCisjIGZvciB1c2VycyB0aGF0IGFyZSBkZW5pZWQuCityb290CitiaW4KK2RhZW1vbgorYWRtCitscAorc3luYworc2h1dGRvd24KK2hhbHQKK21haWwKK25ld3MKK3V1Y3AKK29wZXJhdG9yCitnYW1lcworbm9ib2R5CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL3ZzZnRwZC0zLjAuMy9tYWtlZmlsZS1kZXN0ZGlyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGQtMy4wLjMvbWFrZWZpbGUtZGVzdGRpci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOTgwZDA5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGQtMy4wLjMvbWFrZWZpbGUtZGVzdGRpci5wYXRjaApAQCAtMCwwICsxLDQ0IEBACitVc2UgREVTVERJUiB3aXRoaW4gaW5zdGFsbCB0byBhbGxvdyBpbnN0YWxsaW5nIHVuZGVyIGEgcHJlZml4CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBQYXVsIEVnZ2xldG9uIDxwYXVsLmVnZ2xldG9uQGxpbnV4LmludGVsLmNvbT4KKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTI0LDIxICsyNCwyMSBAQAorIAkkKENDKSAtbyB2c2Z0cGQgJChPQkpTKSAkKExJTkspICQoTElCUykKKyAKKyBpbnN0YWxsOgorLQlpZiBbIC14IC91c3IvbG9jYWwvc2JpbiBdOyB0aGVuIFwKKy0JCSQoSU5TVEFMTCkgLW0gNzU1IHZzZnRwZCAvdXNyL2xvY2FsL3NiaW4vdnNmdHBkOyBcCisrCWlmIFsgLXggJHtERVNURElSfS91c3IvbG9jYWwvc2JpbiBdOyB0aGVuIFwKKysJCSQoSU5TVEFMTCkgLW0gNzU1IHZzZnRwZCAke0RFU1RESVJ9L3Vzci9sb2NhbC9zYmluL3ZzZnRwZDsgXAorIAllbHNlIFwKKy0JCSQoSU5TVEFMTCkgLW0gNzU1IHZzZnRwZCAvdXNyL3NiaW4vdnNmdHBkOyBmaQorLQlpZiBbIC14IC91c3IvbG9jYWwvbWFuIF07IHRoZW4gXAorLQkJJChJTlNUQUxMKSAtbSA2NDQgdnNmdHBkLjggL3Vzci9sb2NhbC9tYW4vbWFuOC92c2Z0cGQuODsgXAorLQkJJChJTlNUQUxMKSAtbSA2NDQgdnNmdHBkLmNvbmYuNSAvdXNyL2xvY2FsL21hbi9tYW41L3ZzZnRwZC5jb25mLjU7IFwKKy0JZWxpZiBbIC14IC91c3Ivc2hhcmUvbWFuIF07IHRoZW4gXAorLQkJJChJTlNUQUxMKSAtbSA2NDQgdnNmdHBkLjggL3Vzci9zaGFyZS9tYW4vbWFuOC92c2Z0cGQuODsgXAorLQkJJChJTlNUQUxMKSAtbSA2NDQgdnNmdHBkLmNvbmYuNSAvdXNyL3NoYXJlL21hbi9tYW41L3ZzZnRwZC5jb25mLjU7IFwKKysJCSQoSU5TVEFMTCkgLW0gNzU1IHZzZnRwZCAke0RFU1RESVJ9L3Vzci9zYmluL3ZzZnRwZDsgZmkKKysJaWYgWyAteCAke0RFU1RESVJ9L3Vzci9sb2NhbC9tYW4gXTsgdGhlbiBcCisrCQkkKElOU1RBTEwpIC1tIDY0NCB2c2Z0cGQuOCAke0RFU1RESVJ9L3Vzci9sb2NhbC9tYW4vbWFuOC92c2Z0cGQuODsgXAorKwkJJChJTlNUQUxMKSAtbSA2NDQgdnNmdHBkLmNvbmYuNSAke0RFU1RESVJ9L3Vzci9sb2NhbC9tYW4vbWFuNS92c2Z0cGQuY29uZi41OyBcCisrCWVsaWYgWyAteCAke0RFU1RESVJ9L3Vzci9zaGFyZS9tYW4gXTsgdGhlbiBcCisrCQkkKElOU1RBTEwpIC1tIDY0NCB2c2Z0cGQuOCAke0RFU1RESVJ9L3Vzci9zaGFyZS9tYW4vbWFuOC92c2Z0cGQuODsgXAorKwkJJChJTlNUQUxMKSAtbSA2NDQgdnNmdHBkLmNvbmYuNSAke0RFU1RESVJ9L3Vzci9zaGFyZS9tYW4vbWFuNS92c2Z0cGQuY29uZi41OyBcCisgCWVsc2UgXAorLQkJJChJTlNUQUxMKSAtbSA2NDQgdnNmdHBkLjggL3Vzci9tYW4vbWFuOC92c2Z0cGQuODsgXAorLQkJJChJTlNUQUxMKSAtbSA2NDQgdnNmdHBkLmNvbmYuNSAvdXNyL21hbi9tYW41L3ZzZnRwZC5jb25mLjU7IGZpCistCWlmIFsgLXggL2V0Yy94aW5ldGQuZCBdOyB0aGVuIFwKKy0JCSQoSU5TVEFMTCkgLW0gNjQ0IHhpbmV0ZC5kL3ZzZnRwZCAvZXRjL3hpbmV0ZC5kL3ZzZnRwZDsgZmkKKysJCSQoSU5TVEFMTCkgLW0gNjQ0IHZzZnRwZC44ICR7REVTVERJUn0vdXNyL21hbi9tYW44L3ZzZnRwZC44OyBcCisrCQkkKElOU1RBTEwpIC1tIDY0NCB2c2Z0cGQuY29uZi41ICR7REVTVERJUn0vdXNyL21hbi9tYW41L3ZzZnRwZC5jb25mLjU7IGZpCisrCWlmIFsgLXggJHtERVNURElSfS9ldGMveGluZXRkLmQgXTsgdGhlbiBcCisrCQkkKElOU1RBTEwpIC1tIDY0NCB4aW5ldGQuZC92c2Z0cGQgJHtERVNURElSfS9ldGMveGluZXRkLmQvdnNmdHBkOyBmaQorIAorIGNsZWFuOgorIAlybSAtZiAqLm8gKi5zd3AgdnNmdHBkCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL3ZzZnRwZC0zLjAuMy9tYWtlZmlsZS1saWJzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGQtMy4wLjMvbWFrZWZpbGUtbGlicy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YTEwZjcyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGQtMy4wLjMvbWFrZWZpbGUtbGlicy5wYXRjaApAQCAtMCwwICsxLDIxIEBACitIYXJkY29kZSBMSUJTIGluc3RlYWQgb2YgdXNpbmcgYSBzY3JpcHQgdG8gZGV0ZXJtaW5lIGF2YWlsYWJsZSBsaWJzCisKK1dlIHdhbnQgdG8gYXZvaWQgdGhpcyBkeW5hbWljIGRldGVjdGlvbiBzbyB3ZSBoYXZlIGEgZGV0ZXJtaW5pc3RpYworYnVpbGQuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlnXQorCitTaWduZWQtb2ZmLWJ5OiBQYXVsIEVnZ2xldG9uIDxwYXVsLmVnZ2xldG9uQGxpbnV4LmludGVsLmNvbT4KKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTUsNyArNSw3IEBACisgI0NGTEFHUyA9IC1nCisgQ0ZMQUdTCT0JLU8yIC1XYWxsIC1XIC1Xc2hhZG93ICMtcGVkYW50aWMgLVdlcnJvciAtV2NvbnZlcnNpb24KKyAKKy1MSUJTCT0JYC4vdnNmX2ZpbmRsaWJzLnNoYAorK0xJQlMJPQktbHNzbCAtbGNyeXB0byAtbG5zbCAtbHJlc29sdgorIExJTksJPQktV2wsLXMKKyAKKyBPQkpTCT0JbWFpbi5vIHV0aWxpdHkubyBwcmVsb2dpbi5vIGZ0cGNtZGlvLm8gcG9zdGxvZ2luLm8gcHJpdnNvY2subyBcCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL3ZzZnRwZC0zLjAuMy9tYWtlZmlsZS1zdHJpcC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvdnNmdHBkLTMuMC4zL21ha2VmaWxlLXN0cmlwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkMzE2MDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL3ZzZnRwZC0zLjAuMy9tYWtlZmlsZS1zdHJpcC5wYXRjaApAQCAtMCwwICsxLDE3IEBACitEaXNhYmxlIHN0cmlwcGluZyBhdCBsaW5rIHRpbWUKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWddCisKK1NpZ25lZC1vZmYtYnk6IFBhdWwgRWdnbGV0b24gPHBhdWwuZWdnbGV0b25AbGludXguaW50ZWwuY29tPgorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtOSw3ICs5LDYgQEAgQ0ZMQUdTCT0JLU8yIC1mUElFIC1mc3RhY2stcHJvdGVjdG9yIC0tcGFyYW09c3NwLWJ1ZmZlci1zaXplPTQgXAorIAkjLXBlZGFudGljIC1XY29udmVyc2lvbgorIAorIExJQlMJPQktbHNzbCAtbGNyeXB0byAtbG5zbCAtbHJlc29sdgorLUxJTksJPQktV2wsLXMKKyBMREZMQUdTCT0JLWZQSUUgLXBpZSAtV2wsLXoscmVscm8gLVdsLC16LG5vdworIAorIE9CSlMJPQltYWluLm8gdXRpbGl0eS5vIHByZWxvZ2luLm8gZnRwY21kaW8ubyBwb3N0bG9naW4ubyBwcml2c29jay5vIFwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvdnNmdHBkLTMuMC4zL25vcGFtLXdpdGgtdGNwX3dyYXBwZXJzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGQtMy4wLjMvbm9wYW0td2l0aC10Y3Bfd3JhcHBlcnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmRjZjNhMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvdnNmdHBkLTMuMC4zL25vcGFtLXdpdGgtdGNwX3dyYXBwZXJzLnBhdGNoCkBAIC0wLDAgKzEsMTcgQEAKK0Rpc2FibGUgUEFNCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlnXQorCitTaWduZWQtb2ZmLWJ5OiBSb3kuTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitkaWZmIC11ciB2c2Z0cGQtMi4wLjFfb3JnL2J1aWxkZGVmcy5oIHZzZnRwZC0yLjAuMV9wYXRjaC9idWlsZGRlZnMuaAorLS0tIHZzZnRwZC0yLjAuMV9vcmcvYnVpbGRkZWZzLmgJMjAwNC0wNy0wMiAxNjozNjo1OS4wMDAwMDAwMDAgKzAyMDAKKysrKyB2c2Z0cGQtMi4wLjFfcGF0Y2gvYnVpbGRkZWZzLmgJMjAwNC0wNy0yMSAwOTozNDo0OS4wNDQ5MDA0ODggKzAyMDAKK0BAIC0yLDcgKzIsNyBAQAorICNkZWZpbmUgVlNGX0JVSUxEREVGU19ICisgCisgI2RlZmluZSBWU0ZfQlVJTERfVENQV1JBUFBFUlMKKy0jZGVmaW5lIFZTRl9CVUlMRF9QQU0KKysjdW5kZWYgVlNGX0JVSUxEX1BBTQorICN1bmRlZiBWU0ZfQlVJTERfU1NMCisgCisgI2VuZGlmIC8qIFZTRl9CVUlMRERFRlNfSCAqLwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGQtMy4wLjMvbm9wYW0ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL3ZzZnRwZC0zLjAuMy9ub3BhbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZjBkNjhlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGQtMy4wLjMvbm9wYW0ucGF0Y2gKQEAgLTAsMCArMSwxNiBAQAorRGlzYWJsZSBQQU0KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWddCisKK2RpZmYgLXVyIHZzZnRwZC0yLjAuMV9vcmcvYnVpbGRkZWZzLmggdnNmdHBkLTIuMC4xX3BhdGNoL2J1aWxkZGVmcy5oCistLS0gdnNmdHBkLTIuMC4xX29yZy9idWlsZGRlZnMuaAkyMDA0LTA3LTAyIDE2OjM2OjU5LjAwMDAwMDAwMCArMDIwMAorKysrIHZzZnRwZC0yLjAuMV9wYXRjaC9idWlsZGRlZnMuaAkyMDA0LTA3LTIxIDA5OjM0OjQ5LjA0NDkwMDQ4OCArMDIwMAorQEAgLTIsNyArMiw3IEBACisgI2RlZmluZSBWU0ZfQlVJTERERUZTX0gKKyAKKyAjdW5kZWYgVlNGX0JVSUxEX1RDUFdSQVBQRVJTCistI2RlZmluZSBWU0ZfQlVJTERfUEFNCisrI3VuZGVmIFZTRl9CVUlMRF9QQU0KKyAjdW5kZWYgVlNGX0JVSUxEX1NTTAorIAorICNlbmRpZiAvKiBWU0ZfQlVJTERERUZTX0ggKi8KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvdnNmdHBkLTMuMC4zL3ZzZnRwZC0yLjEuMC1maWx0ZXIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL3ZzZnRwZC0zLjAuMy92c2Z0cGQtMi4xLjAtZmlsdGVyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyZjdlODIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL3ZzZnRwZC0zLjAuMy92c2Z0cGQtMi4xLjAtZmlsdGVyLnBhdGNoCkBAIC0wLDAgKzEsNzcgQEAKK0ZpeCB0aGUgQ1ZFLTIwMTUtMTQxOQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworVHJ5IHRvIGZpeCBkZW55X2ZpbGUgcGFyc2luZyB0byBkbyBtb3JlIHdoYXQgaXMgZXhwZWN0ZWQuIFRha2VuCitmcm9tIGZlZG9yYS4gQ1ZFLTIwMTUtMTQxOQorCitmdHA6Ly8xOTUuMjIwLjEwOC4xMDgvbGludXgvZmVkb3JhL2xpbnV4L2RldmVsb3BtZW50L3Jhd2hpZGUvc291cmNlL1NSUE1TL3YvdnNmdHBkLTMuMC4yLTEzLmZjMjIuc3JjLnJwbQorCitTaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CisKK2RpZmYgLXVwIHZzZnRwZC0yLjEuMC9scy5jLmZpbHRlciB2c2Z0cGQtMi4xLjAvbHMuYworLS0tIHZzZnRwZC0yLjEuMC9scy5jLmZpbHRlcgkyMDA4LTAyLTAyIDAyOjMwOjQxLjAwMDAwMDAwMCArMDEwMAorKysrIHZzZnRwZC0yLjEuMC9scy5jCTIwMDktMDEtMDggMTk6MzE6MTUuMDAwMDAwMDAwICswMTAwCitAQCAtMjM5LDkgKzIzOSwzMSBAQCB2c2ZfZmlsZW5hbWVfcGFzc2VzX2ZpbHRlcihjb25zdCBzdHJ1Y3QgCisgICBpbnQgcmV0ID0gMDsKKyAgIGNoYXIgbGFzdF90b2tlbiA9IDA7CisgICBpbnQgbXVzdF9tYXRjaF9hdF9jdXJyZW50X3BvcyA9IDE7CisrICAKKysgIAorICAgc3RyX2NvcHkoJmZpbHRlcl9yZW1haW5fc3RyLCBwX2ZpbHRlcl9zdHIpOworLSAgc3RyX2NvcHkoJm5hbWVfcmVtYWluX3N0ciwgcF9maWxlbmFtZV9zdHIpOworLQorKyAgCisrICBpZiAoIXN0cl9pc2VtcHR5ICgmZmlsdGVyX3JlbWFpbl9zdHIpICYmICFzdHJfaXNlbXB0eShwX2ZpbGVuYW1lX3N0cikpIHsKKysgICAgaWYgKHN0cl9nZXRfY2hhcl9hdChwX2ZpbHRlcl9zdHIsIDApID09ICcvJykgeworKyAgICAgIGlmIChzdHJfZ2V0X2NoYXJfYXQocF9maWxlbmFtZV9zdHIsIDApICE9ICcvJykgeworKyAgICAgICAgc3RyX2dldGN3ZCAoJm5hbWVfcmVtYWluX3N0cik7CisrICAgICAKKysgICAgICAgIGlmIChzdHJfZ2V0bGVuKCZuYW1lX3JlbWFpbl9zdHIpID4gMSkgLyogY3dkICE9IHJvb3QgZGlyICovCisrICAgICAgICAgIHN0cl9hcHBlbmRfY2hhciAoJm5hbWVfcmVtYWluX3N0ciwgJy8nKTsKKysgICAgICAgICAgCisrICAgICAgICBzdHJfYXBwZW5kX3N0ciAoJm5hbWVfcmVtYWluX3N0ciwgcF9maWxlbmFtZV9zdHIpOworKyAgICAgIH0KKysgICAgICBlbHNlCisrICAgICAgIHN0cl9jb3B5ICgmbmFtZV9yZW1haW5fc3RyLCBwX2ZpbGVuYW1lX3N0cik7CisrICAgIH0gZWxzZSB7CisrICAgICAgaWYgKHN0cl9nZXRfY2hhcl9hdChwX2ZpbHRlcl9zdHIsIDApICE9ICd7JykKKysgICAgICAgIHN0cl9iYXNlbmFtZSAoJm5hbWVfcmVtYWluX3N0ciwgcF9maWxlbmFtZV9zdHIpOworKyAgICAgIGVsc2UKKysgICAgICAgIHN0cl9jb3B5ICgmbmFtZV9yZW1haW5fc3RyLCBwX2ZpbGVuYW1lX3N0cik7CisrICAgIH0KKysgIH0gZWxzZQorKyAgICBzdHJfY29weSgmbmFtZV9yZW1haW5fc3RyLCBwX2ZpbGVuYW1lX3N0cik7CisrICAKKyAgIHdoaWxlICghc3RyX2lzZW1wdHkoJmZpbHRlcl9yZW1haW5fc3RyKSAmJiAqaXRlcnMgPCBWU0ZUUF9NQVRDSElURVJTX01BWCkKKyAgIHsKKyAgICAgc3RhdGljIHN0cnVjdCBteXN0ciBzX21hdGNoX25lZWRlZF9zdHI7CitkaWZmIC11cCB2c2Z0cGQtMi4xLjAvc3RyLmMuZmlsdGVyIHZzZnRwZC0yLjEuMC9zdHIuYworLS0tIHZzZnRwZC0yLjEuMC9zdHIuYy5maWx0ZXIJMjAwOC0xMi0xNyAwNjo1NDoxNi4wMDAwMDAwMDAgKzAxMDAKKysrKyB2c2Z0cGQtMi4xLjAvc3RyLmMJMjAwOS0wMS0wOCAxOTozMToxNS4wMDAwMDAwMDAgKzAxMDAKK0BAIC02ODAsMyArNjgwLDE0IEBAIHN0cl9yZXBsYWNlX3VucHJpbnRhYmxlKHN0cnVjdCBteXN0ciogcF8KKyAgIH0KKyB9CisgCisrdm9pZAorK3N0cl9iYXNlbmFtZSAoc3RydWN0IG15c3RyKiBkX3N0ciwgY29uc3Qgc3RydWN0IG15c3RyKiBwYXRoKQorK3sKKysgIHN0YXRpYyBzdHJ1Y3QgbXlzdHIgdG1wOworKworKyAgc3RyX2NvcHkgKCZ0bXAsIHBhdGgpOworKyAgc3RyX3NwbGl0X2NoYXJfcmV2ZXJzZSgmdG1wLCBkX3N0ciwgJy8nKTsKKysKKysgIGlmIChzdHJfaXNlbXB0eShkX3N0cikpCisrICAgc3RyX2NvcHkgKGRfc3RyLCBwYXRoKTsKKyt9CitkaWZmIC11cCB2c2Z0cGQtMi4xLjAvc3RyLmguZmlsdGVyIHZzZnRwZC0yLjEuMC9zdHIuaAorLS0tIHZzZnRwZC0yLjEuMC9zdHIuaC5maWx0ZXIJMjAwOC0xMi0xNyAwNjo1MzoyMy4wMDAwMDAwMDAgKzAxMDAKKysrKyB2c2Z0cGQtMi4xLjAvc3RyLmgJMjAwOS0wMS0wOCAxOTozMjoxNC4wMDAwMDAwMDAgKzAxMDAKK0BAIC0xMDAsNiArMTAwLDcgQEAgdm9pZCBzdHJfcmVwbGFjZV91bnByaW50YWJsZShzdHJ1Y3QgbXlzdAorIGludCBzdHJfYXRvaShjb25zdCBzdHJ1Y3QgbXlzdHIqIHBfc3RyKTsKKyBmaWxlc2l6ZV90IHN0cl9hX3RvX2ZpbGVzaXplX3QoY29uc3Qgc3RydWN0IG15c3RyKiBwX3N0cik7CisgdW5zaWduZWQgaW50IHN0cl9vY3RhbF90b191aW50KGNvbnN0IHN0cnVjdCBteXN0ciogcF9zdHIpOworK3ZvaWQgc3RyX2Jhc2VuYW1lIChzdHJ1Y3QgbXlzdHIqIGRfc3RyLCBjb25zdCBzdHJ1Y3QgbXlzdHIqIHBhdGgpOworIAorIC8qIFBVUlBPU0U6IEV4dHJhY3QgYSBsaW5lIG9mIHRleHQgKGRlbGltaXRlZCBieSBcbiBvciBFT0YpIGZyb20gYSBzdHJpbmcKKyAgKiBidWZmZXIsIHN0YXJ0aW5nIGF0IGNoYXJhY3RlciBwb3NpdGlvbiAncF9wb3MnLiBUaGUgZXh0cmFjdGVkIGxpbmUgd2lsbApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGQtMy4wLjMvdnNmdHBkLXRjcF93cmFwcGVycy1zdXBwb3J0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGQtMy4wLjMvdnNmdHBkLXRjcF93cmFwcGVycy1zdXBwb3J0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5NzQ1YjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL3ZzZnRwZC0zLjAuMy92c2Z0cGQtdGNwX3dyYXBwZXJzLXN1cHBvcnQucGF0Y2gKQEAgLTAsMCArMSwyNSBAQAorRW5hYmxlIHRjcF93cmFwcGVyLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IFJveS5MaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIGJ1aWxkZGVmcy5oIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYnVpbGRkZWZzLmggYi9idWlsZGRlZnMuaAoraW5kZXggZTkwODM1Mi4uMDEwNmQxYSAxMDA2NDQKKy0tLSBhL2J1aWxkZGVmcy5oCisrKysgYi9idWlsZGRlZnMuaAorQEAgLTEsNyArMSw3IEBACisgI2lmbmRlZiBWU0ZfQlVJTERERUZTX0gKKyAjZGVmaW5lIFZTRl9CVUlMRERFRlNfSAorIAorLSN1bmRlZiBWU0ZfQlVJTERfVENQV1JBUFBFUlMKKysjZGVmaW5lIFZTRl9CVUlMRF9UQ1BXUkFQUEVSUworICNkZWZpbmUgVlNGX0JVSUxEX1BBTQorICN1bmRlZiBWU0ZfQlVJTERfU1NMCisgCistLSAKKzEuNy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvdnNmdHBkXzMuMC4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGRfMy4wLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGVlODgxZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvdnNmdHBkXzMuMC4zLmJiCkBAIC0wLDAgKzEsMTA5IEBACitTVU1NQVJZID0gIlZlcnkgU2VjdXJlIEZUUCBzZXJ2ZXIiCitIT01FUEFHRSA9ICJodHRwczovL3NlY3VyaXR5LmFwcHNwb3QuY29tL3ZzZnRwZC5odG1sIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTYwNjdhZDk1MGIyODMzNjYxM2FlZDlkZDQ3YjEyNzEiCisKK0RFUEVORFMgPSAibGliY2FwIG9wZW5zc2wiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9zZWN1cml0eS5hcHBzcG90LmNvbS9kb3dubG9hZHMvdnNmdHBkLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9tYWtlZmlsZS1kZXN0ZGlyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL21ha2VmaWxlLWxpYnMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbWFrZWZpbGUtc3RyaXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vaW5pdCBcCisgICAgICAgICAgIGZpbGU6Ly92c2Z0cGQuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly92c2Z0cGQudXNlcl9saXN0IFwKKyAgICAgICAgICAgZmlsZTovL3ZzZnRwZC5mdHB1c2VycyBcCisgICAgICAgICAgIGZpbGU6Ly9jaGFuZ2Utc2VjdXJlX2Nocm9vdF9kaXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdm9sYXRpbGVzLjk5X3ZzZnRwZCBcCisgICAgICAgICAgIGZpbGU6Ly92c2Z0cGQuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly92c2Z0cGQtMi4xLjAtZmlsdGVyLnBhdGNoIFwKKyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTYwNjdhZDk1MGIyODMzNjYxM2FlZDlkZDQ3YjEyNzEgXAorICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlSSUdIVDttZDU9MDQyNTFiMmViMGYyOThkYWUzNzZkOTI0NTRmNmY3MmUgXAorICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0U7bWQ1PTY1NGRmMjA0MmQ0NGI4Y2FjOGE1NjU0ZmM1YmU2M2ViIgorU1JDX1VSSVttZDVzdW1dID0gImRhMTE5ZDA4NGJkM2Y5ODY2NDYzNmVhMDViNWJiMzk4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjlkNGQyYmY2ZTZlMjg4NDg1MmJhNGU2OWUxNTdhMmNlY2Q2OGM1YTc2MzVkNjZhM2E4Y2Y4ZDg5OGM5NTVlZjciCisKKworUEFDS0FHRUNPTkZJRyA/Pz0gInRjcC13cmFwcGVycyIKK1BBQ0tBR0VDT05GSUdbdGNwLXdyYXBwZXJzXSA9ICIsLHRjcC13cmFwcGVycyIKK1NSQ19VUkkgKz0iJHtAYmFzZV9jb250YWlucygnUEFDS0FHRUNPTkZJRycsICd0Y3Atd3JhcHBlcnMnLCAnZmlsZTovL3ZzZnRwZC10Y3Bfd3JhcHBlcnMtc3VwcG9ydC5wYXRjaCcsICcnLCBkKX0iCisKK0RFUEVORFMgKz0gIiR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnbGlicGFtJywgJycsIGQpfSIKK1JERVBFTkRTXyR7UE59ICs9ICIke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ3BhbS1wbHVnaW4tbGlzdGZpbGUnLCAnJywgZCl9IgorUEFNTElCID0gIiR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnLUwke1NUQUdJTkdfQkFTRUxJQkRJUn0gLWxwYW0nLCAnJywgZCl9IgorTk9QQU1fU1JDID0iJHtAYmFzZV9jb250YWlucygnUEFDS0FHRUNPTkZJRycsICd0Y3Atd3JhcHBlcnMnLCAnZmlsZTovL25vcGFtLXdpdGgtdGNwX3dyYXBwZXJzLnBhdGNoJywgJ2ZpbGU6Ly9ub3BhbS5wYXRjaCcsIGQpfSIKK1NSQ19VUkkgKz0gIiR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnJywgJyR7Tk9QQU1fU1JDfScsIGQpfSIKKworaW5oZXJpdCB1cGRhdGUtcmMuZCB1c2VyYWRkIHN5c3RlbWQKKworQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vdnNmdHBkLmNvbmYiCitMREZMQUdTX2FwcGVuZCA9IiAtbGNyeXB0IC1sY2FwIgorCitFWFRSQV9PRU1BS0UgPSAiLWUgTUFLRUZMQUdTPSIKKworZG9fY29uZmlndXJlKCkgeworICAgICMgRml4IGhhcmRjb2RlZCAvdXNyLCAvZXRjLCAvdmFyIG1lc3MuCisgICAgY2F0IHR1bmFibGVzLmN8c2VkIHM6XCIvdXNyOlwiJHtwcmVmaXh9Omd8c2VkIHM6XCIvdmFyOlwiJHtsb2NhbHN0YXRlZGlyfTpnIFwKKyAgICB8c2VkIHM6XCIvZXRjOlwiJHtzeXNjb25mZGlyfTpnID4gdHVuYWJsZXMuYy5uZXcKKyAgICBtdiB0dW5hYmxlcy5jLm5ldyB0dW5hYmxlcy5jCit9CisKK2RvX2NvbXBpbGUoKSB7CisgICBvZV9ydW5tYWtlICJMSUJTPS1MJHtTVEFHSU5HX0xJQkRJUn0gLWxjcnlwdCAtbGNhcCAke1BBTUxJQn0gLWx3cmFwIgorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke21hbmRpcn0vbWFuOAorICAgIGluc3RhbGwgLWQgJHtEfSR7bWFuZGlyfS9tYW41CisgICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfQorICAgIGluc3RhbGwgLW0gNjAwICR7V09SS0RJUn0vdnNmdHBkLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vdnNmdHBkLmNvbmYKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC8KKyAgICBpbnN0YWxsIC1tIDc1NSAke1dPUktESVJ9L2luaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3ZzZnRwZAorICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzCisgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS92b2xhdGlsZXMuOTlfdnNmdHBkICR7RH0vJHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcy85OV92c2Z0cGQKKworICAgIGluc3RhbGwgLW0gNjAwICR7V09SS0RJUn0vdnNmdHBkLmZ0cHVzZXJzICR7RH0ke3N5c2NvbmZkaXJ9LworICAgIGluc3RhbGwgLW0gNjAwICR7V09SS0RJUn0vdnNmdHBkLnVzZXJfbGlzdCAke0R9JHtzeXNjb25mZGlyfS8KKyAgICBpZiAhIHRlc3QgLXogIiR7UEFNTElCfSIgOyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vcGFtLmQvCisgICAgICAgIGNwICR7U30vUmVkSGF0L3ZzZnRwZC5wYW0gJHtEfSR7c3lzY29uZmRpcn0vcGFtLmQvdnNmdHBkCisgICAgICAgIHNlZCAtaSAiczovbGliL3NlY3VyaXR5OiR7YmFzZV9saWJkaXJ9L3NlY3VyaXR5OiIgJHtEfSR7c3lzY29uZmRpcn0vcGFtLmQvdnNmdHBkCisgICAgICAgIHNlZCAtaSAiczpmdHB1c2Vyczp2c2Z0cGQuZnRwdXNlcnM6IiAke0R9JHtzeXNjb25mZGlyfS9wYW0uZC92c2Z0cGQKKyAgICBmaQorICAgIGlmICR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kCisgICAgICAgIGVjaG8gImQgL3Zhci9ydW4vdnNmdHBkL2VtcHR5IDA3NTUgcm9vdCByb290IC0iIFwKKyAgICAgICAgPiAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kLyR7QlBOfS5jb25mCisgICAgZmkKKworICAgICMgSW5zdGFsbCBzeXN0ZW1kIHVuaXQgZmlsZXMKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vdnNmdHBkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBzZWQgLWkgLWUgJ3MjQFNCSU5ESVJAIyR7c2JpbmRpcn0jZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vdnNmdHBkLnNlcnZpY2UKK30KKworSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfSIKK0lOSVRTQ1JJUFRfTkFNRV8ke1BOfSA9ICJ2c2Z0cGQiCitJTklUU0NSSVBUX1BBUkFNU18ke1BOfSA9ICJkZWZhdWx0cyA4MCIKKworVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKK1VTRVJBRERfUEFSQU1fJHtQTn0gPSAiLS1zeXN0ZW0gLS1ob21lLWRpciAvdmFyL2xpYi9mdHAgLS1uby1jcmVhdGUtaG9tZSAtZyBmdHAgXAorICAgICAgICAgICAgICAgICAgICAgICAtLXNoZWxsIC9iaW4vZmFsc2UgZnRwICIKK0dST1VQQUREX1BBUkFNXyR7UE59ID0gIi1yIGZ0cCIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInZzZnRwZC5zZXJ2aWNlIgorCitwa2dfcG9zdGluc3RfJHtQTn0oKSB7CisgICAgaWYgWyAteiAiJEQiIF07IHRoZW4KKwlpZiB0eXBlIHN5c3RlbWQtdG1wZmlsZXMgPi9kZXYvbnVsbDsgdGhlbgorCSAgICBzeXN0ZW1kLXRtcGZpbGVzIC0tY3JlYXRlCisJZWxpZiBbIC1lICR7c3lzY29uZmRpcn0vaW5pdC5kL3BvcHVsYXRlLXZvbGF0aWxlLnNoIF07IHRoZW4KKwkgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggdXBkYXRlCisJZmkKKyAgICBmaQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1leHRlbmRlZC9pc2NzaXRhcmdldC9maWxlcy9hY2Nlc3Mtc2tfdjZfZGFkZHItaWZmLUlQVjYtZGVmaW5lZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZXh0ZW5kZWQvaXNjc2l0YXJnZXQvZmlsZXMvYWNjZXNzLXNrX3Y2X2RhZGRyLWlmZi1JUFY2LWRlZmluZWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDQ0NDIzNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZXh0ZW5kZWQvaXNjc2l0YXJnZXQvZmlsZXMvYWNjZXNzLXNrX3Y2X2RhZGRyLWlmZi1JUFY2LWRlZmluZWQucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorVGhlIGVsZW1lbnQgc2tjX3Y2X2RhZGRyIChpbiBzdHJ1Y3Qgc29ja19jb21tb24pIGlzIGRlZmluZWQgaW4gCitrZXJuZWwgc291cmNlIG9ubHkgd2hlbiBDT05GSUdfSVBWNiBpcyBlbmFibGVkLiBIZW5jZSwgYWNjZXNzIAorc2tfdjZfZGFkZHIgZWxlbWVudCAoaS5lIF9fc2tfY29tbW9uLnNrY192Nl9kYWRkcikgb25seSB3aGVuIENPTkZJR19JUFY2IAoraXMgZGVmaW5lZDsgdG8gZml4IGJlbG93IGVycm9yIGluIHdvcmxkIGJ1aWxkOgorCistLSBzbmlwIC0tCisvaG9tZS9qZW5raW5zL29lL3dvcmxkL3Noci1jb3JlL3RtcC1nbGliYy93b3JrLXNoYXJlZC9xZW11eDg2L2tlcm5lbC1zb3VyY2UvaW5jbHVkZS9uZXQvc29jay5oOjMzMDozMzogZXJyb3I6ICdzdHJ1Y3Qgc29ja19jb21tb24nIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3NrY192Nl9kYWRkcicKKy0tIENVVCAtLQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSmFnYWRlZXNoIEtyaXNobmFuamFuYXBwYSA8amtyaXNobmFuamFuYXBwYUBtdmlzdGEuY29tPgorCistLS0gaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyX29yZy9rZXJuZWwvY29ubi5jCTIwMTUtMTItMjkgMjE6NTc6NTAuNTQ3OTMyMjE3IC0wODAwCisrKysgaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyL2tlcm5lbC9jb25uLmMJMjAxNS0xMi0yOSAyMjo0NzoyNS4yNTQ2NTc2MjcgLTA4MDAKK0BAIC00NiwxMCArNDYsMTIgQEAgdm9pZCBjb25uX2luZm9fc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcQorIAkJCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksCisgCQkJCSAiJXBJNCIsICZpbmV0X3NrKHNrKS0+aW5ldF9kYWRkcik7CisgCQkJYnJlYWs7CisrI2lmIGRlZmluZWQoQ09ORklHX0lQVjYpCisgCQljYXNlIEFGX0lORVQ2OgorIAkJCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICJbJXBJNl0iLAorIAkJCQkgJihzayktPnNrX3Y2X2RhZGRyKTsKKyAJCQlicmVhazsKKysjZW5kaWYgLyogZGVmaW5lZChDT05GSUdfSVBWNikgKi8KKyAJCWRlZmF1bHQ6CisgCQkJYnJlYWs7CisgCQl9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWV4dGVuZGVkL2lzY3NpdGFyZ2V0L2ZpbGVzL2J1aWxkX3dpdGhfdXBkYXRlZF9iaW9fc3RydWN0X29mX2xpbnV4X3Y0LjNfYW5kX2Fib3ZlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1leHRlbmRlZC9pc2NzaXRhcmdldC9maWxlcy9idWlsZF93aXRoX3VwZGF0ZWRfYmlvX3N0cnVjdF9vZl9saW51eF92NC4zX2FuZF9hYm92ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZThiNzkyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1leHRlbmRlZC9pc2NzaXRhcmdldC9maWxlcy9idWlsZF93aXRoX3VwZGF0ZWRfYmlvX3N0cnVjdF9vZl9saW51eF92NC4zX2FuZF9hYm92ZS5wYXRjaApAQCAtMCwwICsxLDc1IEBACisxLiB0ZXN0X2JpdCB3YXMgdXNlZCB0byByZXR1cm4gdHJ1ZSBib29sZWFuIHZhbHVlLCBpZgorICAgQklPX1VQVE9EQVRFIGJpdCBvZiBiaW8tPmJpX2ZsYWdzIGlzIHNldC4gQnV0IHRoZSBzYW1lCisgICBqb2IgY2FuIGJlIGRvbmUgYnkgY2hlY2tpbmcgYmlvLT5iaV9lcnJvciwgaW1wbGVtZW50ZWQgaW4KKyAgIGxpbnV4IGtlcm5lbCA0LjMgYW5kIGFib3ZlLiBJZiBiaW8tPmJpX2Vycm9yIGlzIHNldCwgdGhlbiAKKyAgIGl0IGRlbm90ZXMgZXJyb3IuCisKK1JlZjogaHR0cHM6Ly9naXRodWIuY29tL3RvcnZhbGRzL2xpbnV4L2NvbW1pdC80MjQ2YTBiNjNiZDhmNTZhMTQ2OWIxMmVhZmViODc1YjEwNDFhNDUxCisKK0l0IHNvbHZlcyBiZWxvdyBidWlsZCBlcnJvcjoKKy0tIHNuaXAgLS0KK2lzY3NpdGFyZ2V0LTEuNC4yMC4zK3N2bjUwMi9rZXJuZWwvYmxvY2staW8uYzo0MDoxOTogZXJyb3I6ICdCSU9fVVBUT0RBVEUnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQorICAgZXJyb3IgPSB0ZXN0X2JpdChCSU9fVVBUT0RBVEUsICZiaW8tPmJpX2ZsYWdzKSA/IGVycm9yIDogLUVJTzsKKy0tIENVVCAtLQorCisyLiBiaW8gY2FuIGFsd2F5cyBiZSBmaWxsZWQgdG8gYSBtYXhpbXVtIHZhbHVlIG9mIEJJT19NQVhfUEFHRVMsIAorICAgc28gbm8gbmVlZCB0byBjaGVjayBmb3IgbWluIHZhbHVlIGZvciBsaW51eCBrZXJuZWwgNC4zIGFuZCBhYm92ZS4KKworUmVmOiBodHRwczovL2dpdGh1Yi5jb20vdG9ydmFsZHMvbGludXgvY29tbWl0L2I1NGZmYjczY2FkY2RjZmY5Y2MxYWUwZTExZjUwMjQwN2UzZTJlNGMKKworSXQgc29sdmVzIGJlbG93IGJ1aWxkIGVycm9yOgorLS0gc25pcCAtLQoraXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyL2tlcm5lbC9ibG9jay1pby5jOjgwOjE1OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ2Jpb19nZXRfbnJfdmVjcycgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCisgICAgbWF4X3BhZ2VzID0gYmlvX2dldF9ucl92ZWNzKGJpb19kYXRhLT5iZGV2KTsKKy0tIENVVCAtLQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSmFnYWRlZXNoIEtyaXNobmFuamFuYXBwYSA8amtyaXNobmFuamFuYXBwYUBtdmlzdGEuY29tPgorCitkaWZmIC1OYXVycCBpc2NzaXRhcmdldC0xLjQuMjAuMytzdm41MDJfb3JnL2tlcm5lbC9ibG9jay1pby5jIGlzY3NpdGFyZ2V0LTEuNC4yMC4zK3N2bjUwMi9rZXJuZWwvYmxvY2staW8uYworLS0tIGlzY3NpdGFyZ2V0LTEuNC4yMC4zK3N2bjUwMl9vcmcva2VybmVsL2Jsb2NrLWlvLmMJMjAxNi0wNC0wMSAwOTowNzoxMi44OTE4MTAwNTkgKzA1MzAKKysrKyBpc2NzaXRhcmdldC0xLjQuMjAuMytzdm41MDIva2VybmVsL2Jsb2NrLWlvLmMJMjAxNi0wNC0wMSAwOToxNTo1OS4wNzY0NjkzMTMgKzA1MzAKK0BAIC0zMyw3ICszMywxMSBAQCBzdGF0aWMgdm9pZCBibG9ja2lvX2Jpb19lbmRpbyhzdHJ1Y3QgYmlvCisgeworIAlzdHJ1Y3QgdGlvX3dvcmsgKnRpb193b3JrID0gYmlvLT5iaV9wcml2YXRlOworIAorKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwgMywgMCkKKysJZXJyb3IgPSBiaW8tPmJpX2Vycm9yID8gLUVJTyA6IGVycm9yOworKyNlbHNlCisgCWVycm9yID0gdGVzdF9iaXQoQklPX1VQVE9EQVRFLCAmYmlvLT5iaV9mbGFncykgPyBlcnJvciA6IC1FSU87CisrI2VuZGlmIC8qIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig0LCAzLCAwKSAqLwkKKyAKKyAJaWYgKGVycm9yKQorIAkJYXRvbWljX3NldCgmdGlvX3dvcmstPmVycm9yLCBlcnJvcik7CitAQCAtNjEsNiArNjUsMTAgQEAgYmxvY2tpb19tYWtlX3JlcXVlc3Qoc3RydWN0IGlldF92b2x1bWUgKgorIAl1MzIgc2l6ZSA9IHRpby0+c2l6ZTsKKyAJdTMyIHRpb19pbmRleCA9IDA7CisgCisrI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig0LCAzLCAwKQorKwlpbnQgZXJyID0gMDsKKysJbG9mZl90IHBwb3MgPSB0aW8tPm9mZnNldDsJCisrI2Vsc2UJCisgCWludCBtYXhfcGFnZXMgPSAxOworIAlpbnQgZXJyID0gMDsKKyAKK0BAIC02OSw2ICs3Nyw3IEBAIGJsb2NraW9fbWFrZV9yZXF1ZXN0KHN0cnVjdCBpZXRfdm9sdW1lICoKKyAJLyogQ2FsY3VsYXRlIG1heF9wYWdlcyBmb3IgYmlvX2FsbG9jIChtZW1vcnkgc2F2ZXIpICovCisgCWlmIChiZGV2X3EpCisgCQltYXhfcGFnZXMgPSBiaW9fZ2V0X25yX3ZlY3MoYmlvX2RhdGEtPmJkZXYpOworKyNlbmRpZiAvKiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwgMywgMCkgKi8KKyAKKyAJdGlvX3dvcmsgPSBremFsbG9jKHNpemVvZiAoKnRpb193b3JrKSwgR0ZQX0tFUk5FTCk7CisgCWlmICghdGlvX3dvcmspCitAQCAtODAsNyArODksMTEgQEAgYmxvY2tpb19tYWtlX3JlcXVlc3Qoc3RydWN0IGlldF92b2x1bWUgKgorIAorIAkvKiBNYWluIHByb2Nlc3NpbmcgbG9vcCwgYWxsb2NhdGUgYW5kIGZpbGwgYWxsIGJpb3MgKi8KKyAJd2hpbGUgKHNpemUgJiYgdGlvX2luZGV4IDwgdGlvLT5wZ19jbnQpIHsKKysjaWYgTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDQsIDMsIDApCisrCQliaW8gPSBiaW9fYWxsb2MoR0ZQX0tFUk5FTCwgQklPX01BWF9QQUdFUyk7CisrI2Vsc2UgICAgCQkKKyAJCWJpbyA9IGJpb19hbGxvYyhHRlBfS0VSTkVMLCBtaW4obWF4X3BhZ2VzLCBCSU9fTUFYX1BBR0VTKSk7CisrI2VuZGlmIC8qIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig0LCAzLCAwKSAqLwkJCisgCQlpZiAoIWJpbykgeworIAkJCWVyciA9IC1FTk9NRU07CisgCQkJZ290byBvdXQ7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWV4dGVuZGVkL2lzY3NpdGFyZ2V0L2ZpbGVzL2ZpeC1lcnJvcnMtb2JzZXJ2ZWQtd2l0aC1saW51eC0zLjE5LWFuZC1ncmVhdGVyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1leHRlbmRlZC9pc2NzaXRhcmdldC9maWxlcy9maXgtZXJyb3JzLW9ic2VydmVkLXdpdGgtbGludXgtMy4xOS1hbmQtZ3JlYXRlci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ODc4Y2EyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1leHRlbmRlZC9pc2NzaXRhcmdldC9maWxlcy9maXgtZXJyb3JzLW9ic2VydmVkLXdpdGgtbGludXgtMy4xOS1hbmQtZ3JlYXRlci5wYXRjaApAQCAtMCwwICsxLDE5OCBAQAorRml4IGJ1aWxkIGVycm9ycyB3aXRoIGxpbnV4IGtlcm5lbCB2My4xOSBhbmQgYWJvdmUKKworQmVsb3cgZXJyb3JzIGNhbWUgdXAgd2hpbGUgYnVpbGRpbmcgaXNjc2l0YXJnZXQgZm9yIAorcWVtdXg4Ni02NCAoYW5kIG90aGVycykgYmVjYXVzZSwKKzEuICdzdHJ1Y3QgdXNlcl9tc2doZHInIGlzIGJlaW5nIHVzZWQgZm9yIHVzZXJsYW5kLXNpZGUgbXNnaGRyIGluc3RlYWQKK29mICdzdHJ1Y3QgbXNnaGRyJywgd2hpY2ggaXMgdXNlZCBmb3Iga2VybmVsLXNpZGUgbXNnaGRyIGluIGxpbnV4IHYzLjE5CithbmQgYWJvdmUuCisKK2Vycm9yIHNuaXBwZXQ6CistLSBzbmlwIC0tCit8IC9DR0U3X1NIREQvcHJvamVjdF95b2N0b18xLjgvcG9reS9idWlsZC90bXAvd29yay9xZW11eDg2XzY0LXBva3ktbGludXgvaXNjc2l0YXJnZXQvMS40LjIwLjMrc3ZuNTAyLXIwL2lzY3NpdGFyZ2V0LTEuNC4yMC4zK3N2bjUwMi9rZXJuZWwvaXNjc2kuYzogSW4gZnVuY3Rpb24gJ2NtbmRfc2tpcF9wZHUnOgorfCAvQ0dFN19TSEREL3Byb2plY3RfeW9jdG9fMS44L3Bva3kvYnVpbGQvdG1wL3dvcmsvcWVtdXg4Nl82NC1wb2t5LWxpbnV4L2lzY3NpdGFyZ2V0LzEuNC4yMC4zK3N2bjUwMi1yMC9pc2NzaXRhcmdldC0xLjQuMjAuMytzdm41MDIva2VybmVsL2lzY3NpLmM6NDkyOjE2OiBlcnJvcjogJ3N0cnVjdCBtc2doZHInIGhhcyBubyBtZW1iZXIgbmFtZWQgJ21zZ19pb3YnCit8ICAgY29ubi0+cmVhZF9tc2cubXNnX2lvdiA9IGNvbm4tPnJlYWRfaW92OworLS0gQ1VUIC0tCisKK1JlZmVyZW5jZToKK2h0dHBzOi8vZ2l0aHViLmNvbS90b3J2YWxkcy9saW51eC9jb21taXQvNjY2NTQ3ZmY1OTFjZWJkZWRjNDY3OWJmNmIxYjNmMzM4M2E4ZGVhMworCisyLiAnU0VSVklDRV9BQ1RJT05fSU4nIGhhcyBiZWVuIHJlbmFtZWQgdG8gU0VSVklDRV9BQ1RJT05fSU5fMTYgaW4gbGludXggdjMuMTkKK2FuZCBhYm92ZS4KKworZXJyb3Igc25pcHBldDoKKy0tIHNuaXAgLS0KK3wgL0NHRTdfU0hERC9wcm9qZWN0X3lvY3RvXzEuOC9wb2t5L2J1aWxkL3RtcC93b3JrL3FlbXV4ODZfNjQtcG9reS1saW51eC9pc2NzaXRhcmdldC8xLjQuMjAuMytzdm41MDItcjAvaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyL2tlcm5lbC9pc2NzaS5jOiBJbiBmdW5jdGlvbiAnc2NzaV9jbW5kX3N0YXJ0JzoKK3wgL0NHRTdfU0hERC9wcm9qZWN0X3lvY3RvXzEuOC9wb2t5L2J1aWxkL3RtcC93b3JrL3FlbXV4ODZfNjQtcG9reS1saW51eC9pc2NzaXRhcmdldC8xLjQuMjAuMytzdm41MDItcjAvaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyL2tlcm5lbC9pc2NzaS5jOjk4OTo3OiBlcnJvcjogJ1NFUlZJQ0VfQUNUSU9OX0lOJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKK3wgICBjYXNlIFNFUlZJQ0VfQUNUSU9OX0lOOgorLS0gQ1VUIC0tCisKK1JlZmVyZW5jZToKK2h0dHBzOi8vZ2l0aHViLmNvbS90b3J2YWxkcy9saW51eC9jb21taXQvZWI4NDZkOWYxNDc0NTVlNGU1ZTE4NjNiZmI1ZTMxOTc0YmI2OWI3YworCiszLiBJbiBsaW51eCB2My4xOSBhbmQgYWJvdmUsIGZfZGVudHJ5IG1lbWJlciBoYXMgYmVlbiByZW1vdmVkIGZyb20gCisnc3RydWN0IGZpbGUnIHN0cnVjdHVyZS4KKworZXJyb3Igc25pcHBldDoKKy0tIHNuaXAgLS0KK3wgL0NHRTdfU0hERC9wcm9qZWN0X3lvY3RvXzEuOC9wb2t5L2J1aWxkL3RtcC93b3JrL3FlbXV4ODZfNjQtcG9reS1saW51eC9pc2NzaXRhcmdldC8xLjQuMjAuMytzdm41MDItcjAvaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyL2tlcm5lbC9jb25uLmM6IEluIGZ1bmN0aW9uICdpZXRfc29ja2V0X2JpbmQnOgorfCAvQ0dFN19TSEREL3Byb2plY3RfeW9jdG9fMS44L3Bva3kvYnVpbGQvdG1wL3dvcmsvcWVtdXg4Nl82NC1wb2t5LWxpbnV4L2lzY3NpdGFyZ2V0LzEuNC4yMC4zK3N2bjUwMi1yMC9pc2NzaXRhcmdldC0xLjQuMjAuMytzdm41MDIva2VybmVsL2Nvbm4uYzoxMzA6MzQ6IGVycm9yOiAnc3RydWN0IGZpbGUnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ2ZfZGVudHJ5JworfCAgIGNvbm4tPnNvY2sgPSBTT0NLRVRfSShjb25uLT5maWxlLT5mX2RlbnRyeS0+ZF9pbm9kZSk7CistLSBDVVQgLS0KKworbmV3IGhlbHBlciBmdW5jdGlvbiBmaWxlX2lub2RlKGZpbGUpIHNob3VsZCBiZSB1c2VkIGluc3RlYWQuCisKK1JlZmVyZW5jZXM6CisxLiBodHRwczovL2dpdGh1Yi5jb20vdG9ydmFsZHMvbGludXgvY29tbWl0Lzc4ZDI4ZTY1MWY5Nzg2NmQ2MDhkOWI0MWY4YWQyOTFlNjVkNDdkZDUKKzIuIGh0dHBzOi8vZ2l0aHViLmNvbS90b3J2YWxkcy9saW51eC9jb21taXQvNDk2YWQ5YWE4ZWY0NDgwNThlMzZjYTdhNzg3YzYxZjJlNjNmMGY1NAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSmFnYWRlZXNoIEtyaXNobmFuamFuYXBwYSA8amtyaXNobmFuamFuYXBwYUBtdmlzdGEuY29tPgorCistLS0gaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyX29yZy9rZXJuZWwvY29ubi5jCTIwMTUtMDgtMjQgMTY6MTM6MjYuNDgxOTI0Njc5ICswNTMwCisrKysgaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyL2tlcm5lbC9jb25uLmMJMjAxNS0wOC0yNCAxNzoyNzowNi44OTc2NTM2OTggKzA1MzAKK0BAIC0xMjcsNyArMTI3LDExIEBAIHN0YXRpYyB2b2lkIGlldF9zb2NrZXRfYmluZChzdHJ1Y3QgaXNjc2kKKyAKKyAJZHByaW50ayhEX0dFTkVSSUMsICIlbGx1XG4iLCAodW5zaWduZWQgbG9uZyBsb25nKSBzZXNzaW9uLT5zaWQpOworIAorKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywgMTksIDApCisrCWNvbm4tPnNvY2sgPSBTT0NLRVRfSShmaWxlX2lub2RlKGNvbm4tPmZpbGUpKTsKKysjZWxzZQorIAljb25uLT5zb2NrID0gU09DS0VUX0koY29ubi0+ZmlsZS0+Zl9kZW50cnktPmRfaW5vZGUpOworKyNlbmRpZiAvKiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywgMTksIDApICovCisgCWNvbm4tPnNvY2stPnNrLT5za191c2VyX2RhdGEgPSBjb25uOworIAorIAl3cml0ZV9sb2NrX2JoKCZjb25uLT5zb2NrLT5zay0+c2tfY2FsbGJhY2tfbG9jayk7CistLS0gaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyX29yZy9rZXJuZWwvZmlsZS1pby5jCTIwMTUtMDgtMjQgMTY6MTM6MjYuNDgxOTI0Njc5ICswNTMwCisrKysgaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyL2tlcm5lbC9maWxlLWlvLmMJMjAxNS0wOC0yNCAxNzozMDo1NC4zOTAxMzExMDAgKzA1MzAKK0BAIC02OSw3ICs2OSwxMSBAQCBzdGF0aWMgaW50IGZpbGVpb19tYWtlX3JlcXVlc3Qoc3RydWN0IGllCisgc3RhdGljIGludCBmaWxlaW9fc3luYyhzdHJ1Y3QgaWV0X3ZvbHVtZSAqbHUsIHN0cnVjdCB0aW8gKnRpbykKKyB7CisgCXN0cnVjdCBmaWxlaW9fZGF0YSAqcCA9IGx1LT5wcml2YXRlOworKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywgMTksIDApCisrCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBmaWxlX2lub2RlKHAtPmZpbHApOworKyNlbHNlCisgCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBwLT5maWxwLT5mX2RlbnRyeS0+ZF9pbm9kZTsKKysjZW5kaWYgLyogTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsIDE5LCAwKSAqLworIAlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZyA9IGlub2RlLT5pX21hcHBpbmc7CisgCWxvZmZfdCBwcG9zLCBjb3VudDsKKyAJaW50IHJlczsKK0BAIC0yMTMsNyArMjE3LDExIEBAIHN0YXRpYyBpbnQgZmlsZWlvX2F0dGFjaChzdHJ1Y3QgaWV0X3ZvbHUKKyAJCWVwcmludGsoIiVkXG4iLCBlcnIpOworIAkJZ290byBvdXQ7CisgCX0KKysjaWYgTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsIDE5LCAwKQorKwlpbm9kZSA9IGZpbGVfaW5vZGUocC0+ZmlscCk7CisrI2Vsc2UKKyAJaW5vZGUgPSBwLT5maWxwLT5mX2RlbnRyeS0+ZF9pbm9kZTsKKysjZW5kaWYgLyogTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsIDE5LCAwKSAqLworIAorIAlpZiAoU19JU1JFRyhpbm9kZS0+aV9tb2RlKSkKKyAJCTsKKy0tLSBpc2NzaXRhcmdldC0xLjQuMjAuMytzdm41MDJfb3JnL2tlcm5lbC9pc2NzaS5jCTIwMTUtMDgtMjQgMTY6MTM6MjYuNDgxOTI0Njc5ICswNTMwCisrKysgaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyL2tlcm5lbC9pc2NzaS5jCTIwMTUtMDgtMjQgMTc6MzM6NTAuOTUwNDkwMTU2ICswNTMwCitAQCAtOTg2LDcgKzk4NiwxMSBAQCBzdGF0aWMgdm9pZCBzY3NpX2NtbmRfc3RhcnQoc3RydWN0IGlzY3NpCisgCQlzZXRfY21uZF9sdW5pdChyZXEpOworIAorIAlzd2l0Y2ggKHJlcV9oZHItPnNjYlswXSkgeworKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywgMTksIDApCisrCWNhc2UgU0VSVklDRV9BQ1RJT05fSU5fMTY6CisrI2Vsc2UKKyAJY2FzZSBTRVJWSUNFX0FDVElPTl9JTjoKKysjZW5kaWYgLyogTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsIDE5LCAwKSAqLworIAkJaWYgKChyZXFfaGRyLT5zY2JbMV0gJiAweDFmKSAhPSAweDEwKQorIAkJCWdvdG8gZXJyb3I7CisgCWNhc2UgSU5RVUlSWToKKy0tLSBpc2NzaXRhcmdldC0xLjQuMjAuMytzdm41MDJfb3JnL2tlcm5lbC9pc2NzaS5oCTIwMTUtMDgtMjQgMTY6MTM6MjYuNDgxOTI0Njc5ICswNTMwCisrKysgaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyL2tlcm5lbC9pc2NzaS5oCTIwMTUtMDgtMjQgMTc6MzU6MzEuMzU0NjkwMDUxICswNTMwCitAQCAtMjU3LDcgKzI1NywxMSBAQCBzdHJ1Y3QgaXNjc2lfY29ubiB7CisgCXN0cnVjdCB0aW1lcl9saXN0IG5vcF90aW1lcjsKKyAKKyAJc3RydWN0IGlzY3NpX2NtbmQgKnJlYWRfY21uZDsKKysjaWYgTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsIDE5LCAwKQorKwlzdHJ1Y3QgdXNlcl9tc2doZHIgcmVhZF9tc2c7CisrI2Vsc2UKKyAJc3RydWN0IG1zZ2hkciByZWFkX21zZzsKKysjZW5kaWYgLyogTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsIDE5LCAwKSAqLworIAlzdHJ1Y3QgaW92ZWMgcmVhZF9pb3ZbSVNDU0lfQ09OTl9JT1ZfTUFYXTsKKyAJdTMyIHJlYWRfc2l6ZTsKKyAJdTMyIHJlYWRfb3ZlcmZsb3c7CistLS0gaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyX29yZy9rZXJuZWwvbnRocmVhZC5jCTIwMTUtMDgtMjQgMTY6MTM6MjYuNDgxOTI0Njc5ICswNTMwCisrKysgaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyL2tlcm5lbC9udGhyZWFkLmMJMjAxNS0wOC0yNCAxNzo0MTo1Ni4xODc0Mjg5MjUgKzA1MzAKK0BAIC04MCw4ICs4MCwxMSBAQCBzdGF0aWMgaW50IGlzX2RhdGFfYXZhaWxhYmxlKHN0cnVjdCBpc2NzCisgCXNldF9mcyhvbGRmcyk7CisgCXJldHVybiAocmVzID49IDApID8gYXZhaWwgOiByZXM7CisgfQorLQorKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywgMTksIDApCisrc3RhdGljIHZvaWQgZm9yd2FyZF9pb3Yoc3RydWN0IHVzZXJfbXNnaGRyICptc2csIGludCBsZW4pCisrI2Vsc2UKKyBzdGF0aWMgdm9pZCBmb3J3YXJkX2lvdihzdHJ1Y3QgbXNnaGRyICptc2csIGludCBsZW4pCisrI2VuZGlmIC8qIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigzLCAxOSwgMCkgKi8KKyB7CisgCXdoaWxlIChtc2ctPm1zZ19pb3YtPmlvdl9sZW4gPD0gbGVuKSB7CisgCQlsZW4gLT0gbXNnLT5tc2dfaW92LT5pb3ZfbGVuOworQEAgLTk2LDcgKzk5LDExIEBAIHN0YXRpYyB2b2lkIGZvcndhcmRfaW92KHN0cnVjdCBtc2doZHIgKm0KKyBzdGF0aWMgaW50IGRvX3JlY3Yoc3RydWN0IGlzY3NpX2Nvbm4gKmNvbm4sIGludCBzdGF0ZSkKKyB7CisgCW1tX3NlZ21lbnRfdCBvbGRmczsKKysjaWYgTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsIDE5LCAwKQorKwlzdHJ1Y3QgdXNlcl9tc2doZHIgbXNnOworKyNlbHNlCisgCXN0cnVjdCBtc2doZHIgbXNnOworKyNlbmRpZiAvKiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywgMTksIDApICovCisgCXN0cnVjdCBpb3ZlYyBpb3ZbSVNDU0lfQ09OTl9JT1ZfTUFYXTsKKyAJaW50IGksIGxlbiwgcmVzOworIAorQEAgLTQ2MSw3ICs0NjgsMTEgQEAgc3RhdGljIHZvaWQgZXhpdF90eChzdHJ1Y3QgaXNjc2lfY29ubiAqYworIHN0YXRpYyBpbnQgdHhfZGRpZ2VzdChzdHJ1Y3QgaXNjc2lfY21uZCAqY21uZCwgaW50IHN0YXRlKQorIHsKKyAJaW50IHJlcywgcmVzdCA9IGNtbmQtPmNvbm4tPndyaXRlX3NpemU7CisrI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigzLCAxOSwgMCkKKysJc3RydWN0IHVzZXJfbXNnaGRyIG1zZyA9IHsubXNnX2ZsYWdzID0gTVNHX05PU0lHTkFMIHwgTVNHX0RPTlRXQUlUfTsKKysjZWxzZQorIAlzdHJ1Y3QgbXNnaGRyIG1zZyA9IHsubXNnX2ZsYWdzID0gTVNHX05PU0lHTkFMIHwgTVNHX0RPTlRXQUlUfTsKKysjZW5kaWYgLyogTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsIDE5LCAwKSAqLworIAlzdHJ1Y3Qga3ZlYyBpb3Y7CisgCisgCWlvdi5pb3ZfYmFzZSA9IChjaGFyICopICgmY21uZC0+ZGRpZ2VzdCkgKyAoc2l6ZW9mKHUzMikgLSByZXN0KTsKKy0tLSBpc2NzaXRhcmdldC0xLjQuMjAuMytzdm41MDJfb3JnL2tlcm5lbC90YXJnZXRfZGlzay5jCTIwMTUtMDgtMjQgMTY6MTM6MjYuNDgxOTI0Njc5ICswNTMwCisrKysgaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyL2tlcm5lbC90YXJnZXRfZGlzay5jCTIwMTUtMDgtMjQgMTc6NDM6NDIuMTY3NjI1MTU5ICswNTMwCitAQCAtNjA2LDcgKzYwNiwxMSBAQCBzdGF0aWMgaW50IGRpc2tfZXhlY3V0ZV9jbW5kKHN0cnVjdCBpc2NzCisgCWNhc2UgUkVRVUVTVF9TRU5TRToKKyAJCXNlbmRfZGF0YV9yc3AoY21uZCwgYnVpbGRfcmVxdWVzdF9zZW5zZV9yZXNwb25zZSk7CisgCQlicmVhazsKKysjaWYgTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsIDE5LCAwKQorKwljYXNlIFNFUlZJQ0VfQUNUSU9OX0lOXzE2OgorKyNlbHNlCisgCWNhc2UgU0VSVklDRV9BQ1RJT05fSU46CisrI2VuZGlmIC8qIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigzLCAxOSwgMCkgKi8JCisgCQlzZW5kX2RhdGFfcnNwKGNtbmQsIGJ1aWxkX3NlcnZpY2VfYWN0aW9uX2luX3Jlc3BvbnNlKTsKKyAJCWJyZWFrOworIAljYXNlIFJFQURfNjoKKy0tLSBpc2NzaXRhcmdldC0xLjQuMjAuMytzdm41MDJfb3JnL2tlcm5lbC92b2x1bWUuYwkyMDE1LTA4LTI0IDE2OjEzOjI2LjQ3NzkyNDY3NCArMDUzMAorKysrIGlzY3NpdGFyZ2V0LTEuNC4yMC4zK3N2bjUwMi9rZXJuZWwvdm9sdW1lLmMJMjAxNS0wOC0yNCAxODoyODoxNS42OTcwNzQ3ODAgKzA1MzAKK0BAIC0zOTgsNyArMzk4LDExIEBAIGludCBpc192b2x1bWVfcmVzZXJ2ZWQoc3RydWN0IGlldF92b2x1bWUKKyAJCWNhc2UgUkVBRF9DQVBBQ0lUWToKKyAJCQkvKiBhbGxvd2VkIGNvbW1hbmRzIHdoZW4gcmVzZXJ2ZWQgKi8KKyAJCQlicmVhazsKKysjaWYgTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsIDE5LCAwKQkJCQorKwkJY2FzZSBTRVJWSUNFX0FDVElPTl9JTl8xNjoKKysjZWxzZQorIAkJY2FzZSBTRVJWSUNFX0FDVElPTl9JTjoKKysjZW5kaWYgLyogTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsIDE5LCAwKSAqLworIAkJCWlmICgoc2NiWzFdICYgMHgxRikgPT0gMHgxMCkKKyAJCQkJYnJlYWs7CisgCQkJLyogZmFsbCB0aHJvdWdoICovCitAQCAtNDY1LDcgKzQ2OSwxMSBAQCBpbnQgaXNfdm9sdW1lX3Jlc2VydmVkKHN0cnVjdCBpZXRfdm9sdW1lCisgCQlpZiAoZXhjbF9hY2Nlc3Nfcm8gJiYgIXJlZ2lzdGVyZWQpCisgCQkJZXJyID0gLUVCVVNZOworIAkJYnJlYWs7CisrI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigzLCAxOSwgMCkKKysJY2FzZSBTRVJWSUNFX0FDVElPTl9JTl8xNjoKKysjZWxzZQorIAljYXNlIFNFUlZJQ0VfQUNUSU9OX0lOOgorKyNlbmRpZiAvKiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywgMTksIDApICovCisgCQlpZiAoKHNjYlsxXSAmIDB4MUYpID09IDB4MTApCisgCQkJYnJlYWs7CisgCQkvKiBmYWxsIHRocm91Z2ggKi8KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZXh0ZW5kZWQvaXNjc2l0YXJnZXQvZmlsZXMvdXNlLWtlcm5lbC1tYWtlZmlsZS10by1nZXQta2VybmVsLXZlcnNpb24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWV4dGVuZGVkL2lzY3NpdGFyZ2V0L2ZpbGVzL3VzZS1rZXJuZWwtbWFrZWZpbGUtdG8tZ2V0LWtlcm5lbC12ZXJzaW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1YmQwNDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWV4dGVuZGVkL2lzY3NpdGFyZ2V0L2ZpbGVzL3VzZS1rZXJuZWwtbWFrZWZpbGUtdG8tZ2V0LWtlcm5lbC12ZXJzaW9uLnBhdGNoCkBAIC0wLDAgKzEsNjcgQEAKK0dldCBsaW51eCBrZXJuZWwgdmVyc2lvbiBmcm9tIE1ha2VmaWxlIG9mIGtlcm5lbCBzb3VyY2UKKworV2UgZ2V0IGJlbG93IG1lc3NhZ2VzIHdoaWxlIGJ1aWxkaW5nIGlzY3NpdGFyZ2V0LAorCistLSBzbmlwIC0tCit4ODZfNjQtcG9reS1saW51eC1nY2M6IGVycm9yOgorL0NHRTdfU0hERC9wcm9qZWN0X3lvY3RvXzEuOC9wb2t5L2J1aWxkL3RtcC93b3JrLXNoYXJlZC9xZW11eDg2LTY0L2tlcm5lbC1zb3VyY2UvaW5jbHVkZS9saW51eC92ZXJzaW9uLmg6CitObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cit4ODZfNjQtcG9reS1saW51eC1nY2M6IGZhdGFsIGVycm9yOiBubyBpbnB1dCBmaWxlcworY29tcGlsYXRpb24gdGVybWluYXRlZC4KKy9iaW4vc2g6IGxpbmUgMDogWzogdG9vIG1hbnkgYXJndW1lbnRzCisvYmluL3NoOiBsaW5lIDA6IFs6IHRvbyBtYW55IGFyZ3VtZW50cworL2Jpbi9zaDogbGluZSAwOiBbOiB0b28gbWFueSBhcmd1bWVudHMKKy9iaW4vc2g6IGxpbmUgMDogWzogdG9vIG1hbnkgYXJndW1lbnRzCisvYmluL3NoOiBsaW5lIDA6IFs6IHRvbyBtYW55IGFyZ3VtZW50cworL2Jpbi9zaDogbGluZSAwOiBbOiB0b28gbWFueSBhcmd1bWVudHMKKy9iaW4vc2g6IGxpbmUgMDogWzogdG9vIG1hbnkgYXJndW1lbnRzCisvYmluL3NoOiBsaW5lIDA6IFs6IHRvbyBtYW55IGFyZ3VtZW50cworL2Jpbi9zaDogbGluZSAwOiBbOiB0b28gbWFueSBhcmd1bWVudHMKKy9iaW4vc2g6IGxpbmUgMDogWzogdG9vIG1hbnkgYXJndW1lbnRzCisvYmluL3NoOiBsaW5lIDA6IFs6IHRvbyBtYW55IGFyZ3VtZW50cworL2Jpbi9zaDogbGluZSAwOiBbOiB0b28gbWFueSBhcmd1bWVudHMKKy0tIENVVCAtLQorCitUaGVzZSBtZXNzYWdlcyBhcmUgZHVlIHRvIGFic2VuY2Ugb2YgaW5jbHVkZS9saW51eC92ZXJzaW9uLmggZmlsZSBpbiAKK2tlcm5lbCBzb3VyY2UgZGlyZWN0b3J5IGFuZCBmYWlsZWQgdG8gY29tcHV0ZSBsaW51eCBrZXJuZWwgdmVyc2lvbi4KK1NvLCB1c2Uga2VybmVsIHNvdXJjZSBNYWtlZmlsZSAoIGkuZSAkKEtTUkMpL01ha2VmaWxlKSB0byBmaW5kIG91dCAKK2FjdHVhbCBrZXJuZWwgdmVyc2lvbi4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEphZ2FkZWVzaCBLcmlzaG5hbmphbmFwcGEgPGprcmlzaG5hbmphbmFwcGFAbXZpc3RhLmNvbT4KKworLS0tIGlzY3NpdGFyZ2V0LTEuNC4yMC4zK3N2bjQ5OV9vcmcvTWFrZWZpbGUJMjAxNC0wMS0yNyAwMDowMDo0NS4wMDAwMDAwMDAgKzA1MzAKKysrKyBpc2NzaXRhcmdldC0xLjQuMjAuMytzdm40OTkvTWFrZWZpbGUJMjAxNS0wNy0yMyAxMDo0NDo0Ny4wMTM2MDAyODUgKzA1MzAKK0BAIC0xOCwyNyArMTgsMTEgQEAgaWZlcSAoJChLU1JDKSwpCisgZW5kaWYKKyAKKyAKKy1pZm5lcSAoJCh3aWxkY2FyZCAkKEtTUkMpL2luY2x1ZGUvZ2VuZXJhdGVkL3V0c3JlbGVhc2UuaCksKQorLQlWRVJTSU9OX0ZJTEUgOj0gJChLU1JDKS9pbmNsdWRlL2dlbmVyYXRlZC91dHNyZWxlYXNlLmgKKy1lbHNlCistICBpZm5lcSAoJCh3aWxkY2FyZCAkKEtTUkMpL2luY2x1ZGUvbGludXgvdXRzcmVsZWFzZS5oKSwpCistCSAgVkVSU0lPTl9GSUxFIDo9ICQoS1NSQykvaW5jbHVkZS9saW51eC91dHNyZWxlYXNlLmgKKy0gIGVsc2UKKy0JICBWRVJTSU9OX0ZJTEUgOj0gJChLU1JDKS9pbmNsdWRlL2xpbnV4L3ZlcnNpb24uaAorLSAgZW5kaWYKKy1lbmRpZgorLQorLUtWRVIgOj0gJChzaGVsbCAkKENDKSAkKENGTEFHUykgJChMREZMQUdTKSAtRSAtZE0gJChWRVJTSU9OX0ZJTEUpIHwgXAorLQlncmVwIFVUU19SRUxFQVNFIHwgYXdrICd7IHByaW50ICQkMyB9JyB8IHNlZCAncy9cIi8vZycpCistCisgS01PRCA6PSAvbGliL21vZHVsZXMvJChLVkVSKS9leHRyYQorLQorLUtNQUogOj0gJChzaGVsbCBlY2hvICQoS1ZFUikgfCBcCistCXNlZCAtZSAncy9eXChbMC05XVswLTldKlwpXC5bMC05XVswLTldKlwuWzAtOV1bMC05XSouKi9cMS8nKQorLUtNSU4gOj0gJChzaGVsbCBlY2hvICQoS1ZFUikgfCBcCistCXNlZCAtZSAncy9eWzAtOV1bMC05XSpcLlwoWzAtOV1bMC05XSpcKVwuWzAtOV1bMC05XSouKi9cMS8nKQorLUtSRVYgOj0gJChzaGVsbCBlY2hvICQoS1ZFUikgfCBcCistCXNlZCAtZSAncy9eWzAtOV1bMC05XSpcLlswLTldWzAtOV0qXC5cKFswLTldWzAtOV0qXCkuKi9cMS8nKQorK0tNQUogOj0gJChzaGVsbCBjYXQgJChLU1JDKS9NYWtlZmlsZSB8IGdyZXAgXlZFUlNJT04gfCBnYXdrIC1GICIgIiAneyBwcmludCAkJE5GIH0nKQorK0tNSU4gOj0gJChzaGVsbCBjYXQgJChLU1JDKS9NYWtlZmlsZSB8IGdyZXAgXlBBVENITEVWRUwgfCBnYXdrIC1GICIgIiAneyBwcmludCAkJE5GIH0nKQorK0tSRVYgOj0gJChzaGVsbCBjYXQgJChLU1JDKS9NYWtlZmlsZSB8IGdyZXAgXlNVQkxFVkVMIHwgZ2F3ayAtRiAiICIgJ3sgcHJpbnQgJCRORiB9JykKKytLVkVSIDo9ICR7S01BSn0uJHtLTUlOfS4ke0tSRVZ9CisgCisga3Zlcl9lcSA9ICQoc2hlbGwgWyAkKEtNQUopIC1lcSAkKDEpIC1hICQoS01JTikgLWVxICQoMikgLWEgJChLUkVWKSAtZXEgJCgzKSBdICYmIFwKKyAJZWNobyAxIHx8IGVjaG8gMCkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZXh0ZW5kZWQvaXNjc2l0YXJnZXQvaXNjc2l0YXJnZXRfMS40LjIwLjMrc3ZuNTAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1leHRlbmRlZC9pc2NzaXRhcmdldC9pc2NzaXRhcmdldF8xLjQuMjAuMytzdm41MDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGM1ZWVkNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZXh0ZW5kZWQvaXNjc2l0YXJnZXQvaXNjc2l0YXJnZXRfMS40LjIwLjMrc3ZuNTAyLmJiCkBAIC0wLDAgKzEsNTcgQEAKK0RFU0NSSVBUSU9OID0gImlTQ1NJIEVudGVycHJpc2UgVGFyZ2V0IGlzIGFpbWVkIHRvIGRldmVsb3AgYW4gXAorICAgICAgICAgICAgICAgb3BlbiBzb3VyY2UgaVNDU0kgdGFyZ2V0IHdpdGggcHJvZmVzc2lvbmFsIGZlYXR1cmVzLCBcCisgICAgICAgICAgICAgICB0aGF0IHdvcmtzIHdlbGwgaW4gZW50ZXJwcmlzZSBlbnZpcm9ubWVudCB1bmRlciByZWFsIFwKKyAgICAgICAgICAgICAgIHdvcmtsb2FkLCBhbmQgaXMgc2NhbGFibGUgYW5kIHZlcnNhdGlsZSBlbm91Z2ggdG8gbWVldCB0aGUgXAorICAgICAgICAgICAgICAgY2hhbGxlbmdlIG9mIGZ1dHVyZSBzdG9yYWdlIG5lZWRzIGFuZCBkZXZlbG9wbWVudHMuIgorSE9NRVBBR0UgPSAiaHR0cDovL2lzY3NpdGFyZ2V0LnNvdXJjZWZvcmdlLm5ldC8iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NmUyMzNlZGE0NWM4MDdhYTI5YWVhYTZkOTRiYzQ4YTIiCitERVBFTkRTID0gIm9wZW5zc2wgdmlydHVhbC9rZXJuZWwiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Z0cC5oZWFuZXQuaWUvbWlycm9ycy91YnVudHUvcG9vbC91bml2ZXJzZS9pLyR7QlBOfS8ke0JQTn1fJHtQVn0ub3JpZy50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vdXNlLWtlcm5lbC1tYWtlZmlsZS10by1nZXQta2VybmVsLXZlcnNpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZml4LWVycm9ycy1vYnNlcnZlZC13aXRoLWxpbnV4LTMuMTktYW5kLWdyZWF0ZXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYWNjZXNzLXNrX3Y2X2RhZGRyLWlmZi1JUFY2LWRlZmluZWQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYnVpbGRfd2l0aF91cGRhdGVkX2Jpb19zdHJ1Y3Rfb2ZfbGludXhfdjQuM19hbmRfYWJvdmUucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlZjliYzgyM2JiYWJkM2M3NzIyMDhjMDBkNWYyZDA4OSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkMzE5NmNjYjc4YTQzMjY2ZGNlMjg1ODdiZmUzMGQ4YWI0ZGI3NTY2ZDdiY2U5NjA1N2RmYmI4NDEwMGJhYmI1IgorCitpbmhlcml0IG1vZHVsZQorCitkb19jb25maWd1cmVbbm9leGVjXSA9ICIxIgorCisjIG1ha2Vfc2NyaXB0cyByZXF1aXJlcyBrZXJuZWwgc291cmNlIGRpcmVjdG9yeSB0byBjcmVhdGUKKyMga2VybmVsIHNjcmlwdHMKK2RvX21ha2Vfc2NyaXB0c1tkZXBlbmRzXSArPSAidmlydHVhbC9rZXJuZWw6ZG9fc2hhcmVkX3dvcmtkaXIiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSBLU1JDPSR7U1RBR0lOR19LRVJORUxfRElSfSBMREZMQUdTPScnIFY9MQorfQorCitkb19pbnN0YWxsKCkgeworICAgICMgTW9kdWxlCisgICAgaW5zdGFsbCAtZCAke0R9L2xpYi9tb2R1bGVzLyR7S0VSTkVMX1ZFUlNJT059L2tlcm5lbC9pc2NzaQorICAgIGluc3RhbGwgLW0gMDY0NCBrZXJuZWwvaXNjc2lfdHJndC5rbyBcCisgICAgJHtEfS9saWIvbW9kdWxlcy8ke0tFUk5FTF9WRVJTSU9OfS9rZXJuZWwvaXNjc2kvaXNjc2lfdHJndC5rbworICAgIAorICAgICMgVXNlcnNwYWNlIHV0aWxpdGllcworICAgIGluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgdXNyL2lldGQgJHtEfSR7c2JpbmRpcn0vaWV0ZAorICAgIGluc3RhbGwgLW0gMDc1NSB1c3IvaWV0YWRtICR7RH0ke3NiaW5kaXJ9L2lldGFkbQorICAgIAorICAgICMgQ29uZmlnIGZpbGVzLCBpbml0IHNjcmlwdHMKKyAgICBta2RpciAtcCAke0R9JHtzeXNjb25mZGlyfS9pZXQKKyAgICBpbnN0YWxsIC1tIDA2NDQgZXRjL2lldGQuY29uZiAke0R9LyR7c3lzY29uZmRpcn0vaWV0L2lldGQuY29uZgorICAgIGluc3RhbGwgLW0gMDY0NCBldGMvaW5pdGlhdG9ycy5hbGxvdyAke0R9JHtzeXNjb25mZGlyfS9pZXQvaW5pdGlhdG9ycy5hbGxvdworICAgIGluc3RhbGwgLW0gMDY0NCBldGMvdGFyZ2V0cy5hbGxvdyAke0R9JHtzeXNjb25mZGlyfS9pZXQvdGFyZ2V0cy5hbGxvdworICAgIG1rZGlyIC1wICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gMDc1NSBldGMvaW5pdGQvaW5pdGQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2lzY3NpLXRhcmdldAorICAgIGluc3RhbGwgLW0gMDY0NCBldGMvaW5pdGlhdG9ycy5kZW55ICR7RH0ke3N5c2NvbmZkaXJ9L2lldC9pbml0aWF0b3JzLmRlbnkKK30KKworRklMRVNfJHtQTn0gKz0gIiR7c2JpbmRpcn0gXAorICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0iCisKK1JERVBFTkRTXyR7UE59ID0gImtlcm5lbC1tb2R1bGUtaXNjc2ktdHJndCIKK1JSRUNPTU1FTkRTXyR7UE59ID0gImtlcm5lbC1tb2R1bGUtY3JjMzJjIGtlcm5lbC1tb2R1bGUtbGliY3JjMzJjIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvY29ubnRyYWNrLXRvb2xzL2Nvbm50cmFjay10b29sc18xLjQuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2Nvbm50cmFjay10b29scy9jb25udHJhY2stdG9vbHNfMS40LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2IxMWQyMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2Nvbm50cmFjay10b29scy9jb25udHJhY2stdG9vbHNfMS40LjIuYmIKQEAgLTAsMCArMSwzMyBAQAorU1VNTUFSWSA9ICJDb25uZWN0aW9uIHRyYWNraW5nIHVzZXJzcGFjZSB0b29scyBmb3IgTGludXgiCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGNhNDNjYmM4NDJjMjMzNmU4MzU5MjZjMjE2NmMyOGIiCitERVBFTkRTID0gImxpYm5mbmV0bGluayBsaWJuZXRmaWx0ZXItY29ubnRyYWNrIGxpYm5ldGZpbHRlci1jdHRpbWVvdXQgXAorICAgICAgICAgICBsaWJuZXRmaWx0ZXItY3RoZWxwZXIgbGlibmV0ZmlsdGVyLXF1ZXVlIGJpc29uLW5hdGl2ZSIKKworU1JDX1VSSSA9ICIgXAorICAgIGh0dHA6Ly93d3cubmV0ZmlsdGVyLm9yZy9wcm9qZWN0cy9jb25udHJhY2stdG9vbHMvZmlsZXMvY29ubnRyYWNrLXRvb2xzLSR7UFZ9LnRhci5iejI7bmFtZT10YXIgXAorICAgIGZpbGU6Ly9jb25udHJhY2stZmFpbG92ZXIgXAorICAgIGZpbGU6Ly9pbml0IFwKKyAgICBmaWxlOi8vMDAwMS1jb25udHJhY2tkLWJ1aWxkLWZpeC1jcmFzaC13aGVuLW9wdGlvbmFsLWtlcm5lbC1tb2R1LnBhdGNoIFwKKyIKK1NSQ19VUklbdGFyLm1kNXN1bV0gPSAiYjFmOWQwMDZlN2JmMDAwYTc3Mzk1ZmY3Y2QzZmFjMTYiCitTUkNfVVJJW3Rhci5zaGEyNTZzdW1dID0gImU1YzQyM2RjMDc3ZjljYTg3NjdlYWE2Y2Y0MDQ0Njk0MzkwNTcxMWM2YThmZTI3ZjljYzE5NzdkNGQ2YWExMWUiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtcmMuZCBwa2djb25maWcKKworSU5JVFNDUklQVF9OQU1FID0gImNvbm50cmFja2QiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2Nvbm50cmFja2QKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDA2NDQgZG9jL3N5bmMvZnRmdy9jb25udHJhY2tkLmNvbmYgJHtEfS8ke3N5c2NvbmZkaXJ9L2Nvbm50cmFja2QvY29ubnRyYWNrZC5jb25mLnNhbXBsZQorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2Nvbm50cmFjay1mYWlsb3ZlciAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kL2Nvbm50cmFjay1mYWlsb3ZlcgorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2luaXQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZC9jb25udHJhY2tkCisKKyAgICAjIEZpeCBoYXJkY29kZWQgcGF0aHMgaW4gc2NyaXB0cworICAgIHNlZCAtaSAncyEvdXNyL3NiaW4vISR7c2JpbmRpcn0vIWcnICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvY29ubnRyYWNrLWZhaWxvdmVyICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvY29ubnRyYWNrZAorICAgIHNlZCAtaSAncyEvZXRjLyEke3N5c2NvbmZkaXJ9LyFnJyAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kL2Nvbm50cmFjay1mYWlsb3ZlciAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kL2Nvbm50cmFja2QKKyAgICBzZWQgLWkgJ3MhL3Zhci8hJHtsb2NhbHN0YXRlZGlyfS8hZycgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZC9jb25udHJhY2stZmFpbG92ZXIgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZC9jb25udHJhY2tkICR7RH0vJHtzeXNjb25mZGlyfS9jb25udHJhY2tkL2Nvbm50cmFja2QuY29uZi5zYW1wbGUKKyAgICBzZWQgLWkgJ3MhXmV4cG9ydCBQQVRIPS4qIWV4cG9ydCBQQVRIPSR7YmFzZV9zYmluZGlyfToke2Jhc2VfYmluZGlyfToke3NiaW5kaXJ9OiR7YmluZGlyfSEnICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvY29ubnRyYWNrZAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvY29ubnRyYWNrLXRvb2xzL2ZpbGVzLzAwMDEtY29ubnRyYWNrZC1idWlsZC1maXgtY3Jhc2gtd2hlbi1vcHRpb25hbC1rZXJuZWwtbW9kdS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2Nvbm50cmFjay10b29scy9maWxlcy8wMDAxLWNvbm50cmFja2QtYnVpbGQtZml4LWNyYXNoLXdoZW4tb3B0aW9uYWwta2VybmVsLW1vZHUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTdhYjZkNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2Nvbm50cmFjay10b29scy9maWxlcy8wMDAxLWNvbm50cmFja2QtYnVpbGQtZml4LWNyYXNoLXdoZW4tb3B0aW9uYWwta2VybmVsLW1vZHUucGF0Y2gKQEAgLTAsMCArMSw4NSBAQAorRnJvbSBjMzkyYzE1OTYwNTk1NmM3YmQ0YTI2NGFiNDQ5MGUyYjI3MDRjMGNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGFibG8gTmVpcmEgQXl1c28gPHBhYmxvQG5ldGZpbHRlci5vcmc+CitEYXRlOiBGcmksIDEzIEp1biAyMDE0IDEyOjUzOjE3ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbm50cmFja2Q6IGJ1aWxkOiBmaXggY3Jhc2ggd2hlbiBvcHRpb25hbCBrZXJuZWwgbW9kdWxlcyBhcmUKKyBub3QgbG9hZGVkCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworRml4IGEgcG9zc2libGUgY3Jhc2ggaWYgY29ubnRyYWNrZCBzZWVzIERDQ1AsIFNDVFAgYW5kIElDTVB2NiB0cmFmZmljCithbmQgdGhlIGNvcnJlc3BvbmRpbmcga2VybmVsIG1vZHVsZXMgdGhhdCB0cmFjayB0aGlzIHRyYWZmaWMgYXJlIG5vdAorYXZhaWxhYmxlLgorCitGaXhlczogaHR0cDovL2J1Z3ppbGxhLm5ldGZpbHRlci5vcmcvc2hvd19idWcuY2dpP2lkPTkxMAorU2lnbmVkLW9mZi1ieTogUGFibG8gTmVpcmEgQXl1c28gPHBhYmxvQG5ldGZpbHRlci5vcmc+CistLS0KKyBzcmMvYnVpbGQuYyB8IDIyICsrKysrKysrKysrKystLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9idWlsZC5jIGIvc3JjL2J1aWxkLmMKK2luZGV4IDU3OTliNTEuLjliYThiNTcgMTAwNjQ0CistLS0gYS9zcmMvYnVpbGQuYworKysrIGIvc3JjL2J1aWxkLmMKK0BAIC0xMDUsMTQgKzEwNSwxNCBAQCBzdGF0aWMgZW51bSBuZl9jb25udHJhY2tfYXR0ciBuYXRfdHlwZVtdID0KKyAJICBBVFRSX09SSUdfTkFUX1NFUV9PRkZTRVRfQUZURVIsIEFUVFJfUkVQTF9OQVRfU0VRX0NPUlJFQ1RJT05fUE9TLAorIAkgIEFUVFJfUkVQTF9OQVRfU0VRX09GRlNFVF9CRUZPUkUsIEFUVFJfUkVQTF9OQVRfU0VRX09GRlNFVF9BRlRFUiB9OworIAorKy8qIElDTVAsIFVEUCBhbmQgVENQIGFyZSBhbHdheXMgbG9hZGVkIHdpdGggbmZfY29ubnRyYWNrX2lwdjQgKi8KKyBzdGF0aWMgdm9pZCBidWlsZF9sNHByb3RvX3RjcChjb25zdCBzdHJ1Y3QgbmZfY29ubnRyYWNrICpjdCwgc3RydWN0IG5ldGhkciAqbikKKyB7CistCWN0X2J1aWxkX2dyb3VwKGN0LCBBVFRSX0dSUF9PUklHX1BPUlQsIG4sIE5UQV9QT1JULAorLQkJICAgICAgc2l6ZW9mKHN0cnVjdCBuZmN0X2F0dHJfZ3JwX3BvcnQpKTsKKy0KKyAJaWYgKCFuZmN0X2F0dHJfaXNfc2V0KGN0LCBBVFRSX1RDUF9TVEFURSkpCisgCQlyZXR1cm47CisgCisrCWN0X2J1aWxkX2dyb3VwKGN0LCBBVFRSX0dSUF9PUklHX1BPUlQsIG4sIE5UQV9QT1JULAorKwkJICAgICAgc2l6ZW9mKHN0cnVjdCBuZmN0X2F0dHJfZ3JwX3BvcnQpKTsKKyAJY3RfYnVpbGRfdTgoY3QsIEFUVFJfVENQX1NUQVRFLCBuLCBOVEFfVENQX1NUQVRFKTsKKyAJaWYgKENPTkZJRyhzeW5jKS50Y3Bfd2luZG93X3RyYWNraW5nKSB7CisgCQljdF9idWlsZF91OChjdCwgQVRUUl9UQ1BfV1NDQUxFX09SSUcsIG4sIE5UQV9UQ1BfV1NDQUxFX09SSUcpOworQEAgLTEyMiwxMiArMTIyLDEyIEBAIHN0YXRpYyB2b2lkIGJ1aWxkX2w0cHJvdG9fdGNwKGNvbnN0IHN0cnVjdCBuZl9jb25udHJhY2sgKmN0LCBzdHJ1Y3QgbmV0aGRyICpuKQorIAorIHN0YXRpYyB2b2lkIGJ1aWxkX2w0cHJvdG9fc2N0cChjb25zdCBzdHJ1Y3QgbmZfY29ubnRyYWNrICpjdCwgc3RydWN0IG5ldGhkciAqbikKKyB7CistCWN0X2J1aWxkX2dyb3VwKGN0LCBBVFRSX0dSUF9PUklHX1BPUlQsIG4sIE5UQV9QT1JULAorLQkJICAgICAgc2l6ZW9mKHN0cnVjdCBuZmN0X2F0dHJfZ3JwX3BvcnQpKTsKKy0KKysJLyogU0NUUCBpcyBvcHRpb25hbCwgbWFrZSBzdXJlIG5mX2Nvbm50cmFja19zY3RwIGlzIGxvYWRlZCAqLworIAlpZiAoIW5mY3RfYXR0cl9pc19zZXQoY3QsIEFUVFJfU0NUUF9TVEFURSkpCisgCQlyZXR1cm47CisgCisrCWN0X2J1aWxkX2dyb3VwKGN0LCBBVFRSX0dSUF9PUklHX1BPUlQsIG4sIE5UQV9QT1JULAorKwkJICAgICAgc2l6ZW9mKHN0cnVjdCBuZmN0X2F0dHJfZ3JwX3BvcnQpKTsKKyAJY3RfYnVpbGRfdTgoY3QsIEFUVFJfU0NUUF9TVEFURSwgbiwgTlRBX1NDVFBfU1RBVEUpOworIAljdF9idWlsZF91MzIoY3QsIEFUVFJfU0NUUF9WVEFHX09SSUcsIG4sIE5UQV9TQ1RQX1ZUQUdfT1JJRyk7CisgCWN0X2J1aWxkX3UzMihjdCwgQVRUUl9TQ1RQX1ZUQUdfUkVQTCwgbiwgTlRBX1NDVFBfVlRBR19SRVBMKTsKK0BAIC0xMzUsMTggKzEzNSwyMiBAQCBzdGF0aWMgdm9pZCBidWlsZF9sNHByb3RvX3NjdHAoY29uc3Qgc3RydWN0IG5mX2Nvbm50cmFjayAqY3QsIHN0cnVjdCBuZXRoZHIgKm4pCisgCisgc3RhdGljIHZvaWQgYnVpbGRfbDRwcm90b19kY2NwKGNvbnN0IHN0cnVjdCBuZl9jb25udHJhY2sgKmN0LCBzdHJ1Y3QgbmV0aGRyICpuKQorIHsKKy0JY3RfYnVpbGRfZ3JvdXAoY3QsIEFUVFJfR1JQX09SSUdfUE9SVCwgbiwgTlRBX1BPUlQsCistCQkgICAgICBzaXplb2Yoc3RydWN0IG5mY3RfYXR0cl9ncnBfcG9ydCkpOworLQorKwkvKiBEQ0NQIGlzIG9wdGlvbmFsLCBtYWtlIHN1cmUgbmZfY29ubnRyYWNrX2RjY3AgaXMgbG9hZGVkICovCisgCWlmICghbmZjdF9hdHRyX2lzX3NldChjdCwgQVRUUl9EQ0NQX1NUQVRFKSkKKyAJCXJldHVybjsKKyAKKysJY3RfYnVpbGRfZ3JvdXAoY3QsIEFUVFJfR1JQX09SSUdfUE9SVCwgbiwgTlRBX1BPUlQsCisrCQkgICAgICBzaXplb2Yoc3RydWN0IG5mY3RfYXR0cl9ncnBfcG9ydCkpOworIAljdF9idWlsZF91OChjdCwgQVRUUl9EQ0NQX1NUQVRFLCBuLCBOVEFfRENDUF9TVEFURSk7CisgCWN0X2J1aWxkX3U4KGN0LCBBVFRSX0RDQ1BfUk9MRSwgbiwgTlRBX0RDQ1BfUk9MRSk7CisgfQorIAorIHN0YXRpYyB2b2lkIGJ1aWxkX2w0cHJvdG9faWNtcChjb25zdCBzdHJ1Y3QgbmZfY29ubnRyYWNrICpjdCwgc3RydWN0IG5ldGhkciAqbikKKyB7CisrCS8qIFRoaXMgaXMgYWxzbyB1c2VkIGJ5IElDTVB2NiBhbmQgbmZfY29ubnRyYWNrX2lwdjYgaXMgb3B0aW9uYWwgKi8KKysJaWYgKCFuZmN0X2F0dHJfaXNfc2V0KGN0LCBBVFRSX0lDTVBfVFlQRSkpCisrCQlyZXR1cm47CisrCisgCWN0X2J1aWxkX3U4KGN0LCBBVFRSX0lDTVBfVFlQRSwgbiwgTlRBX0lDTVBfVFlQRSk7CisgCWN0X2J1aWxkX3U4KGN0LCBBVFRSX0lDTVBfQ09ERSwgbiwgTlRBX0lDTVBfQ09ERSk7CisgCWN0X2J1aWxkX3UxNihjdCwgQVRUUl9JQ01QX0lELCBuLCBOVEFfSUNNUF9JRCk7CistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2Nvbm50cmFjay10b29scy9maWxlcy9jb25udHJhY2stZmFpbG92ZXIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9jb25udHJhY2stdG9vbHMvZmlsZXMvY29ubnRyYWNrLWZhaWxvdmVyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkOTJlNjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9jb25udHJhY2stdG9vbHMvZmlsZXMvY29ubnRyYWNrLWZhaWxvdmVyCkBAIC0wLDAgKzEsNzcgQEAKKyMhL2Jpbi9zaAorIyAKKyMgKEMpIDIwMDggYnkgUGFibG8gTmVpcmEgQXl1c28gPHBhYmxvQG5ldGZpbHRlci5vcmc+CisjIChDKSAyMDA5IFJvbWFuIEkgS2hpbW92IDxraGltb3ZAYWx0ZWxsLnJ1PgorIworIyBUaGlzIHNvZnR3YXJlIG1heSBiZSB1c2VkIGFuZCBkaXN0cmlidXRlZCBhY2NvcmRpbmcgdG8gdGhlIHRlcm1zCisjIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgaW5jb3Jwb3JhdGVkIGhlcmVpbiBieSByZWZlcmVuY2UuCisjCisjIERlc2NyaXB0aW9uOgorIworIyBUaGlzIGlzIHRoZSBzY3JpcHQgZm9yIHByaW1hcnktYmFja3VwIHNldHVwcyBmb3Iga2VlcGFsaXZlZAorIyAoaHR0cDovL3d3dy5rZWVwYWxpdmVkLm9yZykuIFlvdSBtYXkgYWRhcHQgaXQgdG8gbWFrZSBpdCB3b3JrIHdpdGggb3RoZXIKKyMgaGlnaC1hdmFpbGFiaWxpdHkgbWFuYWdlcnMuCisjCisjIERvIG5vdCBmb3JnZXQgdG8gaW5jbHVkZSB0aGUgcmVxdWlyZWQgbW9kaWZpY2F0aW9ucyB0byB5b3VyIGtlZXBhbGl2ZWQuY29uZgorIyBmaWxlIHRvIGludm9rZSB0aGlzIHNjcmlwdCBkdXJpbmcga2VlcGFsaXZlZCdzIHN0YXRlIHRyYW5zaXRpb25zLgorIworIyBDb250cmlidXRpb25zIHRvIGltcHJvdmUgdGhpcyBzY3JpcHQgYXJlIHdlbGNvbWUgOikuCisjCisjIyBNb2RpZmllZCB0byB3b3JrIGFzIGluaXQuZCBzY3JpcHQgdW5kZXIgcGFjZW1ha2VyIGNvbnRyb2wKKworQ09OTlRSQUNLRF9CSU49L3Vzci9zYmluL2Nvbm50cmFja2QKK0NPTk5UUkFDS0RfTE9DSz0vdmFyL2xvY2svY29ubnRyYWNrLmxvY2sKK0NPTk5UUkFDS0RfQ09ORklHPS9ldGMvY29ubnRyYWNrZC9jb25udHJhY2tkLmNvbmYKKworY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorICAgICMKKyAgICAjIGNvbW1pdCB0aGUgZXh0ZXJuYWwgY2FjaGUgaW50byB0aGUga2VybmVsIHRhYmxlCisgICAgIworICAgICRDT05OVFJBQ0tEX0JJTiAtQyAkQ09OTlRSQUNLRF9DT05GSUcgLWMKKyAgICBpZiBbICQ/IC1lcSAxIF0KKyAgICB0aGVuCisgICAgICAgIGxvZ2dlciAiRVJST1I6IGZhaWxlZCB0byBpbnZva2UgY29ubnRyYWNrZCAtYyIKKyAgICBmaQorCisgICAgIworICAgICMgZmx1c2ggdGhlIGludGVybmFsIGFuZCB0aGUgZXh0ZXJuYWwgY2FjaGVzCisgICAgIworICAgICRDT05OVFJBQ0tEX0JJTiAtQyAkQ09OTlRSQUNLRF9DT05GSUcgLWYKKyAgICBpZiBbICQ/IC1lcSAxIF0KKyAgICB0aGVuCisgICAgCWxvZ2dlciAiRVJST1I6IGZhaWxlZCB0byBpbnZva2UgY29ubnRyYWNrZCAtZiIKKyAgICBmaQorCisgICAgIworICAgICMgcmVzeW5jaHJvbml6ZSBteSBpbnRlcm5hbCBjYWNoZSB0byB0aGUga2VybmVsIHRhYmxlCisgICAgIworICAgICRDT05OVFJBQ0tEX0JJTiAtQyAkQ09OTlRSQUNLRF9DT05GSUcgLVIKKyAgICBpZiBbICQ/IC1lcSAxIF0KKyAgICB0aGVuCisgICAgCWxvZ2dlciAiRVJST1I6IGZhaWxlZCB0byBpbnZva2UgY29ubnRyYWNrZCAtUiIKKyAgICBmaQorCisgICAgIworICAgICMgc2VuZCBhIGJ1bGsgdXBkYXRlIHRvIGJhY2t1cHMgCisgICAgIworICAgICRDT05OVFJBQ0tEX0JJTiAtQyAkQ09OTlRSQUNLRF9DT05GSUcgLUIKKyAgICBpZiBbICQ/IC1lcSAxIF0KKyAgICB0aGVuCisgICAgICAgIGxvZ2dlciAiRVJST1I6IGZhaWxlZCB0byBpbnZva2UgY29ubnRyYWNrZCAtQiIKKyAgICBmaQorICAgIDs7CisgIHN0b3ApCisJJENPTk5UUkFDS0RfQklOIC10CisJJENPTk5UUkFDS0RfQklOIC1uCisJOzsKKyAgc3RhdHVzKQorCTs7CisgICopCisgICAgbG9nZ2VyICJFUlJPUjogdW5rbm93biBjb21tYW5kIgorICAgIGVjaG8gIlVzYWdlOiBjb25udHJhY2stZmFpbG92ZXIge3N0YXJ0fHN0b3B8c3RhdHVzfSIKKyAgICBleGl0IDEKKyAgICA7OworZXNhYworCitleGl0IDAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2Nvbm50cmFjay10b29scy9maWxlcy9pbml0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvY29ubnRyYWNrLXRvb2xzL2ZpbGVzL2luaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmNlMjA3NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2Nvbm50cmFjay10b29scy9maWxlcy9pbml0CkBAIC0wLDAgKzEsODcgQEAKKyMhL2Jpbi9zaAorIworIyAvZXRjL2luaXQuZC9jb25udHJhY2tkCisjCisjIE1heGltaWxpYW4gV2lsaGVsbSA8bWF4QHJmYzIzMjQub3JnPgorIyAgLS0gTW9uLCAwNiBOb3YgMjAwNiAxODozOTowNyArMDEwMAorIworIyBSb21hbiBJIEtoaW1vdiA8a2hpbW92QGFsdGVsbC5ydT4KKyMgIC0tIFR1ZSwgMjcgT2N0IDIwMDkgMTQ6MzQ6MDAgKzAzMDAKKworIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogICAgICAgICAgY29ubnRyYWNrZAorIyBSZXF1aXJlZC1TdGFydDogICAgJHJlbW90ZV9mcyAkc3lzbG9nCisjIFJlcXVpcmVkLVN0b3A6ICAgICAkcmVtb3RlX2ZzICRzeXNsb2cKKyMgRGVmYXVsdC1TdGFydDogICAgIDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAgICAgIDAgMSA2CisjIERlc2NyaXB0aW9uOiBTdGFydHMgY29ubnRyYWNrZAorIyBzaG9ydC1kZXNjcmlwdGlvbjogU3RhcnRzIGNvbm50cmFja2QKKyMjIyBFTkQgSU5JVCBJTkZPCisKK2V4cG9ydCBQQVRIPS91c3IvbG9jYWwvc2JpbjovdXNyL2xvY2FsL2Jpbjovc2JpbjovYmluOi91c3Ivc2JpbjovdXNyL2JpbgorCitOQU1FPSJjb25udHJhY2tkIgorREFFTU9OPSIvdXNyL3NiaW4vY29ubnRyYWNrZCIKK0NPTkZJRz0iL2V0Yy9jb25udHJhY2tkL2Nvbm50cmFja2QuY29uZiIKK1BJREZJTEU9Ii92YXIvcnVuLyR7TkFNRX0ucGlkIgorCisKKyMgR3JhY2VmdWxseSBleGl0IGlmIHRoZXJlIGlzIG5vIGRhZW1vbiAoZGViaWFuIHdheSBvZiBsaWZlKQoraWYgWyAhIC14ICIke0RBRU1PTn0iIF07IHRoZW4KKwlleGl0IDAKK2ZpCisKKyMgQ2hlY2sgZm9yIGNvbmZpZyBmaWxlCitpZiBbICEgLWYgL2V0Yy9jb25udHJhY2tkL2Nvbm50cmFja2QuY29uZiBdOyB0aGVuCisJZWNobyAiRXJyb3I6IFRoZXJlIGlzIG5vIGNvbmZpZyBmaWxlIGZvciAkTkFNRSIgPiYyCisJZXhpdCAxOworZmkKKworY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorICAgICAgICBlY2hvIC1uICJTdGFydGluZyAkTkFNRTogIgorCWZvciBpIGluIG5mX2Nvbm50cmFja19uZXRsaW5rIG5mX2Nvbm50cmFja19uZXRiaW9zX25zIG5mX2Nvbm50cmFja19wcm90b19kY2NwIG5mX2Nvbm50cmFja190ZnRwIFwKKwkJbmZfY29ubnRyYWNrX3NhbmUgbmZfY29ubnRyYWNrX3BwdHAgbmZfY29ubnRyYWNrX2lyYyBuZl9jb25udHJhY2tfYW1hbmRhIG5mX2Nvbm50cmFja19oMzIzIFwKKwkJbmZfY29ubnRyYWNrX3Byb3RvX3VkcGxpdGUgbmZfY29ubnRyYWNrX3Byb3RvX2dyZSBuZl9jb25udHJhY2tfcHJvdG9fc2N0cCBuZl9jb25udHJhY2tfZnRwIFwKKwkJbmZfY29ubnRyYWNrX3NpcDsgZG8KKwkJbW9kcHJvYmUgJGkgPi9kZXYvbnVsbCAyPi9kZXYvbnVsbCAmCisJZG9uZQorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLS1xdWlldCAtLW1ha2UtcGlkZmlsZSAtLXBpZGZpbGUgIi92YXIvcnVuLyR7TkFNRX0ucGlkIiAtLWJhY2tncm91bmQgLS1leGVjICIke0RBRU1PTn0iCisJUkVUPSQ/CisJaWYgWyAiJD8iID0gIjAiIF07IHRoZW4KKwkJc2xlZXAgMgorCQkjIFN5bmMgd2l0aCBvdGhlciBzZXJ2ZXIKKwkJY29ubnRyYWNrZCAtbgorCQllY2hvICJkb25lLiIKKwllbHNlCisJCWVjaG8gIkZBSUxFRCEiCisJZmkKKwlleGl0ICRSRVQKKwk7OworICBzdG9wKQorICAgICAgICBlY2hvIC1uICJTdG9wcGluZyAkTkFNRToiCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tcXVpZXQgLS1va25vZG8gLS1waWRmaWxlICIvdmFyL3J1bi8ke05BTUV9LnBpZCIgJiYgZWNobyAiZG9uZS4iIHx8IGVjaG8gIkZBSUxFRCEiCisJOzsKKyAgc3RhdHVzKQorCWVjaG8gLW4gImNvbm50cmFja2QgIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC1xIC1LIC10IC14ICREQUVNT04KKwlSRVQ9JD8KKwlpZiBbICIkUkVUIiA9ICIwIiBdOyB0aGVuCisgICAgICAgICAgICAgICAgUElEPWBjYXQgJFBJREZJTEVgCisJCWVjaG8gIigkUElEKSBpcyBydW5uaW5nIgorCWVsc2UKKwkJZWNobyAiaXMgbm90IHJ1bm5pbmciCisJCWV4aXQgJFJFVAorCWZpCisJOzsKKyAgcmVzdGFydCkKKwkkMCBzdG9wCisJJDAgc3RhcnQKKwk7OworCisgICopCisJZWNobyAiVXNhZ2U6IC9ldGMvaW5pdC5kL2Nvbm50cmFja2Qge3N0YXJ0fHN0b3B8cmVzdGFydH0iCisJZXhpdCAxCitlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvZWJ0YWJsZXMvZWJ0YWJsZXMtMi4wLjEwLTQvMDFkZWJpYW5fZGVmYXVsdGNvbmZpZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2VidGFibGVzL2VidGFibGVzLTIuMC4xMC00LzAxZGViaWFuX2RlZmF1bHRjb25maWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzI2MDQwMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2VidGFibGVzL2VidGFibGVzLTIuMC4xMC00LzAxZGViaWFuX2RlZmF1bHRjb25maWcucGF0Y2gKQEAgLTAsMCArMSw1MCBAQAorIyEgL2Jpbi9zaCAvdXNyL3NoYXJlL2RwYXRjaC9kcGF0Y2gtcnVuCisjIyBkZWJpYW5fZGVmYXVsdGNvbmZpZy5kcGF0Y2ggYnkgIDxoZXNzb0Bwb29sLm1hdGgudHUtYmVybGluLmRlPgorIyMKKyMjIERQOiBEZWJpYW4gZW5oYW5jZW1lbnRzIHRvIHRoZSBlYnRhYmxlcyAic3lzY29uZmlnIiBkZWZhdWx0IHNldHRpbmdzLgorCitARFBBVENIQAorCistLS0gZWJ0YWJsZXMtMi4wLjguMS5vcmlnL2VidGFibGVzLWNvbmZpZworKysrIGVidGFibGVzLTIuMC44LjEvZWJ0YWJsZXMtY29uZmlnCitAQCAtMSwxNyArMSwzIEBACistIyBTYXZlIChhbmQgcG9zc2libHkgcmVzdG9yZSkgaW4gdGV4dCBmb3JtYXQuCistIyAgIFZhbHVlOiB5ZXN8bm8sICBkZWZhdWx0OiB5ZXMKKy0jIFNhdmUgdGhlIGZpcmV3YWxsIHJ1bGVzIGluIHRleHQgZm9ybWF0IHRvIF9fU1lTQ09ORklHX18vZWJ0YWJsZXMKKy0jIElmIEVCVEFCTEVTX0JJTkFSWV9GT1JNQVQ9Im5vIiB0aGVuIHJlc3RvcmluZyB0aGUgZmlyZXdhbGwgcnVsZXMKKy0jIGlzIGRvbmUgdXNpbmcgdGhpcyB0ZXh0IGZvcm1hdC4KKy1FQlRBQkxFU19URVhUX0ZPUk1BVD0ieWVzIgorLQorLSMgU2F2ZSAoYW5kIHJlc3RvcmUpIGluIGJpbmFyeSBmb3JtYXQuCistIyAgIFZhbHVlOiB5ZXN8bm8sICBkZWZhdWx0OiB5ZXMKKy0jIFNhdmUgKGFuZCByZXN0b3JlKSB0aGUgZmlyZXdhbGwgcnVsZXMgaW4gYmluYXJ5IGZvcm1hdCB0byAoYW5kIGZyb20pCistIyBfX1NZU0NPTkZJR19fL2VidGFibGVzLjxjaGFpbj4uIEVuYWJsaW5nIHRoaXMgb3B0aW9uIHdpbGwgbWFrZQorLSMgZmlyZXdhbGwgaW5pdGlhbGlzYXRpb24gYSBsb3QgZmFzdGVyLgorLUVCVEFCTEVTX0JJTkFSWV9GT1JNQVQ9InllcyIKKy0KKyAjIFVubG9hZCBtb2R1bGVzIG9uIHJlc3RhcnQgYW5kIHN0b3AKKyAjICAgVmFsdWU6IHllc3xubywgIGRlZmF1bHQ6IHllcworICMgVGhpcyBvcHRpb24gaGFzIHRvIGJlICd5ZXMnIHRvIGdldCB0byBhIHNhbmUgc3RhdGUgZm9yIGEgZmlyZXdhbGwKK0BAIC0xOSw2ICs1LDEyIEBACisgIyBtb2R1bGVzLgorIEVCVEFCTEVTX01PRFVMRVNfVU5MT0FEPSJ5ZXMiCisgCisrIyBMb2FkIGZpcmV3YWxsIHJ1bGVzIG9uIHN5c3RlbSBzdGFydHVwLgorKyMgICBWYWx1ZTogeWVzfG5vLCAgZGVmYXVsdDogbm8KKysjIFJlc3RvcmVzIHRoZSBlYnRhYmxlcyBydWxlc2V0cyBmcm9tIHRoZSBsYXN0IHNhdmVkIHN0YXRlIHdoZW4gdGhlCisrIyBzeXN0ZW0gYm9vdHMgdXAuCisrRUJUQUJMRVNfTE9BRF9PTl9TVEFSVD0ibm8iCisrCisgIyBTYXZlIGN1cnJlbnQgZmlyZXdhbGwgcnVsZXMgb24gc3RvcC4KKyAjICAgVmFsdWU6IHllc3xubywgIGRlZmF1bHQ6IG5vCisgIyBTYXZlcyBhbGwgZmlyZXdhbGwgcnVsZXMgaWYgZmlyZXdhbGwgZ2V0cyBzdG9wcGVkCitAQCAtMzUsMyArMjcsOSBAQAorICMgU2F2ZSBydWxlIGNvdW50ZXJzIHdoZW4gc2F2aW5nIGEga2VybmVsIHRhYmxlIHRvIGEgZmlsZS4gSWYgdGhlCisgIyBydWxlIGNvdW50ZXJzIHdlcmUgc2F2ZWQsIHRoZXkgd2lsbCBiZSByZXN0b3JlZCB3aGVuIHJlc3RvcmluZyB0aGUgdGFibGUuCisgRUJUQUJMRVNfU0FWRV9DT1VOVEVSPSJubyIKKysKKysjIEJhY2t1cCBzdWZmaXggZm9yIHJ1bGVzZXQgc2F2ZSBmaWxlcy4KKysjICAgVmFsdWU6IDxzdHJpbmc+LCAgZGVmYXVsdDogIn4iCisrIyBLZWVwIG9uZSBiYWNrdXAgbGV2ZWwgb2Ygc2F2ZWQgcnVsZXMuCisrIyBTZXQgdGhpcyB2YXJpYWJsZSB0byB0aGUgZW1wdHkgc3RyaW5nIHRvIGRpc2FibGUgYmFja3Vwcy4KKytFQlRBQkxFU19CQUNLVVBfU1VGRklYPSJ+IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvZWJ0YWJsZXMvZWJ0YWJsZXMtMi4wLjEwLTQvZWJ0YWJsZXMuY29tbW9uIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvZWJ0YWJsZXMvZWJ0YWJsZXMtMi4wLjEwLTQvZWJ0YWJsZXMuY29tbW9uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0MDAyNWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9lYnRhYmxlcy9lYnRhYmxlcy0yLjAuMTAtNC9lYnRhYmxlcy5jb21tb24KQEAgLTAsMCArMSwxNjMgQEAKKyMhL2Jpbi9zaAorCitbIC14IC9zYmluL2VidGFibGVzIF0gfHwgZXhpdCAxCisKK0VCVEFCTEVTX0RVTVBGSUxFX1NURU09L2V0Yy9lYnRhYmxlcy9kdW1wCisKK1JFVFZBTD0wCitwcm9nPSJlYnRhYmxlcyIKK2Rlc2M9IkV0aGVybmV0IGJyaWRnZSBmaWx0ZXJpbmciCit1bWFzayAwMDc3CisKKyNkZWZhdWx0IGNvbmZpZ3VyYXRpb24KK0VCVEFCTEVTX01PRFVMRVNfVU5MT0FEPSJ5ZXMiCitFQlRBQkxFU19MT0FEX09OX1NUQVJUPSJubyIKK0VCVEFCTEVTX1NBVkVfT05fU1RPUD0ibm8iCitFQlRBQkxFU19TQVZFX09OX1JFU1RBUlQ9Im5vIgorRUJUQUJMRVNfU0FWRV9DT1VOVEVSPSJubyIKK0VCVEFCTEVTX0JBQ0tVUF9TVUZGSVg9In4iCisKK2NvbmZpZz0vZXRjL2RlZmF1bHQvJHByb2cKK1sgLWYgIiRjb25maWciIF0gJiYgLiAiJGNvbmZpZyIKKworZnVuY3Rpb24gZ2V0X3N1cHBvcnRlZF90YWJsZXMoKSB7CisJRUJUQUJMRVNfU1VQUE9SVEVEX1RBQkxFUz0KKwkvc2Jpbi9lYnRhYmxlcyAtdCBmaWx0ZXIgLUwgMj4mMSAxPi9kZXYvbnVsbCB8IGdyZXAgLXEgcGVybWlzc2lvbgorCWlmIFsgJD8gLWVxIDAgXTsgdGhlbgorCQllY2hvICJFcnJvcjogaW5zdWZmaWNpZW50IHByaXZpbGVnZXMgdG8gYWNjZXNzIHRoZSBlYnRhYmxlcyBydWxlc2V0cy4iCisJCWV4aXQgMQorCWZpCisJZm9yIHRhYmxlIGluIGZpbHRlciBuYXQgYnJvdXRlOyBkbworCQkvc2Jpbi9lYnRhYmxlcyAtdCAkdGFibGUgLUwgJj4gL2Rldi9udWxsCisJCWlmIFsgJD8gLWVxIDAgXTsgdGhlbgorCQkJRUJUQUJMRVNfU1VQUE9SVEVEX1RBQkxFUz0iJHtFQlRBQkxFU19TVVBQT1JURURfVEFCTEVTfSAkdGFibGUiCisJCWZpCisJZG9uZQorfQorCitmdW5jdGlvbiBsb2FkKCkgeworCVJFVFZBTD0wCisJZ2V0X3N1cHBvcnRlZF90YWJsZXMKKwllY2hvIC1uICJSZXN0b3JpbmcgZWJ0YWJsZXMgcnVsZXNldHM6ICIKKwlmb3IgdGFibGUgaW4gJEVCVEFCTEVTX1NVUFBPUlRFRF9UQUJMRVM7IGRvCisJCWVjaG8gLW4gIiR0YWJsZSAiCisJCWlmIFsgLXMgJHtFQlRBQkxFU19EVU1QRklMRV9TVEVNfS4kdGFibGUgXTsgdGhlbgorCQkJL3NiaW4vZWJ0YWJsZXMgLXQgJHRhYmxlIC0tYXRvbWljLWZpbGUgJHtFQlRBQkxFU19EVU1QRklMRV9TVEVNfS4kdGFibGUgLS1hdG9taWMtY29tbWl0CisJCQlSRVQ9JD8KKwkJCWlmIFsgJFJFVCAtbmUgMCBdOyB0aGVuCisJCQkJZWNobyAtbiAiKGZhaWxlZCkgIgorCQkJCVJFVFZBTD0kUkVUCisJCQlmaQorCQllbHNlCisJCQllY2hvIC1uICIobm8gc2F2ZWQgc3RhdGUpICIKKwkJZmkKKwlkb25lCisJaWYgWyAteiAiJEVCVEFCTEVTX1NVUFBPUlRFRF9UQUJMRVMiIF07IHRoZW4KKwkJZWNobyAtbiAibm8ga2VybmVsIHN1cHBvcnQuICIKKwllbHNlCisJCWVjaG8gLW4gImRvbmUuICIKKwlmaQorCWlmIFsgJFJFVFZBTCAtZXEgMCBdOyB0aGVuCisJCWVjaG8gIm9rIgorCWVsc2UKKwkJZWNobyAiZmFpbCIKKwlmaQorfQorCitmdW5jdGlvbiBjbGVhcigpIHsKKwlSRVRWQUw9MAorCWdldF9zdXBwb3J0ZWRfdGFibGVzCisJZWNobyAtbiAiQ2xlYXJpbmcgZWJ0YWJsZXMgcnVsZXNldHM6ICIKKwlmb3IgdGFibGUgaW4gJEVCVEFCTEVTX1NVUFBPUlRFRF9UQUJMRVM7IGRvCisJCWVjaG8gLW4gIiR0YWJsZSAiCisJCS9zYmluL2VidGFibGVzIC10ICR0YWJsZSAtLWluaXQtdGFibGUKKwlkb25lCisKKwlpZiBbICIkRUJUQUJMRVNfTU9EVUxFU19VTkxPQUQiID0gInllcyIgXTsgdGhlbgorCQlmb3IgbW9kIGluICQoZ3JlcCAtRSAnXihlYnR8ZWJ0YWJsZSlfJyAvcHJvYy9tb2R1bGVzIHwgY3V0IC1kJyAnIC1mMSkgZWJ0YWJsZXM7IGRvCisJCQlybW1vZCAkbW9kIDI+IC9kZXYvbnVsbAorCQlkb25lCisJZmkKKwlpZiBbIC16ICIkRUJUQUJMRVNfU1VQUE9SVEVEX1RBQkxFUyIgXTsgdGhlbgorCQllY2hvIC1uICJubyBrZXJuZWwgc3VwcG9ydC4gIgorCWVsc2UKKwkJZWNobyAtbiAiZG9uZS4gIgorCWZpCisJaWYgWyAkUkVUVkFMIC1lcSAwIF07IHRoZW4KKwkJZWNobyAib2siCisJZWxzZQorCQllY2hvICJmYWlsIgorCWZpCit9CisKK2Z1bmN0aW9uIHNhdmUoKSB7CisJUkVUVkFMPTAKKwlnZXRfc3VwcG9ydGVkX3RhYmxlcworCWVjaG8gLW4gIlNhdmluZyBlYnRhYmxlcyBydWxlc2V0czogIgorCWZvciB0YWJsZSBpbiAkRUJUQUJMRVNfU1VQUE9SVEVEX1RBQkxFUzsgZG8KKwkJZWNobyAtbiAiJHRhYmxlICIKKwkJWyAtbiAiJEVCVEFCTEVTX0JBQ0tVUF9TVUZGSVgiIF0gJiYgWyAtcyAke0VCVEFCTEVTX0RVTVBGSUxFX1NURU19LiR0YWJsZSBdICYmIFwKKwkJICBtdiAke0VCVEFCTEVTX0RVTVBGSUxFX1NURU19LiR0YWJsZSAke0VCVEFCTEVTX0RVTVBGSUxFX1NURU19LiR0YWJsZSRFQlRBQkxFU19CQUNLVVBfU1VGRklYCisJCS9zYmluL2VidGFibGVzIC10ICR0YWJsZSAtLWF0b21pYy1maWxlICR7RUJUQUJMRVNfRFVNUEZJTEVfU1RFTX0uJHRhYmxlIC0tYXRvbWljLXNhdmUKKwkJUkVUPSQ/CisJCWlmIFsgJFJFVCAtbmUgMCBdOyB0aGVuCisJCQllY2hvIC1uICIoZmFpbGVkKSAiCisJCQlSRVRWQUw9JFJFVAorCQllbHNlCisJCQlpZiBbICIkRUJUQUJMRVNfU0FWRV9DT1VOVEVSIiA9ICJubyIgXTsgdGhlbgorCQkJCS9zYmluL2VidGFibGVzIC10ICR0YWJsZSAtLWF0b21pYy1maWxlICR7RUJUQUJMRVNfRFVNUEZJTEVfU1RFTX0uJHRhYmxlIC1aCisJCQlmaQorCQlmaQorCWRvbmUKKwlpZiBbIC16ICIkRUJUQUJMRVNfU1VQUE9SVEVEX1RBQkxFUyIgXTsgdGhlbgorCQllY2hvIC1uICJubyBrZXJuZWwgc3VwcG9ydC4gIgorCWVsc2UKKwkJZWNobyAtbiAiZG9uZS4gIgorCWZpCisJaWYgWyAkUkVUVkFMIC1lcSAwIF07IHRoZW4KKwkJZWNobyAib2siCisJZWxzZQorCQllY2hvICJmYWlsIgorCWZpCit9CisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKwlbICIkRUJUQUJMRVNfTE9BRF9PTl9TVEFSVCIgPSAieWVzIiBdICYmIGxvYWQKKwk7OworICBzdG9wKQorCVsgIiRFQlRBQkxFU19TQVZFX09OX1NUT1AiID0gInllcyIgXSAmJiBzYXZlCisJY2xlYXIKKwk7OworICByZXN0YXJ0fHJlbG9hZHxmb3JjZS1yZWxvYWQpCisJWyAiJEVCVEFCTEVTX1NBVkVfT05fUkVTVEFSVCIgPSAieWVzIiBdICYmIHNhdmUKKwljbGVhcgorCVsgIiRFQlRBQkxFU19MT0FEX09OX1NUQVJUIiA9ICJ5ZXMiIF0gJiYgbG9hZAorCTs7CisgIGxvYWQpCisJbG9hZAorCTs7CisgIHNhdmUpCisJc2F2ZQorCTs7CisgIHN0YXR1cykKKwlnZXRfc3VwcG9ydGVkX3RhYmxlcworCWlmIFsgLXogIiRFQlRBQkxFU19TVVBQT1JURURfVEFCTEVTIiBdOyB0aGVuCisJCWVjaG8gIk5vIGtlcm5lbCBzdXBwb3J0IGZvciBlYnRhYmxlcy4iCisJCVJFVFZBTD0xCisJZWxzZQorCQllY2hvIC1uICJFYnRhYmxlcyBzdXBwb3J0IGF2YWlsYWJsZSwgbnVtYmVyIG9mIGluc3RhbGxlZCBydWxlczogIgorCQlmb3IgdGFibGUgaW4gJEVCVEFCTEVTX1NVUFBPUlRFRF9UQUJMRVM7IGRvCisJCQlDT1VOVD0kKCggJCgvc2Jpbi9lYnRhYmxlcyAtdCAkdGFibGUgLUwgfCBzZWQgLWUgIi9eQnJpZGdlIGNoYWluLyEgZCIgLWUgInMvXi4qZW50cmllczogLy8iIC1lICJzLywuKiQvICsvIikgMCApKQorCQkJZWNobyAtbiAiJHRhYmxlKCRDT1VOVCkgIgorCQlkb25lCisJCWVjaG8gb2sKKwkJUkVUVkFMPTAKKwlmaQorCTs7CisgICopCisJZWNobyAiVXNhZ2U6ICQwIHtzdGFydHxzdG9wfHJlc3RhcnR8cmVsb2FkfGZvcmNlLXJlbG9hZHxsb2FkfHNhdmV8c3RhdHVzfSIgPiYyCisJUkVUVkFMPTEKK2VzYWMKKworZXhpdCAkUkVUVkFMCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9lYnRhYmxlcy9lYnRhYmxlcy0yLjAuMTAtNC9lYnRhYmxlcy5pbml0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvZWJ0YWJsZXMvZWJ0YWJsZXMtMi4wLjEwLTQvZWJ0YWJsZXMuaW5pdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jOWE3N2EyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvZWJ0YWJsZXMvZWJ0YWJsZXMtMi4wLjEwLTQvZWJ0YWJsZXMuaW5pdApAQCAtMCwwICsxLDI2IEBACisjIS9iaW4vc2gKKyMKKyMgaW5pdCBzY3JpcHQgZm9yIHRoZSBFdGhlcm5ldCBCcmlkZ2UgZmlsdGVyIHRhYmxlcworIworIyBXcml0dGVuIGJ5IERhZyBXaWVlcnMgPGRhZ0B3aWVlcnMuY29tPgorIyBNb2RpZmllZCBieSBSb2sgUGFwZXogPHJvay5wYXBlekBhcm5lcy5zaT4KKyMJICAgICBCYXJ0IERlIFNjaHV5bWVyIDxiZHNjaHV5bUBwYW5kb3JhLmJlPgorIyBBZGFwdGVkIHRvIERlYmlhbiBieSBKYW4gQ2hyaXN0b3BoIE5vcmRob2x6IDxoZXNzb0Bwb29sLm1hdGgudHUtYmVybGluLmRlPgorIyBBZGFwdGVkIHRvIE9wZW5FbWJlZGRlZCBieSBSb21hbiBJIEtoaW1vdiA8a2hpbW92QGFsdGVsbC5ydT4KKyMKKyMgY2hrY29uZmlnOiAtIDE1IDg1CisjIGRlc2NyaXB0aW9uOiBFdGhlcm5ldCBCcmlkZ2UgZmlsdGVyaW5nIHRhYmxlcworIworIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczoJCWVidGFibGVzCisjIFJlcXVpcmVkLVN0YXJ0OgkKKyMgUmVxdWlyZWQtU3RvcDoJCisjIFNob3VsZC1TdGFydDoJCSRsb2NhbF9mcworIyBTaG91bGQtU3RvcDoJCSRsb2NhbF9mcworIyBEZWZhdWx0LVN0YXJ0OglTCisjIERlZmF1bHQtU3RvcDoJCTAgNgorIyBTaG9ydC1EZXNjcmlwdGlvbjoJZWJ0YWJsZXMgcnVsZXNldCBtYW5hZ2VtZW50CisjIERlc2NyaXB0aW9uOgkJU2F2ZXMgYW5kIHJlc3RvcmVzIHRoZSBzdGF0ZSBvZiB0aGUgZWJ0YWJsZXMgcnVsZXNldHMuCisjIyMgRU5EIElOSVQgSU5GTworCisvdXNyL3NiaW4vZWJ0YWJsZXMuY29tbW9uICQxCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9lYnRhYmxlcy9lYnRhYmxlcy0yLjAuMTAtNC9lYnRhYmxlcy5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvZWJ0YWJsZXMvZWJ0YWJsZXMtMi4wLjEwLTQvZWJ0YWJsZXMuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWJkMWZlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvZWJ0YWJsZXMvZWJ0YWJsZXMtMi4wLjEwLTQvZWJ0YWJsZXMuc2VydmljZQpAQCAtMCwwICsxLDExIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPUV0aGVybmV0IEJyaWRnZSBGaWx0ZXJpbmcgVGFibGVzCisKK1tTZXJ2aWNlXQorVHlwZT1vbmVzaG90CitSZW1haW5BZnRlckV4aXQ9eWVzCitFeGVjU3RhcnQ9QFNCSU5ESVJAL2VidGFibGVzLmNvbW1vbiBzdGFydAorRXhlY1N0b3A9QFNCSU5ESVJAL2VidGFibGVzLmNvbW1vbiBzdG9wCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2VidGFibGVzL2VidGFibGVzLTIuMC4xMC00L2luc3RhbGxub25yb290LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvZWJ0YWJsZXMvZWJ0YWJsZXMtMi4wLjEwLTQvaW5zdGFsbG5vbnJvb3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmNkOWJlZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2VidGFibGVzL2VidGFibGVzLTIuMC4xMC00L2luc3RhbGxub25yb290LnBhdGNoCkBAIC0wLDAgKzEsNDMgQEAKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCBjMTEwNmE0Li43ZWE2YjdhIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtMTU3LDMxICsxNTcsMzEgQEAgdG1wMzo9JChzaGVsbCBwcmludGYgJChQSVBFKSB8IHNlZCAncy9cLy9cXFwvL2cnKQorIHNjcmlwdHM6IGVidGFibGVzLXNhdmUgZWJ0YWJsZXMuc3lzdiBlYnRhYmxlcy1jb25maWcKKyAJY2F0IGVidGFibGVzLXNhdmUgfCBzZWQgJ3MvX19FWEVDX1BBVEhfXy8kKHRtcDEpL2cnID4gZWJ0YWJsZXMtc2F2ZV8KKyAJbWtkaXIgLXAgJChERVNURElSKSQoQklORElSKQorLQlpbnN0YWxsIC1tIDA3NTUgLW8gcm9vdCAtZyByb290IGVidGFibGVzLXNhdmVfICQoREVTVERJUikkKEJJTkRJUikvZWJ0YWJsZXMtc2F2ZQorKwlpbnN0YWxsIC1tIDA3NTUgZWJ0YWJsZXMtc2F2ZV8gJChERVNURElSKSQoQklORElSKS9lYnRhYmxlcy1zYXZlCisgCWNhdCBlYnRhYmxlcy5zeXN2IHwgc2VkICdzL19fRVhFQ19QQVRIX18vJCh0bXAxKS9nJyB8IHNlZCAncy9fX1NZU0NPTkZJR19fLyQodG1wMikvZycgPiBlYnRhYmxlcy5zeXN2XworIAlpZiBbICIkKERFU1RESVIpIiAhPSAiIiBdOyB0aGVuIG1rZGlyIC1wICQoREVTVERJUikkKElOSVRESVIpOyBmaQorLQlpZiB0ZXN0IC1kICQoREVTVERJUikkKElOSVRESVIpOyB0aGVuIGluc3RhbGwgLW0gMDc1NSAtbyByb290IC1nIHJvb3QgZWJ0YWJsZXMuc3lzdl8gJChERVNURElSKSQoSU5JVERJUikvZWJ0YWJsZXM7IGZpCisrCWlmIHRlc3QgLWQgJChERVNURElSKSQoSU5JVERJUik7IHRoZW4gaW5zdGFsbCAtbSAwNzU1IGVidGFibGVzLnN5c3ZfICQoREVTVERJUikkKElOSVRESVIpL2VidGFibGVzOyBmaQorIAljYXQgZWJ0YWJsZXMtY29uZmlnIHwgc2VkICdzL19fU1lTQ09ORklHX18vJCh0bXAyKS9nJyA+IGVidGFibGVzLWNvbmZpZ18KKyAJaWYgWyAiJChERVNURElSKSIgIT0gIiIgXTsgdGhlbiBta2RpciAtcCAkKERFU1RESVIpJChTWVNDT05GSUdESVIpOyBmaQorLQlpZiB0ZXN0IC1kICQoREVTVERJUikkKFNZU0NPTkZJR0RJUik7IHRoZW4gaW5zdGFsbCAtbSAwNjAwIC1vIHJvb3QgLWcgcm9vdCBlYnRhYmxlcy1jb25maWdfICQoREVTVERJUikkKFNZU0NPTkZJR0RJUikvZWJ0YWJsZXMtY29uZmlnOyBmaQorKwlpZiB0ZXN0IC1kICQoREVTVERJUikkKFNZU0NPTkZJR0RJUik7IHRoZW4gaW5zdGFsbCAtbSAwNjAwIGVidGFibGVzLWNvbmZpZ18gJChERVNURElSKSQoU1lTQ09ORklHRElSKS9lYnRhYmxlcy1jb25maWc7IGZpCisgCXJtIC1mIGVidGFibGVzLXNhdmVfIGVidGFibGVzLnN5c3ZfIGVidGFibGVzLWNvbmZpZ18KKyAKKyB0bXA0Oj0kKHNoZWxsIHByaW50ZiAkKExPQ0tGSUxFKSB8IHNlZCAncy9cLy9cXFwvL2cnKQorICQoTUFORElSKS9tYW44L2VidGFibGVzLjg6IGVidGFibGVzLjgKKyAJbWtkaXIgLXAgJChERVNURElSKSQoQEQpCisgCXNlZCAtZSAncy8kJChWRVJTSU9OKS8kKFBST0dWRVJTSU9OKS8nIC1lICdzLyQkKERBVEUpLyQoUFJPR0RBVEUpLycgLWUgJ3MvJCQoTE9DS0ZJTEUpLyQodG1wNCkvJyBlYnRhYmxlcy44ID4gZWJ0YWJsZXMuOF8KKy0JaW5zdGFsbCAtbSAwNjQ0IC1vIHJvb3QgLWcgcm9vdCBlYnRhYmxlcy44XyAkKERFU1RESVIpJEAKKysJaW5zdGFsbCAtbSAwNjQ0IGVidGFibGVzLjhfICQoREVTVERJUikkQAorIAlybSAtZiBlYnRhYmxlcy44XworIAorICQoREVTVERJUikkKEVUSEVSVFlQRVNGSUxFKTogZXRoZXJ0eXBlcworIAlta2RpciAtcCAkKEBEKQorLQlpbnN0YWxsIC1tIDA2NDQgLW8gcm9vdCAtZyByb290ICQ8ICRACisrCWluc3RhbGwgLW0gMDY0NCAkPCAkQAorIAorIC5QSE9OWTogZXhlYworIGV4ZWM6IGVidGFibGVzIGVidGFibGVzLXJlc3RvcmUKKyAJbWtkaXIgLXAgJChERVNURElSKSQoQklORElSKQorLQlpbnN0YWxsIC1tIDA3NTUgLW8gcm9vdCAtZyByb290ICQoUFJPR05BTUUpICQoREVTVERJUikkKEJJTkRJUikvJChQUk9HTkFNRSkKKy0JaW5zdGFsbCAtbSAwNzU1IC1vIHJvb3QgLWcgcm9vdCBlYnRhYmxlcy1yZXN0b3JlICQoREVTVERJUikkKEJJTkRJUikvZWJ0YWJsZXMtcmVzdG9yZQorKwlpbnN0YWxsIC1tIDA3NTUgJChQUk9HTkFNRSkgJChERVNURElSKSQoQklORElSKS8kKFBST0dOQU1FKQorKwlpbnN0YWxsIC1tIDA3NTUgZWJ0YWJsZXMtcmVzdG9yZSAkKERFU1RESVIpJChCSU5ESVIpL2VidGFibGVzLXJlc3RvcmUKKyAKKyAuUEhPTlk6IGluc3RhbGwKKyBpbnN0YWxsOiAkKE1BTkRJUikvbWFuOC9lYnRhYmxlcy44ICQoREVTVERJUikkKEVUSEVSVFlQRVNGSUxFKSBleGVjIHNjcmlwdHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2VidGFibGVzL2VidGFibGVzLTIuMC4xMC00L25vLWFzLW5lZWRlZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2VidGFibGVzL2VidGFibGVzLTIuMC4xMC00L25vLWFzLW5lZWRlZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMzYxMTlkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvZWJ0YWJsZXMvZWJ0YWJsZXMtMi4wLjEwLTQvbm8tYXMtbmVlZGVkLnBhdGNoCkBAIC0wLDAgKzEsMjUgQEAKK2xpbmsgZWJ0YWJsZXMgd2l0aCAtLW5vLWFzLW5lZWRlZCBhbmQgYWRqdXN0IHRoZSBsaW5rIG9yZGVyIHRvIGZpeCBydW50aW1lIGNyYXNoCisKK1Byb2dyYW0gdGVybWluYXRlZCB3aXRoIHNpZ25hbCAxMSwgU2VnbWVudGF0aW9uIGZhdWx0LgorIzAgIDB4MDAwMDdmZmFhODM3ZmI1MyBpbiBlYnRfaW5pdGlhbGl6ZV9lbnRyeSAoKSBmcm9tIC9saWI2NC9lYnRhYmxlcy9saWJlYnRjLnNvCisoZ2RiKSBidAorIzAgIDB4MDAwMDdmZmFhODM3ZmI1MyBpbiBlYnRfaW5pdGlhbGl6ZV9lbnRyeSAoKSBmcm9tIC9saWI2NC9lYnRhYmxlcy9saWJlYnRjLnNvCisjMSAgMHgwMDAwN2ZmYWE4MzgyNGRjIGluIGRvX2NvbW1hbmQgKCkgZnJvbSAvbGliNjQvZWJ0YWJsZXMvbGliZWJ0Yy5zbworIzIgIDB4MDAwMDAwMDAwMDQwMDY1YyBpbiA/PyAoKQorIzMgIDB4MDAwMDdmZmFhN2ZlZDc1NSBpbiBfX2xpYmNfc3RhcnRfbWFpbiAoKSBmcm9tIC9saWI2NC9saWJjLnNvLjYKKyM0ICAweDAwMDAwMDAwMDA0MDA2OTEgaW4gPz8gKCkKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0luZGV4OiBlYnRhYmxlcy12Mi4wLjEwLTQvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBlYnRhYmxlcy12Mi4wLjEwLTQub3JpZy9NYWtlZmlsZQkyMDExLTEyLTE1IDEyOjAyOjQ3LjAwMDAwMDAwMCAtMDgwMAorKysrIGVidGFibGVzLXYyLjAuMTAtNC9NYWtlZmlsZQkyMDEyLTEyLTE3IDIyOjA5OjQ1LjA2NTk3Mzc1MyAtMDgwMAorQEAgLTkwLDcgKzkwLDcgQEAKKyAJJChDQykgLXNoYXJlZCAkKExERkxBR1MpIC1XbCwtc29uYW1lLGxpYmVidGMuc28gLW8gbGliZWJ0Yy5zbyAtbGMgJChPQkpFQ1RTMikKKyAKKyBlYnRhYmxlczogJChPQkpFQ1RTKSBlYnRhYmxlcy1zdGFuZGFsb25lLm8gbGliZWJ0Yy5zbworLQkkKENDKSAkKENGTEFHUykgJChDRkxBR1NfU0hfTElCKSAkKExERkxBR1MpIC1vICRAIGVidGFibGVzLXN0YW5kYWxvbmUubyAtSSQoS0VSTkVMX0lOQ0xVREVTKSAtTC4gLUxleHRlbnNpb25zIC1sZWJ0YyAkKEVYVF9MSUJTSSkgXAorKwkkKENDKSAkKENGTEFHUykgJChDRkxBR1NfU0hfTElCKSAkKExERkxBR1MpIC1vICRAIGVidGFibGVzLXN0YW5kYWxvbmUubyAtSSQoS0VSTkVMX0lOQ0xVREVTKSAtTC4gLUxleHRlbnNpb25zIC1XbCwtLW5vLWFzLW5lZWRlZCAkKEVYVF9MSUJTSSkgLWxlYnRjIFwKKyAJLVdsLC1ycGF0aCwkKExJQkRJUikKKyAKKyBlYnRhYmxlc3U6IGVidGFibGVzdS5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9lYnRhYmxlcy9lYnRhYmxlc18yLjAuMTAtNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2VidGFibGVzL2VidGFibGVzXzIuMC4xMC00LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5YjcyNmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9lYnRhYmxlcy9lYnRhYmxlc18yLjAuMTAtNC5iYgpAQCAtMCwwICsxLDkwIEBACitTVU1NQVJZID0gIkZpbHRlcmluZyB0b29sIGZvciBhIExpbnV4LWJhc2VkIGJyaWRnaW5nIGZpcmV3YWxsIgorREVTQ1JJUFRJT04gPSAiVXRpbGl0eSBmb3IgYmFzaWMgRXRoZXJuZXQgZnJhbWUgZmlsdGVyaW5nIG9uIGEgTGludXggYnJpZGdlLCBcCisgICAgICAgICAgICAgICBhZHZhbmNlZCBsb2dnaW5nLCBNQUMgRE5BVC9TTkFUIGFuZCBicm91dGluZy4iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTNiNGE5OTk5OTM4NzFhMjhhYjE0ODhmZGJkMmU3M2UiCitTRUNUSU9OID0gIm5ldCIKK1BSID0gInIzIgorCitSREVQRU5EU18ke1BOfSArPSAicGVybCIKKworUlJFQ09NTUVORFNfJHtQTn0gKz0gImtlcm5lbC1tb2R1bGUtZWJ0YWJsZXMgXAorICAgICIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vZWJ0YWJsZXMvZWJ0YWJsZXMtdiR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9pbnN0YWxsbm9ucm9vdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMWRlYmlhbl9kZWZhdWx0Y29uZmlnLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2VidGFibGVzLmluaXQgXAorICAgICAgICAgICBmaWxlOi8vZWJ0YWJsZXMuY29tbW9uIFwKKyAgICAgICAgICAgZmlsZTovL2VidGFibGVzLnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vbm8tYXMtbmVlZGVkLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjUwNjc0MmEzZDQ0Yjk5MjU5NTU0MjVhNjU5YzFhOGQwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImRjNmY3YjQ4NGYyMDdkYzcxMmJmY2E4MTY0NWY0NTEyMGNiNmFlZTMzODBlNzdhMTc3MWU5YzM0YTlhNDQ1NWQiCisKK1MgPSAiJHtXT1JLRElSfS9lYnRhYmxlcy12JHtQVn0iCisKK2luaGVyaXQgdXBkYXRlLXJjLmQgc3lzdGVtZAorCitweXRob24gX19hbm9ueW1vdXMgKCkgeworICAgIGltcG9ydCByZQorCisgICAga2FyY2ggPSBkLmdldFZhcignS0FSQ0gnLCBUcnVlKQorICAgIG11bHRpbGliID0gZC5nZXRWYXIoJ01MUFJFRklYJywgVHJ1ZSkKKworICAgIGlmIG11bHRpbGliIGFuZCBrYXJjaCA9PSAncG93ZXJwYzY0JzoKKyAgICAgICAgc2VhcmNoc3RyID0gImxpYi4/MzIiCisgICAgICAgIHJlZyA9IHJlLmNvbXBpbGUoc2VhcmNoc3RyKQorICAgICAgICBpZiByZWcuc2VhcmNoKG11bHRpbGliKToKKyAgICAgICAgICAgIGQuYXBwZW5kVmFyKCdDRkxBR1MnICwnIC1ES0VSTkVMXzY0X1VTRVJTUEFDRV8zMiAtREVCVF9NSU5fQUxJR049OCcpCit9CisKK0VYVFJBX09FTUFLRSA9ICIgXAorICAgICAgICBCSU5ESVI9JHtiYXNlX3NiaW5kaXJ9IFwKKyAgICAgICAgTUFORElSPSR7bWFuZGlyfSBcCisgICAgICAgIEVUSEVSVFlQRVNQQVRIPSR7c3lzY29uZmRpcn0gXAorICAgICAgICBJTklURElSPSR7c3lzY29uZmRpcn0vaW5pdC5kIFwKKyAgICAgICAgU1lTQ09ORklHRElSPSR7c3lzY29uZmRpcn0vZGVmYXVsdCBcCisgICAgICAgIExJQkRJUj0ke2Jhc2VfbGliZGlyfS9lYnRhYmxlcyBcCisgICAgICAgICdDQz0ke0NDfScgXAorICAgICAgICAnQ0ZMQUdTPSR7Q0ZMQUdTfScgXAorICAgICAgICAnTERGTEFHUz0ke0xERkxBR1N9IC1XbCwtLW5vLWFzLW5lZWRlZCcgXAorICAgICAgICAnTEQ9JHtMRH0nIFwKKyIKKworZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzYmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2VidGFibGVzLmNvbW1vbiAke0R9JHtzYmluZGlyfS9lYnRhYmxlcy5jb21tb24KKyAgICAjIEZpeCBoYXJkY29kZWQgcGF0aHMgaW4gc2NyaXB0cworICAgIHNlZCAtaSAncyEvc2Jpbi8hJHtiYXNlX3NiaW5kaXJ9LyFnJyAke0R9JHtzYmluZGlyfS9lYnRhYmxlcy5jb21tb24KKyAgICBzZWQgLWkgJ3MhL2V0Yy8hJHtzeXNjb25mZGlyfS8hZycgJHtEfSR7c2JpbmRpcn0vZWJ0YWJsZXMuY29tbW9uCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdAorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZWJ0YWJsZXMKKyAgICBvZV9ydW5tYWtlIERFU1RESVI9JyR7RH0nIGluc3RhbGwKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9lYnRhYmxlcy5pbml0ICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvZWJ0YWJsZXMKKyAgICBtdiAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L2VidGFibGVzLWNvbmZpZyAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L2VidGFibGVzCisgICAgc2VkIC1pICdzIS91c3Ivc2Jpbi8hJHtzYmluZGlyfS8hZycgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2VidGFibGVzCisKKyAgICAjIFRoZSBzY3JpcHQgZWJ0YWJsZXMtc2F2ZSByZWZlcm5jZXMgcGVybCBpbiBleGVjX3ByZWZpeCwgc28KKyAgICAjIG1vdmUgaXQgdG8gc2JpbmRpciB0byBhdm9pZCBRQSBpc3N1ZQorICAgIGluc3RhbGwgLWQgJHtEfS8ke3NiaW5kaXJ9CisgICAgbXYgJHtEfS8ke2Jhc2Vfc2JpbmRpcn0vZWJ0YWJsZXMtc2F2ZSAke0R9LyR7c2JpbmRpcn0KKworICAgICMgSW5zdGFsbCBzeXN0ZW1kIHNlcnZpY2UgZmlsZXMKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZWJ0YWJsZXMuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIHNlZCAtaSAtZSAncyNAU0JJTkRJUkAjJHtzYmluZGlyfSNnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9lYnRhYmxlcy5zZXJ2aWNlCit9CisKK0NPTkZGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfS9kZWZhdWx0L2VidGFibGVzIgorCitJTklUU0NSSVBUX05BTUUgPSAiZWJ0YWJsZXMiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCA0MSBTIC4gc3RvcCA0MSA2IC4iCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJlYnRhYmxlcy5zZXJ2aWNlIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7YmFzZV9saWJkaXJ9L2VidGFibGVzLy5kZWJ1ZyIKK0ZJTEVTXyR7UE59ICs9ICIke2Jhc2VfbGliZGlyfS9lYnRhYmxlcy8qLnNvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvbGlibW5sL2xpYm1ubF8xLjAuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2xpYm1ubC9saWJtbmxfMS4wLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjNhNWYyZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2xpYm1ubC9saWJtbmxfMS4wLjMuYmIKQEAgLTAsMCArMSwxMyBAQAorU1VNTUFSWSA9ICJNaW5pbWFsaXN0aWMgdXNlci1zcGFjZSBOZXRsaW5rIHV0aWxpdHkgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIk1pbmltYWxpc3RpYyB1c2VyLXNwYWNlIGxpYnJhcnkgb3JpZW50ZWQgdG8gTmV0bGluayBkZXZlbG9wZXJzLCBwcm92aWRpbmcgXAorICAgIGZ1bmN0aW9ucyBmb3IgY29tbW9uIHRhc2tzIGluIHBhcnNpbmcsIHZhbGlkYXRpbmcsIGFuZCBjb25zdHJ1Y3RpbmcgYm90aCB0aGUgTmV0bGluayBoZWFkZXIgYW5kIFRMVnMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5uZXRmaWx0ZXIub3JnL3Byb2plY3RzL2xpYm1ubC9pbmRleC5odG1sIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lm5ldGZpbHRlci5vcmcvcHJvamVjdHMvbGlibW5sL2ZpbGVzL2xpYm1ubC0ke1BWfS50YXIuYnoyO25hbWU9dGFyIgorU1JDX1VSSVt0YXIubWQ1c3VtXSA9ICI3ZDk1ZmMzYmVhMzM2NWJjMDNjNDhlNDg0MjI0ZjY1ZiIKK1NSQ19VUklbdGFyLnNoYTI1NnN1bV0gPSAiNmYxNDMzNmU5YWNkYmM2MmMyZGM3MWJiYjU5Y2UxNjJlNTRlOWFmNWM4MDE1M2U5MjQ3NmM1NDQzZmU3ODRkZSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9saWJuZXRmaWx0ZXIvZmlsZXMvcmVwbGFjZS1WTEFzLWluLXVuaW9uLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvbGlibmV0ZmlsdGVyL2ZpbGVzL3JlcGxhY2UtVkxBcy1pbi11bmlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNmU0YWY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvbGlibmV0ZmlsdGVyL2ZpbGVzL3JlcGxhY2UtVkxBcy1pbi11bmlvbi5wYXRjaApAQCAtMCwwICsxLDg5IEBACitWTEFzIGluIHN0cnVjdHMgYW5kIHVuaW9ucyAobm9uLVBPRHMpIGlzIHVuc3VwcG9ydGVkIGluIG5vbi1nY2MgY29tcGlsZXJzCit0aGVyZWZvcmUgY29udmVydCBpdCB0byBub3QgdXNlIFZMQXMgaW5zdGVhZCB1c2UgZml4ZWQgYXJyYXlzCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK0luZGV4OiBsaWJuZXRmaWx0ZXJfY29ubnRyYWNrLTEuMC40L3NyYy9jb25udHJhY2svYXBpLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsaWJuZXRmaWx0ZXJfY29ubnRyYWNrLTEuMC40Lm9yaWcvc3JjL2Nvbm50cmFjay9hcGkuYworKysrIGxpYm5ldGZpbHRlcl9jb25udHJhY2stMS4wLjQvc3JjL2Nvbm50cmFjay9hcGkuYworQEAgLTk1NCwxNiArOTU0LDE1IEBAIGludCBuZmN0X3F1ZXJ5KHN0cnVjdCBuZmN0X2hhbmRsZSAqaCwKKyAJICAgICAgIGNvbnN0IGVudW0gbmZfY29ubnRyYWNrX3F1ZXJ5IHF0LAorIAkgICAgICAgY29uc3Qgdm9pZCAqZGF0YSkKKyB7CistCXNpemVfdCBzaXplID0gNDA5NjsJLyogZW5vdWdoIGZvciBub3cgKi8KKyAJdW5pb24geworLQkJY2hhciBidWZmZXJbc2l6ZV07CisrCQljaGFyIGJ1ZmZlcls0MDk2XTsKKyAJCXN0cnVjdCBuZm5saGRyIHJlcTsKKyAJfSB1OworIAorIAlhc3NlcnQoaCAhPSBOVUxMKTsKKyAJYXNzZXJ0KGRhdGEgIT0gTlVMTCk7CisgCistCWlmIChfX2J1aWxkX3F1ZXJ5X2N0KGgtPm5mbmxzc2hfY3QsIHF0LCBkYXRhLCAmdS5yZXEsIHNpemUpID09IC0xKQorKwlpZiAoX19idWlsZF9xdWVyeV9jdChoLT5uZm5sc3NoX2N0LCBxdCwgZGF0YSwgJnUucmVxLCA0MDk2KSA9PSAtMSkKKyAJCXJldHVybiAtMTsKKyAKKyAJcmV0dXJuIG5mbmxfcXVlcnkoaC0+bmZubGgsICZ1LnJlcS5ubGgpOworQEAgLTk4NiwxNiArOTg1LDE1IEBAIGludCBuZmN0X3NlbmQoc3RydWN0IG5mY3RfaGFuZGxlICpoLAorIAkgICAgICBjb25zdCBlbnVtIG5mX2Nvbm50cmFja19xdWVyeSBxdCwKKyAJICAgICAgY29uc3Qgdm9pZCAqZGF0YSkKKyB7CistCXNpemVfdCBzaXplID0gNDA5NjsJLyogZW5vdWdoIGZvciBub3cgKi8KKyAJdW5pb24geworLQkJY2hhciBidWZmZXJbc2l6ZV07CisrCQljaGFyIGJ1ZmZlcls0MDk2XTsKKyAJCXN0cnVjdCBuZm5saGRyIHJlcTsKKyAJfSB1OworIAorIAlhc3NlcnQoaCAhPSBOVUxMKTsKKyAJYXNzZXJ0KGRhdGEgIT0gTlVMTCk7CisgCistCWlmIChfX2J1aWxkX3F1ZXJ5X2N0KGgtPm5mbmxzc2hfY3QsIHF0LCBkYXRhLCAmdS5yZXEsIHNpemUpID09IC0xKQorKwlpZiAoX19idWlsZF9xdWVyeV9jdChoLT5uZm5sc3NoX2N0LCBxdCwgZGF0YSwgJnUucmVxLCA0MDk2KSA9PSAtMSkKKyAJCXJldHVybiAtMTsKKyAKKyAJcmV0dXJuIG5mbmxfc2VuZChoLT5uZm5saCwgJnUucmVxLm5saCk7CitJbmRleDogbGlibmV0ZmlsdGVyX2Nvbm50cmFjay0xLjAuNC9zcmMvZXhwZWN0L2FwaS5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGlibmV0ZmlsdGVyX2Nvbm50cmFjay0xLjAuNC5vcmlnL3NyYy9leHBlY3QvYXBpLmMKKysrKyBsaWJuZXRmaWx0ZXJfY29ubnRyYWNrLTEuMC40L3NyYy9leHBlY3QvYXBpLmMKK0BAIC02NjksMTYgKzY2OSwxNSBAQCBpbnQgbmZleHBfcXVlcnkoc3RydWN0IG5mY3RfaGFuZGxlICpoLAorIAkgICAgICAgIGNvbnN0IGVudW0gbmZfY29ubnRyYWNrX3F1ZXJ5IHF0LAorIAkgICAgICAgIGNvbnN0IHZvaWQgKmRhdGEpCisgeworLQlzaXplX3Qgc2l6ZSA9IDQwOTY7CS8qIGVub3VnaCBmb3Igbm93ICovCisgCXVuaW9uIHsKKy0JCWNoYXIgYnVmZmVyW3NpemVdOworKwkJY2hhciBidWZmZXJbNDA5Nl07CisgCQlzdHJ1Y3QgbmZubGhkciByZXE7CisgCX0gdTsKKyAKKyAJYXNzZXJ0KGggIT0gTlVMTCk7CisgCWFzc2VydChkYXRhICE9IE5VTEwpOworIAorLQlpZiAoX19idWlsZF9xdWVyeV9leHAoaC0+bmZubHNzaF9leHAsIHF0LCBkYXRhLCAmdS5yZXEsIHNpemUpID09IC0xKQorKwlpZiAoX19idWlsZF9xdWVyeV9leHAoaC0+bmZubHNzaF9leHAsIHF0LCBkYXRhLCAmdS5yZXEsIDQwOTYpID09IC0xKQorIAkJcmV0dXJuIC0xOworIAorIAlyZXR1cm4gbmZubF9xdWVyeShoLT5uZm5saCwgJnUucmVxLm5saCk7CitAQCAtNzAxLDE2ICs3MDAsMTUgQEAgaW50IG5mZXhwX3NlbmQoc3RydWN0IG5mY3RfaGFuZGxlICpoLAorIAkgICAgICAgY29uc3QgZW51bSBuZl9jb25udHJhY2tfcXVlcnkgcXQsCisgCSAgICAgICBjb25zdCB2b2lkICpkYXRhKQorIHsKKy0Jc2l6ZV90IHNpemUgPSA0MDk2OwkvKiBlbm91Z2ggZm9yIG5vdyAqLworIAl1bmlvbiB7CistCQljaGFyIGJ1ZmZlcltzaXplXTsKKysJCWNoYXIgYnVmZmVyWzQwOTZdOworIAkJc3RydWN0IG5mbmxoZHIgcmVxOworIAl9IHU7CisgCisgCWFzc2VydChoICE9IE5VTEwpOworIAlhc3NlcnQoZGF0YSAhPSBOVUxMKTsKKyAKKy0JaWYgKF9fYnVpbGRfcXVlcnlfZXhwKGgtPm5mbmxzc2hfZXhwLCBxdCwgZGF0YSwgJnUucmVxLCBzaXplKSA9PSAtMSkKKysJaWYgKF9fYnVpbGRfcXVlcnlfZXhwKGgtPm5mbmxzc2hfZXhwLCBxdCwgZGF0YSwgJnUucmVxLCA0MDk2KSA9PSAtMSkKKyAJCXJldHVybiAtMTsKKyAKKyAJcmV0dXJuIG5mbmxfc2VuZChoLT5uZm5saCwgJnUucmVxLm5saCk7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9saWJuZXRmaWx0ZXIvbGlibmV0ZmlsdGVyLWNvbm50cmFja18xLjAuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2xpYm5ldGZpbHRlci9saWJuZXRmaWx0ZXItY29ubnRyYWNrXzEuMC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjYmM4NmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9saWJuZXRmaWx0ZXIvbGlibmV0ZmlsdGVyLWNvbm50cmFja18xLjAuNC5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIk5ldGZpbHRlciBjb25uZWN0aW9uIHRyYWNraW5nIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJVc2Vyc3BhY2UgbGlicmFyeSBwcm92aWRpbmcgYSBwcm9ncmFtbWluZyBpbnRlcmZhY2UgKEFQSSkgdG8gdGhlIExpbnV4IGtlcm5lbCBuZXRmaWx0ZXIgY29ubmVjdGlvbiB0cmFja2luZyBzdGF0ZSB0YWJsZSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubmV0ZmlsdGVyLm9yZy9wcm9qZWN0cy9saWJuZXRmaWx0ZXJfY29ubnRyYWNrL2luZGV4Lmh0bWwiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThjYTQzY2JjODQyYzIzMzZlODM1OTI2YzIxNjZjMjhiIgorREVQRU5EUyA9ICJsaWJuZm5ldGxpbmsgbGlibW5sIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubmV0ZmlsdGVyLm9yZy9wcm9qZWN0cy9saWJuZXRmaWx0ZXJfY29ubnRyYWNrL2ZpbGVzL2xpYm5ldGZpbHRlcl9jb25udHJhY2stJHtQVn0udGFyLmJ6MjtuYW1lPXRhciBcCisgICAgICAgICAgIGZpbGU6Ly9yZXBsYWNlLVZMQXMtaW4tdW5pb24ucGF0Y2ggXAorIgorU1JDX1VSSVt0YXIubWQ1c3VtXSA9ICIxOGNmODBjNGIzMzlhMzI4NWU3ODgyMmRiZDRmMDhkNyIKK1NSQ19VUklbdGFyLnNoYTI1NnN1bV0gPSAiZDllYzRhM2NhZjQ5NDE3ZjJiMGEyZDhkNDQyNDkxMzNlOGMzZWM3OGM3NTdiN2ViOGMyNzNmMWNiNjkyOWM3ZCIKKworUyA9ICIke1dPUktESVJ9L2xpYm5ldGZpbHRlcl9jb25udHJhY2stJHtQVn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvbGlibmV0ZmlsdGVyL2xpYm5ldGZpbHRlci1jdGhlbHBlcl8xLjAuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2xpYm5ldGZpbHRlci9saWJuZXRmaWx0ZXItY3RoZWxwZXJfMS4wLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2QzNzk5NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2xpYm5ldGZpbHRlci9saWJuZXRmaWx0ZXItY3RoZWxwZXJfMS4wLjAuYmIKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJOZXRmaWx0ZXIgY29ubmVjdGlvbiB0cmFja2luZyBoZWxwZXIgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIlVzZXJzcGFjZSBsaWJyYXJ5IHByb3ZpZGluZyBhIHByb2dyYW1taW5nIGludGVyZmFjZSAoQVBJKSB0byB0aGUgTGludXgga2VybmVsIG5ldGZpbHRlciB1c2VyLXNwYWNlIGhlbHBlciBpbmZyYXN0cnVjdHVyZSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubmV0ZmlsdGVyLm9yZy9wcm9qZWN0cy9saWJuZXRmaWx0ZXJfY3RoZWxwZXIvaW5kZXguaHRtbCIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGNhNDNjYmM4NDJjMjMzNmU4MzU5MjZjMjE2NmMyOGIiCitERVBFTkRTID0gImxpYm1ubCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lm5ldGZpbHRlci5vcmcvcHJvamVjdHMvbGlibmV0ZmlsdGVyX2N0aGVscGVyL2ZpbGVzL2xpYm5ldGZpbHRlcl9jdGhlbHBlci0ke1BWfS50YXIuYnoyO25hbWU9dGFyIgorU1JDX1VSSVt0YXIubWQ1c3VtXSA9ICJiMmVmYWIxYTNhMTk4YTVhZGQ0NDg5NjBiYTAxMWFjZCIKK1NSQ19VUklbdGFyLnNoYTI1NnN1bV0gPSAiMDc2MThlNzFjNGQ5YTZiNmIzZGMxOTg2NTQwNDg2ZWUzMTBhOTgzOGJhNzU0OTI2YzdkMTRhMTdkOGZjY2YzZCIKKworUyA9ICIke1dPUktESVJ9L2xpYm5ldGZpbHRlcl9jdGhlbHBlci0ke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9saWJuZXRmaWx0ZXIvbGlibmV0ZmlsdGVyLWN0dGltZW91dF8xLjAuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2xpYm5ldGZpbHRlci9saWJuZXRmaWx0ZXItY3R0aW1lb3V0XzEuMC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjZjc0ODUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9saWJuZXRmaWx0ZXIvbGlibmV0ZmlsdGVyLWN0dGltZW91dF8xLjAuMC5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIk5ldGZpbHRlciBjb25uZWN0aW9uIHRyYWNraW5nIHRpbWVvdXQgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIlVzZXJzcGFjZSBsaWJyYXJ5IHByb3ZpZGluZyBhIHByb2dyYW1taW5nIGludGVyZmFjZSAoQVBJKSB0byB0aGUgTGludXgga2VybmVsIG5ldGZpbHRlciBmaW5lLWdyYWluIGNvbm5lY3Rpb24gdHJhY2tpbmcgdGltZW91dCBpbmZyYXN0cnVjdHVyZSIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGNhNDNjYmM4NDJjMjMzNmU4MzU5MjZjMjE2NmMyOGIiCitERVBFTkRTID0gImxpYm1ubCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lm5ldGZpbHRlci5vcmcvcHJvamVjdHMvbGlibmV0ZmlsdGVyX2N0dGltZW91dC9maWxlcy9saWJuZXRmaWx0ZXJfY3R0aW1lb3V0LSR7UFZ9LnRhci5iejI7bmFtZT10YXIiCitTUkNfVVJJW3Rhci5tZDVzdW1dID0gIjc2OTc0MzdmYzllYmI2ZjZiODNkZjU2YTYzM2RiN2Y5IgorU1JDX1VSSVt0YXIuc2hhMjU2c3VtXSA9ICJhZWFiMTI3NTRmNTU3Y2JhM2NlMjk1MGEyMDI5OTYzZDgxNzQ5MGRmN2VkYjQ5ODgwMDA4YjM0ZDdmZjhmZWJhIgorCitTID0gIiR7V09SS0RJUn0vbGlibmV0ZmlsdGVyX2N0dGltZW91dC0ke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9saWJuZXRmaWx0ZXIvbGlibmV0ZmlsdGVyLWxvZ18xLjAuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2xpYm5ldGZpbHRlci9saWJuZXRmaWx0ZXItbG9nXzEuMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwYzlhZTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9saWJuZXRmaWx0ZXIvbGlibmV0ZmlsdGVyLWxvZ18xLjAuMS5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIk5ldGZpbHRlciBsb2dnaW5nIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJVc2Vyc3BhY2UgbGlicmFyeSBwcm92aWRpbmcgYSBwcm9ncmFtbWluZyBpbnRlcmZhY2UgKEFQSSkgdG8gdGhlIExpbnV4IGtlcm5lbCBuZXRmaWx0ZXIgbG9nIG1lc3NhZ2UgKE5GTE9HKSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubmV0ZmlsdGVyLm9yZy9wcm9qZWN0cy9saWJuZXRmaWx0ZXJfbG9nL2luZGV4Lmh0bWwiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThjYTQzY2JjODQyYzIzMzZlODM1OTI2YzIxNjZjMjhiIgorREVQRU5EUyA9ICJsaWJuZm5ldGxpbmsiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5uZXRmaWx0ZXIub3JnL3Byb2plY3RzL2xpYm5ldGZpbHRlcl9sb2cvZmlsZXMvbGlibmV0ZmlsdGVyX2xvZy0ke1BWfS50YXIuYnoyO25hbWU9dGFyIgorU1JDX1VSSVt0YXIubWQ1c3VtXSA9ICIyYTRiYjA2NTRhZTY3NWE1MmQyZThkMWMwNjA5MGI5NCIKK1NSQ19VUklbdGFyLnNoYTI1NnN1bV0gPSAiNzRlMGZlNzU3NTNkYmEzYWMxMTQ1MzFiNWU3MzI0MDQ1MmM3ODlhM2YzYWRjY2Y1YzUxMjE3ZGExZDkzM2IyMSIKKworUyA9ICIke1dPUktESVJ9L2xpYm5ldGZpbHRlcl9sb2ctJHtQVn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvbGlibmV0ZmlsdGVyL2xpYm5ldGZpbHRlci1xdWV1ZV8xLjAuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2xpYm5ldGZpbHRlci9saWJuZXRmaWx0ZXItcXVldWVfMS4wLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGRmMmFhNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2xpYm5ldGZpbHRlci9saWJuZXRmaWx0ZXItcXVldWVfMS4wLjIuYmIKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJOZXRmaWx0ZXIgcGFja2V0IHF1ZXVlIGFjY2VzcyBsaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAiVXNlcnNwYWNlIGxpYnJhcnkgcHJvdmlkaW5nIGEgcHJvZ3JhbW1pbmcgaW50ZXJmYWNlIChBUEkpIHRvIGFjY2VzcyB0aGUgTGludXgga2VybmVsIG5ldGZpbHRlciBwYWNrZXQgcXVldWUiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm5ldGZpbHRlci5vcmcvcHJvamVjdHMvbGlibmV0ZmlsdGVyX3F1ZXVlL2luZGV4Lmh0bWwiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThjYTQzY2JjODQyYzIzMzZlODM1OTI2YzIxNjZjMjhiIgorREVQRU5EUyA9ICJsaWJuZm5ldGxpbmsgbGlibW5sIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubmV0ZmlsdGVyLm9yZy9wcm9qZWN0cy9saWJuZXRmaWx0ZXJfcXVldWUvZmlsZXMvbGlibmV0ZmlsdGVyX3F1ZXVlLSR7UFZ9LnRhci5iejI7bmFtZT10YXIiCitTUkNfVVJJW3Rhci5tZDVzdW1dID0gImRmMDliZWZhYzM1Y2IyMTU4NjViMzlhMzZjOTZhM2ZhIgorU1JDX1VSSVt0YXIuc2hhMjU2c3VtXSA9ICI4Mzg0OTBlYjVkYmUzNThmOTY2OTgyMzcwNDk4MmY1MzEzYThkMzk3MTExNTYyMzczMjAwMjAzZjkzYWMxYTMyIgorCitTID0gIiR7V09SS0RJUn0vbGlibmV0ZmlsdGVyX3F1ZXVlLSR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2xpYm5mbmV0bGluay9saWJuZm5ldGxpbmtfMS4wLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9saWJuZm5ldGxpbmsvbGlibmZuZXRsaW5rXzEuMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkZDBmODYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9saWJuZm5ldGxpbmsvbGlibmZuZXRsaW5rXzEuMC4xLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiTG93LWxldmVsIGxpYnJhcnkgZm9yIG5ldGZpbHRlciByZWxhdGVkIGtlcm5lbC91c2Vyc3BhY2UgY29tbXVuaWNhdGlvbiIKK0RFU0NSSVBUSU9OID0gImxpYm5mbmV0bGluayBpcyB0aGUgbG93LWxldmVsIGxpYnJhcnkgZm9yIG5ldGZpbHRlciByZWxhdGVkIFwKK2tlcm5lbC91c2Vyc3BhY2UgY29tbXVuaWNhdGlvbi4gSXQgcHJvdmlkZXMgYSBnZW5lcmljIG1lc3NhZ2luZyBcCitpbmZyYXN0cnVjdHVyZSBmb3IgaW4ta2VybmVsIG5ldGZpbHRlciBzdWJzeXN0ZW1zIChzdWNoIGFzIG5mbmV0bGlua19sb2csIFwKK25mbmV0bGlua19xdWV1ZSwgbmZuZXRsaW5rX2Nvbm50cmFjaykgYW5kIHRoZWlyIHJlc3BlY3RpdmUgdXNlcnMgYW5kL29yIFwKK21hbmFnZW1lbnQgdG9vbHMgaW4gdXNlcnNwYWNlLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubmV0ZmlsdGVyLm9yZy9wcm9qZWN0cy9saWJuZm5ldGxpbmsvaW5kZXguaHRtbCIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThjYTQzY2JjODQyYzIzMzZlODM1OTI2YzIxNjZjMjhiIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubmV0ZmlsdGVyLm9yZy9wcm9qZWN0cy9saWJuZm5ldGxpbmsvZmlsZXMvbGlibmZuZXRsaW5rLSR7UFZ9LnRhci5iejI7bmFtZT10YXIiCitTUkNfVVJJW3Rhci5tZDVzdW1dID0gIjk4OTI3NTgzZDIwMTZhOWZiMTkzNmZlZDk5MmUyYzVlIgorU1JDX1VSSVt0YXIuc2hhMjU2c3VtXSA9ICJmMjcwZTE5ZGU5MTI3NjQyZDJhMTE1ODllZjJlYzk3ZWY5MGE2NDlhNzRmNTZjZjlhOTYzMDZiMDQ4MTdiNTFhIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2xpYm5mdG5sL2xpYm5mdG5sXzEuMC41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvbGlibmZ0bmwvbGlibmZ0bmxfMS4wLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjE3MTE1MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2xpYm5mdG5sL2xpYm5mdG5sXzEuMC41LmJiCkBAIC0wLDAgKzEsMTMgQEAKK1NVTU1BUlkgPSAiTGlicmFyeSBmb3IgbG93LWxldmVsIGludGVyYWN0aW9uIHdpdGggbmZ0YWJsZXMgTmV0bGluaydzIEFQSSBvdmVyIGxpYm1ubCIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03OTgwODM5N2MzMzU1ZjE2M2MwMTI2MTYxMjVjOWUyNiIKK1NFQ1RJT04gPSAibGlicyIKK0RFUEVORFMgPSAibGlibW5sIgorCitTUkNfVVJJID0gImh0dHA6Ly9uZXRmaWx0ZXIub3JnL3Byb2plY3RzL2xpYm5mdG5sL2ZpbGVzLyR7QlB9LnRhci5iejIgIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhZjBjNjJjZTZiYmQ3YTdkMzlkZWYwOTk2YzFjMTdjOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmNmQ0ZjVhNzAyZTM4YmM3OTg3ZjIzNjNmOWZjZDY1OTMwZThiNzAyNTk1YzIyMWE0OTdlMmYzYTM1OWJlNDk3IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL25mdGFibGVzL2ZpbGVzL2ZpeC10by1nZW5lcmF0ZS1udGYuOC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL25mdGFibGVzL2ZpbGVzL2ZpeC10by1nZW5lcmF0ZS1udGYuOC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZGNlOTBhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvbmZ0YWJsZXMvZmlsZXMvZml4LXRvLWdlbmVyYXRlLW50Zi44LnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK1tQQVRDSF0gZGlzYWJsZSB0byBtYWtlIG50Zi44IG1hbgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworJERCMk1BTiBkbyBub3Qgc3VwcG9ydCB0aGUgeGluY2x1ZGUgcGFyYW1ldGVyIHdoZXRoZXIgaXQgaXMKK2RvY2Jvb2syeC1tYW4gb3Igb3RoZXIsIHNvIGRpc2FibGUgdG8gbWFrZSBudGYuOCBtYW4KKworU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgZG9jL01ha2VmaWxlLmFtIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZG9jL01ha2VmaWxlLmFtIGIvZG9jL01ha2VmaWxlLmFtCitpbmRleCBhOTJkZTdmLi41MzdjMzZiIDEwMDY0NAorLS0tIGEvZG9jL01ha2VmaWxlLmFtCisrKysgYi9kb2MvTWFrZWZpbGUuYW0KK0BAIC0xLDUgKzEsNSBAQAorIGlmIEJVSUxEX01BTgorLW1hbl9NQU5TID0gbmZ0LjgKKysjbWFuX01BTlMgPSBuZnQuOAorIGVuZGlmCisgCisgaWYgQlVJTERfUERGCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL25mdGFibGVzL25mdGFibGVzXzAuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL25mdGFibGVzL25mdGFibGVzXzAuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMWI1ZTVhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvbmZ0YWJsZXMvbmZ0YWJsZXNfMC41LmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiTmV0ZmlsdGVyIFRhYmxlcyB1c2Vyc3BhY2UgdXRpbGxpdGVzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQxYTc4ZmRkODc5YTI2M2E1ZTBiNDJkMWZjNTY1ZTc5IgorU0VDVElPTiA9ICJuZXQiCisKK0RFUEVORFMgPSAibGlibW5sIGxpYm5mdG5sIHJlYWRsaW5lIGdtcCIKK1JSRUNPTU1FTkRTXyR7UE59ICs9ICJrZXJuZWwtbW9kdWxlLW5mLXRhYmxlcyBcCisgICAgIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubmV0ZmlsdGVyLm9yZy9wcm9qZWN0cy9uZnRhYmxlcy9maWxlcy8ke0JQfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC10by1nZW5lcmF0ZS1udGYuOC5wYXRjaCBcCisgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOTRiZmUxYzU0YmNiOWY2ZWQ5NzQ4MzVmMmZjYTgwNjkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWZiNmRmZjMzM2Q4YTRmYzM0N2NiYmUyNzNiZjkwNWEyNjM0YjI3YThjMzlkZjBkM2E0NWQ1YTNmZGUxMGFkNiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWlyYy96bmMvem5jX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtaXJjL3puYy96bmNfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyYWVjYmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWlyYy96bmMvem5jX2dpdC5iYgpAQCAtMCwwICsxLDMxIEBACitTVU1NQVJZID0gIlpOQywgYW4gYWR2YW5jZWQgSVJDIGJvdW5jZXIiCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zYjgzZWY5NjM4N2YxNDY1NWZjODU0ZGRjM2M2YmQ1NyIKKworREVQRU5EUyA9ICJvcGVuc3NsIHpsaWIgaWN1IgorCitQViA9ICIxLjYuMCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3puYy96bmMuZ2l0O25hbWU9em5jIFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0aHViLmNvbS9qaW1sb2NvL0Nzb2NrZXQuZ2l0O2Rlc3RzdWZmaXg9Z2l0L3RoaXJkX3BhcnR5L0Nzb2NrZXQ7bmFtZT1Dc29ja2V0IFwKKyAgICAgICAgICAiCitTUkNSRVZfem5jID0gImY0N2U4NDY1ZWZhNGUxY2Q5NDhiOWNhYWU5M2FjNDAxYjQzNTVkZjgiCitTUkNSRVZfQ3NvY2tldCA9ICIwN2I0NDM3Mzk2MTIyNjUwZTViOGZiM2QwMTRlODIwYTVkZWNmNGVlIgorCisjIFRoaXMgY29uc3RydWN0cyBhIGNvbXBvc2l0ZSByZXZpc2lvbiBiYXNlZCBvbiBtdWx0aXBsZSBTUkNSRVYncy4KKyMKK1NSQ1JFVl9GT1JNQVQgPSAiem5jX0Nzb2NrZXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcKKworIyBaTkMgaGFzIGEgY3VzdG9tIGF1dG9nZW4uc2ggdGhhdCBzdGF0ZXMgdGhhdCB0aGlzIGNvbW1hbmQgaXMgbmVlZGVkICphbmQqIGV4cGVjdGVkIHRvIGZhaWwKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIGF1dG9tYWtlIC0tYWRkLW1pc3NpbmcgfHwgdHJ1ZQorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBzZWQgLWkgJ3MvLWZkZWJ1Zy1wcmVmaXgtbWFwW14gXSovL2c7IHMjJHtTVEFHSU5HX0RJUl9UQVJHRVR9IyNnJyAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy8qLnBjCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWtlcm5lbC9uZXRtYXAvZmlsZXMvMDAwMS10ZXN0bW1hcC1maXgtY29tcGlsZS1pc3N1ZS13aXRoLWdjYy01LngucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWtlcm5lbC9uZXRtYXAvZmlsZXMvMDAwMS10ZXN0bW1hcC1maXgtY29tcGlsZS1pc3N1ZS13aXRoLWdjYy01LngucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWEzNmIxYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMta2VybmVsL25ldG1hcC9maWxlcy8wMDAxLXRlc3RtbWFwLWZpeC1jb21waWxlLWlzc3VlLXdpdGgtZ2NjLTUueC5wYXRjaApAQCAtMCwwICsxLDMzIEBACitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworRnJvbSBjODFiZjU0ZDZlYjg3MDI4NjY2MmExMWQzYjRhOTk0NzE3YzQ3Njk2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgOCBTZXAgMjAxNSAwNTozNjoyNyAtMDcwMAorU3ViamVjdDogW1BBVENIXSB0ZXN0bW1hcDogZml4IGNvbXBpbGUgaXNzdWUgd2l0aCBnY2MgNS54CisKK3RoaXMgZml4ZXM6CitleGFtcGxlcy90ZXN0bW1hcC5jOjU0MDoxMDogZXJyb3I6IGZvcm1hdCAnJWxkJyBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUgJ2xvbmcgaW50JywgYnV0IGFyZ3VtZW50IDMgaGFzIHR5cGUgJ3NzaXplX3Qge2FrYSBjb25zdCBpbnR9JyBbLVdlcnJvcj1mb3JtYXQ9XQorfCAgICBwcmludGYoInJpbmdfb2ZzWyVkXSAlbGRcbiIsIGksIG5pZnAtPnJpbmdfb2ZzW2ldKTsKK3wgICAgICAgICAgIF4KKworU2lnbmVkLW9mZi1ieTogQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKy0tLQorIGV4YW1wbGVzL3Rlc3RtbWFwLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9leGFtcGxlcy90ZXN0bW1hcC5jIGIvZXhhbXBsZXMvdGVzdG1tYXAuYworaW5kZXggZDdmNmFjYy4uOTM0NDg5YSAxMDA2NDQKKy0tLSBhL2V4YW1wbGVzL3Rlc3RtbWFwLmMKKysrKyBiL2V4YW1wbGVzL3Rlc3RtbWFwLmMKK0BAIC01MzcsNyArNTM3LDcgQEAgZG9faWYoKQorIAlmb3IgKGkgPSAwOyBpIDwgNTsgaSsrKQorIAkJcHJpbnRmKCJzcGFyZTFbJWRdICAldVxuIiwgaSwgbmlmcC0+bmlfc3BhcmUxW2ldKTsKKyAJZm9yIChpID0gMDsgaSA8IChuaWZwLT5uaV90eF9yaW5ncyArIG5pZnAtPm5pX3J4X3JpbmdzICsgMik7IGkrKykKKy0JCXByaW50ZigicmluZ19vZnNbJWRdICVsZFxuIiwgaSwgbmlmcC0+cmluZ19vZnNbaV0pOworKwkJcHJpbnRmKCJyaW5nX29mc1slZF0gJXpkXG4iLCBpLCBuaWZwLT5yaW5nX29mc1tpXSk7CisgfQorIAorIHN0cnVjdCBuZXRtYXBfcmluZyAqCistLSAKKzIuMy41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMta2VybmVsL25ldG1hcC9maWxlcy9tYWtlZmlsZV9maXh1cC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMta2VybmVsL25ldG1hcC9maWxlcy9tYWtlZmlsZV9maXh1cC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMDUwYmYwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvbmV0bWFwL2ZpbGVzL21ha2VmaWxlX2ZpeHVwLnBhdGNoCkBAIC0wLDAgKzEsOTcgQEAKK1RoZSBtYWtlZmlsZSBhc3N1bWVzIGJ1aWxkaW5nIGxvY2FsbHkuCisKK1Vwc3RyZWFtIFN0YXR1czogSW5hcHByb3ByaWF0ZSBbTmF0aXZlXQorCitUaGUgY29uZmlndXJlIGlzIG5vdCBhdXRvLW1ha2UgYmFzZWQKKworU2lnbmVkLW9mLWJ5OiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXJAbXZpc3RhLmNvbT4KKworSW5kZXg6IExJTlVYL25ldG1hcC5tYWsuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL0xJTlVYL25ldG1hcC5tYWsuaW4KKysrKyBiL0xJTlVYL25ldG1hcC5tYWsuaW4KK0BAIC0xMiwxMCArMTIsOSBAQCBTUkNESVI6PUBTUkNESVJACisgIyBUaGUgZm9sbG93aW5nIGNvbW1hbmRzIGFyZSBuZWVkZWQgdG8gYnVpbGQgdGhlIG1vZHVsZXMgYXMgb3V0LW9mLXRyZWUsCisgIyBpbiBmYWN0IHRoZSBrZXJuZWwgc291cmNlcyBwYXRoIG11c3QgYmUgc3BlY2lmaWVkLgorIAorLVBXRCA/PSAkKENVUkRJUikKKyAKKyAjIEFkZGl0aW9uYWwgY29tcGlsZSBmbGFncyAoZS5nLiBoZWFkZXIgbG9jYXRpb24pCistRVhUUkFfQ0ZMQUdTIDo9IC1JJChQV0QpIC1JJChTUkNESVIpIC1JJChTUkNESVIpLy4uL3N5cyAtSSQoU1JDRElSKS8uLi9zeXMvZGV2IC1EQ09ORklHX05FVE1BUAorK0VYVFJBX0NGTEFHUyA6PSAtSSQoU1JDRElSKSAtSSQoU1JDRElSKS8uLi9zeXMgLUkkKFNSQ0RJUikvLi4vc3lzL2RldiAtRENPTkZJR19ORVRNQVAKKyBFWFRSQV9DRkxBR1MgKz0gLVduby11bnVzZWQtYnV0LXNldC12YXJpYWJsZQorIEVYVFJBX0NGTEFHUyArPSAkKGZvcmVhY2ggcywkKFNVQlNZUyksLURDT05GSUdfTkVUTUFQXyQoc2hlbGwgZWNobyAkc3x0ciBhLXotIEEtWl8pKQorIAorSW5kZXg6IExJTlVYL2NvbmZpZ3VyZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvTElOVVgvY29uZmlndXJlCisrKysgYi9MSU5VWC9jb25maWd1cmUKK0BAIC0zNDksNTIgKzM0OSw2IEBAIHJlc2V0X3Rlc3RzKCkgeworIAlFT0YKKyB9CisgCistIyBydW5fdGVzdHM6IHJ1biBhbGwgYWNjdW11bGF0ZWQgdGVzdHMgYW5kIGV4ZWMgdGhlIHBlcnRpbmVudAorLSMgICBzdWNjZXNzL2ZhaWx1cmUgYWN0aW9ucyBmb3IgZWFjaCBvbmUuCistcnVuX3Rlc3RzKCkgeworLQlsb2NhbCB0PSAJIyBwcmV2ZW50IC1FT0YgdG8gZWF0IHRoZSBtYWtlIFRBQgorLQljYXQgPiAkVE1QRElSL01ha2VmaWxlIDw8LUVPRgorLQkJaWZuZXEgKFwkKEtFUk5FTFJFTEVBU0UpLCkKKy0JCW9iai1tIDo9ICRURVNUT0JKUworLQkJZWxzZQorLQkJU19EUklWRVJTIDo9ICQoZHJ2IHByaW50KQorLQkJYWxsOiBcJChTX0RSSVZFUlM6JT1nZXQtJSkKKy0JCSR0CVwkKE1BS0UpIC1DICRrc3JjIE09XCRcJFBXRCAka29wdHMKKy0KKy0JCS1pbmNsdWRlICRUT1BESVIvZHJpdmVycy5tYWsKKy0JRU9GCistCWZvciBkIGluICQoZHJ2IHByaW50KTsgZG8KKy0JCWNhdCA+PiAkVE1QRElSL01ha2VmaWxlIDw8LUVPRgorLQkJCWdldC0kZDoKKy0JCQkkdAlbIC16ICJcJCgkZC1zcmMpIiBdIHx8IGNwIC1ScCBcJCgkZC1zcmMpIFwkKGlmIFwkKCRkLWRzdCksXCQoJGQtZHN0KSwuKQorLQkJCSR0CXRvdWNoIGdldC0kZAorLQkJRU9GCistCWRvbmUKKy0JZWNobyBlbmRpZiA+PiAkVE1QRElSL01ha2VmaWxlCistCXsKKy0JCWNhdCA8PC1FT0YKKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy0jIyBCRUdJTiBSVU5OSU5HIFRFU1RTOiAkKGRhdGUpCistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistIyMgTWFrZWZpbGU6CistCQlFT0YKKy0JCWNhdCAkVE1QRElSL01ha2VmaWxlCistCQljYXQgPDwtRU9GCistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistCQlFT0YKKy0JfSA+PiBjb25maWcubG9nCistCSgKKy0JCWNkICRUTVBESVIKKy0JCW1ha2UgLWsgLWogJChncmVwIC1jIHByb2Nlc3NvciAvcHJvYy9jcHVpbmZvKQorLQkpID4+IGNvbmZpZy5sb2cKKy0JZXZhbCAiJFRFU1RQT1NUUFJPQyIKKy0JY2F0ID4+IGNvbmZpZy5sb2cgPDwtRU9GCistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistIyMgRU5EIFJVTk5JTkcgVEVTVFM6ICQoZGF0ZSkKKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy0JRU9GCistfQorLQorIGNvbmZpZ2g9bmV0bWFwX2xpbnV4X2NvbmZpZy5oCisgIyBzdWNjZXMvZmFpbHVyZSBhY3Rpb25zIGFyZSBleHBlY3RlZCB0byB3cml0ZSBzb21lIG1hY3JvcworICMgaW4gbmV0bWFfbGludXhfY29uZmlnLmguIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGNhbiBiZQorQEAgLTYxOSw3ICs1NzMsNiBAQCBjb25maWd1cmF0aW9uLiBQbGVhc2UgY2hlY2sgJ2NvbmZpZy5sb2cnCisgcmVzZXRfdGVzdHMKKyBybSAtZiBkcml2ZXJzLm1haworIGFkZF90ZXN0IHRydWUgYnJva2VuX2J1aWxkc3lzdGVtIDwgL2Rldi9udWxsCistcnVuX3Rlc3RzCisgCisgZHJ2bmFtZTJjb25maWcoKSB7CisgCWxvY2FsIG5hbWU9JDEKK0BAIC0xMjgwLDcgKzEyMzMsNiBAQCBjYXQgPiAkY29uZmlnaCA8PC1FT0YKKyBFT0YKKyAKKyAjIHRoZSBURVNUUE9TVFBST0Mgc2NyaXB0IHdpbGwgYWRkIG1hY3JvcyB0byAkY29uZmlnaAorLXJ1bl90ZXN0cworIAorIGRlZmluZSBEUklWRVJfU1VGRklYIFwiJGRydnN1ZmZpeFwiCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWtlcm5lbC9uZXRtYXAvbmV0bWFwLW1vZHVsZXNfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvbmV0bWFwL25ldG1hcC1tb2R1bGVzX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDZhNGYzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvbmV0bWFwL25ldG1hcC1tb2R1bGVzX2dpdC5iYgpAQCAtMCwwICsxLDg5IEBACityZXF1aXJlIG5ldG1hcC5pbmMKKworREVQRU5EUyA9ICJ2aXJ0dWFsL2tlcm5lbCIKK2RvX2NvbmZpZ3VyZVtkZXBlbmRzXSArPSAidmlydHVhbC9rZXJuZWw6ZG9fc2hhcmVkX3dvcmtkaXIiCisKK2luaGVyaXQgbW9kdWxlCisKK0NMRUFOQlJPS0VOID0gIjEiCisKK2V4cG9ydCBJTlNUQUxMX01PRF9ESVI9Imtlcm5lbC9uZXRtYXAtbW9kdWxlcyIKKworRVhUUkFfT0VDT05GID0gIi0ta2VybmVsLWRpcj0ke1NUQUdJTkdfS0VSTkVMX0JVSUxERElSfSBcCisgICAgICAgICAgICAgICAgLS1rZXJuZWwtc291cmNlcz0ke1NUQUdJTkdfS0VSTkVMX0RJUn0gXAorICAgICAgICAgICAgICAgIC0taW5zdGFsbC1tb2QtcGF0aD0ke0R9IFwKKyAgICAgICAgICAgICAgICAtLWRyaXZlci1zdWZmaXg9Ii1uZXRtYXAiIFwKKyAgICAgICAgICAgICAgICAiCisKKyMgVGhlIGRyaXZlciBidWlsZHMgYXJlIG9wdGlvbmFsLCBidXQgZm9yIGRldGVybWluaXN0aWMgYnVpbGRzLAorIyB3ZSBzaG91bGQgYmUgYWJsZSB0byBleHBsaWNpdGx5IGVuYWJsZS9kaXNhYmxlIHRoZSBidWlsZHMKKyMgZm9yIHRoZW0gaW4gYSBwcm9wZXIgcGxhY2UgKG1heWJlIGluIEJTUCkuCisjIEJ1dCB3ZSBjYW4ndCB1c2UgUEFDS0FHRUNPTkZJRyBzaW5jZSB0aGVyZSBpcyBubyBvcHRpb24gZm9yCisjIGVhY2ggZHJpdmVyLCBhbmQgdGhlIG9wdGlvbnMgYXJlOgorIyAgLS1uby1kcml2ZXJzICAgIGRvIG5vdCBjb21waWxlIGFueSBkcml2ZXIKKyMgIC0tbm8tZHJpdmVycz0gICBkbyBub3QgY29tcGlsZSB0aGUgZ2l2ZW4gZHJpdmVycyAoY29tbWEgc2VwLikKKyMgIC0tZHJpdmVycz0gICAgICBvbmx5IGNvbXBpbGUgdGhlIGdpdmVuIGRyaXZlcnMgKGNvbW1hIHNlcC4pCisjCisjIFNvIHVzZSBORVRNQVBfRFJJVkVSUyBhbmQgdGhlIGZvbGxvd2luZyBweXRob24gY29kZSB0byBhZGQgcHJvcGVyCisjIGNvbmZpZ3MgdG8gRVhUUkFfT0VDT05GLgorIworIyBUaGUgZGVmYXVsdCBpcyBuby1kcml2ZXJzLCBhbmQgYWxsIHN1cHBvcnRlZCBkcml2ZXJzIGFyZSBsaXN0ZWQKKyMgaW4gTkVUTUFQX0FMTF9EUklWRVJTLgorTkVUTUFQX0RSSVZFUlMgPz89ICIiCitORVRNQVBfQUxMX0RSSVZFUlMgPSAiaXhnYmUgaWdiIGUxMDAwZSBlMTAwMCB2ZXRoLmMgZm9yY2VkZXRoLmMgdmlydGlvX25ldC5jIHI4MTY5LmMiCisKK3B5dGhvbiBfX2Fub255bW91cyAoKSB7CisgICAgZHJpdmVyc19saXN0ID0gZC5nZXRWYXIoIk5FVE1BUF9EUklWRVJTIiwgVHJ1ZSkuc3BsaXQoKQorICAgIGFsbF9kcml2ZXJzX2xpc3QgPSBkLmdldFZhcigiTkVUTUFQX0FMTF9EUklWRVJTIiwgVHJ1ZSkuc3BsaXQoKQorICAgIGNvbmZpZ19kcml2ZXJzID0gIi0tZHJpdmVycz0iICsgIiwiLmpvaW4oZHJpdmVyc19saXN0KQorCisgICAgZXh0cmFfb2Vjb25mX2RyaXZlcnMgPSBiYi51dGlscy5jb250YWluc19hbnkoJ05FVE1BUF9EUklWRVJTJywgYWxsX2RyaXZlcnNfbGlzdCwgY29uZmlnX2RyaXZlcnMsICctLW5vLWRyaXZlcnMnLCBkKQorICAgIGQuYXBwZW5kVmFyKCJFWFRSQV9PRUNPTkYiLCBleHRyYV9vZWNvbmZfZHJpdmVycykKK30KKworTERGTEFHUyA6PSAiJHtAJyR7TERGTEFHU30nLnJlcGxhY2UoJy1XbCwtTzEnLCAnJyl9IgorTERGTEFHUyA6PSAiJHtAJyR7TERGTEFHU30nLnJlcGxhY2UoJy1XbCwtLWFzLW5lZWRlZCcsICcnKX0iCisKK2RvX2NvbmZpZ3VyZSAoKSB7CisgICAgY2QgJHtTfS9MSU5VWAorICAgIC4vY29uZmlndXJlICR7RVhUUkFfT0VDT05GfQorfQorCitkb19jb25maWd1cmVfYXBwZW5kICgpIHsKKyAgICBjYXQgPj4gICR7U30vTElOVVgvbmV0bWFwX2xpbnV4X2NvbmZpZy5oIDw8RU9GCisjZGVmaW5lIE5FVE1BUF9MSU5VWF9IQVZFX0hSVElNRVJfTU9ERV9SRUwKKyNkZWZpbmUgTkVUTUFQX0xJTlVYX0hBVkVfSFJUSU1FUl9GT1JXQVJEX05PVworI2RlZmluZSBORVRNQVBfTElOVVhfSEFWRV9QSFlTX0FERFJfVAorI2RlZmluZSBORVRNQVBfTElOVVhfSEFWRV9BQ0NFU1NfT05DRQorI2RlZmluZSBORVRNQVBfTElOVVhfSEFWRV9ORVRERVZfT1BTCisjZGVmaW5lIE5FVE1BUF9MSU5VWF9IQVZFX0lOSVRfTkVUCisjZGVmaW5lIE5FVE1BUF9MSU5VWF9IQVZFX0xJVkVfQUREUl9DSEFOR0UKKyNkZWZpbmUgTkVUTUFQX0xJTlVYX0hBVkVfVFhfU0tCX1NIQVJJTkcKKyNkZWZpbmUgTkVUTUFQX0xJTlVYX0hBVkVfVU5MT0NLRURfSU9DVEwKKyNkZWZpbmUgTkVUTUFQX0xJTlVYX0hBVkVfUEVSTkVUX09QU19JRAorI2RlZmluZSBORVRNQVBfTElOVVhfVklSVElPX0ZVTkNUSU9OUworI2RlZmluZSBORVRNQVBfTElOVVhfVklSVElPX0ZSRUVfUEFHRVMKKyNkZWZpbmUgTkVUTUFQX0xJTlVYX1ZJUlRJT19HRVRfVlJTSVpFCisjZGVmaW5lIE5FVE1BUF9MSU5VWF9USU1FUl9SVFlQRSBlbnVtIGhydGltZXJfcmVzdGFydAorI2RlZmluZSBORVRNQVBfTElOVVhfVklSVElPX01VTFRJX1FVRVVFCisjZGVmaW5lIE5FVE1BUF9MSU5VWF9IQVZFX0UxMDAwRV9FWFRfUlhERVNDCisjZGVmaW5lIE5FVE1BUF9MSU5VWF9IQVZFX0UxMDAwRV9ET1dOMgorRU9GCisKK2lmICR7QCAnZmFsc2UnIGlmIChiYi51dGlscy52ZXJjbXBfc3RyaW5nKGQuZ2V0VmFyKCdLRVJORUxfVkVSU0lPTicsIFRydWUpLCAnMy4xNycpIDwgMCkgZWxzZSAndHJ1ZScgfSA7IHRoZW4KKyAgICBlY2hvIE9LCisgICAgY2F0ID4+ICAke1N9L0xJTlVYL25ldG1hcF9saW51eF9jb25maWcuaCA8PEVPRgorI2RlZmluZSBORVRNQVBfTElOVVhfQUxMT0NfTkVUREVWXzRBUkdTCitFT0YKK2ZpCit9CisKK2RvX2NvbXBpbGUgKCkgeworICAgIGNkICR7U30vTElOVVgKKyAgICBvZV9ydW5tYWtlCit9CisKK2RvX2luc3RhbGwgKCkgeworICAgIGNkICR7U30vTElOVVgKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMta2VybmVsL25ldG1hcC9uZXRtYXAuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvbmV0bWFwL25ldG1hcC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWIzM2U3NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMta2VybmVsL25ldG1hcC9uZXRtYXAuaW5jCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAibmV0bWFwIGFuZCBWQUxFIC0gdmVyeSBmYXN0IHBhY2tldCBJL08gZnJvbSB1c2Vyc3BhY2UgKEZyZWVCU0QvTGludXgpIgorREVTQ1JJUFRJT049ICJORVRNQVAgaXMgYSBmcmFtZXdvcmsgZm9yIHZlcnkgZmFzdCBwYWNrZXQgSS9PIGZyb20gdXNlcnNwYWNlLiAgVkFMRSBpcyBhbiBlcXVhbGx5IGZhc3QgaW4ta2VybmVsIHNvZnR3YXJlIHN3aXRjaCB1c2luZyB0aGUgbmV0bWFwIEFQSS4gIEJvdGggYXJlIGltcGxlbWVudGVkIGFzIGEgc2luZ2xlIGtlcm5lbCBtb2R1bGUgZm9yIEZyZWVCU0QgYW5kIExpbnV4LCBhbmQgY2FuIGRlYWwgd2l0aCBsaW5lIHJhdGUgb24gcmVhbCBvciBlbXVsYXRlZCAxMCBHYml0IHBvcnRzLiIKK1NFQ1RJT04gPSAibmV0d29ya2luZyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9uZXRtYXAvIgorTElDRU5TRSA9ICJHUEx2MisiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9MTM7ZW5kbGluZT0xNDttZDU9NTZhZTBiOWM3YmEwNDc2YWI5MDk4ZGU5NGMyNzE0ZDYiCisKK1NSQ1JFViA9ICJkYTllMTllNjliODRlNGY2ZjhhZTEyNWY4ZDAxYjQyYTRhYmFkZTZhIgorUFYgPSAibWFzdGVyK2dpdCR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbHVpZ2lyaXp6by9uZXRtYXAuZ2l0IgorU1JDX1VSSSArPSAiZmlsZTovL21ha2VmaWxlX2ZpeHVwLnBhdGNoIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitDT01QQVRJQkxFX0hPU1QgPSAnKHg4Nl82NHxpLjg2fG1pcHN8YXJtKS4qLWxpbnV4JwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvbmV0bWFwL25ldG1hcF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWtlcm5lbC9uZXRtYXAvbmV0bWFwX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMDI4NTg1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvbmV0bWFwL25ldG1hcF9naXQuYmIKQEAgLTAsMCArMSwzNCBAQAorcmVxdWlyZSBuZXRtYXAuaW5jCisKK0RFUEVORFMgPSAibmV0bWFwLW1vZHVsZXMiCitQQUNLQUdFX0FSQ0ggPSAiJHtNQUNISU5FX0FSQ0h9IgorCitFWFRSQV9PRUNPTkYgPSAiLS1rZXJuZWwtZGlyPSR7U1RBR0lOR19LRVJORUxfQlVJTERESVJ9IFwKKyAgICAgICAgICAgICAgICAtLWtlcm5lbC1zb3VyY2VzPSR7U1RBR0lOR19LRVJORUxfRElSfSBcCisgICAgICAgICAgICAgICAgLS1uby1kcml2ZXJzIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtZ2VuZXJpYyBcCisgICAgICAgICAgICAgICAgLS1wcmVmaXg9JHtwcmVmaXh9IFwKKyAgICAgICAgICAgICAgICAtLWRlc3RkaXI9JHtEfSBcCisgICAgICAgICAgICAgICAgLS1jYz0nJHtDQ30nIFwKKyAgICAgICAgICAgICAgICAtLWxkPScke0xEfScgXAorICAgICAgICAgICAgICAgICIKK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLXRlc3RtbWFwLWZpeC1jb21waWxlLWlzc3VlLXdpdGgtZ2NjLTUueC5wYXRjaCIKKworZG9fY29uZmlndXJlICgpIHsKKyAgICBjZCAke1N9L0xJTlVYCisgICAgLi9jb25maWd1cmUgJHtFWFRSQV9PRUNPTkZ9Cit9CisKK2RvX2NvbXBpbGUgKCkgeworICAgIGNkICR7U30vTElOVVgKKyAgICBtYWtlIGFwcHMKK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgY2QgJHtTfS9MSU5VWAorICAgIG1ha2UgaW5zdGFsbC1hcHBzIERFU1RESVI9JHtEfQorfQorCitGSUxFU18ke1BOfSArPSAiJHtiaW5kaXJ9IgorUkRFUEVORFNfJHtQTn0gPSAia2VybmVsLW1vZHVsZS1uZXRtYXAiCitSUkVDT01NRU5EU18ke1BOfSA9ICJrZXJuZWwtbW9kdWxlLW5ldG1hcCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1mdHAvbmV0a2l0LWZ0cC9BZGRfQVJHX01BWF9kZWZpbmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtZnRwL25ldGtpdC1mdHAvQWRkX0FSR19NQVhfZGVmaW5lLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhNDdmZDkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtZnRwL25ldGtpdC1mdHAvQWRkX0FSR19NQVhfZGVmaW5lLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK1RoaXMgYWRkcyBBUkdfTUFYIGRlZmluZSB0byBiZSBfU0NfQVJHX01BWAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUuCitNb3N0IGRpc3Ryb3MgaGF2ZSB0aGVpciBvd24gdmVyaW9uIGZvciB0aGlzIGZpeC4KKworU2lnbmVkLW9mZi1ieTogQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKworSW5kZXg6IG5ldGtpdC1mdHAtMC4xNy9mdHAvZ2xvYi5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbmV0a2l0LWZ0cC0wLjE3Lm9yaWcvZnRwL2dsb2IuYworKysrIG5ldGtpdC1mdHAtMC4xNy9mdHAvZ2xvYi5jCitAQCAtNTAsNiArNTAsNyBAQCBjaGFyIGdsb2JfcmNzaWRbXSA9CisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorICNpbmNsdWRlIDxzdHJpbmcuaD4KKysjaW5jbHVkZSA8dW5pc3RkLmg+CisgCisgI2luY2x1ZGUgImZ0cF92YXIuaCIgIC8qIGZvciBwcm90b3Mgb25seSAqLworICNpbmNsdWRlICJnbG9iLmgiCitAQCAtNTcsNiArNTgsOSBAQCBjaGFyIGdsb2JfcmNzaWRbXSA9CisgI2RlZmluZQlRVU9URSAwMjAwCisgI2RlZmluZQlUUklNIDAxNzcKKyAjZGVmaW5lCWVxKGEsYikJCShzdHJjbXAoYSwgYik9PTApCisrI2lmbmRlZiBBUkdfTUFYCisrI2RlZmluZSBBUkdfTUFYIChzeXNjb25mKF9TQ19BUkdfTUFYKSkKKysjZW5kaWYKKyAjZGVmaW5lCUdBVlNJWgkJKEFSR19NQVgvNikKKyAjZGVmaW5lCWlzZGlyKGQpCSgoZC5zdF9tb2RlICYgU19JRk1UKSA9PSBTX0lGRElSKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LWZ0cC9uZXRraXQtZnRwXzAuMTcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtZnRwL25ldGtpdC1mdHBfMC4xNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2Y1YmM3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LWZ0cC9uZXRraXQtZnRwXzAuMTcuYmIKQEAgLTAsMCArMSw0NiBAQAorREVTQ1JJUFRJT04gPSAibmV0a2l0LWZ0IGluY2x1ZGVzIHRoZSBmdHAgY2xpZW50LiIKK1NFQ1RJT04gPSAibmV0IgorSE9NRVBBR0U9ImZ0cDovL2Z0cC51ay5saW51eC5vcmcvcHViL2xpbnV4L05ldHdvcmtpbmcvbmV0a2l0IgorTElDRU5TRSA9ICJCU0QiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2Z0cC9mdHAuYztiZWdpbmxpbmU9MjtlbmRsaW5lPTM7bWQ1PTJkNDBhNzVhNTBkODNiOGY2MzE3YjNmNTNkYjcyYmZhIgorCitTUkNfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9uL25ldGtpdC1mdHAvbmV0a2l0LWZ0cF8ke1BWfS5vcmlnLnRhci5nejtuYW1lPWFyY2hpdmUgXAorICAgICAgICAgICAgJHtERUJJQU5fTUlSUk9SfS9tYWluL24vbmV0a2l0LWZ0cC9uZXRraXQtZnRwXyR7UFZ9LTMxLmRlYmlhbi50YXIueHo7bmFtZT1wYXRjaDMxIFwKKyAgICAgICAgICAgIGZpbGU6Ly9BZGRfQVJHX01BWF9kZWZpbmUucGF0Y2ggXAorIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI5NDQ0MTYxMGM5Yjg2ZWY0NWM0YzZlYzYwOTQ0NDA2MCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjYxYzkxMzI5OWI4MWE0NjcxZmYwODlhYWM4MjEzMjlmN2RiOWJjMTExYWE4MTI5OTNkZDU4NTc5OGI3MDAzNDkiCitTUkNfVVJJW3BhdGNoMzEubWQ1c3VtXSA9ICI5M2Q3MWUyOGNlNzBkZjY5ZTA4MGM3ZjkwZGE2M2NhYyIKK1NSQ19VUklbcGF0Y2gzMS5zaGEyNTZzdW1dID0gIjRlZGQ0NmEzMmQ3MGRhYTdiYTAwZjBlYmYwMTE4ZGM1ZDE3ZGZmMjNkNmU0NmFhMjFhMjcyMmJlMmUyMmQxYzEiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitkb19jb25maWd1cmUgKCkgeworICAgIC4vY29uZmlndXJlIC0tcHJlZml4PSR7cHJlZml4fQorICAgIGVjaG8gIkxERkxBR1M9JHtMREZMQUdTfSIgPj4gTUNPTkZJRworfQorCitCSU5NT0RFID0gIjA3NTUiCitNQU5NT0RFID0gIjA2NDQiCisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7bWFuZGlyfS9tYW4xCisgICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjUKKworICAgIGluc3RhbGwgLW0ke0JJTk1PREV9ICR7U30vZnRwL2Z0cCAke0R9JHtiaW5kaXJ9CisgICAgbG4gLXNmIGZ0cCAke0R9JHtiaW5kaXJ9L3BmdHAKKyAgICBpbnN0YWxsIC1tJHtNQU5NT0RFfSAke1N9L2Z0cC9mdHAuMSAke0R9JHttYW5kaXJ9L21hbjEKKyAgICBsbiAtc2YgZnRwLjEgJHtEfSR7bWFuZGlyfS9tYW4xL3BmdHAuMQorICAgIGluc3RhbGwgLW0ke01BTk1PREV9ICR7U30vZnRwL25ldHJjLjUgJHtEfSR7bWFuZGlyfS9tYW41Cit9CisKK1BBQ0tBR0VTID0gIiR7UE59ICR7UE59LWRvYyAke0JQTn0tZGJnIgorRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9LyoiCitGSUxFU18ke1BOfS1kb2MgPSAiJHttYW5kaXJ9IgorRklMRVNfJHtQTn0tZGJnID0gIiR7cHJlZml4fS9zcmMvZGVidWcgXAorICAgICAgICAgICAgJHtiaW5kaXJ9Ly5kZWJ1ZyIKKworUkRFUEVORFNfJHtQTn0gPSAicmVhZGxpbmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnBjL25ldGtpdC1ycGMvZ2NjNC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1ycGMvbmV0a2l0LXJwYy9nY2M0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1NGNlYTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnBjL25ldGtpdC1ycGMvZ2NjNC5wYXRjaApAQCAtMCwwICsxLDM5IEBACitUaGlzIGZpeGVzIGFuIGlzc3VlIHdoZW4gYnVpbGRpbmcgd2l0aCBnY2MgNC54CisKK2h0dHBzOi8vZ2l0aHViLmNvbS9vcGVuZW1iZWRkZWQvb3BlbmVtYmVkZGVkL3RyZWUvbWFzdGVyL3JlY2lwZXMvbmV0a2l0LXJwYy9uZXRraXQtcnBjCisKK1Vwc3RyZWFtLXN0YXR1czogQmFja3BvcnRlZAorCitTaWduZWQtb2ZmLUJ5OiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgorCistLS0gbmV0a2l0LXJwYy0wLjE3L3JwY2dlbi9ycGNfY291dC5jfmdjYzQKKysrKyBuZXRraXQtcnBjLTAuMTcvcnBjZ2VuL3JwY19jb3V0LmMKK0BAIC0xMDEsOCArMTAxLDYgQEAKKyAJY2FzZSBERUZfVFlQRURFRjoKKyAJCWVtaXRfdHlwZWRlZihkZWYpOworIAkJYnJlYWs7CistCWRlZmF1bHQ6CistCSAgLyogY2FuJ3QgaGFwcGVuICovCisgCX0KKyAJcHJpbnRfdHJhaWxlcigpOworIH0KK0BAIC02NjQsOSArNjYyLDYgQEAKKyAJICAgZGVjbC0+bmFtZSxkZWNsLT5hcnJheV9tYXgpOworICAgZW1pdF9zaW5nbGVfaW5fbGluZShkZWNsLGZsYWcsUkVMX1ZFQ1RPUik7CisgICAgIGZfcHJpbnQoZm91dCwiXHRcdCAgIH1cblx0XHQgfTtcbiIpOworLQorLSAgZGVmYXVsdDoKKy0gICAgLyogPy4uLiBkbyBub3RoaW5nIEkgZ3Vlc3MgKi8KKyAgIH0KKyB9CisgCistLS0gbmV0a2l0LXJwYy0wLjE3L3JwY2dlbi9ycGNfaG91dC5jfmdjYzQKKysrKyBuZXRraXQtcnBjLTAuMTcvcnBjZ2VuL3JwY19ob3V0LmMKK0BAIC0xMDYsOCArMTA2LDYgQEAKKyAJCWZfcHJpbnQoZm91dCwgIlxuIik7CisgCQlwcHJvZ3JhbWRlZihkZWYpOworIAkJYnJlYWs7CistCSAgZGVmYXVsdDoKKy0JICAgIC8qID8uLi4gc2hvdWxkbid0IGhhcHBlbiBJIGd1ZXNzICovCisgCX0KKyB9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnBjL25ldGtpdC1ycGNfMC4xNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1ycGMvbmV0a2l0LXJwY18wLjE3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiYzlkODgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnBjL25ldGtpdC1ycGNfMC4xNy5iYgpAQCAtMCwwICsxLDM4IEBACitERVNDUklQVElPTiA9ICJuZXRraXQtcnBjIGluY2x1ZGVzIHJwY2luZm8gYW5kIHJwY2dlbi4iCitIT01FUEFHRSA9ICJodHRwOi8vZnRwLmxpbnV4Lm9yZy51ay9wdWIvbGludXgvTmV0d29ya2luZy9uZXRraXQiCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiU1BMLTEuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3JwY2luZm8vcnBjaW5mby5jO2JlZ2lubGluZT0yO2VuZGxpbmU9MzttZDU9M2U2MzM5ZTNjZTI2NmUxMTIyYzViYTI5M2UwNGJjODkiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8ke0JQTn0tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2djYzQucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiNjcyMTI3MjA0ODJlYTFhZWE5MTgyYTk4NjUzYTk2NDIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDIxZDYzYjQxNDE2MjIzN2E3Mjg2NzA2MWYxYmQzZTM3NTJhMGQ5NjJjZDVkMzBiNWU5MzNkZGFkOGExNGQzYiIKKworZG9fY29uZmlndXJlICgpIHsKKyAgICAuL2NvbmZpZ3VyZSAtLXByZWZpeD0ke3ByZWZpeH0KKyAgICBlY2hvICJMREZMQUdTPSR7TERGTEFHU30iID4gTUNPTkZJRworICAgIGVjaG8gIkNDPSR7Q0N9IiA+PiBNQ09ORklHCisgICAgZWNobyAiTEQ9JHtMRH0iID4+IE1DT05GSUcKKyAgICBlY2hvICJDRkxBR1M9JHtDRkxBR1N9IiA+PiBNQ09ORklHCisgICAgZWNobyAiTERGTEFHUz0ke0xERkxBR1N9IiA+PiBNQ09ORklHCit9CisKK2RvX2NvbXBpbGUgKCkgeworICAgIG9lX3J1bm1ha2UgJ0NDPSR7Q0N9JyAnTEQ9JHtMRH0nICdMREZMQUdTPSR7TERGTEFHU30nCit9CisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7bWFuZGlyfS9tYW4xCisgICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjgKKworICAgICMgcmVtb3ZlIHN0cmlwIGZsYWcKKyAgICBzZWQgLWkgJ3MvaW5zdGFsbCAtcy9pbnN0YWxsLycgcnBjaW5mby9NYWtlZmlsZQorICAgIHNlZCAtaSAncy9pbnN0YWxsIC1zL2luc3RhbGwvJyBycGNnZW4vTWFrZWZpbGUKKworICAgIG9lX3J1bm1ha2UgJ0lOU1RBTExST09UPSR7RH0nICdCSU5NT0RFPTA3NTUnIFwKKyAgICAnREFFTU9OTU9ERT0wNzU1JyAnTUFOTU9ERT0wNjQ0JyBcCisgICAgJ0JJTkRJUj0ke2JpbmRpcn0nICdTQklORElSPSR7c2JpbmRpcn0nIFwKKyAgICAnTUFORElSPSR7bWFuZGlyfScgaW5zdGFsbAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoL2ZpeC1ob3N0LXZhcmlhYmxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoL2ZpeC1ob3N0LXZhcmlhYmxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkMzYzMWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2gvZml4LWhvc3QtdmFyaWFibGUucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorZml4IGhvc3QgdmFyaWFibGUgd2hlbiByc2ggaXMgcmVuYW1lZCB0byBvdGhlci4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK0lmIHJzaCBpcyByZW5hbWVkIHRvIG90aGVyLCBsaWtlIHJzaC5uZXRraXQsIGhvc3QgdmFyaWFibGUgaXMgYXNzaWduZWQgdG8KK3JzaC5uZXRraXQsIHdoaWNoIGlzIHdyb25nLgorCitTaWduZWQtb2ZmLWJ5OiBSb3kuTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyByc2gvcnNoLmMgfCAgICAxIC0KKyAxIGZpbGVzIGNoYW5nZWQsIDAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3JzaC9yc2guYyBiL3JzaC9yc2guYworaW5kZXggYWM1OTRmOS4uMTFmNTMzZSAxMDA2NDQKKy0tLSBhL3JzaC9yc2guYworKysrIGIvcnNoL3JzaC5jCitAQCAtMTAwLDcgKzEwMCw2IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAjZWxzZQorIAlpZiAoIXN0cmNtcChwLCAicnNoIikpIGFzcnNoID0gMTsKKyAjZW5kaWYKKy0JZWxzZSBob3N0ID0gcDsKKyAKKyAJLyogaGFuZGxlICJyc2ggaG9zdCBmbGFncyIgKi8KKyAJaWYgKCFob3N0ICYmIGFyZ2MgPiAyICYmIGFyZ3ZbMV1bMF0gIT0gJy0nKSB7CistLSAKKzEuNy41LjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoL25ldGtpdC1yc2gtMC4xNy1yZXhlYy1pcHY2LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoL25ldGtpdC1yc2gtMC4xNy1yZXhlYy1pcHY2LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmZDA2MGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2gvbmV0a2l0LXJzaC0wLjE3LXJleGVjLWlwdjYucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorbWFrZSByZXhlYyBzdXBwb3J0IGlwdjYKKworVXBzdHJlYW0tc3RhdHVzOiBQZW5kaW5nCisKK3JleGVjIGVxdWFscyByZXhlY19hZiguLi4gLEFGX0lORVQpIHdoaWNoIG9ubHkgc3VwcG9ydCBpcHY0LAordXNlIHJleGVjX2FmKC4uLiwgQUZfVU5TUEVDKSB0byBzdXBwb3J0IGJvdGggaXB2NiBhbmQgaXB2NC4KKworU2lnbmVkLW9mZi1ieTogUm95LkxpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgcmV4ZWMvcmV4ZWMuYyB8ICAgIDQgKystLQorIDEgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvcmV4ZWMvcmV4ZWMuYyBiL3JleGVjL3JleGVjLmMKK2luZGV4IDA5MTNjMDIuLjljOGY3NjkgMTAwNjQ0CistLS0gYS9yZXhlYy9yZXhlYy5jCisrKysgYi9yZXhlYy9yZXhlYy5jCitAQCAtMjE0LDggKzIxNCw4IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgICAgIHBhc3N3ZCA9IGdldHBhc3MoIlBhc3N3b3JkOiAiKTsKKyAgIH0KKyAKKy0gIGlmICggKHNvY2sgPSByZXhlYygmaG9zdCwgcG9ydF9leGVjLCB1c2VyX25hbWUsIHBhc3N3ZCwgY29tbWFuZCwgCistCQkgICAgIHBfdG9fYXV4X3NvY2spKSA8IDAgKQorKyAgaWYgKCAoc29jayA9IHJleGVjX2FmKCZob3N0LCBwb3J0X2V4ZWMsIHVzZXJfbmFtZSwgcGFzc3dkLCBjb21tYW5kLCAKKysJCSAgICAgcF90b19hdXhfc29jaywgQUZfVU5TUEVDKSkgPCAwICkKKyAgeworICAgICBmcHJpbnRmKHN0ZGVyciwiJXM6IEVycm9yIGluIHJleGVjIHN5c3RlbSBjYWxsOiAiLGFyZ3ZbMF0pOworICAgICBwZXJyb3IoTlVMTCk7CistLSAKKzEuNy40LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoL25vX3BhbV9idWlsZF9maXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2gvbm9fcGFtX2J1aWxkX2ZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZGQ1MzViCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoL25vX3BhbV9idWlsZF9maXgucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorbmV0a2l0LXJzaDoKK0FsbG93IHRvIGJ1aWxkIHdpdGggbm8gUEFNIGVuYWJsZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbIG5vIHVwc3RyZWFtIG1haW50YW5lciBdCisKK1NpZ25lZC1vZmYtYnk6IEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CisKK0luZGV4OiBuZXRraXQtcnNoLTAuMTcvcnNoZC9yc2hkLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBuZXRraXQtcnNoLTAuMTcub3JpZy9yc2hkL3JzaGQuYworKysrIG5ldGtpdC1yc2gtMC4xNy9yc2hkL3JzaGQuYworQEAgLTExMCw5ICsxMTAsMTEgQEAgZXh0ZXJuCWNoYXIJKiplbnZpcm9uOworIHN0YXRpYyB2b2lkIGVycm9yKGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKKyBzdGF0aWMgdm9pZCBkb2l0KHN0cnVjdCBzb2NrYWRkciAqZnJvbXAsIHNvY2tsZW5fdCBmcm9tbGVuKTsKKyBzdGF0aWMgY2hhciAqZ2V0c3RyKGNoYXIgKiwgc2l6ZV90LCBjb25zdCBjaGFyICopOworKyNpZmRlZiBVU0VfUEFNCisgc3RhdGljIGludCBlcnJfY29udigKKyAJaW50LCBjb25zdCBzdHJ1Y3QgcGFtX21lc3NhZ2UgKiosIHN0cnVjdCBwYW1fcmVzcG9uc2UgKiosIHZvaWQgKgorICk7CisrI2VuZGlmIC8qIFVTRV9QQU0gKi8KKyAKKyBleHRlcm4gaW50IF9jaGVja19yaG9zdHNfZmlsZTsKKyAKK0BAIC0yNTYsNiArMjU4LDcgQEAgc3RhdGljIHZvaWQgc3RkZXJyX3BhcmVudChpbnQgc29jaywgaW50CisgfQorIAorIAorKyNpZmRlZiBVU0VfUEFNCisgc3RhdGljIGludCBlcnJfY29udigKKyAJaW50IG51bV9tc2csIGNvbnN0IHN0cnVjdCBwYW1fbWVzc2FnZSAqKm1zZywKKyAJc3RydWN0IHBhbV9yZXNwb25zZSAqKnJlc3AsIHZvaWQgKmFwcGRhdGFfcHRyCitAQCAtMjY2LDYgKzI2OSw3IEBAIHN0YXRpYyBpbnQgZXJyX2NvbnYoCisgCSh2b2lkKSBhcHBkYXRhX3B0cjsKKyAJcmV0dXJuIFBBTV9DT05WX0VSUjsKKyB9CisrI2VuZGlmCisgCisgc3RhdGljIHN0cnVjdCBwYXNzd2QgKmRvYXV0aChjb25zdCBjaGFyICpyZW11c2VyLCAKKyAJCQkgICAgIGNvbnN0IGNoYXIgKmhvc3RuYW1lLCAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1yc2gvbmV0a2l0LXJzaC9yZXhlYy5wYW0gYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2gvcmV4ZWMucGFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0ZTVkZGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2gvcmV4ZWMucGFtCkBAIC0wLDAgKzEsMTAgQEAKKyMlUEFNLTEuMAorIyBGb3Igcm9vdCBsb2dpbiB0byBzdWNjZWVkIGhlcmUgd2l0aCBwYW1fc2VjdXJldHR5LCAicmV4ZWMiIG11c3QgYmUKKyMgbGlzdGVkIGluIC9ldGMvc2VjdXJldHR5LgorYXV0aCAgICAgICByZXF1aXJlZCAgICAgcGFtX25vbG9naW4uc28KK2F1dGggICAgICAgcmVxdWlyZWQgICAgIHBhbV9lbnYuc28KK2F1dGggICAgICAgaW5jbHVkZSAgICAgIGNvbW1vbi1hdXRoCithY2NvdW50ICAgIGluY2x1ZGUgICAgICBjb21tb24tYWNjb3VudAorc2Vzc2lvbgkgICBvcHRpb25hbCAgICAgcGFtX2tleWluaXQuc28gICAgZm9yY2UgcmV2b2tlCitzZXNzaW9uICAgIGluY2x1ZGUgICAgICBjb21tb24tc2Vzc2lvbgorc2Vzc2lvbiAgICByZXF1aXJlZCAgICAgcGFtX2xvZ2ludWlkLnNvCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2gvcmV4ZWMueGluZXRkLm5ldGtpdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1yc2gvbmV0a2l0LXJzaC9yZXhlYy54aW5ldGQubmV0a2l0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczNTQzNjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2gvcmV4ZWMueGluZXRkLm5ldGtpdApAQCAtMCwwICsxLDIwIEBACisjIGRlZmF1bHQ6IG9mZgorIyBkZXNjcmlwdGlvbjoKKyMgUmV4ZWNkIGlzIHRoZSBzZXJ2ZXIgZm9yIHRoZSByZXhlYyBwcm9ncmFtLiBUaGUgc2VydmVyIHByb3ZpZGVzIHJlbW90ZSAKKyMgZXhlY3V0aW9uIGZhY2lsaXRpZXMgd2l0aCBhdXRoZW50aWNhdGlvbiBiYXNlZCBvbiB1c2VyIG5hbWVzIGFuZCAKKyMgcGFzc3dvcmRzLgorIworc2VydmljZSBleGVjCit7CisJc29ja2V0X3R5cGUJPSBzdHJlYW0KKwlwcm90b2NvbAk9IHRjcAorCWZsYWdzCQk9IE5BTUVJTkFSR1MKKwl3YWl0CQk9IG5vCisJdXNlcgkJPSByb290CisJZ3JvdXAJCT0gcm9vdAorCWxvZ19vbl9zdWNjZXNzCSs9IFVTRVJJRAorCWxvZ19vbl9mYWlsdXJlCSs9IFVTRVJJRAorCXNlcnZlcgkJPSAvdXNyL3NiaW4vdGNwZAorCXNlcnZlcl9hcmdzCT0gL3Vzci9zYmluL2luLnJleGVjZAorCWRpc2FibGUJCT0geWVzCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2gvcmxvZ2luLnBhbSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1yc2gvbmV0a2l0LXJzaC9ybG9naW4ucGFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzMGYxMzkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2gvcmxvZ2luLnBhbQpAQCAtMCwwICsxLDEyIEBACisjJVBBTS0xLjAKKyMgRm9yIHJvb3QgbG9naW4gdG8gc3VjY2VlZCBoZXJlIHdpdGggcGFtX3NlY3VyZXR0eSwgInJsb2dpbiIgbXVzdCBiZQorIyBsaXN0ZWQgaW4gL2V0Yy9zZWN1cmV0dHkuCithdXRoICAgICAgIHJlcXVpcmVkICAgICBwYW1fbm9sb2dpbi5zbworYXV0aCAgICAgICByZXF1aXJlZCAgICAgcGFtX3NlY3VyZXR0eS5zbworYXV0aCAgICAgICByZXF1aXJlZCAgICAgcGFtX2Vudi5zbworYXV0aCAgICAgICBpbmNsdWRlICAgICAgY29tbW9uLWF1dGgKK2FjY291bnQgICAgaW5jbHVkZSAgICAgIGNvbW1vbi1hY2NvdW50CitwYXNzd29yZCAgIGluY2x1ZGUgICAgICBjb21tb24tcGFzc3dvcmQKK3Nlc3Npb24JICAgb3B0aW9uYWwgICAgIHBhbV9rZXlpbml0LnNvICAgIGZvcmNlIHJldm9rZQorc2Vzc2lvbiAgICBpbmNsdWRlICAgICAgY29tbW9uLXNlc3Npb24KK3Nlc3Npb24gICAgcmVxdWlyZWQgICAgIHBhbV9sb2dpbnVpZC5zbwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoL3Jsb2dpbi54aW5ldGQubmV0a2l0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoL3Jsb2dpbi54aW5ldGQubmV0a2l0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwNDkzZTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2gvcmxvZ2luLnhpbmV0ZC5uZXRraXQKQEAgLTAsMCArMSwyMyBAQAorIyBkZWZhdWx0OiBvZmYKKyMgZGVzY3JpcHRpb246CisjIFJsb2dpbmQgaXMgYSBzZXJ2ZXIgZm9yIHRoZSBybG9naW4gcHJvZ3JhbS4gVGhlIHNlcnZlciBwcm92aWRlcyByZW1vdGUgCisjIGV4ZWN1dGlvbiB3aXRoIGF1dGhlbnRpY2F0aW9uIGJhc2VkIG9uIHByaXZpbGVnZWQgcG9ydCBudW1iZXJzIGZyb20gdHJ1c3RlZAorIyBob3N0CisjCitzZXJ2aWNlIGxvZ2luCit7CisJc29ja2V0X3R5cGUJPSBzdHJlYW0KKwlwcm90b2NvbAk9IHRjcAorCWZsYWdzCQk9IE5BTUVJTkFSR1MKKwl3YWl0CQk9IG5vCisJdXNlcgkJPSByb290CisJZ3JvdXAJCT0gcm9vdAorCWxvZ19vbl9zdWNjZXNzCSs9IFVTRVJJRAorCWxvZ19vbl9mYWlsdXJlCSs9IFVTRVJJRAorCXNlcnZlcgkJPSAvdXNyL3NiaW4vdGNwZAorCXNlcnZlcl9hcmdzCT0gL3Vzci9zYmluL2luLnJsb2dpbmQgLWEKKwlkaXNhYmxlCQk9IHllcworfQorCQkJCQkJCQorCQkJCQkJCQorCQkJCQkJCQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoL3JzaC1yZWRvbmVfbGlua19vcmRlcl9maWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoL3JzaC1yZWRvbmVfbGlua19vcmRlcl9maWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxMmVlOWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2gvcnNoLXJlZG9uZV9saW5rX29yZGVyX2ZpbGUucGF0Y2gKQEAgLTAsMCArMSw3NyBAQAorVGhpcyBmaXhlcyBhIGJ1aWxkIGlzc3VlIGNhdXNlZCBieSBsaW5raW5nIG9yZGVyLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUKK01vc3QgZGlzdG9zIGhhdmUgdGhlcmUgb3duIHZlcmlzb24gb2YgdGhpcyBmaXguIFRoaXMgd2FzIGRlcml2ZWQgYnkKKyogRml4IGxpbmsgb3JkZXIgdG8gbGlzdCBsaWJyYXJpZXMgYWZ0ZXIgdGhlIG9iamVjdHMgdGhhdCByZXF1aXJlIHRoZW0KKyhMUDogIzc3MTA4MCkuCisKKy0tIENvbGluIFdhdHNvbiA8Y2p3YXRzb25AdWJ1bnR1LmNvbT4gIFR1ZSwgMTMgU2VwIDIwMTEgMTA6MDc6MDggKzAxMDAKKworCitzaWduZWQtb2ZmLWJ5OiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgorCitJbmRleDogbmV0a2l0LXJzaC0wLjE3L3JzaC9NYWtlZmlsZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG5ldGtpdC1yc2gtMC4xNy5vcmlnL3JzaC9NYWtlZmlsZQorKysrIG5ldGtpdC1yc2gtMC4xNy9yc2gvTWFrZWZpbGUKK0BAIC02LDcgKzYsNyBAQCBpbmNsdWRlIC4uL01SVUxFUworIE9CSlMgPSByc2gubworIAorIHJzaDogJChPQkpTKQorLQkkKENDKSAkKExERkxBR1MpICReICQoTElCUykgLW8gJEAKKysJJChDQykgJF4gLW8gJEAgJChMREZMQUdTKSAkKExJQlMpCisgCisgaW5zdGFsbDogcnNoCisgCWluc3RhbGwgLW8gcm9vdCAtbSQoU1VJRE1PREUpIHJzaCAkKElOU1RBTExST09UKSQoQklORElSKQorSW5kZXg6IG5ldGtpdC1yc2gtMC4xNy9yc2hkL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbmV0a2l0LXJzaC0wLjE3Lm9yaWcvcnNoZC9NYWtlZmlsZQorKysrIG5ldGtpdC1yc2gtMC4xNy9yc2hkL01ha2VmaWxlCitAQCAtMTEsNyArMTEsNyBAQCBMSUJTICs9IC1sZGwgLWxwYW0KKyBlbmRpZgorIAorIHJzaGQ6ICQoT0JKUykKKy0JJChDQykgJChMREZMQUdTKSAkXiAkKExJQlMpIC1vICRACisrCSQoQ0MpICReIC1vICRAICQoTERGTEFHUykgJChMSUJTKQorIAorIGluc3RhbGw6IHJzaGQKKyAJaW5zdGFsbCAtbSQoREFFTU9OTU9ERSkgcnNoZCAkKElOU1RBTExST09UKSQoU0JJTkRJUikvaW4ucnNoZAorSW5kZXg6IG5ldGtpdC1yc2gtMC4xNy9ybG9naW4vTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBuZXRraXQtcnNoLTAuMTcub3JpZy9ybG9naW4vTWFrZWZpbGUKKysrKyBuZXRraXQtcnNoLTAuMTcvcmxvZ2luL01ha2VmaWxlCitAQCAtNyw3ICs3LDcgQEAgUFJPRz1ybG9naW4KKyBPQkpTPXJsb2dpbi5vCisgCisgJChQUk9HKTogJChPQkpTKQorLQkkKENDKSAkKExERkxBR1MpICReICQoTElCUykgLW8gJEAKKysJJChDQykgJF4gLW8gJEAgJChMREZMQUdTKSAkKExJQlMpCisgCisgaW5zdGFsbDogJChQUk9HKQorIAlpbnN0YWxsIC1vIHJvb3QgLW0kKFNVSURNT0RFKSAkKFBST0cpICQoSU5TVEFMTFJPT1QpJChCSU5ESVIpCitJbmRleDogbmV0a2l0LXJzaC0wLjE3L3Jsb2dpbmQvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBuZXRraXQtcnNoLTAuMTcub3JpZy9ybG9naW5kL01ha2VmaWxlCisrKysgbmV0a2l0LXJzaC0wLjE3L3Jsb2dpbmQvTWFrZWZpbGUKK0BAIC0xMyw3ICsxMyw3IEBAIExJQlMgKz0gLWxkbCAtbHBhbSAtbHBhbV9taXNjCisgZW5kaWYKKyAKKyBybG9naW5kOiAkKE9CSlMpCistCSQoQ0MpICQoTERGTEFHUykgJF4gJChMSUJTKSAtbyAkQAorKwkkKENDKSAkXiAtbyAkQCAkKExERkxBR1MpICQoTElCUykKKyAKKyBybG9naW5kLm86IHBhdGhuYW1lcy5oIGxvZ3d0bXAuaCBybG9naW5kLmggLi4vdmVyc2lvbi5oCisgbG9nd3RtcC5vOiBsb2d3dG1wLmgKK0luZGV4OiBuZXRraXQtcnNoLTAuMTcvcmV4ZWNkL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbmV0a2l0LXJzaC0wLjE3Lm9yaWcvcmV4ZWNkL01ha2VmaWxlCisrKysgbmV0a2l0LXJzaC0wLjE3L3JleGVjZC9NYWtlZmlsZQorQEAgLTI0LDcgKzI0LDcgQEAgZW5kaWYKKyBDRkxBR1MgKz0gLURSRVNUUklDVF9GVFA9MQorIAorIHJleGVjZDogcmV4ZWNkLm8KKy0JJChDQykgJChMREZMQUdTKSAkXiAkKExJQlMpIC1vICRACisrCSQoQ0MpICReIC1vICRAICQoTERGTEFHUykgJChMSUJTKQorIAorIGluc3RhbGw6IHJleGVjZAorIAlpbnN0YWxsIC1tJChEQUVNT05NT0RFKSByZXhlY2QgJChJTlNUQUxMUk9PVCkkKFNCSU5ESVIpL2luLnJleGVjZApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoL3JzaC5wYW0gYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2gvcnNoLnBhbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzIzMjdhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoL3JzaC5wYW0KQEAgLTAsMCArMSwxMCBAQAorIyVQQU0tMS4wCisjIEZvciByb290IGxvZ2luIHRvIHN1Y2NlZWQgaGVyZSB3aXRoIHBhbV9zZWN1cmV0dHksICJyc2giIG11c3QgYmUKKyMgbGlzdGVkIGluIC9ldGMvc2VjdXJldHR5LgorYXV0aCAgICAgICByZXF1aXJlZCAgICAgcGFtX25vbG9naW4uc28KK2F1dGggICAgICAgcmVxdWlyZWQgICAgIHBhbV9zZWN1cmV0dHkuc28KK2F1dGggICAgICAgcmVxdWlyZWQgICAgIHBhbV9lbnYuc28KK2FjY291bnQgICAgaW5jbHVkZSAgICAgIGNvbW1vbi1hY2NvdW50CitzZXNzaW9uCSAgIG9wdGlvbmFsICAgICBwYW1fa2V5aW5pdC5zbyAgICBmb3JjZSByZXZva2UKK3Nlc3Npb24gICAgaW5jbHVkZSAgICAgIGNvbW1vbi1zZXNzaW9uCitzZXNzaW9uICAgIHJlcXVpcmVkICAgICBwYW1fbG9naW51aWQuc28KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1yc2gvbmV0a2l0LXJzaC9yc2gueGluZXRkLm5ldGtpdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1yc2gvbmV0a2l0LXJzaC9yc2gueGluZXRkLm5ldGtpdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hODQyZWI5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoL3JzaC54aW5ldGQubmV0a2l0CkBAIC0wLDAgKzEsMjEgQEAKKyMgZGVmYXVsdDogb2ZmCisjIGRlc2NyaXB0aW9uOgorIyBUaGUgcnNoZCBzZXJ2ZXIgaXMgYSBzZXJ2ZXIgZm9yIHRoZSByY21kKDMpIHJvdXRpbmUgYW5kLCAKKyMgY29uc2VxdWVudGx5LCBmb3IgdGhlIHJzaCgxKSBwcm9ncmFtLiBUaGUgc2VydmVyIHByb3ZpZGVzIAorIyByZW1vdGUgZXhlY3V0aW9uIGZhY2lsaXRpZXMgd2l0aCBhdXRoZW50aWNhdGlvbiBiYXNlZCBvbiAKKyMgcHJpdmlsZWdlZCBwb3J0IG51bWJlcnMgZnJvbSB0cnVzdGVkIGhvc3RzLgorIworc2VydmljZSBzaGVsbAoreworCXNvY2tldF90eXBlCT0gc3RyZWFtCisJcHJvdG9jb2wJPSB0Y3AKKwlmbGFncwkJPSBOQU1FSU5BUkdTCisJd2FpdAkJPSBubworCXVzZXIJCT0gcm9vdAorCWdyb3VwCQk9IHJvb3QKKwlsb2dfb25fc3VjY2VzcwkrPSBVU0VSSUQKKwlsb2dfb25fZmFpbHVyZQkrPSBVU0VSSUQKKwlzZXJ2ZXIJCT0gL3Vzci9zYmluL3RjcGQKKwlzZXJ2ZXJfYXJncwk9IC91c3Ivc2Jpbi9pbi5yc2hkIC1hTAorCWRpc2FibGUJCT0geWVzCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2hfMC4xNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1yc2gvbmV0a2l0LXJzaF8wLjE3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyOTM2OWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2hfMC4xNy5iYgpAQCAtMCwwICsxLDEwMCBAQAorREVTQ1JJUFRJT04gPSAibmV0a2l0LXJzaCBpbmNsdWRlcyB0aGUgcnNoIGRhZW1vbiBhbmQgY2xpZW50LiIKK1NFQ1RJT04gPSAibmV0IgorSE9NRVBBR0U9ImZ0cDovL2Z0cC51ay5saW51eC5vcmcvcHViL2xpbnV4L05ldHdvcmtpbmcvbmV0a2l0IgorTElDRU5TRSA9ICJCU0QtNC1DbGF1c2UiCitERVBFTkRTID0gInhpbmV0ZCBsaWJnY3J5cHQiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3JzaC9yc2guYztlbmRsaW5lPTMyO21kNT00ODdiM2M2MzdiZGMxODFkMzJiMmE4NTQzZDQxYjYwNiIKKworU1JDX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vbi9uZXRraXQtcnNoL25ldGtpdC1yc2hfJHtQVn0ub3JpZy50YXIuZ3o7bmFtZT1hcmNoaXZlIFwKKyAgICAgICAgICAgICR7REVCSUFOX01JUlJPUn0vbWFpbi9uL25ldGtpdC1yc2gvbmV0a2l0LXJzaF8ke1BWfS0xNS5kaWZmLmd6O25hbWU9cGF0Y2gxNSBcCisgICAgICAgICAgICBmaWxlOi8vcnNoLXJlZG9uZV9saW5rX29yZGVyX2ZpbGUucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL25vX3BhbV9idWlsZF9maXgucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL3JleGVjLnhpbmV0ZC5uZXRraXQgXAorICAgICAgICAgICAgZmlsZTovL3Jsb2dpbi54aW5ldGQubmV0a2l0IFwKKyAgICAgICAgICAgIGZpbGU6Ly9yc2gueGluZXRkLm5ldGtpdCBcCisgICAgICAgICAgICBmaWxlOi8vbmV0a2l0LXJzaC0wLjE3LXJleGVjLWlwdjYucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL2ZpeC1ob3N0LXZhcmlhYmxlLnBhdGNoIFwKKyIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiNjVmNWYyOGUyZmUyMmQ5YWQ4YjE3YmI5YTEwZGYwOTYiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJlZGNhYzdmYTE4MDE1ZjBiYzA0ZTU3M2YzZjU0YWUzYjYzOGQ3MTMzNWRmMWFkN2RhZTY5Mjc3OTkxNGFkNjY5IgorU1JDX1VSSVtwYXRjaDE1Lm1kNXN1bV0gPSAiNjU1ZWZjMGQ1NDFiMDNjYTVkZTBhZTUwNmM4MDVlYTMiCitTUkNfVVJJW3BhdGNoMTUuc2hhMjU2c3VtXSA9ICIyYmMwNzFjNDM4ZThiMGVkNDJhMGJkMmRiMmQ4YjY4MWIyN2ExZTliMTc5ODY5NGQ5ODc0NzMzMjkzYmMyYWE5IgorCisjIE90aGVyIHN1cHBvcnQgZmlsZXMKK1BBTV9TUkNfVVJJID0gImZpbGU6Ly9yZXhlYy5wYW0gXAorCWZpbGU6Ly9ybG9naW4ucGFtIFwKKwlmaWxlOi8vcnNoLnBhbSIKK1NSQ19VUkkgKz0gIiR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnJHtQQU1fU1JDX1VSSX0nLCAnJywgZCl9IgorCitpbmhlcml0IHBrZ2NvbmZpZworCitDRkxBR1MgKz0gIiAtRF9HTlVfU09VUkNFIC1Xbm8tZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMiCitMREZMQUdTICs9ICIgLUwke1NUQUdJTkdfTElCRElSfSAtbHV0aWwgLWxjcnlwdCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUcgKz0gIiAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgInBhbSIsICJwYW0iLCAiIiwgZCl9IgorUEFDS0FHRUNPTkZJR1twYW1dID0gIiAsIC0td2l0aG91dC1wYW0sIGxpYnBhbSwgbGlicGFtIgorCitkb19jb25maWd1cmUgKCkgeworICAgIC4vY29uZmlndXJlIC0tcHJlZml4PSR7cHJlZml4fSAtLWV4ZWMtcHJlZml4PSR7ZXhlY19wcmVmaXh9CisgICAgZWNobyAiSU5TVEFMTFJPT1Q9JHtEfSIgPiBNQ09ORklHCisKKyAgICBpZiBbICIke0BiYXNlX2NvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3BhbScsICdwYW0nLCAnJywgZCl9IiAhPSAiIiBdOyB0aGVuCisgICAgICAgIGVjaG8gIlVTRV9QQU09MSIgPj4gTUNPTkZJRworICAgIGZpCisKKyAgICAjIGRpZG4ndCB3YW50IHRvIHBhdGNoIHRoZXNlIG5leHQgY2hhbmdlcworICAgIHNlZCAtaSAncy9uZXRraXQtLy8nICR7U30vcnNoL3BhdGhuYW1lcy5oCisgICAgc2VkIC1pICdzL25ldGtpdC0vLycgJHtTfS9yY3AvcGF0aG5hbWVzLmgKK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHtzYmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7bWFuZGlyfS9tYW4xCisgICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjgKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kCisKKyAgICBvZV9ydW5tYWtlICdJTlNUQUxMUk9PVD0ke0R9JyAnQklOTU9ERT0wNzU1JyBcCisgICAgJ0RBRU1PTk1PREU9MDc1NScgJ01BTk1PREU9MDY0NCcgXAorICAgICdTVUlETU9ERT00NzU1JyBcCisgICAgJ0JJTkRJUj0ke2JpbmRpcn0nICdTQklORElSPSR7c2JpbmRpcn0nIFwKKyAgICAnTUFORElSPSR7bWFuZGlyfScgaW5zdGFsbAorCisgICAgaWYgWyAiJHtAYmFzZV9jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdwYW0nLCAncGFtJywgJycsIGQpfSIgIT0gIiIgXTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3BhbS5kCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCBkZWJpYW4vaG9zdHMuZXF1aXYgJHtEfS8ke3N5c2NvbmZkaXJ9CisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3JleGVjLnBhbSAke0R9LyR7c3lzY29uZmRpcn0vcGFtLmQvcmV4ZWMKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcmxvZ2luLnBhbSAke0R9LyR7c3lzY29uZmRpcn0vcGFtLmQvcmxvZ2luCisgICAgICAgIGluc3RhbGwgLW0gMDY2NCAke1dPUktESVJ9L3JzaC5wYW0gJHtEfS8ke3N5c2NvbmZkaXJ9L3BhbS5kL3JzaAorICAgIGZpCisgICAgY3AgJHtXT1JLRElSfS9yZXhlYy54aW5ldGQubmV0a2l0ICAke0R9LyR7c3lzY29uZmRpcn0veGluZXRkLmQvcmV4ZWMKKyAgICBjcCAke1dPUktESVJ9L3Jsb2dpbi54aW5ldGQubmV0a2l0ICAke0R9LyR7c3lzY29uZmRpcn0veGluZXRkLmQvcmxvZ2luCisgICAgY3AgJHtXT1JLRElSfS9yc2gueGluZXRkLm5ldGtpdCAgJHtEfS8ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3JzaAorfQorCitQQUNLQUdFUyA9ICIke1BOfS1jbGllbnQgJHtQTn0tc2VydmVyICR7UE59LWRvYyAke0JQTn0tZGJnIgorCitGSUxFU18ke1BOfS1jbGllbnQgPSAiJHtiaW5kaXJ9LyoiCitGSUxFU18ke1BOfS1zZXJ2ZXIgPSAiJHtzYmluZGlyfS8qICR7c3lzY29uZmRpcn0iCitGSUxFU18ke1BOfS1kb2MgPSAiJHttYW5kaXJ9IgorRklMRVNfJHtQTn0tZGJnID0gIiR7cHJlZml4fS9zcmMvZGVidWcgXAorICAgICAgICAgICAgICAgICAgICR7c2JpbmRpcn0vLmRlYnVnICR7YmluZGlyfS8uZGVidWciCisKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjgwIgorQUxURVJOQVRJVkVfJHtQTn0tY2xpZW50ID0gInJjcCByZXhlYyBybG9naW4gcnNoIgorQUxURVJOQVRJVkVfJHtQTn0tc2VydmVyID0gInJzaGQgcmV4ZWNkIHJsb2dpbmQiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbc2VydmVyXSA9ICIke2JpbmRpcn0vcnNoZCIKK0FMVEVSTkFUSVZFX1RBUkdFVFtyc2hkXSA9ICIke3NiaW5kaXJ9L2luLnJzaGQiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbcmV4ZWNkXSA9ICIke2JpbmRpcn0vcmV4ZWNkIgorQUxURVJOQVRJVkVfVEFSR0VUW3JleGVjZF0gPSAiJHtzYmluZGlyfS9pbi5yZXhlY2QiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbcmxvZ2luZF0gPSAiJHtiaW5kaXJ9L3Jsb2dpbmQiCitBTFRFUk5BVElWRV9UQVJHRVRbcmxvZ2luZF0gPSAiJHtzYmluZGlyfS9pbi5ybG9naW5kIgorCitSQ09ORkxJQ1RTXyR7UE59LXNlcnZlciArPSAiaW5ldHV0aWxzLXJzaGQiCitSUFJPVklERVNfJHtQTn0tc2VydmVyID0gInJzaGQiCisKK1JERVBFTkRTXyR7UE59LXNlcnZlciA9ICJ4aW5ldGQiCitSREVQRU5EU18ke1BOfS1zZXJ2ZXIgKz0gInRjcC13cmFwcGVycyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1ydXNlcnMvbmV0a2l0LXJ1c2Vycy9ycGMucnVzZXJzZC1NYWtlZmlsZS1maXgtcGFyYWxsZWwtYnVpbGQtaXNzdWUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnVzZXJzL25ldGtpdC1ydXNlcnMvcnBjLnJ1c2Vyc2QtTWFrZWZpbGUtZml4LXBhcmFsbGVsLWJ1aWxkLWlzc3VlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4NTE3OGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnVzZXJzL25ldGtpdC1ydXNlcnMvcnBjLnJ1c2Vyc2QtTWFrZWZpbGUtZml4LXBhcmFsbGVsLWJ1aWxkLWlzc3VlLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK0Zyb20gYzIzY2MxMTJhNDgwZjkwOTUwZGU1Y2YxZGUwOWIxYTdlNzMyYmYyMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAxNSBEZWMgMjAxNCAxODozMToxMyAtMDgwMAorU3ViamVjdDogW1BBVENIXSBycGMucnVzZXJzZC9NYWtlZmlsZTogZml4IHBhcmFsbGVsIGJ1aWxkIGlzc3VlCisKK0ZpeGVkOgorcnVzZXJzLng6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKK01ha2VmaWxlOjQ0OiByZWNpcGUgZm9yIHRhcmdldCAncnVzZXJzX3hkci5jJyBmYWlsZWQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgcnBjLnJ1c2Vyc2QvTWFrZWZpbGUgfCAgICAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9ycGMucnVzZXJzZC9NYWtlZmlsZSBiL3JwYy5ydXNlcnNkL01ha2VmaWxlCitpbmRleCA3OTJmNTI4Li42NWE0MjRhIDEwMDY0NAorLS0tIGEvcnBjLnJ1c2Vyc2QvTWFrZWZpbGUKKysrKyBiL3JwYy5ydXNlcnNkL01ha2VmaWxlCitAQCAtNDAsNSArNDAsNSBAQCBydXNlcnMueDoKKyBydXNlcnMuaDogJChSVVNFUlNYKSBydXNlcnMueAorIAkkKFJQQ0dFTikgLWggLW8gcnVzZXJzLmggcnVzZXJzLngKKyAKKy1ydXNlcnNfeGRyLmM6ICQoUlVTRVJTWCkKKytydXNlcnNfeGRyLmM6ICQoUlVTRVJTWCkgcnVzZXJzLngKKyAJJChSUENHRU4pIC1jIC1DIC1vIHJ1c2Vyc194ZHIuYyBydXNlcnMueAorLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1ydXNlcnMvbmV0a2l0LXJ1c2Vyc18wLjE3LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJ1c2Vycy9uZXRraXQtcnVzZXJzXzAuMTcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjRlYjk2ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1ydXNlcnMvbmV0a2l0LXJ1c2Vyc18wLjE3LmJiCkBAIC0wLDAgKzEsNzAgQEAKK0RFU0NSSVBUSU9OID0gIm5ldGtpdC1ydXNlcnMgaW5jbHVkZXMgcnVzZXJzIC0gRGlzcGxheXMgd2hvIGlzIGxvZ2dlZCBpbiB0byBtYWNoaW5lcyBvbiBsb2NhbCBuZXR3b3JrIFwKKyAgICBydXNlcnNkIC0gTG9nZ2VkIGluIHVzZXJzIHNlcnZlciIKK0hPTUVQQUdFID0gImZ0cDovL2Z0cC51ay5saW51eC5vcmcvcHViL2xpbnV4L05ldHdvcmtpbmcvbmV0a2l0IgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3J1c2Vycy9ydXNlcnMuYztiZWdpbmxpbmU9MjtlbmRsaW5lPTM7bWQ1PWY0ZmM2MzRhNGNlOGM1Njk5MTExOTZiNzJiMTA3NzBlIgorREVQRU5EUyA9ICIgdGNwLXdyYXBwZXJzIGxpYnRpcnBjIHJwY2JpbmQiCisKK1NSQ19VUkkgPSAiJHtERUJJQU5fTUlSUk9SfS9tYWluL24vJHtCUE59LyR7QlBOfV8ke1BWfS5vcmlnLnRhci5nejtuYW1lPWFyY2hpdmUgXAorICAgICAgICAgICAke0RFQklBTl9NSVJST1J9L21haW4vbi8ke0JQTn0vJHtCUE59XyR7UFZ9LTguZGlmZi5nejtuYW1lPXBhdGNoOCBcCisgICAgICAgICAgIGZpbGU6Ly9ycGMucnVzZXJzZC1NYWtlZmlsZS1maXgtcGFyYWxsZWwtYnVpbGQtaXNzdWUucGF0Y2ggXAorIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJkYzk5YTgwYjlmZGUyYWI0MjdjODc0Zjg4ZjFjMTYwMiIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImYwMDEzODY1MTg2NWFkMmRjZmVjNWRlZGRhMGNkYTQwM2NiODBjNGFiNjhlZmNjM2JiY2NhZmUxOThjMjRiNmQiCitTUkNfVVJJW3BhdGNoOC5tZDVzdW1dID0gIjFmZjQ5ODExM2UwZjkyMGQ5MjA4ODA5MmU1NTcwYmRjIgorU1JDX1VSSVtwYXRjaDguc2hhMjU2c3VtXSA9ICIxNDg4MmRiZGRhNGUzN2JhYTg0ZDU1YjU0YjQ2YzdlMDYzYTIwZmM5ZTA0ZDFiZTFhMjgwNzY0M2NkMGYzMDY3IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworZG9fY29uZmlndXJlICgpIHsKKyAgICAuL2NvbmZpZ3VyZSAtLXByZWZpeD0ke3ByZWZpeH0KKyAgICBlY2hvICJMREZMQUdTPSR7TERGTEFHU30iID4+IE1DT05GSUcKKyAgICBlY2hvICJVU0VfR0xJQkM9MSIgPj4gTUNPTkZJRworfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjEKKyAgICBpbnN0YWxsIC1kICR7RH0ke21hbmRpcn0vbWFuOAorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0veGluZXRkLmQKKworICAgIHNlZCAtaSAncy9pbnN0YWxsIC1zL2luc3RhbGwvJyBydXNlcnMvTWFrZWZpbGUKKyAgICBzZWQgLWkgJ3MvaW5zdGFsbCAtcy9pbnN0YWxsLycgcnVwL01ha2VmaWxlCisgICAgc2VkIC1pICdzL2luc3RhbGwgLXMvaW5zdGFsbC8nIHJwYy5ydXNlcnNkL01ha2VmaWxlCisKKyAgICBvZV9ydW5tYWtlICdJTlNUQUxMUk9PVD0ke0R9JyAnQklOTU9ERT0wNzU1JyBcCisgICAgJ0RBRU1PTk1PREU9MDc1NScgJ01BTk1PREU9MDY0NCcgXAorICAgICdCSU5ESVI9JHtiaW5kaXJ9JyAnU0JJTkRJUj0ke3NiaW5kaXJ9JyBcCisgICAgJ01BTkRJUj0ke21hbmRpcn0nIGluc3RhbGwKKworICAgICMgY3JlYXRlIHRoZSB4aW5ldGQgY29uZmlnIGZpbGUKKyAgICBjYXQgPnJ1c2Vyc2QuY29uZiA8PEVPRgorIHNlcnZpY2UgcnVzZXJzZAorIHsKKyAgICBkaXNhYmxlICAgICA9IHllcworICAgIHR5cGUgICAgICAgID0gUlBDCisgICAgcnBjX3ZlcnNpb24gPSAxLTIKKyAgICBzb2NrZXRfdHlwZSA9IGRncmFtCisgICAgcHJvdG9jb2wgICAgPSB1ZHAKKyAgICB3YWl0ICAgICAgICA9IHllcworICAgIHVzZXIgICAgICAgID0gcm9vdAorICAgIHNlcnZlciAgICAgID0gJHtzYmluZGlyfS9ycGMucnVzZXJzZAorIH0KK0VPRgorICAgIGluc3RhbGwgcnVzZXJzZC5jb25mICR7RH0vJHtzeXNjb25mZGlyfS94aW5ldGQuZC9ydXNlcnNkCit9CisKKworSU5TQU5FX1NLSVBfJHtQTn0gPSAiYWxyZWFkeS1zdHJpcHBlZCIKKworUEFDS0FHRVMgPSAiJHtQTn0tY2xpZW50ICR7UE59LXNlcnZlciAke1BOfS1kb2MgJHtCUE59LWRiZyIKK0ZJTEVTXyR7UE59LWNsaWVudCA9ICIke2JpbmRpcn0vKiIKK0ZJTEVTXyR7UE59LXNlcnZlciA9ICIke3NiaW5kaXJ9LyogJHtzeXNjb25mZGlyfSIKK0ZJTEVTXyR7UE59LWRvYyA9ICIke21hbmRpcn0iCitGSUxFU18ke1BOfS1kYmcgPSAiJHtwcmVmaXh9L3NyYy9kZWJ1ZyBcCisgICAgICAgICAgICAke2JpbmRpcn0vLmRlYnVnICR7c2JpbmRpcn0vLmRlYnVnIgorCitSREVQRU5EU18ke1BOfS1zZXJ2ZXIgPSAidGNwLXdyYXBwZXJzIHhpbmV0ZCBycGNiaW5kIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJ3aG8vbmV0a2l0LXJ3aG8vcndob2QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcndoby9uZXRraXQtcndoby9yd2hvZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mNjQxOTAzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJ3aG8vbmV0a2l0LXJ3aG8vcndob2QKQEAgLTAsMCArMSw3MSBAQAorIyEvYmluL3NoCisKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6ICAgICAgICByd2hvZAorIyBSZXF1aXJlZC1TdGFydDogICRuZXR3b3JrICRyZW1vdGVfZnMgJHN5c2xvZworIyBSZXF1aXJlZC1TdG9wOiAgICRuZXR3b3JrICRyZW1vdGVfZnMgJHN5c2xvZworIyBEZWZhdWx0LVN0YXJ0OiAgIDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAgICAwIDEgNgorIyBTaG9ydC1EZXNjcmlwdGlvbjogU2VydmVyIGZvciByd2hvIGFuZCBydXB0aW1lIHNlcnZpY2VzCisjIyMgRU5EIElOSVQgSU5GTworCitQQVRIPS9zYmluOi9iaW46L3Vzci9iaW46L3Vzci9zYmluCisKK0RBRU1PTj0vdXNyL3NiaW4vcndob2QKK1BJREZJTEU9L3Zhci9ydW4vcndob2QucGlkCitDT05GX0ZJTEU9Ii9ldGMvZGVmYXVsdC9yd2hvZCIKK0RFU0M9IldobyBkYWVtb24gIgorIyBkZWZhdWx0IG9wdGlvbnMuIENoYW5nZSB0aGVtIGluIC9ldGMvZGVmYXVsdC9yd2hvZAorUldIT0RfT1BUSU9OUz0iLWIiCisKKyMgcndob2QJaW5pdC5kIHNjcmlwdCBmb3IgbnRwZGMgZnJvbSBudHAuaXNjLm9yZwordGVzdCAtZiAkREFFTU9OIHx8IGV4aXQgMAorCisjIFNvdXJjZSBmdW5jdGlvbiBsaWJyYXJ5LgorLiAvZXRjL2luaXQuZC9mdW5jdGlvbnMKKworWyAtciAkQ09ORl9GSUxFIF0gJiYgLiAkQ09ORl9GSUxFCisKK3N0YXJ0ZGFlbW9uKCl7CisJZWNobyAtbiAiU3RhcnRpbmcgJERFU0MiICIgcndob2QgIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLS1xdWlldCAtLW9rbm9kbyAtLXBpZGZpbGUgJFBJREZJTEUgLS1leGVjICREQUVNT04gLS0gJFJXSE9EX09QVElPTlMKKwllY2hvICJkb25lIgorfQorc3RvcGRhZW1vbigpeworCWVjaG8gLW4gIlN0b3BwaW5nICRERVNDIiAiIHJ3aG9kICIKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLW9rbm9kbyAtLWV4ZWMgJERBRU1PTgorCWVjaG8gImRvbmUiCit9CisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKwlzdGFydGRhZW1vbgorCTs7CisgIHN0b3ApCisJc3RvcGRhZW1vbgorCTs7CisgIGZvcmNlLXJlbG9hZCkKKwlzdG9wZGFlbW9uCisJc3RhcnRkYWVtb24KKwk7OworICByZXN0YXJ0KQorCXN0b3BkYWVtb24KKwlzbGVlcCAxCisJc3RhcnRkYWVtb24KKwk7OworICByZWxvYWQpCisJc3RvcGRhZW1vbgorCXNsZWVwIDEKKwlzdGFydGRhZW1vbgorCTs7CisgIHN0YXR1cykKKwlzdGF0dXMgL3Vzci9zYmluL3J3aG9kOworCWV4aXQgJD8KKwk7OworICAqKQorCWVjaG8gIlVzYWdlOiByd2hvZCB7IHN0YXJ0IHwgc3RvcCB8IHN0YXR1cyB8IHJlc3RhcnQgfCByZWxvYWQgfSIgPiYyCisJZXhpdCAxCisJOzsKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcndoby9uZXRraXQtcndoby9yd2hvZC5kZWZhdWx0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJ3aG8vbmV0a2l0LXJ3aG8vcndob2QuZGVmYXVsdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MmQzYTk0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJ3aG8vbmV0a2l0LXJ3aG8vcndob2QuZGVmYXVsdApAQCAtMCwwICsxLDIgQEAKKyNPcHRpb25zIGZvciB0aGUgcndob2QgZGFlbW9uLgorUldIT0RfT1BUSU9OUz0iLWIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcndoby9uZXRraXQtcndob18wLjE3LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJ3aG8vbmV0a2l0LXJ3aG9fMC4xNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNGJhYTQyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJ3aG8vbmV0a2l0LXJ3aG9fMC4xNy5iYgpAQCAtMCwwICsxLDgzIEBACitERVNDUklQVElPTiA9ICJuZXRraXQtcndobyBpbmNsdWRlcywgcnVwdGltZSByd2hvIGFuZCByd2hvZCAoRGFlbW9uIHRvIG1haW50YWluIGRhdGEgZm9yIHJ3aG8vcnVwdGltZSkiCitIT01FUEFHRSA9ICJmdHA6Ly9mdHAudWsubGludXgub3JnL3B1Yi9saW51eC9OZXR3b3JraW5nL25ldGtpdCIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9yd2hvL3J3aG8uYztiZWdpbmxpbmU9MjtlbmRsaW5lPTM7bWQ1PTVhODVmMTNjMDE0MmQ3MmZjMzc4ZTAwZjE1ZGE1YjllIgorCitTUkNfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9uL25ldGtpdC1yd2hvL25ldGtpdC1yd2hvXyR7UFZ9Lm9yaWcudGFyLmd6O25hbWU9YXJjaGl2ZSBcCisgICAgICAgICAgICR7REVCSUFOX01JUlJPUn0vbWFpbi9uL25ldGtpdC1yd2hvL25ldGtpdC1yd2hvXyR7UFZ9LTEzLmRlYmlhbi50YXIuZ3o7bmFtZT1wYXRjaDEzIFwKKyAgICAgICAgICAgZmlsZTovL3J3aG9kIFwKKyAgICAgICAgICAgZmlsZTovL3J3aG9kLmRlZmF1bHQgXAorIgorU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiMGY3MTYyMGQ0NWQ0NzJmODkxMzRiYTBkNzQyNDJlNzUiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICIwNDA5ZTJjZTRiZmRiMmRhY2IyYzE5M2QwZmVkZmM0OWJiOTc1Y2IwNTdjNWM2YjBmZmNjYTYwM2ExMTg4ZGE3IgorU1JDX1VSSVtwYXRjaDEzLm1kNXN1bV0gPSAiODJlZDVhM2M2YjBiYmYwMGIzNjUwOGI5Nzg3OTYzYjkiCitTUkNfVVJJW3BhdGNoMTMuc2hhMjU2c3VtXSA9ICI1M2FlZmEyN2Q5OGI1NjViZjc1NmRiNTcxMjBjMDNiZDIyNGEyMzhlNDU2OTlkOTIwNzY0MjAyNzJhNmViYThlIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgdXNlcmFkZCB1cGRhdGUtcmMuZCB1cGRhdGUtYWx0ZXJuYXRpdmVzCisKK0NGTEFHUyArPSAiIC1EX0dOVV9TT1VSQ0UiCisKK2RlYmlhbl9kb19wYXRjaCgpIHsKKyAgICBjZCAke1N9CisgICAgd2hpbGUgcmVhZCBsaW5lOyBkbyBwYXRjaCAtcDEgPCAke1dPUktESVJ9L2RlYmlhbi9wYXRjaGVzLyRsaW5lOyBkb25lIDwgJHtXT1JLRElSfS9kZWJpYW4vcGF0Y2hlcy9zZXJpZXMKK30KKworcHl0aG9uIGRvX3BhdGNoKCkgeworICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygnZGViaWFuX2RvX3BhdGNoJywgZCkKKyAgICBiYi5idWlsZC5leGVjX2Z1bmMoJ3BhdGNoX2RvX3BhdGNoJywgZCkKK30KKworZG9fY29uZmlndXJlICgpIHsKKyAgICAuL2NvbmZpZ3VyZSAtLXByZWZpeD0ke3ByZWZpeH0KKyAgICBlY2hvICJMREZMQUdTPSR7TERGTEFHU30iID4+IE1DT05GSUcKK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgIyByd2hvICYgcnVwdGltZQorICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7bWFuZGlyfS9tYW4xCisgICAgI3J3aG9kCisgICAgaW5zdGFsbCAtZCAke0R9JHtzYmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7bWFuZGlyfS9tYW44CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQKKyAgICBzZWQgLWkgJ3MvaW5zdGFsbCAtcy9pbnN0YWxsLycgcndoby9NYWtlZmlsZQorICAgIHNlZCAtaSAncy9pbnN0YWxsIC1zL2luc3RhbGwvJyBydXB0aW1lL01ha2VmaWxlCisgICAgc2VkIC1pICdzL2luc3RhbGwgLXMvaW5zdGFsbC8nIHJ3aG9kL01ha2VmaWxlCisgICAgb2VfcnVubWFrZSAnSU5TVEFMTFJPT1Q9JHtEfScgJ0JJTk1PREU9MDc1NScgXAorICAgICdEQUVNT05NT0RFPTA3NTUnICdNQU5NT0RFPTA2NDQnIFwKKyAgICAnQklORElSPSR7YmluZGlyfScgJ1NCSU5ESVI9JHtzYmluZGlyfScgXAorICAgICdNQU5ESVI9JHttYW5kaXJ9JyBpbnN0YWxsCisKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9yd2hvZC5kZWZhdWx0ICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvcndob2QKKyAgICBpbnN0YWxsIC1tIDc1NSAke1dPUktESVJ9L3J3aG9kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorCisgICAgbWtkaXIgLXAgLW0gNzU1ICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3Nwb29sL3J3aG8KKyAgICBjaG93biAtUiByd2hvZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9yd2hvCit9CisKK3BrZ19wb3N0aW5zdF8ke1BOfS1zZXJ2ZXIoKSB7CisgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvcndob2Qgc3RhcnQKK30KKworcGtnX3Bvc3RybV8ke1BOfS1zZXJ2ZXIoKSB7CisgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvcndob2Qgc3RvcAorfQorCitJTklUU0NSSVBUX05BTUUgPSAicndob2QiCitJTklUU0NSSVBUX1BBUkFNID0gImRlZmF1bHRzIDg1IDE1IgorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59LXNlcnZlciIKK0dST1VQQUREX1BBUkFNXyR7UE59LXNlcnZlciA9ICItLXN5c3RlbSByd2hvZCIKK1VTRVJBRERfUEFSQU1fJHtQTn0tc2VydmVyID0gIi0tc3lzdGVtIC1nIHJ3aG9kIC0taG9tZS1kaXIgICR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvcndobyBcCisgICAgICAgIC0tbm8tY3JlYXRlLWhvbWUgIC0tc2hlbGwgL2Jpbi9mYWxzZSByd2hvZCIKKworSU5TQU5FX1NLSVBfJHtQTn0gPSAiYWxyZWFkeS1zdHJpcHBlZCIKKworUEFDS0FHRVMgPSAiJHtQTn0tY2xpZW50ICR7UE59LXNlcnZlciAke1BOfS1kb2MgJHtCUE59LWRiZyIKK0ZJTEVTXyR7UE59LWNsaWVudCA9ICIke2JpbmRpcn0vKiIKK0ZJTEVTXyR7UE59LXNlcnZlciA9ICIke3NiaW5kaXJ9LyogJHtsb2NhbHN0YXRlZGlyfSAke3N5c2NvbmZkaXJ9L2RlZmF1bHQvKiAke3N5c2NvbmZkaXJ9L2luaXQuZC8qIgorRklMRVNfJHtQTn0tZG9jID0gIiR7bWFuZGlyfSIKK0ZJTEVTXyR7UE59LWRiZyA9ICIke3ByZWZpeH0vc3JjL2RlYnVnIFwKKyAgICAgICAgICAgICR7YmluZGlyfS8uZGVidWcgJHtzYmluZGlyfS8uZGVidWciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtdGVsbmV0L2ZpbGVzL1RvLWF2aW9kLWJ1ZmZlci1vdmVyZmxvdy1pbi10ZWxuZXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtdGVsbmV0L2ZpbGVzL1RvLWF2aW9kLWJ1ZmZlci1vdmVyZmxvdy1pbi10ZWxuZXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2ZmZjhjZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC10ZWxuZXQvZmlsZXMvVG8tYXZpb2QtYnVmZmVyLW92ZXJmbG93LWluLXRlbG5ldC5wYXRjaApAQCAtMCwwICsxLDEyMTcgQEAKK0Zyb20gZjA5YTY0NjBhNjJhYWNiODdiYjg2ODNkMTZhYTNjZTU1ODQ4YmY3ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExpIHhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IEZyaSwgMjggTm92IDIwMTQgMDc6MDY6MjQgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSCAxLzJdIFRvIGF2aW9kIGJ1ZmZlciBvdmVyZmxvdyBpbiB0ZWxuZXQKKworVGhpcyBwYXRjaCBpcyBmcm9tIEZlZG9yYS4KKworVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IExpIFhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KKy0tLQorIHRlbG5ldC9NYWtlZmlsZSAgICAgfCAgIDQgKy0KKyB0ZWxuZXQvY29tbWFuZHMuY2MgIHwgMjcwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KKyB0ZWxuZXQvZGVmaW5lcy5oICAgIHwgICAyICsKKyB0ZWxuZXQvZXh0ZXJucy5oICAgIHwgICA3ICstCisgdGVsbmV0L21haW4uY2MgICAgICB8ICA2NSArKysrKysrKysrLS0tCisgdGVsbmV0L25ldGxpbmsuY2MgICB8ICA3OCArKysrKysrKystLS0tLS0KKyB0ZWxuZXQvbmV0bGluay5oICAgIHwgICA3ICstCisgdGVsbmV0L25ldHdvcmsuY2MgICB8ICAgMSArCisgdGVsbmV0L3Byb3RvLmggICAgICB8ICAgMiArLQorIHRlbG5ldC9yaW5nLmNjICAgICAgfCAgIDIgKy0KKyB0ZWxuZXQvcmluZy5oICAgICAgIHwgICAyICstCisgdGVsbmV0L3N5c19ic2QuY2MgICB8ICAxMSArKysKKyB0ZWxuZXQvdGVsbmV0LjEgICAgIHwgIDM3ICsrKysrLS0KKyB0ZWxuZXQvdGVsbmV0LmNjICAgIHwgIDQ1ICsrKysrLS0tLQorIHRlbG5ldC90ZXJtaW5hbC5jYyAgfCAgMTcgKysrLQorIHRlbG5ldC91dGlsaXRpZXMuY2MgfCAgIDIgKworIDE2IGZpbGVzIGNoYW5nZWQsIDM4MCBpbnNlcnRpb25zKCspLCAxNzIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90ZWxuZXQvTWFrZWZpbGUgYi90ZWxuZXQvTWFrZWZpbGUKK2luZGV4IGNlZjg2NmYuLjM5MjQ5ZTEgMTAwNjQ0CistLS0gYS90ZWxuZXQvTWFrZWZpbGUKKysrKyBiL3RlbG5ldC9NYWtlZmlsZQorQEAgLTcsNyArNyw3IEBAIGluY2x1ZGUgLi4vTVJVTEVTCisgCisgIyAtREFVVEhFTlRJQ0FURQorIENYWEZMQUdTICs9IC1EVVNFX1RFUk1JTyAtREtMVURHRUxJTkVNT0RFCistTElCUyArPSAkKExJQlRFUk1DQVApCisrTElCUyA9ICQoTElCVEVSTUNBUCkKKyAKKyBTUkNTID0gY29tbWFuZHMuY2MgbWFpbi5jYyBuZXR3b3JrLmNjIHJpbmcuY2Mgc3lzX2JzZC5jYyB0ZWxuZXQuY2MgXAorIAl0ZXJtaW5hbC5jYyB0bjMyNzAuY2MgdXRpbGl0aWVzLmNjIGdlbmdldC5jYyBlbnZpcm9uLmNjIG5ldGxpbmsuY2MKK0BAIC0yMiw3ICsyMiw3IEBAIGRlcGVuZDoKKyAJJChDWFgpICQoQ1hYRkxBR1MpIC1NTSAkKFNSQ1MpID5kZXBlbmQubWsKKyAKKyBpbnN0YWxsOiB0ZWxuZXQKKy0JaW5zdGFsbCAtcyAtbSQoQklOTU9ERSkgdGVsbmV0ICQoSU5TVEFMTFJPT1QpJChCSU5ESVIpCisrCWluc3RhbGwgLW0kKEJJTk1PREUpIHRlbG5ldCAkKElOU1RBTExST09UKSQoQklORElSKQorIAlpbnN0YWxsIC1tJChNQU5NT0RFKSB0ZWxuZXQuMSAkKElOU1RBTExST09UKSQoTUFORElSKS9tYW4xCisgCisgY2xlYW46CitkaWZmIC0tZ2l0IGEvdGVsbmV0L2NvbW1hbmRzLmNjIGIvdGVsbmV0L2NvbW1hbmRzLmNjCitpbmRleCBkOTJiY2NkLi4wMmM1OTNlIDEwMDY0NAorLS0tIGEvdGVsbmV0L2NvbW1hbmRzLmNjCisrKysgYi90ZWxuZXQvY29tbWFuZHMuY2MKK0BAIC04NiwxMCArODYsNiBAQCBjaGFyIGNtZF9yY3NpZFtdID0KKyAKKyAjZGVmaW5lIEhFTFBJTkRFTlQgKChpbnQpIHNpemVvZiAoImNvbm5lY3QiKSkKKyAKKy0jaWZuZGVmICAgICAgIE1BWEhPU1ROQU1FTEVOCistI2RlZmluZSAgICAgICBNQVhIT1NUTkFNRUxFTiA2NAorLSNlbmRpZiAgICAgICAgTUFYSE9TVE5BTUVMRU4KKy0KKyAjaWYJZGVmaW5lZChIQVNfSVBQUk9UT19JUCkgJiYgZGVmaW5lZChJUF9UT1MpCisgaW50IHRvcyA9IC0xOworICNlbmRpZgkvKiBkZWZpbmVkKEhBU19JUFBST1RPX0lQKSAmJiBkZWZpbmVkKElQX1RPUykgKi8KK0BAIC05OCw3ICs5NCw3IEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIHNvdXJjZXJvdXRlKGNoYXIgKmFyZywgY2hhciAqKmNwcCwgaW50ICpsZW5wKTsKKyAKKyAKKyBjaGFyCSpob3N0bmFtZTsKKy1zdGF0aWMgY2hhciBfaG9zdG5hbWVbTUFYSE9TVE5BTUVMRU5dOworK3N0YXRpYyBjaGFyICpfaG9zdG5hbWU7CisgCisgLy90eXBlZGVmIGludCAoKmludHJ0bl90KShpbnQgYXJnYywgY29uc3QgY2hhciAqYXJndltdKTsKKyAKK0BAIC0xNjEsNyArMTU3LDcgQEAgY2xhc3MgY29tbWFuZF9lbnRyeSB7CisgCWFzc2VydChhcmdjPj0xKTsKKyAJaWYgKG5hcmdzPj0wICYmIGFyZ2MhPW5hcmdzKzEpIHsKKyAJICAgIGZwcmludGYoc3RkZXJyLCAiV3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyBmb3IgY29tbWFuZC5cbiIpOworLQkgICAgZnByaW50ZihzdGRlcnIsICJUcnkgJXMgPyBmb3IgaGVscFxuIiwgYXJndlswXSk7CisrCSAgICBmcHJpbnRmKHN0ZGVyciwgIlRyeSA/ICVzIGZvciBoZWxwXG4iLCBhcmd2WzBdKTsKKyAJICAgIHJldHVybiAwOyAgICAvKiBpcyB0aGlzIHJpZ2h0PyAqLworIAl9CisgCWlmIChuYXJncz09LTIpIHsKK0BAIC00ODAsNiArNDc2LDcgQEAgc3RhdGljIGludCBzZW5kX3dvbnRjbWQoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqKSB7CisgaW50IHNlbmRfdG5jbWQoaW50ICgqZnVuYykoaW50LCBpbnQpLCBjb25zdCBjaGFyICpjbWQsIGNvbnN0IGNoYXIgKm5hbWUpIHsKKyAgICAgY2hhciAqKmNwcDsKKyAgICAgZXh0ZXJuIGNoYXIgKnRlbG9wdHNbXTsKKysgICAgbG9uZyBvcHQ7CisgCisgICAgIGlmIChpc3ByZWZpeChuYW1lLCAiaGVscCIpIHx8IGlzcHJlZml4KG5hbWUsICI/IikpIHsKKyAJcmVnaXN0ZXIgaW50IGNvbCwgbGVuOworQEAgLTUwNiwxNiArNTAzLDIzIEBAIGludCBzZW5kX3RuY21kKGludCAoKmZ1bmMpKGludCwgaW50KSwgY29uc3QgY2hhciAqY21kLCBjb25zdCBjaGFyICpuYW1lKSB7CisgCQkJCQluYW1lLCBjbWQpOworIAlyZXR1cm4gMDsKKyAgICAgfQorKworKyAgICBvcHQgPSBjcHAgLSB0ZWxvcHRzOworICAgICBpZiAoY3BwID09IDApIHsKKy0JZnByaW50ZihzdGRlcnIsICInJXMnOiB1bmtub3duIGFyZ3VtZW50ICgnc2VuZCAlcyA/JyBmb3IgaGVscCkuXG4iLAorKwljaGFyICplbmQ7CisrCisrCW9wdCA9IHN0cnRvbChuYW1lLCAmZW5kLCAxMCk7CisrCWlmICgqZW5kIHx8IG9wdCA8IDAgfHwgb3B0ID4gMjU1KSB7CisrCSAgICBmcHJpbnRmKHN0ZGVyciwgIiclcyc6IHVua25vd24gYXJndW1lbnQgKCdzZW5kICVzID8nIGZvciBoZWxwKS5cbiIsCisgCQkJCQluYW1lLCBjbWQpOworLQlyZXR1cm4gMDsKKysJICAgIHJldHVybiAwOworKwl9CisgICAgIH0KKyAgICAgaWYgKCFjb25uZWN0ZWQpIHsKKyAJcHJpbnRmKCI/TmVlZCB0byBiZSBjb25uZWN0ZWQgZmlyc3QuXG4iKTsKKyAJcmV0dXJuIDA7CisgICAgIH0KKy0gICAgKCpmdW5jKShjcHAgLSB0ZWxvcHRzLCAxKTsKKysgICAgKCpmdW5jKShvcHQsIDEpOworICAgICByZXR1cm4gMTsKKyB9CisgCitAQCAtNjg5LDkgKzY5Myw5IEBAIHN0YXRpYyBzdHJ1Y3QgdG9nZ2xlbGlzdCBUb2dnbGVsaXN0W10gPSB7CisgICAgICAgInByaW50IGVuY3J5cHRpb24gZGVidWdnaW5nIGluZm9ybWF0aW9uIiB9LAorICNlbmRpZgorIAorLSAgICB7ICJza2lwcmMiLCAiZG9uJ3QgcmVhZCB+Ly50ZWxuZXRyYyBmaWxlIiwKKysgICAgeyAic2tpcHJjIiwgImRvbid0IHJlYWQgdGhlIHRlbG5ldHJjIGZpbGVzIiwKKyAgICAgICBOVUxMLCAmc2tpcHJjLAorLSAgICAgICJyZWFkIH4vLnRlbG5ldHJjIGZpbGUiIH0sCisrICAgICAgInJlYWQgdGhlIHRlbG5ldHJjIGZpbGVzIiB9LAorICAgICB7ICJiaW5hcnkiLAorICAgICAgICJzZW5kaW5nIGFuZCByZWNlaXZpbmcgb2YgYmluYXJ5IGRhdGEiLAorICAgICAgIHRvZ2JpbmFyeSwgTlVMTCwKK0BAIC0xNjE1LDE1ICsxNjE5LDIwIEBAIHZvaWQgYXl0X3N0YXR1cyhpbnQpIHsKKyAjZW5kaWYKKyAKKyBpbnQgdG4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKmFyZ3ZbXSkgeworLSAgICByZWdpc3RlciBzdHJ1Y3QgaG9zdGVudCAqaG9zdCA9IDA7CisgICAgIHN0cnVjdCBzb2NrYWRkcl9pbiBzbjsKKy0gICAgc3RydWN0IHNlcnZlbnQgKnNwID0gMDsKKyAgICAgY2hhciAqc3JwID0gTlVMTDsKKyAgICAgaW50IHNybGVuOworLQorLSAgICBjb25zdCBjaGFyICpjbWQsICp2b2xhdGlsZSB1c2VyID0gMDsKKysgICAgaW50IGZhbWlseSA9IDA7CisrICAgIGNvbnN0IGNoYXIgKmNtZCwgKnZvbGF0aWxlIHVzZXIgPSAwLCAqc3JjaG9zdHAgPSAwOworICAgICBjb25zdCBjaGFyICpwb3J0cCA9IE5VTEw7CisgICAgIGNoYXIgKmhvc3RwID0gTlVMTDsKKysgICAgY2hhciAqcmVzb2x2X2hvc3RwOworKyAgICBzdHJ1Y3QgYWRkcmluZm8gaGludHM7CisrICAgIHN0cnVjdCBhZGRyaW5mbyAqaG9zdGFkZHIgPSAwOworKyAgICBpbnQgcmVzOworKyAgICBjaGFyIG5hbWVbTklfTUFYSE9TVF07CisrICAgIGNoYXIgc2VydmljZVtOSV9NQVhTRVJWXTsKKysgICAgc3RydWN0IGFkZHJpbmZvICp0bXBhZGRyOworIAorICAgICAvKiBjbGVhciB0aGUgc29ja2V0IGFkZHJlc3MgcHJpb3IgdG8gdXNlICovCisgICAgIG1lbXNldCgmc24sIDAsIHNpemVvZihzbikpOworQEAgLTE2MzIsNiArMTY0MSwxMCBAQCBpbnQgdG4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKmFyZ3ZbXSkgeworIAlwcmludGYoIj9BbHJlYWR5IGNvbm5lY3RlZCB0byAlc1xuIiwgaG9zdG5hbWUpOworIAlyZXR1cm4gMDsKKyAgICAgfQorKyAgICBpZiAoX2hvc3RuYW1lKSB7CisrCWRlbGV0ZVtdIF9ob3N0bmFtZTsKKysJX2hvc3RuYW1lID0gMDsKKysgICAgfQorICAgICBpZiAoYXJnYyA8IDIpIHsKKyAJKHZvaWQpIHN0cmNweShsaW5lLCAib3BlbiAiKTsKKyAJcHJpbnRmKCIodG8pICIpOworQEAgLTE2NTcsMTEgKzE2NzAsMzMgQEAgaW50IHRuKGludCBhcmdjLCBjb25zdCBjaGFyICphcmd2W10pIHsKKyAJICAgIC0tYXJnYzsKKyAJICAgIGNvbnRpbnVlOworIAl9CisrCWlmIChzdHJjbXAoKmFyZ3YsICItYiIpID09IDApIHsKKysJICAgIC0tYXJnYzsgKythcmd2OworKwkgICAgaWYgKGFyZ2MgPT0gMCkKKysJCWdvdG8gdXNhZ2U7CisrCSAgICBzcmNob3N0cCA9ICphcmd2Kys7CisrCSAgICAtLWFyZ2M7CisrCSAgICBjb250aW51ZTsKKysJfQorIAlpZiAoc3RyY21wKCphcmd2LCAiLWEiKSA9PSAwKSB7CisgCSAgICAtLWFyZ2M7ICsrYXJndjsKKyAJICAgIGF1dG9sb2dpbiA9IDE7CisgCSAgICBjb250aW51ZTsKKyAJfQorKwlpZiAoc3RyY21wKCphcmd2LCAiLTYiKSA9PSAwKSB7CisrCSAgICAtLWFyZ2M7ICsrYXJndjsKKysjaWZkZWYgQUZfSU5FVDYKKysJICAgIGZhbWlseSA9IEFGX0lORVQ2OworKyNlbHNlCisrCSAgICBwdXRzKCJJUHY2IHVuc3VwcG9ydGVkIik7CisrI2VuZGlmCisrCSAgICBjb250aW51ZTsKKysJfQorKwlpZiAoc3RyY21wKCphcmd2LCAiLTQiKSA9PSAwKSB7CisrCSAgICAtLWFyZ2M7ICsrYXJndjsKKysJICAgIGZhbWlseSA9IEFGX0lORVQ7CisrCSAgICBjb250aW51ZTsKKysJfQorIAlpZiAoaG9zdHAgPT0gMCkgeworIAkgICAgLyogdGhpcyBsZWFrcyBtZW1vcnkgLSBGSVhNRSAqLworIAkgICAgaG9zdHAgPSBzdHJkdXAoKmFyZ3YrKyk7CitAQCAtMTY4MCw2ICsxNzE1LDggQEAgaW50IHRuKGludCBhcmdjLCBjb25zdCBjaGFyICphcmd2W10pIHsKKyAgICAgaWYgKGhvc3RwID09IDApCisgCWdvdG8gdXNhZ2U7CisgCisrICAgIHJlc29sdl9ob3N0cCA9IGhvc3RwOworKworICNpZiBkZWZpbmVkKElQX09QVElPTlMpICYmIGRlZmluZWQoSEFTX0lQUFJPVE9fSVApCisgICAgIGlmIChob3N0cFswXSA9PSAnQCcgfHwgaG9zdHBbMF0gPT0gJyEnKSB7CisgCWlmICgoaG9zdG5hbWUgPSBzdHJyY2hyKGhvc3RwLCAnOicpKSA9PSBOVUxMKQorQEAgLTE2OTYsNzggKzE3MzMsMTIyIEBAIGludCB0bihpbnQgYXJnYywgY29uc3QgY2hhciAqYXJndltdKSB7CisgCX0gZWxzZSB7CisgCSAgICBzbi5zaW5fYWRkci5zX2FkZHIgPSB0ZW1wOworIAkgICAgc24uc2luX2ZhbWlseSA9IEFGX0lORVQ7CisrCSAgICAvKgorKwkgICAgICogRm9yIHNvdXJjZSByb3V0ZSB3ZSBqdXN0IG1ha2Ugc3VyZSB0byBnZXQgdGhlIElQIGdpdmVuCisrCSAgICAgKiBvbiB0aGUgY29tbWFuZCBsaW5lIHdoZW4gbG9va2luZyB1cCB0aGUgcG9ydC4KKysJICAgICAqLworKwkgICAgcmVzb2x2X2hvc3RwID0gaW5ldF9udG9hKHNuLnNpbl9hZGRyKTsKKyAJfQorICAgICB9IAorLSAgICBlbHNlIHsKKy0jZW5kaWYKKy0JaWYgKGluZXRfYXRvbihob3N0cCwgJnNuLnNpbl9hZGRyKSkgeworLQkgICAgc24uc2luX2ZhbWlseSA9IEFGX0lORVQ7CistCSAgICBzdHJjcHkoX2hvc3RuYW1lLCBob3N0cCk7CistCSAgICBob3N0bmFtZSA9IF9ob3N0bmFtZTsKKy0JfSAKKy0JZWxzZSB7CistCSAgICBob3N0ID0gZ2V0aG9zdGJ5bmFtZShob3N0cCk7CistCSAgICBpZiAoaG9zdCkgeworLQkJc24uc2luX2ZhbWlseSA9IGhvc3QtPmhfYWRkcnR5cGU7CistCQlpZiAoaG9zdC0+aF9sZW5ndGggPiAoaW50KXNpemVvZihzbi5zaW5fYWRkcikpIHsKKy0JCSAgICBob3N0LT5oX2xlbmd0aCA9IHNpemVvZihzbi5zaW5fYWRkcik7CistCQl9CistI2lmCWRlZmluZWQoaF9hZGRyKQkJLyogSW4gNC4zLCB0aGlzIGlzIGEgI2RlZmluZSAqLworLQkJbWVtY3B5KChjYWRkcl90KSZzbi5zaW5fYWRkciwKKy0JCQkJaG9zdC0+aF9hZGRyX2xpc3RbMF0sIGhvc3QtPmhfbGVuZ3RoKTsKKy0jZWxzZQkvKiBkZWZpbmVkKGhfYWRkcikgKi8KKy0JCW1lbWNweSgoY2FkZHJfdCkmc24uc2luX2FkZHIsIGhvc3QtPmhfYWRkciwgaG9zdC0+aF9sZW5ndGgpOworLSNlbmRpZgkvKiBkZWZpbmVkKGhfYWRkcikgKi8KKy0JCXN0cm5jcHkoX2hvc3RuYW1lLCBob3N0LT5oX25hbWUsIHNpemVvZihfaG9zdG5hbWUpKTsKKy0JCV9ob3N0bmFtZVtzaXplb2YoX2hvc3RuYW1lKS0xXSA9ICdcMCc7CistCQlob3N0bmFtZSA9IF9ob3N0bmFtZTsKKy0JICAgIH0gZWxzZSB7CistCQloZXJyb3IoaG9zdHApOworLQkJcmV0dXJuIDA7CistCSAgICB9CistCX0KKy0jaWYgZGVmaW5lZChJUF9PUFRJT05TKSAmJiBkZWZpbmVkKEhBU19JUFBST1RPX0lQKQorLSAgICB9CisgI2VuZGlmCisrCisrICAgIC8qIFVzZXIgcG9ydCBvciB0aGUgZGVmYXVsdCBuYW1lIG9mIHRlbG5ldC4gKi8KKyAgICAgaWYgKHBvcnRwKSB7CisgCWlmICgqcG9ydHAgPT0gJy0nKSB7CisgCSAgICBwb3J0cCsrOworIAkgICAgdGVsbmV0cG9ydCA9IDE7CistCX0gZWxzZQorKwl9IGVsc2UgeworIAkgICAgdGVsbmV0cG9ydCA9IDA7CistCXNuLnNpbl9wb3J0ID0gYXRvaShwb3J0cCk7CistCWlmIChzbi5zaW5fcG9ydCA9PSAwKSB7CistCSAgICBzcCA9IGdldHNlcnZieW5hbWUocG9ydHAsICJ0Y3AiKTsKKy0JICAgIGlmIChzcCkKKy0JCXNuLnNpbl9wb3J0ID0gc3AtPnNfcG9ydDsKKy0JICAgIGVsc2UgeworLQkJcHJpbnRmKCIlczogYmFkIHBvcnQgbnVtYmVyXG4iLCBwb3J0cCk7CistCQlyZXR1cm4gMDsKKysJICAgIGlmICgqcG9ydHAgPj0nMCcgJiYgKnBvcnRwPD0nOScpIHsKKysJICAgICAgIGNoYXIgKmVuZDsKKysJICAgICAgIGxvbmcgaW50IHA7CisrCisrCSAgICAgICBwPXN0cnRvbChwb3J0cCwgJmVuZCwgMTApOworKwkgICAgICAgaWYgKEVSQU5HRT09ZXJybm8gJiYgKExPTkdfTUlOPT1wIHx8IExPTkdfTUFYPT1wKSkgeworKwkgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJ0ZWxuZXQ6IHBvcnQgJXMgb3ZlcmZsb3dzXG4iLCBwb3J0cCk7CisrCQkgIHJldHVybiAwOworKwkgICAgICAgfSBlbHNlIGlmIChwPD0wIHx8IHA+PTY1NTM2KSB7CisrCSAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgInRlbG5ldDogcG9ydCAlcyBvdXQgb2YgcmFuZ2VcbiIsIHBvcnRwKTsKKysJCSAgcmV0dXJuIDA7CisrCSAgICAgICB9CisgCSAgICB9CistCX0gCistCWVsc2UgeworLQkgICAgc24uc2luX3BvcnQgPSBodG9ucyhzbi5zaW5fcG9ydCk7CisgCX0KKy0gICAgfSAKKysgICAgfQorICAgICBlbHNlIHsKKy0JaWYgKHNwID09IDApIHsKKy0JICAgIHNwID0gZ2V0c2VydmJ5bmFtZSgidGVsbmV0IiwgInRjcCIpOworLQkgICAgaWYgKHNwID09IDApIHsKKy0JCWZwcmludGYoc3RkZXJyLCAidGVsbmV0OiB0Y3AvdGVsbmV0OiB1bmtub3duIHNlcnZpY2VcbiIpOworLQkJcmV0dXJuIDA7CistCSAgICB9CistCSAgICBzbi5zaW5fcG9ydCA9IHNwLT5zX3BvcnQ7CistCX0KKysJcG9ydHAgPSAidGVsbmV0IjsKKyAJdGVsbmV0cG9ydCA9IDE7CisgICAgIH0KKy0gICAgcHJpbnRmKCJUcnlpbmcgJXMuLi5cbiIsIGluZXRfbnRvYShzbi5zaW5fYWRkcikpOworKworKyAgICAvKiBXZSBvbmx5IHVuZGVyc3RhbmQgU09DS19TVFJFQU0gc29ja2V0cy4gKi8KKysgICAgbWVtc2V0KCZoaW50cywgMCwgc2l6ZW9mKGhpbnRzKSk7CisrICAgIGhpbnRzLmFpX3NvY2t0eXBlID0gU09DS19TVFJFQU07CisrICAgIGhpbnRzLmFpX2ZsYWdzID0gQUlfTlVNRVJJQ0hPU1Q7CisrICAgIGhpbnRzLmFpX2ZhbWlseSA9IGZhbWlseTsKKysKKysgICAgaWYgKHNyY2hvc3RwKSB7CisrCXJlcyA9IGdldGFkZHJpbmZvKHNyY2hvc3RwLCAiMCIsICZoaW50cywgJmhvc3RhZGRyKTsKKysJaWYgKHJlcykgeworKwkgICAgZnByaW50ZihzdGRlcnIsICJ0ZWxuZXQ6IGNvdWxkIG5vdCByZXNvbHZlICVzOiAlc1xuIiwgc3JjaG9zdHAsCisrCQkgICAgZ2FpX3N0cmVycm9yKHJlcykpOworKwkgICAgcmV0dXJuIDA7CisrCX0KKysJaGludHMuYWlfZmFtaWx5ID0gaG9zdGFkZHItPmFpX2ZhbWlseTsKKysJcmVzID0gbmxpbmsuYmluZChob3N0YWRkcik7CisrCWZyZWVhZGRyaW5mbyhob3N0YWRkcik7CisrCWlmIChyZXMgPCAwKQorKwkgICAgcmV0dXJuIDA7CisrICAgIH0KKysgICAgICAgIAorKyAgICAvKiBSZXNvbHZlIGJvdGggdGhlIGhvc3QgYW5kIHNlcnZpY2Ugc2ltdWx0YW5lb3VzbHkuICovCisrICAgIHJlcyA9IGdldGFkZHJpbmZvKHJlc29sdl9ob3N0cCwgcG9ydHAsICZoaW50cywgJmhvc3RhZGRyKTsKKysgICAgaWYgKHJlcyA9PSBFQUlfTk9OQU1FKSB7CisrCWhpbnRzLmFpX2ZsYWdzID0gQUlfQ0FOT05OQU1FOworKwlyZXMgPSBnZXRhZGRyaW5mbyhyZXNvbHZfaG9zdHAsIHBvcnRwLCAmaGludHMsICZob3N0YWRkcik7CisrICAgIH0gZWxzZSBpZiAoaG9zdGFkZHIpIHsKKysJaG9zdGFkZHItPmFpX2Nhbm9ubmFtZSA9IDA7CisrICAgIH0KKysgICAgaWYgKHJlcyB8fCAhaG9zdGFkZHIpIHsKKysJZnByaW50ZihzdGRlcnIsICJ0ZWxuZXQ6IGNvdWxkIG5vdCByZXNvbHZlICVzLyVzOiAlc1xuIiwgcmVzb2x2X2hvc3RwLCBwb3J0cCwgZ2FpX3N0cmVycm9yKHJlcykpOworKwlyZXR1cm4gMDsKKysgICAgfQorKyAgICAgCisrICAgIC8qIFRyeSB0byBjb25uZWN0IHRvIGV2ZXJ5IGxpc3RlZCByb3VuZCByb2JpbiBJUC4gKi8KKysgICAgdG1wYWRkciA9IGhvc3RhZGRyOworKyAgICBlcnJubyA9IDA7CisgICAgIGRvIHsKKy0JaW50IHggPSBubGluay5jb25uZWN0KGRlYnVnLCBob3N0LCAmc24sIHNycCwgc3JsZW4sIHRvcyk7CistCWlmICgheCkgcmV0dXJuIDA7CistCWVsc2UgaWYgKHg9PTEpIGNvbnRpbnVlOworKwlpbnQgeDsKKysKKysJaWYgKCF0bXBhZGRyKSB7CisrCSAgICBpZiAoZXJybm8pCisrCQlwZXJyb3IoInRlbG5ldDogVW5hYmxlIHRvIGNvbm5lY3QgdG8gcmVtb3RlIGhvc3QiKTsKKysJICAgIGVsc2UKKysJCWZwdXRzKCJ0ZWxuZXQ6IFVuYWJsZSB0byBjb25uZWN0IHRvIHJlbW90ZSBob3N0OiAiCisrCQkgICAgICAiQmFkIHBvcnQgbnVtYmVyXG4iLCBzdGRlcnIpOworK2VycjoKKysJICAgIGZyZWVhZGRyaW5mbyhob3N0YWRkcik7CisrCSAgICByZXR1cm4gMDsKKysJfQorKworKwlpZiAodG1wYWRkci0+YWlfZmFtaWx5ID09IEFGX1VOSVgpIHsKKytuZXh0YWRkcjoKKysJICAgIHRtcGFkZHIgPSB0bXBhZGRyLT5haV9uZXh0OworKwkgICAgY29udGludWU7CisrCX0KKysKKysJZ2V0bmFtZWluZm8odG1wYWRkci0+YWlfYWRkciwgdG1wYWRkci0+YWlfYWRkcmxlbiwKKysJCSAgICBuYW1lLCBzaXplb2YobmFtZSksIHNlcnZpY2UsIHNpemVvZihzZXJ2aWNlKSwKKysJCSAgICBOSV9OVU1FUklDSE9TVCB8IE5JX05VTUVSSUNTRVJWKTsKKysKKysJcHJpbnRmKCJUcnlpbmcgJXMuLi5cbiIsIG5hbWUpOworKwl4ID0gbmxpbmsuY29ubmVjdChkZWJ1ZywgdG1wYWRkciwgc3JwLCBzcmxlbiwgdG9zKTsKKysJaWYgKCF4KQorKwkgICAgZ290byBlcnI7CisrCWVsc2UgaWYgKHg9PTEpCisrCSAgICBnb3RvIG5leHRhZGRyOworKworIAljb25uZWN0ZWQrKzsKKyAgICAgfSB3aGlsZSAoY29ubmVjdGVkID09IDApOworLSAgICBjbWRyYyhob3N0cCwgaG9zdG5hbWUpOworKyAgICBpZiAodG1wYWRkci0+YWlfY2Fub25uYW1lID09IDApIHsKKysJaG9zdG5hbWUgPSBuZXcgY2hhcltzdHJsZW4oaG9zdHApKzFdOworKwlzdHJjcHkoaG9zdG5hbWUsIGhvc3RwKTsKKysgICAgfQorKyAgICBlbHNlIHsKKysJaG9zdG5hbWUgPSBuZXcgY2hhcltzdHJsZW4odG1wYWRkci0+YWlfY2Fub25uYW1lKSsxXTsKKysJc3RyY3B5KGhvc3RuYW1lLCB0bXBhZGRyLT5haV9jYW5vbm5hbWUpOworKyAgICB9CisrCisrICAgIGNtZHJjKGhvc3RwLCBob3N0bmFtZSwgcG9ydHApOworKyAgICBmcmVlYWRkcmluZm8oaG9zdGFkZHIpOworICAgICBpZiAoYXV0b2xvZ2luICYmIHVzZXIgPT0gTlVMTCkgeworIAlzdHJ1Y3QgcGFzc3dkICpwdzsKKyAKK0BAIC0yMDEzLDMwICsyMDk0LDIxIEBAIHN0YXRpYyBpbnQgaGVscChjb21tYW5kX3RhYmxlICp0YWIsIGludCBhcmdjLCBjb25zdCBjaGFyICphcmd2W10pIHsKKyAgICAgcmV0dXJuIDA7CisgfQorIAorLXN0YXRpYyBjaGFyICpyY25hbWUgPSAwOworLXN0YXRpYyBjaGFyIHJjYnVmWzEyOF07CistCistdm9pZCBjbWRyYyhjb25zdCBjaGFyICptMSwgY29uc3QgY2hhciAqbTIpIHsKKytzdGF0aWMgdm9pZCByZWFkcmMoY29uc3QgY2hhciAqbTEsIGNvbnN0IGNoYXIgKm0yLCBjb25zdCBjaGFyICpwb3J0LAorKwkJICAgY29uc3QgY2hhciAqcmNuYW1lKQorK3sKKyAgICAgRklMRSAqcmNmaWxlOworICAgICBpbnQgZ290bWFjaGluZSA9IDA7CisgICAgIGludCBsMSA9IHN0cmxlbihtMSk7CisgICAgIGludCBsMiA9IHN0cmxlbihtMik7CistICAgIGNoYXIgbTFzYXZlWzY0XTsKKy0KKy0gICAgaWYgKHNraXByYykgcmV0dXJuOworKyAgICBpbnQgbHBvcnQgPSBzdHJsZW4ocG9ydCk7CisrICAgIGNoYXIgbTFzYXZlW2wxICsgMV07CisrICAgIGNoYXIgcG9ydHNhdmVbbHBvcnQgKyAxXTsKKyAKKyAgICAgc3RyY3B5KG0xc2F2ZSwgbTEpOworICAgICBtMSA9IG0xc2F2ZTsKKy0KKy0gICAgaWYgKHJjbmFtZSA9PSAwKSB7CistCXJjbmFtZSA9IGdldGVudigiSE9NRSIpOworLQlpZiAocmNuYW1lKQorLQkgICAgc3RyY3B5KHJjYnVmLCByY25hbWUpOworLQllbHNlCistCSAgICByY2J1ZlswXSA9ICdcMCc7CistCXN0cmNhdChyY2J1ZiwgIi8udGVsbmV0cmMiKTsKKy0JcmNuYW1lID0gcmNidWY7CistICAgIH0KKysgICAgc3RyY3B5KHBvcnRzYXZlLCBwb3J0KTsKKysgICAgcG9ydCA9IHBvcnRzYXZlOworIAorICAgICByY2ZpbGUgPSBmb3BlbihyY25hbWUsICJyIik7CisgICAgIGlmICghcmNmaWxlKSByZXR1cm47CitAQCAtMjA2MSw2ICsyMTMzLDEzIEBAIHZvaWQgY21kcmMoY29uc3QgY2hhciAqbTEsIGNvbnN0IGNoYXIgKm0yKSB7CisgCQlzdHJuY3B5KGxpbmUsICZsaW5lWzddLCBzaXplb2YobGluZSkgLSA3KTsKKyAJICAgIGVsc2UKKyAJCWNvbnRpbnVlOworKworKwkgICAgaWYgKGxpbmVbMF0gPT0gJzonKSB7CisrCQlpZiAoIXN0cm5jYXNlY21wKCZsaW5lWzFdLCBwb3J0LCBscG9ydCkpCisrCQkgICAgY29udGludWU7CisrCQlzdHJuY3B5KGxpbmUsICZsaW5lW2xwb3J0ICsgMV0sIHNpemVvZihsaW5lKSAtIGxwb3J0IC0gMSk7CisrCSAgICB9CisrCisgCSAgICBpZiAobGluZVswXSAhPSAnICcgJiYgbGluZVswXSAhPSAnXHQnICYmIGxpbmVbMF0gIT0gJ1xuJykKKyAJCWNvbnRpbnVlOworIAkgICAgZ290bWFjaGluZSA9IDE7CitAQCAtMjA3Myw2ICsyMTUyLDIxIEBAIHZvaWQgY21kcmMoY29uc3QgY2hhciAqbTEsIGNvbnN0IGNoYXIgKm0yKSB7CisgICAgIGZjbG9zZShyY2ZpbGUpOworIH0KKyAKKyt2b2lkIGNtZHJjKGNvbnN0IGNoYXIgKm0xLCBjb25zdCBjaGFyICptMiwgY29uc3QgY2hhciAqcG9ydCkgeworKyAgICBjaGFyICpyY25hbWUgPSBOVUxMOworKworKyAgICBpZiAoc2tpcHJjKSByZXR1cm47CisrCisrICAgIHJlYWRyYyhtMSwgbTIsIHBvcnQsICIvZXRjL3RlbG5ldHJjIik7CisrICAgIGlmIChhc3ByaW50ZiAoJnJjbmFtZSwgIiVzLy50ZWxuZXRyYyIsIGdldGVudiAoIkhPTUUiKSkgPT0gLTEpCisrICAgICAgeworKyAgICAgICAgcGVycm9yICgiYXNwcmludGYiKTsKKysgICAgICAgIHJldHVybjsKKysgICAgICB9CisrICAgIHJlYWRyYyhtMSwgbTIsIHBvcnQsIHJjbmFtZSk7CisrICAgIGZyZWUgKHJjbmFtZSk7CisrfQorKworICNpZiBkZWZpbmVkKElQX09QVElPTlMpICYmIGRlZmluZWQoSEFTX0lQUFJPVE9fSVApCisgCisgLyoKK2RpZmYgLS1naXQgYS90ZWxuZXQvZGVmaW5lcy5oIGIvdGVsbmV0L2RlZmluZXMuaAoraW5kZXggMjc4NDQwMC4uZDVlZGM0NiAxMDA2NDQKKy0tLSBhL3RlbG5ldC9kZWZpbmVzLmgKKysrKyBiL3RlbG5ldC9kZWZpbmVzLmgKK0BAIC01MCwzICs1MCw1IEBACisgI2RlZmluZQlNT0RFX0NPTU1BTkRfTElORShtKQkoKG0pPT0tMSkKKyAKKyAjZGVmaW5lCUNPTlRST0woeCkJKCh4KSYweDFmKQkJLyogQ1RSTCh4KSBpcyBub3QgcG9ydGFibGUgKi8KKysKKysjZGVmaW5lIE1PREVfT1VUOAkweDgwMDAJCQkvKiBiaW5hcnkgbW9kZSBzYW5zIC1vcG9zdCAqLworZGlmZiAtLWdpdCBhL3RlbG5ldC9leHRlcm5zLmggYi90ZWxuZXQvZXh0ZXJucy5oCitpbmRleCA5NTVkZjc5Li4wNzMwZThhIDEwMDY0NAorLS0tIGEvdGVsbmV0L2V4dGVybnMuaAorKysrIGIvdGVsbmV0L2V4dGVybnMuaAorQEAgLTQ4LDkgKzQ4LDcgQEAKKyB0eXBlZGVmIHVuc2lnbmVkIGNoYXIgY2NfdDsKKyAjZW5kaWYKKyAKKy0jaWZkZWYgX19saW51eF9fCisgI2luY2x1ZGUgPHVuaXN0ZC5oPiAgIC8qIGdldCBfUE9TSVhfVkRJU0FCTEUgKi8KKy0jZW5kaWYKKyAKKyAjaWZuZGVmCV9QT1NJWF9WRElTQUJMRQorICNlcnJvciAiUGxlYXNlIGZpeCBleHRlcm5zLmggdG8gZGVmaW5lIF9QT1NJWF9WRElTQUJMRSIKK0BAIC02MCw3ICs1OCw4IEBAIHR5cGVkZWYgdW5zaWduZWQgY2hhciBjY190OworIAorIGV4dGVybiBpbnQgYXV0b2xvZ2luOwkJLyogQXV0b2xvZ2luIGVuYWJsZWQgKi8KKyBleHRlcm4gaW50IHNraXByYzsJCS8qIERvbid0IHByb2Nlc3MgdGhlIH4vLnRlbG5ldHJjIGZpbGUgKi8KKy1leHRlcm4gaW50IGVpZ2h0OwkJLyogdXNlIGVpZ2h0IGJpdCBtb2RlIChiaW5hcnkgaW4gYW5kL29yIG91dCAqLworK2V4dGVybiBpbnQgZWlnaHQ7CQkvKiB1c2UgZWlnaHQgYml0IG1vZGUgKGJpbmFyeSBpbiBhbmQvb3Igb3V0KSAqLworK2V4dGVybiBpbnQgYmluYXJ5OwkJLyogdXNlIGJpbmFyeSBvcHRpb24gKGluIGFuZC9vciBvdXQpICovCisgZXh0ZXJuIGludCBmbHVzaG91dDsJCS8qIGZsdXNoIG91dHB1dCAqLworIGV4dGVybiBpbnQgY29ubmVjdGVkOwkJLyogQXJlIHdlIGNvbm5lY3RlZCB0byB0aGUgb3RoZXIgc2lkZT8gKi8KKyBleHRlcm4gaW50IGdsb2JhbG1vZGU7CQkvKiBNb2RlIHR0eSBzaG91bGQgYmUgaW4gKi8KK0BAIC0yMjUsNiArMjI0LDggQEAgY2NfdCAqdGN2YWwoaW50KTsKKyAKKyAvLyNpZiAwCisgZXh0ZXJuIHN0cnVjdCB0ZXJtaW9zIG5ld190YzsKKytleHRlcm4gc3RydWN0IHRlcm1pb3Mgb2xkX3RjOworKworIAorICNkZWZpbmUgdGVybUVvZkNoYXIJCW5ld190Yy5jX2NjW1ZFT0ZdCisgI2RlZmluZSB0ZXJtRXJhc2VDaGFyCQluZXdfdGMuY19jY1tWRVJBU0VdCitkaWZmIC0tZ2l0IGEvdGVsbmV0L21haW4uY2MgYi90ZWxuZXQvbWFpbi5jYworaW5kZXggYjY3ZjJjZS4uYjYyNmU1NCAxMDA2NDQKKy0tLSBhL3RlbG5ldC9tYWluLmNjCisrKysgYi90ZWxuZXQvbWFpbi5jYworQEAgLTQ1LDcgKzQ1LDEwIEBAIGNoYXIgbWFpbl9yY3NpZFtdID0KKyAKKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgI2luY2x1ZGUgPGdldG9wdC5oPgorKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyAjaW5jbHVkZSA8c3RyaW5nLmg+CisrI2luY2x1ZGUgPG5ldGRiLmg+CisrI2luY2x1ZGUgPGVycm5vLmg+CisgCisgI2luY2x1ZGUgInJpbmcuaCIKKyAjaW5jbHVkZSAiZXh0ZXJucy5oIgorQEAgLTgwLDEyICs4MywxMyBAQCB0bmluaXQodm9pZCkKKyB2b2lkIHVzYWdlKHZvaWQpIHsKKyAgICAgZnByaW50ZihzdGRlcnIsICJVc2FnZTogJXMgJXMlcyVzJXNcbiIsCisgCSAgICBwcm9tcHQsCistCSAgICAiIFstOF0gWy1FXSBbLUxdIFstYV0gWy1kXSBbLWUgY2hhcl0gWy1sIHVzZXJdIFstbiB0cmFjZWZpbGVdIiwKKy0JICAgICJcblx0IiwKKysJICAgICJbLTRdIFstNl0gWy04XSBbLUVdIFstTF0gWy1hXSBbLWRdIFstZSBjaGFyXSBbLWwgdXNlcl0iLAorKwkgICAgIlxuXHRbLW4gdHJhY2VmaWxlXSBbIC1iIGFkZHIgXSIsCisgI2lmZGVmIFROMzI3MAorKwkgICAgIlxuXHQiCisgCSAgICAiWy1ub2FzeW5jaF0gWy1ub2FzeW5jdHR5XSBbLW5vYXN5bmNuZXRdIFstcl0gWy10IHRyYW5zY29tXVxuXHQiLAorICNlbHNlCistCSAgICAiWy1yXSAiLAorKwkgICAgIiBbLXJdICIsCisgI2VuZGlmCisgCSAgICAiW2hvc3QtbmFtZSBbcG9ydF1dIgorIAkpOworQEAgLTEwMiw3ICsxMDYsOCBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCWV4dGVybiBjaGFyICpvcHRhcmc7CisgCWV4dGVybiBpbnQgb3B0aW5kOworIAlpbnQgY2g7CistCWNoYXIgKnVzZXI7CisrCWNoYXIgKnVzZXIsICpzcmNhZGRyOworKwlpbnQgZmFtaWx5OworIAorIAl0bmluaXQoKTsJCS8qIENsZWFyIG91dCB0aGluZ3MgKi8KKyAjaWYJZGVmaW5lZChDUkFZKSAmJiAhZGVmaW5lZChfX1NURENfXykKK0BAIC0xMTAsMjEgKzExNSwzOCBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgI2VuZGlmCisgCisgCVRlcm1pbmFsU2F2ZVN0YXRlKCk7CisrCWlmICgob2xkX3RjLmNfY2ZsYWcgJiAoQ1NJWkV8UEFSRU5CKSkgIT0gQ1M4KQorKwkJZWlnaHQgPSAwOworIAorIAlpZiAoKHByb21wdCA9IHN0cnJjaHIoYXJndlswXSwgJy8nKSkhPU5VTEwpCisgCQkrK3Byb21wdDsKKyAJZWxzZQorIAkJcHJvbXB0ID0gYXJndlswXTsKKyAKKy0JdXNlciA9IE5VTEw7CisrCXVzZXIgPSBzcmNhZGRyID0gTlVMTDsKKysJZmFtaWx5ID0gMDsKKyAKKyAJcmxvZ2luID0gKHN0cm5jbXAocHJvbXB0LCAicmxvZyIsIDQpID09IDApID8gJ34nIDogX1BPU0lYX1ZESVNBQkxFOworIAlhdXRvbG9naW4gPSAtMTsKKyAKKy0Jd2hpbGUgKChjaCA9IGdldG9wdChhcmdjLCBhcmd2LCAiOEVLTFM6WDphZGU6azpsOm46cnQ6eCIpKSAhPSBFT0YpIHsKKysJd2hpbGUgKChjaCA9IGdldG9wdChhcmdjLCBhcmd2LAorKwkJCSAgICAiNDY3OEVLTFM6WDphYjpkZTprOmw6bjpydDp4IikpICE9IEVPRikgeworIAkJc3dpdGNoKGNoKSB7CisrCQljYXNlICc0JzoKKysJCQlmYW1pbHkgPSBBRl9JTkVUOworKwkJCWJyZWFrOworKwkJY2FzZSAnNic6CisrI2lmZGVmIEFGX0lORVQ2CisrCQkJZmFtaWx5ID0gQUZfSU5FVDY7CisrI2Vsc2UKKysJCQlmcHV0cygiSVB2NiB1bnN1cHBvcnRlZFxuIiwgc3RkZXJyKTsKKysjZW5kaWYKKysJCQlicmVhazsKKysJCWNhc2UgJzcnOgorKwkJCWVpZ2h0ID0gMDsJLyogNy1iaXQgb3VwdXQgYW5kIGlucHV0ICovCisrCQkJYnJlYWs7CisgCQljYXNlICc4JzoKKy0JCQllaWdodCA9IDM7CS8qIGJpbmFyeSBvdXRwdXQgYW5kIGlucHV0ICovCisrCQkJYmluYXJ5ID0gMzsJLyogYmluYXJ5IG91dHB1dCBhbmQgaW5wdXQgKi8KKyAJCQlicmVhazsKKyAJCWNhc2UgJ0UnOgorIAkJCXJsb2dpbiA9IGVzY2FwZWNoYXIgPSBfUE9TSVhfVkRJU0FCTEU7CitAQCAtMTMzLDIzICsxNTUsMjYgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAkJICAgICAgICAvL2F1dG9sb2dpbiA9IDA7CisgCQkJYnJlYWs7CisgCQljYXNlICdMJzoKKy0JCQllaWdodCB8PSAyOwkvKiBiaW5hcnkgb3V0cHV0IG9ubHkgKi8KKysJCQliaW5hcnkgfD0gMjsJLyogYmluYXJ5IG91dHB1dCBvbmx5ICovCisgCQkJYnJlYWs7CisgCQljYXNlICdTJzoKKyAJCSAgICB7CistI2lmZGVmCUhBU19HRVRUT1MKKyAJCQlleHRlcm4gaW50IHRvczsKKysJCQlpbnQgbnVtOworIAorLQkJCWlmICgodG9zID0gcGFyc2V0b3Mob3B0YXJnLCAidGNwIikpIDwgMCkKKysjaWZkZWYJSEFTX0dFVFRPUworKwkJCWlmICgobnVtID0gcGFyc2V0b3Mob3B0YXJnLCAidGNwIikpIDwgMCkgeworKyNlbHNlCisrCQkJZXJybm8gPSAwOworKwkJCW51bSA9IHN0cnRvbChvcHRhcmcsIDAsIDApOworKwkJCWlmIChlcnJubykgeworKyNlbmRpZgorIAkJCQlmcHJpbnRmKHN0ZGVyciwgIiVzJXMlcyVzXG4iLAorIAkJCQkJcHJvbXB0LCAiOiBCYWQgVE9TIGFyZ3VtZW50ICciLAorIAkJCQkJb3B0YXJnLAorIAkJCQkJIjsgd2lsbCB0cnkgdG8gdXNlIGRlZmF1bHQgVE9TIik7CistI2Vsc2UKKy0JCQlmcHJpbnRmKHN0ZGVyciwKKy0JCQkgICAiJXM6IFdhcm5pbmc6IC1TIGlnbm9yZWQsIG5vIHBhcnNldG9zKCkgc3VwcG9ydC5cbiIsCistCQkJCQkJCQlwcm9tcHQpOworLSNlbmRpZgorKwkJCX0gZWxzZQorKwkJCQl0b3MgPSBudW07CisgCQkgICAgfQorIAkJCWJyZWFrOworIAkJY2FzZSAnWCc6CitAQCAtMjEwLDYgKzIzNSw5IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAJCQkJIiVzOiAteCBpZ25vcmVkLCBubyBlbmNyeXB0aW9uIHN1cHBvcnQuXG4iLAorIAkJCQlwcm9tcHQpOworIAkJCWJyZWFrOworKwkJY2FzZSAnYic6CisrCQkJc3JjYWRkciA9IG9wdGFyZzsKKysJCQlicmVhazsKKyAJCWNhc2UgJz8nOgorIAkJZGVmYXVsdDoKKyAJCQl1c2FnZSgpOworQEAgLTIzMyw2ICsyNjEsMTMgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAkJCSphcmdwKysgPSAiLWwiOworIAkJCSphcmdwKysgPSB1c2VyOworIAkJfQorKwkJaWYgKHNyY2FkZHIpIHsKKysJCQkqYXJncCsrID0gIi1iIjsKKysJCQkqYXJncCsrID0gc3JjYWRkcjsKKysJCX0KKysJCWlmIChmYW1pbHkpIHsKKysJCQkqYXJncCsrID0gZmFtaWx5ID09IEFGX0lORVQgPyAiLTQiIDogIi02IjsKKysJCX0KKyAJCSphcmdwKysgPSBhcmd2WzBdOwkJLyogaG9zdCAqLworIAkJaWYgKGFyZ2MgPiAxKQorIAkJCSphcmdwKysgPSBhcmd2WzFdOwkvKiBwb3J0ICovCitkaWZmIC0tZ2l0IGEvdGVsbmV0L25ldGxpbmsuY2MgYi90ZWxuZXQvbmV0bGluay5jYworaW5kZXggZjQzOWNmZi4uZjgzOTc0NyAxMDA2NDQKKy0tLSBhL3RlbG5ldC9uZXRsaW5rLmNjCisrKysgYi90ZWxuZXQvbmV0bGluay5jYworQEAgLTc5LDIyICs3OSw2MSBAQCB2b2lkIG5ldGxpbms6OmNsb3NlKGludCBkb3NodXRkb3duKSB7CisgCXNodXRkb3duKG5ldCwgMik7CisgICAgIH0KKyAgICAgOjpjbG9zZShuZXQpOworKyAgICBuZXQgPSAtMTsKKyB9CisgCistaW50IG5ldGxpbms6OmNvbm5lY3QoaW50IGRlYnVnLCBzdHJ1Y3QgaG9zdGVudCAqaG9zdCwgCistCQkgICAgIHN0cnVjdCBzb2NrYWRkcl9pbiAqc24sIAorLQkJICAgICBjaGFyICpzcmNyb3V0ZSwgaW50IHNybGVuLCBpbnQgdG9zKSAKKytpbnQgbmV0bGluazo6YmluZChzdHJ1Y3QgYWRkcmluZm8gKmFkZHIpCisgeworLSAgICBpbnQgb249MTsKKysgICAgaW50IHJlczsKKysKKysgICAgcmVzID0gc29ja2V0KGFkZHItPmFpX2ZhbWlseSk7CisrICAgIGlmIChyZXMgPCAyKSB7CisrCWlmIChyZXMgPT0gMSkKKysJICAgIHBlcnJvcigidGVsbmV0OiBzb2NrZXQiKTsKKysJcmV0dXJuIC0xOworKyAgICB9CisrCisrICAgIGlmICg6OmJpbmQobmV0LCBhZGRyLT5haV9hZGRyLCBhZGRyLT5haV9hZGRybGVuKSA8IDApIHsKKysJcGVycm9yKCJ0ZWxuZXQ6IGJpbmQiKTsKKysJcmV0dXJuIC0xOworKyAgICB9CisrCisrICAgIHJldHVybiAwOworK30KKysKKytpbnQgbmV0bGluazo6c29ja2V0KGludCBmYW1pbHkpCisreworKyAgICBpZiAodGhpcy0+ZmFtaWx5ICE9IGZhbWlseSkKKysJY2xvc2UoMCk7CisgCistICAgIG5ldCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgMCk7CisgICAgIGlmIChuZXQgPCAwKSB7CistCXBlcnJvcigidGVsbmV0OiBzb2NrZXQiKTsKKy0JcmV0dXJuIDA7CisrCXRoaXMtPmZhbWlseSA9IGZhbWlseTsKKysJbmV0ID0gOjpzb2NrZXQoZmFtaWx5LCBTT0NLX1NUUkVBTSwgMCk7CisrCWlmIChuZXQgPCAwKSB7CisrCSAgICBpZiAoZXJybm8gPT0gRUFGTk9TVVBQT1JUKQorKwkJcmV0dXJuIDE7CisrCSAgICBwZXJyb3IoInRlbG5ldDogc29ja2V0Iik7CisrCSAgICByZXR1cm4gMDsKKysJfQorICAgICB9CisgCisrICAgIHJldHVybiAyOworK30KKysKKytpbnQgbmV0bGluazo6Y29ubmVjdChpbnQgZGVidWcsIHN0cnVjdCBhZGRyaW5mbyAqYWRkciwgCisrCQkgICAgIGNoYXIgKnNyY3JvdXRlLCBpbnQgc3JsZW4sIGludCB0b3MpIAorK3sKKysgICAgaW50IG9uPTE7CisrICAgIGludCByZXM7CisrCisrICAgIHJlcyA9IHNvY2tldChhZGRyLT5haV9mYW1pbHkpOworKyAgICBpZiAocmVzIDwgMikKKysJcmV0dXJuIHJlczsKKysKKyAjaWYgZGVmaW5lZChJUF9PUFRJT05TKSAmJiBkZWZpbmVkKEhBU19JUFBST1RPX0lQKQorICAgICBpZiAoc3Jjcm91dGUpIHsKKysJaWYgKGFkZHItPmFpX2ZhbWlseSAhPSBBRl9JTkVUKQorKwkgICAgZnB1dHMoIlNvdXJjZSByb3V0ZSBpcyBvbmx5IHN1cHBvcnRlZCBmb3IgSVB2NFxuIiwgc3RkZXJyKTsKKyAJaWYgKHNldHNvY2tvcHQobmV0LCBJUFBST1RPX0lQLCBJUF9PUFRJT05TLCBzcmNyb3V0ZSwgc3JsZW4pIDwgMCkKKyAJICAgIHBlcnJvcigic2V0c29ja29wdCAoSVBfT1BUSU9OUykiKTsKKyAgICAgfQorQEAgLTEwOCw3ICsxNDcsNyBAQCBpbnQgbmV0bGluazo6Y29ubmVjdChpbnQgZGVidWcsIHN0cnVjdCBob3N0ZW50ICpob3N0LAorICNlbmRpZgorICAgICBpZiAodG9zIDwgMCkgdG9zID0gMDIwOwkvKiBMb3cgRGVsYXkgYml0ICovCisgICAgIGlmICh0b3MgJiYgKHNldHNvY2tvcHQobmV0LCBJUFBST1RPX0lQLCBJUF9UT1MsICZ0b3MsIHNpemVvZihpbnQpKSA8IDApCistCSYmIChlcnJubyAhPSBFTk9QUk9UT09QVCkpCisrCSYmIChlcnJubyAhPSBFTk9QUk9UT09QVCkgJiYgKGVycm5vICE9IEVPUE5PVFNVUFApKQorIAlwZXJyb3IoInRlbG5ldDogc2V0c29ja29wdCAoSVBfVE9TKSAoaWdub3JlZCkiKTsKKyAjZW5kaWYJLyogZGVmaW5lZChJUFBST1RPX0lQKSAmJiBkZWZpbmVkKElQX1RPUykgKi8KKyAKK0BAIC0xMTYsMjcgKzE1NSw4IEBAIGludCBuZXRsaW5rOjpjb25uZWN0KGludCBkZWJ1Zywgc3RydWN0IGhvc3RlbnQgKmhvc3QsCisgCXBlcnJvcigic2V0c29ja29wdCAoU09fREVCVUcpIik7CisgICAgIH0KKyAgICAgCistICAgIGlmICg6OmNvbm5lY3QobmV0LCAoc3RydWN0IHNvY2thZGRyICopc24sIHNpemVvZigqc24pKSA8IDApIHsKKy0jaWYgZGVmaW5lZChoX2FkZHIpCQkvKiBJbiA0LjMsIHRoaXMgaXMgYSAjZGVmaW5lICovCistCWlmIChob3N0ICYmIGhvc3QtPmhfYWRkcl9saXN0WzFdKSB7CistCSAgICBpbnQgb2Vycm5vID0gZXJybm87CistCSAgICAKKy0JICAgIGZwcmludGYoc3RkZXJyLCAidGVsbmV0OiBjb25uZWN0IHRvIGFkZHJlc3MgJXM6ICIsCistCQkgICAgaW5ldF9udG9hKHNuLT5zaW5fYWRkcikpOworLQkgICAgZXJybm8gPSBvZXJybm87CistCSAgICBwZXJyb3IoTlVMTCk7CistCSAgICBob3N0LT5oX2FkZHJfbGlzdCsrOworLQkgICAgaWYgKGhvc3QtPmhfbGVuZ3RoID4gKGludClzaXplb2Yoc24tPnNpbl9hZGRyKSkgeworLQkJaG9zdC0+aF9sZW5ndGggPSBzaXplb2Yoc24tPnNpbl9hZGRyKTsKKy0JICAgIH0KKy0JICAgIG1lbWNweSgmc24tPnNpbl9hZGRyLCBob3N0LT5oX2FkZHJfbGlzdFswXSwgaG9zdC0+aF9sZW5ndGgpOworLQkgICAgY2xvc2UobmV0KTsKKy0JICAgIHJldHVybiAxOworLQl9CistI2VuZGlmCS8qIGRlZmluZWQoaF9hZGRyKSAqLworLQorLQlwZXJyb3IoInRlbG5ldDogVW5hYmxlIHRvIGNvbm5lY3QgdG8gcmVtb3RlIGhvc3QiKTsKKy0JcmV0dXJuIDA7CisrICAgIGlmICg6OmNvbm5lY3QobmV0LCBhZGRyLT5haV9hZGRyLCBhZGRyLT5haV9hZGRybGVuKSA8IDApIHsKKysJcmV0dXJuIDE7CisgICAgIH0KKyAgICAgcmV0dXJuIDI7CisgfQorZGlmZiAtLWdpdCBhL3RlbG5ldC9uZXRsaW5rLmggYi90ZWxuZXQvbmV0bGluay5oCitpbmRleCA5ODUyYjMwLi4wYWM4YTA4IDEwMDY0NAorLS0tIGEvdGVsbmV0L25ldGxpbmsuaAorKysrIGIvdGVsbmV0L25ldGxpbmsuaAorQEAgLTEsMTMgKzEsMTYgQEAKKyAKKyBjbGFzcyBuZXRsaW5rIHsKKysgcHJpdmF0ZToKKysgICAgaW50IGZhbWlseTsKKyAgcHJvdGVjdGVkOgorICAgICBpbnQgbmV0OworICBwdWJsaWM6CisgICAgIG5ldGxpbmsoKTsKKyAgICAgfm5ldGxpbmsoKTsKKyAKKy0gICAgaW50IGNvbm5lY3QoaW50IGRlYnVnLCBzdHJ1Y3QgaG9zdGVudCAqaG9zdCwgCistCQlzdHJ1Y3Qgc29ja2FkZHJfaW4gKnNpbiwgCisrICAgIGludCBiaW5kKHN0cnVjdCBhZGRyaW5mbyAqaG9zdGFkZHIpOworKyAgICBpbnQgc29ja2V0KGludCBmYW1pbHkpOworKyAgICBpbnQgY29ubmVjdChpbnQgZGVidWcsIHN0cnVjdCBhZGRyaW5mbyAqaG9zdGFkZHIsIAorIAkJY2hhciAqc3Jjcm91dGUsIGludCBzcmxlbiwKKyAJCWludCB0b3MpOworICAgICB2b2lkIGNsb3NlKGludCBkb3NodXRkb3duKTsKK2RpZmYgLS1naXQgYS90ZWxuZXQvbmV0d29yay5jYyBiL3RlbG5ldC9uZXR3b3JrLmNjCitpbmRleCA2YTJjMzc0Li4wZGNmM2UyIDEwMDY0NAorLS0tIGEvdGVsbmV0L25ldHdvcmsuY2MKKysrKyBiL3RlbG5ldC9uZXR3b3JrLmNjCitAQCAtNDAsNiArNDAsNyBAQCBjaGFyIG5ldF9yY3NpZFtdID0KKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyAjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKysjaW5jbHVkZSA8c3RkbGliLmg+CisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPGFycGEvdGVsbmV0Lmg+CisgCitkaWZmIC0tZ2l0IGEvdGVsbmV0L3Byb3RvLmggYi90ZWxuZXQvcHJvdG8uaAoraW5kZXggOGJlNGEzOS4uOTJmMjQxOSAxMDA2NDQKKy0tLSBhL3RlbG5ldC9wcm90by5oCisrKysgYi90ZWxuZXQvcHJvdG8uaAorQEAgLTEzLDcgKzEzLDcgQEAgaW50IFRlcm1pbmFsV2luZG93U2l6ZShsb25nICpyb3dzLCBsb25nICpjb2xzKTsKKyB2b2lkIGF1dGhfZW5jcnlwdF91c2VyKGNoYXIgKik7Cisgdm9pZCBhdXRoX25hbWUodW5zaWduZWQgY2hhciAqLCBpbnQpOworIHZvaWQgYXV0aF9wcmludHN1Yih1bnNpZ25lZCBjaGFyICosIGludCwgdW5zaWduZWQgY2hhciAqLCBpbnQpOworLXZvaWQgY21kcmMoY29uc3QgY2hhciAqbTEsIGNvbnN0IGNoYXIgKm0yKTsKKyt2b2lkIGNtZHJjKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOworIHZvaWQgZW52X2luaXQodm9pZCk7CisgaW50IGdldGNvbm5tb2RlKHZvaWQpOworIHZvaWQgaW5pdF9uZXR3b3JrKHZvaWQpOworZGlmZiAtLWdpdCBhL3RlbG5ldC9yaW5nLmNjIGIvdGVsbmV0L3JpbmcuY2MKK2luZGV4IGJlNTczOTYuLjc3MmM2YzUgMTAwNjQ0CistLS0gYS90ZWxuZXQvcmluZy5jYworKysrIGIvdGVsbmV0L3JpbmcuY2MKK0BAIC0xNjUsNyArMTY1LDcgQEAgaW50IHJpbmdidWY6OmZsdXNoKCkgeworIAorIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyBzdXBwbHkgLy8vLy8vLy8vLy8vLy8KKyAKKy12b2lkIHJpbmdidWY6OnByaW50Zihjb25zdCBjaGFyICpmb3JtYXQsIC4uLikgeworK3ZvaWQgcmluZ2J1Zjo6eHByaW50Zihjb25zdCBjaGFyICpmb3JtYXQsIC4uLikgeworICAgICBjaGFyIHhidWZbMjU2XTsKKyAgICAgdmFfbGlzdCBhcDsKKyAgICAgdmFfc3RhcnQoYXAsIGZvcm1hdCk7CitkaWZmIC0tZ2l0IGEvdGVsbmV0L3JpbmcuaCBiL3RlbG5ldC9yaW5nLmgKK2luZGV4IDE1ZDNmM2YuLjA0OTM3N2UgMTAwNjQ0CistLS0gYS90ZWxuZXQvcmluZy5oCisrKysgYi90ZWxuZXQvcmluZy5oCitAQCAtODMsNyArODMsNyBAQCBjbGFzcyByaW5nYnVmIHsKKyAgICAgLy8gbWFudWFsIHN1cHBseQorICAgICB2b2lkIHB1dGNoKGNoYXIgYykgeyB3cml0ZSgmYywgMSk7IH0KKyAgICAgdm9pZCB3cml0ZShjb25zdCBjaGFyICpidWZmZXIsIGludCBjdCk7CistICAgIHZvaWQgcHJpbnRmKGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKTsKKysgICAgdm9pZCB4cHJpbnRmKGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKTsKKyAgICAgaW50IGVtcHR5X2NvdW50KCkgeyByZXR1cm4gc2l6ZSAtIGNvdW50OyB9CisgCisgICAgIC8vIGF1dG9tYXRpYyBzdXBwbHkKK2RpZmYgLS1naXQgYS90ZWxuZXQvc3lzX2JzZC5jYyBiL3RlbG5ldC9zeXNfYnNkLmNjCitpbmRleCA5M2ZiYTdlLi5hOGM5YWFiIDEwMDY0NAorLS0tIGEvdGVsbmV0L3N5c19ic2QuY2MKKysrKyBiL3RlbG5ldC9zeXNfYnNkLmNjCitAQCAtMTg5LDE4ICsxODksMjUgQEAgdm9pZCBOZXRTZXRQZ3JwKGludCBmZCkgeworICAqIFZhcmlvdXMgc2lnbmFsIGhhbmRsaW5nIHJvdXRpbmVzLgorICAqLworIAorKyNpZiAwCisgc3RhdGljIHZvaWQgZGVhZHBlZXIoaW50IC8qc2lnKi8pIHsKKyAgICAgc2V0Y29tbWFuZG1vZGUoKTsKKyAgICAgc2lnbG9uZ2ptcChwZWVyZGllZCwgLTEpOworIH0KKysjZW5kaWYKKyAKKyBzdGF0aWMgdm9pZCBpbnRyKGludCAvKnNpZyovKSB7CisgICAgIGlmIChsb2NhbGNoYXJzKSB7CisgCWludHAoKTsKKyAgICAgfQorICAgICBlbHNlIHsKKysjaWYgMAorICAgICAgICAgc2V0Y29tbWFuZG1vZGUoKTsKKyAJc2lnbG9uZ2ptcCh0b3BsZXZlbCwgLTEpOworKyNlbHNlCisrCXNpZ25hbChTSUdJTlQsIFNJR19ERkwpOworKwlyYWlzZShTSUdJTlQpOworKyNlbmRpZgorICAgICB9CisgfQorIAorQEAgLTIxNCw2ICsyMjEsOCBAQCBzdGF0aWMgdm9pZCBpbnRyMihpbnQgLypzaWcqLykgeworIAkgICAgc2VuZGFib3J0KCk7CisgCXJldHVybjsKKyAgICAgfQorKyAgICBzaWduYWwoU0lHUVVJVCwgU0lHX0RGTCk7CisrICAgIHJhaXNlKFNJR1FVSVQpOworIH0KKyAKKyAjaWZkZWYJU0lHV0lOQ0gKK0BAIC0yMzgsNyArMjQ3LDkgQEAgdm9pZCBheXQoaW50IHNpZykgeworIHZvaWQgc3lzX3RlbG5ldF9pbml0KHZvaWQpIHsKKyAgICAgc2lnbmFsKFNJR0lOVCwgaW50cik7CisgICAgIHNpZ25hbChTSUdRVUlULCBpbnRyMik7CisrI2lmIDAKKyAgICAgc2lnbmFsKFNJR1BJUEUsIGRlYWRwZWVyKTsKKysjZW5kaWYKKyAjaWZkZWYJU0lHV0lOQ0gKKyAgICAgc2lnbmFsKFNJR1dJTkNILCBzZW5kd2luKTsKKyAjZW5kaWYKK2RpZmYgLS1naXQgYS90ZWxuZXQvdGVsbmV0LjEgYi90ZWxuZXQvdGVsbmV0LjEKK2luZGV4IDU0YTQ3ZmIuLjgzNjVlNDIgMTAwNjQ0CistLS0gYS90ZWxuZXQvdGVsbmV0LjEKKysrKyBiL3RlbG5ldC90ZWxuZXQuMQorQEAgLTQyLDggKzQyLDkgQEAKKyBwcm90b2NvbAorIC5TaCBTWU5PUFNJUworIC5ObSB0ZWxuZXQKKy0uT3AgRmwgOEVMYWRyCisrLk9wIEZsIDQ2OEVMYWRyCisgLk9wIEZsIFMgQXIgdG9zCisrLk9wIEZsIGIgQXIgYWRkcmVzcworIC5PcCBGbCBlIEFyIGVzY2FwZWNoYXIKKyAuT3AgRmwgbCBBciB1c2VyCisgLk9wIEZsIG4gQXIgdHJhY2VmaWxlCitAQCAtNjgsNiArNjksMTAgQEAgY29tbWFuZCBpbXBsaWNpdGx5OyBzZWUgdGhlIGRlc2NyaXB0aW9uIGJlbG93LgorIC5QcAorIE9wdGlvbnM6CisgLkJsIC10YWcgLXdpZHRoIGluZGVudAorKy5JdCBGbCA0CisrRm9yY2UgSVB2NCBhZGRyZXNzIHJlc29sdXRpb24uCisrLkl0IEZsIDYKKytGb3JjZSBJUHY2IGFkZHJlc3MgcmVzb2x1dGlvbi4KKyAuSXQgRmwgOAorIFJlcXVlc3QgOC1iaXQgb3BlcmF0aW9uLiBUaGlzIGNhdXNlcyBhbiBhdHRlbXB0IHRvIG5lZ290aWF0ZSB0aGUKKyAuRHYgVEVMTkVUIEJJTkFSWQorQEAgLTg5LDYgKzk0LDggQEAgb2YgdGhlCisgb3B0aW9uIGlmIHN1cHBvcnRlZCBieSB0aGUgcmVtb3RlIHN5c3RlbS4gVGhlIHVzZXJuYW1lIGlzIHJldHJpZXZlZAorIHZpYQorIC5YciBnZXRsb2dpbiAzIC4KKysuSXQgRmwgYiBBciBhZGRyZXNzCisrVXNlIGJpbmQoMikgb24gdGhlIGxvY2FsIHNvY2tldCB0byBiaW5kIGl0IHRvIGEgc3BlY2lmaWMgbG9jYWwgYWRkcmVzcy4KKyAuSXQgRmwgZAorIFNldHMgdGhlIGluaXRpYWwgdmFsdWUgb2YgdGhlCisgLkljIGRlYnVnCitAQCAtNDc0LDE3ICs0ODEsMjkgQEAgcHJvdG9jb2wgd2l0aG91dCBtYWtpbmcgYSBtZXNzLiBQcm90b2NvbCBuZWdvdGlhdGlvbiBjYW4gYmUgZm9yY2VkIGJ5CisgcGxhY2luZyBhIGRhc2ggYmVmb3JlIHRoZSBwb3J0IG51bWJlci4KKyAuUHAKKyBBZnRlciBlc3RhYmxpc2hpbmcgYSBjb25uZWN0aW9uLCBhbnkgY29tbWFuZHMgYXNzb2NpYXRlZCB3aXRoIHRoZQorLXJlbW90ZSBob3N0IGluIHRoZSB1c2VyJ3MKKytyZW1vdGUgaG9zdCBpbgorKy5QYSAvZXRjL3RlbG5ldHJjCisrYW5kIHRoZSB1c2VyJ3MKKyAuUGEgLnRlbG5ldHJjCistZmlsZSBhcmUgZXhlY3V0ZWQuCisrZmlsZSBhcmUgZXhlY3V0ZWQsIGluIHRoYXQgb3JkZXIuCisgLlBwCistVGhlIGZvcm1hdCBvZiB0aGUgLnRlbG5ldHJjIGZpbGUgaXMgYXMgZm9sbG93czogTGluZXMgYmVnaW5uaW5nIHdpdGggYQorK1RoZSBmb3JtYXQgb2YgdGhlIHRlbG5ldHJjIGZpbGVzIGlzIGFzIGZvbGxvd3M6IExpbmVzIGJlZ2lubmluZyB3aXRoIGEKKyAjLCBhbmQgYmxhbmsgbGluZXMsIGFyZSBpZ25vcmVkLiAgVGhlIHJlc3Qgb2YgdGhlIGZpbGUgc2hvdWxkIGNvbnNpc3QKKyBvZiBob3N0bmFtZXMgYW5kIHNlcXVlbmNlcyBvZgorIC5ObSB0ZWxuZXQKKyBjb21tYW5kcyB0byB1c2Ugd2l0aCB0aGF0IGhvc3QuIENvbW1hbmRzIHNob3VsZCBiZSBvbmUgcGVyIGxpbmUsCisgaW5kZW50ZWQgYnkgd2hpdGVzcGFjZTsgbGluZXMgYmVnaW5uaW5nIHdpdGhvdXQgd2hpdGVzcGFjZSBhcmUKKy1pbnRlcnByZXRlZCBhcyBob3N0bmFtZXMuIFVwb24gY29ubmVjdGluZyB0byBhIHBhcnRpY3VsYXIgaG9zdCwgdGhlCisraW50ZXJwcmV0ZWQgYXMgaG9zdG5hbWVzLiAgTGluZXMgYmVnaW5uaW5nIHdpdGggdGhlIHNwZWNpYWwgaG9zdG5hbWUKKysuUWwgREVGQVVMVAorK3dpbGwgYXBwbHkgdG8gYWxsIGhvc3RzLiAgSG9zdG5hbWVzIGluY2x1ZGluZworKy5RbCBERUZBVUxUCisrbWF5IGJlIGZvbGxvd2VkIGltbWVkaWF0ZWx5IGJ5IGEgY29sb24gYW5kIGEgcG9ydCBudW1iZXIgb3Igc3RyaW5nLgorK0lmIGEgcG9ydCBpcyBzcGVjaWZpZWQgaXQgbXVzdCBtYXRjaCBleGFjdGx5IHdpdGggd2hhdCBpcyBzcGVjaWZpZWQKKytvbiB0aGUgY29tbWFuZCBsaW5lLiAgSWYgbm8gcG9ydCB3YXMgc3BlY2lmaWVkIG9uIHRoZSBjb21tYW5kIGxpbmUsCisrdGhlbiB0aGUgdmFsdWUKKysuUWwgdGVsbmV0CisraXMgdXNlZC4KKytVcG9uIGNvbm5lY3RpbmcgdG8gYSBwYXJ0aWN1bGFyIGhvc3QsIHRoZQorIGNvbW1hbmRzIGFzc29jaWF0ZWQgd2l0aCB0aGF0IGhvc3QgYXJlIGV4ZWN1dGVkLgorIC5JdCBJYyBxdWl0CisgQ2xvc2UgYW55IG9wZW4gc2Vzc2lvbiBhbmQgZXhpdAorQEAgLTExODQsOSArMTIwMyw3IEBAIGVzY2FwZSBzZXF1ZW5jZXMgYXJlIHByZWNlZGVkIGJ5IGEgJyonIHRvIGFpZCBpbiBsb2NhdGluZyB0aGVtLgorIFdoZW4gdGhlIHNraXByYyB0b2dnbGUgaXMKKyAuRHYgVFJVRSAsCisgLlRuIHRlbG5ldAorLWRvZXMgbm90IHJlYWQgdGhlIAorLS5QYSBcJi50ZWxuZXRyYworLWZpbGUuICBUaGUgaW5pdGlhbCB2YWx1ZSBmb3IgdGhpcyB0b2dnbGUgaXMKKytkb2VzIG5vdCByZWFkIHRoZSB0ZWxuZXRyYyBmaWxlcy4gIFRoZSBpbml0aWFsIHZhbHVlIGZvciB0aGlzIHRvZ2dsZSBpcworIC5EdiBGQUxTRS4KKyAuSXQgSWMgdGVybWRhdGEKKyBUb2dnbGVzIHRoZSBkaXNwbGF5IG9mIGFsbCB0ZXJtaW5hbCBkYXRhIChpbiBoZXhhZGVjaW1hbCBmb3JtYXQpLgorQEAgLTEyMzksNyArMTI1Niw5IEBAIHRvIHRoZSBvdGhlciBzaWRlIHZpYSB0aGUKKyAuRHYgVEVMTkVUIEVOVklST04KKyBvcHRpb24uCisgLlNoIEZJTEVTCistLkJsIC10YWcgLXdpZHRoIH4vLnRlbG5ldHJjIC1jb21wYWN0CisrLkJsIC10YWcgLXdpZHRoIC9ldGMvdGVsbmV0cmMgLWNvbXBhY3QKKysuSXQgUGEgL2V0Yy90ZWxuZXRyYworK2dsb2JhbCB0ZWxuZXQgc3RhcnR1cCB2YWx1ZXMKKyAuSXQgUGEgfi8udGVsbmV0cmMKKyB1c2VyIGN1c3RvbWl6ZWQgdGVsbmV0IHN0YXJ0dXAgdmFsdWVzCisgLkVsCitkaWZmIC0tZ2l0IGEvdGVsbmV0L3RlbG5ldC5jYyBiL3RlbG5ldC90ZWxuZXQuY2MKK2luZGV4IDRmYzNiMWYuLjdlY2E4MTEgMTAwNjQ0CistLS0gYS90ZWxuZXQvdGVsbmV0LmNjCisrKysgYi90ZWxuZXQvdGVsbmV0LmNjCitAQCAtODgsNyArODgsOCBAQCBjaGFyCWRvX2RvbnRfcmVzcFsyNTZdOworIGNoYXIJd2lsbF93b250X3Jlc3BbMjU2XTsKKyAKKyBpbnQKKy1laWdodCA9IDAsCisrICBlaWdodCA9IDMsCisrICBiaW5hcnkgPSAwLAorICAgYXV0b2xvZ2luID0gMCwJLyogQXV0b2xvZ2luIGFueW9uZT8gKi8KKyAgIHNraXByYyA9IDAsCisgICBjb25uZWN0ZWQsCitAQCAtNjM5LDE0ICs2NDAsMTQgQEAgc3RhdGljIGNvbnN0IGNoYXIgKmdldHRlcm1uYW1lKHZvaWQpIHsKKyAgIGlmIChyZXNldHRlcm1uYW1lKSB7CisgICAgIHJlc2V0dGVybW5hbWUgPSAwOworICAgICB0bmFtZSA9IGVudl9nZXR2YWx1ZSgiVEVSTSIsIDApOworLSAgICBpZiAoIXRuYW1lIHx8IG15X3NldHVwdGVybSh0bmFtZSwgMSwgJmVycikpIHsKKysgICAgaWYgKCF0bmFtZSAvKiB8fCBteV9zZXR1cHRlcm0odG5hbWUsIDEsICZlcnIpICovKSB7CisgICAgICAgdGVybWJ1ZlswXSA9IDA7CisgICAgICAgdG5hbWUgPSAiVU5LTk9XTiI7CisgICAgIH0KKyAgICAgbWtsaXN0KHRlcm1idWYsIHRuYW1lLCB0ZXJtdHlwZXMpOworICAgICBuZXh0ID0gMDsKKyAgIH0KKy0gIGlmIChuZXh0PT10ZXJtdHlwZXMubnVtKCkpIG5leHQgPSAwOworKyAgaWYgKG5leHQ9PXRlcm10eXBlcy5udW0oKS0xKSBuZXh0ID0gMDsKKyAgIHJldHVybiB0ZXJtdHlwZXNbbmV4dCsrXTsKKyB9CisgLyoKK0BAIC02ODEsNyArNjgyLDcgQEAgc3RhdGljIHZvaWQgc3Vib3B0aW9uKHZvaWQpIHsKKyAgICAgICB9CisgI2VuZGlmIC8qIFROMzI3MCAqLworICAgICAgIG5hbWUgPSBnZXR0ZXJtbmFtZSgpOworLSAgICAgIG5ldG9yaW5nLnByaW50ZigiJWMlYyVjJWMlcyVjJWMiLCBJQUMsIFNCLCBURUxPUFRfVFRZUEUsCisrICAgICAgbmV0b3JpbmcueHByaW50ZigiJWMlYyVjJWMlcyVjJWMiLCBJQUMsIFNCLCBURUxPUFRfVFRZUEUsCisgCQkgICAgICBURUxRVUFMX0lTLCBuYW1lLCBJQUMsIFNFKTsKKyAgICAgfQorICAgICBicmVhazsKK0BAIC02OTMsNyArNjk0LDcgQEAgc3RhdGljIHZvaWQgc3Vib3B0aW9uKHZvaWQpIHsKKyAgICAgaWYgKFNCX0dFVCgpID09IFRFTFFVQUxfU0VORCkgeworICAgICAgIGxvbmcgb29zcGVlZCwgaWlzcGVlZDsKKyAgICAgICBUZXJtaW5hbFNwZWVkcygmaWlzcGVlZCwgJm9vc3BlZWQpOworLSAgICAgIG5ldG9yaW5nLnByaW50ZigiJWMlYyVjJWMlbGQsJWxkJWMlYyIsIElBQywgU0IsIFRFTE9QVF9UU1BFRUQsIAorKyAgICAgIG5ldG9yaW5nLnhwcmludGYoIiVjJWMlYyVjJWxkLCVsZCVjJWMiLCBJQUMsIFNCLCBURUxPUFRfVFNQRUVELCAKKyAJCSAgICAgIFRFTFFVQUxfSVMsIG9vc3BlZWQsIGlpc3BlZWQsIElBQywgU0UpOworICAgICB9CisgICAgIGJyZWFrOworQEAgLTc4MCw3ICs3ODEsNyBAQCBzdGF0aWMgdm9pZCBzdWJvcHRpb24odm9pZCkgeworIAlzZW5kX3dvbnQoVEVMT1BUX1hESVNQTE9DLCAxKTsKKyAJYnJlYWs7CisgICAgICAgfQorLSAgICAgIG5ldG9yaW5nLnByaW50ZigiJWMlYyVjJWMlcyVjJWMiLCBJQUMsIFNCLCBURUxPUFRfWERJU1BMT0MsCisrICAgICAgbmV0b3JpbmcueHByaW50ZigiJWMlYyVjJWMlcyVjJWMiLCBJQUMsIFNCLCBURUxPUFRfWERJU1BMT0MsCisgCQkgICAgICBURUxRVUFMX0lTLCBkcCwgSUFDLCBTRSk7CisgICAgIH0KKyAgICAgYnJlYWs7CitAQCAtNzk4LDcgKzc5OSw3IEBAIHZvaWQgbG1fd2lsbCh1bnNpZ25lZCBjaGFyICpjbWQsIGludCBsZW4pIHsKKyAgICAgcmV0dXJuOworICAgfQorICAgCistICBuZXRvcmluZy5wcmludGYoIiVjJWMlYyVjJWMlYyVjIiwgSUFDLCBTQiwgVEVMT1BUX0xJTkVNT0RFLCAKKysgIG5ldG9yaW5nLnhwcmludGYoIiVjJWMlYyVjJWMlYyVjIiwgSUFDLCBTQiwgVEVMT1BUX0xJTkVNT0RFLCAKKyAJCSAgRE9OVCwgY21kWzBdLCBJQUMsIFNFKTsKKyB9CisgCitAQCAtODE1LDcgKzgxNiw3IEBAIHZvaWQgbG1fZG8odW5zaWduZWQgY2hhciAqY21kLCBpbnQgbGVuKSB7CisgICAgIC8qQCovCXByaW50ZigibG1fZG86IG5vIGNvbW1hbmQhISFcbiIpOwkvKiBTaG91bGQgbm90IGhhcHBlbi4uLiAqLworICAgICByZXR1cm47CisgICB9CistICBuZXRvcmluZy5wcmludGYoIiVjJWMlYyVjJWMlYyVjIiwgSUFDLCBTQiwgVEVMT1BUX0xJTkVNT0RFLCAKKysgIG5ldG9yaW5nLnhwcmludGYoIiVjJWMlYyVjJWMlYyVjIiwgSUFDLCBTQiwgVEVMT1BUX0xJTkVNT0RFLCAKKyAJCSAgV09OVCwgY21kWzBdLCBJQUMsIFNFKTsKKyB9CisgCitAQCAtODM4LDcgKzgzOSw3IEBAIHZvaWQgbG1fbW9kZSh1bnNpZ25lZCBjaGFyICpjbWQsIGludCBsZW4sIGludCBpbml0KSB7CisgICAgIGsgfD0gTU9ERV9BQ0s7CisgICB9CisgICAKKy0gIG5ldG9yaW5nLnByaW50ZigiJWMlYyVjJWMlYyVjJWMiLCBJQUMsIFNCLCBURUxPUFRfTElORU1PREUsIExNX01PREUsCisrICBuZXRvcmluZy54cHJpbnRmKCIlYyVjJWMlYyVjJWMlYyIsIElBQywgU0IsIFRFTE9QVF9MSU5FTU9ERSwgTE1fTU9ERSwKKyAJCSAgaywgSUFDLCBTRSk7CisgICAKKyAgIHNldGNvbm5tb2RlKDApOwkvKiBzZXQgY2hhbmdlZCBtb2RlICovCitAQCAtOTMzLDExICs5MzQsMTEgQEAgdm9pZCBzbGNfbW9kZV9pbXBvcnQoaW50IGRlZikgeworIAorIHZvaWQgc2xjX2ltcG9ydChpbnQgZGVmKSB7CisgICBpZiAoZGVmKSB7CistICAgIG5ldG9yaW5nLnByaW50ZigiJWMlYyVjJWMlYyVjJWMlYyVjIiwgSUFDLCBTQiwgVEVMT1BUX0xJTkVNT0RFLAorKyAgICBuZXRvcmluZy54cHJpbnRmKCIlYyVjJWMlYyVjJWMlYyVjJWMiLCBJQUMsIFNCLCBURUxPUFRfTElORU1PREUsCisgCQkgICAgTE1fU0xDLCAwLCBTTENfREVGQVVMVCwgMCwgSUFDLCBTRSk7CisgICB9CisgICBlbHNlIHsKKy0gICAgbmV0b3JpbmcucHJpbnRmKCIlYyVjJWMlYyVjJWMlYyVjJWMiLCBJQUMsIFNCLCBURUxPUFRfTElORU1PREUsCisrICAgIG5ldG9yaW5nLnhwcmludGYoIiVjJWMlYyVjJWMlYyVjJWMlYyIsIElBQywgU0IsIFRFTE9QVF9MSU5FTU9ERSwKKyAJCSAgICBMTV9TTEMsIDAsIFNMQ19WQVJJQUJMRSwgMCwgSUFDLCBTRSk7CisgICB9CisgfQorQEAgLTEwNTAsNiArMTA1MSw3IEBAIHZvaWQgc2xjX2NoZWNrKHZvaWQpIHsKKyAKKyAKKyB1bnNpZ25lZCBjaGFyIHNsY19yZXBseVsxMjhdOworK3Vuc2lnbmVkIGNoYXIgY29uc3QgKiBjb25zdCBzbGNfcmVwbHlfZW9tID0gJnNsY19yZXBseVtzaXplb2Yoc2xjX3JlcGx5KV07CisgdW5zaWduZWQgY2hhciAqc2xjX3JlcGx5cDsKKyAKKyB2b2lkIHNsY19zdGFydF9yZXBseSh2b2lkKSB7CitAQCAtMTA2MSw2ICsxMDYzLDE0IEBAIHZvaWQgc2xjX3N0YXJ0X3JlcGx5KHZvaWQpIHsKKyB9CisgCisgdm9pZCBzbGNfYWRkX3JlcGx5KGludCBmdW5jLCBpbnQgZmxhZ3MsIGludCB2YWx1ZSkgeworKyAgLyogQSBzZXF1ZW5jZSBvZiB1cCB0byA2IGJ5dGVzIG15IGJlIHdyaXR0ZW4gZm9yIHRoaXMgbWVtYmVyIG9mIHRoZSBTTEMKKysgICAqIHN1Ym9wdGlvbiBsaXN0IGJ5IHRoaXMgZnVuY3Rpb24uICBUaGUgZW5kIG9mIG5lZ290aWF0aW9uIGNvbW1hbmQsCisrICAgKiB3aGljaCBpcyB3cml0dGVuIGJ5IHNsY19lbmRfcmVwbHkoKSwgd2lsbCByZXF1aXJlIDIgYWRkaXRpb25hbAorKyAgICogYnl0ZXMuICBEbyBub3QgcHJvY2VlZCB1bmxlc3MgdGhlcmUgaXMgc3VmZmljaWVudCBzcGFjZSBmb3IgdGhlc2UKKysgICAqIGl0ZW1zLgorKyAgICovCisrICBpZiAoJnNsY19yZXBseXBbNisyXSA+IHNsY19yZXBseV9lb20pCisrICAgIHJldHVybjsKKyAgIGlmICgoKnNsY19yZXBseXArKyA9IGZ1bmMpID09IElBQykKKyAgICAgKnNsY19yZXBseXArKyA9IElBQzsKKyAgIGlmICgoKnNsY19yZXBseXArKyA9IGZsYWdzKSA9PSBJQUMpCitAQCAtMTE0Miw2ICsxMTUyLDcgQEAgdm9pZCBlbnZfb3B0KHVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50IGxlbikgeworICAgfQorIH0KKyAKKysvKiBPUFRfUkVQTFlfU0laRSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMi4gKi8KKyAjZGVmaW5lCU9QVF9SRVBMWV9TSVpFCTI1NgorIHVuc2lnbmVkIGNoYXIgKm9wdF9yZXBseTsKKyB1bnNpZ25lZCBjaGFyICpvcHRfcmVwbHlwOworQEAgLTExNzMsNiArMTE4NCw3IEBAIHZvaWQgZW52X29wdF9zdGFydF9pbmZvKHZvaWQpIHsKKyAKKyB2b2lkIGVudl9vcHRfYWRkKGNvbnN0IGNoYXIgKmVwKSB7CisgICBjb25zdCBjaGFyICp2cDsKKysgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnRwOworICAgdW5zaWduZWQgY2hhciBjOworICAgCisgICBpZiAob3B0X3JlcGx5ID09IE5VTEwpCQkvKlhYWCovCitAQCAtMTE4NSwxMSArMTE5NywxMiBAQCB2b2lkIGVudl9vcHRfYWRkKGNvbnN0IGNoYXIgKmVwKSB7CisgICAgIHJldHVybjsKKyAgIH0KKyAgIHZwID0gZW52X2dldHZhbHVlKGVwLCAxKTsKKy0gIGlmIChvcHRfcmVwbHlwICsgKHZwID8gc3RybGVuKHZwKSA6IDApICsgc3RybGVuKGVwKSArIDYgPiBvcHRfcmVwbHllbmQpCisrICB0cCA9IG9wdF9yZXBseXAgKyAodnAgPyBzdHJsZW4odnApICogMiA6IDApICsgc3RybGVuKGVwKSAqIDIgKyA2OworKyAgaWYgKHRwID4gb3B0X3JlcGx5ZW5kKQorICAgICB7CisgICAgICAgcmVnaXN0ZXIgaW50IGxlbjsKKy0gICAgICBvcHRfcmVwbHllbmQgKz0gT1BUX1JFUExZX1NJWkU7CistICAgICAgbGVuID0gb3B0X3JlcGx5ZW5kIC0gb3B0X3JlcGx5OworKyAgICAgIGxlbiA9ICgodHAgLSBvcHRfcmVwbHkpICsgT1BUX1JFUExZX1NJWkUgLSAxKSAmIH4oT1BUX1JFUExZX1NJWkUgLSAxKTsKKysgICAgICBvcHRfcmVwbHllbmQgPSBvcHRfcmVwbHkgKyBsZW47CisgICAgICAgb3B0X3JlcGx5ID0gKHVuc2lnbmVkIGNoYXIgKilyZWFsbG9jKG9wdF9yZXBseSwgbGVuKTsKKyAgICAgICBpZiAob3B0X3JlcGx5ID09IE5VTEwpIHsKKyAJLypAKi8JCQlwcmludGYoImVudl9vcHRfYWRkOiByZWFsbG9jKCkgZmFpbGVkISEhXG4iKTsKK0BAIC0xNzQwLDggKzE3NTMsOCBAQCB2b2lkIHRlbG5ldChjb25zdCBjaGFyICogLyp1c2VyKi8pIHsKKyAgICAgc2VuZF9kbyhURUxPUFRfU1RBVFVTLCAxKTsKKyAgICAgaWYgKGVudl9nZXR2YWx1ZSgiRElTUExBWSIsIDApKQorICAgICAgIHNlbmRfd2lsbChURUxPUFRfWERJU1BMT0MsIDEpOworLSAgICBpZiAoZWlnaHQpCistICAgICAgdGVsX2VudGVyX2JpbmFyeShlaWdodCk7CisrICAgIGlmIChiaW5hcnkpCisrICAgICAgdGVsX2VudGVyX2JpbmFyeShiaW5hcnkpOworICAgfQorICNlbmRpZiAvKiAhZGVmaW5lZChUTjMyNzApICovCisgICAKK2RpZmYgLS1naXQgYS90ZWxuZXQvdGVybWluYWwuY2MgYi90ZWxuZXQvdGVybWluYWwuY2MKK2luZGV4IDllYjQ3YWUuLjc2NGYxOGYgMTAwNjQ0CistLS0gYS90ZWxuZXQvdGVybWluYWwuY2MKKysrKyBiL3RlbG5ldC90ZXJtaW5hbC5jYworQEAgLTQ1LDYgKzQ1LDggQEAgY2hhciB0ZXJtaW5hbF9yY3NpZFtdID0KKyAjaW5jbHVkZSA8c2lnbmFsLmg+CisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPHN0ZGlvLmg+CisrI2luY2x1ZGUgPHN0cmluZy5oPgorKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyAKKyAjaW5jbHVkZSAicmluZy5oIgorICNpbmNsdWRlICJkZWZpbmVzLmgiCitAQCAtMTU1LDkgKzE1NywxMSBAQCBpbnQgZ2V0Y29ubm1vZGUodm9pZCkgeworICAgICBpZiAobG9jYWxmbG93KQorIAltb2RlIHw9IE1PREVfRkxPVzsKKyAKKy0gICAgaWYgKG15X3dhbnRfc3RhdGVfaXNfd2lsbChURUxPUFRfQklOQVJZKSkKKysgICAgaWYgKChlaWdodCAmIDEpIHx8IG15X3dhbnRfc3RhdGVfaXNfd2lsbChURUxPUFRfQklOQVJZKSkKKyAJbW9kZSB8PSBNT0RFX0lOQklOOworIAorKyAgICBpZiAoZWlnaHQgJiAyKQorKwltb2RlIHw9IE1PREVfT1VUODsKKyAgICAgaWYgKGhpc193YW50X3N0YXRlX2lzX3dpbGwoVEVMT1BUX0JJTkFSWSkpCisgCW1vZGUgfD0gTU9ERV9PVVRCSU47CisgCitAQCAtNDQ5LDEwICs0NTMsMTMgQEAgdm9pZCBUZXJtaW5hbE5ld01vZGUoaW50IGYpCisgCQkvLyBicmVha3MgU3VuT1MuCisgCSAJdG1wX3RjLmNfaWZsYWcgfD0gSVNUUklQOworIAl9CistCWlmIChmICYgTU9ERV9PVVRCSU4pIHsKKysJaWYgKGYgJiAoTU9ERV9PVVRCSU58TU9ERV9PVVQ4KSkgeworIAkJdG1wX3RjLmNfY2ZsYWcgJj0gfihDU0laRXxQQVJFTkIpOworIAkJdG1wX3RjLmNfY2ZsYWcgfD0gQ1M4OworLQkJdG1wX3RjLmNfb2ZsYWcgJj0gfk9QT1NUOworKwkJaWYgKGYgJiBNT0RFX09VVEJJTikKKysJCQl0bXBfdGMuY19vZmxhZyAmPSB+T1BPU1Q7CisrCQllbHNlCisrCQkJdG1wX3RjLmNfb2ZsYWcgfD0gT1BPU1Q7CisgCX0gZWxzZSB7CisgCQl0bXBfdGMuY19jZmxhZyAmPSB+KENTSVpFfFBBUkVOQik7CisgCQl0bXBfdGMuY19jZmxhZyB8PSBvbGRfdGMuY19jZmxhZyAmIChDU0laRXxQQVJFTkIpOworQEAgLTQ2OCw3ICs0NzUsNyBAQCB2b2lkIFRlcm1pbmFsTmV3TW9kZShpbnQgZikKKyAKKyAjaWZkZWYJU0lHSU5GTworIAlzaWduYWwoU0lHSU5GTywgYXl0KTsKKy0jZW5kaWYJU0lHSU5GTworKyNlbmRpZgkvKiBTSUdJTkZPICovCisgCisgI2lmIGRlZmluZWQoTk9LRVJOSU5GTykKKyAJdG1wX3RjLmNfbGZsYWcgfD0gTk9LRVJOSU5GTzsKK0BAIC01MDQsNyArNTExLDcgQEAgdm9pZCBUZXJtaW5hbE5ld01vZGUoaW50IGYpCisgCisgI2lmZGVmCVNJR0lORk8KKyAJc2lnbmFsKFNJR0lORk8sIGF5dF9zdGF0dXMpOworLSNlbmRpZglTSUdJTkZPCisrI2VuZGlmCS8qIFNJR0lORk8gKi8KKyAKKyAjaWZkZWYJU0lHVFNUUAorIAlzaWduYWwoU0lHVFNUUCwgU0lHX0RGTCk7CitkaWZmIC0tZ2l0IGEvdGVsbmV0L3V0aWxpdGllcy5jYyBiL3RlbG5ldC91dGlsaXRpZXMuY2MKK2luZGV4IDA0NDhmMGEuLjY2ODM5YWIgMTAwNjQ0CistLS0gYS90ZWxuZXQvdXRpbGl0aWVzLmNjCisrKysgYi90ZWxuZXQvdXRpbGl0aWVzLmNjCitAQCAtNDcsNiArNDcsOCBAQCBjaGFyIHV0aWxfcmNzaWRbXSA9CisgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyAjaW5jbHVkZSA8dW5pc3RkLmg+CisgI2luY2x1ZGUgPGN0eXBlLmg+CisrI2luY2x1ZGUgPHN0cmluZy5oPgorKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyAKKyAjaW5jbHVkZSAicmluZy5oIgorICNpbmNsdWRlICJkZWZpbmVzLmgiCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXRlbG5ldC9maWxlcy9XYXJuaW5nLWZpeC1pbi10aGUtc3RlcC1vZi1pbnN0YWxsLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXRlbG5ldC9maWxlcy9XYXJuaW5nLWZpeC1pbi10aGUtc3RlcC1vZi1pbnN0YWxsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5YTk4ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtdGVsbmV0L2ZpbGVzL1dhcm5pbmctZml4LWluLXRoZS1zdGVwLW9mLWluc3RhbGwucGF0Y2gKQEAgLTAsMCArMSw0MSBAQAorRnJvbSAzMTM2MmU0YzBkMDJiNGEyYjk1MmFkMGRkMzJhY2ZiNTczYzQ0MmYzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogRnJpLCAyOCBOb3YgMjAxNCAwNzoxNzo0MCArMDkwMAorU3ViamVjdDogW1BBVENIIDIvMl0gV0FSTklORyBGaXggYW5kIG1vZGlmeSAiQ0ZMQUdTIgorCitXQVJOSU5HOiBRQSBJc3N1ZTogRmlsZSAnL3Vzci9zYmluL2luLnRlbG5ldGQnIGZyb20gbmV0a2l0LXRlbG5ldCB3YXMgCithbHJlYWR5IHN0cmlwcGVkLCB0aGlzIHdpbGwgcHJldmVudCBmdXR1cmUgZGVidWdnaW5nISBbYWxyZWFkeS1zdHJpcHBlZF0KKworVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IExpIFhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KKy0tLQorIHRlbG5ldGQvTWFrZWZpbGUgfCA1ICsrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3RlbG5ldGQvTWFrZWZpbGUgYi90ZWxuZXRkL01ha2VmaWxlCitpbmRleCA3MjY1MGI0Li5hNGNmOWZhIDEwMDY0NAorLS0tIGEvdGVsbmV0ZC9NYWtlZmlsZQorKysrIGIvdGVsbmV0ZC9NYWtlZmlsZQorQEAgLTksNyArOSw4IEBAIGluY2x1ZGUgLi4vTVJVTEVTCisgIyB0YWtlIG91dCAtRFBBUkFOT0lEX1RUWVMuCisgCisgQ0ZMQUdTICs9ICctRElTU1VFX0ZJTEU9Ii9ldGMvaXNzdWUubmV0IicgLURQQVJBTk9JRF9UVFlTIFwKKy0JICAgLUROT19SRVZPS0UgLURLTFVER0VMSU5FTU9ERSAtRERJQUdOT1NUSUNTCisrCSAgIC1ETk9fUkVWT0tFIC1ES0xVREdFTElORU1PREUgLURESUFHTk9TVElDUyBcCisrCSAgIC1ETE9HSU5fV1JBUFBFUj1cIi8ke2xpYmRpcn0vdGVsbmV0bG9naW5cIgorICMgTElCUyArPSAkKExJQlRFUk1DQVApCisgCisgT0JKUyA9IHRlbG5ldGQubyBzdGF0ZS5vIHRlcm1zdGF0Lm8gc2xjLm8gc3lzX3Rlcm0ubyB1dGlsaXR5Lm8gXAorQEAgLTI3LDcgKzI4LDcgQEAgJChPQkpTKTogZGVmcy5oIGV4dC5oIHBhdGhuYW1lcy5oIHRlbG5ldGQuaCBsb2d3dG1wLmggbG9nb3V0Lmggc2V0cHJvY3RpdGxlLmgKKyB0ZWxuZXRkLm86IC4uL3ZlcnNpb24uaAorIAorIGluc3RhbGw6IHRlbG5ldGQKKy0JaW5zdGFsbCAtcyAtbSQoREFFTU9OTU9ERSkgdGVsbmV0ZCAkKElOU1RBTExST09UKSQoU0JJTkRJUikvaW4udGVsbmV0ZAorKwlpbnN0YWxsIC1tJChEQUVNT05NT0RFKSB0ZWxuZXRkICQoSU5TVEFMTFJPT1QpJChTQklORElSKS9pbi50ZWxuZXRkCisgCWluc3RhbGwgLW0kKE1BTk1PREUpIGlzc3VlLm5ldC41ICQoSU5TVEFMTFJPT1QpJChNQU5ESVIpL21hbjUvCisgCWluc3RhbGwgLW0kKE1BTk1PREUpIHRlbG5ldGQuOCAkKElOU1RBTExST09UKSQoTUFORElSKS9tYW44L2luLnRlbG5ldGQuOAorIAlsbiAtc2YgaW4udGVsbmV0ZC44ICQoSU5TVEFMTFJPT1QpJChNQU5ESVIpL21hbjgvdGVsbmV0ZC44CistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXRlbG5ldC9maWxlcy9jcm9zcy1jb21waWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXRlbG5ldC9maWxlcy9jcm9zcy1jb21waWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzZmUzNmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtdGVsbmV0L2ZpbGVzL2Nyb3NzLWNvbXBpbGUucGF0Y2gKQEAgLTAsMCArMSw0OCBAQAorVG8gc3VwcG9ydCB0aGUgY3Jvc3MtY29tcGlsZQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworbWFrZSB0aGUgY29uZmlndXJlIHRvIHN1cHBvcnQgdGhlIGNyb3NzLWNvbXBpbGUsIGJ5IG9ubHkgdG8gY29tcGlsZSB0aGUKK3RhcmdldCwgYW5kIG5vdCB0byBydW4gaXQKKworUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorSW5kZXg6IG5ldGtpdC10ZWxuZXQtMC4xNy9jb25maWd1cmUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBuZXRraXQtdGVsbmV0LTAuMTcub3JpZy9jb25maWd1cmUJMjAwOC0xMS0yMyAyMjowMToyNi4wMDAwMDAwMDAgKzAxMDAKKysrKyBuZXRraXQtdGVsbmV0LTAuMTcvY29uZmlndXJlCTIwMDgtMTEtMjMgMjI6MDU6MDAuMDAwMDAwMDAwICswMTAwCitAQCAtOTQsNyArOTQsNyBAQAorICAgICBlY2hvIC1uICdDaGVja2luZyBpZiBDIGNvbXBpbGVyIHdvcmtzLi4uICcKKyAgICAgaWYgKAorICAgICAgICAgICAkQ0MgX19jb25mdGVzdC5jIC1vIF9fY29uZnRlc3QgfHwgZXhpdCAxCistICAgICAgICAgIC4vX19jb25mdGVzdCB8fCBleGl0IDEKKysgICAgICAgICAgIyBJZGlvdHMgYmVsb25nIHNob3QhIC4vX19jb25mdGVzdCB8fCBleGl0IDEKKyAgICAgICAgKSA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKyAgICAgICAgICBlY2hvICd5ZXMnCisgICAgICBlbHNlCitAQCAtMTQxLDcgKzE0MSw3IEBACisgICAgIGVjaG8gLW4gJ0NoZWNraW5nIGlmIEMrKyBjb21waWxlciB3b3Jrcy4uLiAnCisgICAgIGlmICgKKyAgICAgICAgICAgJENYWCBfX2NvbmZ0ZXN0LmNjIC1vIF9fY29uZnRlc3QgfHwgZXhpdCAxCistICAgICAgICAgIC4vX19jb25mdGVzdCB8fCBleGl0IDEKKysgICAgICAgICAgIyBJZGl0aW9zIGJlbG9uZyBzaG90ISAuL19fY29uZnRlc3QgfHwgZXhpdCAxCisgICAgICAgICkgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisgICAgICAgICAgZWNobyAneWVzJworICAgICAgZWxzZQorQEAgLTI4NCw3ICsyODQsNyBAQAorIGVsc2UKKyAgICAgaWYgKAorICAgICAgICAgICAkQ1hYICRDWFhGTEFHUyAtRF9fVVNFX0JTRF9TSUdOQUwgX19jb25mdGVzdC5jYyAgLW8gX19jb25mdGVzdCB8fCBleGl0IDEKKy0gICAgICAgICAgLi9fX2NvbmZ0ZXN0IHx8IGV4aXQgMQorKyAgICAgICAgICAjIHJ1bm5pbmcgc3RpbGwgZG9lcyBub3Qgd29yay4vX19jb25mdGVzdCB8fCBleGl0IDEKKyAgICAgICAgKSA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKyAgICAgICAgIGVjaG8gJy1EX19VU0VfQlNEX1NJR05BTCcKKyAgICAgICAgIENGTEFHUz0iJENGTEFHUyAtRF9fVVNFX0JTRF9TSUdOQUwiCitAQCAtNTAxLDcgKzUwMSw3IEBACisgRU9GCisgaWYgKAorICAgICAgICRDWFggJENYWEZMQUdTICBfX2NvbmZ0ZXN0LmNjICRMSUJCU0QgLW8gX19jb25mdGVzdCB8fCBleGl0IDEKKy0gICAgICAuL19fY29uZnRlc3QgfHwgZXhpdCAxCisrICAgICAgIyBhcmdoISBtb3JvbnMhLi9fX2NvbmZ0ZXN0IHx8IGV4aXQgMQorICAgICkgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisgICAgIGVjaG8gJ29rJworIGVsc2UKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC10ZWxuZXQvZmlsZXMvdGVsbmV0LXhpbmV0ZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC10ZWxuZXQvZmlsZXMvdGVsbmV0LXhpbmV0ZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjIwNGM3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXRlbG5ldC9maWxlcy90ZWxuZXQteGluZXRkCkBAIC0wLDAgKzEsMTQgQEAKKyMgZGVmYXVsdDogb24KKyMgZGVzY3JpcHRpb246IFRoZSB0ZWxuZXQgc2VydmVyIHNlcnZlcyB0ZWxuZXQgc2Vzc2lvbnM7IGl0IHVzZXMgXAorIwl1bmVuY3J5cHRlZCB1c2VybmFtZS9wYXNzd29yZCBwYWlycyBmb3IgYXV0aGVudGljYXRpb24uCitzZXJ2aWNlIHRlbG5ldAoreworCWZsYWdzCQk9IFJFVVNFCisJc29ja2V0X3R5cGUJPSBzdHJlYW0KKwl3YWl0CQk9IG5vCisJdXNlcgkJPSByb290CisJc2VydmVyCQk9IC91c3Ivc2Jpbi9pbi50ZWxuZXRkCisJbG9nX29uX2ZhaWx1cmUJKz0gVVNFUklECisJZGlzYWJsZQkJPSB5ZXMKK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXRlbG5ldC9uZXRraXQtdGVsbmV0XzAuMTcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtdGVsbmV0L25ldGtpdC10ZWxuZXRfMC4xNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NDM4YWRjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXRlbG5ldC9uZXRraXQtdGVsbmV0XzAuMTcuYmIKQEAgLTAsMCArMSw1OSBAQAorREVTQ1JJUFRJT04gPSAibmV0a2l0LXRlbG5ldCBpbmNsdWRlcyB0aGUgdGVsbmV0IGRhZW1vbiBhbmQgY2xpZW50LiIKK1NFQ1RJT04gPSAibmV0IgorREVQRU5EUyA9ICJuY3Vyc2VzIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly90ZWxuZXQvdGVsbmV0LmNjO2JlZ2lubGluZT0yO2VuZGxpbmU9MzttZDU9NzgwODY4ZTdiNTY2MzEzZTcwY2I3MDE1NjBjYTk1ZWYiCisKK1NSQ19VUkkgPSAiZnRwOi8vZnRwLnVrLmxpbnV4Lm9yZy9wdWIvbGludXgvTmV0d29ya2luZy9uZXRraXQvJHtCUH0udGFyLmd6IFwKKyAgICBmaWxlOi8vVG8tYXZpb2QtYnVmZmVyLW92ZXJmbG93LWluLXRlbG5ldC5wYXRjaCBcCisgICAgZmlsZTovL1dhcm5pbmctZml4LWluLXRoZS1zdGVwLW9mLWluc3RhbGwucGF0Y2ggXAorICAgIGZpbGU6Ly90ZWxuZXQteGluZXRkIFwKKyAgICBmaWxlOi8vY3Jvc3MtY29tcGlsZS5wYXRjaCBcCisiCisKK0VYVFJBX09FTUFLRSA9ICJJTlNUQUxMUk9PVD0ke0R9IFNCSU5ESVI9JHtzYmluZGlyfSBEQUVNT05NT0RFPTc1NSBcCisgICAgTUFOTU9ERT02NDQgTUFORElSPSR7bWFuZGlyfSIKKworZG9fY29uZmlndXJlICgpIHsKKyAgICAuL2NvbmZpZ3VyZSAtLXByZWZpeD0ke3ByZWZpeH0KKyAgICBzZWQgLWUgJ3MjXkNGTEFHUz1cKC4qXCkkI0NGTEFHUz0gLURfR05VX1NPVVJDRSBcMSMnIFwKKyAgICAgICAgLWUgJ3MjXkNYWEZMQUdTPVwoLipcKSQjQ1hYRkxBR1M9IC1EX0dOVV9TT1VSQ0UgXDEjJyBcCisgICAgICAgIC1lICdzI15MREZMQUdTPS4qJCNMREZMQUdTPSAke0xERkxBR1N9IycgXAorICAgICAgICAtaSBNQ09ORklHCit9CisKK2RvX2NvbXBpbGUgKCkgeworICAgIG9lX3J1bm1ha2UgJ0NDPSR7Q0N9JyAnTEQ9JHtMRH0nICdMREZMQUdTPSR7TERGTEFHU30nIFNVQj10ZWxuZXQKKyAgICBvZV9ydW5tYWtlICdDQz0ke0NDfScgJ0xEPSR7TER9JyAnTERGTEFHUz0ke0xERkxBR1N9JyBMSUJTPS1sdXRpbCBTVUI9dGVsbmV0ZAorICAgIG9lX3J1bm1ha2UgJ0NDPSR7Q0N9JyAnTEQ9JHtMRH0nICdMREZMQUdTPSR7TERGTEFHU30nIFNVQj10ZWxuZXRsb2dpbgorfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgdGVsbmV0L3RlbG5ldCAke0R9JHtiaW5kaXJ9L3RlbG5ldC4ke1BOfQorICAgIGluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke21hbmRpcn0vbWFuMQorICAgIGluc3RhbGwgLWQgJHtEfSR7bWFuZGlyfS9tYW41CisgICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjgKKyAgICBvZV9ydW5tYWtlIFNVQj10ZWxuZXRkIGluc3RhbGwKKyAgICBybSAtcmYgJHtEfSR7bWFuZGlyfS9tYW4xCisgICAgaW5zdGFsbCAtRCAtbSA0NzUwICR7Qn0vdGVsbmV0bG9naW4vdGVsbmV0bG9naW4gJHtEfS8ke2xpYmRpcn0vdGVsbmV0bG9naW4KKyAgICAjIGZpeCB1cCBoYXJkY29kZWQgcGF0aHMKKyAgICBzZWQgLWkgLWUgJ3MsL3Vzci9zYmluLywke3NiaW5kaXJ9LywnICR7V09SS0RJUn0vdGVsbmV0LXhpbmV0ZAorICAgIGluc3RhbGwgLWQgICR7RH0vZXRjL3hpbmV0ZC5kLworICAgIGluc3RhbGwgLXAgLW02NDQgJHtXT1JLRElSfS90ZWxuZXQteGluZXRkICR7RH0vZXRjL3hpbmV0ZC5kL3RlbG5ldAorfQorCitwa2dfcG9zdGluc3RfJHtQTn0gKCkgeworIyEvYmluL3NoCisgICAgdXBkYXRlLWFsdGVybmF0aXZlcyAtLWluc3RhbGwgJHtiaW5kaXJ9L3RlbG5ldCB0ZWxuZXQgdGVsbmV0LiR7UE59IDEwMAorfQorCitwa2dfcHJlcm1fJHtQTn0gKCkgeworIyEvYmluL3NoCisgICAgdXBkYXRlLWFsdGVybmF0aXZlcyAtLXJlbW92ZSB0ZWxuZXQgdGVsbmV0LiR7UE59IDEwMAorfQorCitTUkNfVVJJW21kNXN1bV0gPSAiZDZiZWFiYWFmNTNmZTZlMzgyYzQyY2UzZmFhMDVhMzYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOWM4MGQ1Yzc4MzgzNjFhMzI4ZmI2YjYwMDE2ZDUwM2RlZjljZTUzYWQzYzU4OWYzYjA4ZmY3MWEyYmI4OGUwMCIKK0ZJTEVTXyR7UE59ICs9ICIke3NiaW5kaXJ9L2luLiogJHtsaWJkaXJ9LyogJHtzeXNjb25mZGlyfS94aW5ldGQuZC8qIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXRmdHAvbmV0a2l0LXRmdHAvdGZ0cC5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXRmdHAvbmV0a2l0LXRmdHAvdGZ0cC5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiYzZjYTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtdGZ0cC9uZXRraXQtdGZ0cC90ZnRwLmNvbmYKQEAgLTAsMCArMSwxMSBAQAorc2VydmljZSB0ZnRwCit7CisgICAgZGlzYWJsZSAgICAgICAgPSBubworICAgIHNvY2tldF90eXBlICAgID0gZGdyYW0KKyAgICBwb3J0ICAgICAgICAgICA9IDY5CisgICAgcHJvdG9jb2wgICAgICAgPSB1ZHAKKyAgICB3YWl0ICAgICAgICAgICA9IHllcworICAgIHVzZXIgICAgICAgICAgID0gbm9ib2R5CisgICAgc2VydmVyICAgICAgICAgPSAvdXNyL3NiaW4vaW4udGZ0cGQKKyAgICBzZXJ2ZXJfYXJncyAgICA9IC90ZnRwYm9vdAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXRmdHAvbmV0a2l0LXRmdHBfMC4xNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC10ZnRwL25ldGtpdC10ZnRwXzAuMTcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjdhNTQxZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC10ZnRwL25ldGtpdC10ZnRwXzAuMTcuYmIKQEAgLTAsMCArMSw1NCBAQAorU1VNTUFSWSA9ICJ0ZnRwIC0gVHJpdmlhbCBmaWxlIHRyYW5zZmVyIHByb3RvY29sIGNsaWVudCIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJCU0QtNC1DbGF1c2UiCitERVBFTkRTID0gInRjcC13cmFwcGVycyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vdGZ0cC90ZnRwLmM7YmVnaW5saW5lPTI7ZW5kbGluZT0zO21kNT04NGQyY2ZlMWU2MDg2M2E3ZDgyNjQ4NzM0YmE0ZDMwYyIKKworU1JDX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vbi8ke0JQTn0vJHtCUE59XyR7UFZ9Lm9yaWcudGFyLmd6O25hbWU9YXJjaGl2ZSBcCisgICAgJHtERUJJQU5fTUlSUk9SfS9tYWluL24vJHtCUE59LyR7QlBOfV8ke1BWfS0xOC5kaWZmLmd6O25hbWU9cGF0Y2gxOCBcCisgICAgZmlsZTovL3RmdHAuY29uZiBcCisiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImI3MjYyYzc5OGUyZmY1MGUyOWMyZmY1MGRmZDhkNmE4IgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiM2E0M2MwMDEwZDRlNjFmNDEyNTYzZmQ4Mzc2OWQ0NjY3ZDhiOGU4MjkwMzUyNmQyMWNiOTIwNWZlNTVhZDE0ZCIKK1NSQ19VUklbcGF0Y2gxOC5tZDVzdW1dID0gImNiMjllN2EzM2RkODUxMDViYTZlNmVjNGY5NzFlNDJjIgorU1JDX1VSSVtwYXRjaDE4LnNoYTI1NnN1bV0gPSAiMDkyNDM3ZDI3YjRmYTg4YzA0NGVmNjI5MDM3MmZlZTVjZTA2ZDIyMzYwN2YwZTIyYTZlNTI3MDY1Yzg5MzBlNyIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKK2RvX2NvbmZpZ3VyZSAoKSB7CisgICAgLi9jb25maWd1cmUgLS1wcmVmaXg9JHtwcmVmaXh9CisgICAgZWNobyAiQ0ZMQUdTPSR7Q0ZMQUdTfSIgPiBNQ09ORklHCit9CisKK2RvX2NvbXBpbGUgKCkgeworICAgIG9lX3J1bm1ha2UgJ0NDPSR7Q0N9JyAnTEQ9JHtMRH0nICdMREZMQUdTPSR7TERGTEFHU30nICdDRkxBR1M9JHtDRkxBR1N9JworfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjEKKyAgICBpbnN0YWxsIC1kICR7RH0ke21hbmRpcn0vbWFuOAorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0veGluZXRkLmQKKworICAgIHNlZCAtaSAncy9pbnN0YWxsIC1zL2luc3RhbGwvJyB0ZnRwL01ha2VmaWxlCisgICAgc2VkIC1pICdzL2luc3RhbGwgLXMvaW5zdGFsbC8nIHRmdHBkL01ha2VmaWxlCisKKyAgICBvZV9ydW5tYWtlICdJTlNUQUxMUk9PVD0ke0R9JyAnQklOTU9ERT0wNzU1JyBcCisgICAgJ0RBRU1PTk1PREU9MDc1NScgJ01BTk1PREU9MDY0NCcgXAorICAgICdCSU5ESVI9JHtiaW5kaXJ9JyAnU0JJTkRJUj0ke3NiaW5kaXJ9JyBcCisgICAgJ01BTkRJUj0ke21hbmRpcn0nIGluc3RhbGwKKworICAgIGluc3RhbGwgJHtXT1JLRElSfS90ZnRwLmNvbmYgJHtEfS8ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3RmdHAKK30KKworUEFDS0FHRVMgPSAiJHtQTn0tY2xpZW50ICR7UE59LXNlcnZlciAke1BOfS1kb2MgJHtCUE59LWRiZyIKK0ZJTEVTXyR7UE59LWNsaWVudCA9ICIke2JpbmRpcn0vKiIKK0ZJTEVTXyR7UE59LXNlcnZlciA9ICIke3NiaW5kaXJ9LyogJHtzeXNjb25mZGlyfS94aW5ldGQuZC8qIgorRklMRVNfJHtQTn0tZG9jID0gIiR7bWFuZGlyfSIKK0ZJTEVTXyR7UE59LWRiZyA9ICIke3ByZWZpeH0vc3JjL2RlYnVnIFwKKyAgICAke2JpbmRpcn0vLmRlYnVnICR7c2JpbmRpcn0vLmRlYnVnIgorCitSREVQRU5EU18ke1BOfS1zZXJ2ZXIgPSAidGNwLXdyYXBwZXJzIHhpbmV0ZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL2FjY2VsLXBwcC9hY2NlbC1wcHBfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvYWNjZWwtcHBwL2FjY2VsLXBwcF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTBlOThhNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL2FjY2VsLXBwcC9hY2NlbC1wcHBfZ2l0LmJiCkBAIC0wLDAgKzEsNDIgQEAKK1NVTU1BUlkgPSAiQUNDRUwtUFBQIGlzIGEgaGlnaCBwZXJmb3JtYW5jZSBWUE4gc2VydmVyIGFwcGxpY2F0aW9uIGZvciBsaW51eCIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvYXBwcy90cmFjL2FjY2VsLXBwcC93aWtpIgorU0VDVElPTiA9ICJuZXQiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lYjcyM2I2MTUzOWZlZWYwMTNkZTQ3NmU2OGI1YzUwYSIKKworREVQRU5EUyA9ICJvcGVuc3NsIGxpYnBjcmUiCisKK2luaGVyaXQgY21ha2UKKworUFIgPSAicjEiCitQViA9ICIxLjcuMytnaXQiCisKK1NSQ1JFViA9ICI0YWNmYTQ2YzMyMWEzNDRiOWE2Y2U0MTI4ZTcyZDFlMDI4MjhkOGEwIgorU1JDX1VSSSA9ICJnaXQ6Ly9hY2NlbC1wcHAuZ2l0LnNvdXJjZWZvcmdlLm5ldC9naXRyb290L2FjY2VsLXBwcC9hY2NlbC1wcHA7YnJhbmNoPTEuNyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworRVhUUkFfT0VDTUFLRSA9ICIgXAorICAgICAgICAgICAgICAgICAtREJVSUxEX0RSSVZFUj1GQUxTRSBcCisgICAgICAgICAgICAgICAgIC1EQ01BS0VfSU5TVEFMTF9QUkVGSVg9JHtwcmVmaXh9IFwKKyAgICAgICAgICAgICAgICAgLURDTUFLRV9CVUlMRF9UWVBFPVJlbGVhc2UgXAorICAgICAgICAgICAgICAgICAtRExPR19QR1NRTD1GQUxTRSBcCisgICAgICAgICAgICAgICAgIC1EUkFESVVTPUZBTFNFIFwKKyAgICAgICAgICAgICAgICAgLURORVRTTk1QPUZBTFNFIFwKKyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiL3Vzci9saWIvJHtCUE59Ly5kZWJ1Zy8qIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tbGlicyIKK0ZJTEVTXyR7UE59LWxpYnMgPSAiJHtsaWJkaXJ9LyR7QlBOfS8qLnNvIC91c3IvbGliLyR7QlBOfS8qLnNvIgorSU5TQU5FX1NLSVBfJHtQTn0tbGlicyA9ICJkZXYtc28iCitSREVQRU5EU18ke1BOfSArPSAiJHtQTn0tbGlicyIKKworZG9faW5zdGFsbF9wcmVwZW5kKCkgeworICAgIGNtbGlzdD1gZmluZCAke1N9IC1uYW1lIENNYWtlTGlzdHMudHh0YAorICAgIGZvciBmaWxlIGluICRjbWxpc3Q7IGRvCisgICAgICAgIHNlZCAtaSAtZSAiczpMSUJSQVJZIERFU1RJTkFUSU9OIGxpYi9hY2NlbC1wcHA6TElCUkFSWSBERVNUSU5BVElPTiAke2Jhc2VsaWJ9L2FjY2VsLXBwcDpnIiBcCisgICAgICAgICAgICAgICAtZSAiczpcJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vbGliL2FjY2VsLXBwcDpcJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vJHtiYXNlbGlifS9hY2NlbC1wcHA6ZyIgXAorICAgICAgICAgICAgICAgJGNtbGlzdAorICAgIGRvbmUKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL2ZpbGVzL2luaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9maWxlcy9pbml0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJiOGZlMTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9maWxlcy9pbml0CkBAIC0wLDAgKzEsNjYgQEAKKyMhIC9iaW4vc2gKKyMgL2V0Yy9pbml0LmQvc25tcGQ6IHN0YXJ0IHNubXAgZGFlbW9uLgorCisuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworCit0ZXN0IC14IC91c3Ivc2Jpbi9zbm1wZCB8fCBleGl0IDAKK3Rlc3QgLXggL3Vzci9zYmluL3NubXB0cmFwZCB8fCBleGl0IDAKKworIyBEZWZhdWx0cworZXhwb3J0IE1JQkRJUlM9L3Vzci9zaGFyZS9zbm1wL21pYnMKK1NOTVBEUlVOPXllcworU05NUERPUFRTPSctTHNkIC1MZiAvZGV2L251bGwgLXAgL3Zhci9ydW4vc25tcGQucGlkJworVFJBUERSVU49bm8KK1RSQVBET1BUUz0nLUxzZCAtcCAvdmFyL3J1bi9zbm1wdHJhcGQucGlkJworUElERklMRT0vdmFyL3J1bi9zbm1wZC5waWQKK1NQSURGSUxFPS92YXIvcnVuL3NubXB0cmFwZC5waWQKKworIyBSZWFkcyBjb25maWcgZmlsZSBpZiBleGlzdHMgKHdpbGwgb3ZlcnJpZGUgZGVmYXVsdHMgYWJvdmUpCitbIC1yIC9ldGMvZGVmYXVsdC9zbm1wZCBdICYmIC4gL2V0Yy9kZWZhdWx0L3NubXBkCisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKyAgICBlY2hvIC1uICJTdGFydGluZyBuZXR3b3JrIG1hbmFnZW1lbnQgc2VydmljZXM6IgorICAgIGlmIFsgIiRTTk1QRFJVTiIgPSAieWVzIiAtYSAtZiAvZXRjL3NubXAvc25tcGQuY29uZiAtYSAhIC1mICIkUElERklMRSIgXTsgdGhlbgorCXN0YXJ0LXN0b3AtZGFlbW9uIC1vIC0tc3RhcnQgLS1xdWlldCAtLW5hbWUgc25tcGQgLS1waWRmaWxlICIkUElERklMRSIgXAorCQktLWV4ZWMgL3Vzci9zYmluL3NubXBkIC0tICRTTk1QRE9QVFMKKwllY2hvIC1uICIgc25tcGQiCisgICAgZmkKKyAgICBpZiBbICIkVFJBUERSVU4iID0gInllcyIgLWEgLWYgL2V0Yy9zbm1wL3NubXB0cmFwZC5jb25mIC1hICEgLWYgIiRTUElERklMRSIgXTsgdGhlbgorCXN0YXJ0LXN0b3AtZGFlbW9uIC1vIC0tc3RhcnQgLS1xdWlldCAtLW5hbWUgc25tcHRyYXBkICAtLXBpZGZpbGUgIiRTUElERklMRSIgXAorCQkgLS1leGVjIC91c3Ivc2Jpbi9zbm1wdHJhcGQgLS0gJFRSQVBET1BUUworCWVjaG8gLW4gIiBzbm1wdHJhcGQiCisgICAgZmkKKyAgICBlY2hvICIuIgorCisgICAgdGVzdCAhIC14IC9zYmluL3Jlc3RvcmVjb24gfHwgL3NiaW4vcmVzdG9yZWNvbiAtRlIgL3Zhci9saWIvbmV0LXNubXAKKyAgICA7OworICBzdG9wKQorICAgIGVjaG8gLW4gIlN0b3BwaW5nIG5ldHdvcmsgbWFuYWdlbWVudCBzZXJ2aWNlczoiCisgICAgaWYgWyAtZiAgIiRQSURGSUxFIiBdIDsgdGhlbgorCXN0YXJ0LXN0b3AtZGFlbW9uIC1vIC0tc3RvcCAgLS1xdWlldCAtLXBpZGZpbGUgJFBJREZJTEUgLS1uYW1lIHNubXBkCisgICAgZmkKKyAgICBlY2hvIC1uICIgc25tcGQiCisgICAgaWYgWyAtZiAiJFNQSURGSUxFIiBdIDsgdGhlbgorCXN0YXJ0LXN0b3AtZGFlbW9uIC1vIC0tc3RvcCAgLS1xdWlldCAtLXBpZGZpbGUgJFNQSURGSUxFIC0tbmFtZSBzbm1wdHJhcGQKKwlybSAtcmYgJFNQSURGSUxFCisgICAgZmkKKyAgICBlY2hvIC1uICIgc25tcHRyYXBkIgorICAgIGVjaG8gIi4iCisgICAgOzsKKyAgc3RhdHVzKQorICAgIHN0YXR1cyAvdXNyL3NiaW4vc25tcGQ7CisgICAgZXhpdCAkPworICAgIDs7CisgIHJlc3RhcnR8cmVsb2FkfGZvcmNlLXJlbG9hZCkKKyAgICAkMCBzdG9wCisgICAgIyBBbGxvdyB0aGUgZGFlbW9ucyB0aW1lIHRvIGV4aXQgY29tcGxldGVseS4KKyAgICBzbGVlcCAyCisgICAgJDAgc3RhcnQKKyAgICA7OworICAqKQorICAgIGVjaG8gIlVzYWdlOiAvZXRjL2luaXQuZC9zbm1wZCB7c3RhcnR8c3RvcHxzdGF0dXN8cmVzdGFydHxyZWxvYWR8Zm9yY2UtcmVsb2FkfSIKKyAgICBleGl0IDEKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9maWxlcy9zbm1wZC5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvZmlsZXMvc25tcGQuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MjgxNzFjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvZmlsZXMvc25tcGQuY29uZgpAQCAtMCwwICsxLDQyMiBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBFWEFNUExFLmNvbmY6CisjICAgQW4gZXhhbXBsZSBjb25maWd1cmF0aW9uIGZpbGUgZm9yIGNvbmZpZ3VyaW5nIHRoZSB1Y2Qtc25tcCBzbm1wZCBhZ2VudC4KKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgVGhpcyBmaWxlIGlzIGludGVuZGVkIHRvIG9ubHkgYmUgYW4gZXhhbXBsZS4gIElmLCBob3dldmVyLCB5b3Ugd2FudAorIyB0byB1c2UgaXQsIGl0IHNob3VsZCBiZSBwbGFjZWQgaW4gL2V0Yy9zbm1wL3NubXBkLmNvbmYuCisjIFdoZW4gdGhlIHNubXBkIGFnZW50IHN0YXJ0cyB1cCwgdGhpcyBpcyB3aGVyZSBpdCB3aWxsIGxvb2sgZm9yIGl0LgorIworIyBZb3UgbWlnaHQgYmUgaW50ZXJlc3RlZCBpbiBnZW5lcmF0aW5nIHlvdXIgb3duIHNubXBkLmNvbmYgZmlsZSB1c2luZworIyB0aGUgInNubXBjb25mIiBwcm9ncmFtIChwZXJsIHNjcmlwdCkgaW5zdGVhZC4gIEl0J3MgYSBuaWNlIG1lbnUKKyMgYmFzZWQgaW50ZXJmYWNlIHRvIHdyaXRpbmcgd2VsbCBjb21tZW50ZWQgY29uZmlndXJhdGlvbiBmaWxlcy4gIFRyeSBpdCEKKyMKKyMgTm90ZTogVGhpcyBmaWxlIGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gRVhBTVBMRS5jb25mLmRlZi4KKyMgRG8gTk9UIHJlYWQgdGhlIEVYQU1QTEUuY29uZi5kZWYgZmlsZSEgSW5zdGVhZCwgYWZ0ZXIgeW91IGhhdmUgcnVuCisjIGNvbmZpZ3VyZSAmIG1ha2UsIGFuZCB0aGVuIG1ha2Ugc3VyZSB5b3UgcmVhZCB0aGUgRVhBTVBMRS5jb25mIGZpbGUKKyMgaW5zdGVhZCwgYXMgaXQgd2lsbCB0YWlsb3IgaXRzZWxmIHRvIHlvdXIgY29uZmlndXJhdGlvbi4KKworIyBBbGwgbGluZXMgYmVnaW5uaW5nIHdpdGggYSAnIycgYXJlIGNvbW1lbnRzIGFuZCBhcmUgaW50ZW5kZWQgZm9yIHlvdQorIyB0byByZWFkLiAgQWxsIG90aGVyIGxpbmVzIGFyZSBjb25maWd1cmF0aW9uIGNvbW1hbmRzIGZvciB0aGUgYWdlbnQuCisKKyMKKyMgUExFQVNFOiByZWFkIHRoZSBzbm1wZC5jb25mKDUpIG1hbnVhbCBwYWdlIGFzIHdlbGwhCisjCisKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBBY2Nlc3MgQ29udHJvbAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjIFlPVSBTSE9VTEQgQ0hBTkdFIFRIRSAiQ09NTVVOSVRZIiBUT0tFTiBCRUxPVyBUTyBBIE5FVyBLRVlXT1JEIE9OTFkKKyMgS05PV04gQVQgWU9VUiBTSVRFLiAgWU9VICpNVVNUKiBDSEFOR0UgVEhFIE5FVFdPUksgVE9LRU4gQkVMT1cgVE8KKyMgU09NRVRISU5HIFJFRkxFQ1RJTkcgWU9VUiBMT0NBTCBORVRXT1JLIEFERFJFU1MgU1BBQ0UuCisKKyMgQnkgZmFyLCB0aGUgbW9zdCBjb21tb24gcXVlc3Rpb24gSSBnZXQgYWJvdXQgdGhlIGFnZW50IGlzICJ3aHkgd29uJ3QKKyMgaXQgd29yaz8iLCB3aGVuIHJlYWxseSBpdCBzaG91bGQgYmUgImhvdyBkbyBJIGNvbmZpZ3VyZSB0aGUgYWdlbnQgdG8KKyMgYWxsb3cgbWUgdG8gYWNjZXNzIGl0PyIKKyMKKyMgQnkgZGVmYXVsdCwgdGhlIGFnZW50IHJlc3BvbmRzIHRvIHRoZSAicHVibGljIiBjb21tdW5pdHkgZm9yIHJlYWQKKyMgb25seSBhY2Nlc3MsIGlmIHJ1biBvdXQgb2YgdGhlIGJveCB3aXRob3V0IGFueSBjb25maWd1cmF0aW9uIGZpbGUgaW4gCisjIHBsYWNlLiAgVGhlIGZvbGxvd2luZyBleGFtcGxlcyBzaG93IHlvdSBvdGhlciB3YXlzIG9mIGNvbmZpZ3VyaW5nCisjIHRoZSBhZ2VudCBzbyB0aGF0IHlvdSBjYW4gY2hhbmdlIHRoZSBjb21tdW5pdHkgbmFtZXMsIGFuZCBnaXZlCisjIHlvdXJzZWxmIHdyaXRlIGFjY2VzcyBhcyB3ZWxsLgorIworIyBUaGUgZm9sbG93aW5nIGxpbmVzIGNoYW5nZSB0aGUgYWNjZXNzIHBlcm1pc3Npb25zIG9mIHRoZSBhZ2VudCBzbworIyB0aGF0IHRoZSBDT01NVU5JVFkgc3RyaW5nIHByb3ZpZGVzIHJlYWQtb25seSBhY2Nlc3MgdG8geW91ciBlbnRpcmUKKyMgTkVUV09SSyAoRUc6IDEwLjEwLjEwLjAvMjQpLCBhbmQgcmVhZC93cml0ZSBhY2Nlc3MgdG8gb25seSB0aGUKKyMgbG9jYWxob3N0ICgxMjcuMC4wLjEsIG5vdCBpdHMgcmVhbCBpcGFkZHJlc3MpLgorIworIyBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVhZCB0aGUgRkFRIGFzIHdlbGwgYXMgdGhlIHNubXBkLmNvbmYoNSkKKyMgbWFudWFsIHBhZ2UuCisKKyMjIyMKKyMgRmlyc3QsIG1hcCB0aGUgY29tbXVuaXR5IG5hbWUgKENPTU1VTklUWSkgaW50byBhIHNlY3VyaXR5IG5hbWUKKyMgKGxvY2FsIGFuZCBteW5ldHdvcmssIGRlcGVuZGluZyBvbiB3aGVyZSB0aGUgcmVxdWVzdCBpcyBjb21pbmcKKyMgZnJvbSk6CisKKyMgICAgICAgc2VjLm5hbWUgIHNvdXJjZSAgICAgICAgICBjb21tdW5pdHkKK2NvbTJzZWMgcGFyYW5vaWQgIGRlZmF1bHQgICAgICAgICBwdWJsaWMKKyNjb20yc2VjIHJlYWRvbmx5ICBkZWZhdWx0ICAgICAgICAgcHVibGljCisjY29tMnNlYyByZWFkd3JpdGUgZGVmYXVsdCAgICAgICAgIHByaXZhdGUKKworIyMjIworIyBTZWNvbmQsIG1hcCB0aGUgc2VjdXJpdHkgbmFtZXMgaW50byBncm91cCBuYW1lczoKKworIyAgICAgICAgICAgICAJc2VjLm1vZGVsICBzZWMubmFtZQorZ3JvdXAgTXlST1N5c3RlbSB2MSAgICAgICAgcGFyYW5vaWQKK2dyb3VwIE15Uk9TeXN0ZW0gdjJjICAgICAgIHBhcmFub2lkCitncm91cCBNeVJPU3lzdGVtIHVzbSAgICAgICBwYXJhbm9pZAorZ3JvdXAgTXlST0dyb3VwIHYxICAgICAgICAgcmVhZG9ubHkKK2dyb3VwIE15Uk9Hcm91cCB2MmMgICAgICAgIHJlYWRvbmx5Citncm91cCBNeVJPR3JvdXAgdXNtICAgICAgICByZWFkb25seQorZ3JvdXAgTXlSV0dyb3VwIHYxICAgICAgICAgcmVhZHdyaXRlCitncm91cCBNeVJXR3JvdXAgdjJjICAgICAgICByZWFkd3JpdGUKK2dyb3VwIE15UldHcm91cCB1c20gICAgICAgIHJlYWR3cml0ZQorCisjIyMjCisjIFRoaXJkLCBjcmVhdGUgYSB2aWV3IGZvciB1cyB0byBsZXQgdGhlIGdyb3VwcyBoYXZlIHJpZ2h0cyB0bzoKKworIyAgICAgICAgICAgaW5jbC9leGNsIHN1YnRyZWUgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2sKK3ZpZXcgYWxsICAgIGluY2x1ZGVkICAuMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4MAordmlldyBzeXN0ZW0gaW5jbHVkZWQgIC5pc28ub3JnLmRvZC5pbnRlcm5ldC5tZ210Lm1pYi0yLnN5c3RlbQorCisjIyMjCisjIEZpbmFsbHksIGdyYW50IHRoZSAyIGdyb3VwcyBhY2Nlc3MgdG8gdGhlIDEgdmlldyB3aXRoIGRpZmZlcmVudAorIyB3cml0ZSBwZXJtaXNzaW9uczoKKworIyAgICAgICAgICAgICAgICBjb250ZXh0IHNlYy5tb2RlbCBzZWMubGV2ZWwgbWF0Y2ggIHJlYWQgICB3cml0ZSAgbm90aWYKK2FjY2VzcyBNeVJPU3lzdGVtICIiICAgICBhbnkgICAgICAgbm9hdXRoICAgIGV4YWN0ICBzeXN0ZW0gbm9uZSAgIG5vbmUKK2FjY2VzcyBNeVJPR3JvdXAgIiIgICAgICBhbnkgICAgICAgbm9hdXRoICAgIGV4YWN0ICBhbGwgICAgbm9uZSAgIG5vbmUKK2FjY2VzcyBNeVJXR3JvdXAgIiIgICAgICBhbnkgICAgICAgbm9hdXRoICAgIGV4YWN0ICBhbGwgICAgYWxsICAgIG5vbmUKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgU3lzdGVtIGNvbnRhY3QgaW5mb3JtYXRpb24KKyMKKworIyBJdCBpcyBhbHNvIHBvc3NpYmxlIHRvIHNldCB0aGUgc3lzQ29udGFjdCBhbmQgc3lzTG9jYXRpb24gc3lzdGVtCisjIHZhcmlhYmxlcyB0aHJvdWdoIHRoZSBzbm1wZC5jb25mIGZpbGUuICAqKlBMRUFTRSBOT1RFKiogdGhhdCBzZXR0aW5nCisjIHRoZSB2YWx1ZSBvZiB0aGVzZSBvYmplY3RzIGhlcmUgbWFrZXMgdGhlc2Ugb2JqZWN0cyBSRUFELU9OTFkKKyMgKHJlZ2FyZGxlc3Mgb2YgYW55IGFjY2VzcyBjb250cm9sIHNldHRpbmdzKS4gIEFueSBhdHRlbXB0IHRvIHNldCB0aGUKKyMgdmFsdWUgb2YgYW4gb2JqZWN0IHdob3NlIHZhbHVlIGlzIGdpdmVuIGhlcmUgd2lsbCBmYWlsIHdpdGggYW4gZXJyb3IKKyMgc3RhdHVzIG9mIG5vdFdyaXRhYmxlLgorCitzeXNsb2NhdGlvbiBVbmtub3duIChjb25maWd1cmUgL2V0Yy9zbm1wL3NubXBkLmxvY2FsLmNvbmYpCitzeXNjb250YWN0IFJvb3QgPHJvb3RAbG9jYWxob3N0PiAoY29uZmlndXJlIC9ldGMvc25tcC9zbm1wZC5sb2NhbC5jb25mKQorCisjIEV4YW1wbGUgb3V0cHV0IG9mIHNubXB3YWxrOgorIyAgICUgc25tcHdhbGsgLXYgMSAtYyBwdWJsaWMgbG9jYWxob3N0IHN5c3RlbQorIyAgIHN5c3RlbS5zeXNEZXNjci4wID0gIlN1bk9TIG5hbWUgc3VuNGMiCisjICAgc3lzdGVtLnN5c09iamVjdElELjAgPSBPSUQ6IGVudGVycHJpc2VzLnVjZGF2aXMudWNkU25tcEFnZW50LnN1bm9zNAorIyAgIHN5c3RlbS5zeXNVcFRpbWUuMCA9IFRpbWV0aWNrczogKDU5NTYzNzU0OCkgNjggZGF5cywgMjI6MzI6NTUKKyMgICBzeXN0ZW0uc3lzQ29udGFjdC4wID0gIk1lIDxtZUBzb21ld2hlcmUub3JnPiIKKyMgICBzeXN0ZW0uc3lzTmFtZS4wID0gIm5hbWUiCisjICAgc3lzdGVtLnN5c0xvY2F0aW9uLjAgPSAiUmlnaHQgaGVyZSwgcmlnaHQgbm93LiIKKyMgICBzeXN0ZW0uc3lzU2VydmljZXMuMCA9IDcyCisKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgUHJvY2VzcyBjaGVja3MuCisjCisjICBUaGUgZm9sbG93aW5nIGFyZSBleGFtcGxlcyBvZiBob3cgdG8gdXNlIHRoZSBhZ2VudCB0byBjaGVjayBmb3IKKyMgIHByb2Nlc3NlcyBydW5uaW5nIG9uIHRoZSBob3N0LiAgVGhlIHN5bnRheCBsb29rcyBzb21ldGhpbmcgbGlrZToKKyMKKyMgIHByb2MgTkFNRSBbTUFYPTBdIFtNSU49MF0KKyMKKyMgIE5BTUU6ICB0aGUgbmFtZSBvZiB0aGUgcHJvY2VzcyB0byBjaGVjayBmb3IuICBJdCBtdXN0IG1hdGNoCisjICAgICAgICAgZXhhY3RseSAoaWUsIGh0dHAgd2lsbCBub3QgZmluZCBodHRwZCBwcm9jZXNzZXMpLgorIyAgTUFYOiAgIHRoZSBtYXhpbXVtIG51bWJlciBhbGxvd2VkIHRvIGJlIHJ1bm5pbmcuICBEZWZhdWx0cyB0byAwLgorIyAgTUlOOiAgIHRoZSBtaW5pbXVtIG51bWJlciB0byBiZSBydW5uaW5nLiAgRGVmYXVsdHMgdG8gMC4KKworIworIyAgRXhhbXBsZXM6CisjCisKKyMgIE1ha2Ugc3VyZSBtb3VudGQgaXMgcnVubmluZworI3Byb2MgbW91bnRkCisKKyMgIE1ha2Ugc3VyZSB0aGVyZSBhcmUgbm8gbW9yZSB0aGFuIDQgbnRhbGtkcyBydW5uaW5nLCBidXQgMCBpcyBvayB0b28uCisjcHJvYyBudGFsa2QgNAorCisjICBNYWtlIHN1cmUgYXQgbGVhc3Qgb25lIHNlbmRtYWlsLCBidXQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDEwIGFyZSBydW5uaW5nLgorI3Byb2Mgc2VuZG1haWwgMTAgMQorCisjICBBIHNubXB3YWxrIG9mIHRoZSBwclRhYmxlIHdvdWxkIGxvb2sgc29tZXRoaW5nIGxpa2UgdGhpczoKKyMgCisjICUgc25tcHdhbGsgLXYgMSAtYyBwdWJsaWMgbG9jYWxob3N0IC4xLjMuNi4xLjQuMS4yMDIxLjIKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5wcm9jVGFibGUucHJFbnRyeS5wckluZGV4LjEgPSAxCisjIGVudGVycHJpc2VzLnVjZGF2aXMucHJvY1RhYmxlLnByRW50cnkucHJJbmRleC4yID0gMgorIyBlbnRlcnByaXNlcy51Y2RhdmlzLnByb2NUYWJsZS5wckVudHJ5LnBySW5kZXguMyA9IDMKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5wcm9jVGFibGUucHJFbnRyeS5wck5hbWVzLjEgPSAibW91bnRkIgorIyBlbnRlcnByaXNlcy51Y2RhdmlzLnByb2NUYWJsZS5wckVudHJ5LnByTmFtZXMuMiA9ICJudGFsa2QiCisjIGVudGVycHJpc2VzLnVjZGF2aXMucHJvY1RhYmxlLnByRW50cnkucHJOYW1lcy4zID0gInNlbmRtYWlsIgorIyBlbnRlcnByaXNlcy51Y2RhdmlzLnByb2NUYWJsZS5wckVudHJ5LnByTWluLjEgPSAwCisjIGVudGVycHJpc2VzLnVjZGF2aXMucHJvY1RhYmxlLnByRW50cnkucHJNaW4uMiA9IDAKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5wcm9jVGFibGUucHJFbnRyeS5wck1pbi4zID0gMQorIyBlbnRlcnByaXNlcy51Y2RhdmlzLnByb2NUYWJsZS5wckVudHJ5LnByTWF4LjEgPSAwCisjIGVudGVycHJpc2VzLnVjZGF2aXMucHJvY1RhYmxlLnByRW50cnkucHJNYXguMiA9IDQKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5wcm9jVGFibGUucHJFbnRyeS5wck1heC4zID0gMTAKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5wcm9jVGFibGUucHJFbnRyeS5wckNvdW50LjEgPSAwCisjIGVudGVycHJpc2VzLnVjZGF2aXMucHJvY1RhYmxlLnByRW50cnkucHJDb3VudC4yID0gMAorIyBlbnRlcnByaXNlcy51Y2RhdmlzLnByb2NUYWJsZS5wckVudHJ5LnByQ291bnQuMyA9IDEKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5wcm9jVGFibGUucHJFbnRyeS5wckVycm9yRmxhZy4xID0gMQorIyBlbnRlcnByaXNlcy51Y2RhdmlzLnByb2NUYWJsZS5wckVudHJ5LnByRXJyb3JGbGFnLjIgPSAwCisjIGVudGVycHJpc2VzLnVjZGF2aXMucHJvY1RhYmxlLnByRW50cnkucHJFcnJvckZsYWcuMyA9IDAKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5wcm9jVGFibGUucHJFbnRyeS5wckVyck1lc3NhZ2UuMSA9ICJObyBtb3VudGQgcHJvY2VzcyBydW5uaW5nLiIKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5wcm9jVGFibGUucHJFbnRyeS5wckVyck1lc3NhZ2UuMiA9ICIiCisjIGVudGVycHJpc2VzLnVjZGF2aXMucHJvY1RhYmxlLnByRW50cnkucHJFcnJNZXNzYWdlLjMgPSAiIgorIyBlbnRlcnByaXNlcy51Y2RhdmlzLnByb2NUYWJsZS5wckVudHJ5LnByRXJyRml4LjEgPSAwCisjIGVudGVycHJpc2VzLnVjZGF2aXMucHJvY1RhYmxlLnByRW50cnkucHJFcnJGaXguMiA9IDAKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5wcm9jVGFibGUucHJFbnRyeS5wckVyckZpeC4zID0gMAorIworIyAgTm90ZSB0aGF0IHRoZSBlcnJvckZsYWcgZm9yIG1vdW50ZCBpcyBzZXQgdG8gMSBiZWNhdXNlIG9uZSBpcyBub3QKKyMgIHJ1bm5pbmcgKGluIHRoaXMgY2FzZSBhbiBycGMubW91bnRkIGlzLCBidXQgdGhhdHMgbm90IGdvb2QgZW5vdWdoKSwKKyMgIGFuZCB0aGUgRXJyTWVzc2FnZSB0ZWxscyB5b3Ugd2hhdCdzIHdyb25nLiAgVGhlIGNvbmZpZ3VyYXRpb24KKyMgIGltcG9zZWQgaW4gdGhlIHNubXBkLmNvbmYgZmlsZSBpcyBhbHNvIHNob3duLiAgCisjIAorIyAgU3BlY2lhbCBDYXNlOiAgV2hlbiB0aGUgbWluIGFuZCBtYXggbnVtYmVycyBhcmUgYm90aCAwLCBpdCBhc3N1bWVzCisjICB5b3Ugd2FudCBhIG1heCBvZiBpbmZpbml0eSBhbmQgYSBtaW4gb2YgMS4KKyMKKworCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBFeGVjdXRhYmxlcy9zY3JpcHRzCisjCisKKyMKKyMgIFlvdSBjYW4gYWxzbyBoYXZlIHByb2dyYW1zIHJ1biBieSB0aGUgYWdlbnQgdGhhdCByZXR1cm4gYSBzaW5nbGUKKyMgIGxpbmUgb2Ygb3V0cHV0IGFuZCBhbiBleGl0IGNvZGUuICBIZXJlIGFyZSB0d28gZXhhbXBsZXMuCisjCisjICBleGVjIE5BTUUgUFJPR1JBTSBbQVJHUyAuLi5dCisjCisjICBOQU1FOiAgICAgQSBnZW5lcmljIG5hbWUuCisjICBQUk9HUkFNOiAgVGhlIHByb2dyYW0gdG8gcnVuLiAgSW5jbHVkZSB0aGUgcGF0aCEKKyMgIEFSR1M6ICAgICBvcHRpb25hbCBhcmd1bWVudHMgdG8gYmUgcGFzc2VkIHRvIHRoZSBwcm9ncmFtCisKKyMgYSBzaW1wbGUgaGVsbG8gd29ybGQKKyNleGVjIGVjaG90ZXN0IC9iaW4vZWNobyBoZWxsbyB3b3JsZAorCisjIFJ1biBhIHNoZWxsIHNjcmlwdCBjb250YWluaW5nOgorIworIyAjIS9iaW4vc2gKKyMgZWNobyBoZWxsbyB3b3JsZAorIyBlY2hvIGhpIHRoZXJlCisjIGV4aXQgMzUKKyMKKyMgTm90ZTogIHRoaXMgaGFzIGJlZW4gc3BlY2lmaWNhbGx5IGNvbW1lbnRlZCBvdXQgdG8gcHJldmVudAorIyBhY2NpZGVudGFsIHNlY3VyaXR5IGhvbGVzIGR1ZSB0byBzb21lb25lIGVsc2Ugb24geW91ciBzeXN0ZW0gd3JpdGluZworIyBhIC90bXAvc2h0ZXN0IGJlZm9yZSB5b3UgZG8uICBVbmNvbW1lbnQgdG8gdXNlIGl0LgorIworI2V4ZWMgc2hlbGx0ZXN0IC9iaW4vc2ggL3RtcC9zaHRlc3QKKworIyBUaGVuLCAKKyMgJSBzbm1wd2FsayAtdiAxIC1jIHB1YmxpYyBsb2NhbGhvc3QgLjEuMy42LjEuNC4xLjIwMjEuOAorIyBlbnRlcnByaXNlcy51Y2RhdmlzLmV4dFRhYmxlLmV4dEVudHJ5LmV4dEluZGV4LjEgPSAxCisjIGVudGVycHJpc2VzLnVjZGF2aXMuZXh0VGFibGUuZXh0RW50cnkuZXh0SW5kZXguMiA9IDIKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5leHRUYWJsZS5leHRFbnRyeS5leHROYW1lcy4xID0gImVjaG90ZXN0IgorIyBlbnRlcnByaXNlcy51Y2RhdmlzLmV4dFRhYmxlLmV4dEVudHJ5LmV4dE5hbWVzLjIgPSAic2hlbGx0ZXN0IgorIyBlbnRlcnByaXNlcy51Y2RhdmlzLmV4dFRhYmxlLmV4dEVudHJ5LmV4dENvbW1hbmQuMSA9ICIvYmluL2VjaG8gaGVsbG8gd29ybGQiCisjIGVudGVycHJpc2VzLnVjZGF2aXMuZXh0VGFibGUuZXh0RW50cnkuZXh0Q29tbWFuZC4yID0gIi9iaW4vc2ggL3RtcC9zaHRlc3QiCisjIGVudGVycHJpc2VzLnVjZGF2aXMuZXh0VGFibGUuZXh0RW50cnkuZXh0UmVzdWx0LjEgPSAwCisjIGVudGVycHJpc2VzLnVjZGF2aXMuZXh0VGFibGUuZXh0RW50cnkuZXh0UmVzdWx0LjIgPSAzNQorIyBlbnRlcnByaXNlcy51Y2RhdmlzLmV4dFRhYmxlLmV4dEVudHJ5LmV4dE91dHB1dC4xID0gImhlbGxvIHdvcmxkLiIKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5leHRUYWJsZS5leHRFbnRyeS5leHRPdXRwdXQuMiA9ICJoZWxsbyB3b3JsZC4iCisjIGVudGVycHJpc2VzLnVjZGF2aXMuZXh0VGFibGUuZXh0RW50cnkuZXh0RXJyRml4LjEgPSAwCisjIGVudGVycHJpc2VzLnVjZGF2aXMuZXh0VGFibGUuZXh0RW50cnkuZXh0RXJyRml4LjIgPSAwCisKKyMgTm90ZSB0aGF0IHRoZSBzZWNvbmQgbGluZSBvZiB0aGUgL3RtcC9zaHRlc3Qgc2hlbGwgc2NyaXB0IGlzIGN1dAorIyBvZmYuICBBbHNvIG5vdGUgdGhhdCB0aGUgZXhpdCBzdGF0dXMgb2YgMzUgd2FzIHJldHVybmVkLgorCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBkaXNrIGNoZWNrcworIworCisjIFRoZSBhZ2VudCBjYW4gY2hlY2sgdGhlIGFtb3VudCBvZiBhdmFpbGFibGUgZGlzayBzcGFjZSwgYW5kIG1ha2UKKyMgc3VyZSBpdCBpcyBhYm92ZSBhIHNldCBsaW1pdC4gIAorCisjIGRpc2sgUEFUSCBbTUlOPURFRkRJU0tNSU5JTVVNU1BBQ0VdCisjCisjIFBBVEg6ICBtb3VudCBwYXRoIHRvIHRoZSBkaXNrIGluIHF1ZXN0aW9uLgorIyBNSU46ICAgRGlza3Mgd2l0aCBzcGFjZSBiZWxvdyB0aGlzIHZhbHVlIHdpbGwgaGF2ZSB0aGUgTWliJ3MgZXJyb3JGbGFnIHNldC4KKyMgICAgICAgIERlZmF1bHQgdmFsdWUgPSBERUZESVNLTUlOSU1VTVNQQUNFLgorCisjIENoZWNrIHRoZSAvIHBhcnRpdGlvbiBhbmQgbWFrZSBzdXJlIGl0IGNvbnRhaW5zIGF0IGxlYXN0IDEwIG1lZ3MuCisKKyNkaXNrIC8gMTAwMDAKKworIyAlIHNubXB3YWxrIC12IDEgLWMgcHVibGljIGxvY2FsaG9zdCAuMS4zLjYuMS40LjEuMjAyMS45CisjIGVudGVycHJpc2VzLnVjZGF2aXMuZGlza1RhYmxlLmRza0VudHJ5LmRpc2tJbmRleC4xID0gMAorIyBlbnRlcnByaXNlcy51Y2RhdmlzLmRpc2tUYWJsZS5kc2tFbnRyeS5kaXNrUGF0aC4xID0gIi8iIEhleDogMkYgCisjIGVudGVycHJpc2VzLnVjZGF2aXMuZGlza1RhYmxlLmRza0VudHJ5LmRpc2tEZXZpY2UuMSA9ICIvZGV2L2Rzay9jMjAxZDZzMCIKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5kaXNrVGFibGUuZHNrRW50cnkuZGlza01pbmltdW0uMSA9IDEwMDAwCisjIGVudGVycHJpc2VzLnVjZGF2aXMuZGlza1RhYmxlLmRza0VudHJ5LmRpc2tUb3RhbC4xID0gODM3MTMwCisjIGVudGVycHJpc2VzLnVjZGF2aXMuZGlza1RhYmxlLmRza0VudHJ5LmRpc2tBdmFpbC4xID0gMzE2MzI1CisjIGVudGVycHJpc2VzLnVjZGF2aXMuZGlza1RhYmxlLmRza0VudHJ5LmRpc2tVc2VkLjEgPSA0MzcwOTIKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5kaXNrVGFibGUuZHNrRW50cnkuZGlza1BlcmNlbnQuMSA9IDU4CisjIGVudGVycHJpc2VzLnVjZGF2aXMuZGlza1RhYmxlLmRza0VudHJ5LmRpc2tFcnJvckZsYWcuMSA9IDAKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5kaXNrVGFibGUuZHNrRW50cnkuZGlza0Vycm9yTXNnLjEgPSAiIgorCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBsb2FkIGF2ZXJhZ2UgY2hlY2tzCisjCisKKyMgbG9hZCBbMU1BWD1ERUZNQVhMT0FEQVZFXSBbNU1BWD1ERUZNQVhMT0FEQVZFXSBbMTVNQVg9REVGTUFYTE9BREFWRV0KKyMKKyMgMU1BWDogICBJZiB0aGUgMSBtaW51dGUgbG9hZCBhdmVyYWdlIGlzIGFib3ZlIHRoaXMgbGltaXQgYXQgcXVlcnkKKyMgICAgICAgICB0aW1lLCB0aGUgZXJyb3JGbGFnIHdpbGwgYmUgc2V0LgorIyA1TUFYOiAgIFNpbWlsYXIsIGJ1dCBmb3IgNSBtaW4gYXZlcmFnZS4KKyMgMTVNQVg6ICBTaW1pbGFyLCBidXQgZm9yIDE1IG1pbiBhdmVyYWdlLgorCisjIENoZWNrIGZvciBsb2FkczoKKyNsb2FkIDEyIDE0IDE0CisKKyMgJSBzbm1wd2FsayAtdiAxIC1jIHB1YmxpYyBsb2NhbGhvc3QgLjEuMy42LjEuNC4xLjIwMjEuMTAKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5sb2FkVGFibGUubGFFbnRyeS5sb2FkYXZlSW5kZXguMSA9IDEKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5sb2FkVGFibGUubGFFbnRyeS5sb2FkYXZlSW5kZXguMiA9IDIKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5sb2FkVGFibGUubGFFbnRyeS5sb2FkYXZlSW5kZXguMyA9IDMKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5sb2FkVGFibGUubGFFbnRyeS5sb2FkYXZlTmFtZXMuMSA9ICJMb2FkLTEiCisjIGVudGVycHJpc2VzLnVjZGF2aXMubG9hZFRhYmxlLmxhRW50cnkubG9hZGF2ZU5hbWVzLjIgPSAiTG9hZC01IgorIyBlbnRlcnByaXNlcy51Y2RhdmlzLmxvYWRUYWJsZS5sYUVudHJ5LmxvYWRhdmVOYW1lcy4zID0gIkxvYWQtMTUiCisjIGVudGVycHJpc2VzLnVjZGF2aXMubG9hZFRhYmxlLmxhRW50cnkubG9hZGF2ZUxvYWQuMSA9ICIwLjQ5IiBIZXg6IDMwIDJFIDM0IDM5IAorIyBlbnRlcnByaXNlcy51Y2RhdmlzLmxvYWRUYWJsZS5sYUVudHJ5LmxvYWRhdmVMb2FkLjIgPSAiMC4zMSIgSGV4OiAzMCAyRSAzMyAzMSAKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5sb2FkVGFibGUubGFFbnRyeS5sb2FkYXZlTG9hZC4zID0gIjAuMjYiIEhleDogMzAgMkUgMzIgMzYgCisjIGVudGVycHJpc2VzLnVjZGF2aXMubG9hZFRhYmxlLmxhRW50cnkubG9hZGF2ZUNvbmZpZy4xID0gIjEyLjAwIgorIyBlbnRlcnByaXNlcy51Y2RhdmlzLmxvYWRUYWJsZS5sYUVudHJ5LmxvYWRhdmVDb25maWcuMiA9ICIxNC4wMCIKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5sb2FkVGFibGUubGFFbnRyeS5sb2FkYXZlQ29uZmlnLjMgPSAiMTQuMDAiCisjIGVudGVycHJpc2VzLnVjZGF2aXMubG9hZFRhYmxlLmxhRW50cnkubG9hZGF2ZUVycm9yRmxhZy4xID0gMAorIyBlbnRlcnByaXNlcy51Y2RhdmlzLmxvYWRUYWJsZS5sYUVudHJ5LmxvYWRhdmVFcnJvckZsYWcuMiA9IDAKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5sb2FkVGFibGUubGFFbnRyeS5sb2FkYXZlRXJyb3JGbGFnLjMgPSAwCisjIGVudGVycHJpc2VzLnVjZGF2aXMubG9hZFRhYmxlLmxhRW50cnkubG9hZGF2ZUVyck1lc3NhZ2UuMSA9ICIiCisjIGVudGVycHJpc2VzLnVjZGF2aXMubG9hZFRhYmxlLmxhRW50cnkubG9hZGF2ZUVyck1lc3NhZ2UuMiA9ICIiCisjIGVudGVycHJpc2VzLnVjZGF2aXMubG9hZFRhYmxlLmxhRW50cnkubG9hZGF2ZUVyck1lc3NhZ2UuMyA9ICIiCisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEV4dGVuc2libGUgc2VjdGlvbnMuCisjIAorCisjIFRoaXMgYWxsZXZpYXRlcyB0aGUgbXVsdGlwbGUgbGluZSBvdXRwdXQgcHJvYmxlbSBmb3VuZCBpbiB0aGUKKyMgcHJldmlvdXMgZXhlY3V0YWJsZSBtaWIgYnkgcGxhY2luZyBlYWNoIG1pYiBpbiBpdHMgb3duIG1pYiB0YWJsZToKKworIyBSdW4gYSBzaGVsbCBzY3JpcHQgY29udGFpbmluZzoKKyMKKyMgIyEvYmluL3NoCisjIGVjaG8gaGVsbG8gd29ybGQKKyMgZWNobyBoaSB0aGVyZQorIyBleGl0IDM1CisjCisjIE5vdGU6ICB0aGlzIGhhcyBiZWVuIHNwZWNpZmljYWxseSBjb21tZW50ZWQgb3V0IHRvIHByZXZlbnQKKyMgYWNjaWRlbnRhbCBzZWN1cml0eSBob2xlcyBkdWUgdG8gc29tZW9uZSBlbHNlIG9uIHlvdXIgc3lzdGVtIHdyaXRpbmcKKyMgYSAvdG1wL3NodGVzdCBiZWZvcmUgeW91IGRvLiAgVW5jb21tZW50IHRvIHVzZSBpdC4KKyMKKyMgZXhlYyAuMS4zLjYuMS40LjEuMjAyMS41MCBzaGVsbHRlc3QgL2Jpbi9zaCAvdG1wL3NodGVzdAorCisjICUgc25tcHdhbGsgLXYgMSAtYyBwdWJsaWMgbG9jYWxob3N0IC4xLjMuNi4xLjQuMS4yMDIxLjUwCisjIGVudGVycHJpc2VzLnVjZGF2aXMuNTAuMS4xID0gMQorIyBlbnRlcnByaXNlcy51Y2RhdmlzLjUwLjIuMSA9ICJzaGVsbHRlc3QiCisjIGVudGVycHJpc2VzLnVjZGF2aXMuNTAuMy4xID0gIi9iaW4vc2ggL3RtcC9zaHRlc3QiCisjIGVudGVycHJpc2VzLnVjZGF2aXMuNTAuMTAwLjEgPSAzNQorIyBlbnRlcnByaXNlcy51Y2RhdmlzLjUwLjEwMS4xID0gImhlbGxvIHdvcmxkLiIKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy41MC4xMDEuMiA9ICJoaSB0aGVyZS4iCisjIGVudGVycHJpc2VzLnVjZGF2aXMuNTAuMTAyLjEgPSAwCisKKyMgTm93IHRoZSBPdXRwdXQgaGFzIGdyb3duIHRvIHR3byBsaW5lcywgYW5kIHdlIGNhbiBzZWUgdGhlICdoaQorIyB0aGVyZS4nIG91dHB1dCBhcyB0aGUgc2Vjb25kIGxpbmUgZnJvbSBvdXIgc2hlbGwgc2NyaXB0LgorIworIyBOb3RlIHRoYXQgeW91IG11c3QgYWx0ZXIgdGhlIG1pYi50eHQgZmlsZSB0byBiZSBjb3JyZWN0IGlmIHlvdSB3YW50CisjIHRoZSAuNTAuKiBvdXRwdXRzIGFib3ZlIHRvIGNoYW5nZSB0byByZWFzb25hYmxlIHRleHQgZGVzY3JpcHRpb25zLgorCisjIE90aGVyIGlkZWFzOgorIyAKKyMgZXhlYyAuMS4zLjYuMS40LjEuMjAyMS41MSBwcyAvYmluL3BzIAorIyBleGVjIC4xLjMuNi4xLjQuMS4yMDIxLjUyIHRvcCAvdXNyL2xvY2FsL2Jpbi90b3AKKyMgZXhlYyAuMS4zLjYuMS40LjEuMjAyMS41MyBtYWlscSAvdXNyL2Jpbi9tYWlscQorCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBQYXNzIHRocm91Z2ggY29udHJvbC4KKyMgCisKKyMgVXNhZ2U6CisjICAgcGFzcyBNSUJPSUQgRVhFQy1DT01NQU5ECisjCisjIFRoaXMgd2lsbCBwYXNzIHRvdGFsIGNvbnRyb2wgb2YgdGhlIG1pYiB1bmRlcm5lYXRoIHRoZSBNSUJPSUQKKyMgcG9ydGlvbiBvZiB0aGUgbWliIHRvIHRoZSBFWEVDLUNPTU1BTkQuICAKKyMKKyMgTm90ZTogIFlvdSdsbCBoYXZlIHRvIGNoYW5nZSB0aGUgcGF0aCBvZiB0aGUgcGFzc3Rlc3Qgc2NyaXB0IHRvIHlvdXIKKyMgc291cmNlIGRpcmVjdG9yeSBvciBpbnN0YWxsIGl0IGluIHRoZSBnaXZlbiBsb2NhdGlvbi4KKyMgCisjIEV4YW1wbGU6ICAoc2VlIHRoZSBzY3JpcHQgZm9yIGRldGFpbHMpCisjICAgICAgICAgICAoY29tbWVudGVkIG91dCBoZXJlIHNpbmNlIGl0IHJlcXVpcmVzIHRoYXQgeW91IHBsYWNlIHRoZQorIyAgICAgICAgICAgc2NyaXB0IGluIHRoZSByaWdodCBsb2NhdGlvbi4gKGl0cyBub3QgaW5zdGFsbGVkIGJ5IGRlZmF1bHQpKQorCisjIHBhc3MgLjEuMy42LjEuNC4xLjIwMjEuMjU1IC9iaW4vc2ggL3Vzci9sb2NhbC9wYXNzdGVzdAorCisjICUgc25tcHdhbGsgLXYgMSAtYyBwdWJsaWMgbG9jYWxob3N0IC4xLjMuNi4xLjQuMS4yMDIxLjI1NQorIyBlbnRlcnByaXNlcy51Y2RhdmlzLjI1NS4xID0gImxpZmUgdGhlIHVuaXZlcnNlIGFuZCBldmVyeXRoaW5nIgorIyBlbnRlcnByaXNlcy51Y2RhdmlzLjI1NS4yLjEgPSA0MgorIyBlbnRlcnByaXNlcy51Y2RhdmlzLjI1NS4yLjIgPSBPSUQ6IDQyLjQyLjQyCisjIGVudGVycHJpc2VzLnVjZGF2aXMuMjU1LjMgPSBUaW1ldGlja3M6ICgzNjMxMzYyMDApIDQyIGRheXMsIDA6NDI6NDIKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy4yNTUuNCA9IElwQWRkcmVzczogMTI3LjAuMC4xCisjIGVudGVycHJpc2VzLnVjZGF2aXMuMjU1LjUgPSA0MgorIyBlbnRlcnByaXNlcy51Y2RhdmlzLjI1NS42ID0gR2F1Z2U6IDQyCisjCisjICUgc25tcGdldCAtdiAxIC1jIHB1YmxpYyBsb2NhbGhvc3QgLjEuMy42LjEuNC4xLjIwMjEuMjU1LjUKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy4yNTUuNSA9IDQyCisjCisjICUgc25tcHNldCAtdiAxIC1jIHB1YmxpYyBsb2NhbGhvc3QgLjEuMy42LjEuNC4xLjIwMjEuMjU1LjEgcyAiTmV3IHN0cmluZyIKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy4yNTUuMSA9ICJOZXcgc3RyaW5nIgorIworCisjIEZvciBzcGVjaWZpYyB1c2FnZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSBtYW4vc25tcGQuY29uZi41IG1hbnVhbCBwYWdlCisjIGFzIHdlbGwgYXMgdGhlIGxvY2FsL3Bhc3N0ZXN0IHNjcmlwdCB1c2VkIGluIHRoZSBhYm92ZSBleGFtcGxlLgorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFN1YmFnZW50IGNvbnRyb2wKKyMKKworIyBUaGUgYWdlbnQgY2FuIHN1cHBvcnQgc3ViYWdlbnRzIHVzaW5nIGEgbnVtYmVyIG9mIGV4dGVuc2lvbiBtZWNoYW5pc21zLgorIyBGcm9tIHRoZSA0LjIuMSByZWxlYXNlLCBBZ2VudFggc3VwcG9ydCBpcyBiZWluZyBjb21waWxlZCBpbiBieSBkZWZhdWx0LgorIyBIb3dldmVyLCB0aGlzIGlzIHN0aWxsIGV4cGVyaW1lbnRhbCBjb2RlLCBzbyBzaG91bGQgbm90IGJlIHVzZWQgb24KKyMgY3JpdGljYWwgcHJvZHVjdGlvbiBzeXN0ZW1zLgorIyAgIFBsZWFzZSBzZWUgdGhlIGZpbGUgUkVBRE1FLmFnZW50eCBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBJZiBoYXZpbmcgcmVhZCwgbWFya2VkLCBsZWFybnQgYW5kIGlud2FyZGx5IGRpZ2VzdGVkIHRoaXMgaW5mb3JtYXRpb24sCisjIHlvdSBkZWNpZGUgdGhhdCB5b3UgZG8gd2lzaCB0byBtYWtlIHVzZSBvZiB0aGlzIG1lY2hhbmlzbSwgc2ltcGx5CisjIHVuY29tbWVudCB0aGUgZm9sbG93aW5nIGRpcmVjdGl2ZS4KKyMKKyMgIG1hc3RlciAgYWdlbnR4CisjCisjIEkgcmVwZWF0IC0gdGhpcyBpcyAqTk9UKiByZWdhcmRlZCBhcyBzdWl0YWJsZSBmb3IgZnJvbnQtbGluZSBwcm9kdWN0aW9uCisjIHN5c3RlbXMsIHRob3VnaCBpdCBpcyBwcm9iYWJseSBzdGFibGUgZW5vdWdoIGZvciBkYXktdG8tZGF5IHVzZS4KKyMgUHJvYmFibHkuCisjCisjIE5vIHJlZnVuZHMgd2lsbCBiZSBnaXZlbi4KKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBGdXJ0aGVyIEluZm9ybWF0aW9uCisjCisjICBTZWUgdGhlIHNubXBkLmNvbmYgbWFudWFsIHBhZ2UsIGFuZCB0aGUgb3V0cHV0IG9mICJzbm1wZCAtSCIuCisjICBNVUNIIG1vcmUgY2FuIGJlIGRvbmUgd2l0aCB0aGUgc25tcGQuY29uZiB0aGFuIGlzIHNob3duIGFzIGFuCisjICBleGFtcGxlIGhlcmUuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9maWxlcy9zbm1wdHJhcGQuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL2ZpbGVzL3NubXB0cmFwZC5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkMmU0MzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9maWxlcy9zbm1wdHJhcGQuY29uZgpAQCAtMCwwICsxLDE4IEBACisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIEVYQU1QTEUuY29uZjoKKyMgICBBbiBleGFtcGxlIGNvbmZpZ3VyYXRpb24gZmlsZSBmb3IgY29uZmlndXJpbmcgdGhlIHVjZC1zbm1wIHNubXB0cmFwZCBhZ2VudC4KKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgVGhpcyBmaWxlIGlzIGludGVuZGVkIHRvIG9ubHkgYmUgYW4gZXhhbXBsZS4gIElmLCBob3dldmVyLCB5b3Ugd2FudAorIyB0byB1c2UgaXQsIGl0IHNob3VsZCBiZSBwbGFjZWQgaW4gL2V0Yy9zbm1wL3NubXB0cmFwZC5jb25mLgorIyBXaGVuIHRoZSBzbm1wdHJhcGQgYWdlbnQgc3RhcnRzIHVwLCB0aGlzIGlzIHdoZXJlIGl0IHdpbGwgbG9vayBmb3IgaXQuCisjCisjIEFsbCBsaW5lcyBiZWdpbm5pbmcgd2l0aCBhICcjJyBhcmUgY29tbWVudHMgYW5kIGFyZSBpbnRlbmRlZCBmb3IgeW91CisjIHRvIHJlYWQuICBBbGwgb3RoZXIgbGluZXMgYXJlIGNvbmZpZ3VyYXRpb24gY29tbWFuZHMgZm9yIHRoZSBhZ2VudC4KKworIworIyBQTEVBU0U6IHJlYWQgdGhlIHNubXB0cmFwZC5jb25mKDUpIG1hbnVhbCBwYWdlIGFzIHdlbGwhCisjCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wLzAwMDEtY29uZmlnX29zX2hlYWRlcnMtRXJyb3ItRml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvMDAwMS1jb25maWdfb3NfaGVhZGVycy1FcnJvci1GaXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzY0MDFmZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wLzAwMDEtY29uZmlnX29zX2hlYWRlcnMtRXJyb3ItRml4LnBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKK0Zyb20gMjYxYTIyMDk2Yzc5ZjhlNmVmN2IzODc1MTRhNzRkMjA4ZTRlNTk0NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExpIHhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IEZyaSwgMjEgQXVnIDIwMTUgMTg6MjM6MTMgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlnX29zX2hlYWRlcnM6IEVycm9yIEZpeAorCitFUlJPUjogVGhpcyBhdXRvY29uZiBsb2cgaW5kaWNhdGVzIGVycm9ycywgaXQgbG9va2VkIGF0IGhvc3QgaW5jbHVkZQorYW5kL29yIGxpYnJhcnkgcGF0aHMgd2hpbGUgZGV0ZXJtaW5pbmcgc3lzdGVtIGNhcGFiaWxpdGllcy4KK2NjMTogd2FybmluZzogaW5jbHVkZSBsb2NhdGlvbiAiL3Vzci9sb2NhbC9pbmNsdWRlIiBpcyB1bnNhZmUgZm9yIGNyb3NzLWNvbXBpbGF0aW9uIFstV3BvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXNdCitjb25mdGVzdC5jOjE2ODoxNzogZmF0YWwgZXJyb3I6IHBrZy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CisgI2luY2x1ZGUgPHBrZy5oPgorICAgICAgICAgICAgICAgICBeCisKK1Vwc3RyZWFtLVN0YXR1czogcGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBMaSBYaW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CistLS0KKyBjb25maWd1cmUuZC9jb25maWdfb3NfaGVhZGVycyB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuZC9jb25maWdfb3NfaGVhZGVycyBiL2NvbmZpZ3VyZS5kL2NvbmZpZ19vc19oZWFkZXJzCitpbmRleCA3MDhhYTA5Li4wZGYzMmNhIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmQvY29uZmlnX29zX2hlYWRlcnMKKysrKyBiL2NvbmZpZ3VyZS5kL2NvbmZpZ19vc19oZWFkZXJzCitAQCAtNDgyLDggKzQ4Miw4IEBAIHRoZW4KKyAgICAgdW5zZXQgYWNfY3ZfaGVhZGVyX3BrZ19oCisgICAgIG5ldHNubXBfc2F2ZV9DUFBGTEFHUz0iJENQUEZMQUdTIgorICAgICBuZXRzbm1wX3NhdmVfTERGTEFHUz0iJExERkxBR1MiCistICAgIENQUEZMQUdTPSIkQ1BQRkxBR1MgLUkvdXNyL2xvY2FsL2luY2x1ZGUiCistICAgIExERkxBR1M9IiRMREZMQUdTIC1ML3Vzci9sb2NhbC9saWIiCisrICAgIENQUEZMQUdTPSIkQ1BQRkxBR1MiCisrICAgIExERkxBR1M9IiRMREZMQUdTIgorICAgICBBQ19DSEVDS19IRUFERVJTKHBrZy5oLAorICAgICAgICAgTkVUU05NUF9TRUFSQ0hfTElCUyhwa2dfaW5pdCwgcGtnLAorIAkgICAgQUNfREVGSU5FKEhBVkVfTElCUEtHLCAxLCBbZGVmaW5lIGlmIHlvdSBoYXZlIEJTRCBwa2ctbmddKSkpCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvMDAwMS1jb25maWdfb3NfbGliczItRXJyb3ItRml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvMDAwMS1jb25maWdfb3NfbGliczItRXJyb3ItRml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4NjZhOTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC8wMDAxLWNvbmZpZ19vc19saWJzMi1FcnJvci1GaXgucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSBlMjRmY2QxNDBmM2Y2ZGQxOGZkODM2YjE5N2M2ZDRiYjc3M2U1MGU3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP1JhZmE9QzM9QUJsPTIwQ2Fycj1DMz1BOT89IDxmdW5tYW5AdmlkZW9sYW4ub3JnPgorRGF0ZTogV2VkLCA0IE5vdiAyMDE1IDE2OjQ5OjMwICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ19vc19saWJzMjogRXJyb3IgRml4CisKK0VSUk9SOiBUaGlzIGF1dG9jb25mIGxvZyBpbmRpY2F0ZXMgZXJyb3JzLCBpdCBsb29rZWQgYXQgaG9zdCBpbmNsdWRlCithbmQvb3IgbGlicmFyeSBwYXRocyB3aGlsZSBkZXRlcm1pbmluZyBzeXN0ZW0gY2FwYWJpbGl0aWVzLgorLS0tCisgY29uZmlndXJlLmQvY29uZmlnX29zX2xpYnMyIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5kL2NvbmZpZ19vc19saWJzMiBiL2NvbmZpZ3VyZS5kL2NvbmZpZ19vc19saWJzMgoraW5kZXggNDc0OTFlMi4uZTM2NDdmOSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5kL2NvbmZpZ19vc19saWJzMgorKysrIGIvY29uZmlndXJlLmQvY29uZmlnX29zX2xpYnMyCitAQCAtMjI2LDEwICsyMjYsMTAgQEAgaWYgdGVzdCAieCR3aXRoX25sIiAhPSAieG5vIjsgdGhlbgorICAgICBjYXNlICR0YXJnZXRfb3MgaW4KKyAgICAgbGludXgqKSAjIENoZWNrIGZvciBsaWJubCAobGludXgpCisgICAgICAgICBuZXRzbm1wX3NhdmVfQ1BQRkxBR1M9IiRDUFBGTEFHUyIKKy0gICAgICAgIENQUEZMQUdTPSItSS91c3IvaW5jbHVkZS9saWJubDMgJENQUEZMQUdTIgorKyAgICAgICAgQ1BQRkxBR1M9IiRDUFBGTEFHUyIKKyAgICAgICAgIE5FVFNOTVBfU0VBUkNIX0xJQlMobmxfY29ubmVjdCwgbmwtMywKKyAgICAgICAgICAgICBbQUNfQ0hFQ0tfSEVBREVSUyhuZXRsaW5rL25ldGxpbmsuaCkKKy0gICAgICAgICAgICBFWFRFUk5BTF9NSUJHUk9VUF9JTkNMVURFUz0iJEVYVEVSTkFMX01JQkdST1VQX0lOQ0xVREVTIC1JL3Vzci9pbmNsdWRlL2xpYm5sMyJdLAorKyAgICAgICAgICAgIEVYVEVSTkFMX01JQkdST1VQX0lOQ0xVREVTPSIkRVhURVJOQUxfTUlCR1JPVVBfSU5DTFVERVMiXSwKKyAgICAgICAgICAgICBbQ1BQRkxBR1M9IiRuZXRzbm1wX3NhdmVfQ1BQRkxBR1MiXSwgW10sIFtdLCBbTE1JQkxJQlNdKQorICAgICAgICAgaWYgdGVzdCAieCRhY19jdl9oZWFkZXJfbmV0bGlua19uZXRsaW5rX2giICE9IHh5ZXM7IHRoZW4KKyAgICAgICAgICAgICBORVRTTk1QX1NFQVJDSF9MSUJTKG5sX2Nvbm5lY3QsIG5sLCBbCistLSAKKzIuNS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wLzAwMDEtc25tcGxpYi1rZXl0b29scy5jLURvbi10LWNoZWNrLWZvci1yZXR1cm4tZnJvbS1FVlBfTS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wLzAwMDEtc25tcGxpYi1rZXl0b29scy5jLURvbi10LWNoZWNrLWZvci1yZXR1cm4tZnJvbS1FVlBfTS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZjI0MmZhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvMDAwMS1zbm1wbGliLWtleXRvb2xzLmMtRG9uLXQtY2hlY2stZm9yLXJldHVybi1mcm9tLUVWUF9NLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0Zyb20gZDMwMjdhMjI3YmMwZjYwM2E1YjY1MGQwMWY5N2VlMWRlYzUxNWJlNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDE4IFNlcCAyMDE1IDAwOjI4OjQ1IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIHNubXBsaWIva2V5dG9vbHMuYzogRG9uJ3QgY2hlY2sgZm9yIHJldHVybiBmcm9tCisgRVZQX01EX0NUWF9pbml0KCkKKworRVZQX01EX0NUWF9pbml0KCkgQVBJIHJldHVybnMgdm9pZCwgaXQgZml4ZXMgZXJyb3JzIHdpdGggbmV3IGNvbXBpbGVycworCitzbm1wbGliL2tleXRvb2xzLmM6IEluIGZ1bmN0aW9uICdnZW5lcmF0ZV9LdSc6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB2b2lkIGV4cHJlc3Npb24KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vc291cmNlZm9yZ2UubmV0L3AvbmV0LXNubXAvcGF0Y2hlcy8xMzE3L10KKyBzbm1wbGliL2tleXRvb2xzLmMgfCAzICstLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NubXBsaWIva2V5dG9vbHMuYyBiL3NubXBsaWIva2V5dG9vbHMuYworaW5kZXggMGNjYjNhNi4uODgwZmMxNCAxMDA2NDQKKy0tLSBhL3NubXBsaWIva2V5dG9vbHMuYworKysrIGIvc25tcGxpYi9rZXl0b29scy5jCitAQCAtMTUzLDggKzE1Myw3IEBAIGdlbmVyYXRlX0t1KGNvbnN0IG9pZCAqIGhhc2h0eXBlLCB1X2ludCBoYXNodHlwZV9sZW4sCisgICAgIGN0eCA9IEVWUF9NRF9DVFhfY3JlYXRlKCk7CisgI2Vsc2UKKyAgICAgY3R4ID0gbWFsbG9jKHNpemVvZigqY3R4KSk7CistICAgIGlmICghRVZQX01EX0NUWF9pbml0KGN0eCkpCistICAgICAgICByZXR1cm4gU05NUEVSUl9HRU5FUlI7CisrICAgIEVWUF9NRF9DVFhfaW5pdChjdHgpOworICNlbmRpZgorICNpZm5kZWYgTkVUU05NUF9ESVNBQkxFX01ENQorICAgICBpZiAoSVNUUkFOU0ZPUk0oaGFzaHR5cGUsIEhNQUNNRDVBdXRoKSkgeworLS0gCisyLjUuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC9kb250LXJldHVybi1pbmNvbXBsZXRlbHktcGFyc2VkLXZhcmJpbmRzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvZG9udC1yZXR1cm4taW5jb21wbGV0ZWx5LXBhcnNlZC12YXJiaW5kcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YmQwZjkzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvZG9udC1yZXR1cm4taW5jb21wbGV0ZWx5LXBhcnNlZC12YXJiaW5kcy5wYXRjaApAQCAtMCwwICsxLDEzMSBAQAorRnJvbSA2YjkzZTY4NmJkYjZhOTA4ZDAwNTk1NjA4NjQ2YTA1NTI3YTUzMjZiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogRnJpLCAyMSBBdWcgMjAxNSAxMjozOToxMiArMDkwMAorU3ViamVjdDogW1BBVENIXSB0aGUgc25tcF9wZHVfcGFyc2UoKSBmdW5jdGlvbiBjb3VsZCBsZWF2ZSBpbmNvbXBsZXRlbHkgcGFyc2VkCisgdmFyQmluZCB2YXJpYWJsZXMgaW4gdGhlIGxpc3Qgb2YgdmFyaWFibGVzIGluIGNhc2UgdGhlIHBhcnNpbmcgb2YgdGhlIFNOTVAKKyBQRFUgZmFpbGVkLiBJZiBsYXRlciBwcm9jZXNzaW5nIHRyaWVzIHRvIG9wZXJhdGUgb24gdGhlIHN0YWxlIGFuZAorIGluY29tcGxldGVseSBwcm9jZXNzZWQgdmFyQmluZCAoZS5nLiB3aGVuIHByaW50aW5nIHRoZSB2YXJpYWJsZXMpLCB0aGlzIGNhbgorIGxlYWQgdG8gZS5nLiBjcmFzaGVzIG9yLCBwb3NzaWJseSwgZXhlY3V0aW9uIG9mIGFyYml0cmFyeSBjb2RlCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW25ldC1zbm1wXQorCitXcml0dGVuLWJ5OiBSb2JlcnQgU3RvcnkKKy0tLQorIHNubXBsaWIvc25tcF9hcGkuYyB8IDUzICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc25tcGxpYi9zbm1wX2FwaS5jIGIvc25tcGxpYi9zbm1wX2FwaS5jCitpbmRleCAxOTFkZWJmLi4xNWEyZDM5IDEwMDY0NAorLS0tIGEvc25tcGxpYi9zbm1wX2FwaS5jCisrKysgYi9zbm1wbGliL3NubXBfYXBpLmMKK0BAIC00MzUwLDEwICs0MzUwLDkgQEAgc25tcF9wZHVfcGFyc2UobmV0c25tcF9wZHUgKnBkdSwgdV9jaGFyICogZGF0YSwgc2l6ZV90ICogbGVuZ3RoKQorICAgICB1X2NoYXIgICAgICAgICAgdHlwZTsKKyAgICAgdV9jaGFyICAgICAgICAgIG1zZ190eXBlOworICAgICB1X2NoYXIgICAgICAgICAqdmFyX3ZhbDsKKy0gICAgaW50ICAgICAgICAgICAgIGJhZHR5cGUgPSAwOworICAgICBzaXplX3QgICAgICAgICAgbGVuOworICAgICBzaXplX3QgICAgICAgICAgZm91cjsKKy0gICAgbmV0c25tcF92YXJpYWJsZV9saXN0ICp2cCA9IE5VTEw7CisrICAgIG5ldHNubXBfdmFyaWFibGVfbGlzdCAqdnAgPSBOVUxMLCAqdnBsYXN0ID0gTlVMTDsKKyAgICAgb2lkICAgICAgICAgICAgIG9iamlkW01BWF9PSURfTEVOXTsKKyAgICAgdV9jaGFyICAgICAgICAgKnA7CisgCitAQCAtNDQ5MywzMSArNDQ5MiwxNyBAQCBzbm1wX3BkdV9wYXJzZShuZXRzbm1wX3BkdSAqcGR1LCB1X2NoYXIgKiBkYXRhLCBzaXplX3QgKiBsZW5ndGgpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEFTTl9TRVFVRU5DRSB8IEFTTl9DT05TVFJVQ1RPUiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhcmJpbmRzIik7CisgICAgIGlmIChkYXRhID09IE5VTEwpCistICAgICAgICByZXR1cm4gLTE7CisrICAgICAgICBnb3RvIGZhaWw7CisgCisgICAgIC8qCisgICAgICAqIGdldCBlYWNoIHZhckJpbmQgc2VxdWVuY2UgCisgICAgICAqLworICAgICB3aGlsZSAoKGludCkgKmxlbmd0aCA+IDApIHsKKy0gICAgICAgIG5ldHNubXBfdmFyaWFibGVfbGlzdCAqdnB0ZW1wOworLSAgICAgICAgdnB0ZW1wID0gKG5ldHNubXBfdmFyaWFibGVfbGlzdCAqKSBtYWxsb2Moc2l6ZW9mKCp2cHRlbXApKTsKKy0gICAgICAgIGlmIChOVUxMID09IHZwdGVtcCkgeworLSAgICAgICAgICAgIHJldHVybiAtMTsKKy0gICAgICAgIH0KKy0gICAgICAgIGlmIChOVUxMID09IHZwKSB7CistICAgICAgICAgICAgcGR1LT52YXJpYWJsZXMgPSB2cHRlbXA7CistICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgIHZwLT5uZXh0X3ZhcmlhYmxlID0gdnB0ZW1wOworLSAgICAgICAgfQorLSAgICAgICAgdnAgPSB2cHRlbXA7CisrICAgICAgICB2cCA9IFNOTVBfTUFMTE9DX1RZUEVERUYobmV0c25tcF92YXJpYWJsZV9saXN0KTsKKysgICAgICAgIGlmIChOVUxMID09IHZwKQorKyAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAKKy0gICAgICAgIHZwLT5uZXh0X3ZhcmlhYmxlID0gTlVMTDsKKy0gICAgICAgIHZwLT52YWwuc3RyaW5nID0gTlVMTDsKKyAgICAgICAgIHZwLT5uYW1lX2xlbmd0aCA9IE1BWF9PSURfTEVOOworLSAgICAgICAgdnAtPm5hbWUgPSBOVUxMOworLSAgICAgICAgdnAtPmluZGV4ID0gMDsKKy0gICAgICAgIHZwLT5kYXRhID0gTlVMTDsKKy0gICAgICAgIHZwLT5kYXRhRnJlZUhvb2sgPSBOVUxMOworICAgICAgICAgREVCVUdEVU1QU0VDVElPTigicmVjdiIsICJWYXJCaW5kIik7CisgICAgICAgICBkYXRhID0gc25tcF9wYXJzZV92YXJfb3AoZGF0YSwgb2JqaWQsICZ2cC0+bmFtZV9sZW5ndGgsICZ2cC0+dHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnAtPnZhbF9sZW4sICZ2YXJfdmFsLCBsZW5ndGgpOworQEAgLTQ2MDQsNyArNDU4OSw3IEBAIHNubXBfcGR1X3BhcnNlKG5ldHNubXBfcGR1ICpwZHUsIHVfY2hhciAqIGRhdGEsIHNpemVfdCAqIGxlbmd0aCkKKyAgICAgICAgICAgICAgICAgdnAtPnZhbC5zdHJpbmcgPSAodV9jaGFyICopIG1hbGxvYyh2cC0+dmFsX2xlbik7CisgICAgICAgICAgICAgfQorICAgICAgICAgICAgIGlmICh2cC0+dmFsLnN0cmluZyA9PSBOVUxMKSB7CistICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKysgICAgICAgICAgICAgICAgZ290byBmYWlsOworICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICBwID0gYXNuX3BhcnNlX3N0cmluZyh2YXJfdmFsLCAmbGVuLCAmdnAtPnR5cGUsIHZwLT52YWwuc3RyaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZwLT52YWxfbGVuKTsKK0BAIC00NjE5LDcgKzQ2MDQsNyBAQCBzbm1wX3BkdV9wYXJzZShuZXRzbm1wX3BkdSAqcGR1LCB1X2NoYXIgKiBkYXRhLCBzaXplX3QgKiBsZW5ndGgpCisgICAgICAgICAgICAgdnAtPnZhbF9sZW4gKj0gc2l6ZW9mKG9pZCk7CisgICAgICAgICAgICAgdnAtPnZhbC5vYmppZCA9IChvaWQgKikgbWFsbG9jKHZwLT52YWxfbGVuKTsKKyAgICAgICAgICAgICBpZiAodnAtPnZhbC5vYmppZCA9PSBOVUxMKSB7CistICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKysgICAgICAgICAgICAgICAgZ290byBmYWlsOworICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICBtZW1tb3ZlKHZwLT52YWwub2JqaWQsIG9iamlkLCB2cC0+dmFsX2xlbik7CisgICAgICAgICAgICAgYnJlYWs7CitAQCAtNDYzMSw3ICs0NjE2LDcgQEAgc25tcF9wZHVfcGFyc2UobmV0c25tcF9wZHUgKnBkdSwgdV9jaGFyICogZGF0YSwgc2l6ZV90ICogbGVuZ3RoKQorICAgICAgICAgY2FzZSBBU05fQklUX1NUUjoKKyAgICAgICAgICAgICB2cC0+dmFsLmJpdHN0cmluZyA9ICh1X2NoYXIgKikgbWFsbG9jKHZwLT52YWxfbGVuKTsKKyAgICAgICAgICAgICBpZiAodnAtPnZhbC5iaXRzdHJpbmcgPT0gTlVMTCkgeworLSAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisrICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgICAgICB9CisgICAgICAgICAgICAgcCA9IGFzbl9wYXJzZV9iaXRzdHJpbmcodmFyX3ZhbCwgJmxlbiwgJnZwLT50eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnAtPnZhbC5iaXRzdHJpbmcsICZ2cC0+dmFsX2xlbik7CitAQCAtNDY0MCwxMiArNDYyNSwzMCBAQCBzbm1wX3BkdV9wYXJzZShuZXRzbm1wX3BkdSAqcGR1LCB1X2NoYXIgKiBkYXRhLCBzaXplX3QgKiBsZW5ndGgpCisgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgIHNubXBfbG9nKExPR19FUlIsICJiYWQgdHlwZSByZXR1cm5lZCAoJXgpXG4iLCB2cC0+dHlwZSk7CistICAgICAgICAgICAgYmFkdHlwZSA9IC0xOworKyAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgIH0KKyAgICAgICAgIERFQlVHSU5ERU5UQUREKC00KTsKKysKKysgICAgICAgIGlmIChOVUxMID09IHZwbGFzdCkgeworKyAgICAgICAgICAgIHBkdS0+dmFyaWFibGVzID0gdnA7CisrICAgICAgICB9IGVsc2UgeworKyAgICAgICAgICAgIHZwbGFzdC0+bmV4dF92YXJpYWJsZSA9IHZwOworKyAgICAgICAgfQorKyAgICAgICAgdnBsYXN0ID0gdnA7CisrICAgICAgICB2cCA9IE5VTEw7CisrCisgICAgIH0KKy0gICAgcmV0dXJuIGJhZHR5cGU7CisrICAgIHJldHVybiAwOworKworKyAgZmFpbDoKKysgICAgREVCVUdNU0dUTCgoInJlY3YiLCAiZXJyb3Igd2hpbGUgcGFyc2luZyBWYXJCaW5kTGlzdFxuIikpOworKyAgICAvKiogaWYgd2Ugd2VyZSBwYXJzaW5nIGEgdmFyLCByZW1vdmUgaXQgZnJvbSB0aGUgcGR1IGFuZCBmcmVlIGl0ICovCisrICAgIGlmICh2cCkKKysgICAgICAgIHNubXBfZnJlZV92YXIodnApOworKworKyAgICByZXR1cm4gLTE7CisrCisgfQorIAorIC8qCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvZml4LWxpYnRvb2wtZmluaXNoLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvZml4LWxpYnRvb2wtZmluaXNoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzNjBjM2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC9maXgtbGlidG9vbC1maW5pc2gucGF0Y2gKQEAgLTAsMCArMSwyNSBAQAorTElCX0xEQ09ORklHX0NNRCBmYWlsZWQgc2luY2UgaXQgaXMgdXNpbmcgYSBob3N0IGRpciAkKGxpYmRpcikKK3doaWNoIGlzIC91c3IvbGliNjQgZG9lcyBub3QgZXhpc3Qgb24gaG9zdCB3aGVuIGNvbXBpbGUgNjRiaXQKK2ltYWdlLgorCitJbiBmYWN0LCBjb25maWd1cmluZyBkeW5hbWljIGxpbmtlciBydW4tdGltZSBiaW5kaW5ncyBpcyBtZWFuaW5nbGVzcworYXQgdGhpcyBzdGVwLCAgSWYgaXQgaXMgbmVlZGVkLCBQb2t5IHdvdWxkIHdyaXRlIGxkY29uZmlnIHNjcmlwdHMgdG8KK3JwbS1wb3N0aW5zdCBmb3IgZWFjaCByZWNpcGUgd2hpbGUgZG9fcGFja2FnZSwgaW4gcGFja2FnZS5iYmNsYXNzLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2Nyb3NzIGNvbXBpbGUgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IFJveS5MaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorZGlmZiAtLWdpdCBhL01ha2VmaWxlLnRvcCBiL01ha2VmaWxlLnRvcAoraW5kZXggODYyZmI5NC4uZWQ3ZGNmYyAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLnRvcAorKysrIGIvTWFrZWZpbGUudG9wCitAQCAtODYsNyArODYsNyBAQCBMSUJSRVZJU0lPTiA9IDIKKyBMSUJfTERfQ01EICAgICAgPSAkKExJQlRPT0wpIC0tbW9kZT1saW5rICQoTElOS0NDKSAkKENGTEFHUykgLXJwYXRoICQobGliZGlyKSAtdmVyc2lvbi1pbmZvICQoTElCQ1VSUkVOVCk6JChMSUJSRVZJU0lPTik6JChMSUJBR0UpIC1vCisgTElCX0VYVEVOU0lPTiAgID0gbGEKKyBMSUJfVkVSU0lPTiAgICAgPQorLUxJQl9MRENPTkZJR19DTUQgPSAkKExJQlRPT0wpIC0tbW9kZT1maW5pc2ggJChJTlNUQUxMX1BSRUZJWCkkKGxpYmRpcikKKytMSUJfTERDT05GSUdfQ01EID0gZWNobyAiZG8gbm90IGxkY29uZmlnXG4iCisgTElOSwkJPSAkKExJQlRPT0wpIC0tbW9kZT1saW5rICQoTElOS0NDKQorICMgUkFOTElCIAk9IEBSQU5MSUJACisgUkFOTElCCQk9IDoKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wL25ldC1zbm1wLWFkZC1rbm9iLXdoZXRoZXItbmxpc3QuaC1hcmUtY2hlY2tlZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wL25ldC1zbm1wLWFkZC1rbm9iLXdoZXRoZXItbmxpc3QuaC1hcmUtY2hlY2tlZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NGIwYzEyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvbmV0LXNubXAtYWRkLWtub2Itd2hldGhlci1ubGlzdC5oLWFyZS1jaGVja2VkLnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK25ldC1zbm1wOiBhZGQga25vYiB3aGV0aGVyIG5saXN0LmggYXJlIGNoZWNrZWQKKworUHJldmlvdXNseSwgaXQgc3RpbGwgd2FzIGNoZWNrZWQgd2hlbiB0aGVyZSB3YXMgbm8gbmxpc2guaCBpbiBzeXNyb290cyBkaXJlY3RvcnkuCitBZGQga25vYiB0byBkZWNpZGUgd2hldGhlciBubGlzdC5oIGFyZSBjaGVja2VkIG9yIG5vdC4KKworVXBzdHJlYW0tc3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IENob25nIEx1IDxDaG9uZy5MdUB3aW5kcml2ZXIuY29tPgorLS0tCisgY29uZmlndXJlLmQvY29uZmlnX29zX2hlYWRlcnMgfCAgICAyICsrCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmQvY29uZmlnX29zX2hlYWRlcnMgYi9jb25maWd1cmUuZC9jb25maWdfb3NfaGVhZGVycworaW5kZXggZDkwM2Y1OC4uYTA1ZDMwZSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5kL2NvbmZpZ19vc19oZWFkZXJzCisrKysgYi9jb25maWd1cmUuZC9jb25maWdfb3NfaGVhZGVycworQEAgLTMxLDYgKzMxLDcgQEAgQUNfQ0hFQ0tfSEVBREVSUyhbZ2V0b3B0LmggICBwdGhyZWFkLmggIHJlZ2V4LmggICAgICBdIGRubAorICAgICAgICAgICAgICAgICAgW3N5cy91bi5oICAgICAgICAgICBdKQorIAorICMgIExpYnJhcnkgYW5kIEFnZW50OgorK2lmIHRlc3QgIngkd2l0aF9lbGYiICE9ICJ4bm8iOyB0aGVuCisgQUNfQ0hFQ0tfSEVBREVSUyhbbmxpc3QuaF0sLCxbCisgQUNfSU5DTFVERVNfREVGQVVMVAorIFsKK0BAIC0zOCw2ICszOSw3IEBAIEFDX0lOQ0xVREVTX0RFRkFVTFQKKyAjZGVmaW5lIExJQkJTRF9ESVNBQkxFX0RFUFJFQ0FURUQgMQorICNlbmRpZgorIF1dKQorK2ZpCisgCisgIyAgTGlicmFyeToKKyBBQ19DSEVDS19IRUFERVJTKFtmY250bC5oICAgIGlvLmggICAgICAga3N0YXQuaCAgICAgICAgICAgICAgICAgXSBkbmwKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC9uZXQtc25tcC10ZXN0aW5nLWFkZC10aGUtb3V0cHV0LWZvcm1hdC1mb3ItcHRlc3QucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC9uZXQtc25tcC10ZXN0aW5nLWFkZC10aGUtb3V0cHV0LWZvcm1hdC1mb3ItcHRlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWZiMTliMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wL25ldC1zbm1wLXRlc3RpbmctYWRkLXRoZS1vdXRwdXQtZm9ybWF0LWZvci1wdGVzdC5wYXRjaApAQCAtMCwwICsxLDM3IEBACitGcm9tIDRiYjQwMjRiMzk1ZjE5ZDM2YWIzNTY5ZTI3NzNlYTgwZDhjYzUyNjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogV2VkLCAxNCBKYW4gMjAxNSAxNToxMDowNiArMDgwMAorU3ViamVjdDogW1BBVENIXSB0ZXN0aW5nOiBhZGQgdGhlIG91dHB1dCBmb3JtYXQgZm9yIHB0ZXN0CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Ugc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyB0ZXN0aW5nL1JVTlRFU1RTIHwgICAgNCArKysrCisgMSBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90ZXN0aW5nL1JVTlRFU1RTIGIvdGVzdGluZy9SVU5URVNUUworaW5kZXggZTExYzk2OS4uZmI5MGY3NiAxMDA3NTUKKy0tLSBhL3Rlc3RpbmcvUlVOVEVTVFMKKysrKyBiL3Rlc3RpbmcvUlVOVEVTVFMKK0BAIC0yNSwxMyArMjUsMTcgQEAgZmFpbGVkX2NvdW50PTAKKyBybSAtZiBmYWlsZWRfdGVzdHMKKyBmb3IgaSBpbiAiJHtzcmNkaXJ9Ii90ZXN0aW5nL2Z1bGx0ZXN0cy9kZWZhdWx0L1QqJDEqOyBkbworICAgICBlY2hvICJSVU5OSU5HICRpIgorKyAgICB0ZXN0X25hbWU9YGJhc2VuYW1lICRpYAorICAgICAke3NyY2Rpcn0vdGVzdGluZy9mdWxsdGVzdHMvc3VwcG9ydC9zaW1wbGVfcnVuICRpCisgICAgIGlmIFsgJD8gPSAwIF07IHRoZW4KKysgICAgICAgIGVjaG8gIlBBU1M6ICR0ZXN0X25hbWUiCisgICAgICAgICBzdWNjZXNzX2NvdW50PWBleHByICRzdWNjZXNzX2NvdW50ICsgMWAKKyAgICAgZWxzZQorKyAgICAgICAgZWNobyAiRkFJTDogJHRlc3RfbmFtZSIKKyAgICAgICAgIGZhaWxlZF9jb3VudD1gZXhwciAkZmFpbGVkX2NvdW50ICsgMWAKKyAgICAgICAgIGVjaG8gIiRpIiA+PiBmYWlsZWRfdGVzdHMKKyAgICAgZmkKKysgICAgZWNobworIGRvbmUKKyAKKyBpZiBbIC1mIGZhaWxlZF90ZXN0cyBdOyB0aGVuCistLSAKKzEuNy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wL3J1bi1wdGVzdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wL3J1bi1wdGVzdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yMzM0MjE3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsNCBAQAorIyEvYmluL3NoCisKK2NkIHRlc3RpbmcKKy4vUlVOVEVTVFMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wL3NubXBkLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC9zbm1wZC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0NzY4M2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC9zbm1wZC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTMgQEAKK1tVbml0XQorRGVzY3JpcHRpb249U2ltcGxlIE5ldHdvcmsgTWFuYWdlbWVudCBQcm90b2NvbCAoU05NUCkgRGFlbW9uLgorQWZ0ZXI9c3lzbG9nLnRhcmdldCBuZXR3b3JrLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9bm90aWZ5CitFbnZpcm9ubWVudD1PUFRJT05TPSItTHMwLTZkIgorRW52aXJvbm1lbnRGaWxlPS0vZXRjL2RlZmF1bHQvc25tcGQKK0V4ZWNTdGFydD0vdXNyL3NiaW4vc25tcGQgJE9QVElPTlMgLWEgLWYKK0V4ZWNSZWxvYWQ9L2Jpbi9raWxsIC1IVVAgJE1BSU5QSUQKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvc25tcHRyYXBkLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC9zbm1wdHJhcGQuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NTFmOWYyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvc25tcHRyYXBkLnNlcnZpY2UKQEAgLTAsMCArMSwxMyBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1TaW1wbGUgTmV0d29yayBNYW5hZ2VtZW50IFByb3RvY29sIChTTk1QKSBUcmFwIERhZW1vbi4KK0FmdGVyPXN5c2xvZy50YXJnZXQgbmV0d29yay50YXJnZXQKKworW1NlcnZpY2VdCitUeXBlPW5vdGlmeQorRW52aXJvbm1lbnQ9T1BUSU9OUz0iLUxzZCIKK0Vudmlyb25tZW50RmlsZT0tL2V0Yy9kZWZhdWx0L3NubXB0cmFwZAorRXhlY1N0YXJ0PS91c3Ivc2Jpbi9zbm1wdHJhcGQgJE9QVElPTlMgLWYKK0V4ZWNSZWxvYWQ9L2Jpbi9raWxsIC1IVVAgJE1BSU5QSUQKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvc3lzdGVtZC1zdXBwb3J0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvc3lzdGVtZC1zdXBwb3J0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2YWY4YzAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC9zeXN0ZW1kLXN1cHBvcnQucGF0Y2gKQEAgLTAsMCArMSwxNjUyIEBACitGcm9tIDBjYWQwYzZjMzZhZjJhMmQ1ODk1NjM4MDRjOWVkMmIzN2I3MDg1ZmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMaSB4aW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CitEYXRlOiBGcmksIDIxIEF1ZyAyMDE1IDE0OjM3OjAyICswOTAwCitTdWJqZWN0OiBbUEFUQ0hdIHlzdGVtZCBzdXBwb3J0IGJhY2twb3J0ZWQgZnJvbSB0aGUgbWFzdGVyIGJyYW5jaCBhcyBvZgorIDIzLzA0LzIwMTIgKHBvc3QgNS43LjEsIHByZSA1LjgpLgorCitUaGUgZm9sbG93aW5nIGNvbW1pdHMgaGF2ZSBiZWVuIGNoZXJyeS1waWNrZWQ6CisKKzE5NDk5YzNjOTBiZjlkN2IyYjllNWQwOGJhYTI2Y2M2YmJhMjhhMTEKK2ZlZjZjZGRmZGI5NGRhMWE2YjFmYjc2OGFmNjI5MThiODBmMTFmZDMKKzA2NDFlNDNjNjk0YzQ4NWNiYmZmZWYwNTU2ZWZjNDY0MWJkM2ZmNTAKKzc2NTMwYTg5ZjFjOGJiZDBiNjNhY2NlNjNlMTBkNWQ0ODEyYTFhMTYgKGNvbmZsaWN0IHJlc29sdmVkKQorYmYxMDhkN2YxMzU0ZjYyNzZmYzQzYzEyOTk2M2YyYzQ5YjlmYzI0MgorMzY5Mjg3NTE3MjM1MmY3MmNmM2FmZDBkMzVmMzU1ZTgzZDdlNDIxYgorNzQ0MTI3NDgwNjdjNjg1ZTFkOGFiNmVkM2JjYzNjYTljMjc3NDg0NAorODYxMzJlM2YxZTZlZjdiNGUwYjk2ZDhmYTI0ZTM3YzgxYjcxYjBlMAorNjM1NTdjZjg5ODZhMzNkYmExZDQ0MjliNTgzYTkwMTM2MTA1MmM0ZgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1NpZ25lZC1vZmYtYnk6IFRob21hcyBGaXR6c2ltbW9ucyA8Zml0enNpbUBjaXNjby5jb20+CistLS0KKyBSRUFETUUuc3lzdGVtZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNDEgKysrCisgYWdlbnQvc25tcGQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDMzICstCisgYXBwcy9zbm1wdHJhcGQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDMyICstCisgY29uZmlndXJlLmQvY29uZmlnX21vZHVsZXNfbGliICAgICAgICAgICAgIHwgICA4ICsKKyBjb25maWd1cmUuZC9jb25maWdfcHJvamVjdF93aXRoX2VuYWJsZSAgICAgfCAgIDkgKworIGRpc3Qvc25tcGQuc2VydmljICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxOCArCisgZGlzdC9zbm1wZC5zb2NrZXQgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDE3ICsKKyBkaXN0L3NubXB0cmFwZC5zZXJ2aWNlICAgICAgICAgICAgICAgICAgICAgfCAgMTYgKworIGRpc3Qvc25tcHRyYXBkLnNvY2tldCAgICAgICAgICAgICAgICAgICAgICB8ICAxNCArCisgaW5jbHVkZS9uZXQtc25tcC9saWJyYXJ5L3NkLWRhZW1vbi5oICAgICAgIHwgMjkwICsrKysrKysrKysrKysrKysKKyBzbm1wbGliL3NkLWRhZW1vbi5jICAgICAgICAgICAgICAgICAgICAgICAgfCA1MzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBzbm1wbGliL3RyYW5zcG9ydHMvc25tcFRDUERvbWFpbi5jICAgICAgICAgfCAgNDMgKystCisgc25tcGxpYi90cmFuc3BvcnRzL3NubXBUQ1BJUHY2RG9tYWluLmMgICAgIHwgIDQ2ICsrLQorIHNubXBsaWIvdHJhbnNwb3J0cy9zbm1wVURQSVB2NEJhc2VEb21haW4uYyB8ICAzMyArLQorIHNubXBsaWIvdHJhbnNwb3J0cy9zbm1wVURQSVB2NkRvbWFpbi5jICAgICB8ICAzNCArLQorIHNubXBsaWIvdHJhbnNwb3J0cy9zbm1wVW5peERvbWFpbi5jICAgICAgICB8ICA2NiArKy0tCisgd2luMzIvbGlic25tcC9NYWtlZmlsZS5pbiAgICAgICAgICAgICAgICAgIHwgICA2ICsKKyB3aW4zMi9uZXQtc25tcC9uZXQtc25tcC1jb25maWcuaCAgICAgICAgICAgfCAgIDIgKworIHdpbjMyL25ldC1zbm1wL25ldC1zbm1wLWNvbmZpZy5oLmluICAgICAgICB8ICAgMiArCisgMTkgZmlsZXMgY2hhbmdlZCwgMTE3NiBpbnNlcnRpb25zKCspLCA2NiBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgUkVBRE1FLnN5c3RlbWQKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZGlzdC9zbm1wZC5zZXJ2aWMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZGlzdC9zbm1wZC5zb2NrZXQKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZGlzdC9zbm1wdHJhcGQuc2VydmljZQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBkaXN0L3NubXB0cmFwZC5zb2NrZXQKKyBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9uZXQtc25tcC9saWJyYXJ5L3NkLWRhZW1vbi5oCisgY3JlYXRlIG1vZGUgMTAwNjQ0IHNubXBsaWIvc2QtZGFlbW9uLmMKKworZGlmZiAtLWdpdCBhL1JFQURNRS5zeXN0ZW1kIGIvUkVBRE1FLnN5c3RlbWQKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5kYmExNWQxCistLS0gL2Rldi9udWxsCisrKysgYi9SRUFETUUuc3lzdGVtZAorQEAgLTAsMCArMSw0MSBAQAorK1JFQURNRS5zeXN0ZW1kCisrLS0tLS0tLS0tLS0tLS0KKytOZXQtU05NUCBwcm92aWRlcyB0d28gZGFlbW9ucywgd2hpY2ggc3VwcG9ydCBzeXN0ZW1kIHN5c3RlbSBtYW5hZ2VyLgorK1NlZSBodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL3N5c3RlbWQgdG8gbGVhcm4gaG93Cisrc3lzdGVtZCB3b3Jrcy4gQm90aCBzb2NrZXQgYWN0aXZhdGlvbiBhbmQgbm90aWZpY2F0aW9uIGlzIHN1cHBvcnRlZCBieSB0aGVzZQorK2RhZW1vbnMuCisrCisrVG8gZW5hYmxlIHN5c3RlbWQgc3VwcG9ydCwgdGhlIHNvdXJjZXMgbXVzdCBiZSBjb21waWxlZCB3aXRoCisrLS13aXRoLXN5c3RlbWQgY29uZmlndXJlIG9wdGlvbi4KKysKKytzbm1wZCAtIFRoZSBTTk1QIGFnZW50CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK1NvY2tldCBhY3RpdmF0aW9uIG9kIHNubXBkIGRhZW1vbiBpcyBpbXBsZW1lbnRlZCwgYnV0IGl0J3MgZGlzY291cmFnZWQuCisrVGhlIHJlYXNvbiBpcyBzaW1wbGUgLSBzbm1wZCBub3Qgb25seSBsaXN0ZW5zIGFuZCBwcm9jZXNzZXMgU05NUCByZXF1ZXN0cworK2Zyb20gbmV0d29yaywgYnV0IGFsc28gZ2F0aGVycyBzeXN0ZW0gc3RhdGlzdGljcyBjb3VudGVycywgc2VuZHMgdHJhcHMgYW5kCisrY29tbXVuaWNhdGVzIHdpdGggc3ViYWdlbnRzLiBJdCBldmVuIG9wZW5zIGZldyBuZXRsaW5rIHNvY2tldHMuCisrCisrSW4gb3RoZXIgd29yZHMsIHNubXBkIHNob3VsZCBydW4gZnJvbSBzeXN0ZW0gc3RhcnQgdG8gcHJvcGVybHkgd29yay4KKytUaGlzIGNhbiBiZSBkb25lIGluIHR3byB3YXlzOgorKzEpIGVpdGhlciBhcyBzbm1wZCBzZXJ2aWNlIHVuaXQgd2l0aCAnVHlwZT1ub3RpZmljYXRpb24nIGFuZCB3aXRob3V0IGEgc29ja2V0CisrICAgdW5pdAorKzIpIG9yIGFzIHNubXBkIHNlcnZpY2UgdW5pdCB3aXRoICdUeXBlPXNpbXBsZScsIGFwcHJvcHJpYXRlIHNvY2tldCBzb2NrZXQgdW5pdAorKyAgIGFuZCB0aGUgc25tcGQgc2VydmljZSBlbmFibGVkLiBUaGlzIHdheSBzeXN0ZW1kIGNyZWF0ZXMgdGhlIHNubXBkIGxpc3RlbmluZworKyAgIHNvY2tldCBlYXJseSBkdXJpbmcgYm9vdCBhbmQgcGFzc2VzIHRoZSBzb2NrZXRzIHRvIHNubXBkIHNsaWdodGx5IGxhdGVyCisrICAgKGJ1dCBzdGlsbCBkdXJpbmcgbWFjaGluZSBib290KS4gVGhpcyB3YXkgc3lzdGVtZCBjYW4gcGFyYWxlbGl6ZSBzdGFydCBvZgorKyAgIHNlcnZpY2VzLCB3aGljaCBkZXBlbmQgb24gc25tcGQuIEFkbWlucyBtdXN0IGFkanVzdCB0aGUgc29ja2V0IGZpbGUgbWFudWFsbHksCisrICAgZGVwZW5kaW5nIGlmIHRoZSBzbm1wZCBzdXBwb3J0IEFnZW50WCwgSVB2NiwgU01VWCBldGMuCisrCisrc25tcGQgc2hvdWxkIGJlIHN0YXJ0ZWQgd2l0aCAnLWYnIGNvbW1hbmQgbGluZSBwYXJhbWV0ZXIgdG8gZGlzYWJsZSBmb3JraW5nIC0KKytzeXN0ZW1kIGRvZXMgdGhhdCBmb3IgdXMgYXV0b21hdGljYWxseS4KKysKKysKKytzbm1wdHJhcGQgLSBUaGUgdHJhcCBwcm9jZXNzaW5nIGRhZW1vbgorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrc25tcHRyYXBkIHN1cHBvcnRzIGZ1bGwgc29ja2V0IGFjdGl2YXRpb24gYW5kIGFsc28gbm90aWZpY2F0aW9uIChpZiBuZWVkZWQpLgorK0JvdGggJ1R5cGU9c2ltcGxlJyAod2l0aCBhcHByb3ByaWF0ZSBzb2NrZXQgdW5pdCkgYW5kICdUeXBlPW5vdGlmeScgc2VydmljZXMKKyt3aWxsIHdvcmsuIEFnYWluLCAnLWYnIHBhcmFtZXRlciBzaG91bGQgYmUgcHJvdmlkZWQgb24gc25tcHRyYXBkIGNvbW1hbmQgbGluZS4KKysKKytJZiBpbnRlZ3JhdGlvbiB3aXRoIFNOTVAgYWdlbnQgdXNpbmcgQWdlbnRYIHByb3RvY29sIGlzIGVuYWJsZWQsIHNubXB0cmFwZCBzaG91bGQKKytzdGFydCBkdXJpbmcgYm9vdCBhbmQgbm90IGFmdGVyIGZpcnN0IFNOTVAgdHJhcCBhcnJpdmVzLiBTYW1lIHJ1bGVzIGFzIGZvciBzbm1wZAorK2FwcGxpZXMgdGhlbi4KK2RpZmYgLS1naXQgYS9hZ2VudC9zbm1wZC5jIGIvYWdlbnQvc25tcGQuYworaW5kZXggY2ZjN2JjZS4uMTE2ZWU1YyAxMDA2NDQKKy0tLSBhL2FnZW50L3NubXBkLmMKKysrKyBiL2FnZW50L3NubXBkLmMKK0BAIC0xNjQsNiArMTY0LDEwIEBAIHR5cGVkZWYgbG9uZyAgICBmZF9tYXNrOworIAorICNlbmRpZgorIAorKyNpZm5kZWYgTkVUU05NUF9OT19TWVNURU1ECisrI2luY2x1ZGUgPG5ldC1zbm1wL2xpYnJhcnkvc2QtZGFlbW9uLmg+CisrI2VuZGlmCisrCisgbmV0c25tcF9mZWF0dXJlX3dhbnQobG9nZ2luZ19maWxlKQorIG5ldHNubXBfZmVhdHVyZV93YW50KGxvZ2dpbmdfc3RkaW8pCisgbmV0c25tcF9mZWF0dXJlX3dhbnQobG9nZ2luZ19zeXNsb2cpCitAQCAtNDQzLDE5ICs0NDcsMjkgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorICAgICBpbnQgICAgICAgICAgICAgYWdlbnRfbW9kZSA9IC0xOworICAgICBjaGFyICAgICAgICAgICAqcGlkX2ZpbGUgPSBOVUxMOworICAgICBjaGFyICAgICAgICAgICAgb3B0aW9uX2NvbXBhdGFiaWxpdHlbXSA9ICItTGUiOworKyNpZm5kZWYgV0lOMzIKKysgICAgaW50ICAgICAgICAgICAgIHByZXBhcmVkX3NvY2tldHMgPSAwOworKyNlbmRpZgorICNpZiBIQVZFX0dFVFBJRAorICAgICBpbnQgZmQ7CisgICAgIEZJTEUgICAgICAgICAgICpQSUQ7CisgI2VuZGlmCisgCisgI2lmbmRlZiBXSU4zMgorKyNpZm5kZWYgTkVUU05NUF9OT19TWVNURU1ECisrICAgIC8qIGNoZWNrIGlmIHN5c3RlbWQgaGFzIHNvY2tldHMgZm9yIHVzIGFuZCBkb24ndCBjbG9zZSB0aGVtICovCisrICAgIHByZXBhcmVkX3NvY2tldHMgPSBuZXRzbm1wX3NkX2xpc3Rlbl9mZHMoMCk7CisrI2VuZGlmIC8qIE5FVFNOTVBfTk9fU1lTVEVNRCAqLworKworICAgICAvKgorICAgICAgKiBjbG9zZSBhbGwgbm9uLXN0YW5kYXJkIGZpbGUgZGVzY3JpcHRvcnMgd2UgbWF5IGhhdmUKKyAgICAgICogaW5oZXJpdGVkIGZyb20gdGhlIHNoZWxsLgorICAgICAgKi8KKy0gICAgZm9yIChpID0gZ2V0ZHRhYmxlc2l6ZSgpIC0gMTsgaSA+IDI7IC0taSkgeworLSAgICAgICAgKHZvaWQpIGNsb3NlKGkpOworLSAgICB9CisrICAgIGlmICghcHJlcGFyZWRfc29ja2V0cykgeworKyAgICAgICAgZm9yIChpID0gZ2V0ZHRhYmxlc2l6ZSgpIC0gMTsgaSA+IDI7IC0taSkgeworKyAgICAgICAgICAgICh2b2lkKSBjbG9zZShpKTsKKysgICAgICAgIH0gICAgCisrfQorICNlbmRpZiAvKiAjV0lOMzIgKi8KKyAgICAgCisgICAgIC8qCitAQCAtMTEwNyw2ICsxMTIxLDE5IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAgICAgbmV0c25tcF9hZGRyY2FjaGVfaW5pdGlhbGlzZSgpOworIAorICAgICAvKgorKyAgICAgKiBMZXQgc3lzdGVtZCBrbm93IHdlJ3JlIHVwLgorKyAgICAgKi8KKysjaWZuZGVmIE5FVFNOTVBfTk9fU1lTVEVNRAorKyAgICBuZXRzbm1wX3NkX25vdGlmeSgxLCAiUkVBRFk9MVxuIik7CisrICAgIGlmIChwcmVwYXJlZF9zb2NrZXRzKQorKyAgICAgICAgLyoKKysgICAgICAgICAqIENsZWFyIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSwgd2UgYWxyZWFkeSBwcm9jZXNzZWQgYWxsIHRoZSBzb2NrZXRzCisrICAgICAgICAgKiBieSBub3cuCisrICAgICAgICAgKi8KKysgICAgICAgIG5ldHNubXBfc2RfbGlzdGVuX2ZkcygxKTsKKysjZW5kaWYKKysKKysgICAgLyoKKyAgICAgICogRm9yZXZlciBtb25pdG9yIHRoZSBkZXN0X3BvcnQgZm9yIGluY29taW5nIFBEVXMuICAKKyAgICAgICovCisgICAgIERFQlVHTVNHVEwoKCJzbm1wZC9tYWluIiwgIldlJ3JlIHVwLiAgU3RhcnRpbmcgdG8gcHJvY2VzcyBkYXRhLlxuIikpOworZGlmZiAtLWdpdCBhL2FwcHMvc25tcHRyYXBkLmMgYi9hcHBzL3NubXB0cmFwZC5jCitpbmRleCBiY2UwZDQ3Li5jNmE3NGVjIDEwMDY0NAorLS0tIGEvYXBwcy9zbm1wdHJhcGQuYworKysrIGIvYXBwcy9zbm1wdHJhcGQuYworQEAgLTEyNSw2ICsxMjUsMTAgQEAgU09GVFdBUkUuCisgCisgI2luY2x1ZGUgPG5ldC1zbm1wL25ldC1zbm1wLWZlYXR1cmVzLmg+CisgCisrI2lmbmRlZiBORVRTTk1QX05PX1NZU1RFTUQKKysjaW5jbHVkZSA8bmV0LXNubXAvbGlicmFyeS9zZC1kYWVtb24uaD4KKysjZW5kaWYKKysKKyAjaWZuZGVmIEJTRDRfMworICNkZWZpbmUgQlNENF8yCisgI2VuZGlmCitAQCAtNjU3LDE2ICs2NjEsMjUgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorICAgICBpbnQgICAgICAgICAgICAgYWdlbnR4X3N1YmFnZW50ID0gMTsKKyAjZW5kaWYKKyAgICAgbmV0c25tcF90cmFwZF9oYW5kbGVyICp0cmFwaDsKKysjaWZuZGVmIFdJTjMyCisrICAgIGludCAgICAgICAgICAgICBwcmVwYXJlZF9zb2NrZXRzID0gMDsKKysjZW5kaWYKKyAKKyAKKyAjaWZuZGVmIFdJTjMyCisrI2lmbmRlZiBORVRTTk1QX05PX1NZU1RFTUQKKysgICAgLyogY2hlY2sgaWYgc3lzdGVtZCBoYXMgc29ja2V0cyBmb3IgdXMgYW5kIGRvbid0IGNsb3NlIHRoZW0gKi8KKysgICAgcHJlcGFyZWRfc29ja2V0cyA9IG5ldHNubXBfc2RfbGlzdGVuX2ZkcygwKTsKKysjZW5kaWYKKyAgICAgLyoKKyAgICAgICogY2xvc2UgYWxsIG5vbi1zdGFuZGFyZCBmaWxlIGRlc2NyaXB0b3JzIHdlIG1heSBoYXZlCisgICAgICAqIGluaGVyaXRlZCBmcm9tIHRoZSBzaGVsbC4KKyAgICAgICovCistICAgIGZvciAoaSA9IGdldGR0YWJsZXNpemUoKSAtIDE7IGkgPiAyOyAtLWkpIHsKKy0gICAgICAgICh2b2lkKSBjbG9zZShpKTsKKy0gICAgfQorKyAgICBpZiAoIXByZXBhcmVkX3NvY2tldHMpIHsKKysgICAgICAgIGZvciAoaSA9IGdldGR0YWJsZXNpemUoKSAtIDE7IGkgPiAyOyAtLWkpIHsKKysgICAgICAgICAgICAodm9pZCkgY2xvc2UoaSk7CisrICAgICAgICB9ICAgIAorK30KKyAjZW5kaWYgLyogI1dJTjMyICovCisgICAgIAorICNpZmRlZiBTSUdURVJNCitAQCAtMTMxOCw2ICsxMzMxLDE5IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAjZW5kaWYKKyAjZW5kaWYKKyAKKysgICAgLyoKKysgICAgICogTGV0IHN5c3RlbWQga25vdyB3ZSdyZSB1cC4KKysgICAgICovCisrI2lmbmRlZiBORVRTTk1QX05PX1NZU1RFTUQKKysgICAgbmV0c25tcF9zZF9ub3RpZnkoMSwgIlJFQURZPTFcbiIpOworKyAgICBpZiAocHJlcGFyZWRfc29ja2V0cykKKysgICAgICAgIC8qCisrICAgICAgICAgKiBDbGVhciB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUsIHdlIGFscmVhZHkgcHJvY2Vzc2VkIGFsbCB0aGUgc29ja2V0cworKyAgICAgICAgICogYnkgbm93LgorKyAgICAgICAgICovCisrICAgICAgICBuZXRzbm1wX3NkX2xpc3Rlbl9mZHMoMSk7CisrI2VuZGlmCisrCisgI2lmZGVmIFdJTjMyU0VSVklDRQorICAgICB0cmFwZF9zdGF0dXMgPSBTTk1QVFJBUERfUlVOTklORzsKKyAjZW5kaWYKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuZC9jb25maWdfbW9kdWxlc19saWIgYi9jb25maWd1cmUuZC9jb25maWdfbW9kdWxlc19saWIKK2luZGV4IDM2MmJhMGEuLmJiNjlkYWEgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuZC9jb25maWdfbW9kdWxlc19saWIKKysrKyBiL2NvbmZpZ3VyZS5kL2NvbmZpZ19tb2R1bGVzX2xpYgorQEAgLTUzLDYgKzUzLDE0IEBAIGlmIHRlc3QgIngkUEFSVElBTFRBUkdFVE9TIiA9ICJ4bWluZ3czMiIgLW8gIngkUEFSVElBTFRBUkdFVE9TIiA9ICJ4bWluZ3czMm1zdmMiCisgICBvdGhlcl9mdG9ianNfbGlzdD0iJG90aGVyX2Z0b2Jqc19saXN0IHdpbnBpcGUuZnQiCisgZmkKKyAKKysjIExpbnV4IHN5c3RlbWQKKytpZiB0ZXN0ICJ4JHdpdGhfc3lzdGVtZCIgPT0gInh5ZXMiOyB0aGVuCisrICBvdGhlcl9zcmNfbGlzdD0iJG90aGVyX3NyY19saXN0IHNkLWRhZW1vbi5jIgorKyAgb3RoZXJfb2Jqc19saXN0PSIkb3RoZXJfb2Jqc19saXN0IHNkLWRhZW1vbi5vIgorKyAgb3RoZXJfbG9ianNfbGlzdD0iJG90aGVyX2xvYmpzX2xpc3Qgc2QtZGFlbW9uLmxvIgorKyAgb3RoZXJfZnRvYmpzX2xpc3Q9IiRvdGhlcl9mdG9ianNfbGlzdCBzZC1kYWVtb24uZnQiCisrZmkKKysKKyBBQ19TVUJTVChvdGhlcl9zcmNfbGlzdCkKKyBBQ19TVUJTVChvdGhlcl9vYmpzX2xpc3QpCisgQUNfU1VCU1Qob3RoZXJfbG9ianNfbGlzdCkKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuZC9jb25maWdfcHJvamVjdF93aXRoX2VuYWJsZSBiL2NvbmZpZ3VyZS5kL2NvbmZpZ19wcm9qZWN0X3dpdGhfZW5hYmxlCitpbmRleCA2MWJhMDI2Li5kNzgyZDEyIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmQvY29uZmlnX3Byb2plY3Rfd2l0aF9lbmFibGUKKysrKyBiL2NvbmZpZ3VyZS5kL2NvbmZpZ19wcm9qZWN0X3dpdGhfZW5hYmxlCitAQCAtNjkwLDYgKzY5MCwxNSBAQCBpZiB0ZXN0ICJ4JHdpdGhfZHVtbXlfdmFsdWVzIiAhPSAieHllcyI7IHRoZW4KKyAgICAgIGRhdGEgZm9yXSkKKyBmaQorIAorK05FVFNOTVBfQVJHX1dJVEgoc3lzdGVtZCwKKytbICAtLXdpdGgtc3lzdGVtZCAgICAgICAgICAgICAgICAgUHJvdmlkZSBzeXN0ZW1kIHN1cHBvcnQuIFNlZSBSRUFETUUuc3lzdGVtZAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgZGV0YWlscy5dKQorKyMgRGVmaW5lIHVubGVzcyBzcGVjaWZpY2FsbHkgc3VwcHJlc3NlZCAoaS5lLiwgb3B0aW9uIGRlZmF1bHRzIHRvIGZhbHNlKS4KKytpZiB0ZXN0ICJ4JHdpdGhfc3lzdGVtZCIgIT0gInh5ZXMiOyB0aGVuCisrICBBQ19ERUZJTkUoTkVUU05NUF9OT19TWVNURU1ELCAxLAorKyAgICBbSWYgeW91IGRvbid0IHdhbnQgdG8gaW50ZWdyYXRlIHdpdGggc3lzdGVtZC5dKQorK2ZpCisrCisgTkVUU05NUF9BUkdfRU5BQkxFKHNldC1zdXBwb3J0LAorIFsgIC0tZGlzYWJsZS1zZXQtc3VwcG9ydCAgICAgICAgICAgRG8gbm90IGFsbG93IFNOTVAgc2V0IHJlcXVlc3RzLl0pCisgaWYgdGVzdCAieCRlbmFibGVfc2V0X3N1cHBvcnQiID0gInhubyI7IHRoZW4KK2RpZmYgLS1naXQgYS9kaXN0L3NubXBkLnNlcnZpYyBiL2Rpc3Qvc25tcGQuc2VydmljCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMzEzOTFlNQorLS0tIC9kZXYvbnVsbAorKysrIGIvZGlzdC9zbm1wZC5zZXJ2aWMKK0BAIC0wLDAgKzEsMTggQEAKKysjCisrIyBTTk1QIGFnZW50IHNlcnZpY2UgZmlsZSBmb3Igc3lzdGVtZAorKyMKKysjCisrIyBUaGUgc2VydmljZSBzaG91bGQgYmUgZW5hYmxlZCwgaS5lLiBzbm1wZCBzaG91bGQgc3RhcnQgZHVyaW5nIG1hY2hpbmUgYm9vdC4KKysjIFNvY2tldCBhY3RpdmF0aW9uIHNoYWxsIG5vdCBiZSB1c2VkLiBTZWUgUkVBRE1FLnN5c3RlbWQgZm9yIGRldGFpbHMuCisrCisrW1VuaXRdCisrRGVzY3JpcHRpb249U2ltcGxlIE5ldHdvcmsgTWFuYWdlbWVudCBQcm90b2NvbCAoU05NUCkgZGFlbW9uLgorK0FmdGVyPXN5c2xvZy50YXJnZXQgbmV0d29yay50YXJnZXQKKysKKytbU2VydmljZV0KKysjIFR5cGU9bm90aWZ5IGlzIGFsc28gc3VwcG9ydGVkLiBJdCBzaG91bGQgYmUgc2V0IHdoZW4gc25tcGQuc29ja2V0IGlzIG5vdCB1c2VkLgorK1R5cGU9c2ltcGxlCisrRXhlY1N0YXJ0PS91c3Ivc2Jpbi9zbm1wZCAtZgorKworK1tJbnN0YWxsXQorK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CitkaWZmIC0tZ2l0IGEvZGlzdC9zbm1wZC5zb2NrZXQgYi9kaXN0L3NubXBkLnNvY2tldAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjdmM2EyZDkKKy0tLSAvZGV2L251bGwKKysrKyBiL2Rpc3Qvc25tcGQuc29ja2V0CitAQCAtMCwwICsxLDE3IEBACisrW1VuaXRdCisrRGVzY3JpcHRpb249U29ja2V0IGxpc3RlbmluZyBmb3IgU05NUCBhbmQgQWdlbnRYIG1lc3NhZ2VzCisrCisrW1NvY2tldF0KKytMaXN0ZW5EYXRhZ3JhbT0wLjAuMC4wOjE2MQorKyMgVW5jb21tZW50IG90aGVyIGxpc3RlbmluZyBhZGRyZXNzZXMgYXMgbmVlZGVkIC0gVENQLCBVRFA2LCBUQ1A2LgorKyMgSXQgbXVzdCBtYXRjaCBsaXN0ZW5pbmcgYWRkcmVzc2VzL3BvcnRzIGRlZmluZWQgaW4gc25tcGQuc2VydmljZQorKyMgb3Igc25tcGQuY29uZi4KKysjIExpc3RlblN0cmVhbT0wLjAuMC4wOjE2MQorKyMgTGlzdGVuRGF0YWdyYW09Wzo6XToxNjEKKysjIExpc3RlblN0cmVhbT1bOjpdOjE2MQorKyMKKysjIFVuY29tbWVudCBBZ2VudFggc29ja2V0IGlmIHNubXBkLmNvbmYgZW5hYmxlcyBBZ2VudFggcHJvdG9jb2wuCisrIyBMaXN0ZW5TdHJlYW09L3Zhci9hZ2VudHgvbWFzdGVyCisrCisrW0luc3RhbGxdCisrV2FudGVkQnk9c29ja2V0cy50YXJnZXQKK2RpZmYgLS1naXQgYS9kaXN0L3NubXB0cmFwZC5zZXJ2aWNlIGIvZGlzdC9zbm1wdHJhcGQuc2VydmljZQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmU4OGE1YjQKKy0tLSAvZGV2L251bGwKKysrKyBiL2Rpc3Qvc25tcHRyYXBkLnNlcnZpY2UKK0BAIC0wLDAgKzEsMTYgQEAKKysjCisrIyBTTk1QIHRyYXAtcHJvY2Vzc2luZyBzZXJ2aWNlIGZpbGUgZm9yIHN5c3RlbWQKKysjCisrCisrW1VuaXRdCisrRGVzY3JpcHRpb249U2ltcGxlIE5ldHdvcmsgTWFuYWdlbWVudCBQcm90b2NvbCAoU05NUCkgVHJhcCBkYWVtb24uCisrQWZ0ZXI9c3lzbG9nLnRhcmdldCBuZXR3b3JrLnRhcmdldAorKworK1tTZXJ2aWNlXQorKyMgVHlwZT1ub3RpZnkgaXMgYWxzbyBzdXBwb3J0ZWQuIEl0IHNob3VsZCBiZSBzZXQgd2hlbiBzbm1wdHJhcGQuc29ja2V0IGlzIG5vdAorKyMgdXNlZC4KKytUeXBlPXNpbXBsZQorK0V4ZWNTdGFydD0vdXNyL3NiaW4vc25tcHRyYXBkIC1mCisrCisrW0luc3RhbGxdCisrV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKK2RpZmYgLS1naXQgYS9kaXN0L3NubXB0cmFwZC5zb2NrZXQgYi9kaXN0L3NubXB0cmFwZC5zb2NrZXQKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi4yZDI0ZmI4CistLS0gL2Rldi9udWxsCisrKysgYi9kaXN0L3NubXB0cmFwZC5zb2NrZXQKK0BAIC0wLDAgKzEsMTQgQEAKKysrW1VuaXRdCisrK0Rlc2NyaXB0aW9uPVNvY2tldCBsaXN0ZW5pbmcgZm9yIFNOTVAgdHJhcCBtZXNzYWdlcworKysKKysrW1NvY2tldF0KKysrTGlzdGVuRGF0YWdyYW09MC4wLjAuMDoxNjIKKysrIyBVbmNvbW1lbnQgb3RoZXIgbGlzdGVuaW5nIGFkZHJlc3NlcyBhcyBuZWVkZWQgLSBUQ1AsIFVEUDYsIFRDUDYuCisrKyMgSXQgbXVzdCBtYXRjaCBsaXN0ZW5pbmcgYWRkcmVzc2VzL3BvcnRzIGRlZmluZWQgaW4gc25tcHRyYXBkLnNlcnZpY2UKKysrIyBvciBzbm1wdHJhcGQuY29uZi4KKysrIyBMaXN0ZW5TdHJlYW09MC4wLjAuMDoxNjIKKysrIyBMaXN0ZW5EYXRhZ3JhbT1bOjpdOjE2MgorKysjIExpc3RlblN0cmVhbT1bOjpdOjE2MgorKysKKysrW0luc3RhbGxdCisrK1dhbnRlZEJ5PXNvY2tldHMudGFyZ2V0CitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXQtc25tcC9saWJyYXJ5L3NkLWRhZW1vbi5oIGIvaW5jbHVkZS9uZXQtc25tcC9saWJyYXJ5L3NkLWRhZW1vbi5oCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uODUyNzRjOQorLS0tIC9kZXYvbnVsbAorKysrIGIvaW5jbHVkZS9uZXQtc25tcC9saWJyYXJ5L3NkLWRhZW1vbi5oCitAQCAtMCwwICsxLDI5MCBAQAorKy8qLSotIE1vZGU6IEM7IGMtYmFzaWMtb2Zmc2V0OiA4OyBpbmRlbnQtdGFicy1tb2RlOiBuaWwgLSotKi8KKysKKysjaWZuZGVmIFNOTVBEX1NEX0RBRU1PTl9ICisrI2RlZmluZSBTTk1QRF9TRF9EQUVNT05fSAorKworKy8qKioKKysgIENvcHlyaWdodCAyMDEwIExlbm5hcnQgUG9ldHRlcmluZworKworKyAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24KKysgIG9idGFpbmluZyBhIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzCisrICAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLAorKyAgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwKKysgIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsCisrICBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorKyAgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisrCisrICBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZQorKyAgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisrCisrICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKysgIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKyAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQKKysgIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMKKysgIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTgorKyAgQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKysgIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKKysgIFNPRlRXQVJFLgorKyoqKi8KKysKKysjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAorKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKysjZW5kaWYKKysjaWZkZWYgSEFWRV9JTlRUWVBFU19ICisrI2luY2x1ZGUgPGludHR5cGVzLmg+CisrI2VuZGlmCisrCisrI2lmZGVmIF9fY3BsdXNwbHVzCisrZXh0ZXJuICJDIiB7CisrI2VuZGlmCisrCisrLyoKKysgIFJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBvZiBhIGZldyBzeXN0ZW1kIHJlbGF0ZWQgaW50ZXJmYWNlcyBmb3IKKysgIHdyaXRpbmcgZGFlbW9ucy4gVGhlc2UgaW50ZXJmYWNlcyBhcmUgdHJpdmlhbCB0byBpbXBsZW1lbnQuIFRvCisrICBzaW1wbGlmeSBwb3J0aW5nIHdlIHByb3ZpZGUgdGhpcyByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24uCisrICBBcHBsaWNhdGlvbnMgYXJlIHdlbGNvbWUgdG8gcmVpbXBsZW1lbnQgdGhlIGFsZ29yaXRobXMgZGVzY3JpYmVkCisrICBoZXJlIGlmIHRoZXkgZG8gbm90IHdhbnQgdG8gaW5jbHVkZSB0aGVzZSB0d28gc291cmNlIGZpbGVzLgorKworKyAgVGhlIGZvbGxvd2luZyBmdW5jdGlvbmFsaXR5IGlzIHByb3ZpZGVkOgorKworKyAgLSBTdXBwb3J0IGZvciBsb2dnaW5nIHdpdGggbG9nIGxldmVscyBvbiBzdGRlcnIKKysgIC0gRmlsZSBkZXNjcmlwdG9yIHBhc3NpbmcgZm9yIHNvY2tldC1iYXNlZCBhY3RpdmF0aW9uCisrICAtIERhZW1vbiBzdGFydHVwIGFuZCBzdGF0dXMgbm90aWZpY2F0aW9uCisrICAtIERldGVjdGlvbiBvZiBzeXN0ZW1kIGJvb3RzCisrCisrICBZb3UgbWF5IGNvbXBpbGUgdGhpcyB3aXRoIC1ERElTQUJMRV9TWVNURU1EIHRvIGRpc2FibGUgc3lzdGVtZAorKyAgc3VwcG9ydC4gVGhpcyBtYWtlcyBhbGwgdGhvc2UgY2FsbHMgTk9QcyB0aGF0IGFyZSBkaXJlY3RseSByZWxhdGVkIHRvCisrICBzeXN0ZW1kIChpLmUuIG9ubHkgc2RfaXNfeHh4KCkgd2lsbCBzdGF5IHVzZWZ1bCkuCisrCisrICBTaW5jZSB0aGlzIGlzIGRyb3AtaW4gY29kZSB3ZSBkb24ndCB3YW50IGFueSBvZiBvdXIgc3ltYm9scyB0byBiZQorKyAgZXhwb3J0ZWQgaW4gYW55IGNhc2UuIEhlbmNlIHdlIGRlY2xhcmUgaGlkZGVuIHZpc2liaWxpdHkgZm9yIGFsbCBvZgorKyAgdGhlbS4KKysKKysgIFlvdSBtYXkgZmluZCBhbiB1cC10by1kYXRlIHZlcnNpb24gb2YgdGhlc2Ugc291cmNlIGZpbGVzIG9ubGluZToKKysKKysgIGh0dHA6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy9zeXN0ZW1kL3BsYWluL3NyYy9zZC1kYWVtb24uaAorKyAgaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL3N5c3RlbWQvcGxhaW4vc3JjL3NkLWRhZW1vbi5jCisrCisrICBUaGlzIHNob3VsZCBjb21waWxlIG9uIG5vbi1MaW51eCBzeXN0ZW1zLCB0b28sIGJ1dCB3aXRoIHRoZQorKyAgZXhjZXB0aW9uIG9mIHRoZSBzZF9pc194eHgoKSBjYWxscyBhbGwgZnVuY3Rpb25zIHdpbGwgYmVjb21lIE5PUHMuCisrCisrICBTZWUgc2QtZGFlbW9uKDcpIGZvciBtb3JlIGluZm9ybWF0aW9uLgorKyovCisrCisrI2lmbmRlZiBfc2RfcHJpbnRmX2F0dHJfCisrI2lmIF9fR05VQ19fID49IDQKKysjZGVmaW5lIF9zZF9wcmludGZfYXR0cl8oYSxiKSBfX2F0dHJpYnV0ZV9fICgoZm9ybWF0IChwcmludGYsIGEsIGIpKSkKKysjZWxzZQorKyNkZWZpbmUgX3NkX3ByaW50Zl9hdHRyXyhhLGIpCisrI2VuZGlmCisrI2VuZGlmCisrCisrLyoKKysgIExvZyBsZXZlbHMgZm9yIHVzYWdlIG9uIHN0ZGVycjoKKysKKysgICAgICAgICAgZnByaW50ZihzdGRlcnIsIFNEX05PVElDRSAiSGVsbG8gV29ybGQhXG4iKTsKKysKKysgIFRoaXMgaXMgc2ltaWxhciB0byBwcmludGsoKSB1c2FnZSBpbiB0aGUga2VybmVsLgorKyovCisrI2RlZmluZSBTRF9FTUVSRyAgICI8MD4iICAvKiBzeXN0ZW0gaXMgdW51c2FibGUgKi8KKysjZGVmaW5lIFNEX0FMRVJUICAgIjwxPiIgIC8qIGFjdGlvbiBtdXN0IGJlIHRha2VuIGltbWVkaWF0ZWx5ICovCisrI2RlZmluZSBTRF9DUklUICAgICI8Mj4iICAvKiBjcml0aWNhbCBjb25kaXRpb25zICovCisrI2RlZmluZSBTRF9FUlIgICAgICI8Mz4iICAvKiBlcnJvciBjb25kaXRpb25zICovCisrI2RlZmluZSBTRF9XQVJOSU5HICI8ND4iICAvKiB3YXJuaW5nIGNvbmRpdGlvbnMgKi8KKysjZGVmaW5lIFNEX05PVElDRSAgIjw1PiIgIC8qIG5vcm1hbCBidXQgc2lnbmlmaWNhbnQgY29uZGl0aW9uICovCisrI2RlZmluZSBTRF9JTkZPICAgICI8Nj4iICAvKiBpbmZvcm1hdGlvbmFsICovCisrI2RlZmluZSBTRF9ERUJVRyAgICI8Nz4iICAvKiBkZWJ1Zy1sZXZlbCBtZXNzYWdlcyAqLworKworKy8qIFRoZSBmaXJzdCBwYXNzZWQgZmlsZSBkZXNjcmlwdG9yIGlzIGZkIDMgKi8KKysjZGVmaW5lIFNEX0xJU1RFTl9GRFNfU1RBUlQgMworKworKy8qCisrICBSZXR1cm5zIGhvdyBtYW55IGZpbGUgZGVzY3JpcHRvcnMgaGF2ZSBiZWVuIHBhc3NlZCwgb3IgYSBuZWdhdGl2ZQorKyAgZXJybm8gY29kZSBvbiBmYWlsdXJlLiBPcHRpb25hbGx5LCByZW1vdmVzIHRoZSAkTElTVEVOX0ZEUyBhbmQKKysgICRMSVNURU5fUElEIGZpbGUgZGVzY3JpcHRvcnMgZnJvbSB0aGUgZW52aXJvbm1lbnQgKHJlY29tbWVuZGVkLCBidXQKKysgIHByb2JsZW1hdGljIGluIHRocmVhZGVkIGVudmlyb25tZW50cykuIElmIHIgaXMgdGhlIHJldHVybiB2YWx1ZSBvZgorKyAgdGhpcyBmdW5jdGlvbiB5b3UnbGwgZmluZCB0aGUgZmlsZSBkZXNjcmlwdG9ycyBwYXNzZWQgYXMgZmRzCisrICBTRF9MSVNURU5fRkRTX1NUQVJUIHRvIFNEX0xJU1RFTl9GRFNfU1RBUlQrci0xLiBSZXR1cm5zIGEgbmVnYXRpdmUKKysgIGVycm5vIHN0eWxlIGVycm9yIGNvZGUgb24gZmFpbHVyZS4gVGhpcyBmdW5jdGlvbiBjYWxsIGVuc3VyZXMgdGhhdAorKyAgdGhlIEZEX0NMT0VYRUMgZmxhZyBpcyBzZXQgZm9yIHRoZSBwYXNzZWQgZmlsZSBkZXNjcmlwdG9ycywgdG8gbWFrZQorKyAgc3VyZSB0aGV5IGFyZSBub3QgcGFzc2VkIG9uIHRvIGNoaWxkIHByb2Nlc3Nlcy4gSWYgRkRfQ0xPRVhFQyBzaGFsbAorKyAgbm90IGJlIHNldCwgdGhlIGNhbGxlciBuZWVkcyB0byB1bnNldCBpdCBhZnRlciB0aGlzIGNhbGwgZm9yIGFsbCBmaWxlCisrICBkZXNjcmlwdG9ycyB0aGF0IGFyZSB1c2VkLgorKworKyAgU2VlIHNkX2xpc3Rlbl9mZHMoMykgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisrKi8KKytpbnQgbmV0c25tcF9zZF9saXN0ZW5fZmRzKGludCB1bnNldF9lbnZpcm9ubWVudCk7CisrCisrLyoKKysgIEhlbHBlciBjYWxsIGZvciBpZGVudGlmeWluZyBhIHBhc3NlZCBmaWxlIGRlc2NyaXB0b3IuIFJldHVybnMgMSBpZgorKyAgdGhlIGZpbGUgZGVzY3JpcHRvciBpcyBhIEZJRk8gaW4gdGhlIGZpbGUgc3lzdGVtIHN0b3JlZCB1bmRlciB0aGUKKysgIHNwZWNpZmllZCBwYXRoLCAwIG90aGVyd2lzZS4gSWYgcGF0aCBpcyBOVUxMIGEgcGF0aCBuYW1lIGNoZWNrIHdpbGwKKysgIG5vdCBiZSBkb25lIGFuZCB0aGUgY2FsbCBvbmx5IHZlcmlmaWVzIGlmIHRoZSBmaWxlIGRlc2NyaXB0b3IKKysgIHJlZmVycyB0byBhIEZJRk8uIFJldHVybnMgYSBuZWdhdGl2ZSBlcnJubyBzdHlsZSBlcnJvciBjb2RlIG9uCisrICBmYWlsdXJlLgorKworKyAgU2VlIHNkX2lzX2ZpZm8oMykgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisrKi8KKytpbnQgbmV0c25tcF9zZF9pc19maWZvKGludCBmZCwgY29uc3QgY2hhciAqcGF0aCk7CisrCisrLyoKKysgIEhlbHBlciBjYWxsIGZvciBpZGVudGlmeWluZyBhIHBhc3NlZCBmaWxlIGRlc2NyaXB0b3IuIFJldHVybnMgMSBpZgorKyAgdGhlIGZpbGUgZGVzY3JpcHRvciBpcyBhIHNwZWNpYWwgY2hhcmFjdGVyIGRldmljZSBvbiB0aGUgZmlsZQorKyAgc3lzdGVtIHN0b3JlZCB1bmRlciB0aGUgc3BlY2lmaWVkIHBhdGgsIDAgb3RoZXJ3aXNlLgorKyAgSWYgcGF0aCBpcyBOVUxMIGEgcGF0aCBuYW1lIGNoZWNrIHdpbGwgbm90IGJlIGRvbmUgYW5kIHRoZSBjYWxsCisrICBvbmx5IHZlcmlmaWVzIGlmIHRoZSBmaWxlIGRlc2NyaXB0b3IgcmVmZXJzIHRvIGEgc3BlY2lhbCBjaGFyYWN0ZXIuCisrICBSZXR1cm5zIGEgbmVnYXRpdmUgZXJybm8gc3R5bGUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgorKworKyAgU2VlIHNkX2lzX3NwZWNpYWwoMykgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisrKi8KKytpbnQgbmV0c25tcF9zZF9pc19zcGVjaWFsKGludCBmZCwgY29uc3QgY2hhciAqcGF0aCk7CisrCisrLyoKKysgIEhlbHBlciBjYWxsIGZvciBpZGVudGlmeWluZyBhIHBhc3NlZCBmaWxlIGRlc2NyaXB0b3IuIFJldHVybnMgMSBpZgorKyAgdGhlIGZpbGUgZGVzY3JpcHRvciBpcyBhIHNvY2tldCBvZiB0aGUgc3BlY2lmaWVkIGZhbWlseSAoQUZfSU5FVCwKKysgIC4uLikgYW5kIHR5cGUgKFNPQ0tfREdSQU0sIFNPQ0tfU1RSRUFNLCAuLi4pLCAwIG90aGVyd2lzZS4gSWYKKysgIGZhbWlseSBpcyAwIGEgc29ja2V0IGZhbWlseSBjaGVjayB3aWxsIG5vdCBiZSBkb25lLiBJZiB0eXBlIGlzIDAgYQorKyAgc29ja2V0IHR5cGUgY2hlY2sgd2lsbCBub3QgYmUgZG9uZSBhbmQgdGhlIGNhbGwgb25seSB2ZXJpZmllcyBpZgorKyAgdGhlIGZpbGUgZGVzY3JpcHRvciByZWZlcnMgdG8gYSBzb2NrZXQuIElmIGxpc3RlbmluZyBpcyA+IDAgaXQgaXMKKysgIHZlcmlmaWVkIHRoYXQgdGhlIHNvY2tldCBpcyBpbiBsaXN0ZW5pbmcgbW9kZS4gKGkuZS4gbGlzdGVuKCkgaGFzCisrICBiZWVuIGNhbGxlZCkgSWYgbGlzdGVuaW5nIGlzID09IDAgaXQgaXMgdmVyaWZpZWQgdGhhdCB0aGUgc29ja2V0IGlzCisrICBub3QgaW4gbGlzdGVuaW5nIG1vZGUuIElmIGxpc3RlbmluZyBpcyA8IDAgbm8gbGlzdGVuaW5nIG1vZGUgY2hlY2sKKysgIGlzIGRvbmUuIFJldHVybnMgYSBuZWdhdGl2ZSBlcnJubyBzdHlsZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCisrCisrICBTZWUgc2RfaXNfc29ja2V0KDMpIGZvciBtb3JlIGluZm9ybWF0aW9uLgorKyovCisraW50IG5ldHNubXBfc2RfaXNfc29ja2V0KGludCBmZCwgaW50IGZhbWlseSwgaW50IHR5cGUsIGludCBsaXN0ZW5pbmcpOworKworKy8qCisrICBIZWxwZXIgY2FsbCBmb3IgaWRlbnRpZnlpbmcgYSBwYXNzZWQgZmlsZSBkZXNjcmlwdG9yLiBSZXR1cm5zIDEgaWYKKysgIHRoZSBmaWxlIGRlc2NyaXB0b3IgaXMgYW4gSW50ZXJuZXQgc29ja2V0LCBvZiB0aGUgc3BlY2lmaWVkIGZhbWlseQorKyAgKGVpdGhlciBBRl9JTkVUIG9yIEFGX0lORVQ2KSBhbmQgdGhlIHNwZWNpZmllZCB0eXBlIChTT0NLX0RHUkFNLAorKyAgU09DS19TVFJFQU0sIC4uLiksIDAgb3RoZXJ3aXNlLiBJZiB2ZXJzaW9uIGlzIDAgYSBwcm90b2NvbCB2ZXJzaW9uCisrICBjaGVjayBpcyBub3QgZG9uZS4gSWYgdHlwZSBpcyAwIGEgc29ja2V0IHR5cGUgY2hlY2sgd2lsbCBub3QgYmUKKysgIGRvbmUuIElmIHBvcnQgaXMgMCBhIHNvY2tldCBwb3J0IGNoZWNrIHdpbGwgbm90IGJlIGRvbmUuIFRoZQorKyAgbGlzdGVuaW5nIGZsYWcgaXMgdXNlZCB0aGUgc2FtZSB3YXkgYXMgaW4gc2RfaXNfc29ja2V0KCkuIFJldHVybnMgYQorKyAgbmVnYXRpdmUgZXJybm8gc3R5bGUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgorKworKyAgU2VlIHNkX2lzX3NvY2tldF9pbmV0KDMpIGZvciBtb3JlIGluZm9ybWF0aW9uLgorKyovCisraW50IG5ldHNubXBfc2RfaXNfc29ja2V0X2luZXQoaW50IGZkLCBpbnQgZmFtaWx5LCBpbnQgdHlwZSwgaW50IGxpc3RlbmluZywgdWludDE2X3QgcG9ydCk7CisrCisrLyoKKysgIEhlbHBlciBjYWxsIGZvciBpZGVudGlmeWluZyBhIHBhc3NlZCBmaWxlIGRlc2NyaXB0b3IuIFJldHVybnMgMSBpZgorKyAgdGhlIGZpbGUgZGVzY3JpcHRvciBpcyBhbiBBRl9VTklYIHNvY2tldCBvZiB0aGUgc3BlY2lmaWVkIHR5cGUKKysgIChTT0NLX0RHUkFNLCBTT0NLX1NUUkVBTSwgLi4uKSBhbmQgcGF0aCwgMCBvdGhlcndpc2UuIElmIHR5cGUgaXMgMAorKyAgYSBzb2NrZXQgdHlwZSBjaGVjayB3aWxsIG5vdCBiZSBkb25lLiBJZiBwYXRoIGlzIE5VTEwgYSBzb2NrZXQgcGF0aAorKyAgY2hlY2sgd2lsbCBub3QgYmUgZG9uZS4gRm9yIG5vcm1hbCBBRl9VTklYIHNvY2tldHMgc2V0IGxlbmd0aCB0bworKyAgMC4gRm9yIGFic3RyYWN0IG5hbWVzcGFjZSBzb2NrZXRzIHNldCBsZW5ndGggdG8gdGhlIGxlbmd0aCBvZiB0aGUKKysgIHNvY2tldCBuYW1lIChpbmNsdWRpbmcgdGhlIGluaXRpYWwgMCBieXRlKSwgYW5kIHBhc3MgdGhlIGZ1bGwKKysgIHNvY2tldCBwYXRoIGluIHBhdGggKGluY2x1ZGluZyB0aGUgaW5pdGlhbCAwIGJ5dGUpLiBUaGUgbGlzdGVuaW5nCisrICBmbGFnIGlzIHVzZWQgdGhlIHNhbWUgd2F5IGFzIGluIHNkX2lzX3NvY2tldCgpLiBSZXR1cm5zIGEgbmVnYXRpdmUKKysgIGVycm5vIHN0eWxlIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KKysKKysgIFNlZSBzZF9pc19zb2NrZXRfdW5peCgzKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKysqLworK2ludCBuZXRzbm1wX3NkX2lzX3NvY2tldF91bml4KGludCBmZCwgaW50IHR5cGUsIGludCBsaXN0ZW5pbmcsIGNvbnN0IGNoYXIgKnBhdGgsIHNpemVfdCBsZW5ndGgpOworKworKy8qCisrICBJbmZvcm1zIHN5c3RlbWQgYWJvdXQgY2hhbmdlZCBkYWVtb24gc3RhdGUuIFRoaXMgdGFrZXMgYSBudW1iZXIgb2YKKysgIG5ld2xpbmUgc2VwYXJhdGVkIGVudmlyb25tZW50LXN0eWxlIHZhcmlhYmxlIGFzc2lnbm1lbnRzIGluIGEKKysgIHN0cmluZy4gVGhlIGZvbGxvd2luZyB2YXJpYWJsZXMgYXJlIGtub3duOgorKworKyAgICAgUkVBRFk9MSAgICAgIFRlbGxzIHN5c3RlbWQgdGhhdCBkYWVtb24gc3RhcnR1cCBpcyBmaW5pc2hlZCAob25seQorKyAgICAgICAgICAgICAgICAgIHJlbGV2YW50IGZvciBzZXJ2aWNlcyBvZiBUeXBlPW5vdGlmeSkuIFRoZSBwYXNzZWQKKysgICAgICAgICAgICAgICAgICBhcmd1bWVudCBpcyBhIGJvb2xlYW4gIjEiIG9yICIwIi4gU2luY2UgdGhlcmUgaXMKKysgICAgICAgICAgICAgICAgICBsaXR0bGUgdmFsdWUgaW4gc2lnbmFsaW5nIG5vbi1yZWFkaW5lc3MgdGhlIG9ubHkKKysgICAgICAgICAgICAgICAgICB2YWx1ZSBkYWVtb25zIHNob3VsZCBzZW5kIGlzICJSRUFEWT0xIi4KKysKKysgICAgIFNUQVRVUz0uLi4gICBQYXNzZXMgYSBzaW5nbGUtbGluZSBzdGF0dXMgc3RyaW5nIGJhY2sgdG8gc3lzdGVtZAorKyAgICAgICAgICAgICAgICAgIHRoYXQgZGVzY3JpYmVzIHRoZSBkYWVtb24gc3RhdGUuIFRoaXMgaXMgZnJlZS1mcm9tCisrICAgICAgICAgICAgICAgICAgYW5kIGNhbiBiZSB1c2VkIGZvciB2YXJpb3VzIHB1cnBvc2VzOiBnZW5lcmFsIHN0YXRlCisrICAgICAgICAgICAgICAgICAgZmVlZGJhY2ssIGZzY2stbGlrZSBwcm9ncmFtcyBjb3VsZCBwYXNzIGNvbXBsZXRpb24KKysgICAgICAgICAgICAgICAgICBwZXJjZW50YWdlcyBhbmQgZmFpbGluZyBwcm9ncmFtcyBjb3VsZCBwYXNzIGEgaHVtYW4KKysgICAgICAgICAgICAgICAgICByZWFkYWJsZSBlcnJvciBtZXNzYWdlLiBFeGFtcGxlOiAiU1RBVFVTPUNvbXBsZXRlZAorKyAgICAgICAgICAgICAgICAgIDY2JSBvZiBmaWxlIHN5c3RlbSBjaGVjay4uLiIKKysKKysgICAgIEVSUk5PPS4uLiAgICBJZiBhIGRhZW1vbiBmYWlscywgdGhlIGVycm5vLXN0eWxlIGVycm9yIGNvZGUsCisrICAgICAgICAgICAgICAgICAgZm9ybWF0dGVkIGFzIHN0cmluZy4gRXhhbXBsZTogIkVSUk5PPTIiIGZvciBFTk9FTlQuCisrCisrICAgICBCVVNFUlJPUj0uLi4gSWYgYSBkYWVtb24gZmFpbHMsIHRoZSBELUJ1cyBlcnJvci1zdHlsZSBlcnJvcgorKyAgICAgICAgICAgICAgICAgIGNvZGUuIEV4YW1wbGU6ICJCVVNFUlJPUj1vcmcuZnJlZWRlc2t0b3AuREJ1cy5FcnJvci5UaW1lZE91dCIKKysKKysgICAgIE1BSU5QSUQ9Li4uICBUaGUgbWFpbiBwaWQgb2YgYSBkYWVtb24sIGluIGNhc2Ugc3lzdGVtZCBkaWQgbm90CisrICAgICAgICAgICAgICAgICAgZm9yayBvZmYgdGhlIHByb2Nlc3MgaXRzZWxmLiBFeGFtcGxlOiAiTUFJTlBJRD00NzExIgorKworKyAgRGFlbW9ucyBjYW4gY2hvb3NlIHRvIHNlbmQgYWRkaXRpb25hbCB2YXJpYWJsZXMuIEhvd2V2ZXIsIGl0IGlzCisrICByZWNvbW1lbmRlZCB0byBwcmVmaXggdmFyaWFibGUgbmFtZXMgbm90IGxpc3RlZCBhYm92ZSB3aXRoIFhfLgorKworKyAgUmV0dXJucyBhIG5lZ2F0aXZlIGVycm5vLXN0eWxlIGVycm9yIGNvZGUgb24gZmFpbHVyZS4gUmV0dXJucyA+IDAKKysgIGlmIHN5c3RlbWQgY291bGQgYmUgbm90aWZpZWQsIDAgaWYgaXQgY291bGRuJ3QgcG9zc2libHkgYmVjYXVzZQorKyAgc3lzdGVtZCBpcyBub3QgcnVubmluZy4KKysKKysgIEV4YW1wbGU6IFdoZW4gYSBkYWVtb24gZmluaXNoZWQgc3RhcnRpbmcgdXAsIGl0IGNvdWxkIGlzc3VlIHRoaXMKKysgIGNhbGwgdG8gbm90aWZ5IHN5c3RlbWQgYWJvdXQgaXQ6CisrCisrICAgICBzZF9ub3RpZnkoMCwgIlJFQURZPTEiKTsKKysKKysgIFNlZSBzZF9ub3RpZnlmKCkgZm9yIG1vcmUgY29tcGxldGUgZXhhbXBsZXMuCisrCisrICBTZWUgc2Rfbm90aWZ5KDMpIGZvciBtb3JlIGluZm9ybWF0aW9uLgorKyovCisraW50IG5ldHNubXBfc2Rfbm90aWZ5KGludCB1bnNldF9lbnZpcm9ubWVudCwgY29uc3QgY2hhciAqc3RhdGUpOworKworKy8qCisrICBTaW1pbGFyIHRvIHNkX25vdGlmeSgpIGJ1dCB0YWtlcyBhIGZvcm1hdCBzdHJpbmcuCisrCisrICBFeGFtcGxlIDE6IEEgZGFlbW9uIGNvdWxkIHNlbmQgdGhlIGZvbGxvd2luZyBhZnRlciBpbml0aWFsaXphdGlvbjoKKysKKysgICAgIHNkX25vdGlmeWYoMCwgIlJFQURZPTFcbiIKKysgICAgICAgICAgICAgICAgICAgIlNUQVRVUz1Qcm9jZXNzaW5nIHJlcXVlc3RzLi4uXG4iCisrICAgICAgICAgICAgICAgICAgICJNQUlOUElEPSVsdSIsCisrICAgICAgICAgICAgICAgICAgICh1bnNpZ25lZCBsb25nKSBnZXRwaWQoKSk7CisrCisrICBFeGFtcGxlIDI6IEEgZGFlbW9uIGNvdWxkIHNlbmQgdGhlIGZvbGxvd2luZyBzaG9ydGx5IGJlZm9yZQorKyAgZXhpdGluZywgb24gZmFpbHVyZToKKysKKysgICAgIHNkX25vdGlmeWYoMCwgIlNUQVRVUz1GYWlsZWQgdG8gc3RhcnQgdXA6ICVzXG4iCisrICAgICAgICAgICAgICAgICAgICJFUlJOTz0laSIsCisrICAgICAgICAgICAgICAgICAgIHN0cmVycm9yKGVycm5vKSwKKysgICAgICAgICAgICAgICAgICAgZXJybm8pOworKworKyAgU2VlIHNkX25vdGlmeWYoMykgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisrKi8KKytpbnQgbmV0c25tcF9zZF9ub3RpZnlmKGludCB1bnNldF9lbnZpcm9ubWVudCwgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pIF9zZF9wcmludGZfYXR0cl8oMiwzKTsKKysKKysvKgorKyAgUmV0dXJucyA+IDAgaWYgdGhlIHN5c3RlbSB3YXMgYm9vdGVkIHdpdGggc3lzdGVtZC4gUmV0dXJucyA8IDAgb24KKysgIGVycm9yLiBSZXR1cm5zIDAgaWYgdGhlIHN5c3RlbSB3YXMgbm90IGJvb3RlZCB3aXRoIHN5c3RlbWQuIE5vdGUKKysgIHRoYXQgYWxsIG9mIHRoZSBmdW5jdGlvbnMgYWJvdmUgaGFuZGxlIG5vbi1zeXN0ZW1kIGJvb3RzIGp1c3QKKysgIGZpbmUuIFlvdSBzaG91bGQgTk9UIHByb3RlY3QgdGhlbSB3aXRoIGEgY2FsbCB0byB0aGlzIGZ1bmN0aW9uLiBBbHNvCisrICBub3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBjaGVja3Mgd2hldGhlciB0aGUgc3lzdGVtLCBub3QgdGhlIHVzZXIKKysgIHNlc3Npb24gaXMgY29udHJvbGxlZCBieSBzeXN0ZW1kLiBIb3dldmVyIHRoZSBmdW5jdGlvbnMgYWJvdmUgd29yaworKyAgZm9yIGJvdGggdXNlciBhbmQgc3lzdGVtIHNlcnZpY2VzLgorKworKyAgU2VlIHNkX2Jvb3RlZCgzKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKysqLworK2ludCBuZXRzbm1wX3NkX2Jvb3RlZCh2b2lkKTsKKysKKysvKioKKysgKiBGaW5kIGFuIHNvY2tldCB3aXRoIGdpdmVuIHBhcmFtZXRlcnMuIFNlZSBtYW4gc2RfaXNfc29ja2V0X2luZXQgZm9yCisrICogZGVzY3JpcHRpb24gb2YgdGhlIGFyZ3VtZW50cy4KKysgKgorKyAqIFJldHVybnMgdGhlIGZpbGUgZGVzY3JpcHRvciBpZiBpdCBpcyBmb3VuZCwgMCBvdGhlcndpc2UuCisrICovCisraW50IG5ldHNubXBfc2RfZmluZF9pbmV0X3NvY2tldChpbnQgZmFtaWx5LCBpbnQgdHlwZSwgaW50IGxpc3RlbmluZywgaW50IHBvcnQpOworKworKy8qKgorKyAqIEZpbmQgYW4gdW5peCBzb2NrZXQgd2l0aCBnaXZlbiBwYXJhbWV0ZXJzLiBTZWUgbWFuIHNkX2lzX3NvY2tldF91bml4IGZvcgorKyAqIGRlc2NyaXB0aW9uIG9mIHRoZSBhcmd1bWVudHMuCisrICoKKysgKiBSZXR1cm5zIHRoZSBmaWxlIGRlc2NyaXB0b3IgaWYgaXQgaXMgZm91bmQsIDAgb3RoZXJ3aXNlLgorKyAqLworK2ludAorK25ldHNubXBfc2RfZmluZF91bml4X3NvY2tldChpbnQgdHlwZSwgaW50IGxpc3RlbmluZywgY29uc3QgY2hhciAqcGF0aCk7CisrCisrI2lmZGVmIF9fY3BsdXNwbHVzCisrfQorKyNlbmRpZgorKworKyNlbmRpZiAvKiBTTk1QRF9TRF9EQUVNT05fSCAqLworZGlmZiAtLWdpdCBhL3NubXBsaWIvc2QtZGFlbW9uLmMgYi9zbm1wbGliL3NkLWRhZW1vbi5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uNDJkYmEyOQorLS0tIC9kZXYvbnVsbAorKysrIGIvc25tcGxpYi9zZC1kYWVtb24uYworQEAgLTAsMCArMSw1MzIgQEAKKysvKgorKyAqIFN5c3RlbWQgaW50ZWdyYXRpb24gcGFydHMuCisrICoKKysgKiBNb3N0IG9mIHRoaXMgZmlsZSBpcyBkaXJlY3RseSBjb3BpZWQgZnJvbSBzeXN0ZW1kIHNvdXJjZXMuCisrICogQ2hhbmdlczoKKysgKiAtIGFsbCBmdW5jdGlvbnMgd2VyZSByZW5hbWVkIHRvIGhhdmUgbmV0c25tcF8gcHJlZml4CisrICogLSBpbmNsdWRlcyB3ZXJlICBjaGFuZ2VkIHRvIG1hdGNoIE5ldC1TTk1QIHN0eWxlLgorKyAqIC0gcmVtb3ZlZCBnY2MgZXhwb3J0IG1hY3JvcworKyAqIC0gcmVtb3ZlZCBQT1NJWCBtZXNzYWdlIHF1ZXVlcworKyAqLworKworKyNpbmNsdWRlIDxuZXQtc25tcC9uZXQtc25tcC1jb25maWcuaD4KKysjaW5jbHVkZSA8bmV0LXNubXAvbmV0LXNubXAtZmVhdHVyZXMuaD4KKysjaW5jbHVkZSA8bmV0LXNubXAvdHlwZXMuaD4KKysjaW5jbHVkZSA8bmV0LXNubXAvbGlicmFyeS9zbm1wX2RlYnVnLmg+CisrCisrI2lmbmRlZiBORVRTTk1QX05PX1NZU1RFTUQKKysKKysvKioqCisrICBDb3B5cmlnaHQgMjAxMCBMZW5uYXJ0IFBvZXR0ZXJpbmcKKysKKysgIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uCisrICBvYnRhaW5pbmcgYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcworKyAgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwKKysgIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsCisrICBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLAorKyAgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywKKysgIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKworKyAgVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUKKysgIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorKworKyAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisrICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKysgIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5ECisrICBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTCisrICBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4KKysgIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisrICBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCisrICBTT0ZUV0FSRS4KKysqKiovCisrCisrI2lmbmRlZiBfR05VX1NPVVJDRQorKyNkZWZpbmUgX0dOVV9TT1VSQ0UKKysjZW5kaWYKKysKKysjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisrI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisrI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKysjaW5jbHVkZSA8c3lzL3VuLmg+CisrI2luY2x1ZGUgPHN5cy9mY250bC5oPgorKyNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CisrI2luY2x1ZGUgPHN0ZGxpYi5oPgorKyNpbmNsdWRlIDxlcnJuby5oPgorKyNpbmNsdWRlIDx1bmlzdGQuaD4KKysjaW5jbHVkZSA8c3RyaW5nLmg+CisrI2luY2x1ZGUgPHN0ZGFyZy5oPgorKyNpbmNsdWRlIDxzdGRpby5oPgorKyNpbmNsdWRlIDxzdGRkZWYuaD4KKysjaW5jbHVkZSA8bGltaXRzLmg+CisrCisrI2luY2x1ZGUgPG5ldC1zbm1wL2xpYnJhcnkvc2QtZGFlbW9uLmg+CisrCisraW50IG5ldHNubXBfc2RfbGlzdGVuX2ZkcyhpbnQgdW5zZXRfZW52aXJvbm1lbnQpIHsKKysKKysgICAgICAgIGludCByLCBmZDsKKysgICAgICAgIGNvbnN0IGNoYXIgKmU7CisrICAgICAgICBjaGFyICpwID0gTlVMTDsKKysgICAgICAgIHVuc2lnbmVkIGxvbmcgbDsKKysKKysgICAgICAgIGlmICghKGUgPSBnZXRlbnYoIkxJU1RFTl9QSUQiKSkpIHsKKysgICAgICAgICAgICAgICAgciA9IDA7CisrICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOworKyAgICAgICAgfQorKworKyAgICAgICAgZXJybm8gPSAwOworKyAgICAgICAgbCA9IHN0cnRvdWwoZSwgJnAsIDEwKTsKKysKKysgICAgICAgIGlmIChlcnJubyAhPSAwKSB7CisrICAgICAgICAgICAgICAgIHIgPSAtZXJybm87CisrICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOworKyAgICAgICAgfQorKworKyAgICAgICAgaWYgKCFwIHx8ICpwIHx8IGwgPD0gMCkgeworKyAgICAgICAgICAgICAgICByID0gLUVJTlZBTDsKKysgICAgICAgICAgICAgICAgZ290byBmaW5pc2g7CisrICAgICAgICB9CisrCisrICAgICAgICAvKiBJcyB0aGlzIGZvciB1cz8gKi8KKysgICAgICAgIGlmIChnZXRwaWQoKSAhPSAocGlkX3QpIGwpIHsKKysgICAgICAgICAgICAgICAgciA9IDA7CisrICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOworKyAgICAgICAgfQorKworKyAgICAgICAgaWYgKCEoZSA9IGdldGVudigiTElTVEVOX0ZEUyIpKSkgeworKyAgICAgICAgICAgICAgICByID0gMDsKKysgICAgICAgICAgICAgICAgZ290byBmaW5pc2g7CisrICAgICAgICB9CisrCisrICAgICAgICBlcnJubyA9IDA7CisrICAgICAgICBsID0gc3RydG91bChlLCAmcCwgMTApOworKworKyAgICAgICAgaWYgKGVycm5vICE9IDApIHsKKysgICAgICAgICAgICAgICAgciA9IC1lcnJubzsKKysgICAgICAgICAgICAgICAgZ290byBmaW5pc2g7CisrICAgICAgICB9CisrCisrICAgICAgICBpZiAoIXAgfHwgKnApIHsKKysgICAgICAgICAgICAgICAgciA9IC1FSU5WQUw7CisrICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOworKyAgICAgICAgfQorKworKyAgICAgICAgZm9yIChmZCA9IFNEX0xJU1RFTl9GRFNfU1RBUlQ7IGZkIDwgU0RfTElTVEVOX0ZEU19TVEFSVCArIChpbnQpIGw7IGZkICsrKSB7CisrICAgICAgICAgICAgICAgIGludCBmbGFnczsKKysKKysgICAgICAgICAgICAgICAgaWYgKChmbGFncyA9IGZjbnRsKGZkLCBGX0dFVEZEKSkgPCAwKSB7CisrICAgICAgICAgICAgICAgICAgICAgICAgciA9IC1lcnJubzsKKysgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZpbmlzaDsKKysgICAgICAgICAgICAgICAgfQorKworKyAgICAgICAgICAgICAgICBpZiAoZmxhZ3MgJiBGRF9DTE9FWEVDKQorKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworKworKyAgICAgICAgICAgICAgICBpZiAoZmNudGwoZmQsIEZfU0VURkQsIGZsYWdzIHwgRkRfQ0xPRVhFQykgPCAwKSB7CisrICAgICAgICAgICAgICAgICAgICAgICAgciA9IC1lcnJubzsKKysgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZpbmlzaDsKKysgICAgICAgICAgICAgICAgfQorKyAgICAgICAgfQorKworKyAgICAgICAgciA9IChpbnQpIGw7CisrCisrZmluaXNoOgorKyAgICAgICAgaWYgKHVuc2V0X2Vudmlyb25tZW50KSB7CisrICAgICAgICAgICAgICAgIHVuc2V0ZW52KCJMSVNURU5fUElEIik7CisrICAgICAgICAgICAgICAgIHVuc2V0ZW52KCJMSVNURU5fRkRTIik7CisrICAgICAgICB9CisrCisrICAgICAgICByZXR1cm4gcjsKKyt9CisrCisraW50IG5ldHNubXBfc2RfaXNfZmlmbyhpbnQgZmQsIGNvbnN0IGNoYXIgKnBhdGgpIHsKKysgICAgICAgIHN0cnVjdCBzdGF0IHN0X2ZkOworKworKyAgICAgICAgaWYgKGZkIDwgMCkKKysgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisrCisrICAgICAgICBtZW1zZXQoJnN0X2ZkLCAwLCBzaXplb2Yoc3RfZmQpKTsKKysgICAgICAgIGlmIChmc3RhdChmZCwgJnN0X2ZkKSA8IDApCisrICAgICAgICAgICAgICAgIHJldHVybiAtZXJybm87CisrCisrICAgICAgICBpZiAoIVNfSVNGSUZPKHN0X2ZkLnN0X21vZGUpKQorKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKysKKysgICAgICAgIGlmIChwYXRoKSB7CisrICAgICAgICAgICAgICAgIHN0cnVjdCBzdGF0IHN0X3BhdGg7CisrCisrICAgICAgICAgICAgICAgIG1lbXNldCgmc3RfcGF0aCwgMCwgc2l6ZW9mKHN0X3BhdGgpKTsKKysgICAgICAgICAgICAgICAgaWYgKHN0YXQocGF0aCwgJnN0X3BhdGgpIDwgMCkgeworKworKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJubyA9PSBFTk9FTlQgfHwgZXJybm8gPT0gRU5PVERJUikKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOworKworKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtZXJybm87CisrICAgICAgICAgICAgICAgIH0KKysKKysgICAgICAgICAgICAgICAgcmV0dXJuCisrICAgICAgICAgICAgICAgICAgICAgICAgc3RfcGF0aC5zdF9kZXYgPT0gc3RfZmQuc3RfZGV2ICYmCisrICAgICAgICAgICAgICAgICAgICAgICAgc3RfcGF0aC5zdF9pbm8gPT0gc3RfZmQuc3RfaW5vOworKyAgICAgICAgfQorKworKyAgICAgICAgcmV0dXJuIDE7CisrfQorKworK2ludCBuZXRzbm1wX3NkX2lzX3NwZWNpYWwoaW50IGZkLCBjb25zdCBjaGFyICpwYXRoKSB7CisrICAgICAgICBzdHJ1Y3Qgc3RhdCBzdF9mZDsKKysKKysgICAgICAgIGlmIChmZCA8IDApCisrICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOworKworKyAgICAgICAgaWYgKGZzdGF0KGZkLCAmc3RfZmQpIDwgMCkKKysgICAgICAgICAgICAgICAgcmV0dXJuIC1lcnJubzsKKysKKysgICAgICAgIGlmICghU19JU1JFRyhzdF9mZC5zdF9tb2RlKSAmJiAhU19JU0NIUihzdF9mZC5zdF9tb2RlKSkKKysgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisrCisrICAgICAgICBpZiAocGF0aCkgeworKyAgICAgICAgICAgICAgICBzdHJ1Y3Qgc3RhdCBzdF9wYXRoOworKworKyAgICAgICAgICAgICAgICBpZiAoc3RhdChwYXRoLCAmc3RfcGF0aCkgPCAwKSB7CisrCisrICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm5vID09IEVOT0VOVCB8fCBlcnJubyA9PSBFTk9URElSKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisrCisrICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1lcnJubzsKKysgICAgICAgICAgICAgICAgfQorKworKyAgICAgICAgICAgICAgICBpZiAoU19JU1JFRyhzdF9mZC5zdF9tb2RlKSAmJiBTX0lTUkVHKHN0X3BhdGguc3RfbW9kZSkpCisrICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdF9wYXRoLnN0X2RldiA9PSBzdF9mZC5zdF9kZXYgJiYKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0X3BhdGguc3RfaW5vID09IHN0X2ZkLnN0X2lubzsKKysgICAgICAgICAgICAgICAgZWxzZSBpZiAoU19JU0NIUihzdF9mZC5zdF9tb2RlKSAmJiBTX0lTQ0hSKHN0X3BhdGguc3RfbW9kZSkpCisrICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN0X3BhdGguc3RfcmRldiA9PSBzdF9mZC5zdF9yZGV2OworKyAgICAgICAgICAgICAgICBlbHNlCisrICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisrICAgICAgICB9CisrCisrICAgICAgICByZXR1cm4gMTsKKyt9CisrCisrc3RhdGljIGludCBzZF9pc19zb2NrZXRfaW50ZXJuYWwoaW50IGZkLCBpbnQgdHlwZSwgaW50IGxpc3RlbmluZykgeworKyAgICAgICAgc3RydWN0IHN0YXQgc3RfZmQ7CisrCisrICAgICAgICBpZiAoZmQgPCAwIHx8IHR5cGUgPCAwKQorKyAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKKysKKysgICAgICAgIGlmIChmc3RhdChmZCwgJnN0X2ZkKSA8IDApCisrICAgICAgICAgICAgICAgIHJldHVybiAtZXJybm87CisrCisrICAgICAgICBpZiAoIVNfSVNTT0NLKHN0X2ZkLnN0X21vZGUpKQorKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKysKKysgICAgICAgIGlmICh0eXBlICE9IDApIHsKKysgICAgICAgICAgICAgICAgaW50IG90aGVyX3R5cGUgPSAwOworKyAgICAgICAgICAgICAgICBzb2NrbGVuX3QgbCA9IHNpemVvZihvdGhlcl90eXBlKTsKKysKKysgICAgICAgICAgICAgICAgaWYgKGdldHNvY2tvcHQoZmQsIFNPTF9TT0NLRVQsIFNPX1RZUEUsICZvdGhlcl90eXBlLCAmbCkgPCAwKQorKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtZXJybm87CisrCisrICAgICAgICAgICAgICAgIGlmIChsICE9IHNpemVvZihvdGhlcl90eXBlKSkKKysgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKKysKKysgICAgICAgICAgICAgICAgaWYgKG90aGVyX3R5cGUgIT0gdHlwZSkKKysgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKKysgICAgICAgIH0KKysKKysgICAgICAgIGlmIChsaXN0ZW5pbmcgPj0gMCkgeworKyAgICAgICAgICAgICAgICBpbnQgYWNjZXB0aW5nID0gMDsKKysgICAgICAgICAgICAgICAgc29ja2xlbl90IGwgPSBzaXplb2YoYWNjZXB0aW5nKTsKKysKKysgICAgICAgICAgICAgICAgaWYgKGdldHNvY2tvcHQoZmQsIFNPTF9TT0NLRVQsIFNPX0FDQ0VQVENPTk4sICZhY2NlcHRpbmcsICZsKSA8IDApCisrICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1lcnJubzsKKysKKysgICAgICAgICAgICAgICAgaWYgKGwgIT0gc2l6ZW9mKGFjY2VwdGluZykpCisrICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisrCisrICAgICAgICAgICAgICAgIGlmICghYWNjZXB0aW5nICE9ICFsaXN0ZW5pbmcpCisrICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisrICAgICAgICB9CisrCisrICAgICAgICByZXR1cm4gMTsKKyt9CisrCisrdW5pb24gc29ja2FkZHJfdW5pb24geworKyAgICAgICAgc3RydWN0IHNvY2thZGRyIHNhOworKyAgICAgICAgc3RydWN0IHNvY2thZGRyX2luIGluNDsKKysgICAgICAgIHN0cnVjdCBzb2NrYWRkcl9pbjYgaW42OworKyAgICAgICAgc3RydWN0IHNvY2thZGRyX3VuIHVuOworKyAgICAgICAgc3RydWN0IHNvY2thZGRyX3N0b3JhZ2Ugc3RvcmFnZTsKKyt9OworKworK2ludCBuZXRzbm1wX3NkX2lzX3NvY2tldChpbnQgZmQsIGludCBmYW1pbHksIGludCB0eXBlLCBpbnQgbGlzdGVuaW5nKSB7CisrICAgICAgICBpbnQgcjsKKysKKysgICAgICAgIGlmIChmYW1pbHkgPCAwKQorKyAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKKysKKysgICAgICAgIGlmICgociA9IHNkX2lzX3NvY2tldF9pbnRlcm5hbChmZCwgdHlwZSwgbGlzdGVuaW5nKSkgPD0gMCkKKysgICAgICAgICAgICAgICAgcmV0dXJuIHI7CisrCisrICAgICAgICBpZiAoZmFtaWx5ID4gMCkgeworKyAgICAgICAgICAgICAgICB1bmlvbiBzb2NrYWRkcl91bmlvbiBzb2NrYWRkcjsKKysgICAgICAgICAgICAgICAgc29ja2xlbl90IGw7CisrCisrICAgICAgICAgICAgICAgIG1lbXNldCgmc29ja2FkZHIsIDAsIHNpemVvZihzb2NrYWRkcikpOworKyAgICAgICAgICAgICAgICBsID0gc2l6ZW9mKHNvY2thZGRyKTsKKysKKysgICAgICAgICAgICAgICAgaWYgKGdldHNvY2tuYW1lKGZkLCAmc29ja2FkZHIuc2EsICZsKSA8IDApCisrICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1lcnJubzsKKysKKysgICAgICAgICAgICAgICAgaWYgKGwgPCBzaXplb2Yoc2FfZmFtaWx5X3QpKQorKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOworKworKyAgICAgICAgICAgICAgICByZXR1cm4gc29ja2FkZHIuc2Euc2FfZmFtaWx5ID09IGZhbWlseTsKKysgICAgICAgIH0KKysKKysgICAgICAgIHJldHVybiAxOworK30KKysKKytpbnQgbmV0c25tcF9zZF9pc19zb2NrZXRfaW5ldChpbnQgZmQsIGludCBmYW1pbHksIGludCB0eXBlLCBpbnQgbGlzdGVuaW5nLCB1aW50MTZfdCBwb3J0KSB7CisrICAgICAgICB1bmlvbiBzb2NrYWRkcl91bmlvbiBzb2NrYWRkcjsKKysgICAgICAgIHNvY2tsZW5fdCBsOworKyAgICAgICAgaW50IHI7CisrCisrICAgICAgICBpZiAoZmFtaWx5ICE9IDAgJiYgZmFtaWx5ICE9IEFGX0lORVQgJiYgZmFtaWx5ICE9IEFGX0lORVQ2KQorKyAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKKysKKysgICAgICAgIGlmICgociA9IHNkX2lzX3NvY2tldF9pbnRlcm5hbChmZCwgdHlwZSwgbGlzdGVuaW5nKSkgPD0gMCkKKysgICAgICAgICAgICAgICAgcmV0dXJuIHI7CisrCisrICAgICAgICBtZW1zZXQoJnNvY2thZGRyLCAwLCBzaXplb2Yoc29ja2FkZHIpKTsKKysgICAgICAgIGwgPSBzaXplb2Yoc29ja2FkZHIpOworKworKyAgICAgICAgaWYgKGdldHNvY2tuYW1lKGZkLCAmc29ja2FkZHIuc2EsICZsKSA8IDApCisrICAgICAgICAgICAgICAgIHJldHVybiAtZXJybm87CisrCisrICAgICAgICBpZiAobCA8IHNpemVvZihzYV9mYW1pbHlfdCkpCisrICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOworKworKyAgICAgICAgaWYgKHNvY2thZGRyLnNhLnNhX2ZhbWlseSAhPSBBRl9JTkVUICYmCisrICAgICAgICAgICAgc29ja2FkZHIuc2Euc2FfZmFtaWx5ICE9IEFGX0lORVQ2KQorKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKysKKysgICAgICAgIGlmIChmYW1pbHkgPiAwKQorKyAgICAgICAgICAgICAgICBpZiAoc29ja2FkZHIuc2Euc2FfZmFtaWx5ICE9IGZhbWlseSkKKysgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKKysKKysgICAgICAgIGlmIChwb3J0ID4gMCkgeworKyAgICAgICAgICAgICAgICBpZiAoc29ja2FkZHIuc2Euc2FfZmFtaWx5ID09IEFGX0lORVQpIHsKKysgICAgICAgICAgICAgICAgICAgICAgICBpZiAobCA8IHNpemVvZihzdHJ1Y3Qgc29ja2FkZHJfaW4pKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisrCisrICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGh0b25zKHBvcnQpID09IHNvY2thZGRyLmluNC5zaW5fcG9ydDsKKysgICAgICAgICAgICAgICAgfSBlbHNlIHsKKysgICAgICAgICAgICAgICAgICAgICAgICBpZiAobCA8IHNpemVvZihzdHJ1Y3Qgc29ja2FkZHJfaW42KSkKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOworKworKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBodG9ucyhwb3J0KSA9PSBzb2NrYWRkci5pbjYuc2luNl9wb3J0OworKyAgICAgICAgICAgICAgICB9CisrICAgICAgICB9CisrCisrICAgICAgICByZXR1cm4gMTsKKyt9CisrCisraW50IG5ldHNubXBfc2RfaXNfc29ja2V0X3VuaXgoaW50IGZkLCBpbnQgdHlwZSwgaW50IGxpc3RlbmluZywgY29uc3QgY2hhciAqcGF0aCwgc2l6ZV90IGxlbmd0aCkgeworKyAgICAgICAgdW5pb24gc29ja2FkZHJfdW5pb24gc29ja2FkZHI7CisrICAgICAgICBzb2NrbGVuX3QgbDsKKysgICAgICAgIGludCByOworKworKyAgICAgICAgaWYgKChyID0gc2RfaXNfc29ja2V0X2ludGVybmFsKGZkLCB0eXBlLCBsaXN0ZW5pbmcpKSA8PSAwKQorKyAgICAgICAgICAgICAgICByZXR1cm4gcjsKKysKKysgICAgICAgIG1lbXNldCgmc29ja2FkZHIsIDAsIHNpemVvZihzb2NrYWRkcikpOworKyAgICAgICAgbCA9IHNpemVvZihzb2NrYWRkcik7CisrCisrICAgICAgICBpZiAoZ2V0c29ja25hbWUoZmQsICZzb2NrYWRkci5zYSwgJmwpIDwgMCkKKysgICAgICAgICAgICAgICAgcmV0dXJuIC1lcnJubzsKKysKKysgICAgICAgIGlmIChsIDwgc2l6ZW9mKHNhX2ZhbWlseV90KSkKKysgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisrCisrICAgICAgICBpZiAoc29ja2FkZHIuc2Euc2FfZmFtaWx5ICE9IEFGX1VOSVgpCisrICAgICAgICAgICAgICAgIHJldHVybiAwOworKworKyAgICAgICAgaWYgKHBhdGgpIHsKKysgICAgICAgICAgICAgICAgaWYgKGxlbmd0aCA8PSAwKQorKyAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aCA9IHN0cmxlbihwYXRoKTsKKysKKysgICAgICAgICAgICAgICAgaWYgKGxlbmd0aCA8PSAwKQorKyAgICAgICAgICAgICAgICAgICAgICAgIC8qIFVubmFtZWQgc29ja2V0ICovCisrICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGwgPT0gb2Zmc2V0b2Yoc3RydWN0IHNvY2thZGRyX3VuLCBzdW5fcGF0aCk7CisrCisrICAgICAgICAgICAgICAgIGlmIChwYXRoWzBdKQorKyAgICAgICAgICAgICAgICAgICAgICAgIC8qIE5vcm1hbCBwYXRoIHNvY2tldCAqLworKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGwgPj0gb2Zmc2V0b2Yoc3RydWN0IHNvY2thZGRyX3VuLCBzdW5fcGF0aCkgKyBsZW5ndGggKyAxKSAmJgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtY21wKHBhdGgsIHNvY2thZGRyLnVuLnN1bl9wYXRoLCBsZW5ndGgrMSkgPT0gMDsKKysgICAgICAgICAgICAgICAgZWxzZQorKyAgICAgICAgICAgICAgICAgICAgICAgIC8qIEFic3RyYWN0IG5hbWVzcGFjZSBzb2NrZXQgKi8KKysgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsID09IG9mZnNldG9mKHN0cnVjdCBzb2NrYWRkcl91biwgc3VuX3BhdGgpICsgbGVuZ3RoKSAmJgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtY21wKHBhdGgsIHNvY2thZGRyLnVuLnN1bl9wYXRoLCBsZW5ndGgpID09IDA7CisrICAgICAgICB9CisrCisrICAgICAgICByZXR1cm4gMTsKKyt9CisrCisraW50IG5ldHNubXBfc2Rfbm90aWZ5KGludCB1bnNldF9lbnZpcm9ubWVudCwgY29uc3QgY2hhciAqc3RhdGUpIHsKKysgICAgICAgIGludCBmZCA9IC0xLCByOworKyAgICAgICAgc3RydWN0IG1zZ2hkciBtc2doZHI7CisrICAgICAgICBzdHJ1Y3QgaW92ZWMgaW92ZWM7CisrICAgICAgICB1bmlvbiBzb2NrYWRkcl91bmlvbiBzb2NrYWRkcjsKKysgICAgICAgIGNvbnN0IGNoYXIgKmU7CisrCisrICAgICAgICBpZiAoIXN0YXRlKSB7CisrICAgICAgICAgICAgICAgIHIgPSAtRUlOVkFMOworKyAgICAgICAgICAgICAgICBnb3RvIGZpbmlzaDsKKysgICAgICAgIH0KKysKKysgICAgICAgIGlmICghKGUgPSBnZXRlbnYoIk5PVElGWV9TT0NLRVQiKSkpCisrICAgICAgICAgICAgICAgIHJldHVybiAwOworKworKyAgICAgICAgLyogTXVzdCBiZSBhbiBhYnN0cmFjdCBzb2NrZXQsIG9yIGFuIGFic29sdXRlIHBhdGggKi8KKysgICAgICAgIGlmICgoZVswXSAhPSAnQCcgJiYgZVswXSAhPSAnLycpIHx8IGVbMV0gPT0gMCkgeworKyAgICAgICAgICAgICAgICByID0gLUVJTlZBTDsKKysgICAgICAgICAgICAgICAgZ290byBmaW5pc2g7CisrICAgICAgICB9CisrCisrICAgICAgICBpZiAoKGZkID0gc29ja2V0KEFGX1VOSVgsIFNPQ0tfREdSQU18U09DS19DTE9FWEVDLCAwKSkgPCAwKSB7CisrICAgICAgICAgICAgICAgIHIgPSAtZXJybm87CisrICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOworKyAgICAgICAgfQorKworKyAgICAgICAgbWVtc2V0KCZzb2NrYWRkciwgMCwgc2l6ZW9mKHNvY2thZGRyKSk7CisrICAgICAgICBzb2NrYWRkci5zYS5zYV9mYW1pbHkgPSBBRl9VTklYOworKyAgICAgICAgc3RybmNweShzb2NrYWRkci51bi5zdW5fcGF0aCwgZSwgc2l6ZW9mKHNvY2thZGRyLnVuLnN1bl9wYXRoKSk7CisrCisrICAgICAgICBpZiAoc29ja2FkZHIudW4uc3VuX3BhdGhbMF0gPT0gJ0AnKQorKyAgICAgICAgICAgICAgICBzb2NrYWRkci51bi5zdW5fcGF0aFswXSA9IDA7CisrCisrICAgICAgICBtZW1zZXQoJmlvdmVjLCAwLCBzaXplb2YoaW92ZWMpKTsKKysgICAgICAgIGlvdmVjLmlvdl9iYXNlID0gKGNoYXIgKilzdGF0ZTsKKysgICAgICAgIGlvdmVjLmlvdl9sZW4gPSBzdHJsZW4oc3RhdGUpOworKworKyAgICAgICAgbWVtc2V0KCZtc2doZHIsIDAsIHNpemVvZihtc2doZHIpKTsKKysgICAgICAgIG1zZ2hkci5tc2dfbmFtZSA9ICZzb2NrYWRkcjsKKysgICAgICAgIG1zZ2hkci5tc2dfbmFtZWxlbiA9IG9mZnNldG9mKHN0cnVjdCBzb2NrYWRkcl91biwgc3VuX3BhdGgpICsgc3RybGVuKGUpOworKworKyAgICAgICAgaWYgKG1zZ2hkci5tc2dfbmFtZWxlbiA+IHNpemVvZihzdHJ1Y3Qgc29ja2FkZHJfdW4pKQorKyAgICAgICAgICAgICAgICBtc2doZHIubXNnX25hbWVsZW4gPSBzaXplb2Yoc3RydWN0IHNvY2thZGRyX3VuKTsKKysKKysgICAgICAgIG1zZ2hkci5tc2dfaW92ID0gJmlvdmVjOworKyAgICAgICAgbXNnaGRyLm1zZ19pb3ZsZW4gPSAxOworKworKyAgICAgICAgaWYgKHNlbmRtc2coZmQsICZtc2doZHIsIE1TR19OT1NJR05BTCkgPCAwKSB7CisrICAgICAgICAgICAgICAgIHIgPSAtZXJybm87CisrICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOworKyAgICAgICAgfQorKworKyAgICAgICAgciA9IDE7CisrCisrZmluaXNoOgorKyAgICAgICAgaWYgKHVuc2V0X2Vudmlyb25tZW50KQorKyAgICAgICAgICAgICAgICB1bnNldGVudigiTk9USUZZX1NPQ0tFVCIpOworKworKyAgICAgICAgaWYgKGZkID49IDApCisrICAgICAgICAgICAgICAgIGNsb3NlKGZkKTsKKysKKysgICAgICAgIHJldHVybiByOworK30KKysKKytpbnQgbmV0c25tcF9zZF9ub3RpZnlmKGludCB1bnNldF9lbnZpcm9ubWVudCwgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pIHsKKysgICAgICAgIHZhX2xpc3QgYXA7CisrICAgICAgICBjaGFyICpwID0gTlVMTDsKKysgICAgICAgIGludCByOworKworKyAgICAgICAgdmFfc3RhcnQoYXAsIGZvcm1hdCk7CisrICAgICAgICByID0gdmFzcHJpbnRmKCZwLCBmb3JtYXQsIGFwKTsKKysgICAgICAgIHZhX2VuZChhcCk7CisrCisrICAgICAgICBpZiAociA8IDAgfHwgIXApCisrICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOworKworKyAgICAgICAgciA9IG5ldHNubXBfc2Rfbm90aWZ5KHVuc2V0X2Vudmlyb25tZW50LCBwKTsKKysgICAgICAgIGZyZWUocCk7CisrCisrICAgICAgICByZXR1cm4gcjsKKyt9CisrCisraW50IG5ldHNubXBfc2RfYm9vdGVkKHZvaWQpIHsKKysgICAgICAgIHN0cnVjdCBzdGF0IGEsIGI7CisrCisrICAgICAgICAvKiBXZSBzaW1wbHkgdGVzdCB3aGV0aGVyIHRoZSBzeXN0ZW1kIGNncm91cCBoaWVyYXJjaHkgaXMKKysgICAgICAgICAqIG1vdW50ZWQgKi8KKysKKysgICAgICAgIGlmIChsc3RhdCgiL3N5cy9mcy9jZ3JvdXAiLCAmYSkgPCAwKQorKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKysKKysgICAgICAgIGlmIChsc3RhdCgiL3N5cy9mcy9jZ3JvdXAvc3lzdGVtZCIsICZiKSA8IDApCisrICAgICAgICAgICAgICAgIHJldHVybiAwOworKworKyAgICAgICAgcmV0dXJuIGEuc3RfZGV2ICE9IGIuc3RfZGV2OworK30KKysKKysvKiBFbmQgb2Ygb3JpZ2luYWwgc2QtZGFlbW9uLmMgZnJvbSBzeXN0ZW1kIHNvdXJjZXMgKi8KKysKKytpbnQKKytuZXRzbm1wX3NkX2ZpbmRfaW5ldF9zb2NrZXQoaW50IGZhbWlseSwgaW50IHR5cGUsIGludCBsaXN0ZW5pbmcsIGludCBwb3J0KQorK3sKKysgICAgaW50IGNvdW50LCBmZDsKKysKKysgICAgY291bnQgPSBuZXRzbm1wX3NkX2xpc3Rlbl9mZHMoMCk7CisrICAgIGlmIChjb3VudCA8PSAwKSB7CisrICAgICAgICBERUJVR01TR1RMKCgic3lzdGVtZDpmaW5kX2luZXRfc29ja2V0IiwgIk5vIExJU1RFTl9GRFMgZm91bmQuXG4iKSk7CisrICAgICAgICByZXR1cm4gMDsKKysgICAgfQorKyAgICBERUJVR01TR1RMKCgic3lzdGVtZDpmaW5kX2luZXRfc29ja2V0IiwgIkxJU1RFTl9GRFMgcmVwb3J0cyAlZCBzb2NrZXRzLlxuIiwKKysgICAgICAgICAgICBjb3VudCkpOworKworKyAgICBmb3IgKGZkID0gMzsgZmQgPCAzK2NvdW50OyBmZCsrKSB7CisrICAgICAgICBpbnQgcmMgPSBuZXRzbm1wX3NkX2lzX3NvY2tldF9pbmV0KGZkLCBmYW1pbHksIHR5cGUsIGxpc3RlbmluZywgcG9ydCk7CisrICAgICAgICBpZiAocmMgPCAwKQorKyAgICAgICAgICAgIERFQlVHTVNHVEwoKCJzeXN0ZW1kOmZpbmRfaW5ldF9zb2NrZXQiLAorKyAgICAgICAgICAgICAgICAgICAgInNkX2lzX3NvY2tldF9pbmV0IGVycm9yOiAlZFxuIiwgcmMpKTsKKysgICAgICAgIGlmIChyYyA+IDApIHsKKysgICAgICAgICAgICBERUJVR01TR1RMKCgic3lzdGVtZDpmaW5kX2luZXRfc29ja2V0IiwKKysgICAgICAgICAgICAgICAgICAgICJGb3VuZCB0aGUgc29ja2V0IGluIExJU1RFTl9GRFNcbiIpKTsKKysgICAgICAgICAgICByZXR1cm4gZmQ7CisrICAgICAgICB9CisrICAgIH0KKysgICAgREVCVUdNU0dUTCgoInN5c3RlbWQ6ZmluZF9pbmV0X3NvY2tldCIsICJTb2NrZXQgbm90IGZvdW5kIGluIExJU1RFTl9GRFNcbiIpKTsKKysgICAgcmV0dXJuIDA7CisrfQorKworK2ludAorK25ldHNubXBfc2RfZmluZF91bml4X3NvY2tldChpbnQgdHlwZSwgaW50IGxpc3RlbmluZywgY29uc3QgY2hhciAqcGF0aCkKKyt7CisrICAgIGludCBjb3VudCwgZmQ7CisrCisrICAgIGNvdW50ID0gbmV0c25tcF9zZF9saXN0ZW5fZmRzKDApOworKyAgICBpZiAoY291bnQgPD0gMCkgeworKyAgICAgICAgREVCVUdNU0dUTCgoInN5c3RlbWQ6ZmluZF91bml4X3NvY2tldCIsICJObyBMSVNURU5fRkRTIGZvdW5kLlxuIikpOworKyAgICAgICAgcmV0dXJuIDA7CisrICAgIH0KKysgICAgREVCVUdNU0dUTCgoInN5c3RlbWQ6ZmluZF91bml4X3NvY2tldCIsICJMSVNURU5fRkRTIHJlcG9ydHMgJWQgc29ja2V0cy5cbiIsCisrICAgICAgICAgICAgY291bnQpKTsKKysKKysgICAgZm9yIChmZCA9IDM7IGZkIDwgMytjb3VudDsgZmQrKykgeworKyAgICAgICAgaW50IHJjID0gbmV0c25tcF9zZF9pc19zb2NrZXRfdW5peChmZCwgdHlwZSwgbGlzdGVuaW5nLCBwYXRoLCAwKTsKKysgICAgICAgIGlmIChyYyA8IDApCisrICAgICAgICAgICAgREVCVUdNU0dUTCgoInN5c3RlbWQ6ZmluZF91bml4X3NvY2tldCIsCisrICAgICAgICAgICAgICAgICAgICAibmV0c25tcF9zZF9pc19zb2NrZXRfdW5peCBlcnJvcjogJWRcbiIsIHJjKSk7CisrICAgICAgICBpZiAocmMgPiAwKSB7CisrICAgICAgICAgICAgREVCVUdNU0dUTCgoInN5c3RlbWQ6ZmluZF91bml4X3NvY2tldCIsCisrICAgICAgICAgICAgICAgICAgICAiRm91bmQgdGhlIHNvY2tldCBpbiBMSVNURU5fRkRTXG4iKSk7CisrICAgICAgICAgICAgcmV0dXJuIGZkOworKyAgICAgICAgfQorKyAgICB9CisrICAgIERFQlVHTVNHVEwoKCJzeXN0ZW1kOmZpbmRfdW5peF9zb2NrZXQiLCAiU29ja2V0IG5vdCBmb3VuZCBpbiBMSVNURU5fRkRTXG4iKSk7CisrICAgIHJldHVybiAwOworK30KKysKKysjZW5kaWYgLyogISBORVRTTk1QX05PX1NZU1RFTUQgKi8KK2RpZmYgLS1naXQgYS9zbm1wbGliL3RyYW5zcG9ydHMvc25tcFRDUERvbWFpbi5jIGIvc25tcGxpYi90cmFuc3BvcnRzL3NubXBUQ1BEb21haW4uYworaW5kZXggN2ZlYjAyOC4uYTQxYjkyNiAxMDA2NDQKKy0tLSBhL3NubXBsaWIvdHJhbnNwb3J0cy9zbm1wVENQRG9tYWluLmMKKysrKyBiL3NubXBsaWIvdHJhbnNwb3J0cy9zbm1wVENQRG9tYWluLmMKK0BAIC00Myw2ICs0MywxMCBAQAorICNpbmNsdWRlIDxuZXQtc25tcC9saWJyYXJ5L3NubXBUQ1BCYXNlRG9tYWluLmg+CisgI2luY2x1ZGUgPG5ldC1zbm1wL2xpYnJhcnkvdG9vbHMuaD4KKyAKKysjaWZuZGVmIE5FVFNOTVBfTk9fU1lTVEVNRAorKyNpbmNsdWRlIDxuZXQtc25tcC9saWJyYXJ5L3NkLWRhZW1vbi5oPgorKyNlbmRpZgorKworIC8qCisgICogbmVlZHMgdG8gYmUgaW4gc3luYyB3aXRoIHRoZSBkZWZpbml0aW9ucyBpbiBzbm1wbGliL3NubXBVRFBEb21haW4uYworICAqIGFuZCBwZXJsL2FnZW50L2FnZW50LnhzCitAQCAtMTQ5LDYgKzE1Myw3IEBAIG5ldHNubXBfdGNwX3RyYW5zcG9ydChzdHJ1Y3Qgc29ja2FkZHJfaW4gKmFkZHIsIGludCBsb2NhbCkKKyAgICAgbmV0c25tcF90cmFuc3BvcnQgKnQgPSBOVUxMOworICAgICBuZXRzbm1wX3VkcF9hZGRyX3BhaXIgKmFkZHJfcGFpciA9IE5VTEw7CisgICAgIGludCByYyA9IDA7CisrICAgIGludCBzb2NrZXRfaW5pdGlhbGl6ZWQgPSAwOworIAorICNpZmRlZiBORVRTTk1QX05PX0xJU1RFTl9TVVBQT1JUCisgICAgIGlmIChsb2NhbCkKK0BAIC0xNzgsNyArMTgzLDE5IEBAIG5ldHNubXBfdGNwX3RyYW5zcG9ydChzdHJ1Y3Qgc29ja2FkZHJfaW4gKmFkZHIsIGludCBsb2NhbCkKKyAgICAgdC0+ZG9tYWluX2xlbmd0aCA9CisgICAgICAgICBzaXplb2YobmV0c25tcF9zbm1wVENQRG9tYWluKSAvIHNpemVvZihuZXRzbm1wX3NubXBUQ1BEb21haW5bMF0pOworIAorLSAgICB0LT5zb2NrID0gc29ja2V0KFBGX0lORVQsIFNPQ0tfU1RSRUFNLCAwKTsKKysjaWZuZGVmIE5FVFNOTVBfTk9fU1lTVEVNRAorKyAgICAvKgorKyAgICAgKiBNYXliZSB0aGUgc29ja2V0IHdhcyBhbHJlYWR5IHByb3ZpZGVkIGJ5IHN5c3RlbWQuLi4KKysgICAgICovCisrICAgIGlmIChsb2NhbCkgeworKyAgICAgICAgdC0+c29jayA9IG5ldHNubXBfc2RfZmluZF9pbmV0X3NvY2tldChQRl9JTkVULCBTT0NLX1NUUkVBTSwgMSwKKysgICAgICAgICAgICAgICAgbnRvaHMoYWRkci0+c2luX3BvcnQpKTsKKysgICAgICAgIGlmICh0LT5zb2NrKQorKyAgICAgICAgICAgIHNvY2tldF9pbml0aWFsaXplZCA9IDE7CisrICAgIH0KKysjZW5kaWYKKysgICAgaWYgKCFzb2NrZXRfaW5pdGlhbGl6ZWQpCisrICAgICAgICB0LT5zb2NrID0gc29ja2V0KFBGX0lORVQsIFNPQ0tfU1RSRUFNLCAwKTsKKyAgICAgaWYgKHQtPnNvY2sgPCAwKSB7CisgICAgICAgICBuZXRzbm1wX3RyYW5zcG9ydF9mcmVlKHQpOworICAgICAgICAgcmV0dXJuIE5VTEw7CitAQCAtMjE1LDExICsyMzIsMTMgQEAgbmV0c25tcF90Y3BfdHJhbnNwb3J0KHN0cnVjdCBzb2NrYWRkcl9pbiAqYWRkciwgaW50IGxvY2FsKQorICAgICAgICAgc2V0c29ja29wdCh0LT5zb2NrLCBTT0xfU09DS0VULCBTT19SRVVTRUFERFIsICh2b2lkICopJm9wdCwKKyAJCSAgIHNpemVvZihvcHQpKTsKKyAKKy0gICAgICAgIHJjID0gYmluZCh0LT5zb2NrLCAoc3RydWN0IHNvY2thZGRyICopYWRkciwgc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcikpOworLSAgICAgICAgaWYgKHJjICE9IDApIHsKKy0gICAgICAgICAgICBuZXRzbm1wX3NvY2tldGJhc2VfY2xvc2UodCk7CistICAgICAgICAgICAgbmV0c25tcF90cmFuc3BvcnRfZnJlZSh0KTsKKy0gICAgICAgICAgICByZXR1cm4gTlVMTDsKKysgICAgICAgIGlmICghc29ja2V0X2luaXRpYWxpemVkKSB7CisrICAgICAgICAgICAgcmMgPSBiaW5kKHQtPnNvY2ssIChzdHJ1Y3Qgc29ja2FkZHIgKilhZGRyLCBzaXplb2Yoc3RydWN0IHNvY2thZGRyKSk7CisrICAgICAgICAgICAgaWYgKHJjICE9IDApIHsKKysgICAgICAgICAgICAgICAgbmV0c25tcF9zb2NrZXRiYXNlX2Nsb3NlKHQpOworKyAgICAgICAgICAgICAgICBuZXRzbm1wX3RyYW5zcG9ydF9mcmVlKHQpOworKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKysgICAgICAgICAgICB9CisgICAgICAgICB9CisgCisgICAgICAgICAvKgorQEAgLTIzNiwxMSArMjU1LDEzIEBAIG5ldHNubXBfdGNwX3RyYW5zcG9ydChzdHJ1Y3Qgc29ja2FkZHJfaW4gKmFkZHIsIGludCBsb2NhbCkKKyAgICAgICAgICAqIE5vdyBzaXQgaGVyZSBhbmQgd2FpdCBmb3IgY29ubmVjdGlvbnMgdG8gYXJyaXZlLiAgCisgICAgICAgICAgKi8KKyAKKy0gICAgICAgIHJjID0gbGlzdGVuKHQtPnNvY2ssIE5FVFNOTVBfU1RSRUFNX1FVRVVFX0xFTik7CistICAgICAgICBpZiAocmMgIT0gMCkgeworLSAgICAgICAgICAgIG5ldHNubXBfc29ja2V0YmFzZV9jbG9zZSh0KTsKKy0gICAgICAgICAgICBuZXRzbm1wX3RyYW5zcG9ydF9mcmVlKHQpOworLSAgICAgICAgICAgIHJldHVybiBOVUxMOworKyAgICAgICAgaWYgKCFzb2NrZXRfaW5pdGlhbGl6ZWQpIHsKKysgICAgICAgICAgICByYyA9IGxpc3Rlbih0LT5zb2NrLCBORVRTTk1QX1NUUkVBTV9RVUVVRV9MRU4pOworKyAgICAgICAgICAgIGlmIChyYyAhPSAwKSB7CisrICAgICAgICAgICAgICAgIG5ldHNubXBfc29ja2V0YmFzZV9jbG9zZSh0KTsKKysgICAgICAgICAgICAgICAgbmV0c25tcF90cmFuc3BvcnRfZnJlZSh0KTsKKysgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisrICAgICAgICAgICAgfQorICAgICAgICAgfQorICAgICAgICAgCisgICAgICAgICAvKgorZGlmZiAtLWdpdCBhL3NubXBsaWIvdHJhbnNwb3J0cy9zbm1wVENQSVB2NkRvbWFpbi5jIGIvc25tcGxpYi90cmFuc3BvcnRzL3NubXBUQ1BJUHY2RG9tYWluLmMKK2luZGV4IGQyZTBhMmQuLjIyZGU2ZDQgMTAwNjQ0CistLS0gYS9zbm1wbGliL3RyYW5zcG9ydHMvc25tcFRDUElQdjZEb21haW4uYworKysrIGIvc25tcGxpYi90cmFuc3BvcnRzL3NubXBUQ1BJUHY2RG9tYWluLmMKK0BAIC00OSw2ICs0OSwxMCBAQAorICNpbmNsdWRlIDxuZXQtc25tcC9saWJyYXJ5L3NubXBUQ1BCYXNlRG9tYWluLmg+CisgI2luY2x1ZGUgPG5ldC1zbm1wL2xpYnJhcnkvdG9vbHMuaD4KKyAKKysjaWZuZGVmIE5FVFNOTVBfTk9fU1lTVEVNRAorKyNpbmNsdWRlIDxuZXQtc25tcC9saWJyYXJ5L3NkLWRhZW1vbi5oPgorKyNlbmRpZgorKworICNpbmNsdWRlICJpbmV0X250b3AuaCIKKyAKKyBvaWQgbmV0c25tcF9UQ1BJUHY2RG9tYWluW10gPSB7IFRSQU5TUE9SVF9ET01BSU5fVENQX0lQVjYgfTsKK0BAIC0xNDAsNiArMTQ0LDggQEAgbmV0c25tcF90Y3A2X3RyYW5zcG9ydChzdHJ1Y3Qgc29ja2FkZHJfaW42ICphZGRyLCBpbnQgbG9jYWwpCisgeworICAgICBuZXRzbm1wX3RyYW5zcG9ydCAqdCA9IE5VTEw7CisgICAgIGludCAgICAgICAgICAgICByYyA9IDA7CisrICAgIGNoYXIgICAgICAgICAgICpzdHIgPSBOVUxMOworKyAgICBpbnQgICAgICAgICAgICAgc29ja2V0X2luaXRpYWxpemVkID0gMDsKKyAKKyAjaWZkZWYgTkVUU05NUF9OT19MSVNURU5fU1VQUE9SVAorICAgICBpZiAobG9jYWwpCitAQCAtMTc0LDcgKzE4MCwxOSBAQCBuZXRzbm1wX3RjcDZfdHJhbnNwb3J0KHN0cnVjdCBzb2NrYWRkcl9pbjYgKmFkZHIsIGludCBsb2NhbCkKKyAgICAgdC0+ZG9tYWluID0gbmV0c25tcF9UQ1BJUHY2RG9tYWluOworICAgICB0LT5kb21haW5fbGVuZ3RoID0gc2l6ZW9mKG5ldHNubXBfVENQSVB2NkRvbWFpbikgLyBzaXplb2Yob2lkKTsKKyAKKy0gICAgdC0+c29jayA9IHNvY2tldChQRl9JTkVUNiwgU09DS19TVFJFQU0sIDApOworKyNpZm5kZWYgTkVUU05NUF9OT19TWVNURU1ECisrICAgIC8qCisrICAgICAqIE1heWJlIHRoZSBzb2NrZXQgd2FzIGFscmVhZHkgcHJvdmlkZWQgYnkgc3lzdGVtZC4uLgorKyAgICAgKi8KKysgICAgaWYgKGxvY2FsKSB7CisrICAgICAgICB0LT5zb2NrID0gbmV0c25tcF9zZF9maW5kX2luZXRfc29ja2V0KFBGX0lORVQ2LCBTT0NLX1NUUkVBTSwgMSwKKysgICAgICAgICAgICAgICAgbnRvaHMoYWRkci0+c2luNl9wb3J0KSk7CisrICAgICAgICBpZiAodC0+c29jaykKKysgICAgICAgICAgICBzb2NrZXRfaW5pdGlhbGl6ZWQgPSAxOworKyAgICB9CisrI2VuZGlmCisrICAgIGlmICghc29ja2V0X2luaXRpYWxpemVkKQorKyAgICAgICAgdC0+c29jayA9IHNvY2tldChQRl9JTkVUNiwgU09DS19TVFJFQU0sIDApOworICAgICBpZiAodC0+c29jayA8IDApIHsKKyAgICAgICAgIG5ldHNubXBfdHJhbnNwb3J0X2ZyZWUodCk7CisgICAgICAgICByZXR1cm4gTlVMTDsKK0BAIC0yMjAsMTIgKzIzOCwxNCBAQCBuZXRzbm1wX3RjcDZfdHJhbnNwb3J0KHN0cnVjdCBzb2NrYWRkcl9pbjYgKmFkZHIsIGludCBsb2NhbCkKKyAKKyAgICAgICAgIHNldHNvY2tvcHQodC0+c29jaywgU09MX1NPQ0tFVCwgU09fUkVVU0VBRERSLCAodm9pZCAqKSZvcHQsIHNpemVvZihvcHQpKTsKKyAKKy0gICAgICAgIHJjID0gYmluZCh0LT5zb2NrLCAoc3RydWN0IHNvY2thZGRyICopIGFkZHIsCistCQkgIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHJfaW42KSk7CistICAgICAgICBpZiAocmMgIT0gMCkgeworLSAgICAgICAgICAgIG5ldHNubXBfc29ja2V0YmFzZV9jbG9zZSh0KTsKKy0gICAgICAgICAgICBuZXRzbm1wX3RyYW5zcG9ydF9mcmVlKHQpOworLSAgICAgICAgICAgIHJldHVybiBOVUxMOworKyAgICAgICAgaWYgKCFzb2NrZXRfaW5pdGlhbGl6ZWQpIHsKKysgICAgICAgICAgICByYyA9IGJpbmQodC0+c29jaywgKHN0cnVjdCBzb2NrYWRkciAqKSBhZGRyLAorKyAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcl9pbjYpKTsKKysgICAgICAgICAgICBpZiAocmMgIT0gMCkgeworKyAgICAgICAgICAgICAgICBuZXRzbm1wX3NvY2tldGJhc2VfY2xvc2UodCk7CisrICAgICAgICAgICAgICAgIG5ldHNubXBfdHJhbnNwb3J0X2ZyZWUodCk7CisrICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworKyAgICAgICAgICAgIH0KKyAgICAgICAgIH0KKyAKKyAgICAgICAgIC8qCitAQCAtMjQyLDExICsyNjIsMTMgQEAgbmV0c25tcF90Y3A2X3RyYW5zcG9ydChzdHJ1Y3Qgc29ja2FkZHJfaW42ICphZGRyLCBpbnQgbG9jYWwpCisgICAgICAgICAgKiBOb3cgc2l0IGhlcmUgYW5kIHdhaXQgZm9yIGNvbm5lY3Rpb25zIHRvIGFycml2ZS4gIAorICAgICAgICAgICovCisgCistICAgICAgICByYyA9IGxpc3Rlbih0LT5zb2NrLCBORVRTTk1QX1NUUkVBTV9RVUVVRV9MRU4pOworLSAgICAgICAgaWYgKHJjICE9IDApIHsKKy0gICAgICAgICAgICBuZXRzbm1wX3NvY2tldGJhc2VfY2xvc2UodCk7CistICAgICAgICAgICAgbmV0c25tcF90cmFuc3BvcnRfZnJlZSh0KTsKKy0gICAgICAgICAgICByZXR1cm4gTlVMTDsKKysgICAgICAgIGlmICghc29ja2V0X2luaXRpYWxpemVkKSB7CisrICAgICAgICAgICAgcmMgPSBsaXN0ZW4odC0+c29jaywgTkVUU05NUF9TVFJFQU1fUVVFVUVfTEVOKTsKKysgICAgICAgICAgICBpZiAocmMgIT0gMCkgeworKyAgICAgICAgICAgICAgICBuZXRzbm1wX3NvY2tldGJhc2VfY2xvc2UodCk7CisrICAgICAgICAgICAgICAgIG5ldHNubXBfdHJhbnNwb3J0X2ZyZWUodCk7CisrICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworKyAgICAgICAgICAgIH0KKyAgICAgICAgIH0KKyAgICAgICAgIAorICAgICAgICAgLyoKK2RpZmYgLS1naXQgYS9zbm1wbGliL3RyYW5zcG9ydHMvc25tcFVEUElQdjRCYXNlRG9tYWluLmMgYi9zbm1wbGliL3RyYW5zcG9ydHMvc25tcFVEUElQdjRCYXNlRG9tYWluLmMKK2luZGV4IDhjMGZiMDUuLjAwZTViYmMgMTAwNjQ0CistLS0gYS9zbm1wbGliL3RyYW5zcG9ydHMvc25tcFVEUElQdjRCYXNlRG9tYWluLmMKKysrKyBiL3NubXBsaWIvdHJhbnNwb3J0cy9zbm1wVURQSVB2NEJhc2VEb21haW4uYworQEAgLTQwLDYgKzQwLDEwIEBACisgCisgI2luY2x1ZGUgPG5ldC1zbm1wL2xpYnJhcnkvc25tcFNvY2tldEJhc2VEb21haW4uaD4KKyAKKysjaWZuZGVmIE5FVFNOTVBfTk9fU1lTVEVNRAorKyNpbmNsdWRlIDxuZXQtc25tcC9saWJyYXJ5L3NkLWRhZW1vbi5oPgorKyNlbmRpZgorKworICNpZiBkZWZpbmVkKEhBVkVfSVBfUEtUSU5GTykgfHwgZGVmaW5lZChIQVZFX0lQX1JFQ1ZEU1RBRERSKQorIGludCBuZXRzbm1wX3VkcGlwdjRfcmVjdmZyb20oaW50IHMsIHZvaWQgKmJ1ZiwgaW50IGxlbiwgc3RydWN0IHNvY2thZGRyICpmcm9tLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29ja2xlbl90ICpmcm9tbGVuLCBzdHJ1Y3Qgc29ja2FkZHIgKmRzdGlwLAorQEAgLTY0LDYgKzY4LDcgQEAgbmV0c25tcF91ZHBpcHY0YmFzZV90cmFuc3BvcnQoc3RydWN0IHNvY2thZGRyX2luICphZGRyLCBpbnQgbG9jYWwpCisgICAgIGNoYXIgICAgICAgICAgICpjbGllbnRfc29ja2V0ID0gTlVMTDsKKyAgICAgbmV0c25tcF9pbmRleGVkX2FkZHJfcGFpciBhZGRyX3BhaXI7CisgICAgIHNvY2tsZW5fdCAgICAgICBsb2NhbF9hZGRyX2xlbjsKKysgICAgaW50ICAgICAgICAgICAgIHNvY2tldF9pbml0aWFsaXplZCA9IDA7CisgCisgI2lmZGVmIE5FVFNOTVBfTk9fTElTVEVOX1NVUFBPUlQKKyAgICAgaWYgKGxvY2FsKQorQEAgLTg4LDcgKzkzLDE5IEBAIG5ldHNubXBfdWRwaXB2NGJhc2VfdHJhbnNwb3J0KHN0cnVjdCBzb2NrYWRkcl9pbiAqYWRkciwgaW50IGxvY2FsKQorICAgICAgICAgZnJlZShzdHIpOworICAgICB9CisgCistICAgIHQtPnNvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19ER1JBTSwgMCk7CisrI2lmbmRlZiBORVRTTk1QX05PX1NZU1RFTUQKKysgICAgLyoKKysgICAgICogTWF5YmUgdGhlIHNvY2tldCB3YXMgYWxyZWFkeSBwcm92aWRlZCBieSBzeXN0ZW1kLi4uCisrICAgICAqLworKyAgICBpZiAobG9jYWwpIHsKKysgICAgICAgIHQtPnNvY2sgPSBuZXRzbm1wX3NkX2ZpbmRfaW5ldF9zb2NrZXQoUEZfSU5FVCwgU09DS19ER1JBTSwgLTEsCisrICAgICAgICAgICAgICAgIG50b2hzKGFkZHItPnNpbl9wb3J0KSk7CisrICAgICAgICBpZiAodC0+c29jaykKKysgICAgICAgICAgICBzb2NrZXRfaW5pdGlhbGl6ZWQgPSAxOworKyAgICB9CisrI2VuZGlmCisrICAgIGlmICghc29ja2V0X2luaXRpYWxpemVkKQorKyAgICAgICAgdC0+c29jayA9IHNvY2tldChQRl9JTkVULCBTT0NLX0RHUkFNLCAwKTsKKyAgICAgREVCVUdNU0dUTCgoIlVEUEJhc2UiLCAib3Blbm5lZCBzb2NrZXQgJWQgYXMgbG9jYWw9JWRcbiIsIHQtPnNvY2ssIGxvY2FsKSk7IAorICAgICBpZiAodC0+c29jayA8IDApIHsKKyAgICAgICAgIG5ldHNubXBfdHJhbnNwb3J0X2ZyZWUodCk7CitAQCAtMTUxLDEyICsxNjgsMTQgQEAgbmV0c25tcF91ZHBpcHY0YmFzZV90cmFuc3BvcnQoc3RydWN0IHNvY2thZGRyX2luICphZGRyLCBpbnQgbG9jYWwpCisgICAgICAgICAgICAgfQorICAgICAgICAgfQorICNlbmRpZiAvKiAhZGVmaW5lZChXSU4zMikgKi8KKy0gICAgICAgIHJjID0gYmluZCh0LT5zb2NrLCAoc3RydWN0IHNvY2thZGRyICopIGFkZHIsCistICAgICAgICAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcikpOworLSAgICAgICAgaWYgKHJjICE9IDApIHsKKy0gICAgICAgICAgICBuZXRzbm1wX3NvY2tldGJhc2VfY2xvc2UodCk7CistICAgICAgICAgICAgbmV0c25tcF90cmFuc3BvcnRfZnJlZSh0KTsKKy0gICAgICAgICAgICByZXR1cm4gTlVMTDsKKysgICAgICAgIGlmICghc29ja2V0X2luaXRpYWxpemVkKSB7CisrICAgICAgICAgICAgcmMgPSBiaW5kKHQtPnNvY2ssIChzdHJ1Y3Qgc29ja2FkZHIgKikgYWRkciwKKysgICAgICAgICAgICAgICAgICAgIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKTsKKysgICAgICAgICAgICBpZiAocmMgIT0gMCkgeworKyAgICAgICAgICAgICAgICBuZXRzbm1wX3NvY2tldGJhc2VfY2xvc2UodCk7CisrICAgICAgICAgICAgICAgIG5ldHNubXBfdHJhbnNwb3J0X2ZyZWUodCk7CisrICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworKyAgICAgICAgICAgIH0KKyAgICAgICAgIH0KKyAgICAgICAgIHQtPmRhdGEgPSBOVUxMOworICAgICAgICAgdC0+ZGF0YV9sZW5ndGggPSAwOworZGlmZiAtLWdpdCBhL3NubXBsaWIvdHJhbnNwb3J0cy9zbm1wVURQSVB2NkRvbWFpbi5jIGIvc25tcGxpYi90cmFuc3BvcnRzL3NubXBVRFBJUHY2RG9tYWluLmMKK2luZGV4IDE4ZGU4NzYuLmZkMmNlZDQgMTAwNjQ0CistLS0gYS9zbm1wbGliL3RyYW5zcG9ydHMvc25tcFVEUElQdjZEb21haW4uYworKysrIGIvc25tcGxpYi90cmFuc3BvcnRzL3NubXBVRFBJUHY2RG9tYWluLmMKK0BAIC02Nyw2ICs2NywxMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGluNl9hZGRyIGluNmFkZHJfYW55ID0gSU42QUREUl9BTllfSU5JVDsKKyAjaW5jbHVkZSA8bmV0LXNubXAvbGlicmFyeS9zbm1wU29ja2V0QmFzZURvbWFpbi5oPgorICNpbmNsdWRlIDxuZXQtc25tcC9saWJyYXJ5L3Rvb2xzLmg+CisgCisrI2lmbmRlZiBORVRTTk1QX05PX1NZU1RFTUQKKysjaW5jbHVkZSA8bmV0LXNubXAvbGlicmFyeS9zZC1kYWVtb24uaD4KKysjZW5kaWYKKysKKyAjaW5jbHVkZSAiaW5ldF9udG9wLmgiCisgI2luY2x1ZGUgImluZXRfcHRvbi5oIgorIAorQEAgLTE5MCw2ICsxOTQsOCBAQCBuZXRzbm1wX3VkcDZfdHJhbnNwb3J0KHN0cnVjdCBzb2NrYWRkcl9pbjYgKmFkZHIsIGludCBsb2NhbCkKKyB7CisgICAgIG5ldHNubXBfdHJhbnNwb3J0ICp0ID0gTlVMTDsKKyAgICAgaW50ICAgICAgICAgICAgIHJjID0gMDsKKysgICAgY2hhciAgICAgICAgICAgKnN0ciA9IE5VTEw7CisrICAgIGludCAgICAgICAgICAgICBzb2NrZXRfaW5pdGlhbGl6ZWQgPSAwOworIAorICNpZmRlZiBORVRTTk1QX05PX0xJU1RFTl9TVVBQT1JUCisgICAgIGlmIChsb2NhbCkKK0BAIC0yMTcsNyArMjIzLDE5IEBAIG5ldHNubXBfdWRwNl90cmFuc3BvcnQoc3RydWN0IHNvY2thZGRyX2luNiAqYWRkciwgaW50IGxvY2FsKQorICAgICB0LT5kb21haW5fbGVuZ3RoID0KKyAgICAgICAgIHNpemVvZihuZXRzbm1wX1VEUElQdjZEb21haW4pIC8gc2l6ZW9mKG5ldHNubXBfVURQSVB2NkRvbWFpblswXSk7CisgCistICAgIHQtPnNvY2sgPSBzb2NrZXQoUEZfSU5FVDYsIFNPQ0tfREdSQU0sIDApOworKyNpZm5kZWYgTkVUU05NUF9OT19TWVNURU1ECisrICAgIC8qCisrICAgICAqIE1heWJlIHRoZSBzb2NrZXQgd2FzIGFscmVhZHkgcHJvdmlkZWQgYnkgc3lzdGVtZC4uLgorKyAgICAgKi8KKysgICAgaWYgKGxvY2FsKSB7CisrICAgICAgICB0LT5zb2NrID0gbmV0c25tcF9zZF9maW5kX2luZXRfc29ja2V0KFBGX0lORVQ2LCBTT0NLX0RHUkFNLCAtMSwKKysgICAgICAgICAgICAgICAgbnRvaHMoYWRkci0+c2luNl9wb3J0KSk7CisrICAgICAgICBpZiAodC0+c29jaykKKysgICAgICAgICAgICBzb2NrZXRfaW5pdGlhbGl6ZWQgPSAxOworKyAgICB9CisrI2VuZGlmCisrICAgIGlmICghc29ja2V0X2luaXRpYWxpemVkKQorKyAgICAgICAgdC0+c29jayA9IHNvY2tldChQRl9JTkVUNiwgU09DS19ER1JBTSwgMCk7CisgICAgIGlmICh0LT5zb2NrIDwgMCkgeworICAgICAgICAgbmV0c25tcF90cmFuc3BvcnRfZnJlZSh0KTsKKyAgICAgICAgIHJldHVybiBOVUxMOworQEAgLTI0MywxMiArMjYxLDE0IEBAIG5ldHNubXBfdWRwNl90cmFuc3BvcnQoc3RydWN0IHNvY2thZGRyX2luNiAqYWRkciwgaW50IGxvY2FsKQorICAgICAgICAgfQorICNlbmRpZgorIAorLSAgICAgICAgcmMgPSBiaW5kKHQtPnNvY2ssIChzdHJ1Y3Qgc29ja2FkZHIgKikgYWRkciwKKy0JCSAgc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcl9pbjYpKTsKKy0gICAgICAgIGlmIChyYyAhPSAwKSB7CistICAgICAgICAgICAgbmV0c25tcF9zb2NrZXRiYXNlX2Nsb3NlKHQpOworLSAgICAgICAgICAgIG5ldHNubXBfdHJhbnNwb3J0X2ZyZWUodCk7CistICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisrICAgICAgICBpZiAoIXNvY2tldF9pbml0aWFsaXplZCkgeworKyAgICAgICAgICAgIHJjID0gYmluZCh0LT5zb2NrLCAoc3RydWN0IHNvY2thZGRyICopIGFkZHIsCisrICAgICAgICAgICAgICAgICAgICBzaXplb2Yoc3RydWN0IHNvY2thZGRyX2luNikpOworKyAgICAgICAgICAgIGlmIChyYyAhPSAwKSB7CisrICAgICAgICAgICAgICAgIG5ldHNubXBfc29ja2V0YmFzZV9jbG9zZSh0KTsKKysgICAgICAgICAgICAgICAgbmV0c25tcF90cmFuc3BvcnRfZnJlZSh0KTsKKysgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisrICAgICAgICAgICAgfQorICAgICAgICAgfQorICAgICAgICAgdC0+bG9jYWwgPSAodW5zaWduZWQgY2hhciopbWFsbG9jKDE4KTsKKyAgICAgICAgIGlmICh0LT5sb2NhbCA9PSBOVUxMKSB7CitkaWZmIC0tZ2l0IGEvc25tcGxpYi90cmFuc3BvcnRzL3NubXBVbml4RG9tYWluLmMgYi9zbm1wbGliL3RyYW5zcG9ydHMvc25tcFVuaXhEb21haW4uYworaW5kZXggNDdkZmZjMS4uOGYzNGMzNyAxMDA2NDQKKy0tLSBhL3NubXBsaWIvdHJhbnNwb3J0cy9zbm1wVW5peERvbWFpbi5jCisrKysgYi9zbm1wbGliL3RyYW5zcG9ydHMvc25tcFVuaXhEb21haW4uYworQEAgLTM3LDYgKzM3LDEwIEBACisgI2luY2x1ZGUgPG5ldC1zbm1wL2xpYnJhcnkvc3lzdGVtLmg+IC8qIG1rZGlyaGllciAqLworICNpbmNsdWRlIDxuZXQtc25tcC9saWJyYXJ5L3Rvb2xzLmg+CisgCisrI2lmbmRlZiBORVRTTk1QX05PX1NZU1RFTUQKKysjaW5jbHVkZSA8bmV0LXNubXAvbGlicmFyeS9zZC1kYWVtb24uaD4KKysjZW5kaWYKKysKKyBuZXRzbm1wX2ZlYXR1cmVfY2hpbGRfb2YodHJhbnNwb3J0X3VuaXhfc29ja2V0X2FsbCwgdHJhbnNwb3J0X2FsbCkKKyBuZXRzbm1wX2ZlYXR1cmVfY2hpbGRfb2YodW5peF9zb2NrZXRfcGF0aHMsIHRyYW5zcG9ydF91bml4X3NvY2tldF9hbGwpCisgCitAQCAtMjk1LDYgKzI5OSw4IEBAIG5ldHNubXBfdW5peF90cmFuc3BvcnQoc3RydWN0IHNvY2thZGRyX3VuICphZGRyLCBpbnQgbG9jYWwpCisgICAgIG5ldHNubXBfdHJhbnNwb3J0ICp0ID0gTlVMTDsKKyAgICAgc29ja2FkZHJfdW5fcGFpciAqc3VwID0gTlVMTDsKKyAgICAgaW50ICAgICAgICAgICAgIHJjID0gMDsKKysgICAgY2hhciAgICAgICAgICAgKnN0cmluZyA9IE5VTEw7CisrICAgIGludCAgICAgICAgICAgICBzb2NrZXRfaW5pdGlhbGl6ZWQgPSAwOworIAorICNpZmRlZiBORVRTTk1QX05PX0xJU1RFTl9TVVBQT1JUCisgICAgIC8qIFNQRUNJQUwgQ0lSQ1VNU1RBTkNFOiBXZSBzdGlsbCB3YW50IEFnZW50WCB0byBiZSBhYmxlIHRvIG9wZXJhdGUsCitAQCAtMzMzLDcgKzMzOSwxOCBAQCBuZXRzbm1wX3VuaXhfdHJhbnNwb3J0KHN0cnVjdCBzb2NrYWRkcl91biAqYWRkciwgaW50IGxvY2FsKQorICAgICB0LT5kYXRhX2xlbmd0aCA9IHNpemVvZihzb2NrYWRkcl91bl9wYWlyKTsKKyAgICAgc3VwID0gKHNvY2thZGRyX3VuX3BhaXIgKikgdC0+ZGF0YTsKKyAKKy0gICAgdC0+c29jayA9IHNvY2tldChQRl9VTklYLCBTT0NLX1NUUkVBTSwgMCk7CisrI2lmbmRlZiBORVRTTk1QX05PX1NZU1RFTUQKKysgICAgLyoKKysgICAgICogTWF5YmUgdGhlIHNvY2tldCB3YXMgYWxyZWFkeSBwcm92aWRlZCBieSBzeXN0ZW1kLi4uCisrICAgICAqLworKyAgICBpZiAobG9jYWwpIHsKKysgICAgICAgIHQtPnNvY2sgPSBuZXRzbm1wX3NkX2ZpbmRfdW5peF9zb2NrZXQoU09DS19TVFJFQU0sIDEsIGFkZHItPnN1bl9wYXRoKTsKKysgICAgICAgIGlmICh0LT5zb2NrKQorKyAgICAgICAgICAgIHNvY2tldF9pbml0aWFsaXplZCA9IDE7CisrICAgIH0KKysjZW5kaWYKKysgICAgaWYgKCFzb2NrZXRfaW5pdGlhbGl6ZWQpCisrICAgICAgICB0LT5zb2NrID0gc29ja2V0KFBGX1VOSVgsIFNPQ0tfU1RSRUFNLCAwKTsKKyAgICAgaWYgKHQtPnNvY2sgPCAwKSB7CisgICAgICAgICBuZXRzbm1wX3RyYW5zcG9ydF9mcmVlKHQpOworICAgICAgICAgcmV0dXJuIE5VTEw7CitAQCAtMzU3LDI1ICszNzQsMjYgQEAgbmV0c25tcF91bml4X3RyYW5zcG9ydChzdHJ1Y3Qgc29ja2FkZHJfdW4gKmFkZHIsIGludCBsb2NhbCkKKyAKKyAgICAgICAgIHQtPmZsYWdzIHw9IE5FVFNOTVBfVFJBTlNQT1JUX0ZMQUdfTElTVEVOOworIAorLSAgICAgICAgdW5saW5rKGFkZHItPnN1bl9wYXRoKTsKKy0gICAgICAgIHJjID0gYmluZCh0LT5zb2NrLCAoc3RydWN0IHNvY2thZGRyICopIGFkZHIsIFNVTl9MRU4oYWRkcikpOworLQorLSAgICAgICAgaWYgKHJjICE9IDAgJiYgZXJybm8gPT0gRU5PRU5UICYmIGNyZWF0ZV9wYXRoKSB7CistICAgICAgICAgICAgcmMgPSBta2RpcmhpZXIoYWRkci0+c3VuX3BhdGgsIGNyZWF0ZV9tb2RlLCAxKTsKKysgICAgICAgIGlmICghc29ja2V0X2luaXRpYWxpemVkKSB7CisrICAgICAgICAgICAgdW5saW5rKGFkZHItPnN1bl9wYXRoKTsKKysgICAgICAgICAgICByYyA9IGJpbmQodC0+c29jaywgKHN0cnVjdCBzb2NrYWRkciAqKSBhZGRyLCBTVU5fTEVOKGFkZHIpKTsKKysgICAgICAgICAgICBpZiAocmMgIT0gMCAmJiBlcnJubyA9PSBFTk9FTlQgJiYgY3JlYXRlX3BhdGgpIHsKKysgICAgICAgICAgICAgICAgcmMgPSBta2RpcmhpZXIoYWRkci0+c3VuX3BhdGgsIGNyZWF0ZV9tb2RlLCAxKTsKKysgICAgICAgICAgICAgICAgaWYgKHJjICE9IDApIHsKKysgICAgICAgICAgICAgICAgICAgIG5ldHNubXBfdW5peF9jbG9zZSh0KTsKKysgICAgICAgICAgICAgICAgICAgIG5ldHNubXBfdHJhbnNwb3J0X2ZyZWUodCk7CisrICAgICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKysgICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgICAgICByYyA9IGJpbmQodC0+c29jaywgKHN0cnVjdCBzb2NrYWRkciAqKSBhZGRyLCBTVU5fTEVOKGFkZHIpKTsKKysgICAgICAgICAgICB9CisgICAgICAgICAgICAgaWYgKHJjICE9IDApIHsKKysgICAgICAgICAgICAgICAgREVCVUdNU0dUTCgoIm5ldHNubXBfdW5peF90cmFuc3BvcnQiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICJjb3VsZG4ndCBiaW5kIFwiJXNcIiwgZXJybm8gJWQgKCVzKVxuIiwKKysgICAgICAgICAgICAgICAgICAgICAgICBhZGRyLT5zdW5fcGF0aCwgZXJybm8sIHN0cmVycm9yKGVycm5vKSkpOworICAgICAgICAgICAgICAgICBuZXRzbm1wX3VuaXhfY2xvc2UodCk7CisgICAgICAgICAgICAgICAgIG5ldHNubXBfdHJhbnNwb3J0X2ZyZWUodCk7CisgICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICByYyA9IGJpbmQodC0+c29jaywgKHN0cnVjdCBzb2NrYWRkciAqKSBhZGRyLCBTVU5fTEVOKGFkZHIpKTsKKy0gICAgICAgIH0KKy0gICAgICAgIGlmIChyYyAhPSAwKSB7CistICAgICAgICAgICAgREVCVUdNU0dUTCgoIm5ldHNubXBfdW5peF90cmFuc3BvcnQiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICJjb3VsZG4ndCBiaW5kIFwiJXNcIiwgZXJybm8gJWQgKCVzKVxuIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICBhZGRyLT5zdW5fcGF0aCwgZXJybm8sIHN0cmVycm9yKGVycm5vKSkpOworLSAgICAgICAgICAgIG5ldHNubXBfdW5peF9jbG9zZSh0KTsKKy0gICAgICAgICAgICBuZXRzbm1wX3RyYW5zcG9ydF9mcmVlKHQpOworLSAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgfQorIAorICAgICAgICAgLyoKK0BAIC0zOTEsMTQgKzQwOSwxNiBAQCBuZXRzbm1wX3VuaXhfdHJhbnNwb3J0KHN0cnVjdCBzb2NrYWRkcl91biAqYWRkciwgaW50IGxvY2FsKQorICAgICAgICAgICogTm93IHNpdCBoZXJlIGFuZCBsaXN0ZW4gZm9yIGNvbm5lY3Rpb25zIHRvIGFycml2ZS4KKyAgICAgICAgICAqLworIAorLSAgICAgICAgcmMgPSBsaXN0ZW4odC0+c29jaywgTkVUU05NUF9TVFJFQU1fUVVFVUVfTEVOKTsKKy0gICAgICAgIGlmIChyYyAhPSAwKSB7CistICAgICAgICAgICAgREVCVUdNU0dUTCgoIm5ldHNubXBfdW5peF90cmFuc3BvcnQiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICJjb3VsZG4ndCBsaXN0ZW4gdG8gXCIlc1wiLCBlcnJubyAlZCAoJXMpXG4iLAorLSAgICAgICAgICAgICAgICAgICAgICAgIGFkZHItPnN1bl9wYXRoLCBlcnJubywgc3RyZXJyb3IoZXJybm8pKSk7CistICAgICAgICAgICAgbmV0c25tcF91bml4X2Nsb3NlKHQpOworLSAgICAgICAgICAgIG5ldHNubXBfdHJhbnNwb3J0X2ZyZWUodCk7CistICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisrICAgICAgICBpZiAoIXNvY2tldF9pbml0aWFsaXplZCkgeworKyAgICAgICAgICAgIHJjID0gbGlzdGVuKHQtPnNvY2ssIE5FVFNOTVBfU1RSRUFNX1FVRVVFX0xFTik7CisrICAgICAgICAgICAgaWYgKHJjICE9IDApIHsKKysgICAgICAgICAgICAgICAgREVCVUdNU0dUTCgoIm5ldHNubXBfdW5peF90cmFuc3BvcnQiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY291bGRuJ3QgbGlzdGVuIHRvIFwiJXNcIiwgZXJybm8gJWQgKCVzKVxuIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkci0+c3VuX3BhdGgsIGVycm5vLCBzdHJlcnJvcihlcnJubykpKTsKKysgICAgICAgICAgICAgICAgbmV0c25tcF91bml4X2Nsb3NlKHQpOworKyAgICAgICAgICAgICAgICBuZXRzbm1wX3RyYW5zcG9ydF9mcmVlKHQpOworKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKysgICAgICAgICAgICB9CisgICAgICAgICB9CisgCisgICAgIH0gZWxzZSB7CitkaWZmIC0tZ2l0IGEvd2luMzIvbGlic25tcC9NYWtlZmlsZS5pbiBiL3dpbjMyL2xpYnNubXAvTWFrZWZpbGUuaW4KK2luZGV4IDk4ZDgzYzguLmIyMjhkMjAgMTAwNjQ0CistLS0gYS93aW4zMi9saWJzbm1wL01ha2VmaWxlLmluCisrKysgYi93aW4zMi9saWJzbm1wL01ha2VmaWxlLmluCitAQCAtNDIsNiArNDIsNyBAQCBMSUIzMl9PQkpTPSBcCisgCSIkKElOVERJUilccmVhZF9jb25maWcub2JqIiBcCisgCSIkKElOVERJUilccmVhZGRpci5vYmoiIFwKKyAJIiQoSU5URElSKVxzY2FwaS5vYmoiIFwKKysgICAgICAgICIkKElOVERJUilcc2QtZGFlbW9uLm9iaiIgXAorIAkiJChJTlRESVIpXHNubXAtdGMub2JqIiBcCisgCSIkKElOVERJUilcc25tcC5vYmoiIFwKKyAJIiQoSU5URElSKVxzbm1wQ2FsbGJhY2tEb21haW4ub2JqIiBcCitAQCAtMTM4LDYgKzEzOSwxMSBAQCBTT1VSQ0U9Li5cLi5cc25tcGxpYlxhc24xLmMKKyAiJChJTlRESVIpXGFzbjEub2JqIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIgorIAkkKENQUCkgJChDUFBfUFJPSikgJChTT1VSQ0UpCisgCisrU09VUkNFPS4uXC4uXHNubXBsaWJcc2QtZGFlbW9uLmMKKysKKysiJChJTlRESVIpXHNkLWRhZW1vbi5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiCisrICAgICAgICQoQ1BQKSAkKENQUF9QUk9KKSAkKFNPVVJDRSkKKysKKyAKKyBTT1VSQ0U9Li5cLi5cc25tcGxpYlxjYWxsYmFjay5jCisgCitkaWZmIC0tZ2l0IGEvd2luMzIvbmV0LXNubXAvbmV0LXNubXAtY29uZmlnLmggYi93aW4zMi9uZXQtc25tcC9uZXQtc25tcC1jb25maWcuaAoraW5kZXggMTYwODU2My4uN2FlYzU0NyAxMDA2NDQKKy0tLSBhL3dpbjMyL25ldC1zbm1wL25ldC1zbm1wLWNvbmZpZy5oCisrKysgYi93aW4zMi9uZXQtc25tcC9uZXQtc25tcC1jb25maWcuaAorQEAgLTE3MTcsNiArMTcxNyw4IEBAIGVudW0geworICNkZWZpbmUgRE1BTExPQ19GVU5DX0NIRUNLCisgI2VuZGlmCisgCisrKyNkZWZpbmUgTkVUU05NUF9OT19TWVNURU1ECisrKworIC8qICN1bmRlZiBORVRTTk1QX0VOQUJMRV9MT0NBTF9TTVVYICovCisgCisgLyogZGVmaW5lIGlmIGFnZW50eCB0cmFuc3BvcnQgaXMgdG8gdXNlIGRvbWFpbiBzb2NrZXRzIG9ubHkgKi8KK2RpZmYgLS1naXQgYS93aW4zMi9uZXQtc25tcC9uZXQtc25tcC1jb25maWcuaC5pbiBiL3dpbjMyL25ldC1zbm1wL25ldC1zbm1wLWNvbmZpZy5oLmluCitpbmRleCA5NjkzNzMwLi45NmVjM2Q5IDEwMDY0NAorLS0tIGEvd2luMzIvbmV0LXNubXAvbmV0LXNubXAtY29uZmlnLmguaW4KKysrKyBiL3dpbjMyL25ldC1zbm1wL25ldC1zbm1wLWNvbmZpZy5oLmluCitAQCAtMTcxNyw2ICsxNzE3LDggQEAgZW51bSB7CisgI2RlZmluZSBETUFMTE9DX0ZVTkNfQ0hFQ0sKKyAjZW5kaWYKKyAKKysjZGVmaW5lIE5FVFNOTVBfTk9fU1lTVEVNRAorKworIC8qICN1bmRlZiBORVRTTk1QX0VOQUJMRV9MT0NBTF9TTVVYICovCisgCisgLyogZGVmaW5lIGlmIGFnZW50eCB0cmFuc3BvcnQgaXMgdG8gdXNlIGRvbWFpbiBzb2NrZXRzIG9ubHkgKi8KKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcF81LjcuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wXzUuNy4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlODg3OGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcF81LjcuMy5iYgpAQCAtMCwwICsxLDE4MCBAQAorU1VNTUFSWSA9ICJWYXJpb3VzIHRvb2xzIHJlbGF0aW5nIHRvIHRoZSBTaW1wbGUgTmV0d29yayBNYW5hZ2VtZW50IFByb3RvY29sIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5uZXQtc25tcC5vcmcvIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkJTRCIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT0zO2VuZGxpbmU9ODttZDU9N2Y3ZjAwYmE2MzlhYzhlOGRlYjVhNjIyZWEyNDYzNGUiCisKK0RFUEVORFMgPSAib3BlbnNzbCBsaWJubCBwY2l1dGlscyIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vbmV0LXNubXAvbmV0LXNubXAtJHtQVn0uemlwIFwKKyAgICAgICAgZmlsZTovL2luaXQgXAorICAgICAgICBmaWxlOi8vc25tcGQuY29uZiBcCisgICAgICAgIGZpbGU6Ly9zbm1wdHJhcGQuY29uZiBcCisgICAgICAgIGZpbGU6Ly9zeXN0ZW1kLXN1cHBvcnQucGF0Y2ggXAorICAgICAgICBmaWxlOi8vc25tcGQuc2VydmljZSBcCisgICAgICAgIGZpbGU6Ly9zbm1wdHJhcGQuc2VydmljZSBcCisgICAgICAgIGZpbGU6Ly9uZXQtc25tcC1hZGQta25vYi13aGV0aGVyLW5saXN0LmgtYXJlLWNoZWNrZWQucGF0Y2ggXAorICAgICAgICBmaWxlOi8vZml4LWxpYnRvb2wtZmluaXNoLnBhdGNoIFwKKyAgICAgICAgZmlsZTovL25ldC1zbm1wLXRlc3RpbmctYWRkLXRoZS1vdXRwdXQtZm9ybWF0LWZvci1wdGVzdC5wYXRjaCBcCisgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICBmaWxlOi8vZG9udC1yZXR1cm4taW5jb21wbGV0ZWx5LXBhcnNlZC12YXJiaW5kcy5wYXRjaCBcCisgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ19vc19oZWFkZXJzLUVycm9yLUZpeC5wYXRjaCBcCisgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ19vc19saWJzMi1FcnJvci1GaXgucGF0Y2ggXAorICAgICAgICBmaWxlOi8vMDAwMS1zbm1wbGliLWtleXRvb2xzLmMtRG9uLXQtY2hlY2stZm9yLXJldHVybi1mcm9tLUVWUF9NLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5ZjY4MmJkNzBjNzE3ZWZkZDlmMTViNjg2ZDA3YmFlZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlOGRmYzc5YjY1MzliNzFhNmZmMzM1NzQ2Y2U2M2QyZGEyMjM5MDYyYWQ0MTg3MmZmZjQzNTRjYWZlZDA3YTNlIgorCitpbmhlcml0IGF1dG90b29scyB1cGRhdGUtcmMuZCBzaXRlaW5mbyBzeXN0ZW1kIHBrZ2NvbmZpZworCitFWFRSQV9PRU1BS0UgPSAiSU5TVEFMTF9QUkVGSVg9JHtEfSBPVEhFUkxERkxBR1M9JyR7TERGTEFHU30nIEhPU1RfQ1BQRkxBR1M9JyR7QlVJTERfQ1BQRkxBR1N9JyIKKworUEFSQUxMRUxfTUFLRSA9ICIiCitDQ0FDSEUgPSAiIgorCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbZWxmdXRpbHNdID0gIi0td2l0aC1lbGYsIC0td2l0aG91dC1lbGYsIGVsZnV0aWxzIgorUEFDS0FHRUNPTkZJR1tsaWJubF0gPSAiLS13aXRoLW5sLCAtLXdpdGhvdXQtbmwsIGxpYm5sIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgJ2lwdjYnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCwiCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtZW1iZWRkZWQtcGVybCBcCisgICAgICAgICAgICAgICAgLS13aXRoLXBlcmwtbW9kdWxlcz1ubyBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLW1hbnVhbHMgXAorICAgICAgICAgICAgICAgIC0td2l0aC1kZWZhdWx0cyBcCisgICAgICAgICAgICAgICAgLS13aXRoLWluc3RhbGwtcHJlZml4PSR7RH0gXAorICAgICAgICAgICAgICAgIC0td2l0aC1wZXJzaXN0ZW50LWRpcmVjdG9yeT0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9uZXQtc25tcCBcCisgICAgICAgICAgICAgICAgJHtAYmFzZV9jb25kaXRpb25hbCgnU0lURUlORk9fRU5ESUFOTkVTUycsICdsZScsICctLXdpdGgtZW5kaWFubmVzcz1saXR0bGUnLCAnLS13aXRoLWVuZGlhbm5lc3M9YmlnJywgZCl9IgorCisjIG5ldC1zbm1wIG5lZWRzIHRvIGhhdmUgbWliLW1vZHVsZXM9c211eCBlbmFibGVkIHRvIGVuYWJsZSBxdWFnZ2EgdG8gc3VwcG9ydCBzbm1wCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aC1taWItbW9kdWxlcz1zbXV4IgorCitDQUNIRURfQ09ORklHVVJFVkFSUyA9ICIgXAorICAgIGFjX2N2X2hlYWRlcl92YWxncmluZF92YWxncmluZF9oPW5vIFwKKyAgICBhY19jdl9oZWFkZXJfdmFsZ3JpbmRfbWVtY2hlY2tfaD1ubyBcCisgICAgYWNfY3ZfRVRDX01OVFRBQj0vZXRjL210YWIgXAorICAgIGx0X2N2X3NobGlicGF0aF9vdmVycmlkZXNfcnVucGF0aD15ZXMgXAorIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBleHBvcnQgUEVSTFBST0c9IiR7YmluZGlyfS9lbnYgcGVybCIKKyAgICBzZWQgLWkgLWUgInN8SS91c3IvaW5jbHVkZXxJJHtTVEFHSU5HX0lOQ0RJUn18ZyIgXAorICAgICAgICAiJHtTfSIvY29uZmlndXJlIFwKKyAgICAgICAgIiR7U30iL2NvbmZpZ3VyZS5kL2NvbmZpZ19vc19saWJzMgorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3NubXAKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gNzU1ICR7V09SS0RJUn0vaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvc25tcGQKKyAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L3NubXBkLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vc25tcC8KKyAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L3NubXB0cmFwZC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3NubXAvCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3NubXBkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9zbm1wdHJhcGQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIHNlZCAgICAtZSAic0BeTlNDX1NSQ0RJUj0uKkBOU0NfU1JDRElSPS5AZyIgXAorICAgICAgICAtaSAke0R9JHtiaW5kaXJ9L25ldC1zbm1wLWNyZWF0ZS12My11c2VyCisgICAgc2VkICAgIC1lICJzQF5OU0NfU1JDRElSPS4qQE5TQ19TUkNESVI9LkBnIiBcCisgICAgICAgIC1pICR7RH0ke2JpbmRpcn0vbmV0LXNubXAtY29uZmlnCit9CisKK2RvX2luc3RhbGxfcHRlc3QoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfQorICAgIGZvciBpIGluICR7U30vZGlzdCAke1N9L2luY2x1ZGUgJHtCfS9pbmNsdWRlICR7U30vbWlicyAke1N9L2NvbmZpZ3VyZSBcCisgICAgICAgICR7Qn0vbmV0LXNubXAtY29uZmlnICR7U30vdGVzdGluZzsgZG8KKyAgICAgICAgaWYgWyAtZSAiJGkiIF07IHRoZW4KKyAgICAgICAgICAgIGNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12ICIkaSIgJHtEfSR7UFRFU1RfUEFUSH0KKyAgICAgICAgZmkKKyAgICBkb25lCisgICAgZWNobyBgYXV0b2NvbmYgLVZ8YXdrICcvYXV0b2NvbmYve3ByaW50ICRORn0nYCA+ICR7RH0ke1BURVNUX1BBVEh9L2Rpc3QvYXV0b2NvbmYtdmVyc2lvbgorCisgICAgcm1kbGlzdD0iJHtEfSR7UFRFU1RfUEFUSH0vZGlzdC9uZXQtc25tcC1zb2xhcmlzLWJ1aWxkIgorICAgIGZvciBpIGluICRybWRsaXN0OyBkbworICAgICAgICBpZiBbIC1kICIkaSIgXTsgdGhlbgorICAgICAgICAgICAgcm0gLXJmICIkaSIKKyAgICAgICAgZmkKKyAgICBkb25lCit9CisKK1NZU1JPT1RfUFJFUFJPQ0VTU19GVU5DUyArPSAibmV0X3NubXBfc3lzcm9vdF9wcmVwcm9jZXNzIgorCituZXRfc25tcF9zeXNyb290X3ByZXByb2Nlc3MgKCkgeworICAgIGlmIFsgLWUgJHtEfSR7YmluZGlyfS9uZXQtc25tcC1jb25maWcgXTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vCisgICAgICAgIGluc3RhbGwgLW0gNzU1ICR7RH0ke2JpbmRpcn0vbmV0LXNubXAtY29uZmlnICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vCisgICAgICAgIHNlZCAtZSAic0AtSS91c3IvaW5jbHVkZUAtSSR7U1RBR0lOR19JTkNESVJ9QGciIFwKKyAgICAgICAgICAgIC1lICJzQF5wcmVmaXg9LipAcHJlZml4PSR7U1RBR0lOR19ESVJfSE9TVH0ke3ByZWZpeH1AZyIgXAorICAgICAgICAgICAgLWUgInNAXmV4ZWNfcHJlZml4PS4qQGV4ZWNfcHJlZml4PSR7U1RBR0lOR19FWEVDUFJFRklYRElSfUBnIiBcCisgICAgICAgICAgICAtZSAic0BeaW5jbHVkZWRpcj0uKkBpbmNsdWRlZGlyPSR7U1RBR0lOR19JTkNESVJ9QGciIFwKKyAgICAgICAgICAgIC1lICJzQF5saWJkaXI9LipAbGliZGlyPSR7U1RBR0lOR19MSUJESVJ9QGciIFwKKyAgICAgICAgICAgIC1lICJzQF5OU0NfU1JDRElSPS4qQE5TQ19TUkNESVI9JHtTfUBnIiBcCisgICAgICAgICAgLWkgICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vbmV0LXNubXAtY29uZmlnCisgICAgZmkKK30KKworUEFDS0FHRVMgKz0gIiR7UE59LWxpYnMgJHtQTn0tbWlicyAke1BOfS1zZXJ2ZXIgJHtQTn0tY2xpZW50ICR7UE59LXNlcnZlci1zbm1wZCAke1BOfS1zZXJ2ZXItc25tcHRyYXBkIgorCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorQUxMT1dfRU1QVFlfJHtQTn0tc2VydmVyID0gIjEiCisKK0ZJTEVTXyR7UE59LWxpYnMgPSAiJHtsaWJkaXJ9L2xpYioke1NPTElCU30iCitGSUxFU18ke1BOfS1taWJzID0gIiR7ZGF0YWRpcn0vc25tcC9taWJzIgorRklMRVNfJHtQTn0tc2VydmVyLXNubXBkID0gIiR7c2JpbmRpcn0vc25tcGQgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vc25tcC9zbm1wZC5jb25mIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zbm1wZC5zZXJ2aWNlIFwKKyIKKworRklMRVNfJHtQTn0tc2VydmVyLXNubXB0cmFwZCA9ICIke3NiaW5kaXJ9L3NubXB0cmFwZCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vc25tcC9zbm1wdHJhcGQuY29uZiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc25tcHRyYXBkLnNlcnZpY2UgXAorIgorCitGSUxFU18ke1BOfSA9ICIiCitGSUxFU18ke1BOfS1jbGllbnQgPSAiJHtiaW5kaXJ9LyogJHtkYXRhZGlyfS9zbm1wLyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9Ly5kZWJ1Zy8gJHtzYmluZGlyfS8uZGVidWcvICR7YmluZGlyfS8uZGVidWcvIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2JpbmRpcn0vbWliMmMgJHtiaW5kaXJ9L21pYjJjLXVwZGF0ZSIKKworQ09ORkZJTEVTXyR7UE59LXNlcnZlci1zbm1wZCA9ICIke3N5c2NvbmZkaXJ9L3NubXAvc25tcGQuY29uZiIKK0NPTkZGSUxFU18ke1BOfS1zZXJ2ZXItc25tcHRyYXBkID0gIiR7c3lzY29uZmRpcn0vc25tcC9zbm1wdHJhcGQuY29uZiIKKworSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfS1zZXJ2ZXIiCitJTklUU0NSSVBUX05BTUVfJHtQTn0tc2VydmVyID0gInNubXBkIgorSU5JVFNDUklQVF9QQVJBTVNfJHtQTn0tc2VydmVyID0gInN0YXJ0IDkwIDIgMyA0IDUgLiBzdG9wIDYwIDAgMSA2IC4iCisKK0VYVFJBX09FQ09ORiArPSAiJHtAYmFzZV9jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAnLS13aXRoLXN5c3RlbWQnLCAnLS13aXRob3V0LXN5c3RlbWQnLCBkKX0iCisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0tc2VydmVyLXNubXBkIFwKKyAgICAgICAgICAgICAgICAgICAgJHtQTn0tc2VydmVyLXNubXB0cmFwZCIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59LXNlcnZlci1zbm1wZCA9ICJzbm1wZC5zZXJ2aWNlIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59LXNlcnZlci1zbm1wdHJhcGQgPSAgInNubXB0cmFwZC5zZXJ2aWNlIgorCitSREVQRU5EU18ke1BOfSArPSAibmV0LXNubXAtY2xpZW50IgorUkRFUEVORFNfJHtQTn0tc2VydmVyLXNubXBkICs9ICJuZXQtc25tcC1taWJzIgorUkRFUEVORFNfJHtQTn0tc2VydmVyLXNubXB0cmFwZCArPSAibmV0LXNubXAtc2VydmVyLXNubXBkIgorUkRFUEVORFNfJHtQTn0tc2VydmVyICs9ICJuZXQtc25tcC1zZXJ2ZXItc25tcGQgbmV0LXNubXAtc2VydmVyLXNubXB0cmFwZCIKK1JERVBFTkRTXyR7UE59LWNsaWVudCArPSAibmV0LXNubXAtbWlicyIKK1JERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJwZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS10ZXN0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZmlsZS10ZW1wIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1kYXRhLWR1bXBlciBcCisiCitSREVQRU5EU18ke1BOfS1kZXYgPSAibmV0LXNubXAtY2xpZW50ICg9ICR7RVhURU5EUEtHVn0pIG5ldC1zbm1wLXNlcnZlciAoPSAke0VYVEVORFBLR1Z9KSIKK1JSRUNPTU1FTkRTXyR7UE59LWRiZyA9ICJuZXQtc25tcC1jbGllbnQgKD0gJHtFWFRFTkRQS0dWfSkgbmV0LXNubXAtc2VydmVyICg9ICR7RVhURU5EUEtHVn0pIgorCitSUFJPVklERVNfJHtQTn0tc2VydmVyLXNubXBkICs9ICIke1BOfS1zZXJ2ZXItc25tcGQtc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfS1zZXJ2ZXItc25tcGQgKz0gIiR7UE59LXNlcnZlci1zbm1wZC1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfS1zZXJ2ZXItc25tcGQgKz0gIiR7UE59LXNlcnZlci1zbm1wZC1zeXN0ZW1kIgorCitSUFJPVklERVNfJHtQTn0tc2VydmVyLXNubXB0cmFwZCArPSAiJHtQTn0tc2VydmVyLXNubXB0cmFwZC1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59LXNlcnZlci1zbm1wdHJhcGQgKz0gIiR7UE59LXNlcnZlci1zbm1wdHJhcGQtc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0tc2VydmVyLXNubXB0cmFwZCArPSAiJHtQTn0tc2VydmVyLXNubXB0cmFwZC1zeXN0ZW1kIgorCitMRUFEX1NPTkFNRSA9ICJsaWJuZXRzbm1wLnNvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvb3BlbmZsb3cvb3BlbmZsb3cuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvb3BlbmZsb3cvb3BlbmZsb3cuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmNDY1Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9vcGVuZmxvdy9vcGVuZmxvdy5pbmMKQEAgLTAsMCArMSwzOCBAQAorU1VNTUFSWSA9ICJPcGVuRmxvdyBjb21tdW5pY2F0aW9ucyBwcm90b2NvbCIKK0RFU0NSSVBUSU9OID0gIlwKK09wZW4gc3RhbmRhcmQgdGhhdCBlbmFibGVzIHJlc2VhcmNoZXJzIHRvIHJ1biBleHBlcmltZW50YWwgcHJvdG9jb2xzIGluIFwKK2NvbnRhaW5lZCBuZXR3b3Jrcy4gIE9wZW5GbG93IGlzIGEgY29tbXVuaWNhdGlvbnMgaW50ZXJmYWNlIGJldHdlZW4gXAorY29udHJvbCBhbmQgZm9yd2FyZGluZyBwbGFuZXMgb2YgYSBzb2Z0d2FyZS1kZWZpbmVkIG5ldHdvcmtpbmcgYXJjaGl0ZWN0dXJlLlwKKyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbmZsb3cub3JnIgorCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiR1BMdjIiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWU4NzBjOTM0ZTJjM2Q2Y2NmMDg1ZmQ3Y2YwYTFlMmUyIgorCitTUkNfVVJJID0gImdpdDovL2dpdG9zaXMuc3RhbmZvcmQuZWR1L29wZW5mbG93LmdpdDtwcm90b2NvbD1naXQiCisKK0RFUEVORFMgPSAidmlydHVhbC9saWJjIgorCitQQUNLQUdFQ09ORklHID8/PSAib3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS1lbmFibGUtc3NsLC0tZGlzYWJsZS1zc2wsIG9wZW5zc2wsIGxpYnNzbCIKKworRVhUUkFfT0VDT05GICs9ICIgXAorICAgICAgICAgICAgICAgICBLQVJDSD0ke1RBUkdFVF9BUkNIfSBcCisgICAgICAgICAgICAgICAgICR7QGJhc2VfY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnb3BlbnNzbCcsICdTU0xfTElCUz0iLWxzc2wgLWxjcnlwdG8iJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworZG9fY29uZmlndXJlKCkgeworICAgIC4vYm9vdC5zaAorICAgIG9lX3J1bmNvbmYKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyBSZW1vdmUgL3Zhci9ydW4gYXMgaXQgaXMgY3JlYXRlZCBvbiBzdGFydHVwCisgICAgcm0gLXJmICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bgorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvb3BlbmZsb3cvb3BlbmZsb3dfMS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvb3BlbmZsb3cvb3BlbmZsb3dfMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3ZTI1NGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9vcGVuZmxvdy9vcGVuZmxvd18xLjAuYmIKQEAgLTAsMCArMSw0IEBACitpbmNsdWRlICR7QlBOfS5pbmMKKworU1JDUkVWID0gIjVjY2NhNzVhNjlmOTk3OTE2NTliY2ZiY2YzNTM1M2FiMTkyMTMyMGEiCitQViA9ICIxLjAiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9vcGVuZmxvdy9vcGVuZmxvd19naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9vcGVuZmxvdy9vcGVuZmxvd19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjQwM2JmYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL29wZW5mbG93L29wZW5mbG93X2dpdC5iYgpAQCAtMCwwICsxLDQgQEAKK2luY2x1ZGUgJHtCUE59LmluYworCitTUkNSRVYgPSAiYzg0ZjMzZjA5ZDVkYmNmYzliNDg5ZjY0Y2IzMDQ3NWJmMzZmNjUzYSIKK1BWID0gIjEuMCtnaXQke1NSQ1BWfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL29wZW5sMnRwL29wZW5sMnRwL01ha2VmaWxlLW1vZGlmeS1DRkxBR1MtdG8tYXZpb2QtYnVpbGQtZXJyb3IucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9vcGVubDJ0cC9vcGVubDJ0cC9NYWtlZmlsZS1tb2RpZnktQ0ZMQUdTLXRvLWF2aW9kLWJ1aWxkLWVycm9yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2ZGJjNzUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9vcGVubDJ0cC9vcGVubDJ0cC9NYWtlZmlsZS1tb2RpZnktQ0ZMQUdTLXRvLWF2aW9kLWJ1aWxkLWVycm9yLnBhdGNoCkBAIC0wLDAgKzEsMTA2IEBACitGcm9tIDE1MjQ4NmZhM2MzNmMzYjk5ZDE3ZDViNTUzY2Y4N2VmNDEyZmFlOGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMaSB4aW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CitEYXRlOiBNb24sIDEgRGVjIDIwMTQgMDE6NTM6NDEgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gTWFrZWZpbGU6bW9kaWZ5IENGTEFHUyB0byBhdmlvZCBidWlsZCBlcnJvci4KKworVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IExpIFhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KKy0tLQorIE1ha2VmaWxlICAgICAgICAgfCAyMiArKysrKysrKysrKy0tLS0tLS0tLS0tCisgcGx1Z2lucy9NYWtlZmlsZSB8ICA2ICsrKy0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCA0YWFhNDQ4Li5iYWE3ODgyIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtMTUyLDEwICsxNTIsMTAgQEAgTElCUy5kbWFsbG9jPQkJLWxkbWFsbG9jCisgZXhwb3J0IFVTRV9ETUFMTE9DCisgZW5kaWYKKyAKKy1DUFBGTEFHUz0JCSQoQ1BQRkxBR1MubDJ0cHRlc3QpICQoQ1BQRkxBR1MteSkKKy1DRkxBR1M9CQkJLUkuIC1JdXNsIC1JY2xpIC1pc3lzdGVtIGluY2x1ZGUgXAorLQkJCQktTU1EIC1XYWxsIC1XZXJyb3IgLVduby1zdHJpY3QtYWxpYXNpbmcgXAorLQkJCQkkKENQUEZMQUdTKSAkKENQUEZMQUdTLmRtYWxsb2MpIFwKKytBRERfQ1BQRkxBR1M9CQkkKENQUEZMQUdTLmwydHB0ZXN0KSAkKENQUEZMQUdTLXkpCisrQUREX0NGTEFHUz0JCQktSS4gLUl1c2wgLUljbGkgLWlzeXN0ZW0gaW5jbHVkZSBcCisrCQkJCS1NTUQgLVdhbGwgLVduby1zdHJpY3QtYWxpYXNpbmcgXAorKwkJCQkkKEFERF9DUFBGTEFHUykgJChDUFBGTEFHUy5kbWFsbG9jKSBcCisgCQkJCS1EU1lTX0xJQkRJUj0kKFNZU19MSUJESVIpCisgTERGTEFHUy5sMnRwZD0JCS1XbCwtRSAtTC4gLUx1c2wgLWx1c2wgLWxkbCAkKExJQlMuZG1hbGxvYykgLWxjCisgTERGTEFHUy5sMnRwY29uZmlnPQktTGNsaSAtbGNsaSAtbHJlYWRsaW5lICQoTElCUy5kbWFsbG9jKSAkKFJFQURMSU5FX0xERkxBR1MpIC1sYworQEAgLTE3MCwxMCArMTcwLDEwIEBAIENGTEFHUy5vcHRpbWl6ZT0JJChPUFRfQ0ZMQUdTKQorIGVuZGlmCisgZXhwb3J0IENGTEFHUy5vcHRpbWl6ZQorIAorLUNGTEFHUys9CQkkKENGTEFHUy5vcHRpbWl6ZSkKKytBRERfQ0ZMQUdTKz0JCSQoQ0ZMQUdTLm9wdGltaXplKQorIAorIGlmZXEgKCQoTDJUUF9VU0VfQVNZTkNfUlBDKSx5KQorLUNQUEZMQUdTKz0JCS1ETDJUUF9BU1lOQ19SUEMKKytBRERfQ1BQRkxBR1MrPQkJLURMMlRQX0FTWU5DX1JQQworIGVuZGlmCisgCisgaWZlcSAoJChMMlRQX0ZFQVRVUkVfUlBDX01BTkFHRU1FTlQpLHkpCitAQCAtMjIwLDEzICsyMjAsMTMgQEAgZW5kaWYKKyAKKyAjIENvbXBpbGUgd2l0aG91dCAtV2FsbCBiZWNhdXNlIHJwY2dlbi1nZW5lcmF0ZWQgY29kZSBpcyBmdWxsIG9mIHdhcm5pbmdzLgorICVfeGRyLm86CQklX3hkci5jCistCQkJJChDQykgLUkuIC1NTUQgLXcgJChDRkxBR1Mub3B0aW1pemUpIC1jICQoQ1BQRkxBR1MpICQ8CisrCQkJJChDQykgLUkuIC1NTUQgLXcgJChDRkxBR1Mub3B0aW1pemUpIC1jICQoQUREX0NQUEZMQUdTKSAkPAorIAorICVfY2xpZW50Lm86CQklX2NsaWVudC5jCistCQkJJChDQykgLUkuIC1NTUQgLXcgJChDRkxBR1Mub3B0aW1pemUpIC1jICQoQ1BQRkxBR1MpICQ8CisrCQkJJChDQykgLUkuIC1NTUQgLXcgJChDRkxBR1Mub3B0aW1pemUpIC1jICQoQUREX0NQUEZMQUdTKSAkPAorIAorICVfc2VydmVyLm86CQklX3NlcnZlci5jCistCQkJJChDQykgLUkuIC1NTUQgLXcgJChDRkxBR1Mub3B0aW1pemUpIC1jICQoQ1BQRkxBR1MpICQ8CisrCQkJJChDQykgLUkuIC1NTUQgLXcgJChDRkxBR1Mub3B0aW1pemUpIC1jICQoQUREX0NQUEZMQUdTKSAkPAorIAorICVfeGRyLmM6CQklLngKKyAJCQktJChSTSkgJEAKK0BAIC0yNzIsNyArMjcyLDcgQEAgbDJ0cGNvbmZpZzoJCSQoTDJUUENPTkZJR19TUkNTLm8pCisgCQkJJChDQykgLW8gJEAgJF4gJChMREZMQUdTLmwydHBjb25maWcpCisgCisgJS5vOgklLmMKKy0JCQkkKENDKSAtYyAkKENGTEFHUykgJDwgLW8gJEAKKysJCQkkKENDKSAtYyAkKENGTEFHUykgJChBRERfQ0ZMQUdTKSAkPCAtbyAkQAorIAorIGwydHBfb3B0aW9ucy5oOglGT1JDRQorIAlAcm0gLWYgJEAudG1wCitAQCAtMzI1LDcgKzMyNSw3IEBAIGluc3RhbGw6CQlpbnN0YWxsLWFsbAorIGluc3RhbGwtYWxsOgkJYWxsIGluc3RhbGwtZGFlbW9uIGluc3RhbGwtYXBwCisgCisgaW5zdGFsbC1kYWVtb246CistCQkJQGZvciBkIGluICQoZmlsdGVyLW91dCB1c2wsJChTVUJESVJTKSk7IGRvICQoTUFLRSkgLUMgJCRkICQoTUZMQUdTKSBFWFRSQV9DRkxBR1M9IiQoQ1BQRkxBR1MpIiBpbnN0YWxsOyBpZiBbICQkPyAtbmUgMCBdOyB0aGVuIGV4aXQgMTsgZmk7IGRvbmUKKysJCQlAZm9yIGQgaW4gJChmaWx0ZXItb3V0IHVzbCwkKFNVQkRJUlMpKTsgZG8gJChNQUtFKSAtQyAkJGQgJChNRkxBR1MpIEVYVFJBX0NGTEFHUz0iJChDUFBGTEFHUykgJChBRERfQ1BQRkxBR1MpIiBpbnN0YWxsOyBpZiBbICQkPyAtbmUgMCBdOyB0aGVuIGV4aXQgMTsgZmk7IGRvbmUKKyAJCQkkKElOU1RBTEwpIC1kICQoREVTVERJUikvdXNyL3NiaW4KKyAJCQkkKElOU1RBTEwpIG9wZW5sMnRwZCAkKERFU1RESVIpL3Vzci9zYmluCisgCitkaWZmIC0tZ2l0IGEvcGx1Z2lucy9NYWtlZmlsZSBiL3BsdWdpbnMvTWFrZWZpbGUKK2luZGV4IDViZTk5NmQuLjY4MTAyMzYgMTAwNjQ0CistLS0gYS9wbHVnaW5zL01ha2VmaWxlCisrKysgYi9wbHVnaW5zL01ha2VmaWxlCitAQCAtMSw3ICsxLDcgQEAKKy1DRkxBR1MJOj0gJChDRkxBR1Mub3B0aW1pemUpIC1NTUQgLVdhbGwgXAorK0FERF9DRkxBR1MJOj0gJChDRkxBR1Mub3B0aW1pemUpIC1NTUQgLVdhbGwgXAorIAktaXN5c3RlbSAuLi9pbmNsdWRlIFwKKyAJLUkuIC1JLi4gLUkuLi91c2wgLWZQSUMgJChFWFRSQV9DRkxBR1MpCistTERGTEFHUwk6PSAtc2hhcmVkCisrQUREX0xERkxBR1MJOj0gLXNoYXJlZAorIAorIFBMVUdJTlMuYzo9CXBwcF91bml4LmMgcHBwX251bGwuYyBpcHNlYy5jIGV2ZW50X3NvY2suYworIAorQEAgLTIxLDcgKzIxLDcgQEAgY2xlYW46CisgCQkkKFJNKSAkKFBMVUdJTlMuc28pICQod2lsZGNhcmQgKi5vKSAkKHdpbGRjYXJkICouZCkgJChTUkMuZ2VuZXJhdGVkKQorIAorICUuc286ICUuYworLQkJJChDQykgLW8gJEAgJChMREZMQUdTKSAkKENGTEFHUykgJDwKKysJCSQoQ0MpIC1vICRAICQoTERGTEFHUykgJChBRERfTERGTEFHUykgJChDRkxBR1MpICQoQUREX0NGTEFHUykgJDwKKyAKKyBpbnN0YWxsOglhbGwKKyAJCSQoSU5TVEFMTCkgLWQgJChERVNURElSKSQoU1lTX0xJQkRJUikvb3BlbmwydHAKKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9vcGVubDJ0cC9vcGVubDJ0cC9vcGVubDJ0cC1zaW1wbGlmeS1nY2Mtd2FybmluZy1oYWNrLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvb3BlbmwydHAvb3BlbmwydHAvb3BlbmwydHAtc2ltcGxpZnktZ2NjLXdhcm5pbmctaGFjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMTFhMTI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvb3BlbmwydHAvb3BlbmwydHAvb3BlbmwydHAtc2ltcGxpZnktZ2NjLXdhcm5pbmctaGFjay5wYXRjaApAQCAtMCwwICsxLDQxIEBACitGcm9tIDQ2MDU0OWEzZGUyN2Y4ZGQ4MzcxYjZkNmZjMWY2OWQ4YmZmYTEwMmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb2UgTWFjRG9uYWxkIDxqb2VfbWFjZG9uYWxkQG1lbnRvci5jb20+CitEYXRlOiBUdWUsIDYgSmFuIDIwMTUgMTE6MjM6MjEgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gb3BlbmwydHA6IHNpbXBsaWZ5IGdjYyB3YXJuaW5nIGhhY2sKKworVGhlIGhhY2sgdG8gd29yayBhcm91bmQgdGhlIGdjYyB3YXJuaW5nIGNhdXNlcyBwcm9ibGVtcyB3aXRoIHNvbWUgbW9kZXJuCitnY2MgY29uZmlndXJhdGlvbnMuICBTaW5jZSB0aGUgcmVkZWYgYmVoYXZpb3VyIGlzIGVzc2VudGlhbGx5IGNvcnJlY3QKK2V2ZXJ5d2hlcmUgYW5kIHNpbmNlIHRoZSBoYWNrIGlzIHN0aWxsIHJlcXVpcmVkIG9uIDMyLWJpdCBidWlsZGVycywgbGVhdmUKK2l0IGluIHBsYWNlIGJ1dCByZW1vdmUgdGhlICNpZiBndWFyZCBzaW5jZSBpdCBpcyBvbmx5IHRoZXJlIHRvIGVuc3VyZSB0aGF0Cit0aGUgbDJ0cF9wcml2YXRlLmggZmlsZSBpcyB1cGRhdGVkIGlmIHRoZSBycGMgc291cmNlIGZpbGUgaXMgY2hhbmdlZCBhbmQKK3RoZSB0d28gZ2V0IG91dCBvZiBzeW5jLgorCitVcHN0cmVhbS1zdGF0dXM6IHBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSm9lIE1hY0RvbmFsZCA8am9lX21hY2RvbmFsZEBtZW50b3IuY29tPgorLS0tCisgbDJ0cF9wcml2YXRlLmggfCA2IC0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbDJ0cF9wcml2YXRlLmggYi9sMnRwX3ByaXZhdGUuaAoraW5kZXggZjNjMWFmNy4uY2NhNjgwNiAxMDA2NDQKKy0tLSBhL2wydHBfcHJpdmF0ZS5oCisrKysgYi9sMnRwX3ByaXZhdGUuaAorQEAgLTg5LDE0ICs4OSw4IEBACisgICogU28gd2UgcmVkZWZpbmUgdGhlIGNvbnN0YW50IHdpdGggVUwgc3VmZml4IHRvIGF2b2lkIHRoZSBnY2Mgd2FybmluZy4KKyAgKiBJcyB0aGVyZSBzb21lIEMgcHJlcHJvY2Vzc29yIG1hZ2ljIHRoYXQgY291bGQgYXZvaWQgaGF2aW5nIHRvIGRvIHRoaXM/CisgICovCistI2lmIEwyVFBfQVBJX1RVTk5FTF9GTEFHX01UVSAhPSAyMTQ3NDgzNjQ4CistI2Vycm9yIENvbnN0YW50IEwyVFBfQVBJX1RVTk5FTF9GTEFHX01UVSBjaGFuZ2VkLiBVcGRhdGUgbG9jYWwgZGVmaW5pdGlvbiBoZXJlLgorLSNlbmRpZgorICN1bmRlZiBMMlRQX0FQSV9UVU5ORUxfRkxBR19NVFUKKyAjZGVmaW5lIEwyVFBfQVBJX1RVTk5FTF9GTEFHX01UVSAyMTQ3NDgzNjQ4VUwKKy0jaWYgTDJUUF9BUElfU0VTU0lPTl9GTEFHX05PX1BQUCAhPSAyMTQ3NDgzNjQ4CistI2Vycm9yIENvbnN0YW50IEwyVFBfQVBJX1NFU1NJT05fRkxBR19OT19QUFAgY2hhbmdlZC4gVXBkYXRlIGxvY2FsIGRlZmluaXRpb24gaGVyZS4KKy0jZW5kaWYKKyAjdW5kZWYgTDJUUF9BUElfU0VTU0lPTl9GTEFHX05PX1BQUAorICNkZWZpbmUgTDJUUF9BUElfU0VTU0lPTl9GTEFHX05PX1BQUCAyMTQ3NDgzNjQ4VUwKKyAKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvb3BlbmwydHAvb3BlbmwydHBfMS44LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvb3BlbmwydHAvb3BlbmwydHBfMS44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwNDNiNjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9vcGVubDJ0cC9vcGVubDJ0cF8xLjguYmIKQEAgLTAsMCArMSwzNiBAQAorU1VNTUFSWSA9ICJBbiBMMlRQIGNsaWVudC9zZXJ2ZXIsIGRlc2lnbmVkIGZvciBWUE4gdXNlLiIKK0RFU0NSSVBUSU9OID0gIk9wZW5MMlRQIGlzIGFuIG9wZW4gc291cmNlIEwyVFAgY2xpZW50IC8gc2VydmVyLCB3cml0dGVuIFwKK3NwZWNpZmljYWxseSBmb3IgTGludXguIEl0IGhhcyBiZWVuIGRlc2lnbmVkIGZvciB1c2UgYXMgYW4gZW50ZXJwcmlzZSBcCitMMlRQIFZQTiBzZXJ2ZXIgb3IgaW4gY29tbWVyY2lhbCwgTGludXgtYmFzZWQsIGVtYmVkZGVkIG5ldHdvcmtpbmcgXAorcHJvZHVjdHMgYW5kIGlzIGFibGUgdG8gc3VwcG9ydCBodW5kcmVkcyBvZiBzZXNzaW9ucywgZWFjaCB3aXRoIFwKK2RpZmZlcmVudCBjb25maWd1cmF0aW9uLiBJdCBpcyB1c2VkIGJ5IHNldmVyYWwgSVNQcyB0byBwcm92aWRlIFwKK0wyVFAgc2VydmljZXMgYW5kIGJ5IGNvcnBvcmF0aW9ucyB0byBpbXBsZW1lbnQgTDJUUCBWUE5zLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbmwydHAub3JnLyIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJHUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTlkOTI1OWNiYmYwMDk0NWFkYzI1YTQ3MGMxZDM1ODUiCitERVBFTkRTID0gInBvcHQgZmxleCByZWFkbGluZSIKKworU1JDX1VSSSA9ICJodHRwOi8vZnRwLmphaXN0LmFjLmpwL3B1Yi9zb3VyY2Vmb3JnZS9vL29wLyR7UE59LyR7UE59LyR7UFZ9LyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9NYWtlZmlsZS1tb2RpZnktQ0ZMQUdTLXRvLWF2aW9kLWJ1aWxkLWVycm9yLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL29wZW5sMnRwLXNpbXBsaWZ5LWdjYy13YXJuaW5nLWhhY2sucGF0Y2ggXAorICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlM2QwOGRlZGZiOWU2YTlhMWUyNGY2NzY2ZjZkYWRkMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxYzk3NzA0ZDRiOTYzYTg3ZmJjMGU3NDE2NjhkNDUzMDkzMzk5MTUxNWFlOWFiMGRmZmQxMWI1NDQ0ZjQ4NjBmIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnCisKK1BBUkFMTEVMX01BS0UgPSAiIgorRVhUUkFfT0VNQUtFID0gJ0NGTEFHUz0iJHtDRkxBR1N9IC1Xbm8tbnVzZWQtYnV0LXNldC12YXJpYWJsZSInCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgLWUgInM6U1lTX0xJQkRJUj0uKjpTWVNfTElCRElSPSR7bGliZGlyfTpnIiBcCisgICAgICAgIC1lICdzOiQoQ1JPU1NfQ09NUElMRSlhczoke0FTfTpnJyBcCisgICAgICAgIC1lICdzOiQoQ1JPU1NfQ09NUElMRSlsZDoke0xEfTpnJyBcCisgICAgICAgIC1lICdzOiQoQ1JPU1NfQ09NUElMRSlnY2M6JHtDQ306ZycgXAorICAgICAgICAtZSAnczokKENST1NTX0NPTVBJTEUpYXI6JHtBUn06ZycgXAorICAgICAgICAtZSAnczokKENST1NTX0NPTVBJTEUpbm06JHtOTX06ZycgXAorICAgICAgICAtZSAnczokKENST1NTX0NPTVBJTEUpc3RyaXA6JHtTVFJJUH06ZycgXAorICAgICAgICAtZSAnczokKENST1NTX0NPTVBJTEUpaW5zdGFsbDppbnN0YWxsOmcnIFwKKyAgICAgICAgJHtTfS9NYWtlZmlsZQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcHB0cC1saW51eC9wcHRwLWxpbnV4LTEuOC4wL29wdGlvbnMucHB0cCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3BwdHAtbGludXgvcHB0cC1saW51eC0xLjguMC9vcHRpb25zLnBwdHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjQ0NmUyMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3BwdHAtbGludXgvcHB0cC1saW51eC0xLjguMC9vcHRpb25zLnBwdHAKQEAgLTAsMCArMSwzMCBAQAorIworIyBMb2NrIHRoZSBwb3J0CisjCitsb2NrCisKKyMKKyMgV2UgZG9uJ3QgbmVlZCB0aGUgdHVubmVsIHNlcnZlciB0byBhdXRoZW50aWNhdGUgaXRzZWxmCisjCitub2F1dGgKKworIworIyBUdXJuIG9mZiB0cmFuc21pc3Npb24gcHJvdG9jb2xzIHdlIGtub3cgd29uJ3QgYmUgdXNlZAorIworbm9ic2Rjb21wCitub2RlZmxhdGUKKworIworIyBXZSB3YW50IE1QUEUKKyMgKG9wdGlvbiBuYW1pbmcgc3BlY2lmaWMgdG8gcHBwIDIuNC4wIHdpdGggdW5vZmZpY2lhbCBwYXRjaCkKKyMKKyNtcHBlLTQwCittcHBlLTEyOAorI21wcGUtc3RhdGVsZXNzCisKKyMKKyMgV2Ugd2FudCBhIHNhbmUgbXR1L21ydSAKKyMgKHBwcCAyLjQuMCB3aXRoIHVub2ZmaWNpYWwgcGF0Y2gpCisjCisjbXR1IDEwMDAKKyNtcnUgMTAwMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcHB0cC1saW51eC9wcHRwLWxpbnV4XzEuOC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcHB0cC1saW51eC9wcHRwLWxpbnV4XzEuOC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjOGIyY2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9wcHRwLWxpbnV4L3BwdHAtbGludXhfMS44LjAuYmIKQEAgLTAsMCArMSwzMiBAQAorU1VNTUFSWSA9ICJDbGllbnQgZm9yIE1pY3Jvc29mdCBQUFRQIFZQTnMiCitERVNDUklQVElPTiA9ICJQUFRQIENsaWVudCBpcyBhIExpbnV4LCBGcmVlQlNELCBOZXRCU0QgXAorICAgIGFuZCBPcGVuQlNEIGNsaWVudCBmb3IgdGhlIHByb3ByaWV0YXJ5IE1pY3Jvc29mdCBQb2ludC10by1Qb2ludCBcCisgICAgVHVubmVsaW5nIFByb3RvY29sLCBQUFRQLiBBbGxvd3MgY29ubmVjdGlvbiB0byBhIFBQVFAgYmFzZWQgXAorICAgIFZpcnR1YWwgUHJpdmF0ZSBOZXR3b3JrIChWUE4pIGFzIHVzZWQgYnkgZW1wbG95ZXJzIGFuZCBzb21lIFwKKyAgICBjYWJsZSBhbmQgQURTTCBpbnRlcm5ldCBzZXJ2aWNlIHByb3ZpZGVycy4iCitIT01FUEFHRSA9ICJodHRwOi8vcHB0cGNsaWVudC5zb3VyY2Vmb3JnZS5uZXQiCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK1BSID0gInIxIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9zb3VyY2Vmb3JnZS9wcHRwY2xpZW50L3BwdHAtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL29wdGlvbnMucHB0cCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0ZWZjZTlmMjYzZTJjM2YzOGQ3OWQ5ZGYyMjI0NzZkZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlMzljNDJkOTMzMjQyYThhNmRkODYwMGEwZmE3ZjBhNWVjOGYwNjZkMTBjNDE0OWQ4ZTgxYTVjNjhmZTRiYmRhIgorCitTID0gIiR7V09SS0RJUn0vcHB0cC0ke1BWfSIKKworRVhUUkFfT0VNQUtFID0gIi1lIE1BS0VGTEFHUz0iCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzYmluZGlyfSAke0R9JHtzeXNjb25mZGlyfS9wcHAgJHtEfSR7bWFuZGlyfS9tYW44CisgICAgaW5zdGFsbCAtbSA1NTUgcHB0cCAke0R9JHtzYmluZGlyfQorICAgIGluc3RhbGwgLW0gNjQ0IHBwdHAuOCAke0R9JHttYW5kaXJ9L21hbjgKKyAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L29wdGlvbnMucHB0cCAke0R9JHtzeXNjb25mZGlyfS9wcHAKK30KKworUkRFUEVORFNfJHtQTn0gPSAicHBwIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzLzAwMDEtb3NwZjZkLWNoZWNrLW9zcGY2LWJlZm9yZS11c2luZy1pdC1pbi1vc3BmNl9jbGVhbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy8wMDAxLW9zcGY2ZC1jaGVjay1vc3BmNi1iZWZvcmUtdXNpbmctaXQtaW4tb3NwZjZfY2xlYW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjA4YmI1NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy8wMDAxLW9zcGY2ZC1jaGVjay1vc3BmNi1iZWZvcmUtdXNpbmctaXQtaW4tb3NwZjZfY2xlYW4ucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1N1YmplY3Q6IG9zcGY2ZDogY2hlY2sgb3NwZjYgYmVmb3JlIHVzaW5nIGl0IGluIG9zcGY2X2NsZWFuCisKK1RoZSBvc3BmNiB2YXJpYWJsZSBtaWdodCBiZSAnTlVMTCcgY2F1c2luZyBzZWdtZW50IGZhdWx0IGVycm9yLgorQ2hlY2sgaXQgYmVmb3JlIHJlZmVyZW5jaW5nIGl0LgorCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBvc3BmNmQvb3NwZjZkLmMgfCAyICsrCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvb3NwZjZkL29zcGY2ZC5jIGIvb3NwZjZkL29zcGY2ZC5jCitpbmRleCAzY2RkNWMxLi5lM2JmMWFmIDEwMDY0NAorLS0tIGEvb3NwZjZkL29zcGY2ZC5jCisrKysgYi9vc3BmNmQvb3NwZjZkLmMKK0BAIC0xODkyLDYgKzE4OTIsOCBAQCBvc3BmNl9pbml0ICh2b2lkKQorIHZvaWQKKyBvc3BmNl9jbGVhbiAodm9pZCkKKyB7CisrICBpZiAob3NwZjYgPT0gTlVMTCkKKysgICAgcmV0dXJuOworICAgaWYgKG9zcGY2LT5yb3V0ZV90YWJsZSkKKyAgICAgb3NwZjZfcm91dGVfcmVtb3ZlX2FsbCAob3NwZjYtPnJvdXRlX3RhYmxlKTsKKyAgIGlmIChvc3BmNi0+YnJvdXRlcl90YWJsZSkKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL1plYnJhLXN5bmMtemVicmEtcm91dGluZy10YWJsZS13aXRoLXRoZS1rZXJuZWwtb25lLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL1plYnJhLXN5bmMtemVicmEtcm91dGluZy10YWJsZS13aXRoLXRoZS1rZXJuZWwtb25lLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ZjQ2MzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvWmVicmEtc3luYy16ZWJyYS1yb3V0aW5nLXRhYmxlLXdpdGgtdGhlLWtlcm5lbC1vbmUucGF0Y2gKQEAgLTAsMCArMSw0OCBAQAorc3luYyB6ZWJyYSByb3V0aW5nIHRhYmxlIHdpdGggdGhlIGtlcm5lbCBvbmUgd2hlbiBpbnRlcmZhY2UgaXMgZG93bgorCitBZGQgcm91dGVyIHRvIGtlcm5lbCBtYWluIHJvdXRlciB0YWJsZSB3aXRoICJpcCIsIHRoZW4geW91IGNhbiBzZWUgCithIHJvdXRlciBpdGVtIGluIGtlcm5lbCBtYWluIHJvdXRlciB0YWJsZS4gQWxzbyBjYW4gc2VlIHRoaXMgcm91dGVyCitpdGVtIGluIHplYnJhIHJvdXRlciB0YWJsZS4gSWYgZG93biB0aGUgaW50ZXJmYWNlLCB0aGlzIHJvdXRlciBpdGVtCit3aWxsIGJlIGRlbGV0ZWQgZnJvbSBrZXJuZWwgbWFpbiByb3V0ZXIgdGFibGUsIGJ1dCBpdCB3aWxsIG5vdCBiZSAKK2RlbGV0ZWQgZnJvbSB6ZWJyYSByb3V0ZXIgdGFibGUsIGp1c3Qgc2V0IGFzIGluYWN0aXZlLgorCitUaGlzIHBhdGNoIGlzIGFkb3B0ZWQgZnJvbSBbMV0uCitbMV0gaHR0cDovL3d3dy5nb3NzYW1lci10aHJlYWRzLmNvbS9saXN0cy9xdWFnZ2EvZGV2LzIyNjA5CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2YtYnk6IEF3cyBJc21haWwgPGF3cy5pc21haWxAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZi1ieTogUm95LkxpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorCistLS0KKyB6ZWJyYS96ZWJyYV9yaWIuYyB8ICAgIDcgKysrKysrKworIDEgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvemVicmEvemVicmFfcmliLmMgYi96ZWJyYS96ZWJyYV9yaWIuYworaW5kZXggMTU0ZThkNS4uNjM0MzRkMCAxMDA2NDQKKy0tLSBhL3plYnJhL3plYnJhX3JpYi5jCisrKysgYi96ZWJyYS96ZWJyYV9yaWIuYworQEAgLTc2NSw2ICs3NjUsOSBAQCByaWJfbWF0Y2hfaXB2NiAoc3RydWN0IGluNl9hZGRyICphZGRyKQorICNkZWZpbmUgUklCX1NZU1RFTV9ST1VURShSKSBcCisgICAgICAgICAoKFIpLT50eXBlID09IFpFQlJBX1JPVVRFX0tFUk5FTCB8fCAoUiktPnR5cGUgPT0gWkVCUkFfUk9VVEVfQ09OTkVDVCkKKyAKKysjZGVmaW5lIFJJQl9LRVJORUxfUk9VVEUoUikgXAorKwkoKFIpLT50eXBlID09IFpFQlJBX1JPVVRFX0tFUk5FTCkKKysKKyAvKiBUaGlzIGZ1bmN0aW9uIHZlcmlmaWVzIHJlYWNoYWJpbGl0eSBvZiBvbmUgZ2l2ZW4gbmV4dGhvcCwgd2hpY2ggY2FuIGJlCisgICogbnVtYmVyZWQgb3IgdW5udW1iZXJlZCwgSVB2NCBvciBJUHY2LiBUaGUgcmVzdWx0IGlzIHVuY29uZGl0aW9uYWxseSBzdG9yZWQKKyAgKiBpbiBuZXh0aG9wLT5mbGFncyBmaWVsZC4gSWYgdGhlIDR0aCBwYXJhbWV0ZXIsICdzZXQnLCBpcyBub24temVybywKK0BAIC0xMTM1LDYgKzExMzgsMTAgQEAgcmliX3Byb2Nlc3MgKHN0cnVjdCByb3V0ZV9ub2RlICpybikKKyAgICAgICByZWRpc3RyaWJ1dGVfZGVsZXRlICgmcm4tPnAsIGZpYik7CisgICAgICAgaWYgKCEgUklCX1NZU1RFTV9ST1VURSAoZmliKSkKKyAJcmliX3VuaW5zdGFsbF9rZXJuZWwgKHJuLCBmaWIpOworKyNpZmRlZiBHTlVfTElOVVgKKysgICAgICBlbHNlIGlmKFJJQl9LRVJORUxfUk9VVEUgKGZpYikgJiYgIWlmX2lzX3VwKGlmX2xvb2t1cF9ieV9pbmRleChmaWItPm5leHRob3AtPmlmaW5kZXgpKSkKKysJZGVsPWZpYjsKKysjZW5kaWYKKyAgICAgICBVTlNFVF9GTEFHIChmaWItPmZsYWdzLCBaRUJSQV9GTEFHX1NFTEVDVEVEKTsKKyAKKyAgICAgICAvKiBTZXQgcmVhbCBuZXh0aG9wLiAqLworLS0gCisxLjcuNC4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9iYWJlbC1jbG9zZS10aGUtc3Rkb3V0LXN0ZGVyci1hcy1pbi1vdGhlci1kYWVtb25zLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL2JhYmVsLWNsb3NlLXRoZS1zdGRvdXQtc3RkZXJyLWFzLWluLW90aGVyLWRhZW1vbnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzI3NTdhMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9iYWJlbC1jbG9zZS10aGUtc3Rkb3V0LXN0ZGVyci1hcy1pbi1vdGhlci1kYWVtb25zLnBhdGNoCkBAIC0wLDAgKzEsNTAgQEAKK0Zyb20gYmE3MWY3NjhlNmRiYjFmMmFjNzJlZDNiZDg4MGJmZjc1YTQ4ZDM0NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJveSBMaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgMTkgRmViIDIwMTQgMTQ6MTM6NDAgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gYmFiZWxkOiBjbG9zZSBzdGRvdXQgb25jZSB0aGUgYmFja2dyb3VuZCBkYWVtb24gaXMgY3JlYXRlZAorCitVcHN0cmVhbS1TdGF0dXM6IHBlbmRpbmcKKworT25jZSBiYWJhbGQgYmVjb21lcyBhIGJhY2tncm91bmQgZGFlbW9uLCBpdCBzaG91bGQgbm90IG91dHB1dCBpbmZvcm1hdGlvbiB0bworc3Rkb3V0LCBzbyBuZWVkIHRvIGNsb3NlIHN0ZG91dC4KKworSW4gZmFjdCwgb3RoZXIgZGFlbW9ucyBjbG9zZSB0aGVpciBzdGRvdXQgd2hlbiB0aGV5IHJ1biBpbnRvIGJhY2tncm91bmQsIGxpa2UKK29zcGZkLCBpc2lzZCBhbmQgYmdwZCwgYnkgY2FsbGluZyBkYWVtb24oKSB3aGljaCBpcyBpbiBsaWIvZGFlbW9uLmMKKworQ2xvc2luZyB0aGUgc3Rkb3V0IGNhbiBmaXggYSB0ZWUgaGFuZyBpc3N1ZSB7ICMvdXNyL3NiaW4vYmFiZWxkIC1kIHx0ZWUgdG1wIH0KKworU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgYmFiZWxkL3V0aWwuYyB8ICAgMTAgKysrKysrKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2JhYmVsZC91dGlsLmMgYi9iYWJlbGQvdXRpbC5jCitpbmRleCAwMTFmMzgyLi43NjIwM2JjIDEwMDY0NAorLS0tIGEvYmFiZWxkL3V0aWwuYworKysrIGIvYmFiZWxkL3V0aWwuYworQEAgLTQyNSw3ICs0MjUsNyBAQCB1Y2hhcl90b19pbjZhZGRyKHN0cnVjdCBpbjZfYWRkciAqZGVzdCwgY29uc3QgdW5zaWduZWQgY2hhciAqc3JjKQorIGludAorIGRhZW1vbmlzZSgpCisgeworLSAgICBpbnQgcmM7CisrICAgIGludCByYywgZmQ7CisgCisgICAgIGZmbHVzaChzdGRvdXQpOworICAgICBmZmx1c2goc3RkZXJyKTsKK0BAIC00NDEsNSArNDQxLDEzIEBAIGRhZW1vbmlzZSgpCisgICAgIGlmKHJjIDwgMCkKKyAgICAgICAgIHJldHVybiAtMTsKKyAKKysgICAgZmQgPSBvcGVuKCIvZGV2L251bGwiLCBPX1JEV1IsIDApOworKyAgICBpZiAoZmQgIT0gLTEpCisrICAgIHsKKysgICAgICAgIGR1cDIoZmQsIFNURE9VVF9GSUxFTk8pOworKyAgICAgICAgaWYgKGZkID4gMikKKysgICAgICAgICAgICBjbG9zZShmZCk7CisrICAgIH0KKysKKyAgICAgcmV0dXJuIDE7CisgfQorLS0gCisxLjcuMTAuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvYmFiZWxkLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvYmFiZWxkLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGQzNDRiMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9iYWJlbGQuc2VydmljZQpAQCAtMCwwICsxLDE0IEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPUJhYmVsIHJvdXRpbmcgZGFlbW9uCitCaW5kVG89emVicmEuc2VydmljZQorQWZ0ZXI9emVicmEuc2VydmljZQorQ29uZGl0aW9uUGF0aEV4aXN0cz1AU1lTQ09ORkRJUkAvcXVhZ2dhL2JhYmVsZC5jb25mCisKK1tTZXJ2aWNlXQorVHlwZT1mb3JraW5nCitFbnZpcm9ubWVudEZpbGU9LUBTWVNDT05GRElSQC9kZWZhdWx0L3F1YWdnYQorRXhlY1N0YXJ0PUBTQklORElSQC9iYWJlbGQgLWQgJGJhYmVsZF9vcHRpb25zIC1mIC9ldGMvcXVhZ2dhL2JhYmVsZC5jb25mCitSZXN0YXJ0PW9uLWFib3J0CisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9iZ3BkLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvYmdwZC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2ZjlmNjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvYmdwZC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTYgQEAKK1tVbml0XQorRGVzY3JpcHRpb249QkdQIHJvdXRpbmcgZGFlbW9uCitCaW5kVG89emVicmEuc2VydmljZQorQWZ0ZXI9emVicmEuc2VydmljZQorQ29uZGl0aW9uUGF0aEV4aXN0cz1AU1lTQ09ORkRJUkAvcXVhZ2dhL2JncGQuY29uZgorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworRW52aXJvbm1lbnRGaWxlPS1AU1lTQ09ORkRJUkAvZGVmYXVsdC9xdWFnZ2EKK1BJREZpbGU9QGxvY2Fsc3RhdGVkaXJAL3J1bi9xdWFnZ2EvYmdwZC5waWQKK0V4ZWNTdGFydD1AU0JJTkRJUkAvYmdwZCAtZCAkYmdwZF9vcHRpb25zIC1mIEBTWVNDT05GRElSQC9xdWFnZ2EvYmdwZC5jb25mCitFeGVjU3RvcFBvc3Q9QGJhc2VfYmluZGlyQC9ybSAtcmYgQGxvY2Fsc3RhdGVkaXJAL3J1bi9xdWFnZ2EvYmdwZC5waWQKK1Jlc3RhcnQ9b24tYWJvcnQKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL2lzaXNkLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvaXNpc2Quc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YmZlN2I2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL2lzaXNkLnNlcnZpY2UKQEAgLTAsMCArMSwxNCBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1JUy1JUyByb3V0aW5nIGRhZW1vbgorQmluZFRvPXplYnJhLnNlcnZpY2UKK0FmdGVyPXplYnJhLnNlcnZpY2UKK0NvbmRpdGlvblBhdGhFeGlzdHM9QFNZU0NPTkZESVJAL3F1YWdnYS9pc2lzZC5jb25mCisKK1tTZXJ2aWNlXQorVHlwZT1mb3JraW5nCitFbnZpcm9ubWVudEZpbGU9LUBTWVNDT05GRElSQC9kZWZhdWx0L3F1YWdnYQorRXhlY1N0YXJ0PUBTQklORElSQC9pc2lzZCAtZCAkaXNpc2Rfb3B0aW9ucyAtZiAvZXRjL3F1YWdnYS9pc2lzZC5jb25mCitSZXN0YXJ0PW9uLWFib3J0CisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9vc3BmNmQuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9vc3BmNmQuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMmU0OTNiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL29zcGY2ZC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTYgQEAKK1tVbml0XQorRGVzY3JpcHRpb249T1NQRiByb3V0aW5nIGRhZW1vbiBmb3IgSVB2NgorQmluZFRvPXplYnJhLnNlcnZpY2UKK0FmdGVyPXplYnJhLnNlcnZpY2UKK0NvbmRpdGlvblBhdGhFeGlzdHM9QFNZU0NPTkZESVJAL3F1YWdnYS9vc3BmNmQuY29uZgorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworRW52aXJvbm1lbnRGaWxlPS1AU1lTQ09ORkRJUkAvZGVmYXVsdC9xdWFnZ2EKK1BJREZpbGU9QGxvY2Fsc3RhdGVkaXJAL3J1bi9xdWFnZ2Evb3NwZjZkLnBpZAorRXhlY1N0YXJ0PUBTQklORElSQC9vc3BmNmQgLWQgJG9zcGY2ZF9vcHRpb25zIC1mIEBTWVNDT05GRElSQC9xdWFnZ2Evb3NwZjZkLmNvbmYKK0V4ZWNTdG9wUG9zdD1AYmFzZV9iaW5kaXJAL3JtIC1yZiBAbG9jYWxzdGF0ZWRpckAvcnVuL3F1YWdnYS9vc3BmNmQucGlkCitSZXN0YXJ0PW9uLWFib3J0CisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9vc3BmZC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL29zcGZkLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGM2MmNiYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9vc3BmZC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTYgQEAKK1tVbml0XQorRGVzY3JpcHRpb249T1NQRiByb3V0aW5nIGRhZW1vbgorQmluZFRvPXplYnJhLnNlcnZpY2UKK0FmdGVyPXplYnJhLnNlcnZpY2UKK0NvbmRpdGlvblBhdGhFeGlzdHM9QFNZU0NPTkZESVJAL3F1YWdnYS9vc3BmZC5jb25mCisKK1tTZXJ2aWNlXQorVHlwZT1mb3JraW5nCitFbnZpcm9ubWVudEZpbGU9LUBTWVNDT05GRElSQC9kZWZhdWx0L3F1YWdnYQorUElERmlsZT1AbG9jYWxzdGF0ZWRpckAvcnVuL3F1YWdnYS9vc3BmZC5waWQKK0V4ZWNTdGFydD1AU0JJTkRJUkAvb3NwZmQgLWQgJG9zcGZkX29wdGlvbnMgLWYgQFNZU0NPTkZESVJAL3F1YWdnYS9vc3BmZC5jb25mCitFeGVjU3RvcFBvc3Q9QGJhc2VfYmluZGlyQC9ybSAtcmYgQGxvY2Fsc3RhdGVkaXJAL3J1bi9xdWFnZ2Evb3NwZmQucGlkCitSZXN0YXJ0PW9uLWFib3J0CisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9xdWFnZ2EtQXZvaWQtZHVwbGljYXRlLWNvbm5lY3RlZC1hZGRyZXNzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL3F1YWdnYS1Bdm9pZC1kdXBsaWNhdGUtY29ubmVjdGVkLWFkZHJlc3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTA3ZTMzZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9xdWFnZ2EtQXZvaWQtZHVwbGljYXRlLWNvbm5lY3RlZC1hZGRyZXNzLnBhdGNoCkBAIC0wLDAgKzEsNTQgQEAKK3F1YWdnYTogQXZvaWQgZHVwbGljYXRlIGNvbm5lY3RlZCBhZGRyZXNzIGFkZGluZyB0byB0aGUgbGlzdAorCitjb21taXQgMjdiYTk3MGI5KCJxdWFnZ2EvcmlwZDogRml4IHR3byBidWdzIGFmdGVyIHJlY2VpdmVkIFNJR0hVUCBzaWduYWwiKQoraW50cm9kdWNlcyBhbiByZWdyZXNzaW9uOiBpZnAtPmNvbm5lY3RlZCBsaXN0IGlzIGNsZWFuZWQgdXAgd2hlbiByaXBkIGlzCityZXN0YXJ0aW5nLCBob3dldmVyLCBmb3IgaW50ZXJmYWNlIGFkZHJlc3NlcyB3aGljaCBhcmUgbm90IHNwZWNpZmllZCBpbgorcmlwZCBjb25maWd1cmF0aW9uIGZpbGUsIHRoZXkgYXJlIG5ldmVyIHRvIGJlIGFkZGVkIGludG8gaWZwLT5jb25uZWN0ZWQKK2FnYWluLCB0aGlzIHdpbGwgbGVhZCB0byBzb21lIGFibm9ybWFsIGJlaGF2aW9yIGZvciByb3V0ZSBhZHZlcnRpc2luZy4KKworSW5zdGVhZCBvZiBjbGVhbmluZyB1cCB0aGUgaWZwLT5jb25uZWN0ZWQgbGlzdCB0byBhdm9pZCBkdXBsaWNhdGVkCitjb25uZWN0ZWQgYWRkcmVzcyBiZWluZyBhZGRlZCBpbnRvIHRoaXMgbGlzdCwgd2UgY2FuIGNoZWNrIHRoaXMKK2NvbmRpdGlvbiBkdXJpbmcgaW50ZXJmYWNlIGFkZHJlc3MgYWRkaW5nIHByb2Nlc3MgYW5kIHJldHVybiBlYXJseQord2hlbiBhbiBpZGVudGljYWwgYWRkcmVzcyBoYXMgYWxyZWFkeSBiZWVuIGFkZGVkLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSHUgWWFkaSA8WWFkaS5odUB3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogWHVmZW5nIFpoYW5nIDx4dWZlbmcuemhhbmdAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEpvZSBNYWNEb25hbGQgPGpvZUBkZXNlcnRlZC5uZXQ+CistLS0KKy0tLSBhL2xpYi9pZi5jCisrKysgYi9saWIvaWYuYworQEAgLTczOCw2ICs3MzgsMTYgQEAgY29ubmVjdGVkX2FkZF9ieV9wcmVmaXggKHN0cnVjdCBpbnRlcmZhYworICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcHJlZml4ICpkZXN0aW5hdGlvbikKKyB7CisgICBzdHJ1Y3QgY29ubmVjdGVkICppZmM7CisrICBzdHJ1Y3QgbGlzdG5vZGUgKmNub2RlOworKyAgc3RydWN0IGNvbm5lY3RlZCAqYzsKKysgIGludCByZXQgPSAwOworKworKyAgZm9yIChBTExfTElTVF9FTEVNRU5UU19STyAoaWZwLT5jb25uZWN0ZWQsIGNub2RlLCBjKSkKKysgICAgeworKyAgICAgIHJldCA9IGNvbm5lY3RlZF9zYW1lX3ByZWZpeCAocCwgKGMtPmFkZHJlc3MpKTsKKysgICAgICBpZihyZXQgPT0gMSkKKysgICAgICAgIHJldHVybiBOVUxMOworKyAgICB9CisgCisgICAvKiBBbGxvY2F0ZSBuZXcgY29ubmVjdGVkIGFkZHJlc3MuICovCisgICBpZmMgPSBjb25uZWN0ZWRfbmV3ICgpOworLS0tIGEvcmlwZC9yaXBfaW50ZXJmYWNlLmMKKysrKyBiL3JpcGQvcmlwX2ludGVyZmFjZS5jCitAQCAtNTE2LDEzICs1MTYsNiBAQCByaXBfaW50ZXJmYWNlX2NsZWFuICh2b2lkKQorIAkgIHRocmVhZF9jYW5jZWwgKHJpLT50X3dha2V1cCk7CisgCSAgcmktPnRfd2FrZXVwID0gTlVMTDsKKyAJfQorLQorLSAgICAgIGZvciAoY29ubl9ub2RlID0gbGlzdGhlYWQgKGlmcC0+Y29ubmVjdGVkKTsgY29ubl9ub2RlOyBjb25uX25vZGUgPSBuZXh0KQorLSAgICAgICAgeworLSAgICAgICAgICBpZmMgPSBsaXN0Z2V0ZGF0YSAoY29ubl9ub2RlKTsKKy0gICAgICAgICAgbmV4dCA9IGNvbm5fbm9kZS0+bmV4dDsKKy0gICAgICAgICAgbGlzdG5vZGVfZGVsZXRlIChpZnAtPmNvbm5lY3RlZCwgaWZjKTsKKy0gICAgICAgIH0KKyAgICAgfQorIH0KKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9xdWFnZ2EuZGVmYXVsdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9xdWFnZ2EuZGVmYXVsdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYzFjZTZjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL3F1YWdnYS5kZWZhdWx0CkBAIC0wLDAgKzEsMTMgQEAKKyMgSWYgdGhpcyBvcHRpb24gaXMgc2V0IHRoZSAvZXRjL2luaXQuZC9xdWFnZ2Egc2NyaXB0IGF1dG9tYXRpY2FsbHkgbG9hZHMKKyMgdGhlIGNvbmZpZyB2aWEgInZ0eXNoIC1iIiB3aGVuIHRoZSBzZXJ2ZXJzIGFyZSBzdGFydGVkLgordnR5c2hfZW5hYmxlPXllcworCisjIEJpbmQgYWxsIGRhZW1vbnMgdG8gbG9vcGJhY2sgb25seSBieSBkZWZhdWx0Cit6ZWJyYV9vcHRpb25zPSIgLS1kYWVtb24gLUEgMTI3LjAuMC4xIgorYmFiZWxkX29wdGlvbnM9Ii0tZGFlbW9uIC1BIDEyNy4wLjAuMSIKK2JncGRfb3B0aW9ucz0iICAtLWRhZW1vbiAtQSAxMjcuMC4wLjEiCitvc3BmZF9vcHRpb25zPSIgLS1kYWVtb24gLUEgMTI3LjAuMC4xIgorb3NwZjZkX29wdGlvbnM9Ii0tZGFlbW9uIC1BIDo6MSIKK3JpcGRfb3B0aW9ucz0iICAtLWRhZW1vbiAtQSAxMjcuMC4wLjEiCityaXBuZ2Rfb3B0aW9ucz0iLS1kYWVtb24gLUEgOjoxIgoraXNpc2Rfb3B0aW9ucz0iIC0tZGFlbW9uIC1BIDEyNy4wLjAuMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9xdWFnZ2EuaW5pdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9xdWFnZ2EuaW5pdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MGI1YWIwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL3F1YWdnYS5pbml0CkBAIC0wLDAgKzEsMjAwIEBACisjIS9iaW4vc2gKKyMKKyMgL2V0Yy9pbml0LmQvcXVhZ2dhIC0tIHN0YXJ0L3N0b3AgdGhlIFF1YWdnYSByb3V0aW5nIGRhZW1vbnMKKyMKKyMgQmFzZWQgb24gZGViaWFuIHZlcnNpb24gYnkgRW5kcmUgSGlybGluZyA8ZW5kcmVAbWFpbC5lbHRlLmh1PiBhbmQgCisjIENocmlzdGlhbiBIYW1tZXJzIDxjaEBkZWJpYW4ub3JnPi4KKyMKKworIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogcXVhZ2dhCisjIFJlcXVpcmVkLVN0YXJ0OiAkbG9jYWxfZnMgJG5ldHdvcmsgJHJlbW90ZV9mcyAkc3lzbG9nCisjIFJlcXVpcmVkLVN0b3A6ICRsb2NhbF9mcyAkbmV0d29yayAkcmVtb3RlX2ZzICRzeXNsb2cKKyMgRGVmYXVsdC1TdGFydDogIDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAwIDEgNgorIyBTaG9ydC1EZXNjcmlwdGlvbjogc3RhcnQgYW5kIHN0b3AgdGhlIFF1YWdnYSByb3V0aW5nIHN1aXRlCisjIERlc2NyaXB0aW9uOiBRdWFnZ2EgaXMgYSByb3V0aW5nIHN1aXRlIGZvciBJUCByb3V0aW5nIHByb3RvY29scyBsaWtlIAorIyAgICAgICAgICAgICAgQkdQLCBPU1BGLCBSSVAgYW5kIG90aGVycy4gVGhpcyBzY3JpcHQgY29udG9scyB0aGUgbWFpbiAKKyMgICAgICAgICAgICAgIGRhZW1vbiAicXVhZ2dhIiBhcyB3ZWxsIGFzIHRoZSBpbmRpdmlkdWFsIHByb3RvY29sIGRhZW1vbnMuCisjIyMgRU5EIElOSVQgSU5GTworCisjIE5PVEU6IHNiaW4gbXVzdCBiZSBiZWZvcmUgYmluIHNvIHdlIGdldCB0aGUgaXByb3V0ZTIgaXAgYW5kIG5vdCB0aGUKKyMgYnVzeWJveCBpcCBjb21tYW5kLiBUaGUgYnVzeWJveCBvbmUgZmx1c2hlcyBhbGwgcm91dGVzIGluc3RlYWQgb2YganVzdAorIyB0aGUgZHluYW1pYyByb3V0ZXMKK1BBVEg9L3NiaW46L3Vzci9zYmluOi9iaW46L3Vzci9iaW46L3NiaW4KK0RfUEFUSD0vdXNyL3NiaW4KK0NfUEFUSD0vZXRjL3F1YWdnYQorCisjIEtlZXAgemVicmEgZmlyc3QgYW5kIGRvIG5vdCBsaXN0IHdhdGNocXVhZ2dhIQorREFFTU9OUz0iemVicmEgYmdwZCByaXBkIHJpcG5nZCBvc3BmZCBvc3BmNmQgaXNpc2QgYmFiZWxkIgorCisjIFByaW50IHRoZSBuYW1lIG9mIHRoZSBwaWRmaWxlLgorcGlkZmlsZSgpCit7CisJZWNobyAiL3Zhci9ydW4vcXVhZ2dhLyQxLnBpZCIKK30KKworIyBDaGVjayBpZiBkYWVtb24gaXMgc3RhcnRlZCBieSB1c2luZyB0aGUgcGlkZmlsZS4KK3N0YXJ0ZWQoKQoreworCVsgLWUgYHBpZGZpbGUgJDFgIF0gJiYga2lsbCAtMCBgY2F0IFxgcGlkZmlsZSAkMVxgYCAyPiAvZGV2L251bGwgJiYgcmV0dXJuIDAKKwlyZXR1cm4gMQorfQorCisjIExvYWRzIHRoZSBjb25maWcgdmlhIHZ0eXNoIC1iIGlmIGNvbmZpZ3VyZWQgdG8gZG8gc28uCit2dHlzaF9iICgpCit7CisJIyBSZW1iZXIsIHRoYXQgYWxsIHZhcmlhYmxlcyBoYXZlIGJlZW4gaW5jcmVtZW50ZWQgYnkgMSBpbiBjb252ZXJ0X2RhZW1vbl9wcmlvcygpCisJaWYgWyAiJHZ0eXNoX2VuYWJsZSIgPSAyIC1hIC1mICRDX1BBVEgvUXVhZ2dhLmNvbmYgXTsgdGhlbgorCQkvdXNyL2Jpbi92dHlzaCAtYgorCWZpCit9CisKKyMgQ2hlY2sgaWYgdGhlIGRhZW1vbiBpcyBhY3RpdmF0ZWQgYW5kIGlmIGl0cyBleGVjdXRhYmxlIGFuZCBjb25maWcgZmlsZXMgCisjIGFyZSBpbiBwbGFjZS4KKyMgcGFyYW1zOiAJZGFlbW9uIG5hbWUKKyMgcmV0dXJuczoJMD1vaywgMT1lcnJvcgorY2hlY2tfZGFlbW9uKCkKK3sKKwkjIElmIHRoZSBpbnRlZ3JhdGVkIGNvbmZpZyBmaWxlIGlzIHVzZWQgdGhlIG90aGVycyBhcmUgbm90IGNoZWNrZWQuCisJaWYgWyAtciAiJENfUEFUSC9RdWFnZ2EuY29uZiIgXTsgdGhlbgorCSAgcmV0dXJuIDAKKwlmaSAKKworCSMgY2hlY2sgZm9yIGNvbmZpZyBmaWxlCQkgIAorCWlmIFsgISAtciAiJENfUEFUSC8kMS5jb25mIiBdOyB0aGVuCisJICByZXR1cm4gMQorCWZpCisJcmV0dXJuIDAKK30KKworIyBTdGFydHMgdGhlIHNlcnZlciBpZiBpdCdzIG5vdCBhbHJhZHkgcnVubmluZyBhY2NvcmRpbmcgdG8gdGhlIHBpZCBmaWxlLgorIyBUaGUgUXVhZ2dhIGRhZW1vbnMgY3JlYXRlcyB0aGUgcGlkZmlsZSB3aGVuIHN0YXJ0aW5nLgorc3RhcnQoKQoreworCWlmICEgY2hlY2tfZGFlbW9uICQxOyB0aGVuIGVjaG8gLW4gIiAoISQxKSI7IHJldHVybjsgZmkKKwllY2hvIC1uICIgJDEiCisJc3RhcnQtc3RvcC1kYWVtb24gXAorCQktLXN0YXJ0IFwKKwkJLS1waWRmaWxlPWBwaWRmaWxlICQxYCBcCisJCS0tZXhlYyAiJERfUEFUSC8kMSIgXAorCQktLSBcCisJCWBldmFsIGVjaG8gIiQiIiQxIiJfb3B0aW9ucyJgCisJCQorfQorCisjIFN0b3AgdGhlIGRhZW1vbiBnaXZlbiBpbiB0aGUgcGFyYW1ldGVyLCBwcmludGluZyBpdHMgbmFtZSB0byB0aGUgdGVybWluYWwuCitzdG9wKCkKK3sKKyAgICBpZiAhIHN0YXJ0ZWQgIiQxIiA7IHRoZW4KKwllY2hvIC1uICIgKCEkMSkiCisJcmV0dXJuIDAKKyAgICBlbHNlCisJUElERklMRT1gcGlkZmlsZSAkMWAKKwlQSUQ9YGNhdCAkUElERklMRSAyPi9kZXYvbnVsbGAKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLWV4ZWMgIiREX1BBVEgvJDEiCisJIworCSMgICAgICAgTm93IHdlIGhhdmUgdG8gd2FpdCB1bnRpbCAkREFFTU9OIGhhcyBfcmVhbGx5XyBzdG9wcGVkLgorCSMKKwlpZiB0ZXN0IC1uICIkUElEIiAmJiBraWxsIC0wICRQSUQgMj4vZGV2L251bGw7IHRoZW4KKwkgICAgZWNobyAtbiAiICh3YWl0aW5nKSAuIgorCSAgICBjbnQ9MAorCSAgICB3aGlsZSBraWxsIC0wICRQSUQgMj4vZGV2L251bGw7IGRvCisJCWNudD1gZXhwciAkY250ICsgMWAKKwkJaWYgWyAkY250IC1ndCA2MCBdOyB0aGVuCisJCSAgICAjIFdhaXRlZCAxMjAgc2VjcyBub3csIGZhaWwuCisJCSAgICBlY2hvIC1uICJGYWlsZWQuLiAiCisJCSAgICBicmVhaworCQlmaQorCQlzbGVlcCAyCisJCWVjaG8gLW4gIi4iCisJCWRvbmUKKwkgICAgZmkKKwllY2hvIC1uICIgJDEiCisJcm0gLWYgYHBpZGZpbGUgJDFgCisgICAgZmkKK30KKworc3RvcF9hbGwoKSAKK3sKKwlsb2NhbCBkYWVtb25fbGlzdAorCWRhZW1vbl9saXN0PSR7MTotJERBRU1PTlN9CisKKwllY2hvIC1uICJTdG9wcGluZyBRdWFnZ2EgZGFlbW9uczoiCisJZm9yIGRhZW1vbl9uYW1lIGluICRkYWVtb25fbGlzdDsgZG8KKwkJc3RvcCAiJGRhZW1vbl9uYW1lIgorCWRvbmUKKwllY2hvICIuIgorfQorCitzdGFydF9hbGwoKQoreworCWxvY2FsIGRhZW1vbl9saXN0CisJZGFlbW9uX2xpc3Q9JHsxOi0kREFFTU9OU30KKworCWVjaG8gLW4gIlN0YXJ0aW5nIFF1YWdnYSBkYWVtb25zOiIKKwlmb3IgZGFlbW9uX25hbWUgaW4gJGRhZW1vbl9saXN0OyBkbworCQlzdGFydCAiJGRhZW1vbl9uYW1lIgorCWRvbmUKKwllY2hvICIuIgorfQorCitzdGF0dXNfYWxsKCkgCit7CisJbG9jYWwgZGFlbW9uX2xpc3QKKwlkYWVtb25fbGlzdD0kezE6LSREQUVNT05TfQorCXJlcz0xCisKKwllY2hvIC1uICJxdWFnZ2E6ICIKKwlmb3IgZGFlbW9uX25hbWUgaW4gJGRhZW1vbl9saXN0OyBkbworCSAgICBpZiBzdGFydGVkICIkZGFlbW9uX25hbWUiIDsgdGhlbgorCQlpZD1gY2F0IFxgcGlkZmlsZSAkZGFlbW9uX25hbWVcYGAKKwkJZWNobyAtbiAiJGRhZW1vbl9uYW1lIChwaWQgJGlkKSAiCisJCXJlcz0wCisJICAgIGZpCisJZG9uZQorCWlmIFsgJHJlcyAtZXEgMCBdOyB0aGVuCisJICAgIGVjaG8gImlzIHJ1bm5pbmcuLi4iCisJZWxzZQorCSAgICBlY2hvICJpcyBzdG9wcGVkLi4uIgorCWZpCisJZXhpdCAkcmVzCit9CisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyAJCU1haW4gcHJvZ3JhbSAJCQkJIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgTG9hZCBjb25maWd1cmF0aW9uCit0ZXN0IC1mIC9ldGMvZGVmYXVsdC9xdWFnZ2EgJiYgLiAvZXRjL2RlZmF1bHQvcXVhZ2dhCisKK2Nhc2UgIiQxIiBpbgorICAgIHN0YXJ0KQorCWNkICRDX1BBVEgvCisJc3RhcnRfYWxsICQyCisJdnR5c2hfYgorICAgIAk7OworCQorICAgIHN0b3ApCisgIAlzdG9wX2FsbCAkMgorCWVjaG8gIlJlbW92aW5nIGFsbCByb3V0ZXMgbWFkZSBieSB6ZWJyYS4iCisJaXAgcm91dGUgZmx1c2ggcHJvdG8gemVicmEKKyAgIAk7OworCisgICAgc3RhdHVzKQorICAJc3RhdHVzX2FsbCAkMgorICAgCTs7CisKKyAgICByZXN0YXJ0fGZvcmNlLXJlbG9hZCkKKwkkMCBzdG9wICQyCisJc2xlZXAgMQorCSQwIHN0YXJ0ICQyCisJOzsKKworICAgICopCisgICAgCWVjaG8gIlVzYWdlOiAvZXRjL2luaXQuZC9xdWFnZ2Ege3N0YXJ0fHN0b3B8cmVzdGFydHxzdGF0dXN8Zm9yY2UtcmVsb2FkfSBbZGFlbW9uXSIKKwlleGl0IDEKKwk7OworZXNhYworCitleGl0IDAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9xdWFnZ2EucGFtIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL3F1YWdnYS5wYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU0MWE5NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9xdWFnZ2EucGFtCkBAIC0wLDAgKzEsMTMgQEAKKyMKKyMgVGhlIFBBTSBjb25maWd1cmF0aW9uIGZpbGUgZm9yIHRoZSBxdWFnZ2EgYHZ0eXNoJyBzZXJ2aWNlCisjCisKKyMgVGhpcyBhbGxvd3Mgcm9vdCB0byBjaGFuZ2UgdXNlciBpbmZvbWF0aW9uIHdpdGhvdXQgYmVpbmcKKyMgcHJvbXB0ZWQgZm9yIGEgcGFzc3dvcmQKK2F1dGgJCXN1ZmZpY2llbnQJcGFtX3Jvb3Rvay5zbworCisjIFRoZSBzdGFuZGFyZCBVbml4IGF1dGhlbnRpY2F0aW9uIG1vZHVsZXMsIHVzZWQgd2l0aAorIyBOSVMgKG1hbiBuc3N3aXRjaCkgYXMgd2VsbCBhcyBub3JtYWwgL2V0Yy9wYXNzd2QgYW5kCisjIC9ldGMvc2hhZG93IGVudHJpZXMuCithdXRoICAgICAgIGluY2x1ZGUgICAgICBjb21tb24tYXV0aAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvcmlwZC1maXgtdHdvLWJ1Z3MtYWZ0ZXItcmVjZWl2ZWQtU0lHSFVQLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL3JpcGQtZml4LXR3by1idWdzLWFmdGVyLXJlY2VpdmVkLVNJR0hVUC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YjhjOWE5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL3JpcGQtZml4LXR3by1idWdzLWFmdGVyLXJlY2VpdmVkLVNJR0hVUC5wYXRjaApAQCAtMCwwICsxLDUwIEBACityaXBkOiBGaXggdHdvIGJ1Z3MgYWZ0ZXIgcmVjZWl2ZWQgU0lHSFVQIHNpZ25hbAorCitUaGVyZSBhcmUgdHdvIHByb2JsZW1zIGZvciByaXBkIGltcGxlbWVudGF0aW9uIGFmdGVyIHJlY2VpdmVkCitTSUdIVVAgc2lnbmFsOgorMSkuIHJpcGQgZGlkbid0IGNsZWFuIHVwIGlmcC0+Y29ubmVjdGVkIGxpc3QgYmVmb3JlIHJlbG9hZAorICAgIGNvbmZpZ3VyYXRpb24gZmlsZS4KKzIpLiByaXBkIHJlc2V0IHJpLT5zcGxpdF9ob3Jpem9uIGZsYWcgdG8gUklQX05PX1NQTElUX0hPUklaT04KKyAgICB3aGljaCBsZWFkIHRvIHRoZSB1bm5lY2Vzc2FyeSByb3V0ZSB0byBiZSBhZHZlcnRpc2VkLgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cDovL3BhdGNod29yay5kaWFjMjQubmV0L3BhdGNoLzYwNC9dCisKK1NpZ25lZC1vZmYtYnk6IFh1ZmVuZyBaaGFuZyA8eHVmZW5nLnpoYW5nQHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBKb2UgTWFjRG9uYWxkIDxqb2VAZGVzZXJ0ZWQubmV0PgorLS0tCistLS0gYS9yaXBkL3JpcF9pbnRlcmZhY2UuYworKysrIGIvcmlwZC9yaXBfaW50ZXJmYWNlLmMKK0BAIC01MDAsNiArNTAwLDggQEAKKyAgIHN0cnVjdCBsaXN0bm9kZSAqbm9kZTsKKyAgIHN0cnVjdCBpbnRlcmZhY2UgKmlmcDsKKyAgIHN0cnVjdCByaXBfaW50ZXJmYWNlICpyaTsKKysgIHN0cnVjdCBjb25uZWN0ZWQgKmlmYzsKKysgIHN0cnVjdCBsaXN0bm9kZSAqY29ubl9ub2RlLCAqbmV4dDsKKyAKKyAgIGZvciAoQUxMX0xJU1RfRUxFTUVOVFNfUk8gKGlmbGlzdCwgbm9kZSwgaWZwKSkKKyAgICAgeworQEAgLTUxNCw2ICs1MTYsMTMgQEAKKyAJICB0aHJlYWRfY2FuY2VsIChyaS0+dF93YWtldXApOworIAkgIHJpLT50X3dha2V1cCA9IE5VTEw7CisgCX0KKysKKysgICAgICBmb3IgKGNvbm5fbm9kZSA9IGxpc3RoZWFkIChpZnAtPmNvbm5lY3RlZCk7IGNvbm5fbm9kZTsgY29ubl9ub2RlID0gbmV4dCkKKysgICAgICAgIHsKKysgICAgICAgICAgaWZjID0gbGlzdGdldGRhdGEgKGNvbm5fbm9kZSk7CisrICAgICAgICAgIG5leHQgPSBjb25uX25vZGUtPm5leHQ7CisrICAgICAgICAgIGxpc3Rub2RlX2RlbGV0ZSAoaWZwLT5jb25uZWN0ZWQsIGlmYyk7CisrICAgICAgICB9CisgICAgIH0KKyB9CisgCitAQCAtNTQ4LDggKzU1Nyw4IEBACisgCSAgcmktPmtleV9jaGFpbiA9IE5VTEw7CisgCX0KKyAKKy0gICAgICByaS0+c3BsaXRfaG9yaXpvbiA9IFJJUF9OT19TUExJVF9IT1JJWk9OOworLSAgICAgIHJpLT5zcGxpdF9ob3Jpem9uX2RlZmF1bHQgPSBSSVBfTk9fU1BMSVRfSE9SSVpPTjsKKysgICAgICByaS0+c3BsaXRfaG9yaXpvbiA9IFJJUF9TUExJVF9IT1JJWk9OOworKyAgICAgIHJpLT5zcGxpdF9ob3Jpem9uX2RlZmF1bHQgPSBSSVBfU1BMSVRfSE9SSVpPTjsKKyAKKyAgICAgICByaS0+bGlzdFtSSVBfRklMVEVSX0lOXSA9IE5VTEw7CisgICAgICAgcmktPmxpc3RbUklQX0ZJTFRFUl9PVVRdID0gTlVMTDsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9yaXBkLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvcmlwZC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkMjAzODkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvcmlwZC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTYgQEAKK1tVbml0XQorRGVzY3JpcHRpb249UklQIHJvdXRpbmcgZGFlbW9uCitCaW5kVG89emVicmEuc2VydmljZQorQWZ0ZXI9emVicmEuc2VydmljZQorQ29uZGl0aW9uUGF0aEV4aXN0cz1AU1lTQ09ORkRJUkAvcXVhZ2dhL3JpcGQuY29uZgorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworRW52aXJvbm1lbnRGaWxlPS1AU1lTQ09ORkRJUkAvZGVmYXVsdC9xdWFnZ2EKK1BJREZpbGU9QGxvY2Fsc3RhdGVkaXJAL3J1bi9xdWFnZ2EvcmlwZC5waWQKK0V4ZWNTdGFydD1AU0JJTkRJUkAvcmlwZCAtZCAkcmlwZF9vcHRpb25zIC1mIEBTWVNDT05GRElSQC9xdWFnZ2EvcmlwZC5jb25mCitFeGVjU3RvcFBvc3Q9QGJhc2VfYmluZGlyQC9ybSAtcmYgQGxvY2Fsc3RhdGVkaXJAL3J1bi9xdWFnZ2EvcmlwZC5waWQKK1Jlc3RhcnQ9b24tYWJvcnQKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL3JpcG5nZC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL3JpcG5nZC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzNTVhZDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvcmlwbmdkLnNlcnZpY2UKQEAgLTAsMCArMSwxNiBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1SSVAgcm91dGluZyBkYWVtb24gZm9yIElQdjYKK0JpbmRUbz16ZWJyYS5zZXJ2aWNlCitBZnRlcj16ZWJyYS5zZXJ2aWNlCitDb25kaXRpb25QYXRoRXhpc3RzPUBTWVNDT05GRElSQC9xdWFnZ2EvcmlwbmdkLmNvbmYKKworW1NlcnZpY2VdCitUeXBlPWZvcmtpbmcKK0Vudmlyb25tZW50RmlsZT0tQFNZU0NPTkZESVJAL2RlZmF1bHQvcXVhZ2dhCitQSURGaWxlPUBsb2NhbHN0YXRlZGlyQC9ydW4vcXVhZ2dhL3JpcG5nZC5waWQKK0V4ZWNTdGFydD1AU0JJTkRJUkAvcmlwbmdkIC1kICRyaXBuZ2Rfb3B0aW9ucyAtZiBAU1lTQ09ORkRJUkAvcXVhZ2dhL3JpcG5nZC5jb25mCitFeGVjU3RvcFBvc3Q9QGJhc2VfYmluZGlyQC9ybSAtcmYgQGxvY2Fsc3RhdGVkaXJAL3J1bi9xdWFnZ2EvcmlwbmdkLnBpZAorUmVzdGFydD1vbi1hYm9ydAorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvdm9sYXRpbGVzLjAzX3F1YWdnYSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy92b2xhdGlsZXMuMDNfcXVhZ2dhCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmMjhjMGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvdm9sYXRpbGVzLjAzX3F1YWdnYQpAQCAtMCwwICsxLDMgQEAKKyMgPHR5cGU+IDxvd25lcj4gPGdyb3VwPiA8bW9kZT4gPHBhdGg+IDxsaW5rc291cmNlPgorZCBxdWFnZ2EgcXVhZ2dhIDA3NTUgL3Zhci9ydW4vcXVhZ2dhIG5vbmUKK2QgcXVhZ2dhIHF1YWdnYSAwNzU1IC92YXIvbG9nL3F1YWdnYSBub25lCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvd2F0Y2hxdWFnZ2EuZGVmYXVsdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy93YXRjaHF1YWdnYS5kZWZhdWx0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkNjAxZWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvd2F0Y2hxdWFnZ2EuZGVmYXVsdApAQCAtMCwwICsxLDEyIEBACisjIFdhdGNocXVhZ2dhIGNvbmZpZ3VyYXRpb24KKyN3YXRjaF9kYWVtb25zPSJ6ZWJyYSBiZ3BkIG9zcGZkIG9zcGY2ZCByaXBkIHJpcG5nZCIKK3dhdGNoX2RhZW1vbnM9InplYnJhIgorCisjIFRvIGVuYWJsZSByZXN0YXJ0cyB3aGVuIG11bHRpcGxlIGRhZW1vbnMgYXJlIGJlaW5nIHVzZWQsIHVuY29tbWVudCB0aGlzIGxpbmUgKGJ1dCBmaXJzdCBiZSBzdXJlIHRvIGVkaXQKKyMgdGhlIFdBVENIX0RBRU1PTlMgbGluZSB0byByZWZsZWN0IHRoZSBkYWVtb25zIHlvdSBhcmUgYWN0dWFsbHkgdXNpbmcpOgorI3dhdGNoX29wdGlvbnM9Ii1BeiAtYl8gLXIvZXRjL2luaXQuZC9xdWFnZ2FfcmVzdGFydF8lcyAtcy9ldGMvaW5pdC5kL3F1YWdnYV9zdGFydF8lcyAtay9ldGMvaW5pdC5kL3F1YWdnYV9zdG9wXyVzIgorCisjIFNpbmNlIHdlIGFyZSB1c2luZyBvbmUgcXVhZ2dhIGRhZW1vbiBmb3Igbm93LCB1c2UgdGhlIGZvbGxvd2luZyBsaW5lLiBJZiB1c2luZworIyBtdWx0aXBsZSBkYWVtb25zLCBjb21tZW50IHRoZSBsaW5lIGJlbG93IGFuZCB1bmNvbWVudCB0aGUgbGluZSBtZW50aW9uZWQKKyMgYWJvdmUuCit3YXRjaF9vcHRpb25zPSIteiAtYl8gLXIvZXRjL2luaXQuZC9xdWFnZ2FfcmVzdGFydF8lcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy93YXRjaHF1YWdnYS5pbml0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL3dhdGNocXVhZ2dhLmluaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWRkZDk0YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy93YXRjaHF1YWdnYS5pbml0CkBAIC0wLDAgKzEsNjQgQEAKKyMhL2Jpbi9zaAorIworIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogd2F0Y2hxdWFnZ2EKKyMgUmVxdWlyZWQtU3RhcnQ6ICRsb2NhbF9mcyAkbmV0d29yayAkcmVtb3RlX2ZzICRzeXNsb2cKKyMgUmVxdWlyZWQtU3RvcDogJGxvY2FsX2ZzICRuZXR3b3JrICRyZW1vdGVfZnMgJHN5c2xvZworIyBEZWZhdWx0LVN0YXJ0OiAgMiAzIDQgNQorIyBEZWZhdWx0LVN0b3A6IDAgMSA2CisjIFNob3J0LURlc2NyaXB0aW9uOiBzdGFydCBhbmQgc3RvcCB0aGUgUXVhZ2dhIHdhdGNoZG9nCisjIyMgRU5EIElOSVQgSU5GTworCitQQVRIPS9iaW46L3Vzci9iaW46L3NiaW46L3Vzci9zYmluCisKKyMgTG9hZCBjb25maWd1cmF0aW9uCit0ZXN0IC1mIC9ldGMvZGVmYXVsdC93YXRjaHF1YWdnYSAmJiAuIC9ldGMvZGVmYXVsdC93YXRjaHF1YWdnYQorCisjIENoZWNrIHRoYXQgdGhlcmUgYXJlIGRhZW1vbnMgdG8gYmUgbW9uaXRvcmVkLgorWyAteiAiJHdhdGNoX2RhZW1vbnMiIF0gJiYgZXhpdCAwCisKK3BpZGZpbGU9Ii92YXIvcnVuL3F1YWdnYS93YXRjaHF1YWdnYS5waWQiCisKK2Nhc2UgIiQxIiBpbgorICAgIHN0YXJ0KQorCWVjaG8gLW4gIlN0YXJ0aW5nIHF1YWdnYSB3YXRjaGRvZyBkYWVtb246IHdhdGNocXVhZ2dhIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgXAorCQktLXBpZGZpbGUgJHBpZGZpbGUgXAorCQktLWV4ZWMgL3Vzci9zYmluL3dhdGNocXVhZ2dhIFwKKwkJLS0gLWQgJHdhdGNoX29wdGlvbnMgJHdhdGNoX2RhZW1vbnMKKwllY2hvICIuIgorICAgIAk7OworCQorICAgIHN0b3ApCisJZWNobyAtbiAiU3RvcHBpbmcgcXVhZ2dhIHdhdGNoZG9nIGRhZW1vbjogd2F0Y2hxdWFnZ2EiCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tcXVpZXQgXAorCQktLXBpZGZpbGUgJHBpZGZpbGUKKwllY2hvICIuIgorCTs7CisKKyAgICBzdGF0dXMpCisJZWNobyAtbiAid2F0Y2hxdWFnZ2EgIgorCXJlcz0xCisJWyAtZSAkcGlkZmlsZSBdICYmIGtpbGwgLTAgYGNhdCAkcGlkZmlsZWAgMj4gL2Rldi9udWxsCisJaWYgWyAkPyAtZXEgMCBdOyB0aGVuCisJICAgIGVjaG8gIihwaWQgYGNhdCAkcGlkZmlsZWApIGlzIHJ1bm5pbmcuLi4iCisJICAgIHJlcz0wCisJZWxzZQorCSAgICBlY2hvICJpcyBzdG9wcGVkLi4uIgorCWZpCisJZXhpdCAkcmVzCisJOzsKKworICAgIHJlc3RhcnR8Zm9yY2UtcmVsb2FkKQorCSQwIHN0b3AgJDIKKwlzbGVlcCAxCisJJDAgc3RhcnQgJDIKKwk7OworCisgICAgKikKKwllY2hvICJVc2FnZTogL2V0Yy9pbml0LmQvd2F0Y2hxdWFnZ2Ege3N0YXJ0fHN0b3B8cmVzdGFydHxmb3JjZS1yZWxvYWR9IgorCWV4aXQgMQorCTs7Citlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL3plYnJhLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvemVicmEuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNGZiNmM4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL3plYnJhLnNlcnZpY2UKQEAgLTAsMCArMSwxNyBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1HTlUgWmVicmEgcm91dGluZyBtYW5hZ2VyCitXYW50cz1uZXR3b3JrLnRhcmdldAorQmVmb3JlPW5ldHdvcmsudGFyZ2V0CitDb25kaXRpb25QYXRoRXhpc3RzPUBTWVNDT05GRElSQC9xdWFnZ2EvemVicmEuY29uZgorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworRW52aXJvbm1lbnRGaWxlPS1AU1lTQ09ORkRJUkAvZGVmYXVsdC9xdWFnZ2EKK1BJREZpbGU9QGxvY2Fsc3RhdGVkaXJAL3J1bi9xdWFnZ2EvemVicmEucGlkCitFeGVjU3RhcnRQcmU9QEJBU0VfU0JJTkRJUkAvaXAgcm91dGUgZmx1c2ggcHJvdG8gemVicmEKK0V4ZWNTdGFydD1AU0JJTkRJUkAvemVicmEgLWQgJHplYnJhX29wdGlvbnMgLWYgQFNZU0NPTkZESVJAL3F1YWdnYS96ZWJyYS5jb25mCitFeGVjU3RvcFBvc3Q9QGJhc2VfYmluZGlyQC9ybSAtcmYgQGxvY2Fsc3RhdGVkaXJAL3J1bi9xdWFnZ2EvemVicmEucGlkCitSZXN0YXJ0PW9uLWFib3J0CisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9xdWFnZ2EuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL3F1YWdnYS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGU3OGUyNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9xdWFnZ2EuaW5jCkBAIC0wLDAgKzEsMjUxIEBACitTVU1NQVJZID0gIkJHUC9PU1BGL1JJUCByb3V0aW5nIGRhZW1vbiIKK0RFU0NSSVBUSU9OID0gIlF1YWdnYSBpcyBhIHJvdXRpbmcgc29mdHdhcmUgc3VpdGUsIHByb3ZpZGluZyBcCitpbXBsZW1lbnRhdGlvbnMgb2YgT1NQRnYyLCBPU1BGdjMsIFJJUCB2MSBhbmQgdjIsIFJJUHYzIGFuZCBCR1B2NCBmb3IgXAorVW5peCBwbGF0Zm9ybXMsIHBhcnRpY3VsYXJseSBGcmVlQlNELCBMaW51eCwgU29sYXJpcyBhbmQgTmV0QlNELiBcCitRdWFnZ2EgaXMgYSBmb3JrIG9mIEdOVSBaZWJyYSB3aGljaCB3YXMgZGV2ZWxvcGVkIGJ5IEt1bmloaXJvIFwKK0lzaGlndXJvLiBUaGUgUXVhZ2dhIHRyZWUgYWltcyB0byBidWlsZCBhIG1vcmUgaW52b2x2ZWQgY29tbXVuaXR5IFwKK2Fyb3VuZCBRdWFnZ2EgdGhhbiB0aGUgY3VycmVudCBjZW50cmFsaXNlZCBtb2RlbCBvZiBHTlUgWmVicmEuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5ub25nbnUub3JnL3F1YWdnYS8iCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiR1BMLTIuMCAmIExHUEwtMi4wIgorREVQRU5EUyA9ICJyZWFkbGluZSBuY3Vyc2VzIHBlcmwtbmF0aXZlIgorREVQRU5EUyArPSAiJHtAYmFzZV9jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3NubXAnLCAnbmV0LXNubXAnLCAnJywgZCl9IgorU05NUF9DT05GPSIke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc25tcCcsICctLWVuYWJsZS1zbm1wJywgJycsIGQpfSIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ODFiY2VjZTIxNzQ4YzkxYmE5OTkyMzQ5YTkxZWMxMWQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTAxZWYyNDQwMWRlZDM2Y2Q4ZTVkMThiZmU5NDcyNDBjIgorCisjIHRoZSAiaXAiIGNvbW1hbmQgZnJvbSBidXN5Ym94IGlzIG5vdCBzdWZmaWNpZW50IChmbHVzaCBieSBwcm90b2NvbCBmbHVzaGVzIGFsbCByb3V0ZXMpCitSREVQRU5EU18ke1BOfSArPSAiaXByb3V0ZTIiCisKK1FVQUdHQVNVQkRJUiA9ICIiCisjICR7UVVBR0dBU1VCRElSfSBpcyBkZWFsIHdpdGggb2xkIHZlcnNpb25zLiBTZXQgdG8gIi9hdHRpYyIgZm9yIG9sZAorIyB2ZXJzaW9ucyBhbmQgbGVhdmUgaXQgZW1wdHkgZm9yIHJlY2VudCB2ZXJzaW9ucy4KK1NSQ19VUkkgPSAiJHtTQVZBTk5BSF9HTlVfTUlSUk9SfS9xdWFnZ2Eke1FVQUdHQVNVQkRJUn0vcXVhZ2dhLSR7UFZ9LnRhci5nejsgXAorICAgICAgICAgICBmaWxlOi8vWmVicmEtc3luYy16ZWJyYS1yb3V0aW5nLXRhYmxlLXdpdGgtdGhlLWtlcm5lbC1vbmUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcXVhZ2dhLmluaXQgXAorICAgICAgICAgICBmaWxlOi8vcXVhZ2dhLmRlZmF1bHQgXAorICAgICAgICAgICBmaWxlOi8vd2F0Y2hxdWFnZ2EuaW5pdCBcCisgICAgICAgICAgIGZpbGU6Ly93YXRjaHF1YWdnYS5kZWZhdWx0IFwKKyAgICAgICAgICAgZmlsZTovL3ZvbGF0aWxlcy4wM19xdWFnZ2EgXAorICAgICAgICAgICBmaWxlOi8vcXVhZ2dhLnBhbSBcCisgICAgICAgICAgIGZpbGU6Ly9yaXBkLWZpeC10d28tYnVncy1hZnRlci1yZWNlaXZlZC1TSUdIVVAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcXVhZ2dhLUF2b2lkLWR1cGxpY2F0ZS1jb25uZWN0ZWQtYWRkcmVzcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9iYWJlbGQuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9iZ3BkLnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vaXNpc2Quc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9vc3BmNmQuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9vc3BmZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL3JpcGQuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9yaXBuZ2Quc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly96ZWJyYS5zZXJ2aWNlIFwKKyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAncGFtJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdbY2FwXSA9ICItLWVuYWJsZS1jYXBhYmlsaXRpZXMsLS1kaXNhYmxlLWNhcGFiaWxpdGllcyxsaWJjYXAiCitQQUNLQUdFQ09ORklHW3BhbV0gPSAiLS13aXRoLWxpYnBhbSwgLS13aXRob3V0LWxpYnBhbSwgbGlicGFtIgorCitpbmhlcml0IGF1dG90b29scyB1cGRhdGUtcmMuZCB1c2VyYWRkIHN5c3RlbWQKKworU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSAke1BOfS1iYWJlbGQgJHtQTn0tYmdwZCAke1BOfS1pc2lzZCAke1BOfS1vc3BmNmQgJHtQTn0tb3NwZmQgJHtQTn0tcmlwZCAke1BOfS1yaXBuZ2QiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0tYmFiZWxkID0gImJhYmVsZC5zZXJ2aWNlIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59LWJncGQgPSAiYmdwZC5zZXJ2aWNlIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59LWlzaXNkID0gImlzaXNkLnNlcnZpY2UiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0tb3NwZjZkID0gIm9zcGY2ZC5zZXJ2aWNlIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59LW9zcGZkID0gIm9zcGZkLnNlcnZpY2UiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0tcmlwZCA9ICJyaXBkLnNlcnZpY2UiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0tcmlwbmdkID0gInJpcG5nZC5zZXJ2aWNlIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInplYnJhLnNlcnZpY2UiCisKK0VYVFJBX09FQ09ORiA9ICItLXN5c2NvbmZkaXI9JHtzeXNjb25mZGlyfS9xdWFnZ2EgXAorICAgICAgICAgICAgICAgIC0tbG9jYWxzdGF0ZWRpcj0ke2xvY2Fsc3RhdGVkaXJ9L3J1bi9xdWFnZ2EgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWV4YW1wbGVkaXI9JHtkb2NkaXJ9L3F1YWdnYS9leGFtcGxlcy8gXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLXZ0eXNoIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1pc2lzZCBcCisgICAgICAgICAgICAgICAgJHtAYmFzZV9jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3Zpbml0JywgJy0tZW5hYmxlLXdhdGNocXVhZ2dhJywgJy0tZGlzYWJsZS13YXRjaHF1YWdnYScsIGQpfSBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtb3NwZi10ZSBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtb3BhcXVlLWxzYSBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtb3NwZmNsaWVudD15ZXMgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLW11bHRpcGF0aD02NCBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtdXNlcj1xdWFnZ2EgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWdyb3VwPXF1YWdnYSBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtdnR5LWdyb3VwPXF1YWdnYXZ0eSBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtY29uZmlnZmlsZS1tYXNrPTA2NDAgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWxvZ2ZpbGUtbWFzaz0wNjQwIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1ydGFkdiBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtbGludXgyNC10Y3AtbWQ1IFwKKyAgICAgICAgICAgICAgICBhcF9jdl9jY19waWU9bm8gXAorICAgICAgICAgICAgICAgICR7U05NUF9DT05GfSIKKworZG9faW5zdGFsbCAoKSB7CisgICAgIyBJbnN0YWxsIGluaXQgc2NyaXB0IGFuZCBkZWZhdWx0IHNldHRpbmdzCisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kIFwKKyAgICAke0R9JHtzeXNjb25mZGlyfS9xdWFnZ2EgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9xdWFnZ2EuZGVmYXVsdCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3F1YWdnYQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3dhdGNocXVhZ2dhLmRlZmF1bHQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC93YXRjaHF1YWdnYQorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3F1YWdnYS5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9xdWFnZ2EKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS93YXRjaHF1YWdnYS5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC93YXRjaHF1YWdnYQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3ZvbGF0aWxlcy4wM19xdWFnZ2EgICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzL3ZvbGF0aWxlcy4wM19xdWFnZ2EKKworICAgICMgSW5zdGFsbCBzYW1wbGUgY29uZmlndXJhdGlvbnMgZm9yIHRoZSBkYWVtb25zCisgICAgZm9yIGYgaW4gYmdwZCB2dHlzaCBiYWJlbGQgaXNpc2Qgb3NwZmQgcmlwbmdkIHplYnJhIHJpcGQgb3NwZjZkOyBkbworICAgICAgICBpbnN0YWxsIC1tIDA2NDAgJHtTfS8kZi8kZi5jb25mLnNhbXBsZSAke0R9JHtzeXNjb25mZGlyfS9xdWFnZ2EvJGYuY29uZi5zYW1wbGUKKyAgICBkb25lCisKKyAgICBmb3IgZiBpbiBiZ3BkIHZ0eXNoIGJhYmVsZCBpc2lzZCBvc3BmZCByaXBuZ2QgemVicmEgcmlwZCBvc3BmNmQ7IGRvCisJdG91Y2ggJHtEfSR7c3lzY29uZmRpcn0vcXVhZ2dhLyRmLmNvbmYKKyAgICBkb25lCisgICAgY2hvd24gcXVhZ2dhOnF1YWdnYXZ0eSAke0R9JHtzeXNjb25mZGlyfS9xdWFnZ2EKKyAgICBjaG93biBxdWFnZ2E6cXVhZ2dhICR7RH0ke3N5c2NvbmZkaXJ9L3F1YWdnYS8qLmNvbmYKKyAgICBjaG1vZCA3NTAgJHtEfSR7c3lzY29uZmRpcn0vcXVhZ2dhCisgICAgY2htb2QgNjQwICR7RH0ke3N5c2NvbmZkaXJ9L3F1YWdnYS8qLmNvbmYKKworICAgICMgSW5zdGFsbCBxdWFnZ2EKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9IHByZWZpeD0ke3ByZWZpeH0gXAorICAgICAgICAgICAgc2JpbmRpcj0ke3NiaW5kaXJ9IFwKKyAgICAgICAgICAgIHN5c2NvbmZkaXI9JHtzeXNjb25mZGlyfS9xdWFnZ2EgXAorICAgICAgICAgICAgbG9jYWxzdGF0ZWRpcj0ke2xvY2Fsc3RhdGVkaXJ9L3J1bi9xdWFnZ2EKKworICAgICMgRml4IGhhcmRjb2RlZCBwYXRocworICAgIHNlZCAtaSAncyEvdXNyL3NiaW4vISR7c2JpbmRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC8qCisgICAgc2VkIC1pICdzIS91c3IvYmluLyEke2JpbmRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9xdWFnZ2EKKyAgICBzZWQgLWkgJ3MhL2V0Yy8hJHtzeXNjb25mZGlyfS8hZycgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kLyogJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC93YXRjaHF1YWdnYQorICAgIHNlZCAtaSAncyEvdmFyLyEke2xvY2Fsc3RhdGVkaXJ9LyFnJyAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvKiAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcy92b2xhdGlsZXMuMDNfcXVhZ2dhCisgICAgc2VkIC1pICdzIV5QQVRIPS4qIVBBVEg9JHtiYXNlX3NiaW5kaXJ9OiR7c2JpbmRpcn06JHtiYXNlX2JpbmRpcn06JHtiaW5kaXJ9IScgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kLyoKKworICAgICMgUmVtb3ZlIGdlbmVyYXRlZCBpbmZvIGRpciBmaWxlLCBpdCBkb2Vzbid0IGJlbG9uZyBpbiB0aGUgZ2VuZXJhdGVkCisgICAgIyBwYWNrYWdlLgorICAgIHJtIC1mICR7RH0ke2luZm9kaXJ9L2RpcgorCisgICAgIyBGb3IgUEFNCisgICAgZm9yIGZlYXR1cmUgaW4gJHtESVNUUk9fRkVBVFVSRVN9OyBkbworICAgICAgICBpZiBbICIkZmVhdHVyZSIgPSAicGFtIiBdOyB0aGVuCisgICAgICAgICAgICBpbnN0YWxsIC1EIC1tIDY0NCAke1dPUktESVJ9L3F1YWdnYS5wYW0gJHtEfS8ke3N5c2NvbmZkaXJ9L3BhbS5kL3F1YWdnYQorICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgZmkKKyAgICBkb25lCisKKyAgICBpZiAke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZAorICAgICAgICBlY2hvICJkIC92YXIvcnVuL3F1YWdnYSAwNzU1IHF1YWdnYSBxdWFnZ2EgLSIgXAorICAgICAgICA+ICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvJHtCUE59LmNvbmYKKyAgICBmaQorCisgICAgIyBSZW1vdmUgc3lzaW5pdCBzY3JpcHQgaWYgc3lzdmluaXQgaXMgbm90IGluIERJU1RST19GRUFUVVJFUworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdmluaXQnLCAnZmFsc2UnLCAndHJ1ZScsIGQpfTsgdGhlbgorICAgICAgICBybSAtcmYgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kLworICAgICAgICBybSAtZiAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3dhdGNocXVhZ2dhCisgICAgZmkKKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBmb3IgaSBpbiBiYWJlbGQgYmdwZCBpc2lzZCBvc3BmNmQgb3NwZmQgcmlwZCByaXBuZ2QgemVicmE7IGRvCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9LyRpLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBkb25lCisgICAgc2VkIC1lICdzLEBCQVNFX1NCSU5ESVJALCR7YmFzZV9zYmluZGlyfSxnJyBcCisgICAgICAgIC1lICdzLEBTWVNDT05GRElSQCwke3N5c2NvbmZkaXJ9LGcnIFwKKyAgICAgICAgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgXAorICAgICAgICAtZSAncyxAYmFzZV9iaW5kaXJALCR7YmFzZV9iaW5kaXJ9LGcnIFwKKyAgICAgICAgLWUgJ3MsQGxvY2Fsc3RhdGVkaXJALCR7bG9jYWxzdGF0ZWRpcn0sZycgXAorICAgICAgICAtaSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8qLnNlcnZpY2UKK30KKworREVQRU5EU19hcHBlbmQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICdzeXN0ZW1kLXN5c3RlbWN0bC1uYXRpdmUnLCAnJywgZCl9IgorcGtnX3Bvc3RpbnN0XyR7UE59ICgpIHsKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQgc3lzdmluaXQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICBpZiBbIC1uICIkRCIgXTsgdGhlbgorICAgICAgICAgICAgT1BUUz0iLS1yb290PSREIgorICAgICAgICBmaQorICAgICAgICBzeXN0ZW1jdGwgJE9QVFMgbWFzayBxdWFnZ2Euc2VydmljZQorICAgIGZpCit9CisKKyMgU3BsaXQgaW50byBhIG1haW4gcGFja2FnZSBhbmQgc2VwYXJhdGUgcGVyLXByb3RvY29sIHBhY2thZ2VzCitQQUNLQUdFX0JFRk9SRV9QTiA9ICIke1BOfS1vc3BmZCAke1BOfS1vc3BmNmQgJHtQTn0tYmFiZWxkICR7UE59LWJncGQgXAorICAgICAgICAgICAgICAgICAgICAgJHtQTn0tcmlwZCAke1BOfS1yaXBuZ2QgJHtQTn0taXNpc2QgXAorICAgICAgICAgICAgICAgICAgICAgJHtQTn0tb3NwZmNsaWVudCAke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdmluaXQnLCAnJHtQTn0td2F0Y2hxdWFnZ2EnLCAnJywgZCl9IgorCitSREVQRU5EU18ke1BOfSArPSAiJHtQTn0tYmFiZWxkICR7UE59LWJncGQgJHtQTn0taXNpc2QgJHtQTn0tb3NwZjZkICR7UE59LW9zcGZkICR7UE59LXJpcGQgJHtQTn0tcmlwbmdkIgorCitGSUxFU18ke1BOfS1vc3BmZCAgICAgICA9ICIke3NiaW5kaXJ9L29zcGZkICR7bGliZGlyfS9saWJvc3BmLnNvLioiCitGSUxFU18ke1BOfS1vc3BmNmQgICAgICA9ICIke3NiaW5kaXJ9L29zcGY2ZCIKK0ZJTEVTXyR7UE59LWJhYmVsZCAgICAgID0gIiR7c2JpbmRpcn0vYmFiZWxkIgorRklMRVNfJHtQTn0tYmdwZCAgICAgICAgPSAiJHtzYmluZGlyfS9iZ3BkIgorRklMRVNfJHtQTn0tcmlwZCAgICAgICAgPSAiJHtzYmluZGlyfS9yaXBkIgorRklMRVNfJHtQTn0tcmlwbmdkICAgICAgPSAiJHtzYmluZGlyfS9yaXBuZ2QiCitGSUxFU18ke1BOfS1pc2lzZCAgICAgICA9ICIke3NiaW5kaXJ9L2lzaXNkIgorRklMRVNfJHtQTn0tb3NwZmNsaWVudCAgPSAiJHtzYmluZGlyfS9vc3BmY2xpZW50ICR7bGliZGlyfS9saWJvc3BmYXBpY2xpZW50LnNvLioiCitGSUxFU18ke1BOfS13YXRjaHF1YWdnYSA9ICIke3NiaW5kaXJ9L3dhdGNocXVhZ2dhICR7c3lzY29uZmRpcn0vZGVmYXVsdC93YXRjaHF1YWdnYSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC93YXRjaHF1YWdnYSIKKworIyBJbmRpY2F0ZSB0aGF0IHRoZSBkZWZhdWx0IGZpbGVzIGFyZSBjb25maWd1cmF0aW9uIGZpbGVzCitDT05GRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfS9kZWZhdWx0L3F1YWdnYSBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9xdWFnZ2EvYmdwZC5jb25mIFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3F1YWdnYS92dHlzaC5jb25mIFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3F1YWdnYS9iYWJlbGQuY29uZiBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9xdWFnZ2EvaXNpc2QuY29uZiBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9xdWFnZ2Evb3NwZmQuY29uZiBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9xdWFnZ2EvcmlwbmdkLmNvbmYgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vcXVhZ2dhL3plYnJhLmNvbmYgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vcXVhZ2dhL3JpcGQuY29uZiBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9xdWFnZ2Evb3NwZjZkLmNvbmYgXAorICAgICAgICAgICAgICAgICAgIgorQ09ORkZJTEVTXyR7UE59LXdhdGNocXVhZ2dhID0gIiR7c3lzY29uZmRpcn0vZGVmYXVsdC93YXRjaHF1YWdnYSIKKworIyBTdG9wIHRoZSBuYW1lcyBiZWluZyByZXdyaXR0ZW4gZHVlIHRvIHRoZSBpbnRlcm5hbCBzaGFyZWQgbGlicmFyaWVzCitERUJJQU5fTk9BVVRPTkFNRV8ke1BOfS1vc3BmZCA9ICIxIgorREVCSUFOX05PQVVUT05BTUVfJHtQTn0tb3NwZmNsaWVudCA9ICIxIgorCisjIHRoZSAiaXAiIGNvbW1hbmQgZnJvbSBidXN5Ym94IGlzIG5vdCBzdWZmaWNpZW50IChmbHVzaCBieSBwcm90b2NvbCBmbHVzaGVzIGFsbCByb3V0ZXMpCitSREVQRU5EU18ke1BOfSAgICAgICAgICArPSAiaXByb3V0ZTIiCisKKyMgTWFpbiBpbml0IHNjcmlwdCBzdGFydHMgYWxsIGRlYW1vbnMKKyMgU2VwZXJhdGUgaW5pdCBzY3JpcHQgZm9yIHdhdGNocXVhZ2dhCitJTklUU0NSSVBUX1BBQ0tBR0VTICAgICAgICAgICAgICAgICAgICAgPSAiJHtQTn0gJHtQTn0td2F0Y2hxdWFnZ2EiCitJTklUU0NSSVBUX05BTUVfJHtQTn0gICAgICAgICAgICAgICAgICAgPSAicXVhZ2dhIgorSU5JVFNDUklQVF9QQVJBTVNfJHtQTn0gICAgICAgICAgICAgICAgID0gImRlZmF1bHRzIDE1IDg1IgorSU5JVFNDUklQVF9OQU1FXyR7UE59LXdhdGNocXVhZ2dhICAgICAgID0gIndhdGNocXVhZ2dhIgorSU5JVFNDUklQVF9QQVJBTVNfJHtQTn0td2F0Y2hxdWFnZ2EgICAgID0gImRlZmF1bHRzIDkwIDEwIgorCisjIEFkZCBxdWFnZ2EncyB1c2VyIGFuZCBncm91cAorVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKK0dST1VQQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIHF1YWdnYSA7IC0tc3lzdGVtIHF1YWdnYXZ0eSIKK1VTRVJBRERfUEFSQU1fJHtQTn0gPSAiLS1zeXN0ZW0gLS1ob21lICR7bG9jYWxzdGF0ZWRpcn0vcnVuL3F1YWdnYS8gLU0gLWcgcXVhZ2dhIC0tc2hlbGwgL2Jpbi9mYWxzZSBxdWFnZ2EiCisKK3BrZ19wb3N0aW5zdF8ke1BOfSAoKSB7CisgICAgaWYgWyAteiAiJEQiIF0gJiYgWyAtZSAvZXRjL2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCBdIDsgdGhlbgorICAgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCB1cGRhdGUKKyAgICBmaQorfQorCisjIFN0b3AgYXBwcyBiZWZvcmUgdW5pbnN0YWxsCitwa2dfcHJlcm1fJHtQTn0gKCkgeworICAgICR7c3lzY29uZmRpcn0vaW5pdC5kL3F1YWdnYSBzdG9wCit9CisKK3BrZ19wcmVybV8ke1BOfS1vc3BmZCAoKSB7CisgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvcXVhZ2dhIHN0b3Agb3NwZmQKK30KKworcGtnX3ByZXJtXyR7UE59LW9zcGY2ZCAoKSB7CisgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvcXVhZ2dhIHN0b3Agb3NwZjZkCit9CisKK3BrZ19wcmVybV8ke1BOfS1iYWJlbGQgKCkgeworICAgICR7c3lzY29uZmRpcn0vaW5pdC5kL3F1YWdnYSBzdG9wIGJhYmVsZAorfQorCitwa2dfcHJlcm1fJHtQTn0tYmdwZCAoKSB7CisgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvcXVhZ2dhIHN0b3AgYmdwZAorfQorCitwa2dfcHJlcm1fJHtQTn0tcmlwZCAoKSB7CisgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvcXVhZ2dhIHN0b3AgcmlwZAorfQorCitwa2dfcHJlcm1fJHtQTn0tcmlwbmdkICgpIHsKKyAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9xdWFnZ2Egc3RvcCByaXBuZ2QKK30KKworcGtnX3ByZXJtXyR7UE59LWlzaXNkICgpIHsKKyAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9xdWFnZ2Egc3RvcCBpc2lzZAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL3F1YWdnYV8wLjk5LjI0LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvcXVhZ2dhXzAuOTkuMjQuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZWNmNDM4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL3F1YWdnYV8wLjk5LjI0LjEuYmIKQEAgLTAsMCArMSwxMCBAQAorcmVxdWlyZSBxdWFnZ2EuaW5jCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9iYWJlbC1jbG9zZS10aGUtc3Rkb3V0LXN0ZGVyci1hcy1pbi1vdGhlci1kYWVtb25zLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAxLW9zcGY2ZC1jaGVjay1vc3BmNi1iZWZvcmUtdXNpbmctaXQtaW4tb3NwZjZfY2xlYW4ucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzk4NmJkYzJmZTYwMjdkNGM5MjE2ZjdmNTc5MWU3MTgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODRhZTFhNDdkZjA4NTExOWE4ZmNhYjZjNDNjY2VhOWVmYjliYzMxMTIzODhiMWRlY2U1YTlmMGEwMjYyNzU0ZiIKKworUVVBR0dBU1VCRElSID0gIiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3JhZGl1c2NsaWVudC1uZy9yYWRpdXNjbGllbnQtbmcvTW9kaWZ5LWNvbmZpZ3VyZS5pbi1hbmQtZXRjLU1ha2VmaWxlLmFtLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcmFkaXVzY2xpZW50LW5nL3JhZGl1c2NsaWVudC1uZy9Nb2RpZnktY29uZmlndXJlLmluLWFuZC1ldGMtTWFrZWZpbGUuYW0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWNjMmQ3NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3JhZGl1c2NsaWVudC1uZy9yYWRpdXNjbGllbnQtbmcvTW9kaWZ5LWNvbmZpZ3VyZS5pbi1hbmQtZXRjLU1ha2VmaWxlLmFtLnBhdGNoCkBAIC0wLDAgKzEsODQgQEAKK0Zyb20gNDViOTdiNDc0Y2UyZDBhZDU2ODI4ZGIxMWVkZGU4NTYyYmI0N2E0MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExpIHhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IFR1ZSwgMiBEZWMgMjAxNCAwMjozMzo1MyArMDkwMAorU3ViamVjdDogW1BBVENIXSBNb2RpZnkgY29uZmlndXJlLmluIGFuZCBldGMvTWFrZWZpbGUuYW0KKwordGhpcyBwYXRjaCBpcyBmcm9tIEZlZG9yYSB0byBmaXggZXJyb3I6CisiY29uZnRlc3QuYzoyNjo5OiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ25vdCciCisKK1Vwc3RyZWFtLVN0YXR1czogcGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBMaSBYaW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CistLS0KKyBjb25maWd1cmUuaW4gICAgICAgICAgICAgfCA2ICsrKysrLQorIGV0Yy9NYWtlZmlsZS5hbSAgICAgICAgICB8IDkgKysrKysrLS0tCisgZXRjL3JhZGl1c2NsaWVudC5jb25mLmluIHwgMiArLQorIDMgZmlsZXMgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgoraW5kZXggODEyZjY0MC4uM2E4YWY5OSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5pbgorKysrIGIvY29uZmlndXJlLmluCitAQCAtMjksNiArMjksOSBAQCBBQ19TVUJTVChMSUJWRVJTSU9OKQorIHBrZ3N5c2NvbmZkaXI9JHtzeXNjb25mZGlyfS8kUEFDS0FHRQorIEFDX1NVQlNUKHBrZ3N5c2NvbmZkaXIpCisgCisrcGtnZGF0YWRpcj0ke2RhdGFkaXJ9LyRQQUNLQUdFCisrQUNfU1VCU1QocGtnZGF0YWRpcikKKysKKyBBQ19QUk9HX0xJQlRPT0wKKyAKKyBBQ19QUk9HX0NDCitAQCAtMTE4LDcgKzEyMSw4IEBAIHRoZW4KKyAJXSwKKyAJQUNfTVNHX1JFU1VMVCh5ZXMpCisgCUFDX0RFRklORShIQVZFX1NUUlVDVF9VVFNOQU1FX0RPTUFJTk5BTUUpLAorLQlBQ19NU0dfUkVTVUxUKG5vKQorKwlBQ19NU0dfUkVTVUxUKG5vKSwKKysJQUNfTVNHX1JFU1VMVChhc3N1bWUgbm8pLAorIAkpCisgZmkKKyAKK2RpZmYgLS1naXQgYS9ldGMvTWFrZWZpbGUuYW0gYi9ldGMvTWFrZWZpbGUuYW0KK2luZGV4IDM5YjY5NzUuLmEzYzQwM2YgMTAwNjQ0CistLS0gYS9ldGMvTWFrZWZpbGUuYW0KKysrKyBiL2V0Yy9NYWtlZmlsZS5hbQorQEAgLTE0LDkgKzE0LDExIEBAIENMRUFORklMRVMgPSAqfiByYWRpdXNjbGllbnQuY29uZgorIAorIHNiaW5kaXIgPSBAc2JpbmRpckAKKyBwa2dzeXNjb25mZGlyID0gQHBrZ3N5c2NvbmZkaXJACistcGtnc3lzY29uZl9EQVRBID0gaXNzdWUgcG9ydC1pZC1tYXAgcmFkaXVzY2xpZW50LmNvbmYgXAorLQlkaWN0aW9uYXJ5IGRpY3Rpb25hcnkuYXNjZW5kIGRpY3Rpb25hcnkuY29tcGF0IGRpY3Rpb25hcnkubWVyaXQgXAorLQlkaWN0aW9uYXJ5LnNpcAorK3BrZ3N5c2NvbmZfREFUQSA9IGlzc3VlIHBvcnQtaWQtbWFwIHJhZGl1c2NsaWVudC5jb25mCisrCisrcGtnZGF0YWRpciA9IEBwa2dkYXRhZGlyQAorK3BrZ2RhdGFfREFUQSA9IGRpY3Rpb25hcnkgZGljdGlvbmFyeS5hc2NlbmQgZGljdGlvbmFyeS5jb21wYXQgXAorKwlkaWN0aW9uYXJ5Lm1lcml0IGRpY3Rpb25hcnkuc2lwCisgCisgRVhUUkFfRElTVCA9IGlzc3VlIHBvcnQtaWQtbWFwIGRpY3Rpb25hcnkgZGljdGlvbmFyeS5hc2NlbmQgXAorIAlkaWN0aW9uYXJ5LmNvbXBhdCBkaWN0aW9uYXJ5Lm1lcml0IHNlcnZlcnMgcmFkaXVzY2xpZW50LmNvbmYuaW4gXAorQEAgLTI1LDYgKzI3LDcgQEAgRVhUUkFfRElTVCA9IGlzc3VlIHBvcnQtaWQtbWFwIGRpY3Rpb25hcnkgZGljdGlvbmFyeS5hc2NlbmQgXAorIHJhZGl1c2NsaWVudC5jb25mOiByYWRpdXNjbGllbnQuY29uZi5pbgorIAlzZWQgLWUgJ3N8QHNiaW4nJ2RpckB8JChzYmluZGlyKXxnJyBcCisgCSAgICAtZSAnc3xAcGtnc3lzY29uZicnZGlyQHwkKHBrZ3N5c2NvbmZkaXIpfGcnIFwKKysJICAgIC1lICdzfEBwa2dkYXRhJydkaXJAfCQocGtnZGF0YWRpcil8ZycgXAorIAkgICAgPCQoc3JjZGlyKS9yYWRpdXNjbGllbnQuY29uZi5pbiA+cmFkaXVzY2xpZW50LmNvbmYKKyAKKyBpbnN0YWxsLWRhdGEtbG9jYWw6IHNlcnZlcnMKK2RpZmYgLS1naXQgYS9ldGMvcmFkaXVzY2xpZW50LmNvbmYuaW4gYi9ldGMvcmFkaXVzY2xpZW50LmNvbmYuaW4KK2luZGV4IDk0OGJjMmYuLmFhYzk5NzMgMTAwNjQ0CistLS0gYS9ldGMvcmFkaXVzY2xpZW50LmNvbmYuaW4KKysrKyBiL2V0Yy9yYWRpdXNjbGllbnQuY29uZi5pbgorQEAgLTQ3LDcgKzQ3LDcgQEAgc2VydmVycwkJQHBrZ3N5c2NvbmZkaXJAL3NlcnZlcnMKKyAKKyAjIGRpY3Rpb25hcnkgb2YgYWxsb3dlZCBhdHRyaWJ1dGVzIGFuZCB2YWx1ZXMKKyAjIGp1c3QgbGlrZSBpbiB0aGUgbm9ybWFsIFJBRElVUyBkaXN0cmlidXRpb25zCistZGljdGlvbmFyeSAJQHBrZ3N5c2NvbmZkaXJAL2RpY3Rpb25hcnkKKytkaWN0aW9uYXJ5IAlAcGtnZGF0YWRpckAvZGljdGlvbmFyeQorIAorICMgcHJvZ3JhbSB0byBjYWxsIGZvciBhIFJBRElVUyBhdXRoZW50aWNhdGVkIGxvZ2luCisgbG9naW5fcmFkaXVzCUBzYmluZGlyQC9sb2dpbi5yYWRpdXMKKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9yYWRpdXNjbGllbnQtbmcvcmFkaXVzY2xpZW50LW5nL2NvbmZpZy1zaXRlLnJhZGl1c2NsaWVudC1uZy0wLjUuNiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3JhZGl1c2NsaWVudC1uZy9yYWRpdXNjbGllbnQtbmcvY29uZmlnLXNpdGUucmFkaXVzY2xpZW50LW5nLTAuNS42Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzMGMxNDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9yYWRpdXNjbGllbnQtbmcvcmFkaXVzY2xpZW50LW5nL2NvbmZpZy1zaXRlLnJhZGl1c2NsaWVudC1uZy0wLjUuNgpAQCAtMCwwICsxIEBACithY19jdl9mdW5jX3VuYW1lPW5vCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9yYWRpdXNjbGllbnQtbmcvcmFkaXVzY2xpZW50LW5nXzAuNS42LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcmFkaXVzY2xpZW50LW5nL3JhZGl1c2NsaWVudC1uZ18wLjUuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NWZhYTY1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcmFkaXVzY2xpZW50LW5nL3JhZGl1c2NsaWVudC1uZ18wLjUuNi5iYgpAQCAtMCwwICsxLDM2IEBACitTVU1NQVJZID0gIlJBRElVUyBwcm90b2NvbCBjbGllbnQgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIlBvcnRhYmxlLCBlYXN5LXRvLXVzZSBhbmQgc3RhbmRhcmQgY29tcGxpYW50IGxpYnJhcnkgc3VpdGFibGUgXAorZm9yIGRldmVsb3BpbmcgZnJlZSBhbmQgY29tbWVyY2lhbCBzb2Z0d2FyZSB0aGF0IG5lZWQgc3VwcG9ydCBmb3IgYSBSQURJVVMgXAorcHJvdG9jb2wgKFJGQ3MgMjEyOCBhbmQgMjEzOSkuIgorSE9NRVBBR0UgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9yYWRpdXNjbGllbnQtbmcuYmVybGlvcy8iCitTRUNUSU9OID0gIm5ldCIKKworU1JDX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vci8ke0JQTn0vJHtCUE59XyR7UFZ9Lm9yaWcudGFyLmd6IFwKKyAgIGZpbGU6Ly9Nb2RpZnktY29uZmlndXJlLmluLWFuZC1ldGMtTWFrZWZpbGUuYW0ucGF0Y2ggXAorICAgZmlsZTovL2NvbmZpZy1zaXRlLnJhZGl1c2NsaWVudC1uZy0ke1BWfSIKKworU1JDX1VSSVttZDVzdW1dID0gIjZmYjdkNGQwYWVmYWZhZWU3Mzg1ODMxYWM0NmE4ZTljIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI4MmE5ZjEzNTVmMTkwZWZiYjA2YzBkN2M0ZTA2MmVhYTY1MmNhZjM0MmVkM2FkMzYxYWM1OTVmNzJmMDlmMTQiCisKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWVJJR0hUO21kNT0zZTQ3NTY2YzkyNzFiNzg2NjkzZDhhMDg3OTJkYmY0MSIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLXN0YXRpYyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgIGV4cG9ydCBDT05GSUdfU0lURT0uL2NvbmZpZy1zaXRlLiR7UH0KK30KKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgIGZvciBtIGluIGBmaW5kIC4gLW5hbWUgIk1ha2VmaWxlImAgOyBkbworICAgICAgICBzZWQgLWkgLWUgJ3M6XnByb2dyYW1fdHJhbnNmb3JtX25hbWUgPS4qOnByb2dyYW1fdHJhbnNmb3JtX25hbWUgPTpnJyAke219CisgICAgZG9uZQorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgREVTVERJUj0ke0R9IGluc3RhbGwKKyAgICBybSAtZiAke0R9JHtsaWJkaXJ9LyoubGEKKyAgICBybSAtZiAke0R9JHtzYmluZGlyfS9yYWRleGFtcGxlCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9ycC1wcHBvZS9ycC1wcHBvZS0zLjEyL2NvbmZpZ3VyZS5pbi1FcnJvci1maXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9ycC1wcHBvZS9ycC1wcHBvZS0zLjEyL2NvbmZpZ3VyZS5pbi1FcnJvci1maXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjY2MWZkMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3JwLXBwcG9lL3JwLXBwcG9lLTMuMTIvY29uZmlndXJlLmluLUVycm9yLWZpeC5wYXRjaApAQCAtMCwwICsxLDU5IEBACitGcm9tIDcxOTU2ZGU0NmZlZWY5NjJkYzA2NDVhZjRjODFhZTA3NGNhM2I4MTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMZWkgTWFvaHVpIDxsZWltYW9odWlAY24uZnVqaXRzdS5jb20+CitEYXRlOiBXZWQsIDE5IEF1ZyAyMDE1IDEzOjUyOjU3ICswOTAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZS5pbjogRXJyb3IgZml4LgorCit0aGUgZXJyb3IgaXM6IGNvbmZ0ZXN0LmM6OToyODogZmF0YWwgZXJyb3I6IGFjX25vbmV4aXN0ZW50Lmg6CitObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5ICNpbmNsdWRlIDxhY19ub25leGlzdGVudC5oPgorCitVcHN0cmVhbS1TdGF0dXM6IHBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogTGkgWGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorLS0tCisgc3JjL2NvbmZpZ3VyZS5pbiB8IDMwIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAzMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9jb25maWd1cmUuaW4gYi9zcmMvY29uZmlndXJlLmluCitpbmRleCAwYjIzZGY1Li4zMWM3ZmJjIDEwMDY0NAorLS0tIGEvc3JjL2NvbmZpZ3VyZS5pbgorKysrIGIvc3JjL2NvbmZpZ3VyZS5pbgorQEAgLTE5MywzNiArMTkzLDYgQEAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KKyAJQ0ZMQUdTPSIkQ0ZMQUdTIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1XYWxsIC1Xc3RyaWN0LXByb3RvdHlwZXMiCisgZmkKKyAKKy1kbmwgRmlndXJlIG91dCBwYWNraW5nIG9yZGVyIG9mIHN0cnVjdHVyZXMKKy1BQ19DQUNIRV9DSEVDSyhbcGFja2luZyBvcmRlciBvZiBiaXQgZmllbGRzXSxycHBwb2VfY3ZfcGFja19iaXRmaWVsZHMsWworLWlmIHRlc3QgIiR7cnBwcG9lX2N2X3BhY2tfYml0ZmllbGRzK3NldH0iICE9IHNldCA7IHRoZW4KKy1BQ19UUllfUlVOKFsKKy11bmlvbiBmb28geworLSAgICBzdHJ1Y3QgYmFyIHsKKy0JdW5zaWduZWQgaW50IHZlcjo0OworLQl1bnNpZ25lZCBpbnQgdHlwZTo0OworLSAgICB9IGJiOworLSAgICB1bnNpZ25lZCBjaGFyIGJhejsKKy19OworLQorLWludAorLW1haW4odm9pZCkKKy17CistICAgIHVuaW9uIGZvbyB4OworLSAgICB4LmJiLnZlciA9IDE7CistICAgIHguYmIudHlwZSA9IDI7CistICAgIGlmICh4LmJheiA9PSAweDIxKSB7CistCXJldHVybiAxOworLSAgICB9IGVsc2UgaWYgKHguYmF6ID09IDB4MTIpIHsKKy0JcmV0dXJuIDA7CistICAgIH0gZWxzZSB7CistCXJldHVybiAyOworLSAgICB9CistfV0sIHJwcHBvZV9jdl9wYWNrX2JpdGZpZWxkcz1ub3JtYWwsIHJwcHBvZV9jdl9wYWNrX2JpdGZpZWxkcz1yZXYsCistJEVDSE8gIm5vIGRlZmF1bHRzIGZvciBjcm9zcy1jb21waWxpbmciOyBleGl0IDEpCistZmkKKy1dKQorLQorIGlmIHRlc3QgIiRycHBwb2VfY3ZfcGFja19iaXRmaWVsZHMiID0gInJldiIgOyB0aGVuCisgCUFDX01TR19SRVNVTFQocmV2ZXJzZWQpCisgCUFDX0RFRklORShbUEFDS19CSVRGSUVMRFNfUkVWRVJTRURdLCBbXSwgW1JldmVyc2VkIGJpdGZpZWxkc10pCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9ycC1wcHBvZS9ycC1wcHBvZS0zLjEyL2NvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMzgwYmE0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorSW5kZXg6IHJwLXBwcG9lLTMuOC9jb25maWd1cmUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBycC1wcHBvZS0zLjgub3JpZy9jb25maWd1cmUuaW4JMjAxNC0wNy0xNiAxOTozMTozMy41NDk5OTEzODggKzAwMDAKKysrKyBycC1wcHBvZS0zLjgvY29uZmlndXJlLmluCTIwMTQtMDctMTcgMjI6MDE6MTguMTE2NTkwODI3ICswMDAwCitAQCAtMSw0ICsxLDQgQEAKKy1BQ19JTklUKHNyYy9wcHBvZS5jKQorLUFNX0lOSVRfQVVUT01BS0UoW3JwLXBwcG9lXSwgWzMuOF0pCisrQUNfSU5JVChbcnAtcHBwb2VdLCBbMy44XSkKKytBTV9JTklUX0FVVE9NQUtFKFtmb3JlaWduXSkKKyBBQ19DT05GSUdfU1VCRElSUyhzcmMpCisgQUNfT1VUUFVUKE1ha2VmaWxlKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi9jb25maWd1cmVfaW5fY3Jvc3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9ycC1wcHBvZS9ycC1wcHBvZS0zLjEyL2NvbmZpZ3VyZV9pbl9jcm9zcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OGNmN2U2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi9jb25maWd1cmVfaW5fY3Jvc3MucGF0Y2gKQEAgLTAsMCArMSwxNTYgQEAKK0Zyb20gY2FiMDIwNzZhZmI4MDhhNDNjNmZmM2Q3YjFjNjRlNzFmNWExYjM5NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExlaSBNYW9odWkgPGxlaW1hb2h1aUBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IFdlZCwgMTkgQXVnIDIwMTUgMTI6MTc6MDMgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlIGluIGNyb3NzCisKK1VwZGF0ZSB0aGUgY29uZmlndXJlIHNjcmlwdCB0byBjcm9zcy1jb21waWxpbmcgd2l0aCBPRS4gIFRoaXMgaGFyZC1jb2RlcworYSBmZXcgdGFyZ2V0IHBhdGhzLCByZXdvcmtzIGEgZmV3IHRlc3RzIHRvIGJlIG1vcmUgZnJpZW5kbHkgZm9yIGNyb3NzCithbmQgZHJvcHMgb3RoZXIgdGVzdHMuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbYnVpbGQgc3lzdGVtIHNwZWNpZmljIGNoYW5nZXNdCisKKy0tLQorIHNyYy9jb25maWd1cmUuaW4gfCA2NiArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCA1MCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9jb25maWd1cmUuaW4gYi9zcmMvY29uZmlndXJlLmluCitpbmRleCBlMTk0Mjk1Li44MmQ2NGQ2IDEwMDY0NAorLS0tIGEvc3JjL2NvbmZpZ3VyZS5pbgorKysrIGIvc3JjL2NvbmZpZ3VyZS5pbgorQEAgLTUsNiArNSwxMyBAQCBBQ19JTklUKHBwcG9lLmMpCisgZG5sIHBwcGQgZGlyZWN0b3J5IGZvciBrZXJuZWwtbW9kZSBQUFBvRQorIFBQUERfRElSPXBwcC0yLjQuMS5wcHBvZTIKKyAKKytkbmwgaGFyZCBjb2RlIHNvbWUgcGF0aHMKKytQUFBEPS91c3Ivc2Jpbi9wcHBkCisrSUQ9L3Vzci9iaW4vaWQKKytFQ0hPPS9iaW4vZWNobworK0FDX0FSR19WQVIoUFBQRCkKKytBQ19BUkdfVkFSKElEKQorKworIEFDX0NPTkZJR19IRUFERVIoY29uZmlnLmgpCisgCisgQUNfUFJFRklYX0RFRkFVTFQoL3VzcikKK0BAIC00NSw3ICs1Miw3IEBAIGFjX2N2X3N0cnVjdF9zb2NrYWRkcl9sbD1ubykKKyBBQ19NU0dfUkVTVUxUKCRhY19jdl9zdHJ1Y3Rfc29ja2FkZHJfbGwpCisgCisgaWYgdGVzdCAiJGFjX2N2X3N0cnVjdF9zb2NrYWRkcl9sbCIgPSB5ZXMgOyB0aGVuCistQUNfREVGSU5FKEhBVkVfU1RSVUNUX1NPQ0tBRERSX0xMKQorK0FDX0RFRklORShbSEFWRV9TVFJVQ1RfU09DS0FERFJfTExdLCBbXSwgW0hhdmUgc3RydWN0IFNPQ0tBRERSX0xMXSkKKyBmaQorIAorIGRubCBDaGVjayBmb3IgTl9IRExDIGxpbmUgZGlzY2lwbGluZQorQEAgLTU2LDcgKzYzLDcgQEAgQUNfVFJZX0NPTVBJTEUoWyNpbmNsdWRlIDxsaW51eC90ZXJtaW9zLmg+XSwKKyAJYWNfY3Zfbl9oZGxjPW5vKQorIEFDX01TR19SRVNVTFQoJGFjX2N2X25faGRsYykKKyBpZiB0ZXN0ICIkYWNfY3Zfbl9oZGxjIiA9IHllcyA7IHRoZW4KKy1BQ19ERUZJTkUoSEFWRV9OX0hETEMpCisrQUNfREVGSU5FKFtIQVZFX05fSERMQ10sIFtdLCBbSGF2ZSBOX0hETENdKQorIGZpCisgCisgQUNfQVJHX0VOQUJMRShwbHVnaW4sIFsgIC0tZW5hYmxlLXBsdWdpbj1wcHBkX3NyY19wYXRoICAgYnVpbGQgcHBwZCBwbHVnaW5dLCBhY19jdl9wbHVnaW5wYXRoPSRlbmFibGV2YWwsIGFjX2N2X3BsdWdpbnBhdGg9bm8pCitAQCAtMTA0LDcgKzExMSw3IEBAIFBQUERfSU5DRElSPSIiCisgaWYgdGVzdCAiJGFjX2N2X2hlYWRlcl9saW51eF9pZl9wcHBveF9oIiA9IHllcyA7IHRoZW4KKyAJaWYgdGVzdCAiJGFjX2N2X3BsdWdpbnBhdGgiICE9IG5vIDsgdGhlbgorIAkJTElOVVhfS0VSTkVMTU9ERV9QTFVHSU49cnAtcHBwb2Uuc28KKy0JCUFDX0RFRklORShIQVZFX0xJTlVYX0tFUk5FTF9QUFBPRSkKKysJCUFDX0RFRklORShbSEFWRV9MSU5VWF9LRVJORUxfUFBQT0VdLCBbXSwgW0hhdmUga2VybmVsIFBQUG9FXSkKKyAJCVBQUERfSU5DRElSPSRhY19jdl9wbHVnaW5wYXRoCisgCWZpCisgZmkKK0BAIC0xMTQsNyArMTIxLDcgQEAgaWYgdGVzdCAiJFBQUERfSU5DRElSIiA9ICIiIDsgdGhlbgorIGZpCisgCisgaWYgdGVzdCAiJGFjX2N2X2RlYnVnZ2luZyIgPSAieWVzIiA7IHRoZW4KKy0gICBBQ19ERUZJTkUoREVCVUdHSU5HX0VOQUJMRUQpCisrICAgQUNfREVGSU5FKFtERUJVR0dJTkdfRU5BQkxFRF0sIFtdLCBbRGVidWdnaW5nIGVuYWJsZWRdKQorIGZpCisgCisgQUNfU1VCU1QoTElOVVhfS0VSTkVMTU9ERV9QTFVHSU4pCitAQCAtMTQwLDE1ICsxNDcsOCBAQCBBQ19DSEVDS19TSVpFT0YodW5zaWduZWQgc2hvcnQpCisgQUNfQ0hFQ0tfU0laRU9GKHVuc2lnbmVkIGludCkKKyBBQ19DSEVDS19TSVpFT0YodW5zaWduZWQgbG9uZykKKyAKKy1kbmwgQ2hlY2sgZm9yIGxvY2F0aW9uIG9mIHBwcGQKKy1BQ19QQVRIX1BST0coUFBQRCwgcHBwZCwgTk9URk9VTkQsICRQQVRIOi9zYmluOi91c3Ivc2JpbjovdXNyL2xvY2FsL3NiaW4pCistQUNfUEFUSF9QUk9HKEVDSE8sIGVjaG8sIGVjaG8pCistCistZG5sIENoZWNrIGZvciBzZXRzaWQgKHByb2JhYmx5IExpbnV4LXNwZWNpZmljKQorLUFDX1BBVEhfUFJPRyhTRVRTSUQsIHNldHNpZCwgIiIsICRQQVRIOi9zYmluOi91c3Ivc2JpbjovdXNyL2xvY2FsL3NiaW4pCistCisgZG5sIENoZWNrIGZvciBhbiAiaWQiIHdoaWNoIGFjY2VwdHMgIi11IiBvcHRpb24gLS0gaGFjayBmb3IgU29sYXJpcy4KKy1BQ19QQVRIX1BST0coSUQsIGlkLCAiIiwgL3Vzci94cGc0L2JpbjokUEFUSCkKKytkbmwgQUNfUEFUSF9QUk9HKElELCBpZCwgIiIsIC91c3IveHBnNC9iaW46JFBBVEgpCisgCisgZG5sIENoZWNrIGZvciBMaW51eC1zcGVjaWZpYyBrZXJuZWwgc3VwcG9ydCBmb3IgUFBQb0UKKyBBQ19NU0dfQ0hFQ0tJTkcoZm9yIExpbnV4IDIuNC5YIGtlcm5lbC1tb2RlIFBQUG9FIHN1cHBvcnQpCitAQCAtMTkzLDQ0ICsxOTMsOCBAQCBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgorIAlDRkxBR1M9IiRDRkxBR1MgLWZuby1zdHJpY3QtYWxpYXNpbmcgLVdhbGwgLVdzdHJpY3QtcHJvdG90eXBlcyIKKyBmaQorIAorLWRubCBJZiB3ZSBjb3VsZG4ndCBmaW5kIHBwcGQsIGRpZQorLWlmIHRlc3QgIiRQUFBEIiA9ICJOT1RGT1VORCI7IHRoZW4KKy0gICAgICAgIEFDX01TR19XQVJOKFsqKiogT29wcyEgIEkgY291bGRuJ3QgZmluZCBwcHBkLCB0aGUgUFBQIGRhZW1vbiBhbnl3aGVyZS5dKQorLQlBQ19NU0dfV0FSTihbKioqIFlvdSBtdXN0IGluc3RhbGwgcHBwZCwgdmVyc2lvbiAyLjMuMTAgb3IgbGF0ZXIuXSkKKy0JQUNfTVNHX1dBUk4oWyoqKiBJIHdpbGwga2VlcCBnb2luZywgYnV0IGl0IG1heSBub3Qgd29yay5dKQorLQlQUFBEPXBwcGQKKy1maQorLQorLWRubCBGaWd1cmUgb3V0IHBwcGQgdmVyc2lvbi4gIDIuMy43IHRvIDIuMy45IC0tIGlzc3VlIHdhcm5pbmcuICBMZXNzIHRoYW4KKy1kbmwgMi4zLjcgLS0gc3RvcAorLQorLVBQUERfVkVSU0lPTj1gJFBQUEQgLS12ZXJzaW9uIDI+JjEgfCBhd2sgJyAvdmVyc2lvbi8ge3ByaW50ICRORn0nYAorLQorLWNhc2UgIiRQUFBEX1ZFUlNJT04iIGluCistMS4qfDIuMC4qfDIuMS4qfDIuMi4qfDIuMy4wfDIuMy4xfDIuMy4yfDIuMy4zfDIuMy40fDIuMy41fDIuMy42KQorLQlBQ19NU0dfV0FSTihbKioqIE9vcHMhIFlvdXIgdmVyc2lvbiBvZiBwcHBkIGlzICRQUFBEX1ZFUlNJT04sIHdoaWNoIGlzIHRvbyBvbGQuXSkKKy0JQUNfTVNHX1dBUk4oWyoqKiBZb3UgbmVlZCBhdCBsZWFzdCAyLjMuNyAoMi4zLjEwIG9yIG5ld2VyIHJlY29tbWVuZGVkLl0pCistCUFDX01TR19XQVJOKFsqKiogSSB3aWxsIGtlZXAgZ29pbmcsIGJ1dCBpdCBtYXkgbm90IHdvcmsuXSkKKy0JOzsKKy0KKy0yLjMuN3wyLjMuOHwyLjMuOSkKKy0JQUNfTVNHX1dBUk4oWyoqKiBXYXJuaW5nLiAgWW91ciB2ZXJzaW9uIG9mIHBwcGQgaXMgJFBQUERfVkVSU0lPTi4gIFlvdSB3aWxsXSkKKy0JQUNfTVNHX1dBUk4oWyoqKiBub3QgYmUgYWJsZSB0byB1c2UgY29ubmVjdC1vbi1kZW1hbmQuICBVcGdyYWRlIHRvIHBwcGRdKQorLQlBQ19NU0dfV0FSTihbKioqIDIuMy4xMCBvciBuZXdlciBpZiB5b3UgbmVlZCBjb25uZWN0LW9uLWRlbWFuZC5dKQorLQk7OworLQorLTIqfDMqfDQqfDUqfDYqfDcqfDgqfDkqKQorLQk7OworLQorLSopCistCUFDX01TR19XQVJOKFsqKiogT29wcy4gIEkgY2Fubm90IGZpZ3VyZSBvdXQgd2hhdCB2ZXJzaW9uIG9mIHBwcGQgeW91IGhhdmUuXSkKKy0JQUNfTVNHX1dBUk4oWyoqKiBBbGwgSSBnb3QgYmFjayB3YXMgJyRQUFBEX1ZFUlNJT04nXSkKKy0JQUNfTVNHX1dBUk4oWyoqKiBJIHdpbGwga2VlcCBnb2luZywgYnV0IGl0IG1heSBub3Qgd29yay5dKQorLQk7OworLWVzYWMKKy0KKyBkbmwgRmlndXJlIG91dCBwYWNraW5nIG9yZGVyIG9mIHN0cnVjdHVyZXMKKy1BQ19NU0dfQ0hFQ0tJTkcoW3BhY2tpbmcgb3JkZXIgb2YgYml0IGZpZWxkc10pCisrQUNfQ0FDSEVfQ0hFQ0soW3BhY2tpbmcgb3JkZXIgb2YgYml0IGZpZWxkc10scnBwcG9lX2N2X3BhY2tfYml0ZmllbGRzLFsKKyBpZiB0ZXN0ICIke3JwcHBvZV9jdl9wYWNrX2JpdGZpZWxkcytzZXR9IiAhPSBzZXQgOyB0aGVuCisgQUNfVFJZX1JVTihbCisgdW5pb24gZm9vIHsKK0BAIC0yNTcsMTAgKzIyMSwxMSBAQCBtYWluKHZvaWQpCisgfV0sIHJwcHBvZV9jdl9wYWNrX2JpdGZpZWxkcz1ub3JtYWwsIHJwcHBvZV9jdl9wYWNrX2JpdGZpZWxkcz1yZXYsCisgJEVDSE8gIm5vIGRlZmF1bHRzIGZvciBjcm9zcy1jb21waWxpbmciOyBleGl0IDApCisgZmkKKytdKQorIAorIGlmIHRlc3QgIiRycHBwb2VfY3ZfcGFja19iaXRmaWVsZHMiID0gInJldiIgOyB0aGVuCisgCUFDX01TR19SRVNVTFQocmV2ZXJzZWQpCistCUFDX0RFRklORShQQUNLX0JJVEZJRUxEU19SRVZFUlNFRCkKKysJQUNfREVGSU5FKFtQQUNLX0JJVEZJRUxEU19SRVZFUlNFRF0sIFtdLCBbUmV2ZXJzZWQgYml0ZmllbGRzXSkKKyBlbHNlCisgCUFDX01TR19SRVNVTFQobm9ybWFsKQorIGZpCitAQCAtMzI0LDYgKzI4OSw3IEBAIEFDX1NVQlNUKFBQUE9FX1NFUlZFUl9ERVBTKQorIEFDX1NVQlNUKFJEWU5BTUlDKQorIEFDX1NVQlNUKExJQkVWRU5UKQorIEFDX1NVQlNUKEVDSE8pCisrQUNfU1VCU1QoSEFWRV9TVFJVQ1RfU09DS0FERFJfTEwpCisgQUNfU1VCU1QoTERGTEFHUykKKyAKKyBkYXRhZGlyX2V2YWx1YXRlZD1gZXZhbCBlY2hvICRkYXRhZGlyYAorLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3JwLXBwcG9lL3JwLXBwcG9lLTMuMTIvZGlzY2FyZC11c2Utb2YtZG5sLWluLU1ha2VmaWxlLmFtLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi9kaXNjYXJkLXVzZS1vZi1kbmwtaW4tTWFrZWZpbGUuYW0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGI3ODg2NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3JwLXBwcG9lL3JwLXBwcG9lLTMuMTIvZGlzY2FyZC11c2Utb2YtZG5sLWluLU1ha2VmaWxlLmFtLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK0Zyb20gNjExYzlmZTcxOWM1YWEyNjRhMmFkMmViOTIwY2Y0NTIyYWUyZGRlYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFRpbmcgTGl1IDxiMjg0OTVAZnJlZXNjYWxlLmNvbT4KK0RhdGU6IFR1ZSwgMTIgSnVuIDIwMTIgMTQ6MjY6MTYgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSF0gZGlzY2FyZCB1c2Ugb2YgZG5sIGluIE1ha2VmaWxlLmFtCisKK1NpbmNlIE1ha2VmaWxlLmFtIGlzIG5vdCBwcm9jZXNzZWQgYnkgbTQsIGJ1dCBieSBhdXRvbWFrZSwgJ2RubCcgZG9lcworbm90IGludHJvZHVjZSBhIGNvbW1lbnQuCisKK1NpZ25lZC1vZmYtYnk6IFRpbmcgTGl1IDxiMjg0OTVAZnJlZXNjYWxlLmNvbT4KKy0tLQorIE1ha2VmaWxlLmFtIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQoraW5kZXggZWZmNjk3Ny4uMzA5MWMzMyAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmFtCisrKysgYi9NYWtlZmlsZS5hbQorQEAgLTEsNSArMSw1IEBACisgUEFDS0FHRSA9IHJwLXBwcG9lCisgVkVSU0lPTiA9IDMuOAorIAorLWRubCBBTV9DRkxBR1MgPSAtV2FsbCAtRERFQlVHCisrIyNkbmwgQU1fQ0ZMQUdTID0gLVdhbGwgLURERUJVRworIFNVQkRJUlMgPSBzcmMKKy0tIAorMS43LjYuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9ycC1wcHBvZS9ycC1wcHBvZS0zLjEyL2RvbnQtc3dhbGxvdy1lcnJvcnMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9ycC1wcHBvZS9ycC1wcHBvZS0zLjEyL2RvbnQtc3dhbGxvdy1lcnJvcnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjYxMzM3ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3JwLXBwcG9lL3JwLXBwcG9lLTMuMTIvZG9udC1zd2FsbG93LWVycm9ycy5wYXRjaApAQCAtMCwwICsxLDI4IEBACitGcm9tIGJiZGFkYjgwM2IxOWYwMDJlNzZlN2JiNWNlM2ZhZjc3MGRkN2M0MTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMZWkgTWFvaHVpIDxsZWltYW9odWlAY24uZnVqaXRzdS5jb20+CitEYXRlOiBXZWQsIDE5IEF1ZyAyMDE1IDEyOjMzOjQxICswOTAwCitTdWJqZWN0OiBbUEFUQ0hdIGRvbid0IHN3YWxsb3cgZXJyb3JzCisKK0Z1cnRoZXIgZml4dXAgdG8gdGhlIGNvbmZpZ3VyZSBzY3JpcHRzIHRvIG5vdCBzd2FsbG93IGVycm9ycworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKy0tLQorIHNyYy9jb25maWd1cmUuaW4gfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvY29uZmlndXJlLmluIGIvc3JjL2NvbmZpZ3VyZS5pbgoraW5kZXggODJkNjRkNi4uMGIyM2RmNSAxMDA2NDQKKy0tLSBhL3NyYy9jb25maWd1cmUuaW4KKysrKyBiL3NyYy9jb25maWd1cmUuaW4KK0BAIC0yMTksNyArMjE5LDcgQEAgbWFpbih2b2lkKQorIAlyZXR1cm4gMjsKKyAgICAgfQorIH1dLCBycHBwb2VfY3ZfcGFja19iaXRmaWVsZHM9bm9ybWFsLCBycHBwb2VfY3ZfcGFja19iaXRmaWVsZHM9cmV2LAorLSRFQ0hPICJubyBkZWZhdWx0cyBmb3IgY3Jvc3MtY29tcGlsaW5nIjsgZXhpdCAwKQorKyRFQ0hPICJubyBkZWZhdWx0cyBmb3IgY3Jvc3MtY29tcGlsaW5nIjsgZXhpdCAxKQorIGZpCisgXSkKKyAKKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9ycC1wcHBvZS9ycC1wcHBvZS0zLjEyL3BwcG9lLXNlcnZlci5kZWZhdWx0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi9wcHBvZS1zZXJ2ZXIuZGVmYXVsdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OTZkNTdmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi9wcHBvZS1zZXJ2ZXIuZGVmYXVsdApAQCAtMCwwICsxLDIyIEBACisjIFBQUG9FIFNlcnZlciBvcHRpb25zCisKKyMgTWF4aW11bSBzZWdtZW50IHNpemUsIG5vdCB1c2VkIGZvciBpbiBrZXJuZWwgUFBQb0UKKyNNU1M9MTQxMgorCisjIERldmljZShzKSAtIFNwYWNlIHNlcGVyYXRlZCBsaXN0IG9mIGRldmljZXMgdG8gbGlzdGVuIG9uCisjREVWSUNFUz0iZXRoMSIKKworIyBMb2NhbCBJUAorI0xPQ0FMX0lQPTEwLjAuMC4xCisKKyMgU3RhcnRpbmcgcmVtb3RlIElQCisjUkVNT1RFX0lQPTEwLjY3LjE1LjEKKworIyBTZXJ2aWNlIG5hbWUKKyNTRVJWSUNFX05BTUU9ImFjbWUiCisKKyMgTWF4aW11bSBudW1iZXIgb2Ygc2Vzc2lvbnMsIGRlZmF1bHQgaXMgMTYKKyNNQVhfU0VTU0lPTlM9NjQKKworIyBBY2Nlc3MgY29uY2VudHJhdG9yIG5hbWUsIGRlZmF1bHQgaXMgdGhlIGhvc3RuYW1lCisjQUNDRVNTX0NPTkNFTlRSQVRPUl9OQU1FPSJwcHBvZS1ydHItMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3JwLXBwcG9lL3JwLXBwcG9lLTMuMTIvcHBwb2Utc2VydmVyLmluaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9ycC1wcHBvZS9ycC1wcHBvZS0zLjEyL3BwcG9lLXNlcnZlci5pbml0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIxYWZlMGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9ycC1wcHBvZS9ycC1wcHBvZS0zLjEyL3BwcG9lLXNlcnZlci5pbml0CkBAIC0wLDAgKzEsNTkgQEAKKyMhIC9iaW4vc2gKKwordGVzdCAtZiAvdXNyL3NiaW4vcHBwb2Utc2VydmVyIHx8IGV4aXQgMAordGVzdCAtZiAvZXRjL2RlZmF1bHQvcHBwb2Utc2VydmVyICYmIC4gL2V0Yy9kZWZhdWx0L3BwcG9lLXNlcnZlcgorCitjYXNlICQxIGluCisgIHN0YXJ0KQorICAgIE9QVElPTlM9IiIKKyAgICBpZiBbIC1uICIkTVNTIiBdOyB0aGVuCisgICAgICBPUFRJT05TPSIkT1BUSU9OUyAtbSAkTVNTIgorICAgIGZpCisgICAgaWYgWyAtbiAiJERFVklDRVMiIF07IHRoZW4KKyAgICAgIGZvciBpIGluICRERVZJQ0VTOyBkbworICAgICAgICBPUFRJT05TPSIkT1BUSU9OUyAtSSAkaSIKKyAgICAgIGRvbmUKKyAgICBmaQorICAgIGlmIFsgLW4gIiRMT0NBTF9JUCIgXTsgdGhlbgorICAgICAgT1BUSU9OUz0iJE9QVElPTlMgLUwgJExPQ0FMX0lQIgorICAgIGZpCisgICAgaWYgWyAtbiAiJFJFTU9URV9JUCIgXTsgdGhlbgorICAgICAgT1BUSU9OUz0iJE9QVElPTlMgLVIgJFJFTU9URV9JUCIKKyAgICBmaQorICAgIGlmIFsgLW4gIiRTRVJWSUNFX05BTUUiIF07IHRoZW4KKyAgICAgIE9QVElPTlM9IiRPUFRJT05TIC1TICRTRVJWSUNFX05BTUUiCisgICAgZmkKKyAgICBpZiBbIC1uICIkTUFYX1NFU1NJT05TIiBdOyB0aGVuCisgICAgICBPUFRJT05TPSIkT1BUSU9OUyAtTiAkTUFYX1NFU1NJT05TIgorICAgIGZpCisgICAgaWYgWyAtbiAiJEFDQ0VTU19DT05DRU5UUkFUT1JfTkFNRSIgXTsgdGhlbgorICAgICAgT1BUSU9OUz0iJE9QVElPTlMgLUMgJEFDQ0VTU19DT05DRU5UUkFUT1JfTkFNRSIKKyAgICBmaQorICAgIGVjaG8gLW4gIlN0YXJ0aW5nIFBQUG9FIHNlcnZlcjogcHBwb2Utc2VydmVyIgorICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLS1xdWlldCAtLWV4ZWMgL3Vzci9zYmluL3BwcG9lLXNlcnZlciAtLSAkT1BUSU9OUworICAgIGVjaG8gIi4iCisgICAgOzsKKyAgc3RvcCkKKyAgICBlY2hvIC1uICJTdG9wcGluZyBQUFBvRSBzZXJ2ZXI6IHBwcG9lLXNlcnZlciIKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLWV4ZWMgL3Vzci9zYmluL3BwcG9lLXNlcnZlciAtLSAkT1BUSU9OUworICAgIGVjaG8gIi4iCisgICAgOzsKKyAgc3RhdHVzKQorICAgIHBpZD0kKHBpZG9mIHBwcG9lLXNlcnZlcikgICAgCSAgICAgICAgICAKKyAgICBpZiBbIC1uICIkcGlkIiBdIDsgdGhlbgorCSAgICBlY2hvICJSdW5uaW5nIHdpdGggcGlkICRwaWQiCisgICAgZWxzZQorCSAgICBlY2hvICJOb3QgcnVubmluZyIKKyAgICBmaQorICAgIDs7CisgIHJlc3RhcnR8Zm9yY2UtcmVsb2FkKQorICAgICQwIHN0b3AKKyAgICAkMCBzdGFydAorICAgIDs7CisgICopCisgICAgZWNobyAiVXNhZ2U6IC9ldGMvaW5pdC5kL3BwcG9lLXNlcnZlciB7c3RhcnR8c3RvcHxyZXN0YXJ0fGZvcmNlLXJlbG9hZH0iCisgICAgZXhpdCAxCisgICAgOzsKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9ycC1wcHBvZS9ycC1wcHBvZS0zLjEyL3BwcG9lLXNlcnZlci5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi9wcHBvZS1zZXJ2ZXIuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MWUwYjllCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi9wcHBvZS1zZXJ2ZXIuc2VydmljZQpAQCAtMCwwICsxLDExIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPVBQUE9FIFNlcnZpY2UKK0FmdGVyPW5ldHdvcmsudGFyZ2V0CisKK1tTZXJ2aWNlXQorVHlwZT1mb3JraW5nCitFbnZpcm9ubWVudEZpbGU9LUBTWVNDT05GRElSQC9kZWZhdWx0L3BwcG9lLXNlcnZlcgorRXhlY1N0YXJ0PUBTQklORElSQC9wcHBvZS1zZXJ2ZXIKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi9wcHBvZS1zcmMtcmVzdHJpY3Rpb25zLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi9wcHBvZS1zcmMtcmVzdHJpY3Rpb25zLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjZjRkMTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9ycC1wcHBvZS9ycC1wcHBvZS0zLjEyL3BwcG9lLXNyYy1yZXN0cmljdGlvbnMucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorUmVsYXggcmVzdHJpY3Rpb25zIG9uIHRoZSBQUFBvRSBzcmMgYWRkcmVzcywgYXMgcGVyIGRlYmlhbiBidWcKKzI5MzgxMToKKworICBodHRwOi8vYnVncy5kZWJpYW4ub3JnL2NnaS1iaW4vYnVncmVwb3J0LmNnaT9idWc9MjkzODExCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbQmFja3BvcnQgZnJvbSBEZWJpYW5dCisKKy0tLSBycC1wcHBvZS0zLjgub3JpZy9zcmMvZGlzY292ZXJ5LmMKKysrKyBycC1wcHBvZS0zLjgvc3JjL2Rpc2NvdmVyeS5jCitAQCAtMzc2LDggKzM3Niw4IEBACisgCWlmICghcGFja2V0SXNGb3JNZShjb25uLCAmcGFja2V0KSkgY29udGludWU7CisgCisgCWlmIChwYWNrZXQuY29kZSA9PSBDT0RFX1BBRE8pIHsKKy0JICAgIGlmIChOT1RfVU5JQ0FTVChwYWNrZXQuZXRoSGRyLmhfc291cmNlKSkgeworLQkJcHJpbnRFcnIoIklnbm9yaW5nIFBBRE8gcGFja2V0IGZyb20gbm9uLXVuaWNhc3QgTUFDIGFkZHJlc3MiKTsKKysJICAgIGlmIChCUk9BRENBU1QocGFja2V0LmV0aEhkci5oX3NvdXJjZSkpIHsKKysJCXByaW50RXJyKCJJZ25vcmluZyBicm9hZGNhc3QgUEFETyBwYWNrZXQiKTsKKyAJCWNvbnRpbnVlOworIAkgICAgfQorIAkgICAgcGFyc2VQYWNrZXQoJnBhY2tldCwgcGFyc2VQQURPVGFncywgJnBjKTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3JwLXBwcG9lL3JwLXBwcG9lLTMuMTIvdG9wLWF1dG9jb25mLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi90b3AtYXV0b2NvbmYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGZlNzNkMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3JwLXBwcG9lL3JwLXBwcG9lLTMuMTIvdG9wLWF1dG9jb25mLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK1RoZSBhdXRvY29uZiBzdHVmZiBpcyBhbGwgaW4gYSBzdWJkaXJlY3RvcnksIHdoaWNoIGlzIHJhdGhlciBhbm5veWluZworYXMgT0UgZXhwZWN0cyBwYXRjaGVzIHRvIGJlIGFwcGxpZWQgYW5kIGF1dG9jb25mIHN0dWZmIHRvIGJlIGRvbmUgaW4KK1MuIFRoaXMgYWRkcyBlbm91Z2ggYXV0b2NvbmYgYXQgdGhlIHRvcCBsZXZlbCB0byBhbGxvdyBpdCB0byBiZQorY2FsbGVkIHRoZXJlIC0gYWxsIGl0IGRvZXMgaXMgcnVuIGEgc3ViIGF1dG9jb25mIHN0dWZmIGluIHRoZSBzcmMKK2RpcmVjdG9yeS4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtidWlsZCBzeXN0ZW0gc3BlY2lmaWMgY2hhbmdlXQorCitJbmRleDogcnAtcHBwb2UtMy44L01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgcnAtcHBwb2UtMy44L01ha2VmaWxlLmFtCTIwMDctMDYtMDggMTU6NTg6MTYuMDAwMDAwMDAwICsxMDAwCitAQCAtMCwwICsxLDUgQEAKKytQQUNLQUdFID0gcnAtcHBwb2UKKytWRVJTSU9OID0gMy44CisrCisrZG5sIEFNX0NGTEFHUyA9IC1XYWxsIC1EREVCVUcKKytTVUJESVJTID0gc3JjCitJbmRleDogcnAtcHBwb2UtMy44L2NvbmZpZ3VyZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIHJwLXBwcG9lLTMuOC9jb25maWd1cmUuaW4JMjAwNy0wNi0wOCAxNTo1ODoxNi4wMDAwMDAwMDAgKzEwMDAKK0BAIC0wLDAgKzEsNCBAQAorK0FDX0lOSVQoc3JjL3BwcG9lLmMpCisrQU1fSU5JVF9BVVRPTUFLRShbcnAtcHBwb2VdLCBbMy44XSkKKytBQ19DT05GSUdfU1VCRElSUyhzcmMpCisrQUNfT1VUUFVUKE1ha2VmaWxlKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi91cGRhdGUtY29uZmlnLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi91cGRhdGUtY29uZmlnLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyYTNiYzYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9ycC1wcHBvZS9ycC1wcHBvZS0zLjEyL3VwZGF0ZS1jb25maWcucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorU2V0IHRoZSB0aW1lb3V0IHRvIDAgc2luY2Ugd2UgZG9uJ3Qgd2FudCBwcHBvZSB0byB0cnkgcmVjb25uZWN0aW5nLAord2Ugd2FudCB3aGF0ZXZlciBpcyBjYWxsaW5nIGl0IHRvIHJlY29ubmVjdC4gTG90cyBvZiBvZGQgdGhpbmdzCitoYXBwZW4gd2hlbiB5b3UgaGF2ZSBwcHBvZSByZXRyeWluZyBpdHNlbGYuCisKK1RoZSBwYXRoIGZvciB0aGUgcGx1Z2luIGlzIHdyb25nLCBpdCdzIG5vdyBwYXJ0IG9mIHBwcCBhbmQgaXMgaW4gYQorcHBwJ3MgcGx1Z2luIGxpYiBkaXJlY3RvcnkuIElmIG5vIHBhdGggaXMgc3BlY2lmaWVkIHRoZW4gdGhhdCdzIHdoZXJlCitwcHAgbG9va3MsIHNvIHRoYXQncyB3aGF0IHdlIGRvIGhlcmUuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworSW5kZXg6IHJwLXBwcG9lLTMuOC9jb25maWdzL3BwcG9lLmNvbmYKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBycC1wcHBvZS0zLjgub3JpZy9jb25maWdzL3BwcG9lLmNvbmYJMjAwNi0wNC0wMyAwMDoyOTo0MS4wMDAwMDAwMDAgKzEwMDAKKysrKyBycC1wcHBvZS0zLjgvY29uZmlncy9wcHBvZS5jb25mCTIwMDctMDYtMDggMTY6MDI6NDcuMDAwMDAwMDAwICsxMDAwCitAQCAtNjYsNyArNjYsNyBAQAorICMgdG8gY29ubmVjdCBmb3JldmVyIGFmdGVyIHBwcG9lLXN0YXJ0IGlzIGNhbGxlZC4gIE90aGVyd2lzZSwgaXQgd2lsbAorICMgZ2l2ZSBvdXQgYWZ0ZXIgQ09OTkVDVF9USU1FT1VUIHNlY29uZHMgYW5kIHdpbGwgbm90IGF0dGVtcHQgdG8KKyAjIGNvbm5lY3QgYWdhaW4sIG1ha2luZyBpdCBpbXBvc3NpYmxlIHRvIHJlYWNoLgorLUNPTk5FQ1RfVElNRU9VVD0zMAorK0NPTk5FQ1RfVElNRU9VVD0wCisgCisgIyBIb3cgb2Z0ZW4gaW4gc2Vjb25kcyBwcHBvZS1zdGFydCBwb2xscyB0byBjaGVjayBpZiBsaW5rIGlzIHVwCisgQ09OTkVDVF9QT0xMPTIKK0BAIC0xMTUsNyArMTE1LDcgQEAKKyBGSVJFV0FMTD1OT05FCisgCisgIyBMaW51eCBrZXJuZWwtbW9kZSBwbHVnaW4gZm9yIHBwcGQuICBJZiB5b3Ugd2FudCB0byB0cnkgdGhlIGtlcm5lbC1tb2RlCistIyBwbHVnaW4sIHVzZSBMSU5VWF9QTFVHSU49L2V0Yy9wcHAvcGx1Z2lucy9ycC1wcHBvZS5zbworKyMgcGx1Z2luLCB1c2UgTElOVVhfUExVR0lOPXJwLXBwcG9lLnNvCisgTElOVVhfUExVR0lOPQorIAorICMgQW55IGV4dHJhIGFyZ3VtZW50cyB0byBwYXNzIHRvIHBwcG9lLiAgTm9ybWFsbHksIHVzZSBhIGJsYW5rIHN0cmluZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2VfMy4xMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3JwLXBwcG9lL3JwLXBwcG9lXzMuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTFjYTE3ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3JwLXBwcG9lL3JwLXBwcG9lXzMuMTIuYmIKQEAgLTAsMCArMSw3NCBAQAorU1VNTUFSWSA9ICJBIHVzZXItbW9kZSBQUFBvRSBjbGllbnQgYW5kIHNlcnZlciBzdWl0ZSBmb3IgTGludXgiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnJvYXJpbmdwZW5ndWluLmNvbS9wcm9kdWN0cy9wcHBvZSIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RvYy9MSUNFTlNFO21kNT1hMTk0ZWFlZmFlMmJlNTRlZTMyMjEzMzliMTBkMDU4MSIKKworUFIgPSAicjEwIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cucm9hcmluZ3Blbmd1aW4uY29tL2ZpbGVzL2Rvd25sb2FkLyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly90b3AtYXV0b2NvbmYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlX2luX2Nyb3NzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3BwcG9lLXNyYy1yZXN0cmljdGlvbnMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdXBkYXRlLWNvbmZpZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kb250LXN3YWxsb3ctZXJyb3JzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2Rpc2NhcmQtdXNlLW9mLWRubC1pbi1NYWtlZmlsZS5hbS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcHBwb2Utc2VydmVyLmRlZmF1bHQgXAorICAgICAgICAgICBmaWxlOi8vcHBwb2Utc2VydmVyLmluaXQgXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLmluLUVycm9yLWZpeC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9wcHBvZS1zZXJ2ZXIuc2VydmljZSIKKworU1JDX1VSSVttZDVzdW1dID0gIjIxNmViNTJiNjkwNjJiOTJhNjRlZTM3ZmQ3MWY0YjY2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjAwNzk0ZTA0MDMxNTQ2YjBlOWI4Y2YyODZmMmE2ZDFjY2ZjNGE2MjFiMmEzYWJiMmQ3ZWYyYTdhYjdjYzg2YzIiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtcmMuZCBzeXN0ZW1kCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9wcHBvZS1zZXJ2ZXIuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIHNlZCAtaSAtZSAncyNAU1lTQ09ORkRJUkAjJHtzeXNjb25mZGlyfSNnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9wcHBvZS1zZXJ2ZXIuc2VydmljZQorICAgIHNlZCAtaSAtZSAncyNAU0JJTkRJUkAjJHtzYmluZGlyfSNnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9wcHBvZS1zZXJ2ZXIuc2VydmljZQorICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vZG9jLyR7UE59CisgICAgaWYgWyAtZiAke0R9JHtkYXRhZGlyfS9kb2MvUkVBRE1FIF07IHRoZW4KKyAgICAgICAgbXYgJHtEfSR7ZGF0YWRpcn0vZG9jL1JFQURNRSAke0R9JHtkYXRhZGlyfS9kb2MvJHtQTn0vCisgICAgZmkKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICAjIEluc3RhbGwgaW5pdCBzY3JpcHQgYW5kIGRlZmF1bHQgc2V0dGluZ3MKKyAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9wcHBvZS1zZXJ2ZXIuZGVmYXVsdCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3BwcG9lLXNlcnZlcgorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3BwcG9lLXNlcnZlci5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9wcHBvZS1zZXJ2ZXIKKyAgICAjIEluc3RhbGwKKyAgICBvZV9ydW5tYWtlIC1DICR7U30gREVTVERJUj0ke0R9IGRvY2Rpcj0ke2RvY2Rpcn0gaW5zdGFsbAorICAgIGNobW9kIDQ3NTUgJHtEfSR7c2JpbmRpcn0vcHBwb2UKK30KKworU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfS1zZXJ2ZXIiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0tc2VydmVyID0gInBwcG9lLXNlcnZlci5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorIyBJbnNlcnQgc2VydmVyIHBhY2thZ2UgYmVmb3JlIG1haW4gcGFja2FnZQorUEFDS0FHRVMgPSAiJHtQTn0tZGJnICR7UE59LXNlcnZlciAke1BOfS1yZWxheSAke1BOfS1zbmlmZiAke1BOfSAke1BOfS1kb2MiCisKK0ZJTEVTXyR7UE59LXNlcnZlciA9ICIke3N5c2NvbmZkaXJ9L2RlZmF1bHQvcHBwb2Utc2VydmVyIFwKKyAgICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9wcHBvZS1zZXJ2ZXIgXAorICAgICAgICAgICAgICAgICAgICAgICR7c2JpbmRpcn0vcHBwb2Utc2VydmVyIFwKKyAgICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3BwcC9wcHBvZS1zZXJ2ZXItb3B0aW9ucyIKK0ZJTEVTXyR7UE59LXJlbGF5ID0gIiR7c2JpbmRpcn0vcHBwb2UtcmVsYXkiCitGSUxFU18ke1BOfS1zbmlmZiA9ICIke3NiaW5kaXJ9L3BwcG9lLXNuaWZmIgorCitDT05GRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfS9wcHAvcHBwb2UuY29uZiBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9wcHAvZmlyZXdhbGwtc3RhbmRhbG9uZSBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9wcHAvZmlyZXdhbGwtbWFzcSIKK0NPTkZGSUxFU18ke1BOfS1zZXJ2ZXIgPSAiJHtzeXNjb25mZGlyfS9wcHAvcHBwb2Utc2VydmVyLW9wdGlvbnMgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2RlZmF1bHQvcHBwb2Utc2VydmVyIgorCitJTklUU0NSSVBUX1BBQ0tBR0VTICAgICAgICAgICAgPSAiJHtQTn0tc2VydmVyIgorSU5JVFNDUklQVF9OQU1FXyR7UE59LXNlcnZlciAgID0gInBwcG9lLXNlcnZlciIKK0lOSVRTQ1JJUFRfUEFSQU1TXyR7UE59LXNlcnZlciA9ICJkZWZhdWx0cyA5MiA4IgorCitSREVQRU5EU18ke1BOfSA9ICJwcHAiCitSREVQRU5EU18ke1BOfS1zZXJ2ZXIgPSAiJHtQTn0iCitSUkVDT01NRU5EU18ke1BOfSA9ICJwcHAtb2UiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3Rzb2Nrcy90c29ja3NfMS44YmV0YTUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy90c29ja3MvdHNvY2tzXzEuOGJldGE1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzYTk2MjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy90c29ja3MvdHNvY2tzXzEuOGJldGE1LmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiTGlicmFyaWVzIGFuZCB3cmFwcGVyIGZvciB1c2luZyBhIFNPQ0tTIHByb3h5IgorREVTQ1JJUFRJT04gPSAiVGhlIHJvbGUgb2YgdHNvY2tzIGlzIHRvIGFsbG93IG5vbiBTT0NLUyBhd2FyZSBcCithcHBsaWNhdGlvbnMgKGUuZyB0ZWxuZXQsIHNzaCwgZnRwIGV0YykgdG8gdXNlIFNPQ0tTIHdpdGhvdXQgYW55IFwKK21vZGlmaWNhdGlvbi4gSXQgZG9lcyB0aGlzIGJ5IGludGVyY2VwdGluZyB0aGUgY2FsbHMgdGhhdCBhcHBsaWNhdGlvbnMgXAorbWFrZSB0byBlc3RhYmxpc2ggbmV0d29yayBjb25uZWN0aW9ucyBhbmQgbmVnb3RhdGluZyB0aGVtIHRocm91Z2ggYSBcCitTT0NLUyBzZXJ2ZXIgYXMgbmVjZXNzYXJ5LiIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvdHNvY2tzLyIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJHUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTg4MTA2NjlmMTNiODczNDg0NTllNjExZDMxYWI3NjAiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvdHNvY2tzL3Rzb2Nrcy0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1MWNhZWZkNzdlNWQ0NDBkMGJiZDY0NDNkYjRmYzBmOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4NDlkN2VmNWFmODBkMDNlNzZjYzA1ZWQ5ZmI4ZmEyYmNjMmI3MjRiNTFlYmZkMWI2YmUxMWM3ODYzZjViMzQ3IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworUyA9ICIke1dPUktESVJ9L3Rzb2Nrcy0xLjgiCisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS8qICR7YmluZGlyfS90c29ja3MiCitGSUxFU18ke1BOfS1kZXYgPSAiIgorSU5TQU5FX1NLSVBfJHtQTn0gPSAiZGV2LXNvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMveGwydHBkL3hsMnRwZC5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy94bDJ0cGQveGwydHBkLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZjdmNjkzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMveGwydHBkL3hsMnRwZC5pbmMKQEAgLTAsMCArMSw0NCBAQAorU1VNTUFSWSA9ICJYZWxlcmFuY2UgdmVyc2lvbiBvZiB0aGUgTGF5ZXIgMiBUdW5uZWxpbmcgUHJvdG9jb2wgKEwyVFApIGRhZW1vbiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cueGVsZXJhbmNlLmNvbS9zb2Z0d2FyZS94bDJ0cGQvIgorU0VDVElPTiA9ICJuZXQiCitERVBFTkRTID0gInBwcCB2aXJ0dWFsL2tlcm5lbCIKKworUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTA2MzZlNzNmZjAyMTVlOGQ2NzJkYzRjMzJjMzE3YmIzIgorCitJTkNfUFIgPSAicjAiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS94ZWxlcmFuY2UveGwydHBkLmdpdCBcCisgICAgZmlsZTovL2ZpeC1pbmxpbmUtZnVuY3Rpb25zLWVycm9ycy13aXRoLWdjYy01LngucGF0Y2ggXAorIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IHVwZGF0ZS1yYy5kCisKK2RvX2NvbXBpbGUgKCkgeworICAgIG9lX3J1bm1ha2UgQ0ZMQUdTPSIke0NGTEFHU30gLURMSU5VWCIgTERGTEFHUz0iJHtMREZMQUdTfSIgUFJFRklYPSIke3ByZWZpeH0iIEtFUk5FTFNSQz0ke1NUQUdJTkdfS0VSTkVMX0RJUn0gYWxsCit9CisKK2RvX2luc3RhbGwgKCkgeworICAgIG9lX3J1bm1ha2UgUFJFRklYPSIke0R9JHtwcmVmaXh9IiBpbnN0YWxsCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIHRvdWNoICR7RH0ke3N5c2NvbmZkaXJ9L3hsMnRwZC5jb25mCisgICAgaW5zdGFsbCAtbSAwNzU1IGRlYmlhbi94bDJ0cGQuaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQveGwydHBkCisgICAgc2VkIC1pICdzIS91c3Ivc2Jpbi8hJHtzYmluZGlyfS8hZycgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3hsMnRwZAorICAgIHNlZCAtaSAncyEvZXRjLyEke3N5c2NvbmZkaXJ9LyFnJyAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQveGwydHBkCisgICAgc2VkIC1pICdzIS92YXIvISR7bG9jYWxzdGF0ZWRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC94bDJ0cGQKKyAgICBzZWQgLWkgJ3MhXlBBVEg9LiohUEFUSD0ke2Jhc2Vfc2JpbmRpcn06JHtiYXNlX2JpbmRpcn06JHtzYmluZGlyfToke2JpbmRpcn0hJyAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQveGwydHBkCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQKKyAgICBpbnN0YWxsIC1tIDA2NDQgZGViaWFuL3hsMnRwZC5kZWZhdWx0ICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQveGwydHBkCit9CisKK0NPTkZGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfS94bDJ0cGQuY29uZiAke3N5c2NvbmZkaXJ9L2RlZmF1bHQveGwydHBkIgorCitJTklUU0NSSVBUX1BBQ0tBR0VTID0gIiR7UE59IgorSU5JVFNDUklQVF9OQU1FXyR7UE59ID0gInhsMnRwZCIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMveGwydHBkL3hsMnRwZC9maXgtaW5saW5lLWZ1bmN0aW9ucy1lcnJvcnMtd2l0aC1nY2MtNS54LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMveGwydHBkL3hsMnRwZC9maXgtaW5saW5lLWZ1bmN0aW9ucy1lcnJvcnMtd2l0aC1nY2MtNS54LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3NWM5MTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy94bDJ0cGQveGwydHBkL2ZpeC1pbmxpbmUtZnVuY3Rpb25zLWVycm9ycy13aXRoLWdjYy01LngucGF0Y2gKQEAgLTAsMCArMSwxMzQgQEAKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworQmFja3BvcnQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20veGVsZXJhbmNlL3hsMnRwZC9jb21taXQvOTA5OGY2NDk1MGViMjJjZjA0OTA1OGQ0MGY2NDdiYWZkYjgyMjE3NAorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorRnJvbSA5MDk4ZjY0OTUwZWIyMmNmMDQ5MDU4ZDQwZjY0N2JhZmRiODIyMTc0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDIzIFNlcCAyMDE1IDEwOjQxOjA1ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBidWlsZCBlcnJvcnMgY2F1c2VkIGJ5IGlubGluZSBmdW5jdGlvbiB3aXRoIGdjYyA1CisKK0dDQyA1IGRlZmF1bHRzIHRvIC1zdGQ9Z251MTEgaW5zdGVhZCBvZiAtc3RkPWdudTg5LiBBbmQgLXN0ZD1nbnU4OQorZW1wbG95cyB0aGUgR05VODkgaW5saW5lIHNlbWFudGljcywgLXN0ZD1nbnUxMSB1c2VzIHRoZSBDOTkgaW5saW5lCitzZW1hbnRpY3MuCisKK0ZvciAnaW5saW5lJyBmdWN0aW9uLCBpdCBpcyBOT1QgZXhwb3J0ZWQgYnkgQzk5LiBTbyBlcnJvciBtZXNzYWdlcyBzdWNoIGFzOgorCit8IGNvbnRyb2wuYzoxNzE3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBjaGVja19jb250cm9sJworCitGb3IgdGhlc2UgZnVuY3Rpb25zIHdoaWNoIGlzIG5vdCByZWZlcnJlZCBieSBvdGhlciBjb21waWxlIHVuaXRzLCBtYWtlCit0aGVtICdzdGF0aWMgaW5saW5lJy4KKworRm9yICdleHRlcm4gaW5saW5lJyBmdW5jdGlvbiwgaXQgZmFpbHMgc3VjaCBhczoKKworfCBtaXNjLmg6Njg6MjA6IHdhcm5pbmc6IGlubGluZSBmdW5jdGlvbiAnc3dhcHMnIGRlY2xhcmVkIGJ1dCBuZXZlciBkZWZpbmVkCit8ICBleHRlcm4gaW5saW5lIHZvaWQgc3dhcHMgKHZvaWQgKiwgaW50KTsKK3wgICAgICAgICAgICAgICAgICAgICAgXgorCitCZWNhdXNlIGZ1bmN0aW9uIHN3YXBzKCkgaXMgcmVmZXJyZWQgYnkgb3RoZXIgY29tcGlsZSB1bml0cywgaXQgbXVzdCBiZQorZXhwb3J0ZWQuIFRoZSBzZW1hbnRpY3Mgb2YgJ2V4dGVybiBpbmxpbmUnIGFyZSBub3Qgc2FtZSBiZXR3ZWVuIEdOVTg5CithbmQgQzk5LCBzbyByZW1vdmUgJ2lubGluZScgYXR0cmlidXRlIGZvciBjb21wYXRpYmxlIHdpdGggR05VODkuCisKK1JlZjoKK2h0dHBzOi8vZ2NjLmdudS5vcmcvZ2NjLTUvcG9ydGluZ190by5odG1sCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgY29udHJvbC5jIHwgOCArKysrLS0tLQorIG1pc2MuYyAgICB8IDIgKy0KKyBtaXNjLmggICAgfCAyICstCisgbmV0d29yay5jIHwgNCArKy0tCisgNCBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb250cm9sLmMgYi9jb250cm9sLmMKK2luZGV4IGIyODkxYTkuLmM0YTM5YjUgMTAwNjQ0CistLS0gYS9jb250cm9sLmMKKysrKyBiL2NvbnRyb2wuYworQEAgLTExNDAsNyArMTE0MCw3IEBAIGludCBjb250cm9sX2ZpbmlzaCAoc3RydWN0IHR1bm5lbCAqdCwgc3RydWN0IGNhbGwgKmMpCisgICAgIHJldHVybiAwOworIH0KKyAKKy1pbmxpbmUgaW50IGNoZWNrX2NvbnRyb2wgKGNvbnN0IHN0cnVjdCBidWZmZXIgKmJ1Ziwgc3RydWN0IHR1bm5lbCAqdCwKKytzdGF0aWMgaW5saW5lIGludCBjaGVja19jb250cm9sIChjb25zdCBzdHJ1Y3QgYnVmZmVyICpidWYsIHN0cnVjdCB0dW5uZWwgKnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgY2FsbCAqYykKKyB7CisgICAgIC8qCitAQCAtMTI3Niw3ICsxMjc2LDcgQEAgaW5saW5lIGludCBjaGVja19jb250cm9sIChjb25zdCBzdHJ1Y3QgYnVmZmVyICpidWYsIHN0cnVjdCB0dW5uZWwgKnQsCisgICAgIHJldHVybiAwOworIH0KKyAKKy1pbmxpbmUgaW50IGNoZWNrX3BheWxvYWQgKHN0cnVjdCBidWZmZXIgKmJ1Ziwgc3RydWN0IHR1bm5lbCAqdCwKKytzdGF0aWMgaW5saW5lIGludCBjaGVja19wYXlsb2FkIChzdHJ1Y3QgYnVmZmVyICpidWYsIHN0cnVjdCB0dW5uZWwgKnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgY2FsbCAqYykKKyB7CisgICAgIC8qCitAQCAtMTM4Miw3ICsxMzgyLDcgQEAgaW5saW5lIGludCBjaGVja19wYXlsb2FkIChzdHJ1Y3QgYnVmZmVyICpidWYsIHN0cnVjdCB0dW5uZWwgKnQsCisgI2VuZGlmCisgICAgIHJldHVybiAwOworIH0KKy1pbmxpbmUgaW50IGV4cGFuZF9wYXlsb2FkIChzdHJ1Y3QgYnVmZmVyICpidWYsIHN0cnVjdCB0dW5uZWwgKnQsCisrc3RhdGljIGlubGluZSBpbnQgZXhwYW5kX3BheWxvYWQgKHN0cnVjdCBidWZmZXIgKmJ1Ziwgc3RydWN0IHR1bm5lbCAqdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgY2FsbCAqYykKKyB7CisgICAgIC8qCitAQCAtMTU2Miw3ICsxNTYyLDcgQEAgdm9pZCBzZW5kX3psYiAodm9pZCAqZGF0YSkKKyAgICAgdG9zcyAoYnVmKTsKKyB9CisgCistaW5saW5lIGludCB3cml0ZV9wYWNrZXQgKHN0cnVjdCBidWZmZXIgKmJ1Ziwgc3RydWN0IHR1bm5lbCAqdCwgc3RydWN0IGNhbGwgKmMsCisrc3RhdGljIGlubGluZSBpbnQgd3JpdGVfcGFja2V0IChzdHJ1Y3QgYnVmZmVyICpidWYsIHN0cnVjdCB0dW5uZWwgKnQsIHN0cnVjdCBjYWxsICpjLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY29udmVydCkKKyB7CisgICAgIC8qCitkaWZmIC0tZ2l0IGEvbWlzYy5jIGIvbWlzYy5jCitpbmRleCAzMDkyNDAxLi5hZjkwZGJmIDEwMDY0NAorLS0tIGEvbWlzYy5jCisrKysgYi9taXNjLmMKK0BAIC0xNzAsNyArMTcwLDcgQEAgdm9pZCBkb19wYWNrZXRfZHVtcCAoc3RydWN0IGJ1ZmZlciAqYnVmKQorICAgICBwcmludGYgKCJ9XG4iKTsKKyB9CisgCistaW5saW5lIHZvaWQgc3dhcHMgKHZvaWQgKmJ1Zl92LCBpbnQgbGVuKQorK3ZvaWQgc3dhcHMgKHZvaWQgKmJ1Zl92LCBpbnQgbGVuKQorIHsKKyAjaWZkZWYgX19hbHBoYQorICAgICAvKiBSZXZlcnNlIGJ5dGUgb3JkZXIgYWxwaGEgaXMgbGl0dGxlIGVuZGlhbiBzbyBsZXN0IHNhdmUgYSBzdGVwLgorZGlmZiAtLWdpdCBhL21pc2MuaCBiL21pc2MuaAoraW5kZXggYWFmZGM2Mi4uY2FhYjdhMSAxMDA2NDQKKy0tLSBhL21pc2MuaAorKysrIGIvbWlzYy5oCitAQCAtNjUsNyArNjUsNyBAQCBleHRlcm4gdm9pZCBsMnRwX2xvZyAoaW50IGxldmVsLCBjb25zdCBjaGFyICpmbXQsIC4uLik7CisgZXh0ZXJuIHN0cnVjdCBidWZmZXIgKm5ld19idWYgKGludCk7CisgZXh0ZXJuIHZvaWQgdWRwcHVzaF9oYW5kbGVyIChpbnQpOworIGV4dGVybiBpbnQgYWRkZmNzIChzdHJ1Y3QgYnVmZmVyICpidWYpOworLWV4dGVybiBpbmxpbmUgdm9pZCBzd2FwcyAodm9pZCAqLCBpbnQpOworK2V4dGVybiB2b2lkIHN3YXBzICh2b2lkICosIGludCk7CisgZXh0ZXJuIHZvaWQgZG9fcGFja2V0X2R1bXAgKHN0cnVjdCBidWZmZXIgKik7CisgZXh0ZXJuIHZvaWQgc3RhdHVzIChjb25zdCBjaGFyICpmbXQsIC4uLik7CisgZXh0ZXJuIHZvaWQgc3RhdHVzX2hhbmRsZXIgKGludCBzaWduYWwpOworZGlmZiAtLWdpdCBhL25ldHdvcmsuYyBiL25ldHdvcmsuYworaW5kZXggYjEyNjhjNi4uZDMyNGE3MSAxMDA2NDQKKy0tLSBhL25ldHdvcmsuYworKysrIGIvbmV0d29yay5jCitAQCAtMTM1LDcgKzEzNSw3IEBAIGludCBpbml0X25ldHdvcmsgKHZvaWQpCisgICAgIHJldHVybiAwOworIH0KKyAKKy1pbmxpbmUgdm9pZCBleHRyYWN0ICh2b2lkICpidWYsIGludCAqdHVubmVsLCBpbnQgKmNhbGwpCisrc3RhdGljIGlubGluZSB2b2lkIGV4dHJhY3QgKHZvaWQgKmJ1ZiwgaW50ICp0dW5uZWwsIGludCAqY2FsbCkKKyB7CisgICAgIC8qCisgICAgICAqIEV4dHJhY3QgdGhlIHR1bm5lbCBhbmQgY2FsbCAjJ3MsIGFuZCBmaXggdGhlIG9yZGVyIG9mIHRoZSAKK0BAIC0xNTUsNyArMTU1LDcgQEAgaW5saW5lIHZvaWQgZXh0cmFjdCAodm9pZCAqYnVmLCBpbnQgKnR1bm5lbCwgaW50ICpjYWxsKQorICAgICB9CisgfQorIAorLWlubGluZSB2b2lkIGZpeF9oZHIgKHZvaWQgKmJ1ZikKKytzdGF0aWMgaW5saW5lIHZvaWQgZml4X2hkciAodm9pZCAqYnVmKQorIHsKKyAgICAgLyoKKyAgICAgICogRml4IHRoZSBieXRlIG9yZGVyIG9mIHRoZSBoZWFkZXIKKy0tIAorMi42LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMveGwydHBkL3hsMnRwZF8xLjMuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3hsMnRwZC94bDJ0cGRfMS4zLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGYyZWM1MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3hsMnRwZC94bDJ0cGRfMS4zLjYuYmIKQEAgLTAsMCArMSw3IEBACityZXF1aXJlIHhsMnRwZC5pbmMKKworIyBUaGUgU1JDUkVWIGNvcnJlc3BvbmRzIHRvIHYxLjMuNi4KKyMgQWRkaW5nIHRhZz12MS4zLjYgdG8gdGhlIFNSQ19VUkkgd2lsbCBmb3JjZSBhY2Nlc3MgdG8gdGhlIHVwc3RyZWFtIHJlcG8uCisjCitTUkNSRVYgPSAiNTYxOWUxNzcxMDQ4ZTc0YjcyOTgwNGU4NjAyZjQwOWFmMGYzZmFlYSIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMveGwydHBkL3hsMnRwZF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy94bDJ0cGQveGwydHBkX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MmJjMzk4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMveGwydHBkL3hsMnRwZF9naXQuYmIKQEAgLTAsMCArMSw4IEBACityZXF1aXJlIHhsMnRwZC5pbmMKKworIyBUaGlzIGlzIHYxLjMuNiBwbHVzIHNvbWUgY29tbWl0cy4gIFRoZXJlIGlzIG5vIHRhZyBmb3IgdGhpcyBjb21taXQuCisjCitQViA9ICIxLjMuNitnaXQke1NSQ1BWfSIKKworU1JDUkVWID0gImE5NmIzNDU5NjI2MjJlYTU4NDkwOTI0MTMwNjc1ZGY2ZGIwNjJkMTEiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3plcm9jb25mL3plcm9jb25mL2NvbXBpbGVmaXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy96ZXJvY29uZi96ZXJvY29uZi9jb21waWxlZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyOGU1NzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy96ZXJvY29uZi96ZXJvY29uZi9jb21waWxlZml4LnBhdGNoCkBAIC0wLDAgKzEsMTkgQEAKK3wgemVyb2NvbmYuYzogSW4gZnVuY3Rpb24gJ21haW4nOgorfCB6ZXJvY29uZi5jOjE0NTogZXJyb3I6ICdQQVRIX01BWCcgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCisKK1JQIC0gNC85LzA5CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitJbmRleDogemVyb2NvbmYtMC45L3plcm9jb25mLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB6ZXJvY29uZi0wLjkub3JpZy96ZXJvY29uZi5jCTIwMDktMDktMDQgMTA6MDU6MjUuMDAwMDAwMDAwICswMTAwCisrKysgemVyb2NvbmYtMC45L3plcm9jb25mLmMJMjAwOS0wOS0wNCAxMDowNTo0Mi4wMDAwMDAwMDAgKzAxMDAKK0BAIC0zMyw2ICszMyw3IEBACisgI2luY2x1ZGUgPG5ldC9pZl9hcnAuaD4KKyAjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyAjaW5jbHVkZSA8c2lnbmFsLmg+CisrI2luY2x1ZGUgPGxpbWl0cy5oPgorIAorICNpbmNsdWRlICJkZWxheS5oIgorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvemVyb2NvbmYvemVyb2NvbmYvZGViaWFuLXplcm9jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvemVyb2NvbmYvemVyb2NvbmYvZGViaWFuLXplcm9jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjOWQxNWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy96ZXJvY29uZi96ZXJvY29uZi9kZWJpYW4temVyb2NvbmYKQEAgLTAsMCArMSw1MSBAQAorIyEvYmluL3NoCisKK2lmIFsgISAteCAvdXNyL3NiaW4vemVyb2NvbmYgXTsgdGhlbgorICAgIGV4aXQgMAorZmkKKworIyBJUHY0IGxpbmstbG9jYWwgYWRkcmVzc2VzICh6ZXJvY29uZikgYXJlCisjIG9ubHkgYXBwbGljYWJsZSBvbiB0aGUgJ2luZXQnIGFkZHJlc3MgZmFtaWx5CitbICJYJEFERFJGQU0iICE9ICJYaW5ldCIgXSAmJiBleGl0IDAKKworIyBIb3dldmVyIHRoZXJlIGFyZSBzb21lIG1ldGhvZHMgd2hlcmUgaXQgZG9lc24ndAorIyBtYWtlIGFueSBzZW5zZSB0byBjb25maWd1cmUgYW4gSVB2NExMIGFkZHJlc3MKKworIyBub3Qgb24gbG9vcGJhY2sKK1sgIlgkTUVUSE9EIiA9ICJYbG9vcGJhY2siIF0gJiYgZXhpdCAwCisKKyMgbm90IG9uIHBwcCBvciB3dmRpYWwgZWl0aGVyCitbICJYJE1FVEhPRCIgPSAiWHBwcCIgXSAmJiBleGl0IDAKK1sgIlgkTUVUSE9EIiA9ICJYd3ZkaWFsIiBdICYmIGV4aXQgMAorCisjIFRoZSBhZG1pbmlzdHJhdG9yIG1heSBoYXZlIGJsYWNrbGlzdGVkIGludGVyZmFjZXMKKyMgb3Igb25seSB3YW50IHplcm9jb25mIGluIGEgZmFsbGJhY2sgc2l0dWF0aW9uCitbIC1mIC9ldGMvZGVmYXVsdC96ZXJvY29uZiBdICYmCisgICAgLiAvZXRjL2RlZmF1bHQvemVyb2NvbmYKKworWyAtbiAiJERJU0FCTEUiIF0gJiYgZXhpdCAwCisKK2ZvciBCTEFDSyBpbiAkSUZCTEFDS0xJU1Q7IGRvCisgICAgY2FzZSAkSUZBQ0UgaW4KKwkkQkxBQ0spCisJZXhpdCAwCisJOzsKKyAgICBlc2FjCitkb25lCisKKyMgc2hvdWxkIHdlIG9ubHkgYWxsb2NhdGUgYW4gYWRkcmVzcyBpZiB3ZSBkbyBub3QgYWxyZWFkeSBoYXZlIG9uZT8KK2lmIFsgLW4gIiRGQUxMQkFDSyIgXTsgdGhlbgorICAgIC9zYmluL2lwIGFkZHIgc2hvdyAkSUZBQ0Ugc2NvcGUgZ2xvYmFsIHwgZ3JlcCAtcSAiaW5ldCIKKyAgICBJUD0kPworICAgIGlmIFsgJElQIC1lcSAwIF07IHRoZW4KKyAgICAgICAgL3NiaW4vaXAgcm91dGUgYWRkIDE2OS4yNTQuMC4wLzE2IGRldiAkSUZBQ0UKKyAgICAgICAgZXhpdCAwCisgICAgZmkKK2ZpCisKKyMgb3RoZXJ3aXNlLCBydW4gaWYgd2UgYXJlbid0IGFscmVhZHkgZ29pbmcKK2lmIFsgISAtciAvdmFyL3J1bi96ZXJvY29uZi4kSUZBQ0UucGlkIF07IHRoZW4KKwkvdXNyL3NiaW4vemVyb2NvbmYgLWkgJElGQUNFCitmaQorCitleGl0IDAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3plcm9jb25mL3plcm9jb25mL3plcm9jb25mLWRlZmF1bHQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy96ZXJvY29uZi96ZXJvY29uZi96ZXJvY29uZi1kZWZhdWx0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjMDdiMjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy96ZXJvY29uZi96ZXJvY29uZi96ZXJvY29uZi1kZWZhdWx0CkBAIC0wLDAgKzEsMTcgQEAKKyMgRGVmYXVsdCBmb3IgemVyb2NvbmYKKworIyBkaXNhYmxlIHplcm9jb25mCisjIElmIHlvdSB3YW50IHRvIGRpc2FibGUgemVyb2NvbmYgY29tcGxldGVseSwgdW5jb21tZW50IHRoZSBmb2xsb3dpbmcgbGluZQorIyB0aGlzIG1heSBiZSB1c2VmdWwgaWYgeW91IGFyZSBkZWJ1Z2dpbmcgemVyb2NvbmYgb3Igc3RhcnRpbmcgaXQgbWFudWFsbHkKKyNESVNBQkxFPXllcworCisjIGJsYWNrLWxpc3RlZCBpbnRlcmZhY2VzCisjIEludGVyZmFjZXMgd2hpY2ggeW91IG5ldmVyIHdpc2ggdG8gaGF2ZSB6ZXJvY29uZiBydW4gb24gc2hvdWxkCisjIGJlIGxpc3RlZCBoZXJlLiBlLmcuICJldGgyIHdsYW4xIiBpbiBhIHNwYWNlIHNlcGVyYXRlZCBzdHJpbmcKK0lGQkxBQ0tMSVNUPSIiCisKKyMgZmFsbGJhY2sgb25seQorIyBJZiB5b3Ugd291bGQgb25seSBsaWtlIGEgbGluay1sb2NhbCBhZGRyZXNzIGlmIHlvdSB3ZXJlIHVuYWJsZSB0bworIyBvYnRhaW4gYW4gYWRkcmVzcyB2aWEgREhDUCB0aGVuIHVuY29tbWVudCB0aGUgZm9sbG93aW5nIGxpbmUKKyNGQUxMQkFDSz15ZXMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvemVyb2NvbmYvemVyb2NvbmZfMC45LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvemVyb2NvbmYvemVyb2NvbmZfMC45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzMDcyNjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy96ZXJvY29uZi96ZXJvY29uZl8wLjkuYmIKQEAgLTAsMCArMSwzNCBAQAorU1VNTUFSWSA9ICJJUHY0IGxpbmstbG9jYWwgYWRkcmVzcyBhbGxvY2F0b3IiCitERVNDUklQVElPTiA9ICJaZXJvY29uZiBpcyBhIHByb2dyYW0gdGhhdCBpcyB1c2VkIHRvIGNsYWltIElQdjQgXAorbGluay1sb2NhbCBhZGRyZXNzZXMuIElQdjQgbGluay1sb2NhbCBhZGRyZXNzZXMgYXJlIHVzZWZ1bCB3aGVuIHNldHRpbmcgXAordXAgYWQtaG9jIG5ldHdvcmtpbmcgYmV0d2VlbiBkZXZpY2VzIHdpdGhvdXQgdGhlIGludm9sdmVtZW50IG9mIGEgZWl0aGVyIFwKK2EgREhDUCBzZXJ2ZXIgb3IgbmV0d29yayBhZG1pbmlzdHJhdG9yLiBcCitUaGVzZSBhZGRyZXNzZXMgYXJlIGFsbG9jYXRlZCBmcm9tIHRoZSAxNjkuMjU0LjAuMC8xNiBhZGRyZXNzIHJhbmdlIGFuZCBcCithcmUgbm9ybWFsbHkgYXR0YWNoZWQgdG8gZWFjaCBFdGhlcm5ldCBkZXZpY2UgaW4geW91ciBjb21wdXRlci4gXAorQWRkcmVzc2VzIGFyZSBhc3NpZ25lZCByYW5kb21seSBieSBlYWNoIGhvc3QgYW5kLCBpbiBjYXNlIG9mIGNvbGxpc2lvbiwgXAorYm90aCBob3N0cyAoYXJlIHN1cHBvc2VkIHRvKSByZW51bWJlci4iCitBVVRIT1IgPSAiQW5hbmQgS3VtcmlhIDx3aWxkZmlyZUBwcm9nc29jLnV0cy5lZHUuYXU+IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5wcm9nc29jLm9yZy9+d2lsZGZpcmUvemVyb2NvbmYvIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00MzI1YWZkMzk2ZmViY2I2NTljMzZiNDk1MzMxMzVkNCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly96ZXJvY29uZi5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MTM7bWQ1PWE1YmFkYTk2ZTFlMzRiMDhlYjc0NDZiMjhlMjYzMGIyIgorU0VDVElPTiA9ICJuZXQiCisKK1BSID0gInIxIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cucHJvZ3NvYy5vcmcvfndpbGRmaXJlL3plcm9jb25mL2Rvd25sb2FkLyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vY29tcGlsZWZpeC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly96ZXJvY29uZi1kZWZhdWx0IFwKKyAgICAgICAgICAgZmlsZTovL2RlYmlhbi16ZXJvY29uZiIKKworU1JDX1VSSVttZDVzdW1dID0gImJkYWZiMTZiMDA4ZWJiNTYzM2U0ZTU4MWY3NzgyMWQyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE4Yzc0ZGYxMjc3NTNlMjMxMGZhMWUwNzJmM2M5Y2E0NGE0MDRiYjBiYmNlOWNmZWM3YTg0YzZkZmY4YmVjN2IiCisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L25ldHdvcmsvaWYtdXAuZAorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdAorICAgIGluc3RhbGwgLWMgLW0gNzU1ICR7U30vemVyb2NvbmYgJHtEfSR7c2JpbmRpcn0vemVyb2NvbmYKKyAgICBpbnN0YWxsIC1jIC1tIDc1NSAke1dPUktESVJ9L2RlYmlhbi16ZXJvY29uZiAke0R9JHtzeXNjb25mZGlyfS9uZXR3b3JrL2lmLXVwLmQvemVyb2NvbmYKKyAgICBpbnN0YWxsIC1jICR7V09SS0RJUn0vemVyb2NvbmYtZGVmYXVsdCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3plcm9jb25mCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYW9ldG9vbHMvYW9ldG9vbHMvYW9lLXN0YXQtbm8tYmFzaGlzbS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9hb2V0b29scy9hb2V0b29scy9hb2Utc3RhdC1uby1iYXNoaXNtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjODliN2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYW9ldG9vbHMvYW9ldG9vbHMvYW9lLXN0YXQtbm8tYmFzaGlzbS5wYXRjaApAQCAtMCwwICsxLDI3IEBACitGcm9tIDM4Yzk3ZTU5MGZkZTE5MjEzZjZiYTMxZTcyZDFjMjI3ZGI4Njk0MjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFN1biwgMzEgQXVnIDIwMTQgMjI6Mjg6MzggLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gYW9lLXN0YXQuaW46IG5vIGJhc2hpc20KKworVGhlIGNoZWNrYmFzaGlzbXMgc2hvd3MgdGhlcmUgaXMgbm8gYmFzaGlzbSwgc28gdXNlIC9iaW4vc2guCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIGFvZS1zdGF0LmluIHwgICAgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvYW9lLXN0YXQuaW4gYi9hb2Utc3RhdC5pbgoraW5kZXggNTBlNmFjNi4uMGMxZDZmNSAxMDA3NTUKKy0tLSBhL2FvZS1zdGF0LmluCisrKysgYi9hb2Utc3RhdC5pbgorQEAgLTEsNCArMSw0IEBACistIyEgL2Jpbi9iYXNoCisrIyEgL2Jpbi9zaAorICMgYW9lLXN0YXQgLSBjb2xsYXRlIGFuZCBwcmVzZW50IGluZm9ybWF0aW9uIGFib3V0IEFvRSBzdG9yYWdlCisgIyBDb3B5cmlnaHQgMjAxMiwgQ09SQUlELCBJbmMuLCBhbmQgbGljZW5zZWQgdW5kZXIgR1BMIHYuMi4KKyAKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYW9ldG9vbHMvYW9ldG9vbHNfMzYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYW9ldG9vbHMvYW9ldG9vbHNfMzYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzM4MmE3MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9hb2V0b29scy9hb2V0b29sc18zNi5iYgpAQCAtMCwwICsxLDI1IEBACitTVU1NQVJZID0gIkFUQSBvdmVyIEV0aGVybmV0IFRvb2xzIgorREVTQ1JJUFRJT04gPSAiIFwKK1RoZSBhb2V0b29scyBhcmUgcHJvZ3JhbXMgZm9yIHVzZXJzIG9mIHRoZSBBVEEgb3ZlciBFdGhlcm5ldCAoQW9FKW5ldHdvcmsgXAorc3RvcmFnZSBwcm90b2NvbCwgYSBzaW1wbGUgcHJvdG9jb2wgZm9yIHVzaW5nIHN0b3JhZ2Ugb3ZlciBhbmV0aGVybmV0IExBTi4gXAorVGhlIHZibGFkZSBwcm9ncmFtIChzdG9yYWdlIHRhcmdldCkgZXhwb3J0cyBhIGJsb2NrZGV2aWNlIHVzaW5nIEFvRS4gXAorIgorSE9NRVBBR0UgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy8ke0JQTn0iCitTRUNUSU9OID0gImFkbWluIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorUlJFQ09NTUVORFNfJHtQTn0gPSAia2VybmVsLW1vZHVsZS1hb2UiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy8ke0JQTn0vZmlsZXMvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vYW9lLXN0YXQtbm8tYmFzaGlzbS5wYXRjaCBcCisgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJiZmYzMGRhYTk4OGE2NWY2OWQ0NDQ4Y2U0NzI2YTZkYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmYjVlMmNkMGRlNzY0NGNjMWVjMDRlZTNhZWI0MzIxMWNmNzQ0NWEwYzE5ZTEzZDZiM2VkNWE4ZmJkZjIxNWZmIgorCisjIEVYVFJBX09FTUFLRSBpcyB0eXBpY2FsbHk6IC1lIE1BS0VGTEFHUz0KKyMgdGhlIC1lIGNhdXNlcyBwcm9ibGVtcyBhcyBDRkxBR1MgaXMgbW9kaWZpZWQgaW4gdGhlIE1ha2VmaWxlLgorRVhUUkFfT0VNQUtFID0gIiIKKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIERFU1RESVI9JHtEfSBpbnN0YWxsCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYXJwdGFibGVzL2FycHRhYmxlcy0wLjAuMy00L2FycHRhYmxlcy1hcnB0LWdldC10YXJnZXQtZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2FycHRhYmxlcy9hcnB0YWJsZXMtMC4wLjMtNC9hcnB0YWJsZXMtYXJwdC1nZXQtdGFyZ2V0LWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODc1MzQ0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2FycHRhYmxlcy9hcnB0YWJsZXMtMC4wLjMtNC9hcnB0YWJsZXMtYXJwdC1nZXQtdGFyZ2V0LWZpeC5wYXRjaApAQCAtMCwwICsxLDMwIEBACithcnB0YWJsZXM6IGZpeCB0aGUgcmVkZWZpbml0aW9uIG9mICdhcnB0X2dldF90YXJnZXQnCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitUaGlzIGZ1bmN0aW9uIGlzIGFscmVhZHkgZGVmaW5lZCBhcyBhIHN0YXRpYyBpbmxpbmUgZnVuY3Rpb24gaW4KK2luY2x1ZGUvbGludXgvbmV0ZmlsdGVyX2FycC9hcnBfdGFibGVzLmgsIG9uY2UgR0NDIHVzZXMgLU8wLCB0aGUKK2lubGluZSB3aWxsIG5vdCB3b3JrLCBhbmQgdGhlIHJlZGVmaW5pdGlvbiBlcnJvciB3aWxsIGhhcHBlbgorCitTaWduZWQtb2ZmLWJ5OiBBd3MgSXNtYWlsIDxhd3MuaXNtYWlsQHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBSb3kuTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CisKK2RpZmYgLS1naXQgYS9saWJhcnB0Yy9saWJhcnB0Y19pbmNsLmMgYi9saWJhcnB0Yy9saWJhcnB0Y19pbmNsLmMKK2luZGV4IDM1NzM2ZGIuLmFkZGQzZjkgMTAwNjQ0CistLS0gYS9saWJhcnB0Yy9saWJhcnB0Y19pbmNsLmMKKysrKyBiL2xpYmFycHRjL2xpYmFycHRjX2luY2wuYworQEAgLTExLDE0ICsxMSw2IEBACisgLyogKEMpMTk5OSBQYXVsIGBgUnVzdHknJyBSdXNzZWxsIC0gUGxhY2VkIHVuZGVyIHRoZSBHTlUgR1BMIChTZWUKKyAgICBDT1BZSU5HIGZvciBkZXRhaWxzKS4gKi8KKyAKKy0jaWZuZGVmIF9fT1BUSU1JWkVfXworLVNUUlVDVF9FTlRSWV9UQVJHRVQgKgorLUdFVF9UQVJHRVQoU1RSVUNUX0VOVFJZICplKQorLXsKKy0JcmV0dXJuICh2b2lkICopZSArIGUtPnRhcmdldF9vZmZzZXQ7CistfQorLSNlbmRpZgorLQorIHN0YXRpYyBpbnQgc29ja2ZkID0gLTE7Cisgc3RhdGljIHZvaWQgKmFycHRjX2ZuID0gTlVMTDsKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9hcnB0YWJsZXMvYXJwdGFibGVzLTAuMC4zLTQvYXJwdGFibGVzLWNvbXBpbGUtaW5zdGFsbC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9hcnB0YWJsZXMvYXJwdGFibGVzLTAuMC4zLTQvYXJwdGFibGVzLWNvbXBpbGUtaW5zdGFsbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MGU5ODA0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2FycHRhYmxlcy9hcnB0YWJsZXMtMC4wLjMtNC9hcnB0YWJsZXMtY29tcGlsZS1pbnN0YWxsLnBhdGNoCkBAIC0wLDAgKzEsNjEgQEAKK0luZGV4OiBhcnB0YWJsZXMtdjAuMC4zLTQvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhcnB0YWJsZXMtdjAuMC4zLTQub3JpZy9NYWtlZmlsZQkyMDEwLTAzLTA4IDE4OjQ5OjI4LjAwMDAwMDAwMCArMDMwMAorKysrIGFycHRhYmxlcy12MC4wLjMtNC9NYWtlZmlsZQkyMDEwLTAzLTIyIDE1OjUyOjU2LjAwMDAwMDAwMCArMDMwMAorQEAgLTYsMTIgKzYsMTEgQEAKKyBMSUJESVI6PSQoUFJFRklYKS9saWIKKyBCSU5ESVI6PSQoUFJFRklYKS9zYmluCisgTUFORElSOj0kKFBSRUZJWCkvbWFuCistSU5JVERJUjo9L2V0Yy9yYy5kL2luaXQuZAorK0lOSVRESVI6PS9ldGMvaW5pdC5kCisgU1lTQ09ORklHRElSOj0vZXRjL3N5c2NvbmZpZworIERFU1RESVI6PQorIAorLUNPUFRfRkxBR1M6PS1PMgorLUNGTEFHUzo9JChDT1BUX0ZMQUdTKSAtV2FsbCAtV3VudXNlZCAtSSQoS0VSTkVMX0RJUikvaW5jbHVkZS8gLUlpbmNsdWRlLyAtREFSUFRBQkxFU19WRVJTSU9OPVwiJChBUlBUQUJMRVNfVkVSU0lPTilcIiAjLWcgLURERUJVRyAjLXBnICMgLURBUlBUQ19ERUJVRworK0FSUENGTEFHUzo9LVdhbGwgLVd1bnVzZWQgLUkkKEtFUk5FTF9ESVIpL2luY2x1ZGUvIC1JaW5jbHVkZS8gLURBUlBUQUJMRVNfVkVSU0lPTj1cIiQoQVJQVEFCTEVTX1ZFUlNJT04pXCIKKyAKKyBpZm5kZWYgQVJQVF9MSUJESVIKKyBBUlBUX0xJQkRJUjo9JChMSUJESVIpL2FycHRhYmxlcworQEAgLTIyLDE2ICsyMSwxNiBAQAorIGFsbDogYXJwdGFibGVzCisgCisgYXJwdGFibGVzLm86IGFycHRhYmxlcy5jCistCSQoQ0MpICQoQ0ZMQUdTKSAtYyAtbyAkQCAkPAorKwkkKENDKSAkKENGTEFHUykgJChBUlBDRkxBR1MpIC1jIC1vICRAICQ8CisgCisgYXJwdGFibGVzLXN0YW5kYWxvbmUubzogYXJwdGFibGVzLXN0YW5kYWxvbmUuYworLQkkKENDKSAkKENGTEFHUykgLWMgLW8gJEAgJDwKKysJJChDQykgJChDRkxBR1MpICQoQVJQQ0ZMQUdTKSAtYyAtbyAkQCAkPAorIAorIGxpYmFycHRjL2xpYmFycHRjLm86IGxpYmFycHRjL2xpYmFycHRjLmMgbGliYXJwdGMvbGliYXJwdGNfaW5jbC5jCistCSQoQ0MpICQoQ0ZMQUdTKSAtYyAtbyAkQCAkPAorKwkkKENDKSAkKENGTEFHUykgJChBUlBDRkxBR1MpIC1jIC1vICRAICQ8CisgCisgYXJwdGFibGVzOiBhcnB0YWJsZXMtc3RhbmRhbG9uZS5vIGFycHRhYmxlcy5vIGxpYmFycHRjL2xpYmFycHRjLm8gJChFWFRfT0JKUykKKy0JJChDQykgJChDRkxBR1MpIC1vICRAICReCisrCSQoQ0MpICQoTERGTEFHUykgJChDRkxBR1MpICQoQVJQQ0ZMQUdTKSAtbyAkQCAkXgorIAorICQoREVTVERJUikkKE1BTkRJUikvbWFuOC9hcnB0YWJsZXMuODogYXJwdGFibGVzLjgKKyAJbWtkaXIgLXAgJChARCkKK0BAIC01MCw2ICs0OSw3IEBACisgCWNhdCBhcnB0YWJsZXMtcmVzdG9yZSB8IHNlZCAncy9fX0VYRUNfUEFUSF9fLyQodG1wMSkvZycgPiBhcnB0YWJsZXMtcmVzdG9yZV8KKyAJaW5zdGFsbCAtbSAwNzU1IC1vIHJvb3QgLWcgcm9vdCBhcnB0YWJsZXMtcmVzdG9yZV8gJChERVNURElSKSQoQklORElSKS9hcnB0YWJsZXMtcmVzdG9yZQorIAljYXQgYXJwdGFibGVzLnN5c3YgfCBzZWQgJ3MvX19FWEVDX1BBVEhfXy8kKHRtcDEpL2cnIHwgc2VkICdzL19fU1lTQ09ORklHX18vJCh0bXAyKS9nJyA+IGFycHRhYmxlcy5zeXN2XworKwlpbnN0YWxsIC1kICQoREVTVERJUikkKElOSVRESVIpCisgCWlmIHRlc3QgLWQgJChERVNURElSKSQoSU5JVERJUik7IHRoZW4gaW5zdGFsbCAtbSAwNzU1IC1vIHJvb3QgLWcgcm9vdCBhcnB0YWJsZXMuc3lzdl8gJChERVNURElSKSQoSU5JVERJUikvYXJwdGFibGVzOyBmaQorIAlybSAtZiBhcnB0YWJsZXMtc2F2ZV8gYXJwdGFibGVzLXJlc3RvcmVfIGFycHRhYmxlcy5zeXN2XworIAorSW5kZXg6IGFycHRhYmxlcy12MC4wLjMtNC9leHRlbnNpb25zL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYXJwdGFibGVzLXYwLjAuMy00Lm9yaWcvZXh0ZW5zaW9ucy9NYWtlZmlsZQkyMDEwLTAzLTA4IDE4OjQ5OjI4LjAwMDAwMDAwMCArMDMwMAorKysrIGFycHRhYmxlcy12MC4wLjMtNC9leHRlbnNpb25zL01ha2VmaWxlCTIwMTAtMDMtMjIgMTU6NTI6MzguMDAwMDAwMDAwICswMzAwCitAQCAtNCw0ICs0LDcgQEAKKyBFWFRfT0JKUys9JChmb3JlYWNoIFQsJChFWFRfRlVOQyksIGV4dGVuc2lvbnMvYXJwdF8kKFQpLm8pCisgCisgZXh0ZW5zaW9ucy9lYnRfJS5vOiBleHRlbnNpb25zL2FycHRfJS5jIGluY2x1ZGUvYXJwdGFibGVzLmggaW5jbHVkZS9hcnB0YWJsZXNfY29tbW9uLmgKKy0JJChDQykgJChDRkxBR1MpICQoUFJPR1NQRUNTKSAtYyAtbyAkQCAkPAorKwkkKENDKSAkKENGTEFHUykgJChBUlBDRkxBR1MpICQoUFJPR1NQRUNTKSAtYyAtbyAkQCAkPAorKworK2V4dGVuc2lvbnMvYXJwdF8lLm86IGV4dGVuc2lvbnMvYXJwdF8lLmMgaW5jbHVkZS9hcnB0YWJsZXMuaCBpbmNsdWRlL2FycHRhYmxlc19jb21tb24uaAorKwkkKENDKSAkKENGTEFHUykgJChBUlBDRkxBR1MpICQoUFJPR1NQRUNTKSAtYyAtbyAkQCAkPApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2FycHRhYmxlcy9hcnB0YWJsZXMtMC4wLjMtNC9hcnB0YWJsZXMtaW5pdC1idXN5Ym94LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2FycHRhYmxlcy9hcnB0YWJsZXMtMC4wLjMtNC9hcnB0YWJsZXMtaW5pdC1idXN5Ym94LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0OTU2YzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYXJwdGFibGVzL2FycHRhYmxlcy0wLjAuMy00L2FycHRhYmxlcy1pbml0LWJ1c3lib3gucGF0Y2gKQEAgLTAsMCArMSw3NyBAQAorSW5kZXg6IGFycHRhYmxlcy12MC4wLjMtNC9hcnB0YWJsZXMuc3lzdgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGFycHRhYmxlcy12MC4wLjMtNC5vcmlnL2FycHRhYmxlcy5zeXN2CTIwMTAtMDMtMjIgMTY6Mjg6MDMuMDAwMDAwMDAwICswMzAwCisrKysgYXJwdGFibGVzLXYwLjAuMy00L2FycHRhYmxlcy5zeXN2CTIwMTAtMDMtMjIgMTY6Mjc6NTEuMDAwMDAwMDAwICswMzAwCitAQCAtMTIsMTAgKzEyLDEwIEBACisgIyBjb25maWc6IF9fU1lTQ09ORklHX18vYXJwdGFibGVzCisgCisgc291cmNlIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworLXNvdXJjZSAvZXRjL3N5c2NvbmZpZy9uZXR3b3JrCisrIyBzb3VyY2UgL2V0Yy9zeXNjb25maWcvbmV0d29yaworIAorICMgQ2hlY2sgdGhhdCBuZXR3b3JraW5nIGlzIHVwLgorLVsgJHtORVRXT1JLSU5HfSA9ICJubyIgXSAmJiBleGl0IDAKKysjIFsgJHtORVRXT1JLSU5HfSA9ICJubyIgXSAmJiBleGl0IDAKKyAKKyBbIC14IF9fRVhFQ19QQVRIX18vYXJwdGFibGVzIF0gfHwgZXhpdCAxCisgWyAteCBfX0VYRUNfUEFUSF9fL2FycHRhYmxlcy1zYXZlIF0gfHwgZXhpdCAxCitAQCAtMjgsMzIgKzI4LDMwIEBACisgZGVzYz0iQXJwIGZpbHRlcmluZyIKKyAKKyBzdGFydCgpIHsKKy0JZWNobyAtbiAkIlN0YXJ0aW5nICRkZXNjICgkcHJvZyk6ICIKKysJZWNobyAtbiAiU3RhcnRpbmcgJGRlc2MgKCRwcm9nKTogIgorIAlfX0VYRUNfUEFUSF9fL2FycHRhYmxlcy1yZXN0b3JlIDwgX19TWVNDT05GSUdfXy9hcnB0YWJsZXMgfHwgUkVUVkFMPTEKKyAKKyAJaWYgWyAkUkVUVkFMIC1lcSAwIF07IHRoZW4KKy0JCXN1Y2Nlc3MgIiRwcm9nIHN0YXJ0dXAiCistCQlybSAtZiAvdmFyL2xvY2svc3Vic3lzLyRwcm9nCisrCQllY2hvICIkcHJvZyBvayIKKysJCXRvdWNoIC92YXIvbG9jay9zdWJzeXMvJHByb2cKKyAJZWxzZQorLQkJZmFpbHVyZSAiJHByb2cgc3RhcnR1cCIKKysJCWVjaG8gIiRwcm9nIGZhaWxlZCIKKyAJZmkKKyAKKy0JZWNobworIAlyZXR1cm4gJFJFVFZBTAorIH0KKyAKKyBzdG9wKCkgeworLQllY2hvIC1uICQiU3RvcHBpbmcgJGRlc2MgKCRwcm9nKTogIgorKwllY2hvIC1uICJTdG9wcGluZyAkZGVzYyAoJHByb2cpOiAiCisgCV9fRVhFQ19QQVRIX18vYXJwdGFibGVzLXJlc3RvcmUgPCAvZGV2L251bGwgfHwgUkVUVkFMPTEKKyAKKyAJaWYgWyAkUkVUVkFMIC1lcSAwIF07IHRoZW4KKy0JCXN1Y2Nlc3MgIiRwcm9nIHNodXRkb3duIgorLQkJcm0gLWYgJXtfbG9jYWxzdGF0ZWRpcn0vbG9jay9zdWJzeXMvJHByb2cKKysJCWVjaG8gIiRwcm9nIHN0b3BwZWQiCisrCQlybSAtZiAvdmFyL2xvY2svc3Vic3lzLyRwcm9nCisgCWVsc2UKKy0JCWZhaWx1cmUgIiRwcm9nIHNodXRkb3duIgorKwkJZWNobyAiJHByb2cgZmFpbGVkIHRvIHN0b3AiCisgCWZpCisgCistCWVjaG8KKyAJcmV0dXJuICRSRVRWQUwKKyB9CisgCitAQCAtNjMsMTUgKzYxLDE0IEBACisgfQorIAorIHNhdmUoKSB7CistCWVjaG8gLW4gJCJTYXZpbmcgJGRlc2MgKCRwcm9nKTogIgorKwllY2hvIC1uICJTYXZpbmcgJGRlc2MgKCRwcm9nKTogIgorIAlfX0VYRUNfUEFUSF9fL2FycHRhYmxlcy1zYXZlID4gX19TWVNDT05GSUdfXy9hcnB0YWJsZXMgfHwgUkVUVkFMPTEKKyAKKyAJaWYgWyAkUkVUVkFMIC1lcSAwIF07IHRoZW4KKy0JCXN1Y2Nlc3MgIiRwcm9nIHNhdmVkIgorKwkJZWNobyAiJHByb2cgc2F2ZWQiCisgCWVsc2UKKy0JCWZhaWx1cmUgIiRwcm9nIHNhdmVkIgorKwkJZWNobyAiJHByb2cgaXMgbm90IHNhdmVkIgorIAlmaQorLQllY2hvCisgfQorIAorIGNhc2UgIiQxIiBpbgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2FycHRhYmxlcy9hcnB0YWJsZXMtMC4wLjMtNC9hcnB0YWJsZXMtcmVtb3ZlLWJhc2hpc20ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYXJwdGFibGVzL2FycHRhYmxlcy0wLjAuMy00L2FycHRhYmxlcy1yZW1vdmUtYmFzaGlzbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMzMyNjU4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2FycHRhYmxlcy9hcnB0YWJsZXMtMC4wLjMtNC9hcnB0YWJsZXMtcmVtb3ZlLWJhc2hpc20ucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorRnJvbSBjZDMxMmJjMGUzNjg2NDA0NDI4ODc4ZDIzYjg4ODhjYmEwOWEyMGUxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBUaHUsIDE4IFNlcCAyMDE0IDE5OjQ2OjU4IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIGFycHRhYmxlcy5zeXN2OiByZW1vdmUgYmFzaGlzbQorCitVc2UgIi4iIHRvIHJlcGxhY2Ugb2YgInNvdXJjZSIsIGFuZCBjaGFuZ2UgL2Jpbi9iYXNoIHRvIC9iaW4vc2gsIHRoZQorZWNobyAkImZvbyIgd29ya3Mgd2VsbCBpbiBidXN5Ym94LgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBhcnB0YWJsZXMuc3lzdiB8ICAgIDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9hcnB0YWJsZXMuc3lzdiBiL2FycHRhYmxlcy5zeXN2CitpbmRleCA3YTkwYmQyLi43NzEwMzc2IDEwMDY0NAorLS0tIGEvYXJwdGFibGVzLnN5c3YKKysrKyBiL2FycHRhYmxlcy5zeXN2CitAQCAtMSw0ICsxLDQgQEAKKy0jIS9iaW4vYmFzaAorKyMhL2Jpbi9zaAorICMKKyAjIGluaXQgc2NyaXB0IGZvciBhcnB0YWJsZXMKKyAjCitAQCAtMTEsNyArMTEsNyBAQAorICMKKyAjIGNvbmZpZzogX19TWVNDT05GSUdfXy9hcnB0YWJsZXMKKyAKKy1zb3VyY2UgL2V0Yy9pbml0LmQvZnVuY3Rpb25zCisrLiAvZXRjL2luaXQuZC9mdW5jdGlvbnMKKyAjIHNvdXJjZSAvZXRjL3N5c2NvbmZpZy9uZXR3b3JrCisgCisgIyBDaGVjayB0aGF0IG5ldHdvcmtpbmcgaXMgdXAuCistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2FycHRhYmxlcy9hcnB0YWJsZXNfMC4wLjMtNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9hcnB0YWJsZXMvYXJwdGFibGVzXzAuMC4zLTQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmUyYWM2NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9hcnB0YWJsZXMvYXJwdGFibGVzXzAuMC4zLTQuYmIKQEAgLTAsMCArMSwzMyBAQAorU1VNTUFSWSA9ICJBZG1pbmlzdHJhdGlvbiB0b29sIGZvciBhcnAgcGFja2V0IGZpbHRlcmluZyIKK0xJQ0VOU0UgPSAiR1BMLTIuMCIKK1NFQ1RJT04gPSAibmV0IgorCitQUiA9ICJyMiIKKworUkRFUEVORFNfJHtQTn0gKz0gInBlcmwiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L21ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzL0dQTC0yLjA7bWQ1PTgwMWY4MDk4MGQxNzFkZDY0MjU2MTA4MzNhMjJkYmU2IgorU1JDX1VSSSA9ICIgXAorICAgICR7U09VUkNFRk9SR0VfTUlSUk9SfS9lYnRhYmxlcy9hcnB0YWJsZXMtdiR7UFZ9LnRhci5nejtuYW1lPWFycHRhYmxlcyBcCisgICAgZmlsZTovL2FycHRhYmxlcy1jb21waWxlLWluc3RhbGwucGF0Y2ggXAorICAgIGZpbGU6Ly9hcnB0YWJsZXMtaW5pdC1idXN5Ym94LnBhdGNoIFwKKyAgICBmaWxlOi8vYXJwdGFibGVzLWFycHQtZ2V0LXRhcmdldC1maXgucGF0Y2ggXAorICAgIGZpbGU6Ly9hcnB0YWJsZXMtcmVtb3ZlLWJhc2hpc20ucGF0Y2ggXAorIgorU1JDX1VSSVthcnB0YWJsZXMubWQ1c3VtXSA9ICIxZDRhYjA1NzYxZjA2M2IwNzUxNjQ1ZDhmMmI4ZjhlNSIKK1NSQ19VUklbYXJwdGFibGVzLnNoYTI1NnN1bV0gPSAiZTUyOWZkNDY1YzY3ZDY5YWQzMzUyOTlhMDQzNTE2ZTZiMzhjZGNkMzM3YTVlZDIxNzE4NDEzZTk2MDczZjkyOCIKKworUyA9ICIke1dPUktESVJ9L2FycHRhYmxlcy12JHtQVn0iCisKK2RvX2NvbXBpbGUgKCkgeworICAgIG9lX3J1bm1ha2UKK30KKworIyB0aGUgaW5zdGFsbCB0YXJnZXQgaXMgbm90IG11bHRpLWpvYiBzYWZlLCBidXQgaXQgZG9lc24ndCBkbyBtdWNoCisjIHNvIHdlIGp1c3QgaW5zdGFsbCBzZXJpYWxseQorIworUEFSQUxMRUxfTUFLRUlOU1QgPSAiLWoxIgorCitmYWtlcm9vdCBkb19pbnN0YWxsICgpIHsKKyAgICBvZV9ydW5tYWtlICdCSU5ESVI9JHtzYmluZGlyfScgJ01BTkRJUj0ke21hbmRpcn0vJyAnREVTVERJUj0ke0R9JyBpbnN0YWxsCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYnJpZGdlLXV0aWxzL2JyaWRnZS11dGlscy5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYnJpZGdlLXV0aWxzL2JyaWRnZS11dGlscy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGZiMThkNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9icmlkZ2UtdXRpbHMvYnJpZGdlLXV0aWxzLmluYwpAQCAtMCwwICsxLDI4IEBACitTVU1NQVJZID0gIlRvb2xzIGZvciBldGhlcm5ldCBicmlkZ2luZyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubGludXhmb3VuZGF0aW9uLm9yZy9jb2xsYWJvcmF0ZS93b3JrZ3JvdXBzL25ldHdvcmtpbmcvYnJpZGdlIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkdQTHYyIgorCitERVBFTkRTID0gInN5c2ZzdXRpbHMiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2JyaWRnZS9icmlkZ2UtdXRpbHMtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICBmaWxlOi8vYnJpZGdlLXV0aWxzLTEuNS1jaGVjay1lcnJvci1yZXR1cm5zLWZyb20td3JpdGUtdG8tc3lzZnMucGF0Y2ggXAorICAgICAgICAgIGZpbGU6Ly9icmlkZ2UtdXRpbHMtMS41LWZpeC1lcnJvci1tZXNzYWdlLWZvci1pbmNvcnJlY3QtY29tbWFuZC5wYXRjaCBcCisgICAgICAgICAgZmlsZTovL2JyaWRnZS11dGlscy0xLjUtZml4LWluY29ycmVjdC1jb21tYW5kLWluLW1hbnVhbC5wYXRjaCBcCisiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtYWx0ZXJuYXRpdmVzCisKK0FMVEVSTkFUSVZFXyR7UE59ID0gImJyY3RsIgorQUxURVJOQVRJVkVfUFJJT1JJVFlbYnJjdGxdID0gIjEwMCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVticmN0bF0gPSAiJHtzYmluZGlyfS9icmN0bCIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC1saW51eC1oZWFkZXJzPSR7U1RBR0lOR19JTkNESVJ9IgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9LyR7ZGF0YWRpcn0vYnJpZGdlLXV0aWxzCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vbmV0d29yay9pZi1wcmUtdXAuZAorICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L25ldHdvcmsvaWYtcG9zdC1kb3duLmQKK30KKworUlJFQ09NTUVORFNfJHtQTn0gPSAia2VybmVsLW1vZHVsZS1icmlkZ2UiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYnJpZGdlLXV0aWxzL2JyaWRnZS11dGlscy9icmlkZ2UtdXRpbHMtMS41LWNoZWNrLWVycm9yLXJldHVybnMtZnJvbS13cml0ZS10by1zeXNmcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9icmlkZ2UtdXRpbHMvYnJpZGdlLXV0aWxzL2JyaWRnZS11dGlscy0xLjUtY2hlY2stZXJyb3ItcmV0dXJucy1mcm9tLXdyaXRlLXRvLXN5c2ZzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwMGFmOWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYnJpZGdlLXV0aWxzL2JyaWRnZS11dGlscy9icmlkZ2UtdXRpbHMtMS41LWNoZWNrLWVycm9yLXJldHVybnMtZnJvbS13cml0ZS10by1zeXNmcy5wYXRjaApAQCAtMCwwICsxLDg3IEBACitVcHN0cmVhbS1zdGF0dXM6IEJhY2tQb3J0IFtodHRwOi8vcGtncy5mZWRvcmFwcm9qZWN0Lm9yZy9jZ2l0L2JyaWRnZS11dGlscy5naXQvZGlmZi9icmlkZ2UtdXRpbHMtMS41LWNoZWNrLWVycm9yLXJldHVybnMtZnJvbS13cml0ZS10by1zeXNmcy5wYXRjaD9pZD1iMGQxMDcxN2ZkN2NlYmY1ZDg1ZWVkM2Y5NDFiNDA5ZmEwMzg0ZjA4XQorCitTaWduZWQtb2ZmLWJ5OiBSb3kuTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CisKK0Zyb20gYmI5OTcwYTlkZjk1ODM3ZTM5ZDY4MDAyMWIxZjczZDIzMWU4NTQwNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFN0ZXBoZW4gSGVtbWluZ2VyIDxzaGVtbWluZ2VyQHZ5YXR0YS5jb20+CitEYXRlOiBUdWUsIDMgTWF5IDIwMTEgMDk6NTI6NDMgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSCAzLzNdIENoZWNrIGVycm9yIHJldHVybnMgZnJvbSB3cml0ZSB0byBzeXNmcworCitBZGQgaGVscGVyIGZ1bmN0aW9uIHRvIGNoZWNrIHdyaXRlIHRvIHN5c2ZzIGZpbGVzLgorCitTaWduZWQtb2ZmLWJ5OiBQZXRyIFNhYmF0YSA8Y29udHlrQHJlZGhhdC5jb20+CistLS0KKyBsaWJicmlkZ2UvbGliYnJpZGdlX2RldmlmLmMgfCAgIDM3ICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliYnJpZGdlL2xpYmJyaWRnZV9kZXZpZi5jIGIvbGliYnJpZGdlL2xpYmJyaWRnZV9kZXZpZi5jCitpbmRleCBhYThiYzM2Li4xZTgzOTI1IDEwMDY0NAorLS0tIGEvbGliYnJpZGdlL2xpYmJyaWRnZV9kZXZpZi5jCisrKysgYi9saWJicmlkZ2UvbGliYnJpZGdlX2RldmlmLmMKK0BAIC0yODAsMjUgKzI4MCwzOCBAQCBmYWxsYmFjazoKKyAJcmV0dXJuIG9sZF9nZXRfcG9ydF9pbmZvKGJybmFtZSwgcG9ydCwgaW5mbyk7CisgfQorIAorK3N0YXRpYyBpbnQgc2V0X3N5c2ZzKGNvbnN0IGNoYXIgKnBhdGgsIHVuc2lnbmVkIGxvbmcgdmFsdWUpCisreworKwlpbnQgZmQsIHJldCA9IDAsIGNjOworKwljaGFyIGJ1ZlszMl07CisrCisrCWZkID0gb3BlbihwYXRoLCBPX1dST05MWSk7CisrCWlmIChmZCA8IDApCisrCQlyZXR1cm4gLTE7CisrCisrCWNjID0gc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiVsdVxuIiwgdmFsdWUpOworKwlpZiAod3JpdGUoZmQsIGJ1ZiwgY2MpIDwgMCkKKysJCXJldCA9IC0xOworKwljbG9zZShmZCk7CisrCisrCXJldHVybiByZXQ7CisrfQorKworIAorIHN0YXRpYyBpbnQgYnJfc2V0KGNvbnN0IGNoYXIgKmJyaWRnZSwgY29uc3QgY2hhciAqbmFtZSwKKyAJCSAgdW5zaWduZWQgbG9uZyB2YWx1ZSwgdW5zaWduZWQgbG9uZyBvbGRjb2RlKQorIHsKKyAJaW50IHJldDsKKyAJY2hhciBwYXRoW1NZU0ZTX1BBVEhfTUFYXTsKKy0JRklMRSAqZjsKKyAKKy0Jc25wcmludGYocGF0aCwgU1lTRlNfUEFUSF9NQVgsIFNZU0ZTX0NMQVNTX05FVCAiJXMvJXMiLCBicmlkZ2UsIG5hbWUpOworKwlzbnByaW50ZihwYXRoLCBTWVNGU19QQVRIX01BWCwgU1lTRlNfQ0xBU1NfTkVUICIlcy9icmlkZ2UvJXMiLAorKwkJIGJyaWRnZSwgbmFtZSk7CisgCistCWYgPSBmb3BlbihwYXRoLCAidyIpOworLQlpZiAoZikgeworLQkJcmV0ID0gZnByaW50ZihmLCAiJWxkXG4iLCB2YWx1ZSk7CistCQlmY2xvc2UoZik7CistCX0gZWxzZSB7CisrCWlmICgocmV0ID0gc2V0X3N5c2ZzKHBhdGgsIHZhbHVlKSkgPCAwKSB7CisgCQkvKiBmYWxsYmFjayB0byBvbGQgaW9jdGwgKi8KKyAJCXN0cnVjdCBpZnJlcSBpZnI7CisgCQl1bnNpZ25lZCBsb25nIGFyZ3NbNF0gPSB7IG9sZGNvZGUsIHZhbHVlLCAwLCAwIH07CistCQkKKysKKyAJCXN0cm5jcHkoaWZyLmlmcl9uYW1lLCBicmlkZ2UsIElGTkFNU0laKTsKKyAJCWlmci5pZnJfZGF0YSA9IChjaGFyICopICZhcmdzOworIAkJcmV0ID0gaW9jdGwoYnJfc29ja2V0X2ZkLCBTSU9DREVWUFJJVkFURSwgJmlmcik7CitAQCAtMzQ4LDE0ICszNjEsMTAgQEAgc3RhdGljIGludCBwb3J0X3NldChjb25zdCBjaGFyICpicmlkZ2UsIGNvbnN0IGNoYXIgKmlmbmFtZSwKKyB7CisgCWludCByZXQ7CisgCWNoYXIgcGF0aFtTWVNGU19QQVRIX01BWF07CistCUZJTEUgKmY7CisgCisgCXNucHJpbnRmKHBhdGgsIFNZU0ZTX1BBVEhfTUFYLCBTWVNGU19DTEFTU19ORVQgIiVzL2JycG9ydC8lcyIsIGlmbmFtZSwgbmFtZSk7CistCWYgPSBmb3BlbihwYXRoLCAidyIpOworLQlpZiAoZikgeworLQkJcmV0ID0gZnByaW50ZihmLCAiJWxkXG4iLCB2YWx1ZSk7CistCQlmY2xvc2UoZik7CistCX0gZWxzZSB7CisrCisrCWlmICgocmV0ID0gc2V0X3N5c2ZzKHBhdGgsIHZhbHVlKSkgPCAwKSB7CisgCQlpbnQgaW5kZXggPSBnZXRfcG9ydG5vKGJyaWRnZSwgaWZuYW1lKTsKKyAKKyAJCWlmIChpbmRleCA8IDApCistLSAKKzEuNy41LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2JyaWRnZS11dGlscy9icmlkZ2UtdXRpbHMvYnJpZGdlLXV0aWxzLTEuNS1maXgtZXJyb3ItbWVzc2FnZS1mb3ItaW5jb3JyZWN0LWNvbW1hbmQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYnJpZGdlLXV0aWxzL2JyaWRnZS11dGlscy9icmlkZ2UtdXRpbHMtMS41LWZpeC1lcnJvci1tZXNzYWdlLWZvci1pbmNvcnJlY3QtY29tbWFuZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZDA0OTRlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2JyaWRnZS11dGlscy9icmlkZ2UtdXRpbHMvYnJpZGdlLXV0aWxzLTEuNS1maXgtZXJyb3ItbWVzc2FnZS1mb3ItaW5jb3JyZWN0LWNvbW1hbmQucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorVXBzdHJlYW0tc3RhdHVzOiBCYWNrUG9ydCBbaHR0cDovL3BrZ3MuZmVkb3JhcHJvamVjdC5vcmcvY2dpdC9icmlkZ2UtdXRpbHMuZ2l0L2RpZmYvYnJpZGdlLXV0aWxzLTEuNS1maXgtZXJyb3ItbWVzc2FnZS1mb3ItaW5jb3JyZWN0LWNvbW1hbmQucGF0Y2g/aWQ9YjBkMTA3MTdmZDdjZWJmNWQ4NWVlZDNmOTQxYjQwOWZhMDM4NGYwOF0KKworU2lnbmVkLW9mZi1ieTogUm95LkxpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorCitGcm9tIGM3ZWQwOTk2ZWY1OGI0OTdkM2QzMGJlODAyYWI1YWU2YzM3MDk5YjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBTdGVwaGVuIEhlbW1pbmdlciA8c2hlbW1pbmdlckB2eWF0dGEuY29tPgorRGF0ZTogVHVlLCAzIE1heSAyMDExIDA5OjQ5OjU3IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0ggMi8zXSBGaXggZXJyb3IgbWVzc2FnZSBmb3IgaW5jb3JyZWN0IGNvbW1hbmQKKworRGViaWFuIGJ1ZyA0MDY5MDcKK0Vycm9yIG1lc3NhZ2Ugd2FzIHJlZmVyaW5nIHRvIGluY29ycmVjdCBjb21tYW5kIGFyZ3VtZW50LgorCitTaWduZWQtb2ZmLWJ5OiBQZXRyIFNhYmF0YSA8Y29udHlrQHJlZGhhdC5jb20+CistLS0KKyBicmN0bC9icmN0bC5jIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYnJjdGwvYnJjdGwuYyBiL2JyY3RsL2JyY3RsLmMKK2luZGV4IDQ1NGI4ZGQuLjQ2Y2EzNTIgMTAwNjQ0CistLS0gYS9icmN0bC9icmN0bC5jCisrKysgYi9icmN0bC9icmN0bC5jCitAQCAtNjksNyArNjksNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqY29uc3QqIGFyZ3YpCisgCWFyZ2MgLT0gb3B0aW5kOworIAlhcmd2ICs9IG9wdGluZDsKKyAJaWYgKChjbWQgPSBjb21tYW5kX2xvb2t1cCgqYXJndikpID09IE5VTEwpIHsKKy0JCWZwcmludGYoc3RkZXJyLCAibmV2ZXIgaGVhcmQgb2YgY29tbWFuZCBbJXNdXG4iLCBhcmd2WzFdKTsKKysJCWZwcmludGYoc3RkZXJyLCAibmV2ZXIgaGVhcmQgb2YgY29tbWFuZCBbJXNdXG4iLCAqYXJndik7CisgCQlnb3RvIGhlbHA7CisgCX0KKyAJCistLSAKKzEuNy41LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2JyaWRnZS11dGlscy9icmlkZ2UtdXRpbHMvYnJpZGdlLXV0aWxzLTEuNS1maXgtaW5jb3JyZWN0LWNvbW1hbmQtaW4tbWFudWFsLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2JyaWRnZS11dGlscy9icmlkZ2UtdXRpbHMvYnJpZGdlLXV0aWxzLTEuNS1maXgtaW5jb3JyZWN0LWNvbW1hbmQtaW4tbWFudWFsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmNmQ2ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYnJpZGdlLXV0aWxzL2JyaWRnZS11dGlscy9icmlkZ2UtdXRpbHMtMS41LWZpeC1pbmNvcnJlY3QtY29tbWFuZC1pbi1tYW51YWwucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorVXBzdHJlYW0tc3RhdHVzOiBCYWNrUG9ydCBbaHR0cDovL3BrZ3MuZmVkb3JhcHJvamVjdC5vcmcvY2dpdC9icmlkZ2UtdXRpbHMuZ2l0L2RpZmYvYnJpZGdlLXV0aWxzLTEuNS1maXgtaW5jb3JyZWN0LWNvbW1hbmQtaW4tbWFudWFsLnBhdGNoP2lkPWIwZDEwNzE3ZmQ3Y2ViZjVkODVlZWQzZjk0MWI0MDlmYTAzODRmMDhdCisKK1NpZ25lZC1vZmYtYnk6IFJveS5MaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKworRnJvbSA4ZWY3Yjc3NTYyYjYzNmVmY2JkOGI3NTllYjMyNGQ2YzA2OTIwMGYyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU3RlcGhlbiBIZW1taW5nZXIgPHNoZW1taW5nZXJAdnlhdHRhLmNvbT4KK0RhdGU6IFR1ZSwgMyBNYXkgMjAxMSAwOTo0ODo0MCAtMDcwMAorU3ViamVjdDogW1BBVENIIDEvM10gRml4IGluY29ycmVjdCBjb21tYW5kIGluIG1hbnVhbAorCitDb21tYW5kIGlzICJzZXRhZ2VpbmciIG5vdCAic2V0YWdlaW5ndGltZSI7IGZpeCBtYW4gcGFnZS4KK0RlYmlhbiBidWcgcmVwb3J0LgorCitTaWduZWQtb2ZmLWJ5OiBQZXRyIFNhYmF0YSA8Y29udHlrQHJlZGhhdC5jb20+CistLS0KKyBkb2MvYnJjdGwuOCB8ICAgIDIgKy0KKyAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2RvYy9icmN0bC44IGIvZG9jL2JyY3RsLjgKK2luZGV4IGQ5MDQwNDcuLjc3MWYzMjMgMTAwNjQ0CistLS0gYS9kb2MvYnJjdGwuOAorKysrIGIvZG9jL2JyY3RsLjgKK0BAIC04OSw3ICs4OSw3IEBAIGRhdGEuIE1hY2hpbmVzIGNhbiBtb3ZlIHRvIG90aGVyIHBvcnRzLCBuZXR3b3JrIGNhcmRzIGNhbiBiZSByZXBsYWNlZAorIC5CIGJyY3RsIHNob3dtYWNzIDxicm5hbWU+Cisgc2hvd3MgYSBsaXN0IG9mIGxlYXJuZWQgTUFDIGFkZHJlc3NlcyBmb3IgdGhpcyBicmlkZ2UuCisgCistLkIgYnJjdGwgc2V0YWdlaW5ndGltZSA8YnJuYW1lPiA8dGltZT4KKysuQiBicmN0bCBzZXRhZ2VpbmcgPGJybmFtZT4gPHRpbWU+Cisgc2V0cyB0aGUgZXRoZXJuZXQgKE1BQykgYWRkcmVzcyBhZ2VpbmcgdGltZSwgaW4gc2Vjb25kcy4gQWZ0ZXIgPHRpbWU+Cisgc2Vjb25kcyBvZiBub3QgaGF2aW5nIHNlZW4gYSBmcmFtZSBjb21pbmcgZnJvbSBhIGNlcnRhaW4gYWRkcmVzcywgdGhlCisgYnJpZGdlIHdpbGwgdGltZSBvdXQgKGRlbGV0ZSkgdGhhdCBhZGRyZXNzIGZyb20gdGhlIEZvcndhcmRpbmcKKy0tIAorMS43LjUuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYnJpZGdlLXV0aWxzL2JyaWRnZS11dGlscy9rZXJuZWwtaGVhZGVycy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9icmlkZ2UtdXRpbHMvYnJpZGdlLXV0aWxzL2tlcm5lbC1oZWFkZXJzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlMzZmMDUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYnJpZGdlLXV0aWxzL2JyaWRnZS11dGlscy9rZXJuZWwtaGVhZGVycy5wYXRjaApAQCAtMCwwICsxLDIyIEBACitpbmNsdWRlIG1pc3Npbmcga2VybmVsIGhlYWRlcgorCitGaXhlcyBlcnJvcnMgbGlrZQorCit8IC9iL2tyYWovamxpbnV4LW5leHQvcG9reS9idWlsZC90bXAtZWdsaWJjL3N5c3Jvb3RzL3JlLTY0Yi91c3IvaW5jbHVkZS9saW51eC9pZl9icmlkZ2UuaDoxNzI6MjA6IGVycm9yOiBmaWVsZCAnaXA2JyBoYXMgaW5jb21wbGV0ZSB0eXBlCit8IEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9saWJicmlkZ2UvbGliYnJpZGdlLmg6MjQ6MCwKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitJbmRleDogYnJpZGdlLXV0aWxzLTEuNS9saWJicmlkZ2UvbGliYnJpZGdlLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBicmlkZ2UtdXRpbHMtMS41Lm9yaWcvbGliYnJpZGdlL2xpYmJyaWRnZS5oCTIwMTEtMDMtMjggMTc6NTI6NTQuMDAwMDAwMDAwIC0wNzAwCisrKysgYnJpZGdlLXV0aWxzLTEuNS9saWJicmlkZ2UvbGliYnJpZGdlLmgJMjAxMy0wMy0wNCAyMToxNjoyNS43ODExODgzMDkgLTA4MDAKK0BAIC0yMCw2ICsyMCw3IEBACisgI2RlZmluZSBfTElCQlJJREdFX0gKKyAKKyAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorKyNpbmNsdWRlIDxsaW51eC9pbjYuaD4KKyAjaW5jbHVkZSA8bGludXgvaWYuaD4KKyAjaW5jbHVkZSA8bGludXgvaWZfYnJpZGdlLmg+CisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYnJpZGdlLXV0aWxzL2JyaWRnZS11dGlsc18xLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYnJpZGdlLXV0aWxzL2JyaWRnZS11dGlsc18xLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDRmODYzYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9icmlkZ2UtdXRpbHMvYnJpZGdlLXV0aWxzXzEuNS5iYgpAQCAtMCwwICsxLDExIEBACityZXF1aXJlIGJyaWRnZS11dGlscy5pbmMKKworU1JDX1VSSSArPSAiZmlsZTovL2tlcm5lbC1oZWFkZXJzLnBhdGNoIgorCitQQVJBTExFTF9NQUtFID0gIiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZjlkMjBhNDUzMjIxYTFiN2UzMmFlODQ2OTRkYTJjMzciCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlYzdiMzgxMTYwYjM0MDY0OGRlZGU1OGMzMWJiMjIzOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0MmY5ZTVmYjhmNmM1MmU2M2E5OGE0M2I4MWJkMjgxYzIyN2M1MjlmMTk0OTEzZTFjNTFlYzQ4YTM5M2I2Njg4IgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYy1hcmVzL2MtYXJlc18xLjExLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYy1hcmVzL2MtYXJlc18xLjExLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmY3MmFiNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jLWFyZXMvYy1hcmVzXzEuMTEuMC5iYgpAQCAtMCwwICsxLDEzIEBACisjIENvcHlyaWdodCAoYykgMjAxMi0yMDE0IExHIEVsZWN0cm9uaWNzLCBJbmMuCisKK0RFU0NSSVBUSU9OID0gImMtYXJlcyBpcyBhIEMgbGlicmFyeSB0aGF0IHJlc29sdmVzIG5hbWVzIGFzeW5jaHJvbm91c2x5LiIKK0hPTUVQQUdFID0gImh0dHA6Ly9kYW5pZWwuaGF4eC5zZS9wcm9qZWN0cy9jLWFyZXMvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9hcmVzX2luaXQuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTM7bWQ1PTUzZjVlY2Y0YzIyYzM3Y2YxZGRkMWVmOGY4ZWNjY2UwIgorCitTUkNfVVJJID0gImh0dHA6Ly9jLWFyZXMuaGF4eC5zZS9kb3dubG9hZC8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZDVjNmQ1MjJjZmM1NGJiNmYyMTVhMGI3OTEyZDQ2YmUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjM2MTJlNjYxN2Q5NjgyOTI4YTFkNTBjMTA0MGRlNGRiNjUxOWY5NzdmMGIyNWQ0MGNmMWI2MzI5MDBiM2VmZCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY2lmcy9jaWZzLXV0aWxzX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jaWZzL2NpZnMtdXRpbHNfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3MzA2YTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY2lmcy9jaWZzLXV0aWxzX2dpdC5iYgpAQCAtMCwwICsxLDM0IEBACitERVNDUklQVElPTiA9ICJBIGEgcGFja2FnZSBvZiB1dGlsaXRpZXMgZm9yIGRvaW5nIGFuZCBtYW5hZ2luZyBtb3VudHMgb2YgdGhlIExpbnV4IENJRlMgZmlsZXN5c3RlbS4iCitIT01FUEFHRSA9ICJodHRwOi8vd2lraS5zYW1iYS5vcmcvaW5kZXgucGhwL0xpbnV4Q0lGU191dGlscyIKK1NFQ1RJT04gPSAib3RoZXJvc2ZzIgorTElDRU5TRSA9ICJHUEx2MyAmIExHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitERVBFTkRTID0gInNhbWJhIgorUFYgPSAiNi40IgorCitTUkNSRVYgPSAiNDg3ZjQ2ZGE3MzcyOTE4Nzc4NjdjYmQzYWNiNDBmZWEwODdkMzg2MyIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LnNhbWJhLm9yZy9jaWZzLXV0aWxzLmdpdCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbY2FwXSA9ICItLXdpdGgtbGliY2FwLC0td2l0aG91dC1saWJjYXAsbGliY2FwIgorIyB3aGVuIGVuYWJsZWQsIGl0IGNyZWF0ZXMgJHtiaW5kaXJ9L2NpZnNjcmVkcyBhbmQgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgaW4gZG9faW5zdGFsbF9hcHBlbmQgaXMgbmVlZGVkCitQQUNLQUdFQ09ORklHW2NpZnNjcmVkc10gPSAiLS1lbmFibGUtY2lmc2NyZWRzLC0tZGlzYWJsZS1jaWZzY3JlZHMsa2V5dXRpbHMiCisjIHdoZW4gZW5hYmxlZCwgaXQgY3JlYXRlcyAke3NiaW5kaXJ9L2NpZnMudXBjYWxsIGFuZCAtLWlnbm9yZS1mYWlsLW9uLW5vbi1lbXB0eSBpbiBkb19pbnN0YWxsX2FwcGVuZCBpcyBuZWVkZWQKK1BBQ0tBR0VDT05GSUdbY2lmc3VwY2FsbF0gPSAiLS1lbmFibGUtY2lmc3VwY2FsbCwtLWRpc2FibGUtY2lmc3VwY2FsbCxrcmI1IGxpYnRhbGxvYyBrZXl1dGlscyIKK1BBQ0tBR0VDT05GSUdbY2lmc2lkbWFwXSA9ICItLWVuYWJsZS1jaWZzaWRtYXAsLS1kaXNhYmxlLWNpZnNpZG1hcCwga2V5dXRpbHMiCitQQUNLQUdFQ09ORklHW3BhbV0gPSAiLS1lbmFibGUtcGFtIC0td2l0aC1wYW1kaXI9JHtiYXNlX2xpYmRpcn0vc2VjdXJpdHksLS1kaXNhYmxlLXBhbSxsaWJwYW0ga2V5dXRpbHMiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAjIFJlbW92ZSBlbXB0eSAvdXNyL2JpbiBhbmQgL3Vzci9zYmluIGRpcmVjdG9yaWVzIHNpbmNlIHRoZSBtb3VudCBoZWxwZXIKKyAgICAjIGlzIGluc3RhbGxlZCB0byAvc2JpbgorICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICR7RH0ke2JpbmRpcn0gJHtEfSR7c2JpbmRpcn0KK30KKworRklMRVNfJHtQTn0gKz0gIiR7YmFzZV9saWJkaXJ9L3NlY3VyaXR5IgorRklMRVNfJHtQTn0tZGJnICs9ICIke2Jhc2VfbGliZGlyfS9zZWN1cml0eS8uZGVidWciCitSUkVDT01NRU5EU18ke1BOfSA9ICJrZXJuZWwtbW9kdWxlLWNpZnMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY2ltLXNjaGVtYS9jaW0tc2NoZW1hLWRvY3NfMi40MC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvY2ltLXNjaGVtYS1kb2NzXzIuNDAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTg3NWVhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvY2ltLXNjaGVtYS1kb2NzXzIuNDAuMC5iYgpAQCAtMCwwICsxLDI1IEBACityZXF1aXJlIGNpbS1zY2hlbWEuaW5jCisKK1NFQ1RJT04gPSAiZG9jIgorCitMSUNFTlNFID0gIkRNVEYiCisKK1NSQ19VUkkgPSAiaHR0cDovL2RtdGYub3JnL3NpdGVzL2RlZmF1bHQvZmlsZXMvY2ltL2NpbV9zY2hlbWFfdjI0MDAvY2ltX3NjaGVtYV8ke1BWfUZpbmFsLURvYy56aXAgXAorICAgICAgICAgICBmaWxlOi8vTElDRU5TRSBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjNkMDE5NDBiYzEwODVjNmM0MjE4NGMyNWZiNjFmNzM5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjMxNzRjZjBmODY1N2IxOWQ4MGRjNTllMTg0Nzc4ZDhlNTUzZGE0MjQ3MjhjYjI5NjZmZTlkNTQyOGRkODQyNjciCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1dPUktESVJ9L0xJQ0VOU0U7bWQ1PWVlY2M2ZjcxYTU2ZmYzY2FmMTdmMTViZjdhZWFjN2I0IgorCitkb191bnBhY2soKSB7CisgICAgICAgIHVuemlwIC1xICR7RExfRElSfS9jaW1fc2NoZW1hXyR7UFZ9RmluYWwtRG9jLnppcCAtZCAke1N9CisgICAgICAgIGNwIC1mICR7RklMRV9ESVJOQU1FfS9maWxlcy9MSUNFTlNFICR7V09SS0RJUn0vCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgICAgIGluc3RhbGwgLWQgLW0gMDc1NSAke0R9JHtkYXRhZGlyfS9kb2MvY2ltLXNjaGVtYS0ke1BWfS1kb2NzCisgICAgICAgIGNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12ICR7U30vKiAke0R9JHtkYXRhZGlyfS9kb2MvY2ltLXNjaGVtYS0ke1BWfS1kb2NzCit9CisKK0ZJTEVTXyR7UE59ID0gIiR7ZGF0YWRpcn0vZG9jLyoiCitGSUxFU18ke1BOfS1kb2MgPSAiIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvY2ltLXNjaGVtYS1leHBlcl8yLjM5LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY2ltLXNjaGVtYS9jaW0tc2NoZW1hLWV4cGVyXzIuMzkuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YjA3YzBiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvY2ltLXNjaGVtYS1leHBlcl8yLjM5LjAuYmIKQEAgLTAsMCArMSwyOSBAQAorcmVxdWlyZSBjaW0tc2NoZW1hLmluYworCitMSUNFTlNFID0gIkRNVEYiCisKK1JDT05GTElDVFNfJHtQTn0gPSAiY2ltLXNjaGVtYS1maW5hbCIKKworU1JDX1VSSSA9ICJodHRwOi8vZG10Zi5vcmcvc2l0ZXMvZGVmYXVsdC9maWxlcy9jaW0vY2ltX3NjaGVtYV92MjM5MC9jaW1fc2NoZW1hXyR7UFZ9RXhwZXJpbWVudGFsLU1PRnMuemlwO3N1YmRpcj0ke0JQTn0tJHtQVn0gXAorICAgICAgICAgICBmaWxlOi8vTElDRU5TRSBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImI4MmIzMWM2MDljNmJjYzY5NTIxODI5NDA5ZjU4Y2NjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImVkMjA5NmVmMWVhMjVkMTg5YTAyYmJjNjYwM2ZlZDdhNDgyOTdmMjk4N2YyNTQyNjU3NjNhNmVlY2I3ZmM4NzAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1dPUktESVJ9L0xJQ0VOU0U7bWQ1PWVlY2M2ZjcxYTU2ZmYzY2FmMTdmMTViZjdhZWFjN2I0IgorCitkb19pbnN0YWxsKCkgeworICAgICAgICBpbnN0YWxsIC1kIC1tIDA3NTUgJHtEfSR7ZGF0YWRpcn0vbW9mL2NpbXYke1BWfS8KKyAgICAgICAgaW5zdGFsbCAtZCAtbSAwNzU1ICR7RH0ke2RhdGFkaXJ9L2RvYy9jaW0tc2NoZW1hLSR7UFZ9CisgICAgICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vTElDRU5TRSAke0R9JHtkYXRhZGlyfS9kb2MvY2ltLXNjaGVtYS0ke1BWfQorCisgICAgICAgIGNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12ICR7U30vKiAke0R9JHtkYXRhZGlyfS9tb2YvY2ltdiR7UFZ9LwkKKyAgICAgICAgY2hvd24gLVIgcm9vdDpyb290ICR7RH0ke2RhdGFkaXJ9L21vZi9jaW12JHtQVn0KKyAgICAgICAgZm9yIGkgaW4gYGZpbmQgJHtEfSR7ZGF0YWRpcn0vbW9mL2NpbXYke1BWfSAtbmFtZSAiKi5tb2YiYDsgZG8KKyAgICAgICAgICAgICAgICBzZWQgLWkgLWUgJ3MvXHIvL2cnICRpCisgICAgICAgIGRvbmUKKyAgICAgICAgbG4gLXMgY2ltdiR7UFZ9ICR7RH0ke2RhdGFkaXJ9L21vZi9jaW0tY3VycmVudAorICAgICAgICBsbiAtcyBjaW1fc2NoZW1hXyR7UFZ9Lm1vZiAke0R9JHtkYXRhZGlyfS9tb2YvY2ltLWN1cnJlbnQvQ0lNX1NjaGVtYS5tb2YKK30KKworRklMRVNfJHtQTn0gPSAiJHtkYXRhZGlyfS9tb2YvKiAke2RhdGFkaXJ9L2RvYy8qIgorRklMRVNfJHtQTn0tZG9jID0gIiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jaW0tc2NoZW1hL2NpbS1zY2hlbWEtZmluYWxfMi40MC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvY2ltLXNjaGVtYS1maW5hbF8yLjQwLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTY3NTM4NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jaW0tc2NoZW1hL2NpbS1zY2hlbWEtZmluYWxfMi40MC4wLmJiCkBAIC0wLDAgKzEsMzQgQEAKK3JlcXVpcmUgY2ltLXNjaGVtYS5pbmMKKworTElDRU5TRSA9ICJETVRGIgorCitSQ09ORkxJQ1RTXyR7UE59ID0gImNpbS1zY2hlbWEtZXhwZXIiCisKK1NSQ19VUkkgPSAiaHR0cDovL2RtdGYub3JnL3NpdGVzL2RlZmF1bHQvZmlsZXMvY2ltL2NpbV9zY2hlbWFfdjI0MDAvY2ltX3NjaGVtYV8ke1BWfUZpbmFsLU1PRnMuemlwIFwKKyAgICAgICAgICAgZmlsZTovL0xJQ0VOU0UgXAorICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhOWJkZjE3YzczNzRlM2I1YjdhZGVhYWM0ODQyYzRhZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkYmZhMzA2NGVhNDI3YWNkNzFhNGJlYmJjMTcyY2EyZGM0NGIwYjA5YTZkODNiMDk0NWI5ZmZhOTg4YTkwNThhIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtXT1JLRElSfS9MSUNFTlNFO21kNT1lZWNjNmY3MWE1NmZmM2NhZjE3ZjE1YmY3YWVhYzdiNCIKKworZG9fdW5wYWNrKCkgeworICAgICAgICB1bnppcCAtcSAke0RMX0RJUn0vY2ltX3NjaGVtYV8ke1BWfUZpbmFsLU1PRnMuemlwIC1kICR7U30KKyAgICAgICAgY3AgLWYgJHtGSUxFX0RJUk5BTUV9L2ZpbGVzL0xJQ0VOU0UgJHtXT1JLRElSfS8KK30KKworZG9faW5zdGFsbCgpIHsKKyAgICAgICAgaW5zdGFsbCAtZCAtbSAwNzU1ICR7RH0ke2RhdGFkaXJ9L21vZi9jaW12JHtQVn0vCisgICAgICAgIGluc3RhbGwgLWQgLW0gMDc1NSAke0R9JHtkYXRhZGlyfS9kb2MvY2ltLXNjaGVtYS0ke1BWfQorICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L0xJQ0VOU0UgJHtEfSR7ZGF0YWRpcn0vZG9jL2NpbS1zY2hlbWEtJHtQVn0KKworICAgICAgICBjcCAtUiAtLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bW9kZSxsaW5rcyAtdiAke1N9LyogJHtEfSR7ZGF0YWRpcn0vbW9mL2NpbXYke1BWfS8JCisgICAgICAgIGNob3duIC1SIHJvb3Q6cm9vdCAke0R9JHtkYXRhZGlyfS9tb2YvY2ltdiR7UFZ9LworICAgICAgICBmb3IgaSBpbiBgZmluZCAke0R9JHtkYXRhZGlyfS9tb2YvY2ltdiR7UFZ9IC1uYW1lICIqLm1vZiJgOyBkbworICAgICAgICAgICAgICAgIHNlZCAtaSAtZSAncy9cci8vZycgJGkKKyAgICAgICAgZG9uZQorICAgICAgICBsbiAtcyBjaW12JHtQVn0gJHtEfSR7ZGF0YWRpcn0vbW9mL2NpbS1jdXJyZW50CisgICAgICAgIGxuIC1zIGNpbV9zY2hlbWFfJHtQVn0ubW9mICR7RH0ke2RhdGFkaXJ9L21vZi9jaW0tY3VycmVudC9DSU1fU2NoZW1hLm1vZgorfQorCitGSUxFU18ke1BOfSA9ICIke2RhdGFkaXJ9L21vZi8qICR7ZGF0YWRpcn0vZG9jLyoiCitGSUxFU18ke1BOfS1kb2MgPSAiIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvY2ltLXNjaGVtYS5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY2ltLXNjaGVtYS9jaW0tc2NoZW1hLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOTE3MWU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvY2ltLXNjaGVtYS5pbmMKQEAgLTAsMCArMSw5IEBACitTVU1NQVJZID0gIkNvbW1vbiBJbmZvcm1hdGlvbiBNb2RlbCAoQ0lNKSBTY2hlbWEiCitERVNDUklQVElPTiA9ICJDb21tb24gSW5mb3JtYXRpb24gTW9kZWwgKENJTSkgaXMgYSBtb2RlbCBmb3IgZGVzY3JpYmluZyBvdmVyYWxsXAorbWFuYWdlbWVudCBpbmZvcm1hdGlvbiBpbiBhIG5ldHdvcmsgb3IgZW50ZXJwcmlzZSBlbnZpcm9ubWVudC4gQ0lNXAorY29uc2lzdHMgb2YgYSBzcGVjaWZpY2F0aW9uIGFuZCBhIHNjaGVtYS4gVGhlIHNwZWNpZmljYXRpb24gZGVmaW5lcyB0aGVcCitkZXRhaWxzIGZvciBpbnRlZ3JhdGlvbiB3aXRoIG90aGVyIG1hbmFnZW1lbnQgbW9kZWxzLiBUaGUgc2NoZW1hXAorcHJvdmlkZXMgdGhlIGFjdHVhbCBtb2RlbCBkZXNjcmlwdGlvbnMuIgorCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmRtdGYub3JnLyIKK1NFQ1RJT04gPSAibGlicyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jaW0tc2NoZW1hL2NpbS1zY2hlbWEvZmlsZXMvTElDRU5TRSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jaW0tc2NoZW1hL2NpbS1zY2hlbWEvZmlsZXMvTElDRU5TRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NGEyODEyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvY2ltLXNjaGVtYS9maWxlcy9MSUNFTlNFCkBAIC0wLDAgKzEsMzQgQEAKKy8vIENvcHlyaWdodCAxOTk4LTIwMDggRGlzdHJpYnV0ZWQgTWFuYWdlbWVudCBUYXNrIEZvcmNlLCBJbmMuIChETVRGKS4KKy8vIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBETVRGIGlzIGEgbm90LWZvci1wcm9maXQgYXNzb2NpYXRpb24gb2YgaW5kdXN0cnkgbWVtYmVycyBkZWRpY2F0ZWQKKy8vIHRvIHByb21vdGluZyBlbnRlcnByaXNlIGFuZCBzeXN0ZW1zIG1hbmFnZW1lbnQgYW5kIGludGVyb3BlcmFiaWxpdHkuCisvLyBETVRGIHNwZWNpZmljYXRpb25zIGFuZCBkb2N1bWVudHMgbWF5IGJlIHJlcHJvZHVjZWQgYnkKKy8vIG1lbWJlcnMgYW5kIG5vbi1tZW1iZXJzLCBwcm92aWRlZCB0aGF0IGNvcnJlY3QgYXR0cmlidXRpb24gaXMgZ2l2ZW4uCisvLyBBcyBETVRGIHNwZWNpZmljYXRpb25zIG1heSBiZSByZXZpc2VkIGZyb20gdGltZSB0byB0aW1lLAorLy8gdGhlIHBhcnRpY3VsYXIgdmVyc2lvbiBhbmQgcmVsZWFzZSBkYXRlIHNob3VsZCBhbHdheXMgYmUgbm90ZWQuCisvLyAKKy8vIEltcGxlbWVudGF0aW9uIG9mIGNlcnRhaW4gZWxlbWVudHMgb2YgdGhpcyBzdGFuZGFyZCBvciBwcm9wb3NlZAorLy8gc3RhbmRhcmQgbWF5IGJlIHN1YmplY3QgdG8gdGhpcmQgcGFydHkgcGF0ZW50IHJpZ2h0cywgaW5jbHVkaW5nCisvLyBwcm92aXNpb25hbCBwYXRlbnQgcmlnaHRzIChoZXJlaW4gInBhdGVudCByaWdodHMiKS4gRE1URiBtYWtlcworLy8gbm8gcmVwcmVzZW50YXRpb25zIHRvIHVzZXJzIG9mIHRoZSBzdGFuZGFyZCBhcyB0byB0aGUgZXhpc3RlbmNlCisvLyBvZiBzdWNoIHJpZ2h0cywgYW5kIGlzIG5vdCByZXNwb25zaWJsZSB0byByZWNvZ25pemUsIGRpc2Nsb3NlLCBvcgorLy8gaWRlbnRpZnkgYW55IG9yIGFsbCBzdWNoIHRoaXJkIHBhcnR5IHBhdGVudCByaWdodCwgb3duZXJzIG9yCisvLyBjbGFpbWFudHMsIG5vciBmb3IgYW55IGluY29tcGxldGUgb3IgaW5hY2N1cmF0ZSBpZGVudGlmaWNhdGlvbiBvcgorLy8gZGlzY2xvc3VyZSBvZiBzdWNoIHJpZ2h0cywgb3duZXJzIG9yIGNsYWltYW50cy4gRE1URiBzaGFsbCBoYXZlIG5vCisvLyBsaWFiaWxpdHkgdG8gYW55IHBhcnR5LCBpbiBhbnkgbWFubmVyIG9yIGNpcmN1bXN0YW5jZSwgdW5kZXIgYW55CisvLyBsZWdhbCB0aGVvcnkgd2hhdHNvZXZlciwgZm9yIGZhaWx1cmUgdG8gcmVjb2duaXplLCBkaXNjbG9zZSwgb3IKKy8vIGlkZW50aWZ5IGFueSBzdWNoIHRoaXJkIHBhcnR5IHBhdGVudCByaWdodHMsIG9yIGZvciBzdWNoIHBhcnR5J3MKKy8vIHJlbGlhbmNlIG9uIHRoZSBzdGFuZGFyZCBvciBpbmNvcnBvcmF0aW9uIHRoZXJlb2YgaW4gaXRzIHByb2R1Y3QsCisvLyBwcm90b2NvbHMgb3IgdGVzdGluZyBwcm9jZWR1cmVzLiBETVRGIHNoYWxsIGhhdmUgbm8gbGlhYmlsaXR5IHRvCisvLyBhbnkgcGFydHkgaW1wbGVtZW50aW5nIHN1Y2ggc3RhbmRhcmQsIHdoZXRoZXIgc3VjaCBpbXBsZW1lbnRhdGlvbgorLy8gaXMgZm9yZXNlZWFibGUgb3Igbm90LCBub3IgdG8gYW55IHBhdGVudCBvd25lciBvciBjbGFpbWFudCwgYW5kIHNoYWxsCisvLyBoYXZlIG5vIGxpYWJpbGl0eSBvciByZXNwb25zaWJpbGl0eSBmb3IgY29zdHMgb3IgbG9zc2VzIGluY3VycmVkIGlmCisvLyBhIHN0YW5kYXJkIGlzIHdpdGhkcmF3biBvciBtb2RpZmllZCBhZnRlciBwdWJsaWNhdGlvbiwgYW5kIHNoYWxsIGJlCisvLyBpbmRlbW5pZmllZCBhbmQgaGVsZCBoYXJtbGVzcyBieSBhbnkgcGFydHkgaW1wbGVtZW50aW5nIHRoZQorLy8gc3RhbmRhcmQgZnJvbSBhbnkgYW5kIGFsbCBjbGFpbXMgb2YgaW5mcmluZ2VtZW50IGJ5IGEgcGF0ZW50IG93bmVyCisvLyBmb3Igc3VjaCBpbXBsZW1lbnRhdGlvbnMuCisvLyAKKy8vIEZvciBpbmZvcm1hdGlvbiBhYm91dCBwYXRlbnRzIGhlbGQgYnkgdGhpcmQtcGFydGllcyB3aGljaCBoYXZlCisvLyBub3RpZmllZCB0aGUgRE1URiB0aGF0LCBpbiB0aGVpciBvcGluaW9uLCBzdWNoIHBhdGVudCBtYXkgcmVsYXRlIHRvCisvLyBvciBpbXBhY3QgaW1wbGVtZW50YXRpb25zIG9mIERNVEYgc3RhbmRhcmRzLCB2aXNpdAorLy8gaHR0cDovL3d3dy5kbXRmLm9yZy9hYm91dC9wb2xpY2llcy9kaXNjbG9zdXJlcy5waHAuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY2ltLXNjaGVtYS9maWxlcy9MSUNFTlNFIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvZmlsZXMvTElDRU5TRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NGEyODEyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvZmlsZXMvTElDRU5TRQpAQCAtMCwwICsxLDM0IEBACisvLyBDb3B5cmlnaHQgMTk5OC0yMDA4IERpc3RyaWJ1dGVkIE1hbmFnZW1lbnQgVGFzayBGb3JjZSwgSW5jLiAoRE1URikuCisvLyBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gRE1URiBpcyBhIG5vdC1mb3ItcHJvZml0IGFzc29jaWF0aW9uIG9mIGluZHVzdHJ5IG1lbWJlcnMgZGVkaWNhdGVkCisvLyB0byBwcm9tb3RpbmcgZW50ZXJwcmlzZSBhbmQgc3lzdGVtcyBtYW5hZ2VtZW50IGFuZCBpbnRlcm9wZXJhYmlsaXR5LgorLy8gRE1URiBzcGVjaWZpY2F0aW9ucyBhbmQgZG9jdW1lbnRzIG1heSBiZSByZXByb2R1Y2VkIGJ5CisvLyBtZW1iZXJzIGFuZCBub24tbWVtYmVycywgcHJvdmlkZWQgdGhhdCBjb3JyZWN0IGF0dHJpYnV0aW9uIGlzIGdpdmVuLgorLy8gQXMgRE1URiBzcGVjaWZpY2F0aW9ucyBtYXkgYmUgcmV2aXNlZCBmcm9tIHRpbWUgdG8gdGltZSwKKy8vIHRoZSBwYXJ0aWN1bGFyIHZlcnNpb24gYW5kIHJlbGVhc2UgZGF0ZSBzaG91bGQgYWx3YXlzIGJlIG5vdGVkLgorLy8gCisvLyBJbXBsZW1lbnRhdGlvbiBvZiBjZXJ0YWluIGVsZW1lbnRzIG9mIHRoaXMgc3RhbmRhcmQgb3IgcHJvcG9zZWQKKy8vIHN0YW5kYXJkIG1heSBiZSBzdWJqZWN0IHRvIHRoaXJkIHBhcnR5IHBhdGVudCByaWdodHMsIGluY2x1ZGluZworLy8gcHJvdmlzaW9uYWwgcGF0ZW50IHJpZ2h0cyAoaGVyZWluICJwYXRlbnQgcmlnaHRzIikuIERNVEYgbWFrZXMKKy8vIG5vIHJlcHJlc2VudGF0aW9ucyB0byB1c2VycyBvZiB0aGUgc3RhbmRhcmQgYXMgdG8gdGhlIGV4aXN0ZW5jZQorLy8gb2Ygc3VjaCByaWdodHMsIGFuZCBpcyBub3QgcmVzcG9uc2libGUgdG8gcmVjb2duaXplLCBkaXNjbG9zZSwgb3IKKy8vIGlkZW50aWZ5IGFueSBvciBhbGwgc3VjaCB0aGlyZCBwYXJ0eSBwYXRlbnQgcmlnaHQsIG93bmVycyBvcgorLy8gY2xhaW1hbnRzLCBub3IgZm9yIGFueSBpbmNvbXBsZXRlIG9yIGluYWNjdXJhdGUgaWRlbnRpZmljYXRpb24gb3IKKy8vIGRpc2Nsb3N1cmUgb2Ygc3VjaCByaWdodHMsIG93bmVycyBvciBjbGFpbWFudHMuIERNVEYgc2hhbGwgaGF2ZSBubworLy8gbGlhYmlsaXR5IHRvIGFueSBwYXJ0eSwgaW4gYW55IG1hbm5lciBvciBjaXJjdW1zdGFuY2UsIHVuZGVyIGFueQorLy8gbGVnYWwgdGhlb3J5IHdoYXRzb2V2ZXIsIGZvciBmYWlsdXJlIHRvIHJlY29nbml6ZSwgZGlzY2xvc2UsIG9yCisvLyBpZGVudGlmeSBhbnkgc3VjaCB0aGlyZCBwYXJ0eSBwYXRlbnQgcmlnaHRzLCBvciBmb3Igc3VjaCBwYXJ0eSdzCisvLyByZWxpYW5jZSBvbiB0aGUgc3RhbmRhcmQgb3IgaW5jb3Jwb3JhdGlvbiB0aGVyZW9mIGluIGl0cyBwcm9kdWN0LAorLy8gcHJvdG9jb2xzIG9yIHRlc3RpbmcgcHJvY2VkdXJlcy4gRE1URiBzaGFsbCBoYXZlIG5vIGxpYWJpbGl0eSB0bworLy8gYW55IHBhcnR5IGltcGxlbWVudGluZyBzdWNoIHN0YW5kYXJkLCB3aGV0aGVyIHN1Y2ggaW1wbGVtZW50YXRpb24KKy8vIGlzIGZvcmVzZWVhYmxlIG9yIG5vdCwgbm9yIHRvIGFueSBwYXRlbnQgb3duZXIgb3IgY2xhaW1hbnQsIGFuZCBzaGFsbAorLy8gaGF2ZSBubyBsaWFiaWxpdHkgb3IgcmVzcG9uc2liaWxpdHkgZm9yIGNvc3RzIG9yIGxvc3NlcyBpbmN1cnJlZCBpZgorLy8gYSBzdGFuZGFyZCBpcyB3aXRoZHJhd24gb3IgbW9kaWZpZWQgYWZ0ZXIgcHVibGljYXRpb24sIGFuZCBzaGFsbCBiZQorLy8gaW5kZW1uaWZpZWQgYW5kIGhlbGQgaGFybWxlc3MgYnkgYW55IHBhcnR5IGltcGxlbWVudGluZyB0aGUKKy8vIHN0YW5kYXJkIGZyb20gYW55IGFuZCBhbGwgY2xhaW1zIG9mIGluZnJpbmdlbWVudCBieSBhIHBhdGVudCBvd25lcgorLy8gZm9yIHN1Y2ggaW1wbGVtZW50YXRpb25zLgorLy8gCisvLyBGb3IgaW5mb3JtYXRpb24gYWJvdXQgcGF0ZW50cyBoZWxkIGJ5IHRoaXJkLXBhcnRpZXMgd2hpY2ggaGF2ZQorLy8gbm90aWZpZWQgdGhlIERNVEYgdGhhdCwgaW4gdGhlaXIgb3Bpbmlvbiwgc3VjaCBwYXRlbnQgbWF5IHJlbGF0ZSB0bworLy8gb3IgaW1wYWN0IGltcGxlbWVudGF0aW9ucyBvZiBETVRGIHN0YW5kYXJkcywgdmlzaXQKKy8vIGh0dHA6Ly93d3cuZG10Zi5vcmcvYWJvdXQvcG9saWNpZXMvZGlzY2xvc3VyZXMucGhwLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2N0ZGIvY3RkYi8wMS1zdXBwb3J0LWNyb3NzLWNvbXBpbGUtZm9yLWxpbnV4LW9zLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2N0ZGIvY3RkYi8wMS1zdXBwb3J0LWNyb3NzLWNvbXBpbGUtZm9yLWxpbnV4LW9zLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5MTk1YjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY3RkYi9jdGRiLzAxLXN1cHBvcnQtY3Jvc3MtY29tcGlsZS1mb3ItbGludXgtb3MucGF0Y2gKQEAgLTAsMCArMSwyNCBAQAorc3VwcG9ydCBjcm9zcy1jb21waWxlIGZvciBsaW51eC1vcy4KKworU2lnbmVkLW9mZi1ieTogQmlhbiBOYWltZW5nIDxiaWFubm1AY24uZnVqaXRzdS5jb20+CisKK2RpZmYgLU51cnAgY3RkYi0yLjUuMS5vcmlnL2NvbmZpZ3VyZSBjdGRiLTIuNS4xL2NvbmZpZ3VyZQorLS0tIGN0ZGItMi41LjEub3JpZy9jb25maWd1cmUJMjAxNS0wNS0wNyAxNjoyNDoyOC41NDUwMDAyMzggKzA5MDAKKysrKyBjdGRiLTIuNS4xL2NvbmZpZ3VyZQkyMDE1LTA1LTA3IDE2OjI4OjIwLjg5NDAwMDI0NCArMDkwMAorQEAgLTEwNjkyLDEwICsxMDY5MiwxNiBAQCBpZiB0ZXN0IHgiJGxpYnJlcGxhY2VfY3ZfSEFWRV9HRVRBRERSSU5GCisgCSMgc2VlIGJ1ZyA1OTEwLCB1c2Ugb3VyIHJlcGxhY2VtZW50cyBpZiB3ZSBkZXRlY3QKKyAJIyBhIGJyb2tlbiBzeXN0ZW0uCisgCWlmIHRlc3QgIiRjcm9zc19jb21waWxpbmciID0geWVzOyB0aGVuIDoKKysJCWNhc2UgIiR0YXJnZXRfb3MiIGluCisrCQkqbGludXgqKQorKwkJCTs7CisrCQkqKQorICAgeyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGVycm9yOiBpbiBcYCRhY19wd2QnOiIgPiY1CisgJGFzX2VjaG8gIiRhc19tZTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjI7fQorIGFzX2ZuX2Vycm9yICQ/ICJjYW5ub3QgcnVuIHRlc3QgcHJvZ3JhbSB3aGlsZSBjcm9zcyBjb21waWxpbmcKKyBTZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzIiAiJExJTkVOTyIgNTsgfQorKwkJCTs7CisrCQllc2FjCisgZWxzZQorICAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorIC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jdGRiL2N0ZGIvMDItbGluay1yZXBfc25wcmludGYtZm9yLWx0ZGJ0b29sLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2N0ZGIvY3RkYi8wMi1saW5rLXJlcF9zbnByaW50Zi1mb3ItbHRkYnRvb2wucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWRkOWI5MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jdGRiL2N0ZGIvMDItbGluay1yZXBfc25wcmludGYtZm9yLWx0ZGJ0b29sLnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKK2xpbmsgcmVwX3NucHJpbnRmIGZyb20gbGliL3JlcGxhY2Uvc25wcmludGYubyBmb3IgbHRkYnRvb2wKKworU2lnbmVkLW9mZi1ieTogQmlhbiBOYWltZW5nIDxiaWFubm1AY24uZnVqaXRzdS5jb20+CisKK2RpZmYgLU51cnAgY3RkYi0yLjUuMS5vcmlnL01ha2VmaWxlLmluIGN0ZGItMi41LjEvTWFrZWZpbGUuaW4KKy0tLSBjdGRiLTIuNS4xLm9yaWcvTWFrZWZpbGUuaW4JMjAxNS0wNS0wNyAxNjo0MzozOS4yNzYwMDAyMzYgKzA5MDAKKysrKyBjdGRiLTIuNS4xL01ha2VmaWxlLmluCTIwMTUtMDUtMDcgMTY6NDQ6MDkuNjI3MDAwMjM3ICswOTAwCitAQCAtMTcwLDcgKzE3MCw3IEBAIGJpbi9jdGRiOiAkKENUREJfQ0xJRU5UX09CSikgdG9vbHMvY3RkYi4KKyAJQGVjaG8gTGlua2luZyAkQAorIAkkKFdSQVBQRVIpICQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCB0b29scy9jdGRiLm8gdG9vbHMvY3RkYl92YWN1dW0ubyAkKENUREJfQ0xJRU5UX09CSikgJChMSUJfRkxBR1MpCisgCistYmluL2x0ZGJ0b29sOiB0b29scy9sdGRidG9vbC5vICQoVERCX09CSikKKytiaW4vbHRkYnRvb2w6IHRvb2xzL2x0ZGJ0b29sLm8gJChUREJfT0JKKSBsaWIvcmVwbGFjZS9zbnByaW50Zi5vCisgCUBlY2hvIExpbmtpbmcgJEAKKyAJJChXUkFQUEVSKSAkKENDKSAkKENGTEFHUykgLW8gJEAgJCsgJChUREJfTElCUykgJChMSUJfRkxBR1MpCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY3RkYi9jdGRiL3NlcnZpY2UtZW5zdXJlLXRoZS1QSUQtZGlyZWN0b3J5LWlzLWNyZWF0ZWQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY3RkYi9jdGRiL3NlcnZpY2UtZW5zdXJlLXRoZS1QSUQtZGlyZWN0b3J5LWlzLWNyZWF0ZWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTdlOTg3YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jdGRiL2N0ZGIvc2VydmljZS1lbnN1cmUtdGhlLVBJRC1kaXJlY3RvcnktaXMtY3JlYXRlZC5wYXRjaApAQCAtMCwwICsxLDI1IEBACitGcm9tIGYwMmZmNzM4M2YxY2MwYzExODczMjM1MmNjYmFlNDc2YzdiM2IzYmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJrIEFzc2Vsc3RpbmUgPG1hcmsuYXNzZWxzdGluZUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAxNyBOb3YgMjAxNSAxNjoxNzowMCAtMDUwMAorU3ViamVjdDogW1BBVENIXSBzZXJ2aWNlOiBlbnN1cmUgdGhlIFBJRCBkaXJlY3RvcnkgaXMgY3JlYXRlZAorCitTaWduZWQtb2ZmLWJ5OiBNYXJrIEFzc2Vsc3RpbmUgPG1hcmsuYXNzZWxzdGluZUB3aW5kcml2ZXIuY29tPgorLS0tCisgY29uZmlnL2N0ZGIuc2VydmljZSB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvY29uZmlnL2N0ZGIuc2VydmljZSBiL2NvbmZpZy9jdGRiLnNlcnZpY2UKK2luZGV4IGVhMzdjMzAuLjg1MzcxMDUgMTAwNjQ0CistLS0gYS9jb25maWcvY3RkYi5zZXJ2aWNlCisrKysgYi9jb25maWcvY3RkYi5zZXJ2aWNlCitAQCAtNSw2ICs1LDcgQEAgQWZ0ZXI9bmV0d29yay50YXJnZXQKKyBbU2VydmljZV0KKyBUeXBlPWZvcmtpbmcKKyBMaW1pdENPUkU9aW5maW5pdHkKKytSdW50aW1lRGlyZWN0b3J5PS9ydW4vY3RkYgorIFBJREZpbGU9L3J1bi9jdGRiL2N0ZGJkLnBpZAorIEV4ZWNTdGFydD0vdXNyL3NiaW4vY3RkYmRfd3JhcHBlciAvcnVuL2N0ZGIvY3RkYmQucGlkIHN0YXJ0CisgRXhlY1N0b3A9L3Vzci9zYmluL2N0ZGJkX3dyYXBwZXIgL3J1bi9jdGRiL2N0ZGJkLnBpZCBzdG9wCistLSAKKzIuMS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jdGRiL2N0ZGJfMi41LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY3RkYi9jdGRiXzIuNS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkNzU3ODQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY3RkYi9jdGRiXzIuNS4xLmJiCkBAIC0wLDAgKzEsNTQgQEAKK0RFU0NSSVBUSU9OID0gIkNUREIgaXMgYSBjbHVzdGVyIGltcGxlbWVudGF0aW9uIG9mIHRoZSBUREIgZGF0YWJhc2UgXAordXNlZCBieSBTYW1iYSBhbmQgb3RoZXIgcHJvamVjdHMgdG8gc3RvcmUgdGVtcG9yYXJ5IGRhdGEuIElmIGFuIFwKK2FwcGxpY2F0aW9uIGlzIGFscmVhZHkgdXNpbmcgVERCIGZvciB0ZW1wb3JhcnkgZGF0YSBpdCBpcyB2ZXJ5IGVhc3kgXAordG8gY29udmVydCB0aGF0IGFwcGxpY2F0aW9uIHRvIGJlIGNsdXN0ZXIgYXdhcmUgYW5kIHVzZSBDVERCIGluc3RlYWQuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9jdGRiLnNhbWJhLm9yZy8iCitMSUNFTlNFID0gIkdQTC0yLjArICYgTEdQTC0zLjArICYgR1BMLTMuMCsiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovLyR7Q09SRUJBU0V9L21ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzL0xHUEwtMy4wO21kNT1iZmNjZmU5NTIyNjlmZmYyYjQwN2RkMTFmMmYzMDgzYiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL2ZpbGVzL2NvbW1vbi1saWNlbnNlcy9HUEwtMi4wO21kNT04MDFmODA5ODBkMTcxZGQ2NDI1NjEwODMzYTIyZGJlNiBcCisgICAgICAgICAgICAgICAgICAgICIKKworU1JDX1VSSSA9ICJodHRwczovL2Z0cC5zYW1iYS5vcmcvcHViLyR7UE59LyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMS1zdXBwb3J0LWNyb3NzLWNvbXBpbGUtZm9yLWxpbnV4LW9zLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAyLWxpbmstcmVwX3NucHJpbnRmLWZvci1sdGRidG9vbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zZXJ2aWNlLWVuc3VyZS10aGUtUElELWRpcmVjdG9yeS1pcy1jcmVhdGVkLnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkMGNkOTE3MjZmZjRjYTIyMjllMWIyMTg1OWM5NDcxNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkNWJmM2Y2NzRjYWU5ODZiYjYxNzhiMWRiMjE1YTcwM2FjOTRhZGM1Zjc1ZmFkZmRjZmY2M2RjYmI1ZTk4YWI1IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIHN5c3RlbWQKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbbGlidGRiXSA9ICItLXdpdGhvdXQtaW5jbHVkZWQtdGRiLC0td2l0aC1pbmNsdWRlZC10ZGIsbGlidGRiIgorCitQQVJBTExFTF9NQUtFID0gIiIKKworREVQRU5EUyArPSAicG9wdCBsaWJ0ZXZlbnQgbGlidGFsbG9jIGxpYmxkYiIKKworIyBjdGRiZF93cmFwcGVyIHJlcXVpcmVzIHBncmVwLCBoZW5jZSBwcm9jcHMKK1JERVBFTkRTXyR7UE59ICs9ICJwcm9jcHMiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBvZV9ydW5jb25mCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9jb25maWcvY3RkYi5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgc2VkIC1pIC1lICdzLC91c3Ivc2Jpbi8sJHtzYmluZGlyfS8sJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9jdGRiLnNlcnZpY2UKKyAgICBzZWQgLWkgLWUgJ3MsXChbPVwgXVwpL3J1bi8sXDEke2xvY2Fsc3RhdGVkaXJ9L3J1bi8sJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9jdGRiLnNlcnZpY2UKKworICAgIHJtIC1yICR7RH0vJHtsb2NhbHN0YXRlZGlyfS9ydW4KK30KKworIyBUaGUgc3lzdGVtZCBzZXJ2aWNlIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQsIGFzIHRoZSBzZXJ2aWNlIHdpbGwgZmFpbCB0bworIyBzdGFydCB3aXRob3V0IC9ldGMvY3RkYi9ub2Rlcy4gSWYgdGhlIHVzZXIgc3VwcGxpZXMgdGhpcywgdGhleSBjYW4gcmUtZW5hYmxlCisjIHRoZSBzZXJ2aWNlLgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImN0ZGIuc2VydmljZSIKKworIyBvbm5vZGUgaXMgYSBzaGVsbCBzY3JpcHQgd2l0aCBiYXNoaXNtcyBhbmQgYmFzaCAjIQorUkRFUEVORFNfJHtQTn0gKz0gImJhc2giCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY3VybHBwL2N1cmxwcC9leGFtcGxlMjEuY3BwLXJlbW92ZS1kZXByZWNhdGVkLWNvZGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY3VybHBwL2N1cmxwcC9leGFtcGxlMjEuY3BwLXJlbW92ZS1kZXByZWNhdGVkLWNvZGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGFlNTgzZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jdXJscHAvY3VybHBwL2V4YW1wbGUyMS5jcHAtcmVtb3ZlLWRlcHJlY2F0ZWQtY29kZS5wYXRjaApAQCAtMCwwICsxLDQ3IEBACitleGFtcGxlMjEuY3BwOiByZW1vdmUgZGVwcmVjYXRlZCBjb2RlCisKK1RoZSBkZXByZWNhdGVkIGNvZGUgd2FzIG5vIGxvbmdlciB1c2VkLCBzbyByZW1vdmUgaXQgdG8gYXZvaWQKK2NvbXBpbGluZyBmYWlsdXJlIHdpdGggLVdlcnJvcj11bnVzZWQtZnVuY3Rpb24KKy4uLgorfCBleGFtcGxlMjEuY3BwOjUxOjg6IGVycm9yOiAnc2l6ZV90IHthbm9ueW1vdXN9OjpyZWFkRGF0YShjaGFyKiwKK3NpemVfdCwgc2l6ZV90KScgZGVmaW5lZCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWZ1bmN0aW9uXQorfCAgc2l6ZV90IHJlYWREYXRhKGNoYXIgKmJ1ZmZlciwgc2l6ZV90IHNpemUsIHNpemVfdCBuaXRlbXMpCisuLi4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIGV4YW1wbGVzL2V4YW1wbGUyMS5jcHAgfCAxNyAtLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2V4YW1wbGUyMS5jcHAgYi9leGFtcGxlcy9leGFtcGxlMjEuY3BwCistLS0gYS9leGFtcGxlcy9leGFtcGxlMjEuY3BwCisrKysgYi9leGFtcGxlcy9leGFtcGxlMjEuY3BwCitAQCAtMzksMjMgKzM5LDYgQEAKKyAjaW5jbHVkZSA8Y3VybHBwL09wdGlvbnMuaHBwPgorICNpbmNsdWRlIDxjdXJscHAvRXhjZXB0aW9uLmhwcD4KKyAgCistLyoKKy0gICBhbm9ueW1vdXMgbmFtZXNwYWNlIHRvIHByZXZlbnQgbmFtZSBjbGFzaCBpbiBjYXNlIG90aGVyIGV4YW1wbGVzIHVzaW5nIHRoZSBzYW1lIGdsb2JhbCBlbnRpdGllcworLSAgIHdvdWxkIGJlIGNvbXBpbGVkIGluIHRoZSBzYW1lIHByb2plY3QKKy0qLworLW5hbWVzcGFjZQorLXsKKy0KKy1jaGFyICpkYXRhID0gTlVMTDsKKy0KKy1zaXplX3QgcmVhZERhdGEoY2hhciAqYnVmZmVyLCBzaXplX3Qgc2l6ZSwgc2l6ZV90IG5pdGVtcykKKy17CistICBzdHJuY3B5KGJ1ZmZlciwgZGF0YSwgc2l6ZSAqIG5pdGVtcyk7CistICByZXR1cm4gc2l6ZSAqIG5pdGVtczsKKy19CistCistfSAvLyBuYW1lc3BhY2UKKy0KKyBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorIHsKKyAgIGlmKGFyZ2MgIT0gMykgeworLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY3VybHBwL2N1cmxwcC9wa2djb25maWdfZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2N1cmxwcC9jdXJscHAvcGtnY29uZmlnX2ZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZDczYzAwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2N1cmxwcC9jdXJscHAvcGtnY29uZmlnX2ZpeC5wYXRjaApAQCAtMCwwICsxLDM4IEBACitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW3BhY2thZ2luZ10KKworCitJbmRleDogY3VybC03LjIwLjAvbGliY3VybC5wYy5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGN1cmwtNy4yMC4wLm9yaWcvbGliY3VybC5wYy5pbgkyMDA5LTExLTE3IDE4OjExOjA3LjAwMDAwMDAwMCArMDAwMAorKysrIGN1cmwtNy4yMC4wL2xpYmN1cmwucGMuaW4JMjAxMC0wMy0yNSAxMjoxMzoyNi44MTQwNTEwNjYgKzAwMDAKK0BAIC0zNSw2ICszNSw3IEBACisgVVJMOiBodHRwOi8vY3VybC5oYXh4LnNlLworIERlc2NyaXB0aW9uOiBMaWJyYXJ5IHRvIHRyYW5zZmVyIGZpbGVzIHdpdGggZnRwLCBodHRwLCBldGMuCisgVmVyc2lvbjogQENVUkxWRVJTSU9OQAorLUxpYnM6IC1MJHtsaWJkaXJ9IC1sY3VybCBATElCU0AKKy1MaWJzLnByaXZhdGU6IEBMSUJDVVJMX0xJQlNAIEBMSUJTQAorK1JlcXVpcmVzLnByaXZhdGU6IEBHTlVUTFNfUkVRVUlSRURACisrTGliczogLUwke2xpYmRpcn0gLWxjdXJsCisrTGlicy5wcml2YXRlOiAtbGRsIC1segorIENmbGFnczogLUkke2luY2x1ZGVkaXJ9CitJbmRleDogY3VybC03LjIwLjAvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gY3VybC03LjIwLjAub3JpZy9jb25maWd1cmUuYWMJMjAxMC0wMi0wNCAyMTo0MTo0Ni4wMDAwMDAwMDAgKzAwMDAKKysrKyBjdXJsLTcuMjAuMC9jb25maWd1cmUuYWMJMjAxMC0wMy0yNSAxMjoxMjoxOC42NzMxMjkwMDEgKzAwMDAKK0BAIC0xNjY4LDYgKzE2NjgsNyBAQAorICAgICAgICBBQ19TVUJTVChVU0VfR05VVExTLCBbMV0pCisgICAgICAgIEdOVVRMU19FTkFCTEVEPTEKKyAgICAgICAgVVNFX0dOVVRMUz0ieWVzIgorKyAgICAgICBHTlVUTFNfUkVRVUlSRUQ9ImdudXRscyIKKyAgICAgICAgY3VybF9zc2xfbXNnPSJlbmFibGVkIChHbnVUTFMpIgorICAgICAgICBdLAorICAgICAgICBbCitAQCAtMTY5Niw2ICsxNjk3LDggQEAKKyAKKyBmaSBkbmwgT1BFTlNTTCAhPSAxCisgCisrQUNfU1VCU1QoR05VVExTX1JFUVVJUkVEKQorKworIGRubCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgZG5sIE5TUy4gT25seSBjaGVjayBpZiBHbnVUTFMgYW5kIE9wZW5TU0wgYXJlIG5vdCBlbmFibGVkCisgZG5sIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jdXJscHAvY3VybHBwXzAuNy4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2N1cmxwcC9jdXJscHBfMC43LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTY2M2YwZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jdXJscHAvY3VybHBwXzAuNy4zLmJiCkBAIC0wLDAgKzEsMzEgQEAKK1NVTU1BUlkgPSAiQysrIGxpYnJhcnkgZm9yIGNsaWVudC1zaWRlIFVSTCB0cmFuc2ZlcnMiCitIT01FUEFHRSA9ICJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvY3VybHBwLyIKK1NFQ1RJT04gPSAibGliZGV2ZWwiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L21ldGEvQ09QWUlORy5NSVQ7bWQ1PTNkYTljZmJjYjc4OGM4MGEwMzg0MzYxYjRkZTIwNDIwIgorCitERVBFTkRTID0gImN1cmwgYm9vc3QiCitERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICJjdXJsLW5hdGl2ZSIKKworU1JDX1VSSSA9ICJodHRwOi8vY3VybHBwLmdvb2dsZWNvZGUuY29tL2ZpbGVzL2N1cmxwcC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZXhhbXBsZTIxLmNwcC1yZW1vdmUtZGVwcmVjYXRlZC1jb2RlLnBhdGNoIFwKKwkiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjY2MzZDMwZDRiM2I1ZDJjZGJlZDYzNTg5OGMyOTQ4NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlM2Y5NDI3YjI3YzViZGRmODk4ZDM4M2Q0NWMwZDNkNTM5N2UyMDU2ZmY5MzVkOWE1Y2RhZWY2YTlhNjUzYmQ1IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIGJpbmNvbmZpZworCitQQUNLQUdFUyA9KyAibGliY3VybHBwIGxpYmN1cmxwcC1kZXYgbGliY3VybHBwLXN0YXRpY2RldiIKKworRklMRVNfbGliJHtCUE59ID0gIiR7bGliZGlyfS9saWIqLnNvLiogXAorCQkiCisKK0ZJTEVTX2xpYiR7QlBOfS1kZXYgPSAiJHtpbmNsdWRlZGlyfSBcCisgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYioubGEgXAorICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wa2djb25maWcgXAorICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS8qLWNvbmZpZyIKKworRklMRVNfbGliJHtCUE59LXN0YXRpY2RldiA9ICIke2xpYmRpcn0vbGliKi5hIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9kbnNtYXNxLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kbnNtYXNxL2Ruc21hc3EuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjN2Y5ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9kbnNtYXNxLmluYwpAQCAtMCwwICsxLDgzIEBACitTVU1NQVJZID0gIkxpZ2h0d2VpZ2h0LCBlYXN5IHRvIGNvbmZpZ3VyZSBETlMgZm9yd2FyZGVyIGFuZCBESENQIHNlcnZlciIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cudGhla2VsbGV5cy5vcmcudWsvZG5zbWFzcS9kb2MuaHRtbCIKK1NFQ1RJT04gPSAibmV0IgorIyBHUEx2MyB3YXMgYWRkZWQgaW4gdmVyc2lvbiAyLjQxIGFzIGxpY2Vuc2Ugb3B0aW9uCitMSUNFTlNFID0gIkdQTHYyIHwgR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLXYzO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworI2F0IGxlYXN0IHZlcnNpb25zIDIuMTUgYW5kIHByaW9yIGFyZSBtb3ZlZCB0byB0aGUgYXJjaGl2ZSBmb2xkZXIgb24gdGhlIHNlcnZlcgorU1JDX1VSSSA9ICJodHRwOi8vd3d3LnRoZWtlbGxleXMub3JnLnVrL2Ruc21hc3EvJHtAWydhcmNoaXZlLycsICcnXVtmbG9hdChkLmdldFZhcignUFYnLDEpLnNwbGl0KCcuJylbMV0pID4gMTVdfWRuc21hc3EtJHtQVn0udGFyLmd6O25hbWU9ZG5zbWFzcS0ke1BWfSBcCisgICAgICAgICAgIGZpbGU6Ly9pbml0IFwKKyAgICAgICAgICAgZmlsZTovL2Ruc21hc3EuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly9kbnNtYXNxLXJlc29sdmNvbmYuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9kbnNtYXNxLW5vcmVzb2x2Y29uZi5zZXJ2aWNlIFwKKyIKKworaW5oZXJpdCBwa2djb25maWcgdXBkYXRlLXJjLmQgc3lzdGVtZAorCitJTklUU0NSSVBUX05BTUUgPSAiZG5zbWFzcSIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIgorCitQQUNLQUdFQ09ORklHID89ICIiCitQQUNLQUdFQ09ORklHW2RidXNdID0gIiwsZGJ1cyIKK1BBQ0tBR0VDT05GSUdbaWRuXSA9ICIsLGxpYmlkbiIKK1BBQ0tBR0VDT05GSUdbY29ubnRyYWNrXSA9ICIsLGxpYm5ldGZpbHRlci1jb25udHJhY2siCitQQUNLQUdFQ09ORklHW2x1YV0gPSAiLCxsdWEiCitQQUNLQUdFQ09ORklHW3Jlc29sdmNvbmZdID0gIiwsLHJlc29sdmNvbmYiCitFWFRSQV9PRU1BS0UgPSAiXAorICAgICdDT1BUUz0ke0BiYXNlX2NvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2RidXMnLCAnLURIQVZFX0RCVVMnLCAnJywgZCl9IFwKKyAgICAgICAgICAgJHtAYmFzZV9jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdpZG4nLCAnLURIQVZFX0lETicsICcnLCBkKX0gXAorICAgICAgICAgICAke0BiYXNlX2NvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2Nvbm50cmFjaycsICctREhBVkVfQ09OTlRSQUNLJywgJycsIGQpfSBcCisgICAgICAgICAgICR7QGJhc2VfY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnbHVhJywgJy1ESEFWRV9MVUFTQ1JJUFQnLCAnJywgZCl9JyBcCisgICAgJ0NGTEFHUz0ke0NGTEFHU30nIFwKKyAgICAnTERGTEFHUz0ke0xERkxBR1N9JyBcCisiCisKK1NSQ19VUkkgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3Jlc29sdmNvbmYnLCAnZmlsZTovL2Ruc21hc3EucmVzb2x2Y29uZiBmaWxlOi8vOTlfZG5zbWFzcSBmaWxlOi8vZG5zbWFzcS1yZXNvbHZjb25mLWhlbHBlcicsICcnLCBkKX0iCisKK2RvX2NvbXBpbGVfYXBwZW5kKCkgeworICAgICMgYnVpbGQgZGhjcF9yZWxlYXNlCisgICAgY2QgJHtTfS9jb250cmliL3dydAorICAgIG9lX3J1bm1ha2UKK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgb2VfcnVubWFrZSAiUFJFRklYPSR7RH0ke3ByZWZpeH0iIFwKKyAgICAgICAgICAgICAgICJCSU5ESVI9JHtEfSR7YmluZGlyfSIgXAorICAgICAgICAgICAgICAgIk1BTkRJUj0ke0R9JHttYW5kaXJ9IiBcCisgICAgICAgICAgICAgICBpbnN0YWxsCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS8gJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kICR7RH0ke3N5c2NvbmZkaXJ9L2Ruc21hc3EuZAorICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vZG5zbWFzcS5jb25mICR7RH0ke3N5c2NvbmZkaXJ9LworICAgIGluc3RhbGwgLW0gNzU1ICR7V09SS0RJUn0vaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvZG5zbWFzcQorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCisgICAgaWYgWyAiJHtAYmFzZV9jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdyZXNvbHZjb25mJywgJ3Jlc29sdmNvbmYnLCAnJywgZCl9IiAhPSAiIiBdOyB0aGVuCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2Ruc21hc3EtcmVzb2x2Y29uZi5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2Ruc21hc3Euc2VydmljZQorICAgIGVsc2UKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZG5zbWFzcS1ub3Jlc29sdmNvbmYuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9kbnNtYXNxLnNlcnZpY2UKKyAgICBmaQorCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vY29udHJpYi93cnQvZGhjcF9yZWxlYXNlICR7RH0ke2JpbmRpcn0KKworICAgIGlmIFsgIiR7QGJhc2VfY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZGJ1cycsICdkYnVzJywgJycsIGQpfSIgIT0gIiIgXTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RidXMtMS9zeXN0ZW0uZAorICAgICAgICBpbnN0YWxsIC1tIDY0NCBkYnVzL2Ruc21hc3EuY29uZiAke0R9JHtzeXNjb25mZGlyfS9kYnVzLTEvc3lzdGVtLmQvCisgICAgZmkKKyAgICBpZiBbICIke0BiYXNlX2NvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3Jlc29sdmNvbmYnLCAncmVzb2x2Y29uZicsICcnLCBkKX0iICE9ICIiIF07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9yZXNvbHZjb25mL3VwZGF0ZS5kLworICAgICAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9kbnNtYXNxLnJlc29sdmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vcmVzb2x2Y29uZi91cGRhdGUuZC9kbnNtYXNxCisKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcworICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS85OV9kbnNtYXNxICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzCisgICAgICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2Ruc21hc3EtcmVzb2x2Y29uZi1oZWxwZXIgJHtEfSR7YmluZGlyfQorICAgIGZpCit9CisKK0NPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L2Ruc21hc3EuY29uZiIKKworUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJkbnNtYXNxLnNlcnZpY2UiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9kbnNtYXNxL2x1YS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kbnNtYXNxL2Ruc21hc3EvbHVhLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxOGMwYjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9kbnNtYXNxL2x1YS5wYXRjaApAQCAtMCwwICsxLDI5IEBACitGcm9tIDFlNWJlMGEwYmNmODU5MTNkNjM0MDgwMzBkZWMwMzhkMzYwYTVmYTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb2UgTWFjRG9uYWxkIDxqb2VfbWFjZG9uYWxkQG1lbnRvci5jb20+CitEYXRlOiBUdWUsIDkgU2VwIDIwMTQgMTA6MjQ6NTggLTA0MDAKK1N1YmplY3Q6IFtQQVRDSF0gVXBzdHJlYW0tc3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQ2hyaXN0b3BoZXIgTGFyc29uIDxjaHJpc19sYXJzb25AbWVudG9yLmNvbT4KKworLS0tCisgTWFrZWZpbGUgfCAgICA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggZmMzODM5My4uYTc5ZjhiZiAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTU3LDggKzU3LDggQEAgaWRuX2NmbGFncyA9ICAgIGBlY2hvICQoQ09QVFMpIHwgJCh0b3ApL2JsZC9wa2ctd3JhcHBlciBIQVZFX0lETiAkKFBLR19DT05GSUcpIC0KKyBpZG5fbGlicyA9ICAgICAgYGVjaG8gJChDT1BUUykgfCAkKHRvcCkvYmxkL3BrZy13cmFwcGVyIEhBVkVfSUROICQoUEtHX0NPTkZJRykgLS1saWJzIGxpYmlkbmAgCisgY3RfY2ZsYWdzID0gICAgIGBlY2hvICQoQ09QVFMpIHwgJCh0b3ApL2JsZC9wa2ctd3JhcHBlciBIQVZFX0NPTk5UUkFDSyAkKFBLR19DT05GSUcpIC0tY2ZsYWdzIGxpYm5ldGZpbHRlcl9jb25udHJhY2tgCisgY3RfbGlicyA9ICAgICAgIGBlY2hvICQoQ09QVFMpIHwgJCh0b3ApL2JsZC9wa2ctd3JhcHBlciBIQVZFX0NPTk5UUkFDSyAkKFBLR19DT05GSUcpIC0tbGlicyBsaWJuZXRmaWx0ZXJfY29ubnRyYWNrYAorLWx1YV9jZmxhZ3MgPSAgICBgZWNobyAkKENPUFRTKSB8ICQodG9wKS9ibGQvcGtnLXdyYXBwZXIgSEFWRV9MVUFTQ1JJUFQgJChQS0dfQ09ORklHKSAtLWNmbGFncyBsdWE1LjFgIAorLWx1YV9saWJzID0gICAgICBgZWNobyAkKENPUFRTKSB8ICQodG9wKS9ibGQvcGtnLXdyYXBwZXIgSEFWRV9MVUFTQ1JJUFQgJChQS0dfQ09ORklHKSAtLWxpYnMgbHVhNS4xYCAKKytsdWFfY2ZsYWdzID0gICAgYGVjaG8gJChDT1BUUykgfCAkKHRvcCkvYmxkL3BrZy13cmFwcGVyIEhBVkVfTFVBU0NSSVBUICQoUEtHX0NPTkZJRykgLS1jZmxhZ3MgbHVhYAorK2x1YV9saWJzID0gICAgICBgZWNobyAkKENPUFRTKSB8ICQodG9wKS9ibGQvcGtnLXdyYXBwZXIgSEFWRV9MVUFTQ1JJUFQgJChQS0dfQ09ORklHKSAtLWxpYnMgbHVhYAorIG5ldHRsZV9jZmxhZ3MgPSBgZWNobyAkKENPUFRTKSB8ICQodG9wKS9ibGQvcGtnLXdyYXBwZXIgSEFWRV9ETlNTRUMgJChQS0dfQ09ORklHKSAtLWNmbGFncyBuZXR0bGUgaG9nd2VlZGAKKyBuZXR0bGVfbGlicyA9ICAgYGVjaG8gJChDT1BUUykgfCAkKHRvcCkvYmxkL3BrZy13cmFwcGVyIEhBVkVfRE5TU0VDICQoUEtHX0NPTkZJRykgLS1saWJzIG5ldHRsZSBob2d3ZWVkYAorIGdtcF9saWJzID0gICAgICBgZWNobyAkKENPUFRTKSB8ICQodG9wKS9ibGQvcGtnLXdyYXBwZXIgSEFWRV9ETlNTRUMgJChQS0dfQ09ORklHKSAtLWNvcHkgLWxnbXBgCistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZG5zbWFzcV8yLjc1LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZG5zbWFzcV8yLjc1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExMWFhYmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9kbnNtYXNxXzIuNzUuYmIKQEAgLTAsMCArMSw5IEBACityZXF1aXJlIGRuc21hc3EuaW5jCisKK1NSQ19VUkkgKz0gIlwKKyAgICBmaWxlOi8vbHVhLnBhdGNoIFwKKyIKKworU1JDX1VSSVtkbnNtYXNxLTIuNzUubWQ1c3VtXSA9ICJkOTlhYzEyNmQ0ZmU5MTBjNjc5ZDg4NDMwNTU5NjY5YiIKK1NSQ19VUklbZG5zbWFzcS0yLjc1LnNoYTI1NnN1bV0gPSAiZjgyNTJjMGEwYmExNjJjMmNkNDVmODExNDBjN2MxN2NjNDBhNWZjYTJiODY5ZDFhNDIwODM1Yjc0YWNhZDI5NCIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZmlsZXMvOTlfZG5zbWFzcSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kbnNtYXNxL2ZpbGVzLzk5X2Ruc21hc3EKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjUyY2U0ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kbnNtYXNxL2ZpbGVzLzk5X2Ruc21hc3EKQEAgLTAsMCArMSBAQAorZCByb290IHJvb3QgMDc1NSAvcnVuL2Ruc21hc3Egbm9uZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZmlsZXMvZG5zbWFzcS1ub3Jlc29sdmNvbmYuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kbnNtYXNxL2ZpbGVzL2Ruc21hc3Etbm9yZXNvbHZjb25mLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2RlMjI0NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kbnNtYXNxL2ZpbGVzL2Ruc21hc3Etbm9yZXNvbHZjb25mLnNlcnZpY2UKQEAgLTAsMCArMSwxNSBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1ETlMgZm9yd2FyZGVyIGFuZCBESENQIHNlcnZlcgorQWZ0ZXI9bmV0d29yay50YXJnZXQKKworW1NlcnZpY2VdCitUeXBlPWZvcmtpbmcKK1BJREZpbGU9L3J1bi9kbnNtYXNxLnBpZAorRXhlY1N0YXJ0UHJlPS91c3IvYmluL2Ruc21hc3EgLS10ZXN0CitFeGVjU3RhcnQ9L3Vzci9iaW4vZG5zbWFzcSAteCAvcnVuL2Ruc21hc3EucGlkCitFeGVjU3RvcD0vYmluL2tpbGwgJE1BSU5QSUQKK0V4ZWNSZWxvYWQ9L2Jpbi9raWxsIC1IVVAgJE1BSU5QSUQKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9maWxlcy9kbnNtYXNxLXJlc29sdmNvbmYtaGVscGVyIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZmlsZXMvZG5zbWFzcS1yZXNvbHZjb25mLWhlbHBlcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYjU0ZDQ2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZmlsZXMvZG5zbWFzcS1yZXNvbHZjb25mLWhlbHBlcgpAQCAtMCwwICsxLDYyIEBACisjIS9iaW4vYmFzaAorIworIyBCb3Jyb3dpbmcgaGVhdmlseSBmcm9tIHRoZSBkbnNtYXNxIGluaXRzY3JpcHQncyB2ZXJzaW9uIG9mIHN1cHBvcnQgZm9yCisjIHJlc29sdmNvbmYsIGludGVuZGVkIGZvciB1c2UgaW4gc3lzdGVtZC1vbmx5IGNvbmZpZ3VyYXRpb25zLgorIworUEFUSD0vdXNyL2xvY2FsL3NiaW46L3Vzci9sb2NhbC9iaW46L3NiaW46L2JpbjovdXNyL3NiaW46L3Vzci9iaW4KK0RBRU1PTj0vdXNyL3NiaW4vZG5zbWFzcQorTkFNRT1kbnNtYXNxCisKKyMgTW9zdCBjb25maWd1cmF0aW9uIG9wdGlvbnMgaW4gL2V0Yy9kZWZhdWx0L2Ruc21hc3EgYXJlIGRlcHJlY2F0ZWQKKyMgYnV0IHN0aWxsIGhvbm91cmVkLgoraWYgWyAtciAvZXRjL2RlZmF1bHQvJE5BTUUgXTsgdGhlbgorICAgLiAvZXRjL2RlZmF1bHQvJE5BTUUKK2ZpCisKK3N0YXJ0X3Jlc29sdmNvbmYoKQoreworICAgIyBJZiBpbnRlcmZhY2UgImxvIiBpcyBleHBsaWNpdGx5IGRpc2FibGVkIGluIC9ldGMvZGVmYXVsdC9kbnNtYXNxCisgICAjIFRoZW4gZG5zbWFzcSB3b24ndCBiZSBwcm92aWRpbmcgbG9jYWwgRE5TLCBzbyBkb24ndCBhZGQgaXQgdG8KKyAgICMgdGhlIHJlc29sdmNvbmYgc2VydmVyIHNldC4KKyAgIGZvciBpbnRlcmZhY2UgaW4gJEROU01BU1FfRVhDRVBUCisgICBkbworICAgICAgWyAkaW50ZXJmYWNlID0gbG8gXSAmJiByZXR1cm4KKyAgIGRvbmUKKworICAgaWYgWyAteCAvc2Jpbi9yZXNvbHZjb25mIF0gOyB0aGVuCisgICAgICBlY2hvICJuYW1lc2VydmVyIDEyNy4wLjAuMSIgfAorICAgICAgL3NiaW4vcmVzb2x2Y29uZiAtYSBsby4kTkFNRQorICAgZmkKKyAgIHJldHVybiAwCit9CisKK3N0b3BfcmVzb2x2Y29uZigpCit7CisgICBpZiBbIC14IC9zYmluL3Jlc29sdmNvbmYgXSA7IHRoZW4KKyAgICAgIC9zYmluL3Jlc29sdmNvbmYgLWQgbG8uJE5BTUUKKyAgIGZpCisgICByZXR1cm4gMAorfQorCitjYXNlICIkMSIgaW4KKyAgIHN0YXJ0KQorICAgICAgc3RhcnRfcmVzb2x2Y29uZgorICAgICAgZXhpdCAwCisgICAgICA7OworICAgc3RvcCkKKyAgICAgIHN0b3BfcmVzb2x2Y29uZgorICAgICAgZXhpdCAwCisgICAgICA7OworICAgcmVzdGFydCkKKyAgICAgIHN0b3BfcmVzb2x2Y29uZgorICAgICAgc3RhcnRfcmVzb2x2Y29uZgorICAgICAgZXhpdCAwCisgICAgICA7OworICAgKikKKyAgICAgIGVjaG8gIlVzYWdlOiAvZXRjL2luaXQuZC8kTkFNRSB7c3RhcnR8c3RvcHxyZXN0YXJ0fSIgPiYyCisgICAgICBleGl0IDMKKyAgICAgIDs7Citlc2FjCisKK2V4aXQgMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9maWxlcy9kbnNtYXNxLXJlc29sdmNvbmYuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kbnNtYXNxL2ZpbGVzL2Ruc21hc3EtcmVzb2x2Y29uZi5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4YjE3NWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9maWxlcy9kbnNtYXNxLXJlc29sdmNvbmYuc2VydmljZQpAQCAtMCwwICsxLDE3IEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPUROUyBmb3J3YXJkZXIgYW5kIERIQ1Agc2VydmVyCitBZnRlcj1uZXR3b3JrLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworUElERmlsZT0vcnVuL2Ruc21hc3EucGlkCitFeGVjU3RhcnRQcmU9L3Vzci9iaW4vZG5zbWFzcSAtLXRlc3QKK0V4ZWNTdGFydD0vdXNyL2Jpbi9kbnNtYXNxIC14IC9ydW4vZG5zbWFzcS5waWQKK0V4ZWNTdGFydFBvc3Q9L3Vzci9iaW4vZG5zbWFzcS1yZXNvbHZjb25mLWhlbHBlciBzdGFydAorRXhlY1N0b3BQcmU9L3Vzci9iaW4vZG5zbWFzcS1yZXNvbHZjb25mLWhlbHBlciBzdG9wCitFeGVjU3RvcD0vYmluL2tpbGwgJE1BSU5QSUQKK0V4ZWNSZWxvYWQ9L2Jpbi9raWxsIC1IVVAgJE1BSU5QSUQKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9maWxlcy9kbnNtYXNxLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9maWxlcy9kbnNtYXNxLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmQwZWUwMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kbnNtYXNxL2ZpbGVzL2Ruc21hc3EuY29uZgpAQCAtMCwwICsxLDI5MyBAQAorIyBDb25maWd1cmF0aW9uIGZpbGUgZm9yIGRuc21hc3EuCisjCisjIEZvcm1hdCBpcyBvbmUgb3B0aW9uIHBlciBsaW5lLCBsZWdhbCBvcHRpb25zIGFyZSB0aGUgc2FtZQorIyBhcyB0aGUgbG9uZyBvcHRpb25zIGxlZ2FsIG9uIHRoZSBjb21tYW5kIGxpbmUuIFNlZQorIyAiL3Vzci9zYmluL2Ruc21hc3EgLS1oZWxwIiBvciAibWFuIDggZG5zbWFzcSIgZm9yIGRldGFpbHMuCisKKyMgQ2hhbmdlIHRoZXNlIGxpbmVzIGlmIHlvdSB3YW50IGRuc21hc3EgdG8gc2VydmUgTVggcmVjb3Jkcy4KKyMgT25seSBvbmUgb2YgbXgtaG9zdCBhbmQgbXgtdGFyZ2V0IG5lZWQgYmUgc2V0LCB0aGUgb3RoZXIgZGVmYXVsdHMKKyMgdG8gdGhlIG5hbWUgb2YgdGhlIGhvc3QgIHJ1bm5pbmcgZG5zbWFzcS4KKyNteC1ob3N0PQorI214LXRhcmdldD0KKyNzZWxmbXgKKyNsb2NhbG14CisKKyMgVGhlIGZvbGxvd2luZyB0d28gb3B0aW9ucyBtYWtlIHlvdSBhIGJldHRlciBuZXRpemVuLCBzaW5jZSB0aGV5IAorIyB0ZWxsIGRuc21hc3EgdG8gZmlsdGVyIG91dCBxdWVyaWVzIHdoaWNoIHRoZSBwdWJsaWMgRE5TIGNhbm5vdAorIyBhbnN3ZXIsIGFuZCB3aGljaCBsb2FkIHRoZSBzZXJ2ZXJzIChlc3BlY2lhbGx5IHRoZSByb290IHNlcnZlcnMpIAorIyB1bmVjY2Vzc2FyaWx5LiBJZiB5b3UgaGF2ZSBhIGRpYWwtb24tZGVtYW5kIGxpbmsgdGhleSBhbHNvIHN0b3AKKyMgdGhlc2UgcmVxdWVzdHMgZnJvbSBicmluZ2luZyB1cCB0aGUgbGluayB1bmVjY2Vzc2FyaWx5LgorCisjIE5ldmVyIGZvcndhcmQgcGxhaW4gbmFtZXMgKHdpdGggYSBkb3Qgb3IgZG9tYWluIHBhcnQpCitkb21haW4tbmVlZGVkCisjIE5ldmVyIGZvcndhcmQgYWRkcmVzc2VzIGluIHRoZSBub24tcm91dGVkIGFkZHJlc3Mgc3BhY2VzLgorYm9ndXMtcHJpdgorCisKKyMgVW5jb21tZW50IHRoaXMgdG8gZmlsdGVyIHVzZWxlc3Mgd2luZG93cy1vcmlnaW5hdGVkIEROUyByZXF1ZXN0cworIyB3aGljaCBjYW4gdHJpZ2dlciBkaWFsLW9uLWRlbWFuZCBsaW5rcyBuZWVkbGVzc2x5LgorIyBOb3RlIHRoYXQgKGFtb25nc3Qgb3RoZXIgdGhpbmdzKSB0aGlzIGJsb2NrcyBhbGwgU1JWIHJlcXVlc3RzLCAKKyMgc28gZG9uJ3QgdXNlIGl0IGlmIHlvdSB1c2UgZWcgS2VyYmVyb3MuCisjZmlsdGVyd2luMmsKKworIyBDaGFuZ2UgdGhpcyBsaW5lIGlmIHlvdSB3YW50IGRucyB0byBnZXQgaXRzIHVwc3RyZWFtIHNlcnZlcnMgZnJvbQorIyBzb21ld2hlcmUgb3RoZXIgdGhhdCAvZXRjL3Jlc29sdi5jb25mIAorI3Jlc29sdi1maWxlPQorCisjIEJ5ICBkZWZhdWx0LCAgZG5zbWFzcSAgd2lsbCAgc2VuZCBxdWVyaWVzIHRvIGFueSBvZiB0aGUgdXBzdHJlYW0KKyMgc2VydmVycyBpdCBrbm93cyBhYm91dCBhbmQgdHJpZXMgdG8gZmF2b3VyIHNlcnZlcnMgdG8gYXJlICBrbm93bgorIyB0byAgYmUgIHVwLiAgVW5jb21tZW50aW5nIHRoaXMgZm9yY2VzIGRuc21hc3EgdG8gdHJ5IGVhY2ggcXVlcnkKKyMgd2l0aCAgZWFjaCAgc2VydmVyICBzdHJpY3RseSAgaW4gIHRoZSAgb3JkZXIgIHRoZXkgICBhcHBlYXIgICBpbgorIyAvZXRjL3Jlc29sdi5jb25mCisjc3RyaWN0LW9yZGVyCisKKyMgSWYgeW91IGRvbid0IHdhbnQgZG5zbWFzcSB0byByZWFkIC9ldGMvcmVzb2x2LmNvbmYgb3IgYW55IG90aGVyCisjIGZpbGUsIGdldHRpbmcgaXRzIHNlcnZlcnMgZm9yIHRoaXMgZmlsZSBpbnN0ZWFkIChzZWUgYmVsb3cpLCB0aGVuCisjIHVuY29tbWVudCB0aGlzCisjbm8tcmVzb2x2CisKKyMgSWYgeW91IGRvbid0IHdhbnQgZG5zbWFzcSB0byBwb2xsIC9ldGMvcmVzb2x2LmNvbmYgb3Igb3RoZXIgcmVzb2x2CisjIGZpbGVzIGZvciBjaGFuZ2VzIGFuZCByZS1yZWFkIHRoZW0gdGhlbiB1bmNvbW1lbnQgdGhpcy4KKyNuby1wb2xsCisKKyMgQWRkIG90aGVyIG5hbWUgc2VydmVycyBoZXJlLCB3aXRoIGRvbWFpbiBzcGVjcyBpZiB0aGV5IGFyZSBmb3IgCisjIG5vbi1wdWJsaWMgZG9tYWlucy4KKyNzZXJ2ZXI9L2xvY2FsbmV0LzE5Mi4xNjguMC4xCisKKyMgQWRkIGxvY2FsLW9ubHkgZG9tYWlucyBoZXJlLCBxdWVyaWVzIGluIHRoZXNlIGRvbWFpbnMgYXJlIGFuc3dlcmVkCisjIGZyb20gL2V0Yy9ob3N0cyBvciBESENQIG9ubHkuCisjbG9jYWw9L2xvY2FsbmV0LworCisjIEFkZCBkb21haW5zIHdoaWNoIHlvdSB3YW50IHRvIGZvcmNlIHRvIGFuIElQIGFkZHJlc3MgaGVyZS4KKyMgVGhlIGV4YW1wbGUgYmVsb3cgc2VuZCBhbnkgaG9zdCBpbiBkb3VibGVjbGljay5uZXQgdG8gYSBsb2NhbAorIyB3ZWJzZXJ2ZXIuCisjYWRkcmVzcz0vZG91YmxlY2xpY2submV0LzEyNy4wLjAuMQorCisjIFlvdSBubyBsb25nZXIgKGFzIG9mIHZlcnNpb24gMS43KSBuZWVkIHRvIHNldCB0aGVzZSB0byBlbmFibGUgCisjIGRuc21hc3EgdG8gcmVhZCAvZXRjL3BwcC9yZXNvbHYuY29uZiBzaW5jZSBkbnNtYXNxIG5vdyB1c2VzIHRoZQorIyAiZGlwIiBncm91cCB0byBhY2hpZXZlIHRoaXMuCisjdXNlcj0KKyNncm91cD0KKworIyBJZiB5b3Ugd2FudCBkbnNtYXNxIHRvIGxpc3RlbiBmb3IgcmVxdWVzdHMgb25seSBvbiBzcGVjaWZpZWQgaW50ZXJmYWNlcworIyAoYW5kIHRoZSBsb29wYmFjaykgZ2l2ZSB0aGUgbmFtZSBvZiB0aGUgaW50ZXJmYWNlIChlZyBldGgwKSBoZXJlLiAKKyMgUmVwZWF0IHRoZSBsaW5lIGZvciBtb3JlIHRoYW4gb25lIGludGVyZmFjZS4KKyNpbnRlcmZhY2U9CisjIE9yIHlvdSBjYW4gc3BlY2lmeSB3aGljaCBpbnRlcmZhY2UgX25vdF8gdG8gbGlzdGVuIG9uCisjZXhjZXB0LWludGVyZmFjZT0KKyMgT3Igd2hpY2ggdG8gbGlzdGVuIG9uIGJ5IGFkZHJlc3MgKHJlbWVtYmVyIHRvIGluY2x1ZGUgMTI3LjAuMC4xIGlmCisjIHlvdSB1c2UgdGhpcy4pCitsaXN0ZW4tYWRkcmVzcz0xMjcuMC4wLjEKKworIyBPbiBzeXN0ZW1zIHdoaWNoIHN1cHBvcnQgaXQsIGRuc21hc3EgYmluZHMgdGhlIHdpbGRjYXJkIGFkZHJlc3MsCisjIGV2ZW4gd2hlbiBpdCBpcyBsaXN0ZW5pbmcgb24gb25seSBzb21lIGludGVyZmFjZXMuIEl0IHRoZW4gZGlzY2FyZHMKKyMgcmVxdWVzdHMgdGhhdCBpdCBzaG91bGRuJ3QgcmVwbHkgdG8uIFRoaXMgaGFzIHRoZSBhZHZhbnRhZ2Ugb2YgCisjIHdvcmtpbmcgZXZlbiB3aGVuIGludGVyZmFjZXMgY29tZSBhbmQgZ28gYW5kIGNoYW5nZSBhZGRyZXNzLiBJZiB5b3UKKyMgd2FudCBkbnNtYXNxIHRvIHJlYWxseSBiaW5kIG9ubHkgdGhlIGludGVyZmFjZXMgaXQgaXMgbGlzdGVuaW5nIG9uLAorIyB1bmNvbW1lbnQgdGhpcyBvcHRpb24uIEFib3V0IHRoZSBvbmx5IHRpbWUgeW91IG1heSBuZWVkIHRoaXMgaXMgd2hlbiAKKyMgcnVubmluZyBhbm90aGVyIG5hbWVzZXJ2ZXIgb24gdGhlIHNhbWUgbWFjaGluZS4KKyNiaW5kLWludGVyZmFjZXMgCisKKyMgSWYgeW91IGRvbid0IHdhbnQgZG5zbWFzcSB0byByZWFkIC9ldGMvaG9zdHMsIHVuY29tbWVudCB0aGUKKyMgZm9sbG93aW5nIGxpbmUuCisjbm8taG9zdHMKKyMgb3IgaWYgeW91IHdhbnQgaXQgdG8gcmVhZCBhbm90aGVyIGZpbGUsIGFzIHdlbGwgYXMgL2V0Yy9ob3N0cywgdXNlCisjIHRoaXMuCisjYWRkbi1ob3N0cz0vZXRjL2Jhbm5lcl9hZGRfaG9zdHMKKworIyBTZXQgdGhpcyAoYW5kIGRvbWFpbjogc2VlIGJlbG93KSBpZiB5b3Ugd2FudCB0byBoYXZlIGEgZG9tYWluCisjIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gc2ltcGxlIG5hbWVzIGluIGEgaG9zdHMtZmlsZS4KKyNleHBhbmQtaG9zdHMKKworIyBTZXQgdGhlIGRvbWFpbiBmb3IgZG5zbWFzcS4gdGhpcyBpcyBvcHRpb25hbCwgYnV0IGlmIGl0IGlzIHNldCwgaXQKKyMgZG9lcyB0aGUgZm9sbG93aW5nIHRoaW5ncy4KKyMgMSkgQWxsb3dzIERIQ1AgaG9zdHMgdG8gaGF2ZSBmdWxseSBxdWFsaWZpZWQgZG9tYWluIG5hbWVzLCBhcyBsb25nCisjICAgICBhcyB0aGUgZG9tYWluIHBhcnQgbWF0Y2hlcyB0aGlzIHNldHRpbmcuCisjIDIpIFNldHMgdGhlICJkb21haW4iIERIQ1Agb3B0aW9uIHRoZXJlYnkgcG90ZW50aWFsbHkgc2V0dGluZyB0aGUKKyMgICAgZG9tYWluIG9mIGFsbCBzeXN0ZW1zIGNvbmZpZ3VyZWQgYnkgREhDUAorIyAzKSBQcm92aWRlcyB0aGUgZG9tYWluIHBhcnQgZm9yICJleHBhbmQtaG9zdHMiCisjZG9tYWluPXRoZWtlbGxleXMub3JnLnVrCisgIAorIyBVbmNvbW1lbnQgdGhpcyB0byBlbmFibGUgdGhlIGludGVncmF0ZWQgREhDUCBzZXJ2ZXIsIHlvdSBuZWVkCisjIHRvIHN1cHBseSB0aGUgcmFuZ2Ugb2YgYWRkcmVzc2VzIGF2YWlsYWJsZSBmb3IgbGVhc2UgYW5kIG9wdGlvbmFsbHkgCisjIGEgbGVhc2UgdGltZS4gSWYgeW91IGhhdmUgbW9yZSB0aGFuIG9uZSBuZXR3b3JrLCB5b3Ugd2lsbCBuZWVkIHRvCisjIHJlcGVhdCB0aGlzIGZvciBlYWNoIG5ldHdvcmsgb24gd2hpY2ggeW91IHdhbnQgdG8gc3VwcGx5IERIQ1AKKyMgc2VydmljZS4KKyNkaGNwLXJhbmdlPTE5Mi4xNjguMC41MCwxOTIuMTY4LjAuMTUwLDEyaAorI2RoY3AtcmFuZ2U9MTAuMC4wLjEwLDEwLjAuMC4yMDAsMmgKKworIyBUaGlzIGlzIGFuIGV4YW1wbGUgb2YgYSBESENQIHJhbmdlIHdoZXJlIHRoZSBuZXRtYXNrIGlzIGdpdmVuLiBUaGlzCisjIGlzIG5lZWRlZCBmb3IgbmV0d29ya3Mgd2UgcmVhY2ggdGhlIGRuc21hc3EgREhDUCBzZXJ2ZXIgdmlhIGEgcmVsYXkgCisjIGFnZW50LiBJZiB5b3UgZG9uJ3Qga25vdyB3aGF0IGEgREhDUCByZWxheSBhZ2VudCBpcywgeW91IHByb2JhYmx5CisjIGRvbid0IG5lZWQgdG8gd29ycnkgYWJvdXQgdGhpcy4KKyNkaGNwLXJhbmdlPTE5Mi4xNjguMC41MCwxOTIuMTY4LjAuMTUwLDI1NS4yNTUuMjU1LjAsMTJoCisKKyMgVGhpcyBpcyBhbiBleGFtcGxlIG9mIGEgREhDUCByYW5nZSB3aXRoIGEgbmV0d29yay1pZCwgc28gdGhhdAorIyBzb21lIERIQ1Agb3B0aW9ucyBtYXkgYmUgc2V0IG9ubHkgZm9yIHRoaXMgbmV0d29yay4KKyNkaGNwLXJhbmdlPXJlZCwxOTIuMTY4LjAuNTAsMTkyLjE2OC4wLjE1MAorCisjIFN1cHBseSBwYXJhbWV0ZXJzIGZvciBzcGVjaWZpZWQgaG9zdHMgdXNpbmcgREhDUC4gVGhlcmUgYXJlIGxvdHMKKyMgb2YgdmFsaWQgYWx0ZXJuYXRpdmVzLCBzbyB3ZSB3aWxsIGdpdmUgZXhhbXBsZXMgb2YgZWFjaC4gTm90ZSB0aGF0CisjIElQIGFkZHJlc3NlcyBETyBOT1QgaGF2ZSB0byBiZSBpbiB0aGUgcmFuZ2UgZ2l2ZW4gYWJvdmUsIHRoZXkganVzdAorIyBuZWVkIHRvIGJlIG9uIHRoZSBzYW1lIG5ldHdvcmsuIFRoZSBvcmRlciBvZiB0aGUgcGFyYW1ldGVycyBpbiB0aGVzZQorIyBkbyBub3QgbWF0dGVyLCBpdCdzIHBlcm1pc3NibGUgdG8gZ2l2ZSBuYW1lLGFkZGRyZXNzIGFuZCBNQUMgaW4gYW55IG9yZGVyCisKKyMgQWx3YXlzIGFsbG9jYXRlIHRoZSBob3N0IHdpdGggZXRoZXJuZXQgYWRkcmVzcyAxMToyMjozMzo0NDo1NTo2NiAKKyMgVGhlIElQIGFkZHJlc3MgMTkyLjE2OC4wLjYwCisjZGhjcC1ob3N0PTExOjIyOjMzOjQ0OjU1OjY2LDE5Mi4xNjguMC42MAorCisjIEFsd2F5cyBzZXQgdGhlIG5hbWUgb2YgdGhlIGhvc3Qgd2l0aCBoYXJkd2FyZSBhZGRyZXNzCisjIDExOjIyOjMzOjQ0OjU1OjY2IHRvIGJlICJmcmVkIgorI2RoY3AtaG9zdD0xMToyMjozMzo0NDo1NTo2NixmcmVkCisKKyMgQWx3YXlzIGdpdmUgdGhlIGhvc3Qgd2l0aCBldGhlcm5ldCBhZGRyZXNzIDExOjIyOjMzOjQ0OjU1OjY2CisjIHRoZSBuYW1lIGZyZWQgYW5kIElQIGFkZHJlc3MgMTkyLjE2OC4wLjYwIGFuZCBsZWFzZSB0aW1lIDQ1IG1pbnV0ZXMKKyNkaGNwLWhvc3Q9MTE6MjI6MzM6NDQ6NTU6NjYsZnJlZCwxOTIuMTY4LjAuNjAsNDVtCisKKyMgR2l2ZSB0aGUgbWFjaGluZSB3aGljaCBzYXlzIGl0J3MgbmFtZSBpcyAiYmVydCIgSVAgYWRkcmVzcworIyAxOTIuMTY4LjAuNzAgYW5kIGFuIGluZmluaXRlIGxlYXNlCisjZGhjcC1ob3N0PWJlcnQsMTkyLjE2OC4wLjcwLGluZmluaXRlCisKKyMgQWx3YXlzIGdpdmUgdGhlIGhvc3Qgd2l0aCBjbGllbnQgaWRlbnRpZmllciAwMTowMjowMjowNCAKKyMgdGhlIElQIGFkZHJlc3MgMTkyLjE2OC4wLjYwCisjZGhjcC1ob3N0PWlkOjAxOjAyOjAyOjA0LDE5Mi4xNjguMC42MAorCisjIEFsd2F5cyBnaXZlIHRoZSBob3N0IHdpdGggY2xpZW50IGlkZW50aWZpZXIgIm1hcmpvcmllIgorIyB0aGUgSVAgYWRkcmVzcyAxOTIuMTY4LjAuNjAKKyNkaGNwLWhvc3Q9aWQ6bWFyam9yaWUsMTkyLjE2OC4wLjYwCisKKyMgRW5hYmxlIHRoZSBhZGRyZXNzIGdpdmVuIGZvciAianVkZ2UiIGluIC9ldGMvaG9zdHMKKyMgdG8gYmUgZ2l2ZW4gdG8gYSBtYWNoaW5lIHByZXNlbnRpbmcgdGhlIG5hbWUgImp1ZGdlIiB3aGVuCisjIGl0IGFza3MgZm9yIGEgREhDUCBsZWFzZS4KKyNkaGNwLWhvc3Q9anVkZ2UKKworIyBOZXZlciBvZmZlciBESENQIHNlcnZpY2UgdG8gYSBtYWNoaW5lIHdob3NlIGV0aGVybmV0IAorIyBhZGRyZXNzIGlzIDExOjIyOjMzOjQ0OjU1OjY2CisjZGhjcC1ob3N0PTExOjIyOjMzOjQ0OjU1OjY2LGlnbm9yZQorCisjIElnbm9yZSBhbnkgY2xpZW50LWlkIHByZXNlbnRlZCBieSB0aGUgbWFjaGluZSB3aXRoIGV0aGVybmV0CisjIGFkZHJlc3MgMTE6MjI6MzM6NDQ6NTU6NjYuIFRoaXMgaXMgdXNlZnVsIHRvIHByZXZlbnQgYSBtYWNoaW5lIAorIyBiZWluZyB0cmVhdGVkIGRpZmZlcmVudGx5IHdoZW4gcnVubmluZyB1bmRlciBkaWZmZXJlbnQgT1MncyBvcgorIyBiZXR3ZWVuIFBYRSBib290IGFuZCBPUyBib290LgorI2RoY3AtaG9zdD0xMToyMjozMzo0NDo1NTo2NixpZDoqCisKKyMgU2VuZCBleHRyYSBvcHRpb25zIHdoaWNoIGFyZSB0YWdnZWQgYXMgInJlZCIgdG8gCisjIHRoZSBtYWNoaW5lIHdpdGggZXRoZXJuZXQgYWRkcmVzcyAxMToyMjozMzo0NDo1NTo2NgorI2RoY3AtaG9zdD0xMToyMjozMzo0NDo1NTo2NixuZXQ6cmVkCisKKyMgU2VuZCBleHRyYSBvcHRpb25zIHdoaWNoIGFyZSB0YWdnZWQgYXMgInJlZCIgdG8gYW55IG1hY2hpbmUgd2hvc2UKKyMgREhDUCB2ZW5kb3JjbGFzcyBzdHJpbmcgaW5jbHVkZXMgdGhlIHN1YnN0cmluZyAiTGludXgiCisjZGhjcC12ZW5kb3JjbGFzcz1yZWQsTGludXgKKworIyBTZW5kIGV4dHJhIG9wdGlvbnMgd2hpY2ggYXJlIHRhZ2dlZCBhcyAicmVkIiB0byBhbnkgbWFjaGluZSBvbmUgCisjIG9mIHdob3NlIERIQ1AgdXNlcmNsYXNzIHN0cmluZ3MgaW5jbHVkZXMgdGhlIHN1YnN0cmluZyAiYWNjb3VudHMiCisjZGhjcC11c2VyY2xhc3M9cmVkLGFjY291bnRzCisKKyMgSWYgdGhpcyBsaW5lIGlzIHVuY29tbWVudGVkLCBkbnNtYXNxIHdpbGwgcmVhZCAvZXRjL2V0aGVycyBhbmQgYWN0CisjIG9uIHRoZSBldGhlcm5ldC1hZGRyZXNzL0lQIHBhaXJzIGZvdW5kIHRoZXJlIGp1c3QgYXMgaWYgdGhleSBoYWQKKyMgYmVlbiBnaXZlbiBhcyAtLWRoY3AtaG9zdCBvcHRpb25zLiBVc2VmdWwgaWYgeW91IGtlZXAKKyMgTUFDLWFkZHJlc3MvaG9zdCBtYXBwaW5ncyB0aGVyZSBmb3Igb3RoZXIgcHVycG9zZXMuCisjcmVhZC1ldGhlcnMKKworIyBTZW5kIG9wdGlvbnMgdG8gaG9zdHMgd2hpY2ggYXNrIGZvciBhIERIQ1AgbGVhc2UuCisjIFNlZSBSRkMgMjEzMiBmb3IgZGV0YWlscyBvZiBhdmFpbGFibGUgb3B0aW9ucy4KKyMgTm90ZSB0aGF0IGFsbCB0aGUgY29tbW9uIHNldHRpbmdzLCBzdWNoIGFzIG5ldG1hc2sgYW5kCisjIGJyb2FkY2FzdCBhZGRyZXNzLCBETlMgc2VydmVyIGFuZCBkZWZhdWx0IHJvdXRlLCBhcmUgZ2l2ZW4KKyMgc2FuZSBkZWZhdWx0cyBieSBkbnNtYXNxLiBZb3UgdmVyeSBsaWtlbHkgd2lsbCBub3QgbmVlZCBhbnkKKyMgYW55IGRoY3Atb3B0aW9ucy4gSWYgeW91IHVzZSBXaW5kb3dzIGNsaWVudHMgYW5kIFNhbWJhLCB0aGVyZQorIyBhcmUgc29tZSBvcHRpb25zIHdoaWNoIGFyZSByZWNvbW1lbmRlZCwgdGhleSBhcmUgZGV0YWlsZWQgYXQgdGhlCisjIGVuZCBvZiB0aGlzIHNlY3Rpb24uCisjIEZvciByZWZlcmVuY2UsIHRoZSBjb21tb24gb3B0aW9ucyBhcmU6CisjIHN1Ym5ldCBtYXNrIC0gMQorIyBkZWZhdWx0IHJvdXRlciAtIDMKKyMgRE5TIHNlcnZlciAtIDYKKyMgYnJvYWRjYXN0IGFkZHJlc3MgLSAyOAorCisjIFNldCB0aGUgTlRQIHRpbWUgc2VydmVyIGFkZHJlc3NlcyB0byAxOTIuMTY4LjAuNCBhbmQgMTAuMTAuMC41CisjZGhjcC1vcHRpb249NDIsMTkyLjE2OC4wLjQsMTAuMTAuMC41CisKKyMgU2V0IHRoZSBOVFAgdGltZSBzZXJ2ZXIgYWRkcmVzcyB0byBiZSB0aGUgc2FtZSBtYWNoaW5lIGFzIAorIyBpcyBydW5uaW5nIGRuc21hc3EKKyNkaGNwLW9wdGlvbj00MiwwLjAuMC4wCisKKyMgU2V0IHRoZSBOSVMgZG9tYWluIG5hbWUgdG8gIndlbGx5IgorI2RoY3Atb3B0aW9uPTQwLHdlbGx5CisKKyMgU2V0IHRoZSBkZWZhdWx0IHRpbWUtdG8tbGl2ZSB0byA1MAorI2RoY3Atb3B0aW9uPTIzLDUwCisKKyMgU2V0IHRoZSAiYWxsIHN1Ym5ldHMgYXJlIGxvY2FsIiBmbGFnCisjZGhjcC1vcHRpb249MjcsMQorCisjIFNlbmQgdGhlIGV0aGVyYm9vdCBtYWdpYyBmbGFnIGFuZCB0aGVuIGV0aGVyYm9vdCBvcHRpb25zIChhIHN0cmluZykuCisjZGhjcC1vcHRpb249MTI4LGU0OjQ1Ojc0OjY4OjAwOjAwCisjZGhjcC1vcHRpb249MTI5LE5JQz1lZXBybzEwMAorCisjIFNwZWNpZnkgYW4gb3B0aW9uIHdoaWNoIHdpbGwgb25seSBiZSBzZW50IHRvIHRoZSAicmVkIiBuZXR3b3JrIAorIyAoc2VlIGRoY3AtcmFuZ2UgZm9yIHRoZSBkZWNsYXJhdGlvbiBvZiB0aGUgInJlZCIgbmV0d29yaykKKyNkaGNwLW9wdGlvbj1yZWQsNDIsMTkyLjE2OC4xLjEKKworIyBUaGUgZm9sbG93aW5nIERIQ1Agb3B0aW9ucyBzZXQgdXAgZG5zbWFzcSBpbiB0aGUgc2FtZSB3YXkgYXMgaXMgc3BlY2lmaWVkCisjIGZvciB0aGUgSVNDIGRoY3BjZCBpbiAKKyMgaHR0cDovL3d3dy5zYW1iYS5vcmcvc2FtYmEvZnRwL2RvY3MvdGV4dGRvY3MvREhDUC1TZXJ2ZXItQ29uZmlndXJhdGlvbi50eHQKKyMgYWRhcHRlZCBmb3IgYSB0eXBpY2FsIGRuc21hc3EgaW5zdGFsbGF0aW9uIHdoZXJlIHRoZSBob3N0IHJ1bm5pbmcKKyMgZG5zbWFzcSBpcyBhbHNvIHRoZSBob3N0IHJ1bm5pbmcgc2FtYmEuCisjIHlvdSBtYXkgd2FudCB0byB1bmNvbW1lbnQgdGhlbSBpZiB5b3UgdXNlIFdpbmRvd3MgY2xpZW50cyBhbmQgU2FtYmEuCisjZGhjcC1vcHRpb249MTksMCAgICAgICAgICAgIyBvcHRpb24gaXAtZm9yd2FyZGluZyBvZmYgCisjZGhjcC1vcHRpb249NDQsMC4wLjAuMCAgICAgIyBzZXQgbmV0Ymlvcy1vdmVyLVRDUC9JUCBuYW1lc2VydmVyKHMpIGFrYSBXSU5TIHNlcnZlcihzKQorI2RoY3Atb3B0aW9uPTQ1LDAuMC4wLjAgICAgICMgbmV0YmlvcyBkYXRhZ3JhbSBkaXN0cmlidXRpb24gc2VydmVyCisjZGhjcC1vcHRpb249NDYsOCAgICAgICAgICAgIyBuZXRiaW9zIG5vZGUgdHlwZQorI2RoY3Atb3B0aW9uPTQ3ICAgICAgICAgICAgICMgZW1wdHkgbmV0YmlvcyBzY29wZS4KKyAKKworIyBTZXQgdGhlIGJvb3QgZmlsZW5hbWUgYW5kIHRmdHBkIHNlcnZlciBuYW1lIGFuZCBhZGRyZXNzCisjIGZvciBCT09UUC4gWW91IHdpbGwgb25seSBuZWVkIHRoaXMgaXMgeW91IHdhbnQgdG8KKyMgYm9vdCBtYWNoaW5lcyBvdmVyIHRoZSBuZXR3b3JrLgorI2RoY3AtYm9vdD0vdmFyL2Z0cGQvcHhlbGludXguMCxib290aG9zdCwxOTIuMTY4LjAuMworCisjIFNldCB0aGUgbGltaXQgb24gREhDUCBsZWFzZXMsIHRoZSBkZWZhdWx0IGlzIDE1MAorI2RoY3AtbGVhc2UtbWF4PTE1MAorCisjIFRoZSBESENQIHNlcnZlciBuZWVkcyBzb21ld2hlcmUgb24gZGlzayB0byBrZWVwIGl0cyBsZWFzZSBkYXRhYmFzZS4KKyMgVGhpcyBkZWZhdWx0cyB0byBhIHNhbmUgbG9jYXRpb24sIGJ1dCBpZiB5b3Ugd2FudCB0byBjaGFuZ2UgaXQsIHVzZQorIyB0aGUgbGluZSBiZWxvdy4KKyNkaGNwLWxlYXNlZmlsZT0vdmFyL2xpYi9taXNjL2Ruc21hc3EubGVhc2VzCisKKyMgU2V0IHRoZSBjYWNoZXNpemUgaGVyZS4KKyNjYWNoZS1zaXplPTE1MAorCisjIElmIHlvdSB3YW50IHRvIGRpc2FibGUgbmVnYXRpdmUgY2FjaGluZywgdW5jb21tZW50IHRoaXMuCisjbm8tbmVnY2FjaGUKKworIyBOb3JtYWxseSByZXNwb25zZXMgd2hpY2ggY29tZSBmb3JtIC9ldGMvaG9zdHMgYW5kIHRoZSBESENQIGxlYXNlCisjIGZpbGUgaGF2ZSBUaW1lLVRvLUxpdmUgc2V0IGFzIHplcm8sIHdoaWNoIGNvbnZlbnRpb25hbGx5IG1lYW5zCisjIGRvIG5vdCBjYWNoZSBmdXJ0aGVyLiBJZiB5b3UgYXJlIGhhcHB5IHRvIHRyYWRlIGxvd2VyIGxvYWQgb24gdGhlIAorIyBzZXJ2ZXIgZm9yIHBvdGVudGlhbGx5IHN0YWxlIGRhdGUsIHlvdSBjYW4gc2V0IGEgdGltZS10by1saXZlIChpbiAKKyMgc2Vjb25kcykgaGVyZS4KKyNsb2NhbC10dGw9CisKKyMgSWYgeW91IHdhbnQgZG5zbWFzcSB0byBkZXRlY3QgYXR0ZW1wdHMgYnkgVmVyaXNpZ24gdG8gc2VuZCBxdWVyaWVzCisjIHRvIHVucmVnaXN0ZXJlZCAuY29tIGFuZCAubmV0IGhvc3RzIHRvIGl0cyBzaXRlZmluZGVyIHNlcnZpY2UgYW5kCisjIGhhdmUgZG5zbWFzcSBpbnN0ZWFkIHJldHVybiB0aGUgY29ycmVjdCBOWERPTUFJTiByZXNwb25zZSwgdW5jb21tZW50CisjIHRoaXMgbGluZS4gWW91IGNhbiBhZGQgc2ltaWxhciBsaW5lcyB0byBkbyB0aGUgc2FtZSBmb3Igb3RoZXIKKyMgcmVnaXN0cmllcyB3aGljaCBoYXZlIGltcGxlbWVudGVkIHdpbGRjYXJkIEEgcmVjb3Jkcy4KKyNib2d1cy1ueGRvbWFpbj02NC45NC4xMTAuMTEKKworIyBJZiB5b3Ugd2FudCB0byBmaXggdXAgRE5TIHJlc3VsdHMgZnJvbSB1cHN0cmVhbSBzZXJ2ZXJzLCB1c2UgdGhlCisjIGFsaWFzIG9wdGlvbi4gVGhpcyBvbmx5IHdvcmtzIGZvciBJUHY0LgorIyBUaGlzIGFsaWFzIG1ha2VzIGEgcmVzdWx0IG9mIDEuMi4zLjQgYXBwZWFyIGFzIDUuNi43LjgKKyNhbGlhcz0xLjIuMy40LDUuNi43LjgKKyMgYW5kIHRoaXMgbWFwcyAxLjIuMy54IHRvIDUuNi43LngKKyNhbGlhcz0xLjIuMy4wLDUuNi43LjAsMjU1LjI1NS4yNTUuMAorCisjIEZvciBkZWJ1Z2dpbmcgcHVycG9zZXMsIGxvZyBlYWNoIEROUyBxdWVyeSBhcyBpdCBwYXNzZXMgdGhyb3VnaAorIyBkbnNtYXNxLgorI2xvZy1xdWVyaWVzCisKKyMgSW5jbHVkZSBhIGFub3RoZXIgbG90IG9mIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4KKyNjb25mLWZpbGU9L2V0Yy9kbnNtYXNxLm1vcmUuY29uZgorIAorIAorCisKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZmlsZXMvZG5zbWFzcS5yZXNvbHZjb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZmlsZXMvZG5zbWFzcS5yZXNvbHZjb25mCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA2Y2QyNWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9maWxlcy9kbnNtYXNxLnJlc29sdmNvbmYKQEAgLTAsMCArMSw4NCBAQAorIyEvYmluL3NoCisjCisjIFNjcmlwdCB0byB1cGRhdGUgdGhlIHJlc29sdmVyIGxpc3QgZm9yIGRuc21hc3EKKyMKKyMgTi5CLiBSZXNvbHZjb25mIG1heSBydW4gdXMgZXZlbiBpZiBkbnNtYXNxIGlzIG5vdCAoeWV0KSBydW5uaW5nLgorIyBJZiBkbnNtYXNxIGlzIGluc3RhbGxlZCB0aGVuIHdlIGdvIGFoZWFkIGFuZCB1cGRhdGUgdGhlIHJlc29sdmVyIGxpc3QKKyMgaW4gY2FzZSBkbnNtYXNxIGlzIHN0YXJ0ZWQgbGF0ZXIuCisjCisjIEFzc3VtcHRpb246IE9uIGVudHJ5LCBQV0QgY29udGFpbnMgdGhlIHJlc29sdi5jb25mLXR5cGUgZmlsZXMuCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBkbnNtYXNxIHBhY2thZ2UuCisjCisKK3NldCAtZQorCitSVU5fRElSPSIvcnVuL2Ruc21hc3EiCitSU0xWUkxJU1RfRklMRT0iJHtSVU5fRElSfS9yZXNvbHYuY29uZiIKK1RNUF9GSUxFPSIke1JTTFZSTElTVF9GSUxFfV9uZXcuJCQiCitNWV9OQU1FX0ZPUl9SRVNPTFZDT05GPSJkbnNtYXNxIgorCitbIC14IC91c3IvYmluL2Ruc21hc3EgXSB8fCBleGl0IDAKK1sgLXggL2xpYi9yZXNvbHZjb25mL2xpc3QtcmVjb3JkcyBdIHx8IGV4aXQgMQorCitQQVRIPS9iaW46L3NiaW4KKworcmVwb3J0X2VycigpIHsgZWNobyAiJDA6IEVycm9yOiAkKiIgPiYyIDsgfQorCisjIFN0b3JlcyBhcmd1bWVudHMgKG1pbnVzIGR1cGxpY2F0ZXMpIGluIFJTTFQsIHNlcGFyYXRlZCBieSBzcGFjZXMKKyMgRG9lc24ndCB3b3JrIHByb3Blcmx5IGlmIGFuIGFyZ3VtZW50IGl0c2VsZiBjb250YWlucyB3aGl0ZXNwYWNlCit1bmlxdWlmeSgpCit7CisJUlNMVD0iIgorCXdoaWxlIFsgIiQxIiBdIDsgZG8KKwkJZm9yIEUgaW4gJFJTTFQgOyBkbworCQkJWyAiJDEiID0gIiRFIiBdICYmIHsgc2hpZnQgOyBjb250aW51ZSAyIDsgfQorCQlkb25lCisJCVJTTFQ9IiR7UlNMVDorJFJTTFQgfSQxIgorCQlzaGlmdAorCWRvbmUKK30KKworaWYgWyAhIC1kICIkUlVOX0RJUiIgXSAmJiAhIG1rZGlyIC0tcGFyZW50cyAtLW1vZGU9MDc1NSAiJFJVTl9ESVIiIDsgdGhlbgorCXJlcG9ydF9lcnIgIkZhaWxlZCB0cnlpbmcgdG8gY3JlYXRlIGRpcmVjdG9yeSAkUlVOX0RJUiIKKwlleGl0IDEKK2ZpCisKK1JTTFZDTkZGSUxFUz0iIgorZm9yIEYgaW4gJCgvbGliL3Jlc29sdmNvbmYvbGlzdC1yZWNvcmRzIC0tYWZ0ZXIgImxvLiRNWV9OQU1FX0ZPUl9SRVNPTFZDT05GIikgOyBkbworCWNhc2UgIiRGIiBpbgorCSAgICAibG8uJE1ZX05BTUVfRk9SX1JFU09MVkNPTkYiKQorCQkjIE9taXQgb3duIHJlY29yZAorCQk7OworCSAgICBsby4qKQorCQkjIEluY2x1ZGUgbm8gbW9yZSByZWNvcmRzIGFmdGVyIG9uZSBmb3IgYSBsb2NhbCBuYW1lc2VydmVyCisJCVJTTFZDTkZGSUxFUz0iJHtSU0xWQ05GRklMRVM6KyRSU0xWQ05GRklMRVMgfSRGIgorCQlicmVhaworCQk7OworCSAgKikKKwkJUlNMVkNORkZJTEVTPSIke1JTTFZDTkZGSUxFUzorJFJTTFZDTkZGSUxFUyB9JEYiCisJCTs7CisJZXNhYworZG9uZQorCitOTVNSVlJTPSIiCitpZiBbICIkUlNMVkNORkZJTEVTIiBdIDsgdGhlbgorCXVuaXF1aWZ5ICQoc2VkIC1uIC1lICdzL15bWzpzcGFjZTpdXSpuYW1lc2VydmVyW1s6c3BhY2U6XV1cKy8vcCcgJFJTTFZDTkZGSUxFUykKKwlOTVNSVlJTPSIkUlNMVCIKK2ZpCisKKyMgRG5zbWFzcSB1c2VzIHRoZSBtdGltZSBvZiAkUlNMVlJMSVNUX0ZJTEUsIHdpdGggYSByZXNvbHV0aW9uIG9mIG9uZSBzZWNvbmQsCisjIHRvIGRldGVjdCBjaGFuZ2VzIGluIHRoZSBmaWxlLiBUaGlzIG1lYW5zIHRoYXQgaWYgYSByZXNvbHZjb25mIHVwZGF0ZSBvY2N1cnMKKyMgd2l0aGluIG9uZSBzZWNvbmQgb2YgdGhlIHByZXZpb3VzIG9uZSB0aGVuIGRuc21hc3EgbWF5IGZhaWwgdG8gbm90aWNlIHRoZQorIyBtb3JlIHJlY2VudCBjaGFuZ2UuIFRvIHdvcmsgYXJvdW5kIHRoaXMgcHJvYmxlbSB3ZSBzbGVlcCBvbmUgc2Vjb25kIGhlcmUKKyMgaWYgbmVjZXNzYXJ5IGluIG9yZGVyIHRvIGVuc3VyZSB0aGF0IHRoZSBuZXcgbXRpbWUgaXMgZGlmZmVyZW50LgoraWYgWyAtZiAiJFJTTFZSTElTVF9GSUxFIiBdICYmIFsgIiQoc3RhdCAtYyAlWCAiJFJTTFZSTElTVF9GSUxFIikiID0gIiQoZGF0ZSArJXMpIiBdIDsgdGhlbgorCXNsZWVwIDEKK2ZpCisKK2NsZWFuX3VwKCkgeyBybSAtZiAiJFRNUF9GSUxFIiA7IH0KK3RyYXAgY2xlYW5fdXAgRVhJVAorOiA+fCAiJFRNUF9GSUxFIgorZm9yIE4gaW4gJE5NU1JWUlMgOyBkbyBlY2hvICJuYW1lc2VydmVyICROIiA+PiAiJFRNUF9GSUxFIiA7IGRvbmUKK212IC1mICIkVE1QX0ZJTEUiICIkUlNMVlJMSVNUX0ZJTEUiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kbnNtYXNxL2ZpbGVzL2luaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9maWxlcy9pbml0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxYzk1ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9maWxlcy9pbml0CkBAIC0wLDAgKzEsMTE3IEBACisjIS9iaW4vc2gKK0RBRU1PTj0vdXNyL2Jpbi9kbnNtYXNxCitOQU1FPWRuc21hc3EKK0RFU0M9IkROUyBmb3J3YXJkZXIgYW5kIERIQ1Agc2VydmVyIgorQVJHUz0iLTcgL2V0Yy9kbnNtYXNxLmQiCisKK3Rlc3QgLWYgJERBRU1PTiB8fCBleGl0IDAKKworc2V0IC1lCisKK2lmIFsgLXIgL2V0Yy9kZWZhdWx0LyROQU1FIF0KK3RoZW4KKwkuIC9ldGMvZGVmYXVsdC8kTkFNRQorZmkKKworRE5TTUFTUV9DT05GPSIvZXRjL2Ruc21hc3EuY29uZiIKK3Rlc3QgIi9ldGMvZG5zbWFzcS5kLyoiICE9ICcvZXRjL2Ruc21hc3EuZC8qJyAmJiBETlNNQVNRX0NPTkY9IiR7RE5TTUFTUV9DT05GfSAvZXRjL2Ruc21hc3EuZC8qIgorCit0ZXN0IC16ICIke1BJREZJTEV9IiAmJiBQSUZJTEU9Ii9ydW4vZG5zbWFzcS5waWQiCisKK2lmIFsgLXogIiRJR05PUkVfUkVTT0xWQ09ORiIgXQordGhlbgorCWVncmVwIC1oIC1xICdebm8tcmVzb2x2JyAke0ROU01BU1FfQ09ORn0gJiYgSUdOT1JFX1JFU09MVkNPTkY9InllcyIKK2ZpCisKKyMgUkVTT0xWX0NPTkY6CisjIElmIHRoZSByZXNvbHZjb25mIHBhY2thZ2UgaXMgaW5zdGFsbGVkIHRoZW4gdXNlIHRoZSByZXNvbHYgY29uZiBmaWxlCisjIHRoYXQgaXQgcHJvdmlkZXMgYXMgdGhlIGRlZmF1bHQuICBPdGhlcndpc2UgdXNlIC9ldGMvcmVzb2x2LmNvbmYgYXMKKyMgdGhlIGRlZmF1bHQuCisjCisjIElmIElHTk9SRV9SRVNPTFZDT05GIGlzIHNldCBpbiAvZXRjL2RlZmF1bHQvZG5zbWFzcSBvciBhbiBleHBsaWNpdAorIyBmaWxlbmFtZSBpcyBzZXQgdGhlcmUgdGhlbiB0aGlzIGluaGliaXRzIHRoZSB1c2Ugb2YgdGhlIHJlc29sdmNvbmYtcHJvdmlkZWQKKyMgaW5mb3JtYXRpb24uCisjCisjIE5vdGUgdGhhdCBpZiB0aGUgcmVzb2x2Y29uZiBwYWNrYWdlIGlzIGluc3RhbGxlZCBpdCBpcyBub3QgcG9zc2libGUgdG8KKyMgb3ZlcnJpZGUgaXQganVzdCBieSBjb25maWd1cmF0aW9uIGluIC9ldGMvZG5zbWFzcS5jb25mLCBpdCBpcyBuZWNlc3NhcnkKKyMgdG8gc2V0IElHTk9SRV9SRVNPTFZDT05GPXllcyBpbiAvZXRjL2RlZmF1bHQvZG5zbWFzcS4KKwordGVzdCAteiAiJFJFU09MVl9DT05GIiAtYSAiJElHTk9SRV9SRVNPTFZDT05GIiAhPSAieWVzIiAtYSAteCAvc2Jpbi9yZXNvbHZjb25mICYmIFwKKwlSRVNPTFZfQ09ORj0vcnVuL2Ruc21hc3EvcmVzb2x2LmNvbmYKKworc3RhcnRfcmVzb2x2Y29uZigpCit7CisgICAgICAgIGlmIFsgIiRJR05PUkVfUkVTT0xWQ09ORiIgIT0gInllcyIgLWEgLXggL3NiaW4vcmVzb2x2Y29uZiBdCisJdGhlbgorCQllY2hvICJuYW1lc2VydmVyIDEyNy4wLjAuMSIgfCAvc2Jpbi9yZXNvbHZjb25mIC1hIGxvLiROQU1FCisJZmkKKwk6Cit9CisKK3N0b3BfcmVzb2x2Y29uZigpCit7CisJaWYgWyAiJElHTk9SRV9SRVNPTFZDT05GIiAhPSAieWVzIiAtYSAteCAvc2Jpbi9yZXNvbHZjb25mIF0KKwl0aGVuCisJCS9zYmluL3Jlc29sdmNvbmYgLWQgbG8uJE5BTUUKKwlmaQorCToKK30KKworY2FzZSAiJDEiIGluCisgICAgc3RhcnQpCisgICAgICAgIGVjaG8gLW4gInN0YXJ0aW5nICRERVNDOiAkTkFNRS4uLiAiCisJdGVzdCAtZCAvdmFyL2xpYi9taXNjLyB8fCBta2RpciAvdmFyL2xpYi9taXNjLworCXN0YXJ0LXN0b3AtZGFlbW9uIC1TIC14ICREQUVNT04gLS0gJEFSR1MgXAorCQkke1JFU09MVl9DT05GOisgLXIgJFJFU09MVl9DT05GfSBcCisJCSR7UElERklMRTorIC14ICRQSURGSUxFfQorCXRlc3QgJD8gLWVxIDAgJiYgc3RhcnRfcmVzb2x2Y29uZgorCWVjaG8gImRvbmUuIgorCTs7CisgICAgc3RvcCkKKyAgICAgICAgZWNobyAtbiAic3RvcHBpbmcgJERFU0M6ICROQU1FLi4uICIKKwlzdG9wX3Jlc29sdmNvbmYKKwlzdGFydC1zdG9wLWRhZW1vbiAtSyAteCAkREFFTU9OCisJZWNobyAiZG9uZS4iCisJOzsKKyAgICBzdGF0dXMpCisJZWNobyAtbiAiZG5zbWFzcSAiCisJc3RhcnQtc3RvcC1kYWVtb24gLXEgLUsgLXQgLXggJERBRU1PTgorCVJFVD0kPworCWlmIFsgIiRSRVQiID0gIjAiIF07IHRoZW4KKwkJUElEPWBjYXQgJHtQSURGSUxFfWAKKwkJZWNobyAiKCRQSUQpIGlzIHJ1bm5pbmciCisJZWxzZQorCQllY2hvICJpcyBub3QgcnVubmluZyIKKwkJZXhpdCAkUkVUCisJZmkKKwk7OworICAgIHJlc3RhcnQpCisgICAgICAgIGVjaG8gInJlc3RhcnRpbmcgJERFU0M6ICROQU1FLi4uICIKKyAJJDAgc3RvcAorCSQwIHN0YXJ0CisJZWNobyAiZG9uZS4iCisJOzsKKyAgICByZWxvYWQpCisgICAgCWVjaG8gLW4gInJlbG9hZGluZyAkREVTQzogJE5BTUUuLi4gIgorICAgIAlraWxsYWxsIC1IVVAgJChiYXNlbmFtZSAke0RBRU1PTn0pCisJZWNobyAiZG9uZS4iCisJOzsKKyAgICBzeXN0ZW1kLXN0YXJ0LXJlc29sdmNvbmYpCisJc3RhcnRfcmVzb2x2Y29uZgorCTs7CisgICAgc3lzdGVtZC1zdG9wLXJlc29sdmNvbmYpCisJc3RvcF9yZXNvbHZjb25mCisJOzsKKyAgICBzeXN0ZW1kLWV4ZWMpCisJdGVzdCAtZCAvdmFyL2xpYi9taXNjLyB8fCBta2RpciAvdmFyL2xpYi9taXNjLworCWV4ZWMgJERBRU1PTiAtLWtlZXAtaW4tZm9yZWdyb3VuZCAkQVJHUyBcCisJCSR7UkVTT0xWX0NPTkY6KyAtciAkUkVTT0xWX0NPTkZ9IFwKKwkJJHtQSURGSUxFOisgLXggJFBJREZJTEV9CisJOzsKKyAgICAqKQorCWVjaG8gIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxzdGF0dXN8cmVzdGFydHxyZWxvYWR9IgorCWV4aXQgMQorCTs7Citlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc3NlYy1jb25mL2Ruc3NlYy1jb25mXzIuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zc2VjLWNvbmYvZG5zc2VjLWNvbmZfMi4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYTU5YmQyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc3NlYy1jb25mL2Ruc3NlYy1jb25mXzIuMDIuYmIKQEAgLTAsMCArMSwzNSBAQAorU1VNTUFSWSA9ICJETlNTRUMgYW5kIERMViBjb25maWd1cmF0aW9uIGFuZCBwcmltaW5nIHRvb2wiCitERVNDUklQVElPTiA9ICJcCitETlNTRUMgY29uZmlndXJhdGlvbiBhbmQgcHJpbWluZyB0b29sLiBLZXlzIGFyZSByZXF1aXJlZCB1bnRpbCB0aGUgcm9vdCBcCitpcyBzaWduZWQsIGFzIHdlbGwgYXMgZm9yIGxvY2FsIHVucHVibGlzaGVkIEROU1NFQyBrZXlzIHRvIGJlIHByZWxvYWRlZCBcCitpbnRvIHRoZSByZWN1cnNpdmUgbmFtZXNlcnZlci4gVGhlc2UgRE5TU0VDIGNvbmZpZ3VyYXRpb24gZmlsZXMgY2FuIGJlIFwKK2RpcmVjdGx5IGluY2x1ZGVkIGluIHRoZSBiaW5kIG9yIHVuYm91bmQgbmFtZXNlcnZlciBjb25maWd1cmF0aW9uIGZpbGVzLiBcCitkbnNzZWMtY29uZiBpbmNsdWRlcyBhIGNvbW1hbmRsaW5lIGNvbmZpZ3VyYXRpb24gY2xpZW50IGZvciBCaW5kIGFuZCBcCitVbmJvdW5kLCBrbm93biBETlNTRUMga2V5cywgVVJMJ3MgdG8gb2ZmaWNpYWwgcHVibGljYXRpb24gcGFnZXMgb2Yga2V5cywgXAorYW5kIGhhcnZlc3RlZCBrZXlzLCBhcyB3ZWxsIGEgc2NyaXB0IHRvIGhhcnZlc3QgRE5TS0VZJ3MgZnJvbSBETlMuIFwKK1NlZSBhbHNvOiBzeXN0ZW0tY29uZmlnLWRuc3NlYyIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS94ZWxlcmFuY2UvZG5zc2VjLWNvbmYiCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MDYzNmU3M2ZmMDIxNWU4ZDY3MmRjNGMzMmMzMTdiYjMiCitERVBFTkRTICs9ICJ4bWx0by1uYXRpdmUgZG9jYm9vay14bWwtZHRkNC1uYXRpdmUgXAorICAgICAgICAgICAgZG9jYm9vay14c2wtc3R5bGVzaGVldHMtbmF0aXZlIGxpYnhzbHQtbmF0aXZlIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20veGVsZXJhbmNlL2Ruc3NlYy1jb25mLmdpdCIKK1NSQ1JFViA9ICI4ZTc5OTY4MzczNmI0YTdiNWU1ZTc4Zjk4ZmJhMGE2ZjQ4MzkzNTM3IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19pbnN0YWxsICgpIHsKKyAgICBybSAtcmYgJHtEfQorICAgIG1ha2UgUFJFRklYPSR7cHJlZml4fSBERVNURElSPSR7RH0gRVRDRElSPSR7RH0ke3N5c2NvbmZkaXJ9IGluc3RhbGwKKyAgICAjIFdlIG5vIGxvbmdlciBzaGlwIHRydXN0IGFuY2hvcnMuIE1vc3Qgb2YgdGhlc2UgYXJlIGluIHRoZSBETFYgUmVnaXN0cnkgbm93LgorICAgICMgYW5kIGl0IHByZXZlbnRzIHRoZSBwcm9ibGVtIG9mIHNoaXBwaW5nIG91dGRhdGVkIHRydXN0IGFuY2hvcnMuCisgICAgIyBGb3IgRExWLCB3ZSBzaGlwIHRoZSBJU0MgRExWIFJlZ2lzdHJ5IGtleQorICAgIHJtIC1yZiAke0R9JHtzeXNjb25mZGlyfS9wa2kvZG5zc2VjLWtleXMvaGFydmVzdC8qCisgICAgcm0gLXJmICR7RH0ke3N5c2NvbmZkaXJ9L3BraS9kbnNzZWMta2V5cy9wcm9kdWN0aW9uL3JldmVyc2UvKgorICAgIGluc3RhbGwgLWQgLW0gMDc1NSAke0R9JHtzeXNjb25mZGlyfS9zeXNjb25maWcKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGFja2FnaW5nL2ZlZG9yYS9kbnNzZWMuc3lzY29uZmlnICR7RH0ke3N5c2NvbmZkaXJ9L3N5c2NvbmZpZy9kbnNzZWMKK30KKworUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RvdmVjb3QvZG92ZWNvdC8wMDAxLWNvbmZpZ3VyZS5hYy1jb252ZXJ0LUFDX1RSWV9SVU4tdG8tQUNfVFJZX0xJTkstc3RhdGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG92ZWNvdC9kb3ZlY290LzAwMDEtY29uZmlndXJlLmFjLWNvbnZlcnQtQUNfVFJZX1JVTi10by1BQ19UUllfTElOSy1zdGF0ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODYyMzUwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RvdmVjb3QvZG92ZWNvdC8wMDAxLWNvbmZpZ3VyZS5hYy1jb252ZXJ0LUFDX1RSWV9SVU4tdG8tQUNfVFJZX0xJTkstc3RhdGUucGF0Y2gKQEAgLTAsMCArMSw2NiBAQAorRnJvbSAwNzE1MGYzYTI3NjgxZTAzNGYxOGFiMmVkMmI2ODkxNGMxZTEwYWY2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogU2F0LCAxOCBKdWwgMjAxNSAwNTowMzo1NyArMDkwMAorU3ViamVjdDogW1BBVENIXSBjb25maWd1cmUuYWM6IGNvbnZlcnQgQUNfVFJZX1JVTiB0byBBQ19UUllfTElOSyBzdGF0ZW1lbnRzCisKK1RoaXMgaXMgbm90IGNvbXBsZXRlbHkgc2FmZSwgYnV0IGl0J3MgdGhlIGxlYXN0IGludmFzaXZlIGZpeC4KKworVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitTaWduZWQtb2ZmLWJ5OiBMaSBYaW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CistLS0KKyBjb25maWd1cmUuYWMgfCAxNSArKysrKy0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggM2IzMjYxNC4uOTRlYzAwMiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNTE5LDEzICs1MTksMTAgQEAgaGF2ZV9pb2xvb3A9bm8KKyAKKyBpZiB0ZXN0ICIkaW9sb29wIiA9ICJiZXN0IiB8fCB0ZXN0ICIkaW9sb29wIiA9ICJlcG9sbCI7IHRoZW4KKyAgIEFDX0NBQ0hFX0NIRUNLKFt3aGV0aGVyIHdlIGNhbiB1c2UgZXBvbGxdLGlfY3ZfZXBvbGxfd29ya3MsWworLSAgICBBQ19UUllfUlVOKFsKKysgICAgQUNfVFJZX0xJTksoWworICAgICAgICNpbmNsdWRlIDxzeXMvZXBvbGwuaD4KKy0gIAorLSAgICAgIGludCBtYWluKCkKKy0gICAgICB7CistCXJldHVybiBlcG9sbF9jcmVhdGUoNSkgPCAxOworLSAgICAgIH0KKysgICAgXSwgWworKyAgICAgIGVwb2xsX2NyZWF0ZSg1KSA8IDE7CisgICAgIF0sIFsKKyAgICAgICBpX2N2X2Vwb2xsX3dvcmtzPXllcworICAgICBdLCBbCitAQCAtNjUzLDcgKzY1MCw3IEBAIGZpCisgZG5sICogT2xkIGdsaWJjcyBoYXZlIGJyb2tlbiBwb3NpeF9mYWxsb2NhdGUoKS4gTWFrZSBzdXJlIG5vdCB0byB1c2UgaXQuCisgZG5sICogSXQgbWF5IGFsc28gYmUgYnJva2VuIGluIEFJWC4KKyBBQ19DQUNIRV9DSEVDSyhbd2hldGhlciBwb3NpeF9mYWxsb2NhdGUoKSB3b3Jrc10saV9jdl9wb3NpeF9mYWxsb2NhdGVfd29ya3MsWworLSAgQUNfVFJZX1JVTihbCisrICBBQ19UUllfTElOSyhbCisgICAgICNkZWZpbmUgX1hPUEVOX1NPVVJDRSA2MDAKKyAgICAgI2luY2x1ZGUgPHN0ZGlvLmg+CisgICAgICNpbmNsdWRlIDxzdGRsaWIuaD4KK0BAIC02NjIsNyArNjU5LDcgQEAgQUNfQ0FDSEVfQ0hFQ0soW3doZXRoZXIgcG9zaXhfZmFsbG9jYXRlKCkgd29ya3NdLGlfY3ZfcG9zaXhfZmFsbG9jYXRlX3dvcmtzLFsKKyAgICAgI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiAoX19HTElCQ19fIDwgMiB8fCBfX0dMSUJDX01JTk9SX18gPCA3KQorICAgICAgIHBvc3NpYmx5IGJyb2tlbiBwb3NpeF9mYWxsb2NhdGUKKyAgICAgI2VuZGlmCistICAgIGludCBtYWluKCkgeworKyAgICBdLCBbCisgICAgICAgaW50IGZkID0gY3JlYXQoImNvbmZ0ZXN0LnRlbXAiLCAwNjAwKTsKKyAgICAgICBpbnQgcmV0OworICAgICAgIGlmIChmZCA9PSAtMSkgeworQEAgLTY3MSw4ICs2NjgsNiBAQCBBQ19DQUNIRV9DSEVDSyhbd2hldGhlciBwb3NpeF9mYWxsb2NhdGUoKSB3b3Jrc10saV9jdl9wb3NpeF9mYWxsb2NhdGVfd29ya3MsWworICAgICAgIH0KKyAgICAgICByZXQgPSBwb3NpeF9mYWxsb2NhdGUoZmQsIDEwMjQsIDEwMjQpIDwgMCA/IDEgOiAwOworICAgICAgIHVubGluaygiY29uZnRlc3QudGVtcCIpOworLSAgICAgIHJldHVybiByZXQ7CistICAgIH0KKyAgIF0sIFsKKyAgICAgaV9jdl9wb3NpeF9mYWxsb2NhdGVfd29ya3M9eWVzCisgICBdLCBbCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RvdmVjb3QvZG92ZWNvdC9kb3ZlY290LnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG92ZWNvdC9kb3ZlY290L2RvdmVjb3Quc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYTI1MGVhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RvdmVjb3QvZG92ZWNvdC9kb3ZlY290LnNlcnZpY2UKQEAgLTAsMCArMSwxNCBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1Eb3ZlY290IElNQVAvUE9QMyBlbWFpbCBzZXJ2ZXIKK0FmdGVyPWxvY2FsLWZzLnRhcmdldCBuZXR3b3JrLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9c2ltcGxlCitFbnZpcm9ubWVudEZpbGU9LUBTWVNDT05GRElSQC9zeXNjb25maWcvZG92ZWNvdAorRXhlY1N0YXJ0PUBTQklORElSQC9kb3ZlY290IC1GCitFeGVjUmVsb2FkPS9iaW4va2lsbCAtSFVQICRNQUlOUElECitOb25CbG9ja2luZz15ZXMKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG92ZWNvdC9kb3ZlY290L2RvdmVjb3Quc29ja2V0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RvdmVjb3QvZG92ZWNvdC9kb3ZlY290LnNvY2tldApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTZlMWE4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RvdmVjb3QvZG92ZWNvdC9kb3ZlY290LnNvY2tldApAQCAtMCwwICsxLDE0IEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPURvdmVjb3QgSU1BUC9QT1AzIGVtYWlsIHNlcnZlciBhY3RpdmF0aW9uIHNvY2tldAorCitbU29ja2V0XQorI2RvdmVjb3QgZXhwZWN0cyBzZXBhcmF0ZSBJUHY0IGFuZCBJUHY2IHNvY2tldHMKK0JpbmRJUHY2T25seT1pcHY2LW9ubHkKK0xpc3RlblN0cmVhbT0wLjAuMC4wOjE0MworTGlzdGVuU3RyZWFtPVs6Ol06MTQzCitMaXN0ZW5TdHJlYW09MC4wLjAuMDo5OTMKK0xpc3RlblN0cmVhbT1bOjpdOjk5MworS2VlcEFsaXZlPXRydWUKKworW0luc3RhbGxdCitXYW50ZWRCeT1zb2NrZXRzLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RvdmVjb3QvZG92ZWNvdF8yLjIuMjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG92ZWNvdC9kb3ZlY290XzIuMi4yMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kN2E3Y2M1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RvdmVjb3QvZG92ZWNvdF8yLjIuMjEuYmIKQEAgLTAsMCArMSw2NyBAQAorU1VNTUFSWSA9ICJEb3ZlY290IGlzIGFuIG9wZW4gc291cmNlIElNQVAgYW5kIFBPUDMgZW1haWwgc2VydmVyIgorREVTQ1JJUFRJT04gPSAiRG92ZWNvdCBpcyBhbiBvcGVuIHNvdXJjZSBJTUFQIGFuZCBQT1AzIGVtYWlsIHNlcnZlciBmb3IgTGludXgvVU5JWC1saWtlIHN5c3RlbXMsIHdyaXR0ZW4gd2l0aCBzZWN1cml0eSBwcmltYXJpbHkgaW4gbWluZC4gRG92ZWNvdCBpcyBhbiBleGNlbGxlbnQgY2hvaWNlIGZvciBib3RoIHNtYWxsIGFuZCBsYXJnZSBpbnN0YWxsYXRpb25zLiBJdCdzIGZhc3QsIHNpbXBsZSB0byBzZXQgdXAsIHJlcXVpcmVzIG5vIHNwZWNpYWwgYWRtaW5pc3RyYXRpb24gYW5kIGl0IHVzZXMgdmVyeSBsaXR0bGUgbWVtb3J5LiIKK1NFQ1RJT04gPSAibWFpbCIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEgJiBNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hOTgxMzc5YmQwZjFjMzYyZjhkMWQyMTUxNWU1YjMwYiIKKworU1JDX1VSSSA9ICJodHRwOi8vZG92ZWNvdC5vcmcvcmVsZWFzZXMvMi4yL2RvdmVjb3QtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLmFjLWNvbnZlcnQtQUNfVFJZX1JVTi10by1BQ19UUllfTElOSy1zdGF0ZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kb3ZlY290LnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vZG92ZWNvdC5zb2NrZXQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyOGMzOWFiNzhhMjBmMDA3MDFjMjY5NjBkOTE5MGNmMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3YWI3MTM5ZTU5ZTFmMDM1M2JmOWMyNDI1MWYxM2M4OTNjZjFhNmVmNGJjYzQ3ZTJkNDRkZTQzNzEwOGQwYjIwIgorCitERVBFTkRTID0gIm9wZW5zc2wgeHogemxpYiBiemlwMiBsaWJjYXAgaWN1IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgc3lzdGVtZCB1c2VyYWRkCisKK1BBQ0tBR0VDT05GSUcgPz89ICIgXAorICAgICAgICAgICAgICAgICAgICR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsZGFwJywgJ2xkYXAnLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ3BhbScsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgIgorCitQQUNLQUdFQ09ORklHW3BhbV0gPSAiLS13aXRoLXBhbSwtLXdpdGhvdXQtcGFtLGxpYnBhbSwiCitQQUNLQUdFQ09ORklHW2xkYXBdID0gIi0td2l0aC1sZGFwPXBsdWdpbiwtLXdpdGhvdXQtbGRhcCxvcGVubGRhcCwiCitQQUNLQUdFQ09ORklHW2x6NF0gPSAiLS13aXRoLWx6NCwtLXdpdGhvdXQtbHo0LGx6NCwiCisKKyMgRnJvbSBuYXRpdmUgYnVpbGQgaW4gYXJtdjdhLWhmL2VnbGliYworQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImlfY3Zfc2lnbmVkX3NpemVfdD1ubyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgaV9jdl9nbXRpbWVfbWF4X3RpbWVfdD0zMiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgaV9jdl9zaWduZWRfdGltZV90PXllcyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgaV9jdl9tbWFwX3BsYXlzX3dpdGhfd3JpdGU9eWVzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpX2N2X2ZkX3Bhc3Npbmc9eWVzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpX2N2X2M5OV92c25wcmludGY9eWVzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBsaWJfY3ZfX192YV9jb3B5PXllcyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgbGliX2N2X3ZhX2NvcHk9eWVzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBsaWJfY3ZfdmFfdmFsX2NvcHk9eWVzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICIKKworIyBoYXJkY29kZSBlcG9sbCgpIHRvIGF2b2lkIHJ1bm5pbmcgdW5zYWZlIHRlc3RzCisjIEJTRCBuZWVkcyBrcXVldWUgYW5kIHVjbGliYyBwb2xsKCkKK0VYVFJBX09FQ09ORiA9ICIgLS13aXRoLWlvbG9vcD1lcG9sbCBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtIgorCitTWVNURU1EX1BBQ0tBR0VTID0gIiR7UE59IgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImRvdmVjb3Quc2VydmljZSBkb3ZlY290LnNvY2tldCIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIGluc3RhbGwgLWQgNzU1ICR7RH0vZXRjL2RvdmVjb3QKKyAgICB0b3VjaCA2NDQgJHtEfS9ldGMvZG92ZWNvdC9kb3ZlY290LmNvbmYKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9kb3ZlY290LnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBzZWQgLWkgLWUgJ3MjQFNZU0NPTkZESVJAIyR7c3lzY29uZmRpcn0jZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vZG92ZWNvdC5zZXJ2aWNlCisgICAgc2VkIC1pIC1lICdzI0BTQklORElSQCMke3NiaW5kaXJ9I2cnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2RvdmVjb3Quc2VydmljZQorfQorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItciAtZCAke2xpYmV4ZWNkaXJ9IC1NIC1zICR7YmFzZV9zYmluZGlyfS9ub2xvZ2luIC1nIGRvdmVjb3QgZG92ZWNvdDsgXAorICAgICAgICAgICAgICAgICAgICAgIC1yIC1kICR7bGliZXhlY2Rpcn0gLU0gLXMgJHtiYXNlX3NiaW5kaXJ9L25vbG9naW4gLWcgZG92ZW51bGwgZG92ZW51bGwiCitHUk9VUEFERF9QQVJBTV8ke1BOfSA9ICItZiAtciBkb3ZlY290Oy1mIC1yIGRvdmVudWxsIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2RvdmVjb3QvKnBsdWdpbi5zbyBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2RvdmVjb3QvbGliZnNfY29tcHJlc3Muc28gXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS9kb3ZlY290L2xpYnNzbF9pb3N0cmVhbV9vcGVuc3NsLnNvIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0vZG92ZWNvdC8qLyouYSIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2RvdmVjb3QvbGliZG92ZWNvdCouc28iCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9kb3ZlY290LyovLmRlYnVnIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RyYmQvZHJiZC11dGlscy8wMDAxLU1ha2VmaWxlLmluLWRvbi10LWNvbXBpbGUtZG9jdW1lbnRhdGlvbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kcmJkL2RyYmQtdXRpbHMvMDAwMS1NYWtlZmlsZS5pbi1kb24tdC1jb21waWxlLWRvY3VtZW50YXRpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWRlNGE4NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kcmJkL2RyYmQtdXRpbHMvMDAwMS1NYWtlZmlsZS5pbi1kb24tdC1jb21waWxlLWRvY3VtZW50YXRpb24ucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorRnJvbSBmZWNjZjg5ZjA4YTQ1NTQ2MDY2OGNmMjg2MTUxNjYyZTRjMTU1N2IzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogVGh1LCAyMCBBdWcgMjAxNSAxNTozMjozMCArMDkwMAorU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZS5pbjogZG9uJ3QgY29tcGlsZSBkb2N1bWVudGF0aW9uCisKK1RoZSBkb2N1bWVudGF0aW9uIGZpbGUgaXMgbm90IHN1aXRhYmxlIGZvciBjcm9zcy1jb21waWxlLAorRXJyb3JzIHdpbGwgb2NjdXI6Cit8IC9iaW4vc2g6IC4uLy4uL3VzZXIvdjkvZHJiZHNldHVwOiAvbGliL2xkLWxpbnV4LXg4Ni02NC5zby4yOiBiYWQgRUxGIGludGVycHJldGVyOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cit8IC4uLy4uL3VzZXIvdjkvZHJiZHNldHVwIHhtbC1oZWxwIGRpc2stb3B0aW9ucyA+IGRyYmRzZXR1cF94bWwtaGVscF9kaXNrLW9wdGlvbnMueG1sCit8IC9iaW4vc2g6IC4uLy4uL3VzZXIvdjkvZHJiZHNldHVwOiAvbGliL2xkLWxpbnV4LXg4Ni02NC5zby4yOiBiYWQgRUxGIGludGVycHJldGVyOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cit8IC9iaW4vc2g6IC4uLy4uL3VzZXIvdjkvZHJiZHNldHVwOiAvbGliL2xkLWxpbnV4LXg4Ni02NC5zby4yOiBiYWQgRUxGIGludGVycHJldGVyOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cit8IG1ha2VbMV06ICoqKiBbZHJiZHNldHVwX3htbC1oZWxwX25ldy1yZXNvdXJjZS54bWxdIEVycm9yIDEyNgorCitzbyB3ZSBkbyBub3QgY29tcGlsZSBpdC4KKworVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IExpIFhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KKy0tLQorIE1ha2VmaWxlLmluIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW4gYi9NYWtlZmlsZS5pbgoraW5kZXggNTM2NWEyYy4uZDU5NjdkOCAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmluCisrKysgYi9NYWtlZmlsZS5pbgorQEAgLTQ1LDcgKzQ1LDcgQEAgV0lUSF84NF9TVVBQT1JUID0gQFdJVEhfODRfU1VQUE9SVEAKKyAjIGFuZCBub3QgaW4gZS5nLiBkYXNoLiBJJ20gdG9vIGxhenkgdG8gZml4IGl0IHRvIGJlIGNvbXBhdGlibGUuCisgU0hFTEw9L2Jpbi9iYXNoCisgCistU1VCRElSUyAgICAgPSB1c2VyL3NoYXJlZCB1c2VyL3Y5IHVzZXIvdjg0IHVzZXIvdjgzIHNjcmlwdHMgZG9jdW1lbnRhdGlvbi92ODMgZG9jdW1lbnRhdGlvbi92ODQgZG9jdW1lbnRhdGlvbi92OQorK1NVQkRJUlMgICAgID0gdXNlci9zaGFyZWQgdXNlci92OSB1c2VyL3Y4NCB1c2VyL3Y4MyBzY3JpcHRzCisgCisgUkVMX1ZFUlNJT04gOj0gJChzaGVsbCAkKFNFRCkgLW5lICcvXkFDX0lOSVQve3MvXlteLF0qLCAqXChbXixdKlwpICosLiovXDEvO3A7cX0nIGNvbmZpZ3VyZS5hYykKKyBpZmRlZiBGT1JDRQorLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kcmJkL2RyYmQtdXRpbHMvMDAwMS1NYWtlZmlsZS5pbi1maXgtcGVybWlzc2lvbi1iaXRzLWZvci1kcmJkLnNlcnZpY2UucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZHJiZC9kcmJkLXV0aWxzLzAwMDEtTWFrZWZpbGUuaW4tZml4LXBlcm1pc3Npb24tYml0cy1mb3ItZHJiZC5zZXJ2aWNlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwZGQxZjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZHJiZC9kcmJkLXV0aWxzLzAwMDEtTWFrZWZpbGUuaW4tZml4LXBlcm1pc3Npb24tYml0cy1mb3ItZHJiZC5zZXJ2aWNlLnBhdGNoCkBAIC0wLDAgKzEsMjUgQEAKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTdWJqZWN0OiAgTWFrZWZpbGUuaW46IGZpeCBwZXJtaXNzaW9uIGJpdHMgZm9yIGRyYmQuc2VydmljZQorCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBzY3JpcHRzL01ha2VmaWxlLmluIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc2NyaXB0cy9NYWtlZmlsZS5pbiBiL3NjcmlwdHMvTWFrZWZpbGUuaW4KK2luZGV4IDQwMmI5M2IuLjRhNDU0MDcgMTAwNjQ0CistLS0gYS9zY3JpcHRzL01ha2VmaWxlLmluCisrKysgYi9zY3JpcHRzL01ha2VmaWxlLmluCitAQCAtNjUsNyArNjUsNyBAQCBlbmRpZgorICMgeWVzLCBkZWJpYW4gYXBwYXJlbnRseSBhbGxvd3MgaW5zdGFsbGluZyBib3RoIHR5cGVzIGZyb20gdGhlIHNhbWUgcGFja2FnZQorIGlmbmVxICgkKGluaXRzY3JpcHR0eXBlKSxzeXN2KQkJIyAic3lzdGVtZCIgb3IgImJvdGgiCisgCWluc3RhbGwgLWQgJChERVNURElSKSQoc3lzdGVtZHVuaXRkaXIpCistCWluc3RhbGwgLW0gNzU1IGRyYmQuc2VydmljZSAkKERFU1RESVIpJChzeXN0ZW1kdW5pdGRpcikvCisrCWluc3RhbGwgLW0gNjQ0IGRyYmQuc2VydmljZSAkKERFU1RESVIpJChzeXN0ZW1kdW5pdGRpcikvCisgCWluc3RhbGwgLWQgJChERVNURElSKS9saWIvZHJiZC8KKyAJaW5zdGFsbCAtbSA3NTUgZHJiZCAkKERFU1RESVIpL2xpYi9kcmJkLworIAlpbnN0YWxsIC1kICQoREVTVERJUikkKHRtcGZpbGVzZGlyKS8KKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RyYmQvZHJiZC11dGlsc184LjkuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kcmJkL2RyYmQtdXRpbHNfOC45LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDQ0NTliNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kcmJkL2RyYmQtdXRpbHNfOC45LjMuYmIKQEAgLTAsMCArMSw0MSBAQAorU1VNTUFSWSA9ICJEaXN0cmlidXRlZCBibG9jayBkZXZpY2UgZHJpdmVyIGZvciBMaW51eCIKK0RFU0NSSVBUSU9OID0gIkRSQkQgbWlycm9ycyBhIGJsb2NrIGRldmljZSBvdmVyIHRoZSBuZXR3b3JrIHRvIGFub3RoZXIgbWFjaGluZS5cCitEUkJEIG1pcnJvcnMgYSBibG9jayBkZXZpY2Ugb3ZlciB0aGUgbmV0d29yayB0byBhbm90aGVyIG1hY2hpbmUuXAorVGhpbmsgb2YgaXQgYXMgbmV0d29ya2VkIHJhaWQgMS4gSXQgaXMgYSBidWlsZGluZyBibG9jayBmb3JcCitzZXR0aW5nIHVwIGhpZ2ggYXZhaWxhYmlsaXR5IChIQSkgY2x1c3RlcnMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5kcmJkLm9yZy8iCitTRUNUSU9OID0gImFkbWluIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01NTc0YzY5NjVhZTVmNTgzZTU1ODgwZTM5N2ZiYjAxOCIKKworU1JDX1VSSSA9ICJodHRwOi8vb3NzLmxpbmJpdC5jb20vZHJiZC8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1NYWtlZmlsZS5pbi1kb24tdC1jb21waWxlLWRvY3VtZW50YXRpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1NYWtlZmlsZS5pbi1maXgtcGVybWlzc2lvbi1iaXRzLWZvci1kcmJkLnNlcnZpY2UucGF0Y2ggXAorICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICIwOWM5YzMzYzA0MWUxZjRmODVkZDM1OWY5ZTBiMGYyNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwMTEwNTA1NzhjMTUzYmY0ZmVmODZlMDM3NDkzMDRmZjlmMzMzYjdhZjM1MTJjNWMzOTVlMGU4NzBhMDQ0NWJkIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiZHJiZC5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgc3lzdGVtZAorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtaW5pdGRpcj0vZXRjL2luaXQuZCAgICBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LXBhY2VtYWtlciAgICAgICAgICAgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1yZ21hbmFnZXIgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtYmFzaGNvbXBsZXRpb24gICAgICBcCisgICAgICAgICAgICAgICAgLS13aXRoLWRpc3RybyBkZWJpYW4gICAgICAgICAgXAorICAgICAgICAgICAgICAgIC0td2l0aC1pbml0c2NyaXB0dHlwZT1ib3RoICAgIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtc3lzdGVtZHVuaXRkaXI9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbSBcCisgICAgICAgICAgICAgICAiCisKK1JERVBFTkRTXyR7UE59ICs9ICJiYXNoIHBlcmwiCisKKyMgVGhlIGRyYmQgaXRlbXMgYXJlIGV4cGxpY2l0bHkgcHV0IHVuZGVyIC9saWIgd2hlbiBpbnN0YWxsZWQuCisjCitGSUxFU18ke1BOfSArPSAiL3J1biIKK0ZJTEVTXyR7UE59ICs9ICIke25vbmFyY2hfYmFzZV9saWJkaXJ9L2RyYmQgXAorICAgICAgICAgICAgICAgICR7bm9uYXJjaF9saWJkaXJ9L2RyYmQgXAorICAgICAgICAgICAgICAgICR7bm9uYXJjaF9saWJkaXJ9L3RtcGZpbGVzLmQiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vZHJiZC8uZGVidWciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZXNtdHAvZXNtdHBfMS4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2VzbXRwL2VzbXRwXzEuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNjMxNDhjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2VzbXRwL2VzbXRwXzEuMi5iYgpAQCAtMCwwICsxLDQwIEBACitTVU1NQVJZID0gIlVzZXIgY29uZmlndXJhYmxlIHNlbmQtb25seSBNYWlsIFRyYW5zZmVyIEFnZW50IgorREVTQ1JJUFRJT04gPSAiRVNNVFAgaXMgYSB1c2VyLWNvbmZpZ3VyYWJsZSByZWxheS1vbmx5IE1UQSBcCit3aXRoIGEgc2VuZG1haWwtY29tcGF0aWJsZSBzeW50YXgsIGJhc2VkIG9uIGxpYkVTTVRQIGFuZCBcCitzdXBwb3J0aW5nIHRoZSBBVVRIIChpbmNsdWRpbmcgdGhlIENSQU0tTUQ1IGFuZCBOVExNIFNBU0wgXAorbWVjaGFuaXNtcykgYW5kIFN0YXJ0VExTIFNNVFAgZXh0ZW5zaW9ucy4iCitIT01FUEFHRSA9ICJodHRwOi8vZXNtdHAuc291cmNlZm9yZ2UubmV0LyIKK1NFQ1RJT04gPSAibmV0IgorCitERVBFTkRTID0gImxpYmVzbXRwIgorCitMSUNFTlNFID0gIkdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vJHtCUE59LyR7UFZ9LyR7QlBOfS0ke1BWfS50YXIuYnoyIgorCisjIEhhdmUgdG8gc2V0IHRoaXMgb3Igd2UgZ2V0IC1ML2xpYiBpbiBMREZMQUdTCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLWxpYmVzbXRwPSR7U1RBR0lOR19FWEVDUFJFRklYRElSfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLWFsdGVybmF0aXZlcworCitBTFRFUk5BVElWRV8ke1BOfSA9ICJzZW5kbWFpbCIKKworQUxURVJOQVRJVkVfTElOS19OQU1FW3NlbmRtYWlsXSA9ICIke3NiaW5kaXJ9L3NlbmRtYWlsIgorQUxURVJOQVRJVkVfVEFSR0VUW3NlbmRtYWlsXSA9ICIke2JpbmRpcn0vZXNtdHAiCitBTFRFUk5BVElWRV9QUklPUklUWSA9ICIxMCIKKworU1JDX1VSSVttZDVzdW1dID0gIjc5YTljMWY5MDIzZDUzZjM1YmI4MmJmNDQ2MTUwYTcyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImEwZDI2OTMxYmY3MzFmOTc1MTRkYTI2NmQwNzlkOGJjN2Q3M2M2NWIzNDk5ZWQwODA1NzZhYjYwNmIyMWMwY2UiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgb25seSBvbmUgZmlsZSAvdXNyL2xpYi9zZW5kbWFpbCBpbiAke0R9JHtsaWJkaXJ9CisgICAgcm0gLXJmICR7RH0ke2xpYmRpcn0KK30KKworcGtnX3Bvc3RpbnN0XyR7UE59X2xpbnV4c3RkYmFzZSAoKSB7CisgICAgIyAvdXNyL2xpYi9zZW5kbWlhbCBpcyByZXF1aXJlZCBieSBMU0IgY29yZSB0ZXN0CisgICAgWyAhIC1MICREL3Vzci9saWIvc2VuZG1haWwgXSAmJiBsbiAtc2YgJHtzYmluZGlyfS9zZW5kbWFpbCAkRC91c3IvbGliLworfQorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9LyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9mZXRjaG1haWwvZmV0Y2htYWlsXzYuMy4yNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9mZXRjaG1haWwvZmV0Y2htYWlsXzYuMy4yNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MDlkN2NmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2ZldGNobWFpbC9mZXRjaG1haWxfNi4zLjI2LmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiRmV0Y2htYWlsIHJldHJpZXZlcyBtYWlsIGZyb20gcmVtb3RlIG1haWwgc2VydmVycyBhbmQgZm9yd2FyZHMgaXQgdmlhIFNNVFAiCitERVNDUklQVElPTiA9ICJGZXRjaG1haWwgaXMgYSBmdWxsLWZlYXR1cmVkLCByb2J1c3QsIHdlbGwtZG9jdW1lbnRlZCByZW1vdGUtbWFpbCByZXRyaWV2YWwgYW5kIGZvcndhcmRpbmcgdXRpbGl0eSBpbnRlbmRlZCB0byBiZSB1c2VkIG92ZXIgb24tZGVtYW5kIFRDUC9JUCBsaW5rcyAoc3VjaCBhcyBTTElQIG9yIFBQUCBjb25uZWN0aW9ucykuIEl0IHN1cHBvcnRzIGV2ZXJ5IHJlbW90ZS1tYWlsIHByb3RvY29sIG5vdyBpbiB1c2Ugb24gdGhlIEludGVybmV0OiBQT1AyLCBQT1AzLCBSUE9QLCBBUE9QLCBLUE9QLCBhbGwgZmxhdm9ycyBvZiBJTUFQLCBFVFJOLCBhbmQgT0RNUi4gSXQgY2FuIGV2ZW4gc3VwcG9ydCBJUHY2IGFuZCBJUFNFQy4iCitTRUNUSU9OID0gIm1haWwiCitMSUNFTlNFID0gIkdQTHYyICYgTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZmJiNTA5ZTAzMDNmNWRlZDFjYmZjMGNjODcwNWYyOGMiCisKK0RFUEVORFMgPSAib3BlbnNzbCIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQuYmVybGlvcy5kZS9mZXRjaG1haWwvZmV0Y2htYWlsLSR7UFZ9LnRhci54eiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2MWI2NmZhYWQwNDRhZmEyNmUxNDJiYjE3OTFhYTJiMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3OWI0YzU0Y2RiYWYwMmMxYTlhNjkxZDk5NDhmY2IxYTc3YTE1OTFhODEzZTkwNDI4M2E4YjYxNGI3NTdlODUwIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHB5dGhvbi1kaXIgcHl0aG9ubmF0aXZlCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtc3NsPSR7U1RBR0lOR19ESVJfSE9TVH0ke3ByZWZpeH0iCisKK1BBQ0tBR0VTID0rICJmZXRjaG1haWwtcHl0aG9uIgorRklMRVNfZmV0Y2htYWlsLXB5dGhvbiA9ICIke2xpYmRpcn0vJHtQWVRIT05fRElSfS8qIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2ZwaW5nL2ZwaW5nXzMuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9mcGluZy9mcGluZ18zLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjZiMTdiNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9mcGluZy9mcGluZ18zLjUuYmIKQEAgLTAsMCArMSwyNSBAQAorU1VNTUFSWSA9ICJzZW5kcyBJQ01QIEVDSE9fUkVRVUVTVCBwYWNrZXRzIHRvIG5ldHdvcmsgaG9zdHMiCitERVNDUklQVElPTiA9ICJmcGluZyBpcyBhIHBpbmcgbGlrZSBwcm9ncmFtIHdoaWNoIHVzZXMgdGhlIEludGVybmV0IENvbnRyb2wgXAorTWVzc2FnZSBQcm90b2NvbCAoSUNNUCkgZWNobyByZXF1ZXN0IHRvIGRldGVybWluZSBpZiBhIHRhcmdldCBob3N0IGlzIFwKK3Jlc3BvbmRpbmcuIGZwaW5nIGRpZmZlcnMgZnJvbSBwaW5nIGluIHRoYXQgeW91IGNhbiBzcGVjaWZ5IGFueSBudW1iZXIgb2YgXAordGFyZ2V0cyBvbiB0aGUgY29tbWFuZCBsaW5lLCBvciBzcGVjaWZ5IGEgZmlsZSBjb250YWluaW5nIHRoZSBsaXN0cyBvZiBcCit0YXJnZXRzIHRvIHBpbmcuICBJbnN0ZWFkIG9mIHNlbmRpbmcgdG8gb25lIHRhcmdldCB1bnRpbCBpdCB0aW1lcyBvdXQgb3IgXAorcmVwbGllcywgZnBpbmcgd2lsbCBzZW5kIG91dCBhIHBpbmcgcGFja2V0IGFuZCBtb3ZlIG9uIHRvIHRoZSBuZXh0IHRhcmdldCBcCitpbiBhIHJvdW5kLXJvYmluIGZhc2hpb24uIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mcGluZy5vcmcvIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA5ZDc3Nzg5ZmUzMmJlMzVhY2RlOTYzN2E1ZWUzOWIxIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZnBpbmcub3JnL2Rpc3QvZnBpbmctJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjJlMTdjYjY1NWFhNGViNTliNWE0YTM4YTg5ZTc0NmVkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA5Yjg5NjBlMjM1MzQxYmFlNjAwMDA4NWQzODEwNjM1N2VhZTY1NmE3OWUwMTE5YmQyN2U4MTZjOTAwMzY1NmEiCisKK1MgPSAiJHtXT1JLRElSfS9mcGluZy0ke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLWlwdjQiCisKK1BBQ0tBR0VDT05GSUcgPz0gIiR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgJ2lwdjYnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9nZW9pcC9maWxlcy9ydW4tcHRlc3QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZ2VvaXAvZmlsZXMvcnVuLXB0ZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0ZTk2MTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZ2VvaXAvZmlsZXMvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsMTEgQEAKKyMhL2Jpbi9zaAorcGRpcj1gZGlybmFtZSAkMGAKK2NkICR7cGRpcn0vdGVzdHMKK2ZvciBpIGluIC4vYmVuY2htYXJrIC4vdGVzdC1nZW9pcC1jaXR5IDsgZG8KKwkke2l9IDE+L2Rldi9udWxsIDI+JjE7CisJaWYgWyAkPyA9PSAwIF07IHRoZW4KKwkJZWNobyBQQVNTOiAkaTsKKwllbHNlCisJCWVjaG8gRkFJTDogJGk7CisJZmk7Citkb25lCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZ2VvaXAvZ2VvaXAtcGVybC9ydW4tcHRlc3QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZ2VvaXAvZ2VvaXAtcGVybC9ydW4tcHRlc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTQwNGMyNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9nZW9pcC9nZW9pcC1wZXJsL3J1bi1wdGVzdApAQCAtMCwwICsxLDE1IEBACisjIS9iaW4vc2gKKworIyBUaGUgdGVzdHMgY29udGFpbiBoYXJkLWNvZGVkIHJlbGF0aXZlIHBhdGhzIGFuZCBtdXN0IGJlCisjIGV4ZWN1dGVkIGZyb20gJHBkaXIuCisjCitwZGlyPWBkaXJuYW1lICQwYAorY2QgJHtwZGlyfQorZm9yIGkgaW4gdC8qLnQgOyBkbworCXBlcmwgJHtpfSAxPi9kZXYvbnVsbCAyPiYxOworCWlmIFsgJD8gPT0gMCBdOyB0aGVuCisJCWVjaG8gUEFTUzogJGk7CisJZWxzZQorCQllY2hvIEZBSUw6ICRpOworCWZpOworZG9uZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2dlb2lwL2dlb2lwLXBlcmxfMS40NS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9nZW9pcC9nZW9pcC1wZXJsXzEuNDUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzI4YWQ1OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9nZW9pcC9nZW9pcC1wZXJsXzEuNDUuYmIKQEAgLTAsMCArMSw0MCBAQAorIworIyBDb3B5cmlnaHQgKEMpIDIwMTQsIDIwMTUgV2luZCBSaXZlciBTeXN0ZW1zLCBJbmMuCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIENPUFlJTkcuTUlUIGZvciB0aGUgdGVybXMpCisjCitTVU1NQVJZID0gIkdlb0lQIHBlcmwgQVBJIGxpYnJhcnkgdG8gYWNjZXNzIGxvY2F0aW9uIGRhdGFiYXNlIgorREVTQ1JJUFRJT04gPSAicGVybCBsaWJyYXJ5IGZvciBjb3VudHJ5L2NpdHkvb3JnYW5pemF0aW9uIHRvIElQIGFkZHJlc3Mgb3IgaG9zdG5hbWUgbWFwcGluZyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubWF4bWluZC5jb20vYXBwL2lwLWxvY2F0aW9uIgorU0VDVElPTiA9ICJsaWJkZXZlbCIKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7bWQ1PWIwZmE3NDUzMDM5MTJiZDJkNjQ0MzBmN2FlNjk0ODdkIgorCisjIE5vdGUgdGhhdCB3ZSBkbyBub3Qgd2FudCB0byB1c2UgdGhlIHVwc3RyZWFtIGZpbGUgbmFtZSBsb2NhbGx5LgorIworU1JDX1VSSSA9ICJodHRwOi8vZ2l0aHViLmNvbS9tYXhtaW5kL2dlb2lwLWFwaS1wZXJsL2FyY2hpdmUvdiR7UFZ9LnRhci5nejtkb3dubG9hZGZpbGVuYW1lPSR7QlBOfS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwY2U1NzE0MDg5MGJmODE5NThlMGNlYTRmZTE4ODViMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjNTY0MzdiMWNjODg4NzczNmNiMWU0MzVkMDMyMGMxYzFmZjM3NTQ4MzAyNDk1MTYzMTdiOTkxMzcwMDVmYjIzIgorCitTID0gIiR7V09SS0RJUn0vZ2VvaXAtYXBpLXBlcmwtJHtQVn0iCisKK0RFUEVORFMgKz0gImdlb2lwIgorCitpbmhlcml0IGNwYW4gcHRlc3QKKworRVhUUkFfQ1BBTkZMQUdTID0gIkxJQlM9Jy1MJHtTVEFHSU5HX0xJQkRJUn0nIElOQz0nLUkke1NUQUdJTkdfSU5DRElSfSciCisKKworIyBwZXJsIHNjcmlwdHMgYW5kIHNvbWUgc3BlY2lhbCBzbWFsbCBkYXRhIGZpbGVzCisjCitkb19pbnN0YWxsX3B0ZXN0ICgpIHsKKwlpbnN0YWxsIC1kIC1tIDA3NTUgJHtEfSR7UFRFU1RfUEFUSH0vdC9kYXRhCisKKwlpbnN0YWxsICR7U30vdC8qLnQqICR7RH0ke1BURVNUX1BBVEh9L3QKKwlpbnN0YWxsICR7U30vdC9kYXRhLyogJHtEfSR7UFRFU1RfUEFUSH0vdC9kYXRhCit9CisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3BlcmwvdmVuZG9yX3BlcmwvKi9hdXRvL0dlby9JUC8uZGVidWciCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9nZW9pcC9nZW9pcF8xLjYuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9nZW9pcC9nZW9pcF8xLjYuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjA1MTU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2dlb2lwL2dlb2lwXzEuNi42LmJiCkBAIC0wLDAgKzEsOTMgQEAKK1NVTU1BUlkgPSAiQyBsaWJyYXJ5IGZvciBjb3VudHJ5L2NpdHkvb3JnYW5pemF0aW9uIHRvIElQIGFkZHJlc3Mgb3IgaG9zdG5hbWUgbWFwcGluZyIKK0RFU0NSSVBUSU9OID0gIkdlb0lQIGlzIGEgQyBsaWJyYXJ5IHRoYXQgZW5hYmxlcyB0aGUgdXNlciB0byBmaW5kIHRoZSBjb3VudHJ5IHRoYXQgYW55IElQIFwKK2FkZHJlc3Mgb3IgaG9zdG5hbWUgb3JpZ2luYXRlcyBmcm9tLiBJdCB1c2VzIGEgZmlsZSBiYXNlZCBkYXRhYmFzZSB0aGF0IGlzIFwKK2FjY3VyYXRlIGFzIG9mIE1hcmNoIDIwMDMuIFRoaXMgZGF0YWJhc2Ugc2ltcGx5IGNvbnRhaW5zIElQIGJsb2NrcyBhcyBrZXlzLCBhbmQgXAorY291bnRyaWVzIGFzIHZhbHVlcy4gVGhpcyBkYXRhYmFzZSBzaG91bGQgYmUgbW9yZSBjb21wbGV0ZSBhbmQgYWNjdXJhdGUgdGhhbiBcCit1c2luZyByZXZlcnNlIEROUyBsb29rdXBzLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL2Rldi5tYXhtaW5kLmNvbS9nZW9pcC8iCitTRUNUSU9OID0gImxpYmRldmVsIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbWF4bWluZC9nZW9pcC1hcGktYy5naXQgXAorICAgICAgICAgICBodHRwOi8vZ2VvbGl0ZS5tYXhtaW5kLmNvbS9kb3dubG9hZC9nZW9pcC9kYXRhYmFzZS9HZW9MaXRlQ291bnRyeS9HZW9JUC5kYXQuZ3o7YXBwbHk9bm87bmFtZT1HZW9JUC1kYXQgXAorICAgICAgICAgICBodHRwOi8vZ2VvbGl0ZS5tYXhtaW5kLmNvbS9kb3dubG9hZC9nZW9pcC9kYXRhYmFzZS9HZW9JUHY2LmRhdC5nejthcHBseT1ubztuYW1lPUdlb0lQdjYtZGF0IFwKKyAgICAgICAgICAgaHR0cDovL2dlb2xpdGUubWF4bWluZC5jb20vZG93bmxvYWQvZ2VvaXAvZGF0YWJhc2UvR2VvTGl0ZUNpdHkuZGF0Lmd6O2FwcGx5PW5vO25hbWU9R2VvTGl0ZUNpdHktZGF0IFwKKyAgICAgICAgICAgaHR0cDovL2dlb2xpdGUubWF4bWluZC5jb20vZG93bmxvYWQvZ2VvaXAvZGF0YWJhc2UvR2VvTGl0ZUNpdHl2Ni1iZXRhL0dlb0xpdGVDaXR5djYuZGF0Lmd6O2FwcGx5PW5vO25hbWU9R2VvTGl0ZUNpdHl2Ni1kYXQgXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyIKK1NSQ1JFViA9ICJlZDNmM2UyYjg3ZmJhMDVhOGYyYTViOWIxMzI4ZTdkNTViZThiZjMwIgorCitTUkNfVVJJW0dlb0lQLWRhdC5tZDVzdW1dID0gIjM3Yzg0ZWFkMzMyZGRhMDM2MmE1YWM3YjA0OWI3MmQ0IgorU1JDX1VSSVtHZW9JUC1kYXQuc2hhMjU2c3VtXSA9ICI3OWZmMTA5OWU5NmMyZGMxYzI1MzljOWExOGFhYTEzYTlhZmQwODVjYWU0NzdkZjYwZDk1ZjE2NDRkNDJiYzA3IgorCitTUkNfVVJJW0dlb0lQdjYtZGF0Lm1kNXN1bV0gPSAiZTc1Yjg0YTQwNDRlODFkNmQ0NDg0ZTMzODE2YmM3NjIiCitTUkNfVVJJW0dlb0lQdjYtZGF0LnNoYTI1NnN1bV0gPSAiYTAwOWIwZjIxOTY4ZDI4NjhlNmRkMTlkMTRmM2MzYjhjZDYwYWU4NGE0YmZjMjk3MGRmMzRkNzcxYTA0ODExZSIKKworU1JDX1VSSVtHZW9MaXRlQ2l0eS1kYXQubWQ1c3VtXSA9ICI0YjY1ODhkMGJmZTFhZjIyZTI2N2FjOTBhYTk3Zjc2OSIKK1NSQ19VUklbR2VvTGl0ZUNpdHktZGF0LnNoYTI1NnN1bV0gPSAiOGE2NDY3MDMzYTUyOGY2OGIxYTk3ZGUyNGQ5ZDBjZTg2YzhlOGU4MzY4MzgyMGUxNmU0MzNkZGJkM2Y3MTJmNyIKKworU1JDX1VSSVtHZW9MaXRlQ2l0eXY2LWRhdC5tZDVzdW1dID0gImFkMGNiNDI1MThhZjdmNzUyNDk5NDI1ZGNhMDk1MmJiIgorU1JDX1VSSVtHZW9MaXRlQ2l0eXY2LWRhdC5zaGEyNTZzdW1dID0gImVkYTY3ZjQyMDRiYTlmYTUyMDRhNTNjZGI2MjkxNjdjY2E5Mzk0YzcxMmY1Mzc4YmM3MjNhOGMyOWMwYjQ0MGYiCisKK0xJQ0VOU0UgPSAiTEdQTC0yLjEiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTI0M2I3MjVkNzFiYjVkZjRhMWU1OTIwYjM0NGI4NmFkIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0U7bWQ1PTAzODgyNzY3NDlhNTQyYjBkNjExNjAxZmE3YzFkY2M4ICIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1zdGF0aWMgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcgICIKKworZG9faW5zdGFsbCgpIHsKKyAgICBtYWtlIERFU1RESVI9JHtEfSBpbnN0YWxsCisgICAgaW5zdGFsbCAtZCAke0R9LyR7ZGF0YWRpcn0vR2VvSVAKKyAgICBpbnN0YWxsICR7V09SS0RJUn0vR2VvSVAuZGF0ICR7RH0vJHtkYXRhZGlyfS9HZW9JUC8KKyAgICBpbnN0YWxsICR7V09SS0RJUn0vR2VvSVB2Ni5kYXQgJHtEfS8ke2RhdGFkaXJ9L0dlb0lQLworICAgIGluc3RhbGwgJHtXT1JLRElSfS9HZW9MaXRlQ2l0eS5kYXQgJHtEfS8ke2RhdGFkaXJ9L0dlb0lQLworICAgIGluc3RhbGwgJHtXT1JLRElSfS9HZW9MaXRlQ2l0eXY2LmRhdCAke0R9LyR7ZGF0YWRpcn0vR2VvSVAvCisgICAgbG4gLXMgR2VvTGl0ZUNpdHkuZGF0ICR7RH0ke2RhdGFkaXJ9L0dlb0lQL0dlb0lQQ2l0eS5kYXQKK30KKworUEFDS0FHRVMgPSsgIiR7UE59LWRhdGFiYXNlIgorRklMRVNfJHtQTn0tZGF0YWJhc2UgPSAiIgorRklMRVNfJHtQTn0tZGF0YWJhc2UgKz0gIiR7ZGF0YWRpcn0vR2VvSVAvKiIKKworIyBXZSBjYW5ub3QgZG8gbXVjaCBsb29raW5nIHVwIHdpdGhvdXQgZGF0YWJhc2VzLgorIworUkRFUEVORFNfJHtQTn0gKz0gIiR7UE59LWRhdGFiYXNlIgorCitpbmhlcml0IHB0ZXN0CisKK2RvX2NvbmZpZ3VyZV9wdGVzdCgpIHsKKwlzZWQgLWkgLWUgInMvbm9pbnN0X1BST0dSQU1TID0gL3Rlc3RfUFJPR1JBTVMgPSAvZyIgXAorCSAgICAtZSAnczpTUkNESVI9XFwiJCh0b3Bfc3JjZGlyKVxcIjpTUkNESVI9XFwiJCh0ZXN0ZGlyKVxcIjonIFwKKwkgICR7U30vdGVzdC9NYWtlZmlsZS5hbQorCisJaWYgISBncmVwICJedGVzdGRpciA9ICIgJHtTfS90ZXN0L01ha2VmaWxlLmFtIDsgdGhlbgorCSAgc2VkIC1lICcvRVhUUkFfUFJPR1JBTVMgPSAvaXRlc3RkaXIgPSAke1BURVNUX1BBVEh9L3Rlc3RzJyBcCisJICAgIC1pICR7U30vdGVzdC9NYWtlZmlsZS5hbQorCWZpCisKKwlzZWQgLWkgLWUgInM6L3Vzci9sb2NhbC9zaGFyZTovdXNyL3NoYXJlOmciIFwKKwkgICR7U30vdGVzdC9iZW5jaG1hcmsuYworCisJc2VkIC1pIC1lICdzOiIuLi9kYXRhLzoiL3Vzci9zaGFyZS9HZW9JUC86ZycgXAorCSAgJHtTfS90ZXN0L3Rlc3QtZ2VvaXAtY2l0eS5jIFwKKwkgICR7U30vdGVzdC90ZXN0LWdlb2lwLWlzcC5jIFwKKwkgICR7U30vdGVzdC90ZXN0LWdlb2lwLWFzbnVtLmMgXAorCSAgJHtTfS90ZXN0L3Rlc3QtZ2VvaXAtbmV0c3BlZWQuYyBcCisJICAke1N9L3Rlc3QvdGVzdC1nZW9pcC1vcmcuYyBcCisJICAke1N9L3Rlc3QvdGVzdC1nZW9pcC1yZWdpb24uYworfQorCisKK2RvX2luc3RhbGxfcHRlc3QoKSB7CisJb2VfcnVubWFrZSAtQyB0ZXN0IERFU1RESVI9JHtEfSAgaW5zdGFsbC10ZXN0UFJPR1JBTVMKKwlpbnN0YWxsICR7U30vdGVzdC8qLnR4dCAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cworfQorCisKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2dlb2lwL2dlb2lwdXBkYXRlLTIuMi4xL0dlb0lQLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZ2VvaXAvZ2VvaXB1cGRhdGUtMi4yLjEvR2VvSVAuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMzRjZmVkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2dlb2lwL2dlb2lwdXBkYXRlLTIuMi4xL0dlb0lQLmNvbmYKQEAgLTAsMCArMSwxMSBAQAorIyBUaGUgZm9sbG93aW5nIFVzZXJJZCBhbmQgTGljZW5zZUtleSBhcmUgcmVxdWlyZWQgcGxhY2Vob2xkZXJzOgorVXNlcklkIDk5OTk5OQorTGljZW5zZUtleSAwMDAwMDAwMDAwMDAKKworIyBJbmNsdWRlIG9uZSBvciBtb3JlIG9mIHRoZSBmb2xsb3dpbmcgUHJvZHVjdElkczoKKyMgKiBHZW9MaXRlMi1DaXR5IC0gR2VvTGl0ZSAyIENpdHkKKyMgKiBHZW9MaXRlMi1Db3VudHJ5IC0gR2VvTGl0ZTIgQ291bnRyeQorIyAqIDUwNiAtIEdlb0xpdGUgTGVnYWN5IENvdW50cnkKKyMgKiA1MTcgLSBHZW9MaXRlIExlZ2FjeSBBU04KKyMgKiA1MzMgLSBHZW9MaXRlIExlZ2FjeSBDaXR5CitQcm9kdWN0SWRzIEdlb0xpdGUyLUNpdHkgR2VvTGl0ZTItQ291bnRyeSA1MDYgNTE3IDUzMwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2dlb2lwL2dlb2lwdXBkYXRlLTIuMi4xL2dlb2lwdXBkYXRlLmNyb24gYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZ2VvaXAvZ2VvaXB1cGRhdGUtMi4yLjEvZ2VvaXB1cGRhdGUuY3JvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDU5N2E4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2dlb2lwL2dlb2lwdXBkYXRlLTIuMi4xL2dlb2lwdXBkYXRlLmNyb24KQEAgLTAsMCArMSw1IEBACisjIHRvcCBvZiBjcm9udGFiCitNQUlMVE89eW91ckBlbWFpbC5jb20KKworMzIgMTEgKiAqIDQgL3Vzci9sb2NhbC9iaW4vZ2VvaXB1cGRhdGUKKyMgZW5kIG9mIGNyb250YWIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9nZW9pcC9nZW9pcHVwZGF0ZV8yLjIuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9nZW9pcC9nZW9pcHVwZGF0ZV8yLjIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTNhMDAyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2dlb2lwL2dlb2lwdXBkYXRlXzIuMi4xLmJiCkBAIC0wLDAgKzEsMzAgQEAKK1NVTU1BUlkgPSAiQ3JvbnRhYiBlbnRyeSB0byBwcm92aWRlIHdlZWtseSB1cGRhdGVzIG9mIHRoZSBHZW9JUCBmcmVlIGRhdGFiYXNlcy4iCitERVNDUklQVElPTiA9ICJ1cGRhdGUgZGF0YWJhc2VzIGZvciBHZW9JUCIKKworSE9NRVBBR0UgPSAiaHR0cDovL2Rldi5tYXhtaW5kLmNvbS9nZW9pcC8iCitTRUNUSU9OID0gIm5ldCIKKworREVQRU5EUyA9ICJ6bGliIGN1cmwiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL21heG1pbmQvZ2VvaXB1cGRhdGUvcmVsZWFzZXMvZG93bmxvYWQvdjIuMi4xL2dlb2lwdXBkYXRlLTIuMi4xLnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9HZW9JUC5jb25mIFwKKyAgICAgICAgICAgZmlsZTovL2dlb2lwdXBkYXRlLmNyb24gXAorICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gImFiZmQ0YmI5ZGQ3ZmQ0ODljMTAzODg4ZGRlNWYyYTU3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk1NDdjNDJjYzg2MjBiMmMzMDQwZmQ4ZGY5NWU4ZWU0NWM4YjZlYmNjYTc3MzdkNjQxZjk1MjYxMDRkNWY0NDYiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiXAorZmlsZTovL0NoYW5nZUxvZy5tZDttZDU9NWNhM2Q5MTFlZDU0OWIwNzU2YjAzNDEwZmY3N2ZhNjIgXAorIgorCitpbmhlcml0IGF1dG90b29scworCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2Nyb24uZAorICAgIGluc3RhbGwgJHtXT1JLRElSfS9HZW9JUC5jb25mICR7RH0vJHtzeXNjb25mZGlyfS8KKyAgICBpbnN0YWxsICR7V09SS0RJUn0vZ2VvaXB1cGRhdGUuY3JvbiAke0R9LyR7c3lzY29uZmRpcn0vY3Jvbi5kLworfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lmZW5zbGF2ZS9pZmVuc2xhdmVfMS4xLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaWZlbnNsYXZlL2lmZW5zbGF2ZV8xLjEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hY2MwODY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lmZW5zbGF2ZS9pZmVuc2xhdmVfMS4xLjAuYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSA9ICJDb25maWd1cmUgbmV0d29yayBpbnRlcmZhY2VzIGZvciBwYXJhbGxlbCByb3V0aW5nIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5saW51eGZvdW5kYXRpb24ub3JnL2NvbGxhYm9yYXRlL3dvcmtncm91cHMvbmV0d29ya2luZy9ib25kaW5nIgorU0VDVElPTiA9ICJuZXQiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9pZmVuc2xhdmUuYztiZWdpbmxpbmU9ODtlbmRsaW5lPTEyO21kNT1hOWYwYmQyMzI0Y2RjMWIzNmQxZjQ0ZjBlNjQzYTYyYSIKKworU1JDX1VSSSA9ICJodHRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wvbWFpbi9pLyR7QlBOfS0yLjYvJHtCUE59LTIuNl8ke1BWfS5vcmlnLnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1NjEyNmNkMTAxM2NlZmUwY2U2ZjgxNjEzZTY3N2JkZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3OTE3YmYzNGRlODBhMjQ5MmViMjI1YWRmOTE2OGM4M2E0ODU0YWM4YTAwOGVkMGZkNWIzZmQxNDdjY2QzMDQxIgorCitkb19jb21waWxlKCkgeworICAgICR7Q0N9IGlmZW5zbGF2ZS5jIC1vIGlmZW5zbGF2ZQorfQorZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICIke0R9JHtzYmluZGlyfSIKKyAgICBpbnN0YWxsIC1tIDc1NSAiJHtTfS9pZmVuc2xhdmUiICIke0R9JHtzYmluZGlyfS8iCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaWZ0b3AvaWZ0b3BfMS4wcHJlNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pZnRvcC9pZnRvcF8xLjBwcmU0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjOGU0OTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaWZ0b3AvaWZ0b3BfMS4wcHJlNC5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gImlmdG9wIGRvZXMgZm9yIG5ldHdvcmsgdXNhZ2Ugd2hhdCB0b3AoMSkgZG9lcyBmb3IgQ1BVIHVzYWdlIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5leC1wYXJyb3QuY29tL3Bkdy9pZnRvcC8iCitTRUNUSU9OID0gIm5ldCIKK0RFUEVORFMgPSAibGlicGNhcCBuY3Vyc2VzIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzY0OTgxNzA3OThkYjBmNGYwZmI2ODVhMjI1ZjcwMmYiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5leC1wYXJyb3QuY29tL3Bkdy9pZnRvcC9kb3dubG9hZC9pZnRvcC0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiN2U2ZGVjYjQ5NThlOGE0ODkwY2NjYWMzMzUyMzlmMjQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjczM2VlZWEzNzFhNzU3N2Y4ZmUzNTNkODZkZDg4ZDE2ZjViMmEyZTcwMmJkOTZmNWZmYjJjMTk3ZDliNGY5NyIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHNlYy10b29scy9pcHNlYy10b29scy8wMDAxLXJhY29vbi1wZmtleS1hdm9pZC1wb3RlbnRpYWwtbnVsbC1wb2ludGVyLWRlcmVmZXJlbmMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXBzZWMtdG9vbHMvaXBzZWMtdG9vbHMvMDAwMS1yYWNvb24tcGZrZXktYXZvaWQtcG90ZW50aWFsLW51bGwtcG9pbnRlci1kZXJlZmVyZW5jLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1NjAyYzAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXBzZWMtdG9vbHMvaXBzZWMtdG9vbHMvMDAwMS1yYWNvb24tcGZrZXktYXZvaWQtcG90ZW50aWFsLW51bGwtcG9pbnRlci1kZXJlZmVyZW5jLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0Zyb20gNzM4YTk4NTdiZTljOTJhZDJmNzBiZTg4Y2NlZTIzOGUzMTU0YTkzNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEpvZSBNYWNEb25hbGQgPGpvZS5tYWNkb25hbGRAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgMiBPY3QgMjAxMyAxNDoyMDozNyAtMDQwMAorU3ViamVjdDogW1BBVENIXSByYWNvb24vcGZrZXk6IGF2b2lkIHBvdGVudGlhbCBudWxsLXBvaW50ZXIgZGVyZWZlcmVuY2UKKworQnVpbGRpbmcgd2l0aCAtV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWQgcmV2ZWFsZWQgdGhhdCAncmVtb3RlJyBmcm9tCitwa19yZWN2bWlncmF0ZSgpIGNvdWxkIGJlIHVzZWQgd2l0aCB1bmluaXRpYWxpemVkIGRhdGEgaW4KK21pZ3JhdGVfc3BfaWtlX2FkZHJlc3NlcygpLiAgRW5zdXJlIGl0IGlzIGFsd2F5cyBhdCBhIG1pbmltdW0gYXNzaWduZWQKK05VTEwuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBKb2UgTWFjRG9uYWxkIDxqb2UubWFjZG9uYWxkQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvcmFjb29uL3Bma2V5LmMgfCAgICAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvcmFjb29uL3Bma2V5LmMgYi9zcmMvcmFjb29uL3Bma2V5LmMKK2luZGV4IGQwMGIxNjYuLmUwZGMxZGIgMTAwNjQ0CistLS0gYS9zcmMvcmFjb29uL3Bma2V5LmMKKysrKyBiL3NyYy9yYWNvb24vcGZrZXkuYworQEAgLTMzNTIsNyArMzM1Miw3IEBAIHBrX3JlY3ZtaWdyYXRlKG1ocCkKKyAJc3RydWN0IHNvY2thZGRyICpvbGRfc2FkZHIsICpuZXdfc2FkZHI7CisgCXN0cnVjdCBzb2NrYWRkciAqb2xkX2RhZGRyLCAqbmV3X2RhZGRyOworIAlzdHJ1Y3Qgc29ja2FkZHIgKm9sZF9sb2NhbCwgKm9sZF9yZW1vdGU7CistCXN0cnVjdCBzb2NrYWRkciAqbG9jYWwsICpyZW1vdGU7CisrCXN0cnVjdCBzb2NrYWRkciAqbG9jYWwsICpyZW1vdGUgPSBOVUxMOworIAlzdHJ1Y3Qgc2FkYl94X2ttYWRkcmVzcyAqa21hZGRyOworIAlzdHJ1Y3Qgc2FkYl94X3BvbGljeSAqeHBsOworIAlzdHJ1Y3Qgc2FkYl94X2lwc2VjcmVxdWVzdCAqeGlzcl9saXN0OworLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHNlYy10b29scy9pcHNlYy10b29scy8wMDAyLURvbi10LWxpbmstYWdhaW5zdC1saWJmbC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHNlYy10b29scy9pcHNlYy10b29scy8wMDAyLURvbi10LWxpbmstYWdhaW5zdC1saWJmbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xM2U5ZDczCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwc2VjLXRvb2xzL2lwc2VjLXRvb2xzLzAwMDItRG9uLXQtbGluay1hZ2FpbnN0LWxpYmZsLnBhdGNoCkBAIC0wLDAgKzEsODcgQEAKK0Zyb20gZTQ4YjkwOTdkY2U3YmMyYmZiYjllOWM1NDIxMjRkM2I1Y2ViYWIzOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFBhdWwgQmFya2VyIDxwYXVsQHBhdWxiYXJrZXIubWUudWs+CitEYXRlOiBXZWQsIDUgTWFyIDIwMTQgMTM6Mzk6MTQgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gRG9uJ3QgbGluayBhZ2FpbnN0IGxpYmZsCisKK1dlIGNhbiByZW1vdmUgYWxsIHJlZmVyZW5jZXMgdG8geXl3cmFwIGJ5IGFkZGluZyAiJW9wdGlvbiBub3l5d3JhcCIgc3RhdGVtZW50cwordG8gZWFjaCBmbGV4IHNvdXJjZSBmaWxlIHRoYXQgZG9lc24ndCBvdmVycmlkZSB5eXdyYXAuIEFmdGVyIHRoaXMsIHdlIG5vIGxvbmdlcgorbmVlZCB0byBsaW5rIGFnYWluc3QgbGliZmwgYW5kIHNvIG5vIGxvbmdlciBnZXQgZXJyb3JzIGFib3V0IHVuZGVmaW5lZAorcmVmZXJlbmNlcyB0byB5eWxleC4KKworU2lnbmVkLW9mZi1ieTogUGF1bCBCYXJrZXIgPHBhdWxAcGF1bGJhcmtlci5tZS51az4KK1Vwc3RyZWFtLXN0YXR1czogU3VibWl0dGVkIDIwMTQtMDMtMTEKKyAgICBzZWUgaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wL2lwc2VjLXRvb2xzL21haWxtYW4vaXBzZWMtdG9vbHMtZGV2ZWwvdGhyZWFkL0NBTnlLXzhld214R0EzdkJWSlc2czFBUFhQbXhQUiUyQkRGV1o2MUVMOHBDdDI4OGFLUTZ3JTQwbWFpbC5nbWFpbC5jb20vI21zZzMyMDg4Nzk3CistLS0KKyBzcmMvbGliaXBzZWMvTWFrZWZpbGUuYW0gfCAxIC0KKyBzcmMvcmFjb29uL01ha2VmaWxlLmFtICAgfCAyICstCisgc3JjL3JhY29vbi9jZnRva2VuLmwgICAgIHwgMiArKworIHNyYy9zZXRrZXkvTWFrZWZpbGUuYW0gICB8IDEgLQorIHNyYy9zZXRrZXkvdG9rZW4ubCAgICAgICB8IDIgKysKKyA1IGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9saWJpcHNlYy9NYWtlZmlsZS5hbSBiL3NyYy9saWJpcHNlYy9NYWtlZmlsZS5hbQoraW5kZXggNmE0ZTNiMy4uZGYxZTEwNiAxMDA2NDQKKy0tLSBhL3NyYy9saWJpcHNlYy9NYWtlZmlsZS5hbQorKysrIGIvc3JjL2xpYmlwc2VjL01ha2VmaWxlLmFtCitAQCAtMjYsNyArMjYsNiBAQCBsaWJpcHNlY19sYV9TT1VSQ0VTID0gXAorICMgdmVyc2lvbiBpcyBjdXJyZW50OnJldmlzaW9uOmFnZS4KKyAjIFNlZTogaHR0cDovL3d3dy5nbnUub3JnL21hbnVhbC9saWJ0b29sLTEuNC4yL2h0bWxfY2hhcHRlci9saWJ0b29sXzYuaHRtbCNTRUMzMgorIGxpYmlwc2VjX2xhX0xERkxBR1MgPSAtdmVyc2lvbi1pbmZvIDA6MTowCistbGliaXBzZWNfbGFfTElCQUREID0gJChMRVhMSUIpCisgCisgbm9pbnN0X0hFQURFUlMgPSBpcHNlY19zdHJlcnJvci5oCisgCitkaWZmIC0tZ2l0IGEvc3JjL3JhY29vbi9NYWtlZmlsZS5hbSBiL3NyYy9yYWNvb24vTWFrZWZpbGUuYW0KK2luZGV4IGRiYWRlZDkuLjA2NjI5NTcgMTAwNjQ0CistLS0gYS9zcmMvcmFjb29uL01ha2VmaWxlLmFtCisrKysgYi9zcmMvcmFjb29uL01ha2VmaWxlLmFtCitAQCAtMzgsNyArMzgsNyBAQCByYWNvb25fU09VUkNFUyA9IFwKKyAJY2Z0b2tlbi5sIGNmcGFyc2UueSBwcnNhX3Rvay5sIHByc2FfcGFyLnkgCisgRVhUUkFfcmFjb29uX1NPVVJDRVMgPSBpc2FrbXBfeGF1dGguYyBpc2FrbXBfY2ZnLmMgaXNha21wX3VuaXR5LmMgdGhyb3R0bGUuYyBcCisgCWlzYWttcF9mcmFnLmMgbmF0dHJhdmVyc2FsLmMgc2VjdXJpdHkuYyAkKE1JU1NJTkdfQUxHT1MpCistcmFjb29uX0xEQUREID0gJChDUllQVE9CSlMpICQoSFlCUklEX09CSlMpICQoTkFUVF9PQkpTKSAkKEZSQUdfT0JKUykgJChMRVhMSUIpIFwKKytyYWNvb25fTERBREQgPSAkKENSWVBUT0JKUykgJChIWUJSSURfT0JKUykgJChOQVRUX09CSlMpICQoRlJBR19PQkpTKSBcCisgCSAkKFNFQ0NUWF9PQkpTKSB2bWJ1Zi5vIHNvY2ttaXNjLm8gbWlzYy5vIC4uL2xpYmlwc2VjL2xpYmlwc2VjLmxhCisgcmFjb29uX0RFUEVOREVOQ0lFUyA9IFwKKyAJJChDUllQVE9CSlMpICQoSFlCUklEX09CSlMpICQoTkFUVF9PQkpTKSAkKEZSQUdfT0JKUykgJChTRUNDVFhfT0JKUykgXAorZGlmZiAtLWdpdCBhL3NyYy9yYWNvb24vY2Z0b2tlbi5sIGIvc3JjL3JhY29vbi9jZnRva2VuLmwKK2luZGV4IDQ5MDI0MmMuLjE3MDE5MjIgMTAwNjQ0CistLS0gYS9zcmMvcmFjb29uL2NmdG9rZW4ubAorKysrIGIvc3JjL3JhY29vbi9jZnRva2VuLmwKK0BAIC0xMDYsNiArMTA2LDggQEAgc3RhdGljIGludCBpbmNzdGFja3AgPSAwOworIHN0YXRpYyBpbnQgeXlfZmlyc3RfdGltZSA9IDE7CisgJX0KKyAKKyslb3B0aW9uIG5veXl3cmFwCisrCisgLyogY29tbW9uIHNlY2l0b24gKi8KKyBubAkJXG4KKyB3cwkJWyBcdF0rCitkaWZmIC0tZ2l0IGEvc3JjL3NldGtleS9NYWtlZmlsZS5hbSBiL3NyYy9zZXRrZXkvTWFrZWZpbGUuYW0KK2luZGV4IDc0NmMxZjEuLjM4OWU2Y2YgMTAwNjQ0CistLS0gYS9zcmMvc2V0a2V5L01ha2VmaWxlLmFtCisrKysgYi9zcmMvc2V0a2V5L01ha2VmaWxlLmFtCitAQCAtMTMsNyArMTMsNiBAQCBzZXRrZXlfU09VUkNFUyA9IFwKKyAKKyBzZXRrZXlfTERGTEFHUyA9IC4uL2xpYmlwc2VjL2xpYmlwc2VjLmxhCisgc2V0a2V5X0RFUEVOREVOQ0lFUyA9IC4uL2xpYmlwc2VjL2xpYmlwc2VjLmxhCistc2V0a2V5X0xEQUREID0gJChMRVhMSUIpCisgCisgbm9pbnN0X0hFQURFUlMgPSB2Y2hhci5oIGV4dGVybi5oCisgbWFuOF9NQU5TID0gc2V0a2V5LjgKK2RpZmYgLS1naXQgYS9zcmMvc2V0a2V5L3Rva2VuLmwgYi9zcmMvc2V0a2V5L3Rva2VuLmwKK2luZGV4IGFkM2Q4NDMuLmViMjNiNzYgMTAwNjQ0CistLS0gYS9zcmMvc2V0a2V5L3Rva2VuLmwKKysrKyBiL3NyYy9zZXRrZXkvdG9rZW4ubAorQEAgLTg4LDYgKzg4LDggQEAKKyAjZW5kaWYKKyAlfQorIAorKyVvcHRpb24gbm95eXdyYXAKKysKKyAvKiBjb21tb24gc2VjdGlvbiAqLworIG5sCQlcbgorIHdzCQlbIFx0XSsKKy0tIAorMS45LjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwc2VjLXRvb2xzL2lwc2VjLXRvb2xzL2NvbmZpZ3VyZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHNlYy10b29scy9pcHNlYy10b29scy9jb25maWd1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGQyNzBhNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHNlYy10b29scy9pcHNlYy10b29scy9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorSW5kZXg6IGlwc2VjLXRvb2xzLTAuOC4xL2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGlwc2VjLXRvb2xzLTAuOC4xLm9yaWcvY29uZmlndXJlLmFjCTIwMTMtMDEtMDggMTI6NDM6MjkuMDAwMDAwMDAwICswMDAwCisrKysgaXBzZWMtdG9vbHMtMC44LjEvY29uZmlndXJlLmFjCTIwMTQtMDctMTggMDc6NTE6MzAuMDQ1NTU1ODgwICswMDAwCitAQCAtNiw3ICs2LDcgQEAKKyBBQ19DT05GSUdfU1JDRElSKFtjb25maWd1cmUuYWNdKQorIEFDX0NPTkZJR19IRUFERVJTKGNvbmZpZy5oKQorIAorLUFNX0lOSVRfQVVUT01BS0UoZGlzdC1iemlwMikKKytBTV9JTklUX0FVVE9NQUtFKFtmb3JlaWduIGRpc3QtYnppcDJdKQorIAorIEFDX0VOQUJMRV9TSEFSRUQobm8pCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXBzZWMtdG9vbHMvaXBzZWMtdG9vbHMvZml4LUNWRS0yMDE1LTQwNDcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXBzZWMtdG9vbHMvaXBzZWMtdG9vbHMvZml4LUNWRS0yMDE1LTQwNDcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTI4NjM3NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHNlYy10b29scy9pcHNlYy10b29scy9maXgtQ1ZFLTIwMTUtNDA0Ny5wYXRjaApAQCAtMCwwICsxLDM2IEBACitbUEFUQ0hdIGZpeCBDVkUtMjAxNS00MDQ3CisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworaHR0cDovL3d3dy5vcGVud2FsbC5jb20vbGlzdHMvb3NzLXNlY3VyaXR5LzIwMTUvMDUvMjAvMQorCityYWNvb24vZ3NzYXBpLmMgaW4gSVBzZWMtVG9vbHMgMC44LjIgYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gY2F1c2UKK2EgZGVuaWFsIG9mIHNlcnZpY2UgKE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBhbmQgSUtFIGRhZW1vbiBjcmFzaCkgdmlhCithIHNlcmllcyBvZiBjcmFmdGVkIFVEUCByZXF1ZXN0cy4KKworaHR0cHM6Ly93ZWIubnZkLm5pc3QuZ292L3ZpZXcvdnVsbi9kZXRhaWw/dnVsbklkPUNWRS0yMDE1LTQwNDcKKworU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL3JhY29vbi9nc3NhcGkuYyB8IDUgKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvcmFjb29uL2dzc2FwaS5jIGIvc3JjL3JhY29vbi9nc3NhcGkuYworaW5kZXggZTY0YjIwMS4uMWFkM2I0MiAxMDA2NDQKKy0tLSBhL3NyYy9yYWNvb24vZ3NzYXBpLmMKKysrKyBiL3NyYy9yYWNvb24vZ3NzYXBpLmMKK0BAIC0xOTIsNiArMTkyLDExIEBAIGdzc2FwaV9pbml0KHN0cnVjdCBwaDFoYW5kbGUgKmlwaDEpCisgCWdzc19uYW1lX3QgcHJpbmMsIGNhbm9uX3ByaW5jOworIAlPTV91aW50MzIgbWFqX3N0YXQsIG1pbl9zdGF0OworIAorKwlpZiAoaXBoMS0+cm1jb25mID09IE5VTEwpIHsKKysJICAgICAgICBwbG9nKExMVl9FUlJPUiwgTE9DQVRJT04sIE5VTEwsICJubyByZW1vdGUgY29uZmlnXG4iKTsKKysJICAgICAgICByZXR1cm4gLTE7CisrCX0KKysKKyAJZ3BzID0gcmFjb29uX2NhbGxvYygxLCBzaXplb2YgKHN0cnVjdCBnc3NhcGlfcGgxX3N0YXRlKSk7CisgCWlmIChncHMgPT0gTlVMTCkgeworIAkJcGxvZyhMTFZfRVJST1IsIExPQ0FUSU9OLCBOVUxMLCAicmFjb29uX2NhbGxvYyBmYWlsZWRcbiIpOworLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXBzZWMtdG9vbHMvaXBzZWMtdG9vbHMvZ2xpYmMtMi4yMC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHNlYy10b29scy9pcHNlYy10b29scy9nbGliYy0yLjIwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2ZWZjNDkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXBzZWMtdG9vbHMvaXBzZWMtdG9vbHMvZ2xpYmMtMi4yMC5wYXRjaApAQCAtMCwwICsxLDIzIEBACitzcXVhaGVzIGJlbG93IHdhcm5pbmcKKyAgd2FybmluZzogI3dhcm5pbmcgIl9CU0RfU09VUkNFIGFuZCBfU1ZJRF9TT1VSQ0UgYXJlIGRlcHJlY2F0ZWQsIHVzZSBfREVGQVVMVF9TT1VSQ0UiCisKK1NlZW4gd2l0aCBnbGliYyAyLjIwCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK0luZGV4OiBpcHNlYy10b29scy0wLjguMi9zcmMvaW5jbHVkZS1nbGliYy9nbGliYy1idWdzLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBpcHNlYy10b29scy0wLjguMi5vcmlnL3NyYy9pbmNsdWRlLWdsaWJjL2dsaWJjLWJ1Z3MuaAkyMDA2LTA5LTA5IDA5OjIyOjA4LjAwMDAwMDAwMCAtMDcwMAorKysrIGlwc2VjLXRvb2xzLTAuOC4yL3NyYy9pbmNsdWRlLWdsaWJjL2dsaWJjLWJ1Z3MuaAkyMDE0LTA5LTAzIDIyOjI3OjIyLjU1MTU2Mzg4OCAtMDcwMAorQEAgLTQsNyArNCwxMSBAQAorICNkZWZpbmUgX19HTElCQ19CVUdTX0hfXyAxCisgCisgI2RlZmluZSBfWE9QRU5fU09VUkNFIDUwMAorKy8qIExlZ2FjeSBmZWF0dXJlIG1hY3JvLiovCisgI2RlZmluZSBfQlNEX1NPVVJDRQorKy8qIE5ldyBmZWF0dXJlIG1hY3JvIHRoYXQgcHJvdmlkZXMgZXZlcnl0aGluZyBfQlNEX1NPVVJDRSBhbmQKKysgKiBfU1ZJRF9TT1VSQ0UgcHJvdmlkZWQgYW5kIHBvc3NpYmx5IG1vcmUuICAqLworKyNkZWZpbmUgX0RFRkFVTFRfU09VUkNFCisgCisgI2luY2x1ZGUgPGZlYXR1cmVzLmg+CisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwc2VjLXRvb2xzL2lwc2VjLXRvb2xzL3JhY29vbi1SZXNlbmQtVVBEQVRFLW1lc3NhZ2Utd2hlbi1yZWNlaXZlZC1FSU5UUi1tZXNzYWdlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwc2VjLXRvb2xzL2lwc2VjLXRvb2xzL3JhY29vbi1SZXNlbmQtVVBEQVRFLW1lc3NhZ2Utd2hlbi1yZWNlaXZlZC1FSU5UUi1tZXNzYWdlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4MmRiMDgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXBzZWMtdG9vbHMvaXBzZWMtdG9vbHMvcmFjb29uLVJlc2VuZC1VUERBVEUtbWVzc2FnZS13aGVuLXJlY2VpdmVkLUVJTlRSLW1lc3NhZ2UucGF0Y2gKQEAgLTAsMCArMSwyMjAgQEAKK3JhY29vbjogUmVzZW5kIFVQREFURSBtZXNzYWdlIHdoZW4gcmVjZWl2ZWQgRUlOVFIgbWVzc2FnZQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworV2hpbGUga2VybmVsIGlzIHByb2Nlc3NpbmcgdGhlIFVQREFURSBtZXNzYWdlIHdoaWNoIGlzIHNlbnQgZnJvbSByYWNvb24sCitpdCBtYXliZSBpbnRlcnJ1cHRlZCBieSBzeXN0ZW0gc2lnbmFsIGFuZCBpZiB0aGlzIGNhc2UgaGFwcGVucywKK2tlcm5lbCByZXNwb25kcyB3aXRoIGFuIEVJTlRSIG1lc3NhZ2UgdG8gcmFjb29uIGFuZCBrZXJuZWwgZmFpbHMgdG8KK2VzdGFibGlzaCB0aGUgY29ycmVzcG9uZGluZyBTQS4KK0ZpeCB0aGlzIHByb2JsZW0gYnkgcmVzZW5kIHRoZSBVUERBVEUgbWVzc2FnZSB3aGVuIEVJTlRSKEludGVycnVwdGVkCitzeXN0ZW0gY2FsbCkgZXJyb3IgaGFwcGVucy4KKworU2lnbmVkLW9mZi1ieTogWHVmZW5nIFpoYW5nIDx4dWZlbmcuemhhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorLS0tIGEvc3JjL2xpYmlwc2VjL2xpYnBma2V5LmgKKysrKyBiL3NyYy9saWJpcHNlYy9saWJwZmtleS5oCitAQCAtOTIsNiArOTIsMTIgQEAKKyAJdV9pbnQxNl90IGN0eHN0cmxlbjsJCS8qIGxlbmd0aCBvZiBzZWN1cml0eSBjb250ZXh0IHN0cmluZyAqLworIH07CisgCisrc3RydWN0IHVwZGF0ZV9tc2dfaW5mbyB7CisrICAgICAgICBzdHJ1Y3Qgc2FkYl9tc2cgKnVwZGF0ZV9tc2c7CisrICAgICAgICBpbnQgc287CisrICAgICAgICBpbnQgbGVuOworK307CisrCisgLyogVGhlIG9wdGlvbnMgYnVpbHQgaW50byBsaWJpcHNlYyAqLworIGV4dGVybiBpbnQgbGliaXBzZWNfb3B0OworICNkZWZpbmUgTElCSVBTRUNfT1BUX05BVFQJCTB4MDEKKy0tLSBhL3NyYy9saWJpcHNlYy9wZmtleS5jCisrKysgYi9zcmMvbGliaXBzZWMvcGZrZXkuYworQEAgLTEyMTksNyArMTIxOSw4IEBACisgfQorICNlbmRpZgorIAorLQorK3N0cnVjdCB1cGRhdGVfbXNnX2luZm8gdXBkYXRlX21zZ19zZW5kID0ge05VTEwsIDAsIDB9OworKworIC8qIHNlbmRpbmcgU0FEQl9BREQgb3IgU0FEQl9VUERBVEUgbWVzc2FnZSB0byB0aGUga2VybmVsICovCisgc3RhdGljIGludAorIHBma2V5X3NlbmRfeDEoc3RydWN0IHBma2V5X3NlbmRfc2FfYXJncyAqc2FfcGFybXMpCitAQCAtMTQ4MywxMCArMTQ4NCwyNCBAQAorIAorIAkvKiBzZW5kIG1lc3NhZ2UgKi8KKyAJbGVuID0gcGZrZXlfc2VuZChzYV9wYXJtcy0+c28sIG5ld21zZywgbGVuKTsKKy0JZnJlZShuZXdtc2cpOworIAorLQlpZiAobGVuIDwgMCkKKy0JCXJldHVybiAtMTsKKysJaWYgKG5ld21zZy0+c2FkYl9tc2dfdHlwZSA9PSBTQURCX1VQREFURSkgeworKwkJaWYgKHVwZGF0ZV9tc2dfc2VuZC51cGRhdGVfbXNnKQorKwkJCWZyZWUodXBkYXRlX21zZ19zZW5kLnVwZGF0ZV9tc2cpOworKwkJdXBkYXRlX21zZ19zZW5kLnVwZGF0ZV9tc2cgPSBuZXdtc2c7CisrCQl1cGRhdGVfbXNnX3NlbmQuc28gPSBzYV9wYXJtcy0+c287CisrCQl1cGRhdGVfbXNnX3NlbmQubGVuID0gbGVuOworKworKwkJaWYgKGxlbiA8IDApIHsKKysJCQlmcmVlKHVwZGF0ZV9tc2dfc2VuZC51cGRhdGVfbXNnKTsKKysJCQl1cGRhdGVfbXNnX3NlbmQudXBkYXRlX21zZyA9IE5VTEw7CisrCQkJcmV0dXJuIC0xOworKwkJfQorKwl9IGVsc2UgeworKwkJZnJlZShuZXdtc2cpOworKwkJaWYgKGxlbiA8IDApCisrCQkJcmV0dXJuIC0xOworKwl9CisgCisgCV9faXBzZWNfZXJyY29kZSA9IEVJUFNFQ19OT19FUlJPUjsKKyAJcmV0dXJuIGxlbjsKKy0tLSBhL3NyYy9yYWNvb24vc2Vzc2lvbi5jCisrKysgYi9zcmMvcmFjb29uL3Nlc3Npb24uYworQEAgLTEwMCw2ICsxMDAsOCBAQAorIAorICNpbmNsdWRlICJzYWluZm8uaCIKKyAKKytleHRlcm4gc3RydWN0IHVwZGF0ZV9tc2dfaW5mbyB1cGRhdGVfbXNnX3NlbmQ7CisrCisgc3RydWN0IGZkX21vbml0b3IgeworIAlpbnQgKCpjYWxsYmFjaykodm9pZCAqY3R4LCBpbnQgZmQpOworIAl2b2lkICpjdHg7CitAQCAtMzQ4LDYgKzM1MCwxMSBAQAorIAljbG9zZV9zb2NrZXRzKCk7CisgCWJhY2t1cHNhX2NsZWFuKCk7CisgCisrCWlmICh1cGRhdGVfbXNnX3NlbmQudXBkYXRlX21zZykgeworKwkJZnJlZSh1cGRhdGVfbXNnX3NlbmQudXBkYXRlX21zZyk7CisrCQl1cGRhdGVfbXNnX3NlbmQudXBkYXRlX21zZyA9IE5VTEw7CisrCX0KKysKKyAJcGxvZyhMTFZfSU5GTywgTE9DQVRJT04sIE5VTEwsICJyYWNvb24gcHJvY2VzcyAlZCBzaHV0ZG93blxuIiwgZ2V0cGlkKCkpOworIAorIAlleGl0KDApOworLS0tIGEvc3JjL3JhY29vbi9wZmtleS5jCisrKysgYi9zcmMvcmFjb29uL3Bma2V5LmMKK0BAIC0xMDMsMTAgKzEwMywxMiBAQAorICNpbmNsdWRlICJjcnlwdG9fb3BlbnNzbC5oIgorICNpbmNsdWRlICJncmFibXlhZGRyLmgiCisrI2luY2x1ZGUgIi4uL2xpYmlwc2VjL2xpYnBma2V5LmgiCisgCisgI2lmIGRlZmluZWQoU0FEQl9YX0VBTEdfUklKTkRBRUxDQkMpICYmICFkZWZpbmVkKFNBREJfWF9FQUxHX0FFU0NCQykKKyAjZGVmaW5lIFNBREJfWF9FQUxHX0FFU0NCQyAgU0FEQl9YX0VBTEdfUklKTkRBRUxDQkMKKyAjZW5kaWYKKyAKKytleHRlcm4gc3RydWN0IHVwZGF0ZV9tc2dfaW5mbyB1cGRhdGVfbXNnX3NlbmQ7CisgLyogcHJvdG90eXBlICovCisgc3RhdGljIHVfaW50IGlwc2VjZG9pMnBma2V5X2FhbGcgX19QKCh1X2ludCkpOworIHN0YXRpYyB1X2ludCBpcHNlY2RvaTJwZmtleV9lYWxnIF9fUCgodV9pbnQpKTsKK0BAIC0yNTMsNiArMjU1LDEzIEBACisgCQkJc19wZmtleV90eXBlKG1zZy0+c2FkYl9tc2dfdHlwZSksCisgCQkJc3RyZXJyb3IobXNnLT5zYWRiX21zZ19lcnJubykpOworIAorKwkJaWYgKG1zZy0+c2FkYl9tc2dfZXJybm8gPT0gRUlOVFIgJiYKKysJCQl1cGRhdGVfbXNnX3NlbmQudXBkYXRlX21zZykgeworKwkJCXBsb2coTExWX0RFQlVHLCBMT0NBVElPTiwgTlVMTCwKKysJCQkicGZrZXkgdXBkYXRlIHJlc2VuZFxuIik7CisrCQkJc2VuZCh1cGRhdGVfbXNnX3NlbmQuc28sICh2b2lkICopdXBkYXRlX21zZ19zZW5kLnVwZGF0ZV9tc2csIChzb2NrbGVuX3QpdXBkYXRlX21zZ19zZW5kLmxlbiwgMCk7CisrCQl9CisrCisgCQlnb3RvIGVuZDsKKyAJfQorIAorQEAgLTQ5OCw2ICs1MDcsMTEgQEAKKyB7CisgCWZsdXNoc3AoKTsKKyAKKysJaWYgKHVwZGF0ZV9tc2dfc2VuZC51cGRhdGVfbXNnKSB7CisrCQlmcmVlKHVwZGF0ZV9tc2dfc2VuZC51cGRhdGVfbXNnKTsKKysJCXVwZGF0ZV9tc2dfc2VuZC51cGRhdGVfbXNnID0gTlVMTDsKKysJfQorKworIAlpZiAocGZrZXlfc2VuZF9zcGRkdW1wKGxjY29uZi0+c29ja19wZmtleSkgPCAwKSB7CisgCQlwbG9nKExMVl9FUlJPUiwgTE9DQVRJT04sIE5VTEwsCisgCQkJImxpYmlwc2VjIHNlbmRpbmcgc3BkZHVtcCBmYWlsZWQ6ICVzXG4iLAorQEAgLTEyOTUsNiArMTMwOSw4IEBACisgCXJldHVybiAwOworIH0KKyAKKytpbnQgdXBkYXRlX3JlY2VpdmVkID0gMDsKKysKKyBzdGF0aWMgaW50CisgcGtfcmVjdnVwZGF0ZShtaHApCisgCWNhZGRyX3QgKm1ocDsKK0BAIC0xMzA3LDYgKzEzMjMsMTMgQEAKKyAJaW50IGluY29tcGxldGUgPSAwOworIAlzdHJ1Y3Qgc2Fwcm90byAqcHI7CisgCisrCXVwZGF0ZV9yZWNlaXZlZCA9IDE7CisrCisrCWlmICh1cGRhdGVfbXNnX3NlbmQudXBkYXRlX21zZykgeworKyAgICAgICAgICAgICAgICBmcmVlKHVwZGF0ZV9tc2dfc2VuZC51cGRhdGVfbXNnKTsKKysgICAgICAgICAgICAgICAgdXBkYXRlX21zZ19zZW5kLnVwZGF0ZV9tc2cgPSBOVUxMOworKyAgICAgICAgfQorKworIAkvKiBpZ25vcmUgdGhpcyBtZXNzYWdlIGJlY2F1c2Ugb2YgbG9jYWwgdGVzdCBtb2RlLiAqLworIAlpZiAoZl9sb2NhbCkKKyAJCXJldHVybiAwOworQEAgLTQxNjMsMyArNDE4Niw4IEBACisgCisgCXJldHVybiBidWY7CisgfQorKworK2ludCByZWNlaXZlX2Zyb21faXNha21wKCkKKyt7CisrCXJldHVybiBwZmtleV9oYW5kbGVyKE5VTEwsIGxjY29uZi0+c29ja19wZmtleSk7CisrfQorLS0tIGEvc3JjL3JhY29vbi9wZmtleS5oCisrKysgYi9zcmMvcmFjb29uL3Bma2V5LmgKK0BAIC03MSw1ICs3MSw2IEBACisgZXh0ZXJuIHVfaW50MzJfdCBwa19nZXRzZXEgX19QKCh2b2lkKSk7CisgZXh0ZXJuIGNvbnN0IGNoYXIgKnNhZGJzZWNhczJzdHIKKyAJX19QKChzdHJ1Y3Qgc29ja2FkZHIgKiwgc3RydWN0IHNvY2thZGRyICosIGludCwgdV9pbnQzMl90LCBpbnQpKTsKKytleHRlcm4gaW50IHJlY2VpdmVfZnJvbV9pc2FrbXAgX19QKCh2b2lkKSk7CisgCisgI2VuZGlmIC8qIF9QRktFWV9IICovCistLS0gYS9zcmMvcmFjb29uL2lzYWttcF9xdWljay5jCisrKysgYi9zcmMvcmFjb29uL2lzYWttcF9xdWljay5jCitAQCAtNzc0LDYgKzc3NCw4IEBACisgCXJldHVybiBlcnJvcjsKKyB9CisgCisrZXh0ZXJuIGludCB1cGRhdGVfcmVjZWl2ZWQ7CisrCisgLyoKKyAgKiBzZW5kIHRvIHJlc3BvbmRlcgorICAqIAlIRFIqLCBIQVNIKDMpCitAQCAtODkyLDYgKzg5NCwxMSBAQAorIAl9CisgCXBsb2coTExWX0RFQlVHLCBMT0NBVElPTiwgTlVMTCwgInBma2V5IHVwZGF0ZSBzZW50LlxuIik7CisgCisrCXdoaWxlICghdXBkYXRlX3JlY2VpdmVkKQorKwkJcmVjZWl2ZV9mcm9tX2lzYWttcCgpOworKworKwl1cGRhdGVfcmVjZWl2ZWQgPSAwOworKworIAkvKiBEbyBBREQgZm9yIHJlc3BvbmRlciAqLworIAlpZiAocGtfc2VuZGFkZChpcGgyKSA8IDApIHsKKyAJCXBsb2coTExWX0VSUk9SLCBMT0NBVElPTiwgTlVMTCwgInBma2V5IGFkZCBmYWlsZWQuXG4iKTsKK0BAIC0xMDM1LDYgKzEwNDIsMTEgQEAKKyAJfQorIAlwbG9nKExMVl9ERUJVRywgTE9DQVRJT04sIE5VTEwsICJwZmtleSB1cGRhdGUgc2VudC5cbiIpOworIAorKwl3aGlsZSAoIXVwZGF0ZV9yZWNlaXZlZCkKKysJCXJlY2VpdmVfZnJvbV9pc2FrbXAoKTsKKysKKysJdXBkYXRlX3JlY2VpdmVkID0gMDsKKysKKyAJLyogRG8gQUREIGZvciByZXNwb25kZXIgKi8KKyAJaWYgKHBrX3NlbmRhZGQoaXBoMikgPCAwKSB7CisgCQlwbG9nKExMVl9FUlJPUiwgTE9DQVRJT04sIE5VTEwsICJwZmtleSBhZGQgZmFpbGVkLlxuIik7CitAQCAtMTk4OSw2ICsyMDAxLDExIEBACisgCX0KKyAJcGxvZyhMTFZfREVCVUcsIExPQ0FUSU9OLCBOVUxMLCAicGZrZXkgdXBkYXRlIHNlbnQuXG4iKTsKKyAKKysJd2hpbGUgKCF1cGRhdGVfcmVjZWl2ZWQpCisrCQlyZWNlaXZlX2Zyb21faXNha21wKCk7CisrCisrCXVwZGF0ZV9yZWNlaXZlZCA9IDA7CisrCisgCS8qIERvIEFERCBmb3IgcmVzcG9uZGVyICovCisgCWlmIChwa19zZW5kYWRkKGlwaDIpIDwgMCkgeworIAkJcGxvZyhMTFZfRVJST1IsIExPQ0FUSU9OLCBOVUxMLCAicGZrZXkgYWRkIGZhaWxlZC5cbiIpOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwc2VjLXRvb2xzL2lwc2VjLXRvb2xzL3JhY29vbi1jaGVjay1pbnZhbGlkLWl2bS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHNlYy10b29scy9pcHNlYy10b29scy9yYWNvb24tY2hlY2staW52YWxpZC1pdm0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTI3MmJjMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHNlYy10b29scy9pcHNlYy10b29scy9yYWNvb24tY2hlY2staW52YWxpZC1pdm0ucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorU3ViamVjdDogW1BBVENIXSBpcHNlYy10b29sczogcmFjb29uOiBjaGVjayBzZXZlcmFsIGludmFsaWQgaXZtCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitBZGQgY2hlY2tpbmcgZm9yIGludmFsaWQgaXZtLCBvciBpdCB3aWxsIGNyYXNoIHJhY29vbi4KKworU2lnbmVkLW9mZi1ieTogTWluZyBMaXUgPG1pbmcubGl1QHdpbmRyaXZlci5jb20+CistLS0KKyBpc2FrbXBfY2ZnLmMgfCAgICA1ICsrKysrCisgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKQorCitkaWZmIC11cnBOIGEvc3JjL3JhY29vbi9pc2FrbXBfY2ZnLmMgYi9zcmMvcmFjb29uL2lzYWttcF9jZmcuYworLS0tIGEvc3JjL3JhY29vbi9pc2FrbXBfY2ZnLmMKKysrKyBiL3NyYy9yYWNvb24vaXNha21wX2NmZy5jCitAQCAtMTcxLDYgKzE3MSwxMSBAQCBpc2FrbXBfY2ZnX3IoaXBoMSwgbXNnKQorIAkgICAgaXBoMS0+bW9kZV9jZmctPmxhc3RfbXNnaWQgIT0gcGFja2V0LT5tc2dpZCApCisgCQlpcGgxLT5tb2RlX2NmZy0+aXZtID0gCisgCQkgICAgaXNha21wX2NmZ19uZXdpdihpcGgxLCBwYWNrZXQtPm1zZ2lkKTsKKysJaWYoaXBoMS0+bW9kZV9jZmctPml2bSA9PSBOVUxMKSB7CisrCQlwbG9nKExMVl9FUlJPUiwgTE9DQVRJT04sIE5VTEwsIAorKwkJICAgICJmYWlsZWQgdG8gY3JlYXRlIG5ldyBJVlxuIik7CisrCQlyZXR1cm47CisrCX0KKyAJaXZtID0gaXBoMS0+bW9kZV9jZmctPml2bTsKKyAKKyAJZG1zZyA9IG9ha2xleV9kb19kZWNyeXB0KGlwaDEsIG1zZywgaXZtLT5pdiwgaXZtLT5pdmUpOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwc2VjLXRvb2xzL2lwc2VjLXRvb2xzL3JhY29vbi1jaGVjay1pbnZhbGlkLXBvaW50ZXJzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwc2VjLXRvb2xzL2lwc2VjLXRvb2xzL3JhY29vbi1jaGVjay1pbnZhbGlkLXBvaW50ZXJzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlMWJkYjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXBzZWMtdG9vbHMvaXBzZWMtdG9vbHMvcmFjb29uLWNoZWNrLWludmFsaWQtcG9pbnRlcnMucGF0Y2gKQEAgLTAsMCArMSw2MSBAQAorU3ViamVjdDogW1BBVENIXSBpcHNlYy10b29sczogcmFjb29uOiBjaGVjayBzZXZlcmFsIGludmFsaWQgcG9pbnRlcnMKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK0FkZCBjaGVja2luZyBmb3IgaW52YWxpZCBwb2ludGVycywgb3IgaXQgd2lsbCBjcmFzaCByYWNvb24uCisKK1NpZ25lZC1vZmYtYnk6IE1pbmcgTGl1IDxtaW5nLmxpdUB3aW5kcml2ZXIuY29tPgorLS0tCisgaXBzZWNfZG9pLmMgICAgfCAgICA1ICsrKy0tCisgaXNha21wX2NmZy5jICAgfCAgICA3ICsrKysrKysKKyBpc2FrbXBfcXVpY2suYyB8ICAgIDYgKysrKy0tCisgMyBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC11cnBOIGEvc3JjL3JhY29vbi9pcHNlY19kb2kuYyBiL3NyYy9yYWNvb24vaXBzZWNfZG9pLmMKKy0tLSBhL3NyYy9yYWNvb24vaXBzZWNfZG9pLmMKKysrKyBiL3NyYy9yYWNvb24vaXBzZWNfZG9pLmMKK0BAIC0zMzc0LDggKzMzNzQsOSBAQCBpcHNlY2RvaV9jaGtjbXBpZHMoIGlkdCwgaWRzLCBleGFjdCApCisgCisgCS8qIGhhbmRsZSB3aWxkY2FyZCBJRHMgKi8KKyAKKy0JaWYgKGlkdCA9PSBOVUxMIHx8IGlkcyA9PSBOVUxMKQorLQl7CisrCWlmIChpZHQgPT0gTlVMTCB8fCBpZHMgPT0gTlVMTCB8fAorKwkgICAgaWR0LT52ID09IE5VTEwgfHwgaWR0LT5sID09IDAgfHwKKysJICAgIGlkcy0+diA9PSBOVUxMIHx8IGlkcy0+bCA9PSAwKSB7CisgCQlpZiggIWV4YWN0ICkKKyAJCXsKKyAJCQlwbG9nKExMVl9ERUJVRywgTE9DQVRJT04sIE5VTEwsCitkaWZmIC11cnBOIGEvc3JjL3JhY29vbi9pc2FrbXBfY2ZnLmMgYi9zcmMvcmFjb29uL2lzYWttcF9jZmcuYworLS0tIGEvc3JjL3JhY29vbi9pc2FrbXBfY2ZnLmMKKysrKyBiL3NyYy9yYWNvb24vaXNha21wX2NmZy5jCitAQCAtMTEzOCw2ICsxMTM4LDEzIEBAIGlzYWttcF9jZmdfbmV3aXYoaXBoMSwgbXNnaWQpCisgCQlyZXR1cm4gTlVMTDsKKyAJfQorIAorKwlpZiAoaXBoMS0+aXZtID09IE5VTEwgfHwgaXBoMS0+aXZtLT5pdiA9PSBOVUxMIHx8CisrCSAgICBpcGgxLT5pdm0tPml2LT52ID09IE5VTEwgfHwgaXBoMS0+aXZtLT5pdi0+bCA9PSAwKSB7CisrCQlwbG9nKExMVl9FUlJPUiwgTE9DQVRJT04sIE5VTEwsCisrCQkgICAgImlzYWttcF9jZmdfbmV3aXYgY2FsbGVkIHdpdGggaW52YWxpZCBJViBtYW5hZ2VtZW50XG4iKTsKKysJCXJldHVybiBOVUxMOworKwl9CisrCisgCWlmIChpY3MtPml2bSAhPSBOVUxMKQorIAkJb2FrbGV5X2RlbGl2bShpY3MtPml2bSk7CisgCitkaWZmIC11cnBOIGEvc3JjL3JhY29vbi9pc2FrbXBfcXVpY2suYyBiL3NyYy9yYWNvb24vaXNha21wX3F1aWNrLmMKKy0tLSBhL3NyYy9yYWNvb24vaXNha21wX3F1aWNrLmMKKysrKyBiL3NyYy9yYWNvb24vaXNha21wX3F1aWNrLmMKK0BAIC0yMjQzLDggKzIyNDMsMTAgQEAgZ2V0X3Byb3Bvc2FsX3IoaXBoMikKKyAJaW50IGVycm9yID0gSVNBS01QX0lOVEVSTkFMX0VSUk9SOworIAorIAkvKiBjaGVjayB0aGUgZXhpc3RlbmNlIG9mIElEIHBheWxvYWQgKi8KKy0JaWYgKChpcGgyLT5pZF9wICE9IE5VTEwgJiYgaXBoMi0+aWQgPT0gTlVMTCkKKy0JIHx8IChpcGgyLT5pZF9wID09IE5VTEwgJiYgaXBoMi0+aWQgIT0gTlVMTCkpIHsKKysJaWYgKChpcGgyLT5pZF9wICE9IE5VTEwgJiYKKysJICAgIChpcGgyLT5pZCA9PSBOVUxMIHx8IGlwaDItPmlkLT52ID09IE5VTEwgfHwgaXBoMi0+aWQtPmwgPT0gMCkpIHx8CisrCSAgICAoaXBoMi0+aWQgIT0gTlVMTCAmJgorKwkgICAgKGlwaDItPmlkX3AgPT0gTlVMTCB8fCBpcGgyLT5pZF9wLT52ID09IE5VTEwgfHwgaXBoMi0+aWRfcC0+bCA9PSAwKSkpIHsKKyAJCXBsb2coTExWX0VSUk9SLCBMT0NBVElPTiwgTlVMTCwKKyAJCQkiQm90aCBJRHMgd2Fzbid0IGZvdW5kIGluIHBheWxvYWQuXG4iKTsKKyAJCXJldHVybiBJU0FLTVBfTlRZUEVfSU5WQUxJRF9JRF9JTkZPUk1BVElPTjsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHNlYy10b29scy9pcHNlYy10b29scy9yYWNvb24uY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHNlYy10b29scy9pcHNlYy10b29scy9yYWNvb24uY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YjUwNzUwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwc2VjLXRvb2xzL2lwc2VjLXRvb2xzL3JhY29vbi5jb25mCkBAIC0wLDAgKzEsOCBAQAorIyBEZWZhdWx0cyBmb3IgcmFjb29uIHNlcnZpY2UKKyMgc291cmNlZCBieSByYWNvb24uc2VydmljZQorIyBpbnN0YWxsZWQgYXQgL2V0Yy9kZWZhdWx0L3JhY29vbiBieSB0aGUgbWFpbnRhaW5lciBzY3JpcHRzCisjCisjIFRoaXMgaXMgYSBQT1NJWCBzaGVsbCBmcmFnbWVudAorIworIyBBcmd1bWVudHMgdG8gcGFzcyB0byByYWNvb24KK1JBQ09PTl9BUkdTPSIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXBzZWMtdG9vbHMvaXBzZWMtdG9vbHMvcmFjb29uLmNvbmYuc2FtcGxlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwc2VjLXRvb2xzL2lwc2VjLXRvb2xzL3JhY29vbi5jb25mLnNhbXBsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTQ4YTRhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwc2VjLXRvb2xzL2lwc2VjLXRvb2xzL3JhY29vbi5jb25mLnNhbXBsZQpAQCAtMCwwICsxLDQwIEBACisjCisjIE5PVEU6IFRoaXMgZmlsZSB3aWxsIG5vdCBiZSB1c2VkIGlmIHlvdSB1c2UgcmFjb29uLXRvb2woOCkgdG8gbWFuYWdlIHlvdXIKKyMgSVBzZWMgY29ubmVjdGlvbnMuIHJhY29vbi10b29sIHdpbGwgcHJvY2VzcyByYWNvb24tdG9vbC5jb25mKDUpIGFuZAorIyBnZW5lcmF0ZSBhIGNvbmZpZ3VyYXRpb24gKC92YXIvbGliL3JhY29vbi9yYWNvb24uY29uZikgYW5kIHVzZSBpdCwgaW5zdGVhZAorIyBvZiB0aGlzIGZpbGUuCisjCisjIFNpbXBsZSByYWNvb24uY29uZgorIyAKKyMKKyMgUGxlYXNlIGxvb2sgaW4gL3Vzci9zaGFyZS9kb2MvcmFjb29uL2V4YW1wbGVzIGZvcgorIyBleGFtcGxlcyB0aGF0IGNvbWUgd2l0aCB0aGUgc291cmNlLgorIworIyBQbGVhc2UgcmVhZCByYWNvb24uY29uZig1KSBmb3IgZGV0YWlscywgYW5kIGFsc29yZWFkIHNldGtleSg4KS4KKyMKKyMKKyMgQWxzbyByZWFkIHRoZSBMaW51eCBJUFNFQyBIb3d0byB1cCBhdCAKKyMgaHR0cDovL3d3dy5pcHNlYy1ob3d0by5vcmcvdDEuaHRtbCAKKyMKK2xvZyBub3RpZnk7CitwYXRoIHByZV9zaGFyZWRfa2V5ICIvZXRjL3JhY29vbi9wc2sudHh0IjsKK3BhdGggY2VydGlmaWNhdGUgIi9ldGMvcmFjb29uL2NlcnRzIjsKKworI3JlbW90ZSAxNzIuMzEuMS4xIHsKKyMgICAgICAgIGV4Y2hhbmdlX21vZGUgbWFpbixhZ2dyZXNzaXZlOworIyAgICAgICAgcHJvcG9zYWwgeworIyAgICAgICAgICAgICAgICBlbmNyeXB0aW9uX2FsZ29yaXRobSAzZGVzOworIyAgICAgICAgICAgICAgICBoYXNoX2FsZ29yaXRobSBzaGExOworIyAgICAgICAgICAgICAgICBhdXRoZW50aWNhdGlvbl9tZXRob2QgcHJlX3NoYXJlZF9rZXk7CisjICAgICAgICAgICAgICAgIGRoX2dyb3VwIG1vZHAxMDI0OworIyAgICAgICAgfQorIyAgICAgICAgZ2VuZXJhdGVfcG9saWN5IG9mZjsKKyN9CisjIAorI3NhaW5mbyBhZGRyZXNzIDE5Mi4xNjguMjAzLjEwW2FueV0gYW55IGFkZHJlc3MgMTkyLjE2OC4yMi4wLzI0W2FueV0gYW55IHsKKyMgICAgICAgIHBmc19ncm91cCBtb2RwNzY4OworIyAgICAgICAgZW5jcnlwdGlvbl9hbGdvcml0aG0gM2RlczsKKyMgICAgICAgIGF1dGhlbnRpY2F0aW9uX2FsZ29yaXRobSBobWFjX21kNTsKKyMgICAgICAgIGNvbXByZXNzaW9uX2FsZ29yaXRobSBkZWZsYXRlOworI30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwc2VjLXRvb2xzL2lwc2VjLXRvb2xzL3JhY29vbi5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwc2VjLXRvb2xzL2lwc2VjLXRvb2xzL3JhY29vbi5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExMGU3NzAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXBzZWMtdG9vbHMvaXBzZWMtdG9vbHMvcmFjb29uLnNlcnZpY2UKQEAgLTAsMCArMSwxMSBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1SYWNvb24gSUtFdjEga2V5IG1hbmFnZW1lbnQgZGFlbW9uIGZvciBJUFNFQworQWZ0ZXI9c3lzbG9nLnRhcmdldCBuZXR3b3JrLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworRW52aXJvbm1lbnRGaWxlPS1AU1lTQ09ORkRJUkAvZGVmYXVsdC9yYWNvb24KK0V4ZWNTdGFydD1AU0JJTkRJUkAvcmFjb29uICRSQUNPT05fQVJHUworCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXBzZWMtdG9vbHMvaXBzZWMtdG9vbHNfMC44LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXBzZWMtdG9vbHMvaXBzZWMtdG9vbHNfMC44LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDlmMTIxMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHNlYy10b29scy9pcHNlYy10b29sc18wLjguMi5iYgpAQCAtMCwwICsxLDkyIEBACitERVNDUklQVElPTiA9ICJJUHNlYy1Ub29scyBpcyBhIHBvcnQgb2YgS0FNRSdzIElQc2VjIHV0aWxpdGllcyB0byB0aGUgXAorTGludXgtMi42IElQc2VjIGltcGxlbWVudGF0aW9uLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9pcHNlYy10b29scy5zb3VyY2Vmb3JnZS5uZXQvIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3NyYy9saWJpcHNlYy9wZmtleS5jO2JlZ2lubGluZT02O2VuZGxpbmU9MzE7bWQ1PWJjOWI3ZmY0MGJlZmYxOWZlNmJjNmFlZjI2YmQyYjI0IgorCitERVBFTkRTID0gInZpcnR1YWwva2VybmVsIG9wZW5zc2wgcmVhZGxpbmUgZmxleC1uYXRpdmUgYmlzb24tbmF0aXZlIgorCitQQUNLQUdFX0FSQ0ggPSAiJHtNQUNISU5FX0FSQ0h9IgorCitTUkNfVVJJID0gImZ0cDovL2Z0cC5uZXRic2Qub3JnL3B1Yi9OZXRCU0QvbWlzYy9pcHNlYy10b29scy8wLjgvaXBzZWMtdG9vbHMtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLURvbi10LWxpbmstYWdhaW5zdC1saWJmbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1yYWNvb24tcGZrZXktYXZvaWQtcG90ZW50aWFsLW51bGwtcG9pbnRlci1kZXJlZmVyZW5jLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3JhY29vbi1jaGVjay1pbnZhbGlkLXBvaW50ZXJzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3JhY29vbi1jaGVjay1pbnZhbGlkLWl2bS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9nbGliYy0yLjIwLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3JhY29vbi1SZXNlbmQtVVBEQVRFLW1lc3NhZ2Utd2hlbi1yZWNlaXZlZC1FSU5UUi1tZXNzYWdlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3JhY29vbi5jb25mLnNhbXBsZSBcCisgICAgICAgICAgIGZpbGU6Ly9yYWNvb24uY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly9yYWNvb24uc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtQ1ZFLTIwMTUtNDA0Ny5wYXRjaCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImQ1M2VjMTRhMGEzZWNlNjRlMDllNWUzNGIzMzUwYjQxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhlYjZiMzg3MTZlMmYzYThhNzJmMWY1NDljOTQ0NGMyYmMyOGQ1MmM5NTM2NzkyNjkwNTY0Yzc0ZmU3MjJmMmQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHN5c3RlbWQKKworIyBPcHRpb25zOgorIyAgLS1lbmFibGUtYWRtaW5wb3J0ICAgICAgZW5hYmxlIGFkbWluIHBvcnQKKyMgIC0tZW5hYmxlLXJjNSAgICAgICAgICAgIGVuYWJsZSBSQzUgZW5jcnlwdGlvbiAocGF0ZW50ZWQpCisjICAtLWVuYWJsZS1pZGVhIGVuYWJsZSBJREVBIGVuY3J5cHRpb24gKHBhdGVudGVkKQorIyAgLS1lbmFibGUtZ3NzYXBpICAgICAgICAgZW5hYmxlIEdTUy1BUEkgYXV0aGVudGljYXRpb24KKyMgIC0tZW5hYmxlLWh5YnJpZCAgICAgICAgIGVuYWJsZSBoeWJyaWQsIGJvdGggbW9kZS1jZmcgYW5kIHhhdXRoIHN1cHBvcnQKKyMgIC0tZW5hYmxlLWZyYWcgICAgICAgICAgIGVuYWJsZSBJS0UgZnJhZ21lbnRhdGlvbiBwYXlsb2FkIHN1cHBvcnQKKyMgIC0tZW5hYmxlLXN0YXRzICAgICAgICAgIGVuYWJsZSBzdGF0aXN0aWNzIGxvZ2dpbmcgZnVuY3Rpb24KKyMgIC0tZW5hYmxlLWRwZCAgICAgICAgICAgIGVuYWJsZSBkZWFkIHBlZXIgZGV0ZWN0aW9uCisjICAtLWVuYWJsZS1zYW1vZGUtdW5zcGVjICBlbmFibGUgdG8gdXNlIHVuc3BlY2lmaWVkIGEgbW9kZSBvZiBTQQorIyAgLS1kaXNhYmxlLWlwdjYgICAgICAgICAgZGlzYWJsZSBpcHY2IHN1cHBvcnQKKyMgIC0tZW5hYmxlLW5hdHQgICAgICAgICAgIGVuYWJsZSBOQVQtVHJhdmVyc2FsICh5ZXMvbm8va2VybmVsKQorIyAgLS1lbmFibGUtbmF0dC12ZXJzaW9ucz1saXN0ICAgIGxpc3Qgb2Ygc3VwcG9ydGVkIE5BVC1UIHZlcnNpb25zIGRlbGltaXRlZCBieSBjb21hLgorIyAgLS13aXRoLWtlcm5lbC1oZWFkZXJzPS9saWIvbW9kdWxlcy88dW5hbWU+L2J1aWxkL2luY2x1ZGUKKyMgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZXJlIHlvdXIgTGludXggS2VybmVsIGhlYWRlcnMgYXJlIGluc3RhbGxlZAorIyAgLS13aXRoLXJlYWRsaW5lICAgICAgICAgc3VwcG9ydCByZWFkbGluZSBpbnB1dCAoeWVzIGJ5IGRlZmF1bHQpCisjICAtLXdpdGgtZmxleCAgICAgICAgICAgICB1c2UgZGlyZWN0aW9yeSAoZGVmYXVsdDogbm8pCisjICAtLXdpdGgtZmxleGxpYj08TElCPiAgICBzcGVjaWZ5IGZsZXggbGlicmFyeS4KKyMgIC0td2l0aC1vcGVuc3NsPURJUiAgICAgIHNwZWNpZnkgT3BlblNTTCBkaXJlY3RvcnkKKyMgIC0td2l0aC1saWJyYWRpdXM9RElSICAgIHNwZWNpZnkgbGlicmFkaXVzIHBhdGggKGxpa2UvdXNyL3BrZykKKyMgIC0td2l0aC1saWJwYW09RElSICAgICAgIHNwZWNpZnkgbGlicGFtIHBhdGggKGxpa2UvdXNyL3BrZykKKyMKKyMgTm90ZTogaWYgeW91IGdpdmUgaXQgdGhlIGFjdHVhbCBrZXJuZWwgaGVhZGVycyBpdCB3b24ndCBidWlsZCwgaXQgYWN0dWFsbHkKKyMgbmVlZHMgdG8gcG9pbnQgYXQgdGhlIGxpbnV4LWxpYmMtaGVhZGVycyB2ZXJzaW9uIG9mIHRoZSBrZXJuZWwgaGVhZGVycy4KKyMKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgta2VybmVsLWhlYWRlcnM9JHtTVEFHSU5HX0lOQ0RJUn0gXAorICAgICAgICAgICAgICAgIC0td2l0aC1yZWFkbGluZSBcCisgICAgICAgICAgICAgICAgLS13aXRoLW9wZW5zc2w9JHtTVEFHSU5HX0xJQkRJUn0vLi4gXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1saWJyYWRpdXMgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1zZWN1cml0eS1jb250ZXh0IFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1zaGFyZWQgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWRwZCBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtbmF0dD15ZXMgXAorICAgICAgICAgICAgICAgIC0tc3lzY29uZmRpcj0ke3N5c2NvbmZkaXJ9L3JhY29vbiBcCisgICAgICAgICAgICAgICAgJHtAYmFzZV9jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCAnLS1lbmFibGUtaXB2Nj15ZXMnLCAnJywgZCl9IgorCisjIFNlZSBodHRwOi8vYnVncy5kZWJpYW4ub3JnL2NnaS1iaW4vYnVncmVwb3J0LmNnaT9idWc9NTMwNTI3CitDRkxBR1MgKz0gIi1mbm8tc3RyaWN0LWFsaWFzaW5nIgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1twYW1dID0gIi0td2l0aC1saWJwYW0sLS13aXRob3V0LWxpYnBhbSxsaWJwYW0sIgorUEFDS0FHRUNPTkZJR1tzZWxpbnV4XSA9ICItLWVuYWJsZS1zZWN1cml0eS1jb250ZXh0LC0tZGlzYWJsZS1zZWN1cml0eS1jb250ZXh0LGxpYnNlbGludXgsIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAicmFjb29uLnNlcnZpY2UiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vcmFjb29uCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcmFjb29uLmNvbmYuc2FtcGxlICR7RH0ke3N5c2NvbmZkaXJ9L3JhY29vbi9yYWNvb24uY29uZgorCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9yYWNvb24uc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCisgICAgICAgIHNlZCAtaSAtZSAncyNAU1lTQ09ORkRJUkAjJHtzeXNjb25mZGlyfSNnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9yYWNvb24uc2VydmljZQorICAgICAgICBzZWQgLWkgLWUgJ3MjQFNCSU5ESVJAIyR7c2JpbmRpcn0jZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcmFjb29uLnNlcnZpY2UKKworICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3JhY29vbi5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvcmFjb29uCisgICAgZmkKK30KKworRklMRVNfJHtQTn0gKz0gIiR7c3lzY29uZmRpcn0vcmFjb29uL3JhY29vbi5jb25mIFwKKyAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2RlZmF1bHQvcmFjb29uIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwdnNhZG0vaXB2c2FkbS8wMDAxLU1vZGlmeS10aGUtTWFrZWZpbGUtZm9yLWNyb3NzLWNvbXBpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXB2c2FkbS9pcHZzYWRtLzAwMDEtTW9kaWZ5LXRoZS1NYWtlZmlsZS1mb3ItY3Jvc3MtY29tcGlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YzNkZmU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwdnNhZG0vaXB2c2FkbS8wMDAxLU1vZGlmeS10aGUtTWFrZWZpbGUtZm9yLWNyb3NzLWNvbXBpbGUucGF0Y2gKQEAgLTAsMCArMSw5NyBAQAorRnJvbSA1ODI5MjE3NTExNWJhZTdhNGMzNjAwZDMwMjJlNTllYTU3MjEzMDI1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSmlhbmNodWFuIFdhbmcgPGppYW5jaHVhbi53YW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDEyIEphbiAyMDE1IDE1OjUzOjIzICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIE1vZGlmeSB0aGUgTWFrZWZpbGUgZm9yIGNyb3NzIGNvbXBpbGUuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEppYW5jaHVhbiBXYW5nIDxqaWFuY2h1YW4ud2FuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgTWFrZWZpbGUgICAgICAgICB8IDIzICsrKysrKy0tLS0tLS0tLS0tLS0tLS0tCisgbGliaXB2cy9NYWtlZmlsZSB8ICAzICstLQorIDIgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IGU0ZTAzY2MuLjQ2MWMwMjEgMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0zNSwxMCArMzUsOSBAQCBBUkNICQk9ICQoc2hlbGwgdW5hbWUgLW0pCisgUlBNU09VUkNFRElSCT0gJChzaGVsbCBycG0gLS1ldmFsICclX3NvdXJjZWRpcicpCisgUlBNU1BFQ0RJUgk9ICQoc2hlbGwgcnBtIC0tZXZhbCAnJV9zcGVjZGlyJykKKyAKKy1DQwkJPSBnY2MKKyBJTkNMVURFCQk9CisgU0JJTgkJPSAkKEJVSUxEX1JPT1QpL3NiaW4KKy1NQU5ESVIJCT0gdXNyL21hbgorK01BTkRJUgkJPSB1c3Ivc2hhcmUvbWFuCisgTUFOCQk9ICQoQlVJTERfUk9PVCkvJChNQU5ESVIpL21hbjgKKyBJTklUCQk9ICQoQlVJTERfUk9PVCkvZXRjL3JjLmQvaW5pdC5kCisgTUtESVIJCT0gbWtkaXIKK0BAIC02MiwxNyArNjEsNyBAQCBSUE1CVUlMRCA9ICQoc2hlbGwJCQkJXAorIAkJZWNobyAiL2Jpbi9ycG0iOwkJXAorIAlmaSApCisgCistaWZlcSAoLCQoRk9SQ0VfR0VUT1BUKSkKKy1MSUJfU0VBUkNIID0gL2xpYjY0IC91c3IvbGliNjQgL3Vzci9sb2NhbC9saWI2NCAvbGliIC91c3IvbGliIC91c3IvbG9jYWwvbGliCistUE9QVF9MSUIgPSAkKHNoZWxsIGZvciBpIGluICQoTElCX1NFQVJDSCk7IGRvIFwKKy0gIGlmIFsgLWYgJCRpL2xpYnBvcHQuYSBdOyB0aGVuIFwKKy0gICAgaWYgbm0gJCRpL2xpYnBvcHQuYSB8IGZncmVwIC1xIHBvcHRHZXRDb250ZXh0OyB0aGVuIFwKKy0JZWNobyAiLWxwb3B0IjsgXAorLQlicmVhazsgXAorLSAgICBmaTsgXAorLSAgZmk7IFwKKy1kb25lKQorLWVuZGlmCisrUE9QVF9MSUIgPSAtbHBvcHQKKyAKKyBpZm5lcSAoLCQoUE9QVF9MSUIpKQorIFBPUFRfREVGSU5FID0gLURIQVZFX1BPUFQKK0BAIC04MSw3ICs3MCw3IEBAIGVuZGlmCisgT0JKUwkJPSBpcHZzYWRtLm8gY29uZmlnX3N0cmVhbS5vIGR5bmFtaWNfYXJyYXkubworIExJQlMJCT0gJChQT1BUX0xJQikKKyBpZm5lcSAoMCwkKEhBVkVfTkwpKQorLUxJQlMJCSs9IC1sbmwKKytMSUJTCQkrPSAtbG5sLTMgLWxubC1nZW5sLTMKKyBlbmRpZgorIERFRklORVMJCT0gLURWRVJTSU9OPVwiJChWRVJTSU9OKVwiIC1EU0NIRURVTEVSUz1cIiQoU0NIRURVTEVSUylcIiBcCisgCQkgIC1EUEVfTElTVD1cIiQoUEVfTElTVClcIiAkKFBPUFRfREVGSU5FKQorQEAgLTkxLDEzICs4MCwxMyBAQCBERUZJTkVTCQkrPSAkKHNoZWxsIGlmIFsgISAtZiAuLi9pcF92cy5oIF07IHRoZW4JXAorIAorIC5QSE9OWQk9IGFsbCBjbGVhbiBpbnN0YWxsIGRpc3QgZGlzdGNsZWFuIHJwbSBycG1zCisgCistYWxsOiAgICAgICAgICAgIGxpYnMgaXB2c2FkbQorK2FsbDogaXB2c2FkbQorIAorIGxpYnM6CisgCQltYWtlIC1DIGxpYmlwdnMKKyAKKy1pcHZzYWRtOgkkKE9CSlMpICQoU1RBVElDX0xJQlMpCistCQkkKENDKSAkKENGTEFHUykgLW8gJEAgJF4gJChMSUJTKQorK2lwdnNhZG06CSQoT0JKUykgbGlicworKwkJJChDQykgJChDRkxBR1MpIC1vICRAICQoT0JKUykgJChTVEFUSUNfTElCUykgJChMSUJTKQorIAorIGluc3RhbGw6ICAgICAgICBhbGwKKyAJCWlmIFsgISAtZCAkKFNCSU4pIF07IHRoZW4gJChNS0RJUikgLXAgJChTQklOKTsgZmkKK2RpZmYgLS1naXQgYS9saWJpcHZzL01ha2VmaWxlIGIvbGliaXB2cy9NYWtlZmlsZQoraW5kZXggYTUyN2E3Zi4uYjczMDBlYyAxMDA2NDQKKy0tLSBhL2xpYmlwdnMvTWFrZWZpbGUKKysrKyBiL2xpYmlwdnMvTWFrZWZpbGUKK0BAIC0xLDYgKzEsNSBAQAorICMgTWFrZWZpbGUgZm9yIGxpYmlwdnMKKyAKKy1DQwkJPSBnY2MKKyBDRkxBR1MJCT0gLVdhbGwgLVd1bnVzZWQgLVdzdHJpY3QtcHJvdG90eXBlcyAtZyAtZlBJQworIGlmbmVxICgwLCQoSEFWRV9OTCkpCisgQ0ZMQUdTCQkrPSAtRExJQklQVlNfVVNFX05MCitAQCAtMTgsNyArMTcsNyBAQCBTSEFSRURfTElCCT0gbGliaXB2cy5zbworIGFsbDoJCSQoU1RBVElDX0xJQikgJChTSEFSRURfTElCKQorIAorICQoU1RBVElDX0xJQik6CWxpYmlwdnMubyBpcF92c19ubF9wb2xpY3kubworLQkJYXIgcnYgJEAgJF4KKysJCSQoQVIpIHJ2ICRAICReCisgCisgJChTSEFSRURfTElCKToJbGliaXB2cy5vIGlwX3ZzX25sX3BvbGljeS5vCisgCQkkKENDKSAtc2hhcmVkIC1XbCwtc29uYW1lLCRAIC1vICRAICReCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHZzYWRtL2lwdnNhZG0vMDAwMi1SZXBsYWNlLW5sX2hhbmRsZS10by1ubF9zb2NrLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwdnNhZG0vaXB2c2FkbS8wMDAyLVJlcGxhY2UtbmxfaGFuZGxlLXRvLW5sX3NvY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzg5NmQ2ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHZzYWRtL2lwdnNhZG0vMDAwMi1SZXBsYWNlLW5sX2hhbmRsZS10by1ubF9zb2NrLnBhdGNoCkBAIC0wLDAgKzEsNjMgQEAKK0Zyb20gMjY4NjIxMzI1OWIxNWRmOWNmMWQ5NjljNWExNGQ2MmYxNGNmYmFhZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEppYW5jaHVhbiBXYW5nIDxqaWFuY2h1YW4ud2FuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogVGh1LCA4IEphbiAyMDE1IDE3OjM3OjExICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMi8yXSBSZXBsYWNlIG5sX2hhbmRsZSB0byBubF9zb2NrLgorCitUaGUgbmxfaGFuZGxlIHdhcyByZXBsYWNlIHdpdGggbmxfc29jayBpbiB0aGUgbGlibmwtMy4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogSmlhbmNodWFuIFdhbmcgPGppYW5jaHVhbi53YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBsaWJpcHZzL2xpYmlwdnMuYyB8IDEwICsrKysrLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliaXB2cy9saWJpcHZzLmMgYi9saWJpcHZzL2xpYmlwdnMuYworaW5kZXggYTE1N2UxOC4uMjFhOWJmYSAxMDA2NDQKKy0tLSBhL2xpYmlwdnMvbGliaXB2cy5jCisrKysgYi9saWJpcHZzL2xpYmlwdnMuYworQEAgLTMyLDcgKzMyLDcgQEAgc3RhdGljIHZvaWQqIGlwdnNfZnVuYyA9IE5VTEw7Cisgc3RydWN0IGlwX3ZzX2dldGluZm8gaXB2c19pbmZvOworIAorICNpZmRlZiBMSUJJUFZTX1VTRV9OTAorLXN0YXRpYyBzdHJ1Y3QgbmxfaGFuZGxlICpzb2NrID0gTlVMTDsKKytzdGF0aWMgc3RydWN0IG5sX3NvY2sgKnNvY2sgPSBOVUxMOworIHN0YXRpYyBpbnQgZmFtaWx5LCB0cnlfbmwgPSAxOworICNlbmRpZgorIAorQEAgLTczLDcgKzczLDcgQEAgaW50IGlwdnNfbmxfc2VuZF9tZXNzYWdlKHN0cnVjdCBubF9tc2cgKm1zZywgbmxfcmVjdm1zZ19tc2dfY2JfdCBmdW5jLCB2b2lkICphcmcKKyB7CisgCWludCBlcnIgPSBFSU5WQUw7CisgCistCXNvY2sgPSBubF9oYW5kbGVfYWxsb2MoKTsKKysJc29jayA9IG5sX3NvY2tldF9hbGxvYygpOworIAlpZiAoIXNvY2spIHsKKyAJCW5sbXNnX2ZyZWUobXNnKTsKKyAJCXJldHVybiAtMTsKK0BAIC04OCw3ICs4OCw3IEBAIGludCBpcHZzX25sX3NlbmRfbWVzc2FnZShzdHJ1Y3QgbmxfbXNnICptc2csIG5sX3JlY3Ztc2dfbXNnX2NiX3QgZnVuYywgdm9pZCAqYXJnCisgCisgCS8qIFRvIHRlc3QgY29ubmVjdGlvbnMgYW5kIHNldCB0aGUgZmFtaWx5ICovCisgCWlmIChtc2cgPT0gTlVMTCkgeworLQkJbmxfaGFuZGxlX2Rlc3Ryb3koc29jayk7CisrCQlubF9zb2NrZXRfZnJlZShzb2NrKTsKKyAJCXNvY2sgPSBOVUxMOworIAkJcmV0dXJuIDA7CisgCX0KK0BAIC0xMDQsMTIgKzEwNCwxMiBAQCBpbnQgaXB2c19ubF9zZW5kX21lc3NhZ2Uoc3RydWN0IG5sX21zZyAqbXNnLCBubF9yZWN2bXNnX21zZ19jYl90IGZ1bmMsIHZvaWQgKmFyZworIAorIAlubG1zZ19mcmVlKG1zZyk7CisgCistCW5sX2hhbmRsZV9kZXN0cm95KHNvY2spOworKwlubF9zb2NrZXRfZnJlZShzb2NrKTsKKyAKKyAJcmV0dXJuIDA7CisgCisgZmFpbF9nZW5sOgorLQlubF9oYW5kbGVfZGVzdHJveShzb2NrKTsKKysJbmxfc29ja2V0X2ZyZWUoc29jayk7CisgCXNvY2sgPSBOVUxMOworIAlubG1zZ19mcmVlKG1zZyk7CisgCWVycm5vID0gZXJyOworLS0gCisxLjguMy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHZzYWRtL2lwdnNhZG0vMDAwMy1pcHZzYWRtLXJlbW92ZS1kZXBlbmRlbmN5LW9uLWJhc2gucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXB2c2FkbS9pcHZzYWRtLzAwMDMtaXB2c2FkbS1yZW1vdmUtZGVwZW5kZW5jeS1vbi1iYXNoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwMDExNGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXB2c2FkbS9pcHZzYWRtLzAwMDMtaXB2c2FkbS1yZW1vdmUtZGVwZW5kZW5jeS1vbi1iYXNoLnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKK0Zyb20gMmY0Y2RmNzBjZjkyZDNhOTUwM2Q4ZmYwNDViYTI3N2RiNDBiYjRlNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEpvZSBNYWNEb25hbGQgPGpvZV9tYWNkb25hbGRAbWVudG9yLmNvbT4KK0RhdGU6IE1vbmRheSwgMTMgQXByIDIwMTUgMTQ6MTI6MzcgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSF0gaXB2c2FkbTogcmVtb3ZlIGRlcGVuZGVuY3kgb24gYmFzaAorCitUaGUgc2F2ZS9yZXN0b3JlIHNjcmlwdHMgYXJlIHZlcnkgc2ltcGxlIGFuZCBkb24ndCBkZXBlbmQgb24gYW55IEJBU0gKK2ZlYXR1cmVzIGF0IGFsbCwgc28gc3dpdGNoIHRoZSBpbnRlcnByZXRlciB0byAvYmluL3NoLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSm9lIE1hY0RvbmFsZCA8am9lX21hY2RvbmFsZEBtZW50b3IuY29tPgorLS0tCisgaXB2c2FkbS1yZXN0b3JlIHwgMiArLQorIGlwdnNhZG0tc2F2ZSAgICB8IDIgKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2lwdnNhZG0tcmVzdG9yZSBiL2lwdnNhZG0tcmVzdG9yZQoraW5kZXggZjI0ZTFiMy4uYTlmYThiYyAxMDA2NDQKKy0tLSBhL2lwdnNhZG0tcmVzdG9yZQorKysrIGIvaXB2c2FkbS1yZXN0b3JlCitAQCAtMSw0ICsxLDQgQEAKKy0jIS9iaW4vYmFzaAorKyMhL2Jpbi9zaAorICMgICAgICBpcHZzYWRtLXJlc3RvcmUgLSBSZXN0b3JlIElQVlMgcnVsZXMKKyAjCisgIyAgICAgIEEgdmVyeSBzaW1wbGUgd3JhcHBlciB0byByZXN0b3JlIElQVlMgcnVsZXMKK2RpZmYgLS1naXQgYS9pcHZzYWRtLXNhdmUgYi9pcHZzYWRtLXNhdmUKK2luZGV4IGY0ZDM5OWUuLmFmNTE2MzggMTAwNjQ0CistLS0gYS9pcHZzYWRtLXNhdmUKKysrKyBiL2lwdnNhZG0tc2F2ZQorQEAgLTEsNCArMSw0IEBACistIyEvYmluL2Jhc2gKKysjIS9iaW4vc2gKKyAjICAgICAgaXB2c2FkbS1zYXZlIC0gU2F2ZSBJUFZTIHJ1bGVzCisgIworICMgICAgICBBIHZlcnkgc2ltcGxlIHdyYXBwZXIgdG8gc2F2ZSBJUFZTIHJ1bGVzCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHZzYWRtL2lwdnNhZG1fMS4yNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHZzYWRtL2lwdnNhZG1fMS4yNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MzAyZTlkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwdnNhZG0vaXB2c2FkbV8xLjI2LmJiCkBAIC0wLDAgKzEsMzUgQEAKK1NVTU1BUlkgPSAiTGludXggVmlydHVhbCBTZXJ2ZXIgYWRtaW5pc3RyYXRpb24gVXRpbGl0eSIKK0RFU0NSSVBUSU9OID0gIklwdnNhZG0gIGlzICB1c2VkICB0byBzZXQgdXAsIG1haW50YWluIG9yIGluc3BlY3QgdGhlIHZpcnR1YWwgc2VydmVyIFwKK3RhYmxlIGluIHRoZSBMaW51eCBrZXJuZWwuIFRoZSBMaW51eCBWaXJ0dWFsICBTZXJ2ZXIgIGNhbiAgYmUgIHVzZWQgIHRvIFwKK2J1aWxkICBzY2FsYWJsZSAgbmV0d29yayAgc2VydmljZXMgIGJhc2VkICBvbiAgYSBjbHVzdGVyIG9mIHR3byBvciBtb3JlIG5vZGVzLiBcCitUaGUgYWN0aXZlIG5vZGUgb2YgdGhlIGNsdXN0ZXIgcmVkaXJlY3RzIHNlcnZpY2UgcmVxdWVzdHMgIHRvICBhIFwKK2NvbGxlY3Rpb24gIG9mICBzZXJ2ZXIgIGhvc3RzICB0aGF0IHdpbGwgYWN0dWFsbHkgcGVyZm9ybSB0aGUgc2VydmljZXMuIFwKK1N1cHBvcnRlZCBmZWF0dXJlcyBpbmNsdWRlIHR3byBwcm90b2NvbHMgKFRDUCBhbmQgVURQKSwgIHRocmVlICBwYWNrZXQtZm9yd2FyZGluZyBcCittZXRob2RzIChOQVQsIHR1bm5lbGluZywgYW5kIGRpcmVjdCByb3V0aW5nKSwgYW5kIGVpZ2h0IGxvYWQgYmFsYW5jaW5nIGFsZ29yaXRobXMgXAorKHJvdW5kIHJvYmluLCB3ZWlnaHRlZCByb3VuZCByb2JpbiwgIGxlYXN0LWNvbm5lYy10aW9uLCB3ZWlnaHRlZCBsZWFzdC1jb25uZWN0aW9uLCBcCitsb2NhbGl0eS1iYXNlZCAgbGVhc3QtY29ubmVjdGlvbiwgbG9jYWxpdHktYmFzZWQgbGVhc3QtY29ubmVjdGlvbiB3aXRoIHJlcGxpY2F0aW9uLCBcCitkZXN0aW5hdGlvbi1oYXNoaW5nLCBhbmQgc291cmNlLWhhc2hpbmcpLiIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJHUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT00MDtlbmRsaW5lPTU2O21kNT1hNTRjYmEzN2I2NDkyNGFhNTAwODg4MTYwNzk0Mjg5MiIKKworREVQRU5EUyArPSAibGlibmwgcG9wdCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmxpbnV4dmlydHVhbHNlcnZlci5vcmcvc29mdHdhcmUva2VybmVsLTIuNi8ke0JQfS50YXIuZ3ogXAorICAgICAgICBmaWxlOi8vMDAwMS1Nb2RpZnktdGhlLU1ha2VmaWxlLWZvci1jcm9zcy1jb21waWxlLnBhdGNoIFwKKyAgICAgICAgZmlsZTovLzAwMDItUmVwbGFjZS1ubF9oYW5kbGUtdG8tbmxfc29jay5wYXRjaCBcCisgICAgICAgIGZpbGU6Ly8wMDAzLWlwdnNhZG0tcmVtb3ZlLWRlcGVuZGVuY3ktb24tYmFzaC5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlYWMzYmEzZjYyY2Q0ZGVhMmRhMzUzYWVkZGQzNTNhOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2ZDZjNDZmZWNiMWM1MzJhODkyNjE2YjQ0NDVjNzNiNzE3MzBlODc5MGQ1NjMwZjYwMjY5ZmQ5Y2JlZTBlYjJkIgorCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UgXAorICAgIENDPSIke0NDfSAtSSR7U1RBR0lOR19JTkNESVJ9IC1JJHtTVEFHSU5HX0lOQ0RJUn0vbGlibmwzIC1MJHtTVEFHSU5HX0xJQkRJUn0iIFwKKyAgICBhbGwKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlICdCVUlMRF9ST09UPSR7RH0nIGluc3RhbGwKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJlc210cC9saWJlc210cC9pbmNsdWRlLXRvcGRpci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJlc210cC9saWJlc210cC9pbmNsdWRlLXRvcGRpci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MGM0Y2U3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYmVzbXRwL2xpYmVzbXRwL2luY2x1ZGUtdG9wZGlyLnBhdGNoCkBAIC0wLDAgKzEsNDggQEAKK2RpZmYgLU51cnAgbGliZXNtdHAtMS4wLjYub3JnL2NyYW1tZDUvTWFrZWZpbGUuYW0gbGliZXNtdHAtMS4wLjYvY3JhbW1kNS9NYWtlZmlsZS5hbQorLS0tIGxpYmVzbXRwLTEuMC42Lm9yZy9jcmFtbWQ1L01ha2VmaWxlLmFtCTIwMTAtMDgtMDggMjM6NDU6NTcuMDAwMDAwMDAwICswODAwCisrKysgbGliZXNtdHAtMS4wLjYvY3JhbW1kNS9NYWtlZmlsZS5hbQkyMDE0LTExLTE3IDExOjE3OjIxLjY2MzYyNDI5NSArMDgwMAorQEAgLTIsNyArMiw3IEBACisgCisgbGliZGlyID0gQHBsdWdpbmRpckAKKyAKKy1JTkNMVURFUyA9IC1JQHNyY2RpckAKKytJTkNMVURFUyA9IC1JQHNyY2RpckAgLUlAc3JjZGlyQC8uLi8KKyBBTV9DRkxBR1MgPSBAQ0ZMQUdTQCBARVhUUkFfQ0ZMQUdTQAorIAorIGxpYl9MVExJQlJBUklFUyA9IHNhc2wtY3JhbS1tZDUubGEKK2RpZmYgLU51cnAgbGliZXNtdHAtMS4wLjYub3JnL2xvZ2luL01ha2VmaWxlLmFtIGxpYmVzbXRwLTEuMC42L2xvZ2luL01ha2VmaWxlLmFtCistLS0gbGliZXNtdHAtMS4wLjYub3JnL2xvZ2luL01ha2VmaWxlLmFtCTIwMTAtMDgtMDggMjM6NDU6NTYuMDAwMDAwMDAwICswODAwCisrKysgbGliZXNtdHAtMS4wLjYvbG9naW4vTWFrZWZpbGUuYW0JMjAxNC0xMS0xNyAxMToxNzo1NC4zMzk2MjMwMTggKzA4MDAKK0BAIC0yLDcgKzIsNyBAQAorIAorIGxpYmRpciA9IEBwbHVnaW5kaXJACisgCistSU5DTFVERVMgPSAtSUBzcmNkaXJACisrSU5DTFVERVMgPSAtSUBzcmNkaXJAIC1JQHNyY2RpckAvLi4vCisgCisgbGliX0xUTElCUkFSSUVTID0gc2FzbC1sb2dpbi5sYQorIEFNX0NGTEFHUyA9IEBDRkxBR1NAIEBFWFRSQV9DRkxBR1NACitkaWZmIC1OdXJwIGxpYmVzbXRwLTEuMC42Lm9yZy9udGxtL01ha2VmaWxlLmFtIGxpYmVzbXRwLTEuMC42L250bG0vTWFrZWZpbGUuYW0KKy0tLSBsaWJlc210cC0xLjAuNi5vcmcvbnRsbS9NYWtlZmlsZS5hbQkyMDEwLTA4LTA4IDIzOjQ1OjU2LjAwMDAwMDAwMCArMDgwMAorKysrIGxpYmVzbXRwLTEuMC42L250bG0vTWFrZWZpbGUuYW0JMjAxNC0xMS0xNyAxMToxODoxMC41NTE2MjIzODUgKzA4MDAKK0BAIC0yLDcgKzIsNyBAQAorIAorIGxpYmRpciA9IEBwbHVnaW5kaXJACisgCistSU5DTFVERVMgPSAtSUBzcmNkaXJACisrSU5DTFVERVMgPSAtSUBzcmNkaXJAIC1JQHNyY2RpckAvLi4vCisgQU1fQ0ZMQUdTID0gQENGTEFHU0AgQEVYVFJBX0NGTEFHU0AKKyAKKyBsaWJfTFRMSUJSQVJJRVMgPSBzYXNsLW50bG0ubGEKK2RpZmYgLU51cnAgbGliZXNtdHAtMS4wLjYub3JnL3BsYWluL01ha2VmaWxlLmFtIGxpYmVzbXRwLTEuMC42L3BsYWluL01ha2VmaWxlLmFtCistLS0gbGliZXNtdHAtMS4wLjYub3JnL3BsYWluL01ha2VmaWxlLmFtCTIwMTAtMDgtMDggMjM6NDU6NTQuMDAwMDAwMDAwICswODAwCisrKysgbGliZXNtdHAtMS4wLjYvcGxhaW4vTWFrZWZpbGUuYW0JMjAxNC0xMS0xNyAxMToxODozMy4zNTU2MjE0OTQgKzA4MDAKK0BAIC0yLDcgKzIsNyBAQAorIAorIGxpYmRpciA9IEBwbHVnaW5kaXJACisgCistSU5DTFVERVMgPSAtSUBzcmNkaXJACisrSU5DTFVERVMgPSAtSUBzcmNkaXJAIC1JQHNyY2RpckAvLi4vCisgQU1fQ0ZMQUdTID0gQENGTEFHU0AgQEVYVFJBX0NGTEFHU0AKKyAKKyBsaWJfTFRMSUJSQVJJRVMgPSBzYXNsLXBsYWluLmxhCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGliZXNtdHAvbGliZXNtdHBfMS4wLjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGliZXNtdHAvbGliZXNtdHBfMS4wLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2RkZjU5MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJlc210cC9saWJlc210cF8xLjAuNi5iYgpAQCAtMCwwICsxLDM2IEBACitTVU1NQVJZID0gIlNNVFAgY2xpZW50IGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJMaWJFU01UUCBpcyBhIGxpYnJhcnkgdG8gbWFuYWdlIHBvc3RpbmcgXAorKG9yIHN1Ym1pc3Npb24gb2YpIGVsZWN0cm9uaWMgbWFpbCB1c2luZyBTTVRQIHRvIGEgXAorcHJlY29uZmlndXJlZCBNYWlsIFRyYW5zcG9ydCBBZ2VudCAoTVRBKSBzdWNoIGFzIEV4aW0gb3IgUG9zdEZpeC4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnN0YWZmb3JkLnVrbGludXgubmV0L2xpYmVzbXRwLyIKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKK1NFQ1RJT04gPSAibGlicyIKKworREVQRU5EUyA9ICJvcGVuc3NsIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuc3RhZmZvcmQudWtsaW51eC5uZXQvbGliZXNtdHAvbGliZXNtdHAtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9pbmNsdWRlLXRvcGRpci5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICJiZjM5MTVlNjI3ZmQ4ZjM1NTI0YThmZGZlZWQ5NzljOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkMGE2MWE1YzUyZDk5ZmE3Y2U3ZDAwZWQwYTA3ZTM0MWRiZGE2NzEwMWRiZWQxYWIwY2RhZTNmMzdkYjRlYjBiIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9ZTNlZGEwMWQ5ODE1ZjhkMjRhYWUyZGJkODliNjhiMDYiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGJpbmNvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLXdpdGgtYXV0aC1wbHVnaW4tZGlyPSR7bGliZGlyfS9lc210cC1wbHVnaW5zIFwKKyAgICAtLWVuYWJsZS1wdGhyZWFkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAtLWVuYWJsZS1kZWJ1ZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAtLWVuYWJsZS1ldHJuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAtLWRpc2FibGUtaXNvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAtLWRpc2FibGUtbW9yZS13YXJuaW5ncyAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAtLWRpc2FibGUtc3RhdGljICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyIKKworRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYioke1NPTElCU30gXAorICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2VzbXRwLXBsdWdpbnMvKiR7U09MSUJTREVWfSIKKworRklMRVNfJHtQTn0tZGV2ICArPSAiJHtsaWJkaXJ9L2VzbXRwLXBsdWdpbnMvKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpYyArPSAiJHtsaWJkaXJ9L2VzbXRwLXBsdWdpbnMvKi5hIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZXNtdHAtcGx1Z2lucy8uZGVidWcvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYmxkYi9saWJsZGIvYXZvaWQtb3BlbmxkYXAtdW5sZXNzLXdhbnRlZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJsZGIvbGlibGRiL2F2b2lkLW9wZW5sZGFwLXVubGVzcy13YW50ZWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGFiMDk0ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJsZGIvbGlibGRiL2F2b2lkLW9wZW5sZGFwLXVubGVzcy13YW50ZWQucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorLS0tIGEvd3NjcmlwdAkyMDE1LTExLTE4IDEyOjQzOjMzLjAwMDAwMDAwMCArMDEwMAorKysrIGIvd3NjcmlwdAkyMDE1LTExLTE4IDEyOjQ2OjI1LjAwMDAwMDAwMCArMDEwMAorQEAgLTU4LDkgKzU4LDcgQEAKKyAgICAgaWYgY29uZi5lbnYuc3RhbmRhbG9uZV9sZGI6CisgICAgICAgICBjb25mLkNIRUNLX1hTTFRQUk9DX01BTlBBR0VTKCkKKyAKKy0gICAgICAgICMgd2UgbmVlZCB0aGlzIGZvciB0aGUgbGRhcCBiYWNrZW5kCistICAgICAgICBpZiBjb25mLkNIRUNLX0ZVTkNTX0lOKCdiZXJfZmx1c2ggbGRhcF9vcGVuIGxkYXBfaW5pdGlhbGl6ZScsICdsYmVyIGxkYXAnLCBoZWFkZXJzPSdsYmVyLmggbGRhcC5oJyk6CistICAgICAgICAgICAgY29uZi5lbnYuRU5BQkxFX0xEQVBfQkFDS0VORCA9IFRydWUKKysgICAgICAgIGNvbmYuZW52LkVOQUJMRV9MREFQX0JBQ0tFTkQgPSBGYWxzZQorIAorICAgICAgICAgIyB3ZSBkb24ndCB3YW50IGFueSBsaWJyYXJpZXMgb3IgbW9kdWxlcyB0byByZWx5IG9uIHJ1bnRpbWUKKyAgICAgICAgICMgcmVzb2x1dGlvbiBvZiBzeW1ib2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlibGRiL2xpYmxkYi9kby1ub3QtaW1wb3J0LXRhcmdldC1tb2R1bGUtd2hpbGUtY3Jvc3MtY29tcGlsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJsZGIvbGlibGRiL2RvLW5vdC1pbXBvcnQtdGFyZ2V0LW1vZHVsZS13aGlsZS1jcm9zcy1jb21waWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZkZDMxMmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlibGRiL2xpYmxkYi9kby1ub3QtaW1wb3J0LXRhcmdldC1tb2R1bGUtd2hpbGUtY3Jvc3MtY29tcGlsZS5wYXRjaApAQCAtMCwwICsxLDU4IEBACitTb21lIG1vZHVsZXMgc3VjaCBhcyBkeW5hbWljIGxpYnJhcnkgbWF5YmUgY2Fubid0IGJlIGltcG9ydGVkIHdoaWxlIGNyb3NzIGNvbXBpbGUsCit3ZSBqdXN0IGNoZWNrIHdoZXRoZXIgZG9lcyB0aGUgbW9kdWxlIGV4aXN0LgorCitTaWduZWQtb2ZmLWJ5OiBCaWFuIE5haW1lbmcgPGJpYW5ubUBjbi5mdWppdHN1LmNvbT4KKworSW5kZXg6IGxkYi0xLjEuMjYvYnVpbGR0b29scy93YWZzYW1iYS9zYW1iYV9idW5kbGVkLnB5Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGRiLTEuMS4yNi5vcmlnL2J1aWxkdG9vbHMvd2Fmc2FtYmEvc2FtYmFfYnVuZGxlZC5weQorKysrIGxkYi0xLjEuMjYvYnVpbGR0b29scy93YWZzYW1iYS9zYW1iYV9idW5kbGVkLnB5CitAQCAtMiw2ICsyLDcgQEAKKyAKKyBpbXBvcnQgc3lzCisgaW1wb3J0IEJ1aWxkLCBPcHRpb25zLCBMb2dzCisraW1wb3J0IGltcCwgb3MKKyBmcm9tIENvbmZpZ3VyZSBpbXBvcnQgY29uZgorIGZyb20gc2FtYmFfdXRpbHMgaW1wb3J0IFRPX0xJU1QKKyAKK0BAIC0yMzAsMTcgKzIzMSwzMiBAQCBkZWYgQ0hFQ0tfQlVORExFRF9TWVNURU1fUFlUSE9OKGNvbmYsIGxpCisgICAgICMgdmVyc2lvbnMKKyAgICAgbWludmVyc2lvbiA9IG1pbmltdW1fbGlicmFyeV92ZXJzaW9uKGNvbmYsIGxpYm5hbWUsIG1pbnZlcnNpb24pCisgCistICAgIHRyeToKKy0gICAgICAgIG0gPSBfX2ltcG9ydF9fKG1vZHVsZW5hbWUpCistICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKKy0gICAgICAgIGZvdW5kID0gRmFsc2UKKy0gICAgZWxzZToKKysgICAgIyBGaW5kIG1vZHVsZSBpbiBQWVRIT05QQVRICisrICAgIHN0dWZmID0gaW1wLmZpbmRfbW9kdWxlKG1vZHVsZW5hbWUsIFtvcy5lbnZpcm9uWyJQWVRIT05QQVRIIl1dKQorKyAgICBpZiBzdHVmZjoKKyAgICAgICAgIHRyeToKKy0gICAgICAgICAgICB2ZXJzaW9uID0gbS5fX3ZlcnNpb25fXworLSAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorKyAgICAgICAgICAgIG0gPSBpbXAubG9hZF9tb2R1bGUobW9kdWxlbmFtZSwgc3R1ZmZbMF0sIHN0dWZmWzFdLCBzdHVmZlsyXSkKKysgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICAgICAgICAgICBmb3VuZCA9IEZhbHNlCisrCisrICAgICAgICAgICAgaWYgY29uZi5lbnYuQ1JPU1NfQ09NUElMRToKKysgICAgICAgICAgICAgICAgIyBTb21lIG1vZHVsZXMgc3VjaCBhcyBkeW5hbWljIGxpYnJhcnkgbWF5YmUgY2Fubid0IGJlIGltcG9ydGVkCisrICAgICAgICAgICAgICAgICMgd2hpbGUgY3Jvc3MgY29tcGlsZSwgd2UganVzdCBjaGVjayB3aGV0aGVyIHRoZSBtb2R1bGUgZXhpc3QKKysgICAgICAgICAgICAgICAgTG9ncy53YXJuKCdDcm9zcyBtb2R1bGVbJXNdIGhhcyBiZWVuIGZvdW5kLCBidXQgY2FuIG5vdCBiZSBsb2FkZWQuJyAlIChzdHVmZlsxXSkpCisrICAgICAgICAgICAgICAgIGZvdW5kID0gVHJ1ZQorICAgICAgICAgZWxzZToKKy0gICAgICAgICAgICBmb3VuZCA9IHR1cGxpemVfdmVyc2lvbih2ZXJzaW9uKSA+PSB0dXBsaXplX3ZlcnNpb24obWludmVyc2lvbikKKysgICAgICAgICAgICB0cnk6CisrICAgICAgICAgICAgICAgIHZlcnNpb24gPSBtLl9fdmVyc2lvbl9fCisrICAgICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorKyAgICAgICAgICAgICAgICBmb3VuZCA9IEZhbHNlCisrICAgICAgICAgICAgZWxzZToKKysgICAgICAgICAgICAgICAgZm91bmQgPSB0dXBsaXplX3ZlcnNpb24odmVyc2lvbikgPj0gdHVwbGl6ZV92ZXJzaW9uKG1pbnZlcnNpb24pCisrICAgICAgICBmaW5hbGx5OgorKyAgICAgICAgICAgIGlmIHN0dWZmWzBdOgorKyAgICAgICAgICAgICAgICBzdHVmZlswXS5jbG9zZSgpCisrICAgIGVsc2U6CisrICAgICAgICBmb3VuZCA9IEZhbHNlCisrCisgICAgIGlmIG5vdCBmb3VuZCBhbmQgbm90IGNvbmYuTElCX01BWV9CRV9CVU5ETEVEKGxpYm5hbWUpOgorICAgICAgICAgTG9ncy5lcnJvcignRVJST1I6IFB5dGhvbiBtb2R1bGUgJXMgb2YgdmVyc2lvbiAlcyBub3QgZm91bmQsIGFuZCBidW5kbGluZyBkaXNhYmxlZCcgJSAobGlibmFtZSwgbWludmVyc2lvbikpCisgICAgICAgICBzeXMuZXhpdCgxKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYmxkYi9saWJsZGJfMS4xLjI2LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYmxkYi9saWJsZGJfMS4xLjI2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0NThkNDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlibGRiL2xpYmxkYl8xLjEuMjYuYmIKQEAgLTAsMCArMSw0OSBAQAorU1VNTUFSWSA9ICJIaWVyYXJjaGljYWwsIHJlZmVyZW5jZSBjb3VudGVkIG1lbW9yeSBwb29sIHN5c3RlbSB3aXRoIGRlc3RydWN0b3JzIgorSE9NRVBBR0UgPSAiaHR0cDovL2xkYi5zYW1iYS5vcmciCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEwtMy4wKyAmIExHUEwtMi4xKyAmIEdQTC0zLjArIgorCitERVBFTkRTICs9ICJsaWJic2QgbGlidGRiIGxpYnRhbGxvYyBsaWJ0ZXZlbnQgcG9wdCIKK1JERVBFTkRTX3B5bGRiICs9ICJweXRob24iCisKK1NSQ19VUkkgPSAiaHR0cDovL3NhbWJhLm9yZy9mdHAvbGRiL2xkYi0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZG8tbm90LWltcG9ydC10YXJnZXQtbW9kdWxlLXdoaWxlLWNyb3NzLWNvbXBpbGUucGF0Y2ggXAorICAgICAgICAgICIKKworUEFDS0FHRUNPTkZJR1tsZGFwXSA9ICIsLG9wZW5sZGFwIgorU1JDX1VSSSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnbGRhcCcsICcnLCAnZmlsZTovL2F2b2lkLW9wZW5sZGFwLXVubGVzcy13YW50ZWQucGF0Y2gnLCBkKX0iCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L21ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzL0xHUEwtMy4wO21kNT1iZmNjZmU5NTIyNjlmZmYyYjQwN2RkMTFmMmYzMDgzYiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL2ZpbGVzL2NvbW1vbi1saWNlbnNlcy9MR1BMLTIuMTttZDU9MWE2ZDI2OGZkMjE4Njc1ZmZlYThiZTU1Njc4OGI3ODAgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMvR1BMLTMuMDttZDU9Yzc5ZmYzOWYxOWRmZWM2ZDI5M2I5NWRlYTdiMDc4OTEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzMTc4MGI3MDJiNjM4YWQzMmFhNWQ5ODUzZDI1NzgzOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ODQzYzdhNzJiOTgwZDk0MTNiYTZjNDk0YzAzOWJjY2QxMGM1MjRiMzdmZGEyOTE3YWZiMTQ3NzQ1ZDhiMmU2IgorCitpbmhlcml0IHdhZi1zYW1iYQorCitTID0gIiR7V09SS0RJUn0vbGRiLSR7UFZ9IgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1ycGF0aCBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1ycGF0aC1pbnN0YWxsIFwKKyAgICAgICAgICAgICAgICAgLS1idW5kbGVkLWxpYnJhcmllcz1OT05FIFwKKyAgICAgICAgICAgICAgICAgLS1idWlsdGluLWxpYnJhcmllcz1yZXBsYWNlIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLW1vZHVsZXNkaXI9JHtsaWJkaXJ9L2xkYi9tb2R1bGVzIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLXByaXZhdGVsaWJkaXI9JHtsaWJkaXJ9L2xkYiBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1saWJpY29udj0ke1NUQUdJTkdfRElSX0hPU1R9JHtwcmVmaXh9XAorICAgICAgICAgICAgICAgICIKK0RJU0FCTEVfU1RBVElDID0gIiIKKworUEFDS0FHRVMgKz0gInB5bGRiIHB5bGRiLWRiZyBweWxkYi1kZXYiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vbGRiLyoiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9sZGIvLmRlYnVnLyogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGRiL21vZHVsZXMvbGRiLy5kZWJ1Zy8qIgorCitGSUxFU19weWxkYiA9ICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMvKiBcCisgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlicHlsZGItdXRpbC5zby4xIFwKKyAgICAgICAgICAgICAgICR7bGliZGlyfS9saWJweWxkYi11dGlsLnNvLjEuMS4xNyBcCisgICAgICAgICAgICAgICIKK0ZJTEVTX3B5bGRiLWRiZyA9ICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMvLmRlYnVnIFwKKyAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vLmRlYnVnL2xpYnB5bGRiLXV0aWwuc28uMS4xLjE3IgorRklMRVNfcHlsZGItZGV2ID0gIiR7bGliZGlyfS9saWJweWxkYi11dGlsLnNvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYm1lbWNhY2hlZC9maWxlcy9jcm9zc2NvbXBpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlibWVtY2FjaGVkL2ZpbGVzL2Nyb3NzY29tcGlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MzUxMWJmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYm1lbWNhY2hlZC9maWxlcy9jcm9zc2NvbXBpbGUucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorIGxpYm1lbWNhY2hlZC9iYWNrdHJhY2UuY2MgfCAgICAzICsrLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworLS0tIGxpYm1lbWNhY2hlZC0xLjAuMTUub3JpZy9saWJtZW1jYWNoZWQvYmFja3RyYWNlLmNjCisrKysgbGlibWVtY2FjaGVkLTEuMC4xNS9saWJtZW1jYWNoZWQvYmFja3RyYWNlLmNjCitAQCAtNzUsMTAgKzc1LDExIEBAIHZvaWQgY3VzdG9tX2JhY2t0cmFjZSh2b2lkKQorICAgICB7CisgICAgICAgZm9yIChpbnQgeD0gMDsgeCA8IHN0YWNrX2ZyYW1lczsgeCsrKSAKKyAgICAgICB7CisgICAgICAgICBib29sIHdhc19kZW1hbmdsZWQ9IGZhbHNlOworIAorKyNpZiBVU0VfREVNQU5HTEUgPT0gMQorICAgICAgICAgaWYgKFVTRV9ERU1BTkdMRSkKKyAgICAgICAgIHsKKyAjaWZkZWYgSEFWRV9ETEZDTl9ICisgICAgICAgICAgIERsX2luZm8gZGxpbmZvOworICAgICAgICAgICBpZiAoZGxhZGRyKGJhY2t0cmFjZV9idWZmZXJbeF0sICZkbGluZm8pKQorQEAgLTEwNywxMSArMTA4LDExIEBAIHZvaWQgY3VzdG9tX2JhY2t0cmFjZSh2b2lkKQorICAgICAgICAgICAgICAgICAgICAgICBkbGluZm8uZGxpX2ZuYW1lKTsKKyAgICAgICAgICAgICB9CisgICAgICAgICAgIH0KKyAjZW5kaWYKKyAgICAgICAgIH0KKy0KKysjZW5kaWYKKyAgICAgICAgIGlmICh3YXNfZGVtYW5nbGVkID09IGZhbHNlKQorICAgICAgICAgeworICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIj8lZCAgJXAgaW4gJXNcbiIsIHgsIGJhY2t0cmFjZV9idWZmZXJbeF0sIHN5bWJvbGxpc3RbeF0pOworICAgICAgICAgfQorICAgICAgIH0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJtZW1jYWNoZWQvbGlibWVtY2FjaGVkLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJtZW1jYWNoZWQvbGlibWVtY2FjaGVkLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNzI0NDNhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYm1lbWNhY2hlZC9saWJtZW1jYWNoZWQuaW5jCkBAIC0wLDAgKzEsMTQgQEAKK0RFU0NSSVBUSU9OID0gIm9wZW4gc291cmNlIEMvQysrIGNsaWVudCBsaWJyYXJ5IGFuZCB0b29scyBmb3IgdGhlIG1lbWNhY2hlZCBzZXJ2ZXIiCitERVBFTkRTID0gImxpYmV2ZW50IHV0aWwtbGludXgiCitTRUNUSU9OID0gImxpYmRldmVsIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04NjU0OTA5NDFjOTFiYTc5MGYwZWE3OGRlYzkzYmQ2MCIKKworU1JDX1VSSSA9ICJodHRwOi8vbGF1bmNocGFkLm5ldC9saWJtZW1jYWNoZWQvMS4wLyR7UFZ9Lytkb3dubG9hZC9saWJtZW1jYWNoZWQtJHtQVn0udGFyLmd6IgorCitUQVJHRVRfTERGTEFHUyArPSAiLWx1dWlkIgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tzYXNsXSA9ICItLWVuYWJsZS1zYXNsLC0tZGlzYWJsZS1zYXNsLGN5cnVzLXNhc2wiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlibWVtY2FjaGVkL2xpYm1lbWNhY2hlZF8xLjAuMTUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlibWVtY2FjaGVkL2xpYm1lbWNhY2hlZF8xLjAuMTUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTgyMzJiNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJtZW1jYWNoZWQvbGlibWVtY2FjaGVkXzEuMC4xNS5iYgpAQCAtMCwwICsxLDYgQEAKK3JlcXVpcmUgbGlibWVtY2FjaGVkLmluYworCitTUkNfVVJJICs9ICJmaWxlOi8vY3Jvc3Njb21waWxlLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNjE2Mjk3YTFhZWRlZmM1MmIzZjY5MjJlZGE1ZDU1OWEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZGQ3ZTk1NjAwMjk4MzViZGRmNzYxYTViNGMyMzM5ZDllNWM3Mzc0NTU4NjU5YjZjMTFiMmM5NWU3ZDNhNDMyNSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJtZW1jYWNoZWQvbGlibWVtY2FjaGVkXzEuMC43LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYm1lbWNhY2hlZC9saWJtZW1jYWNoZWRfMS4wLjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2RmODQxNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJtZW1jYWNoZWQvbGlibWVtY2FjaGVkXzEuMC43LmJiCkBAIC0wLDAgKzEsNCBAQAorcmVxdWlyZSBsaWJtZW1jYWNoZWQuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkNTlhNDYyYTkyZDI5NmY3NmJmZjJkOWJjNzJiMjUxNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzZWZhODZjOTczM2VhYWQ1NWQ3MTE5Y2IxNjc2OTQyNGUyYWE2YzIyYjMzOTJlOGY5NzM5NDZmY2U2Njc4ZDgxIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRhbGxvYy9saWJ0YWxsb2MvYXZvaWQtYXR0ci11bmxlc3Mtd2FudGVkLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRhbGxvYy9saWJ0YWxsb2MvYXZvaWQtYXR0ci11bmxlc3Mtd2FudGVkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzZWU5Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlidGFsbG9jL2xpYnRhbGxvYy9hdm9pZC1hdHRyLXVubGVzcy13YW50ZWQucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorLS0tIGEvbGliL3JlcGxhY2Uvd3NjcmlwdAkyMDE1LTExLTEzIDE2OjA0OjA0LjAwMDAwMDAwMCArMDEwMAorKysrIGIvbGliL3JlcGxhY2Uvd3NjcmlwdAkyMDE1LTExLTEzIDE2OjIzOjIwLjAwMDAwMDAwMCArMDEwMAorQEAgLTYzNiw4ICs2MzYsNiBAQAorICAgICBpZiBub3QgYmxkLkNPTkZJR19TRVQoJ0hBVkVfSU5FVF9BVE9OJyk6ICAgICBSRVBMQUNFX1NPVVJDRSArPSAnIGluZXRfYXRvbi5jJworICAgICBpZiBub3QgYmxkLkNPTkZJR19TRVQoJ0hBVkVfSU5FVF9OVE9QJyk6ICAgICBSRVBMQUNFX1NPVVJDRSArPSAnIGluZXRfbnRvcC5jJworICAgICBpZiBub3QgYmxkLkNPTkZJR19TRVQoJ0hBVkVfSU5FVF9QVE9OJyk6ICAgICBSRVBMQUNFX1NPVVJDRSArPSAnIGluZXRfcHRvbi5jJworLSAgICBpZiBub3QgYmxkLkNPTkZJR19TRVQoJ0hBVkVfR0VUWEFUVFInKSBvciBibGQuQ09ORklHX1NFVCgnWEFUVFJfQURESVRJT05BTF9PUFRJT05TJyk6CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJFUExBQ0VfU09VUkNFICs9ICcgeGF0dHIuYycKKyAKKyAgICAgYmxkLlNBTUJBX0xJQlJBUlkoJ3JlcGxhY2UnLAorICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2U9UkVQTEFDRV9TT1VSQ0UsCitAQCAtNjQ4LDcgKzY0Niw3IEBACisgICAgICAgICAgICAgICAgICAgICAgICMgYXQgdGhlIG1vbWVudDoKKyAgICAgICAgICAgICAgICAgICAgICAgIyBoaWRlX3N5bWJvbHM9YmxkLkJVSUxUSU5fTElCUkFSWSgncmVwbGFjZScpLAorICAgICAgICAgICAgICAgICAgICAgICBwcml2YXRlX2xpYnJhcnk9VHJ1ZSwKKy0gICAgICAgICAgICAgICAgICAgICAgZGVwcz0nY3J5cHQgZGwgbnNsIHNvY2tldCBydCBhdHRyJyArIGV4dHJhX2xpYnMpCisrICAgICAgICAgICAgICAgICAgICAgIGRlcHM9J2NyeXB0IGRsIG5zbCBzb2NrZXQgcnQgJyArIGV4dHJhX2xpYnMpCisgCisgICAgIGJsZC5TQU1CQV9TVUJTWVNURU0oJ3JlcGxhY2UtdGVzdCcsCisgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZT0nJyd0ZXN0L3Rlc3RzdWl0ZS5jIHRlc3Qvc3RycHRpbWUuYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRhbGxvYy9saWJ0YWxsb2NfMi4xLjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlidGFsbG9jL2xpYnRhbGxvY18yLjEuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTM3MzExCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRhbGxvYy9saWJ0YWxsb2NfMi4xLjYuYmIKQEAgLTAsMCArMSw0MiBAQAorU1VNTUFSWSA9ICJIaWVyYXJjaGljYWwsIHJlZmVyZW5jZSBjb3VudGVkIG1lbW9yeSBwb29sIHN5c3RlbSB3aXRoIGRlc3RydWN0b3JzIgorSE9NRVBBR0UgPSAiaHR0cDovL3RhbGxvYy5zYW1iYS5vcmciCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEwtMy4wKyAmIEdQTC0zLjArIgorCitERVBFTkRTICs9ICJsaWJic2QiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NhbWJhLm9yZy9mdHAvdGFsbG9jL3RhbGxvYy0ke1BWfS50YXIuZ3oiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL2ZpbGVzL2NvbW1vbi1saWNlbnNlcy9MR1BMLTMuMDttZDU9YmZjY2ZlOTUyMjY5ZmZmMmI0MDdkZDExZjJmMzA4M2IgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMvR1BMLTMuMDttZDU9Yzc5ZmYzOWYxOWRmZWM2ZDI5M2I5NWRlYTdiMDc4OTEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3MDcwMTBjNmVkZTU4MjFmZDM0Mzk3ZjVkOWVjNmFiOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzYjhlMWE1MGJhY2IzNTlkOTk5NDJlMGRkOTk0MWNlZjc3OWFlNGI1ZWIyMGYxMzg4NzNiZDgyNzBjYjFkNDdiIgorCisKK2luaGVyaXQgd2FmLXNhbWJhCisKK1BBQ0tBR0VDT05GSUdbYXR0cl0gPSAiLCxhdHRyIgorCitTUkNfVVJJICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdhdHRyJywgJycsICdmaWxlOi8vYXZvaWQtYXR0ci11bmxlc3Mtd2FudGVkLnBhdGNoJywgZCl9IgorCitTID0gIiR7V09SS0RJUn0vdGFsbG9jLSR7UFZ9IgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1ycGF0aCBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1ycGF0aC1pbnN0YWxsIFwKKyAgICAgICAgICAgICAgICAgLS1idW5kbGVkLWxpYnJhcmllcz1OT05FIFwKKyAgICAgICAgICAgICAgICAgLS1idWlsdGluLWxpYnJhcmllcz1yZXBsYWNlIFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXNpbGVudC1ydWxlcyBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1saWJpY29udj0ke1NUQUdJTkdfRElSX0hPU1R9JHtwcmVmaXh9XAorICAgICAgICAgICAgICAgICIKK0RJU0FCTEVfU1RBVElDID0gIiIKKworUEFDS0FHRVMgKz0gInB5dGFsbG9jIHB5dGFsbG9jLWRiZyBweXRhbGxvYy1kZXYiCisKK0ZJTEVTX3B5dGFsbG9jID0gIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0vc2l0ZS1wYWNrYWdlcy8qIFwKKyAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9saWJweXRhbGxvYy11dGlsLnNvLjIgXAorICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYnB5dGFsbG9jLXV0aWwuc28uMi4xLjEgXAorICAgICAgICAgICAgICAgICAiCitGSUxFU19weXRhbGxvYy1kYmcgPSAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX0JBU0VWRVJTSU9OfS9zaXRlLXBhY2thZ2VzLy5kZWJ1ZyBcCisgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9Ly5kZWJ1Zy9saWJweXRhbGxvYy11dGlsLnNvLjIuMS4xIgorRklMRVNfcHl0YWxsb2MtZGV2ID0gIiR7bGliZGlyfS9saWJweXRhbGxvYy11dGlsLnNvIgorUkRFUEVORFNfcHl0YWxsb2MgPSAicHl0aG9uIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRkYi9saWJ0ZGIvZG8tbm90LWNoZWNrLXhzbHRwcm9jLW1hbnBhZ2VzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRkYi9saWJ0ZGIvZG8tbm90LWNoZWNrLXhzbHRwcm9jLW1hbnBhZ2VzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjYzQ1YzkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlidGRiL2xpYnRkYi9kby1ub3QtY2hlY2steHNsdHByb2MtbWFucGFnZXMucGF0Y2gKQEAgLTAsMCArMSwxNSBAQAorRG9uJ3QgY2hlY2sgbWFucGFnZXMgZm9yIHhzbHRwcm9jLgorCitTaWduZWQtb2ZmLWJ5OiBCaWFuIE5haW1lbmcgPGJpYW5ubUBjbi5mdWppdHN1LmNvbT4KKworLS0tIHRkYi0xLjMuMC5vcmlnL3dzY3JpcHQJMjAxNS0wNC0yMiAwOTo1MjozMi4zNjYwMDAyMjIgKzA5MDAKKysrKyB0ZGItMS4zLjAvd3NjcmlwdAkyMDE1LTA0LTIyIDA5OjUxOjU3LjcyMDAwMDIwNSArMDkwMAorQEAgLTkwLDcgKzkwLDcgQEAgZGVmIGNvbmZpZ3VyZShjb25mKToKKyAgICAgICAgIG5vdCBjb25mLmVudi5kaXNhYmxlX3RkYl9tdXRleF9sb2NraW5nKToKKyAgICAgICAgIGNvbmYuZGVmaW5lKCdVU0VfVERCX01VVEVYX0xPQ0tJTkcnLCAxKQorIAorLSAgICBjb25mLkNIRUNLX1hTTFRQUk9DX01BTlBBR0VTKCkKKysgICAgY29uZi5maW5kX3Byb2dyYW0oJ3hzbHRwcm9jJywgdmFyPSdYU0xUUFJPQycpCisgCisgICAgIGlmIG5vdCBjb25mLmVudi5kaXNhYmxlX3B5dGhvbjoKKyAgICAgICAgICMgYWxzbyBkaXNhYmxlIGlmIHdlIGRvbid0IGhhdmUgdGhlIHB5dGhvbiBsaWJzIGluc3RhbGxlZApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRkYi9saWJ0ZGJfMS4zLjguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlidGRiL2xpYnRkYl8xLjMuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZjY2OThhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRkYi9saWJ0ZGJfMS4zLjguYmIKQEAgLTAsMCArMSwzMSBAQAorU1VNTUFSWSA9ICJUaGUgdGRiIGxpYnJhcnkiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEwtMy4wKyAmIEdQTC0zLjArIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL2ZpbGVzL2NvbW1vbi1saWNlbnNlcy9MR1BMLTMuMDttZDU9YmZjY2ZlOTUyMjY5ZmZmMmI0MDdkZDExZjJmMzA4M2IgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMvR1BMLTMuMDttZDU9Yzc5ZmYzOWYxOWRmZWM2ZDI5M2I5NWRlYTdiMDc4OTEiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NhbWJhLm9yZy9mdHAvdGRiL3RkYi0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZG8tbm90LWNoZWNrLXhzbHRwcm9jLW1hbnBhZ2VzLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZmE0YzllMmY1OWZjZjQxNDQxMjg1YmNhNWY1YWI0ODEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDYwNWFjMDQyN2VhYzljMjNiZjYxZWJmZDgyMDZhMDdkNWVjZTE5ODQ5OGVhYjE3NjljZDBjZmI2ZTdkZTZiMSIKKworUyA9ICIke1dPUktESVJ9L3RkYi0ke1BWfSIKKworaW5oZXJpdCB3YWYtc2FtYmEKKworRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtcnBhdGggXAorICAgICAgICAgICAgICAgICAtLWJ1bmRsZWQtbGlicmFyaWVzPU5PTkUgXAorICAgICAgICAgICAgICAgICAtLWJ1aWx0aW4tbGlicmFyaWVzPXJlcGxhY2UgXAorICAgICAgICAgICAgICAgICAtLXdpdGgtbGliaWNvbnY9JHtTVEFHSU5HX0RJUl9IT1NUfSR7cHJlZml4fVwKKyAgICAgICAgICAgICAgICAiCitESVNBQkxFX1NUQVRJQyA9ICIiCisKK1BBQ0tBR0VTICs9ICJ0ZGItdG9vbHMgcHl0aG9uLXRkYiBweXRob24tdGRiLWRiZyIKKworRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9Lyouc28uKiIKK0ZJTEVTX3RkYi10b29scyA9ICIke2JpbmRpcn0vKiIKK0ZJTEVTX3B5dGhvbi10ZGIgPSAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX0JBU0VWRVJTSU9OfS9zaXRlLXBhY2thZ2VzLyoiCitGSUxFU19weXRob24tdGRiLWRiZyA9ICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMvLmRlYnVnLyoiCitSREVQRU5EU19weXRob24tdGRiID0gInB5dGhvbiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZXZlbnQvbGlidGV2ZW50L2F2b2lkLWF0dHItdW5sZXNzLXdhbnRlZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZXZlbnQvbGlidGV2ZW50L2F2b2lkLWF0dHItdW5sZXNzLXdhbnRlZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZmM1NTIzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRldmVudC9saWJ0ZXZlbnQvYXZvaWQtYXR0ci11bmxlc3Mtd2FudGVkLnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKKy0tLSBhL2xpYi9yZXBsYWNlL3dzY3JpcHQJMjAxNS0xMS0xOCAxNTo0MDoxOS4wMDAwMDAwMDAgKzAxMDAKKysrKyBiL2xpYi9yZXBsYWNlL3dzY3JpcHQJMjAxNS0xMS0xOCAxNTo0ODowOS4wMDAwMDAwMDAgKzAxMDAKK0BAIC02MTgsOCArNjE4LDYgQEAKKyAgICAgaWYgbm90IGJsZC5DT05GSUdfU0VUKCdIQVZFX0lORVRfQVRPTicpOiAgICAgUkVQTEFDRV9TT1VSQ0UgKz0gJyBpbmV0X2F0b24uYycKKyAgICAgaWYgbm90IGJsZC5DT05GSUdfU0VUKCdIQVZFX0lORVRfTlRPUCcpOiAgICAgUkVQTEFDRV9TT1VSQ0UgKz0gJyBpbmV0X250b3AuYycKKyAgICAgaWYgbm90IGJsZC5DT05GSUdfU0VUKCdIQVZFX0lORVRfUFRPTicpOiAgICAgUkVQTEFDRV9TT1VSQ0UgKz0gJyBpbmV0X3B0b24uYycKKy0gICAgaWYgbm90IGJsZC5DT05GSUdfU0VUKCdIQVZFX0dFVFhBVFRSJykgb3IgYmxkLkNPTkZJR19TRVQoJ1hBVFRSX0FERElUSU9OQUxfT1BUSU9OUycpOgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSRVBMQUNFX1NPVVJDRSArPSAnIHhhdHRyLmMnCisgCisgICAgIGJsZC5TQU1CQV9MSUJSQVJZKCdyZXBsYWNlJywKKyAgICAgICAgICAgICAgICAgICAgICAgc291cmNlPVJFUExBQ0VfU09VUkNFLAorQEAgLTYzMCw3ICs2MjgsNyBAQAorICAgICAgICAgICAgICAgICAgICAgICAjIGF0IHRoZSBtb21lbnQ6CisgICAgICAgICAgICAgICAgICAgICAgICMgaGlkZV9zeW1ib2xzPWJsZC5CVUlMVElOX0xJQlJBUlkoJ3JlcGxhY2UnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgcHJpdmF0ZV9saWJyYXJ5PVRydWUsCistICAgICAgICAgICAgICAgICAgICAgIGRlcHM9J2NyeXB0IGRsIG5zbCBzb2NrZXQgcnQgYXR0cicgKyBleHRyYV9saWJzKQorKyAgICAgICAgICAgICAgICAgICAgICBkZXBzPSdjcnlwdCBkbCBuc2wgc29ja2V0IHJ0ICcgKyBleHRyYV9saWJzKQorIAorICAgICBibGQuU0FNQkFfU1VCU1lTVEVNKCdyZXBsYWNlLXRlc3QnLAorICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2U9JycndGVzdC90ZXN0c3VpdGUuYyB0ZXN0L3N0cnB0aW1lLmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZXZlbnQvbGlidGV2ZW50L2RvLW5vdC1jaGVjay14c2x0cHJvYy1tYW5wYWdlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZXZlbnQvbGlidGV2ZW50L2RvLW5vdC1jaGVjay14c2x0cHJvYy1tYW5wYWdlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xY2U0ZGRhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRldmVudC9saWJ0ZXZlbnQvZG8tbm90LWNoZWNrLXhzbHRwcm9jLW1hbnBhZ2VzLnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKK0Rvbid0IGNoZWNrIG1hbnBhZ2VzIGZvciB4c2x0cHJvYy4KKworU2lnbmVkLW9mZi1ieTogQmlhbiBOYWltZW5nIDxiaWFubm1AY24uZnVqaXRzdS5jb20+CisKK2RpZmYgLU51cnAgdGV2ZW50LTAuOS4yMS5vcmlnL2xpYi90YWxsb2Mvd3NjcmlwdCB0ZXZlbnQtMC45LjIxL2xpYi90YWxsb2Mvd3NjcmlwdAorLS0tIHRldmVudC0wLjkuMjEub3JpZy9saWIvdGFsbG9jL3dzY3JpcHQJMjAxMy0wOS0wOCAyMToyNDoxNC4wMDAwMDAwMDAgKzA5MDAKKysrKyB0ZXZlbnQtMC45LjIxL2xpYi90YWxsb2Mvd3NjcmlwdAkyMDE1LTA0LTI0IDE2OjI4OjA0LjA4NTAwMDIzMCArMDkwMAorQEAgLTU1LDcgKzU1LDcgQEAgZGVmIGNvbmZpZ3VyZShjb25mKToKKyAgICAgaWYgY29uZi5lbnYuc3RhbmRhbG9uZV90YWxsb2M6CisgICAgICAgICBjb25mLmVudi5UQUxMT0NfQ09NUEFUMSA9IE9wdGlvbnMub3B0aW9ucy5UQUxMT0NfQ09NUEFUMQorIAorLSAgICBjb25mLkNIRUNLX1hTTFRQUk9DX01BTlBBR0VTKCkKKysgICAgY29uZi5maW5kX3Byb2dyYW0oJ3hzbHRwcm9jJywgdmFyPSdYU0xUUFJPQycpCisgCisgICAgIGlmIG5vdCBjb25mLmVudi5kaXNhYmxlX3B5dGhvbjoKKyAgICAgICAgICMgYWxzbyBkaXNhYmxlIGlmIHdlIGRvbid0IGhhdmUgdGhlIHB5dGhvbiBsaWJzIGluc3RhbGxlZApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRldmVudC9saWJ0ZXZlbnRfMC45LjI4LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRldmVudC9saWJ0ZXZlbnRfMC45LjI4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwYWQ3NDgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlidGV2ZW50L2xpYnRldmVudF8wLjkuMjguYmIKQEAgLTAsMCArMSwzNCBAQAorU1VNTUFSWSA9ICJIaWVyYXJjaGljYWwsIHJlZmVyZW5jZSBjb3VudGVkIG1lbW9yeSBwb29sIHN5c3RlbSB3aXRoIGRlc3RydWN0b3JzIgorSE9NRVBBR0UgPSAiaHR0cDovL3RldmVudC5zYW1iYS5vcmciCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEx2MysiCisKK0RFUEVORFMgKz0gImxpYmJzZCBsaWJ0YWxsb2MiCitSREVQRU5EU19weXRob24tdGV2ZW50ID0gInB5dGhvbiIKKworU1JDX1VSSSA9ICJodHRwOi8vc2FtYmEub3JnL2Z0cC90ZXZlbnQvdGV2ZW50LSR7UFZ9LnRhci5neiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L21ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzL0xHUEwtMy4wO21kNT1iZmNjZmU5NTIyNjlmZmYyYjQwN2RkMTFmMmYzMDgzYiIKKworU1JDX1VSSVttZDVzdW1dID0gIjk0NTg0NTgxNzkxOGY1Y2ZiZTAyMDJkODBhN2RiMTE4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA0ZDk1MzM3OTAyNWIxNTYwYWY1YzRmZmNjZTU4YTNlZTg0ZGI3YWFhMDljOWYxZTNlZmY1YjI5NDVhMTM1MjkiCisKK2luaGVyaXQgd2FmLXNhbWJhCisKK1BBQ0tBR0VDT05GSUdbYXR0cl0gPSAiLCxhdHRyIgorCitTUkNfVVJJICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdhdHRyJywgJycsICdmaWxlOi8vYXZvaWQtYXR0ci11bmxlc3Mtd2FudGVkLnBhdGNoJywgZCl9IgorCitTID0gIiR7V09SS0RJUn0vdGV2ZW50LSR7UFZ9IgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1ycGF0aCBcCisgICAgICAgICAgICAgICAgIC0tYnVuZGxlZC1saWJyYXJpZXM9Tk9ORSBcCisgICAgICAgICAgICAgICAgIC0tYnVpbHRpbi1saWJyYXJpZXM9cmVwbGFjZSBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1saWJpY29udj0ke1NUQUdJTkdfRElSX0hPU1R9JHtwcmVmaXh9XAorICAgICAgICAgICAgICAgICAtLXdpdGhvdXQtZ2V0dGV4dCBcCisgICAgICAgICAgICAgICAgIgorRElTQUJMRV9TVEFUSUMgPSAiIgorCitQQUNLQUdFUyArPSAicHl0aG9uLXRldmVudCBweXRob24tdGV2ZW50LWRiZyIKKworRklMRVNfcHl0aG9uLXRldmVudCA9ICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMvKiIKK0ZJTEVTX3B5dGhvbi10ZXZlbnQtZGJnID0gIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0vc2l0ZS1wYWNrYWdlcy8uZGVidWciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGludXgtYXRtL2xpbnV4LWF0bS9pbnN0YWxsLWZyb20tYnVpbGRpci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saW51eC1hdG0vbGludXgtYXRtL2luc3RhbGwtZnJvbS1idWlsZGlyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxMzgwZWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGludXgtYXRtL2xpbnV4LWF0bS9pbnN0YWxsLWZyb20tYnVpbGRpci5wYXRjaApAQCAtMCwwICsxLDE5IEBACitpbnN0YWxsIGJpbmFyaWVzIGZyb20gYnVpbGRkaXIgbm90IHNyY2Rpci4KKworU2lnbmVkLW9mZi1ieTogQmlhbiBOYWltZW5nIDxiaWFubm1AY24uZnVqaXRzdS5jb20+CisKKy0tLSBsaW51eC1hdG0tMi41LjIub3JpZy9zcmMvZXh0cmEvTWFrZWZpbGUuYW0JMjAxMC0xMi0yMSAwNTowNzoyMi4wMDAwMDAwMDAgKzA4MDAKKysrKyBsaW51eC1hdG0tMi41LjIvc3JjL2V4dHJhL01ha2VmaWxlLmFtCTIwMTQtMTItMjIgMTA6NTY6MDQuNDU4NTYzMjY5ICswODAwCitAQCAtOSw5ICs5LDkgQEAgQ0xFQU5GSUxFUyA9IHBjYTIwMGUuYmluIHBjYTIwMGVfZWNkLmJpbgorIAorIGluc3RhbGwtZXhlYy1ob29rOgorIAkkKE1LRElSX1ApICQoREVTVERJUikvbGliL2Zpcm13YXJlCistCSQoSU5TVEFMTF9EQVRBKSAkKHNyY2RpcikvcGNhMjAwZS5iaW4gJChERVNURElSKS9saWIvZmlybXdhcmUKKy0JJChJTlNUQUxMX0RBVEEpICQoc3JjZGlyKS9wY2EyMDBlX2VjZC5iaW4yICQoREVTVERJUikvbGliL2Zpcm13YXJlCistCSQoSU5TVEFMTF9EQVRBKSAkKHNyY2Rpcikvc2JhMjAwZV9lY2QuYmluMiAkKERFU1RESVIpL2xpYi9maXJtd2FyZQorKwkkKElOU1RBTExfREFUQSkgJChidWlsZGRpcikvcGNhMjAwZS5iaW4gJChERVNURElSKS9saWIvZmlybXdhcmUKKysJJChJTlNUQUxMX0RBVEEpICQoYnVpbGRkaXIpL3BjYTIwMGVfZWNkLmJpbjIgJChERVNURElSKS9saWIvZmlybXdhcmUKKysJJChJTlNUQUxMX0RBVEEpICQoYnVpbGRkaXIpL3NiYTIwMGVfZWNkLmJpbjIgJChERVNURElSKS9saWIvZmlybXdhcmUKKyAKKyAlLmJpbiAlLmJpbjI6ICUuZGF0YQorIAlvYmpjb3B5IC1JaWhleCAkPCAtT2JpbmFyeSAkQC5negpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpbnV4LWF0bS9saW51eC1hdG0vbGluay13aXRoLWxkZmxhZ3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGludXgtYXRtL2xpbnV4LWF0bS9saW5rLXdpdGgtbGRmbGFncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MmZhZDJhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpbnV4LWF0bS9saW51eC1hdG0vbGluay13aXRoLWxkZmxhZ3MucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorTERGTEFHU19GT1JfQlVJTEQgc2hvdWxkIGJlIHJlcXVpcmVkIHdoZW4gZG9pbmcgbGluayBmb3IgcWdlbi4KKworU2lnbmVkLW9mZi1ieTogQmlhbiBOYWltZW5nIDxiaWFubm1AY24uZnVqaXRzdS5jb20+CisKK2RpZmYgLU51cnAgbGludXgtYXRtLTIuNS4yLm9yaWcvY29uZmlndXJlLmluIGxpbnV4LWF0bS0yLjUuMi9jb25maWd1cmUuaW4KKy0tLSBsaW51eC1hdG0tMi41LjIub3JpZy9jb25maWd1cmUuaW4JMjAxMC0xMi0yOCAyMzozNjowNy4wMDAwMDAwMDAgKzA4MDAKKysrKyBsaW51eC1hdG0tMi41LjIvY29uZmlndXJlLmluCTIwMTQtMTItMjIgMTA6MjU6MjMuODMwNTEwOTMyICswODAwCitAQCAtNjYsNiArNjYsNyBAQCBlbHNlCisgZmkKKyBBQ19TVUJTVChDQ19GT1JfQlVJTEQpCisgQUNfU1VCU1QoQ0ZMQUdTX0ZPUl9CVUlMRCkKKytBQ19TVUJTVChMREZMQUdTX0ZPUl9CVUlMRCkKKyBkbmwgQWRkIC1kIGZsYWcgdG8gYmlzb24veWFjYyB0byBjcmVhdGUgaW50ZXJtZWRpYXRlIC5oIGZpbGVzCisgWUFDQz0iJFlBQ0MgLWQiCisgCitkaWZmIC1OdXJwIGxpbnV4LWF0bS0yLjUuMi5vcmlnL3NyYy9xZ2VuL01ha2VmaWxlLmFtIGxpbnV4LWF0bS0yLjUuMi9zcmMvcWdlbi9NYWtlZmlsZS5hbQorLS0tIGxpbnV4LWF0bS0yLjUuMi5vcmlnL3NyYy9xZ2VuL01ha2VmaWxlLmFtCTIwMTAtMTItMjggMjI6Mjk6MzEuMDAwMDAwMDAwICswODAwCisrKysgbGludXgtYXRtLTIuNS4yL3NyYy9xZ2VuL01ha2VmaWxlLmFtCTIwMTQtMTItMjIgMTA6MjM6NTEuOTE0NTA4MzE4ICswODAwCitAQCAtNSw3ICs1LDcgQEAgcWdlbl9TT1VSQ0VTID0gY29tbW9uLmMgY29tbW9uLmggZmlsZS5jCisgcWdlbl9MREFERCA9IC1sZmwKKyAKKyBDT01QSUxFID0gQENDX0ZPUl9CVUlMREAgQENGTEFHU19GT1JfQlVJTERACistTElOSyA9IEBDQ19GT1JfQlVJTERAIEBDRkxBR1NfRk9SX0JVSUxEQCAtbyAkQAorK0xJTksgPSBAQ0NfRk9SX0JVSUxEQCBAQ0ZMQUdTX0ZPUl9CVUlMREAgQExERkxBR1NfRk9SX0JVSUxEQCAtbyAkQAorIAorICNURVNUUyA9ICQoY2hlY2tfUFJPR1JBTVMpCisgCitkaWZmIC1OdXJwIGxpbnV4LWF0bS0yLjUuMi5vcmlnL3NyYy9xZ2VuL01ha2VmaWxlLmluIGxpbnV4LWF0bS0yLjUuMi9zcmMvcWdlbi9NYWtlZmlsZS5pbgorLS0tIGxpbnV4LWF0bS0yLjUuMi5vcmlnL3NyYy9xZ2VuL01ha2VmaWxlLmluCTIwMTAtMTItMjkgMDA6MDY6MTEuMDAwMDAwMDAwICswODAwCisrKysgbGludXgtYXRtLTIuNS4yL3NyYy9xZ2VuL01ha2VmaWxlLmluCTIwMTQtMTItMjIgMTA6MjM6NTEuOTE0NTA4MzE4ICswODAwCitAQCAtMTA2LDYgKzEwNiw3IEBAIElOU1RBTExfU0NSSVBUID0gQElOU1RBTExfU0NSSVBUQAorIElOU1RBTExfU1RSSVBfUFJPR1JBTSA9IEBJTlNUQUxMX1NUUklQX1BST0dSQU1ACisgTEQgPSBATERACisgTERGTEFHUyA9IEBMREZMQUdTQAorK0xERkxBR1NfRk9SX0JVSUxEID0gQExERkxBR1NfRk9SX0JVSUxEQAorIExFWCA9IEBMRVhACisgTEVYTElCID0gQExFWExJQkAKKyBMRVhfT1VUUFVUX1JPT1QgPSBATEVYX09VVFBVVF9ST09UQApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpbnV4LWF0bS9saW51eC1hdG1fMi41LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGludXgtYXRtL2xpbnV4LWF0bV8yLjUuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZGZiMDQ1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpbnV4LWF0bS9saW51eC1hdG1fMi41LjIuYmIKQEAgLTAsMCArMSwyNyBAQAorU1VNTUFSWSA9ICJEcml2ZXJzIGFuZCB0b29scyB0byBzdXBwb3J0IEFUTSBuZXR3b3JraW5nIHVuZGVyIExpbnV4IgorSE9NRVBBR0UgPSAiaHR0cDovL2xpbnV4LWF0bS5zb3VyY2Vmb3JnZS5uZXQvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJHUEwtMi4wICYgTEdQTC0yLjAiCisKK0RFUEVORFMgPSAidmlydHVhbC9rZXJuZWwgZmxleCBmbGV4LW5hdGl2ZSIKKworUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKKworU1JDX1VSSSA9ICJodHRwOi8vbmNoYy5kbC5zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdC8ke0JQTn0vJHtCUE59LyR7UFZ9LyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vbGluay13aXRoLWxkZmxhZ3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vaW5zdGFsbC1mcm9tLWJ1aWxkaXIucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkNDk0OTkzNjhjM2NmMTVmNzNhMDVkOWJjZTg4MjRhOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5NjQ1NDgxYTJiMTY0NzZiNTkyMjBhYTJkNmJjNWJjNDEwNDNmMjkxMzI2YzliMzc1ODEwMThmYmQxNmRkNTNhIgorCitMSUNfRklMRVNfQ0hLU1VNID0gIlwKK2ZpbGU6Ly9DT1BZSU5HO21kNT1kOTI4ZGU5NTM3ZDg0NjkzNWE5OGFmM2JiYzZlNmVlMSBcCitmaWxlOi8vQ09QWUlORy5HUEw7bWQ1PWFjMmRiMTY5YjkzMDllMjQwNTU1YmM3N2JlNGYxYTMzIFwKK2ZpbGU6Ly9DT1BZSU5HLkxHUEw7bWQ1PTZlMjljNjg4ZDkxMmRhMTJiNjZiNzNlMzJiMDNkODEyIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworIyBUaGUgZmlybXdhcmUgaXMgZXhwbGljaXRseSBwdXQgdW5kZXIgL2xpYiB3aGVuIGluc3RhbGxlZC4KKyMKKworRklMRVNfJHtQTn0gKz0gIi9saWIvZmlybXdhcmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGtzY3RwLXRvb2xzL2xrc2N0cC10b29scy9ydW4tcHRlc3QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGtzY3RwLXRvb2xzL2xrc2N0cC10b29scy9ydW4tcHRlc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY3ZjE4ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9sa3NjdHAtdG9vbHMvbGtzY3RwLXRvb2xzL3J1bi1wdGVzdApAQCAtMCwwICsxLDUgQEAKKyMhL2Jpbi9zaAorCitzaCB2NHRlc3Quc2gKK3NoIHY2dGVzdC5zaAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGtzY3RwLXRvb2xzL2xrc2N0cC10b29scy92NHRlc3Quc2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGtzY3RwLXRvb2xzL2xrc2N0cC10b29scy92NHRlc3Quc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTEzMDg1NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9sa3NjdHAtdG9vbHMvbGtzY3RwLXRvb2xzL3Y0dGVzdC5zaApAQCAtMCwwICsxLDExIEBACisjIS9iaW4vc2gKK2VjaG8gInY0dGVzdCBzdGFydGluZzoiCitmb3IgdCBpbiAkKGZpbmQgLW1heGRlcHRoIDEgLXR5cGUgZiBcISAtbmFtZSB0ZXN0XCpfdjYgLW5hbWUgdGVzdFwqKTsgZG8KKyAgZWNobyAiJHQiOworICBpZiAkdDsgdGhlbgorICAgIGVjaG8gIlBBU1M6ICR0IjsgZWNobyAiIjsKKyAgZWxzZQorICAgIGVjaG8gIkZBSUw6ICR0IjsgZWNobyAiIjsKKyAgZmkKKyAgc2xlZXAgMTsKK2RvbmUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9sa3NjdHAtdG9vbHMvbGtzY3RwLXRvb2xzL3Y2dGVzdC5zaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9sa3NjdHAtdG9vbHMvbGtzY3RwLXRvb2xzL3Y2dGVzdC5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTY2N2RmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xrc2N0cC10b29scy9sa3NjdHAtdG9vbHMvdjZ0ZXN0LnNoCkBAIC0wLDAgKzEsMTEgQEAKKyMhL2Jpbi9zaAorZWNobyAidjZ0ZXN0IHN0YXJ0aW5nOiIKK2ZvciB0IGluICQoZmluZCAtbWF4ZGVwdGggMSAtbmFtZSB0ZXN0XCpfdjYpOyBkbworICBlY2hvICIkdCI7CisgIGlmICR0OyB0aGVuCisgICAgZWNobyAiUEFTUzogJHQiOyBlY2hvICIiOworICBlbHNlCisgICAgZWNobyAiRkFJTDogJHQiOyBlY2hvICIiOworICBmaQorICBzbGVlcCAxOworZG9uZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xrc2N0cC10b29scy9sa3NjdHAtdG9vbHNfMS4wLjE2LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xrc2N0cC10b29scy9sa3NjdHAtdG9vbHNfMS4wLjE2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzZTZhNWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGtzY3RwLXRvb2xzL2xrc2N0cC10b29sc18xLjAuMTYuYmIKQEAgLTAsMCArMSw2NSBAQAorU1VNTUFSWSA9ICJUaGUgTGludXggS2VybmVsIFN0cmVhbSBDb250cm9sIFRyYW5zbWlzc2lvbiBQcm90b2NvbCAobGtzY3RwKSBwcm9qZWN0IgorSE9NRVBBR0UgPSAiaHR0cDovL2xrc2N0cC5vcmciCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEgJiBHUEx2MiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICIgXAorICAgIGZpbGU6Ly9DT1BZSU5HLmxpYjttZDU9MGExYjc5YWY5NTFjNDJhOWM4NTczNTMzZmJiYTlhOTIgXAorICAgIGZpbGU6Ly9DT1BZSU5HO21kNT0wYzU2ZGIwMTQzZjRmODBjMzY5ZWUzYWY3NDI1YWY2ZSBcCisiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2xrc2N0cC8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgZmlsZTovL3Y0dGVzdC5zaCBcCisgICAgICAgICAgIGZpbGU6Ly92NnRlc3Quc2ggXAorICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjcwOGJiMGI1YTY4MDZhZDZlOGQxM2M1NWIwNjc1MThlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA5MDNkZDUyNmI3ZjMwYTg5ZDUwMzFhYTJjODI3NTc2MTJiZWNjMzhlZDdiYzZlNGY5NzJmOGRlYWUzNTFmMjYiCisKKyN8IGFybS1vZS1saW51eC1nbnVlYWJpLWxpYnRvb2w6IGxpbms6IGFybS1vZS1saW51eC1nbnVlYWJpLWdjYyAgLW1hcmNoPWFybXY1dGUgLW1hcm0gLW10aHVtYi1pbnRlcndvcmsgLS1zeXNyb290PS9ob21lL2plbmtpbnMvb2Uvd29ybGQvc2hyLWNvcmUvdG1wLWVnbGliYy9zeXNyb290cy9xZW11YXJtIC1zaGFyZWQgIC1mUElDIC1EUElDICAubGlicy9iaW5keC5vIC5saWJzL2Nvbm5lY3R4Lm8gLmxpYnMvcGVlbG9mZi5vIC5saWJzL29wdF9pbmZvLm8gLmxpYnMvYWRkcnMubyAubGlicy9zZW5kbXNnLm8gLmxpYnMvcmVjdm1zZy5vICAgIC1tYXJjaD1hcm12NXRlIC1tYXJtIC1tdGh1bWItaW50ZXJ3b3JrIC0tc3lzcm9vdD0vaG9tZS9qZW5raW5zL29lL3dvcmxkL3Noci1jb3JlL3RtcC1lZ2xpYmMvc3lzcm9vdHMvcWVtdWFybSAtTzIgLVdsLC0tdmVyc2lvbi1zY3JpcHQ9L2hvbWUvamVua2lucy9vZS93b3JsZC9zaHItY29yZS90bXAtZWdsaWJjL3dvcmsvYXJtdjV0ZS1vZS1saW51eC1nbnVlYWJpL2xrc2N0cC10b29scy8xLjAuMTYtcjAvbGtzY3RwLXRvb2xzLTEuMC4xNi9zcmMvbGliL1ZlcnNpb25zLm1hcCAtV2wsLU8xIC1XbCwtLWhhc2gtc3R5bGU9Z251IC1XbCwtLWFzLW5lZWRlZCAgIC1XbCwtc29uYW1lIC1XbCxsaWJzY3RwLnNvLjEgLW8gLmxpYnMvbGlic2N0cC5zby4xLjAuMTYKKyN8IC9ob21lL2plbmtpbnMvb2Uvd29ybGQvc2hyLWNvcmUvdG1wLWVnbGliYy9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYmV4ZWMvYXJtLW9lLWxpbnV4LWdudWVhYmkvZ2NjL2FybS1vZS1saW51eC1nbnVlYWJpLzQuOS4wL2xkOiBlcnJvcjogc3ltYm9sIHNjdHBfY29ubmVjdHggaGFzIHVuZGVmaW5lZCB2ZXJzaW9uCisjfCBjb2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKKyN8IG1ha2VbNF06ICoqKiBbbGlic2N0cC5sYV0gRXJyb3IgMQorUE5CTEFDS0xJU1RbbGtzY3RwLXRvb2xzXSA/PSAiJHtAYmFzZV9jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2xkLWlzLWdvbGQnLCAiQlJPS0VOOiBmYWlscyB0byBsaW5rIGFnYWluc3Qgc2N0cF9jb25uZWN0eCBzeW1ib2wiLCAnJywgZCl9IgorCitTID0gIiR7V09SS0RJUn0vJHtCUH0iCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgYmluY29uZmlnIHB0ZXN0CisKK2RvX2luc3RhbGxfcHRlc3QgKCkgeworCWluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3Y0dGVzdC5zaCAke0R9JHtQVEVTVF9QQVRIfQorCWluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3Y2dGVzdC5zaCAke0R9JHtQVEVTVF9QQVRIfQorCWZvciB0ZXN0Y2FzZSBpbiBgZmluZCAke0J9L3NyYy9hcHBzLy5saWJzICR7Qn0vc3JjL2Z1bmNfdGVzdHMvLmxpYnMgLW1heGRlcHRoIDEgLXR5cGUgZiAtZXhlY3V0YWJsZWA7IGRvCisJCWluc3RhbGwgJHRlc3RjYXNlICR7RH0ke1BURVNUX1BBVEh9CisJZG9uZQorfQorCitTT0xJQlZFUlNJT049IiR7UFZ9IgorU09MSUJNQUpPUlZFUlNJT049IjEiCisKK1BBQ0tBR0VTID0rICIke1BOfS13aXRoc2N0cCAke1BOfS11dGlscyIKKworRklMRVNfJHtQTn0gPSAiIFwKKyAgICAke2xpYmRpcn0vbGlic2N0cC5zby4ke1NPTElCVkVSU0lPTn0gXAorICAgICR7bGliZGlyfS9saWJzY3RwLnNvLiR7U09MSUJNQUpPUlZFUlNJT059IFwKKyIKKworRklMRVNfJHtQTn0td2l0aHNjdHAgPSAiIFwKKyAgICAke2xpYmRpcn0vbGtzY3RwLXRvb2xzL2xpYndpdGhzY3RwLnNvLiR7U09MSUJWRVJTSU9OfSBcCisgICAgJHtsaWJkaXJ9L2xrc2N0cC10b29scy9saWJ3aXRoc2N0cC5zby4ke1NPTElCTUFKT1JWRVJTSU9OfSBcCisiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiIFwKKyAgICAke2xpYmRpcn0vbGlic2N0cC5zbyBcCisgICAgJHtsaWJkaXJ9L2xrc2N0cC10b29scy9saWJ3aXRoc2N0cC5zbyBcCisgICAgJHtkYXRhZGlyfS9sa3NjdHAtdG9vbHMvKi5jIFwKKyAgICAke2RhdGFkaXJ9L2xrc2N0cC10b29scy8qLmggXAorIgorCitGSUxFU18ke1BOfS11dGlscyA9ICIke2JpbmRpcn0vKiIKKworUlJFQ09NTUVORFNfJHtQTn0tdXRpbHMgKz0gImtlcm5lbC1tb2R1bGUtc2N0cCIKK1JSRUNPTU1FTkRTXyR7UE59LXB0ZXN0ICs9ICJrZXJuZWwtbW9kdWxlLXNjdHAiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbG93cGFuLXRvb2xzL2xvd3Bhbi10b29scy9uby1oZWxwMm1hbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9sb3dwYW4tdG9vbHMvbG93cGFuLXRvb2xzL25vLWhlbHAybWFuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllY2Q3MDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbG93cGFuLXRvb2xzL2xvd3Bhbi10b29scy9uby1oZWxwMm1hbi5wYXRjaApAQCAtMCwwICsxLDQxIEBACitEaXNhYmxlIGJ1aWxkaW5nIG1hbnBhZ2VzIHNvIHRoYXQgbWFrZSBpbnN0YWxsIGRvZXNuJ3QgZmFpbCBkdWUgdG8gbGFjayBvZiBoZWxwMm1hbgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ10KKworU2lnbmVkLW9mZi1ieTogUGF1bCBFZ2dsZXRvbiA8cGF1bC5lZ2dsZXRvbkBsaW51eC5pbnRlbC5jb20+CisKK2RpZmYgLS1naXQgYS9zcmMvTWFrZWZpbGUuYW0gYi9zcmMvTWFrZWZpbGUuYW0KK2luZGV4IDQ2YzQwMTcuLmQ2ZWQzMTIgMTAwNjQ0CistLS0gYS9zcmMvTWFrZWZpbGUuYW0KKysrKyBiL3NyYy9NYWtlZmlsZS5hbQorQEAgLTksMTEgKzksNiBAQCBpemNvb3JkaW5hdG9yX0RFU0MgPSAic2ltcGxlIGNvb3JkaW5hdG9yIGZvciBJRUVFIDgwMi4xNS40IG5ldHdvcmsiCisgaXpfREVTQyA9ICJjb25maWd1cmUgYW4gSUVFRSA4MDIuMTUuNCBpbnRlcmZhY2UiCisgaXpjaGF0X0RFU0MgPSAic2ltcGxlIGNoYXQgcHJvZ3JhbSB1c2luZyBJRUVFIDgwMi4xNS40IgorIAorLWlmIE1BTlBBR0VTCistZGlzdF9tYW5fTUFOUyA9ICQobWFucGFnZXMpCistZW5kaWYKKy1FWFRSQV9ESVNUID0gJChtYW5wYWdlcykKKy0KKyBpemF0dGFjaF9TT1VSQ0VTID0gc2VyaWFsLmMKKyAKKyBpel9TT1VSQ0VTID0gaXouYyBpei1jb21tb24uYyBpei1tYWMuYyBpei1waHkuYworQEAgLTI3LDE4ICsyMiw2IEBAIGl6Y29vcmRpbmF0b3JfTERBREQgPSAuLi9hZGRyZGIvbGliYWRkcmRiLmxhICQoTERBREQpICQoTkxfTElCUykgJChMRVhMSUIpCisgaXpfQ0ZMQUdTID0gJChBTV9DRkxBR1MpICQoTkxfQ0ZMQUdTKSAtRF9HTlVfU09VUkNFCisgaXpfTERBREQgPSAkKExEQUREKSAkKE5MX0xJQlMpCisgCistaXphdHRhY2guODogJChpemF0dGFjaF9TT1VSQ0VTKSAkKHRvcF9zcmNkaXIpL2NvbmZpZ3VyZS5hYworLQktJChIRUxQMk1BTikgLW8gJEAgLXMgOCAtTiAtbiAkKGl6YXR0YWNoX0RFU0MpICQoYnVpbGRkaXIpL2l6YXR0YWNoCistCistaXpjb29yZGluYXRvci44OiAkKGl6Y29vcmRpbmF0b3JfU09VUkNFUykgJCh0b3Bfc3JjZGlyKS9jb25maWd1cmUuYWMKKy0JLSQoSEVMUDJNQU4pIC1vICRAIC1zIDggLU4gLW4gJChpemNvb3JkaW5hdG9yX0RFU0MpICQoYnVpbGRkaXIpL2l6Y29vcmRpbmF0b3IKKy0KKy1pei44OiAkKGl6X1NPVVJDRVMpICQodG9wX3NyY2RpcikvY29uZmlndXJlLmFjCistCS0kKEhFTFAyTUFOKSAtbyAkQCAtcyA4IC1OIC1uICQoaXpfREVTQykgJChidWlsZGRpcikvaXoKKy0KKy1pemNoYXQuMTogJChpemNoYXRfU09VUkNFUykgJCh0b3Bfc3JjZGlyKS9jb25maWd1cmUuYWMKKy0JLSQoSEVMUDJNQU4pIC1vICRAIC1zIDEgLU4gLW4gJChpemNoYXRfREVTQykgJChidWlsZGRpcikvaXpjaGF0CistCisgaW5zdGFsbC1kYXRhLWhvb2s6CisgCSQobWtpbnN0YWxsZGlycykgJChERVNURElSKWBkaXJuYW1lICQobGVhc2VmaWxlKWAKKyAJJChta2luc3RhbGxkaXJzKSAkKERFU1RESVIpYGRpcm5hbWUgJChwaWRmaWxlKWAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9sb3dwYW4tdG9vbHMvbG93cGFuLXRvb2xzX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9sb3dwYW4tdG9vbHMvbG93cGFuLXRvb2xzX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMWJkOTI2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xvd3Bhbi10b29scy9sb3dwYW4tdG9vbHNfZ2l0LmJiCkBAIC0wLDAgKzEsMjggQEAKK1NVTU1BUlkgPSAiVXRpbGl0aWVzIGZvciBtYW5hZ2luZyB0aGUgTGludXggTG9XUEFOIHN0YWNrIgorREVTQ1JJUFRJT04gPSAiVGhpcyBpcyBhIHNldCBvZiB1dGlscyB0byBtYW5hZ2UgdGhlIExpbnV4IExvV1BBTiBzdGFjay4gXAorVGhlIExvV1BBTiBzdGFjayBhaW1zIGZvciBJRUVFIDgwMi4xNS40LTIwMDMgKGFuZCBmb3IgbGVzc2VyIGV4dGVudCBJRUVFIDgwMi4xNS40LTIwMDYpIGNvbXBhdGliaWxpdHkuIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK0RFUEVORFMgPSAiZmxleC1uYXRpdmUgYmlzb24tbmF0aXZlIGxpYm5sIHB5dGhvbiIKKworUFYgPSAiMC4zLjErZ2l0JHtTUkNQVn0iCitTUkNfVVJJID0gImdpdDovL2dpdC5jb2RlLnNmLm5ldC9wL2xpbnV4LXppZ2JlZS9saW51eC16aWdiZWUgXAorICAgICAgICAgICBmaWxlOi8vbm8taGVscDJtYW4ucGF0Y2giCitTUkNSRVYgPSAiMzhmNDJkYmZjZTllMTM2MjkyNjNkYjNiZDNiODFmMTRjNjliYjczMyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcHl0aG9uLWRpciBwa2djb25maWcKKworQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImFtX2N2X3B5dGhvbl9weXRob25kaXI9JHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vbG93cGFuLXRvb2xzIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKwlybWRpciAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4KK30KKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmV4ZWNkaXJ9L2xvd3Bhbi10b29scy8uZGVidWcvIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tcHl0aG9uIgorRklMRVNfJHtQTn0tcHl0aG9uID0gIiR7bGliZGlyfS9weXRob24qIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L21hY2NoYW5nZXIvbWFjY2hhbmdlcl8xLjUuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9tYWNjaGFuZ2VyL21hY2NoYW5nZXJfMS41LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTkwMTc3ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9tYWNjaGFuZ2VyL21hY2NoYW5nZXJfMS41LjAuYmIKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSA9ICJUb29sIHRvIHZpZXcvY2hhbmdlIG5ldHdvcmsgaW50ZXJmYWNlIE1BQyBhZGRyZXNzZXMiCitERVNDUklQVElPTiA9ICJBIEdOVS9MaW51eCB1dGlsaXR5IGZvciB2aWV3aW5nL21hbmlwdWxhdGluZyB0aGUgTUFDIGFkZHJlc3Mgb2YgbmV0d29yayBpbnRlcmZhY2VzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuYWxvYmJzLmNvbS9tYWNjaGFuZ2VyIgorTElDRU5TRSAgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKK1NFQ1RJT04gPSAibmV0IgorCitTUkNfVVJJICA9ICIke0dOVV9NSVJST1J9L21hY2NoYW5nZXIvJHtCUE59LSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjc5YjdjZGFlY2EzZDhlYmFmYTc2NGM0YjBkZDAzYWI3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ0NGJmYTI3Y2IyOWM1YTcxODYyN2NiM2VmM2FhNDJlYjUxMzA0MjY1NDVlYjIwMzExMjA4MjZjZDczZmE4ZmUiCisKK0ZJTEVTXyR7UE59ID0gIiBcCisgICAgJHtiaW5kaXJ9LyR7QlBOfSBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vd2lyZWxlc3MubGlzdCBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vT1VJLmxpc3QgXAorIgorCitGSUxFU18ke1BOfS1kb2MgPSAiIFwKKyAgICAke2RhdGFkaXJ9L2luZm8gXAorICAgICR7ZGF0YWRpcn0vbWFuIFwKKyIKKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9tZW1jYWNoZWQvbWVtY2FjaGVkL2NvbmZpZ3VyZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9tZW1jYWNoZWQvbWVtY2FjaGVkL2NvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MDAxYTBlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L21lbWNhY2hlZC9tZW1jYWNoZWQvY29uZmlndXJlLnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKK0luZGV4OiBtZW1jYWNoZWQtMS40LjE3L2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG1lbWNhY2hlZC0xLjQuMTcub3JpZy9jb25maWd1cmUuYWMJMjAxMy0xMi0yMCAyMTo0NDo0OS4wMDAwMDAwMDAgKzAwMDAKKysrKyBtZW1jYWNoZWQtMS40LjE3L2NvbmZpZ3VyZS5hYwkyMDE0LTA3LTE4IDA3OjE3OjAwLjU5MzQ5OTQ4MyArMDAwMAorQEAgLTQsNyArNCw3IEBACisgQUNfSU5JVChtZW1jYWNoZWQsIFZFUlNJT05fTlVNQkVSLCBtZW1jYWNoZWRAZ29vZ2xlZ3JvdXBzLmNvbSkKKyBBQ19DQU5PTklDQUxfU1lTVEVNCisgQUNfQ09ORklHX1NSQ0RJUihtZW1jYWNoZWQuYykKKy1BTV9JTklUX0FVVE9NQUtFKEFDX1BBQ0tBR0VfTkFNRSwgQUNfUEFDS0FHRV9WRVJTSU9OKQorK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ25dKQorIEFNX0NPTkZJR19IRUFERVIoY29uZmlnLmgpCisgCisgQUNfUFJPR19DQwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L21lbWNhY2hlZC9tZW1jYWNoZWQvbWVtY2FjaGVkLWFkZC1odWdldGxiZnMtY2hlY2sucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbWVtY2FjaGVkL21lbWNhY2hlZC9tZW1jYWNoZWQtYWRkLWh1Z2V0bGJmcy1jaGVjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDRiODQwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L21lbWNhY2hlZC9tZW1jYWNoZWQvbWVtY2FjaGVkLWFkZC1odWdldGxiZnMtY2hlY2sucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorbWVtY2FjaGVkOiBhZGQga25vYiB0byBkZXRlY3Qgd2hldGhlciBodWdldGxiZnMgYXJlIGNoZWNrZWQKKworQWRkIGtub2IgdG8gZGV0ZWN0IHdoZXRoZXIgaHVnZXRsYmZzIGFyZSBjaGVja2VkIG9yIG5vdC4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IENob25nIEx1IDxDaG9uZy5MdUB3aW5kcml2ZXIuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgNyArKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCA3ZjIyZjIxLi4yMTY5MWI5IDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0zMTQsNyArMzE0LDEyIEBAIGZpCisgZG5sIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAKKyBBQ19TRUFSQ0hfTElCUyh1bWVtX2NhY2hlX2NyZWF0ZSwgdW1lbSkKKy1BQ19TRUFSQ0hfTElCUyhnZXRodWdlcGFnZXNpemVzLCBodWdldGxiZnMpCisrQUNfQVJHX0VOQUJMRShodWdldGxiZnMsCisrICBbQVNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWh1Z2V0bGJmc10sW0VuYWJsZSBodWdldGxiZnNdKV0pCisrCisraWYgdGVzdCAieCRlbmFibGVfaHVnZXRsYmZzIiA9ICJ4eWVzIjsgdGhlbgorKyAgQUNfU0VBUkNIX0xJQlMoZ2V0aHVnZXBhZ2VzaXplcywgaHVnZXRsYmZzKQorK2ZpCisgCisgQUNfSEVBREVSX1NUREJPT0wKKyBBSF9CT1RUT00oWyNpZiBIQVZFX1NUREJPT0xfSAorLS0gCisxLjguMy40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9tZW1jYWNoZWQvbWVtY2FjaGVkXzEuNC4xNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9tZW1jYWNoZWQvbWVtY2FjaGVkXzEuNC4xNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTNmOGQ0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L21lbWNhY2hlZC9tZW1jYWNoZWRfMS40LjE3LmJiCkBAIC0wLDAgKzEsNTMgQEAKK1NVTU1BUlkgPSAiQSBoaWdoLXBlcmZvcm1hbmNlIG1lbW9yeSBvYmplY3QgY2FjaGluZyBzeXN0ZW0iCitERVNDUklQVElPTiA9ICJcCisgbWVtY2FjaGVkIG9wdGltaXplcyBzcGVjaWZpYyBoaWdoLWxvYWQgc2VydmluZyBhcHBsaWNhdGlvbnMgdGhhdCBhcmUgZGVzaWduZWQgXAorIHRvIHRha2UgYWR2YW50YWdlIG9mIGl0cyB2ZXJzYXRpbGUgbm8tbG9ja2luZyBtZW1vcnkgYWNjZXNzIHN5c3RlbS4gQ2xpZW50cyBcCisgYXJlIGF2YWlsYWJsZSBpbiBzZXZlcmFsIGRpZmZlcmVudCBwcm9ncmFtbWluZyBsYW5ndWFnZXMsIHRvIHN1aXQgdGhlIG5lZWRzIFwKKyBvZiB0aGUgc3BlY2lmaWMgYXBwbGljYXRpb24uIFRyYWRpdGlvbmFsbHkgdGhpcyBoYXMgYmVlbiB1c2VkIGluIG1vZF9wZXJsIFwKKyBhcHBzIHRvIGF2b2lkIHN0b3JpbmcgbGFyZ2UgY2h1bmtzIG9mIGRhdGEgaW4gQXBhY2hlIG1lbW9yeSwgYW5kIHRvIHNoYXJlIFwKKyB0aGlzIGJ1cmRlbiBhY3Jvc3Mgc2V2ZXJhbCBtYWNoaW5lcy4iCitTRUNUSU9OID0gIndlYiIKK0hPTUVQQUdFID0gImh0dHA6Ly9tZW1jYWNoZWQub3JnLyIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03ZTVkZWQ3MzYzZDMzNWUxYmIxODAxM2NhMDgwNDZmZiIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworREVQRU5EUyArPSAibGliZXZlbnQiCitSREVQRU5EU18ke1BOfSArPSAicGVybCBwZXJsLW1vZHVsZS1wb3NpeCBwZXJsLW1vZHVsZS1hdXRvbG9hZGVyIFwKKyAgICBwZXJsLW1vZHVsZS10aWUtaGFzaCBiYXNoIFwKKyAgICAiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5tZW1jYWNoZWQub3JnL2ZpbGVzLyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbWVtY2FjaGVkLWFkZC1odWdldGxiZnMtY2hlY2sucGF0Y2giCisKKyMgc2V0IHRoZSBzYW1lIENPTVBBVElCTEVfSE9TVCBhcyBsaWJodWdldGxiZnMKK0NPTVBBVElCTEVfSE9TVCA9ICcoaS44Nnx4ODZfNjR8cG93ZXJwY3xwb3dlcnBjNjR8YXJtKS4qLWxpbnV4JworCitTUkNfVVJJW21kNXN1bV0gPSAiNDY0MDJkZmJkN2ZhYWRmNjE4MjI4M2RiYmQxOGIxYTYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDkxNzNlZjZkOTliYTc5OGM5ODJlYTQ1NjZjYjRmMGU2NGViMjM4NTlmZGJmOTkyNmE4OTk5OWQ4Y2RjMDQ1OCIKKworcHl0aG9uIF9fYW5vbnltb3VzICgpIHsKKyAgICBlbmRpYW5uZXNzID0gZC5nZXRWYXIoJ1NJVEVJTkZPX0VORElBTk5FU1MnLCBUcnVlKQorICAgIGlmIGVuZGlhbm5lc3MgPT0gJ2xlJzoKKyAgICAgICAgZC5hcHBlbmRWYXIoJ0VYVFJBX09FQ09ORicsICIgYWNfY3ZfY19lbmRpYW49bGl0dGxlIikKKyAgICBlbHNlOgorICAgICAgICBkLmFwcGVuZFZhcignRVhUUkFfT0VDT05GJywgIiBhY19jdl9jX2VuZGlhbj1iaWciKQorfQorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1todWdldGxiZnNdID0gIi0tZW5hYmxlLWh1Z2V0bGJmcywgLS1kaXNhYmxlLWh1Z2V0bGJmcywgbGliaHVnZXRsYmZzIgorCitpbmhlcml0IHVwZGF0ZS1yYy5kCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJtZW1jYWNoZWQiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtRCAtbSA3NTUgJHtTfS9zY3JpcHRzL21lbWNhY2hlZC1pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9tZW1jYWNoZWQKKyAgICBta2RpciAtcCAke0R9L3Vzci9zaGFyZS9tZW1jYWNoZWQvc2NyaXB0cworICAgIGluc3RhbGwgLW0gNzU1ICR7U30vc2NyaXB0cy9tZW1jYWNoZWQtdG9vbCAke0R9L3Vzci9zaGFyZS9tZW1jYWNoZWQvc2NyaXB0cworICAgIGluc3RhbGwgLW0gNzU1ICR7U30vc2NyaXB0cy9zdGFydC1tZW1jYWNoZWQgJHtEfS91c3Ivc2hhcmUvbWVtY2FjaGVkL3NjcmlwdHMKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9tdHIvbXRyXzAuODYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbXRyL210cl8wLjg2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiNzM3OTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbXRyL210cl8wLjg2LmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiQ29tYmluZWQgdHJhY2Vyb3V0ZSBhbmQgcGluZyB1dGlsaXR5IgorREVTQ1JJUFRJT04gPSAibXRyIGNvbWJpbmVzIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHRoZSAndHJhY2Vyb3V0ZScgYW5kICdwaW5nJyBwcm9ncmFtcyBpbiBhIHNpbmdsZSBuZXR3b3JrIGRpYWdub3N0aWMgdG9vbC4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmJpdHdpemFyZC5ubC9tdHIvIgorU0VDVElPTiA9ICJuZXQiCitERVBFTkRTID0gIm5jdXJzZXMiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9tdHIuYztiZWdpbmxpbmU9NTtlbmRsaW5lPTE2O21kNT1hZjFmYWZiYmZhMWJmZDQ4YWY4MzlmNGJiMzIyMTEwNiIKKworU1JDX1VSSSA9ICJmdHA6Ly9mdHAuYml0d2l6YXJkLm5sL210ci9tdHItJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiOGQ2MzU5MmM5ZDQ1NzllZjIwY2Y0OTFiNDE4NDNlYjIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzVkOTQ4OTIwYjY0MWNjMzVmOGIzODBmYzM1NmRkZmUwN2NjZTZhOWM2NDc0YWZlMjQyZmM1ODExM2YyOGMwNiIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworRVhUUkFfT0VDT05GID0gIi0td2l0aG91dC1ndGsiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uYmQvbmJkXzMuMTEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmJkL25iZF8zLjExLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhZDc1YmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmJkL25iZF8zLjExLmJiCkBAIC0wLDAgKzEsMTkgQEAKK0RFU0NSSVBUSU9OID0gIk5ldHdvcmsgQmxvY2sgRGV2aWNlIgorSE9NRVBBR0UgPSAiaHR0cDovL25iZC5zb3VyY2Vmb3JnZS5uZXQiCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworREVQRU5EUyA9ICJnbGliLTIuMCIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vJHtCUE59LyR7QlBOfS0ke1BWfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiNzNkMTE2NDRhMjhiOWYzMzUyOTJjZGIzYmRjNGI3NGIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTQ0MjBmNzRjYjE2ZGM2MDlhOTMwMmVkMWVmZDY1MzA2NGJlZDdhODM1N2U5ZDczZGFhYmMzMzYwOGUzZjJhMCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1BBQ0tBR0VTID0gIiR7UE59LWNsaWVudCAke1BOfS1zZXJ2ZXIgJHtQTn0tZGJnICR7UE59LXRyZHVtcCAke1BOfS1kb2MiCisKK0ZJTEVTXyR7UE59LWNsaWVudCA9ICIke3NiaW5kaXJ9LyR7QlBOfS1jbGllbnQiCitGSUxFU18ke1BOfS1zZXJ2ZXIgPSAiJHtiaW5kaXJ9LyR7QlBOfS1zZXJ2ZXIiCitGSUxFU18ke1BOfS10cmR1bXAgPSAiJHtiaW5kaXJ9LyR7QlBOfS10cmR1bXAiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmRpc2M2L25kaXNjNl8xLjAuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZGlzYzYvbmRpc2M2XzEuMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlYTVlMTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmRpc2M2L25kaXNjNl8xLjAuMi5iYgpAQCAtMCwwICsxLDU4IEBACitERVNDUklQVElPTiA9ICJUaGlzIHBhY2thZ2UgaW5jbHVkZXMgc29tZSB1c2VmdWwgZGlhZ25vc3RpY3MgdG9vbHMgZm9yIFwKK0lQdjYgbmV0d29ya3MsIGluY2x1ZGluZyBuZGlzYzYsIHJkaXNjNiwgdGNwdHJhY2Vyb3V0ZTYgYW5kIHRyYWNlcm91dGU2LiIKK1NFQ1RJT04gPSAibmV0IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5yZW1sYWIubmV0L25kaXNjNi8iCitMSUNFTlNFID0gIkdQTC0yLjAiCisKKyMgVGhlIHRjcHRyYWNlcm91dGU2IGFuZCB0cmFjZXJ0NiBjb21tYW5kcyBkZXBlbmQgb24gcmx0cmFjZXJvdXRlNiB0bworIyBwZXJmb3JtIHRoZSBhY3R1YWwgdHJhY2Ugb3BlcmF0aW9uLgorUkRFUEVORFNfJHtQTn0tdGNwdHJhY2Vyb3V0ZTYgPSAiJHtQTn0tcmx0cmFjZXJvdXRlNiIKK1JERVBFTkRTXyR7UE59LXRyYWNlcnQ2ID0gIiR7UE59LXJsdHJhY2Vyb3V0ZTYiCitSREVQRU5EU18ke1BOfS1taXNjICs9ICJwZXJsIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cucmVtbGFiLm5ldC9maWxlcy9uZGlzYzYvbmRpc2M2LSR7UFZ9LnRhci5iejIgXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjUwY2I0YzE5NjA2Y2Y2ZmYyYjczODhlNzE4MzJmNTc5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZhY2VjOGEwY2I5ZWZhM2FjOTg0NTZmNDZjMzAxNmFlZWMwNTk4YjBjNzU1N2M5NTI0MmI1MjI4YWQ2MmNhN2EiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0CisKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCisKKyMgU3BsaXQgaW50byBzZXBlcmF0ZSBwYWNrYWdlcyBzaW5jZSB3ZSBub3JtYWwgZG9uJ3Qgd2FudCB0aGVtIGFsbAorIyBUaGUgbWFpbiBwYWNrYWdlIGlzIGxlZnQgZW1wdHkgYW5kIHRoZXJlZm9yZSBub3QgY3JlYXRlZC4KK1BBQ0tBR0VTICs9ICIke1BOfS1uZGlzYzYgJHtQTn0tdGNwc3ByYXk2ICR7UE59LXJkaXNjNiBcCisgICAgJHtQTn0tdGNwdHJhY2Vyb3V0ZTYgJHtQTn0tcmx0cmFjZXJvdXRlNiBcCisgICAgJHtQTn0tdHJhY2VydDYgJHtQTn0tcmRuc3NkICR7UE59LW1pc2MiCitGSUxFU18ke1BOfSAgICAgICAgICAgID0gIiIKK0ZJTEVTXyR7UE59LW5kaXNjNiAgICAgICAgPSAiJHtiaW5kaXJ9L25kaXNjNiIKK0ZJTEVTXyR7UE59LXRjcHNwcmF5NiAgICAgICAgID0gIiR7YmluZGlyfS90Y3BzcHJheTYiCitGSUxFU18ke1BOfS1yZGlzYzYgICAgICAgID0gIiR7YmluZGlyfS9yZGlzYzYiCitGSUxFU18ke1BOfS10Y3B0cmFjZXJvdXRlNiAgICA9ICIke2JpbmRpcn0vdGNwdHJhY2Vyb3V0ZTYiCitGSUxFU18ke1BOfS1ybHRyYWNlcm91dGU2ICAgID0gIiR7YmluZGlyfS9ybHRyYWNlcm91dGU2IgorRklMRVNfJHtQTn0tdHJhY2VydDYgICAgICAgID0gIiR7YmluZGlyfS90cmFjZXJ0NiIKK0ZJTEVTXyR7UE59LXJkbnNzZCAgICAgICAgPSAiJHtzYmluZGlyfS9yZG5zc2QgJHtzeXNjb25mZGlyfS9yZG5zc2QiCitGSUxFU18ke1BOfS1taXNjICAgICAgICAgICAgICAgID0gIiR7YmluZGlyfS9kbnNzb3J0ICR7YmluZGlyfS9uYW1lMmFkZHIgJHtiaW5kaXJ9L3RjcHNwcmF5ICR7YmluZGlyfS9hZGRyMm5hbWUiCisKK0RFU0NSSVBUSU9OXyR7UE59LW5kaXNjNiAgICA9ICJJQ01QdjYgTmVpZ2hib3IgRGlzY292ZXJ5IHRvb2wuIFwKK1BlcmZvcm1zIElQdjYgbmVpZ2hib3IgZGlzY292ZXJ5IGluIHVzZXJsYW5kLiBSZXBsYWNlcyBhcnBpbmcgZnJvbSB0aGUgXAorSVB2NCB3b3JsZC4iCitERVNDUklQVElPTl8ke1BOfS1yZGlzYzYgICAgPSAiSUNNUHY2IFJvdXRlciBEaXNjb3ZlcnkgdG9vbC4gXAorUXVlcmllcyBJUHY2IHJvdXRlcnMgb24gdGhlIG5ldHdvcmsgZm9yIGFkdmVydGlzZWQgcHJlZml4ZXMuIENhbiBiZSB1c2VkIFwKK3RvIGRldGVjdCByb2d1ZSBJUHY2IHJvdXRlcnMsIG1vbml0b3IgbGVnaXRpbWF0ZSBJUHY2IHJvdXRlcnMuIgorREVTQ1JJVFBJT05fJHtQTn0tdGNwc3ByYXk2ICAgID0gIlBlcmZvcm1zIGJhbmR3aWR0aCBtZWFzdXJlbWVudHMgb2YgVENQIFwKK3Nlc3Npb25zIGJldHdlZW4gdGhlIGxvY2FsIHN5c3RlbSBhbmQgYSByZW1vdGUgZWNobyBzZXJ2ZXIgaW4gZWl0aGVyIElQdjYgXAorb3IgSVB2NC4iCisKK0RFU0NSSVRQSU9OXyR7UE59LXJkbnNzZCAgICAgICA9ICJEYWVtb24gdG8gYXV0b2NvbmZpZ3VyZSB0aGUgbGlzdCBvZiBETlMgXAorc2VydmVycyB0aHJvdWdoIHNsYXRlbGVzcyBJUHY2IGF1dG9jb25maWd1cmF0aW9uLiIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIHJtIC1yZiAke0R9JHtsb2NhbHN0YXRlZGlyfQorICAgICMgRW5hYmxlIFNVSUQgYml0IGZvciBhcHBsaWNhdGlvbnMgdGhhdCBuZWVkIGl0CisgICAgY2htb2QgNDU1NSAke0R9JHtiaW5kaXJ9L3JsdHJhY2Vyb3V0ZTYKKyAgICBjaG1vZCA0NTU1ICR7RH0ke2JpbmRpcn0vbmRpc2M2CisgICAgY2htb2QgNDU1NSAke0R9JHtiaW5kaXJ9L3JkaXNjNgorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldGNhdC9uZXRjYXQtb3BlbmJzZF8xLjEwNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRjYXQvbmV0Y2F0LW9wZW5ic2RfMS4xMDUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODlhNjQ2ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRjYXQvbmV0Y2F0LW9wZW5ic2RfMS4xMDUuYmIKQEAgLTAsMCArMSw0MiBAQAorcmVxdWlyZSBuZXRjYXQuaW5jCitTVU1NQVJZID0gIk9wZW5CU0QgTmV0Y2F0IgorSE9NRVBBR0UgPSAiaHR0cDovL2Z0cC5kZWJpYW4ub3JnIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8uLi9kZWJpYW4vY29weXJpZ2h0O21kNT1lZTZiYmFhY2I1ZGI1ZjI5NzM4MThmMDkwMmMzYWU2ZiIKKworREVQRU5EUyArPSAiZ2xpYi0yLjAgbGliYnNkIgorCitTUkNfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9uL25ldGNhdC1vcGVuYnNkL25ldGNhdC1vcGVuYnNkXyR7UFZ9Lm9yaWcudGFyLmd6O25hbWU9bmV0Y2F0IFwKKyAgICAgICAgICAgJHtERUJJQU5fTUlSUk9SfS9tYWluL24vbmV0Y2F0LW9wZW5ic2QvbmV0Y2F0LW9wZW5ic2RfJHtQVn0tNy5kZWJpYW4udGFyLmd6O25hbWU9bmV0Y2F0LXBhdGNoIgorCitTUkNfVVJJW25ldGNhdC5tZDVzdW1dID0gIjdlNjdiMjJmMWFkNDFhMWI3ZWZmYmI1OWZmMjhmY2ExIgorU1JDX1VSSVtuZXRjYXQuc2hhMjU2c3VtXSA9ICI0MDY1M2ZlNjZjMTUxNjg3NmI2MWIwN2UwOTNkODI2ZTJhNTQ2M2M1ZDk5NGYxYjdlNmNlMzI4ZjNlZGIyMTFlIgorU1JDX1VSSVtuZXRjYXQtcGF0Y2gubWQ1c3VtXSA9ICJlOTE0ZjhlYjdlZGE1Yzc1YzY3OWRkNzc3ODdhYzc2YiIKK1NSQ19VUklbbmV0Y2F0LXBhdGNoLnNoYTI1NnN1bV0gPSAiZWVlNzU5MzI3ZmZlYTI5M2U4MWQwZGRlNjc5MjFiN2ZjZmNhZDI3OWZmZDdhMmM5ZDAzN2JiYzhmODgyYjM2MyIKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfS0ke1BWfSIKKworZG9fY29uZmlndXJlW25vZXhlY10gPSAiMSIKKworbmV0Y2F0X2RvX3BhdGNoKCkgeworICAgIGNkICR7U30KKyAgICBxdWlsdCBwb3AgLWEgfHwgdHJ1ZQorICAgIFFVSUxUX1BBVENIRVM9JHtXT1JLRElSfS9kZWJpYW4vcGF0Y2hlcyBRVUlMVF9TRVJJRVM9JHtXT1JLRElSfS9kZWJpYW4vcGF0Y2hlcy9zZXJpZXMgcXVpbHQgcHVzaCAtYQorfQorCitweXRob24gZG9fcGF0Y2goKSB7CisgICAgYmIuYnVpbGQuZXhlY19mdW5jKCduZXRjYXRfZG9fcGF0Y2gnLCBkKQorICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygncGF0Y2hfZG9fcGF0Y2gnLCBkKQorfQorCitkb19jb21waWxlKCkgeworICAgIGNkICR7U30KKyAgICBwa2dyZWw9NAorICAgIG9lX3J1bm1ha2UgQ0ZMQUdTPSIkQ0ZMQUdTIC1EREVCSUFOX1ZFUlNJT049XCJcXFwiJHtwa2dyZWx9XFxcIlwiIgorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1ICR7U30vbmMgJHtEfSR7YmluZGlyfS9uYy4ke0JQTn0KK30KK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjUwIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldGNhdC9uZXRjYXQuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldGNhdC9uZXRjYXQuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxYTI0YTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmV0Y2F0L25ldGNhdC5pbmMKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJHTlUgTmV0Y2F0IgorSE9NRVBBR0UgPSAiaHR0cDovL25ldGNhdC5zb3VyY2Vmb3JnZS5uZXQiCitERVNDUklQVElPTiA9ICJBIHNpbXBsZSBVbml4IHV0aWxpdHkgd2hpY2ggcmVhZHMgYW5kIHdyaXRlcyBkYXRhIGFjcm9zcyBuZXR3b3JrIFwKK2Nvbm5lY3Rpb25zIHVzaW5nIFRDUCBvciBVRFAgcHJvdG9jb2wuICBJdCBpcyBkZXNpZ25lZCB0byBiZSBhIHJlbGlhYmxlIFwKKydiYWNrLWVuZCcgdG9vbCB0aGF0IGNhbiBiZSB1c2VkIGRpcmVjdGx5IG9yIGVhc2lseSBkcml2ZW4gYnkgb3RoZXIgXAorcHJvZ3JhbXMgYW5kIHNjcmlwdHMuIEF0IHRoZSBzYW1lIHRpbWUgaXQgaXMgYSBmZWF0dXJlLXJpY2ggbmV0d29yayBcCitkZWJ1Z2dpbmcgYW5kIGV4cGxvcmF0aW9uIHRvb2wsIHNpbmNlIGl0IGNhbiBjcmVhdGUgYWxtb3N0IGFueSBraW5kIG9mIFwKK2Nvbm5lY3Rpb24geW91IHdvdWxkIG5lZWQgYW5kIGhhcyBzZXZlcmFsIGludGVyZXN0aW5nIGJ1aWx0LWluIFwKK2NhcGFiaWxpdGllcy4iCisKK1NFQ1RJT04gPSAibmV0IgoraW5oZXJpdCB1cGRhdGUtYWx0ZXJuYXRpdmVzIGdldHRleHQKKworQUxURVJOQVRJVkVfJHtQTn0gPSAibmMiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRjYXQvbmV0Y2F0L21ha2UtbmV0Y2F0X2ZsYWdfY291bnRfd29yay5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRjYXQvbmV0Y2F0L21ha2UtbmV0Y2F0X2ZsYWdfY291bnRfd29yay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZDE5MzhhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldGNhdC9uZXRjYXQvbWFrZS1uZXRjYXRfZmxhZ19jb3VudF93b3JrLnBhdGNoCkBAIC0wLDAgKzEsMzQgQEAKK01ha2UgbmV0Y2F0X2ZsYWdfY291bnQoKSByZXR1cm4gcG9zaXRpdmUgdmFsdWUKKworQyBsYW5ndWFnZSBoYXMgMyBkaXN0aW5jdCBjaGFyIHR5cGVzOgorICAgICAgICAgY2hhcgorICAgICAgICAgdW5zaWduZWQgY2hhcgorICAgICAgICAgc2lnbmVkIGNoYXIKK0EgY2hhciBoYXMgdGhlIHNhbWUgcmFuZ2Ugb2YgdmFsdWVzIGFzIHNpZ25lZCBjaGFyIG9uIFg4NiwKK2J1dCBzYW1lIGFzIHVuc2lnbmVkIGNoYXIgb24gUFBDIHdoaWNoIG1hZGUgbmV0Y2F0X2ZsYWdfY291bnQKK3JldHVybiBhIG5lZ2F0aXZlIHZhbHVlLCBub3cgd2UgZm9yY2UgdmFyaWFibGUgYyBhcyBzaWduZWQgY2hhcgordG8gbWFrZSBuZXRjYXRfZmxhZ19jb3VudCByZXR1cm4gcG9zaXRpdmUgdmFsdWUuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBSb3kuTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvZmxhZ3NldC5jIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2ZsYWdzZXQuYyBiL3NyYy9mbGFnc2V0LmMKK2luZGV4IDQ0MmI2MzQuLjU0YWM4OTggMTAwNjQ0CistLS0gYS9zcmMvZmxhZ3NldC5jCisrKysgYi9zcmMvZmxhZ3NldC5jCitAQCAtMTM0LDcgKzEzNCw3IEBAIHVuc2lnbmVkIHNob3J0IG5ldGNhdF9mbGFnX25leHQodW5zaWduZWQgc2hvcnQgcG9ydCkKKyAKKyBpbnQgbmV0Y2F0X2ZsYWdfY291bnQodm9pZCkKKyB7CistICByZWdpc3RlciBjaGFyIGM7CisrICByZWdpc3RlciBzaWduZWQgY2hhciBjOworICAgcmVnaXN0ZXIgaW50IGk7CisgICBpbnQgcmV0ID0gMDsKKyAKKy0tIAorMS43LjUuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmV0Y2F0L25ldGNhdC9uZXRjYXQtbG9jYWxlX2gucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmV0Y2F0L25ldGNhdC9uZXRjYXQtbG9jYWxlX2gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWNiY2IwOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRjYXQvbmV0Y2F0L25ldGNhdC1sb2NhbGVfaC5wYXRjaApAQCAtMCwwICsxLDI1IEBACitBcHBhcmVudGx5IHNvbWV3aGVyZSBhbG9uZyB0aGUgbGluZSBIQVZFX0xPQ0FMRV9IIHdhcyBjaGFuZ2VkIHRvCitIQVZFX0xDX01FU1NBR0VTLiAgQWRqdXN0IG5ldGNhdCB0byBtYXRjaC4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KKworSW5kZXg6IG5ldGNhdC0wLjcuMS9zcmMvaW50bC5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbmV0Y2F0LTAuNy4xLm9yaWcvc3JjL2ludGwuaAorKysrIG5ldGNhdC0wLjcuMS9zcmMvaW50bC5oCitAQCAtMjUsMTEgKzI1LDExIEBACisgI2lmZGVmIEVOQUJMRV9OTFMKKyAjaW5jbHVkZSA8bGliaW50bC5oPgorIAorLSNpZmRlZiBIQVZFX0xPQ0FMRV9ICisrI2lmIGRlZmluZWQoSEFWRV9MQ19NRVNTQUdFUykgfHwgZGVmaW5lZChIQVZFX0xPQ0FMRV9IKQorICNpbmNsdWRlIDxsb2NhbGUuaD4KKyAjZWxzZQorICNlcnJvciBZb3UgbXVzdCBoYXZlIGxvY2FsZS5oIGluIHlvdXIgc3lzdGVtCistI2VuZGlmCS8qIEhBVkVfTE9DQUxFX0ggKi8KKysjZW5kaWYJLyogSEFWRV9MQ19NRVNTQUdFUyB8fCBIQVZFX0xPQ0FMRV9IICovCisgCisgLyogT3VyIGRlYXIgKGFuZCB2ZXJ5IGNvbW1vbikgZ2V0dGV4dCBtYWNyb3MgKi8KKyAjZGVmaW5lIF8oU3RyaW5nKSBnZXR0ZXh0KFN0cmluZykKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRjYXQvbmV0Y2F0L29ic29sZXRlX2F1dG9jb25mX21hY3Jvcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRjYXQvbmV0Y2F0L29ic29sZXRlX2F1dG9jb25mX21hY3Jvcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjBlZDU4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldGNhdC9uZXRjYXQvb2Jzb2xldGVfYXV0b2NvbmZfbWFjcm9zLnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK1JlcGxhY2Ugb2Jzb2xldGVkIEFNX0NPTkZJR19IRUFERVIgZmxhZ2dlZCBieSBhdXRvY29uZiAyLjY5Citsb2NhbGUuaCBjaGVjayB3YXMgcGlja2VkIGZyb20gb2xkIGdldHRleHQgbWFjcm9zIGJ1dCB3aXRoIG5ldyBhY2xvY2FsCitpdCBwaWNrcyB0aGUgcmlnaHQgMC4xOCBnZXR0ZXh0Lm00IGFuZCBkb2VzIG5vdCBnZXQgdGhlIGNoZWNrCit0aGVyZWZvcmUgd2UgZXhwbGljaXRseSBhZGQgaXQgdG8gY29uZmlndXJlLmFjCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCitJbmRleDogbmV0Y2F0LTAuNy4xL2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG5ldGNhdC0wLjcuMS5vcmlnL2NvbmZpZ3VyZS5hYwkyMDEzLTAxLTE4IDAxOjMwOjAxLjkyODA2OTczOSAtMDgwMAorKysrIG5ldGNhdC0wLjcuMS9jb25maWd1cmUuYWMJMjAxMy0wMS0xOCAwMTozMjo1MC41NjgwNzMwMDkgLTA4MDAKK0BAIC0yNiw4ICsyNiw3IEBACisgQUNfUFJFUkVRKDIuNTMpCisgCisgZG5sIHdpdGhvdXQgdGhpcyBvcmRlciBpbiB0aGlzIGZpbGUsIGF1dG9tYWtlIHdpbGwgYmUgY29uZnVzZWQhCistQU1fQ09ORklHX0hFQURFUihjb25maWcuaCkKKy0KKytBQ19DT05GSUdfSEVBREVSUyhjb25maWcuaCkKKyBkbmwgY2hlY2sgZm9yIHByb2dyYW1zLiAgZmlyc3QgdGhlIGMgY29tcGlsZXIuCisgQUNfUFJPR19DQworIEFDX1BST0dfQ1BQCitAQCAtNTYsNyArNTUsNyBAQAorIEFDX0xCTF9MSUJSQVJZX05FVAorIAorIGRubCBGb3J0dW5hdGVseSB3ZSBoYXZlIFNvbGFyaXMuLi4KKy1BQ19DSEVDS19IRUFERVJTKHN5cy9zb2NraW8uaCkKKytBQ19DSEVDS19IRUFERVJTKHN5cy9zb2NraW8uaCBsb2NhbGUuaCkKKyAKKyBBQ19DSEVDS19GVU5DUyhzcmFuZG9tIHJhbmRvbSkKKyBpZiB0ZXN0ICRhY19jdl9mdW5jX3NyYW5kb20gPSBubzsgdGhlbgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldGNhdC9uZXRjYXRfMC43LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmV0Y2F0L25ldGNhdF8wLjcuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTYxYWY1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldGNhdC9uZXRjYXRfMC43LjEuYmIKQEAgLTAsMCArMSwyMiBAQAorcmVxdWlyZSBuZXRjYXQuaW5jCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK1BSID0gInIzIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9uZXRjYXQvbmV0Y2F0LSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vb2Jzb2xldGVfYXV0b2NvbmZfbWFjcm9zLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL25ldGNhdC1sb2NhbGVfaC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9tYWtlLW5ldGNhdF9mbGFnX2NvdW50X3dvcmsucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMGEyOWVmZjE3MzZkZGI1ZWZmZDBiMWVjMWY2ZmUwZWYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjU1YWYwYmJkZjVhY2MwMmQxZWI2YWIxOGRhMmFjZDc3YTQwMGJhZmQwNzQ0ODkwMDNmM2RmMDk2NzYzMzJiYiIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgbXYgJHtEfSR7YmluZGlyfS9uYyAke0R9JHtiaW5kaXJ9L25jLiR7QlBOfQorfQorQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldGNmL25ldGNmX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRjZi9uZXRjZl9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGZiNjliYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRjZi9uZXRjZl9naXQuYmIKQEAgLTAsMCArMSw2NiBAQAorU1VNTUFSWSA9ICJuZXRjZiIKK0RFU0NSSVBUSU9OID0gIm5ldGNmIGlzIGEgY3Jvc3MtcGxhdGZvcm0gbmV0d29yayBjb25maWd1cmF0aW9uIGxpYnJhcnkuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9mZWRvcmFob3N0ZWQub3JnL25ldGNmLyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWJiYjQ2MTIxMWEzM2IxMzRkNDJlZDVlZTgwMmIzN2ZmIgorCitTUkNSRVYgPSAiOTE1ODI3OGFkMzViNDZjZTlhNDliMmU4ODc0ODNjNmQ4YzI4Nzk5NCIKK1BWID0gIjAuMi44K2dpdCR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL2dpdC5mZWRvcmFob3N0ZWQub3JnL25ldGNmLmdpdDtwcm90b2NvbD1naXQgXAorIgorCitERVBFTkRTICs9ICJhdWdlYXMgbGlibmwgbGlieHNsdCBsaWJ4bWwyIGdudWxpYiIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBnZXR0ZXh0IGF1dG90b29scyBwa2djb25maWcgc3lzdGVtZAorCitFWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgLS13aXRoLWRyaXZlcj1yZWRoYXQiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgInN5c3RlbWQiLCAic3lzdGVtZCIsICIiLCBkKX0iCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXNpbml0PXN5c3RlbWQsLS13aXRoLXN5c2luaXQ9aW5pdHNjcmlwdHMsIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBjdXJyZGlyPWBwd2RgCisgICAgY2QgJHtTfQorCisgICAgIyBhdm9pZCBib290c3RyYXAgY2xvbmluZyBnbnVsaWIgb24gZXZlcnkgY29uZmlndXJlCisgICAgIyB0aGUgcm1kaXIgYWN0cyBhcyBhIHNlbnRpbmVsIHRvIGxldCB1cyBrbm93IGlmIHRoZSBwa2cgZXZlciBjaGFuZ2VzCisgICAgIyB0aGUgcGF0aCBmb3IgR05VbGliIG9yIHBvcHVsYXRlcyB0aGUgZGlyIG1ha2luZyBpdCBub24tZW1wdHkuCisgICAgcm1kaXIgJHtTfS8uZ251bGliCisgICAgY3AgLXJmICR7U1RBR0lOR19EQVRBRElSfS9nbnVsaWIgJHtTfS8uZ251bGliCisKKyAgICAjIC0tZm9yY2UgdG8gYXZvaWQgZXJyb3JzIG9uIHJlY29uZmlndXJlIGUuZyBpZiByZWNpcGVzIGNoYW5nZWQgd2UgZGVwZW5kIG9uCisgICAgIyB8IGJvb3RzdHJhcDogcnVubmluZzogbGlidG9vbGl6ZSAtLXF1aWV0CisgICAgIyB8IGxpYnRvb2xpemU6ICAgZXJyb3I6ICdsaWJsdGRsL0NPUFlJTkcuTElCJyBleGlzdHM6IHVzZSAnLS1mb3JjZScgdG8gb3ZlcndyaXRlCisgICAgIyB8IC4uLgorICAgIC4vYm9vdHN0cmFwIC0tZm9yY2UgLS1uby1naXQgLS1nbnVsaWItc3JjZGlyPS5nbnVsaWIKKworICAgIGNkICRjdXJyZGlyCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGlmICR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgaWYgWyAtZCAiJHtEfSR7bGliZGlyfS9zeXN0ZW1kL3N5c3RlbSIgXTsgdGhlbgorICAgICAgICAgICBtdiAke0R9JHtsaWJkaXJ9L3N5c3RlbWQvc3lzdGVtLyogJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCisgICAgICAgICAgIHJtIC1yZiAke0R9JHtsaWJkaXJ9L3N5c3RlbWQvCisgICAgICAgZWxzZQorICAgICAgICAgICBtdiAke0R9JHtub25hcmNoX2xpYmRpcn0vc3lzdGVtZC9zeXN0ZW0vKiAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKyAgICAgICAgICAgcm0gLXJmICR7RH0ke25vbmFyY2hfbGliZGlyfS9zeXN0ZW1kLworICAgICAgIGZpCisgICAgZWxzZQorICAgICAgIG12ICR7RH0ke3N5c2NvbmZkaXJ9L3JjLmQvaW5pdC5kLyAke0R9JHtzeXNjb25mZGlyfQorICAgICAgIHJtIC1yZiAke0R9JHtzeXNjb25mZGlyfS9yYy5kLworICAgIGZpCit9CisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICAgICAke2xpYmRpcn0gXAorICAgICAgICAke25vbmFyY2hfbGliZGlyfSBcCisgICAgICAgICIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIm5ldGNmLXRyYW5zYWN0aW9uLnNlcnZpY2UiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmV0cGVyZi9maWxlcy9jcHVfc2V0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldHBlcmYvZmlsZXMvY3B1X3NldC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzRiNzkwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldHBlcmYvZmlsZXMvY3B1X3NldC5wYXRjaApAQCAtMCwwICsxLDMwIEBACitTdWJqZWN0OiBbUEFUQ0hdIG5ldHBlcmY6IGZpeCBDUFVfU0VUU0laRSB0byBidWlsZCB3aXRoIGVnbGliYworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogWGluIE91eWFuZyA8WGluLk91eWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL25ldGxpYi5jIHwgICAgNyArKysrKystCisgMSBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvbmV0bGliLmMgYi9zcmMvbmV0bGliLmMKK2luZGV4IDIwNmUwMDIuLmUzM2FhZTYgMTAwNjQ0CistLS0gYS9zcmMvbmV0bGliLmMKKysrKyBiL3NyYy9uZXRsaWIuYworQEAgLTIyNjUsNyArMjI2NSwxMiBAQCBiaW5kX3RvX3NwZWNpZmljX3Byb2Nlc3NvcihpbnQgcHJvY2Vzc29yX2FmZmluaXR5LCBpbnQgdXNlX2NwdV9tYXApCisgICAgICBmYWxsLWJhY2sgb24gd2hhdCB3ZSBoYWQgYmVmb3JlLCB3aGljaCBpcyB0byB1c2UganVzdCB0aGUgc2l6ZSBvZgorICAgICAgYW4gdW5zaWduZWQgbG9uZy4gcmFqIDIwMDYtMDktMTQgKi8KKyAKKy0jaWYgZGVmaW5lZChfX0NQVV9TRVRTSVpFKQorKyNpZiBkZWZpbmVkKENQVV9TRVRTSVpFKQorKyNkZWZpbmUgTkVUUEVSRl9DUFVfU0VUU0laRSBDUFVfU0VUU0laRQorKyNkZWZpbmUgTkVUUEVSRl9DUFVfU0VUKGNwdSwgY3B1c2V0cCkgIENQVV9TRVQoY3B1LCBjcHVzZXRwKQorKyNkZWZpbmUgTkVUUEVSRl9DUFVfWkVSTyhjcHVzZXRwKSAgICAgIENQVV9aRVJPIChjcHVzZXRwKQorKyAgdHlwZWRlZiBjcHVfc2V0X3QgbmV0cGVyZl9jcHVfc2V0X3Q7CisrI2VsaWYgZGVmaW5lZChfX0NQVV9TRVRTSVpFKQorICNkZWZpbmUgTkVUUEVSRl9DUFVfU0VUU0laRSBfX0NQVV9TRVRTSVpFCisgI2lmIGRlZmluZWQoX19DUFVfU0VUX1MpCisgI2RlZmluZSBORVRQRVJGX0NQVV9TRVQoY3B1LCBjcHVzZXRwKSAgX19DUFVfU0VUX1MoY3B1LCBzaXplb2YgKGNwdV9zZXRfdCksIGNwdXNldHApCistLSAKKzEuNy4xLjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldHBlcmYvZmlsZXMvaW5pdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRwZXJmL2ZpbGVzL2luaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGJhMmE2MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRwZXJmL2ZpbGVzL2luaXQKQEAgLTAsMCArMSw2MiBAQAorIyEvYmluL3NoCisjCisjCisjIFdyaXR0ZW4gYnkgTWlxdWVsIHZhbiBTbW9vcmVuYnVyZyA8bWlxdWVsc0BjaXN0cm9uLm5sPi4KKyMgTW9kaWZpZWQgZm9yIERlYmlhbiBHTlUvTGludXggYnkgSWFuIE11cmRvY2sgPGltdXJkb2NrQGdudS5vcmc+LgorIyBNb2RpZmllZCBmb3IgRGViaWFuIGJ5IENocmlzdG9waCBMYW1ldGVyIDxjbGFtZXRlckBkZWJpYW4ub3JnPgorIyBNb2RpZmllZCBmb3Igb3BlbmVtYmVkZGVkIGJ5IEJydW5vIFJhbmRvbGYgPGJydW5vLnJhbmRvbGZANGctc3lzdGVtcy5iaXo+CisKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6ICAgICAgICAgICAgIG5ldHBlcmYKKyMgUmVxdWlyZWQtU3RhcnQ6ICAgICAgICRyZW1vdGVfZnMgJGxvY2FsX2ZzICR0aW1lCisjIFJlcXVpcmVkLVN0b3A6ICAgICAgICAkcmVtb3RlX2ZzICRsb2NhbF9mcyAkdGltZQorIyBTaG91bGQtU3RhcnQ6ICAgICAgICAgJG5ldHdvcmsgJG5hbWVkCisjIFNob3VsZC1TdG9wOiAgICAgICAgICAkbmV0d29yayAkbmFtZWQKKyMgRGVmYXVsdC1TdGFydDogICAgICAgIDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAgICAgICAgIDAgMSA2CisjIFNob3J0LURlc2NyaXB0aW9uOiAgICBuZXR3b3JrIGJlbmNobWFyaworIyMjIEVORCBJTklUIElORk8KKworUEFUSD0vYmluOi91c3IvYmluOi9zYmluOi91c3Ivc2JpbgorREFFTU9OPS91c3Ivc2Jpbi9uZXRzZXJ2ZXIKKwordGVzdCAtZiAkREFFTU9OIHx8IGV4aXQgMAorCitjYXNlICIkMSIgaW4KKyAgc3RhcnQpCisgICAgZWNobyAtbiAiU3RhcnRpbmcgbmV0d29yayBiZW5jaG1hcmsgc2VydmVyOiBuZXRzZXJ2ZXIiCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLVMgLXggJERBRU1PTiA+IC9kZXYvbnVsbCAyPiYxIAorICAgIGVjaG8gIi4iCisgICAgOzsKKyAgc3RvcCkKKyAgICBlY2hvIC1uICJTdG9wcGluZyBuZXR3b3JrIGJlbmNobWFyayBzZXJ2ZXI6IG5ldHNlcnZlciIKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtSyAteCAkREFFTU9OCisgICAgZWNobyAiLiIKKyAgICA7OworICAjcmVsb2FkKQorICAgICMKKyAgICAjIElmIHRoZSBkYWVtb24gY2FuIHJlbG9hZCBpdHMgY29uZmlnIGZpbGVzIG9uIHRoZSBmbHkKKyAgICAjIGZvciBleGFtcGxlIGJ5IHNlbmRpbmcgaXQgU0lHSFVQLCBkbyBpdCBoZXJlLgorICAgICMKKyAgICAjIElmIHRoZSBkYWVtb24gcmVzcG9uZHMgdG8gY2hhbmdlcyBpbiBpdHMgY29uZmlnIGZpbGUKKyAgICAjIGRpcmVjdGx5IGFueXdheSwgbWFrZSB0aGlzIGEgZG8tbm90aGluZyBlbnRyeS4KKyAgICAjCisgICAgIyBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1zaWduYWwgMSAtLXZlcmJvc2UgLS1leGVjICREQUVNT04KKyAgICAjIDs7CisgIHJlc3RhcnR8Zm9yY2UtcmVsb2FkKQorICAgICMKKyAgICAjIElmIHRoZSAicmVsb2FkIiBvcHRpb24gaXMgaW1wbGVtZW50ZWQsIG1vdmUgdGhlICJmb3JjZS1yZWxvYWQiCisgICAgIyBvcHRpb24gdG8gdGhlICJyZWxvYWQiIGVudHJ5IGFib3ZlLiBJZiBub3QsICJmb3JjZS1yZWxvYWQiIGlzCisgICAgIyBqdXN0IHRoZSBzYW1lIGFzICJyZXN0YXJ0Ii4KKyAgICAjCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLUsgLXggJERBRU1PTgorICAgIHNsZWVwIDEKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtUyAteCAkREFFTU9OCisgICAgOzsKKyAgKikKKyAgICBlY2hvICJVc2FnZTogL2V0Yy9pbml0LmQvbmV0cGVyZiB7c3RhcnR8c3RvcHxyZXN0YXJ0fGZvcmNlLXJlbG9hZH0iCisgICAgZXhpdCAxCisgICAgOzsKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmV0cGVyZi9maWxlcy92Zm9yay5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRwZXJmL2ZpbGVzL3Zmb3JrLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmZjk4YmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmV0cGVyZi9maWxlcy92Zm9yay5wYXRjaApAQCAtMCwwICsxLDU4IEBACitTdWJqZWN0OiBbUEFUQ0hdIG5ldHBlcmY6IGZpeCB2Zm9yay9mb3JrCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBYaW4gT3V5YW5nIDxYaW4uT3V5YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvbmV0c2VydmVyLmMgfCAgIDEyICsrKysrKysrKystLQorIDEgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9uZXRzZXJ2ZXIuYyBiL3NyYy9uZXRzZXJ2ZXIuYworaW5kZXggMzc5YTEwNi4uZjZhOGIwOSAxMDA2NDQKKy0tLSBhL3NyYy9uZXRzZXJ2ZXIuYworKysrIGIvc3JjL25ldHNlcnZlci5jCitAQCAtMTAyMCw3ICsxMDIwLDcgQEAgcHJvY2Vzc19yZXF1ZXN0cygpCisgdm9pZAorIHNwYXduX2NoaWxkKCkgeworIAorLSNpZiBkZWZpbmVkKEhBVkVfRk9SSykKKysjaWYgZGVmaW5lZChIQVZFX0ZPUkspIHx8IGRlZmluZWQoSEFWRV9WRk9SSykKKyAKKyAgIGlmIChkZWJ1ZykgeworICAgICBmcHJpbnRmKHdoZXJlLAorQEAgLTEwMzgsNyArMTAzOCwxMSBAQCBzcGF3bl9jaGlsZCgpIHsKKyAKKyAgIHNpZ25hbChTSUdDTEQsU0lHX0lHTik7CisgCisrI2lmIGRlZmluZWQoSEFWRV9GT1JLKQorICAgc3dpdGNoIChmb3JrKCkpIHsKKysjZWxzZQorKyAgc3dpdGNoICh2Zm9yaygpKSB7CisrI2VuZGlmCisgICBjYXNlIC0xOgorICAgICBmcHJpbnRmKHdoZXJlLAorIAkgICAgIiVzOiBmb3JrKCkgZXJyb3IgJXMgKGVycm5vICVkKVxuIiwKK0BAIC0xNDA1LDcgKzE0MDksNyBAQCBzY2FuX25ldHNlcnZlcl9hcmdzKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsKKyAKKyB2b2lkCisgZGFlbW9uaXplKCkgeworLSNpZiBkZWZpbmVkKEhBVkVfRk9SSykKKysjaWYgZGVmaW5lZChIQVZFX0ZPUkspIHx8IGRlZmluZWQoSEFWRV9WRk9SSykKKyAKKyAgIGlmIChkZWJ1ZykgeworICAgICBmcHJpbnRmKHdoZXJlLAorQEAgLTE0MTksNyArMTQyMywxMSBAQCBkYWVtb25pemUoKSB7CisgICBmZmx1c2goc3Rkb3V0KTsKKyAgIGZmbHVzaChzdGRlcnIpOworIAorKyNpZiBkZWZpbmVkKEhBVkVfRk9SSykKKyAgIHN3aXRjaCAoZm9yaygpKSB7CisrI2Vsc2UKKysgIHN3aXRjaCAodmZvcmsoKSkgeworKyNlbmRpZgorICAgY2FzZSAtMToKKyAgICAgZnByaW50ZihzdGRlcnIsCisgCSAgICAiJXM6IGZvcmsoKSBlcnJvciAlcyAoZXJybm8gJWQpXG4iLAorLS0gCisxLjcuMS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRwZXJmL25ldHBlcmZfMi42LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmV0cGVyZi9uZXRwZXJmXzIuNi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2MGJhYjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmV0cGVyZi9uZXRwZXJmXzIuNi4wLmJiCkBAIC0wLDAgKzEsNjYgQEAKK1NVTU1BUlkgPSAiQSBuZXR3b3JraW5nIGJlbmNobWFya2luZyB0b29sIgorREVTQ1JJUFRJT04gPSAiTmV0d29yayBwZXJmb3JtYW5jZSBiZW5jaG1hcmsgaW5jbHVkaW5nIHRlc3RzIGZvciBUQ1AsIFVEUCwgc29ja2V0cywgQVRNIGFuZCBtb3JlLiIKK1NFQ1RJT04gPSAibmV0IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5uZXRwZXJmLm9yZy8iCitMSUNFTlNFID0gIm5ldHBlcmYiCitMSUNFTlNFX0ZMQUdTID0gIm5vbi1jb21tZXJjaWFsIgorCisKK1NSQ19VUkk9ImZ0cDovL2Z0cC5uZXRwZXJmLm9yZy9uZXRwZXJmL2FyY2hpdmUvbmV0cGVyZi0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgIGZpbGU6Ly9jcHVfc2V0LnBhdGNoIFwKKyAgICAgICAgIGZpbGU6Ly92Zm9yay5wYXRjaCBcCisgICAgICAgICBmaWxlOi8vaW5pdCIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5NjU0ZmZkZmQ0YzRmMmM5M2NlMzczM2NkOWVkOTIzNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjZDhkYWM3MTBkNDI3M2QyOWY3MGU4ZGJkMDkzNTNhNjM2MmFjNThhMTE5MjZlMDgyMjIzM2MwY2IyMzAzMjNhIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hMGFiMTcyNTNlN2EzZjMxOGRhODUzODJjN2Q1ZDVkNiIKKworaW5oZXJpdCB1cGRhdGUtcmMuZCBhdXRvdG9vbHMKKworUyA9ICIke1dPUktESVJ9L25ldHBlcmYtJHtQVn0iCisKKyMgY3B1X3NldC5wYXRjaCBwbHVzIF9HTlVfU09VUkNFIG1ha2VzIHNyYy9uZXRsaWIuYyBjb21waWxlIHdpdGggQ1BVXyBtYWNyb3MKK0NGTEFHU19hcHBlbmQgPSAiIC1ERE9fVU5JWCAtRERPX0lQVjYgLURfR05VX1NPVVJDRSIKKworIyBzZXQgdGhlICJfRklMRV9PRkZTRVRfQklUUyIgcHJlcHJvY2Vzc29yIHN5bWJvbCB0byA2NCB0byBzdXBwb3J0IGZpbGVzCisjIGxhcmdlciB0aGFuIDJHQgorQ0ZMQUdTX2FwcGVuZCA9ICIke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGFyZ2VmaWxlJywgXAorICAgICcgLURfRklMRV9PRkZTRVRfQklUUz02NCcsICcnLCBkKX0iCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW3NjdHBdID0gIi0tZW5hYmxlLXNjdHAsLS1kaXNhYmxlLXNjdHAsbGtzY3RwLXRvb2xzLCIKKworIyBhdXRvdG9vbHMuYmJjbGFzcyBhdHRlbmRzIHRvIGluY2x1ZGUgbTQgZmlsZXMgd2l0aCBwYXRoIGRlcHRoIDw9IDIgYnkKKyMgImZpbmQgJHtTfSAtbWF4ZGVwdGggMiAtbmFtZSBcKi5tNCIsIHNvIG1vdmUgbTQgZmlsZXMgZnJvbSBtNC9tNC4KK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHRlc3QgLWQgJHtTfS9tNC9tNCAmJiBtdiAtZiAke1N9L200L200ICR7U30vbTQtZmlsZXMKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBzZWQgLWUgJ3MjL3Vzci9zYmluLyMke3NiaW5kaXJ9LyNnJyAtaSAke1dPUktESVJ9L2luaXQKKworICAgIGluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0gJHtEfSR7YmluZGlyfSAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDQ3NTUgc3JjL25ldHBlcmYgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gNDc1NSBzcmMvbmV0c2VydmVyICR7RH0ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbmV0cGVyZgorCisgICAgIyBtYW4KKyAgICBpbnN0YWxsIC1kICR7RH0ke21hbmRpcn0vbWFuMS8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9kb2MvbmV0c2VydmVyLm1hbiAke0R9JHttYW5kaXJ9L21hbjEvbmV0c2VydmVyLjEKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9kb2MvbmV0cGVyZi5tYW4gJHtEfSR7bWFuZGlyfS9tYW4xL25ldHBlcmYuMQorCisgICAgIyBtb3ZlIHNjcmlwdHMgdG8gZXhhbXBsZXMgZGlyZWN0b3J5CisgICAgaW5zdGFsbCAtZCAke0R9JHtkb2NkaXJ9L25ldHBlcmYvZXhhbXBsZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9kb2MvZXhhbXBsZXMvKl9zY3JpcHQgJHtEfSR7ZG9jZGlyfS9uZXRwZXJmL2V4YW1wbGVzLworCisgICAgIyBkb2NzIC4uCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vQ09QWUlORyAke0R9JHtkb2NkaXJ9L25ldHBlcmYKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9SZWxlYXNlX05vdGVzICR7RH0ke2RvY2Rpcn0vbmV0cGVyZgorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L1JFQURNRSAke0R9JHtkb2NkaXJ9L25ldHBlcmYKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9kb2MvbmV0cGVyZl9vbGQucHMgJHtEfSR7ZG9jZGlyfS9uZXRwZXJmCit9CisKK1JSRUNPTU1FTkRTXyR7UE59ICs9ICIke0BiYXNlX2NvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3NjdHAnLCAna2VybmVsLW1vZHVsZS1zY3RwJywgJycsIGQpfSIKKworSU5JVFNDUklQVF9OQU1FPSJuZXRwZXJmIgorSU5JVFNDUklQVF9QQVJBTVM9ImRlZmF1bHRzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25pcy9maWxlcy95cGJpbmQuaW5pdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uaXMvZmlsZXMveXBiaW5kLmluaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjY5YzE5YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uaXMvZmlsZXMveXBiaW5kLmluaXQKQEAgLTAsMCArMSwxMDcgQEAKKyMhIC9iaW4vc2gKKyMgQ29weXJpZ2h0IChjKSAyMDA0IEF1dGhvcjogVGhvcnN0ZW4gS3VrdWsgPGt1a3VrQHN1c2UuZGU+CisjCisjIC9ldGMvaW5pdC5kL3lwYmluZAorIworIyAgIGFuZCBzeW1ib2xpYyBpdHMgbGluaworIworIyAvdXNyL3NiaW4vcmN5cGJpbmQKKyMKKyMgU3lzdGVtIHN0YXJ0dXAgc2NyaXB0IGZvciB0aGUgeXBiaW5kIGRhZW1vbgorIworIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogeXBiaW5kCisjIFJlcXVpcmVkLVN0YXJ0OiAkcmVtb3RlX2ZzICRwb3J0bWFwCisjIFNob3VsZC1TdGFydDogeXBzZXJ2IHNscGQKKyMgUmVxdWlyZWQtU3RvcDogcG9ydG1hcAorIyBEZWZhdWx0LVN0YXJ0OiAzIDUKKyMgRGVmYXVsdC1TdG9wOiAwIDEgMiA2CisjIFNob3J0LURlc2NyaXB0aW9uOiBTdGFydCB5cGJpbmQgKG5lY2Vzc2FyeSBmb3IgYSBOSVMgY2xpZW50KQorIyBEZXNjcmlwdGlvbjogeXBiaW5kIGZpbmRzIHRoZSBzZXJ2ZXIgZm9yIE5JUyBkb21haW5zIGFuZCBtYWludGFpbnMKKyMJdGhlIE5JUyBiaW5kaW5nIGluZm9ybWF0aW9uLgorIyMjIEVORCBJTklUIElORk8KKworIyBOZWVkIHRvIHVzZSBzdGF0dXMgZnVuY3Rpb24KKy4gL2V0Yy9pbml0LmQvZnVuY3Rpb25zCisKK1lQQklORF9CSU49L3Vzci9zYmluL3lwYmluZAorcGlkZmlsZT0vdmFyL3J1bi95cGJpbmQucGlkCitZUERPTUFJTk5BTUVfYmluPS91c3IvYmluL3lwZG9tYWlubmFtZQorCitbIC1mIC9ldGMvZGVmYXVsdC95cGJpbmQgXSAmJiAuIC9ldGMvZGVmYXVsdC95cGJpbmQKKworY2FzZSAiJDEiIGluCisgICAgc3RhcnQpCisJZWNobyAtbiAiU3RhcnRpbmcgeXBiaW5kIgorCSMjIElmIHRoZSBkb21haW5uYW1lIGlzIG5vdCBzZXQsIHNraXAgc3RhcnRpbmcgb2YgeXBiaW5kCisJIyMgYW5kIHJldHVybiB3aXRoICJwcm9ncmFtIG5vdCBjb25maWd1cmVkIgorICAgICAgICAkWVBET01BSU5OQU1FX2JpbiA+L2Rldi9udWxsIDI+JjEKKyAgICAgICAgaWYgWyAkPyAtbmUgMCAtbyAteiAiYCRZUERPTUFJTk5BTUVfYmluIDI+L2Rldi9udWxsYCIgXTsgdGhlbgorICAgICAgICAgICBpZiBbIC1mIC9ldGMvZGVmYXVsdGRvbWFpbiBdOyB0aGVuCisgICAgICAgICAgICAgWERPTUFJTk5BTUU9YGNhdCAvZXRjL2RlZmF1bHRkb21haW5gCisgICAgICAgICAgICAgJFlQRE9NQUlOTkFNRV9iaW4gIiRYRE9NQUlOTkFNRSIKKwkgICBmaQorICAgICAgICAgICAkWVBET01BSU5OQU1FX2JpbiA+L2Rldi9udWxsIDI+JjEKKyAgICAgICAgICAgaWYgWyAkPyAtbmUgMCAtbyAteiAiYCRZUERPTUFJTk5BTUVfYmluIDI+L2Rldi9udWxsYCIgXTsgdGhlbgorCSAgICAgIyBUZWxsIHRoZSB1c2VyIHRoaXMgaGFzIHNraXBwZWQKKwkgICAgIGVjaG8gLW4gIiAuIC4gLiAuIC4gLiAuIC4gLiAuIE5vIGRvbWFpbm5hbWUgc2V0IgorICAgICAgICAgICAgICMgc2VydmljZSBpcyBub3QgY29uZmlndXJlZAorCSAgICAgZXhpdCAxCisgICAgICAgICAgIGZpCisgICAgICAgIGZpCisKKwkjIyBJZiB3ZSBkb24ndCBoYXZlIGEgL2V0Yy95cC5jb25mIGZpbGUsIHNraXAgc3RhcnRpbmcgb2YKKyAgICAgICAgIyMgeXBiaW5kIGFuZCByZXR1cm4gd2l0aCAicHJvZ3JhbSBub3QgY29uZmlndXJlZCIKKyAgICAgICAgIyMgaWYgeW91IGFkZCB0aGUgLWJyb2FkY2FzdCBPcHRpb24gbGF0ZXIsIGNvbW1lbnQgdGhpcyBvdXQuCisJaWYgWyAhIC1mIC9ldGMveXAuY29uZiAtYSAiJFlQQklORF9CUk9BRENBU1QiICE9ICJ5ZXMiIF0gOyB0aGVuCisJICAjIFRlbGwgdGhlIHVzZXIgdGhpcyBoYXMgc2tpcHBlZAorCSAgZWNobyAtbiAiIC4gLiAuIC4gLiAuIC4gLiAuIC4gJHthdHRufS9ldGMveXAuY29uZiBub3QgZm91bmQke25vcm19IgorICAgICAgICAgICMgc2VydmljZSBpcyBub3QgY29uZmlndXJlZAorCSAgZXhpdCAxCisgICAgICAgIGZpCisKKwkjIGV2YWx1YXRlIHRoZSBPUFRJT05TIGZvciB5cGJpbmQtbXQKKwlPUFRJT05TPSIiCisJdGVzdCAiJFlQQklORF9MT0NBTF9PTkxZIiA9ICJ5ZXMiICYmIE9QVElPTlM9Ii1sb2NhbC1vbmx5ICRPUFRJT05TIgorCXRlc3QgIiRZUEJJTkRfQlJPQURDQVNUIiA9ICJ5ZXMiICYmIE9QVElPTlM9Ii1icm9hZGNhc3QgJE9QVElPTlMiCisJdGVzdCAiJFlQQklORF9CUk9LRU5fU0VSVkVSIiA9ICJ5ZXMiICYmIE9QVElPTlM9Ii1icm9rZW4tc2VydmVyICRPUFRJT05TIgorCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tcGlkZmlsZSAkcGlkZmlsZSAtLWV4ZWMgJFlQQklORF9CSU4gLS0gJFlQQklORF9PUFRJT05TICRPUFRJT05TCisgICAgICAgIGlmIFsgJD8gLWVxIDAgXTsgdGhlbgorICAgICAgICAgICAgbm90Zm91bmQ9MQorICAgICAgICAgICAgZm9yIGkgaW4gMSAyIDMgNCA1IDYgNyA4IDkgMTAgMTEgMTIgMTMgMTQgMTU7IGRvCisgICAgICAgICAgICAgICAgeXB3aGljaCA+L2Rldi9udWxsIDI+JjEgJiYgeyBub3Rmb3VuZD0wIDsgYnJlYWs7IH07CisgICAgICAgICAgICAgICAgZWNobyAtbiAiIC4iCisgICAgICAgICAgICAgICAgc2xlZXAgMTsKKyAgICAgICAgICAgIGRvbmUKKyAgICAgICAgICAgIGlmIFsgJG5vdGZvdW5kIC1lcSAxIF07IHRoZW4KKyAgICAgICAgICAgICAgICBlY2hvIC1uICIgJHt3YXJufU5vIE5JUyBzZXJ2ZXIgZm91bmQke25vcm19IjsKKwkgICAgZmkKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZXhpdCAxCisgICAgICAgIGZpCisJOzsKKyAgICBzdG9wKQorCWVjaG8gLW4gIlNodXR0aW5nIGRvd24geXBiaW5kIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXF1aWV0IC0tcGlkZmlsZSAkcGlkZmlsZQorCSMgUmVtb3ZlIHN0YXRpYyBkYXRhLCBlbHNlIGdsaWJjIHdpbGwgY29udGludWUgdG8gdXNlIE5JUworICAgICAgICBybSAtZiAvdmFyL3lwL2JpbmRpbmcvKiAvdmFyL3J1bi95cGJpbmQucGlkCisJOzsKKyAgICByZXN0YXJ0KQorCSQwIHN0b3AKKwlzbGVlcCAxCisJJDAgc3RhcnQKKwk7OworICAgIHJlbG9hZCB8IGZvcmNlLXJlbG9hZCkKKwllY2hvIC1uICJSZWxvYWQgc2VydmljZSB5cGJpbmQiCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tcXVpZXQgLS1zaWduYWwgMSAtLXBpZGZpbGUgJHBpZGZpbGUKKwk7OworICAgIHN0YXR1cykKKwllY2hvIC1uICJDaGVja2luZyBmb3IgeXBiaW5kOiAiCisJc3RhdHVzICRZUEJJTkRfQklOCisJOzsKKyAgICAqKQorCWVjaG8gIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxzdGF0dXN8dHJ5LXJlc3RhcnR8cmVzdGFydHxmb3JjZS1yZWxvYWR8cmVsb2FkfHByb2JlfSIKKwlleGl0IDEKKwk7OworZXNhYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25pcy9uaXMuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25pcy9uaXMuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0YWExMGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmlzL25pcy5pbmMKQEAgLTAsMCArMSwzMSBAQAorIyBUaGlzIGluY2x1ZGUgZmlsZSBjb250YWlucyBnbG9iYWwgZGVmaW5pdGlvbnMgZm9yIHRoZQorIyB2YXJpb3VzIE5JUyBwYWNrYWdlcy4KKyMKKyMgVGhlc2UgcGFja2FnZXMgd2lsbCBvbmx5IGZ1bmN0aW9uIGNvcnJlY3RseSB3aXRoIGdsaWJjIC0KKyMgdGhlIHJwY3N2YyBmdW5jdGlvbmFsaXR5IGlzIG5vdCBwcmVzZW50IGluIHVjbGliYworREVTQ1JJUFRJT04gPSAiTklTIFNlcnZlciBhbmQgVG9vbHMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmxpbnV4LW5pcy5vcmcvbmlzLyIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJHUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnCisKKyMgaW5zdGFsbCBpcyBicm9rZW4gYmVjYXVzZSBzcmMvTWFrZWZpbGUgaGVyb2ljYWxseSBhZGRzICctcycKKyMgdG8gdGhlIGluc3RhbGwgZmxhZ3MgLSBwYXNzaW5nIC1zIHRvIHRoZSBidWlsZCAvdXNyL2Jpbi9pbnN0YWxsIQorIyBpbnN0YWxsLXN0cmlwIGdldHMgaXQgcmlnaHQgYnV0IGluc3RhbGxzIHlwYmluZCAtbSA8ZGVmYXVsdD4sCisjIG5vdCAtbSA1NTUuICBJbiBhbiBPRSBidWlsZCB0aGlzIGlzIG5vdCwgc28gZmFyIGFzIEkgY2FuIHNlZSwKKyMgYSBzZWN1cml0eSBwcm9ibGVtIChhbmQgdGhpcyBmaXggdG8gdGhlIGJ1aWxkIHByb2JsZW0gaXMgKm11Y2gqCisjIGVhc2llciBhbmQgbW9yZSBtYWludGFpbmFibGUuKQorZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwtc3RyaXAKK30KKworIyBBbiBhdHRlbXB0IHRvIGJ1aWxkIG9uIHVjbGliYyB3aWxsIGZhaWwsIGNhdXNpbmcgYW5ub3lhbmNlLAorIyBzbyBmb3JjZSB0aGUgcGFja2FnZSB0byBiZSBza2lwcGVkIGhlcmUgKHRoaXMgd2lsbCBjYXVzZSBhCisjICdub3RoaW5nIHByb3ZpZGVzJyBlcnJvcikKK3B5dGhvbiAoKSB7CisgICAgb3MgPSBiYi5kYXRhLmdldFZhcigiVEFSR0VUX09TIiwgZCwgMSkKKyAgICBpZiBvcyA9PSAibGludXgtdWNsaWJjIjoKKyAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFBhY2thZ2UoIk5JUyBmdW5jdGlvbmFsaXR5IHJlcXVpcmVzIHJwY3N2Yy95cC5oLCB1Q2xpYkMgZG9lcyBub3QgcHJvdmlkZSB0aGlzIikKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uaXMveXAtdG9vbHMvZG9tYWlubmFtZS5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25pcy95cC10b29scy9kb21haW5uYW1lLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjFhYTkyYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uaXMveXAtdG9vbHMvZG9tYWlubmFtZS5zZXJ2aWNlCkBAIC0wLDAgKzEsMTIgQEAKK1tVbml0XQorRGVzY3JpcHRpb249TklTIERvbWFpbm5hbWUKKworW1NlcnZpY2VdCitUeXBlPW9uZXNob3QKK0Vudmlyb25tZW50RmlsZT0vZXRjL25pc2RvbWFpbm5hbWUKK0V4ZWNTdGFydD0vdXNyL2Jpbi9kb21haW5uYW1lICROSVNET01BSU5OQU1FCitSZW1haW5BZnRlckV4aXQ9dHJ1ZQorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uaXMveXAtdG9vbHMveXAtdG9vbHMtaXB2NC1pcHY2LVByb3ZpZGUtYW4taW4tcGxhY2UtdmVyc2lvbi1vZi1tYXB2NHY2YWRkci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uaXMveXAtdG9vbHMveXAtdG9vbHMtaXB2NC1pcHY2LVByb3ZpZGUtYW4taW4tcGxhY2UtdmVyc2lvbi1vZi1tYXB2NHY2YWRkci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZWY1NjlmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25pcy95cC10b29scy95cC10b29scy1pcHY0LWlwdjYtUHJvdmlkZS1hbi1pbi1wbGFjZS12ZXJzaW9uLW9mLW1hcHY0djZhZGRyLnBhdGNoCkBAIC0wLDAgKzEsMTEwIEBACitGcm9tIGExZWYxMGQ2M2IwZWEzNGM3ODhkNTQzMmU5NGM3MmIwMGFlNTVlMDQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb2UgTWFjRG9uYWxkIDxqb2VfbWFjZG9uYWxkQG1lbnRvci5jb20+CitEYXRlOiBGcmksIDI3IEZlYiAyMDE1IDEyOjA0OjEwIC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIGlwdjQvaXB2NjogUHJvdmlkZSBhbiBpbi1wbGFjZSB2ZXJzaW9uIG9mIG1hcHY0djZhZGRyLmgKKworbWFwdjR2NmFkZHIuaCBpc24ndCBhbHdheXMgYXZhaWxhYmxlLCBkZXBlbmRpbmcgb24geW91ciBidWlsZCwgYnV0CituaXMtaG9zdHMuYyBvbmx5IG5lZWRzIGl0IGZvciBhIHNpbmdsZSwgaW5saW5lIGZ1bmN0aW9uLiAgU28gZHJvcCBhIGNvcHkKK2hlcmUgcmF0aGVyIHRoYW4gcGxheWluZyBnYW1lcyB3aXRoIHRoZSBpbmNsdWRlIHBhdGggdGhhdCB3b3VsZAorcG90ZW50aWFsbHkgbGVhZCB0byBjcm9zcy1jb21waWxhdGlvbiBpc3N1ZXMuCisKK1Vwc3RyZWFtLXN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEpvZSBNYWNEb25hbGQgPGpvZV9tYWNkb25hbGRAbWVudG9yLmNvbT4KKy0tLQorIG5zc19uaXM2L21hcHY0djZhZGRyLmggfCA2OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIG5zc19uaXM2L25pcy1ob3N0cy5jICAgfCAgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgNzAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBuc3NfbmlzNi9tYXB2NHY2YWRkci5oCisKK2RpZmYgLS1naXQgYS9uc3NfbmlzNi9tYXB2NHY2YWRkci5oIGIvbnNzX25pczYvbWFwdjR2NmFkZHIuaAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjdmODVmN2QKKy0tLSAvZGV2L251bGwKKysrKyBiL25zc19uaXM2L21hcHY0djZhZGRyLmgKK0BAIC0wLDAgKzEsNjkgQEAKKysvKgorKyAqICsrQ29weXJpZ2h0KysgMTk4NSwgMTk4OCwgMTk5MworKyAqIC0KKysgKiBDb3B5cmlnaHQgKGMpIDE5ODUsIDE5ODgsIDE5OTMKKysgKiAgICBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKysgKgorKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworKyAqIGFyZSBtZXQ6CisrICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKysgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisrICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKysgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisrICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKysgKiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorKyAqCisrICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKysgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKysgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisrICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKysgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKysgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKysgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisrICogU1VDSCBEQU1BR0UuCisrICogLQorKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMTk5MyBieSBEaWdpdGFsIEVxdWlwbWVudCBDb3Jwb3JhdGlvbi4KKysgKgorKyAqIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueQorKyAqIHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZCwgcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUKKysgKiBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIGFwcGVhciBpbiBhbGwgY29waWVzLCBhbmQgdGhhdAorKyAqIHRoZSBuYW1lIG9mIERpZ2l0YWwgRXF1aXBtZW50IENvcnBvcmF0aW9uIG5vdCBiZSB1c2VkIGluIGFkdmVydGlzaW5nIG9yCisrICogcHVibGljaXR5IHBlcnRhaW5pbmcgdG8gZGlzdHJpYnV0aW9uIG9mIHRoZSBkb2N1bWVudCBvciBzb2Z0d2FyZSB3aXRob3V0CisrICogc3BlY2lmaWMsIHdyaXR0ZW4gcHJpb3IgcGVybWlzc2lvbi4KKysgKgorKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiIEFORCBESUdJVEFMIEVRVUlQTUVOVCBDT1JQLiBESVNDTEFJTVMgQUxMCisrICogV0FSUkFOVElFUyBXSVRIIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFLCBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUworKyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUy4gICBJTiBOTyBFVkVOVCBTSEFMTCBESUdJVEFMIEVRVUlQTUVOVAorKyAqIENPUlBPUkFUSU9OIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCwgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwKKysgKiBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1IKKysgKiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUiBPVEhFUiBUT1JUSU9VUworKyAqIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUworKyAqIFNPRlRXQVJFLgorKyAqIC0KKysgKiAtLUNvcHlyaWdodC0tCisrICovCisrCisrI2luY2x1ZGUgPHN0cmluZy5oPgorKyNpbmNsdWRlIDxhcnBhL25hbWVzZXIuaD4KKysKKytzdGF0aWMgdm9pZAorK21hcF92NHY2X2FkZHJlc3MgKGNvbnN0IGNoYXIgKnNyYywgY2hhciAqZHN0KQorK3sKKysgIHVfY2hhciAqcCA9ICh1X2NoYXIgKikgZHN0OworKyAgaW50IGk7CisrCisrICAvKiBNb3ZlIHRoZSBJUHY0IHBhcnQgdG8gdGhlIHJpZ2h0IHBvc2l0aW9uLiAgKi8KKysgIG1lbWNweSAoZHN0ICsgMTIsIHNyYywgSU5BRERSU1opOworKworKyAgLyogTWFyayB0aGlzIGlwdjYgYWRkciBhcyBhIG1hcHBlZCBpcHY0LiAqLworKyAgZm9yIChpID0gMDsgaSA8IDEwOyBpKyspCisrICAgICpwKysgPSAweDAwOworKyAgKnArKyA9IDB4ZmY7CisrICAqcCA9IDB4ZmY7CisrfQorZGlmZiAtLWdpdCBhL25zc19uaXM2L25pcy1ob3N0cy5jIGIvbnNzX25pczYvbmlzLWhvc3RzLmMKK2luZGV4IGFmOTljNzQuLjk2ZDhmYTEgMTAwNjQ0CistLS0gYS9uc3NfbmlzNi9uaXMtaG9zdHMuYworKysrIGIvbnNzX25pczYvbmlzLWhvc3RzLmMKK0BAIC0zNiw3ICszNiw3IEBACisgI2luY2x1ZGUgIm5zcy1uaXM2LmgiCisgCisgLyogR2V0IGltcGxlbWVudGF0aW9uIGZvciBzb21lIGludGVybmFsIGZ1bmN0aW9ucy4gKi8KKy0jaW5jbHVkZSA8cmVzb2x2L21hcHY0djZhZGRyLmg+CisrI2luY2x1ZGUgIm1hcHY0djZhZGRyLmgiCisgCisgI2RlZmluZSBFTlROQU1FICAgICAgICAgaG9zdGVudAorICNkZWZpbmUgREFUQUJBU0UgICAgICAgICJob3N0cyIKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25pcy95cC10b29sc18yLjE0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25pcy95cC10b29sc18yLjE0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjNjgzN2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmlzL3lwLXRvb2xzXzIuMTQuYmIKQEAgLTAsMCArMSwzNCBAQAorIyBUaGlzIHBhY2thZ2UgYnVpbGRzIHRvb2xzIHRvIG1hbmFnZSBOSVMKKyMgVGhlIHNvdXJjZSBwYWNrYWdlIGlzIHV0aWxzL25ldC9OSVMveXAtdG9vbHMKKyMKK3JlcXVpcmUgbmlzLmluYworCitTVU1NQVJZID0gIk5JUyBjbGllbnQgcHJvZ3JhbXMiCitERVNDUklQVElPTiA9ICIgXAorTmV0d29yayBJbmZvcm1hdGlvbiBTZXJ2aWNlIHRvb2xzLiAgXAorVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHlwY2F0LCB5cG1hdGNoLCB5cHNldCwgXAoreXB3aGljaCwgeXBwYXNzd2QsIGRvbWFpbm5hbWUsIG5pc2RvbWFpbm5hbWUgXAorYW5kIHlwZG9tYWlubmFtZS4gXAorXAorVGhpcyBpcyB0aGUgZmluYWwgSVB2NC1vbmx5IHZlcnNpb24gb2YgeXAtdG9vbHMuIFwKKyIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmxpbnV4LW5pcy5vcmcvZG93bmxvYWQveXAtdG9vbHMvJHtCUH0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9kb21haW5uYW1lLnNlcnZpY2UgXAorIgorU1JDX1VSSVttZDVzdW1dID0gImJhMWYxMjFjMTdlM2FkNjUzNjhiZTE3M2I5NzdjZDEzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQwMWY3MGZhZGM2NDNhNTUxMDdhMGVkYzQ3YzZiZTk5ZDAzMDZiY2M0ZjY2ZGY1NmY2NWU3NDIzOGIwMTI0YzkiCisKK2luaGVyaXQgc3lzdGVtZAorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImRvbWFpbm5hbWUuc2VydmljZSIKKworUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKKworQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImFjX2N2X3Byb2dfU1RSSVA9L2Jpbi90cnVlIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZG9tYWlubmFtZS5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmlzL3lwLXRvb2xzXzMuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uaXMveXAtdG9vbHNfMy4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4OWYwYjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmlzL3lwLXRvb2xzXzMuMy5iYgpAQCAtMCwwICsxLDQ4IEBACisjIFRoaXMgcGFja2FnZSBidWlsZHMgdG9vbHMgdG8gbWFuYWdlIE5JUworIyBUaGUgc291cmNlIHBhY2thZ2UgaXMgdXRpbHMvbmV0L05JUy95cC10b29scworIworcmVxdWlyZSBuaXMuaW5jCisKK1NVTU1BUlkgPSAiTklTIGNsaWVudCBwcm9ncmFtcyIKK0RFU0NSSVBUSU9OID0gIiBcCitOZXR3b3JrIEluZm9ybWF0aW9uIFNlcnZpY2UgdG9vbHMuICBcCitUaGlzIHBhY2thZ2UgY29udGFpbnMgeXBjYXQsIHlwbWF0Y2gsIHlwc2V0LCBcCit5cHdoaWNoLCB5cHBhc3N3ZCwgZG9tYWlubmFtZSwgbmlzZG9tYWlubmFtZSBcCithbmQgeXBkb21haW5uYW1lLiBcCisiCisKK1BOQkxBQ0tMSVNUW3lwLXRvb2xzXSA/PSAiQlJPS0VOOiBmYWlscyB0byBidWlsZCBmb3IgcWVtdWFybS4iCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5saW51eC1uaXMub3JnL2Rvd25sb2FkL3lwLXRvb2xzLyR7QlB9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vZG9tYWlubmFtZS5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL3lwLXRvb2xzLWlwdjQtaXB2Ni1Qcm92aWRlLWFuLWluLXBsYWNlLXZlcnNpb24tb2YtbWFwdjR2NmFkZHIucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImFjZWJlZWNjMTFhNzNmYjgwOTc1MDM2NzAzNDQ4MzRjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjgxMmJlODE3ZGYzZDRjMjU4MTM1NTJiZTMzNmM2YzZhZDVhZWRhZjY1NjExYjgxYWYzYWQ5Zjk4ZmIzYzJlNTAiCisKK0RFUEVORFMgPSAibGlidGlycGMiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHN5c3RlbWQKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJkb21haW5uYW1lLnNlcnZpY2UiCisKK1JQUk9WSURFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCisKK0NBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJhY19jdl9wcm9nX1NUUklQPS9iaW4vdHJ1ZSIKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXJwYXRoIFwKKyAgICAgICAgICAgICAgICAtLWxpYmRpcj0ke2xpYmRpcn0veXAtbmlzLyBcCisgICAgICAgICAgICAgICAgLS1pbmNsdWRlZGlyPSR7aW5jbHVkZWRpcn0veXAtbmlzLyBcCisgICAgICAgICAgICAgICAiCisKK0ZJTEVTXyR7UE59ICs9ICIgJHtsaWJkaXJ9L3lwLW5pcy8qLnNvLiouKiAke2xpYmRpcn0veXAtbmlzL3BrZ2NvbmZpZy8iCitGSUxFU18ke1BOfS1kYmcgKz0gIiAke2xpYmRpcn0veXAtbmlzLy5kZWJ1ZyIKK0ZJTEVTXyR7UE59LWRldiArPSAiICR7bGliZGlyfS95cC1uaXMvKi5zbyAke2xpYmRpcn0veXAtbmlzLyouc28uWzEyXSAke2xpYmRpcn0veXAtbmlzLyoubGEiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiAke2xpYmRpcn0veXAtbmlzLyouYSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2RvbWFpbm5hbWUuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25pcy95cGJpbmQtbXQveXBiaW5kLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmlzL3lwYmluZC1tdC95cGJpbmQuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjhkZjQyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25pcy95cGJpbmQtbXQveXBiaW5kLnNlcnZpY2UKQEAgLTAsMCArMSwxNCBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1ZUCBCaW5kCitSZXF1aXJlcz1kb21haW5uYW1lLnNlcnZpY2UKK0FmdGVyPWRvbWFpbm5hbWUuc2VydmljZSBuZXR3b3JrLnRhcmdldAorQmVmb3JlPXN5c3RlbWQtdXNlci1zZXNzaW9ucy5zZXJ2aWNlCisKK1tTZXJ2aWNlXQorVHlwZT1mb3JraW5nCitQSURGaWxlPS92YXIvcnVuL3lwYmluZC5waWQKK0V4ZWNTdGFydD0vdXNyL3NiaW4veXBiaW5kCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25pcy95cGJpbmQtbXRfMS4zOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uaXMveXBiaW5kLW10XzEuMzguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDExM2I4MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uaXMveXBiaW5kLW10XzEuMzguYmIKQEAgLTAsMCArMSw1OCBAQAorIyBUaGlzIHBhY2thZ2UgYnVpbGRzIHRoZSBOSVMgeXBiaW5kIGRhZW1vbgorIyBUaGUgc291cmNlIHBhY2thZ2UgaXMgdXRpbHMvbmV0L05JUy95cGJpbmQtbXQKKyMKK3JlcXVpcmUgbmlzLmluYworCitERVNDUklQVElPTiA9ICIgXAorTXVsdGl0aHJlYWRlZCBOSVMgYmluZCBzZXJ2aWNlICh5cGJpbmQtbXQpLiAgXAoreXBiaW5kLW10IGlzIGEgY29tcGxldGUgbmV3IGltcGxlbWVudGF0aW9uIG9mIGEgTklTIFwKK2JpbmRpbmcgZGFlbW9uIGZvciBMaW51eC4gSXQgaGFzIHRoZSBmb2xsb3dpbmcgXAorZmVhdHVyZXMuICBTdXBwb3J0cyB5cGJpbmQgcHJvdG9jb2wgVjEgYW5kIFYyLiAgXAorVXNlcyB0aHJlYWRzIGZvciBiZXR0ZXIgcmVzcG9uc2UuICBTdXBwb3J0cyBtdWx0aXBsZSBcCitkb21haW4gYmluZGluZ3MuICBTdXBwb3J0cyAvdmFyL3lwL2JpbmRpbmcvKiBmaWxlIFwKK2ZvciBMaW51eCBsaWJjIDQvNSBhbmQgZ2xpYmMgMi54LiAgU3VwcG9ydHMgYSBsaXN0IFwKK29mIGtub3duIHNlY3VyZSBOSVMgc2VydmVyICgvZXRjL3lwLmNvbmYpIEJpbmRzIHRvIFwKK3RoZSBzZXJ2ZXIgd2hpY2ggYW5zd2VyZWQgYXMgZmlyc3QuIFwKK1wKK1RoaXMgaXMgdGhlIGZpbmFsIElQdjQtb25seSB2ZXJzaW9uIG9mIHlwYmluZC1tdC4gXAorIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5saW51eC1uaXMub3JnL25pcy95cGJpbmQtbXQvaW5kZXguaHRtbCIKK0RFUEVORFMgPSAiIFwKKyAgICAgICAgICAgeXAtdG9vbHMgXAorICAgICAgICAgICAke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICdzeXN0ZW1kJywgJycsIGQpfSBcCisgICAgICAgICAgIgorUkRFUEVORFNfJHtQTn0gKz0gInlwLXRvb2xzIgorCisjIHlwYmluZC1tdCBub3cgcHJvdmlkZXMgYWxsIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHlwYmluZAorIyBhbmQgaXMgdXNlZCBpbiBwbGFjZSBvZiBpdC4KK1BST1ZJREVTICs9ICJ5cGJpbmQiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5saW51eC1uaXMub3JnL2Rvd25sb2FkL3lwYmluZC1tdC8ke0JQfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL3lwYmluZC5pbml0IFwKKyAgICAgICAgICAgZmlsZTovL3lwYmluZC5zZXJ2aWNlIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICIwOTQwODhjMGUyODJmYTdmM2IzZGQ2Y2M1MWQwYTRlMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxOTMwY2UxOWY2Y2NmZTEwNDAwZjM0OTdiMzE4NjdmNzE2OTBkMmJjZDNmNWI1NzUxOTlmYTkxNTU1OWI3NzQ2IgorCitpbmhlcml0IHN5c3RlbWQgdXBkYXRlLXJjLmQKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInlwYmluZC5zZXJ2aWNlIgorSU5JVFNDUklQVF9OQU1FID0gInlwYmluZCIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDQ0IDMgNSAuIHN0b3AgNzAgMCAxIDIgNiAuIgorCitDQUNIRURfQ09ORklHVVJFVkFSUyA9ICJhY19jdl9wcm9nX1NUUklQPS9iaW4vdHJ1ZSIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9yY1MuZAorCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0veXBiaW5kLmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3lwYmluZAorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3lwYmluZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCit9CisKKworUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uaXMveXBiaW5kLW10XzIuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uaXMveXBiaW5kLW10XzIuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZWU1ODgwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25pcy95cGJpbmQtbXRfMi4yLmJiCkBAIC0wLDAgKzEsNTMgQEAKKyMgVGhpcyBwYWNrYWdlIGJ1aWxkcyB0aGUgTklTIHlwYmluZCBkYWVtb24KKyMgVGhlIHNvdXJjZSBwYWNrYWdlIGlzIHV0aWxzL25ldC9OSVMveXBiaW5kLW10CisjCityZXF1aXJlIG5pcy5pbmMKKworREVTQ1JJUFRJT04gPSAiIFwKK011bHRpdGhyZWFkZWQgTklTIGJpbmQgc2VydmljZSAoeXBiaW5kLW10KS4gIFwKK3lwYmluZC1tdCBpcyBhIGNvbXBsZXRlIG5ldyBpbXBsZW1lbnRhdGlvbiBvZiBhIE5JUyBcCitiaW5kaW5nIGRhZW1vbiBmb3IgTGludXguIEl0IGhhcyB0aGUgZm9sbG93aW5nIFwKK2ZlYXR1cmVzLiAgU3VwcG9ydHMgeXBiaW5kIHByb3RvY29sIFYxIGFuZCBWMi4gIFwKK1VzZXMgdGhyZWFkcyBmb3IgYmV0dGVyIHJlc3BvbnNlLiAgU3VwcG9ydHMgbXVsdGlwbGUgXAorZG9tYWluIGJpbmRpbmdzLiAgU3VwcG9ydHMgL3Zhci95cC9iaW5kaW5nLyogZmlsZSBcCitmb3IgTGludXggbGliYyA0LzUgYW5kIGdsaWJjIDIueC4gIFN1cHBvcnRzIGEgbGlzdCBcCitvZiBrbm93biBzZWN1cmUgTklTIHNlcnZlciAoL2V0Yy95cC5jb25mKSBCaW5kcyB0byBcCit0aGUgc2VydmVyIHdoaWNoIGFuc3dlcmVkIGFzIGZpcnN0LiBcCisiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmxpbnV4LW5pcy5vcmcvbmlzL3lwYmluZC1tdC9pbmRleC5odG1sIgorREVQRU5EUyA9ICJ5cC10b29scyAke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICdzeXN0ZW1kJywgJycsIGQpfSIKK1BST1ZJREVTICs9ICJ5cGJpbmQiCisKK1BOQkxBQ0tMSVNUW3lwYmluZC1tdF0gPz0gIkJST0tFTjogRGVwZW5kcyBvbiBicm9rZW4geXAtdG9vbHMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5saW51eC1uaXMub3JnL2Rvd25sb2FkL3lwYmluZC1tdC8ke0JQfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL3lwYmluZC5pbml0IFwKKyAgICAgICAgICAgZmlsZTovL3lwYmluZC5zZXJ2aWNlIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1NGUyMDQwZDgyNjZhZTdkMzAyZDA4MWNhMzEwYzhhOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkYzJmN2Q5N2M5NGRjYWIwYWNmZGNkMTE1Y2Q4YjQ2NGViOGM0MjdlNGJiMGZlNjg0MDRhZTc0NjVmNTE3Y2QzIgorCitpbmhlcml0IHN5c3RlbWQgdXBkYXRlLXJjLmQKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInlwYmluZC5zZXJ2aWNlIgorSU5JVFNDUklQVF9OQU1FID0gInlwYmluZCIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDQ0IDMgNSAuIHN0b3AgNzAgMCAxIDIgNiAuIgorCitDQUNIRURfQ09ORklHVVJFVkFSUyA9ICJhY19jdl9wcm9nX1NUUklQPS9iaW4vdHJ1ZSIKKworRVhUUkFfT0VDT05GID0gIlBLR19DT05GSUdfUEFUSD0nJHtTVEFHSU5HX0xJQkRJUn0veXAtbmlzL3BrZ2NvbmZpZy8nIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3JjUy5kCisKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS95cGJpbmQuaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQveXBiaW5kCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0veXBiaW5kLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KK30KKworCitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250aW1lZC9udGltZWQvdXNlLWxkZmxhZ3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRpbWVkL250aW1lZC91c2UtbGRmbGFncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44N2E3Nzc4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250aW1lZC9udGltZWQvdXNlLWxkZmxhZ3MucGF0Y2gKQEAgLTAsMCArMSwxNiBAQAorT2JleSBMREZMQUdTLgorCitTaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGhlciBMYXJzb24gPGtlcmdvdGhAZ21haWwuY29tPgorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKKy0tLSBOdGltZWQub3JpZy9jb25maWd1cmUJMjAxNS0wNS0zMCAxMTo1Nzo1OS45Mjc3OTY5OTMgLTA3MDAKKysrKyBOdGltZWQvY29uZmlndXJlCTIwMTUtMDUtMzAgMTE6NTg6MjYuMTQzOTQ4ODk0IC0wNzAwCitAQCAtMTQyLDcgKzE0Miw3IEBACisgCisgCWVjaG8KKyAJZWNobyAibnRpbWVkLWNsaWVudDoJJHtsfSIKKy0JZWNobyAiCVwke0NDfSBcJHtDRkxBR1N9IC1vIG50aW1lZC1jbGllbnQgJHtsfSAtbG0iCisrCWVjaG8gIglcJHtDQ30gXCR7Q0ZMQUdTfSAtbyBudGltZWQtY2xpZW50ICR7bH0gXCR7TERGTEFHU30gLWxtIgorIAllY2hvCisgCWVjaG8gImNsZWFuOiIKKyAJZWNobyAiCXJtIC1mICR7bH0gbnRpbWVkLWNsaWVudCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9udGltZWQvbnRpbWVkX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9udGltZWQvbnRpbWVkX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYWM1NjE3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250aW1lZC9udGltZWRfZ2l0LmJiCkBAIC0wLDAgKzEsNDEgQEAKK1NVTU1BUlkgPSAiTmV0d29yayB0aW1lIHN5bmNocm9uaXphdGlvbiBzb2Z0d2FyZSwgTlRQRCByZXBsYWNlbWVudCIKK0RFU0NSSVBUSU9OID0gIlRoaXMgaXMgYSBwcmV2aWV3L2Vhcmx5LWFjY2Vzcy9hbHBoYS9idXp6d29yZC1vZi10aGUtdGltZXMgXAorcmVsZWFzZSBvZiBhIG5ldyBGT1NTIHByb2plY3Qgd3JpdHRlbiB0byBncmFkdWFsbHkgdGFrZSBvdmVyIHRoZSB3b3JsZCBvZiBcCituZXR3b3JrZWQgdGltZWtlZXBpbmcuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2JzZHBoay9OdGltZWQiCitTRUNUSU9OID0gIm5ldCIKKworTElDRU5TRSA9ICJCU0QtMi1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9tYWluLmM7c3RhcnRsaW5lPTI7ZW5kbGluZT0yNDttZDU9ZWRhMTFkMjEwMDUzMTliYjc2Y2JiNmY5MTFmMGY2NmQiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9ic2RwaGsvTnRpbWVkIFwKKyAgICAgICAgICAgZmlsZTovL3VzZS1sZGZsYWdzLnBhdGNoIgorCitQViA9ICIwLjArZ2l0JHtTUkNQVn0iCitTUkNSRVYgPSAiZGIwYWJiYjRjODBmMmVjZWY2YmM1ZDk2MzliY2E1YmVhMjg1MzJhMiIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworRVhUUkFfT0VNQUtFID0gIlwKKyAgICAnQ0M9JHtDQ30nIFwKKyAgICAnQ0ZMQUdTPSR7Q0ZMQUdTfScgXAorICAgICdMREZMQUdTPSR7TERGTEFHU30nIFwKKyIKKworZG9fY29uZmlndXJlICgpIHsKKyAgICBzaCAuL2NvbmZpZ3VyZQorfQorCitkb19jb21waWxlICgpIHsKKyAgICBvZV9ydW5tYWtlCit9CisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLUQgLW0gMDc1NSBudGltZWQtY2xpZW50ICR7RH0ke3NiaW5kaXJ9L250aW1lZC1jbGllbnQKK30KKworQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKK1JERVBFTkRTXyR7UE59ICs9ICJudGltZWQtY2xpZW50IgorCitQQUNLQUdFX0JFRk9SRV9QTiArPSAibnRpbWVkLWNsaWVudCIKK0ZJTEVTX250aW1lZC1jbGllbnQgPSAiJHtzYmluZGlyfS9udGltZWQtY2xpZW50IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250cC9udHAvbnRwLTQuMi40X3A2LW5hbm8ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRwL250cC9udHAtNC4yLjRfcDYtbmFuby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjFlMmY3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250cC9udHAvbnRwLTQuMi40X3A2LW5hbm8ucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorLS0tIGEvaW5jbHVkZS9udHBfc3lzY2FsbC5oLm9yaWcJMjAwOS0wNS0xOSAxNjo0NDo1NS4wNDgxNTY0NjcgLTA0MDAKKysrKyBiL2luY2x1ZGUvbnRwX3N5c2NhbGwuaAkyMDA5LTA1LTE5IDE2OjQ2OjE5LjI5MzMyMzY4NiAtMDQwMAorQEAgLTE0LDYgKzE0LDE0IEBACisgIyBpbmNsdWRlIDxzeXMvdGltZXguaD4KKyAjZW5kaWYKKyAKKysjaWYgZGVmaW5lZChBREpfTkFOTykgJiYgIWRlZmluZWQoTU9EX05BTk8pCisrI2RlZmluZSBNT0RfTkFOTyBBREpfTkFOTworKyNlbmRpZgorKworKyNpZiBkZWZpbmVkKEFESl9UQUkpICYmICFkZWZpbmVkKE1PRF9UQUkpCisrI2RlZmluZSBNT0RfVEFJIEFESl9UQUkKKysjZW5kaWYKKysKKyAjaWZuZGVmIE5UUF9TWVNDQUxMU19MSUJDCisgI2lmZGVmIE5UUF9TWVNDQUxMU19TVEQKKyAjIGRlZmluZSBudHBfYWRqdGltZSh0KQkJc3lzY2FsbChTWVNfbnRwX2FkanRpbWUsICh0KSkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9udHAvbnRwL250cC5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250cC9udHAvbnRwLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjc2ZTE4NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9udHAvbnRwL250cC5jb25mCkBAIC0wLDAgKzEsMTcgQEAKKyMgVGhpcyBpcyB0aGUgbW9zdCBiYXNpYyBudHAgY29uZmlndXJhdGlvbiBmaWxlCisjIFRoZSBkcmlmdGZpbGUgbXVzdCByZW1haW4gaW4gYSBwbGFjZSBzcGVjaWZpYyB0byB0aGlzCisjIG1hY2hpbmUgLSBpdCByZWNvcmRzIHRoZSBtYWNoaW5lIHNwZWNpZmljIGNsb2NrIGVycm9yCitkcmlmdGZpbGUgL3Zhci9saWIvbnRwL2RyaWZ0CisjIFRoaXMgc2hvdWxkIGJlIGEgc2VydmVyIHRoYXQgaXMgY2xvc2UgKGluIElQIHRlcm1zKQorIyB0byB0aGUgbWFjaGluZS4gIEFkZCBvdGhlciBzZXJ2ZXJzIGFzIHJlcXVpcmVkLgorIyBVbmxlc3MgeW91IHVuLWNvbW1lbnQgdGhlIGxpbmUgYmVsb3cgbnRwZCB3aWxsIHN5bmMKKyMgb25seSBhZ2FpbnN0IHRoZSBsb2NhbCBzeXN0ZW0gY2xvY2suCisjCisjIHNlcnZlciB0aW1lLnNlcnZlci5leGFtcGxlLmNvbQorIworIyBVc2luZyBsb2NhbCBoYXJkd2FyZSBjbG9jayBhcyBmYWxsYmFjaworIyBEaXNhYmxlIHRoaXMgd2hlbiB1c2luZyBudHBkIC1xIC1nIC14IGFzIG50cGRhdGUgb3IgaXQgd2lsbCBzeW5jIHRvIGl0c2VsZgorc2VydmVyIDEyNy4xMjcuMS4wCitmdWRnZSAxMjcuMTI3LjEuMCBzdHJhdHVtIDE0CisjIERlZmluaW5nIGEgZGVmYXVsdCBzZWN1cml0eSBzZXR0aW5nCityZXN0cmljdCBkZWZhdWx0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRwL250cC9udHBkIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250cC9udHAvbnRwZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kMWI5YzQ5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250cC9udHAvbnRwZApAQCAtMCwwICsxLDg0IEBACisjISAvYmluL3NoCisKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6ICAgICAgICBudHAKKyMgUmVxdWlyZWQtU3RhcnQ6ICAkbmV0d29yayAkcmVtb3RlX2ZzICRzeXNsb2cKKyMgUmVxdWlyZWQtU3RvcDogICAkbmV0d29yayAkcmVtb3RlX2ZzICRzeXNsb2cKKyMgRGVmYXVsdC1TdGFydDogICAyIDMgNCA1CisjIERlZmF1bHQtU3RvcDoKKyMgU2hvcnQtRGVzY3JpcHRpb246IFN0YXJ0IE5UUCBkYWVtb24KKyMjIyBFTkQgSU5JVCBJTkZPCisKK1BBVEg9L3NiaW46L2JpbjovdXNyL2JpbjovdXNyL3NiaW4KKworREFFTU9OPS91c3Ivc2Jpbi9udHBkCitQSURGSUxFPS92YXIvcnVuL250cGQucGlkCisKKyMgbnRwZAlpbml0LmQgc2NyaXB0IGZvciBudHBkYyBmcm9tIG50cC5pc2Mub3JnCit0ZXN0IC14ICREQUVNT04gLWEgLXIgL2V0Yy9udHAuY29uZiB8fCBleGl0IDAKKworIyByY1MgY29udGFpbnMgVElDS0FESgordGVzdCAtciAvZXRjL2RlZmF1bHQvcmNTICYmIC4gL2V0Yy9kZWZhdWx0L3JjUworCisjIFNvdXJjZSBmdW5jdGlvbiBsaWJyYXJ5LgorLiAvZXRjL2luaXQuZC9mdW5jdGlvbnMKKworIyBGdW5jdGlvbnMgdG8gZG8gaW5kaXZpZHVhbCBhY3Rpb25zCitzZXR0aWNrKCl7CisgIAkjIElmIFRJQ0tBREogaXMgc2V0IHdlICptdXN0KiBhZGp1c3QgaXQgYmVmb3JlIHdlIHN0YXJ0LCBiZWNhdXNlIHRoZQorCSMgZHJpZnRmaWxlIHJlbGllcyBvbiB0aGUgY29ycmVjdCBzZXR0aW5nCisJdGVzdCAtbiAiJFRJQ0tBREoiIC1hIC14IC91c3Ivc2Jpbi90aWNrYWRqICYmIHsKKwkJZWNobyAtbiAiU2V0dGluZyB0aWNrIHRvICRUSUNLQURKOiAiCisJCS91c3Ivc2Jpbi90aWNrYWRqICIkVElDS0FESiIKKwkJZWNobyAiZG9uZSIKKwl9Cit9CitzdGFydGRhZW1vbigpeworCSMgVGhlIC1nIG9wdGlvbiBhbGxvd3MgbnRwZCB0byBzdGVwIHRoZSB0aW1lIHRvIGNvcnJlY3QgaXQganVzdAorCSMgb25jZS4gIFRoZSBkYWVtb24gd2lsbCBleGl0IGlmIHRoZSBjbG9jayBkcmlmdHMgdG9vIG11Y2ggYWZ0ZXIKKwkjIHRoaXMuICBJZiBudHBkIHNlZW1zIHRvIGRpc2FwcGVhciBhZnRlciBhIHdoaWxlIGFzc3VtZSBUSUNLQURKCisJIyBhYm92ZSBpcyBzZXQgdG8gYSB0b3RhbGx5IGluY29ycmVjdCB2YWx1ZS4KKwllY2hvIC1uICJTdGFydGluZyBudHBkOiAiCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tb2tub2RvIC0tcGlkZmlsZSAkUElERklMRSAtLXN0YXJ0YXMgJERBRU1PTiAtLSAtdSBudHA6bnRwIC1wICRQSURGSUxFICIkQCIKKwllY2hvICJkb25lIgorfQorc3RvcGRhZW1vbigpeworCWVjaG8gLW4gIlN0b3BwaW5nIG50cGQ6ICIKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLW9rbm9kbyAtcCAkUElERklMRQorCWVjaG8gImRvbmUiCit9CisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKyAgCXNldHRpY2sKKwlzdGFydGRhZW1vbiAtZworCTs7CisgIHN0b3ApCisgIAlzdG9wZGFlbW9uCisJOzsKKyAgZm9yY2UtcmVsb2FkKQorICAJc3RvcGRhZW1vbgorICAJc2V0dGljaworCXN0YXJ0ZGFlbW9uIC1nCisJOzsKKyAgcmVzdGFydCkKKyAgCSMgRG9uJ3QgcmVzZXQgdGhlIHRpY2sgaGVyZQorCXN0b3BkYWVtb24KKwlzdGFydGRhZW1vbiAtZworCTs7CisgIHJlbG9hZCkKKyAgCSMgTXVzdCBkbyB0aGlzIGJ5IGhhbmQsIGJ1dCBkb24ndCBkbyAtZworCXN0b3BkYWVtb24KKwlzdGFydGRhZW1vbgorCTs7CisgIHN0YXR1cykKKwlzdGF0dXMgL3Vzci9zYmluL250cGQ7CisJZXhpdCAkPworCTs7CisgICopCisJZWNobyAiVXNhZ2U6IG50cGQgeyBzdGFydCB8IHN0b3AgfCBzdGF0dXMgfCByZXN0YXJ0IHwgcmVsb2FkIH0iID4mMgorCWV4aXQgMQorCTs7Citlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250cC9udHAvbnRwZC5saXN0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250cC9udHAvbnRwZC5saXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxZmU2YjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRwL250cC9udHBkLmxpc3QKQEAgLTAsMCArMSBAQAorbnRwZC5zZXJ2aWNlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRwL250cC9udHBkLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRwL250cC9udHBkLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGUzZDdjZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9udHAvbnRwL250cGQuc2VydmljZQpAQCAtMCwwICsxLDExIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPU5ldHdvcmsgVGltZSBTZXJ2aWNlCitBZnRlcj1uZXR3b3JrLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworUElERmlsZT0vcnVuL250cGQucGlkCitFeGVjU3RhcnQ9L3Vzci9zYmluL250cGQgLXUgbnRwOm50cCAtcCAvcnVuL250cGQucGlkIC1nCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9udHAvbnRwL250cGRhdGUgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRwL250cC9udHBkYXRlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE3YjY0ZDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRwL250cC9udHBkYXRlCkBAIC0wLDAgKzEsNTQgQEAKKyMhL2Jpbi9zaAorCitQQVRIPS9zYmluOi9iaW46L3Vzci9iaW46L3Vzci9zYmluCisKK3Rlc3QgLXggL3Vzci9zYmluL250cGRhdGUgfHwgZXhpdCAwCisKK2lmIHRlc3QgLWYgL2V0Yy9kZWZhdWx0L250cGRhdGUgOyB0aGVuCisuIC9ldGMvZGVmYXVsdC9udHBkYXRlCitmaQorCitpZiBbICIkTlRQU0VSVkVSUyIgPSAiIiBdIDsgdGhlbgorCWlmIFsgIiRNRVRIT0QiID0gIiIgLWEgIiQxIiAhPSAic2lsZW50IiBdIDsgdGhlbgorCQllY2hvICJQbGVhc2Ugc2V0IE5UUFNFUlZFUlMgaW4gL2V0Yy9kZWZhdWx0L250cGRhdGUiCisJCWV4aXQgMQorCWVsc2UKKwkJZXhpdCAwCisJZmkKK2ZpCisKKyMgVGhpcyBpcyBhIGhldXJpc3RpYzogIFRoZSBpZGVhIGlzIHRoYXQgaWYgYSBzdGF0aWMgaW50ZXJmYWNlIGlzIGJyb3VnaHQKKyMgdXAsIHRoYXQgaXMgYSBtYWpvciBldmVudCwgYW5kIHdlIGNhbiBwdXQgaW4gc29tZSBleHRyYSBlZmZvcnQgdG8gZml4CisjIHRoZSBzeXN0ZW0gdGltZS4gIEZlZWwgZnJlZSB0byBjaGFuZ2UgdGhpcywgZXNwZWNpYWxseSBpZiB5b3UgcmVndWxhcmx5CisjIGJyaW5nIHVwIG5ldyBuZXR3b3JrIGludGVyZmFjZXMuCitpZiBbICIkTUVUSE9EIiA9IHN0YXRpYyBdOyB0aGVuCisJT1BUUz0iLWIiCitmaQorCitpZiBbICIkTUVUSE9EIiA9IGxvb3BiYWNrIF07IHRoZW4KKwlleGl0IDAKK2ZpCisKKygKKworTE9DS0ZJTEU9L3Zhci9sb2NrL250cGRhdGUKKworIyBBdm9pZCBydW5uaW5nIG1vcmUgdGhhbiBvbmUgYXQgYSB0aW1lCitpZiBbIC14IC91c3IvYmluL2xvY2tmaWxlLWNyZWF0ZSBdOyB0aGVuCisJbG9ja2ZpbGUtY3JlYXRlICRMT0NLRklMRQorCWxvY2tmaWxlLXRvdWNoICRMT0NLRklMRSAmCisJTE9DS1RPVUNIUElEPSIkISIKK2ZpCisKK2lmIC91c3Ivc2Jpbi9udHBkYXRlIC1zICRPUFRTICROVFBTRVJWRVJTIDI+L2Rldi9udWxsOyB0aGVuCisJaWYgWyAiJFVQREFURV9IV0NMT0NLIiA9ICJ5ZXMiIF07IHRoZW4KKwkJaHdjbG9jayAtLXN5c3RvaGMgfHwgOgorCWZpCitmaQorCitpZiBbIC14IC91c3IvYmluL2xvY2tmaWxlLWNyZWF0ZSBdIDsgdGhlbgorCWtpbGwgJExPQ0tUT1VDSFBJRAorCWxvY2tmaWxlLXJlbW92ZSAkTE9DS0ZJTEUKK2ZpCisKKykgJgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250cC9udHAvbnRwZGF0ZS5kZWZhdWx0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250cC9udHAvbnRwZGF0ZS5kZWZhdWx0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4NmI2ZTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRwL250cC9udHBkYXRlLmRlZmF1bHQKQEAgLTAsMCArMSw3IEBACisjIENvbmZpZ3VyYXRpb24gc2NyaXB0IHVzZWQgYnkgbnRwZGF0ZS1zeW5jIHNjcmlwdAorCitOVFBTRVJWRVJTPSIiCisKKyMgU2V0IHRvICJ5ZXMiIHRvIHdyaXRlIHRpbWUgdG8gaGFyZHdhcmUgY2xvY2sgb24gc3VjY2VzcworVVBEQVRFX0hXQ0xPQ0s9Im5vIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRwL250cC9udHBkYXRlLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRwL250cC9udHBkYXRlLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTBjYmQ3MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9udHAvbnRwL250cGRhdGUuc2VydmljZQpAQCAtMCwwICsxLDExIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPU5ldHdvcmsgVGltZSBTZXJ2aWNlIChvbmUtc2hvdCBudHBkYXRlIG1vZGUpCitCZWZvcmU9bnRwZC5zZXJ2aWNlCisKK1tTZXJ2aWNlXQorVHlwZT1vbmVzaG90CitFeGVjU3RhcnQ9L3Vzci9iaW4vbnRwZGF0ZS1zeW5jIHNpbGVudAorUmVtYWluQWZ0ZXJFeGl0PXllcworCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRwL250cC9zbnRwIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250cC9udHAvc250cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOGM1ODk1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250cC9udHAvc250cApAQCAtMCwwICsxIEBACitOVFBTRVJWRVI9Im50cHNlcnZlci5leGFtcGxlLm9yZyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9udHAvbnRwL3NudHAuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9udHAvbnRwL3NudHAuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ODk4YjhhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250cC9udHAvc250cC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTEgQEAKK1tVbml0XQorRGVzY3JpcHRpb249U2ltcGxlIE5ldHdvcmsgVGltZSBTZXJ2aWNlIENsaWVudAorQWZ0ZXI9bmV0d29yay50YXJnZXQKKworW1NlcnZpY2VdCitUeXBlPW9uZXNob3QKK0Vudmlyb25tZW50RmlsZT0tL2V0Yy9kZWZhdWx0L3NudHAKK0V4ZWNTdGFydD0vdXNyL3NiaW4vc250cCAtcyAkTlRQU0VSVkVSCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9udHAvbnRwXzQuMi44cDcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRwL250cF80LjIuOHA3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmNGJhNjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRwL250cF80LjIuOHA3LmJiCkBAIC0wLDAgKzEsMTYwIEBACitTVU1NQVJZID0gIk5ldHdvcmsgVGltZSBQcm90b2NvbCBkYWVtb24gYW5kIHV0aWxpdGllcyIKK0RFU0NSSVBUSU9OID0gIlRoZSBOZXR3b3JrIFRpbWUgUHJvdG9jb2wgKE5UUCkgaXMgdXNlZCB0byBcCitzeW5jaHJvbml6ZSB0aGUgdGltZSBvZiBhIGNvbXB1dGVyIGNsaWVudCBvciBzZXJ2ZXIgdG8gXAorYW5vdGhlciBzZXJ2ZXIgb3IgcmVmZXJlbmNlIHRpbWUgc291cmNlLCBzdWNoIGFzIGEgcmFkaW8gXAorb3Igc2F0ZWxsaXRlIHJlY2VpdmVyIG9yIG1vZGVtLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9zdXBwb3J0Lm50cC5vcmciCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiTlRQIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWVJJR0hUO21kNT1mNDFmZWRiMjJkZmZlZmNiZmFmZWNjODViMGY3OWNmYSIKKworREVQRU5EUyA9ICJsaWJldmVudCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmVlY2lzLnVkZWwuZWR1L35udHAvbnRwX3Nwb29sL250cDQvbnRwLTQuMi9udHAtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL250cC00LjIuNF9wNi1uYW5vLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL250cGQgXAorICAgICAgICAgICBmaWxlOi8vbnRwLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vbnRwZGF0ZSBcCisgICAgICAgICAgIGZpbGU6Ly9udHBkYXRlLmRlZmF1bHQgXAorICAgICAgICAgICBmaWxlOi8vbnRwZGF0ZS5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL250cGQuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9zbnRwLnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vc250cCBcCisgICAgICAgICAgIGZpbGU6Ly9udHBkLmxpc3QgXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDZkZmJhOTMzYzNlNGJjOTI0ZDhlNTUwNjg3OTc1NzgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODFkMjBjMDZhMGIwMWFiZTNiODRmYWMwOTIxODViZjAxNDI1MmQzOGZlNWU3YjI3NThmNjA0NjgwYTAyMjBkYyIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLXJjLmQgdXNlcmFkZCBzeXN0ZW1kIHBrZ2NvbmZpZworCisjIFRoZSBhY19jdl9oZWFkZXJfcmVhZGxpbmVfaGlzdG9yeSBpcyB0byBzdG9wIG50cGRjIGRlcGVuZGluZyBvbiBlaXRoZXIKKyMgcmVhZGxpbmUgb3IgY3Vyc2VzCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aC1uZXQtc25tcC1jb25maWc9bm8gXAorICAgICAgICAgICAgICAgICAtLXdpdGhvdXQtbnRwc25tcGQgXAorICAgICAgICAgICAgICAgICBhY19jdl9oZWFkZXJfcmVhZGxpbmVfaGlzdG9yeV9oPW5vIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLXlpZWxkaW5nX3NlbGVjdD15ZXMgXAorICAgICAgICAgICAgICAgICAtLXdpdGgtbG9jZmlsZT1yZWRoYXQgXAorICAgICAgICAgICAgICAgICAtLXdpdGhvdXQtcnBhdGggXAorICAgICAgICAgICAgICAgICAiCitDRkxBR1NfYXBwZW5kID0gIiAtRFBUWVNfQVJFX0dFVFBUIC1EUFRZU19BUkVfU0VBUkNIRUQiCisKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCitOVFBfVVNFUl9IT01FID89ICIvdmFyL2xpYi9udHAiCitVU0VSQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIC0taG9tZS1kaXIgJHtOVFBfVVNFUl9IT01FfSBcCisgICAgICAgICAgICAgICAgICAgICAgIC0tbm8tY3JlYXRlLWhvbWUgXAorICAgICAgICAgICAgICAgICAgICAgICAtLXNoZWxsIC9iaW4vZmFsc2UgLS11c2VyLWdyb3VwIG50cCIKKworIyBOQjogZGVidWcgaXMgZGVmYXVsdC1lbmFibGVkIGJ5IE5UUDsga2VlcCBpdCBkZWZhdWx0LWVuYWJsZWQgaGVyZS4KK1BBQ0tBR0VDT05GSUcgPz89ICJjYXAgZGVidWcgcmVmY2xvY2tzIgorUEFDS0FHRUNPTkZJR1tvcGVuc3NsXSA9ICItLXdpdGgtb3BlbnNzbC1saWJkaXI9JHtTVEFHSU5HX0xJQkRJUn0gXAorICAgICAgICAgICAgICAgICAgICAgICAgICAtLXdpdGgtb3BlbnNzbC1pbmNkaXI9JHtTVEFHSU5HX0lOQ0RJUn0gXAorICAgICAgICAgICAgICAgICAgICAgICAgICAtLXdpdGgtY3J5cHRvLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgIC0td2l0aG91dC1vcGVuc3NsIC0td2l0aG91dC1jcnlwdG8sIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbY2FwXSA9ICItLWVuYWJsZS1saW51eGNhcHMsLS1kaXNhYmxlLWxpbnV4Y2FwcyxsaWJjYXAiCitQQUNLQUdFQ09ORklHW3JlYWRsaW5lXSA9ICItLXdpdGgtbGluZWVkaXRsaWJzLC0td2l0aG91dC1saW5lZWRpdGxpYnMscmVhZGxpbmUiCitQQUNLQUdFQ09ORklHW3JlZmNsb2Nrc10gPSAiLS1lbmFibGUtYWxsLWNsb2NrcywtLWRpc2FibGUtYWxsLWNsb2NrcyxwcHMtdG9vbHMiCitQQUNLQUdFQ09ORklHW2RlYnVnXSA9ICItLWVuYWJsZS1kZWJ1Z2dpbmcsLS1kaXNhYmxlLWRlYnVnZ2luZyIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L250cC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgJHtXT1JLRElSfS9udHBkICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1ICR7V09SS0RJUn0vbnRwZGF0ZSAke0R9JHtiaW5kaXJ9L250cGRhdGUtc3luYworCisgICAgaW5zdGFsbCAtbSA3NTUgLWQgJHtEfSR7TlRQX1VTRVJfSE9NRX0KKyAgICBjaG93biBudHA6bnRwICR7RH0ke05UUF9VU0VSX0hPTUV9CisKKyAgICAjIEZpeCBoYXJkY29kZWQgcGF0aHMgaW4gc2NyaXB0cworICAgIHNlZCAtaSAncyEvdXNyL3NiaW4vISR7c2JpbmRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9udHBkICR7RH0ke2JpbmRpcn0vbnRwZGF0ZS1zeW5jCisgICAgc2VkIC1pICdzIS91c3IvYmluLyEke2JpbmRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9udHBkICR7RH0ke2JpbmRpcn0vbnRwZGF0ZS1zeW5jCisgICAgc2VkIC1pICdzIS9ldGMvISR7c3lzY29uZmRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9udHBkICR7RH0ke2JpbmRpcn0vbnRwZGF0ZS1zeW5jCisgICAgc2VkIC1pICdzIS92YXIvISR7bG9jYWxzdGF0ZWRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9udHBkICR7RH0ke2JpbmRpcn0vbnRwZGF0ZS1zeW5jCisgICAgc2VkIC1pICdzIV5QQVRIPS4qIVBBVEg9JHtiYXNlX3NiaW5kaXJ9OiR7YmFzZV9iaW5kaXJ9OiR7c2JpbmRpcn06JHtiaW5kaXJ9IScgJHtEfSR7YmluZGlyfS9udHBkYXRlLXN5bmMKKyAgICBzZWQgLWkgJzFzLCMhLipwZXJsIC13LCMhICR7YmluZGlyfS9lbnYgcGVybCwnICR7RH0ke3NiaW5kaXJ9L250cHRyYWNlCisgICAgc2VkIC1pICcvdXNlL2kgdXNlIHdhcm5pbmdzOycgJHtEfSR7c2JpbmRpcn0vbnRwdHJhY2UKKyAgICBzZWQgLWkgJzFzLCMhLipwZXJsLCMhICR7YmluZGlyfS9lbnYgcGVybCwnICR7RH0ke3NiaW5kaXJ9L250cC13YWl0CisgICAgc2VkIC1pICcvdXNlL2kgdXNlIHdhcm5pbmdzOycgJHtEfSR7c2JpbmRpcn0vbnRwLXdhaXQKKyAgICBzZWQgLWkgJzFzLCMhLipwZXJsIC13LCMhICR7YmluZGlyfS9lbnYgcGVybCwnICR7RH0ke3NiaW5kaXJ9L2NhbGNfdGlja2FkagorICAgIHNlZCAtaSAnL3VzZS9pIHVzZSB3YXJuaW5nczsnICR7RH0ke3NiaW5kaXJ9L2NhbGNfdGlja2FkagorCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vZGVmYXVsdAorICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vbnRwZGF0ZS5kZWZhdWx0ICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvbnRwZGF0ZQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3NudHAgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC8KKworICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L25ldHdvcmsvaWYtdXAuZAorICAgIGxuIC1zICR7YmluZGlyfS9udHBkYXRlLXN5bmMgJHtEfS8ke3N5c2NvbmZkaXJ9L25ldHdvcmsvaWYtdXAuZAorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L250cGRhdGUuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9udHBkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vc250cC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLworCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L250cC11bml0cy5kCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbnRwZC5saXN0ICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vbnRwLXVuaXRzLmQvNjAtbnRwZC5saXN0CisKKyAgICAjIFJlbW92ZSBhbiBlbXB0eSBsaWJleGVjZGlyLgorICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICR7RH0ke2xpYmV4ZWNkaXJ9Cit9CisKK1BBQ0tBR0VTICs9ICJudHBkYXRlIHNudHAgJHtQTn0tdGlja2FkaiAke1BOfS11dGlscyIKKyMgTk9URTogeW91IGRvbid0IG5lZWQgbnRwZGF0ZSwgdXNlICJudHBkIC1xIC1nIC14IgorCisjIG50cCBvcmlnaW5hbGx5IGluY2x1ZGVzIHRpY2thZGouIEl0J3Mgc3BsaXQgb2ZmIGZvciBpbmNsdXNpb24gaW4gc21hbGwgZmlybXdhcmUgaW1hZ2VzIG9uIHBsYXRmb3JtcworIyB3aXRoIHdvbmt5IGNsb2NrcyAoZS5nLiBPcGVuU2x1ZykKK1JERVBFTkRTXyR7UE59ID0gIiR7UE59LXRpY2thZGoiCisjIEhhbmRsZSBtb3ZlIGZyb20gYmluIHRvIHV0aWxzIHBhY2thZ2UKK1JQUk9WSURFU18ke1BOfS11dGlscyA9ICIke1BOfS1iaW4iCitSUkVQTEFDRVNfJHtQTn0tdXRpbHMgPSAiJHtQTn0tYmluIgorUkNPTkZMSUNUU18ke1BOfS11dGlscyA9ICIke1BOfS1iaW4iCisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0gbnRwZGF0ZSBzbnRwIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIm50cGQuc2VydmljZSIKK1NZU1RFTURfU0VSVklDRV9udHBkYXRlID0gIm50cGRhdGUuc2VydmljZSIKK1NZU1RFTURfU0VSVklDRV9zbnRwID0gInNudHAuc2VydmljZSIKKworUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKKworUlBST1ZJREVTX250cGRhdGUgKz0gIm50cGRhdGUtc3lzdGVtZCIKK1JSRVBMQUNFU19udHBkYXRlICs9ICJudHBkYXRlLXN5c3RlbWQiCitSQ09ORkxJQ1RTX250cGRhdGUgKz0gIm50cGRhdGUtc3lzdGVtZCIKKworUlNVR0dFU1RTXyR7UE59ID0gImlhbmEtZXRjIgorCitGSUxFU18ke1BOfSA9ICIke3NiaW5kaXJ9L250cGQgJHtzeXNjb25mZGlyfS9udHAuY29uZiAke3N5c2NvbmZkaXJ9L2luaXQuZC9udHBkICR7bGliZGlyfSBcCisgICAgJHtOVFBfVVNFUl9IT01FfSBcCisgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L250cC11bml0cy5kLzYwLW50cGQubGlzdCAke2xpYmV4ZWNkaXJ9XAorIgorRklMRVNfJHtQTn0tdGlja2FkaiA9ICIke3NiaW5kaXJ9L3RpY2thZGoiCitGSUxFU18ke1BOfS11dGlscyA9ICIke3NiaW5kaXJ9ICR7ZGF0YWRpcn0vbnRwL2xpYiIKK1JERVBFTkRTXyR7UE59LXV0aWxzICs9ICJwZXJsIgorRklMRVNfbnRwZGF0ZSA9ICIke3NiaW5kaXJ9L250cGRhdGUgXAorICAgICR7c3lzY29uZmRpcn0vbmV0d29yay9pZi11cC5kL250cGRhdGUtc3luYyBcCisgICAgJHtiaW5kaXJ9L250cGRhdGUtc3luYyBcCisgICAgJHtzeXNjb25mZGlyfS9kZWZhdWx0L250cGRhdGUgXAorICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vbnRwZGF0ZS5zZXJ2aWNlIFwKKyIKK0ZJTEVTX3NudHAgPSAiJHtzYmluZGlyfS9zbnRwIFwKKyAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9kZWZhdWx0L3NudHAgXAorICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3NudHAuc2VydmljZSBcCisgICAgICAgICAgICAgIgorCitDT05GRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfS9udHAuY29uZiIKK0NPTkZGSUxFU19udHBkYXRlID0gIiR7c3lzY29uZmRpcn0vZGVmYXVsdC9udHBkYXRlIgorCitJTklUU0NSSVBUX05BTUUgPSAibnRwZCIKKyMgTm8gZGVwZW5kZW5jaWVzLCBzbyBqdXN0IGdvIGluIGF0IHRoZSBzdGFuZGFyZCBsZXZlbCAoMjApCitJTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyIKKworcGtnX3Bvc3RpbnN0X250cGRhdGUoKSB7CisgICAgaWYgISBncmVwIC1xIC1zIG50cGRhdGUgJEQvdmFyL3Nwb29sL2Nyb24vcm9vdDsgdGhlbgorICAgICAgICBlY2hvICJhZGRpbmcgY3JvbnRhYiIKKyAgICAgICAgdGVzdCAtZCAkRC92YXIvc3Bvb2wvY3JvbiB8fCBta2RpciAtcCAkRC92YXIvc3Bvb2wvY3JvbgorICAgICAgICBlY2hvICIzMCAqICogKiAqICAgICR7YmluZGlyfS9udHBkYXRlLXN5bmMgc2lsZW50IiA+PiAkRC92YXIvc3Bvb2wvY3Jvbi9yb290CisgICAgZmkKK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L251dHRjcC9udXR0Y3BfNy4yLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnV0dGNwL251dHRjcF83LjIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMjc1MjM4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L251dHRjcC9udXR0Y3BfNy4yLjEuYmIKQEAgLTAsMCArMSwyOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTMgS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgQ09QWUlORy5NSVQgZm9yIHRoZSB0ZXJtcykKKworU1VNTUFSWSA9ICJuZXR3b3JrIHBlcmZvcm1hbmNlIG1lYXN1cmVtZW50IHRvb2wiCitERVNDUklQVElPTiA9ICJudXR0Y3AgaXMgYSBuZXR3b3JrIHBlcmZvcm1hbmNlIG1lYXN1cmVtZW50IHRvb2wgaW50ZW5kZWQgZm9yIHVzZSBieSBuZXR3b3JrIFwKK2FuZCBzeXN0ZW0gbWFuYWdlcnMuIEl0cyBtb3N0IGJhc2ljIHVzYWdlIGlzIHRvIGRldGVybWluZSB0aGUgcmF3IFRDUCAob3IgVURQKSBcCituZXR3b3JrIGxheWVyIHRocm91Z2hwdXQgYnkgdHJhbnNmZXJyaW5nIG1lbW9yeSBidWZmZXJzIGZyb20gYSBzb3VyY2Ugc3lzdGVtIFwKK2Fjcm9zcyBhbiBpbnRlcmNvbm5lY3RpbmcgbmV0d29yayB0byBhIGRlc3RpbmF0aW9uIHN5c3RlbSwgZWl0aGVyIHRyYW5zZmVycmluZyBcCitkYXRhIGZvciBhIHNwZWNpZmllZCB0aW1lIGludGVydmFsLCBvciBhbHRlcm5hdGl2ZWx5IHRyYW5zZmVycmluZyBhIHNwZWNpZmllZCBcCitudW1iZXIgb2YgYnl0ZXMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5udXR0Y3AubmV0L1dlbGNvbWUlMjBQYWdlLmh0bWwiCitMSUNFTlNFID0gIkdQTC0yLjAiCitTRUNUSU9OID0gIm5ldCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7QlB9LmM7YmVnaW5saW5lPTQ7ZW5kbGluZT0zMDttZDU9YWU3MDQ1YzNjMzYxNjA5MmUwN2Q4N2YwNGJhMGQ5NjAiCisKK1NSQ19VUkkgPSAiaHR0cDovL251dHRjcC5uZXQvJHtCUE59L2JldGEvJHtCUH0uYyIKK1NSQ19VUklbbWQ1c3VtXSA9ICIxZWJmNGEwOGJhZDJhMjk1YTgxNTVmMDI5OTVlODc1NCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjNmUzMzgxMGNjY2U2NzI2MGY4ZDVkNjI3ZjYwZTQyOWQ0NGY1MzIzNjVjNThlZDU2NzNkMDM1ZTJhNTljNGRiIgorCitTID0gIiR7V09SS0RJUn0iCisKK2RvX2NvbXBpbGUgKCkgeworCSR7Q0N9ICR7Q0ZMQUdTfSAtbyBudXR0Y3AgbnV0dGNwLSR7UFZ9LmMKK30KKworZG9faW5zdGFsbCAoKSB7CisJaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisJaW5zdGFsbCAtbSAwNzU1IG51dHRjcCAke0R9JHtiaW5kaXJ9Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvb3BlbnZwbi9vcGVudnBuL29wZW52cG4gYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvb3BlbnZwbi9vcGVudnBuL29wZW52cG4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTNjZDZhMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9vcGVudnBuL29wZW52cG4vb3BlbnZwbgpAQCAtMCwwICsxLDEwNCBAQAorIyEvYmluL3NoIC1lCisjCisjIE9yaWdpbmFsIHZlcnNpb24gYnkgUm9iZXJ0IExlc2xpZQorIyA8cm9iQG1hcnMub3JnPiwgZWRpdGVkIGJ5IGl3aiBhbmQgY3MKKyMgTW9kaWZpZWQgZm9yIG9wZW52cG4gYnkgQWxiZXJ0byBHb256YWxleiBJbmllc3RhIDxhZ2lAYWdpLmFzPgorIyBNb2RpZmllZCBmb3IgcmVzdGFydGluZyAvIHN0YXJ0aW5nIC8gc3RvcHBpbmcgc2luZ2xlIHR1bm5lbHMgYnkgUmljaGFyZCBNdWVsbGVyIDxtdWVsbGVyQHRlYW1peC5uZXQ+CisKK3Rlc3QgJERFQklBTl9TQ1JJUFRfREVCVUcgJiYgc2V0IC12IC14CisKK0RBRU1PTj0vdXNyL3NiaW4vb3BlbnZwbgorQ09ORklHX0RJUj0vZXRjL29wZW52cG4KK3Rlc3QgLXggJERBRU1PTiB8fCBleGl0IDAKK3Rlc3QgLWQgJENPTkZJR19ESVIgfHwgZXhpdCAwCisKK3N0YXJ0X3ZwbiAoKSB7CisgICAgbW9kcHJvYmUgdHVuID4vZGV2L251bGwgMj4mMSB8fCB0cnVlCisgICAgJERBRU1PTiAtLWRhZW1vbiAtLXdyaXRlcGlkIC92YXIvcnVuL29wZW52cG4uJE5BTUUucGlkIFwKKyAgICAgICAgICAgIC0tY29uZmlnICRDT05GSUdfRElSLyROQU1FLmNvbmYgLS1jZCAkQ09ORklHX0RJUiB8fCBlY2hvIC1uICIgRkFJTEVELT4iCisgICAgZWNobyAtbiAiICROQU1FIgorfQorc3RvcF92cG4gKCkgeworICAga2lsbCBgY2F0ICRQSURGSUxFYCB8fCB0cnVlCisgIHJtICRQSURGSUxFCit9CisKK2Nhc2UgIiQxIiBpbgorc3RhcnQpCisgIGVjaG8gLW4gIlN0YXJ0aW5nIG9wZW52cG46IgorCisgIGlmIHRlc3QgLXogJDIgOyB0aGVuCisgICAgZm9yIENPTkZJRyBpbiBgY2QgJENPTkZJR19ESVI7IGxzICouY29uZiAyPiAvZGV2L251bGxgOyBkbworICAgICAgTkFNRT0ke0NPTkZJRyUlLmNvbmZ9CisgICAgICBzdGFydF92cG4KKyAgICBkb25lCisgIGVsc2UKKyAgICBpZiB0ZXN0IC1lICRDT05GSUdfRElSLyQyLmNvbmYgOyB0aGVuCisgICAgICBOQU1FPSQyCisgICAgICBzdGFydF92cG4KKyAgICBlbHNlCisgICAgICBlY2hvIC1uICIgTm8gc3VjaCBWUE46ICQyIgorICAgIGZpCisgIGZpCisgIGVjaG8gIi4iCisKKyAgOzsKK3N0b3ApCisgIGVjaG8gLW4gIlN0b3BwaW5nIG9wZW52cG46IgorCisgIGlmIHRlc3QgLXogJDIgOyB0aGVuCisgICAgZm9yIFBJREZJTEUgaW4gYGxzIC92YXIvcnVuL29wZW52cG4uKi5waWQgMj4gL2Rldi9udWxsYDsgZG8KKyAgICAgIE5BTUU9YGVjaG8gJFBJREZJTEUgfCBjdXQgLWMxOC1gCisgICAgICBOQU1FPSR7TkFNRSUlLnBpZH0KKyAgICAgIHN0b3BfdnBuCisgICAgICBlY2hvIC1uICIgJE5BTUUiCisgICAgZG9uZQorICBlbHNlCisgICAgaWYgdGVzdCAtZSAvdmFyL3J1bi9vcGVudnBuLiQyLnBpZCA7IHRoZW4KKyAgICAgIFBJREZJTEU9YGxzIC92YXIvcnVuL29wZW52cG4uJDIucGlkIDI+IC9kZXYvbnVsbGAKKyAgICAgIE5BTUU9YGVjaG8gJFBJREZJTEUgfCBjdXQgLWMxOC1gCisgICAgICBOQU1FPSR7TkFNRSUlLnBpZH0KKyAgICAgIHN0b3BfdnBuCisgICAgICBlY2hvIC1uICIgJE5BTUUiCisgICAgZWxzZQorICAgICAgZWNobyAtbiAiIE5vIHN1Y2ggVlBOOiAkMiIKKyAgICBmaQorICBmaQorICBlY2hvICIuIgorICA7OworIyBXZSBvbmx5ICdyZWxvYWQnIGZvciBydW5uaW5nIFZQTnMuIE5ldyBvbmVzIHdpbGwgb25seSBzdGFydCB3aXRoICdzdGFydCcgb3IgJ3Jlc3RhcnQnLgorcmVsb2FkfGZvcmNlLXJlbG9hZCkKKyAgZWNobyAtbiAiUmVsb2FkaW5nIG9wZW52cG46IgorICBmb3IgUElERklMRSBpbiBgbHMgL3Zhci9ydW4vb3BlbnZwbi4qLnBpZCAyPiAvZGV2L251bGxgOyBkbworICAgIE5BTUU9YGVjaG8gJFBJREZJTEUgfCBjdXQgLWMxOC1gCisgICAgTkFNRT0ke05BTUUlJS5waWR9CisjIElmIG9wZW52cG4gaWYgcnVubmluZyB1bmRlciBhIGRpZmZlcmVudCB1c2VyIHRoYW4gcm9vdCB3ZSdsbCBuZWVkIHRvIHJlc3RhcnQKKyAgICBpZiBlZ3JlcCAnXiggfFx0KSp1c2VyJyAkQ09ORklHX0RJUi8kTkFNRS5jb25mID4gL2Rldi9udWxsIDI+JjEgOyB0aGVuCisgICAgICBzdG9wX3ZwbgorICAgICAgc2xlZXAgMQorICAgICAgc3RhcnRfdnBuCisgICAgICBlY2hvIC1uICIocmVzdGFydGVkKSIKKyAgICBlbHNlCisgICAgICBraWxsIC1IVVAgYGNhdCAkUElERklMRWAgfHwgdHJ1ZQorIyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1zaWduYWwgSFVQIC0tcXVpZXQgLS1va25vZG8gXAorIyAgICAgIC0tZXhlYyAkREFFTU9OIC0tcGlkZmlsZSAkUElERklMRQorICAgIGVjaG8gLW4gIiAkTkFNRSIKKyAgICBmaQorICBkb25lCisgIGVjaG8gIi4iCisgIDs7CisKK3Jlc3RhcnQpCisgICQwIHN0b3AgJDIKKyAgc2xlZXAgMQorICAkMCBzdGFydCAkMgorICA7OworKikKKyAgZWNobyAiVXNhZ2U6ICQwIHtzdGFydHxzdG9wfHJlbG9hZHxyZXN0YXJ0fGZvcmNlLXJlbG9hZH0iID4mMgorICBleGl0IDEKKyAgOzsKK2VzYWMKKworZXhpdCAwCisKKyMgdmltOnNldCBhaSBldCBzdHM9MiBzdz0yIHR3PTA6CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvb3BlbnZwbi9vcGVudnBuL29wZW52cG4tdm9sYXRpbGUuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9vcGVudnBuL29wZW52cG4vb3BlbnZwbi12b2xhdGlsZS5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhM2RjNGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvb3BlbnZwbi9vcGVudnBuL29wZW52cG4tdm9sYXRpbGUuY29uZgpAQCAtMCwwICsxIEBACitkIC92YXIvcnVuL29wZW52cG4gMDc1NSByb290IHJvb3QgLQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L29wZW52cG4vb3BlbnZwbi9vcGVudnBuQC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L29wZW52cG4vb3BlbnZwbi9vcGVudnBuQC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1OGRjYjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvb3BlbnZwbi9vcGVudnBuL29wZW52cG5ALnNlcnZpY2UKQEAgLTAsMCArMSwxMiBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1PcGVuVlBOIFJvYnVzdCBBbmQgSGlnaGx5IEZsZXhpYmxlIFR1bm5lbGluZyBBcHBsaWNhdGlvbiBPbiAlSQorQWZ0ZXI9c3lzbG9nLnRhcmdldCBuZXR3b3JrLnRhcmdldAorCitbU2VydmljZV0KK1ByaXZhdGVUbXA9dHJ1ZQorVHlwZT1mb3JraW5nCitQSURGaWxlPS92YXIvcnVuL29wZW52cG4vJWkucGlkCitFeGVjU3RhcnQ9L3Vzci9zYmluL29wZW52cG4gLS1kYWVtb24gLS13cml0ZXBpZCAvdmFyL3J1bi9vcGVudnBuLyVpLnBpZCAtLWNkIC9ldGMvb3BlbnZwbi8gLS1jb25maWcgJWkuY29uZgorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvb3BlbnZwbi9vcGVudnBuXzIuMy44LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L29wZW52cG4vb3BlbnZwbl8yLjMuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMDEwOTA2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L29wZW52cG4vb3BlbnZwbl8yLjMuOC5iYgpAQCAtMCwwICsxLDY3IEBACitTVU1NQVJZID0gIkEgZnVsbC1mZWF0dXJlZCBTU0wgVlBOIHNvbHV0aW9uIHZpYSB0dW4gZGV2aWNlLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9vcGVudnBuLnNvdXJjZWZvcmdlLm5ldCIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTVhYWMyMDAxOTlmZGU0NzUwMTg3NmNiYTcyNjNjYjBjIgorREVQRU5EUyA9ICJsem8gb3BlbnNzbCBpcHJvdXRlMiAke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ2xpYnBhbScsICcnLCBkKX0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHN5c3RlbWQKKworU1JDX1VSSSA9ICJodHRwOi8vc3d1cGRhdGUub3BlbnZwbi5vcmcvY29tbXVuaXR5L3JlbGVhc2VzL29wZW52cG4tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL29wZW52cG4gXAorICAgICAgICAgICBmaWxlOi8vb3BlbnZwbkAuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9vcGVudnBuLXZvbGF0aWxlLmNvbmYiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1MWQ5OTZmMWYxZmMzMGY1MDFhZTI1MWEyNTRlZmZlYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1MzI0MzVlZmY2MWMxNGI0NGE1ODNmMjdiNzJmOTNlNzg2NGU5NmM5NWZlNTExMzRlYzBhZDRiMWIxMTA3YzUxIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gKz0gIm9wZW52cG5AbG9vcGJhY2stc2VydmVyLnNlcnZpY2Ugb3BlbnZwbkBsb29wYmFjay1jbGllbnQuc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworQ0ZMQUdTICs9ICItZm5vLWlubGluZSIKKworIyBJIHdhbnQgb3BlbnZwbiB0byBiZSBhYmxlIHRvIHJlYWQgcGFzc3dvcmQgZnJvbSBmaWxlIChocncpCitFWFRSQV9PRUNPTkYgKz0gIi0tZW5hYmxlLXBhc3N3b3JkLXNhdmUgLS1lbmFibGUtaXByb3V0ZTIiCitFWFRSQV9PRUNPTkYgKz0gIiR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnJywgJy0tZGlzYWJsZS1wbHVnaW4tYXV0aC1wYW0nLCBkKX0iCisKKyMgRXhwbGljaXRseSBzcGVjaWZ5IElQUk9VVEUgdG8gYnlwYXNzIHRoZSBjb25maWd1cmUtdGltZSBjaGVjayBmb3IgL3NiaW4vaXAgb24gdGhlIGhvc3QuCitFWFRSQV9PRUNPTkYgKz0gIklQUk9VVEU9L3NiaW4vaXAiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gNzU1ICR7V09SS0RJUn0vb3BlbnZwbiAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kCisKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9vcGVudnBuCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vb3BlbnZwbi9zYW1wbGUKKyAgICBpbnN0YWxsIC1tIDc1NSAke1N9L3NhbXBsZS9zYW1wbGUtY29uZmlnLWZpbGVzL2xvb3BiYWNrLXNlcnZlciAgJHtEfSR7c3lzY29uZmRpcn0vb3BlbnZwbi9zYW1wbGUvbG9vcGJhY2stc2VydmVyLmNvbmYKKyAgICBpbnN0YWxsIC1tIDc1NSAke1N9L3NhbXBsZS9zYW1wbGUtY29uZmlnLWZpbGVzL2xvb3BiYWNrLWNsaWVudCAgJHtEfSR7c3lzY29uZmRpcn0vb3BlbnZwbi9zYW1wbGUvbG9vcGJhY2stY2xpZW50LmNvbmYKKyAgICBpbnN0YWxsIC1kbSA3NTUgJHtEfSR7c3lzY29uZmRpcn0vb3BlbnZwbi9zYW1wbGUvc2FtcGxlLWtleXMKKyAgICBpbnN0YWxsIC1tIDY0NCAke1N9L3NhbXBsZS9zYW1wbGUta2V5cy8qICR7RH0ke3N5c2NvbmZkaXJ9L29wZW52cG4vc2FtcGxlL3NhbXBsZS1rZXlzCisKKyAgICBpZiAke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICAgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9vcGVudnBuQC5zZXJ2aWNlICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L29wZW52cG5ALnNlcnZpY2UgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL29wZW52cG5AbG9vcGJhY2stc2VydmVyLnNlcnZpY2UKKyAgICAgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9vcGVudnBuQC5zZXJ2aWNlICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9vcGVudnBuQGxvb3BiYWNrLWNsaWVudC5zZXJ2aWNlCisKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9LyR7bG9jYWxzdGF0ZWRpcn0KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9LyR7bG9jYWxzdGF0ZWRpcn0vbGliCisgICAgICAgIGluc3RhbGwgLWQgLW0gNzEwICR7RH0vJHtsb2NhbHN0YXRlZGlyfS9saWIvb3BlbnZwbgorICAgICAgICBpbnN0YWxsIC1kIC1tIDc1NSAke0R9LyR7bG9jYWxzdGF0ZWRpcn0vcnVuLworICAgICAgICBpbnN0YWxsIC1kIC1tIDc1NSAke0R9LyR7bG9jYWxzdGF0ZWRpcn0vcnVuL29wZW52cG4KKworICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vb3BlbnZwbi12b2xhdGlsZS5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvb3BlbnZwbi5jb25mCisgICAgZmkKK30KKworUEFDS0FHRVMgPSsgIiAke1BOfS1zYW1wbGUgIgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJrZXJuZWwtbW9kdWxlLXR1biIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vb3BlbnZwbi9wbHVnaW5zLy5kZWJ1ZyIKK0ZJTEVTXyR7UE59ICs9ICIke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL29wZW52cG5ALnNlcnZpY2UgXAorICAgICAgICAgICAgICAgIC9ydW4iCitGSUxFU18ke1BOfS1zYW1wbGUgKz0gIiR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vb3BlbnZwbkBsb29wYmFjay1zZXJ2ZXIuc2VydmljZSBcCisgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vb3BlbnZwbkBsb29wYmFjay1jbGllbnQuc2VydmljZSBcCisgICAgICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vb3BlbnZwbi9zYW1wbGUvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3BpbWQvcGltZF8yLjEuOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9waW1kL3BpbWRfMi4xLjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzQ2OTA0MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9waW1kL3BpbWRfMi4xLjguYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJwaW1kIGlzIGEgbGlnaHR3ZWlnaHQgc3RhbmQtYWxvbmUgUElNLVNNIHYyIG11bHRpY2FzdCByb3V0aW5nIGRhZW1vbi4iCitIT01FUEFHRSA9ICJodHRwOi8vdHJvZ2xvYml0LmNvbS9waW1kLmh0bWwiCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9OTRmMTA4ZjkxZmFiNzIwZDYyNDI1NzcwYjcwZGQ3OTAiCisKK1NSQ19VUkkgPSAiZnRwOi8vdHJvZ2xvYml0LmNvbS9waW1kLyR7QlB9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiYTEyNDQ4YmM3YzliZmNlYmY1MWExM2ViZjFmZmE5NjIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDEwMTY5NDA1NDNhMGE2MTMxZDRlNmM5MWI1OTVkNDdlMTg3MDEyYzU5YTI5OGVlYzE0YzNkYmMzODU2NGIzYSIKKworRVhUUkFfT0VNQUtFID0gIi1lIE1BS0VGTEFHUz0iCitDRkxBR1MgKz0gIi1JICR7U30vaW5jbHVkZSAiCisKK2RvX2luc3RhbGwoKSB7CisJdW5zZXQgZGF0YWRpcgorCXVuc2V0IG1hbmRpcgorCW9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAorfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvc21jcm91dGUvc21jcm91dGVfMi4wLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvc21jcm91dGUvc21jcm91dGVfMi4wLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWI2ZmMyZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9zbWNyb3V0ZS9zbWNyb3V0ZV8yLjAuMC5iYgpAQCAtMCwwICsxLDEzIEBACitTVU1NQVJZID0gIlN0YXRpYyBNdWx0aWNhc3QgUm91dGluZyBEYWVtb24iCitERVNDUklQVElPTiA9ICJTTUNSb3V0ZSBpcyBhIGRhZW1vbiBhbmQgY29tbWFuZCBsaW5lIHRvb2wgdG8gbWFuaXB1bGF0ZSB0aGUgbXVsdGljYXN0IHJvdXRpbmcgdGFibGUgaW4gdGhlIFVOSVgga2VybmVsLiIKK0hPTUVQQUdFID0gImh0dHA6Ly90cm9nbG9iaXQuZ2l0aHViLmlvL3NtY3JvdXRlLmh0bWwiCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NDMyNWFmZDM5NmZlYmNiNjU5YzM2YjQ5NTMzMTM1ZDQiCisKK1NSQ1JFViA9ICJkNjI4MGU2NGIyN2Q1YTRiZDdmMzdkYWMzNmI0NTVmNGFlNWY5YWIzIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3Ryb2dsb2JpdC9zbWNyb3V0ZS5naXQ7YnJhbmNoPW1hc3Rlcjtwcm90b2NvbD1naXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvc3NtcGluZy9maWxlcy8wMDAxLU1ha2VmaWxlLXR3ZWFrLWluc3RhbGwtZGlyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3NzbXBpbmcvZmlsZXMvMDAwMS1NYWtlZmlsZS10d2Vhay1pbnN0YWxsLWRpci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wY2I5ODFjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3NzbXBpbmcvZmlsZXMvMDAwMS1NYWtlZmlsZS10d2Vhay1pbnN0YWxsLWRpci5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9tIDY5M2NmY2U1NDMxZTE5MWEzOTU1ZmQ1NmZhODIyOTI3ZDkyYzllNDMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDcgTm92IDIwMTQgMTQ6Mjc6MDAgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gTWFrZWZpbGU6IHR3ZWFrIGluc3RhbGwgZGlyCisKK0ZvciBvZS1jb3JlLCB0aGUgbWFuIGRvYyBzaG91bGQgYmUgaW5zdGFsbGVkIHRvIC91c3Ivc2hhcmUvbWFuCityYXRoZXIgdGhhbiAvdXNyL2xvY2FsZS9tYW4uCisKK1Vwc3RyZWFtLVN0YXR1czogaW5hcHByb3ByaWF0ZSAob2Ugc3BlY2lmaWMpCisKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIE1ha2VmaWxlIHwgNiArKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggYjVkMTJmOC4uOWIyNjYzYyAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTE0LDkgKzE0LDkgQEAgaW5zdGFsbDogc3NtcGluZyBhc21waW5nIHNzbXBpbmdkIG1jZmlyc3QKKyAJaW5zdGFsbCAtRCBhc21waW5nICQoREVTVERJUikkKFBSRUZJWCkvYmluL2FzbXBpbmcKKyAJaW5zdGFsbCAtRCBzc21waW5nZCAkKERFU1RESVIpJChQUkVGSVgpL2Jpbi9zc21waW5nZAorIAlpbnN0YWxsIC1EIG1jZmlyc3QgJChERVNURElSKSQoUFJFRklYKS9iaW4vbWNmaXJzdAorLQlpbnN0YWxsIC1EIHNzbXBpbmcuMSAkKERFU1RESVIpJChQUkVGSVgpL21hbi9tYW4xL3NzbXBpbmcuMQorLQlpbnN0YWxsIC1EIGFzbXBpbmcuMSAkKERFU1RESVIpJChQUkVGSVgpL21hbi9tYW4xL2FzbXBpbmcuMQorLQlpbnN0YWxsIC1EIG1jZmlyc3QuMSAkKERFU1RESVIpJChQUkVGSVgpL21hbi9tYW4xL21jZmlyc3QuMQorKwlpbnN0YWxsIC1EIHNzbXBpbmcuMSAkKERFU1RESVIpJChQUkVGSVgpL3NoYXJlL21hbi9tYW4xL3NzbXBpbmcuMQorKwlpbnN0YWxsIC1EIGFzbXBpbmcuMSAkKERFU1RESVIpJChQUkVGSVgpL3NoYXJlL21hbi9tYW4xL2FzbXBpbmcuMQorKwlpbnN0YWxsIC1EIG1jZmlyc3QuMSAkKERFU1RESVIpJChQUkVGSVgpL3NoYXJlL21hbi9tYW4xL21jZmlyc3QuMQorIAorIGNsZWFuOgorIAlybSAtZiAkKE9CSikgam9pbmNoLm8gam9pbmdycC5vIHNzbXBpbmcgYXNtcGluZyBzc21waW5nZCBtY2ZpcnN0CistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9zc21waW5nL3NzbXBpbmdfMC45LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvc3NtcGluZy9zc21waW5nXzAuOS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyY2FlYzYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvc3NtcGluZy9zc21waW5nXzAuOS4xLmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAic3NtcGluZyBpcyBhIHRvb2wgZm9yIGNoZWNraW5nIHdoZXRoZXIgb25lIGNhbiByZWNlaXZlIFNTTSBmcm9tIGEgZ2l2ZW4gaG9zdCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cudmVuYWFzLm5vL211bHRpY2FzdC9zc21waW5nLyIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJJU0MiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9hc21waW5nLmM7YmVnaW5saW5lPTI7ZW5kbGluZT0xMTttZDU9MWNhOGQxYTFjYTkzMWU1Y2ZlNjA0ZWJmMjBhNzhiNzEiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy52ZW5hYXMubm8vbXVsdGljYXN0L3NzbXBpbmcvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtTWFrZWZpbGUtdHdlYWstaW5zdGFsbC1kaXIucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImFkOGUzZDEzZjZkNzI5MThmNzNiZTdlNzk3NWQ3ZmFkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjIyMTAzYTM3ZWFhMjg0ODkxNjlhMDkyN2JjMDFlMDU5NmMzNDg1ZmM0ZDI5ZmM4NDU2YzA3ZmQyYzcwZmNhNmQiCisKK0NGTEFHUyArPSAiLURfR05VX1NPVVJDRSAiCisKK2RvX2luc3RhbGwoKSB7CisJb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyAnUFJFRklYPSR7cHJlZml4fScgaW5zdGFsbAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3N0cm9uZ3N3YW4vZmlsZXMvZml4LWZ1bnRpb24tcGFyYW1ldGVyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3N0cm9uZ3N3YW4vZmlsZXMvZml4LWZ1bnRpb24tcGFyYW1ldGVyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhOTY5ODMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvc3Ryb25nc3dhbi9maWxlcy9maXgtZnVudGlvbi1wYXJhbWV0ZXIucGF0Y2gKQEAgLTAsMCArMSw5OCBAQAorZml4IHRoZSBmdW5jdGlvbiBwYXJhbWV0ZXIKKworVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKK09yaWdpbmFsIG9wZW5zc2xfZGlmZmllX2hlbGxtYW5fY3JlYXRlIGhhcyB0aHJlZSBwYXJhbWV0ZXJzLCBidXQKK2l0IGlzIHJlYXNzaWduZWQgYSBmdW5jdGlvbiBwb2ludGVyIHdoaWNoIGhhcyBvbmUgcGFyYW1ldGVyLCBhbmQKK2lzIGNhbGxlZCB3aXRoIG9uZSBwYXJhbWV0ZXIsIHdoaWNoIHdpbGwgbGVhZCB0byBzZWdtZW50IGZhdWx0CitvbiBQUEMsIE5vdyB3ZSBzaW1wbHkgY29ycmVjdCB0aGUgbnVtYmVyIG9mIHBhcmFtZXRlcnMuCisKKyAgICAjMCAgMHg0ODRkNGFhMCBpbiBfX0dJX3JhaXNlIChzaWc9NikKKyAgICAgICAgIGF0IC4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXgvcmFpc2UuYzo2NAorICAgICMxICAweDQ4NGQ5OTMwIGluIF9fR0lfYWJvcnQgKCkgYXQgYWJvcnQuYzo5MQorICAgICMyICAweDEwMDAyMDY0IGluIHNlZ3ZfaGFuZGxlciAoc2lnbmFsPTExKSBhdCBjaGFyb24uYzoyMjQKKyAgICAjMyAgPHNpZ25hbCBoYW5kbGVyIGNhbGxlZD4KKyAgICAjNCAgMHg0OGQ4OTYzMCBpbiBvcGVuc3NsX2RpZmZpZV9oZWxsbWFuX2NyZWF0ZSAoZ3JvdXA9TU9EUF8xMDI0X0JJVCwgZz0uLi4sCisgICAgICAgICBwPTxlcnJvciByZWFkaW5nIHZhcmlhYmxlOiBDYW5ub3QgYWNjZXNzIG1lbW9yeSBhdCBhZGRyZXNzIDB4MD4pCisgICAgICAgICBhdCBvcGVuc3NsX2RpZmZpZV9oZWxsbWFuLmM6MTQzCisgICAgIzUgIDB4NDgyYzU0ZjggaW4gY3JlYXRlX2RoICh0aGlzPTB4MTFhYzZlNjgsIGdyb3VwPU1PRFBfMTAyNF9CSVQpCisgICAgICAgICBhdCBjcnlwdG8vY3J5cHRvX2ZhY3RvcnkuYzozNTgKKyAgICAjNiAgMHg0ODM3NTg4NCBpbiBjcmVhdGVfZGggKHRoaXM9PG9wdGltaXplZCBvdXQ+LCBncm91cD08b3B0aW1pemVkIG91dD4pCisgICAgICAgICBhdCBzYS9rZXltYXQuYzoxMzIKKyAgICAjNyAgMHg0ODM4NDNiOCBpbiBwcm9jZXNzX3BheWxvYWRzICh0aGlzPTB4NTE0MDBhNzgsIG1lc3NhZ2U9PG9wdGltaXplZAorICAgIG91dD4pCisgICAgICAgICBhdCBzYS90YXNrcy9pa2VfaW5pdC5jOjIwMAorICAgICM4ICAweDQ4Mzg0NGQwIGluIHByb2Nlc3NfciAodGhpcz0weDUxNDAwYTc4LCBtZXNzYWdlPTB4NTE1MDA3NzgpCisgICAgICAgICBhdCBzYS90YXNrcy9pa2VfaW5pdC5jOjMxOQorICAgICM5ICAweDQ4Mzc0YzljIGluIHByb2Nlc3NfcmVxdWVzdCAobWVzc2FnZT0weDUxNTAwNzc4LCB0aGlzPTB4NTE0MDBkMjApCisgICAgICAgICBhdCBzYS90YXNrX21hbmFnZXIuYzo4NzAKKyAgICAjMTAgcHJvY2Vzc19tZXNzYWdlICh0aGlzPTB4NTE0MDBkMjAsIG1zZz0weDUxNTAwNzc4KSBhdAorICAgIHNhL3Rhc2tfbWFuYWdlci5jOjkyNQorICAgICMxMSAweDQ4MzZjMzc4IGluIHByb2Nlc3NfbWVzc2FnZSAodGhpcz0weDUxNDAwNWYwLCBtZXNzYWdlPTB4NTE1MDA3NzgpCisgICAgICAgICBhdCBzYS9pa2Vfc2EuYzoxMzE3CisgICAgIzEyIDB4NDgzNjIyNzAgaW4gZXhlY3V0ZSAodGhpcz0weDUxNTAwOGQwKQorICAgICAgICAgYXQgcHJvY2Vzc2luZy9qb2JzL3Byb2Nlc3NfbWVzc2FnZV9qb2IuYzo3NCAKKworU2lnbmVkLW9mZi1ieTogUm95LkxpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2xpYnN0cm9uZ3N3YW4vcGx1Z2lucy9vcGVuc3NsL29wZW5zc2xfZGlmZmllX2hlbGxtYW4uYyB8IDggKysrKysrKy0KKyBzcmMvbGlic3Ryb25nc3dhbi9wbHVnaW5zL29wZW5zc2wvb3BlbnNzbF9kaWZmaWVfaGVsbG1hbi5oIHwgNCArKystCisgc3JjL2xpYnN0cm9uZ3N3YW4vcGx1Z2lucy9vcGVuc3NsL29wZW5zc2xfcGx1Z2luLmMgICAgICAgICB8IDEgKworIDMgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9saWJzdHJvbmdzd2FuL3BsdWdpbnMvb3BlbnNzbC9vcGVuc3NsX2RpZmZpZV9oZWxsbWFuLmMgYi9zcmMvbGlic3Ryb25nc3dhbi9wbHVnaW5zL29wZW5zc2wvb3BlbnNzbF9kaWZmaWVfaGVsbG1hbi5jCitpbmRleCBmZjMzODI0Li5iZDIxNDQ2IDEwMDY0NAorLS0tIGEvc3JjL2xpYnN0cm9uZ3N3YW4vcGx1Z2lucy9vcGVuc3NsL29wZW5zc2xfZGlmZmllX2hlbGxtYW4uYworKysrIGIvc3JjL2xpYnN0cm9uZ3N3YW4vcGx1Z2lucy9vcGVuc3NsL29wZW5zc2xfZGlmZmllX2hlbGxtYW4uYworQEAgLTE0Miw3ICsxNDIsNyBAQCBNRVRIT0QoZGlmZmllX2hlbGxtYW5fdCwgZGVzdHJveSwgdm9pZCwKKyAvKgorICAqIERlc2NyaWJlZCBpbiBoZWFkZXIuCisgICovCistb3BlbnNzbF9kaWZmaWVfaGVsbG1hbl90ICpvcGVuc3NsX2RpZmZpZV9oZWxsbWFuX2NyZWF0ZSgKKytvcGVuc3NsX2RpZmZpZV9oZWxsbWFuX3QgKm9wZW5zc2xfZGlmZmllX2hlbGxtYW5fY3JlYXRlX2N1c3RvbSgKKyAJCQkJCQkJZGlmZmllX2hlbGxtYW5fZ3JvdXBfdCBncm91cCwgY2h1bmtfdCBnLCBjaHVua190IHApCisgeworIAlwcml2YXRlX29wZW5zc2xfZGlmZmllX2hlbGxtYW5fdCAqdGhpczsKK0BAIC0xOTcsNSArMTk3LDExIEBAIG9wZW5zc2xfZGlmZmllX2hlbGxtYW5fdCAqb3BlbnNzbF9kaWZmaWVfaGVsbG1hbl9jcmVhdGUoCisgCisgCXJldHVybiAmdGhpcy0+cHVibGljOworIH0KKytvcGVuc3NsX2RpZmZpZV9oZWxsbWFuX3QgKm9wZW5zc2xfZGlmZmllX2hlbGxtYW5fY3JlYXRlKCBkaWZmaWVfaGVsbG1hbl9ncm91cF90IGdyb3VwKQorK3sKKysJY2h1bmtfdCBnOworKwljaHVua190IHA7CisrCW9wZW5zc2xfZGlmZmllX2hlbGxtYW5fY3JlYXRlX2N1c3RvbShncm91cCwgZywgcCk7CisrfQorIAorICNlbmRpZiAvKiBPUEVOU1NMX05PX0RIICovCitkaWZmIC0tZ2l0IGEvc3JjL2xpYnN0cm9uZ3N3YW4vcGx1Z2lucy9vcGVuc3NsL29wZW5zc2xfZGlmZmllX2hlbGxtYW4uaCBiL3NyYy9saWJzdHJvbmdzd2FuL3BsdWdpbnMvb3BlbnNzbC9vcGVuc3NsX2RpZmZpZV9oZWxsbWFuLmgKK2luZGV4IDUzZGM1OWMuLmViNjllYWEgMTAwNjQ0CistLS0gYS9zcmMvbGlic3Ryb25nc3dhbi9wbHVnaW5zL29wZW5zc2wvb3BlbnNzbF9kaWZmaWVfaGVsbG1hbi5oCisrKysgYi9zcmMvbGlic3Ryb25nc3dhbi9wbHVnaW5zL29wZW5zc2wvb3BlbnNzbF9kaWZmaWVfaGVsbG1hbi5oCitAQCAtNDQsOCArNDQsMTAgQEAgc3RydWN0IG9wZW5zc2xfZGlmZmllX2hlbGxtYW5fdCB7CisgICogQHBhcmFtIHAJCQkJY3VzdG9tIHByaW1lLCBpZiBNT0RQX0NVU1RPTQorICAqIEByZXR1cm4JCQkJb3BlbnNzbF9kaWZmaWVfaGVsbG1hbl90IG9iamVjdCwgTlVMTCBpZiBub3Qgc3VwcG9ydGVkCisgICovCistb3BlbnNzbF9kaWZmaWVfaGVsbG1hbl90ICpvcGVuc3NsX2RpZmZpZV9oZWxsbWFuX2NyZWF0ZSgKKytvcGVuc3NsX2RpZmZpZV9oZWxsbWFuX3QgKm9wZW5zc2xfZGlmZmllX2hlbGxtYW5fY3JlYXRlX2N1c3RvbSgKKyAJCQkJCQkJZGlmZmllX2hlbGxtYW5fZ3JvdXBfdCBncm91cCwgY2h1bmtfdCBnLCBjaHVua190IHApOworK29wZW5zc2xfZGlmZmllX2hlbGxtYW5fdCAqb3BlbnNzbF9kaWZmaWVfaGVsbG1hbl9jcmVhdGUoCisrCQkJCQkJCWRpZmZpZV9oZWxsbWFuX2dyb3VwX3QgZ3JvdXApOworIAorICNlbmRpZiAvKiogT1BFTlNTTF9ESUZGSUVfSEVMTE1BTl9IXyBAfSovCisgCitkaWZmIC0tZ2l0IGEvc3JjL2xpYnN0cm9uZ3N3YW4vcGx1Z2lucy9vcGVuc3NsL29wZW5zc2xfcGx1Z2luLmMgYi9zcmMvbGlic3Ryb25nc3dhbi9wbHVnaW5zL29wZW5zc2wvb3BlbnNzbF9wbHVnaW4uYworaW5kZXggZmYyNTA4Ni4uYzc2ODczZCAxMDA2NDQKKy0tLSBhL3NyYy9saWJzdHJvbmdzd2FuL3BsdWdpbnMvb3BlbnNzbC9vcGVuc3NsX3BsdWdpbi5jCisrKysgYi9zcmMvbGlic3Ryb25nc3dhbi9wbHVnaW5zL29wZW5zc2wvb3BlbnNzbF9wbHVnaW4uYworQEAgLTM4OCw2ICszODgsNyBAQCBNRVRIT0QocGx1Z2luX3QsIGdldF9mZWF0dXJlcywgaW50LAorIAkJCVBMVUdJTl9QUk9WSURFKERILCBNT0RQXzEwMjRfQklUKSwKKyAJCQlQTFVHSU5fUFJPVklERShESCwgTU9EUF8xMDI0XzE2MCksCisgCQkJUExVR0lOX1BST1ZJREUoREgsIE1PRFBfNzY4X0JJVCksCisrCQlQTFVHSU5fUkVHSVNURVIoREgsIG9wZW5zc2xfZGlmZmllX2hlbGxtYW5fY3JlYXRlX2N1c3RvbSksCisgCQkJUExVR0lOX1BST1ZJREUoREgsIE1PRFBfQ1VTVE9NKSwKKyAjZW5kaWYKKyAjaWZuZGVmIE9QRU5TU0xfTk9fUlNBCistLSAKKzEuOC4zCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9zdHJvbmdzd2FuL2ZpbGVzL2luc3RhbGwtc3Ryb25nc3dhbi1zd2FuY3RsLXNlcnZpY2UucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvc3Ryb25nc3dhbi9maWxlcy9pbnN0YWxsLXN0cm9uZ3N3YW4tc3dhbmN0bC1zZXJ2aWNlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2YmFjY2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvc3Ryb25nc3dhbi9maWxlcy9pbnN0YWxsLXN0cm9uZ3N3YW4tc3dhbmN0bC1zZXJ2aWNlLnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKK2NvbW1pdCA0NGNiYWJkOGE0MmJjMmE0MzY1NjJlZDMzZmI4Yzg5ZmE2Yjc1YjZlCitBdXRob3I6IENocmlzIFBhdHRlcnNvbiA8cGF0dGVyc29uY0BhaW5mb3NlYy5jb20+CitEYXRlOiAgIEZyaSBEZWMgMTggMDg6MzE6NDggMjAxNSAtMDUwMAorCisgICAgc3Ryb25nc3dhbi1zd2FuY3RsLnNlcnZpY2UuaW46IG1hdGNoIGluc3RhbGwgdXNlZCBieSBzdHJvbmdzd2FuLnNlcnZpY2UKKyAgICAKKyAgICBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBQYXR0ZXJzb24gPHBhdHRlcnNvbmNAYWluZm9zZWMuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZAoraHR0cHM6Ly9naXRodWIuY29tL3N0cm9uZ3N3YW4vc3Ryb25nc3dhbi9wdWxsLzI1CisKK2RpZmYgLS1naXQgYS9pbml0L3N5c3RlbWQtc3dhbmN0bC9zdHJvbmdzd2FuLXN3YW5jdGwuc2VydmljZS5pbiBiL2luaXQvc3lzdGVtZC1zd2FuY3RsL3N0cm9uZ3N3YW4tc3dhbmN0bC5zZXJ2aWNlLmluCitpbmRleCA4MThkMzUyLi45NDQxMDFmIDEwMDY0NAorLS0tIGEvaW5pdC9zeXN0ZW1kLXN3YW5jdGwvc3Ryb25nc3dhbi1zd2FuY3RsLnNlcnZpY2UuaW4KKysrKyBiL2luaXQvc3lzdGVtZC1zd2FuY3RsL3N0cm9uZ3N3YW4tc3dhbmN0bC5zZXJ2aWNlLmluCitAQCAtNywzICs3LDYgQEAgVHlwZT1ub3RpZnkKKyBFeGVjU3RhcnQ9QFNCSU5ESVJAL2NoYXJvbi1zeXN0ZW1kCisgRXhlY1N0YXJ0UG9zdD1AU0JJTkRJUkAvc3dhbmN0bCAtLWxvYWQtYWxsIC0tbm9wcm9tcHQKKyBFeGVjUmVsb2FkPUBTQklORElSQC9zd2FuY3RsIC0tcmVsb2FkCisrCisrW0luc3RhbGxdCisrV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9zdHJvbmdzd2FuL2ZpbGVzL3N1cHBvcnQtbmV3ZXItc3lzdGVtZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9zdHJvbmdzd2FuL2ZpbGVzL3N1cHBvcnQtbmV3ZXItc3lzdGVtZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTBjZjY3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3N0cm9uZ3N3YW4vZmlsZXMvc3VwcG9ydC1uZXdlci1zeXN0ZW1kLnBhdGNoCkBAIC0wLDAgKzEsNjkgQEAKK2NvbW1pdCA4MjQ5ODEyOWUwYTkxZGZjM2VkMmM0ZWMzYjIyNTJmNDQ2NTViODNjCitBdXRob3I6IENocmlzIFBhdHRlcnNvbiA8cGF0dGVyc29uY0BhaW5mb3NlYy5jb20+CitEYXRlOiAgIEZyaSBEZWMgMTggMDg6Mjc6NTcgMjAxNSAtMDUwMAorCisgICAgY29uZmlndXJlOiBzdXBwb3J0IHN5c3RlbWQgPj0gMjA5CisgICAgCisgICAgbGlic3lzdGVtZC1qb3VybmFsIGFuZCBsaWJzeXN0ZW1kLWRhZW1vbiBhcmUgbm93IGp1c3QKKyAgICBwYXJ0IG9mIGxpYnN5c3RlbWQuCisgICAgCisgICAgS2VlcCBvcmlnaW5hbCBzeXN0ZW1kIGNoZWNrcyBhcyBhIGZhbGxiYWNrLgorICAgIAorICAgIFVwZGF0ZXMgY2hhcm9uLXN5c3RlbWQvTWFrZWZpbGUuYW0gYWNjb3JkaW5nbHkuCisgICAgCisgICAgVGVzdGVkIG9uOgorICAgIC0gZGViaWFuIHdoZWV6eSAoc3lzdGVtZCB2NDQpCisgICAgLSB1YnVudHUgMTUuMTAgKHN5c3RlbWQgdjI1NSkuCisgICAgCisgICAgU2lnbmVkLW9mZi1ieTogQ2hyaXMgUGF0dGVyc29uIDxwYXR0ZXJzb25jQGFpbmZvc2VjLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKK2h0dHBzOi8vZ2l0aHViLmNvbS9zdHJvbmdzd2FuL3N0cm9uZ3N3YW4vcHVsbC8yNAorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCAzZDcxY2UwLi5mNmMwNDI2IDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC05NDEsMTMgKzk0MSwxNyBAQCBpZiB0ZXN0IHgkc3lzdGVtZCA9IHh0cnVlOyB0aGVuCisgCQlBQ19NU0dfRVJST1IoW25vdCBmb3VuZCAodHJ5IC0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcildKQorIAlmaQorIAorLQlQS0dfQ0hFQ0tfTU9EVUxFUyhzeXN0ZW1kX2RhZW1vbiwgW2xpYnN5c3RlbWQtZGFlbW9uXSkKKy0JQUNfU1VCU1Qoc3lzdGVtZF9kYWVtb25fQ0ZMQUdTKQorLQlBQ19TVUJTVChzeXN0ZW1kX2RhZW1vbl9MSUJTKQorLQorLQlQS0dfQ0hFQ0tfTU9EVUxFUyhzeXN0ZW1kX2pvdXJuYWwsIFtsaWJzeXN0ZW1kLWpvdXJuYWxdKQorLQlBQ19TVUJTVChzeXN0ZW1kX2pvdXJuYWxfQ0ZMQUdTKQorLQlBQ19TVUJTVChzeXN0ZW1kX2pvdXJuYWxfTElCUykKKysJUEtHX0NIRUNLX01PRFVMRVMoc3lzdGVtZCwgW2xpYnN5c3RlbWQgPj0gMjA5XSwKKysJCVtBQ19TVUJTVChzeXN0ZW1kX0NGTEFHUykKKysJCUFDX1NVQlNUKHN5c3RlbWRfTElCUyldLAorKwkJW1BLR19DSEVDS19NT0RVTEVTKHN5c3RlbWRfZGFlbW9uLCBbbGlic3lzdGVtZC1kYWVtb25dKQorKwkJQUNfU1VCU1Qoc3lzdGVtZF9kYWVtb25fQ0ZMQUdTKQorKwkJQUNfU1VCU1Qoc3lzdGVtZF9kYWVtb25fTElCUykKKysKKysJCVBLR19DSEVDS19NT0RVTEVTKHN5c3RlbWRfam91cm5hbCwgW2xpYnN5c3RlbWQtam91cm5hbF0pCisrCQlBQ19TVUJTVChzeXN0ZW1kX2pvdXJuYWxfQ0ZMQUdTKQorKwkJQUNfU1VCU1Qoc3lzdGVtZF9qb3VybmFsX0xJQlMpCisrCQldKQorIGZpCisgCisgaWYgdGVzdCB4JHRzcyA9IHh0cm91c2VyczsgdGhlbgorZGlmZiAtLWdpdCBhL3NyYy9jaGFyb24tc3lzdGVtZC9NYWtlZmlsZS5hbSBiL3NyYy9jaGFyb24tc3lzdGVtZC9NYWtlZmlsZS5hbQoraW5kZXggMWI5YWMxNS4uZWU4NWQ0MyAxMDA2NDQKKy0tLSBhL3NyYy9jaGFyb24tc3lzdGVtZC9NYWtlZmlsZS5hbQorKysrIGIvc3JjL2NoYXJvbi1zeXN0ZW1kL01ha2VmaWxlLmFtCitAQCAtOSwxMSArOSwxMSBAQCBjaGFyb25fc3lzdGVtZF9DUFBGTEFHUyA9IFwKKyAJLUkkKHRvcF9zcmNkaXIpL3NyYy9saWJzdHJvbmdzd2FuIFwKKyAJLUkkKHRvcF9zcmNkaXIpL3NyYy9saWJoeWRyYSBcCisgCS1JJCh0b3Bfc3JjZGlyKS9zcmMvbGliY2hhcm9uIFwKKy0JJChzeXN0ZW1kX2RhZW1vbl9DRkxBR1MpICQoc3lzdGVtZF9qb3VybmFsX0NGTEFHUykgXAorKwkkKHN5c3RlbWRfQ0ZMQUdTKSAkKHN5c3RlbWRfZGFlbW9uX0NGTEFHUykgJChzeXN0ZW1kX2pvdXJuYWxfQ0ZMQUdTKSBcCisgCS1EUExVR0lOUz1cIiIke2NoYXJvbl9wbHVnaW5zfVwiIgorIAorIGNoYXJvbl9zeXN0ZW1kX0xEQUREID0gXAorIAkkKHRvcF9idWlsZGRpcikvc3JjL2xpYnN0cm9uZ3N3YW4vbGlic3Ryb25nc3dhbi5sYSBcCisgCSQodG9wX2J1aWxkZGlyKS9zcmMvbGliaHlkcmEvbGliaHlkcmEubGEgXAorIAkkKHRvcF9idWlsZGRpcikvc3JjL2xpYmNoYXJvbi9saWJjaGFyb24ubGEgXAorLQkkKHN5c3RlbWRfZGFlbW9uX0xJQlMpICQoc3lzdGVtZF9qb3VybmFsX0xJQlMpIC1sbSAkKFBUSFJFQURMSUIpICQoRExMSUIpCisrCSQoc3lzdGVtZF9MSUJTKSAkKHN5c3RlbWRfZGFlbW9uX0xJQlMpICQoc3lzdGVtZF9qb3VybmFsX0xJQlMpIC1sbSAkKFBUSFJFQURMSUIpICQoRExMSUIpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvc3Ryb25nc3dhbi9zdHJvbmdzd2FuXzUuMy4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3N0cm9uZ3N3YW4vc3Ryb25nc3dhbl81LjMuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZWMxYThlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3N0cm9uZ3N3YW4vc3Ryb25nc3dhbl81LjMuMi5iYgpAQCAtMCwwICsxLDU3IEBACitERVNDUklQVElPTiA9ICJzdHJvbmdTd2FuIGlzIGFuIE9wZW5Tb3VyY2UgSVBzZWMgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBcCitMaW51eCBvcGVyYXRpbmcgc3lzdGVtLiIKK1NVTU1BUlkgPSAic3Ryb25nU3dhbiBpcyBhbiBPcGVuU291cmNlIElQc2VjIGltcGxlbWVudGF0aW9uIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5zdHJvbmdzd2FuLm9yZyIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorREVQRU5EUyA9ICJnbXAgb3BlbnNzbCBmbGV4LW5hdGl2ZSBmbGV4IGJpc29uLW5hdGl2ZSIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQuc3Ryb25nc3dhbi5vcmcvc3Ryb25nc3dhbi0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgZmlsZTovL2ZpeC1mdW50aW9uLXBhcmFtZXRlci5wYXRjaCBcCisgICAgICAgIGZpbGU6Ly9zdXBwb3J0LW5ld2VyLXN5c3RlbWQucGF0Y2ggXAorICAgICAgICBmaWxlOi8vaW5zdGFsbC1zdHJvbmdzd2FuLXN3YW5jdGwtc2VydmljZS5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmYWIwMTRiZTE0NzdlZjRlYmY5YTc2NWUxMGY4ODAyYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhNGE5YmM4YzRlNDJiZGM0MzY2YTg3YTA1YTAyYmY5ZjQyNTE2OWE3YWIwYzZmNDQ4MmQzNDdlNDRhY2JmMjI1IgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAgICAgLS13aXRob3V0LWxpYi1wcmVmaXggXAorIgorCitFWFRSQV9PRUNPTkYgKz0gIiR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJy0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLycsICctLXdpdGhvdXQtc3lzdGVtZHN5c3RlbXVuaXRkaXInLCBkKX0iCisKKworUEFDS0FHRUNPTkZJRyA/Pz0gImNoYXJvbiBjdXJsIGdtcCBvcGVuc3NsIHN0cm9rZSBzcWxpdGUzIFwKKyAgICAgICAgJHtAYmFzZV9jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2xkYXAnLCAnbGRhcCcsICcnLCBkKX0gXAorIgorUEFDS0FHRUNPTkZJR1thZXNuaV0gPSAiLS1lbmFibGUtYWVzbmksLS1kaXNhYmxlLWFlc25pLCIKK1BBQ0tBR0VDT05GSUdbY2hhcm9uXSA9ICItLWVuYWJsZS1jaGFyb24sLS1kaXNhYmxlLWNoYXJvbiwiCitQQUNLQUdFQ09ORklHW2N1cmxdID0gIi0tZW5hYmxlLWN1cmwsLS1kaXNhYmxlLWN1cmwsY3VybCwiCitQQUNLQUdFQ09ORklHW2dtcF0gPSAiLS1lbmFibGUtZ21wLC0tZGlzYWJsZS1nbXAsZ21wLCIKK1BBQ0tBR0VDT05GSUdbbGRhcF0gPSAiLS1lbmFibGUtbGRhcCwtLWRpc2FibGUtbGRhcCxvcGVubGRhcCwiCitQQUNLQUdFQ09ORklHW215c3FsXSA9ICItLWVuYWJsZS1teXNxbCwtLWRpc2FibGUtbXlzcWwsbXlzcWw1LCIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS1lbmFibGUtb3BlbnNzbCwtLWRpc2FibGUtb3BlbnNzbCxvcGVuc3NsLCIKK1BBQ0tBR0VDT05GSUdbc2NlcF0gPSAiLS1lbmFibGUtc2NlcGNsaWVudCwtLWRpc2FibGUtc2NlcGNsaWVudCwiCitQQUNLQUdFQ09ORklHW3NvdXBdID0gIi0tZW5hYmxlLXNvdXAsLS1kaXNhYmxlLXNvdXAsbGlic291cC0yLjQsIgorUEFDS0FHRUNPTkZJR1tzcWxpdGUzXSA9ICItLWVuYWJsZS1zcWxpdGUsLS1kaXNhYmxlLXNxbGl0ZSxzcWxpdGUzLCIKK1BBQ0tBR0VDT05GSUdbc3Ryb2tlXSA9ICItLWVuYWJsZS1zdHJva2UsLS1kaXNhYmxlLXN0cm9rZSwiCitQQUNLQUdFQ09ORklHW3N3YW5jdGxdID0gIi0tZW5hYmxlLXN3YW5jdGwsLS1kaXNhYmxlLXN3YW5jdGwsLGxpYmdjYyIKKworIyByZXF1aXJlcyBzd2FuY3RsCitQQUNLQUdFQ09ORklHW3N5c3RlbWQtY2hhcm9uXSA9ICItLWVuYWJsZS1zeXN0ZW1kLC0tZGlzYWJsZS1zeXN0ZW1kLHN5c3RlbWQsIgorCitpbmhlcml0IGF1dG90b29scyBzeXN0ZW1kIHBrZ2NvbmZpZworCitSUkVDT01NRU5EU18ke1BOfSA9ICJrZXJuZWwtbW9kdWxlLWlwc2VjIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2lwc2VjL2xpYioke1NPTElCU30gJHtsaWJkaXJ9L2lwc2VjL3BsdWdpbnMvKi5zbyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2lwc2VjLy5kZWJ1ZyAke2xpYmRpcn0vaXBzZWMvcGx1Z2lucy8uZGVidWcgJHtsaWJleGVjZGlyfS9pcHNlYy8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9pcHNlYy9saWIqJHtTT0xJQlNERVZ9ICR7bGliZGlyfS9pcHNlYy8qLmxhICR7bGliZGlyfS9pcHNlYy9wbHVnaW5zLyoubGEiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9pcHNlYy8qLmEgJHtsaWJkaXJ9L2lwc2VjL3BsdWdpbnMvKi5hIgorCitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3N3YW5jdGwnLCAnJHtCUE59LXN3YW5jdGwuc2VydmljZScsICcke0JQTn0uc2VydmljZScsIGQpfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9zdHVubmVsL3N0dW5uZWxfNS4yOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9zdHVubmVsL3N0dW5uZWxfNS4yOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYThiY2Q4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3N0dW5uZWwvc3R1bm5lbF81LjI4LmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiUHJvZ3JhbSBmb3IgcHJvdmlkaW5nIHVuaXZlcnNhbCBUTFMvU1NMIHR1bm5lbGluZyBzZXJ2aWNlIgorREVTQ1JJUFRJT04gPSAiU1NMIGVuY3J5cHRpb24gd3JhcHBlciBiZXR3ZWVuIHJlbW90ZSBjbGllbnQgYW5kIGxvY2FsIChpbmV0ZC1zdGFydGFibGUpIG9yIHJlbW90ZSBzZXJ2ZXIuIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ODY2Y2RjNzQ1OWQ5MWUwOTJiMTc0Mzg4ZmFiOGQyODMiCitERVBFTkRTID0gIm9wZW5zc2wgemxpYiB0Y3Atd3JhcHBlcnMiCisKK1JERVBFTkRTXyR7UE59ICs9ICJwZXJsIgorCitTUkNfVVJJID0gImZ0cDovL2Z0cC5zdHVubmVsLm9yZy9zdHVubmVsL2FyY2hpdmUvNS54LyR7QlB9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjJjMzlhZTBiZTc3MWY5MWJmNWIwMjA1YmVhZmRkY2E2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjlhMjViODdiMWVmMGMwOGZhM2Q3OTZlZGNlMDdiNDQwOGU2YThhY2VjZTIzZGUyZWI3ZWU5Mjg1Yjc4ODUyYjUiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0VYVFJBX09FQ09ORiArPSAiLS13aXRoLXNzbD0nJHtTVEFHSU5HX0VYRUNQUkVGSVhESVJ9JyAtLWRpc2FibGUtZmlwcyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCdzeXN0ZW1kJywnJyxkKX0iCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0tZW5hYmxlLXN5c3RlbWQsLS1kaXNhYmxlLXN5c3RlbWQsc3lzdGVtZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcGR1bXAvYWRkLXB0ZXN0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwZHVtcC9hZGQtcHRlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4ZjYwNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcGR1bXAvYWRkLXB0ZXN0LnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK0Zyb20gN2IyNTk1ODA4MDBlMjU5ZDIzMjIyOWRjODlmOTcwNThiNTZlMmZlOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ICJIb25nanVuLllhbmciIDxob25nanVuLnlhbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgMjIgT2N0IDIwMTQgMTA6MDI6NDggKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRkIHB0ZXN0IGZvciB0Y3BkdW1wCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBIb25nanVuLllhbmcgPGhvbmdqdW4ueWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgTWFrZWZpbGUuaW4gfCAxMCArKysrKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW4gYi9NYWtlZmlsZS5pbgoraW5kZXggOGMzNWE0NS4uNGZiOGFlNiAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmluCisrKysgYi9NYWtlZmlsZS5pbgorQEAgLTQyOCw5ICs0MjgsMTcgQEAgZGlzdGNsZWFuOgorIAkgICAgdGVzdHMvZmFpbHVyZS1vdXRwdXRzLnR4dAorIAlybSAtcmYgYXV0b200dGUuY2FjaGUgdGVzdHMvRElGRiB0ZXN0cy9ORVcKKyAKKy1jaGVjazogdGNwZHVtcAorK2J1aWxkdGVzdC1URVNUUzogdGNwZHVtcAorKworK3J1bnRlc3QtUFRFU1Q6CisgCShjZCB0ZXN0cyAmJiAuL1RFU1RydW4uc2gpCisgCisraW5zdGFsbC1wdGVzdDoKKysJY3AgLXIgdGVzdHMJCQkkKERFU1RESVIpIAorKwljcCAtciBjb25maWcuaAkJCSQoREVTVERJUikKKysJaW5zdGFsbCAtbSAwNzU1IE1ha2VmaWxlIAkkKERFU1RESVIpCisrCWxuIC1zZiAvdXNyL3NiaW4vdGNwZHVtcAkkKERFU1RESVIpL3RjcGR1bXAKKysKKyB0YWdzOiAkKFRBR0ZJTEVTKQorIAljdGFncyAtd3RkICQoVEFHRklMRVMpCisgCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcGR1bXAvcnVuLXB0ZXN0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwZHVtcC9ydW4tcHRlc3QKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzAzYThiOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcGR1bXAvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsNSBAQAorIyEvYmluL3NoCittYWtlIC1rIHJ1bnRlc3QtUFRFU1QgfCBzZWQgLWUgJy86IHBhc3NlZC8gcy9eL1BBU1M6IC9nJyBcCisJCQktZSAnLzogZmFpbGVkLyBzL14vRkFJTDogL2cnIFwKKwkJCS1lICdzLzogcGFzc2VkLy9nJyBcCisJCQktZSAncy86IGZhaWxlZC8vZycKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcGR1bXAvdGNwZHVtcC1jb25maWd1cmUtZGxwaS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcGR1bXAvdGNwZHVtcC1jb25maWd1cmUtZGxwaS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MGUyZDU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwZHVtcC90Y3BkdW1wLWNvbmZpZ3VyZS1kbHBpLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK1tQQVRDSF0gdGNwZHVtcDogY3Jvc3MtY29tcGlsaW5nIG5vdCBjaGVjayBkbHBpLgorCitGb3IgY3Jvc3MtY29tcGlsaW5nIG9uIExpbnV4IHBsYXRmb3Jtcywgd2UgZG8gbm90IG5lZWQgdG8gY2hlY2sgbGliZGxwaSAKK3NpbmNlIGl0IGlzIG9ubHkgcGxhY2VkIG9uIFNvbGFyaXMuCitBbHNvLCBjaGVja2luZyBsaWJkbHBpIGluIG5hdGl2ZSAvbGliIHdvdWxkIGNhdXNlIGRvX3FhX2NvbmZpZ3VyZSBmYWlsLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcuCisKK1NpZ25lZC1vZmYtYnk6IFhpbiBPdXlhbmcgPFhpbi5PdXlhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5pbiB8ICAgIDQgKysrLQorIDEgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCitpbmRleCA3Zjk1OTFjLi5jYTI3N2MwIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmluCisrKysgYi9jb25maWd1cmUuaW4KK0BAIC03MTYsNyArNzE2LDkgQEAgZG9uJ3QuXSkKKyBmaQorIAorICMgbGliZGxwaSBpcyBuZWVkZWQgZm9yIFNvbGFyaXMgMTEgYW5kIGxhdGVyLgorLUFDX0NIRUNLX0xJQihkbHBpLCBkbHBpX3dhbGssIExJQlM9IiRMSUJTIC1sZGxwaSIgTERGTEFHUz0iLUwvbGliICRMREZMQUdTIiwgLC1ML2xpYikKKytpZiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiAhPSB5ZXM7IHRoZW4KKysJQUNfQ0hFQ0tfTElCKGRscGksIGRscGlfd2FsaywgTElCUz0iJExJQlMgLWxkbHBpIiBMREZMQUdTPSItTC9saWIgJExERkxBR1MiLCAsLUwvbGliKQorK2ZpCisgCisgZG5sIHBvcnRhYmlsaXR5IG1hY3JvcyBmb3IgZ2V0YWRkcmluZm8vZ2V0bmFtZWluZm8KKyBkbmwKKy0tIAorMS43LjUuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwZHVtcC90Y3BkdW1wL3VubmVjZXNzYXJ5LXRvLWNoZWNrLWxpYnBjYXAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwZHVtcC90Y3BkdW1wL3VubmVjZXNzYXJ5LXRvLWNoZWNrLWxpYnBjYXAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDdhM2FjMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcGR1bXAvdW5uZWNlc3NhcnktdG8tY2hlY2stbGlicGNhcC5wYXRjaApAQCAtMCwwICsxLDMzIEBACit1bm5lY2Vzc2FyeSB0byBjaGVjayBsaWJwY2FwCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitzaW5jZSB0aGUgY2hlY2sgb2YgbGlicGNhcCBkaWQgbm90IGNvbnNpZGVyIHRoZSBjcm9zcy1jb21waWxlLCBsZWFkIHRvIHRoZQorYmVsb3cgZXJyb3I6CisJVGhpcyBhdXRvY29uZiBsb2cgaW5kaWNhdGVzIGVycm9ycywgaXQgbG9va2VkIGF0IGhvc3QgaW5jbHVkZSBhbmQvb3IKKwlsaWJyYXJ5IHBhdGhzIHdoaWxlIGRldGVybWluaW5nIHN5c3RlbSBjYXBhYmlsaXRpZXMuCisKK0luIGZhY3QsIHRoZSBsaWJwY2FwIGhhcyBiZWVuIGFkZGVkIGludG8gdGhlIHRjcGR1bXAncyBERVBFTkRTLCBub3QgbmVlZCB0bworY2hlY2sgaWYgbGlicGNhcCBleGlzdGVkLgorCitTaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBjb25maWd1cmUuaW4gfCAgICAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KK2luZGV4IDA2ZmFkZTEuLjkxMjVkZTcgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuaW4KKysrKyBiL2NvbmZpZ3VyZS5pbgorQEAgLTU2Nyw3ICs1NjcsNyBAQCBBQ19TRUFSQ0hfTElCUyhnZXRycGNieW51bWJlciwgbnNsLAorIGRubCBBQ19DSEVDS19MSUIoeiwgdW5jb21wcmVzcykKKyBkbmwgQUNfQ0hFQ0tfSEVBREVSUyh6bGliLmgpCisgCistQUNfTEJMX0xJQlBDQVAoVl9QQ0FQREVQLCBWX0lOQ0xTKQorKyNBQ19MQkxfTElCUENBUChWX1BDQVBERVAsIFZfSU5DTFMpCisgCisgIworICMgQ2hlY2sgZm9yIHRoZXNlIGFmdGVyIEFDX0xCTF9MSUJQQ0FQLCBzbyB3ZSBsaW5rIHdpdGggdGhlIGFwcHJvcHJpYXRlCistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwZHVtcF80LjcuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcGR1bXBfNC43LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTUwZTU1ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcGR1bXBfNC43LjQuYmIKQEAgLTAsMCArMSw1MSBAQAorU1VNTUFSWSA9ICJBIHNvcGhpc3RpY2F0ZWQgbmV0d29yayBwcm90b2NvbCBhbmFseXplciIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cudGNwZHVtcC5vcmcvIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0xZDRiMDM2NjU1Nzk1MWM4NGE5NGZhYmUzNTI5Zjg2NyIKK1NFQ1RJT04gPSAibmV0IgorREVQRU5EUyA9ICJsaWJwY2FwIgorCitTUkNfVVJJID0gIiBcCisgICAgaHR0cDovL3d3dy50Y3BkdW1wLm9yZy9yZWxlYXNlLyR7QlB9LnRhci5neiBcCisgICAgZmlsZTovL3VubmVjZXNzYXJ5LXRvLWNoZWNrLWxpYnBjYXAucGF0Y2ggXAorICAgIGZpbGU6Ly90Y3BkdW1wLWNvbmZpZ3VyZS1kbHBpLnBhdGNoIFwKKyAgICBmaWxlOi8vYWRkLXB0ZXN0LnBhdGNoIFwKKyAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1OGFmNzI4ZGUzNmY0OTkzNDE5MThmYzRiOGU4MjdjMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2YmU1MjAyNjlhODkwMzZmOTljMGIyMTI2NzEzYTYwOTY1OTUzZWFiOTIxMDAyYjA3NjA4Y2NmYzBjNDdkOWFmIgorZXhwb3J0IExJQlM9IiAtbHBjYXAiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwdGVzdAorQ0FDSEVEX0NPTkZJR1VSRVZBUlMgPSAiYWNfY3ZfbGludXhfdmVycz0ke2FjX2N2X2xpbnV4X3ZlcnM9Mn0iCisKK1BBQ0tBR0VDT05GSUcgPz89ICJvcGVuc3NsIGlwdjYiCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC1jcnlwdG89eWVzLCAtLXdpdGhvdXQtb3BlbnNzbCAtLXdpdGhvdXQtY3J5cHRvLCBvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LCAtLWRpc2FibGUtaXB2NiwiCitQQUNLQUdFQ09ORklHW3NtaV0gPSAiLS13aXRoLXNtaSwgLS13aXRob3V0LXNtaSxsaWJzbWkiCitQQUNLQUdFQ09ORklHW2xpYmNhcC1uZ10gPSAiLS13aXRoLWNhcC1uZz15ZXMsLS13aXRoLWNhcC1uZz1ubyxsaWJjYXAtbmciCisKK0VYVFJBX0FVVE9SRUNPTkYgKz0gIiAtSSBtNCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgbWtkaXIgLXAgJHtTfS9tNAorICAgIGlmIFsgLWYgYWNsb2NhbC5tNCBdOyB0aGVuCisgICAgICAgIG12IGFjbG9jYWwubTQgJHtTfS9tNAorICAgIGZpCisgICAgIyBBQ19DSEVDS19MSUIoZGxwaS4uIHdhcyBsb29raW5nIHRvIGhvc3QgL2xpYgorICAgIHNlZCAtaSAnczotTC9saWI6OmcnIC4vY29uZmlndXJlLmluCit9Citkb19jb25maWd1cmVfYXBwZW5kKCkgeworICAgIHNlZCAtaSAnczotTC91c3IvbGliOjonIC4vTWFrZWZpbGUKKyAgICBzZWQgLWkgJ3M6LVdsLC1ycGF0aCwke1NUQUdJTkdfTElCRElSfTo6JyAuL01ha2VmaWxlCisgICAgc2VkIC1pICdzOi1JL3Vzci9pbmNsdWRlOjonIC4vTWFrZWZpbGUKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyB0Y3BkdW1wIDQuMC4wIGluc3RhbGxzIGEgY29weSB0byAvdXNyL3NiaW4vdGNwZHVtcC40LjAuMAorICAgIHJtIC1mICR7RH0ke3NiaW5kaXJ9L3RjcGR1bXAuJHtQVn0KK30KKworZG9fY29tcGlsZV9wdGVzdCgpIHsKKwlvZV9ydW5tYWtlIGJ1aWxkdGVzdC1URVNUUworfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwc2xpY2UvdGNwc2xpY2UtMS4yYTMtdGltZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcHNsaWNlL3RjcHNsaWNlLTEuMmEzLXRpbWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzg2YjdmOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcHNsaWNlL3RjcHNsaWNlLTEuMmEzLXRpbWUucGF0Y2gKQEAgLTAsMCArMSw3NSBAQAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nIFtmcm9tIHRjcGR1bXAtNC4xLjEtMS5mYzE0LnNyYy5ycG1dCisKK1NpZ25lZC1vZmYtYnk6IFJveSBMaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKworLS0tIHRjcHNsaWNlLTEuMmEzLm9yaWcvc2VhcmNoLmMJMjAwMC0wOS0xMCAxMDo1Mjo0MC4wMDAwMDAwMDAgKzAyMDAKKysrKyB0Y3BzbGljZS0xLjJhMy9zZWFyY2guYwkyMDA2LTA3LTI4IDE0OjU2OjU1LjAwMDAwMDAwMCArMDIwMAorQEAgLTUzLDcgKzUzLDcgQEAKKyAvKiBTaXplIG9mIGEgcGFja2V0IGhlYWRlciBpbiBieXRlczsgZWFzaWVyIHRoYW4gdHlwaW5nIHRoZSBzaXplb2YoKSBhbGwKKyAgKiB0aGUgdGltZSAuLi4KKyAgKi8KKy0jZGVmaW5lIFBBQ0tFVF9IRFJfTEVOIChzaXplb2YoIHN0cnVjdCBwY2FwX3BrdGhkciApKQorKyNkZWZpbmUgUEFDS0VUX0hEUl9MRU4gKHNpemVvZiggc3RydWN0IHBjYXBfc2ZfcGt0aGRyICkpCisgCisgZXh0ZXJuIGludCBzbmFwbGVuOworIAorQEAgLTExMSwxNiArMTExLDI0IEBACisgc3RhdGljIHZvaWQKKyBleHRyYWN0X2hlYWRlciggcGNhcF90ICpwLCB1X2NoYXIgKmJ1Ziwgc3RydWN0IHBjYXBfcGt0aGRyICpoZHIgKQorIAl7CistCW1lbWNweSgoY2hhciAqKSBoZHIsIChjaGFyICopIGJ1Ziwgc2l6ZW9mKHN0cnVjdCBwY2FwX3BrdGhkcikpOworKwlzdHJ1Y3QgcGNhcF9zZl9wa3RoZHIgaGRyaTsKKysKKysJbWVtY3B5KChjaGFyICopICZoZHJpLCAoY2hhciAqKSBidWYsIHNpemVvZihzdHJ1Y3QgcGNhcF9zZl9wa3RoZHIpKTsKKyAKKyAJaWYgKCBwY2FwX2lzX3N3YXBwZWQoIHAgKSApCisgCQl7CistCQloZHItPnRzLnR2X3NlYyA9IFNXQVBMT05HKGhkci0+dHMudHZfc2VjKTsKKy0JCWhkci0+dHMudHZfdXNlYyA9IFNXQVBMT05HKGhkci0+dHMudHZfdXNlYyk7CistCQloZHItPmxlbiA9IFNXQVBMT05HKGhkci0+bGVuKTsKKy0JCWhkci0+Y2FwbGVuID0gU1dBUExPTkcoaGRyLT5jYXBsZW4pOworKwkJaGRyLT50cy50dl9zZWMgPSBTV0FQTE9ORyhoZHJpLnRzLnR2X3NlYyk7CisrCQloZHItPnRzLnR2X3VzZWMgPSBTV0FQTE9ORyhoZHJpLnRzLnR2X3VzZWMpOworKwkJaGRyLT5sZW4gPSBTV0FQTE9ORyhoZHJpLmxlbik7CisrCQloZHItPmNhcGxlbiA9IFNXQVBMT05HKGhkcmkuY2FwbGVuKTsKKysJCX0KKysJZWxzZQorKwkJeworKwkJaGRyLT50cy50dl9zZWMgPSBoZHJpLnRzLnR2X3NlYzsKKysJCWhkci0+dHMudHZfdXNlYyA9IGhkcmkudHMudHZfdXNlYzsKKysJCWhkci0+bGVuID0gaGRyaS5sZW47CisrCQloZHItPmNhcGxlbiA9IGhkcmkuY2FwbGVuOworIAkJfQorLQorIAkvKgorIAkgKiBGcm9tIGJwZi9saWJwY2FwL3NhdmVmaWxlLmM6CisgCSAqCistLS0gdGNwc2xpY2UtMS4yYTMub3JpZy90Y3BzbGljZS5oCTE5OTUtMTEtMDIgMDA6NDA6NTMuMDAwMDAwMDAwICswMTAwCisrKysgdGNwc2xpY2UtMS4yYTMvdGNwc2xpY2UuaAkyMDA2LTA3LTI4IDE0OjU2OjU1LjAwMDAwMDAwMCArMDIwMAorQEAgLTIwLDYgKzIwLDI2IEBACisgICovCisgCisgCisrI2luY2x1ZGUgPHRpbWUuaD4KKysvKiAjaW5jbHVkZSA8bmV0L2JwZi5oPiAqLworKworKy8qCisrICogVGhpcyBpcyBhIHRpbWV2YWwgYXMgc3RvcmVkIGluIGRpc2sgaW4gYSBkdW1wZmlsZS4KKysgKiBJdCBoYXMgdG8gdXNlIHRoZSBzYW1lIHR5cGVzIGV2ZXJ5d2hlcmUsIGluZGVwZW5kZW50IG9mIHRoZSBhY3R1YWwKKysgKiBgc3RydWN0IHRpbWV2YWwnCisrICovCisrCisrc3RydWN0IHBjYXBfdGltZXZhbCB7CisrICAgIGJwZl9pbnQzMiB0dl9zZWM7ICAgICAgICAgICAvKiBzZWNvbmRzICovCisrICAgIGJwZl9pbnQzMiB0dl91c2VjOyAgICAgICAgICAvKiBtaWNyb3NlY29uZHMgKi8KKyt9OworKworK3N0cnVjdCBwY2FwX3NmX3BrdGhkciB7CisrICAgIHN0cnVjdCBwY2FwX3RpbWV2YWwgdHM7ICAgICAvKiB0aW1lIHN0YW1wICovCisrICAgIGJwZl91X2ludDMyIGNhcGxlbjsgICAgICAgICAvKiBsZW5ndGggb2YgcG9ydGlvbiBwcmVzZW50ICovCisrICAgIGJwZl91X2ludDMyIGxlbjsgICAgICAgICAgICAvKiBsZW5ndGggdGhpcyBwYWNrZXQgKG9mZiB3aXJlKSAqLworK307CisrCisgdGltZV90CWd3dG0yc2Vjcyggc3RydWN0IHRtICp0bSApOworIAorIGludAlzZl9maW5kX2VuZCggc3RydWN0IHBjYXAgKnAsIHN0cnVjdCB0aW1ldmFsICpmaXJzdF90aW1lc3RhbXAsCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwZHVtcC90Y3BzbGljZS90Y3BzbGljZS1DVlMuMjAwMTAyMDctYnBmLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwc2xpY2UvdGNwc2xpY2UtQ1ZTLjIwMDEwMjA3LWJwZi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTczNTkzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwc2xpY2UvdGNwc2xpY2UtQ1ZTLjIwMDEwMjA3LWJwZi5wYXRjaApAQCAtMCwwICsxLDE1IEBACitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcgW2Zyb20gdGNwZHVtcC00LjEuMS0xLmZjMTQuc3JjLnJwbV0KKworU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorZGlmZiAtdXIgdGNwZHVtcC0zLjguMS90Y3BzbGljZS90Y3BzbGljZS5jIHRjcGR1bXAtMy44LjEubmV3L3RjcHNsaWNlL3RjcHNsaWNlLmMKKy0tLSB0Y3BzbGljZS90Y3BzbGljZS5jCTIwMDQtMDEtMTUgMTc6MzU6NTMuMDAwMDAwMDAwICswMTAwCisrKysgdGNwc2xpY2UvdGNwc2xpY2UuYwkyMDA0LTAxLTE1IDE2OjEyOjU3LjAwMDAwMDAwMCArMDEwMAorQEAgLTM1LDcgKzM1LDcgQEAKKyAjaW5jbHVkZSA8c3lzL2ZpbGUuaD4KKyAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyAKKy0jaW5jbHVkZSA8bmV0L2JwZi5oPgorKy8qICNpbmNsdWRlIDxuZXQvYnBmLmg+ICovCisgCisgI2luY2x1ZGUgPGN0eXBlLmg+CisgI2lmZGVmIEhBVkVfRkNOVExfSApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwc2xpY2VfMS4yYTMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwZHVtcC90Y3BzbGljZV8xLjJhMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTM3NjBmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwc2xpY2VfMS4yYTMuYmIKQEAgLTAsMCArMSwzNiBAQAorU1VNTUFSWSA9ICJ0Y3BzbGljZSIKK0RFU0NSSVBUSU9OID0gIkEgdG9vbCBmb3IgZXh0cmFjdGluZyBwYXJ0cyBvZiBhIHRjcGR1bXAgcGFja2V0IHRyYWNlLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cudGNwZHVtcC5vcmcvcmVsYXRlZC5odG1sIgorU0VDVElPTiA9ICJuZXQiCisKK0xJQ0VOU0UgPSAiQlNELTQtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vdGNwc2xpY2UuYztlbmRsaW5lPTIwO21kNT05OTUxOWUyZTUyMzRkMTY2MmE0Y2UxNmJhYTYyYzY0ZSIKKworU1JDX1VSSSA9ICJmdHA6Ly9mdHAuZWUubGJsLmdvdi8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vdGNwc2xpY2UtMS4yYTMtdGltZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly90Y3BzbGljZS1DVlMuMjAwMTAyMDctYnBmLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImUzMjljYmViN2U1ODlmMTMyZDkyYzM0NDdjNDc3MTkwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQwOTZlOGRlYmM4OThjZmFhMTZiNTMwNmYxYzQyZjhkMThiMTllMzBlNjBkYThkNGRlYjc4MWM4ZjY4NGM4NDAiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitERVBFTkRTICs9ICJsaWJwY2FwIgorCisjIFdlIGRvIG5vdCB3YW50IHRvIGF1dG9yZWNvbmYuICBXZSBtdXN0IHNwZWNpZnkgc3JjZGlyIGFzICIuIi4KKyMgV2UgaGF2ZSB0byBzZXQgdGhlIGFjX2N2XyogY2FjaGUgdmFyaWFibGVzIGFzIHdlbGwgYXMgcGFzcyB0aGUgbm9ybWFsCisjIGNyb3NzLWNvbXBpbGF0aW9uIG9wdGlvbnMgdG8gY29uZmlndXJlIQorIworZG9fY29uZmlndXJlICgpIHsKKwlvZV9ydW5jb25mIFwKKyAgICAgICAgICAgIC0tc3JjZGlyPSIuIiBcCisgICAgICAgICAgICBhY19jdl9idWlsZD0ke0JVSUxEX1NZU30gXAorICAgICAgICAgICAgYWNfY3ZfaG9zdD0ke0hPU1RfU1lTfSBcCisgICAgICAgICAgICBhY19jdl90YXJnZXQ9JHtIT1NUX1NZU30KK30KKworZG9faW5zdGFsbCAoKSB7CisJbWtkaXIgLXAgJHtEfS91c3Ivc2JpbgorCWluc3RhbGwgLWMgLW0gNTU1IHRjcHNsaWNlICR7RH0vdXNyL3NiaW4KK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcHJlcGxheS9maWxlcy90Y3ByZXBsYXktMy40LjQtY3Jvc3MtY29tcGlsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3ByZXBsYXkvZmlsZXMvdGNwcmVwbGF5LTMuNC40LWNyb3NzLWNvbXBpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTg1NmIxOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3ByZXBsYXkvZmlsZXMvdGNwcmVwbGF5LTMuNC40LWNyb3NzLWNvbXBpbGUucGF0Y2gKQEAgLTAsMCArMSw5MiBAQAorVXB0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogWm9uZ2NodW4gWXUgPFpvbmdjaHVuLll1QGZyZWVzY2FsZS5jb20+CisKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNDAyLDcgKzQwMiw2IEBACisgCisgZG5sIDAuOS42ICh3aGljaCBpcyBzdGlsbCB0aGlua3MgaXQgaXMgMC45LjUgZHVlIHRvIGEgYnVnKSBpbnRyb2R1Y2VzIGFuIGltcG9ydGFudAorIGRubCBmaXggZm9yIE9TWC4gIFNlZTogaHR0cDovL3RjcHJlcGxheS5zeW5maW4ubmV0L3RyYWMvdGlja2V0LzE2NworLWxpYnBjYXBfdmVyc2lvbl8wOTY9bm8KKyBBQ19SVU5fSUZFTFNFKEFDX0xBTkdfUFJPR1JBTShbWworICNpbmNsdWRlIDxzdHJpbmcuaD4KKyAjaW5jbHVkZSA8c3RkbGliLmg+CitAQCAtNDE5LDExICs0MTgsMTIgQEAKKyAgICAgICAgICAgICBleGl0KDApOworIAorICAgICBleGl0KDEpOworLV1dKSwgWworLSAgICBsaWJwY2FwX3ZlcnNpb25fMDk2PXllcworLV0pCisrXV0pLAorKyBbbGlicGNhcF92ZXJzaW9uXzA5Nj15ZXNdLAorKyBbbGlicGNhcF92ZXJzaW9uXzA5Nj1ub10sCisrIFtsaWJwY2FwX3ZlcnNpb25fMDk2PXllc10KKyspCisgCistbGlicGNhcF92ZXI4PW5vCisgQUNfUlVOX0lGRUxTRShBQ19MQU5HX1BST0dSQU0oW1sKKyAjaW5jbHVkZSA8c3RyaW5nLmg+CisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorQEAgLTQ0NCwxMyArNDQ0LDEyIEBACisgICAgICAgICBleGl0KDApOworIAorICAgICBleGl0KDEpOworLV1dKSwgWworLSAgICBsaWJwY2FwX3Zlcjg9eWVzCistXSwgWworLSAgICBsaWJwY2FwX3Zlcjg9bm8KKy1dKQorK11dKSwKKysgW2xpYnBjYXBfdmVyOD15ZXNdLAorKyBbbGlicGNhcF92ZXI4PW5vXSwKKysgW2xpYnBjYXBfdmVyOD15ZXNdCisrKQorIAorLWxpYnBjYXBfdmVyNz1ubworIEFDX1JVTl9JRkVMU0UoQUNfTEFOR19QUk9HUkFNKFtbCisgI2luY2x1ZGUgPHN0cmluZy5oPgorICNpbmNsdWRlIDxzdGRsaWIuaD4KK0BAIC00NjksMTEgKzQ2OCwxMSBAQAorICAgICAgICAgICAgIGV4aXQoMCk7CisgCisgICAgIGV4aXQoMSk7CistXV0pLCBbCistICAgIGxpYnBjYXBfdmVyNz15ZXMKKy1dLCBbCistICAgIGxpYnBjYXBfdmVyNz1ubworLV0pCisrXV0pLAorKyBbbGlicGNhcF92ZXI3PXllc10sCisrIFtsaWJwY2FwX3Zlcjc9bm9dLAorKyBbbGlicGNhcF92ZXI3PXllc10KKyspCisgCisgaWYgdGVzdCB4JGxpYnBjYXBfdmVyOCA9IHh5ZXMgOyB0aGVuCisgICAgIEFDX01TR19SRVNVTFQoPj0gMC44LjApCitAQCAtNzYxLDggKzc2MCw4IEBACisgCisgaGF2ZV9icGY9bm8KKyBkbmwgQ2hlY2sgZm9yIEJTRCdzIEJQRgorLUFDX01TR19DSEVDS0lORyhmb3IgQlBGIGRldmljZSBzZW5kaW5nIHN1cHBvcnQpCistQUNfVFJZX1JVTihbCisrQUNfQ0FDSEVfQ0hFQ0soW2ZvciBCUEYgZGV2aWNlIHNlbmRpbmcgc3VwcG9ydF0sIGFjX2N2X2hhdmVfYnBmLAorK1tBQ19UUllfUlVOKFsKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8c3RkbGliLmg+CisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorQEAgLTc5Niw4ICs3OTUsMTEgQEAKKyAgICAgICAgICAgICBbRG8gd2UgaGF2ZSBCUEYgZGV2aWNlIHN1cHBvcnQ/XSkKKyAgICAgQUNfTVNHX1JFU1VMVCh5ZXMpCisgICAgIGhhdmVfYnBmPXllcworLV0sWworLSAgICBBQ19NU0dfUkVTVUxUKG5vKQorK10sCisrW0FDX01TR19SRVNVTFQobm8pXSwKKytbQUNfTVNHX0VSUk9SKFtjcm9zcy1jb21waWxpbmcsCisrICBwcmVzZXR0aW5nIGFjX2N2X2hhdmVfYnBmPSh5ZXN8bm8pIHdpbGwgaGVscF0pXQorKykKKyBdKQorIAorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcHJlcGxheS9maWxlcy90Y3ByZXBsYXktMy40LjQtZml4LXVuYWJsZS10by1saW5rLWxpYnBjYXAtaXNzdWUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwcmVwbGF5L2ZpbGVzL3RjcHJlcGxheS0zLjQuNC1maXgtdW5hYmxlLXRvLWxpbmstbGlicGNhcC1pc3N1ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZjM2YzY4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcHJlcGxheS9maWxlcy90Y3ByZXBsYXktMy40LjQtZml4LXVuYWJsZS10by1saW5rLWxpYnBjYXAtaXNzdWUucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorVXB0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogWm9uZ2NodW4gWXUgPFpvbmdjaHVuLll1QGZyZWVzY2FsZS5jb20+CisKK0luZGV4OiB0Y3ByZXBsYXktMy40LjQvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdGNwcmVwbGF5LTMuNC40Lm9yaWcvY29uZmlndXJlLmFjCisrKysgdGNwcmVwbGF5LTMuNC40L2NvbmZpZ3VyZS5hYworQEAgLTM4OSw3ICszODksNyBAQCBDRkxBR1M9IiRDRkxBR1MgLUkkTFBDQVBJTkNESVIiCisgQUNfU0VBUkNIX0xJQlMoW3BjYXBfY2xvc2VdLCBbcGNhcF0sCisgICAgIExQQ0FQTElCPSIkTElCUyIsCisgICAgIEFDX0VSUk9SKFtVbmFibGUgdG8gbGluayBsaWJwY2FwIGluICR7Zm91bmRwY2FwfV0pLAorLSAgICAtbG5sKQorKyAgICAtbG5sLTMpCisgCisgQUNfU1VCU1QoTFBDQVBJTkMpCisgQUNfU1VCU1QoTFBDQVBMSUIpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwcmVwbGF5L2ZpbGVzL3RjcHJlcGxheS0zLjQuNC1pbXByb3ZlLXNlYXJjaC1mb3ItbGlicGNhcC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3ByZXBsYXkvZmlsZXMvdGNwcmVwbGF5LTMuNC40LWltcHJvdmUtc2VhcmNoLWZvci1saWJwY2FwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwZjAyNGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwcmVwbGF5L2ZpbGVzL3RjcHJlcGxheS0zLjQuNC1pbXByb3ZlLXNlYXJjaC1mb3ItbGlicGNhcC5wYXRjaApAQCAtMCwwICsxLDMzIEBACit0Y3ByZXBsYXk6IGltcHJvdmUgc2VhcmNoIGZvciBsaWJwY2FwCisKK0FkZCBhIHRlc3Qgd2hpY2ggd2lsbCBmaW5kIGxpYnBjYXAgaWYgJHRlc3RkaXIvLi4gaXMgYSBzeXNyb290LgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSm9lIFNsYXRlciA8am9lLnNsYXRlckB3aW5kcml2ZXIuY29tPgorCisKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMzUwLDE0ICszNTAsMjAgQEAgZm9yIHRlc3RkaXIgaW4gJHRyeXBjYXBkaXIgL3Vzci9sb2NhbCAvbworICAgICBpZiB0ZXN0IC1mICIke3Rlc3RkaXJ9L2luY2x1ZGUvcGNhcC5oIiAtYSAkZm91bmRwY2FwID0gbm8gOyB0aGVuCisgICAgICAgICBMUENBUElOQz0iJHt0ZXN0ZGlyfS9pbmNsdWRlL3BjYXAuaCIKKyAgICAgICAgIExQQ0FQSU5DRElSPSIke3Rlc3RkaXJ9L2luY2x1ZGUiCisrICAgICAgICAjIElmIHRlc3RkaXIvLi4gaXMgYSBzeXNyb290LCB0aGVuIHNEaXIgc2hvdWxkIHBvaW50IHRvIHdoZXJlIHRoZSBsaWJyYXJpZXMgYXJlLgorKyAgICAgICAgc0Rpcj0kKHJlYWRsaW5rIC1tICR7dGVzdGRpcn0vLi4vJHtsaWJkaXJ9KQorICAgICAgICAgaWYgdGVzdCAkZHluYW1pY19saW5rID0geWVzOyB0aGVuCistICAgICAgICAgICAgaWYgdGVzdCAtZiAiJHt0ZXN0ZGlyfS9saWI2NC9saWJwY2FwJHtzaHJleHRfY21kc30iIDsgdGhlbgorKyAgICAgICAgICAgIGlmIHRlc3QgLWYgIiR7c0Rpcn0vbGlicGNhcCR7c2hyZXh0X2NtZHN9IiA7IHRoZW4KKysgICAgICAgICAgICAgICAgTFBDQVBMSUI9Ii1MJHtzRGlyfSAtbHBjYXAiCisrICAgICAgICAgICAgZWxpZiB0ZXN0IC1mICIke3Rlc3RkaXJ9L2xpYjY0L2xpYnBjYXAke3NocmV4dF9jbWRzfSIgOyB0aGVuCisgICAgICAgICAgICAgICAgIExQQ0FQTElCPSItTCR7dGVzdGRpcn0vbGliNjQgLWxwY2FwIgorICAgICAgICAgICAgIGVsaWYgdGVzdCAtZiAiJHt0ZXN0ZGlyfS9saWIvbGlicGNhcCR7c2hyZXh0X2NtZHN9IiA7IHRoZW4KKyAgICAgICAgICAgICAgICAgTFBDQVBMSUI9Ii1MJHt0ZXN0ZGlyfS9saWIgLWxwY2FwIgorICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgQUNfRVJST1IoW1VuYWJsZSB0byBmaW5kIGxpYnBjYXAgaW4gJHt0ZXN0ZGlyfV0pCisgICAgICAgICAgICAgZmkKKysgICAgICAgIGVsaWYgdGVzdCAtZiAiJHtzRGlyfS9saWJwY2FwLiR7bGliZXh0fSIgOyB0aGVuCisrICAgICAgICAgICAgTFBDQVBMSUI9IiR7c0Rpcn0vbGlicGNhcC4ke2xpYmV4dH0iCisgICAgICAgICBlbGlmIHRlc3QgLWYgIiR7dGVzdGRpcn0vbGliNjQvbGlicGNhcC4ke2xpYmV4dH0iIDsgdGhlbgorICAgICAgICAgICAgIExQQ0FQTElCPSIke3Rlc3RkaXJ9L2xpYjY0L2xpYnBjYXAuJHtsaWJleHR9IgorICAgICAgICAgZWxpZiB0ZXN0IC1mICIke3Rlc3RkaXJ9L2xpYi9saWJwY2FwLiR7bGliZXh0fSIgOyB0aGVuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwcmVwbGF5L2ZpbGVzL3RjcHJlcGxheS0zLjQuNC1uby1iZnAtc3VwcG9ydC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3ByZXBsYXkvZmlsZXMvdGNwcmVwbGF5LTMuNC40LW5vLWJmcC1zdXBwb3J0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjMTFjOTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwcmVwbGF5L2ZpbGVzL3RjcHJlcGxheS0zLjQuNC1uby1iZnAtc3VwcG9ydC5wYXRjaApAQCAtMCwwICsxLDE1IEBACitVcHRyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBab25nY2h1biBZdSA8Wm9uZ2NodW4uWXVAZnJlZXNjYWxlLmNvbT4KKworLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC03NTgsNiArNzU4LDggQEAKKyAgICAgQUNfTVNHX1JFU1VMVChubykKKyBdKQorIAorK2FjX2N2X2hhdmVfYnBmPW5vCisrCisgaGF2ZV9icGY9bm8KKyBkbmwgQ2hlY2sgZm9yIEJTRCdzIEJQRgorIEFDX0NBQ0hFX0NIRUNLKFtmb3IgQlBGIGRldmljZSBzZW5kaW5nIHN1cHBvcnRdLCBhY19jdl9oYXZlX2JwZiwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3ByZXBsYXkvdGNwcmVwbGF5XzMuNC40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcHJlcGxheS90Y3ByZXBsYXlfMy40LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2NiYWI5ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3ByZXBsYXkvdGNwcmVwbGF5XzMuNC40LmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiVXNlIHByZXZpb3VzbHkgY2FwdHVyZWQgdHJhZmZpYyB0byB0ZXN0IG5ldHdvcmsgZGV2aWNlcyIKKworSE9NRVBBR0UgPSAiaHR0cDovL3RjcHJlcGxheS5zeW5maW4ubmV0LyIKK1NFQ1RJT04gPSAibmV0IgorCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZG9jcy9MSUNFTlNFO21kNT1jMzNjY2NmNzJjYzE2MDNlOGE3MmE4NDgxMWFlM2FjOCIKKworU1JDX1VSSSA9ICJodHRwOi8vcHJkb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3RjcHJlcGxheS8ke1BWfS90Y3ByZXBsYXktJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3RjcHJlcGxheS0zLjQuNC1jcm9zcy1jb21waWxlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3RjcHJlcGxheS0zLjQuNC1uby1iZnAtc3VwcG9ydC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly90Y3ByZXBsYXktMy40LjQtZml4LXVuYWJsZS10by1saW5rLWxpYnBjYXAtaXNzdWUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdGNwcmVwbGF5LTMuNC40LWltcHJvdmUtc2VhcmNoLWZvci1saWJwY2FwLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjIyNzI1ZmViOWIyNTkwODA5ZjkzNTAzMDhlYzY1MTgwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdhODA5YzU4ZGRlYzg2NDA3ZmQ2ZTU1OTdhYzg4M2Q3ODc0YTE5YmVhODFkNzE2YmIyYjFjNmUzYjBlN2I1OGYiCisKK0RFUEVORFMgPSAibGlicGNhcCIKKworRVhUUkFfT0VDT05GICs9ICItLXdpdGgtbGlicGNhcD0ke1NUQUdJTkdfRElSX0hPU1R9L3VzciIKKworaW5oZXJpdCBzaXRlaW5mbyBhdXRvdG9vbHMtYnJva2Vuc2VwCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90bmZ0cC90bmZ0cC90bmZ0cC1hdXRvdG9vbHMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdG5mdHAvdG5mdHAvdG5mdHAtYXV0b3Rvb2xzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiZGE1NzYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdG5mdHAvdG5mdHAvdG5mdHAtYXV0b3Rvb2xzLnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAKK1tQQVRDSF0gVXBkYXRlIGNvbmZpZ3VyZS5hYyBhbmQgTWFrZWZpbGUuYW0gdG8gcmVzb2x2ZSB3YXJuaW5ncy9lcnJvcnMKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFJveSBMaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyAgICAgICAgICB8ICAgIDIgKysKKyBsaWJuZXRic2QvTWFrZWZpbGUuYW0gfCAgICAyICstCisgMiBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggYTk2ZDJhYi4uYjNiMzA2OSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNzEsOSArNzEsMTEgQEAgQUhfVEVNUExBVEUoW1dJVEhfU1NMXSwKKyAjCisgIyBDaGVja3MgZm9yIHByb2dyYW1zLgorICMKKytBTV9QUk9HX0FSKCkKKyBBQ19QUk9HX0NDKCkKKyBBQ19QUk9HX0FXSygpCisgQUNfUFJPR19MSUJUT09MKCkKKytBTV9QUk9HX0NDX0NfTygpCisgCisgIworICMgQ2hlY2tzIGZvciB0b29sIGZlYXR1cmVzLgorZGlmZiAtLWdpdCBhL2xpYm5ldGJzZC9NYWtlZmlsZS5hbSBiL2xpYm5ldGJzZC9NYWtlZmlsZS5hbQoraW5kZXggM2U1YzNjZS4uMzliYjEyZCAxMDA2NDQKKy0tLSBhL2xpYm5ldGJzZC9NYWtlZmlsZS5hbQorKysrIGIvbGlibmV0YnNkL01ha2VmaWxlLmFtCitAQCAtNSw3ICs1LDcgQEAgbm9pbnN0X0xUTElCUkFSSUVTID0gbGlibmV0YnNkLmxhCisgbGlibmV0YnNkX2xhX1NPVVJDRVMgPQorIAorIAorLUNQUEZMQUdTID0gXAorK0FNX0NQUEZMQUdTID0gXAorIAktSSQoc3JjZGlyKSBcCisgCS1JJCh0b3Bfc3JjZGlyKSBcCisgCS1JJCh0b3BfYnVpbGRkaXIpCistLSAKKzEuNy4xMC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90bmZ0cC90bmZ0cF8yMDEzMDUwNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90bmZ0cC90bmZ0cF8yMDEzMDUwNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDFjNTE1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RuZnRwL3RuZnRwXzIwMTMwNTA1LmJiCkBAIC0wLDAgKzEsMzYgQEAKK1NVTU1BUlkgPSAiRW5oYW5jZWQgTmV0QlNEIGZ0cCBjbGllbnQiCitERVNDUklQVElPTiA9ICJ0bmZ0cCAoZm9ybWVybHkga25vd24gYXMgbHVrZW1mdHApIGlzIGEgcG9ydCBvZiB0aGUgTmV0QlNEIEZUUCBjbGllbnQgXAordG8gb3RoZXIgc3lzdGVtcy4gSXQgb2ZmZXJzIG1hbnkgZW5oYW5jZW1lbnRzIG92ZXIgdGhlIHRyYWRpdGlvbmFsIFwKK0JTRCBGVFAgY2xpZW50LCBpbmNsdWRpbmcgY29tbWFuZC1saW5lIGVkaXRpbmcsIGNvbW1hbmQtbGluZSBmZXRjaGVzIFwKK29mIEZUUCBhbmQgSFRUUCBVUkxzIChpbmNsdWRpbmcgdmlhIHByb3hpZXMpLCBjb21tYW5kLWxpbmUgdXBsb2FkcyBvZiBcCitGVFAgVVJMcywgY29udGV4dC1zZW5zaXRpdmUgd29yZCBjb21wbGV0aW9uLCBkeW5hbWljIHByb2dyZXNzIGJhciwgXAorSVB2NiBzdXBwb3J0LCBtb2RpZmljYXRpb24gdGltZSBwcmVzZXJ2YXRpb24sIHBhZ2luZyBvZiBsb2NhbCBhbmQgXAorcmVtb3RlIGZpbGVzLCBwYXNzaXZlIG1vZGUgc3VwcG9ydCAod2l0aCBmYWxsYmFjayB0byBhY3RpdmUgbW9kZSksIFwKK1NPQ0tTIHN1cHBvcnQsIFRJUyBGV1RLIGdhdGUtZnRwIHNlcnZlciBzdXBwb3J0LCBhbmQgdHJhbnNmZXIgcmF0ZSBcCit0aHJvdHRsaW5nLiIKKworU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkJTRC00LUNsYXVzZSIKKworREVQRU5EUyA9ICJuY3Vyc2VzIgorCitTUkNfVVJJID0gImZ0cDovL2Z0cC5uZXRic2Qub3JnL3B1Yi9OZXRCU0QvbWlzYy90bmZ0cC8ke0JQTn0tJHtQVn0udGFyLmd6IFwKKwkgICBmaWxlOi8vdG5mdHAtYXV0b3Rvb2xzLnBhdGNoIFwKKwkgICIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLWFsdGVybmF0aXZlcyBwa2djb25maWcKKworQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgorCitBTFRFUk5BVElWRV8ke1BOfSA9ICJmdHAiCitBTFRFUk5BVElWRV9MSU5LX05BTUVfJHtQTn0gPSAiJHtiaW5kaXJ9L2Z0cCIKK0FMVEVSTkFUSVZFX1RBUkdFVF8ke1BOfSAgPSAiJHtiaW5kaXJ9L3RuZnRwIgorCitGSUxFU18ke1BOfSA9ICIke2JpbmRpcn0vdG5mdHAiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTZkNjc5NmNiMTY2YTliYjA1MDk1ODI0MWRhZDk0NzllIgorU1JDX1VSSVttZDVzdW1dID0gIjY2ZTIxOGQwMmVjN2Q5ZmMzOWFiNzBiYTI5MDAzMDVhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZmNjUwZTI1ZjZmZDUxNTM4ZjY3N2I3ODliNDkzNzlmMzY3YWU5ZjFkZWU3NGM5NGNmZTI0ZDkyYWJjMmNmZmIiCisKK1BBQ0tBR0VDT05GSUcgPz0gIm9wZW5zc2wiCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0tZW5hYmxlLXNzbCwgLS1kaXNhYmxlLXNzbCAtLXdpdGgtc3NsPW5vLCBvcGVuc3NsIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RyYWNlcm91dGUvdHJhY2Vyb3V0ZS9maWx0ZXItb3V0LXRoZS1wYXRjaGVzLWZyb20tc3ViZGlycy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90cmFjZXJvdXRlL3RyYWNlcm91dGUvZmlsdGVyLW91dC10aGUtcGF0Y2hlcy1mcm9tLXN1YmRpcnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmMwMzBiNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90cmFjZXJvdXRlL3RyYWNlcm91dGUvZmlsdGVyLW91dC10aGUtcGF0Y2hlcy1mcm9tLXN1YmRpcnMucGF0Y2gKQEAgLTAsMCArMSw0NyBAQAorRnJvbSBlMjczZTBlYmM3NTM2NDU1NTU5MDliY2M0ODc0YzcyNDU4YjE3ODkxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDE3IEphbiAyMDE0IDAzOjE3OjQ0IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIE1ha2UucnVsZXM6IGZpbHRlci1vdXQgdGhlIHBhdGNoZXMgZnJvbSBzdWJkaXJzCisKK1RoZSAkKHN1YmRpcnMpIGNvbnRhaW5zIGFsbCB0aGUgZGlycyB1bmRlciB0aGUgJHtCfSwgYW5kIHRoaXMgb25lOgorCitkb191bnBhY2tbY2xlYW5kaXJzXSA9ICIke1N9L3BhdGNoZXMiCisKK3dpbGwgY3JlYXRlIGEgInBhdGNoZXMiIGRpciwgdGhlbiB0aGVyZSB3aWxsIGJlIGNvbXBpbGUgZXJyb3JzLCBmaWx0ZXIKK291dCB0aGUgcGF0Y2hlcyB3aWxsIGZpeCB0aGUgcHJvYmxlbS4KKworTm90ZTogcG9reSBkb2Vzbid0IGhhdmUgdGhpcyBwcm9ibGVtIHNpbmNlIGl0IHNlcGFyYXRlcyB0aGUgJHtTfSBhbmQKKyR7Qn0KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBNYWtlLnJ1bGVzIHwgICAgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2UucnVsZXMgYi9NYWtlLnJ1bGVzCitpbmRleCBiMDc3Y2Q1Li4wYmZjZTJkIDEwMDY0NAorLS0tIGEvTWFrZS5ydWxlcworKysrIGIvTWFrZS5ydWxlcworQEAgLTk3LDcgKzk3LDcgQEAgZW5kaWYKKyBzdWJkaXJzIDo9ICQoZmlsdGVyLW91dCAkKFNLSVBESVJTKSwgJChzdWJkaXJzKSkKKyBlbmRpZgorIAorLWluc3RhbGwgaW5zdGFsbC0lOiBzdWJkaXJzIDo9ICQoZmlsdGVyLW91dCAkKFNLSVBJTlNUQUxMKSwgJChzdWJkaXJzKSkKKytpbnN0YWxsIGluc3RhbGwtJTogc3ViZGlycyA6PSAkKGZpbHRlci1vdXQgJChTS0lQSU5TVEFMTCkgcGF0Y2hlcywgJChzdWJkaXJzKSkKKyAKKyAKKyBvdmVycmlkZSBNQUtFICs9IHNyY2Rpcj0kKHNyY2Rpcikgc3ViZGlycz0iJChzdWJkaXJzKSIgc2hhcmVkPSQoc2hhcmVkKQorQEAgLTEwNiw3ICsxMDYsNyBAQCBvdmVycmlkZSBNQUtFICs9IHNyY2Rpcj0kKHNyY2Rpcikgc3ViZGlycz0iJChzdWJkaXJzKSIgc2hhcmVkPSQoc2hhcmVkKQorIElOQ0xVREVESVJTIDo9ICQoZmlsdGVyICQoSU5DTFVERURJUlMpLCAkKHN1YmRpcnMpKQorIExJQkRJUlMgOj0gJChmaWx0ZXIgJChMSUJESVJTKSwgJChzdWJkaXJzKSkKKyBNT0RESVJTIDo9ICQoZmlsdGVyICQoTU9ERElSUyksICQoc3ViZGlycykpCistRVhFRElSUyA6PSAkKGZpbHRlci1vdXQgJChJTkNMVURFRElSUykgJChMSUJESVJTKSAkKE1PRERJUlMpLCAkKHN1YmRpcnMpKQorK0VYRURJUlMgOj0gJChmaWx0ZXItb3V0ICQoSU5DTFVERURJUlMpICQoTElCRElSUykgJChNT0RESVJTKSBwYXRjaGVzLCAkKHN1YmRpcnMpKQorIE1PRFVTRVJTIDo9ICQoZmlsdGVyICQoTU9EVVNFUlMpLCAkKHN1YmRpcnMpKQorIFNCSU5VU0VSUyA6PSAkKGZpbHRlciAkKFNCSU5VU0VSUyksICQoc3ViZGlycykpCisgCistLSAKKzEuNy4xMC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90cmFjZXJvdXRlL3RyYWNlcm91dGVfMi4wLjIxLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RyYWNlcm91dGUvdHJhY2Vyb3V0ZV8yLjAuMjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDlkYTFlZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90cmFjZXJvdXRlL3RyYWNlcm91dGVfMi4wLjIxLmJiCkBAIC0wLDAgKzEsNDUgQEAKK1NVTU1BUlkgPSAiQSBuZXcgbW9kZXJuIGltcGxlbWVudGF0aW9uIG9mIHRyYWNlcm91dGUoOCkgdXRpbGl0eSBmb3IgTGludXggc3lzdGVtcyIKK0RFU0NSSVBUSU9OID0gIlRoZSB0cmFjZXJvdXRlIHV0aWxpdHkgZGlzcGxheXMgdGhlIHJvdXRlIHVzZWQgYnkgSVAgcGFja2V0cyBvbiBcCit0aGVpciB3YXkgdG8gYSBzcGVjaWZpZWQgbmV0d29yayAob3IgSW50ZXJuZXQpIGhvc3QuICBUcmFjZXJvdXRlIGRpc3BsYXlzIFwKK3RoZSBJUCBudW1iZXIgYW5kIGhvc3QgbmFtZSAoaWYgcG9zc2libGUpIG9mIHRoZSBtYWNoaW5lcyBhbG9uZyB0aGUgXAorcm91dGUgdGFrZW4gYnkgdGhlIHBhY2tldHMuICBUcmFjZXJvdXRlIGlzIHVzZWQgYXMgYSBuZXR3b3JrIGRlYnVnZ2luZyBcCit0b29sLiAgSWYgeW91J3JlIGhhdmluZyBuZXR3b3JrIGNvbm5lY3Rpdml0eSBwcm9ibGVtcywgdHJhY2Vyb3V0ZSB3aWxsIFwKK3Nob3cgeW91IHdoZXJlIHRoZSB0cm91YmxlIGlzIGNvbWluZyBmcm9tIGFsb25nIHRoZSByb3V0ZS4iCitTRUNUSU9OID0gIm5ldCIKK0hPTUVQQUdFID0gImh0dHA6Ly90cmFjZXJvdXRlLnNvdXJjZWZvcmdlLm5ldC8iCitMSUNFTlNFID0gIkdQTC0yLjArICYgTEdQTC0yLjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIgorCitpbmhlcml0IHVwZGF0ZS1hbHRlcm5hdGl2ZXMKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vdHJhY2Vyb3V0ZS90cmFjZXJvdXRlLyR7QlB9LyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9maWx0ZXItb3V0LXRoZS1wYXRjaGVzLWZyb20tc3ViZGlycy5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3OTI4OWFkYWJkNmYzZWJmOTE2MGZjMDgxNWFiMzE1MCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmN2FjOTNlZjMwYjEzYTU4NzI5MmI4ZDZhN2UyNTM4YTY1YmM5NzhhM2E1NzZlYWIyMzhjMzkyYjg4NGU5NmUwIgorCitFWFRSQV9PRU1BS0UgPSAiVlBBVEg9JHtTVEFHSU5HX0xJQkRJUn0iCisKK2RvX2NvbXBpbGUoKSB7CisgICAgZXhwb3J0IExERkxBR1M9IiR7VEFSR0VUX0xERkxBR1N9IC1MJHtTfS9saWJzdXBwIgorICAgIG9lX3J1bm1ha2UgImVudj15ZXMiCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbTc1NSAke0JQTn0vJHtCUE59ICR7RH0ke2JpbmRpcn0KKworICAgIGluc3RhbGwgLW03NTUgd3JhcHBlcnMvdGNwdHJhY2Vyb3V0ZSAke0R9JHtiaW5kaXJ9CisKKyAgICBpbnN0YWxsIC1kICR7RH0ke21hbmRpcn0KKyAgICBpbnN0YWxsIC1wIC1tNjQ0ICR7QlBOfS8ke0JQTn0uOCAke0R9JHttYW5kaXJ9CisgICAgbG4gLXMgJHtCUE59LjggJHtEfSR7bWFuZGlyfS8ke0JQTn02LjgKKyAgICBsbiAtcyAke0JQTn0uOCAke0R9JHttYW5kaXJ9L3RjcHRyYWNlcm91dGUuOAorCit9CisKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjYwIgorQUxURVJOQVRJVkVfJHtQTn0gPSAidHJhY2Vyb3V0ZSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt0cmFjZXJvdXRlXSA9ICIke2JpbmRpcn0vdHJhY2Vyb3V0ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90dW5jdGwvdHVuY3RsLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90dW5jdGwvdHVuY3RsLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTVjZmE1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3R1bmN0bC90dW5jdGwuaW5jCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiVG9vbCBmb3IgY29udHJvbGxpbmcgdGhlIExpbnV4IFRVTi9UQVAgZHJpdmVyIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vdHVuY3RsLmM7YmVnaW5saW5lPTE7ZW5kbGluZT00O21kNT1mZjNhMDk5OTZiYzVmZmY2YmM1ZDRlMGI0YzI4Zjk5OSIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vdHVuY3RsL3R1bmN0bC0ke1BWfS50YXIuZ3oiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSB0dW5jdGwKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzYmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHR1bmN0bCAke0R9LyR7c2JpbmRpcn0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90dW5jdGwvdHVuY3RsXzEuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90dW5jdGwvdHVuY3RsXzEuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZDI2NTYxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3R1bmN0bC90dW5jdGxfMS41LmJiCkBAIC0wLDAgKzEsNCBAQAorcmVxdWlyZSB0dW5jdGwuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmZGJlZGMyNjNiM2U4NWJiMGUwODdjZDU2NzQxNDYwNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhYTJhNmM0Y2M2YmZhY2IxMWUwZDlmNjIzMzRhNjYzOGEwZDQzNTQ3NWM2MTIzMDExNmYwMGI2YWY4YjE0ZmZmIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3dpcmVzaGFyay9SRUFETUUgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvd2lyZXNoYXJrL1JFQURNRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42M2I1YjcyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3dpcmVzaGFyay9SRUFETUUKQEAgLTAsMCArMSw0NSBAQAorIworV2lyZXNoYXJrIC0gTm90ZXMKKworVVJMOiBodHRwOi8vd3d3LndpcmVzaGFyay5vcmcvCitVc2VyIEd1aWRlOiBodHRwOi8vd3d3LndpcmVzaGFyay5vcmcvZG9jcy93c3VnX2h0bWxfY2h1bmtlZC8KK1NlY3J1aXR5IGFkdmlzb3JpZXM6IGh0dHA6Ly93d3cud2lyZXNoYXJrLm9yZy9zZWN1cml0eS8KKworV2lyZXNoYXJrIGlzIHNsb3dseSBtb3ZpbmcgYXdheSBmcm9tIGd0ayBhbmQgdG93YXJkcyBRVCBhcyB0aGVpciBncmFwaGljYWwgc3RhY2suCitDdXJyZW50bHkgZ3RrIGlzIHN1cHBvcnRlZCB3aXRoIHRoaXMgcmVsZWFzZSBhbmQgSSBwbGFuIG9uIGludGVncmF0aW5nIFFULiAKKworCisKK0FkZGluZyB0aGUgd2lyZXNoYXJrIHRvIHlvdXIgYnVpbGQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKwordmlhIGxvY2FsLmNvbmYKK0lNQUdFX0lOU1RBTExfYXBwZW5kID0gIiB3aXJlc2hhcmsiCisKK0FkZGluZyB0aGUgd2lyZXNoYXJrIHRvIHlvdXIgZ3JhcGhpY2FsIGJ1aWxkCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cit2aWEgbG9jYWwuY29uZgorSU1BR0VfSU5TVEFMTF9hcHBlbmQgPSAiIHdpcmVzaGFyayIKKworYW5kIG9uZSBvZjoKKworRVhUUkFfSU1BR0VfRkVBVFVSRVMgKz0gIngxMS1iYXNlIgorCitvciB1c2UgdGhlICJjb3JlLWltYWdlLXgxMSIKKworCitNYWludGVuYW5jZQorLS0tLS0tLS0tLS0KKworU2VuZCBwYXRjaGVzLCBjb21tZW50cyBvciBxdWVzdGlvbnMgdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcKKworV2hlbiBzZW5kaW5nIHNpbmdsZSBwYXRjaGVzLCBwbGVhc2UgdXNlIHNvbWV0aGluZyBsaWtlOgorCisgICBnaXQgc2VuZC1lbWFpbCAtMSAtTSBcCisgICAgICAgLS10byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyBcCisgICAgICAgLS1jYyBha3VzdGVyQG12aXN0YS5jb20gXAorICAgICAgIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1uZXR3b3JraW5nXVtQQVRDSAorCitNYWludGFpbmVyOiAgICBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXJAbXZpc3RhLmNvbT4KKworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvd2lyZXNoYXJrL2ZpbGVzL0RvLW5vdC1zZXQtQ0NfRk9SX0JVSUxELWZsYWdzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3dpcmVzaGFyay9maWxlcy9Eby1ub3Qtc2V0LUNDX0ZPUl9CVUlMRC1mbGFncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NGEwOGFkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3dpcmVzaGFyay9maWxlcy9Eby1ub3Qtc2V0LUNDX0ZPUl9CVUlMRC1mbGFncy5wYXRjaApAQCAtMCwwICsxLDQ2IEBACitbUEFUQ0hdIERvIG5vdCBzZXQgQ0NfRk9SX0JVSUxEIGZsYWdzCisKK1Vwc3RyZWFtLXN0YXR1czogUGVuZGluZworCitBQ19XSVJFU0hBUktfQ09NUElMRVJfRkxBR1NfQ0hFQ0soKSBpcyBjaGVja2luZyB3aGljaCBvcHRpb25zIENDIGlzIHN1cHBvcnRlZCwKK2FuZCBwdXQgdGhlIHN1cHBvcnRlZCBvcHRpb25zIGludG8gQ0ZMQUdTLCBidXQgaXQgc2hvdWxkIG5vdCBwdXQgdGhlbSBpbnRvIAorQ0ZMQUdTX0ZPUl9CVUlMRC4gc2luY2UgQ0MgYW5kIEJVSUxEX0NDIGNhbiBiZSBkaWZmZXJlbnQsIENGTEFHU19GT1JfQlVJTEQgaXMKK3VzZWQgYnkgQlVJTERfQ0MgCisKK0JVSUxEX0NDIGlzIHVzZWQgdG8gZ2VuZXJhdGVkIGhvc3QgdG9vbHMsIGRvIG5vdCB1c2UgdGhlIGdjYydzIG9wdGltaXNlZCBvcHRpb25zLAorZG8gbm90IGVmZmVjdCB0aGUgcnVubmluZyBvZiBob3N0IHRvb2xzLiBzbyBkbyBub3Qgc2V0IENDX0ZPUl9CVUlMRCBmbGFncy4KKworU2lnbmVkLW9mZi1ieTogUm95LkxpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgYWNpbmNsdWRlLm00IHwgOCAtLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYWNpbmNsdWRlLm00IGIvYWNpbmNsdWRlLm00CitpbmRleCAxMzZmYzI3Li44ZDNkMzYwIDEwMDY0NAorLS0tIGEvYWNpbmNsdWRlLm00CisrKysgYi9hY2luY2x1ZGUubTQKK0BAIC0xNzU1LDEwICsxNzU1LDYgQEAgaWYgdGVzdCAieCRhY19zdXBwb3J0c19nY2NfZmxhZ3MiID0gInh5ZXMiIDsgdGhlbgorICAgICAgICAgICAgICAgIyBqdXN0IHRoZSBuZXcgb3B0aW9uLgorICAgICAgICAgICAgICAgIworICAgICAgICAgICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTX3NhdmVkICRHQ0NfT1BUSU9OIgorLSAgICAgICAgICAgICAgIworLSAgICAgICAgICAgICAgIyBBZGQgaXQgdG8gdGhlIGZsYWdzIHdlIHVzZSB3aGVuIGJ1aWxkaW5nIGJ1aWxkIHRvb2xzLgorLSAgICAgICAgICAgICAgIworLSAgICAgICAgICAgICAgQ0ZMQUdTX0ZPUl9CVUlMRD0iJENGTEFHU19GT1JfQlVJTEQgJEdDQ19PUFRJT04iCisgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICBBQ19NU0dfUkVTVUxUKHllcykKK0BAIC0xNzcxLDEwICsxNzY3LDYgQEAgaWYgdGVzdCAieCRhY19zdXBwb3J0c19nY2NfZmxhZ3MiID0gInh5ZXMiIDsgdGhlbgorICAgICAgICAgICAjIGp1c3QgdGhlIG5ldyBvcHRpb24uCisgICAgICAgICAgICMKKyAgICAgICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTX3NhdmVkICRHQ0NfT1BUSU9OIgorLSAgICAgICAgICAjCistICAgICAgICAgICMgQWRkIGl0IHRvIHRoZSBmbGFncyB3ZSB1c2Ugd2hlbiBidWlsZGluZyBidWlsZCB0b29scy4KKy0gICAgICAgICAgIworLSAgICAgICAgICBDRkxBR1NfRk9SX0JVSUxEPSIkQ0ZMQUdTX0ZPUl9CVUlMRCAkR0NDX09QVElPTiIKKyAgICAgICAgIGZpCisgICAgICAgXSwKKyAgICAgICBbCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC93aXJlc2hhcmsvd2lyZXNoYXJrXzIuMC4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3dpcmVzaGFyay93aXJlc2hhcmtfMi4wLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjMwNjE3MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC93aXJlc2hhcmsvd2lyZXNoYXJrXzIuMC4yLmJiCkBAIC0wLDAgKzEsNjAgQEAKK0RFU0NSSVBUSU9OID0gIndpcmVzaGFyayAtIGEgcG9wdWxhciBuZXR3b3JrIHByb3RvY29sIGFuYWx5emVyIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy53aXJlc2hhcmsub3JnIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUUubGludXg7bWQ1PTYzMWUwNzc0NTViNzk3MjE3MmViMTQ5MTk1ZTA2NWIwIgorCitERVBFTkRTID0gInBlcmwtbmF0aXZlIHBjcmUgZXhwYXQgZ2xpYi0yLjAgc2JjIgorCitTUkNfVVJJID0gImh0dHBzOi8vMi5uYS5kbC53aXJlc2hhcmsub3JnL3NyYy9hbGwtdmVyc2lvbnMvJHtCUH0udGFyLmJ6MiIKKworU1JDX1VSSVttZDVzdW1dID0gIjIwNGQwNTNlMDc5NmM3ZGEwOTI5MmUwYjU0YmM4NTAzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU5MjFmYjA3MjA4NWE1NjU0ZDg5OTk0OWJiNTYxZDA2ODdmNDgxOWY3YjYzYmEzNTc3N2JiOTQ5YTliNmI5YzEiCisKK1BFID0gIjEiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKKworIyBXb3JrcyB3aXRoIGVpdGhlciBndGsrIG9yIGd0azMuCitXSElDSF9HVEsgPSAiZ3RrKyIKKworUEFDS0FHRUNPTkZJRyA/PSAibGlicGNhcCBnbnV0bHMgbGlibmwgbGliY2FwIgorUEFDS0FHRUNPTkZJRyArPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAieDExIiwgImd0azIgZ3JhcGhpY3MiLCAiIiwgZCl9IgorUEFDS0FHRUNPTkZJRyArPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAiaXB2NiIsICJpcHY2IiwgIiIsIGQpfSIKKyNQQUNLQUdFQ09ORklHICs9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJvcGVuZ2wiLCAiZ3RrMyIsICIiLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbbGliY2FwXSA9ICItLXdpdGgtbGliY2FwPSR7U1RBR0lOR19MSUJESVJ9LCAtLXdpdGgtbGliY2FwPW5vIC0tZW5hYmxlLXBjYXAtbmctZGVmYXVsdCAsIGxpYmNhcCIKK1BBQ0tBR0VDT05GSUdbbGlicGNhcF0gPSAiLS13aXRoLXBjYXA9JHtTVEFHSU5HX0xJQkRJUn0gLS13aXRoLXBjYXAtcmVtb3RlLCAtLXdpdGgtcGNhcD1ubyAtLWVuYWJsZS1wY2FwLW5nLWRlZmF1bHQgICwgbGlicGNhcCIKK1BBQ0tBR0VDT05GSUdbbGlic21pXSA9ICItLXdpdGgtbGlic21pPXllcywgLS13aXRoLWxpYnNtaT1ubywgbGlic21pIgorUEFDS0FHRUNPTkZJR1tsaWJubF0gPSAiLS13aXRoLWxpYm5sPXllcywgLS13aXRoLWxpYm5sPW5vLCBsaWJubCIKK1BBQ0tBR0VDT05GSUdbcG9ydGF1ZGlvXSA9ICItLXdpdGgtcG9ydGF1ZGlvPXllcywgLS13aXRoLXBvcnRhdWRpbz1ubywgcG9ydGF1ZGlvLXYxOSIKK1BBQ0tBR0VDT05GSUdbZ3RrMl0gPSAiLS13aXRoLWd0azI9eWVzLCAtLXdpdGgtZ3RrMj1ubywgZ3RrKyIKK1BBQ0tBR0VDT05GSUdbZ3RrM10gPSAiLS13aXRoLWd0azM9eWVzLCAtLXdpdGgtZ3RrMz1ubywgZ3RrKzMiCitQQUNLQUdFQ09ORklHW2dyYXBoaWNzXSA9ICItLWVuYWJsZS13aXJlc2hhcmssIC0tZGlzYWJsZS13aXJlc2hhcmssIgorUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LCAtLWRpc2FibGUtaXB2NiwiCitQQUNLQUdFQ09ORklHW2dudXRsc10gPSAiLS13aXRoLWdudXRscz15ZXMsIC0td2l0aC1nbnV0bHM9bm8sIGdudXRscyIKK1BBQ0tBR0VDT05GSUdbZ2NyeXB0XSA9ICItLXdpdGgtZ2NyeXB0PXllcywgLS13aXRoLWdjcnlwdD1ubywgbGliZ2NyeXB0IgorUEFDS0FHRUNPTkZJR1tzc2xdID0gIi0td2l0aC1zc2w9eWVzLCAtLXdpdGgtc3NsPW5vLCBvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1trcmI1XSA9ICItLXdpdGgta3JiNT15ZXMsIC0td2l0aC1rcmI1PW5vLCBrcmI1IgorUEFDS0FHRUNPTkZJR1tsdWFdID0gIi0td2l0aC1sdWE9eWVzLCAtLXdpdGgtbHVhPW5vLCBsdWEiCitQQUNLQUdFQ09ORklHW3psaWJdID0gIi0td2l0aC16bGliPXllcywgLS13aXRoLXpsaWI9bm8sIHpsaWIiCitQQUNLQUdFQ09ORklHW2dlb2lwXSA9ICItLXdpdGgtZ2VvaXA9eWVzLCAtLXdpdGgtZ2VvaXA9bm8sIGdlb2lwIgorUEFDS0FHRUNPTkZJR1twbHVnaW5zXSA9ICItLXdpdGgtcGx1Z2lucz15ZXMsIC0td2l0aC1wbHVnaW5zPW5vIgorCisjIHRoZXNlIG5leHQgdHdvIG9wdGlvbnMgcmVxdWlyZSBhZGRpb25hbCBsYXllcnMKK1BBQ0tBR0VDT05GSUdbYWRuc10gPSAiLS13aXRoLWFkbnM9eWVzLCAtLXdpdGgtYWRucz1ubywgYWRucyIKK1BBQ0tBR0VDT05GSUdbYy1hcmVzXSA9ICItLXdpdGgtYy1hcmVzPXllcywgLS13aXRoLWMtYXJlcz1ubywgYy1hcmVzIgorCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aC1xdD1ubyAtLWVuYWJsZS11c3ItbG9jYWw9bm8gLS1lbmFibGUtdHNoYXJrIC0tZW5hYmxlLXJhd3NoYXJrIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAjIGZvcmNlIHRvIHVzZSBmYWxsYmFjayAKKyAgICBzZWQgLWkgLWUgJy9eZ2xpYl9wcmVmaXgvcy89LiokLz0iIi8nICR7U30vYWNsb2NhbC1mbGFncworfQorCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorSU5ISUJJVF9QQUNLQUdFX0RFQlVHX1NQTElUID0gIjEiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9KiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9DT1BZSU5HLk1JVCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9DT1BZSU5HLk1JVApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYjk1MGRjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL0NPUFlJTkcuTUlUCkBAIC0wLDAgKzEsMTcgQEAKK1Blcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgCitvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCAKK2luIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgCit0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIAorY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIAorZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKworVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gCithbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKworVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IgCitJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgCitGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgCitBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIAorTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgCitPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIAorVEhFIFNPRlRXQVJFLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL1JFQURNRSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9SRUFETUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTU2NGMyOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9SRUFETUUKQEAgLTAsMCArMSwxNSBAQAorVGhpcyBsYXllciBkZXBlbmRzIG9uOgorCitVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL29lLWNvcmUuZ2l0CiticmFuY2g6IGtyb2dvdGgKK3JldmlzaW9uOiBIRUFECisKK1NlbmQgcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyB3aXRoICdbbWV0YS1vZV1ba3JvZ290aF0nIGluIHRoZSBzdWJqZWN0JworCitXaGVuIHNlbmRpbmcgc2luZ2xlIHBhdGNoZXMsIHBsZWFzZSB1c2Ugc29tZXRoaW5nIGxpa2U6CisnZ2l0IHNlbmQtZW1haWwgLU0gLTEgLS10byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyAtLXN1YmplY3QtcHJlZml4PW1ldGEtb2VdW2tyb2dvdGhdW1BBVENIJworCitZb3UgYXJlIGVuY291cmFnZWQgdG8gZm9yayB0aGUgbWlycm9yIG9uIGdpdGh1YiBodHRwczovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL21ldGEtb2UvIHRvIHNoYXJlIHlvdXIgcGF0Y2hlcywgdGhpcyBpcyBwcmVmZXJyZWQgZm9yIHBhdGNoIHNldHMgY29uc2lzdGluZyBvZiBtb3JlIHRoYW4gb25lIHBhdGNoLiBPdGhlciBzZXJ2aWNlcyBsaWtlIGdpdG9yaW91cywgcmVwby5vci5jeiBvciBzZWxmIGhvc3RlZCBzZXR1cHMgYXJlIG9mIGNvdXJzZSBhY2NlcHRlZCBhcyB3ZWxsLCAnZ2l0IGZldGNoIDxyZW1vdGU+JyB3b3JrcyB0aGUgc2FtZSBvbiBhbGwgb2YgdGhlbS4gV2UgcmVjb21tZW5kIGdpdGh1YiBiZWNhdXNlIGl0IGlzIGZyZWUsIGVhc3kgdG8gdXNlLCBoYXMgYmVlbiBwcm92ZW4gdG8gYmUgcmVsaWFibGUgYW5kIGhhcyBhIHJlYWxseSBnb29kIHdlYiBHVUkuCisKK2tyb2dvdGggQnJhbmNoIE1haW50YWluZXI6CitBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2NsYXNzZXMvYnJlYWtwYWQuYmJjbGFzcyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL2JyZWFrcGFkLmJiY2xhc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjNhYmYyNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL2JyZWFrcGFkLmJiY2xhc3MKQEAgLTAsMCArMSwzMyBAQAorIyBDbGFzcyB0byBpbmhlcml0IHdoZW4geW91IHdhbnQgdG8gYnVpbGQgYWdhaW5zdCBCcmVha3BhZC4KKyMgQXBhcnQgZnJvbSBpbmhlcml0aW5nIHRoaXMgY2xhc3MsIHlvdSBuZWVkIHRvIHNldCBCUkVBS1BBRF9CSU4gaW4KKyMgeW91ciByZWNpcGUsIGFuZCBtYWtlIHN1cmUgdGhhdCB5b3UgbGluayBhZ2FpbnN0IGxpYmJyZWFrcGFkX2NsaWVudC5hLgorCitERVBFTkRTICs9ICJicmVha3BhZCBicmVha3BhZC1uYXRpdmUiCisKK0NGTEFHUyArPSAiLUkke1NUQUdJTkdfRElSX1RBUkdFVH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkICIKK0NYWEZMQUdTICs9ICItSSR7U1RBR0lOR19ESVJfVEFSR0VUfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQgIgorCitCUkVBS1BBRF9CSU4gPz0gIiIKKworcHl0aG9uICgpIHsKKyAgICBicmVha3BhZF9iaW4gPSBkLmdldFZhcigiQlJFQUtQQURfQklOIiwgVHJ1ZSkKKworICAgIGlmIG5vdCBicmVha3BhZF9iaW46CisgICAgICAgUE4gPSBkLmdldFZhcigiUE4iLCBUcnVlKQorICAgICAgIEZJTEUgPSBvcy5wYXRoLmJhc2VuYW1lKGQuZ2V0VmFyKCJGSUxFIiwgVHJ1ZSkpCisgICAgICAgYmIuZXJyb3IoIlRvIGJ1aWxkICVzLCBzZWUgYnJlYWtwYWQuYmJjbGFzcyBmb3IgaW5zdHJ1Y3Rpb25zIG9uIFwKKyAgICAgICAgICAgICAgICAgc2V0dGluZyB1cCB5b3VyIEJyZWFrcGFkIGNvbmZpZ3VyYXRpb24iICUgUE4pCisgICAgICAgcmFpc2UgVmFsdWVFcnJvcignQlJFQUtQQURfQklOIG5vdCBkZWZpbmVkIGluICVzJyAlIFBOKQorfQorCisjIEFkZCBjcmVhdGlvbiBvZiBzeW1ib2xzIGhlcmUKK1BBQ0tBR0VfUFJFUFJPQ0VTU19GVU5DUyArPSAiYnJlYWtwYWRfcGFja2FnZV9wcmVwcm9jZXNzIgorYnJlYWtwYWRfcGFja2FnZV9wcmVwcm9jZXNzICgpIHsKKyAgICBta2RpciAtcCAke1BLR0R9L3Vzci9zaGFyZS9icmVha3BhZC1zeW1zCisgICAgZmluZCAke0R9IC1uYW1lICR7QlJFQUtQQURfQklOfSAtZXhlYyBzaCAtYyAiZHVtcF9zeW1zIHt9ID4gJHtQS0dEfS91c3Ivc2hhcmUvYnJlYWtwYWQtc3ltcy8ke0JSRUFLUEFEX0JJTn0uc3ltIiBcOworfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tYnJlYWtwYWQiCisKK0ZJTEVTXyR7UE59LWJyZWFrcGFkID0gIi91c3Ivc2hhcmUvYnJlYWtwYWQtc3ltcyIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2NsYXNzZXMvZ2l0cGtndi5iYmNsYXNzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2NsYXNzZXMvZ2l0cGtndi5iYmNsYXNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjYmEwMGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY2xhc3Nlcy9naXRwa2d2LmJiY2xhc3MKQEAgLTAsMCArMSwxMTMgQEAKKyMgZ2l0cGtndi5iYmNsYXNzIHByb3ZpZGVzIGEgR0lUUEtHViBhbmQgR0lUUEtHVlRBRyB2YXJpYWJsZXMgdG8gYmUKKyMgdXNlZCBpbiBQS0dWLCBhcyBkZXNjcmliZWQgYmVsbG93OgorIworIyAtIEdJVFBLR1Ygd2hpY2ggaXMgYSBzb3J0YWJsZSB2ZXJzaW9uIHdpdGggdGhlIGZvcm1hdCBOTitHSVRIQVNILCB0bworIyAgIGJlIHVzZWQgaW4gUEtHViwgd2hlcmUKKyMKKyMgICBOTiBlcXVhbHMgdGhlIHRvdGFsIG51bWJlciBvZiByZXZzIHVwIHRvIFNSQ1JFVgorIyAgIEdJVEhBU0ggaXMgU1JDUkVWJ3MgKGZ1bGwpIGhhc2gKKyMKKyMgLSBHSVRQS0dWVEFHIHdoaWNoIGlzIHRoZSBvdXRwdXQgb2YgJ2dpdCBkZXNjcmliZScgYWxsb3dpbmcgZm9yCisjICAgYXV0b21hdGljIHZlcnNpb25pbmcKKyMKKyMgZ2l0cGtndi5iYmNsYXNzIGFzc3VtZXMgdGhlIGdpdCByZXBvc2l0b3J5IGhhcyBiZWVuIGNsb25lZCwgYW5kCisjIGNvbnRhaW5zIFNSQ1JFVi4gU28gJHtHSVRQS0dWfSBhbmQgJHtHSVRQS0dWVEFHfSBzaG91bGQgbmV2ZXIgYmUKKyMgdXNlZCBpbiBQViwgb25seSBpbiBQS0dWLiAgSXQgY2FuIGhhbmRsZSBTUkNSRVYgPSAke0FVVE9SRVZ9LCBhcworIyB3ZWxsIGFzIFNSQ1JFViA9ICI8c29tZSBmaXhlZCBnaXQgaGFzaD4iLgorIworIyBXQVJOSU5HOiBpZiB1cHN0cmVhbSByZXBvc2l0b3J5IGlzIGFsd2F5cyB1c2luZyBjb25zaXN0ZW50IGFuZAorIyBzb3J0YWJsZSB0YWcgbmFtZSBzY2hlbWUgeW91IGNhbiBnZXQgc29ydGFibGUgdmVyc2lvbiBpbmNsdWRpbmcgdGFnCisjIG5hbWUgd2l0aCAke0dJVFBLR1ZUQUd9LCBidXQgYmUgYXdhcmUgdGhhdCBpZSB0YWcgc2VxdWVuY2UgInYxLjAsCisjIHYxLjIsIHh0ZXN0LCB2Mi4wIiB3aWxsIGZvcmNlIHlvdSB0byBpbmNyZW1lbnQgUEUgdG8gZ2V0IHVwZ3JhZGVhYmxlCisjIHBhdGggdG8gdjIuMCByZXZpc2lvbnMKKyMKKyMgdXNlIGV4YW1wbGU6CisjCisjIGluaGVyaXQgZ2l0cGtndgorIworIyBQViA9ICIxLjArZ2l0ciR7U1JDUFZ9IiAgICAgICMgZXhwYW5kcyB0byBzb21ldGhpbmcgbGlrZSAxLjArZ2l0cjMrNGMxYzIxZDdkYmJmOTNiMGRmMzM2OTk0NTI0MzEzZGZlMGQ0OTYzYgorIyBQS0dWID0gIjEuMCtnaXRyJHtHSVRQS0dWfSIgICMgZXhwYW5kcyBhbHNvIHRvIHNvbWV0aGluZyBsaWtlIDEuMCtnaXRyMzEzMzcrNGMxYzIxZDdkCisjCisjIG9yCisjCisjIGluaGVyaXQgZ2l0cGtndgorIworIyBQViA9ICIxLjArZ2l0ciR7U1JDUFZ9IiAjIGV4cGFuZHMgdG8gc29tZXRoaW5nIGxpa2UgMS4wK2dpdHIzKzRjMWMyMWQ3ZGJiZjkzYjBkZjMzNjk5NDUyNDMxM2RmZTBkNDk2M2IKKyMgUEtHViA9ICIke0dJVFBLR1ZUQUd9IiAgIyBleHBhbmRzIHRvIHNvbWV0aGluZyBsaWtlIDEuMC0zMTMzNytnNGMxYzIxZAorIyAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHRoZXJlIGlzIHRhZyB2MS4wIGJlZm9yZSB0aGlzIHJldmlzaW9uIG9yCisjICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyMS4wLTMxMzM3K2c0YzFjMjFkIGlmIHRoZXJlIGlzIHRhZyB2ZXIxLjAKKworR0lUUEtHViA9ICIke0BnZXRfZ2l0X3BrZ3YoZCwgRmFsc2UpfSIKK0dJVFBLR1ZUQUcgPSAiJHtAZ2V0X2dpdF9wa2d2KGQsIFRydWUpfSIKKworZGVmIGdpdHBrZ3ZfZHJvcF90YWdfcHJlZml4KHZlcnNpb24pOgorICAgIGltcG9ydCByZQorICAgIGlmIHJlLm1hdGNoKCJ2XGQiLCB2ZXJzaW9uKToKKyAgICAgICAgcmV0dXJuIHZlcnNpb25bMTpdCisgICAgZWxzZToKKyAgICAgICAgcmV0dXJuIHZlcnNpb24KKworZGVmIGdldF9naXRfcGtndihkLCB1c2VfdGFncyk6CisgICAgaW1wb3J0IG9zCisgICAgaW1wb3J0IGJiCisgICAgZnJvbSBwaXBlcyBpbXBvcnQgcXVvdGUKKworICAgIHNyY191cmkgPSBkLmdldFZhcignU1JDX1VSSScsIDEpLnNwbGl0KCkKKyAgICBmZXRjaGVyID0gYmIuZmV0Y2gyLkZldGNoKHNyY191cmksIGQpCisgICAgdWQgPSBmZXRjaGVyLnVkCisKKyAgICAjCisgICAgIyBJZiBTUkNSRVZfRk9STUFUIGlzIHNldCByZXNwZWN0IGl0IGZvciB0YWdzCisgICAgIworICAgIGZvcm1hdCA9IGQuZ2V0VmFyKCdTUkNSRVZfRk9STUFUJywgVHJ1ZSkKKyAgICBpZiBub3QgZm9ybWF0OgorICAgICAgICBmb3JtYXQgPSAnZGVmYXVsdCcKKworICAgIGZvdW5kID0gRmFsc2UKKyAgICBmb3IgdXJsIGluIHVkLnZhbHVlcygpOgorICAgICAgICBpZiB1cmwudHlwZSA9PSAnZ2l0JyBvciB1cmwudHlwZSA9PSAnZ2l0c20nOgorICAgICAgICAgICAgZm9yIG5hbWUsIHJldiBpbiB1cmwucmV2aXNpb25zLml0ZW1zKCk6CisgICAgICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHVybC5sb2NhbHBhdGgpOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgICAgICAgICAgZm91bmQgPSBUcnVlCisKKyAgICAgICAgICAgICAgICB2YXJzID0geyAncmVwb2RpcicgOiBxdW90ZSh1cmwubG9jYWxwYXRoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAncmV2JyA6IHF1b3RlKHJldikgfQorCisgICAgICAgICAgICAgICAgcmV2ID0gYmIuZmV0Y2gyLmdldF9zcmNyZXYoZCkuc3BsaXQoJysnKVsxXQorICAgICAgICAgICAgICAgIHJldl9maWxlID0gb3MucGF0aC5qb2luKHVybC5sb2NhbHBhdGgsICJvZS1naXRwa2d2XyIgKyByZXYpCisKKyAgICAgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMocmV2X2ZpbGUpIG9yIG9zLnBhdGguZ2V0c2l6ZShyZXZfZmlsZSk9PTA6CisgICAgICAgICAgICAgICAgICAgIGNvbW1pdHMgPSBiYi5mZXRjaDIucnVuZmV0Y2hjbWQoCisgICAgICAgICAgICAgICAgICAgICAgICAiY2QgJShyZXBvZGlyKXMgJiYgIgorICAgICAgICAgICAgICAgICAgICAgICAgImdpdCByZXYtbGlzdCAlKHJldilzIC0tIDI+IC9kZXYvbnVsbCAiCisgICAgICAgICAgICAgICAgICAgICAgICAifCB3YyAtbCIgJSB2YXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgZCwgcXVpZXQ9VHJ1ZSkuc3RyaXAoKS5sc3RyaXAoJzAnKQorCisgICAgICAgICAgICAgICAgICAgIGlmIGNvbW1pdHMgIT0gIiI6CisgICAgICAgICAgICAgICAgICAgICAgICBvZS5wYXRoLnJlbW92ZShyZXZfZmlsZSwgcmVjdXJzZT1GYWxzZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIG9wZW4ocmV2X2ZpbGUsICJ3Iikud3JpdGUoIiVkXG4iICUgaW50KGNvbW1pdHMpKQorICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgY29tbWl0cyA9ICIwIgorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGNvbW1pdHMgPSBvcGVuKHJldl9maWxlLCAiciIpLnJlYWRsaW5lKDEyOCkuc3RyaXAoKQorCisgICAgICAgICAgICAgICAgaWYgdXNlX3RhZ3M6CisgICAgICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dCA9IGJiLmZldGNoMi5ydW5mZXRjaGNtZCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2QgJShyZXBvZGlyKXMgJiYgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnaXQgZGVzY3JpYmUgJShyZXYpcyAyPi9kZXYvbnVsbCIgJSB2YXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQsIHF1aWV0PVRydWUpLnN0cmlwKCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHZlciA9IGdpdHBrZ3ZfZHJvcF90YWdfcHJlZml4KG91dHB1dCkKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAgICAgICAgICAgICAgICAgIHZlciA9ICIwLjAtJXMtZyVzIiAlIChjb21taXRzLCByZXZbOjddKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHZlciA9ICIlcyslcyIgJSAoY29tbWl0cywgcmV2Wzo3XSkKKworICAgICAgICAgICAgICAgIGZvcm1hdCA9IGZvcm1hdC5yZXBsYWNlKG5hbWUsIHZlcikKKworICAgIGlmIGZvdW5kOgorICAgICAgICByZXR1cm4gZm9ybWF0CisKKyAgICByZXR1cm4gJzArMCcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL2dpdHZlci5iYmNsYXNzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2NsYXNzZXMvZ2l0dmVyLmJiY2xhc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTdiNTE1NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL2dpdHZlci5iYmNsYXNzCkBAIC0wLDAgKzEsNzUgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDA5IENocmlzIExhcnNvbiA8Y2xhcnNvbkBrZXJnb3RoLmNvbT4KKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgQ09QWUlORy5NSVQgZm9yIHRoZSB0ZXJtcykKKyMKKyMgZ2l0dmVyLmJiY2xhc3MgcHJvdmlkZXMgYSBHSVRWRVIgdmFyaWFibGUgd2hpY2ggaXMgYSAoZmFpcmx5KSBzYW5lIHZlcnNpb24sCisjIGZvciB1c2UgaW4gJHtQVn0sIGV4dHJhY3RlZCBmcm9tIHRoZSAke1N9IGdpdCBjaGVja291dCwgYXNzdW1pbmcgaXQgaXMgb25lLgorIyBUaGlzIGlzIG1vc3QgdXNlZnVsIGluIGNvbmNlcnQgd2l0aCBzcmN0cmVlLmJiY2xhc3MuCisKK2RlZiBnaXRfZHJvcF90YWdfcHJlZml4KHZlcnNpb24pOgorICAgIGltcG9ydCByZQorICAgIGlmIHJlLm1hdGNoKCJ2XGQiLCB2ZXJzaW9uKToKKyAgICAgICAgcmV0dXJuIHZlcnNpb25bMTpdCisgICAgZWxzZToKKyAgICAgICAgcmV0dXJuIHZlcnNpb24KKworR0lUX1RBR0FESlVTVCA9ICJnaXRfZHJvcF90YWdfcHJlZml4KHZlcnNpb24pIgorR0lUVkVSID0gIiR7QGdldF9naXRfcHYoJyR7U30nLCBkLCB0YWdhZGp1c3Q9bGFtYmRhIHZlcnNpb246JHtHSVRfVEFHQURKVVNUfSl9IgorR0lUU0hBID0gIiR7QGdldF9naXRfaGFzaCgnJHtTfScsIGQpfSIKKworZGVmIGdpdHJldl9ydW4oY21kLCBwYXRoKToKKyAgICAob3V0cHV0LCBlcnJvcikgPSBiYi5wcm9jZXNzLnJ1bihjbWQsIGN3ZD1wYXRoKQorICAgIHJldHVybiBvdXRwdXQucnN0cmlwKCkKKworZGVmIGdldF9naXRfcHYocGF0aCwgZCwgdGFnYWRqdXN0PU5vbmUpOgorICAgIGltcG9ydCBvcworICAgIGltcG9ydCBiYi5wcm9jZXNzCisKKyAgICBnaXRkaXIgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKGQuZ2V0VmFyKCJTIiwgVHJ1ZSksICIuZ2l0IikpCisgICAgdHJ5OgorICAgICAgICB2ZXIgPSBnaXRyZXZfcnVuKCJnaXQgZGVzY3JpYmUgLS10YWdzIiwgZ2l0ZGlyKQorICAgIGV4Y2VwdCBFeGNlcHRpb24sIGV4YzoKKyAgICAgICAgYmIuZmF0YWwoc3RyKGV4YykpCisKKyAgICBpZiBub3QgdmVyOgorICAgICAgICB0cnk6CisgICAgICAgICAgICB2ZXIgPSBnaXRyZXZfcnVuKCJnaXQgcmV2LXBhcnNlIC0tc2hvcnQgSEVBRCIsIGdpdGRpcikKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZXhjOgorICAgICAgICAgICAgYmIuZmF0YWwoc3RyKGV4YykpCisKKyAgICAgICAgaWYgdmVyOgorICAgICAgICAgICAgcmV0dXJuICIwLjArJXMiICUgdmVyCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gIjAuMCIKKyAgICBlbHNlOgorICAgICAgICBpZiB0YWdhZGp1c3Q6CisgICAgICAgICAgICB2ZXIgPSB0YWdhZGp1c3QodmVyKQorICAgICAgICByZXR1cm4gdmVyCisKK2RlZiBtYXJrX3JlY2lwZV9kZXBlbmRlbmNpZXMocGF0aCwgZCk6CisgICAgZnJvbSBiYi5wYXJzZSBpbXBvcnQgbWFya19kZXBlbmRlbmN5CisKKyAgICBnaXRkaXIgPSBvcy5wYXRoLmpvaW4ocGF0aCwgIi5naXQiKQorCisgICAgIyBGb3JjZSB0aGUgcmVjaXBlIHRvIGJlIHJlcGFyc2VkIHNvIHRoZSB2ZXJzaW9uIGdldHMgYnVtcGVkCisgICAgIyBpZiB0aGUgYWN0aXZlIGJyYW5jaCBpcyBzd2l0Y2hlZCwgb3IgaWYgdGhlIGJyYW5jaCBjaGFuZ2VzLgorICAgIG1hcmtfZGVwZW5kZW5jeShkLCBvcy5wYXRoLmpvaW4oZ2l0ZGlyLCAiSEVBRCIpKQorCisgICAgIyBGb3JjZSBhIHJlcGFyc2UgaWYgYW55dGhpbmcgaW4gdGhlIGluZGV4IGNoYW5nZXMuCisgICAgbWFya19kZXBlbmRlbmN5KGQsIG9zLnBhdGguam9pbihnaXRkaXIsICJpbmRleCIpKQorCisgICAgdHJ5OgorICAgICAgICByZWYgPSBnaXRyZXZfcnVuKCJnaXQgc3ltYm9saWMtcmVmIC1xIEhFQUQiLCBnaXRkaXIpCisgICAgZXhjZXB0IGJiLnByb2Nlc3MuQ21kRXJyb3I6CisgICAgICAgIHBhc3MKKyAgICBlbHNlOgorICAgICAgICBpZiByZWY6CisgICAgICAgICAgICBtYXJrX2RlcGVuZGVuY3koZCwgb3MucGF0aC5qb2luKGdpdGRpciwgcmVmKSkKKworICAgICMgQ2F0Y2ggbmV3IHRhZ3MuCisgICAgdGFnZGlyID0gb3MucGF0aC5qb2luKGdpdGRpciwgInJlZnMiLCAidGFncyIpCisgICAgaWYgb3MucGF0aC5leGlzdHModGFnZGlyKToKKyAgICAgICAgbWFya19kZXBlbmRlbmN5KGQsIHRhZ2RpcikKKworcHl0aG9uICgpIHsKKyAgICBtYXJrX3JlY2lwZV9kZXBlbmRlbmNpZXMoZC5nZXRWYXIoIlMiLCBUcnVlKSwgZCkKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL2dwZS5iYmNsYXNzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2NsYXNzZXMvZ3BlLmJiY2xhc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWZjMTM2NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL2dwZS5iYmNsYXNzCkBAIC0wLDAgKzEsMTcgQEAKK0RFUEVORFNfcHJlcGVuZCA9ICJ2aXJ0dWFsL2xpYmludGwgaW50bHRvb2wtbmF0aXZlICIKK0dQRV9UQVJCQUxMX1NVRkZJWCA/PSAiZ3oiCitTUkNfVVJJID0gIiR7R1BFX01JUlJPUn0vJHtCUH0udGFyLiR7R1BFX1RBUkJBTExfU1VGRklYfSIKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2dwZSAke2RhdGFkaXJ9L2FwcGxpY2F0aW9uLXJlZ2lzdHJ5IgorU0VDVElPTiA/PSAiZ3BlIgorCitpbmhlcml0IGdldHRleHQKKworZ3BlX2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSBQUkVGSVg9JHtwcmVmaXh9Cit9CisKK2dwZV9kb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgUFJFRklYPSR7cHJlZml4fSBERVNURElSPSR7RH0gaW5zdGFsbAorfQorCitFWFBPUlRfRlVOQ1RJT05TIGRvX2NvbXBpbGUgZG9faW5zdGFsbApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2NsYXNzZXMvbWFjaGluZV9rZXJuZWxfcHIuYmJjbGFzcyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL21hY2hpbmVfa2VybmVsX3ByLmJiY2xhc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDYzYjY0ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL21hY2hpbmVfa2VybmVsX3ByLmJiY2xhc3MKQEAgLTAsMCArMSw4IEBACitweXRob24gX19hbm9ueW1vdXMgKCkgeworCisgICAgbWFjaGluZV9rZXJuZWxfcHIgPSBkLmdldFZhcignTUFDSElORV9LRVJORUxfUFInLCBUcnVlKQorCisgICAgaWYgbWFjaGluZV9rZXJuZWxfcHI6CisgICAgICAgIGQuc2V0VmFyKCdQUicsIG1hY2hpbmVfa2VybmVsX3ByKQorfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY2xhc3Nlcy9zb2NvcnJvLXN5bXMuYmJjbGFzcyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL3NvY29ycm8tc3ltcy5iYmNsYXNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmNmFlNjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY2xhc3Nlcy9zb2NvcnJvLXN5bXMuYmJjbGFzcwpAQCAtMCwwICsxLDIzMSBAQAorIyBJbmhlcml0IHRoaXMgY2xhc3Mgd2hlbiB5b3Ugd2FudCB0byBhbGxvdyBNb3ppbGxhIFNvY29ycm8gdG8gbGluayBCcmVha3BhZCdzCisjIHN0YWNrIHRyYWNlIGluZm9ybWF0aW9uIHRvIHRoZSBjb3JyZWN0IHNvdXJjZSBjb2RlIHJldmlzaW9uLgorIyBUaGlzIGNsYXNzIGNyZWF0ZXMgYSBuZXcgdmVyc2lvbiBvZiB0aGUgc3ltYm9sIGZpbGUgKC5zeW0pIGNyZWF0ZWQgYnkKKyMgQnJlYWtwYWQuIFRoZSBhYnNvbHV0ZSBmaWxlIHBhdGhzIGluIHRoZSBzeW1ib2wgZmlsZSB3aWxsIGJlIHJlcGxhY2VkIGJ5IFZDUywKKyMgYnJhbmNoLCBmaWxlIGFuZCByZXZpc2lvbiBvZiB0aGUgc291cmNlIGZpbGUuIFRoYXQgaW5mb3JtYXRpb24gZmFjaWxpdGF0ZXMgdGhlCisjIGxvb2t1cCBvZiBhIHBhcnRpY3VsYXIgc291cmNlIGNvZGUgbGluZSBpbiB0aGUgc3RhY2sgdHJhY2UuCisjCisjIFVzZSBleGFtcGxlOgorIworIyBCUkVBS1BBRF9CSU4gPSAiWW91ckJpbmFyeSIKKyMgaW5oZXJpdCBzb2NvcnJvLXN5bXMKKyMKKworIyBXZSBkZXBlbmQgb24gQnJlYWtwYWQgY3JlYXRpbmcgdGhlIG9yaWdpbmFsIHN5bWJvbCBmaWxlLgoraW5oZXJpdCBicmVha3BhZAorCitQQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1MgKz0gInN5bWJvbF9maWxlX3ByZXByb2Nlc3MiCitQQUNLQUdFUyA9KyAiJHtQTn0tc29jb3Jyby1zeW1zIgorRklMRVNfJHtQTn0tc29jb3Jyby1zeW1zID0gIi91c3Ivc2hhcmUvc29jb3Jyby1zeW1zIgorCisKK3B5dGhvbiBzeW1ib2xfZmlsZV9wcmVwcm9jZXNzKCkgeworCisgICAgcGFja2FnZV9kaXIgPSBkLmdldFZhcigiUEtHRCIsIFRydWUpCisgICAgYnJlYWtwYWRfYmluID0gZC5nZXRWYXIoIkJSRUFLUEFEX0JJTiIsIFRydWUpCisgICAgaWYgbm90IGJyZWFrcGFkX2JpbjoKKyAgICAgICAgcGFja2FnZV9uYW1lID0gZC5nZXRWYXIoIlBOIiwgVHJ1ZSkKKyAgICAgICAgYmIuZXJyb3IoIlBhY2thZ2UgJXMgZGVwZW5kcyBvbiBCcmVha3BhZCB2aWEgc29jb3Jyby1zeW1zLiBTZWUgIgorICAgICAgICAgICAgImJyZWFrcGFkLmJiY2xhc3MgZm9yIGluc3RydWN0aW9ucyBvbiBzZXR0aW5nIHVwIHRoZSBCcmVha3BhZCAiCisgICAgICAgICAgICAiY29uZmlndXJhdGlvbi4iICUgcGFja2FnZV9uYW1lKQorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJCUkVBS1BBRF9CSU4gbm90IGRlZmluZWQgaW4gJXMuIiAlIHBhY2thZ2VfbmFtZSkKKworICAgIHN5bV9maWxlX25hbWUgPSBicmVha3BhZF9iaW4gKyAiLnN5bSIKKworICAgIGJyZWFrcGFkX3N5bXNfZGlyID0gb3MucGF0aC5qb2luKAorICAgICAgICBwYWNrYWdlX2RpciwgInVzciIsICJzaGFyZSIsICJicmVha3BhZC1zeW1zIikKKyAgICBzb2NvcnJvX3N5bXNfZGlyID0gb3MucGF0aC5qb2luKAorICAgICAgICBwYWNrYWdlX2RpciwgInVzciIsICJzaGFyZSIsICJzb2NvcnJvLXN5bXMiKQorICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhzb2NvcnJvX3N5bXNfZGlyKToKKyAgICAgICAgb3MubWFrZWRpcnMoc29jb3Jyb19zeW1zX2RpcikKKworICAgIGJyZWFrcGFkX3N5bV9maWxlX3BhdGggPSBvcy5wYXRoLmpvaW4oYnJlYWtwYWRfc3ltc19kaXIsIHN5bV9maWxlX25hbWUpCisgICAgc29jb3Jyb19zeW1fZmlsZV9wYXRoID0gb3MucGF0aC5qb2luKHNvY29ycm9fc3ltc19kaXIsIHN5bV9maWxlX25hbWUpCisKKyAgICBjcmVhdGVfc29jb3Jyb19zeW1fZmlsZShkLCBicmVha3BhZF9zeW1fZmlsZV9wYXRoLCBzb2NvcnJvX3N5bV9maWxlX3BhdGgpCisKKyAgICBhcnJhbmdlX3NvY29ycm9fc3ltX2ZpbGUoc29jb3Jyb19zeW1fZmlsZV9wYXRoLCBzb2NvcnJvX3N5bXNfZGlyKQorCisgICAgcmV0dXJuCit9CisKKworZGVmIHJ1bl9jb21tYW5kKGNvbW1hbmQsIGRpcmVjdG9yeSk6CisKKyAgICAob3V0cHV0LCBlcnJvcikgPSBiYi5wcm9jZXNzLnJ1bihjb21tYW5kLCBjd2Q9ZGlyZWN0b3J5KQorICAgIGlmIGVycm9yOgorICAgICAgICByYWlzZSBiYi5wcm9jZXNzLkV4ZWN1dGlvbkVycm9yKGNvbW1hbmQsIGVycm9yKQorCisgICAgcmV0dXJuIG91dHB1dC5yc3RyaXAoKQorCisKK2RlZiBjcmVhdGVfc29jb3Jyb19zeW1fZmlsZShkLCBicmVha3BhZF9zeW1fZmlsZV9wYXRoLCBzb2NvcnJvX3N5bV9maWxlX3BhdGgpOgorCisgICAgIyBJbiB0aGUgc3ltYm9sIGZpbGUsIGFsbCBzb3VyY2UgZmlsZXMgYXJlIHJlZmVyZW5jZWQgbGlrZSB0aGUgZm9sbG93aW5nLgorICAgICMgRklMRSAxMjMgL3BhdGgvdG8vc29tZS9GaWxlLmNwcAorICAgICMgR28gdGhyb3VnaCBhbGwgcmVmZXJlbmNlcyBhbmQgcmVwbGFjZSB0aGUgZmlsZSBwYXRocyB3aXRoIHJlcG9zaXRvcnkKKyAgICAjIHBhdGhzLgorICAgIHdpdGggb3BlbihicmVha3BhZF9zeW1fZmlsZV9wYXRoLCAncicpIGFzIGJyZWFrcGFkX3N5bV9maWxlLCBcCisgICAgICAgICAgICBvcGVuKHNvY29ycm9fc3ltX2ZpbGVfcGF0aCwgJ3cnKSBhcyBzb2NvcnJvX3N5bV9maWxlOgorCisgICAgICAgIGZvciBsaW5lIGluIGJyZWFrcGFkX3N5bV9maWxlOgorICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCJGSUxFICIpOgorICAgICAgICAgICAgICAgIHNvY29ycm9fc3ltX2ZpbGUud3JpdGUoc29jb3Jyb19maWxlX3JlZmVyZW5jZShkLCBsaW5lKSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc29jb3Jyb19zeW1fZmlsZS53cml0ZShsaW5lKQorCisgICAgcmV0dXJuCisKKworZGVmIHNvY29ycm9fZmlsZV9yZWZlcmVuY2UoZCwgbGluZSk6CisKKyAgICAjIFRoZSAzcmQgcG9zaXRpb24gaXMgdGhlIGZpbGUgcGF0aC4gU2VlIGV4YW1wbGUgYWJvdmUuCisgICAgc291cmNlX2ZpbGVfcGF0aCA9IGxpbmUuc3BsaXQoKVsyXQorICAgIHNvdXJjZV9maWxlX3JlcG9fcGF0aCA9IHJlcG9zaXRvcnlfcGF0aCgKKyAgICAgICAgZCwgb3MucGF0aC5ub3JtcGF0aChzb3VyY2VfZmlsZV9wYXRoKSkKKworICAgICMgSWYgdGhlIGZpbGUgY291bGQgYmUgZm91bmQgaW4gYW55IHJlcG9zaXRvcnkgdGhlbiByZXBsYWNlIGl0IHdpdGggdGhlCisgICAgIyByZXBvc2l0b3J5J3MgcGF0aC4KKyAgICBpZiBzb3VyY2VfZmlsZV9yZXBvX3BhdGg6CisgICAgICAgIHJldHVybiBsaW5lLnJlcGxhY2Uoc291cmNlX2ZpbGVfcGF0aCwgc291cmNlX2ZpbGVfcmVwb19wYXRoKQorCisgICAgcmV0dXJuIGxpbmUKKworCitkZWYgcmVwb3NpdG9yeV9wYXRoKGQsIHNvdXJjZV9maWxlX3BhdGgpOgorCisgICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKHNvdXJjZV9maWxlX3BhdGgpOgorICAgICAgICByZXR1cm4gTm9uZQorCisgICAgIyBDaGVjayB3aGljaCBWQ1MgaXMgdXNlZCBhbmQgdXNlIHRoYXQgdG8gZXh0cmFjdCByZXBvc2l0b3J5IGluZm9ybWF0aW9uLgorICAgIChvdXRwdXQsIGVycm9yKSA9IGJiLnByb2Nlc3MucnVuKCJnaXQgc3RhdHVzIiwKKyAgICAgICAgY3dkPW9zLnBhdGguZGlybmFtZShzb3VyY2VfZmlsZV9wYXRoKSkKKyAgICBpZiBub3QgZXJyb3I6CisgICAgICAgICMgTWFrZSBzdXJlIHRoZSBnaXQgcmVwb3NpdG9yeSB3ZSBqdXN0IGZvdW5kIHdhc24ndCB0aGUgeW9jdG8gcmVwb3NpdG9yeQorICAgICAgICAjIGl0c2VsZiwgaS5lLiB0aGUgcm9vdCBvZiB0aGUgcmVwb3NpdG9yeSB3ZSdyZSBsb29raW5nIGZvciBtdXN0IGJlIGEKKyAgICAgICAgIyBjaGlsZCBvZiB0aGUgYnVpbGQgZGlyZWN0b3J5IFRPUERJUi4KKyAgICAgICAgZ2l0X3Jvb3RfZGlyID0gcnVuX2NvbW1hbmQoCisgICAgICAgICAgICAiZ2l0IHJldi1wYXJzZSAtLXNob3ctdG9wbGV2ZWwiLCBvcy5wYXRoLmRpcm5hbWUoc291cmNlX2ZpbGVfcGF0aCkpCisgICAgICAgIGlmIG5vdCBnaXRfcm9vdF9kaXIuc3RhcnRzd2l0aChkLmdldFZhcigiVE9QRElSIiwgVHJ1ZSkpOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgICAgICByZXR1cm4gZ2l0X3JlcG9zaXRvcnlfcGF0aChzb3VyY2VfZmlsZV9wYXRoKQorCisgICAgIyBIZXJlIHdlIGNhbiBhZGQgc3VwcG9ydCBmb3Igb3RoZXIgVkNTcyBsaWtlIGhnLCBzdm4sIGN2cywgZXRjLgorCisgICAgIyBUaGUgc291cmNlIGZpbGUgaXNuJ3QgdW5kZXIgYW55IFZDUyBzbyB3ZSBsZWF2ZSBpdCBiZS4KKyAgICByZXR1cm4gTm9uZQorCisKK2RlZiBpc19sb2NhbF91cmwodXJsKToKKworICAgIHJldHVybiBcCisgICAgICAgIHVybC5zdGFydHN3aXRoKCJmaWxlOiIpIG9yIHVybC5zdGFydHN3aXRoKCIvIikgb3IgdXJsLnN0YXJ0c3dpdGgoIi4vIikKKworCitkZWYgZ2l0X3JlcG9zaXRvcnlfcGF0aChzb3VyY2VfZmlsZV9wYXRoKToKKworICAgIGltcG9ydCByZQorCisgICAgIyBXZSBuZWVkIHRvIGV4dHJhY3QgdGhlIGZvbGxvd2luZy4KKyAgICAjICgxKTogVkNTIFVSTCwgKDIpOiBicmFuY2gsICgzKTogcmVwbyByb290IGRpcmVjdG9yeSBuYW1lLCAoNCk6IHJlcG8gZmlsZSwKKyAgICAjICg1KTogcmV2aXNpb24uCisKKyAgICBzb3VyY2VfZmlsZV9kaXIgPSBvcy5wYXRoLmRpcm5hbWUoc291cmNlX2ZpbGVfcGF0aCkKKworICAgICMgKDEpIEdldCB0aGUgVkNTIFVSTCBhbmQgZXh0cmFjdCB0aGUgc2VydmVyIHBhcnQsIGkuZS4gY2hhbmdlIHRoZSBVUkwgZnJvbQorICAgICMgZ2l0b2xpdGVAZ2l0LnNvbWVzZXJ2ZXIuY29tOlNvbWVSZXBvLmdpdCB0byBqdXN0IGdpdC5zb21lc2VydmVyLmNvbS4KKyAgICBzb3VyY2VfbG9uZ191cmwgPSBydW5fY29tbWFuZCgKKyAgICAgICAgImdpdCBjb25maWcgLS1nZXQgcmVtb3RlLm9yaWdpbi51cmwiLCBzb3VyY2VfZmlsZV9kaXIpCisKKyAgICAjIFRoZSBVUkwgY291bGQgYmUgYSBsb2NhbCBkb3dubG9hZCBkaXJlY3RvcnkuIElmIHNvLCBnZXQgdGhlIFVSTCBhZ2FpbgorICAgICMgdXNpbmcgdGhlIGxvY2FsIGRpcmVjdG9yeSdzIGNvbmZpZyBmaWxlLgorICAgIGlmIGlzX2xvY2FsX3VybChzb3VyY2VfbG9uZ191cmwpOgorICAgICAgICBnaXRfY29uZmlnX2ZpbGUgPSBvcy5wYXRoLmpvaW4oc291cmNlX2xvbmdfdXJsLCAiY29uZmlnIikKKyAgICAgICAgc291cmNlX2xvbmdfdXJsID0gcnVuX2NvbW1hbmQoCisgICAgICAgICAgICAiZ2l0IGNvbmZpZyAtLWZpbGUgJXMgLS1nZXQgcmVtb3RlLm9yaWdpbi51cmwiICUgZ2l0X2NvbmZpZ19maWxlLAorICAgICAgICAgICAgc291cmNlX2ZpbGVfZGlyKQorCisgICAgICAgICMgSWYgYWxzbyB0aGUgZG93bmxvYWQgZGlyZWN0b3J5IHJlZGlyZWN0cyB0byBhIGxvY2FsIGdpdCBkaXJlY3RvcnksCisgICAgICAgICMgdGhlbiB3ZSdyZSBwcm9iYWJseSB1c2luZyBzb3VyY2UgY29kZSBmcm9tIGEgbG9jYWwgZGVidWcgYnJhbmNoIHdoaWNoCisgICAgICAgICMgd29uJ3QgYmUgYWNjZXNzaWJsZSBieSBTb2NvcnJvLgorICAgICAgICBpZiBpc19sb2NhbF91cmwoc291cmNlX2xvbmdfdXJsKToKKyAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICAjIFRoZSBVUkwgY2FuIGhhdmUgc2V2ZXJhbCBmb3JtYXRzLiBBIGZ1bGwgbGlzdCBjYW4gYmUgZm91bmQgdXNpbmcKKyAgICAjIGdpdCBoZWxwIGNsb25lLiBFeHRyYWN0IHRoZSBzZXJ2ZXIgcGFydCB3aXRoIGEgcmVnZXguCisgICAgdXJsX21hdGNoID0gcmUuc2VhcmNoKCIuKig6Ly98QCkoW146L10qKS4qIiwgc291cmNlX2xvbmdfdXJsKQorICAgIHNvdXJjZV9zZXJ2ZXIgPSB1cmxfbWF0Y2guZ3JvdXAoMikKKworICAgICMgKDIpIEdldCB0aGUgYnJhbmNoIGZvciB0aGlzIGZpbGUuCisgICAgc291cmNlX2JyYW5jaF9saXN0ID0gcnVuX2NvbW1hbmQoImdpdCBzaG93LWJyYW5jaCAtLWxpc3QiLCBzb3VyY2VfZmlsZV9kaXIpCisgICAgc291cmNlX2JyYW5jaF9tYXRjaCA9IHJlLnNlYXJjaCgiLio/XFsoLio/KVxdLioiLCBzb3VyY2VfYnJhbmNoX2xpc3QpCisgICAgc291cmNlX2JyYW5jaCA9IHNvdXJjZV9icmFuY2hfbWF0Y2guZ3JvdXAoMSkKKworICAgICMgKDMpIFNpbmNlIHRoZSByZXBvIHJvb3QgZGlyZWN0b3J5IG5hbWUgY2FuIGJlIGNoYW5nZWQgd2l0aG91dCBhZmZlY3RpbmcKKyAgICAjIGdpdCwgd2UgbmVlZCB0byBleHRyYWN0IHRoZSBuYW1lIGZyb20gc29tZXRoaW5nIG1vcmUgcmVsaWFibGUuCisgICAgIyBUaGUgZ2l0IFVSTCBoYXMgYSByZXBvIG5hbWUgdGhhdCB3ZSBjb3VsZCB1c2UuIFdlIGp1c3QgbmVlZCB0byBzdHJpcCBvZmYKKyAgICAjIGV2ZXJ5dGhpbmcgYXJvdW5kIGl0IC0gZnJvbSBnaXRvbGl0ZUBnaXQuc29tZXNlcnZlci5jb206U29tZVJlcG8uZ2l0LyB0bworICAgICMgU29tZVJlcG8uCisgICAgc291cmNlX3JlcG9fZGlyID0gcmUuc3ViKCIvJCIsICIiLCBzb3VyY2VfbG9uZ191cmwpCisgICAgc291cmNlX3JlcG9fZGlyID0gcmUuc3ViKCJcLmdpdCQiLCAiIiwgc291cmNlX3JlcG9fZGlyKQorICAgIHNvdXJjZV9yZXBvX2RpciA9IHJlLnN1YigiLipbOi9dIiwgIiIsIHNvdXJjZV9yZXBvX2RpcikKKworICAgICMgKDQpIFdlIGtub3cgdGhlIGZpbGUgYnV0IHdhbnQgdG8gcmVtb3ZlIGFsbCBvZiB0aGUgYnVpbGQgc3lzdGVtIGRlcGVuZGVudAorICAgICMgcGF0aCB1cCB0byBhbmQgaW5jbHVkaW5nIHRoZSByZXBvc2l0b3J5J3Mgcm9vdCBkaXJlY3RvcnksIGUuZy4gcmVtb3ZlCisgICAgIyAvaG9tZS9zb21ldXNlci9kZXYvcmVwby9wcm9qZWN0eC8KKyAgICBzb3VyY2VfdG9wbGV2ZWwgPSBydW5fY29tbWFuZCgKKyAgICAgICAgImdpdCByZXYtcGFyc2UgLS1zaG93LXRvcGxldmVsIiwgc291cmNlX2ZpbGVfZGlyKQorICAgIHNvdXJjZV90b3BsZXZlbCA9IHNvdXJjZV90b3BsZXZlbCArIG9zLnBhdGguc2VwCisgICAgc291cmNlX2ZpbGUgPSBzb3VyY2VfZmlsZV9wYXRoLnJlcGxhY2Uoc291cmNlX3RvcGxldmVsLCAiIikKKworICAgICMgKDUpIEdldCB0aGUgc291cmNlIHJldmlzaW9uIHRoaXMgZmlsZSBpcyBwYXJ0IG9mLgorICAgIHNvdXJjZV9yZXZpc2lvbiA9IHJ1bl9jb21tYW5kKCJnaXQgcmV2LXBhcnNlIEhFQUQiLCBzb3VyY2VfZmlsZV9kaXIpCisKKyAgICAjIEFzc2VtYmxlIHRoZSByZXBvc2l0b3J5IHBhdGggYWNjb3JkaW5nIHRvIHRoZSBTb2NvcnJvIGZvcm1hdC4KKyAgICBzb2NvcnJvX3JlZmVyZW5jZSA9ICJnaXQ6JXMvJXM6JXMvJXM6JXMiICUgXAorICAgICAgICAoc291cmNlX3NlcnZlciwgc291cmNlX2JyYW5jaCwKKyAgICAgICAgc291cmNlX3JlcG9fZGlyLCBzb3VyY2VfZmlsZSwKKyAgICAgICAgc291cmNlX3JldmlzaW9uKQorCisgICAgcmV0dXJuIHNvY29ycm9fcmVmZXJlbmNlCisKKworZGVmIGFycmFuZ2Vfc29jb3Jyb19zeW1fZmlsZShzb2NvcnJvX3N5bV9maWxlX3BhdGgsIHNvY29ycm9fc3ltc19kaXIpOgorCisgICAgaW1wb3J0IHJlCisKKyAgICAjIEJyZWFrcGFkJ3MgbWluaWR1bXBfc3RhY2t3YWxrIG5lZWRzIGEgY2VydGFpbiBkaXJlY3Rvcnkgc3RydWN0dXJlIGluIG9yZGVyCisgICAgIyB0byBmaW5kIGNvcnJlY3Qgc3ltYm9scyB3aGVuIGV4dHJhY3RpbmcgYSBzdGFjayB0cmFjZSBvdXQgb2YgYSBtaW5pZHVtcC4KKyAgICAjIFRoZSBkaXJlY3Rvcnkgc3RydWN0dXJlIG11c3QgbG9vayBsaWtlIHRoZSBmb2xsb3dpbmcuCisgICAgIyBZb3VyQmluYXJ5LzxoYXNoPi9Zb3VyQmluYXJ5LnN5bQorICAgICMgWW91ckxpYnJhcnkuc28vPGhhc2g+L1lvdXJMaWJyYXJ5LnNvLnN5bQorICAgICMgVG8gYmUgYWJsZSB0byBjcmVhdGUgc3VjaCBzdHJ1Y3R1cmUgd2UgbmVlZCB0byBleHRyYWN0IHRoZSBoYXNoIHZhbHVlIHRoYXQKKyAgICAjIGlzIGZvdW5kIGluIGVhY2ggc3ltYm9sIGZpbGUuIFRoZSBoZWFkZXIgb2YgdGhlIHN5bWJvbCBmaWxlIGxvb2tzCisgICAgIyBzb21ldGhpbmcgbGlrZSB0aGlzOgorICAgICMgTU9EVUxFIExpbnV4IHg4NiBBMDc5RTQ3MzEwNkNFNTFDNzRDMUMyNUFGNTM2Q0NEMzAgWW91ckJpbmFyeQorICAgICMgU2VlCisgICAgIyBodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZ29vZ2xlLWJyZWFrcGFkL3dpa2kvTGludXhTdGFydGVyR3VpZGUKKworICAgICMgQ3JlYXRlIHRoZSBkaXJlY3Rvcnkgd2l0aCB0aGUgc2FtZSBuYW1lIGFzIHRoZSBiaW5hcnkuCisgICAgYmluYXJ5X2RpciA9IHJlLnN1YigiXC5zeW0kIiwgIiIsIHNvY29ycm9fc3ltX2ZpbGVfcGF0aCkKKyAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoYmluYXJ5X2Rpcik6CisgICAgICAgIG9zLm1ha2VkaXJzKGJpbmFyeV9kaXIpCisKKyAgICAjIEdldCB0aGUgaGFzaCBmcm9tIHRoZSBoZWFkZXIgb2YgdGhlIHN5bWJvbCBmaWxlLgorICAgIHdpdGggb3Blbihzb2NvcnJvX3N5bV9maWxlX3BhdGgsICdyJykgYXMgc29jb3Jyb19zeW1fZmlsZToKKworICAgICAgICAjIFRoZSBoYXNoIGlzIHRoZSA0dGggYXJndW1lbnQgb2YgdGhlIGZpcnN0IGxpbmUuCisgICAgICAgIHN5bV9maWxlX2hhc2ggPSBzb2NvcnJvX3N5bV9maWxlLnJlYWRsaW5lKCkuc3BsaXQoKVszXQorCisgICAgIyBDcmVhdGUgdGhlIGhhc2ggZGlyZWN0b3J5LgorICAgIGhhc2hfZGlyID0gb3MucGF0aC5qb2luKGJpbmFyeV9kaXIsIHN5bV9maWxlX2hhc2gpCisgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGhhc2hfZGlyKToKKyAgICAgICAgb3MubWFrZWRpcnMoaGFzaF9kaXIpCisKKyAgICAjIE1vdmUgdGhlIHN5bWJvbCBmaWxlIHRvIHRoZSBoYXNoIGRpcmVjdG9yeS4KKyAgICBzeW1fZmlsZV9uYW1lID0gb3MucGF0aC5iYXNlbmFtZShzb2NvcnJvX3N5bV9maWxlX3BhdGgpCisgICAgb3MucmVuYW1lKHNvY29ycm9fc3ltX2ZpbGVfcGF0aCwgb3MucGF0aC5qb2luKGhhc2hfZGlyLCBzeW1fZmlsZV9uYW1lKSkKKworICAgIHJldHVybgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY29uZi9kaXN0cm8vaW5jbHVkZS9tZXRhX29lX3NlY3VyaXR5X2ZsYWdzLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jb25mL2Rpc3Ryby9pbmNsdWRlL21ldGFfb2Vfc2VjdXJpdHlfZmxhZ3MuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1NjVlMzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY29uZi9kaXN0cm8vaW5jbHVkZS9tZXRhX29lX3NlY3VyaXR5X2ZsYWdzLmluYwpAQCAtMCwwICsxLDcgQEAKKyMgQnVpbGQgZXJyb3JzIHdpdGggdGhlIHBpZSBvcHRpb25zIGVuYWJsZWQKK1NFQ1VSSVRZX0NGTEFHU19wbi1sdm0yID0gIiR7U0VDVVJJVFlfTk9fUElFX0NGTEFHU30iCitTRUNVUklUWV9DRkxBR1NfcG4tcnJkdG9vbCA9ICIke1NFQ1VSSVRZX05PX1BJRV9DRkxBR1N9IgorCisjIFRoaXMgaGFzIHRleHQgcmVsb2MgZXJyb3JzIHdpdGggdGhlIHBpZSBvcHRpb25zIGVuYWJsZWQKK1NFQ1VSSVRZX0NGTEFHU19wbi1tb3pqcyA9ICIke1NFQ1VSSVRZX05PX1BJRV9DRkxBR1N9IgorU0VDVVJJVFlfQ0ZMQUdTX3BuLW9wZW5sZGFwID0gIiR7U0VDVVJJVFlfTk9fUElFX0NGTEFHU30iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY29uZi9sYXllci5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2NvbmYvbGF5ZXIuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNjdjYzFhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2NvbmYvbGF5ZXIuY29uZgpAQCAtMCwwICsxLDc1IEBACisjIEl0IHJlYWxseSBkZXBlbmRzIG9uIG9yZGVyIG9mIHRoZSBsYXllcnMgYXBwZWFyaW5nIGluIEJCTEFZRVJTCisjIHZhcmlhYmxlIGluIHRvcGxldmVsIGJibGF5ZXJzLmNvbmYgZmlsZSwgd2hlcmUgYml0YmFrZSB3aWxsIHNlYXJjaAorIyBmb3IgLmluYyBmaWxlcyBhbmQgb3RoZXJzIHdoZXJlIGJpdGJha2UgdXNlcyBCQlBBVEggc2luY2UgaXQgd2lsbAorIyBzZWFyY2ggdGhlIGRpcmVjdG9yaWVzIGZyb20gZmlyc3QgdG8gbGFzdCBhcyBzcGVjaWZpZWQgaW4gQkJQQVRICisjIFRoZXJlZm9yZSBpZiB5b3Ugd2FudCBhIGdpdmVuIGxheWVyIHRvIGJlIGNvbnNpZGVyZWQgaGlnaCBwcmlvcml0eQorIyBmb3IgdGhlIC5pbmMgYW5kIC5jb25mIGV0Yy4gdGhlbiBjb25zaWRlciBpdCBhZGRpbmcgYXQgdGhlIGJlZ2lubmluZworIyBvZiBCQlBBVEguIEZvciBiYmxheWVycyBiaXRiYWtlIHdpbGwgdXNlIEJCRklMRVNfUFJJT1JJVFkgdG8gcmVzb2x2ZQorIyB0aGUgcmVjaXBlIGNvbnRlbnRpb24gc28gdGhlIG9yZGVyIG9mIGRpcmVjdG9yaWVzIGluIEJCRklMRVMgZG9lcyAKKyMgbm90IG1hdHRlci4KKworIyBXZSBoYXZlIGEgY29uZiBhbmQgY2xhc3NlcyBkaXJlY3RvcnksIGFwcGVuZCB0byBCQlBBVEgKK0JCUEFUSCAuPSAiOiR7TEFZRVJESVJ9IgorCisjIFdlIGhhdmUgYSByZWNpcGVzIGRpcmVjdG9yeSwgYWRkIHRvIEJCRklMRVMKK0JCRklMRVMgKz0gIiR7TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmIgJHtMQVlFUkRJUn0vcmVjaXBlcy0qLyovKi5iYmFwcGVuZCIKKworQkJGSUxFX0NPTExFQ1RJT05TICs9ICJvcGVuZW1iZWRkZWQtbGF5ZXIiCitCQkZJTEVfUEFUVEVSTl9vcGVuZW1iZWRkZWQtbGF5ZXIgOj0gIl4ke0xBWUVSRElSfS8iCisKKyMgRGVmaW5lIHRoZSBwcmlvcml0eSBmb3IgcmVjaXBlcyAoLmJiIGZpbGVzKSBmcm9tIHRoaXMgbGF5ZXIsCisjIGNob29zaW5nIGNhcmVmdWxseSBob3cgdGhpcyBsYXllciBpbnRlcmFjdHMgd2l0aCBhbGwgb2YgdGhlCisjIG90aGVyIGxheWVycy4KKworQkJGSUxFX1BSSU9SSVRZX29wZW5lbWJlZGRlZC1sYXllciA9ICI2IgorCisjIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW5jcmVtZW50ZWQgb24gc2lnbmlmaWNhbnQgY2hhbmdlcyB0aGF0IHdpbGwKKyMgY2F1c2UgY29tcGF0aWJpbGl0eSBpc3N1ZXMgd2l0aCBvdGhlciBsYXllcnMKK0xBWUVSVkVSU0lPTl9vcGVuZW1iZWRkZWQtbGF5ZXIgPSAiMSIKKworTEFZRVJERVBFTkRTX29wZW5lbWJlZGRlZC1sYXllciA9ICJjb3JlIgorCitMSUNFTlNFX1BBVEggKz0gIiR7TEFZRVJESVJ9L2xpY2Vuc2VzIgorCitTSUdHRU5fRVhDTFVERVJFQ0lQRVNfQUJJU0FGRSArPSAiIFwKKyAgbXBsYXllci1jb21tb24gXAorICBmYnNldC1tb2RlcyBcCisgIGdwc2QtbWFjaGluZS1jb25mIFwKKyAgZGlzdHJvLWZlZWQtY29uZmlncyBcCisgIGNhLWNlcnRpZmljYXRlcyBcCisiCisKK1NJR0dFTl9FWENMVURFX1NBRkVfUkVDSVBFX0RFUFMgKz0gIiBcCisgIHVzYi1tb2Rlc3dpdGNoLWRhdGEtPnVzYi1tb2Rlc3dpdGNoIFwKKyAgbG1zZW5zb3JzLT5sbXNlbnNvcnMtY29uZmlnIFwKKyAgcGhvcm9uaXgtdGVzdC1zdWl0ZS0+YmFzaCBcCisgIHBob3Jvbml4LXRlc3Qtc3VpdGUtPnB5dGhvbiBcCisgIHBob3Jvbml4LXRlc3Qtc3VpdGUtPnBocCBcCisiCisKKyMgdHRmLmluYyBpbmhlcml0cyBmb250Y2FjaGUgd2hpY2ggYWRkcyBmb250Y29uZmlnLXV0aWxzIHRvIFJERVBFTkRTCitTSUdHRU5fRVhDTFVERV9TQUZFX1JFQ0lQRV9ERVBTICs9ICIgXAorICB0ZXJtaW51cy1mb250LT5mb250Y29uZmlnIFwKKyAgdHRmLWFycGhpYy11bWluZy0+Zm9udGNvbmZpZyBcCisgIHR0Zi1kZWphdnUtPmZvbnRjb25maWcgXAorICB0dGYtZHJvaWQtPmZvbnRjb25maWcgXAorICB0dGYtZ2VudGl1bS0+Zm9udGNvbmZpZyBcCisgIHR0Zi1odW5reWZvbnRzLT5mb250Y29uZmlnIFwKKyAgdHRmLWluY29uc29sYXRhLT5mb250Y29uZmlnIFwKKyAgdHRmLWxpYmVyYXRpb24tPmZvbnRjb25maWcgXAorICB0dGYtcHQtc2Fucy0+Zm9udGNvbmZpZyBcCisgIHR0Zi1tcGx1cy0+Zm9udGNvbmZpZyBcCisgIHR0Zi1zYXphbmFtaS0+Zm9udGNvbmZpZyBcCisgIHR0Zi10bHdnLT5mb250Y29uZmlnIFwKKyAgdHRmLXVidW50dS1mb250LWZhbWlseS0+Zm9udGNvbmZpZyBcCisgIHR0Zi13cXktemVuaGVpLT5mb250Y29uZmlnIFwKKyAgc291cmNlLWhhbi1zYW5zLWNuLWZvbnRzLT5mb250Y29uZmlnIFwKKyAgc291cmNlLWhhbi1zYW5zLWpwLWZvbnRzLT5mb250Y29uZmlnIFwKKyAgc291cmNlLWhhbi1zYW5zLWtyLWZvbnRzLT5mb250Y29uZmlnIFwKKyAgc291cmNlLWhhbi1zYW5zLXR3LWZvbnRzLT5mb250Y29uZmlnIFwKKyIKKworRlJFRVNNQVJUUEhPTkVfR0lUID0gImdpdDovL2dpdC5mcmVlc21hcnRwaG9uZS5vcmciCisKKyMgT3ZlcnJpZGUgc2VjdXJpdHkgZmxhZ3MKK3JlcXVpcmUgY29uZi9kaXN0cm8vaW5jbHVkZS9tZXRhX29lX3NlY3VyaXR5X2ZsYWdzLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL0dEIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL0dECm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlMTdkMDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvR0QKQEAgLTAsMCArMSw1MyBAQAorIAorICAgICBQb3J0aW9ucyBjb3B5cmlnaHQgMTk5NCwgMTk5NSwgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwKKyAgICAgMjAwMiBieSBDb2xkIFNwcmluZyBIYXJib3IgTGFib3JhdG9yeS4gRnVuZGVkIHVuZGVyIEdyYW50CisgICAgIFA0MS1SUjAyMTg4IGJ5IHRoZSBOYXRpb25hbCBJbnN0aXR1dGVzIG9mIEhlYWx0aC4gCisKKyAgICAgUG9ydGlvbnMgY29weXJpZ2h0IDE5OTYsIDE5OTcsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDIgYnkKKyAgICAgQm91dGVsbC5Db20sIEluYy4gCisKKyAgICAgUG9ydGlvbnMgcmVsYXRpbmcgdG8gR0QyIGZvcm1hdCBjb3B5cmlnaHQgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMgorICAgICBQaGlsaXAgV2FybmVyLgorICAgICAKKyAgICAgUG9ydGlvbnMgcmVsYXRpbmcgdG8gUE5HIGNvcHlyaWdodCAxOTk5LCAyMDAwLCAyMDAxLCAyMDAyIEdyZWcKKyAgICAgUm9lbG9mcy4gCisKKyAgICAgUG9ydGlvbnMgcmVsYXRpbmcgdG8gZ2R0dGYuYyBjb3B5cmlnaHQgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMiBKb2huICAKKyAgICAgRWxsc29uIChlbGxzb25AbHVjZW50LmNvbSkuCisgICAKKyAgICAgUG9ydGlvbnMgcmVsYXRpbmcgdG8gZ2RmdC5jIGNvcHlyaWdodCAyMDAxLCAyMDAyIEpvaG4gRWxsc29uICAKKyAgICAgKGVsbHNvbkBsdWNlbnQuY29tKS4gIAorCisgICAgIFBvcnRpb25zIGNvcHlyaWdodCAyMDAwLCAyMDAxLCAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3CisJCSBQaWVycmUtQWxhaW4gSm95ZSAocGllcnJlQGxpYmdkLm9yZykuICAKKworICAgICBQb3J0aW9ucyByZWxhdGluZyB0byBKUEVHIGFuZCB0byBjb2xvciBxdWFudGl6YXRpb24gY29weXJpZ2h0IDIwMDAsCisgICAgIDIwMDEsIDIwMDIsIERvdWcgQmVja2VyIGFuZCBjb3B5cmlnaHQgKEMpIDE5OTQsIDE5OTUsIDE5OTYsIDE5OTcsCisgICAgIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDIsIFRob21hcyBHLiBMYW5lLiBUaGlzIHNvZnR3YXJlIGlzCisgICAgIGJhc2VkIGluIHBhcnQgb24gdGhlIHdvcmsgb2YgdGhlIEluZGVwZW5kZW50IEpQRUcgR3JvdXAuIFNlZSB0aGUKKyAgICAgZmlsZSBSRUFETUUtSlBFRy5UWFQgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisKKyAgICAgUG9ydGlvbnMgcmVsYXRpbmcgdG8gV0JNUCBjb3B5cmlnaHQgMjAwMCwgMjAwMSwgMjAwMiBNYXVyaWNlCisgICAgIFN6bXVybG8gYW5kIEpvaGFuIFZhbiBkZW4gQnJhbmRlLgorCisgICAgIFBlcm1pc3Npb24gaGFzIGJlZW4gZ3JhbnRlZCB0byBjb3B5LCBkaXN0cmlidXRlIGFuZCBtb2RpZnkgZ2QgaW4KKyAgICAgYW55IGNvbnRleHQgd2l0aG91dCBmZWUsIGluY2x1ZGluZyBhIGNvbW1lcmNpYWwgYXBwbGljYXRpb24sCisgICAgIHByb3ZpZGVkIHRoYXQgdGhpcyBub3RpY2UgaXMgcHJlc2VudCBpbiB1c2VyLWFjY2Vzc2libGUgc3VwcG9ydGluZworICAgICBkb2N1bWVudGF0aW9uLgorCisgICAgIFRoaXMgZG9lcyBub3QgYWZmZWN0IHlvdXIgb3duZXJzaGlwIG9mIHRoZSBkZXJpdmVkIHdvcmsgaXRzZWxmLCBhbmQgCisgICAgIHRoZSBpbnRlbnQgaXMgdG8gYXNzdXJlIHByb3BlciBjcmVkaXQgZm9yIHRoZSBhdXRob3JzIG9mIGdkLCBub3QgdG8KKyAgICAgaW50ZXJmZXJlIHdpdGggeW91ciBwcm9kdWN0aXZlIHVzZSBvZiBnZC4gSWYgeW91IGhhdmUgcXVlc3Rpb25zLAorICAgICBhc2suICJEZXJpdmVkIHdvcmtzIiBpbmNsdWRlcyBhbGwgcHJvZ3JhbXMgdGhhdCB1dGlsaXplIHRoZSAgIAorICAgICBsaWJyYXJ5LiBDcmVkaXQgbXVzdCBiZSBnaXZlbiBpbiB1c2VyLWFjY2Vzc2libGUgZG9jdW1lbnRhdGlvbi4KKworICAgICBUaGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkICJBUyBJUy4iIFRoZSBjb3B5cmlnaHQgaG9sZGVycyBkaXNjbGFpbSAgCisgICAgIGFsbCB3YXJyYW50aWVzLCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLCBpbmNsdWRpbmcgYnV0IG5vdAorICAgICBsaW1pdGVkIHRvIGltcGxpZWQgd2FycmFudGllcyBvZiBtZXJjaGFudGFiaWxpdHkgYW5kIGZpdG5lc3MgZm9yIGEKKyAgICAgcGFydGljdWxhciBwdXJwb3NlLCB3aXRoIHJlc3BlY3QgdG8gdGhpcyBjb2RlIGFuZCBhY2NvbXBhbnlpbmcgIAorICAgICBkb2N1bWVudGF0aW9uLgorCisgICAgIEFsdGhvdWdoIHRoZWlyIGNvZGUgZG9lcyBub3QgYXBwZWFyIGluIGdkLCB0aGUgYXV0aG9ycyB3aXNoIHRvIHRoYW5rCisgICAgIERhdmlkIEtvYmxhcywgRGF2aWQgUm93bGV5LCBhbmQgSHV0Y2hpc29uIEF2ZW51ZSBTb2Z0d2FyZSBDb3Jwb3JhdGlvbgorICAgICBmb3IgdGhlaXIgcHJpb3IgY29udHJpYnV0aW9ucy4KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL0dQTC0yLjAtd2l0aC1sbWJlbmNoLXJlc3RyaWN0aW9uIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL0dQTC0yLjAtd2l0aC1sbWJlbmNoLXJlc3RyaWN0aW9uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlMWY3Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvR1BMLTIuMC13aXRoLWxtYmVuY2gtcmVzdHJpY3Rpb24KQEAgLTAsMCArMSwxMDggQEAKKyVNJSAlSSUgJUUlCisKK1RoZSBzZXQgb2YgcHJvZ3JhbXMgYW5kIGRvY3VtZW50YXRpb24ga25vd24gYXMgImxtYmVuY2giIGFyZSBkaXN0cmlidXRlZAordW5kZXIgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbidzIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ugd2l0aCB0aGUKK2ZvbGxvd2luZyBhZGRpdGlvbmFsIHJlc3RyaWN0aW9ucyAod2hpY2ggb3ZlcnJpZGUgYW55IGNvbmZsaWN0aW5nCityZXN0cmljdGlvbnMgaW4gdGhlIEdQTCk6CisKKzEuIFlvdSBtYXkgbm90IGRpc3RyaWJ1dGUgcmVzdWx0cyBpbiBhbnkgcHVibGljIGZvcnVtLCBpbiBhbnkgcHVibGljYXRpb24sCisgICBvciBpbiBhbnkgb3RoZXIgd2F5IGlmIHlvdSBoYXZlIG1vZGlmaWVkIHRoZSBiZW5jaG1hcmtzLiAgCisKKzIuIFlvdSBtYXkgbm90IGRpc3RyaWJ1dGUgdGhlIHJlc3VsdHMgZm9yIGEgZmVlIG9mIGFueSBraW5kLiAgVGhpcyBpbmNsdWRlcworICAgd2ViIHNpdGVzIHdoaWNoIGdlbmVyYXRlIHJldmVudWUgZnJvbSBhZHZlcnRpc2luZy4KKworSWYgeW91IGhhdmUgbW9kaWZpY2F0aW9ucyBvciBlbmhhbmNlbWVudHMgdGhhdCB5b3Ugd2lzaCBpbmNsdWRlZCBpbgorZnV0dXJlIHZlcnNpb25zLCBwbGVhc2UgbWFpbCB0aG9zZSB0byBtZSwgTGFycnkgTWNWb3ksIGF0IGxtQGJpdG1vdmVyLmNvbS4KKworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCitSYXRpb25hbGUgZm9yIHRoZSBwdWJsaWNhdGlvbiByZXN0cmljdGlvbnM6CisKK0luIHN1bW1hcnk6CisKKyAgICBhKSBMTWJlbmNoIGlzIGRlc2lnbmVkIHRvIG1lYXN1cmUgZW5vdWdoIG9mIGFuIE9TIHRoYXQgaWYgeW91IGRvIHdlbGwgaW4KKyAgICAgICBhbGwgY2F0YWdvcmllcywgeW91J3ZlIGNvdmVyZWQgbGF0ZW5jeSBhbmQgYmFuZHdpZHRoIGluIG5ldHdvcmtpbmcsCisgICAgICAgZGlza3MsIGZpbGUgc3lzdGVtcywgVk0gc3lzdGVtcywgYW5kIG1lbW9yeSBzeXN0ZW1zLgorICAgIGIpIE11bHRpcGxlIHRpbWVzIGluIHRoZSBwYXN0IHBlb3BsZSBoYXZlIHdhbnRlZCB0byByZXBvcnQgcGFydGlhbCByZXN1bHRzLgorICAgICAgIFdpdGhvdXQgZXhjZXB0aW9uLCB0aGV5IHdlcmUgZG9pbmcgc28gdG8gc2hvdyBhIHNrZXdlZCB2aWV3IG9mIHdoYXRldmVyCisgICAgICAgaXQgd2FzIHRoZXkgd2VyZSBtZWFzdXJpbmcgKGZvciBleGFtcGxlLCBvbmUgT1MgZml0IHNtYWxsIHByb2Nlc3NlcyBpbnRvCisgICAgICAgc2VnbWVudHMgYW5kIHVzZWQgdGhlIHNlZ21lbnQgcmVnaXN0ZXIgdG8gc3dpdGNoIHRoZW0sIGdldHRpbmcgZ29vZCAKKyAgICAgICByZXN1bHRzLCBidXQgZGlkIG5vdCB3YW50IHRvIHJlcG9ydCBsYXJnZSBwcm9jZXNzIGNvbnRleHQgc3dpdGNoZXMgCisgICAgICAgYmVjYXVzZSB0aG9zZSBkaWRuJ3QgbG9vayBhcyBnb29kKS4KKyAgICBjKSBXZSBpbnNpc3QgdGhhdCBpZiB5b3UgZm9ybWFsbHkgcmVwb3J0IExNYmVuY2ggcmVzdWx0cywgeW91IGhhdmUgdG8KKyAgICAgICByZXBvcnQgYWxsIG9mIHRoZW0gYW5kIG1ha2UgdGhlIHJhdyByZXN1bHRzIGZpbGUgZWFzaWx5IGF2YWlsYWJsZS4KKyAgICAgICBSZXBvcnRpbmcgYWxsIG9mIHRoZW0gbWVhbnMgaW4gdGhhdCBzYW1lIHB1YmxpY2F0aW9uLCBhIHBvaW50ZXIKKyAgICAgICBkb2VzIG5vdCBjb3VudC4gIEZvcm1hbGx5LCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGluIGEgcGFwZXIsCisgICAgICAgb24gYSB3ZWIgc2l0ZSwgZXRjLiwgYnV0IGRvZXMgbm90IG1lYW4gdGhlIGV4Y2hhbmdlIG9mIHJlc3VsdHMKKyAgICAgICBiZXR3ZWVuIE9TIGRldmVsb3BlcnMgd2hvIGFyZSB0dW5pbmcgYSBwYXJ0aWN1bGFyIHN1YnN5c3RlbS4KKworV2UgaGF2ZSBhIGxvdCBvZiBoaXN0b3J5IHdpdGggYmVuY2htYXJraW5nIGFuZCBmZWVsIHN0cm9uZ2x5IHRoYXQgdGhlcmUKK2lzIGxpdHRsZSB0byBiZSBnYWluZWQgYW5kIGEgbG90IHRvIGJlIGxvc3QgaWYgd2UgYWxsb3dlZCB0aGUgcmVzdWx0cwordG8gYmUgcHVibGlzaGVkIGluIGlzb2xhdGlvbiwgd2l0aG91dCB0aGUgY29tcGxldGUgc3RvcnkgYmVpbmcgdG9sZC4KKworVGhlcmUgaGFzIGJlZW4gYSBsb3Qgb2YgZGlzY3Vzc2lvbiBhYm91dCB0aGlzLCB3aXRoIHBlb3BsZSBub3QgbGlraW5nIHRoaXMKK3Jlc3RyaWN0aW9uLCBtb3JlIG9yIGxlc3Mgb24gdGhlIGZyZWVkb20gcHJpbmNpcGxlIGFzIGZhciBhcyBJIGNhbiB0ZWxsLgorV2UncmUgbm90IHN3YXllZCBieSB0aGF0LCBvdXIgcG9zaXRpb24gaXMgdGhhdCB3ZSBhcmUgZG9pbmcgdGhlIHJpZ2h0Cit0aGluZyBmb3IgdGhlIE9TIGNvbW11bml0eSBhbmQgd2lsbCBzdGljayB0byBvdXIgZ3VucyBvbiB0aGlzIG9uZS4KKworSXQgd291bGQgYmUgYSBkaWZmZXJlbnQgbWF0dGVyIGlmIHRoZXJlIHdlcmUgMyBvdGhlciBjb21wZXRpbmcKK2JlbmNobWFya2luZyBzeXN0ZW1zIG91dCB0aGVyZSB0aGF0IGRpZCB3aGF0IExNYmVuY2ggZG9lcyBhbmQgZGlkbid0IGhhdmUKK3RoZSBzYW1lIHJlcG9ydGluZyBydWxlcy4gIFRoZXJlIGFyZW4ndCBhbmQgYXMgbG9uZyBhcyB0aGF0IGlzIHRoZSBjYXNlLAorSSBzZWUgbm8gcmVhc29uIHRvIGNoYW5nZSBteSBtaW5kIGFuZCBsb3RzIG9mIHJlYXNvbnMgbm90IHRvIGRvIHNvLiAgSSdtCitzb3JyeSBpZiBJJ20gYSBwYWluIGluIHRoZSBhc3Mgb24gdGhpcyB0b3BpYywgYnV0IEknbSBkb2luZyB0aGUgcmlnaHQKK3RoaW5nIGZvciB5b3UgYW5kIHRoZSBzb29uZXIgcGVvcGxlIHJlYWxpemUgdGhhdCB0aGUgc29vbmVyIHdlIGNhbiBnZXQgb24KK3RvIHJlYWwgd29yay4KKworT3BlcmF0aW5nIHN5c3RlbSBkZXNpZ24gaXMgYSBsYXJnZWx5IGFuIGFydCBvZiBiYWxhbmNpbmcgdHJhZGVvZmZzLgorSW4gbWFueSBjYXNlcyBpbXByb3Zpbmcgb25lIHBhcnQgb2YgdGhlIHN5c3RlbSBoYXMgbmVnYXRpdmUgZWZmZWN0cworb24gb3RoZXIgcGFydHMgb2YgdGhlIHN5c3RlbS4gIFRoZSBhcnQgaXMgY2hvb3Npbmcgd2hpY2ggcGFydHMgdG8KK29wdGltaXplIGFuZCB3aGljaCB0byBub3Qgb3B0aW1pemUuICBKdXN0IGxpa2UgaW4gY29tcHV0ZXIgYXJjaGl0ZWN0dXJlLAoreW91IGNhbiBvcHRpbWl6ZSB0aGUgY29tbW9uIGluc3RydWN0aW9ucyAoUklTQykgb3IgdGhlIHVuY29tbW9uCitpbnN0cnVjdGlvbnMgKENJU0MpLCBidXQgaW4gZWl0aGVyIGNhc2UgdGhlcmUgaXMgdXN1YWxseSBhIGNvc3QgdG8KK3BheSAoaW4gUklTQyB1bmNvbW1vbiBpbnN0cnVjdGlvbnMgYXJlIG1vcmUgZXhwZW5zaXZlIHRoYW4gY29tbW9uCitpbnN0cnVjdGlvbnMsIGFuZCBpbiBDSVNDIGNvbW1vbiBpbnN0cnVjdGlvbnMgYXJlIG1vcmUgZXhwZW5zaXZlCit0aGFuIHJlcXVpcmVkKS4gIFRoZSBhcnQgbGllcyBpbiBrbm93aW5nIHdoaWNoIG9wZXJhdGlvbnMgYXJlIAoraW1wb3J0YW50IGFuZCBvcHRtaXppbmcgdGhvc2Ugd2hpbGUgbWluaW1pemluZyB0aGUgaW1wYWN0IG9uIHRoZQorcmVzdCBvZiB0aGUgc3lzdGVtLiAgCisKK1NpbmNlIGxtYmVuY2ggZ2l2ZXMgYSBnb29kIG92ZXJ2aWV3IG9mIG1hbnkgaW1wb3J0YW50IHN5c3RlbSBmZWF0dXJlcywKK3VzZXJzIG1heSBzZWUgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBzeXN0ZW0gYXMgYSB3aG9sZSwgYW5kIGNhbgorc2VlIHdoZXJlIHRyYWRlb2ZmcyBtYXkgaGF2ZSBiZWVuIG1hZGUuICBUaGlzIGlzIHRoZSBkcml2aW5nIGZvcmNlCitiZWhpbmQgdGhlIHB1YmxpY2F0aW9uIHJlc3RyaWN0aW9uOiBhbnkgaWRpb3QgY2FuIG9wdGltaXplIGNlcnRhaW4KK3N1YnN5c3RlbXMgd2hpbGUgY29tcGxldGVseSBkZXN0cm95aW5nIG92ZXJhbGwgc3lzdGVtIHBlcmZvcm1hbmNlLgorSWYgc2FpZCBpZGlvdCBwdWJsaXNoZXMgKm9ubHkqIHRoZSBudW1iZXJzIHJlbGF0aW5nIHRvIHRoZSBvcHRpbWl6ZWQKK3N1YnN5c3RlbSwgdGhlbiB0aGUgY29zdHMgb2YgdGhlIG9wdGltaXphdGlvbiBhcmUgaGlkZGVuIGFuZCByZWFkZXJzCit3aWxsIG1pc3Rha2VubHkgYmVsaWV2ZSB0aGF0IHRoZSBvcHRpbWl6YXRpb24gaXMgYSBnb29kIGlkZWEuICBCeQoraW5jbHVkaW5nIHRoZSBwdWJsaWNhdGlvbiByZXN0cmljdGlvbiByZWFkZXJzIHdvdWxkIGJlIGFibGUgdG8KK2RldGVjdCB0aGF0IHRoZSBvcHRpbWl6YXRpb24gaW1wcm92ZWQgdGhlIHN1YnN5c3RlbSBwZXJmb3JtYW5jZQord2hpbGUgZGFtYWdpbmcgdGhlIHJlc3Qgb2YgdGhlIHN5c3RlbSBwZXJmb3JtYW5jZSBhbmQgd291bGQgYmUgYWJsZQordG8gbWFrZSBhbiBpbmZvcm1lZCBkZWNpc2lvbiBhcyB0byB0aGUgbWVyaXRzIG9mIHRoZSBvcHRpbWl6YXRpb24uCisKK05vdGUgdGhhdCB0aGVzZSByZXN0cmljdGlvbnMgb25seSBhcHBseSB0byAqcHVibGljYXRpb25zKi4gIFdlCitpbnRlbmQgYW5kIGVuY291cmFnZSBsbWJlbmNoJ3MgdXNlIGR1cmluZyBkZXNpZ24sIGRldmVsb3BtZW50LAorYW5kIHR3ZWFraW5nIG9mIHN5c3RlbXMgYW5kIGFwcGxpY2F0aW9ucy4gIElmIHlvdSBhcmUgdHVuaW5nIHRoZQorbGludXggb3IgQlNEIFRDUCBzdGFjaywgdGhlbiBieSBhbGwgbWVhbnMsIHVzZSB0aGUgbmV0d29ya2luZworYmVuY2htYXJrcyB0byBldmFsdWF0ZSB0aGUgcGVyZm9ybWFuY2UgZWZmZWN0cyBvZiB2YXJpb3VzIAorbW9kaWZpY2F0aW9uczsgU3dhcCByZXN1bHRzIHdpdGggb3RoZXIgZGV2ZWxvcGVyczsgdXNlIHRoZQorbmV0d29ya2luZyBudW1iZXJzIGluIGlzb2xhdGlvbi4gIFRoZSByZXN0cmljdGlvbnMgb25seSBraWNrCitpbiB3aGVuIHlvdSBnbyB0byAqcHVibGlzaCogdGhlIHJlc3VsdHMuICBJZiB5b3Ugc3BlZCB1cCB0aGUKK1RDUCBzdGFjayBieSBhIGZhY3RvciBvZiAyIGFuZCB3YW50IHRvIHB1Ymxpc2ggYSBwYXBlciB3aXRoIHRoZQordmFyaW91cyB0d2Vha3Mgb3IgYWxnb3JpdGhtcyB1c2VkIHRvIGFjY29tcGxpc2ggdGhpcyBnb2FsLCB0aGVuCit5b3UgY2FuIHB1Ymxpc2ggdGhlIG5ldHdvcmtpbmcgbnVtYmVycyB0byBzaG93IHRoZSBpbXByb3ZlbWVudC4KK0hvd2V2ZXIsIHRoZSBwYXBlciAqbXVzdCogYWxzbyBpbmNsdWRlIHRoZSByZXN0IG9mIHRoZSBzdGFuZGFyZAorbG1iZW5jaCBudW1iZXJzIHRvIHNob3cgaG93IHlvdXIgdHdlYWtzIG1heSAob3IgbWF5IG5vdCkgaGF2ZQoraW1wYWN0ZWQgdGhlIHJlc3Qgb2YgdGhlIHN5c3RlbS4gIFRoZSBmdWxsIHNldCBvZiBudW1iZXJzIG1heQorYmUgaW5jbHVkZWQgaW4gYW4gYXBwZW5kaXgsIGJ1dCB0aGV5ICptdXN0KiBiZSBpbmNsdWRlZCBpbiB0aGUKK3BhcGVyLgorCitUaGlzIGhlbHBzIHByb3RlY3QgdGhlIGNvbW11bml0eSBmcm9tIGFkb3B0aW5nIGZsYXdlZCB0ZWNobm9sb2dpZXMKK2Jhc2VkIG9uIGluY29tcGxldGUgZGF0YS4gIEl0IGFsc28gaGVscHMgcHJvdGVjdCB0aGUgY29tbXVuaXR5IGZyb20KK21pc2xlYWRpbmcgbWFya2V0aW5nIHdoaWNoIHRyaWVzIHRvIHNlbGwgc3lzdGVtcyBiYXNlZCBvbiBwYXJ0aWFsCisoc2tld2VkKSBsbWJlbmNoIHBlcmZvcm1hbmNlIHJlc3VsdHMuICAKKworV2UgaGF2ZSBzZWVuIG1hbnkgY2FzZXMgaW4gdGhlIHBhc3Qgd2hlcmUgcGFydGlhbCBvciBtaXNsZWFkaW5nCitiZW5jaG1hcmsgcmVzdWx0cyBoYXZlIGNhdXNlZCBncmVhdCBoYXJtIHRvIHRoZSBjb21tdW5pdHksIGFuZAord2Ugd2FudCB0byBlbnN1cmUgdGhhdCBvdXIgYmVuY2htYXJrIGlzIG5vdCB1c2VkIHRvIHBlcnBldHJhdGUKK2Z1cnRoZXIgaGFybSBhbmQgc3VwcG9ydCBmYWxzZSBvciBtaXNsZWFkaW5nIGNsYWltcy4KKworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvSW1hZ2VNYWdpY2sgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvSW1hZ2VNYWdpY2sKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTE0MTY2OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9JbWFnZU1hZ2ljawpAQCAtMCwwICsxLDEwMyBAQAorQmVmb3JlIHdlIGdldCB0byB0aGUgdGV4dCBvZiB0aGUgbGljZW5zZSwgbGV0cyBqdXN0IHJldmlldyB3aGF0IHRoZSBsaWNlbnNlIHNheXMgaW4gc2ltcGxlIHRlcm1zOgorCitJdCBhbGxvd3MgeW91IHRvOgorCisgICogZnJlZWx5IGRvd25sb2FkIGFuZCB1c2UgSW1hZ2VNYWdpY2sgc29mdHdhcmUsIGluIHdob2xlIG9yIGluIHBhcnQsIGZvciBwZXJzb25hbCwgY29tcGFueSBpbnRlcm5hbCwgb3IgY29tbWVyY2lhbCBwdXJwb3NlczsKKyAgKiB1c2UgSW1hZ2VNYWdpY2sgc29mdHdhcmUgaW4gcGFja2FnZXMgb3IgZGlzdHJpYnV0aW9ucyB0aGF0IHlvdSBjcmVhdGU7CisgICogbGluayBhZ2FpbnN0IGEgbGlicmFyeSB1bmRlciBhIGRpZmZlcmVudCBsaWNlbnNlOworICAqIGxpbmsgY29kZSB1bmRlciBhIGRpZmZlcmVudCBsaWNlbnNlIGFnYWluc3QgYSBsaWJyYXJ5IHVuZGVyIHRoaXMgbGljZW5zZTsKKyAgKiBtZXJnZSBjb2RlIGludG8gYSB3b3JrIHVuZGVyIGEgZGlmZmVyZW50IGxpY2Vuc2U7CisgICogZXh0ZW5kIHBhdGVudCBncmFudHMgdG8gYW55IGNvZGUgdXNpbmcgY29kZSB1bmRlciB0aGlzIGxpY2Vuc2U7CisgICogYW5kIGV4dGVuZCBwYXRlbnQgcHJvdGVjdGlvbi4KKworSXQgZm9yYmlkcyB5b3UgdG86CisKKyAgKiByZWRpc3RyaWJ1dGUgYW55IHBpZWNlIG9mIEltYWdlTWFnaWNrLW9yaWdpbmF0ZWQgc29mdHdhcmUgd2l0aG91dCBwcm9wZXIgYXR0cmlidXRpb247CisgICogdXNlIGFueSBtYXJrcyBvd25lZCBieSBJbWFnZU1hZ2ljayBTdHVkaW8gTExDIGluIGFueSB3YXkgdGhhdCBtaWdodCBzdGF0ZSBvciBpbXBseSB0aGF0IEltYWdlTWFnaWNrIFN0dWRpbyBMTEMgZW5kb3JzZXMgeW91ciBkaXN0cmlidXRpb247CisgICogdXNlIGFueSBtYXJrcyBvd25lZCBieSBJbWFnZU1hZ2ljayBTdHVkaW8gTExDIGluIGFueSB3YXkgdGhhdCBtaWdodCBzdGF0ZSBvciBpbXBseSB0aGF0IHlvdSBjcmVhdGVkIHRoZSBJbWFnZU1hZ2ljayBzb2Z0d2FyZSBpbiBxdWVzdGlvbi4KKworSXQgcmVxdWlyZXMgeW91IHRvOgorCisgICogaW5jbHVkZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgaW4gYW55IHJlZGlzdHJpYnV0aW9uIHlvdSBtYXkgbWFrZSB0aGF0IGluY2x1ZGVzIEltYWdlTWFnaWNrIHNvZnR3YXJlOworICAqIHByb3ZpZGUgY2xlYXIgYXR0cmlidXRpb24gdG8gSW1hZ2VNYWdpY2sgU3R1ZGlvIExMQyBmb3IgYW55IGRpc3RyaWJ1dGlvbnMgdGhhdCBpbmNsdWRlIEltYWdlTWFnaWNrIHNvZnR3YXJlLgorCitJdCBkb2VzIG5vdCByZXF1aXJlIHlvdSB0bzoKKworICAqIGluY2x1ZGUgdGhlIHNvdXJjZSBvZiB0aGUgSW1hZ2VNYWdpY2sgc29mdHdhcmUgaXRzZWxmLCBvciBvZiBhbnkgbW9kaWZpY2F0aW9ucyB5b3UgbWF5IGhhdmUgbWFkZSB0byBpdCwgaW4gYW55IHJlZGlzdHJpYnV0aW9uIHlvdSBtYXkgYXNzZW1ibGUgdGhhdCBpbmNsdWRlcyBpdDsKKyAgKiBzdWJtaXQgY2hhbmdlcyB0aGF0IHlvdSBtYWtlIHRvIHRoZSBzb2Z0d2FyZSBiYWNrIHRvIHRoZSBJbWFnZU1hZ2ljayBTdHVkaW8gTExDICh0aG91Z2ggc3VjaCBmZWVkYmFjayBpcyBlbmNvdXJhZ2VkKS4KKworQSBmZXcgb3RoZXIgY2xhcmlmaWNhdGlvbnMgaW5jbHVkZToKKworICAqIEltYWdlTWFnaWNrIGlzIGZyZWVseSBhdmFpbGFibGUgd2l0aG91dCBjaGFyZ2U7CisgICogeW91IG1heSBpbmNsdWRlIEltYWdlTWFnaWNrIG9uIGEgRFZEIGFzIGxvbmcgYXMgeW91IGNvbXBseSB3aXRoIHRoZSB0ZXJtcyBvZiB0aGUgbGljZW5zZTsKKyAgKiB5b3UgY2FuIGdpdmUgbW9kaWZpZWQgY29kZSBhd2F5IGZvciBmcmVlIG9yIHNlbGwgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBJbWFnZU1hZ2ljayBsaWNlbnNlIG9yIGRpc3RyaWJ1dGUgdGhlIHJlc3VsdCB1bmRlciBhIGRpZmZlcmVudCBsaWNlbnNlLCBidXQgeW91IG5lZWQgdG8gYWNrbm93bGVkZ2UgdGhlIHVzZSBvZiB0aGUgSW1hZ2VNYWdpY2sgc29mdHdhcmU7CisgICogdGhlIGxpY2Vuc2UgaXMgY29tcGF0aWJsZSB3aXRoIHRoZSBHUEwgVjMuCisgICogd2hlbiBleHBvcnRpbmcgdGhlIEltYWdlTWFnaWNrIHNvZnR3YXJlLCByZXZpZXcgaXRzIGV4cG9ydCBjbGFzc2lmaWNhdGlvbi4KKworVGVybXMgYW5kIENvbmRpdGlvbnMgZm9yIFVzZSwgUmVwcm9kdWN0aW9uLCBhbmQgRGlzdHJpYnV0aW9uCisKK1RoZSBsZWdhbGx5IGJpbmRpbmcgYW5kIGF1dGhvcml0YXRpdmUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIHVzZSwgcmVwcm9kdWN0aW9uLCBhbmQgZGlzdHJpYnV0aW9uIG9mIEltYWdlTWFnaWNrIGZvbGxvdzoKKworQ29weXJpZ2h0IDE5OTktMjAxNCBJbWFnZU1hZ2ljayBTdHVkaW8gTExDLCBhIG5vbi1wcm9maXQgb3JnYW5pemF0aW9uIGRlZGljYXRlZCB0byBtYWtpbmcgc29mdHdhcmUgaW1hZ2luZyBzb2x1dGlvbnMgZnJlZWx5IGF2YWlsYWJsZS4KKworMS4gRGVmaW5pdGlvbnMuCisKK0xpY2Vuc2Ugc2hhbGwgbWVhbiB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIHVzZSwgcmVwcm9kdWN0aW9uLCBhbmQgZGlzdHJpYnV0aW9uIGFzIGRlZmluZWQgYnkgU2VjdGlvbnMgMSB0aHJvdWdoIDkgb2YgdGhpcyBkb2N1bWVudC4KKworTGljZW5zb3Igc2hhbGwgbWVhbiB0aGUgY29weXJpZ2h0IG93bmVyIG9yIGVudGl0eSBhdXRob3JpemVkIGJ5IHRoZSBjb3B5cmlnaHQgb3duZXIgdGhhdCBpcyBncmFudGluZyB0aGUgTGljZW5zZS4KKworTGVnYWwgRW50aXR5IHNoYWxsIG1lYW4gdGhlIHVuaW9uIG9mIHRoZSBhY3RpbmcgZW50aXR5IGFuZCBhbGwgb3RoZXIgZW50aXRpZXMgdGhhdCBjb250cm9sLCBhcmUgY29udHJvbGxlZCBieSwgb3IgYXJlIHVuZGVyIGNvbW1vbiBjb250cm9sIHdpdGggdGhhdCBlbnRpdHkuIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBkZWZpbml0aW9uLCBjb250cm9sIG1lYW5zIChpKSB0aGUgcG93ZXIsIGRpcmVjdCBvciBpbmRpcmVjdCwgdG8gY2F1c2UgdGhlIGRpcmVjdGlvbiBvciBtYW5hZ2VtZW50IG9mIHN1Y2ggZW50aXR5LCB3aGV0aGVyIGJ5IGNvbnRyYWN0IG9yIG90aGVyd2lzZSwgb3IgKGlpKSBvd25lcnNoaXAgb2YgZmlmdHkgcGVyY2VudCAoNTAlKSBvciBtb3JlIG9mIHRoZSBvdXRzdGFuZGluZyBzaGFyZXMsIG9yIChpaWkpIGJlbmVmaWNpYWwgb3duZXJzaGlwIG9mIHN1Y2ggZW50aXR5LgorCitZb3UgKG9yIFlvdXIpIHNoYWxsIG1lYW4gYW4gaW5kaXZpZHVhbCBvciBMZWdhbCBFbnRpdHkgZXhlcmNpc2luZyBwZXJtaXNzaW9ucyBncmFudGVkIGJ5IHRoaXMgTGljZW5zZS4KKworU291cmNlIGZvcm0gc2hhbGwgbWVhbiB0aGUgcHJlZmVycmVkIGZvcm0gZm9yIG1ha2luZyBtb2RpZmljYXRpb25zLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIHNvZnR3YXJlIHNvdXJjZSBjb2RlLCBkb2N1bWVudGF0aW9uIHNvdXJjZSwgYW5kIGNvbmZpZ3VyYXRpb24gZmlsZXMuCisKK09iamVjdCBmb3JtIHNoYWxsIG1lYW4gYW55IGZvcm0gcmVzdWx0aW5nIGZyb20gbWVjaGFuaWNhbCB0cmFuc2Zvcm1hdGlvbiBvciB0cmFuc2xhdGlvbiBvZiBhIFNvdXJjZSBmb3JtLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIGNvbXBpbGVkIG9iamVjdCBjb2RlLCBnZW5lcmF0ZWQgZG9jdW1lbnRhdGlvbiwgYW5kIGNvbnZlcnNpb25zIHRvIG90aGVyIG1lZGlhIHR5cGVzLgorCitXb3JrIHNoYWxsIG1lYW4gdGhlIHdvcmsgb2YgYXV0aG9yc2hpcCwgd2hldGhlciBpbiBTb3VyY2Ugb3IgT2JqZWN0IGZvcm0sIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSBMaWNlbnNlLCBhcyBpbmRpY2F0ZWQgYnkgYSBjb3B5cmlnaHQgbm90aWNlIHRoYXQgaXMgaW5jbHVkZWQgaW4gb3IgYXR0YWNoZWQgdG8gdGhlIHdvcmsgKGFuIGV4YW1wbGUgaXMgcHJvdmlkZWQgaW4gdGhlIEFwcGVuZGl4IGJlbG93KS4KKworRGVyaXZhdGl2ZSBXb3JrcyBzaGFsbCBtZWFuIGFueSB3b3JrLCB3aGV0aGVyIGluIFNvdXJjZSBvciBPYmplY3QgZm9ybSwgdGhhdCBpcyBiYXNlZCBvbiAob3IgZGVyaXZlZCBmcm9tKSB0aGUgV29yayBhbmQgZm9yIHdoaWNoIHRoZSBlZGl0b3JpYWwgcmV2aXNpb25zLCBhbm5vdGF0aW9ucywgZWxhYm9yYXRpb25zLCBvciBvdGhlciBtb2RpZmljYXRpb25zIHJlcHJlc2VudCwgYXMgYSB3aG9sZSwgYW4gb3JpZ2luYWwgd29yayBvZiBhdXRob3JzaGlwLiBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgTGljZW5zZSwgRGVyaXZhdGl2ZSBXb3JrcyBzaGFsbCBub3QgaW5jbHVkZSB3b3JrcyB0aGF0IHJlbWFpbiBzZXBhcmFibGUgZnJvbSwgb3IgbWVyZWx5IGxpbmsgKG9yIGJpbmQgYnkgbmFtZSkgdG8gdGhlIGludGVyZmFjZXMgb2YsIHRoZSBXb3JrIGFuZCBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YuCisKK0NvbnRyaWJ1dGlvbiBzaGFsbCBtZWFuIGFueSB3b3JrIG9mIGF1dGhvcnNoaXAsIGluY2x1ZGluZyB0aGUgb3JpZ2luYWwgdmVyc2lvbiBvZiB0aGUgV29yayBhbmQgYW55IG1vZGlmaWNhdGlvbnMgb3IgYWRkaXRpb25zIHRvIHRoYXQgV29yayBvciBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YsIHRoYXQgaXMgaW50ZW50aW9uYWxseSBzdWJtaXR0ZWQgdG8gTGljZW5zb3IgZm9yIGluY2x1c2lvbiBpbiB0aGUgV29yayBieSB0aGUgY29weXJpZ2h0IG93bmVyIG9yIGJ5IGFuIGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5IGF1dGhvcml6ZWQgdG8gc3VibWl0IG9uIGJlaGFsZiBvZiB0aGUgY29weXJpZ2h0IG93bmVyLiBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgInN1Ym1pdHRlZCIgbWVhbnMgYW55IGZvcm0gb2YgZWxlY3Ryb25pYywgdmVyYmFsLCBvciB3cml0dGVuIGNvbW11bmljYXRpb24gc2VudCB0byB0aGUgTGljZW5zb3Igb3IgaXRzIHJlcHJlc2VudGF0aXZlcywgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBjb21tdW5pY2F0aW9uIG9uIGVsZWN0cm9uaWMgbWFpbGluZyBsaXN0cywgc291cmNlIGNvZGUgY29udHJvbCBzeXN0ZW1zLCBhbmQgaXNzdWUgdHJhY2tpbmcgc3lzdGVtcyB0aGF0IGFyZSBtYW5hZ2VkIGJ5LCBvciBvbiBiZWhhbGYgb2YsIHRoZSBMaWNlbnNvciBmb3IgdGhlIHB1cnBvc2Ugb2YgZGlzY3Vzc2luZyBhbmQgaW1wcm92aW5nIHRoZSBXb3JrLCBidXQgZXhjbHVkaW5nIGNvbW11bmljYXRpb24gdGhhdCBpcyBjb25zcGljdW91c2x5IG1hcmtlZCBvciBvdGhlcndpc2UgZGVzaWduYXRlZCBpbiB3cml0aW5nIGJ5IHRoZSBjb3B5cmlnaHQgb3duZXIgYXMgTm90IGEgQ29udHJpYnV0aW9uLgorCitDb250cmlidXRvciBzaGFsbCBtZWFuIExpY2Vuc29yIGFuZCBhbnkgaW5kaXZpZHVhbCBvciBMZWdhbCBFbnRpdHkgb24gYmVoYWxmIG9mIHdob20gYSBDb250cmlidXRpb24gaGFzIGJlZW4gcmVjZWl2ZWQgYnkgTGljZW5zb3IgYW5kIHN1YnNlcXVlbnRseSBpbmNvcnBvcmF0ZWQgd2l0aGluIHRoZSBXb3JrLgorCisyLiBHcmFudCBvZiBDb3B5cmlnaHQgTGljZW5zZS4gU3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLCBlYWNoIENvbnRyaWJ1dG9yIGhlcmVieSBncmFudHMgdG8gWW91IGEgcGVycGV0dWFsLCB3b3JsZHdpZGUsIG5vbi1leGNsdXNpdmUsIG5vLWNoYXJnZSwgcm95YWx0eS1mcmVlLCBpcnJldm9jYWJsZSBjb3B5cmlnaHQgbGljZW5zZSB0byByZXByb2R1Y2UsIHByZXBhcmUgRGVyaXZhdGl2ZSBXb3JrcyBvZiwgcHVibGljbHkgZGlzcGxheSwgcHVibGljbHkgcGVyZm9ybSwgc3VibGljZW5zZSwgYW5kIGRpc3RyaWJ1dGUgdGhlIFdvcmsgYW5kIHN1Y2ggRGVyaXZhdGl2ZSBXb3JrcyBpbiBTb3VyY2Ugb3IgT2JqZWN0IGZvcm0uCisKKzMuIEdyYW50IG9mIFBhdGVudCBMaWNlbnNlLiBTdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIGVhY2ggQ29udHJpYnV0b3IgaGVyZWJ5IGdyYW50cyB0byBZb3UgYSBwZXJwZXR1YWwsIHdvcmxkd2lkZSwgbm9uLWV4Y2x1c2l2ZSwgbm8tY2hhcmdlLCByb3lhbHR5LWZyZWUsIGlycmV2b2NhYmxlIHBhdGVudCBsaWNlbnNlIHRvIG1ha2UsIGhhdmUgbWFkZSwgdXNlLCBvZmZlciB0byBzZWxsLCBzZWxsLCBpbXBvcnQsIGFuZCBvdGhlcndpc2UgdHJhbnNmZXIgdGhlIFdvcmssIHdoZXJlIHN1Y2ggbGljZW5zZSBhcHBsaWVzIG9ubHkgdG8gdGhvc2UgcGF0ZW50IGNsYWltcyBsaWNlbnNhYmxlIGJ5IHN1Y2ggQ29udHJpYnV0b3IgdGhhdCBhcmUgbmVjZXNzYXJpbHkgaW5mcmluZ2VkIGJ5IHRoZWlyIENvbnRyaWJ1dGlvbihzKSBhbG9uZSBvciBieSBjb21iaW5hdGlvbiBvZiB0aGVpciBDb250cmlidXRpb24ocykgd2l0aCB0aGUgV29yayB0byB3aGljaCBzdWNoIENvbnRyaWJ1dGlvbihzKSB3YXMgc3VibWl0dGVkLiBJZiBZb3UgaW5zdGl0dXRlIHBhdGVudCBsaXRpZ2F0aW9uIGFnYWluc3QgYW55IGVudGl0eSAoaW5jbHVkaW5nIGEgY3Jvc3MtY2xhaW0gb3IgY291bnRlcmNsYWltIGluIGEgbGF3c3VpdCkgYWxsZWdpbmcgdGhhdCB0aGUgV29yayBvciBhIENvbnRyaWJ1dGlvbiBpbmNvcnBvcmF0ZWQgd2l0aGluIHRoZSBXb3JrIGNvbnN0aXR1dGVzIGRpcmVjdCBvciBjb250cmlidXRvcnkgcGF0ZW50IGluZnJpbmdlbWVudCwgdGhlbiBhbnkgcGF0ZW50IGxpY2Vuc2VzIGdyYW50ZWQgdG8gWW91IHVuZGVyIHRoaXMgTGljZW5zZSBmb3IgdGhhdCBXb3JrIHNoYWxsIHRlcm1pbmF0ZSBhcyBvZiB0aGUgZGF0ZSBzdWNoIGxpdGlnYXRpb24gaXMgZmlsZWQuCisKKzQuIFJlZGlzdHJpYnV0aW9uLiBZb3UgbWF5IHJlcHJvZHVjZSBhbmQgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mIGluIGFueSBtZWRpdW0sIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb25zLCBhbmQgaW4gU291cmNlIG9yIE9iamVjdCBmb3JtLCBwcm92aWRlZCB0aGF0IFlvdSBtZWV0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKworICAqIFlvdSBtdXN0IGdpdmUgYW55IG90aGVyIHJlY2lwaWVudHMgb2YgdGhlIFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlOyBhbmQKKyAgKiBZb3UgbXVzdCBjYXVzZSBhbnkgbW9kaWZpZWQgZmlsZXMgdG8gY2FycnkgcHJvbWluZW50IG5vdGljZXMgc3RhdGluZyB0aGF0IFlvdSBjaGFuZ2VkIHRoZSBmaWxlczsgYW5kCisgICogWW91IG11c3QgcmV0YWluLCBpbiB0aGUgU291cmNlIGZvcm0gb2YgYW55IERlcml2YXRpdmUgV29ya3MgdGhhdCBZb3UgZGlzdHJpYnV0ZSwgYWxsIGNvcHlyaWdodCwgcGF0ZW50LCB0cmFkZW1hcmssIGFuZCBhdHRyaWJ1dGlvbiBub3RpY2VzIGZyb20gdGhlIFNvdXJjZSBmb3JtIG9mIHRoZSBXb3JrLCBleGNsdWRpbmcgdGhvc2Ugbm90aWNlcyB0aGF0IGRvIG5vdCBwZXJ0YWluIHRvIGFueSBwYXJ0IG9mIHRoZSBEZXJpdmF0aXZlIFdvcmtzOyBhbmQKKyAgKiBJZiB0aGUgV29yayBpbmNsdWRlcyBhICJOT1RJQ0UiIHRleHQgZmlsZSBhcyBwYXJ0IG9mIGl0cyBkaXN0cmlidXRpb24sIHRoZW4gYW55IERlcml2YXRpdmUgV29ya3MgdGhhdCBZb3UgZGlzdHJpYnV0ZSBtdXN0IGluY2x1ZGUgYSByZWFkYWJsZSBjb3B5IG9mIHRoZSBhdHRyaWJ1dGlvbiBub3RpY2VzIGNvbnRhaW5lZCB3aXRoaW4gc3VjaCBOT1RJQ0UgZmlsZSwgZXhjbHVkaW5nIHRob3NlIG5vdGljZXMgdGhhdCBkbyBub3QgcGVydGFpbiB0byBhbnkgcGFydCBvZiB0aGUgRGVyaXZhdGl2ZSBXb3JrcywgaW4gYXQgbGVhc3Qgb25lIG9mIHRoZSBmb2xsb3dpbmcgcGxhY2VzOiB3aXRoaW4gYSBOT1RJQ0UgdGV4dCBmaWxlIGRpc3RyaWJ1dGVkIGFzIHBhcnQgb2YgdGhlIERlcml2YXRpdmUgV29ya3M7IHdpdGhpbiB0aGUgU291cmNlIGZvcm0gb3IgZG9jdW1lbnRhdGlvbiwgaWYgcHJvdmlkZWQgYWxvbmcgd2l0aCB0aGUgRGVyaXZhdGl2ZSBXb3Jrczsgb3IsIHdpdGhpbiBhIGRpc3BsYXkgZ2VuZXJhdGVkIGJ5IHRoZSBEZXJpdmF0aXZlIFdvcmtzLCBpZiBhbmQgd2hlcmV2ZXIgc3VjaCB0aGlyZC1wYXJ0eSBub3RpY2VzIG5vcm1hbGx5IGFwcGVhci4gVGhlIGNvbnRlbnRzIG9mIHRoZSBOT1RJQ0UgZmlsZSBhcmUgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seSBhbmQgZG8gbm90IG1vZGlmeSB0aGUgTGljZW5zZS4gWW91IG1heSBhZGQgWW91ciBvd24gYXR0cmlidXRpb24gbm90aWNlcyB3aXRoaW4gRGVyaXZhdGl2ZSBXb3JrcyB0aGF0IFlvdSBkaXN0cmlidXRlLCBhbG9uZ3NpZGUgb3IgYXMgYW4gYWRkZW5kdW0gdG8gdGhlIE5PVElDRSB0ZXh0IGZyb20gdGhlIFdvcmssIHByb3ZpZGVkIHRoYXQgc3VjaCBhZGRpdGlvbmFsIGF0dHJpYnV0aW9uIG5vdGljZXMgY2Fubm90IGJlIGNvbnN0cnVlZCBhcyBtb2RpZnlpbmcgdGhlIExpY2Vuc2UuCitZb3UgbWF5IGFkZCBZb3VyIG93biBjb3B5cmlnaHQgc3RhdGVtZW50IHRvIFlvdXIgbW9kaWZpY2F0aW9ucyBhbmQgbWF5IHByb3ZpZGUgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQgbGljZW5zZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgdXNlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3RyaWJ1dGlvbiBvZiBZb3VyIG1vZGlmaWNhdGlvbnMsIG9yIGZvciBhbnkgc3VjaCBEZXJpdmF0aXZlIFdvcmtzIGFzIGEgd2hvbGUsIHByb3ZpZGVkIFlvdXIgdXNlLCByZXByb2R1Y3Rpb24sIGFuZCBkaXN0cmlidXRpb24gb2YgdGhlIFdvcmsgb3RoZXJ3aXNlIGNvbXBsaWVzIHdpdGggdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGluIHRoaXMgTGljZW5zZS4KKworNS4gU3VibWlzc2lvbiBvZiBDb250cmlidXRpb25zLiBVbmxlc3MgWW91IGV4cGxpY2l0bHkgc3RhdGUgb3RoZXJ3aXNlLCBhbnkgQ29udHJpYnV0aW9uIGludGVudGlvbmFsbHkgc3VibWl0dGVkIGZvciBpbmNsdXNpb24gaW4gdGhlIFdvcmsgYnkgWW91IHRvIHRoZSBMaWNlbnNvciBzaGFsbCBiZSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLCB3aXRob3V0IGFueSBhZGRpdGlvbmFsIHRlcm1zIG9yIGNvbmRpdGlvbnMuIE5vdHdpdGhzdGFuZGluZyB0aGUgYWJvdmUsIG5vdGhpbmcgaGVyZWluIHNoYWxsIHN1cGVyc2VkZSBvciBtb2RpZnkgdGhlIHRlcm1zIG9mIGFueSBzZXBhcmF0ZSBsaWNlbnNlIGFncmVlbWVudCB5b3UgbWF5IGhhdmUgZXhlY3V0ZWQgd2l0aCBMaWNlbnNvciByZWdhcmRpbmcgc3VjaCBDb250cmlidXRpb25zLgorCis2LiBUcmFkZW1hcmtzLiBUaGlzIExpY2Vuc2UgZG9lcyBub3QgZ3JhbnQgcGVybWlzc2lvbiB0byB1c2UgdGhlIHRyYWRlIG5hbWVzLCB0cmFkZW1hcmtzLCBzZXJ2aWNlIG1hcmtzLCBvciBwcm9kdWN0IG5hbWVzIG9mIHRoZSBMaWNlbnNvciwgZXhjZXB0IGFzIHJlcXVpcmVkIGZvciByZWFzb25hYmxlIGFuZCBjdXN0b21hcnkgdXNlIGluIGRlc2NyaWJpbmcgdGhlIG9yaWdpbiBvZiB0aGUgV29yayBhbmQgcmVwcm9kdWNpbmcgdGhlIGNvbnRlbnQgb2YgdGhlIE5PVElDRSBmaWxlLgorCis3LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIExpY2Vuc29yIHByb3ZpZGVzIHRoZSBXb3JrIChhbmQgZWFjaCBDb250cmlidXRvciBwcm92aWRlcyBpdHMgQ29udHJpYnV0aW9ucykgb24gYW4gQVMgSVMgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLCBpbmNsdWRpbmcsIHdpdGhvdXQgbGltaXRhdGlvbiwgYW55IHdhcnJhbnRpZXMgb3IgY29uZGl0aW9ucyBvZiBUSVRMRSwgTk9OLUlORlJJTkdFTUVOVCwgTUVSQ0hBTlRBQklMSVRZLCBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gWW91IGFyZSBzb2xlbHkgcmVzcG9uc2libGUgZm9yIGRldGVybWluaW5nIHRoZSBhcHByb3ByaWF0ZW5lc3Mgb2YgdXNpbmcgb3IgcmVkaXN0cmlidXRpbmcgdGhlIFdvcmsgYW5kIGFzc3VtZSBhbnkgcmlza3MgYXNzb2NpYXRlZCB3aXRoIFlvdXIgZXhlcmNpc2Ugb2YgcGVybWlzc2lvbnMgdW5kZXIgdGhpcyBMaWNlbnNlLgorCis4LiBMaW1pdGF0aW9uIG9mIExpYWJpbGl0eS4gSW4gbm8gZXZlbnQgYW5kIHVuZGVyIG5vIGxlZ2FsIHRoZW9yeSwgd2hldGhlciBpbiB0b3J0IChpbmNsdWRpbmcgbmVnbGlnZW5jZSksIGNvbnRyYWN0LCBvciBvdGhlcndpc2UsIHVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyAoc3VjaCBhcyBkZWxpYmVyYXRlIGFuZCBncm9zc2x5IG5lZ2xpZ2VudCBhY3RzKSBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc2hhbGwgYW55IENvbnRyaWJ1dG9yIGJlIGxpYWJsZSB0byBZb3UgZm9yIGRhbWFnZXMsIGluY2x1ZGluZyBhbnkgZGlyZWN0LCBpbmRpcmVjdCwgc3BlY2lhbCwgaW5jaWRlbnRhbCwgb3IgY29uc2VxdWVudGlhbCBkYW1hZ2VzIG9mIGFueSBjaGFyYWN0ZXIgYXJpc2luZyBhcyBhIHJlc3VsdCBvZiB0aGlzIExpY2Vuc2Ugb3Igb3V0IG9mIHRoZSB1c2Ugb3IgaW5hYmlsaXR5IHRvIHVzZSB0aGUgV29yayAoaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBkYW1hZ2VzIGZvciBsb3NzIG9mIGdvb2R3aWxsLCB3b3JrIHN0b3BwYWdlLCBjb21wdXRlciBmYWlsdXJlIG9yIG1hbGZ1bmN0aW9uLCBvciBhbnkgYW5kIGFsbCBvdGhlciBjb21tZXJjaWFsIGRhbWFnZXMgb3IgbG9zc2VzKSwgZXZlbiBpZiBzdWNoIENvbnRyaWJ1dG9yIGhhcyBiZWVuIGFkdmlzZWQgb2YgdGhlIHBvc3NpYmlsaXR5IG9mIHN1Y2ggZGFtYWdlcy4KKworOS4gQWNjZXB0aW5nIFdhcnJhbnR5IG9yIEFkZGl0aW9uYWwgTGlhYmlsaXR5LiBXaGlsZSByZWRpc3RyaWJ1dGluZyB0aGUgV29yayBvciBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YsIFlvdSBtYXkgY2hvb3NlIHRvIG9mZmVyLCBhbmQgY2hhcmdlIGEgZmVlIGZvciwgYWNjZXB0YW5jZSBvZiBzdXBwb3J0LCB3YXJyYW50eSwgaW5kZW1uaXR5LCBvciBvdGhlciBsaWFiaWxpdHkgb2JsaWdhdGlvbnMgYW5kL29yIHJpZ2h0cyBjb25zaXN0ZW50IHdpdGggdGhpcyBMaWNlbnNlLiBIb3dldmVyLCBpbiBhY2NlcHRpbmcgc3VjaCBvYmxpZ2F0aW9ucywgWW91IG1heSBhY3Qgb25seSBvbiBZb3VyIG93biBiZWhhbGYgYW5kIG9uIFlvdXIgc29sZSByZXNwb25zaWJpbGl0eSwgbm90IG9uIGJlaGFsZiBvZiBhbnkgb3RoZXIgQ29udHJpYnV0b3IsIGFuZCBvbmx5IGlmIFlvdSBhZ3JlZSB0byBpbmRlbW5pZnksIGRlZmVuZCwgYW5kIGhvbGQgZWFjaCBDb250cmlidXRvciBoYXJtbGVzcyBmb3IgYW55IGxpYWJpbGl0eSBpbmN1cnJlZCBieSwgb3IgY2xhaW1zIGFzc2VydGVkIGFnYWluc3QsIHN1Y2ggQ29udHJpYnV0b3IgYnkgcmVhc29uIG9mIHlvdXIgYWNjZXB0aW5nIGFueSBzdWNoIHdhcnJhbnR5IG9yIGFkZGl0aW9uYWwgbGlhYmlsaXR5LgorCitIb3cgdG8gQXBwbHkgdGhlIExpY2Vuc2UgdG8geW91ciBXb3JrCisKK1RvIGFwcGx5IHRoZSBJbWFnZU1hZ2ljayBMaWNlbnNlIHRvIHlvdXIgd29yaywgYXR0YWNoIHRoZSBmb2xsb3dpbmcgYm9pbGVycGxhdGUgbm90aWNlLCB3aXRoIHRoZSBmaWVsZHMgZW5jbG9zZWQgYnkgYnJhY2tldHMgIltdIiByZXBsYWNlZCB3aXRoIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uIChkb24ndCBpbmNsdWRlIHRoZSBicmFja2V0cykuIFRoZSB0ZXh0IHNob3VsZCBiZSBlbmNsb3NlZCBpbiB0aGUgYXBwcm9wcmlhdGUgY29tbWVudCBzeW50YXggZm9yIHRoZSBmaWxlIGZvcm1hdC4gV2UgYWxzbyByZWNvbW1lbmQgdGhhdCBhIGZpbGUgb3IgY2xhc3MgbmFtZSBhbmQgZGVzY3JpcHRpb24gb2YgcHVycG9zZSBiZSBpbmNsdWRlZCBvbiB0aGUgc2FtZSAicHJpbnRlZCBwYWdlIiBhcyB0aGUgY29weXJpZ2h0IG5vdGljZSBmb3IgZWFzaWVyIGlkZW50aWZpY2F0aW9uIHdpdGhpbiB0aGlyZC1wYXJ0eSBhcmNoaXZlcy4KKworICAgQ29weXJpZ2h0IFt5eXl5XSBbbmFtZSBvZiBjb3B5cmlnaHQgb3duZXJdCisKKyAgIExpY2Vuc2VkIHVuZGVyIHRoZSBJbWFnZU1hZ2ljayBMaWNlbnNlICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlCisgICB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weQorICAgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICBodHRwOi8vd3d3LmltYWdlbWFnaWNrLm9yZy9zY3JpcHQvbGljZW5zZS5waHAKKworICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywgV0lUSE9VVAorICAgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiAgU2VlIHRoZQorICAgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMKKyAgIHVuZGVyIHRoZSBMaWNlbnNlLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL0ludGVsIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL0ludGVsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViODFkZDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvSW50ZWwKQEAgLTAsMCArMSwyMSBAQAorTGljZW5zZSBmb3IgQ29udHJpYnV0aW9ucyB0byBBQ1BJQ0EKKworQ29weXJpZ2h0IChjKSAyMDAwIOKAkyAyMDE1IEludGVsIENvcnAuCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisKKzEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKzIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiCitBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCitJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRQorTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKK1NVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTCitJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKK0FSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCitQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9LaWxnYXJkIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL0tpbGdhcmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODgzNmRiMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9LaWxnYXJkCkBAIC0wLDAgKzEsNSBAQAorQ29weXJpZ2h0IChjKSBNYXJrIEouIEtpbGdhcmQsIDE5OTQsIDE5OTUsIDE5OTYsIDE5OTguCisKK1RoaXMgcHJvZ3JhbSBpcyBmcmVlbHkgZGlzdHJpYnV0YWJsZSB3aXRob3V0IGxpY2Vuc2luZyBmZWVzICBhbmQgaXMKK3Byb3ZpZGVkIHdpdGhvdXQgZ3VhcmFudGVlIG9yIHdhcnJhbnRlZSBleHByZXNzZWQgb3IgIGltcGxpZWQuIFRoaXMKK3Byb2dyYW0gaXMgLW5vdC0gaW4gdGhlIHB1YmxpYyBkb21haW4uCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvTWFuaXNoU2luZ2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvTWFuaXNoU2luZ2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDI0M2RkZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9NYW5pc2hTaW5naApAQCAtMCwwICsxLDE5IEBACitDb3B5cmlnaHQgKEMpIDIwMDIgTWFuaXNoIFNpbmdoCisKK1Blcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGRpc3RyaWJ1dGUsIGFuZCBzZWxsIHRoaXMgc29mdHdhcmUgYW5kIGl0cworZG9jdW1lbnRhdGlvbiBmb3IgYW55IHB1cnBvc2UgaXMgaGVyZWJ5IGdyYW50ZWQgd2l0aG91dCBmZWUsIHByb3ZpZGVkIHRoYXQKK3RoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFwcGVhciBpbiBhbGwgY29waWVzIGFuZCB0aGF0IGJvdGggdGhhdAorY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gc3VwcG9ydGluZworZG9jdW1lbnRhdGlvbiwgYW5kIHRoYXQgdGhlIG5hbWUgb2YgTWFuaXNoIFNpbmdoIG5vdCBiZSB1c2VkIGluCithZHZlcnRpc2luZyBvciBwdWJsaWNpdHkgcGVydGFpbmluZyB0byBkaXN0cmlidXRpb24gb2YgdGhlIHNvZnR3YXJlIHdpdGhvdXQKK3NwZWNpZmljLCB3cml0dGVuIHByaW9yIHBlcm1pc3Npb24uICBNYW5pc2ggU2luZ2ggbWFrZXMgbm8KK3JlcHJlc2VudGF0aW9ucyBhYm91dCB0aGUgc3VpdGFiaWxpdHkgb2YgdGhpcyBzb2Z0d2FyZSBmb3IgYW55IHB1cnBvc2UuICBJdAoraXMgcHJvdmlkZWQgImFzIGlzIiB3aXRob3V0IGV4cHJlc3Mgb3IgaW1wbGllZCB3YXJyYW50eS4KKworTUFOSVNIIFNJTkdIIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFLAorSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTLCBJTiBOTworRVZFTlQgU0hBTEwgTUFOSVNIIFNJTkdIIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIElORElSRUNUIE9SCitDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwKK0RBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIKK1RPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IKK1BFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvT0dQTCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9PR1BMCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjZTNiNzEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvT0dQTApAQCAtMCwwICsxLDEwNCBAQAorJFRPRzogQ09QWVJJR0hULk1PVElGIC9tYWluLzUgMjAwMC8wNC8xMCAxMjowMDowMCAkCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBNT1RJRiAyLjEuMzAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlIENvZGUKKyAgICAgICAgICAgICAgICAgICAgICAgIE1BU1RFUiBDT1BZUklHSFQgTk9USUNFCisKKyhjKSBDb3B5cmlnaHQgMTk4OSAtIDE5OTQsIDE5OTYgLSAxOTk5IFRoZSBPcGVuIEdyb3VwCisoYykgQ29weXJpZ2h0IDE5ODcgLSAxOTk5IEhld2xldHQtUGFja2FyZCBDb21wYW55CisoYykgQ29weXJpZ2h0IDE5ODcgLSAxOTk5IERpZ2l0YWwgRXF1aXBtZW50IENvcnBvcmF0aW9uLCBNYXluYXJkLCBNYXNzLgorKGMpIENvcHlyaWdodCAxOTg4IE1hc3NhY2h1c2V0dHMgSW5zdGl0dXRlIG9mIFRlY2hub2xvZ3kKKyhjKSBDb3B5cmlnaHQgMTk4OCBNaWNyb3NvZnQgQ29ycG9yYXRpb24KKyhjKSBDb3B5cmlnaHQgMTk5MCBNb3Rvcm9sYSBJbmMuCisoYykgQ29weXJpZ2h0IDE5ODkgLSAxOTk0IEdyb3VwZSBCdWxsCisoYykgQ29weXJpZ2h0IDE5OTEgSm9zZXBoIEZyaWVkbWFuCisoYykgQ29weXJpZ2h0IDE5OTUgLSAxOTk5IEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMgQ29ycC4KKyhjKSBDb3B5cmlnaHQgMTk5NSAtIDE5OTkgU3VuIE1pY3Jvc3lzdGVtcywgSW5jLgorKGMpIENvcHlyaWdodCAxOTk1IC0gMTk5OSBTYW50YSBDcnV6IE9yZ2FuaXphdGlvbiwgSW5jLgorKGMpIENvcHlyaWdodCAxOTk1LCAxOTk2IEZ1aml0c3UgTGltaXRlZAorKGMpIENvcHlyaWdodCAxOTk1LCAxOTk2IEhpdGFjaGksIEx0ZC4KKworCitBTEwgUklHSFRTIFJFU0VSVkVECisKK1RoaXMgc29mdHdhcmUgaXMgZnVybmlzaGVkIHVuZGVyIGEgbGljZW5zZSBhbmQgbWF5IGJlIHVzZWQKK2FuZCBjb3BpZWQgb25seSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIHRlcm1zIG9mIHN1Y2ggbGljZW5zZSBhbmQKK3dpdGggdGhlIGluY2x1c2lvbiBvZiB0aGlzIGNvcHlyaWdodCBub3RpY2UuIE5vIHRpdGxlIHRvIGFuZCBvd25lcnNoaXAKK29mIHRoZSBzb2Z0d2FyZSBpcyBoZXJlYnkgdHJhbnNmZXJyZWQuCisKK1RoaXMgc29mdHdhcmUgaXMgc3ViamVjdCB0byBhbiBvcGVuIGxpY2Vuc2UuIEl0IG1heSBvbmx5IGJlCit1c2VkIG9uLCB3aXRoIG9yIGZvciBvcGVyYXRpbmcgc3lzdGVtcyB3aGljaCBhcmUgdGhlbXNlbHZlcyBvcGVuCitzb3VyY2Ugc3lzdGVtcy4gWW91IG11c3QgY29udGFjdCBUaGUgT3BlbiBHcm91cCBmb3IgYSBsaWNlbnNlIGFsbG93aW5nCitkaXN0cmlidXRpb24gYW5kIHN1YmxpY2Vuc2luZyBvZiB0aGlzIHNvZnR3YXJlIG9uLCB3aXRoLCBvciBmb3IKK29wZXJhdGluZyBzeXN0ZW1zIHdoaWNoIGFyZSBub3QgT3BlbiBTb3VyY2UgcHJvZ3JhbXMuCisKK1NlZSBodHRwOi8vd3d3Lm9wZW5ncm91cC5vcmcvb3Blbm1vdGlmL2xpY2Vuc2UgZm9yIGZ1bGwKK2RldGFpbHMgb2YgdGhlIGxpY2Vuc2UgYWdyZWVtZW50LiBBbnkgdXNlLCByZXByb2R1Y3Rpb24sIG9yCitkaXN0cmlidXRpb24gb2YgdGhlIHByb2dyYW0gY29uc3RpdHV0ZXMgcmVjaXBpZW50J3MgYWNjZXB0YW5jZSBvZgordGhpcyBhZ3JlZW1lbnQuCisKK1RIRSBPUEVOIEdST1VQIEFORCBJVFMgVEhJUkQgUEFSVFkgU1VQUExJRVJTLCBBU1NVTUUgTk8gUkVTUE9OU0lCSUxJVFkKK0ZPUiBUSEUgVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgQU5ZIE9GIElUUyBTT0ZUV0FSRS4KKworRVhDRVBUIEFTIEVYUFJFU1NMWSBTRVQgRk9SVEggSU4gVEhJUyBBR1JFRU1FTlQsIFRIRSBQUk9HUkFNIElTCitQUk9WSURFRCBPTiBBTiAiQVMgSVMiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkKK0tJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQgSU5DTFVESU5HLCBXSVRIT1VUIExJTUlUQVRJT04sIEFOWQorV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIFRJVExFLCBOT04tSU5GUklOR0VNRU5ULCBNRVJDSEFOVEFCSUxJVFkKK09SIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgorCitFWENFUFQgQVMgRVhQUkVTU0xZIFNFVCBGT1JUSCBJTiBUSElTIEFHUkVFTUVOVCwgTkVJVEhFUiBSRUNJUElFTlQKK05PUiBBTlkgQ09OVFJJQlVUT1JTIFNIQUxMIEhBVkUgQU5ZIExJQUJJTElUWSBGT1IgQU5ZIERJUkVDVCwKK0lORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKK0RBTUFHRVMgKElOQ0xVRElORyBXSVRIT1VUIExJTUlUQVRJT04gTE9TVCBQUk9GSVRTKSwgSE9XRVZFUiBDQVVTRUQKK0FORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCitMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTgorQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPUiBESVNUUklCVVRJT04gT0YgVEhFIFBST0dSQU0gT1IgVEhFCitFWEVSQ0lTRSBPRiBBTlkgUklHSFRTIEdSQU5URUQgSEVSRVVOREVSLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCitQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRVMuCisKK1RoZSBpbmZvcm1hdGlvbiBpbiB0aGlzIHNvZnR3YXJlIGlzIHN1YmplY3QgdG8gY2hhbmdlIHdpdGhvdXQKK25vdGljZSBhbmQgc2hvdWxkIG5vdCBiZSBjb25zdHJ1ZWQgYXMgYSBjb21taXRtZW50IGJ5IFRoZSBPcGVuIEdyb3VwCitvciBpdHMgdGhpcmQgcGFydHkgc3VwcGxpZXJzLgorCitOb3RpY2U6IE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgbGVhc2Ugb3IgbGljZW5zZSB0aGF0IG1heSBwZXJ0YWluIHRvLAorb3IgYWNjb21wYW55IHRoZSBkZWxpdmVyeSBvZiwgdGhpcyBjb21wdXRlciBzb2Z0d2FyZSwgdGhlIHJpZ2h0cyBvZiB0aGUKK0dvdmVybm1lbnQgcmVnYXJkaW5nIGl0cyB1c2UsIHJlcHJvZHVjdGlvbiBhbmQgZGlzY2xvc3VyZSBhcmUgYXMgc2V0Citmb3J0aCBpbiBTZWN0aW9uIDUyLjIyNy0xOSBvZiB0aGUgRkFSUyBDb21wdXRlciBTb2Z0d2FyZS1SZXN0cmljdGVkCitSaWdodHMgY2xhdXNlLgorCisoYykgQ29weXJpZ2h0IDE5OTAsIDE5OTEsIDE5OTIsIDE5OTMsIDE5OTQsIDE5OTYgT3BlbiBTb2Z0d2FyZQorRm91bmRhdGlvbiwgSW5jLgorKGMpIENvcHlyaWdodCAxOTk2LCAxOTk3LCAxOTk4LCAxOTk5LCAyMDAwIFRoZSBPcGVuIEdyb3VwLgorVW5wdWJsaXNoZWQgLSBhbGwgcmlnaHRzIHJlc2VydmVkIHVuZGVyIHRoZSBDb3B5cmlnaHQgbGF3cyBvZiB0aGUgVW5pdGVkCitTdGF0ZXMuCisKK1JFU1RSSUNURUQgUklHSFRTIE5PVElDRTogVXNlLCBkdXBsaWNhdGlvbiwgb3IgZGlzY2xvc3VyZSBieSB0aGUKK0dvdmVybm1lbnQgaXMgc3ViamVjdCB0byB0aGUgcmVzdHJpY3Rpb25zIGFzIHNldCBmb3J0aCBpbiBzdWJwYXJhZ3JhcGgKKyhjKSgxKShpaSkgb2YgdGhlIFJpZ2h0cyBpbiBUZWNobmljYWwgRGF0YSBhbmQgQ29tcHV0ZXIgU29mdHdhcmUgY2xhdXNlCithdCBERkFSUyA1Mi4yMjctNzAxMy4KKworVGhlIE9wZW4gR3JvdXAgTExDCitBcGV4IFBsYXphLCBGb3JidXJ5IFJvYWQKK1JlYWRpbmcsIEJlcmtzaGlyZSwKK1JHMSAxQVgsIFVLLgorCitSRVNUUklDVEVEIFJJR0hUUyBMRUdFTkQ6IFRoaXMgY29tcHV0ZXIgc29mdHdhcmUgaXMgc3VibWl0dGVkIHdpdGgKKyJyZXN0cmljdGVkIHJpZ2h0cy4iIFVzZSwgZHVwbGljYXRpb24gb3IgZGlzY2xvc3VyZSBpcyBzdWJqZWN0IHRvIHRoZQorcmVzdHJpY3Rpb25zIGFzIHNldCBmb3J0aCBpbiBOQVNBIEZBUiBTVVAgMTgtNTIuMjI3LTc5IChBcHJpbCAxOTg1KQorIkNvbW1lcmNpYWwgQ29tcHV0ZXIgU29mdHdhcmUtIFJlc3RyaWN0ZWQgUmlnaHRzIChBcHJpbCAxOTg1KS4iIFRoZQorT3BlbiBHcm91cCwgQXBleCBQbGF6YSwgRm9yYnVyeSBSb2FkLCBSZWFkaW5nLCBCZXJrc2hpcmUsIFJHMSAxQVgsIFVLLgorSWYgdGhlIGNvbnRyYWN0IGNvbnRhaW5zIHRoZSBDbGF1c2UgYXQgMTgtNTIuMjI3LTc0ICJSaWdodHMgaW4gRGF0YQorR2VuZXJhbCIgdGhlbiB0aGUgIkFsdGVybmF0ZSBJSUkiIGNsYXVzZSBhcHBsaWVzLgorCisoYykgQ29weXJpZ2h0IDE5OTAsIDE5OTEsIDE5OTIsIDE5OTMsIDE5OTQsIDE5OTYgT3BlbiBTb2Z0d2FyZQorRm91bmRhdGlvbixJbmMuIEFMTCBSSUdIVFMgUkVTRVJWRUQKKyhjKSBDb3B5cmlnaHQgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCBUaGUgT3BlbiBHcm91cC4gQUxMIFJJR0hUUworUkVTRVJWRUQKKworVGhlIE9wZW4gR3JvdXAsIE9wZW4gU29mdHdhcmUgRm91bmRhdGlvbiwgT1NGLCBPU0YvTW90aWYsIGFuZCBNb3RpZiBhcmUKK1RyYWRlbWFya3Mgb2YgVGhlIE9wZW4gR3JvdXAKK0RFQyBhbmQgRElHSVRBTCBhcmUgcmVnaXN0ZXJlZCB0cmFkZW1hcmtzIG9mIERpZ2l0YWwgRXF1aXBtZW50CitDb3Jwb3JhdGlvbgorSFAgaXMgYSB0cmFkZW1hcmsgb2YgSGV3bGV0dC1QYWNrYXJkIENvbXBhbnkKK1ggV2luZG93IFN5c3RlbSBpcyBhIHRyYWRlbWFyayBvZiB0aGUgTWFzc2FjaHVzZXR0cyBJbnN0aXR1dGUgb2YKK1RlY2hub2xvZ3kKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9PcGVuTERBUCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9PcGVuTERBUApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNWFkNzU3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL09wZW5MREFQCkBAIC0wLDAgKzEsNDcgQEAKK1RoZSBPcGVuTERBUCBQdWJsaWMgTGljZW5zZQorICBWZXJzaW9uIDIuOCwgMTcgQXVndXN0IDIwMDMKKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24KKygiU29mdHdhcmUiKSwgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAordGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworMS4gUmVkaXN0cmlidXRpb25zIGluIHNvdXJjZSBmb3JtIG11c3QgcmV0YWluIGNvcHlyaWdodCBzdGF0ZW1lbnRzCisgICBhbmQgbm90aWNlcywKKworMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIGFwcGxpY2FibGUgY29weXJpZ2h0CisgICBzdGF0ZW1lbnRzIGFuZCBub3RpY2VzLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucywgYW5kIHRoZSBmb2xsb3dpbmcKKyAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLCBhbmQKKworMy4gUmVkaXN0cmlidXRpb25zIG11c3QgY29udGFpbiBhIHZlcmJhdGltIGNvcHkgb2YgdGhpcyBkb2N1bWVudC4KKworVGhlIE9wZW5MREFQIEZvdW5kYXRpb24gbWF5IHJldmlzZSB0aGlzIGxpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuCitFYWNoIHJldmlzaW9uIGlzIGRpc3Rpbmd1aXNoZWQgYnkgYSB2ZXJzaW9uIG51bWJlci4gIFlvdSBtYXkgdXNlCit0aGlzIFNvZnR3YXJlIHVuZGVyIHRlcm1zIG9mIHRoaXMgbGljZW5zZSByZXZpc2lvbiBvciB1bmRlciB0aGUKK3Rlcm1zIG9mIGFueSBzdWJzZXF1ZW50IHJldmlzaW9uIG9mIHRoZSBsaWNlbnNlLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBPUEVOTERBUCBGT1VOREFUSU9OIEFORCBJVFMKK0NPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTRUQgT1IgSU1QTElFRCBXQVJSQU5USUVTLAorSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZCitBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVAorU0hBTEwgVEhFIE9QRU5MREFQIEZPVU5EQVRJT04sIElUUyBDT05UUklCVVRPUlMsIE9SIFRIRSBBVVRIT1IoUykKK09SIE9XTkVSKFMpIE9GIFRIRSBTT0ZUV0FSRSBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKK0JVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKK0xPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKK0NBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4KK0FOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQorUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK1RoZSBuYW1lcyBvZiB0aGUgYXV0aG9ycyBhbmQgY29weXJpZ2h0IGhvbGRlcnMgbXVzdCBub3QgYmUgdXNlZCBpbgorYWR2ZXJ0aXNpbmcgb3Igb3RoZXJ3aXNlIHRvIHByb21vdGUgdGhlIHNhbGUsIHVzZSBvciBvdGhlciBkZWFsaW5nCitpbiB0aGlzIFNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMsIHdyaXR0ZW4gcHJpb3IgcGVybWlzc2lvbi4gIFRpdGxlCit0byBjb3B5cmlnaHQgaW4gdGhpcyBTb2Z0d2FyZSBzaGFsbCBhdCBhbGwgdGltZXMgcmVtYWluIHdpdGggY29weXJpZ2h0Citob2xkZXJzLgorCitPcGVuTERBUCBpcyBhIHJlZ2lzdGVyZWQgdHJhZGVtYXJrIG9mIHRoZSBPcGVuTERBUCBGb3VuZGF0aW9uLgorCitDb3B5cmlnaHQgMTk5OS0yMDAzIFRoZSBPcGVuTERBUCBGb3VuZGF0aW9uLCBSZWR3b29kIENpdHksCitDYWxpZm9ybmlhLCBVU0EuICBBbGwgUmlnaHRzIFJlc2VydmVkLiAgUGVybWlzc2lvbiB0byBjb3B5IGFuZAorZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMgb2YgdGhpcyBkb2N1bWVudCBpcyBncmFudGVkLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL1FXVHYxLjAgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvUVdUdjEuMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YzAxZjdlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL1FXVHYxLjAKQEAgLTAsMCArMSw1NDMgQEAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUXd0IExpY2Vuc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMS4wLCBKYW51YXJ5IDEsIDIwMDMKKworVGhlIFF3dCBsaWJyYXJ5IGFuZCBpbmNsdWRlZCBwcm9ncmFtcyBhcmUgcHJvdmlkZWQgdW5kZXIgdGhlIHRlcm1zCitvZiB0aGUgR05VIExFU1NFUiBHRU5FUkFMIFBVQkxJQyBMSUNFTlNFIChMR1BMKSB3aXRoIHRoZSBmb2xsb3dpbmcKK2V4Y2VwdGlvbnM6CisKKyAgICAxLiBXaWRnZXRzIHRoYXQgYXJlIHN1YmNsYXNzZWQgZnJvbSBRd3Qgd2lkZ2V0cyBkbyBub3QKKyAgICAgICBjb25zdGl0dXRlIGEgZGVyaXZhdGl2ZSB3b3JrLgorCisgICAgMi4gU3RhdGljIGxpbmtpbmcgb2YgYXBwbGljYXRpb25zIGFuZCB3aWRnZXRzIHRvIHRoZQorICAgICAgIFF3dCBsaWJyYXJ5IGRvZXMgbm90IGNvbnN0aXR1dGUgYSBkZXJpdmF0aXZlIHdvcmsKKyAgICAgICBhbmQgZG9lcyBub3QgcmVxdWlyZSB0aGUgYXV0aG9yIHRvIHByb3ZpZGUgc291cmNlCisgICAgICAgY29kZSBmb3IgdGhlIGFwcGxpY2F0aW9uIG9yIHdpZGdldCwgdXNlIHRoZSBzaGFyZWQKKyAgICAgICBRd3QgbGlicmFyaWVzLCBvciBsaW5rIHRoZWlyIGFwcGxpY2F0aW9ucyBvcgorICAgICAgIHdpZGdldHMgYWdhaW5zdCBhIHVzZXItc3VwcGxpZWQgdmVyc2lvbiBvZiBRd3QuCisKKyAgICAgICBJZiB5b3UgbGluayB0aGUgYXBwbGljYXRpb24gb3Igd2lkZ2V0IHRvIGEgbW9kaWZpZWQKKyAgICAgICB2ZXJzaW9uIG9mIFF3dCwgdGhlbiB0aGUgY2hhbmdlcyB0byBRd3QgbXVzdCBiZSAKKyAgICAgICBwcm92aWRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIExHUEwgaW4gc2VjdGlvbnMKKyAgICAgICAxLCAyLCBhbmQgNC4KKworICAgIDMuIFlvdSBkbyBub3QgaGF2ZSB0byBwcm92aWRlIGEgY29weSBvZiB0aGUgUXd0IGxpY2Vuc2UKKyAgICAgICB3aXRoIHByb2dyYW1zIHRoYXQgYXJlIGxpbmtlZCB0byB0aGUgUXd0IGxpYnJhcnksIG5vcgorICAgICAgIGRvIHlvdSBoYXZlIHRvIGlkZW50aWZ5IHRoZSBRd3QgbGljZW5zZSBpbiB5b3VyCisgICAgICAgcHJvZ3JhbSBvciBkb2N1bWVudGF0aW9uIGFzIHJlcXVpcmVkIGJ5IHNlY3Rpb24gNgorICAgICAgIG9mIHRoZSBMR1BMLgorCisKKyAgICAgICBIb3dldmVyLCBwcm9ncmFtcyBtdXN0IHN0aWxsIGlkZW50aWZ5IHRoZWlyIHVzZSBvZiBRd3QuCisgICAgICAgVGhlIGZvbGxvd2luZyBleGFtcGxlIHN0YXRlbWVudCBjYW4gYmUgaW5jbHVkZWQgaW4gdXNlcgorICAgICAgIGRvY3VtZW50YXRpb24gdG8gc2F0aXNmeSB0aGlzIHJlcXVpcmVtZW50OgorCisgICAgICAgICAgIFtwcm9ncmFtL3dpZGdldF0gaXMgYmFzZWQgaW4gcGFydCBvbiB0aGUgd29yayBvZgorICAgICAgICAgICB0aGUgUXd0IHByb2plY3QgKGh0dHA6Ly9xd3Quc2YubmV0KS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKyAgICAgICAgICBHTlUgTEVTU0VSIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UKKyAgICAgICAgICAgICAgIFZlcnNpb24gMi4xLCBGZWJydWFyeSAxOTk5CisKKyBDb3B5cmlnaHQgKEMpIDE5OTEsIDE5OTkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgICAgIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyBFdmVyeW9uZSBpcyBwZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMKKyBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KKworW1RoaXMgaXMgdGhlIGZpcnN0IHJlbGVhc2VkIHZlcnNpb24gb2YgdGhlIExlc3NlciBHUEwuICBJdCBhbHNvIGNvdW50cworIGFzIHRoZSBzdWNjZXNzb3Igb2YgdGhlIEdOVSBMaWJyYXJ5IFB1YmxpYyBMaWNlbnNlLCB2ZXJzaW9uIDIsIGhlbmNlCisgdGhlIHZlcnNpb24gbnVtYmVyIDIuMS5dCisKKyAgICAgICAgICAgICAgICBQcmVhbWJsZQorCisgIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhcmUgZGVzaWduZWQgdG8gdGFrZSBhd2F5IHlvdXIKK2ZyZWVkb20gdG8gc2hhcmUgYW5kIGNoYW5nZSBpdC4gIEJ5IGNvbnRyYXN0LCB0aGUgR05VIEdlbmVyYWwgUHVibGljCitMaWNlbnNlcyBhcmUgaW50ZW5kZWQgdG8gZ3VhcmFudGVlIHlvdXIgZnJlZWRvbSB0byBzaGFyZSBhbmQgY2hhbmdlCitmcmVlIHNvZnR3YXJlLS10byBtYWtlIHN1cmUgdGhlIHNvZnR3YXJlIGlzIGZyZWUgZm9yIGFsbCBpdHMgdXNlcnMuCisKKyAgVGhpcyBsaWNlbnNlLCB0aGUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIGFwcGxpZXMgdG8gc29tZQorc3BlY2lhbGx5IGRlc2lnbmF0ZWQgc29mdHdhcmUgcGFja2FnZXMtLXR5cGljYWxseSBsaWJyYXJpZXMtLW9mIHRoZQorRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIGFuZCBvdGhlciBhdXRob3JzIHdobyBkZWNpZGUgdG8gdXNlIGl0LiAgWW91CitjYW4gdXNlIGl0IHRvbywgYnV0IHdlIHN1Z2dlc3QgeW91IGZpcnN0IHRoaW5rIGNhcmVmdWxseSBhYm91dCB3aGV0aGVyCit0aGlzIGxpY2Vuc2Ugb3IgdGhlIG9yZGluYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgdGhlIGJldHRlcgorc3RyYXRlZ3kgdG8gdXNlIGluIGFueSBwYXJ0aWN1bGFyIGNhc2UsIGJhc2VkIG9uIHRoZSBleHBsYW5hdGlvbnMgYmVsb3cuCisKKyAgV2hlbiB3ZSBzcGVhayBvZiBmcmVlIHNvZnR3YXJlLCB3ZSBhcmUgcmVmZXJyaW5nIHRvIGZyZWVkb20gb2YgdXNlLAorbm90IHByaWNlLiAgT3VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VzIGFyZSBkZXNpZ25lZCB0byBtYWtlIHN1cmUgdGhhdAoreW91IGhhdmUgdGhlIGZyZWVkb20gdG8gZGlzdHJpYnV0ZSBjb3BpZXMgb2YgZnJlZSBzb2Z0d2FyZSAoYW5kIGNoYXJnZQorZm9yIHRoaXMgc2VydmljZSBpZiB5b3Ugd2lzaCk7IHRoYXQgeW91IHJlY2VpdmUgc291cmNlIGNvZGUgb3IgY2FuIGdldAoraXQgaWYgeW91IHdhbnQgaXQ7IHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIGFuZCB1c2UgcGllY2VzIG9mCitpdCBpbiBuZXcgZnJlZSBwcm9ncmFtczsgYW5kIHRoYXQgeW91IGFyZSBpbmZvcm1lZCB0aGF0IHlvdSBjYW4gZG8KK3RoZXNlIHRoaW5ncy4KKworICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIG1ha2UgcmVzdHJpY3Rpb25zIHRoYXQgZm9yYmlkCitkaXN0cmlidXRvcnMgdG8gZGVueSB5b3UgdGhlc2UgcmlnaHRzIG9yIHRvIGFzayB5b3UgdG8gc3VycmVuZGVyIHRoZXNlCityaWdodHMuICBUaGVzZSByZXN0cmljdGlvbnMgdHJhbnNsYXRlIHRvIGNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBmb3IKK3lvdSBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIGxpYnJhcnkgb3IgaWYgeW91IG1vZGlmeSBpdC4KKworICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHRoZSBsaWJyYXJ5LCB3aGV0aGVyIGdyYXRpcworb3IgZm9yIGEgZmVlLCB5b3UgbXVzdCBnaXZlIHRoZSByZWNpcGllbnRzIGFsbCB0aGUgcmlnaHRzIHRoYXQgd2UgZ2F2ZQoreW91LiAgWW91IG11c3QgbWFrZSBzdXJlIHRoYXQgdGhleSwgdG9vLCByZWNlaXZlIG9yIGNhbiBnZXQgdGhlIHNvdXJjZQorY29kZS4gIElmIHlvdSBsaW5rIG90aGVyIGNvZGUgd2l0aCB0aGUgbGlicmFyeSwgeW91IG11c3QgcHJvdmlkZQorY29tcGxldGUgb2JqZWN0IGZpbGVzIHRvIHRoZSByZWNpcGllbnRzLCBzbyB0aGF0IHRoZXkgY2FuIHJlbGluayB0aGVtCit3aXRoIHRoZSBsaWJyYXJ5IGFmdGVyIG1ha2luZyBjaGFuZ2VzIHRvIHRoZSBsaWJyYXJ5IGFuZCByZWNvbXBpbGluZworaXQuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkga25vdyB0aGVpciByaWdodHMuCisKKyAgV2UgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIGEgdHdvLXN0ZXAgbWV0aG9kOiAoMSkgd2UgY29weXJpZ2h0IHRoZQorbGlicmFyeSwgYW5kICgyKSB3ZSBvZmZlciB5b3UgdGhpcyBsaWNlbnNlLCB3aGljaCBnaXZlcyB5b3UgbGVnYWwKK3Blcm1pc3Npb24gdG8gY29weSwgZGlzdHJpYnV0ZSBhbmQvb3IgbW9kaWZ5IHRoZSBsaWJyYXJ5LgorCisgIFRvIHByb3RlY3QgZWFjaCBkaXN0cmlidXRvciwgd2Ugd2FudCB0byBtYWtlIGl0IHZlcnkgY2xlYXIgdGhhdAordGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoZSBmcmVlIGxpYnJhcnkuICBBbHNvLCBpZiB0aGUgbGlicmFyeSBpcworbW9kaWZpZWQgYnkgc29tZW9uZSBlbHNlIGFuZCBwYXNzZWQgb24sIHRoZSByZWNpcGllbnRzIHNob3VsZCBrbm93Cit0aGF0IHdoYXQgdGhleSBoYXZlIGlzIG5vdCB0aGUgb3JpZ2luYWwgdmVyc2lvbiwgc28gdGhhdCB0aGUgb3JpZ2luYWwKK2F1dGhvcidzIHJlcHV0YXRpb24gd2lsbCBub3QgYmUgYWZmZWN0ZWQgYnkgcHJvYmxlbXMgdGhhdCBtaWdodCBiZQoraW50cm9kdWNlZCBieSBvdGhlcnMuCisKKyAgRmluYWxseSwgc29mdHdhcmUgcGF0ZW50cyBwb3NlIGEgY29uc3RhbnQgdGhyZWF0IHRvIHRoZSBleGlzdGVuY2Ugb2YKK2FueSBmcmVlIHByb2dyYW0uICBXZSB3aXNoIHRvIG1ha2Ugc3VyZSB0aGF0IGEgY29tcGFueSBjYW5ub3QKK2VmZmVjdGl2ZWx5IHJlc3RyaWN0IHRoZSB1c2VycyBvZiBhIGZyZWUgcHJvZ3JhbSBieSBvYnRhaW5pbmcgYQorcmVzdHJpY3RpdmUgbGljZW5zZSBmcm9tIGEgcGF0ZW50IGhvbGRlci4gIFRoZXJlZm9yZSwgd2UgaW5zaXN0IHRoYXQKK2FueSBwYXRlbnQgbGljZW5zZSBvYnRhaW5lZCBmb3IgYSB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJ5IG11c3QgYmUKK2NvbnNpc3RlbnQgd2l0aCB0aGUgZnVsbCBmcmVlZG9tIG9mIHVzZSBzcGVjaWZpZWQgaW4gdGhpcyBsaWNlbnNlLgorCisgIE1vc3QgR05VIHNvZnR3YXJlLCBpbmNsdWRpbmcgc29tZSBsaWJyYXJpZXMsIGlzIGNvdmVyZWQgYnkgdGhlCitvcmRpbmFyeSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIFRoaXMgbGljZW5zZSwgdGhlIEdOVSBMZXNzZXIKK0dlbmVyYWwgUHVibGljIExpY2Vuc2UsIGFwcGxpZXMgdG8gY2VydGFpbiBkZXNpZ25hdGVkIGxpYnJhcmllcywgYW5kCitpcyBxdWl0ZSBkaWZmZXJlbnQgZnJvbSB0aGUgb3JkaW5hcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIFdlIHVzZQordGhpcyBsaWNlbnNlIGZvciBjZXJ0YWluIGxpYnJhcmllcyBpbiBvcmRlciB0byBwZXJtaXQgbGlua2luZyB0aG9zZQorbGlicmFyaWVzIGludG8gbm9uLWZyZWUgcHJvZ3JhbXMuCisKKyAgV2hlbiBhIHByb2dyYW0gaXMgbGlua2VkIHdpdGggYSBsaWJyYXJ5LCB3aGV0aGVyIHN0YXRpY2FsbHkgb3IgdXNpbmcKK2Egc2hhcmVkIGxpYnJhcnksIHRoZSBjb21iaW5hdGlvbiBvZiB0aGUgdHdvIGlzIGxlZ2FsbHkgc3BlYWtpbmcgYQorY29tYmluZWQgd29yaywgYSBkZXJpdmF0aXZlIG9mIHRoZSBvcmlnaW5hbCBsaWJyYXJ5LiAgVGhlIG9yZGluYXJ5CitHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHRoZXJlZm9yZSBwZXJtaXRzIHN1Y2ggbGlua2luZyBvbmx5IGlmIHRoZQorZW50aXJlIGNvbWJpbmF0aW9uIGZpdHMgaXRzIGNyaXRlcmlhIG9mIGZyZWVkb20uICBUaGUgTGVzc2VyIEdlbmVyYWwKK1B1YmxpYyBMaWNlbnNlIHBlcm1pdHMgbW9yZSBsYXggY3JpdGVyaWEgZm9yIGxpbmtpbmcgb3RoZXIgY29kZSB3aXRoCit0aGUgbGlicmFyeS4KKworICBXZSBjYWxsIHRoaXMgbGljZW5zZSB0aGUgIkxlc3NlciIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBiZWNhdXNlIGl0Citkb2VzIExlc3MgdG8gcHJvdGVjdCB0aGUgdXNlcidzIGZyZWVkb20gdGhhbiB0aGUgb3JkaW5hcnkgR2VuZXJhbAorUHVibGljIExpY2Vuc2UuICBJdCBhbHNvIHByb3ZpZGVzIG90aGVyIGZyZWUgc29mdHdhcmUgZGV2ZWxvcGVycyBMZXNzCitvZiBhbiBhZHZhbnRhZ2Ugb3ZlciBjb21wZXRpbmcgbm9uLWZyZWUgcHJvZ3JhbXMuICBUaGVzZSBkaXNhZHZhbnRhZ2VzCithcmUgdGhlIHJlYXNvbiB3ZSB1c2UgdGhlIG9yZGluYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1hbnkKK2xpYnJhcmllcy4gIEhvd2V2ZXIsIHRoZSBMZXNzZXIgbGljZW5zZSBwcm92aWRlcyBhZHZhbnRhZ2VzIGluIGNlcnRhaW4KK3NwZWNpYWwgY2lyY3Vtc3RhbmNlcy4KKworICBGb3IgZXhhbXBsZSwgb24gcmFyZSBvY2Nhc2lvbnMsIHRoZXJlIG1heSBiZSBhIHNwZWNpYWwgbmVlZCB0bworZW5jb3VyYWdlIHRoZSB3aWRlc3QgcG9zc2libGUgdXNlIG9mIGEgY2VydGFpbiBsaWJyYXJ5LCBzbyB0aGF0IGl0IGJlY29tZXMKK2EgZGUtZmFjdG8gc3RhbmRhcmQuICBUbyBhY2hpZXZlIHRoaXMsIG5vbi1mcmVlIHByb2dyYW1zIG11c3QgYmUKK2FsbG93ZWQgdG8gdXNlIHRoZSBsaWJyYXJ5LiAgQSBtb3JlIGZyZXF1ZW50IGNhc2UgaXMgdGhhdCBhIGZyZWUKK2xpYnJhcnkgZG9lcyB0aGUgc2FtZSBqb2IgYXMgd2lkZWx5IHVzZWQgbm9uLWZyZWUgbGlicmFyaWVzLiAgSW4gdGhpcworY2FzZSwgdGhlcmUgaXMgbGl0dGxlIHRvIGdhaW4gYnkgbGltaXRpbmcgdGhlIGZyZWUgbGlicmFyeSB0byBmcmVlCitzb2Z0d2FyZSBvbmx5LCBzbyB3ZSB1c2UgdGhlIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorCisgIEluIG90aGVyIGNhc2VzLCBwZXJtaXNzaW9uIHRvIHVzZSBhIHBhcnRpY3VsYXIgbGlicmFyeSBpbiBub24tZnJlZQorcHJvZ3JhbXMgZW5hYmxlcyBhIGdyZWF0ZXIgbnVtYmVyIG9mIHBlb3BsZSB0byB1c2UgYSBsYXJnZSBib2R5IG9mCitmcmVlIHNvZnR3YXJlLiAgRm9yIGV4YW1wbGUsIHBlcm1pc3Npb24gdG8gdXNlIHRoZSBHTlUgQyBMaWJyYXJ5IGluCitub24tZnJlZSBwcm9ncmFtcyBlbmFibGVzIG1hbnkgbW9yZSBwZW9wbGUgdG8gdXNlIHRoZSB3aG9sZSBHTlUKK29wZXJhdGluZyBzeXN0ZW0sIGFzIHdlbGwgYXMgaXRzIHZhcmlhbnQsIHRoZSBHTlUvTGludXggb3BlcmF0aW5nCitzeXN0ZW0uCisKKyAgQWx0aG91Z2ggdGhlIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGlzIExlc3MgcHJvdGVjdGl2ZSBvZiB0aGUKK3VzZXJzJyBmcmVlZG9tLCBpdCBkb2VzIGVuc3VyZSB0aGF0IHRoZSB1c2VyIG9mIGEgcHJvZ3JhbSB0aGF0IGlzCitsaW5rZWQgd2l0aCB0aGUgTGlicmFyeSBoYXMgdGhlIGZyZWVkb20gYW5kIHRoZSB3aGVyZXdpdGhhbCB0byBydW4KK3RoYXQgcHJvZ3JhbSB1c2luZyBhIG1vZGlmaWVkIHZlcnNpb24gb2YgdGhlIExpYnJhcnkuCisKKyAgVGhlIHByZWNpc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBhbmQKK21vZGlmaWNhdGlvbiBmb2xsb3cuICBQYXkgY2xvc2UgYXR0ZW50aW9uIHRvIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYQorIndvcmsgYmFzZWQgb24gdGhlIGxpYnJhcnkiIGFuZCBhICJ3b3JrIHRoYXQgdXNlcyB0aGUgbGlicmFyeSIuICBUaGUKK2Zvcm1lciBjb250YWlucyBjb2RlIGRlcml2ZWQgZnJvbSB0aGUgbGlicmFyeSwgd2hlcmVhcyB0aGUgbGF0dGVyIG11c3QKK2JlIGNvbWJpbmVkIHdpdGggdGhlIGxpYnJhcnkgaW4gb3JkZXIgdG8gcnVuLgorCisgICAgICAgICAgR05VIExFU1NFUiBHRU5FUkFMIFBVQkxJQyBMSUNFTlNFCisgICBURVJNUyBBTkQgQ09ORElUSU9OUyBGT1IgQ09QWUlORywgRElTVFJJQlVUSU9OIEFORCBNT0RJRklDQVRJT04KKworICAwLiBUaGlzIExpY2Vuc2UgQWdyZWVtZW50IGFwcGxpZXMgdG8gYW55IHNvZnR3YXJlIGxpYnJhcnkgb3Igb3RoZXIKK3Byb2dyYW0gd2hpY2ggY29udGFpbnMgYSBub3RpY2UgcGxhY2VkIGJ5IHRoZSBjb3B5cmlnaHQgaG9sZGVyIG9yCitvdGhlciBhdXRob3JpemVkIHBhcnR5IHNheWluZyBpdCBtYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mCit0aGlzIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChhbHNvIGNhbGxlZCAidGhpcyBMaWNlbnNlIikuCitFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4KKworICBBICJsaWJyYXJ5IiBtZWFucyBhIGNvbGxlY3Rpb24gb2Ygc29mdHdhcmUgZnVuY3Rpb25zIGFuZC9vciBkYXRhCitwcmVwYXJlZCBzbyBhcyB0byBiZSBjb252ZW5pZW50bHkgbGlua2VkIHdpdGggYXBwbGljYXRpb24gcHJvZ3JhbXMKKyh3aGljaCB1c2Ugc29tZSBvZiB0aG9zZSBmdW5jdGlvbnMgYW5kIGRhdGEpIHRvIGZvcm0gZXhlY3V0YWJsZXMuCisKKyAgVGhlICJMaWJyYXJ5IiwgYmVsb3csIHJlZmVycyB0byBhbnkgc3VjaCBzb2Z0d2FyZSBsaWJyYXJ5IG9yIHdvcmsKK3doaWNoIGhhcyBiZWVuIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZXNlIHRlcm1zLiAgQSAid29yayBiYXNlZCBvbiB0aGUKK0xpYnJhcnkiIG1lYW5zIGVpdGhlciB0aGUgTGlicmFyeSBvciBhbnkgZGVyaXZhdGl2ZSB3b3JrIHVuZGVyCitjb3B5cmlnaHQgbGF3OiB0aGF0IGlzIHRvIHNheSwgYSB3b3JrIGNvbnRhaW5pbmcgdGhlIExpYnJhcnkgb3IgYQorcG9ydGlvbiBvZiBpdCwgZWl0aGVyIHZlcmJhdGltIG9yIHdpdGggbW9kaWZpY2F0aW9ucyBhbmQvb3IgdHJhbnNsYXRlZAorc3RyYWlnaHRmb3J3YXJkbHkgaW50byBhbm90aGVyIGxhbmd1YWdlLiAgKEhlcmVpbmFmdGVyLCB0cmFuc2xhdGlvbiBpcworaW5jbHVkZWQgd2l0aG91dCBsaW1pdGF0aW9uIGluIHRoZSB0ZXJtICJtb2RpZmljYXRpb24iLikKKworICAiU291cmNlIGNvZGUiIGZvciBhIHdvcmsgbWVhbnMgdGhlIHByZWZlcnJlZCBmb3JtIG9mIHRoZSB3b3JrIGZvcgorbWFraW5nIG1vZGlmaWNhdGlvbnMgdG8gaXQuICBGb3IgYSBsaWJyYXJ5LCBjb21wbGV0ZSBzb3VyY2UgY29kZSBtZWFucworYWxsIHRoZSBzb3VyY2UgY29kZSBmb3IgYWxsIG1vZHVsZXMgaXQgY29udGFpbnMsIHBsdXMgYW55IGFzc29jaWF0ZWQKK2ludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzLCBwbHVzIHRoZSBzY3JpcHRzIHVzZWQgdG8gY29udHJvbCBjb21waWxhdGlvbgorYW5kIGluc3RhbGxhdGlvbiBvZiB0aGUgbGlicmFyeS4KKworICBBY3Rpdml0aWVzIG90aGVyIHRoYW4gY29weWluZywgZGlzdHJpYnV0aW9uIGFuZCBtb2RpZmljYXRpb24gYXJlIG5vdAorY292ZXJlZCBieSB0aGlzIExpY2Vuc2U7IHRoZXkgYXJlIG91dHNpZGUgaXRzIHNjb3BlLiAgVGhlIGFjdCBvZgorcnVubmluZyBhIHByb2dyYW0gdXNpbmcgdGhlIExpYnJhcnkgaXMgbm90IHJlc3RyaWN0ZWQsIGFuZCBvdXRwdXQgZnJvbQorc3VjaCBhIHByb2dyYW0gaXMgY292ZXJlZCBvbmx5IGlmIGl0cyBjb250ZW50cyBjb25zdGl0dXRlIGEgd29yayBiYXNlZAorb24gdGhlIExpYnJhcnkgKGluZGVwZW5kZW50IG9mIHRoZSB1c2Ugb2YgdGhlIExpYnJhcnkgaW4gYSB0b29sIGZvcgord3JpdGluZyBpdCkuICBXaGV0aGVyIHRoYXQgaXMgdHJ1ZSBkZXBlbmRzIG9uIHdoYXQgdGhlIExpYnJhcnkgZG9lcworYW5kIHdoYXQgdGhlIHByb2dyYW0gdGhhdCB1c2VzIHRoZSBMaWJyYXJ5IGRvZXMuCisKKyAgMS4gWW91IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcyBvZiB0aGUgTGlicmFyeSdzCitjb21wbGV0ZSBzb3VyY2UgY29kZSBhcyB5b3UgcmVjZWl2ZSBpdCwgaW4gYW55IG1lZGl1bSwgcHJvdmlkZWQgdGhhdAoreW91IGNvbnNwaWN1b3VzbHkgYW5kIGFwcHJvcHJpYXRlbHkgcHVibGlzaCBvbiBlYWNoIGNvcHkgYW4KK2FwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UgYW5kIGRpc2NsYWltZXIgb2Ygd2FycmFudHk7IGtlZXAgaW50YWN0CithbGwgdGhlIG5vdGljZXMgdGhhdCByZWZlciB0byB0aGlzIExpY2Vuc2UgYW5kIHRvIHRoZSBhYnNlbmNlIG9mIGFueQord2FycmFudHk7IGFuZCBkaXN0cmlidXRlIGEgY29weSBvZiB0aGlzIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUKK0xpYnJhcnkuCisKKyAgWW91IG1heSBjaGFyZ2UgYSBmZWUgZm9yIHRoZSBwaHlzaWNhbCBhY3Qgb2YgdHJhbnNmZXJyaW5nIGEgY29weSwKK2FuZCB5b3UgbWF5IGF0IHlvdXIgb3B0aW9uIG9mZmVyIHdhcnJhbnR5IHByb3RlY3Rpb24gaW4gZXhjaGFuZ2UgZm9yIGEKK2ZlZS4KKworICAyLiBZb3UgbWF5IG1vZGlmeSB5b3VyIGNvcHkgb3IgY29waWVzIG9mIHRoZSBMaWJyYXJ5IG9yIGFueSBwb3J0aW9uCitvZiBpdCwgdGh1cyBmb3JtaW5nIGEgd29yayBiYXNlZCBvbiB0aGUgTGlicmFyeSwgYW5kIGNvcHkgYW5kCitkaXN0cmlidXRlIHN1Y2ggbW9kaWZpY2F0aW9ucyBvciB3b3JrIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9uIDEKK2Fib3ZlLCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CisKKyAgICBhKSBUaGUgbW9kaWZpZWQgd29yayBtdXN0IGl0c2VsZiBiZSBhIHNvZnR3YXJlIGxpYnJhcnkuCisKKyAgICBiKSBZb3UgbXVzdCBjYXVzZSB0aGUgZmlsZXMgbW9kaWZpZWQgdG8gY2FycnkgcHJvbWluZW50IG5vdGljZXMKKyAgICBzdGF0aW5nIHRoYXQgeW91IGNoYW5nZWQgdGhlIGZpbGVzIGFuZCB0aGUgZGF0ZSBvZiBhbnkgY2hhbmdlLgorCisgICAgYykgWW91IG11c3QgY2F1c2UgdGhlIHdob2xlIG9mIHRoZSB3b3JrIHRvIGJlIGxpY2Vuc2VkIGF0IG5vCisgICAgY2hhcmdlIHRvIGFsbCB0aGlyZCBwYXJ0aWVzIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UuCisKKyAgICBkKSBJZiBhIGZhY2lsaXR5IGluIHRoZSBtb2RpZmllZCBMaWJyYXJ5IHJlZmVycyB0byBhIGZ1bmN0aW9uIG9yIGEKKyAgICB0YWJsZSBvZiBkYXRhIHRvIGJlIHN1cHBsaWVkIGJ5IGFuIGFwcGxpY2F0aW9uIHByb2dyYW0gdGhhdCB1c2VzCisgICAgdGhlIGZhY2lsaXR5LCBvdGhlciB0aGFuIGFzIGFuIGFyZ3VtZW50IHBhc3NlZCB3aGVuIHRoZSBmYWNpbGl0eQorICAgIGlzIGludm9rZWQsIHRoZW4geW91IG11c3QgbWFrZSBhIGdvb2QgZmFpdGggZWZmb3J0IHRvIGVuc3VyZSB0aGF0LAorICAgIGluIHRoZSBldmVudCBhbiBhcHBsaWNhdGlvbiBkb2VzIG5vdCBzdXBwbHkgc3VjaCBmdW5jdGlvbiBvcgorICAgIHRhYmxlLCB0aGUgZmFjaWxpdHkgc3RpbGwgb3BlcmF0ZXMsIGFuZCBwZXJmb3JtcyB3aGF0ZXZlciBwYXJ0IG9mCisgICAgaXRzIHB1cnBvc2UgcmVtYWlucyBtZWFuaW5nZnVsLgorCisgICAgKEZvciBleGFtcGxlLCBhIGZ1bmN0aW9uIGluIGEgbGlicmFyeSB0byBjb21wdXRlIHNxdWFyZSByb290cyBoYXMKKyAgICBhIHB1cnBvc2UgdGhhdCBpcyBlbnRpcmVseSB3ZWxsLWRlZmluZWQgaW5kZXBlbmRlbnQgb2YgdGhlCisgICAgYXBwbGljYXRpb24uICBUaGVyZWZvcmUsIFN1YnNlY3Rpb24gMmQgcmVxdWlyZXMgdGhhdCBhbnkKKyAgICBhcHBsaWNhdGlvbi1zdXBwbGllZCBmdW5jdGlvbiBvciB0YWJsZSB1c2VkIGJ5IHRoaXMgZnVuY3Rpb24gbXVzdAorICAgIGJlIG9wdGlvbmFsOiBpZiB0aGUgYXBwbGljYXRpb24gZG9lcyBub3Qgc3VwcGx5IGl0LCB0aGUgc3F1YXJlCisgICAgcm9vdCBmdW5jdGlvbiBtdXN0IHN0aWxsIGNvbXB1dGUgc3F1YXJlIHJvb3RzLikKKworVGhlc2UgcmVxdWlyZW1lbnRzIGFwcGx5IHRvIHRoZSBtb2RpZmllZCB3b3JrIGFzIGEgd2hvbGUuICBJZgoraWRlbnRpZmlhYmxlIHNlY3Rpb25zIG9mIHRoYXQgd29yayBhcmUgbm90IGRlcml2ZWQgZnJvbSB0aGUgTGlicmFyeSwKK2FuZCBjYW4gYmUgcmVhc29uYWJseSBjb25zaWRlcmVkIGluZGVwZW5kZW50IGFuZCBzZXBhcmF0ZSB3b3JrcyBpbgordGhlbXNlbHZlcywgdGhlbiB0aGlzIExpY2Vuc2UsIGFuZCBpdHMgdGVybXMsIGRvIG5vdCBhcHBseSB0byB0aG9zZQorc2VjdGlvbnMgd2hlbiB5b3UgZGlzdHJpYnV0ZSB0aGVtIGFzIHNlcGFyYXRlIHdvcmtzLiAgQnV0IHdoZW4geW91CitkaXN0cmlidXRlIHRoZSBzYW1lIHNlY3Rpb25zIGFzIHBhcnQgb2YgYSB3aG9sZSB3aGljaCBpcyBhIHdvcmsgYmFzZWQKK29uIHRoZSBMaWJyYXJ5LCB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoZSB3aG9sZSBtdXN0IGJlIG9uIHRoZSB0ZXJtcyBvZgordGhpcyBMaWNlbnNlLCB3aG9zZSBwZXJtaXNzaW9ucyBmb3Igb3RoZXIgbGljZW5zZWVzIGV4dGVuZCB0byB0aGUKK2VudGlyZSB3aG9sZSwgYW5kIHRodXMgdG8gZWFjaCBhbmQgZXZlcnkgcGFydCByZWdhcmRsZXNzIG9mIHdobyB3cm90ZQoraXQuCisKK1RodXMsIGl0IGlzIG5vdCB0aGUgaW50ZW50IG9mIHRoaXMgc2VjdGlvbiB0byBjbGFpbSByaWdodHMgb3IgY29udGVzdAoreW91ciByaWdodHMgdG8gd29yayB3cml0dGVuIGVudGlyZWx5IGJ5IHlvdTsgcmF0aGVyLCB0aGUgaW50ZW50IGlzIHRvCitleGVyY2lzZSB0aGUgcmlnaHQgdG8gY29udHJvbCB0aGUgZGlzdHJpYnV0aW9uIG9mIGRlcml2YXRpdmUgb3IKK2NvbGxlY3RpdmUgd29ya3MgYmFzZWQgb24gdGhlIExpYnJhcnkuCisKK0luIGFkZGl0aW9uLCBtZXJlIGFnZ3JlZ2F0aW9uIG9mIGFub3RoZXIgd29yayBub3QgYmFzZWQgb24gdGhlIExpYnJhcnkKK3dpdGggdGhlIExpYnJhcnkgKG9yIHdpdGggYSB3b3JrIGJhc2VkIG9uIHRoZSBMaWJyYXJ5KSBvbiBhIHZvbHVtZSBvZgorYSBzdG9yYWdlIG9yIGRpc3RyaWJ1dGlvbiBtZWRpdW0gZG9lcyBub3QgYnJpbmcgdGhlIG90aGVyIHdvcmsgdW5kZXIKK3RoZSBzY29wZSBvZiB0aGlzIExpY2Vuc2UuCisKKyAgMy4gWW91IG1heSBvcHQgdG8gYXBwbHkgdGhlIHRlcm1zIG9mIHRoZSBvcmRpbmFyeSBHTlUgR2VuZXJhbCBQdWJsaWMKK0xpY2Vuc2UgaW5zdGVhZCBvZiB0aGlzIExpY2Vuc2UgdG8gYSBnaXZlbiBjb3B5IG9mIHRoZSBMaWJyYXJ5LiAgVG8gZG8KK3RoaXMsIHlvdSBtdXN0IGFsdGVyIGFsbCB0aGUgbm90aWNlcyB0aGF0IHJlZmVyIHRvIHRoaXMgTGljZW5zZSwgc28KK3RoYXQgdGhleSByZWZlciB0byB0aGUgb3JkaW5hcnkgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMiwKK2luc3RlYWQgb2YgdG8gdGhpcyBMaWNlbnNlLiAgKElmIGEgbmV3ZXIgdmVyc2lvbiB0aGFuIHZlcnNpb24gMiBvZiB0aGUKK29yZGluYXJ5IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGhhcyBhcHBlYXJlZCwgdGhlbiB5b3UgY2FuIHNwZWNpZnkKK3RoYXQgdmVyc2lvbiBpbnN0ZWFkIGlmIHlvdSB3aXNoLikgIERvIG5vdCBtYWtlIGFueSBvdGhlciBjaGFuZ2UgaW4KK3RoZXNlIG5vdGljZXMuCisKKyAgT25jZSB0aGlzIGNoYW5nZSBpcyBtYWRlIGluIGEgZ2l2ZW4gY29weSwgaXQgaXMgaXJyZXZlcnNpYmxlIGZvcgordGhhdCBjb3B5LCBzbyB0aGUgb3JkaW5hcnkgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXBwbGllcyB0byBhbGwKK3N1YnNlcXVlbnQgY29waWVzIGFuZCBkZXJpdmF0aXZlIHdvcmtzIG1hZGUgZnJvbSB0aGF0IGNvcHkuCisKKyAgVGhpcyBvcHRpb24gaXMgdXNlZnVsIHdoZW4geW91IHdpc2ggdG8gY29weSBwYXJ0IG9mIHRoZSBjb2RlIG9mCit0aGUgTGlicmFyeSBpbnRvIGEgcHJvZ3JhbSB0aGF0IGlzIG5vdCBhIGxpYnJhcnkuCisKKyAgNC4gWW91IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHRoZSBMaWJyYXJ5IChvciBhIHBvcnRpb24gb3IKK2Rlcml2YXRpdmUgb2YgaXQsIHVuZGVyIFNlY3Rpb24gMikgaW4gb2JqZWN0IGNvZGUgb3IgZXhlY3V0YWJsZSBmb3JtCit1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSBwcm92aWRlZCB0aGF0IHlvdSBhY2NvbXBhbnkKK2l0IHdpdGggdGhlIGNvbXBsZXRlIGNvcnJlc3BvbmRpbmcgbWFjaGluZS1yZWFkYWJsZSBzb3VyY2UgY29kZSwgd2hpY2gKK211c3QgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zIDEgYW5kIDIgYWJvdmUgb24gYQorbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgorCisgIElmIGRpc3RyaWJ1dGlvbiBvZiBvYmplY3QgY29kZSBpcyBtYWRlIGJ5IG9mZmVyaW5nIGFjY2VzcyB0byBjb3B5Citmcm9tIGEgZGVzaWduYXRlZCBwbGFjZSwgdGhlbiBvZmZlcmluZyBlcXVpdmFsZW50IGFjY2VzcyB0byBjb3B5IHRoZQorc291cmNlIGNvZGUgZnJvbSB0aGUgc2FtZSBwbGFjZSBzYXRpc2ZpZXMgdGhlIHJlcXVpcmVtZW50IHRvCitkaXN0cmlidXRlIHRoZSBzb3VyY2UgY29kZSwgZXZlbiB0aG91Z2ggdGhpcmQgcGFydGllcyBhcmUgbm90Citjb21wZWxsZWQgdG8gY29weSB0aGUgc291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLgorCisgIDUuIEEgcHJvZ3JhbSB0aGF0IGNvbnRhaW5zIG5vIGRlcml2YXRpdmUgb2YgYW55IHBvcnRpb24gb2YgdGhlCitMaWJyYXJ5LCBidXQgaXMgZGVzaWduZWQgdG8gd29yayB3aXRoIHRoZSBMaWJyYXJ5IGJ5IGJlaW5nIGNvbXBpbGVkIG9yCitsaW5rZWQgd2l0aCBpdCwgaXMgY2FsbGVkIGEgIndvcmsgdGhhdCB1c2VzIHRoZSBMaWJyYXJ5Ii4gIFN1Y2ggYQord29yaywgaW4gaXNvbGF0aW9uLCBpcyBub3QgYSBkZXJpdmF0aXZlIHdvcmsgb2YgdGhlIExpYnJhcnksIGFuZAordGhlcmVmb3JlIGZhbGxzIG91dHNpZGUgdGhlIHNjb3BlIG9mIHRoaXMgTGljZW5zZS4KKworICBIb3dldmVyLCBsaW5raW5nIGEgIndvcmsgdGhhdCB1c2VzIHRoZSBMaWJyYXJ5IiB3aXRoIHRoZSBMaWJyYXJ5CitjcmVhdGVzIGFuIGV4ZWN1dGFibGUgdGhhdCBpcyBhIGRlcml2YXRpdmUgb2YgdGhlIExpYnJhcnkgKGJlY2F1c2UgaXQKK2NvbnRhaW5zIHBvcnRpb25zIG9mIHRoZSBMaWJyYXJ5KSwgcmF0aGVyIHRoYW4gYSAid29yayB0aGF0IHVzZXMgdGhlCitsaWJyYXJ5Ii4gIFRoZSBleGVjdXRhYmxlIGlzIHRoZXJlZm9yZSBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZS4KK1NlY3Rpb24gNiBzdGF0ZXMgdGVybXMgZm9yIGRpc3RyaWJ1dGlvbiBvZiBzdWNoIGV4ZWN1dGFibGVzLgorCisgIFdoZW4gYSAid29yayB0aGF0IHVzZXMgdGhlIExpYnJhcnkiIHVzZXMgbWF0ZXJpYWwgZnJvbSBhIGhlYWRlciBmaWxlCit0aGF0IGlzIHBhcnQgb2YgdGhlIExpYnJhcnksIHRoZSBvYmplY3QgY29kZSBmb3IgdGhlIHdvcmsgbWF5IGJlIGEKK2Rlcml2YXRpdmUgd29yayBvZiB0aGUgTGlicmFyeSBldmVuIHRob3VnaCB0aGUgc291cmNlIGNvZGUgaXMgbm90LgorV2hldGhlciB0aGlzIGlzIHRydWUgaXMgZXNwZWNpYWxseSBzaWduaWZpY2FudCBpZiB0aGUgd29yayBjYW4gYmUKK2xpbmtlZCB3aXRob3V0IHRoZSBMaWJyYXJ5LCBvciBpZiB0aGUgd29yayBpcyBpdHNlbGYgYSBsaWJyYXJ5LiAgVGhlCit0aHJlc2hvbGQgZm9yIHRoaXMgdG8gYmUgdHJ1ZSBpcyBub3QgcHJlY2lzZWx5IGRlZmluZWQgYnkgbGF3LgorCisgIElmIHN1Y2ggYW4gb2JqZWN0IGZpbGUgdXNlcyBvbmx5IG51bWVyaWNhbCBwYXJhbWV0ZXJzLCBkYXRhCitzdHJ1Y3R1cmUgbGF5b3V0cyBhbmQgYWNjZXNzb3JzLCBhbmQgc21hbGwgbWFjcm9zIGFuZCBzbWFsbCBpbmxpbmUKK2Z1bmN0aW9ucyAodGVuIGxpbmVzIG9yIGxlc3MgaW4gbGVuZ3RoKSwgdGhlbiB0aGUgdXNlIG9mIHRoZSBvYmplY3QKK2ZpbGUgaXMgdW5yZXN0cmljdGVkLCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgaXQgaXMgbGVnYWxseSBhIGRlcml2YXRpdmUKK3dvcmsuICAoRXhlY3V0YWJsZXMgY29udGFpbmluZyB0aGlzIG9iamVjdCBjb2RlIHBsdXMgcG9ydGlvbnMgb2YgdGhlCitMaWJyYXJ5IHdpbGwgc3RpbGwgZmFsbCB1bmRlciBTZWN0aW9uIDYuKQorCisgIE90aGVyd2lzZSwgaWYgdGhlIHdvcmsgaXMgYSBkZXJpdmF0aXZlIG9mIHRoZSBMaWJyYXJ5LCB5b3UgbWF5CitkaXN0cmlidXRlIHRoZSBvYmplY3QgY29kZSBmb3IgdGhlIHdvcmsgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb24gNi4KK0FueSBleGVjdXRhYmxlcyBjb250YWluaW5nIHRoYXQgd29yayBhbHNvIGZhbGwgdW5kZXIgU2VjdGlvbiA2LAord2hldGhlciBvciBub3QgdGhleSBhcmUgbGlua2VkIGRpcmVjdGx5IHdpdGggdGhlIExpYnJhcnkgaXRzZWxmLgorCisgIDYuIEFzIGFuIGV4Y2VwdGlvbiB0byB0aGUgU2VjdGlvbnMgYWJvdmUsIHlvdSBtYXkgYWxzbyBjb21iaW5lIG9yCitsaW5rIGEgIndvcmsgdGhhdCB1c2VzIHRoZSBMaWJyYXJ5IiB3aXRoIHRoZSBMaWJyYXJ5IHRvIHByb2R1Y2UgYQord29yayBjb250YWluaW5nIHBvcnRpb25zIG9mIHRoZSBMaWJyYXJ5LCBhbmQgZGlzdHJpYnV0ZSB0aGF0IHdvcmsKK3VuZGVyIHRlcm1zIG9mIHlvdXIgY2hvaWNlLCBwcm92aWRlZCB0aGF0IHRoZSB0ZXJtcyBwZXJtaXQKK21vZGlmaWNhdGlvbiBvZiB0aGUgd29yayBmb3IgdGhlIGN1c3RvbWVyJ3Mgb3duIHVzZSBhbmQgcmV2ZXJzZQorZW5naW5lZXJpbmcgZm9yIGRlYnVnZ2luZyBzdWNoIG1vZGlmaWNhdGlvbnMuCisKKyAgWW91IG11c3QgZ2l2ZSBwcm9taW5lbnQgbm90aWNlIHdpdGggZWFjaCBjb3B5IG9mIHRoZSB3b3JrIHRoYXQgdGhlCitMaWJyYXJ5IGlzIHVzZWQgaW4gaXQgYW5kIHRoYXQgdGhlIExpYnJhcnkgYW5kIGl0cyB1c2UgYXJlIGNvdmVyZWQgYnkKK3RoaXMgTGljZW5zZS4gIFlvdSBtdXN0IHN1cHBseSBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlLiAgSWYgdGhlIHdvcmsKK2R1cmluZyBleGVjdXRpb24gZGlzcGxheXMgY29weXJpZ2h0IG5vdGljZXMsIHlvdSBtdXN0IGluY2x1ZGUgdGhlCitjb3B5cmlnaHQgbm90aWNlIGZvciB0aGUgTGlicmFyeSBhbW9uZyB0aGVtLCBhcyB3ZWxsIGFzIGEgcmVmZXJlbmNlCitkaXJlY3RpbmcgdGhlIHVzZXIgdG8gdGhlIGNvcHkgb2YgdGhpcyBMaWNlbnNlLiAgQWxzbywgeW91IG11c3QgZG8gb25lCitvZiB0aGVzZSB0aGluZ3M6CisKKyAgICBhKSBBY2NvbXBhbnkgdGhlIHdvcmsgd2l0aCB0aGUgY29tcGxldGUgY29ycmVzcG9uZGluZworICAgIG1hY2hpbmUtcmVhZGFibGUgc291cmNlIGNvZGUgZm9yIHRoZSBMaWJyYXJ5IGluY2x1ZGluZyB3aGF0ZXZlcgorICAgIGNoYW5nZXMgd2VyZSB1c2VkIGluIHRoZSB3b3JrICh3aGljaCBtdXN0IGJlIGRpc3RyaWJ1dGVkIHVuZGVyCisgICAgU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSk7IGFuZCwgaWYgdGhlIHdvcmsgaXMgYW4gZXhlY3V0YWJsZSBsaW5rZWQKKyAgICB3aXRoIHRoZSBMaWJyYXJ5LCB3aXRoIHRoZSBjb21wbGV0ZSBtYWNoaW5lLXJlYWRhYmxlICJ3b3JrIHRoYXQKKyAgICB1c2VzIHRoZSBMaWJyYXJ5IiwgYXMgb2JqZWN0IGNvZGUgYW5kL29yIHNvdXJjZSBjb2RlLCBzbyB0aGF0IHRoZQorICAgIHVzZXIgY2FuIG1vZGlmeSB0aGUgTGlicmFyeSBhbmQgdGhlbiByZWxpbmsgdG8gcHJvZHVjZSBhIG1vZGlmaWVkCisgICAgZXhlY3V0YWJsZSBjb250YWluaW5nIHRoZSBtb2RpZmllZCBMaWJyYXJ5LiAgKEl0IGlzIHVuZGVyc3Rvb2QKKyAgICB0aGF0IHRoZSB1c2VyIHdobyBjaGFuZ2VzIHRoZSBjb250ZW50cyBvZiBkZWZpbml0aW9ucyBmaWxlcyBpbiB0aGUKKyAgICBMaWJyYXJ5IHdpbGwgbm90IG5lY2Vzc2FyaWx5IGJlIGFibGUgdG8gcmVjb21waWxlIHRoZSBhcHBsaWNhdGlvbgorICAgIHRvIHVzZSB0aGUgbW9kaWZpZWQgZGVmaW5pdGlvbnMuKQorCisgICAgYikgVXNlIGEgc3VpdGFibGUgc2hhcmVkIGxpYnJhcnkgbWVjaGFuaXNtIGZvciBsaW5raW5nIHdpdGggdGhlCisgICAgTGlicmFyeS4gIEEgc3VpdGFibGUgbWVjaGFuaXNtIGlzIG9uZSB0aGF0ICgxKSB1c2VzIGF0IHJ1biB0aW1lIGEKKyAgICBjb3B5IG9mIHRoZSBsaWJyYXJ5IGFscmVhZHkgcHJlc2VudCBvbiB0aGUgdXNlcidzIGNvbXB1dGVyIHN5c3RlbSwKKyAgICByYXRoZXIgdGhhbiBjb3B5aW5nIGxpYnJhcnkgZnVuY3Rpb25zIGludG8gdGhlIGV4ZWN1dGFibGUsIGFuZCAoMikKKyAgICB3aWxsIG9wZXJhdGUgcHJvcGVybHkgd2l0aCBhIG1vZGlmaWVkIHZlcnNpb24gb2YgdGhlIGxpYnJhcnksIGlmCisgICAgdGhlIHVzZXIgaW5zdGFsbHMgb25lLCBhcyBsb25nIGFzIHRoZSBtb2RpZmllZCB2ZXJzaW9uIGlzCisgICAgaW50ZXJmYWNlLWNvbXBhdGlibGUgd2l0aCB0aGUgdmVyc2lvbiB0aGF0IHRoZSB3b3JrIHdhcyBtYWRlIHdpdGguCisKKyAgICBjKSBBY2NvbXBhbnkgdGhlIHdvcmsgd2l0aCBhIHdyaXR0ZW4gb2ZmZXIsIHZhbGlkIGZvciBhdAorICAgIGxlYXN0IHRocmVlIHllYXJzLCB0byBnaXZlIHRoZSBzYW1lIHVzZXIgdGhlIG1hdGVyaWFscworICAgIHNwZWNpZmllZCBpbiBTdWJzZWN0aW9uIDZhLCBhYm92ZSwgZm9yIGEgY2hhcmdlIG5vIG1vcmUKKyAgICB0aGFuIHRoZSBjb3N0IG9mIHBlcmZvcm1pbmcgdGhpcyBkaXN0cmlidXRpb24uCisKKyAgICBkKSBJZiBkaXN0cmlidXRpb24gb2YgdGhlIHdvcmsgaXMgbWFkZSBieSBvZmZlcmluZyBhY2Nlc3MgdG8gY29weQorICAgIGZyb20gYSBkZXNpZ25hdGVkIHBsYWNlLCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byBjb3B5IHRoZSBhYm92ZQorICAgIHNwZWNpZmllZCBtYXRlcmlhbHMgZnJvbSB0aGUgc2FtZSBwbGFjZS4KKworICAgIGUpIFZlcmlmeSB0aGF0IHRoZSB1c2VyIGhhcyBhbHJlYWR5IHJlY2VpdmVkIGEgY29weSBvZiB0aGVzZQorICAgIG1hdGVyaWFscyBvciB0aGF0IHlvdSBoYXZlIGFscmVhZHkgc2VudCB0aGlzIHVzZXIgYSBjb3B5LgorCisgIEZvciBhbiBleGVjdXRhYmxlLCB0aGUgcmVxdWlyZWQgZm9ybSBvZiB0aGUgIndvcmsgdGhhdCB1c2VzIHRoZQorTGlicmFyeSIgbXVzdCBpbmNsdWRlIGFueSBkYXRhIGFuZCB1dGlsaXR5IHByb2dyYW1zIG5lZWRlZCBmb3IKK3JlcHJvZHVjaW5nIHRoZSBleGVjdXRhYmxlIGZyb20gaXQuICBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uLAordGhlIG1hdGVyaWFscyB0byBiZSBkaXN0cmlidXRlZCBuZWVkIG5vdCBpbmNsdWRlIGFueXRoaW5nIHRoYXQgaXMKK25vcm1hbGx5IGRpc3RyaWJ1dGVkIChpbiBlaXRoZXIgc291cmNlIG9yIGJpbmFyeSBmb3JtKSB3aXRoIHRoZSBtYWpvcgorY29tcG9uZW50cyAoY29tcGlsZXIsIGtlcm5lbCwgYW5kIHNvIG9uKSBvZiB0aGUgb3BlcmF0aW5nIHN5c3RlbSBvbgord2hpY2ggdGhlIGV4ZWN1dGFibGUgcnVucywgdW5sZXNzIHRoYXQgY29tcG9uZW50IGl0c2VsZiBhY2NvbXBhbmllcwordGhlIGV4ZWN1dGFibGUuCisKKyAgSXQgbWF5IGhhcHBlbiB0aGF0IHRoaXMgcmVxdWlyZW1lbnQgY29udHJhZGljdHMgdGhlIGxpY2Vuc2UKK3Jlc3RyaWN0aW9ucyBvZiBvdGhlciBwcm9wcmlldGFyeSBsaWJyYXJpZXMgdGhhdCBkbyBub3Qgbm9ybWFsbHkKK2FjY29tcGFueSB0aGUgb3BlcmF0aW5nIHN5c3RlbS4gIFN1Y2ggYSBjb250cmFkaWN0aW9uIG1lYW5zIHlvdSBjYW5ub3QKK3VzZSBib3RoIHRoZW0gYW5kIHRoZSBMaWJyYXJ5IHRvZ2V0aGVyIGluIGFuIGV4ZWN1dGFibGUgdGhhdCB5b3UKK2Rpc3RyaWJ1dGUuCisKKyAgNy4gWW91IG1heSBwbGFjZSBsaWJyYXJ5IGZhY2lsaXRpZXMgdGhhdCBhcmUgYSB3b3JrIGJhc2VkIG9uIHRoZQorTGlicmFyeSBzaWRlLWJ5LXNpZGUgaW4gYSBzaW5nbGUgbGlicmFyeSB0b2dldGhlciB3aXRoIG90aGVyIGxpYnJhcnkKK2ZhY2lsaXRpZXMgbm90IGNvdmVyZWQgYnkgdGhpcyBMaWNlbnNlLCBhbmQgZGlzdHJpYnV0ZSBzdWNoIGEgY29tYmluZWQKK2xpYnJhcnksIHByb3ZpZGVkIHRoYXQgdGhlIHNlcGFyYXRlIGRpc3RyaWJ1dGlvbiBvZiB0aGUgd29yayBiYXNlZCBvbgordGhlIExpYnJhcnkgYW5kIG9mIHRoZSBvdGhlciBsaWJyYXJ5IGZhY2lsaXRpZXMgaXMgb3RoZXJ3aXNlCitwZXJtaXR0ZWQsIGFuZCBwcm92aWRlZCB0aGF0IHlvdSBkbyB0aGVzZSB0d28gdGhpbmdzOgorCisgICAgYSkgQWNjb21wYW55IHRoZSBjb21iaW5lZCBsaWJyYXJ5IHdpdGggYSBjb3B5IG9mIHRoZSBzYW1lIHdvcmsKKyAgICBiYXNlZCBvbiB0aGUgTGlicmFyeSwgdW5jb21iaW5lZCB3aXRoIGFueSBvdGhlciBsaWJyYXJ5CisgICAgZmFjaWxpdGllcy4gIFRoaXMgbXVzdCBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgICAgU2VjdGlvbnMgYWJvdmUuCisKKyAgICBiKSBHaXZlIHByb21pbmVudCBub3RpY2Ugd2l0aCB0aGUgY29tYmluZWQgbGlicmFyeSBvZiB0aGUgZmFjdAorICAgIHRoYXQgcGFydCBvZiBpdCBpcyBhIHdvcmsgYmFzZWQgb24gdGhlIExpYnJhcnksIGFuZCBleHBsYWluaW5nCisgICAgd2hlcmUgdG8gZmluZCB0aGUgYWNjb21wYW55aW5nIHVuY29tYmluZWQgZm9ybSBvZiB0aGUgc2FtZSB3b3JrLgorCisgIDguIFlvdSBtYXkgbm90IGNvcHksIG1vZGlmeSwgc3VibGljZW5zZSwgbGluayB3aXRoLCBvciBkaXN0cmlidXRlCit0aGUgTGlicmFyeSBleGNlcHQgYXMgZXhwcmVzc2x5IHByb3ZpZGVkIHVuZGVyIHRoaXMgTGljZW5zZS4gIEFueQorYXR0ZW1wdCBvdGhlcndpc2UgdG8gY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBsaW5rIHdpdGgsIG9yCitkaXN0cmlidXRlIHRoZSBMaWJyYXJ5IGlzIHZvaWQsIGFuZCB3aWxsIGF1dG9tYXRpY2FsbHkgdGVybWluYXRlIHlvdXIKK3JpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2UuICBIb3dldmVyLCBwYXJ0aWVzIHdobyBoYXZlIHJlY2VpdmVkIGNvcGllcywKK29yIHJpZ2h0cywgZnJvbSB5b3UgdW5kZXIgdGhpcyBMaWNlbnNlIHdpbGwgbm90IGhhdmUgdGhlaXIgbGljZW5zZXMKK3Rlcm1pbmF0ZWQgc28gbG9uZyBhcyBzdWNoIHBhcnRpZXMgcmVtYWluIGluIGZ1bGwgY29tcGxpYW5jZS4KKworICA5LiBZb3UgYXJlIG5vdCByZXF1aXJlZCB0byBhY2NlcHQgdGhpcyBMaWNlbnNlLCBzaW5jZSB5b3UgaGF2ZSBub3QKK3NpZ25lZCBpdC4gIEhvd2V2ZXIsIG5vdGhpbmcgZWxzZSBncmFudHMgeW91IHBlcm1pc3Npb24gdG8gbW9kaWZ5IG9yCitkaXN0cmlidXRlIHRoZSBMaWJyYXJ5IG9yIGl0cyBkZXJpdmF0aXZlIHdvcmtzLiAgVGhlc2UgYWN0aW9ucyBhcmUKK3Byb2hpYml0ZWQgYnkgbGF3IGlmIHlvdSBkbyBub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkKK21vZGlmeWluZyBvciBkaXN0cmlidXRpbmcgdGhlIExpYnJhcnkgKG9yIGFueSB3b3JrIGJhc2VkIG9uIHRoZQorTGlicmFyeSksIHlvdSBpbmRpY2F0ZSB5b3VyIGFjY2VwdGFuY2Ugb2YgdGhpcyBMaWNlbnNlIHRvIGRvIHNvLCBhbmQKK2FsbCBpdHMgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGluZyBvciBtb2RpZnlpbmcKK3RoZSBMaWJyYXJ5IG9yIHdvcmtzIGJhc2VkIG9uIGl0LgorCisgIDEwLiBFYWNoIHRpbWUgeW91IHJlZGlzdHJpYnV0ZSB0aGUgTGlicmFyeSAob3IgYW55IHdvcmsgYmFzZWQgb24gdGhlCitMaWJyYXJ5KSwgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5IHJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZQorb3JpZ2luYWwgbGljZW5zb3IgdG8gY29weSwgZGlzdHJpYnV0ZSwgbGluayB3aXRoIG9yIG1vZGlmeSB0aGUgTGlicmFyeQorc3ViamVjdCB0byB0aGVzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucy4gIFlvdSBtYXkgbm90IGltcG9zZSBhbnkgZnVydGhlcgorcmVzdHJpY3Rpb25zIG9uIHRoZSByZWNpcGllbnRzJyBleGVyY2lzZSBvZiB0aGUgcmlnaHRzIGdyYW50ZWQgaGVyZWluLgorWW91IGFyZSBub3QgcmVzcG9uc2libGUgZm9yIGVuZm9yY2luZyBjb21wbGlhbmNlIGJ5IHRoaXJkIHBhcnRpZXMgd2l0aAordGhpcyBMaWNlbnNlLgorCisgIDExLiBJZiwgYXMgYSBjb25zZXF1ZW5jZSBvZiBhIGNvdXJ0IGp1ZGdtZW50IG9yIGFsbGVnYXRpb24gb2YgcGF0ZW50CitpbmZyaW5nZW1lbnQgb3IgZm9yIGFueSBvdGhlciByZWFzb24gKG5vdCBsaW1pdGVkIHRvIHBhdGVudCBpc3N1ZXMpLAorY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgorb3RoZXJ3aXNlKSB0aGF0IGNvbnRyYWRpY3QgdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLCB0aGV5IGRvIG5vdAorZXhjdXNlIHlvdSBmcm9tIHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZS4gIElmIHlvdSBjYW5ub3QKK2Rpc3RyaWJ1dGUgc28gYXMgdG8gc2F0aXNmeSBzaW11bHRhbmVvdXNseSB5b3VyIG9ibGlnYXRpb25zIHVuZGVyIHRoaXMKK0xpY2Vuc2UgYW5kIGFueSBvdGhlciBwZXJ0aW5lbnQgb2JsaWdhdGlvbnMsIHRoZW4gYXMgYSBjb25zZXF1ZW5jZSB5b3UKK21heSBub3QgZGlzdHJpYnV0ZSB0aGUgTGlicmFyeSBhdCBhbGwuICBGb3IgZXhhbXBsZSwgaWYgYSBwYXRlbnQKK2xpY2Vuc2Ugd291bGQgbm90IHBlcm1pdCByb3lhbHR5LWZyZWUgcmVkaXN0cmlidXRpb24gb2YgdGhlIExpYnJhcnkgYnkKK2FsbCB0aG9zZSB3aG8gcmVjZWl2ZSBjb3BpZXMgZGlyZWN0bHkgb3IgaW5kaXJlY3RseSB0aHJvdWdoIHlvdSwgdGhlbgordGhlIG9ubHkgd2F5IHlvdSBjb3VsZCBzYXRpc2Z5IGJvdGggaXQgYW5kIHRoaXMgTGljZW5zZSB3b3VsZCBiZSB0bworcmVmcmFpbiBlbnRpcmVseSBmcm9tIGRpc3RyaWJ1dGlvbiBvZiB0aGUgTGlicmFyeS4KKworSWYgYW55IHBvcnRpb24gb2YgdGhpcyBzZWN0aW9uIGlzIGhlbGQgaW52YWxpZCBvciB1bmVuZm9yY2VhYmxlIHVuZGVyIGFueQorcGFydGljdWxhciBjaXJjdW1zdGFuY2UsIHRoZSBiYWxhbmNlIG9mIHRoZSBzZWN0aW9uIGlzIGludGVuZGVkIHRvIGFwcGx5LAorYW5kIHRoZSBzZWN0aW9uIGFzIGEgd2hvbGUgaXMgaW50ZW5kZWQgdG8gYXBwbHkgaW4gb3RoZXIgY2lyY3Vtc3RhbmNlcy4KKworSXQgaXMgbm90IHRoZSBwdXJwb3NlIG9mIHRoaXMgc2VjdGlvbiB0byBpbmR1Y2UgeW91IHRvIGluZnJpbmdlIGFueQorcGF0ZW50cyBvciBvdGhlciBwcm9wZXJ0eSByaWdodCBjbGFpbXMgb3IgdG8gY29udGVzdCB2YWxpZGl0eSBvZiBhbnkKK3N1Y2ggY2xhaW1zOyB0aGlzIHNlY3Rpb24gaGFzIHRoZSBzb2xlIHB1cnBvc2Ugb2YgcHJvdGVjdGluZyB0aGUKK2ludGVncml0eSBvZiB0aGUgZnJlZSBzb2Z0d2FyZSBkaXN0cmlidXRpb24gc3lzdGVtIHdoaWNoIGlzCitpbXBsZW1lbnRlZCBieSBwdWJsaWMgbGljZW5zZSBwcmFjdGljZXMuICBNYW55IHBlb3BsZSBoYXZlIG1hZGUKK2dlbmVyb3VzIGNvbnRyaWJ1dGlvbnMgdG8gdGhlIHdpZGUgcmFuZ2Ugb2Ygc29mdHdhcmUgZGlzdHJpYnV0ZWQKK3Rocm91Z2ggdGhhdCBzeXN0ZW0gaW4gcmVsaWFuY2Ugb24gY29uc2lzdGVudCBhcHBsaWNhdGlvbiBvZiB0aGF0CitzeXN0ZW07IGl0IGlzIHVwIHRvIHRoZSBhdXRob3IvZG9ub3IgdG8gZGVjaWRlIGlmIGhlIG9yIHNoZSBpcyB3aWxsaW5nCit0byBkaXN0cmlidXRlIHNvZnR3YXJlIHRocm91Z2ggYW55IG90aGVyIHN5c3RlbSBhbmQgYSBsaWNlbnNlZSBjYW5ub3QKK2ltcG9zZSB0aGF0IGNob2ljZS4KKworVGhpcyBzZWN0aW9uIGlzIGludGVuZGVkIHRvIG1ha2UgdGhvcm91Z2hseSBjbGVhciB3aGF0IGlzIGJlbGlldmVkIHRvCitiZSBhIGNvbnNlcXVlbmNlIG9mIHRoZSByZXN0IG9mIHRoaXMgTGljZW5zZS4KKworICAxMi4gSWYgdGhlIGRpc3RyaWJ1dGlvbiBhbmQvb3IgdXNlIG9mIHRoZSBMaWJyYXJ5IGlzIHJlc3RyaWN0ZWQgaW4KK2NlcnRhaW4gY291bnRyaWVzIGVpdGhlciBieSBwYXRlbnRzIG9yIGJ5IGNvcHlyaWdodGVkIGludGVyZmFjZXMsIHRoZQorb3JpZ2luYWwgY29weXJpZ2h0IGhvbGRlciB3aG8gcGxhY2VzIHRoZSBMaWJyYXJ5IHVuZGVyIHRoaXMgTGljZW5zZSBtYXkgYWRkCithbiBleHBsaWNpdCBnZW9ncmFwaGljYWwgZGlzdHJpYnV0aW9uIGxpbWl0YXRpb24gZXhjbHVkaW5nIHRob3NlIGNvdW50cmllcywKK3NvIHRoYXQgZGlzdHJpYnV0aW9uIGlzIHBlcm1pdHRlZCBvbmx5IGluIG9yIGFtb25nIGNvdW50cmllcyBub3QgdGh1cworZXhjbHVkZWQuICBJbiBzdWNoIGNhc2UsIHRoaXMgTGljZW5zZSBpbmNvcnBvcmF0ZXMgdGhlIGxpbWl0YXRpb24gYXMgaWYKK3dyaXR0ZW4gaW4gdGhlIGJvZHkgb2YgdGhpcyBMaWNlbnNlLgorCisgIDEzLiBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldwordmVyc2lvbnMgb2YgdGhlIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLgorU3VjaCBuZXcgdmVyc2lvbnMgd2lsbCBiZSBzaW1pbGFyIGluIHNwaXJpdCB0byB0aGUgcHJlc2VudCB2ZXJzaW9uLAorYnV0IG1heSBkaWZmZXIgaW4gZGV0YWlsIHRvIGFkZHJlc3MgbmV3IHByb2JsZW1zIG9yIGNvbmNlcm5zLgorCitFYWNoIHZlcnNpb24gaXMgZ2l2ZW4gYSBkaXN0aW5ndWlzaGluZyB2ZXJzaW9uIG51bWJlci4gIElmIHRoZSBMaWJyYXJ5CitzcGVjaWZpZXMgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGlzIExpY2Vuc2Ugd2hpY2ggYXBwbGllcyB0byBpdCBhbmQKKyJhbnkgbGF0ZXIgdmVyc2lvbiIsIHlvdSBoYXZlIHRoZSBvcHRpb24gb2YgZm9sbG93aW5nIHRoZSB0ZXJtcyBhbmQKK2NvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkKK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uICBJZiB0aGUgTGlicmFyeSBkb2VzIG5vdCBzcGVjaWZ5IGEKK2xpY2Vuc2UgdmVyc2lvbiBudW1iZXIsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkIGJ5Cit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorCisgIDE0LiBJZiB5b3Ugd2lzaCB0byBpbmNvcnBvcmF0ZSBwYXJ0cyBvZiB0aGUgTGlicmFyeSBpbnRvIG90aGVyIGZyZWUKK3Byb2dyYW1zIHdob3NlIGRpc3RyaWJ1dGlvbiBjb25kaXRpb25zIGFyZSBpbmNvbXBhdGlibGUgd2l0aCB0aGVzZSwKK3dyaXRlIHRvIHRoZSBhdXRob3IgdG8gYXNrIGZvciBwZXJtaXNzaW9uLiAgRm9yIHNvZnR3YXJlIHdoaWNoIGlzCitjb3B5cmlnaHRlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB3cml0ZSB0byB0aGUgRnJlZQorU29mdHdhcmUgRm91bmRhdGlvbjsgd2Ugc29tZXRpbWVzIG1ha2UgZXhjZXB0aW9ucyBmb3IgdGhpcy4gIE91cgorZGVjaXNpb24gd2lsbCBiZSBndWlkZWQgYnkgdGhlIHR3byBnb2FscyBvZiBwcmVzZXJ2aW5nIHRoZSBmcmVlIHN0YXR1cworb2YgYWxsIGRlcml2YXRpdmVzIG9mIG91ciBmcmVlIHNvZnR3YXJlIGFuZCBvZiBwcm9tb3RpbmcgdGhlIHNoYXJpbmcKK2FuZCByZXVzZSBvZiBzb2Z0d2FyZSBnZW5lcmFsbHkuCisKKyAgICAgICAgICAgICAgICBOTyBXQVJSQU5UWQorCisgIDE1LiBCRUNBVVNFIFRIRSBMSUJSQVJZIElTIExJQ0VOU0VEIEZSRUUgT0YgQ0hBUkdFLCBUSEVSRSBJUyBOTworV0FSUkFOVFkgRk9SIFRIRSBMSUJSQVJZLCBUTyBUSEUgRVhURU5UIFBFUk1JVFRFRCBCWSBBUFBMSUNBQkxFIExBVy4KK0VYQ0VQVCBXSEVOIE9USEVSV0lTRSBTVEFURUQgSU4gV1JJVElORyBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EL09SCitPVEhFUiBQQVJUSUVTIFBST1ZJREUgVEhFIExJQlJBUlkgIkFTIElTIiBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWQorS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCitJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKK1BVUlBPU0UuICBUSEUgRU5USVJFIFJJU0sgQVMgVE8gVEhFIFFVQUxJVFkgQU5EIFBFUkZPUk1BTkNFIE9GIFRIRQorTElCUkFSWSBJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgTElCUkFSWSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUKK1RIRSBDT1NUIE9GIEFMTCBORUNFU1NBUlkgU0VSVklDSU5HLCBSRVBBSVIgT1IgQ09SUkVDVElPTi4KKworICAxNi4gSU4gTk8gRVZFTlQgVU5MRVNTIFJFUVVJUkVEIEJZIEFQUExJQ0FCTEUgTEFXIE9SIEFHUkVFRCBUTyBJTgorV1JJVElORyBXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1BWSBNT0RJRlkKK0FORC9PUiBSRURJU1RSSUJVVEUgVEhFIExJQlJBUlkgQVMgUEVSTUlUVEVEIEFCT1ZFLCBCRSBMSUFCTEUgVE8gWU9VCitGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWSBHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SCitDT05TRVFVRU5USUFMIERBTUFHRVMgQVJJU0lORyBPVVQgT0YgVEhFIFVTRSBPUiBJTkFCSUxJVFkgVE8gVVNFIFRIRQorTElCUkFSWSAoSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBMT1NTIE9GIERBVEEgT1IgREFUQSBCRUlORworUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRCBQQVJUSUVTIE9SIEEKK0ZBSUxVUkUgT0YgVEhFIExJQlJBUlkgVE8gT1BFUkFURSBXSVRIIEFOWSBPVEhFUiBTT0ZUV0FSRSksIEVWRU4gSUYKK1NVQ0ggSE9MREVSIE9SIE9USEVSIFBBUlRZIEhBUyBCRUVOIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gKK0RBTUFHRVMuCisKKyAgICAgICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKKworICAgICAgICAgICBIb3cgdG8gQXBwbHkgVGhlc2UgVGVybXMgdG8gWW91ciBOZXcgTGlicmFyaWVzCisKKyAgSWYgeW91IGRldmVsb3AgYSBuZXcgbGlicmFyeSwgYW5kIHlvdSB3YW50IGl0IHRvIGJlIG9mIHRoZSBncmVhdGVzdAorcG9zc2libGUgdXNlIHRvIHRoZSBwdWJsaWMsIHdlIHJlY29tbWVuZCBtYWtpbmcgaXQgZnJlZSBzb2Z0d2FyZSB0aGF0CitldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UuICBZb3UgY2FuIGRvIHNvIGJ5IHBlcm1pdHRpbmcKK3JlZGlzdHJpYnV0aW9uIHVuZGVyIHRoZXNlIHRlcm1zIChvciwgYWx0ZXJuYXRpdmVseSwgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorb3JkaW5hcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSkuCisKKyAgVG8gYXBwbHkgdGhlc2UgdGVybXMsIGF0dGFjaCB0aGUgZm9sbG93aW5nIG5vdGljZXMgdG8gdGhlIGxpYnJhcnkuICBJdCBpcworc2FmZXN0IHRvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKK2NvbnZleSB0aGUgZXhjbHVzaW9uIG9mIHdhcnJhbnR5OyBhbmQgZWFjaCBmaWxlIHNob3VsZCBoYXZlIGF0IGxlYXN0IHRoZQorImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KKworICAgIDxvbmUgbGluZSB0byBnaXZlIHRoZSBsaWJyYXJ5J3MgbmFtZSBhbmQgYSBicmllZiBpZGVhIG9mIHdoYXQgaXQgZG9lcy4+CisgICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KKworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgICAgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgICAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorCitBbHNvIGFkZCBpbmZvcm1hdGlvbiBvbiBob3cgdG8gY29udGFjdCB5b3UgYnkgZWxlY3Ryb25pYyBhbmQgcGFwZXIgbWFpbC4KKworWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHlvdXIKK3NjaG9vbCwgaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIGxpYnJhcnksIGlmCituZWNlc3NhcnkuICBIZXJlIGlzIGEgc2FtcGxlOyBhbHRlciB0aGUgbmFtZXM6CisKKyAgWW95b2R5bmUsIEluYy4sIGhlcmVieSBkaXNjbGFpbXMgYWxsIGNvcHlyaWdodCBpbnRlcmVzdCBpbiB0aGUKKyAgbGlicmFyeSBgRnJvYicgKGEgbGlicmFyeSBmb3IgdHdlYWtpbmcga25vYnMpIHdyaXR0ZW4gYnkgSmFtZXMgUmFuZG9tIEhhY2tlci4KKworICA8c2lnbmF0dXJlIG9mIFR5IENvb24+LCAxIEFwcmlsIDE5OTAKKyAgVHkgQ29vbiwgUHJlc2lkZW50IG9mIFZpY2UKKworVGhhdCdzIGFsbCB0aGVyZSBpcyB0byBpdCEKKworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvVExXRyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9UTFdHCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExMjQxODQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvVExXRwpAQCAtMCwwICsxLDE1MCBAQAorVGhpcyBwYWNrYWdlIGNvbGxlY3RzIFRoYWkgc2NhbGFibGUgZm9udHMgYXZhaWxhYmxlIGluIGZyZWUgbGljZW5zZXMsIGFuZAorbWFpbnRhaW5zIGFuZCBkaXN0cmlidXRlcyB0aGVtIHVuZGVyIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHdpdGgKK29yaWdpbmFsIGF1dGhvcnMnIHBlcm1pc3Npb25zLgorCitTb21lIGZvbnRzIGNhbm5vdCBiZSBHUEwsIGJlY2F1c2UgdGhleSBhcmUgYmFzZWQgb24gZm9udHMgd2l0aCBkaWZmZXJlbnQKK2xpY2Vuc2VzLiBTZWUgdGhlIGxpc3Qgb2Ygc3VjaCBmb250cyBhdCB0aGUgZW5kIG9mIHRoaXMgZmlsZS4KKworQ29weXJpZ2h0OgorCisJLSBLaW5uYXJpOgorCisJQ29weXJpZ2h0IChDKSAxOTk5IERiIFR5cGUuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisJQ29weXJpZ2h0IChDKSAyMDA3IE5hdGlvbmFsIEVsZWN0cm9uaWNzIGFuZCBDb21wdXRlciBUZWNobm9sb2d5IENlbnRlci4KKwlBbGwgUmlnaHRzIFJlc2VydmVkLgorCisJLSBHYXJ1ZGE6CisKKwlHZW5lcmF0ZWQgYnkgTkVDVEVDIGZvciBQdWJsaWMgRG9tYWluLgorCU1vZGlmaWVkIHVuZGVyIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGJ5IFRMV0cuCisKKwktIE5vcmFzaToKKworCUNvcHlyaWdodCAoQykgMTk5OSwgVGhlIE5hdGlvbmFsIEZvbnQgUHJvamVjdCAodi5iZXRhKS4gCisJWWFubmlzIEhhcmFsYW1ib3VzLCBWaXJhY2ggU29ybmxlcnRsYW12YW5pY2ggYW5kIEFudXRhcmEgVGFudHJhcG9ybi4KKwlBbGwgcmlnaHRzIHJlc2VydmVkLgorCU1vZGlmaWVkIHVuZGVyIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCB3aXRoIGNyZWF0b3JzJyBwZXJtaXNzaW9uLAorCWJ5IFRoYWkgTGludXggV29ya2luZyBHcm91cCAoVExXRykuCisKKwktIExvbWE6CisKKwlDb3B5cmlnaHQgKEMpIDIwMDMsIE5FQ1RFQy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworCS0gVGx3Z01vbm86CisKKwlDb3B5cmlnaHQgKEMpIDIwMDMgUG9vbmxhcCBWZWVyYXRoYW5hYnV0ciA8cG9vbmxhcEBsaW51eC50aGFpLm5ldD4KKworCS0gVGx3ZyBUeXBld3JpdGVyOgorCisJQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA0IFBvb25sYXAgVmVlcmF0aGFuYWJ1dHIgPHBvb25sYXBAbGludXgudGhhaS5uZXQ+CisKKwktIFRsd2cgVHlwaXN0OgorCisJVGx3ZyBUeXBpc3QsIGJhc2VkIG9uIFBvb25sYXAgVmVlcmF0aGFuYWJ1dHIncyBUbHdnIFR5cGV3cml0ZXIuCisKKwlDb3B5cmlnaHQgKEMpIDIwMDUtMjAwNiBUaGVwcGl0YWsgS2Fyb29uYm9vbnlhbmFuLiBUbHdnIFR5cGV3cml0ZXIsCisJRnJlZSBUaGFpIFBzZXVkbyBNb25vc3BhY2Ugb3V0bGluZSBmb250LgorCisJQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA0IFBvb25sYXAgVmVlcmF0aGFuYWJ1dHIgPHBvb25sYXBAbGludXgudGhhaS5uZXQ+CisKKwktIFB1cmlzYToKKworCUNvcHlyaWdodCAoQykgMjAwMywgMjAwNCBQb29ubGFwIFZlZXJhdGhhbmFidXRyIAorCTxwb29ubGFwQGxpbnV4LnRoYWkubmV0PiwgR1BMIGxpY2Vuc2UKKworCS0gU2F3YXNkZWU6CisKKwlDb3B5cmlnaHQgKEMpIDIwMDcgUG9sIFVkb213aXR0YXlhbnVrdWwgPHdlYm5haXBvbEBnbWFpbC5jb20+LgorCUFsbCByaWdodHMgcmVzZXJ2ZWQuCisKKwktIFVtcHVzaDoKKworCUNvcHlyaWdodCAoQykgMjAwMyBORUNURUMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisJQ29weXJpZ2h0IChjKSAyMDA3IFdpZGhheWEgVHJpc2FybndhZGhhbmEgPHdpZGhheWEzQGdtYWlsLmNvbT4uCisJQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworTGljZW5zZToKKworCVRoaXMgZm9udCBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisJdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCisJRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91cgorCW9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKwlUaGlzIGZvbnQgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisJV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorCU1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisJR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisJWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKwlhbG9uZyB3aXRoIHRoaXMgZm9udDsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAorCUluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisKKwlBcyBhIHNwZWNpYWwgZXhjZXB0aW9uLCBpZiB5b3UgY3JlYXRlIGEgZG9jdW1lbnQgd2hpY2ggdXNlcyB0aGlzIGZvbnQsCisJYW5kIGVtYmVkIHRoaXMgZm9udCBvciB1bmFsdGVyZWQgcG9ydGlvbnMgb2YgdGhpcyBmb250IGludG8gdGhlCisJZG9jdW1lbnQsIHRoaXMgZm9udCBkb2VzIG5vdCBieSBpdHNlbGYgY2F1c2UgdGhlIHJlc3VsdGluZyBkb2N1bWVudAorCXRvIGJlIGNvdmVyZWQgYnkgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiBUaGlzIGV4Y2VwdGlvbiBkb2VzCisJbm90IGhvd2V2ZXIgaW52YWxpZGF0ZSBhbnkgb3RoZXIgcmVhc29ucyB3aHkgdGhlIGRvY3VtZW50IG1pZ2h0IGJlCisJY292ZXJlZCBieSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuIElmIHlvdSBtb2RpZnkgdGhpcyBmb250LAorCXlvdSBtYXkgZXh0ZW5kIHRoaXMgZXhjZXB0aW9uIHRvIHlvdXIgdmVyc2lvbiBvZiB0aGUgZm9udCwgYnV0IHlvdQorCWFyZSBub3Qgb2JsaWdhdGVkIHRvIGRvIHNvLiBJZiB5b3UgZG8gbm90IHdpc2ggdG8gZG8gc28sIGRlbGV0ZSB0aGlzCisJZXhjZXB0aW9uIHN0YXRlbWVudCBmcm9tIHlvdXIgdmVyc2lvbi4KKworU2VlIGluY2x1ZGVkIEdQTCBmaWxlIGZvciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCkgdGVybXMuCisKKworKiBOb24tR1BMIEZvbnRzOgorCistIFdhcmVlOgorCitDb3B5cmlnaHQ6CisKKwlDb3B5cmlnaHQgKEMpIDIwMDMgYnkgQml0c3RyZWFtLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisJVExXRyBjaGFuZ2VzIGFyZSBpbiBwdWJsaWMgZG9tYWluLgorCisJQml0c3RyZWFtIFZlcmEgaXMgYSB0cmFkZW1hcmsgb2YgQml0c3RyZWFtLCBJbmMuCisKK0xpY2Vuc2U6CisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcKKwlhIGNvcHkgb2YgdGhlIGZvbnRzIGFjY29tcGFueWluZyB0aGlzIGxpY2Vuc2UgKCJGb250cyIpIGFuZCBhc3NvY2lhdGVkCisJZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJGb250IFNvZnR3YXJlIiksIHRvIHJlcHJvZHVjZSBhbmQgZGlzdHJpYnV0ZQorCXRoZSBGb250IFNvZnR3YXJlLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLAorCWNvcHksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIEZvbnQKKwlTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIEZvbnQgU29mdHdhcmUgaXMgZnVybmlzaGVkCisJdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorCisJVGhlIGFib3ZlIGNvcHlyaWdodCBhbmQgdHJhZGVtYXJrIG5vdGljZXMgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UKKwlzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9mIG9uZSBvciBtb3JlIG9mIHRoZSBGb250IFNvZnR3YXJlCisJdHlwZWZhY2VzLgorCisJVGhlIEZvbnQgU29mdHdhcmUgbWF5IGJlIG1vZGlmaWVkLCBhbHRlcmVkLCBvciBhZGRlZCB0bywgYW5kIGluCisJcGFydGljdWxhciB0aGUgZGVzaWducyBvZiBnbHlwaHMgb3IgY2hhcmFjdGVycyBpbiB0aGUgRm9udHMgbWF5IGJlCisJbW9kaWZpZWQgYW5kIGFkZGl0aW9uYWwgZ2x5cGhzIG9yIGNoYXJhY3RlcnMgbWF5IGJlIGFkZGVkIHRvIHRoZQorCUZvbnRzLCBvbmx5IGlmIHRoZSBmb250cyBhcmUgcmVuYW1lZCB0byBuYW1lcyBub3QgY29udGFpbmluZyBlaXRoZXIKKwl0aGUgd29yZHMgIkJpdHN0cmVhbSIgb3IgdGhlIHdvcmQgIlZlcmEiLgorCisJVGhpcyBMaWNlbnNlIGJlY29tZXMgbnVsbCBhbmQgdm9pZCB0byB0aGUgZXh0ZW50IGFwcGxpY2FibGUgdG8gRm9udHMKKwlvciBGb250IFNvZnR3YXJlIHRoYXQgaGFzIGJlZW4gbW9kaWZpZWQgYW5kIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZQorCSJCaXRzdHJlYW0gVmVyYSIgbmFtZXMuCisKKwlUaGUgRm9udCBTb2Z0d2FyZSBtYXkgYmUgc29sZCBhcyBwYXJ0IG9mIGEgbGFyZ2VyIHNvZnR3YXJlIHBhY2thZ2UKKwlidXQgbm8gY29weSBvZiBvbmUgb3IgbW9yZSBvZiB0aGUgRm9udCBTb2Z0d2FyZSB0eXBlZmFjZXMgbWF5IGJlIHNvbGQKKwlieSBpdHNlbGYuCisKKwlUSEUgRk9OVCBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorCUVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBBTlkgV0FSUkFOVElFUyBPRgorCU1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVAorCU9GIENPUFlSSUdIVCwgUEFURU5ULCBUUkFERU1BUkssIE9SIE9USEVSIFJJR0hULiBJTiBOTyBFVkVOVCBTSEFMTAorCUJJVFNUUkVBTSBPUiBUSEUgR05PTUUgRk9VTkRBVElPTiBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUgorCU9USEVSIExJQUJJTElUWSwgSU5DTFVESU5HIEFOWSBHRU5FUkFMLCBTUEVDSUFMLCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKwlPUiBDT05TRVFVRU5USUFMIERBTUFHRVMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SCisJT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBUSEUgVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIEZPTlQKKwlTT0ZUV0FSRSBPUiBGUk9NIE9USEVSIERFQUxJTkdTIElOIFRIRSBGT05UIFNPRlRXQVJFLgorCisJRXhjZXB0IGFzIGNvbnRhaW5lZCBpbiB0aGlzIG5vdGljZSwgdGhlIG5hbWVzIG9mIEdub21lLCB0aGUgR25vbWUKKwlGb3VuZGF0aW9uLCBhbmQgQml0c3RyZWFtIEluYy4sIHNoYWxsIG5vdCBiZSB1c2VkIGluIGFkdmVydGlzaW5nIG9yCisJb3RoZXJ3aXNlIHRvIHByb21vdGUgdGhlIHNhbGUsIHVzZSBvciBvdGhlciBkZWFsaW5ncyBpbiB0aGlzIEZvbnQKKwlTb2Z0d2FyZSB3aXRob3V0IHByaW9yIHdyaXR0ZW4gYXV0aG9yaXphdGlvbiBmcm9tIHRoZSBHbm9tZSBGb3VuZGF0aW9uCisJb3IgQml0c3RyZWFtIEluYy4sIHJlc3BlY3RpdmVseS4gRm9yIGZ1cnRoZXIgaW5mb3JtYXRpb24sIGNvbnRhY3Q6CisJZm9udHMgYXQgZ25vbWUgZG90IG9yZy4gCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9mbGl0ZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9mbGl0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MWU2N2ZkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL2ZsaXRlCkBAIC0wLDAgKzEsMzIgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgICAgICAgICAgICAgIExhbmd1YWdlIFRlY2hub2xvZ2llcyBJbnN0aXR1dGUgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qICAgICAgICAgICAgICAgICAgICAgQ2FybmVnaWUgTWVsbG9uIFVuaXZlcnNpdHkgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0IChjKSAxOTk5LTIwMDkgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgIEFsbCBSaWdodHMgUmVzZXJ2ZWQuICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byB1c2UgYW5kIGRpc3RyaWJ1dGUgICovCisvKiAgdGhpcyBzb2Z0d2FyZSBhbmQgaXRzIGRvY3VtZW50YXRpb24gd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nICAgKi8KKy8qICB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsICAqLworLyogIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGlzIHdvcmssIGFuZCB0byAgICAgICovCisvKiAgcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGlzIHdvcmsgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvICAgKi8KKy8qICB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAxLiBUaGUgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mICAgICovCisvKiAgICAgIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qICAgMi4gQW55IG1vZGlmaWNhdGlvbnMgbXVzdCBiZSBjbGVhcmx5IG1hcmtlZCBhcyBzdWNoLiAgICAgICAgICAgICAgICAqLworLyogICAzLiBPcmlnaW5hbCBhdXRob3JzJyBuYW1lcyBhcmUgbm90IGRlbGV0ZWQuICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgIDQuIFRoZSBhdXRob3JzJyBuYW1lcyBhcmUgbm90IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzICAgKi8KKy8qICAgICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuICAgICAgICAqLworLyogICAgICBwZXJtaXNzaW9uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qICBDQVJORUdJRSBNRUxMT04gVU5JVkVSU0lUWSBBTkQgVEhFIENPTlRSSUJVVE9SUyBUTyBUSElTIFdPUksgICAgICAgICAqLworLyogIERJU0NMQUlNIEFMTCBXQVJSQU5USUVTIFdJVEggUkVHQVJEIFRPIFRISVMgU09GVFdBUkUsIElOQ0xVRElORyAgICAgICovCisvKiAgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MsIElOIE5PIEVWRU5UICAgKi8KKy8qICBTSEFMTCBDQVJORUdJRSBNRUxMT04gVU5JVkVSU0lUWSBOT1IgVEhFIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgICAgICAqLworLyogIEZPUiBBTlkgU1BFQ0lBTCwgSU5ESVJFQ1QgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTICAgICovCisvKiAgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOICAgKi8KKy8qICBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCAgICAgICAgICAqLworLyogIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GICAgICAgICovCisvKiAgVEhJUyBTT0ZUV0FSRS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvZ251cGxvdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9nbnVwbG90Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmNmZlMjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvZ251cGxvdApAQCAtMCwwICsxLDI5IEBACisvKlsKKyAqIENvcHlyaWdodCAxOTg2IC0gMTk5MywgMTk5OCwgMjAwNCAgIFRob21hcyBXaWxsaWFtcywgQ29saW4gS2VsbGV5CisgKgorICogUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgYW5kIGl0cworICogZG9jdW1lbnRhdGlvbiBmb3IgYW55IHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZCwKKyAqIHByb3ZpZGVkIHRoYXQgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYXBwZWFyIGluIGFsbCBjb3BpZXMgYW5kCisgKiB0aGF0IGJvdGggdGhhdCBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIGFwcGVhcgorICogaW4gc3VwcG9ydGluZyBkb2N1bWVudGF0aW9uLgorICoKKyAqIFBlcm1pc3Npb24gdG8gbW9kaWZ5IHRoZSBzb2Z0d2FyZSBpcyBncmFudGVkLCBidXQgbm90IHRoZSByaWdodCB0bworICogZGlzdHJpYnV0ZSB0aGUgY29tcGxldGUgbW9kaWZpZWQgc291cmNlIGNvZGUuICBNb2RpZmljYXRpb25zIGFyZSB0bworICogYmUgZGlzdHJpYnV0ZWQgYXMgcGF0Y2hlcyB0byB0aGUgcmVsZWFzZWQgdmVyc2lvbi4gIFBlcm1pc3Npb24gdG8KKyAqIGRpc3RyaWJ1dGUgYmluYXJpZXMgcHJvZHVjZWQgYnkgY29tcGlsaW5nIG1vZGlmaWVkIHNvdXJjZXMgaXMgZ3JhbnRlZCwKKyAqIHByb3ZpZGVkIHlvdQorICogICAxLiBkaXN0cmlidXRlIHRoZSBjb3JyZXNwb25kaW5nIHNvdXJjZSBtb2RpZmljYXRpb25zIGZyb20gdGhlCisgKiAgICByZWxlYXNlZCB2ZXJzaW9uIGluIHRoZSBmb3JtIG9mIGEgcGF0Y2ggZmlsZSBhbG9uZyB3aXRoIHRoZSBiaW5hcmllcywKKyAqICAgMi4gYWRkIHNwZWNpYWwgdmVyc2lvbiBpZGVudGlmaWNhdGlvbiB0byBkaXN0aW5ndWlzaCB5b3VyIHZlcnNpb24KKyAqICAgIGluIGFkZGl0aW9uIHRvIHRoZSBiYXNlIHJlbGVhc2UgdmVyc2lvbiBudW1iZXIsCisgKiAgIDMuIHByb3ZpZGUgeW91ciBuYW1lIGFuZCBhZGRyZXNzIGFzIHRoZSBwcmltYXJ5IGNvbnRhY3QgZm9yIHRoZQorICogICAgc3VwcG9ydCBvZiB5b3VyIG1vZGlmaWVkIHZlcnNpb24sIGFuZAorICogICA0LiByZXRhaW4gb3VyIGNvbnRhY3QgaW5mb3JtYXRpb24gaW4gcmVnYXJkIHRvIHVzZSBvZiB0aGUgYmFzZQorICogICAgc29mdHdhcmUuCisgKiBQZXJtaXNzaW9uIHRvIGRpc3RyaWJ1dGUgdGhlIHJlbGVhc2VkIHZlcnNpb24gb2YgdGhlIHNvdXJjZSBjb2RlIGFsb25nCisgKiB3aXRoIGNvcnJlc3BvbmRpbmcgc291cmNlIG1vZGlmaWNhdGlvbnMgaW4gdGhlIGZvcm0gb2YgYSBwYXRjaCBmaWxlIGlzCisgKiBncmFudGVkIHdpdGggc2FtZSBwcm92aXNpb25zIDIgdGhyb3VnaCA0IGZvciBiaW5hcnkgZGlzdHJpYnV0aW9ucy4KKyAqCisgKiBUaGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkICJhcyBpcyIgd2l0aG91dCBleHByZXNzIG9yIGltcGxpZWQgd2FycmFudHkKKyAqIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGFwcGxpY2FibGUgbGF3LgorXSovCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvaW96b25lMyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9pb3pvbmUzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0NjhmYTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvaW96b25lMwpAQCAtMCwwICsxLDYyIEBACitMSUNFTlNFOgorCisgQ29weXJpZ2h0IDE5OTEsIDE5OTIsIDE5OTQsIDE5OTgsIDE5OTksIDIwMDIgICBXaWxsaWFtIEQuIE5vcmNvdHQKKworIExpY2Vuc2UgdG8gZnJlZWx5IHVzZSBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGlzIGhlcmVieSBncmFudGVkIAorIGJ5IHRoZSBhdXRob3IsIHN1YmplY3QgdG8gdGhlIGNvbmRpdGlvbiB0aGF0IHRoaXMgY29weXJpZ2h0IG5vdGljZSAKKyByZW1haW5zIGludGFjdC4gIFRoZSBhdXRob3IgcmV0YWlucyB0aGUgZXhjbHVzaXZlIHJpZ2h0IHRvIHB1Ymxpc2ggCisgZGVyaXZhdGl2ZSB3b3JrcyBiYXNlZCBvbiB0aGlzIHdvcmssIGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvCisgcmV2aXNlZCB2ZXJzaW9ucyBvZiB0aGlzIHdvcmsuCisKKworCitCZWxvdyBpcyBhdXRob3IgcmVwbHkgdG8gcXVlc3Rpb24gYWJvdXQgZGlzdHJpYnV0aW5nIGlvem9uZTMgaW4KK09wZW5FbWJlZGRlZDoKKworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK01hcmNpbiwKKworICAgICAgICBSZS1kaXN0cmlidXRpb24gaXMgcGVybWl0dGVkIGFzIGxvbmcgYXMgdGhlIGNvcHlyaWdodCBpcworICAgIG1haW50YWluZWQgYW5kIHRoZSBzb3VyY2UgY29kZSBpcyBub3QgY2hhbmdlZC4gSSBkbyBub3QKKyAgICBzZWUgYSBwcm9ibGVtIHdpdGggeW91ciBtb2RzIHRvIGVuYWJsZSBmaWxlb3AgZm9yIExpbnV4LWFybSwKKyAgICBhcyB0aGVzZSBtb2RzIGhhdmUgYmVlbiByZXR1cm5lZCB0byB0aGUgSW96b25lIGZvbGtzLAorICAgIGFuZCB0aGV5IGhhdmUgYmVlbiBhY2NlcHRlZCBmb3IgaW5jbHVzaW9uIGluIHRoZSBuZXh0CisgICAgcmVsZWFzZSA6LSkKKworVGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiwKK0RvbiBDYXBwcworCistLS0tLSBPcmlnaW5hbCBNZXNzYWdlIC0tLS0tIAorRnJvbTogIk1hcmNpbiBKdXN6a2lld2ljeiIgPGZpcm1hQGhydy5vbmUucGw+CitUbzogIkRvbiBDYXBwcyIgPGRvbi5jYXBwczJAdmVyaXpvbi5uZXQ+OyAiV2lsbGlhbSBELiBOb3Jjb3R0IiAKKzx3bm9yY290dEB1cy5vcmFjbGUuY29tPgorU2VudDogU3VuZGF5LCBPY3RvYmVyIDI5LCAyMDA2IDQ6NTUgUE0KK1N1YmplY3Q6IGlvem9uZTMgMjYzIHBhdGNoIGZvciBhcm0gYW5kIExpY2Vuc2UgcXVlc3Rpb24KKworCis+IE1vcm5pbmcKKz4KKz4gSSB3YW50IHRvIGluY2x1ZGUgaW96b25lMyBpbiBPcGVuRW1iZWRkZWQgWzFdIG1ldGFkYXRhIHRvIGdpdmUgaXQgZm9yCis+IG90aGVyIGRldmVsb3BlcnMuIEN1cnJlbnRseSBPRSBpcyB1c2VkIHRvIGJ1aWxkIGZldyBkaXN0cmlidXRpb25zIGZvcgorPiBtaXNjIHBsYXRmb3JtczogQVJNLCBTSDMsIFNINCwgeDg2LCBQb3dlclBDIGFuZCBkaWZmZXJlbnQgdHlwZXMgb2YKKz4gbWFjaGluZXMgKFBEQSwgc2V0dG9wYm94LCBkZXZib2FyZHMsIGRlc2t0b3BzLCB0aGluIGNsaWVudHMsIHJvdXRlcnMpLgorPgorPiBBY2NvcmRpbmcgdG8geW91ciBkaXN0cmlidXRpb24gb2YgZGVyaXZhdGlvbnMgaXMgZm9yYmlkZGVuLiBQYWNrYWdpbmcKKz4gaW96b25lMyBpbiBPcGVuRW1iZWRkZWQgd2lsbCBub3QgaW52b2x2ZSBhbnkgc291cmNlIGNvZGUgY2hhbmdlcy4gQnV0Cis+IHdoZW4gSSB3YXMgYnVpbGRpbmcgaXQgZm9yIEFSTSBJIGRpc2NvdmVyZWQgdGhhdCBmaWxlb3AgYmluYXJ5IHdhcyBub3QKKz4gYnVpbHQgLSBzbyBJIGNyZWF0ZWQgcGF0Y2ggZm9yIGl0IChhdHRhY2hlZCkuIE5vdCB5ZXQgdGVzdGVkIGl0IG9uIHRhcmdldAorPiBkZXZpY2UuCis+Cis+IFRodXMsIEkgc2VlayB5b3VyIHdyaXR0ZW4gcGVybWlzc2lvbiB2aWEgZS1tYWlsIHRvIGRpc3RyaWJ1dGUgYSBwYWNrYWdlIG9mCis+IHRoZSB1bm1vZGlmaWVkIHNvdXJjZSBjb2RlIGFuZCBhbHNvIGEgcGFja2FnZSBvZiB0aGUgcHJlLWNvbXBpbGVkIGJpbmFyeS4KKz4gWW91ciBjb3B5cmlnaHQgc3RhdGVtZW50IHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhlIHBhY2thZ2UuCis+Cis+Cis+IDEuIGh0dHA6Ly93d3cub3BlbmVtYmVkZGVkLm9yZy8KKz4KKz4gUmVnYXJkcworPiAtLSAKKz4gSklEOiBocnctamFiYmVyLm9yZworPiBPcGVuRW1iZWRkZWQgZGV2ZWxvcGVyL2NvbnN1bHRhbnQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL25iZW5jaC1ieXRlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL25iZW5jaC1ieXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlNDdiYTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvbmJlbmNoLWJ5dGUKQEAgLTAsMCArMSwxMCBAQAorVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKK0lNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKK09GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCitJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCitJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKK05PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKK0RBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCitUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL3VuUkFSIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL3VuUkFSCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmNzhiNzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvdW5SQVIKQEAgLTAsMCArMSw0MSBAQAorICoqKioqKiAgICAqKioqKiAgICoqKioqKiAgIHVuUkFSIC0gZnJlZSB1dGlsaXR5IGZvciBSQVIgYXJjaGl2ZXMKKyAqKiAgICoqICAqKiAgICoqICAqKiAgICoqICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgKioqKioqICAgKioqKioqKiAgKioqKioqICAgIExpY2Vuc2UgZm9yIHVzZSBhbmQgZGlzdHJpYnV0aW9uIG9mCisgKiogICAqKiAgKiogICAqKiAgKiogICAqKiAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgKiogICAqKiAgKiogICAqKiAgKiogICAqKiAgICAgICAgIEZSRUUgcG9ydGFibGUgdmVyc2lvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKworICAgICAgVGhlIHNvdXJjZSBjb2RlIG9mIHVuUkFSIHV0aWxpdHkgaXMgZnJlZXdhcmUuIFRoaXMgbWVhbnM6CisKKyAgIDEuIEFsbCBjb3B5cmlnaHRzIHRvIFJBUiBhbmQgdGhlIHV0aWxpdHkgdW5SQVIgYXJlIGV4Y2x1c2l2ZWx5CisgICAgICBvd25lZCBieSB0aGUgYXV0aG9yIC0gQWxleGFuZGVyIFJvc2hhbC4KKworICAgMi4gVGhlIHVuUkFSIHNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gYW55IHNvZnR3YXJlIHRvIGhhbmRsZSBSQVIKKyAgICAgIGFyY2hpdmVzIHdpdGhvdXQgbGltaXRhdGlvbnMgZnJlZSBvZiBjaGFyZ2UsIGJ1dCBjYW5ub3QgYmUgdXNlZAorICAgICAgdG8gcmUtY3JlYXRlIHRoZSBSQVIgY29tcHJlc3Npb24gYWxnb3JpdGhtLCB3aGljaCBpcyBwcm9wcmlldGFyeS4KKyAgICAgIERpc3RyaWJ1dGlvbiBvZiBtb2RpZmllZCB1blJBUiBzb3VyY2VzIGluIHNlcGFyYXRlIGZvcm0gb3IgYXMgYQorICAgICAgcGFydCBvZiBvdGhlciBzb2Z0d2FyZSBpcyBwZXJtaXR0ZWQsIHByb3ZpZGVkIHRoYXQgaXQgaXMgY2xlYXJseQorICAgICAgc3RhdGVkIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZCBzb3VyY2UgY29tbWVudHMgdGhhdCB0aGUgY29kZSBtYXkKKyAgICAgIG5vdCBiZSB1c2VkIHRvIGRldmVsb3AgYSBSQVIgKFdpblJBUikgY29tcGF0aWJsZSBhcmNoaXZlci4KKworICAgMy4gVGhlIHVuUkFSIHV0aWxpdHkgbWF5IGJlIGZyZWVseSBkaXN0cmlidXRlZC4gTm8gcGVyc29uIG9yIGNvbXBhbnkgCisgICAgICBtYXkgY2hhcmdlIGEgZmVlIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHVuUkFSIHdpdGhvdXQgd3JpdHRlbgorICAgICAgcGVybWlzc2lvbiBmcm9tIHRoZSBjb3B5cmlnaHQgaG9sZGVyLgorCisgICA0LiBUSEUgUkFSIEFSQ0hJVkVSIEFORCBUSEUgVU5SQVIgVVRJTElUWSBBUkUgRElTVFJJQlVURUQgIkFTIElTIi4KKyAgICAgIE5PIFdBUlJBTlRZIE9GIEFOWSBLSU5EIElTIEVYUFJFU1NFRCBPUiBJTVBMSUVELiAgWU9VIFVTRSBBVCAKKyAgICAgIFlPVVIgT1dOIFJJU0suIFRIRSBBVVRIT1IgV0lMTCBOT1QgQkUgTElBQkxFIEZPUiBEQVRBIExPU1MsIAorICAgICAgREFNQUdFUywgTE9TUyBPRiBQUk9GSVRTIE9SIEFOWSBPVEhFUiBLSU5EIE9GIExPU1MgV0hJTEUgVVNJTkcKKyAgICAgIE9SIE1JU1VTSU5HIFRISVMgU09GVFdBUkUuCisKKyAgIDUuIEluc3RhbGxpbmcgYW5kIHVzaW5nIHRoZSB1blJBUiB1dGlsaXR5IHNpZ25pZmllcyBhY2NlcHRhbmNlIG9mCisgICAgICB0aGVzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgbGljZW5zZS4KKworICAgNi4gSWYgeW91IGRvbid0IGFncmVlIHdpdGggdGVybXMgb2YgdGhlIGxpY2Vuc2UgeW91IG11c3QgcmVtb3ZlCisgICAgICB1blJBUiBmaWxlcyBmcm9tIHlvdXIgc3RvcmFnZSBkZXZpY2VzIGFuZCBjZWFzZSB0byB1c2UgdGhlCisgICAgICB1dGlsaXR5LgorCisgICAgICBUaGFuayB5b3UgZm9yIHlvdXIgaW50ZXJlc3QgaW4gUkFSIGFuZCB1blJBUi4KKworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFsZXhhbmRlciBMLiBSb3NoYWwKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvdmltIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL3ZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YWE4MThlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL3ZpbQpAQCAtMCwwICsxLDgxIEBACitWSU0gTElDRU5TRQorCitJKSAgVGhlcmUgYXJlIG5vIHJlc3RyaWN0aW9ucyBvbiBkaXN0cmlidXRpbmcgdW5tb2RpZmllZCBjb3BpZXMgb2YgVmltIGV4Y2VwdAorICAgIHRoYXQgdGhleSBtdXN0IGluY2x1ZGUgdGhpcyBsaWNlbnNlIHRleHQuICBZb3UgY2FuIGFsc28gZGlzdHJpYnV0ZQorICAgIHVubW9kaWZpZWQgcGFydHMgb2YgVmltLCBsaWtld2lzZSB1bnJlc3RyaWN0ZWQgZXhjZXB0IHRoYXQgdGhleSBtdXN0CisgICAgaW5jbHVkZSB0aGlzIGxpY2Vuc2UgdGV4dC4gIFlvdSBhcmUgYWxzbyBhbGxvd2VkIHRvIGluY2x1ZGUgZXhlY3V0YWJsZXMKKyAgICB0aGF0IHlvdSBtYWRlIGZyb20gdGhlIHVubW9kaWZpZWQgVmltIHNvdXJjZXMsIHBsdXMgeW91ciBvd24gdXNhZ2UKKyAgICBleGFtcGxlcyBhbmQgVmltIHNjcmlwdHMuCisKK0lJKSBJdCBpcyBhbGxvd2VkIHRvIGRpc3RyaWJ1dGUgYSBtb2RpZmllZCAob3IgZXh0ZW5kZWQpIHZlcnNpb24gb2YgVmltLAorICAgIGluY2x1ZGluZyBleGVjdXRhYmxlcyBhbmQvb3Igc291cmNlIGNvZGUsIHdoZW4gdGhlIGZvbGxvd2luZyBmb3VyCisgICAgY29uZGl0aW9ucyBhcmUgbWV0OgorICAgIDEpIFRoaXMgbGljZW5zZSB0ZXh0IG11c3QgYmUgaW5jbHVkZWQgdW5tb2RpZmllZC4KKyAgICAyKSBUaGUgbW9kaWZpZWQgVmltIG11c3QgYmUgZGlzdHJpYnV0ZWQgaW4gb25lIG9mIHRoZSBmb2xsb3dpbmcgZml2ZSB3YXlzOgorICAgICAgIGEpIElmIHlvdSBtYWtlIGNoYW5nZXMgdG8gVmltIHlvdXJzZWxmLCB5b3UgbXVzdCBjbGVhcmx5IGRlc2NyaWJlIGluCisJICB0aGUgZGlzdHJpYnV0aW9uIGhvdyB0byBjb250YWN0IHlvdS4gIFdoZW4gdGhlIG1haW50YWluZXIgYXNrcyB5b3UKKwkgIChpbiBhbnkgd2F5KSBmb3IgYSBjb3B5IG9mIHRoZSBtb2RpZmllZCBWaW0geW91IGRpc3RyaWJ1dGVkLCB5b3UKKwkgIG11c3QgbWFrZSB5b3VyIGNoYW5nZXMsIGluY2x1ZGluZyBzb3VyY2UgY29kZSwgYXZhaWxhYmxlIHRvIHRoZQorCSAgbWFpbnRhaW5lciB3aXRob3V0IGZlZS4gIFRoZSBtYWludGFpbmVyIHJlc2VydmVzIHRoZSByaWdodCB0bworCSAgaW5jbHVkZSB5b3VyIGNoYW5nZXMgaW4gdGhlIG9mZmljaWFsIHZlcnNpb24gb2YgVmltLiAgV2hhdCB0aGUKKwkgIG1haW50YWluZXIgd2lsbCBkbyB3aXRoIHlvdXIgY2hhbmdlcyBhbmQgdW5kZXIgd2hhdCBsaWNlbnNlIHRoZXkKKwkgIHdpbGwgYmUgZGlzdHJpYnV0ZWQgaXMgbmVnb3RpYWJsZS4gIElmIHRoZXJlIGhhcyBiZWVuIG5vIG5lZ290aWF0aW9uCisJICB0aGVuIHRoaXMgbGljZW5zZSwgb3IgYSBsYXRlciB2ZXJzaW9uLCBhbHNvIGFwcGxpZXMgdG8geW91ciBjaGFuZ2VzLgorCSAgVGhlIGN1cnJlbnQgbWFpbnRhaW5lciBpcyBCcmFtIE1vb2xlbmFhciA8QnJhbUB2aW0ub3JnPi4gIElmIHRoaXMKKwkgIGNoYW5nZXMgaXQgd2lsbCBiZSBhbm5vdW5jZWQgaW4gYXBwcm9wcmlhdGUgcGxhY2VzIChtb3N0IGxpa2VseQorCSAgdmltLnNmLm5ldCwgd3d3LnZpbS5vcmcgYW5kL29yIGNvbXAuZWRpdG9ycykuICBXaGVuIGl0IGlzIGNvbXBsZXRlbHkKKwkgIGltcG9zc2libGUgdG8gY29udGFjdCB0aGUgbWFpbnRhaW5lciwgdGhlIG9ibGlnYXRpb24gdG8gc2VuZCBoaW0KKwkgIHlvdXIgY2hhbmdlcyBjZWFzZXMuICBPbmNlIHRoZSBtYWludGFpbmVyIGhhcyBjb25maXJtZWQgdGhhdCBoZSBoYXMKKwkgIHJlY2VpdmVkIHlvdXIgY2hhbmdlcyB0aGV5IHdpbGwgbm90IGhhdmUgdG8gYmUgc2VudCBhZ2Fpbi4KKyAgICAgICBiKSBJZiB5b3UgaGF2ZSByZWNlaXZlZCBhIG1vZGlmaWVkIFZpbSB0aGF0IHdhcyBkaXN0cmlidXRlZCBhcworCSAgbWVudGlvbmVkIHVuZGVyIGEpIHlvdSBhcmUgYWxsb3dlZCB0byBmdXJ0aGVyIGRpc3RyaWJ1dGUgaXQKKwkgIHVubW9kaWZpZWQsIGFzIG1lbnRpb25lZCBhdCBJKS4gIElmIHlvdSBtYWtlIGFkZGl0aW9uYWwgY2hhbmdlcyB0aGUKKwkgIHRleHQgdW5kZXIgYSkgYXBwbGllcyB0byB0aG9zZSBjaGFuZ2VzLgorICAgICAgIGMpIFByb3ZpZGUgYWxsIHRoZSBjaGFuZ2VzLCBpbmNsdWRpbmcgc291cmNlIGNvZGUsIHdpdGggZXZlcnkgY29weSBvZgorCSAgdGhlIG1vZGlmaWVkIFZpbSB5b3UgZGlzdHJpYnV0ZS4gIFRoaXMgbWF5IGJlIGRvbmUgaW4gdGhlIGZvcm0gb2YgYQorCSAgY29udGV4dCBkaWZmLiAgWW91IGNhbiBjaG9vc2Ugd2hhdCBsaWNlbnNlIHRvIHVzZSBmb3IgbmV3IGNvZGUgeW91CisJICBhZGQuICBUaGUgY2hhbmdlcyBhbmQgdGhlaXIgbGljZW5zZSBtdXN0IG5vdCByZXN0cmljdCBvdGhlcnMgZnJvbQorCSAgbWFraW5nIHRoZWlyIG93biBjaGFuZ2VzIHRvIHRoZSBvZmZpY2lhbCB2ZXJzaW9uIG9mIFZpbS4KKyAgICAgICBkKSBXaGVuIHlvdSBoYXZlIGEgbW9kaWZpZWQgVmltIHdoaWNoIGluY2x1ZGVzIGNoYW5nZXMgYXMgbWVudGlvbmVkCisJICB1bmRlciBjKSwgeW91IGNhbiBkaXN0cmlidXRlIGl0IHdpdGhvdXQgdGhlIHNvdXJjZSBjb2RlIGZvciB0aGUKKwkgIGNoYW5nZXMgaWYgdGhlIGZvbGxvd2luZyB0aHJlZSBjb25kaXRpb25zIGFyZSBtZXQ6CisJICAtIFRoZSBsaWNlbnNlIHRoYXQgYXBwbGllcyB0byB0aGUgY2hhbmdlcyBwZXJtaXRzIHlvdSB0byBkaXN0cmlidXRlCisJICAgIHRoZSBjaGFuZ2VzIHRvIHRoZSBWaW0gbWFpbnRhaW5lciB3aXRob3V0IGZlZSBvciByZXN0cmljdGlvbiwgYW5kCisJICAgIHBlcm1pdHMgdGhlIFZpbSBtYWludGFpbmVyIHRvIGluY2x1ZGUgdGhlIGNoYW5nZXMgaW4gdGhlIG9mZmljaWFsCisJICAgIHZlcnNpb24gb2YgVmltIHdpdGhvdXQgZmVlIG9yIHJlc3RyaWN0aW9uLgorCSAgLSBZb3Uga2VlcCB0aGUgY2hhbmdlcyBmb3IgYXQgbGVhc3QgdGhyZWUgeWVhcnMgYWZ0ZXIgbGFzdAorCSAgICBkaXN0cmlidXRpbmcgdGhlIGNvcnJlc3BvbmRpbmcgbW9kaWZpZWQgVmltLiAgV2hlbiB0aGUgbWFpbnRhaW5lcgorCSAgICBvciBzb21lb25lIHdobyB5b3UgZGlzdHJpYnV0ZWQgdGhlIG1vZGlmaWVkIFZpbSB0byBhc2tzIHlvdSAoaW4KKwkgICAgYW55IHdheSkgZm9yIHRoZSBjaGFuZ2VzIHdpdGhpbiB0aGlzIHBlcmlvZCwgeW91IG11c3QgbWFrZSB0aGVtCisJICAgIGF2YWlsYWJsZSB0byBoaW0uCisJICAtIFlvdSBjbGVhcmx5IGRlc2NyaWJlIGluIHRoZSBkaXN0cmlidXRpb24gaG93IHRvIGNvbnRhY3QgeW91LiAgVGhpcworCSAgICBjb250YWN0IGluZm9ybWF0aW9uIG11c3QgcmVtYWluIHZhbGlkIGZvciBhdCBsZWFzdCB0aHJlZSB5ZWFycworCSAgICBhZnRlciBsYXN0IGRpc3RyaWJ1dGluZyB0aGUgY29ycmVzcG9uZGluZyBtb2RpZmllZCBWaW0sIG9yIGFzIGxvbmcKKwkgICAgYXMgcG9zc2libGUuCisgICAgICAgZSkgV2hlbiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCkgYXBwbGllcyB0byB0aGUgY2hhbmdlcywKKwkgIHlvdSBjYW4gZGlzdHJpYnV0ZSB0aGUgbW9kaWZpZWQgVmltIHVuZGVyIHRoZSBHTlUgR1BMIHZlcnNpb24gMiBvcgorCSAgYW55IGxhdGVyIHZlcnNpb24uCisgICAgMykgQSBtZXNzYWdlIG11c3QgYmUgYWRkZWQsIGF0IGxlYXN0IGluIHRoZSBvdXRwdXQgb2YgdGhlICI6dmVyc2lvbiIKKyAgICAgICBjb21tYW5kIGFuZCBpbiB0aGUgaW50cm8gc2NyZWVuLCBzdWNoIHRoYXQgdGhlIHVzZXIgb2YgdGhlIG1vZGlmaWVkIFZpbQorICAgICAgIGlzIGFibGUgdG8gc2VlIHRoYXQgaXQgd2FzIG1vZGlmaWVkLiAgV2hlbiBkaXN0cmlidXRpbmcgYXMgbWVudGlvbmVkCisgICAgICAgdW5kZXIgMillKSBhZGRpbmcgdGhlIG1lc3NhZ2UgaXMgb25seSByZXF1aXJlZCBmb3IgYXMgZmFyIGFzIHRoaXMgZG9lcworICAgICAgIG5vdCBjb25mbGljdCB3aXRoIHRoZSBsaWNlbnNlIHVzZWQgZm9yIHRoZSBjaGFuZ2VzLgorICAgIDQpIFRoZSBjb250YWN0IGluZm9ybWF0aW9uIGFzIHJlcXVpcmVkIHVuZGVyIDIpYSkgYW5kIDIpZCkgbXVzdCBub3QgYmUKKyAgICAgICByZW1vdmVkIG9yIGNoYW5nZWQsIGV4Y2VwdCB0aGF0IHRoZSBwZXJzb24gaGltc2VsZiBjYW4gbWFrZQorICAgICAgIGNvcnJlY3Rpb25zLgorCitJSUkpIElmIHlvdSBkaXN0cmlidXRlIGEgbW9kaWZpZWQgdmVyc2lvbiBvZiBWaW0sIHlvdSBhcmUgZW5jb3VyYWdlZCB0byB1c2UKKyAgICAgdGhlIFZpbSBsaWNlbnNlIGZvciB5b3VyIGNoYW5nZXMgYW5kIG1ha2UgdGhlbSBhdmFpbGFibGUgdG8gdGhlCisgICAgIG1haW50YWluZXIsIGluY2x1ZGluZyB0aGUgc291cmNlIGNvZGUuICBUaGUgcHJlZmVycmVkIHdheSB0byBkbyB0aGlzIGlzCisgICAgIGJ5IGUtbWFpbCBvciBieSB1cGxvYWRpbmcgdGhlIGZpbGVzIHRvIGEgc2VydmVyIGFuZCBlLW1haWxpbmcgdGhlIFVSTC4KKyAgICAgSWYgdGhlIG51bWJlciBvZiBjaGFuZ2VzIGlzIHNtYWxsIChlLmcuLCBhIG1vZGlmaWVkIE1ha2VmaWxlKSBlLW1haWxpbmcgYQorICAgICBjb250ZXh0IGRpZmYgd2lsbCBkby4gIFRoZSBlLW1haWwgYWRkcmVzcyB0byBiZSB1c2VkIGlzCisgICAgIDxtYWludGFpbmVyQHZpbS5vcmc+CisKK0lWKSAgSXQgaXMgbm90IGFsbG93ZWQgdG8gcmVtb3ZlIHRoaXMgbGljZW5zZSBmcm9tIHRoZSBkaXN0cmlidXRpb24gb2YgdGhlIFZpbQorICAgICBzb3VyY2VzLCBwYXJ0cyBvZiBpdCBvciBmcm9tIGEgbW9kaWZpZWQgdmVyc2lvbi4gIFlvdSBtYXkgdXNlIHRoaXMKKyAgICAgbGljZW5zZSBmb3IgcHJldmlvdXMgVmltIHJlbGVhc2VzIGluc3RlYWQgb2YgdGhlIGxpY2Vuc2UgdGhhdCB0aGV5IGNhbWUKKyAgICAgd2l0aCwgYXQgeW91ciBvcHRpb24uCisKKz09PQorUmVhZCBtb3JlIGFib3V0IHRoaXMgbGljZW5zZSBhdCBodHRwOi8vdmltZG9jLnNvdXJjZWZvcmdlLm5ldC9odG1sZG9jL3VnYW5kYS5odG1sI2xpY2Vuc2UKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy96c2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvenNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmYjFmYzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvenNoCkBAIC0wLDAgKzEsMzcgQEAKK1VubGVzcyBvdGhlcndpc2Ugbm90ZWQgaW4gdGhlIGhlYWRlciBvZiBzcGVjaWZpYyBmaWxlcywgZmlsZXMgaW4gdGhpcworZGlzdHJpYnV0aW9uIGhhdmUgdGhlIGxpY2VuY2Ugc2hvd24gYmVsb3cuCisKK0hvd2V2ZXIsIG5vdGUgdGhhdCBjZXJ0YWluIHNoZWxsIGZ1bmN0aW9ucyBhcmUgbGljZW5zZWQgdW5kZXIgdmVyc2lvbnMKK29mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5jZS4gIEFueW9uZSBkaXN0cmlidXRpbmcgdGhlIHNoZWxsIGFzIGEKK2JpbmFyeSBpbmNsdWRpbmcgdGhvc2UgZmlsZXMgbmVlZHMgdG8gdGFrZSBhY2NvdW50IG9mIHRoaXMuICBTZWFyY2gKK3NoZWxsIGZ1bmN0aW9ucyBmb3IgIkNvcHlyaWdodCIgZm9yIHNwZWNpZmljIGNvcHlyaWdodCBpbmZvcm1hdGlvbi4KK05vbmUgb2YgdGhlIGNvcmUgZnVuY3Rpb25zIGFyZSBhZmZlY3RlZCBieSB0aGlzLCBzbyB0aG9zZSBmaWxlcyBtYXkKK3NpbXBseSBiZSBvbWl0dGVkLgorCistLQorCitUaGUgWiBTaGVsbCBpcyBjb3B5cmlnaHQgKGMpIDE5OTItMjAwOSBQYXVsIEZhbHN0YWQsIFJpY2hhcmQgQ29sZW1hbiwKK1pvbHTDoW4gSGlkdsOpZ2ksIEFuZHJldyBNYWluLCBQZXRlciBTdGVwaGVuc29uLCBTdmVuIFdpc2Nobm93c2t5LCBhbmQKK290aGVycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuICBJbmRpdmlkdWFsIGF1dGhvcnMsIHdoZXRoZXIgb3Igbm90CitzcGVjaWZpY2FsbHkgbmFtZWQsIHJldGFpbiBjb3B5cmlnaHQgaW4gYWxsIGNoYW5nZXM7IGluIHdoYXQgZm9sbG93cywgdGhleQorYXJlIHJlZmVycmVkIHRvIGFzIGB0aGUgWnNoIERldmVsb3BtZW50IEdyb3VwJy4gIFRoaXMgaXMgZm9yIGNvbnZlbmllbmNlCitvbmx5IGFuZCB0aGlzIGJvZHkgaGFzIG5vIGxlZ2FsIHN0YXR1cy4gIFRoZSBaIHNoZWxsIGlzIGRpc3RyaWJ1dGVkIHVuZGVyCit0aGUgZm9sbG93aW5nIGxpY2VuY2U7IGFueSBwcm92aXNpb25zIG1hZGUgaW4gaW5kaXZpZHVhbCBmaWxlcyB0YWtlCitwcmVjZWRlbmNlLgorCitQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCB3aXRob3V0IHdyaXR0ZW4gYWdyZWVtZW50IGFuZCB3aXRob3V0CitsaWNlbmNlIG9yIHJveWFsdHkgZmVlcywgdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMKK3NvZnR3YXJlIGFuZCB0byBkaXN0cmlidXRlIG1vZGlmaWVkIHZlcnNpb25zIG9mIHRoaXMgc29mdHdhcmUgZm9yIGFueQorcHVycG9zZSwgcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhlIGZvbGxvd2luZwordHdvIHBhcmFncmFwaHMgYXBwZWFyIGluIGFsbCBjb3BpZXMgb2YgdGhpcyBzb2Z0d2FyZS4KKworSW4gbm8gZXZlbnQgc2hhbGwgdGhlIFpzaCBEZXZlbG9wbWVudCBHcm91cCBiZSBsaWFibGUgdG8gYW55IHBhcnR5IGZvcgorZGlyZWN0LCBpbmRpcmVjdCwgc3BlY2lhbCwgaW5jaWRlbnRhbCwgb3IgY29uc2VxdWVudGlhbCBkYW1hZ2VzIGFyaXNpbmcgb3V0CitvZiB0aGUgdXNlIG9mIHRoaXMgc29mdHdhcmUgYW5kIGl0cyBkb2N1bWVudGF0aW9uLCBldmVuIGlmIHRoZSBac2gKK0RldmVsb3BtZW50IEdyb3VwIGhhdmUgYmVlbiBhZHZpc2VkIG9mIHRoZSBwb3NzaWJpbGl0eSBvZiBzdWNoIGRhbWFnZS4KKworVGhlIFpzaCBEZXZlbG9wbWVudCBHcm91cCBzcGVjaWZpY2FsbHkgZGlzY2xhaW0gYW55IHdhcnJhbnRpZXMsIGluY2x1ZGluZywKK2J1dCBub3QgbGltaXRlZCB0bywgdGhlIGltcGxpZWQgd2FycmFudGllcyBvZiBtZXJjaGFudGFiaWxpdHkgYW5kIGZpdG5lc3MKK2ZvciBhIHBhcnRpY3VsYXIgcHVycG9zZS4gIFRoZSBzb2Z0d2FyZSBwcm92aWRlZCBoZXJldW5kZXIgaXMgb24gYW4gImFzIGlzIgorYmFzaXMsIGFuZCB0aGUgWnNoIERldmVsb3BtZW50IEdyb3VwIGhhdmUgbm8gb2JsaWdhdGlvbiB0byBwcm92aWRlCittYWludGVuYW5jZSwgc3VwcG9ydCwgdXBkYXRlcywgZW5oYW5jZW1lbnRzLCBvciBtb2RpZmljYXRpb25zLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2FuYWx5emUtc3VzcGVuZC9hbmFseXplLXN1c3BlbmRfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2FuYWx5emUtc3VzcGVuZC9hbmFseXplLXN1c3BlbmRfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5N2ZmMGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvYW5hbHl6ZS1zdXNwZW5kL2FuYWx5emUtc3VzcGVuZF9naXQuYmIKQEAgLTAsMCArMSwyOSBAQAorU1VNTUFSWSA9ICJBbmFseXplIFN1c3BlbmQiCitERVNDUklQVElPTiA9ICJhbmFseXplLXN1c3BlbmQgaXMgYSB0b29sIGZvciBzeXN0ZW0gZGV2ZWxvcGVycyB0byB2aXN1YWxpemUgXAordGhlIGFjdGl2aXR5IGJldHdlZW4gc3VzcGVuZCBhbmQgcmVzdW1lLCBhbGxvd2luZyB0aGVtIHRvIGlkZW50aWZ5IFwKK2luZWZmaWNpZW5jaWVzIGFuZCBib3R0bGVuZWNrcy4iCitIT01FUEFHRSA9ICJodHRwczovLzAxLm9yZy9zdXNwZW5kcmVzdW1lIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTEyZjg4NGQyYWUxZmY4N2MwOWU1YjdjY2MyYzRjYTdlIgorCisjIEFwYXJ0IGZyb20gdGhlIGxpc3RlZCBSREVQRU5EUywgYW5hbHl6ZS1zdXNwZW5kIGRlcGVuZHMgb24gc29tZSBmZWF0dXJlcworIyBwcm92aWRlZCBieSB0aGUga2VybmVsLiBUaGVzZSBvcHRpb25zIGFyZToKKyMgICAtIENPTkZJR19QTV9ERUJVRz15CisjICAgLSBDT05GSUdfUE1fU0xFRVBfREVCVUc9eQorIyAgIC0gQ09ORklHX0ZUUkFDRT15CisjICAgLSBDT05GSUdfRlVOQ1RJT05fVFJBQ0VSPXkKKyMgICAtIENPTkZJR19GVU5DVElPTl9HUkFQSF9UUkFDRVI9eQorCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uLWNvcmUgcHl0aG9uLWRhdGV0aW1lIHB5dGhvbi1zdHJpbmdvbGQiCisKK1BWID0gIjMuMitnaXRyJHtTUkNQVn0iCitTUkNSRVYgPSAiYmNlM2NiZWM0M2JjMmNlN2E4Yzc5YjIxMDMxNGRkOWQ5YWMxMDEwYiIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS8wMW9yZy9zdXNwZW5kcmVzdW1lLmdpdDtwcm90b2NvbD1odHRwcyIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2RvX2luc3RhbGwoKSB7CisJaW5zdGFsbCAtRG0gMDc1NSBhbmFseXplX3N1c3BlbmQucHkgJHtEfSR7YmluZGlyfS9hbmFseXplX3N1c3BlbmQucHkKKwlpbnN0YWxsIC1EbSAwNjQ0IFJFQURNRSAke0R9JHtkb2NkaXJ9L2FuYWx5emUtc3VzcGVuZC9SRUFETUUKK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvYm9ubmllL2Jvbm5pZSsrXzEuMDNlLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2Jvbm5pZS9ib25uaWUrK18xLjAzZS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYzEyMTdlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2Jvbm5pZS9ib25uaWUrK18xLjAzZS5iYgpAQCAtMCwwICsxLDMyIEBACitTVU1NQVJZID0gIlRlc3RzIGxhcmdlIGZpbGUgSU8gYW5kIGNyZWF0aW9uL2RlbGV0aW9uIG9mIHNtYWxsIGZpbGVzIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5jb2tlci5jb20uYXUvYm9ubmllKysvIgorU0VDVElPTiA9ICJiZW5jaG1hcmsvdGVzdHMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vY29weXJpZ2h0LnR4dDttZDU9Y2Q0ZGRlOTVhNmI5ZDEyMmYwYTkxNTBhZTljYzNlZTAiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5jb2tlci5jb20uYXUvYm9ubmllKysvJHtCUE59LSR7UFZ9LnRneiBcCisgICAgICAgICAgIGZpbGU6Ly9nY2MtNC4zLWZpeGVzLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI3NTBhYTViNTA1MTI2M2E5OWM2YzE5NTg4OGM3NDk2OCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjYjM4NjYxMTY2MzRiZjY1NzYwYjY4MDZiZTRhZmE3ZTI0YTFjYWQ2ZjE0NWM4NzZkZjg3MjFmMDFiYTJlMmNiIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworU0NSSVBUUyA9ICJib25fY3N2Mmh0bWwgYm9uX2NzdjJ0eHQiCitFWEVTID0gImJvbm5pZSsrIHpjYXYiCisKK1RBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgorCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9LyR7c2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtFWEVTfSAke0R9LyR7c2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTQ1JJUFRTfSAke0R9LyR7YmluZGlyfQorfQorCitQQUNLQUdFUyA9KyAiYm9ubmllLXNjcmlwdHMiCisKK0ZJTEVTXyR7UE59ID0gIiR7c2JpbmRpcn0iCitGSUxFU19ib25uaWUtc2NyaXB0cyA9ICIke2JpbmRpcn0iCisKK1JERVBFTkRTX2Jvbm5pZS1zY3JpcHRzICs9ICJwZXJsIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2Jvbm5pZS9maWxlcy9nY2MtNC4zLWZpeGVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2Jvbm5pZS9maWxlcy9nY2MtNC4zLWZpeGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3ZjFiNzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvYm9ubmllL2ZpbGVzL2djYy00LjMtZml4ZXMucGF0Y2gKQEAgLTAsMCArMSwxOSBAQAorSW5jbHVkZXMgc3RyaW5nLmggdG8gb25lIG9mIHRoZSBzb3VyY2UgZmlsZS4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtub3QgYXV0aG9yLl0KKy0tLQorIHpjYXYuY3BwIHwgICAgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK0luZGV4OiBib25uaWUrKy0xLjAzYS96Y2F2LmNwcAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGJvbm5pZSsrLTEuMDNhLm9yaWcvemNhdi5jcHAKKysrKyBib25uaWUrKy0xLjAzYS96Y2F2LmNwcAorQEAgLTE1LDYgKzE1LDcgQEAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKKyAjZWxzZQorICNpbmNsdWRlIDx2ZWN0b3IuaD4KKyAjZW5kaWYKKysjaW5jbHVkZSA8c3RyaW5nLmg+CisgCisgLy8gUmVhZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBtZWdhYnl0ZXMgb2YgZGF0YSBmcm9tIHRoZSBmZCBhbmQgcmV0dXJuIHRoZQorIC8vIGFtb3VudCBvZiB0aW1lIGVsYXBzZWQgaW4gc2Vjb25kcy4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9jcHVidXJuL2NwdWJ1cm4tbmVvbl8yMDE0MDYyNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9jcHVidXJuL2NwdWJ1cm4tbmVvbl8yMDE0MDYyNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNGUzZmM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2NwdWJ1cm4vY3B1YnVybi1uZW9uXzIwMTQwNjI2LmJiCkBAIC0wLDAgKzEsMzAgQEAKK1NVTU1BUlkgPSAiQ1BVIGJ1cm4gYXBwIHRoYXQgbG9hZHMgdGhlIE5FT04gY29wcm9jZXNzb3IgZnVsbHkiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2J1cm4uUzttZDU9ODIzYWJjNzJjMmNkNDQ4ZTg3ZGY5YmM1MzU1YTQ0NTYiCisKK0RMX0RJUl9hcHBlbmQgPSAiLyR7UE59LSR7UFZ9IgorCisjIEVuc3VyZSB0byBtYWtlIHRoaXMgYXZhaWxhYmxlIGZvciBtYWNoaW5lIHdoaWNoIGhhcyBuZW9uCitDT01QQVRJQkxFX01BQ0hJTkUgPSAiKCR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUVU5FX0ZFQVRVUkVTIiwgIm5lb24iLCAiJHtNQUNISU5FfSIsICJJbnZhbGlkISIsIGQpfSkiCisKK1NSQ19VUkkgPSAiaHR0cDovL2hhcmR3YXJlYnVnLm9yZy9maWxlcy9idXJuLlM7bmFtZT1tcnUgXAorICAgICAgICAgICBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vc3N2Yi9jcHVidXJuLWFybS9kZDVjNWJhNThkMmIwYjIzY2ZhYjRhMjg2ZjlkM2Y1NTEwMDAwZjIwL2NwdWJ1cm4tYTguUztuYW1lPXNzdmIiCisKK1NSQ19VUklbbXJ1Lm1kNXN1bV0gPSAiODIzYWJjNzJjMmNkNDQ4ZTg3ZGY5YmM1MzU1YTQ0NTYiCitTUkNfVVJJW21ydS5zaGEyNTZzdW1dID0gIjAxZDlmYzA0ZjgzNzQwYzUxM2MyNTQwMWRjYzg5YzExYjJhNWE2MDEzZTcwYmZjYTQyYjdiMDIxMjlmODhjZDIiCitTUkNfVVJJW3NzdmIubWQ1c3VtXSA9ICJiYTBlZjI5MzlhM2IzYjQ4NzUyMzQ0OGM2NzU0NGU5NCIKK1NSQ19VUklbc3N2Yi5zaGEyNTZzdW1dID0gImNlNDJlYmRjNzFjODc2YTMzZDlmNzUzNDM1NWVmNzZjZWZhMGQwMGRkYjE5YWQ2OWNmMDVhMjY2Yzg2MWQwOGQiCisKK1MgPSAiJHtXT1JLRElSfSIKKworZG9fY29tcGlsZSgpIHsKKyAgICAke0NDfSAke0NGTEFHU30gJHtMREZMQUdTfSBidXJuLlMgLW8gYnVybgorICAgICR7Q0N9ICR7Q0ZMQUdTfSAke0xERkxBR1N9IGNwdWJ1cm4tYTguUyAtbyBidXJuLW5lb25hOAorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L2J1cm4gJHtEfSR7YmluZGlyfS9idXJuLW5lb24KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9idXJuLW5lb25hOCAke0R9JHtiaW5kaXJ9LworfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZGJlbmNoL2RiZW5jaF80LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZGJlbmNoL2RiZW5jaF80LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTkxNWU0YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9kYmVuY2gvZGJlbmNoXzQuMC5iYgpAQCAtMCwwICsxLDI1IEBACitTVU1NQVJZID0gIlRoZSBkYmVuY2ggKGRpc2spIGFuZCB0YmVuY2ggKFRDUCkgYmVuY2htYXJrcyIKK1NVTU1BUllfZGJlbmNoID0gIkZpbGVzeXN0ZW0gbG9hZCBiZW5jaG1hcmsiCitTVU1NQVJZX3RiZW5jaCA9ICJUQ1AgbG9hZCBiZW5jaG1hcmsiCitIT01FUEFHRSA9ICJodHRwOi8vc2FtYmEub3JnL2Z0cC90cmlkZ2UvZGJlbmNoLyIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworREVQRU5EUyA9ICJwb3B0IgorCitTUkNfVVJJID0gIlwKKyAgICBodHRwOi8vc2FtYmEub3JnL2Z0cC90cmlkZ2UvZGJlbmNoL2RiZW5jaC0ke1BWfS50YXIuZ3ogXAorICAgIGZpbGU6Ly9kZXN0ZGlyLnBhdGNoIFwKKyAgICBmaWxlOi8vbWFrZWZpbGUucGF0Y2giCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1BBQ0tBR0VTID0rICJ0YmVuY2ggdGJlbmNoLWRiZyIKKworVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCisKK0ZJTEVTX3RiZW5jaCA9ICIke2JpbmRpcn0vdGJlbmNoKiAke3ByZWZpeH0vc2hhcmUvY2xpZW50LnR4dCIKK0ZJTEVTX3RiZW5jaC1kYmcgKz0gIiR7YmluZGlyfS8uZGVidWcvdGJlbmNoKiIKKworU1JDX1VSSVttZDVzdW1dID0gIjFmZTU2ZmY3MWI5YTQxNmY4ODg5ZDcxNTBhYzU0ZGE0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjYwMDE4OTNmMzRlNjhhM2NmZWI1ZDQyNGUxZjJiZmVmMDA1ZGY5NmEyMmQ4NmYzNWRjNzcwYzViY2NmM2FhOGEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZGJlbmNoL2ZpbGVzL2Rlc3RkaXIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZGJlbmNoL2ZpbGVzL2Rlc3RkaXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGNkMmEzNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9kYmVuY2gvZmlsZXMvZGVzdGRpci5wYXRjaApAQCAtMCwwICsxLDI4IEBACitBcHBlbmQgJChERVNURElSKSB0byBhbGwgJChiaW5kaXIpLCAkKGRhdGFkaXIpIGFuZCAkKG1hbmRpcikuIEdvdCAKK3RoaXMgcGF0Y2ggZnJvbSBPRSBjb21taXQgaWQgNzA5YzRkNjZlMGIxMDdjYTYwNjk0MWI5ODhiYWQ3MTdjMGI0NWQ5YgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW25vdCBhdXRob3JdCisKK0luZGV4OiBkYmVuY2gtMy4wNC9NYWtlZmlsZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRiZW5jaC0zLjA0Lm9yaWcvTWFrZWZpbGUuaW4JMjAwNi0wOS0xNyAyMDoyMTowNy4wMDAwMDAwMDAgKzAyMDAKKysrKyBkYmVuY2gtMy4wNC9NYWtlZmlsZS5pbgkyMDA2LTA5LTE3IDIwOjIxOjM2LjAwMDAwMDAwMCArMDIwMAorQEAgLTMyLDEyICszMiwxMiBAQAorIAorICMgQ2FyZWZ1bCBoZXJlOiBkb24ndCBpbnN0YWxsIGNsaWVudC50eHQgb3ZlciBpdHNlbGYuCisgaW5zdGFsbDogYWxsCistCSR7SU5TVEFMTENNRH0gLWQgJChiaW5kaXIpICQoZGF0YWRpcikgJChtYW5kaXIpCistCSR7SU5TVEFMTENNRH0gZGJlbmNoIHRiZW5jaCB0YmVuY2hfc3J2ICQoYmluZGlyKQorLQkke0lOU1RBTExDTUR9IGNsaWVudC50eHQgJChkYXRhZGlyKQorLQkke0lOU1RBTExDTUR9IC1tNjQ0IGRiZW5jaC4xICQobWFuZGlyKQorLQlsbiAtc2YgZGJlbmNoLjEgJChtYW5kaXIpL3RiZW5jaC4xCistCWxuIC1zZiBkYmVuY2guMSAkKG1hbmRpcikvdGJlbmNoX3Nydi4xCisrCSR7SU5TVEFMTENNRH0gLWQgJChERVNURElSKSQoYmluZGlyKSAkKERFU1RESVIpJChkYXRhZGlyKSAkKERFU1RESVIpJChtYW5kaXIpCisrCSR7SU5TVEFMTENNRH0gZGJlbmNoIHRiZW5jaCB0YmVuY2hfc3J2ICQoREVTVERJUikkKGJpbmRpcikKKysJJHtJTlNUQUxMQ01EfSBAdG9wX3NyY2RpckAvY2xpZW50LnR4dCAkKERFU1RESVIpJChkYXRhZGlyKQorKwkke0lOU1RBTExDTUR9IC1tNjQ0IEB0b3Bfc3JjZGlyQC9kYmVuY2guMSAkKERFU1RESVIpJChtYW5kaXIpCisrCWxuIC1zZiBkYmVuY2guMSAkKERFU1RESVIpJChtYW5kaXIpL3RiZW5jaC4xCisrCWxuIC1zZiBkYmVuY2guMSAkKERFU1RESVIpJChtYW5kaXIpL3RiZW5jaF9zcnYuMQorIAorIGNsZWFuOgorIAlybSAtZiAqLm8gKn4gZGJlbmNoIHRiZW5jaCB0YmVuY2hfc3J2CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZGJlbmNoL2ZpbGVzL21ha2VmaWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2RiZW5jaC9maWxlcy9tYWtlZmlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMWZiNGZmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2RiZW5jaC9maWxlcy9tYWtlZmlsZS5wYXRjaApAQCAtMCwwICsxLDE4IEBACitBZGQgc3BhY2UgYmV0d2VlbiBpbnN0YWxsIC1tIG9wdGlvbiBhbmQgaXRzIGFyZ3VtZW50LiBHb3QgdGhpcyBwYXRjaCBmcm9tIAorT0UgNzA5YzRkNjZlMGIxMDdjYTYwNjk0MWI5ODhiYWQ3MTdjMGI0NWQ5YgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW25vdCBhdXRob3JdCisKK0luZGV4OiBkYmVuY2gtNC4wL01ha2VmaWxlLmluCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZGJlbmNoLTQuMC5vcmlnL01ha2VmaWxlLmluCisrKysgZGJlbmNoLTQuMC9NYWtlZmlsZS5pbgorQEAgLTM1LDcgKzM1LDcgQEAgaW5zdGFsbDogYWxsCisgCSR7SU5TVEFMTENNRH0gLWQgJChERVNURElSKSQoYmluZGlyKSAkKERFU1RESVIpJChkYXRhZGlyKSAkKERFU1RESVIpJChtYW5kaXIpCisgCSR7SU5TVEFMTENNRH0gZGJlbmNoIHRiZW5jaCB0YmVuY2hfc3J2ICQoREVTVERJUikkKGJpbmRpcikKKyAJJHtJTlNUQUxMQ01EfSBAdG9wX3NyY2RpckAvY2xpZW50LnR4dCAkKERFU1RESVIpJChkYXRhZGlyKQorLQkke0lOU1RBTExDTUR9IC1tNjQ0IEB0b3Bfc3JjZGlyQC9kYmVuY2guMSAkKERFU1RESVIpJChtYW5kaXIpCisrCSR7SU5TVEFMTENNRH0gLW0gNjQ0IEB0b3Bfc3JjZGlyQC9kYmVuY2guMSAkKERFU1RESVIpJChtYW5kaXIpCisgCWxuIC1zZiBkYmVuY2guMSAkKERFU1RESVIpJChtYW5kaXIpL3RiZW5jaC4xCisgCWxuIC1zZiBkYmVuY2guMSAkKERFU1RESVIpJChtYW5kaXIpL3RiZW5jaF9zcnYuMQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2Zpby9maW9fMi4yLjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZmlvL2Zpb18yLjIuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYjY3MTczCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2Zpby9maW9fMi4yLjYuYmIKQEAgLTAsMCArMSw0MSBAQAorU1VNTUFSWSA9ICJGaWxlc3lzdGVtIGFuZCBoYXJkd2FyZSBiZW5jaG1hcmsgYW5kIHN0cmVzcyB0b29sIgorREVTQ1JJUFRJT04gPSAiZmlvIGlzIGFuIEkvTyB0b29sIG1lYW50IHRvIGJlIHVzZWQgYm90aCBmb3IgYmVuY2htYXJrIGFuZCBcCitzdHJlc3MvaGFyZHdhcmUgdmVyaWZpY2F0aW9uLiBJdCBoYXMgc3VwcG9ydCBmb3IgYSBudW1iZXIgb2YgSS9PIGVuZ2luZXMsIFwKK0kvTyBwcmlvcml0aWVzIChmb3IgbmV3ZXIgTGludXgga2VybmVscyksIHJhdGUgSS9PLCBmb3JrZWQgb3IgdGhyZWFkZWQgam9icywgXAorYW5kIG11Y2ggbW9yZS4gSXQgY2FuIHdvcmsgb24gYmxvY2sgZGV2aWNlcyBhcyB3ZWxsIGFzIGZpbGVzLiBmaW8gYWNjZXB0cyBcCitqb2IgZGVzY3JpcHRpb25zIGluIGEgc2ltcGxlLXRvLXVuZGVyc3RhbmQgdGV4dCBmb3JtYXQuIFNldmVyYWwgZXhhbXBsZSBqb2IgXAorZmlsZXMgYXJlIGluY2x1ZGVkLiBmaW8gZGlzcGxheXMgYWxsIHNvcnRzIG9mIEkvTyBwZXJmb3JtYW5jZSBpbmZvcm1hdGlvbi4iCitIT01FUEFHRSA9ICJodHRwOi8vZnJlZWNvZGUuY29tL3Byb2plY3RzL2ZpbyIKK1NFQ1RJT04gPSAiY29uc29sZS90ZXN0cyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zOTNhNWNhNDQ1ZjY5NjU4NzNlY2EwMjU5YTE3ZjgzMyIKKworREVQRU5EUyA9ICJsaWJhaW8gemxpYiIKKworUEFDS0FHRUNPTkZJR19OVU1BID0gIm51bWEiCisjIEFSTSBkb2VzIG5vdCBjdXJyZW50bHkgc3VwcG9ydCBOVU1BCitQQUNLQUdFQ09ORklHX05VTUFfYXJtID0gIiIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7UEFDS0FHRUNPTkZJR19OVU1BfSIKK1BBQ0tBR0VDT05GSUdbbnVtYV0gPSAiLC0tZGlzYWJsZS1udW1hLG51bWFjdGwiCisKKyMgcmV2IGZvciB2Mi4yLjYKK1NSQ1JFViA9ICJmNTJjOTY5MWJjOGMyODVmMzQ0NTIzNWM2OWFjZGZkNmRlN2Y5YjgyIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXQua2VybmVsLmRrL2Zpby5naXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKKyMgYXZvaWRzIGJ1aWxkIGJyZWFrcyB3aGVuIHVzaW5nIG5vLXN0YXRpYy1saWJzLmluYworRElTQUJMRV9TVEFUSUMgPSAiIgorCitFWFRSQV9PRU1BS0UgPSAiQ0M9JyR7Q0N9JyBMREZMQUdTPScke0xERkxBR1N9JyIKKworZG9fY29uZmlndXJlKCkgeworICAgIC4vY29uZmlndXJlICR7RVhUUkFfT0VDT05GfQorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0gcHJlZml4PSR7cHJlZml4fSBtYW5kaXI9JHttYW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9LyR7ZG9jZGlyfS8ke1BOfQorICAgIGNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12ICR7U30vZXhhbXBsZXMgJHtEfS8ke2RvY2Rpcn0vJHtQTn0vCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZ2xtYXJrMi9maWxlcy8wMDAxLUZpeC13bF9zdXJmYWNlLXNob3VsZC1iZS1kZXN0b3J5ZWQtYWZ0ZXItdGhlLXdsX3dpbmQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZ2xtYXJrMi9maWxlcy8wMDAxLUZpeC13bF9zdXJmYWNlLXNob3VsZC1iZS1kZXN0b3J5ZWQtYWZ0ZXItdGhlLXdsX3dpbmQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDM5NTA4MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9nbG1hcmsyL2ZpbGVzLzAwMDEtRml4LXdsX3N1cmZhY2Utc2hvdWxkLWJlLWRlc3RvcnllZC1hZnRlci10aGUtd2xfd2luZC5wYXRjaApAQCAtMCwwICsxLDM0IEBACitGcm9tIDljNzRlYzgzZTI5MjliMWQ1YWI2NWQ1MTM3YjZiYTQyZWRlYjMzMmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBZb25nIEdhbiA8YjQ1NzQ4QGZyZWVzY2FsZS5jb20+CitEYXRlOiBUdWUsIDI3IE9jdCAyMDE1IDE4OjE1OjIwICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeDogd2xfc3VyZmFjZSBzaG91bGQgYmUgZGVzdG9yeWVkIGFmdGVyIHRoZSB3bF93aW5kb3cKKyBkZXN0cm95ZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vZ2xtYXJrMi9nbG1hcmsyL2lzc3Vlcy8xMl0KKworU2lnbmVkLW9mZi1ieTogWW9uZyBHYW4gPGI0NTc0OEBmcmVlc2NhbGUuY29tPgorCistLS0KKyBzcmMvbmF0aXZlLXN0YXRlLXdheWxhbmQuY3BwIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9uYXRpdmUtc3RhdGUtd2F5bGFuZC5jcHAgYi9zcmMvbmF0aXZlLXN0YXRlLXdheWxhbmQuY3BwCitpbmRleCA0MWZjNzQzLi5jZGNkZjM0IDEwMDY0NAorLS0tIGEvc3JjL25hdGl2ZS1zdGF0ZS13YXlsYW5kLmNwcAorKysrIGIvc3JjL25hdGl2ZS1zdGF0ZS13YXlsYW5kLmNwcAorQEAgLTU2LDEwICs1NiwxMCBAQCBOYXRpdmVTdGF0ZVdheWxhbmQ6On5OYXRpdmVTdGF0ZVdheWxhbmQoKQorICAgICAgICAgICAgIHdsX3NoZWxsX3N1cmZhY2VfZGVzdHJveSh3aW5kb3dfLT5zaGVsbF9zdXJmYWNlKTsKKyAgICAgICAgIGlmICh3aW5kb3dfLT5vcGFxdWVfcmVxaW9uKQorICAgICAgICAgICAgIHdsX3JlZ2lvbl9kZXN0cm95KHdpbmRvd18tPm9wYXF1ZV9yZXFpb24pOworLSAgICAgICAgaWYgKHdpbmRvd18tPnN1cmZhY2UpCistICAgICAgICAgICAgd2xfc3VyZmFjZV9kZXN0cm95KHdpbmRvd18tPnN1cmZhY2UpOworICAgICAgICAgaWYgKHdpbmRvd18tPm5hdGl2ZSkKKyAgICAgICAgICAgICB3bF9lZ2xfd2luZG93X2Rlc3Ryb3kod2luZG93Xy0+bmF0aXZlKTsKKysgICAgICAgIGlmICh3aW5kb3dfLT5zdXJmYWNlKQorKyAgICAgICAgICAgIHdsX3N1cmZhY2VfZGVzdHJveSh3aW5kb3dfLT5zdXJmYWNlKTsKKyAgICAgICAgIGRlbGV0ZSB3aW5kb3dfOworICAgICB9CisgCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9nbG1hcmsyL2ZpbGVzL2J1aWxkLUNoZWNrLXBhY2thZ2VzLXRvLWJlLXVzZWQtYnktdGhlLWVuYWJsZWQtZmxhdm8ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZ2xtYXJrMi9maWxlcy9idWlsZC1DaGVjay1wYWNrYWdlcy10by1iZS11c2VkLWJ5LXRoZS1lbmFibGVkLWZsYXZvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmMTMzMjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZ2xtYXJrMi9maWxlcy9idWlsZC1DaGVjay1wYWNrYWdlcy10by1iZS11c2VkLWJ5LXRoZS1lbmFibGVkLWZsYXZvLnBhdGNoCkBAIC0wLDAgKzEsNDMgQEAKK0Zyb206IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+CitTdWJqZWN0OiBbUEFUQ0hdIGJ1aWxkOiBDaGVjayBwYWNrYWdlcyB0byBiZSB1c2VkIGJ5IHRoZSBlbmFibGVkIGZsYXZvcnMKK09yZ2FuaXphdGlvbjogTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIExUREEuCisKK1RoZSBwYWNrYWdlcyBzaG91bGRuJ3QgYmUgZHluYW1pY2FsbHkgZGV0ZWN0ZWQgb3RoZXJ3aXNlIHRoZSBidWlsZAorcHJlZGljdGFiaWxpdHkgaXMgbG9zdC4gV2Ugbm93IGhhdmUgYWxsIHBhY2thZ2VzIGFzIG1hbmRhdG9yeSBidXQKK2RlcGVuZGVudCBvZiB0aGUgZmxhdm9ycyB3aGljaCB1c2UgdGhlbS4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9nbG1hcmsyL2dsbWFyazIvcHVsbC84XQorCitTaWduZWQtb2ZmLWJ5OiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgorLS0tCisgd3NjcmlwdCB8IDEwICsrKysrKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvd3NjcmlwdCBiL3dzY3JpcHQKK2luZGV4IGNhYjYyYTMuLmU3ZWFlZDAgMTAwNjQ0CistLS0gYS93c2NyaXB0CisrKysgYi93c2NyaXB0CitAQCAtMTIxLDEzICsxMjEsMTcgQEAgZGVmIGNvbmZpZ3VyZShjdHgpOgorICAgICAgICAgICAgICAgICAoJ21pcmNsaWVudCcsJ21pcmNsaWVudCcsICcwLjEzJywgbGlzdF9jb250YWlucyhPcHRpb25zLm9wdGlvbnMuZmxhdm9ycywgJ21pcicpKSwKKyAgICAgICAgICAgICAgICAgKCd3YXlsYW5kLWNsaWVudCcsJ3dheWxhbmQtY2xpZW50JywgTm9uZSwgbGlzdF9jb250YWlucyhPcHRpb25zLm9wdGlvbnMuZmxhdm9ycywgJ3dheWxhbmQnKSksCisgICAgICAgICAgICAgICAgICgnd2F5bGFuZC1lZ2wnLCd3YXlsYW5kLWVnbCcsIE5vbmUsIGxpc3RfY29udGFpbnMoT3B0aW9ucy5vcHRpb25zLmZsYXZvcnMsICd3YXlsYW5kJykpXQorLSAgICBmb3IgKHBrZywgdXNlbGliLCBhdGxlYXN0LCBtYW5kYXRvcnkpIGluIG9wdF9wa2dzOgorKyAgICBmb3IgKHBrZywgdXNlbGliLCBhdGxlYXN0LCBjaGVjaykgaW4gb3B0X3BrZ3M6CisrICAgICAgICAjIENoZWNrIHBhY2thZ2VzIHJlcXVpcmVkIGJ5IHRoZSBmbGF2b3JzCisrICAgICAgICBpZiBub3QgY2hlY2s6CisrICAgICAgICAgICAgY29udGludWUKKysKKyAgICAgICAgIGlmIGF0bGVhc3QgaXMgTm9uZToKKyAgICAgICAgICAgICBjdHguY2hlY2tfY2ZnKHBhY2thZ2UgPSBwa2csIHVzZWxpYl9zdG9yZSA9IHVzZWxpYiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MgPSAnLS1jZmxhZ3MgLS1saWJzJywgbWFuZGF0b3J5ID0gbWFuZGF0b3J5KQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncyA9ICctLWNmbGFncyAtLWxpYnMnLCBtYW5kYXRvcnkgPSBUcnVlKQorICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICBjdHguY2hlY2tfY2ZnKHBhY2thZ2UgPSBwa2csIHVzZWxpYl9zdG9yZSA9IHVzZWxpYiwgYXRsZWFzdF92ZXJzaW9uPWF0bGVhc3QsCistICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzID0gJy0tY2ZsYWdzIC0tbGlicycsIG1hbmRhdG9yeSA9IG1hbmRhdG9yeSkKKysgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MgPSAnLS1jZmxhZ3MgLS1saWJzJywgbWFuZGF0b3J5ID0gVHJ1ZSkKKyAKKyAKKyAgICAgIyBQcmVwZW5kIENYWCBmbGFncyBzbyB0aGF0IHRoZXkgY2FuIGJlIG92ZXJyaWRlbiBieSB0aGUKKy0tIAorMi40LjYKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2dsbWFyazIvZ2xtYXJrMl9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZ2xtYXJrMi9nbG1hcmsyX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMjk5MjFiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2dsbWFyazIvZ2xtYXJrMl9naXQuYmIKQEAgLTAsMCArMSw1MiBAQAorU1VNTUFSWSA9ICJPcGVuR0wgKEVTKSAyLjAgYmVuY2htYXJrIgorREVTQ1JJUFRJT04gPSAiZ2xtYXJrMiBpcyBhIGJlbmNobWFyayBmb3IgT3BlbkdMIChFUykgMi4wLiBcCitJdCB1c2VzIG9ubHkgdGhlIHN1YnNldCBvZiB0aGUgT3BlbkdMIDIuMCBBUEkgdGhhdCBpcyBjb21wYXRpYmxlIHdpdGggT3BlbkdMIEVTIDIuMC4iCitIT01FUEFHRSA9ICJodHRwczovL2xhdW5jaHBhZC5uZXQvZ2xtYXJrMiIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWdzLmxhdW5jaHBhZC5uZXQvZ2xtYXJrMiIKKworTElDRU5TRSA9ICJHUEx2MysgJiBTR0l2MSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuU0dJO2JlZ2lubGluZT01O21kNT0yNjljZGFiNGFmNjc0ODY3N2FjY2U1MWQ5YWExMzU1MiIKKworREVQRU5EUyA9ICJsaWJwbmcxMiBqcGVnIgorCitQViA9ICIyMDE0LjAzKyR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vZ2xtYXJrMi9nbG1hcmsyLmdpdDtwcm90b2NvbD1odHRwcyBcCisgICAgICAgICAgIGZpbGU6Ly9idWlsZC1DaGVjay1wYWNrYWdlcy10by1iZS11c2VkLWJ5LXRoZS1lbmFibGVkLWZsYXZvLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LXdsX3N1cmZhY2Utc2hvdWxkLWJlLWRlc3RvcnllZC1hZnRlci10aGUtd2xfd2luZC5wYXRjaCIKK1NSQ1JFViA9ICJmYTcxYWYyZGZhYjcxMWZhYzg3Yjk1MDRiNmZjOTg2MmY0NGJmNzJhIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IHdhZiBwa2djb25maWcKKworUEFDS0FHRUNPTkZJRyA/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEgb3BlbmdsJywgJ3gxMS1nbCB4MTEtZ2xlczInLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnd2F5bGFuZCBvcGVuZ2wnLCAnd2F5bGFuZC1nbCB3YXlsYW5kLWdsZXMyJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICBkcm0tZ2wgZHJtLWdsZXMyIgorCitQQUNLQUdFQ09ORklHW3gxMS1nbF0gPSAiLCx2aXJ0dWFsL2xpYmdsIHZpcnR1YWwvbGlieDExIgorUEFDS0FHRUNPTkZJR1t4MTEtZ2xlczJdID0gIiwsdmlydHVhbC9saWJnbGVzMiB2aXJ0dWFsL2xpYngxMSIKK1BBQ0tBR0VDT05GSUdbZHJtLWdsXSA9ICIsLHZpcnR1YWwvbGliZ2wgbGliZHJtIgorUEFDS0FHRUNPTkZJR1tkcm0tZ2xlczJdID0gIiwsdmlydHVhbC9saWJnbGVzMiBsaWJkcm0iCitQQUNLQUdFQ09ORklHW3dheWxhbmQtZ2xdID0gIiwsdmlydHVhbC9saWJnbCB3YXlsYW5kIgorUEFDS0FHRUNPTkZJR1t3YXlsYW5kLWdsZXMyXSA9ICIsLHZpcnR1YWwvbGliZ2xlczIgd2F5bGFuZCIKKworcHl0aG9uIF9fYW5vbnltb3VzKCkgeworICAgIHBhY2thZ2Vjb25maWcgPSAoZC5nZXRWYXIoIlBBQ0tBR0VDT05GSUciLCBUcnVlKSBvciAiIikuc3BsaXQoKQorICAgIGZsYXZvcnMgPSBbXQorICAgIGlmICJ4MTEtZ2xlczIiIGluIHBhY2thZ2Vjb25maWc6CisgICAgICAgIGZsYXZvcnMuYXBwZW5kKCJ4MTEtZ2xlc3YyIikKKyAgICBpZiAieDExLWdsIiBpbiBwYWNrYWdlY29uZmlnOgorICAgICAgICBmbGF2b3JzLmFwcGVuZCgieDExLWdsIikKKyAgICBpZiAid2F5bGFuZC1nbGVzMiIgaW4gcGFja2FnZWNvbmZpZzoKKyAgICAgICAgZmxhdm9ycy5hcHBlbmQoIndheWxhbmQtZ2xlc3YyIikKKyAgICBpZiAid2F5bGFuZC1nbCIgaW4gcGFja2FnZWNvbmZpZzoKKyAgICAgICAgZmxhdm9ycy5hcHBlbmQoIndheWxhbmQtZ2wiKQorICAgIGlmICJkcm0tZ2xlczIiIGluIHBhY2thZ2Vjb25maWc6CisgICAgICAgIGZsYXZvcnMuYXBwZW5kKCJkcm0tZ2xlc3YyIikKKyAgICBpZiAiZHJtLWdsIiBpbiBwYWNrYWdlY29uZmlnOgorICAgICAgICBmbGF2b3JzLmFwcGVuZCgiZHJtLWdsIikKKyAgICBpZiBmbGF2b3JzOgorICAgICAgICBkLmFwcGVuZFZhcigiRVhUUkFfT0VDT05GIiwgIiAtLXdpdGgtZmxhdm9ycz0lcyIgJSAiLCIuam9pbihmbGF2b3JzKSkKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9pb3pvbmUzL2lvem9uZTMvY29weXJpZ2h0LnR4dCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9pb3pvbmUzL2lvem9uZTMvY29weXJpZ2h0LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNDY4ZmE5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2lvem9uZTMvaW96b25lMy9jb3B5cmlnaHQudHh0CkBAIC0wLDAgKzEsNjIgQEAKK0xJQ0VOU0U6CisKKyBDb3B5cmlnaHQgMTk5MSwgMTk5MiwgMTk5NCwgMTk5OCwgMTk5OSwgMjAwMiAgIFdpbGxpYW0gRC4gTm9yY290dAorCisgTGljZW5zZSB0byBmcmVlbHkgdXNlIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgaXMgaGVyZWJ5IGdyYW50ZWQgCisgYnkgdGhlIGF1dGhvciwgc3ViamVjdCB0byB0aGUgY29uZGl0aW9uIHRoYXQgdGhpcyBjb3B5cmlnaHQgbm90aWNlIAorIHJlbWFpbnMgaW50YWN0LiAgVGhlIGF1dGhvciByZXRhaW5zIHRoZSBleGNsdXNpdmUgcmlnaHQgdG8gcHVibGlzaCAKKyBkZXJpdmF0aXZlIHdvcmtzIGJhc2VkIG9uIHRoaXMgd29yaywgaW5jbHVkaW5nLCBidXQgbm90IGxpbWl0ZWQgdG8KKyByZXZpc2VkIHZlcnNpb25zIG9mIHRoaXMgd29yay4KKworCisKK0JlbG93IGlzIGF1dGhvciByZXBseSB0byBxdWVzdGlvbiBhYm91dCBkaXN0cmlidXRpbmcgaW96b25lMyBpbgorT3BlbkVtYmVkZGVkOgorCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworTWFyY2luLAorCisgICAgICAgIFJlLWRpc3RyaWJ1dGlvbiBpcyBwZXJtaXR0ZWQgYXMgbG9uZyBhcyB0aGUgY29weXJpZ2h0IGlzCisgICAgbWFpbnRhaW5lZCBhbmQgdGhlIHNvdXJjZSBjb2RlIGlzIG5vdCBjaGFuZ2VkLiBJIGRvIG5vdAorICAgIHNlZSBhIHByb2JsZW0gd2l0aCB5b3VyIG1vZHMgdG8gZW5hYmxlIGZpbGVvcCBmb3IgTGludXgtYXJtLAorICAgIGFzIHRoZXNlIG1vZHMgaGF2ZSBiZWVuIHJldHVybmVkIHRvIHRoZSBJb3pvbmUgZm9sa3MsCisgICAgYW5kIHRoZXkgaGF2ZSBiZWVuIGFjY2VwdGVkIGZvciBpbmNsdXNpb24gaW4gdGhlIG5leHQKKyAgICByZWxlYXNlIDotKQorCitUaGFuayB5b3UgZm9yIHlvdXIgY29udHJpYnV0aW9uLAorRG9uIENhcHBzCisKKy0tLS0tIE9yaWdpbmFsIE1lc3NhZ2UgLS0tLS0gCitGcm9tOiAiTWFyY2luIEp1c3praWV3aWN6IiA8ZmlybWFAaHJ3Lm9uZS5wbD4KK1RvOiAiRG9uIENhcHBzIiA8ZG9uLmNhcHBzMkB2ZXJpem9uLm5ldD47ICJXaWxsaWFtIEQuIE5vcmNvdHQiIAorPHdub3Jjb3R0QHVzLm9yYWNsZS5jb20+CitTZW50OiBTdW5kYXksIE9jdG9iZXIgMjksIDIwMDYgNDo1NSBQTQorU3ViamVjdDogaW96b25lMyAyNjMgcGF0Y2ggZm9yIGFybSBhbmQgTGljZW5zZSBxdWVzdGlvbgorCisKKz4gTW9ybmluZworPgorPiBJIHdhbnQgdG8gaW5jbHVkZSBpb3pvbmUzIGluIE9wZW5FbWJlZGRlZCBbMV0gbWV0YWRhdGEgdG8gZ2l2ZSBpdCBmb3IKKz4gb3RoZXIgZGV2ZWxvcGVycy4gQ3VycmVudGx5IE9FIGlzIHVzZWQgdG8gYnVpbGQgZmV3IGRpc3RyaWJ1dGlvbnMgZm9yCis+IG1pc2MgcGxhdGZvcm1zOiBBUk0sIFNIMywgU0g0LCB4ODYsIFBvd2VyUEMgYW5kIGRpZmZlcmVudCB0eXBlcyBvZgorPiBtYWNoaW5lcyAoUERBLCBzZXR0b3Bib3gsIGRldmJvYXJkcywgZGVza3RvcHMsIHRoaW4gY2xpZW50cywgcm91dGVycykuCis+Cis+IEFjY29yZGluZyB0byB5b3VyIGRpc3RyaWJ1dGlvbiBvZiBkZXJpdmF0aW9ucyBpcyBmb3JiaWRkZW4uIFBhY2thZ2luZworPiBpb3pvbmUzIGluIE9wZW5FbWJlZGRlZCB3aWxsIG5vdCBpbnZvbHZlIGFueSBzb3VyY2UgY29kZSBjaGFuZ2VzLiBCdXQKKz4gd2hlbiBJIHdhcyBidWlsZGluZyBpdCBmb3IgQVJNIEkgZGlzY292ZXJlZCB0aGF0IGZpbGVvcCBiaW5hcnkgd2FzIG5vdAorPiBidWlsdCAtIHNvIEkgY3JlYXRlZCBwYXRjaCBmb3IgaXQgKGF0dGFjaGVkKS4gTm90IHlldCB0ZXN0ZWQgaXQgb24gdGFyZ2V0Cis+IGRldmljZS4KKz4KKz4gVGh1cywgSSBzZWVrIHlvdXIgd3JpdHRlbiBwZXJtaXNzaW9uIHZpYSBlLW1haWwgdG8gZGlzdHJpYnV0ZSBhIHBhY2thZ2Ugb2YKKz4gdGhlIHVubW9kaWZpZWQgc291cmNlIGNvZGUgYW5kIGFsc28gYSBwYWNrYWdlIG9mIHRoZSBwcmUtY29tcGlsZWQgYmluYXJ5LgorPiBZb3VyIGNvcHlyaWdodCBzdGF0ZW1lbnQgd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgcGFja2FnZS4KKz4KKz4KKz4gMS4gaHR0cDovL3d3dy5vcGVuZW1iZWRkZWQub3JnLworPgorPiBSZWdhcmRzCis+IC0tIAorPiBKSUQ6IGhydy1qYWJiZXIub3JnCis+IE9wZW5FbWJlZGRlZCBkZXZlbG9wZXIvY29uc3VsdGFudAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvaW96b25lMy9pb3pvbmUzXzQxNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9pb3pvbmUzL2lvem9uZTNfNDE0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0MzczYjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvaW96b25lMy9pb3pvbmUzXzQxNC5iYgpAQCAtMCwwICsxLDExNCBAQAorU1VNTUFSWSA9ICJGaWxlc3lzdGVtIGFuZCBEaXNrIEJlbmNobWFya2luZyBUb29sIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5pb3pvbmUub3JnLyIKK0FVVEhPUiA9ICJEb24gQ2FwcHMgPGRvbi5jYXBwczJAdmVyaXpvbi5uZXQ+LCBXaWxsaWFtIEQuIE5vcmNvdHQgPHdub3Jjb3R0QHVzLm9yYWNsZS5jb20+IgorU0VDVElPTiA9ICJjb25zb2xlL3Rlc3RzIgorTElDRU5TRSA9ICJpb3pvbmUzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vaW96b25lLmM7YmVnaW5saW5lPTI2NjtlbmRsaW5lPTI3MDttZDU9YWI0MmE2MTg1ZmQwNDQzOTc4ODcxZjExYTAwN2FjMGIiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5pb3pvbmUub3JnL3NyYy9jdXJyZW50LyR7QlBOfV8ke1BWfS50YXIgXAorICAgIGZpbGU6Ly9jb3B5cmlnaHQudHh0IFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhNDBkY2RhNTkzZjU4NDFkMGFhZmZlOWYyMTE3MjAyMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5ZjYwZTg1NGQ3YmM1YmMzZGUxNTM1NWNmNTYyMWUxNTA5OGJkNzQ0YTI2ODQ1ZDExNzMwYjMwNjBmNGE1ZmZmIgorCitTID0gIiR7V09SS0RJUn0vJHtCUE59XyR7UFZ9L3NyYy9jdXJyZW50LyIKKworIworIyBBbGwgb3RoZXIgYXJjaGVzIGNhbiB1c2UgdGhlIGRlZmF1bHQgT0VNQUtFIGV4Y2VwdCB0aG9zZQorIyBleHBsaWNpdGx5IGxpc3RlZCBiZWxvdy4gQW5vdGhlciwgdGhlIGlvem9uZTMgTWFrZWZpbGUKKyMgbmVlZHMgdG8gYmUgdG9sZCBhYm91dCB0aGUgY3Jvc3MtY29tcGlsZXIgZXhwbGljaXRseSBoZXJlLgorIworRVhUUkFfT0VNQUtFX3Bvd2VycGMgPSAibGludXgtcG93ZXJwYyBDQz0nJHtDQ30nIEdDQz0nJHtDQ30nIgorRVhUUkFfT0VNQUtFX3Bvd2VycGM2NCA9ICJsaW51eC1wb3dlcnBjNjQgQ0M9JyR7Q0N9JyBHQ0M9JyR7Q0N9JyIKK0VYVFJBX09FTUFLRV9hcm0gPSAibGludXgtYXJtIENDPScke0NDfScgR0NDPScke0NDfSciCitFWFRSQV9PRU1BS0UgPSAibGludXggQ0M9JyR7Q0N9JyBHQ0M9JyR7Q0N9JyIKKworVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9IFwKKyAgICAgICAgICAgICAgICR7RH0ke21hbmRpcn0vbWFuMSBcCisgICAgICAgICAgICAgICAke0R9JHtkYXRhZGlyfS9kb2MvJHtCUE59L2V4YW1wbGVzCisKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9pb3pvbmUgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L2ZpbGVvcCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vJHtCUE59XyR7UFZ9L2RvY3MvaW96b25lLjEgJHtEfSR7bWFuZGlyfS9tYW4xLworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2NvcHlyaWdodC50eHQgJHtEfSR7ZGF0YWRpcn0vZG9jLyR7QlBOfS8KKworICAgIGluc3RhbGwgLW0gMDY0NCAke1N9LyouZGVtICR7RH0ke2RhdGFkaXJ9L2RvYy8ke0JQTn0vZXhhbXBsZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9jbGllbnRfbGlzdCAke0R9JHtkYXRhZGlyfS9kb2MvJHtCUE59L2V4YW1wbGVzCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vR251cGxvdC50eHQgJHtEfSR7ZGF0YWRpcn0vZG9jLyR7QlBOfS9leGFtcGxlcworCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vR2VuZXJhdGVfR3JhcGhzICR7RH0ke2RhdGFkaXJ9L2RvYy8ke0JQTn0vZXhhbXBsZXMKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9nZW5nbnVwbG90LnNoICR7RH0ke2RhdGFkaXJ9L2RvYy8ke0JQTn0vZXhhbXBsZXMKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9yZXBvcnQucGwgJHtEfSR7ZGF0YWRpcn0vZG9jLyR7QlBOfS9leGFtcGxlcworCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vJHtCUE59XyR7UFZ9L2RvY3MvSW96b25lX3BzLmd6ICR7RH0ke2RhdGFkaXJ9L2RvYy8ke0JQTn0vCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vJHtCUE59XyR7UFZ9L2RvY3MvSU96b25lX21zd29yZF85OC5wZGYgJHtEfSR7ZGF0YWRpcn0vZG9jLyR7QlBOfS8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS8ke0JQTn1fJHtQVn0vZG9jcy9SdW5fcnVsZXMuZG9jICR7RH0ke2RhdGFkaXJ9L2RvYy8ke0JQTn0vCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RvYy8ke1BOfS9jb3B5cmlnaHQudHh0IgorCisjIExJQ0VOU0U6CisjCisjICBDb3B5cmlnaHQgMTk5MSwgMTk5MiwgMTk5NCwgMTk5OCwgMTk5OSwgMjAwMiAgIFdpbGxpYW0gRC4gTm9yY290dAorIworIyAgTGljZW5zZSB0byBmcmVlbHkgdXNlIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgaXMgaGVyZWJ5IGdyYW50ZWQKKyMgIGJ5IHRoZSBhdXRob3IsIHN1YmplY3QgdG8gdGhlIGNvbmRpdGlvbiB0aGF0IHRoaXMgY29weXJpZ2h0IG5vdGljZQorIyAgcmVtYWlucyBpbnRhY3QuICBUaGUgYXV0aG9yIHJldGFpbnMgdGhlIGV4Y2x1c2l2ZSByaWdodCB0byBwdWJsaXNoCisjICBkZXJpdmF0aXZlIHdvcmtzIGJhc2VkIG9uIHRoaXMgd29yaywgaW5jbHVkaW5nLCBidXQgbm90IGxpbWl0ZWQgdG8KKyMgIHJldmlzZWQgdmVyc2lvbnMgb2YgdGhpcyB3b3JrLgorIworCisjCisjIEJlbG93IGlzIGF1dGhvciByZXBseSB0byBxdWVzdGlvbiBhYm91dCBkaXN0cmlidXRpbmcgaW96b25lMyBpbgorIyBPcGVuRW1iZWRkZWQ6CisjCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIworIyBNYXJjaW4sCisjCisjICAgICBSZS1kaXN0cmlidXRpb24gaXMgcGVybWl0dGVkIGFzIGxvbmcgYXMgdGhlIGNvcHlyaWdodCBpcworIyAgICAgbWFpbnRhaW5lZCBhbmQgdGhlIHNvdXJjZSBjb2RlIGlzIG5vdCBjaGFuZ2VkLiBJIGRvIG5vdAorIyAgICAgc2VlIGEgcHJvYmxlbSB3aXRoIHlvdXIgbW9kcyB0byBlbmFibGUgZmlsZW9wIGZvciBMaW51eC1hcm0sCisjICAgICBhcyB0aGVzZSBtb2RzIGhhdmUgYmVlbiByZXR1cm5lZCB0byB0aGUgSW96b25lIGZvbGtzLAorIyAgICAgYW5kIHRoZXkgaGF2ZSBiZWVuIGFjY2VwdGVkIGZvciBpbmNsdXNpb24gaW4gdGhlIG5leHQKKyMgICAgIHJlbGVhc2UgOi0pCisjCisjIFRoYW5rIHlvdSBmb3IgeW91ciBjb250cmlidXRpb24sCisjIERvbiBDYXBwcworIworIyAtLS0tLSBPcmlnaW5hbCBNZXNzYWdlIC0tLS0tCisjIEZyb206ICJNYXJjaW4gSnVzemtpZXdpY3oiIDxmaXJtYUBocncub25lLnBsPgorIyBUbzogIkRvbiBDYXBwcyIgPGRvbi5jYXBwczJAdmVyaXpvbi5uZXQ+OyAiV2lsbGlhbSBELiBOb3Jjb3R0IgorIyA8d25vcmNvdHRAdXMub3JhY2xlLmNvbT4KKyMgU2VudDogU3VuZGF5LCBPY3RvYmVyIDI5LCAyMDA2IDQ6NTUgUE0KKyMgU3ViamVjdDogaW96b25lMyAyNjMgcGF0Y2ggZm9yIGFybSBhbmQgTGljZW5zZSBxdWVzdGlvbgorIworIworIyA+IE1vcm5pbmcKKyMgPgorIyA+IEkgd2FudCB0byBpbmNsdWRlIGlvem9uZTMgaW4gT3BlbkVtYmVkZGVkIFsxXSBtZXRhZGF0YSB0byBnaXZlIGl0IGZvcgorIyA+IG90aGVyIGRldmVsb3BlcnMuIEN1cnJlbnRseSBPRSBpcyB1c2VkIHRvIGJ1aWxkIGZldyBkaXN0cmlidXRpb25zIGZvcgorIyA+IG1pc2MgcGxhdGZvcm1zOiBBUk0sIFNIMywgU0g0LCB4ODYsIFBvd2VyUEMgYW5kIGRpZmZlcmVudCB0eXBlcyBvZgorIyA+IG1hY2hpbmVzIChQREEsIHNldHRvcGJveCwgZGV2Ym9hcmRzLCBkZXNrdG9wcywgdGhpbiBjbGllbnRzLCByb3V0ZXJzKS4KKyMgPgorIyA+IEFjY29yZGluZyB0byB5b3VyIGRpc3RyaWJ1dGlvbiBvZiBkZXJpdmF0aW9ucyBpcyBmb3JiaWRkZW4uIFBhY2thZ2luZworIyA+IGlvem9uZTMgaW4gT3BlbkVtYmVkZGVkIHdpbGwgbm90IGludm9sdmUgYW55IHNvdXJjZSBjb2RlIGNoYW5nZXMuIEJ1dAorIyA+IHdoZW4gSSB3YXMgYnVpbGRpbmcgaXQgZm9yIEFSTSBJIGRpc2NvdmVyZWQgdGhhdCBmaWxlb3AgYmluYXJ5IHdhcyBub3QKKyMgPiBidWlsdCAtIHNvIEkgY3JlYXRlZCBwYXRjaCBmb3IgaXQgKGF0dGFjaGVkKS4gTm90IHlldCB0ZXN0ZWQgaXQgb24gdGFyZ2V0CisjID4gZGV2aWNlLgorIyA+CisjID4gVGh1cywgSSBzZWVrIHlvdXIgd3JpdHRlbiBwZXJtaXNzaW9uIHZpYSBlLW1haWwgdG8gZGlzdHJpYnV0ZSBhIHBhY2thZ2Ugb2YKKyMgPiB0aGUgdW5tb2RpZmllZCBzb3VyY2UgY29kZSBhbmQgYWxzbyBhIHBhY2thZ2Ugb2YgdGhlIHByZS1jb21waWxlZCBiaW5hcnkuCisjID4gWW91ciBjb3B5cmlnaHQgc3RhdGVtZW50IHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhlIHBhY2thZ2UuCisjID4KKyMgPgorIyA+IDEuIGh0dHA6Ly93d3cub3BlbmVtYmVkZGVkLm9yZy8KKyMgPgorIyA+IFJlZ2FyZHMKKyMgPiAtLQorIyA+IEpJRDogaHJ3LWphYmJlci5vcmcKKyMgPiBPcGVuRW1iZWRkZWQgZGV2ZWxvcGVyL2NvbnN1bHRhbnQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2lwZXJmL2lwZXJmLTIuMC41LzAwMDEtZml4LW91dC1vZi10cmVlLWNvbmZpZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9pcGVyZi9pcGVyZi0yLjAuNS8wMDAxLWZpeC1vdXQtb2YtdHJlZS1jb25maWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZThhMDI5NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9pcGVyZi9pcGVyZi0yLjAuNS8wMDAxLWZpeC1vdXQtb2YtdHJlZS1jb25maWcucGF0Y2gKQEAgLTAsMCArMSw1MiBAQAoraXBlcmY6IGZpeCBvdXQgb2YgdHJlZSBjb25maWd1cmF0aW9uCisKK1RoZSBjb25maWd1cmUgc3RlcCB1c2VzIGEgcGFja2FnZSBoZWFkZXIgdG8gY2hlY2sgZm9yIHN1cHBvcnQgb2YgdHlwZXMvZGVjbGFyZXMsCit0aGlzIHBhY2thZ2UgaGVhZGVyIGVuY2Fwc3VsYXRlcyBhbGwgdGhlIHJlcXVpcmVkIHN5c3RlbSBoZWFkZXIgZm9yIHByb3ZpZGluZwordGhlIG5lZWRlZCByZXNvdXJjZXMuIFdoZW4gY29uZmlndXJlZCBmcm9tIGFuIG91dCBvZiB0cmVlIGRpcmVjdG9yeSB0aGUgcGFja2FnZQoraGVhZGVyIGlzIG5vdCBmb3VuZCBkdWUgdG8gdGhlIGhhcmQgcGF0aC4KK1dlIG5vdyBtYWtlIHRoZSBwYXRoIGZvciBwYWNrYWdlIGhlYWRlciByZWxhdGl2ZSB0byBvdXIgJ3NyY2Rpcicgc28gaXQgaXMKK2ZvdW5kIGFwcHJvcHJpYXRlbHkuCisKK1NpZ25lZC1vZmYtYnk6IEF3YWlzIEJlbGFsIDxhd2Fpc19iZWxhbEBtZW50b3IuY29tPgorLS0tCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCAyYjNmZDIwLi5kNDIwZjllIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0xNzYsOCArMTc2LDggQEAgZG5sIENoZWNrIGZvciBzeXN0ZW0gc2VydmljZXMKKyAKKyBkbmwgY2hlY2sgZm9yIG11bHRpY2FzdAorIGlmIHRlc3QgIiRhY19jdl9tdWx0aWNhc3QiICE9IG5vOyB0aGVuCistICBBQ19DSEVDS19UWVBFUyhzdHJ1Y3QgaXBfbXJlcSwsLFsjaW5jbHVkZSAiY29tcGF0L2hlYWRlcnNfc2xpbS5oIl0pCistICBBQ19DSEVDS19ERUNMUyhJUF9BRERfTUVNQkVSU0hJUCwsLFsjaW5jbHVkZSAiY29tcGF0L2hlYWRlcnNfc2xpbS5oIl0pCisrICBBQ19DSEVDS19UWVBFUyhzdHJ1Y3QgaXBfbXJlcSwsLFsjaW5jbHVkZSAiJHtzcmNkaXJ9L2NvbXBhdC9oZWFkZXJzX3NsaW0uaCJdKQorKyAgQUNfQ0hFQ0tfREVDTFMoSVBfQUREX01FTUJFUlNISVAsLCxbI2luY2x1ZGUgIiR7c3JjZGlyfS9jb21wYXQvaGVhZGVyc19zbGltLmgiXSkKKyAgIEFDX01TR19DSEVDS0lORyhmb3IgbXVsdGljYXN0IHN1cHBvcnQpCisgICBhY19jdl9tdWx0aWNhc3Q9bm8KKyAgIGlmIHRlc3QgIiRhY19jdl9oYXZlX2RlY2xfSVBfQUREX01FTUJFUlNISVAiID0geWVzOyB0aGVuCitAQCAtMTkzLDkgKzE5Myw5IEBAIGZpCisgCisgZG5sIGNoZWNrIGZvciBJUHY2CisgaWYgdGVzdCAiJGFjX2N2X2hhdmVfaXB2NiIgIT0gbm87IHRoZW4KKy0gIEFDX0NIRUNLX1RZUEVTKHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlLCwsWyNpbmNsdWRlICJjb21wYXQvaGVhZGVyc19zbGltLmgiXSkKKy0gIEFDX0NIRUNLX1RZUEVTKHN0cnVjdCBzb2NrYWRkcl9pbjYsLCxbI2luY2x1ZGUgImNvbXBhdC9oZWFkZXJzX3NsaW0uaCJdKQorLSAgQUNfQ0hFQ0tfREVDTFMoQUZfSU5FVDYsLCxbI2luY2x1ZGUgImNvbXBhdC9oZWFkZXJzX3NsaW0uaCJdKQorKyAgQUNfQ0hFQ0tfVFlQRVMoc3RydWN0IHNvY2thZGRyX3N0b3JhZ2UsLCxbI2luY2x1ZGUgIiR7c3JjZGlyfS9jb21wYXQvaGVhZGVyc19zbGltLmgiXSkKKysgIEFDX0NIRUNLX1RZUEVTKHN0cnVjdCBzb2NrYWRkcl9pbjYsLCxbI2luY2x1ZGUgIiR7c3JjZGlyfS9jb21wYXQvaGVhZGVyc19zbGltLmgiXSkKKysgIEFDX0NIRUNLX0RFQ0xTKEFGX0lORVQ2LCwsWyNpbmNsdWRlICIke3NyY2Rpcn0vY29tcGF0L2hlYWRlcnNfc2xpbS5oIl0pCisgICBBQ19NU0dfQ0hFQ0tJTkcoZm9yIElQdjYgaGVhZGVycyBhbmQgc3RydWN0dXJlcykKKyAgIGFjX2N2X2hhdmVfaXB2Nj1ubworICAgaWYgdGVzdCAiJGFjX2N2X3R5cGVfc3RydWN0X3NvY2thZGRyX3N0b3JhZ2UiID0geWVzOyB0aGVuCitAQCAtMjExLDkgKzIxMSw5IEBAIGZpCisgCisgaWYgdGVzdCAiJGFjX2N2X2hhdmVfaXB2NiIgPSB5ZXM7IHRoZW4KKyAgIGlmIHRlc3QgIiRhY19jdl9tdWx0aWNhc3QiID0geWVzOyB0aGVuCistICAgIEFDX0NIRUNLX1RZUEVTKHN0cnVjdCBpcHY2X21yZXEsLCxbI2luY2x1ZGUgImNvbXBhdC9oZWFkZXJzX3NsaW0uaCJdKQorLSAgICBBQ19DSEVDS19ERUNMUyhJUFY2X0FERF9NRU1CRVJTSElQLCwsWyNpbmNsdWRlICJjb21wYXQvaGVhZGVyc19zbGltLmgiXSkKKy0gICAgQUNfQ0hFQ0tfREVDTFMoSVBWNl9NVUxUSUNBU1RfSE9QUywsLFsjaW5jbHVkZSAiY29tcGF0L2hlYWRlcnNfc2xpbS5oIl0pCisrICAgIEFDX0NIRUNLX1RZUEVTKHN0cnVjdCBpcHY2X21yZXEsLCxbI2luY2x1ZGUgIiR7c3JjZGlyfS9jb21wYXQvaGVhZGVyc19zbGltLmgiXSkKKysgICAgQUNfQ0hFQ0tfREVDTFMoSVBWNl9BRERfTUVNQkVSU0hJUCwsLFsjaW5jbHVkZSAiJHtzcmNkaXJ9L2NvbXBhdC9oZWFkZXJzX3NsaW0uaCJdKQorKyAgICBBQ19DSEVDS19ERUNMUyhJUFY2X01VTFRJQ0FTVF9IT1BTLCwsWyNpbmNsdWRlICIke3NyY2Rpcn0vY29tcGF0L2hlYWRlcnNfc2xpbS5oIl0pCisgICAgIEFDX01TR19DSEVDS0lORyhmb3IgSVB2NiBtdWx0aWNhc3Qgc3VwcG9ydCkKKyAgICAgYWNfY3ZfaGF2ZV9pcHY2X211bHRpY2FzdD1ubworICAgICBpZiB0ZXN0ICIkYWNfY3ZfdHlwZV9zdHJ1Y3RfaXB2Nl9tcmVxIiA9IHllczsgdGhlbgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2lwZXJmL2lwZXJmLTIuMC41L2lwZXJmLTIuMC41X01hblBhZ2UucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvaXBlcmYvaXBlcmYtMi4wLjUvaXBlcmYtMi4wLjVfTWFuUGFnZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xMmU4ZjQ2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2lwZXJmL2lwZXJmLTIuMC41L2lwZXJmLTIuMC41X01hblBhZ2UucGF0Y2gKQEAgLTAsMCArMSw4IEBACitkaWZmIC0tZ2l0IGlwZXJmLTIuMC41L21hbi9NYWtlZmlsZS5hbSBpcGVyZi0yLjAuNS9tYW4vTWFrZWZpbGUuYW0KKyBpbmRleCBlZDk3YmM2Li43Mjg4NzNmIDEwMDY0NAorLS0tIGlwZXJmLTIuMC41L21hbi9NYWtlZmlsZS5hbQorKysrIGlwZXJmLTIuMC41L21hbi9NYWtlZmlsZS5hbQorQEAgLTEsMiArMSBAQAorLW1hbl9NQU5TID0gaXBlcmYuMQorLWRpc3RfbWFuX01BTlMgPSAkKG1hbl9NQU5TKQorK2Rpc3RfbWFuX01BTlMgPSBpcGVyZi4xCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvaXBlcmYvaXBlcmZfMi4wLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvaXBlcmYvaXBlcmZfMi4wLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGU2Njc5MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9pcGVyZi9pcGVyZl8yLjAuNS5iYgpAQCAtMCwwICsxLDE5IEBACitERVNDUklQVElPTiA9ICJJcGVyZiBpcyBhIHRvb2wgdG8gbWVhc3VyZSBtYXhpbXVtIFRDUCBiYW5kd2lkdGgsIGFsbG93aW5nIHRoZSB0dW5pbmcgb2YgdmFyaW91cyBwYXJhbWV0ZXJzIGFuZCBVRFAgY2hhcmFjdGVyaXN0aWNzIgorSE9NRVBBR0UgPSAiaHR0cDovL2Rhc3QubmxhbnIubmV0L1Byb2plY3RzL0lwZXJmLyIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorTElDRU5TRSA9ICJCU0QtMi1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lODQ3OGVhZTlmNDc5ZTM5YmMzNDk3NTE5MzM2MDI5OCIKKworU1JDX1VSSSA9ICIgJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2lwZXJmLyR7QlB9LnRhci5neiBcCisgICAgICAgICAgICBmaWxlOi8vaXBlcmYtMi4wLjVfTWFuUGFnZS5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS1maXgtb3V0LW9mLXRyZWUtY29uZmlnLnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0NGI1NTM2YjY3NzE5ZjQyNTBmYWVkNjMyYTNjZDAxNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2MzZiNGVmZjA0MzFjZWE4MDY2N2VhODVhNjdjZTRjNjg2OTg3NjBhOTgzN2UxZTlkMTMwOTZkMjAzNjIyNjViIgorCitTID0gIiR7V09SS0RJUn0vJHtCUH0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiLS1leGVjLXByZWZpeD0ke1NUQUdJTkdfRElSX0hPU1R9JHtsYXlvdXRfZXhlY19wcmVmaXh9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2lwZXJmMy9pcGVyZjMvYXV0b21ha2UtZm9yZWlnbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9pcGVyZjMvaXBlcmYzL2F1dG9tYWtlLWZvcmVpZ24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDZjMzk0ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9pcGVyZjMvaXBlcmYzL2F1dG9tYWtlLWZvcmVpZ24ucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorUGFzcyB0aGUgJ2ZvcmVpZ24nIG9wdGlvbiB0byBhdXRvbWFrZSB0byBlbmFibGUgaXBlcmYzIHRvIGJ1aWxkLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IENodW5yb25nIEd1byA8YjQwMjkwQGZyZWVzY2FsZS5jb20+CisKKy0tLSBhL2NvbmZpZ3VyZS5hYwkyMDE1LTEwLTE5IDAyOjQ5OjMwLjQ3MTg2NzM1MiAtMDUwMAorKysrIGIvY29uZmlndXJlLmFjCTIwMTUtMTAtMTkgMDI6NDY6MzYuMjA3ODczNTcyIC0wNTAwCitAQCAtMzMsNyArMzMsNyBAQAorIAorIAorICMgSW5pdGlhbGl6ZSB0aGUgYXV0b21ha2Ugc3lzdGVtCistQU1fSU5JVF9BVVRPTUFLRQorK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ25dKQorIEFNX01BSU5UQUlORVJfTU9ERQorIEFNX0NPTkZJR19IRUFERVIoc3JjL2lwZXJmX2NvbmZpZy5oKQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2lwZXJmMy9pcGVyZjNfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2lwZXJmMy9pcGVyZjNfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhMGYyOGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvaXBlcmYzL2lwZXJmM19naXQuYmIKQEAgLTAsMCArMSwyOCBAQAorU1VNTUFSWSA9ICJOZXR3b3JrIGJlbmNobWFyayB0b29sIgorREVTQ1JJUFRJT04gPSAiXAoraXBlcmYgaXMgYSB0b29sIGZvciBhY3RpdmUgbWVhc3VyZW1lbnRzIG9mIHRoZSBtYXhpbXVtIGFjaGlldmFibGUgYmFuZHdpZHRoIFwKK29uIElQIG5ldHdvcmtzLiBJdCBzdXBwb3J0cyB0dW5pbmcgb2YgdmFyaW91cyBwYXJhbWV0ZXJzIHJlbGF0ZWQgdG8gdGltaW5nLCBcCitwcm90b2NvbHMsIGFuZCBidWZmZXJzLiBGb3IgZWFjaCB0ZXN0IGl0IHJlcG9ydHMgdGhlIGJhbmR3aWR0aCwgbG9zcywgYW5kIFwKK290aGVyIHBhcmFtZXRlcnMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3NvZnR3YXJlLmVzLm5ldC9pcGVyZi8iCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL2VzbmV0L2lwZXJmL2lzc3VlcyIKK0FVVEhPUiA9ICJFU05FVCA8aW5mb0Blcy5uZXQ+LCBMYXdyZW5jZSBCZXJrZWxleSBOYXRpb25hbCBMYWJvcmF0b3J5IDx3ZWJzdXBwb3J0QGxibC5nb3Y+IgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0wNjJhYjFiYzMzZmFlMTkyNjM4N2FjMTI3NGNiMDg3MyIKKworU1JDX1VSSSA9ICJcCisgICAgZ2l0Oi8vZ2l0aHViLmNvbS9lc25ldC9pcGVyZi5naXQgXAorICAgIGZpbGU6Ly9hdXRvbWFrZS1mb3JlaWduLnBhdGNoIFwKKyIKKworUFYgPSAiMy4xK2dpdHIke1NSQ1BWfSIKK1NSQ1JFViA9ICJlMzk2MTM0OTUyYTAxMTk5MzI2NjY1ZDFkZjdjNTFhZTllNjJlOTQ1IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scworCitQQUNLQUdFQ09ORklHW2xrc2N0cF0gPSAiYWNfY3ZfaGVhZGVyX25ldGluZXRfc2N0cF9oPXllcyxhY19jdl9oZWFkZXJfbmV0aW5ldF9zY3RwX2g9bm8sbGtzY3RwLXRvb2xzIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJodWdldGxiZnMvZmlsZXMvMDAwMS1pbnN0YWxsLXBlcmwtbGliLXRvLWRpcmVjdG9yeS1wZXJsLWluc3RlYWQtb2YtcGVybDUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbGliaHVnZXRsYmZzL2ZpbGVzLzAwMDEtaW5zdGFsbC1wZXJsLWxpYi10by1kaXJlY3RvcnktcGVybC1pbnN0ZWFkLW9mLXBlcmw1LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiOGQwZTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbGliaHVnZXRsYmZzL2ZpbGVzLzAwMDEtaW5zdGFsbC1wZXJsLWxpYi10by1kaXJlY3RvcnktcGVybC1pbnN0ZWFkLW9mLXBlcmw1LnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2UtY29yZSBzcGVjaWZpY10KKworbGliaHVnZXRsYmZzIGRlcGVuZHMgb24gcGVybCwgYW5kIHBlcmwgaW5zdGFsbHMgYSBkaXJlY3RvcnkgJ3BlcmwnCithbmQgbWFrZSBhIHN5bWxpbmsgJ3Blcmw1JyB0byBpdC4gU28ganVzdCBpbnN0YWxsIHBlcmwgbGlicyBpbgorbGliaHVnZXRsYmZzIHRvIGRpcmVjdG9yeSAncGVybCcgaW5zdGVhZCBvZiAncGVybDUnLiBUaGlzIGNhbiBhdm9pZAordGhlIGZvbGxvd2luZyBlcnJvcjoKK3wgQ2FsbGVkUHJvY2Vzc0Vycm9yOiBDb21tYW5kICd0YXIgLWNmIC0gLUMgLi4uL3BlcmwvNS4xNC4zLXIxL3N5c3Jvb3QtZGVzdGRpcgorfCAtcHMgLiB8IHRhciAteGYgLSAtQyAuLi4vdG1wL3N5c3Jvb3RzL3Q0MjQwcWRzJworfCByZXR1cm5lZCBub24temVybyBleGl0IHN0YXR1cyAyIHdpdGggb3V0cHV0Cit8IHRhcjogLi91c3IvbGliL3Blcmw1OiBDYW5ub3QgY3JlYXRlIHN5bWxpbmsgdG8gYHBlcmwnOiBGaWxlIGV4aXN0cworfCB0YXI6IEV4aXRpbmcgd2l0aCBmYWlsdXJlIHN0YXR1cyBkdWUgdG8gcHJldmlvdXMgZXJyb3JzCisKKworU2lnbmVkLW9mZi1ieTogVGluZyBMaXUgPGIyODQ5NUBmcmVlc2NhbGUuY29tPgorCistLS0gYS9NYWtlZmlsZW9sZAkyMDEzLTEwLTExIDIzOjA3OjMxLjc1OTQyMTMxOCAtMDUwMAorKysrIGIvTWFrZWZpbGUJMjAxMy0xMC0xMSAyMzowODowMS45MzU1NzExMjIgLTA1MDAKK0BAIC0xNzMsMTcgKzE3MywxNyBAQAorIERPQ0RJUiA9ICQoUFJFRklYKS9zaGFyZS9kb2MvbGliaHVnZXRsYmZzCisgCisgaWZkZWYgQ0MzMgorLVBNRElSID0gJChQUkVGSVgpL2xpYi9wZXJsNS9UTEJDCisrUE1ESVIgPSAkKFBSRUZJWCkvbGliL3BlcmwvVExCQworIGVuZGlmCisgCisgaWZkZWYgQ0M2NAorIGlmZXEgKCQoQVJDSCkseDg2XzY0KQorLVBNRElSID0gJChQUkVGSVgpL2xpYi9wZXJsNS9UTEJDCisrUE1ESVIgPSAkKFBSRUZJWCkvbGliL3BlcmwvVExCQworIGVsc2UKKyBpZmVxICgkKEFSQ0gpLGFhcmNoNjQpCistUE1ESVIgPSAkKFBSRUZJWCkvbGliL3Blcmw1L1RMQkMKKytQTURJUiA9ICQoUFJFRklYKS9saWIvcGVybC9UTEJDCisgZWxzZQorLVBNRElSID0gJChQUkVGSVgpL2xpYjY0L3Blcmw1L1RMQkMKKytQTURJUiA9ICQoUFJFRklYKS9saWI2NC9wZXJsL1RMQkMKKyBlbmRpZgorIGVuZGlmCisgZW5kaWYKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJodWdldGxiZnMvZmlsZXMvMDAwMS1ydW5fdGVzdC5weS1ub3QtdXNlLWhhcmQtY29kZWQtcGF0aC0uLW9iai1odWdlYWRtLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xpYmh1Z2V0bGJmcy9maWxlcy8wMDAxLXJ1bl90ZXN0LnB5LW5vdC11c2UtaGFyZC1jb2RlZC1wYXRoLS4tb2JqLWh1Z2VhZG0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzA4MmQ3ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJodWdldGxiZnMvZmlsZXMvMDAwMS1ydW5fdGVzdC5weS1ub3QtdXNlLWhhcmQtY29kZWQtcGF0aC0uLW9iai1odWdlYWRtLnBhdGNoCkBAIC0wLDAgKzEsNDMgQEAKK0Zyb20gYTg1ZmM0MzI0M2Y4YmZhZDEyZDMwNmE0YTBlMjMwZmI4YjNlODI4YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFRpbmcgTGl1IDxiMjg0OTVAZnJlZXNjYWxlLmNvbT4KK0RhdGU6IFdlZCwgMjEgQXVnIDIwMTMgMTU6NDQ6NTcgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gcnVuX3Rlc3QucHk6IG5vdCB1c2UgaGFyZCBjb2RlZCBwYXRoIC4uL29iai9odWdlYWRtCisKK0hhcmQgY29kZWQgcGF0aCBtYWtlcyB0aGUgc2NyaXB0IGltcG9zc2libGUgdG8gcnVuIG91dCBvZiBzb3VyY2UgdHJlZS4KK0FmdGVyICdtYWtlIGluc3RhbGwnLCB3ZSBjYW4gdXNlIGh1Z2VhZG0gdXRpbGl0eSB1bmRlciBERVNURElSLgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZAorCitTaWduZWQtb2ZmLWJ5OiBUaW5nIExpdSA8YjI4NDk1QGZyZWVzY2FsZS5jb20+CistLS0KKyB0ZXN0cy9ydW5fdGVzdHMucHkgfCAgIDEyICsrKysrKysrKysrLQorIDEgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3RzL3J1bl90ZXN0cy5weSBiL3Rlc3RzL3J1bl90ZXN0cy5weQoraW5kZXggZDlhNmIzNS4uYTliYWI4ZiAxMDA3NTUKKy0tLSBhL3Rlc3RzL3J1bl90ZXN0cy5weQorKysrIGIvdGVzdHMvcnVuX3Rlc3RzLnB5CitAQCAtMjMyLDkgKzIzMiwxOSBAQCBkZWYgZ2V0X3BhZ2VzaXplcygpOgorICAgICBVc2UgbGliaHVnZXRsYmZzJyBodWdlYWRtIHV0aWxpdHkgdG8gZ2V0IGEgbGlzdCBvZiBwYWdlIHNpemVzIHRoYXQgaGF2ZQorICAgICBhY3RpdmUgbW91bnQgcG9pbnRzIGFuZCBhdCBsZWFzdCBvbmUgaHVnZSBwYWdlIGFsbG9jYXRlZCB0byB0aGUgcG9vbC4KKyAgICAgIiIiCisrICAgIGxvY2FsX2VudiA9IG9zLmVudmlyb24uY29weSgpCisrICAgIGxvY2FsX2VudlsiUEFUSCJdID0gIi4uL29iajolcyIgJSBsb2NhbF9lbnYuZ2V0KCJQQVRIIiwgIiIpCisgICAgIHNpemVzID0gc2V0KCkKKyAgICAgb3V0ID0gIiIKKy0gICAgKHJjLCBvdXQpID0gYmFzaCgiLi4vb2JqL2h1Z2VhZG0gLS1wYWdlLXNpemVzIikKKysgICAgdHJ5OgorKyAgICAgICAgcCA9IHN1YnByb2Nlc3MuUG9wZW4oImh1Z2VhZG0gLS1wYWdlLXNpemVzIiwgc2hlbGw9VHJ1ZSwgZW52PWxvY2FsX2Vudiwgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSkKKysgICAgICAgIHJjID0gcC53YWl0KCkKKysgICAgZXhjZXB0IEtleWJvYXJkSW50ZXJydXB0OgorKyAgICAgICAgcmV0dXJuIHNpemVzCisrICAgIGV4Y2VwdCBPU0Vycm9yOgorKyAgICAgICAgcmV0dXJuIHNpemVzCisrICAgIG91dCA9IHAuc3Rkb3V0LnJlYWQoKS5zdHJpcCgpCisrCisgICAgIGlmIHJjICE9IDAgb3Igb3V0ID09ICIiOiByZXR1cm4gc2l6ZXMKKyAKKyAgICAgZm9yIHNpemUgaW4gb3V0LnNwbGl0KCJcbiIpOiBzaXplcy5hZGQoaW50KHNpemUpKQorLS0gCisxLjcuMy40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJodWdldGxiZnMvZmlsZXMvZml4LWxpYjY0LWNhbi1ub3QtYmUtc2hpcGVkLWluLTY0Yml0LXRhcmdldC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJodWdldGxiZnMvZmlsZXMvZml4LWxpYjY0LWNhbi1ub3QtYmUtc2hpcGVkLWluLTY0Yml0LXRhcmdldC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzZmYThhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xpYmh1Z2V0bGJmcy9maWxlcy9maXgtbGliNjQtY2FuLW5vdC1iZS1zaGlwZWQtaW4tNjRiaXQtdGFyZ2V0LnBhdGNoCkBAIC0wLDAgKzEsNzUgQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2UtY29yZSBzcGVjaWZpY10KKworCitmaXggdGhlIGJlbG93IGVycm9yOgorICBFUlJPUjogUUEgSXNzdWU6IGxpYmh1Z2V0bGJmczogRmlsZXMvZGlyZWN0b3JpZXMgd2VyZSBpbnN0YWxsZWQgYnV0IG5vdCBzaGlwcGVkCisgIC91c3IvbGliNjQKKyAgL3Vzci9saWI2NC9saWJodWdldGxiZnMuc28KKyAgL3Vzci9saWI2NC9saWJodWdldGxiZnMuYQorICAvdXNyL2xpYjY0L2xpYmh1Z2V0bGJmc19wcml2dXRpbHMuc28KKyAgL3Vzci9saWI2NC9wZXJsNQorICAvdXNyL2xpYjY0L3Blcmw1L1RMQkMKKyAgL3Vzci9saWI2NC9wZXJsNS9UTEJDL1BlcmZDb2xsZWN0LnBtCisgIC91c3IvbGliNjQvcGVybDUvVExCQy9SZXBvcnQucG0KKyAgL3Vzci9saWI2NC9wZXJsNS9UTEJDL0RhdGFDb2xsZWN0LnBtCisgIC91c3IvbGliNjQvcGVybDUvVExCQy9PcENvbGxlY3QucG0KKyQ8NTA+RVJST1I6IFFBIHJ1biBmb3VuZCBmYXRhbCBlcnJvcnMuIFBsZWFzZSBjb25zaWRlciBmaXhpbmcgdGhlbS4KKworCitTaWduZWQtb2ZmLWJ5OiBHdW8gQ2h1bnJvbmcgPEI0MDI5MEBmcmVlc2NhbGUuY29tPgorCistLS0gYS9NYWtlZmlsZQkyMDEzLTA5LTIzIDAyOjI4OjU3LjM0MDU2Njk5OCAtMDUwMAorKysrIGIvTWFrZWZpbGUJMjAxMy0wOS0yMyAwMjozMTowNS4zNDQ1Njk4OTYgLTA1MDAKK0BAIC0zMyw3ICszMyw2IEBACisgQ1BQRkxBR1MgKz0gLURfX0xJQkhVR0VUTEJGU19fIC1EUFBDX05PX1NFR01FTlRTCisgCisgQVJDSCA9ICQoc2hlbGwgdW5hbWUgLW0gfCBzZWQgLWUgcy9pLjg2L2kzODYvKQorLUNDID0gZ2NjCisgCisgQ1VTVE9NX0xEU0NSSVBUUyA9IHllcworIAorQEAgLTU5LDkgKzU4LDkgQEAKKyBDVVNUT01fTERTQ1JJUFRTID0gbm8KKyBlbHNlCisgaWZlcSAoJChBUkNIKSxhYXJjaDY0KQorLUNDNjQgPSBnY2MKKytDQzY0ID0gJChDQykKKyBFTEY2NCA9IGFhcmNoNjRlbGYKKy1UTVBMSUI2NCA9IGxpYjY0CisrVE1QTElCNjQgPSBsaWIKKyBDVVNUT01fTERTQ1JJUFRTID0gbm8KKyBlbHNlCisgaWZlcSAoJChBUkNIKSxpMzg2KQorQEAgLTcyLDcgKzcxLDcgQEAKKyBpZmVxICgkKEFSQ0gpLHg4Nl82NCkKKyBDQzY0ID0gJChDQykgLW02NAorIEVMRjY0ID0gZWxmX3g4Nl82NAorLVRNUExJQjY0ID0gbGliNjQKKytUTVBMSUI2NCA9IGxpYgorIFRNUExJQjMyID0gbGliCisgaWZuZXEgKCQoQlVJTERUWVBFKSxOQVRJVkVPTkxZKQorIENDMzIgPSAkKENDKSAtbTMyCitAQCAtMTcyLDExICsxNzEsMjMgQEAKKyBCSU5ESVIgPSAkKFBSRUZJWCkvc2hhcmUvbGliaHVnZXRsYmZzCisgRVhFRElSID0gJChQUkVGSVgpL2JpbgorIERPQ0RJUiA9ICQoUFJFRklYKS9zaGFyZS9kb2MvbGliaHVnZXRsYmZzCisrCisgaWZkZWYgQ0MzMgorIFBNRElSID0gJChQUkVGSVgpL2xpYi9wZXJsNS9UTEJDCisrZW5kaWYKKysKKytpZmRlZiBDQzY0CisraWZlcSAoJChBUkNIKSx4ODZfNjQpCisrUE1ESVIgPSAkKFBSRUZJWCkvbGliL3Blcmw1L1RMQkMKKytlbHNlCisraWZlcSAoJChBUkNIKSxhYXJjaDY0KQorK1BNRElSID0gJChQUkVGSVgpL2xpYi9wZXJsNS9UTEJDCisgZWxzZQorIFBNRElSID0gJChQUkVGSVgpL2xpYjY0L3Blcmw1L1RMQkMKKyBlbmRpZgorK2VuZGlmCisrZW5kaWYKKysKKyBNQU5ESVIxID0gJChQUkVGSVgpL3NoYXJlL21hbi9tYW4xCisgTUFORElSMyA9ICQoUFJFRklYKS9zaGFyZS9tYW4vbWFuMworIE1BTkRJUjcgPSAkKFBSRUZJWCkvc2hhcmUvbWFuL21hbjcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJodWdldGxiZnMvZmlsZXMvbGliaHVnZXRsYmZzLWF2b2lkLXNlYXJjaC1ob3N0LWxpYnJhcnktcGF0aC1mb3ItY3Jvcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJodWdldGxiZnMvZmlsZXMvbGliaHVnZXRsYmZzLWF2b2lkLXNlYXJjaC1ob3N0LWxpYnJhcnktcGF0aC1mb3ItY3Jvcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iM2ZkODQzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xpYmh1Z2V0bGJmcy9maWxlcy9saWJodWdldGxiZnMtYXZvaWQtc2VhcmNoLWhvc3QtbGlicmFyeS1wYXRoLWZvci1jcm9zLnBhdGNoCkBAIC0wLDAgKzEsOTkgQEAKK0Zyb20gMGEyODc3NDAwYTA4NmU5ZDZkZGQzMmE4MDQ2MmI3YTkzMTkyMWRjMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENodW5yb25nIEd1byA8QjQwMjkwQGZyZWVzY2FsZS5jb20+CitEYXRlOiBTdW4sIDggU2VwIDIwMTMgMjM6MjE6NDkgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gbGliaHVnZXRsYmZzOiBhdm9pZCBzZWFyY2ggaG9zdCBsaWJyYXJ5IHBhdGggZm9yIGNyb3NzIAorIGNvbXBpbGF0aW9uCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2UtY29yZSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQ2h1bnJvbmcgR3VvIDxCNDAyOTBAZnJlZXNjYWxlLmNvbT4KKy0tLQorIGxkc2NyaXB0cy9lbGYzMnBwY2xpbnV4LnhCICAgfCAgICAyICstCisgbGRzY3JpcHRzL2VsZjMycHBjbGludXgueEJEVCB8ICAgIDIgKy0KKyBsZHNjcmlwdHMvZWxmNjRwcGMueEIgICAgICAgIHwgICAgMiArLQorIGxkc2NyaXB0cy9lbGY2NHBwYy54QkRUICAgICAgfCAgICAyICstCisgbGRzY3JpcHRzL2VsZl94ODZfNjQueEIgICAgICB8ICAgIDIgKy0KKyBsZHNjcmlwdHMvZWxmX3g4Nl82NC54QkRUICAgIHwgICAgMiArLQorIDYgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGRzY3JpcHRzL2VsZjMycHBjbGludXgueEIgYi9sZHNjcmlwdHMvZWxmMzJwcGNsaW51eC54QgoraW5kZXggMjhhZDg4ZC4uMzNkNDgyZCAxMDA2NDQKKy0tLSBhL2xkc2NyaXB0cy9lbGYzMnBwY2xpbnV4LnhCCisrKysgYi9sZHNjcmlwdHMvZWxmMzJwcGNsaW51eC54QgorQEAgLTMsNyArMyw3IEBAIE9VVFBVVF9GT1JNQVQoImVsZjMyLXBvd2VycGMiLCAiZWxmMzItcG93ZXJwYyIsCisgCSAgICAgICJlbGYzMi1wb3dlcnBjIikKKyBPVVRQVVRfQVJDSChwb3dlcnBjOmNvbW1vbikKKyBFTlRSWShfc3RhcnQpCistU0VBUkNIX0RJUigiL3Vzci9wb3dlcnBjLWxpbnV4LWdudS9saWIiKTsgU0VBUkNIX0RJUigiL3Vzci9sb2NhbC9saWIiKTsgU0VBUkNIX0RJUigiL2xpYiIpOyBTRUFSQ0hfRElSKCIvdXNyL2xpYiIpOworKy8qU0VBUkNIX0RJUigiL3Vzci9wb3dlcnBjLWxpbnV4LWdudS9saWIiKTsgU0VBUkNIX0RJUigiL3Vzci9sb2NhbC9saWIiKTsgU0VBUkNIX0RJUigiL2xpYiIpOyBTRUFSQ0hfRElSKCIvdXNyL2xpYiIpOyovCisgSU5QVVQoLWxodWdldGxiZnMpOworIFBIRFJTCisgeworZGlmZiAtLWdpdCBhL2xkc2NyaXB0cy9lbGYzMnBwY2xpbnV4LnhCRFQgYi9sZHNjcmlwdHMvZWxmMzJwcGNsaW51eC54QkRUCitpbmRleCA0OTc4ODJiLi44MjM0NzVlIDEwMDY0NAorLS0tIGEvbGRzY3JpcHRzL2VsZjMycHBjbGludXgueEJEVAorKysrIGIvbGRzY3JpcHRzL2VsZjMycHBjbGludXgueEJEVAorQEAgLTMsNyArMyw3IEBAIE9VVFBVVF9GT1JNQVQoImVsZjMyLXBvd2VycGMiLCAiZWxmMzItcG93ZXJwYyIsCisgCSAgICAgICJlbGYzMi1wb3dlcnBjIikKKyBPVVRQVVRfQVJDSChwb3dlcnBjOmNvbW1vbikKKyBFTlRSWShfc3RhcnQpCistU0VBUkNIX0RJUigiL3Vzci9wb3dlcnBjLWxpbnV4LWdudS9saWIiKTsgU0VBUkNIX0RJUigiL3Vzci9sb2NhbC9saWIiKTsgU0VBUkNIX0RJUigiL2xpYiIpOyBTRUFSQ0hfRElSKCIvdXNyL2xpYiIpOworKy8qU0VBUkNIX0RJUigiL3Vzci9wb3dlcnBjLWxpbnV4LWdudS9saWIiKTsgU0VBUkNIX0RJUigiL3Vzci9sb2NhbC9saWIiKTsgU0VBUkNIX0RJUigiL2xpYiIpOyBTRUFSQ0hfRElSKCIvdXNyL2xpYiIpOyovCisgSU5QVVQoLWxodWdldGxiZnMpOworIFBIRFJTCisgeworZGlmZiAtLWdpdCBhL2xkc2NyaXB0cy9lbGY2NHBwYy54QiBiL2xkc2NyaXB0cy9lbGY2NHBwYy54QgoraW5kZXggMWE5YzFhYi4uOGNjNTU3ZCAxMDA2NDQKKy0tLSBhL2xkc2NyaXB0cy9lbGY2NHBwYy54QgorKysrIGIvbGRzY3JpcHRzL2VsZjY0cHBjLnhCCitAQCAtMyw3ICszLDcgQEAgT1VUUFVUX0ZPUk1BVCgiZWxmNjQtcG93ZXJwYyIsICJlbGY2NC1wb3dlcnBjIiwKKyAJICAgICAgImVsZjY0LXBvd2VycGMiKQorIE9VVFBVVF9BUkNIKHBvd2VycGM6Y29tbW9uNjQpCisgRU5UUlkoX3N0YXJ0KQorLVNFQVJDSF9ESVIoIi91c3IvcG93ZXJwYzY0LWxpbnV4LWdudS9saWI2NCIpOyBTRUFSQ0hfRElSKCIvdXNyL2xvY2FsL2xpYjY0Iik7IFNFQVJDSF9ESVIoIi9saWI2NCIpOyBTRUFSQ0hfRElSKCIvdXNyL2xpYjY0Iik7IFNFQVJDSF9ESVIoIi91c3IvcG93ZXJwYzY0LWxpbnV4LWdudS9saWIiKTsgU0VBUkNIX0RJUigiL3Vzci9sb2NhbC9saWIiKTsgU0VBUkNIX0RJUigiL2xpYiIpOyBTRUFSQ0hfRElSKCIvdXNyL2xpYiIpOworKy8qU0VBUkNIX0RJUigiL3Vzci9wb3dlcnBjNjQtbGludXgtZ251L2xpYjY0Iik7IFNFQVJDSF9ESVIoIi91c3IvbG9jYWwvbGliNjQiKTsgU0VBUkNIX0RJUigiL2xpYjY0Iik7IFNFQVJDSF9ESVIoIi91c3IvbGliNjQiKTsgU0VBUkNIX0RJUigiL3Vzci9wb3dlcnBjNjQtbGludXgtZ251L2xpYiIpOyBTRUFSQ0hfRElSKCIvdXNyL2xvY2FsL2xpYiIpOyBTRUFSQ0hfRElSKCIvbGliIik7IFNFQVJDSF9ESVIoIi91c3IvbGliIik7Ki8KKyBJTlBVVCgtbGh1Z2V0bGJmcyk7CisgUEhEUlMKKyB7CitkaWZmIC0tZ2l0IGEvbGRzY3JpcHRzL2VsZjY0cHBjLnhCRFQgYi9sZHNjcmlwdHMvZWxmNjRwcGMueEJEVAoraW5kZXggNTQ3NzI5NC4uNTNlMDc0OSAxMDA2NDQKKy0tLSBhL2xkc2NyaXB0cy9lbGY2NHBwYy54QkRUCisrKysgYi9sZHNjcmlwdHMvZWxmNjRwcGMueEJEVAorQEAgLTMsNyArMyw3IEBAIE9VVFBVVF9GT1JNQVQoImVsZjY0LXBvd2VycGMiLCAiZWxmNjQtcG93ZXJwYyIsCisgCSAgICAgICJlbGY2NC1wb3dlcnBjIikKKyBPVVRQVVRfQVJDSChwb3dlcnBjOmNvbW1vbjY0KQorIEVOVFJZKF9zdGFydCkKKy1TRUFSQ0hfRElSKCIvdXNyL3Bvd2VycGM2NC1saW51eC1nbnUvbGliNjQiKTsgU0VBUkNIX0RJUigiL3Vzci9sb2NhbC9saWI2NCIpOyBTRUFSQ0hfRElSKCIvbGliNjQiKTsgU0VBUkNIX0RJUigiL3Vzci9saWI2NCIpOyBTRUFSQ0hfRElSKCIvdXNyL3Bvd2VycGM2NC1saW51eC1nbnUvbGliIik7IFNFQVJDSF9ESVIoIi91c3IvbG9jYWwvbGliIik7IFNFQVJDSF9ESVIoIi9saWIiKTsgU0VBUkNIX0RJUigiL3Vzci9saWIiKTsKKysvKlNFQVJDSF9ESVIoIi91c3IvcG93ZXJwYzY0LWxpbnV4LWdudS9saWI2NCIpOyBTRUFSQ0hfRElSKCIvdXNyL2xvY2FsL2xpYjY0Iik7IFNFQVJDSF9ESVIoIi9saWI2NCIpOyBTRUFSQ0hfRElSKCIvdXNyL2xpYjY0Iik7IFNFQVJDSF9ESVIoIi91c3IvcG93ZXJwYzY0LWxpbnV4LWdudS9saWIiKTsgU0VBUkNIX0RJUigiL3Vzci9sb2NhbC9saWIiKTsgU0VBUkNIX0RJUigiL2xpYiIpOyBTRUFSQ0hfRElSKCIvdXNyL2xpYiIpOyovCisgSU5QVVQoIC1saHVnZXRsYmZzICk7CisgUEhEUlMKKyB7CitkaWZmIC0tZ2l0IGEvbGRzY3JpcHRzL2VsZl94ODZfNjQueEIgYi9sZHNjcmlwdHMvZWxmX3g4Nl82NC54QgoraW5kZXggZWQyMWEyYy4uYmE1MGU5ZiAxMDA2NDQKKy0tLSBhL2xkc2NyaXB0cy9lbGZfeDg2XzY0LnhCCisrKysgYi9sZHNjcmlwdHMvZWxmX3g4Nl82NC54QgorQEAgLTMsNyArMyw3IEBAIE9VVFBVVF9GT1JNQVQoImVsZjY0LXg4Ni02NCIsICJlbGY2NC14ODYtNjQiLAorIAkgICAgICAiZWxmNjQteDg2LTY0IikKKyBPVVRQVVRfQVJDSChpMzg2Ong4Ni02NCkKKyBFTlRSWShfc3RhcnQpCistU0VBUkNIX0RJUigiL3Vzci94ODZfNjQtbGludXgtZ251L2xpYjY0Iik7IFNFQVJDSF9ESVIoIi91c3IvbG9jYWwvbGliNjQiKTsgU0VBUkNIX0RJUigiL2xpYjY0Iik7IFNFQVJDSF9ESVIoIi91c3IvbGliNjQiKTsgU0VBUkNIX0RJUigiL3Vzci94ODZfNjQtbGludXgtZ251L2xpYiIpOyBTRUFSQ0hfRElSKCIvdXNyL2xvY2FsL2xpYiIpOyBTRUFSQ0hfRElSKCIvbGliIik7IFNFQVJDSF9ESVIoIi91c3IvbGliIik7CisrLypTRUFSQ0hfRElSKCIvdXNyL3g4Nl82NC1saW51eC1nbnUvbGliNjQiKTsgU0VBUkNIX0RJUigiL3Vzci9sb2NhbC9saWI2NCIpOyBTRUFSQ0hfRElSKCIvbGliNjQiKTsgU0VBUkNIX0RJUigiL3Vzci9saWI2NCIpOyBTRUFSQ0hfRElSKCIvdXNyL3g4Nl82NC1saW51eC1nbnUvbGliIik7IFNFQVJDSF9ESVIoIi91c3IvbG9jYWwvbGliIik7IFNFQVJDSF9ESVIoIi9saWIiKTsgU0VBUkNIX0RJUigiL3Vzci9saWIiKTsqLworIElOUFVUKC1saHVnZXRsYmZzKTsKKyAvKiBEbyB3ZSBuZWVkIGFueSBvZiB0aGVzZSBmb3IgZWxmPworICAgIF9fRFlOQU1JQyA9IDA7ICAgICovCitkaWZmIC0tZ2l0IGEvbGRzY3JpcHRzL2VsZl94ODZfNjQueEJEVCBiL2xkc2NyaXB0cy9lbGZfeDg2XzY0LnhCRFQKK2luZGV4IDE4NTUyMDIuLmM2MmQyNDUgMTAwNjQ0CistLS0gYS9sZHNjcmlwdHMvZWxmX3g4Nl82NC54QkRUCisrKysgYi9sZHNjcmlwdHMvZWxmX3g4Nl82NC54QkRUCitAQCAtMyw3ICszLDcgQEAgT1VUUFVUX0ZPUk1BVCgiZWxmNjQteDg2LTY0IiwgImVsZjY0LXg4Ni02NCIsCisgCSAgICAgICJlbGY2NC14ODYtNjQiKQorIE9VVFBVVF9BUkNIKGkzODY6eDg2LTY0KQorIEVOVFJZKF9zdGFydCkKKy1TRUFSQ0hfRElSKCIvdXNyL3g4Nl82NC1saW51eC1nbnUvbGliNjQiKTsgU0VBUkNIX0RJUigiL3Vzci9sb2NhbC9saWI2NCIpOyBTRUFSQ0hfRElSKCIvbGliNjQiKTsgU0VBUkNIX0RJUigiL3Vzci9saWI2NCIpOyBTRUFSQ0hfRElSKCIvdXNyL3g4Nl82NC1saW51eC1nbnUvbGliIik7IFNFQVJDSF9ESVIoIi91c3IvbG9jYWwvbGliIik7IFNFQVJDSF9ESVIoIi9saWIiKTsgU0VBUkNIX0RJUigiL3Vzci9saWIiKTsKKysvKlNFQVJDSF9ESVIoIi91c3IveDg2XzY0LWxpbnV4LWdudS9saWI2NCIpOyBTRUFSQ0hfRElSKCIvdXNyL2xvY2FsL2xpYjY0Iik7IFNFQVJDSF9ESVIoIi9saWI2NCIpOyBTRUFSQ0hfRElSKCIvdXNyL2xpYjY0Iik7IFNFQVJDSF9ESVIoIi91c3IveDg2XzY0LWxpbnV4LWdudS9saWIiKTsgU0VBUkNIX0RJUigiL3Vzci9sb2NhbC9saWIiKTsgU0VBUkNIX0RJUigiL2xpYiIpOyBTRUFSQ0hfRElSKCIvdXNyL2xpYiIpOyovCisgSU5QVVQoLWxodWdldGxiZnMpOworIC8qIERvIHdlIG5lZWQgYW55IG9mIHRoZXNlIGZvciBlbGY/CisgICAgX19EWU5BTUlDID0gMDsgICAgKi8KKy0tIAorMS43LjkuNworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbGliaHVnZXRsYmZzL2ZpbGVzL2xpYmh1Z2V0bGJmcy1hdm9pZC11c2luZy1yZXN0cmljdC1hcy12YXItbmFtZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJodWdldGxiZnMvZmlsZXMvbGliaHVnZXRsYmZzLWF2b2lkLXVzaW5nLXJlc3RyaWN0LWFzLXZhci1uYW1lLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3N2NmZTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbGliaHVnZXRsYmZzL2ZpbGVzL2xpYmh1Z2V0bGJmcy1hdm9pZC11c2luZy1yZXN0cmljdC1hcy12YXItbmFtZS5wYXRjaApAQCAtMCwwICsxLDM0IEBACitBdm9pZCB1c2luZyBrZXl3b3JkIHJlc3RyaWN0IGFzIHZhcmlhYmxlIG5hbWUgd2hpY2ggY2F1c2VzIGVycm9yIHdpdGggZ2NjIDUueDoKKworfCBodWdldXRpbHMuYzogSW4gZnVuY3Rpb24gJ19fbGhfaHVnZXRsYmZzX3NldHVwX2Vudic6Cit8IGh1Z2V1dGlscy5jOjMwNDo0MDogZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZpZXIgb3IgJygnIGJlZm9yZSAncmVzdHJpY3QnCit8ICAgIGNoYXIgKnAsICp0b2ssICpleGUsIGJ1ZltNQVhfRVhFKzFdLCByZXN0cmljdFtNQVhfRVhFXTsKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorLS0tCitkaWZmIC0tZ2l0IGEvaHVnZXV0aWxzLmMgYi9odWdldXRpbHMuYworaW5kZXggNTNhN2ZiZC4uYjlkNzAwMSAxMDA2NDQKKy0tLSBhL2h1Z2V1dGlscy5jCisrKysgYi9odWdldXRpbHMuYworQEAgLTMwMSwxNCArMzAxLDE0IEBAIHZvaWQgaHVnZXRsYmZzX3NldHVwX2VudigpCisgCisgCWVudiA9IGdldGVudigiSFVHRVRMQl9SRVNUUklDVF9FWEUiKTsKKyAJaWYgKGVudikgeworLQkJY2hhciAqcCwgKnRvaywgKmV4ZSwgYnVmW01BWF9FWEUrMV0sIHJlc3RyaWN0W01BWF9FWEVdOworKwkJY2hhciAqcCwgKnRvaywgKmV4ZSwgYnVmW01BWF9FWEUrMV0sIHJlc3RyaWN0ZWRbTUFYX0VYRV07CisgCQlpbnQgZm91bmQgPSAwOworIAorIAkJZXhlID0gZ2V0X2V4ZV9uYW1lKGJ1Ziwgc2l6ZW9mIGJ1Zik7CisgCQlERUJVRygiRm91bmQgSFVHRVRMQl9SRVNUUklDVF9FWEUsIHRoaXMgZXhlIGlzIFwiJXNcIlxuIiwgZXhlKTsKKy0JCXN0cm5jcHkocmVzdHJpY3QsIGVudiwgc2l6ZW9mIHJlc3RyaWN0KTsKKy0JCXJlc3RyaWN0W3NpemVvZihyZXN0cmljdCktMV0gPSAwOworLQkJZm9yIChwID0gcmVzdHJpY3Q7ICh0b2sgPSBzdHJ0b2socCwgIjoiKSkgIT0gTlVMTDsgcCA9IE5VTEwpIHsKKysJCXN0cm5jcHkocmVzdHJpY3RlZCwgZW52LCBzaXplb2YgcmVzdHJpY3RlZCk7CisrCQlyZXN0cmljdGVkW3NpemVvZihyZXN0cmljdGVkKS0xXSA9IDA7CisrCQlmb3IgKHAgPSByZXN0cmljdGVkOyAodG9rID0gc3RydG9rKHAsICI6IikpICE9IE5VTEw7IHAgPSBOVUxMKSB7CisgCQkJREVCVUcoIiAgLi4uY2hlY2sgZXhlIG1hdGNoIGZvciBcIiVzXCJcbiIsICB0b2spOworIAkJCWlmIChzdHJjbXAodG9rLCBleGUpID09IDApIHsKKyAJCQkJZm91bmQgPSAxOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xpYmh1Z2V0bGJmcy9maWxlcy9saWJodWdldGxiZnMtZWxmX2kzODYtYXZvaWQtc2VhcmNoLWhvc3QtbGlicmFyeS1wYXRoLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xpYmh1Z2V0bGJmcy9maWxlcy9saWJodWdldGxiZnMtZWxmX2kzODYtYXZvaWQtc2VhcmNoLWhvc3QtbGlicmFyeS1wYXRoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1NjY0ODgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbGliaHVnZXRsYmZzL2ZpbGVzL2xpYmh1Z2V0bGJmcy1lbGZfaTM4Ni1hdm9pZC1zZWFyY2gtaG9zdC1saWJyYXJ5LXBhdGgucGF0Y2gKQEAgLTAsMCArMSw0MCBAQAorRnJvbSA4ODllNTI3NTNkMzAxNzliYTRhYzk0MDAyM2NiNGVkNTYxNDM2YWI4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgNCBOb3YgMjAxNCAwMDo0OToxMSAtMDgwMAorU3ViamVjdDogW1BBVENIXSBsaWJodWdldGxiZnMvZWxmX2kzODY6IGF2b2lkIHNlYXJjaCBob3N0IGxpYnJhcnkgcGF0aCBmb3IgY3Jvc3MgY29tcGlsYXRpb24KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjcm9zcyBjb21waWxlIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgbGRzY3JpcHRzL2VsZl9pMzg2LnhCICAgfCAgICAxIC0KKyBsZHNjcmlwdHMvZWxmX2kzODYueEJEVCB8ICAgIDEgLQorIDIgZmlsZXMgY2hhbmdlZCwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xkc2NyaXB0cy9lbGZfaTM4Ni54QiBiL2xkc2NyaXB0cy9lbGZfaTM4Ni54QgoraW5kZXggNDNmZTUxYy4uZWFlMGZhOCAxMDA2NDQKKy0tLSBhL2xkc2NyaXB0cy9lbGZfaTM4Ni54QgorKysrIGIvbGRzY3JpcHRzL2VsZl9pMzg2LnhCCitAQCAtMyw3ICszLDYgQEAgT1VUUFVUX0ZPUk1BVCgiZWxmMzItaTM4NiIsICJlbGYzMi1pMzg2IiwKKyAJICAgICAgImVsZjMyLWkzODYiKQorIE9VVFBVVF9BUkNIKGkzODYpCisgRU5UUlkoX3N0YXJ0KQorLVNFQVJDSF9ESVIoIi91c3IvaTQ4Ni1saW51eC1nbnUvbGliIik7IFNFQVJDSF9ESVIoIi91c3IvbG9jYWwvbGliIik7IFNFQVJDSF9ESVIoIi9saWIiKTsgU0VBUkNIX0RJUigiL3Vzci9saWIiKTsKKyBJTlBVVCgtbGh1Z2V0bGJmcyk7CisgLyogRG8gd2UgbmVlZCBhbnkgb2YgdGhlc2UgZm9yIGVsZj8KKyAgICBfX0RZTkFNSUMgPSAwOyAgICAqLworZGlmZiAtLWdpdCBhL2xkc2NyaXB0cy9lbGZfaTM4Ni54QkRUIGIvbGRzY3JpcHRzL2VsZl9pMzg2LnhCRFQKK2luZGV4IGQ3MmFlYmUuLjNiYWMxYjEgMTAwNjQ0CistLS0gYS9sZHNjcmlwdHMvZWxmX2kzODYueEJEVAorKysrIGIvbGRzY3JpcHRzL2VsZl9pMzg2LnhCRFQKK0BAIC0zLDcgKzMsNiBAQCBPVVRQVVRfRk9STUFUKCJlbGYzMi1pMzg2IiwgImVsZjMyLWkzODYiLAorIAkgICAgICAiZWxmMzItaTM4NiIpCisgT1VUUFVUX0FSQ0goaTM4NikKKyBFTlRSWShfc3RhcnQpCistU0VBUkNIX0RJUigiL3Vzci9pNDg2LWxpbnV4LWdudS9saWIiKTsgU0VBUkNIX0RJUigiL3Vzci9sb2NhbC9saWIiKTsgU0VBUkNIX0RJUigiL2xpYiIpOyBTRUFSQ0hfRElSKCIvdXNyL2xpYiIpOworIElOUFVUKC1saHVnZXRsYmZzKTsKKyAvKiBEbyB3ZSBuZWVkIGFueSBvZiB0aGVzZSBmb3IgZWxmPworICAgIF9fRFlOQU1JQyA9IDA7ICAgICovCistLQorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbGliaHVnZXRsYmZzL2ZpbGVzL3NraXAtY2hlY2tpbmctTElCMzItYW5kLUxJQjY0LWlmLXRoZXktcG9pbnQtdG8tdGhlLXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbGliaHVnZXRsYmZzL2ZpbGVzL3NraXAtY2hlY2tpbmctTElCMzItYW5kLUxJQjY0LWlmLXRoZXktcG9pbnQtdG8tdGhlLXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDdhOTk3MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJodWdldGxiZnMvZmlsZXMvc2tpcC1jaGVja2luZy1MSUIzMi1hbmQtTElCNjQtaWYtdGhleS1wb2ludC10by10aGUtcy5wYXRjaApAQCAtMCwwICsxLDIzIEBACitGcm9tIDM1NWMwMTQ1NzNkZTdmOTUyMDJjYzdjODE5ZjgxZjBmMjMwZTRhMWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBUaW5nIExpdSA8YjI4NDk1QGZyZWVzY2FsZS5jb20+CitEYXRlOiBNb24sIDE4IEp1biAyMDEyIDE2OjM3OjA1ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIHNraXAgY2hlY2tpbmcgTElCMzIgYW5kIExJQjY0IGlmIHRoZXkgcG9pbnQgdG8gdGhlIHNhbWUgcGxhY2UKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZS1jb3JlIHNwZWNpZmljXQorU2lnbmVkLW9mZi1ieTogVGluZyBMaXUgPGIyODQ5NUBmcmVlc2NhbGUuY29tPgorLS0tCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCA5MTUwMmUxLi5iZmIzNDE0IDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtMTY3LDcgKzE2Nyw2IEBAIFJFQUxMSUIzMiA9ICQocmVhbHBhdGggJChQUkVGSVgpLyQoTElCMzIpKQorIFJFQUxMSUI2NCA9ICQocmVhbHBhdGggJChQUkVGSVgpLyQoTElCNjQpKQorIGlmbmVxICgkKHJlYWxwYXRoICQoUFJFRklYKSksKQorIGlmZXEgKCQoUkVBTExJQjMyKSwkKFJFQUxMSUI2NCkpCistJChlcnJvciBMSUIzMiAoJChQUkVGSVgpLyQoTElCMzIpIHRvICQoUkVBTExJQjMyKSkgYW5kIExJQjY0ICgkKFBSRUZJWCkvJChMSUI2NCkgdG8gJChSRUFMTElCNjQpKSBhcmUgcmVzb2x2aW5nIHRvIHRoZSBzYW1lIHBsYWNlLiBNYW51YWxseSBzcGVjaWZ5IExJQjMyIGFuZCBMSUI2NC4gZS5nLiBtYWtlIFBSRUZJWD0kKFBSRUZJWCkgTElCMzI9bGliMzIgTElCNjQ9bGliNjQpCisgZW5kaWYKKyBlbmRpZgorIAorLS0gCisxLjkuMgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xpYmh1Z2V0bGJmcy9maWxlcy90ZXN0cy1NYWtlZmlsZS1pbnN0YWxsLXN0YXRpYy00Ry1lZGdlLXRlc3RjYXNlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJodWdldGxiZnMvZmlsZXMvdGVzdHMtTWFrZWZpbGUtaW5zdGFsbC1zdGF0aWMtNEctZWRnZS10ZXN0Y2FzZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjQ5ZjZlMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJodWdldGxiZnMvZmlsZXMvdGVzdHMtTWFrZWZpbGUtaW5zdGFsbC1zdGF0aWMtNEctZWRnZS10ZXN0Y2FzZXMucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKKworVEVTVFNfNjQgaXMgZW1wdHksIGluc3RhbGwgd2lsbCBmYWlsIGR1ZSB0byBtaXNzaW5nIGZpbGUgb3BlcmFuZAorCitTaWduZWQtb2ZmLWJ5OiBUaW5nIExpdSA8YjI4NDk1QGZyZWVzY2FsZS5jb20+CisKKy0tLSBhL3Rlc3RzL01ha2VmaWxlb2xkCTIwMTMtMTAtMTIgMDI6MzI6NTUuMjYyMzkxOTk4IC0wNTAwCisrKysgYi90ZXN0cy9NYWtlZmlsZQkyMDEzLTEwLTEyIDAyOjMzOjQ1LjkyOTM5NDcyMiAtMDUwMAorQEAgLTI5Miw3ICsyOTIsNyBAQAorIAkkKElOU1RBTEwpIC1tIDc1NSB3cmFwcGVyLXV0aWxzLnNoICQoREVTVERJUikkKElOU1RfVEVTVFNESVI2NCkvb2JqNjQKKyAJJChJTlNUQUxMKSAtbSA3NTUgJChIRUxQRVJTOiU9b2JqNjQvJSkgJChERVNURElSKSQoSU5TVF9URVNUU0RJUjY0KS9vYmo2NAorIAkkKElOU1RBTEwpIC1tIDc1NSAkKEhFTFBFUl9MSUJTOiU9b2JqNjQvJSkgJChERVNURElSKSQoSU5TVF9URVNUU0RJUjY0KS9vYmo2NAorLQkkKElOU1RBTEwpIC1tIDc1NSAkKFRFU1RTXzY0OiU9b2JqNjQvJSkgJChERVNURElSKSQoSU5TVF9URVNUU0RJUjY0KS9vYmo2NAorKwkkKElOU1RBTEwpIC1tIDc1NSAkKFRFU1RTXzY0X1NUQVRJQzolPW9iajY0LyVfc3RhdGljKSAkKERFU1RESVIpJChJTlNUX1RFU1RTRElSNjQpL29iajY0CisgCSQoSU5TVEFMTCkgLW0gNzU1IHJ1bl90ZXN0cy5weSAkKERFU1RESVIpJChJTlNUX1RFU1RTRElSNjQpCisgCisgaW5zdGFsbDogJChPQkpESVJTOiU9JS9pbnN0YWxsKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xpYmh1Z2V0bGJmcy9saWJodWdldGxiZnNfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xpYmh1Z2V0bGJmcy9saWJodWdldGxiZnNfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxNWQ0NDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbGliaHVnZXRsYmZzL2xpYmh1Z2V0bGJmc19naXQuYmIKQEAgLTAsMCArMSw2NiBAQAorU1VNTUFSWSA9ICJBIGxpYnJhcnkgd2hpY2ggcHJvdmlkZXMgZWFzeSBhY2Nlc3MgdG8gaHVnZSBwYWdlcyBvZiBtZW1vcnkiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vbGliaHVnZXRsYmZzL2xpYmh1Z2V0bGJmcyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MR1BMLTIuMTttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEiCisKK0RFUEVORFMgPSAic3lzZnN1dGlscyBwZXJsIgorUkRFUEVORFNfJHtQTn0gKz0gImJhc2ggcGVybCBweXRob24gcHl0aG9uLWlvIHB5dGhvbi1sYW5nIHB5dGhvbi1zdWJwcm9jZXNzIHB5dGhvbi1yZXNvdXJjZSIKK1JERVBFTkRTXyR7UE59LXRlc3RzICs9ICJiYXNoIgorCitQViA9ICIyLjE5IgorUEUgPSAiMSIKKworU1JDUkVWID0gIjQyNmMyMmQ2NTQxNWZjYjg5MjdmNjhmYmM1ODg3ZTA3NWE4ZGM0MGEiCitTUkNfVVJJID0gIiBcCisgICAgZ2l0Oi8vZ2l0aHViLmNvbS9saWJodWdldGxiZnMvbGliaHVnZXRsYmZzLmdpdDtwcm90b2NvbD1odHRwcyBcCisgICAgZmlsZTovL3NraXAtY2hlY2tpbmctTElCMzItYW5kLUxJQjY0LWlmLXRoZXktcG9pbnQtdG8tdGhlLXMucGF0Y2ggXAorICAgIGZpbGU6Ly9saWJodWdldGxiZnMtYXZvaWQtc2VhcmNoLWhvc3QtbGlicmFyeS1wYXRoLWZvci1jcm9zLnBhdGNoIFwKKyAgICBmaWxlOi8vdGVzdHMtTWFrZWZpbGUtaW5zdGFsbC1zdGF0aWMtNEctZWRnZS10ZXN0Y2FzZXMucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAxLXJ1bl90ZXN0LnB5LW5vdC11c2UtaGFyZC1jb2RlZC1wYXRoLS4tb2JqLWh1Z2VhZG0ucGF0Y2ggXAorICAgIGZpbGU6Ly9saWJodWdldGxiZnMtZWxmX2kzODYtYXZvaWQtc2VhcmNoLWhvc3QtbGlicmFyeS1wYXRoLnBhdGNoIFwKKyAgICBmaWxlOi8vbGliaHVnZXRsYmZzLWF2b2lkLXVzaW5nLXJlc3RyaWN0LWFzLXZhci1uYW1lLnBhdGNoIFwKKyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworQ09NUEFUSUJMRV9IT1NUID0gIih4ODZfNjR8cG93ZXJwY3xwb3dlcnBjNjR8YWFyY2g2NHxhcm0pLiotbGludXgqIgorCitMSUJBUkdTID0gIkxJQjMyPSR7YmFzZWxpYn0gTElCNjQ9JHtiYXNlbGlifSIKK0xJQkhVR0VUTEJGU19BUkNIID0gIiR7VEFSR0VUX0FSQ0h9IgorTElCSFVHRVRMQkZTX0FSQ0hfcG93ZXJwYyA9ICJwcGMiCitMSUJIVUdFVExCRlNfQVJDSF9wb3dlcnBjNjQgPSAicHBjNjQiCitFWFRSQV9PRU1BS0UgPSAiJ0FSQ0g9JHtMSUJIVUdFVExCRlNfQVJDSH0nICdPUFQ9JHtDRkxBR1N9JyAnQ0M9JHtDQ30nICR7TElCQVJHU30gQlVJTERUWVBFPU5BVElWRU9OTFkgVj0yIgorUEFSQUxMRUxfTUFLRSA9ICIiCitDRkxBR1MgKz0gIi1mZXhwZW5zaXZlLW9wdGltaXphdGlvbnMgLWZyZW5hbWUtcmVnaXN0ZXJzIC1mb21pdC1mcmFtZS1wb2ludGVyIC1nMCIKKworVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCisKKyNUaGUgQ1VTVE9NX0xEU0NSSVBUUyBkb2Vzbid0IHdvcmsgd2l0aCB0aGUgZ29sZCBsaW5rZXIKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBpZiBbICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2xkLWlzLWdvbGQnLCAnbGQtaXMtZ29sZCcsICcnLCBkKX0iID0gImxkLWlzLWdvbGQiIF0gOyB0aGVuCisgICAgICBzZWQgLWkgJ3MvQ1VTVE9NX0xEU0NSSVBUUyA9IHllcy9DVVNUT01fTERTQ1JJUFRTID0gbm8vJyAgTWFrZWZpbGUKKyAgICBmaQorCisgICAgIyBmaXh1cCBwZXJsIG1vZHVsZSBkaXJlY3RvcnkgaGFyZGNvZGVkIHRvIHBlcmw1CisgICAgc2VkIC1pICdzL3Blcmw1L3BlcmwvZycgIE1ha2VmaWxlCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgICAgIG9lX3J1bm1ha2UgUFJFRklYPSR7cHJlZml4fSBERVNURElSPSR7RH0gIFwKKyAgICAgICAgICBJTlNUX1RFU1RTRElSMzI9JHtsaWJkaXJ9L2xpYmh1Z2V0bGJmcy90ZXN0cyBcCisgICAgICAgICAgSU5TVF9URVNUU0RJUjY0PSR7bGliZGlyfS9saWJodWdldGxiZnMvdGVzdHMgXAorICAgICAgICAgIGluc3RhbGwtdGVzdHMKK30KKworCitQQUNLQUdFUyA9KyAiJHtQTn0tcGVybCAke1BOfS10ZXN0cyAiCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9Lyouc28iCitGSUxFU18ke1BOfS1kZXYgPSAiJHtpbmNsdWRlZGlyfSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2xpYmh1Z2V0bGJmcy90ZXN0cy9vYmozMi8uZGVidWcgJHtsaWJkaXJ9L2xpYmh1Z2V0bGJmcy90ZXN0cy9vYmo2NC8uZGVidWciCitGSUxFU18ke1BOfS1wZXJsID0gIiR7bGliZGlyfS9wZXJsIgorRklMRVNfJHtQTn0tdGVzdHMgKz0gIiR7bGliZGlyfS9saWJodWdldGxiZnMvdGVzdHMiCisKK0lOU0FORV9TS0lQXyR7UE59ID0gImRldi1zbyIKKworSU5ISUJJVF9QQUNLQUdFX1NUUklQID0gIjEiCitJTkhJQklUX1BBQ0tBR0VfREVCVUdfU1BMSVQgPSAiMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2gtMy4wLWE5L2ZpeC1sbWJlbmNoLW1lbW9yeS1jaGVjay1mYWlsdXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xtYmVuY2gvbG1iZW5jaC0zLjAtYTkvZml4LWxtYmVuY2gtbWVtb3J5LWNoZWNrLWZhaWx1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTQ5YTExNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2gtMy4wLWE5L2ZpeC1sbWJlbmNoLW1lbW9yeS1jaGVjay1mYWlsdXJlLnBhdGNoCkBAIC0wLDAgKzEsMjA2IEBACitsbWJlbmNoOiBDYW4ndCBwcm9jZWVkIG9uIHNvbWUgdGFyZ2V0cworCitsbWJlbmNoIGNhbid0IHByb2NlZWQgb24gc29tZSB0YXJnZXRzLiAgVGhlIG1lbW9yeSBjaGVjayBmYWlscyBiZWNhdXNlIHRoZQorbWVtb3J5IGxhdGVuY3kgb2YgZWFjaCBwYWdlIGlzIGxvbmdlciB0aGVuIDEwdXMsIHdoaWNoIGlzIGEgdGltZSBsaW1pdCBzZXQKK2luIHRoZSBvcmlnaW5hbCBtZW1zaXplLmMuCisKK1RoZSBtZW1vcnkgbGF0ZW5jeSBpcyB2ZXJ5IGRpZmZlcmVudCBvbiBkaWZmZXJlbnQgdGFyZ2V0cyBkdWUgdG8gdGhlCitoYXJkd2FyZSBhbmQgY3VycmVudCBzeXN0ZW0gbG9hZC4gIFRoZSB0YXJnZXRzIHdpdGggc2xvd2VyIG1lbW9yeQorY2hpcHMgb3IgaGVhdnkgc3lzdGVtIGxvYWQgbmVlZCBtdWNoIGxvbmdlciB0aW1lIHRvIHJlYWQgb3Igd3JpdGUKK3RoZSBtZW1vcnkuCisKK1RoaXMgZml4IGNoYW5nZXMgdGhlIGZpeGVkIHRpbWUgbGltaXQgb2YgMTB1cyB0byBhIHNwZWNpZmljIHZhbHVlIGNhbGN1bGF0ZWQKK2Zyb20gdGhlIHJ1bnRpbWUgdGFyZ2V0LgorCitBbHNvIHNldCBhbiB1cHBlciBsaW1pdCBvZiBtZW1vcnkgc2l6ZSB1c2VkIGZvciBsbWJlbmNoIHRlc3RpbmcuICBUaGUgbWVtb3J5CitjaGVjayBzb21ldGltZXMgZmFpbHMgaWYgdGhlIHRhcmdldCBoYXMgYSBsYXJnZSBhbW91bnQgb2YgbWVtb3J5LCBmb3IKK2V4YW1wbGUgbW9yZSB0aGFuIDRHLgorCitTaWduZWQtb2ZmLWJ5OiBRaW5nbWluZyBTdSA8cWluZ21pbmcuc3VAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEZ1cGFuIExpIDxmdXBhbi5saUB3aW5kcml2ZXIuY29tPgorCitBZGQgYW5kIHJld29yZCBhYm92ZSBjb21tZW50cworCitVcHN0cmVhbS1zdGF0dXM6IGluYXBwcm9wcmlhdGUgWyBjb25maWd1cmF0aW9uIF0KKworU2lnbmVkLW9mZi1ieTogTWFyayBIYXRsZSA8bWFyay5oYXRsZUB3aW5kcml2ZXIuY29tPgorCitkaWZmIC0tZ2l0IGEvc2NyaXB0cy9jb25maWctcnVuIGIvc2NyaXB0cy9jb25maWctcnVuCitpbmRleCBlMWY3YjZkLi4zMWI5MjU2IDEwMDc1NQorLS0tIGEvc2NyaXB0cy9jb25maWctcnVuCisrKysgYi9zY3JpcHRzL2NvbmZpZy1ydW4KK0BAIC0yMTQsNiArMjE0LDEyIEBAIFRoZSBiaWdnZXIgdGhlIHJhbmdlLCB0aGUgbW9yZSBhY2N1cmF0ZSB0aGUgcmVzdWx0cywgYnV0IGxhcmdlciBzaXplcworIHRha2Ugc29tZXdoYXQgbG9uZ2VyIHRvIHJ1biB0aGUgYmVuY2htYXJrLgorCisgRU9GCisrCisrIyBCeSBkZWZhdWx0LCB1c2UgNTEyTSBtZW1vcnkgYXMgdGhlIHVwcGVyIGxpbWl0IGZvciBsbWJlbmNoIHRlc3QKKytpZiBbICRNQiAtZ3QgNTEyIF07dGhlbgorK01CPTUxMgorK2ZpCisrCisgZWNobyAkRUNIT04gIk1CIFtkZWZhdWx0ICRNQl06ICRFQ0hPQyIKKyAjcmVhZCBUTVAKKyBUTVA9IiIKK0BAIC03MTgsMTAgKzcyNCwxMCBAQCBjYXNlICRNQUlMIGluCisJCTs7CisgZXNhYworCistSU5GTz1gLi4vc2NyaXB0cy9pbmZvYAorK0lORk89YC4uL3NjcmlwdHMvaG9zdGluZm9gCisgaWYgWyAkTUFJTCA9IHllcyBdCisgdGhlbglpZiBbICEgLWYgJElORk8gXQorLQl0aGVuCWNwIC4uL3NjcmlwdHMvaW5mby10ZW1wbGF0ZSAkSU5GTworKwl0aGVuCWNwIC4uL3NjcmlwdHMvaG9zdGluZm8tdGVtcGxhdGUgJElORk8KKyAJCWNobW9kICt3ICRJTkZPCisgCQlSRVVTRT1ubworIAllbHNlCitAQCAtNzY1LDcgKzc3MSw3IEBAIEVPRgorIAkJdGhlbglFRElUT1I9JFRNUAorIAkJZmkKKyAJCWlmIFsgWCRFRElUT1IgIT0gIm5vbmUiIF0KKy0JCXRoZW4JJEVESVRPUiBgLi4vc2NyaXB0cy9pbmZvYAorKwkJdGhlbgkkRURJVE9SIGAuLi9zY3JpcHRzL2hvc3RpbmZvYAorIAkJZmkKKyAJZmkKKyBmaQorZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZSBiL3NyYy9NYWtlZmlsZQoraW5kZXggZDFmMGRjNi4uNTA5ODk5OCAxMDA2NDQKKy0tLSBhL3NyYy9NYWtlZmlsZQorKysrIGIvc3JjL01ha2VmaWxlCitAQCAtNDksNyArNDksNyBAQCBUQVJHRVQ9YC4uL3NjcmlwdHMvdGFyZ2V0YAorIEJJTkRJUj0uLi9iaW4vJChPUykKKyBDT05GSUc9Li4vYmluLyQoT1MpL2AuLi9zY3JpcHRzL2NvbmZpZ2AKKyBVVElMUz0uLi9zY3JpcHRzL3RhcmdldCAuLi9zY3JpcHRzL29zIC4uL3NjcmlwdHMvZ251LW9zIC4uL3NjcmlwdHMvY29tcGlsZXIgXAorLQkuLi9zY3JpcHRzL2luZm8gLi4vc2NyaXB0cy9pbmZvLXRlbXBsYXRlIC4uL3NjcmlwdHMvdmVyc2lvbiBcCisrCS4uL3NjcmlwdHMvaG9zdGluZm8gLi4vc2NyaXB0cy9ob3N0aW5mby10ZW1wbGF0ZSAuLi9zY3JpcHRzL3ZlcnNpb24gXAorIAkuLi9zY3JpcHRzL2NvbmZpZyAuLi9zY3JpcHRzL2NvbmZpZy1ydW4gLi4vc2NyaXB0cy9yZXN1bHRzIFwKKyAJLi4vc2NyaXB0cy9sbWJlbmNoIC4uL3NjcmlwdHMvbWFrZSAuLi9zY3JpcHRzL2J1aWxkCisgSU5TVEFMTD1jcAorQEAgLTI0MCw3ICsyNDAsNyBAQCAkTy9nZXRvcHQubyA6IGdldG9wdC5jICQoSU5DUykKKyAJJChDT01QSUxFKSAtYyBnZXRvcHQuYyAtbyAkTy9nZXRvcHQubworCisgJChVVElMUykgOgorLQktY2QgLi4vc2NyaXB0czsgbWFrZSBnZXQKKysJLWNkIC4uL3NjcmlwdHM7IGNwIGluZm8gaG9zdGluZm87IGNwIGluZm8tdGVtcGxhdGUgaG9zdGluZm8tdGVtcGxhdGUKKworICMgRG8gbm90IHJlbW92ZSB0aGUgbmV4dCBsaW5lLCAkKE1BS0UpIGRlcGVuZCBuZWVkcyBpdAorICMgTUFLRURFUEVORCBmb2xsb3dzCitkaWZmIC0tZ2l0IGEvc3JjL21lbXNpemUuYyBiL3NyYy9tZW1zaXplLmMKK2luZGV4IGViMjVhMDkuLmNmOWZlMGMgMTAwNjQ0CistLS0gYS9zcmMvbWVtc2l6ZS5jCisrKysgYi9zcmMvbWVtc2l6ZS5jCitAQCAtMTQsOSArMTQsMTIgQEAgY2hhcgkqaWQgPSAiJElkJFxuIjsKKworICNkZWZpbmUJQ0hLKHgpCWlmICgoeCkgPT0gLTEpIHsgcGVycm9yKCJ4Iik7IGV4aXQoMSk7IH0KKworLSNpZm5kZWYJVE9PX0xPTkcKKy0jZGVmaW5lCVRPT19MT05HCTEwCS8qIHVzZWNzICovCistI2VuZGlmCisrLy8jaWZuZGVmCVRPT19MT05HCisrLy8jZGVmaW5lCVRPT19MT05HCTEwCS8qIHVzZWNzICovCisrLy8jZW5kaWYKKysKKysjZGVmaW5lCU1FTU9SWV9TSVpFXzFNQiAoMTAyNCAqIDEwMjQpCisrI2RlZmluZQlNRU1PUllfU0laRV84TUIgKDggKiAxMDI0ICogMTAyNCkKKworIGludAlhbGFybV90cmlnZ2VyZWQgPSAwOworCitAQCAtMzUsMTAgKzM4LDEwIEBAIG1haW4oaW50IGFjLCBjaGFyICoqYXYpCisgCXNpemVfdAlkZWx0YTsKKworIAlpZiAoYWMgPT0gMikgeworLQkJbWF4ID0gc2l6ZSA9IGJ5dGVzKGF2WzFdKSAqIDEwMjQgKiAxMDI0OworKwkJbWF4ID0gc2l6ZSA9IGJ5dGVzKGF2WzFdKSAqIE1FTU9SWV9TSVpFXzFNQjsKKyAJfQorLQlpZiAobWF4IDwgMTAyNCAqIDEwMjQpIHsKKy0JCW1heCA9IHNpemUgPSAxMDI0ICogMTAyNCAqIDEwMjQ7CisrCWlmIChtYXggPCBNRU1PUllfU0laRV8xTUIpIHsKKysJCW1heCA9IHNpemUgPSAxMDI0ICogTUVNT1JZX1NJWkVfMU1COworIAl9CisgCS8qCisgCSAqIEJpbmFyeSBzZWFyY2ggZG93biBhbmQgdGhlbiBiaW5hcnkgc2VhcmNoIHVwCitAQCAtNDgsNyArNTEsNyBAQCBtYWluKGludCBhYywgY2hhciAqKmF2KQorIAl9CisgCS8qIGRlbHRhID0gc2l6ZSAvICgyICogMTAyNCAqIDEwMjQpICovCisgCWZvciAoZGVsdGEgPSAoc2l6ZSA+PiAyMSk7IGRlbHRhID4gMDsgZGVsdGEgPj49IDEpIHsKKy0JCXVpbnQ2NCBzeiA9ICh1aW50NjQpc2l6ZSArICh1aW50NjQpZGVsdGEgKiAxMDI0ICogMTAyNDsKKysJCXVpbnQ2NCBzeiA9ICh1aW50NjQpc2l6ZSArICh1aW50NjQpZGVsdGEgKiBNRU1PUllfU0laRV8xTUI7CisgCQlzaXplX3QgY2hlY2sgPSBzejsKKyAJCWlmIChtYXggPCBzeikgY29udGludWU7CisgCQlpZiAoY2hlY2sgPCBzeiB8fCAhdGVzdF9tYWxsb2Moc3opKSBicmVhazsKK0BAIC02Niw0MSArNjksNTggQEAgdGltZWl0KGNoYXIgKndoZXJlLCBzaXplX3Qgc2l6ZSkKKyB7CisgCWludAlzdW0gPSAwOworIAlzaXplX3QJbjsKKy0Jc2l6ZV90CXNfcHJldjsKKysJc2l6ZV90CXNfcHJldiA9IE1FTU9SWV9TSVpFXzhNQjsKKyAJc2l6ZV90CXJhbmdlOworLQlzaXplX3QJaW5jciA9IDEwMjQgKiAxMDI0OworKwlzaXplX3QJaW5jciA9IE1FTU9SWV9TSVpFXzFNQjsKKyAJc2l6ZV90CXBhZ2VzaXplID0gZ2V0cGFnZXNpemUoKTsKKy0JdW5zaWduZWQgbG9uZyBsb25nCXM7CistCistCWlmIChzaXplIDwgMTAyNCoxMDI0IC0gMTYqMTAyNCkgeworLQkJZnByaW50ZihzdGRlcnIsICJCYWQgc2l6ZVxuIik7CistCQlyZXR1cm47CistCX0KKysJc2l6ZV90CXRpbWVfZWFjaF9wYWdlID0gMDsKKysJc2l6ZV90CXRvb19sb25nID0gMDsKKysJdW5zaWduZWQgbG9uZyBsb25nICAgICAgczsKKysKKysJaWYgKHBhZ2VzaXplIDwgTUVNT1JZX1NJWkVfMU1CKQorKwkJcmFuZ2UgPSBNRU1PUllfU0laRV8xTUI7CisrCWVsc2UKKysJCXJhbmdlID0gTUVNT1JZX1NJWkVfOE1COworKworKwlpbmNyID0gTUVNT1JZX1NJWkVfMU1COworKwkKKysJaWYgKHNpemUgPCByYW5nZSkgeworKyAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJCYWQgc2l6ZVxuIik7CisrICAgICAgICAgICAgICByZXR1cm47CisrCSAgICB9CisrCisrCS8vVG91Y2ggcmFuZ2Ugb2YgbWVtb3J5LCBnZXQgdGhlIGF2ZXJhZ2UgdGltZSAodXNlYykgb2Ygb3BlcmF0aW5nIGVhY2ggbWVtb3J5IHBhZ2Ugb24gdGhpcyBzeXN0ZW0KKysgICAgICAgIHN0YXJ0KDApOworKyAgICAgICAgdG91Y2hSYW5nZSh3aGVyZSwgcmFuZ2UsIHBhZ2VzaXplKTsKKysgICAgICAgIHN1bSA9IHN0b3AoMCwgMCk7CisrCisrICAgICAgICBpZiAoKHRpbWVfZWFjaF9wYWdlID0gc3VtICogcGFnZXNpemUgLyByYW5nZSkgPCAxKQorKwkJdGltZV9lYWNoX3BhZ2UgPSAxOworKwkvL1NldCB0aGUgdXBlciBsaW1pdCBvZiB0aW1lIHNwZW5kaW5nIG9uIG9uZSBwYWdlCisrICAgICAgICB0b29fbG9uZyA9IDEwICogdGltZV9lYWNoX3BhZ2U7CisKKy0JcmFuZ2UgPSAxMDI0ICogMTAyNDsKKy0JaW5jciA9IDEwMjQgKiAxMDI0OworLQl0b3VjaFJhbmdlKHdoZXJlLCByYW5nZSwgcGFnZXNpemUpOworIAlmb3IgKHJhbmdlICs9IGluY3I7IHJhbmdlIDw9IHNpemU7IHJhbmdlICs9IGluY3IpIHsKKyAJCW4gPSByYW5nZSAvIHBhZ2VzaXplOworLQkJc2V0X2FsYXJtKG4gKiBUT09fTE9ORyk7CisrCQlzZXRfYWxhcm0obiAqIHRvb19sb25nKTsKKyAJCXRvdWNoUmFuZ2Uod2hlcmUgKyByYW5nZSAtIGluY3IsIGluY3IsIHBhZ2VzaXplKTsKKyAJCWNsZWFyX2FsYXJtKCk7CistCQlzZXRfYWxhcm0obiAqIFRPT19MT05HKTsKKysJCXNldF9hbGFybShuICogdG9vX2xvbmcpOworIAkJc3RhcnQoMCk7CisgCQl0b3VjaFJhbmdlKHdoZXJlLCByYW5nZSwgcGFnZXNpemUpOworIAkJc3VtID0gc3RvcCgwLCAwKTsKKyAJCWNsZWFyX2FsYXJtKCk7CistCQlpZiAoKHN1bSAvIG4pID4gVE9PX0xPTkcgfHwgYWxhcm1fdHJpZ2dlcmVkKSB7CisrCQlpZiAoKHN1bSAvIG4pID4gdG9vX2xvbmcgfHwgYWxhcm1fdHJpZ2dlcmVkKSB7CisgCQkJc2l6ZSA9IHJhbmdlIC0gaW5jcjsKKysJCQlmcHJpbnRmKHN0ZGVyciwgIkVycm9yISBNZW1vcnkgdGVzdGluZyB0aW1lb3V0ISBUb3VjaCBvbmUgcGFnZSBvZiBtZW1vcnkgbmVlZHMgbW9yZSB0aGFuICVkICh1c2VjcylcbiAiLCB0b29fbG9uZyk7CisgCQkJYnJlYWs7CisgCQl9CistCQlmb3IgKHMgPSA4ICogMTAyNCAqIDEwMjQ7IHMgPD0gcmFuZ2U7IHNfcHJldiA9IHMsIHMgKj0gMikKKysJCWZvciAocyA9IHNfcHJldjsgcyA8PSByYW5nZTsgc19wcmV2ID0gcywgcyAqPSAyKQorIAkJCWlmIChzIDwgc19wcmV2KSBicmVhazsKKyAJCWluY3IgPSBzIC8gODsKKyAJCWlmIChyYW5nZSA8IHNpemUgJiYgc2l6ZSA8IHJhbmdlICsgaW5jcikgeworIAkJCWluY3IgPSBzaXplIC0gcmFuZ2U7CisgCQl9CistCQlmcHJpbnRmKHN0ZGVyciwgIiVkTUIgT0tcciIsIChpbnQpKHJhbmdlLygxMDI0KjEwMjQpKSk7CisrCQlmcHJpbnRmKHN0ZGVyciwgIiVkTUIgT0tcciIsIChpbnQpKHJhbmdlL01FTU9SWV9TSVpFXzFNQikpOworIAl9CisgCWZwcmludGYoc3RkZXJyLCAiXG4iKTsKKyAJcHJpbnRmKCIlZFxuIiwgKGludCkoc2l6ZT4+MjApKTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2gtMy4wLWE5L2xtYmVuY2hfcmVzdWx0X2h0bWxfcmVwb3J0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xtYmVuY2gvbG1iZW5jaC0zLjAtYTkvbG1iZW5jaF9yZXN1bHRfaHRtbF9yZXBvcnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2RhMmYwYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2gtMy4wLWE5L2xtYmVuY2hfcmVzdWx0X2h0bWxfcmVwb3J0LnBhdGNoCkBAIC0wLDAgKzEsNjEgQEAKK2xtYmVuY2g6IEZpeCAibWFrZSBodG1sIiBncmFwaCBmYWlsdXJlCisKK1RoZSBodG1sLWxpc3QgcGVybCBzY3JpcHQgY2Fubm90IHBhcnNlIHRoZSBmaXJzdCBsaW5lIG9mIHRoZSByZXN1bHQKK2ZpbGVzIGFib3V0IHRoZSBsbWJlbmNoIHZlcnNpb24uCisKK0FkZGl0aW9uYWwgZml4ZXMgYXJlIHRvIG1ha2UgdGhlIHJlc3VsdCdzIGh0bWwgcGFnZXMgZWFzaWVyIHRvIHVuZGVyc3RhbmQuCisKK1NpZ25lZC1vZmYtYnk6IExpbiBZdSA8bGluLnl1QHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBGdXBhbiBMaSA8ZnVwYW4ubGlAd2luZHJpdmVyLmNvbT4KKworUmV3b3JkZWQgcGF0Y2ggZGVzY3JpcHRpb24uCisKK1Vwc3RyZWFtLXN0YXR1czogaW5hcHByb3ByaWF0ZSBbIGNvbmZpZ3VyYXRpb24gXQorCitTaWduZWQtb2ZmLWJ5OiBNYXJrIEhhdGxlIDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+CisKK2RpZmYgLS1naXQgYS9yZXN1bHRzL01ha2VmaWxlIGIvcmVzdWx0cy9NYWtlZmlsZQoraW5kZXggMDkzNTM3Ni4uMWVmOWExNSAxMDA2NDQKKy0tLSBhL3Jlc3VsdHMvTWFrZWZpbGUKKysrKyBiL3Jlc3VsdHMvTWFrZWZpbGUKK0BAIC0xODYsNiArMTg2LDcgQEAgcGFwZXI6CisgIyBzY3JhdGNoIG1ha2VzIHlvdSB3YW50IGEgR2h6IG1hY2hpbmUuCisgaHRtbDogZGlycworIAktbWFrZSBjbGVhbgorKwltYWtlIHBzCisgCSMkKFNDUklQVFMpYmdodG1sICQoQkcpCisgCSQoU0NSSVBUUylodG1sLWxpc3QgJChMSVNUKQorIAkkKE1LKSBMSVNUPSIkKExJU1QpIiBzdW1tYXJ5ID4gSFRNTC9zdW1tYXJ5Lm91dCAyPiBIVE1ML3N1bW1hcnkuZXJycworZGlmZiAtLWdpdCBhL3NjcmlwdHMvaHRtbC1saXN0IGIvc2NyaXB0cy9odG1sLWxpc3QKK2luZGV4IDk4NTA0NjEuLjYzODMxMTUgMTAwNzU1CistLS0gYS9zY3JpcHRzL2h0bWwtbGlzdAorKysrIGIvc2NyaXB0cy9odG1sLWxpc3QKK0BAIC0xNCw3ICsxNCw3IEBAIG9wZW4oSCwgIj5IVE1ML3NwZWNpZmljLmh0bWwiKTsKKyBwcmludCBIIDw8RU9GOworIDx0aXRsZT5MTUJFTkNIIFN5c3RlbSBSZXN1bHRzPC90aXRsZT4KKyA8aDE+TE1CRU5DSCBTeXN0ZW0gUmVzdWx0czwvaDE+CistPGgyPjxhIGhyZWY9c3VtbWFyeT5TdW1tYXJ5IG9mIHJlc3VsdHM8L2E+PC9oMj4KKys8aDI+PGEgaHJlZj1zdW1tYXJ5Lm91dD5TdW1tYXJ5IG9mIHJlc3VsdHM8L2E+PC9oMj4KKyA8aHI+CisgRU9GCisKK0BAIC00Nyw3ICs0Nyw3IEBAIGZvcmVhY2ggJG9zIChAb3MpIHsKKyAJCW9wZW4oRiwgJGZpbGUpOworIAkJJF8gPSA8Rj47CisgCQljbG9zZShGKTsKKy0JCW5leHQgdW5sZXNzIC9sbWJlbmNoMS5bMDFdLzsKKysJCW5leHQgdW5sZXNzIC9sbWJlbmNoWzAtOV0rLlswMV0vOworIAkJY2hvcDsKKyAJCSR0aXRsZSA9ICRfOworIAkJI3MvLmxtYmVuY2gxLj8gcmVzdWx0cyBmb3IgLy87CitAQCAtMTAzLDEwICsxMDMsNyBAQCBFT0YKKyAJCQkJICAgIGlmICRpIDwgJCNvczsKKyAJCQkJcHJpbnQgUzw8RU9GOworIDxoND4kdGl0bGU8L2g0PgorLTxhIGhyZWY9Li4vJGRvY3skd2hhdH0+SW5mb3JtYXRpb24gb24gdGhpcyBiZW5jaG1hcms8L2E+IChOb3QgdXAgdG8gZGF0ZSkKKyA8cD48SU1HIFNSQz0iJHt3aGF0fSR7c2NhbGV9JE4uZ2lmIj5cbjxwPgorLTxhIGhyZWY9Li4vbG1iZW5jaC5odG1sPgorLTxpbWcgYWxpZ249bWlkZGxlIHNyYz0iLi4vZ2lmcy9hcnJvd3MvYl9hcnJvdy5naWYiPkxNQkVOQ0ggdGFibGUgb2YgY29udGVudHM8L2E+CisgPGEgaHJlZj1zcGVjaWZpYy5odG1sPgorIDxpbWcgYWxpZ249bWlkZGxlIHNyYz1cIi4uL2dpZnMvZ3JhcGguZ2lmXCI+U3lzdGVtIHJlc3VsdHMgdGFibGUgb2YgY29udGVudHM8L2E+CisgPHA+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbG1iZW5jaC9sbWJlbmNoLTMuMC1hOS9vYmV5LXJhbmxpYi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2gtMy4wLWE5L29iZXktcmFubGliLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxYTNiMzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbG1iZW5jaC9sbWJlbmNoLTMuMC1hOS9vYmV5LXJhbmxpYi5wYXRjaApAQCAtMCwwICsxLDMwIEBACitJbiBzb21lIGNhc2VzIHRoZSBob3N0IG1heSBoYXZlIHRvbyBvbGQgb2YgYSByYW5saWIgdG8gd29yay4gIFNpbmNlIGl0J3MKK25vdCBleGFjdGx5IGEgZ3JlYXQgaWRlYSB0byBub3QgYmUgdXNpbmcgdGhlIGNyb3NzIHJhbmxpYiBhbnlob3csIGZpeCB0aGUKK01ha2VmaWxlIHNvIHdlIGNhbiBvdmVycmlkZSByYW5saWIgYW5kIHRoZW4gb3ZlcnJpZGUgaXQKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtidWlsZCBzeXN0ZW0gc3BlY2lmaWMgY2hhbmdlXQorLS0tCisgc3JjL01ha2VmaWxlIHwgICAgMyArKy0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK0luZGV4OiBsbWJlbmNoLTMuMC1hOS9zcmMvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsbWJlbmNoLTMuMC1hOS5vcmlnL3NyYy9NYWtlZmlsZQorKysrIGxtYmVuY2gtMy4wLWE5L3NyYy9NYWtlZmlsZQorQEAgLTM4LDYgKzM4LDcgQEAgQ0M9YC4uL3NjcmlwdHMvY29tcGlsZXJgCisgTUFLRT1gLi4vc2NyaXB0cy9tYWtlYAorIEFSPWFyCisgQVJDUkVBVEU9Y3IKKytSQU5MSUI9cmFubGliCisgCisgIyBiYXNlIG9mIGluc3RhbGxhdGlvbiBsb2NhdGlvbgorIEJBU0U9L3Vzci9sb2NhbAorQEAgLTIxNyw3ICsyMTgsNyBAQCAkTy9sbWJlbmNoIDogLi4vc2NyaXB0cy9sbWJlbmNoIHZlcnNpb24uCisgJE8vbG1iZW5jaC5hOiAkKExJQk9CSlMpCisgCS9iaW4vcm0gLWYgJE8vbG1iZW5jaC5hCisgCSQoQVIpICQoQVJDUkVBVEUpICRPL2xtYmVuY2guYSAkKExJQk9CSlMpCistCS1yYW5saWIgJE8vbG1iZW5jaC5hCisrCS0kKFJBTkxJQikgJE8vbG1iZW5jaC5hCisgCisgJE8vbGliX3RpbWluZy5vIDogbGliX3RpbWluZy5jICQoSU5DUykKKyAJJChDT01QSUxFKSAtYyBsaWJfdGltaW5nLmMgLW8gJE8vbGliX3RpbWluZy5vCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbG1iZW5jaC9sbWJlbmNoLTMuMC1hOS91cGRhdGUtY29uZmlnLXNjcmlwdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2gtMy4wLWE5L3VwZGF0ZS1jb25maWctc2NyaXB0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0NmUwOWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbG1iZW5jaC9sbWJlbmNoLTMuMC1hOS91cGRhdGUtY29uZmlnLXNjcmlwdC5wYXRjaApAQCAtMCwwICsxLDEyIEBACitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK0luZGV4OiBsbWJlbmNoLTMuMC1hOS9zY3JpcHRzL2NvbmZpZworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGxtYmVuY2gtMy4wLWE5L3NjcmlwdHMvY29uZmlnCTIwMDAtMDEtMzEgMTg6Mjk6MzEuMDAwMDAwMDAwIC0wNjAwCisrKysgbG1iZW5jaC0zLjAtYTkvc2NyaXB0cy9jb25maWcJMjAxMy0wMy0wMSAwMDoxOTo0MS4wMzI5ODQzMTUgLTA2MDAKK0BAIC0zLDUgKzMsNSBAQAorIFVOQU1FPWB1bmFtZSAtbiAyPi9kZXYvbnVsbGAKKyBpZiBbIFgkVU5BTUUgPSBYIF0KKyB0aGVuCWVjaG8gQ09ORklHCistZWxzZQllY2hvIENPTkZJRy4kVU5BTUUKKytlbHNlCWVjaG8gLi4vc2NyaXB0cy9DT05GSUcuJFVOQU1FCisgZmkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2gtMy4wLWE5L3VwZGF0ZS1yZXN1bHRzLXNjcmlwdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2gtMy4wLWE5L3VwZGF0ZS1yZXN1bHRzLXNjcmlwdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTRmMTQ2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xtYmVuY2gvbG1iZW5jaC0zLjAtYTkvdXBkYXRlLXJlc3VsdHMtc2NyaXB0LnBhdGNoCkBAIC0wLDAgKzEsMTYwIEBACitOb3cgdGhhdCB3ZSBoYXZlIG91ciBiaW5hcmllcyBpbiAvdXNyL2JpbiByYXRoZXIgdGhhbiB0aGUgbm9ybWFsCitsbWJlbmNoIGhpZXJhcmNoeSB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgc2NyaXB0cyBhcyB3ZWxsIHRvIGJlaGF2ZSB3ZWxsIGhlcmUuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbVGhpcyBpcyByZWxhdGVkIHRvIHRoZSBPRS1zcGVjaWZpYyBiZWhhdmlvcgorb2YgaW5zdGFsbGluZyBpbnRvIC91c3IvYmluLCBldGMsIHJhdGhlciB0aGFuIGR1bXBpbmcgZXZlcnl0aGluZyBpbnRvIAorL3Vzci9zaGFyZS9sbWJlbmNoIG9yIHNpbWlsYXJdCisKK0luZGV4OiBsbWJlbmNoLTMuMC1hOS9zY3JpcHRzL3Jlc3VsdHMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsbWJlbmNoLTMuMC1hOS5vcmlnL3NjcmlwdHMvcmVzdWx0cworKysrIGxtYmVuY2gtMy4wLWE5L3NjcmlwdHMvcmVzdWx0cworQEAgLTgsMTEgKzgsMTEgQEAgUkVTVUxUUz1yZXN1bHRzLyRPUworIEJBU0U9Li4vJFJFU1VMVFMvYHVuYW1lIC1uYAorIEVYVD0wCisgCistaWYgWyAhIC1mICIuLi9iaW4vJE9TLyRDT05GSUciIF0KKytpZiBbICEgLWYgIiRDT05GSUciIF0KKyB0aGVuCWVjaG8gIk5vIGNvbmZpZyBmaWxlPyIKKyAJZXhpdCAxCisgZmkKKy0uIC4uL2Jpbi8kT1MvJENPTkZJRworKy4gJENPTkZJRworIAorIGlmIFsgISAtZCAuLi8kUkVTVUxUUyBdCisgdGhlbglta2RpciAtcCAuLi8kUkVTVUxUUworQEAgLTIzLDExICsyMyw5IEBAIGRvICAgICAgRVhUPWBleHByICRFWFQgKyAxYAorIAlSRVNVTFRTPSRCQVNFLiRFWFQKKyBkb25lCisgCistY2QgLi4vYmluLyRPUyAKKy1QQVRIPS46JHtQQVRIfTsgZXhwb3J0IFBBVEgKKyBleHBvcnQgU1lOQ19NQVgKKyBleHBvcnQgT1VUUFVUCistbG1iZW5jaCAkQ09ORklHIDI+Li4vJHtSRVNVTFRTfQorK2xtYmVuY2ggJENPTkZJRyAyPiR7UkVTVUxUU30KKyAKKyBpZiBbIFgkTUFJTCA9IFh5ZXMgXQorIHRoZW4JZWNobyBNYWlsaW5nIHJlc3VsdHMKK0luZGV4OiBsbWJlbmNoLTMuMC1hOS9zY3JpcHRzL2NvbmZpZy1ydW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsbWJlbmNoLTMuMC1hOS5vcmlnL3NjcmlwdHMvY29uZmlnLXJ1bgorKysrIGxtYmVuY2gtMy4wLWE5L3NjcmlwdHMvY29uZmlnLXJ1bgorQEAgLTEzMiwyMCArMTMyLDIwIEBAIGV4cG9ydCBMTUJFTkNIX1NDSEVECisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIGVjaG8gJEw7IGVjaG8gIiI7CisgZWNobyAiSGFuZyBvbiwgd2UgYXJlIGNhbGN1bGF0aW5nIHlvdXIgdGltaW5nIGdyYW51bGFyaXR5LiIKKy0uLi9iaW4vJE9TL21zbGVlcCAyNTAKKy1FTk9VR0g9YC4uL2Jpbi8kT1MvZW5vdWdoYAorK21zbGVlcCAyNTAKKytFTk9VR0g9YGVub3VnaGAKKyBleHBvcnQgRU5PVUdIIAorIGVjaG8gIk9LLCBpdCBsb29rcyBsaWtlIHlvdSBjYW4gdGltZSBzdHVmZiBkb3duIHRvICRFTk9VR0ggdXNlYyByZXNvbHV0aW9uLiIKKyBlY2hvICIiCisgZWNobyAiSGFuZyBvbiwgd2UgYXJlIGNhbGN1bGF0aW5nIHlvdXIgdGltaW5nIG92ZXJoZWFkLiIKKy0uLi9iaW4vJE9TL21zbGVlcCAyNTAKKy1USU1JTkdfTz1gLi4vYmluLyRPUy90aW1pbmdfb2AKKyttc2xlZXAgMjUwCisrVElNSU5HX089YHRpbWluZ19vYAorIGV4cG9ydCBUSU1JTkdfTworIGVjaG8gIk9LLCBpdCBsb29rcyBsaWtlIHlvdXIgZ2V0dGltZW9mZGF5KCkgY29zdHMgJFRJTUlOR19PIHVzZWNzLiIKKyBlY2hvICIiCisgZWNobyAiSGFuZyBvbiwgd2UgYXJlIGNhbGN1bGF0aW5nIHlvdXIgbG9vcCBvdmVyaGVhZC4iCistLi4vYmluLyRPUy9tc2xlZXAgMjUwCistTE9PUF9PPWAuLi9iaW4vJE9TL2xvb3Bfb2AKKyttc2xlZXAgMjUwCisrTE9PUF9PPWBsb29wX29gCisgZXhwb3J0IExPT1BfTworIGVjaG8gIk9LLCBpdCBsb29rcyBsaWtlIHlvdXIgYmVuY2htYXJrIGxvb3AgY29zdHMgJExPT1BfTyB1c2Vjcy4iCisgZWNobyAiIgorQEAgLTE3Nyw3ICsxNzcsNyBAQCB0aGVuCisgZmkKKyBpZiBbIFgkTUIgPSBYIF0KKyB0aGVuCSRFQ0hPTiAiUHJvYmluZyBzeXN0ZW0gZm9yIGF2YWlsYWJsZSBtZW1vcnk6ICRFQ0hPQyIKKy0JTUI9YC4uL2Jpbi8kT1MvbWVtc2l6ZSA0MDk2YAorKwlNQj1gbWVtc2l6ZSA0MDk2YAorIGZpCisgVE9UQUxfTUVNPSRNQgorIE1CPWBlY2hvIFwoICRNQiBcKiA3IFwpIC8gMTAgfCBiYyAyPi9kZXYvbnVsbGAKK0BAIC0yMDUsOSArMjA1LDkgQEAgZmkKKyAjIENlcnRhaW4gbWFjaGluZXMgdGVuZCB0byBiYXJmIHdoZW4geW91IHRyeSBhbmQgYmNvcHkgOE1CLgorICMgRmlndXJlIG91dCBob3cgbXVjaCB3ZSBjYW4gdXNlLgorIGVjaG8gIkNoZWNraW5nIHRvIHNlZSBpZiB5b3UgaGF2ZSAkTUIgTUI7IHBsZWFzZSB3YWl0IGZvciBhIG1vbWVudC4uLiIKKy1NQj1gLi4vYmluLyRPUy9tZW1zaXplICRNQmAKKy1NQj1gLi4vYmluLyRPUy9tZW1zaXplICRNQmAKKy1NQj1gLi4vYmluLyRPUy9tZW1zaXplICRNQmAKKytNQj1gbWVtc2l6ZSAkTUJgCisrTUI9YG1lbXNpemUgJE1CYAorK01CPWBtZW1zaXplICRNQmAKKyBpZiBbIGBleHByICRTWU5DX01BWCBcKiAkTUJgIC1ndCBgZXhwciAkVE9UQUxfTUVNYCBdCisgdGhlbgorIAlNQj1gZXhwciAkVE9UQUxfTUVNIC8gJFNZTkNfTUFYYAorQEAgLTIyMyw4ICsyMjMsOCBAQCB0aGVuCWVjaG8gV2FybmluZzogeW91IGhhdmUgb25seSAke01CfU1CCisgZmkKKyAKKyBlY2hvICJIYW5nIG9uLCB3ZSBhcmUgY2FsY3VsYXRpbmcgeW91ciBjYWNoZSBsaW5lIHNpemUuIgorLS4uL2Jpbi8kT1MvbXNsZWVwIDI1MAorLUxJTkVfU0laRT1gLi4vYmluLyRPUy9sbV9saW5lIC1NICR7TUJ9TWAKKyttc2xlZXAgMjUwCisrTElORV9TSVpFPWBsbV9saW5lIC1NICR7TUJ9TWAKKyBleHBvcnQgTElORV9TSVpFCisgZWNobyAiT0ssIGl0IGxvb2tzIGxpa2UgeW91ciBjYWNoZSBsaW5lIGlzICRMSU5FX1NJWkUgYnl0ZXMuIgorIGVjaG8gIiIKK0BAIC00NzksNyArNDc5LDcgQEAgRU9GCisgCXRoZW4JCisgCQlmb3IgaSBpbiAkZGlza3MKKyAJCWRvCWlmIFsgLXIgJGkgXQorLQkJCXRoZW4JLi4vYmluLyRPUy9mbHVzaGRpc2sgJGkKKysJCQl0aGVuCWZsdXNoZGlzayAkaQorIAkJCQlpZiBbICQ/IC1lcSAxIF0KKyAJCQkJdGhlbgllY2hvICJNdXN0IGJlIHJvb3QgdG8gcnVuIGRpc2sgYmVuY2htYXJrcy4iCisgCQkJCQllY2hvICJSb290IGlzIG5lZWRlZCB0byBmbHVzaCB0aGUgYnVmZmVyIGNhY2hlIgorQEAgLTU4NCw3ICs1ODQsNyBAQCBmaQorIGVjaG8gJEwKKyBlY2hvICIiCisgZWNobyAiQ2FsY3VsYXRpbmcgbWh6LCBwbGVhc2Ugd2FpdCBmb3IgYSBtb21lbnQuLi4iCistTUhaPWAuLi9iaW4vJE9TL21oemAKKytNSFo9YG1oemAKKyBjYXQ8PEVPRgorIEkgdGhpbmsgeW91ciBDUFUgbWh6IGlzIAorIAorQEAgLTY4OSw5ICs2ODksOSBAQCBlc2FjCisgCisgSU5GTz1gLi4vc2NyaXB0cy9pbmZvYAorIGlmIFsgJE1BSUwgPSB5ZXMgXQorLXRoZW4JaWYgWyAhIC1mIC4uL2Jpbi8kT1MvJElORk8gXQorLQl0aGVuCWNwIC4uL3NjcmlwdHMvaW5mby10ZW1wbGF0ZSAuLi9iaW4vJE9TLyRJTkZPCistCQljaG1vZCArdyAuLi9iaW4vJE9TLyRJTkZPCisrdGhlbglpZiBbICEgLWYgJElORk8gXQorKwl0aGVuCWNwIC4uL3NjcmlwdHMvaW5mby10ZW1wbGF0ZSAkSU5GTworKwkJY2htb2QgK3cgJElORk8KKyAJCVJFVVNFPW5vCisgCWVsc2UJCisgCQlSRVVTRT12aWV3CitAQCAtNzA1LDcgKzcwNSw3IEBAIHRoZW4JaWYgWyAhIC1mIC4uL2Jpbi8kT1MvJElORk8gXQorIAkJCQk7OworIAkJCVtWdl0qKQlSRVVTRT12aWV3CisgCQkJCWVjaG8gJEwKKy0JCQkJbW9yZSAuLi9iaW4vJE9TLyRJTkZPCisrCQkJCW1vcmUgJElORk8KKyAJCQkJZWNobyAkTAorIAkJCQk7OworIAkgICAgCQkqKQlSRVVTRT15ZXMKK0BAIC03MzMsNyArNzMzLDcgQEAgRU9GCisgCQl0aGVuCUVESVRPUj0kVE1QCisgCQlmaQorIAkJaWYgWyBYJEVESVRPUiAhPSAibm9uZSIgXQorLQkJdGhlbgkkRURJVE9SIC4uL2Jpbi8kT1MvYC4uL3NjcmlwdHMvaW5mb2AKKysJCXRoZW4JJEVESVRPUiBgLi4vc2NyaXB0cy9pbmZvYAorIAkJZmkKKyAJZmkKKyBmaQorQEAgLTc1MCw3ICs3NTAsNyBAQCBFT0YKKyAKKyBWRVJTSU9OPWAuLi9zY3JpcHRzL3ZlcnNpb25gCisgCistQz0uLi9iaW4vJE9TL2AuLi9zY3JpcHRzL2NvbmZpZ2AKKytDPWAuLi9zY3JpcHRzL2NvbmZpZ2AKKyBlY2hvIERJU0tTPVwiJERJU0tTXCIgPiAkQworIGVjaG8gRElTS19ERVNDPVwiJERJU0tfREVTQ1wiID4+ICRDCisgZWNobyBPVVRQVVQ9JE9VVFBVVCA+PiAkQwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xtYmVuY2gvbG1iZW5jaC0zLjAtYTkvdXNlLWJhc2VfbGliZGlyLWluc3RlYWQtb2YtaGFyZGNvZGVkLWxpYi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2gtMy4wLWE5L3VzZS1iYXNlX2xpYmRpci1pbnN0ZWFkLW9mLWhhcmRjb2RlZC1saWIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzM1MWNlOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2gtMy4wLWE5L3VzZS1iYXNlX2xpYmRpci1pbnN0ZWFkLW9mLWhhcmRjb2RlZC1saWIucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorRnJvbSAwZDA5ZTMxOTcwNjE2ZTA5YmViN2YyMzhjMmI1OWJmYzU0MTE0OGZiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogVGluZyBMaXUgPGIyODQ5NUBmcmVlc2NhbGUuY29tPgorRGF0ZTogRnJpLCAyMiBOb3YgMjAxMyAxNToyMDowOCArMDgwMAorU3ViamVjdDogW1BBVENIXSB1c2UgYmFzZV9saWJkaXIgaW5zdGVhZCBvZiBoYXJkY29kZWQgL2xpYgorCitVcHN0ZWFtIFN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworU2lnbmVkLW9mZi1ieTogVGluZyBMaXUgPGIyODQ5NUBmcmVlc2NhbGUuY29tPgorLS0tCisgc3JjL01ha2VmaWxlIHwgICAgNCArKy0tCisgMSBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvTWFrZWZpbGUgYi9zcmMvTWFrZWZpbGUKK2luZGV4IGM3YThjNzkuLmM3ZTRlM2MgMTAwNjQ0CistLS0gYS9zcmMvTWFrZWZpbGUKKysrKyBiL3NyYy9NYWtlZmlsZQorQEAgLTE0MywxMCArMTQzLDEwIEBAIGluc3RhbGwtdGFyZ2V0OgorIAlpZiBbICEgLWQgJChCQVNFKSBdOyB0aGVuIG1rZGlyICQoQkFTRSk7IGZpCisgCWlmIFsgISAtZCAkKEJBU0UpL2JpbiBdOyB0aGVuIG1rZGlyICQoQkFTRSkvYmluOyBmaQorIAlpZiBbICEgLWQgJChCQVNFKS9pbmNsdWRlIF07IHRoZW4gbWtkaXIgJChCQVNFKS9pbmNsdWRlOyBmaQorLQlpZiBbICEgLWQgJChCQVNFKS9saWIgXTsgdGhlbiBta2RpciAkKEJBU0UpL2xpYjsgZmkKKysJaWYgWyAhIC1kICQoQkFTRSkkKGJhc2VfbGliZGlyKSBdOyB0aGVuIG1rZGlyICQoQkFTRSkkKGJhc2VfbGliZGlyKTsgZmkKKyAJY3AgJChFWEVTKSAkKEJBU0UpL2JpbgorIAljcCAkKElOQ1MpICQoQkFTRSkvaW5jbHVkZQorLQljcCAkTy9sbWJlbmNoLmEgJChCQVNFKS9saWIvbGlibWJlbmNoLmEKKysJY3AgJE8vbG1iZW5jaC5hICQoQkFTRSkkKGJhc2VfbGliZGlyKQorIAljZCAuLi9kb2M7IGVudiBNQUtFRkxBR1M9IiQoTUFLRUZMQUdTKSIgbWFrZSBDQz0iJHtDQ30iIE9TPSIke09TfSIgQkFTRT0iJChCQVNFKSIgaW5zdGFsbAorIAorIAorLS0gCisxLjcuNS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2gvMDAwMS1hdm9pZC1nY2Mtb3B0aW1pemUtYXdheS10aGUtbG9vcHMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbG1iZW5jaC9sbWJlbmNoLzAwMDEtYXZvaWQtZ2NjLW9wdGltaXplLWF3YXktdGhlLWxvb3BzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkOGEyNDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbG1iZW5jaC9sbWJlbmNoLzAwMDEtYXZvaWQtZ2NjLW9wdGltaXplLWF3YXktdGhlLWxvb3BzLnBhdGNoCkBAIC0wLDAgKzEsNzkgQEAKK1tQQVRDSF0gYXZvaWQgZ2NjIG9wdGltaXplLWF3YXkgdGhlIGxvb3BzCisKK1Vwc3RyZWFtLVN0YXR1czogcGVuZGluZworCitDaGFuZ2UgZXhwcmVzc2lvbiB1c2VkIGluIGRvX2ludGVnZXJfbXVsIGFuZCBkb191aW50NjRfbXVsCitiZW5jaG1hcmtzIHNvIEdDQyBkb2Vzbid0IG9wdGltaXplLWF3YXkgdGhlIGxvb3BzLCBvdGhlcgordGhpbmdzIGFyZSBzYW1lOgorLSAgICAgICAgICAgICAgIFRFTihyICo9IHM7KTsgciAtPSB0OworKyAgICAgICAgICAgICAgIGkgPSAwOworKyAgICAgICAgICAgICAgIHdoaWxlICggaSsrIDwgMTApCisrICAgICAgICAgICAgICAgICAgICAgICByICo9IHM7CisrICAgICAgICAgICAgICAgciAtPSB0OworCithbmQgVEVOIGlzIG1hY3JvOgorCSNkZWZpbmUgVEVOKGEpIGEgYSBhIGEgYSBhIGEgYSBhIGEKKworU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2xhdF9vcHMuYyB8IDMwICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2xhdF9vcHMuYyBiL3NyYy9sYXRfb3BzLmMKK2luZGV4IGQzNDNmZjMuLjQ1NzA3MmIgMTAwNjQ0CistLS0gYS9zcmMvbGF0X29wcy5jCisrKysgYi9zcmMvbGF0X29wcy5jCitAQCAtMTI2LDExICsxMjYsMjMgQEAgZG9faW50ZWdlcl9tdWwoaXRlcl90IGl0ZXJhdGlvbnMsIHZvaWQqIGNvb2tpZSkKKyAJc3RydWN0IF9zdGF0ZSAqcFN0YXRlID0gKHN0cnVjdCBfc3RhdGUqKWNvb2tpZTsKKyAJcmVnaXN0ZXIgaW50IHIgPSBwU3RhdGUtPk4gKyAzNzQzMTsKKyAJcmVnaXN0ZXIgaW50IHMgPSBwU3RhdGUtPk4gKyA0OworLQlyZWdpc3RlciBpbnQgdCA9IHIgKiBzICogcyAqIHMgKiBzICogcyAqIHMgKiBzICogcyAqIHMgKiBzIC0gcjsKKysJcmVnaXN0ZXIgaW50IHQgPSByOworKwlpbnQgaSA9IDA7CisrCisrCXdoaWxlICggaSsrIDwgMTApCisrCQl0ICo9IHM7CisrCXQgLT0gcjsKKyAKKyAJd2hpbGUgKGl0ZXJhdGlvbnMtLSA+IDApIHsKKy0JCVRFTihyICo9IHM7KTsgciAtPSB0OworLQkJVEVOKHIgKj0gczspOyByIC09IHQ7CisrCQlpID0gMDsKKysJCXdoaWxlICggaSsrIDwgMTApCisrCQkJciAqPSBzOworKwkJciAtPSB0OworKworKwkJaSA9IDA7CisrCQl3aGlsZSAoIGkrKyA8IDEwKQorKwkJCXIgKj0gczsKKysJCXIgLT0gdDsKKyAJfQorIAl1c2VfaW50KHIpOworIH0KK0BAIC0yMDcsMTMgKzIxOSwyMSBAQCBkb19pbnQ2NF9tdWwoaXRlcl90IGl0ZXJhdGlvbnMsIHZvaWQqIGNvb2tpZSkKKyAJcmVnaXN0ZXIgaW50NjQgciA9IChpbnQ2NClwU3RhdGUtPk4gKyAzNzQyMDsKKyAJcmVnaXN0ZXIgaW50NjQgcyA9IChpbnQ2NClwU3RhdGUtPk4gKyA0OworIAlyZWdpc3RlciBpbnQ2NCB0OworKwlpbnQgaSA9IDA7CisgCisgCXIgKz0gKGludDY0KShwU3RhdGUtPk4gKyA2KTw8MzI7CisgCXQgPSByICogcyAqIHMgKiBzICogcyAqIHMgKiBzICogcyAqIHMgKiBzICogcyAtIHI7CisgCisgCXdoaWxlIChpdGVyYXRpb25zLS0gPiAwKSB7CistCQlURU4ociAqPSBzOyk7IHIgLT0gdDsKKy0JCVRFTihyICo9IHM7KTsgciAtPSB0OworKwkJaSA9IDA7CisrCQl3aGlsZSAoIGkrKyA8IDEwKQorKwkJCXIgKj0gczsKKysJCXIgLT0gdDsKKysKKysJCWkgPSAwOworKwkJd2hpbGUgKCBpKysgPCAxMCkKKysJCQlyICo9IHM7CisrCQlyIC09IHQ7CisgCX0KKyAJdXNlX2ludCgoaW50KXIpOworIH0KKy0tIAorMi44LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xtYmVuY2gvbG1iZW5jaC9sbWJlbmNoLXJ1biBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2gvbG1iZW5jaC1ydW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTkwNGM3NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2gvbG1iZW5jaC1ydW4KQEAgLTAsMCArMSwyMyBAQAorIyEvYmluL3NoCisjIFdyYXBwZXIgc2NyaXB0IGZvciBsbWJlbmNoIHdyaXR0ZW4gZm9yIHRoZSAKKyMgRGViaWFuIEdOVS9MaW51eCBkaXN0cmlidXRpb24gYnkgCisjIEphdmllciBGZXJuYW5kZXotU2FuZ3Vpbm8uCisjIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHUEwKK1NIQVJFRElSPS91c3Ivc2hhcmUvbG1iZW5jaC8KK0JJTkRJUj0vdXNyL2xpYi9sbWJlbmNoLworU0NSSVBUU0RJUj0kU0hBUkVESVIvc2NyaXB0cworUkVTVUxUU0RJUj0kU0hBUkVESVIvcmVzdWx0cworQ09ORklHPS92YXIvbGliL2xtYmVuY2gvY29uZmlnL2AkU0NSSVBUU0RJUi9jb25maWdgCitydW51aWQ9YGlkIC11YAorCitbICRydW51aWQgLWd0IDAgXSAmJiB7CisJZWNobyAiWW91IG11c3QgcnVuIHRoaXMgYXMgdGhlIHJvb3QgdXNlciIKKwlleGl0IDAKK30KK2NkICRTQ1JJUFRTRElSIAorWyAhIC1mICRDT05GSUcgXSAmJiAuL2NvbmZpZy1ydW4KKy4vcmVzdWx0cworCitlY2hvICJCZW5jaG1hcmsgcnVuIGZpbmlzaGVkLi4uLiIKK2VjaG8gIlJlbWVtYmVyIHlvdSBjYW4gZmluZCB0aGUgcmVzdWx0cyBvZiB0aGUgYmVuY2htYXJrICIKK2VjaG8gInVuZGVyICRSRVNVTFRTRElSIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xtYmVuY2gvbG1iZW5jaC9yZW5hbWUtbGluZS1iaW5hcnkucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbG1iZW5jaC9sbWJlbmNoL3JlbmFtZS1saW5lLWJpbmFyeS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YTQwNTIxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xtYmVuY2gvbG1iZW5jaC9yZW5hbWUtbGluZS1iaW5hcnkucGF0Y2gKQEAgLTAsMCArMSwxOSBAQAorQm90aCBsbWJlbmNoIGFuZCB1dGlsLWxpbnV4LW5nIHBhY2thZ2VzIHByb3ZpZGUgb3duIC91c3IvYmluL2xpbmUgYmluYXJpZXMuCitFdmVuIHRob3VnaCB0aGUgYmluYXJpZXMgbmFtZSBpcyB0aGUgc2FtZSwgdGhlaXIgZnVuY3Rpb25hbGl0eSBpcyBkaWZmZXJlbnQuCitUaGlzIHBhdGNoIHJlbmFtZXMgbG1iZW5jaCdzIGxpbmUgYmluYXJ5IGFzIGxtX2xpbmUgdG8gYXZvaWQgY29uZmxpY3RzIHdpdGgKK3V0aWwtbGludXgtbmcuICBzY3JpcHQvY29uZmlnLXJ1biBpcyBhbHNvIG1vZGlmaWVkIChwYXRjaCkgdG8gY2FsbCBsbV9saW5lCitpbnN0ZWFkIG9mIGxpbmUuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbYnVpbGQgc3lzdGVtIHNwZWNpZmljIGNoYW5nZV0KKworLS0tIHBhdGNoZXMvc2NyaXB0cy9jb25maWctcnVuCTIwMDYtMTEtMjYgMTU6MTE6MDQuMDAwMDAwMDAwIC0wNTAwCisrKysgcGF0Y2hlcy9zY3JpcHRzL2NvbmZpZy1ydW4JMjAxMS0wNC0wMSAwOTozNTo1MC4wMDAwMDAwMDAgLTA0MDAKK0BAIC0yMjQsNyArMjI0LDcgQEAgZmkKKyAKKyBlY2hvICJIYW5nIG9uLCB3ZSBhcmUgY2FsY3VsYXRpbmcgeW91ciBjYWNoZSBsaW5lIHNpemUuIgorIC4uL2Jpbi8kT1MvbXNsZWVwIDI1MAorLUxJTkVfU0laRT1gLi4vYmluLyRPUy9saW5lIC1NICR7TUJ9TWAKKytMSU5FX1NJWkU9YC4uL2Jpbi8kT1MvbG1fbGluZSAtTSAke01CfU1gCisgZXhwb3J0IExJTkVfU0laRQorIGVjaG8gIk9LLCBpdCBsb29rcyBsaWtlIHlvdXIgY2FjaGUgbGluZSBpcyAkTElORV9TSVpFIGJ5dGVzLiIKKyBlY2hvICIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbG1iZW5jaC9sbWJlbmNoXzMuMC1hOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2hfMy4wLWE5LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2MjM4OWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbG1iZW5jaC9sbWJlbmNoXzMuMC1hOS5iYgpAQCAtMCwwICsxLDc5IEBACitTVU1NQVJZID0gIlRvb2xzIGZvciBwZXJmb3JtYW5jZSBhbmFseXNpcyIKK0hPTUVQQUdFID0gImh0dHA6Ly9sbWJlbmNoLnNvdXJjZWZvcmdlLm5ldC8iCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFID0gIkdQTHYyICYgR1BMLTIuMC13aXRoLWxtYmVuY2gtcmVzdHJpY3Rpb24iCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04Y2E0M2NiYzg0MmMyMzM2ZTgzNTkyNmMyMTY2YzI4YiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLTI7bWQ1PThlOWFlZTJjY2M3NWQ2MWQxMDdlNDM3OTRhMjVjZGY5IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworUFIgPSAicjIiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2xtYmVuY2gvbG1iZW5jaC0ke1BWfS50Z3ogXAorICAgICAgICAgICBmaWxlOi8vbG1iZW5jaC1ydW4gXAorICAgICAgICAgICBmaWxlOi8vcmVuYW1lLWxpbmUtYmluYXJ5LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3VwZGF0ZS1yZXN1bHRzLXNjcmlwdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9vYmV5LXJhbmxpYi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly91cGRhdGUtY29uZmlnLXNjcmlwdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly91c2UtYmFzZV9saWJkaXItaW5zdGVhZC1vZi1oYXJkY29kZWQtbGliLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2xtYmVuY2hfcmVzdWx0X2h0bWxfcmVwb3J0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC1sbWJlbmNoLW1lbW9yeS1jaGVjay1mYWlsdXJlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtYXZvaWQtZ2NjLW9wdGltaXplLWF3YXktdGhlLWxvb3BzLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJiMzM1MWEzMjk0ZGI2NmE3MmUyODY0YTE5OWQzN2NiZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjYmQ1Nzc3ZDE1ZjQ0ZWFiNzY2NmRjYWM0MTgwNTRjM2MwOWRmOTk4MjY5NjFhMzk3ZDlhY2Y0M2Q4YTJhNTUxIgorCitFWFRSQV9PRU1BS0UgPSAnQ0M9IiR7Q0N9IiBBUj0iJHtBUn0iIFJBTkxJQj0iJHtSQU5MSUJ9IiBDRkxBR1M9IiR7Q0ZMQUdTfSIgXAorICAgICAgICAgICAgICAgIExERkxBR1M9IiR7TERGTEFHU30iIExEPSIke0xEfSIgT1M9IiR7VEFSR0VUX1NZU30iIFwKKyAgICAgICAgICAgICAgICBUQVJHRVQ9IiR7VEFSR0VUX09TfSIgQkFTRT0iJHtwcmVmaXh9IiBNQU5ESVI9IiR7bWFuZGlyfSInCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICA6Cit9CisKK2RvX2NvbXBpbGUgKCkgeworICAgIC4gJHtDT05GSUdfU0lURX0KKyAgICBpZiBbIFgiJGFjX2N2X3VpbnQiID0gWCJ5ZXMiIF07IHRoZW4KKyAgICAgICAgQ0ZMQUdTPSIke0NGTEFHU30gLURIQVZFX3VpbnQiCisgICAgZmkKKyAgICBpbnN0YWxsIC1kICR7U30vYmluLyR7VEFSR0VUX1NZU30KKyAgICBvZV9ydW5tYWtlIC1DIHNyYworfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzIFwKKyAgICAgICAgICAgJHtEfSR7YmluZGlyfSAke0R9JHttYW5kaXJ9ICR7RH0ke2xpYmRpcn0vbG1iZW5jaCBcCisgICAgICAgICAgICR7RH0ke2RhdGFkaXJ9L2xtYmVuY2gvc2NyaXB0cworCisgICAgZWNobyAiZCByb290IHJvb3QgMDc1NSAke2xvY2Fsc3RhdGVkaXJ9L3J1bi8ke0JQTn0gbm9uZSIgXAorICAgICAgICAgICA+ICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzLzk5X2xtYmVuY2gKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQKKyAgICAgICAgZWNobyAiZCAvcnVuLyR7QlBOfSAtIC0gLSAtIiBcCisgICAgICAgICAgICAgID4gJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC9sbWJlbmNoLmNvbmYKKyAgICBmaQorCisgICAgb2VfcnVubWFrZSBCQVNFPSIke0R9JHtwcmVmaXh9IiBNQU5ESVI9IiR7RH0ke21hbmRpcn0iIFwKKyAgICAgICAgICAgIC1DIHNyYyBpbnN0YWxsCisgICAgbXYgJHtEfSR7YmluZGlyfS9saW5lICR7RH0ke2JpbmRpcn0vbG1fbGluZQorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2xtYmVuY2gtcnVuICR7RH0ke2JpbmRpcn0vCisgICAgc2VkIC1pIC1lICdzLF5TSEFSRURJUj0uKiQsU0hBUkVESVI9JHtkYXRhZGlyfS8ke0JQTn0sOycgXAorICAgICAgICAgICAtZSAncyxeQklORElSPS4qJCxCSU5ESVI9JHtsaWJkaXJ9LyR7QlBOfSw7JyBcCisgICAgICAgICAgIC1lICdzLF5DT05GSUc9LiokLENPTkZJRz1gJFNDUklQVFNESVIvY29uZmlnYCw7JyBcCisgICAgICAgICAgICR7RH0ke2JpbmRpcn0vbG1iZW5jaC1ydW4KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9zY3JpcHRzL2xtYmVuY2ggJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L3NjcmlwdHMvKiAke0R9JHtkYXRhZGlyfS9sbWJlbmNoL3NjcmlwdHMKK30KKworcGtnX3Bvc3RpbnN0XyR7UE59ICgpIHsKKyAgICBpZiBbIC16ICIkRCIgXTsgdGhlbgorICAgICAgICBpZiBjb21tYW5kIC12IHN5c3RlbWQtdG1wZmlsZXMgPi9kZXYvbnVsbDsgdGhlbgorICAgICAgICAgICAgc3lzdGVtZC10bXBmaWxlcyAtLWNyZWF0ZSAke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvbG1iZW5jaC5jb25mCisgICAgICAgIGVsaWYgWyAtZSAke3N5c2NvbmZkaXJ9L2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCBdOyB0aGVuCisgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCB1cGRhdGUKKyAgICAgICAgZmkKKyAgICBmaQorfQorCitSREVQRU5EU18ke1BOfSA9ICJwZXJsIgorRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vbG1iZW5jaCAke2xpYmRpcn0vbG1iZW5jaCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9tZW10ZXN0ZXIvZmlsZXMvTWFrZWZpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbWVtdGVzdGVyL2ZpbGVzL01ha2VmaWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3MWU1MmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbWVtdGVzdGVyL2ZpbGVzL01ha2VmaWxlLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0Zyb20gOWE5NTBiMTRiOWY3NzY3ZDgzZTVmYWFjMmUxZTgyMDNjNTAwZTJjMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvZCBXaGl0YnkgPHJvZEB3aGl0YnkuaWQuYXU+CitEYXRlOiBUdWUsIDI1IE9jdCAyMDExIDE4OjQzOjUwIC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIG1lbXRlc3RlcjogQWRkZWQgcGF0Y2ggdG8gTWFrZWZpbGUgdG8gY2hhbmdlIG5vLWxvbmdlci1zdXBwb3J0ZWQgJ2hlYWQgLTEnIHN5bnRheCB0byAnaGVhZCAtbiAxJy4KKworU2lnbmVkLW9mZi1ieTogSm9lbCBBIEZlcm5hbmRlcyA8am9lbGFnbmVsQHRpLmNvbT4KKy0tLQorIE1ha2VmaWxlIHwgICAgNCArKy0tCisgMSBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCBhMjcxYmY1Li42YmNjZmYzIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtMzIsOCArMzIsOCBAQCBpbnN0YWxsOiBhbGwKKyBhdXRvLWNjbGQuc2g6IFwKKyBjb25mLWNjIGNvbmYtbGQgd2Fybi1hdXRvLnNoCisgCSggY2F0IHdhcm4tYXV0by5zaDsgXAorLQllY2hvIENDPVwnYGhlYWQgLTEgY29uZi1jY2BcJzsgXAorLQllY2hvIExEPVwnYGhlYWQgLTEgY29uZi1sZGBcJyBcCisrCWVjaG8gQ0M9XCdgaGVhZCAtbiAxIGNvbmYtY2NgXCc7IFwKKysJZWNobyBMRD1cJ2BoZWFkIC1uIDEgY29uZi1sZGBcJyBcCisgCSkgPiBhdXRvLWNjbGQuc2gKKyAKKyBjb21waWxlOiBcCistLSAKKzEuNy4wLjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL21lbXRlc3Rlci9tZW10ZXN0ZXJfNC4zLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbWVtdGVzdGVyL21lbXRlc3Rlcl80LjMuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOTY0YzA0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL21lbXRlc3Rlci9tZW10ZXN0ZXJfNC4zLjAuYmIKQEAgLTAsMCArMSwyNSBAQAorU1VNTUFSWSA9ICJVdGlsaXR5IHRvIHRlc3QgZm9yIGZhdWx0eSBtZW1vcnkgc3Vic3lzdGVtIgorSE9NRVBBR0UgPSAiaHR0cDovL3B5cm9wdXMuY2Evc29mdHdhcmUvbWVtdGVzdGVyLyIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0xJQ0VOU0UgPSAiR1BMdjIiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA2MzZlNzNmZjAyMTVlOGQ2NzJkYzRjMzJjMzE3YmIzIgorCitTUkNfVVJJID0gImh0dHA6Ly9weXJvcHVzLmNhL3NvZnR3YXJlL21lbXRlc3Rlci9vbGQtdmVyc2lvbnMvJHtCUH0udGFyLmd6IgorU1JDX1VSSSArPSAiZmlsZTovL01ha2VmaWxlLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNTk4ZjQxYjczMDhlMWY3MzYxNjRiY2EzYWI4NGRkYmUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjlkZmUyZmQ3MzdjMzhmYWQ2NTM1YmJhYjMyN2RhOWEyMWY3Y2U0ZWE2ZjE4YzdiMzMzOWFkZWY2YmY1ZmQ4OCIKKworZG9fY29tcGlsZSAoKSB7CisgICAgZWNobyAnJHtDQ30gJHtDRkxBR1N9IC1EUE9TSVggLWMnID4gY29uZi1jYworICAgIGVjaG8gJyR7Q0N9ICR7TERGTEFHU30nID4gY29uZi1sZAorICAgIG9lX3J1bm1ha2UKK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjgKKyAgICBpbnN0YWxsIC1tIDA3NTUgbWVtdGVzdGVyICR7RH0ke2JpbmRpcn0vCisgICAgaW5zdGFsbCAtbSAwNzU1IG1lbXRlc3Rlci44ICR7RH0ke21hbmRpcn0vbWFuOC8KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9uYmVuY2gtYnl0ZS9uYmVuY2gtYnl0ZS9NYWtlZmlsZS1hZGQtbW9yZS1kZXBlbmRlbmNpZXMtdG8tcG9pbnRlci5oLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL25iZW5jaC1ieXRlL25iZW5jaC1ieXRlL01ha2VmaWxlLWFkZC1tb3JlLWRlcGVuZGVuY2llcy10by1wb2ludGVyLmgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWJkYjQzNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9uYmVuY2gtYnl0ZS9uYmVuY2gtYnl0ZS9NYWtlZmlsZS1hZGQtbW9yZS1kZXBlbmRlbmNpZXMtdG8tcG9pbnRlci5oLnBhdGNoCkBAIC0wLDAgKzEsMjMgQEAKK01ha2VmaWxlOiBhZGQgbW9yZSBkZXBlbmRlbmNpZXMgdG8gcG9pbnRlci5oCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbm8gdXBzdHJlYW1dCisKK1NpZ25lZC1vZmYtYnk6IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+CistLS0KKyBNYWtlZmlsZSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IDkxNTg2NmQuLmVkZDllYTIgMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0xMjIsNyArMTIyLDcgQEAgZW1mbG9hdC5vOiBlbWZsb2F0LmggZW1mbG9hdC5jIG5tZ2xvYmFsLmggcG9pbnRlci5oIE1ha2VmaWxlCisgcG9pbnRlci5oOiBNYWtlZmlsZQorIAl0b3VjaCBwb2ludGVyLmggOworIAorLW1pc2MubzogbWlzYy5oIG1pc2MuYyBNYWtlZmlsZQorK21pc2MubzogbWlzYy5oIG1pc2MuYyBubWdsb2JhbC5oIHBvaW50ZXIuaCBNYWtlZmlsZQorIAkkKENDKSAkKE1BQ0hJTkUpICQoREVGSU5FUykgJChDRkxBR1MpXAorIAkJLWMgbWlzYy5jCisgCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9uYmVuY2gtYnl0ZS9uYmVuY2gtYnl0ZS9uYmVuY2hfMzJiaXRzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL25iZW5jaC1ieXRlL25iZW5jaC1ieXRlL25iZW5jaF8zMmJpdHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWI4YTRkYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9uYmVuY2gtYnl0ZS9uYmVuY2gtYnl0ZS9uYmVuY2hfMzJiaXRzLnBhdGNoCkBAIC0wLDAgKzEsNDYgQEAKK0Zyb20gODFmNDA0M2E2Nzg3MDYwMDI5ZWYyMGVlZDIxY2RjZjNlNTAzMzdkZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoYXNlIE1hdXBpbiA8Q2hhc2UuTWF1cGluQHRpLmNvbT4KK0RhdGU6IFR1ZSwgMjggRmViIDIwMTIgMTQ6NTg6MzUgLTA2MDAKK1N1YmplY3Q6IFtQQVRDSF0gbmJlbmNoOiBtb2RpZnkgTWFrZWZpbGUgZm9yIDMyYml0CisKKyogUGF0Y2ggdGFrZW4gZnJvbSBPRSBjbGFzc2ljIGdpdCByZXBvc2l0b3J5IGFzIG9mIGNvbW1pdCBpZAorICBhZDQyYmY5MDY1OTI4YjI5MDJkN2Q5NTM0NzA5ZDNjY2VhN2VjOTU2IGFuZCB3YXMgYWRkZWQgYnk6CisgICAgKiBNYXJjaW4gSnVzemtpZXdpY3ogPG1hcmNpbkBqdXN6a2lld2ljei5jb20ucGw+CisqIE5vdGVzIGZyb20gb3JpZ2luYWwgcGF0Y2ggd2VyZToKKworQllURSBNYWdhemluZSdzIG5hdGl2ZSBiZW5jaG1hcmtzIChhbHNvIGNhbGxlZCBCWVRFbWFyaykgZGVzaWduZWQgdG8KK2V4cG9zZSB0aGUgY2FwYWJpbGl0aWVzIG9mIGEgc3lzdGVtJ3MgQ1BVLCBGUFUgYW5kIG1lbW9yeSBzeXN0ZW0uCisKK2h0dHA6Ly93d3cudHV4Lm9yZy9+bWF5ZXIvbGludXgvCisKK1JlY2lwZSBmcm9tIG9sZCBBdG1lbCBvdmVybGF5LgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW25vIHVwc3RyZWFtXQorCitTaWduZWQtb2ZmLWJ5OiBDaGFzZSBNYXVwaW4gPGNoYXNlLm1hdXBpbkB0aS5jb20+CistLS0KKyBNYWtlZmlsZSB8ICAgIDggKystLS0tLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IDUwNDVjNzcuLjkxNTg2NmQgMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0xMTksMTIgKzExOSw4IEBAIGVtZmxvYXQubzogZW1mbG9hdC5oIGVtZmxvYXQuYyBubWdsb2JhbC5oIHBvaW50ZXIuaCBNYWtlZmlsZQorIAkkKENDKSAkKE1BQ0hJTkUpICQoREVGSU5FUykgJChDRkxBR1MpXAorIAkJLWMgZW1mbG9hdC5jCisgCistcG9pbnRlci5oOiBwb2ludGVyIE1ha2VmaWxlCistCSQoQ0MpICQoTUFDSElORSkgJChERUZJTkVTKSAkKENGTEFHUylcCistCQktbyBwb2ludGVyIHBvaW50ZXIuYworLQlybSAtZiBwb2ludGVyLmgKKy0JaWYgWyAiNCIgPSBgLi9wb2ludGVyYCBdIDsgdGhlbiB0b3VjaCBwb2ludGVyLmggO1wKKy0JZWxzZSBlY2hvICIjZGVmaW5lIExPTkc2NCIgPnBvaW50ZXIuaCA7IGZpCisrcG9pbnRlci5oOiBNYWtlZmlsZQorKwl0b3VjaCBwb2ludGVyLmggOworIAorIG1pc2MubzogbWlzYy5oIG1pc2MuYyBNYWtlZmlsZQorIAkkKENDKSAkKE1BQ0hJTkUpICQoREVGSU5FUykgJChDRkxBR1MpXAorLS0gCisxLjcuMC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9uYmVuY2gtYnl0ZS9uYmVuY2gtYnl0ZV8yLjIuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9uYmVuY2gtYnl0ZS9uYmVuY2gtYnl0ZV8yLjIuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NjI3MmQ5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL25iZW5jaC1ieXRlL25iZW5jaC1ieXRlXzIuMi4zLmJiCkBAIC0wLDAgKzEsMjcgQEAKK0RFU0NSSVBUSU9OID0gIkJZVEUgTWFnYXppbmUncyBuYXRpdmUgYmVuY2htYXJrcyAoYWxzbyBjYWxsZWQgQllURW1hcmspIFwKK2Rlc2lnbmVkIHRvIGV4cG9zZSB0aGUgY2FwYWJpbGl0aWVzIG9mIGEgc3lzdGVtJ3MgQ1BVLCBGUFUsIFwKK2FuZCBtZW1vcnkgc3lzdGVtLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cudHV4Lm9yZy9+bWF5ZXIvbGludXgvIgorTElDRU5TRSA9ICJuYmVuY2gtYnl0ZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9NTc7ZW5kbGluZT02NjttZDU9MDIwZWY1NzlmOGZhNTc0NmI3ZTMwN2E1NDcwNzgzNGYiCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy50dXgub3JnL35tYXllci9saW51eC8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vbmJlbmNoXzMyYml0cy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9NYWtlZmlsZS1hZGQtbW9yZS1kZXBlbmRlbmNpZXMtdG8tcG9pbnRlci5oLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMjg1ZGZhYjM2MTA4MDc1OWQ0NzdlYTFmZTdkMzA5M2EiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzIzZGQwNzNmODBlOTk2OTYzOWViNTc3ZDJhZjRiNTQwZmMyOTcxNmI2ZWFmZGFjNDg4ZDhmNWFlZDkxMDFhYyIKKworRVhUUkFfT0VNQUtFID0gIi1lIE1BS0VGTEFHUz0iCisKK1RBUkdFVF9DQ19BUkNIICs9ICIke0NGTEFHU30gJHtMREZMQUdTfSIKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZQorfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgTk5FVC5EQVQgJHtEfSR7YmluZGlyfS8KKyAgICBpbnN0YWxsIC1tIDA3NTUgbmJlbmNoICR7RH0ke2JpbmRpcn0vCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvcGhvcm9uaXgtdGVzdC1zdWl0ZS9waG9yb25peC10ZXN0LXN1aXRlXzYuMC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL3Bob3Jvbml4LXRlc3Qtc3VpdGUvcGhvcm9uaXgtdGVzdC1zdWl0ZV82LjAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YWNmYmYxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL3Bob3Jvbml4LXRlc3Qtc3VpdGUvcGhvcm9uaXgtdGVzdC1zdWl0ZV82LjAuMS5iYgpAQCAtMCwwICsxLDM1IEBACitTVU1NQVJZID0gIlBob3Jvbml4IFRlc3QgU3VpdGUiCitERVNDUklQVElPTiA9ICJUaGUgUGhvcm9uaXggVGVzdCBTdWl0ZSBpcyBkZXNpZ25lZCB0byBjYXJyeSBvdXQgYm90aCBxdWFsaXRhdGl2ZSBcCithbmQgcXVhbnRpdGF0aXZlIGJlbmNobWFya3MgaW4gYSBjbGVhbiwgcmVwcm9kdWNpYmxlLCBhbmQgZWFzeS10by11c2UgbWFubmVyLiIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKK1NFQ1RJT04gPSAiY29uc29sZS90ZXN0cyIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LnBob3Jvbml4LXRlc3Qtc3VpdGUuY29tL3JlbGVhc2VzLyR7QlB9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJjM2IyNmZjYzU3YTNhMjUzZTU1OGY3NTlmZGMxMDg5ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyN2FkZDU0ZjRlY2I0NjQ1NDlkZTU4MGNlY2U4NGI0YTQ5NDViOTlkZjNlZjdmZjcwMzRlYjdmMjNmZmIzYjM5IgorUyA9ICIke1dPUktESVJ9L3Bob3Jvbml4LXRlc3Qtc3VpdGUiCisKK2luaGVyaXQgc3lzdGVtZCBhbGxhcmNoCisKK2RvX2luc3RhbGwoKSB7CisJREVTVERJUj0ke0R9IC4vaW5zdGFsbC1zaCAke2V4ZWNfcHJlZml4fQorCisJaWYgWyAiJHtzeXN0ZW1kX3VuaXRkaXJ9IiAhPSAiL3Vzci9saWIvc3lzdGVtZCIgXTsgdGhlbgorCQlpbnN0YWxsIC1kICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKwkJbXYgJHtEfS91c3IvbGliL3N5c3RlbWQvc3lzdGVtLyogJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLworCQlybSAtcmYgJHtEfS91c3IvbGliLworCWZpCit9CisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJwaG9yb21hdGljLWNsaWVudC5zZXJ2aWNlIHBob3JvbWF0aWMtc2VydmVyLnNlcnZpY2UiCitSREVQRU5EU18ke1BOfSArPSAiYmFzaCBweXRob24gcGhwLWNsaSIKKworRklMRVNfJHtQTn0gKz0gIiBcCisJJHtkYXRhZGlyfS9waG9yb25peC10ZXN0LXN1aXRlIFwKKwkke2RhdGFkaXJ9L2FwcGRhdGEvcGhvcm9uaXgtdGVzdC1zdWl0ZS5hcHBkYXRhLnhtbCBcCisJJHtkYXRhZGlyfS9pY29ucy9oaWNvbG9yLzQ4eDQ4L2FwcHMvcGhvcm9uaXgtdGVzdC1zdWl0ZS5wbmcgXAorCSR7ZGF0YWRpcn0vaWNvbnMvaGljb2xvci82NHg2NC9taW1ldHlwZXMvYXBwbGljYXRpb24teC1vcGVuYmVuY2htYXJraW5nLnBuZyBcCisJJHtkYXRhZGlyfS9taW1lL3BhY2thZ2VzL29wZW5iZW5jaG1hcmtpbmctbWltZS54bWwgXAorCSR7c3lzdGVtZF91bml0ZGlyfS8qIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay90aW55bWVtYmVuY2gvdGlueW1lbWJlbmNoX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay90aW55bWVtYmVuY2gvdGlueW1lbWJlbmNoX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ODk4YTcwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL3RpbnltZW1iZW5jaC90aW55bWVtYmVuY2hfZ2l0LmJiCkBAIC0wLDAgKzEsMjcgQEAKK0RFU0NSSVBUSU9OID0gIkEgc2ltcGxlIG1lbW9yeSBiZW5jaG1hcmsgcHJvZ3JhbSwgd2hpY2ggdHJpZXMgdG8gbWVhc3VyZSB0aGUgXAorcGVhayBiYW5kd2lkdGggb2Ygc2VxdWVudGlhbCBtZW1vcnkgYWNjZXNzZXMgYW5kIHRoZSBsYXRlbmN5IG9mIHJhbmRvbSBtZW1vcnkgXAorYWNjZXNzZXMuIEJhbmR3aWR0aCBpcyBtZWFzdXJlZCBieSBydW5uaW5nIGRpZmZlcmVudCBhc3NlbWJseSBjb2RlIGZvciB0aGUgXAorYWxpZ25lZCBtZW1vcnkgYmxvY2tzIGFuZCBhdHRlbXB0aW5nIGRpZmZlcmVudCBwcmVmZXRjaCBzdHJhdGVnaWVzIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3NzdmIvdGlueW1lbWJlbmNoL3dpa2kiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL21haW4uYztlbmRsaW5lPTIyO21kNT04NzliOWJiYjYwODUxNDU0ODg1YjVmYTQ3ZWI2YjM0NSIKKworUFYgPSAiMC4zLjkrZ2l0JHtTUkNQVn0iCisKK1NSQ1JFViA9ICI5NWU2ODQ3NzU4OGQ0MTE4N2IyZDJlNTJlY2Y2YmUwZTdlYjA2YjhkIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3NzdmIvdGlueW1lbWJlbmNoLmdpdCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tNzU1IHRpbnltZW1iZW5jaCAke0R9JHtiaW5kaXJ9LworfQorCisjIEZhaWxzIHRvIGJ1aWxkIHdpdGggdGh1bWItMSAocWVtdWFybSkKKyN8IHtzdGFuZGFyZCBpbnB1dH06IEFzc2VtYmxlciBtZXNzYWdlczoKKyN8IHtzdGFuZGFyZCBpbnB1dH06NjY6IEVycm9yOiBpbnN0cnVjdGlvbiBub3Qgc3VwcG9ydGVkIGluIFRodW1iMTYgbW9kZSAtLSBgc3VicyByMSxyMSwjMTYnCisjfCB7c3RhbmRhcmQgaW5wdXR9OjY5OiBFcnJvcjogaW5zdHJ1Y3Rpb24gbm90IHN1cHBvcnRlZCBpbiBUaHVtYjE2IG1vZGUgLS0gYHN1YnMgcjEscjEsIzE2JworI3wge3N0YW5kYXJkIGlucHV0fTo4MjogRXJyb3I6IHNlbGVjdGVkIHByb2Nlc3NvciBkb2VzIG5vdCBzdXBwb3J0IFRodW1iIG1vZGUgYG1sYSByMyxyNCxyMyxyNScKKyN8IHtzdGFuZGFyZCBpbnB1dH06ODI6IEVycm9yOiB1bnNoaWZ0ZWQgcmVnaXN0ZXIgcmVxdWlyZWQgLS0gYGFuZCByOCxyNyxyMyxsc3IjMTYnCitBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay90aW9iZW5jaC90aW9iZW5jaC0wLjMuMy8wMDAxLURyb3AtaW5saW5lLW9mLWNyYzMyLWZ1bmN0aW9uLXRvLWZpeC1idWlsZC11c2luZy1HQ0MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvdGlvYmVuY2gvdGlvYmVuY2gtMC4zLjMvMDAwMS1Ecm9wLWlubGluZS1vZi1jcmMzMi1mdW5jdGlvbi10by1maXgtYnVpbGQtdXNpbmctR0NDLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhZWJiOTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvdGlvYmVuY2gvdGlvYmVuY2gtMC4zLjMvMDAwMS1Ecm9wLWlubGluZS1vZi1jcmMzMi1mdW5jdGlvbi10by1maXgtYnVpbGQtdXNpbmctR0NDLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK0Zyb20gNTQyOWFiOTBlYjMzZWIyNDNmYTdiOWNkMjQ3ZTA0OTBkNzJiOWRhNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+CitEYXRlOiBXZWQsIDkgU2VwIDIwMTUgMTU6MDQ6NDUgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gRHJvcCAnaW5saW5lJyBvZiBjcmMzMiBmdW5jdGlvbiB0byBmaXggYnVpbGQgdXNpbmcgR0NDIDUuMgorT3JnYW5pemF0aW9uOiBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTFREQS4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+CistLS0KKyBjcmMzMi5oIHwgICAxIC0KKyBjcmMzMi5vIHwgQmluIDc0OCAtPiAyMDU2IGJ5dGVzCisgMiBmaWxlcyBjaGFuZ2VkLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jcmMzMi5oIGIvY3JjMzIuaAoraW5kZXggNjJiMzQzMy4uOGZjNjJiNiAxMDA2NDQKKy0tLSBhL2NyYzMyLmgKKysrKyBiL2NyYzMyLmgKK0BAIC0xOCw3ICsxOCw2IEBACisgI2lmbmRlZiBDUkMzMl9ICisgI2RlZmluZSBDUkMzMl9ICisgCistaW5saW5lIAorIHVuc2lnbmVkIGxvbmcgY3JjMzIoIGNvbnN0IHZvaWQqIGNvbnN0IGJ1ZmZlciwgCisgCQkgICAgICB1bnNpZ25lZCBsb25nIGxlbmd0aCwgCisgCQkgICAgICB1bnNpZ25lZCBsb25nIGNyYyk7CisKKy0tIAorMi4xLjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL3Rpb2JlbmNoL3Rpb2JlbmNoLTAuMy4zL2F2b2lkLWdsaWJjLWNsYXNoZXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvdGlvYmVuY2gvdGlvYmVuY2gtMC4zLjMvYXZvaWQtZ2xpYmMtY2xhc2hlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMjFkMjk5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL3Rpb2JlbmNoL3Rpb2JlbmNoLTAuMy4zL2F2b2lkLWdsaWJjLWNsYXNoZXMucGF0Y2gKQEAgLTAsMCArMSw1NyBAQAorRnJvbTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KK1N1YmplY3Q6IFtQQVRDSF0gQXZvaWQgYWxpZ25lZCBhbGxvY2F0aW9uIGZ1bmN0aW9uIG5hbWUgY2xhc2hlcworCitnbGliYyBhZGRlZCBuZXcgbWV0aG9kcyBmb3IgYWxpZ25lZCBhbGxvY2F0aW9uIGFuZCBpdCBjbGFzaGVzIHdpdGggdGhlCitsb2NhbCB2ZXJzaW9uIHVzZWQgYnkgJ3Rpb2JlbmNoJy4gVG8gZml4IGl0LCB3ZSBwcmVmaXggdGhlIG1ldGhvZHMKK3dpdGggJ18nLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KKy0tLQorIHRpb3Rlc3QuYyB8ICAgIDggKysrKy0tLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rpb3Rlc3QuYyBiL3Rpb3Rlc3QuYworaW5kZXggMzhmNTRlNy4uNmIzZDBjMyAxMDA2NDQKKy0tLSBhL3Rpb3Rlc3QuYworKysrIGIvdGlvdGVzdC5jCitAQCAtMzEsNyArMzEsNyBAQCBzdGF0aWMgY29uc3QgY2hhciogdmVyc2lvblN0ciA9ICJ0aW90ZXN0IHYwLjMuMyAoQykgMTk5OS0yMDAwIE1pa2EgS3VvcHBhbGEgPG1paworICovCisgQXJndW1lbnRPcHRpb25zIGFyZ3M7CisgCistc3RhdGljIHZvaWQgKiBhbGlnbmVkX2FsbG9jKHNzaXplX3Qgc2l6ZSkKKytzdGF0aWMgdm9pZCAqIF9hbGlnbmVkX2FsbG9jKHNzaXplX3Qgc2l6ZSkKKyB7CisgCWNhZGRyX3QgYTsKKyAJYSA9IG1tYXAoKGNhZGRyX3QgKTAsIHNpemUsIAorQEAgLTQxLDcgKzQxLDcgQEAgc3RhdGljIHZvaWQgKiBhbGlnbmVkX2FsbG9jKHNzaXplX3Qgc2l6ZSkKKyAJcmV0dXJuIGE7CisgfQorIAorLXN0YXRpYyBpbnQgYWxpZ25lZF9mcmVlKGNhZGRyX3QgYSwgc3NpemVfdCBzaXplKQorK3N0YXRpYyBpbnQgX2FsaWduZWRfZnJlZShjYWRkcl90IGEsIHNzaXplX3Qgc2l6ZSkKKyB7CisgCXJldHVybiBtdW5tYXAoYSwgc2l6ZSk7CisgfQorQEAgLTI4MSw3ICsyODEsNyBAQCB2b2lkIGluaXRpYWxpemVfdGVzdCggVGhyZWFkVGVzdCAqZCApCisgCQlwdGhyZWFkX2F0dHJfc2V0c2NvcGUoJihkLT50aHJlYWRzW2ldLnRocmVhZF9hdHRyKSwKKyAJCQkJICAgICAgUFRIUkVBRF9TQ09QRV9TWVNURU0pOworIAorLQkJZC0+dGhyZWFkc1tpXS5idWZmZXIgPSBhbGlnbmVkX2FsbG9jKCBkLT50aHJlYWRzW2ldLmJsb2NrU2l6ZSApOworKwkJZC0+dGhyZWFkc1tpXS5idWZmZXIgPSBfYWxpZ25lZF9hbGxvYyggZC0+dGhyZWFkc1tpXS5ibG9ja1NpemUgKTsKKyAJCWlmKCBkLT50aHJlYWRzW2ldLmJ1ZmZlciA9PSBOVUxMICkKKyAJCXsKKyAJCQlwZXJyb3IoIkVycm9yIGFsbG9jYXRpbmcgbWVtb3J5Iik7CitAQCAtMzgzLDcgKzM4Myw3IEBAIHZvaWQgY2xlYW51cF90ZXN0KCBUaHJlYWRUZXN0ICpkICkKKyAJeworIAkJaWYgKCFhcmdzLnJhd0RyaXZlcykKKyAJCXVubGluayhkLT50aHJlYWRzW2ldLmZpbGVOYW1lKTsKKy0JCWFsaWduZWRfZnJlZSggZC0+dGhyZWFkc1tpXS5idWZmZXIsIGQtPnRocmVhZHNbaV0uYmxvY2tTaXplICk7CisrCQlfYWxpZ25lZF9mcmVlKCBkLT50aHJlYWRzW2ldLmJ1ZmZlciwgZC0+dGhyZWFkc1tpXS5ibG9ja1NpemUgKTsKKyAJCWQtPnRocmVhZHNbaV0uYnVmZmVyID0gMDsKKyAJCisgCQlwdGhyZWFkX2F0dHJfZGVzdHJveSggJihkLT50aHJlYWRzW2ldLnRocmVhZF9hdHRyKSApOworLS0gCisxLjcuNworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvdGlvYmVuY2gvdGlvYmVuY2gtMC4zLjMvdGlvYmVuY2gtbWFrZWZpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvdGlvYmVuY2gvdGlvYmVuY2gtMC4zLjMvdGlvYmVuY2gtbWFrZWZpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjgyMGM3ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay90aW9iZW5jaC90aW9iZW5jaC0wLjMuMy90aW9iZW5jaC1tYWtlZmlsZS5wYXRjaApAQCAtMCwwICsxLDQ5IEBACitBZGFwdCB0aW9iZW5jaCB0byBPRQorQXV0aG9yOiBMdWRvdmljIERlc3JvY2hlcyA8bHVkb3ZpYy5kZXNyb2NoZXNAYXRtZWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW25vdCBhdXRob3JdCisKK0luZGV4OiBNYWtlZmlsZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvTWFrZWZpbGUJMjAxMS0wNS0yNiAwNzo0ODo0Ni4zNDE0MDA5NzQgKzAyMDAKKysrKyBiL01ha2VmaWxlCTIwMTEtMDUtMzAgMDY6MzI6MzguMDkxNDAxMzU4ICswMjAwCitAQCAtMSw4ICsxLDkgQEAKKyAjIE1ha2VmaWxlIGZvciB0aW90ZXN0CisgCistQ0M9Z2NjCisrQ0M/PWdjYworICNDRkxBR1M9LU8zIC1mb21pdC1mcmFtZS1wb2ludGVyIC1XYWxsCisgQ0ZMQUdTPS1PMiAtV2FsbAorK0xERkxBR1M/PQorIAorICNERUZJTkVTPS1EVVNFX01NQVAgCisgIy1EVVNFX01BRFZJU0UKK0BAIC0xNCwxNiArMTUsMTYgQEAKKyAKKyAjREVGSU5FUz0KKyAKKy1MSU5LPWdjYworK0xJTks/PSQoQ0MpCisgRVhFPXRpb3Rlc3QKKyBQUk9KRUNUPXRpb2JlbmNoCisgIyBkbyBpdCBvbmNlIGluc3RlYWQgb2YgZWFjaCB0aW1lIHJlZmVyZW5jZWQKKyBWRVJTSU9OPSQoc2hlbGwgZWdyZXAgInRpb3Rlc3QgdlswLTldKy5bMC05XSsiIHRpb3Rlc3QuYyB8IGN1dCAtZCAiICIgLWYgNyB8IHNlZCAicy92Ly9nIikKKyBESVNUTkFNRT0kKFBST0pFQ1QpLSQoVkVSU0lPTikKKyBJTlNUQUxMPWluc3RhbGwKKy1QUkVGSVg9L3Vzci9sb2NhbAorK1BSRUZJWD89L3Vzci9sb2NhbAorIEJJTkRJUj0kKFBSRUZJWCkvYmluCistRE9DRElSPS91c3IvbG9jYWwvZG9jLyQoRElTVE5BTUUpCisrRE9DRElSPSQoUFJFRklYKS9zaGFyZS9kb2MvJChESVNUTkFNRSkKKyAKKyBhbGw6ICQoRVhFKQorIAorQEAgLTM0LDcgKzM1LDcgQEAKKyAJJChDQykgLWMgJChDRkxBR1MpICQoREVGSU5FUykgdGlvdGVzdC5jIC1vIHRpb3Rlc3QubworIAorICQoRVhFKTogdGlvdGVzdC5vIGNyYzMyLm8KKy0JJChMSU5LKSAtbyAkKEVYRSkgdGlvdGVzdC5vIGNyYzMyLm8gLWxwdGhyZWFkCisrCSQoTElOSykgLW8gJChFWEUpIHRpb3Rlc3QubyBjcmMzMi5vIC1scHRocmVhZCAkKExERkxBR1MpCisgCUBlY2hvCisgCUBlY2hvICIuL3Rpb2JlbmNoLnBsIC0taGVscCBmb3IgdXNhZ2Ugb3B0aW9ucyIKKyAJQGVjaG8KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay90aW9iZW5jaC90aW9iZW5jaF8wLjMuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay90aW9iZW5jaC90aW9iZW5jaF8wLjMuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNWFmMzVmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL3Rpb2JlbmNoL3Rpb2JlbmNoXzAuMy4zLmJiCkBAIC0wLDAgKzEsMjkgQEAKK1NVTU1BUlkgPSAiVGhyZWFkZWQgSS9PIHRlc3RlciIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvdGlvYmVuY2gvIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM5M2MwNTUwYmQzMTczZjQ1MDRiMmNiZDg5OTFlNTBiIgorCitQUiA9ICJyMSIKKworU1JDX1VSSSA9ICJcCisgICAgaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy90aW9iZW5jaC9maWxlcy90aW9iZW5jaC8ke1BWfS8ke0JQfS50YXIuZ3ogXAorICAgIGZpbGU6Ly90aW9iZW5jaC1tYWtlZmlsZS5wYXRjaCBcCisgICAgZmlsZTovL2F2b2lkLWdsaWJjLWNsYXNoZXMucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAxLURyb3AtaW5saW5lLW9mLWNyYzMyLWZ1bmN0aW9uLXRvLWZpeC1idWlsZC11c2luZy1HQ0MucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImJmNDg1YmY4MjBlNjkzYzc5ZTZiZDJhMzg3MDJhMTI4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhhZDAxMTA1OWEzNWFjNzBjZGI1ZTNkMzk5OWNlZWU0NGE4ZThlOTA3ODkyNjg0NGIwNjg1YjdlYTlkYjJiY2MiCisKK0VYVFJBX09FTUFLRSA9ICJQUkVGSVg9JHtEfS91c3IiCisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsCit9CisKK1JERVBFTkRTXyR7UE59ID0gIlwKKyAgICBwZXJsIFwKKyAgICBwZXJsLW1vZHVsZS1leHBvcnRlci1oZWF2eSBcCisgICAgcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgXAorICAgIHBlcmwtbW9kdWxlLW92ZXJsb2FkIFwKKyAgICBwZXJsLW1vZHVsZS1zdHJpY3QgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6LWhjaWR1bXAtMi41L29ic29sZXRlX2F1dG9tYWtlX21hY3Jvcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlei9ibHVlei1oY2lkdW1wLTIuNS9vYnNvbGV0ZV9hdXRvbWFrZV9tYWNyb3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGM3N2YxYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlei9ibHVlei1oY2lkdW1wLTIuNS9vYnNvbGV0ZV9hdXRvbWFrZV9tYWNyb3MucGF0Y2gKQEAgLTAsMCArMSwxNCBAQAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nIFtwYWNrYWdlIG9ic29sZXRlL25vdCBtYWludGFpbmVkIGJ5IHVwc3RyZWFtXQorCitTaWduZWQtb2ZmLWJ5OiBNYXJrbyBMaW5kcXZpc3QgPGNhemZpNzRAZ21haWwuY29tPgorZGlmZiAtTnVyZCBibHVlei1oY2lkdW1wLTIuNS9jb25maWd1cmUuYWMgYmx1ZXotaGNpZHVtcC0yLjUvY29uZmlndXJlLmFjCistLS0gYmx1ZXotaGNpZHVtcC0yLjUvY29uZmlndXJlLmFjCTIwMTItMTEtMzAgMTA6Mjk6NDEuMDAwMDAwMDAwICswMjAwCisrKysgYmx1ZXotaGNpZHVtcC0yLjUvY29uZmlndXJlLmFjCTIwMTMtMDEtMTIgMTA6MDI6MTAuNjA5NTExNDYzICswMjAwCitAQCAtMiw3ICsyLDcgQEAKKyBBQ19JTklUKGJsdWV6LWhjaWR1bXAsIDIuNSkKKworIEFNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ24gc3ViZGlyLW9iamVjdHNdKQorLUFNX0NPTkZJR19IRUFERVIoY29uZmlnLmgpCisrQUNfQ09ORklHX0hFQURFUlMoY29uZmlnLmgpCisKKyBtNF9pZmRlZihbQU1fU0lMRU5UX1JVTEVTXSwgW0FNX1NJTEVOVF9SVUxFUyhbeWVzXSldKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6LWhjaWR1bXBfMi41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6LWhjaWR1bXBfMi41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhMTVkNjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXovYmx1ZXotaGNpZHVtcF8yLjUuYmIKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSA9ICJMaW51eCBCbHVldG9vdGggU3RhY2sgSENJIERlYnVnZ2VyIFRvb2wiCitERVNDUklQVElPTiA9ICJUaGUgaGNpZHVtcCB0b29sIHJlYWRzIHJhdyBIQ0kgZGF0YSBjb21pbmcgZnJvbSBhbmQgZ29pbmcgdG8gYSBCbHVldG9vdGggZGV2aWNlIFwKK2FuZCBkaXNwbGF5cyB0aGUgY29tbWFuZHMsIGV2ZW50cyBhbmQgZGF0YSBpbiBhIGh1bWFuLXJlYWRhYmxlIGZvcm0uIgorCitTRUNUSU9OID0gImNvbnNvbGUiCisjIGhjaWR1bXAgd2FzIGludGVncmF0ZWQgaW50byBibHVlejUKK0RFUEVORFMgPSAiYmx1ZXo0IgorUkNPTkZMSUNUU18ke1BOfSA9ICJibHVlejUiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWViNzIzYjYxNTM5ZmVlZjAxM2RlNDc2ZTY4YjVjNTBhIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9oY2lkdW1wLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0yMzttZDU9M2JlZTNhMTYyZGZmNDNhNWJlNzQ3MDcxMGI5OWZiY2YiCitQUiA9ICJyMSIKKworUE5CTEFDS0xJU1RbYmx1ZXotaGNpZHVtcF0gPz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYmx1ZXo1JywgJ2JsdWV6NSBjb25mbGljdHMgd2l0aCBibHVlejQgYW5kIGJsdWV6NSBpcyBzZWxlY3RlZCBpbiBESVNUUk9fRkVBVFVSRVMnLCAnJywgZCl9IgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvYmx1ZXRvb3RoL2JsdWV6LWhjaWR1bXAtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL29ic29sZXRlX2F1dG9tYWtlX21hY3Jvcy5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyZWFiNTRiYmQyYjU5YTJlZDQyNzRlYmI5MzkwY2YxOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5YjdjNTJiMzc1MDgxODgzNzM4Y2YwNDllY2FiYzEwM2I5N2QwOTRiMTljNjU0NGZiMjQxMjY3OTA1ZDg4ODgxIgorUyA9ICIke1dPUktESVJ9L2JsdWV6LWhjaWR1bXAtJHtQVn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXovYmx1ZXo0LTQuMTAxL2JsdWV0b290aC5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6NC00LjEwMS9ibHVldG9vdGguY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYTVlOWU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6NC00LjEwMS9ibHVldG9vdGguY29uZgpAQCAtMCwwICsxLDE2IEBACis8IS0tIFRoaXMgY29uZmlndXJhdGlvbiBmaWxlIHNwZWNpZmllcyB0aGUgcmVxdWlyZWQgc2VjdXJpdHkgcG9saWNpZXMKKyAgICAgZm9yIEJsdWV0b290aCBjb3JlIGRhZW1vbiB0byB3b3JrLiAtLT4KKworPCFET0NUWVBFIGJ1c2NvbmZpZyBQVUJMSUMgIi0vL2ZyZWVkZXNrdG9wLy9EVEQgRC1CVVMgQnVzIENvbmZpZ3VyYXRpb24gMS4wLy9FTiIKKyAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc3RhbmRhcmRzL2RidXMvMS4wL2J1c2NvbmZpZy5kdGQiPgorPGJ1c2NvbmZpZz4KKworICA8IS0tIC4uL3N5c3RlbS5jb25mIGhhdmUgZGVuaWVkIGV2ZXJ5dGhpbmcsIHNvIHdlIGp1c3QgcHVuY2ggc29tZSBob2xlcyAtLT4KKworICA8cG9saWN5IGNvbnRleHQ9ImRlZmF1bHQiPgorICAgIDxhbGxvdyBvd249Im9yZy5ibHVleiIvPgorICAgIDxhbGxvdyBzZW5kX2Rlc3RpbmF0aW9uPSJvcmcuYmx1ZXoiLz4KKyAgICA8YWxsb3cgc2VuZF9pbnRlcmZhY2U9Im9yZy5ibHVlei5BZ2VudCIvPgorICA8L3BvbGljeT4KKworPC9idXNjb25maWc+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXovYmx1ZXo0LTQuMTAxL2ZpeC11ZGV2LXBhdGhzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6NC00LjEwMS9maXgtdWRldi1wYXRocy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MDg5OTE0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6NC00LjEwMS9maXgtdWRldi1wYXRocy5wYXRjaApAQCAtMCwwICsxLDM3IEBACitBZGQgdWRldmRpci91ZGV2cnVsZXNkaXIgb3B0aW9ucworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCitTaWduZWQtb2ZmLWJ5OiBDb25zdGFudGluIE11c2NhIDxjb25zdGFudGlueC5tdXNjYUBpbnRlbC5jb20+CisKK0luZGV4OiBibHVlei00LjEwMS9NYWtlZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGJsdWV6LTQuMTAxLm9yaWcvTWFrZWZpbGUuYW0KKysrKyBibHVlei00LjEwMS9NYWtlZmlsZS5hbQorQEAgLTM5NSw3ICszOTUsNyBAQCBFWFRSQV9ESVNUICs9IGF1ZGlvL2JsdWV0b290aC5jb25mCisgaW5jbHVkZSBNYWtlZmlsZS50b29scworIAorIGlmIERBVEFGSUxFUworLXJ1bGVzZGlyID0gQFVERVZfRElSQC9ydWxlcy5kCisrcnVsZXNkaXIgPSBAVURFVl9SVUxFU19ESVJACisgCisgdWRldl9maWxlcyA9CisgCitJbmRleDogYmx1ZXotNC4xMDEvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYmx1ZXotNC4xMDEub3JpZy9jb25maWd1cmUuYWMKKysrKyBibHVlei00LjEwMS9jb25maWd1cmUuYWMKK0BAIC02MSw0ICs2MSwxNCBAQCBpZiAodGVzdCAtbiAiJHtwYXRoX3N5c3RlbWR1bml0fSIpOyB0aGVuCisgZmkKKyBBTV9DT05ESVRJT05BTChTWVNURU1ELCB0ZXN0IC1uICIke3BhdGhfc3lzdGVtZHVuaXR9IikKKyAKKytBQ19BUkdfV0lUSChbdWRldmRpcl0sCisrICAgIEFTX0hFTFBfU1RSSU5HKFstLXdpdGgtdWRldmRpcj1ESVJdLCBbdWRldiBkaXJlY3RvcnldKSwKKysgICAgW10sIFt3aXRoX3VkZXZkaXI9L2xpYi91ZGV2L10pCisrQUNfU1VCU1QoW1VERVZfRElSXSwgWyR3aXRoX3VkZXZkaXJdKQorKworK0FDX0FSR19XSVRIKFt1ZGV2cnVsZXNkaXJdLAorKyAgICBBU19IRUxQX1NUUklORyhbLS13aXRoLXVkZXZydWxlc2Rpcj1ESVJdLCBbdWRldiBydWxlcyBkaXJlY3RvcnldKSwKKysgICAgW10sIFt3aXRoX3VkZXZydWxlc2Rpcj0vbGliL3VkZXYvcnVsZXMuZF0pCisrQUNfU1VCU1QoW1VERVZfUlVMRVNfRElSXSwgWyR3aXRoX3VkZXZydWxlc2Rpcl0pCisrCisgQUNfT1VUUFVUKE1ha2VmaWxlIGRvYy92ZXJzaW9uLnhtbCBzcmMvYmx1ZXRvb3RoZC44IHNyYy9ibHVldG9vdGguc2VydmljZSBibHVlei5wYykKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlei9ibHVlejQtNC4xMDEvZml4X2VuY3J5cHRfY29sbGlzaW9uLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6NC00LjEwMS9maXhfZW5jcnlwdF9jb2xsaXNpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWJjMzkwZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlei9ibHVlejQtNC4xMDEvZml4X2VuY3J5cHRfY29sbGlzaW9uLnBhdGNoCkBAIC0wLDAgKzEsMTEwIEBACitBdm9pZCBuYW1lcHNwYWNlIGNvbGxpc2lvbiB3aXRoIGVuY3J5cHQgZnVuY3Rpb24gZnJvbSBsaWJjCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorSW5kZXg6IGJsdWV6LTQuMTAxL3Rlc3QvbDJ0ZXN0LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBibHVlei00LjEwMS5vcmlnL3Rlc3QvbDJ0ZXN0LmMKKysrKyBibHVlei00LjEwMS90ZXN0L2wydGVzdC5jCitAQCAtMTA3LDcgKzEwNyw3IEBAIHN0YXRpYyBjaGFyICpmaWxlbmFtZSA9IE5VTEw7Cisgc3RhdGljIGludCByZmNtb2RlID0gMDsKKyBzdGF0aWMgaW50IG1hc3RlciA9IDA7Cisgc3RhdGljIGludCBhdXRoID0gMDsKKy1zdGF0aWMgaW50IGVuY3J5cHQgPSAwOworK3N0YXRpYyBpbnQgZW5jcnlwdGlvbl9yZXF1ZXN0ID0gMDsKKyBzdGF0aWMgaW50IHNlY3VyZSA9IDA7Cisgc3RhdGljIGludCBzb2NrdHlwZSA9IFNPQ0tfU0VRUEFDS0VUOworIHN0YXRpYyBpbnQgbGluZ2VyID0gMDsKK0BAIC0zNDAsNyArMzQwLDcgQEAgc3RhdGljIGludCBkb19jb25uZWN0KGNoYXIgKnN2cikKKyAJCW9wdCB8PSBMMkNBUF9MTV9NQVNURVI7CisgCWlmIChhdXRoKQorIAkJb3B0IHw9IEwyQ0FQX0xNX0FVVEg7CistCWlmIChlbmNyeXB0KQorKwlpZiAoZW5jcnlwdGlvbl9yZXF1ZXN0KQorIAkJb3B0IHw9IEwyQ0FQX0xNX0VOQ1JZUFQ7CisgCWlmIChzZWN1cmUpCisgCQlvcHQgfD0gTDJDQVBfTE1fU0VDVVJFOworQEAgLTQ3NSw3ICs0NzUsNyBAQCBzdGF0aWMgdm9pZCBkb19saXN0ZW4odm9pZCAoKmhhbmRsZXIpKGluCisgCQlvcHQgfD0gTDJDQVBfTE1fTUFTVEVSOworIAlpZiAoYXV0aCkKKyAJCW9wdCB8PSBMMkNBUF9MTV9BVVRIOworLQlpZiAoZW5jcnlwdCkKKysJaWYgKGVuY3J5cHRpb25fcmVxdWVzdCkKKyAJCW9wdCB8PSBMMkNBUF9MTV9FTkNSWVBUOworIAlpZiAoc2VjdXJlKQorIAkJb3B0IHw9IEwyQ0FQX0xNX1NFQ1VSRTsKK0BAIC0xNDA3LDcgKzE0MDcsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAkJCWJyZWFrOworIAorIAkJY2FzZSAnRSc6CistCQkJZW5jcnlwdCA9IDE7CisrCQkJZW5jcnlwdGlvbl9yZXF1ZXN0ID0gMTsKKyAJCQlicmVhazsKKyAKKyAJCWNhc2UgJ1MnOgorSW5kZXg6IGJsdWV6LTQuMTAxL3Rlc3QvcmN0ZXN0LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBibHVlei00LjEwMS5vcmlnL3Rlc3QvcmN0ZXN0LmMKKysrKyBibHVlei00LjEwMS90ZXN0L3JjdGVzdC5jCitAQCAtNzksNyArNzksNyBAQCBzdGF0aWMgY2hhciAqZmlsZW5hbWUgPSBOVUxMOworIAorIHN0YXRpYyBpbnQgbWFzdGVyID0gMDsKKyBzdGF0aWMgaW50IGF1dGggPSAwOworLXN0YXRpYyBpbnQgZW5jcnlwdCA9IDA7Cisrc3RhdGljIGludCBlbmNyeXB0aW9uX3JlcXVlc3QgPSAwOworIHN0YXRpYyBpbnQgc2VjdXJlID0gMDsKKyBzdGF0aWMgaW50IHNvY2t0eXBlID0gU09DS19TVFJFQU07Cisgc3RhdGljIGludCBsaW5nZXIgPSAwOworQEAgLTIwMCw3ICsyMDAsNyBAQCBzdGF0aWMgaW50IGRvX2Nvbm5lY3QoY29uc3QgY2hhciAqc3ZyKQorIAkJb3B0IHw9IFJGQ09NTV9MTV9NQVNURVI7CisgCWlmIChhdXRoKQorIAkJb3B0IHw9IFJGQ09NTV9MTV9BVVRIOworLQlpZiAoZW5jcnlwdCkKKysJaWYgKGVuY3J5cHRpb25fcmVxdWVzdCkKKyAJCW9wdCB8PSBSRkNPTU1fTE1fRU5DUllQVDsKKyAJaWYgKHNlY3VyZSkKKyAJCW9wdCB8PSBSRkNPTU1fTE1fU0VDVVJFOworQEAgLTI5MSw3ICsyOTEsNyBAQCBzdGF0aWMgdm9pZCBkb19saXN0ZW4odm9pZCAoKmhhbmRsZXIpKGluCisgCQlvcHQgfD0gUkZDT01NX0xNX01BU1RFUjsKKyAJaWYgKGF1dGgpCisgCQlvcHQgfD0gUkZDT01NX0xNX0FVVEg7CistCWlmIChlbmNyeXB0KQorKwlpZiAoZW5jcnlwdGlvbl9yZXF1ZXN0KQorIAkJb3B0IHw9IFJGQ09NTV9MTV9FTkNSWVBUOworIAlpZiAoc2VjdXJlKQorIAkJb3B0IHw9IFJGQ09NTV9MTV9TRUNVUkU7CitAQCAtNzAxLDcgKzcwMSw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCQkJYnJlYWs7CisgCisgCQljYXNlICdFJzoKKy0JCQllbmNyeXB0ID0gMTsKKysJCQllbmNyeXB0aW9uX3JlcXVlc3QgPSAxOworIAkJCWJyZWFrOworIAorIAkJY2FzZSAnUyc6CitJbmRleDogYmx1ZXotNC4xMDEvc3JjL3RleHRmaWxlLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBibHVlei00LjEwMS5vcmlnL3NyYy90ZXh0ZmlsZS5oCisrKysgYmx1ZXotNC4xMDEvc3JjL3RleHRmaWxlLmgKK0BAIC0yNCw2ICsyNCw4IEBACisgI2lmbmRlZiBfX1RFWFRGSUxFX0gKKyAjZGVmaW5lIF9fVEVYVEZJTEVfSAorIAorKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKysKKyBpbnQgY3JlYXRlX2RpcnMoY29uc3QgY2hhciAqZmlsZW5hbWUsIGNvbnN0IG1vZGVfdCBtb2RlKTsKKyBpbnQgY3JlYXRlX2ZpbGUoY29uc3QgY2hhciAqZmlsZW5hbWUsIGNvbnN0IG1vZGVfdCBtb2RlKTsKKyBpbnQgY3JlYXRlX25hbWUoY2hhciAqYnVmLCBzaXplX3Qgc2l6ZSwgY29uc3QgY2hhciAqcGF0aCwKK0luZGV4OiBibHVlei00LjEwMS90ZXN0L2F0dGVzdC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYmx1ZXotNC4xMDEub3JpZy90ZXN0L2F0dGVzdC5jCisrKysgYmx1ZXotNC4xMDEvdGVzdC9hdHRlc3QuYworQEAgLTM0LDYgKzM0LDcgQEAKKyAjaW5jbHVkZSA8dGVybWlvcy5oPgorICNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorKyNpbmNsdWRlIDxzeXMvc2VsZWN0Lmg+CisgCisgI2luY2x1ZGUgPGJsdWV0b290aC9ibHVldG9vdGguaD4KKyAjaW5jbHVkZSA8Ymx1ZXRvb3RoL3JmY29tbS5oPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6NC00LjEwMS9pbnN0YWxsLXRlc3Qtc2NyaXB0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6NC00LjEwMS9pbnN0YWxsLXRlc3Qtc2NyaXB0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzZjdkOTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXovYmx1ZXo0LTQuMTAxL2luc3RhbGwtdGVzdC1zY3JpcHQucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlCisKK0luc3RhbGwgdGhlIGJsdWV6J3MgdGVzdCBzY3JpcHRzCisKK1NpZ25lZC1vZmYtYnk6IFpob25nIEhvbmdibyA8aG9uZ2JvLnpob25nQHdpbmRyaXZlci5jb20+CitkaWZmIC1OdXJkIGJsdWV6LTQuMTAxLm9yaWcvTWFrZWZpbGUudG9vbHMgYmx1ZXotNC4xMDEvTWFrZWZpbGUudG9vbHMKKy0tLSBibHVlei00LjEwMS5vcmlnL01ha2VmaWxlLnRvb2xzCTIwMTMtMTEtMTkgMTU6NDk6MDcuNjg4ODM4MDAwICswODAwCisrKysgYmx1ZXotNC4xMDEvTWFrZWZpbGUudG9vbHMJMjAxMy0xMS0xOSAxNTo1MDowOS4yNTY4Mzc4NDggKzA4MDAKK0BAIC0yMjcsNiArMjI3LDE3IEBACisgCQl0ZXN0L3NlcnZpY2Utc3BwLnhtbCB0ZXN0L3NlcnZpY2Utb3BwLnhtbCB0ZXN0L3NlcnZpY2UtZnRwLnhtbCBcCisgCQl0ZXN0L3NpbXBsZS1wbGF5ZXIgdGVzdC90ZXN0LW5hcAorIAorK2JsdWV6NF90ZXN0ZGlyID0gJChsaWJkaXIpL2JsdWV6NC90ZXN0LworK2Rpc3RfYmx1ZXo0X3Rlc3RfU0NSSVBUUyA9IHRlc3Qvc2FwLWNsaWVudCB0ZXN0L2hzcGxheSB0ZXN0L2hzbWljcm8gXAorKwkJdGVzdC9tb25pdG9yLWJsdWV0b290aCB0ZXN0L2xpc3QtZGV2aWNlcyBcCisrCQl0ZXN0L3Rlc3QtZGlzY292ZXJ5IHRlc3QvdGVzdC1tYW5hZ2VyIHRlc3QvdGVzdC1hZGFwdGVyIFwKKysJCXRlc3QvdGVzdC1kZXZpY2UgdGVzdC90ZXN0LXNlcnZpY2UgdGVzdC90ZXN0LXNlcmlhbCBcCisrCQl0ZXN0L3Rlc3QtdGVsZXBob255IHRlc3QvdGVzdC1uZXR3b3JrIHRlc3Qvc2ltcGxlLWFnZW50IFwKKysJCXRlc3Qvc2ltcGxlLXNlcnZpY2UgdGVzdC9zaW1wbGUtZW5kcG9pbnQgdGVzdC90ZXN0LWF1ZGlvIFwKKysJCXRlc3QvdGVzdC1pbnB1dCB0ZXN0L3Rlc3Qtc2FwLXNlcnZlciB0ZXN0L3Rlc3Qtb29iIFwKKysJCXRlc3QvdGVzdC1hdHRyaWIgdGVzdC90ZXN0LXByb3hpbWl0eSB0ZXN0L3Rlc3QtdGhlcm1vbWV0ZXIgXAorKwkJdGVzdC90ZXN0LXNlcmlhbC1wcm94eSB0ZXN0L3Rlc3QtaGVhbHRoIHRlc3QvdGVzdC1oZWFsdGgtc2luayBcCisrCQl0ZXN0L3NpbXBsZS1wbGF5ZXIgdGVzdC90ZXN0LW5hcAorIGlmIEhJREQKKyBiaW5fUFJPR1JBTVMgKz0gY29tcGF0L2hpZGQKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlei9ibHVlejQtNC4xMDEvbmV0d29yay1maXgtbmV0d29yay1Db25uZWN0LW1ldGhvZC1wYXJhbWV0ZXJzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6NC00LjEwMS9uZXR3b3JrLWZpeC1uZXR3b3JrLUNvbm5lY3QtbWV0aG9kLXBhcmFtZXRlcnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdmOTE5OQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlei9ibHVlejQtNC4xMDEvbmV0d29yay1maXgtbmV0d29yay1Db25uZWN0LW1ldGhvZC1wYXJhbWV0ZXJzLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKK1NpZ25lZC1vZmYtYnk6IFBldGVyIEEuIEJpZ290IDxwYWJAcGFiaWdvdC5jb20+CisKK0Zyb20gNTcxNzBiMzExZjE0NjgzMzBmNGE5OTYxZGMwYjNhYzQ1Zjk3YmMxMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEd1c3Rhdm8gUGFkb3ZhbiA8Z3VzdGF2by5wYWRvdmFuQGNvbGxhYm9yYS5jby51az4KK0RhdGU6IFNhdCwgMzAgSnVuIDIwMTIgMDA6Mzk6MDUgLTAzMDAKK1N1YmplY3Q6IFtQQVRDSF0gbmV0d29yazogZml4IG5ldHdvcmsgQ29ubmVjdCgpIG1ldGhvZCBwYXJhbWV0ZXJzCisKKy0tLQorIG5ldHdvcmsvY29ubmVjdGlvbi5jIHwgICAgNCArKystCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbmV0d29yay9jb25uZWN0aW9uLmMgYi9uZXR3b3JrL2Nvbm5lY3Rpb24uYworaW5kZXggNTQ0ZWMzYS4uNTk0MjNhOSAxMDA2NDQKKy0tLSBhL25ldHdvcmsvY29ubmVjdGlvbi5jCisrKysgYi9uZXR3b3JrL2Nvbm5lY3Rpb24uYworQEAgLTU1NCw3ICs1NTQsOSBAQCBzdGF0aWMgdm9pZCBwYXRoX3VucmVnaXN0ZXIodm9pZCAqZGF0YSkKKyAKKyBzdGF0aWMgY29uc3QgR0RCdXNNZXRob2RUYWJsZSBjb25uZWN0aW9uX21ldGhvZHNbXSA9IHsKKyAJeyBHREJVU19BU1lOQ19NRVRIT0QoIkNvbm5lY3QiLAorLQkJCU5VTEwsIE5VTEwsIGNvbm5lY3Rpb25fY29ubmVjdCkgfSwKKysJCQkJR0RCVVNfQVJHUyh7InV1aWQiLCAicyJ9KSwKKysJCQkJR0RCVVNfQVJHUyh7ImludGVyZmFjZSIsICJzIn0pLAorKwkJCQljb25uZWN0aW9uX2Nvbm5lY3QpIH0sCisgCXsgR0RCVVNfTUVUSE9EKCJEaXNjb25uZWN0IiwKKyAJCQlOVUxMLCBOVUxMLCBjb25uZWN0aW9uX2Rpc2Nvbm5lY3QpIH0sCisgCXsgR0RCVVNfTUVUSE9EKCJHZXRQcm9wZXJ0aWVzIiwKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXovYmx1ZXo0LTQuMTAxL29ic29sZXRlX2F1dG9tYWtlX21hY3Jvcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlei9ibHVlejQtNC4xMDEvb2Jzb2xldGVfYXV0b21ha2VfbWFjcm9zLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwNjhmMjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXovYmx1ZXo0LTQuMTAxL29ic29sZXRlX2F1dG9tYWtlX21hY3Jvcy5wYXRjaApAQCAtMCwwICsxLDE0IEBACitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1NpZ25lZC1vZmYtYnk6IE1hcmtvIExpbmRxdmlzdCA8Y2F6Zmk3NEBnbWFpbC5jb20+CitkaWZmIC1OdXJkIGJsdWV6LTQuMTAxL2NvbmZpZ3VyZS5hYyBibHVlei00LjEwMS9jb25maWd1cmUuYWMKKy0tLSBibHVlei00LjEwMS9jb25maWd1cmUuYWMJMjAxMi0wNi0yMiAxOTozNjo0OS4wMDAwMDAwMDAgKzAzMDAKKysrKyBibHVlei00LjEwMS9jb25maWd1cmUuYWMJMjAxMy0wMS0wNyAwNjoxMzoxOC4zODU4ODg5NjYgKzAyMDAKK0BAIC0yLDcgKzIsNyBAQAorIEFDX0lOSVQoYmx1ZXosIDQuMTAxKQorCisgQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbiBzdWJkaXItb2JqZWN0cyBjb2xvci10ZXN0c10pCistQU1fQ09ORklHX0hFQURFUihjb25maWcuaCkKKytBQ19DT05GSUdfSEVBREVSUyhjb25maWcuaCkKKworIG00X2lmZGVmKFtBTV9TSUxFTlRfUlVMRVNdLCBbQU1fU0lMRU5UX1JVTEVTKFt5ZXNdKV0pCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXovYmx1ZXo0LTQuMTAxL3NiY19tbXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXovYmx1ZXo0LTQuMTAxL3NiY19tbXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOThmYWI0NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlei9ibHVlejQtNC4xMDEvc2JjX21teC5wYXRjaApAQCAtMCwwICsxLDI0IEBACitvbiB4ODYgYW5kIHg4Nl82NCBnY2MgNC43IGNvbXBsYWlucworCitzYmMvc2JjX3ByaW1pdGl2ZXNfbW14LmM6IEluIGZ1bmN0aW9uICdzYmNfY2FsY19zY2FsZWZhY3RvcnNfbW14JzoKK3NiYy9zYmNfcHJpbWl0aXZlc19tbXguYzoyOTQ6NDogd2FybmluZzogYXNtIG9wZXJhbmQgMiBwcm9iYWJseSBkb2Vzbid0IG1hdGNoIGNvbnN0cmFpbnRzIFtlbmFibGVkIGJ5IGRlZmF1bHRdCitzYmMvc2JjX3ByaW1pdGl2ZXNfbW14LmM6Mjk0OjQ6IGVycm9yOiBpbXBvc3NpYmxlIGNvbnN0cmFpbnQgaW4gJ2FzbScKKworVGhpcyBwYXRjaCBpcyB0YWtlbiBmcm9tIGh0dHBzOi8vYnVncy5sYXVuY2hwYWQubmV0L3VidW50dS8rc291cmNlL2JsdWV6LytidWcvOTExODcxCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworSW5kZXg6IGJsdWV6LTQuOTgvc2JjL3NiY19wcmltaXRpdmVzX21teC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYmx1ZXotNC45OC5vcmlnL3NiYy9zYmNfcHJpbWl0aXZlc19tbXguYwkyMDExLTEyLTIxIDE0OjUzOjU0LjAwMDAwMDAwMCAtMDgwMAorKysrIGJsdWV6LTQuOTgvc2JjL3NiY19wcmltaXRpdmVzX21teC5jCTIwMTItMDItMjQgMTA6MDc6MDMuNDIyMDczODAwIC0wODAwCitAQCAtMzE4LDcgKzMxOCw3IEBACisgCQkJCSJtb3ZsICAgICAgICAgICVrMCwgNCglMylcbiIKKyAJCQk6ICIrciIgKGJsaykKKyAJCQk6ICJyIiAoJnNiX3NhbXBsZV9mWzBdW2NoXVtzYl0pLAorLQkJCQkiaSIgKChjaGFyICopICZzYl9zYW1wbGVfZlsxXVswXVswXSAtCisrCQkJCSJyIiAoKGNoYXIgKikgJnNiX3NhbXBsZV9mWzFdWzBdWzBdIC0KKyAJCQkJCShjaGFyICopICZzYl9zYW1wbGVfZlswXVswXVswXSksCisgCQkJCSJyIiAoJnNjYWxlX2ZhY3RvcltjaF1bc2JdKSwKKyAJCQkJInIiICgmY29uc3RzKSwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlei9ibHVlejQuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6NC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTljMzVlNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlei9ibHVlejQuaW5jCkBAIC0wLDAgKzEsNTEgQEAKK1NVTU1BUlkgPSAiTGludXggQmx1ZXRvb3RoIFN0YWNrIFVzZXJsYW5kIFY0IgorREVTQ1JJUFRJT04gPSAiTGludXggQmx1ZXRvb3RoIHN0YWNrIFY0IHVzZXJsYW5kIGNvbXBvbmVudHMuICBUaGVzZSBpbmNsdWRlIGEgc3lzdGVtIGNvbmZpZ3VyYXRpb25zLCBkYWVtb25zLCB0b29scyBhbmQgc3lzdGVtIGxpYnJhcmllcy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmJsdWV6Lm9yZyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiR1BMdjIrICYgTEdQTHYyLjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTJmODg0ZDJhZTFmZjg3YzA5ZTViN2NjYzJjNGNhN2UgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PWZiNTA0YjY3YzUwMzMxZmM3ODczNGZlZDkwZmIwZTA5IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9tYWluLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0yNDttZDU9OWJjNTRiOTNjZDdlMTdiZjAzZjUyNTEzZjM5ZjkyNmUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc2JjL3NiYy5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjU7bWQ1PTFhNDA3ODFlZDMwZDUwZDg2MzkzMjNhMTg0YWViMTkxIgorCitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorCitERVBFTkRTID0gInVkZXYgbGlidXNiIGRidXMtZ2xpYiBnbGliLTIuMCBsaWJjaGVjayByZWFkbGluZSBsaWJzbmRmaWxlMSIKK1JERVBFTkRTXyR7UE59LWRldiA9ICJibHVlei1oY2lkdW1wIgorCitQQUNLQUdFQ09ORklHID8/PSAiXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYWxzYScsICdhbHNhJywgJycsIGQpfVwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BpZScsICdwaWUnLCAnJywgZCl9XAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsJ3N5c3RlbWQnLCAnJywgZCl9IFwKKyIKK1BBQ0tBR0VDT05GSUdbYWxzYV0gPSAiLS1lbmFibGUtYWxzYSwtLWRpc2FibGUtYWxzYSxhbHNhLWxpYiIKK1BBQ0tBR0VDT05GSUdbcGllXSA9ICItLWVuYWJsZS1waWUsLS1kaXNhYmxlLXBpZSwiCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLywtLXdpdGgtc3lzdGVtZHVuaXRkaXI9IgorCitBU05FRURFRCA9ICIiCisKK1NSQ19VUkkgPSAiJHtLRVJORUxPUkdfTUlSUk9SfS9saW51eC9ibHVldG9vdGgvYmx1ZXotJHtQVn0udGFyLmd6IgorUyA9ICIke1dPUktESVJ9L2JsdWV6LSR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIHN5c3RlbWQKKworRVhUUkFfT0VDT05GID0gIlwKKyAgICAtLWRpc2FibGUtZ3N0cmVhbWVyIFwKKyAgICAtLWVuYWJsZS11c2IgXAorICAgIC0tZW5hYmxlLXRvb2xzIFwKKyAgICAtLWVuYWJsZS1iY2NtZCBcCisgICAgLS1lbmFibGUtaGlkMmhjaSBcCisgICAgLS1lbmFibGUtZGZ1dG9vbCBcCisgICAgLS1kaXNhYmxlLWhpZGQgXAorICAgIC0tZGlzYWJsZS1wYW5kIFwKKyAgICAtLWRpc2FibGUtZHVuZCBcCisgICAgLS1kaXNhYmxlLWN1cHMgXAorICAgIC0tZW5hYmxlLXRlc3QgXAorICAgIC0tZW5hYmxlLWRhdGFmaWxlcyBcCisgICAgLS13aXRoLXVkZXZkaXI9YHBrZy1jb25maWcgLS12YXJpYWJsZT11ZGV2ZGlyIHVkZXZgIFwKKyAgICAtLXdpdGgtdWRldnJ1bGVzZGlyPWBwa2ctY29uZmlnIC0tdmFyaWFibGU9dWRldmRpciB1ZGV2YC9ydWxlcy5kIFwKKyIKKworRVhDTFVERV9GUk9NX1dPUkxEID0gIjEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXovYmx1ZXo0XzQuMTAxLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6NF80LjEwMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNmQxNmMwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6NF80LjEwMS5iYgpAQCAtMCwwICsxLDUwIEBACityZXF1aXJlIGJsdWV6NC5pbmMKKworUE5CTEFDS0xJU1RbYmx1ZXo0XSA/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdibHVlejUnLCAnYmx1ZXo1IGNvbmZsaWN0cyB3aXRoIGJsdWV6NCBhbmQgYmx1ZXo1IGlzIHNlbGVjdGVkIGluIERJU1RST19GRUFUVVJFUycsICcnLCBkKX0iCisKK1BSID0gInIxMSIKKworU1JDX1VSSSArPSAiZmlsZTovL2JsdWV0b290aC5jb25mIFwKKyAgICAgICAgICAgIGZpbGU6Ly9zYmNfbW14LnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9maXgtdWRldi1wYXRocy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vb2Jzb2xldGVfYXV0b21ha2VfbWFjcm9zLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9uZXR3b3JrLWZpeC1uZXR3b3JrLUNvbm5lY3QtbWV0aG9kLXBhcmFtZXRlcnMucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL2luc3RhbGwtdGVzdC1zY3JpcHQucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL2ZpeF9lbmNyeXB0X2NvbGxpc2lvbi5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmYjQyY2I3MDM4YzM4MGViMGUyZmEyMDg5ODdjOTZhZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1OTczODQxMGFkZTlmMGU2MWExM2MwZjc3ZDlhYWZmYWFmZTQ5YmE5NDE4MTA3ZTRhZDc1ZmU1Mjg0NmY3NDg3IgorCitSQ09ORkxJQ1RTXyR7UE59ID0gImJsdWV6NSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vYXVkaW8vYXVkaW8uY29uZiAke0R9LyR7c3lzY29uZmRpcn0vYmx1ZXRvb3RoLworICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L25ldHdvcmsvbmV0d29yay5jb25mICR7RH0vJHtzeXNjb25mZGlyfS9ibHVldG9vdGgvCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vaW5wdXQvaW5wdXQuY29uZiAke0R9LyR7c3lzY29uZmRpcn0vYmx1ZXRvb3RoLworICAgICMgYXRfY29uc29sZSBkb2Vzbid0IHJlYWxseSB3b3JrIHdpdGggdGhlIGN1cnJlbnQgc3RhdGUgb2YgT0UsIHNvIHB1bmNoIHNvbWUgbW9yZSBob2xlcyBzbyBwZW9wbGUgY2FuIGFjdHVhbGx5IHVzZSBCVAorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2JsdWV0b290aC5jb25mICR7RH0vJHtzeXNjb25mZGlyfS9kYnVzLTEvc3lzdGVtLmQvCit9CisKK1JERVBFTkRTXyR7UE59LWRldiA9ICJibHVlei1oY2lkdW1wIgorUkRFUEVORFNfJHtQTn0tdGVzdHRvb2xzICs9ICJweXRob24gcHl0aG9uLWRidXMgcHl0aG9uLXB5Z29iamVjdCIKKworQUxMT1dfRU1QVFlfbGliYXNvdW5kLW1vZHVsZS1ibHVleiA9ICIxIgorUEFDS0FHRVMgPSsgImxpYmFzb3VuZC1tb2R1bGUtYmx1ZXogJHtQTn0tdGVzdHRvb2xzIgorCitGSUxFU19saWJhc291bmQtbW9kdWxlLWJsdWV6ID0gIiR7bGliZGlyfS9hbHNhLWxpYi9saWIqLnNvICR7ZGF0YWRpcn0vYWxzYSIKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vYmx1ZXRvb3RoL3BsdWdpbnMgJHtsaWJkaXJ9L2JsdWV0b290aC9wbHVnaW5zLyouc28gJHtiYXNlX2xpYmRpcn0vdWRldi8gJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2LyAke3N5c3RlbWRfdW5pdGRpcn0vICR7ZGF0YWRpcn0vZGJ1cy0xIgorRklMRVNfJHtQTn0tZGV2ICs9ICJcCisgICAgJHtsaWJkaXJ9L2JsdWV0b290aC9wbHVnaW5zLyoubGEgXAorICAgICR7bGliZGlyfS9hbHNhLWxpYi8qLmxhIFwKKyIKKworRklMRVNfJHtQTn0tdGVzdHRvb2xzID0gIiR7bGliZGlyfS9ibHVlejQvdGVzdC8qIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIlwKKyAgICAke2xpYmRpcn0vYmx1ZXRvb3RoL3BsdWdpbnMvLmRlYnVnIFwKKyAgICAke2xpYmRpcn0vKi8uZGVidWcgXAorICAgICovdWRldi8uZGVidWcgXAorIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiYmx1ZXRvb3RoLnNlcnZpY2UiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXovZ3N0LXBsdWdpbi1ibHVldG9vdGhfNC4xMDEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXovZ3N0LXBsdWdpbi1ibHVldG9vdGhfNC4xMDEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODIyYWVjNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlei9nc3QtcGx1Z2luLWJsdWV0b290aF80LjEwMS5iYgpAQCAtMCwwICsxLDQxIEBACityZXF1aXJlIGJsdWV6NC5pbmMKK3JlcXVpcmUgcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci9nc3QtcGx1Z2lucy1wYWNrYWdlLmluYworCitQTkJMQUNLTElTVFtnc3QtcGx1Z2luLWJsdWV0b290aF0gPz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYmx1ZXo1JywgJ2JsdWV6NSBjb25mbGljdHMgd2l0aCBibHVlejQgYW5kIGJsdWV6NSBpcyBzZWxlY3RlZCBpbiBESVNUUk9fRkVBVFVSRVMnLCAnJywgZCl9IgorCitQUiA9ICJyMSIKKworU1JDX1VSSVttZDVzdW1dID0gImZiNDJjYjcwMzhjMzgwZWIwZTJmYTIwODk4N2M5NmFkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU5NzM4NDEwYWRlOWYwZTYxYTEzYzBmNzdkOWFhZmZhYWZlNDliYTk0MTgxMDdlNGFkNzVmZTUyODQ2Zjc0ODciCisKK0RFUEVORFMgPSAiYmx1ZXo0IGdzdC1wbHVnaW5zLWJhc2UiCisKK0VYVFJBX09FQ09ORiA9ICJcCisgICAgLS1lbmFibGUtZ3N0cmVhbWVyIFwKKyIKKworIyBjbGVhbiB1bndhbnRlZCBmaWxlcworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgcm0gLXJmICR7RH0ke2JpbmRpcn0KKyAgICBybSAtcmYgJHtEfSR7c2JpbmRpcn0KKyAgICBybSAtZiAgJHtEfSR7bGliZGlyfS9saWIqCisgICAgcm0gLXJmICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnCisgICAgcm0gLXJmICR7RH0ke3N5c2NvbmZkaXJ9CisgICAgcm0gLXJmICR7RH0ke2Jhc2VfbGliZGlyfQorICAgIHJtIC1yZiAke0R9JHtsaWJkaXJ9L2JsdWV0b290aAorICAgIHJtIC1yZiAke0R9JHtsb2NhbHN0YXRlZGlyfQorICAgIHJtIC1yZiAke0R9JHtsaWJkaXJ9L2Fsc2EtbGliCisgICAgcm0gLXJmICR7RH0ke2RhdGFkaXJ9CisgICAgcm0gLXJmICR7RH0ke2luY2x1ZGVkaXJ9CisgICAgcm0gLXJmICR7RH0ke25vbmFyY2hfYmFzZV9saWJkaXJ9Cit9CisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC9saWIqLnNvIgorRklMRVNfJHtQTn0tZGV2ICs9ICJcCisgICAgJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLyoubGEgXAorIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIlwKKyAgICAke2xpYmRpcn0vKi8uZGVidWcgXAorIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ2FtbXUvZ2FtbXUvZ2FtbXUtc21zZHJjIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2dhbW11L2dhbW11L2dhbW11LXNtc2RyYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYTQxM2MyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2dhbW11L2dhbW11L2dhbW11LXNtc2RyYwpAQCAtMCwwICsxLDgwIEBACisjIFRoaXMgaXMgYSBzYW1wbGUgR2FtbXUgU01TRCBjb25maWd1cmF0aW9uIGZpbGUuIEl0J3MgcmVxdWlyZWQgZm9yIGdhbW11LXNtc2QsCisjIHNlZSBnYW1tdS1zbXNkcmMoNSkgZm9yIGRvY3VtZW50YXRpb24uCisKKyMgR2FtbXUgY29uZmlndXJhdGlvbiwgdGhpcyBzZWN0aW9uIGlzIGxpa2Ugc2VjdGlvbiAiZ2FtbXUiIGluICJnYW1tdXJjIiBmaWxlLAorIyBzZWUgZ2FtbXVyYyg1KSBmb3IgZG9jdW1lbnRhdGlvbi4KK1tnYW1tdV0KK2RldmljZSA9IC9kZXYvdHR5VVNCMAorbW9kZWwgPSBhdDExNTIwMAorI2Nvbm5lY3Rpb24gPSBkbHIzCisjc3luY2hyb25pemV0aW1lID0geWVzCisjbG9nZmlsZSA9IGdhbW11bG9nICMgdGhpcyBpcyBub3QgdXNlZCBhdCBhbGwgaW4gU01TRCBtb2RlCisjbG9nZm9ybWF0ID0gdGV4dGFsbAorI3VzZV9sb2NraW5nID0geWVzCisjZ2FtbXVsb2MgPSBnYW1tdS51cworI3N0YXJ0aW5mbyA9IHllcworCisjIFdoZW4gdW5jb21tZW50IHRoaXMgc2VjdGlvbiBhbmQgaW5zZXJ0IG51bWJlcnMgaGVyZSwgc21zZCB3aWxsIHByb2Nlc3MKKyMgaW5jb21pbmcgc21zIG9ubHkgZnJvbSBudW1iZXJzIHdyaXR0ZW4gaGVyZSAoaW5jb21pbmcgc21zIGZyb20gYWxsIG90aGVyCisjIG51bWJlcnMgd2lsbCBiZSBkZWxldGVkKQorI1tpbmNsdWRlX251bWJlcnNdCisjbnVtYmVyMSA9IDEyMzQKKworIyBXaGVuIHVuY29tbWVudCB0aGlzIHNlY3Rpb24gYW5kIGluc2VydCBudW1iZXJzIGhlcmUsIHNtc2Qgd2lsbCBwcm9jZXNzCisjIGluY29taW5nIHNtcyBmcm9tIGFsbCBudW1iZXJzIG5vdCB3cml0dGVuIGhlcmUgKGluY29taW5nIHNtcyBmcm9tIG51bWJlcnMKKyMgd3JpdHRlbiBoZXJlIHdpbGwgYmUgZGVsZXRlZCkuIFRoaXMgaXMgImJsYWNrIiBsaXN0LgorIyBOb3RlOiBhZnRlciB1c2luZyAiaW5jbHVkZV9udW1iZXJzIiBzZWN0aW9uIHRoaXMgb25lIHdpbGwgYmUgaWdub3JlZAorI1tleGNsdWRlX251bWJlcnNdCisjbnVtYmVyMSA9IDEyMzQKKworIyBHZW5lcmFsIFNNU0Qgc2V0dGluZ3MsIHNlZSBnYW1tdS1zbXNkcmMoNSkgZm9yIGRldGFpbGVkIGRlc2NyaXB0aW9uLgorW3Ntc2RdCisjIFNNU0Qgc2VydmljZSB0byB1c2UsIG9uZSBvZiBGSUxFUywgTVlTUUwsIFBHU1FMLCBEQkkKK3NlcnZpY2UgPSBmaWxlcworIyBQSU4gZm9yIFNJTSBjYXJkCitQSU4gPSAwMDAwCisjIEZpbGUgKG9yIHN0ZGVyciwgc3lzbG9nLCBldmVudGxvZykgd2hlcmUgaW5mb3JtYXRpb24gd2lsbCBiZSBsb2dnZWQKK2xvZ2ZpbGUgPSBzbXNkbG9nCisjIEFtb3VudCBvZiBpbmZvcm1hdGlvbiBiZWluZyBsb2dnZWQsIGVhY2ggYml0IG1lYW4gb25lIGxldmVsCitkZWJ1Z2xldmVsID0gMAorIyBDb25maWd1cmF0aW9uIGZvciB1c2luZyBtb3JlIHBob25lcyBvbiBzYW1lIGRhdGFiYXNlCisjcGhvbmVpZCA9IE15UGhvbmUxCisjIFNjcmlwdCB0byBiZSBleGVjdXRlZCB3aGVuIG5ldyBtZXNzYWdlIGhhcyBiZWVuIHJlY2VpdmVkCisjcnVub25yZWNlaXZlID0gL3NvbWUvc2NyaXB0CisjIENvbW1pY2F0aW9uIGZyZXF1ZW5jeSBzZXR0aW5ncworY29tbXRpbWVvdXQgPSAzMAorc2VuZHRpbWVvdXQgPSAzMAorI3JlY2VpdmVmcmVxdWVuY3kgPSAwCisKKyMgUGhvbmUgY29tbXVuaWNhdGlvbiBzZXR0aW5ncworI2NoZWNrc2VjdXJpdHkgPSAxCisjcmVzZXRmcmVxdWVuY3kgPSAwCisKKyMgRGVsaXZlcnkgcmVwb3J0IGNvbmZpZ3VyYXRpb24KKyNkZWxpdmVyeXJlcG9ydCA9IG5vCisjZGVsaXZlcnlyZXBvcnRkZWxheSA9IDEwCisKKyMgSWdub3JpbmcgYnJva2VuIFNNU0MKKyNza2lwc21zY251bWJlciA9ICs0ODYwMjEyMzQ1NgorCisjIERhdGFiYXNlIGJhY2tlbmRzIGNvbmdmaWd1cmF0aW9uCit1c2VyID0gZ2FtbXUKK3Bhc3N3b3JkID0gZ2FtbXVwYXNzd29yZAorcGMgPSBsb2NhbGhvc3QKKyMgcGMgY2FuIGFsc28gY29udGFpbiBwb3J0IG9yIHNvY2tldCBwYXRoIGFmdGVyIGNvbG9uIChlZy4gbG9jYWxob3N0Oi9wYXRoL3RvL3NvY2tldCkKK2RhdGFiYXNlID0gc21zCisKKyMgREJJIGNvbmZpZ3VyYXRpb24KK2RyaXZlciA9IHNxbGl0ZQorIyBkcml2ZXJzcGF0aCA9IC91c3IvbGliL2RiZC8KKyMgRGF0YWJhc2UgZGlyZWN0b3J5IGZvciBzcWxpdGUKKyMgZGJkaXIgPSAvdmFyL2xpYi9zbXNkCisKKyMgRmlsZXMgYmFja2VuZCBjb25maWd1cmF0aW9uCitpbmJveHBhdGggPSAvdmFyL3Nwb29sL3Ntcy9pbmJveC8KK291dGJveHBhdGggPSAvdmFyL3Nwb29sL3Ntcy9vdXRib3gvCitzZW50c21zcGF0aCA9IC92YXIvc3Bvb2wvc21zL3NlbnQvCitlcnJvcnNtc3BhdGggPSAvdmFyL3Nwb29sL3Ntcy9lcnJvci8KK2luYm94Zm9ybWF0ID0gZGV0YWlsCit0cmFuc21pdGZvcm1hdCA9IGF1dG8KK291dGJveGZvcm1hdCA9IGRldGFpbApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2dhbW11L2dhbW11L2dhbW11cmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ2FtbXUvZ2FtbXUvZ2FtbXVyYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTVkNzM5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2dhbW11L2dhbW11L2dhbW11cmMKQEAgLTAsMCArMSwxNzMgQEAKKzsgVGhpcyBpcyBhIHNhbXBsZSB+Ly5nYW1tdXJjIGZpbGUuCis7IEluIFVuaXgvTGludXggIGNvcHkgaXQgaW50byB5b3VyIGhvbWUgZGlyZWN0b3J5IGFuZCBuYW1lIGl0IC5nYW1tdXJjCis7ICAgICAgICAgICAgICAgIG9yIGludG8gL2V0YyBhbmQgbmFtZSBpdCBnYW1tdXJjCis7IEluIFdpbjMyICAgICAgIGNvcHkgaXQgaW50byBkaXJlY3Rvcnkgd2l0aCBHYW1tdS5leGUgYW5kIG5hbWUgZ2FtbXVyYworOyBNb3JlIGFib3V0IHBhcmFtZXRlcnMgbGF0ZXIKKzsgQW55dGhpbmcgYmVoaW5kIDsgb3IgIyBpcyBjb21tZW50LgorOyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitbZ2FtbXVdCisKK2RldmljZSA9IC9kZXYvdHR5VVNCMAorY29ubmVjdGlvbiA9IGF0MTE1MjAwCis7IERvIG5vdCB1c2UgbW9kZWwgY29uZmlndXJhdGlvbiB1bmxlc3MgeW91IHJlYWxseSBuZWVkIGl0Cis7bW9kZWwgPSA2MTEwCis7c3luY2hyb25pemV0aW1lID0geWVzCis7bG9nZmlsZSA9IGdhbW11bG9nCis7bG9nZm9ybWF0ID0gdGV4dGFsbAorO3VzZV9sb2NraW5nID0geWVzCis7Z2FtbXVsb2MgPSBsb2NmaWxlCis7c3RhcnRpbmZvID0geWVzCis7Z2FtbXVjb2RpbmcgPSB1dGY4Cis7dXNlcGhvbmVkYiA9IHllcworCis7W2dhbW11MV0KKworO2RldmljZSA9IGNvbTg6Cis7bW9kZWwgPSA2MTEwCis7Y29ubmVjdGlvbiA9IGZidXNibHVlCis7c3luY2hyb25pemV0aW1lID0geWVzCis7bG9nZmlsZSA9IGdhbW11bG9nCis7bG9nZm9ybWF0ID0gdGV4dGFsbAorO3VzZV9sb2NraW5nID0geWVzCis7Z2FtbXVsb2MgPSBsb2NmaWxlCis7c3RhcnRpbmZvID0geWVzCis7Z2FtbXVjb2RpbmcgPSB1dGY4CisKKzsgU3RlcCAxLiBQbGVhc2UgZmluZCByZXF1aXJlZCBDb25uZWN0aW9uIHBhcmFtZXRlciBhbmQgbG9vayBpbnRvIGFzc2lnbmVkIAorOyB3aXRoIGl0IGRldmljZSB0eXBlLiBXaXRoIHNvbWUgQ29ubmVjdGlvbiB5b3UgbXVzdCBzZXQgY29uY3JldGUgbW9kZWwKKworOyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IGNhYmxlcyA9PT09PQorOyBOZXcgTm9raWEgcHJvdG9jb2wgZm9yIEZCVVMvREFVOVAKKzsgICAgQ29ubmVjdGlvbiAiZmJ1cyIsIGRldmljZSB0eXBlIHNlcmlhbAorOyBOZXcgTm9raWEgcHJvdG9jb2wgZm9yIERMUjMvRExSM1AKKzsgICAgQ29ubmVjdGlvbiAiZmJ1c2RscjMiLyJkbHIzIiwgZGV2aWNlIHR5cGUgc2VyaWFsIAorOyBOZXcgTm9raWEgcHJvdG9jb2wgZm9yIERLVTIgKGFuZCBwaG9uZSB3aXRoIFVTQiBjb252ZXJ0ZXIgb24gcGhvbmUgbWFpbmJvYXJkCis7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSA2MjMwKQorOyAgICBDb25uZWN0aW9uICJka3UycGhvbmV0Ii8iZGt1MiIsIGRldmljZSB0eXBlIGRrdTIgb24gV2luZG93cworOyAgICBDb25uZWN0aW9uICJmYnVzdXNiIiBvbiBMaW51eAorOyBOZXcgTm9raWEgcHJvdG9jb2wgZm9yIERLVTUgKGFuZCBwaG9uZSB3aXRob3V0IFVTQiBjb252ZXJ0ZXIgb24gcGhvbmUKKzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWluYm9hcmQgbGlrZSA1MTAwKQorOyAgICBDb25uZWN0aW9uICJka3U1ZmJ1cyIvImRrdTUiLCBkZXZpY2UgdHlwZSBka3U1Cis7IE5ldyBOb2tpYSBwcm90b2NvbCBmb3IgUEwyMzAzIFVTQiBjYWJsZSAoYW5kIHBob25lIHdpdGhvdXQgVVNCIGNvbnZlcnRlcgorOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uIHBob25lIG1haW5ib2FyZCBsaWtlIDUxMDApCis7ICAgIENvbm5lY3Rpb24gImZidXNwbDIzMDMiLCBkZXZpY2UgdHlwZSB1c2IKKzsgT2xkIE5va2lhIHByb3RvY29sIGZvciBNQlVTL0RBVTlQCis7ICAgIENvbm5lY3Rpb24gIm1idXMiLCBkZXZpY2UgdHlwZSBzZXJpYWwKKzsgVmFyaWFudHM6IAorOyBZb3UgY2FuIG1vZGlmeSBhIGJpdCBiZWhhdmlvdXIgb2YgY29ubmVjdGlvbiB1c2luZyBhZGRpdGlvbmFsIGZsYWdzCis7IHNwZWNpZmllZCBqdXN0IGFmdGVyIGNvbm5lY3Rpb24gbmFtZSBsaWtlIGNvbm5lY3Rpb24tdmFyaWFudC4KKzsgSWYgeW91J3JlIHVzaW5nIEFSSzMxMTYgY2FibGUgKG9yIGFueSBvdGhlciB3aGljaCBkb2VzIG5vdCBsaWtlIGR0ciAKKzsgaGFuZGxpbmcpLCB5b3UgbWlnaHQgbmVlZCAtbm9kdHIgdmFyaWFudCBvZiBjb25uZWN0aW9uLCBlZy4gZGxyMy1ub2R0ci4KKzsgSWYgY2FibGUgeW91IHVzZSBpcyBub3QgcG93ZXJlZCBvdmVyIERUUi9SVFMsIHRyeSB1c2luZyAtbm9wb3dlciB2YXJpYW50IG9mIAorOyBjb25uZWN0aW9uLCBlZy4gZmJ1cy1ub3Bvd2VyLgorOyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorOyBBVCBjb21tYW5kcyBmb3IgRExSMywgREtVNSBvciBvdGhlciBBVCBjb21wYXRpYmxlIGNhYmxlICg4IGJpdHMsIE5vbmUKKzsgcGFyaXR5LCBubyBmbG93IGNvbnRyb2wsIDEgc3RvcCBiaXQpLiBVc2VkIHdpdGggTm9raWEsIEFsY2F0ZWwsIFNpZW1lbnMsIGV0Yy4KKzsgICAgQ29ubmVjdGlvbiAiYXQxOTIwMCIvImF0MTE1MjAwIi8uLiwgZGV2aWNlIHR5cGUgc2VyaWFsCis7IEFUIGNvbW1hbmRzIGZvciBES1UyIGNhYmxlCis7ICAgIENvbm5lY3Rpb24gImRrdTJhdCIsIGRldmljZSB0eXBlIGRrdTIKKzsgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gaW5mcmFyZWQgPT09PT0KKzsgTm9raWEgcHJvdG9jb2wgZm9yIGluZnJhcmVkIHdpdGggTm9raWEgNjExMC82MTMwLzYxNTAKKzsgICAgQ29ubmVjdGlvbiAiZmJ1c2lyZGEiLyJpbmZyYXJlZCIsIGRldmljZSB0eXBlIHNlcmlhbAorOyBOb2tpYSBwcm90b2NvbCBmb3IgaW5mcmFyZWQgd2l0aCBvdGhlciBOb2tpYSBtb2RlbHMKKzsgICAgQ29ubmVjdGlvbiAiaXJkYXBob25ldCIvImlyZGEiLCBkZXZpY2UgdHlwZSBpcmRhCis7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis7IEFUIGNvbW1hbmRzIGZvciBpbmZyYXJlZC4gVXNlZCB3aXRoIE5va2lhLCBBbGNhdGVsLCBTaWVtZW5zLCBldGMuCis7ICAgIENvbm5lY3Rpb24gImlyZGFhdCIsIGRldmljZSB0eXBlIGlyZGEKKzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzsgT0JFWCBmb3IgaW5mcmFyZWQKKzsgICAgQ29ubmVjdGlvbiAiaXJkYW9iZXgiLCBkZXZpY2UgdHlwZSBpcmRhLgorOyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IEJsdWV0b290aCA9PT09PQorOyBOb2tpYSBwcm90b2NvbCB3aXRoIHNlcmlhbCBkZXZpY2Ugc2V0IGluIEJUIHN0YWNrIChXaWRDb21tLCBvdGhlcikgZnJvbQorOyBhZGVxdWF0ZSBzZXJ2aWNlIGFuZCBOb2tpYSA2MjEwCis7ICAgIENvbm5lY3Rpb24gImZidXNibHVlIiwgZGV2aWNlIHR5cGUgc2VyaWFsCis7IE5va2lhIHByb3RvY29sIHdpdGggc2VyaWFsIGRldmljZSBzZXQgaW4gQlQgc3RhY2sgKFdpZENvbW0sIG90aGVyKSBmcm9tCis7IGFkZXF1YXRlIHNlcnZpY2UgYW5kIG90aGVyIE5va2lhIG1vZGVscworOyAgICBDb25uZWN0aW9uICJwaG9uZXRibHVlIiwgZGV2aWNlIHR5cGUgc2VyaWFsCis7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis7IE5va2lhIHByb3RvY29sIGZvciBCbHVldG9vdGggc3RhY2sgd2l0aCBOb2tpYSA2MjEwCis7ICAgIENvbm5lY3Rpb24gImJsdWVyZmZidXMiLCBkZXZpY2UgdHlwZSBCVAorOyBOb2tpYSBwcm90b2NvbCBmb3IgQmx1ZXRvb3RoIHN0YWNrIHdpdGggRENUNCBOb2tpYSBtb2RlbHMsIHdoaWNoIGRvbid0IGluZm9ybQorOyBhYm91dCBzZXJ2aWNlcyBjb3JyZWN0bHkgKDYzMTAsIDYzMTBpIHdpdGggZmlybXdhcmUgbG93ZXIgdGhhbiA1LjUwLCA4OTEwLC4uKQorOyAgICBDb25uZWN0aW9uICJibHVlcmZwaG9uZXQiLCBkZXZpY2UgdHlwZSBCVAorOyBOb2tpYSBwcm90b2NvbCBmb3IgQmx1ZXRvb3RoIHN0YWNrIHdpdGggb3RoZXIgRENUNCBOb2tpYSBtb2RlbHMKKzsgICAgQ29ubmVjdGlvbiAiYmx1ZXBob25ldCIsIGRldmljZSB0eXBlIEJUCis7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis7IEFUIGNvbW1hbmRzIGZvciBCbHVldG9vdGggc3RhY2sgYW5kIDYyMTAgLyBEQ1Q0IE5va2lhIG1vZGVscywgd2hpY2ggZG9uJ3QKKzsgaW5mb3JtIGFib3V0IEJUIHNlcnZpY2VzIGNvcnJlY3RseSAoNjMxMCwgNjMxMGkgd2l0aCBmaXJtd2FyZSBsb3dlciAKKzsgdGhhbiA1LjUwLCA4OTEwLC4uKQorOyAgICBDb25uZWN0aW9uICJibHVlcmZhdCIsIGRldmljZSB0eXBlIEJUCis7IEFUIGNvbW1hbmRzIGZvciBCbHVldG9vdGggc3RhY2sgd2l0aCBvdGhlciBwaG9uZXMgKFNpZW1lbnMsIG90aGVyIE5va2lhLGV0Yy4pCis7ICAgIENvbm5lY3Rpb24gImJsdWVhdCIsIGRldmljZSB0eXBlIEJUCis7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis7IE9CRVggZm9yIEJsdWV0b290aCBzdGFjayB3aXRoIERDVDQgTm9raWEgbW9kZWxzLCB3aGljaCBkb24ndCBpbmZvcm0gYWJvdXQKKzsgQlQgc2VydmljZXMgY29ycmVjdGx5ICg2MzEwLCA2MzEwaSB3aXRoIGZpcm13YXJlIGxvd2VyIHRoYW4gNS41MCwgODkxMCwuLi4pCis7ICAgIENvbm5lY3Rpb24gImJsdWVyZm9iZXgiLCBkZXZpY2UgdHlwZSBCVAorOyBPQkVYIGZvciBCbHVldG9vdGggc3RhY2sgd2l0aCBvdGhlciBwaG9uZXMgKFNpZW1lbnMsIG90aGVyIE5va2lhLCBldGMuKQorOyAgICBDb25uZWN0aW9uICJibHVlb2JleCIsIGRldmljZSB0eXBlIEJULgorOyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorOyAgICBDb25uZWN0aW9uICJibHVlcmZnbmFwYnVzIiwgZGV2aWNlIHR5cGUgQlQsIG1vZGVsICJnbmFwIgorOyAgICBDb25uZWN0aW9uICJpcmRhZ25hcGJ1cyIsIGRldmljZSB0eXBlIGlyZGEsIG1vZGVsICJnbmFwIgorCis7IFN0ZXAyLiBBY2NvcmRpbmcgdG8gZGV2aWNlIHR5cGUgZnJvbSBTdGVwMSBhbmQgdXNlZCBPUyBzZXQgUG9ydCBwYXJhbWV0ZXIKKworOyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorOyBQb3J0IHR5cGUgfCAiUG9ydCIgcGFyYW1ldGVyIGluIFdpbmRvd3MvRE9TIHwgIlBvcnQiIHBhcmFtZXRlciBpbiBMaW51eC9Vbml4Cis7IC0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis7IHNlcmlhbCAgICB8ICJjb20qOiIgICAgICAgICAgICAgICAgICAgICAgICAgfCAiL2Rldi90dHlTKiIKKzsgICAgICAgICAgIHwgKGV4YW1wbGUgImNvbTE6IikgICAgICAgICAgICAgICB8IChleGFtcGxlICIvZGV2L3R0eVMxIikKKzsgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IG9yICIvZGV2L3R0cy8qKiIgKHdpdGggRGV2RlMpCis7ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB2aXJ0dWFsIHNlcmlhbCBwb3J0cyBsaWtlCis7ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAiL2Rldi9pcmNvbW0qIiBvciAiL2Rldi9yZmNvbW0qIgorOyAtLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorOyBpcmRhICAgICAgfCBpZ25vcmVkIChjYW4gYmUgZW1wdHkpICAgICAgICAgIHwgaWdub3JlZCAoY2FuIGJlIGVtcHR5KQorOyAtLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorOyBCVCAgICAgICAgfCBCbHVldG9vdGggZGV2aWNlIGFkZHJlc3MgKGV4YW1wbGUgIjAwOjExOjIyOjMzOjQ0OjU1IikuCis7ICAgICAgICAgICB8IE9wdGlvbmFsbHkgeW91IGNhbiBhbHNvIGluY2x1ZGUgY2hhbm5lbCBhZnRlciBzbGFzaAorOyAgICAgICAgICAgfCAoZXhhbXBsZSAiMDA6MTE6MjI6MzM6NDQ6NTUvMTIiKS4gQ2FuIGJlIGFsc28gZW1wdHkuCis7IC0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis7IGRrdTIgICAgICB8IGlnbm9yZWQgKGNhbiBiZSBlbXB0eSkgICAgICAgICAgfCAvZGV2L3R0eVVTQiogb3IgL2Rldi90dHlBQ00qCis7IC0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis7IGRrdTUgICAgICB8IGlnbm9yZWQgKGNhbiBiZSBlbXB0eSkgICAgICAgICAgfCBjb25uZWN0aW9uIHdpdGggaXQgbm90IHBvc3NpYmxlCis7IC0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis7IHVzYiAgICAgICB8IGNvbm5lY3Rpb24gd2l0aCBpdCBub3QgcG9zc2libGUgfCAiL2Rldi90dHlVU0IqIgorCis7IFN0ZXAzLiBTZXQgb3RoZXIgY29uZmlnIHBhcmFtZXRlcnMKKworOyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorOyBQYXJhbWV0ZXIgbmFtZSAgfCBEZXNjcmlwdGlvbgorOyAtLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorOyBNb2RlbCAgICAgICAgICAgfCBTaG91bGQgbm90IGJlIHVzZWQgdW5sZXNzIHlvdSBoYXZlIGEgZ29vZCByZWFzb24gdG8gZG8gc28uCis7ICAgICAgICAgICAgICAgICB8IElmIEdhbW11IGRvZXNuJ3QgcmVjb2duaXplIHlvdXIgcGhvbmUgbW9kZWwsIHB1dCBpdCBoZXJlLiAKKzsgICAgICAgICAgICAgICAgIHwgRXhhbXBsZSB2YWx1ZXM6ICI2MTEwIiwgIjYxNTAiLCAiNjIxMCIsICI4MjEwIgorOyBTeW5jaHJvbml6ZVRpbWUgfCBpZiB5b3Ugd2FudCB0byBzZXQgdGltZSBmcm9tIGNvbXB1dGVyIHRvIHBob25lIGR1cmluZworOyAgICAgICAgICAgICAgICAgfCBzdGFydGluZyBjb25uZWN0aW9uLiBEbyBub3QgcmF0aGVyIHVzZSB0aGlzIG9wdGlvbiB3aGVuCis7ICAgICAgICAgICAgICAgICB8IHdoZW4gdG8gcmVzZXQgcGhvbmUgZHVyaW5nIGNvbm5lY3Rpb24gKGluIHNvbWUgcGhvbmVzIG5lZWQKKzsgICAgICAgICAgICAgICAgIHwgdG8gc2V0IHRpbWUgYWdhaW4gYWZ0ZXIgcmVzdGFydCkKKzsgR2FtbXVMb2MgICAgICAgIHwgbmFtZSBvZiBsb2NhbGlzYXRpb24gZmlsZQorOyBTdGFydEluZm8gICAgICAgfCB0aGlzIG9wdGlvbiBhbGxvdyB0byBzZXQsIHRoYXQgeW91IHdhbnQgKHNldHRpbmcgInllcyIpCis7ICAgICAgICAgICAgICAgICB8IHRvIHNlZSBtZXNzYWdlIG9uIHRoZSBwaG9uZSBzY3JlZW4gb3IgcGhvbmUgc2hvdWxkIGVuYWJsZQorOyAgICAgICAgICAgICAgICAgfCBsaWdodCBmb3IgYSBtb21lbnQgZHVyaW5nIHN0YXJ0aW5nIGNvbm5lY3Rpb24uIFBob25lCis7ICAgICAgICAgICAgICAgICB8IFdPTidUIGJlZXAgZHVyaW5nIHN0YXJ0aW5nIGNvbm5lY3Rpb24gd2l0aCB0aGlzIG9wdGlvbi4KKzsgR2FtbXVDb2RpbmcgICAgIHwgZm9yY2VzIHVzaW5nIHNwZWNpZmllZCBjb2RlcGFnZSAoaW4gd2luMzIgLSBmb3IgZXhhbXBsZQorOyAgICAgICAgICAgICAgICAgfCAiMTI1MCIgd2lsbCBmb3JjZSBDUDEyNTApIG9yIFVURjggKGluIExpbnV4IC0gInV0ZjgiKQorOyAtLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorOyBMb2dmaWxlICAgICAgICAgfCBVc2UsIHdoZW4gd2FudCB0byBoYXZlIGxvZ2ZpbGUgZnJvbSBjb21tdW5pY2F0aW9uLgorOyBMb2dmb3JtYXQgICAgICAgfCBXaGF0IGRlYnVnIGluZm8gYW5kIGZvcm1hdCBzaG91bGQgYmUgdXNlZDoKKzsgICAgICAgICAgICAgICAgIHwgICAibm90aGluZyIgLSBubyBkZWJ1ZyBsZXZlbCAoZGVmYXVsdCkKKzsgICAgICAgICAgICAgICAgIHwgICAidGV4dCIgICAgLSB0cmFuc21pc3Npb24gZHVtcCBpbiB0ZXh0IGZvcm1hdAorOyAgICAgICAgICAgICAgICAgfCAgICJ0ZXh0YWxsIiAtIGFsbCBwb3NzaWJsZSBpbmZvIGluIHRleHQgZm9ybWF0Cis7ICAgICAgICAgICAgICAgICB8ICAgImVycm9ycyIgIC0gZXJyb3JzIGluIHRleHQgZm9ybWF0Cis7ICAgICAgICAgICAgICAgICB8ICAgImJpbmFyeSIgIC0gdHJhbnNtaXNzaW9uIGR1bXAgaW4gYmluYXJ5IGZvcm1hdAorOyAtLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorOyBGZWF0dXJlcyAgICAgICAgfCBDdXN0b20gZmVhdHVyZXMgZm9yIHBob25lLiBUaGlzIGNhbiBiZSB1c2VkIGFzIG92ZXJyaWRlCis7ICAgICAgICAgICAgICAgICB8IHdoZW4gdmFsdWVzIGNvZGVkIGluIGNvbW1vbi9nc21waG9uZXMuYyBhcmUgYmFkIG9yCis7ICAgICAgICAgICAgICAgICB8IG1pc3NpbmcuIENvbnN1bHQgaW5jbHVkZS9nYW1tdS1pbmZvLmggZm9yIHBvc3NpYmxlIHZhbHVlcworOyAgICAgICAgICAgICAgICAgfCAoYWxsIEZlYXR1cmUgdmFsdWVzIHdpdGhvdXQgbGVhZGluZyBGXyBwcmVmaXgpLgorOyAgICAgICAgICAgICAgICAgfCBQbGVhc2UgcmVwb3J0IGNvcnJlY3QgdmFsdWVzIHRvIEdhbW11IGF1dGhvcnMuCis7IC0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis7IFVzZV9Mb2NraW5nICAgICB8IHVuZGVyIFVuaXgvTGludXggdXNlICJ5ZXMiLCBpZiB3YW50IHRvIGxvY2sgdXNlZCBkZXZpY2UKKzsgICAgICAgICAgICAgICAgIHwgdG8gcHJldmVudCB1c2luZyBpdCBieSBvdGhlciBhcHBsaWNhdGlvbnMuIEluIHdpbjMyIGlnbm9yZWQKKworOyB2aW06IGV0IHRzPTQgc3c9NCBzdHM9NCB0dz03OCBzcGVsbCBzcGVsbGxhbmc9ZW5fdXMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9nYW1tdS9nYW1tdV8xLjMyLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ2FtbXUvZ2FtbXVfMS4zMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzM2I0MzUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ2FtbXUvZ2FtbXVfMS4zMi4wLmJiCkBAIC0wLDAgKzEsNjggQEAKK1NVTU1BUlkgPSAiR05VIEFsbCBNb2JpbGUgTWFuYWdtZW50IFV0aWxpdGllcyIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorREVQRU5EUyA9ICJjbWFrZS1uYXRpdmUgdmlydHVhbC9saWJpY29udiBsaWJkYmkgbXlzcWw1IGdsaWItMi4wIHVkZXYgbGliZ3VkZXYiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTE3Y2IwYTg3M2QyNTI0NDBhY2ZkZjliM2QwZTdmYmYiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmdhbW11Lm9yZy8iCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9LyR7QlBOfS8ke0JQTn0vJHtQVn0vJHtCUH0udGFyLmJ6MiBcCisgICAgZmlsZTovL2dhbW11cmMgXAorICAgIGZpbGU6Ly9nYW1tdS1zbXNkcmMgXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOGVhMTZjNmIzY2M0ODA5N2E4ZTYyMzExZmUwZTI1YjkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZGU2N2NhYTEwMmFhNGM4ZmJlZDUzMDBlNWEwMjYyZTQwNDExYzRjYzc5ZjQzNzlhOGQzNGVlZDc5Nzk2OGZjMyIKKworaW5oZXJpdCBkaXN0dXRpbHMgY21ha2UgZ2V0dGV4dAorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAjIHRoZXNlIGZpbGVzIHNlZW0gdG8gb25seSBiZSB1c2VkIGJ5IHN5bWJpYW4gYW5kIHRyaWdnZXIgUUEgd2FybmluZ3MKKyAgICBybSAtcmYgJHtEfS91c3Ivc2hhcmUvZ2FtbXUKKyAgICAjaW5zdGFsbCBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gZmlsZXMKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZ2FtbXVyYyAke0R9JHtzeXNjb25mZGlyfS9nYW1tdXJjCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZ2FtbXUtc21zZHJjICR7RH0ke3N5c2NvbmZkaXJ9L2dhbW11LXNtc2RyYworfQorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWVuYWJsZS1zaGFyZWQgXAorICAgIC0tZW5hYmxlLWJhY2t1cCBcCisgICAgLS1lbmFibGUtcHJvdGVjdGlvbiBcCisiCisKK0VYVFJBX09FQ01BS0UgPSAiIFwKKyAgICAtRFdJVEhfQ1VSTD1PRkYgXAorICAgIC1EV0lUSF9CTFVFVE9PVEg9T0ZGIFwKKyAgICAtRFdJVEhfTk9LSUFfU1VQUE9SVD1PRkYgXAorICAgIC1EV0lUSF9JUkRBPU9GRiBcCisgICAgLURXSVRIX1BZVEhPTj1PRkYgXAorICAgIC1EV0lUSF9NeVNRTD1PTiBcCisgICAgLURXSVRIX1Bvc3RncmVzPU9GRiBcCisiCisKK1BBQ0tBR0VTID0rICIke1BOfS1zbXNkIGxpYmdhbW11IGxpYmdzbXNkIHB5dGhvbi0ke1BOfSIKKworRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9L2dhbW11ICR7YmluZGlyfS9qYWRtYWtlciAke3N5c2NvbmZkaXJ9L2Jhc2hfY29tcGxldGlvbi5kL2dhbW11IFwKKyAgICAke2JpbmRpcn0vZ2FtbXUtZGV0ZWN0ICR7c3lzY29uZmRpcn0vZ2FtbXVyYyIKK0NPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L2dhbW11cmMiCitGSUxFU18ke1BOfS1zbXNkID0gIiR7YmluZGlyfS9nYW1tdS1zbXNkKiAke3N5c2NvbmZkaXJ9L2dhbW11LXNtc2RyYyIKK0NPTkZGSUxFU18ke1BOfS1zbXNkID0gIiR7c3lzY29uZmRpcn0vZ2FtbXUtc21zZHJjIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2JpbmRpcn0vZ2FtbXUtY29uZmlnICR7bGliZGlyfS8qLnNvIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2JpbmRpcn0vLmRlYnVnICR7bGliZGlyfS8uZGVidWcgJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vZ2FtbXUvLmRlYnVnIgorRklMRVNfbGliZ2FtbXUgPSAiJHtsaWJkaXJ9L2xpYkdhbW11LnNvLioiCitGSUxFU19saWJnc21zZCA9ICIke2xpYmRpcn0vbGliZ3Ntc2Quc28uKiIKK0ZJTEVTX3B5dGhvbi0ke1BOfSA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS9nYW1tdS8qLj8/IgorCitSREVQRU5EU18ke1BOfSArPSAiYmFzaCIKK1JERVBFTkRTXyR7UE59LWRldiArPSAiYmFzaCIKKworIyBGYWlscyB0byBidWlsZCB3aXRoIHRodW1iLTEgKHFlbXVhcm0pCisjIGdhbW11LTEuMzIuMC9saWJnYW1tdS9zZXJ2aWNlL3Ntcy9nc21lbXMuYzo1NDI6MTogaW50ZXJuYWwgY29tcGlsZXIgZXJyb3I6IGluIHBhdGNoX2p1bXBfaW5zbiwgYXQgY2ZncnRsLmM6MTI3NQorIyB8ICB9CisjIHwgIF4KKyMgfCBQbGVhc2Ugc3VibWl0IGEgZnVsbCBidWcgcmVwb3J0LAorIyB8IHdpdGggcHJlcHJvY2Vzc2VkIHNvdXJjZSBpZiBhcHByb3ByaWF0ZS4KKyMgfCBTZWUgPGh0dHA6Ly9nY2MuZ251Lm9yZy9idWdzLmh0bWw+IGZvciBpbnN0cnVjdGlvbnMuCisjIHwgbWFrZVsyXTogKioqIFtsaWJnYW1tdS9DTWFrZUZpbGVzL2xpYkdhbW11LmRpci9zZXJ2aWNlL3Ntcy9nc21lbXMub10gRXJyb3IgMQorIyB8IG1ha2VbMl06ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCitBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9nbm9raWkvZ25va2lpXzAuNi4zMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9nbm9raWkvZ25va2lpXzAuNi4zMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZmQ3OTRkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2dub2tpaS9nbm9raWlfMC42LjMxLmJiCkBAIC0wLDAgKzEsMzMgQEAKK1NVTU1BUlkgPSAiQ2VsbHBob25lIHRvb2xzIGFuZCBkcml2ZXIgc29mdHdhcmUiCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDYzNmU3M2ZmMDIxNWU4ZDY3MmRjNGMzMmMzMTdiYjMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5nbm9raWkub3JnL2Rvd25sb2FkL2dub2tpaS9nbm9raWktJHtQVn0udGFyLmJ6MiIKKworREVQRU5EUyA9ICJnbGliLTIuMCIKK1gxMURFUEVORFMgPSAiIGxpYnhwbSBndGsrIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAneDExJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdbYmx1ZXo0XSA9ICItLWVuYWJsZS1ibHVldG9vdGgsLS1kaXNhYmxlLWJsdWV0b290aCxibHVlejQiCitQQUNLQUdFQ09ORklHW2xpYmljYWxdID0gIi0tZW5hYmxlLWxpYmljYWwsLS1kaXNhYmxlLWxpYmljYWwsbGliaWNhbCIKK1BBQ0tBR0VDT05GSUdbcGNzYy1saXRlXSA9ICItLWVuYWJsZS1saWJwY3NjbGl0ZSwtLWRpc2FibGUtbGlicGNzY2xpdGUscGNzYy1saXRlIgorUEFDS0FHRUNPTkZJR1tyZWFkbGluZV0gPSAiLS13aXRoLXJlYWRsaW5lLC0td2l0aG91dC1yZWFkbGluZSxyZWFkbGluZSIKK1BBQ0tBR0VDT05GSUdbdXNiXSA9ICItLWVuYWJsZS1saWJ1c2IsLS1kaXNhYmxlLWxpYnVzYix2aXJ0dWFsL2xpYnVzYjAiCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiLC0td2l0aG91dC14LCR7WDExREVQRU5EU30iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitQQUNLQUdFUyArPSAibGliZ25va2lpIGxpYmdub2tpaS1kZXYiCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtc21zZCIKKworRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9ICR7c2JpbmRpcn0iCitGSUxFU19saWJnbm9raWktZGV2ID0gIiR7aW5jbHVkZWRpcn0gJHtsaWJkaXJ9L2xpYiouc28gJHtsaWJkaXJ9LyoubGEgXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS8qLmEgJHtsaWJkaXJ9LyoubyAke2xpYmRpcn0vcGtnY29uZmlnIFwKKwkgICAgICAgIC9saWIvKi5hIC9saWIvKi5vICR7ZGF0YWRpcn0vYWNsb2NhbCIKK0ZJTEVTXyR7UE59LWRldiA9ICIiCitGSUxFU19saWJnbm9raWkgPSAiJHtsaWJkaXJ9L2xpYmdub2tpaS5zby4qIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZDk2MjdmNGExMTUyZDNlYTc4MDZkZjQ1MzI4NTBkNWYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGY1YTA4M2IwNWMxYTY2YTM0MDJjYTVjZDgwMDg0ZTE0YzJjMDYzMmM5OTFiYjUzYjAzYzc4ZTlhZGIwMjUwMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9nbnVyYWRpby9nbnVyYWRpby8wMDAxLWJ1aWxkc3lzLWRvbi10LWFkZC11c3ItaW5jbHVkZS1hbmQtdXNyLWxpYi10by1jb25maWcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ251cmFkaW8vZ251cmFkaW8vMDAwMS1idWlsZHN5cy1kb24tdC1hZGQtdXNyLWluY2x1ZGUtYW5kLXVzci1saWItdG8tY29uZmlnLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjYWFmNTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ251cmFkaW8vZ251cmFkaW8vMDAwMS1idWlsZHN5cy1kb24tdC1hZGQtdXNyLWluY2x1ZGUtYW5kLXVzci1saWItdG8tY29uZmlnLnBhdGNoCkBAIC0wLDAgKzEsNTggQEAKK0Zyb20gYTEzMDE1M2FlODRkOGJiNTkxNDg3OWNlZjk0ZGYwOWYwNjgyNWMxMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitEYXRlOiBTYXQsIDE4IEp1biAyMDExIDExOjI1OjM2ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGJ1aWxkc3lzOiBkb24ndCBhZGQgL3Vzci9pbmNsdWRlIGFuZCAvdXNyL2xpYiB0byBjb25maWd1cmUgdGVzdHMgZm9yIGxpYnVzYgorCitTaWduZWQtb2ZmLWJ5OiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorLS0tCisgY29uZmlnL3VzcnBfbGlidXNiLm00IHwgICAxMyAtLS0tLS0tLS0tLS0tCisgMSBmaWxlcyBjaGFuZ2VkLCAwIGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlnL3VzcnBfbGlidXNiLm00IGIvY29uZmlnL3VzcnBfbGlidXNiLm00CitpbmRleCBjYzM0MTBmLi5iNDIxODIwIDEwMDY0NAorLS0tIGEvY29uZmlnL3VzcnBfbGlidXNiLm00CisrKysgYi9jb25maWcvdXNycF9saWJ1c2IubTQKK0BAIC0xMTcsMTAgKzExNyw2IEBAIEFDX0RFRlVOKFtVU1JQX0xJQlVTQl0sIFsKKyAgICAgICBkbmwgY29uZmlndXJlZCB0byBmaW5kIHRoaXMgaGVhZGVyLgorICAgICAgIEFDX0xBTkdfUFVTSChDKQorICAgICAgIHNhdmVfQ1BQRkxBR1M9IiRDUFBGTEFHUyIKKy0gICAgICBpZiB0ZXN0IHgkVVNCX0lOQ0xVREVESVIgIT0geDsgdGhlbgorLSAgICAgICAgVVNCX0lOQ0xVREVTPSItSSRVU0JfSU5DTFVERURJUiIKKy0gICAgICAgIENQUEZMQUdTPSIkVVNCX0lOQ0xVREVTIgorLSAgICAgIGZpCisgICAgICAgQUNfTVNHX0NIRUNLSU5HKFskbGlidXNiX25hbWUgZm9yIGhlYWRlciAkdXNiX2hlYWRlcl0pCisgICAgICAgQUNfQ09NUElMRV9JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbWworICAgICAgICAgI2luY2x1ZGUgIiR1c2JfaGVhZGVyIgorQEAgLTE3Miw5ICsxNjgsNiBAQCBBQ19ERUZVTihbVVNSUF9MSUJVU0JdLCBbCisgICAgICAgICAgICAgKikKKyAgICAgICAgICAgICAgIEFDX0xBTkdfUFVTSChDKQorICAgICAgICAgICAgICAgc2F2ZV9DUFBGTEFHUz0iJENQUEZMQUdTIgorLSAgICAgICAgICAgICAgaWYgdGVzdCB4JFVTQl9JTkNMVURFRElSICE9IHg7IHRoZW4KKy0gICAgICAgICAgICAgICAgQ1BQRkxBR1M9IiRVU0JfSU5DTFVERVMiCistICAgICAgICAgICAgICBmaQorICAgICAgICAgICAgICAgc2F2ZV9MSUJTPSIkTElCUyIKKyAgICAgICAgICAgICAgIExJQlM9IiRVU0JfTElCUyIKKyAgICAgICAgICAgICAgIEFDX01TR19DSEVDS0lORyhbJGxpYnVzYl9uYW1lIGZvciBzeW1ib2wgdXNiX2RlYnVnIGluIGxpYnJhcnkgJHVzYl9saWJfbmFtZV0pCitAQCAtMjE3LDkgKzIxMCw2IEBAIEFDX0RFRlVOKFtVU1JQX0xJQlVTQl0sIFsKKyAgICAgZG5sIGZpbmFsIGVycm9yIGNoZWNraW5nLCBtb3N0bHkgdG8gY3JlYXRlICNkZWZpbmUncworICAgICBBQ19MQU5HX1BVU0goQykKKyAgICAgc2F2ZV9DUFBGTEFHUz0iJENQUEZMQUdTIgorLSAgICBpZiB0ZXN0IHgkVVNCX0lOQ0xVREVESVIgIT0geDsgdGhlbgorLSAgICAgIENQUEZMQUdTPSIkVVNCX0lOQ0xVREVTIgorLSAgICBmaQorICAgICBkbmwgQ2hlY2sgZm9yIHRoZSBoZWFkZXIuCisgICAgIEFDX0NIRUNLX0hFQURFUlMoWyR1c2JfaGVhZGVyXSwgW10sIFtsaWJ1c2Jvaz1ub10pCisgICAgIENQUEZMQUdTPSIkc2F2ZV9DUFBGTEFHUyIKK0BAIC0yMzEsOSArMjIxLDYgQEAgQUNfREVGVU4oW1VTUlBfTElCVVNCXSwgWworICAgICAgIGRubCBjaGVjayBmb3IgdGhlIGxpYnJhcnkgKGFnYWluKQorICAgICAgIEFDX0xBTkdfUFVTSChDKQorICAgICAgIHNhdmVfQ1BQRkxBR1M9IiRDUFBGTEFHUyIKKy0gICAgICBpZiB0ZXN0IHgkVVNCX0lOQ0xVREVESVIgIT0geDsgdGhlbgorLSAgICAgICAgQ1BQRkxBR1M9IiRVU0JfSU5DTFVERVMiCistICAgICAgZmkKKyAgICAgICBzYXZlX0xJQlM9IiRMSUJTIgorICAgICAgIExJQlM9IiRVU0JfTElCUyIKKyAgICAgICBBQ19DSEVDS19MSUIoWyR1c2JfbGliX25hbWVdLCBbJHVzYl9saWJfZnVuY10sIFtdLCBbCistLSAKKzEuNi42LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2hvc3RhcGQvaG9zdGFwZC9kZWZjb25maWcgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaG9zdGFwZC9ob3N0YXBkL2RlZmNvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzg5NjQwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2hvc3RhcGQvaG9zdGFwZC9kZWZjb25maWcKQEAgLTAsMCArMSwxNDUgQEAKKyMgRXhhbXBsZSBob3N0YXBkIGJ1aWxkIHRpbWUgY29uZmlndXJhdGlvbgorIworIyBUaGlzIGZpbGUgbGlzdHMgdGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyB0aGF0IGFyZSB1c2VkIHdoZW4gYnVpbGRpbmcgdGhlCisjIGhvc3RhcGQgYmluYXJ5LiBBbGwgbGluZXMgc3RhcnRpbmcgd2l0aCAjIGFyZSBpZ25vcmVkLiBDb25maWd1cmF0aW9uIG9wdGlvbgorIyBsaW5lcyBtdXN0IGJlIGNvbW1lbnRlZCBvdXQgY29tcGxldGUsIGlmIHRoZXkgYXJlIG5vdCB0byBiZSBpbmNsdWRlZCwgaS5lLiwKKyMganVzdCBzZXR0aW5nIFZBUklBQkxFPW4gaXMgbm90IGRpc2FibGluZyB0aGF0IHZhcmlhYmxlLgorIworIyBUaGlzIGZpbGUgaXMgaW5jbHVkZWQgaW4gTWFrZWZpbGUsIHNvIHZhcmlhYmxlcyBsaWtlIENGTEFHUyBhbmQgTElCUyBjYW4gYWxzbworIyBiZSBtb2RpZmllZCBmcm9tIGhlcmUuIEluIG1vc3QgY2FzcywgdGhlc2UgbGluZXMgc2hvdWxkIHVzZSArPSBpbiBvcmRlciBub3QKKyMgdG8gb3ZlcnJpZGUgcHJldmlvdXMgdmFsdWVzIG9mIHRoZSB2YXJpYWJsZXMuCisKKyMgRHJpdmVyIGludGVyZmFjZSBmb3IgSG9zdCBBUCBkcml2ZXIKK0NPTkZJR19EUklWRVJfSE9TVEFQPXkKKworIyBEcml2ZXIgaW50ZXJmYWNlIGZvciB3aXJlZCBhdXRoZW50aWNhdG9yCitDT05GSUdfRFJJVkVSX1dJUkVEPXkKKworIyBEcml2ZXIgaW50ZXJmYWNlIGZvciBtYWR3aWZpIGRyaXZlcgorI0NPTkZJR19EUklWRVJfTUFEV0lGST15CisjQ0ZMQUdTICs9IC1JLi4vLi4vbWFkd2lmaSAjIGNoYW5nZSB0byB0aGUgbWFkd2lmaSBzb3VyY2UgZGlyZWN0b3J5CisKKyMgRHJpdmVyIGludGVyZmFjZSBmb3IgUHJpc201NCBkcml2ZXIKK0NPTkZJR19EUklWRVJfUFJJU001ND15CisKKyMgRHJpdmVyIGludGVyZmFjZSBmb3IgZHJpdmVycyB1c2luZyB0aGUgbmw4MDIxMSBrZXJuZWwgaW50ZXJmYWNlCitDT05GSUdfRFJJVkVSX05MODAyMTE9eQorQ09ORklHX0xJQk5MMzI9eQorIyBkcml2ZXJfbmw4MDIxMS5jIHJlcXVpcmVzIGEgcmF0aGVyIG5ldyBsaWJubCAodmVyc2lvbiAxLjEpIHdoaWNoIG1heSBub3QgYmUKKyMgc2hpcHBlZCB3aXRoIHlvdXIgZGlzdHJpYnV0aW9uIHlldC4gSWYgdGhhdCBpcyB0aGUgY2FzZSwgeW91IG5lZWQgdG8gYnVpbGQKKyMgbmV3ZXIgbGlibmwgdmVyc2lvbiBhbmQgcG9pbnQgdGhlIGhvc3RhcGQgYnVpbGQgdG8gdXNlIGl0LgorI0xJQk5MPS91c3Ivc3JjL2xpYm5sCisjQ0ZMQUdTICs9IC1JJChMSUJOTCkvaW5jbHVkZQorI0xJQlMgKz0gLUwkKExJQk5MKS9saWIKKworIyBEcml2ZXIgaW50ZXJmYWNlIGZvciBGcmVlQlNEIG5ldDgwMjExIGxheWVyIChlLmcuLCBBdGhlcm9zIGRyaXZlcikKKyNDT05GSUdfRFJJVkVSX0JTRD15CisjQ0ZMQUdTICs9IC1JL3Vzci9sb2NhbC9pbmNsdWRlCisjTElCUyArPSAtTC91c3IvbG9jYWwvbGliCisKKyMgRHJpdmVyIGludGVyZmFjZSBmb3Igbm8gZHJpdmVyIChlLmcuLCBSQURJVVMgc2VydmVyIG9ubHkpCisjQ09ORklHX0RSSVZFUl9OT05FPXkKKworIyBJRUVFIDgwMi4xMUYvSUFQUAorQ09ORklHX0lBUFA9eQorCisjIFdQQTIvSUVFRSA4MDIuMTFpIFJTTiBwcmUtYXV0aGVudGljYXRpb24KK0NPTkZJR19SU05fUFJFQVVUSD15CisKKyMgUGVlcktleSBoYW5kc2hha2UgZm9yIFN0YXRpb24gdG8gU3RhdGlvbiBMaW5rIChJRUVFIDgwMi4xMWUgRExTKQorQ09ORklHX1BFRVJLRVk9eQorCisjIElFRUUgODAyLjExdyAobWFuYWdlbWVudCBmcmFtZSBwcm90ZWN0aW9uKQorIyBUaGlzIHZlcnNpb24gaXMgYW4gZXhwZXJpbWVudGFsIGltcGxlbWVudGF0aW9uIGJhc2VkIG9uIElFRUUgODAyLjExdy9EMS4wCisjIGRyYWZ0IGFuZCBpcyBzdWJqZWN0IHRvIGNoYW5nZSBzaW5jZSB0aGUgc3RhbmRhcmQgaGFzIG5vdCB5ZXQgYmVlbiBmaW5hbGl6ZWQuCisjIERyaXZlciBzdXBwb3J0IGlzIGFsc28gbmVlZGVkIGZvciBJRUVFIDgwMi4xMXcuCisjQ09ORklHX0lFRUU4MDIxMVc9eQorCisjIEludGVncmF0ZWQgRUFQIHNlcnZlcgorQ09ORklHX0VBUD15CisKKyMgRUFQLU1ENSBmb3IgdGhlIGludGVncmF0ZWQgRUFQIHNlcnZlcgorQ09ORklHX0VBUF9NRDU9eQorCisjIEVBUC1UTFMgZm9yIHRoZSBpbnRlZ3JhdGVkIEVBUCBzZXJ2ZXIKK0NPTkZJR19FQVBfVExTPXkKKworIyBFQVAtTVNDSEFQdjIgZm9yIHRoZSBpbnRlZ3JhdGVkIEVBUCBzZXJ2ZXIKK0NPTkZJR19FQVBfTVNDSEFQVjI9eQorCisjIEVBUC1QRUFQIGZvciB0aGUgaW50ZWdyYXRlZCBFQVAgc2VydmVyCitDT05GSUdfRUFQX1BFQVA9eQorCisjIEVBUC1HVEMgZm9yIHRoZSBpbnRlZ3JhdGVkIEVBUCBzZXJ2ZXIKK0NPTkZJR19FQVBfR1RDPXkKKworIyBFQVAtVFRMUyBmb3IgdGhlIGludGVncmF0ZWQgRUFQIHNlcnZlcgorQ09ORklHX0VBUF9UVExTPXkKKworIyBFQVAtU0lNIGZvciB0aGUgaW50ZWdyYXRlZCBFQVAgc2VydmVyCisjQ09ORklHX0VBUF9TSU09eQorCisjIEVBUC1BS0EgZm9yIHRoZSBpbnRlZ3JhdGVkIEVBUCBzZXJ2ZXIKKyNDT05GSUdfRUFQX0FLQT15CisKKyMgRUFQLUFLQScgZm9yIHRoZSBpbnRlZ3JhdGVkIEVBUCBzZXJ2ZXIKKyMgVGhpcyByZXF1aXJlcyBDT05GSUdfRUFQX0FLQSB0byBiZSBlbmFibGVkLCB0b28uCisjQ09ORklHX0VBUF9BS0FfUFJJTUU9eQorCisjIEVBUC1QQVggZm9yIHRoZSBpbnRlZ3JhdGVkIEVBUCBzZXJ2ZXIKKyNDT05GSUdfRUFQX1BBWD15CisKKyMgRUFQLVBTSyBmb3IgdGhlIGludGVncmF0ZWQgRUFQIHNlcnZlciAodGhpcyBpcyBfbm90XyBuZWVkZWQgZm9yIFdQQS1QU0spCisjQ09ORklHX0VBUF9QU0s9eQorCisjIEVBUC1TQUtFIGZvciB0aGUgaW50ZWdyYXRlZCBFQVAgc2VydmVyCisjQ09ORklHX0VBUF9TQUtFPXkKKworIyBFQVAtR1BTSyBmb3IgdGhlIGludGVncmF0ZWQgRUFQIHNlcnZlcgorI0NPTkZJR19FQVBfR1BTSz15CisjIEluY2x1ZGUgc3VwcG9ydCBmb3Igb3B0aW9uYWwgU0hBMjU2IGNpcGhlciBzdWl0ZSBpbiBFQVAtR1BTSworI0NPTkZJR19FQVBfR1BTS19TSEEyNTY9eQorCisjIEVBUC1GQVNUIGZvciB0aGUgaW50ZWdyYXRlZCBFQVAgc2VydmVyCisjIE5vdGU6IERlZmF1bHQgT3BlblNTTCBwYWNrYWdlIGRvZXMgbm90IGluY2x1ZGUgc3VwcG9ydCBmb3IgYWxsIHRoZQorIyBmdW5jdGlvbmFsaXR5IG5lZWRlZCBmb3IgRUFQLUZBU1QuIElmIEVBUC1GQVNUIGlzIGVuYWJsZWQgd2l0aCBPcGVuU1NMLAorIyB0aGUgT3BlblNTTCBsaWJyYXJ5IG11c3QgYmUgcGF0Y2hlZCAob3BlbnNzbC0wLjkuOS1zZXNzaW9uLXRpY2tldC5wYXRjaCkKKyMgdG8gYWRkIHRoZSBuZWVkZWQgZnVuY3Rpb25zLgorI0NPTkZJR19FQVBfRkFTVD15CisKKyMgV2ktRmkgUHJvdGVjdGVkIFNldHVwIChXUFMpCitDT05GSUdfV1BTPXkKKyMgRW5hYmxlIFVQblAgc3VwcG9ydCBmb3IgZXh0ZXJuYWwgV1BTIFJlZ2lzdHJhcnMKKyNDT05GSUdfV1BTX1VQTlA9eQorCisjIEVBUC1JS0V2MgorI0NPTkZJR19FQVBfSUtFVjI9eQorCisjIFRydXN0ZWQgTmV0d29yayBDb25uZWN0IChFQVAtVE5DKQorI0NPTkZJR19FQVBfVE5DPXkKKworIyBQS0NTIzEyIChQRlgpIHN1cHBvcnQgKHVzZWQgdG8gcmVhZCBwcml2YXRlIGtleSBhbmQgY2VydGlmaWNhdGUgZmlsZSBmcm9tCisjIGEgZmlsZSB0aGF0IHVzdWFsbHkgaGFzIGV4dGVuc2lvbiAucDEyIG9yIC5wZngpCitDT05GSUdfUEtDUzEyPXkKKworIyBSQURJVVMgYXV0aGVudGljYXRpb24gc2VydmVyLiBUaGlzIHByb3ZpZGVzIGFjY2VzcyB0byB0aGUgaW50ZWdyYXRlZCBFQVAKKyMgc2VydmVyIGZyb20gZXh0ZXJuYWwgaG9zdHMgdXNpbmcgUkFESVVTLgorQ09ORklHX1JBRElVU19TRVJWRVI9eQorCisjIEJ1aWxkIElQdjYgc3VwcG9ydCBmb3IgUkFESVVTIG9wZXJhdGlvbnMKK0NPTkZJR19JUFY2PXkKKworIyBJRUVFIFN0ZCA4MDIuMTFyLTIwMDggKEZhc3QgQlNTIFRyYW5zaXRpb24pCisjQ09ORklHX0lFRUU4MDIxMVI9eQorCisjIFVzZSB0aGUgaG9zdGFwZCdzIElFRUUgODAyLjExIGF1dGhlbnRpY2F0aW9uIChBQ0wpLCBidXQgd2l0aG91dAorIyB0aGUgSUVFRSA4MDIuMTEgTWFuYWdlbWVudCBjYXBhYmlsaXR5IChlLmcuLCBtYWR3aWZpIG9yIEZyZWVCU0QvbmV0ODAyMTEpCitDT05GSUdfRFJJVkVSX1JBRElVU19BQ0w9eQorCisjIElFRUUgODAyLjExbiAoSGlnaCBUaHJvdWdocHV0KSBzdXBwb3J0CitDT05GSUdfSUVFRTgwMjExTj15CisKKyMgUmVtb3ZlIGRlYnVnZ2luZyBjb2RlIHRoYXQgaXMgcHJpbnRpbmcgb3V0IGRlYnVnIG1lc3NhZ2VzIHRvIHN0ZG91dC4KKyMgVGhpcyBjYW4gYmUgdXNlZCB0byByZWR1Y2UgdGhlIHNpemUgb2YgdGhlIGhvc3RhcGQgY29uc2lkZXJhYmx5IGlmIGRlYnVnZ2luZworIyBjb2RlIGlzIG5vdCBuZWVkZWQuCisjQ09ORklHX05PX1NURE9VVF9ERUJVRz15CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaG9zdGFwZC9ob3N0YXBkL2hvc3RhcGQuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ob3N0YXBkL2hvc3RhcGQvaG9zdGFwZC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1MWMwNTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaG9zdGFwZC9ob3N0YXBkL2hvc3RhcGQuc2VydmljZQpAQCAtMCwwICsxLDExIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPUhvc3RhcGQgSUVFRSA4MDIuMTEgQVAsIElFRUUgODAyLjFYL1dQQS9XUEEyL0VBUC9SQURJVVMgQXV0aGVudGljYXRvcgorQWZ0ZXI9bmV0d29yay50YXJnZXQKKworW1NlcnZpY2VdCitUeXBlPWZvcmtpbmcKK1BJREZpbGU9L3J1bi9ob3N0YXBkLnBpZAorRXhlY1N0YXJ0PUBTQklORElSQC9ob3N0YXBkIEBTWVNDT05GRElSQC9ob3N0YXBkLmNvbmYgLVAgL3J1bi9ob3N0YXBkLnBpZCAtQgorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaG9zdGFwZC9ob3N0YXBkL2luaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaG9zdGFwZC9ob3N0YXBkL2luaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGJhNGUwNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ob3N0YXBkL2hvc3RhcGQvaW5pdApAQCAtMCwwICsxLDU4IEBACisjIS9iaW4vc2gKK0RBRU1PTj0vdXNyL3NiaW4vaG9zdGFwZAorTkFNRT1ob3N0YXBkCitERVNDPSJIT1NUQVAgRGFlbW9uIgorQVJHUz0iL2V0Yy9ob3N0YXBkLmNvbmYgLUIiCisKK3Rlc3QgLWYgJERBRU1PTiB8fCBleGl0IDAKKworc2V0IC1lCisKKyMgc291cmNlIGZ1bmN0aW9uIGxpYnJhcnkKKy4gL2V0Yy9pbml0LmQvZnVuY3Rpb25zCisKK2RlbGF5X3N0b3AoKSB7CisJY291bnQ9MAorCXdoaWxlIFsgJGNvdW50IC1sdCA5IF0gOyBkbworCSAgICAgICAgaWYgcGlkb2YgJERBRU1PTiA+L2Rldi9udWxsOyB0aGVuCisJICAgICAgICAgICAgICAgIHNsZWVwIDEKKwkgICAgICAgIGVsc2UKKwkgICAgICAgICAgICAgICAgcmV0dXJuIDAKKwkgICAgICAgIGZpCisJCWNvdW50PWBleHByICRjb3VudCArIDFgCisJZG9uZQorCWVjaG8gIkZhaWxlZCB0byBzdG9wICRERVNDLiIKKwlyZXR1cm4gMQorfQorCitjYXNlICIkMSIgaW4KKyAgICBzdGFydCkKKwllY2hvIC1uICJTdGFydGluZyAkREVTQzogIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC1TIC14ICREQUVNT04gLS0gJEFSR1MKKwllY2hvICIkTkFNRS4iCisJOzsKKyAgICBzdG9wKQorCWVjaG8gLW4gIlN0b3BwaW5nICRERVNDOiAiCisJc3RhcnQtc3RvcC1kYWVtb24gLUsgLS1va25vZG8gLXggJERBRU1PTgorCWVjaG8gIiROQU1FLiIKKwk7OworICAgIHJlc3RhcnQpCisJJDAgc3RvcAorCWRlbGF5X3N0b3AgJiYgJDAgc3RhcnQKKwk7OworICAgIHJlbG9hZCkKKwllY2hvIC1uICJSZWxvYWRpbmcgJERFU0M6ICIKKwlraWxsYWxsIC1IVVAgJChiYXNlbmFtZSAke0RBRU1PTn0pCisJZWNobyAiJE5BTUUuIgorCTs7CisgICAgc3RhdHVzKQorCXN0YXR1cyAkREFFTU9OCisJZXhpdCAkPworCTs7CisgICAgKikKKwllY2hvICJVc2FnZTogJDAge3N0YXJ0fHN0b3B8cmVzdGFydHxyZWxvYWR8c3RhdHVzfSIKKwlleGl0IDEKKwk7OworZXNhYworCitleGl0IDAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ob3N0YXBkL2hvc3RhcGRfMi41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2hvc3RhcGQvaG9zdGFwZF8yLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzM4ZTIwYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ob3N0YXBkL2hvc3RhcGRfMi41LmJiCkBAIC0wLDAgKzEsNDYgQEAKK0hPTUVQQUdFID0gImh0dHA6Ly93MS5maS9ob3N0YXBkLyIKK1NFQ1RJT04gPSAia2VybmVsL3VzZXJsYW5kIgorTElDRU5TRSA9ICJHUEx2MiB8IEJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Qn0vUkVBRE1FO21kNT00ZDUzMTc4ZjQ0ZDRiMzg0MThhNGZhOGRlMzY1ZTExYyIKK0RFUEVORFMgPSAibGlibmwgb3BlbnNzbCIKK1NVTU1BUlkgPSAiVXNlciBzcGFjZSBkYWVtb24gZm9yIGV4dGVuZGVkIElFRUUgODAyLjExIG1hbmFnZW1lbnQiCisKK2luaGVyaXQgdXBkYXRlLXJjLmQgc3lzdGVtZAorSU5JVFNDUklQVF9OQU1FID0gImhvc3RhcGQiCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJob3N0YXBkLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFXyR7UE59ID0gImRpc2FibGUiCisKK1NSQ19VUkkgPSAiIFwKKyAgICBodHRwOi8vdzEuZmkvcmVsZWFzZXMvaG9zdGFwZC0ke1BWfS50YXIuZ3ogXAorICAgIGZpbGU6Ly9kZWZjb25maWcgXAorICAgIGZpbGU6Ly9pbml0IFwKKyAgICBmaWxlOi8vaG9zdGFwZC5zZXJ2aWNlIFwKKyIKKworUyA9ICIke1dPUktESVJ9L2hvc3RhcGQtJHtQVn0iCitCID0gIiR7V09SS0RJUn0vaG9zdGFwZC0ke1BWfS9ob3N0YXBkIgorCitkb19jb25maWd1cmUoKSB7CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZGVmY29uZmlnICR7Qn0vLmNvbmZpZworfQorCitkb19jb21waWxlKCkgeworICAgIGV4cG9ydCBDRkxBR1M9Ii1NTUQgLU8yIC1XYWxsIC1nIC1JJHtTVEFHSU5HX0lOQ0RJUn0vbGlibmwzIgorICAgIG1ha2UKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3NiaW5kaXJ9ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtCfS9ob3N0YXBkLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtCfS9ob3N0YXBkICR7RH0ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7Qn0vaG9zdGFwZF9jbGkgJHtEfSR7c2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDc1NSAke1dPUktESVJ9L2luaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2hvc3RhcGQKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9ob3N0YXBkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCisgICAgc2VkIC1pIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnIC1lICdzLEBTWVNDT05GRElSQCwke3N5c2NvbmZkaXJ9LGcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2hvc3RhcGQuc2VydmljZQorfQorCitDT05GRklMRVNfJHtQTn0gKz0gIiR7c3lzY29uZmRpcn0vaG9zdGFwZC5jb25mIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNjlmOWNlYzNmNzZkNzRmNDAyODY0YTQzZTRmODYyNGYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGUyNzJkOTU0ZGMwZDcwMjZjMjY0Yjc5YjE1Mzg5ZWMyYjJjNTU1YjMyOTcwZGUzOWY1MDZiOWY0NjNlYzc0YSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pcnNzaS9pcnNzaV8wLjguMTYtcmMxLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2lyc3NpL2lyc3NpXzAuOC4xNi1yYzEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTRkODgxZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pcnNzaS9pcnNzaV8wLjguMTYtcmMxLmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAibmN1cnNlcyBJUkMgY2xpZW50IgorREVTQ1JJUFRJT04gPSAiSXJzc2kgaXMgYW4gbmN1cnNlcyBJUkMgY2xpZW50IgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU1ZmRjMTExMzMwNjE2N2Q2ZWEyNTYxNDA0Y2UwMmY4IgorCitERVBFTkRTID0gImdsaWItMi4wIG5jdXJzZXMgb3BlbnNzbCIKKworUkVBTFBWID0gIjAuOC4xNi1yYzEiCitQViA9ICIwLjguMTUrJHtSRUFMUFZ9IgorCitTUkNfVVJJID0gImh0dHA6Ly9pcnNzaS5vcmcvZmlsZXMvaXJzc2ktJHtSRUFMUFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjc2OWZlYzRkZjhlNjMzYzU4M2M0MTFjY2QyY2Q1NjNhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImJiNmMwMTI1ZGIzMGI2OTdmODA4Mzc5NDFjMTczNzJiNzQ4NGM2NGQ1N2E2OTIwYjhiZmE3ZWUzZGVmOTJkZTMiCisKK1MgPSAiJHtXT1JLRElSfS9pcnNzaS0ke1JFQUxQVn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtc3NsIFwKKyAgICAtLXdpdGgtbmN1cnNlcz0ke1NUQUdJTkdfRVhFQ1BSRUZJWERJUn0gXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNS8wMDAxLWFjbG9jYWwtQWRkLXBhcmFtZXRlci10by1kaXNhYmxlLWtleXV0aWxzLWRldGVjdGlvbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjUvMDAwMS1hY2xvY2FsLUFkZC1wYXJhbWV0ZXItdG8tZGlzYWJsZS1rZXl1dGlscy1kZXRlY3Rpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjBjMzEwYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjUvMDAwMS1hY2xvY2FsLUFkZC1wYXJhbWV0ZXItdG8tZGlzYWJsZS1rZXl1dGlscy1kZXRlY3Rpb24ucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorRnJvbSBlY2I2MmYzNDY3ZjQ5M2NjMGQ2NzkzMjNmMDUzNjdlZWJiZjBmYjY3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogVHVlLCAxIE9jdCAyMDEzIDIyOjIyOjU3ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGFjbG9jYWw6IEFkZCBwYXJhbWV0ZXIgdG8gZGlzYWJsZSBrZXl1dGlscyBkZXRlY3Rpb24KKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgYWNsb2NhbC5tNCB8IDQgKysrKworIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2FjbG9jYWwubTQgYi9hY2xvY2FsLm00CitpbmRleCAyMTBjNDczLi44M2IxZjAyIDEwMDY0NAorLS0tIGEvYWNsb2NhbC5tNAorKysrIGIvYWNsb2NhbC5tNAorQEAgLTE2NTAsMTEgKzE2NTAsMTUgQEAgZmkKKyBkbmwKKyBkbmwgSWYgbGlia2V5dXRpbHMgZXhpc3RzIChvbiBMaW51eCkgaW5jbHVkZSBpdCBhbmQgdXNlIGtleXJpbmcgY2NhY2hlCisgQUNfREVGVU4oS1JCNV9BQ19LRVlSSU5HX0NDQUNIRSxbCisrQUNfQVJHX0VOQUJMRShba2V5dXRpbHNdLAorK0FDX0hFTFBfU1RSSU5HKFstLWRpc2FibGUta2V5dXRpbHNdLGRvbid0IGVuYWJsZSB1c2luZyBrZXl1dGlscyBmb3Iga2V5cmluZyBjY2FjaGUgQDw6QGVuYWJsZWRAOj5AKSwgLCBlbmFibGVfa2V5dXRpbHM9eWVzKQorK2lmIHRlc3QgIiRlbmFibGVfa2V5dXRpbHMiID0geWVzOyB0aGVuCisgICBBQ19DSEVDS19IRUFERVJTKFtrZXl1dGlscy5oXSwKKyAgICAgQUNfQ0hFQ0tfTElCKGtleXV0aWxzLCBhZGRfa2V5LCAKKyAgICAgICBbZG5sIFByZS1yZXFzIHdlcmUgZm91bmQKKyAgICAgICAgQUNfREVGSU5FKFVTRV9LRVlSSU5HX0NDQUNIRSwgMSwgW0RlZmluZSBpZiB0aGUga2V5cmluZyBjY2FjaGUgc2hvdWxkIGJlIGVuYWJsZWRdKQorICAgICAgICBMSUJTPSItbGtleXV0aWxzICRMSUJTIgorICAgICAgIF0pKQorK2ZpCisgXSlkbmwKKyBkbmwKKy0tIAorMS44LjMuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1L0ZpeC1JQUtFUkItY29udGV4dC1hbGlhc2luZy1idWdzLUNWRS0yMDE1LTI2OTYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1L0ZpeC1JQUtFUkItY29udGV4dC1hbGlhc2luZy1idWdzLUNWRS0yMDE1LTI2OTYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjc3MWI0MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjUvRml4LUlBS0VSQi1jb250ZXh0LWFsaWFzaW5nLWJ1Z3MtQ1ZFLTIwMTUtMjY5Ni5wYXRjaApAQCAtMCwwICsxLDczOSBAQAorRnJvbSBmNmU1N2M0MDI2ODhmNGJjMzg2ZDFhMzk1MTI2NTdhMzBmMGJhZmQzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTmljb2xhcyBXaWxsaWFtcyA8bmljb0B0d29zaWdtYS5jb20+CitEYXRlOiBNb24sIDE0IFNlcCAyMDE1IDEyOjI4OjM2IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0ggMi80XSBGaXggSUFLRVJCIGNvbnRleHQgYWxpYXNpbmcgYnVncyBbQ1ZFLTIwMTUtMjY5Nl0KKworVGhlIElBS0VSQiBtZWNoYW5pc20gY3VycmVudGx5IHJlcGxhY2VzIGl0cyBjb250ZXh0IGhhbmRsZSB3aXRoIHRoZQora3JiNSBtZWNoYW5pc20gaGFuZGxlIHVwb24gZXN0YWJsaXNobWVudCwgdW5kZXIgdGhlIGFzc3VtcHRpb24gdGhhdAorbW9zdCBHU1MgZnVuY3Rpb25zIGFyZSBvbmx5IGNhbGxlZCBhZnRlciBjb250ZXh0IGVzdGFibGlzaG1lbnQuICBUaGlzCithc3N1bXB0aW9uIGlzIGluY29ycmVjdCwgYW5kIGNhbiBsZWFkIHRvIGFsaWFzaW5nIHZpb2xhdGlvbnMgZm9yIHNvbWUKK3Byb2dyYW1zLiAgTWFpbnRhaW4gdGhlIElBS0VSQiBjb250ZXh0IHN0cnVjdHVyZSBhZnRlciBjb250ZXh0Citlc3RhYmxpc2htZW50IGFuZCBhZGQgbmV3IElBS0VSQiBlbnRyeSBwb2ludHMgdG8gcmVmZXIgdG8gaXQgd2l0aCB0aGF0Cit0eXBlLiAgQWRkIGluaXRpYXRlIGFuZCBlc3RhYmxpc2hlZCBmbGFncyB0byB0aGUgSUFLRVJCIGNvbnRleHQKK3N0cnVjdHVyZSBmb3IgdXNlIGluIGdzc19pbnF1aXJlX2NvbnRleHQoKSBwcmlvciB0byBjb250ZXh0Citlc3RhYmxpc2htZW50LgorCitDVkUtMjAxNS0yNjk2OgorCitJbiBNSVQga3JiNSAxLjkgYW5kIGxhdGVyLCBhcHBsaWNhdGlvbnMgd2hpY2ggY2FsbAorZ3NzX2lucXVpcmVfY29udGV4dCgpIG9uIGEgcGFydGlhbGx5LWVzdGFibGlzaGVkIElBS0VSQiBjb250ZXh0IGNhbgorY2F1c2UgdGhlIEdTUy1BUEkgbGlicmFyeSB0byByZWFkIGZyb20gYSBwb2ludGVyIHVzaW5nIHRoZSB3cm9uZyB0eXBlLAorZ2VuZXJhbGx5IGNhdXNpbmcgYSBwcm9jZXNzIGNyYXNoLiAgSmF2YSBzZXJ2ZXIgYXBwbGljYXRpb25zIHVzaW5nIHRoZQorbmF0aXZlIEpHU1MgcHJvdmlkZXIgYXJlIHZ1bG5lcmFibGUgdG8gdGhpcyBidWcuICBBIGNhcmVmdWxseSBjcmFmdGVkCitJQUtFUkIgcGFja2V0IG1pZ2h0IGFsbG93IHRoZSBnc3NfaW5xdWlyZV9jb250ZXh0KCkgY2FsbCB0byBzdWNjZWVkCit3aXRoIGF0dGFja2VyLWRldGVybWluZWQgcmVzdWx0cywgYnV0IGFwcGxpY2F0aW9ucyBzaG91bGQgbm90IG1ha2UKK2FjY2VzcyBjb250cm9sIGRlY2lzaW9ucyBiYXNlZCBvbiBnc3NfaW5xdWlyZV9jb250ZXh0KCkgcmVzdWx0cyBwcmlvcgordG8gY29udGV4dCBlc3RhYmxpc2htZW50LgorCisgICAgQ1ZTU3YyIFZlY3RvcjogQVY6Ti9BQzpNL0F1Ok4vQzpOL0k6Ti9BOkMvRTpQT0MvUkw6T0YvUkM6QworCitbZ2h1ZHNvbkBtaXQuZWR1OiBzZXZlcmFsIGJ1Z2ZpeGVzLCBzdHlsZSBjaGFuZ2VzLCBhbmQgZWRnZS1jYXNlCitiZWhhdmlvciBjaGFuZ2VzOyBjb21taXQgbWVzc2FnZSBhbmQgQ1ZFIGRlc2NyaXB0aW9uXQorCit0aWNrZXQ6IDgyNDQKK3RhcmdldF92ZXJzaW9uOiAxLjE0Cit0YWdzOiBwdWxsdXAKKworQmFja3BvcnQgdXBzdHJlYW0gY29tbWl0OgoraHR0cHM6Ly9naXRodWIuY29tL2tyYjUva3JiNS9jb21taXQvZTA0ZjAyODM1MTZlODBkMmY5MzM2NmUwZDQ3OWQxM2M5YjVjOGMyYQorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CistLS0KKyBzcmMvbGliL2dzc2FwaS9rcmI1L2dzc2FwaVBfa3JiNS5oIHwgMTE0ICsrKysrKysrKysrKworIHNyYy9saWIvZ3NzYXBpL2tyYjUvZ3NzYXBpX2tyYjUuYyAgfCAxMDUgKysrKysrKysrLS0KKyBzcmMvbGliL2dzc2FwaS9rcmI1L2lha2VyYi5jICAgICAgIHwgMzUxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDUyOSBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9saWIvZ3NzYXBpL2tyYjUvZ3NzYXBpUF9rcmI1LmggYi9zcmMvbGliL2dzc2FwaS9rcmI1L2dzc2FwaVBfa3JiNS5oCitpbmRleCBhMGU4NjI1Li4wNWRjMzIxIDEwMDY0NAorLS0tIGEvc3JjL2xpYi9nc3NhcGkva3JiNS9nc3NhcGlQX2tyYjUuaAorKysrIGIvc3JjL2xpYi9nc3NhcGkva3JiNS9nc3NhcGlQX2tyYjUuaAorQEAgLTYyMCw2ICs2MjAsMjEgQEAgT01fdWludDMyIEtSQjVfQ0FMTENPTlYga3JiNV9nc3NfYWNjZXB0X3NlY19jb250ZXh0X2V4dAorICk7CisgI2VuZGlmIC8qIExFQU5fQ0xJRU5UICovCisgCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYga3JiNV9nc3NfaW5xdWlyZV9zZWNfY29udGV4dF9ieV9vaWQKKysoT01fdWludDMyKiwgICAgICAgLyogbWlub3Jfc3RhdHVzICovCisrIGNvbnN0IGdzc19jdHhfaWRfdCwKKysgLyogY29udGV4dF9oYW5kbGUgKi8KKysgY29uc3QgZ3NzX09JRCwgICAgLyogZGVzaXJlZF9vYmplY3QgKi8KKysgZ3NzX2J1ZmZlcl9zZXRfdCogLyogZGF0YV9zZXQgKi8KKyspOworKworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WIGtyYjVfZ3NzX3NldF9zZWNfY29udGV4dF9vcHRpb24KKysoT01fdWludDMyKiwgICAgICAgLyogbWlub3Jfc3RhdHVzICovCisrIGdzc19jdHhfaWRfdCosICAgIC8qIGNvbnRleHRfaGFuZGxlICovCisrIGNvbnN0IGdzc19PSUQsICAgIC8qIGRlc2lyZWRfb2JqZWN0ICovCisrIGNvbnN0IGdzc19idWZmZXJfdC8qIHZhbHVlICovCisrKTsKKysKKyBPTV91aW50MzIgS1JCNV9DQUxMQ09OViBrcmI1X2dzc19wcm9jZXNzX2NvbnRleHRfdG9rZW4KKyAoT01fdWludDMyKiwgICAgICAgLyogbWlub3Jfc3RhdHVzICovCisgIGdzc19jdHhfaWRfdCwgICAgIC8qIGNvbnRleHRfaGFuZGxlICovCitAQCAtMTMwMSw2ICsxMzE2LDEwNSBAQCBPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorIGtyYjVfZ3NzX2ltcG9ydF9jcmVkKE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLCBnc3NfYnVmZmVyX3QgdG9rZW4sCisgICAgICAgICAgICAgICAgICAgICAgZ3NzX2NyZWRfaWRfdCAqY3JlZF9oYW5kbGUpOworIAorK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc19wcm9jZXNzX2NvbnRleHRfdG9rZW4oT01fdWludDMyICptaW5vcl9zdGF0dXMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3NzX2N0eF9pZF90IGNvbnRleHRfaGFuZGxlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdzc19idWZmZXJfdCB0b2tlbl9idWZmZXIpOworKworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc19jb250ZXh0X3RpbWUoT01fdWludDMyICptaW5vcl9zdGF0dXMsIGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwKKysgICAgICAgICAgICAgICAgICAgICAgICBPTV91aW50MzIgKnRpbWVfcmVjKTsKKysKKytPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorK2lha2VyYl9nc3NfaW5xdWlyZV9jb250ZXh0KE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwgZ3NzX25hbWVfdCAqc3JjX25hbWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3NzX25hbWVfdCAqdGFyZ19uYW1lLCBPTV91aW50MzIgKmxpZmV0aW1lX3JlYywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfT0lEICptZWNoX3R5cGUsIE9NX3VpbnQzMiAqY3R4X2ZsYWdzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqbG9jYWxseV9pbml0aWF0ZWQsIGludCAqb3BlbmVkKTsKKysKKytPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorK2lha2VyYl9nc3NfZ2V0X21pYyhPTV91aW50MzIgKm1pbm9yX3N0YXR1cywgZ3NzX2N0eF9pZF90IGNvbnRleHRfaGFuZGxlLAorKyAgICAgICAgICAgICAgICAgICBnc3NfcW9wX3QgcW9wX3JlcSwgZ3NzX2J1ZmZlcl90IG1lc3NhZ2VfYnVmZmVyLAorKyAgICAgICAgICAgICAgICAgICBnc3NfYnVmZmVyX3QgbWVzc2FnZV90b2tlbik7CisrCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytpYWtlcmJfZ3NzX2dldF9taWNfaW92KE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLCBnc3NfY3R4X2lkX3QgY29udGV4dF9oYW5kbGUsCisrICAgICAgICAgICAgICAgICAgICAgICBnc3NfcW9wX3QgcW9wX3JlcSwgZ3NzX2lvdl9idWZmZXJfZGVzYyAqaW92LAorKyAgICAgICAgICAgICAgICAgICAgICAgaW50IGlvdl9jb3VudCk7CisrCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytpYWtlcmJfZ3NzX2dldF9taWNfaW92X2xlbmd0aChPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfY3R4X2lkX3QgY29udGV4dF9oYW5kbGUsIGdzc19xb3BfdCBxb3BfcmVxLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19pb3ZfYnVmZmVyX2Rlc2MgKmlvdiwgaW50IGlvdl9jb3VudCk7CisrCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytpYWtlcmJfZ3NzX3ZlcmlmeV9taWMoT01fdWludDMyICptaW5vcl9zdGF0dXMsIGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwKKysgICAgICAgICAgICAgICAgICAgICAgZ3NzX2J1ZmZlcl90IG1zZ19idWZmZXIsIGdzc19idWZmZXJfdCB0b2tlbl9idWZmZXIsCisrICAgICAgICAgICAgICAgICAgICAgIGdzc19xb3BfdCAqcW9wX3N0YXRlKTsKKysKKytPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorK2lha2VyYl9nc3NfdmVyaWZ5X21pY19pb3YoT01fdWludDMyICptaW5vcl9zdGF0dXMsIGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19xb3BfdCAqcW9wX3N0YXRlLCBnc3NfaW92X2J1ZmZlcl9kZXNjICppb3YsCisrICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW92X2NvdW50KTsKKysKKytPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorK2lha2VyYl9nc3Nfd3JhcChPTV91aW50MzIgKm1pbm9yX3N0YXR1cywgZ3NzX2N0eF9pZF90IGNvbnRleHRfaGFuZGxlLAorKyAgICAgICAgICAgICAgICBpbnQgY29uZl9yZXFfZmxhZywgZ3NzX3FvcF90IHFvcF9yZXEsCisrICAgICAgICAgICAgICAgIGdzc19idWZmZXJfdCBpbnB1dF9tZXNzYWdlX2J1ZmZlciwgaW50ICpjb25mX3N0YXRlLAorKyAgICAgICAgICAgICAgICBnc3NfYnVmZmVyX3Qgb3V0cHV0X21lc3NhZ2VfYnVmZmVyKTsKKysKKytPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorK2lha2VyYl9nc3Nfd3JhcF9pb3YoT01fdWludDMyICptaW5vcl9zdGF0dXMsIGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwKKysgICAgICAgICAgICAgICAgICAgIGludCBjb25mX3JlcV9mbGFnLCBnc3NfcW9wX3QgcW9wX3JlcSwgaW50ICpjb25mX3N0YXRlLAorKyAgICAgICAgICAgICAgICAgICAgZ3NzX2lvdl9idWZmZXJfZGVzYyAqaW92LCBpbnQgaW92X2NvdW50KTsKKysKKytPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorK2lha2VyYl9nc3Nfd3JhcF9pb3ZfbGVuZ3RoKE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwgaW50IGNvbmZfcmVxX2ZsYWcsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3NzX3FvcF90IHFvcF9yZXEsIGludCAqY29uZl9zdGF0ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfaW92X2J1ZmZlcl9kZXNjICppb3YsIGludCBpb3ZfY291bnQpOworKworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc191bndyYXAoT01fdWludDMyICptaW5vcl9zdGF0dXMsIGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwKKysgICAgICAgICAgICAgICAgICBnc3NfYnVmZmVyX3QgaW5wdXRfbWVzc2FnZV9idWZmZXIsCisrICAgICAgICAgICAgICAgICAgZ3NzX2J1ZmZlcl90IG91dHB1dF9tZXNzYWdlX2J1ZmZlciwgaW50ICpjb25mX3N0YXRlLAorKyAgICAgICAgICAgICAgICAgIGdzc19xb3BfdCAqcW9wX3N0YXRlKTsKKysKKytPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorK2lha2VyYl9nc3NfdW53cmFwX2lvdihPTV91aW50MzIgKm1pbm9yX3N0YXR1cywgZ3NzX2N0eF9pZF90IGNvbnRleHRfaGFuZGxlLAorKyAgICAgICAgICAgICAgICAgICAgICBpbnQgKmNvbmZfc3RhdGUsIGdzc19xb3BfdCAqcW9wX3N0YXRlLAorKyAgICAgICAgICAgICAgICAgICAgICBnc3NfaW92X2J1ZmZlcl9kZXNjICppb3YsIGludCBpb3ZfY291bnQpOworKworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc193cmFwX3NpemVfbGltaXQoT01fdWludDMyICptaW5vcl9zdGF0dXMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3NzX2N0eF9pZF90IGNvbnRleHRfaGFuZGxlLCBpbnQgY29uZl9yZXFfZmxhZywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfcW9wX3QgcW9wX3JlcSwgT01fdWludDMyIHJlcV9vdXRwdXRfc2l6ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBPTV91aW50MzIgKm1heF9pbnB1dF9zaXplKTsKKysKKysjaWZuZGVmIExFQU5fQ0xJRU5UCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytpYWtlcmJfZ3NzX2V4cG9ydF9zZWNfY29udGV4dChPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfY3R4X2lkX3QgKmNvbnRleHRfaGFuZGxlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19idWZmZXJfdCBpbnRlcnByb2Nlc3NfdG9rZW4pOworKyNlbmRpZiAvKiBMRUFOX0NMSUVOVCAqLworKworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc19pbnF1aXJlX3NlY19jb250ZXh0X2J5X29pZChPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdzc19PSUQgZGVzaXJlZF9vYmplY3QsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfYnVmZmVyX3NldF90ICpkYXRhX3NldCk7CisrCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytpYWtlcmJfZ3NzX3NldF9zZWNfY29udGV4dF9vcHRpb24oT01fdWludDMyICptaW5vcl9zdGF0dXMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19jdHhfaWRfdCAqY29udGV4dF9oYW5kbGUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdzc19PSUQgZGVzaXJlZF9vYmplY3QsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdzc19idWZmZXJfdCB2YWx1ZSk7CisrCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytpYWtlcmJfZ3NzX3BzZXVkb19yYW5kb20oT01fdWludDMyICptaW5vcl9zdGF0dXMsIGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHByZl9rZXksIGNvbnN0IGdzc19idWZmZXJfdCBwcmZfaW4sCisrICAgICAgICAgICAgICAgICAgICAgICAgIHNzaXplX3QgZGVzaXJlZF9vdXRwdXRfbGVuLCBnc3NfYnVmZmVyX3QgcHJmX291dCk7CisrCisgLyogTWFnaWMgc3RyaW5nIHRvIGlkZW50aWZ5IGV4cG9ydGVkIGtyYjUgR1NTIGNyZWRlbnRpYWxzLiAgSW5jcmVtZW50IHRoaXMgaWYKKyAgKiB0aGUgZm9ybWF0IGNoYW5nZXMuICovCisgI2RlZmluZSBDUkVEX0VYUE9SVF9NQUdJQyAiSzVDMSIKK2RpZmYgLS1naXQgYS9zcmMvbGliL2dzc2FwaS9rcmI1L2dzc2FwaV9rcmI1LmMgYi9zcmMvbGliL2dzc2FwaS9rcmI1L2dzc2FwaV9rcmI1LmMKK2luZGV4IDc3YjdmZmYuLjlhMjM2NTYgMTAwNjQ0CistLS0gYS9zcmMvbGliL2dzc2FwaS9rcmI1L2dzc2FwaV9rcmI1LmMKKysrKyBiL3NyYy9saWIvZ3NzYXBpL2tyYjUvZ3NzYXBpX2tyYjUuYworQEAgLTM0NSw3ICszNDUsNyBAQCBzdGF0aWMgc3RydWN0IHsKKyAgICAgfQorIH07CisgCistc3RhdGljIE9NX3VpbnQzMiBLUkI1X0NBTExDT05WCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKyBrcmI1X2dzc19pbnF1aXJlX3NlY19jb250ZXh0X2J5X29pZCAoT01fdWludDMyICptaW5vcl9zdGF0dXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3NzX09JRCBkZXNpcmVkX29iamVjdCwKK0BAIC00NTksNyArNDU5LDcgQEAgc3RhdGljIHN0cnVjdCB7CisgfTsKKyAjZW5kaWYKKyAKKy1zdGF0aWMgT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorIGtyYjVfZ3NzX3NldF9zZWNfY29udGV4dF9vcHRpb24gKE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19jdHhfaWRfdCAqY29udGV4dF9oYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3NzX09JRCBkZXNpcmVkX29iamVjdCwKK0BAIC05MDQsMjAgKzkwNCwxMDMgQEAgc3RhdGljIHN0cnVjdCBnc3NfY29uZmlnIGtyYjVfbWVjaGFuaXNtID0geworICAgICBrcmI1X2dzc19nZXRfbWljX2lvdl9sZW5ndGgsCisgfTsKKyAKKysvKiBGdW5jdGlvbnMgd2hpY2ggdXNlIHNlY3VyaXR5IGNvbnRleHRzIG9yIGFjcXVpcmUgY3JlZHMgYXJlIElBS0VSQi1zcGVjaWZpYzsKKysgKiBvdGhlciBmdW5jdGlvbnMgY2FuIGJvcnJvdyBmcm9tIHRoZSBrcmI1IG1lY2guICovCisrc3RhdGljIHN0cnVjdCBnc3NfY29uZmlnIGlha2VyYl9tZWNoYW5pc20gPSB7CisrICAgIHsgR1NTX01FQ0hfS1JCNV9PSURfTEVOR1RILCBHU1NfTUVDSF9LUkI1X09JRCB9LAorKyAgICBOVUxMLAorKyAgICBpYWtlcmJfZ3NzX2FjcXVpcmVfY3JlZCwKKysgICAga3JiNV9nc3NfcmVsZWFzZV9jcmVkLAorKyAgICBpYWtlcmJfZ3NzX2luaXRfc2VjX2NvbnRleHQsCisrI2lmZGVmIExFQU5fQ0xJRU5UCisrICAgIE5VTEwsCisrI2Vsc2UKKysgICAgaWFrZXJiX2dzc19hY2NlcHRfc2VjX2NvbnRleHQsCisrI2VuZGlmCisrICAgIGlha2VyYl9nc3NfcHJvY2Vzc19jb250ZXh0X3Rva2VuLAorKyAgICBpYWtlcmJfZ3NzX2RlbGV0ZV9zZWNfY29udGV4dCwKKysgICAgaWFrZXJiX2dzc19jb250ZXh0X3RpbWUsCisrICAgIGlha2VyYl9nc3NfZ2V0X21pYywKKysgICAgaWFrZXJiX2dzc192ZXJpZnlfbWljLAorKyNpZiBkZWZpbmVkKElPVl9TSElNX0VYRVJDSVNFX1dSQVApIHx8IGRlZmluZWQoSU9WX1NISU1fRVhFUkNJU0UpCisrICAgIE5VTEwsCisrI2Vsc2UKKysgICAgaWFrZXJiX2dzc193cmFwLAorKyNlbmRpZgorKyNpZiBkZWZpbmVkKElPVl9TSElNX0VYRVJDSVNFX1VOV1JBUCkgfHwgZGVmaW5lZChJT1ZfU0hJTV9FWEVSQ0lTRSkKKysgICAgTlVMTCwKKysjZWxzZQorKyAgICBpYWtlcmJfZ3NzX3Vud3JhcCwKKysjZW5kaWYKKysgICAga3JiNV9nc3NfZGlzcGxheV9zdGF0dXMsCisrICAgIGtyYjVfZ3NzX2luZGljYXRlX21lY2hzLAorKyAgICBrcmI1X2dzc19jb21wYXJlX25hbWUsCisrICAgIGtyYjVfZ3NzX2Rpc3BsYXlfbmFtZSwKKysgICAga3JiNV9nc3NfaW1wb3J0X25hbWUsCisrICAgIGtyYjVfZ3NzX3JlbGVhc2VfbmFtZSwKKysgICAga3JiNV9nc3NfaW5xdWlyZV9jcmVkLAorKyAgICBOVUxMLCAgICAgICAgICAgICAgICAvKiBhZGRfY3JlZCAqLworKyNpZmRlZiBMRUFOX0NMSUVOVAorKyAgICBOVUxMLAorKyAgICBOVUxMLAorKyNlbHNlCisrICAgIGlha2VyYl9nc3NfZXhwb3J0X3NlY19jb250ZXh0LAorKyAgICBOVUxMLAorKyNlbmRpZgorKyAgICBrcmI1X2dzc19pbnF1aXJlX2NyZWRfYnlfbWVjaCwKKysgICAga3JiNV9nc3NfaW5xdWlyZV9uYW1lc19mb3JfbWVjaCwKKysgICAgaWFrZXJiX2dzc19pbnF1aXJlX2NvbnRleHQsCisrICAgIGtyYjVfZ3NzX2ludGVybmFsX3JlbGVhc2Vfb2lkLAorKyAgICBpYWtlcmJfZ3NzX3dyYXBfc2l6ZV9saW1pdCwKKysgICAga3JiNV9nc3NfbG9jYWxuYW1lLAorKyAgICBrcmI1X2dzc19hdXRob3JpemVfbG9jYWxuYW1lLAorKyAgICBrcmI1X2dzc19leHBvcnRfbmFtZSwKKysgICAga3JiNV9nc3NfZHVwbGljYXRlX25hbWUsCisrICAgIGtyYjVfZ3NzX3N0b3JlX2NyZWQsCisrICAgIGlha2VyYl9nc3NfaW5xdWlyZV9zZWNfY29udGV4dF9ieV9vaWQsCisrICAgIGtyYjVfZ3NzX2lucXVpcmVfY3JlZF9ieV9vaWQsCisrICAgIGlha2VyYl9nc3Nfc2V0X3NlY19jb250ZXh0X29wdGlvbiwKKysgICAga3JiNV9nc3NzcGlfc2V0X2NyZWRfb3B0aW9uLAorKyAgICBrcmI1X2dzc3NwaV9tZWNoX2ludm9rZSwKKysgICAgTlVMTCwgICAgICAgICAgICAgICAgLyogd3JhcF9hZWFkICovCisrICAgIE5VTEwsICAgICAgICAgICAgICAgIC8qIHVud3JhcF9hZWFkICovCisrICAgIGlha2VyYl9nc3Nfd3JhcF9pb3YsCisrICAgIGlha2VyYl9nc3NfdW53cmFwX2lvdiwKKysgICAgaWFrZXJiX2dzc193cmFwX2lvdl9sZW5ndGgsCisrICAgIE5VTEwsICAgICAgICAgICAgICAgLyogY29tcGxldGVfYXV0aF90b2tlbiAqLworKyAgICBOVUxMLCAgICAgICAgICAgICAgIC8qIGFjcXVpcmVfY3JlZF9pbXBlcnNvbmF0ZV9uYW1lICovCisrICAgIE5VTEwsICAgICAgICAgICAgICAgLyogYWRkX2NyZWRfaW1wZXJzb25hdGVfbmFtZSAqLworKyAgICBOVUxMLCAgICAgICAgICAgICAgIC8qIGRpc3BsYXlfbmFtZV9leHQgKi8KKysgICAga3JiNV9nc3NfaW5xdWlyZV9uYW1lLAorKyAgICBrcmI1X2dzc19nZXRfbmFtZV9hdHRyaWJ1dGUsCisrICAgIGtyYjVfZ3NzX3NldF9uYW1lX2F0dHJpYnV0ZSwKKysgICAga3JiNV9nc3NfZGVsZXRlX25hbWVfYXR0cmlidXRlLAorKyAgICBrcmI1X2dzc19leHBvcnRfbmFtZV9jb21wb3NpdGUsCisrICAgIGtyYjVfZ3NzX21hcF9uYW1lX3RvX2FueSwKKysgICAga3JiNV9nc3NfcmVsZWFzZV9hbnlfbmFtZV9tYXBwaW5nLAorKyAgICBpYWtlcmJfZ3NzX3BzZXVkb19yYW5kb20sCisrICAgIE5VTEwsICAgICAgICAgICAgICAgLyogc2V0X25lZ19tZWNocyAqLworKyAgICBrcmI1X2dzc19pbnF1aXJlX3Nhc2xuYW1lX2Zvcl9tZWNoLAorKyAgICBrcmI1X2dzc19pbnF1aXJlX21lY2hfZm9yX3Nhc2xuYW1lLAorKyAgICBrcmI1X2dzc19pbnF1aXJlX2F0dHJzX2Zvcl9tZWNoLAorKyAgICBrcmI1X2dzc19hY3F1aXJlX2NyZWRfZnJvbSwKKysgICAga3JiNV9nc3Nfc3RvcmVfY3JlZF9pbnRvLAorKyAgICBpYWtlcmJfZ3NzX2FjcXVpcmVfY3JlZF93aXRoX3Bhc3N3b3JkLAorKyAgICBrcmI1X2dzc19leHBvcnRfY3JlZCwKKysgICAga3JiNV9nc3NfaW1wb3J0X2NyZWQsCisrICAgIE5VTEwsICAgICAgICAgICAgICAgLyogaW1wb3J0X3NlY19jb250ZXh0X2J5X21lY2ggKi8KKysgICAgTlVMTCwgICAgICAgICAgICAgICAvKiBpbXBvcnRfbmFtZV9ieV9tZWNoICovCisrICAgIE5VTEwsICAgICAgICAgICAgICAgLyogaW1wb3J0X2NyZWRfYnlfbWVjaCAqLworKyAgICBpYWtlcmJfZ3NzX2dldF9taWNfaW92LAorKyAgICBpYWtlcmJfZ3NzX3ZlcmlmeV9taWNfaW92LAorKyAgICBpYWtlcmJfZ3NzX2dldF9taWNfaW92X2xlbmd0aCwKKyt9OworKworICNpZmRlZiBfR1NTX1NUQVRJQ19MSU5LCisgI2luY2x1ZGUgIm1nbHVlUC5oIgorIHN0YXRpYyBpbnQgZ3NzX2lha2VyYm1lY2hnbHVlX2luaXQodm9pZCkKKyB7CisgICAgIHN0cnVjdCBnc3NfbWVjaF9jb25maWcgbWVjaF9pYWtlcmI7CistICAgIHN0cnVjdCBnc3NfY29uZmlnIGlha2VyYl9tZWNoYW5pc20gPSBrcmI1X21lY2hhbmlzbTsKKy0KKy0gICAgLyogSUFLRVJCIG1lY2hhbmlzbSBtaXJyb3JzIGtyYjUsIGJ1dCB3aXRoIGRpZmZlcmVudCBjb250ZXh0IFNQSXMgKi8KKy0gICAgaWFrZXJiX21lY2hhbmlzbS5nc3NfYWNjZXB0X3NlY19jb250ZXh0ID0gaWFrZXJiX2dzc19hY2NlcHRfc2VjX2NvbnRleHQ7CistICAgIGlha2VyYl9tZWNoYW5pc20uZ3NzX2luaXRfc2VjX2NvbnRleHQgICA9IGlha2VyYl9nc3NfaW5pdF9zZWNfY29udGV4dDsKKy0gICAgaWFrZXJiX21lY2hhbmlzbS5nc3NfZGVsZXRlX3NlY19jb250ZXh0ID0gaWFrZXJiX2dzc19kZWxldGVfc2VjX2NvbnRleHQ7CistICAgIGlha2VyYl9tZWNoYW5pc20uZ3NzX2FjcXVpcmVfY3JlZCAgICAgICA9IGlha2VyYl9nc3NfYWNxdWlyZV9jcmVkOworLSAgICBpYWtlcmJfbWVjaGFuaXNtLmdzc3NwaV9hY3F1aXJlX2NyZWRfd2l0aF9wYXNzd29yZAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gaWFrZXJiX2dzc19hY3F1aXJlX2NyZWRfd2l0aF9wYXNzd29yZDsKKyAKKyAgICAgbWVtc2V0KCZtZWNoX2lha2VyYiwgMCwgc2l6ZW9mKG1lY2hfaWFrZXJiKSk7CisgICAgIG1lY2hfaWFrZXJiLm1lY2ggPSAmaWFrZXJiX21lY2hhbmlzbTsKK2RpZmYgLS1naXQgYS9zcmMvbGliL2dzc2FwaS9rcmI1L2lha2VyYi5jIGIvc3JjL2xpYi9nc3NhcGkva3JiNS9pYWtlcmIuYworaW5kZXggZjMwZGUzMi4uNDY2MmJkOSAxMDA2NDQKKy0tLSBhL3NyYy9saWIvZ3NzYXBpL2tyYjUvaWFrZXJiLmMKKysrKyBiL3NyYy9saWIvZ3NzYXBpL2tyYjUvaWFrZXJiLmMKK0BAIC00Nyw2ICs0Nyw4IEBAIHN0cnVjdCBfaWFrZXJiX2N0eF9pZF9yZWMgeworICAgICBnc3NfY3R4X2lkX3QgZ3NzYzsKKyAgICAga3JiNV9kYXRhIGNvbnY7ICAgICAgICAgICAgICAgICAgICAgLyogY29udmVyc2F0aW9uIGZvciBjaGVja3N1bW1pbmcgKi8KKyAgICAgdW5zaWduZWQgaW50IGNvdW50OyAgICAgICAgICAgICAgICAgLyogbnVtYmVyIG9mIHJvdW5kIHRyaXBzICovCisrICAgIGludCBpbml0aWF0ZTsKKysgICAgaW50IGVzdGFibGlzaGVkOworICAgICBrcmI1X2dldF9pbml0X2NyZWRzX29wdCAqZ2ljX29wdHM7CisgfTsKKyAKK0BAIC02OTUsNyArNjk3LDcgQEAgY2xlYW51cDoKKyAgKiBBbGxvY2F0ZSBhbmQgaW5pdGlhbGlzZSBhbiBJQUtFUkIgY29udGV4dAorICAqLworIHN0YXRpYyBrcmI1X2Vycm9yX2NvZGUKKy1pYWtlcmJfYWxsb2NfY29udGV4dChpYWtlcmJfY3R4X2lkX3QgKnBjdHgpCisraWFrZXJiX2FsbG9jX2NvbnRleHQoaWFrZXJiX2N0eF9pZF90ICpwY3R4LCBpbnQgaW5pdGlhdGUpCisgeworICAgICBpYWtlcmJfY3R4X2lkX3QgY3R4OworICAgICBrcmI1X2Vycm9yX2NvZGUgY29kZTsKK0BAIC03MDksNiArNzExLDggQEAgaWFrZXJiX2FsbG9jX2NvbnRleHQoaWFrZXJiX2N0eF9pZF90ICpwY3R4KQorICAgICBjdHgtPm1hZ2ljID0gS0dfSUFLRVJCX0NPTlRFWFQ7CisgICAgIGN0eC0+c3RhdGUgPSBJQUtFUkJfQVNfUkVROworICAgICBjdHgtPmNvdW50ID0gMDsKKysgICAgY3R4LT5pbml0aWF0ZSA9IGluaXRpYXRlOworKyAgICBjdHgtPmVzdGFibGlzaGVkID0gMDsKKyAKKyAgICAgY29kZSA9IGtyYjVfZ3NzX2luaXRfY29udGV4dCgmY3R4LT5rNWMpOworICAgICBpZiAoY29kZSAhPSAwKQorQEAgLTczMiw3ICs3MzYsNyBAQCBpYWtlcmJfZ3NzX2RlbGV0ZV9zZWNfY29udGV4dChPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfY3R4X2lkX3QgKmNvbnRleHRfaGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19idWZmZXJfdCBvdXRwdXRfdG9rZW4pCisgeworLSAgICBPTV91aW50MzIgbWFqb3Jfc3RhdHVzID0gR1NTX1NfQ09NUExFVEU7CisrICAgIGlha2VyYl9jdHhfaWRfdCBpYWtlcmJfY3R4ID0gKGlha2VyYl9jdHhfaWRfdCkqY29udGV4dF9oYW5kbGU7CisgCisgICAgIGlmIChvdXRwdXRfdG9rZW4gIT0gR1NTX0NfTk9fQlVGRkVSKSB7CisgICAgICAgICBvdXRwdXRfdG9rZW4tPmxlbmd0aCA9IDA7CitAQCAtNzQwLDIzICs3NDQsMTAgQEAgaWFrZXJiX2dzc19kZWxldGVfc2VjX2NvbnRleHQoT01fdWludDMyICptaW5vcl9zdGF0dXMsCisgICAgIH0KKyAKKyAgICAgKm1pbm9yX3N0YXR1cyA9IDA7CisrICAgICpjb250ZXh0X2hhbmRsZSA9IEdTU19DX05PX0NPTlRFWFQ7CisrICAgIGlha2VyYl9yZWxlYXNlX2NvbnRleHQoaWFrZXJiX2N0eCk7CisgCistICAgIGlmICgqY29udGV4dF9oYW5kbGUgIT0gR1NTX0NfTk9fQ09OVEVYVCkgeworLSAgICAgICAgaWFrZXJiX2N0eF9pZF90IGlha2VyYl9jdHggPSAoaWFrZXJiX2N0eF9pZF90KSpjb250ZXh0X2hhbmRsZTsKKy0KKy0gICAgICAgIGlmIChpYWtlcmJfY3R4LT5tYWdpYyA9PSBLR19JQUtFUkJfQ09OVEVYVCkgeworLSAgICAgICAgICAgIGlha2VyYl9yZWxlYXNlX2NvbnRleHQoaWFrZXJiX2N0eCk7CistICAgICAgICAgICAgKmNvbnRleHRfaGFuZGxlID0gR1NTX0NfTk9fQ09OVEVYVDsKKy0gICAgICAgIH0gZWxzZSB7CistICAgICAgICAgICAgYXNzZXJ0KGlha2VyYl9jdHgtPm1hZ2ljID09IEtHX0NPTlRFWFQpOworLQorLSAgICAgICAgICAgIG1ham9yX3N0YXR1cyA9IGtyYjVfZ3NzX2RlbGV0ZV9zZWNfY29udGV4dChtaW5vcl9zdGF0dXMsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRfaGFuZGxlLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRfdG9rZW4pOworLSAgICAgICAgfQorLSAgICB9CistCistICAgIHJldHVybiBtYWpvcl9zdGF0dXM7CisrICAgIHJldHVybiBHU1NfU19DT01QTEVURTsKKyB9CisgCisgc3RhdGljIGtyYjVfYm9vbGVhbgorQEAgLTgwMiw3ICs3OTMsNyBAQCBpYWtlcmJfZ3NzX2FjY2VwdF9zZWNfY29udGV4dChPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKyAgICAgaW50IGluaXRpYWxDb250ZXh0VG9rZW4gPSAoKmNvbnRleHRfaGFuZGxlID09IEdTU19DX05PX0NPTlRFWFQpOworIAorICAgICBpZiAoaW5pdGlhbENvbnRleHRUb2tlbikgeworLSAgICAgICAgY29kZSA9IGlha2VyYl9hbGxvY19jb250ZXh0KCZjdHgpOworKyAgICAgICAgY29kZSA9IGlha2VyYl9hbGxvY19jb250ZXh0KCZjdHgsIDApOworICAgICAgICAgaWYgKGNvZGUgIT0gMCkKKyAgICAgICAgICAgICBnb3RvIGNsZWFudXA7CisgCitAQCAtODU0LDExICs4NDUsOCBAQCBpYWtlcmJfZ3NzX2FjY2VwdF9zZWNfY29udGV4dChPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZV9yZWMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGVnYXRlZF9jcmVkX2hhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmV4dHMpOworLSAgICAgICAgaWYgKG1ham9yX3N0YXR1cyA9PSBHU1NfU19DT01QTEVURSkgeworLSAgICAgICAgICAgICpjb250ZXh0X2hhbmRsZSA9IGN0eC0+Z3NzYzsKKy0gICAgICAgICAgICBjdHgtPmdzc2MgPSBOVUxMOworLSAgICAgICAgICAgIGlha2VyYl9yZWxlYXNlX2NvbnRleHQoY3R4KTsKKy0gICAgICAgIH0KKysgICAgICAgIGlmIChtYWpvcl9zdGF0dXMgPT0gR1NTX1NfQ09NUExFVEUpCisrICAgICAgICAgICAgY3R4LT5lc3RhYmxpc2hlZCA9IDE7CisgICAgICAgICBpZiAobWVjaF90eXBlICE9IE5VTEwpCisgICAgICAgICAgICAgKm1lY2hfdHlwZSA9IChnc3NfT0lEKWdzc19tZWNoX2tyYjU7CisgICAgIH0KK0BAIC04OTcsNyArODg1LDcgQEAgaWFrZXJiX2dzc19pbml0X3NlY19jb250ZXh0KE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLAorICAgICBpbnQgaW5pdGlhbENvbnRleHRUb2tlbiA9ICgqY29udGV4dF9oYW5kbGUgPT0gR1NTX0NfTk9fQ09OVEVYVCk7CisgCisgICAgIGlmIChpbml0aWFsQ29udGV4dFRva2VuKSB7CistICAgICAgICBjb2RlID0gaWFrZXJiX2FsbG9jX2NvbnRleHQoJmN0eCk7CisrICAgICAgICBjb2RlID0gaWFrZXJiX2FsbG9jX2NvbnRleHQoJmN0eCwgMSk7CisgICAgICAgICBpZiAoY29kZSAhPSAwKSB7CisgICAgICAgICAgICAgKm1pbm9yX3N0YXR1cyA9IGNvZGU7CisgICAgICAgICAgICAgZ290byBjbGVhbnVwOworQEAgLTk4MywxMSArOTcxLDggQEAgaWFrZXJiX2dzc19pbml0X3NlY19jb250ZXh0KE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0X2ZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZV9yZWMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZXh0cyk7CistICAgICAgICBpZiAobWFqb3Jfc3RhdHVzID09IEdTU19TX0NPTVBMRVRFKSB7CistICAgICAgICAgICAgKmNvbnRleHRfaGFuZGxlID0gY3R4LT5nc3NjOworLSAgICAgICAgICAgIGN0eC0+Z3NzYyA9IEdTU19DX05PX0NPTlRFWFQ7CistICAgICAgICAgICAgaWFrZXJiX3JlbGVhc2VfY29udGV4dChjdHgpOworLSAgICAgICAgfQorKyAgICAgICAgaWYgKG1ham9yX3N0YXR1cyA9PSBHU1NfU19DT01QTEVURSkKKysgICAgICAgICAgICBjdHgtPmVzdGFibGlzaGVkID0gMTsKKyAgICAgICAgIGlmIChhY3R1YWxfbWVjaF90eXBlICE9IE5VTEwpCisgICAgICAgICAgICAgKmFjdHVhbF9tZWNoX3R5cGUgPSAoZ3NzX09JRClnc3NfbWVjaF9rcmI1OworICAgICB9IGVsc2UgeworQEAgLTEwMTAsMyArOTk1LDMwOSBAQCBjbGVhbnVwOgorIAorICAgICByZXR1cm4gbWFqb3Jfc3RhdHVzOworIH0KKysKKytPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorK2lha2VyYl9nc3NfdW53cmFwKE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLCBnc3NfY3R4X2lkX3QgY29udGV4dF9oYW5kbGUsCisrICAgICAgICAgICAgICAgICAgZ3NzX2J1ZmZlcl90IGlucHV0X21lc3NhZ2VfYnVmZmVyLAorKyAgICAgICAgICAgICAgICAgIGdzc19idWZmZXJfdCBvdXRwdXRfbWVzc2FnZV9idWZmZXIsIGludCAqY29uZl9zdGF0ZSwKKysgICAgICAgICAgICAgICAgICBnc3NfcW9wX3QgKnFvcF9zdGF0ZSkKKyt7CisrICAgIGlha2VyYl9jdHhfaWRfdCBjdHggPSAoaWFrZXJiX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKyAgICBpZiAoY3R4LT5nc3NjID09IEdTU19DX05PX0NPTlRFWFQpCisrICAgICAgICByZXR1cm4gR1NTX1NfTk9fQ09OVEVYVDsKKysKKysgICAgcmV0dXJuIGtyYjVfZ3NzX3Vud3JhcChtaW5vcl9zdGF0dXMsIGN0eC0+Z3NzYywgaW5wdXRfbWVzc2FnZV9idWZmZXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0X21lc3NhZ2VfYnVmZmVyLCBjb25mX3N0YXRlLCBxb3Bfc3RhdGUpOworK30KKysKKytPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorK2lha2VyYl9nc3Nfd3JhcChPTV91aW50MzIgKm1pbm9yX3N0YXR1cywgZ3NzX2N0eF9pZF90IGNvbnRleHRfaGFuZGxlLAorKyAgICAgICAgICAgICAgICBpbnQgY29uZl9yZXFfZmxhZywgZ3NzX3FvcF90IHFvcF9yZXEsCisrICAgICAgICAgICAgICAgIGdzc19idWZmZXJfdCBpbnB1dF9tZXNzYWdlX2J1ZmZlciwgaW50ICpjb25mX3N0YXRlLAorKyAgICAgICAgICAgICAgICBnc3NfYnVmZmVyX3Qgb3V0cHV0X21lc3NhZ2VfYnVmZmVyKQorK3sKKysgICAgaWFrZXJiX2N0eF9pZF90IGN0eCA9IChpYWtlcmJfY3R4X2lkX3QpY29udGV4dF9oYW5kbGU7CisrCisrICAgIGlmIChjdHgtPmdzc2MgPT0gR1NTX0NfTk9fQ09OVEVYVCkKKysgICAgICAgIHJldHVybiBHU1NfU19OT19DT05URVhUOworKworKyAgICByZXR1cm4ga3JiNV9nc3Nfd3JhcChtaW5vcl9zdGF0dXMsIGN0eC0+Z3NzYywgY29uZl9yZXFfZmxhZywgcW9wX3JlcSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRfbWVzc2FnZV9idWZmZXIsIGNvbmZfc3RhdGUsCisrICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dF9tZXNzYWdlX2J1ZmZlcik7CisrfQorKworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc19wcm9jZXNzX2NvbnRleHRfdG9rZW4oT01fdWludDMyICptaW5vcl9zdGF0dXMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3NzX2N0eF9pZF90IGNvbnRleHRfaGFuZGxlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdzc19idWZmZXJfdCB0b2tlbl9idWZmZXIpCisreworKyAgICBpYWtlcmJfY3R4X2lkX3QgY3R4ID0gKGlha2VyYl9jdHhfaWRfdCljb250ZXh0X2hhbmRsZTsKKysKKysgICAgaWYgKGN0eC0+Z3NzYyA9PSBHU1NfQ19OT19DT05URVhUKQorKyAgICAgICAgcmV0dXJuIEdTU19TX0RFRkVDVElWRV9UT0tFTjsKKysKKysgICAgcmV0dXJuIGtyYjVfZ3NzX3Byb2Nlc3NfY29udGV4dF90b2tlbihtaW5vcl9zdGF0dXMsIGN0eC0+Z3NzYywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2tlbl9idWZmZXIpOworK30KKysKKytPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorK2lha2VyYl9nc3NfY29udGV4dF90aW1lKE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLCBnc3NfY3R4X2lkX3QgY29udGV4dF9oYW5kbGUsCisrICAgICAgICAgICAgICAgICAgICAgICAgT01fdWludDMyICp0aW1lX3JlYykKKyt7CisrICAgIGlha2VyYl9jdHhfaWRfdCBjdHggPSAoaWFrZXJiX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKyAgICBpZiAoY3R4LT5nc3NjID09IEdTU19DX05PX0NPTlRFWFQpCisrICAgICAgICByZXR1cm4gR1NTX1NfTk9fQ09OVEVYVDsKKysKKysgICAgcmV0dXJuIGtyYjVfZ3NzX2NvbnRleHRfdGltZShtaW5vcl9zdGF0dXMsIGN0eC0+Z3NzYywgdGltZV9yZWMpOworK30KKysKKysjaWZuZGVmIExFQU5fQ0xJRU5UCisrCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytpYWtlcmJfZ3NzX2V4cG9ydF9zZWNfY29udGV4dChPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfY3R4X2lkX3QgKmNvbnRleHRfaGFuZGxlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19idWZmZXJfdCBpbnRlcnByb2Nlc3NfdG9rZW4pCisreworKyAgICBPTV91aW50MzIgbWFqOworKyAgICBpYWtlcmJfY3R4X2lkX3QgY3R4ID0gKGlha2VyYl9jdHhfaWRfdCljb250ZXh0X2hhbmRsZTsKKysKKysgICAgLyogV2UgZG9uJ3QgY3VycmVudGx5IHN1cHBvcnQgZXhwb3J0aW5nIHBhcnRpYWxseSBlc3RhYmxpc2hlZCBjb250ZXh0cy4gKi8KKysgICAgaWYgKCFjdHgtPmVzdGFibGlzaGVkKQorKyAgICAgICAgcmV0dXJuIEdTU19TX1VOQVZBSUxBQkxFOworKworKyAgICBtYWogPSBrcmI1X2dzc19leHBvcnRfc2VjX2NvbnRleHQobWlub3Jfc3RhdHVzLCAmY3R4LT5nc3NjLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJwcm9jZXNzX3Rva2VuKTsKKysgICAgaWYgKGN0eC0+Z3NzYyA9PSBHU1NfQ19OT19DT05URVhUKSB7CisrICAgICAgICBpYWtlcmJfcmVsZWFzZV9jb250ZXh0KGN0eCk7CisrICAgICAgICAqY29udGV4dF9oYW5kbGUgPSBHU1NfQ19OT19DT05URVhUOworKyAgICB9CisrICAgIHJldHVybiBtYWo7CisrfQorKworKy8qCisrICogVW50aWwgd2UgaW1wbGVtZW50IHBhcnRpYWwgY29udGV4dCBleHBvcnRzLCB0aGVyZSBhcmUgbm8gU1BORUdPIGV4cG9ydGVkCisrICogY29udGV4dCB0b2tlbnMsIG9ubHkgdG9rZW5zIGZvciB0aGUgdW5kZXJseWluZyBrcmI1IGNvbnRleHQuICBTbyB3ZSBkbyBub3QKKysgKiBuZWVkIHRvIGltcGxlbWVudCBhbiBpYWtlcmJfZ3NzX2ltcG9ydF9zZWNfY29udGV4dCgpIHlldDsgaXQgd291bGQgYmUKKysgKiB1bnJlYWNoYWJsZSBleGNlcHQgdmlhIGEgbWFudWFsbHkgY29uc3RydWN0ZWQgdG9rZW4uCisrICovCisrCisrI2VuZGlmIC8qIExFQU5fQ0xJRU5UICovCisrCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytpYWtlcmJfZ3NzX2lucXVpcmVfY29udGV4dChPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfY3R4X2lkX3QgY29udGV4dF9oYW5kbGUsIGdzc19uYW1lX3QgKnNyY19uYW1lLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19uYW1lX3QgKnRhcmdfbmFtZSwgT01fdWludDMyICpsaWZldGltZV9yZWMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3NzX09JRCAqbWVjaF90eXBlLCBPTV91aW50MzIgKmN0eF9mbGFncywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKmluaXRpYXRlLCBpbnQgKm9wZW5lZCkKKyt7CisrICAgIE9NX3VpbnQzMiByZXQ7CisrICAgIGlha2VyYl9jdHhfaWRfdCBjdHggPSAoaWFrZXJiX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKyAgICBpZiAoc3JjX25hbWUgIT0gTlVMTCkKKysgICAgICAgICpzcmNfbmFtZSA9IEdTU19DX05PX05BTUU7CisrICAgIGlmICh0YXJnX25hbWUgIT0gTlVMTCkKKysgICAgICAgICp0YXJnX25hbWUgPSBHU1NfQ19OT19OQU1FOworKyAgICBpZiAobGlmZXRpbWVfcmVjICE9IE5VTEwpCisrICAgICAgICAqbGlmZXRpbWVfcmVjID0gMDsKKysgICAgaWYgKG1lY2hfdHlwZSAhPSBOVUxMKQorKyAgICAgICAgKm1lY2hfdHlwZSA9IChnc3NfT0lEKWdzc19tZWNoX2lha2VyYjsKKysgICAgaWYgKGN0eF9mbGFncyAhPSBOVUxMKQorKyAgICAgICAgKmN0eF9mbGFncyA9IDA7CisrICAgIGlmIChpbml0aWF0ZSAhPSBOVUxMKQorKyAgICAgICAgKmluaXRpYXRlID0gY3R4LT5pbml0aWF0ZTsKKysgICAgaWYgKG9wZW5lZCAhPSBOVUxMKQorKyAgICAgICAgKm9wZW5lZCA9IGN0eC0+ZXN0YWJsaXNoZWQ7CisrCisrICAgIGlmIChjdHgtPmdzc2MgPT0gR1NTX0NfTk9fQ09OVEVYVCkKKysgICAgICAgIHJldHVybiBHU1NfU19DT01QTEVURTsKKysKKysgICAgcmV0ID0ga3JiNV9nc3NfaW5xdWlyZV9jb250ZXh0KG1pbm9yX3N0YXR1cywgY3R4LT5nc3NjLCBzcmNfbmFtZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdfbmFtZSwgbGlmZXRpbWVfcmVjLCBtZWNoX3R5cGUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHhfZmxhZ3MsIGluaXRpYXRlLCBvcGVuZWQpOworKworKyAgICBpZiAoIWN0eC0+ZXN0YWJsaXNoZWQpIHsKKysgICAgICAgIC8qIFJlcG9ydCBJQUtFUkIgYXMgdGhlIG1lY2ggT0lEIHVudGlsIHRoZSBjb250ZXh0IGlzIGVzdGFibGlzaGVkLiAqLworKyAgICAgICAgaWYgKG1lY2hfdHlwZSAhPSBOVUxMKQorKyAgICAgICAgICAgICptZWNoX3R5cGUgPSAoZ3NzX09JRClnc3NfbWVjaF9pYWtlcmI7CisrCisrICAgICAgICAvKiBXZSBkb24ndCBzdXBwb3J0IGV4cG9ydGluZyBwYXJ0aWFsbHktZXN0YWJsaXNoZWQgY29udGV4dHMuICovCisrICAgICAgICBpZiAoY3R4X2ZsYWdzICE9IE5VTEwpCisrICAgICAgICAgICAgKmN0eF9mbGFncyAmPSB+R1NTX0NfVFJBTlNfRkxBRzsKKysgICAgfQorKworKyAgICByZXR1cm4gcmV0OworK30KKysKKytPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorK2lha2VyYl9nc3Nfd3JhcF9zaXplX2xpbWl0KE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwgaW50IGNvbmZfcmVxX2ZsYWcsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3NzX3FvcF90IHFvcF9yZXEsIE9NX3VpbnQzMiByZXFfb3V0cHV0X3NpemUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgT01fdWludDMyICptYXhfaW5wdXRfc2l6ZSkKKyt7CisrICAgIGlha2VyYl9jdHhfaWRfdCBjdHggPSAoaWFrZXJiX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKyAgICBpZiAoY3R4LT5nc3NjID09IEdTU19DX05PX0NPTlRFWFQpCisrICAgICAgICByZXR1cm4gR1NTX1NfTk9fQ09OVEVYVDsKKysKKysgICAgcmV0dXJuIGtyYjVfZ3NzX3dyYXBfc2l6ZV9saW1pdChtaW5vcl9zdGF0dXMsIGN0eC0+Z3NzYywgY29uZl9yZXFfZmxhZywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxb3BfcmVxLCByZXFfb3V0cHV0X3NpemUsIG1heF9pbnB1dF9zaXplKTsKKyt9CisrCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytpYWtlcmJfZ3NzX2dldF9taWMoT01fdWludDMyICptaW5vcl9zdGF0dXMsIGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwKKysgICAgICAgICAgICAgICAgICAgZ3NzX3FvcF90IHFvcF9yZXEsIGdzc19idWZmZXJfdCBtZXNzYWdlX2J1ZmZlciwKKysgICAgICAgICAgICAgICAgICAgZ3NzX2J1ZmZlcl90IG1lc3NhZ2VfdG9rZW4pCisreworKyAgICBpYWtlcmJfY3R4X2lkX3QgY3R4ID0gKGlha2VyYl9jdHhfaWRfdCljb250ZXh0X2hhbmRsZTsKKysKKysgICAgaWYgKGN0eC0+Z3NzYyA9PSBHU1NfQ19OT19DT05URVhUKQorKyAgICAgICAgcmV0dXJuIEdTU19TX05PX0NPTlRFWFQ7CisrCisrICAgIHJldHVybiBrcmI1X2dzc19nZXRfbWljKG1pbm9yX3N0YXR1cywgY3R4LT5nc3NjLCBxb3BfcmVxLCBtZXNzYWdlX2J1ZmZlciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZV90b2tlbik7CisrfQorKworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc192ZXJpZnlfbWljKE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLCBnc3NfY3R4X2lkX3QgY29udGV4dF9oYW5kbGUsCisrICAgICAgICAgICAgICAgICAgICAgIGdzc19idWZmZXJfdCBtc2dfYnVmZmVyLCBnc3NfYnVmZmVyX3QgdG9rZW5fYnVmZmVyLAorKyAgICAgICAgICAgICAgICAgICAgICBnc3NfcW9wX3QgKnFvcF9zdGF0ZSkKKyt7CisrICAgIGlha2VyYl9jdHhfaWRfdCBjdHggPSAoaWFrZXJiX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKyAgICBpZiAoY3R4LT5nc3NjID09IEdTU19DX05PX0NPTlRFWFQpCisrICAgICAgICByZXR1cm4gR1NTX1NfTk9fQ09OVEVYVDsKKysKKysgICAgcmV0dXJuIGtyYjVfZ3NzX3ZlcmlmeV9taWMobWlub3Jfc3RhdHVzLCBjdHgtPmdzc2MsIG1zZ19idWZmZXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuX2J1ZmZlciwgcW9wX3N0YXRlKTsKKyt9CisrCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytpYWtlcmJfZ3NzX2lucXVpcmVfc2VjX2NvbnRleHRfYnlfb2lkKE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3NzX2N0eF9pZF90IGNvbnRleHRfaGFuZGxlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3NzX09JRCBkZXNpcmVkX29iamVjdCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19idWZmZXJfc2V0X3QgKmRhdGFfc2V0KQorK3sKKysgICAgaWFrZXJiX2N0eF9pZF90IGN0eCA9IChpYWtlcmJfY3R4X2lkX3QpY29udGV4dF9oYW5kbGU7CisrCisrICAgIGlmIChjdHgtPmdzc2MgPT0gR1NTX0NfTk9fQ09OVEVYVCkKKysgICAgICAgIHJldHVybiBHU1NfU19VTkFWQUlMQUJMRTsKKysKKysgICAgcmV0dXJuIGtyYjVfZ3NzX2lucXVpcmVfc2VjX2NvbnRleHRfYnlfb2lkKG1pbm9yX3N0YXR1cywgY3R4LT5nc3NjLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzaXJlZF9vYmplY3QsIGRhdGFfc2V0KTsKKyt9CisrCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytpYWtlcmJfZ3NzX3NldF9zZWNfY29udGV4dF9vcHRpb24oT01fdWludDMyICptaW5vcl9zdGF0dXMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19jdHhfaWRfdCAqY29udGV4dF9oYW5kbGUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdzc19PSUQgZGVzaXJlZF9vYmplY3QsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdzc19idWZmZXJfdCB2YWx1ZSkKKyt7CisrICAgIGlha2VyYl9jdHhfaWRfdCBjdHggPSAoaWFrZXJiX2N0eF9pZF90KSpjb250ZXh0X2hhbmRsZTsKKysKKysgICAgaWYgKGN0eCA9PSBOVUxMIHx8IGN0eC0+Z3NzYyA9PSBHU1NfQ19OT19DT05URVhUKQorKyAgICAgICAgcmV0dXJuIEdTU19TX1VOQVZBSUxBQkxFOworKworKyAgICByZXR1cm4ga3JiNV9nc3Nfc2V0X3NlY19jb250ZXh0X29wdGlvbihtaW5vcl9zdGF0dXMsICZjdHgtPmdzc2MsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2lyZWRfb2JqZWN0LCB2YWx1ZSk7CisrfQorKworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc193cmFwX2lvdihPTV91aW50MzIgKm1pbm9yX3N0YXR1cywgZ3NzX2N0eF9pZF90IGNvbnRleHRfaGFuZGxlLAorKyAgICAgICAgICAgICAgICAgICAgaW50IGNvbmZfcmVxX2ZsYWcsIGdzc19xb3BfdCBxb3BfcmVxLCBpbnQgKmNvbmZfc3RhdGUsCisrICAgICAgICAgICAgICAgICAgICBnc3NfaW92X2J1ZmZlcl9kZXNjICppb3YsIGludCBpb3ZfY291bnQpCisreworKyAgICBpYWtlcmJfY3R4X2lkX3QgY3R4ID0gKGlha2VyYl9jdHhfaWRfdCljb250ZXh0X2hhbmRsZTsKKysKKysgICAgaWYgKGN0eC0+Z3NzYyA9PSBHU1NfQ19OT19DT05URVhUKQorKyAgICAgICAgcmV0dXJuIEdTU19TX05PX0NPTlRFWFQ7CisrCisrICAgIHJldHVybiBrcmI1X2dzc193cmFwX2lvdihtaW5vcl9zdGF0dXMsIGN0eC0+Z3NzYywgY29uZl9yZXFfZmxhZywgcW9wX3JlcSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZfc3RhdGUsIGlvdiwgaW92X2NvdW50KTsKKyt9CisrCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytpYWtlcmJfZ3NzX3Vud3JhcF9pb3YoT01fdWludDMyICptaW5vcl9zdGF0dXMsIGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwKKysgICAgICAgICAgICAgICAgICAgICAgaW50ICpjb25mX3N0YXRlLCBnc3NfcW9wX3QgKnFvcF9zdGF0ZSwKKysgICAgICAgICAgICAgICAgICAgICAgZ3NzX2lvdl9idWZmZXJfZGVzYyAqaW92LCBpbnQgaW92X2NvdW50KQorK3sKKysgICAgaWFrZXJiX2N0eF9pZF90IGN0eCA9IChpYWtlcmJfY3R4X2lkX3QpY29udGV4dF9oYW5kbGU7CisrCisrICAgIGlmIChjdHgtPmdzc2MgPT0gR1NTX0NfTk9fQ09OVEVYVCkKKysgICAgICAgIHJldHVybiBHU1NfU19OT19DT05URVhUOworKworKyAgICByZXR1cm4ga3JiNV9nc3NfdW53cmFwX2lvdihtaW5vcl9zdGF0dXMsIGN0eC0+Z3NzYywgY29uZl9zdGF0ZSwgcW9wX3N0YXRlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpb3YsIGlvdl9jb3VudCk7CisrfQorKworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc193cmFwX2lvdl9sZW5ndGgoT01fdWludDMyICptaW5vcl9zdGF0dXMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3NzX2N0eF9pZF90IGNvbnRleHRfaGFuZGxlLCBpbnQgY29uZl9yZXFfZmxhZywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfcW9wX3QgcW9wX3JlcSwgaW50ICpjb25mX3N0YXRlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19pb3ZfYnVmZmVyX2Rlc2MgKmlvdiwgaW50IGlvdl9jb3VudCkKKyt7CisrICAgIGlha2VyYl9jdHhfaWRfdCBjdHggPSAoaWFrZXJiX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKyAgICBpZiAoY3R4LT5nc3NjID09IEdTU19DX05PX0NPTlRFWFQpCisrICAgICAgICByZXR1cm4gR1NTX1NfTk9fQ09OVEVYVDsKKysKKysgICAgcmV0dXJuIGtyYjVfZ3NzX3dyYXBfaW92X2xlbmd0aChtaW5vcl9zdGF0dXMsIGN0eC0+Z3NzYywgY29uZl9yZXFfZmxhZywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxb3BfcmVxLCBjb25mX3N0YXRlLCBpb3YsIGlvdl9jb3VudCk7CisrfQorKworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc19wc2V1ZG9fcmFuZG9tKE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLCBnc3NfY3R4X2lkX3QgY29udGV4dF9oYW5kbGUsCisrICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwcmZfa2V5LCBjb25zdCBnc3NfYnVmZmVyX3QgcHJmX2luLAorKyAgICAgICAgICAgICAgICAgICAgICAgICBzc2l6ZV90IGRlc2lyZWRfb3V0cHV0X2xlbiwgZ3NzX2J1ZmZlcl90IHByZl9vdXQpCisreworKyAgICBpYWtlcmJfY3R4X2lkX3QgY3R4ID0gKGlha2VyYl9jdHhfaWRfdCljb250ZXh0X2hhbmRsZTsKKysKKysgICAgaWYgKGN0eC0+Z3NzYyA9PSBHU1NfQ19OT19DT05URVhUKQorKyAgICAgICAgcmV0dXJuIEdTU19TX05PX0NPTlRFWFQ7CisrCisrICAgIHJldHVybiBrcmI1X2dzc19wc2V1ZG9fcmFuZG9tKG1pbm9yX3N0YXR1cywgY3R4LT5nc3NjLCBwcmZfa2V5LCBwcmZfaW4sCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2lyZWRfb3V0cHV0X2xlbiwgcHJmX291dCk7CisrfQorKworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc19nZXRfbWljX2lvdihPTV91aW50MzIgKm1pbm9yX3N0YXR1cywgZ3NzX2N0eF9pZF90IGNvbnRleHRfaGFuZGxlLAorKyAgICAgICAgICAgICAgICAgICAgICAgZ3NzX3FvcF90IHFvcF9yZXEsIGdzc19pb3ZfYnVmZmVyX2Rlc2MgKmlvdiwKKysgICAgICAgICAgICAgICAgICAgICAgIGludCBpb3ZfY291bnQpCisreworKyAgICBpYWtlcmJfY3R4X2lkX3QgY3R4ID0gKGlha2VyYl9jdHhfaWRfdCljb250ZXh0X2hhbmRsZTsKKysKKysgICAgaWYgKGN0eC0+Z3NzYyA9PSBHU1NfQ19OT19DT05URVhUKQorKyAgICAgICAgcmV0dXJuIEdTU19TX05PX0NPTlRFWFQ7CisrCisrICAgIHJldHVybiBrcmI1X2dzc19nZXRfbWljX2lvdihtaW5vcl9zdGF0dXMsIGN0eC0+Z3NzYywgcW9wX3JlcSwgaW92LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW92X2NvdW50KTsKKyt9CisrCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytpYWtlcmJfZ3NzX3ZlcmlmeV9taWNfaW92KE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLCBnc3NfY3R4X2lkX3QgY29udGV4dF9oYW5kbGUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfcW9wX3QgKnFvcF9zdGF0ZSwgZ3NzX2lvdl9idWZmZXJfZGVzYyAqaW92LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGlvdl9jb3VudCkKKyt7CisrICAgIGlha2VyYl9jdHhfaWRfdCBjdHggPSAoaWFrZXJiX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKyAgICBpZiAoY3R4LT5nc3NjID09IEdTU19DX05PX0NPTlRFWFQpCisrICAgICAgICByZXR1cm4gR1NTX1NfTk9fQ09OVEVYVDsKKysKKysgICAgcmV0dXJuIGtyYjVfZ3NzX3ZlcmlmeV9taWNfaW92KG1pbm9yX3N0YXR1cywgY3R4LT5nc3NjLCBxb3Bfc3RhdGUsIGlvdiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlvdl9jb3VudCk7CisrfQorKworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc19nZXRfbWljX2lvdl9sZW5ndGgoT01fdWludDMyICptaW5vcl9zdGF0dXMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3NzX2N0eF9pZF90IGNvbnRleHRfaGFuZGxlLCBnc3NfcW9wX3QgcW9wX3JlcSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfaW92X2J1ZmZlcl9kZXNjICppb3YsIGludCBpb3ZfY291bnQpCisreworKyAgICBpYWtlcmJfY3R4X2lkX3QgY3R4ID0gKGlha2VyYl9jdHhfaWRfdCljb250ZXh0X2hhbmRsZTsKKysKKysgICAgaWYgKGN0eC0+Z3NzYyA9PSBHU1NfQ19OT19DT05URVhUKQorKyAgICAgICAgcmV0dXJuIEdTU19TX05PX0NPTlRFWFQ7CisrCisrICAgIHJldHVybiBrcmI1X2dzc19nZXRfbWljX2lvdl9sZW5ndGgobWlub3Jfc3RhdHVzLCBjdHgtPmdzc2MsIHFvcF9yZXEsIGlvdiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpb3ZfY291bnQpOworK30KKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNS9GaXgtSUFLRVJCLWNvbnRleHQtZXhwb3J0LWltcG9ydC1DVkUtMjAxNS0yNjk4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNS9GaXgtSUFLRVJCLWNvbnRleHQtZXhwb3J0LWltcG9ydC1DVkUtMjAxNS0yNjk4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmNDVkMzAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1L0ZpeC1JQUtFUkItY29udGV4dC1leHBvcnQtaW1wb3J0LUNWRS0yMDE1LTI2OTgucGF0Y2gKQEAgLTAsMCArMSwxMzQgQEAKK0Zyb20gYWE3NjljOGM2OTA1ZDFhYmZhYzY2ZDRkMWIwZmM3Mzc0MGNjYmU3ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEdyZWcgSHVkc29uIDxnaHVkc29uQG1pdC5lZHU+CitEYXRlOiBTYXQsIDE0IE5vdiAyMDE1IDAyOjQ3OjA0IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0ggNC80XSBGaXggSUFLRVJCIGNvbnRleHQgZXhwb3J0L2ltcG9ydCBbQ1ZFLTIwMTUtMjY5OF0KKworVGhlIHBhdGNoZXMgZm9yIENWRS0yMDE1LTI2OTYgY29udGFpbmVkIGEgcmVncmVzc2lvbiBpbiB0aGUgbmV3bHkKK2FkZGVkIElBS0VSQiBpYWtlcmJfZ3NzX2V4cG9ydF9zZWNfY29udGV4dCgpIGZ1bmN0aW9uLCB3aGljaCBjb3VsZAorY2F1c2UgaXQgdG8gY29ycnVwdCBtZW1vcnkuICBGaXggdGhlIHJlZ3Jlc3Npb24gYnkgcHJvcGVybHkKK2RlcmVmZXJlbmNpbmcgdGhlIGNvbnRleHRfaGFuZGxlIHBvaW50ZXIgYmVmb3JlIGNhc3RpbmcgaXQuCisKK0Fsc28sIHRoZSBwYXRjaGVzIGRpZCBub3QgaW1wbGVtZW50IGFuIElBS0VSQiBnc3NfaW1wb3J0X3NlY19jb250ZXh0KCkKK2Z1bmN0aW9uLCB1bmRlciB0aGUgZXJyb25lb3VzIGJlbGllZiB0aGF0IGFuIGV4cG9ydGVkIElBS0VSQiBjb250ZXh0Cit3b3VsZCBiZSB0YWdnZWQgYXMgYSBrcmI1IGNvbnRleHQuICBJbXBsZW1lbnQgaXQgbm93IHRvIGFsbG93IElBS0VSQgorY29udGV4dHMgdG8gYmUgc3VjY2Vzc2Z1bGx5IGV4cG9ydGVkIGFuZCBpbXBvcnRlZCBhZnRlciBlc3RhYmxpc2htZW50LgorCitDVkUtMjAxNS0yNjk4OgorCitJbiBhbnkgTUlUIGtyYjUgcmVsZWFzZSB3aXRoIHRoZSBwYXRjaGVzIGZvciBDVkUtMjAxNS0yNjk2IGFwcGxpZWQsIGFuCithcHBsaWNhdGlvbiB3aGljaCBjYWxscyBnc3NfZXhwb3J0X3NlY19jb250ZXh0KCkgbWF5IGV4cGVyaWVuY2UgbWVtb3J5Citjb3JydXB0aW9uIGlmIHRoZSBjb250ZXh0IHdhcyBlc3RhYmxpc2hlZCB1c2luZyB0aGUgSUFLRVJCIG1lY2hhbmlzbS4KK0hpc3RvcmljYWxseSwgc29tZSB2dWxuZXJhYmlsaXRpZXMgb2YgdGhpcyBuYXR1cmUgY2FuIGJlIHRyYW5zbGF0ZWQKK2ludG8gcmVtb3RlIGNvZGUgZXhlY3V0aW9uLCB0aG91Z2ggdGhlIG5lY2Vzc2FyeSBleHBsb2l0cyBtdXN0IGJlCit0YWlsb3JlZCB0byB0aGUgaW5kaXZpZHVhbCBhcHBsaWNhdGlvbiBhbmQgYXJlIHVzdWFsbHkgcXVpdGUKK2NvbXBsaWNhdGVkLgorCisgICAgQ1ZTU3YyIFZlY3RvcjogQVY6Ti9BQzpIL0F1OlMvQzpDL0k6Qy9BOkMvRTpQT0MvUkw6T0YvUkM6QworCit0aWNrZXQ6IDgyNzMgKG5ldykKK3RhcmdldF92ZXJzaW9uOiAxLjE0Cit0YWdzOiBwdWxsdXAKKworQmFja3BvcnQgdXBzdHJlYW0gY29tbWl0OgoraHR0cHM6Ly9naXRodWIuY29tL2tyYjUva3JiNS9jb21taXQvM2RiOGRmZWMxZWY1MGRkZDc4ZDZiYTk1MDMxODU5OTU4NzZhMzlmZAorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CistLS0KKyBzcmMvbGliL2dzc2FwaS9rcmI1L2dzc2FwaVBfa3JiNS5oIHwgIDUgKysrKysKKyBzcmMvbGliL2dzc2FwaS9rcmI1L2dzc2FwaV9rcmI1LmMgIHwgIDIgKy0KKyBzcmMvbGliL2dzc2FwaS9rcmI1L2lha2VyYi5jICAgICAgIHwgNDIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDQxIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvbGliL2dzc2FwaS9rcmI1L2dzc2FwaVBfa3JiNS5oIGIvc3JjL2xpYi9nc3NhcGkva3JiNS9nc3NhcGlQX2tyYjUuaAoraW5kZXggMDVkYzMyMS4uYWM1MzY2MiAxMDA2NDQKKy0tLSBhL3NyYy9saWIvZ3NzYXBpL2tyYjUvZ3NzYXBpUF9rcmI1LmgKKysrKyBiL3NyYy9saWIvZ3NzYXBpL2tyYjUvZ3NzYXBpUF9rcmI1LmgKK0BAIC0xMzk2LDYgKzEzOTYsMTEgQEAgT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKyBpYWtlcmJfZ3NzX2V4cG9ydF9zZWNfY29udGV4dChPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfY3R4X2lkX3QgKmNvbnRleHRfaGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19idWZmZXJfdCBpbnRlcnByb2Nlc3NfdG9rZW4pOworKworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc19pbXBvcnRfc2VjX2NvbnRleHQoT01fdWludDMyICptaW5vcl9zdGF0dXMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3NzX2J1ZmZlcl90IGludGVycHJvY2Vzc190b2tlbiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfY3R4X2lkX3QgKmNvbnRleHRfaGFuZGxlKTsKKyAjZW5kaWYgLyogTEVBTl9DTElFTlQgKi8KKyAKKyBPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorZGlmZiAtLWdpdCBhL3NyYy9saWIvZ3NzYXBpL2tyYjUvZ3NzYXBpX2tyYjUuYyBiL3NyYy9saWIvZ3NzYXBpL2tyYjUvZ3NzYXBpX2tyYjUuYworaW5kZXggOWEyMzY1Ni4uZDdiYTI3OSAxMDA2NDQKKy0tLSBhL3NyYy9saWIvZ3NzYXBpL2tyYjUvZ3NzYXBpX2tyYjUuYworKysrIGIvc3JjL2xpYi9nc3NhcGkva3JiNS9nc3NhcGlfa3JiNS5jCitAQCAtOTQ1LDcgKzk0NSw3IEBAIHN0YXRpYyBzdHJ1Y3QgZ3NzX2NvbmZpZyBpYWtlcmJfbWVjaGFuaXNtID0geworICAgICBOVUxMLAorICNlbHNlCisgICAgIGlha2VyYl9nc3NfZXhwb3J0X3NlY19jb250ZXh0LAorLSAgICBOVUxMLAorKyAgICBpYWtlcmJfZ3NzX2ltcG9ydF9zZWNfY29udGV4dCwKKyAjZW5kaWYKKyAgICAga3JiNV9nc3NfaW5xdWlyZV9jcmVkX2J5X21lY2gsCisgICAgIGtyYjVfZ3NzX2lucXVpcmVfbmFtZXNfZm9yX21lY2gsCitkaWZmIC0tZ2l0IGEvc3JjL2xpYi9nc3NhcGkva3JiNS9pYWtlcmIuYyBiL3NyYy9saWIvZ3NzYXBpL2tyYjUvaWFrZXJiLmMKK2luZGV4IDQ2NjJiZDkuLjQ4YmVhZWUgMTAwNjQ0CistLS0gYS9zcmMvbGliL2dzc2FwaS9rcmI1L2lha2VyYi5jCisrKysgYi9zcmMvbGliL2dzc2FwaS9rcmI1L2lha2VyYi5jCitAQCAtMTA2MSw3ICsxMDYxLDcgQEAgaWFrZXJiX2dzc19leHBvcnRfc2VjX2NvbnRleHQoT01fdWludDMyICptaW5vcl9zdGF0dXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3NzX2J1ZmZlcl90IGludGVycHJvY2Vzc190b2tlbikKKyB7CisgICAgIE9NX3VpbnQzMiBtYWo7CistICAgIGlha2VyYl9jdHhfaWRfdCBjdHggPSAoaWFrZXJiX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKyAgICBpYWtlcmJfY3R4X2lkX3QgY3R4ID0gKGlha2VyYl9jdHhfaWRfdCkqY29udGV4dF9oYW5kbGU7CisgCisgICAgIC8qIFdlIGRvbid0IGN1cnJlbnRseSBzdXBwb3J0IGV4cG9ydGluZyBwYXJ0aWFsbHkgZXN0YWJsaXNoZWQgY29udGV4dHMuICovCisgICAgIGlmICghY3R4LT5lc3RhYmxpc2hlZCkKK0BAIC0xMDc2LDEzICsxMDc2LDQxIEBAIGlha2VyYl9nc3NfZXhwb3J0X3NlY19jb250ZXh0KE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLAorICAgICByZXR1cm4gbWFqOworIH0KKyAKKy0vKgorLSAqIFVudGlsIHdlIGltcGxlbWVudCBwYXJ0aWFsIGNvbnRleHQgZXhwb3J0cywgdGhlcmUgYXJlIG5vIFNQTkVHTyBleHBvcnRlZAorLSAqIGNvbnRleHQgdG9rZW5zLCBvbmx5IHRva2VucyBmb3IgdGhlIHVuZGVybHlpbmcga3JiNSBjb250ZXh0LiAgU28gd2UgZG8gbm90CistICogbmVlZCB0byBpbXBsZW1lbnQgYW4gaWFrZXJiX2dzc19pbXBvcnRfc2VjX2NvbnRleHQoKSB5ZXQ7IGl0IHdvdWxkIGJlCistICogdW5yZWFjaGFibGUgZXhjZXB0IHZpYSBhIG1hbnVhbGx5IGNvbnN0cnVjdGVkIHRva2VuLgorLSAqLworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc19pbXBvcnRfc2VjX2NvbnRleHQoT01fdWludDMyICptaW5vcl9zdGF0dXMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3NzX2J1ZmZlcl90IGludGVycHJvY2Vzc190b2tlbiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfY3R4X2lkX3QgKmNvbnRleHRfaGFuZGxlKQorK3sKKysgICAgT01fdWludDMyIG1haiwgdG1wbWluOworKyAgICBrcmI1X2Vycm9yX2NvZGUgY29kZTsKKysgICAgZ3NzX2N0eF9pZF90IGdzc2M7CisrICAgIGtyYjVfZ3NzX2N0eF9pZF90IGtjdHg7CisrICAgIGlha2VyYl9jdHhfaWRfdCBjdHg7CisrCisrICAgIG1haiA9IGtyYjVfZ3NzX2ltcG9ydF9zZWNfY29udGV4dChtaW5vcl9zdGF0dXMsIGludGVycHJvY2Vzc190b2tlbiwgJmdzc2MpOworKyAgICBpZiAobWFqICE9IEdTU19TX0NPTVBMRVRFKQorKyAgICAgICAgcmV0dXJuIG1hajsKKysgICAga2N0eCA9IChrcmI1X2dzc19jdHhfaWRfdClnc3NjOworKworKyAgICBpZiAoIWtjdHgtPmVzdGFibGlzaGVkKSB7CisrICAgICAgICAvKiBXZSBkb24ndCBjdXJyZW50bHkgc3VwcG9ydCBpbXBvcnRpbmcgcGFydGlhbGx5IGVzdGFibGlzaGVkCisrICAgICAgICAgKiBjb250ZXh0cy4gKi8KKysgICAgICAgIGtyYjVfZ3NzX2RlbGV0ZV9zZWNfY29udGV4dCgmdG1wbWluLCAmZ3NzYywgR1NTX0NfTk9fQlVGRkVSKTsKKysgICAgICAgIHJldHVybiBHU1NfU19GQUlMVVJFOworKyAgICB9CisgCisrICAgIGNvZGUgPSBpYWtlcmJfYWxsb2NfY29udGV4dCgmY3R4LCBrY3R4LT5pbml0aWF0ZSk7CisrICAgIGlmIChjb2RlICE9IDApIHsKKysgICAgICAgIGtyYjVfZ3NzX2RlbGV0ZV9zZWNfY29udGV4dCgmdG1wbWluLCAmZ3NzYywgR1NTX0NfTk9fQlVGRkVSKTsKKysgICAgICAgICptaW5vcl9zdGF0dXMgPSBjb2RlOworKyAgICAgICAgcmV0dXJuIEdTU19TX0ZBSUxVUkU7CisrICAgIH0KKysKKysgICAgY3R4LT5nc3NjID0gZ3NzYzsKKysgICAgY3R4LT5lc3RhYmxpc2hlZCA9IDE7CisrICAgICpjb250ZXh0X2hhbmRsZSA9IChnc3NfY3R4X2lkX3QpY3R4OworKyAgICByZXR1cm4gR1NTX1NfQ09NUExFVEU7CisrfQorICNlbmRpZiAvKiBMRUFOX0NMSUVOVCAqLworIAorIE9NX3VpbnQzMiBLUkI1X0NBTExDT05WCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjUvRml4LVNQTkVHTy1jb250ZXh0LWFsaWFzaW5nLWJ1Z3MtQ1ZFLTIwMTUtMjY5NS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjUvRml4LVNQTkVHTy1jb250ZXh0LWFsaWFzaW5nLWJ1Z3MtQ1ZFLTIwMTUtMjY5NS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMjdlNmM2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNS9GaXgtU1BORUdPLWNvbnRleHQtYWxpYXNpbmctYnVncy1DVkUtMjAxNS0yNjk1LnBhdGNoCkBAIC0wLDAgKzEsNTcyIEBACitGcm9tIDg4NDkxM2U4MDc0MTRhMWUwNjI0NTkxOGRlYTcxMjQzYzVmZGQwZTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBOaWNvbGFzIFdpbGxpYW1zIDxuaWNvQHR3b3NpZ21hLmNvbT4KK0RhdGU6IE1vbiwgMTQgU2VwIDIwMTUgMTI6Mjc6NTIgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSCAxLzRdIEZpeCBTUE5FR08gY29udGV4dCBhbGlhc2luZyBidWdzIFtDVkUtMjAxNS0yNjk1XQorCitUaGUgU1BORUdPIG1lY2hhbmlzbSBjdXJyZW50bHkgcmVwbGFjZXMgaXRzIGNvbnRleHQgaGFuZGxlIHdpdGggdGhlCittZWNoYW5pc20gY29udGV4dCBoYW5kbGUgdXBvbiBlc3RhYmxpc2htZW50LCB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0Cittb3N0IEdTUyBmdW5jdGlvbnMgYXJlIG9ubHkgY2FsbGVkIGFmdGVyIGNvbnRleHQgZXN0YWJsaXNobWVudC4gIFRoaXMKK2Fzc3VtcHRpb24gaXMgaW5jb3JyZWN0LCBhbmQgY2FuIGxlYWQgdG8gYWxpYXNpbmcgdmlvbGF0aW9ucyBmb3Igc29tZQorcHJvZ3JhbXMuICBNYWludGFpbiB0aGUgU1BORUdPIGNvbnRleHQgc3RydWN0dXJlIGFmdGVyIGNvbnRleHQKK2VzdGFibGlzaG1lbnQgYW5kIHJlZmVyIHRvIGl0IGluIGFsbCBHU1MgbWV0aG9kcy4gIEFkZCBpbml0aWF0ZSBhbmQKK29wZW5lZCBmbGFncyB0byB0aGUgU1BORUdPIGNvbnRleHQgc3RydWN0dXJlIGZvciB1c2UgaW4KK2dzc19pbnF1aXJlX2NvbnRleHQoKSBwcmlvciB0byBjb250ZXh0IGVzdGFibGlzaG1lbnQuCisKK0NWRS0yMDE1LTI2OTU6CisKK0luIE1JVCBrcmI1IDEuNSBhbmQgbGF0ZXIsIGFwcGxpY2F0aW9ucyB3aGljaCBjYWxsCitnc3NfaW5xdWlyZV9jb250ZXh0KCkgb24gYSBwYXJ0aWFsbHktZXN0YWJsaXNoZWQgU1BORUdPIGNvbnRleHQgY2FuCitjYXVzZSB0aGUgR1NTLUFQSSBsaWJyYXJ5IHRvIHJlYWQgZnJvbSBhIHBvaW50ZXIgdXNpbmcgdGhlIHdyb25nIHR5cGUsCitnZW5lcmFsbHkgY2F1c2luZyBhIHByb2Nlc3MgY3Jhc2guICBUaGlzIGJ1ZyBtYXkgZ28gdW5ub3RpY2VkLCBiZWNhdXNlCit0aGUgbW9zdCBjb21tb24gU1BORUdPIGF1dGhlbnRpY2F0aW9uIHNjZW5hcmlvIGVzdGFibGlzaGVzIHRoZSBjb250ZXh0CithZnRlciBqdXN0IG9uZSBjYWxsIHRvIGdzc19hY2NlcHRfc2VjX2NvbnRleHQoKS4gIEphdmEgc2VydmVyCithcHBsaWNhdGlvbnMgdXNpbmcgdGhlIG5hdGl2ZSBKR1NTIHByb3ZpZGVyIGFyZSB2dWxuZXJhYmxlIHRvIHRoaXMKK2J1Zy4gIEEgY2FyZWZ1bGx5IGNyYWZ0ZWQgU1BORUdPIHBhY2tldCBtaWdodCBhbGxvdyB0aGUKK2dzc19pbnF1aXJlX2NvbnRleHQoKSBjYWxsIHRvIHN1Y2NlZWQgd2l0aCBhdHRhY2tlci1kZXRlcm1pbmVkCityZXN1bHRzLCBidXQgYXBwbGljYXRpb25zIHNob3VsZCBub3QgbWFrZSBhY2Nlc3MgY29udHJvbCBkZWNpc2lvbnMKK2Jhc2VkIG9uIGdzc19pbnF1aXJlX2NvbnRleHQoKSByZXN1bHRzIHByaW9yIHRvIGNvbnRleHQgZXN0YWJsaXNobWVudC4KKworICAgIENWU1N2MiBWZWN0b3I6IEFWOk4vQUM6TS9BdTpOL0M6Ti9JOk4vQTpDL0U6UE9DL1JMOk9GL1JDOkMKKworW2dodWRzb25AbWl0LmVkdTogc2V2ZXJhbCBidWdmaXhlcywgc3R5bGUgY2hhbmdlcywgYW5kIGVkZ2UtY2FzZQorYmVoYXZpb3IgY2hhbmdlczsgY29tbWl0IG1lc3NhZ2UgYW5kIENWRSBkZXNjcmlwdGlvbl0KKwordGlja2V0OiA4MjQ0Cit0YXJnZXRfdmVyc2lvbjogMS4xNAordGFnczogcHVsbHVwCisKK0JhY2twb3J0IHVwc3RyZWFtIGNvbW1pdDoKK2h0dHBzOi8vZ2l0aHViLmNvbS9rcmI1L2tyYjUvY29tbWl0L2I1MWIzM2YyYmM1ZDE0OTdkZGY1YmQxMDdmNzkxYzEwMTY5NTAwMGQKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorLS0tCisgc3JjL2xpYi9nc3NhcGkvc3BuZWdvL2dzc2FwaVBfc3BuZWdvLmggfCAgIDIgKworIHNyYy9saWIvZ3NzYXBpL3NwbmVnby9zcG5lZ29fbWVjaC5jICAgIHwgMjU0ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMTkyIGluc2VydGlvbnMoKyksIDY0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2xpYi9nc3NhcGkvc3BuZWdvL2dzc2FwaVBfc3BuZWdvLmggYi9zcmMvbGliL2dzc2FwaS9zcG5lZ28vZ3NzYXBpUF9zcG5lZ28uaAoraW5kZXggYmMyM2Y1Ni4uOGUwNTczNiAxMDA2NDQKKy0tLSBhL3NyYy9saWIvZ3NzYXBpL3NwbmVnby9nc3NhcGlQX3NwbmVnby5oCisrKysgYi9zcmMvbGliL2dzc2FwaS9zcG5lZ28vZ3NzYXBpUF9zcG5lZ28uaAorQEAgLTEwMiw2ICsxMDIsOCBAQCB0eXBlZGVmIHN0cnVjdCB7CisgCWludCBmaXJzdHBhc3M7CisgCWludCBtZWNoX2NvbXBsZXRlOworIAlpbnQgbmVnb19kb25lOworKwlpbnQgaW5pdGlhdGU7CisrCWludCBvcGVuZWQ7CisgCU9NX3VpbnQzMiBjdHhfZmxhZ3M7CisgCWdzc19uYW1lX3QgaW50ZXJuYWxfbmFtZTsKKyAJZ3NzX09JRCBhY3R1YWxfbWVjaDsKK2RpZmYgLS1naXQgYS9zcmMvbGliL2dzc2FwaS9zcG5lZ28vc3BuZWdvX21lY2guYyBiL3NyYy9saWIvZ3NzYXBpL3NwbmVnby9zcG5lZ29fbWVjaC5jCitpbmRleCBmOTI0OGFiLi4zNDIzZjIyIDEwMDY0NAorLS0tIGEvc3JjL2xpYi9nc3NhcGkvc3BuZWdvL3NwbmVnb19tZWNoLmMKKysrKyBiL3NyYy9saWIvZ3NzYXBpL3NwbmVnby9zcG5lZ29fbWVjaC5jCitAQCAtMTAxLDcgKzEwMSw3IEBAIHN0YXRpYyBPTV91aW50MzIgZ2V0X25lZ290aWFibGVfbWVjaHMoT01fdWludDMyICosIHNwbmVnb19nc3NfY3JlZF9pZF90LAorIAkJCQkgICAgICBnc3NfY3JlZF91c2FnZV90LCBnc3NfT0lEX3NldCAqKTsKKyBzdGF0aWMgdm9pZCByZWxlYXNlX3NwbmVnb19jdHgoc3BuZWdvX2dzc19jdHhfaWRfdCAqKTsKKyBzdGF0aWMgdm9pZCBjaGVja19zcG5lZ29fb3B0aW9ucyhzcG5lZ29fZ3NzX2N0eF9pZF90KTsKKy1zdGF0aWMgc3BuZWdvX2dzc19jdHhfaWRfdCBjcmVhdGVfc3BuZWdvX2N0eCh2b2lkKTsKKytzdGF0aWMgc3BuZWdvX2dzc19jdHhfaWRfdCBjcmVhdGVfc3BuZWdvX2N0eChpbnQpOworIHN0YXRpYyBpbnQgcHV0X21lY2hfc2V0KGdzc19PSURfc2V0IG1lY2hTZXQsIGdzc19idWZmZXJfdCBidWYpOworIHN0YXRpYyBpbnQgcHV0X2lucHV0X3Rva2VuKHVuc2lnbmVkIGNoYXIgKiosIGdzc19idWZmZXJfdCwgdW5zaWduZWQgaW50KTsKKyBzdGF0aWMgaW50IHB1dF9tZWNoX29pZCh1bnNpZ25lZCBjaGFyICoqLCBnc3NfT0lEX2NvbnN0LCB1bnNpZ25lZCBpbnQpOworQEAgLTQzOSw3ICs0MzksNyBAQCBjaGVja19zcG5lZ29fb3B0aW9ucyhzcG5lZ29fZ3NzX2N0eF9pZF90IHNwbmVnb19jdHgpCisgfQorIAorIHN0YXRpYyBzcG5lZ29fZ3NzX2N0eF9pZF90CistY3JlYXRlX3NwbmVnb19jdHgodm9pZCkKKytjcmVhdGVfc3BuZWdvX2N0eChpbnQgaW5pdGlhdGUpCisgeworIAlzcG5lZ29fZ3NzX2N0eF9pZF90IHNwbmVnb19jdHggPSBOVUxMOworIAlzcG5lZ29fY3R4ID0gKHNwbmVnb19nc3NfY3R4X2lkX3QpCitAQCAtNDYyLDYgKzQ2Miw4IEBAIGNyZWF0ZV9zcG5lZ29fY3R4KHZvaWQpCisgCXNwbmVnb19jdHgtPm1pY19yY3ZkID0gMDsKKyAJc3BuZWdvX2N0eC0+bWVjaF9jb21wbGV0ZSA9IDA7CisgCXNwbmVnb19jdHgtPm5lZ29fZG9uZSA9IDA7CisrCXNwbmVnb19jdHgtPm9wZW5lZCA9IDA7CisrCXNwbmVnb19jdHgtPmluaXRpYXRlID0gaW5pdGlhdGU7CisgCXNwbmVnb19jdHgtPmludGVybmFsX25hbWUgPSBHU1NfQ19OT19OQU1FOworIAlzcG5lZ29fY3R4LT5hY3R1YWxfbWVjaCA9IEdTU19DX05PX09JRDsKKyAKK0BAIC02MjcsNyArNjI5LDcgQEAgaW5pdF9jdHhfbmV3KE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLAorIAlPTV91aW50MzIgcmV0OworIAlzcG5lZ29fZ3NzX2N0eF9pZF90IHNjID0gTlVMTDsKKyAKKy0Jc2MgPSBjcmVhdGVfc3BuZWdvX2N0eCgpOworKwlzYyA9IGNyZWF0ZV9zcG5lZ29fY3R4KDEpOworIAlpZiAoc2MgPT0gTlVMTCkKKyAJCXJldHVybiBHU1NfU19GQUlMVVJFOworIAorQEAgLTY0NCwxMCArNjQ2LDcgQEAgaW5pdF9jdHhfbmV3KE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLAorIAkJcmV0ID0gR1NTX1NfRkFJTFVSRTsKKyAJCWdvdG8gY2xlYW51cDsKKyAJfQorLQkvKgorLQkgKiBUaGUgYWN0dWFsIGNvbnRleHQgaXMgbm90IHlldCBkZXRlcm1pbmVkLCBzZXQgdGhlIG91dHB1dAorLQkgKiBjb250ZXh0IGhhbmRsZSB0byByZWZlciB0byB0aGUgc3BuZWdvIGNvbnRleHQgaXRzZWxmLgorLQkgKi8KKysKKyAJc2MtPmN0eF9oYW5kbGUgPSBHU1NfQ19OT19DT05URVhUOworIAkqY3R4ID0gKGdzc19jdHhfaWRfdClzYzsKKyAJc2MgPSBOVUxMOworQEAgLTEwODgsMTYgKzEwODcsMTEgQEAgY2xlYW51cDoKKyAJfQorIAlnc3NfcmVsZWFzZV9idWZmZXIoJnRtcG1pbiwgJm1lY2h0b2tfb3V0KTsKKyAJaWYgKHJldCA9PSBHU1NfU19DT01QTEVURSkgeworLQkJLyoKKy0JCSAqIE5vdywgc3dpdGNoIHRoZSBvdXRwdXQgY29udGV4dCB0byByZWZlciB0byB0aGUKKy0JCSAqIG5lZ290aWF0ZWQgbWVjaGFuaXNtJ3MgY29udGV4dC4KKy0JCSAqLworLQkJKmNvbnRleHRfaGFuZGxlID0gKGdzc19jdHhfaWRfdClzcG5lZ29fY3R4LT5jdHhfaGFuZGxlOworKwkJc3BuZWdvX2N0eC0+b3BlbmVkID0gMTsKKyAJCWlmIChhY3R1YWxfbWVjaCAhPSBOVUxMKQorIAkJCSphY3R1YWxfbWVjaCA9IHNwbmVnb19jdHgtPmFjdHVhbF9tZWNoOworIAkJaWYgKHJldF9mbGFncyAhPSBOVUxMKQorIAkJCSpyZXRfZmxhZ3MgPSBzcG5lZ29fY3R4LT5jdHhfZmxhZ3M7CistCQlyZWxlYXNlX3NwbmVnb19jdHgoJnNwbmVnb19jdHgpOworIAl9IGVsc2UgaWYgKHJldCAhPSBHU1NfU19DT05USU5VRV9ORUVERUQpIHsKKyAJCWlmIChzcG5lZ29fY3R4ICE9IE5VTEwpIHsKKyAJCQlnc3NfZGVsZXRlX3NlY19jb250ZXh0KCZ0bXBtaW4sCitAQCAtMTM0MSw3ICsxMzM1LDcgQEAgYWNjX2N0eF9oaW50cyhPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKyAJaWYgKHJldCAhPSBHU1NfU19DT01QTEVURSkKKyAJCWdvdG8gY2xlYW51cDsKKyAKKy0Jc2MgPSBjcmVhdGVfc3BuZWdvX2N0eCgpOworKwlzYyA9IGNyZWF0ZV9zcG5lZ29fY3R4KDApOworIAlpZiAoc2MgPT0gTlVMTCkgeworIAkJcmV0ID0gR1NTX1NfRkFJTFVSRTsKKyAJCWdvdG8gY2xlYW51cDsKK0BAIC0xNDIzLDcgKzE0MTcsNyBAQCBhY2NfY3R4X25ldyhPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKyAJCWdzc19yZWxlYXNlX2J1ZmZlcigmdG1wbWluLCAmc2MtPkRFUl9tZWNoVHlwZXMpOworIAkJYXNzZXJ0KG1lY2hfd2FudGVkICE9IEdTU19DX05PX09JRCk7CisgCX0gZWxzZQorLQkJc2MgPSBjcmVhdGVfc3BuZWdvX2N0eCgpOworKwkJc2MgPSBjcmVhdGVfc3BuZWdvX2N0eCgwKTsKKyAJaWYgKHNjID09IE5VTEwpIHsKKyAJCXJldCA9IEdTU19TX0ZBSUxVUkU7CisgCQkqcmV0dXJuX3Rva2VuID0gTk9fVE9LRU5fU0VORDsKK0BAIC0xODA2LDEzICsxODAwLDEyIEBAIGNsZWFudXA6CisgCQkJcmV0ID0gR1NTX1NfRkFJTFVSRTsKKyAJfQorIAlpZiAocmV0ID09IEdTU19TX0NPTVBMRVRFKSB7CistCQkqY29udGV4dF9oYW5kbGUgPSAoZ3NzX2N0eF9pZF90KXNjLT5jdHhfaGFuZGxlOworKwkJc2MtPm9wZW5lZCA9IDE7CisgCQlpZiAoc2MtPmludGVybmFsX25hbWUgIT0gR1NTX0NfTk9fTkFNRSAmJgorIAkJICAgIHNyY19uYW1lICE9IE5VTEwpIHsKKyAJCQkqc3JjX25hbWUgPSBzYy0+aW50ZXJuYWxfbmFtZTsKKyAJCQlzYy0+aW50ZXJuYWxfbmFtZSA9IEdTU19DX05PX05BTUU7CisgCQl9CistCQlyZWxlYXNlX3NwbmVnb19jdHgoJnNjKTsKKyAJfSBlbHNlIGlmIChyZXQgIT0gR1NTX1NfQ09OVElOVUVfTkVFREVEKSB7CisgCQlpZiAoc2MgIT0gTlVMTCkgeworIAkJCWdzc19kZWxldGVfc2VjX2NvbnRleHQoJnRtcG1pbiwgJnNjLT5jdHhfaGFuZGxlLAorQEAgLTIxMjUsOCArMjExOCwxMyBAQCBzcG5lZ29fZ3NzX3Vud3JhcCgKKyAJCWdzc19xb3BfdCAqcW9wX3N0YXRlKQorIHsKKyAJT01fdWludDMyIHJldDsKKysJc3BuZWdvX2dzc19jdHhfaWRfdCBzYyA9IChzcG5lZ29fZ3NzX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKwlpZiAoc2MtPmN0eF9oYW5kbGUgPT0gR1NTX0NfTk9fQ09OVEVYVCkKKysJCXJldHVybiAoR1NTX1NfTk9fQ09OVEVYVCk7CisrCisgCXJldCA9IGdzc191bndyYXAobWlub3Jfc3RhdHVzLAorLQkJCWNvbnRleHRfaGFuZGxlLAorKwkJCXNjLT5jdHhfaGFuZGxlLAorIAkJCWlucHV0X21lc3NhZ2VfYnVmZmVyLAorIAkJCW91dHB1dF9tZXNzYWdlX2J1ZmZlciwKKyAJCQljb25mX3N0YXRlLAorQEAgLTIxNDYsOCArMjE0NCwxMyBAQCBzcG5lZ29fZ3NzX3dyYXAoCisgCQlnc3NfYnVmZmVyX3Qgb3V0cHV0X21lc3NhZ2VfYnVmZmVyKQorIHsKKyAJT01fdWludDMyIHJldDsKKysJc3BuZWdvX2dzc19jdHhfaWRfdCBzYyA9IChzcG5lZ29fZ3NzX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKwlpZiAoc2MtPmN0eF9oYW5kbGUgPT0gR1NTX0NfTk9fQ09OVEVYVCkKKysJCXJldHVybiAoR1NTX1NfTk9fQ09OVEVYVCk7CisrCisgCXJldCA9IGdzc193cmFwKG1pbm9yX3N0YXR1cywKKy0JCSAgICBjb250ZXh0X2hhbmRsZSwKKysJCSAgICBzYy0+Y3R4X2hhbmRsZSwKKyAJCSAgICBjb25mX3JlcV9mbGFnLAorIAkJICAgIHFvcF9yZXEsCisgCQkgICAgaW5wdXRfbWVzc2FnZV9idWZmZXIsCitAQCAtMjE2NCw4ICsyMTY3LDE0IEBAIHNwbmVnb19nc3NfcHJvY2Vzc19jb250ZXh0X3Rva2VuKAorIAkJCQljb25zdCBnc3NfYnVmZmVyX3QgdG9rZW5fYnVmZmVyKQorIHsKKyAJT01fdWludDMyIHJldDsKKysJc3BuZWdvX2dzc19jdHhfaWRfdCBzYyA9IChzcG5lZ29fZ3NzX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKwkvKiBTUE5FR08gZG9lc24ndCBoYXZlIGl0cyBvd24gY29udGV4dCB0b2tlbnMuICovCisrCWlmICghc2MtPm9wZW5lZCkKKysJCXJldHVybiAoR1NTX1NfREVGRUNUSVZFX1RPS0VOKTsKKysKKyAJcmV0ID0gZ3NzX3Byb2Nlc3NfY29udGV4dF90b2tlbihtaW5vcl9zdGF0dXMsCistCQkJCQljb250ZXh0X2hhbmRsZSwKKysJCQkJCXNjLT5jdHhfaGFuZGxlLAorIAkJCQkJdG9rZW5fYnVmZmVyKTsKKyAKKyAJcmV0dXJuIChyZXQpOworQEAgLTIxODksMTkgKzIxOTgsOSBAQCBzcG5lZ29fZ3NzX2RlbGV0ZV9zZWNfY29udGV4dCgKKyAJaWYgKCpjdHggPT0gTlVMTCkKKyAJCXJldHVybiAoR1NTX1NfQ09NUExFVEUpOworIAorLQkvKgorLQkgKiBJZiB0aGlzIGlzIHN0aWxsIGFuIFNQTkVHTyBtZWNoLCByZWxlYXNlIGl0IGxvY2FsbHkuCistCSAqLworLQlpZiAoKCpjdHgpLT5tYWdpY19udW0gPT0gU1BORUdPX01BR0lDX0lEKSB7CistCQkodm9pZCkgZ3NzX2RlbGV0ZV9zZWNfY29udGV4dChtaW5vcl9zdGF0dXMsCistCQkJCSAgICAmKCpjdHgpLT5jdHhfaGFuZGxlLAorLQkJCQkgICAgb3V0cHV0X3Rva2VuKTsKKy0JCSh2b2lkKSByZWxlYXNlX3NwbmVnb19jdHgoY3R4KTsKKy0JfSBlbHNlIHsKKy0JCXJldCA9IGdzc19kZWxldGVfc2VjX2NvbnRleHQobWlub3Jfc3RhdHVzLAorLQkJCQkgICAgY29udGV4dF9oYW5kbGUsCistCQkJCSAgICBvdXRwdXRfdG9rZW4pOworLQl9CisrCSh2b2lkKSBnc3NfZGVsZXRlX3NlY19jb250ZXh0KG1pbm9yX3N0YXR1cywgJigqY3R4KS0+Y3R4X2hhbmRsZSwKKysJCQkJICAgICAgb3V0cHV0X3Rva2VuKTsKKysJKHZvaWQpIHJlbGVhc2Vfc3BuZWdvX2N0eChjdHgpOworIAorIAlyZXR1cm4gKHJldCk7CisgfQorQEAgLTIyMTMsOCArMjIxMiwxMyBAQCBzcG5lZ29fZ3NzX2NvbnRleHRfdGltZSgKKyAJCQlPTV91aW50MzIJKnRpbWVfcmVjKQorIHsKKyAJT01fdWludDMyIHJldDsKKysJc3BuZWdvX2dzc19jdHhfaWRfdCBzYyA9IChzcG5lZ29fZ3NzX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKwlpZiAoc2MtPmN0eF9oYW5kbGUgPT0gR1NTX0NfTk9fQ09OVEVYVCkKKysJCXJldHVybiAoR1NTX1NfTk9fQ09OVEVYVCk7CisrCisgCXJldCA9IGdzc19jb250ZXh0X3RpbWUobWlub3Jfc3RhdHVzLAorLQkJCSAgICBjb250ZXh0X2hhbmRsZSwKKysJCQkgICAgc2MtPmN0eF9oYW5kbGUsCisgCQkJICAgIHRpbWVfcmVjKTsKKyAJcmV0dXJuIChyZXQpOworIH0KK0BAIC0yMjI2LDkgKzIyMzAsMjAgQEAgc3BuZWdvX2dzc19leHBvcnRfc2VjX2NvbnRleHQoCisgCQkJICAgIGdzc19idWZmZXJfdCBpbnRlcnByb2Nlc3NfdG9rZW4pCisgeworIAlPTV91aW50MzIgcmV0OworKwlzcG5lZ29fZ3NzX2N0eF9pZF90IHNjID0gKihzcG5lZ29fZ3NzX2N0eF9pZF90ICopY29udGV4dF9oYW5kbGU7CisrCisrCS8qIFdlIGRvbid0IGN1cnJlbnRseSBzdXBwb3J0IGV4cG9ydGluZyBwYXJ0aWFsbHkgZXN0YWJsaXNoZWQKKysJICogY29udGV4dHMuICovCisrCWlmICghc2MtPm9wZW5lZCkKKysJCXJldHVybiBHU1NfU19VTkFWQUlMQUJMRTsKKysKKyAJcmV0ID0gZ3NzX2V4cG9ydF9zZWNfY29udGV4dChtaW5vcl9zdGF0dXMsCistCQkJCSAgICBjb250ZXh0X2hhbmRsZSwKKysJCQkJICAgICZzYy0+Y3R4X2hhbmRsZSwKKyAJCQkJICAgIGludGVycHJvY2Vzc190b2tlbik7CisrCWlmIChzYy0+Y3R4X2hhbmRsZSA9PSBHU1NfQ19OT19DT05URVhUKSB7CisrCQlyZWxlYXNlX3NwbmVnb19jdHgoJnNjKTsKKysJCSpjb250ZXh0X2hhbmRsZSA9IEdTU19DX05PX0NPTlRFWFQ7CisrCX0KKyAJcmV0dXJuIChyZXQpOworIH0KKyAKK0BAIC0yMjM4LDExICsyMjUzLDEyIEBAIHNwbmVnb19nc3NfaW1wb3J0X3NlY19jb250ZXh0KAorIAljb25zdCBnc3NfYnVmZmVyX3QJaW50ZXJwcm9jZXNzX3Rva2VuLAorIAlnc3NfY3R4X2lkX3QJCSpjb250ZXh0X2hhbmRsZSkKKyB7CistCU9NX3VpbnQzMiByZXQ7CistCXJldCA9IGdzc19pbXBvcnRfc2VjX2NvbnRleHQobWlub3Jfc3RhdHVzLAorLQkJCQkgICAgaW50ZXJwcm9jZXNzX3Rva2VuLAorLQkJCQkgICAgY29udGV4dF9oYW5kbGUpOworLQlyZXR1cm4gKHJldCk7CisrCS8qCisrCSAqIFVudGlsIHdlIGltcGxlbWVudCBwYXJ0aWFsIGNvbnRleHQgZXhwb3J0cywgdGhlcmUgYXJlIG5vIFNQTkVHTworKwkgKiBleHBvcnRlZCBjb250ZXh0IHRva2Vucywgb25seSB0b2tlbnMgZm9yIHVuZGVybHlpbmcgbWVjaHMuICBTbyBqdXN0CisrCSAqIHJldHVybiBhbiBlcnJvciBmb3Igbm93LgorKwkgKi8KKysJcmV0dXJuIEdTU19TX1VOQVZBSUxBQkxFOworIH0KKyAjZW5kaWYgLyogTEVBTl9DTElFTlQgKi8KKyAKK0BAIC0yMjU5LDE2ICsyMjc1LDQ4IEBAIHNwbmVnb19nc3NfaW5xdWlyZV9jb250ZXh0KAorIAkJCWludAkJKm9wZW5lZCkKKyB7CisgCU9NX3VpbnQzMiByZXQgPSBHU1NfU19DT01QTEVURTsKKysJc3BuZWdvX2dzc19jdHhfaWRfdCBzYyA9IChzcG5lZ29fZ3NzX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKwlpZiAoc3JjX25hbWUgIT0gTlVMTCkKKysJCSpzcmNfbmFtZSA9IEdTU19DX05PX05BTUU7CisrCWlmICh0YXJnX25hbWUgIT0gTlVMTCkKKysJCSp0YXJnX25hbWUgPSBHU1NfQ19OT19OQU1FOworKwlpZiAobGlmZXRpbWVfcmVjICE9IE5VTEwpCisrCQkqbGlmZXRpbWVfcmVjID0gMDsKKysJaWYgKG1lY2hfdHlwZSAhPSBOVUxMKQorKwkJKm1lY2hfdHlwZSA9IChnc3NfT0lEKWdzc19tZWNoX3NwbmVnbzsKKysJaWYgKGN0eF9mbGFncyAhPSBOVUxMKQorKwkJKmN0eF9mbGFncyA9IDA7CisrCWlmIChsb2NhbGx5X2luaXRpYXRlZCAhPSBOVUxMKQorKwkJKmxvY2FsbHlfaW5pdGlhdGVkID0gc2MtPmluaXRpYXRlOworKwlpZiAob3BlbmVkICE9IE5VTEwpCisrCQkqb3BlbmVkID0gc2MtPm9wZW5lZDsKKysKKysJaWYgKHNjLT5jdHhfaGFuZGxlICE9IEdTU19DX05PX0NPTlRFWFQpIHsKKysJCXJldCA9IGdzc19pbnF1aXJlX2NvbnRleHQobWlub3Jfc3RhdHVzLCBzYy0+Y3R4X2hhbmRsZSwKKysJCQkJCSAgc3JjX25hbWUsIHRhcmdfbmFtZSwgbGlmZXRpbWVfcmVjLAorKwkJCQkJICBtZWNoX3R5cGUsIGN0eF9mbGFncywgTlVMTCwgTlVMTCk7CisrCX0KKyAKKy0JcmV0ID0gZ3NzX2lucXVpcmVfY29udGV4dChtaW5vcl9zdGF0dXMsCistCQkJCWNvbnRleHRfaGFuZGxlLAorLQkJCQlzcmNfbmFtZSwKKy0JCQkJdGFyZ19uYW1lLAorLQkJCQlsaWZldGltZV9yZWMsCistCQkJCW1lY2hfdHlwZSwKKy0JCQkJY3R4X2ZsYWdzLAorLQkJCQlsb2NhbGx5X2luaXRpYXRlZCwKKy0JCQkJb3BlbmVkKTsKKysJaWYgKCFzYy0+b3BlbmVkKSB7CisrCQkvKgorKwkJICogV2UgYXJlIHN0aWxsIGRvaW5nIFNQTkVHTyBuZWdvdGlhdGlvbiwgc28gcmVwb3J0IFNQTkVHTyBhcworKwkJICogdGhlIE9JRC4gIEFmdGVyIG5lZ290aWF0aW9uIGlzIGNvbXBsZXRlIHdlIHdpbGwgcmVwb3J0IHRoZQorKwkJICogdW5kZXJseWluZyBtZWNoYW5pc20gT0lELgorKwkJICovCisrCQlpZiAobWVjaF90eXBlICE9IE5VTEwpCisrCQkJKm1lY2hfdHlwZSA9IChnc3NfT0lEKWdzc19tZWNoX3NwbmVnbzsKKysKKysJCS8qCisrCQkgKiBSZW1vdmUgZmxhZ3Mgd2UgZG9uJ3Qgc3VwcG9ydCB3aXRoIHBhcnRpYWxseS1lc3RhYmxpc2hlZAorKwkJICogY29udGV4dHMuICAoQ2hhbmdlIHRoaXMgdG8ga2VlcCBHU1NfQ19UUkFOU19GTEFHIGlmIHdlIGFkZAorKwkJICogc3VwcG9ydCBmb3IgZXhwb3J0aW5nIHBhcnRpYWwgU1BORUdPIGNvbnRleHRzLikKKysJCSAqLworKwkJaWYgKGN0eF9mbGFncyAhPSBOVUxMKSB7CisrCQkJKmN0eF9mbGFncyAmPSB+R1NTX0NfUFJPVF9SRUFEWV9GTEFHOworKwkJCSpjdHhfZmxhZ3MgJj0gfkdTU19DX1RSQU5TX0ZMQUc7CisrCQl9CisrCX0KKyAKKyAJcmV0dXJuIChyZXQpOworIH0KK0BAIC0yMjgzLDggKzIzMzEsMTMgQEAgc3BuZWdvX2dzc193cmFwX3NpemVfbGltaXQoCisgCU9NX3VpbnQzMgkqbWF4X2lucHV0X3NpemUpCisgeworIAlPTV91aW50MzIgcmV0OworKwlzcG5lZ29fZ3NzX2N0eF9pZF90IHNjID0gKHNwbmVnb19nc3NfY3R4X2lkX3QpY29udGV4dF9oYW5kbGU7CisrCisrCWlmIChzYy0+Y3R4X2hhbmRsZSA9PSBHU1NfQ19OT19DT05URVhUKQorKwkJcmV0dXJuIChHU1NfU19OT19DT05URVhUKTsKKysKKyAJcmV0ID0gZ3NzX3dyYXBfc2l6ZV9saW1pdChtaW5vcl9zdGF0dXMsCistCQkJCWNvbnRleHRfaGFuZGxlLAorKwkJCQlzYy0+Y3R4X2hhbmRsZSwKKyAJCQkJY29uZl9yZXFfZmxhZywKKyAJCQkJcW9wX3JlcSwKKyAJCQkJcmVxX291dHB1dF9zaXplLAorQEAgLTIzMDEsOCArMjM1NCwxMyBAQCBzcG5lZ29fZ3NzX2dldF9taWMoCisgCQlnc3NfYnVmZmVyX3QgbWVzc2FnZV90b2tlbikKKyB7CisgCU9NX3VpbnQzMiByZXQ7CisrCXNwbmVnb19nc3NfY3R4X2lkX3Qgc2MgPSAoc3BuZWdvX2dzc19jdHhfaWRfdCljb250ZXh0X2hhbmRsZTsKKysKKysJaWYgKHNjLT5jdHhfaGFuZGxlID09IEdTU19DX05PX0NPTlRFWFQpCisrCQlyZXR1cm4gKEdTU19TX05PX0NPTlRFWFQpOworKworIAlyZXQgPSBnc3NfZ2V0X21pYyhtaW5vcl9zdGF0dXMsCistCQkgICAgY29udGV4dF9oYW5kbGUsCisrCQkgICAgc2MtPmN0eF9oYW5kbGUsCisgCQkgICAgcW9wX3JlcSwKKyAJCSAgICBtZXNzYWdlX2J1ZmZlciwKKyAJCSAgICBtZXNzYWdlX3Rva2VuKTsKK0BAIC0yMzE4LDggKzIzNzYsMTMgQEAgc3BuZWdvX2dzc192ZXJpZnlfbWljKAorIAkJZ3NzX3FvcF90ICpxb3Bfc3RhdGUpCisgeworIAlPTV91aW50MzIgcmV0OworKwlzcG5lZ29fZ3NzX2N0eF9pZF90IHNjID0gKHNwbmVnb19nc3NfY3R4X2lkX3QpY29udGV4dF9oYW5kbGU7CisrCisrCWlmIChzYy0+Y3R4X2hhbmRsZSA9PSBHU1NfQ19OT19DT05URVhUKQorKwkJcmV0dXJuIChHU1NfU19OT19DT05URVhUKTsKKysKKyAJcmV0ID0gZ3NzX3ZlcmlmeV9taWMobWlub3Jfc3RhdHVzLAorLQkJCSAgICBjb250ZXh0X2hhbmRsZSwKKysJCQkgICAgc2MtPmN0eF9oYW5kbGUsCisgCQkJICAgIG1zZ19idWZmZXIsCisgCQkJICAgIHRva2VuX2J1ZmZlciwKKyAJCQkgICAgcW9wX3N0YXRlKTsKK0BAIC0yMzM0LDggKzIzOTcsMTQgQEAgc3BuZWdvX2dzc19pbnF1aXJlX3NlY19jb250ZXh0X2J5X29pZCgKKyAJCWdzc19idWZmZXJfc2V0X3QgKmRhdGFfc2V0KQorIHsKKyAJT01fdWludDMyIHJldDsKKysJc3BuZWdvX2dzc19jdHhfaWRfdCBzYyA9IChzcG5lZ29fZ3NzX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKwkvKiBUaGVyZSBhcmUgbm8gU1BORUdPLXNwZWNpZmljIE9JRHMgZm9yIHRoaXMgZnVuY3Rpb24uICovCisrCWlmIChzYy0+Y3R4X2hhbmRsZSA9PSBHU1NfQ19OT19DT05URVhUKQorKwkJcmV0dXJuIChHU1NfU19VTkFWQUlMQUJMRSk7CisrCisgCXJldCA9IGdzc19pbnF1aXJlX3NlY19jb250ZXh0X2J5X29pZChtaW5vcl9zdGF0dXMsCistCQkJICAgIGNvbnRleHRfaGFuZGxlLAorKwkJCSAgICBzYy0+Y3R4X2hhbmRsZSwKKyAJCQkgICAgZGVzaXJlZF9vYmplY3QsCisgCQkJICAgIGRhdGFfc2V0KTsKKyAJcmV0dXJuIChyZXQpOworQEAgLTI0MDQsOCArMjQ3MywxNSBAQCBzcG5lZ29fZ3NzX3NldF9zZWNfY29udGV4dF9vcHRpb24oCisgCQljb25zdCBnc3NfYnVmZmVyX3QgdmFsdWUpCisgeworIAlPTV91aW50MzIgcmV0OworKwlzcG5lZ29fZ3NzX2N0eF9pZF90IHNjID0gKHNwbmVnb19nc3NfY3R4X2lkX3QpKmNvbnRleHRfaGFuZGxlOworKworKwkvKiBUaGVyZSBhcmUgbm8gU1BORUdPLXNwZWNpZmljIE9JRHMgZm9yIHRoaXMgZnVuY3Rpb24sIGFuZCB3ZSBjYW5ub3QKKysJICogY29uc3RydWN0IGFuIGVtcHR5IFNQTkVHTyBjb250ZXh0IHdpdGggaXQuICovCisrCWlmIChzYyA9PSBOVUxMIHx8IHNjLT5jdHhfaGFuZGxlID09IEdTU19DX05PX0NPTlRFWFQpCisrCQlyZXR1cm4gKEdTU19TX1VOQVZBSUxBQkxFKTsKKysKKyAJcmV0ID0gZ3NzX3NldF9zZWNfY29udGV4dF9vcHRpb24obWlub3Jfc3RhdHVzLAorLQkJCSAgICBjb250ZXh0X2hhbmRsZSwKKysJCQkgICAgJnNjLT5jdHhfaGFuZGxlLAorIAkJCSAgICBkZXNpcmVkX29iamVjdCwKKyAJCQkgICAgdmFsdWUpOworIAlyZXR1cm4gKHJldCk7CitAQCAtMjQyMiw4ICsyNDk4LDEzIEBAIHNwbmVnb19nc3Nfd3JhcF9hZWFkKE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLAorIAkJICAgICBnc3NfYnVmZmVyX3Qgb3V0cHV0X21lc3NhZ2VfYnVmZmVyKQorIHsKKyAJT01fdWludDMyIHJldDsKKysJc3BuZWdvX2dzc19jdHhfaWRfdCBzYyA9IChzcG5lZ29fZ3NzX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKwlpZiAoc2MtPmN0eF9oYW5kbGUgPT0gR1NTX0NfTk9fQ09OVEVYVCkKKysJCXJldHVybiAoR1NTX1NfTk9fQ09OVEVYVCk7CisrCisgCXJldCA9IGdzc193cmFwX2FlYWQobWlub3Jfc3RhdHVzLAorLQkJCSAgICBjb250ZXh0X2hhbmRsZSwKKysJCQkgICAgc2MtPmN0eF9oYW5kbGUsCisgCQkJICAgIGNvbmZfcmVxX2ZsYWcsCisgCQkJICAgIHFvcF9yZXEsCisgCQkJICAgIGlucHV0X2Fzc29jX2J1ZmZlciwKK0BAIC0yNDQ0LDggKzI1MjUsMTMgQEAgc3BuZWdvX2dzc191bndyYXBfYWVhZChPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKyAJCSAgICAgICBnc3NfcW9wX3QgKnFvcF9zdGF0ZSkKKyB7CisgCU9NX3VpbnQzMiByZXQ7CisrCXNwbmVnb19nc3NfY3R4X2lkX3Qgc2MgPSAoc3BuZWdvX2dzc19jdHhfaWRfdCljb250ZXh0X2hhbmRsZTsKKysKKysJaWYgKHNjLT5jdHhfaGFuZGxlID09IEdTU19DX05PX0NPTlRFWFQpCisrCQlyZXR1cm4gKEdTU19TX05PX0NPTlRFWFQpOworKworIAlyZXQgPSBnc3NfdW53cmFwX2FlYWQobWlub3Jfc3RhdHVzLAorLQkJCSAgICAgIGNvbnRleHRfaGFuZGxlLAorKwkJCSAgICAgIHNjLT5jdHhfaGFuZGxlLAorIAkJCSAgICAgIGlucHV0X21lc3NhZ2VfYnVmZmVyLAorIAkJCSAgICAgIGlucHV0X2Fzc29jX2J1ZmZlciwKKyAJCQkgICAgICBvdXRwdXRfcGF5bG9hZF9idWZmZXIsCitAQCAtMjQ2NCw4ICsyNTUwLDEzIEBAIHNwbmVnb19nc3Nfd3JhcF9pb3YoT01fdWludDMyICptaW5vcl9zdGF0dXMsCisgCQkgICAgaW50IGlvdl9jb3VudCkKKyB7CisgCU9NX3VpbnQzMiByZXQ7CisrCXNwbmVnb19nc3NfY3R4X2lkX3Qgc2MgPSAoc3BuZWdvX2dzc19jdHhfaWRfdCljb250ZXh0X2hhbmRsZTsKKysKKysJaWYgKHNjLT5jdHhfaGFuZGxlID09IEdTU19DX05PX0NPTlRFWFQpCisrCQlyZXR1cm4gKEdTU19TX05PX0NPTlRFWFQpOworKworIAlyZXQgPSBnc3Nfd3JhcF9pb3YobWlub3Jfc3RhdHVzLAorLQkJCSAgIGNvbnRleHRfaGFuZGxlLAorKwkJCSAgIHNjLT5jdHhfaGFuZGxlLAorIAkJCSAgIGNvbmZfcmVxX2ZsYWcsCisgCQkJICAgcW9wX3JlcSwKKyAJCQkgICBjb25mX3N0YXRlLAorQEAgLTI0ODMsOCArMjU3NCwxMyBAQCBzcG5lZ29fZ3NzX3Vud3JhcF9pb3YoT01fdWludDMyICptaW5vcl9zdGF0dXMsCisgCQkgICAgICBpbnQgaW92X2NvdW50KQorIHsKKyAJT01fdWludDMyIHJldDsKKysJc3BuZWdvX2dzc19jdHhfaWRfdCBzYyA9IChzcG5lZ29fZ3NzX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKwlpZiAoc2MtPmN0eF9oYW5kbGUgPT0gR1NTX0NfTk9fQ09OVEVYVCkKKysJCXJldHVybiAoR1NTX1NfTk9fQ09OVEVYVCk7CisrCisgCXJldCA9IGdzc191bndyYXBfaW92KG1pbm9yX3N0YXR1cywKKy0JCQkgICAgIGNvbnRleHRfaGFuZGxlLAorKwkJCSAgICAgc2MtPmN0eF9oYW5kbGUsCisgCQkJICAgICBjb25mX3N0YXRlLAorIAkJCSAgICAgcW9wX3N0YXRlLAorIAkJCSAgICAgaW92LAorQEAgLTI1MDIsOCArMjU5OCwxMyBAQCBzcG5lZ29fZ3NzX3dyYXBfaW92X2xlbmd0aChPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKyAJCQkgICBpbnQgaW92X2NvdW50KQorIHsKKyAJT01fdWludDMyIHJldDsKKysJc3BuZWdvX2dzc19jdHhfaWRfdCBzYyA9IChzcG5lZ29fZ3NzX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKwlpZiAoc2MtPmN0eF9oYW5kbGUgPT0gR1NTX0NfTk9fQ09OVEVYVCkKKysJCXJldHVybiAoR1NTX1NfTk9fQ09OVEVYVCk7CisrCisgCXJldCA9IGdzc193cmFwX2lvdl9sZW5ndGgobWlub3Jfc3RhdHVzLAorLQkJCQkgIGNvbnRleHRfaGFuZGxlLAorKwkJCQkgIHNjLT5jdHhfaGFuZGxlLAorIAkJCQkgIGNvbmZfcmVxX2ZsYWcsCisgCQkJCSAgcW9wX3JlcSwKKyAJCQkJICBjb25mX3N0YXRlLAorQEAgLTI1MjAsOCArMjYyMSwxMyBAQCBzcG5lZ29fZ3NzX2NvbXBsZXRlX2F1dGhfdG9rZW4oCisgCQlnc3NfYnVmZmVyX3QgaW5wdXRfbWVzc2FnZV9idWZmZXIpCisgeworIAlPTV91aW50MzIgcmV0OworKwlzcG5lZ29fZ3NzX2N0eF9pZF90IHNjID0gKHNwbmVnb19nc3NfY3R4X2lkX3QpY29udGV4dF9oYW5kbGU7CisrCisrCWlmIChzYy0+Y3R4X2hhbmRsZSA9PSBHU1NfQ19OT19DT05URVhUKQorKwkJcmV0dXJuIChHU1NfU19VTkFWQUlMQUJMRSk7CisrCisgCXJldCA9IGdzc19jb21wbGV0ZV9hdXRoX3Rva2VuKG1pbm9yX3N0YXR1cywKKy0JCQkJICAgICAgY29udGV4dF9oYW5kbGUsCisrCQkJCSAgICAgIHNjLT5jdHhfaGFuZGxlLAorIAkJCQkgICAgICBpbnB1dF9tZXNzYWdlX2J1ZmZlcik7CisgCXJldHVybiAocmV0KTsKKyB9CitAQCAtMjc3Myw4ICsyODc5LDEzIEBAIHNwbmVnb19nc3NfcHNldWRvX3JhbmRvbShPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKyAJCQkgZ3NzX2J1ZmZlcl90IHByZl9vdXQpCisgeworIAlPTV91aW50MzIgcmV0OworKwlzcG5lZ29fZ3NzX2N0eF9pZF90IHNjID0gKHNwbmVnb19nc3NfY3R4X2lkX3QpY29udGV4dDsKKysKKysJaWYgKHNjLT5jdHhfaGFuZGxlID09IEdTU19DX05PX0NPTlRFWFQpCisrCQlyZXR1cm4gKEdTU19TX05PX0NPTlRFWFQpOworKworIAlyZXQgPSBnc3NfcHNldWRvX3JhbmRvbShtaW5vcl9zdGF0dXMsCistCQkJCWNvbnRleHQsCisrCQkJCXNjLT5jdHhfaGFuZGxlLAorIAkJCQlwcmZfa2V5LAorIAkJCQlwcmZfaW4sCisgCQkJCWRlc2lyZWRfb3V0cHV0X2xlbiwKK0BAIC0yOTE1LDcgKzMwMjYsMTIgQEAgc3BuZWdvX2dzc19nZXRfbWljX2lvdihPTV91aW50MzIgKm1pbm9yX3N0YXR1cywgZ3NzX2N0eF9pZF90IGNvbnRleHRfaGFuZGxlLAorIAkJICAgICAgIGdzc19xb3BfdCBxb3BfcmVxLCBnc3NfaW92X2J1ZmZlcl9kZXNjICppb3YsCisgCQkgICAgICAgaW50IGlvdl9jb3VudCkKKyB7CistICAgIHJldHVybiBnc3NfZ2V0X21pY19pb3YobWlub3Jfc3RhdHVzLCBjb250ZXh0X2hhbmRsZSwgcW9wX3JlcSwgaW92LAorKyAgICBzcG5lZ29fZ3NzX2N0eF9pZF90IHNjID0gKHNwbmVnb19nc3NfY3R4X2lkX3QpY29udGV4dF9oYW5kbGU7CisrCisrICAgIGlmIChzYy0+Y3R4X2hhbmRsZSA9PSBHU1NfQ19OT19DT05URVhUKQorKwkgICAgcmV0dXJuIChHU1NfU19OT19DT05URVhUKTsKKysKKysgICAgcmV0dXJuIGdzc19nZXRfbWljX2lvdihtaW5vcl9zdGF0dXMsIHNjLT5jdHhfaGFuZGxlLCBxb3BfcmVxLCBpb3YsCisgCQkJICAgaW92X2NvdW50KTsKKyB9CisgCitAQCAtMjkyNCw3ICszMDQwLDEyIEBAIHNwbmVnb19nc3NfdmVyaWZ5X21pY19pb3YoT01fdWludDMyICptaW5vcl9zdGF0dXMsIGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwKKyAJCQkgIGdzc19xb3BfdCAqcW9wX3N0YXRlLCBnc3NfaW92X2J1ZmZlcl9kZXNjICppb3YsCisgCQkJICBpbnQgaW92X2NvdW50KQorIHsKKy0gICAgcmV0dXJuIGdzc192ZXJpZnlfbWljX2lvdihtaW5vcl9zdGF0dXMsIGNvbnRleHRfaGFuZGxlLCBxb3Bfc3RhdGUsIGlvdiwKKysgICAgc3BuZWdvX2dzc19jdHhfaWRfdCBzYyA9IChzcG5lZ29fZ3NzX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKyAgICBpZiAoc2MtPmN0eF9oYW5kbGUgPT0gR1NTX0NfTk9fQ09OVEVYVCkKKysJICAgIHJldHVybiAoR1NTX1NfTk9fQ09OVEVYVCk7CisrCisrICAgIHJldHVybiBnc3NfdmVyaWZ5X21pY19pb3YobWlub3Jfc3RhdHVzLCBzYy0+Y3R4X2hhbmRsZSwgcW9wX3N0YXRlLCBpb3YsCisgCQkJICAgICAgaW92X2NvdW50KTsKKyB9CisgCitAQCAtMjkzMyw3ICszMDU0LDEyIEBAIHNwbmVnb19nc3NfZ2V0X21pY19pb3ZfbGVuZ3RoKE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLAorIAkJCSAgICAgIGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwgZ3NzX3FvcF90IHFvcF9yZXEsCisgCQkJICAgICAgZ3NzX2lvdl9idWZmZXJfZGVzYyAqaW92LCBpbnQgaW92X2NvdW50KQorIHsKKy0gICAgcmV0dXJuIGdzc19nZXRfbWljX2lvdl9sZW5ndGgobWlub3Jfc3RhdHVzLCBjb250ZXh0X2hhbmRsZSwgcW9wX3JlcSwgaW92LAorKyAgICBzcG5lZ29fZ3NzX2N0eF9pZF90IHNjID0gKHNwbmVnb19nc3NfY3R4X2lkX3QpY29udGV4dF9oYW5kbGU7CisrCisrICAgIGlmIChzYy0+Y3R4X2hhbmRsZSA9PSBHU1NfQ19OT19DT05URVhUKQorKwkgICAgcmV0dXJuIChHU1NfU19OT19DT05URVhUKTsKKysKKysgICAgcmV0dXJuIGdzc19nZXRfbWljX2lvdl9sZW5ndGgobWlub3Jfc3RhdHVzLCBzYy0+Y3R4X2hhbmRsZSwgcW9wX3JlcSwgaW92LAorIAkJCQkgIGlvdl9jb3VudCk7CisgfQorIAorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1L0ZpeC1idWlsZF9wcmluY2lwYWwtbWVtb3J5LWJ1Zy1DVkUtMjAxNS0yNjk3LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNS9GaXgtYnVpbGRfcHJpbmNpcGFsLW1lbW9yeS1idWctQ1ZFLTIwMTUtMjY5Ny5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjBjMThiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNS9GaXgtYnVpbGRfcHJpbmNpcGFsLW1lbW9yeS1idWctQ1ZFLTIwMTUtMjY5Ny5wYXRjaApAQCAtMCwwICsxLDU4IEBACitGcm9tIDljYjYzNzExZTYzMDQyZjIyZGE5MTRiYTAzOWM0NTM3YjIyZThmYjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBHcmVnIEh1ZHNvbiA8Z2h1ZHNvbkBtaXQuZWR1PgorRGF0ZTogRnJpLCAyNSBTZXAgMjAxNSAxMjo1MTo0NyAtMDQwMAorU3ViamVjdDogW1BBVENIIDMvNF0gRml4IGJ1aWxkX3ByaW5jaXBhbCBtZW1vcnkgYnVnIFtDVkUtMjAxNS0yNjk3XQorCitJbiBidWlsZF9wcmluY2lwYWxfdmEoKSwgdXNlIGs1bWVtZHVwMCgpIGluc3RlYWQgb2Ygc3RyZHVwKCkgdG8gbWFrZSBhCitjb3B5IG9mIHRoZSByZWFsbSwgdG8gZW5zdXJlIHRoYXQgd2UgYWxsb2NhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mCitieXRlcyBhbmQgZG8gbm90IHJlYWQgcGFzdCB0aGUgZW5kIG9mIHRoZSBpbnB1dCBzdHJpbmcuICBUaGlzIGJ1ZworYWZmZWN0cyBrcmI1X2J1aWxkX3ByaW5jaXBhbCgpLCBrcmI1X2J1aWxkX3ByaW5jaXBhbF92YSgpLCBhbmQKK2tyYjVfYnVpbGRfcHJpbmNpcGFsX2FsbG9jX3ZhKCkuICBrcmI1X2J1aWxkX3ByaW5jaXBhbF9leHQoKSBpcyBub3QKK2FmZmVjdGVkLgorCitDVkUtMjAxNS0yNjk3OgorCitJbiBNSVQga3JiNSAxLjcgYW5kIGxhdGVyLCBhbiBhdXRoZW50aWNhdGVkIGF0dGFja2VyIG1heSBiZSBhYmxlIHRvCitjYXVzZSBhIEtEQyB0byBjcmFzaCB1c2luZyBhIFRHUyByZXF1ZXN0IHdpdGggYSBsYXJnZSByZWFsbSBmaWVsZAorYmVnaW5uaW5nIHdpdGggYSBudWxsIGJ5dGUuICBJZiB0aGUgS0RDIGF0dGVtcHRzIHRvIGZpbmQgYSByZWZlcnJhbCB0bworYW5zd2VyIHRoZSByZXF1ZXN0LCBpdCBjb25zdHJ1Y3RzIGEgcHJpbmNpcGFsIG5hbWUgZm9yIGxvb2t1cCB1c2luZwora3JiNV9idWlsZF9wcmluY2lwYWwoKSB3aXRoIHRoZSByZXF1ZXN0ZWQgcmVhbG0uICBEdWUgdG8gYSBidWcgaW4gdGhpcworZnVuY3Rpb24sIHRoZSBudWxsIGJ5dGUgY2F1c2VzIG9ubHkgb25lIGJ5dGUgYmUgYWxsb2NhdGVkIGZvciB0aGUKK3JlYWxtIGZpZWxkIG9mIHRoZSBjb25zdHJ1Y3RlZCBwcmluY2lwYWwsIGZhciBsZXNzIHRoYW4gaXRzIGxlbmd0aC4KK1N1YnNlcXVlbnQgb3BlcmF0aW9ucyBvbiB0aGUgbG9va3VwIHByaW5jaXBhbCBtYXkgY2F1c2UgYSByZWFkIGJleW9uZAordGhlIGVuZCBvZiB0aGUgbWFwcGVkIG1lbW9yeSByZWdpb24sIGNhdXNpbmcgdGhlIEtEQyBwcm9jZXNzIHRvIGNyYXNoLgorCitDVlNTdjI6IEFWOk4vQUM6TC9BdTpTL0M6Ti9JOk4vQTpDL0U6UE9DL1JMOk9GL1JDOkMKKwordGlja2V0OiA4MjUyIChuZXcpCit0YXJnZXRfdmVyc2lvbjogMS4xNAordGFnczogcHVsbHVwCisKK0JhY2twb3J0IHVwc3RyZWFtIGNvbW1pdDoKK2h0dHBzOi8vZ2l0aHViLmNvbS9rcmI1L2tyYjUvY29tbWl0L2YwYzA5NGExYjc0NWQ5MWVmMmY5YTRlYWUyMTQ5YWFjMDI2YTU3ODkKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorLS0tCisgc3JjL2xpYi9rcmI1L2tyYi9ibGRfcHJpbmMuYyB8IDYgKystLS0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9saWIva3JiNS9rcmIvYmxkX3ByaW5jLmMgYi9zcmMvbGliL2tyYjUva3JiL2JsZF9wcmluYy5jCitpbmRleCBhYjZmZWQ4Li44NjA0MjY4IDEwMDY0NAorLS0tIGEvc3JjL2xpYi9rcmI1L2tyYi9ibGRfcHJpbmMuYworKysrIGIvc3JjL2xpYi9rcmI1L2tyYi9ibGRfcHJpbmMuYworQEAgLTQwLDEwICs0MCw4IEBAIGJ1aWxkX3ByaW5jaXBhbF92YShrcmI1X2NvbnRleHQgY29udGV4dCwga3JiNV9wcmluY2lwYWwgcHJpbmMsCisgICAgIGRhdGEgPSBtYWxsb2Moc2l6ZSAqIHNpemVvZihrcmI1X2RhdGEpKTsKKyAgICAgaWYgKCFkYXRhKSB7IHJldHZhbCA9IEVOT01FTTsgfQorIAorLSAgICBpZiAoIXJldHZhbCkgeworLSAgICAgICAgciA9IHN0cmR1cChyZWFsbSk7CistICAgICAgICBpZiAoIXIpIHsgcmV0dmFsID0gRU5PTUVNOyB9CistICAgIH0KKysgICAgaWYgKCFyZXR2YWwpCisrICAgICAgICByID0gazVtZW1kdXAwKHJlYWxtLCBybGVuLCAmcmV0dmFsKTsKKyAKKyAgICAgd2hpbGUgKCFyZXR2YWwgJiYgKGNvbXBvbmVudCA9IHZhX2FyZyhhcCwgY2hhciAqKSkpIHsKKyAgICAgICAgIGlmIChjb3VudCA9PSBzaXplKSB7CistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjUvY3Jvc3Njb21waWxlX25tLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNS9jcm9zc2NvbXBpbGVfbm0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDNlNjkzNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjUvY3Jvc3Njb21waWxlX25tLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK01vZGlmaWVzIGV4cG9ydC1jaGVjay5wbCB0byB1c2UgbG9vayBmb3IgJEVOVnsnTk0nfSBiZWZvcmUKK2RlZmF1bHRpbmcgdG8gdXNpbmcgJ25tJworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogQW15IEZvbmcgPGFteS5mb25nQHdpbmRyaXZlci5jb20+CistLS0KKworIGV4cG9ydC1jaGVjay5wbCB8ICAgIDcgKysrKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworSW5kZXg6IHNyYy91dGlsL2V4cG9ydC1jaGVjay5wbAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHNyYy5vcmlnL3V0aWwvZXhwb3J0LWNoZWNrLnBsCisrKysgc3JjL3V0aWwvZXhwb3J0LWNoZWNrLnBsCitAQCAtMzgsNyArMzgsMTIgQEAKKyBteSgkZXhmaWxlLCAkbGliZmlsZSkgPSBAQVJHVjsKKyAKKyBAbWlzc2luZyA9ICgpOworLW9wZW4gTk0sICJubSAtRGcgLS1kZWZpbmVkLW9ubHkgJGxpYmZpbGUgfCIgfHwgZGllICJjYW4ndCBydW4gbm0gb24gJGxpYmZpbGU6ICQhIjsKKytpZiAoZGVmaW5lZCgkRU5WeydOTSd9KSkgeworKwkkbm0gPSAkRU5WeydOTSd9OworK30gZWxzZSB7CisrCSRubSA9ICJubSI7CisrfQorK29wZW4gTk0sICIkbm0gLURnIC0tZGVmaW5lZC1vbmx5ICRsaWJmaWxlIHwiIHx8IGRpZSAiY2FuJ3QgcnVuIG5tIG9uICRsaWJmaWxlOiAkISI7Cisgb3BlbiBFWFBPUlQsICI8ICRleGZpbGUiIHx8IGRpZSAiY2FuJ3QgcmVhZCAkZXhmaWxlOiAkISI7CisgCisgQGV4cG9ydCA9IDxFWFBPUlQ+OwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNS9kZWJpYW4tc3VwcHJlc3MtdXNyLWxpYi1pbi1rcmI1LWNvbmZpZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjUvZGViaWFuLXN1cHByZXNzLXVzci1saWItaW4ta3JiNS1jb25maWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjAxODJlZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjUvZGViaWFuLXN1cHByZXNzLXVzci1saWItaW4ta3JiNS1jb25maWcucGF0Y2gKQEAgLTAsMCArMSw0OCBAQAorU3ViamVjdDogW1BBVENIXSBkZWJpYW46IHN1cHByZXNzIC91c3IvbGliIGluIGtyYjUtY29uZmlnCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitIYW5kZWwgbXVsdGktYXJjaCBzdXBwcmVzc2lvbnMKKworVGhlIHBhdGNoIGlzIGZyb20gZGViaWFuLgorCitTaWduZWQtb2ZmLWJ5OiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2J1aWxkLXRvb2xzL2tyYjUtY29uZmlnLmluIHwgICAxNCArKysrKysrKystLS0tLQorIDEgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2J1aWxkLXRvb2xzL2tyYjUtY29uZmlnLmluIGIvc3JjL2J1aWxkLXRvb2xzL2tyYjUtY29uZmlnLmluCitpbmRleCBmNjE4NGRhLi42MzdiYWQ3IDEwMDc1NQorLS0tIGEvc3JjL2J1aWxkLXRvb2xzL2tyYjUtY29uZmlnLmluCisrKysgYi9zcmMvYnVpbGQtdG9vbHMva3JiNS1jb25maWcuaW4KK0BAIC0xMzgsNiArMTM4LDcgQEAgaWYgdGVzdCAtbiAiJGRvX2hlbHAiOyB0aGVuCisgICAgIGVjaG8gIiAgICAgICAgWy0tZGVma3RuYW1lXSAgICAgU2hvdyBidWlsdC1pbiBkZWZhdWx0IGtleXRhYiBuYW1lIgorICAgICBlY2hvICIgICAgICAgIFstLWRlZmNrdG5hbWVdICAgIFNob3cgYnVpbHQtaW4gZGVmYXVsdCBjbGllbnQga2V5dGFiIG5hbWUiCisgICAgIGVjaG8gIiAgICAgICAgWy0tY2ZsYWdzXSAgICAgICAgQ29tcGlsZSB0aW1lIENGTEFHUyIKKysgICAgZWNobyAiICAgICAgICBbLS1kZXBzXSAgICAgICAgICBJbmNsdWRlIGRlcGVuZGVudCBsaWJyYXJpZXMiCisgICAgIGVjaG8gIiAgICAgICAgWy0tbGlic10gICAgICAgICAgTGlzdCBsaWJyYXJpZXMgcmVxdWlyZWQgdG8gbGluayBbTElCUkFSSUVTXSIKKyAgICAgZWNobyAiTGlicmFyaWVzOiIKKyAgICAgZWNobyAiICAgICAgICBrcmI1ICAgICAgICAgICAgICBLZXJiZXJvcyA1IGFwcGxpY2F0aW9uIgorQEAgLTIwOSwxMSArMjEwLDE0IEBAIGZpCisgCisgaWYgdGVzdCAtbiAiJGRvX2xpYnMiOyB0aGVuCisgICAgICMgQXNzdW1lcyAvdXNyL2xpYiBpcyB0aGUgc3RhbmRhcmQgbGlicmFyeSBkaXJlY3RvcnkgZXZlcnl3aGVyZS4uLgorLSAgICBpZiB0ZXN0ICIkbGliZGlyIiA9IC91c3IvbGliOyB0aGVuCistCWxpYmRpcmFyZz0KKy0gICAgZWxzZQorLQlsaWJkaXJhcmc9Ii1MJGxpYmRpciIKKy0gICAgZmkKKysgICAgY2FzZSAkbGliZGlyIGluCisrCS91c3IvbGliKikKKysJICAgIGxpYmRpcmFyZz0KKysJICAgIDs7CisrCSopCisrCSAgICBsaWJkaXJhcmc9Ii1MJGxpYmRpciIKKysJICAgIDs7CisrICAgIGVzYWMKKyAgICAgIyBVZ2x5IGdyb3NzIGhhY2sgZm9yIG91ciBidWlsZCB0cmVlCisgICAgIGxpYl9mbGFncz1gZWNobyAkQ0NfTElOSyB8IHNlZCAtZSAncy9cJChDQykvLycgXAorIAkgICAgLWUgJ3MvXCQoUFVSRSkvLycgXAorLS0gCisxLjcuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1L2V0Yy9kZWZhdWx0L2tyYjUtYWRtaW4tc2VydmVyIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNS9ldGMvZGVmYXVsdC9rcmI1LWFkbWluLXNlcnZlcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODM1OTI5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNS9ldGMvZGVmYXVsdC9rcmI1LWFkbWluLXNlcnZlcgpAQCAtMCwwICsxLDYgQEAKKyMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQuICBJZiB5b3UgY2hhbmdlIGFueXRoaW5nIGluIHRoaXMgZmlsZSBvdGhlciB0aGFuIHRoZQorIyB2YWx1ZXMgb2YgUlVOX0tBRE1JTkQgb3IgREFFTU9OX0FSR1MsIGZpcnN0IHJ1biBkcGtnLXJlY29uZmlndXJlCisjIGtyYjUtYWRtaW4tc2VydmVyIGFuZCBkaXNhYmxlIG1hbmFnaW5nIHRoZSBrYWRtaW4gY29uZmlndXJhdGlvbiB3aXRoCisjIGRlYmNvbmYuICBPdGhlcndpc2UsIGNoYW5nZXMgd2lsbCBiZSBvdmVyd3JpdHRlbi4KKworUlVOX0tBRE1JTkQ9dHJ1ZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNS9ldGMvZGVmYXVsdC9rcmI1LWtkYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjUvZXRjL2RlZmF1bHQva3JiNS1rZGMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzEwYmZjZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjUvZXRjL2RlZmF1bHQva3JiNS1rZGMKQEAgLTAsMCArMSw1IEBACisjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkLiAgT25seSB0aGUgdmFsdWUgb2YgREFFTU9OX0FSR1Mgd2lsbCBiZSBwcmVzZXJ2ZWQuCisjIElmIHlvdSBjaGFuZ2UgYW55dGhpbmcgaW4gdGhpcyBmaWxlIG90aGVyIHRoYW4gREFFTU9OX0FSR1MsIGZpcnN0IHJ1bgorIyBkcGtnLXJlY29uZmlndXJlIGtyYjUta2RjIGFuZCBkaXNhYmxlIG1hbmFnaW5nIHRoZSBLREMgY29uZmlndXJhdGlvbiB3aXRoCisjIGRlYmNvbmYuICBPdGhlcndpc2UsIGNoYW5nZXMgd2lsbCBiZSBvdmVyd3JpdHRlbi4KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNS9ldGMvaW5pdC5kL2tyYjUtYWRtaW4tc2VydmVyIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNS9ldGMvaW5pdC5kL2tyYjUtYWRtaW4tc2VydmVyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc5MjM4ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1L2V0Yy9pbml0LmQva3JiNS1hZG1pbi1zZXJ2ZXIKQEAgLTAsMCArMSwxNDAgQEAKKyMhIC9iaW4vc2gKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6ICAgICAgICAgICAgIGtyYjUtYWRtaW4tc2VydmVyCisjIFJlcXVpcmVkLVN0YXJ0OiAgICAgICAkbG9jYWxfZnMgJHJlbW90ZV9mcyAkbmV0d29yayAkc3lzbG9nCisjIFJlcXVpcmVkLVN0b3A6ICAgICAgICAkbG9jYWxfZnMgJHJlbW90ZV9mcyAkbmV0d29yayAkc3lzbG9nCisjIFNob3VsZC1TdGFydDogICAgICAgICBrcmI1LWtkYworIyBTaG91bGQtU3RvcDogICAgICAgICAga3JiNS1rZGMKKyMgRGVmYXVsdC1TdGFydDogICAgICAgIDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAgICAgICAgIDAgMSA2CisjIFNob3J0LURlc2NyaXB0aW9uOiAgICBNSVQgS2VyYmVyb3MgS0RDIGFkbWluaXN0cmF0aXZlIGRhZW1vbgorIyBEZXNjcmlwdGlvbjogICAgICAgICAgU3RhcnRzLCBzdG9wcywgb3IgcmVzdGFydHMgdGhlIE1JVCBLZXJiZXJvcyBLREMKKyMgICAgICAgICAgICAgICAgICAgICAgIGFkbWluaXN0cmF0aXZlIGRhZW1vbiAoa2FkbWluZCkuICBUaGlzIGRhZW1vbiBhbnN3ZXJzCisjICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0cyBmcm9tIGthZG1pbiBjbGllbnRzIGFuZCBhbGxvd3MgYWRtaW5pc3RyYXRvcnMKKyMgICAgICAgICAgICAgICAgICAgICAgIHRvIGNyZWF0ZSwgZGVsZXRlLCBhbmQgbW9kaWZ5IHByaW5jaXBhbHMgaW4gdGhlIEtEQworIyAgICAgICAgICAgICAgICAgICAgICAgZGF0YWJhc2UuCisjIyMgRU5EIElOSVQgSU5GTworCisjIEF1dGhvcjogU2FtIEhhcnRtYW4gPGhhcnRtYW5zQG1pdC5lZHU+CisjIEF1dGhvcjogUnVzcyBBbGxiZXJ5IDxycmFAZGViaWFuLm9yZz4KKyMKKyMgQmFzZWQgb24gdGhlIC9ldGMvaW5pdC5kL3NrZWxldG9uIHRlbXBsYXRlIGFzIGZvdW5kIGluIGluaXRzY3JpcHRzIHZlcnNpb24KKyMgMi44Ni5kczEtMTUuCisKKyMgSnVuZSwgMjAxMjogQWRvcHRlZCBmb3IgeW9jdG8gPGFteS5mb25nQHdpbmRyaXZlci5jb20+CisKK1BBVEg9L3Vzci9zYmluOi91c3IvYmluOi9zYmluOi9iaW4KK0RFU0M9IktlcmJlcm9zIGFkbWluaXN0cmF0aXZlIHNlcnZlcnMiCitOQU1FPWthZG1pbmQKK0RBRU1PTj0vdXNyL3NiaW4vJE5BTUUKK0RBRU1PTl9BUkdTPSIiCitTQ1JJUFROQU1FPS9ldGMvaW5pdC5kL2tyYjUtYWRtaW4tc2VydmVyCitERUZBVUxUPS9ldGMvZGVmYXVsdC9rcmI1LWFkbWluLXNlcnZlcgorCisjIEV4aXQgaWYgdGhlIHBhY2thZ2UgaXMgbm90IGluc3RhbGxlZC4KK1sgLXggIiREQUVNT04iIF0gfHwgZXhpdCAwCisKKyMgUmVhZCBjb25maWd1cmF0aW9uIGlmIGl0IGlzIHByZXNlbnQuCitbIC1yICIkREVGQVVMVCIgXSAmJiAuICIkREVGQVVMVCIKKworIyBHZXQgdGhlIHNldHRpbmcgb2YgVkVSQk9TRSBhbmQgb3RoZXIgcmNTIHZhcmlhYmxlcy4KK1sgLWYgL2V0Yy9kZWZhdWx0L3JjUyBdICYmIC4gL2V0Yy9kZWZhdWx0L3JjUworCisuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworCitBRE1JTl9TRVJWRVJfTE9HPS92YXIvbG9nL2thZG1pbmQubG9nCitbIC1mICRBRE1JTl9TRVJWRVJfTE9HIF0gJiYgKHRlc3QgISAteCAvc2Jpbi9yZXN0b3JlY29uIFwKKyAgICB8fCAvc2Jpbi9yZXN0b3JlY29uIC1GICRBRE1JTl9TRVJWRVJfTE9HKQorCisjIFJldHVybgorIyAgIDAgaWYgZGFlbW9uIGhhcyBiZWVuIHN0YXJ0ZWQKKyMgICAxIGlmIGRhZW1vbiB3YXMgYWxyZWFkeSBydW5uaW5nCisjICAgMiBpZiBkYWVtb24gY291bGQgbm90IGJlIHN0YXJ0ZWQKK2RvX3N0YXJ0KCkKK3sKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0YXJ0IC0tcXVpZXQgLS1zdGFydGFzICREQUVNT04gLS1uYW1lICROQU1FIC0tdGVzdCBcCisgICAgICAgID4gL2Rldi9udWxsIHx8IHJldHVybiAxCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tc3RhcnRhcyAkREFFTU9OIC0tbmFtZSAkTkFNRSBcCisgICAgICAgIC0tICREQUVNT05fQVJHUyB8fCByZXR1cm4gMgorfQorCisjIFJldHVybgorIyAgIDAgaWYgZGFlbW9uIGhhcyBiZWVuIHN0b3BwZWQKKyMgICAxIGlmIGRhZW1vbiB3YXMgYWxyZWFkeSBzdG9wcGVkCisjICAgMiBpZiBkYWVtb24gY291bGQgbm90IGJlIHN0b3BwZWQKKyMgICBvdGhlciBpZiBhIGZhaWx1cmUgb2NjdXJyZWQKK2RvX3N0b3AoKQoreworICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXF1aWV0IC0tcmV0cnk9VEVSTS8zMC9LSUxMLzUgLS1uYW1lICROQU1FCisgICAgUkVUVkFMPSIkPyIKKyAgICBbICIkUkVUVkFMIiA9IDIgXSAmJiByZXR1cm4gMgorICAgIHJldHVybiAiJFJFVFZBTCIKK30KKworCitjYXNlICIkMSIgaW4KKyAgc3RhcnQpCisgICAgaWYgWyAiJFJVTl9LQURNSU5EIiA9IGZhbHNlIF0gOyB0aGVuCisgICAgICAgIGlmIFsgIiRWRVJCT1NFIiAhPSBubyBdIDsgdGhlbgorICAgICAgICAgICAgZWNobyAiTm90IHN0YXJ0aW5nICRERVNDIHBlciBjb25maWd1cmF0aW9uIgorICAgICAgICBmaQorICAgICAgICBleGl0IDAKKyAgICBmaQorICAgIFsgIiRWRVJCT1NFIiAhPSBubyBdICYmIGVjaG8gIlN0YXJ0aW5nICRERVNDIiAiJE5BTUUiCisgICAgZG9fc3RhcnQKKyAgICBjYXNlICIkPyIgaW4KKyAgICAgIDB8MSkgWyAiJFZFUkJPU0UiICE9IG5vIF0gJiYgZWNobyAwIDs7CisgICAgICAyKSAgIFsgIiRWRVJCT1NFIiAhPSBubyBdICYmIGVjaG8gMSA7OworICAgIGVzYWMKKyAgICA7OworCisgIHN0b3ApCisgICAgWyAiJFZFUkJPU0UiICE9IG5vIF0gJiYgZWNobyAiU3RvcHBpbmcgJERFU0MiICIkTkFNRSIKKyAgICBkb19zdG9wCisgICAgY2FzZSAiJD8iIGluCisgICAgICAwfDEpIFsgIiRWRVJCT1NFIiAhPSBubyBdICYmIGVjaG8gMCA7OworICAgICAgMikgICBbICIkVkVSQk9TRSIgIT0gbm8gXSAmJiBlY2hvIDEgOzsKKyAgICBlc2FjCisgICAgOzsKKworICByZXN0YXJ0fGZvcmNlLXJlbG9hZCkKKyAgICBpZiBbICIkUlVOX0tBRE1JTkQiID0gZmFsc2UgXSA7IHRoZW4KKyAgICAgICAgaWYgWyAiJFZFUkJPU0UiICE9IG5vIF0gOyB0aGVuCisgICAgICAgICAgICBlY2hvICJOb3QgcmVzdGFydGluZyAkREVTQyBwZXIgY29uZmlndXJhdGlvbiIKKyAgICAgICAgZmkKKyAgICAgICAgZXhpdCAwCisgICAgZmkKKyAgICBlY2hvICJSZXN0YXJ0aW5nICRERVNDIiAiJE5BTUUiCisgICAgZG9fc3RvcAorICAgIGNhc2UgIiQ/IiBpbgorICAgICAgMHwxKQorICAgICAgICBkb19zdGFydAorICAgICAgICBjYXNlICIkPyIgaW4KKyAgICAgICAgICAwKSBbICIkVkVSQk9TRSIgIT0gbm8gXSAmJiBlY2hvIDAgOzsKKyAgICAgICAgICAqKSBbICIkVkVSQk9TRSIgIT0gbm8gXSAmJiBlY2hvIDEgOzsKKyAgICAgICAgZXNhYworICAgICAgICA7OworICAgICAgKikKKyAgICAgICAgZWNobyAxCisgICAgICAgIDs7CisgICAgZXNhYworICAgIDs7CisKKyAgc3RhdHVzKQorICAgIHBpZG9mcHJvYyAiJERBRU1PTiIgPi9kZXYvbnVsbAorICAgIHN0YXR1cz0kPworICAgIGlmIFsgJHN0YXR1cyAtZXEgMCBdOyB0aGVuCisgICAgICAgIGVjaG8gIiROQU1FIGlzIHJ1bm5pbmcuIgorICAgIGVsc2UKKyAgICAgICAgZWNobyAiJE5BTUUgaXMgbm90IHJ1bm5pbmcuIgorICAgIGZpCisgICAgZXhpdCAkc3RhdHVzCisgICAgOzsKKworICAqKQorICAgIGVjaG8gIlVzYWdlOiAkU0NSSVBUTkFNRSB7c3RhcnR8c3RvcHxyZXN0YXJ0fGZvcmNlLXJlbG9hZHxzdGF0dXN9IiA+JjIKKyAgICBleGl0IDMKKyAgICA7OworZXNhYworCis6CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1L2V0Yy9pbml0LmQva3JiNS1rZGMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1L2V0Yy9pbml0LmQva3JiNS1rZGMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODY1ZDFiOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjUvZXRjL2luaXQuZC9rcmI1LWtkYwpAQCAtMCwwICsxLDEzMyBAQAorIyEgL2Jpbi9zaAorIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogICAgICAgICAgICAga3JiNS1rZGMKKyMgUmVxdWlyZWQtU3RhcnQ6ICAgICAgICRsb2NhbF9mcyAkcmVtb3RlX2ZzICRuZXR3b3JrICRzeXNsb2cKKyMgUmVxdWlyZWQtU3RvcDogICAgICAgICRsb2NhbF9mcyAkcmVtb3RlX2ZzICRuZXR3b3JrICRzeXNsb2cKKyMgWC1TdGFydC1CZWZvcmU6ICR4LWRpc3BsYXktbWFuYWdlcgorIyBEZWZhdWx0LVN0YXJ0OiAgICAgICAgMiAzIDQgNQorIyBEZWZhdWx0LVN0b3A6ICAgICAgICAgMCAxIDYKKyMgU2hvcnQtRGVzY3JpcHRpb246ICAgIE1JVCBLZXJiZXJvcyBLREMKKyMgRGVzY3JpcHRpb246ICAgICAgICAgIFN0YXJ0cywgc3RvcHMsIG9yIHJlc3RhcnRzIHRoZSBNSVQgS2VyYmVyb3MgS0RDLiAgVGhpcworIyAgICAgICAgICAgICAgICAgICAgICAgZGFlbW9uIHJlc3BvbmRzIHRvIHRpY2tldCByZXF1ZXN0cyBmcm9tIEtlcmJlcm9zCisjICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRzLgorIyMjIEVORCBJTklUIElORk8KKworIyBBdXRob3I6IFNhbSBIYXJ0bWFuIDxoYXJ0bWFuc0BtaXQuZWR1PgorIyBBdXRob3I6IFJ1c3MgQWxsYmVyeSA8cnJhQGRlYmlhbi5vcmc+CisjCisjIEJhc2VkIG9uIHRoZSAvZXRjL2luaXQuZC9za2VsZXRvbiB0ZW1wbGF0ZSBhcyBmb3VuZCBpbiBpbml0c2NyaXB0cyB2ZXJzaW9uCisjIDIuODYuZHMxLTE1LgorCisjIEp1bmUsIDIwMTI6IEFkb3B0ZWQgZm9yIHlvY3RvIDxhbXkuZm9uZ0B3aW5kcml2ZXIuY29tPgorCitQQVRIPS91c3Ivc2JpbjovdXNyL2Jpbjovc2JpbjovYmluCitERVNDPSJLZXJiZXJvcyBLREMiCitOQU1FPWtyYjVrZGMKK0RBRU1PTj0vdXNyL3NiaW4vJE5BTUUKK0RBRU1PTl9BUkdTPSIiCitTQ1JJUFROQU1FPS9ldGMvaW5pdC5kL2tyYjUta2RjCisKKyMgRXhpdCBpZiB0aGUgcGFja2FnZSBpcyBub3QgaW5zdGFsbGVkLgorWyAteCAiJERBRU1PTiIgXSB8fCBleGl0IDAKKworIyBSZWFkIGNvbmZpZ3VyYXRpb24gaWYgaXQgaXMgcHJlc2VudC4KK1sgLXIgL2V0Yy9kZWZhdWx0L2tyYjUta2RjIF0gJiYgLiAvZXRjL2RlZmF1bHQva3JiNS1rZGMKKworIyBHZXQgdGhlIHNldHRpbmcgb2YgVkVSQk9TRSBhbmQgb3RoZXIgcmNTIHZhcmlhYmxlcy4KK1sgLWYgL2V0Yy9kZWZhdWx0L3JjUyBdICYmIC4gL2V0Yy9kZWZhdWx0L3JjUworCisuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworCisjIFJldHVybgorIyAgIDAgaWYgZGFlbW9uIGhhcyBiZWVuIHN0YXJ0ZWQKKyMgICAxIGlmIGRhZW1vbiB3YXMgYWxyZWFkeSBydW5uaW5nCisjICAgMiBpZiBkYWVtb24gY291bGQgbm90IGJlIHN0YXJ0ZWQKK2RvX3N0YXJ0X2tkYygpCit7CisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tc3RhcnRhcyAkREFFTU9OIC0tbmFtZSAkTkFNRSAtLXRlc3QgXAorICAgICAgICA+IC9kZXYvbnVsbCB8fCByZXR1cm4gMQorICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLS1xdWlldCAtLXN0YXJ0YXMgJERBRU1PTiAtLW5hbWUgJE5BTUUgXAorICAgICAgICAtLSAkREFFTU9OX0FSR1MgfHwgcmV0dXJuIDIKK30KKworCisjIFJldHVybgorIyAgIDAgaWYgZGFlbW9uIGhhcyBiZWVuIHN0b3BwZWQKKyMgICAxIGlmIGRhZW1vbiB3YXMgYWxyZWFkeSBzdG9wcGVkCisjICAgMiBpZiBkYWVtb24gY291bGQgbm90IGJlIHN0b3BwZWQKKyMgICBvdGhlciBpZiBhIGZhaWx1cmUgb2NjdXJyZWQKK2RvX3N0b3Bfa2RjKCkKK3sKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLXJldHJ5PVRFUk0vMzAvS0lMTC81IC0tbmFtZSAkTkFNRQorICAgIFJFVFZBTD0iJD8iCisgICAgWyAiJFJFVFZBTCIgPSAyIF0gJiYgcmV0dXJuIDIKKyAgICByZXR1cm4gIiRSRVRWQUwiCit9CisKKworY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorICAgIFsgIiRWRVJCT1NFIiAhPSBubyBdICYmIGVjaG8gIlN0YXJ0aW5nICRERVNDIiAiJE5BTUUiCisgICAgZG9fc3RhcnRfa2RjCisgICAgY2FzZSAiJD8iIGluCisgICAgICAwfDEpCisgICAgICAgICAgICBbICIkVkVSQk9TRSIgIT0gbm8gXSAmJiBlY2hvIDAKKyAgICAgICAgOzsKKyAgICAgIDIpCisgICAgICAgIFsgIiRWRVJCT1NFIiAhPSBubyBdICYmIGVjaG8gMQorICAgICAgICA7OworICAgIGVzYWMKKyAgICA7OworCisgIHN0b3ApCisgICAgWyAiJFZFUkJPU0UiICE9IG5vIF0gJiYgZWNobyAiU3RvcHBpbmcgJERFU0MiICIkTkFNRSIKKyAgICBkb19zdG9wX2tkYworICAgIGNhc2UgIiQ/IiBpbgorICAgICAgMHwxKQorICAgICAgICBbICIkVkVSQk9TRSIgIT0gbm8gXSAmJiBlY2hvICJrcmI1MjRkIgorICAgICAgICA7OworICAgICAgMikKKyAgICAgICAgWyAiJFZFUkJPU0UiICE9IG5vIF0gJiYgZWNobyAxCisgICAgICAgIDs7CisgICAgZXNhYworICAgIDs7CisKKyAgcmVzdGFydHxmb3JjZS1yZWxvYWQpCisgICAgZWNobyAiUmVzdGFydGluZyAkREVTQyIgIiROQU1FIgorICAgIGRvX3N0b3Bfa2RjCisgICAgY2FzZSAiJD8iIGluCisgICAgICAwfDEpCisgICAgICAgIGRvX3N0YXJ0X2tkYworICAgICAgICBjYXNlICIkPyIgaW4KKyAgICAgICAgICAwKQorCSAgZWNobyAwCisJICA7OworICAgICAgICAgIDF8MikKKyAgICAgICAgICAgIGVjaG8gMQorICAgICAgICAgICAgOzsKKyAgICAgICAgZXNhYworICAgICAgICA7OworICAgICAgKikKKyAgICAgICAgZWNobyAxCisgICAgICAgIDs7CisgICAgZXNhYworICAgIDs7CisKKyAgc3RhdHVzKQorICAgIHBpZG9mcHJvYyAiJERBRU1PTiIgPi9kZXYvbnVsbAorICAgIHN0YXR1cz0kPworICAgIGlmIFsgJHN0YXR1cyAtZXEgMCBdOyB0aGVuCisgICAgICAgIGVjaG8gIiROQU1FIGlzIHJ1bm5pbmcuIgorICAgIGVsc2UKKyAgICAgICAgZWNobyAiJE5BTUUgaXMgbm90IHJ1bm5pbmcuIgorICAgIGZpCisgICAgZXhpdCAkc3RhdHVzCisgICAgOzsKKworICAqKQorICAgIGVjaG8gIlVzYWdlOiAkU0NSSVBUTkFNRSB7c3RhcnR8c3RvcHxyZXN0YXJ0fGZvcmNlLXJlbG9hZHxzdGF0dXN9IiA+JjIKKyAgICBleGl0IDMKKyAgICA7OworZXNhYworCis6CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1L2tyYjUtQ1ZFLTIwMTYtMzExOS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjUva3JiNS1DVkUtMjAxNi0zMTE5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3ZmVmZWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1L2tyYjUtQ1ZFLTIwMTYtMzExOS5wYXRjaApAQCAtMCwwICsxLDM2IEBACitTdWJqZWN0OiBrZXJiOiBGaXggTERBUCBudWxsIGRlcmVmIG9uIGVtcHR5IGFyZyBbQ1ZFLTIwMTYtMzExOV0KK0Zyb206IEdyZWcgSHVkc29uCisKK0luIHRoZSBMREFQIEtEQiBtb2R1bGUncyBwcm9jZXNzX2RiX2FyZ3MoKSwgc3RydG9rX3IoKSBtYXkgcmV0dXJuIE5VTEwKK2lmIHRoZXJlIGlzIGFuIGVtcHR5IHN0cmluZyBpbiB0aGUgZGJfYXJncyBhcnJheS4gIENoZWNrIGZvciB0aGlzIGNhc2UKK2FuZCBhdm9pZCBkZXJlZmVyZW5jaW5nIGEgbnVsbCBwb2ludGVyLgorCitDVkUtMjAxNi0zMTE5OgorCitJbiBNSVQga3JiNSAxLjYgYW5kIGxhdGVyLCBhbiBhdXRoZW50aWNhdGVkIGF0dGFja2VyIHdpdGggcGVybWlzc2lvbgordG8gbW9kaWZ5IGEgcHJpbmNpcGFsIGVudHJ5IGNhbiBjYXVzZSBrYWRtaW5kIHRvIGRlcmVmZXJlbmNlIGEgbnVsbAorcG9pbnRlciBieSBzdXBwbHlpbmcgYW4gZW1wdHkgREIgYXJndW1lbnQgdG8gdGhlIG1vZGlmeV9wcmluY2lwYWwKK2NvbW1hbmQsIGlmIGthZG1pbmQgaXMgY29uZmlndXJlZCB0byB1c2UgdGhlIExEQVAgS0RCIG1vZHVsZS4KKworICAgIENWU1N2MiBWZWN0b3I6IEFWOk4vQUM6SC9BdTpTL0M6Ti9JOk4vQTpDL0U6SC9STDpPRi9SQzpORAorCit0aWNrZXQ6IDgzODMgKG5ldykKK3RhcmdldF92ZXJzaW9uOiAxLjE0LW5leHQKK3RhcmdldF92ZXJzaW9uOiAxLjEzLW5leHQKK3RhZ3M6IHB1bGx1cAorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1NpZ25lZC1vZmYtYnk6IFpoaXhpb25nIENoaSA8emhpeGlvbmcuY2hpQHdpbmRyaXZlci5jb20+CitJbmRleDoga3JiNS0xLjEzLjIvc3JjL3BsdWdpbnMva2RiL2xkYXAvbGlia2RiX2xkYXAvbGRhcF9wcmluY2lwYWwyLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBrcmI1LTEuMTMuMi5vcmlnL3NyYy9wbHVnaW5zL2tkYi9sZGFwL2xpYmtkYl9sZGFwL2xkYXBfcHJpbmNpcGFsMi5jCTIwMTUtMDUtMDkgMDc6Mjc6MDIuMDAwMDAwMDAwICswODAwCisrKysga3JiNS0xLjEzLjIvc3JjL3BsdWdpbnMva2RiL2xkYXAvbGlia2RiX2xkYXAvbGRhcF9wcmluY2lwYWwyLmMJMjAxNi0wNC0xMSAxNToxNzoxMi44NzQxNDA1MTggKzA4MDAKK0BAIC0yNjcsNiArMjY3LDcgQEAKKyAgICAgaWYgKGRiX2FyZ3MpIHsKKyAgICAgICAgIGZvciAoaT0wOyBkYl9hcmdzW2ldOyArK2kpIHsKKyAgICAgICAgICAgICBhcmcgPSBzdHJ0b2tfcihkYl9hcmdzW2ldLCAiPSIsICZhcmdfdmFsKTsKKysgICAgICAgICAgICBhcmcgPSAoYXJnICE9IE5VTEwpID8gYXJnIDogIiI7CisgICAgICAgICAgICAgaWYgKHN0cmNtcChhcmcsIFRLVFBPTElDWV9BUkcpID09IDApIHsKKyAgICAgICAgICAgICAgICAgZHB0ciA9ICZ4YXJncy0+dGt0cG9saWN5ZG47CisgICAgICAgICAgICAgfSBlbHNlIHsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjVfMS4xMy4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNV8xLjEzLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzEzYjc2YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjVfMS4xMy4yLmJiCkBAIC0wLDAgKzEsMTA3IEBACitTVU1NQVJZID0gIkEgbmV0d29yayBhdXRoZW50aWNhdGlvbiBwcm90b2NvbCIKK0RFU0NSSVBUSU9OID0gIktlcmJlcm9zIGlzIGEgc3lzdGVtIGZvciBhdXRoZW50aWNhdGluZyB1c2VycyBhbmQgc2VydmljZXMgb24gYSBuZXR3b3JrLiBcCisgS2VyYmVyb3MgaXMgYSB0cnVzdGVkIHRoaXJkLXBhcnR5IHNlcnZpY2UuICBUaGF0IG1lYW5zIHRoYXQgdGhlcmUgaXMgYSBcCisgdGhpcmQgcGFydHkgKHRoZSBLZXJiZXJvcyBzZXJ2ZXIpIHRoYXQgaXMgdHJ1c3RlZCBieSBhbGwgdGhlIGVudGl0aWVzIG9uIFwKKyB0aGUgbmV0d29yayAodXNlcnMgYW5kIHNlcnZpY2VzLCB1c3VhbGx5IGNhbGxlZCAicHJpbmNpcGFscyIpLiBcCisgLiBcCisgVGhpcyBpcyB0aGUgTUlUIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBvZiBLZXJiZXJvcyBWNS4gXAorIC4gXAorIFRoaXMgcGFja2FnZSBjb250YWlucyB0aGUgS2VyYmVyb3Mga2V5IHNlcnZlciAoS0RDKS4gIFRoZSBLREMgbWFuYWdlcyBhbGwgXAorIGF1dGhlbnRpY2F0aW9uIGNyZWRlbnRpYWxzIGZvciBhIEtlcmJlcm9zIHJlYWxtLCBob2xkcyB0aGUgbWFzdGVyIGtleXMgXAorIGZvciB0aGUgcmVhbG0sIGFuZCByZXNwb25kcyB0byBhdXRoZW50aWNhdGlvbiByZXF1ZXN0cy4gIFRoaXMgcGFja2FnZSBcCisgc2hvdWxkIGJlIGluc3RhbGxlZCBvbiBib3RoIG1hc3RlciBhbmQgc2xhdmUgS0RDcy4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly93ZWIubWl0LmVkdS9LZXJiZXJvcy8iCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtTfS8uLi9OT1RJQ0U7bWQ1PWY2NDI0ODMyOGQyZDk5MjhlMWYwNDE1OGI1MjQzZTdmIgorREVQRU5EUyA9ICJuY3Vyc2VzIHV0aWwtbGludXggZTJmc3Byb2dzIGUyZnNwcm9ncy1uYXRpdmUiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBiaW5jb25maWcgcGVybG5hdGl2ZQorCitTSFJUX1ZFUiA9ICIke0BvZS51dGlscy50cmltX3ZlcnNpb24oIiR7UFZ9IiwgMil9IgorU1JDX1VSSSA9ICJodHRwOi8vd2ViLm1pdC5lZHUva2VyYmVyb3MvZGlzdC8ke0JQTn0vJHtTSFJUX1ZFUn0vJHtCUH0tc2lnbmVkLnRhciBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWFjbG9jYWwtQWRkLXBhcmFtZXRlci10by1kaXNhYmxlLWtleXV0aWxzLWRldGVjdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4tc3VwcHJlc3MtdXNyLWxpYi1pbi1rcmI1LWNvbmZpZy5wYXRjaDtzdHJpcGxldmVsPTIgXAorICAgICAgICAgICBmaWxlOi8vRml4LVNQTkVHTy1jb250ZXh0LWFsaWFzaW5nLWJ1Z3MtQ1ZFLTIwMTUtMjY5NS5wYXRjaDtzdHJpcGxldmVsPTIgXAorICAgICAgICAgICBmaWxlOi8vRml4LUlBS0VSQi1jb250ZXh0LWFsaWFzaW5nLWJ1Z3MtQ1ZFLTIwMTUtMjY5Ni5wYXRjaDtzdHJpcGxldmVsPTIgXAorICAgICAgICAgICBmaWxlOi8vRml4LWJ1aWxkX3ByaW5jaXBhbC1tZW1vcnktYnVnLUNWRS0yMDE1LTI2OTcucGF0Y2g7c3RyaXBsZXZlbD0yIFwKKyAgICAgICAgICAgZmlsZTovL0ZpeC1JQUtFUkItY29udGV4dC1leHBvcnQtaW1wb3J0LUNWRS0yMDE1LTI2OTgucGF0Y2g7c3RyaXBsZXZlbD0yIFwKKyAgICAgICAgICAgZmlsZTovL2Nyb3NzY29tcGlsZV9ubS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9ldGMvaW5pdC5kL2tyYjUta2RjIFwKKyAgICAgICAgICAgZmlsZTovL2V0Yy9pbml0LmQva3JiNS1hZG1pbi1zZXJ2ZXIgXAorICAgICAgICAgICBmaWxlOi8vZXRjL2RlZmF1bHQva3JiNS1rZGMgXAorICAgICAgICAgICBmaWxlOi8vZXRjL2RlZmF1bHQva3JiNS1hZG1pbi1zZXJ2ZXIgXAorICAgICAgICAgICBmaWxlOi8va3JiNS1DVkUtMjAxNi0zMTE5LnBhdGNoO3N0cmlwbGV2ZWw9MiBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiZjdlYmZhNmM5OWMxMGIxNjk3OWViZjlhOTgzNDMxODkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTUyOGMzMGIwMjA5Yzc0MWY2ZjMyMGNiODMxMjJkZWQ5MmYyOTE4MDJiNmExYTFkYzFhMDFkY2RiM2ZmNmRlMSIKKworUyA9ICIke1dPUktESVJ9LyR7QlB9L3NyYyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIm9wZW5zc2wiCitQQUNLQUdFQ09ORklHW2xpYmVkaXRdID0gIi0td2l0aC1saWJlZGl0LC0td2l0aG91dC1saWJlZGl0LGxpYmVkaXQiCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC1wa2luaXQtY3J5cHRvLWltcGw9b3BlbnNzbCwsb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdba2V5dXRpbHNdID0gIi0tZW5hYmxlLWtleXV0aWxzLC0tZGlzYWJsZS1rZXl1dGlscyxrZXl1dGlscyIKK1BBQ0tBR0VDT05GSUdbbGRhcF0gPSAiLS13aXRoLWxkYXAsLS13aXRob3V0LWxkYXAsb3BlbmxkYXAiCitQQUNLQUdFQ09ORklHW3JlYWRsaW5lXSA9ICItLXdpdGgtcmVhZGxpbmUsLS13aXRob3V0LXJlYWRsaW5lLHJlYWRsaW5lIgorCitFWFRSQV9PRUNPTkYgKz0gIiAtLXdpdGhvdXQtdGNsIC0td2l0aC1zeXN0ZW0tZXQgLS1kaXNhYmxlLXJwYXRoIgorQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImtyYjVfY3ZfYXR0cl9jb25zdHJ1Y3Rvcl9kZXN0cnVjdG9yPXllcyBhY19jdl9mdW5jX3JlZ2NvbXA9eWVzIFwKKyAgICAgICAgICAgICAgICAgIGFjX2N2X3ByaW50Zl9wb3NpdGlvbmFsPXllcyBhY19jdl9maWxlX19ldGNfZW52aXJvbm1lbnQ9eWVzIFwKKyAgICAgICAgICAgICAgICAgIGFjX2N2X2ZpbGVfX2V0Y19USU1FWk9ORT1ubyIKKworQ0ZMQUdTX2FwcGVuZCArPSAiLURERVNUUlVDVE9SX0FUVFJfV09SS1M9MSAtSSR7U1RBR0lOR19JTkNESVJ9L2V0IgorTERGTEFHU19hcHBlbmQgKz0gIi1scHRocmVhZCIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZ25hdHMiCitGSUxFU18ke1BOfS1kb2MgKz0gIiR7ZGF0YWRpcn0vZXhhbXBsZXMiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9rcmI1L3BsdWdpbnMvKi8uZGVidWciCisKKyMgQXMgdGhpcyByZWNpcGUgZG9lc24ndCBpbmhlcml0IHVwZGF0ZS1yYy5kLCB3ZSBuZWVkIHRvIGFkZCB0aGlzIGRlcGVuZGVuY3kgaGVyZQorUkRFUEVORFNfJHtQTn1fY2xhc3MtdGFyZ2V0ICs9ICJpbml0c2NyaXB0cy1mdW5jdGlvbnMiCisKK2tyYjVfZG9fdW5wYWNrKCkgeworICAgICMgJHtQfS1zaWduZWQudGFyIGNvbnRhaW5zICR7UH0udGFyLmd6LmFzYyBhbmQgJHtQfS50YXIuZ3oKKyAgICB0YXIgeHpmICR7V09SS0RJUn0vJHtCUH0udGFyLmd6IC1DICR7V09SS0RJUn0vCit9CisKK3B5dGhvbiBkb191bnBhY2soKSB7CisgICAgYmIuYnVpbGQuZXhlY19mdW5jKCdiYXNlX2RvX3VucGFjaycsIGQpCisgICAgYmIuYnVpbGQuZXhlY19mdW5jKCdrcmI1X2RvX3VucGFjaycsIGQpCit9CisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBnbnUtY29uZmlnaXplIC0tZm9yY2UKKyAgICBhdXRvcmVjb25mCisgICAgb2VfcnVuY29uZgorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBta2RpciAtcCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kICR7RH0vJHtzeXNjb25mZGlyfS9kZWZhdWx0CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vZXRjL2luaXQuZC8qICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9ldGMvZGVmYXVsdC8qICR7RH0vJHtzeXNjb25mZGlyfS9kZWZhdWx0CisKKyAgICBybSAtcmYgJHtEfS8ke2xvY2Fsc3RhdGVkaXJ9L3J1bgorICAgIG1rZGlyIC1wICR7RH0vJHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcworICAgIGVjaG8gImQgcm9vdCByb290IDA3NTUgJHtsb2NhbHN0YXRlZGlyfS9ydW4va3JiNWtkYyBub25lIiBcCisgICAgICAgICAgID4gJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvODdfa3JiNQorICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZAorICAgICAgICBlY2hvICJkIC9ydW4va3JiNWtkYyAtIC0gLSAtIiBcCisgICAgICAgICAgICAgID4gJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC9rcmI1LmNvbmYKKyAgICBmaQorCit9CisKK3BrZ19wb3N0aW5zdF8ke1BOfSAoKSB7CisgICAgaWYgWyAteiAiJEQiIF07IHRoZW4KKyAgICAgICAgaWYgY29tbWFuZCAtdiBzeXN0ZW1kLXRtcGZpbGVzID4vZGV2L251bGw7IHRoZW4KKyAgICAgICAgICAgIHN5c3RlbWQtdG1wZmlsZXMgLS1jcmVhdGUgJHtzeXNjb25mZGlyfS90bXBmaWxlcy5kL2tyYjUuY29uZgorICAgICAgICBlbGlmIFsgLWUgJHtzeXNjb25mZGlyfS9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggXTsgdGhlbgorICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggdXBkYXRlCisgICAgICAgIGZpCisgICAgZmkKK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYmltb2JpbGVkZXZpY2UvZmlsZXMvY29uZmlndXJlLWZpeC1sYXJnZWZpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGliaW1vYmlsZWRldmljZS9maWxlcy9jb25maWd1cmUtZml4LWxhcmdlZmlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzlhOGI1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYmltb2JpbGVkZXZpY2UvZmlsZXMvY29uZmlndXJlLWZpeC1sYXJnZWZpbGUucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorRml4IGNvbmZpZ3VyZSBlcnJvciBpbiBsYXJnZSBmaWxlIGNoZWNrcyBvbiA2NC1iaXQgYXJjaGl0ZWN0dXJlcworCisgY29uZmlndXJlOjE3ODg4OiBjaGVja2luZyBmb3IgbmF0aXZlIGxhcmdlIGZpbGUgc3VwcG9ydAorIGNvbmZpZ3VyZToxNzg5MTogZXJyb3I6IGluIGAvaG9tZS9qZW5raW5zL29lL3Noci1jb3JlLWJyYW5jaGVzL3Noci1jb3JlL3RtcC1lZ2xpYmMvd29yay9jb3JlMi02NC1vZS1saW51eC9saWJpbW9iaWxlZGV2aWNlLzEuMS40LXIwL2xpYmltb2JpbGVkZXZpY2UtMS4xLjQnOgorIGNvbmZpZ3VyZToxNzg5MzogZXJyb3I6IGNhbm5vdCBydW4gdGVzdCBwcm9ncmFtIHdoaWxlIGNyb3NzIGNvbXBpbGluZworCitjb25maWd1cmUuYWMgd2FzIHVzaW5nIEFDX1NZU19MQVJHRUZJTEUgbWFjcm8gYXMgaXMgdHlwaWNhbCwgYnV0IHRoZW4KK3RoZXJlIHdhcyBhbiBleHRyYSBydW50aW1lIGNoZWNrIGFkZGVkIGJleW9uZCB0aGF0OgorY2hlY2sgaWYgb2ZmX3QgaXMgOCBieXRlcyAoNjQgYml0cykgbG9uZy4KK0lmIHRoYXQgcnVudGltZSBjaGVjayBwYXNzZWQsIF9GSUxFX09GRlNFVF9CSVRTIHdhcyBkZWZpbmVkIGFzIDY0LgorCitSdW50aW1lIGNoZWNrcyBuZWVkIHRvIGdvIGF3YXkgZm9yIGNyb3NzIGNvbXBpbGluZywgYW5kIGx1Y2tpbHkgdGhpcyBleHRyYQorY2hlY2sgd2FzIG5vdCBzZXJ2aW5nIGFueSB1c2VmdWwgcHVycG9zZS4gTm90ZSB0aGF0IG9mZl90IHdhcyAqYWxyZWFkeSoKKzY0IGJpdHMsICp3aXRob3V0KiBzZXR0aW5nIF9GSUxFX09GRlNFVF9CSVRTLCB3aGljaCBtYWtlcyBfRklMRV9PRkZTRVRfQklUUwordW5uZWVkZWQgZm9yIGxhcmdlIGZpbGUgc3VwcG9ydC4gCisKK0lmIEFDX1NZU19MQVJHRUZJTEUgbWFjcm8gc2V0cyBhY19jdl9zeXNfZmlsZV9vZmZzZXRfYml0cz1ubywKK2p1c3QgbGVhdmUgX0ZJTEVfT0ZGU0VUX0JJVFMgdW5kZWZpbmVkIQorCistLS0gbGliaW1vYmlsZWRldmljZS0xLjEuNC9jb25maWd1cmUuYWMub2xkCTIwMTUtMDctMTUgMDE6Mzg6NTAuOTAwMTQzOTI3IC0wNzAwCisrKysgbGliaW1vYmlsZWRldmljZS0xLjEuNC9jb25maWd1cmUuYWMJMjAxNS0wNy0xNSAwMTozOToxMy4zMDAxNDQ0MzAgLTA3MDAKK0BAIC0xNzQsMTYgKzE3NCw2IEBACisgaWYgdGVzdCAiJGVuYWJsZV9sYXJnZWZpbGUiICE9IG5vOyB0aGVuCisgICAgIGlmIHRlc3QgIiRhY19jdl9zeXNfZmlsZV9vZmZzZXRfYml0cyIgIT0gJ25vJzsgdGhlbgorIAlMRlNfQ0ZMQUdTPSIkTEZTX0NGTEFHUyAtRF9GSUxFX09GRlNFVF9CSVRTPSRhY19jdl9zeXNfZmlsZV9vZmZzZXRfYml0cyIKKy0gICAgZWxzZQorLQlBQ19NU0dfQ0hFQ0tJTkcoZm9yIG5hdGl2ZSBsYXJnZSBmaWxlIHN1cHBvcnQpCistCUFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFsjaW5jbHVkZSA8dW5pc3RkLmg+CistCSAgaW50IG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKKy0JICB7CistCSAgICAgIGV4aXQoIShzaXplb2Yob2ZmX3QpID09IDgpKTsKKy0JICB9XSldLAorLQlbYWNfY3Zfc3lzX2ZpbGVfb2Zmc2V0X2JpdHM9NjQ7IEFDX0RFRklORShfRklMRV9PRkZTRVRfQklUUyw2NCkKKy0JIEFDX01TR19SRVNVTFQoeWVzKV0sCistCVtBQ19NU0dfUkVTVUxUKG5vKV0pCisgICAgIGZpCisgICAgIGlmIHRlc3QgIiRhY19jdl9zeXNfbGFyZ2VfZmlsZXMiICE9ICdubyc7IHRoZW4KKyAJTEZTX0NGTEFHUz0iJExGU19DRkxBR1MgLURfTEFSR0VfRklMRVM9MSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJpbW9iaWxlZGV2aWNlL2ZpbGVzL2lubGluZS13aXRob3V0LWRlZmluaXRpb24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGliaW1vYmlsZWRldmljZS9maWxlcy9pbmxpbmUtd2l0aG91dC1kZWZpbml0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhNzg5NWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGliaW1vYmlsZWRldmljZS9maWxlcy9pbmxpbmUtd2l0aG91dC1kZWZpbml0aW9uLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0ZpeCBsaW5rIGVycm9yIHdpdGggZ2NjIDUgdG9vbGNoYWlucworCisgYWZjLmM6MjU4OiBlcnJvcjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byAnZGVidWdfYnVmZmVyJworIGNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cworCitkZWJ1Zy5oIGhlYWRlciB3YXMgZGVjbGFyaW5nIHRoaW5ncyBpbmxpbmUgd2l0aG91dCBwcm92aWRpbmcgYSBkZWZpbml0aW9uLgorRmlsZXMgdGhhdCBpbmNsdWRlZCB0aGlzIGhlYWRlciB0aGVuIGZhaWxlZCB0byBsaW5rIGFnYWluc3QgdGhlIGNvcnJlc3BvbmRpbmcKK2V4dGVybmFsIHN5bWJvbCBpbiBkZWJ1Zy5jLCBiZWNhdXNlIHRoZSBsaW5rZXIgdG9vayB0aGUgJ2lubGluZScga2V5d29yZAorc2VyaW91c2x5IHJhdGhlciB0aGFuIGlnbm9yaW5nIGl0LgorCistLS0gbGliaW1vYmlsZWRldmljZS0xLjEuNC9zcmMvZGVidWcuaC5vcmlnCTIwMTUtMTAtMDMgMTY6MjQ6MDguNzU4NzQwMzg2IC0wNzAwCisrKysgbGliaW1vYmlsZWRldmljZS0xLjEuNC9zcmMvZGVidWcuaAkyMDE1LTEwLTAzIDE2OjI0OjIyLjcwNjc0MDM1NSAtMDcwMAorQEAgLTQ0LDE0ICs0NCwxNCBAQAorICNkZWZpbmUgZGVidWdfcGxpc3QoYSkKKyAjZW5kaWYKKyAKKy1MSUJJTU9CSUxFREVWSUNFX0lOVEVSTkFMIGlubGluZSB2b2lkIGRlYnVnX2luZm9fcmVhbChjb25zdCBjaGFyICpmdW5jLAorK0xJQklNT0JJTEVERVZJQ0VfSU5URVJOQUwgdm9pZCBkZWJ1Z19pbmZvX3JlYWwoY29uc3QgY2hhciAqZnVuYywKKyAJCQkJCQkJCQkJCWNvbnN0IGNoYXIgKmZpbGUsCisgCQkJCQkJCQkJCQlpbnQJbGluZSwKKyAJCQkJCQkJCQkJCWNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKTsKKyAKKy1MSUJJTU9CSUxFREVWSUNFX0lOVEVSTkFMIGlubGluZSB2b2lkIGRlYnVnX2J1ZmZlcihjb25zdCBjaGFyICpkYXRhLCBjb25zdCBpbnQgbGVuZ3RoKTsKKy1MSUJJTU9CSUxFREVWSUNFX0lOVEVSTkFMIGlubGluZSB2b2lkIGRlYnVnX2J1ZmZlcl90b19maWxlKGNvbnN0IGNoYXIgKmZpbGUsIGNvbnN0IGNoYXIgKmRhdGEsIGNvbnN0IGludCBsZW5ndGgpOworLUxJQklNT0JJTEVERVZJQ0VfSU5URVJOQUwgaW5saW5lIHZvaWQgZGVidWdfcGxpc3RfcmVhbChjb25zdCBjaGFyICpmdW5jLAorK0xJQklNT0JJTEVERVZJQ0VfSU5URVJOQUwgdm9pZCBkZWJ1Z19idWZmZXIoY29uc3QgY2hhciAqZGF0YSwgY29uc3QgaW50IGxlbmd0aCk7CisrTElCSU1PQklMRURFVklDRV9JTlRFUk5BTCB2b2lkIGRlYnVnX2J1ZmZlcl90b19maWxlKGNvbnN0IGNoYXIgKmZpbGUsIGNvbnN0IGNoYXIgKmRhdGEsIGNvbnN0IGludCBsZW5ndGgpOworK0xJQklNT0JJTEVERVZJQ0VfSU5URVJOQUwgdm9pZCBkZWJ1Z19wbGlzdF9yZWFsKGNvbnN0IGNoYXIgKmZ1bmMsCisgCQkJCQkJCQkJCQljb25zdCBjaGFyICpmaWxlLAorIAkJCQkJCQkJCQkJaW50CWxpbmUsCisgCQkJCQkJCQkJCQlwbGlzdF90IHBsaXN0KTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJpbW9iaWxlZGV2aWNlL2xpYmltb2JpbGVkZXZpY2VfMS4xLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGliaW1vYmlsZWRldmljZS9saWJpbW9iaWxlZGV2aWNlXzEuMS40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyYWNhOTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGliaW1vYmlsZWRldmljZS9saWJpbW9iaWxlZGV2aWNlXzEuMS40LmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiQSBwcm90b2NvbCBsaWJyYXJ5IHRvIGFjY2VzcyBhbiBpUGhvbmUgb3IgaVBvZCBUb3VjaCBpbiBMaW51eCIKK0xJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiXAorICAgIGZpbGU6Ly9DT1BZSU5HO21kNT1lYmI1YzUwYWI3Y2FiNGJhZWZmYmExNDk3NzAzMGMwNyBcCisgICAgZmlsZTovL0NPUFlJTkcuTEVTU0VSO21kNT02YWIxN2I0MTY0MDU2NDQzNGRkYTg1YzA2YjcxMjRmNyBcCisiCisKK0hPTUVQQUdFID0iaHR0cDovL3d3dy5saWJpbW9iaWxlZGV2aWNlLm9yZy8iCisKK0RFUEVORFMgPSAibGlicGxpc3QgdXNibXV4ZCBsaWJ0YXNuMSBnbnV0bHMgbGliZ2NyeXB0IgorCitTUkNfVVJJID0gIiBcCisgICAgaHR0cDovL3d3dy5saWJpbW9iaWxlZGV2aWNlLm9yZy9kb3dubG9hZHMvbGliaW1vYmlsZWRldmljZS0ke1BWfS50YXIuYnoyIFwKKyAgICBmaWxlOi8vY29uZmlndXJlLWZpeC1sYXJnZWZpbGUucGF0Y2ggXAorICAgIGZpbGU6Ly9pbmxpbmUtd2l0aG91dC1kZWZpbml0aW9uLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjNmMjhjYmM2YTJlMzBkMzQ2ODUwNDljMGFiZGU1MTgzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY3NDk5Y2ZhYTYxNzJmNTY2ZWU2YjA3ODM2MDVhY2ZmZTQ4NGZiN2RkYzNiMDk4ODFhYjdhYzU4NjY3ZWU1YjgiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiIC0td2l0aG91dC1jeXRob24gIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYm1iaW0vbGlibWJpbV8xLjEyLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlibWJpbS9saWJtYmltXzEuMTIuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMWVjY2U1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYm1iaW0vbGlibWJpbV8xLjEyLjIuYmIKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJsaWJtYmltIGlzIGxpYnJhcnkgZm9yIHRhbGtpbmcgdG8gV1dBTiBkZXZpY2VzIGJ5IE1CSU0gcHJvdG9jb2wiCitERVNDUklQVElPTiA9ICJsaWJtYmltIGlzIGEgZ2xpYi1iYXNlZCBsaWJyYXJ5IGZvciB0YWxraW5nIHRvIFdXQU4gbW9kZW1zIGFuZCBkZXZpY2VzIHdoaWNoIHNwZWFrIHRoZSBNb2JpbGUgSW50ZXJmYWNlIEJyb2FkYmFuZCBNb2RlbCAoTUJJTSkgcHJvdG9jb2wiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL2xpYm1iaW0vIgorTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICIgXAorICAgIGZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyBcCisiCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgbGliZ3VkZXYiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3NvZnR3YXJlLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLnh6IgorU1JDX1VSSVttZDVzdW1dID0gIjkyMWZiNWFiM2YxM2YxZTAwODMzZTAwOWQ4ZjNiNGY2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk0OTM1MWQzZTNkNjliODFlNDBhNDlmMWQxODc5NDRjMjYxNDllMDY0N2E0MTVmMDIyN2NjZGMxMTIwNDdiMjkiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlibXRwL2xpYm10cC0xLjEuNS82OS1saWJtdHAucnVsZXMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlibXRwL2xpYm10cC0xLjEuNS82OS1saWJtdHAucnVsZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGNkMjdjNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJtdHAvbGlibXRwLTEuMS41LzY5LWxpYm10cC5ydWxlcwpAQCAtMCwwICsxLDk5OSBAQAorIyBVREVWLXN0eWxlIGhvdHBsdWcgbWFwIGZvciBsaWJtdHAKKyMgUHV0IHRoaXMgZmlsZSBpbiAvZXRjL3VkZXYvcnVsZXMuZAorCitBQ1RJT04hPSJhZGQiLCBHT1RPPSJsaWJtdHBfcnVsZXNfZW5kIgorRU5We01BSk9SfSE9Ij8qIiwgR09UTz0ibGlibXRwX3J1bGVzX2VuZCIKK1NVQlNZU1RFTT09InVzYiIsIEdPVE89ImxpYm10cF91c2JfcnVsZXMiCitHT1RPPSJsaWJtdHBfcnVsZXNfZW5kIgorCitMQUJFTD0ibGlibXRwX3VzYl9ydWxlcyIKKworIyBTb21lIHNlbnNpdGl2ZSBkZXZpY2VzIHdlIHN1cmVseSBkb24ndCB3YW5uYSBwcm9iZQorIyBDb2xvciBpbnN0cnVtZW50cworQVRUUntpZFZlbmRvcn09PSIwNjcwIiwgR09UTz0ibGlibXRwX3J1bGVzX2VuZCIKK0FUVFJ7aWRWZW5kb3J9PT0iMDc2NSIsIEdPVE89ImxpYm10cF9ydWxlc19lbmQiCitBVFRSe2lkVmVuZG9yfT09IjA4NWMiLCBHT1RPPSJsaWJtdHBfcnVsZXNfZW5kIgorQVRUUntpZFZlbmRvcn09PSIwOTcxIiwgR09UTz0ibGlibXRwX3J1bGVzX2VuZCIKKyMgQ2Fub24gc2Nhbm5lcnMgdGhhdCBsb29rIGxpa2UgTVRQIGRldmljZXMgKFBJRCAweDIybm4pCitBVFRSe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSe2lkUHJvZHVjdH09PSIyMioiLCBHT1RPPSJsaWJtdHBfcnVsZXNfZW5kIgorIyBDYW5vbiBkaWdpdGFsIGNhbWVyYSAoRU9TIDNEKSB0aGF0IGxvb2tzIGxpa2UgTVRQIGRldmljZSAoUElEIDB4MzExMykKK0FUVFJ7aWRWZW5kb3J9PT0iMDRhOSIsIEFUVFJ7aWRQcm9kdWN0fT09IjMxMTMiLCBHT1RPPSJsaWJtdHBfcnVsZXNfZW5kIgorIyBTZW5zaXRpdmUgQXRoZXJvcyBkZXZpY2VzIHRoYXQgbG9vayBsaWtlIE1UUCBkZXZpY2VzCitBVFRSe2lkVmVuZG9yfT09IjBjZjMiLCBHT1RPPSJsaWJtdHBfcnVsZXNfZW5kIgorIyBTZW5zaXRpdmUgQXRtZWwgSlRBRyBwcm9ncmFtbWVycworQVRUUntpZFZlbmRvcn09PSIwM2ViIiwgR09UTz0ibGlibXRwX3J1bGVzX2VuZCIKKyMgQ3JlYXRpdmUgWkVOIFZpc2lvbgorQVRUUntpZFZlbmRvcn09PSIwNDFlIiwgQVRUUntpZFByb2R1Y3R9PT0iNDExZiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQ3JlYXRpdmUgUG9ydGFibGUgTWVkaWEgQ2VudGVyCitBVFRSe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSe2lkUHJvZHVjdH09PSI0MTIzIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDcmVhdGl2ZSBaRU4gWHRyYSAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSe2lkUHJvZHVjdH09PSI0MTI4IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBEZWxsIERKICgybmQgZ2VuZXJhdGlvbikKK0FUVFJ7aWRWZW5kb3J9PT0iMDQxZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjQxMmYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIENyZWF0aXZlIFpFTiBNaWNybyAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSe2lkUHJvZHVjdH09PSI0MTMwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDcmVhdGl2ZSBaRU4gVG91Y2ggKE1UUCBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwNDFlIiwgQVRUUntpZFByb2R1Y3R9PT0iNDEzMSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgRGVsbCBEZWxsIFBvY2tldCBESiAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSe2lkUHJvZHVjdH09PSI0MTMyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDcmVhdGl2ZSBaRU4gTWljcm9QaG90byAoYWx0ZXJuYXRlIHZlcnNpb24pCitBVFRSe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSe2lkUHJvZHVjdH09PSI0MTMzIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDcmVhdGl2ZSBaRU4gU2xlZWsgKE1UUCBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwNDFlIiwgQVRUUntpZFByb2R1Y3R9PT0iNDEzNyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQ3JlYXRpdmUgWkVOIE1pY3JvUGhvdG8KK0FUVFJ7aWRWZW5kb3J9PT0iMDQxZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjQxM2MiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIENyZWF0aXZlIFpFTiBTbGVlayBQaG90bworQVRUUntpZFZlbmRvcn09PSIwNDFlIiwgQVRUUntpZFByb2R1Y3R9PT0iNDEzZCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQ3JlYXRpdmUgWkVOIFZpc2lvbjpNCitBVFRSe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSe2lkUHJvZHVjdH09PSI0MTNlIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDcmVhdGl2ZSBaRU4gVgorQVRUUntpZFZlbmRvcn09PSIwNDFlIiwgQVRUUntpZFByb2R1Y3R9PT0iNDE1MCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQ3JlYXRpdmUgWkVOIFZpc2lvbjpNIChEVlAtSEQwMDA0KQorQVRUUntpZFZlbmRvcn09PSIwNDFlIiwgQVRUUntpZFByb2R1Y3R9PT0iNDE1MSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQ3JlYXRpdmUgWkVOIFYgUGx1cworQVRUUntpZFZlbmRvcn09PSIwNDFlIiwgQVRUUntpZFByb2R1Y3R9PT0iNDE1MiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQ3JlYXRpdmUgWkVOIFZpc2lvbiBXCitBVFRSe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSe2lkUHJvZHVjdH09PSI0MTUzIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDcmVhdGl2ZSBaRU4KK0FUVFJ7aWRWZW5kb3J9PT0iMDQxZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjQxNTciLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIENyZWF0aXZlIFpFTiBWIDJHQgorQVRUUntpZFZlbmRvcn09PSIwNDFlIiwgQVRUUntpZFByb2R1Y3R9PT0iNDE1OCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQ3JlYXRpdmUgWkVOIE1vemFpYworQVRUUntpZFZlbmRvcn09PSIwNDFlIiwgQVRUUntpZFByb2R1Y3R9PT0iNDE2MSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQ3JlYXRpdmUgWkVOIFgtRmkKK0FUVFJ7aWRWZW5kb3J9PT0iMDQxZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjQxNjIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIENyZWF0aXZlIFpFTiBYLUZpIDMKK0FUVFJ7aWRWZW5kb3J9PT0iMDQxZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjQxNjkiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFppaUxBQlMgWmlpIEVHRworQVRUUntpZFZlbmRvcn09PSIwNDFlIiwgQVRUUntpZFByb2R1Y3R9PT0iNjAwMCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBZUC05MDAKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjA0MDkiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgSTU1MFcgUGhvbmUKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjA0YTQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgSmV0IFM4MDAwCitBVFRSe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSe2lkUHJvZHVjdH09PSI0ZjFmIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW1zdW5nIFlILTkyMCAoNTAxZCkKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUwMWQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWUgtOTIwICg1MDIyKQorQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNTAyMiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBZSC05MjVHUworQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNTAyNCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBZSC04MjAKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUwMmUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWUgtOTI1KC1HUykKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUwMmYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWUgtSjcwSgorQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNTAzMyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBZUC1aNQorQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNTAzYyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBZUC1UN0oKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUwNDciLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWVAtVTJKIChZUC1VMkpYQi9YQUEpCitBVFRSe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSe2lkUHJvZHVjdH09PSI1MDU0IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW1zdW5nIFlQLUYySgorQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNTA1NyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBZUC1LNQorQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNTA1YSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBZUC1VMworQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNTA3ZCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBZUC1UOQorQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNTA3ZiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBZUC1LMworQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNTA4MSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBZUC1QMgorQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNTA4MyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBZUC1UMTAKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUwOGEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWVAtUzUKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUwOGIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWVAtUzMKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUwOTEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWVAtVTQKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUwOTMiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWVAtUjEKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxMGYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWVAtUTEKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxMTUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWVAtTTEKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxMTgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWVAtUDMKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxMWEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWVAtUTIKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxMWQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWVAtVTUKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxMjEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWVAtUjAKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxMjUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWVAtUTMKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxMzAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWVAtWjMKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxMzciLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWUgtOTk5IFBvcnRhYmxlIE1lZGlhIENlbnRlci9TR0gtQTcwNy9TR0gtTDc2MFYvU0dILVU5MDAvVmVyaXpvbiBJbnRlbnNpdHkvRmFzY2luYXRlCitBVFRSe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSe2lkUHJvZHVjdH09PSI1YTBmIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW1zdW5nIE03NjAwIEJlYXQvR1QtUzgzMDBUL1NHSC1GNDkwL1M4MzAwCitBVFRSe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSe2lkUHJvZHVjdH09PSI2NjQyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW1zdW5nIFg4MzAgTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSe2lkUHJvZHVjdH09PSI2NzAyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW1zdW5nIFU2MDAgTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSe2lkUHJvZHVjdH09PSI2NzA5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW1zdW5nIEYyNTAgTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSe2lkUHJvZHVjdH09PSI2NzI3IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW1zdW5nIEp1a2UgKFNDSC1VNDcwKQorQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNjczNCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBHVC1CMjcwMAorQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNjc1MiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBTQU1TVU5HIFRyYW5jZQorQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNjc2MyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBHVC1TODUwMAorQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNjgxOSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBHYWxheHkgbW9kZWxzIChNVFArQURCKQorQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNjg1YyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBHYWxheHkgWQorQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNjg1ZSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBHYWxheHkgbW9kZWxzIChNVFApCitBVFRSe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSe2lkUHJvZHVjdH09PSI2ODYwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW1zdW5nIEdhbGF4eSBtb2RlbHMgS2llcyBtb2RlCitBVFRSe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSe2lkUHJvZHVjdH09PSI2ODc3IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW1zdW5nIFZpYnJhbnQgU0dILVQ5NTkvQ2FwdGl2YXRlL01lZGlhIHBsYXllciBtb2RlCitBVFRSe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSe2lkUHJvZHVjdH09PSI2OGE5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW1zdW5nIEdULUIyNzEwL1hjb3ZlciAyNzEKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjY4YWYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgR1QtUzUyMzAKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09ImUyMGMiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1pY3Jvc29mdC9JbnRlbCBCYW5kb24gUG9ydGFibGUgTWVkaWEgQ2VudGVyCitBVFRSe2lkVmVuZG9yfT09IjA0NWUiLCBBVFRSe2lkUHJvZHVjdH09PSIwMGM5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBNaWNyb3NvZnQgV2luZG93cyBQaG9uZQorQVRUUntpZFZlbmRvcn09PSIwNDVlIiwgQVRUUntpZFByb2R1Y3R9PT0iMDRlYyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTWljcm9zb2Z0IFdpbmRvd3MgTVRQIFNpbXVsYXRvcgorQVRUUntpZFZlbmRvcn09PSIwNDVlIiwgQVRUUntpZFByb2R1Y3R9PT0iMDYyMiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTWljcm9zb2Z0IFp1bmUgSEQKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ1ZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjA2M2UiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1pY3Jvc29mdCBLaW4gMQorQVRUUntpZFZlbmRvcn09PSIwNDVlIiwgQVRUUntpZFByb2R1Y3R9PT0iMDY0MCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTWljcm9zb2Z0L1NoYXJwL25WaWRpYSBLaW4gVHdvTQorQVRUUntpZFZlbmRvcn09PSIwNDVlIiwgQVRUUntpZFByb2R1Y3R9PT0iMDY0MSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTWljcm9zb2Z0IFp1bmUKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ1ZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjA3MTAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEpWQyBBbG5lbyBYQS1IRDUwMAorQVRUUntpZFZlbmRvcn09PSIwNGYxIiwgQVRUUntpZFByb2R1Y3R9PT0iNjEwNSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgUGhpbGlwcyBIREQ2MzIwLzAwIG9yIEhERDYzMzAvMTcKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxNGIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBoaWxpcHMgSEREMTRYWCxIREQxNjIwIG9yIEhERDE2MzAvMTcKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxNGMiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBoaWxpcHMgSEREMDg1LzAwIG9yIEhERDA4Mi8xNworQVRUUntpZFZlbmRvcn09PSIwNDcxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDE0ZCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgUGhpbGlwcyBHb0dlYXIgU0E5MjAwCitBVFRSe2lkVmVuZG9yfT09IjA0NzEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMTRmIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBQaGlsaXBzIFNBMTExNS81NQorQVRUUntpZFZlbmRvcn09PSIwNDcxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDE2NCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgUGhpbGlwcyBHb0dlYXIgQXVkaW8KK0FUVFJ7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxNjUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBoaWxpcHMgU2hvcWJveAorQVRUUntpZFZlbmRvcn09PSIwNDcxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDE3MiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgUGhpbGlwcyBQU0E2MTAKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxODEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBoaWxpcHMgSERENjMyMAorQVRUUntpZFZlbmRvcn09PSIwNDcxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDFlYiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgUGhpbGlwcyBHb0dlYXIgU0E2MDE0L1NBNjAxNS9TQTYwMjQvU0E2MDI1L1NBNjA0NC9TQTYwNDUKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJ7aWRQcm9kdWN0fT09IjA4NGUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBoaWxpcHMgR29HZWFyIFNBNTE0NQorQVRUUntpZFZlbmRvcn09PSIwNDcxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDg1NyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgUGhpbGlwcyBHb0dlYXIgU0E2MTI1L1NBNjE0NS9TQTYxODUKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJ7aWRQcm9kdWN0fT09IjIwMDIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBoaWxpcHMgR29HZWFyIFNBMzM0NQorQVRUUntpZFZlbmRvcn09PSIwNDcxIiwgQVRUUntpZFByb2R1Y3R9PT0iMjAwNCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgUGhpbGlwcyBTQTUyODUKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJ7aWRQcm9kdWN0fT09IjIwMjIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBoaWxpcHMgR29HZWFyIFZpQkUgU0ExVkJFMDQKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJ7aWRQcm9kdWN0fT09IjIwNzUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBoaWxpcHMgR29HZWFyIE11c2UKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJ7aWRQcm9kdWN0fT09IjIwNzciLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBoaWxpcHMgR29HZWFyIFZpQkUgU0ExVkJFMDQvMDgKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJ7aWRQcm9kdWN0fT09IjIwN2IiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBoaWxpcHMgR29HZWFyIEFyaWEKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJ7aWRQcm9kdWN0fT09IjIwN2MiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBoaWxpcHMgR29HZWFyIFNBMVZCRTA4S1gvNzgKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJ7aWRQcm9kdWN0fT09IjIwOGUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBoaWxpcHMgR29HZWFyIFZJQkUgU0EyVkJFWzA4fDE2XUsvMDIKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJ7aWRQcm9kdWN0fT09IjIwYjciLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBoaWxpcHMgR29HZWFyIEFyaWF6CitBVFRSe2lkVmVuZG9yfT09IjA0NzEiLCBBVFRSe2lkUHJvZHVjdH09PSIyMGI5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBQaGlsaXBzIEdvR2VhciBWaWJlLzAyCitBVFRSe2lkVmVuZG9yfT09IjA0NzEiLCBBVFRSe2lkUHJvZHVjdH09PSIyMGU1IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBQaGlsaXBzIFBTQTIzNQorQVRUUntpZFZlbmRvcn09PSIwNDcxIiwgQVRUUntpZFByb2R1Y3R9PT0iN2UwMSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQWNlciBJY29uaWEgVEFCIEE1MDAgKElEMSkKK0FUVFJ7aWRWZW5kb3J9PT0iMDUwMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjMzMjUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFjZXIgSWNvbmlhIFRBQiBBNTAwIChJRDIpCitBVFRSe2lkVmVuZG9yfT09IjA1MDIiLCBBVFRSe2lkUHJvZHVjdH09PSIzMzQxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBY2VyIEljb25pYSBUQUIgQTUwMQorQVRUUntpZFZlbmRvcn09PSIwNTAyIiwgQVRUUntpZFByb2R1Y3R9PT0iMzM0NCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQWNlciBJY29uaWEgVEFCIEExMDAgKElEMSkKK0FUVFJ7aWRWZW5kb3J9PT0iMDUwMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjMzNDgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFjZXIgSWNvbmlhIFRBQiBBMTAwIChJRDIpCitBVFRSe2lkVmVuZG9yfT09IjA1MDIiLCBBVFRSe2lkUHJvZHVjdH09PSIzMzQ5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBY2VyIEljb25pYSBUQUIgQTcwMAorQVRUUntpZFZlbmRvcn09PSIwNTAyIiwgQVRUUntpZFByb2R1Y3R9PT0iMzM3OCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQWNlciBJY29uaWEgVEFCIEEyMDAgKElEMSkKK0FUVFJ7aWRWZW5kb3J9PT0iMDUwMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjMzN2MiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFjZXIgSWNvbmlhIFRBQiBBMjAwIChJRDIpCitBVFRSe2lkVmVuZG9yfT09IjA1MDIiLCBBVFRSe2lkUHJvZHVjdH09PSIzMzdkIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBY2VyIEljb25pYSBUQUIgQTUxMAorQVRUUntpZFZlbmRvcn09PSIwNTAyIiwgQVRUUntpZFByb2R1Y3R9PT0iMzM4YSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQWNlciBFMzUwIExpcXVpZCBHYWxsYW50IER1bworQVRUUntpZFZlbmRvcn09PSIwNTAyIiwgQVRUUntpZFByb2R1Y3R9PT0iMzNjMyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2FuRGlzayBTYW5zYSBtMjMwL20yNDAKK0FUVFJ7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJ7aWRQcm9kdWN0fT09Ijc0MDAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbkRpc2sgU2Fuc2EgbTIwMC10Y2MgKE1UUCBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwNzgxIiwgQVRUUntpZFByb2R1Y3R9PT0iNzQwMSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2FuRGlzayBTYW5zYSBjMTUwCitBVFRSe2lkVmVuZG9yfT09IjA3ODEiLCBBVFRSe2lkUHJvZHVjdH09PSI3NDEwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW5EaXNrIFNhbnNhIGUyMDAvZTI1MC9lMjYwL2UyNzAvZTI4MAorQVRUUntpZFZlbmRvcn09PSIwNzgxIiwgQVRUUntpZFByb2R1Y3R9PT0iNzQyMCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2FuRGlzayBTYW5zYSBlMjYwL2UyODAgdjIKK0FUVFJ7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJ7aWRQcm9kdWN0fT09Ijc0MjIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbkRpc2sgU2Fuc2EgbTI0MC9tMjUwCitBVFRSe2lkVmVuZG9yfT09IjA3ODEiLCBBVFRSe2lkUHJvZHVjdH09PSI3NDMwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW5EaXNrIFNhbnNhIENsaXAKK0FUVFJ7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJ7aWRQcm9kdWN0fT09Ijc0MzIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbkRpc2sgU2Fuc2EgQ2xpcCB2MgorQVRUUntpZFZlbmRvcn09PSIwNzgxIiwgQVRUUntpZFByb2R1Y3R9PT0iNzQzNCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2FuRGlzayBTYW5zYSBjMjQwL2MyNTAKK0FUVFJ7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJ7aWRQcm9kdWN0fT09Ijc0NTAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbkRpc2sgU2Fuc2EgYzI1MCB2MgorQVRUUntpZFZlbmRvcn09PSIwNzgxIiwgQVRUUntpZFByb2R1Y3R9PT0iNzQ1MiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2FuRGlzayBTYW5zYSBFeHByZXNzCitBVFRSe2lkVmVuZG9yfT09IjA3ODEiLCBBVFRSe2lkUHJvZHVjdH09PSI3NDYwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW5EaXNrIFNhbnNhIENvbm5lY3QKK0FUVFJ7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJ7aWRQcm9kdWN0fT09Ijc0ODAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbkRpc2sgU2Fuc2EgVmlldworQVRUUntpZFZlbmRvcn09PSIwNzgxIiwgQVRUUntpZFByb2R1Y3R9PT0iNzRiMCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2FuRGlzayBTYW5zYSBGdXplCitBVFRSe2lkVmVuZG9yfT09IjA3ODEiLCBBVFRSe2lkUHJvZHVjdH09PSI3NGMwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW5EaXNrIFNhbnNhIEZ1emUgdjIKK0FUVFJ7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJ7aWRQcm9kdWN0fT09Ijc0YzIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbkRpc2sgU2Fuc2EgQ2xpcCsKK0FUVFJ7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJ7aWRQcm9kdWN0fT09Ijc0ZDAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbkRpc2sgU2Fuc2EgRnV6ZSsKK0FUVFJ7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJ7aWRQcm9kdWN0fT09Ijc0ZTAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbkRpc2sgU2Fuc2EgQ2xpcCBaaXAKK0FUVFJ7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJ7aWRQcm9kdWN0fT09Ijc0ZTQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIGlSaXZlciBIMzAwIFNlcmllcyBNVFAKK0FUVFJ7aWRWZW5kb3J9PT0iMTAwNiIsIEFUVFJ7aWRQcm9kdWN0fT09IjMwMDQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIGlSaXZlciBQb3J0YWJsZSBNZWRpYSBDZW50ZXIKK0FUVFJ7aWRWZW5kb3J9PT0iMTAwNiIsIEFUVFJ7aWRQcm9kdWN0fT09IjQwMDIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIGlSaXZlciBQb3J0YWJsZSBNZWRpYSBDZW50ZXIKK0FUVFJ7aWRWZW5kb3J9PT0iMTAwNiIsIEFUVFJ7aWRQcm9kdWN0fT09IjQwMDMiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIGlSaXZlciBUNyBWb2xjYW5vCitBVFRSe2lkVmVuZG9yfT09IjEwNDIiLCBBVFRSe2lkUHJvZHVjdH09PSIxMTQzIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBpUml2ZXIgaUZQLTg4MAorQVRUUntpZFZlbmRvcn09PSI0MTAyIiwgQVRUUntpZFByb2R1Y3R9PT0iMTAwOCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgaVJpdmVyIFQxMAorQVRUUntpZFZlbmRvcn09PSI0MTAyIiwgQVRUUntpZFByb2R1Y3R9PT0iMTExMyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgaVJpdmVyIFQyMCBGTQorQVRUUntpZFZlbmRvcn09PSI0MTAyIiwgQVRUUntpZFByb2R1Y3R9PT0iMTExNCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgaVJpdmVyIFQyMAorQVRUUntpZFZlbmRvcn09PSI0MTAyIiwgQVRUUntpZFByb2R1Y3R9PT0iMTExNSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgaVJpdmVyIFUxMAorQVRUUntpZFZlbmRvcn09PSI0MTAyIiwgQVRUUntpZFByb2R1Y3R9PT0iMTExNiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgaVJpdmVyIFQxMGEKK0FUVFJ7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjExMTciLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIGlSaXZlciBUMjAKK0FUVFJ7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjExMTgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIGlSaXZlciBUMzAKK0FUVFJ7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjExMTkiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIGlSaXZlciBUMTAgMkdCCitBVFRSe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSe2lkUHJvZHVjdH09PSIxMTIwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBpUml2ZXIgTjEyCitBVFRSe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSe2lkUHJvZHVjdH09PSIxMTIyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBpUml2ZXIgQ2xpeDIKK0FUVFJ7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjExMjYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIGlSaXZlciBDbGl4CitBVFRSe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSe2lkUHJvZHVjdH09PSIxMTJhIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBpUml2ZXIgWDIwCitBVFRSe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSe2lkUHJvZHVjdH09PSIxMTMyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBpUml2ZXIgVDYwCitBVFRSe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSe2lkUHJvZHVjdH09PSIxMTM0IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBpUml2ZXIgRTEwMAorQVRUUntpZFZlbmRvcn09PSI0MTAyIiwgQVRUUntpZFByb2R1Y3R9PT0iMTE0MSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgaVJpdmVyIEUxMDAgdjIvTHBsYXllcgorQVRUUntpZFZlbmRvcn09PSI0MTAyIiwgQVRUUntpZFByb2R1Y3R9PT0iMTE0MiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgaVJpdmVyIFNwaW5uCitBVFRSe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSe2lkUHJvZHVjdH09PSIxMTQ3IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBpUml2ZXIgRTUwCitBVFRSe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSe2lkUHJvZHVjdH09PSIxMTUxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBpUml2ZXIgVDUKK0FUVFJ7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjExNTMiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIGlSaXZlciBFMzAKK0FUVFJ7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjExNjciLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIGlSaXZlciBIMTAgMjBHQgorQVRUUntpZFZlbmRvcn09PSI0MTAyIiwgQVRUUntpZFByb2R1Y3R9PT0iMjEwMSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgaVJpdmVyIEgxMCA1R0IKK0FUVFJ7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjIxMDIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIGlSaXZlciBIMTAgNS42R0IKK0FUVFJ7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjIxMDUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIERlbGwsIEluYyBESiBJdHR5CitBVFRSe2lkVmVuZG9yfT09IjQxM2MiLCBBVFRSe2lkUHJvZHVjdH09PSI0NTAwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBEZWxsLCBJbmMgRGVsbCBTdHJlYWsgNworQVRUUntpZFZlbmRvcn09PSI0MTNjIiwgQVRUUntpZFByb2R1Y3R9PT0iYjEwYiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgVG9zaGliYSBHaWdhYmVhdCBNRUdGLTQwCitBVFRSe2lkVmVuZG9yfT09IjA5MzAiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDA5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBUb3NoaWJhIEdpZ2FiZWF0CitBVFRSe2lkVmVuZG9yfT09IjA5MzAiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDBjIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBUb3NoaWJhIEdpZ2FiZWF0IFAyMAorQVRUUntpZFZlbmRvcn09PSIwOTMwIiwgQVRUUntpZFByb2R1Y3R9PT0iMDAwZiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgVG9zaGliYSBHaWdhYmVhdCBTCitBVFRSe2lkVmVuZG9yfT09IjA5MzAiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDEwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBUb3NoaWJhIEdpZ2FiZWF0IFAxMAorQVRUUntpZFZlbmRvcn09PSIwOTMwIiwgQVRUUntpZFByb2R1Y3R9PT0iMDAxMSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgVG9zaGliYSBHaWdhYmVhdCBWMzAKK0FUVFJ7aWRWZW5kb3J9PT0iMDkzMCIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwMTQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFRvc2hpYmEgR2lnYWJlYXQgVQorQVRUUntpZFZlbmRvcn09PSIwOTMwIiwgQVRUUntpZFByb2R1Y3R9PT0iMDAxNiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgVG9zaGliYSBHaWdhYmVhdCBNRVUyMDIKK0FUVFJ7aWRWZW5kb3J9PT0iMDkzMCIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwMTgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFRvc2hpYmEgR2lnYWJlYXQgVAorQVRUUntpZFZlbmRvcn09PSIwOTMwIiwgQVRUUntpZFByb2R1Y3R9PT0iMDAxOSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgVG9zaGliYSBHaWdhYmVhdCBNRVUyMDEKK0FUVFJ7aWRWZW5kb3J9PT0iMDkzMCIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwMWEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFRvc2hpYmEgR2lnYWJlYXQgTUVUNDAxCitBVFRSe2lkVmVuZG9yfT09IjA5MzAiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDFkIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBUb3NoaWJhIEV4Y2l0ZSBBVDMwMAorQVRUUntpZFZlbmRvcn09PSIwOTMwIiwgQVRUUntpZFByb2R1Y3R9PT0iMDk2MyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgVG9zaGliYSBUaHJpdmUgQVQxMDAvQVQxMDUKK0FUVFJ7aWRWZW5kb3J9PT0iMDkzMCIsIEFUVFJ7aWRQcm9kdWN0fT09IjcxMDAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFyY2hvcyBHbWluaSBYUzEwMAorQVRUUntpZFZlbmRvcn09PSIwZTc5IiwgQVRUUntpZFByb2R1Y3R9PT0iMTIwNyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXJjaG9zIFhTMjAyIChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJ7aWRQcm9kdWN0fT09IjEyMDgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFyY2hvcyAxMDQgKE1UUCBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwZTc5IiwgQVRUUntpZFByb2R1Y3R9PT0iMTIwYSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXJjaG9zIDIwNCAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSe2lkUHJvZHVjdH09PSIxMjBjIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBcmNob3MgNDA0IChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJ7aWRQcm9kdWN0fT09IjEzMDEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFyY2hvcyA0MDRDQU0gKE1UUCBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwZTc5IiwgQVRUUntpZFByb2R1Y3R9PT0iMTMwMyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXJjaG9zIDUwNCAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSe2lkUHJvZHVjdH09PSIxMzA3IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBcmNob3MgNjA0IChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJ7aWRQcm9kdWN0fT09IjEzMDkiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFyY2hvcyA2MDRXSUZJIChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJ7aWRQcm9kdWN0fT09IjEzMGIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFyY2hvcyA3MDQgbW9iaWxlIGR2cgorQVRUUntpZFZlbmRvcn09PSIwZTc5IiwgQVRUUntpZFByb2R1Y3R9PT0iMTMwZCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXJjaG9zIDcwNFRWIChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJ7aWRQcm9kdWN0fT09IjEzMGYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFyY2hvcyA0MDUgKE1UUCBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwZTc5IiwgQVRUUntpZFByb2R1Y3R9PT0iMTMxMSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXJjaG9zIDYwNSAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSe2lkUHJvZHVjdH09PSIxMzEzIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBcmNob3MgNjA1RiAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSe2lkUHJvZHVjdH09PSIxMzE1IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBcmNob3MgNzA1IChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJ7aWRQcm9kdWN0fT09IjEzMTkiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFyY2hvcyBUVisgKE1UUCBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwZTc5IiwgQVRUUntpZFByb2R1Y3R9PT0iMTMxYiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXJjaG9zIDEwNSAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSe2lkUHJvZHVjdH09PSIxMzFkIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBcmNob3MgNDA1SEREIChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJ7aWRQcm9kdWN0fT09IjEzMjEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFyY2hvcyA1IChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJ7aWRQcm9kdWN0fT09IjEzMzEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFyY2hvcyA1IChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJ7aWRQcm9kdWN0fT09IjEzMzMiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFyY2hvcyA3IChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJ7aWRQcm9kdWN0fT09IjEzMzUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFyY2hvcyBTUE9EIChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJ7aWRQcm9kdWN0fT09IjEzNDEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFyY2hvcyA1UyBJVCAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSe2lkUHJvZHVjdH09PSIxMzUxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBcmNob3MgNUggSVQgKE1UUCBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwZTc5IiwgQVRUUntpZFByb2R1Y3R9PT0iMTM1NyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXJjaG9zIEFybm92YSBDaGlsZHBhZAorQVRUUntpZFZlbmRvcn09PSIwZTc5IiwgQVRUUntpZFByb2R1Y3R9PT0iMTQ1OCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXJjaG9zIDhvIEc5IChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJ7aWRQcm9kdWN0fT09IjE1MDgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFyY2hvcyA4byBHOSBUdXJibyAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSe2lkUHJvZHVjdH09PSIxNTA5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBcmNob3MgODBHOQorQVRUUntpZFZlbmRvcn09PSIwZTc5IiwgQVRUUntpZFByb2R1Y3R9PT0iMTUxOCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXJjaG9zIDEwMSBHOQorQVRUUntpZFZlbmRvcn09PSIwZTc5IiwgQVRUUntpZFByb2R1Y3R9PT0iMTUyOCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXJjaG9zIDEwMSBHOSAodjIpCitBVFRSe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSe2lkUHJvZHVjdH09PSIxNTI5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBcmNob3MgMTAxIEc5IFR1cmJvIDI1MCBIRAorQVRUUntpZFZlbmRvcn09PSIwZTc5IiwgQVRUUntpZFByb2R1Y3R9PT0iMTUzOCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXJjaG9zIDEwMSBHOSBUdXJibworQVRUUntpZFZlbmRvcn09PSIwZTc5IiwgQVRUUntpZFByb2R1Y3R9PT0iMTUzOSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXJjaG9zIDcwaXQyIChtb2RlIDEpCitBVFRSe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSe2lkUHJvZHVjdH09PSIxNTY4IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBcmNob3MgNzBpdDIgKG1vZGUgMikKK0FUVFJ7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJ7aWRQcm9kdWN0fT09IjE1NjkiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIER1bmxvcCBNUDMgcGxheWVyIDFHQiAvIEVHT01BTiBNRDIyM0FGRAorQVRUUntpZFZlbmRvcn09PSIxMGQ2IiwgQVRUUntpZFByb2R1Y3R9PT0iMjIwMCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTWVtb3JleCBvciBpUml2ZXIgTU1QIDg1ODUvODU4NiBvciBpUml2ZXIgRTIwMAorQVRUUntpZFZlbmRvcn09PSIxMGQ2IiwgQVRUUntpZFByb2R1Y3R9PT0iMjMwMCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2lyaXVzIFN0aWxldHRvCitBVFRSe2lkVmVuZG9yfT09IjE4ZjYiLCBBVFRSe2lkUHJvZHVjdH09PSIwMTAyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTaXJpdXMgU3RpbGV0dG8gMgorQVRUUntpZFZlbmRvcn09PSIxOGY2IiwgQVRUUntpZFByb2R1Y3R9PT0iMDExMCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQ2Fub24gSXh1cyBEaWdpdGFsIDcwMCAoUFRQL01UUCBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwNGE5IiwgQVRUUntpZFByb2R1Y3R9PT0iMzBmMiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQ2Fub24gUG93ZXJTaG90IEE2NDAgKFBUUC9NVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMDRhOSIsIEFUVFJ7aWRQcm9kdWN0fT09IjMxMzkiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIENhbm9uIFBvd2VyU2hvdCBTWDIwSVMgKFBUUC9NVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMDRhOSIsIEFUVFJ7aWRQcm9kdWN0fT09IjMxZTQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIE44MSBNb2JpbGUgUGhvbmUKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwMGEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIDYxMjBjIENsYXNzaWMgTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDJlIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSBOOTYgTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDM5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSA2NTAwYyBDbGFzc2ljIE1vYmlsZSBQaG9uZQorQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDAzYyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgMzExMGMgTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDVmIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSAzMTA5YyBNb2JpbGUgUGhvbmUKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwNjUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIDUzMTAgWHByZXNzTXVzaWMKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwNmMiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIE45NSBNb2JpbGUgUGhvbmUgOEdCCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDZlIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSBOODIgTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDc0IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSBONzggTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDc5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSA2MjIwIENsYXNzaWMKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwOGQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIE44NSBNb2JpbGUgUGhvbmUKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwOTIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIDYyMTAgTmF2aWdhdG9yCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDk4IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSBFNzEKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwZTQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIEU2NgorQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDBlNSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgNTMyMCBYcHJlc3NNdXNpYworQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDBlYSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgNTgwMCBYcHJlc3NNdXNpYworQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDE1NCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgNTgwMCBYcHJlc3NNdXNpYyB2MgorQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDE1NSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgNTgwMCBYcHJlc3NNdXNpYyB2MworQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDE1OSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgRTYzCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMTc5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSBONzkKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxODYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIEU3MXgKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxYTEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIEU1MgorQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDFjZiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgMzcxMAorQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDFlZSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgTjk3LTEKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxZjQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIE45NworQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDFmNSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgNTEzMCBYcHJlc3NNdXNpYworQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDIwOSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgRTcyCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMjIxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSA1NTMwCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMjI5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSBOOTcgbWluaQorQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDI2YiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgWDYKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAyNzQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIDY2MDBpCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMjk3IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSAyNzEwCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMmMxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSA1MjMwCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMmUyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSBOOAorQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDJmZSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgTjggKE92aSBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDMwMiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgRTcKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAzMzQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIEU3IChPdmkgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAzMzUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIEM3CitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwM2MxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSBDNyAoSUQyKQorQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDNjZCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgTjk1MAorQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDNkMiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgMzI1MCBNb2JpbGUgUGhvbmUKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjA0NjIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIE45MyBNb2JpbGUgUGhvbmUKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjA0NzgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIDU1MDAgU3BvcnQgTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwNDdlIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSBOOTEgTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwNDg1IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSA1NzAwIFhwcmVzc011c2ljIE1vYmlsZSBQaG9uZQorQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDRiNCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgNTMwMCBNb2JpbGUgUGhvbmUKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjA0YmEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIDUyMDAgTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwNGJlIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSBONzMgTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwNGQxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSBONzUgTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwNGUxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSBOOTNpIE1vYmlsZSBQaG9uZQorQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDRlNSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgTjk1IE1vYmlsZSBQaG9uZQorQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDRlZiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgTjgwIEludGVybmV0IEVkaXRpb24gKE1lZGlhIFBsYXllcikKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjA0ZjEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIE45CitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwNTFhIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSA1NTMwIFhwcmVzc211c2ljCitBVFRSe2lkVmVuZG9yfT09IjA1YzYiLCBBVFRSe2lkUHJvZHVjdH09PSIwMjI5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYS9WZXJpem9uIDYyMDUgQmFsYm9hL1Zlcml6b24gTXVzaWMgUGhvbmUKK0FUVFJ7aWRWZW5kb3J9PT0iMDVjNiIsIEFUVFJ7aWRQcm9kdWN0fT09IjMxOTYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIExvZ2lrIExPRyBEQVggTVAzIGFuZCBEQUIgUGxheWVyCitBVFRSe2lkVmVuZG9yfT09IjEzZDEiLCBBVFRSe2lkUHJvZHVjdH09PSI3MDAyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBUZWNobmlrYSBNUC03MDkKK0FUVFJ7aWRWZW5kb3J9PT0iMTNkMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjcwMTciLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFRob21zb24gRU0yOCBTZXJpZXMKK0FUVFJ7aWRWZW5kb3J9PT0iMDY5YiIsIEFUVFJ7aWRQcm9kdWN0fT09IjA3NzQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFRob21zb24gLyBSQ0EgT3BhbCAvIEx5cmEgTUM0MDAyCitBVFRSe2lkVmVuZG9yfT09IjA2OWIiLCBBVFRSe2lkUHJvZHVjdH09PSIwNzc3IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBUaG9tc29uIEx5cmEgTUM1MTA0QiAoTTUxIFNlcmllcykKK0FUVFJ7aWRWZW5kb3J9PT0iMDY5YiIsIEFUVFJ7aWRQcm9kdWN0fT09IjA3N2MiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFRob21zb24gUkNBIEgxMDYKK0FUVFJ7aWRWZW5kb3J9PT0iMDY5YiIsIEFUVFJ7aWRQcm9kdWN0fT09IjMwMWEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFRob21zb24gc2Nlbml1bSBFMzA4CitBVFRSe2lkVmVuZG9yfT09IjA2OWIiLCBBVFRSe2lkUHJvZHVjdH09PSIzMDI4IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBUaG9tc29uIC8gUkNBIEx5cmEgSEMzMDhBCitBVFRSe2lkVmVuZG9yfT09IjA2OWIiLCBBVFRSe2lkUHJvZHVjdH09PSIzMDM1IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBGT01BIEY5MDNpWCBISUdILVNQRUVECitBVFRSe2lkVmVuZG9yfT09IjA0YzUiLCBBVFRSe2lkUHJvZHVjdH09PSIxMTQwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb3JtU29mdCwgSW5jLiBQb2NrZXQgVHVuZXMKK0FUVFJ7aWRWZW5kb3J9PT0iMTcwMyIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwMDEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5vcm1Tb2Z0LCBJbmMuIFBvY2tldCBUdW5lcyA0CitBVFRSe2lkVmVuZG9yfT09IjE3MDMiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDAyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBUcmVrU3RvciBWaWJleiA4LzEyR0IKK0FUVFJ7aWRWZW5kb3J9PT0iMDY2ZiIsIEFUVFJ7aWRQcm9kdWN0fT09Ijg0MmEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1lZGlvbiBNRDgzMzMKK0FUVFJ7aWRWZW5kb3J9PT0iMDY2ZiIsIEFUVFJ7aWRQcm9kdWN0fT09Ijg1NTAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1lZGlvbiBNRDgzMzMKK0FUVFJ7aWRWZW5kb3J9PT0iMDY2ZiIsIEFUVFJ7aWRQcm9kdWN0fT09Ijg1ODgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1lZGlvbiBNRDk5MDAwIChQOTUxNCkvT2xpdmV0dGkgT2xpcGFkIDExMAorQVRUUntpZFZlbmRvcn09PSIwNDA4IiwgQVRUUntpZFByb2R1Y3R9PT0iYjAwOSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTWVkaW9uIExpZmV0YWIgUDk1MTQKK0FUVFJ7aWRWZW5kb3J9PT0iMDQwOCIsIEFUVFJ7aWRQcm9kdWN0fT09ImIwMGEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1heGZpZWxkIEctRmxhc2ggTkcgMUdCCitBVFRSe2lkVmVuZG9yfT09IjA2NmYiLCBBVFRSe2lkUHJvZHVjdH09PSI4NDZjIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTaWdtYVRlbCBJbmMuIE1UUE1TQ04gQXVkaW8gUGxheWVyCitBVFRSe2lkVmVuZG9yfT09IjA2NmYiLCBBVFRSe2lkUHJvZHVjdH09PSJhMDEwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBUcmVrU3RvciBpLkJlYXQgU3dlZXogRk0KK0FUVFJ7aWRWZW5kb3J9PT0iMDQwMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjA2MTEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFRyZWtTdG9yIGkuQmVhdCBPcmdhbml4IDIuMAorQVRUUntpZFZlbmRvcn09PSIxZTY4IiwgQVRUUntpZFByb2R1Y3R9PT0iMDAwMiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgRGlzbmV5IE1peE1heAorQVRUUntpZFZlbmRvcn09PSIwYWE2IiwgQVRUUntpZFByb2R1Y3R9PT0iNjAyMSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgVGV2aW9uIE1EIDgxNDg4CitBVFRSe2lkVmVuZG9yfT09IjBhYTYiLCBBVFRSe2lkUHJvZHVjdH09PSIzMDExIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBNeU11c2l4IFBELTYwNzAKK0FUVFJ7aWRWZW5kb3J9PT0iMGFhNiIsIEFUVFJ7aWRQcm9kdWN0fT09Ijk2MDEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIENvd29uIGlBdWRpbyBVMyAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlMjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwNzAxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDb3dvbiBpQXVkaW8gNiAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlMjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwNzExIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDb3dvbiBpQXVkaW8gNyAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlMjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwNzUxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDb3dvbiBpQXVkaW8gVTUgKE1UUCBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwZTIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDc2MSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQ293b24gaUF1ZGlvIEQyIChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGUyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjA4MDEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIENvd29uIGlBdWRpbyBEMisgRlcgMi54IChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGUyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjA4NjEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIENvd29uIGlBdWRpbyBEMisgREFCIEZXIDQueCAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlMjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwODcxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDb3dvbiBpQXVkaW8gRDIrIEZXIDMueCAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlMjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwODgxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDb3dvbiBpQXVkaW8gRDIrIERNQiBGVyAxLnggKE1UUCBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwZTIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDg5MSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQ293b24gaUF1ZGlvIFM5IChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGUyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjA5MDEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIENvd29uIGlBdWRpbyA5IChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGUyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjA5MTEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIENvd29uIGlBdWRpbyBKMyAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlMjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwOTIxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDb3dvbiBpQXVkaW8gWDcgKE1UUCBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwZTIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDkzMSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQ293b24gaUF1ZGlvIEMyIChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGUyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjA5NDEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIENvd29uIGlBdWRpbyAxMCAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlMjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwOTUyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBJbnNpZ25pYSBOUy1EVjQ1CitBVFRSe2lkVmVuZG9yfT09IjE5ZmYiLCBBVFRSe2lkUHJvZHVjdH09PSIwMzAzIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBJbnNpZ25pYSBTcG9ydCBQbGF5ZXIKK0FUVFJ7aWRWZW5kb3J9PT0iMTlmZiIsIEFUVFJ7aWRQcm9kdWN0fT09IjAzMDciLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEluc2lnbmlhIFBpbG90IDRHQgorQVRUUntpZFZlbmRvcn09PSIxOWZmIiwgQVRUUntpZFByb2R1Y3R9PT0iMDMwOSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTEcgRWxlY3Ryb25pY3MgSW5jLiBUNTQKK0FUVFJ7aWRWZW5kb3J9PT0iMDQzZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjcwNDAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIExHIEVsZWN0cm9uaWNzIEluYy4gVVAzCitBVFRSe2lkVmVuZG9yfT09IjA0M2UiLCBBVFRSe2lkUHJvZHVjdH09PSI3MGIxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBMRyBFbGVjdHJvbmljcyBJbmMuIFZYODU1MCBWIENBU1QgTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjEwMDQiLCBBVFRSe2lkUHJvZHVjdH09PSI2MDEwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBMRyBFbGVjdHJvbmljcyBJbmMuIEtDOTEwIFJlbm9pciBNb2JpbGUgUGhvbmUKK0FUVFJ7aWRWZW5kb3J9PT0iMTAwNCIsIEFUVFJ7aWRQcm9kdWN0fT09IjYwOGYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIExHIEVsZWN0cm9uaWNzIEluYy4gR1ItNTAwIE11c2ljIFBsYXllcgorQVRUUntpZFZlbmRvcn09PSIxMDA0IiwgQVRUUntpZFByb2R1Y3R9PT0iNjExYiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTEcgRWxlY3Ryb25pY3MgSW5jLiBLTTkwMAorQVRUUntpZFZlbmRvcn09PSIxMDA0IiwgQVRUUntpZFByb2R1Y3R9PT0iNjEzMiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTEcgRWxlY3Ryb25pY3MgSW5jLiBMRzg1NzUKK0FUVFJ7aWRWZW5kb3J9PT0iMTAwNCIsIEFUVFJ7aWRQcm9kdWN0fT09IjYxOWEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIExHIEVsZWN0cm9uaWNzIEluYy4gVjkwOSBHLVNsYXRlCitBVFRSe2lkVmVuZG9yfT09IjEwMDQiLCBBVFRSe2lkUHJvZHVjdH09PSI2MWY5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBMRyBFbGVjdHJvbmljcyBJbmMuIExHLUU2MTdHL1A3MDAKK0FUVFJ7aWRWZW5kb3J9PT0iMTAwNCIsIEFUVFJ7aWRQcm9kdWN0fT09IjYzMWMiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnkgV2Fsa21hbiBOV1otQTgxNS9OV1otQTgxOAorQVRUUntpZFZlbmRvcn09PSIwNTRjIiwgQVRUUntpZFByb2R1Y3R9PT0iMDMyNSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueSBXYWxrbWFuIE5XWi1TNTE2CitBVFRSe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSe2lkUHJvZHVjdH09PSIwMzI2IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255IFdhbGttYW4gTldaLVM2MTVGL05XWi1TNjE2Ri9OV1otUzYxOEYKK0FUVFJ7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJ7aWRQcm9kdWN0fT09IjAzMjciLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnkgV2Fsa21hbiBOV1otUzcxNkYKK0FUVFJ7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJ7aWRQcm9kdWN0fT09IjAzNWEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnkgV2Fsa21hbiBOV1otQTgyNi9OV1otQTgyOC9OV1otQTgyOQorQVRUUntpZFZlbmRvcn09PSIwNTRjIiwgQVRUUntpZFByb2R1Y3R9PT0iMDM1YiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueSBXYWxrbWFuIE5XWi1BNzI2L05XWi1BNzI4L05XWi1BNzY4CitBVFRSe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSe2lkUHJvZHVjdH09PSIwMzVjIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255IFdhbGttYW4gTldaLUIxMzUKK0FUVFJ7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJ7aWRQcm9kdWN0fT09IjAzNmUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnkgV2Fsa21hbiBOV1otRTQzNkYKK0FUVFJ7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJ7aWRQcm9kdWN0fT09IjAzODUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnkgV2Fsa21hbiBOV1otVzIwMgorQVRUUntpZFZlbmRvcn09PSIwNTRjIiwgQVRUUntpZFByb2R1Y3R9PT0iMDM4OCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueSBXYWxrbWFuIE5XWi1TNzM5RgorQVRUUntpZFZlbmRvcn09PSIwNTRjIiwgQVRUUntpZFByb2R1Y3R9PT0iMDM4YyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueSBXYWxrbWFuIE5XWi1TNjM4RgorQVRUUntpZFZlbmRvcn09PSIwNTRjIiwgQVRUUntpZFByb2R1Y3R9PT0iMDM4ZSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueSBXYWxrbWFuIE5XWi1YMTA1MEIvTldaLVgxMDYwQgorQVRUUntpZFZlbmRvcn09PSIwNTRjIiwgQVRUUntpZFByb2R1Y3R9PT0iMDM5NyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueSBXYWxrbWFuIE5XWi1YMTA1MS9OV1otWDEwNjEKK0FUVFJ7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJ7aWRQcm9kdWN0fT09IjAzOTgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnkgV2Fsa21hbiBOV1otQjE0MkYKK0FUVFJ7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJ7aWRQcm9kdWN0fT09IjAzZDgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnkgV2Fsa21hbiBOV1otRTM0NAorQVRUUntpZFZlbmRvcn09PSIwNTRjIiwgQVRUUntpZFByb2R1Y3R9PT0iMDNmYyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueSBXYWxrbWFuIE5XWi1FNDQ1CitBVFRSe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSe2lkUHJvZHVjdH09PSIwM2ZkIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255IFdhbGttYW4gTldaLVM1NDUKK0FUVFJ7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJ7aWRQcm9kdWN0fT09IjAzZmUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnkgV2Fsa21hbiBOV1otQTg0NQorQVRUUntpZFZlbmRvcn09PSIwNTRjIiwgQVRUUntpZFByb2R1Y3R9PT0iMDQwNCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueSBXYWxrbWFuIE5XWi1XMjUyQgorQVRUUntpZFZlbmRvcn09PSIwNTRjIiwgQVRUUntpZFByb2R1Y3R9PT0iMDRiYiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueSBXYWxrbWFuIE5XWi1CMTUzRgorQVRUUntpZFZlbmRvcn09PSIwNTRjIiwgQVRUUntpZFByb2R1Y3R9PT0iMDRiZSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueSBXYWxrbWFuIE5XWi1FMzU0CitBVFRSe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSe2lkUHJvZHVjdH09PSIwNGNiIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255IFdhbGttYW4gTldaLVM3NTQKK0FUVFJ7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJ7aWRQcm9kdWN0fT09IjA0Y2MiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnkgTldaLUIxNjNGCitBVFRSe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSe2lkUHJvZHVjdH09PSIwNTlhIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255IFdhbGttYW4gTldaLUU0NjQKK0FUVFJ7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJ7aWRQcm9kdWN0fT09IjA1YTYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnkgTldaLVM3NjUKK0FUVFJ7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJ7aWRQcm9kdWN0fT09IjA1YTgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnkgU29ueSBUYWJsZXQgUworQVRUUntpZFZlbmRvcn09PSIwNTRjIiwgQVRUUntpZFByb2R1Y3R9PT0iMDViMyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueSBTb255IFRhYmxldCBTMQorQVRUUntpZFZlbmRvcn09PSIwNTRjIiwgQVRUUntpZFByb2R1Y3R9PT0iMDViNCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueSBEQ1ItU1I3NQorQVRUUntpZFZlbmRvcn09PSIwNTRjIiwgQVRUUntpZFByb2R1Y3R9PT0iMTI5NCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueUVyaWNzc29uIEs4NTBpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDc1IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255RXJpY3Nzb24gVzkxMAorQVRUUntpZFZlbmRvcn09PSIwZmNlIiwgQVRUUntpZFByb2R1Y3R9PT0iMDA3NiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueUVyaWNzc29uIFc4OTBpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMGIzIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255RXJpY3Nzb24gVzc2MGkKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwYzYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnlFcmljc3NvbiBDOTAyCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMGQ0IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255RXJpY3Nzb24gQzcwMgorQVRUUntpZFZlbmRvcn09PSIwZmNlIiwgQVRUUntpZFByb2R1Y3R9PT0iMDBkOSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueUVyaWNzc29uIFc5ODAKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwZGEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnlFcmljc3NvbiBDOTA1CitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMGVmIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255RXJpY3Nzb24gVzU5NQorQVRUUntpZFZlbmRvcn09PSIwZmNlIiwgQVRUUntpZFByb2R1Y3R9PT0iMDBmMyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueUVyaWNzc29uIFc5MDIKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwZjUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnlFcmljc3NvbiBUNzAwCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMGZiIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255RXJpY3Nzb24gVzcwNS9XNzE1CitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMTA1IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255RXJpY3Nzb24gVzk5NQorQVRUUntpZFZlbmRvcn09PSIwZmNlIiwgQVRUUntpZFByb2R1Y3R9PT0iMDExMiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueUVyaWNzc29uIFU1CitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMTMzIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255RXJpY3Nzb24gVThpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMTNhIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255RXJpY3Nzb24gajEwaTIgKEVsbSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxNDQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnlFcmljc3NvbiBqMTA4aSAoQ2VkYXIpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMTRlIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255RXJpY3Nzb24gVzMwMgorQVRUUntpZFZlbmRvcn09PSIwZmNlIiwgQVRUUntpZFByb2R1Y3R9PT0iMTBjOCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueUVyaWNzc29uIGoxMGkgKEVsbSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09ImQxNDQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnlFcmljc3NvbiBLNTUwaQorQVRUUntpZFZlbmRvcn09PSIwZmNlIiwgQVRUUntpZFByb2R1Y3R9PT0iZTAwMCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueUVyaWNzc29uIExUMTVpIChYcGVyaWEgYXJjIFMpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMTRmIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255RXJpY3Nzb24gTVQxMWkgWHBlcmlhIE5lbworQVRUUntpZFZlbmRvcn09PSIwZmNlIiwgQVRUUntpZFByb2R1Y3R9PT0iMDE1NiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueUVyaWNzc29uIE1LMTZpIFhwZXJpYQorQVRUUntpZFZlbmRvcn09PSIwZmNlIiwgQVRUUntpZFByb2R1Y3R9PT0iMDE1YSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueUVyaWNzc29uIFNUMThhIFhwZXJpYSBSYXkKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxNjEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnlFcmljc3NvbiBTSzE3aSBYcGVyaWEgTWluaSBQcm8KK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxNjYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnlFcmljc3NvbiBTVDE1aSBYcGVyaWEgTWluaQorQVRUUntpZFZlbmRvcn09PSIwZmNlIiwgQVRUUntpZFByb2R1Y3R9PT0iMDE2NyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueUVyaWNzc29uIFNUMTdpIFhwZXJpYSBBY3RpdmUKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxNjgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNPTlkgTFQyNmkgWHBlcmlhIFMKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxNjkiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNPTlkgV1QxOWkgTGl2ZSBXYWxrbWFuCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMTZkIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTT05ZIFNUMjFpIFhwZXJpYSBUaXBvCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMTcwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTT05ZIFNUMTVpIFhwZXJpYSBVCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMTcxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTT05ZIExUMjJpIFhwZXJpYSBQCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMTcyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTT05ZIExUMjZ3IFhwZXJpYSBBY3JvIFMKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxNzYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnlFcmljc3NvbiBTVDE3aSBYcGVyaWEgQWN0aXZlIChNVFArVU1TIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSI0MTY4IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTT05ZIExUMjZpIFhwZXJpYSBTIChNVFArVU1TIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSI0MTY5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTT05ZIFNUMjFpIFhwZXJpYSBUaXBvIChNVFArVU1TIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSI0MTcwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTT05ZIFNUMjVpIFhwZXJpYSBVIChNVFArVU1TIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSI0MTcxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTT05ZIExUMjJpIFhwZXJpYSBQIChNVFArVU1TIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSI0MTcyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTT05ZIExUMjZ3IFhwZXJpYSBBY3JvIFMgKE1UUCtVTVMgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjQxNzYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnlFcmljc3NvbiBMVDE1aSBYcGVyaWEgQXJjIChNVFArQURCIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSI1MTRmIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255RXJpY3Nzb24gTVQxMWkgWHBlcmlhIE5lbyAoTVRQK0FEQiBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwZmNlIiwgQVRUUntpZFByb2R1Y3R9PT0iNTE1NiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueUVyaWNzc29uIFNUMTdpIFhwZXJpYSBBY3RpdmUgKE1UUCtBREIgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxNjgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNPTlkgTFQyNmkgWHBlcmlhIFMgKE1UUCtBREIgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxNjkiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnlFcmljc3NvbiBNSzE2aSBYcGVyaWEgKE1UUCtBREIgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxNWEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnlFcmljc3NvbiBTVDE4aSBYcGVyaWEgUmF5IChNVFArQURCIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSI1MTYxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255RXJpY3Nzb24gU0sxN2kgWHBlcmlhIE1pbmkgUHJvIChNVFArQURCIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSI1MTY2IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255RXJpY3Nzb24gU1QxNWkgWHBlcmlhIE1pbmkgKE1UUCtBREIgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxNjciLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnlFcmljc3NvbiBTSzE3aSBYcGVyaWEgTWluaSBQcm8gKE1UUCtBREIgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxNmQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNPTlkgU1QyMWkgWHBlcmlhIFRpcG8gKE1UUCtBREIgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxNzAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNPTlkgU1QyNWkgWHBlcmlhIFUgKE1UUCtBREIgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxNzEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNPTlkgTFQyMmkgWHBlcmlhIFAgKE1UUCtBREIgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxNzIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNPTlkgTFQyNncgWHBlcmlhIEFjcm8gUyAoTVRQK0FEQiBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwZmNlIiwgQVRUUntpZFByb2R1Y3R9PT0iNTE3NiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU09OWSBNVDI3aSBYcGVyaWEgU29sYSAoTVRQK1VNUys/IG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSJhMTczIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTT05ZIFNUMjdpIFhwZXJpYSBHbyAoTVRQK1VNUys/IG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSJhMTdlIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBNb3Rvcm9sYSBWM20vVjc1MCB2ZXJpem9uCitBVFRSe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSe2lkUHJvZHVjdH09PSIyYTY1IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBNb3Rvcm9sYSBYb29tIDIgTWVkaWEgRWRpdGlvbiAoSUQyKQorQVRUUntpZFZlbmRvcn09PSIyMmI4IiwgQVRUUntpZFByb2R1Y3R9PT0iNDFjZiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTW90b3JvbGEgRHJvaWQgWC9NQjUyNSAoRGVmeSkKK0FUVFJ7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjQxZDYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1vdG9yb2xhIE1pbGVzdG9uZSAvIFZlcml6b24gRHJvaWQKK0FUVFJ7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjQxZGMiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1vdG9yb2xhIERST0lEMgorQVRUUntpZFZlbmRvcn09PSIyMmI4IiwgQVRUUntpZFByb2R1Y3R9PT0iNDJhNyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTW90b3JvbGEgWG9vbSAyIE1lZGlhIEVkaXRpb24KK0FUVFJ7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjQzMTEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1vdG9yb2xhIFhUOTEyL1hUOTI4CitBVFRSe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSe2lkUHJvZHVjdH09PSI0MzYyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBNb3Rvcm9sYSBEUk9JRDQKK0FUVFJ7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjQzN2YiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1vdG9yb2xhIElkZWFQYWQgSzEKK0FUVFJ7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjQ4MTEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1vdG9yb2xhIEExMjAwCitBVFRSe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSe2lkUHJvZHVjdH09PSI2MGNhIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBNb3Rvcm9sYSBNVFAgVGVzdCBDb21tYW5kIEludGVyZmFjZQorQVRUUntpZFZlbmRvcn09PSIyMmI4IiwgQVRUUntpZFByb2R1Y3R9PT0iNjQxMyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTW90b3JvbGEgUkFaUjIgVjgvVTkvWjYKK0FUVFJ7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjY0MTUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1vdG9yb2xhIFhvb20gKEZhY3RvcnkgdGVzdCkKK0FUVFJ7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjcwYTMiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1vdG9yb2xhIFhvb20gKE1UUCkKK0FUVFJ7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjcwYTgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1vdG9yb2xhIFhvb20gKE1UUCtBREIpCitBVFRSe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSe2lkUHJvZHVjdH09PSI3MGE5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBNb3Rvcm9sYSBNaWxlc3RvbmUgWDIKK0FUVFJ7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjcwY2EiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEdvb2dsZSBJbmMgKGZvciBTb255KSBTMQorQVRUUntpZFZlbmRvcn09PSIxOGQxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDViMyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgR29vZ2xlIEluYyAoZm9yIEJhcm5lcyAmIE5vYmxlKSBOb29rIENvbG9yCitBVFRSe2lkVmVuZG9yfT09IjE4ZDEiLCBBVFRSe2lkUHJvZHVjdH09PSIyZDAyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBHb29nbGUgSW5jIChmb3IgQXN1cykgVEYxMDEgVHJhbnNmb3JtZXIKK0FUVFJ7aWRWZW5kb3J9PT0iMThkMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjRlMGYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEdvb2dsZSBJbmMgKGZvciBTYW1zdW5nKSBOZXh1cyBTCitBVFRSe2lkVmVuZG9yfT09IjE4ZDEiLCBBVFRSe2lkUHJvZHVjdH09PSI0ZTIxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBHb29nbGUgSW5jIChmb3IgQXN1cykgTmV4dXMgNyAoTVRQKQorQVRUUntpZFZlbmRvcn09PSIxOGQxIiwgQVRUUntpZFByb2R1Y3R9PT0iNGU0MSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgR29vZ2xlIEluYyAoZm9yIEFzdXMpIE5leHVzIDcgKE1UUCtBREIpCitBVFRSe2lkVmVuZG9yfT09IjE4ZDEiLCBBVFRSe2lkUHJvZHVjdH09PSI0ZTQyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBHb29nbGUgSW5jIChmb3IgTW90b3JvbGEpIFhvb20gKE1aNjA0KQorQVRUUntpZFZlbmRvcn09PSIxOGQxIiwgQVRUUntpZFByb2R1Y3R9PT0iNzBhOCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgR29vZ2xlIEluYyAoZm9yIFRvc2hpYmEpIFRocml2ZSA3L0FUMTA1CitBVFRSe2lkVmVuZG9yfT09IjE4ZDEiLCBBVFRSe2lkUHJvZHVjdH09PSI3MTAyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBHb29nbGUgSW5jIChmb3IgTGVub3ZvKSBJZGVhcGFkIEsxCitBVFRSe2lkVmVuZG9yfT09IjE4ZDEiLCBBVFRSe2lkUHJvZHVjdH09PSI3NDBhIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBHb29nbGUgSW5jIChmb3IgTWVkaW9uKSBNRDk5MDAwIChQOTUxNCkKK0FUVFJ7aWRWZW5kb3J9PT0iMThkMSIsIEFUVFJ7aWRQcm9kdWN0fT09ImIwMGEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEdvb2dsZSBJbmMgKGZvciBMRyBFbGVjdHJvbmljcykgUDk5MC9PcHRpbXVzIChDeWFub2dlbikKK0FUVFJ7aWRWZW5kb3J9PT0iMThkMSIsIEFUVFJ7aWRQcm9kdWN0fT09ImQxMDkiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEdvb2dsZSBJbmMgKGZvciBMRyBFbGVjdHJvbmljcykgUDk5MC9PcHRpbXVzCitBVFRSe2lkVmVuZG9yfT09IjE4ZDEiLCBBVFRSe2lkUHJvZHVjdH09PSJkMTBhIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBLZW53b29kIE1lZGlhIEtlZyBIRDEwR0I3IFNwb3J0IFBsYXllcgorQVRUUntpZFZlbmRvcn09PSIwYjI4IiwgQVRUUntpZFByb2R1Y3R9PT0iMTAwYyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTWljcm8tU3RhciBJbnRlcm5hdGlvbmFsIFA2MTAvTW9kZWwgTVMtNTU1NworQVRUUntpZFZlbmRvcn09PSIwZGIwIiwgQVRUUntpZFByb2R1Y3R9PT0iNTU3MiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgRk9NQSBEOTA1aQorQVRUUntpZFZlbmRvcn09PSIwNmQzIiwgQVRUUntpZFByb2R1Y3R9PT0iMjFiYSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgSGFpZXIgSWJpemEgUmhhcHNvZHkKK0FUVFJ7aWRWZW5kb3J9PT0iMTMwMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjEwMTYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEhhaWVyIEliaXphIFJoYXBzb2R5CitBVFRSe2lkVmVuZG9yfT09IjEzMDIiLCBBVFRSe2lkUHJvZHVjdH09PSIxMDE3IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBQYW5hc29uaWMgUDkwNWkKK0FUVFJ7aWRWZW5kb3J9PT0iMDRkYSIsIEFUVFJ7aWRQcm9kdWN0fT09IjIxNDUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBhbmFzb25pYyBQOTA2aQorQVRUUntpZFZlbmRvcn09PSIwNGRhIiwgQVRUUntpZFByb2R1Y3R9PT0iMjE1OCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgUG9sYXJvaWQgRnJlZXNjYXBlL01QVS00MzMxNTgKK0FUVFJ7aWRWZW5kb3J9PT0iMDU0NiIsIEFUVFJ7aWRQcm9kdWN0fT09IjIwMzUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBpb25lZXIgWE1QMworQVRUUntpZFZlbmRvcn09PSIwOGU0IiwgQVRUUntpZFByb2R1Y3R9PT0iMDE0OCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2xhY2tlciBJbmMuIFNsYWNrZXIgUG9ydGFibGUgTWVkaWEgUGxheWVyCitBVFRSe2lkVmVuZG9yfT09IjFiZGMiLCBBVFRSe2lkUHJvZHVjdH09PSJmYWJmIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDb25jZXB0cm9uaWMgQ01URDIKK0FUVFJ7aWRWZW5kb3J9PT0iMWU1MyIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwMDUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE8yIFNpc3RlbWFzIFpvbHRhclRWCitBVFRSe2lkVmVuZG9yfT09IjFlNTMiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDA2IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBXeXBsYXkgV3lwbGF5ZXIKK0FUVFJ7aWRWZW5kb3J9PT0iMWU1MyIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwMDciLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBlcmNlcHRpb24gRGlnaXRhbCwgTHRkIEdpZ2F3YXJlIEdYNDAwCitBVFRSe2lkVmVuZG9yfT09IjBhYTYiLCBBVFRSe2lkUHJvZHVjdH09PSI5NzAyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBSSU0gQmxhY2tCZXJyeSBTdG9ybS85NjUwCitBVFRSe2lkVmVuZG9yfT09IjBmY2EiLCBBVFRSe2lkUHJvZHVjdH09PSI4MDA3IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOZXh0YXIgTUE3MTVBLThSCitBVFRSe2lkVmVuZG9yfT09IjA0MDIiLCBBVFRSe2lkUHJvZHVjdH09PSI1NjY4IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDb2J5IENPQlkgTVA3MDUKK0FUVFJ7aWRWZW5kb3J9PT0iMWU3NCIsIEFUVFJ7aWRQcm9kdWN0fT09IjY1MTIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFwcGxlIGlQaG9uZQorQVRUUntpZFZlbmRvcn09PSIwNWFjIiwgQVRUUntpZFByb2R1Y3R9PT0iMTI5MCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXBwbGUgaVBvZCBUb3VjaCAxc3QgR2VuCitBVFRSe2lkVmVuZG9yfT09IjA1YWMiLCBBVFRSe2lkUHJvZHVjdH09PSIxMjkxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBcHBsZSBpUGhvbmUgM0cKK0FUVFJ7aWRWZW5kb3J9PT0iMDVhYyIsIEFUVFJ7aWRQcm9kdWN0fT09IjEyOTIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFwcGxlIGlQb2QgVG91Y2ggMm5kIEdlbgorQVRUUntpZFZlbmRvcn09PSIwNWFjIiwgQVRUUntpZFByb2R1Y3R9PT0iMTI5MyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXBwbGUgaVBob25lIDNHUworQVRUUntpZFZlbmRvcn09PSIwNWFjIiwgQVRUUntpZFByb2R1Y3R9PT0iMTI5NCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXBwbGUgMHgxMjk2CitBVFRSe2lkVmVuZG9yfT09IjA1YWMiLCBBVFRSe2lkUHJvZHVjdH09PSIxMjk2IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBcHBsZSAweDEyOTcKK0FUVFJ7aWRWZW5kb3J9PT0iMDVhYyIsIEFUVFJ7aWRQcm9kdWN0fT09IjEyOTciLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFwcGxlIDB4MTI5OAorQVRUUntpZFZlbmRvcn09PSIwNWFjIiwgQVRUUntpZFByb2R1Y3R9PT0iMTI5OCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXBwbGUgaVBvZCBUb3VjaCAzcmQgR2VuCitBVFRSe2lkVmVuZG9yfT09IjA1YWMiLCBBVFRSe2lkUHJvZHVjdH09PSIxMjk5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBcHBsZSBpUGFkCitBVFRSe2lkVmVuZG9yfT09IjA1YWMiLCBBVFRSe2lkUHJvZHVjdH09PSIxMjlhIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDdXJpdGVsIENvbW11bmljYXRpb25zLCBJbmMuIFZlcml6b24gV2lyZWxlc3MgRGV2aWNlCitBVFRSe2lkVmVuZG9yfT09IjEwNmMiLCBBVFRSe2lkUHJvZHVjdH09PSIzMjE1IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBQYW50ZWNoIENydXgKK0FUVFJ7aWRWZW5kb3J9PT0iMTA2YyIsIEFUVFJ7aWRQcm9kdWN0fT09ImYwMDMiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFzdXMgVEYzMDAgVHJhbnNmb3JtZXIKK0FUVFJ7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJ7aWRQcm9kdWN0fT09IjRjODAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFzdXMgVEYzMDAgVHJhbnNmb3JtZXIgKFVTQiBkZWJ1ZyBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwYjA1IiwgQVRUUntpZFByb2R1Y3R9PT0iNGM4MSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXN1cyBURjcwMCBUcmFuc2Zvcm1lcgorQVRUUntpZFZlbmRvcn09PSIwYjA1IiwgQVRUUntpZFByb2R1Y3R9PT0iNGM5MCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXN1cyBURjIwMSBUcmFuc2Zvcm1lciBQcmltZSAoa2V5Ym9hcmQgZG9jaykKK0FUVFJ7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJ7aWRQcm9kdWN0fT09IjRkMDAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFzdXMgVEYyMDEgVHJhbnNmb3JtZXIgUHJpbWUgKHRhYmxldCBvbmx5KQorQVRUUntpZFZlbmRvcn09PSIwYjA1IiwgQVRUUntpZFByb2R1Y3R9PT0iNGQwMSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXN1cyBURlhYWCBUcmFuc2Zvcm1lciBQcmltZSAodW5rbm93biB2ZXJzaW9uKQorQVRUUntpZFZlbmRvcn09PSIwYjA1IiwgQVRUUntpZFByb2R1Y3R9PT0iNGQwNCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXN1cyBURjEwMSBFZWVwYWQgU2xpZGVyCitBVFRSe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSe2lkUHJvZHVjdH09PSI0ZTAxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBc3VzIFRGMTAxIEVlZXBhZCBUcmFuc2Zvcm1lcgorQVRUUntpZFZlbmRvcn09PSIwYjA1IiwgQVRUUntpZFByb2R1Y3R9PT0iNGUwZiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXN1cyBURjEwMSBFZWVwYWQgVHJhbnNmb3JtZXIgKGRlYnVnIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSe2lkUHJvZHVjdH09PSI0ZTFmIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBMZW5vdm8gSzEKK0FUVFJ7aWRWZW5kb3J9PT0iMTdlZiIsIEFUVFJ7aWRQcm9kdWN0fT09Ijc0MGEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIExlbm92byBUaGlua1BhZCBUYWJsZXQKK0FUVFJ7aWRWZW5kb3J9PT0iMTdlZiIsIEFUVFJ7aWRQcm9kdWN0fT09Ijc0MWMiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIExlbm92byBQNzAwCitBVFRSe2lkVmVuZG9yfT09IjE3ZWYiLCBBVFRSe2lkUHJvZHVjdH09PSI3NDk3IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBMZW5vdm8gTGlmZXRhYiBTOTUxMgorQVRUUntpZFZlbmRvcn09PSIxN2VmIiwgQVRUUntpZFByb2R1Y3R9PT0iNzRjYyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgSHVhd2VpIEhvbm9yIFU4ODYwCitBVFRSe2lkVmVuZG9yfT09IjEyZDEiLCBBVFRSe2lkUHJvZHVjdH09PSIxMDUxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBIdWF3ZWkgTWVkaWFwYWQgKG1vZGUgMCkKK0FUVFJ7aWRWZW5kb3J9PT0iMTJkMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjM2MGYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEh1YXdlaSBNZWRpYXBhZCAobW9kZSAxKQorQVRUUntpZFZlbmRvcn09PSIxMmQxIiwgQVRUUntpZFByb2R1Y3R9PT0iMzYxZiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgWlRFIFY1NSBJRCAxCitBVFRSe2lkVmVuZG9yfT09IjE5ZDIiLCBBVFRSe2lkUHJvZHVjdH09PSIwMjQ0IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBaVEUgVjU1IElEIDIKK0FUVFJ7aWRWZW5kb3J9PT0iMTlkMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjAyNDUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEhUQyBab3BvIFpQMTAwIChJRDEpCitBVFRSe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSe2lkUHJvZHVjdH09PSIwYzAyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBIVEMgRVZPIDRHIExURQorQVRUUntpZFZlbmRvcn09PSIwYmI0IiwgQVRUUntpZFByb2R1Y3R9PT0iMGM5MyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgSFRDIEVWTyA0RyBMVEUgKHNlY29uZCBJRCkKK0FUVFJ7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJ7aWRQcm9kdWN0fT09IjBjYTgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEhld2xldHQtUGFja2FyZCBIUCBUb3VjaHBhZAorQVRUUntpZFZlbmRvcn09PSIwYmI0IiwgQVRUUntpZFByb2R1Y3R9PT0iNjg1YyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgSGV3bGV0dC1QYWNrYXJkIEhQIFRvdWNocGFkIChkZWJ1ZyBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwYmI0IiwgQVRUUntpZFByb2R1Y3R9PT0iNjg2MCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgSFRDIFpvcG8gWlAxMDAgKElEMikKK0FUVFJ7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJ7aWRQcm9kdWN0fT09IjIwMDgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5FQyBGT01BIE4wMUEKK0FUVFJ7aWRWZW5kb3J9PT0iMDQwOSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAyNDIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIG5WaWRpYSBDTTktQWRhbQorQVRUUntpZFZlbmRvcn09PSIwOTU1IiwgQVRUUntpZFByb2R1Y3R9PT0iNzBhOSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgVml6aW8gVlRBQjEwMDgKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ4OSIsIEFUVFJ7aWRQcm9kdWN0fT09ImUwNDAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFZhcmlvdXMgVmlld3BpYSBEUi9icSBLZXBsZXIKK0FUVFJ7aWRWZW5kb3J9PT0iMjIwNyIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwMDEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIElzYWJlbGxhIEhlciBQcm90b3R5cGUKK0FUVFJ7aWRWZW5kb3J9PT0iMGIyMCIsIEFUVFJ7aWRQcm9kdWN0fT09ImRkZWUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisKKyMgQXV0b3Byb2JlIHZlbmRvci1zcGVjaWZpYywgY29tbXVuaWNhdGlvbiBhbmQgUFRQIGRldmljZXMKK0VOVntJRF9NVFBfREVWSUNFfSE9IjEiLCBFTlZ7TVRQX05PX1BST0JFfSE9IjEiLCBFTlZ7Q09MT1JfTUVBU1VSRU1FTlRfREVWSUNFfSE9IjEiLCBFTlZ7bGlic2FuZV9tYXRjaGVkfSE9InllcyIsIEFUVFJ7YkRldmljZUNsYXNzfT09IjAwfDAyfDA2fGVmfGZmIiwgUFJPR1JBTT0ibXRwLXByb2JlIC9zeXMkZW52e0RFVlBBVEh9ICRhdHRye2J1c251bX0gJGF0dHJ7ZGV2bnVtfSIsIFJFU1VMVD09IjEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisKK0xBQkVMPSJsaWJtdHBfcnVsZXNfZW5kIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYm10cC9saWJtdHAtMS4xLjUvZ2xpYmMtMi4yMC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJtdHAvbGlibXRwLTEuMS41L2dsaWJjLTIuMjAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzhiNDVjMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJtdHAvbGlibXRwLTEuMS41L2dsaWJjLTIuMjAucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorCitJbmNsdWRlIGNvbmZpZy5oIHNvIHdlIGdldCB0aGUgZGVmaW5lcyBhdmFpbGFibGUgZm9yIHN1YnNlcXVlbnQKK2luY2x1ZGUgZmlsZXMKKworRml4ZXMgZXJyb3JzIGxpa2UKKworfCBJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvdWJ1bnR1L3dvcmsvdXBzdHJlYW0vb3BlbmVtYmVkZGVkLWNvcmUvYnVpbGQvdG1wLWdsaWJjL3N5c3Jvb3RzL2JlYWdsZWJvbmUvdXNyL2luY2x1ZGUvc3RyaW5nLmg6NjM0OjAsCit8ICAgICAgICAgICAgICAgICAgZnJvbSAvaG9tZS91YnVudHUvd29yay91cHN0cmVhbS9vcGVuZW1iZWRkZWQtY29yZS9idWlsZC90bXAtZ2xpYmMvd29yay9jb3J0ZXhhOHQyaGYtdmZwLW5lb24tb2UtbGludXgtZ251ZWFiaS9saWJtdHAvMS4xLjUtcjAvbGlibXRwLTEuMS41L3NyYy91dGlsLmM6MzY6Cit8IC9ob21lL3VidW50dS93b3JrL3Vwc3RyZWFtL29wZW5lbWJlZGRlZC1jb3JlL2J1aWxkL3RtcC1nbGliYy93b3JrL2NvcnRleGE4dDJoZi12ZnAtbmVvbi1vZS1saW51eC1nbnVlYWJpL2xpYm10cC8xLjEuNS1yMC9saWJtdHAtMS4xLjUvc3JjL3V0aWwuaDoyOTo3OiBlcnJvcjogZXhwZWN0ZWQgaWRlbnRpZmllciBvciAnKCcgYmVmb3JlICdfX2V4dGVuc2lvbgorX18nCit8ICBjaGFyICpzdHJuZHVwIChjb25zdCBjaGFyICpzLCBzaXplX3Qgbik7Cit8ICAgICAgICBeCit8IC9ob21lL3VidW50dS93b3JrL3Vwc3RyZWFtL29wZW5lbWJlZGRlZC1jb3JlL2J1aWxkL3RtcC1nbGliYy93b3JrL2NvcnRleGE4dDJoZi12ZnAtbmVvbi1vZS1saW51eC1nbnVlYWJpL2xpYm10cC8xLjEuNS1yMC9saWJtdHAtMS4xLjUvc3JjL3V0aWwuYzoxMTE6NzogZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZpZXIgb3IgJygnIGJlZm9yZSAnX19leHRlbnNpbworbl9fJworfCAgY2hhciAqc3RybmR1cCAoY29uc3QgY2hhciAqcywgc2l6ZV90IG4pCit8ICAgICAgICBeCit8IG1ha2VbMl06ICoqKiBbbGlibXRwX2xhLXV0aWwubG9dIEVycm9yIDEKKworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworSW5kZXg6IGxpYm10cC0xLjEuNS9zcmMvdXRpbC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGlibXRwLTEuMS41Lm9yaWcvc3JjL3V0aWwuYwkyMDExLTAxLTEwIDA1OjM3OjIxLjAwMDAwMDAwMCAtMDgwMAorKysrIGxpYm10cC0xLjEuNS9zcmMvdXRpbC5jCTIwMTQtMDktMDMgMjM6NTA6NDQuNzAzNTYzODg4IC0wNzAwCitAQCAtMjIsNiArMjIsOCBAQAorICAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICAqLworIAorKyNpbmNsdWRlICJjb25maWcuaCIKKysKKyAvKiBNU1ZDIGRvZXMgbm90IGhhdmUgdGhlc2UgKi8KKyAjaWZuZGVmIF9NU0NfVkVSCisgI2luY2x1ZGUgPHN5cy90aW1lLmg+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlibXRwL2xpYm10cF8xLjEuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJtdHAvbGlibXRwXzEuMS41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1ZGY4ZTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlibXRwL2xpYm10cF8xLjEuNS5iYgpAQCAtMCwwICsxLDYxIEBACisjIFRPRE86IGluY2x1ZGUgZGViaWFuJ3MgbXRwLXRvb2xzIG1hbiBwYWdlIChuZWVkcyB4c2x0cHJvYy1uYXRpdmUgYW5kCisjIGRvY2Jvb2steHNsLW5hdGl2ZSwgb3Igd2UgcHJlZ2VuZXJhdGUgaXQpLCBhZGQgc3VwcG9ydCBmb3IgZG94eWdlbgorIyBnZW5lcmF0aW9uIGZ1bGx5IHdpdGggLW5hdGl2ZXMKK0RFU0NSSVBUSU9OID0gImxpYm10cCBpcyBhbiBJbml0aWF0b3IgaW1wbGVtZW50YXRpb24gb2YgdGhlIE1lZGlhIFRyYW5zZmVyIFwKK1Byb3RvY29sIChNVFApIGluIHRoZSBmb3JtIG9mIGEgbGlicmFyeSBzdWl0YWJsZSBwcmltYXJpbHkgZm9yIFBPU0lYIFwKK2NvbXBsaWFudCBvcGVyYXRpbmcgc3lzdGVtcyIKK1NVTU1BUlkgPSAibGlibXRwIGlzIGFuIEluaXRpYXRvciBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgTWVkaWEgVHJhbnNmZXIgUHJvdG9jb2wgKE1UUCkiCitIT01FUEFHRSA9ICJodHRwOi8vbGlibXRwLnNvdXJjZWZvcmdlLm5ldC8iCitMSUNFTlNFID0gIkxHUEwtMi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiXAorICAgIGZpbGU6Ly9DT1BZSU5HO21kNT0wNDQ4ZDM2NzZiYzBkZTAwNDA2YWYyMjdkMzQxYTRkMSBcCisgICAgZmlsZTovL3NyYy9wdHAuYztiZWdpbmxpbmU9MztlbmRsaW5lPTIyO21kNT1kYWZlNmNmZDE3ODJmNTY0NzFiYjk0YWIwNjYyNGMxZiBcCisgICAgZmlsZTovL2V4YW1wbGVzL2FsYnVtcy5jO2JlZ2lubGluZT01O2VuZGxpbmU9MjE7bWQ1PTg0ZjRlNTVkZmVjNDllODk4YjdmNjhhODI4YzE1NjIwIFwKKyIKKworREVQRU5EUyArPSAibGlidXNiMSBnZXR0ZXh0LW5hdGl2ZSIKKworU0NNX1VSSSA9ICJnaXQ6Ly9naXQuY29kZS5zZi5uZXQvcC9saWJtdHAvY29kZSIKK1NSQ19VUkkgPSAiXAorICAgICR7U09VUkNFRk9SR0VfTUlSUk9SfS8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgZmlsZTovLzY5LWxpYm10cC5ydWxlcyBcCisgICAgZmlsZTovL2dsaWJjLTIuMjAucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImY4MGU0NWMwZTZlNTc5OGM0MzRiYjFjMjZhN2I2MDJkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc4NzY3OTE3MWJhZjhiM2NmMmZjYzAzMTk2YzcwNWFiNGQ3Y2JjOTY5YmQ3MWY5ZDM2OTZiZTFjZTdmMWM2M2EiCisKKyMgQ3VycmVudGx5IHdlIHVzZSBhIHByZWdlbmVyYXRlZCBydWxlcyBmaWxlIHByb2R1Y2VkIGJ5IG10cC1ob3RwbHVnLCByYXRoZXIKKyMgdGhhbiBoYXZpbmcgdG8gZGVwZW5kIHVwb24gbGlibXRwLW5hdGl2ZSBvciBydW4gbXRwLWhvdHBsdWcgaW4gYSBwb3N0aW5zdC4KK2RvX3VucGFja1t2YXJkZXBzXSArPSAic2tpcF91ZGV2X3J1bGVzX2dlbmVyYXRpb24iCitkb191bnBhY2tbcG9zdGZ1bmNzXSArPSAic2tpcF91ZGV2X3J1bGVzX2dlbmVyYXRpb24iCisKK3NraXBfdWRldl9ydWxlc19nZW5lcmF0aW9uICgpIHsKKyAgICBzZWQgLWkgLWUgJy9ebm9pbnN0X0RBVEE9LywvdXRpbFwvbXRwLWhvdHBsdWcgLUgvZCcgJHtTfS9NYWtlZmlsZS5hbQorICAgIGNwICR7V09SS0RJUn0vNjktbGlibXRwLnJ1bGVzICR7U30vCit9CisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBsaWJfcGFja2FnZQorCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1ycGF0aCIKKworUEFDS0FHRUNPTkZJRyA/PSAiXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGFyZ2VmaWxlJCcsICdsYXJnZWZpbGUnLCAnJywgZCl9IFwKKyIKK1BBQ0tBR0VDT05GSUdbZG94eWdlbl0gPSAiLS1lbmFibGUtZG94eWdlbiwtLWRpc2FibGUtZG94eWdlbiIKK1BBQ0tBR0VDT05GSUdbbGFyZ2VmaWxlXSA9ICItLWVuYWJsZS1sYXJnZWZpbGUsLS1kaXNhYmxlLWxhcmdlZmlsZSIKK1BBQ0tBR0VDT05GSUdbbXRwel0gPSAiLS1lbmFibGUtbXRweiwtLWRpc2FibGUtbXRweixsaWJnY3J5cHQiCisKK1BBQ0tBR0VTID0rICJsaWJtdHAtY29tbW9uIGxpYm10cC1ydW50aW1lIG10cC10b29scyIKKworUkRFUEVORFNfJHtQTn0gKz0gImxpYm10cC1jb21tb24iCitSUkVDT01NRU5EU18ke1BOfSArPSAibGlibXRwLXJ1bnRpbWUgbXRwLXRvb2xzIgorRklMRVNfJHtQTn0tZGJnICs9ICIke25vbmFyY2hfYmFzZV9saWJkaXJ9L3VkZXYvLmRlYnVnLyoiCitQS0dfJHtQTn0tYmluID0gIm10cC10b29scyIKK1NVTU1BUllfJHtQTn0tYmluID0gIlRvb2xzIGZvciBjb21tdW5pY2F0aW5nIHdpdGggTVRQIGRldmljZXMiCitERVNDUklQVElPTl8ke1BOfS1iaW4gPSAiJHtERVNDUklQVElPTn1cblRoaXMgcGFja2FnZSBjb250YWlucyB0b29scyBmb3IgY29tbXVuaWNhdGluZyB3aXRoIE1UUCBkZXZpY2VzLiIKK0ZJTEVTX2xpYm10cC1jb21tb24gPSAiJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2L3J1bGVzLmQvKiIKK1NVTU1BUllfbGlibXRwLWNvbW1vbiA9ICJUaGUgdWRldiBydWxlcyBmaWxlIGZvciBNVFAgZGV2aWNlcyIKK0ZJTEVTX2xpYm10cC1ydW50aW1lID0gIiR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi9tdHAtcHJvYmUiCitERVBFTkRTX2xpYm10cC1ydW50aW1lID0gImxpYm10cC1jb21tb24iCitTVU1NQVJZX2xpYm10cC1ydW50aW1lID0gIm10cC1wcm9iZSwgdXNlZCBmb3IgdGhlIE1UUCB1ZGV2IHJ1bGVzIgorREVTQ1JJUFRJT05fbGlibXRwLXJ1bnRpbWUgPSAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIG10cC1wcm9iZSwgYSBwcm9ncmFtIHRvIHByb2JlIG5ld2x5IGNvbm5lY3RlZCBkZXZpY2UgaW50ZXJmYWNlcyBmcm9tIHVzZXJzcGFjZSB0byBkZXRlcm1pbmUgaWYgdGhleSBhcmUgTVRQIGRldmljZXMsIHVzZWQgZm9yIHVkZXYgcnVsZXMuIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYm5kcC9saWJuZHBfMS41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYm5kcC9saWJuZHBfMS41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmMWQxZmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlibmRwL2xpYm5kcF8xLjUuYmIKQEAgLTAsMCArMSwxMCBAQAorU1VNTUFSWSA9ICJMaWJyYXJ5IGZvciBJUHY2IE5laWdoYm9yIERpc2NvdmVyeSBQcm90b2NvbCIKKworTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIgorCitTUkNfVVJJID0gImh0dHA6Ly9saWJuZHAub3JnL2ZpbGVzLyR7QlBOfS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiYmViODJlOGQ3NWQ4MzgyZDFiN2MwYmIwZjY4YmU0MjkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZmFmMTE2YWI3MGNlOTUxNGVjNGU4NTczNTU2MDI1ZGViZWEwOGY2MDZlN2YzOGI2MTZkZTFmMjZlMTIwYzc5NSIKKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJuZXQvbGlibmV0XzEuMi1yYzMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlibmV0L2xpYm5ldF8xLjItcmMzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1NThlODAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlibmV0L2xpYm5ldF8xLjItcmMzLmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiQSBwYWNrZXQgZGlzc2VjdGlvbiBhbmQgY3JlYXRpb24gbGlicmFyeSIKKyMgbGlibmV0IGF0IHBhY2tldGZhY3RvcnkubmV0IGlzIGRlYWQKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9zYW0tZ2l0aHViL2xpYm5ldCIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZG9jL0NPUFlJTkc7bWQ1PTNlYzgzOWUwMDQwOGI0ODRkMzNiNDcyYTg2YjdjMjY2IgorREVQRU5EUyA9ICJsaWJwY2FwIgorIyBUaGVyZSBhcmUgbWFqb3IgQVBJIGNoYW5nZXMgYmV3ZWVuIGxpYm5ldCB2MS4wIGFuZCBsaWJuZXQgdjEuMQorUFJPVklERVMgPSAibGlibmV0LTEuMnJjMiIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vbGlibmV0LWRldi8ke0JQTn0tJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjA1MWU2ZTViZGVjZGRiOTBmNzdjNzAxYzJjYTE4MDQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzJjMzgwNzg1YWQ0NDE4MzAwNWU2NTRiNDdjYzEyNDg1ZWUwMjI4ZDdmYTZiMGE4NzEwOWZmNzYxNGJlNGE2MyIKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfS0ke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgYmluY29uZmlnCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJxbWkvbGlicW1pXzEuMTIuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJxbWkvbGlicW1pXzEuMTIuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTE1NTI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnFtaS9saWJxbWlfMS4xMi42LmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAibGlicW1pIGlzIGEgbGlicmFyeSBmb3IgdGFsa2luZyB0byBXV0FOIGRldmljZXMgYnkgUU1JIHByb3RvY29sIgorREVTQ1JJUFRJT04gPSAibGlicW1pIGlzIGEgZ2xpYi1iYXNlZCBsaWJyYXJ5IGZvciB0YWxraW5nIHRvIFdXQU4gbW9kZW1zIGFuZCBkZXZpY2VzIHdoaWNoIHNwZWFrIHRoZSBRdWFsY29tbSBNU00gSW50ZXJmYWNlIChRTUkpIHByb3RvY29sIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2FyZS9saWJxbWkiCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gIiBcCisgICAgZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKKyAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIFwKKyIKKworREVQRU5EUyA9ICJnbGliLTIuMCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiMjRjOWViMzAwNjYyYmE2Y2ZmMDE1MmRlODliZDllYzAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDg1N2JmZmVjZTRlOGRkZmE3ZjcyMWRkOWNhNjNiNGM3OGRlMzQ1YWM5YWUyZmFlYmYwNDA2MmNhY2JhMzc4MCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJ0b3JyZW50L2xpYnRvcnJlbnQvZG9uLXQtcnVuLWNvZGUtd2hpbGUtY29uZmlndXJpbmctcGFja2FnZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJ0b3JyZW50L2xpYnRvcnJlbnQvZG9uLXQtcnVuLWNvZGUtd2hpbGUtY29uZmlndXJpbmctcGFja2FnZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OWQ0ZjI5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnRvcnJlbnQvbGlidG9ycmVudC9kb24tdC1ydW4tY29kZS13aGlsZS1jb25maWd1cmluZy1wYWNrYWdlLnBhdGNoCkBAIC0wLDAgKzEsOTQgQEAKK1VzaW5nIEFDX1JVTl9JRkVMU0UgcHJldmVudCBwZW9wbGUgZnJvbSBjb25maWd1cmluZyBwYWNrYWdlIGZvcgorY3Jvc3MtY29tcGlsaW5nLiBEb24ndCBydW4gY29kZSB3aGlsZSBjb25maWd1cmluZyBwYWNrYWdlLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEFuZHJlaSBHaGVyemFuIDxhbmRyZWlAZ2hlcnphbi5ybz4KKworSW5kZXg6IGxpYnRvcnJlbnQtMC4xMy4zL3NjcmlwdHMvY2hlY2tzLm00Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGlidG9ycmVudC0wLjEzLjMub3JpZy9zY3JpcHRzL2NoZWNrcy5tNAkyMDEyLTA1LTE0IDE0OjE3OjA0LjAwMDAwMDAwMCArMDMwMAorKysrIGxpYnRvcnJlbnQtMC4xMy4zL3NjcmlwdHMvY2hlY2tzLm00CTIwMTMtMDItMTAgMTU6Mjg6MzcuNDE0NDQ1NTI0ICswMjAwCitAQCAtOTUsNDAgKzk1LDYgQEAKKworIEFDX0RFRlVOKFtUT1JSRU5UX0NIRUNLX0tRVUVVRV9TT0NLRVRfT05MWV0sIFsKKyAgIEFDX01TR19DSEVDS0lORyh3aGV0aGVyIGtxdWV1ZSBzdXBwb3J0cyBwaXBlcyBhbmQgcHR5cykKKy0KKy0gIEFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFsKKy0gICAgICAjaW5jbHVkZSA8ZmNudGwuaD4KKy0gICAgICAjaW5jbHVkZSA8c3RkbGliLmg+CistICAgICAgI2luY2x1ZGUgPHVuaXN0ZC5oPgorLSAgICAgICNpbmNsdWRlIDxzeXMvZXZlbnQuaD4KKy0gICAgICAjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKy0gICAgICBpbnQgbWFpbigpIHsKKy0gICAgICAgIHN0cnVjdCBrZXZlbnQgZXZAPDpAMkA6PkAsIGV2X291dEA8OkAyQDo+QDsKKy0gICAgICAgIHN0cnVjdCB0aW1lc3BlYyB0cyA9IHsgMCwgMCB9OworLSAgICAgICAgaW50IHBmZEA8OkAyQDo+QCwgcHR5QDw6QDJAOj5ALCBrZmQsIG47CistICAgICAgICBjaGFyIGJ1ZmZlckA8OkA5MDAxQDo+QDsKKy0gICAgICAgIGlmIChwaXBlKHBmZCkgPT0gLTEpIHJldHVybiAxOworLSAgICAgICAgaWYgKGZjbnRsKHBmZEA8OkAxQDo+QCwgRl9TRVRGTCwgT19OT05CTE9DSykgPT0gLTEpIHJldHVybiAyOworLSAgICAgICAgd2hpbGUgKChuID0gd3JpdGUocGZkQDw6QDFAOj5ALCBidWZmZXIsIHNpemVvZihidWZmZXIpKSkgPT0gc2l6ZW9mKGJ1ZmZlcikpOworLSAgICAgICAgaWYgKChwdHlAPDpAMEA6PkA9cG9zaXhfb3BlbnB0KE9fUkRXUiB8IE9fTk9DVFRZKSkgPT0gLTEpIHJldHVybiAzOworLSAgICAgICAgaWYgKChwdHlAPDpAMUA6PkA9Z3JhbnRwdChwdHlAPDpAMEA6PkApKSA9PSAtMSkgcmV0dXJuIDQ7CistICAgICAgICBFVl9TRVQoZXYrMCwgcGZkQDw6QDFAOj5ALCBFVkZJTFRfV1JJVEUsIEVWX0FERCB8IEVWX0VOQUJMRSwgMCwgMCwgTlVMTCk7CistICAgICAgICBFVl9TRVQoZXYrMSwgcHR5QDw6QDFAOj5ALCBFVkZJTFRfUkVBRCwgRVZfQUREIHwgRVZfRU5BQkxFLCAwLCAwLCBOVUxMKTsKKy0gICAgICAgIGlmICgoa2ZkID0ga3F1ZXVlKCkpID09IC0xKSByZXR1cm4gNTsKKy0gICAgICAgIGlmICgobiA9IGtldmVudChrZmQsIGV2LCAyLCBOVUxMLCAwLCBOVUxMKSkgPT0gLTEpIHJldHVybiA2OworLSAgICAgICAgaWYgKGV2X291dEA8OkAwQDo+QC5mbGFncyAmIEVWX0VSUk9SKSByZXR1cm4gNzsKKy0gICAgICAgIGlmIChldl9vdXRAPDpAMUA6PkAuZmxhZ3MgJiBFVl9FUlJPUikgcmV0dXJuIDg7CistICAgICAgICByZWFkKHBmZEA8OkAwQDo+QCwgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSk7CistICAgICAgICBpZiAoKG4gPSBrZXZlbnQoa2ZkLCBOVUxMLCAwLCBldl9vdXQsIDIsICZ0cykpIDwgMSkgcmV0dXJuIDk7CistICAgICAgICByZXR1cm4gMDsKKy0gICAgICB9CistICAgICAgXSldLAorLSAgICBbCistICAgICAgQUNfTVNHX1JFU1VMVCh5ZXMpCistICAgIF0sIFsKKy0gICAgICBBQ19ERUZJTkUoS1FVRVVFX1NPQ0tFVF9PTkxZLCAxLCBrcXVldWUgb25seSBzdXBwb3J0cyBzb2NrZXRzLikKKy0gICAgICBBQ19NU0dfUkVTVUxUKG5vKQorLSAgICBdKQorIF0pCisKKyBBQ19ERUZVTihbVE9SUkVOVF9XSVRIX0tRVUVVRV0sIFsKK0luZGV4OiBsaWJ0b3JyZW50LTAuMTMuMy9zY3JpcHRzL2NvbW1vbi5tNAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGxpYnRvcnJlbnQtMC4xMy4zLm9yaWcvc2NyaXB0cy9jb21tb24ubTQJMjAxMi0wNS0xNCAxNDoxNzowNC4wMDAwMDAwMDAgKzAzMDAKKysrKyBsaWJ0b3JyZW50LTAuMTMuMy9zY3JpcHRzL2NvbW1vbi5tNAkyMDEzLTAyLTEwIDE1OjI3OjU1Ljg3NDQ0Njc0MSArMDIwMAorQEAgLTIyMiwzOCArMjIyLDEwIEBACisKKyBBQ19ERUZVTihbVE9SUkVOVF9DSEVDS19FWEVDSU5GT10sIFsKKyAgIEFDX01TR19DSEVDS0lORyhmb3IgZXhlY2luZm8uaCkKKy0KKy0gIEFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFsKKy0gICAgICAjaW5jbHVkZSA8ZXhlY2luZm8uaD4KKy0gICAgICBpbnQgbWFpbigpIHsgYmFja3RyYWNlKCh2b2lkKiopMCwgMCk7IGJhY2t0cmFjZV9zeW1ib2xzKChjaGFyKiopMCwgMCk7IHJldHVybiAwO30KKy0gICAgICBdKV0sCistICAgIFsKKy0gICAgICBBQ19NU0dfUkVTVUxUKHllcykKKy0gICAgICBBQ19ERUZJTkUoVVNFX0VYRUNJTkZPLCAxLCBVc2UgZXhlY2luZm8uaCkKKy0gICAgXSwgWworLSAgICAgIEFDX01TR19SRVNVTFQobm8pCistICBdKQorIF0pCisKKyBBQ19ERUZVTihbVE9SUkVOVF9DSEVDS19BTElHTkVEXSwgWworICAgQUNfTVNHX0NIRUNLSU5HKHRoZSBieXRlIGFsaWdubWVudCkKKy0KKy0gIEFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFsKKy0gICAgICAjaW5jbHVkZSA8aW50dHlwZXMuaD4KKy0gICAgICBpbnQgbWFpbigpIHsKKy0gICAgICAgIGNoYXIgYnVmQDw6QDhAOj5AID0geyAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwIH07CistCWludCBpOworLSAgICAgICAgZm9yIChpID0gMTsgaSA8IDQ7ICsraSkKKy0JICBpZiAoKih1aW50MzJfdCopKGJ1ZiArIGkpID09IDApIHJldHVybiAtMTsKKy0JcmV0dXJuIDA7CistCX0KKy0gICAgICBdKV0sCistICAgIFsKKy0gICAgICBBQ19NU0dfUkVTVUxUKG5vbmUgbmVlZGVkKQorLSAgICBdLCBbCistICAgICAgQUNfREVGSU5FKFVTRV9BTElHTkVELCAxLCBSZXF1aXJlIGJ5dGUgYWxpZ25tZW50KQorLSAgICAgIEFDX01TR19SRVNVTFQocmVxdWlyZWQpCistICBdKQorIF0pCisKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnRvcnJlbnQvbGlidG9ycmVudF8wLjEzLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlidG9ycmVudC9saWJ0b3JyZW50XzAuMTMuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YWYzYTZhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnRvcnJlbnQvbGlidG9ycmVudF8wLjEzLjMuYmIKQEAgLTAsMCArMSwxNyBAQAorREVTQ1JJUFRJT04gPSAibGliVG9ycmVudCBpcyBhIEJpdFRvcnJlbnQgbGlicmFyeSB3cml0dGVuIGluIEMrKyBmb3IgKm5peCwgXAord2l0aCBhIGZvY3VzIG9uIGhpZ2ggcGVyZm9ybWFuY2UgYW5kIGdvb2QgY29kZS4iCitIT01FUEFHRSA9ICJodHRwOi8vbGlidG9ycmVudC5yYWtzaGFzYS5uby8iCitMSUNFTlNFID0gIkdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zOTNhNWNhNDQ1ZjY5NjU4NzNlY2EwMjU5YTE3ZjgzMyIKKworREVQRU5EUyA9ICJsaWJzaWdjKystMi4wIG9wZW5zc2wgY3BwdW5pdCIKKworU1JDX1VSSSA9ICJodHRwOi8vbGlidG9ycmVudC5yYWtzaGFzYS5uby9kb3dubG9hZHMvJHtCUH0udGFyLmd6IFwKKyAgICBmaWxlOi8vZG9uLXQtcnVuLWNvZGUtd2hpbGUtY29uZmlndXJpbmctcGFja2FnZS5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlOTRmNmM1OTBiYjAyYWFmNGQ1ODYxOGY3MzhhODVmMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzNDMxN2Q2NzgzYjdmOGQwODA1Mjc0Yzk0Njc0NzViNTQzMmEyNDZjMGRlOGUyOGZjMTZlM2IwYjQzZjM1Njc3IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpbnV4cHRwL2xpbnV4cHRwL2J1aWxkLUFsbG93LUNDLWFuZC1wcmVmaXgtdG8tYmUtb3ZlcnJpZGVuLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpbnV4cHRwL2xpbnV4cHRwL2J1aWxkLUFsbG93LUNDLWFuZC1wcmVmaXgtdG8tYmUtb3ZlcnJpZGVuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxZDk2YWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGludXhwdHAvbGludXhwdHAvYnVpbGQtQWxsb3ctQ0MtYW5kLXByZWZpeC10by1iZS1vdmVycmlkZW4ucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorRnJvbSBhZjQ4NWM2MzhjNjFmYTg4MzIxMmVhNDI0ZTY3NmZiZjkwYmVlNTk0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KK0RhdGU6IFR1ZSwgMSBKdWwgMjAxNCAxNzozNzozMSAtMDMwMAorU3ViamVjdDogW1BBVENIXSBidWlsZDogQWxsb3cgQ0MgYW5kIHByZWZpeCB0byBiZSBvdmVycmlkZW4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+CistLS0KKyBtYWtlZmlsZSB8ICAgIDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9tYWtlZmlsZSBiL21ha2VmaWxlCitpbmRleCAyMmU3ZDBkLi44MDljYzhmIDEwMDY0NAorLS0tIGEvbWFrZWZpbGUKKysrKyBiL21ha2VmaWxlCitAQCAtMTgsNyArMTgsNyBAQAorIEtCVUlMRF9PVVRQVVQgPQorIAorIERFQlVHCT0KKy1DQwk9ICQoQ1JPU1NfQ09NUElMRSlnY2MKKytDQwk/PSAkKENST1NTX0NPTVBJTEUpZ2NjCisgVkVSICAgICA9IC1EVkVSPSQodmVyc2lvbikKKyBDRkxBR1MJPSAtV2FsbCAkKFZFUikgJChpbmNkZWZzKSAkKERFQlVHKSAkKEVYVFJBX0NGTEFHUykKKyBMRExJQlMJPSAtbG0gLWxydCAkKEVYVFJBX0xERkxBR1MpCitAQCAtMzUsNyArMzUsNyBAQCBpbmNkZWZzIDo9ICQoc2hlbGwgJChzcmNkaXIpL2luY2RlZnMuc2gpCisgdmVyc2lvbiA6PSAkKHNoZWxsICQoc3JjZGlyKS92ZXJzaW9uLnNoICQoc3JjZGlyKSkKKyBWUEFUSAk9ICQoc3JjZGlyKQorIAorLXByZWZpeAk9IC91c3IvbG9jYWwKKytwcmVmaXgJPz0gL3Vzci9sb2NhbAorIHNiaW5kaXIJPSAkKHByZWZpeCkvc2JpbgorIG1hbmRpcgk9ICQocHJlZml4KS9tYW4KKyBtYW44ZGlyCT0gJChtYW5kaXIpL21hbjgKKy0tIAorMS43LjEwLjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpbnV4cHRwL2xpbnV4cHRwXzEuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saW51eHB0cC9saW51eHB0cF8xLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjU0Yjg1NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saW51eHB0cC9saW51eHB0cF8xLjYuYmIKQEAgLTAsMCArMSwyMCBAQAorREVTQ1JJUFRJT04gPSAiUHJlY2lzaW9uIFRpbWUgUHJvdG9jb2wgKFBUUCkgYWNjb3JkaW5nIHRvIElFRUUgc3RhbmRhcmQgMTU4OCBmb3IgTGludXgiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saW51eHB0cC9maWxlcy92JHtQVn0vbGludXhwdHAtJHtQVn0udGd6IFwKKyAgICAgICAgICAgZmlsZTovL2J1aWxkLUFsbG93LUNDLWFuZC1wcmVmaXgtdG8tYmUtb3ZlcnJpZGVuLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNmFhMTVkODNmNWEzNWYxZmQwNzZiYTlhZGM0ZTcyODUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTdmZDE2YTlmMjM1YjA1OWJlNTI3YmQ1MTJlODZmMGMxZDlmMmU3YzM2NzM2ZTZkNmQ5NzI3YTQ0MjdhYzE0YyIKKworRVhUUkFfT0VNQUtFID0gIkFSQ0g9JHtUQVJHRVRfQVJDSH0gXAorCQlFWFRSQV9DRkxBR1M9Jy1EX0dOVV9TT1VSQ0UgLURIQVZFX0NMT0NLX0FESlRJTUUgLURIQVZFX09ORVNURVBfU1lOQyAke0NGTEFHU30nIgorCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtcCAke1N9L3B0cDRsICAke0R9LyR7YmluZGlyfQorICAgIGluc3RhbGwgLXAgJHtTfS9wbWMgICR7RH0vJHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtcCAke1N9L3BoYzJzeXMgICR7RH0vJHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtcCAke1N9L2h3c3RhbXBfY3RsICAke0R9LyR7YmluZGlyfQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpcmMvbGlyYy5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlyYy9saXJjLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZmY4ZTAxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpcmMvbGlyYy5pbmMKQEAgLTAsMCArMSwxMyBAQAorREVTQ1JJUFRJT04gPSAiTElSQyBpcyBhIHBhY2thZ2UgdGhhdCBhbGxvd3MgeW91IHRvIGRlY29kZSBhbmQgc2VuZCBpbmZyYS1yZWQgc2lnbmFscyBvZiBtYW55IGNvbW1vbmx5IHVzZWQgcmVtb3RlIGNvbnRyb2xzLiIKK0RFU0NSSVBUSU9OX2FwcGVuZF9saXJjID0gIiBUaGlzIHBhY2thZ2UgY29udGFpbnMgdGhlIGxpcmMgZGFlbW9uLCBsaWJyYXJpZXMgYW5kIHRvb2xzLiIKK0RFU0NSSVBUSU9OX2FwcGVuZF9saXJjLWV4ZWMgPSAiIFRoaXMgcGFja2FnZSBjb250YWlucyBhIGRhZW1vbiB0aGF0IHJ1bnMgcHJvZ3JhbXMgb24gSVIgc2lnbmFscy4iCitERVNDUklQVElPTl9hcHBlbmRfbGlyYy1yZW1vdGVzID0gIiBUaGlzIHBhY2thZ2UgY29udGFpbnMgc29tZSBjb25maWcgZmlsZXMgZm9yIHJlbW90ZXMuIgorREVTQ1JJUFRJT05fYXBwZW5kX2xpcmMtbnNsdTJleGFtcGxlID0gIiBUaGlzIHBhY2thZ2UgY29udGFpbnMgYSB3b3JraW5nIGNvbmZpZyBmb3IgUkM1IHJlbW90ZXMgYW5kIGEgbW9kaWZpZWQgTlNMVTIuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5saXJjLm9yZyIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorTElDRU5TRSA9ICJHUEx2MiIKK0RFUEVORFMgPSAiYWxzYS1saWIgbGliZnRkaSBsaWJ1c2IxIGxpYnVzYi1jb21wYXQgamFjayBwb3J0YXVkaW8tdjE5IgorCitTUkNfVVJJID0gImh0dHA6Ly9wcmRvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvbGlyYy9saXJjLSR7UFZ9LnRhci5iejIiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpcmMvbGlyYy9saXJjLnRtcGZpbGVzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpcmMvbGlyYy9saXJjLnRtcGZpbGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiODBlMmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlyYy9saXJjL2xpcmMudG1wZmlsZXMKQEAgLTAsMCArMSBAQAorZCAvcnVuL2xpcmMgMDc1NSByb290IHJvb3QgLQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpcmMvbGlyYy9saXJjX29wdGlvbnMuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saXJjL2xpcmMvbGlyY19vcHRpb25zLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDhkZGVkZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saXJjL2xpcmMvbGlyY19vcHRpb25zLmNvbmYKQEAgLTAsMCArMSwyNCBAQAorIyBUaGVzZSBhcmUgdGhlIGRlZmF1bHQgb3B0aW9ucyB0byBsaXJjZCwgaWYgaW5zdGFsbGVkIGFzCisjIC9ldGMvbGlyYy9saXJjX29wdGlvbnMuY29uZi4gU2VlIHRoZSBsaXJjZCg4KSBhbmQgbGlyY21kKDgpCisjIG1hbnBhZ2VzIGZvciBpbmZvIG9uIHRoZSBkaWZmZXJlbnQgb3B0aW9ucy4KKworW2xpcmNkXQorbm9kYWVtb24gICAgICAgID0gRmFsc2UKK3Blcm1pc3Npb24gICAgICA9IDY2NgorZHJpdmVyICAgICAgICAgID0gZGVmYXVsdAorZGV2aWNlICAgICAgICAgID0gL2Rldi9saXJjMAorb3V0cHV0ICAgICAgICAgID0gL3Zhci9ydW4vbGlyYy9saXJjZAorcGlkZmlsZSAgICAgICAgID0gL3Zhci9ydW4vbGlyYy9saXJjZC5waWQKK3BsdWdpbmRpciAgICAgICA9IC91c3IvbGliL2xpcmMvcGx1Z2lucworYWxsb3ctc2ltdWxhdGUgID0gTm8KK3JlcGVhdC1tYXggICAgICA9IDYwMAorI2xpc3RlbiAgICAgICAgID0gW2FkZHJlc3M6XXBvcnQKKyNjb25uZWN0ICAgICAgICA9IGhvc3RbOnBvcnRdCisjZGVidWcgICAgICAgICAgPSA1CisjdWlucHV0ICAgICAgICAgPSAuLi4KKyNyZWxlYXNlICAgICAgICA9IC4uLgorI2xvZ2ZpbGUgICAgICAgID0gLi4uCisKK1tsaXJjbWRdCit1aW5wdXQgICAgICAgICAgPSBGYWxzZQorbm9kZWFtb24gICAgICAgID0gRmFsc2UKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saXJjL2xpcmMvbGlyY2QuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saXJjL2xpcmMvbGlyY2QuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOWIwM2M3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpcmMvbGlyYy9saXJjZC5jb25mCkBAIC0wLDAgKzEsMzE1IEBACisjIGNvbnRyaWJ1dGVkIGJ5IGFuZ2VsbyBjYXN0ZWxsbworIworIyBub3RlOiB0aGlzIGNvbmZpZyBmaWxlIGhhcyBiZWVuIGRlZHVjZWQgc3RhcnRpbmcgZnJvbSB0aGUKKyMgICAgICAgcmF3IGNvZGVzIHByb3ZpZGVkIHRvIHJ1biBtb2RlMiB1dGlsaXR5LgorIworIyBicmFuZDogZnV0YXJxdWUKKworYmVnaW4gcmVtb3RlCisgIG5hbWUgIGZ1dGFycXVlCisgIGJpdHMgIDgKKyAgZmxhZ3MgU1BBQ0VfRU5DfENPTlNUX0xFTkdUSAorICBlcHMgICAzMAorICBhZXBzICAxMDAKKworICBoZWFkZXIgICAgICAgODA0OCAgMzg5OAorICBvbmUgICAgICAgICAgIDU1NSAgMTQzNgorICB6ZXJvICAgICAgICAgIDU1NSAgIDQzOQorICBnYXAJCTExMzEyMworICBwdHJhaWwgICAgICAgIDU1NQorICBwcmVfZGF0YV9iaXRzICAgOAorICBwcmVfZGF0YSAgICAgMHg1NAorICBwcmUJCTU3MCAgMzg5MAorCisgICAgICBiZWdpbiBjb2RlcworICAgICAgICAgIE1VVEUgICAgICAgICAgICAgICAgICAgICAweDcwCisgICAgICAgICAgRVhJVCAgICAgICAgICAgICAgICAgICAgIDB4QTgKKyAgICAgICAgICBQT1dFUiAgICAgICAgICAgICAgICAgICAgMHhGMAorICAgICAgICAgIENIQU5ORUxfVVAgICAgICAgICAgICAgICAweDUwCisgICAgICAgICAgQ0hBTk5FTF9ET1dOICAgICAgICAgICAgIDB4RDAKKyAgICAgICAgICBWT0xVTUVfVVAgICAgICAgICAgICAgICAgMHgzMAorICAgICAgICAgIFZPTFVNRV9ET1dOICAgICAgICAgICAgICAweEIwCisgICAgICAgICAgT0sgICAgICAgICAgICAgICAgICAgICAgIDB4OTgKKyAgICAgICAgICBGQVZPUklURVMgICAgICAgICAgICAgICAgMHgwNAorICAgICAgICAgIFRFWFQgICAgICAgICAgICAgICAgICAgICAweDY4CisgICAgICAgICAgRVBHICAgICAgICAgICAgICAgICAgICAgIDB4QzgKKyAgICAgICAgICBCQUNLICAgICAgICAgICAgICAgICAgICAgMHg0OAorICAgICAgICAgIE1FTlUgICAgICAgICAgICAgICAgICAgICAweDg4CisgICAgICAgICAgMSAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKKyAgICAgICAgICAyICAgICAgICAgICAgICAgICAgICAgICAgMHg4MAorICAgICAgICAgIDMgICAgICAgICAgICAgICAgICAgICAgICAweDQwCisgICAgICAgICAgNCAgICAgICAgICAgICAgICAgICAgICAgIDB4QzAKKyAgICAgICAgICA1ICAgICAgICAgICAgICAgICAgICAgICAgMHgyMAorICAgICAgICAgIDYgICAgICAgICAgICAgICAgICAgICAgICAweEEwCisgICAgICAgICAgNyAgICAgICAgICAgICAgICAgICAgICAgIDB4NjAKKyAgICAgICAgICA4ICAgICAgICAgICAgICAgICAgICAgICAgMHhFMAorICAgICAgICAgIDkgICAgICAgICAgICAgICAgICAgICAgICAweDEwCisgICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAgICAgIDB4OTAKKyAgICAgICAgICBQQVVTRSAgICAgICAgICAgICAgICAgICAgMHg4NAorICAgICAgICAgIElORk8gICAgICAgICAgICAgICAgICAgICAweDM4CisgICAgICAgICAgUkVEICAgICAgICAgICAgICAgICAgICAgIDB4RTgKKyAgICAgICAgICBHUkVFTiAgICAgICAgICAgICAgICAgICAgMHgwOAorICAgICAgICAgIFlFTExPVyAgICAgICAgICAgICAgICAgICAweDI4CisgICAgICAgICAgQkxVRSAgICAgICAgICAgICAgICAgICAgIDB4NzgKKyAgICAgICAgICBVUCAgICAgICAgICAgICAgICAgICAgICAgMHhEOAorICAgICAgICAgIERPV04gICAgICAgICAgICAgICAgICAgICAweEI4CisgICAgICAgICAgUkVXSU5EICAgICAgICAgICAgICAgICAgIDB4NDQKKyAgICAgICAgICBGQVNURk9SV0FSRCAgICAgICAgICAgICAgMHgyNAorICAgICAgICAgIFBMQVlQQVVTRSAgICAgICAgICAgICAgICAweEM0CisgICAgICAgICAgU1RPUCAgICAgICAgICAgICAgICAgICAgIDB4NjQKKyAgICAgICAgICBSRUNPUkQgICAgICAgICAgICAgICAgICAgMHhBNAorICAgICAgICAgIEFVRElPICAgICAgICAgICAgICAgICAgICAweEU0CisgICAgICAgICAgVEFQRSAgICAgICAgICAgICAgICAgICAgIDB4MTQKKyAgICAgICAgICBEVkQgICAgICAgICAgICAgICAgICAgICAgMHg5NAorICAgICAgICAgIENBUElUQUxfQSAgICAgICAgICAgICAgICAweEY4CisgICAgICAgICAgQ0FQSVRBTF9CICAgICAgICAgICAgICAgIDB4NTQKKyAgICAgIGVuZCBjb2RlcworCitlbmQgcmVtb3RlCisKKyMgYnJhbmQ6IFNUTSBQVlItMQorCitiZWdpbiByZW1vdGUKKyAgbmFtZQlzdG1fcHZyXzEKKyAgYml0cwkxNgorICBmbGFncyBTUEFDRV9FTkN8Q09OU1RfTEVOR1RICisgIGVwcwkzMAorICBhZXBzCTE1MAorCisgIGhlYWRlcgk5MDAwICA0NTAwCisgIG9uZQkJIDU3MiAgMTcwMAorICB6ZXJvCQkgNTcyICAgNTcyCisgIHB0cmFpbAkgNTcyCisgIHJlcGVhdAk5MDAwICAyMjAwCisgIHByZV9kYXRhX2JpdHMJICAxNgorICBwcmVfZGF0YQkweEZFCisgIGdhcAkJMTAwMDAwCisKKyAgICAgIGJlZ2luIGNvZGVzCisgICAgICAgICAgUE9XRVIJCQkweDAwZmYKKyAgICAgICAgICBGQVZPUklURVMJCTB4Nzg4NworICAgICAgICAgIE1VVEUJCQkweDI4ZDcKKyAgICAgICAgICAwCQkJMHg3MDhGCisgICAgICAgICAgMQkJCTB4YzAzZgorICAgICAgICAgIDIJCQkweDQwYmYKKyAgICAgICAgICAzCQkJMHg4MDdmCisgICAgICAgICAgNAkJCTB4ZTAxZgorICAgICAgICAgIDUJCQkweDYwOWYKKyAgICAgICAgICA2CQkJMHhhMDVmCisgICAgICAgICAgNwkJCTB4ZDAyZgorICAgICAgICAgIDgJCQkweDUwYWYKKyAgICAgICAgICA5CQkJMHg5MDZmCisgICAgICAgICAgSU5GTwkJCTB4MzhjNworICAgICAgICAgIFNVQlRJVExFCQkweGU4MTcKKyAgICAgICAgICBNRU5VCQkJMHg5ODY3CisgICAgICAgICAgRVhJVAkJCTB4MjBkZgorICAgICAgICAgIEVQRwkJCTB4YTg1NworICAgICAgICAgIEJBQ0sJCQkweDQ4YjcKKyAgICAgICAgICBDVVJTT1JfVVAJCTB4NThhNworICAgICAgICAgIENVUlNPUl9ET1dOCQkweGQ4MjcKKyAgICAgICAgICBDVVJTT1JfTEVGVAkJMHg4ODc3CisgICAgICAgICAgQ1VSU09SX1JJR0hUCQkweGIwNGYKKyAgICAgICAgICBPSwkJCTB4MTBlZgorICAgICAgICAgIFZPTFVNRV9VUAkJMHgyMmRkCisgICAgICAgICAgVk9MVU1FX0RPV04JCTB4OGE3NQorICAgICAgICAgIENIQU5ORUxfVVAJCTB4MTJlZAorICAgICAgICAgIENIQU5ORUxfRE9XTgkJMHg0YWI1CisgICAgICAgICAgVEVYVAkJCTB4ZjAwZgorICAgICAgICAgIFJBRElPCQkJMHg5MjZkCisgICAgICAgICAgWk9PTQkJCTB4Njg5NworICAgICAgICAgIEFVRElPCQkJMHgwOGY3CisgICAgICAgICAgUkVECQkJMHg0MmJkCisgICAgICAgICAgR1JFRU4JCQkweGEyNWQKKyAgICAgICAgICBZRUxMT1cJCTB4ODI3ZAorICAgICAgICAgIEJMVUUJCQkweDAyZmQKKyAgICAgICAgICBDVVNUT00wCQkweDUyYWQKKyAgICAgICAgICBDVVNUT00xCQkweDMwY2YKKyAgICAgICAgICBQTEFZCQkJMHg2MjlkCisgICAgICAgICAgUEFVU0UJCQkweGIyNGQKKyAgICAgICAgICBQUkVWSU9VUwkJMHhjODM3CisgICAgICAgICAgTkVYVAkJCTB4ZjgwNworICAgICAgICAgIFJFV0lORAkJMHgzMmNkCisgICAgICAgICAgRkFTVEZPUldBUkQJCTB4MGFmNQorICAgICAgICAgIEFVWAkJCTB4N2E4NQorICAgICAgICAgIENVU1RPTTMJCTB4Yjg0NworICAgICAgICAgIFBJUAkJCTB4M2FjNQorICAgICAgICAgIFNXQVAJCQkweGJhNDUKKyAgICAgIGVuZCBjb2RlcworCitlbmQgcmVtb3RlCisKKyMgYnJhbmQ6IFNUTSBEVFYtMgorCitiZWdpbiByZW1vdGUKKworICBuYW1lCQlzdG1fZHR2XzIKKyAgZmxhZ3MJU0hJRlRfRU5DfENPTlNUX0xFTkdUSAorICBiaXRzCQkxMworICBhZXBzCTE1MAorCisgIG9uZQkJODUwIDg1MAorICB6ZXJvCQk4NTAgODUwCisgIHBsZWFkCQk4NTAKKyAgZ2FwCQk2NzgwMAorICB0b2dnbGVfYml0CTIKKworICBiZWdpbiBjb2RlcworCVBPV0VSCQkJMHgxMDBDCisJRkFWT1JJVEVTCQkweDEwMTUKKwlBVVgJCQkweDEwMzgKKwkxCQkJMHgxMDAxCisJMgkJCTB4MTAwMgorCTMJCQkweDEwMDMKKwk0CQkJMHgxMDA0CisJNQkJCTB4MTAwNQorCTYJCQkweDEwMDYKKwk3CQkJMHgxMDA3CisJOAkJCTB4MTAwOAorCTkJCQkweDEwMDkKKwlQRVJJT0QJCQkweDEwMjQKKwkwCQkJMHgxMDNFCisJQkFDSwkJCTB4MTAyMworCU1FTlUJCQkweDEwMTYKKwlJTkZPCQkJMHgxMDBGCisJRVBHCQkJMHgxMDFFCisJRVhJVAkJCTB4MTAxOAorCUNVUlNPUl9VUAkJMHgxMDE3CisJQ1VSU09SX0RPV04JCTB4MTAxRAorCUNVUlNPUl9MRUZUCQkweDEwMTkKKwlDVVJTT1JfUklHSFQJCTB4MTAxQgorCU9LCQkJMHgxMDFBCisJVk9MVU1FX1VQCQkweDEwMTAKKwlWT0xVTUVfRE9XTgkJMHgxMDExCisJQ0hBTk5FTF9VUAkJMHgxMDIwCisJQ0hBTk5FTF9ET1dOCQkweDEwMjEKKwlURVhUCQkJMHgxMDJFCisJU1VCVElUTEUJCTB4MTAzQworCUZSRUVaRQkJCTB4MTAxNAorCVpPT00JCQkweDEwMkIKKwlSRUQJCQkweDEwMjgKKwlHUkVFTgkJCTB4MTAyQQorCVlFTExPVwkJCTB4MTAyRgorCUJMVUUJCQkweDEwMzAKKwlDVVNUT00xMAkJMHgxMDIyCisJSU5URVJORVQJCTB4MTAyNworCUNVU1RPTTExCQkweDEwMkMKKwlBVURJTwkJCTB4MTAyNQorCVJFQ09SRAkJCTB4MTAyRAorCVBMQVlQQVVTRQkJMHgxMDI5CisJU1RPUAkJCTB4MTAyNgorCUNVU1RPTTEJCQkweDEwMUMKKwlNVVRFCQkJMHgxMDBkCisJQ1VTVE9NMTIJCTB4MTAxRgorCVBJUAkJCTB4MTAwQgorCVNXQVAJCQkweDEwMEUKKyAgZW5kIGNvZGVzCisKK2VuZCByZW1vdGUKKworIyBicmFuZDogIENvbWNhc3QKKyMgbW9kZWwgbm8uIG9mIHJlbW90ZSBjb250cm9sOiBYUjIKKyMgMzIgYml0cyBmb3IgdGhlIHByZS1kYXRlIChzaG91bGQgYmUgdmFsdWUgMHgxNzBGNDQzRSkKKyMgd2lkdGggYmV0d2VlbiBwcmVfYml0cyBhbmQgZGF0YTogMTI5MDAgbWljcm9zZWNvbmRzCisjCisjIDI0IGJpdHMgZm9yIHRoZSBkYXRhIChrZXkgY29kZSkKKyMgVG8gZ2V0IGtleSBSRVBFQVQsIFhPUiAweDA4OCB3aXRoIEtFWSB2YWx1ZQorIyBUaGVyZSBhcmUgOCBwb3N0IGJpdHMgKGJvdGggc2hvdWxkIGJlIHplcm8pCisjCisjIEdhcCBiZXR3ZWVuIGtleXM6IDgxMDAgbWljcm9zZWNvbmRzCitiZWdpbiByZW1vdGUKKworICBuYW1lIFhmaW5pdHktWFIyCisgIGJpdHMgMjQKKyAgZmxhZ3MgWE1QCisgIGVwcyAgICAgICAgICAgIDIwCisgIGFlcHMgICAgICAgICAgMzAwCisKKyAgb25lICAgICAgICAgICAgIDAgICAxMzcKKyAgemVybyAgICAgICAgICAyNTAgICA3MTAKKyAgcHRyYWlsICAgICAgICAyNTAKKyAgcHJlX2RhdGFfYml0cyAgIDMyCisgIHByZV9kYXRhICAgICAgIDB4MTcwRjQ0M0UKKyAgcG9zdF9kYXRhX2JpdHMgIDgKKyAgcG9zdF9kYXRhICAgICAgMHgwCisgIHByZSAgICAgICAgICAgMjUwIDEyOTIxCisgIGdhcCAgICAgICAgICA4MTY5OAorICB0b2dnbGVfYml0X21hc2sgMHgwCisKKyAgICAgIGJlZ2luIGNvZGVzCisgICAgICAgICAgMSAgICAgICAgICAgICAgICAgICAgICAweDFFMDAwMQorICAgICAgICAgIDFfcmVwZWF0ICAgICAgICAgICAgICAgMHgxNjgwMDEKKyAgICAgICAgICAyICAgICAgICAgICAgICAgICAgICAgIDB4MUQwMDAyCisgICAgICAgICAgMl9yZXBlYXQgICAgICAgICAgICAgICAweDE1ODAwMgorICAgICAgICAgIDMgICAgICAgICAgICAgICAgICAgICAgMHgxQzAwMDMKKyAgICAgICAgICAzX3JlcGVhdCAgICAgICAgICAgICAgIDB4MTQ4MDAzCisgICAgICAgICAgNCAgICAgICAgICAgICAgICAgICAgICAweDFCMDAwNAorICAgICAgICAgIDRfcmVwZWF0ICAgICAgICAgICAgICAgMHgxMzgwMDQKKyAgICAgICAgICA1ICAgICAgICAgICAgICAgICAgICAgIDB4MUEwMDA1CisgICAgICAgICAgNV9yZXBlYXQgICAgICAgICAgICAgICAweDEyODAwNQorICAgICAgICAgIDYgICAgICAgICAgICAgICAgICAgICAgMHgxOTAwMDYKKyAgICAgICAgICA2X3JlcGVhdCAgICAgICAgICAgICAgIDB4MTE4MDA2CisgICAgICAgICAgNyAgICAgICAgICAgICAgICAgICAgICAweDE4MDAwNworICAgICAgICAgIDdfcmVwZWF0ICAgICAgICAgICAgICAgMHgxMDgwMDcKKyAgICAgICAgICA4ICAgICAgICAgICAgICAgICAgICAgIDB4MTcwMDA4CisgICAgICAgICAgOF9yZXBlYXQgICAgICAgICAgICAgICAweDFGODAwOAorICAgICAgICAgIDkgICAgICAgICAgICAgICAgICAgICAgMHgxNjAwMDkKKyAgICAgICAgICA5X3JlcGVhdCAgICAgICAgICAgICAgIDB4MUU4MDA5CisgICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAgICAweDFGMDAwMAorICAgICAgICAgIDBfcmVwZWF0ICAgICAgICAgICAgICAgMHgxNzgwMDAKKyAgICAgICAgICBPSyAgICAgICAgICAgICAgICAgICAgIDB4MTgwMDI1CisgICAgICAgICAgT0tfcmVwZWF0ICAgICAgICAgICAgICAweDEwODAyNQorICAgICAgICAgIFBPV0VSICAgICAgICAgICAgICAgICAgMHgxMDAwMEYKKyAgICAgICAgICBQT1dFUl9yZXBlYXQgICAgICAgICAgIDB4MTg4MDBGCisgICAgICAgICAgVVAgICAgICAgICAgICAgICAgICAgICAweDFDMDAyMQorICAgICAgICAgIFVQX3JlcGVhdCAgICAgICAgICAgICAgMHgxNDgwMjEKKyAgICAgICAgICBET1dOICAgICAgICAgICAgICAgICAgIDB4MUIwMDIyCisgICAgICAgICAgRE9XTl9yZXBlYXQgICAgICAgICAgICAweDEzODAyMgorICAgICAgICAgIExFRlQgICAgICAgICAgICAgICAgICAgMHgxQTAwMjMKKyAgICAgICAgICBMRUZUX3JlcGVhdCAgICAgICAgICAgIDB4MTI4MDIzCisgICAgICAgICAgUklHSFQgICAgICAgICAgICAgICAgICAweDE5MDAyNAorICAgICAgICAgIFJJR0hUX3JlcGVhdCAgICAgICAgICAgMHgxMTgwMjQKKyAgICAgICAgICBSRVdJTkQgICAgICAgICAgICAgICAgIDB4MTkwMDMzCisgICAgICAgICAgUkVXSU5EX3JlcGVhdCAgICAgICAgICAweDExODAzMworICAgICAgICAgIFBMQVkgICAgICAgICAgICAgICAgICAgMHgxQzAwMzAKKyAgICAgICAgICBQTEFZX3JlcGVhdCAgICAgICAgICAgIDB4MTQ4MDMwCisgICAgICAgICAgRkFTVEZPUldBUkQgICAgICAgICAgICAweDE4MDAzNAorICAgICAgICAgIEZBU1RGT1JXQVJEX3JlcGVhdCAgICAgMHgxMDgwMzQKKyAgICAgICAgICBSRUNPUkQgICAgICAgICAgICAgICAgIDB4MTcwMDM1CisgICAgICAgICAgUkVDT1JEX3JlcGVhdCAgICAgICAgICAweDFGODAzNQorICAgICAgICAgIFJFUExBWSAgICAgICAgICAgICAgICAgMHgxNzAwNTMKKyAgICAgICAgICBSRVBMQVlfcmVwZWF0ICAgICAgICAgIDB4MUY4MDUzCisgICAgICAgICAgQSAgICAgICAgICAgICAgICAgICAgICAweDE5MDA2MAorICAgICAgICAgIEFfcmVwZWF0ICAgICAgICAgICAgICAgMHgxMTgwNjAKKyAgICAgICAgICBCICAgICAgICAgICAgICAgICAgICAgIDB4MTgwMDYxCisgICAgICAgICAgQl9yZXBlYXQgICAgICAgICAgICAgICAweDEwODA2MQorICAgICAgICAgIEMgICAgICAgICAgICAgICAgICAgICAgMHgxNzAwNjIKKyAgICAgICAgICBDX3JlcGVhdCAgICAgICAgICAgICAgIDB4MUY4MDYyCisgICAgICAgICAgRCAgICAgICAgICAgICAgICAgICAgICAweDE2MDA2MworICAgICAgICAgIERfcmVwZWF0ICAgICAgICAgICAgICAgMHgxRTgwNjMKKyAgICAgICAgICBQQUdFX1VQICAgICAgICAgICAgICAgIDB4MTUwMDI4CisgICAgICAgICAgUEFHRV9VUF9yZXBlYXQgICAgICAgICAweDFEODAyOAorICAgICAgICAgIFBBR0VfRE9XTiAgICAgICAgICAgICAgMHgxNDAwMjkKKyAgICAgICAgICBQQUdFX0RPV05fcmVwZWF0ICAgICAgIDB4MUM4MDI5CisgICAgICAgICAgR1VJREUgICAgICAgICAgICAgICAgICAweDE2MDAyNworICAgICAgICAgIEdVSURFX3JlcGVhdCAgICAgICAgICAgMHgxRTgwMjcKKyAgICAgICAgICBNRU5VICAgICAgICAgICAgICAgICAgIDB4MUQwMDIwCisgICAgICAgICAgTUVOVV9yZXBlYXQgICAgICAgICAgICAweDE1ODAyMAorICAgICAgICAgIEVYSVQgICAgICAgICAgICAgICAgICAgMHgxMzAwMkEKKyAgICAgICAgICBFWElUX3JlcGVhdCAgICAgICAgICAgIDB4MUI4MDJBCisgICAgICAgICAgSU5GTyAgICAgICAgICAgICAgICAgICAweDE3MDAyNgorICAgICAgICAgIElORk9fcmVwZWF0ICAgICAgICAgICAgMHgxRjgwMjYKKyAgICAgICAgICBMQVNUICAgICAgICAgICAgICAgICAgIDB4MTkwMDUxCisgICAgICAgICAgTEFTVF9yZXBlYXQgICAgICAgICAgICAweDExODA1MQorICAgICAgICAgIFZPTFVNRV9VUCAgICAgICAgICAgICAgMHgxNTAwMEEKKyAgICAgICAgICBWT0xVTUVfVVBfcmVwZWF0ICAgICAgIDB4MUQ4MDBBCisgICAgICAgICAgQ0hBTk5FTF9VUCAgICAgICAgICAgICAweDEyMDAwRAorICAgICAgICAgIENIQU5ORUxfVVBfcmVwZWF0ICAgICAgMHgxQTgwMEQKKyAgICAgICAgICBWT0xVTUVfRE9XTiAgICAgICAgICAgIDB4MTQwMDBCCisgICAgICAgICAgVk9MVU1FX0RPV05fcmVwZWF0ICAgICAweDFDODAwQgorICAgICAgICAgIENIQU5ORUxfRE9XTiAgICAgICAgICAgMHgxMTAwMEUKKyAgICAgICAgICBDSEFOTkVMX0RPV05fcmVwZWF0ICAgIDB4MTk4MDBFCisgICAgICAgICAgTVVURSAgICAgICAgICAgICAgICAgICAweDEzMDAwQworICAgICAgICAgIE1VVEVfcmVwZWF0ICAgICAgICAgICAgMHgxQjgwMEQKKyAgICAgIGVuZCBjb2RlcworCitlbmQgcmVtb3RlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlyYy9saXJjL2xpcmNkLmluaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlyYy9saXJjL2xpcmNkLmluaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGIxMjRhZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saXJjL2xpcmMvbGlyY2QuaW5pdApAQCAtMCwwICsxLDQwIEBACisjISAvYmluL3NoCisjCisjIFRoaXMgaXMgYW4gaW5pdCBzY3JpcHQgZm9yIEZhbWlsaWFyCisjIENvcHkgaXQgdG8gL2V0Yy9pbml0LmQvbGlyY2QgYW5kIHR5cGUKKyMgPiB1cGRhdGUtcmMuZCBsaXJjZCBkZWZhdWx0cyAyMAorIworCisKK3Rlc3QgLWYgL3Vzci9zYmluL2xpcmNkIHx8IGV4aXQgMAordGVzdCAtZiAvZXRjL2xpcmNkLmNvbmYgfHwgZXhpdCAwCisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKyAgICBlY2hvIC1uICJTdGFydGluZyBsaXJjIGRhZW1vbjogbGlyY2QiCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tZXhlYyAvdXNyL3NiaW4vbGlyY2QgLS0gLS1kZXZpY2U9L2Rldi9saXJjMAorICAgIGVjaG8gIi4iCisgICAgOzsKKyAgc3RvcCkKKyAgICBlY2hvIC1uICJTdG9wcGluZyBsaXJjIGRhZW1vbjogbGlyY2QiCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tcXVpZXQgLS1leGVjIC91c3Ivc2Jpbi9saXJjZAorICAgIGVjaG8gIi4iCisgICAgOzsKKyAgcmVsb2FkfGZvcmNlLXJlbG9hZCkKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLXNpZ25hbCAxIC0tZXhlYyAvdXNyL3NiaW4vbGlyY2QKKyAgICA7OworICByZXN0YXJ0KQorICAgIGVjaG8gLW4gIlN0b3BwaW5nIGxpcmMgZGFlbW9uOiBsaXJjZCIKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLWV4ZWMgL3Vzci9zYmluL2xpcmNkCisgICAgc2xlZXAgMQorICAgIGVjaG8gLW4gIlN0YXJ0aW5nIGxpcmMgZGFlbW9uOiBsaXJjZCIKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0YXJ0IC0tcXVpZXQgLS1leGVjIC91c3Ivc2Jpbi9saXJjZCAtLSAtLWRldmljZT0vZGV2L2xpcmMwCisgICAgZWNobyAiLiIKKyAgICA7OworICAqKQorICAgIGVjaG8gIlVzYWdlOiAvZXRjL2luaXQuZC9saXJjZCB7c3RhcnR8c3RvcHxyZWxvYWR8cmVzdGFydHxmb3JjZS1yZWxvYWR9IgorICAgIGV4aXQgMQorZXNhYworCitleGl0IDAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpcmMvbGlyYy9saXJjZC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpcmMvbGlyYy9saXJjZC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4NjYxMzYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlyYy9saXJjL2xpcmNkLnNlcnZpY2UKQEAgLTAsMCArMSwyMCBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1MSVJDIEluZnJhcmVkIFNpZ25hbCBEZWNvZGVyCitBZnRlcj1uZXR3b3JrLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworRW52aXJvbm1lbnRGaWxlPS9ldGMvbGlyYy9saXJjZC5jb25mCitQSURGaWxlPS9ydW4vbGlyYy9saXJjZC5waWQKK0V4ZWNTdGFydFByZT0vYmluL21rZGlyIC1wIC9ydW4vbGlyYworRXhlY1N0YXJ0UHJlPS9iaW4vcm0gLWYgL2Rldi9saXJjZAorRXhlY1N0YXJ0UHJlPS9iaW4vcm0gLWYgL3J1bi9saXJjL2xpcmNkCitFeGVjU3RhcnRQcmU9L2Jpbi9sbiAtcyAvcnVuL2xpcmMvbGlyY2QgL2Rldi9saXJjZAorCitFeGVjU3RhcnQ9L3Vzci9zYmluL2xpcmNkIC0tcGlkZmlsZT0vcnVuL2xpcmMvbGlyY2QucGlkIC0tZGV2aWNlPS9kZXYvbGlyYzAKKworRXhlY1N0b3BQb3N0PS9iaW4vcm0gLWYgL2Rldi9saXJjZAorRXhlY1N0b3BQb3N0PS9iaW4vcm0gLWZSIC9ydW4vbGlyYworCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlyYy9saXJjL2xpcmNleGVjLmluaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlyYy9saXJjL2xpcmNleGVjLmluaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2E4YzFhMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saXJjL2xpcmMvbGlyY2V4ZWMuaW5pdApAQCAtMCwwICsxLDM3IEBACisjISAvYmluL3NoCisjCisjIFRoaXMgaXMgYW4gaW5pdCBzY3JpcHQgZm9yIEZhbWlsaWFyCisjIENvcHkgaXQgdG8gL2V0Yy9pbml0LmQvbGlyY2V4ZWNkIGFuZCB0eXBlCisjID4gdXBkYXRlLXJjLmQgbGlyY2V4ZWNkIGRlZmF1bHRzIDIwCisjIEl0IG11c3QgYmUgc3RhcnRlZCBhZnRlciBsaXJjZCAoYW5kIGl0IGRvZXMgYWxwaGFiZXRpY2FsbHkgOi0pCisjIGlyZXhlYyByZWFkcyAvZXRjL2xpcmNyYyBieSBkZWZhdWx0CisKKwordGVzdCAtZiAvdXNyL2Jpbi9pcmV4ZWMgfHwgZXhpdCAwCit0ZXN0IC1mIC9ldGMvbGlyY3JjIHx8IGV4aXQgMAorCitjYXNlICIkMSIgaW4KKyAgc3RhcnQpCisgICAgZWNobyAtbiAiU3RhcnRpbmcgbGlyY2V4ZWMgZGFlbW9uOiBpcmV4ZWMiCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tZXhlYyAvdXNyL2Jpbi9pcmV4ZWMgLS0gLS1kYWVtb24KKyAgICBlY2hvICIuIgorICAgIDs7CisgIHN0b3ApCisgICAgZWNobyAtbiAiU3RvcHBpbmcgbGlyY2V4ZWMgZGFlbW9uOiBpcmV4ZWMiCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tcXVpZXQgLS1leGVjIC91c3IvYmluL2lyZXhlYworICAgIGVjaG8gIi4iCisgICAgOzsKKyAgcmVzdGFydHxmb3JjZS1yZXN0YXJ0KQorICAgIGVjaG8gLW4gIlN0b3BwaW5nIGxpcmNleGVjIGRhZW1vbjogaXJleGVjIgorICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXF1aWV0IC0tZXhlYyAvdXNyL2Jpbi9pcmV4ZWMKKyAgICBzbGVlcCAxCisgICAgZWNobyAtbiAiU3RhcnRpbmcgbGlyY2V4ZWMgZGFlbW9uOiBpcmV4ZWMiCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tZXhlYyAvdXNyL2Jpbi9pcmV4ZWMgLS0gLS1kYWVtb24KKyAgICBlY2hvICIuIgorICAgIDs7CisgICopCisgICAgZWNobyAiVXNhZ2U6IC9ldGMvaW5pdC5kL2xpcmNleGVjIHtzdGFydHxzdG9wfHJlbG9hZHxyZXN0YXJ0fGZvcmNlLXJlc3RhcnR9IgorICAgIGV4aXQgMQorZXNhYworCitleGl0IDAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saXJjL2xpcmNfMC45LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlyYy9saXJjXzAuOS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwMGI2OGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlyYy9saXJjXzAuOS4yLmJiCkBAIC0wLDAgKzEsNzEgQEAKK3JlcXVpcmUgbGlyYy5pbmMKKworU1JDX1VSSSArPSAiIFwKKyAgICBmaWxlOi8vbGlyY2Quc2VydmljZSBcCisgICAgZmlsZTovL2xpcmNkLmluaXQgXAorICAgIGZpbGU6Ly9saXJjZXhlYy5pbml0IFwKKyAgICBmaWxlOi8vbGlyY2QuY29uZiBcCisgICAgZmlsZTovL2xpcmNfb3B0aW9ucy5jb25mIFwKKyAgICBmaWxlOi8vbGlyYy50bXBmaWxlcyBcCisiCisjZmlsZTovLzAwMDEtQWRhcHRhdGlvbi1mb3ItU1RNLWNvbmZpZ3VyYXRpb24ucGF0Y2ggXAorIworU1JDX1VSSVttZDVzdW1dID0gIjNhZmM4NGU3OWMwODM5ODIzY2MyMGU3YTcxMGRkMDZkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRlM2Y5NDhmY2RlZTZkY2UwMDkxNzExNDNmMGNiN2NkN2JlNDg1OTNkZDU4MTM4ZGI0MTAxYTQxZjY1MWExZGQiCisKK1NZU1RFTURfUEFDS0FHRVMgPSAibGlyYyIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJsaXJjZC5zZXJ2aWNlIGxpcmNtZC5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRV9saXJjID0gImVuYWJsZSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHN5c3RlbWQgcHl0aG9ubmF0aXZlCisKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vLC0td2l0aG91dC1zeXN0ZW1kc3lzdGVtdW5pdGRpcixzeXN0ZW1kIgorUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0td2l0aC14LC0td2l0aC14PW5vLGxpYngxMSwiCisKK1BBQ0tBR0VDT05GSUcgPz0gIiBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJyBzeXN0ZW1kJywgJycsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAnIHgxMScsICcnLCBkKX0gXAorIgorCisjRVhUUkFfT0VNQUtFID0gJ1NVQkRJUlM9ImxpYiBkYWVtb25zIHRvb2xzIicKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtzeXNjb25mZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtzeXNjb25mZGlyfS9saXJjCisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke2xpYmRpcn0vdG1wZmlsZXMuZAorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2xpcmNkLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vbGlyYy8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9saXJjX29wdGlvbnMuY29uZiAke0R9JHtzeXNjb25mZGlyfS9saXJjLworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2xpcmNkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vbGlyY2V4ZWMuaW5pdCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9saXJjLnRtcGZpbGVzICR7RH0ke2xpYmRpcn0vdG1wZmlsZXMuZC9saXJjLmNvbmYKKyAgICBybSAtcmYgJHtEfSR7bGliZGlyfS9saXJjL3BsdWdpbnMvKi5sYQorICAgIHJtZGlyICR7RH0vdmFyL3J1bi9saXJjICR7RH0vdmFyL3J1bgorfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tY29udHJpYiAke1BOfS1leGVjICR7UE59LXBsdWdpbnMgJHtQTn0tcHl0aG9uIgorCitSREVQRU5EU18ke1BOfSA9ICJiYXNoIgorUkRFUEVORFNfJHtQTn0tZXhlYyA9ICIke1BOfSIKK1JERVBFTkRTXyR7UE59LXB5dGhvbiA9ICJweXRob24iCisKK1JSRUNPTU1FTkRTX2xpcmMgPSAiJHtQTn0tZXhlYyAke1BOfS1wbHVnaW5zIgorCitGSUxFU18ke1BOfS1wbHVnaW5zID0gIiR7bGliZGlyfS9saXJjL3BsdWdpbnMvKi5zbyAke2RhdGFkaXJ9L2xpcmMvY29uZmlncyIKK0ZJTEVTXyR7UE59LWNvbnRyaWIgPSAiJHtkYXRhZGlyfS9saXJjL2NvbnRyaWIiCitGSUxFU18ke1BOfS1leGVjID0gIiR7YmluZGlyfS9pcmV4ZWMgJHtzeXNjb25mZGlyfS9saXJjZXhlYyIKK0ZJTEVTXyR7UE59ICs9ICIke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2xpcmNleGVjLmluaXQiCitGSUxFU18ke1BOfSArPSAiJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9saXJjZC5zZXJ2aWNlIgorRklMRVNfJHtQTn0gKz0gIiR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vbGlyY2Quc29ja2V0IgorRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS90bXBmaWxlcy5kL2xpcmMuY29uZiIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2xpcmMvcGx1Z2lucy8uZGVidWciCitGSUxFU18ke1BOfS1weXRob24gKz0gIiR7bGliZGlyfS9weXRob24qL3NpdGUtcGFja2FnZXMiCisKKworSU5JVFNDUklQVF9QQUNLQUdFUyA9ICJsaXJjIGxpcmMtZXhlYyIKK0lOSVRTQ1JJUFRfTkFNRV9saXJjLWV4ZWMgPSAibGlyY2V4ZWMiCitJTklUU0NSSVBUX1BBUkFNU19saXJjLWV4ZWMgPSAiZGVmYXVsdHMgMjEiCisKKyMgdGhpcyBpcyBmb3IgZGlzdHJpYnV0aW9ucyB0aGF0IGRvbid0IHVzZSB1ZGV2Citwa2dfcG9zdGluc3RfJHtQTn1fYXBwZW5kKCkgeworICAgIGlmIFsgISAtYyAkRC9kZXYvbGlyYyAtYSAhIC1mIC9zYmluL3VkZXZkIF07IHRoZW4gbWtub2QgJEQvZGV2L2xpcmMgYyA2MSAwOyBmaQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xvdWRtb3V0aC9sb3VkbW91dGgtMS40LjMvMDQtdXNlLXBrZy1jb25maWctZm9yLWdudXRscy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9sb3VkbW91dGgvbG91ZG1vdXRoLTEuNC4zLzA0LXVzZS1wa2ctY29uZmlnLWZvci1nbnV0bHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjBmMzg4ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9sb3VkbW91dGgvbG91ZG1vdXRoLTEuNC4zLzA0LXVzZS1wa2ctY29uZmlnLWZvci1nbnV0bHMucGF0Y2gKQEAgLTAsMCArMSwyMyBAQAorRGVzY3JpcHRpb246IHVzZSBwa2ctY29uZmlnIHRvIGRldGVjdCBnbnV0bHMKK0RlYmlhbjogaHR0cDovL2J1Z3MuZGViaWFuLm9yZy81Mjk4MzUKK09yaWdpbjogaHR0cDovL2dyb3Vwcy5nb29nbGUuY29tL2dyb3VwL2xvdWRtb3V0aC1kZXYvYnJvd3NlX3RocmVhZC90aHJlYWQvM2Y3ODI1NTgzNzA0OGRhZiMKKworLS0tIGEvY29uZmlndXJlLmFjLm9yaWcJMjAwOS0wOC0xNiAyMDoyOTozNi4wMDAwMDAwMDAgKzAyMDAKKysrKyBiL2NvbmZpZ3VyZS5hYwkyMDA5LTA4LTE2IDIwOjMwOjQzLjAwMDAwMDAwMCArMDIwMAorQEAgLTE0NiwxMCArMTQ2LDEyIEBAIEFDX0FSR19XSVRIKG9wZW5zc2wtbGlicywKKyBlbmFibGVfc3NsPW5vCisgaWYgdGVzdCAieCRhY19zc2wiID0gInhnbnV0bHMiOyB0aGVuCisgICBkbmwgTG9vayBmb3IgR251VExTCistICBBTV9QQVRIX0xNX0xJQkdOVVRMUygkR05VVExTX1JFUVVJUkVELCBoYXZlX2xpYmdudXRscz15ZXMsIGhhdmVfbGliZ251dGxzPW5vKQorLSAgaWYgdGVzdCAieCRoYXZlX2xpYmdudXRscyIgPSAieHllcyI7IHRoZW4KKy0gICAgQ0ZMQUdTPSIkQ0ZMQUdTICRMSUJHTlVUTFNfQ0ZMQUdTIgorLSAgICBMSUJTPSIkTElCUyAkTElCR05VVExTX0xJQlMiCisrICBQS0dfQ0hFQ0tfTU9EVUxFUyhHTlVUTFMsIGdudXRscyA+PSAkR05VVExTX1JFUVVJUkVELCBoYXZlX2dudXRscz15ZXMsIGhhdmVfZ251dGxzPW5vKQorKyAgaWYgdGVzdCAieCRoYXZlX2dudXRscyIgPSAieHllcyI7IHRoZW4gCisrICAgIEFDX1NVQlNUKEFTWU5DTlNfQ0ZMQUdTKQorKyAgICBBQ19TVUJTVChBU1lOQ05TX0xJQlMpCisrICAgIENGTEFHUz0iJENGTEFHUyAkR05VVExTX0NGTEFHUyIKKysgICAgTElCUz0iJExJQlMgJEdOVVRMU19MSUJTIgorICAgICBBQ19ERUZJTkUoSEFWRV9HTlVUTFMsIDEsIFt3aGV0aGVyIHRvIHVzZSBHbnVUU0wgc3VwcG9ydC5dKQorICAgICBlbmFibGVfc3NsPUdudVRMUworICAgZWxzZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xvdWRtb3V0aC9sb3VkbW91dGgtMS40LjMvZ2xpYi0yLjMyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xvdWRtb3V0aC9sb3VkbW91dGgtMS40LjMvZ2xpYi0yLjMyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2Yzk0MjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbG91ZG1vdXRoL2xvdWRtb3V0aC0xLjQuMy9nbGliLTIuMzIucGF0Y2gKQEAgLTAsMCArMSwxMCBAQAorLS0tIGxvdWRtb3V0aC0xLjQuMy5vcmlnL2xvdWRtb3V0aC9sbS1lcnJvci5jCTIwMDgtMTAtMjkgMjE6NDg6MTUuMDAwMDAwMDAwICswMTAwCisrKysgbG91ZG1vdXRoLTEuNC4zL2xvdWRtb3V0aC9sbS1lcnJvci5jCTIwMTItMDUtMDYgMDg6Mjc6MDcuNDU1NzM5NDQwICswMjAwCitAQCAtMTksNyArMTksNiBAQAorICAqLworIAorICNpbmNsdWRlIDxjb25maWcuaD4KKy0jaW5jbHVkZSA8Z2xpYi9nZXJyb3IuaD4KKyAjaW5jbHVkZSAibG0tZXJyb3IuaCIKKyAKKyAvKioKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9sb3VkbW91dGgvbG91ZG1vdXRoXzEuNC4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xvdWRtb3V0aC9sb3VkbW91dGhfMS40LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGYxNDMwYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9sb3VkbW91dGgvbG91ZG1vdXRoXzEuNC4zLmJiCkBAIC0wLDAgKzEsMjEgQEAKK0RFU0NSSVBUSU9OID0gIkxvdWRtb3V0aCBpcyBhIGxpZ2h0d2VpZ2h0IGFuZCBlYXN5LXRvLXVzZSBDIGxpYnJhcnkgZm9yIHByb2dyYW1taW5nIHdpdGggdGhlIEphYmJlciBwcm90b2NvbC4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmxvdWRtb3V0aC1wcm9qZWN0Lm9yZy8iCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jNGYzOGFlZjk0ODI4ZjZiMjgwZTAwZDExNzNiZTY4OSIKKworREVQRU5EUyA9ICJnbGliLTIuMCBsaWJjaGVjayBvcGVuc3NsIGxpYmlkbiIKKworaW5oZXJpdCBnbm9tZWJhc2UgZ3RrLWRvYworCitQUiA9ICJyMiIKKworU1JDX1VSSSArPSAiZmlsZTovLzA0LXVzZS1wa2ctY29uZmlnLWZvci1nbnV0bHMucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL2dsaWItMi4zMi5wYXRjaCIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiNTUzMzljYTQyNDk0NjkwYzM5NDJlZTE0NjVhOTY5MzciCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI5NWE5M2Y1ZDAwOWI3MWVhODE5M2Q5OTRhYTExZjMxMWJjMzMwYTNlZmUxYjdjZDc0ZGM0OGYxMWM3ZjkyOWUzIgorR05PTUVfQ09NUFJFU1NfVFlQRT0iYnoyIgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLXNzbD1vcGVuc3NsIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9kZW1tYW5hZ2VyL21vZGVtbWFuYWdlcl8xLjQuMTIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9kZW1tYW5hZ2VyL21vZGVtbWFuYWdlcl8xLjQuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTE3M2U2OQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb2RlbW1hbmFnZXIvbW9kZW1tYW5hZ2VyXzEuNC4xMi5iYgpAQCAtMCwwICsxLDQ5IEBACitTVU1NQVJZID0gIk1vZGVtTWFuYWdlciBpcyBhIGRhZW1vbiBjb250cm9sbGluZyBicm9hZGJhbmQgZGV2aWNlcy9jb25uZWN0aW9ucyIKK0RFU0NSSVBUSU9OID0gIk1vZGVtTWFuYWdlciBpcyBhIERCdXMtYWN0aXZhdGVkIGRhZW1vbiB3aGljaCBjb250cm9scyBtb2JpbGUgYnJvYWRiYW5kICgyRy8zRy80RykgZGV2aWNlcyBhbmQgY29ubmVjdGlvbnMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL01vZGVtTWFuYWdlci8iCitMSUNFTlNFID0gIkdQTC0yLjAgJiBMR1BMLTIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiIFwKKyAgICBmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAorICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMgXAorIgorCitpbmhlcml0IGdub21lYmFzZSBnZXR0ZXh0IHN5c3RlbWQgdmFsYSBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworREVQRU5EUyA9ICJnbGliLTIuMCBsaWJndWRldiBkYnVzLWdsaWIiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvTW9kZW1NYW5hZ2VyL01vZGVtTWFuYWdlci0ke1BWfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiNjZjYzcyNjZiMTU1MjVjYjM2NjI1M2U2NjM5ZmM1NjQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2VmNTAzNTM3NWE5NTNiMjg1YTc0MjU5MWRmMGE2NWZkNDQyZjQ2NDFjZTRkOGY0MzkyYTQxZDZkNmJjNzBiMyIKKworUyA9ICIke1dPUktESVJ9L01vZGVtTWFuYWdlci0ke1BWfSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIm1iaW0gcW1pIHBvbGtpdCBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3N5c3RlbWQnLCAnJywgZCl9IFwKKyIKKworUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8sLCIKK1BBQ0tBR0VDT05GSUdbcG9sa2l0XSA9ICItLXdpdGgtcG9sa2l0PXllcywtLXdpdGgtcG9sa2l0PW5vLHBvbGtpdCIKKyMgU3VwcG9ydCBXV0FOIG1vZGVtcyBhbmQgZGV2aWNlcyB3aGljaCBzcGVhayB0aGUgTW9iaWxlIEludGVyZmFjZSBCcm9hZGJhbmQgTW9kZWwgKE1CSU0pIHByb3RvY29sLgorUEFDS0FHRUNPTkZJR1ttYmltXSA9ICItLXdpdGgtbWJpbSwtLWVuYWJsZS1tYmltPW5vLGxpYm1iaW0iCisjIFN1cHBvcnQgV1dBTiBtb2RlbXMgYW5kIGRldmljZXMgd2hpY2ggc3BlYWsgdGhlIFF1YWxjb21tIE1TTSBJbnRlcmZhY2UgKFFNSSkgcHJvdG9jb2wuCitQQUNLQUdFQ09ORklHW3FtaV0gPSAiLS13aXRoLXFtaSwtLXdpdGhvdXQtcW1pLGxpYnFtaSIKKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtkYXRhZGlyfS9pY29ucyBcCisgICAgJHtkYXRhZGlyfS9wb2xraXQtMSBcCisgICAgJHtkYXRhZGlyfS9kYnVzLTEgXAorICAgICR7bGliZGlyfS9Nb2RlbU1hbmFnZXIgXAorICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0gXAorIgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiBcCisgICAgJHtsaWJkaXJ9L01vZGVtTWFuYWdlci8qLmxhIFwKKyIKKworRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIgXAorICAgICR7bGliZGlyfS9Nb2RlbU1hbmFnZXIvKi5hIFwKKyIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vTW9kZW1NYW5hZ2VyLy5kZWJ1ZyIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIk1vZGVtTWFuYWdlci5zZXJ2aWNlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vc2gvbW9zaF8xLjIuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NoL21vc2hfMS4yLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTZlMmE3ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NoL21vc2hfMS4yLjQuYmIKQEAgLTAsMCArMSw0NyBAQAorIyBOT1RFOiBtb3NoLXNlcnZlciByZXF1aXJlcyBhIFVURi04IGxvY2FsZSwgYnV0IHRoZXJlJ3Mgbm8gd2F5IHRvIGFkZAorIyBhbiBleHBsaWNpdCBkZXBlbmRlbmN5IGZvciB0aGlzIHNvIHlvdSBuZWVkIHRvIGVuc3VyZSB0aGlzIGlzIGluIHlvdXIKKyMgaW1hZ2UgeW91cnNlbGYgd2hlbiB5b3UgaW5zdGFsbCBtb3NoLXNlcnZlci4KKworU1VNTUFSWSA9ICJSZW1vdGUgc2hlbGwgc3VwcG9ydGluZyByb2FtaW5nIGFuZCBoaWdoLWxhdGVuY3kgY29ubmVjdGlvbnMiCitERVNDUklQVElPTiA9ICJSZW1vdGUgdGVybWluYWwgYXBwbGljYXRpb24gdGhhdCBhbGxvd3Mgcm9hbWluZywgc3VwcG9ydHMgXAoraW50ZXJtaXR0ZW50IGNvbm5lY3Rpdml0eSwgYW5kIHByb3ZpZGVzIGludGVsbGlnZW50IGxvY2FsIGVjaG8gYW5kIGxpbmUgXAorZWRpdGluZyBvZiB1c2VyIGtleXN0cm9rZXMuIE1vc2ggaXMgYSByZXBsYWNlbWVudCBmb3IgU1NILiBJdCdzIG1vcmUgXAorcm9idXN0IGFuZCByZXNwb25zaXZlLCBlc3BlY2lhbGx5IG92ZXIgV2ktRmksIGNlbGx1bGFyLCBhbmQgXAorbG9uZy1kaXN0YW5jZSBsaW5rcy4iCitIT01FUEFHRSA9ICJodHRwOi8vbW9zaC5taXQuZWR1IgorTElDRU5TRSA9ICJHUEx2MysiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworREVQRU5EUyA9ICJwcm90b2J1Zi1uYXRpdmUgcHJvdG9idWYgbmN1cnNlcyB6bGliIGxpYmlvLXB0eS1wZXJsIG9wZW5zc2wgbGlidXRlbXB0ZXIiCisKK1NSQ19VUkkgPSAiaHR0cDovL21vc2gubWl0LmVkdS9tb3NoLSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gImMyZDkxOGY0ZDkxZmRjMzI1NDZlMmUwODlmOTI4MWIyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU3NGQwZDMyMzIyNjA0NmU0MDJkZDQ2OWExNzYwNzVmYzIwMTNiNjliMGU2N2NlYTQ5NzYyYzk1NzE3NWRmNDYiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1BBQ0tBR0VfQkVGT1JFX1BOICs9ICIke1BOfS1zZXJ2ZXIiCitGSUxFU18ke1BOfS1zZXJ2ZXIgPSAiJHtiaW5kaXJ9L21vc2gtc2VydmVyIgorCitORUVERURfUEVSTF9NT0RVTEVTID0gIlwKKwlwZXJsLW1vZHVsZS1zb2NrZXQgXAorCXBlcmwtbW9kdWxlLWdldG9wdC1sb25nIFwKKwlwZXJsLW1vZHVsZS1lcnJubyBcCisJcGVybC1tb2R1bGUtaW8tc29ja2V0LWluZXQgXAorCXBlcmwtbW9kdWxlLXBvc2l4IFwKKyIKKworIyBtb3NoIHVzZXMgU1NIIHRvIGF1dGhlbnRpY2F0ZSBhbmQgdGhlIGNsaWVudCB1c2VzIE9wZW5TU0gtc3BlY2lmaWMgZmVhdHVyZXMKK1JERVBFTkRTXyR7UE59ICs9ICJvcGVuc3NoLXNzaCAke05FRURFRF9QRVJMX01PRFVMRVN9IgorIyBUaGUgc2VydmVyIHNlZW1lZCBub3QgdG8gd29yayB3aXRoIGRyb3BiZWFyIGVpdGhlcgorUkRFUEVORFNfJHtQTn0tc2VydmVyICs9ICJvcGVuc3NoLXNzaGQgJHtORUVERURfUEVSTF9NT0RVTEVTfSIKKworIyBGYWlscyB0byBidWlsZCB3aXRoIHRodW1iLTEgKHFlbXVhcm0pCisjfCB7c3RhbmRhcmQgaW5wdXR9OiBBc3NlbWJsZXIgbWVzc2FnZXM6CisjfCB7c3RhbmRhcmQgaW5wdXR9OjIxMDA6IEVycm9yOiBpbnN0cnVjdGlvbiBub3Qgc3VwcG9ydGVkIGluIFRodW1iMTYgbW9kZSAtLSBgYWRkcyByNCxyNCxyNCcKKyN8IHtzdGFuZGFyZCBpbnB1dH06MjEwMTogRXJyb3I6IGluc3RydWN0aW9uIG5vdCBzdXBwb3J0ZWQgaW4gVGh1bWIxNiBtb2RlIC0tIGBhZGNzIHI1LHI1LHI1JworI3wge3N0YW5kYXJkIGlucHV0fToyMTAyOiBFcnJvcjogaW5zdHJ1Y3Rpb24gbm90IHN1cHBvcnRlZCBpbiBUaHVtYjE2IG1vZGUgLS0gYGFkY3MgcjYscjYscjYnCisjfCB7c3RhbmRhcmQgaW5wdXR9OjIxMDM6IEVycm9yOiBpbnN0cnVjdGlvbiBub3Qgc3VwcG9ydGVkIGluIFRodW1iMTYgbW9kZSAtLSBgYWRjcyByNyxyNyxyNycKKyN8IHtzdGFuZGFyZCBpbnB1dH06MjEwNDogRXJyb3I6IHNlbGVjdGVkIHByb2Nlc3NvciBkb2VzIG5vdCBzdXBwb3J0IFRodW1iIG1vZGUgYGl0IGNzJworQVJNX0lOU1RSVUNUSU9OX1NFVCA9ICJhcm0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXItb3BlbnZwbl8xLjAuOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci1vcGVudnBuXzEuMC44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1OGVlNjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXItb3BlbnZwbl8xLjAuOC5iYgpAQCAtMCwwICsxLDMxIEBACitTVU1NQVJZID0gIk5ldHdvcmtNYW5hZ2VyLW9wZW52cG4tcGx1Z2luIgorU0VDVElPTiA9ICJuZXQvbWlzYyIKKworTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xMDBkNWE1OTliZWFkNzBkZGNkNzBkY2Q3M2YyZTI5YyIKKworREVQRU5EUyA9ICJkYnVzIGRidXMtZ2xpYiBuZXR3b3JrbWFuYWdlciBvcGVudnBuIgorCitpbmhlcml0IGdub21lYmFzZSB1c2VyYWRkIGdldHRleHQgc3lzdGVtZAorCitTUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS9OZXR3b3JrTWFuYWdlci1vcGVudnBuLyR7QGdub21lX3ZlcmRpcigiJHtQVn0iKX0vTmV0d29ya01hbmFnZXItb3BlbnZwbi0ke1BWfS50YXIueHoiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3NThhOTk1MWFkNWUyMGEzN2M3MmNjNzMyNmM5Yzc1MCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxYjk3OTUxOWQ3MmJhNGQ3OGU3MjlkNDg1NmM1YjUzZmFkOTE0Y2E3ZWUzY2E5MTIwOWNlNDg5YmE3ODkxMmFjIgorCitTID0gIiR7V09SS0RJUn0vTmV0d29ya01hbmFnZXItb3BlbnZwbi0ke1BWfSIKKworUEFDS0FHRUNPTkZJR1tnbm9tZV0gPSAiLS13aXRoLWdub21lLC0td2l0aG91dC1nbm9tZSIKKworIyBDcmVhdGUgdXNlciBhbmQgZ3JvdXAgbm0tb3BlbnZwbiB0aGF0IGFyZSBuZWVkZWQgc2luY2UgdmVyc2lvbiAxLjAuNgorVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKK1VTRVJBRERfUEFSQU1fJHtQTn0gPSAiLS1zeXN0ZW0gbm0tb3BlbnZwbiIKKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtsaWJkaXJ9L05ldHdvcmtNYW5hZ2VyLyouc28gXAorIgorCitSREVQRU5EU18ke1BOfSA9ICIgXAorICAgIG5ldHdvcmttYW5hZ2VyIFwKKyAgICBvcGVudnBuIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAxLWRvbi10LXRyeS10by1ydW4tc2Jpbi1kaGNsaWVudC10by1nZXQtdGhlLXZlcnNpb24tbnUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwMS1kb24tdC10cnktdG8tcnVuLXNiaW4tZGhjbGllbnQtdG8tZ2V0LXRoZS12ZXJzaW9uLW51LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjOWVkOTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwMS1kb24tdC10cnktdG8tcnVuLXNiaW4tZGhjbGllbnQtdG8tZ2V0LXRoZS12ZXJzaW9uLW51LnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gN2RkNDBkYjY2MDZjM2IzNTU5MzY1YTAzOTQ0Y2I5OWFlZTVjZWFiYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFRodSwgNCBBcHIgMjAxMyAxMjo1Nzo1OCArMDIwMAorU3ViamVjdDogW1BBVENIXSBkb24ndCB0cnkgdG8gcnVuIC9zYmluL2RoY2xpZW50IHRvIGdldCB0aGUgdmVyc2lvbiBudW1iZXIsCisgdGhpcyBicmVhayBjcm9zcy1jb21waWxpbmcKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtidWlsZCBzeXN0ZW0gc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8ICAgIDYgLS0tLS0tCisgMSBmaWxlcyBjaGFuZ2VkLCAwIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGNjNjZlOWIuLjcxNjMyODcgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTQ4OCwxMiArNDg4LDYgQEAgQVNfSUYoW3Rlc3QgLXogIiR3aXRoX2RoY3BjZCJdLCB3aXRoX2RoY3BjZD15ZXMpCisgIyBTZWFyY2ggYW5kIGNoZWNrIHRoZSBleGVjdXRhYmxlcworIGlmIHRlc3QgIiR3aXRoX2RoY2xpZW50IiA9ICJ5ZXMiOyB0aGVuCisgCUFDX1BBVEhfUFJPR1Mod2l0aF9kaGNsaWVudCwgZGhjbGllbnQsIG5vLCAvc2JpbjovdXNyL3NiaW46L3Vzci9sb2NhbC9zYmluKQorLQlpZiB0ZXN0ICIkd2l0aF9kaGNsaWVudCIgIT0gIm5vIjsgdGhlbgorLQkJaWYgISAkd2l0aF9kaGNsaWVudCAtLXZlcnNpb24gMj4mMSB8IGdyZXAgLXEgIl5pc2MtZGhjbGllbnQtNFwuIjsgdGhlbgorLQkJCUFDX01TR19XQVJOKFtDYW5ub3QgdXNlIGRoY2xpZW50LCB2ZXJzaW9uIDQueCBpcyByZXF1aXJlZF0pCistCQkJd2l0aF9kaGNsaWVudD1ubworLQkJZmkKKy0JZmkKKyBmaQorIGlmIHRlc3QgIiR3aXRoX2RoY3BjZCIgPSAieWVzIjsgdGhlbgorIAlBQ19QQVRIX1BST0dTKHdpdGhfZGhjcGNkLCBkaGNwY2QsIG5vLCAvc2JpbjovdXNyL3NiaW46L3Vzci9sb2NhbC9zYmluKQorLS0gCisxLjcuNi41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAyLWFkZC1wa2ctY29uZmlnLWZvci1saWJnY3J5cHQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwMi1hZGQtcGtnLWNvbmZpZy1mb3ItbGliZ2NyeXB0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiOTVlYWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwMi1hZGQtcGtnLWNvbmZpZy1mb3ItbGliZ2NyeXB0LnBhdGNoCkBAIC0wLDAgKzEsNDEgQEAKK0Zyb20gYTkyNjFmZWU0YTQxMDQ1YzQyZTBkMjkyMjM3Y2VlNTMyZTExOTgyYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFkcmlhbiA8YWRyaWFuLmZyZWlob2ZlckBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDI3IE5vdiAyMDE0IDE1OjQzOjI2ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGFkZCBwa2cgY29uZmlnIGZvciBsaWJnY3J5cHQKKworLS0tCisgY29uZmlndXJlLmFjIHwgMTggKysrKysrKy0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDk0YjA3NTguLjY1NGEwMTUgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTQ4MCwxNyArNDgwLDEzIEBAIGlmIHRlc3QgeCIkYWNfY3J5cHRvIiA9IHhuc3M7IHRoZW4KKyAgIHdpdGhfbnNzPXllcworIGVsaWYgdGVzdCB4IiRhY19jcnlwdG8iID0geGdudXRsczsgdGhlbgorICAgUEtHX0NIRUNLX01PRFVMRVMoR05VVExTLCBbZ251dGxzID49IDEuMl0pCistICBBQ19QQVRIX1BST0coTElCR0NSWVBUX0NPTkZJRywgbGliZ2NyeXB0LWNvbmZpZywgbm8pCistICBpZiB0ZXN0IHgiJExJQkdDUllQVF9DT05GSUciID0geG5vOyB0aGVuCistICAgIEFDX01TR19FUlJPUihbZ251dGxzIGV4cGxpY2l0bHkgcmVxdWVzdGVkIGJ1dCBnY3J5cHQgbm90IGZvdW5kIG9uIHN5c3RlbV0pCistICBlbHNlCistICAgIEFDX0RFRklORShIQVZFX0dOVVRMUywgMSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBsaWJnbnV0bHNdKQorLSAgICBMSUJHQ1JZUFRfQ0ZMQUdTPWAkTElCR0NSWVBUX0NPTkZJRyAtLWNmbGFnc2AKKy0gICAgTElCR0NSWVBUX0xJQlM9YCRMSUJHQ1JZUFRfQ09ORklHIC0tbGlic2AKKy0gICAgQUNfU1VCU1QoTElCR0NSWVBUX0NGTEFHUykKKy0gICAgQUNfU1VCU1QoTElCR0NSWVBUX0xJQlMpCistICAgIHdpdGhfZ251dGxzPXllcworLSAgZmkKKysgIEFDX0RFRklORShIQVZFX0dOVVRMUywgMSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBsaWJnbnV0bHNdKQorKyAgUEtHX0NIRUNLX01PRFVMRVMoTElCR0NSWVBULCBbbGliZ2NyeXB0ID49IDEuMS40Ml0sIFsKKysgICAgICBBQ19ERUZJTkUoSEFWRV9HQ1JZUFQsIDEsIFtEZWZpbmUgaWYgZ2NyeXB0IGxpYnJhcnkgaXMgYXZhaWxhYmxlLl0pCisrICAgICAgd2l0aF9nbnV0bHM9eWVzCisrICAgIF0sIFsKKysgICAgICBBQ19NU0dfRVJST1IoW2dudXRscyBleHBsaWNpdGx5IHJlcXVlc3RlZCBidXQgZ2NyeXB0IG5vdCBmb3VuZCBvbiBzeXN0ZW1dKQorKyAgICBdKQorIGVsc2UKKyAgIEFDX01TR19FUlJPUihbUGxlYXNlIGNob29zZSBlaXRoZXIgJ25zcycgb3IgJ2dudXRscycgZm9yIGNlcnRpZmljYXRlIGFuZCBjcnlwdG8gb3BlcmF0aW9uc10pCisgZmkKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyLzAwMDMtY29yZS1maXgtZmFpbHVyZS10by1jb25maWd1cmUtcm91dGVzLWR1ZS10by13cm9uZy1kZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAzLWNvcmUtZml4LWZhaWx1cmUtdG8tY29uZmlndXJlLXJvdXRlcy1kdWUtdG8td3JvbmctZGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWRhNTM2ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAzLWNvcmUtZml4LWZhaWx1cmUtdG8tY29uZmlndXJlLXJvdXRlcy1kdWUtdG8td3JvbmctZGUucGF0Y2gKQEAgLTAsMCArMSw1NCBAQAorRnJvbSAxMWFhMDdlZDkzOTE5M2U4NTUxNmMyODdhNTdkZWUxODM3MjQyOTcyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogVGhvbWFzIEhhbGxlciA8dGhhbGxlckByZWRoYXQuY29tPgorRGF0ZTogTW9uLCA0IEphbiAyMDE2IDE4OjU0OjI2ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMS83XSBjb3JlOiBmaXggZmFpbHVyZSB0byBjb25maWd1cmUgcm91dGVzIGR1ZSB0byB3cm9uZworIGRldmljZS1yb3V0ZSBmb3IgSVB2NCBwZWVyLWFkZHJlc3NlcworCitBcyBpbiB0aGUgY2FzZSBvZiBhIE9wZW5WUE4gY29ubmVjdGlvbiwgd2UgbWlnaHQgYWRkIGFuIGFkZHJlc3MgbGlrZToKKyAgMTAuOC4wLjU4LzMyIHB0cCAxMC44LjAuNTcKKworSW4gdGhpcyBjYXNlLCBrZXJuZWwgd291bGQgYXV0b21hdGljYWxseSBhZGQgYSBkZXZpY2Utcm91dGUgbGlrZToKKyAgMTAuOC4wLjU3LzMyIHZpYSAwLjAuMC4wIGRldiAzMiBtZXRyaWMgMCBtc3MgMCBzcmMgcnRwcm90LWtlcm5lbCBzY29wZSBsaW5rIHByZWYtc3JjIDEwLjguMC41OAorCitubV9pcDRfY29uZmlnX2NvbW1pdCgpIGNoZWNrcyBhbGwgSVAgYWRkcmVzc2VzIHRvIGZpZ3VyZSBvdXQKK3RoZSBwcmVzZW50IGRldmljZS1yb3V0ZXMuIFRoZW4gdGhlIHJvdXRlcyBhcmUgc3luY2VkIGJ5IE5NUm91dGVNYW5hZ2VyLgorRHVlIHRvIGEgYnVnLCB3ZSB3b3VsZCBub3QgY29uc2lkZXIgdGhlIHBlZXItYWRkcmVzcywgYnV0IHRoZSBsb2NhbC1hZGRyZXNzCithbmQgY29uZmlndXJlIGEgcm91dGUgMTAuOC4wLjU4LzMyLCBpbnN0ZWFkIG9mIDEwLjguMC41Ny8zMi4KKworVGhhdCBzdGF5cyBtb3N0bHkgdW5ub3RpY2VkLCBiZWNhdXNlIHVzdWFsbHkgdGhlIHBlZXIgYW5kIHRoZSBsb2NhbC1hZGRyZXNzIGFyZQoraW4gdGhlIHNhbWUgc3VibmV0LCBzbyB0aGF0IHRoZXJlIGlzIG5vIGRpZmZlcmVuY2UgKC8zMiBpcyBhbiBleGFtcGxlIG9mIHRoZQorcGVlci1hZGRyZXNzIGJlaW5nIGluIGEgZGlmZmVyZW50IHN1Ym5ldCkuCisKK0l0IGFsc28gc2VlbXMgdGhhdCBkdWUgdG8gYSBidWcgZml4ZWQgYnkgZGY0ZTUzNTc1MjEgdGhpcyBpc3N1ZSBkaWRuJ3Qgc3VyZmFjZS4KK1Byb2JhYmx5IGJlY2F1c2Ugd2Ugd291bGQgbm90IG5vdGljZSB0aGUgMTAuOC4wLjU3LzMyIHJpZ2h0IGF3YXkgYW5kIHRodXMKK25tX3JvdXRlX21hbmFnZXJfaXA0X3JvdXRlX3N5bmMoKSB3b3VsZCBub3Qgd3JvbmdseSBkZWxldGUgaXQuCisKK2h0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk4OTIKKworaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvY2dpLWJpbi9idWdyZXBvcnQuY2dpP2J1Zz04MDkxOTUKK2h0dHBzOi8vYnVncy5kZWJpYW4ub3JnL2NnaS1iaW4vYnVncmVwb3J0LmNnaT9idWc9ODA5NDk0CitodHRwczovL2J1Z3MuZGViaWFuLm9yZy9jZ2ktYmluL2J1Z3JlcG9ydC5jZ2k/YnVnPTgwOTUyNgoraHR0cHM6Ly9idWdzLmFyY2hsaW51eC5vcmcvdGFzay80NzUzNQoraHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0xMjk0MzA5CitodHRwczovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL25ldHdvcmttYW5hZ2VyLWxpc3QvMjAxNS1EZWNlbWJlci9tc2cwMDA1OS5odG1sCistLS0KKyBzcmMvbm0taXA0LWNvbmZpZy5jIHwgMyArKy0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvbm0taXA0LWNvbmZpZy5jIGIvc3JjL25tLWlwNC1jb25maWcuYworaW5kZXggZjYyNWQzNS4uNjFlMjlhZiAxMDA2NDQKKy0tLSBhL3NyYy9ubS1pcDQtY29uZmlnLmMKKysrKyBiL3NyYy9ubS1pcDQtY29uZmlnLmMKK0BAIC0yOTgsNyArMjk4LDggQEAgbm1faXA0X2NvbmZpZ19jb21taXQgKGNvbnN0IE5NSVA0Q29uZmlnICpjb25maWcsIGludCBpZmluZGV4LCBnYm9vbGVhbiByb3V0ZXNfZnUKKyAKKyAJCQkJcm91dGUuaWZpbmRleCA9IGlmaW5kZXg7CisgCQkJCXJvdXRlLnNvdXJjZSA9IE5NX0lQX0NPTkZJR19TT1VSQ0VfS0VSTkVMOworLQkJCQlyb3V0ZS5uZXR3b3JrID0gbm1fdXRpbHNfaXA0X2FkZHJlc3NfY2xlYXJfaG9zdF9hZGRyZXNzIChhZGRyLT5hZGRyZXNzLCBhZGRyLT5wbGVuKTsKKysJCQkJcm91dGUubmV0d29yayA9IG5tX3V0aWxzX2lwNF9hZGRyZXNzX2NsZWFyX2hvc3RfYWRkcmVzcyAoYWRkci0+cGVlcl9hZGRyZXNzID8gOiBhZGRyLT5hZGRyZXNzLAorKwkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRyLT5wbGVuKTsKKyAJCQkJcm91dGUucGxlbiA9IGFkZHItPnBsZW47CisgCQkJCXJvdXRlLnByZWZfc3JjID0gYWRkci0+YWRkcmVzczsKKyAJCQkJcm91dGUubWV0cmljID0gZGVmYXVsdF9yb3V0ZV9tZXRyaWM7CistLSAKKzIuNS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDA0LXBwcC1tYW5hZ2VyLWNsZWFyLXBwcF93YXRjaF9pZC11cG9uLXBwcGQtdGVybWluYXRpb24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwNC1wcHAtbWFuYWdlci1jbGVhci1wcHBfd2F0Y2hfaWQtdXBvbi1wcHBkLXRlcm1pbmF0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxZjI4ODIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwNC1wcHAtbWFuYWdlci1jbGVhci1wcHBfd2F0Y2hfaWQtdXBvbi1wcHBkLXRlcm1pbmF0aW9uLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Zyb20gODIwNGMyYTE5NjhmNzU3NTk5YzVlYmVjOWE4NWVmYWFjYjBlNTIyYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEJlbmlhbWlubyBHYWx2YW5pIDxiZ2FsdmFuaUByZWRoYXQuY29tPgorRGF0ZTogTW9uLCA0IEphbiAyMDE2IDE0OjE4OjAyICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMi83XSBwcHAtbWFuYWdlcjogY2xlYXIgQHBwcF93YXRjaF9pZCB1cG9uIHBwcGQgdGVybWluYXRpb24KKworU2V0IEBwcHBfd2F0Y2hfaWQgdG8gemVybyB1cG9uIHBwcGQgdGVybWluYXRpb24sIG90aGVyd2lzZSB0aGUgY2FsbCB0bworZ19zb3VyY2VfcmVtb3ZlKHByaXYtPnBwcF93YXRjaF9pZCkgaW4gZGlzcG9zZSgpIGNvdWxkIHRyaWdnZXIgYSBmYWlsZWQKK2Fzc2VydGlvbi4KKworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNWY5M2YwMTAxNTM4ZGIzOWVmZTBmOWVhMjMxNmU2M2JmZjk1M2JmMCkKKy0tLQorIHNyYy9wcHAtbWFuYWdlci9ubS1wcHAtbWFuYWdlci5jIHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9zcmMvcHBwLW1hbmFnZXIvbm0tcHBwLW1hbmFnZXIuYyBiL3NyYy9wcHAtbWFuYWdlci9ubS1wcHAtbWFuYWdlci5jCitpbmRleCBkMjdiMjYyLi44NWNhOWM1IDEwMDY0NAorLS0tIGEvc3JjL3BwcC1tYW5hZ2VyL25tLXBwcC1tYW5hZ2VyLmMKKysrKyBiL3NyYy9wcHAtbWFuYWdlci9ubS1wcHAtbWFuYWdlci5jCitAQCAtODI4LDYgKzgyOCw3IEBAIHBwcF93YXRjaF9jYiAoR1BpZCBwaWQsIGdpbnQgc3RhdHVzLCBncG9pbnRlciB1c2VyX2RhdGEpCisgCisgCW5tX2xvZ19kYmcgKExPR0RfUFBQLCAicHBwZCBwaWQgJWQgY2xlYW5lZCB1cCIsIHByaXYtPnBpZCk7CisgCXByaXYtPnBpZCA9IDA7CisrCXByaXYtPnBwcF93YXRjaF9pZCA9IDA7CisgCWdfc2lnbmFsX2VtaXQgKG1hbmFnZXIsIHNpZ25hbHNbU1RBVEVfQ0hBTkdFRF0sIDAsIE5NX1BQUF9TVEFUVVNfREVBRCk7CisgfQorIAorLS0gCisyLjUuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwNS1kZXZpY2UtdXBkYXRlLWlwX2lmYWNlLW9ubHktaWYtSVAtaW50ZXJmYWNlLWV4aXN0cy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDA1LWRldmljZS11cGRhdGUtaXBfaWZhY2Utb25seS1pZi1JUC1pbnRlcmZhY2UtZXhpc3RzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1YzJkY2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwNS1kZXZpY2UtdXBkYXRlLWlwX2lmYWNlLW9ubHktaWYtSVAtaW50ZXJmYWNlLWV4aXN0cy5wYXRjaApAQCAtMCwwICsxLDQ1IEBACitGcm9tIGNiY2I4NDhlNmQ0ZjRlOGM0YWExMWM4MGYxZjNkYmI3ZmIyZDM5N2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBCZW5pYW1pbm8gR2FsdmFuaSA8YmdhbHZhbmlAcmVkaGF0LmNvbT4KK0RhdGU6IE1vbiwgNCBKYW4gMjAxNiAxNDoyMjowMSArMDEwMAorU3ViamVjdDogW1BBVENIIDMvN10gZGV2aWNlOiB1cGRhdGUgQGlwX2lmYWNlIG9ubHkgaWYgSVAgaW50ZXJmYWNlIGV4aXN0cworCitJZiBAaXBfaWZpbmRleCBpcyB6ZXJvLCB0aGUgSVAgaW50ZXJmYWNlIGhhcyBkaXNhcHBlYXJlZCBhbmQKK3RoZXJlJ3Mgbm8gcG9pbnQgaW4gdXBkYXRpbmcgQGlwX2lmYWNlLgorCitBY3R1YWxseSwgdW5jb25kaXRpb25hbGx5IHVwZGF0aW5nIEBpcF9pZmFjZSBpcyBkYW5nZXJvdXMgYmVjYXVzZSBpdAorYnJlYWtzIHRoZSBhc3N1bXB0aW9uIHVzZWQgYnkgb3RoZXIgZnVuY3Rpb25zIChhcworbm1fZGV2aWNlX2dldF9pcF9pZmluZGV4KCkpIHRoYXQgYSBub24tTlVMTCBAaXBfaWZhY2UgaW1wbGllcyBhIHZhbGlkCitAaXBfaWZpbmRleC4gVGhpcyB3YXMgY2F1c2luZyB0aGUgc2NhcnkgZmFpbHVyZToKKworICBkZXZpY2VzL25tLWRldmljZS5jOjY2NjpnZXRfaXBfaWZhY2VfaWRlbnRpZmllcjogYXNzZXJ0aW9uIGZhaWxlZDogKGlmaW5kZXgpCisKK2h0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTI2ODYxNworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZWQ1MzY5OThmOTUzMDY5OGZmMzA4MmZjNTU4N2RiZWI3ZDNhNTk0ZikKKy0tLQorIHNyYy9kZXZpY2VzL25tLWRldmljZS5jIHwgNyArKysrLS0tCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9kZXZpY2VzL25tLWRldmljZS5jIGIvc3JjL2RldmljZXMvbm0tZGV2aWNlLmMKK2luZGV4IGJiMzljYTUuLjQ0MTNlOTIgMTAwNjQ0CistLS0gYS9zcmMvZGV2aWNlcy9ubS1kZXZpY2UuYworKysrIGIvc3JjL2RldmljZXMvbm0tZGV2aWNlLmMKK0BAIC0xNTI2LDEyICsxNTI2LDEzIEBAIGRldmljZV9pcF9saW5rX2NoYW5nZWQgKE5NRGV2aWNlICpzZWxmKQorIHsKKyAJTk1EZXZpY2VQcml2YXRlICpwcml2ID0gTk1fREVWSUNFX0dFVF9QUklWQVRFIChzZWxmKTsKKyAJY29uc3QgTk1QbGF0Zm9ybUxpbmsgKnBsbGluazsKKy0JaW50IGlwX2lmaW5kZXg7CisgCisgCXByaXYtPmRldmljZV9pcF9saW5rX2NoYW5nZWRfaWQgPSAwOworIAorLQlpcF9pZmluZGV4ID0gbm1fZGV2aWNlX2dldF9pcF9pZmluZGV4IChzZWxmKTsKKy0JcGxsaW5rID0gbm1fcGxhdGZvcm1fbGlua19nZXQgKE5NX1BMQVRGT1JNX0dFVCwgaXBfaWZpbmRleCk7CisrCWlmICghcHJpdi0+aXBfaWZpbmRleCkKKysJCXJldHVybiBHX1NPVVJDRV9SRU1PVkU7CisrCisrCXBsbGluayA9IG5tX3BsYXRmb3JtX2xpbmtfZ2V0IChOTV9QTEFURk9STV9HRVQsIHByaXYtPmlwX2lmaW5kZXgpOworIAlpZiAoIXBsbGluaykKKyAJCXJldHVybiBHX1NPVVJDRV9SRU1PVkU7CisgCistLSAKKzIuNS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDA2LUZpeC1ubS12ZXJzaW9uLW1hY3JvLWluY2x1ZGVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyLzAwMDYtRml4LW5tLXZlcnNpb24tbWFjcm8taW5jbHVkZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWE1N2M4MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDA2LUZpeC1ubS12ZXJzaW9uLW1hY3JvLWluY2x1ZGVzLnBhdGNoCkBAIC0wLDAgKzEsNTggQEAKK0Zyb20gNzI3NGJiYWRkMzk4YTY5YjhiYWJmNDc0MzFmODBkMzVlMDIyOGM0MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFkcmlhbiBGcmVpaG9mZXIgPGFkcmlhbi5mcmVpaG9mZXJAZ21haWwuY29tPgorRGF0ZTogTW9uLCAxOCBKYW4gMjAxNiAwODo1MzoyNiArMDEwMAorU3ViamVjdDogW1BBVENIXSBGaXggbm0tdmVyc2lvbi1tYWNybyBpbmNsdWRlcworCitubS12ZXJzaW9uLW1hY3Jvcy5oIGNhbm5vdCBiZSBmb3VuZCBzaW5jZSBpbmNsdWRlIGRpcmVjdGl2ZSBoYXMKK2JlZW4gY2hhbmdlZCBmcm9tICIgdG8gPC4gVGhpcyBicmVha3MgZm9yIGV4YW1wbGUgZ25vbWUtcGFuZWwKK2J1aWxkOgorL3Vzci9pbmNsdWRlL05ldHdvcmtNYW5hZ2VyL05ldHdvcmtNYW5hZ2VyLmg6MzE6MzE6CitmYXRhbCBlcnJvcjogbm0tdmVyc2lvbi1tYWNyb3MuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeS4KKy0tLQorIGxpYm5tLWNvcmUvbm0tdmVyc2lvbi5oICAgICB8IDIgKy0KKyBsaWJubS11dGlsL05ldHdvcmtNYW5hZ2VyLmggfCAyICstCisgbGlibm0tdXRpbC9ubS12ZXJzaW9uLmggICAgIHwgMiArLQorIDMgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGlibm0tY29yZS9ubS12ZXJzaW9uLmggYi9saWJubS1jb3JlL25tLXZlcnNpb24uaAoraW5kZXggNzMwMzMwYS4uZDc1MWJjMSAxMDA2NDQKKy0tLSBhL2xpYm5tLWNvcmUvbm0tdmVyc2lvbi5oCisrKysgYi9saWJubS1jb3JlL25tLXZlcnNpb24uaAorQEAgLTIzLDcgKzIzLDcgQEAKKyAKKyAjaW5jbHVkZSA8Z2xpYi5oPgorIAorLSNpbmNsdWRlIDxubS12ZXJzaW9uLW1hY3Jvcy5oPgorKyNpbmNsdWRlICJubS12ZXJzaW9uLW1hY3Jvcy5oIgorIAorIC8qIERlcHJlY2F0aW9uIC8gQXZhaWxhYmlsaXR5IG1hY3JvcyAqLworIAorZGlmZiAtLWdpdCBhL2xpYm5tLXV0aWwvTmV0d29ya01hbmFnZXIuaCBiL2xpYm5tLXV0aWwvTmV0d29ya01hbmFnZXIuaAoraW5kZXggZDgzZTRhYi4uM2E5NjRmYyAxMDA2NDQKKy0tLSBhL2xpYm5tLXV0aWwvTmV0d29ya01hbmFnZXIuaAorKysrIGIvbGlibm0tdXRpbC9OZXR3b3JrTWFuYWdlci5oCitAQCAtMjgsNyArMjgsNyBAQAorIAorIC8qIFRoaXMgaGVhZGVyIG11c3Qgbm90IGluY2x1ZGUgZ2xpYiBvciBsaWJubS4gKi8KKyAKKy0jaW5jbHVkZSA8bm0tdmVyc2lvbi1tYWNyb3MuaD4KKysjaW5jbHVkZSAibm0tdmVyc2lvbi1tYWNyb3MuaCIKKyAKKyAvKgorICAqIGRidXMgc2VydmljZXMgZGV0YWlscworZGlmZiAtLWdpdCBhL2xpYm5tLXV0aWwvbm0tdmVyc2lvbi5oIGIvbGlibm0tdXRpbC9ubS12ZXJzaW9uLmgKK2luZGV4IDYzODk1ZGQuLjQxMTAxYTQgMTAwNjQ0CistLS0gYS9saWJubS11dGlsL25tLXZlcnNpb24uaAorKysrIGIvbGlibm0tdXRpbC9ubS12ZXJzaW9uLmgKK0BAIC0yMyw3ICsyMyw3IEBACisgCisgI2luY2x1ZGUgPGdsaWIuaD4KKyAKKy0jaW5jbHVkZSA8bm0tdmVyc2lvbi1tYWNyb3MuaD4KKysjaW5jbHVkZSAibm0tdmVyc2lvbi1tYWNyb3MuaCIKKyAKKyAvKiBEZXByZWNhdGlvbiAvIEF2YWlsYWJpbGl0eSBtYWNyb3MgKi8KKyAKKy0tIAorMi41LjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyXzEuMC4xMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlcl8xLjAuMTAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODMxZGRmMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlcl8xLjAuMTAuYmIKQEAgLTAsMCArMSwxMjQgQEAKK1NVTU1BUlkgPSAiTmV0d29ya01hbmFnZXIiCitTRUNUSU9OID0gIm5ldC9taXNjIgorCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWNiYmZmZDU2ODIyN2FkYTUwNjY0MGZlOTUwYTQ4MjNiIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYm5tLXV0aWwvQ09QWUlORzttZDU9MWM0ZmE3NjVkNmViM2NkMmZiZDg0MzQ0YTFiODE2Y2QgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZG9jcy9hcGkvaHRtbC9saWNlbnNlLmh0bWw7bWQ1PTUxZDdmYjY3YmRlOTkyZTU4NTMzYTg0ODFjZWUwNzBiIFwKKyIKKworREVQRU5EUyA9ICJsaWJubCBkYnVzIGRidXMtZ2xpYiBsaWJndWRldiB1dGlsLWxpbnV4IGxpYm5kcCBsaWJuZXd0IHBvbGtpdCIKKworaW5oZXJpdCBnbm9tZWJhc2UgZ2V0dGV4dCBzeXN0ZW1kIGJsdWV0b290aCBiYXNoLWNvbXBsZXRpb24gdmFsYSBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworU1JDX1VSSSA9ICIgXAorICAgICR7R05PTUVfTUlSUk9SfS9OZXR3b3JrTWFuYWdlci8ke0Bnbm9tZV92ZXJkaXIoIiR7UFZ9Iil9L05ldHdvcmtNYW5hZ2VyLSR7UFZ9LnRhci54eiBcCisgICAgZmlsZTovLzAwMDEtZG9uLXQtdHJ5LXRvLXJ1bi1zYmluLWRoY2xpZW50LXRvLWdldC10aGUtdmVyc2lvbi1udS5wYXRjaCBcCisgICAgZmlsZTovLzAwMDItYWRkLXBrZy1jb25maWctZm9yLWxpYmdjcnlwdC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDMtY29yZS1maXgtZmFpbHVyZS10by1jb25maWd1cmUtcm91dGVzLWR1ZS10by13cm9uZy1kZS5wYXRjaCBcCisgICAgZmlsZTovLzAwMDQtcHBwLW1hbmFnZXItY2xlYXItcHBwX3dhdGNoX2lkLXVwb24tcHBwZC10ZXJtaW5hdGlvbi5wYXRjaCBcCisgICAgZmlsZTovLzAwMDUtZGV2aWNlLXVwZGF0ZS1pcF9pZmFjZS1vbmx5LWlmLUlQLWludGVyZmFjZS1leGlzdHMucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDA2LUZpeC1ubS12ZXJzaW9uLW1hY3JvLWluY2x1ZGVzLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhOGY1NDQ2MGE0NzA4ZWZkODQwMzU4ZjMyZDA5NjhmZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxYmNmY2U4NDQxZGZkOWY0MzJhMTAwZDA2YjU0ZjM4MzFhMjI3NWNjY2MzYjc0YjFiNGMwOWEwMTFlMTc5ZmJjIgorCitTID0gIiR7V09SS0RJUn0vTmV0d29ya01hbmFnZXItJHtQVn0iCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0tZGlzYWJsZS1pZmNmZy1yaCBcCisgICAgLS1kaXNhYmxlLWlmbmV0IFwKKyAgICAtLWRpc2FibGUtaWZjZmctc3VzZSBcCisgICAgLS1kaXNhYmxlLW1vcmUtd2FybmluZ3MgXAorICAgIC0td2l0aC1pcHRhYmxlcz0ke3NiaW5kaXJ9L2lwdGFibGVzIFwKKyAgICAtLXdpdGgtdGVzdHMgXAorICAgIC0td2l0aC1ubXR1aT15ZXMgXAorIgorCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisgICAgICAgIGV4cG9ydCBHSVJfRVhUUkFfTElCU19QQVRIPSIke0J9L2xpYm5tLXV0aWwvLmxpYnMiCit9CisKK1BBQ0tBR0VDT05GSUcgPz89ICJuc3MgaWZ1cGRvd24gbmV0Y29uZmlnIGRoY2xpZW50IGRuc21hc3EgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywnc3lzdGVtZCcsJ2NvbnNvbGVraXQnLGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ2JsdWV0b290aCcsJyR7QkxVRVp9JywnJyxkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCd3aWZpJywnd2lmaScsJycsZCl9IFwKKyIKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiIFwKKyAgICAtLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbSAtLXdpdGgtc2Vzc2lvbi10cmFja2luZz1zeXN0ZW1kIC0tZW5hYmxlLXBvbGtpdCwgXAorICAgIC0td2l0aG91dC1zeXN0ZW1kc3lzdGVtdW5pdGRpciwgXAorICAgIHBvbGtpdCBcCisiCitQQUNLQUdFQ09ORklHW2JsdWV6NV0gPSAiLS1lbmFibGUtYmx1ZXo1LWR1biwtLWRpc2FibGUtYmx1ZXo1LWR1bixibHVlejUiCisjIGNvbnNvbGVraXQgaXMgbm90IHBpY2tlZCBieSBzaGxpYnMsIHNvIGFkZCBpdCB0byBSREVQRU5EUyB0b28KK1BBQ0tBR0VDT05GSUdbY29uc29sZWtpdF0gPSAiLS13aXRoLXNlc3Npb24tdHJhY2tpbmc9Y29uc29sZWtpdCwsY29uc29sZWtpdCxjb25zb2xla2l0IgorUEFDS0FHRUNPTkZJR1tjb25jaGVja10gPSAiLS13aXRoLWxpYnNvdXA9eWVzLC0td2l0aC1saWJzb3VwPW5vLGxpYnNvdXAtMi40IgorUEFDS0FHRUNPTkZJR1ttb2RlbW1hbmFnZXJdID0gIi0td2l0aC1tb2RlbS1tYW5hZ2VyLTE9eWVzLC0td2l0aC1tb2RlbS1tYW5hZ2VyLTE9bm8sbW9kZW1tYW5hZ2VyIgorUEFDS0FHRUNPTkZJR1twcHBdID0gIi0tZW5hYmxlLXBwcCwtLWRpc2FibGUtcHBwLHBwcCxwcHAiCisjIFVzZSBmdWxsIGZlYXR1cmVkIGRoY3AgY2xpZW50IGluc3RlYWQgb2YgaW50ZXJuYWwgb25lCitQQUNLQUdFQ09ORklHW2RoY2xpZW50XSA9ICItLXdpdGgtZGhjbGllbnQ9JHtiYXNlX3NiaW5kaXJ9L2RoY2xpZW50LCwsZGhjcC1jbGllbnQiCitQQUNLQUdFQ09ORklHW2Ruc21hc3FdID0gIi0td2l0aC1kbnNtYXNxPSR7YmluZGlyfS9kbnNtYXNxIgorUEFDS0FHRUNPTkZJR1tuc3NdID0gIi0td2l0aC1jcnlwdG89bnNzLCxuc3MiCitQQUNLQUdFQ09ORklHW2dudXRsc10gPSAiLS13aXRoLWNyeXB0bz1nbnV0bHMsLGdudXRscyBsaWJnY3J5cHQiCitQQUNLQUdFQ09ORklHW3dpZmldID0gIi0tZW5hYmxlLXdpZmk9eWVzLC0tZW5hYmxlLXdpZmk9bm8sd2lyZWxlc3MtdG9vbHMsd3BhLXN1cHBsaWNhbnQgd2lyZWxlc3MtdG9vbHMiCitQQUNLQUdFQ09ORklHW2lmdXBkb3duXSA9ICItLWVuYWJsZS1pZnVwZG93biwtLWRpc2FibGUtaWZ1cGRvd24iCitQQUNLQUdFQ09ORklHW25ldGNvbmZpZ10gPSAiLS13aXRoLW5ldGNvbmZpZz15ZXMsLS13aXRoLW5ldGNvbmZpZz1ubyIKK1BBQ0tBR0VDT05GSUdbcXQ0LXgxMS1mcmVlXSA9ICItLWVuYWJsZS1xdCwtLWRpc2FibGUtcXQscXQ0LXgxMS1mcmVlIgorCitQQUNLQUdFUyA9KyAibGlibm11dGlsIGxpYm5tZ2xpYiBsaWJubWdsaWItdnBuICR7UE59LXRlc3RzIFwKKyAgJHtQTn0tbm10dWkgJHtQTn0tbm10dWktZG9jIFwKKyAgJHtQTn0tYWRzbCBcCisiCisKK0ZJTEVTX2xpYm5tdXRpbCArPSAiJHtsaWJkaXJ9L2xpYm5tLXV0aWwuc28uKiIKK0ZJTEVTX2xpYm5tZ2xpYiArPSAiJHtsaWJkaXJ9L2xpYm5tLWdsaWIuc28uKiIKK0ZJTEVTX2xpYm5tZ2xpYi12cG4gKz0gIiR7bGliZGlyfS9saWJubS1nbGliLXZwbi5zby4qIgorCitGSUxFU18ke1BOfS1hZHNsID0gIiR7bGliZGlyfS9OZXR3b3JrTWFuYWdlci9saWJubS1kZXZpY2UtcGx1Z2luLWFkc2wuc28iCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7bGliZXhlY2Rpcn0gXAorICAgICR7bGliZGlyfS9wcHBkLyovbm0tcHBwZC1wbHVnaW4uc28gXAorICAgICR7bGliZGlyfS9OZXR3b3JrTWFuYWdlci8qLnNvIFwKKyAgICAke2RhdGFkaXJ9L3BvbGtpdC0xIFwKKyAgICAke2RhdGFkaXJ9L2RidXMtMSBcCisgICAgJHtiYXNlX2xpYmRpcn0vdWRldi8qIFwKKyAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtIFwKKyIKKworUlJFQ09NTUVORFNfJHtQTn0gKz0gImlwdGFibGVzIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsJ2Ruc21hc3EnLCdkbnNtYXNxJywnJyxkKX0gXAorIgorUkNPTkZMSUNUU18ke1BOfSA9ICJjb25ubWFuIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiBcCisgICAgJHtsaWJkaXJ9L05ldHdvcmtNYW5hZ2VyLy5kZWJ1Zy8gXAorICAgICR7bGliZGlyfS9wcHBkLyovLmRlYnVnLyBcCisiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiIFwKKyAgICAke2RhdGFkaXJ9L05ldHdvcmtNYW5hZ2VyL2dkYi1jbWQgXAorICAgICR7bGliZGlyfS9wcHBkLyovKi5sYSBcCisgICAgJHtsaWJkaXJ9L05ldHdvcmtNYW5hZ2VyLyoubGEgXAorIgorCitGSUxFU18ke1BOfS10ZXN0cyA9ICIgXAorICAgICR7YmluZGlyfS9ubS1vbmxpbmUgXAorIgorCitGSUxFU18ke1BOfS1ubXR1aSA9ICIgXAorICAgICR7YmluZGlyfS9ubXR1aSBcCisgICAgJHtiaW5kaXJ9L25tdHVpLWVkaXQgXAorICAgICR7YmluZGlyfS9ubXR1aS1jb25uZWN0IFwKKyAgICAke2JpbmRpcn0vbm10dWktaG9zdG5hbWUgXAorIgorCitGSUxFU18ke1BOfS1ubXR1aS1kb2MgPSAiIFwKKyAgICAke21hbmRpcn0vbWFuMS9ubXR1aSogXAorIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiTmV0d29ya01hbmFnZXIuc2VydmljZSBOZXR3b3JrTWFuYWdlci1kaXNwYXRjaGVyLnNlcnZpY2UiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIHJtIC1yZiAke0R9L3J1biAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vYmV4L29iZXgtZGF0YS1zZXJ2ZXJfMC40LjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvb2JleC9vYmV4LWRhdGEtc2VydmVyXzAuNC42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyYzI4NGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvb2JleC9vYmV4LWRhdGEtc2VydmVyXzAuNC42LmJiCkBAIC0wLDAgKzEsMTUgQEAKK0RFU0NSSVBUSU9OID0gIm9iZXgtZGF0YS1zZXJ2ZXIgaXMgYSBELUJ1cyBzZXJ2aWNlIHByb3ZpZGluZyBoaWdoLWxldmVsIE9CRVggY2xpZW50IGFuZCBzZXJ2ZXIgc2lkZSBmdW5jdGlvbmFsaXR5IgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitERVBFTkRTID0gImd0aysgZGJ1cy1nbGliIGltYWdlbWFnaWNrIG9wZW5vYmV4IgorREVQRU5EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ2JsdWV6NScsJ2JsdWV6NScsJ2JsdWV6NCcsZCl9IgorCitTUkNfVVJJID0gImh0dHA6Ly90YWRhcy5kYWlseWRhLmNvbS9zb2Z0d2FyZS9vYmV4LWRhdGEtc2VydmVyLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5NjFjYTVkYjZmZTljOTcwMjRlMTMzY2M2MjAzY2M0ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiMzk5NDY1ZGRiZDZkMDIxN2FiZWRkOTQxMWQ5ZDc0YTgyMGVmZmEwYTZhMTQyYWRjNDQ4MjY4ZDM5MjAwOTRmIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RidXMtMS8iCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vYmV4L29wZW5vYmV4LTEuNS9kaXNhYmxlLWNhYmxlLXRlc3QucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvb2JleC9vcGVub2JleC0xLjUvZGlzYWJsZS1jYWJsZS10ZXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1YjYzNmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvb2JleC9vcGVub2JleC0xLjUvZGlzYWJsZS1jYWJsZS10ZXN0LnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKKworIworIyBQYXRjaCBtYW5hZ2VkIGJ5IGh0dHA6Ly93d3cuaG9sZ2Vyc2NodXJpZy5kZS9wYXRjaGVyLmh0bWwKKyMKKworLS0tIG9wZW5vYmV4LTEuMi9hcHBzL01ha2VmaWxlLmFtfmRpc2FibGUtY2FibGUtdGVzdAorKysrIG9wZW5vYmV4LTEuMi9hcHBzL01ha2VmaWxlLmFtCitAQCAtNiw3ICs2LDcgQEAKKyAJb2JleF9pby5jIG9iZXhfaW8uaCBcCisgCW9iZXhfcHV0X2NvbW1vbi5jIG9iZXhfcHV0X2NvbW1vbi5oCisgCistYmluX1BST0dSQU1TID0gaXJ4ZmVyIG9iZXhfdGNwIGlyb2JleF9wYWxtMyBvYmV4X3Rlc3QKKytiaW5fUFJPR1JBTVMgPSBpcnhmZXIgb2JleF90Y3AgaXJvYmV4X3BhbG0zCisgCisgb2JleF90ZXN0X1NPVVJDRVMgPSBcCisgCW9iZXhfdGVzdC5jIG9iZXhfdGVzdC5oIFwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vYmV4L29wZW5vYmV4LTEuNS9saWJ1c2JfY3Jvc3Njb21waWxlX2NoZWNrLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L29iZXgvb3Blbm9iZXgtMS41L2xpYnVzYl9jcm9zc2NvbXBpbGVfY2hlY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTE3N2RmZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vYmV4L29wZW5vYmV4LTEuNS9saWJ1c2JfY3Jvc3Njb21waWxlX2NoZWNrLnBhdGNoCkBAIC0wLDAgKzEsMTEgQEAKKy0tLSAvdG1wL2FjaW5jbHVkZS5tNAkyMDA5LTA0LTEyIDEwOjMyOjE1LjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5vYmV4LTEuNS9hY2luY2x1ZGUubTQJMjAwOS0wNC0xMiAxMDozMjozOC4wMDAwMDAwMDAgKzAyMDAKK0BAIC0xNTgsNyArMTU4LDcgQEAKKyAJCTs7CisgCSopCisgCQlQS0dfQ0hFQ0tfTU9EVUxFUyhVU0IsIGxpYnVzYiwgdXNiX2xpYl9mb3VuZD15ZXMsIEFDX01TR19SRVNVTFQobm8pKQorLQkJQUNfQ0hFQ0tfRklMRSgke3ByZWZpeH0vbGliL3BrZ2NvbmZpZy9saWJ1c2IucGMsIFJFUVVJUkVTPSJsaWJ1c2IiKQorKwkJUkVRVUlSRVM9ImxpYnVzYiIKKyAJCTs7CisgCWVzYWMKKyAJQUNfU1VCU1QoVVNCX0NGTEFHUykKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vYmV4L29wZW5vYmV4LTEuNS9zZXBhcmF0ZV9idWlsZGRpci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vYmV4L29wZW5vYmV4LTEuNS9zZXBhcmF0ZV9idWlsZGRpci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YWJmOGFlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L29iZXgvb3Blbm9iZXgtMS41L3NlcGFyYXRlX2J1aWxkZGlyLnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKK0ZpeCBkZXRlY3Rpb24gb2YgSXJEQSBmYWlsaW5nIHdpdGggQiE9UworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogUGF1bCBFZ2dsZXRvbiA8cGF1bC5lZ2dsZXRvbkBsaW51eC5pbnRlbC5jb20+CisKKy0tLSBhL2FjaW5jbHVkZS5tNAkyMDE0LTA1LTI0IDE0OjA1OjQxLjc1Nzc5NjgxNiArMDEwMAorKysrIGIvYWNpbmNsdWRlLm00CTIwMTQtMDUtMjQgMTQ6MDM6MDYuNTU2Nzk1NTM2ICswMTAwCitAQCAtNTQsNiArNTQsNyBAQAorIF0pCisgCisgQUNfREVGVU4oW0FDX1BBVEhfSVJEQV9MSU5VWF0sIFsKKysJQ1BQRkxBR1M9IiR7Q1BQRkxBR1N9IC1JJHtzcmNkaXJ9IgorIAlBQ19DQUNIRV9DSEVDSyhbZm9yIElyREEgc3VwcG9ydF0sIGlyZGFfZm91bmQsIFsKKyAJCUFDX1RSWV9DT01QSUxFKFsKKyAJCQkJI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vYmV4L29wZW5vYmV4XzEuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vYmV4L29wZW5vYmV4XzEuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YWM3OTA1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L29iZXgvb3Blbm9iZXhfMS41LmJiCkBAIC0wLDAgKzEsMzUgQEAKK0RFU0NSSVBUSU9OID0gIlRoZSBPcGVub2JleCBwcm9qZWN0IGlzIGFuIG9wZW4gc291cmNlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBcCitPYmplY3QgRXhjaGFuZ2UgKE9CRVgpIHByb3RvY29sLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9vcGVub2JleC50cmlxLm5ldCIKK1NFQ1RJT04gPSAibGlicyIKK0RFUEVORFMgPSAidmlydHVhbC9saWJ1c2IwIgorREVQRU5EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ2JsdWV6NScsJ2JsdWV6NScsJ2JsdWV6NCcsZCl9IgorCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lYjcyM2I2MTUzOWZlZWYwMTNkZTQ3NmU2OGI1YzUwYSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9YTZmODllMjEwMGQ5YjZjZGZmY2VhNGYzOThlMzczNDMgXAorIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvYmx1ZXRvb3RoL29wZW5vYmV4LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9kaXNhYmxlLWNhYmxlLXRlc3QucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbGlidXNiX2Nyb3NzY29tcGlsZV9jaGVjay5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zZXBhcmF0ZV9idWlsZGRpci5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gIjBkODNkYzg2NDQ1YTQ2YTFiOTc1MDEwN2JhN2FiNjVjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU2MDIwNDc1NzA3OTlhNDdlY2IwMjg0MjBiZGE4ZjJjZWY0MTMxMGU1YTk5ZDA4NGRlMTBhYTk0MjI5MzVlNjUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGJpbmNvbmZpZyBwa2djb25maWcKKworRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLWFwcHMgLS1lbmFibGUtc3lzbG9nIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2FjbG9jYWwKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9vcGVub2JleC5tNCAke0R9JHtkYXRhZGlyfS9hY2xvY2FsCit9CisKK1BBQ0tBR0VTICs9ICJvcGVub2JleC1hcHBzIgorRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYiouc28uKiIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtiaW5kaXJ9L29wZW5vYmV4LWNvbmZpZyIKK0ZJTEVTXyR7UE59LWFwcHMgPSAiJHtiaW5kaXJ9LyoiCitERUJJQU5fTk9BVVRPTkFNRV8ke1BOfS1hcHBzID0gIjEiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vYmV4ZnRwL29iZXhmdHAvUmVtb3ZlX3NvbWVfcHJpbnRmX2luX29iZXhmdHBkLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L29iZXhmdHAvb2JleGZ0cC9SZW1vdmVfc29tZV9wcmludGZfaW5fb2JleGZ0cGQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGI3M2FmMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vYmV4ZnRwL29iZXhmdHAvUmVtb3ZlX3NvbWVfcHJpbnRmX2luX29iZXhmdHBkLnBhdGNoCkBAIC0wLDAgKzEsMzQgQEAKK1NpZ25lZC1vZmYtYnk6IEp1biBaaHUgPFIwMTAwN0BmcmVlc2NhbGUuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6ICBOb3QgYXBwbGljYWJsZQorCitkaWZmIC1OcnUgb2JleGZ0cC0wLjIzL2FwcHMub3JpZy9vYmV4ZnRwZC5jIG9iZXhmdHAtMC4yMy9hcHBzL29iZXhmdHBkLmMKKy0tLSBvYmV4ZnRwLTAuMjMvYXBwcy5vcmlnL29iZXhmdHBkLmMJMjAxMy0xMS0wOCAxMDo0MjoyMC44MTY2MzE1ODMgKzA4MDAKKysrKyBvYmV4ZnRwLTAuMjMvYXBwcy9vYmV4ZnRwZC5jCTIwMTMtMTEtMDggMTA6NDQ6MTguNjI4NjM0ODkzICswODAwCitAQCAtNjM5LDcgKzYzOSw3IEBACisgCXN0cnVjdCBzdGF0IHN0YXRidWY7CisgCS8vY2hhciAqbmFtZWJ1ZiA9IE5VTEw7CisgCistCWZwcmludGYoc3RkZXJyLCAicHV0X2RvbmU+Pj5cbiIpOworKwkvL2ZwcmludGYoc3RkZXJyLCAicHV0X2RvbmU+Pj5cbiIpOworIAl3aGlsZShPQkVYX09iamVjdEdldE5leHRIZWFkZXIoaGFuZGxlLCBvYmplY3QsICZoaSwgJmh2LCAmaGxlbikpCXsKKyAJCXN3aXRjaChoaSkJeworIAkJY2FzZSBPQkVYX0hEUl9CT0RZOgorQEAgLTY3MSw3ICs2NzEsNyBAQAorIAkJfQorIAl9CisgCWlmKCFib2R5KQl7CistCQlwcmludGYoIkdvdCBhIFBVVCB3aXRob3V0IGEgYm9keVxuIik7CisrCQkvL3ByaW50ZigiR290IGEgUFVUIHdpdGhvdXQgYSBib2R5XG4iKTsKKyAJCU9CRVhfT2JqZWN0U2V0UnNwKG9iamVjdCwgT0JFWF9SU1BfQ09OVElOVUUsIE9CRVhfUlNQX1NVQ0NFU1MpOworIAl9CisgCWlmKCFuYW1lKQl7CitAQCAtODA3LDcgKzgwNyw3IEBACisgCQkJCisgCQlzd2l0Y2gob2JleF9jbWQpIHsKKyAJCWNhc2UgT0JFWF9DTURfUFVUOgorLQkJCWZwcmludGYoc3RkZXJyLCAib2JleF9ldl9wcm9ncmVzczogb2JleF9jbWRfcHV0XG4iKTsKKysJCQkvL2ZwcmludGYoc3RkZXJyLCAib2JleF9ldl9wcm9ncmVzczogb2JleF9jbWRfcHV0XG4iKTsKKyAJCQlwdXRfZG9uZShoYW5kbGUsIG9iaiwgMCk7CisgCQkJYnJlYWs7CisgCQlkZWZhdWx0OgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L29iZXhmdHAvb2JleGZ0cF8wLjIzLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L29iZXhmdHAvb2JleGZ0cF8wLjIzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZjZDQ0N2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvb2JleGZ0cC9vYmV4ZnRwXzAuMjMuYmIKQEAgLTAsMCArMSwxOSBAQAorREVTQ1JJUFRJT04gPSAiQSB0b29sIGZvciB0cmFuc2ZlciBmaWxlcyB0by9mcm9tIGFueSBPQkVYIGVuYWJsZWQgZGV2aWNlIgorTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2MiAmIExHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIiCisKK0RFUEVORFMgKz0gIm9wZW5vYmV4IgorCisjIERlcGVuZHMgb24gb3Blbm9iZXgKK1BOQkxBQ0tMSVNUW29iZXhmdHBdID89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2JsdWV6NScsICdibHVlejUgY29uZmxpY3RzIHdpdGggYmx1ZXo0IGFuZCBibHVlejUgaXMgc2VsZWN0ZWQgaW4gRElTVFJPX0ZFQVRVUkVTJywgJycsIGQpfSIKKworU1JDX1VSSSA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL29wZW5vYmV4L2ZpbGVzL29iZXhmdHAvJHtQVn0vb2JleGZ0cC0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL1JlbW92ZV9zb21lX3ByaW50Zl9pbl9vYmV4ZnRwZC5wYXRjaCAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmMjA3NjIwNjFiNjhiYzkyMWU4MGJlNGFlYmMzNDllYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0NGE3NGZmMjg4ZDM4YzBmNzUzNTRkNmJjMmVmZTdkNmRlYzEwMTEyZWFmZjJlN2IxMGUyOTJiMGQyMTA1YjM2IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtdGNsIC0tZGlzYWJsZS1wZXJsIC0tZGlzYWJsZS1weXRob24gLS1kaXNhYmxlLXJ1YnkiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC10b29scy1ibHVldG9vdGguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtdG9vbHMtYmx1ZXRvb3RoLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkZTQ1OTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtdG9vbHMtYmx1ZXRvb3RoLmJiCkBAIC0wLDAgKzEsMzcgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LTIwMTUgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgQ09QWUlORy5NSVQgZm9yIHRoZSB0ZXJtcykKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPUkVCQVNFfS9MSUNFTlNFO21kNT0zZjQwZDc5OTQzOTcxMDkyODVlYzdiODFmZGViM2I1OCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL0NPUFlJTkcuTUlUO21kNT0zZGE5Y2ZiY2I3ODhjODBhMDM4NDM2MWI0ZGUyMDQyMCIKKworU1VNTUFSWSA9ICJTZXQgb2YgQmx1ZXRvb3RoIHJlbGF0ZWQgdG9vbHMgZm9yIGluY2x1c2lvbiBpbiBpbWFnZXMiCitERVNDUklQVElPTiA9ICJJbmNsdWRlcyBibHVldG9vdGggc3BlY2lmaWMgdG9vbHMgZm9yIHRoaXMgdmVyc2lvbiBvZiBCbHVlWi5cCitUaGVzZSB0b29scyBhcmUgdXNlZCBhdCBydW50aW1lLiBcCitTdXBwb3J0cyBCbHVlWjQgYW5kIEJsdWVaNS4iCisKK2luaGVyaXQgcGFja2FnZWdyb3VwCitpbmhlcml0IGJsdWV0b290aAorCitSREVQRU5EU19ibHVlejQgPSAiIFwKKyAgICBvYmV4ZnRwIFwKKyIKKworUkRFUEVORFNfYmx1ZXo1ID0gIiBcCisgICAgYmx1ZXo1LW5vaW5zdC10b29scyBcCisgICAgYmx1ZXo1LW9iZXggXAorICAgIGJsdWV6NS10ZXN0dG9vbHMgIFwKKyAgICBsaWJhc291bmQtbW9kdWxlLWJsdWV6IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3B1bHNlYXVkaW8nLCBcCisgICAgICAgICdwdWxzZWF1ZGlvLW1vZHVsZS1ibHVldG9vdGgtZGlzY292ZXIgXAorICAgICAgICAgcHVsc2VhdWRpby1tb2R1bGUtYmx1ZXRvb3RoLXBvbGljeSBcCisgICAgICAgICBwdWxzZWF1ZGlvLW1vZHVsZS1ibHVlejUtZGlzY292ZXIgXAorICAgICAgICAgcHVsc2VhdWRpby1tb2R1bGUtYmx1ZXo1LWRldmljZSBcCisgICAgICAgICBwdWxzZWF1ZGlvLW1vZHVsZS1zd2l0Y2gtb24tY29ubmVjdCBcCisgICAgICAgICBwdWxzZWF1ZGlvLW1vZHVsZS1sb29wYmFjaycsIFwKKyAgICAgICAgJycsIGQpfSBcCisiCisKKyMgSW5zdGFsbCBibHVlejQgdG9vbHMgb3IgYmx1ZXo1IHRvb2xzIGRlcGVuZGluZyBvbiB3aGF0IGlzIHNwZWNpZmllZCBpbiB0aGUgZGlzdHJvLgorIyBPdGhlcndpc2UgaW5zdGFsbCBub3RoaW5nLgorUkRFUEVORFNfJHtQTn0gPSAiJHtSREVQRU5EU18ke0JMVUVafX0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcGhvbmV0LXV0aWxzL3Bob25ldC11dGlsc19naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcGhvbmV0LXV0aWxzL3Bob25ldC11dGlsc19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTU4OTk2MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9waG9uZXQtdXRpbHMvcGhvbmV0LXV0aWxzX2dpdC5iYgpAQCAtMCwwICsxLDEzIEBACitTVU1NQVJZID0gIlRoaXMgc21hbGwgcGFja2FnZSBwcm92aWRlcyBhIGZldyBjb21tYW5kIGxpbmUgdG9vbHMgZm9yIExpbnV4IFBob25ldCIKK0hPTUVQQUdFID0gIiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0b3Jpb3VzLm9yZy9tZWVnby1jZWxsdWxhci9waG9uZXQtdXRpbHMuZ2l0O2JyYW5jaD1tYXN0ZXIiCitQUiA9ICJyMiIKK1MgPSAiJHtXT1JLRElSfS9naXQiCitTUkNSRVYgPSAiNGFjZmE3MjBmZDM3ZDE3OGEwNDhmYzJiZTE3MTgwMTM3ZDRhNzBlYSIKK1BWID0gIjAuMC4wK2dpdHIke1NSQ1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKK0ZJTEVTXyR7UE59ICs9ICIke2Jhc2VfbGliZGlyfS91ZGV2L3J1bGVzLmQvODUtcGhvbmV0LXV0aWxzLnJ1bGVzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3JhYmJpdG1xLWMvcmFiYml0bXEtY18wLjcuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9yYWJiaXRtcS1jL3JhYmJpdG1xLWNfMC43LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTk4NDZmZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9yYWJiaXRtcS1jL3JhYmJpdG1xLWNfMC43LjAuYmIKQEAgLTAsMCArMSwxOCBAQAorREVTQ1JJUFRJT04gPSAiQSBDLWxhbmd1YWdlIEFNUVAgY2xpZW50IGxpYnJhcnkgZm9yIHVzZSB3aXRoIHYyLjArIG9mIHRoZSBSYWJiaXRNUSBicm9rZXIiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vYWxhbnh6L3JhYmJpdG1xLWMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLU1JVDttZDU9NmI3NDI0ZjlkYjgwY2ZiMTFmZGQ1Yzk4MGI1ODNmNTMiCitMSUNFTlNFID0gIk1JVCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2FsYW54ei9yYWJiaXRtcS1jLmdpdCIKK1NSQ1JFViA9ICI0ZGRlMzBjZThkOTg0ZWRkYTU0MDM0OWY1N2ViNzk5NWE4N2JhOWRlIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitERVBFTkRTID0gInBvcHQgb3BlbnNzbCIKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1leGFtcGxlcyAtLWVuYWJsZS10b29scyAtLWRpc2FibGUtZG9jcyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1BBQ0tBR0VfQkVGT1JFX1BOICs9ICIke1BOfS10b29scyIKK0ZJTEVTXyR7UE59LXRvb2xzID0gIiR7YmluZGlyfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9yZmtpbGwvcmZraWxsLzAwMDEtcmZraWxsLW1ha2VmaWxlLWRvbi10LXVzZS10LXRoZS1PRS1pbnN0YWxsLXdyYXBwZXItZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9yZmtpbGwvcmZraWxsLzAwMDEtcmZraWxsLW1ha2VmaWxlLWRvbi10LXVzZS10LXRoZS1PRS1pbnN0YWxsLXdyYXBwZXItZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNmY2MGQwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Jma2lsbC9yZmtpbGwvMDAwMS1yZmtpbGwtbWFrZWZpbGUtZG9uLXQtdXNlLXQtdGhlLU9FLWluc3RhbGwtd3JhcHBlci1kLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK0Zyb20gZGI3NjQwODBlNTRmOGY5OThjMjhlZjhkYWI3OGRhOGI4ZDFkMTQyMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitEYXRlOiBGcmksIDExIEZlYiAyMDExIDEwOjM1OjQwICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHJma2lsbCBtYWtlZmlsZTogZG9uJ3QgdXNlIC10LCB0aGUgT0UgaW5zdGFsbCB3cmFwcGVyIGRpc2xpa2VzIGl0CisKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CistLS0KKyBNYWtlZmlsZSB8ICAgIDQgKystLQorIDEgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggOGQ2YzcwMC4uMzY1MjY5MCAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTUzLDEwICs1MywxMCBAQCBjaGVjazoKKyBpbnN0YWxsOiByZmtpbGwgcmZraWxsLjguZ3oKKyAJQCQoTlEpICcgSU5TVCByZmtpbGwnCisgCSQoUSkkKE1LRElSKSAkKERFU1RESVIpJChTQklORElSKQorLQkkKFEpJChJTlNUQUxMKSAtbSA3NTUgLXQgJChERVNURElSKSQoU0JJTkRJUikgcmZraWxsCisrCSQoUSkkKElOU1RBTEwpIC1tIDc1NSByZmtpbGwgJChERVNURElSKSQoU0JJTkRJUikgCisgCUAkKE5RKSAnIElOU1QgcmZraWxsLjgnCisgCSQoUSkkKE1LRElSKSAkKERFU1RESVIpJChNQU5ESVIpL21hbjgvCistCSQoUSkkKElOU1RBTEwpIC1tIDY0NCAtdCAkKERFU1RESVIpJChNQU5ESVIpL21hbjgvIHJma2lsbC44Lmd6CisrCSQoUSkkKElOU1RBTEwpIC1tIDY0NCByZmtpbGwuOC5neiAkKERFU1RESVIpJChNQU5ESVIpL21hbjgvCisgCisgY2xlYW46CisgCSQoUSlybSAtZiByZmtpbGwgKi5vICp+ICouZ3ogdmVyc2lvbi5jICotc3RhbXAKKy0tIAorMS42LjYuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcmZraWxsL3Jma2lsbC9kb250LmNhbGwuZ2l0LnJldi1wYXJzZS5vbi5wYXJlbnQuZGlyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Jma2lsbC9yZmtpbGwvZG9udC5jYWxsLmdpdC5yZXYtcGFyc2Uub24ucGFyZW50LmRpci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYjgzNjg5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Jma2lsbC9yZmtpbGwvZG9udC5jYWxsLmdpdC5yZXYtcGFyc2Uub24ucGFyZW50LmRpci5wYXRjaApAQCAtMCwwICsxLDMxIEBACitXaGVuIFdPUktESVIgaXMgaW5jbHVkZWQgaW4gc29tZSBvdGhlciBnaXQgY2hlY2tvdXQsIHZlcnNpb24uc2ggY2FsbHMgZ2l0IHJldi1wYXJzZQorYW5kIGl0IHJldHVybnMgc29tZSBkZXNjcmlwdGlvbiBmcm9tIHRoYXQgdXBwZXIgZ2l0IGNoZWNrb3V0IGV2ZW4gd2hlbiByZmtpbGwgaXMKK2JlaW5nIGJ1aWx0IGZyb20gcmVsZWFzZSB0YXJiYWxsLgorCitXaGVuIHJldHVybmVkIGRlc2NyaXB0aW9uIGRvZXNuJ3QgbWF0Y2ggd2l0aCBleHBlY3RlZCB2MC40LCB2ZXJzaW9uLnNoIGV4aXRzCit3aXRob3V0IGNyZWF0aW5nIHZlcnNpb24uYworICAgICMgb24gZ2l0IGJ1aWxkcyBjaGVjayB0aGF0IHRoZSB2ZXJzaW9uIG51bWJlciBhYm92ZQorICAgICMgaXMgY29ycmVjdC4uLgorICAgIFsgIiR7ZGVzY3IlJS0qfSIgPSAidiRWRVJTSU9OIiBdIHx8IGV4aXQgMgorCithbmQgYnVpbGQgZmFpbHMgYSBiaXQgbGF0ZXI6CisgICAgfCBOT1RFOiBtYWtlIC1qIDMyIC1lIE1BS0VGTEFHUz0KKyAgICB8ICBDQyAgIHJma2lsbC5vCisgICAgfCAgR0VOICB2ZXJzaW9uLmMKKyAgICB8IG1ha2U6ICoqKiBbdmVyc2lvbi5jXSBFcnJvciAyCisgICAgfCBtYWtlOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgorICAgIHwgRVJST1I6IG9lX3J1bm1ha2UgZmFpbGVkCisKK0Rvbid0IHRyeSBnaXQgcmV2LXBhcnNlLCBpZiB0aGVyZSBpc24ndCAuZ2l0IGluICR7U30uCisKKy0tLSBhL3ZlcnNpb24uc2gJMjAxMy0xMS0xNSAwMzo0MzoxMi41ODc3NDQzNjYgLTA4MDAKKysrKyBiL3ZlcnNpb24uc2gJMjAxMy0xMS0xNSAwMzo0Mjo0MC42OTk3NDMzMjAgLTA4MDAKK0BAIC0xMiw3ICsxMiw3IEBACisgCisgaWYgdGVzdCAieCRTVUZGSVgiICE9ICd4JzsgdGhlbgorIAl2PSIkVkVSU0lPTiRTVUZGSVgiCistZWxpZiBoZWFkPWBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IEhFQUQgMj4vZGV2L251bGxgOyB0aGVuCisrZWxpZiB0ZXN0IC1kIC5naXQgJiYgaGVhZD1gZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBIRUFEIDI+L2Rldi9udWxsYDsgdGhlbgorIAlnaXQgdXBkYXRlLWluZGV4IC0tcmVmcmVzaCAtLXVubWVyZ2VkID4gL2Rldi9udWxsCisgCWRlc2NyPSQoZ2l0IGRlc2NyaWJlIDI+L2Rldi9udWxsIHx8IGVjaG8gInYkVkVSU0lPTiIpCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcmZraWxsL3Jma2lsbF8wLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcmZraWxsL3Jma2lsbF8wLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2U2NDQ3NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9yZmtpbGwvcmZraWxsXzAuNS5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIlJhZGlvIGVuYWJsZS9kaXNhYmxlIGNvbW1hbmQgbGluZSB1dGlsaXR5IgorSE9NRVBBR0UgPSAiaHR0cDovL2xpbnV4d2lyZWxlc3Mub3JnL2VuL3VzZXJzL0RvY3VtZW50YXRpb24vcmZraWxsIgorU0VDVElPTiA9ICJiYXNlIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jNjAzNmQwZWI3ZWRiZmNlZDI4YzQxNjBlNWQzZmE5NCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lmtlcm5lbC5vcmcvcHViL3NvZnR3YXJlL25ldHdvcmsvJHtCUE59LyR7QlB9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1yZmtpbGwtbWFrZWZpbGUtZG9uLXQtdXNlLXQtdGhlLU9FLWluc3RhbGwtd3JhcHBlci1kLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RvbnQuY2FsbC5naXQucmV2LXBhcnNlLm9uLnBhcmVudC5kaXIucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiOTU3NzEzYTZjZmJjZDhhYzBlOTQ0MjBhZWRkY2YxYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzZTE2MGNjYTUwNGE1MzY3OWYyYjMyNTRmMzFjNTNhNGZiMzhhMDIxYmM1MGZlZDhlYjU3YTQzNmQzM2RmYTA3IgorCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIERFU1RESVI9JHtEfSBpbnN0YWxsCit9CisKK2luaGVyaXQgdXBkYXRlLWFsdGVybmF0aXZlcworCitBTFRFUk5BVElWRV8ke1BOfSA9ICJyZmtpbGwiCitBTFRFUk5BVElWRV9QUklPUklUWSA9ICI2MCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtyZmtpbGxdID0gIiR7c2JpbmRpcn0vcmZraWxsIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcnRvcnJlbnQvcnRvcnJlbnQvZG9uLXQtcnVuLWNvZGUtd2hpbGUtY29uZmlndXJpbmctcGFja2FnZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ydG9ycmVudC9ydG9ycmVudC9kb24tdC1ydW4tY29kZS13aGlsZS1jb25maWd1cmluZy1wYWNrYWdlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5ZDRmMjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcnRvcnJlbnQvcnRvcnJlbnQvZG9uLXQtcnVuLWNvZGUtd2hpbGUtY29uZmlndXJpbmctcGFja2FnZS5wYXRjaApAQCAtMCwwICsxLDk0IEBACitVc2luZyBBQ19SVU5fSUZFTFNFIHByZXZlbnQgcGVvcGxlIGZyb20gY29uZmlndXJpbmcgcGFja2FnZSBmb3IKK2Nyb3NzLWNvbXBpbGluZy4gRG9uJ3QgcnVuIGNvZGUgd2hpbGUgY29uZmlndXJpbmcgcGFja2FnZS4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWkgR2hlcnphbiA8YW5kcmVpQGdoZXJ6YW4ucm8+CisKK0luZGV4OiBsaWJ0b3JyZW50LTAuMTMuMy9zY3JpcHRzL2NoZWNrcy5tNAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGxpYnRvcnJlbnQtMC4xMy4zLm9yaWcvc2NyaXB0cy9jaGVja3MubTQJMjAxMi0wNS0xNCAxNDoxNzowNC4wMDAwMDAwMDAgKzAzMDAKKysrKyBsaWJ0b3JyZW50LTAuMTMuMy9zY3JpcHRzL2NoZWNrcy5tNAkyMDEzLTAyLTEwIDE1OjI4OjM3LjQxNDQ0NTUyNCArMDIwMAorQEAgLTk1LDQwICs5NSw2IEBACisKKyBBQ19ERUZVTihbVE9SUkVOVF9DSEVDS19LUVVFVUVfU09DS0VUX09OTFldLCBbCisgICBBQ19NU0dfQ0hFQ0tJTkcod2hldGhlciBrcXVldWUgc3VwcG9ydHMgcGlwZXMgYW5kIHB0eXMpCistCistICBBQ19SVU5fSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbCistICAgICAgI2luY2x1ZGUgPGZjbnRsLmg+CistICAgICAgI2luY2x1ZGUgPHN0ZGxpYi5oPgorLSAgICAgICNpbmNsdWRlIDx1bmlzdGQuaD4KKy0gICAgICAjaW5jbHVkZSA8c3lzL2V2ZW50Lmg+CistICAgICAgI2luY2x1ZGUgPHN5cy90aW1lLmg+CistICAgICAgaW50IG1haW4oKSB7CistICAgICAgICBzdHJ1Y3Qga2V2ZW50IGV2QDw6QDJAOj5ALCBldl9vdXRAPDpAMkA6PkA7CistICAgICAgICBzdHJ1Y3QgdGltZXNwZWMgdHMgPSB7IDAsIDAgfTsKKy0gICAgICAgIGludCBwZmRAPDpAMkA6PkAsIHB0eUA8OkAyQDo+QCwga2ZkLCBuOworLSAgICAgICAgY2hhciBidWZmZXJAPDpAOTAwMUA6PkA7CistICAgICAgICBpZiAocGlwZShwZmQpID09IC0xKSByZXR1cm4gMTsKKy0gICAgICAgIGlmIChmY250bChwZmRAPDpAMUA6PkAsIEZfU0VURkwsIE9fTk9OQkxPQ0spID09IC0xKSByZXR1cm4gMjsKKy0gICAgICAgIHdoaWxlICgobiA9IHdyaXRlKHBmZEA8OkAxQDo+QCwgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSkpID09IHNpemVvZihidWZmZXIpKTsKKy0gICAgICAgIGlmICgocHR5QDw6QDBAOj5APXBvc2l4X29wZW5wdChPX1JEV1IgfCBPX05PQ1RUWSkpID09IC0xKSByZXR1cm4gMzsKKy0gICAgICAgIGlmICgocHR5QDw6QDFAOj5APWdyYW50cHQocHR5QDw6QDBAOj5AKSkgPT0gLTEpIHJldHVybiA0OworLSAgICAgICAgRVZfU0VUKGV2KzAsIHBmZEA8OkAxQDo+QCwgRVZGSUxUX1dSSVRFLCBFVl9BREQgfCBFVl9FTkFCTEUsIDAsIDAsIE5VTEwpOworLSAgICAgICAgRVZfU0VUKGV2KzEsIHB0eUA8OkAxQDo+QCwgRVZGSUxUX1JFQUQsIEVWX0FERCB8IEVWX0VOQUJMRSwgMCwgMCwgTlVMTCk7CistICAgICAgICBpZiAoKGtmZCA9IGtxdWV1ZSgpKSA9PSAtMSkgcmV0dXJuIDU7CistICAgICAgICBpZiAoKG4gPSBrZXZlbnQoa2ZkLCBldiwgMiwgTlVMTCwgMCwgTlVMTCkpID09IC0xKSByZXR1cm4gNjsKKy0gICAgICAgIGlmIChldl9vdXRAPDpAMEA6PkAuZmxhZ3MgJiBFVl9FUlJPUikgcmV0dXJuIDc7CistICAgICAgICBpZiAoZXZfb3V0QDw6QDFAOj5ALmZsYWdzICYgRVZfRVJST1IpIHJldHVybiA4OworLSAgICAgICAgcmVhZChwZmRAPDpAMEA6PkAsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlcikpOworLSAgICAgICAgaWYgKChuID0ga2V2ZW50KGtmZCwgTlVMTCwgMCwgZXZfb3V0LCAyLCAmdHMpKSA8IDEpIHJldHVybiA5OworLSAgICAgICAgcmV0dXJuIDA7CistICAgICAgfQorLSAgICAgIF0pXSwKKy0gICAgWworLSAgICAgIEFDX01TR19SRVNVTFQoeWVzKQorLSAgICBdLCBbCistICAgICAgQUNfREVGSU5FKEtRVUVVRV9TT0NLRVRfT05MWSwgMSwga3F1ZXVlIG9ubHkgc3VwcG9ydHMgc29ja2V0cy4pCistICAgICAgQUNfTVNHX1JFU1VMVChubykKKy0gICAgXSkKKyBdKQorCisgQUNfREVGVU4oW1RPUlJFTlRfV0lUSF9LUVVFVUVdLCBbCitJbmRleDogbGlidG9ycmVudC0wLjEzLjMvc2NyaXB0cy9jb21tb24ubTQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsaWJ0b3JyZW50LTAuMTMuMy5vcmlnL3NjcmlwdHMvY29tbW9uLm00CTIwMTItMDUtMTQgMTQ6MTc6MDQuMDAwMDAwMDAwICswMzAwCisrKysgbGlidG9ycmVudC0wLjEzLjMvc2NyaXB0cy9jb21tb24ubTQJMjAxMy0wMi0xMCAxNToyNzo1NS44NzQ0NDY3NDEgKzAyMDAKK0BAIC0yMjIsMzggKzIyMiwxMCBAQAorCisgQUNfREVGVU4oW1RPUlJFTlRfQ0hFQ0tfRVhFQ0lORk9dLCBbCisgICBBQ19NU0dfQ0hFQ0tJTkcoZm9yIGV4ZWNpbmZvLmgpCistCistICBBQ19SVU5fSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbCistICAgICAgI2luY2x1ZGUgPGV4ZWNpbmZvLmg+CistICAgICAgaW50IG1haW4oKSB7IGJhY2t0cmFjZSgodm9pZCoqKTAsIDApOyBiYWNrdHJhY2Vfc3ltYm9scygoY2hhcioqKTAsIDApOyByZXR1cm4gMDt9CistICAgICAgXSldLAorLSAgICBbCistICAgICAgQUNfTVNHX1JFU1VMVCh5ZXMpCistICAgICAgQUNfREVGSU5FKFVTRV9FWEVDSU5GTywgMSwgVXNlIGV4ZWNpbmZvLmgpCistICAgIF0sIFsKKy0gICAgICBBQ19NU0dfUkVTVUxUKG5vKQorLSAgXSkKKyBdKQorCisgQUNfREVGVU4oW1RPUlJFTlRfQ0hFQ0tfQUxJR05FRF0sIFsKKyAgIEFDX01TR19DSEVDS0lORyh0aGUgYnl0ZSBhbGlnbm1lbnQpCistCistICBBQ19SVU5fSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbCistICAgICAgI2luY2x1ZGUgPGludHR5cGVzLmg+CistICAgICAgaW50IG1haW4oKSB7CistICAgICAgICBjaGFyIGJ1ZkA8OkA4QDo+QCA9IHsgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCB9OworLQlpbnQgaTsKKy0gICAgICAgIGZvciAoaSA9IDE7IGkgPCA0OyArK2kpCistCSAgaWYgKCoodWludDMyX3QqKShidWYgKyBpKSA9PSAwKSByZXR1cm4gLTE7CistCXJldHVybiAwOworLQl9CistICAgICAgXSldLAorLSAgICBbCistICAgICAgQUNfTVNHX1JFU1VMVChub25lIG5lZWRlZCkKKy0gICAgXSwgWworLSAgICAgIEFDX0RFRklORShVU0VfQUxJR05FRCwgMSwgUmVxdWlyZSBieXRlIGFsaWdubWVudCkKKy0gICAgICBBQ19NU0dfUkVTVUxUKHJlcXVpcmVkKQorLSAgXSkKKyBdKQorCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ydG9ycmVudC9ydG9ycmVudF8wLjkuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ydG9ycmVudC9ydG9ycmVudF8wLjkuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYjBhMzlhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3J0b3JyZW50L3J0b3JyZW50XzAuOS4zLmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiVG9ycmVudCBjbGllbnQiCitIT01FUEFHRSA9ICJodHRwOi8vbGlidG9ycmVudC5yYWtzaGFzYS5uby8iCitMSUNFTlNFID0gIkdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworREVQRU5EUyA9ICJsaWJzaWdjKystMi4wIGN1cmwgY3BwdW5pdCBsaWJ0b3JyZW50IG5jdXJzZXMiCisKK1NSQ19VUkkgPSAiaHR0cDovL2xpYnRvcnJlbnQucmFrc2hhc2Eubm8vZG93bmxvYWRzLyR7QlB9LnRhci5neiBcCisgICAgZmlsZTovL2Rvbi10LXJ1bi1jb2RlLXdoaWxlLWNvbmZpZ3VyaW5nLXBhY2thZ2UucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMGJmMmYyNjJmYWE4YzhjOGQzYjExY2UyODZlYTJiZjIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOWU5M2NhNDFiZWIxYWZlNzRhZDdhZDgwMTNlMGQ1M2FlMzU4NmM5YjBlOTcyNjNkNzIyZjcyMTUzNWNjNzMxMCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvc2VyMm5ldC9zZXIybmV0XzIuOS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NlcjJuZXQvc2VyMm5ldF8yLjkuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZmU2YTZmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NlcjJuZXQvc2VyMm5ldF8yLjkuMS5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIkEgc2VyaWFsIHRvIG5ldHdvcmsgcHJveHkiCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvc2VyMm5ldC8iCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iYWUzMDE5YjRjNmRjNDEzOGMyMTc4NjRiZDA0MzMxZiIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcHJvamVjdC9zZXIybmV0L3NlcjJuZXQvc2VyMm5ldC0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4MDAxMWFjMGU2MGJiZGNiNjVmMWQ3YTg2MjUxZTNmMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmZGVlMWU2OTkwM2NmNDA5YmRjNmYzMjQwM2E1NjZjYmM2MDA2YWE5ZTJhNGQ2ZjhmMTJiOTBkZmQ1Y2EwZDBlIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworQkJDTEFTU0VYVEVORCArPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zbXN0b29sczMvc21zdG9vbHMzL2ZpeC1tYWtlZmlsZS1vdmVycmlkZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zbXN0b29sczMvc21zdG9vbHMzL2ZpeC1tYWtlZmlsZS1vdmVycmlkZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMGExZDMzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Ntc3Rvb2xzMy9zbXN0b29sczMvZml4LW1ha2VmaWxlLW92ZXJyaWRlLnBhdGNoCkBAIC0wLDAgKzEsMjQgQEAKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2RlYmlhbl0KKworLS0tIGEvc3JjL01ha2VmaWxlCisrKysgYi9zcmMvTWFrZWZpbGUKK0BAIC0zNywxNiArMzcsMTUgQEAKKyAjIFVzZSB0aGUgZm9sbG93aW5nIG9ubHkgb24gR05VL0xpbnV4IGFuZCBvbmx5IGlmIHlvdSBuZWVkIHBzIGxpc3RpbmcgbGlrZSAic21zZDogTUFJTlBST0NFU1MiIGFuZCAic21zZDogR1NNMSIKKyAjIENGTEFHUyArPSAtRCBVU0VfTElOVVhfUFNfVFJJQ0sKKyAKKy1hbGw6IHNtc2QgCistCistc21zZDogc21zZC5jIGV4dHJhcy5vIGxvY2tpbmcubyBjZmdmaWxlLm8gbG9nZ2luZy5vIGFsYXJtLm8gc21zZF9jZmcubyBjaGFyc2V0Lm8gc3RhdHMubyBibGFja2xpc3QubyB3aGl0ZWxpc3QubyBtb2RlbWluaXQubyBwZHUubworLQorIGlmbmVxICgsJChmaW5kc3RyaW5nIFNPTEFSSVMsJChDRkxBR1MpKSkKKyBpZmVxICgsJChmaW5kc3RyaW5nIERJU0FCTEVfSU5FVF9TT0NLRVQsJChDRkxBR1MpKSkKKyBvdmVycmlkZSBMRkxBR1MgKz0gLWxzb2NrZXQgLWxuc2wKKyBlbmRpZgorIGVuZGlmCisgCisrYWxsOiBzbXNkIAorKworK3Ntc2Q6IHNtc2QuYyBleHRyYXMubyBsb2NraW5nLm8gY2ZnZmlsZS5vIGxvZ2dpbmcubyBhbGFybS5vIHNtc2RfY2ZnLm8gY2hhcnNldC5vIHN0YXRzLm8gYmxhY2tsaXN0Lm8gd2hpdGVsaXN0Lm8gbW9kZW1pbml0Lm8gcGR1Lm8KKyBpZm5lcSAoLCQoZmluZHN0cmluZyBOT1NUQVRTLCQoQ0ZMQUdTKSkpCisgCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCAkXiAkKExGTEFHUykKKyBlbHNlIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Ntc3Rvb2xzMy9zbXN0b29sczMvc21zX2JpbnBhdGhfYW5kX3Bzb3BzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Ntc3Rvb2xzMy9zbXN0b29sczMvc21zX2JpbnBhdGhfYW5kX3Bzb3BzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmY2FhMDkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvc21zdG9vbHMzL3Ntc3Rvb2xzMy9zbXNfYmlucGF0aF9hbmRfcHNvcHMucGF0Y2gKQEAgLTAsMCArMSwxOSBAQAorSW5kZXg6IHNtc3Rvb2xzMy9zY3JpcHRzL3NtczMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBzbXN0b29sczMub3JpZy9zY3JpcHRzL3NtczMJMjAxMC0wNS0wNCAxMToyMTo0NC4wMDAwMDAwMDAgKzAyMDAKKysrKyBzbXN0b29sczMvc2NyaXB0cy9zbXMzCTIwMTUtMDItMjIgMjA6MDU6NTEuNjE1MDc0NDY5ICswMTAwCitAQCAtMjQsMTEgKzI0LDExIEBACisgIyBMb2dmaWxlIGNhbiBhbHNvIGJlIGRlZmluZWQgaW4gaGVyZToKKyBMT0dGSUxFPSIvdmFyL2xvZy9zbXNkLmxvZyIKKyAKKy1EQUVNT049L3Vzci9sb2NhbC9iaW4vc21zZAorK0RBRU1PTj0vdXNyL2Jpbi9zbXNkCisgIyBBIHByb2dyYW0gd2hpY2ggdHVybnMgcG93ZXIgb2ZmIGZvciBjb3VwbGUgb2Ygc2Vjb25kczoKKy1SRVNFVE1PREVNUz0vdXNyL2xvY2FsL2Jpbi9zbXNkX3Jlc2V0bW9kZW1zCisrUkVTRVRNT0RFTVM9L3Vzci9iaW4vc21zZF9yZXNldG1vZGVtcworIE5BTUU9c21zZAorLVBTT1BUPSItZSIKKytQU09QVD0iIgorIEVDSE89ZWNobworIGNhc2UgYHVuYW1lYCBpbgorICAgKkJTRHxEYXJ3aW4pCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvc21zdG9vbHMzL3Ntc3Rvb2xzM18zLjEuMTUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvc21zdG9vbHMzL3Ntc3Rvb2xzM18zLjEuMTUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTVhZGVjZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zbXN0b29sczMvc21zdG9vbHMzXzMuMS4xNS5iYgpAQCAtMCwwICsxLDQ2IEBACitTVU1NQVJZID0gIlNNUyBHYXRld2F5IHNvZnR3YXJlIgorREVTQ1JJUFRJT04gPSAiVGhlIFNNUyBTZXJ2ZXIgVG9vbHMgMyBpcyBhIFNNUyBHYXRld2F5IHNvZnR3YXJlIHdoaWNoIGNhbiBzZW5kIGFuZCByZWNlaXZlIHNob3J0IG1lc3NhZ2VzIHRocm91Z2ggR1NNIG1vZGVtcyBhbmQgbW9iaWxlIHBob25lcy4iCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT00ZDIxZWZhMWJiMmExODYzNjBkZGU0MDM1Zjg2MDY4MiIKK0hPTUVQQUdFID0gImh0dHA6Ly9zbXN0b29sczMua2VrZWthc3ZpLmNvbSIKKworU1JDX1VSSSA9ICJodHRwOi8vc21zdG9vbHMzLmtla2VrYXN2aS5jb20vcGFja2FnZXMvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3Ntc19iaW5wYXRoX2FuZF9wc29wcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtbWFrZWZpbGUtb3ZlcnJpZGUucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwMjQxZWY2MGU2NDZmYWMxYTA2MjU0YTg0OGU2MWVkNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlZDAwZmZhZWFhMzEyYTViNGY5NjlmNGU5N2E2NDYwM2E4NjZiYmUxNmUzOTNlYTAyZjViZjA1MjM0ODE0ZDU5IgorCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0iCisKK1JERVBFTkRTXyR7UE59ID0gImJhc2giCitJTklUU0NSSVBUX05BTUUgPSAic21zMyIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIgorCitpbmhlcml0IHVwZGF0ZS1yYy5kCisKK2RvX2luc3RhbGwgKCkgeworCQorCWluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQkKKwlpbnN0YWxsIC1tIDc1NSAke1N9L3NyYy9zbXNkICIke0R9JHtiaW5kaXJ9L3Ntc2QiCisJCisJaW5zdGFsbCAtbSA3NTUgJHtTfS9zY3JpcHRzL3NlbmRzbXMgIiR7RH0ke2JpbmRpcn0vc2VuZHNtcyIKKwlpbnN0YWxsIC1tIDc1NSAke1N9L3NjcmlwdHMvc21zMmh0bWwgIiR7RH0ke2JpbmRpcn0vc21zMmh0bWwiCisJaW5zdGFsbCAtbSA3NTUgJHtTfS9zY3JpcHRzL3NtczJ1bmljb2RlICIke0R9JHtiaW5kaXJ9L3NtczJ1bmljb2RlIiAKKwlpbnN0YWxsIC1tIDc1NSAke1N9L3NjcmlwdHMvdW5pY29kZTJzbXMgIiR7RH0ke2JpbmRpcn0vdW5pY29kZTJzbXMiCisKKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9CQorCWluc3RhbGwgLW0gNjQ0ICR7U30vZXhhbXBsZXMvc21zZC5jb25mLmVhc3kgIiR7RH0ke3N5c2NvbmZkaXJ9L3Ntc2QuY29uZiIKKworCWluc3RhbGwgLWQgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3Nwb29sIgorCWluc3RhbGwgLWQgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3Nwb29sL3NtcyIKKwlpbnN0YWxsIC1kICIke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9zbXMvaW5jb21pbmciCisJaW5zdGFsbCAtZCAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvc21zL291dGdvaW5nIgorCWluc3RhbGwgLWQgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3Nwb29sL3Ntcy9jaGVja2VkIgorCisJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKwlpbnN0YWxsIC1tIDc1NSAke1N9L3NjcmlwdHMvc21zMyAiJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kLyR7SU5JVFNDUklQVF9OQU1FfSIKKworfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NvZnQ2Ni9maWxlcy9maXgtYXIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvc29mdDY2L2ZpbGVzL2ZpeC1hci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZjFmZmRmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NvZnQ2Ni9maWxlcy9maXgtYXIucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorLS0tCisgY29uZmlndXJlLmFjIHwgICAgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKKy0tLSBnaXQub3JpZy9jb25maWd1cmUuYWMKKysrKyBnaXQvY29uZmlndXJlLmFjCitAQCAtNyw1ICs3LDYgQEAgQUNfUFJPR19DQworIEFDX0NPTkZJR19IRUFERVJTKFtjb25maWcuaF0pCisgQUNfQ09ORklHX0ZJTEVTKFtNYWtlZmlsZSBsaWIvTWFrZWZpbGUgdG9vbHMvTWFrZWZpbGVdKQorIFBLR19DSEVDS19NT0RVTEVTKFtGVERJXSwgW2xpYmZ0ZGkgPj0gMC4xM10pCisgQUNfT1VUUFVUCisgQU1fUFJPR19DQ19DX08KKytBTV9QUk9HX0FSCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvc29mdDY2L3NvZnQ2Nl9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvc29mdDY2L3NvZnQ2Nl9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjY0OTUyNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zb2Z0NjYvc29mdDY2X2dpdC5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIkxpYnJhcnkgYW5kIHRvb2xzIGZvciBTb2Z0NjZBREQgYW5kIHJlbGF0ZWQgU0RSIHJhZGlvIHJlY2VpdmVycyIKK0xJQ0VOU0UgPSAiR1BMdjMgJiBMR1BMdjMrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZjI3ZGVmZTFlOTZjMmUxZWNkNGUwYzliZTg5Njc5NDkgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MRVNTRVI7bWQ1PWU2YTYwMGZkNWUxZDljYmRlMmQ5ODM2ODAyMzNhZDAyICIKKworUE5CTEFDS0xJU1Rbc29mdDY2XSA/PSAiQlJPS0VOOiBkZXBlbmRzIG9uIGJyb2tlbiBsaWJmdGRpIgorCitERVBFTkRTID0gImxpYmZ0ZGkiCisKK1BWID0gIjAuMS4zK2dpdHIke1NSQ1BWfSIKK1BSID0gInIxIgorCitTUkNSRVYgPSAiYTFkYWIyNWU3Mzg5NmM5MGM5ODIyN2FjODA1NWYyMjdiODMwZDUxMiIKK1NSQ19VUkkgPSAiZ2l0Oi8vaG9tZS5ob3JzdGVuLmNvbS9zb2Z0NjYgXAorZmlsZTovL2ZpeC1hci5wYXRjaCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvbGlidGVsZXBhdGh5L2RvdWJsZWZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvbGlidGVsZXBhdGh5L2RvdWJsZWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNzczN2ZiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3RlbGVwYXRoeS9saWJ0ZWxlcGF0aHkvZG91YmxlZml4LnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKK0ZpeCBkb3VibGUgcmVmZXJlbmNlIHRvIHRoaXMgZmlsZSB0byB3b3JrIHdpdGggcmVjZW50IGF1dG9jb25mK2F1dG9tYWtlCisKK1JQIDEvMi8xMAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK0luZGV4OiBsaWJ0ZWxlcGF0aHktMC4zLjMvc3JjL01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGlidGVsZXBhdGh5LTAuMy4zLm9yaWcvc3JjL01ha2VmaWxlLmFtCTIwMTAtMDItMDEgMTM6MTM6NTAuODY5MDM4OTg0ICswMDAwCisrKysgbGlidGVsZXBhdGh5LTAuMy4zL3NyYy9NYWtlZmlsZS5hbQkyMDEwLTAyLTAxIDEzOjE0OjIzLjI2Nzc4OTQ1NiArMDAwMAorQEAgLTI3LDcgKzI3LDYgQEAKKyAgICAgdHAtY2hhbi10eXBlLXRleHQtZ2VuLmggXAorICAgICB0cC1jaGFuLXR5cGUtdHViZXMtZ2VuLmggXAorICAgICB0cC1jb25uLWlmYWNlLWFsaWFzaW5nLWdlbi5oIFwKKy0gICAgdHAtY29ubi1pZmFjZS1hdmF0YXJzLWdlbi5oIFwKKyAgICAgdHAtY29ubi1pZmFjZS1jYXBhYmlsaXRpZXMtZ2VuLmggXAorICAgICB0cC1jb25uLWlmYWNlLWNvbnRhY3QtaW5mby1nZW4uaCBcCisgICAgIHRwLWNvbm4taWZhY2UtZm9yd2FyZGluZy1nZW4uaCBcCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvdGVsZXBhdGh5L2xpYnRlbGVwYXRoeS9wcmVmZXJfcHl0aG9uXzIuNS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvbGlidGVsZXBhdGh5L3ByZWZlcl9weXRob25fMi41LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3Njc5YWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvdGVsZXBhdGh5L2xpYnRlbGVwYXRoeS9wcmVmZXJfcHl0aG9uXzIuNS5wYXRjaApAQCAtMCwwICsxLDE1IEBACitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK0luZGV4OiBsaWJ0ZWxlcGF0aHktMC4zLjEvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGlidGVsZXBhdGh5LTAuMy4xLm9yaWcvY29uZmlndXJlLmFjCTIwMDctMTEtMjIgMTk6MDU6NTYuMDAwMDAwMDAwICswMDAwCisrKysgbGlidGVsZXBhdGh5LTAuMy4xL2NvbmZpZ3VyZS5hYwkyMDA4LTAxLTA0IDEyOjA3OjI4LjAwMDAwMDAwMCArMDAwMAorQEAgLTUxLDcgKzUxLDcgQEAKKyAgIEFDX01TR19FUlJPUihbeHNsdHByb2MgKGZyb20gdGhlIGxpYnhzbHQgc291cmNlIHBhY2thZ2UpIGlzIHJlcXVpcmVkXSkKKyBmaQorIAorLUFDX0NIRUNLX1BST0dTKFtQWVRIT05dLCBbcHl0aG9uMi4zIHB5dGhvbjIuNCBweXRob24yLjUgcHl0aG9uXSkKKytBQ19DSEVDS19QUk9HUyhbUFlUSE9OXSwgW3B5dGhvbjIuNSBweXRob24yLjQgcHl0aG9uMi4zIHB5dGhvbl0pCisgaWYgdGVzdCAteiAiJFBZVEhPTiI7IHRoZW4KKyAgIEFDX01TR19FUlJPUihbUHl0aG9uIGlzIHJlcXVpcmVkIHRvIGNvbXBpbGUgdGhpcyBwYWNrYWdlXSkKKyBmaQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3RlbGVwYXRoeS9saWJ0ZWxlcGF0aHlfMC4zLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvdGVsZXBhdGh5L2xpYnRlbGVwYXRoeV8wLjMuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTNlNzA5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3RlbGVwYXRoeS9saWJ0ZWxlcGF0aHlfMC4zLjMuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJUZWxlcGF0aHkgZnJhbWV3b3JrIgorREVTQ1JJUFRJT04gPSAiVGVsZXBhdGh5IGlzIGEgRC1CdXMgZnJhbWV3b3JrIGZvciB1bmlmeWluZyByZWFsIHRpbWUgXAorY29tbXVuaWNhdGlvbiwgaW5jbHVkaW5nIGluc3RhbnQgbWVzc2FnaW5nLCB2b2ljZSBjYWxscyBhbmQgdmlkZW8gY2FsbHMuICBJdCBcCithYnN0cmFjdHMgZGlmZmVyZW5jZXMgYmV0d2VlbiBwcm90b2NvbHMgdG8gcHJvdmlkZSBhIHVuaWZpZWQgaW50ZXJmYWNlIGZvciBcCithcHBsaWNhdGlvbnMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3RlbGVwYXRoeS5mcmVlZGVza3RvcC5vcmcvd2lraS8iCitERVBFTkRTID0gImdsaWItMi4wIGRidXMgZGJ1cy1nbGliIHRlbGVwYXRoeS1nbGliIGxpYnhzbHQtbmF0aXZlIgorTElDRU5TRSA9ICJMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hNmY4OWUyMTAwZDliNmNkZmZjZWE0ZjM5OGUzNzM0MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvdHAtY29ubi5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MTk7bWQ1PTRjNTgwNjlmNzdkNjAxY2M1OTIwMGJjZTUzOTZjN2NiIgorUFIgPSAicjUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3RlbGVwYXRoeS5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvbGlidGVsZXBhdGh5L2xpYnRlbGVwYXRoeS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vcHJlZmVyX3B5dGhvbl8yLjUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZG91YmxlZml4LnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDkwY2ExYTBjNjE0ZDQ0NjYzOTRiNzJkNDNiZjczNzAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTBkMjMwYmU4NTUxMjUxNjM1Nzk3NDM0MTgyMDNjNmY2YmUyZjEwZjk4YzRmMDY1NzM1YzFkYzllZDExNTg3OCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHB5dGhvbm5hdGl2ZQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS90ZWxlcGF0aHkgXAorCQkke2RhdGFkaXJ9L2RidXMtMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvdGVsZXBhdGh5LWdsaWJfMC4yNC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3RlbGVwYXRoeS90ZWxlcGF0aHktZ2xpYl8wLjI0LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDFjNmUzNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvdGVsZXBhdGh5LWdsaWJfMC4yNC4wLmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiVGVsZXBhdGh5IEZyYW1ld29yayBnbGliLWJhc2UgaGVscGVyIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJUZWxlcGF0aHkgRnJhbWV3b3JrOiBHTGliLWJhc2VkIGhlbHBlciBsaWJyYXJ5IGZvciBjb25uZWN0aW9uIG1hbmFnZXJzIgorSE9NRVBBR0UgPSAiaHR0cDovL3RlbGVwYXRoeS5mcmVlZGVza3RvcC5vcmcvd2lraS8iCitERVBFTkRTID0gImdsaWItMi4wIGRidXMgaG9zdHB5dGhvbi1ydW50aW1lLW5hdGl2ZSBkYnVzLW5hdGl2ZSBkYnVzLWdsaWIgbGlieHNsdC1uYXRpdmUiCitMSUNFTlNFID0gIkxHUEx2Mi4xKyIKKworU1JDX1VSSSA9ICJodHRwOi8vdGVsZXBhdGh5LmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy90ZWxlcGF0aHktZ2xpYi8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiOTNjNDI5ZTM3NzUwYjI1ZGNmOGRlODZiYjUxNDY2NGYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWUwMDAyMTM0OTkxMjE3ZjQyZTUwM2M0M2RlYTc4MTc4NTNhZmMxODg2M2I5MTM3NDRkNTFmZmEwMjk4MThjZiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTQxM2Q4M2RiNmVlOGYyYzhlNjA1NTcxOTA5NmE0OGUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0IGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS90ZWxlcGF0aHkgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3RlbGVwYXRoeS90ZWxlcGF0aHktaWRsZS9maXgtc3ZjLWd0ay1kb2MuaC10YXJnZXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvdGVsZXBhdGh5L3RlbGVwYXRoeS1pZGxlL2ZpeC1zdmMtZ3RrLWRvYy5oLXRhcmdldC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2QyYzc4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3RlbGVwYXRoeS90ZWxlcGF0aHktaWRsZS9maXgtc3ZjLWd0ay1kb2MuaC10YXJnZXQucGF0Y2gKQEAgLTAsMCArMSwxNSBAQAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IENvbnN0YW50aW4gTXVzY2EgPGNvbnN0YW50aW54Lm11c2NhQGludGVsLmNvbT4KKy0tLSBhL2V4dGVuc2lvbnMvTWFrZWZpbGUuYW0KKysrKyBiL2V4dGVuc2lvbnMvTWFrZWZpbGUuYW0KK0BAIC0zNyw4ICszNyw4IEBAIF9nZW4vYWxsLnhtbDogYWxsLnhtbCAkKHdpbGRjYXJkICQoc3JjZGkKKyAJCS0teGluY2x1ZGUgJCh0b29sc19kaXIpL2lkZW50aXR5LnhzbCBcCisgCQkkPCA+ICRACisgCistZXh0ZW5zaW9ucy5odG1sOiBfZ2VuL2FsbC54bWwgJCh0b29sc19kaXIpL2RvYy1nZW5lcmF0b3IueHNsCisrZXh0ZW5zaW9ucy5odG1sIF9nZW4vc3ZjLWd0ay1kb2MuaDogX2dlbi9hbGwueG1sICQodG9vbHNfZGlyKS9kb2MtZ2VuZXJhdG9yLnhzbAorIAkkKEFNX1ZfR0VOKSQoWFNMVFBST0MpICQoWFNMVFBST0NGTEFHUykgXAorIAkJJCh0b29sc19kaXIpL2RvYy1nZW5lcmF0b3IueHNsIFwKKyAJCSQ8ID4gJEAKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvdGVsZXBhdGh5LWlkbGVfMC4yLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvdGVsZXBhdGh5L3RlbGVwYXRoeS1pZGxlXzAuMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhMDlmNmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvdGVsZXBhdGh5L3RlbGVwYXRoeS1pZGxlXzAuMi4wLmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiVGVsZXBhdGh5IElSQyBjb25uZWN0aW9uIG1hbmFnZXIiCitERVNDUklQVElPTiA9ICJUZWxlcGF0aHkgaW1wbGVtZW50YXRpb24gb2YgdGhlIEludGVybmV0IFJlbGF5IENoYXQgcHJvdG9jb2xzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly90ZWxlcGF0aHkuZnJlZWRlc2t0b3Aub3JnL3dpa2kvIgorREVQRU5EUyA9ICJnbGliLTIuMCBkYnVzIHRlbGVwYXRoeS1nbGliIG9wZW5zc2wgbGlieHNsdC1uYXRpdmUiCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2lkbGUuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTE5O21kNT1iMDZiMWUyNTk0NDIzMTExYTFhNzkxMGIwZWVmYzdmOSIKKworU1JDX1VSSSA9ICJodHRwOi8vdGVsZXBhdGh5LmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtc3ZjLWd0ay1kb2MuaC10YXJnZXQucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiOTJhMmRlNTE5ODI4NGNiZDNjNDMwYjBkMWE5NzFhODYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzAxM2FkNGIzOGQxNGVlNjMwYjhjYzhhZGE1ZTk1Y2NhYTg0OWI5YTZmZTE1ZDJlYWY2ZDA3MTdkNzZmMmZhYiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHB5dGhvbm5hdGl2ZQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS90ZWxlcGF0aHkgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3RlbGVwYXRoeS90ZWxlcGF0aHktbWlzc2lvbi1jb250cm9sL3RtYy1NYWtlZmlsZS1maXgtcmFjZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvdGVsZXBhdGh5LW1pc3Npb24tY29udHJvbC90bWMtTWFrZWZpbGUtZml4LXJhY2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWNlMWRhNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvdGVsZXBhdGh5LW1pc3Npb24tY29udHJvbC90bWMtTWFrZWZpbGUtZml4LXJhY2UucGF0Y2gKQEAgLTAsMCArMSw3NiBAQAorRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBTdW4sIDIyIFNlcCAyMDEzIDIzOjIxOjAxIC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIHNyYy9NYWtlZmlsZS5hbTogZml4IHJhY2UgaXNzdWUgZm9yIF9nZW4vZ3R5cGVzLmggYW5kIF9nZW4vZ3R5cGVzLWJvZHkuaAorCitUaGVyZSBtaWdodCBiZSBhbiBlcnJvciB3aGVuIHBhcmFsbGVsIGJ1aWxkOgorCitbc25pcF0KK1RyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKyAgRmlsZSAiL3BhdGgvdG8vdG9vbHMvZ2xpYi1ndHlwZXMtZ2VuZXJhdG9yLnB5IiwgbGluZSAzMDQsIGluIDxtb2R1bGU+CisgICAgR1R5cGVzR2VuZXJhdG9yKGRvbSwgYXJndlsxXSwgYXJndlsyXSkoKQorICBGaWxlICIvcGF0aC90by90b29scy9nbGliLWd0eXBlcy1nZW5lcmF0b3IucHkiLCBsaW5lIDI5NSwgaW4gX19jYWxsX18KKyAgICBmaWxlX3NldF9jb250ZW50cyhzZWxmLm91dHB1dCArICcuaCcsICcnLmpvaW4oc2VsZi5oZWFkZXIpKQorICBGaWxlICIvcGF0aC90by90b29scy9saWJ0cGNvZGVnZW4ucHkiLCBsaW5lIDQyLCBpbiBmaWxlX3NldF9jb250ZW50cworICAgIG9zLnJlbmFtZShmaWxlbmFtZSArICcudG1wJywgZmlsZW5hbWUpCitPU0Vycm9yOiBbRXJybm8gMl0gTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQorW3NuaXBdCisKK1RoaXMgaXMgYSByYWNlIGlzc3VlLCB0aGUgX2dlbi9ndHlwZXMuaCBhbmQgX2dlbi9ndHlwZXMtYm9keS5oIG1heQord3JpdGUocmVtb3ZlL3JlbmFtZSkgX2dlbi9ndHlwZXMudG1wIGF0IHRoZSBzYW1lIHRpbWUsIHRoZW4gdGhlcmUgd291bGQKK2JlIHRoZSBlcnJvci4KKworVGhlcmUgd2FzIGEgc2ltaWxhciBidWcgaW4gdGVsZXBhdGh5LWdsaWIgd2hpY2ggd2FzIGFscmVhZHkgZml4ZWQsIHdlIHVzZSB0aGUKK3NpbWlsYXIgcGF0Y2ggdG8gZml4IGl0LgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvTWFrZWZpbGUuYW0gfCAgIDE4ICsrKysrKysrKysrKysrKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL01ha2VmaWxlLmFtIGIvc3JjL01ha2VmaWxlLmFtCistLS0gYS9zcmMvTWFrZWZpbGUuYW0KKysrKyBiL3NyYy9NYWtlZmlsZS5hbQorQEAgLTI4OCw3ICsyODgsMTEgQEAgX2dlbi9pbnRlcmZhY2VzLWJvZHkuaDogX2dlbi9tY2QueG1sIFwKKyAJCSQodG9vbHNfZGlyKS9nbGliLWludGVyZmFjZXMtYm9keS1nZW5lcmF0b3IueHNsIFwKKyAJCSQ8ID4gJEAKKyAKKy1fZ2VuL2d0eXBlcy5oIF9nZW4vZ3R5cGVzLWJvZHkuaDogX2dlbi9tY2QueG1sIFwKKysjIGRvIG5vdGhpbmcsIG91dHB1dCBhcyBhIHNpZGUtZWZmZWN0CisrX2dlbi9ndHlwZXMuaDogX2dlbi9ndHlwZXMtYm9keS5oCisrCUA6CisrCisrX2dlbi9ndHlwZXMtYm9keS5oOiBfZ2VuL21jZC54bWwgXAorIAkkKHRvcF9zcmNkaXIpL3Rvb2xzL2dsaWItZ3R5cGVzLWdlbmVyYXRvci5weQorIAkkKEFNX1ZfR0VOKSQoUFlUSE9OKSAkKHRvcF9zcmNkaXIpL3Rvb2xzL2dsaWItZ3R5cGVzLWdlbmVyYXRvci5weSBcCisgCQkkPCBfZ2VuL2d0eXBlcyBtYworQEAgLTMwOSw3ICszMTMsMTEgQEAgX2dlbi8lLnhtbDogJS54bWwgJCh3aWxkY2FyZCAkKHRvcF9zcmNkaXIpL3htbC8qLnhtbCkgTWFrZWZpbGUuYW0KKyAJJChBTV9WX0dFTikkKFhTTFRQUk9DKSAkKFhTTFRQUk9DRkxBR1MpIC0teGluY2x1ZGUgJCh0b29sc19kaXIpL2lkZW50aXR5LnhzbCBcCisgCQkkPCA+ICRACisgCistX2dlbi9jbGktJS1ib2R5LmggX2dlbi9jbGktJS5oOiBfZ2VuLyUueG1sIFwKKysjIGRvIG5vdGhpbmcsIG91dHB1dCBhcyBhIHNpZGUtZWZmZWN0CisrX2dlbi9jbGktJS5oOiBfZ2VuL2NsaS0lLWJvZHkuaAorKwlAOgorKworK19nZW4vY2xpLSUtYm9keS5oOiBfZ2VuLyUueG1sIFwKKyAJJCh0b29sc19kaXIpL2dsaWItY2xpZW50LWdlbi5weSBNYWtlZmlsZS5hbQorIAkkKEFNX1ZfR0VOKSQoUFlUSE9OKSAkKHRvb2xzX2RpcikvZ2xpYi1jbGllbnQtZ2VuLnB5IFwKKyAJCS0tZ3JvdXA9YGVjaG8gJCogfCB0ciB4LSB4X2AgXAorQEAgLTMxNyw3ICszMjUsMTEgQEAgX2dlbi9jbGktJS1ib2R5LmggX2dlbi9jbGktJS5oOiBfZ2VuLyUueG1sIFwKKyAJCS0tdHAtcHJveHktYXBpPTAuNy42IFwKKyAJCSQ8IE1jX0NsaSBfZ2VuL2NsaS0kKgorIAorLV9nZW4vc3ZjLSUuYyBfZ2VuL3N2Yy0lLmg6IF9nZW4vJS54bWwgXAorKyMgZG8gbm90aGluZywgb3V0cHV0IGFzIGEgc2lkZS1lZmZlY3QKKytfZ2VuL3N2Yy0lLmg6IF9nZW4vc3ZjLSUuYworKwlAOgorKworK19nZW4vc3ZjLSUuYzogX2dlbi8lLnhtbCBcCisgCSQodG9vbHNfZGlyKS9nbGliLWdpbnRlcmZhY2UtZ2VuLnB5IE1ha2VmaWxlLmFtCisgCSQoQU1fVl9HRU4pJChQWVRIT04pICQodG9vbHNfZGlyKS9nbGliLWdpbnRlcmZhY2UtZ2VuLnB5IFwKKyAJCS0tZmlsZW5hbWU9X2dlbi9zdmMtJCogXAorLS0gCisxLjcuMTAuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvdGVsZXBhdGh5L3RlbGVwYXRoeS1taXNzaW9uLWNvbnRyb2xfNS4xNi4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3RlbGVwYXRoeS90ZWxlcGF0aHktbWlzc2lvbi1jb250cm9sXzUuMTYuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YWU2OGRkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3RlbGVwYXRoeS90ZWxlcGF0aHktbWlzc2lvbi1jb250cm9sXzUuMTYuMS5iYgpAQCAtMCwwICsxLDUxIEBACitTVU1NQVJZID0gIkNlbnRyYWwgY29udHJvbCBmb3IgVGVsZXBhdGh5IElNIGNvbm5lY3Rpb24gbWFuYWdlcnMiCitIT01FUEFHRSA9ICJodHRwOi8vdGVsZXBhdGh5LmZyZWVkZXNrdG9wLm9yZy93aWtpL01pc3Npb25fQ29udHJvbC8iCitMSUNFTlNFID0gIkxHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQ4MDQ1ZjNiOGY5MjljMWNiMjlhMWUzZmQ3MzdiNDk5IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9yZXF1ZXN0Lmg7YmVnaW5saW5lPTE7ZW5kbGluZT0yMTttZDU9ZjgwNTM0ZDlhZjFjMzMyOTFiM2I3OTYwOWYxOTZlYjIiCitTRUNUSU9OID0gImxpYnMiCitERVBFTkRTID0gImxpYnRlbGVwYXRoeSBkYnVzLWdsaWIgZ2NvbmYgbGlieHNsdC1uYXRpdmUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3RlbGVwYXRoeS5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvdGVsZXBhdGh5LW1pc3Npb24tY29udHJvbC8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vdG1jLU1ha2VmaWxlLWZpeC1yYWNlLnBhdGNoIFwKKyAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiNDIxMTE1YTM1YjllNDI3ODA3MzI2ODc3Zjg2ZTdmNDMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTRjZWI3ZDUzNTM1YjQzZDQ0YjgyNzFhZDExMzE5ZDFkMGZlNmQxOTNkMTU0NjM2YjllNjJiNDI3OTliOTcyMyIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZyBweXRob25uYXRpdmUKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbdXBvd2VyXSA9ICItLWVuYWJsZS11cG93ZXIsLS1kaXNhYmxlLXVwb3dlcix1cG93ZXIiCisKKyMgdG8gc2VsZWN0IGNvbm5tYW4gb3Igbm0geW91IG5lZWQgdG8gdXNlICJjb25uZWN0aXZpdHkiIGFuZCAiY29ubm1hbiIgb3IgIm5tIiwgZGVmYXVsdCBpcyB0byBkaXNhYmxlIGJvdGgKK1BBQ0tBR0VDT05GSUdbY29ubmVjdGl2aXR5XSA9ICIsLS13aXRoLWNvbm5lY3Rpdml0eT1ubyIKK1BBQ0tBR0VDT05GSUdbY29ubm1hbl0gPSAiLS13aXRoLWNvbm5lY3Rpdml0eT1jb25ubWFuLCxjb25ubWFuIgorUEFDS0FHRUNPTkZJR1tubV0gPSAiLS13aXRoLWNvbm5lY3Rpdml0eT1ubSwsbmV0d29ya21hbmFnZXIiCisKK1BBQ0tBR0VTID0rICIgXAorCWxpYm1pc3Npb25jb250cm9sIFwKKwlsaWJtaXNzaW9uY29udHJvbC1jb25maWcgXAorCWxpYm1pc3Npb25jb250cm9sLXNlcnZlciBcCisJbGlibWlzc2lvbmNvbnRyb2wtZGV2IFwKKwlsaWJtaXNzaW9uY29udHJvbC1jb25maWctZGV2IFwKKwlsaWJtaXNzaW9uY29udHJvbC1zZXJ2ZXItZGV2IFwKKwlsaWJtaXNzaW9uY29udHJvbC1kYmcgXAorCWxpYm1pc3Npb25jb250cm9sLWNvbmZpZy1kYmcgXAorCWxpYm1pc3Npb25jb250cm9sLXNlcnZlci1kYmcgXAorIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9kYnVzKiAke2RhdGFkaXJ9L2dsaWItMi4wL3NjaGVtYXMiCisKK0ZJTEVTX2xpYm1pc3Npb25jb250cm9sID0gIiR7bGliZGlyfS9saWJtaXNzaW9uY29udHJvbC5zby4qIgorRklMRVNfbGlibWlzc2lvbmNvbnRyb2wtY29uZmlnID0gIiR7bGliZGlyfS9saWJtaXNzaW9uY29udHJvbC1jb25maWcuc28uKiIKK0ZJTEVTX2xpYm1pc3Npb25jb250cm9sLXNlcnZlciA9ICIke2xpYmRpcn0vbGlibWlzc2lvbmNvbnRyb2wtc2VydmVyLnNvLioiCisKK0ZJTEVTX2xpYm1pc3Npb25jb250cm9sLWRldiA9ICIke2xpYmRpcn0vbGlibWlzc2lvbmNvbnRyb2wuKiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtpbmNsdWRlZGlyfS9saWJtaXNzaW9uY29udHJvbC8gXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wa2djb25maWcvbGlibWlzc2lvbmNvbnRyb2wucGMiCitGSUxFU19saWJtaXNzaW9uY29udHJvbC1jb25maWctZGV2ID0gIiR7bGliZGlyfS9saWJtaXNzaW9uY29udHJvbC1jb25maWcuKiIKK0ZJTEVTX2xpYm1pc3Npb25jb250cm9sLXNlcnZlci1kZXYgPSAiJHtsaWJkaXJ9L2xpYm1pc3Npb25jb250cm9sLXNlcnZlci4qIgorCitGSUxFU19saWJtaXNzaW9uY29udHJvbC1kYmcgPSAiJHtsaWJkaXJ9Ly5kZWJ1Zy9saWJtaXNzaW9uY29udHJvbC5zby4qIgorRklMRVNfbGlibWlzc2lvbmNvbnRyb2wtY29uZmlnLWRiZyA9ICIke2xpYmRpcn0vLmRlYnVnL2xpYm1pc3Npb25jb250cm9sLWNvbmZpZy5zby4qIgorRklMRVNfbGlibWlzc2lvbmNvbnRyb2wtc2VydmVyLWRiZyA9ICIke2xpYmRpcn0vLmRlYnVnL2xpYm1pc3Npb25jb250cm9sLXNlcnZlci5zby4qIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3RlbGVwYXRoeS90ZWxlcGF0aHktcHl0aG9uLTAuMTUuMTkvcGFyYWxsZWxfbWFrZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvdGVsZXBhdGh5LXB5dGhvbi0wLjE1LjE5L3BhcmFsbGVsX21ha2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjQ4ODI0NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvdGVsZXBhdGh5LXB5dGhvbi0wLjE1LjE5L3BhcmFsbGVsX21ha2UucGF0Y2gKQEAgLTAsMCArMSw0MyBAQAorQWRkIGRlcGVuZGVuY3kgb2YgX19pbml0X18ucHkKKworVGFza3MgbXVzdCBiZSBkb25lIGFmdGVyIGV4ZWMgb2YgX19pbml0X18sIHdoaWNoIGNyZWF0ZXMgdGhlCitzcmMvX2dlbmVyYXRlZCBkaXJlY3RvcnkgdGhhdCB0YXNrcyBhcmUgYmFzZWQgb24uCisKK1NpZ25lZC1vZmYtYnk6IERvbmd4aWFvIFh1IDxkb25neGlhby54dUBpbnRlbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkCisoSG93ZXZlciBpdCBzZWVtcyB0aGF0IHRoaXMgcHJvamVjdCBpcyBvdXQgb2YgbWFpbnRhbmVuY2UuKQorCitkaWZmIC1ydU4gdGVsZXBhdGh5LXB5dGhvbi0wLjE1LjE5LW9yaWcvc3JjL01ha2VmaWxlLmFtIHRlbGVwYXRoeS1weXRob24tMC4xNS4xOS9zcmMvTWFrZWZpbGUuYW0KKy0tLSB0ZWxlcGF0aHktcHl0aG9uLTAuMTUuMTktb3JpZy9zcmMvTWFrZWZpbGUuYW0JMjAxMS0wMy0xMCAwODo1MTo0OS4wMDAwMDAwMDAgKzA4MDAKKysrKyB0ZWxlcGF0aHktcHl0aG9uLTAuMTUuMTkvc3JjL01ha2VmaWxlLmFtCTIwMTEtMDMtMTAgMDg6NTQ6NDUuMDAwMDAwMDAwICswODAwCitAQCAtMzksMTcgKzM5LDE3IEBACisgWFNMVFBST0NfT1BUUyA9IC0tbm9uZXQgLS1ub3ZhbGlkIC0teGluY2x1ZGUKKyB0b29sc19kaXIgPSAkKHRvcF9zcmNkaXIpL3Rvb2xzCisgCistX2dlbmVyYXRlZC9pbnRlcmZhY2VzLnB5OiAkKHRvb2xzX2RpcikvcHl0aG9uLWludGVyZmFjZXMtZ2VuZXJhdG9yLnhzbCAkKHdpbGRjYXJkICQoc3BlY19kaXIpLyoueG1sKQorK19nZW5lcmF0ZWQvaW50ZXJmYWNlcy5weTogX2dlbmVyYXRlZC9fX2luaXRfXy5weSAkKHRvb2xzX2RpcikvcHl0aG9uLWludGVyZmFjZXMtZ2VuZXJhdG9yLnhzbCAkKHdpbGRjYXJkICQoc3BlY19kaXIpLyoueG1sKQorIAkkKEFNX1ZfR0VOKSQoWFNMVFBST0MpICQoWFNMVFBST0NfT1BUUykgLW8gJEAgXAorIAkgICAgJCh0b29sc19kaXIpL3B5dGhvbi1pbnRlcmZhY2VzLWdlbmVyYXRvci54c2wgXAorIAkgICAgJChzcGVjX2RpcikvYWxsLnhtbAorIAorLV9nZW5lcmF0ZWQvY29uc3RhbnRzLnB5OiAkKHRvb2xzX2RpcikvcHl0aG9uLWNvbnN0YW50cy1nZW5lcmF0b3IueHNsICQod2lsZGNhcmQgJChzcGVjX2RpcikvKi54bWwpCisrX2dlbmVyYXRlZC9jb25zdGFudHMucHk6IF9nZW5lcmF0ZWQvX19pbml0X18ucHkgJCh0b29sc19kaXIpL3B5dGhvbi1jb25zdGFudHMtZ2VuZXJhdG9yLnhzbCAkKHdpbGRjYXJkICQoc3BlY19kaXIpLyoueG1sKQorIAkkKEFNX1ZfR0VOKSQoWFNMVFBST0MpICQoWFNMVFBST0NfT1BUUykgLW8gJEAgXAorIAkgICAgJCh0b29sc19kaXIpL3B5dGhvbi1jb25zdGFudHMtZ2VuZXJhdG9yLnhzbCBcCisgCSAgICAkKHNwZWNfZGlyKS9hbGwueG1sCisgCistX2dlbmVyYXRlZC9lcnJvcnMucHk6ICQodG9vbHNfZGlyKS9weXRob24tZXJyb3JzLWdlbmVyYXRvci54c2wgJCh3aWxkY2FyZCAkKHNwZWNfZGlyKS8qLnhtbCkKKytfZ2VuZXJhdGVkL2Vycm9ycy5weTogX2dlbmVyYXRlZC9fX2luaXRfXy5weSAkKHRvb2xzX2RpcikvcHl0aG9uLWVycm9ycy1nZW5lcmF0b3IueHNsICQod2lsZGNhcmQgJChzcGVjX2RpcikvKi54bWwpCisgCSQoQU1fVl9HRU4pJChYU0xUUFJPQykgJChYU0xUUFJPQ19PUFRTKSAtbyAkQCBcCisgCSAgICAkKHRvb2xzX2RpcikvcHl0aG9uLWVycm9ycy1nZW5lcmF0b3IueHNsIFwKKyAJICAgICQoc3BlY19kaXIpL2FsbC54bWwKK0BAIC01OCw3ICs1OCw3IEBACisgCSQoQU1fVl9HRU4pJChta2Rpcl9wKSAkKGRpciAkQCkKKyAJQGVjaG8gIiMgUGxhY2Vob2xkZXIgZm9yIHBhY2thZ2UiID4gJEAKKyAKKy1fZ2VuZXJhdGVkLyUucHk6ICQodG9vbHNfZGlyKS9zcGVjLXRvLXB5dGhvbi54c2wgJChzcGVjX2RpcikvJS54bWwKKytfZ2VuZXJhdGVkLyUucHk6IF9nZW5lcmF0ZWQvX19pbml0X18ucHkgJCh0b29sc19kaXIpL3NwZWMtdG8tcHl0aG9uLnhzbCAkKHNwZWNfZGlyKS8lLnhtbAorIAkkKEFNX1ZfR0VOKSQoWFNMVFBST0MpICQoWFNMVFBST0NfT1BUUykgLW8gJEAgXAorIAkgICAgJCh0b29sc19kaXIpL3NwZWMtdG8tcHl0aG9uLnhzbCBcCisgCSAgICAkKHNwZWNfZGlyKS8kKi54bWwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvdGVsZXBhdGh5LXB5dGhvbi0wLjE1LjE5L3JlbW92ZV9kdXBsaWNhdGVfaW5zdGFsbC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvdGVsZXBhdGh5LXB5dGhvbi0wLjE1LjE5L3JlbW92ZV9kdXBsaWNhdGVfaW5zdGFsbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZjk1YTRjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3RlbGVwYXRoeS90ZWxlcGF0aHktcHl0aG9uLTAuMTUuMTkvcmVtb3ZlX2R1cGxpY2F0ZV9pbnN0YWxsLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK2NvbW1pdCBmNmM2NzY2MjE0NWRlODg5MDU1YTg2YTZiM2IxMmM3MGE0NWZjOGQ1CitBdXRob3I6IERvbmd4aWFvIFh1IDxkb25neGlhby54dUBpbnRlbC5jb20+CitEYXRlOiAgIFdlZCBTZXAgNyAxNjowMjoyMCAyMDExICswODAwCisKKyAgICBBdm9pZCBkdXBsaWNhdGVkIGluc3RhbGxhdGlvbiBvZiBlcnJvcnMucHkKKyAgICAKKyAgICBuZXdlciB2ZXJzaW9uIG9mIGF1dG90b29scyBkb24ndCBzZWVtIHRvIGxpa2UgbGlzdGluZyBmaWxlcyB0byBpbnN0YWxsCisgICAgdHdpY2UuIFJlbW92ZSBvbmUgZXJyb3JzLnB5IGZyb20gdGhlIGluc3RhbGxhdGlvbiBsaXN0LgorICAgIAorICAgIFNpZ25lZC1vZmYtYnk6IERvbmd4aWFvIFh1IDxkb25neGlhby54dUBpbnRlbC5jb20+CisgICAgCisgICAgVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcGlyYXRlIFt1cHN0cmVhbSBpbmFjdGl2ZV0KKyAgICAKK2RpZmYgLS1naXQgYS9zcmMvTWFrZWZpbGUuYW0gYi9zcmMvTWFrZWZpbGUuYW0KK2luZGV4IDVjMjdkZmUuLjc1MzZlNDMgMTAwNjQ0CistLS0gYS9zcmMvTWFrZWZpbGUuYW0KKysrKyBiL3NyYy9NYWtlZmlsZS5hbQorQEAgLTExLDcgKzExLDcgQEAgdGVsZXBhdGh5X1BZVEhPTiA9IFwKKyAKKyAjIHRlbGVwYXRoeS5fZ2VuZXJhdGVkLiogYXV0by1nZW5lcmF0ZWQgbW9kdWxlcworIHNwZWNfZGlyID0gJCh0b3Bfc3JjZGlyKS9zcGVjCistc3BlY19maWxlcyA6PSAkKHBhdHN1YnN0ICQoc3BlY19kaXIpJS54bWwsX2dlbmVyYXRlZCUucHksJCh3aWxkY2FyZCAkKHNwZWNfZGlyKS8qLnhtbCkpCisrc3BlY19maWxlcyA6PSAkKGZpbHRlci1vdXQgX2dlbmVyYXRlZC9lcnJvcnMucHksICQocGF0c3Vic3QgJChzcGVjX2RpciklLnhtbCxfZ2VuZXJhdGVkJS5weSwkKHdpbGRjYXJkICQoc3BlY19kaXIpLyoueG1sKSkpCisgCisgQlVJTFRfU09VUkNFUyA9IFwKKyAJX2dlbmVyYXRlZC9pbnRlcmZhY2VzLnB5IFwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvdGVsZXBhdGh5LXB5dGhvbi0wLjE1LjE5L3RlbGVwYXRoeS1weXRob25fZml4X2Zvcl9hdXRvbWFrZV8xLjEyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3RlbGVwYXRoeS90ZWxlcGF0aHktcHl0aG9uLTAuMTUuMTkvdGVsZXBhdGh5LXB5dGhvbl9maXhfZm9yX2F1dG9tYWtlXzEuMTIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjYxM2ZkYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvdGVsZXBhdGh5LXB5dGhvbi0wLjE1LjE5L3RlbGVwYXRoeS1weXRob25fZml4X2Zvcl9hdXRvbWFrZV8xLjEyLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCithdXRvbWFrZSAxLjEyIGhhcyBkZXByZWNhdGVkIHVzZSBvZiBta2Rpcl9wLCBhbmQgaXQgcmVjb21tZW5kcwordXNlIG9mIE1LRElSX1AgaW5zdGVhZC4gQ2hhbmdlZCB0aGUgY29kZSB0byBhdm9pZCB0aGVzZSBraW5kIAorb2Ygd2FybmluZy1lcnJvcnMuCisKK3wgbWFrZVsxXTogX2dlbmVyYXRlZC86IENvbW1hbmQgbm90IGZvdW5kCit8IG1ha2VbMV06ICoqKiBbX2dlbmVyYXRlZC9fX2luaXRfXy5weV0gRXJyb3IgMTI3Cit8IG1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvc3J2L2hvbWUvbml0aW4vYnVpbGRzMi9idWlsZDAvdG1wL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L3RlbGVwYXRoeS1weXRob24tMC4xNS4xOS1yNC90ZWxlcGF0aHktcHl0aG9uLTAuMTUuMTkvc3JjJworfCBtYWtlOiAqKiogW2FsbC1yZWN1cnNpdmVdIEVycm9yIDEKKworU2lnbmVkLU9mZi1CeTogTml0aW4gQSBLYW1ibGUgPG5pdGluLmEua2FtYmxlQGludGVsLmNvbT4KKzIwMTIvMDcvMTAKK0luZGV4OiB0ZWxlcGF0aHktcHl0aG9uLTAuMTUuMTkvc3JjL01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdGVsZXBhdGh5LXB5dGhvbi0wLjE1LjE5Lm9yaWcvc3JjL01ha2VmaWxlLmFtCisrKysgdGVsZXBhdGh5LXB5dGhvbi0wLjE1LjE5L3NyYy9NYWtlZmlsZS5hbQorQEAgLTU1LDcgKzU1LDcgQEAgX2dlbmVyYXRlZC9lcnJvcnMucHk6IF9nZW5lcmF0ZWQvX19pbml0XworIAkgICAgJChzcGVjX2RpcikvYWxsLnhtbAorIAorIF9nZW5lcmF0ZWQvX19pbml0X18ucHk6CistCSQoQU1fVl9HRU4pJChta2Rpcl9wKSAkKGRpciAkQCkKKysJJChBTV9WX0dFTikkKE1LRElSX1ApICQoZGlyICRAKQorIAlAZWNobyAiIyBQbGFjZWhvbGRlciBmb3IgcGFja2FnZSIgPiAkQAorIAorIF9nZW5lcmF0ZWQvJS5weTogX2dlbmVyYXRlZC9fX2luaXRfXy5weSAkKHRvb2xzX2Rpcikvc3BlYy10by1weXRob24ueHNsICQoc3BlY19kaXIpLyUueG1sCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvdGVsZXBhdGh5L3RlbGVwYXRoeS1weXRob25fMC4xNS4xOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvdGVsZXBhdGh5LXB5dGhvbl8wLjE1LjE5LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3YWVhMjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvdGVsZXBhdGh5L3RlbGVwYXRoeS1weXRob25fMC4xNS4xOS5iYgpAQCAtMCwwICsxLDMyIEBACitTVU1NQVJZID0gIlRlbGVwYXRoeSBJTSBmcmFtZXdvcmsgLSBQeXRob24gcGFja2FnZSIKK0hPTUVQQUdFID0gImh0dHA6Ly90ZWxlcGF0aHkuZnJlZWRlc2t0b3Aub3JnL3dpa2kvIgorTElDRU5TRSA9ICJMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yZDUwMjVkNGFhMzQ5NWJlZmVmOGYxNzIwNmE1YjBhMSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvdXRpbHMucHk7YmVnaW5saW5lPTE7ZW5kbGluZT0xNzttZDU9OWEwN2QxYTk3OTFhNzQyOWExNGU3YjI1YzZjODY4MjIiCisKK0RFUEVORFMgPSAibGlieHNsdC1uYXRpdmUiCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uLWRidXMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3RlbGVwYXRoeS5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vcGFyYWxsZWxfbWFrZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9yZW1vdmVfZHVwbGljYXRlX2luc3RhbGwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdGVsZXBhdGh5LXB5dGhvbl9maXhfZm9yX2F1dG9tYWtlXzEuMTIucGF0Y2giCisKK1BSID0gInI2IgorCitpbmhlcml0IGF1dG90b29scyBweXRob25uYXRpdmUKKworU1JDX1VSSVttZDVzdW1dID0gImY3Y2EyNWFiM2M4ODg3NDAxNWI3ZTk3MjhmN2YzMDE3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI0NGMwZTFiZjRiYmQ3OGFlMjk4ZWE2NTlmZTEwYmYzYTczNzM4ZGI1NTAxNTY3NjdjYzI0NzdhZWRmNzIzNzYiCisKK0ZJTEVTXyR7UE59ICs9ICJcCisgICAgJHtsaWJkaXJ9L3B5dGhvbiovc2l0ZS1wYWNrYWdlcy90ZWxlcGF0aHkvKi5weSBcCisgICAgJHtsaWJkaXJ9L3B5dGhvbiovc2l0ZS1wYWNrYWdlcy90ZWxlcGF0aHkvKi8qLnB5IFwKKyIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIHJtIC1mICR7RH0ke2xpYmRpcn0vcHl0aG9uKi9zaXRlLXBhY2thZ2VzL3RlbGVwYXRoeS8qLnB5YworICAgIHJtIC1mICR7RH0ke2xpYmRpcn0vcHl0aG9uKi9zaXRlLXBhY2thZ2VzL3RlbGVwYXRoeS8qLnB5bworICAgIHJtIC1mICR7RH0ke2xpYmRpcn0vcHl0aG9uKi9zaXRlLXBhY2thZ2VzL3RlbGVwYXRoeS8qLyoucHljCisgICAgcm0gLWYgJHtEfSR7bGliZGlyfS9weXRob24qL3NpdGUtcGFja2FnZXMvdGVsZXBhdGh5LyovKi5weW8KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS91bWlwL3VtaXBfMS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3VtaXAvdW1pcF8xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTgwYzFiMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS91bWlwL3VtaXBfMS4wLmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiTW9iaWxlIElQdjYgYW5kIE5FTU8gZm9yIExpbnV4IgorREVTQ1JJUFRJT04gPSAiVU1JUCBpcyBhbiBvcGVuIHNvdXJjZSBpbXBsZW1lbnRhdGlvbiBvZiBNb2JpbGUgSVB2NiBhbmQgTkVNTyBcCitCYXNpYyBTdXBwb3J0IGZvciBMaW51eC4gSXQgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIEdQTHYyIGxpY2Vuc2UuIEl0IHN1cHBvcnRzIFwKK3RoZSBmb2xsb3dpbmcgSUVURiBSRkM6IFJGQzYyNzUgKE1vYmlsZSBJUHY2KSwgUkZDMzk2MyAoTkVNTyksIFJGQzM3NzYgYW5kIFwKK1JGQzQ4NzcgKElQc2VjIGFuZCBJS0V2MikuIgorSE9NRVBBR0UgPSAiaHR0cDovL3VtaXAub3JnLyIKK1NFQ1RJT04gPSAiU3lzdGVtIEVudmlyb25tZW50L0Jhc2UiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDczZGMzMWNjYjJlYmVkNzBkYjU0ZjFlOGFlYjRjMzMiCitERVBFTkRTID0gInJwbSBpbmRlbnQtbmF0aXZlIgorCitTUkNfVVJJID0gImdpdDovL2dpdC51bWlwLm9yZy91bWlwLmdpdCIKK1NSQ1JFViA9ICI0Mjg5NzRjMmQwZDhlNzVhMjc1MGEzYWIwNDg4NzA4YzVkZmRkOGUzIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorRVhUUkFfT0VfQ09ORiA9ICItLWVuYWJsZS12dCIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKK1BBUkFMTEVMX01BS0UgPSAiIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3VzYm11eGQvdXNibXV4ZF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvdXNibXV4ZC91c2JtdXhkX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MmJmODExCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3VzYm11eGQvdXNibXV4ZF9naXQuYmIKQEAgLTAsMCArMSwyNCBAQAorREVTQ1JJUFRJT04gPSAiVGhpcyBkYWVtb24gaXMgaW4gY2hhcmdlIG9mIG11bHRpcGxleGluZyBjb25uZWN0aW9ucyBvdmVyIFVTQiB0byBhbiBpUGhvbmUgb3IgaVBvZCB0b3VjaC4iCitMSUNFTlNFID0gIkdQTHYzICYgR1BMdjIgJiBMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuR1BMdjI7bWQ1PWViYjVjNTBhYjdjYWI0YmFlZmZiYTE0OTc3MDMwYzA3IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuR1BMdjM7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEdQTHYyLjE7bWQ1PTZhYjE3YjQxNjQwNTY0NDM0ZGRhODVjMDZiNzEyNGY3IgorCitERVBFTkRTID0gInVkZXYgbGlidXNiMSIKKworaW5oZXJpdCBjbWFrZSBwa2djb25maWcgZ2l0cGtndgorCitQS0dWID0gIiR7R0lUUEtHVlRBR30iCisKK1NSQ1JFViA9ICI5MTk1ODc1ODBjNWU3N2YzOTM2ZjM0MzIxMTVkMmUxMGM3YmFjN2M1IgorU1JDX1VSSSA9ICJnaXQ6Ly9naXQuc3VraW1hc2hpdGEuY29tL3VzYm11eGQuZ2l0O3Byb3RvY29sPWh0dHAiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0ZJTEVTXyR7UE59ICs9ICIke2Jhc2VfbGliZGlyfS91ZGV2L3J1bGVzLmQvIgorCisjIGZpeCB1c2JtdXhkIGluc3RhbGxpbmcgZmlsZXMgdG8gL3Vzci9saWI2NCBvbiA2NGJpdCBob3N0czoKK0VYVFJBX09FQ01BS0UgPSAiLURMSUJfU1VGRklYPSR7QGQuZ2V0VmFyKCdiYXNlbGliJywgVHJ1ZSkucmVwbGFjZSgnbGliJywgJycpfSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbcGxpc3RdID0gIi1EV0FOVF9QTElTVD0xLC1EV0FOVF9QTElTVD0wLGxpYnBsaXN0IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3d2ZGlhbC93dmRpYWwvdHlwb19wb24ud3ZkaWFsLjEucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3ZkaWFsL3d2ZGlhbC90eXBvX3Bvbi53dmRpYWwuMS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZWM1YTVkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3d2ZGlhbC93dmRpYWwvdHlwb19wb24ud3ZkaWFsLjEucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorUmVtb3ZlIHdhcm5pbmdzIGZvdW5kIGJ5IGxpbnRpYW4KK0xhc3QtVXBkYXRlOiAyMDExLTAxLTA5CitJbmRleDogd3ZkaWFsLTEuNjEvcG9uLnd2ZGlhbC4xCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gd3ZkaWFsLTEuNjEub3JpZy9wb24ud3ZkaWFsLjEJMjAxMS0wMS0wOSAyMTozMzowMy4wMDAwMDAwMDAgKzAzMDAKKysrKyB3dmRpYWwtMS42MS9wb24ud3ZkaWFsLjEJMjAxMS0wMS0wOSAyMTozMzoxNS4wMDAwMDAwMDAgKzAzMDAKK0BAIC04LDEzICs4LDExIEBACisgLlNIIERFU0NSSVBUSU9OCisgLkIgcG9uLnd2ZGlhbAorIC5icgorLS5UUgorIC5CIHBvZmYud3ZkaWFsCisgLmJyCisgLlJTCisgUmVwbGFjZW1lbnQgc2NyaXB0cyBmb3IgcG9uIGFuZCBwb2ZmLgorIC5SRQorLVwuIgorIC5TSCBTRUUgQUxTTworIC5CUiB3dmRpYWwgKDEpLAorIC5CUiBwb24gKDEpLApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3d2ZGlhbC93dmRpYWxfMS42MS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93dmRpYWwvd3ZkaWFsXzEuNjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjdhZGY0YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93dmRpYWwvd3ZkaWFsXzEuNjEuYmIKQEAgLTAsMCArMSwzMCBAQAorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5hbHVtbml0LmNhL3dpa2kvP1d2RGlhbCIKK0RFU0NSSVBUSU9OID0gIld2RGlhbCBpcyBhIHByb2dyYW0gdGhhdCBtYWtlcyBpdCBlYXN5IHRvIGNvbm5lY3QgeW91ciBMaW51eCB3b3Jrc3RhdGlvbiB0byB0aGUgSW50ZXJuZXQuIgorCitMSUNFTlNFID0gIkxHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTElCO21kNT01NWNhODE3Y2NiN2Q1YjViNjYzNTU2OTBlOWFiYzYwNSIKKworREVQRU5EUyA9ICJ3dnN0cmVhbXMiCitSREVQRU5EU18ke1BOfSA9ICJwcHAiCisKK1NSQ19VUkkgPSAiaHR0cDovLyR7QlBOfS5nb29nbGVjb2RlLmNvbS9maWxlcy8ke0JQfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL3R5cG9fcG9uLnd2ZGlhbC4xLnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzN2U5YTJkNjY0ZWZmZTRlZmQ0NGMwZTFhMjAxMzZkZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5OTkwNmQ5NTYwY2JkYmM5N2UxODU1ZTdiMGE3MTY5ZjFlMTE5ODNiZTNhYzUzOTE0MDQyM2YwOWRlYmNlZDgyIgorCitFWFRSQV9PRU1BS0UgPSAiIgorZXhwb3J0IFdWTElOSz0iJHtMRH0iCisKK1BBUkFMTEVMX01BS0UgPSAiIgorCitCVUlMRF9DUFBGTEFHUyArPSAiLUkke1NUQUdJTkdfSU5DRElSfS93dnN0cmVhbXMiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBzZWQgLWkgJ3MvTERGTEFHUys9LWx1bmljb25mL0xJQlMrPS1sdW5pY29uZi8nICR7U30vTWFrZWZpbGUKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIHByZWZpeD0ke0R9L3VzciBQUFBESVI9JHtEfS9ldGMvcHBwL3BlZXJzIGluc3RhbGwKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93dmRpYWwvd3ZzdHJlYW1zLzA0X3NpZ25lZF9yZXF1ZXN0LmRpZmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3ZkaWFsL3d2c3RyZWFtcy8wNF9zaWduZWRfcmVxdWVzdC5kaWZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhYjYzM2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3ZkaWFsL3d2c3RyZWFtcy8wNF9zaWduZWRfcmVxdWVzdC5kaWZmCkBAIC0wLDAgKzEsMTMgQEAKK0luZGV4OiB3dnN0cmVhbXMtNC42L2NyeXB0by93dng1MDkuY2MKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB3dnN0cmVhbXMtNC42Lm9yaWcvY3J5cHRvL3d2eDUwOS5jYwkyMDA5LTA3LTI5IDExOjU4OjE2LjAwMDAwMDAwMCAtMDQwMAorKysrIHd2c3RyZWFtcy00LjYvY3J5cHRvL3d2eDUwOS5jYwkyMDA5LTA3LTI5IDExOjU4OjQzLjAwMDAwMDAwMCAtMDQwMAorQEAgLTMyNSw3ICszMjUsNyBAQAorICAgICB9CisgCisgICAgIGludCB2ZXJpZnlfcmVzdWx0ID0gWDUwOV9SRVFfdmVyaWZ5KGNlcnRyZXEsIHBrKTsKKy0gICAgaWYgKHZlcmlmeV9yZXN1bHQgPT0gMCkKKysgICAgaWYgKHZlcmlmeV9yZXN1bHQgPT0gMCB8fCB2ZXJpZnlfcmVzdWx0ID09IC0xKQorICAgICB7CisgCWRlYnVnKFd2TG9nOjpXYXJuaW5nLCAiU2VsZiBzaWduZWQgcmVxdWVzdCBmYWlsZWQiKTsKKyAJWDUwOV9SRVFfZnJlZShjZXJ0cmVxKTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93dmRpYWwvd3ZzdHJlYW1zLzA1X2djYy5kaWZmIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3d2ZGlhbC93dnN0cmVhbXMvMDVfZ2NjLmRpZmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGU0ZmQwMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93dmRpYWwvd3ZzdHJlYW1zLzA1X2djYy5kaWZmCkBAIC0wLDAgKzEsNDEgQEAKK0luZGV4OiB3dnN0cmVhbXMtNC42LjEvY3J5cHRvL3d2eDUwOS5jYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHd2c3RyZWFtcy00LjYuMS5vcmlnL2NyeXB0by93dng1MDkuY2MJMjAxMS0wNS0yMCAwMDowMjozOC4xMTkxMzY1ODQgKzAyMDAKKysrKyB3dnN0cmVhbXMtNC42LjEvY3J5cHRvL3d2eDUwOS5jYwkyMDExLTA1LTIwIDAwOjAyOjI2LjAzNTEzNjU4OSArMDIwMAorQEAgLTExNTcsNyArMTE1Nyw3IEBACisgICAgICAgICAKKyAgICAgICAgIGlmIChleHQpCisgICAgICAgICB7CistICAgICAgICAgICAgWDUwOVYzX0VYVF9NRVRIT0QgKm1ldGhvZCA9IFg1MDlWM19FWFRfZ2V0KGV4dCk7CisrICAgICAgICAgICAgWDUwOVYzX0VYVF9NRVRIT0QgKm1ldGhvZCA9IChYNTA5VjNfRVhUX01FVEhPRCAqKVg1MDlWM19FWFRfZ2V0KGV4dCk7CisgICAgICAgICAgICAgaWYgKCFtZXRob2QpCisgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICBXdkR5bkJ1ZiBidWY7CitJbmRleDogd3ZzdHJlYW1zLTQuNi4xL2lwc3RyZWFtcy93dnVuaXhkZ3NvY2tldC5jYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHd2c3RyZWFtcy00LjYuMS5vcmlnL2lwc3RyZWFtcy93dnVuaXhkZ3NvY2tldC5jYwkyMDExLTA1LTIwIDAwOjAyOjM4LjM5MTEzNjU4NCArMDIwMAorKysrIHd2c3RyZWFtcy00LjYuMS9pcHN0cmVhbXMvd3Z1bml4ZGdzb2NrZXQuY2MJMjAxMS0wNS0yMCAwMDowMjozNS4yODMxMzY1ODUgKzAyMDAKK0BAIC0xLDggKzEsNiBAQAorICNpbmNsdWRlICJ3dnVuaXhkZ3NvY2tldC5oIgorLSNpZmRlZiBNQUNPUworICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKy0jZW5kaWYKKyAKKyBXdlVuaXhER1NvY2tldDo6V3ZVbml4REdTb2NrZXQoV3ZTdHJpbmdQYXJtIGZpbGVuYW1lLCBib29sIF9zZXJ2ZXIsIGludCBwZXJtcykKKyAgICAgOiBzb2NrZXRmaWxlKGZpbGVuYW1lKQorSW5kZXg6IHd2c3RyZWFtcy00LjYuMS9zdHJlYW1zL3d2YXRvbWljZmlsZS5jYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHd2c3RyZWFtcy00LjYuMS5vcmlnL3N0cmVhbXMvd3ZhdG9taWNmaWxlLmNjCTIwMTEtMDUtMjAgMDA6MDI6MzguMjIzMTM2NTg0ICswMjAwCisrKysgd3ZzdHJlYW1zLTQuNi4xL3N0cmVhbXMvd3ZhdG9taWNmaWxlLmNjCTIwMTEtMDUtMjAgMDA6MDI6MzEuNjE5MTM2NTg3ICswMjAwCitAQCAtMTAsMTAgKzEwLDcgQEAKKyAjaW5jbHVkZSAid3ZhdG9taWNmaWxlLmgiCisgI2luY2x1ZGUgInd2ZmlsZXV0aWxzLmgiCisgI2luY2x1ZGUgInd2c3RydXRpbHMuaCIKKy0KKy0jaWZkZWYgTUFDT1MKKyAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKy0jZW5kaWYKKyAKKyBXdkF0b21pY0ZpbGU6Old2QXRvbWljRmlsZShXdlN0cmluZ1Bhcm0gZmlsZW5hbWUsIGludCBmbGFncywgbW9kZV90IGNyZWF0ZV9tb2RlKQorICAgICA6IHRtcF9maWxlKFd2U3RyaW5nOjpudWxsKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3d2ZGlhbC93dnN0cmVhbXMvMDZfZ2NjLTQuNy5kaWZmIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3d2ZGlhbC93dnN0cmVhbXMvMDZfZ2NjLTQuNy5kaWZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3NTA2N2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3ZkaWFsL3d2c3RyZWFtcy8wNl9nY2MtNC43LmRpZmYKQEAgLTAsMCArMSwxOCBAQAorRGVzY3JpcHRpb246IEZpeCBGVEJGUyB3aXRoIGdjYy00LjcKKyBTbWFsbCBoZWFkZXIgaW5jbHVkZSBjaGFuZ2UuIFRoaXMgaXMgYm9yZGVybGluZGUgY29zbWV0aWMsIGJ1dCBzdGlsbCBuZWVkZWQKKyB0byBwcmV2ZW50IHRoZSBGVEJGUy4KK0F1dGhvcjogUGF1bCBUYWdsaWFtb250ZSA8cGF1bHRhZ0B1YnVudHUuY29tPgorT3JpZ2luOiB2ZW5kb3IKK0J1Zy1EZWJpYW46IGh0dHA6Ly9idWdzLmRlYmlhbi5vcmcvNjY3NDE4CitMYXN0LVVwZGF0ZTogMjAxMi0wNC0xMworCistLS0gd3ZzdHJlYW1zLTQuNi4xLm9yaWcvdXRpbHMvd3Z1aWQuY2MKKysrKyB3dnN0cmVhbXMtNC42LjEvdXRpbHMvd3Z1aWQuY2MKK0BAIC0zMyw2ICszMyw3IEBAIHd2dWlkX3Qgd3ZnZXR1aWQoKQorIAorICNlbHNlIC8vIG5vdCBXSU4zMgorIAorKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyAKKyBXdlN0cmluZyB3dl91c2VybmFtZV9mcm9tX3VpZCh3dnVpZF90IHVpZCkKKyB7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3ZkaWFsL3d2c3RyZWFtcy8wN19idWlsZGZsYWdzLmRpZmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3ZkaWFsL3d2c3RyZWFtcy8wN19idWlsZGZsYWdzLmRpZmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWM5OWRjZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93dmRpYWwvd3ZzdHJlYW1zLzA3X2J1aWxkZmxhZ3MuZGlmZgpAQCAtMCwwICsxLDMyIEBACitJbmRleDogYi9nZW4tY2MKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL2dlbi1jYworKysrIGIvZ2VuLWNjCitAQCAtMTUsNiArMTUsMTEgQEAKKyAJc2hpZnQKKyAJc2hpZnQKKyAJCisrCWVjaG8gJENDIFwkTU9ERSAtbyBcJEJBU0UubyBcJEJBU0UuJEVYVCBcXAorKwkgICAgICAgIC1NTUQgLU1GIFwkREVQRklMRSAtTVAgLU1RIFwkQkFTRS5vIFxcCisrCSAgICAgICAgJENQUEZMQUdTIFxcCisrCSAgICAgICAgJENGTEFHUyBcXAorKwkgICAgICAgICJcJEAiCisgCSRDQyBcJE1PREUgLW8gXCRCQVNFLm8gXCRCQVNFLiRFWFQgXFwKKyAJICAgICAgICAtTU1EIC1NRiBcJERFUEZJTEUgLU1QIC1NUSBcJEJBU0UubyBcXAorIAkgICAgICAgICRDUFBGTEFHUyBcXAorSW5kZXg6IGIvd3ZydWxlcy1wb3NpeC5taworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvd3ZydWxlcy1wb3NpeC5taworKysrIGIvd3ZydWxlcy1wb3NpeC5taworQEAgLTM1LDExICszNSw2IEBACisgIyBEZWZhdWx0IGNvbXBpbGVyIHdlIHVzZSBmb3IgbGlua2luZworIFdWTElOS19DQyA9ICQoQ1hYKQorIAorLWlmbmVxICgiJChlbmFibGVfb3B0aW1pemF0aW9uKSIsICJubyIpCistICBDWFhGTEFHUys9LU8yCistICBDRkxBR1MrPS1PMgorLWVuZGlmCistCisgaWZuZXEgKCIkKGVuYWJsZV93YXJuaW5ncykiLCAibm8iKQorICAgQ1hYRkxBR1MrPS1XYWxsIC1Xb3ZlcmxvYWRlZC12aXJ0dWFsCisgICBDRkxBR1MrPS1XYWxsCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3ZkaWFsL3d2c3RyZWFtc180LjYuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93dmRpYWwvd3ZzdHJlYW1zXzQuNi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxOTlhMmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3ZkaWFsL3d2c3RyZWFtc180LjYuMS5iYgpAQCAtMCwwICsxLDQ4IEBACitIT01FUEFHRSA9ICJodHRwOi8vYWx1bW5pdC5jYS93aWtpL2luZGV4LnBocD9wYWdlPVd2U3RyZWFtcyIKK1NVTU1BUlkgPSAiV3ZTdHJlYW1zIGlzIGEgbmV0d29yayBwcm9ncmFtbWluZyBsaWJyYXJ5IGluIEMrKyIKKworTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT01NWNhODE3Y2NiN2Q1YjViNjYzNTU2OTBlOWFiYzYwNSIKKworREVQRU5EUyA9ICJ6bGliIG9wZW5zc2wgKD49IDAuOS44KSBkYnVzIHJlYWRsaW5lIgorCitTUkNfVVJJID0gImh0dHA6Ly8ke0JQTn0uZ29vZ2xlY29kZS5jb20vZmlsZXMvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzA0X3NpZ25lZF9yZXF1ZXN0LmRpZmYgXAorICAgICAgICAgICBmaWxlOi8vMDVfZ2NjLmRpZmYgXAorICAgICAgICAgICBmaWxlOi8vMDZfZ2NjLTQuNy5kaWZmIFwKKyAgICAgICAgICAgZmlsZTovLzA3X2J1aWxkZmxhZ3MuZGlmZiBcCisgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMjc2MGRhYzMxYTQzZDQ1MmExOWEzMTQ3YmZkZTU3MWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODQwM2Y1ZmJmODNhYTlhYzBjNmNlMTVkOTdmZDg1NjA3NDg4MTUyYWE4NGUwMDdiN2QwNjIxYjhlYmMwNzYzMyIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZworCitQQVJBTExFTF9NQUtFID0gIiIKKworVEFSR0VUX0NGTEFHU19hcHBlbmQgPSAiIC1mbm8tdHJlZS1kY2UgLWZuby1vcHRpbWl6ZS1zaWJsaW5nLWNhbGxzIgorCitMREZMQUdTX2FwcGVuZCA9ICIgLVdsLC1ycGF0aC1saW5rLCR7Q1JPU1NfRElSfS8ke1RBUkdFVF9TWVN9L2xpYiIKKworRVhUUkFfT0VDT05GID0gIiAtLXdpdGhvdXQtdGNsIC0td2l0aG91dC1xdCAtLXdpdGhvdXQtcGFtIC0td2l0aG91dC12YWxncmluZCIKKworUEFDS0FHRVNfcHJlcGVuZCA9ICJsaWJ1bmljb25mIGxpYnVuaWNvbmYtZGJnICIKK1BBQ0tBR0VTX3ByZXBlbmQgPSAidW5pY29uZmQgdW5pY29uZmQtZGJnICIKK1BBQ0tBR0VTX3ByZXBlbmQgPSAibGlid3ZzdHJlYW1zLWJhc2UgbGlid3ZzdHJlYW1zLWJhc2UtZGJnICIKK1BBQ0tBR0VTX3ByZXBlbmQgPSAibGlid3ZzdHJlYW1zLWV4dHJhcyBsaWJ3dnN0cmVhbXMtZXh0cmFzLWRiZyAiCitQQUNLQUdFU19wcmVwZW5kID0gIiR7UE59LXZhbGdyaW5kICIKKworRklMRVNfbGlidW5pY29uZiAgICAgPSAiJHtsaWJkaXJ9L2xpYnVuaWNvbmYuc28uKiIKK0ZJTEVTX2xpYnVuaWNvbmYtZGJnID0gIiR7bGliZGlyfS8uZGVidWcvbGlidW5pY29uZi5zby4qIgorCitGSUxFU191bmljb25mZCAgICAgPSAiJHtzYmluZGlyfS91bmljb25mZCAke3N5c2NvbmZkaXJ9L3VuaWNvbmYuY29uZiAke2xvY2Fsc3RhdGVkaXJ9L3VuaWNvbmYiCitGSUxFU191bmljb25mZC1kYmcgPSAiJHtzYmluZGlyfS8uZGVidWcvdW5pY29uZmQiCisKK0ZJTEVTX2xpYnd2c3RyZWFtcy1iYXNlICAgICA9ICIke2xpYmRpcn0vbGlid3Z1dGlscy5zby4qIgorRklMRVNfbGlid3ZzdHJlYW1zLWJhc2UtZGJnID0gIiR7bGliZGlyfS8uZGVidWcvbGlid3Z1dGlscy5zby4qIgorCitGSUxFU19saWJ3dnN0cmVhbXMtZXh0cmFzICAgICA9ICIke2xpYmRpcn0vbGlid3ZiYXNlLnNvLiogJHtsaWJkaXJ9L2xpYnd2c3RyZWFtcy5zby4qIgorRklMRVNfbGlid3ZzdHJlYW1zLWV4dHJhcy1kYmcgPSAiJHtsaWJkaXJ9Ly5kZWJ1Zy9saWJ3dmJhc2Uuc28uKiAke2xpYmRpcn0vLmRlYnVnL2xpYnd2c3RyZWFtcy5zby4qIgorCitGSUxFU18ke1BOfS12YWxncmluZCA9ICIke2xpYmRpcn0vdmFsZ3JpbmQvd3ZzdHJlYW1zLnN1cHAiCitSREVQRU5EU18ke1BOfSArPSAicGVybCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS96YWJiaXgvemFiYml4LzAwMDEtRml4LWNvbmZpZ3VyZS5hYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS96YWJiaXgvemFiYml4LzAwMDEtRml4LWNvbmZpZ3VyZS5hYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZjE0YTFhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3phYmJpeC96YWJiaXgvMDAwMS1GaXgtY29uZmlndXJlLmFjLnBhdGNoCkBAIC0wLDAgKzEsMjMgQEAKK3VuYW1lIGNhbiBub3QgZ2V0IHZlcnNpb24gb2Yga2VybmVsIGNvcnJlY3RseSB3aGlsZSBjcm9zcyBjb21waWxlCisKK1NpZ25lZC1vZmYtYnk6IEJpYW4gTmFpbWVuZyA8Ymlhbm5tQGNuLmZ1aml0c3UuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCA1MjM4OTliLi40ZTZhZTBkIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC05MjQsNyArOTI0LDcgQEAgQUNfTVNHX1JFU1VMVChbJEFSQ0ggKCRob3N0X29zKV0pCisgaWYgdGVzdCAieCRBUkNIIiA9ICJ4bGludXgiOyB0aGVuCisgCUFDX01TR19DSEVDS0lORyhbZm9yIHRoZSBsaW51eCBrZXJuZWwgdmVyc2lvbl0pCisgCistCWtlcm5lbD1gdW5hbWUgLXJgCisrCWtlcm5lbD0iJHtLRVJORUxfVkVSU0lPTn0iCisgCisgCWNhc2UgIiR7a2VybmVsfSIgaW4KKyAJCTIuNi4qKQorLS0gCisxLjguMy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS96YWJiaXgvemFiYml4L3phYmJpeC1hZ2VudC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3phYmJpeC96YWJiaXgvemFiYml4LWFnZW50LnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjE4YTk2ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS96YWJiaXgvemFiYml4L3phYmJpeC1hZ2VudC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTIgQEAKK1tVbml0XQorRGVzY3JpcHRpb249WmFiYml4IE1vbml0b3IgQWdlbnQKK0FmdGVyPXN5c2xvZy50YXJnZXQgbmV0d29yay50YXJnZXQKKworW1NlcnZpY2VdCitUeXBlPW9uZXNob3QKK0V4ZWNTdGFydD1AU0JJTkRJUkAvemFiYml4X2FnZW50ZAorUmVtYWluQWZ0ZXJFeGl0PXllcworVXNlcj16YWJiaXgKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3phYmJpeC96YWJiaXhfMi40LjcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvemFiYml4L3phYmJpeF8yLjQuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMmM0ZWFlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3phYmJpeC96YWJiaXhfMi40LjcuYmIKQEAgLTAsMCArMSw3MiBAQAorU1VNTUFSWSA9ICJPcGVuLXNvdXJjZSBtb25pdG9yaW5nIHNvbHV0aW9uIGZvciB5b3VyIElUIGluZnJhc3RydWN0dXJlIgorREVTQ1JJUFRJT04gPSAiXAorWkFCQklYIGlzIHNvZnR3YXJlIHRoYXQgbW9uaXRvcnMgbnVtZXJvdXMgcGFyYW1ldGVycyBvZiBhIG5ldHdvcmsgYW5kIHRoZSBcCitoZWFsdGggYW5kIGludGVncml0eSBvZiBzZXJ2ZXJzLiBaQUJCSVggdXNlcyBhIGZsZXhpYmxlIG5vdGlmaWNhdGlvbiBcCittZWNoYW5pc20gdGhhdCBhbGxvd3MgdXNlcnMgdG8gY29uZmlndXJlIGUtbWFpbCBiYXNlZCBhbGVydHMgZm9yIHZpcnR1YWxseSBcCithbnkgZXZlbnQuIFRoaXMgYWxsb3dzIGEgZmFzdCByZWFjdGlvbiB0byBzZXJ2ZXIgcHJvYmxlbXMuIFpBQkJJWCBvZmZlcnMgXAorZXhjZWxsZW50IHJlcG9ydGluZyBhbmQgZGF0YSB2aXN1YWxpc2F0aW9uIGZlYXR1cmVzIGJhc2VkIG9uIHRoZSBzdG9yZWQgXAorZGF0YS4gVGhpcyBtYWtlcyBaQUJCSVggaWRlYWwgZm9yIGNhcGFjaXR5IHBsYW5uaW5nLiBcCitcCitaQUJCSVggc3VwcG9ydHMgYm90aCBwb2xsaW5nIGFuZCB0cmFwcGluZy4gQWxsIFpBQkJJWCByZXBvcnRzIGFuZCBcCitzdGF0aXN0aWNzLCBhcyB3ZWxsIGFzIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycyBhcmUgYWNjZXNzZWQgdGhyb3VnaCBhIFwKK3dlYi1iYXNlZCBmcm9udCBlbmQuIEEgd2ViLWJhc2VkIGZyb250IGVuZCBlbnN1cmVzIHRoYXQgdGhlIHN0YXR1cyBvZiBcCit5b3VyIG5ldHdvcmsgYW5kIHRoZSBoZWFsdGggb2YgeW91ciBzZXJ2ZXJzIGNhbiBiZSBhc3Nlc3NlZCBmcm9tIGFueSBcCitsb2NhdGlvbi4gUHJvcGVybHkgY29uZmlndXJlZCwgWkFCQklYIGNhbiBwbGF5IGFuIGltcG9ydGFudCByb2xlIGluIFwKK21vbml0b3JpbmcgSVQgaW5mcmFzdHJ1Y3R1cmUuIFRoaXMgaXMgZXF1YWxseSB0cnVlIGZvciBzbWFsbCBcCitvcmdhbmlzYXRpb25zIHdpdGggYSBmZXcgc2VydmVycyBhbmQgZm9yIGxhcmdlIGNvbXBhbmllcyB3aXRoIGEgXAorbXVsdGl0dWRlIG9mIHNlcnZlcnMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy56YWJiaXguY29tLyIKK1NFQ1RJT04gPSAiQXBwbGljYXRpb25zL0ludGVybmV0IgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zMDBlOTM4YWQzMDMxNDdmZWRlMjI5NGVkNzhmZTAyZSIKK0RFUEVORFMgID0gIm9wZW5sZGFwIHZpcnR1YWwvbGliaWNvbnYiCisKK1BBQ0tBR0VfQVJDSCA9ICIke01BQ0hJTkVfQVJDSH0iCisKK1NSQ19VUkkgPSAiaHR0cDovL2phaXN0LmRsLnNvdXJjZWZvcmdlLm5ldC9wcm9qZWN0L3phYmJpeC9aQUJCSVglMjBMYXRlc3QlMjBTdGFibGUvJHtQVn0vJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1jb25maWd1cmUuYWMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vemFiYml4LWFnZW50LnNlcnZpY2UiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5ZjhhZWIxMWQ4NDE1NTg1ZjQxYzNmMmYyMjU2NmI3OCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkMmM0N2I4ZjViOWI5MWYxODAxMGQ1NGM0NWRlNTU4NDVkOTc5MDE0YThiM2ZlNGJlZjY0ZTBiMDhmOGIwMGRhIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgbGludXgta2VybmVsLWJhc2UgcGtnY29uZmlnIHN5c3RlbWQgdXNlcmFkZAorCitTWVNURU1EX1BBQ0tBR0VTID0gIiR7UE59IgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInphYmJpeC1hZ2VudC5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJlbmFibGUiCisKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCitHUk9VUEFERF9QQVJBTV8ke1BOfSA9ICItciB6YWJiaXgiCitVU0VSQUREX1BBUkFNXyR7UE59ID0gIi1yIC1nIHphYmJpeCAtZCAvdmFyL2xpYi96YWJiaXggXAorICAgICAgICAgICAgICAgICAgICAgICAtcyAvc2Jpbi9ub2xvZ2luIC1jIFwiWmFiYml4IE1vbml0b3JpbmcgU3lzdGVtXCIgemFiYml4IgorCitLRVJORUxfVkVSU0lPTiA9ICIke0BnZXRfa2VybmVsdmVyc2lvbl9oZWFkZXJzKCcke1NUQUdJTkdfS0VSTkVMX0RJUn0nKX0iCisKK0VYVFJBX09FQ09ORiA9ICctLWVuYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nIFwKKwkgICAgICAgIC0tZW5hYmxlLWFnZW50IFwKKwkgICAgICAgIC0tZW5hYmxlLWlwdjYgXAorCSAgICAgICAgLS13aXRoLW5ldC1zbm1wIFwKKwkgICAgICAgIC0td2l0aC1sZGFwPSR7U1RBR0lOR19FWEVDUFJFRklYRElSfSBcCisJICAgICAgICAtLXdpdGgtamFiYmVyIFwKKwkgICAgICAgIC0td2l0aC11bml4b2RiYyBcCisJICAgICAgICAtLXdpdGgtc3NoMiBcCisJICAgICAgICAtLXdpdGgtc3FsaXRlMyBcCisJICAgICAgICAnCitDRkxBR1NfYXBwZW5kICs9ICItbGxkYXAgLWxsYmVyIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBleHBvcnQgS0VSTkVMX1ZFUlNJT049IiR7S0VSTkVMX1ZFUlNJT059IgorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3RydWUnLCdmYWxzZScsZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS96YWJiaXgtYWdlbnQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKyAgICAgICAgc2VkIC1pIC1lICdzI0BTQklORElSQCMke3NiaW5kaXJ9I2cnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3phYmJpeC1hZ2VudC5zZXJ2aWNlCisgICAgZmkKK30KKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfSIKKworUkRFUEVORFNfJHtQTn0gPSAibG9ncm90YXRlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3plcm9jLWljZS96ZXJvYy1pY2UtMy41LjEvMDAwMi1Nb2RpZnktTWFrZWZpbGUtZm9yLWNyb3NzLWNvbXBpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvemVyb2MtaWNlL3plcm9jLWljZS0zLjUuMS8wMDAyLU1vZGlmeS1NYWtlZmlsZS1mb3ItY3Jvc3MtY29tcGlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzA5NmQyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3plcm9jLWljZS96ZXJvYy1pY2UtMy41LjEvMDAwMi1Nb2RpZnktTWFrZWZpbGUtZm9yLWNyb3NzLWNvbXBpbGUucGF0Y2gKQEAgLTAsMCArMSwyOTIgQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZQorCitUaGlzIHBhdGNoIGxldHMgeW91IGJ1aWxkIEljZSB3aXRoIE9wZW5FbWJlZGRlZC4gSSBkb3VidCB5b3UgY291bGQgZG8KK2EgcmVndWxhciBidWlsZCBhZnRlciBhcHBseWluZyB0aGlzIHBhdGNoLgorCitGcm9tIGJjNjIyY2U3NGZhMDNhOTM1Mjc4ZDIxNzM2YTVhMjUxNDY2ZTE3OTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBUb20gUm9uZGVhdSA8dG9tQHRyb25kZWF1LmNvbT4KK0RhdGU6IFdlZCwgMTYgQXByIDIwMTQgMTQ6MzQ6NTEgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSF0gTW9kaWZ5IE1ha2VmaWxlcyBmb3IgY3Jvc3MgY29tcGlsZQorCistLS0KKyBjb25maWcvTWFrZS5jb21tb24ucnVsZXMgICAgICAgICAgIHwgICAyMCArKysrKysrLS0tLS0tCisgY3BwL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDkgKysrLS0tCisgY3BwL2NvbmZpZy9NYWtlLnJ1bGVzICAgICAgICAgICAgICB8ICAgMzIgKysrKysrKysrKysrLS0tLS0tLS0KKyBjcHAvY29uZmlnL01ha2UucnVsZXMuTGludXggICAgICAgIHwgICAxOCArKy0tLS0tLS0tLQorIGNwcC9zcmMvSWNlU3Rvcm0vRnJlZXplREIvTWFrZWZpbGUgfCAgICAyICstCisgcHkvY29uZmlnL01ha2UucnVsZXMgICAgICAgICAgICAgICB8ICAgNTggKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tCisgNiBmaWxlcyBjaGFuZ2VkLCA3MCBpbnNlcnRpb25zKCspLCA2OSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZy9NYWtlLmNvbW1vbi5ydWxlcyBiL2NvbmZpZy9NYWtlLmNvbW1vbi5ydWxlcworaW5kZXggZDdiMWQ1OS4uYTNmYjE3ZSAxMDA2NDQKKy0tLSBhL2NvbmZpZy9NYWtlLmNvbW1vbi5ydWxlcworKysrIGIvY29uZmlnL01ha2UuY29tbW9uLnJ1bGVzCitAQCAtNjUsOSArNjUsOSBAQCBpZmVxICgkKFVOQU1FKSxMaW51eCkKKyAgICAgICAjCisgICAgICAgIyBTb21lIExpbnV4IGRpc3RyaWJ1dGlvbnMgbGlrZSBEZWJpYW4vVWJ1bnR1IGRvbid0IHVzZSAvdXNyL2xpYjY0LgorICAgICAgICMKKy0gICAgICBpZmVxICgkKHNoZWxsIHRlc3QgLWQgL3Vzci9saWI2NCAmJiBlY2hvIDApLDApCistICAgICAgICAgIGxwNjRzdWZmaXgJPSA2NAorLSAgICAgIGVuZGlmCisrICAgICAgI2lmZXEgKCQoc2hlbGwgdGVzdCAtZCAvdXNyL2xpYjY0ICYmIGVjaG8gMCksMCkKKysgICAgICAjICAgIGxwNjRzdWZmaXgJPSA2NAorKyAgICAgICNlbmRpZgorICAgICAgIGlmZXEgKCQoTFA2NCksKQorICAgICAgICAgICBMUDY0ICAgICAgCT0geWVzCisgICAgICAgZW5kaWYKK0BAIC0yNDQsMTIgKzI0NCwxMyBAQCBlbHNlCisgICAgIHNsaWNlZGlyID0gJChpY2VfZGlyKS9zbGljZQorIGVuZGlmCisgCistaWZlcSAoJChwcmVmaXgpLCAvdXNyKQorLSAgICBpbnN0YWxsX3NsaWNlZGlyID0gL3Vzci9zaGFyZS9JY2UtJChWRVJTSU9OKS9zbGljZQorLWVsc2UKKy0gICAgaW5zdGFsbF9zbGljZWRpciA9ICQocHJlZml4KS9zbGljZQorLWVuZGlmCisrI2lmZXEgKCQocHJlZml4KSwgL3VzcikKKysjICAgIGluc3RhbGxfc2xpY2VkaXIgPSAvdXNyL3NoYXJlL0ljZS0kKFZFUlNJT04pL3NsaWNlCisrI2Vsc2UKKysjICAgIGluc3RhbGxfc2xpY2VkaXIgPSAkKHByZWZpeCkvc2xpY2UKKysjZW5kaWYKKyAKKytpbnN0YWxsX3NsaWNlZGlyID0gJChwcmVmaXgpL3NsaWNlCisgIworICMgU2V0IGVudmlyb25tZW50IHZhcmlhYmxlcyBmb3IgdGhlIFNsaWNlIHRyYW5zbGF0b3IuCisgIworQEAgLTI2NSw3ICsyNjYsOCBAQCBpZm5lcSAoJChpY2VfZGlyKSwgL3VzcikKKyAgICAgZW5kaWYKKyAKKyAgICAgaWZlcSAoJChVTkFNRSksTGludXgpCistICAgICAgICBleHBvcnQgTERfTElCUkFSWV9QQVRIIDo9ICQoaWNlX2xpYl9kaXIpOiQoTERfTElCUkFSWV9QQVRIKQorKyAgICAgICAgI2V4cG9ydCBMRF9MSUJSQVJZX1BBVEggOj0gJChpY2VfbGliX2Rpcik6JChMRF9MSUJSQVJZX1BBVEgpCisrICAgICAgICBleHBvcnQgTERfTElCUkFSWV9QQVRIIDo9ICQoSUNFX0hPTUUpL2xpYjokKExEX0xJQlJBUllfUEFUSCkKKyAgICAgZW5kaWYKKyAKKyAgICAgaWZlcSAoJChVTkFNRSksU3VuT1MpCitkaWZmIC0tZ2l0IGEvY3BwL01ha2VmaWxlIGIvY3BwL01ha2VmaWxlCitpbmRleCBhNjhmMTEzLi4xZjQ0ZjU3IDEwMDY0NAorLS0tIGEvY3BwL01ha2VmaWxlCisrKysgYi9jcHAvTWFrZWZpbGUKK0BAIC0xMSwxMSArMTEsMTIgQEAgdG9wX3NyY2Rpcgk9IC4KKyAKKyBpbmNsdWRlICQodG9wX3NyY2RpcikvY29uZmlnL01ha2UucnVsZXMKKyAKKy1TVUJESVJTCQk9IGNvbmZpZyBzcmMgaW5jbHVkZSB0ZXN0CisrI1NVQkRJUlMJCT0gY29uZmlnIHNyYyBpbmNsdWRlIHRlc3QKKytTVUJESVJTCQk9IGNvbmZpZyBzcmMgaW5jbHVkZQorIAorLWlmZXEgKCQoc2hlbGwgdW5hbWUgfCBncmVwIE1JTkdXKSwpCistU1VCRElSUwkJOj0gJChTVUJESVJTKSBkZW1vCistZW5kaWYKKysjaWZlcSAoJChzaGVsbCB1bmFtZSB8IGdyZXAgTUlOR1cpLCkKKysjU1VCRElSUwkJOj0gJChTVUJESVJTKSBkZW1vCisrI2VuZGlmCisgCisgSU5TVEFMTF9TVUJESVJTCT0gJChpbnN0YWxsX2JpbmRpcikgJChpbnN0YWxsX2xpYmRpcikgJChpbnN0YWxsX2luY2x1ZGVkaXIpIFwKKyAJJChpbnN0YWxsX2NvbmZpZ2RpcikgJChpbnN0YWxsX21hbmRpcikKK2RpZmYgLS1naXQgYS9jcHAvY29uZmlnL01ha2UucnVsZXMgYi9jcHAvY29uZmlnL01ha2UucnVsZXMKK2luZGV4IDM3NDYxYWUuLjE5N2M1ZTggMTAwNjQ0CistLS0gYS9jcHAvY29uZmlnL01ha2UucnVsZXMKKysrKyBiL2NwcC9jb25maWcvTWFrZS5ydWxlcworQEAgLTE3NSwxMSArMTc1LDEyIEBAIGhlYWRlcmRpcgkJPSAkKHRvcF9zcmNkaXIpL2luY2x1ZGUKKyAjIGluY2x1ZGVkaXIgaXMgbm90IGhhbmRsZWQgdGhlIHNhbWUgYXMgYmluZGlyIGFuZCBsaWJkaXIKKyAjIGJlY2F1c2UgaXQgaXMgdXNlZCBpbiB0aGUgLmRlcGVuZCBmaWxlcworICMKKy1pZmRlZiBpY2Vfc3JjX2Rpc3QKKy0gICAgaW5jbHVkZWRpcgkJPSAkKHRvcF9zcmNkaXIpL2luY2x1ZGUKKy1lbHNlCistICAgIGluY2x1ZGVkaXIJCT0gJChpY2VfZGlyKS9pbmNsdWRlCistZW5kaWYKKysjaWZkZWYgaWNlX3NyY19kaXN0CisrIyAgICBpbmNsdWRlZGlyCQk9ICQodG9wX3NyY2RpcikvaW5jbHVkZQorKyNlbHNlCisrIyAgICBpbmNsdWRlZGlyCQk9ICQoaWNlX2RpcikvaW5jbHVkZQorKyNlbmRpZgorK2luY2x1ZGVkaXIJCT0gJCh0b3Bfc3JjZGlyKS9pbmNsdWRlCisgCisgIworICMgUGxhdGZvcm0gc3BlY2lmaWMgZGVmaW5pdGlvbnMKK0BAIC0yNzcsMTQgKzI3OCwxNyBAQCBJQ0VDUFBGTEFHUwkJPSAtSSQoc2xpY2VkaXIpCisgU0xJQ0UyQ1BQRkxBR1MJCT0gJChJQ0VDUFBGTEFHUykKKyAKKyBpZmVxICgkKGljZV9kaXIpLCAvdXNyKSAKKy0gICAgTERGTEFHUwkJPSAkKExEUExBVEZPUk1GTEFHUykgJChDWFhGTEFHUykKKysgICAgTERGTEFHUwkJKz0gJChMRFBMQVRGT1JNRkxBR1MpICQoQ1hYRkxBR1MpCisgZWxzZQorICAgICBDUFBGTEFHUwkrPSAtSSQoaW5jbHVkZWRpcikKKy0gICAgaWZkZWYgaWNlX3NyY19kaXN0CistCUxERkxBR1MJPSAkKExEUExBVEZPUk1GTEFHUykgJChDWFhGTEFHUykgLUwkKGxpYmRpcikKKy0gICAgZWxzZQorLQlMREZMQUdTCT0gJChMRFBMQVRGT1JNRkxBR1MpICQoQ1hYRkxBR1MpIC1MJChpY2VfZGlyKS8kKGxpYnN1YmRpcikkKGNwcDExc3VmZml4KQorLSAgICBlbmRpZgorKyMgV2UgbXVzdCBhbHdheXMgYnVpbGQgdXNpbmcgdGhlIGxpYnJhcmllcyBpbiB0aGUgc291cmNlIHRyZWUsIHRoZSBob3N0J3MgYXJlIG9idmlvdXNseQorKyMgbm90IHdoYXQgd2Ugd2FudCBmb3IgdGhlIHRhcmdldAorKyAgICBMREZMQUdTCSs9ICQoTERQTEFURk9STUZMQUdTKSAkKENYWEZMQUdTKSAtTCQobGliZGlyKSAkKGNhbGwgcnBhdGhsaW5rLCQobGliZGlyKSkKKysjICAgIGlmZGVmIGljZV9zcmNfZGlzdAorKyMgICAgICAgIExERkxBR1MJPSAkKExEUExBVEZPUk1GTEFHUykgJChDWFhGTEFHUykgLUwkKGxpYmRpcikKKysjICAgIGVsc2UKKysjCUxERkxBR1MJPSAkKExEUExBVEZPUk1GTEFHUykgJChDWFhGTEFHUykgLUwkKGljZV9kaXIpLyQobGlic3ViZGlyKSQoY3BwMTFzdWZmaXgpCisrIyAgICBlbmRpZgorIGVuZGlmCisgCisgaWZlcSAoJChGTEVYX05PTElORSkseWVzKQorQEAgLTMxMyw4ICszMTcsMTAgQEAgZW5kaWYKKyAKKyBpZmRlZiBpY2Vfc3JjX2Rpc3QKKyAgICAgU0xJQ0VQQVJTRVJMSUIJPSAkKGxpYmRpcikvJChjYWxsIG1rbGliZmlsZW5hbWUsU2xpY2UsJChWRVJTSU9OKSkKKy0gICAgU0xJQ0UyQ1BQCQk9ICQoYmluZGlyKS9zbGljZTJjcHAKKy0gICAgU0xJQ0UyRlJFRVpFCT0gJChiaW5kaXIpL3NsaWNlMmZyZWV6ZQorKyMgICAgU0xJQ0UyQ1BQCQk9ICQoYmluZGlyKS9zbGljZTJjcHAKKysjICAgIFNMSUNFMkZSRUVaRQk9ICQoYmluZGlyKS9zbGljZTJmcmVlemUKKysgICAgU0xJQ0UyQ1BQCQk9ICQoSUNFX0hPTUUpL2Jpbi9zbGljZTJjcHAKKysgICAgU0xJQ0UyRlJFRVpFCT0gJChJQ0VfSE9NRSkvYmluL3NsaWNlMmZyZWV6ZQorIGVsc2UKKyAgICAgU0xJQ0VQQVJTRVJMSUIJPSAkKGljZV9kaXIpLyQobGlic3ViZGlyKSQoY3BwMTFzdWZmaXgpLyQoY2FsbCBta2xpYmZpbGVuYW1lLFNsaWNlLCQoVkVSU0lPTikpCisgICAgIFNMSUNFMkNQUAkJPSAkKGljZV9kaXIpLyQoYmluc3ViZGlyKSQoY3BwMTFzdWZmaXgpL3NsaWNlMmNwcAorZGlmZiAtLWdpdCBhL2NwcC9jb25maWcvTWFrZS5ydWxlcy5MaW51eCBiL2NwcC9jb25maWcvTWFrZS5ydWxlcy5MaW51eAoraW5kZXggNWQ1NzE3Yy4uODM2M2M2ZSAxMDA2NDQKKy0tLSBhL2NwcC9jb25maWcvTWFrZS5ydWxlcy5MaW51eAorKysrIGIvY3BwL2NvbmZpZy9NYWtlLnJ1bGVzLkxpbnV4CitAQCAtMzEsNyArMzEsNyBAQCBpZmVxICgkKENYWCksYysrKQorICAgIENYWAkJCT0gZysrCisgZW5kaWYKKyAKKy1pZmVxICgkKENYWCksZysrKQorKyNpZmVxICgkKENYWCksZysrKQorIAorICAgICBpZm5lcSAoJChTVVNFX2k1ODYpLCkKKyAgICAgICAgIENYWEFSQ0hGTEFHUwkrPSAtbWFyY2g9aTU4NgorQEAgLTcxLDE0ICs3MSw2IEBAIGlmZXEgKCQoQ1hYKSxnKyspCisgICAgICAgQ1hYQVJDSEZMQUdTCSs9IC1tdHVuZT12OCAtcGlwZSAtV25vLWRlcHJlY2F0ZWQgLURJQ0VfVVNFX01VVEVYX1NIQVJFRAorICAgIGVuZGlmCisgCistICAgaWZlcSAoJChNQUNISU5FKSx4ODZfNjQpCistICAgICAgaWZlcSAoJChMUDY0KSx5ZXMpCistICAgICAgICAgQ1hYQVJDSEZMQUdTCSs9IC1tNjQKKy0gICAgICBlbHNlCistICAgICAgICAgQ1hYQVJDSEZMQUdTCSs9IC1tMzIKKy0gICAgICBlbmRpZgorLSAgIGVuZGlmCistCisgICAgQ1hYRkxBR1MJCT0gJChDWFhBUkNIRkxBR1MpIC1XYWxsIC1XZXJyb3IgLXB0aHJlYWQKKyAKKyAgICBpZm5lcSAoJChHRU5QSUMpLG5vKQorQEAgLTEwMiwxNSArOTQsMTEgQEAgaWZlcSAoJChDWFgpLGcrKykKKyAKKyAgICBycGF0aGxpbmsgICAgICAgICAgICA9IC1XbCwtcnBhdGgtbGluaywkKDEpIAorIAorLSAgIGlmbmVxICgkKGVtYmVkZGVkX3J1bnBhdGhfcHJlZml4KSwpCistICAgICAgTERQTEFURk9STUZMQUdTICAgICAgPSAtV2wsLS1lbmFibGUtbmV3LWR0YWdzIC1XbCwtcnBhdGgsJChydW5wYXRoX2xpYmRpcikKKy0gICBlbHNlCistICAgICAgTERQTEFURk9STUZMQUdTICAgICAgPSAtV2wsLS1lbmFibGUtbmV3LWR0YWdzCistICAgZW5kaWYKKysgICBMRFBMQVRGT1JNRkxBR1MgICAgICA9IC1XbCwtLWVuYWJsZS1uZXctZHRhZ3MgLVdsLC1ycGF0aCwuLi8uLi8uLi9saWIKKyAKKyAgICBMRFBMQVRGT1JNRkxBR1MJKz0gLXJkeW5hbWljCisgCistZW5kaWYKKysjZW5kaWYKKyAKKyBpZmVxICgkKENYWCksaWNwYykKKyAgICAkKHdhcm5pbmcgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSkgCitkaWZmIC0tZ2l0IGEvY3BwL3NyYy9JY2VTdG9ybS9GcmVlemVEQi9NYWtlZmlsZSBiL2NwcC9zcmMvSWNlU3Rvcm0vRnJlZXplREIvTWFrZWZpbGUKK2luZGV4IDdjODQ0YjcuLmNmMTVjYjEgMTAwNjQ0CistLS0gYS9jcHAvc3JjL0ljZVN0b3JtL0ZyZWV6ZURCL01ha2VmaWxlCisrKysgYi9jcHAvc3JjL0ljZVN0b3JtL0ZyZWV6ZURCL01ha2VmaWxlCitAQCAtNjYsNyArNjYsNyBAQCAkKGxpYmRpcikvJChMSUJOQU1FKTogJChsaWJkaXIpLyQoU09OQU1FKQorIAorICQoTUlHUkFURSk6ICQoTU9CSlMpCisgCXJtIC1mICRACistCSQoQ1hYKSAkKExERkxBR1MpIC1vICRAICQoTU9CSlMpICQoREJfUlBBVEhfTElOSykgLWxJY2VTdG9ybVNlcnZpY2UgLWxJY2VTdG9ybSAtbEZyZWV6ZSAkKExJQlMpCisrCSQoQ1hYKSAkKExERkxBR1MpIC1vICRAICQoTU9CSlMpICQoREJfUlBBVEhfTElOSykgLWxJY2VTdG9ybVNlcnZpY2UgLWxJY2VTdG9ybSAtbEZyZWV6ZSAkKExJQlMpIC1sZGJfY3h4CisgCisgIyBUaGUgc2xpY2UyZnJlZXplIHJ1bGVzIGFyZSBzdHJ1Y3R1cmVkIGxpa2UgdGhpcyB0byBhdm9pZCBpc3N1ZXMgd2l0aAorICMgcGFyYWxsZWwgbWFrZS4KK2RpZmYgLS1naXQgYS9weS9jb25maWcvTWFrZS5ydWxlcyBiL3B5L2NvbmZpZy9NYWtlLnJ1bGVzCitpbmRleCA0M2NlMDFiLi4xMzQ5MzQyIDEwMDY0NAorLS0tIGEvcHkvY29uZmlnL01ha2UucnVsZXMKKysrKyBiL3B5L2NvbmZpZy9NYWtlLnJ1bGVzCitAQCAtOTIsMjEgKzkyLDIzIEBAIGlmZXEgKCQoc2hlbGwgdGVzdCAtZiAkKHRvcF9zcmNkaXIpL2NvbmZpZy9NYWtlLnJ1bGVzLiQoVU5BTUUpICYmIGVjaG8gMCksMCkKKyAgICAgaW5jbHVkZSAkKHRvcF9zcmNkaXIpL2NvbmZpZy9NYWtlLnJ1bGVzLiQoVU5BTUUpCisgZWxzZQorICAgICBpbmNsdWRlICQodG9wX3NyY2RpcikvLi4vY3BwL2NvbmZpZy9NYWtlLnJ1bGVzLiQoVU5BTUUpCistZW5kaWYgCisrZW5kaWYKKyAKKyBsaWJkaXIgICAgICAgICAgICAgICAgICA9ICQodG9wX3NyY2RpcikvcHl0aG9uCistaWZuZXEgKCQocHJlZml4KSwgL3VzcikKKy1pbnN0YWxsX3B5dGhvbmRpciAgICAgICA9ICQocHJlZml4KS9weXRob24KKy1pbnN0YWxsX2xpYmRpciAgICAgICAgICA9ICQocHJlZml4KS9weXRob24KKy1lbHNlCistICAgIGlmZXEgKCQoc2hlbGwgdGVzdCAtZCAkKHByZWZpeCkvJChsaWJzdWJkaXIpLyQoUFlUSE9OX1ZFUlNJT04pL2Rpc3QtcGFja2FnZXMgJiYgZWNobyAwKSwwKQorLSAgICAgICAgaW5zdGFsbF9weXRob25kaXIgICAgICAgPSAkKHByZWZpeCkvJChsaWJzdWJkaXIpLyQoUFlUSE9OX1ZFUlNJT04pL2Rpc3QtcGFja2FnZXMKKy0gICAgICAgIGluc3RhbGxfbGliZGlyICAgICAgICAgID0gJChwcmVmaXgpLyQobGlic3ViZGlyKS8kKFBZVEhPTl9WRVJTSU9OKS9kaXN0LXBhY2thZ2VzCistICAgIGVsc2UKKy0gICAgICAgIGluc3RhbGxfcHl0aG9uZGlyICAgICAgID0gJChwcmVmaXgpLyQobGlic3ViZGlyKS8kKFBZVEhPTl9WRVJTSU9OKS9zaXRlLXBhY2thZ2VzCistICAgICAgICBpbnN0YWxsX2xpYmRpciAgICAgICAgICA9ICQocHJlZml4KS8kKGxpYnN1YmRpcikvJChQWVRIT05fVkVSU0lPTikvc2l0ZS1wYWNrYWdlcworLSAgICBlbmRpZgorLWVuZGlmCisrI2lmbmVxICgkKHByZWZpeCksIC91c3IpCisrI2luc3RhbGxfcHl0aG9uZGlyICAgICAgID0gJChwcmVmaXgpL3B5dGhvbgorKyNpbnN0YWxsX2xpYmRpciAgICAgICAgICA9ICQocHJlZml4KS9weXRob24KKysjZWxzZQorKyMgICAgaWZlcSAoJChzaGVsbCB0ZXN0IC1kICQocHJlZml4KS8kKGxpYnN1YmRpcikvJChQWVRIT05fVkVSU0lPTikvZGlzdC1wYWNrYWdlcyAmJiBlY2hvIDApLDApCisrIyAgICAgICAgaW5zdGFsbF9weXRob25kaXIgICAgICAgPSAkKHByZWZpeCkvJChsaWJzdWJkaXIpLyQoUFlUSE9OX1ZFUlNJT04pL2Rpc3QtcGFja2FnZXMKKysjICAgICAgICBpbnN0YWxsX2xpYmRpciAgICAgICAgICA9ICQocHJlZml4KS8kKGxpYnN1YmRpcikvJChQWVRIT05fVkVSU0lPTikvZGlzdC1wYWNrYWdlcworKyMgICAgZWxzZQorKyMgICAgICAgIGluc3RhbGxfcHl0aG9uZGlyICAgICAgID0gJChwcmVmaXgpLyQobGlic3ViZGlyKS8kKFBZVEhPTl9WRVJTSU9OKS9zaXRlLXBhY2thZ2VzCisrIyAgICAgICAgaW5zdGFsbF9saWJkaXIgICAgICAgICAgPSAkKHByZWZpeCkvJChsaWJzdWJkaXIpLyQoUFlUSE9OX1ZFUlNJT04pL3NpdGUtcGFja2FnZXMKKysjICAgIGVuZGlmCisrI2VuZGlmCisraW5zdGFsbF9weXRob25kaXIgICAgICAgPSAkKHByZWZpeCkvJChsaWJzdWJkaXIpLyQoUFlUSE9OX1ZFUlNJT04pL3NpdGUtcGFja2FnZXMKKytpbnN0YWxsX2xpYmRpciAgICAgICAgICA9ICQocHJlZml4KS8kKGxpYnN1YmRpcikvJChQWVRIT05fVkVSU0lPTikvc2l0ZS1wYWNrYWdlcworIAorIGlmZXEgKCQoVU5BTUUpLFN1bk9TKQorICAgIGlmZXEgKCQoTFA2NCkseWVzKQorQEAgLTExNSwxOSArMTE3LDIxIEBAIGlmZXEgKCQoVU5BTUUpLFN1bk9TKQorICAgIGVuZGlmCisgZW5kaWYKKyAKKy1pZmRlZiBpY2Vfc3JjX2Rpc3QKKy0gICAgaWZlcSAoJChpY2VfY3BwX2RpciksICQoaWNlX2RpcikvY3BwKQorLSAgICAgICAgSUNFX0xJQl9ESVIgPSAtTCQoaWNlX2NwcF9kaXIpL2xpYgorLSAgICBlbHNlCistICAgICAgICBJQ0VfTElCX0RJUiA9IC1MJChpY2VfY3BwX2RpcikvJChsaWJzdWJkaXIpCistICAgIGVuZGlmCistICAgIElDRV9MSUJfRElSID0gLUwkKGljZV9jcHBfZGlyKS9saWIKKy0gICAgSUNFX0ZMQUdTIAk9IC1JJChpY2VfY3BwX2RpcikvaW5jbHVkZQorLWVuZGlmCistaWZkZWYgaWNlX2Jpbl9kaXN0CistICAgIElDRV9MSUJfRElSID0gLUwkKGljZV9kaXIpLyQobGlic3ViZGlyKQorLSAgICBJQ0VfRkxBR1MJPSAtSSQoaWNlX2RpcikvaW5jbHVkZQorLWVuZGlmCisrI2lmZGVmIGljZV9zcmNfZGlzdAorKyMgICAgaWZlcSAoJChpY2VfY3BwX2RpciksICQoaWNlX2RpcikvY3BwKQorKyMgICAgICAgIElDRV9MSUJfRElSID0gLUwkKGljZV9jcHBfZGlyKS9saWIKKysjICAgIGVsc2UKKysjICAgICAgICBJQ0VfTElCX0RJUiA9IC1MJChpY2VfY3BwX2RpcikvJChsaWJzdWJkaXIpCisrIyAgICBlbmRpZgorKyMgICAgSUNFX0xJQl9ESVIgPSAtTCQoaWNlX2NwcF9kaXIpL2xpYgorKyMgICAgSUNFX0ZMQUdTIAk9IC1JJChpY2VfY3BwX2RpcikvaW5jbHVkZQorKyNlbmRpZgorKyNpZmRlZiBpY2VfYmluX2Rpc3QKKysjICAgIElDRV9MSUJfRElSID0gLUwkKGljZV9kaXIpLyQobGlic3ViZGlyKQorKyMgICAgSUNFX0ZMQUdTCT0gLUkkKGljZV9kaXIpL2luY2x1ZGUKKysjZW5kaWYKKytJQ0VfTElCX0RJUiA9IC1MJCh0b3Bfc3JjZGlyKS8uLi9jcHAvbGliCisrSUNFX0ZMQUdTID0gLUkkKGljZV9jcHBfZGlyKS9pbmNsdWRlCisgSUNFX0xJQlMgPSAkKElDRV9MSUJfRElSKSAtbEljZSAtbFNsaWNlIC1sSWNlVXRpbAorIAorIGlmbmVxICgkKGVtYmVkZGVkX3J1bnBhdGhfcHJlZml4KSwpCitAQCAtMTM3LDcgKzE0MSw3IEBAIGVuZGlmCisgQ1BQRkxBR1MJCT0KKyBJQ0VDUFBGTEFHUwkJPSAtSSQoc2xpY2VkaXIpCisgU0xJQ0UyUFlGTEFHUwkJPSAkKElDRUNQUEZMQUdTKQorLUxERkxBR1MJCQk9ICQoTERQTEFURk9STUZMQUdTKSAkKENYWEZMQUdTKSAtTCQobGliZGlyKQorK0xERkxBR1MJCQkrPSAkKExEUExBVEZPUk1GTEFHUykgJChDWFhGTEFHUykgLUwkKGxpYmRpcikKKyAKKyBpZmRlZiBpY2Vfc3JjX2Rpc3QKKyAgICAgaWZlcSAoJChpY2VfY3BwX2RpciksICQoaWNlX2RpcikvY3BwKQorLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS96ZXJvYy1pY2UvemVyb2MtaWNlXzMuNS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3plcm9jLWljZS96ZXJvYy1pY2VfMy41LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmI2ZjU2ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS96ZXJvYy1pY2UvemVyb2MtaWNlXzMuNS4xLmJiCkBAIC0wLDAgKzEsODcgQEAKK0RFU0NSSVBUSU9OID0gIlRoZSBJbnRlcm5ldCBDb21tdW5pY2F0aW9ucyBFbmdpbmUiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vSUNFX0xJQ0VOU0U7bWQ1PTNkYzMwMzcwMjNjYzJhZTZiMmM1Yjk5NWRhNTI5NTE1IgorREVQRU5EUyA9ICJiemlwMiBleHBhdCBvcGVuc3NsIHB5dGhvbiBkYiBtY3BwIgorREVQRU5EU19wcmVwZW5kX2NsYXNzLXRhcmdldCA9ICJ6ZXJvYy1pY2UtbmF0aXZlICIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lnplcm9jLmNvbS9kb3dubG9hZC9JY2UvMy41L0ljZS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1Nb2RpZnktTWFrZWZpbGUtZm9yLWNyb3NzLWNvbXBpbGUucGF0Y2ggXAorICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJmMDBjNTk5ODNjYzkwNGJjYTk3NzEzM2MwYTliM2U4MCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5ODllNTExOTRjNmFkYWRiZDE1NmRhMzI4OGUzN2JhZDg0N2I5M2IzYjg3NjUwMmU4MzAzM2I3MDQ5M2FmMzkyIgorCisjfCBNYXBEYi5jcHA6IEluIGNvbnN0cnVjdG9yICdGcmVlemU6Ok1hcERiOjpNYXBEYihjb25zdCBDb25uZWN0aW9uSVB0ciYsIGNvbnN0IHN0cmluZyYsIGNvbnN0IHN0cmluZyYsIGNvbnN0IHN0cmluZyYsIGNvbnN0IEtleUNvbXBhcmVCYXNlUHRyJiwgY29uc3Qgc3RkOjp2ZWN0b3I8SWNlVXRpbDo6SGFuZGxlPEZyZWV6ZTo6TWFwSW5kZXhCYXNlPiA+JiwgYm9vbCknOgorI3wgTWFwRGIuY3BwOjEzODo0NjogZXJyb3I6IGNhbGwgb2Ygb3ZlcmxvYWRlZCAnc2V0X2J0X2NvbXBhcmUoaW50ICgqKShEQiosIGNvbnN0IERCVCosIGNvbnN0IERCVCopKScgaXMgYW1iaWd1b3VzCisjfCBNYXBEYi5jcHA6MTM4OjQ2OiBub3RlOiBjYW5kaWRhdGVzIGFyZToKKyN8IC9ob21lL2plbmtpbnMvb2Uvd29ybGQvc2hyLWNvcmUvdG1wLWVnbGliYy9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2luY2x1ZGUvZGJfY3h4Lmg6MjcyOjE0OiBub3RlOiB2aXJ0dWFsIGludCBEYjo6c2V0X2J0X2NvbXBhcmUoYnRfY29tcGFyZV9mY25fdHlwZSkgPG5lYXIgbWF0Y2g+CisjfCAvaG9tZS9qZW5raW5zL29lL3dvcmxkL3Noci1jb3JlL3RtcC1lZ2xpYmMvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9pbmNsdWRlL2RiX2N4eC5oOjI3MjoxNDogbm90ZTogICBubyBrbm93biBjb252ZXJzaW9uIGZvciBhcmd1bWVudCAxIGZyb20gJ2ludCAoKikoREIqLCBjb25zdCBEQlQqLCBjb25zdCBEQlQqKSB7YWthIGludCAoKikoX19kYiosIGNvbnN0IF9fZGJfZGJ0KiwgY29uc3QgX19kYl9kYnQqKX0nIHRvICdidF9jb21wYXJlX2Zjbl90eXBlIHtha2EgaW50ICgqKShfX2RiKiwgY29uc3QgX19kYl9kYnQqLCBjb25zdCBfX2RiX2RidCosIGxvbmcgdW5zaWduZWQgaW50Kil9JworI3wgL2hvbWUvamVua2lucy9vZS93b3JsZC9zaHItY29yZS90bXAtZWdsaWJjL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvaW5jbHVkZS9kYl9jeHguaDoyNzM6MTQ6IG5vdGU6IHZpcnR1YWwgaW50IERiOjpzZXRfYnRfY29tcGFyZShpbnQgKCopKERiKiwgY29uc3QgRGJ0KiwgY29uc3QgRGJ0Kiwgc2l6ZV90KikpIDxuZWFyIG1hdGNoPgorI3wgL2hvbWUvamVua2lucy9vZS93b3JsZC9zaHItY29yZS90bXAtZWdsaWJjL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvaW5jbHVkZS9kYl9jeHguaDoyNzM6MTQ6IG5vdGU6ICAgbm8ga25vd24gY29udmVyc2lvbiBmb3IgYXJndW1lbnQgMSBmcm9tICdpbnQgKCopKERCKiwgY29uc3QgREJUKiwgY29uc3QgREJUKikge2FrYSBpbnQgKCopKF9fZGIqLCBjb25zdCBfX2RiX2RidCosIGNvbnN0IF9fZGJfZGJ0Kil9JyB0byAnaW50ICgqKShEYiosIGNvbnN0IERidCosIGNvbnN0IERidCosIHNpemVfdCopIHtha2EgaW50ICgqKShEYiosIGNvbnN0IERidCosIGNvbnN0IERidCosIGxvbmcgdW5zaWduZWQgaW50Kil9JworI3wgbWFrZVszXTogKioqIFtNYXBEYi5vXSBFcnJvciAxCitQTkJMQUNLTElTVFt6ZXJvYy1pY2VdID89ICJCUk9LRU46IG5vdCBjb21wYXRpYmxlIHdpdGggZGVmYXVsdCBkYiB2ZXJzaW9uIgorCitTID0gIiR7V09SS0RJUn0vSWNlLSR7UFZ9IgorCitpbmhlcml0IHB5dGhvbi1kaXIgcGtnY29uZmlnCisKK2V4cG9ydCBQWVRIT05fVkVSU0lPTiA9ICJweXRob24yLjciCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICA6Cit9CisKK2RvX2NvbXBpbGVfcHJlcGVuZF9jbGFzcy10YXJnZXQgKCkgeworICAgIGV4cG9ydCBQWVRIT05fSU5DTFVERV9ESVI9IiR7U1RBR0lOR19JTkNESVJ9LyR7UFlUSE9OX0RJUn0iCisgICAgZXhwb3J0IFBZVEhPTl9MSUJfRElSPSIke1NUQUdJTkdfTElCRElSfS8ke1BZVEhPTl9ESVJ9IgorICAgIGV4cG9ydCBJQ0VfSE9NRT0iJHtTVEFHSU5HX0RJUl9OQVRJVkV9L3VzciIKK30KKworZG9fY29tcGlsZV9wcmVwZW5kX2NsYXNzLW5hdGl2ZXNkayAoKSB7CisgICAgZXhwb3J0IFBZVEhPTl9JTkNMVURFX0RJUj0iJHtTVEFHSU5HX0lOQ0RJUn0vJHtQWVRIT05fRElSfSIKKyAgICBleHBvcnQgUFlUSE9OX0xJQl9ESVI9IiR7U1RBR0lOR19MSUJESVJ9LyR7UFlUSE9OX0RJUn0iCisgICAgZXhwb3J0IElDRV9IT01FPSIke1NUQUdJTkdfRElSX05BVElWRX0vdXNyIgorfQorCitkb19jb21waWxlX3ByZXBlbmRfY2xhc3MtbmF0aXZlICgpIHsKKyAgICBleHBvcnQgUFlUSE9OX0lOQ0xVREVfRElSPSIke1NUQUdJTkdfSU5DRElSfS8ke1BZVEhPTl9ESVJ9IgorICAgIGV4cG9ydCBQWVRIT05fTElCX0RJUj0iJHtTVEFHSU5HX0xJQkRJUn0vJHtQWVRIT05fRElSfSIKKyAgICBleHBvcnQgSUNFX0hPTUU9IiR7U30vY3BwIgorfQorCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UgLUMgJHtTfSBjcHAKKyAgICBvZV9ydW5tYWtlIC1DICR7U30gcHkKK30KKworZG9faW5zdGFsbF9wcmVwZW5kX2NsYXNzLXRhcmdldCAoKSB7CisgICAgZXhwb3J0IFBZVEhPTl9JTkNMVURFX0RJUj0iJHtTVEFHSU5HX0lOQ0RJUn0vJHtQWVRIT05fRElSfSIKKyAgICBleHBvcnQgUFlUSE9OX0xJQl9ESVI9IiR7U1RBR0lOR19MSUJESVJ9LyR7UFlUSE9OX0RJUn0iCisgICAgZXhwb3J0IElDRV9IT01FPSIke1NUQUdJTkdfRElSX05BVElWRX0vdXNyIgorfQorCitkb19pbnN0YWxsX3ByZXBlbmRfY2xhc3MtbmF0aXZlc2RrICgpIHsKKyAgICBleHBvcnQgUFlUSE9OX0lOQ0xVREVfRElSPSIke1NUQUdJTkdfSU5DRElSfS8ke1BZVEhPTl9ESVJ9IgorICAgIGV4cG9ydCBQWVRIT05fTElCX0RJUj0iJHtTVEFHSU5HX0xJQkRJUn0vJHtQWVRIT05fRElSfSIKKyAgICBleHBvcnQgSUNFX0hPTUU9IiR7U1RBR0lOR19ESVJfTkFUSVZFfS91c3IiCit9CisKK2RvX2luc3RhbGxfcHJlcGVuZF9jbGFzcy1uYXRpdmUgKCkgeworICAgIGV4cG9ydCBJQ0VfSE9NRT0iJHtTfS9jcHAiCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSAtQyAke1N9L2NwcCBwcmVmaXg9JHtEfSR7cHJlZml4fSBpbnN0YWxsIGluc3RhbGwtY29tbW9uCisgICAgb2VfcnVubWFrZSAtQyAke1N9L3B5IHByZWZpeD0ke0R9JHtwcmVmaXh9IGluc3RhbGwKK30KKworUEFDS0FHRVMgKz0gIiR7UE59LXB5dGhvbiAke1BOfS1weXRob24tZGV2ICR7UE59LXB5dGhvbi1kYmciCisKK0ZJTEVTXyR7UE59LWRvYyArPSAiJHtwcmVmaXh9L21hbi9tYW4xIgorRklMRVNfJHtQTn0gKz0gIiR7cHJlZml4fS8qTElDRU5TRSAke2xpYmRpcn0vSW1wb3J0S2V5LmNsYXNzICR7cHJlZml4fS9SRUxFQVNFX05PVEVTICR7cHJlZml4fS9DSEFOR0VTIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2luY2x1ZGVkaXJ9ICR7cHJlZml4fS9zbGljZSAke3ByZWZpeH0vY29uZmlnIgorRklMRVNfJHtQTn0tcHl0aG9uLWRldiA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS9JY2VQeS5zbyIKK0ZJTEVTXyR7UE59LXB5dGhvbiA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qLnB5ICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L0ljZVB5LnNvLiogJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vSWNlKi8qLnB5IgorRklMRVNfJHtQTn0tcHl0aG9uLWRiZyA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7YmluZGlyfS9zbGljZSogJHtkYXRhZGlyfS9JY2UtJHtQVn0vc2xpY2UvKiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3plcm9tcS9jcHB6bXFfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3plcm9tcS9jcHB6bXFfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0MWNkMGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvemVyb21xL2NwcHptcV9naXQuYmIKQEAgLTAsMCArMSwxOSBAQAorREVTQ1JJUFRJT04gPSAiQysrIGJpbmRpbmdzIGZvciBaZXJvTVEiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lnplcm9tcS5vcmciCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWRiMTc0ZWFmN2I1NWEzNGE3Yzg5NTUxMTk3ZjY2ZTk0IgorREVQRU5EUyA9ICJ6ZXJvbXEiCitTUkNSRVYgPSAiNjhhN2IwOWNmY2UwMWM0YzI3OWZiYTJjZjkxNjg2ZmNmYzU2Njg0OCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3plcm9tcS9jcHB6bXEuZ2l0IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19pbnN0YWxsICgpIHsKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9L3Vzci9pbmNsdWRlCisgICAgICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L3ptcS5ocHAgJHtEfS91c3IvaW5jbHVkZS8KK30KKworUEFDS0FHRVMgPSAiJHtQTn0tZGV2IgorCitSREVQRU5EU18ke1BOfS1kZXYgPSAiemVyb21xLWRldiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS96ZXJvbXEvZmlsZXMvcnVuLXB0ZXN0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3plcm9tcS9maWxlcy9ydW4tcHRlc3QKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDhiOWNkOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS96ZXJvbXEvZmlsZXMvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsMTAgQEAKKyMhL2Jpbi9zaAorCitjZCB0ZXN0cworZm9yIGkgaW4gYGxzICpgOyBkbworICAgaWYgWyAuLyRpIF0gOyB0aGVuCisgICAgICAgZWNobyAiUEFTUzogJGkiCisgICBlbHNlCisgICAgICAgZWNobyAiRkFJTDogJGkiCisgICBmaQorZG9uZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3plcm9tcS96ZXJvbXFfNC4xLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvemVyb21xL3plcm9tcV80LjEuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMDkwMTUyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3plcm9tcS96ZXJvbXFfNC4xLjQuYmIKQEAgLTAsMCArMSwzMCBAQAorREVTQ1JJUFRJT04gPSAiWmVyb01RIGxvb2tzIGxpa2UgYW4gZW1iZWRkYWJsZSBuZXR3b3JraW5nIGxpYnJhcnkgYnV0IGFjdHMgbGlrZSBhIGNvbmN1cnJlbmN5IGZyYW1ld29yayIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuemVyb21xLm9yZyIKK0xJQ0VOU0UgPSAiTEdQTHYzKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTEVTU0VSO21kNT1kNTMxMTQ5NWQ5NTIwNjJlMGU0ZmJiYTM5Y2JmM2RlMSIKK0RFUEVORFMgPSAibGlic29kaXVtIgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZC56ZXJvbXEub3JnL3plcm9tcS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImE2MTFlY2M5M2ZmZmViNmQwNThjMGU2ZWRmNGFkNGZiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU5OWY0NGZkZTI1YzJlNGNiODRjZTQ0MGY4N2NhN2QzZmUzMjcxYzJiOGNmYmM2N2Q1NWU0ZGUyNWU2ZmUzNzgiCisKK1MgPSAiJHtXT1JLRElSfS96ZXJvbXEtJHtQVn0iCisKKyNVbmNvbW1lbnQgdG8gY2hvb3NlIHBvbGxpbmcgc3lzdGVtIG1hbnVhbGx5LiB2YWxpZCB2YWx1ZXMgYXJlIGtxdWV1ZSwgZXBvbGwsIGRldnBvbGwsIHBvbGwgb3Igc2VsZWN0CisjRVhUUkFfT0VDT05GICs9ICItLXdpdGgtcG9sbGVyPWtxdWV1ZSIKKyNDRkxBR1NfYXBwZW5kICs9ICItTzAiCisjQ1hYRkxBR1NfYXBwZW5kICs9ICItTzAiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHB0ZXN0IHBrZ2NvbmZpZworCitkb19jb21waWxlX3B0ZXN0ICgpIHsKKwllY2hvICdidWlsZHRlc3QtVEVTVFM6ICQoY2hlY2tfUFJPR1JBTVMpJyA+PiAke0J9L01ha2VmaWxlCisJb2VfcnVubWFrZSBidWlsZHRlc3QtVEVTVFMKK30KKworZG9faW5zdGFsbF9wdGVzdCAoKSB7CisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMKKyAgICAgICAgaW5zdGFsbCAtbSAwNzU1ICR7Qn0vLmxpYnMvdGVzdF8qICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2RidXMvZGJ1cy1kYWVtb24tcHJveHlfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9kYnVzL2RidXMtZGFlbW9uLXByb3h5X2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMDVlMWQxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9kYnVzL2RidXMtZGFlbW9uLXByb3h5X2dpdC5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gImRidXMgZm9yd2FyZGluZyBkYWVtb24iCitMSUNFTlNFID0gIkxHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RidXMtZGFlbW9uLXByb3h5LmM7ZW5kbGluZT0xOTttZDU9NDFkZjZkMjFmZTFjOTdkNmExY2MyMmE1YmYzNzRjYmEiCitERVBFTkRTID0gImRidXMgZGJ1cy1nbGliIgorU1JDUkVWID0gIjEyMjZhMGExMzc0NjI4ZmYxOTFmNmQ4YTU2MDAwYmU1ZTUzZTc2MDgiCitQViA9ICIwLjAuMCtnaXRyJHtTUkNQVn0iCitQUiA9ICJyMSIKKworQVNORUVERURfcG4tZGJ1cy1kYWVtb24tcHJveHkgPSAiIgorCitTUkNfVVJJID0gImdpdDovL2dpdC5jb2xsYWJvcmEuY28udWsvZ2l0L3VzZXIvYWxiYW4vZGJ1cy1kYWVtb24tcHJveHkiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19jb21waWxlKCkgeworICAgICR7Q0N9ICR7TERGTEFHU30gYHBrZy1jb25maWcgLS1jZmxhZ3MgLS1saWJzIGRidXMtZ2xpYi0xYCAtbyBkYnVzLWRhZW1vbi1wcm94eSBkYnVzLWRhZW1vbi1wcm94eS5jCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1IGRidXMtZGFlbW9uLXByb3h5ICR7RH0ke2JpbmRpcn0KK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9lZ2dkYnVzL2VnZ2RidXMvZ3RrLWRvYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZWdnZGJ1cy9lZ2dkYnVzL2d0ay1kb2MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWJkN2ZmNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZWdnZGJ1cy9lZ2dkYnVzL2d0ay1kb2MucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXSAKKworSW5kZXg6IGVnZ2RidXMtMC42L2RvY3MvZWdnZGJ1cy9NYWtlZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGVnZ2RidXMtMC42Lm9yaWcvZG9jcy9lZ2dkYnVzL01ha2VmaWxlLmFtCisrKysgZWdnZGJ1cy0wLjYvZG9jcy9lZ2dkYnVzL01ha2VmaWxlLmFtCitAQCAtODcsMTEgKzg3LDcgQEAgSFRNTF9JTUFHRVMgPSAJCQkJXAorICMgRXh0cmEgb3B0aW9ucyB0byBzdXBwbHkgdG8gZ3RrZG9jLWZpeHJlZgorIEZJWFhSRUZfT1BUSU9OUz0KKyAKKy1pZiBFTkFCTEVfR1RLX0RPQworLWluY2x1ZGUgJCh0b3Bfc3JjZGlyKS9ndGstZG9jLm1ha2UKKy1lbHNlCisgQ0xFQU5GSUxFUyA9CistZW5kaWYKKyAKKyBDTEVBTkZJTEVTICs9ICAgKn4JCQkJXAorIAkJZWdnZGJ1cy1zY2FuLioJCQlcCitJbmRleDogZWdnZGJ1cy0wLjYvZG9jcy90ZXN0cy9NYWtlZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGVnZ2RidXMtMC42Lm9yaWcvZG9jcy90ZXN0cy9NYWtlZmlsZS5hbQorKysrIGVnZ2RidXMtMC42L2RvY3MvdGVzdHMvTWFrZWZpbGUuYW0KK0BAIC02NSwxMSArNjUsNyBAQCBIVE1MX0lNQUdFUyA9IAkJCQlcCisgIyBFeHRyYSBvcHRpb25zIHRvIHN1cHBseSB0byBndGtkb2MtZml4cmVmCisgRklYWFJFRl9PUFRJT05TPQorIAorLWlmIEVOQUJMRV9HVEtfRE9DCistaW5jbHVkZSAkKHRvcF9zcmNkaXIpL2d0ay1kb2MubWFrZQorLWVsc2UKKyBDTEVBTkZJTEVTID0KKy1lbmRpZgorIAorIENMRUFORklMRVMgKz0gICAqfgkJCQlcCisgCQl0ZXN0cy1zY2FuLioJCQlcCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2VnZ2RidXMvZWdnZGJ1cy9tYXJzaGFsLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9lZ2dkYnVzL2VnZ2RidXMvbWFyc2hhbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNjA1YTM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9lZ2dkYnVzL2VnZ2RidXMvbWFyc2hhbC5wYXRjaApAQCAtMCwwICsxLDI4IEBACitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK0luZGV4OiBlZ2dkYnVzLTAuNi9zcmMvZWdnZGJ1cy9NYWtlZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGVnZ2RidXMtMC42Lm9yaWcvc3JjL2VnZ2RidXMvTWFrZWZpbGUuYW0KKysrKyBlZ2dkYnVzLTAuNi9zcmMvZWdnZGJ1cy9NYWtlZmlsZS5hbQorQEAgLTEzMCw3ICsxMzAsNyBAQCBCVUlMVF9TT1VSQ0VTID0JCQkJCQkJCVwKKyAJJChOVUxMKQorIAorIGVnZ2RidXMtYnVpbHQtc291cmNlcy5zdGFtcCA6IGVnZ2RidXMtYmluZGluZy10b29sIE1ha2VmaWxlLmFtIG9yZy5mcmVlZGVza3RvcC5EQnVzLnhtbCBvcmcuZnJlZWRlc2t0b3AuREJ1cy5QZWVyLnhtbCBvcmcuZnJlZWRlc2t0b3AuREJ1cy5Qcm9wZXJ0aWVzLnhtbCBvcmcuZnJlZWRlc2t0b3AuREJ1cy5JbnRyb3NwZWN0YWJsZS54bWwgZWdnZGJ1cy1nbGliLWdlbm1hcnNoYWwKKy0JRUdHX0RCVVNfR0VOTUFSU0hBTD0kKHRvcF9idWlsZGRpcikvc3JjL2VnZ2RidXMvZWdnZGJ1cy1nbGliLWdlbm1hcnNoYWwgJCh0b3BfYnVpbGRkaXIpL3NyYy9lZ2dkYnVzL2VnZ2RidXMtYmluZGluZy10b29sCQkJCQkJCVwKKysJRUdHX0RCVVNfR0VOTUFSU0hBTD1lZ2dkYnVzLWdsaWItZ2VubWFyc2hhbCBlZ2dkYnVzLWJpbmRpbmctdG9vbAkJCQkJCQlcCisgCQktLW5hbWVzcGFjZSBFZ2dEQnVzCQkJCQkJCQkJXAorIAkJLS1kYnVzLW5hbWVzcGFjZSBvcmcuZnJlZWRlc2t0b3AuREJ1cwkJCQkJCQlcCisgCQktLWludGVyZmFjZXMtb25seQkJCQkJCQkJCVwKK0luZGV4OiBlZ2dkYnVzLTAuNi9zcmMvdGVzdHMvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBlZ2dkYnVzLTAuNi5vcmlnL3NyYy90ZXN0cy9NYWtlZmlsZS5hbQorKysrIGVnZ2RidXMtMC42L3NyYy90ZXN0cy9NYWtlZmlsZS5hbQorQEAgLTI1LDcgKzI1LDcgQEAgQlVJTFRfU09VUkNFUyA9IAkJCQkJCQlcCisgCSQoTlVMTCkKKyAKKyB0ZXN0LWJ1aWx0LXNvdXJjZXMuc3RhbXAgOiBNYWtlZmlsZS5hbSAkKHRvcF9idWlsZGRpcikvc3JjL2VnZ2RidXMvZWdnZGJ1cy1iaW5kaW5nLXRvb2wgY29tLmV4YW1wbGUuRnJvYi54bWwgY29tLmV4YW1wbGUuVHdlYWsueG1sIGNvbS5leGFtcGxlLlR3aWRkbGUueG1sCistCUVHR19EQlVTX0dFTk1BUlNIQUw9JCh0b3BfYnVpbGRkaXIpL3NyYy9lZ2dkYnVzL2VnZ2RidXMtZ2xpYi1nZW5tYXJzaGFsICQodG9wX2J1aWxkZGlyKS9zcmMvZWdnZGJ1cy9lZ2dkYnVzLWJpbmRpbmctdG9vbAkJCQkJCQkJCVwKKysJRUdHX0RCVVNfR0VOTUFSU0hBTD1lZ2dkYnVzLWdsaWItZ2VubWFyc2hhbCBlZ2dkYnVzLWJpbmRpbmctdG9vbAkJCQkJCQkJCVwKKyAJICAtLW5hbWVzcGFjZSAgICAgICAiVGVzdCIJCQkJCQkJCQkJXAorIAkgIC0tZGJ1cy1uYW1lc3BhY2UgICJjb20uZXhhbXBsZSIJCQkJCQkJCQlcCisgCSAgLS1pbmNsdWRlLWhlYWRlciAgdGVzdHR5cGVzLmgJCQkJCQkJCQkJXApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9lZ2dkYnVzL2VnZ2RidXNfMC42LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9lZ2dkYnVzL2VnZ2RidXNfMC42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjMjhlYzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2VnZ2RidXMvZWdnZGJ1c18wLjYuYmIKQEAgLTAsMCArMSwzMyBAQAorU1VNTUFSWSA9ICJBbiBhbHRlcm5hdGl2ZSB0byBkYnVnLWdsaWIuIgorREVTQ1JJUFRJT04gPSAiQW4gYWx0ZXJuYXRpdmUgdG8gZGJ1cy1nbGliLiBJdCBpcyBkZXNpZ25lZCBzcGVjaWZpY2FsbHkgdG8gXAorbWFrZSBpdCBjb21mb3J0YWJsZSB0byB3b3JrIHdpdGggdmVyeSBsYXJnZSBhbmQgcG90ZW50aWFsbHkgXAorY29tcGxleCBELUJ1cyBzZXJ2aWNlcyBsaWtlIGUuZy4gRGV2aWNlS2l0LWRpc2tzIgorCitIT01FUEFHRSA9ICJodHRwOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcvfmRhdmlkL2VnZ2RidXMiCitMSUNFTlNFID0gIkxHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xNTVkYjg2Y2RiYWZhNzUzMmI0MWYzOTA0MDkyODNlYiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvZWdnZGJ1cy9lZ2dkYnVzLmg7bWQ1PTZiMzEyYWVmNTdlZDhkNzM4YjNmMTMxYWQwMzdkNmMyIgorCitERVBFTkRTID0gImRidXMgZ2xpYi0yLjAgZGJ1cy1nbGliIGVnZ2RidXMtbmF0aXZlIgorREVQRU5EU19jbGFzcy1uYXRpdmUgPSAiZGJ1cy1uYXRpdmUgZ2xpYi0yLjAtbmF0aXZlIGRidXMtZ2xpYi1uYXRpdmUiCisKK1NSQ19VUkkgPSAiaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL35kYXZpZC8ke0JQTn0vc25hcHNob3QvJHtCUE59LSR7UFZ9LnRhci5iejIgXAorICAgIGZpbGU6Ly9ndGstZG9jLnBhdGNoIFwKKyIKK1NSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICJmaWxlOi8vbWFyc2hhbC5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICIwYTExMWZhYTU0ZGZiYTJjZjQzMmMyYzhlOGE3NmUwNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzYWQyNmUyNzFjMWE4NzliYWZjZDE4MWUwNjVmZTBlZDUzYjU0MjI5OWE3NzNjMzE4OGM5ZWRiMjViODk1ZWQxIgorCitpbmhlcml0IGF1dG90b29scyBndGstZG9jCisKK0VYVFJBX09FQ09ORiA9ICIgLS1kaXNhYmxlLW1hbi1wYWdlcyAiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitQQVJBTExFTF9NQUtFID0gIiIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgIyBDcmVhdGUgQ2hhbmdlTG9nIHRvIHdhbGsgYXJvdW5kIGF1dG9tYWtlIGVycm9yLgorICAgICMgIiBNYWtlZmlsZS5hbTogZXJyb3I6IHJlcXVpcmVkIGZpbGUgJy4vQ2hhbmdlTG9nJyBub3QgZm91bmQgIgorICAgIHRvdWNoICR7U30vQ2hhbmdlTG9nCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2Zha2Vyb290L2Zha2Vyb290LW5hdGl2ZV8xLjE4LjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2Zha2Vyb290L2Zha2Vyb290LW5hdGl2ZV8xLjE4LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTI3YTYwYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZmFrZXJvb3QvZmFrZXJvb3QtbmF0aXZlXzEuMTguNC5iYgpAQCAtMCwwICsxLDE1IEBACityZXF1aXJlIGZha2Vyb290XyR7UFZ9LmJiCisKK1MgPSAiJHtXT1JLRElSfS9mYWtlcm9vdC0ke1BWfSIKKworaW5oZXJpdCBuYXRpdmUKKworRVhUUkFfT0VDT05GID0gIi0tcHJvZ3JhbS1wcmVmaXg9IgorCisjIENvbXBhdGFiaWxpdHkgZm9yIHRoZSByYXJlIHN5c3RlbXMgbm90IHVzaW5nIG9yIGhhdmluZyBTWVNWCitweXRob24gKCkgeworICAgIGlmIGQuZ2V0VmFyKCdIT1NUX05PTlNZU1YnLCBUcnVlKSBhbmQgZC5nZXRWYXIoJ0hPU1RfTk9OU1lTVicsIFRydWUpICE9ICcwJzoKKyAgICAgICAgZC5zZXRWYXIoJ0VYVFJBX09FQ09ORicsICcgLS13aXRoLWlwYz10Y3AgLS1wcm9ncmFtLXByZWZpeD0gJykKK30KKworUkRFUEVORFNfJHtQTn0gPSAidXRpbC1saW51eC1uYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2Zha2Vyb290L2Zha2Vyb290XzEuMTguNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZmFrZXJvb3QvZmFrZXJvb3RfMS4xOC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3YjNjMTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2Zha2Vyb290L2Zha2Vyb290XzEuMTguNC5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gIkdpdmVzIGEgZmFrZSByb290IGVudmlyb25tZW50IgorSE9NRVBBR0UgPSAiaHR0cDovL2Zha2Vyb290LmFsaW90aC5kZWJpYW4ub3JnIgorU0VDVElPTiA9ICJiYXNlIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWYyN2RlZmUxZTk2YzJlMWVjZDRlMGM5YmU4OTY3OTQ5IgorCitTUkNfVVJJID0gIlwKKyAgICAke0RFQklBTl9NSVJST1J9L21haW4vZi9mYWtlcm9vdC9mYWtlcm9vdF8ke1BWfS5vcmlnLnRhci5iejIgXAorIgorCitpbmhlcml0IGF1dG90b29scworCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBta2RpciAtcCAke1N9L2J1aWxkLWF1eAorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9L2Zha2Vyb290CisgICAgaW5zdGFsbCAtbSA2NDQgKi5oICR7RH0ke2luY2x1ZGVkaXJ9L2Zha2Vyb290Cit9CisKKyMgZmFrZXJvb3QgbmVlZHMgZ2V0b3B0IHdoaWNoIGlzIHByb3ZpZGVkIGJ5IHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UKK1JERVBFTkRTXyR7UE59ID0gInV0aWwtbGludXgiCisKKworU1JDX1VSSVttZDVzdW1dID0gIjcwNjE3MWQ4ZDUyMGIxY2ExNTc2YWM3M2YyY2ViNGYzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBhMzU5ZWZhM2U5NDk2YzMzMjM0YjNlOWM4OTMwNmEwOWJiNGRhOWQzM2RlNDNjMjYxZjFkODQ0N2U2ZWJlYTIiCisKKyMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzM1MTQzLworUE5CTEFDS0xJU1RbZmFrZXJvb3RdID89ICJCUk9LRU46IFFBIElzc3VlOiAtZGV2IHBhY2thZ2UgY29udGFpbnMgbm9uLXN5bWxpbmsgLnNvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGlibW0vcmVtb3ZlLWV4YW1wbGVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGlibW0vcmVtb3ZlLWV4YW1wbGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1OTQ0YzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWJtbS9yZW1vdmUtZXhhbXBsZXMucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorSW5kZXg6IGdsaWJtbS0yLjIyLjEvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnbGlibW0tMi4yMi4xLm9yaWcvTWFrZWZpbGUuYW0KKysrKyBnbGlibW0tMi4yMi4xL01ha2VmaWxlLmFtCitAQCAtMjMsMTIgKzIzLDcgQEAgc3JjX3N1YmRpcnMgPSBnbGliL3NyYyBnaW8vc3JjCisgZWxzZQorIHNyY19zdWJkaXJzID0KKyBlbmRpZgorLWlmIEVOQUJMRV9ET0NVTUVOVEFUSU9OCistZG9jX3N1YmRpcnMgPSBkb2NzCistZWxzZQorLWRvY19zdWJkaXJzID0KKy1lbmRpZgorLVNVQkRJUlMgPSB0b29scyAkKHNyY19zdWJkaXJzKSBnbGliL2dsaWJtbSBnaW8vZ2lvbW0gdGVzdHMgZXhhbXBsZXMgJChkb2Nfc3ViZGlycykKKytTVUJESVJTID0gdG9vbHMgJChzcmNfc3ViZGlycykgZ2xpYi9nbGlibW0gZ2lvL2dpb21tIHRlc3RzCisgCisgZ2xpYm1tX2luY2x1ZGVkaXIgPSAkKGluY2x1ZGVkaXIpLyQoR0xJQk1NX01PRFVMRV9OQU1FKQorIGdsaWJtbV9pbmNsdWRlX0hFQURFUlMgPSBnbGliL2dsaWJtbS5oCitJbmRleDogZ2xpYm1tLTIuMjIuMS9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnbGlibW0tMi4yMi4xLm9yaWcvY29uZmlndXJlLmFjCisrKysgZ2xpYm1tLTIuMjIuMS9jb25maWd1cmUuYWMKK0BAIC0xMzYsNyArMTM2LDYgQEAgQUNfQ09ORklHX0ZJTEVTKFtNYWtlZmlsZQorICAgICAgICAgICAgICAgICAgZ2lvL3NyYy9NYWtlZmlsZQorICAgICAgICAgICAgICAgICAgZ2lvL2dpb21tL01ha2VmaWxlCisgICAgICAgICAgICAgICAgICB0ZXN0cy9NYWtlZmlsZQorLSAgICAgICAgICAgICAgICAgZXhhbXBsZXMvTWFrZWZpbGUKKyAgICAgICAgICAgICAgICAgIGRvY3MvTWFrZWZpbGUKKyAgICAgICAgICAgICAgICAgIGRvY3MvcmVmZXJlbmNlL0RveHlmaWxlCisgICAgICAgICAgICAgICAgICBNU1ZDX05ldDIwMDUvZ2xpYm1tL2dsaWJtbS5yYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGlibW1fMi40NC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGlibW1fMi40NC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5Y2ZmZmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWJtbV8yLjQ0LjAuYmIKQEAgLTAsMCArMSwzMSBAQAorU1VNTUFSWSA9ICJDKysgYmluZGluZ3MgZm9yIHRoZSBnbGliIGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lmd0a21tLm9yZy8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEx2Mi4xICYgR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kODA0NWYzYjhmOTI5YzFjYjI5YTFlM2ZkNzM3YjQ5OSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLnRvb2xzO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKKworREVQRU5EUyA9ICJtbS1jb21tb24gZ2xpYi0yLjAgbGlic2lnYysrLTIuMCIKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitTSFJUX1ZFUiA9ICIke0BkLmdldFZhcignUFYnLDEpLnNwbGl0KCcuJylbMF19LiR7QGQuZ2V0VmFyKCdQVicsMSkuc3BsaXQoJy4nKVsxXX0iCisKK1NSQ19VUkkgPSAiIFwKKyAgICBmdHA6Ly9mdHAuZ25vbWUub3JnL3B1Yi9HTk9NRS9zb3VyY2VzL2dsaWJtbS8ke1NIUlRfVkVSfS9nbGlibW0tJHtQVn0udGFyLnh6IFwKKyAgICBmaWxlOi8vcmVtb3ZlLWV4YW1wbGVzLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICIzMmVlNDE1MGI0MzZkMDk3ZmUyNTA2ZDBiMGIxM2E3NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxYjBhYzA0MjVkMjQ4OTU1MDdjMGUwZTgwODhhNDY0YzdhZTJkMjg5YzQ3YWZhMWMxMWY2MzI3OGZjNjcyZWE4IgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2dsaWJtbS0yLjQKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2FjbG9jYWwKKworICAgIGluc3RhbGwgLW0gMDY0NCBnbGliL2dsaWJtbWNvbmZpZy5oICR7RH0ke2RhdGFkaXJ9L2dsaWJtbS0yLjQvCisgICAgaW5zdGFsbCAtbSAwNjQ0IHNjcmlwdHMvZ2xpYm1tX2NoZWNrX3BlcmwubTQgJHtEfSR7ZGF0YWRpcn0vYWNsb2NhbC8gfHwgdHJ1ZQorfQorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vbGliKi5zby4qIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2RhdGFkaXJ9L2dsaWJtbS0qICR7bGliZGlyfS9nbGlibW0tMi40L2luY2x1ZGUvICR7bGliZGlyfS9nbGlibW0tMi40L3Byb2MvICR7bGliZGlyfS9naW9tbS0yLjQvaW5jbHVkZS8iCisKK1JERVBFTkRTXyR7UE59LWRldiA9ICJwZXJsIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9saWJzaWdjKystMi4wL2xpYnNpZ2MrKy0yLjBfMi4yLjExLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9saWJzaWdjKystMi4wL2xpYnNpZ2MrKy0yLjBfMi4yLjExLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0NjMwNWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2xpYnNpZ2MrKy0yLjAvbGlic2lnYysrLTIuMF8yLjIuMTEuYmIKQEAgLTAsMCArMSwyMSBAQAorU1VNTUFSWSA9ICJBIGxpYnJhcnkgZm9yIGxvb3NlIGNvdXBsaW5nIG9mIEMrKyBtZXRob2QgY2FsbHMiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDgwNDVmM2I4ZjkyOWMxY2IyOWExZTNmZDczN2I0OTkiCisKK0RFUEVORFMgPSAibW0tY29tbW9uIgorCitTUkNfVVJJID0gImh0dHA6Ly9mdHAuZ25vbWUub3JnL3B1Yi9HTk9NRS9zb3VyY2VzL2xpYnNpZ2MrKy8yLjIvbGlic2lnYysrLSR7UFZ9LnRhci54eiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI4MTVkMGM2ZDYxNjAxZjUxYmJjYWVlZjY4MjY2MDZiMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5ODM0MDQ1Zjc0ZjU2NzUyYzJjNmIzY2RjMTk1YzMwYWI4MzE0YWQyMmRjOGU2MjZkNmY2N2Y5NDBmMWU0OTU3IgorCitTID0gIiR7V09SS0RJUn0vbGlic2lnYysrLSR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scworCitFWFRSQV9BVVRPUkVDT05GID0gIi0tZXhjbHVkZT1hdXRvaGVhZGVyIgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9zaWdjKystKi8iCitGSUxFU18ke1BOfS1kb2MgKz0gIiR7ZGF0YWRpcn0vZGV2aGVscCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2xpYnhtbC9saWJ4bWwrKy9saWJ4bWwrK19wdGVzdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbGlieG1sL2xpYnhtbCsrL2xpYnhtbCsrX3B0ZXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyOTYwZjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2xpYnhtbC9saWJ4bWwrKy9saWJ4bWwrK19wdGVzdC5wYXRjaApAQCAtMCwwICsxLDgyIEBACitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQoraW5kZXggZDRhYWRiMS4uMGUzNjc1NiAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmFtCisrKysgYi9NYWtlZmlsZS5hbQorQEAgLTI1Myw1ICsyNTMsOCBAQCBwb3N0LWh0bWw6IGRvY3MvaW5kZXguaHRtbAorIAlyc3luYyAkKHJzeW5jX2FyZ3MpIC1yIGRvY3MvaW5kZXguaHRtbCAkJFVTRVIsbGlieG1scGx1c3BsdXNAd2ViLnNvdXJjZWZvcmdlLm5ldDokKHdlYl9wYXRoX3Byb2plY3QpCisgCXJzeW5jICQocnN5bmNfYXJncykgLXIgZXhhbXBsZXMgJCRVU0VSLGxpYnhtbHBsdXNwbHVzQHdlYi5zb3VyY2Vmb3JnZS5uZXQ6JCh3ZWJfcGF0aF9wcm9qZWN0KQorIAorK2luc3RhbGwtcHRlc3Q6CisrCW1ha2UgLUMgZXhhbXBsZXMgaW5zdGFsbC1wdGVzdAorKworICMgT3B0aW9uYWw6IGF1dG8tZ2VuZXJhdGUgdGhlIENoYW5nZUxvZyBmaWxlIGZyb20gdGhlIGdpdCBsb2cgb24gbWFrZSBkaXN0CisgaW5jbHVkZSAkKHRvcF9zcmNkaXIpL21hY3Jvcy9kaXN0LWNoYW5nZWxvZy5hbQorZGlmZiAtLWdpdCBhL2V4YW1wbGVzL01ha2VmaWxlLmFtIGIvZXhhbXBsZXMvTWFrZWZpbGUuYW0KK2luZGV4IGQ5NTQxY2EuLmMyN2UwODggMTAwNjQ0CistLS0gYS9leGFtcGxlcy9NYWtlZmlsZS5hbQorKysrIGIvZXhhbXBsZXMvTWFrZWZpbGUuYW0KK0BAIC0xOSw2ICsxOSw4IEBAIEFNX0NQUEZMQUdTID0gLUkkKHRvcF9idWlsZGRpcikgLUkkKHRvcF9zcmNkaXIpIC1JLiAkKExJQlhNTFhYX0NGTEFHUykKKyBBTV9DWFhGTEFHUyA9ICQoTElCWE1MWFhfV1hYRkxBR1MpCisgTERBREQgPSAkKHRvcF9idWlsZGRpcikvbGlieG1sKysvbGlieG1sKystJChMSUJYTUxYWF9BUElfVkVSU0lPTikubGEgJChMSUJYTUxYWF9MSUJTKQorIAorK0xPR19EUklWRVIgPSAkKFNIRUxMKSAuLi9tYWNyb3MvdGVzdC1kcml2ZXIKKysKKyBjaGVja19QUk9HUkFNUyA9IFwKKyAgIGRvbV9idWlsZC9kb21fYnVpbGQgXAorICAgZG9tX3BhcnNlX2VudGl0aWVzL2RvbV9wYXJzZV9lbnRpdGllcyBcCitAQCAtMzYsNiArMzgsMjMgQEAgY2hlY2tfUFJPR1JBTVMgPSBcCisgICBzY2hlbWF2YWxpZGF0aW9uL3NjaGVtYXZhbGlkYXRpb24gXAorICAgdGV4dHJlYWRlci90ZXh0cmVhZGVyCisgCisrY2hlY2tfRE9UTElCUyA9IFwKKysgIGRvbV9idWlsZC8ubGlicy9kb21fYnVpbGQgXAorKyAgZG9tX3BhcnNlX2VudGl0aWVzLy5saWJzL2RvbV9wYXJzZV9lbnRpdGllcyBcCisrICBkb21fcGFyc2VyLy5saWJzL2RvbV9wYXJzZXIgXAorKyAgZG9tX3BhcnNlcl9yYXcvLmxpYnMvZG9tX3BhcnNlcl9yYXcgXAorKyAgZG9tX3JlYWRfd3JpdGUvLmxpYnMvZG9tX3JlYWRfd3JpdGUgXAorKyAgZG9tX3hpbmNsdWRlLy5saWJzL2RvbV94aW5jbHVkZSBcCisrICBkb21feHBhdGgvLmxpYnMvZG9tX3hwYXRoIFwKKysgIGR0ZHZhbGlkYXRpb24vLmxpYnMvZHRkdmFsaWRhdGlvbiBcCisrICBpbXBvcnRfbm9kZS8ubGlicy9pbXBvcnRfbm9kZSBcCisrICBzYXhfZXhjZXB0aW9uLy5saWJzL3NheF9leGNlcHRpb24gXAorKyAgc2F4X3BhcnNlci8ubGlicy9zYXhfcGFyc2VyIFwKKysgIHNheF9wYXJzZXJfYnVpbGRfZG9tLy5saWJzL3NheF9wYXJzZXJfYnVpbGRfZG9tIFwKKysgIHNheF9wYXJzZXJfZW50aXRpZXMvLmxpYnMvc2F4X3BhcnNlcl9lbnRpdGllcyBcCisrICBzY2hlbWF2YWxpZGF0aW9uLy5saWJzL3NjaGVtYXZhbGlkYXRpb24gXAorKyAgdGV4dHJlYWRlci8ubGlicy90ZXh0cmVhZGVyCisrCisgIyBTaGVsbCBzY3JpcHRzIHRoYXQgY2FsbCB0aGUgZXhhbXBsZSBwcm9ncmFtcy4KKyBjaGVja19TQ1JJUFRTID0gXAorICAgZG9tX2J1aWxkL21ha2VfY2hlY2suc2ggXAorQEAgLTE0NywxMCArMTY2LDEwIEBAIGRpc3Rfbm9pbnN0X0RBVEEgPSBcCisgIyBmaWxlIGFyZSBsb2NhdGVkIGluIGRpZmZlcmVudCBkaXJlY3Rvcmllcy4KKyBkb21fcmVhZF93cml0ZS9tYWtlX2NoZWNrLnNoOiBNYWtlZmlsZQorIAllY2hvICcjIEdlbmVyYXRlZCBhbmQgdXNlZCBieSAibWFrZSBjaGVjayInID4kQAorLQllY2hvICdkb21fcmVhZF93cml0ZS9kb21fcmVhZF93cml0ZSAiJChzcmNkaXIpL2RvbV9yZWFkX3dyaXRlL2V4YW1wbGUueG1sIiBkb21fcmVhZF93cml0ZS9leGFtcGxlX291dHB1dC54bWwgPi9kZXYvbnVsbCcgPj4kQAorKwllY2hvICdjZCBkb21fcmVhZF93cml0ZSAmJiAubGlicy9kb21fcmVhZF93cml0ZSAiZXhhbXBsZS54bWwiIGV4YW1wbGVfb3V0cHV0LnhtbCA+L2Rldi9udWxsJyA+PiRACisgCWNobW9kICt4ICRACisgCistc2NyaXB0X3RlbXBsYXRlID0gY2QgIiQoc3JjZGlyKS88IXByb2duYW1lIT4iICYmICIkKGFic19idWlsZGRpcikvPCFwcm9nbmFtZSE+LzwhcHJvZ25hbWUhPiIgPi9kZXYvbnVsbAorK3NjcmlwdF90ZW1wbGF0ZSA9IGNkICI8IXByb2duYW1lIT4iICYmICIubGlicy88IXByb2duYW1lIT4iID4vZGV2L251bGwKKyBzdGFuZGFyZF9zY3JpcHRzID0gJChmaWx0ZXItb3V0IGRvbV9yZWFkX3dyaXRlL21ha2VfY2hlY2suc2gsJChjaGVja19TQ1JJUFRTKSkKKyAKKyAjIEFsbCBvdGhlciBzY3JpcHQgZmlsZXMgYXJlIGdlbmVyYXRlZCBsaWtlIHNvOgorQEAgLTE2MiwzICsxODEsMTggQEAgJChzdGFuZGFyZF9zY3JpcHRzKTogTWFrZWZpbGUKKyBDTEVBTkZJTEVTID0gXAorICAgZG9tX3JlYWRfd3JpdGUvZXhhbXBsZV9vdXRwdXQueG1sIFwKKyAgICQoY2hlY2tfU0NSSVBUUykKKysKKytidWlsZHRlc3Q6IGFsbAorKwkkKE1BS0UpICQoQU1fTUFLRUZMQUdTKSAkKGNoZWNrX1BST0dSQU1TKSAkKGNoZWNrX1NDUklQVFMpCisrCSQoTUFLRSkgJChBTV9NQUtFRkxBR1MpIGJ1aWxkdGVzdC1URVNUUworKworK2luc3RhbGwtcHRlc3Q6CisrCSQoTUtESVJfUCkgJChERVNURElSKS9leGFtcGxlcworKwljcCAtLXBhcmVudHMgJChjaGVja19ET1RMSUJTKSAkKERFU1RESVIpL2V4YW1wbGVzCisrCWNwIC0tcGFyZW50cyAkKGNoZWNrX1NDUklQVFMpICQoREVTVERJUikvZXhhbXBsZXMKKysJY2QgJChzcmNkaXIpICYmIGNwIC0tcGFyZW50cyAkKGRpc3Rfbm9pbnN0X0RBVEEpICQoREVTVERJUikvZXhhbXBsZXMKKysJY3AgTWFrZWZpbGUgJChERVNURElSKS9leGFtcGxlcworKwkkKE1LRElSX1ApICQoREVTVERJUikvbWFjcm9zCisrCWNwICQoc3JjZGlyKS8uLi9tYWNyb3MvdGVzdC1kcml2ZXIgJChERVNURElSKS9tYWNyb3MKKysJc2VkIC1pIC1lICdzfF5NYWtlZmlsZTp8X01ha2VmaWxlOnwnICQoREVTVERJUikvZXhhbXBsZXMvTWFrZWZpbGUKKysKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbGlieG1sL2xpYnhtbCsrL3J1bi1wdGVzdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbGlieG1sL2xpYnhtbCsrL3J1bi1wdGVzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMzZmNjY3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9saWJ4bWwvbGlieG1sKysvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjZCBleGFtcGxlcworbWFrZSAtayBjaGVjay1URVNUUwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9saWJ4bWwvbGlieG1sKytfMi4zOC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9saWJ4bWwvbGlieG1sKytfMi4zOC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwMzEzZmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2xpYnhtbC9saWJ4bWwrK18yLjM4LjEuYmIKQEAgLTAsMCArMSwyOCBAQAorU1VNTUFSWSA9ICJDKysgd3JhcHBlciBmb3IgbGlieG1sIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJDKysgd3JhcHBlciBmb3IgbGlieG1sIGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0IgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sJTJCJTJCIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTdmYmMzMzgzMDlhYzM4ZmVmY2Q2NGIwNGJiOTAzZTM0ICIKKworU0hSVF9WRVIgPSAiJHtAZC5nZXRWYXIoJ1BWJyxUcnVlKS5zcGxpdCgnLicpWzBdfS4ke0BkLmdldFZhcignUFYnLFRydWUpLnNwbGl0KCcuJylbMV19IgorU1JDX1VSSSA9ICIke0dOT01FX01JUlJPUn0vJHtCUE59LyR7U0hSVF9WRVJ9LyR7QlB9LnRhci54eiBcCisgICAgZmlsZTovL2xpYnhtbCsrX3B0ZXN0LnBhdGNoIFwKKyAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2YjE2YWFjNTc1NzI1YTliYzBlOWQ5NjQ4OWU5MjUxZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ODI1MjkxODliMDNkYjZjNjk5MjViM2Y1NzlhYjE5NDFmZWI0ZjAyYjVmZTI2MTI1MDRlZTdlNDk4YTRhMDVmIgorCitERVBFTkRTID0gImxpYnhtbDIgZ2xpYm1tIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgcHRlc3QKKworZG9fY29tcGlsZV9wdGVzdCgpIHsKKyAgb2VfcnVubWFrZSAtQyBleGFtcGxlcyBidWlsZHRlc3QKK30KKworRklMRVNfJHtQTn0tZG9jICs9ICIke2RhdGFkaXJ9L2RldmhlbHAiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9saWJ4bWwrKy0yLjYvaW5jbHVkZS9saWJ4bWwrK2NvbmZpZy5oIgorCitSREVQRU5EU18ke1BOfS1wdGVzdCArPSAibWFrZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbGx2bS9sbHZtLWNvbW1vbi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbGx2bS9sbHZtLWNvbW1vbi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MThjYzFlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9sbHZtL2xsdm0tY29tbW9uLmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiSGVscGVyIHNjcmlwdCBmb3IgT0UncyBsbHZtIHN1cHBvcnQiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L0xJQ0VOU0U7bWQ1PTRkOTJjZDM3M2FiZGEzOTM3YzJiYzQ3ZmJjNDlkNjkwIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovLyR7Q09SRUJBU0V9L21ldGEvQ09QWUlORy5NSVQ7bWQ1PTNkYTljZmJjYjc4OGM4MGEwMzg0MzYxYjRkZTIwNDIwIFwKKyIKKworU1JDX1VSSSA9ICJmaWxlOi8vbGx2bS1jb25maWciCisKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCitTWVNST09UX1BSRVBST0NFU1NfRlVOQ1NfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgbGx2bV9jb21tb25fc3lzcm9vdF9wcmVwcm9jZXNzIgorCitsbHZtX2NvbW1vbl9zeXNyb290X3ByZXByb2Nlc3MoKSB7CisgICAgaW5zdGFsbCAtZCAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9LworICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2xsdm0tY29uZmlnICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vCit9CisKK2RvX2luc3RhbGxfY2xhc3MtbmF0aXZlKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2xsdm0tY29uZmlnICR7RH0ke2JpbmRpcn0KK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2xsdm0vbGx2bS1jb21tb24vbGx2bS1jb25maWcgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2xsdm0vbGx2bS1jb21tb24vbGx2bS1jb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTlhNDE2ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbGx2bS9sbHZtLWNvbW1vbi9sbHZtLWNvbmZpZwpAQCAtMCwwICsxLDEwIEBACisjIS9iaW4vc2gKKyMgV3JhcHBlciBzY3JpcHQgZm9yIHJlYWwgbGx2bS1jb25maWcuIFNpbXBseSBjYWxscworCitpZiBbICRXQU5UX0xMVk1fUkVMRUFTRSBdOyB0aGVuCisJZXhlYyBgZGlybmFtZSAkMGAvJHtUQVJHRVRfUFJFRklYfWxsdm0tY29uZmlnJFdBTlRfTExWTV9SRUxFQVNFICR7QH0KK2Vsc2UKKyAgZWNobyAiVGhlIHZhcmlhYmxlIFdBTlRfTExWTV9SRUxFQVNFIGlzIG5vdCBkZWZpbmVkIGFuZCBleHBvcnRlZCIKKwllY2hvICJieSB5b3VyIGJ1aWxkIHJlY2lwZS4gR28gZmlndXJlLiIKKyAgZXhpdCAxCitmaQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9sbHZtL2xsdm0uaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9sbHZtL2xsdm0uaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhOTcxZjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2xsdm0vbGx2bS5pbmMKQEAgLTAsMCArMSwxNjIgQEAKKyMgTExWTSBkb2VzIG5vdCBwcm92aWRlIEFCSSBzdGFiaWxpdHkgYmV0d2VlbiBkaWZmZXJlbnQgdmVyc2lvbnMuIEZvciB0aGlzCisjIHJlYXNvbiBPRSBtYWtlcyBpdCBwb3NzaWJsZSB0byBidWlsZCBhbmQgaW5zdGFsbCBkaWZmZXJlbnQgbGx2bSB2ZXJzaW9ucworIyBhdCB0aGUgc2FtZSB0aW1lLgorIworIyBUaGlzIGlzIHRydWUgZm9yIHRoZSBub3JtYWwgcmVjaXBlcyBhcyB3ZWxsIGFzIHRoZSBuYXRpdmUgb25lcy4KKyMKKyMgQWxsIHJlZ3VsYXIgaW5zdGFsbGF0aW9uIGRpcmVjdG9yaWVzIGFyZSBwcmVmaXhlZCB3aXRoICdsbHZtJHtMTFZNX1JFTEVBU0V9JworIyBlLmcuICIke1NUQUdJTkdfQklORElSfS9sbHZtMi41IiBvciAiJHtTVEFHSU5HX0lOQ0RJUn0vbGx2bTIuNSIKKyMKKyMgRm9yIHlvdXIgcHJvZ3JhbSBvciBsaWJyYXJ5IHRoYXQgbWFrZXMgdXNlIG9mIGxsdm0geW91IGRvIHNob3VsZCBub3QgbmVlZCB0bworIyBtb2RpZnkgYW55dGhpbmcgYXMgbG9uZyBhcyBpdCB1c2VzIHRoZSByZXN1bHRzIG9mIHZhcmlvdXMgbGx2bS1jb25maWcKKyMgaW52b2NhdGlvbnMuIElmIHlvdSBuZWVkIGN1c3RvbWl6YXRpb25zIHNvbWV0aGluZyBpcyB3cm9uZyBhbmQgaXQgbmVlZHMgdG8gYmUKKyMgZml4ZWQgKHJlcG9ydCBidWcpLgorIworIyBIb3dldmVyIHRoZSAqcmVjaXBlKiBmb3IgeW91ciBwcm9ncmFtL2xpYnJhcnkgKm11c3QqIGRlY2xhcmUKKyMgZXhwb3J0IFdBTlRfTExWTV9SRUxFQVNFID0gIjx2YWxpZCB2ZXJzaW9uIG51bWJlcj4iCisjIFRoZSB2ZXJzaW9uIG51bWJlciBpcyBwaWNrZWQgdXAgYnkgYSBnZW5lcmljIHdyYXBwZXIgc2NyaXB0IHdoaWNoIGp1c3QgY2FsbHMKKyMgdGhlIHZhcmlhbnQgb2YgdGhlIHNwZWNpZmllZCB2ZXJzaW9uLgorCitERVNDUklQVElPTiA9ICJUaGUgTG93IExldmVsIFZpcnR1YWwgTWFjaGluZSIKK0hPTUVQQUdFID0gImh0dHA6Ly9sbHZtLm9yZyIKKworIyAzLWNsYXVzZSBCU0QtbGlrZQorIyBVbml2ZXJzaXR5IG9mIElsbGlub2lzL05DU0EgT3BlbiBTb3VyY2UgTGljZW5zZQorTElDRU5TRSA9ICJOQ1NBIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5UWFQ7bWQ1PWQwYTNlZjBkM2UwZThmNWNmNTllNWZmYzI3M2FiMWY4IgorCitERVBFTkRTID0gImxpYmZmaSBsaWJ4bWwyLW5hdGl2ZSBsbHZtLWNvbW1vbiIKKworaW5oZXJpdCBwZXJsbmF0aXZlIHB5dGhvbm5hdGl2ZSBhdXRvdG9vbHMKKworTExWTV9SRUxFQVNFID0gIiR7UFZ9IgorTExWTV9ESVIgPSAibGx2bSR7TExWTV9SRUxFQVNFfSIKKworU1JDX1VSSSA9ICJodHRwOi8vbGx2bS5vcmcvcmVsZWFzZXMvJHtQVn0vbGx2bS0ke1BWfS5zcmMudGFyLmd6IgorUyA9ICIke1dPUktESVJ9L2xsdm0tJHtQVn0uc3JjIgorCitMTFZNX0JVSUxEX0RJUiA9ICIke1dPUktESVJ9L2xsdm0tJHtQVn0uYnVpbGQiCitMTFZNX0lOU1RBTExfRElSID0gIiR7V09SS0RJUn0vbGx2bS1pbnN0YWxsIgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1hc3NlcnRpb25zIFwKKyAgICAgICAgICAgICAgICAgLS1lbmFibGUtZGVidWctcnVudGltZSBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1leHBlbnNpdmUtY2hlY2tzIFwKKyAgICAgICAgICAgICAgICAgLS1lbmFibGUtYmluZGluZ3M9bm9uZSBcCisgICAgICAgICAgICAgICAgIC0tZW5hYmxlLWtlZXAtc3ltYm9scyBcCisgICAgICAgICAgICAgICAgIC0tZW5hYmxlLWxpYmZmaSBcCisgICAgICAgICAgICAgICAgIC0tZW5hYmxlLW9wdGltaXplZCBcCisgICAgICAgICAgICAgICAgIC0tZW5hYmxlLXNoYXJlZCBcCisgICAgICAgICAgICAgICAgIC0tZW5hYmxlLXRhcmdldHM9aG9zdC1vbmx5IgorRVhUUkFfT0VNQUtFICs9ICJSRVFVSVJFU19SVFRJPTEgVkVSQk9TRT0xIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAjIFJlbW92ZSBSUEFUSHMKKyAgICBzZWQgLWkgJ3M6JChSUEFUSCkgLVdsLCQoXChUb29sRGlyXHxMaWJEaXJcfEV4bXBsRGlyXCkpOjpnJyAke1N9L01ha2VmaWxlLnJ1bGVzCisKKyAgICAjIERyb3AgInN2biIgc3VmZml4IGZyb20gdmVyc2lvbiBzdHJpbmcKKyAgICBzZWQgLWkgJ3MvJHtQVn1zdm4vJHtQVn0vZycgJHtTfS9jb25maWd1cmUKKworICAgICMgRml4IHBhdGhzIGluIGxsdm0tY29uZmlnCisgICAgc2VkIC1pICJzfHN5czo6cGF0aDo6cGFyZW50X3BhdGgoQ3VycmVudFBhdGgpKVwuc3RyKCl8c3lzOjpwYXRoOjpwYXJlbnRfcGF0aChzeXM6OnBhdGg6OnBhcmVudF9wYXRoKEN1cnJlbnRQYXRoKSkpLnN0cigpfGciICR7U30vdG9vbHMvbGx2bS1jb25maWcvbGx2bS1jb25maWcuY3BwCisgICAgc2VkIC1yaSAicyMvKGJpbnxpbmNsdWRlfGxpYikoLz9cIikjL1wxLyR7TExWTV9ESVJ9XDIjZyIgJHtTfS90b29scy9sbHZtLWNvbmZpZy9sbHZtLWNvbmZpZy5jcHAKKworICAgICMgRml4IHRoZSBoYXJkY29kZWQgbGliZGlyIGluIGxsdm0tY29uZmlnCisgICAgc2VkIC1pICdzOi9saWJcPjovJHtiYXNlbGlifTpnJyAke1N9L3Rvb2xzL2xsdm0tY29uZmlnL2xsdm0tY29uZmlnLmNwcAorCisgICAgIyBGYWlscyB0byBidWlsZCB1bmxlc3MgdXNpbmcgc2VwYXJhdGUgZGlyZWN0b3J5IGZyb20gc291cmNlCisgICAgbWtkaXIgLXAgJHtMTFZNX0JVSUxEX0RJUn0KKyAgICBjZCAke0xMVk1fQlVJTERfRElSfQorfQorCitkb19jb21waWxlKCkgeworICAgIGNkICR7TExWTV9CVUlMRF9ESVJ9CisKKyAgICAjIEZpeCBsaWJkaXIgZm9yIG11bHRpbGliCisgICAgc2VkIC1pICdzOihQUk9KX3ByZWZpeCkvbGliOihQUk9KX3ByZWZpeCkvJHtiYXNlbGlifTpnJyBNYWtlZmlsZS5jb25maWcKKworICAgIG9lX3J1bm1ha2UgXAorICAgICAgICBBUj0iJHtCVUlMRF9BUn0iIFwKKyAgICAgICAgQ0M9IiR7QlVJTERfQ0N9IiBcCisgICAgICAgIENGTEFHUz0iJHtCVUlMRF9DRkxBR1N9IiBcCisgICAgICAgIENYWD0iJHtCVUlMRF9DWFh9IiBcCisgICAgICAgIENYWEZMQUdTPSIke0JVSUxEX0NYWEZMQUdTfSIgXAorICAgICAgICBDUFA9IiR7QlVJTERfQ1BQfSIgXAorICAgICAgICBDUFBGTEFHUz0iJHtCVUlMRF9DUFBGTEFHU30iIFwKKyAgICAgICAgTk09IiR7QlVJTERfTk19IiBcCisgICAgICAgIFJBTkxJQj0iJHtCVUlMRF9SQU5MSUJ9IiBcCisgICAgICAgIFBBVEg9IiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfTokUEFUSCIgXAorICAgICAgICBjcm9zcy1jb21waWxlLWJ1aWxkLXRvb2xzCisgICAgb2VfcnVubWFrZQorfQorCitkb19pbnN0YWxsKCkgeworICAgIGNkICR7TExWTV9CVUlMRF9ESVJ9CisgICAgb2VfcnVubWFrZSBERVNURElSPSR7TExWTV9JTlNUQUxMX0RJUn0gaW5zdGFsbAorCisgICAgbXYgJHtMTFZNX0lOU1RBTExfRElSfSR7YmluZGlyfS8ke0hPU1RfU1lTfS1sbHZtLWNvbmZpZy1ob3N0ICR7TExWTV9JTlNUQUxMX0RJUn0vbGx2bS1jb25maWctaG9zdAorCisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9LyR7TExWTV9ESVJ9CisgICAgbXYgJHtMTFZNX0lOU1RBTExfRElSfSR7YmluZGlyfS8qICR7RH0ke2JpbmRpcn0vJHtMTFZNX0RJUn0vCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9LyR7TExWTV9ESVJ9CisgICAgbXYgJHtMTFZNX0lOU1RBTExfRElSfSR7aW5jbHVkZWRpcn0vKiAke0R9JHtpbmNsdWRlZGlyfS8ke0xMVk1fRElSfS8KKworICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS8ke0xMVk1fRElSfQorICAgIG12ICR7TExWTV9JTlNUQUxMX0RJUn0ke2xpYmRpcn0vKiAke0R9JHtsaWJkaXJ9LyR7TExWTV9ESVJ9LworICAgIGxuIC1zICR7TExWTV9ESVJ9L2xpYkxMVk0tJHtQVn0uc28gJHtEfSR7bGliZGlyfS9saWJMTFZNLSR7UFZ9LnNvCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RvY2Rpcn0vJHtMTFZNX0RJUn0KKyAgICBtdiAke0xMVk1fSU5TVEFMTF9ESVJ9JHtwcmVmaXh9L2RvY3MvbGx2bS8qICR7RH0ke2RvY2Rpcn0vJHtMTFZNX0RJUn0KK30KKworU1lTUk9PVF9QUkVQUk9DRVNTX0ZVTkNTICs9ICJsbHZtX3N5c3Jvb3RfcHJlcHJvY2VzcyIKKworbGx2bV9zeXNyb290X3ByZXByb2Nlc3MoKSB7CisgICAgaW5zdGFsbCAtZCAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9CisgICAgbXYgJHtMTFZNX0lOU1RBTExfRElSfS9sbHZtLWNvbmZpZy1ob3N0ICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vbGx2bS1jb25maWcke1BWfQorfQorCitQQUNLQUdFUyArPSAiJHtQTn0tYnVncG9pbnRwYXNzZXMgJHtQTn0tbGx2bWhlbGxvIgorQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKK0FMTE9XX0VNUFRZXyR7UE59LXN0YXRpY2RldiA9ICIxIgorRklMRVNfJHtQTn0gPSAiIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ID0gIiIKK0ZJTEVTXyR7UE59LWRiZyA9ICIgXAorICAgICR7YmluZGlyfS8ke0xMVk1fRElSfS8uZGVidWcgXAorICAgICR7bGliZGlyfS8ke0xMVk1fRElSfS8uZGVidWcvQnVncG9pbnRQYXNzZXMuc28gXAorICAgICR7bGliZGlyfS8ke0xMVk1fRElSfS8uZGVidWcvTExWTUhlbGxvLnNvIFwKKyAgICAvdXNyL3NyYy9kZWJ1ZyBcCisiCisKK0ZJTEVTXyR7UE59LWRldiA9ICIgXAorICAgICR7YmluZGlyfS8ke0xMVk1fRElSfSBcCisgICAgJHtpbmNsdWRlZGlyfS8ke0xMVk1fRElSfSBcCisiCitSUkVDT01NRU5EU18ke1BOfS1kZXYgKz0gIiR7UE59LWJ1Z3BvaW50cGFzc2VzICR7UE59LWxsdm1oZWxsbyIKKworRklMRVNfJHtQTn0tYnVncG9pbnRwYXNzZXMgPSAiXAorICAgICR7bGliZGlyfS8ke0xMVk1fRElSfS9CdWdwb2ludFBhc3Nlcy5zbyBcCisiCitGSUxFU18ke1BOfS1sbHZtaGVsbG8gPSAiXAorICAgICR7bGliZGlyfS8ke0xMVk1fRElSfS9MTFZNSGVsbG8uc28gXAorIgorCitQQUNLQUdFU19EWU5BTUlDID0gIl5saWJsbHZtJHtMTFZNX1JFTEVBU0V9LS4qJCIKK05PQVVUT1BBQ0tBR0VERUJVRyA9ICIxIgorCitJTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmxsdm0ke0xMVk1fUkVMRUFTRX0tbGx2bS0ke0xMVk1fUkVMRUFTRX0gKz0gImRldi1zbyIKKworcHl0aG9uIGxsdm1fcG9wdWxhdGVfcGFja2FnZXMoKSB7CisgICAgbGliZGlyID0gYmIuZGF0YS5leHBhbmQoJyR7bGliZGlyfScsIGQpCisgICAgbGlibGx2bV9saWJkaXIgPSBiYi5kYXRhLmV4cGFuZCgnJHtsaWJkaXJ9LyR7TExWTV9ESVJ9JywgZCkKKyAgICBzcGxpdF9kYmdfcGFja2FnZXMgPSBkb19zcGxpdF9wYWNrYWdlcyhkLCBsaWJsbHZtX2xpYmRpcisnLy5kZWJ1ZycsICdebGliKC4qKVwuc28kJywgJ2xpYmxsdm0ke0xMVk1fUkVMRUFTRX0tJXMtZGJnJywgJ1NwbGl0IGRlYnVnIHBhY2thZ2UgZm9yICVzJywgYWxsb3dfZGlycz1UcnVlKQorICAgIHNwbGl0X3BhY2thZ2VzID0gZG9fc3BsaXRfcGFja2FnZXMoZCwgbGliZGlyLCAnXmxpYiguKilcLnNvJCcsICdsaWJsbHZtJHtMTFZNX1JFTEVBU0V9LSVzJywgJ1NwbGl0IHBhY2thZ2UgZm9yICVzJywgYWxsb3dfZGlycz1UcnVlLCBhbGxvd19saW5rcz1UcnVlLCByZWN1cnNpdmU9VHJ1ZSkKKyAgICBzcGxpdF9zdGF0aWNkZXZfcGFja2FnZXMgPSBkb19zcGxpdF9wYWNrYWdlcyhkLCBsaWJsbHZtX2xpYmRpciwgJ15saWIoLiopXC5hJCcsICdsaWJsbHZtJHtMTFZNX1JFTEVBU0V9LSVzLXN0YXRpY2RldicsICdTcGxpdCBzdGF0aWNkZXYgcGFja2FnZSBmb3IgJXMnLCBhbGxvd19kaXJzPVRydWUpCisgICAgaWYgc3BsaXRfcGFja2FnZXM6CisgICAgICAgIHBuID0gZC5nZXRWYXIoJ1BOJywgVHJ1ZSkKKyAgICAgICAgZC5hcHBlbmRWYXIoJ1JERVBFTkRTXycgKyBwbiwgJyAnKycgJy5qb2luKHNwbGl0X3BhY2thZ2VzKSkKKyAgICAgICAgZC5hcHBlbmRWYXIoJ1JERVBFTkRTXycgKyBwbiArICctZGJnJywgJyAnKycgJy5qb2luKHNwbGl0X2RiZ19wYWNrYWdlcykpCisgICAgICAgIGQuYXBwZW5kVmFyKCdSREVQRU5EU18nICsgcG4gKyAnLXN0YXRpY2RldicsICcgJysnICcuam9pbihzcGxpdF9zdGF0aWNkZXZfcGFja2FnZXMpKQorfQorCitQQUNLQUdFU1BMSVRGVU5DU19wcmVwZW5kID0gImxsdm1fcG9wdWxhdGVfcGFja2FnZXMgIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9sbHZtL2xsdm0zLjMvUmVtb3ZlLWVycm9yLW91dHB1dC1mcm9tLWNvbmZpZ3VyZS1pZi1DRkxBR1MtaXMtc2V0LS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbGx2bS9sbHZtMy4zL1JlbW92ZS1lcnJvci1vdXRwdXQtZnJvbS1jb25maWd1cmUtaWYtQ0ZMQUdTLWlzLXNldC0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDQzODdlOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbGx2bS9sbHZtMy4zL1JlbW92ZS1lcnJvci1vdXRwdXQtZnJvbS1jb25maWd1cmUtaWYtQ0ZMQUdTLWlzLXNldC0ucGF0Y2gKQEAgLTAsMCArMSw1MiBAQAorRnJvbSBkNGJmN2EzODUzZGFiMTJjMTFjYmZjODA4OGZkNzZmNTQ4YThkMDE3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGF0cmlrIEhhZ2dsdW5kIDxwYXRyaWsuaC5oYWdnbHVuZEBlcmljc3Nvbi5jb20+CitEYXRlOiBUdWUsIDI0IFNlcCAyMDEzIDExOjM4OjQ1ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIFJlbW92ZSBlcnJvciBvdXRwdXQgZnJvbSBjb25maWd1cmUgaWYgQ0ZMQUdTIGlzIHNldCAocjE3NDMxMykuCisKK1RoaXMgZml4ZXMgUFIxNjcyNC4KKworZ2l0LXN2bi1pZDogaHR0cHM6Ly9sbHZtLm9yZy9zdm4vbGx2bS1wcm9qZWN0L2xsdm0vdHJ1bmtAMTkxMjg5IDkxMTc3MzA4LTBkMzQtMDQxMC1iNWU2LTk2MjMxYjNiODBkOAorCitodHRwczovL2dpdGh1Yi5jb20vbGx2bS1taXJyb3IvbGx2bS9jb21taXQvZDRiZjdhMzg1M2RhYjEyYzExY2JmYzgwODhmZDc2ZjU0OGE4ZDAxNworCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlIE1jQ3VyZHkgPGFybWNjdXJkeUBnbWFpbC5jb20+CistLS0KKyBhdXRvY29uZi9jb25maWd1cmUuYWMgfCA0ICsrLS0KKyBjb25maWd1cmUgICAgICAgICAgICAgfCA0ICsrLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2F1dG9jb25mL2NvbmZpZ3VyZS5hYyBiL2F1dG9jb25mL2NvbmZpZ3VyZS5hYworaW5kZXggZjljMzY1Yy4uNDVmMmZlNCAxMDA2NDQKKy0tLSBhL2F1dG9jb25mL2NvbmZpZ3VyZS5hYworKysrIGIvYXV0b2NvbmYvY29uZmlndXJlLmFjCitAQCAtNjEsOCArNjEsOCBAQCBmaQorIAorIGRubCBEZWZhdWx0IHRvIGVtcHR5IChpLmUuIGFzc2lnbmluZyB0aGUgbnVsbCBzdHJpbmcgdG8pIENGTEFHUyBhbmQgQ1hYRkxBR1MsCisgZG5sIGluc3RlYWQgb2YgdGhlIGF1dG9jb25mIGRlZmF1bHQgKGZvciBleGFtcGxlLCAnLWcgLU8yJyBmb3IgQ0M9Z2NjKS4KKy0ke0NGTEFHUz19CistJHtDWFhGTEFHUz19CisrOiAke0NGTEFHUz19CisrOiAke0NYWEZMQUdTPX0KKyAKKyBkbmwgV2UgbmVlZCB0byBjaGVjayBmb3IgdGhlIGNvbXBpbGVyIHVwIGhlcmUgdG8gYXZvaWQgYW55dGhpbmcgZWxzZQorIGRubCBzdGFydGluZyB3aXRoIGEgZGlmZmVyZW50IG9uZS4KK2RpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKK2luZGV4IGYzYTY1OTQuLjkwOTBjZGEgMTAwNzU1CistLS0gYS9jb25maWd1cmUKKysrKyBiL2NvbmZpZ3VyZQorQEAgLTE5OTIsOCArMTk5Miw4IEBAIGVjaG8gIiRhc19tZTogZXJyb3I6IEFscmVhZHkgY29uZmlndXJlZCBpbiAke3NyY2Rpcn0iID4mMjt9CisgICBmaQorIGZpCisgCistJHtDRkxBR1M9fQorLSR7Q1hYRkxBR1M9fQorKzogJHtDRkxBR1M9fQorKzogJHtDWFhGTEFHUz19CisgCisgYWNfZXh0PWMKKyBhY19jcHA9JyRDUFAgJENQUEZMQUdTJworLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2xsdm0vbGx2bTMuMy9hcm1fZmVudl91Y2xpYmMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2xsdm0vbGx2bTMuMy9hcm1fZmVudl91Y2xpYmMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzNhZTQ5NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbGx2bS9sbHZtMy4zL2FybV9mZW52X3VjbGliYy5wYXRjaApAQCAtMCwwICsxLDE0IEBACitJbmRleDogbGx2bS0yLjkvaW5jbHVkZS9sbHZtL1N1cHBvcnQvRkVudi5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGx2bS0yLjkub3JpZy9pbmNsdWRlL2xsdm0vU3VwcG9ydC9GRW52LmgJMjAxMC0xMS0yOSAyMDo0NDo1MC4wMDAwMDAwMDAgKzAxMDAKKysrKyBsbHZtLTIuOS9pbmNsdWRlL2xsdm0vU3VwcG9ydC9GRW52LmgJMjAxMS0xMS0xOCAxODo0MjoyMi41ODAxNjEyOTcgKzAxMDAKK0BAIC0xNyw2ICsxNyw5IEBACisgCisgI2luY2x1ZGUgImxsdm0vQ29uZmlnL2NvbmZpZy5oIgorICNpbmNsdWRlIDxjZXJybm8+CisrCisrI3VuZGVmIEhBVkVfRkVOVl9ICisrCisgI2lmZGVmIEhBVkVfRkVOVl9ICisgI2luY2x1ZGUgPGZlbnYuaD4KKyAjZW5kaWYKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbGx2bS9sbHZtMy4zXzMuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbGx2bS9sbHZtMy4zXzMuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MGEyMjIxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9sbHZtL2xsdm0zLjNfMy4zLmJiCkBAIC0wLDAgKzEsMjIgQEAKK3JlcXVpcmUgbGx2bS5pbmMKKworREVQRU5EUyArPSAiemxpYiIKK0VYVFJBX09FQ09ORiArPSAiLS1lbmFibGUtemxpYiIKKworU1JDX1VSSSArPSAiZmlsZTovL1JlbW92ZS1lcnJvci1vdXRwdXQtZnJvbS1jb25maWd1cmUtaWYtQ0ZMQUdTLWlzLXNldC0ucGF0Y2giCisKK1NSQ19VUklfYXBwZW5kX2xpYmMtdWNsaWJjID0gIiBmaWxlOi8vYXJtX2ZlbnZfdWNsaWJjLnBhdGNoICIKKworU1JDX1VSSVttZDVzdW1dID0gIjQwNTY0ZTFkYzM5MGY5ODQ0ZjE3MTFjMDhiMDhlMzkxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY4NzY2YjFlNzBkMDVhMjVlMmY1MDJlOTk3YTNjYjM5MzcxODdhMzI5NjU5NWNmNmUwOTc3ZDVjZDY3Mjc1NzgiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW3I2MDBdID0gIi0tZW5hYmxlLWV4cGVyaW1lbnRhbC10YXJnZXRzPVI2MDAsLCwiCisKKyMgRmFpbHMgdG8gYnVpbGQgd2l0aCB0aHVtYi0xIChxZW11YXJtKQorIyB8IHtzdGFuZGFyZCBpbnB1dH06IEFzc2VtYmxlciBtZXNzYWdlczoKKyMgfCB7c3RhbmRhcmQgaW5wdXR9OjIyOiBFcnJvcjogc2VsZWN0ZWQgcHJvY2Vzc29yIGRvZXMgbm90IHN1cHBvcnQgVGh1bWIgbW9kZSBgc3RtZGIgc3AhLHtyMCxyMSxyMixyMyxscn0nCisjIHwge3N0YW5kYXJkIGlucHV0fTozMTogRXJyb3I6IGxvIHJlZ2lzdGVyIHJlcXVpcmVkIC0tIGBsZG1pYSBzcCEse3IwLHIxLHIyLHIzLGxyfScKKyMgfCB7c3RhbmRhcmQgaW5wdXR9OjMyOiBFcnJvcjogbG8gcmVnaXN0ZXIgcmVxdWlyZWQgLS0gYGxkciBwYyxbc3BdLCM0JworIyB8IG1ha2VbM106ICoqKiBbL2hvbWUvamVua2lucy9vZS93b3JsZC9zaHItY29yZS90bXAtZ2xpYmMvd29yay9hcm12NXRlLW9lLWxpbnV4LWdudWVhYmkvbGx2bTMuMy8zLjMtcjAvbGx2bS0zLjMuYnVpbGQvbGliL1RhcmdldC9BUk0vUmVsZWFzZS9BUk1KSVRJbmZvLm9dIEVycm9yIDEKK0FSTV9JTlNUUlVDVElPTl9TRVQgPSAiYXJtIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9tZXRhL2Rpc3Ryby1mZWVkLWNvbmZpZ3MuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL21ldGEvZGlzdHJvLWZlZWQtY29uZmlncy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYTVjYTM4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9tZXRhL2Rpc3Ryby1mZWVkLWNvbmZpZ3MuYmIKQEAgLTAsMCArMSwzMyBAQAorU1VNTUFSWSA9ICJDb25maWd1cmF0aW9uIGZpbGVzIGZvciBvbmxpbmUgcGFja2FnZSByZXBvc2l0b3JpZXMgYWthIGZlZWRzIgorUFIgPSAicjYiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L21ldGEvQ09QWUlORy5NSVQ7bWQ1PTNkYTljZmJjYjc4OGM4MGEwMzg0MzYxYjRkZTIwNDIwIgorCitESVNUUk9fRkVFRF9QUkVGSVggPz0gInJlbW90ZSIKK0RJU1RST19GRUVEX1VSSSA/PSAiaHR0cDovL215LWRpc3RyaWJ1dGlvbi5leGFtcGxlL3JlbW90ZS1mZWVkLyIKK0RJU1RST19GRUVEX0FSQ0hTID89ICJhbGwgJHtQQUNLQUdFX0VYVFJBX0FSQ0hTfSAke01BQ0hJTkVfQVJDSH0iCisKK2RvX2NvbXBpbGUoKSB7CisgICAgbWtkaXIgLXAgJHtTfS8ke3N5c2NvbmZkaXJ9L29wa2cKKyAgICBmb3IgZmVlZCBpbiAke0RJU1RST19GRUVEX0FSQ0hTfTsgZG8KKyAgICAgICAgZWNobyAic3JjL2d6ICR7RElTVFJPX0ZFRURfUFJFRklYfS0ke2ZlZWR9ICR7RElTVFJPX0ZFRURfVVJJfS8ke2ZlZWR9IiA+ICR7U30vJHtzeXNjb25mZGlyfS9vcGtnLyR7ZmVlZH0tZmVlZC5jb25mCisgICAgZG9uZQorfQorZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9vcGtnCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vJHtzeXNjb25mZGlyfS9vcGtnLyogJHtEfSR7c3lzY29uZmRpcn0vb3BrZy8KK30KKworUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKKworI2RlZiBkaXN0cm9fZmVlZF9jb25maWdzKGQpOgorIyAgICBpbXBvcnQgYmIKKyMgICAgcGFyY2hzID0gZC5nZXRWYXIoICJQQUNLQUdFX0VYVFJBX0FSQ0hTIiwgMSApLnNwbGl0KCkKKyMgICAgbWFyY2ggPSBkLmdldFZhciggIk1BQ0hJTkVfQVJDSCIsIDEgKS5zcGxpdCgpCisjICAgIGFyY2hzID0gWyAiYWxsIiBdICsgcGFyY2hzICsgbWFyY2gKKyMgICAgY29uZnMgPSBbICggIiR7c3lzY29uZmRpcn0vb3BrZy8lcy1mZWVkLmNvbmYiICUgZmVlZCApIGZvciBmZWVkIGluIGFyY2hzIF0KKyMgICAgcmV0dXJuICIgIi5qb2luKCBjb25mcyApCisjCisjQ09ORkZJTEVTXyR7UE59ICs9ICcke0BkaXN0cm9fZmVlZF9jb25maWdzKGQpfScKKworQ09ORkZJTEVTXyR7UE59ICs9ICcke0AgIiAiLmpvaW4oIFsgKCAiJHtzeXNjb25mZGlyfS9vcGtnLyVzLWZlZWQuY29uZiIgJSBmZWVkICkgZm9yIGZlZWQgaW4gImFsbCAke1BBQ0tBR0VfRVhUUkFfQVJDSFN9ICR7TUFDSElORV9BUkNIfSIuc3BsaXQoKSBdICkgfScKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbW0tY29tbW9uL21tLWNvbW1vbl8wLjkuOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbW0tY29tbW9uL21tLWNvbW1vbl8wLjkuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NDMzNDNiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9tbS1jb21tb24vbW0tY29tbW9uXzAuOS44LmJiCkBAIC0wLDAgKzEsMTIgQEAKK2luaGVyaXQgZ25vbWViYXNlCisKK0dOT01FX0NPTVBSRVNTX1RZUEU9Inh6IgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIwMGZkNWM2ODUwY2Q1ZmVjYzJlMDJiMDRkMGRkMTYzNyIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImM5YWI1ZmQzODcyZmJlMjQ1ZmJjMzUzNDdhY2Y0YTk1MDYzMTExZjgxZDU0YzQzZGYzYWY2NjJkYWQwYTAzZDUiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtYmFzaWMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWJhc2ljLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxZGQxZGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWJhc2ljLmJiCkBAIC0wLDAgKzEsNTYgQEAKKyMgVGhpcyByZWNpcGUgaXMgaW50ZW5kZWQgYXMgYSAnc2ltcGxlcicgcmVwbGFjZW1lbnQgZm9yIHBhY2thZ2Vncm91cC1iYXNlLgorIyBQbGVhc2UgY29tbXVuaWNhdGUgeW91ciB1c2UgY2FzZXMgYW5kIHN1Z2dlc3Rpb25zIHRvIHRoZSBtYWlsaW5nbGlzdChzKQorCitTVU1NQVJZID0gIkJhc2ljIHRhc2sgdG8gZ2V0IGEgZGV2aWNlIG9ubGluZSIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vTElDRU5TRTttZDU9NGQ5MmNkMzczYWJkYTM5MzdjMmJjNDdmYmM0OWQ2OTAiCisKK1BSID0gInIxMyIKKworUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKK2luaGVyaXQgcGFja2FnZWdyb3VwCitpbmhlcml0IGJsdWV0b290aAorCisjIFBva2UgZXh0cmEgcmVjb21lbmRhdGlvbnMgaW50byB0aGUgbGlzdCB1c2luZyB5b3VyIG1hY2hpbmUuY29uZgorIworTUFDSElORV9FWFRSQV9SUkVDT01NRU5EUyA/PSAiIgorCisjCisjIFNlbGVjdCBiZXR3ZWVuIGRyb3BiZWFyIGFuZCBvcGVuc3NoCisjIFNldCBUQVNLX0JBU0lDX1NTSERBRU1PTiA9ICJvcGVuc3NoLXNzaGQgb3BlbnNzaC1zZnRwIG9wZW5zc2gtc2Z0cC1zZXJ2ZXIiIGluIHlvdXIgRElTVFJPIGNvbmZpZyB0byBnZXQgb3BlbnNzaChkKQorIworVEFTS19CQVNJQ19TU0hEQUVNT04gPz0gImRyb3BiZWFyIG9wZW5zc2gtc2Z0cCBvcGVuc3NoLXNmdHAtc2VydmVyIgorCisjCisjIFRoZSBzZWN0aW9uIGJlbG93IGlzIGRlc2lnbmVkIHRvIG1hdGNoIHdpdGggcGFja2FnZWdyb3VwLWJvb3QsIGJ1dCBkb2Vzbid0IGRlcGVuZCBvbiBpdCB0byBhbGxvdyBmb3IgbW9yZSBmcmVlZG9tIAorIyB3aGVuIHdyaXRpbmcgaW1hZ2UgcmVjaXBlcy4KKyMgSXQgYWxzbyBhdm9pZHMgdGhlIGNob2ljZSBiZXR3ZWVuIGNvbm5tYW4vbmV0d29ya21hbmFnZXIvaWZ1cGRvd24gc2luY2UgdGhhdCBpcyBhbiBpbWFnZSBmZWF0dXJlLCBub3QgYQorIyBkaXN0cm8gZmVhdHVyZS4KKyMKKyMgVXRpbC1saW51eCAodSltb3VudCBpcyBpbmNsdWRlZCBiZWNhdXNlIHRoZSBidXN5Ym94IG9uZSBjYW4ndCBoYW5kbGUgL2V0Yy9tdGFiIGJlaW5nIHN5bWxpbmtlZCB0byAvcHJvYy9tb3VudHMKKyMKK1JERVBFTkRTXyR7UE59ID0gIlwKKyAgICAke1RBU0tfQkFTSUNfU1NIREFFTU9OfSBcCisgICAgYXZhaGktZGFlbW9uIGF2YWhpLXV0aWxzIFwKKyIKKworIworIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BsaXQgaW4gMzoKKyMgICAxKSBNYWNoaW5lIGZlYXR1cmVzOiBrZXJuZWwgbW9kdWxlcyBhbmQgdXNlcnNwYWNlIGhlbHBlcnMgZm9yIHRob3NlCisjICAgMikgRGlzdHJvIGZlYXR1cmVzOiBwYWNrYWdlcyBhc3NvY2lhdGVkIHdpdGggdGhvc2UKKyMgICAzKSBOaWNlIHRvIGhhdmU6IHBhY2thZ2VzIHRoYXQgYXJlIG5pY2UgdG8gaGF2ZSwgYnV0IGFyZW4ndCBzdHJpY3RseSBuZWVkZWQgIAorIworUlJFQ09NTUVORFNfJHtQTn0gPSAiXAorICAgICR7TUFDSElORV9FWFRSQV9SUkVDT01NRU5EU30gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJNQUNISU5FX0ZFQVRVUkVTIiwgInVzYmhvc3QiLCAidXNidXRpbHMiLCAiIiwgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiTUFDSElORV9GRUFUVVJFUyIsICJhbHNhIiwgImFsc2EtdXRpbHMtYWxzYW1peGVyIiwgIiIsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIk1BQ0hJTkVfRkVBVFVSRVMiLCAidXNiZ2FkZ2V0IiwgImtlcm5lbC1tb2R1bGUtZy1ldGhlciBrZXJuZWwtbW9kdWxlLWctc2VyaWFsIGtlcm5lbC1tb2R1bGUtZy1tYXNzLXN0b3JhZ2UiLCAiIiwgZCl9IFwKKyAgICBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJibHVldG9vdGgiLCAiJHtCTFVFWn0iLCAiIiwgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgIndpZmkiLCAiaXcgd3BhLXN1cHBsaWNhbnQiLCAiIiwgZCl9IFwKKyAgICBcCisgICAgdHpkYXRhIFwKKyAgICBcCisgICAgY3B1ZnJlcXV0aWxzIFwKKyAgICBodG9wIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtYm9vdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtYm9vdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNTQyYWU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1ib290LmJiCkBAIC0wLDAgKzEsMzQgQEAKK1NVTU1BUlkgPSAiQmFzaWMgdGFzayB0byBnZXQgYSBkZXZpY2UgYm9vdGluZyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vTElDRU5TRTttZDU9NGQ5MmNkMzczYWJkYTM5MzdjMmJjNDdmYmM0OWQ2OTAiCisKK1BSID0gInI1OCIKKworUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKK2luaGVyaXQgcGFja2FnZWdyb3VwCisKKyMKKyMgdGhvc2Ugb25lcyBjYW4gYmUgc2V0IGluIG1hY2hpbmUgY29uZmlnIHRvIHN1cHBseSBwYWNrYWdlcyBuZWVkZWQgdG8gZ2V0IG1hY2hpbmUgYm9vdGluZworIworTUFDSElORV9FU1NFTlRJQUxfRVhUUkFfUkRFUEVORFMgPz0gIiIKK01BQ0hJTkVfRVNTRU5USUFMX0VYVFJBX1JSRUNPTU1FTkRTID89ICIiCisKKyMgTWFrZSBzdXJlIHdlIGJ1aWxkIHRoZSBrZXJuZWwKK0RFUEVORFMgPSAidmlydHVhbC9rZXJuZWwiCisKKyMKKyMgbWluaW1hbCBzZXQgb2YgcGFja2FnZXMgLSBuZWVkZWQgdG8gYm9vdAorIworUkRFUEVORFNfJHtQTn0gPSAiXAorICAgIGJhc2UtZmlsZXMgXAorICAgIGJhc2UtcGFzc3dkIFwKKyAgICBidXN5Ym94IFwKKyAgICBuZXRiYXNlIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiTUFDSElORV9GRUFUVVJFUyIsICJrZXlib2FyZCIsICJrZXltYXBzIiwgIiIsIGQpfSBcCisgICAgJHtNQUNISU5FX0VTU0VOVElBTF9FWFRSQV9SREVQRU5EU30gXAorIgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJcCisgICAga2VybmVsIFwKKyAgICAke01BQ0hJTkVfRVNTRU5USUFMX0VYVFJBX1JSRUNPTU1FTkRTfSBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWNsaS10b29scy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtY2xpLXRvb2xzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhNGIwNjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWNsaS10b29scy5iYgpAQCAtMCwwICsxLDQ1IEBACitTVU1NQVJZID0gIkEgc2V0IG9mIHVzZWZ1bCBjb21tYW5kIGxpbmUgdG9vbHMiCitTVU1NQVJZXyR7UE59LWRlYnVnID0gIkEgc2V0IG9mIGNvbW1hbmQgbGluZSB0b29scyB1c2VmdWwgZm9yIGRlYnVnZ2luZyIKK1NFQ1RJT04gPSAiY29uc29sZSIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9DT1BZSU5HLk1JVDttZDU9M2RhOWNmYmNiNzg4YzgwYTAzODQzNjFiNGRlMjA0MjAiCitQViA9ICIxLjAiCitQUiA9ICJyMjEiCisKK2luaGVyaXQgcGFja2FnZWdyb3VwIGFsbGFyY2gKKworUEFDS0FHRVMgKz0gIiR7UE59LWRlYnVnIgorCitSREVQRU5EU18ke1BOfSA9ICJcCisgICAgZGJ1cy1kYWVtb24tcHJveHkgXAorICAgIGRvc2ZzdG9vbHMgXAorICAgIGh0b3AgXAorICAgIGlwdGFibGVzIFwKKyAgICBsc29mIFwKKyAgICBtYnVmZmVyIFwKKyAgICBtdGQtdXRpbHMgXAorICAgIG5hbm8gXAorICAgIG5mcy11dGlscy1jbGllbnQgXAorICAgIG5tb24gXAorICAgIHBvd2VydG9wIFwKKyAgICBzY3JlZW4gXAorICAgIHNvY2F0IFwKKyAgICBzeXNzdGF0IFwKKyIKKworUkRFUEVORFNfJHtQTn0tZGVidWcgPSAiXAorICAgIGV2dGVzdCBcCisgICAgZGV2bWVtMiBcCisgICAgaTJjLXRvb2xzIFwKKyAgICBnZGIgXAorICAgIHByb2NwcyBcCisgICAgcHhhcmVncyBcCisgICAgczNjMjR4eC1ncGlvIFwKKyAgICBzM2M2NHh4LWdwaW8gXAorICAgIHNlcmlhbC1mb3J3YXJkIFwKKyAgICBzdHJhY2UgXAorIgorCitSUkVDT01NRU5EU18ke1BOfS1kZWJ1ZyA9ICJcCisgICAgbHRyYWNlIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcGx5bW91dGgvcGx5bW91dGhfMC45LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3BseW1vdXRoL3BseW1vdXRoXzAuOS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljYTg1MDIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3BseW1vdXRoL3BseW1vdXRoXzAuOS4yLmJiCkBAIC0wLDAgKzEsNjEgQEAKK1NVTU1BUlkgPSAiUGx5bW91dGggaXMgYSBwcm9qZWN0IGZyb20gRmVkb3JhIHByb3ZpZGluZyBhIGZsaWNrZXItZnJlZSBncmFwaGljYWwgYm9vdCBwcm9jZXNzLiIKKworREVTQ1JJUFRJT04gPSAiUGx5bW91dGggaXMgYW4gYXBwbGljYXRpb24gdGhhdCBydW5zIHZlcnkgZWFybHkgaW4gdGhlIGJvb3QgcHJvY2VzcyBcCisgICAgICAgICAgICAgICAoZXZlbiBiZWZvcmUgdGhlIHJvb3QgZmlsZXN5c3RlbSBpcyBtb3VudGVkISkgdGhhdCBwcm92aWRlcyBhIFwKKwkgICAgICAgZ3JhcGhpY2FsIGJvb3QgYW5pbWF0aW9uIHdoaWxlIHRoZSBib290IHByb2Nlc3MgaGFwcGVucyBpbiB0aGUgYmFja2dyb3VuZC4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3dpa2kvU29mdHdhcmUvUGx5bW91dGgiCitTRUNUSU9OID0gImJhc2UiCisKK0xJQ0VOU0UgPSAiR1BMdjIrIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworREVQRU5EUyA9ICJsaWJjYXAgbGlicG5nIGNhaXJvIGRidXMgdWRldiIKK1BST1ZJREVTID0gInZpcnR1YWwvcHNwbGFzaCIKK1JQUk9WSURFU18ke1BOfSA9ICJ2aXJ0dWFsL3BzcGxhc2ggdmlydHVhbC9wc3BsYXNoLXN1cHBvcnQiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvcGx5bW91dGgvcmVsZWFzZXMvJHtCUE59LSR7UFZ9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiZmY0MjA5OTRkZWI3ZWEyMDNkZjY3OGRmOTJlN2FiN2QiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmYwY2U4MjA0MmNmOWM3ZWFkZDI1MTdhMWY3NGM4YTg1ZmE4Njk5NzgxZDlmMjk0YTA2ZWFkZTI5ZmJlZDU3ZiIKKworRVhUUkFfT0VDT05GICs9ICIgLS1lbmFibGUtc2hhcmVkIC0tZGlzYWJsZS1zdGF0aWMgLS1kaXNhYmxlLWd0ayAtLWRpc2FibGUtZG9jdW1lbnRhdGlvblwKKwkJICAtLXdpdGgtbG9nbz0ke0xPR099IFwKKyAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICctLWVuYWJsZS1zeXN0ZW1kLWludGVncmF0aW9uIC0td2l0aC1zeXN0ZW0tcm9vdC1pbnN0YWxsJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgIgorCitQQUNLQUdFQ09ORklHW2RybV0gPSAiLS1lbmFibGUtZHJtLC0tZGlzYWJsZS1kcm0sbGliZHJtIgorUEFDS0FHRUNPTkZJR1twYW5nb10gPSAiLS1lbmFibGUtcGFuZ28sLS1kaXNhYmxlLXBhbmdvLHBhbmdvIgorUEFDS0FHRUNPTkZJR1tndGtdID0gIi0tZW5hYmxlLWd0aywtLWRpc2FibGUtZ3RrLGd0aysiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJwYW5nbyIKKworTE9HTyA/Pz0gIiR7ZGF0YWRpcn0vcGx5bW91dGgvYml6Y29tLnBuZyIKKworUEFDS0FHRUNPTkZJR19hcHBlbmRfeDg2ID0gIiBkcm0iCitQQUNLQUdFQ09ORklHX2FwcGVuZF94ODYtNjQgPSAiIGRybSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHN5c3RlbWQKKworCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKwlpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisJaW5zdGFsbCAtbSA2NDQgJHtCfS9zeXN0ZW1kLXVuaXRzLyouc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCWluc3RhbGwgLW0gNjQ0ICR7Qn0vc3lzdGVtZC11bml0cy9zeXN0ZW1kLWFzay1wYXNzd29yZC1wbHltb3V0aC5wYXRoICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisJIyBSZW1vdmUgL3Zhci9ydW4gZnJvbSBwYWNrYWdlIGFzIHBseW1vdXRoIHdpbGwgcG9wdWxhdGUgaXQgb24gc3RhcnR1cAorCXJtIC1mciAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuIgorfQorCitQQUNLQUdFUyA9KyAiJHtQTn0taW5pdHJkICR7UE59LXNldC1kZWZhdWx0LXRoZW1lIgorCitGSUxFU18ke1BOfS1pbml0cmQgPSAiJHtsaWJleGVjZGlyfS9wbHltb3V0aC8qIgorRklMRVNfJHtQTn0tc2V0LWRlZmF1bHQtdGhlbWUgPSAiJHtzYmluZGlyfS9wbHltb3V0aC1zZXQtZGVmYXVsdC10aGVtZSIKKworRklMRVNfJHtQTn0gKz0gIiR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vKiIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3BseW1vdXRoL3JlbmRlcmVycy8uZGVidWciCisKKworUkRFUEVORFNfJHtQTn0taW5pdHJkID0gImJhc2ggZHJhY3V0IgorUkRFUEVORFNfJHtQTn0tc2V0LWRlZmF1bHQtdGhlbWUgPSAiYmFzaCIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInBseW1vdXRoLXN0YXJ0LnNlcnZpY2UiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3Byb3h5LWxpYmludGwvcHJveHktbGliaW50bC0yMDEwMDkwMi9jcmVhdGUtYXMtc2hhcmVkLWxpYi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcHJveHktbGliaW50bC9wcm94eS1saWJpbnRsLTIwMTAwOTAyL2NyZWF0ZS1hcy1zaGFyZWQtbGliLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwNmUzYjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3Byb3h5LWxpYmludGwvcHJveHktbGliaW50bC0yMDEwMDkwMi9jcmVhdGUtYXMtc2hhcmVkLWxpYi5wYXRjaApAQCAtMCwwICsxLDMxIEBACistLS0gYS9zcmMvcHJveHktbGliaW50bC9NYWtlZmlsZS5vcmcJMjAwOS0wOS0xMiAyMzoxOTowNC45ODk0MjE2MDcgLTA3MDAKKysrKyBhL3NyYy9wcm94eS1saWJpbnRsL01ha2VmaWxlCTIwMDktMDktMTIgMjM6MjE6MTQuMTAwNjQwMDAxIC0wNzAwCitAQCAtNCwyMCArNCwyMCBAQCBaSVBGSUxFID0gcHJveHktbGliaW50bC0kKFRJTUVTVEFNUCkuemlwCisgQ0MgPSBnY2MKKyBDRkxBR1MgPSAtV2FsbCAtSSAuLi8uLi9pbmNsdWRlCisgCistYWxsIDogLi4vLi4vbGliL2xpYmludGwuYSAuLi8uLi9saWIvaW50bC5saWIKKythbGwgOiAuLi8uLi9saWIvbGliaW50bC5zbyAuLi8uLi9saWIvaW50bC5saWIKKyAKKy0uLi8uLi9saWIvbGliaW50bC5hIDogbGliaW50bC5vCistCWFyIHJjICRAIGxpYmludGwubworKy4uLy4uL2xpYi9saWJpbnRsLnNvIDogbGliaW50bC5vCisrCSQoQ0MpIC1zaGFyZWQgLW8gJEAgbGliaW50bC5vCisgCistLi4vLi4vbGliL2ludGwubGliIDogLi4vLi4vbGliL2xpYmludGwuYQorLQljcCAuLi8uLi9saWIvbGliaW50bC5hICRACistCXN0cmlwIC0tc3RyaXAtdW5uZWVkZWQgJEAKKysuLi8uLi9saWIvaW50bC5saWIgOiAuLi8uLi9saWIvbGliaW50bC5zbworKwljcCAuLi8uLi9saWIvbGliaW50bC5zbyAkQAorKwkkKFNUUklQKSAtLXN0cmlwLXVubmVlZGVkICRACisgCisgbGliaW50bC5vIDogbGliaW50bC5jCisgCSQoQ0MpICQoQ0ZMQUdTKSAtYyBsaWJpbnRsLmMKKyAKKyBjbGVhbiA6CistCXJtIC1mICoubyAuLi8uLi9saWIvbGliaW50bC5hIC4uLy4uLyQoWklQRklMRSkKKysJcm0gLWYgKi5vIC4uLy4uL2xpYi9saWJpbnRsLnNvIC4uLy4uLyQoWklQRklMRSkKKyAKKyBkaXN0IDogY2xlYW4gYWxsCistCWNkIC4uLy4uOyB6aXAgJChaSVBGSUxFKSBpbmNsdWRlL2xpYmludGwuaCBsaWIve2xpYmludGwuYSxpbnRsLmxpYn0gc3JjL3Byb3h5LWxpYmludGwve1JFQURNRS50eHQsQ09QWUlORy5MSUIudHh0LE1ha2VmaWxlLGxpYmludGwuW2NoXX07IG1hbmlmZXN0aWZ5ICQoWklQRklMRSkKKysJY2QgLi4vLi47IHppcCAkKFpJUEZJTEUpIGluY2x1ZGUvbGliaW50bC5oIGxpYi97bGliaW50bC5zbyxpbnRsLmxpYn0gc3JjL3Byb3h5LWxpYmludGwve1JFQURNRS50eHQsQ09QWUlORy5MSUIudHh0LE1ha2VmaWxlLGxpYmludGwuW2NoXX07IG1hbmlmZXN0aWZ5ICQoWklQRklMRSkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcHJveHktbGliaW50bC9wcm94eS1saWJpbnRsLTIwMTAwOTAyL3NvbmFtZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcHJveHktbGliaW50bC9wcm94eS1saWJpbnRsLTIwMTAwOTAyL3NvbmFtZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZGYyMzJkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9wcm94eS1saWJpbnRsL3Byb3h5LWxpYmludGwtMjAxMDA5MDIvc29uYW1lLnBhdGNoCkBAIC0wLDAgKzEsMjMgQEAKK0luZGV4OiBwcm94eS1saWJpbnRsLTIwMDgwNDE4LXI2L3NyYy9wcm94eS1saWJpbnRsL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcHJveHktbGliaW50bC0yMDA4MDQxOC1yNi5vcmlnL3NyYy9wcm94eS1saWJpbnRsL01ha2VmaWxlCTIwMTAtMDctMjUgMDg6NDA6MjIuODkzNjIwMDAxIC0wNzAwCisrKysgcHJveHktbGliaW50bC0yMDA4MDQxOC1yNi9zcmMvcHJveHktbGliaW50bC9NYWtlZmlsZQkyMDEwLTA3LTI1IDEwOjUxOjI5LjU3MzYyMDAwMCAtMDcwMAorQEAgLTYsMTYgKzYsMTMgQEAgQ0ZMQUdTID0gLVdhbGwgLUkgLi4vLi4vaW5jbHVkZQorIAorIGFsbCA6IC4uLy4uL2xpYi9saWJpbnRsLnNvIC4uLy4uL2xpYi9pbnRsLmxpYgorIAorLS4uLy4uL2xpYi9saWJpbnRsLnNvIDogbGliaW50bC5vCistCSQoQ0MpIC1zaGFyZWQgLW8gJEAgbGliaW50bC5vCisrLi4vLi4vbGliL2xpYmludGwuc28gOiBsaWJpbnRsLmMKKysJJChDQykgJChDRkxBR1MpIC1zaGFyZWQgLVdsLC1zb25hbWUgLVdsLGxpYmludGwuc28gLW8gJEAgJDwKKyAKKyAuLi8uLi9saWIvaW50bC5saWIgOiAuLi8uLi9saWIvbGliaW50bC5zbworIAljcCAuLi8uLi9saWIvbGliaW50bC5zbyAkQAorIAkkKFNUUklQKSAtLXN0cmlwLXVubmVlZGVkICRACisgCistbGliaW50bC5vIDogbGliaW50bC5jCistCSQoQ0MpICQoQ0ZMQUdTKSAtYyBsaWJpbnRsLmMKKy0KKyBjbGVhbiA6CisgCXJtIC1mICoubyAuLi8uLi9saWIvbGliaW50bC5zbyAuLi8uLi8kKFpJUEZJTEUpCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3Byb3h5LWxpYmludGwvcHJveHktbGliaW50bC0yMDEwMDkwMi9zdHViLW9ubHkucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3Byb3h5LWxpYmludGwvcHJveHktbGliaW50bC0yMDEwMDkwMi9zdHViLW9ubHkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzE4NmIxMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcHJveHktbGliaW50bC9wcm94eS1saWJpbnRsLTIwMTAwOTAyL3N0dWItb25seS5wYXRjaApAQCAtMCwwICsxLDcyIEBACitJbmRleDogcHJveHktbGliaW50bC9zcmMvcHJveHktbGliaW50bC9saWJpbnRsLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBwcm94eS1saWJpbnRsLm9yaWcvc3JjL3Byb3h5LWxpYmludGwvbGliaW50bC5jCisrKysgcHJveHktbGliaW50bC9zcmMvcHJveHktbGliaW50bC9saWJpbnRsLmMKK0BAIC0xOCw5ICsxOCwxMiBAQAorICAqLworIAorICNpZmRlZiBfV0lOMzIKKy0jaW5jbHVkZSA8d2luZG93cy5oPgorKyMgIGluY2x1ZGUgPHdpbmRvd3MuaD4KKyAjZWxzZQorLSNpbmNsdWRlIDxkbGZjbi5oPgorKyMgIGluY2x1ZGUgPHN0ZGRlZi5oPgorKyMgIGlmICFTVFVCX09OTFkKKysjICAgIGluY2x1ZGUgPGRsZmNuLmg+CisrIyAgZW5kaWYKKyB0eXBlZGVmIHZvaWQqIEhNT0RVTEU7CisgI2VuZGlmCisgCitAQCAtNjUsMTEgKzY4LDEzIEBAIHN0YXRpYyBjaGFyICogKCpwX2JpbmRfdGV4dGRvbWFpbl9jb2Rlc2UKKyBzdGF0aWMgaW50CisgdXNlX2ludGxfZGxsIChITU9EVUxFIGRsbCkKKyB7CistI2lmZGVmIF9XSU4zMgorLSNkZWZpbmUgTE9PS1VQKGZuKSBwXyMjZm4gPSAodm9pZCAqKSBHZXRQcm9jQWRkcmVzcyAoZGxsLCAjZm4pOyBpZiAocF8jI2ZuID09IE5VTEwpIHJldHVybiAwCistI2Vsc2UKKy0jZGVmaW5lIExPT0tVUChmbikgcF8jI2ZuID0gKHZvaWQgKikgZGxzeW0gKGRsbCwgI2ZuKTsgaWYgKHBfIyNmbiA9PSBOVUxMKSByZXR1cm4gMAorLSNlbmRpZgorKyNpZiAhU1RVQl9PTkxZCisrIyAgaWZkZWYgX1dJTjMyCisrIyAgICBkZWZpbmUgTE9PS1VQKGZuKSBwXyMjZm4gPSAodm9pZCAqKSBHZXRQcm9jQWRkcmVzcyAoZGxsLCAjZm4pOyBpZiAocF8jI2ZuID09IE5VTEwpIHJldHVybiAwCisrIyAgZWxzZQorKyMgICAgZGVmaW5lIExPT0tVUChmbikgcF8jI2ZuID0gKHZvaWQgKikgZGxzeW0gKGRsbCwgI2ZuKTsgaWYgKHBfIyNmbiA9PSBOVUxMKSByZXR1cm4gMAorKyMgIGVuZGlmICAvKiBfV0lOMzIgKi8KKysKKyAKKyAgIExPT0tVUCAoZ2V0dGV4dCk7CisgICBMT09LVVAgKGRnZXR0ZXh0KTsKK0BAIC04Miw3ICs4Nyw3IEBAIHVzZV9pbnRsX2RsbCAoSE1PRFVMRSBkbGwpCisgICBMT09LVVAgKGJpbmRfdGV4dGRvbWFpbl9jb2Rlc2V0KTsKKyAgIAorICN1bmRlZiBMT09LVVAKKy0KKysjZW5kaWYgIC8qICFTVFVCX09OTFkgKi8KKyAgIHJldHVybiAxOworIH0KKyAKK0BAIC0xNzEsMTMgKzE3NiwxNyBAQCBzZXR1cCAodm9pZCkKKyAKKyAgIGlmICghYmVlbmhlcmUpCisgICAgIHsKKy0jaWZkZWYgX1dJTjMyCistICAgICAgSE1PRFVMRSBpbnRsX2RsbCA9IExvYWRMaWJyYXJ5ICgiaW50bC5kbGwiKTsKKy0jZWxpZiBkZWZpbmVkKF9fQVBQTEVfXykgJiYgZGVmaW5lZChfX01BQ0hfXykKKy0gICAgICBITU9EVUxFIGludGxfZGxsID0gZGxvcGVuICgibGliaW50bC5keWxpYiIsIFJUTERfTEFaWSk7CistI2Vsc2UKKy0gICAgICBITU9EVUxFIGludGxfZGxsID0gZGxvcGVuICgibGliaW50bC5zbyIsIFJUTERfTEFaWSk7CistI2VuZGlmCisrI2lmICFTVFVCX09OTFkKKysjICBpZmRlZiBfV0lOMzIKKysgICAgSE1PRFVMRSBpbnRsX2RsbCA9IExvYWRMaWJyYXJ5ICgiaW50bC5kbGwiKTsKKysjICBlbGlmIGRlZmluZWQoX19BUFBMRV9fKSAmJiBkZWZpbmVkKF9fTUFDSF9fKQorKyAgICBITU9EVUxFIGludGxfZGxsID0gZGxvcGVuICgibGliaW50bC5keWxpYiIsIFJUTERfTEFaWSk7CisrIyAgZWxzZQorKyAgICBITU9EVUxFIGludGxfZGxsID0gZGxvcGVuICgibGliaW50bC5zbyIsIFJUTERfTEFaWSk7CisrIyAgZW5kaWYKKysjZWxzZSAgLyogIVNUVUJfT05MWSAqLworKyAgICBITU9EVUxFIGludGxfZGxsID0gTlVMTDsKKysjZW5kaWYgIC8qIFNUVUJfT05MWSAqLworIAorICAgICAgIGlmIChpbnRsX2RsbCAhPSBOVUxMICYmCisgCSAgdXNlX2ludGxfZGxsIChpbnRsX2RsbCkpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3Byb3h5LWxpYmludGwvcHJveHktbGliaW50bF8yMDEwMDkwMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcHJveHktbGliaW50bC9wcm94eS1saWJpbnRsXzIwMTAwOTAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0NmE5MWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3Byb3h5LWxpYmludGwvcHJveHktbGliaW50bF8yMDEwMDkwMi5iYgpAQCAtMCwwICsxLDM0IEBACitTVU1NQVJZID0gIlByb3h5IGxpYmludGwiCitIT01FUEFHRSA9ICJodHRwOi8vZnRwLmdub21lLm9yZy9wdWIvR05PTUUvYmluYXJpZXMvd2luMzIvZGVwZW5kZW5jaWVzLyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vc3JjL3Byb3h5LWxpYmludGwvQ09QWUlORy5MSUIudHh0O21kNT1iYzQwMGJjMjE0MjJmOWE5MmU3NmVjMmM1MTY3Y2EyZSIKKworUFIgPSAicjEiCitQUk9WSURFUyA9ICJ2aXJ0dWFsL2xpYmludGwiCisKK1NSQ19VUkkgPSAiIFwKKyAgICBodHRwOi8vZnRwLmdub21lLm9yZy9wdWIvR05PTUUvYmluYXJpZXMvd2luMzIvZGVwZW5kZW5jaWVzLyR7UE59LWRldl8ke1BWfV93aW4zMi56aXAgXAorIgorU1JDX1VSSVttZDVzdW1dID0gImFlZjQwN2MyYjk3ZWU4MjkzODNhYWRkODY3YzYxZDFlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI5MWFjMzUwY2M1ZWI0YTAxYjBkNjUxY2E5OWZhZTY0Y2VlOGExYzA2YjIwMDUyNzdmYWI1YTQzNTZmOWFlOTEiCisKK1MgPSAiJHtXT1JLRElSfSIKK1BBQ0tBR0VTID0gIiR7UE59ICR7UE59LWRldiIKK0ZJTEVTXyR7UE59LWRldiA9ICIke2luY2x1ZGVkaXJ9L2xpYmludGwuaCAke2xpYmRpcn0vbGliaW50bC5hIgorSU5TQU5FX1NLSVBfJHtQTn0tZGV2ID0gInN0YXRpY2RldiIKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCitDRkxBR1NfYXBwZW5kID0gIiAtZlBJQyAtV2FsbCAtSSAuLi8uLi9pbmNsdWRlICR7QFsnLURTVFVCX09OTFknLCAnJ11bZC5nZXRWYXIoJ1VTRV9OTFMnLCAxKSAhPSAnbm8nXX0iCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKKworZG9fY29tcGlsZSgpIHsKKyAgICBjZCAke1dPUktESVJ9L3NyYy9wcm94eS1saWJpbnRsCisgICAgb2VfcnVubWFrZSAuLi8uLi9saWIvbGliaW50bC5hCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9LyR7aW5jbHVkZWRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0vJHtsaWJkaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vaW5jbHVkZS9saWJpbnRsLmggJHtEfS8ke2luY2x1ZGVkaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbGliL2xpYmludGwuYSAke0R9LyR7bGliZGlyfQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS90b3lib3gvdG95Ym94XzAuNi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS90b3lib3gvdG95Ym94XzAuNi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhMDMyMDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3RveWJveC90b3lib3hfMC42LjAuYmIKQEAgLTAsMCArMSw2NSBAQAorU1VNTUFSWSA9ICJUb3lib3ggY29tYmluZXMgY29tbW9uIHV0aWxpdGllcyB0b2dldGhlciBpbnRvIGEgc2luZ2xlIGV4ZWN1dGFibGUuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5sYW5kbGV5Lm5ldC90b3lib3gvIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubGFuZGxleS5uZXQvdG95Ym94L2Rvd25sb2Fkcy8ke0JQTn0tJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiN2Y0YTZjODllNTZjNDhlMzM1MGU2MTFmNWIzNmMyY2YiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjZlMjY5NGQxOWFjMDhmMWMzNDE2ZDViMmEwMmEzMWQ0NDVkYjJlZDk4ZGVjODk3NjE0MzBjZGZmMmM5NzEwZCIKKworCitMSUNFTlNFID0gIkJTRC0wLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWYwYjhiM2RkNjQzMWJjYWEyNDVkYTBhMDhiZDBkNTExIgorCitTRUNUSU9OID0gImJhc2UiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBvZV9ydW5tYWtlIGRlZmNvbmZpZworCisgICAgIyBEaXNhYmxlIGtpbGxhbGw1IGFzIGl0IGlzbid0IG1hbmFnZWQgYnkgdXBkYXRlLWFsdGVybmF0aXZlcworICAgIHNlZCAtZSAncy9DT05GSUdfS0lMTEFMTDU9eS8jIENPTkZJR19LSUxMQUxMNSBpcyBub3Qgc2V0LycgLWkgLmNvbmZpZworfQorCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UgdG95Ym94X3Vuc3RyaXBwZWQKKworICAgICMgQ3JlYXRlIGEgbGlzdCBvZiBsaW5rcyBuZWVkZWQKKyAgICBvZV9ydW5tYWtlIGdlbmVyYXRlZC9pbnN0bGlzdAorICAgIC4vZ2VuZXJhdGVkL2luc3RsaXN0IGxvbmcgfCBzZWQgLWUgJ3MjXiMvIycgPiB0b3lib3gubGlua3MKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICAjIEluc3RhbGwgbWFudWFsbHkgaW5zdGVhZCBvZiB1c2luZyAnbWFrZSBpbnN0YWxsJworICAgIGluc3RhbGwgLWQgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaWYgZ3JlcCAtcSAiQ09ORklHX1RPWUJPWF9TVUlEPXkiICR7Qn0vLmNvbmZpZzsgdGhlbgorICAgICAgICBpbnN0YWxsIC1tIDQ3NTUgJHtCfS90b3lib3hfdW5zdHJpcHBlZCAke0R9JHtiYXNlX2JpbmRpcn0vdG95Ym94CisgICAgZWxzZQorICAgICAgICBpbnN0YWxsIC1tIDA3NTUgJHtCfS90b3lib3hfdW5zdHJpcHBlZCAke0R9JHtiYXNlX2JpbmRpcn0vdG95Ym94CisgICAgZmkKKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtCfS90b3lib3gubGlua3MgJHtEfSR7c3lzY29uZmRpcn0KK30KKworaW5oZXJpdCB1cGRhdGUtYWx0ZXJuYXRpdmVzCisKKyMgSWYgeW91J3ZlIGNob3NlbiB0byBpbnN0YWxsIHRveWJveCB5b3UgcHJvYmFibHkgd2FudCBpdCB0byB0YWtlIHByZWNlZGVuY2UKKyMgb3ZlciBidXN5Ym94IHdoZXJlIHBvc3NpYmxlIGJ1dCBub3Qgb3ZlciBvdGhlciBwYWNrYWdlcworQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiNjAiCisKK3B5dGhvbiBkb19wYWNrYWdlX3ByZXBlbmQgKCkgeworICAgICMgUmVhZCBsaW5rcyBmcm9tIC9ldGMvdG95Ym94LmxpbmtzIGFuZCBjcmVhdGUgYXBwcm9wcmlhdGUKKyAgICAjIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgdmFyaWFibGVzCisKKyAgICBkdmFyID0gZC5nZXRWYXIoJ0QnLCBUcnVlKQorICAgIHBuID0gZC5nZXRWYXIoJ1BOJywgVHJ1ZSkKKyAgICB0YXJnZXQgPSAiL2Jpbi90b3lib3giCisKKyAgICBmID0gb3BlbignJXMvZXRjL3RveWJveC5saW5rcycgJSAoZHZhciksICdyJykKKyAgICBmb3IgYWx0X2xpbmtfbmFtZSBpbiBmOgorICAgICAgICBhbHRfbGlua19uYW1lID0gYWx0X2xpbmtfbmFtZS5zdHJpcCgpCisgICAgICAgIGFsdF9uYW1lID0gb3MucGF0aC5iYXNlbmFtZShhbHRfbGlua19uYW1lKQorICAgICAgICBkLmFwcGVuZFZhcignQUxURVJOQVRJVkVfJXMnICUgKHBuKSwgJyAnICsgYWx0X25hbWUpCisgICAgICAgIGQuc2V0VmFyRmxhZygnQUxURVJOQVRJVkVfTElOS19OQU1FJywgYWx0X25hbWUsIGFsdF9saW5rX25hbWUpCisgICAgICAgIGQuc2V0VmFyRmxhZygnQUxURVJOQVRJVkVfVEFSR0VUJywgYWx0X25hbWUsIHRhcmdldCkKKyAgICBmLmNsb3NlKCkKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvdXNsZWVwL2ZpbGVzL0dQTHYyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS91c2xlZXAvZmlsZXMvR1BMdjIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWVlODE4MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvdXNsZWVwL2ZpbGVzL0dQTHYyLnBhdGNoCkBAIC0wLDAgKzEsMzQ3IEBACitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2xpY2Vuc2luZ10KKworZGlmZiAtLWdpdCBhL0NPUFlJTkcgYi9DT1BZSU5HCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uZDUxMTkwNQorLS0tIC9kZXYvbnVsbAorKysrIGIvQ09QWUlORworQEAgLTAsMCArMSwzMzkgQEAKKysJCSAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQorKwkJICAgICAgIFZlcnNpb24gMiwgSnVuZSAxOTkxCisrCisrIENvcHlyaWdodCAoQykgMTk4OSwgMTk5MSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisrIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EKKysgRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCisrIG9mIHRoaXMgbGljZW5zZSBkb2N1bWVudCwgYnV0IGNoYW5naW5nIGl0IGlzIG5vdCBhbGxvd2VkLgorKworKwkJCSAgICBQcmVhbWJsZQorKworKyAgVGhlIGxpY2Vuc2VzIGZvciBtb3N0IHNvZnR3YXJlIGFyZSBkZXNpZ25lZCB0byB0YWtlIGF3YXkgeW91cgorK2ZyZWVkb20gdG8gc2hhcmUgYW5kIGNoYW5nZSBpdC4gIEJ5IGNvbnRyYXN0LCB0aGUgR05VIEdlbmVyYWwgUHVibGljCisrTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgZnJlZQorK3NvZnR3YXJlLS10byBtYWtlIHN1cmUgdGhlIHNvZnR3YXJlIGlzIGZyZWUgZm9yIGFsbCBpdHMgdXNlcnMuICBUaGlzCisrR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcHBsaWVzIHRvIG1vc3Qgb2YgdGhlIEZyZWUgU29mdHdhcmUKKytGb3VuZGF0aW9uJ3Mgc29mdHdhcmUgYW5kIHRvIGFueSBvdGhlciBwcm9ncmFtIHdob3NlIGF1dGhvcnMgY29tbWl0IHRvCisrdXNpbmcgaXQuICAoU29tZSBvdGhlciBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gc29mdHdhcmUgaXMgY292ZXJlZCBieQorK3RoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW5zdGVhZC4pICBZb3UgY2FuIGFwcGx5IGl0IHRvCisreW91ciBwcm9ncmFtcywgdG9vLgorKworKyAgV2hlbiB3ZSBzcGVhayBvZiBmcmVlIHNvZnR3YXJlLCB3ZSBhcmUgcmVmZXJyaW5nIHRvIGZyZWVkb20sIG5vdAorK3ByaWNlLiAgT3VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VzIGFyZSBkZXNpZ25lZCB0byBtYWtlIHN1cmUgdGhhdCB5b3UKKytoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCisrdGhpcyBzZXJ2aWNlIGlmIHlvdSB3aXNoKSwgdGhhdCB5b3UgcmVjZWl2ZSBzb3VyY2UgY29kZSBvciBjYW4gZ2V0IGl0CisraWYgeW91IHdhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQKKytpbiBuZXcgZnJlZSBwcm9ncmFtczsgYW5kIHRoYXQgeW91IGtub3cgeW91IGNhbiBkbyB0aGVzZSB0aGluZ3MuCisrCisrICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIG1ha2UgcmVzdHJpY3Rpb25zIHRoYXQgZm9yYmlkCisrYW55b25lIHRvIGRlbnkgeW91IHRoZXNlIHJpZ2h0cyBvciB0byBhc2sgeW91IHRvIHN1cnJlbmRlciB0aGUgcmlnaHRzLgorK1RoZXNlIHJlc3RyaWN0aW9ucyB0cmFuc2xhdGUgdG8gY2VydGFpbiByZXNwb25zaWJpbGl0aWVzIGZvciB5b3UgaWYgeW91CisrZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZiB5b3UgbW9kaWZ5IGl0LgorKworKyAgRm9yIGV4YW1wbGUsIGlmIHlvdSBkaXN0cmlidXRlIGNvcGllcyBvZiBzdWNoIGEgcHJvZ3JhbSwgd2hldGhlcgorK2dyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IGdpdmUgdGhlIHJlY2lwaWVudHMgYWxsIHRoZSByaWdodHMgdGhhdAorK3lvdSBoYXZlLiAgWW91IG11c3QgbWFrZSBzdXJlIHRoYXQgdGhleSwgdG9vLCByZWNlaXZlIG9yIGNhbiBnZXQgdGhlCisrc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkga25vdyB0aGVpcgorK3JpZ2h0cy4KKysKKysgIFdlIHByb3RlY3QgeW91ciByaWdodHMgd2l0aCB0d28gc3RlcHM6ICgxKSBjb3B5cmlnaHQgdGhlIHNvZnR3YXJlLCBhbmQKKysoMikgb2ZmZXIgeW91IHRoaXMgbGljZW5zZSB3aGljaCBnaXZlcyB5b3UgbGVnYWwgcGVybWlzc2lvbiB0byBjb3B5LAorK2Rpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSB0aGUgc29mdHdhcmUuCisrCisrICBBbHNvLCBmb3IgZWFjaCBhdXRob3IncyBwcm90ZWN0aW9uIGFuZCBvdXJzLCB3ZSB3YW50IHRvIG1ha2UgY2VydGFpbgorK3RoYXQgZXZlcnlvbmUgdW5kZXJzdGFuZHMgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhpcyBmcmVlCisrc29mdHdhcmUuICBJZiB0aGUgc29mdHdhcmUgaXMgbW9kaWZpZWQgYnkgc29tZW9uZSBlbHNlIGFuZCBwYXNzZWQgb24sIHdlCisrd2FudCBpdHMgcmVjaXBpZW50cyB0byBrbm93IHRoYXQgd2hhdCB0aGV5IGhhdmUgaXMgbm90IHRoZSBvcmlnaW5hbCwgc28KKyt0aGF0IGFueSBwcm9ibGVtcyBpbnRyb2R1Y2VkIGJ5IG90aGVycyB3aWxsIG5vdCByZWZsZWN0IG9uIHRoZSBvcmlnaW5hbAorK2F1dGhvcnMnIHJlcHV0YXRpb25zLgorKworKyAgRmluYWxseSwgYW55IGZyZWUgcHJvZ3JhbSBpcyB0aHJlYXRlbmVkIGNvbnN0YW50bHkgYnkgc29mdHdhcmUKKytwYXRlbnRzLiAgV2Ugd2lzaCB0byBhdm9pZCB0aGUgZGFuZ2VyIHRoYXQgcmVkaXN0cmlidXRvcnMgb2YgYSBmcmVlCisrcHJvZ3JhbSB3aWxsIGluZGl2aWR1YWxseSBvYnRhaW4gcGF0ZW50IGxpY2Vuc2VzLCBpbiBlZmZlY3QgbWFraW5nIHRoZQorK3Byb2dyYW0gcHJvcHJpZXRhcnkuICBUbyBwcmV2ZW50IHRoaXMsIHdlIGhhdmUgbWFkZSBpdCBjbGVhciB0aGF0IGFueQorK3BhdGVudCBtdXN0IGJlIGxpY2Vuc2VkIGZvciBldmVyeW9uZSdzIGZyZWUgdXNlIG9yIG5vdCBsaWNlbnNlZCBhdCBhbGwuCisrCisrICBUaGUgcHJlY2lzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgY29weWluZywgZGlzdHJpYnV0aW9uIGFuZAorK21vZGlmaWNhdGlvbiBmb2xsb3cuCisrCisrCQkgICAgR05VIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UKKysgICBURVJNUyBBTkQgQ09ORElUSU9OUyBGT1IgQ09QWUlORywgRElTVFJJQlVUSU9OIEFORCBNT0RJRklDQVRJT04KKysKKysgIDAuIFRoaXMgTGljZW5zZSBhcHBsaWVzIHRvIGFueSBwcm9ncmFtIG9yIG90aGVyIHdvcmsgd2hpY2ggY29udGFpbnMKKythIG5vdGljZSBwbGFjZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXIgc2F5aW5nIGl0IG1heSBiZSBkaXN0cmlidXRlZAorK3VuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBUaGUgIlByb2dyYW0iLCBiZWxvdywKKytyZWZlcnMgdG8gYW55IHN1Y2ggcHJvZ3JhbSBvciB3b3JrLCBhbmQgYSAid29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSIKKyttZWFucyBlaXRoZXIgdGhlIFByb2dyYW0gb3IgYW55IGRlcml2YXRpdmUgd29yayB1bmRlciBjb3B5cmlnaHQgbGF3OgorK3RoYXQgaXMgdG8gc2F5LCBhIHdvcmsgY29udGFpbmluZyB0aGUgUHJvZ3JhbSBvciBhIHBvcnRpb24gb2YgaXQsCisrZWl0aGVyIHZlcmJhdGltIG9yIHdpdGggbW9kaWZpY2F0aW9ucyBhbmQvb3IgdHJhbnNsYXRlZCBpbnRvIGFub3RoZXIKKytsYW5ndWFnZS4gIChIZXJlaW5hZnRlciwgdHJhbnNsYXRpb24gaXMgaW5jbHVkZWQgd2l0aG91dCBsaW1pdGF0aW9uIGluCisrdGhlIHRlcm0gIm1vZGlmaWNhdGlvbiIuKSAgRWFjaCBsaWNlbnNlZSBpcyBhZGRyZXNzZWQgYXMgInlvdSIuCisrCisrQWN0aXZpdGllcyBvdGhlciB0aGFuIGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBhbmQgbW9kaWZpY2F0aW9uIGFyZSBub3QKKytjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZTsgdGhleSBhcmUgb3V0c2lkZSBpdHMgc2NvcGUuICBUaGUgYWN0IG9mCisrcnVubmluZyB0aGUgUHJvZ3JhbSBpcyBub3QgcmVzdHJpY3RlZCwgYW5kIHRoZSBvdXRwdXQgZnJvbSB0aGUgUHJvZ3JhbQorK2lzIGNvdmVyZWQgb25seSBpZiBpdHMgY29udGVudHMgY29uc3RpdHV0ZSBhIHdvcmsgYmFzZWQgb24gdGhlCisrUHJvZ3JhbSAoaW5kZXBlbmRlbnQgb2YgaGF2aW5nIGJlZW4gbWFkZSBieSBydW5uaW5nIHRoZSBQcm9ncmFtKS4KKytXaGV0aGVyIHRoYXQgaXMgdHJ1ZSBkZXBlbmRzIG9uIHdoYXQgdGhlIFByb2dyYW0gZG9lcy4KKysKKysgIDEuIFlvdSBtYXkgY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMgb2YgdGhlIFByb2dyYW0ncworK3NvdXJjZSBjb2RlIGFzIHlvdSByZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdQorK2NvbnNwaWN1b3VzbHkgYW5kIGFwcHJvcHJpYXRlbHkgcHVibGlzaCBvbiBlYWNoIGNvcHkgYW4gYXBwcm9wcmlhdGUKKytjb3B5cmlnaHQgbm90aWNlIGFuZCBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5OyBrZWVwIGludGFjdCBhbGwgdGhlCisrbm90aWNlcyB0aGF0IHJlZmVyIHRvIHRoaXMgTGljZW5zZSBhbmQgdG8gdGhlIGFic2VuY2Ugb2YgYW55IHdhcnJhbnR5OworK2FuZCBnaXZlIGFueSBvdGhlciByZWNpcGllbnRzIG9mIHRoZSBQcm9ncmFtIGEgY29weSBvZiB0aGlzIExpY2Vuc2UKKythbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgorKworK1lvdSBtYXkgY2hhcmdlIGEgZmVlIGZvciB0aGUgcGh5c2ljYWwgYWN0IG9mIHRyYW5zZmVycmluZyBhIGNvcHksIGFuZAorK3lvdSBtYXkgYXQgeW91ciBvcHRpb24gb2ZmZXIgd2FycmFudHkgcHJvdGVjdGlvbiBpbiBleGNoYW5nZSBmb3IgYSBmZWUuCisrCisrICAyLiBZb3UgbWF5IG1vZGlmeSB5b3VyIGNvcHkgb3IgY29waWVzIG9mIHRoZSBQcm9ncmFtIG9yIGFueSBwb3J0aW9uCisrb2YgaXQsIHRodXMgZm9ybWluZyBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0sIGFuZCBjb3B5IGFuZAorK2Rpc3RyaWJ1dGUgc3VjaCBtb2RpZmljYXRpb25zIG9yIHdvcmsgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb24gMQorK2Fib3ZlLCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CisrCisrICAgIGEpIFlvdSBtdXN0IGNhdXNlIHRoZSBtb2RpZmllZCBmaWxlcyB0byBjYXJyeSBwcm9taW5lbnQgbm90aWNlcworKyAgICBzdGF0aW5nIHRoYXQgeW91IGNoYW5nZWQgdGhlIGZpbGVzIGFuZCB0aGUgZGF0ZSBvZiBhbnkgY2hhbmdlLgorKworKyAgICBiKSBZb3UgbXVzdCBjYXVzZSBhbnkgd29yayB0aGF0IHlvdSBkaXN0cmlidXRlIG9yIHB1Ymxpc2gsIHRoYXQgaW4KKysgICAgd2hvbGUgb3IgaW4gcGFydCBjb250YWlucyBvciBpcyBkZXJpdmVkIGZyb20gdGhlIFByb2dyYW0gb3IgYW55CisrICAgIHBhcnQgdGhlcmVvZiwgdG8gYmUgbGljZW5zZWQgYXMgYSB3aG9sZSBhdCBubyBjaGFyZ2UgdG8gYWxsIHRoaXJkCisrICAgIHBhcnRpZXMgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZS4KKysKKysgICAgYykgSWYgdGhlIG1vZGlmaWVkIHByb2dyYW0gbm9ybWFsbHkgcmVhZHMgY29tbWFuZHMgaW50ZXJhY3RpdmVseQorKyAgICB3aGVuIHJ1biwgeW91IG11c3QgY2F1c2UgaXQsIHdoZW4gc3RhcnRlZCBydW5uaW5nIGZvciBzdWNoCisrICAgIGludGVyYWN0aXZlIHVzZSBpbiB0aGUgbW9zdCBvcmRpbmFyeSB3YXksIHRvIHByaW50IG9yIGRpc3BsYXkgYW4KKysgICAgYW5ub3VuY2VtZW50IGluY2x1ZGluZyBhbiBhcHByb3ByaWF0ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCBhCisrICAgIG5vdGljZSB0aGF0IHRoZXJlIGlzIG5vIHdhcnJhbnR5IChvciBlbHNlLCBzYXlpbmcgdGhhdCB5b3UgcHJvdmlkZQorKyAgICBhIHdhcnJhbnR5KSBhbmQgdGhhdCB1c2VycyBtYXkgcmVkaXN0cmlidXRlIHRoZSBwcm9ncmFtIHVuZGVyCisrICAgIHRoZXNlIGNvbmRpdGlvbnMsIGFuZCB0ZWxsaW5nIHRoZSB1c2VyIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzCisrICAgIExpY2Vuc2UuICAoRXhjZXB0aW9uOiBpZiB0aGUgUHJvZ3JhbSBpdHNlbGYgaXMgaW50ZXJhY3RpdmUgYnV0CisrICAgIGRvZXMgbm90IG5vcm1hbGx5IHByaW50IHN1Y2ggYW4gYW5ub3VuY2VtZW50LCB5b3VyIHdvcmsgYmFzZWQgb24KKysgICAgdGhlIFByb2dyYW0gaXMgbm90IHJlcXVpcmVkIHRvIHByaW50IGFuIGFubm91bmNlbWVudC4pCisrCisrVGhlc2UgcmVxdWlyZW1lbnRzIGFwcGx5IHRvIHRoZSBtb2RpZmllZCB3b3JrIGFzIGEgd2hvbGUuICBJZgorK2lkZW50aWZpYWJsZSBzZWN0aW9ucyBvZiB0aGF0IHdvcmsgYXJlIG5vdCBkZXJpdmVkIGZyb20gdGhlIFByb2dyYW0sCisrYW5kIGNhbiBiZSByZWFzb25hYmx5IGNvbnNpZGVyZWQgaW5kZXBlbmRlbnQgYW5kIHNlcGFyYXRlIHdvcmtzIGluCisrdGhlbXNlbHZlcywgdGhlbiB0aGlzIExpY2Vuc2UsIGFuZCBpdHMgdGVybXMsIGRvIG5vdCBhcHBseSB0byB0aG9zZQorK3NlY3Rpb25zIHdoZW4geW91IGRpc3RyaWJ1dGUgdGhlbSBhcyBzZXBhcmF0ZSB3b3Jrcy4gIEJ1dCB3aGVuIHlvdQorK2Rpc3RyaWJ1dGUgdGhlIHNhbWUgc2VjdGlvbnMgYXMgcGFydCBvZiBhIHdob2xlIHdoaWNoIGlzIGEgd29yayBiYXNlZAorK29uIHRoZSBQcm9ncmFtLCB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoZSB3aG9sZSBtdXN0IGJlIG9uIHRoZSB0ZXJtcyBvZgorK3RoaXMgTGljZW5zZSwgd2hvc2UgcGVybWlzc2lvbnMgZm9yIG90aGVyIGxpY2Vuc2VlcyBleHRlbmQgdG8gdGhlCisrZW50aXJlIHdob2xlLCBhbmQgdGh1cyB0byBlYWNoIGFuZCBldmVyeSBwYXJ0IHJlZ2FyZGxlc3Mgb2Ygd2hvIHdyb3RlIGl0LgorKworK1RodXMsIGl0IGlzIG5vdCB0aGUgaW50ZW50IG9mIHRoaXMgc2VjdGlvbiB0byBjbGFpbSByaWdodHMgb3IgY29udGVzdAorK3lvdXIgcmlnaHRzIHRvIHdvcmsgd3JpdHRlbiBlbnRpcmVseSBieSB5b3U7IHJhdGhlciwgdGhlIGludGVudCBpcyB0bworK2V4ZXJjaXNlIHRoZSByaWdodCB0byBjb250cm9sIHRoZSBkaXN0cmlidXRpb24gb2YgZGVyaXZhdGl2ZSBvcgorK2NvbGxlY3RpdmUgd29ya3MgYmFzZWQgb24gdGhlIFByb2dyYW0uCisrCisrSW4gYWRkaXRpb24sIG1lcmUgYWdncmVnYXRpb24gb2YgYW5vdGhlciB3b3JrIG5vdCBiYXNlZCBvbiB0aGUgUHJvZ3JhbQorK3dpdGggdGhlIFByb2dyYW0gKG9yIHdpdGggYSB3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtKSBvbiBhIHZvbHVtZSBvZgorK2Egc3RvcmFnZSBvciBkaXN0cmlidXRpb24gbWVkaXVtIGRvZXMgbm90IGJyaW5nIHRoZSBvdGhlciB3b3JrIHVuZGVyCisrdGhlIHNjb3BlIG9mIHRoaXMgTGljZW5zZS4KKysKKysgIDMuIFlvdSBtYXkgY29weSBhbmQgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSAob3IgYSB3b3JrIGJhc2VkIG9uIGl0LAorK3VuZGVyIFNlY3Rpb24gMikgaW4gb2JqZWN0IGNvZGUgb3IgZXhlY3V0YWJsZSBmb3JtIHVuZGVyIHRoZSB0ZXJtcyBvZgorK1NlY3Rpb25zIDEgYW5kIDIgYWJvdmUgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBkbyBvbmUgb2YgdGhlIGZvbGxvd2luZzoKKysKKysgICAgYSkgQWNjb21wYW55IGl0IHdpdGggdGhlIGNvbXBsZXRlIGNvcnJlc3BvbmRpbmcgbWFjaGluZS1yZWFkYWJsZQorKyAgICBzb3VyY2UgY29kZSwgd2hpY2ggbXVzdCBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbnMKKysgICAgMSBhbmQgMiBhYm92ZSBvbiBhIG1lZGl1bSBjdXN0b21hcmlseSB1c2VkIGZvciBzb2Z0d2FyZSBpbnRlcmNoYW5nZTsgb3IsCisrCisrICAgIGIpIEFjY29tcGFueSBpdCB3aXRoIGEgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlCisrICAgIHllYXJzLCB0byBnaXZlIGFueSB0aGlyZCBwYXJ0eSwgZm9yIGEgY2hhcmdlIG5vIG1vcmUgdGhhbiB5b3VyCisrICAgIGNvc3Qgb2YgcGh5c2ljYWxseSBwZXJmb3JtaW5nIHNvdXJjZSBkaXN0cmlidXRpb24sIGEgY29tcGxldGUKKysgICAgbWFjaGluZS1yZWFkYWJsZSBjb3B5IG9mIHRoZSBjb3JyZXNwb25kaW5nIHNvdXJjZSBjb2RlLCB0byBiZQorKyAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSBvbiBhIG1lZGl1bQorKyAgICBjdXN0b21hcmlseSB1c2VkIGZvciBzb2Z0d2FyZSBpbnRlcmNoYW5nZTsgb3IsCisrCisrICAgIGMpIEFjY29tcGFueSBpdCB3aXRoIHRoZSBpbmZvcm1hdGlvbiB5b3UgcmVjZWl2ZWQgYXMgdG8gdGhlIG9mZmVyCisrICAgIHRvIGRpc3RyaWJ1dGUgY29ycmVzcG9uZGluZyBzb3VyY2UgY29kZS4gIChUaGlzIGFsdGVybmF0aXZlIGlzCisrICAgIGFsbG93ZWQgb25seSBmb3Igbm9uY29tbWVyY2lhbCBkaXN0cmlidXRpb24gYW5kIG9ubHkgaWYgeW91CisrICAgIHJlY2VpdmVkIHRoZSBwcm9ncmFtIGluIG9iamVjdCBjb2RlIG9yIGV4ZWN1dGFibGUgZm9ybSB3aXRoIHN1Y2gKKysgICAgYW4gb2ZmZXIsIGluIGFjY29yZCB3aXRoIFN1YnNlY3Rpb24gYiBhYm92ZS4pCisrCisrVGhlIHNvdXJjZSBjb2RlIGZvciBhIHdvcmsgbWVhbnMgdGhlIHByZWZlcnJlZCBmb3JtIG9mIHRoZSB3b3JrIGZvcgorK21ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgRm9yIGFuIGV4ZWN1dGFibGUgd29yaywgY29tcGxldGUgc291cmNlCisrY29kZSBtZWFucyBhbGwgdGhlIHNvdXJjZSBjb2RlIGZvciBhbGwgbW9kdWxlcyBpdCBjb250YWlucywgcGx1cyBhbnkKKythc3NvY2lhdGVkIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzLCBwbHVzIHRoZSBzY3JpcHRzIHVzZWQgdG8KKytjb250cm9sIGNvbXBpbGF0aW9uIGFuZCBpbnN0YWxsYXRpb24gb2YgdGhlIGV4ZWN1dGFibGUuICBIb3dldmVyLCBhcyBhCisrc3BlY2lhbCBleGNlcHRpb24sIHRoZSBzb3VyY2UgY29kZSBkaXN0cmlidXRlZCBuZWVkIG5vdCBpbmNsdWRlCisrYW55dGhpbmcgdGhhdCBpcyBub3JtYWxseSBkaXN0cmlidXRlZCAoaW4gZWl0aGVyIHNvdXJjZSBvciBiaW5hcnkKKytmb3JtKSB3aXRoIHRoZSBtYWpvciBjb21wb25lbnRzIChjb21waWxlciwga2VybmVsLCBhbmQgc28gb24pIG9mIHRoZQorK29wZXJhdGluZyBzeXN0ZW0gb24gd2hpY2ggdGhlIGV4ZWN1dGFibGUgcnVucywgdW5sZXNzIHRoYXQgY29tcG9uZW50CisraXRzZWxmIGFjY29tcGFuaWVzIHRoZSBleGVjdXRhYmxlLgorKworK0lmIGRpc3RyaWJ1dGlvbiBvZiBleGVjdXRhYmxlIG9yIG9iamVjdCBjb2RlIGlzIG1hZGUgYnkgb2ZmZXJpbmcKKythY2Nlc3MgdG8gY29weSBmcm9tIGEgZGVzaWduYXRlZCBwbGFjZSwgdGhlbiBvZmZlcmluZyBlcXVpdmFsZW50CisrYWNjZXNzIHRvIGNvcHkgdGhlIHNvdXJjZSBjb2RlIGZyb20gdGhlIHNhbWUgcGxhY2UgY291bnRzIGFzCisrZGlzdHJpYnV0aW9uIG9mIHRoZSBzb3VyY2UgY29kZSwgZXZlbiB0aG91Z2ggdGhpcmQgcGFydGllcyBhcmUgbm90CisrY29tcGVsbGVkIHRvIGNvcHkgdGhlIHNvdXJjZSBhbG9uZyB3aXRoIHRoZSBvYmplY3QgY29kZS4KKysKKysgIDQuIFlvdSBtYXkgbm90IGNvcHksIG1vZGlmeSwgc3VibGljZW5zZSwgb3IgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbQorK2V4Y2VwdCBhcyBleHByZXNzbHkgcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQKKytvdGhlcndpc2UgdG8gY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlIG9yIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gaXMKKyt2b2lkLCBhbmQgd2lsbCBhdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZSB5b3VyIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2UuCisrSG93ZXZlciwgcGFydGllcyB3aG8gaGF2ZSByZWNlaXZlZCBjb3BpZXMsIG9yIHJpZ2h0cywgZnJvbSB5b3UgdW5kZXIKKyt0aGlzIExpY2Vuc2Ugd2lsbCBub3QgaGF2ZSB0aGVpciBsaWNlbnNlcyB0ZXJtaW5hdGVkIHNvIGxvbmcgYXMgc3VjaAorK3BhcnRpZXMgcmVtYWluIGluIGZ1bGwgY29tcGxpYW5jZS4KKysKKysgIDUuIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UsIHNpbmNlIHlvdSBoYXZlIG5vdAorK3NpZ25lZCBpdC4gIEhvd2V2ZXIsIG5vdGhpbmcgZWxzZSBncmFudHMgeW91IHBlcm1pc3Npb24gdG8gbW9kaWZ5IG9yCisrZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBvciBpdHMgZGVyaXZhdGl2ZSB3b3Jrcy4gIFRoZXNlIGFjdGlvbnMgYXJlCisrcHJvaGliaXRlZCBieSBsYXcgaWYgeW91IGRvIG5vdCBhY2NlcHQgdGhpcyBMaWNlbnNlLiAgVGhlcmVmb3JlLCBieQorK21vZGlmeWluZyBvciBkaXN0cmlidXRpbmcgdGhlIFByb2dyYW0gKG9yIGFueSB3b3JrIGJhc2VkIG9uIHRoZQorK1Byb2dyYW0pLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzbywgYW5kCisrYWxsIGl0cyB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgY29weWluZywgZGlzdHJpYnV0aW5nIG9yIG1vZGlmeWluZworK3RoZSBQcm9ncmFtIG9yIHdvcmtzIGJhc2VkIG9uIGl0LgorKworKyAgNi4gRWFjaCB0aW1lIHlvdSByZWRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gKG9yIGFueSB3b3JrIGJhc2VkIG9uIHRoZQorK1Byb2dyYW0pLCB0aGUgcmVjaXBpZW50IGF1dG9tYXRpY2FsbHkgcmVjZWl2ZXMgYSBsaWNlbnNlIGZyb20gdGhlCisrb3JpZ2luYWwgbGljZW5zb3IgdG8gY29weSwgZGlzdHJpYnV0ZSBvciBtb2RpZnkgdGhlIFByb2dyYW0gc3ViamVjdCB0bworK3RoZXNlIHRlcm1zIGFuZCBjb25kaXRpb25zLiAgWW91IG1heSBub3QgaW1wb3NlIGFueSBmdXJ0aGVyCisrcmVzdHJpY3Rpb25zIG9uIHRoZSByZWNpcGllbnRzJyBleGVyY2lzZSBvZiB0aGUgcmlnaHRzIGdyYW50ZWQgaGVyZWluLgorK1lvdSBhcmUgbm90IHJlc3BvbnNpYmxlIGZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHRvCisrdGhpcyBMaWNlbnNlLgorKworKyAgNy4gSWYsIGFzIGEgY29uc2VxdWVuY2Ugb2YgYSBjb3VydCBqdWRnbWVudCBvciBhbGxlZ2F0aW9uIG9mIHBhdGVudAorK2luZnJpbmdlbWVudCBvciBmb3IgYW55IG90aGVyIHJlYXNvbiAobm90IGxpbWl0ZWQgdG8gcGF0ZW50IGlzc3VlcyksCisrY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgorK290aGVyd2lzZSkgdGhhdCBjb250cmFkaWN0IHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZSwgdGhleSBkbyBub3QKKytleGN1c2UgeW91IGZyb20gdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLiAgSWYgeW91IGNhbm5vdAorK2Rpc3RyaWJ1dGUgc28gYXMgdG8gc2F0aXNmeSBzaW11bHRhbmVvdXNseSB5b3VyIG9ibGlnYXRpb25zIHVuZGVyIHRoaXMKKytMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91CisrbWF5IG5vdCBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiBhIHBhdGVudAorK2xpY2Vuc2Ugd291bGQgbm90IHBlcm1pdCByb3lhbHR5LWZyZWUgcmVkaXN0cmlidXRpb24gb2YgdGhlIFByb2dyYW0gYnkKKythbGwgdGhvc2Ugd2hvIHJlY2VpdmUgY29waWVzIGRpcmVjdGx5IG9yIGluZGlyZWN0bHkgdGhyb3VnaCB5b3UsIHRoZW4KKyt0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCBpdCBhbmQgdGhpcyBMaWNlbnNlIHdvdWxkIGJlIHRvCisrcmVmcmFpbiBlbnRpcmVseSBmcm9tIGRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZ3JhbS4KKysKKytJZiBhbnkgcG9ydGlvbiBvZiB0aGlzIHNlY3Rpb24gaXMgaGVsZCBpbnZhbGlkIG9yIHVuZW5mb3JjZWFibGUgdW5kZXIKKythbnkgcGFydGljdWxhciBjaXJjdW1zdGFuY2UsIHRoZSBiYWxhbmNlIG9mIHRoZSBzZWN0aW9uIGlzIGludGVuZGVkIHRvCisrYXBwbHkgYW5kIHRoZSBzZWN0aW9uIGFzIGEgd2hvbGUgaXMgaW50ZW5kZWQgdG8gYXBwbHkgaW4gb3RoZXIKKytjaXJjdW1zdGFuY2VzLgorKworK0l0IGlzIG5vdCB0aGUgcHVycG9zZSBvZiB0aGlzIHNlY3Rpb24gdG8gaW5kdWNlIHlvdSB0byBpbmZyaW5nZSBhbnkKKytwYXRlbnRzIG9yIG90aGVyIHByb3BlcnR5IHJpZ2h0IGNsYWltcyBvciB0byBjb250ZXN0IHZhbGlkaXR5IG9mIGFueQorK3N1Y2ggY2xhaW1zOyB0aGlzIHNlY3Rpb24gaGFzIHRoZSBzb2xlIHB1cnBvc2Ugb2YgcHJvdGVjdGluZyB0aGUKKytpbnRlZ3JpdHkgb2YgdGhlIGZyZWUgc29mdHdhcmUgZGlzdHJpYnV0aW9uIHN5c3RlbSwgd2hpY2ggaXMKKytpbXBsZW1lbnRlZCBieSBwdWJsaWMgbGljZW5zZSBwcmFjdGljZXMuICBNYW55IHBlb3BsZSBoYXZlIG1hZGUKKytnZW5lcm91cyBjb250cmlidXRpb25zIHRvIHRoZSB3aWRlIHJhbmdlIG9mIHNvZnR3YXJlIGRpc3RyaWJ1dGVkCisrdGhyb3VnaCB0aGF0IHN5c3RlbSBpbiByZWxpYW5jZSBvbiBjb25zaXN0ZW50IGFwcGxpY2F0aW9uIG9mIHRoYXQKKytzeXN0ZW07IGl0IGlzIHVwIHRvIHRoZSBhdXRob3IvZG9ub3IgdG8gZGVjaWRlIGlmIGhlIG9yIHNoZSBpcyB3aWxsaW5nCisrdG8gZGlzdHJpYnV0ZSBzb2Z0d2FyZSB0aHJvdWdoIGFueSBvdGhlciBzeXN0ZW0gYW5kIGEgbGljZW5zZWUgY2Fubm90CisraW1wb3NlIHRoYXQgY2hvaWNlLgorKworK1RoaXMgc2VjdGlvbiBpcyBpbnRlbmRlZCB0byBtYWtlIHRob3JvdWdobHkgY2xlYXIgd2hhdCBpcyBiZWxpZXZlZCB0bworK2JlIGEgY29uc2VxdWVuY2Ugb2YgdGhlIHJlc3Qgb2YgdGhpcyBMaWNlbnNlLgorKworKyAgOC4gSWYgdGhlIGRpc3RyaWJ1dGlvbiBhbmQvb3IgdXNlIG9mIHRoZSBQcm9ncmFtIGlzIHJlc3RyaWN0ZWQgaW4KKytjZXJ0YWluIGNvdW50cmllcyBlaXRoZXIgYnkgcGF0ZW50cyBvciBieSBjb3B5cmlnaHRlZCBpbnRlcmZhY2VzLCB0aGUKKytvcmlnaW5hbCBjb3B5cmlnaHQgaG9sZGVyIHdobyBwbGFjZXMgdGhlIFByb2dyYW0gdW5kZXIgdGhpcyBMaWNlbnNlCisrbWF5IGFkZCBhbiBleHBsaWNpdCBnZW9ncmFwaGljYWwgZGlzdHJpYnV0aW9uIGxpbWl0YXRpb24gZXhjbHVkaW5nCisrdGhvc2UgY291bnRyaWVzLCBzbyB0aGF0IGRpc3RyaWJ1dGlvbiBpcyBwZXJtaXR0ZWQgb25seSBpbiBvciBhbW9uZworK2NvdW50cmllcyBub3QgdGh1cyBleGNsdWRlZC4gIEluIHN1Y2ggY2FzZSwgdGhpcyBMaWNlbnNlIGluY29ycG9yYXRlcworK3RoZSBsaW1pdGF0aW9uIGFzIGlmIHdyaXR0ZW4gaW4gdGhlIGJvZHkgb2YgdGhpcyBMaWNlbnNlLgorKworKyAgOS4gVGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBtYXkgcHVibGlzaCByZXZpc2VkIGFuZC9vciBuZXcgdmVyc2lvbnMKKytvZiB0aGUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmcm9tIHRpbWUgdG8gdGltZS4gIFN1Y2ggbmV3IHZlcnNpb25zIHdpbGwKKytiZSBzaW1pbGFyIGluIHNwaXJpdCB0byB0aGUgcHJlc2VudCB2ZXJzaW9uLCBidXQgbWF5IGRpZmZlciBpbiBkZXRhaWwgdG8KKythZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KKysKKytFYWNoIHZlcnNpb24gaXMgZ2l2ZW4gYSBkaXN0aW5ndWlzaGluZyB2ZXJzaW9uIG51bWJlci4gIElmIHRoZSBQcm9ncmFtCisrc3BlY2lmaWVzIGEgdmVyc2lvbiBudW1iZXIgb2YgdGhpcyBMaWNlbnNlIHdoaWNoIGFwcGxpZXMgdG8gaXQgYW5kICJhbnkKKytsYXRlciB2ZXJzaW9uIiwgeW91IGhhdmUgdGhlIG9wdGlvbiBvZiBmb2xsb3dpbmcgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zCisrZWl0aGVyIG9mIHRoYXQgdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKKytTb2Z0d2FyZSBGb3VuZGF0aW9uLiAgSWYgdGhlIFByb2dyYW0gZG9lcyBub3Qgc3BlY2lmeSBhIHZlcnNpb24gbnVtYmVyIG9mCisrdGhpcyBMaWNlbnNlLCB5b3UgbWF5IGNob29zZSBhbnkgdmVyc2lvbiBldmVyIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQorK0ZvdW5kYXRpb24uCisrCisrICAxMC4gSWYgeW91IHdpc2ggdG8gaW5jb3Jwb3JhdGUgcGFydHMgb2YgdGhlIFByb2dyYW0gaW50byBvdGhlciBmcmVlCisrcHJvZ3JhbXMgd2hvc2UgZGlzdHJpYnV0aW9uIGNvbmRpdGlvbnMgYXJlIGRpZmZlcmVudCwgd3JpdGUgdG8gdGhlIGF1dGhvcgorK3RvIGFzayBmb3IgcGVybWlzc2lvbi4gIEZvciBzb2Z0d2FyZSB3aGljaCBpcyBjb3B5cmlnaHRlZCBieSB0aGUgRnJlZQorK1NvZnR3YXJlIEZvdW5kYXRpb24sIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHdlIHNvbWV0aW1lcworK21ha2UgZXhjZXB0aW9ucyBmb3IgdGhpcy4gIE91ciBkZWNpc2lvbiB3aWxsIGJlIGd1aWRlZCBieSB0aGUgdHdvIGdvYWxzCisrb2YgcHJlc2VydmluZyB0aGUgZnJlZSBzdGF0dXMgb2YgYWxsIGRlcml2YXRpdmVzIG9mIG91ciBmcmVlIHNvZnR3YXJlIGFuZAorK29mIHByb21vdGluZyB0aGUgc2hhcmluZyBhbmQgcmV1c2Ugb2Ygc29mdHdhcmUgZ2VuZXJhbGx5LgorKworKwkJCSAgICBOTyBXQVJSQU5UWQorKworKyAgMTEuIEJFQ0FVU0UgVEhFIFBST0dSQU0gSVMgTElDRU5TRUQgRlJFRSBPRiBDSEFSR0UsIFRIRVJFIElTIE5PIFdBUlJBTlRZCisrRk9SIFRIRSBQUk9HUkFNLCBUTyBUSEUgRVhURU5UIFBFUk1JVFRFRCBCWSBBUFBMSUNBQkxFIExBVy4gIEVYQ0VQVCBXSEVOCisrT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUworK1BST1ZJREUgVEhFIFBST0dSQU0gIkFTIElTIiBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFSVRIRVIgRVhQUkVTU0VECisrT1IgSU1QTElFRCwgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKytNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTCisrVE8gVEhFIFFVQUxJVFkgQU5EIFBFUkZPUk1BTkNFIE9GIFRIRSBQUk9HUkFNIElTIFdJVEggWU9VLiAgU0hPVUxEIFRIRQorK1BST0dSQU0gUFJPVkUgREVGRUNUSVZFLCBZT1UgQVNTVU1FIFRIRSBDT1NUIE9GIEFMTCBORUNFU1NBUlkgU0VSVklDSU5HLAorK1JFUEFJUiBPUiBDT1JSRUNUSU9OLgorKworKyAgMTIuIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORworK1dJTEwgQU5ZIENPUFlSSUdIVCBIT0xERVIsIE9SIEFOWSBPVEhFUiBQQVJUWSBXSE8gTUFZIE1PRElGWSBBTkQvT1IKKytSRURJU1RSSUJVVEUgVEhFIFBST0dSQU0gQVMgUEVSTUlUVEVEIEFCT1ZFLCBCRSBMSUFCTEUgVE8gWU9VIEZPUiBEQU1BR0VTLAorK0lOQ0xVRElORyBBTlkgR0VORVJBTCwgU1BFQ0lBTCwgSU5DSURFTlRBTCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgQVJJU0lORworK09VVCBPRiBUSEUgVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQKKytUTyBMT1NTIE9GIERBVEEgT1IgREFUQSBCRUlORyBSRU5ERVJFRCBJTkFDQ1VSQVRFIE9SIExPU1NFUyBTVVNUQUlORUQgQlkKKytZT1UgT1IgVEhJUkQgUEFSVElFUyBPUiBBIEZBSUxVUkUgT0YgVEhFIFBST0dSQU0gVE8gT1BFUkFURSBXSVRIIEFOWSBPVEhFUgorK1BST0dSQU1TKSwgRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRQorK1BPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFUy4KKysKKysJCSAgICAgRU5EIE9GIFRFUk1TIEFORCBDT05ESVRJT05TCisrCisrCSAgICBIb3cgdG8gQXBwbHkgVGhlc2UgVGVybXMgdG8gWW91ciBOZXcgUHJvZ3JhbXMKKysKKysgIElmIHlvdSBkZXZlbG9wIGEgbmV3IHByb2dyYW0sIGFuZCB5b3Ugd2FudCBpdCB0byBiZSBvZiB0aGUgZ3JlYXRlc3QKKytwb3NzaWJsZSB1c2UgdG8gdGhlIHB1YmxpYywgdGhlIGJlc3Qgd2F5IHRvIGFjaGlldmUgdGhpcyBpcyB0byBtYWtlIGl0CisrZnJlZSBzb2Z0d2FyZSB3aGljaCBldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UgdW5kZXIgdGhlc2UgdGVybXMuCisrCisrICBUbyBkbyBzbywgYXR0YWNoIHRoZSBmb2xsb3dpbmcgbm90aWNlcyB0byB0aGUgcHJvZ3JhbS4gIEl0IGlzIHNhZmVzdAorK3RvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKKytjb252ZXkgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdAorK3RoZSAiY29weXJpZ2h0IiBsaW5lIGFuZCBhIHBvaW50ZXIgdG8gd2hlcmUgdGhlIGZ1bGwgbm90aWNlIGlzIGZvdW5kLgorKworKyAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgorKyAgICBDb3B5cmlnaHQgKEMpIDx5ZWFyPiAgPG5hbWUgb2YgYXV0aG9yPgorKworKyAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKworKyAgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKworKyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworKyAgICB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorKyAgICA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorKworK0Fsc28gYWRkIGluZm9ybWF0aW9uIG9uIGhvdyB0byBjb250YWN0IHlvdSBieSBlbGVjdHJvbmljIGFuZCBwYXBlciBtYWlsLgorKworK0lmIHRoZSBwcm9ncmFtIGlzIGludGVyYWN0aXZlLCBtYWtlIGl0IG91dHB1dCBhIHNob3J0IG5vdGljZSBsaWtlIHRoaXMKKyt3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgorKworKyAgICBHbm9tb3Zpc2lvbiB2ZXJzaW9uIDY5LCBDb3B5cmlnaHQgKEMpIHllYXIgbmFtZSBvZiBhdXRob3IKKysgICAgR25vbW92aXNpb24gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZOyBmb3IgZGV0YWlscyB0eXBlIGBzaG93IHcnLgorKyAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0CisrICAgIHVuZGVyIGNlcnRhaW4gY29uZGl0aW9uczsgdHlwZSBgc2hvdyBjJyBmb3IgZGV0YWlscy4KKysKKytUaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzIGBzaG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKKytwYXJ0cyBvZiB0aGUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIE9mIGNvdXJzZSwgdGhlIGNvbW1hbmRzIHlvdSB1c2UgbWF5CisrYmUgY2FsbGVkIHNvbWV0aGluZyBvdGhlciB0aGFuIGBzaG93IHcnIGFuZCBgc2hvdyBjJzsgdGhleSBjb3VsZCBldmVuIGJlCisrbW91c2UtY2xpY2tzIG9yIG1lbnUgaXRlbXMtLXdoYXRldmVyIHN1aXRzIHlvdXIgcHJvZ3JhbS4KKysKKytZb3Ugc2hvdWxkIGFsc28gZ2V0IHlvdXIgZW1wbG95ZXIgKGlmIHlvdSB3b3JrIGFzIGEgcHJvZ3JhbW1lcikgb3IgeW91cgorK3NjaG9vbCwgaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmCisrbmVjZXNzYXJ5LiAgSGVyZSBpcyBhIHNhbXBsZTsgYWx0ZXIgdGhlIG5hbWVzOgorKworKyAgWW95b2R5bmUsIEluYy4sIGhlcmVieSBkaXNjbGFpbXMgYWxsIGNvcHlyaWdodCBpbnRlcmVzdCBpbiB0aGUgcHJvZ3JhbQorKyAgYEdub21vdmlzaW9uJyAod2hpY2ggbWFrZXMgcGFzc2VzIGF0IGNvbXBpbGVycykgd3JpdHRlbiBieSBKYW1lcyBIYWNrZXIuCisrCisrICA8c2lnbmF0dXJlIG9mIFR5IENvb24+LCAxIEFwcmlsIDE5ODkKKysgIFR5IENvb24sIFByZXNpZGVudCBvZiBWaWNlCisrCisrVGhpcyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGRvZXMgbm90IHBlcm1pdCBpbmNvcnBvcmF0aW5nIHlvdXIgcHJvZ3JhbSBpbnRvCisrcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdSBtYXkKKytjb25zaWRlciBpdCBtb3JlIHVzZWZ1bCB0byBwZXJtaXQgbGlua2luZyBwcm9wcmlldGFyeSBhcHBsaWNhdGlvbnMgd2l0aCB0aGUKKytsaWJyYXJ5LiAgSWYgdGhpcyBpcyB3aGF0IHlvdSB3YW50IHRvIGRvLCB1c2UgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbAorK1B1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS91c2xlZXAvZmlsZXMvdXNsZWVwLjEgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3VzbGVlcC9maWxlcy91c2xlZXAuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZDc1MjBmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS91c2xlZXAvZmlsZXMvdXNsZWVwLjEKQEAgLTAsMCArMSwyNSBAQAorLlRIIFVTTEVFUCAxICJSZWQgSGF0LCBJbmMiIFwiIC0qLSBucm9mZiAtKi0KKy5TSCBOQU1FCit1c2xlZXAgXC0gc2xlZXAgc29tZSBudW1iZXIgb2YgbWljcm9zZWNvbmRzCisuU0ggU1lOT1BTSVMKKy5CIHVzbGVlcAorW1xmSW51bWJlclxmUF0KKy5TSCBERVNDUklQVElPTgorLkIgdXNsZWVwCitzbGVlcHMgc29tZSBudW1iZXIgb2YgbWljcm9zZWNvbmRzLiAgVGhlIGRlZmF1bHQgaXMgMS4KKy5TSCBPUFRJT05TCitcZkktLXVzYWdlXGZQCitTaG93IHNob3J0IHVzYWdlIG1lc3NhZ2UuCisuVFAKK1xmSS0taGVscCwgLT9cZlAKK1ByaW50IGhlbHAgaW5mb3JtYXRpb24uCisuVFAKK1xmSS12LCAtLXZlcnNpb25cZlAKK1ByaW50IHZlcnNpb24gaW5mb3JtYXRpb24uCisuU0ggQlVHUworUHJvYmFibHkgbm90IGFjY3VyYXRlIG9uIG1hbnkgbWFjaGluZXMgZG93biB0byB0aGUgbWljcm9zZWNvbmQuICBDb3VudAorb24gcHJlY2lzaW9uIG9ubHkgdG8gLTQgb3IgbWF5YmUgLTUuCisuU0ggQVVUSE9SCitEb25hbGQgQmFybmVzIDxkamJAcmVkaGF0LmNvbT4KKy5icgorRXJpayBUcm9hbiA8ZXd0QHJlZGhhdC5jb20+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3VzbGVlcC9maWxlcy91c2xlZXAuYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvdXNsZWVwL2ZpbGVzL3VzbGVlcC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1ZTdkOWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3VzbGVlcC9maWxlcy91c2xlZXAuYwpAQCAtMCwwICsxLDgyIEBACisvKiAKKyAqIHVzbGVlcAorICogCisgKiBXcml0dGVuIGJ5IERvbmFsZCBCYXJuZXMgPGRqYkByZWRoYXQuY29tPiBmb3IgUmVkIEhhdCwgSW5jLgorICogCisgKiBDb3B5cmlnaHQgKGMpIDE5OTctMjAwMyBSZWQgSGF0LCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMiwKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCisgKiBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorICoKKyAqLworCisKKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorCisjaW5jbHVkZSAicG9wdC5oIgorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAgdW5zaWduZWQgbG9uZyBjb3VudDsKKyAgcG9wdENvbnRleHQgb3B0Q29uOworICBpbnQgc2hvd1ZlcnNpb24gPSAwOworICBpbnQgc2hvd09vdCA9IDA7CisgIGludCByYzsKKyAgY2hhciAqIGNvdW50U3RyID0gTlVMTDsKKyAgc3RydWN0IHBvcHRPcHRpb24gb3B0aW9uc1tdID0geworICAgICAgICAgICAgeyAidmVyc2lvbiIsICd2JywgUE9QVF9BUkdfTk9ORSwgJnNob3dWZXJzaW9uLCAwLCAKKwkJCSJEaXNwbGF5IHRoZSB2ZXJzaW9uIG9mIHRoaXMgcHJvZ3JhbSwgYW5kIGV4aXQiIH0sCisgICAgICAgICAgICB7ICJvb3QiLCAnbycsIFBPUFRfQVJHX05PTkUsICZzaG93T290LCAwLCAKKwkJCSJvb3Qgc2F5cyBoZXkhIiB9LAorCSAgICBQT1BUX0FVVE9IRUxQCisgICAgICAgICAgICB7IDAsIDAsIDAsIDAsIDAgfQorICAgICAgICB9OworCisgIG9wdENvbiA9IHBvcHRHZXRDb250ZXh0KCJ1c2xlZXAiLCBhcmdjLCBhcmd2LCBvcHRpb25zLDApOworICAvKnBvcHRSZWFkRGVmYXVsdENvbmZpZyhvcHRDb24sIDEpOyovCisgIHBvcHRTZXRPdGhlck9wdGlvbkhlbHAob3B0Q29uLCAiW21pY3Jvc2Vjb25kc10iKTsKKworICBpZiAoKHJjID0gcG9wdEdldE5leHRPcHQob3B0Q29uKSkgPCAtMSkgeworCWZwcmludGYoc3RkZXJyLCAidXNsZWVwOiBiYWQgYXJndW1lbnQgJXM6ICVzXG4iLCAKKwkJcG9wdEJhZE9wdGlvbihvcHRDb24sIFBPUFRfQkFET1BUSU9OX05PQUxJQVMpLCAKKwkJcG9wdFN0cmVycm9yKHJjKSk7CisJcmV0dXJuIDI7CisgIH0KKworICBpZiAoc2hvd1ZlcnNpb24pIHsKKyAgICAgIHByaW50ZigidXNsZWVwIHZlcnNpb24gMS4yXG4JdXNsZWVwIC0taGVscCBmb3IgbW9yZSBpbmZvXG4iKTsKKyAgICAgIHJldHVybiAwOworICB9CisKKyAgaWYgKHNob3dPb3QpIHsKKyAgICAgIHByaW50Zigib290IHNheXMgaGV5IVxuIik7CisgICAgICByZXR1cm4gMDsKKyAgfQorCisgIGNvdW50U3RyID0gcG9wdEdldEFyZyhvcHRDb24pOworCisgIGlmIChjb3VudFN0ciA9PSBOVUxMKSBjb3VudCA9IDE7CisKKyAgZWxzZSBpZiAoY291bnRTdHIgJiYgcG9wdEdldEFyZyhvcHRDb24pKSB7CisgICAgICBmcHJpbnRmKHN0ZGVyciwgIiVzOiBleGFjdGx5IG9uZSBhcmd1bWVudCAobnVtYmVyIG9mIG1pY3Jvc2Vjb25kcykgIgorICAgICAgCQkibXVzdCBiZSB1c2VkXG4iLCBhcmd2WzBdKTsKKyAgICAgIHJldHVybiAyOworICB9CisKKyAgZWxzZSBjb3VudCA9IHN0cnRvdWwoY291bnRTdHIsIE5VTEwsIDApOyAKKworICB1c2xlZXAoY291bnQpOworICByZXR1cm4gMDsKK30gCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3VzbGVlcC91c2xlZXBfMS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS91c2xlZXAvdXNsZWVwXzEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZWY0YjdjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS91c2xlZXAvdXNsZWVwXzEuMC5iYgpAQCAtMCwwICsxLDI2IEBACitTVU1NQVJZID0gIkEgdXNlciB0b29sIHRvIHN1cHBvcnQgc2xlZXBpbmcgc29tZSBudW1iZXIgb2YgbWljcm9zZWNvbmRzIgorU0VDVElPTiA9ICJiYXNlIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorCitQUiA9ICJyMCIKKworUyA9ICIke1dPUktESVJ9IgorREVQRU5EUyA9ICJwb3B0IgorCitTUkNfVVJJID0gImZpbGU6Ly91c2xlZXAuYyBcCisgICAgICAgICAgIGZpbGU6Ly91c2xlZXAuMSBcCisgICAgICAgICAgIGZpbGU6Ly9HUEx2Mi5wYXRjaCBcCisiCisKK2RvX2NvbXBpbGUoKSB7CisJJHtDQ30gJHtDRkxBR1N9ICR7TERGTEFHU30gdXNsZWVwLmMgLW8gdXNsZWVwIC1scG9wdAorfQorCitkb19pbnN0YWxsKCkgeworCWluc3RhbGwgLWQgJHtEfSR7YmFzZV9iaW5kaXJ9CisJaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjEKKworCWluc3RhbGwgLW0gMDc1NQkke1dPUktESVJ9L3VzbGVlcAkke0R9JHtiYXNlX2JpbmRpcn0KKwlpbnN0YWxsIC1tIDA2NDQJJHtXT1JLRElSfS91c2xlZXAuMQkke0R9JHttYW5kaXJ9L21hbjEKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2F1dG9jb25mLWFyY2hpdmUvYXV0b2NvbmYtYXJjaGl2ZS5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9hdXRvY29uZi1hcmNoaXZlL2F1dG9jb25mLWFyY2hpdmUuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzOTkzNjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9hdXRvY29uZi1hcmNoaXZlL2F1dG9jb25mLWFyY2hpdmUuaW5jCkBAIC0wLDAgKzEsMTUgQEAKK0xJQ0VOU0UgPSAiR1BMdjMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvYXV0b2NvbmYtYXJjaGl2ZS8iCitTRUNUSU9OID0gImRldmVsIgorCitERVBFTkRTICs9ICJtNC1uYXRpdmUiCitERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICJtNC1uYXRpdmUgZ251LWNvbmZpZy1uYXRpdmUiCitERVBFTkRTX2NsYXNzLW5hdGl2ZXNkayA9ICJtNC1uYXRpdmVzZGsgZ251LWNvbmZpZy1uYXRpdmVzZGsiCisKK1JERVBFTkRTXyR7UE59ID0gIm00IGdudS1jb25maWciCitSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAibTQtbmF0aXZlIGdudS1jb25maWctbmF0aXZlIgorUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlc2RrID0gIm00LW5hdGl2ZXNkayBnbnUtY29uZmlnLW5hdGl2ZXNkayIKKworU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9LyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiIKKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2F1dG9jb25mLWFyY2hpdmUvYXV0b2NvbmYtYXJjaGl2ZV8yMDEyLjA0LjA3LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYXV0b2NvbmYtYXJjaGl2ZS9hdXRvY29uZi1hcmNoaXZlXzIwMTIuMDQuMDcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWJhYWVjYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2F1dG9jb25mLWFyY2hpdmUvYXV0b2NvbmYtYXJjaGl2ZV8yMDEyLjA0LjA3LmJiCkBAIC0wLDAgKzEsMTMgQEAKK3JlcXVpcmUgYXV0b2NvbmYtYXJjaGl2ZS5pbmMKKworCitQQVJBTExFTF9NQUtFID0gIiIKKworTElDRU5TRSA9ICJHUEx2MiAmIEdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlODQyYzViOWZhZTAyMTAwN2JkNzA1NTAzNjJlNWU4MCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwNDBiNDQzYmY2OGVmZDUyZmJmY2IyOTRiNTU2YmZiYmJmZTQzMmRiNzg0NDVjYTI1ZTBjZmUyZTg4Zjk2YTE0IgorCitFWFRSQV9PRUNPTkYgKz0gImFjX2N2X3BhdGhfTTQ9bTQiCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ib290Y2hhcnQvYm9vdGNoYXJ0LzAwMDEtc3ZnLWFkZC1ydWRpbWVudGFyeS1zdXBwb3J0LWZvci1BUk0tY3B1aW5mby5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2Jvb3RjaGFydC9ib290Y2hhcnQvMDAwMS1zdmctYWRkLXJ1ZGltZW50YXJ5LXN1cHBvcnQtZm9yLUFSTS1jcHVpbmZvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1ODFlZjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ib290Y2hhcnQvYm9vdGNoYXJ0LzAwMDEtc3ZnLWFkZC1ydWRpbWVudGFyeS1zdXBwb3J0LWZvci1BUk0tY3B1aW5mby5wYXRjaApAQCAtMCwwICsxLDQ5IEBACitGcm9tIDhkNDBiNGMyODZlMDA1ZTgyZmE1MGI2NmZiYmJkZTIyYjdlNjVlMTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorRGF0ZTogU3VuLCAyMCBNYXkgMjAxMiAyMTozNTozNCArMDIwMAorU3ViamVjdDogW1BBVENIIDEvMl0gc3ZnOiBhZGQgcnVkaW1lbnRhcnkgc3VwcG9ydCBmb3IgQVJNIGNwdWluZm8KKworT24gQVJNIC9wcm9jL2NwdWluZm8gbG9va3MgbGlrZSB0aGlzOgorCityb290QGJlYWdsZWJvbmVBMy0wNDI4On4jIGNhdCAvcHJvYy9jcHVpbmZvCitQcm9jZXNzb3IJOiBBUk12NyBQcm9jZXNzb3IgcmV2IDIgKHY3bCkKK0JvZ29NSVBTCTogNDk4Ljg5CitGZWF0dXJlcwk6IHN3cCBoYWxmIHRodW1iIGZhc3RtdWx0IHZmcCBlZHNwIHRodW1iZWUgbmVvbiB2ZnB2MyB0bHMKK0NQVSBpbXBsZW1lbnRlcgk6IDB4NDEKK0NQVSBhcmNoaXRlY3R1cmU6IDcKK0NQVSB2YXJpYW50CTogMHgzCitDUFUgcGFydAk6IDB4YzA4CitDUFUgcmV2aXNpb24JOiAyCisKK0hhcmR3YXJlCTogYW0zMzV4ZXZtCitSZXZpc2lvbgk6IDAwMDAKK1NlcmlhbAkJOiAwMDAwMDAwMDAwMDAwMDAwCisKK1NvIG5vIHJlYWwgd2F5IHRvIGdldCB0aGUgYWN0dWFsIFNvQyBuYW1lLCBUSSBBTTMzNTksIGJ1dCBhIGxvdCBiZXR0ZXIgdGhhbiAnVW5rbm93bicKKworU2lnbmVkLW9mZi1ieTogS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KKy0tLQorCitVcHN0cmVhbS1TdGF0dXM6IHN1Ym1pdHRlZAorCisgc3ZnLmMgfCAgICA0ICsrKysKKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zdmcuYyBiL3N2Zy5jCitpbmRleCA4MGUwMjkyLi41MzcyNGIyIDEwMDY0NAorLS0tIGEvc3ZnLmMKKysrKyBiL3N2Zy5jCitAQCAtMTc4LDYgKzE3OCwxMCBAQCB2b2lkIHN2Z190aXRsZSh2b2lkKQorIAkJCQlzdHJuY3B5KGNwdSwgJmJ1ZlsxM10sIDI1NSk7CisgCQkJCWJyZWFrOworIAkJCX0KKysJCQlpZiAoc3Ryc3RyKGJ1ZiwgIlByb2Nlc3NvciIpKSB7CisrCQkJCXN0cm5jcHkoY3B1LCAmYnVmWzEyXSwgMjU1KTsKKysJCQkJYnJlYWs7CisrCQkJfQorIAkJfQorIAkJZmNsb3NlKGYpOworIAl9CistLSAKKzEuNy4xMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ib290Y2hhcnQvYm9vdGNoYXJ0LzAwMDItc3ZnLW9wZW4tZXRjLW9zLXJlbGVhc2UtYW5kLXVzZS1QUkVUVFlfTkFNRS1mb3ItdGhlLS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2Jvb3RjaGFydC9ib290Y2hhcnQvMDAwMi1zdmctb3Blbi1ldGMtb3MtcmVsZWFzZS1hbmQtdXNlLVBSRVRUWV9OQU1FLWZvci10aGUtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2M2Q5OGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ib290Y2hhcnQvYm9vdGNoYXJ0LzAwMDItc3ZnLW9wZW4tZXRjLW9zLXJlbGVhc2UtYW5kLXVzZS1QUkVUVFlfTkFNRS1mb3ItdGhlLS5wYXRjaApAQCAtMCwwICsxLDM5IEBACitGcm9tIGUzYWRiNGMzMTJjNmJhMzQ5MWI3YzE3MzU1OWVmYWM3YTUzZTVhYmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorRGF0ZTogU3VuLCAyMCBNYXkgMjAxMiAyMjoxMjoyOSArMDIwMAorU3ViamVjdDogW1BBVENIIDIvMl0gc3ZnOiBvcGVuIC9ldGMvb3MtcmVsZWFzZSBhbmQgdXNlIFBSRVRUWV9OQU1FIGZvciB0aGUKKyAnQnVpbGQnIG5hbWUKKworU2lnbmVkLW9mZi1ieTogS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KKy0tLQorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZAorCisgc3ZnLmMgfCAgIDExICsrKysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3N2Zy5jIGIvc3ZnLmMKK2luZGV4IDUzNzI0YjIuLmM2NzVkODQgMTAwNjQ0CistLS0gYS9zdmcuYworKysrIGIvc3ZnLmMKK0BAIC0xOTQsNiArMTk0LDE3IEBAIHZvaWQgc3ZnX3RpdGxlKHZvaWQpCisgCQlmY2xvc2UoZik7CisgCX0KKyAKKysJZiA9IGZvcGVuKCIvZXRjL29zLXJlbGVhc2UiLCAiciIpOworKwlpZihmKSB7CisrCQl3aGlsZSAoZmdldHMoYnVmLCAyNTUsIGYpKSB7CisrCQkJaWYgKHN0cnN0cihidWYsICJQUkVUVFlfTkFNRT0iKSkgeworKwkJCQlzdHJuY3B5KGJ1aWxkLCAmYnVmWzEyXSwgMjU1KTsKKysJCQkJYnJlYWs7CisrCQkJfQorKwkJfQorKwkJZmNsb3NlKGYpOworKwl9CisrCisgCXN2ZygiPHRleHQgY2xhc3M9XCJ0MVwiIHg9XCIwXCIgeT1cIjMwXCI+Qm9vdGNoYXJ0IGZvciAlcyAtICVzPC90ZXh0PlxuIiwKKyAJICAgIHV0cy5ub2RlbmFtZSwgZGF0ZSk7CisgCXN2ZygiPHRleHQgY2xhc3M9XCJ0MlwiIHg9XCIyMFwiIHk9XCI1MFwiPlN5c3RlbTogJXMgJXMgJXMgJXM8L3RleHQ+XG4iLAorLS0gCisxLjcuMTAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYm9vdGNoYXJ0L2Jvb3RjaGFydF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ib290Y2hhcnQvYm9vdGNoYXJ0X2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYjc1ZWFhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYm9vdGNoYXJ0L2Jvb3RjaGFydF9naXQuYmIKQEAgLTAsMCArMSwyMSBAQAorREVTQ1JJUFRJT04gPSAiTW9uaXRvcnMgd2hlcmUgdGhlIHN5c3RlbSBzcGVuZHMgaXRzIHRpbWUgYXQgc3RhcnQsIGNyZWF0aW5nIGEgZ3JhcGggb2YgYWxsIHByb2Nlc3NlcywgZGlzayB1dGlsaXphdGlvbiwgYW5kIHdhaXQgdGltZS4iCitIT01FUEFHRSA9ICJodHRwOi8vbWVlZ28uZ2l0b3Jpb3VzLm9yZy9tZWVnby1kZXZlbG9wZXItdG9vbHMvYm9vdGNoYXJ0IgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZmNiMDJkYzU1MmEwNDFkZWUyN2U0Yjg1YzczOTYwNjciCisKK1BWID0gIjEuMTciCitQUiA9ICJyMSIKK1BFID0gIjEiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0b3Jpb3VzLm9yZy9tZWVnby1kZXZlbG9wZXItdG9vbHMvYm9vdGNoYXJ0LmdpdDtwcm90b2NvbD1odHRwcyBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXN2Zy1hZGQtcnVkaW1lbnRhcnktc3VwcG9ydC1mb3ItQVJNLWNwdWluZm8ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1zdmctb3Blbi1ldGMtb3MtcmVsZWFzZS1hbmQtdXNlLVBSRVRUWV9OQU1FLWZvci10aGUtLnBhdGNoIFwKKyIKKworU1JDUkVWID0gImEyYzc1NjFkNDA2MGE5ZjA3NTMzOWJkYTg5ZTc5M2M3NmYyZmY2ZGQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2JyZWFrcGFkL2JyZWFrcGFkX3N2bi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2JyZWFrcGFkL2JyZWFrcGFkX3N2bi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YWRhM2EzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYnJlYWtwYWQvYnJlYWtwYWRfc3ZuLmJiCkBAIC0wLDAgKzEsODkgQEAKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgQ09QWUlORy5NSVQgZm9yIHRoZSB0ZXJtcykKKworIyBBcHBsaWNhdGlvbnMgdXNpbmcgdGhpcyBsaWJyYXJ5IG5lZWRzIHRvIGFkZCBsaW5rIGFnYWluc3QgbGliYnJlYWtwYWRfY2xpZW50LmEuCisKK1NVTU1BUlkgPSAiQW4gb3Blbi1zb3VyY2UgbXVsdGktcGxhdGZvcm0gY3Jhc2ggcmVwb3J0aW5nIHN5c3RlbSIKK0RFU0NSSVBUSU9OID0gIkJyZWFrcGFkIGlzIGEgbGlicmFyeSBhbmQgdG9vbCBzdWl0ZSB0aGF0IGFsbG93cyB5b3UgdG8gZGlzdHJpYnV0ZSBhbiBhcHBsaWNhdGlvbiB0byB1c2VycyB3aXRoIGNvbXBpbGVyLXByb3ZpZGVkIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiByZW1vdmVkLCByZWNvcmQgY3Jhc2hlcyBpbiBjb21wYWN0IFwibWluaWR1bXBcIiBmaWxlcywgc2VuZCB0aGVtIGJhY2sgdG8geW91ciBzZXJ2ZXIsIGFuZCBwcm9kdWNlIEMgYW5kIEMrKyBzdGFjayB0cmFjZXMgZnJvbSB0aGVzZSBtaW5pZHVtcHMuICIKK0hPTUVQQUdFID0gImh0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvZ29vZ2xlLWJyZWFrcGFkLyIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NTZjMjRhNDNjODFjM2FmNmZjZjU5MDg1MTkzMTQ4OWUiCitTRUNUSU9OID0gImxpYnMiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitTUkNSRVYgPSAicjE0MzUiCitTUkNfVVJJID0gInN2bjovL2dvb2dsZS1icmVha3BhZC5nb29nbGVjb2RlLmNvbS9zdm47bW9kdWxlPXRydW5rO3Byb3RvY29sPWh0dHAiCitTID0gIiR7V09SS0RJUn0vdHJ1bmsiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9CisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQKKworICAgICAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL2NsaWVudC9saW51eC9jcmFzaF9nZW5lcmF0aW9uCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NyYy9jbGllbnQvbGludXgvY3Jhc2hfZ2VuZXJhdGlvbi9jcmFzaF9nZW5lcmF0aW9uX2NsaWVudC5oICAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC9jbGllbnQvbGludXgvY3Jhc2hfZ2VuZXJhdGlvbi9jcmFzaF9nZW5lcmF0aW9uX2NsaWVudC5oCisKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC9jbGllbnQvbGludXgvaGFuZGxlci8KKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmggJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuaAorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvbWluaWR1bXBfZGVzY3JpcHRvci5oICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL2NsaWVudC9saW51eC9oYW5kbGVyL21pbmlkdW1wX2Rlc2NyaXB0b3IuaAorCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbgorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi9tYXBwaW5nX2luZm8uaCAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL21hcHBpbmdfaW5mby5oCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3RocmVhZF9pbmZvLmggJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJlYWRfaW5mby5oCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Jhd19jb250ZXh0X2NwdS5oICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vcmF3X2NvbnRleHRfY3B1LmgKKworICAgICAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVyLmggJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXIuaAorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuaCAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlci5oCisKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC9jb21tb24KKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjL2NvbW1vbi9tZW1vcnkuaCAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC9jb21tb24vbWVtb3J5LmgKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjL2NvbW1vbi9zY29wZWRfcHRyLmggJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvY29tbW9uL3Njb3BlZF9wdHIuaAorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zcmMvY29tbW9uL3VzaW5nX3N0ZF9zdHJpbmcuaCAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC9jb21tb24vdXNpbmdfc3RkX3N0cmluZy5oCisKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC9nb29nbGVfYnJlYWtwYWQvY29tbW9uCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NyYy9nb29nbGVfYnJlYWtwYWQvY29tbW9uL2JyZWFrcGFkX3R5cGVzLmggJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvZ29vZ2xlX2JyZWFrcGFkL2NvbW1vbi9icmVha3BhZF90eXBlcy5oCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NyYy9nb29nbGVfYnJlYWtwYWQvY29tbW9uL21pbmlkdW1wX2Zvcm1hdC5oICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL2dvb2dsZV9icmVha3BhZC9jb21tb24vbWluaWR1bXBfZm9ybWF0LmgKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjL2dvb2dsZV9icmVha3BhZC9jb21tb24vbWluaWR1bXBfY3B1X2FtZDY0LmggJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvZ29vZ2xlX2JyZWFrcGFkL2NvbW1vbi9taW5pZHVtcF9jcHVfYW1kNjQuaAorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zcmMvZ29vZ2xlX2JyZWFrcGFkL2NvbW1vbi9taW5pZHVtcF9jcHVfYXJtLmggJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvZ29vZ2xlX2JyZWFrcGFkL2NvbW1vbi9taW5pZHVtcF9jcHVfYXJtLmgKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjL2dvb2dsZV9icmVha3BhZC9jb21tb24vbWluaWR1bXBfY3B1X2FybS5oICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL2dvb2dsZV9icmVha3BhZC9jb21tb24vbWluaWR1bXBfY3B1X2FybTY0LmgKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjL2dvb2dsZV9icmVha3BhZC9jb21tb24vbWluaWR1bXBfY3B1X21pcHMuaCAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC9nb29nbGVfYnJlYWtwYWQvY29tbW9uL21pbmlkdW1wX2NwdV9taXBzLmgKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjL2dvb2dsZV9icmVha3BhZC9jb21tb24vbWluaWR1bXBfY3B1X3BwYzY0LmggJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvZ29vZ2xlX2JyZWFrcGFkL2NvbW1vbi9taW5pZHVtcF9jcHVfcHBjNjQuaAorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zcmMvZ29vZ2xlX2JyZWFrcGFkL2NvbW1vbi9taW5pZHVtcF9jcHVfcHBjLmggJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvZ29vZ2xlX2JyZWFrcGFkL2NvbW1vbi9taW5pZHVtcF9jcHVfcHBjLmgKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjL2dvb2dsZV9icmVha3BhZC9jb21tb24vbWluaWR1bXBfY3B1X3NwYXJjLmggJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvZ29vZ2xlX2JyZWFrcGFkL2NvbW1vbi9taW5pZHVtcF9jcHVfc3BhcmMuaAorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zcmMvZ29vZ2xlX2JyZWFrcGFkL2NvbW1vbi9taW5pZHVtcF9jcHVfeDg2LmggJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvZ29vZ2xlX2JyZWFrcGFkL2NvbW1vbi9taW5pZHVtcF9jcHVfeDg2LmgKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjL2dvb2dsZV9icmVha3BhZC9jb21tb24vbWluaWR1bXBfZXhjZXB0aW9uX2xpbnV4LmggJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvZ29vZ2xlX2JyZWFrcGFkL2NvbW1vbi9taW5pZHVtcF9leGNlcHRpb25fbGludXguaAorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zcmMvZ29vZ2xlX2JyZWFrcGFkL2NvbW1vbi9taW5pZHVtcF9leGNlcHRpb25fbWFjLmggJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvZ29vZ2xlX2JyZWFrcGFkL2NvbW1vbi9taW5pZHVtcF9leGNlcHRpb25fbWFjLmgKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjL2dvb2dsZV9icmVha3BhZC9jb21tb24vbWluaWR1bXBfZXhjZXB0aW9uX3BzMy5oICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL2dvb2dsZV9icmVha3BhZC9jb21tb24vbWluaWR1bXBfZXhjZXB0aW9uX3BzMy5oCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NyYy9nb29nbGVfYnJlYWtwYWQvY29tbW9uL21pbmlkdW1wX2V4Y2VwdGlvbl9zb2xhcmlzLmggJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvZ29vZ2xlX2JyZWFrcGFkL2NvbW1vbi9taW5pZHVtcF9leGNlcHRpb25fc29sYXJpcy5oCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NyYy9nb29nbGVfYnJlYWtwYWQvY29tbW9uL21pbmlkdW1wX2V4Y2VwdGlvbl93aW4zMi5oICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL2dvb2dsZV9icmVha3BhZC9jb21tb24vbWluaWR1bXBfZXhjZXB0aW9uX3dpbjMyLmgKKworICAgICAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL3RoaXJkX3BhcnR5L2xzcworICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zcmMvdGhpcmRfcGFydHkvbHNzL2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL3RoaXJkX3BhcnR5L2xzcy9saW51eF9zeXNjYWxsX3N1cHBvcnQuaAorfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tbWluaWR1bXAtdXBsb2FkICR7UE59LXN5bS11cGxvYWQiCisKK0ZJTEVTXyR7UE59LW1pbmlkdW1wLXVwbG9hZCA9ICIke2JpbmRpcn0vbWluaWR1bXBfdXBsb2FkIgorRklMRVNfJHtQTn0tc3ltLXVwbG9hZCA9ICIke2JpbmRpcn0vc3ltX3VwbG9hZCIKKworCitTWVNST09UX1BSRVBST0NFU1NfRlVOQ1MgKz0gImJyZWFrcGFkX3BvcHVsYXRlX3N5c3Jvb3QiCiticmVha3BhZF9wb3B1bGF0ZV9zeXNyb290KCkgeworICAgICAgICBzeXNyb290X3N0YWdlX2RpciAke0R9L3Vzci9pbmNsdWRlICR7U1lTUk9PVF9ERVNURElSfS91c3IvaW5jbHVkZQorICAgICAgICBzeXNyb290X3N0YWdlX2RpciAke0R9L3Vzci9saWIgJHtTWVNST09UX0RFU1RESVJ9L3Vzci9saWIKKyAgICAgICAgc3lzcm9vdF9zdGFnZV9kaXIgJHtEfS91c3IvbGliICR7U1lTUk9PVF9ERVNURElSfS91c3IvbGliCit9CisKKyMgRmFpbHMgdG8gYnVpbGQgd2l0aCB0aHVtYi0xIChxZW11YXJtKQorI3wge3N0YW5kYXJkIGlucHV0fTogQXNzZW1ibGVyIG1lc3NhZ2VzOgorI3wge3N0YW5kYXJkIGlucHV0fToyMTc4OiBFcnJvcjogc2VsZWN0ZWQgcHJvY2Vzc29yIGRvZXMgbm90IHN1cHBvcnQgVGh1bWIgbW9kZSBgaXQgbmUnCisjfCB7c3RhbmRhcmQgaW5wdXR9OjIxNzk6IEVycm9yOiBUaHVtYiBkb2VzIG5vdCBzdXBwb3J0IGNvbmRpdGlvbmFsIGV4ZWN1dGlvbgorI3wge3N0YW5kYXJkIGlucHV0fToyMTgwOiBFcnJvcjogc2VsZWN0ZWQgcHJvY2Vzc29yIGRvZXMgbm90IHN1cHBvcnQgVGh1bWIgbW9kZSBgaXQgZXEnCisjfCB7c3RhbmRhcmQgaW5wdXR9OjIxODE6IEVycm9yOiBUaHVtYiBkb2VzIG5vdCBzdXBwb3J0IGNvbmRpdGlvbmFsIGV4ZWN1dGlvbgorI3wge3N0YW5kYXJkIGlucHV0fToyMTgzOiBFcnJvcjogbG8gcmVnaXN0ZXIgcmVxdWlyZWQgLS0gYHN0ciBpcCxbcjEsIy00XSEnCisjfCB7c3RhbmRhcmQgaW5wdXR9OjIxODQ6IEVycm9yOiBUaHVtYiBkb2VzIG5vdCBzdXBwb3J0IHRoaXMgYWRkcmVzc2luZyBtb2RlIC0tIGBzdHIgcjYsW3IxLCMtNF0hJworI3wge3N0YW5kYXJkIGlucHV0fToyMTkxOiBFcnJvcjogbG8gcmVnaXN0ZXIgcmVxdWlyZWQgLS0gYGxkciBwYyxbc3BdJworI3wgbWFrZTogKioqIFtzcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIub10gRXJyb3IgMQorQVJNX0lOU1RSVUNUSU9OX1NFVCA9ICJhcm0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9jZ2RiL2NnZGIvcmVtb3ZlLWhlbHAybWFuLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY2dkYi9jZ2RiL3JlbW92ZS1oZWxwMm1hbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzU4NjI5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY2dkYi9jZ2RiL3JlbW92ZS1oZWxwMm1hbi5wYXRjaApAQCAtMCwwICsxLDQ3IEBACitEaXNhYmxlIGJ1aWxkaW5nIG1hbnBhZ2VzIHNvIHRoYXQgbWFrZSBpbnN0YWxsIGRvZXNuJ3QgZmFpbCBkdWUgdG8gbGFjayBvZiBoZWxwMm1hbgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ10KKworU2lnbmVkLW9mZi1ieTogTWF0dGhpZXUgQ3JhcGV0IDxNYXR0aGlldS5DcmFwZXRAaW5nZW5pY28uY29tPgorLS0tCisgY29uZmlndXJlLmFjICAgIHwgMyAtLS0KKyBkb2MvTWFrZWZpbGUuYW0gfCA1IC0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCA4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCBlZTdlY2EwLi4xZjBkOTI0IDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0xMzQsOSArMTM0LDYgQEAgZG5sIGNoZWNrIHRoYXQgdGhlIHJlcXVpcmVkIHRvb2xzIGFyZSBhdmFpbGFibGUgdG8gZ2VuZXJhdGUgZG9jdW1lbnRhdGlvbgorIGlmIHRlc3QgIiRIQVNfTUFLRUlORk8iICE9ICJ5ZXMiIDsgdGhlbgorIAlBQ19NU0dfRVJST1IoW1BsZWFzZSBpbnN0YWxsIG1ha2VpbmZvIGJlZm9yZSBpbnN0YWxsaW5nXSkKKyBmaQorLWlmIHRlc3QgIiRIQVNfSEVMUDJNQU4iICE9ICJ5ZXMiIDsgdGhlbgorLQlBQ19NU0dfRVJST1IoW1BsZWFzZSBpbnN0YWxsIGhlbHAybWFuXSkKKy1maQorIAorIGRubCBDaGVja2luZyBmb3IgbG9nMTAgZnVuY3Rpb24gaW4gbWF0aCAtIEkgd291bGQgbGlrZSB0byByZW1vdmUgdGhpcworIEFDX0NIRUNLX0xJQihtLCBsb2cxMCkKK2RpZmYgLS1naXQgYS9kb2MvTWFrZWZpbGUuYW0gYi9kb2MvTWFrZWZpbGUuYW0KK2luZGV4IDYwNjYyZjYuLjBhZTAwMTMgMTAwNjQ0CistLS0gYS9kb2MvTWFrZWZpbGUuYW0KKysrKyBiL2RvYy9NYWtlZmlsZS5hbQorQEAgLTEsMTUgKzEsMTAgQEAKKyBpbmZvX1RFWElORk9TID0gY2dkYi50ZXhpCisgY2dkYl9URVhJTkZPUyA9IGdwbC50ZXhpCisgCistZGlzdF9tYW5fTUFOUyA9IGNnZGIuMQorIEVYVFJBX0RJU1QgPSBjZ2RiLnR4dAorIAorIGRpc3RfcGtnZGF0YV9EQVRBID0gY2dkYi50eHQKKyAKKy0jIGdlbmVyYXRlIHRoZSBtYW4gcGFnZSB1c2luZyBoZWxwMm1hbi4KKy1jZ2RiLjE6CistCWhlbHAybWFuIC0tb3V0cHV0PSQodG9wX3NyY2RpcikvZG9jL2NnZGIuMSAkKHRvcF9idWlsZGRpcikvY2dkYi9jZ2RiJChFWEVFWFQpCistCisgY2dkYi50eHQ6IGNnZGIudGV4aSAkKHNyY2RpcikvdmVyc2lvbi50ZXhpICQoY2dkYl9URVhJTkZPUykKKyBURVhUUyA9IGNnZGIudHh0CisgdGV4dC1hbTogJChURVhUUykKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY2dkYi9jZ2RiXzAuNi44LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY2dkYi9jZ2RiXzAuNi44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0MDE5ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9jZ2RiL2NnZGJfMC42LjguYmIKQEAgLTAsMCArMSwyMSBAQAorU1VNTUFSWSA9ICJjdXJzZXMtYmFzZWQgaW50ZXJmYWNlIHRvIEdEQiIKK0RFU0NSSVBUSU9OID0gImNnZGIgaXMgYSBsaWdodHdlaWdodCBjdXJzZXMgKHRlcm1pbmFsLWJhc2VkKSBpbnRlcmZhY2UgdG8gdGhlIEdOVSBEZWJ1Z2dlciAoR0RCKS4iCitIT01FUEFHRSA9ICJodHRwOi8vY2dkYi5naXRodWIuaW8vIgorU0VDVElPTiA9ICJkZXZlbCIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworREVQRU5EUyA9ICJmbGV4LW5hdGl2ZSByZWFkbGluZSBuY3Vyc2VzIgorCitpbmhlcml0IGF1dG90b29scworCitTUkNfVVJJID0gImh0dHA6Ly9jZ2RiLm1lL2ZpbGVzLyR7QlB9LnRhci5neiBcCisgICAgZmlsZTovL3JlbW92ZS1oZWxwMm1hbi5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICI3YmQzOGM3OWJmNGQ3OTRkMjM5OTI4ZmVmNDAxZmNhMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiZTIwM2UyOWJlMjk1MDk3NDM5YWI2N2VmZTNkYzgyNjFmNzQyYzU1ZmYzNjQ3NzE4ZDY3ZDUyODkxZjRjZjQxIgorCitDQUNIRURfQ09ORklHVVJFVkFSUyA9ICJhY19jdl9maWxlX19kZXZfcHRteD15ZXMgYWNfY3ZfcmxfdmVyc2lvbj02LjIiCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLXJlYWRsaW5lPSR7U1RBR0lOR19MSUJESVJ9IFwKKyAgICAtLXdpdGgtbmN1cnNlcz0ke1NUQUdJTkdfTElCRElSfSIKKworUkRFUEVORFNfJHtQTn0gPSAiZ2RiIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY2xvdWQ5L2Nsb3VkOS8wMDAxLWlkZS11c2Utbm9kZS1hcy1pbnRlcnByZXRlci1mb3Itc2tldGNoZXMtaW5zdGVhZC1vZi0ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9jbG91ZDkvY2xvdWQ5LzAwMDEtaWRlLXVzZS1ub2RlLWFzLWludGVycHJldGVyLWZvci1za2V0Y2hlcy1pbnN0ZWFkLW9mLS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMzIzMTFhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY2xvdWQ5L2Nsb3VkOS8wMDAxLWlkZS11c2Utbm9kZS1hcy1pbnRlcnByZXRlci1mb3Itc2tldGNoZXMtaW5zdGVhZC1vZi0ucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorRnJvbSBhYzE5NTNkMDRmM2YyNmQ2YWE1ZDhmNTNhOTM5N2QzYmEwZTk2ZmEzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS29lbiBLb29pIDxrb2VuQGNpcmN1aXRjby5jb20+CitEYXRlOiBGcmksIDExIE1heSAyMDEyIDE1OjIzOjAyICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIGlkZTogdXNlICdub2RlJyBhcyBpbnRlcnByZXRlciBmb3Igc2tldGNoZXMgaW5zdGVhZCBvZgorIGFyZ3ZbMF0KKworVGhpcyBlbmFibGVzIHJ1bm5pbmcgc2NyaXB0cyB3aXRoIG5vZGUgMC42LnggaW5zdGVhZCBvZiAwLjQueAorCitTaWduZWQtb2ZmLWJ5OiByb290IDxyb290QGJlYWdsZWJvbmUuKG5vbmUpPgorLS0tCisgc2VydmVyL2Nsb3VkOS9pZGUuanMgfCAgICAyICstCisgMSBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zZXJ2ZXIvY2xvdWQ5L2lkZS5qcyBiL3NlcnZlci9jbG91ZDkvaWRlLmpzCitpbmRleCBjZTc4MmY1Li42YzRlMGY3IDEwMDY0NAorLS0tIGEvc2VydmVyL2Nsb3VkOS9pZGUuanMKKysrKyBiL3NlcnZlci9jbG91ZDkvaWRlLmpzCitAQCAtNTMsNyArNTMsNyBAQCB2YXIgSWRlID0gbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihvcHRpb25zLCBodHRwU2VydmVyLCBleHRzLCBzb2NrZXQpIHsKKyAgICAgfTsKKyAKKyAgICAgdGhpcy4kdXNlcnMgPSB7fTsKKy0gICAgdGhpcy5ub2RlQ21kID0gcHJvY2Vzcy5hcmd2WzBdOworKyAgICB0aGlzLm5vZGVDbWQgPSAibm9kZSI7CisgCisgICAgIHZhciBkYXZPcHRpb25zID0geworICAgICAgICAgbm9kZTogdGhpcy5vcHRpb25zLm1vdW50RGlyLAorLS0gCisxLjcuNworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9jbG91ZDkvY2xvdWQ5L2Nsb3VkOS1hdmFoaS5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY2xvdWQ5L2Nsb3VkOS9jbG91ZDktYXZhaGkuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjliNmUyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY2xvdWQ5L2Nsb3VkOS9jbG91ZDktYXZhaGkuc2VydmljZQpAQCAtMCwwICsxLDEwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9J25vJz8+PCEtLSotbnhtbC0qLS0+Cis8IURPQ1RZUEUgc2VydmljZS1ncm91cCBTWVNURU0gImF2YWhpLXNlcnZpY2UuZHRkIj4KKworPHNlcnZpY2UtZ3JvdXA+CisgIDxuYW1lIHJlcGxhY2Utd2lsZGNhcmRzPSJ5ZXMiPkNsb3VkOSBJREUgb24gJWg8L25hbWU+CisgIDxzZXJ2aWNlPgorICAgIDx0eXBlPl9odHRwLl90Y3A8L3R5cGU+CisgICAgPHBvcnQ+MzAwMDwvcG9ydD4KKyAgPC9zZXJ2aWNlPgorPC9zZXJ2aWNlLWdyb3VwPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY2xvdWQ5L2Nsb3VkOS9jbG91ZDkuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2Nsb3VkOS9jbG91ZDkvY2xvdWQ5LnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDk1YjEzMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2Nsb3VkOS9jbG91ZDkvY2xvdWQ5LnNlcnZpY2UKQEAgLTAsMCArMSwxMSBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1DbG91ZDkgSURFCitDb25kaXRpb25QYXRoRXhpc3RzPXwvdmFyL2xpYi9jbG91ZDkKKworW1NlcnZpY2VdCitSZXN0YXJ0PWFsd2F5cworRW52aXJvbm1lbnRGaWxlPS0vZXRjL2RlZmF1bHQvbm9kZQorRXhlY1N0YXJ0PS91c3IvYmluL25vZGU0IC91c3Ivc2hhcmUvY2xvdWQ5L2Jpbi9jbG91ZDkuanMgLWwgMC4wLjAuMCAtdyAvdmFyL2xpYi9jbG91ZDkgLXAgMzAwMAorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9jbG91ZDkvY2xvdWQ5L2luZGV4LmpzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY2xvdWQ5L2Nsb3VkOS9pbmRleC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OGM5YTE5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY2xvdWQ5L2Nsb3VkOS9pbmRleC5qcwpAQCAtMCwwICsxLDIgQEAKK3ZhciBvMyA9IHJlcXVpcmUoJy4vbzMuanMnKQorbW9kdWxlLmV4cG9ydHMgPSBvMy54bWw7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9jbG91ZDkvY2xvdWQ5XzAuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2Nsb3VkOS9jbG91ZDlfMC42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3ZTUyNGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9jbG91ZDkvY2xvdWQ5XzAuNi5iYgpAQCAtMCwwICsxLDExOCBAQAorU1VNTUFSWSA9ICJNZWV0IENsb3VkOSwgZGV2ZWxvcG1lbnQtYXMtYS1zZXJ2aWNlIGZvciBKYXZhc2NyaXB0ZXJzIGFuZCBvdGhlciBkZXZlbG9wZXJzIgorSE9NRVBBR0UgPSAiaHR0cDovL2M5LmlvIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTQ3ODRjM2JjZmY2MDFmZDhmOTUxNWY1MmExMWU3MDE4IgorCitQUiA9ICJyNSIKKworIyBOb2RlanMtbmF0aXZlIGZvciBub2RlLXdhZiwgbm9kZWpzNC1uYXRpdmUgZm9yIHRoZSBoZWFkZXJzCitERVBFTkRTID0gImxpYnhtbDIgbm9kZWpzLW5hdGl2ZSBub2RlanM0LW5hdGl2ZSIKKworUE5CTEFDS0xJU1RbY2xvdWQ5XSA/PSAiTm90IGNvbWF0aWJsZSB3aXRoIGN1cnJlbnQgbm9kZWpzIDAuMTIsIGJ1dCB1cHN0cmVhbSBpcyB3b3JraW5nIG9uIGl0IGZvciB2MyIKK2luaGVyaXQgc3lzdGVtZAorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vYWpheG9yZy9jbG91ZDkuZ2l0O25hbWU9Y2xvdWQ5aWRlIFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0aHViLmNvbS9hamF4b3JnL28zO2Rlc3RzdWZmaXg9bzM7bmFtZT1vMyBcCisgICAgICAgICAgIGdpdDovL2dpdGh1Yi5jb20vYWpheG9yZy9hY2UuZ2l0O2Rlc3RzdWZmaXg9Z2l0L3N1cHBvcnQvYWNlO25hbWU9YWNlIFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0aHViLmNvbS9hamF4b3JnL2FjZS53aWtpLmdpdDtkZXN0c3VmZml4PWdpdC9zdXBwb3J0L2FjZS9kb2Mvd2lraTtuYW1lPWFjZXdpa2kgXAorICAgICAgICAgICBnaXQ6Ly9naXRodWIuY29tL2FqYXhvcmcvYXBmLmdpdDtkZXN0c3VmZml4PWdpdC9zdXBwb3J0L2FwZjtuYW1lPWFwZiBcCisgICAgICAgICAgIGdpdDovL2dpdGh1Yi5jb20vYWpheG9yZy9hc3luYy5qcy5naXQ7ZGVzdHN1ZmZpeD1naXQvc3VwcG9ydC9hc3luY2pzO25hbWU9YXN5bmNqcyBcCisgICAgICAgICAgIGdpdDovL2dpdGh1Yi5jb20vYWpheG9yZy9jb25uZWN0LmdpdDtkZXN0c3VmZml4PWdpdC9zdXBwb3J0L2Nvbm5lY3Q7bmFtZT1jb25uZWN0O2JyYW5jaD1hamF4b3JnIFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0aHViLmNvbS9qYXNoa2VuYXMvY29mZmVlLXNjcmlwdC5naXQ7ZGVzdHN1ZmZpeD1naXQvc3VwcG9ydC9jb25uZWN0L3N1cHBvcnQvY29mZmVlLXNjcmlwdDtuYW1lPWNvZmZlZS1zY3JpcHQgXAorICAgICAgICAgICBnaXQ6Ly9naXRodWIuY29tL3Zpc2lvbm1lZGlhL2V4cHJlc3NvLmdpdDtkZXN0c3VmZml4PWdpdC9zdXBwb3J0L2Nvbm5lY3Qvc3VwcG9ydC9leHByZXNzbztuYW1lPWV4cHJlc3NvIFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0aHViLmNvbS92aXNpb25tZWRpYS9ub2RlLWpzY292ZXJhZ2UuZ2l0O2Rlc3RzdWZmaXg9Z2l0L3N1cHBvcnQvY29ubmVjdC9zdXBwb3J0L2V4cHJlc3NvL2RlcHMvanNjb3ZlcmFnZTtuYW1lPWpzY292ZXJhZ2UgXAorICAgICAgICAgICBnaXQ6Ly9naXRodWIuY29tL2Nsb3VkaGVhZC9sZXNzLmpzLmdpdDtkZXN0c3VmZml4PWdpdC9zdXBwb3J0L2Nvbm5lY3Qvc3VwcG9ydC9sZXNzO25hbWU9bGVzcyBcCisgICAgICAgICAgIGdpdDovL2dpdGh1Yi5jb20vbWF0ZWhhdC9zYXNzLmpzLmdpdDtkZXN0c3VmZml4PWdpdC9zdXBwb3J0L2Nvbm5lY3Qvc3VwcG9ydC9zYXNzO25hbWU9c2FzcyBcCisgICAgICAgICAgIGdpdDovL2dpdGh1Yi5jb20vYWpheG9yZy9qc0RBVi5naXQ7ZGVzdHN1ZmZpeD1naXQvc3VwcG9ydC9qc2RhdjtuYW1lPWpzZGF2IFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0aHViLmNvbS9mamFrb2JzL2FzeW5jLmpzLmdpdDtkZXN0c3VmZml4PWdpdC9zdXBwb3J0L2pzZGF2L3N1cHBvcnQvYXN5bmMuanM7bmFtZT1hc3luYy1qcyBcCisgICAgICAgICAgIGdpdDovL2dpdGh1Yi5jb20vZmVsaXhnZS9ub2RlLWZvcm1pZGFibGUuZ2l0O2Rlc3RzdWZmaXg9Z2l0L3N1cHBvcnQvanNkYXYvc3VwcG9ydC9mb3JtaWRhYmxlO25hbWU9Zm9ybWlkYWJsZSBcCisgICAgICAgICAgIGdpdDovL2dpdGh1Yi5jb20vYWpheG9yZy9qc2Z0cC5naXQ7ZGVzdHN1ZmZpeD1naXQvc3VwcG9ydC9qc2Rhdi9zdXBwb3J0L2pzZnRwO25hbWU9anNmdHAgXAorICAgICAgICAgICBnaXQ6Ly9naXRodWIuY29tL0dvemFsYS9zdHJlYW1lci5naXQ7ZGVzdHN1ZmZpeD1naXQvc3VwcG9ydC9qc2Rhdi9zdXBwb3J0L2pzZnRwL3N1cHBvcnQvc3RyZWFtZXI7bmFtZT1zdHJlYW1lciBcCisgICAgICAgICAgIGdpdDovL2dpdGh1Yi5jb20vYWpheG9yZy9ub2RlLXNmdHAuZ2l0O2Rlc3RzdWZmaXg9Z2l0L3N1cHBvcnQvanNkYXYvc3VwcG9ydC9ub2RlLXNmdHA7bmFtZT1zZnRwIFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0aHViLmNvbS9hamF4b3JnL2xpYi12OGRlYnVnLmdpdDtkZXN0c3VmZml4PWdpdC9zdXBwb3J0L2xpYi12OGRlYnVnO25hbWU9bGliLXY4ZGVidWcgXAorICAgICAgICAgICBnaXQ6Ly9naXRodWIuY29tL2FqYXhvcmcvc29ja2V0LmlvLmdpdDtkZXN0c3VmZml4PWdpdC9zdXBwb3J0L3NvY2tldC5pbztuYW1lPXNvY2tldGlvO2JyYW5jaD1jYWRvcm4tdXBzdHJlYW0gXAorICAgICAgICAgICBnaXQ6Ly9naXRodWIuY29tL0xlYXJuQm9vc3Qvc29ja2V0LmlvLWNsaWVudC5naXQ7ZGVzdHN1ZmZpeD1naXQvc3VwcG9ydC9zb2NrZXQuaW8tY2xpZW50O25hbWU9c29ja2V0aW8tY2xpZW50IFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0aHViLmNvbS9hamF4b3JnL3RyZWVodWdnZXIuZ2l0O2Rlc3RzdWZmaXg9Z2l0L3N1cHBvcnQvdHJlZWh1Z2dlcjtuYW1lPXRyZWVodWdnZXIgXAorICAgICAgICAgICBnaXQ6Ly9naXRodWIuY29tL2FqYXhvcmcvVWdsaWZ5SlMuZ2l0O2Rlc3RzdWZmaXg9Z2l0L3N1cHBvcnQvdWdsaWZ5LWpzO25hbWU9dWdsaWZ5LWpzIFwKKyAgICAgICAgICAgZmlsZTovL2luZGV4LmpzIFwKKyAgICAgICAgICAgZmlsZTovL2Nsb3VkOS1hdmFoaS5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL2Nsb3VkOS5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtaWRlLXVzZS1ub2RlLWFzLWludGVycHJldGVyLWZvci1za2V0Y2hlcy1pbnN0ZWFkLW9mLS5wYXRjaCBcCisiCisKK1NSQ1JFVl9jbG91ZDlpZGUgPSAiYzRlMjU3NDg5NmEyMmJiNzQ5ZjA1MDBiMjVmNDFjODg4ZDM0NmJlZCIKK1NSQ1JFVl9vMyA9ICJkNjZkNGUzMjUyZTUwNWY0NGFkYTY4MDRjOGNhYjM5OTE1Y2U4YWZkIgorU1JDUkVWX2FjZSA9ICIwZmM1MzkyY2JlNDZmYjEzNDA1MmMzMDY1YTIzOGFkOGUzYjMxY2ZkIgorU1JDUkVWX2FjZXdpa2kgPSAiZDJhNjVkMGFkZGMyZTVhYjkyMmJiZmY5Y2I2MDIyYTQ2NTJiNGYxMyIKK1NSQ1JFVl9hcGYgPSAiMjU2MGI3NjJiMmIwZTVhOGI0NmY4YTQwNjJmOTI3YTlhOWQyMzlmNCIKK1NSQ1JFVl9hc3luY2pzID0gImQzNmVhZDQwOGUyOTU5YjFlOTk1NzIxMTRlZjNhMWI2YTQ4YzEwNzIiCitTUkNSRVZfY29ubmVjdCA9ICI2YmVjOTViNTFmMjI4NmI5NDJiYzdmMzQwZDYyZDgxNmJjZGMxM2Q0IgorU1JDUkVWX2NvZmZlZS1zY3JpcHQgPSAiYTUzYzEwNGRiMTZkM2FjOWQxM2NmOWYxNjgzNGVkZWMyNTBiOTc0OSIKK1NSQ1JFVl9leHByZXNzbyA9ICI3ZjEwYWI3ZmE2NTUyOTliNGUyZjUxOTA2NWIwNDk1ZTZhYzM0ZWYyIgorU1JDUkVWX2pzY292ZXJhZ2UgPSAiMGQ0NjA4YTZiNDI3NWIwMjBiYTY2NTM4OWFhNzU4OTdkNWQ0YTU4NCIKK1NSQ1JFVl9sZXNzID0gImEyODA3Mjg4MDA4NTg3Yjk1YzZjMmY4YmE1Y2FjMTZmMWJjYWI5OGYiCitTUkNSRVZfc2FzcyA9ICI0ZGZkNGM2OTllN2E4YmFmMjI2MjE1YWIwNDQ4NTRjNDUwN2Y0NDIwIgorU1JDUkVWX2pzZGF2ID0gImYwNGViZjNkMDEyY2M4YWVhYmZjZmIyYjhmYWI4OTY2ZDUyOTI5ZTkiCitTUkNSRVZfYXN5bmMtanMgPSAiOTJmYjcxMGE3MGVmZDNjZGMyMzc2ZWJmYmE3MWE3ZmIzYTRmMTY1MSIKK1NSQ1JFVl9mb3JtaWRhYmxlID0gImEzNzI5MmQ0YjdkNmQ3NmEzODkwOWVkNjcwMzM0YzkwNjhkNDA4NzEiCitTUkNSRVZfanNmdHAgPSAiZTNmMTBjODkyNzM0N2MxNzBjZGQwMTUwZWYzOGUxODI3MmFjZjk0MiIKK1NSQ1JFVl9zdHJlYW1lciA9ICIxYTdmNzVkNDA2NTgxOTE3MWFjOTFhMDk5NzQxOTliOTMyZGJlMTdkIgorU1JDUkVWX3NmdHAgPSAiYTA1MzkzNDUxMzQ5NzBkNzUzNWExOWNiMjYwOGUzZDFiYzExOWQ3MSIKK1NSQ1JFVl9saWItdjhkZWJ1ZyA9ICI3YzExODk3ZjRiYzc3YzcyNzVjMmI2ZGZmNWJlY2M3MmFjMDE4NjYyIgorU1JDUkVWX3NvY2tldGlvID0gIjczNWQ1MjM5YjMyNWRmMmJhNjdkMmI5YmI0ZWMzMjQ0MjI4M2JjMDYiCitTUkNSRVZfc29ja2V0aW8tY2xpZW50ID0gIjQzNzVlZjEzNDRlY2I4YWQ3NWEzODQ4YTAwYWY2YjM5MTgyMmY4NmIiCitTUkNSRVZfdHJlZWh1Z2dlciA9ICI0MzZkMGQ2ZGQwY2U0Mzc4MmU2YmUwOGFkMTJjMzU2NzMwNjI2OTk2IgorU1JDUkVWX3VnbGlmeS1qcyA9ICI5NDFjODQ1YzRhMDFlNGU0N2ExNTg0NThmZTg0NmViMzZkMDgyOGFkIgorCitTUkNSRVZfRk9STUFUID0gImNsb3VkOWlkZSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworZG9fY29uZmlndXJlICgpIHsKKyAgICBjZCAke1dPUktESVJ9L28zCisgICAgbm9kZS13YWYgLXZ2IGNvbmZpZ3VyZQorfQorCitFWFRSQV9DWFhGTEFHUyA9ICItSWRlZmF1bHQvaW5jbHVkZSAtSS4uL2luY2x1ZGUgLUlkZWZhdWx0L2hvc3RzIC1JLi4vaG9zdHMgLUlkZWZhdWx0L21vZHVsZXMgLUkuLi9tb2R1bGVzIC1JZGVmYXVsdC9kZXBzIC1JLi4vZGVwcyAtSSR7U1RBR0lOR19ESVJfTkFUSVZFfS91c3IvaW5jbHVkZS9ub2RlNCAtZlBJQyAtRFBJQyIKKworZG9fY29tcGlsZSAoKSB7CisgICAgY2QgJHtXT1JLRElSfS9vMworICAgIG5vZGU0IHRvb2xzL2dsdWVnZW4uanMKKyAgICBjZCBob3N0cworICAgICR7Q1hYfSAke1RBUkdFVF9DWFhGTEFHU30gJHtFWFRSQV9DWFhGTEFHU30gLWMgLW8gc2hfbm9kZS5vIG5vZGUtbzMvc2hfbm9kZS5jYworICAgICR7Q1hYfSAke1RBUkdFVF9DWFhGTEFHU30gJHtFWFRSQV9DWFhGTEFHU30gLWMgLW8gc2hfbm9kZV9saWJzLm8gbm9kZS1vMy9zaF9ub2RlX2xpYnMuY2MKKyAgICBjZCAuLgorICAgICR7Q1hYfSAke1RBUkdFVF9MREZMQUdTfSBob3N0cy9zaF9ub2RlLm8gaG9zdHMvc2hfbm9kZV9saWJzLm8gLW8gbzMubm9kZSAtc2hhcmVkIC1XbCwtQmR5bmFtaWMgLWx4bWwyCit9CisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtkYXRhZGlyfS9jbG91ZDkgJHtEfSR7YmluZGlyfSAke0R9L3Zhci9saWIvY2xvdWQ5CisgICAgcnN5bmMgLXIgLS1leGNsdWRlPSIuKiIgJHtTfS8qICR7RH0ke2RhdGFkaXJ9L2Nsb3VkOQorCisgICAgdG91Y2ggJHtEfSR7YmluZGlyfS9jbG91ZDkKKyAgICBlY2hvICIjIS9iaW4vc2giID4gJHtEfSR7YmluZGlyfS9jbG91ZDkKKyAgICBlY2hvICJub2RlNCAke2RhdGFkaXJ9L2Nsb3VkOS9iaW4vY2xvdWQ5LmpzIC1sIDAuMC4wLjAgLXcgL3Zhci9saWIvY2xvdWQ5IC1wIDMwMDAiID4+ICR7RH0ke2JpbmRpcn0vY2xvdWQ5CisgICAgY2htb2QgMDc1NSAke0R9JHtiaW5kaXJ9L2Nsb3VkOQorCisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke2RhdGFkaXJ9L2Nsb3VkOS9zdXBwb3J0L2pzZGF2L3N1cHBvcnQvbm9kZS1vMy14bWwtdjQvbGliL28zLXhtbAorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2luZGV4LmpzICR7RH0ke2RhdGFkaXJ9L2Nsb3VkOS9zdXBwb3J0L2pzZGF2L3N1cHBvcnQvbm9kZS1vMy14bWwtdjQvbGliL28zLXhtbC9pbmRleC5qcworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L28zL21vZHVsZXMvbzMuanMgJHtEfSR7ZGF0YWRpcn0vY2xvdWQ5L3N1cHBvcnQvanNkYXYvc3VwcG9ydC9ub2RlLW8zLXhtbC12NC9saWIvbzMteG1sL28zLmpzCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vbzMvbzMubm9kZSAke0R9JHtkYXRhZGlyfS9jbG91ZDkvc3VwcG9ydC9qc2Rhdi9zdXBwb3J0L25vZGUtbzMteG1sLXY0L2xpYi9vMy14bWwvbzMubm9kZQorCisgICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtzeXNjb25mZGlyfS9hdmFoaS9zZXJ2aWNlcy8KKyAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vY2xvdWQ5LWF2YWhpLnNlcnZpY2UgJHtEfSR7c3lzY29uZmRpcn0vYXZhaGkvc2VydmljZXMvCisgICAgIAorICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2Nsb3VkOS5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCit9CisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtkYXRhZGlyfS9jbG91ZDkvc3VwcG9ydC9qc2Rhdi9zdXBwb3J0L25vZGUtbzMteG1sLXY0L2xpYi9vMy14bWwvLmRlYnVnIFwKKyAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9jbG91ZDkvc3VwcG9ydC9qc2Rhdi9zdXBwb3J0L25vZGUtbzMteG1sLXY0L2xpYi8uZGVidWcgXAorIgorCitSREVQRU5EU18ke1BOfSA9ICJub2RlanM0IG5vZGVqcyBnemlwIgorCitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImNsb3VkOS5zZXJ2aWNlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY29uY3VycmVuY3lraXQvY29uY3VycmVuY3lraXQvY3Jvc3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9jb25jdXJyZW5jeWtpdC9jb25jdXJyZW5jeWtpdC9jcm9zcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kM2JmYWI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY29uY3VycmVuY3lraXQvY29uY3VycmVuY3lraXQvY3Jvc3MucGF0Y2gKQEAgLTAsMCArMSw1NSBAQAorSW5kZXg6IGdpdC9jb25maWd1cmUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnaXQub3JpZy9jb25maWd1cmUJMjAxMi0xMS0xOSAyMTowNzo1MS45MTc0Mjk0NjUgLTA4MDAKKysrKyBnaXQvY29uZmlndXJlCTIwMTItMTEtMTkgMjE6MTM6MTkuMzM3NDM3Mjc4IC0wODAwCitAQCAtNDM5LDE0ICs0NDIsMTggQEAKKyAJR1pJUF9TVUZGSVg9Ii5neiIKKyBmaQorIAorLXByaW50ZiAiRmluZGluZyBzdWl0YWJsZSBjb21waWxlci4uLi4uLi4uIgorLUNDPWBwYXRoc2VhcmNoICIke0NDOi1jY30iYAorLWlmIHRlc3QgLXogIiRDQyIgLW8gISAteCAiJENDIjsgdGhlbgorLQlDQz1gcGF0aHNlYXJjaCAiJHtDQzotZ2NjfSJgCisraWYgdGVzdCAteiAiJENDIjsgdGhlbgorKwlwcmludGYgIkZpbmRpbmcgc3VpdGFibGUgY29tcGlsZXIuLi4uLi4uLiIKKysJQ0M9YHBhdGhzZWFyY2ggIiR7Q0M6LWNjfSJgCisrCWlmIHRlc3QgLXogIiRDQyIgLW8gISAteCAiJENDIjsgdGhlbgorKwkJQ0M9YHBhdGhzZWFyY2ggIiR7Q0M6LWdjY30iYAorKwlmaQorIGZpCisgYXNzZXJ0ICIkQ0MiICJub3QgZm91bmQiCisgCistY2F0IDw8IEVPRiA+IC4xLmMKKytpZiB0ZXN0IC16ICIkQ09NUElMRVIiOyB0aGVuCisrCisrCWNhdCA8PCBFT0YgPiAuMS5jCisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgaW50IG1haW4odm9pZCkgeworICNpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiAoX19HTlVDX18gPj0gNCkKK0BAIC01NjksMTYgKzU3NiwxNiBAQAorICNlbmRpZgorIH0KKyBFT0YKKy0KKy0kQ0MgLW8gLjEgLjEuYworLUNPTVBJTEVSPWAuLy4xYAorLXI9JD8KKy1ybSAtZiAuMS5jIC4xCistCistaWYgdGVzdCAiJHIiIC1uZSAwOyB0aGVuCistCWFzc2VydCAiIiAidXBkYXRlIGNvbXBpbGVyIgorLWVsc2UKKy0JZWNobyAic3VjY2VzcyBbJENDXSIKKysJJENDIC1vIC4xIC4xLmMKKysJQ09NUElMRVI9YC4vLjFgCisrCXI9JD8KKysJcm0gLWYgLjEuYyAuMQorKworKwlpZiB0ZXN0ICIkciIgLW5lIDA7IHRoZW4KKysJCWFzc2VydCAiIiAidXBkYXRlIGNvbXBpbGVyIgorKwllbHNlCisrCQllY2hvICJzdWNjZXNzIFskQ0NdIgorKwlmaQorIGZpCisgCisgaWYgdGVzdCAiJENPTVBJTEVSIiA9ICJzdW5jYyI7IHRoZW4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2NvbmN1cnJlbmN5a2l0L2NvbmN1cnJlbmN5a2l0X2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2NvbmN1cnJlbmN5a2l0L2NvbmN1cnJlbmN5a2l0X2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MTI0M2MyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY29uY3VycmVuY3lraXQvY29uY3VycmVuY3lraXRfZ2l0LmJiCkBAIC0wLDAgKzEsNDEgQEAKK0RFU0NSSVBUSU9OID0gIkNvbmN1cnJlbmN5IEtpdCBwcm92aWRlcyBhIHBsZXRob3JhIG9mIGNvbmN1cnJlbmN5IHByaW1pdGl2ZXMsIFwKK3NhZmUgbWVtb3J5IHJlY2xhbWF0aW9uIG1lY2hhbmlzbXMgYW5kIG5vbi1ibG9ja2luZyBkYXRhIHN0cnVjdHVyZXMgXAorZGVzaWduZWQgdG8gYWlkIGluIHRoZSBkZXNpZ24gYW5kIGltcGxlbWVudGF0aW9uIG9mIGhpZ2ggcGVyZm9ybWFuY2UgXAorY29uY3VycmVudCBzeXN0ZW1zLiIKKworTElDRU5TRSA9ICJCU0QgJiBBcGFjaGUtMi4wIgorSE9NRVBBR0UgPSAiaHR0cDovL2NvbmN1cnJlbmN5a2l0Lm9yZyIKK1NFQ1RJT04gPSAiYmFzZSIKKworUFYgPSAiMC41LjErZ2l0JHtTUkNQVn0iCitTUkNSRVYgPSAiZjk3ZDNkYTVjMzc1YWMyZmM1YTkxNzNjZGQzNmNiODI4OTE1YTJlMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWEwYjI0YzFhOGY5YWQ1MTZhMjk3ZDA1NWIwMjk0MjMxIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2NvbmN1cnJlbmN5a2l0L2NrLmdpdDtwcm90b2NvbD1odHRwcyBcCisgICAgICAgICAgIGZpbGU6Ly9jcm9zcy5wYXRjaCBcCisiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0NPTVBBVElCTEVfSE9TVCA9ICIoaS44Nnx4ODZfNjR8cG93ZXJwY3xwb3dlcnBjNjQpLiotbGludXgqIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworUExBVF9wb3dlcnBjNjQgPSAicHBjNjQiCitQTEFUID89ICIke0hPU1RfQVJDSH0iCisKK2RvX2NvbmZpZ3VyZSAoKSB7CisgICAgZXhwb3J0IFBMQVRGT1JNPSR7UExBVH0KKyAgICBleHBvcnQgQ09NUElMRVI9J2djYycKKyAgICAke1N9L2NvbmZpZ3VyZSBcCisgICAgLS1wcmVmaXg9JHtwcmVmaXh9IFwKKyAgICAtLWluY2x1ZGVkaXI9JHtpbmNsdWRlZGlyfSBcCisgICAgLS1saWJkaXI9JHtsaWJkaXJ9Cit9CisKK2RvX2NvbXBpbGUgKCkgeworICAgIG9lX3J1bm1ha2UKK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9jcHB1bml0L2NwcHVuaXRfMS4xMy4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY3BwdW5pdC9jcHB1bml0XzEuMTMuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NDIwMjk0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY3BwdW5pdC9jcHB1bml0XzEuMTMuMS5iYgpAQCAtMCwwICsxLDE0IEBACitERVNDUklQVElPTiA9ICJDcHBVbml0IGlzIHRoZSBDKysgcG9ydCBvZiB0aGUgZmFtb3VzIEpVbml0IGZyYW1ld29yayBmb3IgdW5pdCB0ZXN0aW5nLiBUZXN0IG91dHB1dCBpcyBpbiBYTUwgZm9yIGF1dG9tYXRpYyB0ZXN0aW5nIGFuZCBHVUkgYmFzZWQgZm9yIHN1cGVydmlzZWQgdGVzdHMuICIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3dpa2kvU29mdHdhcmUvY3BwdW5pdCIKK0xJQ0VOU0UgPSAiTEdQTC0yLjEiCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTdmYmMzMzgzMDlhYzM4ZmVmY2Q2NGIwNGJiOTAzZTM0IgorU1JDX1VSSSA9ICIgXAorICAgIGh0dHA6Ly9kZXYtd3d3LmxpYnJlb2ZmaWNlLm9yZy9zcmMvY3BwdW5pdC0ke1BWfS50YXIuZ3ogXAorICAgIGZpbGU6Ly8wMDAxLWRvYy1NYWtlZmlsZS5hbS1kby1ub3QtcHJlc2VydmUtZmlsZS1mbGFncy13aGVuLWNvcHkucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImZhOWFhODM5MTQ1Y2RmODYwYmY1OTY1MzJiYjhhZjk3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ1YjlmM2ZmYzlmMTYzNGQ3NWIyMGI1NGY0OGMwMmUwODE3YmNhNmFmYTFkNTE2MGIyNDQ4ODlkNmJmZjhlMGYiCisKK2luaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9jcHB1bml0L2ZpbGVzLzAwMDEtZG9jLU1ha2VmaWxlLmFtLWRvLW5vdC1wcmVzZXJ2ZS1maWxlLWZsYWdzLXdoZW4tY29weS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2NwcHVuaXQvZmlsZXMvMDAwMS1kb2MtTWFrZWZpbGUuYW0tZG8tbm90LXByZXNlcnZlLWZpbGUtZmxhZ3Mtd2hlbi1jb3B5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhMjBjMTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9jcHB1bml0L2ZpbGVzLzAwMDEtZG9jLU1ha2VmaWxlLmFtLWRvLW5vdC1wcmVzZXJ2ZS1maWxlLWZsYWdzLXdoZW4tY29weS5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIDlkN2NlODY5NjA3ZDEyM2NkOTgzNzg5MGQ3MWY5NDBjNWNlZDMzOTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBNb24sIDI5IEZlYiAyMDE2IDA3OjU4OjIwICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGRvYy9NYWtlZmlsZS5hbTogZG8gbm90IHByZXNlcnZlIGZpbGUgZmxhZ3Mgd2hlbiBjb3B5aW5nCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY3Jvc3Mgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIGRvYy9NYWtlZmlsZS5hbSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2RvYy9NYWtlZmlsZS5hbSBiL2RvYy9NYWtlZmlsZS5hbQoraW5kZXggODgxNTQ3Ni4uMzIzNzQ5OSAxMDA2NDQKKy0tLSBhL2RvYy9NYWtlZmlsZS5hbQorKysrIGIvZG9jL01ha2VmaWxlLmFtCitAQCAtMjIsNyArMjIsNyBAQCBodG1sZGlyICs9ICQocGtnZGF0YWRpcikvaHRtbAorIGh0bWxfREFUQSArPSAkKHN0YXRpY19wYWdlcykgaHRtbC9pbmRleC5odG1sCisgCisgaW5zdGFsbC1kYXRhLWhvb2s6CistCWNwIC1wUiBodG1sLyogJChERVNURElSKSQoaHRtbGRpcikKKysJY3AgLVIgaHRtbC8qICQoREVTVERJUikkKGh0bWxkaXIpCisgCisgIyBBdXRvbWFrZSdzICJkaXN0Y2hlY2siIGlzIHNlbnNpdGl2ZSB0byBoYXZpbmcgZmlsZXMgbGVmdCBvdmVyCisgIyBhZnRlciAibWFrZSB1bmluc3RhbGwiLCBzbyB3ZSBoYXZlIHRvIGNsZWFuIHVwIHRoZSBpbnN0YWxsIGhvb2suCistLSAKKzIuNS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2NzY29wZS9jc2NvcGVfMTUuOGIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9jc2NvcGUvY3Njb3BlXzE1LjhiLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhYTU5NDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9jc2NvcGUvY3Njb3BlXzE1LjhiLmJiCkBAIC0wLDAgKzEsMjQgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE1IElnb3IgU2FudG9zIDxpZ29yLnNhbnRvc0Bha2VyLmNvbS5icj4KKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgQ09QWUlORy5NSVQgZm9yIHRoZSB0ZXJtcykKKworU1VNTUFSWSA9ICJDc2NvcGUgaXMgYSB0ZXh0IHNjcmVlbiBiYXNlZCBzb3VyY2UgYnJvd3NlciIKK0RFU0NSSVBUSU9OID0gIkNzY29wZSBpcyBhIGRldmVsb3BlcidzIHRvb2wgZm9yIGJyb3dzaW5nIHNvdXJjZSBjb2RlLiBcCisgICAgICAgICAgICAgICBJdCBoYXMgYW4gaW1wZWNjYWJsZSBVbml4IHBlZGlncmVlLCBoYXZpbmcgYmVlbiBvcmlnaW5hbGx5IFwKKyAgICAgICAgICAgICAgIGRldmVsb3BlZCBhdCBCZWxsIExhYnMgYmFjayBpbiB0aGUgZGF5cyBvZiB0aGUgUERQLTExLiBcCisgICAgICAgICAgICAgICBDc2NvcGUgd2FzIHBhcnQgb2YgdGhlIG9mZmljaWFsIEFUJlQgVW5peCBkaXN0cmlidXRpb24gZm9yIFwKKyAgICAgICAgICAgICAgIG1hbnkgeWVhcnMsIGFuZCBoYXMgYmVlbiB1c2VkIHRvIG1hbmFnZSBwcm9qZWN0cyBpbnZvbHZpbmcgMjAgXAorICAgICAgICAgICAgICAgbWlsbGlvbiBsaW5lcyBvZiBjb2RlISIKKworSE9NRVBBR0UgPSAiaHR0cDovL2NzY29wZS5zb3VyY2Vmb3JnZS5uZXQvIgorCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQ0NjY3YjY3YjQ4MzgyMzA0M2ZjZmZhNDg5ZWEzNDNiIgorCitpbmhlcml0IGF1dG90b29scworCitERVBFTkRTICs9ICJuY3Vyc2VzIgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3Byb2plY3QvY3Njb3BlL2NzY29wZS8ke1BWfS8ke0JQfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4Zjk0MDlhMjM4ZWUzMTNhOTZmOWY4N2ZlMGYzYjE3NiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0ODg5ZDA5MWYwNWFhMDg0NTM4NGIxZTQ5NjVhYTMxZDJiMjA5MTFmYjJjMDAxYjJjZGNmZmJjYjcyMTJkM2FmIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY3RhZ3MvY3RhZ3NfNS44LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY3RhZ3MvY3RhZ3NfNS44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwMDZkODMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9jdGFncy9jdGFnc181LjguYmIKQEAgLTAsMCArMSwyNSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTUgSWdvciBTYW50b3MgPGlnb3Iuc2FudG9zQGFrZXIuY29tLmJyPgorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBDT1BZSU5HLk1JVCBmb3IgdGhlIHRlcm1zKQorCitTVU1NQVJZID0gIkV4dWJlcmFudCBDdGFncyIKK0RFU0NSSVBUSU9OID0gIkV4dWJlcmFudCBDdGFncyBpcyBhIG11bHRpbGFuZ3VhZ2UgcmVpbXBsZW1lbnRhdGlvbiBvZiB0aGUgXAorICAgICAgICAgICAgICAgVW5peCBjdGFncyB1dGlsaXR5LiBDdGFncyBnZW5lcmF0ZXMgYW4gaW5kZXggb2Ygc291cmNlIGNvZGUgXAorICAgICAgICAgICAgICAgZGVmaW5pdGlvbnMgd2hpY2ggaXMgdXNlZCBieSBudW1lcm91cyBlZGl0b3JzIGFuZCB1dGlsaXRpZXMgXAorICAgICAgICAgICAgICAgdG8gaW5zdGFudGx5IGxvY2F0ZSB0aGUgZGVmaW5pdGlvbnMuIgorCitIT01FUEFHRSA9ICJodHRwOi8vY3RhZ3Muc291cmNlZm9yZ2UubmV0LyIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA2MzZlNzNmZjAyMTVlOGQ2NzJkYzRjMzJjMzE3YmIzIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworU1JDX1VSSSA9ICJodHRwOi8vcHJkb3dubG9hZHMuc291cmNlZm9yZ2UubmV0LyR7QlBOfS8ke0JQfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjMDBmODJlY2RjYzM1NzQzNDczMTkxM2U1YjQ4NjMwZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwZTQ0YjQ1ZGNhYmU5NjllMGJiYmIxMWUzMGMyNDZmODFhYmU1ZDMyMDEyZGIzNzM5NWViNTdkNjZlOWU5OWM3IgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLURtIDc1NSAke0J9L2N0YWdzICR7RH0ke2JpbmRpcn0vY3RhZ3MKKyAgICBpbnN0YWxsIC1EbSA2NDQgJHtCfS9jdGFncy4xICR7RH0ke21hbmRpcn0vbWFuMS9jdGFncy4xCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9jdW5pdC9jdW5pdF8yLjEtMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2N1bml0L2N1bml0XzIuMS0zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5ZDg3ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9jdW5pdC9jdW5pdF8yLjEtMy5iYgpAQCAtMCwwICsxLDE5IEBACitERVNDUklQVElPTiA9ICJDVW5pdCBpcyBhIEMgZnJhbWV3b3JrIGZvciB1bml0IHRlc3RpbmcuIFRlc3Qgb3V0cHV0IHN1cHBvcnRzIGNvbWFuZGxpbmUgYW5kIEdVSSByZXN1bHRzIHJlcG9ydGluZyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jdW5pdC5zb3VyY2Vmb3JnZS5uZXQiCitMSUNFTlNFID0gIkxHUEwtMi4wIgorU0VDVElPTiA9ICJsaWJzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzczNGFhODUzYjg1ZDZmOTM1NDY2ZjA4MTQ5MGRkYmIiCisKK1MgPSAiJHtXT1JLRElSfS9DVW5pdC0ke1BWfSIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcHJvamVjdC9jdW5pdC9DVW5pdC8ke1BWfS9DVW5pdC0ke1BWfS50YXIuYnoyIFwKKyAgICBmaWxlOi8vZml4dXAtaW5zdGFsbC1kb2NkaXIucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiYjVmMWE5ZjYwOTM4NjljMDcwYzZlNGE5NDUwY2MxMGMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjViMjkxMzdmODQ1YmIwOGI3N2VjNjA1ODRmZGI3MjhiNGU1OGYxMDIzZTZmMjQ5YTQ2NGVmYTQ5YTQwZjIxNCIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHJlbW92ZS1saWJ0b29sCisKK0VYVFJBX09FQ09ORiA9ICItLWVuYWJsZS1tZW10cmFjZSAtLWVuYWJsZS1hdXRvbWF0ZWQgLS1lbmFibGUtYmFzaWMgLS1lbmFibGUtY29uc29sZSIKKworRklMRVNfJHtQTn0tZGV2ICs9ICIke2RhdGFkaXJ9L0NVbml0IgorRklMRVNfJHtQTn0tZG9jICs9ICIke2RvY2Rpcn0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9jdW5pdC9maWxlcy9maXh1cC1pbnN0YWxsLWRvY2Rpci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2N1bml0L2ZpbGVzL2ZpeHVwLWluc3RhbGwtZG9jZGlyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMzMjgyMjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9jdW5pdC9maWxlcy9maXh1cC1pbnN0YWxsLWRvY2Rpci5wYXRjaApAQCAtMCwwICsxLDM2IEBACitGcm9tOiAiTWlrZSBIb2xtZXMiIDxtaWtlLmhvbG1lc0BsaW5hcm8ub3JnPgorRGF0ZTogVGh1LCAzMCBPY3RvYmVyIDIwMTQgMTY6MjE6MDMgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gZml4dXAtaW5zdGFsbC1kb2NkaXIKKworVGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBtYWNyb3MgZm9yIENVbml0IGluc3RhbGwgdGhlIGRvY3VtZW50YXRpb24gYW5kCitoZWFkZXIgZmlsZXMgaW4gbG9jYXRpb25zIG5vdCBjb25zaXN0ZW50IHdpdGggdGhlIE9FIGZpbGVzeXN0ZW0gbGF5b3V0LgorU28gaGVyZSB3ZSBzcGVjaWZ5IG5ldyBsb2NhdGlvbnMgd2hpY2ggYXJlIGNvbnNpc3RlbnQgd2l0aCBPRSBmaWxlc3lzdGVtcy4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIC0gY29uZmlndXJhdGlvbiBmb3IgT0UgYnVpbGQgZW52aXJvbm1lbnQKKworU2lnbmVkLW9mZi1ieTogTWlrZSBIb2xtZXMgPG1pa2UuaG9sbWVzQGxpbmFyby5vcmc+CitTaWduZWQtb2ZmLWJ5OiBHYXJ5IFMuIFJvYmVydHNvbiA8Z2FyeS5yb2JlcnRzb25AbGluYXJvLm9yZz4KKy0tLQorCitkaWZmIC11TnIgYS9kb2MvaGVhZGVycy9NYWtlZmlsZS5hbSBiL2RvYy9oZWFkZXJzL01ha2VmaWxlLmFtCistLS0gYS9kb2MvaGVhZGVycy9NYWtlZmlsZS5hbQkyMDE0LTEwLTMwIDIyOjA2OjI5LjcwNDU3NDE2MiArMDEwMAorKysrIGIvZG9jL2hlYWRlcnMvTWFrZWZpbGUuYW0JMjAxNC0xMC0zMCAyMjowNzo0My41Nzg1MjQ3OTEgKzAxMDAKK0BAIC0xLDYgKzEsNiBAQAorICMjIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b21ha2UgdG8gcHJvZHVjZSBNYWtlZmlsZS5pbgorIAorLWRvY2hkcmRpciA9ICQocHJlZml4KS9kb2MvQFBBQ0tBR0VAL2hlYWRlcnMKKytkb2NoZHJkaXIgPSAkKGRvY2RpcikvaGVhZGVycworIAorIElOQ0xVREVfRklMRVMgPSBcCisgCUF1dG9tYXRlZC5oIFwKK2RpZmYgLXVOciBhL2RvYy9NYWtlZmlsZS5hbSBiL2RvYy9NYWtlZmlsZS5hbQorLS0tIGEvZG9jL01ha2VmaWxlLmFtCTIwMTQtMTAtMzAgMjI6MDY6MjkuNzA0NTc0MTYyICswMTAwCisrKysgYi9kb2MvTWFrZWZpbGUuYW0JMjAxNC0xMC0zMCAyMjowNzowMS40NjE0MTIxNjYgKzAxMDAKK0BAIC0xLDcgKzEsNSBAQAorICMjIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b21ha2UgdG8gcHJvZHVjZSBNYWtlZmlsZS5pbgorIAorLWRvY2RpciA9ICQocHJlZml4KS9kb2MvQFBBQ0tBR0VACistCisgZG9jX0RBVEEgPSBcCisgCUNVbml0X2RvYy5jc3MgXAorIAllcnJvcl9oYW5kbGluZy5odG1sIFwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2RlYm9vdHN0cmFwL2RlYm9vdHN0cmFwL2RldmljZXMudGFyLmd6IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZGVib290c3RyYXAvZGVib290c3RyYXAvZGV2aWNlcy50YXIuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjBlYWJhMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2RlYm9vdHN0cmFwL2RlYm9vdHN0cmFwL2RldmljZXMudGFyLmd6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2RlYm9vdHN0cmFwL2RlYm9vdHN0cmFwXzEuMC42Ny5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2RlYm9vdHN0cmFwL2RlYm9vdHN0cmFwXzEuMC42Ny5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MmIyNzk2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZGVib290c3RyYXAvZGVib290c3RyYXBfMS4wLjY3LmJiCkBAIC0wLDAgKzEsMzUgQEAKK1NVTU1BUlkgPSAiSW5zdGFsbCBhIERlYmlhbiBzeXN0ZW0gaW50byBhIHN1YmRpcmVjdG9yeSIKK0hPTUVQQUdFID0gImh0dHBzOi8vd2lraS5kZWJpYW4ub3JnL0RlYm9vdHN0cmFwIgorU0VDVElPTiA9ICJkZXZlbCIKK0xJQ0VOU0UgPSAiZGVib290c3RyYXAtY3VzdG9tLWxpY2Vuc2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kZWJpYW4vY29weXJpZ2h0O21kNT0xZTY4Y2VkNmUxNjg5ZDRjZDlkYWM3NWZmNTIyNTYwOCIKKworaW5oZXJpdCBwa2djb25maWcKKworU1JDX1VSSSAgPSAiXAorICAgIGh0dHA6Ly9odHRwLmRlYmlhbi5uZXQvZGViaWFuL3Bvb2wvbWFpbi9kL2RlYm9vdHN0cmFwL2RlYm9vdHN0cmFwXzEuMC42Ny50YXIuZ3ogXAorICAgIGZpbGU6Ly9kZXZpY2VzLnRhci5nejt1bnBhY2s9MCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlYWNhYmZlMmU0NTQxNWFmNjBiMWQ3NGMzYTIzNDE4YSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwYTEyZTBhMmJiZmYxODVkNDc3MTFhNzE2YjFmMjczNDg1NjEwMGU4Nzg0MzYxMjAzZTgzNGZlZDBjZmZhNTFiIgorCitTID0gIiR7V09SS0RJUn0vJHtCUH0iCisKKyMgQWxsIE1ha2VmaWxlIGRvZXMgaXMgY3JlYXRpb24gb2YgZGV2aWNlcy50YXIuZ3osIHdoaWNoIGZhaWxzIGluIE9FIGJ1aWxkLCB3ZSB1c2UKKyMgc3RhdGljIGRldmljZXMudGFyLmd6IGFzIHdvcmsgYXJvdW5kCisjIHwgTk9URTogbWFrZSAtaiA4IC1lIE1BS0VGTEFHUz0KKyMgfCBybSAtcmYgZGV2CisjIHwgbWtkaXIgLXAgZGV2CisjIHwgY2hvd24gMDowIGRldgorIyB8IGNob3duOiBjaGFuZ2luZyBvd25lcnNoaXAgb2YgYGRldic6IE9wZXJhdGlvbiBub3QgcGVybWl0dGVkCisjIHwgbWFrZTogKioqIFtkZXZpY2VzLnRhci5nel0gRXJyb3IgMQorIyB8IFdBUk5JTkc6IGV4aXQgY29kZSAxIGZyb20gYSBzaGVsbCBjb21tYW5kLgorZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgIGNwICR7V09SS0RJUn0vZGV2aWNlcy50YXIuZ3ogJHtCfQorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAorICAgIGNob3duIC1SIHJvb3Q6cm9vdCAke0R9JHtkYXRhZGlyfS9kZWJvb3RzdHJhcAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZGVqYWdudS9kZWphZ251L2NvbmZpZ3VyZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2RlamFnbnUvZGVqYWdudS9jb25maWd1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmViOGFmNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2RlamFnbnUvZGVqYWdudS9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSw0NSBAQAorSW5kZXg6IGRlamFnbnUtMS40LjQvY29uZmlndXJlLmluCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZGVqYWdudS0xLjQuNC5vcmlnL2NvbmZpZ3VyZS5pbgkyMDE0LTA3LTE4IDA3OjA1OjQ5Ljk5NzQ4MTIwNyArMDAwMAorKysrIGRlamFnbnUtMS40LjQvY29uZmlndXJlLmluCTIwMTQtMDctMTggMDc6MDU6NTAuMDg1NDgxMjEwICswMDAwCitAQCAtMSwxMCArMSwxMCBAQAorIGRubCBQcm9jZXNzIHRoaXMgZmlsZSB3aXRoIGF1dG9jb25mIHRvIHByb2R1Y2UgYSBjb25maWd1cmUgc2NyaXB0LgorIEFDX1BSRVJFUSgyLjEzKQorLUFDX0lOSVQocnVudGVzdC5leHApCisrQUNfSU5JVChkZWphZ251LCAxLjQuNCkKKyBkbmwgQUNfQ09ORklHX0FVWF9ESVIoLi4pCisgCisgZG5sIFRoZXNlIGFyZSByZXF1aXJlZCBieSBhdXRvbWFrZQorLUFNX0lOSVRfQVVUT01BS0UoZGVqYWdudSwgMS40LjQpCisrQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbl0pCisgQU1fTUFJTlRBSU5FUl9NT0RFCisgQUNfUFJPR19NQUtFX1NFVAorIAorSW5kZXg6IGRlamFnbnUtMS40LjQvZXhhbXBsZS9jYWxjL2NvbmZpZ3VyZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRlamFnbnUtMS40LjQub3JpZy9leGFtcGxlL2NhbGMvY29uZmlndXJlLmluCTIwMDItMDQtMjYgMDM6MzI6NDAuMDAwMDAwMDAwICswMDAwCisrKysgZGVqYWdudS0xLjQuNC9leGFtcGxlL2NhbGMvY29uZmlndXJlLmluCTIwMTQtMDctMTggMDc6MTE6NTkuMDg1NDkxMjY2ICswMDAwCitAQCAtMSw4ICsxLDggQEAKKyBkbmwgUHJvY2VzcyB0aGlzIGZpbGUgd2l0aCBhdXRvY29uZiB0byBwcm9kdWNlIGEgY29uZmlndXJlIHNjcmlwdC4KKyBBQ19QUkVSRVEoMi41KQorLUFDX0lOSVQoY2FsYy5jKQorK0FDX0lOSVQoY2FsYywgMS4xKQorIEFNX0NPTkZJR19IRUFERVIoY2FsYy5oKQorLUFNX0lOSVRfQVVUT01BS0UoY2FsYywgMS4xKQorK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ25dKQorIAorIEFDX1BST0dfQ0MKKyBBQ19QUk9HX0lOU1RBTEwKK0luZGV4OiBkZWphZ251LTEuNC40L2V4YW1wbGUvaGVsbG8vY29uZmlndXJlLmluCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZGVqYWdudS0xLjQuNC5vcmlnL2V4YW1wbGUvaGVsbG8vY29uZmlndXJlLmluCTIwMDItMDgtMzEgMDU6NDY6MTYuMDAwMDAwMDAwICswMDAwCisrKysgZGVqYWdudS0xLjQuNC9leGFtcGxlL2hlbGxvL2NvbmZpZ3VyZS5pbgkyMDE0LTA3LTE4IDA3OjEyOjIzLjcyMTQ5MTkzNyArMDAwMAorQEAgLTI1LDcgKzI1LDcgQEAKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIAorIEFDX0lOSVQoaGVsbG93b3JsZCwgZGVtby12ZXJzaW9uLCBwaGlsaXAud2lsc2V5QGllZWUub3JnKQorLUFNX0lOSVRfQVVUT01BS0UoaGVsbG93b3JsZCwgZGVtby12ZXJzaW9uKQorK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ25dKQorIAorICNBQ19DT05GSUdfU1JDRElSKFtoZWxsby5jY10pCisgI0FDX0NPTkZJR19IRUFERVIoW2NvbmZpZy5oXSkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2RlamFnbnUvZGVqYWdudV8xLjQuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2RlamFnbnUvZGVqYWdudV8xLjQuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MzcyNmIyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZGVqYWdudS9kZWphZ251XzEuNC40LmJiCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAiR05VIHVuaXQgdGVzdGluZyBmcmFtZXdvcmssIHdyaXR0ZW4gaW4gRXhwZWN0IGFuZCBUY2wiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YzkzYzA1NTBiZDMxNzNmNDUwNGIyY2JkODk5MWU1MGIiCitTRUNUSU9OID0gImRldmVsIgorCitpbmhlcml0IGF1dG90b29scworCitTUkNfVVJJID0gIiR7R05VX01JUlJPUn0vJHtCUE59LyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwNTNmMThmZDVkMDA4NzNkZTM2NTQxM2NhYjE3YTY2NiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkMGZiZWRlZjIwZmIwODQzMzE4ZDYwNTUxMDIzNjMxMTc2YjI3Y2ViMWUxMWRlNzQ2OGE5NzE3NzBkMGUwNDhkIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2R0L2R0L1N0b3AtdXNpbmctcmVsYXRpdmUtcGF0aC1mb3Itc2NzaWxpYi5jLWxpbmsucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9kdC9kdC9TdG9wLXVzaW5nLXJlbGF0aXZlLXBhdGgtZm9yLXNjc2lsaWIuYy1saW5rLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjYjlhMDIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9kdC9kdC9TdG9wLXVzaW5nLXJlbGF0aXZlLXBhdGgtZm9yLXNjc2lsaWIuYy1saW5rLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Zyb20gNGNmN2UxNmZlOWI3NzNlMmU3NzYzZDRiNzczODU0ZWVmZTJhYTlhYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+CitEYXRlOiBUdWUsIDEyIEphbiAyMDE2IDA5OjU5OjU1IC0wMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFN0b3AgdXNpbmcgcmVsYXRpdmUgcGF0aCBmb3Igc2NzaWxpYi5jIGxpbmsKK09yZ2FuaXphdGlvbjogTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIExUREEuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgorLS0tCisgTWFrZWZpbGUubGludXggfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZS5saW51eCBiL01ha2VmaWxlLmxpbnV4CitpbmRleCA3ODMzM2ZmLi5lMjEwNTY0IDEwMDY0NAorLS0tIGEvTWFrZWZpbGUubGludXgKKysrKyBiL01ha2VmaWxlLmxpbnV4CitAQCAtMTI5LDcgKzEyOSw3IEBAIHNjc2lsaWIuYzoKKyAJICAgIGVjaG8gIlBsZWFzZSBzcGVjaWZ5IE9TPXthaXgsbGludXgsaHB1eCxzb2xhcmlzLHdpbmRvd3N9IjsgXAorIAkgICAgZXhpdCAxOyBcCisgCWZpOyBcCistCWxuIC1zZiAuLi9zY3NpbGliLSQoT1MpLmMgc2NzaWxpYi5jCisrCWxuIC1zZiBzY3NpbGliLSQoT1MpLmMgc2NzaWxpYi5jCisgCisgcHJpbnQ6OworIAkJQCQoUFJJTlRFUikgJChQUklOVEZMQUdTKSAkKEFMTF9DRklMRVMpCistLSAKKzIuMS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2R0L2R0L1VzZS10Y3NoLXNoZWxsLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZHQvZHQvVXNlLXRjc2gtc2hlbGwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGMwMGZkZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2R0L2R0L1VzZS10Y3NoLXNoZWxsLnBhdGNoCkBAIC0wLDAgKzEsOTIgQEAKK0Zyb20gZTNjNmViODc3NmY2NTllYjllNmVlY2NmOTBkNzg1ZWZmMThlY2Y3NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+CitEYXRlOiBNb24sIDE1IEZlYiAyMDE2IDE4OjAwOjA1IC0wMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFVzZSAndGNzaCcgc2hlbGwKK09yZ2FuaXphdGlvbjogTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIExUREEuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgorLS0tCisgU2NyaXB0cy9kdGEgfCAyICstCisgU2NyaXB0cy9kdGMgfCAyICstCisgU2NyaXB0cy9kdGYgfCAyICstCisgU2NyaXB0cy9kdHIgfCAyICstCisgU2NyaXB0cy9kdHMgfCAyICstCisgU2NyaXB0cy9kdHQgfCAyICstCisgU2NyaXB0cy9kdHcgfCAyICstCisgNyBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9TY3JpcHRzL2R0YSBiL1NjcmlwdHMvZHRhCitpbmRleCBlYmM3MDcyLi40ZjkwMjQ3IDEwMDc1NQorLS0tIGEvU2NyaXB0cy9kdGEKKysrKyBiL1NjcmlwdHMvZHRhCitAQCAtMSw0ICsxLDQgQEAKKy0jIS9iaW4vY3NoCisrIyEvYmluL3Rjc2gKKyAjCisgIwlTY3JpcHQgZmlsZSB0byB0ZXN0IGFzeW5jaHJvbm91cyBjb21tdW5pY2F0aW9uIGxpbmVzLgorICMKK2RpZmYgLS1naXQgYS9TY3JpcHRzL2R0YyBiL1NjcmlwdHMvZHRjCitpbmRleCBkYTY5YzJlLi44OWQ0OGMyIDEwMDc1NQorLS0tIGEvU2NyaXB0cy9kdGMKKysrKyBiL1NjcmlwdHMvZHRjCitAQCAtMSw0ICsxLDQgQEAKKy0jIS9iaW4vY3NoCisrIyEvYmluL3Rjc2gKKyAjCSVaJSVNJSAlSSUgJUUlCisgIworICMJRGF0ZToJQXVndXN0IDcsIDE5OTAKK2RpZmYgLS1naXQgYS9TY3JpcHRzL2R0ZiBiL1NjcmlwdHMvZHRmCitpbmRleCA5ZjhjZDg3Li4zMjFkMjYxIDEwMDc1NQorLS0tIGEvU2NyaXB0cy9kdGYKKysrKyBiL1NjcmlwdHMvZHRmCitAQCAtMSw0ICsxLDQgQEAKKy0jISAvYmluL2NzaAorKyMhIC9iaW4vdGNzaAorICMKKyAjCVNjcmlwdCBmaWxlIHRvIGdhdGhlciBmbG9wcHkgZGlzayBwZXJmb3JtYW5jZSBkYXRhLgorICMKK2RpZmYgLS1naXQgYS9TY3JpcHRzL2R0ciBiL1NjcmlwdHMvZHRyCitpbmRleCBkZGI3OTQ3Li4xZmY1YTBiIDEwMDc1NQorLS0tIGEvU2NyaXB0cy9kdHIKKysrKyBiL1NjcmlwdHMvZHRyCitAQCAtMSw0ICsxLDQgQEAKKy0jIS9iaW4vY3NoCisrIyEvYmluL3Rjc2gKKyAjCSVaJSVNJSAlSSUgJUUlCisgIworICMJRGF0ZToJQXVndXN0IDIxLCAxOTkwCitkaWZmIC0tZ2l0IGEvU2NyaXB0cy9kdHMgYi9TY3JpcHRzL2R0cworaW5kZXggNmI4YTE2Ny4uNDJkMjMxMiAxMDA3NTUKKy0tLSBhL1NjcmlwdHMvZHRzCisrKysgYi9TY3JpcHRzL2R0cworQEAgLTEsNCArMSw0IEBACistIyEvYmluL2NzaAorKyMhL2Jpbi90Y3NoCisgIwklWiUlTSUgJUklICVFJQorICMKKyAjCURhdGU6CUF1Z3VzdCA3LCAxOTkwCitkaWZmIC0tZ2l0IGEvU2NyaXB0cy9kdHQgYi9TY3JpcHRzL2R0dAoraW5kZXggMzZjYzZiZC4uZGYxOWQyZiAxMDA3NTUKKy0tLSBhL1NjcmlwdHMvZHR0CisrKysgYi9TY3JpcHRzL2R0dAorQEAgLTEsNCArMSw0IEBACistIyEgL2Jpbi9jc2gKKysjISAvYmluL3Rjc2gKKyAjCSVaJSVNJSAlSSUgJUUlCisgIworICMJRGF0ZToJQXVndXN0IDcsIDE5OTAKK2RpZmYgLS1naXQgYS9TY3JpcHRzL2R0dyBiL1NjcmlwdHMvZHR3CitpbmRleCA4YTRhYzM5Li5jNThlMzA0IDEwMDc1NQorLS0tIGEvU2NyaXB0cy9kdHcKKysrKyBiL1NjcmlwdHMvZHR3CitAQCAtMSw0ICsxLDQgQEAKKy0jIS9iaW4vY3NoCisrIyEvYmluL3Rjc2gKKyAjCSVaJSVNJSAlSSUgJUUlCisgIworICMJRGF0ZToJQXVndXN0IDIxLCAxOTkwCistLSAKKzIuMS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2R0L2R0L2R0LWRlZmF1bHQtc291cmNlLWRlZmluZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2R0L2R0L2R0LWRlZmF1bHQtc291cmNlLWRlZmluZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NzAxNmVkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZHQvZHQvZHQtZGVmYXVsdC1zb3VyY2UtZGVmaW5lLnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKK1BhdGNoIGZyb20gaHR0cDovL3BrZ3MuZmVkb3JhcHJvamVjdC5vcmcvZ2l0L3JwbXMvZHQuZ2l0CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgorCitkaWZmIC1ydXBOIGR0LnYxOC4zMi5vbGQvY29tbW9uLmggZHQudjE4LjMyL2NvbW1vbi5oCistLS0gZHQudjE4LjMyLm9sZC9jb21tb24uaAkyMDEzLTAzLTAxIDIzOjUyOjMwLjAwMDAwMDAwMCArMDEwMAorKysrIGR0LnYxOC4zMi9jb21tb24uaAkyMDE0LTA5LTI0IDE3OjQxOjQwLjc3NzYwNDcxMCArMDIwMAorQEAgLTEyNyw3ICsxMjcsNyBAQCB0eXBlZGVmIHZvbGF0aWxlIHNsYXJnZV90CXZfc2xhcmdlOworIAorICNlbmRpZiAvKiBkZWZpbmVkKF9XSU42NCkgKi8KKyAKKy0jZWxpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiBkZWZpbmVkKF9CU0RfU09VUkNFKSB8fCBkZWZpbmVkKFNDTykgfHwgZGVmaW5lZChfX1FOWE5UT19fKSB8fCBkZWZpbmVkKFNPTEFSSVMpIHx8IGRlZmluZWQoSFBfVVgpIHx8IGRlZmluZWQoQUlYKSB8fCBkZWZpbmVkKF9OVF9TT1VSQ0UpIAorKyNlbGlmIGRlZmluZWQoX19HTlVDX18pICYmIGRlZmluZWQoX0JTRF9TT1VSQ0UpIHx8IGRlZmluZWQgKF9ERUZBVUxUX1NPVVJDRSkgfHwgIGRlZmluZWQoU0NPKSB8fCBkZWZpbmVkKF9fUU5YTlRPX18pIHx8IGRlZmluZWQoU09MQVJJUykgfHwgZGVmaW5lZChIUF9VWCkgfHwgZGVmaW5lZChBSVgpIHx8IGRlZmluZWQoX05UX1NPVVJDRSkgCisgCisgI2RlZmluZSBRdWFkSXNMb25nTG9uZworIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIGludAlsYXJnZV90OwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZHQvZHQvZHQtd2Zvcm1hdC1zZWN1cml0eS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2R0L2R0L2R0LXdmb3JtYXQtc2VjdXJpdHkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjY3ODBjMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2R0L2R0L2R0LXdmb3JtYXQtc2VjdXJpdHkucGF0Y2gKQEAgLTAsMCArMSw0OCBAQAorUGF0Y2ggZnJvbSBodHRwOi8vcGtncy5mZWRvcmFwcm9qZWN0Lm9yZy9naXQvcnBtcy9kdC5naXQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+CisKK2RpZmYgLXJ1cE4gZHQudjE4LjMyLm9sZC9kdC5jIGR0LnYxOC4zMi9kdC5jCistLS0gZHQudjE4LjMyLm9sZC9kdC5jCTIwMTQtMDgtMTggMTQ6NDU6NTMuMjQyMzUxMTE1ICswMjAwCisrKysgZHQudjE4LjMyL2R0LmMJMjAxNC0wOC0xOCAxNToxMTozNi4zNjc3MTk4ODAgKzAyMDAKK0BAIC00Mzc4LDcgKzQzNzgsNyBAQCByZXBvcnRfZXJyb3IoCisgCSAgICAodm9pZClzcHJpbnRmKGRpcC0+ZGlfbXNnX2J1ZmZlciwgIiglZCk6ICclcycsIGVycm5vID0gJWQgLSAlc1xuIiwKKyAJCQkgIGRpcC0+ZGlfcHJvY2Vzc19pZCwgZXJyb3JfaW5mbywgZXJybm8sIGVtc2cpOworIAl9CistCXN5c2xvZyhMT0dfRVJSLCBkaXAtPmRpX21zZ19idWZmZXIpOworKwlzeXNsb2coTE9HX0VSUiwgIiVzIiwgZGlwLT5kaV9tc2dfYnVmZmVyKTsKKyAgICAgfQorICNlbmRpZiAvKiBkZWZpbmVkKFNZU0xPRykgKi8KKyAKK2RpZmYgLXJ1cE4gZHQudjE4LjMyLm9sZC9kdHV0aWwuYyBkdC52MTguMzIvZHR1dGlsLmMKKy0tLSBkdC52MTguMzIub2xkL2R0dXRpbC5jCTIwMTQtMDgtMTggMTQ6NDU6NTMuMzU0MzUwNzc5ICswMjAwCisrKysgZHQudjE4LjMyL2R0dXRpbC5jCTIwMTQtMDgtMTggMTU6MTM6NTMuODM1MzA3MzExICswMjAwCitAQCAtNTE4MCw3ICs1MTgwLDcgQEAgUmVwb3J0RGV2aWNlSW5mbyAoCisgCSAgICBicCArPSBTcHJpbnRmKGJwLAorIAkJCSAgIiglZCkgRGV2aWNlIG5hbWU6ICVzXG4iLAorIAkJCSAgIGRpcC0+ZGlfcHJvY2Vzc19pZCwgZGlwLT5kaV9kbmFtZSk7CistCSAgICBzeXNsb2coTE9HX0VSUiwgZGlwLT5kaV9tc2dfYnVmZmVyKTsKKysJICAgIHN5c2xvZyhMT0dfRVJSLCAiJXMiLCBkaXAtPmRpX21zZ19idWZmZXIpOworIAkgICAgYnAgPSBkaXAtPmRpX21zZ19idWZmZXI7CisgIyBpZiBkZWZpbmVkKFNDU0kpCisgCSAgICBpZiAoZGlwLT5kaV9zZXJpYWxfbnVtYmVyKSB7CitAQCAtNTE5Myw3ICs1MTkzLDcgQEAgUmVwb3J0RGV2aWNlSW5mbyAoCisgCQkJICAgICAgZGlwLT5kaV9wcm9jZXNzX2lkLCBkaXAtPmRpX2RldmljZV9pZCk7CisgCSAgICB9CisgIyBlbmRpZiAvKiBkZWZpbmVkKFNDU0kpICovCistCSAgICBzeXNsb2coTE9HX0VSUiwgZGlwLT5kaV9tc2dfYnVmZmVyKTsKKysJICAgIHN5c2xvZyhMT0dfRVJSLCAiJXMiLCBkaXAtPmRpX21zZ19idWZmZXIpOworIAkgICAgYnAgPSBkaXAtPmRpX21zZ19idWZmZXI7CisgCSAgICBicCArPSBTcHJpbnRmKGJwLAorIAkJICAiKCVkKSBSZWxhdGl2ZSBibG9jayBudW1iZXIgd2hlcmUgdGhlIGVycm9yIG9jY3VycmVkIGlzICIgTFVGICIsIgorQEAgLTUyMDMsNyArNTIwMyw3IEBAIFJlcG9ydERldmljZUluZm8gKAorICAgCSAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICBicCArPSBTcHJpbnRmKGJwLCAiXG4iKTsKKyAgICAgICAgICAgICB9CistCSAgICBzeXNsb2coTE9HX0VSUiwgZGlwLT5kaV9tc2dfYnVmZmVyKTsKKysJICAgIHN5c2xvZyhMT0dfRVJSLCAiJXMiLCBkaXAtPmRpX21zZ19idWZmZXIpOworIAl9CisgI2VuZGlmIC8qIGRlZmluZWQoU1lTTE9HKSAqLworIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZHQvZHRfMTguMzIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9kdC9kdF8xOC4zMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Njg4ZDAyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZHQvZHRfMTguMzIuYmIKQEAgLTAsMCArMSw0NyBAQAorU1VNTUFSWSA9ICJHZW5lcmljIGRhdGEgdGVzdCBwcm9ncmFtIgorREVTQ1JJUFRJT04gPSAiVGhlIERhdGEgVGVzdCBQcm9ncmFtIChkdCkgaXMgYSBnZW5lcmljIGRhdGEgdGVzdCBwcm9ncmFtIHVzZWQgdG8gdmVyaWZ5IHByb3BlciBcCitvcGVyYXRpb24gb2YgcGVyaXBoZXJhbHMsIGZpbGUgc3lzdGVtcywgZGV2aWNlIGRyaXZlcnMsIG9yIGFueSBkYXRhIHN0cmVhbSBzdXBwb3J0ZWQgYnkgdGhlIFwKK29wZXJhdGluZyBzeXN0ZW0uIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5zY3NpZmFxLm9yZy9STWlsbGVyX1Rvb2xzL2R0Lmh0bWwiCisKK1NFQ1RJT04gPSAiY29uc29sZS90ZXN0cyIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1iZThiYjI1YmJjZmFhMDcyNTcxMGQxODhlNTE1MjY2OCIKKworIyBTb3VyY2UgVVJJIHRha2VuIGZyb20gRmVkb3JhIFJQTSBzcGVjIGZpbGUgYXQ6CisjICBodHRwOi8vcGtncy5mZWRvcmFwcm9qZWN0Lm9yZy9naXQvcnBtcy9kdC5naXQKK1NSQ19VUkkgPSAiaHR0cDovL2RsLmRyb3Bib3h1c2VyY29udGVudC5jb20vdS8zMjM2MzYyOS9EYXRhdGVzdC9kdC1zb3VyY2UtdiR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9kdC1kZWZhdWx0LXNvdXJjZS1kZWZpbmUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZHQtd2Zvcm1hdC1zZWN1cml0eS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9TdG9wLXVzaW5nLXJlbGF0aXZlLXBhdGgtZm9yLXNjc2lsaWIuYy1saW5rLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL1VzZS10Y3NoLXNoZWxsLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjMwNTRhZWFhYmEwNDdhMWRiZTkwYzIxMzJhMzgyZWUyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjEwZDE2NDY3NmU5MThhNGQwN2YyMzNiY2QxMWU0Y2I2YmZkMTA1MmM5OTYxODJjZDE4MjdjY2QwYzA2M2ZjYzYiCisKK1MgPSAiJHtXT1JLRElSfS9kdC52JHtQVn0iCisKK1RBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgorCitFWFRSQV9PRU1BS0UgKz0gIi1mIE1ha2VmaWxlLmxpbnV4IFwKKyAgICAgICAgICAgICAgICAgT1M9bGludXggXAorICAgICAgICAgICAgICAgICBDRkxBR1M9Ii1JLi4gLURBSU8gLURGSUZPIC1ETU1BUCAtRF9fbGludXhfXyAtRF9HTlVfU09VUkNFIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURUSFJFQURTIC1EU0NTSSIiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZQorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLURtNzU1IGR0ICR7RH0ke3NiaW5kaXJ9L2R0CisgICAgaW5zdGFsbCAtRG02NDQgRG9jdW1lbnRhdGlvbi9kdC5tYW4gJHtEfSR7bWFuZGlyfS9tYW44L2R0LjgKKworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vZHQvCisgICAgaW5zdGFsbCAtZCAke0R9JHtkb2NkaXJ9L2R0L2h0bWwvCisgICAgaW5zdGFsbCAtbTc1NSBTY3JpcHRzL2R0PyAke0R9JHtkYXRhZGlyfS9kdC8KKyAgICBpbnN0YWxsIC1tNjQ0IGRhdGEvcGF0dGVybl8qICR7RH0ke2RhdGFkaXJ9L2R0LworICAgIGluc3RhbGwgLW02NDQgaHRtbC8qICR7RH0ke2RvY2Rpcn0vZHQvaHRtbC8KK30KKworUkRFUEVORFNfJHtQTn0gKz0gInRjc2giCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nZWFueS9nZWFueS8wMDAxLWNvbmZpZ3VyZS5hYy1yZW1vdmUtYWRkaXRpb25hbC1jLXRlc3QucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nZWFueS9nZWFueS8wMDAxLWNvbmZpZ3VyZS5hYy1yZW1vdmUtYWRkaXRpb25hbC1jLXRlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTE2NmZlYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2dlYW55L2dlYW55LzAwMDEtY29uZmlndXJlLmFjLXJlbW92ZS1hZGRpdGlvbmFsLWMtdGVzdC5wYXRjaApAQCAtMCwwICsxLDQ3IEBACitGcm9tIGU2MmQ1YjU5MjYyZWM3ZmZlMDc5MzE3OTA3MTJjN2UyNDczNzc3OTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBUaHUsIDIxIEZlYiAyMDEzIDA5OjMxOjMxICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZS5hYyByZW1vdmUgYWRkaXRpb25hbCBjKysgdGVzdAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitGb3Igb3BlbmVtYmVkZGVkIGNyb3NzLWJ1aWxkcyBDWFggY2FuIGNvbnRhaW4gc29tZXRoaW5nIGxpa2U6CisKK2FybS1vZS1saW51eC1nbnVlYWJpLWcrKyAgLW1hcmNoPWFybXY1dGUgIC1tYXJtIC1tdGh1bWItaW50ZXJ3b3JrIC0tc3lzcm9vdD0vaG9tZS9qZW5raW5zL29lL3Noci1jb3JlLWJyYW5jaGVzL3Noci1jb3JlL3RtcC1lZ2xpYmMvc3lzcm9vdHMvcWVtdWFybQorCitUaGlzIGVuZHMgdXAgaW4KKworY29uZmlndXJlOjU1ODI6IGVycm9yOiBObyBDKysgY29tcGlsZXIgZm91bmQuIFBsZWFzZSBpbnN0YWxsIGEgQysrIGNvbXBpbGVyLgorCitBbnl3YXkgaWYgWzFdIGlzIHN0aWxsIHZhbGlkLCB0aGUgY29tYmluYXRpb24gb2YgQUNfUFJPR19DQyBhbmQgQUNfUFJPR19DWFgKK3Nob3VsZCB0aG93IGFuIGVycm9yIG1lc3NhZ2UuCisKK1sxXSBodHRwOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvYnVnLWF1dG9jb25mLzIwMTAtMDUvbXNnMDAwMDEuaHRtbAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8ICAgIDUgLS0tLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDAgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggYzM3MzEyYS4uNzQyYmYzNSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMjYsMTEgKzI2LDYgQEAgQUNfVVNFX1NZU1RFTV9FWFRFTlNJT05TCisgQUNfUFJPR19DQworIAorIEFDX1BST0dfQ1hYCistIyBjaGVjayBmb3IgQysrIGNvbXBpbGVyIGV4cGxpY2l0bHkgYW5kIGZhaWwgaWYgbm9uZSBpcyBmb3VuZCwgZG8gdGhpcyBjaGVjaworLSMgYWZ0ZXIgQUNfUFJPR19DWFggaGFzIHNldCB0aGUgQ1hYIGVudmlyb25tZW50IHZhcmlhYmxlCistaWYgISB3aGljaCAkQ1hYID4vZGV2L251bGwgMj4mMTsgdGhlbgorLQlBQ19NU0dfRVJST1IoW05vIEMrKyBjb21waWxlciBmb3VuZC4gUGxlYXNlIGluc3RhbGwgYSBDKysgY29tcGlsZXIuXSkKKy1maQorIAorIEFDX1BST0dfSU5TVEFMTAorIEFDX1BST0dfTE5fUworLS0gCisxLjcuNi41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2dlYW55L2dlYW55XzEuMjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nZWFueS9nZWFueV8xLjI2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhNGY2YjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nZWFueS9nZWFueV8xLjI2LmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiQSBmYXN0IGFuZCBsaWdodHdlaWdodCBJREUiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmdlYW55Lm9yZy8iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YmQ3YjJjOTk0YWYyMWQzMThiZDJjZDNiM2Y4MGMyZDUiCitERVBFTkRTID0gImd0aysgcHl0aG9uLWRvY3V0aWxzLW5hdGl2ZSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHBlcmxuYXRpdmUgcHl0aG9ubmF0aXZlCisKK1NSQ19VUkkgPSAiIFwKKyAgICBodHRwOi8vZG93bmxvYWQuZ2Vhbnkub3JnLyR7QlB9LnRhci5iejIgXAorICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS5hYy1yZW1vdmUtYWRkaXRpb25hbC1jLXRlc3QucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImJkNDU3Y2FiYTU3MDk5Y2ZhMjNiMDYzZTc4YjZmODE5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImUzODUzMGU4N2M1NzdlMWU5ODA2YmUzYjQwZTA4ZmI5ZWUzMjFlYjFhYmM2MzYxZGRhY2RhZDg5YzgyNWY5MGQiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2ljb25zIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZ2lmbGliL2dpZmxpYl80LjEuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2dpZmxpYi9naWZsaWJfNC4xLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTU5ZDBlNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2dpZmxpYi9naWZsaWJfNC4xLjYuYmIKQEAgLTAsMCArMSwyMiBAQAorU1VNTUFSWSA9ICJzaGFyZWQgbGlicmFyeSBmb3IgR0lGIGltYWdlcyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YWUxMWM2MWIwNGIyOTE3YmUzOWIxMWY3OGQ3MTUxOWEiCitQUiA9ICJyMyIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vZ2lmbGliLyR7QlB9LnRhci5iejIiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUteDExIgorCitQQUNLQUdFUyArPSAiJHtQTn0tdXRpbHMiCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vbGliZ2lmLnNvLioiCitGSUxFU18ke1BOfS11dGlscyA9ICIke2JpbmRpcn0iCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitSREVQRU5EU18ke1BOfS11dGlscyA9ICJwZXJsIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzEyNTY0NDE1NWFlNmFkMzNkYmM5ZmMxNWExNDczNWYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTFjMWNlZDljNWJjOGY5M2VmMGZhZjBhOGM3NzE3YWJmNzg0ZDEwYTdiMjcwZDIyODVlOGUxZjNiOTNmMmJlZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2dsYWRlL2ZpbGVzLzAwMDEtZ25vbWUtZG9jLXV0aWxzLm1ha2Utc3lzcm9vdGVkLXBrZy1jb25maWcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nbGFkZS9maWxlcy8wMDAxLWdub21lLWRvYy11dGlscy5tYWtlLXN5c3Jvb3RlZC1wa2ctY29uZmlnLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiMjRjMzkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nbGFkZS9maWxlcy8wMDAxLWdub21lLWRvYy11dGlscy5tYWtlLXN5c3Jvb3RlZC1wa2ctY29uZmlnLnBhdGNoCkBAIC0wLDAgKzEsNTEgQEAKK0Zyb20gYWVkMDAyY2Q5ZmY5ZThmOTcyMTIwZmJhYzMzYjRhNjVhYmE5NTJlMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMjUgU2VwIDIwMTIgMTA6Mjg6MzMgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gZ25vbWUtZG9jLXV0aWxzLm1ha2U6IHN5c3Jvb3RlZCBwa2ctY29uZmlnCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK3NhbWUgYXBwcm9hY2ggYXMgdXNlZCB1c2VkIGluIGdub21lLWRpc2stdXRpbGl0eToKKworSW4gY3Jvc3MgZW52aXJvbm1lbnQgd2UgaGF2ZSB0byBwcmVwZW5kIHRoZSBzeXNyb290IHRvIHRoZSBwYXRoIGZvdW5kIGJ5Citwa2djb25maWcgc2luY2UgdGhlIHBhdGggcmV0dXJuZWQgZnJvbSBwa2djb25maWcgZG9lcyBub3QgaGF2ZSBzeXNyb290IHByZWZpeGVkCitpdCBlbmRzIHVwIHVzaW5nIHRoZSBmaWxlcyBmcm9tIGhvc3Qgc3lzdGVtLiBOb3cgdXN1YWxseSBwZW9wbGUgaGF2ZSBnbm9tZSBpbnN0YWxsZWQKK3NvIHRoZSBidWlsZCBzdWNjZWVkcyBidXQgaWYgeW91IGRvbnQgaGF2ZSBnbm9tZSBpbnN0YWxsZWQgb24gYnVpbGQgaG9zdCB0aGVuCitpdCB3b250IGZpbmQgdGhlIGZpbGVzIG9uIGhvc3Qgc3lzdGVtIGFuZCBwYWNrYWdlcyB1c2luZyBnbm9tZS1kb2MtdXRpbHMgd29udAorY29tcGlsZS4KKworVGhpcyBzaG91bGQgd29yayBvayB3aXRoIG5vbiBzeXNyb290ZWQgYnVpbGRzIHRvbyBzaW5jZSBpbiB0aG9zZSBjYXNlcyBQS0dfQ09ORklHX1NZU1JPT1RfRElSCit3aWxsIGJlIGVtcHR5CisKK1Vwc3RyZWFtLVN0YXR1czogcGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBnbm9tZS1kb2MtdXRpbHMubWFrZSB8ICAgMTAgKysrKystLS0tLQorIDEgZmlsZXMgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZ25vbWUtZG9jLXV0aWxzLm1ha2UgYi9nbm9tZS1kb2MtdXRpbHMubWFrZQoraW5kZXggNDJkOWRmMy4uZjcxYmJmYSAxMDA2NDQKKy0tLSBhL2dub21lLWRvYy11dGlscy5tYWtlCisrKysgYi9nbm9tZS1kb2MtdXRpbHMubWFrZQorQEAgLTEzMywxMSArMTMzLDExIEBAIF9ET0NfQUJTX1NSQ0RJUiA9IEBhYnNfc3JjZGlyQAorIF94bWwycG8gPz0gYHdoaWNoIHhtbDJwb2AKKyBfeG1sMnBvX21vZGUgPSAkKGlmICQoRE9DX0lEKSxtYWxsYXJkLGRvY2Jvb2spCisgCistX2RiMmh0bWwgPz0gYCQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSBkYjJodG1sIGdub21lLWRvYy11dGlsc2AKKy1fZGIyb21mICA/PSBgJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIGRiMm9tZiBnbm9tZS1kb2MtdXRpbHNgCistX2NodW5rcyAgPz0gYCQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSB4bWxkaXIgZ25vbWUtZG9jLXV0aWxzYC9nbm9tZS94c2x0L2RvY2Jvb2svdXRpbHMvY2h1bmtzLnhzbAorLV9jcmVkaXRzID89IGAkKFBLR19DT05GSUcpIC0tdmFyaWFibGUgeG1sZGlyIGdub21lLWRvYy11dGlsc2AvZ25vbWUveHNsdC9kb2Nib29rL3V0aWxzL2NyZWRpdHMueHNsCistX2lkcyA/PSAkKHNoZWxsICQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSB4bWxkaXIgZ25vbWUtZG9jLXV0aWxzKS9nbm9tZS94c2x0L2RvY2Jvb2svdXRpbHMvaWRzLnhzbAorK19kYjJodG1sID89ICR7UEtHX0NPTkZJR19TWVNST09UX0RJUn1gJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIGRiMmh0bWwgZ25vbWUtZG9jLXV0aWxzYAorK19kYjJvbWYgID89ICR7UEtHX0NPTkZJR19TWVNST09UX0RJUn1gJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIGRiMm9tZiBnbm9tZS1kb2MtdXRpbHNgCisrX2NodW5rcyAgPz0gJHtQS0dfQ09ORklHX1NZU1JPT1RfRElSfWAkKFBLR19DT05GSUcpIC0tdmFyaWFibGUgeG1sZGlyIGdub21lLWRvYy11dGlsc2AvZ25vbWUveHNsdC9kb2Nib29rL3V0aWxzL2NodW5rcy54c2wKKytfY3JlZGl0cyA/PSAke1BLR19DT05GSUdfU1lTUk9PVF9ESVJ9YCQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSB4bWxkaXIgZ25vbWUtZG9jLXV0aWxzYC9nbm9tZS94c2x0L2RvY2Jvb2svdXRpbHMvY3JlZGl0cy54c2wKKytfaWRzID89ICR7UEtHX0NPTkZJR19TWVNST09UX0RJUn1gJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIHhtbGRpciBnbm9tZS1kb2MtdXRpbHNgL2dub21lL3hzbHQvZG9jYm9vay91dGlscy9pZHMueHNsCisgCisgaWYgRU5BQkxFX1NLCisgX0VOQUJMRV9TSyA9IHRydWUKKy0tIAorMS43LjYuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nbGFkZS9nbGFkZTNfMy44LjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nbGFkZS9nbGFkZTNfMy44LjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGU3ZWY5YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2dsYWRlL2dsYWRlM18zLjguNS5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIkdsYWRlIC0gQSBVc2VyIEludGVyZmFjZSBEZXNpZ25lciIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9nbmFzaCIKK0xJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hYWJlODc1OTFjYjhhZTBmM2M2OGJlNjk3N2JiNTUyMiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkdQTDttZDU9OWFjMmU3Y2ZmMWRkYWY0OGI2ZWFiNjAyOGYyM2VmODggXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MR1BMO21kNT0yNTI4OTBkOWVlZTI2YWFiN2I0MzJlOGI4YTYxNjQ3NSIKK0RFUEVORFMgPSAiZ3RrKyBnbm9tZS1kb2MtdXRpbHMtbmF0aXZlIGdub21lLWNvbW1vbiBsaWJ4bWwyIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgcHl0aG9ubmF0aXZlCisKK1NSQ19VUkkgPSAiaHR0cDovL2Z0cC5nbm9tZS5vcmcvcHViL0dOT01FL3NvdXJjZXMvZ2xhZGUzLzMuOC9nbGFkZTMtJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZ25vbWUtZG9jLXV0aWxzLm1ha2Utc3lzcm9vdGVkLXBrZy1jb25maWcucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiNGU0YjRmNWVlMzRhMDNlMDE3ZTRjZWY5N2Q3OTZjMWYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNThhNWY2ZTRkZjQwMjgyMzBkZGVjYzc0YzU2NDgwOGI3ZWM0NDcxYjE5MjUwNThlMjkzMDRmNzc4YjZiMjczNSIKKworRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtc2Nyb2xsa2VlcGVyIgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tnbm9tZV0gPSAiLS1lbmFibGUtZ25vbWUsLS1kaXNhYmxlLWdub21lLGxpYmJvbm9ib3VpIGxpYmdub21ldWkiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAnL15pZiBIQVZFX0dOT01FX0RPQ19VVElMUy8sL15lbmRpZi9kJyAke1N9L01ha2VmaWxlLmFtCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2ljb25zIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZ2xhZGUzL21vZHVsZXMvLmRlYnVnIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vZ2xhZGUzL21vZHVsZXMvKi5sYSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2ljb24tc2xpY2VyL2ZpbGVzLzAwMDEtTWFrZWZpbGUuYW0tbm8tZXhhbXBsZXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9pY29uLXNsaWNlci9maWxlcy8wMDAxLU1ha2VmaWxlLmFtLW5vLWV4YW1wbGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkODM4MTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9pY29uLXNsaWNlci9maWxlcy8wMDAxLU1ha2VmaWxlLmFtLW5vLWV4YW1wbGVzLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK0Zyb20gZTZkNTMwODY1MjRhOTRkMjc5MjA2MTRlMzg5NjYwMjBlMGIyYjNlZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IE1vbiwgNSBOb3YgMjAxMiAxMToyNTowMiArMDEwMAorU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZS5hbTogbm8gZXhhbXBsZXMKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CisKKy0tLQorIE1ha2VmaWxlLmFtIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQoraW5kZXggMjhlZTdlYi4uYWY0MzdhNiAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmFtCisrKysgYi9NYWtlZmlsZS5hbQorQEAgLTEgKzEgQEAKKy1TVUJESVJTID0gc3JjIGV4YW1wbGVzCitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKytTVUJESVJTID0gc3JjCistLSAKKzEuNy42LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvaWNvbi1zbGljZXIvaWNvbi1zbGljZXJfMC4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvaWNvbi1zbGljZXIvaWNvbi1zbGljZXJfMC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3NjhhNmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9pY29uLXNsaWNlci9pY29uLXNsaWNlcl8wLjMuYmIKQEAgLTAsMCArMSwxMyBAQAorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitERVBFTkRTID0gImdkay1waXhidWYgcG9wdCIKKworU1JDX1VSSSA9ICJodHRwOi8vZnJlZWRlc2t0b3Aub3JnL3NvZnR3YXJlLyR7QlBOfS9yZWxlYXNlcy8ke0JQTn0tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtTWFrZWZpbGUuYW0tbm8tZXhhbXBsZXMucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiNWM1Mzc0ZDRmMjY1YjBhYmU0ZGFlZjFkMDNmODcxMDQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDVmMDIxNmRkMGMyNWExNzg1OWRlNjYzNTdmNjRkYTUwMzMzNzViNmZiZjVmMzFjYTU0ODY3MzExMTYwYjY0ZCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvaXB0cmFmL2lwdHJhZi8wMDAxLXNyYy1GaXgtZXJyb3ItaW4tY3Jvc3MtY29tcGlsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2lwdHJhZi9pcHRyYWYvMDAwMS1zcmMtRml4LWVycm9yLWluLWNyb3NzLWNvbXBpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjkxZWQzMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2lwdHJhZi9pcHRyYWYvMDAwMS1zcmMtRml4LWVycm9yLWluLWNyb3NzLWNvbXBpbGUucGF0Y2gKQEAgLTAsMCArMSwxMzggQEAKK0Zyb20gMjc5MTBlYTE5MjYwYjdmN2EzZjljMDQ2NWFkZGQxZGVhODBjZjNiZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExpIFhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IFRodSwgOCBPY3QgMjAxNSAxNToxMToxNyArMDkwMAorU3ViamVjdDogW1BBVENIXSBzcmM6IEZpeCBlcnJvciBpbiBjcm9zcy1jb21waWxlCisKK1RoZSBlcnJvcnMgYXJlIGxpa2UgdGhpczoKK3RjcHRhYmxlLmg6MjY6MjU6IGZhdGFsIGVycm9yOiBsaW51eC9pZl90ci5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CitsZDogY2Fubm90IGZpbmQgLWx0ZXh0Ym94CisKK1Vwc3RyZWFtLVN0YXR1czogcGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBMaSBYaW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CistLS0KKyBzcmMvTWFrZWZpbGUgICAgIHwgMiArLQorIHNyYy9ob3N0bW9uLmMgICAgfCAyICstCisgc3JjL2luc3RhbGwuc2ggICB8IDQgKystLQorIHNyYy9vdGhwdGFiLmMgICAgfCAyICstCisgc3JjL3BhY2tldC5jICAgICB8IDIgKy0KKyBzcmMvdGNwdGFibGUuaCAgIHwgMiArLQorIHNyYy90ci5jICAgICAgICAgfCAyICstCisgc3VwcG9ydC9NYWtlZmlsZSB8IDMgKy0tCisgOCBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL01ha2VmaWxlIGIvc3JjL01ha2VmaWxlCitpbmRleCAyMDQzYzJkLi4wZjc3YmVhIDEwMDY0NAorLS0tIGEvc3JjL01ha2VmaWxlCisrKysgYi9zcmMvTWFrZWZpbGUKK0BAIC0zOSw3ICszOSw3IEBAIExET1BUUwkJPSAjLXN0YXRpYworICMgeW91IG1heSB3YW50IHRvIGNoYW5nZSB0aGlzIHRvIHBvaW50IHRvIHlvdXIgbmN1cnNlcyBpbmNsdWRlIGRpcmVjdG9yeQorICMgaWYgdGhlIG5jdXJzZXMgaW5jbHVkZSBmaWxlcyBhcmUgbm90IGluIHRoZSBkZWZhdWx0IGxvY2F0aW9uLgorIAorLUlOQ0xVREVESVIJPSAtSS91c3IvaW5jbHVkZS9uY3Vyc2VzIC1JLi4vc3VwcG9ydAorK0lOQ0xVREVESVIJPSAgLUkuLi9zdXBwb3J0CisgCisgIyBZb3UgY2FuIHVuY29tbWVudCB0aGlzIG9uZSB0byBkaXNhYmxlIHRoZSBiYWNrc3BhY2Uga2V5IGluIGlucHV0IGZpZWxkcy4KKyAjIFRoaXMgbWVhbnMgeW91IG11c3QgdXNlIHRoZSBEZWwga2V5IG9yIEN0cmwrSCBjb21iaW5hdGlvbiB0byBlcmFzZSB0aGUKK2RpZmYgLS1naXQgYS9zcmMvaG9zdG1vbi5jIGIvc3JjL2hvc3Rtb24uYworaW5kZXggMTRkZjJjOC4uNjU3MTU2MiAxMDA2NDQKKy0tLSBhL3NyYy9ob3N0bW9uLmMKKysrKyBiL3NyYy9ob3N0bW9uLmMKK0BAIC0zMSw3ICszMSw3IEBAIGRldGFpbHMuCisgI2luY2x1ZGUgPGxpbnV4L2lmX3BhY2tldC5oPgorICNpbmNsdWRlIDxsaW51eC9pZl9ldGhlci5oPgorICNpbmNsdWRlIDxsaW51eC9pZl9mZGRpLmg+CistI2luY2x1ZGUgPGxpbnV4L2lmX3RyLmg+CisrI2luY2x1ZGUgPG5ldGluZXQvaWZfdHIuaD4KKyAjaW5jbHVkZSA8bmV0L2lmX2FycC5oPgorICNpbmNsdWRlIDxzdGRsaWIuaD4KKyAjaW5jbHVkZSA8dGltZS5oPgorZGlmZiAtLWdpdCBhL3NyYy9pbnN0YWxsLnNoIGIvc3JjL2luc3RhbGwuc2gKK2luZGV4IGQyZmQzNjAuLjM2ZDM1MTYgMTAwNzU1CistLS0gYS9zcmMvaW5zdGFsbC5zaAorKysrIGIvc3JjL2luc3RhbGwuc2gKK0BAIC0yMyw5ICsyMyw5IEBAIGVjaG8KKyBlY2hvICIqKiogSW5zdGFsbGluZyBleGVjdXRhYmxlIHByb2dyYW1zIGFuZCBwcmVwYXJpbmcgd29yayBkaXJlY3RvcmllcyIKKyBlY2hvCisgZWNobyAiPj4+IEluc3RhbGxpbmcgaXB0cmFmIGluICRUQVJHRVQiCistJElOU1RBTEwgLW0gMDcwMCAtbyByb290IC1nIHJvb3QgLXMgaXB0cmFmICRUQVJHRVQKKyskSU5TVEFMTCAtbSAwNzAwIC1vIHJvb3QgLWcgcm9vdCAgaXB0cmFmICRUQVJHRVQKKyBlY2hvICI+Pj4gSW5zdGFsbGluZyBydm5hbWVkIGluICRUQVJHRVQiCistJElOU1RBTEwgLW0gMDcwMCAtbyByb290IC1nIHJvb3QgLXMgcnZuYW1lZCAkVEFSR0VUCisrJElOU1RBTEwgLW0gMDcwMCAtbyByb290IC1nIHJvb3QgIHJ2bmFtZWQgJFRBUkdFVAorIAorIGlmIFsgISAtZCAkV09SS0RJUiBdOyB0aGVuCisgICAgIGVjaG8gIj4+PiBDcmVhdGluZyBJUFRyYWYgd29yayBkaXJlY3RvcnkgJFdPUktESVIiCitkaWZmIC0tZ2l0IGEvc3JjL290aHB0YWIuYyBiL3NyYy9vdGhwdGFiLmMKK2luZGV4IDk3NzcxZDEuLmE4YmI1MzYgMTAwNjQ0CistLS0gYS9zcmMvb3RocHRhYi5jCisrKysgYi9zcmMvb3RocHRhYi5jCitAQCAtMTgsNyArMTgsNyBAQCBkZXRhaWxzLgorIAorICNpbmNsdWRlIDxhc20vdHlwZXMuaD4KKyAjaW5jbHVkZSA8bGludXgvaWZfZXRoZXIuaD4KKy0jaW5jbHVkZSA8bGludXgvaWZfdHIuaD4KKysjaW5jbHVkZSA8bmV0aW5ldC9pZl90ci5oPgorICNpbmNsdWRlIDxsaW51eC9pZl9mZGRpLmg+CisgI2luY2x1ZGUgPHdpbm9wcy5oPgorICNpbmNsdWRlICJhcnBoZHIuaCIKK2RpZmYgLS1naXQgYS9zcmMvcGFja2V0LmMgYi9zcmMvcGFja2V0LmMKK2luZGV4IDMzZmRmMmEuLjFlMmI4MWIgMTAwNjQ0CistLS0gYS9zcmMvcGFja2V0LmMKKysrKyBiL3NyYy9wYWNrZXQuYworQEAgLTM2LDcgKzM2LDcgQEAgZGV0YWlscy4KKyAjaW5jbHVkZSA8bGludXgvaWZfcGFja2V0Lmg+CisgI2luY2x1ZGUgPGxpbnV4L2lmX2V0aGVyLmg+CisgI2luY2x1ZGUgPGxpbnV4L2lmX2ZkZGkuaD4KKy0jaW5jbHVkZSA8bGludXgvaWZfdHIuaD4KKysjaW5jbHVkZSA8bmV0aW5ldC9pZl90ci5oPgorICNpbmNsdWRlIDxsaW51eC9pc2RuLmg+CisgI2luY2x1ZGUgPGxpbnV4L3NvY2tpb3MuaD4KKyAjaW5jbHVkZSA8bXNnYm94ZXMuaD4KK2RpZmYgLS1naXQgYS9zcmMvdGNwdGFibGUuaCBiL3NyYy90Y3B0YWJsZS5oCitpbmRleCAzZTE3NzkzLi5kMTM4MGI1IDEwMDY0NAorLS0tIGEvc3JjL3RjcHRhYmxlLmgKKysrKyBiL3NyYy90Y3B0YWJsZS5oCitAQCAtMjMsNyArMjMsNyBAQAorICNpbmNsdWRlIDxsaW51eC9pZl9wYWNrZXQuaD4KKyAjaW5jbHVkZSA8bGludXgvaWZfZXRoZXIuaD4KKyAjaW5jbHVkZSA8bGludXgvaWZfZmRkaS5oPgorLSNpbmNsdWRlIDxsaW51eC9pZl90ci5oPgorKyNpbmNsdWRlIDxuZXRpbmV0L2lmX3RyLmg+CisgI2luY2x1ZGUgPG5ldC9pZi5oPgorICNpbmNsdWRlIDxuZXRpbmV0L2lwLmg+CisgI2luY2x1ZGUgPG5ldGluZXQvdWRwLmg+CitkaWZmIC0tZ2l0IGEvc3JjL3RyLmMgYi9zcmMvdHIuYworaW5kZXggNDBjOWU2My4uMTFmODA0NSAxMDA2NDQKKy0tLSBhL3NyYy90ci5jCisrKysgYi9zcmMvdHIuYworQEAgLTcsNyArNyw3IEBACisgICovCisgCisgI2luY2x1ZGUgPGFzbS90eXBlcy5oPgorLSNpbmNsdWRlIDxsaW51eC9pZl90ci5oPgorKyNpbmNsdWRlIDxuZXRpbmV0L2lmX3RyLmg+CisgI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KKyAKKyB1bnNpZ25lZCBpbnQgZ2V0X3RyX2lwX29mZnNldCh1bnNpZ25lZCBjaGFyICpwa3QpCitkaWZmIC0tZ2l0IGEvc3VwcG9ydC9NYWtlZmlsZSBiL3N1cHBvcnQvTWFrZWZpbGUKK2luZGV4IDExNGJmYzMuLmM5NjJjMDkgMTAwNjQ0CistLS0gYS9zdXBwb3J0L01ha2VmaWxlCisrKysgYi9zdXBwb3J0L01ha2VmaWxlCitAQCAtMSw0ICsxLDMgQEAKKy1JTkNMVURFRElSCQk9IC1JL3Vzci9pbmNsdWRlL25jdXJzZXMKKyAKKyBPQkpTCQkJPSBpbnB1dC5vIG1lbnVydC5vIGxpc3Rib3gubyB3aW5vcHMubyBsYWJlbHMubyBcCisgCQkJCW1zZ2JveGVzLm8gdHhib3gubworQEAgLTEyLDcgKzExLDcgQEAgbGlidGV4dGJveC5hOiAkKE9CSlMpCisgIwlnY2MgLXNoYXJlZCAtbyBsaWJ0ZXh0Ym94LnNvICQoT0JKUykKKyAKKyAlLm86ICUuYyAqLmgKKy0JZ2NjIC1PMiAtZyAtV2FsbCAtZlBJQyAkKElOQ0xVREVESVIpIC1jIC1vICQqLm8gJDwKKysJJHtDQ30gLU8yIC1nIC1XYWxsIC1mUElDICAtYyAtbyAkKi5vICQ8CisgCisgY2xlYW46CisgCXJtIC1yZiAqLm8gKn4gbGlidGV4dGJveC5hIGxpYnRleHRib3guc28KKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9pcHRyYWYvaXB0cmFmXzMuMC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvaXB0cmFmL2lwdHJhZl8zLjAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNWU2MDAxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvaXB0cmFmL2lwdHJhZl8zLjAuMC5iYgpAQCAtMCwwICsxLDM1IEBACitERVNDUklQVElPTiA9ICJJUFRyYWYgaXMgYSBjb25zb2xlLWJhc2VkIG5ldHdvcmsgc3RhdGlzdGljcyB1dGlsaXR5IGZvciBMaW51eC4gXAorSXQgZ2F0aGVycyBhIHZhcmlldHkgb2YgZmlndXJlcyBzdWNoIGFzIFRDUCBjb25uZWN0aW9uIHBhY2tldCBhbmQgYnl0ZSBjb3VudHMsIFwKK2ludGVyZmFjZSBzdGF0aXN0aWNzIGFuZCBhY3Rpdml0eSBpbmRpY2F0b3JzLCBUQ1AvVURQIHRyYWZmaWMgYnJlYWtkb3ducywgXAorYW5kIExBTiBzdGF0aW9uIHBhY2tldCBhbmQgYnl0ZSBjb3VudHMuIgorCitIT01FUEFHRSA9ICJodHRwOi8vaXB0cmFmLnNldWwub3JnIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZGMwYmRjMjlkZjczOGJhZjMyNzM2OGIxYmJiMTVhNDUiCisKK0RFUEVORFMgPSAibmN1cnNlcyIKKworU1JDX1VSSSA9ICIgXAorICAgIGZ0cDovL2lwdHJhZi5zZXVsLm9yZy9wdWIvaXB0cmFmL2lwdHJhZi0zLjAuMC50YXIuZ3ogXAorICAgIGZpbGU6Ly8wMDAxLXNyYy1GaXgtZXJyb3ItaW4tY3Jvc3MtY29tcGlsZS5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICIzNzczNzFjMjhlZTNjMjFhNzZmNzAyNDkyMDY0OWVhOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5ZWU0MzNkOTU1NzNkNjEyNTM5ZGE0YjQ1MmU2Y2RjYmNhNmFiNjY3NGE4OGJmYmY2ZWFmMTJkNDkwMmI1MTYzIgorUkRFUEVORFNfJHtQTn0gPSAibmN1cnNlcyIKKworRVhUUkFfT0VNQUtFID0gIi1lIE1BS0VGTEFHUz0iCisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSAtQyBzcmMgYWxsICAKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBvZV9ydW5tYWtlIC1DIHNyYyBpbnN0YWxsIFwKKyAgICAgICAgVEFSR0VUPSR7RH0ke2JpbmRpcn0gXAorICAgICAgICBXT1JLRElSPSR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xvY2FsL2lwdHJhZiBcCisgICAgICAgIExPR0RJUj0ke0R9JHtsb2NhbHN0YXRlZGlyfS9sb2cvaXB0cmFmIFwKKyAgICAgICAgTE9DS0RJUj0ke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4vaXB0cmFmIAorfQorCitGSUxFU18ke1BOfSArPSAiJHtiaW5kaXJ9ICR7bG9jYWxzdGF0ZWRpcn0gL3J1biIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2pxL2pxXzEuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2pxL2pxXzEuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTJlYWYzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanEvanFfMS41LmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiTGlnaHR3ZWlnaHQgYW5kIGZsZXhpYmxlIGNvbW1hbmQtbGluZSBKU09OIHByb2Nlc3NvciIKK0RFU0NSSVBUSU9OID0gImpxIGlzIGxpa2Ugc2VkIGZvciBKU09OIGRhdGEsIHlvdSBjYW4gdXNlIGl0IHRvIHNsaWNlIGFuZCBcCisgICAgICAgICAgICAgICBmaWx0ZXIgYW5kIG1hcCBhbmQgdHJhbnNmb3JtIHN0cnVjdHVyZWQgZGF0YSB3aXRoIHRoZSBzYW1lIFwKKyAgICAgICAgICAgICAgIGVhc2UgdGhhdCBzZWQsIGF3aywgZ3JlcCBhbmQgZnJpZW5kcyBsZXQgeW91IHBsYXkgd2l0aCB0ZXh0LiIKK0hPTUVQQUdFID0gImh0dHA6Ly9zdGVkb2xhbi5naXRodWIuaW8vanEvIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2dpdGh1Yi5jb20vc3RlZG9sYW4vanEvaXNzdWVzIgorU0VDVElPTiA9ICJ1dGlscyIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yOWRkMGMzNWQ3ZTM5MWJiOGQ1MTVlYWNmNzU5MmUwMCIKKworREVQRU5EUyA9ICJmbGV4LW5hdGl2ZSBiaXNvbi1uYXRpdmUgb25pZyIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vc3RlZG9sYW4vJHtCUE59L3JlbGVhc2VzL2Rvd25sb2FkLyR7QlBOfS0ke1BWfS8ke0JQTn0tJHtQVn0udGFyLmd6IFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjA5MzM1MzJiMDg2YmQ4YjZhNDFjMWIxNjJiMTczMWY5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM0ZDJiZmVjNjQzNjM0MTExMzQxOWRlYmY0NzlkODMzNjkyY2M1Y2RhYjdlYjAzMjZiNWE0ZDRmYmU5ZjQ5M2MiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKKyMgRG9uJ3QgYnVpbGQgZG9jdW1lbnRhdGlvbiAoZ2VuZXJhdGlvbiByZXF1aXJlcyBydWJ5KQorRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1kb2NzIC0tZGlzYWJsZS1tYWludGFpbmVyLW1vZGUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sZW1vbi9maWxlcy9sZW1vbi4xIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGVtb24vZmlsZXMvbGVtb24uMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTRlZTA3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGVtb24vZmlsZXMvbGVtb24uMQpAQCAtMCwwICsxLDYzIEBACisuRGQgMjAwMi0xMC0wNAorLkR0IExFTU9OIDEKKy5PcyAiRGViaWFuIEdOVS9MaW51eCIKKy5cIiBNYW51YWwgcGFnZSBjcmVhdGVkIGJ5IEd1dXMgU2xpZXBlbiA8Z3V1c0BkZWJpYW4ub3JnPgorLlNoIE5BTUUKKy5ObSBsZW1vbgorLk5kIFRoZSBMZW1vbiBQYXJzZXIgR2VuZXJhdG9yCisuU2ggU1lOT1BTSVMKKy5ObQorLk9wIEZsIGJjZ21xc3gKKy5BciBpbnB1dAorLlNoIERFU0NSSVBUSU9OCisuTm0KK2lzIGFuIExBTFIoMSkgcGFyc2VyIGdlbmVyYXRvciBmb3IgQyBvciBDKysuCitJdCBkb2VzIHRoZSBzYW1lIGpvYiBhcyBiaXNvbiBhbmQgeWFjYy4KK0J1dCAKKy5ObQoraXMgbm90IGFub3RoZXIgYmlzb24gb3IgeWFjYyBjbG9uZS4KK0l0IHVzZXMgYSBkaWZmZXJlbnQgZ3JhbW1hciBzeW50YXggd2hpY2ggaXMgZGVzaWduZWQgdG8gcmVkdWNlIHRoZSBudW1iZXIgb2YgY29kaW5nIGVycm9ycy4KKy5ObQorYWxzbyB1c2VzIGEgbW9yZSBzb3BoaXN0aWNhdGVkIHBhcnNpbmcgZW5naW5lIHRoYXQgaXMgZmFzdGVyIHRoYW4geWFjYyBhbmQgYmlzb24KK2FuZCB3aGljaCBpcyBib3RoIHJlZW50cmFudCBhbmQgdGhyZWFkLXNhZmUuCitGdXJ0aGVybW9yZSwgCisuTm0KK2ltcGxlbWVudHMgZmVhdHVyZXMgdGhhdCBjYW4gYmUgdXNlZCB0byBlbGltaW5hdGUgcmVzb3VyY2UgbGVha3MsCittYWtpbmcgaXMgc3VpdGFibGUgZm9yIHVzZSBpbiBsb25nLXJ1bm5pbmcgcHJvZ3JhbXMgc3VjaCBhcyBncmFwaGljYWwgdXNlciBpbnRlcmZhY2VzIG9yIGVtYmVkZGVkIGNvbnRyb2xsZXJzLgorLlBwCisuTm0KK3dpbGwgcmVhZCB0aGUgZ3JhbW1lciBmcm9tCisuQXIgaW5wdXQKK2FuZCB3cml0ZSBvdXQgYSBwYXJzZXIgZm9yIHRoYXQgZ3JhbW1hciBpbiB0aGUgQyBsYW5ndWFnZS4KKy5TaCBPUFRJT05TCisuQmwgLXRhZyAtd2lkdGggaW5kZW50CisuSXQgRmwgYgorUHJpbnQgb25seSB0aGUgYmFzaXMgaW4gcmVwb3J0LgorLkl0IEZsIGMKK0Rvbid0IGNvbXByZXNzIHRoZSBhY3Rpb24gdGFibGUuCisuSXQgRmwgZworUHJpbnQgZ3JhbW1hciB3aXRob3V0IGFjdGlvbnMuCisuSXQgRmwgbQorT3V0cHV0IGEgbWFrZWhlYWRlcnMgY29tcGF0aWJsZSBmaWxlLgorLkl0IEZsIHEKKyhRdWlldCkgRG9uJ3QgcHJpbnQgdGhlIHJlcG9ydCBmaWxlLgorLkl0IEZsIHMKK1ByaW50IHBhcnNlciBzdGF0cyB0byBzdGFuZGFyZCBvdXRwdXQuCisuSXQgRmwgeAorUHJpbnQgdGhlIHZlcnNpb24gbnVtYmVyLgorLkVsCisuU2ggRklMRVMKKy5CbCAtdGFnIC13aWR0aCBpbmRlbnQKKy5JdCBQYSAvdXNyL3NoYXJlL2xlbW9uL2xlbXBhci5jCitEcml2ZXIgdGVtcGxhdGUgZm9yIHRoZQorLk5tCitwYXJzZXIgZ2VuZXJhdG9yLgorLkVsCisuU2ggQVVUSE9SCisuTm0KK2hhcyBiZWVuIHdyaXR0ZW4gYnkKKy5BbiBELiBSaWNoYXJkIEhpcHAgQXEgZHJoQGh3YWNpLmNvbSAuCisuUHAKK1RoaXMgbWFudWFsIHBhZ2Ugd2FzIHdyaXR0ZW4gYnkKKy5BbiBHdXVzIFNsaWVwZW4gQXEgZ3V1c0BkZWJpYW4ub3JnCitmb3IgdGhlIERlYmlhbiBHTlUvTGludXggc3lzdGVtLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGVtb24vbGVtb24uaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGVtb24vbGVtb24uaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3YjlmYjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sZW1vbi9sZW1vbi5pbmMKQEAgLTAsMCArMSwyNSBAQAorREVTQ1JJUFRJT04gPSAiVGhlIExlbW9uIFBhcnNlciBHZW5lcmF0b3IiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lmh3YWNpLmNvbS9zdy9sZW1vbi8iCitMSUNFTlNFID0gIlBEIgorU0VDVElPTiA9ICJkZXZlbCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LnNxbGl0ZS5vcmcvc3FsaXRlLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9sZW1vbi4xIgorCitTID0gIiR7V09SS0RJUn0vc3FsaXRlLSR7UFZ9L3Rvb2wiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgJHtDQ30gJHtDRkxBR1N9IGxlbW9uLmMgLWMgLW8gbGVtb24ubworICAgICR7Q0NMRH0gJHtMREZMQUdTfSBsZW1vbi5vIC1vIGxlbW9uCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1IGxlbW9uICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgbGVtcGFyLmMgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7bWFuZGlyfS9tYW4xCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbGVtb24uMSAke0R9JHttYW5kaXJ9L21hbjEvCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sZW1vbi9sZW1vbl8zLjcuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xlbW9uL2xlbW9uXzMuNy4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1NGRiMTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sZW1vbi9sZW1vbl8zLjcuMy5iYgpAQCAtMCwwICsxLDcgQEAKK3JlcXVpcmUgbGVtb24uaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2xlbW9uLmM7ZW5kbGluZT04O21kNT1jNzU1MWE3OGZhM2ZkZWNkOTZkMWFkNjc2MWQyMDVlZSIKKworU1JDX1VSSVttZDVzdW1dID0gIjU0Mzc5NzhhYWU5MDM1MGNmOTg0OTkzMDkxZTBkNjk1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImRiZjM1MmU4ZmJiNzQ4MjlmNWU3YTg4ZjlmNmNlZWI4MGE3MDk1MzdmNjY4YzM2ZTRiNmNkZmIyNzEzMDllZjYiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xpYmVkaXQvbGliZWRpdF8yMDE1MDMyNS0zLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJlZGl0L2xpYmVkaXRfMjAxNTAzMjUtMy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhNzI4OTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJlZGl0L2xpYmVkaXRfMjAxNTAzMjUtMy4xLmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiQlNEIHJlcGxhY2VtZW50IGZvciBsaWJyZWFkbGluZSIKK0RFU0NSSVBUSU9OID0gIkNvbW1hbmQgbGluZSBlZGl0b3IgbGlicmFyeSBwcm92aWRpbmcgZ2VuZXJpYyBsaW5lIGVkaXRpbmcsIFwKK2hpc3RvcnksIGFuZCB0b2tlbml6YXRpb24gZnVuY3Rpb25zIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy50aHJ5c29lZS5kay9lZGl0bGluZS8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTFlNDIyOGQwYzVhOTA5M2IwMWFlYWFlYWU2NjQxNTMzIgorCitERVBFTkRTID0gIm5jdXJzZXMiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKKyMgdXBzdHJlYW0gc2l0ZSBkb2VzIG5vdCBhbGxvdyB3Z2V0J3MgVXNlci1BZ2VudAorRkVUQ0hDTURfd2dldCArPSAiLVUgYml0YmFrZSIKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy50aHJ5c29lZS5kay9lZGl0bGluZS8ke0JQTn0tJHtQVn0udGFyLmd6IgorCitTID0gIiR7V09SS0RJUn0vJHtCUE59LSR7UFZ9IgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDNjZGI1ZGYzMDYxZDc4YjVlOWQ1OTEwOTg3MWI0ZjYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzg4YTVlNGFmODNjNWY0MGRkYTg0NTU4ODZhYzk4OTIzYTljMzMxMjU2OTk3NDI2MDNhODhhMDI1M2ZjYzhjNSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xpYmZyaWJpZGkvZnJpYmlkaV8wLjE5LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJmcmliaWRpL2ZyaWJpZGlfMC4xOS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiNGJjMjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJmcmliaWRpL2ZyaWJpZGlfMC4xOS4yLmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiRnJpYmlkaSBsaWJyYXJ5IGZvciBiaWRpcmVjdGlvbmFsIHRleHQiCitTRUNUSU9OID0gImxpYnMiCitQUiA9ICJyMSIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03ZmJjMzM4MzA5YWMzOGZlZmNkNjRiMDRiYjkwM2UzNCIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitQUk9WSURFUyA9ICJsaWJmcmliaWRpIgorCitpbmhlcml0IGF1dG90b29scyBsaWJfcGFja2FnZSBwa2djb25maWcKKworQ0ZMQUdTX2FwcGVuZCA9ICIgIC1EUEFHRV9TSVpFPTQwOTYgIgorCitTUkNfVVJJID0gImh0dHA6Ly9mcmliaWRpLm9yZy9kb3dubG9hZC9mcmliaWRpLSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjYyNmRiMTdkMmQ5OWI0MzYxNWFkOWQxMjUwMGY1NjhhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ5Y2Y5MTU4NmU0OGI1MmZlMjU4NzJmZjY2YzFkYTBkZmYwZGFhYzI1OTNmOWYzMDBlMmFmMTJmNDRmNjQxNzciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJnZWUvbGliZ2VlXzAuMTguMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xpYmdlZS9saWJnZWVfMC4xOC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmYTlkOWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJnZWUvbGliZ2VlXzAuMTguMC5iYgpAQCAtMCwwICsxLDI0IEBACitERVNDUklQVElPTiA9ICJsaWJnZWUgaXMgYSBjb2xsZWN0aW9uIGxpYnJhcnkgcHJvdmlkaW5nIEdPYmplY3QtYmFzZWQgaW50ZXJmYWNlcyBcCithbmQgY2xhc3NlcyBmb3IgY29tbW9ubHkgdXNlZCBkYXRhIHN0cnVjdHVyZXMuIgorSE9NRVBBR0UgPSAiaHR0cDovL2xpdmUuZ25vbWUub3JnL0xpYmdlZSIKK1NFQ1RJT04gPSAibGlicyIKK0RFUEVORFMgPSAiZ2xpYi0yLjAiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZiYzA5MzkwMTg1N2ZjZDExOGYwNjVmOTAwOTgyYzI0IgorCitQRSA9ICIxIgorCitpbmhlcml0IGF1dG90b29scyB2YWxhIHBrZ2NvbmZpZyBnb2JqZWN0LWludHJvc3BlY3Rpb24KK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIE1BQ1JPUz0ibGlidG9vbC5tNCBsdH5vYnNvbGV0ZS5tNCBsdG9wdGlvbnMubTQgbHRzdWdhci5tNCBsdHZlcnNpb24ubTQiCisgICAgZm9yIGkgaW4gJHtNQUNST1N9OyBkbworICAgICAgICBybSAtZiBtNC8kaQorICAgIGRvbmUKK30KKworU0hSVF9WRVIgPSAiJHtAZC5nZXRWYXIoJ1BWJywxKS5zcGxpdCgnLicpWzBdfS4ke0BkLmdldFZhcignUFYnLDEpLnNwbGl0KCcuJylbMV19IgorU1JDX1VSSSA9ICJodHRwOi8vZnRwLmdub21lLm9yZy9wdWIvR05PTUUvc291cmNlcy9saWJnZWUvJHtTSFJUX1ZFUn0vJHtCUH0udGFyLnh6IgorU1JDX1VSSVttZDVzdW1dID0gIjI5ZWE2MTI1ZTY1M2Q3ZTYwYjQ5YTlhOTU0NGFiYzk2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRhZDk5ZWY5MzdkMDcxYjQ4ODNjMDYxZGY0MGJmZTIzM2Y3NjQ5ZDUwYzM1NGNmODEyMzVmMTgwYjQyNDQzOTkiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJ1Ym94L2xpYnVib3gvMDAwMS12ZXJzaW9uLWxpYnJhcmllcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xpYnVib3gvbGlidWJveC8wMDAxLXZlcnNpb24tbGlicmFyaWVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyMTE3ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJ1Ym94L2xpYnVib3gvMDAwMS12ZXJzaW9uLWxpYnJhcmllcy5wYXRjaApAQCAtMCwwICsxLDI4IEBACitkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggNTc4MDRjZi4uMWFhN2YyNyAxMDA2NDQKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTE4LDYgKzE4LDcgQEAgRU5ESUYoKQorIFNFVChTT1VSQ0VTIGF2bC5jIGF2bC1jbXAuYyBibG9iLmMgYmxvYm1zZy5jIHVsb29wLmMgdXNvY2suYyB1c3RyZWFtLmMgdXN0cmVhbS1mZC5jIHZsaXN0LmMgdXRpbHMuYyBzYWZlX2xpc3QuYyBydW5xdWV1ZS5jIG1kNS5jIGt2bGlzdC5jIHVsb2cuYyBiYXNlNjQuYykKKyAKKyBBRERfTElCUkFSWSh1Ym94IFNIQVJFRCAke1NPVVJDRVN9KQorK1NFVF9UQVJHRVRfUFJPUEVSVElFUyh1Ym94IFBST1BFUlRJRVMgVkVSU0lPTiAxLjAuMSBTT1ZFUlNJT04gMSkKKyBBRERfTElCUkFSWSh1Ym94LXN0YXRpYyBTVEFUSUMgJHtTT1VSQ0VTfSkKKyBTRVRfVEFSR0VUX1BST1BFUlRJRVModWJveC1zdGF0aWMgUFJPUEVSVElFUyBPVVRQVVRfTkFNRSB1Ym94KQorIAorQEAgLTQ2LDYgKzQ3LDcgQEAgZmluZF9saWJyYXJ5KGpzb24gTkFNRVMganNvbi1jKQorIElGKEVYSVNUUyAke2pzb259KQorIAlBRERfTElCUkFSWShibG9ibXNnX2pzb24gU0hBUkVEIGJsb2Jtc2dfanNvbi5jKQorIAlUQVJHRVRfTElOS19MSUJSQVJJRVMoYmxvYm1zZ19qc29uIHVib3ggJHtqc29ufSkKKysJU0VUX1RBUkdFVF9QUk9QRVJUSUVTKGJsb2Jtc2dfanNvbiBQUk9QRVJUSUVTIFZFUlNJT04gMS4wLjEgU09WRVJTSU9OIDEpCisgCisgCUFERF9MSUJSQVJZKGJsb2Jtc2dfanNvbi1zdGF0aWMgU1RBVElDIGJsb2Jtc2dfanNvbi5jKQorIAlTRVRfVEFSR0VUX1BST1BFUlRJRVMoYmxvYm1zZ19qc29uLXN0YXRpYworQEAgLTU1LDYgKzU3LDcgQEAgSUYoRVhJU1RTICR7anNvbn0pCisgCVRBUkdFVF9MSU5LX0xJQlJBUklFUyhqc2huIGJsb2Jtc2dfanNvbiAke2pzb259KQorIAorIAlBRERfTElCUkFSWShqc29uX3NjcmlwdCBTSEFSRUQganNvbl9zY3JpcHQuYykKKysJU0VUX1RBUkdFVF9QUk9QRVJUSUVTKGpzb25fc2NyaXB0IFBST1BFUlRJRVMgVkVSU0lPTiAxLjAuMSBTT1ZFUlNJT04gMSkKKyAJVEFSR0VUX0xJTktfTElCUkFSSUVTKGpzb25fc2NyaXB0IHVib3gpCisgCisgCUlOU1RBTEwoVEFSR0VUUyBibG9ibXNnX2pzb24gYmxvYm1zZ19qc29uLXN0YXRpYyBqc2huIGpzb25fc2NyaXB0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJ1Ym94L2xpYnVib3gvZml4LWxpYmRpci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xpYnVib3gvbGlidWJveC9maXgtbGliZGlyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmMDljOGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJ1Ym94L2xpYnVib3gvZml4LWxpYmRpci5wYXRjaApAQCAtMCwwICsxLDQwIEBACitbUEFUQ0hdIGZpeCB0aGUgQ01BS0VfSU5TVEFMTF9MSUJESVIKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK2xpYmRpciBtYXliZSAvdXNyL2xpYjY0IGZvciA2NGJpdCBtYWNoaW5lCisKK1NpZ25lZC1vZmYtYnk6IFJveSBMaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIENNYWtlTGlzdHMudHh0IHwgOCArKysrLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CitpbmRleCA1NzgwNGNmLi4yYzdiZGMxIDEwMDY0NAorLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrKyBiL0NNYWtlTGlzdHMudHh0CitAQCAtMzUsOCArMzUsOCBAQCBJTlNUQUxMKEZJTEVTICR7aGVhZGVyc30KKyAJREVTVElOQVRJT04gaW5jbHVkZS9saWJ1Ym94CisgKQorIElOU1RBTEwoVEFSR0VUUyB1Ym94IHVib3gtc3RhdGljCistCUFSQ0hJVkUgREVTVElOQVRJT04gbGliCistCUxJQlJBUlkgREVTVElOQVRJT04gbGliCisrCUFSQ0hJVkUgREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0xJQkRJUn0KKysJTElCUkFSWSBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfTElCRElSfQorICkKKyAKKyBBRERfU1VCRElSRUNUT1JZKGx1YSkKK0BAIC01OCw4ICs1OCw4IEBAIElGKEVYSVNUUyAke2pzb259KQorIAlUQVJHRVRfTElOS19MSUJSQVJJRVMoanNvbl9zY3JpcHQgdWJveCkKKyAKKyAJSU5TVEFMTChUQVJHRVRTIGJsb2Jtc2dfanNvbiBibG9ibXNnX2pzb24tc3RhdGljIGpzaG4ganNvbl9zY3JpcHQKKy0JCUFSQ0hJVkUgREVTVElOQVRJT04gbGliCistCQlMSUJSQVJZIERFU1RJTkFUSU9OIGxpYgorKwkJQVJDSElWRSBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfTElCRElSfQorKwkJTElCUkFSWSBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfTElCRElSfQorIAkJUlVOVElNRSBERVNUSU5BVElPTiBiaW4KKyAJKQorIAorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJ1Ym94L2xpYnVib3hfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGlidWJveC9saWJ1Ym94X2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MDkyODFhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGlidWJveC9saWJ1Ym94X2dpdC5iYgpAQCAtMCwwICsxLDI5IEBACitERVNDUklQVElPTiA9ICJDIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBPcGVuV3J0IgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiXAorICAgIGZpbGU6Ly9hdmwuYztlbmRsaW5lPTM5O21kNT0wMDgxMDE1NWZlZDNkNjA0ODE2ZWM1ODE0NTIzZDYwYSBcCisgICAgZmlsZTovL2F2bC1jbXAuYztlbmRsaW5lPTE1O21kNT0xNjAzZTYwOTRiNDMyYTVmM2YzMjA4NzdhMDZmNDFiNSBcCisgICAgZmlsZTovL2Jhc2U2NC5jO2VuZGxpbmU9NjE7bWQ1PTUxZmRmZjAxMGQ0NWIwMDg2YWMwYTZlMDM1NjkzZGMwIFwKKyAgICBmaWxlOi8vYmxvYm1zZy5jO2VuZGxpbmU9MTU7bWQ1PTdlZDY0YzE1NzBlOGM5YjQ2YzRmYzZmYmQxNmM0ODllIFwKKyAgICBmaWxlOi8vbGlzdC5oO2VuZGxpbmU9Mjg7bWQ1PTJkNWY1NDc1ZmJkMGYwODc0MTM1NGM1YTk5YzJlOTgzIFwKKyAgICBmaWxlOi8vbWQ1Lmg7ZW5kbGluZT0zOTttZDU9MDQ4YmY5ZjY4OTYzYzIwN2EwYzJiM2E5NGM5ZDJhYWEgXAorICAgIGZpbGU6Ly9tZDUuYztlbmRsaW5lPTUxO21kNT0wYTQ0OGVlYTBiY2JjODllM2M3ZTY2MDhmMmQxMTlhMCBcCisgICAgZmlsZTovL3Vzb2NrLmg7ZW5kbGluZT0xODttZDU9ZjBkZmRjOGRlODU4ZTY2ZDY2ZDc0MDM2NjExYmJhMTQgXAorIgorCitTUkNfVVJJID0gIlwKKyAgICBnaXQ6Ly9naXQub3BlbndydC5vcmcvcHJvamVjdC9saWJ1Ym94LmdpdCBcCisgICAgZmlsZTovLzAwMDEtdmVyc2lvbi1saWJyYXJpZXMucGF0Y2ggXAorICAgIGZpbGU6Ly9maXgtbGliZGlyLnBhdGNoIFwKKyIKKworU1JDUkVWID0gIjE1NWJmMzk4OTZmMTI2YjFiYTEyMWI4MTY5MjJhODhkYzM0YzMxZTMiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgY21ha2UKKworREVQRU5EUyA9ICJqc29uLWMiCisKK0VYVFJBX09FQ01BS0UgPSAiLURCVUlMRF9FWEFNUExFUz1PRkYgLURCVUlMRF9MVUE9T0ZGIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbG9nNGNwbHVzL2xvZzRjcGx1c18xLjIuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xvZzRjcGx1cy9sb2c0Y3BsdXNfMS4yLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzJmNWVjMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xvZzRjcGx1cy9sb2c0Y3BsdXNfMS4yLjAuYmIKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJsb2c0Y3BsdXMgcHJvdmlkZXMgYSBzaW1wbGUgQysrIGxvZ2dpbmcgQVBJIGZvciBsb2cgbWFuYWdlbWVudCIKK1NFQ1RJT04gPSAibGlicyIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbG9nNGNwbHVzLyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wL2xvZzRjcGx1cy9idWdzLyIKKworTElDRU5TRSA9ICJBcGFjaGUtMi4wICYgQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9Y2VkYWEyODdlY2VjY2I5NGY5ZjI4ODBkOWM0ZWYwODUiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3Byb2plY3QvJHtCUE59LyR7QlBOfS1zdGFibGUvJHtQVn0vJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImUyNTBmMGY0MzFjMDcyM2Y4YjYyNTMyM2U3YjY0NjVkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFkNWVjM2I2MmYyZjBiZGM3ZjA2ZmEzOThiZGU2MTA5MWZkMjQ5M2U5MTA1OWUxNzMxNWI1MTk3NDIwZGNmMDQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitCQkNMQVNTRVhURU5EICs9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdHAtZGR0L2x0cC1kZHQvbHRwLURvLW5vdC1saW5rLWFnYWluc3QtbGliZmwucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdHAtZGR0L2x0cC1kZHQvbHRwLURvLW5vdC1saW5rLWFnYWluc3QtbGliZmwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2U0YWE3MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x0cC1kZHQvbHRwLWRkdC9sdHAtRG8tbm90LWxpbmstYWdhaW5zdC1saWJmbC5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIDViZGE5YzBhZjU2ODY5YzZmZjJjMjVkMzhlYTA4NzE3OWM5NDZiYzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaG9uZyBMdSA8Q2hvbmcuTHVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgMTEgTWFyIDIwMTQgMTQ6NDc6MjIgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gbHRwOiBEb24ndCBsaW5rIGFnYWluc3QgbGliZmwKKworV2UgaGF2ZSBhbHJlYWR5IGRlZmluZWQgeXl3cmFwIGZ1bmN0aW9uIGluIHNjYW4ubCBmaWxlLiBBZnRlciB0aGlzLCB3ZSBubyBsb25nZXIgbmVlZCB0bworbGluayBhZ2FpbnN0IGxpYmZsIGFuZCBzbyBubyBsb25nZXIgZ2V0IGVycm9ycyBhYm91dCB1bmRlZmluZWQgcmVmZXJlbmNlcyB0byB5eWxleC4KKworVXBzdHJlYW0tc3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IENob25nIEx1IDxDaG9uZy5MdUB3aW5kcml2ZXIuY29tPgorLS0tCisgcGFuL01ha2VmaWxlIHwgICAgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvcGFuL01ha2VmaWxlIGIvcGFuL01ha2VmaWxlCitpbmRleCA0Y2M2NDY2Li5hNGI1NzViIDEwMDY0NAorLS0tIGEvcGFuL01ha2VmaWxlCisrKysgYi9wYW4vTWFrZWZpbGUKK0BAIC0zMSw3ICszMSw3IEBAIENQUEZMQUdTCQkrPSAtV25vLWVycm9yCisgCisgQ1BQRkxBR1MJCSs9IC1JJChhYnNfc3JjZGlyKQorIAorLUxETElCUwkJCSs9IC1sbSAkKExFWExJQikKKytMRExJQlMJCQkrPSAtbG0KKyAKKyBMRkxBR1MJCQkrPSAtbAorIAorLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x0cC1kZHQvbHRwLWRkdF8xLjAuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x0cC1kZHQvbHRwLWRkdF8xLjAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MjExN2IxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHRwLWRkdC9sdHAtZGR0XzEuMC4wLmJiCkBAIC0wLDAgKzEsOTcgQEAKK1NVTU1BUlkgPSAiRW1iZWRkZWQgTGludXggRGV2aWNlIERyaXZlciBUZXN0cyBiYXNlZCBvbiBMaW51eCBUZXN0IFByb2plY3QiCitIT01FUEFHRSA9ICJodHRwOi8vYXJhZ28tcHJvamVjdC5vcmcvZ2l0L3Byb2plY3RzL3Rlc3QtYXV0b21hdGlvbi9sdHAtZGR0LmdpdCIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyIKKworUFJPVklERVMgKz0gImx0cCIKK0RFUEVORFMgKz0gInppcC1uYXRpdmUgdmlydHVhbC9rZXJuZWwgYWxzYS1saWIiCisKK1JERVBFTkRTXyR7UE59ICs9ICJwbS1xYSBzZXJpYWxjaGVjayIKKworaW5oZXJpdCBhdXRvdG9vbHMgbW9kdWxlLWJhc2Uga2VybmVsLW1vZHVsZS1zcGxpdAorCitQQUNLQUdFX0FSQ0ggPSAiJHtNQUNISU5FX0FSQ0h9IgorCitTUkNSRVYgPSAiZjA4NmJlZDZjYzg4YmYxMDJlYWFkMGU5NmNiN2ViZTc5OTQ0YThhZCIKK0JSQU5DSCA/PSAibWFzdGVyIgorCitTUkNfVVJJID0gImdpdDovL2FyYWdvLXByb2plY3Qub3JnL2dpdC9wcm9qZWN0cy90ZXN0LWF1dG9tYXRpb24vbHRwLWRkdC5naXQ7YnJhbmNoPSR7QlJBTkNIfSBcCisgICAgZmlsZTovL2x0cC1Eby1ub3QtbGluay1hZ2FpbnN0LWxpYmZsLnBhdGNoIFwKKyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworTFRQUk9PVCA9ICIvb3B0L2x0cCIKKworRVhUUkFfT0VNQUtFX2FwcGVuZCA9ICIgXAorICAgIHByZWZpeD0ke0xUUFJPT1R9IFwKKyAgICBDUk9TU19DT01QSUxFPSR7SE9TVF9QUkVGSVh9IFwKKyAgICBTS0lQX0lEQ0hFQ0s9MSBcCisgICAgS0VSTkVMX1BBVEg9JHtTVEFHSU5HX0tFUk5FTF9ESVJ9IFwKKyAgICBLRVJORUxfSU5DPSR7U1RBR0lOR19LRVJORUxfRElSfSBcCisgICAgS0VSTkVMX1VTUl9JTkM9JHtTVEFHSU5HX0lOQ0RJUn0gXAorICAgIEFMU0FfSU5DUEFUSD0ke1NUQUdJTkdfSU5DRElSfSBcCisgICAgQUxTQV9MSUJQQVRIPSR7U1RBR0lOR19MSUJESVJ9IFwKKyAgICBQTEFURk9STT0ke01BQ0hJTkV9IFwKKyAgICBSQU5MSUI9JHtSQU5MSUJ9IFwKKyAgICBERVNURElSPSR7RH0gXAorICAgIENDPScke0NDfScgXAorICAgIEtFUk5FTF9DQz0nJHtLRVJORUxfQ0N9JyBcCisiCisKK1RBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiBcCisgICAgJHtMVFBST09UfS8uZGVidWcgXAorICAgICR7TFRQUk9PVH0vYmluLy5kZWJ1ZyBcCisgICAgJHtMVFBST09UfS9ydW50ZXN0Ly5kZWJ1ZyBcCisgICAgJHtMVFBST09UfS90ZXN0Y2FzZXMvYmluLy5kZWJ1ZyBcCisgICAgJHtMVFBST09UfS90ZXN0Y2FzZXMvYmluLyovYmluLy5kZWJ1ZyBcCisgICAgJHtMVFBST09UfS90ZXN0Y2FzZXMvYmluLyovdGVzdC8uZGVidWcgXAorICAgICR7TFRQUk9PVH0vdGVzdGNhc2VzL2Jpbi9kZHQvLmRlYnVnIFwKKyAgICAke0xUUFJPT1R9L3Rlc3RjYXNlcy9iaW4vZGR0LyovYmluLy5kZWJ1ZyBcCisgICAgJHtMVFBST09UfS90ZXN0Y2FzZXMvYmluL2RkdC8qL3Rlc3QvLmRlYnVnIFwKKyAgICAke0xUUFJPT1R9L3Rlc3RjYXNlcy9yZWFsdGltZS8qLyovLmRlYnVnIFwKKyIKKworRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke0xUUFJPT1R9L2xpYiIKK0ZJTEVTXyR7UE59ICs9ICIke0xUUFJPT1R9LyoiCisKK0tFUk5FTF9NT0RVTEVTX01FVEFfUEFDS0FHRSA9ICIke1BOfSIKKwora21vZGRpciA9ICIvbGliL21vZHVsZXMvJHtLRVJORUxfVkVSU0lPTn0va2VybmVsL2RyaXZlcnMvZGR0IgorCisjIGx0cCBkb2Vzbid0IHJlZ2VuZXJhdGUgZmZzYi02LjAtcmMyIGNvbmZpZ3VyZSBhbmQgaGFyZGNvZGUgY29uZmlndXJlIGNhbGwuCisjIHdlIGV4cGxpY2l0bHkgZm9yY2UgcmVnZW5lcmF0aW9uIG9mIHRoYXQgZGlyZWN0b3J5IGFuZCBwYXNzIGNvbmZpZ3VyZSBvcHRpb25zLgorZG9fY29uZmlndXJlX2FwcGVuZCgpIHsKKyAgICAoY2QgdXRpbHMvZmZzYi02LjAtcmMyOyBhdXRvcmVjb25mIC1mdmk7IC4vY29uZmlndXJlICR7Q09ORklHVVJFT1BUU30pCit9CisKKyMgVGhlIG1ha2VmaWxlcyBtYWtlIGV4Y2Vzc2l2ZSB1c2Ugb2YgbWFrZSAtQyBhbmQgc2V2ZXJhbCBpbmNsdWRlIHRlc3RjYXNlcy5taworIyB3aGljaCB0cmlnZ2VycyBhIGJ1aWxkIG9mIHRoZSBzeXNjYWxsIGhlYWRlci4gVG8gcmVwcm9kdWNlLCBidWlsZCBsdHAsCisjIHRoZW4gZGVsZXRlIHRoZSBoZWFkZXIsIHRoZW4gIm1ha2UgLWogWFgiIGFuZCB3YXRjaCByZWdlbi5zaCBydW4gbXVsdGlwbGUKKyMgdGltZXMuIEl0cyBlYXNpZXIgdG8gZ2VuZXJhdGUgdGhpcyBvbmNlIGhlcmUgaW5zdGVhZC4KK2RvX2NvbXBpbGVfcHJlcGVuZCAoKSB7CisgICAgKCBtYWtlIC1DICR7Qn0vdGVzdGNhc2VzL2tlcm5lbCBpbmNsdWRlL2xpbnV4X3N5c2NhbGxfbnVtYmVycy5oICkKK30KKworZG9fY29tcGlsZV9hcHBlbmQgKCkgeworICAgIHVuc2V0IENGTEFHUyBDUFBGTEFHUyBDWFhGTEFHUyBMREZMQUdTCisgICAgb2VfcnVubWFrZSBtb2R1bGVzCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsCisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7a21vZGRpcn0KKyAgICBtdiAke0R9JHtMVFBST09UfS90ZXN0Y2FzZXMvYmluL2RkdC8qLmtvICR7RH0ke2ttb2RkaXJ9Cit9CisKKyMgZG9fbWFrZV9zY3JpcHRzIHNob3VsZCBiZSBhIHNlcGFyYXRlIHRhc2sgZm9yIHRoZSBsb2NrIHRvIHdvcmsKK2FkZHRhc2sgbWFrZV9zY3JpcHRzIGJlZm9yZSBkb19jb21waWxlCitkb19tYWtlX3NjcmlwdHNbbG9ja2ZpbGVzXSA9ICIke1RNUERJUn0va2VybmVsLXNjcmlwdHMubG9jayIKK2RvX21ha2Vfc2NyaXB0c1tkZXB0YXNrXSA9ICJkb19wb3B1bGF0ZV9zeXNyb290IgorCisjIGh0dHA6Ly9lcnJvcnMueW9jdG9wcm9qZWN0Lm9yZy9FcnJvcnMvRGV0YWlscy81NjMyNy8KK1BOQkxBQ0tMSVNUW2x0cC1kZHRdID89ICJCUk9LRU46IGZhaWxzIHNpbmNlIGxhc3QgYXV0b3Rvb2xzLmJiY2xhc3MgY2hhbmdlcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x0cmFjZS9sdHJhY2UvMDAwMS1sdHJhY2UtZml4LWdjYy01LWxvZ2ljYWwtbm90LXBhcmVudGhlc2VzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHRyYWNlL2x0cmFjZS8wMDAxLWx0cmFjZS1maXgtZ2NjLTUtbG9naWNhbC1ub3QtcGFyZW50aGVzZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjgxYzQzZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x0cmFjZS9sdHJhY2UvMDAwMS1sdHJhY2UtZml4LWdjYy01LWxvZ2ljYWwtbm90LXBhcmVudGhlc2VzLnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK0Zyb20gODc2ZmU1NjgwZDc3ODAwNDI2ZjhjNGM1NjgwYTIzNTczMmQ3MjJlNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNCBBdWcgMjAxNSAxNzozNzo1NCArMDgwMAorU3ViamVjdDogW1BBVENIXSBsdHJhY2U6IGZpeCBnY2MgNSBsb2dpY2FsIG5vdCBwYXJlbnRoZXNlcworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworQnVpbGQgbHRyYWNlIHdpdGggZ2NjIDUuMiwgaXQgZmFpbHMgd2l0aDoKKworZXJyb3I6IGxvZ2ljYWwgbm90IGlzIG9ubHkgYXBwbGllZCB0byB0aGUgbGVmdCBoYW5kIHNpZGUgb2YgY29tcGFyaXNvbgorWy1XZXJyb3I9bG9naWNhbC1ub3QtcGFyZW50aGVzZXNdCisgICBpZiAoIW5lZWRfZGF0YShkYXRhLCBvZmZzZXQsIFNJWkUgLyA4KSA8IDApICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisKK0Z1bmN0aW9uIG5lZWRfZGF0YSBqdXN0IHJldHVybiAwIG9uIHN1Y2Nlc3MgYW5kIC0xIGlmIGZhaWwuIFNvIGl0IGlzIG9rCit0byBqdXN0IHRlc3QgaWYgKG5lZWRfZGF0YShkYXRhLCBvZmZzZXQsIFNJWkUgLyA4KSA8IDApLgorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIGx0cmFjZS1lbGYuYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2x0cmFjZS1lbGYuYyBiL2x0cmFjZS1lbGYuYworaW5kZXggYzU3MWQyYS4uN2ZlODMwZiAxMDA2NDQKKy0tLSBhL2x0cmFjZS1lbGYuYworKysrIGIvbHRyYWNlLWVsZi5jCitAQCAtMjE4LDcgKzIxOCw3IEBAIG5lZWRfZGF0YShFbGZfRGF0YSAqZGF0YSwgR0VsZl9Yd29yZCBvZmZzZXQsIEdFbGZfWHdvcmQgc2l6ZSkKKyAJaW50CQkJCQkJCQlcCisgCU5BTUUoRWxmX0RhdGEgKmRhdGEsIEdFbGZfWHdvcmQgb2Zmc2V0LCB1aW50IyNTSVpFIyNfdCAqcmV0cCkJXAorIAl7CQkJCQkJCQlcCistCQlpZiAoIW5lZWRfZGF0YShkYXRhLCBvZmZzZXQsIFNJWkUgLyA4KSA8IDApCQlcCisrCQlpZiAobmVlZF9kYXRhKGRhdGEsIG9mZnNldCwgU0laRSAvIDgpIDwgMCkJCVwKKyAJCQlyZXR1cm4gLTE7CQkJCQlcCisgCQkJCQkJCQkJXAorIAkJaWYgKGRhdGEtPmRfYnVmID09IE5VTEwpIC8qIE5PREFUQSBzZWN0aW9uICovIHsJCVwKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHRyYWNlL2x0cmFjZS9jb25maWd1cmUtYWxsb3ctdG8tZGlzYWJsZS1zZWxpbnV4LXN1cHBvcnQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdHJhY2UvbHRyYWNlL2NvbmZpZ3VyZS1hbGxvdy10by1kaXNhYmxlLXNlbGludXgtc3VwcG9ydC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Zjg5ZDhmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHRyYWNlL2x0cmFjZS9jb25maWd1cmUtYWxsb3ctdG8tZGlzYWJsZS1zZWxpbnV4LXN1cHBvcnQucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorRnJvbSA4ODdhNDAzZTM4ZjU5MGViZjFkMDRjZTYwMGQ5NGNiN2EzNTE3NDRjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogV2Vuem9uZyBGYW4gPHdlbnpvbmcuZmFuQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDEgRGVjIDIwMTQgMDA6NTc6NDIgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gbHRyYWNlOiBhbGxvdyB0byBlbmFibGUvZGlzYWJsZSBzZWxpbnV4IHN1cHBvcnQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFdlbnpvbmcgRmFuIDx3ZW56b25nLmZhbkB3aW5kcml2ZXIuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgICAxMCArKysrKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggNmZlNWUzYi4uMTg5ODg1YSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMTI1LDggKzEyNSwxNCBAQCBBQ19TVUJTVChsaWJzdGRjeHhfTElCUykKKyAKKyAKKyBkbmwgQ2hlY2sgc2VjdXJpdHlfZ2V0X2Jvb2xlYW5fYWN0aXZlIGF2YWlsYWJpbGl0eS4KKy1BQ19DSEVDS19IRUFERVJTKHNlbGludXgvc2VsaW51eC5oKQorLUFDX0NIRUNLX0xJQihzZWxpbnV4LCBzZWN1cml0eV9nZXRfYm9vbGVhbl9hY3RpdmUpCisrQUNfQVJHX0VOQUJMRShbc2VsaW51eF0sCisrICAgIEFTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1zZWxpbnV4XSxbZW5hYmxlIFNFTGludXggc3VwcG9ydCBbZGVmYXVsdD1hdXRvXV0pLAorKyAgICBbXSwgW2VuYWJsZV9zZWxpbnV4PWF1dG9dKQorKworK2lmIHRlc3QgeCRlbmFibGVfc2VsaW51eCAhPSB4bm87IHRoZW4KKysgICAgQUNfQ0hFQ0tfSEVBREVSUyhzZWxpbnV4L3NlbGludXguaCkKKysgICAgQUNfQ0hFQ0tfTElCKHNlbGludXgsIHNlY3VyaXR5X2dldF9ib29sZWFuX2FjdGl2ZSkKKytmaQorIAorIGRubCBXaGV0aGVyIChhbmQgd2hpY2gpIGVsZnV0aWxzIGxpYmR3LnNvIHRvIHVzZSBmb3IgdW53aW5kaW5nLgorIEFDX0FSR19XSVRIKGVsZnV0aWxzLAorLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x0cmFjZS9sdHJhY2UvbHRyYWNlLTAuNy4yLXVudXNlZC10eXBlZGVmLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHRyYWNlL2x0cmFjZS9sdHJhY2UtMC43LjItdW51c2VkLXR5cGVkZWYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGYzYzBlYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x0cmFjZS9sdHJhY2UvbHRyYWNlLTAuNy4yLXVudXNlZC10eXBlZGVmLnBhdGNoCkBAIC0wLDAgKzEsNDkgQEAKK2RpZmYgLS1naXQgYS92YWx1ZS5jIGIvdmFsdWUuYworaW5kZXggZDE4ZGIxNy4uYjk4Mjk4ZSAxMDA2NDQKKy0tLSBhL3ZhbHVlLmMKKysrKyBiL3ZhbHVlLmMKK0BAIC0xLDYgKzEsNiBAQAorIC8qCisgICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgbHRyYWNlLgorLSAqIENvcHlyaWdodCAoQykgMjAxMSwyMDEyIFBldHIgTWFjaGF0YSwgUmVkIEhhdCBJbmMuCisrICogQ29weXJpZ2h0IChDKSAyMDExLDIwMTIsMjAxMyBQZXRyIE1hY2hhdGEsIFJlZCBIYXQgSW5jLgorICAqCisgICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCitAQCAtMjgyLDkgKzI4Miw5IEBAIHZhbHVlX2luaXRfZGVyZWYoc3RydWN0IHZhbHVlICpyZXRfdmFsLCBzdHJ1Y3QgdmFsdWUgKnZhbHApCisgCWlmICh2YWx1ZV9leHRyYWN0X3dvcmQodmFscCwgJmwsIE5VTEwpIDwgMCkKKyAJCXJldHVybiAtMTsKKyAKKy0JLyogV2UgbmVlZCAibG9uZyIgdG8gYmUgbG9uZyBlbm91Z2ggdG8gaG9sZCBwbGF0Zm9ybQorKwkvKiBXZSBuZWVkICJsb25nIiB0byBiZSBsb25nIGVub3VnaCB0byBob2xkIHRhcmdldAorIAkgKiBwb2ludGVycy4gICovCistCXR5cGVkZWYgY2hhciBhc3NlcnRfX2xvbmdfZW5vdWdoX2xvbmdbLShzaXplb2YobCkgPCBzaXplb2Yodm9pZCAqKSldOworKwlhc3NlcnQoc2l6ZW9mKGwpID49IHNpemVvZihhcmNoX2FkZHJfdCkpOworIAorIAl2YWx1ZV9jb21tb25faW5pdChyZXRfdmFsLCB2YWxwLT5pbmZlcmlvciwgdmFscCwKKyAJCQkgIHZhbHAtPnR5cGUtPnUucHRyX2luZm8uaW5mbywgMCk7CitkaWZmIC0tZ2l0IGEvbGVuc19kZWZhdWx0LmMgYi9sZW5zX2RlZmF1bHQuYworaW5kZXggZWQzZDBlMS4uNWQwMDgxNCAxMDA2NDQKKy0tLSBhL2xlbnNfZGVmYXVsdC5jCisrKysgYi9sZW5zX2RlZmF1bHQuYworQEAgLTEsNiArMSw2IEBACisgLyoKKyAgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBsdHJhY2UuCistICogQ29weXJpZ2h0IChDKSAyMDExLDIwMTIgUGV0ciBNYWNoYXRhLCBSZWQgSGF0IEluYy4KKysgKiBDb3B5cmlnaHQgKEMpIDIwMTEsMjAxMiwyMDEzIFBldHIgTWFjaGF0YSwgUmVkIEhhdCBJbmMuCisgICogQ29weXJpZ2h0IChDKSAxOTk4LDIwMDQsMjAwNywyMDA4LDIwMDkgSnVhbiBDZXNwZWRlcworICAqIENvcHlyaWdodCAoQykgMjAwNiBJYW4gV2llbmFuZAorICAqIENvcHlyaWdodCAoQykgMjAwNiBTdGV2ZSBGaW5rCitAQCAtMzQyLDkgKzM0Miw5IEBAIGZvcm1hdF9hcnJheShGSUxFICpzdHJlYW0sIHN0cnVjdCB2YWx1ZSAqdmFsdWUsIHN0cnVjdCB2YWx1ZV9kaWN0ICphcmd1bWVudHMsCisgCSAgICAgc3RydWN0IGV4cHJfbm9kZSAqbGVuZ3RoLCBzaXplX3QgbWF4bGVuLCBpbnQgYmVmb3JlLAorIAkgICAgIGNvbnN0IGNoYXIgKm9wZW4sIGNvbnN0IGNoYXIgKmNsb3NlLCBjb25zdCBjaGFyICpkZWxpbSkKKyB7CistCS8qIFdlIG5lZWQgImxvbmciIHRvIGJlIGxvbmcgZW5vdWdoIHRvIGNvdmVyIHRoZSB3aG9sZSBhZGRyZXNzCistCSAqIHNwYWNlLiAgKi8KKy0JdHlwZWRlZiBjaGFyIGFzc2VydF9fbG9uZ19lbm91Z2hfbG9uZ1stKHNpemVvZihsb25nKSA8IHNpemVvZih2b2lkICopKV07CisrCS8qIFdlIG5lZWQgImxvbmciIHRvIGJlIGxvbmcgZW5vdWdoIHRvIGNvdmVyIHRoZSB3aG9sZSB0YXJnZXQKKysJICogYWRkcmVzcyBzcGFjZS4gICovCisrCWFzc2VydChzaXplb2YobG9uZykgPj0gc2l6ZW9mKGFyY2hfYWRkcl90KSk7CisgCWxvbmcgbDsKKyAJaWYgKGV4cHJfZXZhbF93b3JkKGxlbmd0aCwgdmFsdWUsIGFyZ3VtZW50cywgJmwpIDwgMCkKKyAJCXJldHVybiAtMTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x0cmFjZS9sdHJhY2VfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHRyYWNlL2x0cmFjZV9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmM0ZTI3MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x0cmFjZS9sdHJhY2VfZ2l0LmJiCkBAIC0wLDAgKzEsMzMgQEAKK1NVTU1BUlkgPSAibHRyYWNlIGludGVyY2VwdHMgYW5kIHJlY29yZHMgZHluYW1pYyBsaWJyYXJ5IGNhbGxzIgorCitERVNDUklQVElPTiA9ICJsdHJhY2UgaW50ZXJjZXB0cyBhbmQgcmVjb3JkcyBkeW5hbWljIGxpYnJhcnkgY2FsbHMgXAord2hpY2ggYXJlIGNhbGxlZCBieSBhbiBleGVjdXRlZCBwcm9jZXNzIGFuZCB0aGUgc2lnbmFscyByZWNlaXZlZCBieSB0aGF0IHByb2Nlc3MuIFwKK0l0IGNhbiBhbHNvIGludGVyY2VwdCBhbmQgcHJpbnQgdGhlIHN5c3RlbSBjYWxscyBleGVjdXRlZCBieSB0aGUgcHJvZ3JhbS5cCisiCitIT01FUEFHRSA9ICJodHRwOi8vbHRyYWNlLm9yZy8iCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lYjcyM2I2MTUzOWZlZWYwMTNkZTQ3NmU2OGI1YzUwYSIKKworUEUgPSAiMSIKK1BWID0gIjcuMytnaXQke1NSQ1BWfSIKK1NSQ1JFViA9ICIzN2VjYzQxYjU4YmUzZGJkZDc5NTkyYTc2ZTMzMWI1YjM3MWU0ZjgxIgorCitERVBFTkRTID0gImVsZnV0aWxzIgorUkRFUEVORFNfJHtQTn0gPSAiZWxmdXRpbHMiCitTUkNfVVJJID0gImdpdDovL2Fub25zY20uZGViaWFuLm9yZy9jb2xsYWItbWFpbnQvbHRyYWNlLmdpdDticmFuY2g9bHRyYWNlLTAuNyBcCisgICAgICAgICAgIGZpbGU6Ly9sdHJhY2UtMC43LjItdW51c2VkLXR5cGVkZWYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLWFsbG93LXRvLWRpc2FibGUtc2VsaW51eC1zdXBwb3J0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbHRyYWNlLWZpeC1nY2MtNS1sb2dpY2FsLW5vdC1wYXJlbnRoZXNlcy5wYXRjaCBcCisgICAgICAgICAgIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworUEFDS0FHRUNPTkZJRyA/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzZWxpbnV4JywgJ3NlbGludXgnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1t1bndpbmRdID0gIi0td2l0aC1saWJ1bndpbmQsLS13aXRob3V0LWxpYnVud2luZCxsaWJ1bndpbmQiCitQQUNLQUdFQ09ORklHW3NlbGludXhdID0gIi0tZW5hYmxlLXNlbGludXgsLS1kaXNhYmxlLXNlbGludXgsbGlic2VsaW51eCxsaWJzZWxpbnV4IgorCitkb19jb25maWd1cmVfcHJlcGVuZCAoKSB7CisJKCBjZCAke1N9OyAuL2F1dG9nZW4uc2ggKQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHVhL2x1YS9sdWEucGMuaW4gYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdWEvbHVhL2x1YS5wYy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMjdlODZlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHVhL2x1YS9sdWEucGMuaW4KQEAgLTAsMCArMSwxMCBAQAorcHJlZml4PS91c3IKK2xpYmRpcj0ke3ByZWZpeH0vbGliCitpbmNsdWRlZGlyPSR7cHJlZml4fS9pbmNsdWRlCisKK05hbWU6IEx1YQorRGVzY3JpcHRpb246IEx1YSBsYW5ndWFnZSBlbmdpbmUKK1ZlcnNpb246IEBWRVJTSU9OQAorUmVxdWlyZXM6CitMaWJzOiAtTCR7bGliZGlyfSAtbGx1YSAtbG0gLWxkbAorQ2ZsYWdzOiAtSSR7aW5jbHVkZWRpcn0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x1YS9sdWEvcnVuLXB0ZXN0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHVhL2x1YS9ydW4tcHRlc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGUwODVlMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x1YS9sdWEvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsMTkgQEAKKyMhL2Jpbi9zaAorCitjZCB0ZXN0CitsdWEgLWUiX1U9dHJ1ZSIgYWxsLmx1YSA+IGx1YS10ZXN0LnRtcAorCitlY2hvICItLS0gdGVzdCBvdXRwdXQgLS0tIgorY2F0IGx1YS10ZXN0LnRtcAorZWNobyAiIgorZWNobyAiIgorZWNobyAiLS0tIHB0ZXN0IHJlc3VsdCAtLS0iCisKK2dyZXAgImZpbmFsIE9LIFwhXCFcISIgbHVhLXRlc3QudG1wID4gL2Rldi9udWxsCitpZiBbICQ/IC1lcSAwIF07IHRoZW4KKyAgIGVjaG8gIlBBU1M6IGx1YSIKK2Vsc2UKKyAgIGVjaG8gIkZBSUw6IGx1YSIKK2ZpCisKK3JtIC1mIGx1YS10ZXN0LnRtcApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHVhL2x1YS91Y2xpYmMtcHRocmVhZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x1YS9sdWEvdWNsaWJjLXB0aHJlYWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjRjZGM1ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x1YS9sdWEvdWNsaWJjLXB0aHJlYWQucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorSW5kZXg6IGx1YS01LjEuNC9zcmMvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL3NyYy9NYWtlZmlsZS5vcmlnCTIwMTMtMTAtMjIgMjI6MTc6MTkuOTI5MTAzNTIzIC0wNDAwCisrKysgYS9zcmMvTWFrZWZpbGUJMjAxMy0xMC0yMiAyMjoxODoyNy45OTIxMDQ1NDUgLTA0MDAKK0BAIC05LDcgKzksNyBAQAorIENDPSBnY2MKKyBDRkxBR1M9IC1PMiAtV2FsbCAtRExVQV9DT01QQVRfQUxMICQoU1lTQ0ZMQUdTKSAkKE1ZQ0ZMQUdTKQorIExERkxBR1M9ICQoU1lTTERGTEFHUykgJChNWUxERkxBR1MpCistTElCUz0gLWxtICQoU1lTTElCUykgJChNWUxJQlMpCisrTElCUz0gLWxtIC1scHRocmVhZCAkKFNZU0xJQlMpICQoTVlMSUJTKQorIAorIEFSPSBhciByY3UKKyBSQU5MSUI9IHJhbmxpYgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHVhL2x1YV81LjMuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x1YS9sdWFfNS4zLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDdhMWE0MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x1YS9sdWFfNS4zLjIuYmIKQEAgLTAsMCArMSw2MSBAQAorREVTQ1JJUFRJT04gPSAiTHVhIGlzIGEgcG93ZXJmdWwgbGlnaHQtd2VpZ2h0IHByb2dyYW1taW5nIGxhbmd1YWdlIGRlc2lnbmVkIFwKK2ZvciBleHRlbmRpbmcgYXBwbGljYXRpb25zLiIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZG9jL3JlYWRtZS5odG1sO2JlZ2lubGluZT0zMTg7ZW5kbGluZT0zNTI7bWQ1PTY4ZmMyYWEyYjc1MWEzN2ZmMjY1NTI0ZGRmMDI2ZDdmIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5sdWEub3JnLyIKKworUFIgPSAicjAiCisKK0RFUEVORFMgPSAicmVhZGxpbmUiCitTUkNfVVJJID0gImh0dHA6Ly93d3cubHVhLm9yZy9mdHAvbHVhLSR7UFZ9LnRhci5nejtuYW1lPXRhcmJhbGxzcmMgXAorICAgICAgICAgICBmaWxlOi8vbHVhLnBjLmluIFwKKyAgICAgICAgICAgIgorU1JDX1VSSSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwdGVzdCcsIFwKKyAgICAgICAgICAgJ2h0dHA6Ly93d3cubHVhLm9yZy90ZXN0cy9sdWEtJHtQVn0tdGVzdHMudGFyLmd6O25hbWU9dGFyYmFsbHRlc3QgXAorICAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgICcsICcnLCBkKX0iCisKK1NSQ19VUklbdGFyYmFsbHNyYy5tZDVzdW1dID0gIjMzMjc4YzJhYjVlZTNjMWE4NzViZThkNTVjMWNhMmExIgorU1JDX1VSSVt0YXJiYWxsc3JjLnNoYTI1NnN1bV0gPSAiYzc0MGM3YmIyM2E5MzY5NDRlMWNjNjNiN2MzYzUzNTFhODk3NmQ3ODY3YzUyNTJjODg1NGY3YjJhZjlkYTY4ZiIKK1NSQ19VUklbdGFyYmFsbHRlc3QubWQ1c3VtXSA9ICJhMmI3YWIxYjhmZjgyYTAxNDUzNzZlMjMzZWYzMGE0YSIKK1NSQ19VUklbdGFyYmFsbHRlc3Quc2hhMjU2c3VtXSA9ICI1NjkwOTg2M2EzNzEzZGVlMzcwOWIzZGJkMGM4NjgyMzdlNGY1YzllYTE3NDRmNWJmMGJhOGJhZmE2YzRlZDMyIgorCitpbmhlcml0IHBrZ2NvbmZpZyBiaW5jb25maWcgcHRlc3QKKworVUNMSUJDX1BBVENIRVMgKz0gImZpbGU6Ly91Y2xpYmMtcHRocmVhZC5wYXRjaCIKK1NSQ19VUklfYXBwZW5kX2xpYmMtdWNsaWJjID0gIiR7VUNMSUJDX1BBVENIRVN9IgorCitUQVJHRVRfQ0NfQVJDSCArPSAiIC1mUElDICR7TERGTEFHU30iCitFWFRSQV9PRU1BS0UgPSAiJ0NDPSR7Q0N9IC1mUElDJyAnTVlDRkxBR1M9JHtDRkxBR1N9IC1ETFVBX1VTRV9MSU5VWCAtZlBJQycgTVlMREZMQUdTPScke0xERkxBR1N9JyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgc2VkIC1pIC1lIHM6L3Vzci9sb2NhbDoke3ByZWZpeH06ZyBzcmMvbHVhY29uZi5oCit9CisKK2RvX2NvbXBpbGUgKCkgeworICAgIG9lX3J1bm1ha2UgbGludXgKK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgb2VfcnVubWFrZSBcCisgICAgICAgICdJTlNUQUxMX1RPUD0ke0R9JHtwcmVmaXh9JyBcCisgICAgICAgICdJTlNUQUxMX0JJTj0ke0R9JHtiaW5kaXJ9JyBcCisgICAgICAgICdJTlNUQUxMX0lOQz0ke0R9JHtpbmNsdWRlZGlyfS8nIFwKKyAgICAgICAgJ0lOU1RBTExfTUFOPSR7RH0ke21hbmRpcn0vbWFuMScgXAorICAgICAgICAnSU5TVEFMTF9TSEFSRT0ke0R9JHtkYXRhZGlyfS9sdWEnIFwKKyAgICAgICAgJ0lOU1RBTExfTElCPSR7RH0ke2xpYmRpcn0nIFwKKyAgICAgICAgJ0lOU1RBTExfQ01PRD0ke0R9JHtsaWJkaXJ9L2x1YS81LjMnIFwKKyAgICAgICAgaW5zdGFsbAorICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9wa2djb25maWcKKworICAgIHNlZCAtZSBzL0BWRVJTSU9OQC8ke1BWfS8gJHtXT1JLRElSfS9sdWEucGMuaW4gPiAke1dPUktESVJ9L2x1YS5wYworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2x1YS5wYyAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy8KKyAgICBybWRpciAke0R9JHtkYXRhZGlyfS9sdWEvNS4zCisgICAgcm1kaXIgJHtEfSR7ZGF0YWRpcn0vbHVhCit9CisKK2RvX2luc3RhbGxfcHRlc3QgKCkgeworICAgICAgICBjcCAtUiAtLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bW9kZSxsaW5rcyAtdiAke1dPUktESVJ9L2x1YS0ke1BWfS10ZXN0cyAke0R9JHtQVEVTVF9QQVRIfS90ZXN0Cit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHVhaml0L2x1YWppdC8wMDAxLURvLW5vdC1zdHJpcC1hdXRvbWF0aWNhbGx5LXRoaXMtbGVhdmVzLXRoZS1zdHJpcHBpbmcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdWFqaXQvbHVhaml0LzAwMDEtRG8tbm90LXN0cmlwLWF1dG9tYXRpY2FsbHktdGhpcy1sZWF2ZXMtdGhlLXN0cmlwcGluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTIzYjNmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHVhaml0L2x1YWppdC8wMDAxLURvLW5vdC1zdHJpcC1hdXRvbWF0aWNhbGx5LXRoaXMtbGVhdmVzLXRoZS1zdHJpcHBpbmcucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorRnJvbSA1MjgwMDlmNWNhMDY4NWM5NWVmMjdmNmM4OTU3MTYwNDk5YzA1NzZhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMTAgTWF5IDIwMTMgMTA6NDI6NDUgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gRG8gbm90IHN0cmlwIGF1dG9tYXRpY2FsbHksIHRoaXMgbGVhdmVzIHRoZSBzdHJpcHBpbmcKKyBidXNpbmVzIHRvIE9FCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0UtU3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBzcmMvTWFrZWZpbGUgfCAgICAyIC0tCisgMSBmaWxlIGNoYW5nZWQsIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvTWFrZWZpbGUgYi9zcmMvTWFrZWZpbGUKK2luZGV4IDI3ODMyNGEuLjVlY2Q2ZDUgMTAwNjQ0CistLS0gYS9zcmMvTWFrZWZpbGUKKysrKyBiL3NyYy9NYWtlZmlsZQorQEAgLTY2NSwxMiArNjY1LDEwIEBAICQoTFVBSklUX0EpOiAkKExKVk1DT1JFX08pCisgJChMVUFKSVRfU08pOiAkKExKVk1DT1JFX08pCisgCSQoRSkgIkRZTkxJTksgICAkQCIKKyAJJChRKSQoVEFSR0VUX0xEKSAkKFRBUkdFVF9BU0hMREZMQUdTKSAtbyAkQCAkKExKVk1DT1JFX0RZTk8pICQoVEFSR0VUX0FMSUJTKQorLQkkKFEpJChUQVJHRVRfU1RSSVApICRACisgCisgJChMVUFKSVRfVCk6ICQoVEFSR0VUX08pICQoTFVBSklUX08pICQoVEFSR0VUX0RFUCkKKyAJJChFKSAiTElOSyAgICAgICRAIgorIAkkKFEpJChUQVJHRVRfTEQpICQoVEFSR0VUX0FMREZMQUdTKSAtbyAkQCAkKExVQUpJVF9PKSAkKFRBUkdFVF9PKSAkKFRBUkdFVF9BTElCUykKKy0JJChRKSQoVEFSR0VUX1NUUklQKSAkQAorIAkkKEUpICJPSyAgICAgICAgU3VjY2Vzc2Z1bGx5IGJ1aWx0IEx1YUpJVCIKKyAKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdWFqaXQvbHVhaml0XzIuMC40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHVhaml0L2x1YWppdF8yLjAuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMDI1MmFhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHVhaml0L2x1YWppdF8yLjAuNC5iYgpAQCAtMCwwICsxLDYzIEBACitTVU1NQVJZID0gIkp1c3QtSW4tVGltZSBDb21waWxlciBmb3IgTHVhIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZUklHSFQ7bWQ1PTM5OTJmMWZiYWUzYjhiMDYxZjkwNTZiN2ZjZGE4Y2M2IgorSE9NRVBBR0UgPSAiaHR0cDovL2x1YWppdC5vcmciCisKK1NSQ19VUkkgPSAiaHR0cDovL2x1YWppdC5vcmcvZG93bmxvYWQvTHVhSklULSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1zdHJpcC1hdXRvbWF0aWNhbGx5LXRoaXMtbGVhdmVzLXRoZS1zdHJpcHBpbmcucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImRkOWMzODMwN2YyMjIzYTUwNGNiZmI5NmU0NzdlY2EwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjYyMGZhNGViMTIzNzUwMjFiZWY2ZTRmMjM3Y2JkMmRkNWQ0OWU1NmJlYjQxNGJlZTA1MmM3NDZiZWVmMTgwN2QiCisKK1MgPSAiJHtXT1JLRElSfS9MdWFKSVQtJHtQVn0iCisKK2luaGVyaXQgcGtnY29uZmlnIGJpbmNvbmZpZworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgc2VkIC1pICdzOlBSRUZJWD0gL3Vzci9sb2NhbDpQUkVGSVg9ICR7cHJlZml4fTpnJyAke1N9L01ha2VmaWxlCisgICAgc2VkIC1pICdzOk1VTFRJTElCPSBsaWI6TVVMVElMSUI9ICR7YmFzZWxpYn06ZycgJHtTfS9NYWtlZmlsZQorfQorCisjIGh0dHA6Ly9sdWFqaXQub3JnL2luc3RhbGwuaHRtbCNjcm9zcworIyBIb3N0IGx1YWppdCBuZWVkcyB0byBiZSBjb21waWxlZCB3aXRoIHRoZSBzYW1lIHBvaW50ZXIgc2l6ZQorIyBJZiB5b3Ugd2FudCB0byBjcm9zcy1jb21waWxlIHRvIGFueSAzMiBiaXQgdGFyZ2V0IG9uIGFuIHg2NCBPUywKKyMgeW91IG5lZWQgdG8gaW5zdGFsbCB0aGUgbXVsdGlsaWIgZGV2ZWxvcG1lbnQgcGFja2FnZSAoZS5nLgorIyBsaWJjNi1kZXYtaTM4NiBvbiBEZWJpYW4vVWJ1bnR1KSBhbmQgYnVpbGQgYSAzMiBiaXQgaG9zdCBwYXJ0CisjIChIT1NUX0NDPSJnY2MgLW0zMiIpLgorQlVJTERfQ0NfQVJDSF9hcHBlbmRfcG93ZXJwYyA9ICcgLW0zMicKK0JVSUxEX0NDX0FSQ0hfYXBwZW5kX3g4NiA9ICcgLW0zMicKK0JVSUxEX0NDX0FSQ0hfYXBwZW5kX2FybSA9ICcgLW0zMicKKworRVhUUkFfT0VNQUtFX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAnXAorICAgIENST1NTPSR7SE9TVF9QUkVGSVh9IFwKKyAgICBIT1NUX0NDPSIke0JVSUxEX0NDfSAke0JVSUxEX0NDX0FSQ0h9IiBcCisgICAgVEFSR0VUX0NGTEFHUz0iJHtUT09MQ0hBSU5fT1BUSU9OU30gJHtUQVJHRVRfQ0NfQVJDSH0iIFwKKyAgICBUQVJHRVRfTERGTEFHUz0iJHtUT09MQ0hBSU5fT1BUSU9OU30iIFwKKyAgICBUQVJHRVRfU0hMREZMQUdTPSIke1RPT0xDSEFJTl9PUFRJT05TfSIgXAorJworCitkb19jb21waWxlICgpIHsKKyAgICBvZV9ydW5tYWtlCit9CisKK2RvX2luc3RhbGwgKCkgeworICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAorICAgIHJtZGlyICR7RH0ke2RhdGFkaXJ9L2x1YS81LiogXAorICAgICAgICAgICR7RH0ke2RhdGFkaXJ9L2x1YSBcCisgICAgICAgICAgJHtEfSR7bGliZGlyfS9sdWEvNS4qIFwKKyAgICAgICAgICAke0R9JHtsaWJkaXJ9L2x1YQorfQorCitQQUNLQUdFUyArPSAnbHVhaml0LWNvbW1vbicKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9saWJsdWFqaXQtNS4xLnNvLjIgXAorICAgICR7bGliZGlyfS9saWJsdWFqaXQtNS4xLnNvLiR7UFZ9IFwKKyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2xpYmx1YWppdC01LjEuYSBcCisgICAgJHtsaWJkaXJ9L2xpYmx1YWppdC01LjEuc28gXAorICAgICR7bGliZGlyfS9wa2djb25maWcvbHVhaml0LnBjIFwKKyIKK0ZJTEVTX2x1YWppdC1jb21tb24gPSAiJHtkYXRhZGlyfS8ke0JQTn0tJHtQVn0iCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL21jcHAvZmlsZXMvaWNlLW1jcHAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9tY3BwL2ZpbGVzL2ljZS1tY3BwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxMDNjZjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9tY3BwL2ZpbGVzL2ljZS1tY3BwLnBhdGNoCkBAIC0wLDAgKzEsMjA4IEBACitkaWZmIC1yIC1jIC1OIC4uL21jcHAtMi43LjItb2xkL25vY29uZmlnL3ZjMjAxMC5kaWYgLi9ub2NvbmZpZy92YzIwMTAuZGlmCisqKiogLi4vbWNwcC0yLjcuMi1vbGQvbm9jb25maWcvdmMyMDEwLmRpZglXZWQgRGVjIDMxIDIwOjMwOjAwIDE5NjkKKy0tLSAuL25vY29uZmlnL3ZjMjAxMC5kaWYJRnJpIE1heSAxNCAxMjo0NzoyMiAyMDEwCisqKioqKioqKioqKioqKioKKyoqKiAwICoqKioKKy0tLSAxLDY3IC0tLS0KKysgKioqIG5vY29uZmlnLkgJVGh1IFNlcCAyNSAxNTozNDo1NiAyMDA4CisrIC0tLSBub2NvbmZpZy5ILnZjMjAwNQlUaHUgU2VwIDI1IDE3OjIzOjQ5IDIwMDgKKysgKioqKioqKioqKioqKioqCisrICoqKiAxNSwyMSAqKioqCisrICAgICovCisrICAgCisrICAgLyogRGVmaW5lIHRhcmdldCBvcGVyYXRpbmctc3lzdGVtLiAgKi8KKysgISAjZGVmaW5lIFNZU1RFTSAgICAgICAgICAgICAgU1lTX0ZSRUVCU0QKKysgICAKKysgICAvKiBEZWZpbmUgdGFyZ2V0IGNvbXBpbGVyLiAgICAgICAgICAqLworKyAgICNpZm5kZWYgQ09NUElMRVIKKysgLS0tIDE1LDIxIC0tLS0KKysgICAgKi8KKysgICAKKysgICAvKiBEZWZpbmUgdGFyZ2V0IG9wZXJhdGluZy1zeXN0ZW0uICAqLworKyAhICNkZWZpbmUgU1lTVEVNICAgICAgICAgICAgICBTWVNfV0lOMzIKKysgICAKKysgICAvKiBEZWZpbmUgdGFyZ2V0IGNvbXBpbGVyLiAgICAgICAgICAqLworKyAgICNpZm5kZWYgQ09NUElMRVIKKysgKioqKioqKioqKioqKioqCisrICoqKiAyNiwzNiAqKioqCisrICAgI2RlZmluZSBIT1NUX1NZU1RFTSAgICAgICAgIFNZU1RFTQorKyAgIAorKyAgIC8qIERlZmluZSBob3N0IGNvbXBpbGVyLiAgICAgICAgICAgICovCisrICEgI2RlZmluZSBIT1NUX0NPTVBJTEVSICAgICAgIEdOVUMKKysgICAKKysgICAvKiBWZXJzaW9uIG1lc3NhZ2UuICAgICAgICAgICAgICAgICAqLworKyAgIC8qICJNQ1BQIFYuMi4qICgyMDB5L21tKSBjb21waWxlZCBieSAiIHByZWNlZGVzIFZFUlNJT05fTVNHICovCisrICEgI2RlZmluZSBWRVJTSU9OX01TRyAgICAgICAgICJHQ0MgMy40IgorKyAgICNpZiAgICAgMAorKyAgICAgICAiTENDLVdpbjMyIDIwMDYtMDMiCisrICAgICAgICJWaXN1YWwgQyAyMDA1IgorKyAtLS0gMjYsMzYgLS0tLQorKyAgICNkZWZpbmUgSE9TVF9TWVNURU0gICAgICAgICBTWVNURU0KKysgICAKKysgICAvKiBEZWZpbmUgaG9zdCBjb21waWxlci4gICAgICAgICAgICAqLworKyAhICNkZWZpbmUgSE9TVF9DT01QSUxFUiAgICAgICBNU0MKKysgICAKKysgICAvKiBWZXJzaW9uIG1lc3NhZ2UuICAgICAgICAgICAgICAgICAqLworKyAgIC8qICJNQ1BQIFYuMi4qICgyMDB5L21tKSBjb21waWxlZCBieSAiIHByZWNlZGVzIFZFUlNJT05fTVNHICovCisrICEgI2RlZmluZSBWRVJTSU9OX01TRyAgICAgICAgICJWaXN1YWwgQyAyMDEwIgorKyAgICNpZiAgICAgMAorKyAgICAgICAiTENDLVdpbjMyIDIwMDYtMDMiCisrICAgICAgICJWaXN1YWwgQyAyMDA1IgorKyAqKioqKioqKioqKioqKioKKysgKioqIDIxMiwyMjEgKioqKgorKyAgICNkZWZpbmUgT05FX1BBU1MgICAgICAgICAgICBUUlVFCisrICAgI2VuZGlmCisrICAgI2RlZmluZSBDT01QSUxFUl9FWFQgICAgICAgICJfTVNDX1ZFUiIKKysgISAjZGVmaW5lIENPTVBJTEVSX0VYVF9WQUwgICAgIjE1MDAiICAgICAgLyogVkMgNi4wOiAiMTIwMCIgICAqLworKyAgICAgICAvKiBWQyAyMDAyOiAiMTMwMCIsIFZDIDIwMDM6ICIxMzEwIiwgVkMgMjAwNTogIjE0MDAiLCBWQyAyMDA4OiAiMTUwMCIgICAqLworKyAgICNkZWZpbmUgQ09NUElMRVJfRVhUMiAgICAgICAiX01TQ19GVUxMX1ZFUiIKKysgISAjZGVmaW5lIENPTVBJTEVSX0VYVDJfVkFMICAgIjE1MDAyMTAyMiIgLyogVkMgNi4wOiAiMTIwMDg4MDQiICAgICAgICovCisrICAgICAgIC8qIFZDIDIwMDI6ICIxMzAwOTQ2NiIsIFZDIDIwMDM6ICIxMzEwMzA3NyIsIFZDIDIwMDU6ICIxNDAwNTAzMjAiICAgICAgICovCisrICAgICAgIC8qIFZDIDIwMDg6ICIxNTAwMjEwMjIiICovCisrICAgI2RlZmluZSBDT01QSUxFUl9TUDEgICAgICAgICJfTVNDX0VYVEVOU0lPTlMiCisrIC0tLSAyMTIsMjIxIC0tLS0KKysgICAjZGVmaW5lIE9ORV9QQVNTICAgICAgICAgICAgVFJVRQorKyAgICNlbmRpZgorKyAgICNkZWZpbmUgQ09NUElMRVJfRVhUICAgICAgICAiX01TQ19WRVIiCisrICEgI2RlZmluZSBDT01QSUxFUl9FWFRfVkFMICAgICIxNjAwIiAgICAgIC8qIFZDIDYuMDogIjEyMDAiICAgKi8KKysgICAgICAgLyogVkMgMjAwMjogIjEzMDAiLCBWQyAyMDAzOiAiMTMxMCIsIFZDIDIwMDU6ICIxNDAwIiwgVkMgMjAwODogIjE1MDAiICAgKi8KKysgICAjZGVmaW5lIENPTVBJTEVSX0VYVDIgICAgICAgIl9NU0NfRlVMTF9WRVIiCisrICEgI2RlZmluZSBDT01QSUxFUl9FWFQyX1ZBTCAgICIxNjAwMzAzMTkiIC8qIFZDIDYuMDogIjEyMDA4ODA0IiAgICAgICAqLworKyAgICAgICAvKiBWQyAyMDAyOiAiMTMwMDk0NjYiLCBWQyAyMDAzOiAiMTMxMDMwNzciLCBWQyAyMDA1OiAiMTQwMDUwMzIwIiAgICAgICAqLworKyAgICAgICAvKiBWQyAyMDA4OiAiMTUwMDIxMDIyIiAqLworKyAgICNkZWZpbmUgQ09NUElMRVJfU1AxICAgICAgICAiX01TQ19FWFRFTlNJT05TIgorZGlmZiAtciAtYyAtTiAuLi9tY3BwLTIuNy4yLW9sZC9zcmMvaW50ZXJuYWwuSCAuL3NyYy9pbnRlcm5hbC5ICisqKiogLi4vbWNwcC0yLjcuMi1vbGQvc3JjL2ludGVybmFsLkgJV2VkIEF1ZyAyNyAxMDozMToxNiAyMDA4CistLS0gLi9zcmMvaW50ZXJuYWwuSAlGcmkgTWF5IDE0IDEyOjQwOjU2IDIwMTAKKyoqKioqKioqKioqKioqKgorKioqIDM5MCwzOTUgKioqKgorLS0tIDM5MCwzOTcgLS0tLQorICBleHRlcm4gY2hhciAgICAgaWRlbnRpZmllcltdOyAgICAgICAvKiBMYXN0bHkgc2Nhbm5lZCBuYW1lICAgICAgICAgICovCisgIGV4dGVybiBJRklORk8gICBpZnN0YWNrW107ICAgICAgICAgIC8qIEluZm9ybWF0aW9uIG9mICNpZiBuZXN0aW5nICAgKi8KKyAgZXh0ZXJuIGNoYXIgICAgIHdvcmtfYnVmW107CisrIGV4dGVybiBGSUxFSU5GTyAqIHNoX2ZpbGU7CisrIGV4dGVybiBpbnQgICAgICBzaF9saW5lOworICAgICAgICAgIC8qIFRlbXBvcmFyeSBidWZmZXIgZm9yIGRpcmVjdGl2ZSBsaW5lIGFuZCBtYWNybyBleHBhbnNpb24gICovCisgIAorICAvKiBtYWluLmMgICAqLworKioqKioqKioqKioqKioqCisqKiogNTU3LDU2MiAqKioqCisgICNlbmRpZgorICAjZW5kaWYKKyAgCishICNpZiBIT1NUX0hBVkVfU1RQQ1BZCisgIGV4dGVybiBjaGFyICogICBzdHBjcHkoIGNoYXIgKiBkZXN0LCBjb25zdCBjaGFyICogc3JjKTsKKyAgI2VuZGlmCistLS0gNTU5LDU2NCAtLS0tCisgICNlbmRpZgorICAjZW5kaWYKKyAgCishICNpZiBIT1NUX0hBVkVfU1RQQ1BZICYmICFkZWZpbmVkKHN0cGNweSkKKyAgZXh0ZXJuIGNoYXIgKiAgIHN0cGNweSggY2hhciAqIGRlc3QsIGNvbnN0IGNoYXIgKiBzcmMpOworICAjZW5kaWYKK2RpZmYgLXIgLWMgLU4gLi4vbWNwcC0yLjcuMi1vbGQvc3JjL21haW4uYyAuL3NyYy9tYWluLmMKKyoqKiAuLi9tY3BwLTIuNy4yLW9sZC9zcmMvbWFpbi5jCVdlZCBOb3YgIDUgMDU6MDQ6NDYgMjAwOAorLS0tIC4vc3JjL21haW4uYwlGcmkgTWF5IDE0IDEyOjQwOjU2IDIwMTAKKyoqKioqKioqKioqKioqKgorKioqIDMyNiwzMzEgKioqKgorLS0tIDMyNiwzMzMgLS0tLQorICAgICAgICAgICAgICA9IEZBTFNFOworICAgICAgb3B0aW9uX2ZsYWdzLnRyaWcgPSBUUklHUkFQSFNfSU5JVDsKKyAgICAgIG9wdGlvbl9mbGFncy5kaWcgPSBESUdSQVBIU19JTklUOworKyAgICAgc2hfZmlsZSA9IE5VTEw7CisrICAgICBzaF9saW5lID0gMDsKKyAgfQorICAKKyAgaW50ICAgICBtY3BwX2xpYl9tYWluCitkaWZmIC1yIC1jIC1OIC4uL21jcHAtMi43LjItb2xkL3NyYy9zdXBwb3J0LmMgLi9zcmMvc3VwcG9ydC5jCisqKiogLi4vbWNwcC0yLjcuMi1vbGQvc3JjL3N1cHBvcnQuYwlUdWUgSnVuIDEwIDA2OjAyOjMzIDIwMDgKKy0tLSAuL3NyYy9zdXBwb3J0LmMJRnJpIE1heSAxNCAxMjo0MDo1NiAyMDEwCisqKioqKioqKioqKioqKioKKyoqKiAxODgsMTk0ICoqKioKKyAgICAgIHNpemVfdCAgICAgIGxlbmd0aAorICApCisgIHsKKyEgICAgIGlmIChtZW1fYnVmX3AtPmJ5dGVzX2F2YWlsIDwgbGVuZ3RoKSB7ICAvKiBOZWVkIHRvIGFsbG9jYXRlIG1vcmUgbWVtb3J5ICovCisgICAgICAgICAgc2l6ZV90IHNpemUgPSBNQVgoIEJVRl9JTkNSX1NJWkUsIGxlbmd0aCk7CisgIAorICAgICAgICAgIGlmIChtZW1fYnVmX3AtPmJ1ZmZlciA9PSBOVUxMKSB7ICAgICAgICAgICAgLyogMXN0IGFwcGVuZCAgICovCistLS0gMTg4LDE5NCAtLS0tCisgICAgICBzaXplX3QgICAgICBsZW5ndGgKKyAgKQorICB7CishICAgICBpZiAobWVtX2J1Zl9wLT5ieXRlc19hdmFpbCA8IGxlbmd0aCArIDEpIHsgIC8qIE5lZWQgdG8gYWxsb2NhdGUgbW9yZSBtZW1vcnkgKi8KKyAgICAgICAgICBzaXplX3Qgc2l6ZSA9IE1BWCggQlVGX0lOQ1JfU0laRSwgbGVuZ3RoKTsKKyAgCisgICAgICAgICAgaWYgKG1lbV9idWZfcC0+YnVmZmVyID09IE5VTEwpIHsgICAgICAgICAgICAvKiAxc3QgYXBwZW5kICAgKi8KKyoqKioqKioqKioqKioqKgorKioqIDE3MjIsMTcyNyAqKioqCistLS0gMTcyMiwxNzI5IC0tLS0KKyAgICAgICAgICAgICAgICAgICAgICBzcCAtPSAyOworICAgICAgICAgICAgICAgICAgICAgIHdoaWxlICgqc3AgIT0gJ1xuJykgICAgIC8qIFVudGlsIGVuZCBvZiBsaW5lICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICAgIG1jcHBfZnB1dGMoICpzcCsrLCBPVVQpOworKyAgICAgICAgICAgICAgICAgICAgIG1jcHBfZnB1dGMoICdcbicsIE9VVCk7CisrICAgICAgICAgICAgICAgICAgICAgd3JvbmdfbGluZSA9IFRSVUU7CisgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICBnb3RvICBlbmRfbGluZTsKKyAgICAgICAgICAgICAgZGVmYXVsdDogICAgICAgICAgICAgICAgICAgICAgICAvKiBOb3QgYSBjb21tZW50ICAgICAgICAqLworZGlmZiAtciAtYyAtTiAuLi9tY3BwLTIuNy4yLW9sZC9zcmMvc3lzdGVtLmMgLi9zcmMvc3lzdGVtLmMKKyoqKiAuLi9tY3BwLTIuNy4yLW9sZC9zcmMvc3lzdGVtLmMgICAgICAyMDA4LTExLTI2IDEwOjUzOjUxLjAwMDAwMDAwMCArMDEwMAorLS0tIC4vc3JjL3N5c3RlbS5jICAgICAgMjAxMS0wMi0yMSAxNjoxODowNS42NzgwNTgxMDYgKzAxMDAKKyoqKioqKioqKioqKioqKgorKioqIDM1MzQsMzUzOSAqKioqCistLS0gMzUzNCwzNTY1IC0tLS0KKyAgICAgIEZJTEVJTkZPICogICAgICBmaWxlOworICAgICAgY29uc3QgY2hhciAqICAgIHRvb19tYW55X2luY2x1ZGVfbmVzdCA9CisgICAgICAgICAgICAgICJNb3JlIHRoYW4gJS4wcyVsZCBuZXN0aW5nIG9mICNpbmNsdWRlIjsgICAgLyogX0ZfIF9XNF8gKi8KKysgICAgICAgICAgICAgCisrICAgICAvLworKyAgICAgLy8gV2hlbiBlbmNvZGluZyBpcyBVVEYtOCwgc2tpcCBCT00gaWYgcHJlc2VudC4KKysgICAgIC8vCisrICAgICBpZihtYmNoYXIgPT0gVVRGOCAmJiBmcCAhPSBOVUxMICYmIGZ0ZWxsKGZwKSA9PSAwKQorKyAgICAgeworKyAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgVVRGOF9CT01bM10gPSB7MHhFRiwgMHhCQiwgMHhCRn07CisrICAgICAgICAgdW5zaWduZWQgY2hhciBGSUxFX0hFQURbM10gPSB7MCwgMCwgMH07CisrICAgICAgICAgaW50IGk7CisrICAgICAgICAgZm9yKGkgPSAwOyBpIDwgMzsgKytpKQorKyAgICAgICAgIHsKKysgICAgICAgICAgICAgRklMRV9IRUFEW2ldID0gZ2V0YyhmcCk7CisrICAgICAgICAgICAgIGlmKEZJTEVfSEVBRFtpXSAhPSBVVEY4X0JPTVtpXSkKKysgICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICAgaWYoRklMRV9IRUFEW2ldID09ICh1bnNpZ25lZCBjaGFyKUVPRikKKysgICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICAgICBpLS07CisrICAgICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgICAgICBmb3IoOyBpID49IDA7IC0taSkKKysgICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICAgICB1bmdldGMoRklMRV9IRUFEW2ldLCBmcCk7CisrICAgICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgICAgfQorKyAgICAgICAgIH0KKysgICAgIH0KKyAgCisgICAgICBmaWxlbmFtZSA9IHNldF9mbmFtZSggZmlsZW5hbWUpOyAgICAvKiBTZWFyY2ggb3IgYXBwZW5kIHRvIGZuYW1lbGlzdFtdICAqLworICAgICAgZnVsbG5hbWUgPSBzZXRfZm5hbWUoIGZ1bGxuYW1lKTsgICAgLyogU2VhcmNoIG9yIGFwcGVuZCB0byBmbmFtZWxpc3RbXSAgKi8KKyoqKioqKioqKioqKioqKgorKioqIDM4NTgsMzg2MyAqKioqCistLS0gMzg4NCwzODkyIC0tLS0KKyAgfQorICAjZW5kaWYKKyAgCisrIEZJTEVJTkZPKiAgICAgICBzaF9maWxlOworKyBpbnQgICAgICAgICAgICAgc2hfbGluZTsKKysgCisgIHZvaWQgICAgc2hhcnAoCisgICAgICBGSUxFSU5GTyAqICBzaGFycF9maWxlLAorICAgICAgaW50ICAgICAgICAgZmxhZyAgICAgICAgLyogRmxhZyB0byBhcHBlbmQgdG8gdGhlIGxpbmUgZm9yIEdDQyAgICovCisqKioqKioqKioqKioqKioKKyoqKiAzODY4LDM4NzUgKioqKgorICAgKiBlbHNlIChpLmUuICdzaGFycF9maWxlJyBpcyBOVUxMKSAnaW5maWxlJy4KKyAgICovCisgIHsKKy0gICAgIHN0YXRpYyBGSUxFSU5GTyAqICAgc2hfZmlsZTsKKy0gICAgIHN0YXRpYyBpbnQgIHNoX2xpbmU7CisgICAgICBGSUxFSU5GTyAqICBmaWxlOworICAgICAgaW50ICAgICAgICAgbGluZTsKKyAgCistLS0gMzg5NywzOTAyIC0tLS0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL21jcHAvbWNwcF8yLjcuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL21jcHAvbWNwcF8yLjcuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNzE2M2EzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbWNwcC9tY3BwXzIuNy4yLmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiTUNQUCBpcyBhIHBvcnRhYmxlIEMvQysrIHByZXByb2Nlc3NvciIKK0hPTUVQQUdFID0gImh0dHA6Ly9tY3BwLnNvdXJjZWZvcmdlLm5ldC8iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTVjYTM3MGI3NWVjODkwMzIxODg4YTAwY2VhOWJjMWQ1IgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9pY2UtbWNwcC5wYXRjaCAiCitTUkNfVVJJW21kNXN1bV0gPSAiNTEyZGU0OGM4N2FiMDIzYTY5MjUwZWRjN2EwYzdiMDUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2I5YjQ0MjE4ODg1MTk4NzZjNGZjNjhhZGUzMjRhM2JiZDgxY2VlYjcwOTJlY2RiYmMyMDU1MDk5ZmNiODg2NCIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworRVhUUkFfT0VDT05GID0gIiAtLWVuYWJsZS1tY3BwbGliICIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9tZW1zdGF0L21lbXN0YXRfMS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbWVtc3RhdC9tZW1zdGF0XzEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MjUyMTUzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbWVtc3RhdC9tZW1zdGF0XzEuMC5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gIkRpc3BsYXkgdmlydHVhbCBtZW1vcnkgYWxsb2NhdGlvbiIKK0RFU0NSSVBUSU9OID0gIkxpc3RzIGFsbCB0aGUgcHJvY2Vzc2VzLCBleGVjdXRhYmxlcywgYW5kIHNoYXJlZCBsaWJyYXJpZXMgXAordGhhdCBhcmUgdXNpbmcgdXAgdmlydHVhbCBtZW1vcnkuIEl0J3MgaGVscGZ1bCB0byBzZWUgaG93IHRoZSBzaGFyZWQgbWVtb3J5IFwKK2lzIHVzZWQgYW5kIHdoaWNoICdvbGQnIGxpYnMgYXJlIGxvYWRlZC4gXAorIgorSE9NRVBBR0UgPSAiaHR0cDovL21lbXN0YXR0b29sLnNvdXJjZWZvcmdlLm5ldC8iCitTRUNUSU9OID0gImRldnRvb2wiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCisKK1MgPSAiJHtXT1JLRElSfS9tZW1zdGF0dG9vbCIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZGViaWFuL2NvcHlyaWdodDttZDU9ODdiZTE4NjQ0M2IxYWMyY2ZhNDY2ZjQ3NWUxZWUwY2IiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9tZW1zdGF0dG9vbC9maWxlcy9tZW1zdGF0XyR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMmMzYWNjMGM2MmIyYTE4ZjY2MDFiODRlNTRhYTc0NjIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjQ1ZDVmYzdmYjg3YmNmZDE0NDg2Y2QzNDkxN2NhZTI4NTZlNzk5NTU5YWM1Njg0MzRhZjEyYzQ4NTJiY2U5NCIKKworZG9faW5zdGFsbF9hcHBlbmQoKXsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgbWVtc3RhdCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSBtZW1zdGF0LmNvbmYgJHtEfSR7c3lzY29uZmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke21hbmRpcn0vbWFuMQorICAgIGluc3RhbGwgLW0gMDY0NCBtZW1zdGF0LjEgJHtEfSR7bWFuZGlyfS9tYW4xCisgICAgaW5zdGFsbCAtZCAke0R9JHtkb2NkaXJ9LyR7QlBOfQorICAgIGluc3RhbGwgLW0gMDY0NCBtZW1zdGF0LXR1dG9yaWFsLnR4dCAke0R9JHtkb2NkaXJ9LyR7QlBOfQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbWVyY3VyaWFsL21lcmN1cmlhbC1uYXRpdmVfMy40LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9tZXJjdXJpYWwvbWVyY3VyaWFsLW5hdGl2ZV8zLjQuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMDNhMDMyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbWVyY3VyaWFsL21lcmN1cmlhbC1uYXRpdmVfMy40LjEuYmIKQEAgLTAsMCArMSwyNiBAQAorU1VNTUFSWSA9ICJUaGUgTWVyY3VyaWFsIGRpc3RyaWJ1dGVkIFNDTSIKK0hPTUVQQUdFID0gImh0dHA6Ly9tZXJjdXJpYWwuc2VsZW5pYy5jb20vIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorREVQRU5EUyA9ICJweXRob24tbmF0aXZlIgorCitTUkNfVVJJID0gImh0dHA6Ly9tZXJjdXJpYWwuc2VsZW5pYy5jb20vcmVsZWFzZS9tZXJjdXJpYWwtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjY1NzgzYTYwYWVmYjQ2YTExMjk2YjU4N2U5NDAzNTM3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdhOGFjZjczMjliZWRhMzhjZWVhMjljNjg5MjEyNTc0ZDlhNmJmZmZlMjRjZjU2NTAxNWVhMDA2NmY3Y2VlM2YiCisKK1MgPSAiJHtXT1JLRElSfS9tZXJjdXJpYWwtJHtQVn0iCisKK2luaGVyaXQgbmF0aXZlCisKK0VYVFJBX09FTUFLRSA9ICJTVEFHSU5HX0xJQkRJUj0ke1NUQUdJTkdfTElCRElSfSBTVEFHSU5HX0lOQ0RJUj0ke1NUQUdJTkdfSU5DRElSfSBcCisgICAgQlVJTERfU1lTPSR7QlVJTERfU1lTfSBIT1NUX1NZUz0ke0hPU1RfU1lTfSBQUkVGSVg9JHtwcmVmaXh9IgorCitkb19jb25maWd1cmVfYXBwZW5kICgpIHsKKyAgICBzZWQgLWkgLWUgJ3M6UFlUSE9OPXB5dGhvbjpQWVRIT049JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3B5dGhvbi1uYXRpdmUvcHl0aG9uOmcnICR7U30vTWFrZWZpbGUKK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgb2VfcnVubWFrZSAtZSBpbnN0YWxsLWJpbiBERVNURElSPSR7RH0gUFJFRklYPSR7cHJlZml4fQorfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9tcGljaC9tcGljaF8zLjEuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL21waWNoL21waWNoXzMuMS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkMDA5MDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9tcGljaC9tcGljaF8zLjEuMS5iYgpAQCAtMCwwICsxLDM5IEBACitTVU1NQVJZID0gIk1lc3NhZ2UgUGFzc2luZyBJbnRlcmZhY2UgKE1QSSkgaW1wbGVtZW50YXRpb24iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm1waWNoLm9yZy8iCitTRUNUSU9OID0gImRldmVsIgorCitMSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlSSUdIVDttZDU9MjEwNmYwNDM1MDU2ZjNkZDkzNDk3NDdhNzY2ZTU4MTYiCisKK1NSQ19VUkkgPSAiIFwKKwlodHRwOi8vd3d3Lm1waWNoLm9yZy9zdGF0aWMvZG93bmxvYWRzLyR7UFZ9L21waWNoLSR7UFZ9LnRhci5neiBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0MGRjNDA4YjFlMDNjYzM2ZDgwMjA5YmFhYTJkMzJiNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0NTVjY2ZhZjRlYzcyNGQyY2Y1ZDhiZmYxZjNkMjZhOTU4YWQxOTYxMjFlN2VhMjY1MDRmZDMwMTg3NTc2NTJkIgorCitDQUNIRURfQ09ORklHVVJFVkFSUyArPSAiQkFTSF9TSEVMTD0ke2Jhc2VfYmluZGlyfS9iYXNoIgorCitSREVQRU5EU18ke1BOfSArPSAiYmFzaCBwZXJsIGxpYnhtbDIiCitTID0gIiR7V09SS0RJUn0vJHtCUH0iCisKK0VYVFJBX09FQ09ORiA9ICItLWVuYWJsZS1kZWJ1Z2luZm8gXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWZhc3QgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLXNoYXJlZCAgXAorICAgICAgICAgICAgICAgIC0td2l0aC1wbT1nZm9ya2VyICBcCisJCS0tZGlzYWJsZS1ycGF0aCBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWY3NyBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWZjIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtZm9ydHJhbiBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWN4eCIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIGdldHRleHQKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgYXV0b3JlY29uZiAtLXZlcmJvc2UgLS1pbnN0YWxsIC0tZm9yY2UgLUkgLiAtSSBjb25mZGIvIC1JIG1haW50LworICAgIG9lX3J1bmNvbmYKKyAgICBleGl0Cit9CisKKyMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzM1MTQ2LworUE5CTEFDS0xJU1RbbXBpY2hdID89ICJCUk9LRU46IFFBIElzc3VlOiBsaWJtcGkubGEgZmFpbGVkIHNhbml0eSB0ZXN0ICh3b3JrZGlyKSwgUUEgSXNzdWU6IG1waWNoLnBjIGZhaWxlZCBzYW5pdHkgdGVzdCAodG1wZGlyKSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL21zci10b29scy9tc3ItdG9vbHNfMS4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbXNyLXRvb2xzL21zci10b29sc18xLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTQ3MDFhZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL21zci10b29scy9tc3ItdG9vbHNfMS4zLmJiCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAidXRpbGllcyB0byByZWFkIGFuZCB3cml0ZSBJbnRlbCBtb2RlbC1zcGVjaWZpYyByZWdpc3RlcnMiCitIT01FUEFHRSA9ICJodHRwczovLzAxLm9yZy9tc3ItdG9vbHMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTWFrZWZpbGU7YmVnaW5saW5lPTE7ZW5kbGluZT0xMTttZDU9Njc4YTM5MjhjODU2MDQyNDI0YzczNGY0YTc1ODZlNjUiCitTRUNUSU9OID0gImRldmVsIgorCitTUkNfVVJJID0gImh0dHBzOi8vMDEub3JnL3NpdGVzL2RlZmF1bHQvZmlsZXMvZG93bmxvYWRzL21zci10b29scy9tc3ItdG9vbHMtJHtQVn0uemlwIgorU1JDX1VSSVttZDVzdW1dID0gIjY3ZDE4NTI3ZjY0ZmQ3MDdjOWI3YTc5ZjEzZDE5ZmQ1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImY5NDU3YjUzNDBmNWYyNzRkYTQyMzlhNDYxZjBkYjZiNTE0MTQyYjQwNDYxNTU5ZDljNjE1MGYwNWFhYjFkMWUiCisKK1MgPSAiJHtXT1JLRElSfS9tc3ItdG9vbHMtbWFzdGVyIgorCitDT01QQVRJQkxFX0hPU1QgPSAnKGkuODZ8eDg2XzY0KS4qLWxpbnV4JworCitFWFRSQV9PRU1BS0UgPSAiLWUgTUFLRUZMQUdTPSIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1IHJkbXNyICR7RH0ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1IHdybXNyICR7RH0ke3NiaW5kaXJ9Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9uaW5qYS9uaW5qYS1uYXRpdmVfMS42LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9uaW5qYS9uaW5qYS1uYXRpdmVfMS42LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzAwNzEwYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL25pbmphL25pbmphLW5hdGl2ZV8xLjYuMC5iYgpAQCAtMCwwICsxLDI1IEBACitTVU1NQVJZID0gIk5pbmphIGlzIGEgc21hbGwgYnVpbGQgc3lzdGVtIHdpdGggYSBmb2N1cyBvbiBzcGVlZC4iCitIT01FUEFHRSA9ICJodHRwOi8vbWFydGluZS5naXRodWIuY29tL25pbmphLyIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWE4MTU4NmE2NGFkNGU0NzZjNzkxY2RhN2UyZjJjNTJlIgorCitERVBFTkRTID0gInJlMmMtbmF0aXZlIgorCitpbmhlcml0IG5hdGl2ZQorCitTUkNSRVY9IjQ4NGMxNjMzNmYxOWJkODk3MGJiNmU3NTMyMmQ2MWI5MmEyMjk4OTkiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9tYXJ0aW5lL25pbmphLmdpdDticmFuY2g9cmVsZWFzZSIKKworUz0iJHtXT1JLRElSfS9naXQiCisKK2RvX2NvbmZpZ3VyZVtub2V4ZWNdID0gIjEiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgcHl0aG9uICR7U30vY29uZmlndXJlLnB5IC0tYm9vdHN0cmFwCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vbmluamEgJHtEfSR7YmluZGlyfS8KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL25vZGVqcy9ub2RlanMvbm8tcmVnaXN0cnkucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzL25vLXJlZ2lzdHJ5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkMjQ3MzgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzL25vLXJlZ2lzdHJ5LnBhdGNoCkBAIC0wLDAgKzEsNTkgQEAKK0J1Z2ZpeCBmb3IgLS1uby1yZWdpc3RyeSBpbiBub2RlanMtdjAuMTIuMgorCitkaWZmIC11IC1yIG5vZGUtdjAuMTIuMl9kZWYvZGVwcy9ucG0vbGliL2NhY2hlL2NhY2hpbmctY2xpZW50LmpzIG5vZGUtdjAuMTIuMi9kZXBzL25wbS9saWIvY2FjaGUvY2FjaGluZy1jbGllbnQuanMKKy0tLSBub2RlLXYwLjEyLjJfZGVmL2RlcHMvbnBtL2xpYi9jYWNoZS9jYWNoaW5nLWNsaWVudC5qcwkyMDE1LTA0LTAxIDAxOjEzOjAxLjAwMDAwMDAwMCArMDMwMAorKysrIG5vZGUtdjAuMTIuMi9kZXBzL25wbS9saWIvY2FjaGUvY2FjaGluZy1jbGllbnQuanMJMjAxNS0wNS0xOCAwMDo0NzoxMC43Mzg1OTk2ODYgKzAzMDAKK0BAIC02Nyw2ICs2NywyMiBAQAorICAgdmFyIGNhY2hlQmFzZSA9IGNhY2hlRmlsZShucG0uY29uZmlnLmdldCgiY2FjaGUiKSkodXJpKQorICAgdmFyIGNhY2hlUGF0aCA9IHBhdGguam9pbihjYWNoZUJhc2UsICIuY2FjaGUuanNvbiIpCisgCisrICBpZiAocGFyc2VkLmhvc3QgPT09ICJub3JlZ2lzdHJ5IikgKGZ1bmN0aW9uKCkgeworKyAgICB2YXIgc3RhdCA9IG51bGwKKysgICAgdmFyIGZpbGUgPSBucG0uY29uZmlnLmdldCgiY2FjaGUiKSArIHBhcnNlZC5wYXRobmFtZSArICIvLmNhY2hlLmpzb24iCisrICAgIHRyeSB7CisrICAgICAgc3RhdCA9IGZzLnN0YXRTeW5jKGNhY2hlUGF0aCkKKysgICAgfSBjYXRjaCAoZXgpIHt9CisrICAgIGlmICghc3RhdCkgdHJ5IHsKKysgICAgICBzdGF0ID0gZnMuc3RhdFN5bmMoZmlsZSkgCisrICAgICAgY2FjaGVQYXRoID0gZmlsZQorKyAgICB9IGNhdGNoIChleCkgeworKyAgICAgIHN0YXQgPSAiUmVnaXN0cnkgbm90IGRlZmluZWQgYW5kIHJlZ2lzdHJ5IGZpbGVzIG5vdCBmb3VuZDogXCIiICsKKysgICAgICAgICAgICAgY2FjaGVQYXRoICsgIlwiLCBcIiIgKyBmaWxlICsgIlwiLiIKKysgICAgICB0aHJvdyBuZXcgRXJyb3Ioc3RhdCkKKysgICAgfQorKyAgfSkoKQorKworICAgLy8gSWYgdGhlIEdFVCBpcyBwYXJ0IG9mIGEgd3JpdGUgb3BlcmF0aW9uIChQVVQgb3IgREVMRVRFKSwgdGhlbgorICAgLy8gc2tpcCBwYXN0IHRoZSBjYWNoZSBlbnRpcmVseSwgYnV0IHN0aWxsIHNhdmUgdGhlIHJlc3VsdHMuCisgICBpZiAodXJpLm1hdGNoKC9cP3dyaXRlPXRydWUkLykpIHsKK0BAIC04MywxMiArOTksMTcgQEAKKyAgICAgICAgIH0KKyAgICAgICAgIGNhdGNoIChleCkgeworICAgICAgICAgICBkYXRhID0gbnVsbAorKyAgICAgICAgICBpZiAocGFyc2VkLmhvc3QgPT09ICJub3JlZ2lzdHJ5IikKKysgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkZpbGUgXCIiICsgY2FjaGVQYXRoKyJcIiIgKyAiIGNvcnJ1cHRlZC4iKQorICAgICAgICAgfQorIAorICAgICAgICAgcGFyYW1zLnN0YXQgPSBzdGF0CisgICAgICAgICBwYXJhbXMuZGF0YSA9IGRhdGEKKyAKKy0gICAgICAgIGdldF8uY2FsbChjbGllbnQsIHVyaSwgY2FjaGVQYXRoLCBwYXJhbXMsIGNiKQorKyAgICAgICAgaWYgKHBhcnNlZC5ob3N0ID09PSAibm9yZWdpc3RyeSIpCisrICAgICAgICAgIGNiKG51bGwsIGRhdGEsIEpTT04uc3RyaW5naWZ5KGRhdGEpLCB7IHN0YXR1c0NvZGUgOiAzMDQgfSkKKysgICAgICAgIGVsc2UKKysgICAgICAgICAgZ2V0Xy5jYWxsKGNsaWVudCwgdXJpLCBjYWNoZVBhdGgsIHBhcmFtcywgY2IpCisgICAgICAgfSkKKyAgICAgfQorICAgICBlbHNlIHsKK2RpZmYgLXUgLXIgbm9kZS12MC4xMi4yX2RlZi9kZXBzL25wbS9saWIvdXRpbHMvbWFwLXRvLXJlZ2lzdHJ5LmpzIG5vZGUtdjAuMTIuMi9kZXBzL25wbS9saWIvdXRpbHMvbWFwLXRvLXJlZ2lzdHJ5LmpzCistLS0gbm9kZS12MC4xMi4yX2RlZi9kZXBzL25wbS9saWIvdXRpbHMvbWFwLXRvLXJlZ2lzdHJ5LmpzCTIwMTUtMDQtMDEgMDE6MTM6MDEuMDAwMDAwMDAwICswMzAwCisrKysgbm9kZS12MC4xMi4yL2RlcHMvbnBtL2xpYi91dGlscy9tYXAtdG8tcmVnaXN0cnkuanMJMjAxNS0wNS0xOCAwMToxNToxMC4wMzA1Njk2MTMgKzAzMDAKK0BAIC00NSw2ICs0NSw4IEBACisgCisgICBsb2cuc2lsbHkoIm1hcFRvUmVnaXN0cnkiLCAicmVnaXN0cnkiLCByZWdpc3RyeSkKKyAKKysgIGlmICghcmVnaXN0cnkpIHJldHVybiBjYihudWxsLCAiaHR0cDovL25vcmVnaXN0cnkvIiArIG5hbWUsIHt9KQorKworICAgdmFyIGF1dGggPSBjb25maWcuZ2V0Q3JlZGVudGlhbHNCeVVSSShyZWdpc3RyeSkKKyAKKyAgIC8vIG5vcm1hbGl6ZSByZWdpc3RyeSBVUkwgc28gcmVzb2x1dGlvbiBkb2Vzbid0IGRyb3AgYSBwaWVjZSBvZiByZWdpc3RyeSBVUkwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL25vZGVqcy9ub2RlanNfNC40LjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzXzQuNC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzNzYxYWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzXzQuNC4zLmJiCkBAIC0wLDAgKzEsODQgQEAKK0RFU0NSSVBUSU9OID0gIm5vZGVKUyBFdmVudGVkIEkvTyBmb3IgVjggSmF2YVNjcmlwdCIKK0hPTUVQQUdFID0gImh0dHA6Ly9ub2RlanMub3JnIgorTElDRU5TRSA9ICJNSVQgJiBCU0QgJiBBcnRpc3RpYy0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT05NmFhMWFjMTIyYzQxZjhjMDhhMDY4M2Q0YjIxMjZiNSIKKworREVQRU5EUyA9ICJvcGVuc3NsIgorCitDT01QQVRJQkxFX01BQ0hJTkVfYXJtdjQgPSAiKCEuKmFybXY0KS4qIgorQ09NUEFUSUJMRV9NQUNISU5FX2FybXY1ID0gIighLiphcm12NSkuKiIKK0NPTVBBVElCTEVfTUFDSElORV9taXBzNjQgPSAiKCEuKm1pcHM2NCkuKiIKKworU1JDX1VSSSA9ICJodHRwOi8vbm9kZWpzLm9yZy9kaXN0L3Yke1BWfS9ub2RlLXYke1BWfS50YXIueHogXAorICAgIGZpbGU6Ly9uby1yZWdpc3RyeS5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiNzRlODNjOWM1MTJiZDk5YjM4YTAyZWRkNzQwYjQzMzQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTc0OTliYjBiMWI4NjA4MDQ1OWQ0MDY2ZTNjMTM4NTc5YTI3OGIyZDBiMWY1YjJmMTllNjZjNjliNGU4NDMzYyIKKworUyA9ICIke1dPUktESVJ9L25vZGUtdiR7UFZ9IgorCisjIHY4IGVycm9ycyBvdXQgaWYgeW91IGhhdmUgc2V0IENDQUNIRQorQ0NBQ0hFID0gIiIKKworZGVmIG1hcF9ub2RlanNfYXJjaChhLCBkKToKKyAgICBpbXBvcnQgcmUKKworICAgIGlmICAgcmUubWF0Y2goJ2kuODYkJywgYSk6IHJldHVybiAnaWEzMicKKyAgICBlbGlmIHJlLm1hdGNoKCd4ODZfNjQkJywgYSk6IHJldHVybiAneDY0JworICAgIGVsaWYgcmUubWF0Y2goJ2FhcmNoNjQkJywgYSk6IHJldHVybiAnYXJtNjQnCisgICAgZWxpZiByZS5tYXRjaCgncG93ZXJwYzY0JCcsIGEpOiByZXR1cm4gJ3BwYzY0JworICAgIGVsaWYgcmUubWF0Y2goJ3Bvd2VycGMkJywgYSk6IHJldHVybiAncHBjJworICAgIHJldHVybiBhCisKK0FSQ0hGTEFHU19hcm0gPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY2FsbGNvbnZlbnRpb24taGFyZCcsICctLXdpdGgtYXJtLWZsb2F0LWFiaT1oYXJkJywgJy0td2l0aC1hcm0tZmxvYXQtYWJpPXNvZnRmcCcsIGQpfSIKK0dZUF9ERUZJTkVTX2FwcGVuZF9taXBzZWwgPSAiIG1pcHNfYXJjaF92YXJpYW50PSdyMScgIgorQVJDSEZMQUdTID89ICIiCisKKyMgTm9kZSBpcyB3YXkgdG9vIGNvb2wgdG8gdXNlIHByb3BlciBhdXRvdG9vbHMsIHNvIHdlIGluc3RhbGwgdHdvIHdyYXBwZXJzIHRvIGZvcmNlZnVsbHkgaW5qZWN0IHByb3BlciBhcmNoIGNmbGFncyB0byB3b3JrYXJvdW5kIGd5cGkKK2RvX2NvbmZpZ3VyZSAoKSB7CisgICAgZXhwb3J0IExEPSIke0NYWH0iCisgICAgR1lQX0RFRklORVM9IiR7R1lQX0RFRklORVN9IiBleHBvcnQgR1lQX0RFRklORVMKKyAgICAjICRUQVJHRVRfQVJDSCBzZXR0aW5ncyBkb24ndCBtYXRjaCAtLWRlc3QtY3B1IHNldHRpbmdzCisgICAuL2NvbmZpZ3VyZSAtLXByZWZpeD0ke3ByZWZpeH0gLS13aXRob3V0LXNuYXBzaG90IC0tc2hhcmVkLW9wZW5zc2wgXAorICAgICAgICAgICAgICAgLS1kZXN0LWNwdT0iJHtAbWFwX25vZGVqc19hcmNoKGQuZ2V0VmFyKCdUQVJHRVRfQVJDSCcsIFRydWUpLCBkKX0iIFwKKyAgICAgICAgICAgICAgIC0tZGVzdC1vcz1saW51eCBcCisgICAgICAgICAgICAgICAke0FSQ0hGTEFHU30KK30KKworZG9fY29tcGlsZSAoKSB7CisgICAgZXhwb3J0IExEPSIke0NYWH0iCisgICAgb2VfcnVubWFrZSBCVUlMRFRZUEU9UmVsZWFzZQorfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9Cit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKKyAgICAjIHVzZSBub2RlIGZyb20gUEFUSCBpbnN0ZWFkIG9mIGFic29sdXRlIHBhdGggdG8gc3lzcm9vdAorICAgICMgbm9kZS12MC4xMC4yNS90b29scy9pbnN0YWxsLnB5IGlzIHVzaW5nOgorICAgICMgc2hlYmFuZyA9IG9zLnBhdGguam9pbihub2RlX3ByZWZpeCwgJ2Jpbi9ub2RlJykKKyAgICAjIHVwZGF0ZV9zaGViYW5nKGxpbmtfcGF0aCwgc2hlYmFuZykKKyAgICAjIGFuZCBub2RlX3ByZWZpeCBjYW4gYmUgdmVyeSBsb25nIHBhdGggdG8gYmluZGlyIGluIG5hdGl2ZSBzeXNyb290IGFuZAorICAgICMgd2hlbiBpdCBleGNlZWRzIDEyOCBjaGFyYWN0ZXIgc2hlYmFuZyBsaW1pdCBpdCdzIHN0cmlwcGVkIHRvIGluY29ycmVjdCBwYXRoCisgICAgIyBhbmQgbnBtIGZhaWxzIHRvIGV4ZWN1dGUgbGlrZSBpbiB0aGlzIGNhc2Ugd2l0aCAxMzMgY2hhcmFjdGVycyBzaG93IGluIGxvZy5kb19pbnN0YWxsOgorICAgICMgdXBkYXRpbmcgc2hlYmFuZyBvZiAvaG9tZS9qZW5raW5zL3dvcmtzcGFjZS9idWlsZC13ZWJvcy1uaWdodGx5L2RldmljZS9xZW11eDg2L2xhYmVsL29wZW4td2Vib3MtYnVpbGRlci9CVUlMRC1xZW11eDg2L3dvcmsveDg2XzY0LWxpbnV4L25vZGVqcy1uYXRpdmUvMC4xMC4xNS1yMC9pbWFnZS9ob21lL2plbmtpbnMvd29ya3NwYWNlL2J1aWxkLXdlYm9zLW5pZ2h0bHkvZGV2aWNlL3FlbXV4ODYvbGFiZWwvb3Blbi13ZWJvcy1idWlsZGVyL0JVSUxELXFlbXV4ODYvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9iaW4vbnBtIHRvIC9ob21lL2plbmtpbnMvd29ya3NwYWNlL2J1aWxkLXdlYm9zLW5pZ2h0bHkvZGV2aWNlL3FlbXV4ODYvbGFiZWwvb3Blbi13ZWJvcy1idWlsZGVyL0JVSUxELXFlbXV4ODYvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9iaW4vbm9kZQorICAgICMgL3Vzci9iaW4vbnBtIGlzIHN5bWxpbmsgdG8gL3Vzci9saWIvbm9kZV9tb2R1bGVzL25wbS9iaW4vbnBtLWNsaS5qcworICAgICMgdXNlIHNlZCBvbiBucG0tY2xpLmpzIGJlY2F1c2Ugb3RoZXJ3aXNlIHN5bWxpbmsgaXMgcmVwbGFjZWQgd2l0aCBub3JtYWwgZmlsZSBhbmQKKyAgICAjIG5wbS1jbGkuanMgY29udGludWVzIHRvIHVzZSBvbGQgc2hlYmFuZworICAgIHNlZCAiMXNeLipeI1whL3Vzci9iaW4vZW52IG5vZGVeZyIgLWkgJHtEfSR7ZXhlY19wcmVmaXh9L2xpYi9ub2RlX21vZHVsZXMvbnBtL2Jpbi9ucG0tY2xpLmpzCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKKyAgICBzZWQgIjFzXi4qXiNcISR7YmluZGlyfS9lbnYgbm9kZV5nIiAtaSAke0R9JHtleGVjX3ByZWZpeH0vbGliL25vZGVfbW9kdWxlcy9ucG0vYmluL25wbS1jbGkuanMKK30KKworUEFDS0FHRVMgPSsgIiR7UE59LW5wbSIKK0ZJTEVTXyR7UE59LW5wbSA9ICIke2V4ZWNfcHJlZml4fS9saWIvbm9kZV9tb2R1bGVzICR7YmluZGlyfS9ucG0iCitSREVQRU5EU18ke1BOfS1ucG0gPSAiYmFzaCBweXRob24tc2hlbGwgcHl0aG9uLWRhdGV0aW1lIHB5dGhvbi1zdWJwcm9jZXNzIHB5dGhvbi10ZXh0dXRpbHMiCisKK1BBQ0tBR0VTID0rICIke1BOfS1zeXN0ZW10YXAiCitGSUxFU18ke1BOfS1zeXN0ZW10YXAgPSAiJHtkYXRhZGlyfS9zeXN0ZW10YXAiCisKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1zZGstdGFyZ2V0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtc2RrLXRhcmdldC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNGU3NWRjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtc2RrLXRhcmdldC5iYgpAQCAtMCwwICsxLDI4IEBACitTVU1NQVJZID0gIlBhY2thZ2VzIHJlcXVpcmVkIGZvciBhIHRhcmdldCAob24tZGV2aWNlKSBTREsiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L0xJQ0VOU0U7bWQ1PTRkOTJjZDM3M2FiZGEzOTM3YzJiYzQ3ZmJjNDlkNjkwIgorCitQUiA9ICJyMSIKKworaW5oZXJpdCBwYWNrYWdlZ3JvdXAgYWxsYXJjaAorCitSUFJPVklERVNfJHtQTn0gKz0gInBhY2thZ2Vncm91cC1uYXRpdmUtc2RrIgorUlJFUExBQ0VTXyR7UE59ICs9ICJwYWNrYWdlZ3JvdXAtbmF0aXZlLXNkayIKK1JDT05GTElDVFNfJHtQTn0gKz0gInBhY2thZ2Vncm91cC1uYXRpdmUtc2RrIgorUkRFUEVORFNfJHtQTn0gPSAiZ2NjLXN5bWxpbmtzIGcrKy1zeW1saW5rcyBjcHAgY3BwLXN5bWxpbmtzIFwKKyAgICAgICAgICAgICAgICAgIGJpbnV0aWxzLXN5bWxpbmtzIFwKKyAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlcyBcCisgICAgICAgICAgICAgICAgICBmbGV4IGZsZXgtZGV2IFwKKyAgICAgICAgICAgICAgICAgIGJpc29uIFwKKyAgICAgICAgICAgICAgICAgIGdhd2sgXAorICAgICAgICAgICAgICAgICAgc2VkIFwKKyAgICAgICAgICAgICAgICAgIGdyZXAgXAorICAgICAgICAgICAgICAgICAgYXV0b2NvbmYgYXV0b21ha2UgXAorICAgICAgICAgICAgICAgICAgbWFrZSBcCisgICAgICAgICAgICAgICAgICBwYXRjaCBkaWZmc3RhdCBkaWZmdXRpbHMgXAorICAgICAgICAgICAgICAgICAgbGlic3RkYysrLWRldiBcCisgICAgICAgICAgICAgICAgICBsaWJ0b29sIGxpYnRvb2wtZGV2IFwKKyAgICAgICAgICAgICAgICAgIHBrZ2NvbmZpZyIKKworIyB1c2VmdWxsLCBidXQgbm90IGluIG9lLWNvcmUvbWV0YS1vZSB5ZXQ6IHBhdGNodXRpbHMKK1JSRUNPTU1FTkRTXyR7UE59ID0gIiBnNzctc3ltbGlua3MgZ2ZvcnRyYW4tc3ltbGlua3MiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wYWNrYWdla2l0L3BhY2thZ2VraXQtMC41LjYvMDAwMS1Eb24tdC1jYWxsLWRlcHJlY2F0ZWQtZ2xpYi1mdW5jdGlvbnMtYW5kLXVzZS10aGUtbmV3LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGFja2FnZWtpdC9wYWNrYWdla2l0LTAuNS42LzAwMDEtRG9uLXQtY2FsbC1kZXByZWNhdGVkLWdsaWItZnVuY3Rpb25zLWFuZC11c2UtdGhlLW5ldy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lY2Y4ZTc0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGFja2FnZWtpdC9wYWNrYWdla2l0LTAuNS42LzAwMDEtRG9uLXQtY2FsbC1kZXByZWNhdGVkLWdsaWItZnVuY3Rpb25zLWFuZC11c2UtdGhlLW5ldy5wYXRjaApAQCAtMCwwICsxLDE2NiBAQAorRnJvbSA4NjllNTJhOTA1NWM3Mjk3MGZlZDAzNmExNTEwZjY3NmU2Y2UwODI0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMTMgSnVuIDIwMTMgMDE6MjQ6MTkgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gRG9uJ3QgY2FsbCBkZXByZWNhdGVkIGdsaWIgZnVuY3Rpb25zIGFuZCB1c2UgdGhlIG5ldyBndGhyZWFkCisgQVBJLgorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGVbdmVyc2lvbiBVbm1haW50YWluZWQgVXBzdHJlYW1dCistLS0KKyBjbGllbnQvcGstY29uc29sZS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAzICsrLQorIGNsaWVudC9way1nZW5lcmF0ZS1wYWNrLmMgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDMgKystCisgY2xpZW50L3BrLW1vbml0b3IuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMyArKy0KKyBjb250cmliL2NvbW1hbmQtbm90LWZvdW5kL1BhY2thZ2VLaXQuc2ggICAgICAgICAgfCAgICAyICstCisgY29udHJpYi9jb21tYW5kLW5vdC1mb3VuZC9way1jb21tYW5kLW5vdC1mb3VuZC5jIHwgICAgNCArKy0tCisgY29udHJpYi9kZWJ1Z2luZm8taW5zdGFsbC9way1kZWJ1Z2luZm8taW5zdGFsbC5jIHwgICAgNCArKy0tCisgc3JjL3BrLWJhY2tlbmQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNyArKysrKysrCisgc3JjL3BrLW1haW4uYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNCArKy0tCisgMTAgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jbGllbnQvcGstY29uc29sZS5jIGIvY2xpZW50L3BrLWNvbnNvbGUuYworaW5kZXggZGU5MjdlMS4uMjQzNWYyNyAxMDA2NDQKKy0tLSBhL2NsaWVudC9way1jb25zb2xlLmMKKysrKyBiL2NsaWVudC9way1jb25zb2xlLmMKK0BAIC0xMjY0LDExICsxMjY0LDEyIEBAIG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCWJpbmR0ZXh0ZG9tYWluIChHRVRURVhUX1BBQ0tBR0UsIFBBQ0tBR0VfTE9DQUxFX0RJUik7CisgCWJpbmRfdGV4dGRvbWFpbl9jb2Rlc2V0IChHRVRURVhUX1BBQ0tBR0UsICJVVEYtOCIpOworIAl0ZXh0ZG9tYWluIChHRVRURVhUX1BBQ0tBR0UpOworLQorKyNpZiAhR0xJQl9DSEVDS19WRVJTSU9OKDIsMzIsMCkKKyAJaWYgKCEgZ190aHJlYWRfc3VwcG9ydGVkICgpKQorIAkJZ190aHJlYWRfaW5pdCAoTlVMTCk7CisgCWdfdHlwZV9pbml0ICgpOworIAlkYnVzX2dfdGhyZWFkX2luaXQgKCk7CisrI2VuZGlmCisgCisgCS8qIGRvIHN0dWZmIG9uIGN0cmwtYyAqLworIAlzaWduYWwgKFNJR0lOVCwgcGtfY29uc29sZV9zaWdpbnRfY2IpOworZGlmZiAtLWdpdCBhL2NsaWVudC9way1nZW5lcmF0ZS1wYWNrLmMgYi9jbGllbnQvcGstZ2VuZXJhdGUtcGFjay5jCitpbmRleCAwYjJiNDBmLi4yMGQ3ZThkIDEwMDY0NAorLS0tIGEvY2xpZW50L3BrLWdlbmVyYXRlLXBhY2suYworKysrIGIvY2xpZW50L3BrLWdlbmVyYXRlLXBhY2suYworQEAgLTI1MSwxMiArMjUxLDEzIEBAIG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCWJpbmR0ZXh0ZG9tYWluIChHRVRURVhUX1BBQ0tBR0UsIFBBQ0tBR0VfTE9DQUxFX0RJUik7CisgCWJpbmRfdGV4dGRvbWFpbl9jb2Rlc2V0IChHRVRURVhUX1BBQ0tBR0UsICJVVEYtOCIpOworIAl0ZXh0ZG9tYWluIChHRVRURVhUX1BBQ0tBR0UpOworLQorKyNpZiAhR0xJQl9DSEVDS19WRVJTSU9OKDIsMzIsMCkKKyAJaWYgKCEgZ190aHJlYWRfc3VwcG9ydGVkICgpKQorIAkJZ190aHJlYWRfaW5pdCAoTlVMTCk7CisgCisgCWdfdHlwZV9pbml0ICgpOworIAlkYnVzX2dfdGhyZWFkX2luaXQgKCk7CisrI2VuZGlmCisgCisgCS8qIGRvIHN0dWZmIG9uIGN0cmwtYyAqLworIAlzaWduYWwgKFNJR0lOVCwgcGtfZ2VuZXJhdGVfcGFja19zaWdpbnRfY2IpOworZGlmZiAtLWdpdCBhL2NsaWVudC9way1tb25pdG9yLmMgYi9jbGllbnQvcGstbW9uaXRvci5jCitpbmRleCBmMjMwZjdhLi5kNDMwMDdmIDEwMDY0NAorLS0tIGEvY2xpZW50L3BrLW1vbml0b3IuYworKysrIGIvY2xpZW50L3BrLW1vbml0b3IuYworQEAgLTI4NSwxMSArMjg1LDEyIEBAIG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCWJpbmR0ZXh0ZG9tYWluIChHRVRURVhUX1BBQ0tBR0UsIFBBQ0tBR0VfTE9DQUxFX0RJUik7CisgCWJpbmRfdGV4dGRvbWFpbl9jb2Rlc2V0IChHRVRURVhUX1BBQ0tBR0UsICJVVEYtOCIpOworIAl0ZXh0ZG9tYWluIChHRVRURVhUX1BBQ0tBR0UpOworLQorKyNpZiAhR0xJQl9DSEVDS19WRVJTSU9OKDIsMzIsMCkKKyAJaWYgKCEgZ190aHJlYWRfc3VwcG9ydGVkICgpKQorIAkJZ190aHJlYWRfaW5pdCAoTlVMTCk7CisgCWdfdHlwZV9pbml0ICgpOworIAlkYnVzX2dfdGhyZWFkX2luaXQgKCk7CisrI2VuZGlmCisgCisgCWNvbnRleHQgPSBnX29wdGlvbl9jb250ZXh0X25ldyAoTlVMTCk7CisgCS8qIFRSQU5TTEFUT1JTOiB0aGlzIGlzIGEgcHJvZ3JhbSB0aGF0IG1vbml0b3JzIFBhY2thZ2VLaXQgKi8KK2RpZmYgLS1naXQgYS9jb250cmliL2NvbW1hbmQtbm90LWZvdW5kL1BhY2thZ2VLaXQuc2ggYi9jb250cmliL2NvbW1hbmQtbm90LWZvdW5kL1BhY2thZ2VLaXQuc2gKK2luZGV4IGQwODk4OWMuLmQ3MDhmZmYgMTAwNjQ0CistLS0gYS9jb250cmliL2NvbW1hbmQtbm90LWZvdW5kL1BhY2thZ2VLaXQuc2gKKysrKyBiL2NvbnRyaWIvY29tbWFuZC1ub3QtZm91bmQvUGFja2FnZUtpdC5zaAorQEAgLTE4LDcgKzE4LDcgQEAgY29tbWFuZF9ub3RfZm91bmRfaGFuZGxlICgpIHsKKyAKKyAJIyBydW4gdGhlIGNvbW1hbmQsIG9yIGp1c3QgcHJpbnQgYSB3YXJuaW5nCisgCWlmIFsgJHJ1bmNuZiAtZXEgMSBdOyB0aGVuCistCQkvaG9tZS9odWdoc2llLy5yb290L2xpYmV4ZWMvcGstY29tbWFuZC1ub3QtZm91bmQgJDEKKysJCS91c3IvbGliL3BhY2thZ2VraXQvcGstY29tbWFuZC1ub3QtZm91bmQgJDEKKyAJCXJldHZhbD0kPworIAllbHNlCisgCQllY2hvICJiYXNoOiAkMTogY29tbWFuZCBub3QgZm91bmQiCitkaWZmIC0tZ2l0IGEvY29udHJpYi9jb21tYW5kLW5vdC1mb3VuZC9way1jb21tYW5kLW5vdC1mb3VuZC5jIGIvY29udHJpYi9jb21tYW5kLW5vdC1mb3VuZC9way1jb21tYW5kLW5vdC1mb3VuZC5jCitpbmRleCA3MDY3OWMwLi45ZjgxY2U0IDEwMDY0NAorLS0tIGEvY29udHJpYi9jb21tYW5kLW5vdC1mb3VuZC9way1jb21tYW5kLW5vdC1mb3VuZC5jCisrKysgYi9jb250cmliL2NvbW1hbmQtbm90LWZvdW5kL3BrLWNvbW1hbmQtbm90LWZvdW5kLmMKK0BAIC02NTksMTIgKzY1OSwxMiBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAliaW5kdGV4dGRvbWFpbiAoR0VUVEVYVF9QQUNLQUdFLCBQQUNLQUdFX0xPQ0FMRV9ESVIpOworIAliaW5kX3RleHRkb21haW5fY29kZXNldCAoR0VUVEVYVF9QQUNLQUdFLCAiVVRGLTgiKTsKKyAJdGV4dGRvbWFpbiAoR0VUVEVYVF9QQUNLQUdFKTsKKy0KKysjaWYgIUdMSUJfQ0hFQ0tfVkVSU0lPTigyLDMyLDApCisgCWlmICghIGdfdGhyZWFkX3N1cHBvcnRlZCAoKSkKKyAJCWdfdGhyZWFkX2luaXQgKE5VTEwpOworIAlkYnVzX2dfdGhyZWFkX2luaXQgKCk7CisgCWdfdHlwZV9pbml0ICgpOworLQorKyNlbmRpZgorIAljb250ZXh0ID0gZ19vcHRpb25fY29udGV4dF9uZXcgKE5VTEwpOworIAkvKiBUUkFOU0xBVE9SUzogdG9vbCB0aGF0IGdldHMgY2FsbGVkIHdoZW4gdGhlIGNvbW1hbmQgaXMgbm90IGZvdW5kICovCisgCWdfb3B0aW9uX2NvbnRleHRfc2V0X3N1bW1hcnkgKGNvbnRleHQsIF8oIlBhY2thZ2VLaXQgQ29tbWFuZCBOb3QgRm91bmQiKSk7CitkaWZmIC0tZ2l0IGEvY29udHJpYi9kZWJ1Z2luZm8taW5zdGFsbC9way1kZWJ1Z2luZm8taW5zdGFsbC5jIGIvY29udHJpYi9kZWJ1Z2luZm8taW5zdGFsbC9way1kZWJ1Z2luZm8taW5zdGFsbC5jCitpbmRleCBjMTJhY2E1Li5iMGUxZTdjIDEwMDY0NAorLS0tIGEvY29udHJpYi9kZWJ1Z2luZm8taW5zdGFsbC9way1kZWJ1Z2luZm8taW5zdGFsbC5jCisrKysgYi9jb250cmliL2RlYnVnaW5mby1pbnN0YWxsL3BrLWRlYnVnaW5mby1pbnN0YWxsLmMKK0BAIC01MzIsMTEgKzUzMiwxMSBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAliaW5kdGV4dGRvbWFpbiAoR0VUVEVYVF9QQUNLQUdFLCBQQUNLQUdFX0xPQ0FMRV9ESVIpOworIAliaW5kX3RleHRkb21haW5fY29kZXNldCAoR0VUVEVYVF9QQUNLQUdFLCAiVVRGLTgiKTsKKyAJdGV4dGRvbWFpbiAoR0VUVEVYVF9QQUNLQUdFKTsKKy0KKysjaWYgIUdMSUJfQ0hFQ0tfVkVSU0lPTigyLDMyLDApCisgCWlmICghIGdfdGhyZWFkX3N1cHBvcnRlZCAoKSkKKyAJCWdfdGhyZWFkX2luaXQgKE5VTEwpOworIAlnX3R5cGVfaW5pdCAoKTsKKy0KKysjZW5kaWYKKyAJY29udGV4dCA9IGdfb3B0aW9uX2NvbnRleHRfbmV3IChOVUxMKTsKKyAJLyogVFJBTlNMQVRPUlM6IHRvb2wgdGhhdCBnZXRzIGNhbGxlZCB3aGVuIHRoZSBjb21tYW5kIGlzIG5vdCBmb3VuZCAqLworIAlnX29wdGlvbl9jb250ZXh0X3NldF9zdW1tYXJ5IChjb250ZXh0LCBfKCJQYWNrYWdlS2l0IERlYnVnaW5mbyBJbnN0YWxsZXIiKSk7CitkaWZmIC0tZ2l0IGEvc3JjL3BrLWJhY2tlbmQuYyBiL3NyYy9way1iYWNrZW5kLmMKK2luZGV4IDUyMTZiNjMuLjViODNhZTQgMTAwNjQ0CistLS0gYS9zcmMvcGstYmFja2VuZC5jCisrKysgYi9zcmMvcGstYmFja2VuZC5jCitAQCAtMjEwMyw3ICsyMTAzLDE0IEBAIHBrX2JhY2tlbmRfdGhyZWFkX2NyZWF0ZSAoUGtCYWNrZW5kICpiYWNrZW5kLCBQa0JhY2tlbmRUaHJlYWRGdW5jIGZ1bmMpCisgCQllZ2dfd2FybmluZyAoImFscmVhZHkgaGFzIHRocmVhZCIpOworIAkJcmV0dXJuIEZBTFNFOworIAl9CisrI2lmICFHTElCX0NIRUNLX1ZFUlNJT04oMiwzMiwwKQorIAliYWNrZW5kLT5wcml2LT50aHJlYWQgPSBnX3RocmVhZF9jcmVhdGUgKChHVGhyZWFkRnVuYykgZnVuYywgYmFja2VuZCwgRkFMU0UsIE5VTEwpOworKyNlbHNlCisrCWJhY2tlbmQtPnByaXYtPnRocmVhZCA9IGdfdGhyZWFkX3RyeV9uZXcgKCJkYWVtb24gdGhyZWFkIiwgKEdUaHJlYWRGdW5jKSBmdW5jLCBiYWNrZW5kLCBOVUxMKTsKKysJaWYgKGJhY2tlbmQtPnByaXYtPnRocmVhZCAhPSBOVUxMKSB7CisrCQlnX3RocmVhZF91bnJlZihiYWNrZW5kLT5wcml2LT50aHJlYWQpOworKwl9CisrI2VuZGlmCisgCWlmIChiYWNrZW5kLT5wcml2LT50aHJlYWQgPT0gTlVMTCkgeworIAkJZWdnX3dhcm5pbmcgKCJmYWlsZWQgdG8gY3JlYXRlIHRocmVhZCIpOworIAkJcmV0dXJuIEZBTFNFOworZGlmZiAtLWdpdCBhL3NyYy9way1tYWluLmMgYi9zcmMvcGstbWFpbi5jCitpbmRleCA0Yzc1OGNkLi44ZmEyNDgyIDEwMDY0NAorLS0tIGEvc3JjL3BrLW1haW4uYworKysrIGIvc3JjL3BrLW1haW4uYworQEAgLTIxOSwxMiArMjE5LDEyIEBAIG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCWJpbmR0ZXh0ZG9tYWluIChHRVRURVhUX1BBQ0tBR0UsIFBBQ0tBR0VfTE9DQUxFX0RJUik7CisgCWJpbmRfdGV4dGRvbWFpbl9jb2Rlc2V0IChHRVRURVhUX1BBQ0tBR0UsICJVVEYtOCIpOworIAl0ZXh0ZG9tYWluIChHRVRURVhUX1BBQ0tBR0UpOworLQorKyNpZiAhR0xJQl9DSEVDS19WRVJTSU9OKDIsMzIsMCkKKyAJaWYgKCEgZ190aHJlYWRfc3VwcG9ydGVkICgpKQorIAkJZ190aHJlYWRfaW5pdCAoTlVMTCk7CisgCWRidXNfZ190aHJlYWRfaW5pdCAoKTsKKyAJZ190eXBlX2luaXQgKCk7CistCisrI2VuZGlmCisgCS8qIFRSQU5TTEFUT1JTOiBkZXNjcmliaW5nIHRoZSBzZXJ2aWNlIHRoYXQgaXMgcnVubmluZyAqLworIAljb250ZXh0ID0gZ19vcHRpb25fY29udGV4dF9uZXcgKF8oIlBhY2thZ2VLaXQgc2VydmljZSIpKTsKKyAJZ19vcHRpb25fY29udGV4dF9hZGRfbWFpbl9lbnRyaWVzIChjb250ZXh0LCBvcHRpb25zLCBOVUxMKTsKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wYWNrYWdla2l0L3BhY2thZ2VraXQtMC41LjYvY29uZmlndXJlZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGFja2FnZWtpdC9wYWNrYWdla2l0LTAuNS42L2NvbmZpZ3VyZWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OGY5NTkxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGFja2FnZWtpdC9wYWNrYWdla2l0LTAuNS42L2NvbmZpZ3VyZWZpeC5wYXRjaApAQCAtMCwwICsxLDEzIEBACitJbmRleDogUGFja2FnZUtpdC0wLjYuMC9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBQYWNrYWdlS2l0LTAuNi4wLm9yaWcvY29uZmlndXJlLmFjCTIwMTAtMDEtMDQgMTY6MzI6MTguMDAwMDAwMDAwICswMDAwCisrKysgUGFja2FnZUtpdC0wLjYuMC9jb25maWd1cmUuYWMJMjAxMC0wMS0yOSAxMTozMzo0OC4wMDAwMDAwMDAgKzAwMDAKK0BAIC05MCw3ICs5MCw3IEBACisgCQkJCQkJCWVuYWJsZV9zdHJpY3Q9JGRlZmF1bHRfc3RyaWN0KQorIGlmIHRlc3QgeCRlbmFibGVfc3RyaWN0ICE9IHhubzsgdGhlbgorIAlpZiB0ZXN0ICIkR0NDIiA9ICJ5ZXMiOyB0aGVuCistCQlXQVJOSU5HRkxBR1NfQ1BQPSIkV0FSTklOR0ZMQUdTX0NQUCAtV2Vycm9yIgorKwkJOgorIAlmaQorIGZpCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wYWNrYWdla2l0L3BhY2thZ2VraXQtMC41LjYvb3BrZ2ZpeGVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGFja2FnZWtpdC9wYWNrYWdla2l0LTAuNS42L29wa2dmaXhlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YTczYTE5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGFja2FnZWtpdC9wYWNrYWdla2l0LTAuNS42L29wa2dmaXhlcy5wYXRjaApAQCAtMCwwICsxLDQyMiBAQAorSW5kZXg6IFBhY2thZ2VLaXQtMC42LjAvYmFja2VuZHMvb3BrZy9way1iYWNrZW5kLW9wa2cuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIFBhY2thZ2VLaXQtMC42LjAub3JpZy9iYWNrZW5kcy9vcGtnL3BrLWJhY2tlbmQtb3BrZy5jCTIwMTAtMDEtMjkgMDk6Mzk6MzMuMDAwMDAwMDAwICswMDAwCisrKysgUGFja2FnZUtpdC0wLjYuMC9iYWNrZW5kcy9vcGtnL3BrLWJhY2tlbmQtb3BrZy5jCTIwMTAtMDEtMjkgMTE6MzA6NTEuMDAwMDAwMDAwICswMDAwCitAQCAtMjksOCArMjksNyBAQAorIAorKyNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlIDxsaWJvcGtnL29wa2cuaD4KKyAKKy1zdGF0aWMgb3BrZ190ICpvcGtnOworLQorIGVudW0geworIAlTRUFSQ0hfTkFNRSwKKyAJU0VBUkNIX0RFU0NSSVBUSU9OLAorQEAgLTYyLDcgKzYwLDcgQEAKKyAgKiBjaGVjayBhbiBvcGtnIHBhY2thZ2UgZm9yIGtub3duIEdVSSBkZXBlbmRhbmNpZXMKKyAgKi8KKyBzdGF0aWMgZ2Jvb2xlYW4KKy1vcGtnX2lzX2d1aV9wa2cgKG9wa2dfcGFja2FnZV90ICpwa2cpCisrb3BrZ19pc19ndWlfcGtnIChwa2dfdCAqcGtnKQorIHsKKyAKKyAgIC8qIFRPRE86IGNoZWNrIGFwcHJvcHJpYXRlIHRhZyAqLworQEAgLTg0LDcgKzgyLDcgQEAKKyAgKiBjaGVjayBhbiBvcGtnIHBhY2thZ2UgdG8gZGV0ZXJtaW5lIGlmIGl0IGlzIGEgZGV2ZWxvcG1lbnQgcGFja2FnZQorICAqLworIHN0YXRpYyBnYm9vbGVhbgorLW9wa2dfaXNfZGV2ZWxfcGtnIChvcGtnX3BhY2thZ2VfdCAqcGtnKQorK29wa2dfaXNfZGV2ZWxfcGtnIChwa2dfdCAqcGtnKQorIHsKKyAgIGlmIChnX3N0cnJzdHIgKHBrZy0+bmFtZSwgIi1kZXYiKSkKKyAgICAgICByZXR1cm4gVFJVRTsKK0BAIC0xMDUsNyArMTAzLDcgQEAKKyAgKiByZXR1cm5zIHRydWUgaWYgdGhlIHRhZyBpcyBwcmVzZW50CisgICovCisgc3RhdGljIGdib29sZWFuIAorLW9wa2dfY2hlY2tfdGFnIChvcGtnX3BhY2thZ2VfdCAqcGtnLCBjb25zdCBnY2hhciAqdGFnKQorK29wa2dfY2hlY2tfdGFnIChwa2dfdCAqcGtnLCBjb25zdCBnY2hhciAqdGFnKQorIHsKKyAJaWYgKHBrZy0+dGFncyAmJiB0YWcpCisgCQlyZXR1cm4gKGdfc3RycnN0ciAocGtnLT50YWdzLCB0YWcpICE9IE5VTEwpOworQEAgLTExOCw3ICsxMTYsNyBAQAorIHsKKyAJc3dpdGNoIChlcnIpCisgCXsKKy0JY2FzZSBPUEtHX05PX0VSUk9SOgorKy8qCWNhc2UgT1BLR19OT19FUlJPUjoKKyAJCWJyZWFrOworIAljYXNlIE9QS0dfUEFDS0FHRV9OT1RfSU5TVEFMTEVEOgorIAkJcGtfYmFja2VuZF9lcnJvcl9jb2RlIChiYWNrZW5kLCBQS19FUlJPUl9FTlVNX1BBQ0tBR0VfTk9UX0lOU1RBTExFRCwgTlVMTCk7CitAQCAtMTQwLDcgKzEzOCw3IEBACisgCQlicmVhazsKKyAJY2FzZSBPUEtHX1BBQ0tBR0VfTk9UX0FWQUlMQUJMRToKKyAJCXBrX2JhY2tlbmRfZXJyb3JfY29kZSAoYmFja2VuZCwgUEtfRVJST1JfRU5VTV9QQUNLQUdFX05PVF9GT1VORCwgTlVMTCk7CistCQlicmVhazsKKysJCWJyZWFrOyovCisgCWRlZmF1bHQ6CisgCQlvcGtnX3Vua25vd25fZXJyb3IgKGJhY2tlbmQsIGVyciwgIlVwZGF0ZSBwYWNrYWdlIik7CisgCX0KK0BAIC0xNTIsNyArMTUwLDcgQEAKKyBzdGF0aWMgdm9pZAorIGJhY2tlbmRfaW5pdGlhbGl6ZSAoUGtCYWNrZW5kICpiYWNrZW5kKQorIHsKKy0Jb3BrZyA9IG9wa2dfbmV3ICgpOworKwlpbnQgb3BrZyA9IG9wa2dfbmV3ICgpOworIAorIAlpZiAoIW9wa2cpIHsKKyAJCXBrX2JhY2tlbmRfZXJyb3JfY29kZSAoYmFja2VuZCwKK0BAIC0xNjIsOCArMTYwLDggQEAKKyAJfQorIAorICNpZmRlZiBPUEtHX09GRkxJTkVfUk9PVAorLQlvcGtnX3NldF9vcHRpb24gKG9wa2csIChjaGFyICopICJvZmZsaW5lX3Jvb3QiLCBPUEtHX09GRkxJTkVfUk9PVCk7CistCW9wa2dfcmVfcmVhZF9jb25maWdfZmlsZXMgKG9wa2cpOworKwlvcGtnX3NldF9vcHRpb24gKChjaGFyICopICJvZmZsaW5lX3Jvb3QiLCBPUEtHX09GRkxJTkVfUk9PVCk7CisrCW9wa2dfcmVfcmVhZF9jb25maWdfZmlsZXMgKCk7CisgI2VuZGlmCisgCisgfQorQEAgLTE3NCwyMiArMTcyLDIyIEBACisgc3RhdGljIHZvaWQKKyBiYWNrZW5kX2Rlc3Ryb3kgKFBrQmFja2VuZCAqYmFja2VuZCkKKyB7CistCW9wa2dfZnJlZSAob3BrZyk7CisrCW9wa2dfZnJlZSAoKTsKKyB9CisgCisgCisgc3RhdGljIHZvaWQKKy1wa19vcGtnX3Byb2dyZXNzX2NiIChvcGtnX3QgKl9vcGtnLCBjb25zdCBvcGtnX3Byb2dyZXNzX2RhdGFfdCAqcGRhdGEsIHZvaWQgKmRhdGEpCisrcGtfb3BrZ19wcm9ncmVzc19jYiAoY29uc3Qgb3BrZ19wcm9ncmVzc19kYXRhX3QgKnBkYXRhLCB2b2lkICpkYXRhKQorIHsKKy0JUGtCYWNrZW5kICpiYWNrZW5kID0gUEtfQkFDS0VORCAoZGF0YSk7CisrCVBrQmFja2VuZCAqYmFja2VuZCA9IChQa0JhY2tlbmQqKSBkYXRhOworIAlpZiAoIWJhY2tlbmQpCisgCQlyZXR1cm47CisgCisgCXBrX2JhY2tlbmRfc2V0X3BlcmNlbnRhZ2UgKGJhY2tlbmQsIHBkYXRhLT5wZXJjZW50YWdlKTsKKy0JaWYgKHBkYXRhLT5wYWNrYWdlKQorKwlpZiAocGRhdGEtPnBrZykKKyAJeworIAkJZ2NoYXIgKnVpZDsKKy0JCW9wa2dfcGFja2FnZV90ICpwa2cgPSBwZGF0YS0+cGFja2FnZTsKKysJCXBrZ190ICpwa2cgPSBwZGF0YS0+cGtnOworIAkJZ2ludCBzdGF0dXMgPSBQS19JTkZPX0VOVU1fVU5LTk9XTjsKKyAKKyAJCXVpZCA9IGdfc3RyZHVwX3ByaW50ZiAoIiVzOyVzOyVzOyIsCitAQCAtMjI1LDEyICsyMjMsMTIgQEAKKyB7CisgCWludCByZXQ7CisgCistCXJldCA9IG9wa2dfdXBkYXRlX3BhY2thZ2VfbGlzdHMgKG9wa2csIHBrX29wa2dfcHJvZ3Jlc3NfY2IsIGJhY2tlbmQpOworKwlyZXQgPSBvcGtnX3VwZGF0ZV9wYWNrYWdlX2xpc3RzIChwa19vcGtnX3Byb2dyZXNzX2NiLCBiYWNrZW5kKTsKKyAKKyAJaWYgKHJldCkgeworLQkJaWYgKHJldCA9PSBPUEtHX0RPV05MT0FEX0ZBSUxFRCkKKy0JCQlwa19iYWNrZW5kX2Vycm9yX2NvZGUgKGJhY2tlbmQsIFBLX0VSUk9SX0VOVU1fUkVQT19OT1RfQVZBSUxBQkxFLCBOVUxMKTsKKy0JCWVsc2UKKysvLwkJaWYgKHJldCA9PSBPUEtHX0RPV05MT0FEX0ZBSUxFRCkKKysvLwkJCXBrX2JhY2tlbmRfZXJyb3JfY29kZSAoYmFja2VuZCwgUEtfRVJST1JfRU5VTV9SRVBPX05PVF9BVkFJTEFCTEUsIE5VTEwpOworKy8vCQllbHNlCisgCQkJb3BrZ191bmtub3duX2Vycm9yIChiYWNrZW5kLCByZXQsICJSZWZyZXNoaW5nIGNhY2hlIik7CisgCX0KKyAJcGtfYmFja2VuZF9maW5pc2hlZCAoYmFja2VuZCk7CitAQCAtMjU2LDcgKzI1NCw3IEBACisgICovCisgCisgc3RhdGljIHZvaWQKKy1wa19vcGtnX3BhY2thZ2VfbGlzdF9jYiAob3BrZ190ICpfb3BrZywgb3BrZ19wYWNrYWdlX3QgKnBrZywgdm9pZCAqZGF0YSkKKytwa19vcGtnX3BhY2thZ2VfbGlzdF9jYiAocGtnX3QgKnBrZywgdm9pZCAqZGF0YSkKKyB7CisgCVNlYXJjaFBhcmFtcyAqcGFyYW1zID0gKFNlYXJjaFBhcmFtcyopIGRhdGE7CisgCWdjaGFyICp1aWQ7CitAQCAtMjk4LDcgKzI5Niw3IEBACisgCXVpZCA9IGdfc3RyZHVwX3ByaW50ZiAoIiVzOyVzOyVzOyIsCisgCQlwa2ctPm5hbWUsIHBrZy0+dmVyc2lvbiwgcGtnLT5hcmNoaXRlY3R1cmUpOworIAorLQlpZiAocGtnLT5pbnN0YWxsZWQpCisrCWlmIChwa2ctPnN0YXRlX3N0YXR1cyA9PSBTU19JTlNUQUxMRUQpCisgCQlzdGF0dXMgPSBQS19JTkZPX0VOVU1fSU5TVEFMTEVEOworIAllbHNlCisgCQlzdGF0dXMgPSBQS19JTkZPX0VOVU1fQVZBSUxBQkxFOworQEAgLTMxOCwxMCArMzE2LDEwIEBACisgICAgICAgICAgICAgICAgIG9wa2dfaXNfZ3VpX3BrZyAocGtnKSkKKyAJCWdvdG8gZW5kX2hhbmRsZTsKKyAJaWYgKHBrX2JpdGZpZWxkX2NvbnRhaW4oZmlsdGVycywgUEtfRklMVEVSX0VOVU1fSU5TVEFMTEVEKSAmJiAKKy0gICAgICAgICAgICAgICAgKCFwa2ctPmluc3RhbGxlZCkpCisrICAgICAgICAgICAgICAgIChwa2ctPnN0YXRlX3N0YXR1cyAhPSBTU19JTlNUQUxMRUQpKQorIAkJZ290byBlbmRfaGFuZGxlOworIAlpZiAocGtfYml0ZmllbGRfY29udGFpbihmaWx0ZXJzLCBQS19GSUxURVJfRU5VTV9OT1RfSU5TVEFMTEVEKSAmJiAKKy0gICAgICAgICAgICAgICAgKHBrZy0+aW5zdGFsbGVkKSkKKysgICAgICAgICAgICAgICAgKHBrZy0+c3RhdGVfc3RhdHVzID09IFNTX0lOU1RBTExFRCkpCisgCQlnb3RvIGVuZF9oYW5kbGU7CisgCisgCXBrX2JhY2tlbmRfcGFja2FnZSAocGFyYW1zLT5iYWNrZW5kLCBzdGF0dXMsIHVpZCwgcGtnLT5kZXNjcmlwdGlvbik7CitAQCAtMzM4LDcgKzMzNiw3IEBACisgCisgCXBhcmFtcyA9IHBrX2JhY2tlbmRfZ2V0X3BvaW50ZXIgKGJhY2tlbmQsICJzZWFyY2gtcGFyYW1zIik7CisgCistCW9wa2dfbGlzdF9wYWNrYWdlcyAob3BrZywgcGtfb3BrZ19wYWNrYWdlX2xpc3RfY2IsIHBhcmFtcyk7CisrCW9wa2dfbGlzdF9wYWNrYWdlcyAocGtfb3BrZ19wYWNrYWdlX2xpc3RfY2IsIHBhcmFtcyk7CisgCisgCXBrX2JhY2tlbmRfZmluaXNoZWQgKHBhcmFtcy0+YmFja2VuZCk7CisgCitAQCAtMzQ5LDcgKzM0Nyw3IEBACisgfQorIAorIHN0YXRpYyB2b2lkCistYmFja2VuZF9zZWFyY2hfbmFtZSAoUGtCYWNrZW5kICpiYWNrZW5kLCBQa0JpdGZpZWxkIGZpbHRlcnMsIGNvbnN0IGdjaGFyICpzZWFyY2gpCisrYmFja2VuZF9zZWFyY2hfbmFtZSAoUGtCYWNrZW5kICpiYWNrZW5kLCBQa0JpdGZpZWxkIGZpbHRlcnMsIGdjaGFyICoqc2VhcmNoKQorIHsKKyAJU2VhcmNoUGFyYW1zICpwYXJhbXM7CisgCitAQCAtMzYwLDcgKzM1OCw3IEBACisgCXBhcmFtcyA9IGdfbmV3MCAoU2VhcmNoUGFyYW1zLCAxKTsKKyAJcGFyYW1zLT5maWx0ZXJzID0gZmlsdGVyczsKKyAJcGFyYW1zLT5zZWFyY2hfdHlwZSA9IFNFQVJDSF9OQU1FOworLQlwYXJhbXMtPm5lZWRsZSA9IGdfdXRmOF9zdHJkb3duIChzZWFyY2gsIC0xKTsKKysJcGFyYW1zLT5uZWVkbGUgPSBnX3V0Zjhfc3RyZG93biAoc2VhcmNoWzBdLCAtMSk7CisgCXBhcmFtcy0+YmFja2VuZCA9IGJhY2tlbmQ7CisgCisgCXBrX2JhY2tlbmRfc2V0X3BvaW50ZXIgKGJhY2tlbmQsICJzZWFyY2gtcGFyYW1zIiwgcGFyYW1zKTsKK0BAIC0zNzEsNyArMzY5LDcgQEAKKyAgKiBiYWNrZW5kX3NlYXJjaF9kZXNjcmlwdGlvbjoKKyAgKi8KKyBzdGF0aWMgdm9pZAorLWJhY2tlbmRfc2VhcmNoX2Rlc2NyaXB0aW9uIChQa0JhY2tlbmQgKmJhY2tlbmQsIFBrQml0ZmllbGQgZmlsdGVycywgY29uc3QgZ2NoYXIgKnNlYXJjaCkKKytiYWNrZW5kX3NlYXJjaF9kZXNjcmlwdGlvbiAoUGtCYWNrZW5kICpiYWNrZW5kLCBQa0JpdGZpZWxkIGZpbHRlcnMsIGdjaGFyICoqc2VhcmNoKQorIHsKKyAJU2VhcmNoUGFyYW1zICpwYXJhbXM7CisgCitAQCAtMzgyLDcgKzM4MCw3IEBACisgCXBhcmFtcyA9IGdfbmV3MCAoU2VhcmNoUGFyYW1zLCAxKTsKKyAJcGFyYW1zLT5maWx0ZXJzID0gZmlsdGVyczsKKyAJcGFyYW1zLT5zZWFyY2hfdHlwZSA9IFNFQVJDSF9ERVNDUklQVElPTjsKKy0JcGFyYW1zLT5uZWVkbGUgPSBnX3V0Zjhfc3RyZG93biAoc2VhcmNoLCAtMSk7CisrCXBhcmFtcy0+bmVlZGxlID0gZ191dGY4X3N0cmRvd24gKHNlYXJjaFswXSwgLTEpOworIAlwYXJhbXMtPmJhY2tlbmQgPSBiYWNrZW5kOworIAorIAlwa19iYWNrZW5kX3NldF9wb2ludGVyIChiYWNrZW5kLCAic2VhcmNoLXBhcmFtcyIsIHBhcmFtcyk7CitAQCAtMzkwLDcgKzM4OCw3IEBACisgfQorIAorIHN0YXRpYyB2b2lkCistYmFja2VuZF9zZWFyY2hfZ3JvdXAgKFBrQmFja2VuZCAqYmFja2VuZCwgUGtCaXRmaWVsZCBmaWx0ZXJzLCBjb25zdCBnY2hhciAqc2VhcmNoKQorK2JhY2tlbmRfc2VhcmNoX2dyb3VwIChQa0JhY2tlbmQgKmJhY2tlbmQsIFBrQml0ZmllbGQgZmlsdGVycywgZ2NoYXIgKipzZWFyY2gpCisgeworIAlTZWFyY2hQYXJhbXMgKnBhcmFtczsKKyAKK0BAIC00MDEsNyArMzk5LDcgQEAKKyAJcGFyYW1zID0gZ19uZXcwIChTZWFyY2hQYXJhbXMsIDEpOworIAlwYXJhbXMtPmZpbHRlcnMgPSBmaWx0ZXJzOworIAlwYXJhbXMtPnNlYXJjaF90eXBlID0gU0VBUkNIX1RBRzsKKy0JcGFyYW1zLT5uZWVkbGUgPSBnX3N0cmR1cF9wcmludGYgKCJncm91cDo6JXMiLCBzZWFyY2gpOworKwlwYXJhbXMtPm5lZWRsZSA9IGdfc3RyZHVwX3ByaW50ZiAoImdyb3VwOjolcyIsIHNlYXJjaFswXSk7CisgCXBhcmFtcy0+YmFja2VuZCA9IGJhY2tlbmQ7CisgCisgCXBrX2JhY2tlbmRfc2V0X3BvaW50ZXIgKGJhY2tlbmQsICJzZWFyY2gtcGFyYW1zIiwgcGFyYW1zKTsKK0BAIC00MTIsOSArNDEwLDkgQEAKKyBzdGF0aWMgZ2Jvb2xlYW4KKyBiYWNrZW5kX2luc3RhbGxfcGFja2FnZXNfdGhyZWFkIChQa0JhY2tlbmQgKmJhY2tlbmQpCisgeworLQlQa1BhY2thZ2VJZCAqcGk7CisgCWdpbnQgZXJyLCBpOworIAlnY2hhciAqKnBhY2thZ2VfaWRzOworKwlnY2hhciAqKnBhcnRzOworIAorIAlwYWNrYWdlX2lkcyA9IHBrX2JhY2tlbmRfZ2V0X3N0cnYgKGJhY2tlbmQsICJwa2lkcyIpOworIAorQEAgLTQyNCwxMyArNDIyLDEzIEBACisgCXsKKyAJCXBrX2JhY2tlbmRfcGFja2FnZSAoYmFja2VuZCwgUEtfSU5GT19FTlVNX0lOU1RBTExJTkcsIHBhY2thZ2VfaWRzW2ldLCBOVUxMKTsKKyAKKy0JCXBpID0gcGtfcGFja2FnZV9pZF9uZXdfZnJvbV9zdHJpbmcgKHBhY2thZ2VfaWRzW2ldKTsKKysJCXBhcnRzID0gcGtfcGFja2FnZV9pZF9zcGxpdCAocGFja2FnZV9pZHNbaV0pOworIAorLQkJZXJyID0gb3BrZ19pbnN0YWxsX3BhY2thZ2UgKG9wa2csIHBpLT5uYW1lLCBwa19vcGtnX3Byb2dyZXNzX2NiLCBiYWNrZW5kKTsKKysJCWVyciA9IG9wa2dfaW5zdGFsbF9wYWNrYWdlIChwYXJ0c1tQS19QQUNLQUdFX0lEX05BTUVdLCBwa19vcGtnX3Byb2dyZXNzX2NiLCBiYWNrZW5kKTsKKyAJCWlmIChlcnIpCisgCQkJaGFuZGxlX2luc3RhbGxfZXJyb3IgKGJhY2tlbmQsIGVycik7CisgCistCQlwa19wYWNrYWdlX2lkX2ZyZWUgKHBpKTsKKysJCWdfc3RyZnJlZXYgKHBhcnRzKTsKKyAJCWlmIChlcnIgIT0gMCkKKyAJCQlicmVhazsKKyAJfQorQEAgLTQ1Myw5ICs0NTEsOSBAQAorIHN0YXRpYyBnYm9vbGVhbgorIGJhY2tlbmRfcmVtb3ZlX3BhY2thZ2VzX3RocmVhZCAoUGtCYWNrZW5kICpiYWNrZW5kKQorIHsKKy0JUGtQYWNrYWdlSWQgKnBpOworIAlnaW50IGVyciwgaTsKKyAJZ2NoYXIgKipwYWNrYWdlX2lkczsKKysJZ2NoYXIgKipwYXJ0czsKKyAJZ2Jvb2xlYW4gYWxsb3dfZGVwczsKKyAJZ2Jvb2xlYW4gYXV0b3JlbW92ZTsKKyAJZ3BvaW50ZXIgKmRhdGE7CitAQCAtNDY3LDI5ICs0NjUsMzAgQEAKKyAJYXV0b3JlbW92ZSA9IEdQT0lOVEVSX1RPX0lOVCAoZGF0YVsyXSk7CisgCWdfZnJlZSAoZGF0YSk7CisgCistCW9wa2dfc2V0X29wdGlvbiAob3BrZywgKGNoYXIgKikiYXV0b3JlbW92ZSIsICZhdXRvcmVtb3ZlKTsKKy0Jb3BrZ19zZXRfb3B0aW9uIChvcGtnLCAoY2hhciAqKSJmb3JjZV9yZW1vdmFsX29mX2RlcGVuZGVudF9wYWNrYWdlcyIsICZhbGxvd19kZXBzKTsKKysJb3BrZ19zZXRfb3B0aW9uICgoY2hhciAqKSJhdXRvcmVtb3ZlIiwgJmF1dG9yZW1vdmUpOworKwlvcGtnX3NldF9vcHRpb24gKChjaGFyICopImZvcmNlX3JlbW92YWxfb2ZfZGVwZW5kZW50X3BhY2thZ2VzIiwgJmFsbG93X2RlcHMpOworIAorIAllcnIgPSAwOworIAorIAlmb3IgKGkgPSAwOyBwYWNrYWdlX2lkc1tpXTsgaSsrKQorIAl7CistCQlwaSA9IHBrX3BhY2thZ2VfaWRfbmV3X2Zyb21fc3RyaW5nIChwYWNrYWdlX2lkc1tpXSk7CisgCQlwa19iYWNrZW5kX3BhY2thZ2UgKGJhY2tlbmQsIFBLX0lORk9fRU5VTV9SRU1PVklORywgcGFja2FnZV9pZHNbaV0sIE5VTEwpOworIAorLQkJZXJyID0gb3BrZ19yZW1vdmVfcGFja2FnZSAob3BrZywgcGktPm5hbWUsIHBrX29wa2dfcHJvZ3Jlc3NfY2IsIGJhY2tlbmQpOworKwkJcGFydHMgPSBwa19wYWNrYWdlX2lkX3NwbGl0IChwYWNrYWdlX2lkc1tpXSk7CisrCisrCQllcnIgPSBvcGtnX3JlbW92ZV9wYWNrYWdlIChwYXJ0c1tQS19QQUNLQUdFX0lEX05BTUVdLCBwa19vcGtnX3Byb2dyZXNzX2NiLCBiYWNrZW5kKTsKKyAKKyAJCXN3aXRjaCAoZXJyKQorIAkJeworLQkJY2FzZSBPUEtHX05PX0VSUk9SOgorLQkJCWJyZWFrOworLQkJY2FzZSBPUEtHX1BBQ0tBR0VfTk9UX0lOU1RBTExFRDoKKy0JCQlwa19iYWNrZW5kX2Vycm9yX2NvZGUgKGJhY2tlbmQsIFBLX0VSUk9SX0VOVU1fUEFDS0FHRV9OT1RfSU5TVEFMTEVELCBOVUxMKTsKKy0JCQlicmVhazsKKysJCS8vY2FzZSBPUEtHX05PX0VSUk9SOgorKwkJLy8JYnJlYWs7CisrCQkvL2Nhc2UgT1BLR19QQUNLQUdFX05PVF9JTlNUQUxMRUQ6CisrCQkvLwlwa19iYWNrZW5kX2Vycm9yX2NvZGUgKGJhY2tlbmQsIFBLX0VSUk9SX0VOVU1fUEFDS0FHRV9OT1RfSU5TVEFMTEVELCBOVUxMKTsKKysJCS8vCWJyZWFrOworIAkJZGVmYXVsdDoKKyAJCQlvcGtnX3Vua25vd25fZXJyb3IgKGJhY2tlbmQsIGVyciwgIlJlbW92ZSIpOworIAkJfQorLQkJcGtfcGFja2FnZV9pZF9mcmVlIChwaSk7CisrCQlnX3N0cmZyZWV2IChwYXJ0cyk7CisgCisgCQlpZiAoZXJyICE9IDApCisgCQkJYnJlYWs7CitAQCAtNTQwLDcgKzUzOSw3IEBACisgCWdpbnQgZXJyOworIAorIAkvKiBGSVhNRTogc3VwcG9ydCBvbmx5X3RydXN0ZWQgKi8KKy0JZXJyID0gb3BrZ191cGdyYWRlX2FsbCAob3BrZywgcGtfb3BrZ19wcm9ncmVzc19jYiwgYmFja2VuZCk7CisrCWVyciA9IG9wa2dfdXBncmFkZV9hbGwgKHBrX29wa2dfcHJvZ3Jlc3NfY2IsIGJhY2tlbmQpOworIAorIAlpZiAoZXJyKQorIAkJb3BrZ191bmtub3duX2Vycm9yIChiYWNrZW5kLCBlcnIsICJVcGdyYWRpbmcgc3lzdGVtIik7CitAQCAtNTY0LDI5ICs1NjMsMjggQEAKKyBzdGF0aWMgZ2Jvb2xlYW4KKyBiYWNrZW5kX3VwZGF0ZV9wYWNrYWdlX3RocmVhZCAoUGtCYWNrZW5kICpiYWNrZW5kKQorIHsKKy0JUGtQYWNrYWdlSWQgKnBpOworKyAgICAgICAgZ2NoYXIgKipwYXJ0czsKKyAJZ2ludCBlcnIgPSAwOworIAljb25zdCBnY2hhciAqcGFja2FnZV9pZDsKKyAKKyAJLyogRklYTUU6IHN1cHBvcnQgb25seV90cnVzdGVkICovCisgCXBhY2thZ2VfaWQgPSBwa19iYWNrZW5kX2dldF9zdHJpbmcgKGJhY2tlbmQsICJwa2dpZCIpOworLQlwaSA9IHBrX3BhY2thZ2VfaWRfbmV3X2Zyb21fc3RyaW5nIChwYWNrYWdlX2lkKTsKKysJcGFydHMgPSBwa19wYWNrYWdlX2lkX3NwbGl0IChwYWNrYWdlX2lkKTsKKyAKKy0JaWYgKCFwaS0+bmFtZSB8fCAhcGktPnZlcnNpb24pCisrCWlmICghcGFydHMpCisgCXsKKyAJCXBrX2JhY2tlbmRfZXJyb3JfY29kZSAoYmFja2VuZCwgUEtfRVJST1JfRU5VTV9QQUNLQUdFX05PVF9GT1VORCwKKyAJCQkJIlBhY2thZ2Ugbm90IGZvdW5kIik7CistCQlwa19wYWNrYWdlX2lkX2ZyZWUgKHBpKTsKKyAJCXBrX2JhY2tlbmRfZmluaXNoZWQgKGJhY2tlbmQpOworIAkJcmV0dXJuIEZBTFNFOworIAl9CisgCistCWVyciA9IG9wa2dfdXBncmFkZV9wYWNrYWdlIChvcGtnLCBwaS0+bmFtZSwgcGtfb3BrZ19wcm9ncmVzc19jYiwgYmFja2VuZCk7CisrCWVyciA9IG9wa2dfdXBncmFkZV9wYWNrYWdlIChwYXJ0c1tQS19QQUNLQUdFX0lEX05BTUVdLCBwa19vcGtnX3Byb2dyZXNzX2NiLCBiYWNrZW5kKTsKKyAJaWYgKGVycikKKyAJCWhhbmRsZV9pbnN0YWxsX2Vycm9yIChiYWNrZW5kLCBlcnIpOworIAorIAorLQlwa19wYWNrYWdlX2lkX2ZyZWUgKHBpKTsKKysJZ19zdHJmcmVldiAocGFydHMpOworIAlwa19iYWNrZW5kX2ZpbmlzaGVkIChiYWNrZW5kKTsKKyAJcmV0dXJuIChlcnIgIT0gMCk7CisgfQorQEAgLTYxMCwxMyArNjA4LDEzIEBACisgICovCisgCisgc3RhdGljIHZvaWQKKy1wa19vcGtnX2xpc3RfdXBncmFkYWJsZV9jYiAob3BrZ190ICpfb3BrZywgb3BrZ19wYWNrYWdlX3QgKnBrZywgdm9pZCAqZGF0YSkKKytwa19vcGtnX2xpc3RfdXBncmFkYWJsZV9jYiAocGtnX3QgKnBrZywgdm9pZCAqZGF0YSkKKyB7CistCVBrQmFja2VuZCAqYmFja2VuZCA9IFBLX0JBQ0tFTkQgKGRhdGEpOworKwlQa0JhY2tlbmQgKmJhY2tlbmQgPSAoUGtCYWNrZW5kKikgZGF0YTsKKyAJZ2NoYXIgKnVpZDsKKyAJZ2ludCBzdGF0dXM7CisgCistCWlmIChwa2ctPmluc3RhbGxlZCkKKysJaWYgKHBrZy0+c3RhdGVfc3RhdHVzID09IFNTX0lOU1RBTExFRCkKKyAJCXN0YXR1cyA9IFBLX0lORk9fRU5VTV9JTlNUQUxMRUQ7CisgCWVsc2UKKyAJCXN0YXR1cyA9IFBLX0lORk9fRU5VTV9BVkFJTEFCTEU7CitAQCAtNjMxLDcgKzYyOSw3IEBACisgc3RhdGljIGdib29sZWFuCisgYmFja2VuZF9nZXRfdXBkYXRlc190aHJlYWQgKFBrQmFja2VuZCAqYmFja2VuZCkKKyB7CistCW9wa2dfbGlzdF91cGdyYWRhYmxlX3BhY2thZ2VzIChvcGtnLCBwa19vcGtnX2xpc3RfdXBncmFkYWJsZV9jYiwgYmFja2VuZCk7CisrCW9wa2dfbGlzdF91cGdyYWRhYmxlX3BhY2thZ2VzIChwa19vcGtnX2xpc3RfdXBncmFkYWJsZV9jYiwgYmFja2VuZCk7CisgCXBrX2JhY2tlbmRfZmluaXNoZWQgKGJhY2tlbmQpOworIAlyZXR1cm4gVFJVRTsKKyB9CitAQCAtNjY4LDE2ICs2NjYsMTggQEAKKyBzdGF0aWMgZ2Jvb2xlYW4KKyBiYWNrZW5kX2dldF9kZXRhaWxzX3RocmVhZCAoUGtCYWNrZW5kICpiYWNrZW5kKQorIHsKKy0JUGtQYWNrYWdlSWQgKnBpOworIAlnY2hhciAqKnBhY2thZ2VfaWRzOworKyAgICAgICAgZ2NoYXIgKipwYXJ0czsKKyAJaW50IGdyb3VwX2luZGV4OworIAlQa0dyb3VwRW51bSBncm91cCA9IDA7CistCW9wa2dfcGFja2FnZV90ICpwa2c7CisrCXBrZ190ICpwa2c7CisgCWdjaGFyICpuZXdpZDsKKyAKKyAgICAgICAgIHBhY2thZ2VfaWRzID0gcGtfYmFja2VuZF9nZXRfc3RydihiYWNrZW5kLCAicGFja2FnZV9pZHMiKTsKKy0JcGkgPSBwa19wYWNrYWdlX2lkX25ld19mcm9tX3N0cmluZyAocGFja2FnZV9pZHNbMF0pOworLQlpZiAocGkgPT0gTlVMTCkKKysJcGFydHMgPSBwa19wYWNrYWdlX2lkX3NwbGl0IChwYWNrYWdlX2lkc1swXSk7CisrCisrCisrCWlmICghcGFydHMpCisgCXsKKyAJCXBrX2JhY2tlbmRfZXJyb3JfY29kZSAoYmFja2VuZCwgUEtfRVJST1JfRU5VTV9QQUNLQUdFX0lEX0lOVkFMSUQsICJpbnZhbGlkIHBhY2thZ2UgaWQiKTsKKyAJCXBrX2JhY2tlbmRfZmluaXNoZWQgKGJhY2tlbmQpOworQEAgLTY4NSw4ICs2ODUsOCBAQAorIAl9CisgCisgCistCXBrZyA9IG9wa2dfZmluZF9wYWNrYWdlIChvcGtnLCBwaS0+bmFtZSwgcGktPnZlcnNpb24sIHBpLT5hcmNoLCBwaS0+ZGF0YSk7CistCXBrX3BhY2thZ2VfaWRfZnJlZSAocGkpOworKwlwa2cgPSBvcGtnX2ZpbmRfcGFja2FnZSAocGFydHNbUEtfUEFDS0FHRV9JRF9OQU1FXSwgcGFydHNbUEtfUEFDS0FHRV9JRF9WRVJTSU9OXSwgcGFydHNbUEtfUEFDS0FHRV9JRF9BUkNIXSwgcGFydHNbUEtfUEFDS0FHRV9JRF9EQVRBXSk7CisrCWdfc3RyZnJlZXYgKHBhcnRzKTsKKyAKKyAJaWYgKCFwa2cpCisgCXsKK0BAIC02OTUsNyArNjk1LDcgQEAKKyAJCXJldHVybiBGQUxTRTsKKyAJfQorIAorLQluZXdpZCA9IGdfc3RyZHVwX3ByaW50ZiAoIiVzOyVzOyVzOyVzIiwgcGtnLT5uYW1lLCBwa2ctPnZlcnNpb24sIHBrZy0+YXJjaGl0ZWN0dXJlLCBwa2ctPnJlcG9zaXRvcnkpOworKwluZXdpZCA9IGdfc3RyZHVwX3ByaW50ZiAoIiVzOyVzOyVzOyVzIiwgcGtnLT5uYW1lLCBwa2ctPnZlcnNpb24sIHBrZy0+YXJjaGl0ZWN0dXJlLCBwa2ctPnNyYy0+bmFtZSk7CisgCisgCWlmIChwa2ctPnRhZ3MpIHsKKyAJCWZvciAoZ3JvdXBfaW5kZXggPSAwOyBncm91cCA8IFBLX0dST1VQX0VOVU1fTEFTVDsgZ3JvdXBfaW5kZXgrKykgeworQEAgLTcwNiw5ICs3MDYsOCBAQAorIAkJfQorIAl9CisgCistCXBrX2JhY2tlbmRfZGV0YWlscyAoYmFja2VuZCwgbmV3aWQsIE5VTEwsIGdyb3VwLCBwa2ctPmRlc2NyaXB0aW9uLCBwa2ctPnVybCwgcGtnLT5zaXplKTsKKysJcGtfYmFja2VuZF9kZXRhaWxzIChiYWNrZW5kLCBuZXdpZCwgTlVMTCwgZ3JvdXAsIHBrZy0+ZGVzY3JpcHRpb24sIE5VTEwsIHBrZy0+c2l6ZSk7CisgCWdfZnJlZSAobmV3aWQpOworLQlvcGtnX3BhY2thZ2VfZnJlZShwa2cpOworIAlwa19iYWNrZW5kX2ZpbmlzaGVkIChiYWNrZW5kKTsKKyAJcmV0dXJuIFRSVUU7CisgfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGFja2FnZWtpdC9wYWNrYWdla2l0XzAuNS42LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGFja2FnZWtpdC9wYWNrYWdla2l0XzAuNS42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2MzNmMjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wYWNrYWdla2l0L3BhY2thZ2VraXRfMC41LjYuYmIKQEAgLTAsMCArMSw2NSBAQAorU1VNTUFSWSA9ICJQYWNrYWdlS2l0IHBhY2thZ2UgbWFuYWdlbWVudCBhYnN0cmFjdGlvbiIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiR1BMLTIuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKK0RFUEVORFMgPSAiZ3RrKyBweXRob24gcG9sa2l0IGRidXMgZGJ1cy1nbGliIGdsaWItMi4wIHNxbGl0ZTMgb3BrZyBpbnRsdG9vbCBpbnRsdG9vbC1uYXRpdmUiCitSREVQRU5EU18ke1BOfSA9ICJvcGtnIGJhc2giCisKK2luaGVyaXQgZ25vbWUgcHl0aG9ubmF0aXZlCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvUGFja2FnZUtpdC9yZWxlYXNlcy9QYWNrYWdlS2l0LSR7UFZ9LnRhci5iejI7bmFtZT1hcmNoaXZlIFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZWZpeC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9vcGtnZml4ZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Eb24tdC1jYWxsLWRlcHJlY2F0ZWQtZ2xpYi1mdW5jdGlvbnMtYW5kLXVzZS10aGUtbmV3LnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjMzYTMxMjdlOWVkNDFlMjY2NzE3ODZhZWU5ZmU1NmZmIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiOGRhZTQxNDkzZGZiMDExNDQyNzQ2ZDI1MmIzNDM1YmYzMjA0ZTE3YmY3YzQ3ZTM5NmY5MGZiZDIxNTI2MGUxNCIKKworUyA9ICIke1dPUktESVJ9L1BhY2thZ2VLaXQtJHtQVn0iCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW3NlcnZpY2UtcGFja3NdID0gIi0tZW5hYmxlLXNlcnZpY2UtcGFja3MsLS1kaXNhYmxlLXNlcnZpY2UtcGFja3MsbGliYXJjaGl2ZSIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC1zZWN1cml0eS1mcmFtZXdvcms9ZHVtbXkgXAorICAgICAgICAgICAgICAgIC0td2l0aC1kZWZhdWx0LWJhY2tlbmQ9b3BrZyBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtb3BrZyBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXRlc3RzIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtcnVjayBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXF0IFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtZ3N0cmVhbWVyLXBsdWdpbiBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWxvY2FsICBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLW5ldHdvcmttYW5hZ2VyIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtZGV2aWNlLXJlYmluZCBcCisgICAgICAgICAgICAgICAgYWNfY3ZfcGF0aF9YTUxUTz1ubyBcCisiCisKKyNkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyMgICAgbWtkaXIgLXAgbTQKKyMgICAgZWNobyAiRVhUUkFfRElTVD0iID4gZ3RrLWRvYy5tYWtlCisjfQorCitkb19jb25maWd1cmVfYXBwZW5kKCkgeworICAgIGZvciBpIGluICQoZmluZCAuIC1uYW1lIE1ha2VmaWxlKSA7IGRvCisgICAgICAgIHNlZCAtaSAtZSBzOiR7U1RBR0lOR19ESVJfTkFUSVZFfTo6ZyBcCisgICAgICAgICAgICAgICAtZSBzOi91c3IvYmluL2ludGx0b29sLW1lcmdlOiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9pbnRsdG9vbC1tZXJnZTpnIFwKKyAgICAgICAgICAgICAgICRpCisgICAgZG9uZQorfQorCitQQUNLQUdFUyA9KyAiJHtQTn0td2Vic2l0ZSIKK0ZJTEVTXyR7UE59LXdlYnNpdGUgPSAiJHtkYXRhZGlyfS9QYWNrYWdlS2l0L3dlYnNpdGUiCisKK1BBQ0tBR0VTID0rICIke1BOfS1weXRob24iCitGSUxFU18ke1BOfS1weXRob24gPSAiJHtsaWJkaXJ9L3B5dGhvbioiCisKK1BBQ0tBR0VTID0rICIke1BOfS1ndGttb2R1bGUiCitGSUxFU18ke1BOfS1ndGttb2R1bGUgPSAiJHtsaWJkaXJ9L2d0ay0yLjAvKi8qLnNvIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3BhY2thZ2VraXQtYmFja2VuZC8qLnNvICR7bGliZGlyfS9wbS11dGlscyAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0tc2VydmljZXMvICR7ZGF0YWRpcn0vUG9saWN5S2l0ICR7ZGF0YWRpcn0vUGFja2FnZUtpdCIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3BhY2thZ2VraXQtYmFja2VuZC8uZGVidWcvKi5zbyAke2xpYmRpcn0vZ3RrLTIuMC8qLy5kZWJ1ZyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L3BhY2thZ2VraXQtYmFja2VuZC8qLmxhICR7bGliZGlyfS9ndGstMi4wLyovKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L3BhY2thZ2VraXQtYmFja2VuZC8qLmEgJHtsaWJkaXJ9L2d0ay0yLjAvKi8qLmEiCisKKyMgUGFja2FnZUtpdC0wLjUuNi9iYWNrZW5kcy9vcGtnL3BrLWJhY2tlbmQtb3BrZy5jOjMxOjI2OiBmYXRhbCBlcnJvcjogbGlib3BrZy9vcGtnLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKK1BOQkxBQ0tMSVNUW3BhY2thZ2VraXRdID89ICJCUk9LRU46IGRlcGVuZHMgb24gb2xkIGRlcHJlY2F0ZWQgbGlib3BrZyB3aGljaCBpcyBjdXJyZW50bHkgZGlzYWJsZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBzb29uIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9pcGMtcnVuXzAuOTQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wZXJsL2lwYy1ydW5fMC45NC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NjA1NGEyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9pcGMtcnVuXzAuOTQuYmIKQEAgLTAsMCArMSwyMyBAQAorREVTQ1JJUFRJT04gPSAiXAorSVBDOjpSdW4gYWxsb3dzIHlvdSBydW4gYW5kIGludGVyYWN0IHdpdGggY2hpbGQgcHJvY2Vzc2VzIFwKK3VzaW5nIGZpbGVzLCBwaXBlcywgYW5kIHBzZXVkby10dHlzLiBCb3RoIHN5c3RlbSgpLXN0eWxlIGFuZCBzY3JpcHRlZCBcCit1c2FnZXMgYXJlIHN1cHBvcnRlZCBhbmQgbWF5IGJlIG1peGVkLiBMaWtld2lzZSwgZnVuY3Rpb25hbCBhbmQgT08gQVBJIFwKK3N0eWxlcyBhcmUgYm90aCBzdXBwb3J0ZWQgYW5kIG1heSBiZSBtaXhlZC4iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MGViZDM3Y2FmNTM3ODFlOGI3MjIzZTZiOTliNjNmNGUiCitERVBFTkRTID0gInBlcmwiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS90b2Rkci9JUEMtUnVuLmdpdCIKK1NSQ1JFViA9ICI2YmRmNDFlMjc2ZTA2ZDIzZTE0MDc4M2IxM2E2ZWFlZjQ3NDVjMjE2IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGNwYW4KKworRVhUUkFfQ1BBTkZMQUdTID0gIkVYUEFUTElCUEFUSD0ke1NUQUdJTkdfTElCRElSfSBFWFBBVElOQ1BBVEg9JHtTVEFHSU5HX0lOQ0RJUn0iCisKK2RvX2NvbXBpbGUoKSB7CisgICAgZXhwb3J0IExJQkM9IiQoZmluZCAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtiYXNlX2xpYmRpcn0vIC1uYW1lICdsaWJjLSouc28nKSIKKyAgICBjcGFuX2RvX2NvbXBpbGUKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvbGliaW8tcHR5LXBlcmxfMS4xMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvbGliaW8tcHR5LXBlcmxfMS4xMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMWE5NWU1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9saWJpby1wdHktcGVybF8xLjEyLmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiUGVybCBtb2R1bGUgZm9yIHBzZXVkbyB0dHkgSU8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTUVUQS55bWw7YmVnaW5saW5lPTExO2VuZGxpbmU9MTI7bWQ1PWIyNTYyZjk0OTA3ZWViNDJlOGNlOWQ0NWY2MjhlNTg3IgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuY3Bhbi5vcmcvbW9kdWxlcy9ieS1tb2R1bGUvSU8vSU8tVHR5LSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjExNjk1YTFhNTE2YjNiZDFiOTBjZTc1ZmYwY2UzZTZkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImEyZWY4NzcwZDMzMDkxNzgyMDNmOGM4YWMyNWU2MjNlNjNjZjc2ZTk3ODMwZmQzYmUyODBhZGUxYTU1NTI5MGQiCisKK1MgPSAiJHtXT1JLRElSfS9JTy1UdHktJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9wZXJsL3ZlbmRvcl9wZXJsLyovYXV0by9JTy9UdHkvLmRlYnVnLyIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC01LjYuMTgvY2hhbmdlLUFDX1RSWV9SVU4tdG8tQUNfVFJZX0xJTksucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLTUuNi4xOC9jaGFuZ2UtQUNfVFJZX1JVTi10by1BQ19UUllfTElOSy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOWMzMzRmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC01LjYuMTgvY2hhbmdlLUFDX1RSWV9SVU4tdG8tQUNfVFJZX0xJTksucGF0Y2gKQEAgLTAsMCArMSw1NiBAQAorW1BBVENIXSBjb25maWcubTQ6IGNoYW5nZSBBQ19UUllfUlVOIHRvIEFDX1RSWV9MSU5LCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitBQ19UUllfUlVOIGlzIG5vdCBzdWl0YWJsZSBmb3IgY3Jvc3MtY29tcGlsZQorCitTaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBleHQvZmlsZWluZm8vY29uZmlnLm00IHwgMzEgKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZXh0L2ZpbGVpbmZvL2NvbmZpZy5tNCBiL2V4dC9maWxlaW5mby9jb25maWcubTQKK2luZGV4IDdlOThkNjIuLjhhOGVhMGUgMTAwNjQ0CistLS0gYS9leHQvZmlsZWluZm8vY29uZmlnLm00CisrKysgYi9leHQvZmlsZWluZm8vY29uZmlnLm00CitAQCAtMTQsMzEgKzE0LDEyIEBAIGlmIHRlc3QgIiRQSFBfRklMRUlORk8iICE9ICJubyI7IHRoZW4KKyAgICAgbGlibWFnaWMvcmVhZGNkZi5jIGxpYm1hZ2ljL3NvZnRtYWdpYy5jIgorIAorICAgQUNfTVNHX0NIRUNLSU5HKFtmb3Igc3RyY2FzZXN0cl0pCistICBBQ19UUllfUlVOKFsKKy0jaW5jbHVkZSA8c3RyaW5nLmg+CistI2luY2x1ZGUgPHN0cmluZ3MuaD4KKy0jaW5jbHVkZSA8c3RkbGliLmg+CistCistaW50IG1haW4odm9pZCkKKy17CistICAgICAgICBjaGFyICpzMCwgKnMxLCAqcmV0OworLQorLSAgICAgICAgczAgPSAoY2hhciAqKSBtYWxsb2MoNDIpOworLSAgICAgICAgczEgPSAoY2hhciAqKSBtYWxsb2MoOCk7CistCistICAgICAgICBtZW1zZXQoczAsICdYJywgNDIpOworLSAgICAgICAgczBbMjRdID0gJ1knOworLSAgICAgICAgczBbMjZdID0gJ1onOworLSAgICAgICAgczBbNDFdID0gJ1wwJzsKKy0gICAgICAgIG1lbXNldChzMSwgJ3gnLCA4KTsKKy0gICAgICAgIHMxWzBdID0gJ3knOworLSAgICAgICAgczFbMl0gPSAnWic7CistICAgICAgICBzMVs3XSA9ICdcMCc7CistCistICAgICAgICByZXQgPSBzdHJjYXNlc3RyKHMwLCBzMSk7CistCistICAgICAgICByZXR1cm4gIShOVUxMICE9IHJldCk7CistfQorKyAgQUNfVFJZX0NPTVBJTEUoWworKyAgICAgI2luY2x1ZGUgPHN0cmluZy5oPgorKyAgICAgI2luY2x1ZGUgPHN0cmluZ3MuaD4KKysgICAgICNpbmNsdWRlIDxzdGRsaWIuaD4KKysgIF0sWworKyAgICAgc3RyY2FzZXN0cihOVUxMLCBOVUxMKTsKKyAgIF0sWworICAgICBkbmwgdXNpbmcgdGhlIHBsYXRmb3JtIGltcGxlbWVudGF0aW9uCisgICAgIEFDX01TR19SRVNVTFQoeWVzKQorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlN2ExNDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLmluYwpAQCAtMCwwICsxLDI3MiBAQAorU1VNTUFSWSA9ICJBIHNlcnZlci1zaWRlLCBIVE1MLWVtYmVkZGVkIHNjcmlwdGluZyBsYW5ndWFnZSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cucGhwLm5ldCIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorCitMSUNFTlNFID0gIlBIUC0zLjAiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorREVQRU5EUyA9ICJ6bGliIGJ6aXAyIGxpYnhtbDIgdmlydHVhbC9saWJpY29udiBwaHAtbmF0aXZlIGxlbW9uLW5hdGl2ZSBcCisgICAgICAgICAgIG9wZW5zc2wgbGlibWNyeXB0IgorREVQRU5EU19jbGFzcy1uYXRpdmUgPSAiemxpYi1uYXRpdmUgbGlieG1sMi1uYXRpdmUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3BocC5uZXQvZGlzdHJpYnV0aW9ucy9waHAtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9hY2luY2x1ZGUteG1sMi1jb25maWcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1waHAtZG9uLXQtdXNlLWJyb2tlbi13cmFwcGVyLWZvci1ta2Rpci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWFjaW5jbHVkZS11c2UtcGtnY29uZmlnLWZvci1saWJ4bWwyLWNvbmZpZy5wYXRjaCBcCisgICAgICAgICAgIgorCitTUkNfVVJJX2FwcGVuZF9jbGFzcy10YXJnZXQgKz0gIiBcCisgICAgICAgICAgICBmaWxlOi8vaWNvbnYucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL2ltYXAtZml4LWF1dG9mb28ucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL3BlYXItbWFrZWZpbGUucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL3BoYXItbWFrZWZpbGUucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL3BocF9leGVjX25hdGl2ZS5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vcGhwLWZwbS5jb25mIFwKKyAgICAgICAgICAgIGZpbGU6Ly9waHAtZnBtLWFwYWNoZS5jb25mIFwKKyAgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL3B0aHJlYWQtY2hlY2stdGhyZWFkcy1tNC5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vNzBfbW9kX3BocDUuY29uZiBcCisgICAgICAgICAgICBmaWxlOi8vcGhwLWZwbS5zZXJ2aWNlIFwKKyAgICAgICAgICAiCitTID0gIiR7V09SS0RJUn0vcGhwLSR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgcHl0aG9ubmF0aXZlIGdldHRleHQKKworIyBwaHBpemUgaXMgbm90IHNjYW5uZWQgZm9yIGFic29sdXRlIHBhdGhzIGJ5IGRlZmF1bHQgKGJ1dCBwaHAtY29uZmlnIGlzKS4KKyMKK1NTVEFURV9TQ0FOX0ZJTEVTICs9ICJwaHBpemUiCitTU1RBVEVfU0NBTl9GSUxFUyArPSAiYnVpbGQtZGVmcy5oIgorCitQSFBfTElCRElSID0gIiR7bGliZGlyfS9waHA1IgorCisjIENvbW1vbiBFWFRSQV9PRUNPTkYKK0NPTU1PTl9FWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtc29ja2V0cyBcCisgICAgICAgICAgICAgICAgICAgICAgIC0tZW5hYmxlLXBjbnRsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgLS1lbmFibGUtc2hhcmVkIFwKKyAgICAgICAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLW9wY2FjaGUgXAorICAgICAgICAgICAgICAgICAgICAgICAtLWRpc2FibGUtcnBhdGggXAorICAgICAgICAgICAgICAgICAgICAgICAtLXdpdGgtcGljIFwKKyAgICAgICAgICAgICAgICAgICAgICAgLS1saWJkaXI9JHtQSFBfTElCRElSfSBcCisiCitFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtbWJzdHJpbmcgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLXdkZHggXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWZwbSBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtemlwIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtbGliZGlyPSR7YmFzZWxpYn0gXAorICAgICAgICAgICAgICAgIC0td2l0aC1nZXR0ZXh0PSR7U1RBR0lOR19MSUJESVJ9Ly4uIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtemxpYj0ke1NUQUdJTkdfTElCRElSfS8uLiBcCisgICAgICAgICAgICAgICAgLS13aXRoLWljb252PSR7U1RBR0lOR19MSUJESVJ9Ly4uIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtbWNyeXB0PSR7U1RBR0lOR19ESVJfVEFSR0VUfSR7ZXhlY19wcmVmaXh9IFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtYnoyPSR7U1RBR0lOR19ESVJfVEFSR0VUfSR7ZXhlY19wcmVmaXh9IFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtY29uZmlnLWZpbGUtcGF0aD0ke3N5c2NvbmZkaXJ9L3BocC9hcGFjaGUyLXBocDUgXAorICAgICAgICAgICAgICAgICR7QGJhc2VfY29uZGl0aW9uYWwoJ1NJVEVJTkZPX0VORElBTk5FU1MnLCAnbGUnLCAnYWNfY3ZfY19iaWdlbmRpYW5fcGhwPW5vJywgJ2FjX2N2X2NfYmlnZW5kaWFuX3BocD15ZXMnLCBkKX0gXAorICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3BhbScsICcnLCAnYWNfY3ZfbGliX3BhbV9wYW1fc3RhcnQ9bm8nLCBkKX0gXAorICAgICAgICAgICAgICAgICR7Q09NTU9OX0VYVFJBX09FQ09ORn0gXAorIgorRVhUUkFfT0VDT05GX2NsYXNzLW5hdGl2ZSA9ICIgXAorICAgICAgICAgICAgICAgIC0td2l0aC16bGliPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS8uLiBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LWljb252IFwKKyAgICAgICAgICAgICAgICAke0NPTU1PTl9FWFRSQV9PRUNPTkZ9IFwKKyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIm15c3FsIHNxbGl0ZTMgaW1hcCBcCisgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAncGFtJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID0gIiIKKworUEFDS0FHRUNPTkZJR1tteXNxbF0gPSAiLS13aXRoLW15c3FsPSR7U1RBR0lOR19ESVJfVEFSR0VUfSR7cHJlZml4fSBcCisgICAgICAgICAgICAgICAgICAgICAgICAtLXdpdGgtbXlzcWxpPSR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9L215c3FsX2NvbmZpZyBcCisgICAgICAgICAgICAgICAgICAgICAgICAtLXdpdGgtcGRvLW15c3FsPSR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9L215c3FsX2NvbmZpZyBcCisgICAgICAgICAgICAgICAgICAgICAgICAsLS13aXRob3V0LW15c3FsIC0td2l0aG91dC1teXNxbGkgLS13aXRob3V0LXBkby1teXNxbCBcCisgICAgICAgICAgICAgICAgICAgICAgICAsbXlzcWw1IgorCitQQUNLQUdFQ09ORklHW3NxbGl0ZTNdID0gIi0td2l0aC1zcWxpdGUzPSR7U1RBR0lOR19MSUJESVJ9Ly4uIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgLS13aXRoLXBkby1zcWxpdGU9JHtTVEFHSU5HX0xJQkRJUn0vLi4gXAorICAgICAgICAgICAgICAgICAgICAgICAgICAsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgLHNxbGl0ZTMiCitQQUNLQUdFQ09ORklHW3Bnc3FsXSA9ICItLXdpdGgtcGdzcWw9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtleGVjX3ByZWZpeH0sLS13aXRob3V0LXBnc3FsLHBvc3RncmVzcWwiCitQQUNLQUdFQ09ORklHW3NvYXBdID0gIi0tZW5hYmxlLWxpYnhtbCAtLWVuYWJsZS1zb2FwLCAtLWRpc2FibGUtc29hcCwgbGlieG1sMiIKK1BBQ0tBR0VDT05GSUdbYXBhY2hlMl0gPSAiLS13aXRoLWFweHMyPSR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9L2FweHMsLGFwYWNoZTItbmF0aXZlIGFwYWNoZTIiCitQQUNLQUdFQ09ORklHW3BhbV0gPSAiLCxsaWJwYW0iCitQQUNLQUdFQ09ORklHW2ltYXBdID0gIi0td2l0aC1pbWFwPSR7U1RBR0lOR19ESVJfSE9TVH0gXAorICAgICAgICAgICAgICAgICAgICAgICAtLXdpdGgtaW1hcC1zc2w9JHtTVEFHSU5HX0RJUl9IT1NUfSBcCisgICAgICAgICAgICAgICAgICAgICAgICwtLXdpdGhvdXQtaW1hcCAtLXdpdGhvdXQtaW1hcC1zc2wgXAorICAgICAgICAgICAgICAgICAgICAgICAsdXctaW1hcCIKKworCitleHBvcnQgUEhQX05BVElWRV9ESVIgPSAiJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9IgorZXhwb3J0IFBIUF9QRUFSX1BIUF9CSU4gPSAiJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3BocCIKK0NGTEFHUyArPSAiIC1EX0dOVV9TT1VSQ0UgLWcgLURQVFlTX0FSRV9HRVRQVCAtRFBUWVNfQVJFX1NFQVJDSEVEIC1JJHtTVEFHSU5HX0lOQ0RJUn0vYXBhY2hlMiIKK0NGTEFHU19hcHBlbmRfYWFyY2g2NCA9ICIgLU8yIgorCitFWFRSQV9PRU1BS0UgPSAiSU5TVEFMTF9ST09UPSR7RH0iCisKK2FjcGF0aHMgPSAiIgorCitkb19jb25maWd1cmVfcHJlcGVuZCAoKSB7CisgICAgcm0gLWYgJHtTfS9idWlsZC9saWJ0b29sLm00ICR7U30vbHRtYWluLnNoICR7U30vYWNsb2NhbC5tNAorICAgIGZpbmQgJHtTfSAtbmFtZSBjb25maWcubTQgfCB4YXJncyAtbjEgc2VkIC1pICdzIUFQWFNfSFRUUEQ9LiohQVBYU19IVFRQRD0ke1NUQUdJTkdfQklORElSX05BVElWRX0vaHR0cGQhJworfQorCitkb19jb25maWd1cmVfYXBwZW5kKCkgeworICAgICMgTm8sIGxpYnRvb2wsIHdlIHJlYWxseSBkb24ndCB3YW50IHJwYXRoIHNldC4uLgorICAgIHNlZCAtaSAnc3xeaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0uKnxoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSIifGcnICR7SE9TVF9TWVN9LWxpYnRvb2wKKyAgICBzZWQgLWkgJ3N8XnJ1bnBhdGhfdmFyPUxEX1JVTl9QQVRIfHJ1bnBhdGhfdmFyPURJRV9SUEFUSF9ESUV8ZycgJHtIT1NUX1NZU30tbGlidG9vbAorfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisgICAgcm0gLXJmICR7RH0vJHtQSFBfTElCRElSfS9waHAvLnJlZ2lzdHJ5CisgICAgcm0gLXJmICR7RH0vJHtQSFBfTElCRElSfS9waHAvLmNoYW5uZWxzCisgICAgcm0gLXJmICR7RH0vJHtQSFBfTElCRElSfS9waHAvLlthLXpdKgorfQorCitkb19pbnN0YWxsX3ByZXBlbmQoKSB7CisgICAgY2F0IGFjbG9jYWwtY29weS9saWJ0b29sLm00IGFjbG9jYWwtY29weS9sdH5vYnNvbGV0ZS5tNCBhY2xvY2FsLWNvcHkvbHRvcHRpb25zLm00IFwKKyAgICAgICAgYWNsb2NhbC1jb3B5L2x0c3VnYXIubTQgYWNsb2NhbC1jb3B5L2x0dmVyc2lvbi5tNCA+ICR7U30vYnVpbGQvbGlidG9vbC5tNAorfQorCitkb19pbnN0YWxsX3ByZXBlbmRfY2xhc3MtdGFyZ2V0KCkgeworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2FwYWNoZTInLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICAjIEluc3RhbGwgZHVtbXkgY29uZmlnIGZpbGUgc28gYXB4cyBkb2Vzbid0IGZhaWwKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9hcGFjaGUyCisgICAgICAgIHByaW50ZiAiXG5Mb2FkTW9kdWxlIGR1bW15X21vZHVsZSBtb2R1bGVzL21vZF9kdW1teS5zb1xuIiA+ICR7RH0ke3N5c2NvbmZkaXJ9L2FwYWNoZTIvaHR0cGQuY29uZgorICAgIGZpCit9CisKKyMgZml4bWUKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS8KKyAgICBpZiBbIC1kICR7RH0vJHtTVEFHSU5HX0RJUl9OQVRJVkV9LyR7c3lzY29uZmRpcn0gXTt0aGVuCisgICAgICAgICBtdiAke0R9LyR7U1RBR0lOR19ESVJfTkFUSVZFfS8ke3N5c2NvbmZkaXJ9LyogJHtEfS8ke3N5c2NvbmZkaXJ9LworICAgIGZpCisgICAgcm0gLXJmICR7RH0vJHtUTVBESVJ9CisgICAgcm0gLXJmICR7RH0vLnJlZ2lzdHJ5CisgICAgcm0gLXJmICR7RH0vLmNoYW5uZWxzCisgICAgcm0gLXJmICR7RH0vLlthLXpdKgorICAgIHJtIC1yZiAke0R9L3ZhcgorICAgIHJtIC1mICAke0R9LyR7c3lzY29uZmRpcn0vcGhwLWZwbS5jb25mLmRlZmF1bHQKKyAgICBzZWQgLWkgJ3M6JHtTVEFHSU5HX0RJUl9OQVRJVkV9OjpnJyAke0R9LyR7c3lzY29uZmRpcn0vcGVhci5jb25mCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcGhwLWZwbS5jb25mICR7RH0vJHtzeXNjb25mZGlyfS9waHAtZnBtLmNvbmYKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9hcGFjaGUyL2NvbmYuZAorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3BocC1mcG0tYXBhY2hlLmNvbmYgJHtEfS8ke3N5c2NvbmZkaXJ9L2FwYWNoZTIvY29uZi5kL3BocC1mcG0uY29uZgorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgc2VkIC1pICdzOj0vdXNyL3NiaW46PSR7c2JpbmRpcn06ZycgJHtCfS9zYXBpL2ZwbS9pbml0LmQucGhwLWZwbQorICAgIHNlZCAtaSAnczo9L2V0Yzo9JHtzeXNjb25mZGlyfTpnJyAke0J9L3NhcGkvZnBtL2luaXQuZC5waHAtZnBtCisgICAgc2VkIC1pICdzOj0vdmFyOj0ke2xvY2Fsc3RhdGVkaXJ9OmcnICR7Qn0vc2FwaS9mcG0vaW5pdC5kLnBocC1mcG0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtCfS9zYXBpL2ZwbS9pbml0LmQucGhwLWZwbSAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvcGhwLWZwbQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3BocC1mcG0tYXBhY2hlLmNvbmYgJHtEfS8ke3N5c2NvbmZkaXJ9L2FwYWNoZTIvY29uZi5kL3BocC1mcG0uY29uZgorCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTt0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcGhwLWZwbS5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLworICAgICAgICBzZWQgLWkgLWUgJ3MsQFNZU0NPTkZESVJALCR7c3lzY29uZmRpcn0sZycgXAorICAgICAgICAgICAgLWUgJ3MsQExPQ0FMU1RBVEVESVJALCR7bG9jYWxzdGF0ZWRpcn0sZycgXAorICAgICAgICAgICAgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcGhwLWZwbS5zZXJ2aWNlCisgICAgZmkKKworICAgIFRNUD1gZGlybmFtZSAke0R9LyR7VE1QRElSfWAKKyAgICB3aGlsZSB0ZXN0ICR7VE1QfSAhPSAke0R9OyBkbworICAgICAgICBpZiBbIC1kICR7VE1QfSBdOyB0aGVuCisgICAgICAgICAgICBybWRpciAke1RNUH0KKyAgICAgICAgZmkKKyAgICAgICAgVE1QPWBkaXJuYW1lICR7VE1QfWA7CisgICAgZG9uZQorCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnYXBhY2hlMicsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9hcGFjaGUyL21vZHVsZXMKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9hcGFjaGUyL21vZHVsZXMuZAorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3BocC9hcGFjaGUyLXBocDUKKyAgICAgICAgaW5zdGFsbCAtbSA3NTUgIGxpYnMvbGlicGhwNS5zbyAke0R9JHtsaWJkaXJ9L2FwYWNoZTIvbW9kdWxlcworICAgICAgICBpbnN0YWxsIC1tIDY0NCAgJHtXT1JLRElSfS83MF9tb2RfcGhwNS5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L2FwYWNoZTIvbW9kdWxlcy5kCisgICAgICAgIHNlZCAtaSBzLGxpYi8sJHtsaWJkaXJ9LywgJHtEfSR7c3lzY29uZmRpcn0vYXBhY2hlMi9tb2R1bGVzLmQvNzBfbW9kX3BocDUuY29uZgorICAgICAgICBjYXQgJHtTfS9waHAuaW5pLXByb2R1Y3Rpb24gfCBcCisgICAgICAgICAgICBzZWQgLWUgJ3MsZXh0ZW5zaW9uX2RpciA9IFwiXC4vXCIsZXh0ZW5zaW9uX2RpciA9IFwiL3Vzci9saWIvZXh0ZW5zaW9uc1wiLCcgXAorICAgICAgICAgICAgPiAke0R9JHtzeXNjb25mZGlyfS9waHAvYXBhY2hlMi1waHA1L3BocC5pbmkKKyAgICAgICAgcm0gLWYgJHtEfSR7c3lzY29uZmRpcn0vYXBhY2hlMi9odHRwZC5jb25mKgorICAgIGZpCit9CisKK1NZU1JPT1RfUFJFUFJPQ0VTU19GVU5DUyArPSAicGhwX3N5c3Jvb3RfcHJlcHJvY2VzcyIKKworcGhwX3N5c3Jvb3RfcHJlcHJvY2VzcyAoKSB7CisgICAgaW5zdGFsbCAtZCAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9LworICAgIGluc3RhbGwgLW0gNzU1ICR7RH0ke2JpbmRpcn0vcGhwaXplICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vCisgICAgaW5zdGFsbCAtbSA3NTUgJHtEfSR7YmluZGlyfS9waHAtY29uZmlnICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vCisKKyAgICBzZWQgLWkgJ3MhZXZhbCBlY2hvIC8hZXZhbCBlY2hvICR7U1RBR0lOR19ESVJfSE9TVH0vIScgJHtTWVNST09UX0RFU1RESVJ9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfS9waHBpemUKKyAgICBzZWQgLWkgJ3MhXmluY2x1ZGVfZGlyPS4qIWluY2x1ZGVfZGlyPSR7U1RBR0lOR19JTkNESVJ9L3BocCEnICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vcGhwLWNvbmZpZworfQorCitNT0RQSFBfUEFDS0FHRSA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdhcGFjaGUyJywgJyR7UE59LW1vZHBocCcsICcnLCBkKX0iCisKK1BBQ0tBR0VTID0gIiR7UE59LWRiZyAke1BOfS1jbGkgJHtQTn0tY2dpICR7UE59LWZwbSAke1BOfS1mcG0tYXBhY2hlMiAke1BOfS1wZWFyICR7UE59LXBoYXIgJHtNT0RQSFBfUEFDS0FHRX0gJHtQTn0tZGV2ICR7UE59LXN0YXRpY2RldiAke1BOfS1kb2MgJHtQTn0iCisKK1JERVBFTkRTXyR7UE59LXBlYXIgPSAiJHtQTn0iCitSREVQRU5EU18ke1BOfS1waGFyID0gIiR7UE59LWNsaSIKK1JERVBFTkRTXyR7UE59LWNsaSA9ICIke1BOfSIKK1JERVBFTkRTXyR7UE59LW1vZHBocCA9ICIke1BOfSBhcGFjaGUyIgorUkRFUEVORFNfJHtQTn0tZGV2ID0gIiR7UE59IgorCitJTklUU0NSSVBUX1BBQ0tBR0VTID0gIiR7UE59LWZwbSIKK2luaGVyaXQgdXBkYXRlLXJjLmQKKworRklMRVNfJHtQTn0tZGJnID0rICIke2JpbmRpcn0vLmRlYnVnIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2FwYWNoZTIvbW9kdWxlcy8uZGVidWciCitGSUxFU18ke1BOfS1kb2MgKz0gIiR7UEhQX0xJQkRJUn0vcGhwL2RvYyIKK0ZJTEVTXyR7UE59LWNsaSA9ICIke2JpbmRpcn0vcGhwIgorRklMRVNfJHtQTn0tcGhhciA9ICIke2JpbmRpcn0vcGhhcioiCitGSUxFU18ke1BOfS1jZ2kgPSAiJHtiaW5kaXJ9L3BocC1jZ2kiCitGSUxFU18ke1BOfS1mcG0gPSAiJHtzYmluZGlyfS9waHAtZnBtICR7c3lzY29uZmRpcn0vcGhwLWZwbS5jb25mICR7ZGF0YWRpcn0vZnBtICR7c3lzY29uZmRpcn0vaW5pdC5kL3BocC1mcG0gJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9waHAtZnBtLnNlcnZpY2UiCitGSUxFU18ke1BOfS1mcG0tYXBhY2hlMiA9ICIke3N5c2NvbmZkaXJ9L2FwYWNoZTIvY29uZi5kL3BocC1mcG0uY29uZiIKK0NPTkZGSUxFU18ke1BOfS1mcG0gPSAiJHtzeXNjb25mZGlyfS9waHAtZnBtLmNvbmYiCitDT05GRklMRVNfJHtQTn0tZnBtLWFwYWNoZTIgPSAiJHtzeXNjb25mZGlyfS9hcGFjaGUyL2NvbmYuZC9waHAtZnBtLmNvbmYiCitJTklUU0NSSVBUX05BTUVfJHtQTn0tZnBtID0gInBocC1mcG0iCitJTklUU0NSSVBUX1BBUkFNU18ke1BOfS1mcG0gPSAiZGVmYXVsdHMgNjAiCitGSUxFU18ke1BOfS1wZWFyID0gIiR7YmluZGlyfS9wZWFyKiAke2JpbmRpcn0vcGVjbCAke1BIUF9MSUJESVJ9L3BocC9QRUFSIFwKKyAgICAgICAgICAgICAgICAke1BIUF9MSUJESVJ9L3BocC9QRUFSKi5waHAgJHtQSFBfTElCRElSfS9waHAvU3lzdGVtLnBocCBcCisgICAgICAgICAgICAgICAgJHtQSFBfTElCRElSfS9waHAvcGVjbGNtZC5waHAgJHtQSFBfTElCRElSfS9waHAvcGVhcmNtZC5waHAgXAorICAgICAgICAgICAgICAgICR7UEhQX0xJQkRJUn0vcGhwLy5jaGFubmVscyAke1BIUF9MSUJESVJ9L3BocC8uY2hhbm5lbHMvLmFsaWFzIFwKKyAgICAgICAgICAgICAgICAke1BIUF9MSUJESVJ9L3BocC8ucmVnaXN0cnkgJHtQSFBfTElCRElSfS9waHAvQXJjaGl2ZS9UYXIucGhwIFwKKyAgICAgICAgICAgICAgICAke1BIUF9MSUJESVJ9L3BocC9Db25zb2xlL0dldG9wdC5waHAgJHtQSFBfTElCRElSfS9waHAvT1MvR3Vlc3MucGhwIFwKKyAgICAgICAgICAgICAgICAke1BIUF9MSUJESVJ9L3BocC9kYXRhL1BFQVIgXAorICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vcGVhci5jb25mIgorRklMRVNfJHtQTn0tZGV2ID0gIiR7aW5jbHVkZWRpcn0vcGhwICR7UEhQX0xJQkRJUn0vYnVpbGQgJHtiaW5kaXJ9L3BocGl6ZSBcCisgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3BocC1jb25maWcgJHtQSFBfTElCRElSfS9waHAvLmRlcGRiIFwKKyAgICAgICAgICAgICAgICAke1BIUF9MSUJESVJ9L3BocC8uZGVwZGJsb2NrICR7UEhQX0xJQkRJUn0vcGhwLy5maWxlbWFwIFwKKyAgICAgICAgICAgICAgICAke1BIUF9MSUJESVJ9L3BocC8ubG9jayAke1BIUF9MSUJESVJ9L3BocC90ZXN0IgorRklMRVNfJHtQTn0gPSAiJHtQSFBfTElCRElSfS9waHAiCitGSUxFU18ke1BOfSArPSAiJHtiaW5kaXJ9IgorCitTVU1NQVJZXyR7UE59LW1vZHBocCA9ICJQSFAgbW9kdWxlIGZvciB0aGUgQXBhY2hlIEhUVFAgc2VydmVyIgorRklMRVNfJHtQTn0tbW9kcGhwID0gIiR7bGliZGlyfS9hcGFjaGUyICR7c3lzY29uZmRpcn0iCisKK01PRFBIUF9PTERQQUNLQUdFID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2FwYWNoZTInLCAnbW9kcGhwJywgJycsIGQpfSIKK1JQUk9WSURFU18ke1BOfS1tb2RwaHAgPSAiJHtNT0RQSFBfT0xEUEFDS0FHRX0iCitSUkVQTEFDRVNfJHtQTn0tbW9kcGhwID0gIiR7TU9EUEhQX09MRFBBQ0tBR0V9IgorUkNPTkZMSUNUU18ke1BOfS1tb2RwaHAgPSAiJHtNT0RQSFBfT0xEUEFDS0FHRX0iCisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKKyAgICBjcmVhdGVfd3JhcHBlciAke0R9JHtiaW5kaXJ9L3BocCBcCisgICAgICAgIFBIUF9QRUFSX1NZU0NPTkZfRElSPSR7c3lzY29uZmRpcn0vCit9CisKK1NTVEFURVBPU1RJTlNURlVOQ1NfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgcGhwX3NzdGF0ZV9wb3N0aW5zdCAiCisKK3BocF9zc3RhdGVfcG9zdGluc3QoKSB7CisgICAgaWYgWyAiJHtCQl9DVVJSRU5UVEFTS30iID0gInBvcHVsYXRlX3N5c3Jvb3Rfc2V0c2NlbmUiIF0KKyAgICB0aGVuCisgICAgICAgIGhlYWQgLW4xICR7c3lzY29uZmRpcn0vcGVhci5jb25mID4gJHtzeXNjb25mZGlyfS9wZWFyLnRtcC5jb25mCisgICAgICAgIGZvciBwIGluIGB0YWlsIC1uMSAgJHtzeXNjb25mZGlyfS9wZWFyLmNvbmYgfCBzZWQgLXMgJ3MvOy8gL2cnYDsgZG8KKyAgICAgICAgICAgIGVjaG8gJHAgfCBhd2sgLUY6ICdCRUdJTiB7T0ZTID0gIjoiOyBPUlMgPSAiOyJ9e2lmKE5GPT0zKXtwcmludCAkMSwgbGVuZ3RoKCQzKS0yKm1hdGNoKCQzLCAvXiIvKSwgJDN9IGVsc2Uge3ByaW50ICQwfX0nOworICAgICAgICBkb25lID4+ICR7c3lzY29uZmRpcn0vcGVhci50bXAuY29uZgorICAgICAgICBtdiAtZiAke3N5c2NvbmZkaXJ9L3BlYXIudG1wLmNvbmYgJHtzeXNjb25mZGlyfS9wZWFyLmNvbmYKKyAgICBmaQorfQorCisjIEZhaWxzIHRvIGJ1aWxkIHdpdGggdGh1bWItMSAocWVtdWFybSkKKyMgfCB7c3RhbmRhcmQgaW5wdXR9OiBBc3NlbWJsZXIgbWVzc2FnZXM6CisjIHwge3N0YW5kYXJkIGlucHV0fTozNzE5OiBFcnJvcjogc2VsZWN0ZWQgcHJvY2Vzc29yIGRvZXMgbm90IHN1cHBvcnQgVGh1bWIgbW9kZSBgc211bGwgcjAscjIscjkscjMnCisjIHwge3N0YW5kYXJkIGlucHV0fTozNzIwOiBFcnJvcjogdW5zaGlmdGVkIHJlZ2lzdGVyIHJlcXVpcmVkIC0tIGBzdWIgcjIscjIscjAsYXNyIzMxJworIyB8IHtzdGFuZGFyZCBpbnB1dH06Mzc5NjogRXJyb3I6IHNlbGVjdGVkIHByb2Nlc3NvciBkb2VzIG5vdCBzdXBwb3J0IFRodW1iIG1vZGUgYHNtdWxsIHIwLHIyLHIzLHIzJworIyB8IHtzdGFuZGFyZCBpbnB1dH06Mzc5NzogRXJyb3I6IHVuc2hpZnRlZCByZWdpc3RlciByZXF1aXJlZCAtLSBgc3ViIHIyLHIyLHIwLGFzciMzMScKKyMgfCBtYWtlOiAqKiogW2V4dC9zdGFuZGFyZC9tYXRoLmxvXSBFcnJvciAxCitBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvMDAwMS1hY2luY2x1ZGUtdXNlLXBrZ2NvbmZpZy1mb3ItbGlieG1sMi1jb25maWcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLzAwMDEtYWNpbmNsdWRlLXVzZS1wa2djb25maWctZm9yLWxpYnhtbDItY29uZmlnLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxYTVlNDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLzAwMDEtYWNpbmNsdWRlLXVzZS1wa2djb25maWctZm9yLWxpYnhtbDItY29uZmlnLnBhdGNoCkBAIC0wLDAgKzEsOTAgQEAKK0Zyb20gMDAzYzlmZWFhZTZlZDVjMTczZWRjZWE1MTE5M2U0OWJjOTRhYzM5YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbi5rb29pQGxpbmFyby5vcmc+CitEYXRlOiBUdWUsIDE3IEp1biAyMDE0IDA5OjUzOjAwICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMy84XSBhY2luY2x1ZGU6IHVzZSBwa2djb25maWcgZm9yIGxpYnhtbDIgY29uZmlnCisKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbi5rb29pQGxpbmFyby5vcmc+CitVcHN0cmVhbS1TdGF0dXM6IHBlbmRpbmcKKy0tLQorIGFjaW5jbHVkZS5tNCB8IDYzICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCspLCA0MCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2FjaW5jbHVkZS5tNCBiL2FjaW5jbHVkZS5tNAoraW5kZXggMjA2ZmNiZi4uYTZjMGQ4NCAxMDA2NDQKKy0tLSBhL2FjaW5jbHVkZS5tNAorKysrIGIvYWNpbmNsdWRlLm00CitAQCAtMjUzMCw0OCArMjUzMCwzMSBAQCBkbmwKKyBkbmwgQ29tbW9uIHNldHVwIG1hY3JvIGZvciBsaWJ4bWwKKyBkbmwKKyBBQ19ERUZVTihbUEhQX1NFVFVQX0xJQlhNTF0sIFsKKy1BQ19DQUNIRV9DSEVDSyhbZm9yIHhtbDItY29uZmlnIHBhdGhdLCBhY19jdl9waHBfeG1sMl9jb25maWdfcGF0aCwKKy1bCistCistICAgICAgYWNfY3ZfcGhwX3htbDJfY29uZmlnX3BhdGg9IiRQSFBfTElCWE1MX0RJUi94bWwyLWNvbmZpZyIKKy0KKytQS0dfQ0hFQ0tfTU9EVUxFUyhbTElCWE1MXSwgW2xpYnhtbC0yLjAgPiAyLjYuMTFdLCBbCisrICBQSFBfRVZBTF9MSUJMSU5FKCRMSUJYTUxfTElCUywgJDEpCisrICBQSFBfRVZBTF9JTkNMSU5FKCRMSUJYTUxfQ0ZMQUdTKQorKworKyAgZG5sIENoZWNrIHRoYXQgYnVpbGQgd29ya3Mgd2l0aCBnaXZlbiBsaWJzCisrICBBQ19DQUNIRV9DSEVDSyh3aGV0aGVyIGxpYnhtbCBidWlsZCB3b3JrcywgcGhwX2N2X2xpYnhtbF9idWlsZF93b3JrcywgWworKyAgICBQSFBfVEVTVF9CVUlMRCh4bWxJbml0UGFyc2VyLAorKyAgICBbCisrICAgICAgcGhwX2N2X2xpYnhtbF9idWlsZF93b3Jrcz15ZXMKKysgICAgICBBQ19NU0dfUkVTVUxUKHllcykKKysgICAgXSwgWworKyAgICAgIEFDX01TR19SRVNVTFQobm8pCisrICAgICAgQUNfTVNHX0VSUk9SKFtidWlsZCB0ZXN0IGZhaWxlZC4gIFBsZWFzZSBjaGVjayB0aGUgY29uZmlnLmxvZyBmb3IgZGV0YWlscy5dKQorKyAgICBdLCBbCisrICAgICAgWyRdJDEKKysgICAgXSkKKysgIF0pCisrICBpZiB0ZXN0ICIkcGhwX2N2X2xpYnhtbF9idWlsZF93b3JrcyIgPSAieWVzIjsgdGhlbgorKyAgICBBQ19ERUZJTkUoSEFWRV9MSUJYTUwsIDEsIFsgXSkKKysgIGZpCisrICAkMgorK10sIFsKKysgIEFDX01TR19FUlJPUihbJExJQlhNTF9QS0dfRVJST1JTXSkKKyBdKQorIAorLSAgaWYgdGVzdCAteCAiJGFjX2N2X3BocF94bWwyX2NvbmZpZ19wYXRoIjsgdGhlbgorLSAgICBYTUwyX0NPTkZJRz0iJGFjX2N2X3BocF94bWwyX2NvbmZpZ19wYXRoIgorLSAgICBsaWJ4bWxfZnVsbF92ZXJzaW9uPWAkWE1MMl9DT05GSUcgLS12ZXJzaW9uYAorLSAgICBhY19JRlM9JElGUworLSAgICBJRlM9Ii4iCistICAgIHNldCAkbGlieG1sX2Z1bGxfdmVyc2lvbgorLSAgICBJRlM9JGFjX0lGUworLSAgICBMSUJYTUxfVkVSU0lPTj1gZXhwciBbJF0xIFwqIDEwMDAwMDAgKyBbJF0yIFwqIDEwMDAgKyBbJF0zYAorLSAgICBpZiB0ZXN0ICIkTElCWE1MX1ZFUlNJT04iIC1nZSAiMjAwNjAxMSI7IHRoZW4KKy0gICAgICBMSUJYTUxfTElCUz1gJFhNTDJfQ09ORklHIC0tbGlic2AKKy0gICAgICBMSUJYTUxfSU5DUz1gJFhNTDJfQ09ORklHIC0tY2ZsYWdzYAorLSAgICAgIFBIUF9FVkFMX0xJQkxJTkUoJExJQlhNTF9MSUJTLCAkMSkKKy0gICAgICBQSFBfRVZBTF9JTkNMSU5FKCRMSUJYTUxfSU5DUykKKy0KKy0gICAgICBkbmwgQ2hlY2sgdGhhdCBidWlsZCB3b3JrcyB3aXRoIGdpdmVuIGxpYnMKKy0gICAgICBBQ19DQUNIRV9DSEVDSyh3aGV0aGVyIGxpYnhtbCBidWlsZCB3b3JrcywgcGhwX2N2X2xpYnhtbF9idWlsZF93b3JrcywgWworLSAgICAgICAgUEhQX1RFU1RfQlVJTEQoeG1sSW5pdFBhcnNlciwKKy0gICAgICAgIFsKKy0gICAgICAgICAgcGhwX2N2X2xpYnhtbF9idWlsZF93b3Jrcz15ZXMKKy0gICAgICAgIF0sIFsKKy0gICAgICAgICAgQUNfTVNHX1JFU1VMVChubykKKy0gICAgICAgICAgQUNfTVNHX0VSUk9SKFtidWlsZCB0ZXN0IGZhaWxlZC4gIFBsZWFzZSBjaGVjayB0aGUgY29uZmlnLmxvZyBmb3IgZGV0YWlscy5dKQorLSAgICAgICAgXSwgWworLSAgICAgICAgICBbJF0kMQorLSAgICAgICAgXSkKKy0gICAgICBdKQorLSAgICAgIGlmIHRlc3QgIiRwaHBfY3ZfbGlieG1sX2J1aWxkX3dvcmtzIiA9ICJ5ZXMiOyB0aGVuCistICAgICAgICBBQ19ERUZJTkUoSEFWRV9MSUJYTUwsIDEsIFsgXSkKKy0gICAgICBmaQorLSAgICAgICQyCistICAgIGVsc2UKKy0gICAgICBBQ19NU0dfRVJST1IoW2xpYnhtbDIgdmVyc2lvbiAyLjYuMTEgb3IgZ3JlYXRlciByZXF1aXJlZC5dKQorLSAgICBmaQorLWlmZWxzZShbJDNdLFtdLCxbZWxzZSAkM10pCistICBmaQorIF0pCisgCisgZG5sIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0tIAorMS45LjMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC8wMDAxLXBocC1kb24tdC11c2UtYnJva2VuLXdyYXBwZXItZm9yLW1rZGlyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC8wMDAxLXBocC1kb24tdC11c2UtYnJva2VuLXdyYXBwZXItZm9yLW1rZGlyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmN2Q1ODEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLzAwMDEtcGhwLWRvbi10LXVzZS1icm9rZW4td3JhcHBlci1mb3ItbWtkaXIucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorRnJvbSBlYmMxMDFlMDcyOGI5ZGI2YzY4N2NmZjUyNWU1ZGZjOGViMGVkYmYzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KK0RhdGU6IFRodSwgMyBOb3YgMjAxMSAxNDoyNzoxNSArMDEwMAorU3ViamVjdDogW1BBVENIIDIvOF0gcGhwOiBkb24ndCB1c2UgYnJva2VuIHdyYXBwZXIgZm9yIG1rZGlyCisKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CistLS0KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlCisKKyBNYWtlZmlsZS5nbG9iYWwgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZS5nbG9iYWwgYi9NYWtlZmlsZS5nbG9iYWwKK2luZGV4IGZmODU4YzIuLmFlNTU0YjQgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5nbG9iYWwKKysrKyBiL01ha2VmaWxlLmdsb2JhbAorQEAgLTEsNCArMSw0IEBACistbWtpbnN0YWxsZGlycyA9ICQodG9wX3NyY2RpcikvYnVpbGQvc2h0b29sIG1rZGlyIC1wCisrbWtpbnN0YWxsZGlycyA9IG1rZGlyIC1wCisgSU5TVEFMTCA9ICQodG9wX3NyY2RpcikvYnVpbGQvc2h0b29sIGluc3RhbGwgLWMKKyBJTlNUQUxMX0RBVEEgPSAkKElOU1RBTEwpIC1tIDY0NAorIAorLS0gCisxLjkuMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLzcwX21vZF9waHA1LmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLzcwX21vZF9waHA1LmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWRlNmZiMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvNzBfbW9kX3BocDUuY29uZgpAQCAtMCwwICsxLDEyIEBACisjIHZpbTogZnQ9YXBhY2hlIHN3PTQgdHM9NAorPElmRGVmaW5lIFBIUDU+CisJIyBMb2FkIHRoZSBtb2R1bGUgZmlyc3QKKwk8SWZNb2R1bGUgIXNhcGlfYXBhY2hlMi5jPgorCQlMb2FkTW9kdWxlIHBocDVfbW9kdWxlICAgIGxpYi9hcGFjaGUyL21vZHVsZXMvbGlicGhwNS5zbworCTwvSWZNb2R1bGU+CisKKwkjIFNldCBpdCB0byBoYW5kbGUgdGhlIGZpbGVzCisJQWRkSGFuZGxlciBwaHA1LXNjcmlwdCAucGhwIC5waHRtbCAucGhwMyAucGhwNCAucGhwNQorCUFkZFR5cGUgYXBwbGljYXRpb24veC1odHRwZC1waHAtc291cmNlIC5waHBzCisJRGlyZWN0b3J5SW5kZXggaW5kZXguaHRtbCBpbmRleC5odG1sLnZhciBpbmRleC5waHAgaW5kZXgucGh0bWwKKzwvSWZEZWZpbmU+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL2FjaW5jbHVkZS14bWwyLWNvbmZpZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvYWNpbmNsdWRlLXhtbDItY29uZmlnLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwODExYTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL2FjaW5jbHVkZS14bWwyLWNvbmZpZy5wYXRjaApAQCAtMCwwICsxLDI1IEBACitVcHN0cmVhbS1zdGF0dXM6IFVua25vd24KKworZGlmZiAtLWdpdCBhL2FjaW5jbHVkZS5tNCBiL2FjaW5jbHVkZS5tNAoraW5kZXggNGZkNDUyZS4uMjA2ZmNiZiAxMDA2NDQKKy0tLSBhL2FjaW5jbHVkZS5tNAorKysrIGIvYWNpbmNsdWRlLm00CitAQCAtMjUzMiwxMiArMjUzMiw5IEBAIGRubAorIEFDX0RFRlVOKFtQSFBfU0VUVVBfTElCWE1MXSwgWworIEFDX0NBQ0hFX0NIRUNLKFtmb3IgeG1sMi1jb25maWcgcGF0aF0sIGFjX2N2X3BocF94bWwyX2NvbmZpZ19wYXRoLAorIFsKKy0gIGZvciBpIGluICRQSFBfTElCWE1MX0RJUiAvdXNyL2xvY2FsIC91c3I7IGRvCistICAgIGlmIHRlc3QgLXggIiRpL2Jpbi94bWwyLWNvbmZpZyI7IHRoZW4KKy0gICAgICBhY19jdl9waHBfeG1sMl9jb25maWdfcGF0aD0iJGkvYmluL3htbDItY29uZmlnIgorLSAgICAgIGJyZWFrCistICAgIGZpCistICBkb25lCisrCisrICAgICAgYWNfY3ZfcGhwX3htbDJfY29uZmlnX3BhdGg9IiRQSFBfTElCWE1MX0RJUi94bWwyLWNvbmZpZyIKKysKKyBdKQorIAorICAgaWYgdGVzdCAteCAiJGFjX2N2X3BocF94bWwyX2NvbmZpZ19wYXRoIjsgdGhlbgorLS0gCisxLjkuMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL2NvbmZpZ3VyZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvY29uZmlndXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1MzM0YzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL2NvbmZpZ3VyZS5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gcGhwLTUuMS42L2NvbmZpZ3VyZS5vbGQJMjAwNi0wOS0xMiAwNzo1NDoxNC4wMDAwMDAwMDAgLTA3MDAKKysrKyBwaHAtNS4xLjYvY29uZmlndXJlCTIwMDYtMDktMTIgMDc6NTQ6MzcuMDAwMDAwMDAwIC0wNzAwCitAQCAtMTQ3MTUsOCArMTQ3MTUsNiBAQAorIAorIAorIAorLSAgdW5zZXQgYWNfY3ZfZnVuY19kbG9wZW4KKy0gIHVuc2V0IGFjX2N2X2Z1bmNfX19kbG9wZW4KKyAgIHVuc2V0IGZvdW5kCisgICAKKyAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBkbG9wZW4iIi4uLiAkYWNfYyIgMT4mNgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9pY29udi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvaWNvbnYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjU1ZmJiMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvaWNvbnYucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorVXBzdHJlYW0tc3RhdHVzOiBVbmtub3duCisKK2RpZmYgLS1naXQgYS9hY2luY2x1ZGUubTQgYi9hY2luY2x1ZGUubTQKK2luZGV4IGE2YzBkODQuLmRmMTFhYmQgMTAwNjQ0CistLS0gYS9hY2luY2x1ZGUubTQKKysrKyBiL2FjaW5jbHVkZS5tNAorQEAgLTI0NTIsNyArMjQ1Miw4IEBAIEFDX0RFRlVOKFtQSFBfU0VUVVBfSUNPTlZdLCBbCisgICBkbmwgQ2hlY2sgbGliYyBmaXJzdCBpZiBubyBwYXRoIGlzIHByb3ZpZGVkIGluIC0td2l0aC1pY29udgorICAgZG5sCisgCistICBpZiB0ZXN0ICIkUEhQX0lDT05WIiA9ICJ5ZXMiOyB0aGVuCisrICBkbmwgbXVzdCBjaGVjayBhZ2FpbnN0IG5vLCBub3QgYWdhaW5zdCB5ZXMgYXMgUEhQX0lDT05WIGNhbiBhbHNvIGluY2x1ZGUgYSBwYXRoLCB3aGljaCBpbXBsaWVzIHllcworKyAgaWYgdGVzdCAiJFBIUF9JQ09OViIgIT0gIm5vIjsgdGhlbgorICAgICBkbmwgUmVzZXQgTElCUyB0ZW1wb3JhcmlseSBhcyBpdCBtYXkgaGF2ZSBhbHJlYWR5IGJlZW4gaW5jbHVkZWQKKyAgICAgZG5sIC1saWNvbnYgaW4uCisgICAgIExJQlNfc2F2ZT0iJExJQlMiCitkaWZmIC0tZ2l0IGEvZXh0L2ljb252L2NvbmZpZy5tNCBiL2V4dC9pY29udi9jb25maWcubTQKK2luZGV4IGQ2NzNiMGEuLjFmYmVmMTMgMTAwNjQ0CistLS0gYS9leHQvaWNvbnYvY29uZmlnLm00CisrKysgYi9leHQvaWNvbnYvY29uZmlnLm00CitAQCAtMTUsNyArMTUsNyBAQCBpZiB0ZXN0ICIkUEhQX0lDT05WIiAhPSAibm8iOyB0aGVuCisgCisgICBpZiB0ZXN0ICIkaWNvbnZfYXZhaWwiICE9ICJubyI7IHRoZW4KKyAgICAgaWYgdGVzdCAteiAiJElDT05WX0RJUiI7IHRoZW4KKy0gICAgICBmb3IgaSBpbiAvdXNyL2xvY2FsIC91c3I7IGRvCisrICAgICAgZm9yIGkgaW4gJFBIUF9JQ09OViAvdXNyL2xvY2FsIC91c3I7IGRvCisgICAgICAgICBpZiB0ZXN0IC1mICIkaS9pbmNsdWRlL2ljb252LmgiIHx8IHRlc3QgLWYgIiRpL2luY2x1ZGUvZ2ljb252LmgiOyB0aGVuCisgICAgICAgICAgIFBIUF9JQ09OVl9QUkVGSVg9IiRpIgorICAgICAgICAgICBicmVhaworLS0gCisxLjkuMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL2ltYXAtZml4LWF1dG9mb28ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL2ltYXAtZml4LWF1dG9mb28ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGEwNGMyZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvaW1hcC1maXgtYXV0b2Zvby5wYXRjaApAQCAtMCwwICsxLDQ2IEBACitVcHN0cmVhbS1zdGF0dXM6IFVua25vd24KKworZGlmZiAtLWdpdCBhL2FjaW5jbHVkZS5tNCBiL2FjaW5jbHVkZS5tNAoraW5kZXggZGYxMWFiZC4uMDZlNzIzNiAxMDA2NDQKKy0tLSBhL2FjaW5jbHVkZS5tNAorKysrIGIvYWNpbmNsdWRlLm00CitAQCAtMjM1Nyw3ICsyMzU3LDcgQEAgQUNfREVGVU4oW1BIUF9TRVRVUF9PUEVOU1NMXSxbCisgICAgICAgUEhQX09QRU5TU0xfRElSPSIvdXNyL2xvY2FsL3NzbCAvdXNyL2xvY2FsIC91c3IgL3Vzci9sb2NhbC9vcGVuc3NsIgorICAgICBmaQorIAorLSAgICBmb3IgaSBpbiAkUEhQX09QRU5TU0xfRElSOyBkbworKyAgICBmb3IgaSBpbiAkUEhQX09QRU5TU0xfRElSICRQSFBfT1BFTlNTTF9ESVIvdXNyOyBkbworICAgICAgIGlmIHRlc3QgLXIgJGkvaW5jbHVkZS9vcGVuc3NsL2V2cC5oOyB0aGVuCisgICAgICAgICBPUEVOU1NMX0lOQ0RJUj0kaS9pbmNsdWRlCisgICAgICAgZmkKK2RpZmYgLS1naXQgYS9leHQvaW1hcC9jb25maWcubTQgYi9leHQvaW1hcC9jb25maWcubTQKK2luZGV4IDNmY2Y2NzQuLmYwOGNhZjcgMTAwNjQ0CistLS0gYS9leHQvaW1hcC9jb25maWcubTQKKysrKyBiL2V4dC9pbWFwL2NvbmZpZy5tNAorQEAgLTEwOSw3ICsxMDksNyBAQCBpZiB0ZXN0ICIkUEhQX0lNQVAiICE9ICJubyI7IHRoZW4KKyAgICAgUEhQX05FV19FWFRFTlNJT04oaW1hcCwgcGhwX2ltYXAuYywgJGV4dF9zaGFyZWQpCisgICAgIEFDX0RFRklORShIQVZFX0lNQVAsMSxbIF0pCisgCistICAgIGZvciBpIGluICRQSFBfSU1BUCAvdXNyL2xvY2FsIC91c3I7IGRvCisrICAgIGZvciBpIGluICRQSFBfSU1BUCAkUEhQX0lNQVAvdXNyIC91c3IvbG9jYWwgL3VzcjsgZG8KKyAgICAgICBJTUFQX0lOQ19DSEsoKQorICAgICAgIGVsW11JTUFQX0lOQ19DSEsoL2luY2x1ZGUvYy1jbGllbnQpCisgICAgICAgZWxbXUlNQVBfSU5DX0NISygvaW5jbHVkZS9pbWFwKQorQEAgLTE5OCwxMyArMTk4LDcgQEAgaWYgdGVzdCAiJFBIUF9JTUFQIiAhPSAibm8iOyB0aGVuCisgICAgICAgQUNfTVNHX0VSUk9SKENhbm5vdCBmaW5kIHJmYzgyMi5oLiBQbGVhc2UgY2hlY2sgeW91ciBjLWNsaWVudCBpbnN0YWxsYXRpb24uKQorICAgICBmaQorIAorLSAgICBpZiB0ZXN0ICEgLXIgIiRJTUFQX0RJUi9jLWNsaWVudC9saWJjLWNsaWVudC5hIiAmJiB0ZXN0IC1yICIkSU1BUF9ESVIvYy1jbGllbnQvYy1jbGllbnQuYSIgOyB0aGVuCistICAgICAgbG4gLXMgIiRJTUFQX0RJUi9jLWNsaWVudC9jLWNsaWVudC5hIiAiJElNQVBfRElSL2MtY2xpZW50L2xpYmMtY2xpZW50LmEiID4vZGV2L251bGwgMj4mMQorLSAgICBlbGlmIHRlc3QgISAtciAiJElNQVBfRElSLyRQSFBfTElCRElSL2xpYmMtY2xpZW50LmEiICYmIHRlc3QgLXIgIiRJTUFQX0RJUi8kUEhQX0xJQkRJUi9jLWNsaWVudC5hIjsgdGhlbgorLSAgICAgIGxuIC1zICIkSU1BUF9ESVIvJFBIUF9MSUJESVIvYy1jbGllbnQuYSIgIiRJTUFQX0RJUi8kUEhQX0xJQkRJUi9saWJjLWNsaWVudC5hIiA+L2Rldi9udWxsIDI+JjEKKy0gICAgZmkKKy0KKy0gICAgZm9yIGxpYiBpbiBjLWNsaWVudDQgYy1jbGllbnQgaW1hcDsgZG8KKysgICAgZm9yIGxpYiBpbiAvdXNyL2xpYiBjLWNsaWVudDQgYy1jbGllbnQgaW1hcDsgZG8KKyAgICAgICBJTUFQX0xJQj0kbGliCisgICAgICAgSU1BUF9MSUJfQ0hLKCRQSFBfTElCRElSKQorICAgICAgIElNQVBfTElCX0NISyhjLWNsaWVudCkKKy0tIAorMS45LjMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9wZWFyLW1ha2VmaWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9wZWFyLW1ha2VmaWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5MjdkMmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL3BlYXItbWFrZWZpbGUucGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorVXBzdHJlYW0tc3RhdHVzOiBVbmtub3duCisKK2RpZmYgLS1naXQgYS9wZWFyL01ha2VmaWxlLmZyYWcgYi9wZWFyL01ha2VmaWxlLmZyYWcKK2luZGV4IDAwYmFjYWUuLjczOWVlY2EgMTAwNjQ0CistLS0gYS9wZWFyL01ha2VmaWxlLmZyYWcKKysrKyBiL3BlYXIvTWFrZWZpbGUuZnJhZworQEAgLTExLDcgKzExLDcgQEAgUEVBUl9QUkVGSVggPSAtZHAgYSR7cHJvZ3JhbV9wcmVmaXh9CisgUEVBUl9TVUZGSVggPSAtZHMgYSQocHJvZ3JhbV9zdWZmaXgpCisgCisgaW5zdGFsbC1wZWFyLWluc3RhbGxlcjogJChTQVBJX0NMSV9QQVRIKQorLQlAJCh0b3BfYnVpbGRkaXIpL3NhcGkvY2xpL3BocCAkKFBFQVJfSU5TVEFMTF9GTEFHUykgcGVhci9pbnN0YWxsLXBlYXItbm96bGliLnBoYXIgLWQgIiQocGVhcmRpcikiIC1iICIkKGJpbmRpcikiICR7UEVBUl9QUkVGSVh9ICR7UEVBUl9TVUZGSVh9CisrCUAkKFBIUF9OQVRJVkVfRElSKS9waHAgJChQRUFSX0lOU1RBTExfRkxBR1MpICQoYnVpbGRkaXIpL2luc3RhbGwtcGVhci1ub3psaWIucGhhciAtZCAiJChwZWFyZGlyKSIgLWIgIiQoYmluZGlyKSIgJHtQRUFSX1BSRUZJWH0gJHtQRUFSX1NVRkZJWH0KKyAKKyBpbnN0YWxsLXBlYXI6CisgCUBlY2hvICJJbnN0YWxsaW5nIFBFQVIgZW52aXJvbm1lbnQ6ICAgICAgJChJTlNUQUxMX1JPT1QpJChwZWFyZGlyKS8iCistLSAKKzEuOS4zCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvcGhhci1tYWtlZmlsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvcGhhci1tYWtlZmlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZjdmZTM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9waGFyLW1ha2VmaWxlLnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK0ZpeCBwaGFyIHBhY2thZ2luZworCitJbmhlcml0ZWQgZnJvbSBPRS1DbGFzc2ljLCB3aXRoIHNvbWUgYWRkaXRpb25zIHRvIGZpeCBob3N0IHBhdGhzIGxlYWtpbmcKK2ludG8gdGhlIHRhcmdldCBwYWNrYWdlLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ10KKworZGlmZiAtLWdpdCBhL2V4dC9waGFyL01ha2VmaWxlLmZyYWcgYi9leHQvcGhhci9NYWtlZmlsZS5mcmFnCitpbmRleCA2NTE2ZGRmLi4zNmU2Y2Y0IDEwMDY0NAorLS0tIGEvZXh0L3BoYXIvTWFrZWZpbGUuZnJhZworKysrIGIvZXh0L3BoYXIvTWFrZWZpbGUuZnJhZworQEAgLTUsMjAgKzUsOSBAQCBwaGFyY21kOiAkKGJ1aWxkZGlyKS9waGFyLnBocCAkKGJ1aWxkZGlyKS9waGFyLnBoYXIKKyAKKyBQSFBfUEhBUkNNRF9TRVRUSU5HUyA9IC1kICdvcGVuX2Jhc2VkaXI9JyAtZCAnb3V0cHV0X2J1ZmZlcmluZz0wJyAtZCAnbWVtb3J5X2xpbWl0PS0xJyAtZCBwaGFyLnJlYWRvbmx5PTAgLWQgJ3NhZmVfbW9kZT0wJworIFBIUF9QSEFSQ01EX0VYRUNVVEFCTEUgPSBgIFwKKy0JaWYgdGVzdCAteCAiJCh0b3BfYnVpbGRkaXIpLyQoU0FQSV9DTElfUEFUSCkiOyB0aGVuIFwKKy0JCSQodG9wX3NyY2RpcikvYnVpbGQvc2h0b29sIGVjaG8gLW4gLS0gIiQodG9wX2J1aWxkZGlyKS8kKFNBUElfQ0xJX1BBVEgpIC1uIjsgXAorLQkJaWYgdGVzdCAieCQoUEhQX01PRFVMRVMpIiAhPSAieCI7IHRoZW4gXAorLQkJJCh0b3Bfc3JjZGlyKS9idWlsZC9zaHRvb2wgZWNobyAtbiAtLSAiIC1kIGV4dGVuc2lvbl9kaXI9JCh0b3BfYnVpbGRkaXIpL21vZHVsZXMiOyBcCistCQlmb3IgaSBpbiBiejIgemxpYiBwaGFyOyBkbyBcCistCQkJaWYgdGVzdCAtZiAiJCh0b3BfYnVpbGRkaXIpL21vZHVsZXMvJCRpLmxhIjsgdGhlbiBcCistCQkJCS4gJCh0b3BfYnVpbGRkaXIpL21vZHVsZXMvJCRpLmxhOyAkKHRvcF9zcmNkaXIpL2J1aWxkL3NodG9vbCBlY2hvIC1uIC0tICIgLWQgZXh0ZW5zaW9uPSQkZGxuYW1lIjsgXAorLQkJCWZpOyBcCistCQlkb25lOyBcCistCQlmaTsgXAorLQllbHNlIFwKKy0JCSQodG9wX3NyY2RpcikvYnVpbGQvc2h0b29sIGVjaG8gLW4gLS0gIiQoUEhQX0VYRUNVVEFCTEUpIjsgXAorLQlmaTtgCistUEhQX1BIQVJDTURfQkFORyA9IGAkKHRvcF9zcmNkaXIpL2J1aWxkL3NodG9vbCBlY2hvIC1uIC0tICIkKElOU1RBTExfUk9PVCkkKGJpbmRpcikvJChwcm9ncmFtX3ByZWZpeClwaHAkKHByb2dyYW1fc3VmZml4KSQoRVhFRVhUKSI7YAorKwkJJCh0b3Bfc3JjZGlyKS9idWlsZC9zaHRvb2wgZWNobyAtbiAtLSAiJChQSFBfRVhFQ1VUQUJMRSkiOyBgCisrCisrUEhQX1BIQVJDTURfQkFORyA9IGAkKHRvcF9zcmNkaXIpL2J1aWxkL3NodG9vbCBlY2hvIC1uIC0tICIkKGJpbmRpcikvJChwcm9ncmFtX3ByZWZpeClwaHAkKHByb2dyYW1fc3VmZml4KSQoRVhFRVhUKSI7YAorIAorICQoYnVpbGRkaXIpL3BoYXIvcGhhci5pbmM6ICQoc3JjZGlyKS9waGFyL3BoYXIuaW5jCisgCS1AdGVzdCAtZCAkKGJ1aWxkZGlyKS9waGFyIHx8IG1rZGlyICQoYnVpbGRkaXIpL3BoYXIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvcGhwLWZwbS1hcGFjaGUuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvcGhwLWZwbS1hcGFjaGUuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43N2NkZDgyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9waHAtZnBtLWFwYWNoZS5jb25mCkBAIC0wLDAgKzEsNiBAQAorIyBUYWtlbiBmcm9tIGh0dHA6Ly93aWtpLmFwYWNoZS5vcmcvaHR0cGQvUEhQLUZQTQorCitMb2FkTW9kdWxlIHByb3h5X21vZHVsZSAgICAgIGxpYi9hcGFjaGUyL21vZHVsZXMvbW9kX3Byb3h5LnNvCitMb2FkTW9kdWxlIHByb3h5X2ZjZ2lfbW9kdWxlIGxpYi9hcGFjaGUyL21vZHVsZXMvbW9kX3Byb3h5X2ZjZ2kuc28KKworUHJveHlQYXNzTWF0Y2ggXi8oLipcLnBocCgvLiopPykkIGZjZ2k6Ly8xMjcuMC4wLjE6OTAwMC91c3Ivc2hhcmUvYXBhY2hlMi9odGRvY3MvCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL3BocC1mcG0uY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvcGhwLWZwbS5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxZTNkZmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL3BocC1mcG0uY29uZgpAQCAtMCwwICsxLDUxMCBAQAorOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Cis7IEZQTSBDb25maWd1cmF0aW9uIDsKKzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OworCis7IEFsbCByZWxhdGl2ZSBwYXRocyBpbiB0aGlzIGNvbmZpZ3VyYXRpb24gZmlsZSBhcmUgcmVsYXRpdmUgdG8gUEhQJ3MgaW5zdGFsbAorOyBwcmVmaXggKC91c3IpLiBUaGlzIHByZWZpeCBjYW4gYmUgZHluYW1pY2FseSBjaGFuZ2VkIGJ5IHVzaW5nIHRoZQorOyAnLXAnIGFyZ3VtZW50IGZyb20gdGhlIGNvbW1hbmQgbGluZS4KKworOyBJbmNsdWRlIG9uZSBvciBtb3JlIGZpbGVzLiBJZiBnbG9iKDMpIGV4aXN0cywgaXQgaXMgdXNlZCB0byBpbmNsdWRlIGEgYnVuY2ggb2YKKzsgZmlsZXMgZnJvbSBhIGdsb2IoMykgcGF0dGVybi4gVGhpcyBkaXJlY3RpdmUgY2FuIGJlIHVzZWQgZXZlcnl3aGVyZSBpbiB0aGUKKzsgZmlsZS4KKzsgUmVsYXRpdmUgcGF0aCBjYW4gYWxzbyBiZSB1c2VkLiBUaGV5IHdpbGwgYmUgcHJlZml4ZWQgYnk6Cis7ICAtIHRoZSBnbG9iYWwgcHJlZml4IGlmIGl0J3MgYmVlbiBzZXQgKC1wIGFyZ3VlbWVudCkKKzsgIC0gL3VzciBvdGhlcndpc2UKKztpbmNsdWRlPWV0Yy9mcG0uZC8qLmNvbmYKKworOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Cis7IEdsb2JhbCBPcHRpb25zIDsKKzs7Ozs7Ozs7Ozs7Ozs7Ozs7OworCitbZ2xvYmFsXQorOyBQaWQgZmlsZQorOyBOb3RlOiB0aGUgZGVmYXVsdCBwcmVmaXggaXMgL3ZhcgorOyBEZWZhdWx0IFZhbHVlOiBub25lCis7cGlkID0gcnVuL3BocC1mcG0ucGlkCisKKzsgRXJyb3IgbG9nIGZpbGUKKzsgSWYgaXQncyBzZXQgdG8gInN5c2xvZyIsIGxvZyBpcyBzZW50IHRvIHN5c2xvZ2QgaW5zdGVhZCBvZiBiZWluZyB3cml0dGVuCis7IGluIGEgbG9jYWwgZmlsZS4KKzsgTm90ZTogdGhlIGRlZmF1bHQgcHJlZml4IGlzIC92YXIKKzsgRGVmYXVsdCBWYWx1ZTogbG9nL3BocC1mcG0ubG9nCis7ZXJyb3JfbG9nID0gbG9nL3BocC1mcG0ubG9nCisKKzsgc3lzbG9nX2ZhY2lsaXR5IGlzIHVzZWQgdG8gc3BlY2lmeSB3aGF0IHR5cGUgb2YgcHJvZ3JhbSBpcyBsb2dnaW5nIHRoZQorOyBtZXNzYWdlLiBUaGlzIGxldHMgc3lzbG9nZCBzcGVjaWZ5IHRoYXQgbWVzc2FnZXMgZnJvbSBkaWZmZXJlbnQgZmFjaWxpdGllcworOyB3aWxsIGJlIGhhbmRsZWQgZGlmZmVyZW50bHkuCis7IFNlZSBzeXNsb2coMykgZm9yIHBvc3NpYmxlIHZhbHVlcyAoZXggZGFlbW9uIGVxdWl2IExPR19EQUVNT04pCis7IERlZmF1bHQgVmFsdWU6IGRhZW1vbgorO3N5c2xvZy5mYWNpbGl0eSA9IGRhZW1vbgorCis7IHN5c2xvZ19pZGVudCBpcyBwcmVwZW5kZWQgdG8gZXZlcnkgbWVzc2FnZS4gSWYgeW91IGhhdmUgbXVsdGlwbGUgRlBNCis7IGluc3RhbmNlcyBydW5uaW5nIG9uIHRoZSBzYW1lIHNlcnZlciwgeW91IGNhbiBjaGFuZ2UgdGhlIGRlZmF1bHQgdmFsdWUKKzsgd2hpY2ggbXVzdCBzdWl0IGNvbW1vbiBuZWVkcy4KKzsgRGVmYXVsdCBWYWx1ZTogcGhwLWZwbQorO3N5c2xvZy5pZGVudCA9IHBocC1mcG0KKworOyBMb2cgbGV2ZWwKKzsgUG9zc2libGUgVmFsdWVzOiBhbGVydCwgZXJyb3IsIHdhcm5pbmcsIG5vdGljZSwgZGVidWcKKzsgRGVmYXVsdCBWYWx1ZTogbm90aWNlCis7bG9nX2xldmVsID0gbm90aWNlCisKKzsgSWYgdGhpcyBudW1iZXIgb2YgY2hpbGQgcHJvY2Vzc2VzIGV4aXQgd2l0aCBTSUdTRUdWIG9yIFNJR0JVUyB3aXRoaW4gdGhlIHRpbWUKKzsgaW50ZXJ2YWwgc2V0IGJ5IGVtZXJnZW5jeV9yZXN0YXJ0X2ludGVydmFsIHRoZW4gRlBNIHdpbGwgcmVzdGFydC4gQSB2YWx1ZQorOyBvZiAnMCcgbWVhbnMgJ09mZicuCis7IERlZmF1bHQgVmFsdWU6IDAKKztlbWVyZ2VuY3lfcmVzdGFydF90aHJlc2hvbGQgPSAwCisKKzsgSW50ZXJ2YWwgb2YgdGltZSB1c2VkIGJ5IGVtZXJnZW5jeV9yZXN0YXJ0X2ludGVydmFsIHRvIGRldGVybWluZSB3aGVuIAorOyBhIGdyYWNlZnVsIHJlc3RhcnQgd2lsbCBiZSBpbml0aWF0ZWQuICBUaGlzIGNhbiBiZSB1c2VmdWwgdG8gd29yayBhcm91bmQKKzsgYWNjaWRlbnRhbCBjb3JydXB0aW9ucyBpbiBhbiBhY2NlbGVyYXRvcidzIHNoYXJlZCBtZW1vcnkuCis7IEF2YWlsYWJsZSBVbml0czogcyhlY29uZHMpLCBtKGludXRlcyksIGgob3VycyksIG9yIGQoYXlzKQorOyBEZWZhdWx0IFVuaXQ6IHNlY29uZHMKKzsgRGVmYXVsdCBWYWx1ZTogMAorO2VtZXJnZW5jeV9yZXN0YXJ0X2ludGVydmFsID0gMAorCis7IFRpbWUgbGltaXQgZm9yIGNoaWxkIHByb2Nlc3NlcyB0byB3YWl0IGZvciBhIHJlYWN0aW9uIG9uIHNpZ25hbHMgZnJvbSBtYXN0ZXIuCis7IEF2YWlsYWJsZSB1bml0czogcyhlY29uZHMpLCBtKGludXRlcyksIGgob3VycyksIG9yIGQoYXlzKQorOyBEZWZhdWx0IFVuaXQ6IHNlY29uZHMKKzsgRGVmYXVsdCBWYWx1ZTogMAorO3Byb2Nlc3NfY29udHJvbF90aW1lb3V0ID0gMAorCis7IFRoZSBtYXhpbXVtIG51bWJlciBvZiBwcm9jZXNzZXMgRlBNIHdpbGwgZm9yay4gVGhpcyBoYXMgYmVlbiBkZXNpZ24gdG8gY29udHJvbAorOyB0aGUgZ2xvYmFsIG51bWJlciBvZiBwcm9jZXNzZXMgd2hlbiB1c2luZyBkeW5hbWljIFBNIHdpdGhpbiBhIGxvdCBvZiBwb29scy4KKzsgVXNlIGl0IHdpdGggY2F1dGlvbi4KKzsgTm90ZTogQSB2YWx1ZSBvZiAwIGluZGljYXRlcyBubyBsaW1pdAorOyBEZWZhdWx0IFZhbHVlOiAwCis7IHByb2Nlc3MubWF4ID0gMTI4CisKKzsgU3BlY2lmeSB0aGUgbmljZSgyKSBwcmlvcml0eSB0byBhcHBseSB0byB0aGUgbWFzdGVyIHByb2Nlc3MgKG9ubHkgaWYgc2V0KQorOyBUaGUgdmFsdWUgY2FuIHZhcnkgZnJvbSAtMTkgKGhpZ2hlc3QgcHJpb3JpdHkpIHRvIDIwIChsb3dlciBwcmlvcml0eSkKKzsgTm90ZTogLSBJdCB3aWxsIG9ubHkgd29yayBpZiB0aGUgRlBNIG1hc3RlciBwcm9jZXNzIGlzIGxhdW5jaGVkIGFzIHJvb3QKKzsgICAgICAgLSBUaGUgcG9vbCBwcm9jZXNzIHdpbGwgaW5oZXJpdCB0aGUgbWFzdGVyIHByb2Nlc3MgcHJpb3JpdHkKKzsgICAgICAgICB1bmxlc3MgaXQgc3BlY2lmaWVkIG90aGVyd2lzZQorOyBEZWZhdWx0IFZhbHVlOiBubyBzZXQKKzsgcHJvY2Vzcy5wcmlvcml0eSA9IC0xOQorCis7IFNlbmQgRlBNIHRvIGJhY2tncm91bmQuIFNldCB0byAnbm8nIHRvIGtlZXAgRlBNIGluIGZvcmVncm91bmQgZm9yIGRlYnVnZ2luZy4KKzsgRGVmYXVsdCBWYWx1ZTogeWVzCis7ZGFlbW9uaXplID0geWVzCisgCis7IFNldCBvcGVuIGZpbGUgZGVzY3JpcHRvciBybGltaXQgZm9yIHRoZSBtYXN0ZXIgcHJvY2Vzcy4KKzsgRGVmYXVsdCBWYWx1ZTogc3lzdGVtIGRlZmluZWQgdmFsdWUKKztybGltaXRfZmlsZXMgPSAxMDI0CisgCis7IFNldCBtYXggY29yZSBzaXplIHJsaW1pdCBmb3IgdGhlIG1hc3RlciBwcm9jZXNzLgorOyBQb3NzaWJsZSBWYWx1ZXM6ICd1bmxpbWl0ZWQnIG9yIGFuIGludGVnZXIgZ3JlYXRlciBvciBlcXVhbCB0byAwCis7IERlZmF1bHQgVmFsdWU6IHN5c3RlbSBkZWZpbmVkIHZhbHVlCis7cmxpbWl0X2NvcmUgPSAwCisKKzsgU3BlY2lmeSB0aGUgZXZlbnQgbWVjaGFuaXNtIEZQTSB3aWxsIHVzZS4gVGhlIGZvbGxvd2luZyBpcyBhdmFpbGFibGU6Cis7IC0gc2VsZWN0ICAgICAoYW55IFBPU0lYIG9zKQorOyAtIHBvbGwgICAgICAgKGFueSBQT1NJWCBvcykKKzsgLSBlcG9sbCAgICAgIChsaW51eCA+PSAyLjUuNDQpCis7IC0ga3F1ZXVlICAgICAoRnJlZUJTRCA+PSA0LjEsIE9wZW5CU0QgPj0gMi45LCBOZXRCU0QgPj0gMi4wKQorOyAtIC9kZXYvcG9sbCAgKFNvbGFyaXMgPj0gNykKKzsgLSBwb3J0ICAgICAgIChTb2xhcmlzID49IDEwKQorOyBEZWZhdWx0IFZhbHVlOiBub3Qgc2V0IChhdXRvIGRldGVjdGlvbikKKzsgZXZlbnRzLm1lY2hhbmlzbSA9IGVwb2xsCisKKzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Cis7IFBvb2wgRGVmaW5pdGlvbnMgOyAKKzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7CisKKzsgTXVsdGlwbGUgcG9vbHMgb2YgY2hpbGQgcHJvY2Vzc2VzIG1heSBiZSBzdGFydGVkIHdpdGggZGlmZmVyZW50IGxpc3RlbmluZworOyBwb3J0cyBhbmQgZGlmZmVyZW50IG1hbmFnZW1lbnQgb3B0aW9ucy4gIFRoZSBuYW1lIG9mIHRoZSBwb29sIHdpbGwgYmUKKzsgdXNlZCBpbiBsb2dzIGFuZCBzdGF0cy4gVGhlcmUgaXMgbm8gbGltaXRhdGlvbiBvbiB0aGUgbnVtYmVyIG9mIHBvb2xzIHdoaWNoCis7IEZQTSBjYW4gaGFuZGxlLiBZb3VyIHN5c3RlbSB3aWxsIHRlbGwgeW91IGFueXdheSA6KQorCis7IFN0YXJ0IGEgbmV3IHBvb2wgbmFtZWQgJ3d3dycuCis7IHRoZSB2YXJpYWJsZSAkcG9vbCBjYW4gd2UgdXNlZCBpbiBhbnkgZGlyZWN0aXZlIGFuZCB3aWxsIGJlIHJlcGxhY2VkIGJ5IHRoZQorOyBwb29sIG5hbWUgKCd3d3cnIGhlcmUpCitbd3d3XQorCis7IFBlciBwb29sIHByZWZpeAorOyBJdCBvbmx5IGFwcGxpZXMgb24gdGhlIGZvbGxvd2luZyBkaXJlY3RpdmVzOgorOyAtICdzbG93bG9nJworOyAtICdsaXN0ZW4nICh1bml4c29ja2V0KQorOyAtICdjaHJvb3QnCis7IC0gJ2NoZGlyJworOyAtICdwaHBfdmFsdWVzJworOyAtICdwaHBfYWRtaW5fdmFsdWVzJworOyBXaGVuIG5vdCBzZXQsIHRoZSBnbG9iYWwgcHJlZml4IChvciAvdXNyKSBhcHBsaWVzIGluc3RlYWQuCis7IE5vdGU6IFRoaXMgZGlyZWN0aXZlIGNhbiBhbHNvIGJlIHJlbGF0aXZlIHRvIHRoZSBnbG9iYWwgcHJlZml4LgorOyBEZWZhdWx0IFZhbHVlOiBub25lCis7cHJlZml4ID0gL3BhdGgvdG8vcG9vbHMvJHBvb2wKKworOyBVbml4IHVzZXIvZ3JvdXAgb2YgcHJvY2Vzc2VzCis7IE5vdGU6IFRoZSB1c2VyIGlzIG1hbmRhdG9yeS4gSWYgdGhlIGdyb3VwIGlzIG5vdCBzZXQsIHRoZSBkZWZhdWx0IHVzZXIncyBncm91cAorOyAgICAgICB3aWxsIGJlIHVzZWQuCit1c2VyID0gbm9ib2R5Cis7Z3JvdXAgPSBub2JvZHkKKworOyBUaGUgYWRkcmVzcyBvbiB3aGljaCB0byBhY2NlcHQgRmFzdENHSSByZXF1ZXN0cy4KKzsgVmFsaWQgc3ludGF4ZXMgYXJlOgorOyAgICdpcC5hZGQucmUuc3M6cG9ydCcgICAgLSB0byBsaXN0ZW4gb24gYSBUQ1Agc29ja2V0IHRvIGEgc3BlY2lmaWMgYWRkcmVzcyBvbgorOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHNwZWNpZmljIHBvcnQ7Cis7ICAgJ3BvcnQnICAgICAgICAgICAgICAgICAtIHRvIGxpc3RlbiBvbiBhIFRDUCBzb2NrZXQgdG8gYWxsIGFkZHJlc3NlcyBvbiBhCis7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZmljIHBvcnQ7Cis7ICAgJy9wYXRoL3RvL3VuaXgvc29ja2V0JyAtIHRvIGxpc3RlbiBvbiBhIHVuaXggc29ja2V0LgorOyBOb3RlOiBUaGlzIHZhbHVlIGlzIG1hbmRhdG9yeS4KK2xpc3RlbiA9IDEyNy4wLjAuMTo5MDAwCisKKzsgU2V0IGxpc3RlbigyKSBiYWNrbG9nLiBBIHZhbHVlIG9mICctMScgbWVhbnMgdW5saW1pdGVkLgorOyBEZWZhdWx0IFZhbHVlOiAxMjggKC0xIG9uIEZyZWVCU0QgYW5kIE9wZW5CU0QpCis7bGlzdGVuLmJhY2tsb2cgPSAtMQorCis7IFNldCBwZXJtaXNzaW9ucyBmb3IgdW5peCBzb2NrZXQsIGlmIG9uZSBpcyB1c2VkLiBJbiBMaW51eCwgcmVhZC93cml0ZQorOyBwZXJtaXNzaW9ucyBtdXN0IGJlIHNldCBpbiBvcmRlciB0byBhbGxvdyBjb25uZWN0aW9ucyBmcm9tIGEgd2ViIHNlcnZlci4gTWFueQorOyBCU0QtZGVyaXZlZCBzeXN0ZW1zIGFsbG93IGNvbm5lY3Rpb25zIHJlZ2FyZGxlc3Mgb2YgcGVybWlzc2lvbnMuIAorOyBEZWZhdWx0IFZhbHVlczogdXNlciBhbmQgZ3JvdXAgYXJlIHNldCBhcyB0aGUgcnVubmluZyB1c2VyCis7ICAgICAgICAgICAgICAgICBtb2RlIGlzIHNldCB0byAwNjY2Cis7bGlzdGVuLm93bmVyID0gbm9ib2R5Cis7bGlzdGVuLmdyb3VwID0gbm9ib2R5Cis7bGlzdGVuLm1vZGUgPSAwNjY2CisgCis7IExpc3Qgb2YgaXB2NCBhZGRyZXNzZXMgb2YgRmFzdENHSSBjbGllbnRzIHdoaWNoIGFyZSBhbGxvd2VkIHRvIGNvbm5lY3QuCis7IEVxdWl2YWxlbnQgdG8gdGhlIEZDR0lfV0VCX1NFUlZFUl9BRERSUyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpbiB0aGUgb3JpZ2luYWwKKzsgUEhQIEZDR0kgKDUuMi4yKykuIE1ha2VzIHNlbnNlIG9ubHkgd2l0aCBhIHRjcCBsaXN0ZW5pbmcgc29ja2V0LiBFYWNoIGFkZHJlc3MKKzsgbXVzdCBiZSBzZXBhcmF0ZWQgYnkgYSBjb21tYS4gSWYgdGhpcyB2YWx1ZSBpcyBsZWZ0IGJsYW5rLCBjb25uZWN0aW9ucyB3aWxsIGJlCis7IGFjY2VwdGVkIGZyb20gYW55IGlwIGFkZHJlc3MuCis7IERlZmF1bHQgVmFsdWU6IGFueQorO2xpc3Rlbi5hbGxvd2VkX2NsaWVudHMgPSAxMjcuMC4wLjEKKworOyBTcGVjaWZ5IHRoZSBuaWNlKDIpIHByaW9yaXR5IHRvIGFwcGx5IHRvIHRoZSBwb29sIHByb2Nlc3NlcyAob25seSBpZiBzZXQpCis7IFRoZSB2YWx1ZSBjYW4gdmFyeSBmcm9tIC0xOSAoaGlnaGVzdCBwcmlvcml0eSkgdG8gMjAgKGxvd2VyIHByaW9yaXR5KQorOyBOb3RlOiAtIEl0IHdpbGwgb25seSB3b3JrIGlmIHRoZSBGUE0gbWFzdGVyIHByb2Nlc3MgaXMgbGF1bmNoZWQgYXMgcm9vdAorOyAgICAgICAtIFRoZSBwb29sIHByb2Nlc3NlcyB3aWxsIGluaGVyaXQgdGhlIG1hc3RlciBwcm9jZXNzIHByaW9yaXR5Cis7ICAgICAgICAgdW5sZXNzIGl0IHNwZWNpZmllZCBvdGhlcndpc2UKKzsgRGVmYXVsdCBWYWx1ZTogbm8gc2V0Cis7IHByaW9yaXR5ID0gLTE5CisKKzsgQ2hvb3NlIGhvdyB0aGUgcHJvY2VzcyBtYW5hZ2VyIHdpbGwgY29udHJvbCB0aGUgbnVtYmVyIG9mIGNoaWxkIHByb2Nlc3Nlcy4KKzsgUG9zc2libGUgVmFsdWVzOgorOyAgIHN0YXRpYyAgLSBhIGZpeGVkIG51bWJlciAocG0ubWF4X2NoaWxkcmVuKSBvZiBjaGlsZCBwcm9jZXNzZXM7Cis7ICAgZHluYW1pYyAtIHRoZSBudW1iZXIgb2YgY2hpbGQgcHJvY2Vzc2VzIGFyZSBzZXQgZHluYW1pY2FsbHkgYmFzZWQgb24gdGhlCis7ICAgICAgICAgICAgIGZvbGxvd2luZyBkaXJlY3RpdmVzLiBXaXRoIHRoaXMgcHJvY2VzcyBtYW5hZ2VtZW50LCB0aGVyZSB3aWxsIGJlCis7ICAgICAgICAgICAgIGFsd2F5cyBhdCBsZWFzdCAxIGNoaWxkcmVuLgorOyAgICAgICAgICAgICBwbS5tYXhfY2hpbGRyZW4gICAgICAtIHRoZSBtYXhpbXVtIG51bWJlciBvZiBjaGlsZHJlbiB0aGF0IGNhbgorOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlIGFsaXZlIGF0IHRoZSBzYW1lIHRpbWUuCis7ICAgICAgICAgICAgIHBtLnN0YXJ0X3NlcnZlcnMgICAgIC0gdGhlIG51bWJlciBvZiBjaGlsZHJlbiBjcmVhdGVkIG9uIHN0YXJ0dXAuCis7ICAgICAgICAgICAgIHBtLm1pbl9zcGFyZV9zZXJ2ZXJzIC0gdGhlIG1pbmltdW0gbnVtYmVyIG9mIGNoaWxkcmVuIGluICdpZGxlJworOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlICh3YWl0aW5nIHRvIHByb2Nlc3MpLiBJZiB0aGUgbnVtYmVyCis7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgJ2lkbGUnIHByb2Nlc3NlcyBpcyBsZXNzIHRoYW4gdGhpcworOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlciB0aGVuIHNvbWUgY2hpbGRyZW4gd2lsbCBiZSBjcmVhdGVkLgorOyAgICAgICAgICAgICBwbS5tYXhfc3BhcmVfc2VydmVycyAtIHRoZSBtYXhpbXVtIG51bWJlciBvZiBjaGlsZHJlbiBpbiAnaWRsZScKKzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSAod2FpdGluZyB0byBwcm9jZXNzKS4gSWYgdGhlIG51bWJlcgorOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mICdpZGxlJyBwcm9jZXNzZXMgaXMgZ3JlYXRlciB0aGFuIHRoaXMKKzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW1iZXIgdGhlbiBzb21lIGNoaWxkcmVuIHdpbGwgYmUga2lsbGVkLgorOyAgb25kZW1hbmQgLSBubyBjaGlsZHJlbiBhcmUgY3JlYXRlZCBhdCBzdGFydHVwLiBDaGlsZHJlbiB3aWxsIGJlIGZvcmtlZCB3aGVuCis7ICAgICAgICAgICAgIG5ldyByZXF1ZXN0cyB3aWxsIGNvbm5lY3QuIFRoZSBmb2xsb3dpbmcgcGFyYW1ldGVyIGFyZSB1c2VkOgorOyAgICAgICAgICAgICBwbS5tYXhfY2hpbGRyZW4gICAgICAgICAgIC0gdGhlIG1heGltdW0gbnVtYmVyIG9mIGNoaWxkcmVuIHRoYXQKKzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbiBiZSBhbGl2ZSBhdCB0aGUgc2FtZSB0aW1lLgorOyAgICAgICAgICAgICBwbS5wcm9jZXNzX2lkbGVfdGltZW91dCAgIC0gVGhlIG51bWJlciBvZiBzZWNvbmRzIGFmdGVyIHdoaWNoCis7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbiBpZGxlIHByb2Nlc3Mgd2lsbCBiZSBraWxsZWQuCis7IE5vdGU6IFRoaXMgdmFsdWUgaXMgbWFuZGF0b3J5LgorcG0gPSBkeW5hbWljCisKKzsgVGhlIG51bWJlciBvZiBjaGlsZCBwcm9jZXNzZXMgdG8gYmUgY3JlYXRlZCB3aGVuIHBtIGlzIHNldCB0byAnc3RhdGljJyBhbmQgdGhlCis7IG1heGltdW0gbnVtYmVyIG9mIGNoaWxkIHByb2Nlc3NlcyB3aGVuIHBtIGlzIHNldCB0byAnZHluYW1pYycgb3IgJ29uZGVtYW5kJy4KKzsgVGhpcyB2YWx1ZSBzZXRzIHRoZSBsaW1pdCBvbiB0aGUgbnVtYmVyIG9mIHNpbXVsdGFuZW91cyByZXF1ZXN0cyB0aGF0IHdpbGwgYmUKKzsgc2VydmVkLiBFcXVpdmFsZW50IHRvIHRoZSBBcGFjaGVNYXhDbGllbnRzIGRpcmVjdGl2ZSB3aXRoIG1wbV9wcmVmb3JrLgorOyBFcXVpdmFsZW50IHRvIHRoZSBQSFBfRkNHSV9DSElMRFJFTiBlbnZpcm9ubWVudCB2YXJpYWJsZSBpbiB0aGUgb3JpZ2luYWwgUEhQCis7IENHSS4gVGhlIGJlbG93IGRlZmF1bHRzIGFyZSBiYXNlZCBvbiBhIHNlcnZlciB3aXRob3V0IG11Y2ggcmVzb3VyY2VzLiBEb24ndAorOyBmb3JnZXQgdG8gdHdlYWsgcG0uKiB0byBmaXQgeW91ciBuZWVkcy4KKzsgTm90ZTogVXNlZCB3aGVuIHBtIGlzIHNldCB0byAnc3RhdGljJywgJ2R5bmFtaWMnIG9yICdvbmRlbWFuZCcKKzsgTm90ZTogVGhpcyB2YWx1ZSBpcyBtYW5kYXRvcnkuCitwbS5tYXhfY2hpbGRyZW4gPSA1CisKKzsgVGhlIG51bWJlciBvZiBjaGlsZCBwcm9jZXNzZXMgY3JlYXRlZCBvbiBzdGFydHVwLgorOyBOb3RlOiBVc2VkIG9ubHkgd2hlbiBwbSBpcyBzZXQgdG8gJ2R5bmFtaWMnCis7IERlZmF1bHQgVmFsdWU6IG1pbl9zcGFyZV9zZXJ2ZXJzICsgKG1heF9zcGFyZV9zZXJ2ZXJzIC0gbWluX3NwYXJlX3NlcnZlcnMpIC8gMgorcG0uc3RhcnRfc2VydmVycyA9IDIKKworOyBUaGUgZGVzaXJlZCBtaW5pbXVtIG51bWJlciBvZiBpZGxlIHNlcnZlciBwcm9jZXNzZXMuCis7IE5vdGU6IFVzZWQgb25seSB3aGVuIHBtIGlzIHNldCB0byAnZHluYW1pYycKKzsgTm90ZTogTWFuZGF0b3J5IHdoZW4gcG0gaXMgc2V0IHRvICdkeW5hbWljJworcG0ubWluX3NwYXJlX3NlcnZlcnMgPSAxCisKKzsgVGhlIGRlc2lyZWQgbWF4aW11bSBudW1iZXIgb2YgaWRsZSBzZXJ2ZXIgcHJvY2Vzc2VzLgorOyBOb3RlOiBVc2VkIG9ubHkgd2hlbiBwbSBpcyBzZXQgdG8gJ2R5bmFtaWMnCis7IE5vdGU6IE1hbmRhdG9yeSB3aGVuIHBtIGlzIHNldCB0byAnZHluYW1pYycKK3BtLm1heF9zcGFyZV9zZXJ2ZXJzID0gMworCis7IFRoZSBudW1iZXIgb2Ygc2Vjb25kcyBhZnRlciB3aGljaCBhbiBpZGxlIHByb2Nlc3Mgd2lsbCBiZSBraWxsZWQuCis7IE5vdGU6IFVzZWQgb25seSB3aGVuIHBtIGlzIHNldCB0byAnb25kZW1hbmQnCis7IERlZmF1bHQgVmFsdWU6IDEwcworO3BtLnByb2Nlc3NfaWRsZV90aW1lb3V0ID0gMTBzOworIAorOyBUaGUgbnVtYmVyIG9mIHJlcXVlc3RzIGVhY2ggY2hpbGQgcHJvY2VzcyBzaG91bGQgZXhlY3V0ZSBiZWZvcmUgcmVzcGF3bmluZy4KKzsgVGhpcyBjYW4gYmUgdXNlZnVsIHRvIHdvcmsgYXJvdW5kIG1lbW9yeSBsZWFrcyBpbiAzcmQgcGFydHkgbGlicmFyaWVzLiBGb3IKKzsgZW5kbGVzcyByZXF1ZXN0IHByb2Nlc3Npbmcgc3BlY2lmeSAnMCcuIEVxdWl2YWxlbnQgdG8gUEhQX0ZDR0lfTUFYX1JFUVVFU1RTLgorOyBEZWZhdWx0IFZhbHVlOiAwCis7cG0ubWF4X3JlcXVlc3RzID0gNTAwCisKKzsgVGhlIFVSSSB0byB2aWV3IHRoZSBGUE0gc3RhdHVzIHBhZ2UuIElmIHRoaXMgdmFsdWUgaXMgbm90IHNldCwgbm8gVVJJIHdpbGwgYmUKKzsgcmVjb2duaXplZCBhcyBhIHN0YXR1cyBwYWdlLiBJdCBzaG93cyB0aGUgZm9sbG93aW5nIGluZm9ybWF0aW9uczoKKzsgICBwb29sICAgICAgICAgICAgICAgICAtIHRoZSBuYW1lIG9mIHRoZSBwb29sOworOyAgIHByb2Nlc3MgbWFuYWdlciAgICAgIC0gc3RhdGljLCBkeW5hbWljIG9yIG9uZGVtYW5kOworOyAgIHN0YXJ0IHRpbWUgICAgICAgICAgIC0gdGhlIGRhdGUgYW5kIHRpbWUgRlBNIGhhcyBzdGFydGVkOworOyAgIHN0YXJ0IHNpbmNlICAgICAgICAgIC0gbnVtYmVyIG9mIHNlY29uZHMgc2luY2UgRlBNIGhhcyBzdGFydGVkOworOyAgIGFjY2VwdGVkIGNvbm4gICAgICAgIC0gdGhlIG51bWJlciBvZiByZXF1ZXN0IGFjY2VwdGVkIGJ5IHRoZSBwb29sOworOyAgIGxpc3RlbiBxdWV1ZSAgICAgICAgIC0gdGhlIG51bWJlciBvZiByZXF1ZXN0IGluIHRoZSBxdWV1ZSBvZiBwZW5kaW5nCis7ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9ucyAoc2VlIGJhY2tsb2cgaW4gbGlzdGVuKDIpKTsKKzsgICBtYXggbGlzdGVuIHF1ZXVlICAgICAtIHRoZSBtYXhpbXVtIG51bWJlciBvZiByZXF1ZXN0cyBpbiB0aGUgcXVldWUKKzsgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIHBlbmRpbmcgY29ubmVjdGlvbnMgc2luY2UgRlBNIGhhcyBzdGFydGVkOworOyAgIGxpc3RlbiBxdWV1ZSBsZW4gICAgIC0gdGhlIHNpemUgb2YgdGhlIHNvY2tldCBxdWV1ZSBvZiBwZW5kaW5nIGNvbm5lY3Rpb25zOworOyAgIGlkbGUgcHJvY2Vzc2VzICAgICAgIC0gdGhlIG51bWJlciBvZiBpZGxlIHByb2Nlc3NlczsKKzsgICBhY3RpdmUgcHJvY2Vzc2VzICAgICAtIHRoZSBudW1iZXIgb2YgYWN0aXZlIHByb2Nlc3NlczsKKzsgICB0b3RhbCBwcm9jZXNzZXMgICAgICAtIHRoZSBudW1iZXIgb2YgaWRsZSArIGFjdGl2ZSBwcm9jZXNzZXM7Cis7ICAgbWF4IGFjdGl2ZSBwcm9jZXNzZXMgLSB0aGUgbWF4aW11bSBudW1iZXIgb2YgYWN0aXZlIHByb2Nlc3NlcyBzaW5jZSBGUE0KKzsgICAgICAgICAgICAgICAgICAgICAgICAgIGhhcyBzdGFydGVkOworOyAgIG1heCBjaGlsZHJlbiByZWFjaGVkIC0gbnVtYmVyIG9mIHRpbWVzLCB0aGUgcHJvY2VzcyBsaW1pdCBoYXMgYmVlbiByZWFjaGVkLAorOyAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlbiBwbSB0cmllcyB0byBzdGFydCBtb3JlIGNoaWxkcmVuICh3b3JrcyBvbmx5IGZvcgorOyAgICAgICAgICAgICAgICAgICAgICAgICAgcG0gJ2R5bmFtaWMnIGFuZCAnb25kZW1hbmQnKTsKKzsgVmFsdWUgYXJlIHVwZGF0ZWQgaW4gcmVhbCB0aW1lLgorOyBFeGFtcGxlIG91dHB1dDoKKzsgICBwb29sOiAgICAgICAgICAgICAgICAgd3d3Cis7ICAgcHJvY2VzcyBtYW5hZ2VyOiAgICAgIHN0YXRpYworOyAgIHN0YXJ0IHRpbWU6ICAgICAgICAgICAwMS9KdWwvMjAxMToxNzo1Mzo0OSArMDIwMAorOyAgIHN0YXJ0IHNpbmNlOiAgICAgICAgICA2MjYzNgorOyAgIGFjY2VwdGVkIGNvbm46ICAgICAgICAxOTA0NjAKKzsgICBsaXN0ZW4gcXVldWU6ICAgICAgICAgMAorOyAgIG1heCBsaXN0ZW4gcXVldWU6ICAgICAxCis7ICAgbGlzdGVuIHF1ZXVlIGxlbjogICAgIDQyCis7ICAgaWRsZSBwcm9jZXNzZXM6ICAgICAgIDQKKzsgICBhY3RpdmUgcHJvY2Vzc2VzOiAgICAgMTEKKzsgICB0b3RhbCBwcm9jZXNzZXM6ICAgICAgMTUKKzsgICBtYXggYWN0aXZlIHByb2Nlc3NlczogMTIKKzsgICBtYXggY2hpbGRyZW4gcmVhY2hlZDogMAorOworOyBCeSBkZWZhdWx0IHRoZSBzdGF0dXMgcGFnZSBvdXRwdXQgaXMgZm9ybWF0dGVkIGFzIHRleHQvcGxhaW4uIFBhc3NpbmcgZWl0aGVyCis7ICdodG1sJywgJ3htbCcgb3IgJ2pzb24nIGluIHRoZSBxdWVyeSBzdHJpbmcgd2lsbCByZXR1cm4gdGhlIGNvcnJlc3BvbmRpbmcKKzsgb3V0cHV0IHN5bnRheC4gRXhhbXBsZToKKzsgICBodHRwOi8vd3d3LmZvby5iYXIvc3RhdHVzCis7ICAgaHR0cDovL3d3dy5mb28uYmFyL3N0YXR1cz9qc29uCis7ICAgaHR0cDovL3d3dy5mb28uYmFyL3N0YXR1cz9odG1sCis7ICAgaHR0cDovL3d3dy5mb28uYmFyL3N0YXR1cz94bWwKKzsKKzsgQnkgZGVmYXVsdCB0aGUgc3RhdHVzIHBhZ2Ugb25seSBvdXRwdXRzIHNob3J0IHN0YXR1cy4gUGFzc2luZyAnZnVsbCcgaW4gdGhlCis7IHF1ZXJ5IHN0cmluZyB3aWxsIGFsc28gcmV0dXJuIHN0YXR1cyBmb3IgZWFjaCBwb29sIHByb2Nlc3MuCis7IEV4YW1wbGU6IAorOyAgIGh0dHA6Ly93d3cuZm9vLmJhci9zdGF0dXM/ZnVsbAorOyAgIGh0dHA6Ly93d3cuZm9vLmJhci9zdGF0dXM/anNvbiZmdWxsCis7ICAgaHR0cDovL3d3dy5mb28uYmFyL3N0YXR1cz9odG1sJmZ1bGwKKzsgICBodHRwOi8vd3d3LmZvby5iYXIvc3RhdHVzP3htbCZmdWxsCis7IFRoZSBGdWxsIHN0YXR1cyByZXR1cm5zIGZvciBlYWNoIHByb2Nlc3M6Cis7ICAgcGlkICAgICAgICAgICAgICAgICAgLSB0aGUgUElEIG9mIHRoZSBwcm9jZXNzOworOyAgIHN0YXRlICAgICAgICAgICAgICAgIC0gdGhlIHN0YXRlIG9mIHRoZSBwcm9jZXNzIChJZGxlLCBSdW5uaW5nLCAuLi4pOworOyAgIHN0YXJ0IHRpbWUgICAgICAgICAgIC0gdGhlIGRhdGUgYW5kIHRpbWUgdGhlIHByb2Nlc3MgaGFzIHN0YXJ0ZWQ7Cis7ICAgc3RhcnQgc2luY2UgICAgICAgICAgLSB0aGUgbnVtYmVyIG9mIHNlY29uZHMgc2luY2UgdGhlIHByb2Nlc3MgaGFzIHN0YXJ0ZWQ7Cis7ICAgcmVxdWVzdHMgICAgICAgICAgICAgLSB0aGUgbnVtYmVyIG9mIHJlcXVlc3RzIHRoZSBwcm9jZXNzIGhhcyBzZXJ2ZWQ7Cis7ICAgcmVxdWVzdCBkdXJhdGlvbiAgICAgLSB0aGUgZHVyYXRpb24gaW4gwrVzIG9mIHRoZSByZXF1ZXN0czsKKzsgICByZXF1ZXN0IG1ldGhvZCAgICAgICAtIHRoZSByZXF1ZXN0IG1ldGhvZCAoR0VULCBQT1NULCAuLi4pOworOyAgIHJlcXVlc3QgVVJJICAgICAgICAgIC0gdGhlIHJlcXVlc3QgVVJJIHdpdGggdGhlIHF1ZXJ5IHN0cmluZzsKKzsgICBjb250ZW50IGxlbmd0aCAgICAgICAtIHRoZSBjb250ZW50IGxlbmd0aCBvZiB0aGUgcmVxdWVzdCAob25seSB3aXRoIFBPU1QpOworOyAgIHVzZXIgICAgICAgICAgICAgICAgIC0gdGhlIHVzZXIgKFBIUF9BVVRIX1VTRVIpIChvciAnLScgaWYgbm90IHNldCk7Cis7ICAgc2NyaXB0ICAgICAgICAgICAgICAgLSB0aGUgbWFpbiBzY3JpcHQgY2FsbGVkIChvciAnLScgaWYgbm90IHNldCk7Cis7ICAgbGFzdCByZXF1ZXN0IGNwdSAgICAgLSB0aGUgJWNwdSB0aGUgbGFzdCByZXF1ZXN0IGNvbnN1bWVkCis7ICAgICAgICAgICAgICAgICAgICAgICAgICBpdCdzIGFsd2F5cyAwIGlmIHRoZSBwcm9jZXNzIGlzIG5vdCBpbiBJZGxlIHN0YXRlCis7ICAgICAgICAgICAgICAgICAgICAgICAgICBiZWNhdXNlIENQVSBjYWxjdWxhdGlvbiBpcyBkb25lIHdoZW4gdGhlIHJlcXVlc3QKKzsgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3NpbmcgaGFzIHRlcm1pbmF0ZWQ7Cis7ICAgbGFzdCByZXF1ZXN0IG1lbW9yeSAgLSB0aGUgbWF4IGFtb3VudCBvZiBtZW1vcnkgdGhlIGxhc3QgcmVxdWVzdCBjb25zdW1lZAorOyAgICAgICAgICAgICAgICAgICAgICAgICAgaXQncyBhbHdheXMgMCBpZiB0aGUgcHJvY2VzcyBpcyBub3QgaW4gSWRsZSBzdGF0ZQorOyAgICAgICAgICAgICAgICAgICAgICAgICAgYmVjYXVzZSBtZW1vcnkgY2FsY3VsYXRpb24gaXMgZG9uZSB3aGVuIHRoZSByZXF1ZXN0Cis7ICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzaW5nIGhhcyB0ZXJtaW5hdGVkOworOyBJZiB0aGUgcHJvY2VzcyBpcyBpbiBJZGxlIHN0YXRlLCB0aGVuIGluZm9ybWF0aW9ucyBhcmUgcmVsYXRlZCB0byB0aGUKKzsgbGFzdCByZXF1ZXN0IHRoZSBwcm9jZXNzIGhhcyBzZXJ2ZWQuIE90aGVyd2lzZSBpbmZvcm1hdGlvbnMgYXJlIHJlbGF0ZWQgdG8KKzsgdGhlIGN1cnJlbnQgcmVxdWVzdCBiZWluZyBzZXJ2ZWQuCis7IEV4YW1wbGUgb3V0cHV0OgorOyAgICoqKioqKioqKioqKioqKioqKioqKioqKgorOyAgIHBpZDogICAgICAgICAgICAgICAgICAzMTMzMAorOyAgIHN0YXRlOiAgICAgICAgICAgICAgICBSdW5uaW5nCis7ICAgc3RhcnQgdGltZTogICAgICAgICAgIDAxL0p1bC8yMDExOjE3OjUzOjQ5ICswMjAwCis7ICAgc3RhcnQgc2luY2U6ICAgICAgICAgIDYzMDg3Cis7ICAgcmVxdWVzdHM6ICAgICAgICAgICAgIDEyODA4Cis7ICAgcmVxdWVzdCBkdXJhdGlvbjogICAgIDEyNTAyNjEKKzsgICByZXF1ZXN0IG1ldGhvZDogICAgICAgR0VUCis7ICAgcmVxdWVzdCBVUkk6ICAgICAgICAgIC90ZXN0X21lbS5waHA/Tj0xMDAwMAorOyAgIGNvbnRlbnQgbGVuZ3RoOiAgICAgICAwCis7ICAgdXNlcjogICAgICAgICAgICAgICAgIC0KKzsgICBzY3JpcHQ6ICAgICAgICAgICAgICAgL2hvbWUvZmF0L3dlYi9kb2NzL3BocC90ZXN0X21lbS5waHAKKzsgICBsYXN0IHJlcXVlc3QgY3B1OiAgICAgMC4wMAorOyAgIGxhc3QgcmVxdWVzdCBtZW1vcnk6ICAwCis7Cis7IE5vdGU6IFRoZXJlIGlzIGEgcmVhbC10aW1lIEZQTSBzdGF0dXMgbW9uaXRvcmluZyBzYW1wbGUgd2ViIHBhZ2UgYXZhaWxhYmxlCis7ICAgICAgIEl0J3MgYXZhaWxhYmxlIGluOiAvdXNyL3NoYXJlL2ZwbS9zdGF0dXMuaHRtbAorOworOyBOb3RlOiBUaGUgdmFsdWUgbXVzdCBzdGFydCB3aXRoIGEgbGVhZGluZyBzbGFzaCAoLykuIFRoZSB2YWx1ZSBjYW4gYmUKKzsgICAgICAgYW55dGhpbmcsIGJ1dCBpdCBtYXkgbm90IGJlIGEgZ29vZCBpZGVhIHRvIHVzZSB0aGUgLnBocCBleHRlbnNpb24gb3IgaXQKKzsgICAgICAgbWF5IGNvbmZsaWN0IHdpdGggYSByZWFsIFBIUCBmaWxlLgorOyBEZWZhdWx0IFZhbHVlOiBub3Qgc2V0IAorO3BtLnN0YXR1c19wYXRoID0gL3N0YXR1cworIAorOyBUaGUgcGluZyBVUkkgdG8gY2FsbCB0aGUgbW9uaXRvcmluZyBwYWdlIG9mIEZQTS4gSWYgdGhpcyB2YWx1ZSBpcyBub3Qgc2V0LCBubworOyBVUkkgd2lsbCBiZSByZWNvZ25pemVkIGFzIGEgcGluZyBwYWdlLiBUaGlzIGNvdWxkIGJlIHVzZWQgdG8gdGVzdCBmcm9tIG91dHNpZGUKKzsgdGhhdCBGUE0gaXMgYWxpdmUgYW5kIHJlc3BvbmRpbmcsIG9yIHRvCis7IC0gY3JlYXRlIGEgZ3JhcGggb2YgRlBNIGF2YWlsYWJpbGl0eSAocnJkIG9yIHN1Y2gpOworOyAtIHJlbW92ZSBhIHNlcnZlciBmcm9tIGEgZ3JvdXAgaWYgaXQgaXMgbm90IHJlc3BvbmRpbmcgKGxvYWQgYmFsYW5jaW5nKTsKKzsgLSB0cmlnZ2VyIGFsZXJ0cyBmb3IgdGhlIG9wZXJhdGluZyB0ZWFtICgyNC83KS4KKzsgTm90ZTogVGhlIHZhbHVlIG11c3Qgc3RhcnQgd2l0aCBhIGxlYWRpbmcgc2xhc2ggKC8pLiBUaGUgdmFsdWUgY2FuIGJlCis7ICAgICAgIGFueXRoaW5nLCBidXQgaXQgbWF5IG5vdCBiZSBhIGdvb2QgaWRlYSB0byB1c2UgdGhlIC5waHAgZXh0ZW5zaW9uIG9yIGl0Cis7ICAgICAgIG1heSBjb25mbGljdCB3aXRoIGEgcmVhbCBQSFAgZmlsZS4KKzsgRGVmYXVsdCBWYWx1ZTogbm90IHNldAorO3BpbmcucGF0aCA9IC9waW5nCisKKzsgVGhpcyBkaXJlY3RpdmUgbWF5IGJlIHVzZWQgdG8gY3VzdG9taXplIHRoZSByZXNwb25zZSBvZiBhIHBpbmcgcmVxdWVzdC4gVGhlCis7IHJlc3BvbnNlIGlzIGZvcm1hdHRlZCBhcyB0ZXh0L3BsYWluIHdpdGggYSAyMDAgcmVzcG9uc2UgY29kZS4KKzsgRGVmYXVsdCBWYWx1ZTogcG9uZworO3BpbmcucmVzcG9uc2UgPSBwb25nCisKKzsgVGhlIGFjY2VzcyBsb2cgZmlsZQorOyBEZWZhdWx0OiBub3Qgc2V0Cis7YWNjZXNzLmxvZyA9IGxvZy8kcG9vbC5hY2Nlc3MubG9nCisKKzsgVGhlIGFjY2VzcyBsb2cgZm9ybWF0LgorOyBUaGUgZm9sbG93aW5nIHN5bnRheCBpcyBhbGxvd2VkCis7ICAlJTogdGhlICclJyBjaGFyYWN0ZXIKKzsgICVDOiAlQ1BVIHVzZWQgYnkgdGhlIHJlcXVlc3QKKzsgICAgICBpdCBjYW4gYWNjZXB0IHRoZSBmb2xsb3dpbmcgZm9ybWF0OgorOyAgICAgIC0gJXt1c2VyfUMgZm9yIHVzZXIgQ1BVIG9ubHkKKzsgICAgICAtICV7c3lzdGVtfUMgZm9yIHN5c3RlbSBDUFUgb25seQorOyAgICAgIC0gJXt0b3RhbH1DICBmb3IgdXNlciArIHN5c3RlbSBDUFUgKGRlZmF1bHQpCis7ICAlZDogdGltZSB0YWtlbiB0byBzZXJ2ZSB0aGUgcmVxdWVzdAorOyAgICAgIGl0IGNhbiBhY2NlcHQgdGhlIGZvbGxvd2luZyBmb3JtYXQ6Cis7ICAgICAgLSAle3NlY29uZHN9ZCAoZGVmYXVsdCkKKzsgICAgICAtICV7bWlsaXNlY29uZHN9ZAorOyAgICAgIC0gJXttaWxpfWQKKzsgICAgICAtICV7bWljcm9zZWNvbmRzfWQKKzsgICAgICAtICV7bWljcm99ZAorOyAgJWU6IGFuIGVudmlyb25tZW50IHZhcmlhYmxlIChzYW1lIGFzICRfRU5WIG9yICRfU0VSVkVSKQorOyAgICAgIGl0IG11c3QgYmUgYXNzb2NpYXRlZCB3aXRoIGVtYnJhY2VzIHRvIHNwZWNpZnkgdGhlIG5hbWUgb2YgdGhlIGVudgorOyAgICAgIHZhcmlhYmxlLiBTb21lIGV4ZW1wbGVzOgorOyAgICAgIC0gc2VydmVyIHNwZWNpZmljcyBsaWtlOiAle1JFUVVFU1RfTUVUSE9EfWUgb3IgJXtTRVJWRVJfUFJPVE9DT0x9ZQorOyAgICAgIC0gSFRUUCBoZWFkZXJzIGxpa2U6ICV7SFRUUF9IT1NUfWUgb3IgJXtIVFRQX1VTRVJfQUdFTlR9ZQorOyAgJWY6IHNjcmlwdCBmaWxlbmFtZQorOyAgJWw6IGNvbnRlbnQtbGVuZ3RoIG9mIHRoZSByZXF1ZXN0IChmb3IgUE9TVCByZXF1ZXN0IG9ubHkpCis7ICAlbTogcmVxdWVzdCBtZXRob2QKKzsgICVNOiBwZWFrIG9mIG1lbW9yeSBhbGxvY2F0ZWQgYnkgUEhQCis7ICAgICAgaXQgY2FuIGFjY2VwdCB0aGUgZm9sbG93aW5nIGZvcm1hdDoKKzsgICAgICAtICV7Ynl0ZXN9TSAoZGVmYXVsdCkKKzsgICAgICAtICV7a2lsb2J5dGVzfU0KKzsgICAgICAtICV7a2lsb31NCis7ICAgICAgLSAle21lZ2FieXRlc31NCis7ICAgICAgLSAle21lZ2F9TQorOyAgJW46IHBvb2wgbmFtZQorOyAgJW86IG91cHV0IGhlYWRlcgorOyAgICAgIGl0IG11c3QgYmUgYXNzb2NpYXRlZCB3aXRoIGVtYnJhY2VzIHRvIHNwZWNpZnkgdGhlIG5hbWUgb2YgdGhlIGhlYWRlcjoKKzsgICAgICAtICV7Q29udGVudC1UeXBlfW8KKzsgICAgICAtICV7WC1Qb3dlcmVkLUJ5fW8KKzsgICAgICAtICV7VHJhbnNmZXJ0LUVuY29kaW5nfW8KKzsgICAgICAtIC4uLi4KKzsgICVwOiBQSUQgb2YgdGhlIGNoaWxkIHRoYXQgc2VydmljZWQgdGhlIHJlcXVlc3QKKzsgICVQOiBQSUQgb2YgdGhlIHBhcmVudCBvZiB0aGUgY2hpbGQgdGhhdCBzZXJ2aWNlZCB0aGUgcmVxdWVzdAorOyAgJXE6IHRoZSBxdWVyeSBzdHJpbmcgCis7ICAlUTogdGhlICc/JyBjaGFyYWN0ZXIgaWYgcXVlcnkgc3RyaW5nIGV4aXN0cworOyAgJXI6IHRoZSByZXF1ZXN0IFVSSSAod2l0aG91dCB0aGUgcXVlcnkgc3RyaW5nLCBzZWUgJXEgYW5kICVRKQorOyAgJVI6IHJlbW90ZSBJUCBhZGRyZXNzCis7ICAlczogc3RhdHVzIChyZXNwb25zZSBjb2RlKQorOyAgJXQ6IHNlcnZlciB0aW1lIHRoZSByZXF1ZXN0IHdhcyByZWNlaXZlZAorOyAgICAgIGl0IGNhbiBhY2NlcHQgYSBzdHJmdGltZSgzKSBmb3JtYXQ6Cis7ICAgICAgJWQvJWIvJVk6JUg6JU06JVMgJXogKGRlZmF1bHQpCis7ICAlVDogdGltZSB0aGUgbG9nIGhhcyBiZWVuIHdyaXR0ZW4gKHRoZSByZXF1ZXN0IGhhcyBmaW5pc2hlZCkKKzsgICAgICBpdCBjYW4gYWNjZXB0IGEgc3RyZnRpbWUoMykgZm9ybWF0OgorOyAgICAgICVkLyViLyVZOiVIOiVNOiVTICV6IChkZWZhdWx0KQorOyAgJXU6IHJlbW90ZSB1c2VyCis7Cis7IERlZmF1bHQ6ICIlUiAtICV1ICV0IFwiJW0gJXJcIiAlcyIKKzthY2Nlc3MuZm9ybWF0ID0gIiVSIC0gJXUgJXQgXCIlbSAlciVRJXFcIiAlcyAlZiAle21pbGl9ZCAle2tpbG99TSAlQyUlIgorIAorOyBUaGUgbG9nIGZpbGUgZm9yIHNsb3cgcmVxdWVzdHMKKzsgRGVmYXVsdCBWYWx1ZTogbm90IHNldAorOyBOb3RlOiBzbG93bG9nIGlzIG1hbmRhdG9yeSBpZiByZXF1ZXN0X3Nsb3dsb2dfdGltZW91dCBpcyBzZXQKKztzbG93bG9nID0gbG9nLyRwb29sLmxvZy5zbG93CisgCis7IFRoZSB0aW1lb3V0IGZvciBzZXJ2aW5nIGEgc2luZ2xlIHJlcXVlc3QgYWZ0ZXIgd2hpY2ggYSBQSFAgYmFja3RyYWNlIHdpbGwgYmUKKzsgZHVtcGVkIHRvIHRoZSAnc2xvd2xvZycgZmlsZS4gQSB2YWx1ZSBvZiAnMHMnIG1lYW5zICdvZmYnLgorOyBBdmFpbGFibGUgdW5pdHM6IHMoZWNvbmRzKShkZWZhdWx0KSwgbShpbnV0ZXMpLCBoKG91cnMpLCBvciBkKGF5cykKKzsgRGVmYXVsdCBWYWx1ZTogMAorO3JlcXVlc3Rfc2xvd2xvZ190aW1lb3V0ID0gMAorIAorOyBUaGUgdGltZW91dCBmb3Igc2VydmluZyBhIHNpbmdsZSByZXF1ZXN0IGFmdGVyIHdoaWNoIHRoZSB3b3JrZXIgcHJvY2VzcyB3aWxsCis7IGJlIGtpbGxlZC4gVGhpcyBvcHRpb24gc2hvdWxkIGJlIHVzZWQgd2hlbiB0aGUgJ21heF9leGVjdXRpb25fdGltZScgaW5pIG9wdGlvbgorOyBkb2VzIG5vdCBzdG9wIHNjcmlwdCBleGVjdXRpb24gZm9yIHNvbWUgcmVhc29uLiBBIHZhbHVlIG9mICcwJyBtZWFucyAnb2ZmJy4KKzsgQXZhaWxhYmxlIHVuaXRzOiBzKGVjb25kcykoZGVmYXVsdCksIG0oaW51dGVzKSwgaChvdXJzKSwgb3IgZChheXMpCis7IERlZmF1bHQgVmFsdWU6IDAKKztyZXF1ZXN0X3Rlcm1pbmF0ZV90aW1lb3V0ID0gMAorIAorOyBTZXQgb3BlbiBmaWxlIGRlc2NyaXB0b3IgcmxpbWl0LgorOyBEZWZhdWx0IFZhbHVlOiBzeXN0ZW0gZGVmaW5lZCB2YWx1ZQorO3JsaW1pdF9maWxlcyA9IDEwMjQKKyAKKzsgU2V0IG1heCBjb3JlIHNpemUgcmxpbWl0LgorOyBQb3NzaWJsZSBWYWx1ZXM6ICd1bmxpbWl0ZWQnIG9yIGFuIGludGVnZXIgZ3JlYXRlciBvciBlcXVhbCB0byAwCis7IERlZmF1bHQgVmFsdWU6IHN5c3RlbSBkZWZpbmVkIHZhbHVlCis7cmxpbWl0X2NvcmUgPSAwCisgCis7IENocm9vdCB0byB0aGlzIGRpcmVjdG9yeSBhdCB0aGUgc3RhcnQuIFRoaXMgdmFsdWUgbXVzdCBiZSBkZWZpbmVkIGFzIGFuCis7IGFic29sdXRlIHBhdGguIFdoZW4gdGhpcyB2YWx1ZSBpcyBub3Qgc2V0LCBjaHJvb3QgaXMgbm90IHVzZWQuCis7IE5vdGU6IHlvdSBjYW4gcHJlZml4IHdpdGggJyRwcmVmaXgnIHRvIGNocm9vdCB0byB0aGUgcG9vbCBwcmVmaXggb3Igb25lCis7IG9mIGl0cyBzdWJkaXJlY3Rvcmllcy4gSWYgdGhlIHBvb2wgcHJlZml4IGlzIG5vdCBzZXQsIHRoZSBnbG9iYWwgcHJlZml4Cis7IHdpbGwgYmUgdXNlZCBpbnN0ZWFkLgorOyBOb3RlOiBjaHJvb3RpbmcgaXMgYSBncmVhdCBzZWN1cml0eSBmZWF0dXJlIGFuZCBzaG91bGQgYmUgdXNlZCB3aGVuZXZlciAKKzsgICAgICAgcG9zc2libGUuIEhvd2V2ZXIsIGFsbCBQSFAgcGF0aHMgd2lsbCBiZSByZWxhdGl2ZSB0byB0aGUgY2hyb290Cis7ICAgICAgIChlcnJvcl9sb2csIHNlc3Npb25zLnNhdmVfcGF0aCwgLi4uKS4KKzsgRGVmYXVsdCBWYWx1ZTogbm90IHNldAorO2Nocm9vdCA9IAorIAorOyBDaGRpciB0byB0aGlzIGRpcmVjdG9yeSBhdCB0aGUgc3RhcnQuCis7IE5vdGU6IHJlbGF0aXZlIHBhdGggY2FuIGJlIHVzZWQuCis7IERlZmF1bHQgVmFsdWU6IGN1cnJlbnQgZGlyZWN0b3J5IG9yIC8gd2hlbiBjaHJvb3QKKztjaGRpciA9IC92YXIvd3d3CisgCis7IFJlZGlyZWN0IHdvcmtlciBzdGRvdXQgYW5kIHN0ZGVyciBpbnRvIG1haW4gZXJyb3IgbG9nLiBJZiBub3Qgc2V0LCBzdGRvdXQgYW5kCis7IHN0ZGVyciB3aWxsIGJlIHJlZGlyZWN0ZWQgdG8gL2Rldi9udWxsIGFjY29yZGluZyB0byBGYXN0Q0dJIHNwZWNzLgorOyBOb3RlOiBvbiBoaWdobG9hZGVkIGVudmlyb25lbWVudCwgdGhpcyBjYW4gY2F1c2Ugc29tZSBkZWxheSBpbiB0aGUgcGFnZQorOyBwcm9jZXNzIHRpbWUgKHNldmVyYWwgbXMpLgorOyBEZWZhdWx0IFZhbHVlOiBubworO2NhdGNoX3dvcmtlcnNfb3V0cHV0ID0geWVzCisKKzsgTGltaXRzIHRoZSBleHRlbnNpb25zIG9mIHRoZSBtYWluIHNjcmlwdCBGUE0gd2lsbCBhbGxvdyB0byBwYXJzZS4gVGhpcyBjYW4KKzsgcHJldmVudCBjb25maWd1cmF0aW9uIG1pc3Rha2VzIG9uIHRoZSB3ZWIgc2VydmVyIHNpZGUuIFlvdSBzaG91bGQgb25seSBsaW1pdAorOyBGUE0gdG8gLnBocCBleHRlbnNpb25zIHRvIHByZXZlbnQgbWFsaWNpb3VzIHVzZXJzIHRvIHVzZSBvdGhlciBleHRlbnNpb25zIHRvCis7IGV4ZWN0dXRlIHBocCBjb2RlLgorOyBOb3RlOiBzZXQgYW4gZW1wdHkgdmFsdWUgdG8gYWxsb3cgYWxsIGV4dGVuc2lvbnMuCis7IERlZmF1bHQgVmFsdWU6IC5waHAKKztzZWN1cml0eS5saW1pdF9leHRlbnNpb25zID0gLnBocCAucGhwMyAucGhwNCAucGhwNQorIAorOyBQYXNzIGVudmlyb25tZW50IHZhcmlhYmxlcyBsaWtlIExEX0xJQlJBUllfUEFUSC4gQWxsICRWQVJJQUJMRXMgYXJlIHRha2VuIGZyb20KKzsgdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCis7IERlZmF1bHQgVmFsdWU6IGNsZWFuIGVudgorO2VudltIT1NUTkFNRV0gPSAkSE9TVE5BTUUKKztlbnZbUEFUSF0gPSAvdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluCis7ZW52W1RNUF0gPSAvdG1wCis7ZW52W1RNUERJUl0gPSAvdG1wCis7ZW52W1RFTVBdID0gL3RtcAorCis7IEFkZGl0aW9uYWwgcGhwLmluaSBkZWZpbmVzLCBzcGVjaWZpYyB0byB0aGlzIHBvb2wgb2Ygd29ya2Vycy4gVGhlc2Ugc2V0dGluZ3MKKzsgb3ZlcndyaXRlIHRoZSB2YWx1ZXMgcHJldmlvdXNseSBkZWZpbmVkIGluIHRoZSBwaHAuaW5pLiBUaGUgZGlyZWN0aXZlcyBhcmUgdGhlCis7IHNhbWUgYXMgdGhlIFBIUCBTQVBJOgorOyAgIHBocF92YWx1ZS9waHBfZmxhZyAgICAgICAgICAgICAtIHlvdSBjYW4gc2V0IGNsYXNzaWMgaW5pIGRlZmluZXMgd2hpY2ggY2FuCis7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmUgb3ZlcndyaXR0ZW4gZnJvbSBQSFAgY2FsbCAnaW5pX3NldCcuIAorOyAgIHBocF9hZG1pbl92YWx1ZS9waHBfYWRtaW5fZmxhZyAtIHRoZXNlIGRpcmVjdGl2ZXMgd29uJ3QgYmUgb3ZlcndyaXR0ZW4gYnkKKzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEhQIGNhbGwgJ2luaV9zZXQnCis7IEZvciBwaHBfKmZsYWcsIHZhbGlkIHZhbHVlcyBhcmUgb24sIG9mZiwgMSwgMCwgdHJ1ZSwgZmFsc2UsIHllcyBvciBuby4KKworOyBEZWZpbmluZyAnZXh0ZW5zaW9uJyB3aWxsIGxvYWQgdGhlIGNvcnJlc3BvbmRpbmcgc2hhcmVkIGV4dGVuc2lvbiBmcm9tCis7IGV4dGVuc2lvbl9kaXIuIERlZmluaW5nICdkaXNhYmxlX2Z1bmN0aW9ucycgb3IgJ2Rpc2FibGVfY2xhc3Nlcycgd2lsbCBub3QKKzsgb3ZlcndyaXRlIHByZXZpb3VzbHkgZGVmaW5lZCBwaHAuaW5pIHZhbHVlcywgYnV0IHdpbGwgYXBwZW5kIHRoZSBuZXcgdmFsdWUKKzsgaW5zdGVhZC4KKworOyBOb3RlOiBwYXRoIElOSSBvcHRpb25zIGNhbiBiZSByZWxhdGl2ZSBhbmQgd2lsbCBiZSBleHBhbmRlZCB3aXRoIHRoZSBwcmVmaXgKKzsgKHBvb2wsIGdsb2JhbCBvciAvdXNyKQorCis7IERlZmF1bHQgVmFsdWU6IG5vdGhpbmcgaXMgZGVmaW5lZCBieSBkZWZhdWx0IGV4Y2VwdCB0aGUgdmFsdWVzIGluIHBocC5pbmkgYW5kCis7ICAgICAgICAgICAgICAgIHNwZWNpZmllZCBhdCBzdGFydHVwIHdpdGggdGhlIC1kIGFyZ3VtZW50Cis7cGhwX2FkbWluX3ZhbHVlW3NlbmRtYWlsX3BhdGhdID0gL3Vzci9zYmluL3NlbmRtYWlsIC10IC1pIC1mIHd3d0BteS5kb21haW4uY29tCis7cGhwX2ZsYWdbZGlzcGxheV9lcnJvcnNdID0gb2ZmCis7cGhwX2FkbWluX3ZhbHVlW2Vycm9yX2xvZ10gPSAvdmFyL2xvZy9mcG0tcGhwLnd3dy5sb2cKKztwaHBfYWRtaW5fZmxhZ1tsb2dfZXJyb3JzXSA9IG9uCis7cGhwX2FkbWluX3ZhbHVlW21lbW9yeV9saW1pdF0gPSAzMk0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvcGhwLWZwbS5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9waHAtZnBtLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWM3OWRjOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvcGhwLWZwbS5zZXJ2aWNlCkBAIC0wLDAgKzEsMTAgQEAKK1tVbml0XQorRGVzY3JpcHRpb249UEhQLUZQTQorQWZ0ZXI9bmV0d29yay50YXJnZXQKK1tTZXJ2aWNlXQorVHlwZT1mb3JraW5nCitQSURGaWxlPUBMT0NBTFNUQVRFRElSQC9ydW4vcGhwLWZwbS5waWQKK0V4ZWNTdGFydD1AU1lTQ09ORkRJUkAvaW5pdC5kL3BocC1mcG0gc3RhcnQKK0V4ZWNTdG9wPUBTWVNDT05GRElSQC9pbml0LmQvcGhwLWZwbSBzdG9wCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL3BocF9leGVjX25hdGl2ZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvcGhwX2V4ZWNfbmF0aXZlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1MDZiZGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL3BocF9leGVjX25hdGl2ZS5wYXRjaApAQCAtMCwwICsxLDE4IEBACitVcHN0cmVhbS1zdGF0dXM6IEluYXBwcmlhdGUKKworZGlmZiAtLWdpdCBhL3NhcGkvY2xpL2NvbmZpZy5tNCBiL3NhcGkvY2xpL2NvbmZpZy5tNAoraW5kZXggY2RmYTFmNy4uMGZlMTFlMyAxMDA2NDQKKy0tLSBhL3NhcGkvY2xpL2NvbmZpZy5tNAorKysrIGIvc2FwaS9jbGkvY29uZmlnLm00CitAQCAtMzYsNyArMzYsNyBAQCBpZiB0ZXN0ICIkUEhQX0NMSSIgIT0gIm5vIjsgdGhlbgorICAgZXNhYworIAorICAgZG5sIFNldCBleGVjdXRhYmxlIGZvciB0ZXN0cworLSAgUEhQX0VYRUNVVEFCTEU9IlwkKHRvcF9idWlsZGRpcikvXCQoU0FQSV9DTElfUEFUSCkiCisrICBQSFBfRVhFQ1VUQUJMRT0iJHtQSFBfTkFUSVZFX0RJUn0vcGhwIgorICAgUEhQX1NVQlNUKFBIUF9FWEVDVVRBQkxFKQorIAorICAgZG5sIEV4cG9zZSB0byBNYWtlZmlsZQorLS0gCisxLjkuMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL3B0aHJlYWQtY2hlY2stdGhyZWFkcy1tNC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvcHRocmVhZC1jaGVjay10aHJlYWRzLW00LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjNTY0Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL3B0aHJlYWQtY2hlY2stdGhyZWFkcy1tNC5wYXRjaApAQCAtMCwwICsxLDMwIEBACitGcm9tIGQ4MDY3Y2VhY2JmNTRlNzljOWM2YjY4Njc1MzMyYzA5ZWFhMGI1NWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCA4IEFwciAyMDEzIDE0OjI5OjUxICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIHB0aHJlYWQtY2hlY2sKKworRW5hYmxlIHB0aHJlYWRzIHN1cHBvcnQgd2hlbiBjcm9zcy1jb21waWxpbmcKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJhdGUgW2NvbmZpZ10KKworU2lnbmVkLW9mZi1ieTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIFRTUk0vdGhyZWFkcy5tNCB8ICAgIDIgKy0KKyAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL1RTUk0vdGhyZWFkcy5tNCBiL1RTUk0vdGhyZWFkcy5tNAoraW5kZXggMzg0OTRjZS4uMTVkOTQ1NCAxMDA2NDQKKy0tLSBhL1RTUk0vdGhyZWFkcy5tNAorKysrIGIvVFNSTS90aHJlYWRzLm00CitAQCAtODYsNyArODYsNyBAQCBpbnQgbWFpbigpIHsKKyAgIHB0aHJlYWRzX3dvcmtpbmc9bm8KKyAgIF0sIFsKKyAgIGRubCBGb3IgY3Jvc3MgY29tcGlsaW5nIHJ1bm5pbmcgdGhpcyB0ZXN0IGlzIG9mIG5vIHVzZS4gTmV0V2FyZSBzdXBwb3J0cyBwdGhyZWFkcworLSAgcHRocmVhZHNfd29ya2luZz1ubworKyAgcHRocmVhZHNfd29ya2luZz15ZXMKKyAgIGNhc2UgJGhvc3RfYWxpYXMgaW4KKyAgICpuZXR3YXJlKikKKyAgICAgcHRocmVhZHNfd29ya2luZz15ZXMKKy0tIAorMS43LjQuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwXzUuNS4zMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHBfNS41LjMyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlZTNjMzgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwXzUuNS4zMi5iYgpAQCAtMCwwICsxLDYgQEAKK3JlcXVpcmUgcGhwLmluYworCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT00NjRjYTcwYWYyMTRkMjQwN2Y2YjdkNDQ1ODE1OGFmZCIKKworU1JDX1VSSVttZDVzdW1dID0gIjQ3NDQzZjM5MTUyZDY3MWQyNGJjODM5ZTZhNDkwNDlkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImIwZjJjMTA4ZGI4ZTA1ZGI5ZjYzNjZhYWJhOWE3NTRmZDBlZTMxZjNmODZlZTg4OTU2MWI2MDhkZmQ2ZTkyZWUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwXzUuNi4xOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHBfNS42LjE4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjZTAxMmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwXzUuNi4xOC5iYgpAQCAtMCwwICsxLDcgQEAKK3JlcXVpcmUgcGhwLmluYworCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1iNjAyNjM2ZDQ2YTYxYzBhYzA0MzJiYmY1YzA3OGZlNCIKKworU1JDX1VSSSArPSAiZmlsZTovL2NoYW5nZS1BQ19UUllfUlVOLXRvLUFDX1RSWV9MSU5LLnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gIjczNDAzNTNiZWRkOTk4Mjg2YmEyYzRkODdkNzg2NGY4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImMzY2Q0YTI5YTk1NjIzMDlkMzZlMmIxMjg0MDdkNmVhYTVjN2RkZTU5MGQyYjFhNDY0NDU3MzgzZTUxN2Y0ZWQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wbS1xYS9wbS1xYV9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wbS1xYS9wbS1xYV9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzMyMmRmOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BtLXFhL3BtLXFhX2dpdC5iYgpAQCAtMCwwICsxLDY2IEBACitERVNDUklQVElPTiA9ICJVdGlsaXRpZXMgZm9yIHRlc3RpbmcgUG93ZXIgTWFuYWdlbWVudCIKK0hPTUVQQUdFID0gImh0dHBzOi8vd2lraS5saW5hcm8ub3JnL1dvcmtpbmdHcm91cHMvUG93ZXJNYW5hZ2VtZW50L1Jlc291cmNlcy9UZXN0U3VpdGUvUG1RYSIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitQViA9ICIwLjQuMTQiCisKK0JSQU5DSCA/PSAibWFzdGVyIgorCisjIENvcnJlc3BvbmRzIHRvIHRhZyBwbS1xYS12MC40LjE0CitTUkNSRVYgPSAiOTExMWQxOTMwZjAyMzM3Mzk0Y2YxNmU4NGFkMmEyN2YzMzYwN2NiYiIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQubGluYXJvLm9yZy9wb3dlci9wbS1xYS5naXQ7cHJvdG9jb2w9Z2l0O2JyYW5jaD0ke0JSQU5DSH0iCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0NGTEFHUyArPSAiLXB0aHJlYWQiCisKK2RvX2NvbXBpbGUgKCkgeworICAgICMgRmluZCBhbGwgdGhlIC5jIGZpbGVzIGluIHRoaXMgcHJvamVjdCBhbmQgYnVpbGQgdGhlbS4KKyAgICBmb3IgeCBpbiBgZmluZCAuIC1uYW1lICIqLmMiYAorICAgIGRvCisgICAgICAgIHV0aWw9YGVjaG8gJHt4fSB8IHNlZCBzLy5jJC8vYAorICAgICAgICBvZV9ydW5tYWtlICR7dXRpbH0KKyAgICBkb25lCit9CisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS8ke0JQTn0KKworICAgICMgSW5zdGFsbCB0aGUgY29tcGlsZWQgYmluYXJpZXMgdGhhdCB3ZXJlIGJ1aWx0IGluIHRoZSBwcmV2aW91cyBzdGVwCisgICAgZm9yIHggaW4gYGZpbmQgLiAtbmFtZSAiKi5jImAKKyAgICBkbworICAgICAgICB1dGlsPWBlY2hvICR7eH0gfCBzZWQgcy8uYyQvL2AKKyAgICAgICAgdXRpbF9iYXNlbmFtZT1gYmFzZW5hbWUgJHt1dGlsfWAKKyAgICAgICAgaW5zdGFsbCAtbSAwNzU1ICR7dXRpbH0gJHtEfSR7YmluZGlyfS8ke3V0aWxfYmFzZW5hbWV9CisgICAgZG9uZQorCisgICAgIyBJbnN0YWxsIHRoZSBoZWxwZXIgc2NyaXB0cyBpbiBhIHN1YmRpcmVjdG9yeSBvZiAkbGliZGlyCisgICAgZm9yIHNjcmlwdCBpbiBgZmluZCAuIC1uYW1lICIqLnNoIiB8IGdyZXAgaW5jbHVkZWAKKyAgICBkbworICAgICAgICAjIFJlbW92ZSBoYXJkY29kZWQgcmVsYXRpdmUgcGF0aHMKKyAgICAgICAgc2VkIC1pIC1lICdzIy4uXC91dGlsc1wvIyMnICR7c2NyaXB0fQorCisgICAgICAgIHNjcmlwdF9iYXNlbmFtZT1gYmFzZW5hbWUgJHtzY3JpcHR9YAorICAgICAgICBpbnN0YWxsIC1tIDA3NTUgJHNjcmlwdCAke0R9JHtsaWJkaXJ9LyR7QlBOfS8ke3NjcmlwdF9iYXNlbmFtZX0KKyAgICBkb25lCisKKyAgICAjIEluc3RhbGwgdGhlIHNoZWxsIHNjcmlwdHMgTk9UIGluIHRoZSAkbGliZGlyIGRpcmVjdG9yeSBzaW5jZSB0aG9zZQorICAgICMgd2lsbCBiZSBpbnN0YWxsZWQgZWxzZXdoZXJlCisgICAgZm9yIHNjcmlwdCBpbiBgZmluZCAuIC1uYW1lICIqLnNoIiB8IGdyZXAgLXYgaW5jbHVkZWAKKyAgICBkbworICAgICAgICAjIGlmIHRoZSBzY3JpcHQgaW5jbHVkZXMgYW55IGhlbHBlciBzY3JpcHRzIGZyb20gdGhlICRsaWJkaXIKKyAgICAgICAgIyBkaXJlY3RvcnkgdGhlbiBjaGFuZ2UgdGhlIHNvdXJjZSBwYXRoIHRvIHRoZSBhYnNvbHV0ZSBwYXRoCisgICAgICAgICMgdG8gcmVmbGVjdCB0aGUgaW5zdGFsbCBsb2NhdGlvbiBvZiB0aGUgaGVscGVyIHNjcmlwdHMuCisgICAgICAgIHNlZCAtaSAtZSAicyNzb3VyY2UgLi4vaW5jbHVkZSNzb3VyY2UgJHtsaWJkaXJ9LyR7QlBOfSNnIiAke3NjcmlwdH0KKyAgICAgICAgIyBSZW1vdmUgaGFyZGNvZGVkIHJlbGF0aXZlIHBhdGhzCisgICAgICAgIHNlZCAtaSAtZSAncyMuLlwvdXRpbHNcLyMjJyAke3NjcmlwdH0KKworICAgICAgICBzY3JpcHRfYmFzZW5hbWU9YGJhc2VuYW1lICR7c2NyaXB0fWAKKyAgICAgICAgaW5zdGFsbCAtbSAwNzU1ICRzY3JpcHQgJHtEfSR7YmluZGlyfS8ke3NjcmlwdF9iYXNlbmFtZX0KKyAgICBkb25lCit9CitSREVQRU5EU18ke1BOfSArPSJiYXNoIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcG10b29scy9wbXRvb2xzL3BtdG9vbHMtc3dpdGNoLXRvLWR5bmFtaWMtYnVmZmVyLWZvci1odWdlLUFDUEktdGFibGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wbXRvb2xzL3BtdG9vbHMvcG10b29scy1zd2l0Y2gtdG8tZHluYW1pYy1idWZmZXItZm9yLWh1Z2UtQUNQSS10YWJsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Y2NkYWIwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcG10b29scy9wbXRvb2xzL3BtdG9vbHMtc3dpdGNoLXRvLWR5bmFtaWMtYnVmZmVyLWZvci1odWdlLUFDUEktdGFibGUucGF0Y2gKQEAgLTAsMCArMSw2NiBAQAorRnJvbSAwM2E4ODYyNTJmNjU1NWQ2YjBhZjc2YjY1NGU3NjQ1OTY0MmI4OWRhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogWXVuZ3VvIFdlaSA8eXVuZ3VvLndlaUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAzIERlYyAyMDEzIDE4OjEyOjUwICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIHBtdG9vbHM6IHN3aXRjaCB0byBkeW5hbWljIGJ1ZmZlciBmb3IgaHVnZSBBQ1BJIHRhYmxlcworCitGb3Igc2VydmVycyBsaWtlIENhbm9lIFBhc3Mgb3IgVGh1bmRlciBSaWRnZSwgdGhlcmUgYXJlIG11Y2ggbW9yZQorZW50cmllcyBpbiBBQ1BJIHRhYmxlLCBzbyBvcmlnaW5hbCAxSyBidWZmZXIgaXMgaW5zdWZmaWNpZW50LgorCitXZSBzd2l0Y2ggdG8gZHluYW1pYyBidWZmZXIgb24gdGhpcyBzaXR1YXRpb24uCisKK1NpZ25lZC1vZmYtYnk6IFl1bmd1byBXZWkgPHl1bmd1by53ZWlAd2luZHJpdmVyLmNvbT4KKworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBtYWR0L21hZHQuYyB8IDE4ICsrKysrKysrKysrKysrKysrLQorIDEgZmlsZSBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9tYWR0L21hZHQuYyBiL21hZHQvbWFkdC5jCitpbmRleCBhZWQ5NjVjLi44NzcwY2Q1IDEwMDY0NAorLS0tIGEvbWFkdC9tYWR0LmMKKysrKyBiL21hZHQvbWFkdC5jCitAQCAtNTEsNyArNTEsOSBAQCBnZXRfbmV4dF9lbnRyeShhY3BpX3RhYmxlX2VudHJ5X2hlYWRlciAqIGVudHJ5X2hlYWRlcikKKyAJcmV0dXJuIHJldHZhbDsKKyB9CisgCistdTgJYnVmZmVyWzEwMjRdOworKworK3U4CWJ1ZlsxMDI0XTsKKyt1OAkqYnVmZmVyID0gYnVmOworIAorIG1haW4oKQorIHsKK0BAIC03NSw2ICs3NywxNyBAQCBtYWluKCkKKyAKKyAJaWYgKHZlcmJvc2UpIHByaW50ZigiaGVhZGVyLmxlbmd0aCAlZFxuIiwgbWFkdF9oZWFkZXItPmhlYWRlci5sZW5ndGgpOworIAorKwkvKiBpZiAxSyBidWZmZXIgaXMgaW5zdWZmaWNpZW50IGZvciBhY3BpIHRhYmxlLCBzd2l0Y2ggdG8gYSBsYXJnZXIgbWVtb3J5IGJ1ZmZlciAqLworKwlpZihleHBlY3RlZF9sZW5ndGggPiBzaXplb2YoYnVmKSkgeworKwkJYnVmZmVyID0gbWFsbG9jKGV4cGVjdGVkX2xlbmd0aCk7CisrCQlpZiAoIWJ1ZmZlcikgeworKwkJCXBlcnJvcigibWFsbG9jIik7CisrCQkJZXhpdCgxKTsKKysJCX0KKysJCW1lbXNldChidWZmZXIsIDAsIGV4cGVjdGVkX2xlbmd0aCk7CisrCQltZW1jcHkoYnVmZmVyLCBidWYsIHNpemVvZihzdHJ1Y3QgYWNwaV90YWJsZV9tYWR0KSk7CisrCX0KKysKKyAJYWNwaV90YWJsZV9wcmludCgodm9pZCopJihidWZmZXJbYnl0ZXNfcmVhZF0pLCAwKTsKKyAKKyAJYnl0ZXNfcmVhZCA9IHNpemVvZihzdHJ1Y3QgYWNwaV90YWJsZV9tYWR0KTsKK0BAIC0xMTgsNiArMTMxLDkgQEAgZG9uZToKKyAJCXByaW50ZigiQ2hlY2tzdW0gMHgleCAhPSAwOyAweCV4IGluIGhlYWRlciBFUlJPUlxuIiwgY3N1bSwKKyAJCQkgbWFkdF9oZWFkZXItPmhlYWRlci5jaGVja3N1bSk7CisgCisrCWlmKGJ1ZmZlciAhPSBidWYpCisrCQlmcmVlKGJ1ZmZlcik7CisrCisgCXJldHVybiAwOworIH0KKyAKKy0tIAorMS44LjEuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wbXRvb2xzL3BtdG9vbHNfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcG10b29scy9wbXRvb2xzX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMmVkOGUyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcG10b29scy9wbXRvb2xzX2dpdC5iYgpAQCAtMCwwICsxLDI5IEBACitERVNDUklQVElPTiA9ICJUaGlzIGlzIGEgc21hbGwgY29sbGVjdGlvbiBvZiBwb3dlciBtYW5hZ2VtZW50IFwKKyAgICAgICAgICAgICAgIHRlc3QgYW5kIGludmVzdGlnYXRpb24gdG9vbHMiCitIT01FUEFHRSA9ICJodHRwOi8vbGVzc3dhdHRzLm9yZy9wcm9qZWN0cy9hY3BpIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyIKKworUFYgPSAiMjAxMzAyMDkrZ2l0JHtTUkNQVn0iCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9hbnljL3BtdG9vbHMuZ2l0IFwKKyAgICBmaWxlOi8vcG10b29scy1zd2l0Y2gtdG8tZHluYW1pYy1idWZmZXItZm9yLWh1Z2UtQUNQSS10YWJsZS5wYXRjaCBcCisiCitTUkNSRVYgPSAiM2ViZTBlNTRjNTQwNjFiNGM2MjcyMzZjYmUzNWQ4MjBkZTJlMTE2OCIKKworQ09NUEFUSUJMRV9IT1NUID0gIihpLjg2fHg4Nl82NCkuKi1saW51eCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworZG9fY29uZmlndXJlW25vZXhlY10gPSAiMSIKK2RvX2NvbXBpbGUoKSB7CisJb2VfcnVubWFrZQorfQorCitkb19pbnN0YWxsKCkgeworCWluc3RhbGwgLWQgJHtEfSR7YmluZGlyfSAke0R9JHtkb2NkaXJ9CisJaW5zdGFsbCAtbSA3NTUgJHtTfS9hY3BpZHVtcC9hY3BpZHVtcCAke0R9JHtiaW5kaXJ9CisJaW5zdGFsbCAtbSA3NTUgJHtTfS9hY3BpeHRyYWN0L2FjcGl4dHJhY3QgJHtEfSR7YmluZGlyfQorCWluc3RhbGwgLW0gNzU1ICR7U30vbWFkdC9tYWR0ICR7RH0ke2JpbmRpcn0KKwlpbnN0YWxsIC1tIDY0NCAke1N9L1JFQURNRSAke0R9JHtkb2NkaXJ9Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wcm90b2J1Zi9wcm90b2J1Zl8yLjYuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3Byb3RvYnVmL3Byb3RvYnVmXzIuNi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0OWY5ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wcm90b2J1Zi9wcm90b2J1Zl8yLjYuMS5iYgpAQCAtMCwwICsxLDI1IEBACitTVU1NQVJZID0gIlByb3RvY29sIEJ1ZmZlcnMgLSBzdHJ1Y3R1cmVkIGRhdGEgc2VyaWFsaXNhdGlvbiBtZWNoYW5pc20iCitERVNDUklQVElPTiA9ICJQcm90b2NvbCBCdWZmZXJzIGFyZSBhIHdheSBvZiBlbmNvZGluZyBzdHJ1Y3R1cmVkIGRhdGEgaW4gYW4gXAorZWZmaWNpZW50IHlldCBleHRlbnNpYmxlIGZvcm1hdC4gR29vZ2xlIHVzZXMgUHJvdG9jb2wgQnVmZmVycyBmb3IgYWxtb3N0IFwKK2FsbCBvZiBpdHMgaW50ZXJuYWwgUlBDIHByb3RvY29scyBhbmQgZmlsZSBmb3JtYXRzLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvcHJvdG9idWYiCitTRUNUSU9OID0gImNvbnNvbGUvdG9vbHMiCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKKworREVQRU5EUyA9ICJ6bGliIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1hZjY4MDk1ODNiZmRlOWEzMTU5NWE1OGJiNGEyNDUxNCIKKworU1JDUkVWID0gImJiYTgzNjUyZTFiZTYxMGJkYjdlZTE1NjZhZDE4MzQ2ZDk4Yjg0M2MiCisKK1BWID0gIjIuNi4xK2dpdCR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vZ29vZ2xlL3Byb3RvYnVmLmdpdCIKKworRVhUUkFfT0VDT05GICs9ICIgLS13aXRoLXByb3RvYz1lY2hvIgorCitpbmhlcml0IGF1dG90b29scworCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZ1dHVyZXNfMy4wLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZ1dHVyZXNfMy4wLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2ViMTg4MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZnV0dXJlc18zLjAuNS5iYgpAQCAtMCwwICsxLDE0IEBACitERVNDUklQVElPTiA9ICJUaGUgY29uY3VycmVudC5mdXR1cmVzIG1vZHVsZSBwcm92aWRlcyBhIGhpZ2gtbGV2ZWwgaW50ZXJmYWNlIGZvciBhc3luY2hyb25vdXNseSBleGVjdXRpbmcgY2FsbGFibGVzLiIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9QS0ctSU5GTzttZDU9M2Q3OGM1YmIxNWFjNjQxZDM0ZjJkZGMzYmQ3ZjUxZmEiCitIT01FUEFHRSA9ICJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvcHl0aG9uZnV0dXJlcyIKK0RFUEVORFMgPSAicHl0aG9uIgorCitTUkNfVVJJID0gImh0dHBzOi8vcHlwaS5weXRob24ub3JnL3BhY2thZ2VzL3NvdXJjZS9mL2Z1dHVyZXMvZnV0dXJlcy0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiY2VkMmMzNjVlNTE4MjQyNTEyZDdhMzk4YjUxNWZmOTUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDU0MjUyNTE0NWQ1YWZjOTg0Yzg4ZjkxNGEwYzg1Yzc3NTI3ZjY1OTQ2NjE3ZWRiNTI3NGY3MjQwNmY5ODFkZiIKKworUyA9ICIke1dPUktESVJ9L2Z1dHVyZXMtJHtQVn0iCisKK2luaGVyaXQgc2V0dXB0b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zaW1wbGVqc29uXzMuOC4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zaW1wbGVqc29uXzMuOC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyYTZjNDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNpbXBsZWpzb25fMy44LjIuYmIKQEAgLTAsMCArMSwyNyBAQAorU1VNTUFSWSA9ICJTaW1wbGUsIGZhc3QsIGV4dGVuc2libGUgSlNPTiBlbmNvZGVyL2RlY29kZXIgZm9yIFB5dGhvbiIKK0hPTUVQQUdFID0gImh0dHA6Ly9jaGVlc2VzaG9wLnB5dGhvbi5vcmcvcHlwaS9zaW1wbGVqc29uIgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCisKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PWM2MzM4ZDdhYmQzMjFjMGI1MGEyYTU0N2U0NDFjNTJlIgorUFIgPSAicjEiCisKK1NSQ05BTUUgPSAic2ltcGxlanNvbiIKKworU1JDX1VSSSA9ICJodHRwOi8vY2hlZXNlc2hvcC5weXRob24ub3JnL3BhY2thZ2VzL3NvdXJjZS9zL3NpbXBsZWpzb24vJHtTUkNOQU1FfS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiNTNiMTM3MWJiZjg4M2IxMjlhMTJkNTk0YTk3ZTlhMTgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDU4NDM5YzU0ODQzM2FkY2RhOThlNjk1YmU1M2U1MjZiYTk0MGE0YjljNDRmYjlhMDVkOTJjZDQ5NWNkZDQ3ZiIKKworUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0tJHtQVn0iCisKK2luaGVyaXQgZGlzdHV0aWxzCisKK1JERVBFTkRTXyR7UE59ID0gIlwKKyAgICBweXRob24tY29yZSBcCisgICAgcHl0aG9uLXJlIFwKKyAgICBweXRob24taW8gXAorICAgIHB5dGhvbi1uZXRzZXJ2ZXIgXAorICAgIHB5dGhvbi1udW1iZXJzIFwKKyIKKworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9zZXJpYWxjaGVjay9zZXJpYWxjaGVjay8wMDAxLUFkZC1vcHRpb24tdG8tZW5hYmxlLWludGVybmFsLWxvb3BiYWNrLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvc2VyaWFsY2hlY2svc2VyaWFsY2hlY2svMDAwMS1BZGQtb3B0aW9uLXRvLWVuYWJsZS1pbnRlcm5hbC1sb29wYmFjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjkyNTRhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvc2VyaWFsY2hlY2svc2VyaWFsY2hlY2svMDAwMS1BZGQtb3B0aW9uLXRvLWVuYWJsZS1pbnRlcm5hbC1sb29wYmFjay5wYXRjaApAQCAtMCwwICsxLDgxIEBACitGcm9tIDA1OWQ1NTEyZTg0MGZlNjhlMmJiMzdhZGQ2YzkyMDhmYTljMzRkMTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBTZWtoYXIgTm9yaSA8bnNla2hhckB0aS5jb20+CitEYXRlOiBUdWUsIDI0IEZlYiAyMDE1IDIyOjE2OjM3ICswNTMwCitTdWJqZWN0OiBbUEFUQ0ggMS8yXSBBZGQgb3B0aW9uIHRvIGVuYWJsZSBpbnRlcm5hbCBsb29wYmFjaworCitVcHN0cmVhbS1zdGF0dXM6IFBlbmRpbmcKKy0tLQorIHNlcmlhbGNoZWNrLmMgfCAyMyArKysrKysrKysrKysrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zZXJpYWxjaGVjay5jIGIvc2VyaWFsY2hlY2suYworaW5kZXggNGY1Yjc0Ny4uNDEwMGMzNyAxMDA2NDQKKy0tLSBhL3NlcmlhbGNoZWNrLmMKKysrKyBiL3NlcmlhbGNoZWNrLmMKK0BAIC0xMiw2ICsxMiw4IEBACisgI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorICNpbmNsdWRlIDxsaW51eC9zZXJpYWwuaD4KKworKyNkZWZpbmUgVElPQ01fTE9PUAkweDgwMDAKKysKKyAjZGVmaW5lIF9fc2FtZV90eXBlKGEsIGIpCV9fYnVpbHRpbl90eXBlc19jb21wYXRpYmxlX3AodHlwZW9mKGEpLCB0eXBlb2YoYikpCisgI2RlZmluZSBCVUlMRF9CVUdfT05fWkVSTyhlKQkoc2l6ZW9mKHN0cnVjdCB7IGludDotISEoZSk7IH0pKQorICNkZWZpbmUgX19tdXN0X2JlX2FycmF5KGEpCUJVSUxEX0JVR19PTl9aRVJPKF9fc2FtZV90eXBlKChhKSwgJihhKVswXSkpCitAQCAtNDAsNiArNDIsNyBAQCBzdHJ1Y3QgZ19vcHQgeworCXVuc2lnbmVkIGNoYXIgaGZsb3c7CisJdW5zaWduZWQgY2hhciBkb190ZXJtaW9zOworCXVuc2lnbmVkIGNoYXIgKmNtcF9idWZmOworKwl1bnNpZ25lZCBjaGFyIGxvb3BiYWNrOworIH07CisKKyAvKiBuYW1lLCBrZXksIGFyZywgZmxhZ3MsIGRvYywgZ3JvdXAgKi8KK0BAIC01MSw2ICs1NCw3IEBAIHN0YXRpYyBzdHJ1Y3QgYXJncF9vcHRpb24gb3B0aW9uc1tdID0geworCXsibW9kZSIsCSdtJywgIk0iLCAgICAwLCAidHJhbnNmZXIgbW9kZSAoZCA9IGR1cGxleCwgdCA9IHNlbmQgciA9IHJlY2VpdmUpIiwgMH0sCisJeyJsb29wcyIsCSdsJywgIk5VTSIsICAwLCAibG9vcHMgdG8gcGVyZm9ybSAoMCA9PiB3YWl0IGZvdCBDVFJMLUMiLCAwfSwKKwl7Im5vLXRlcm1pb3MiLAknbicsIE5VTEwsICAgMCwgIk5vIHRlcm1pb3MgY2hhbmdlIChiYXVkIHJhdGUgZXRjLiByZW1haW5zIHVuY2hhbmdlZCkiLCAwfSwKKysJeyJsb29wYmFjayIsCSdrJywgTlVMTCwgICAwLCAibG9vcGJhY2sgbW9kZSIsIDB9LAorCXtOVUxMLCAwLCBOVUxMLCAwLCBOVUxMLCAwfQorIH07CisKK0BAIC02Nyw2ICs3MSw3IEBAIHN0YXRpYyBlcnJvcl90IHBhcnNlX29wdChpbnQga2V5LCBjaGFyICphcmcsIHN0cnVjdCBhcmdwX3N0YXRlICpzdGF0ZSkKKwkJZ28tPmJhdWRyYXRlID0gMTE1MjAwOworCQlnby0+bG9vcHMgPSBVSU5UX01BWDsKKwkJZ28tPmRvX3Rlcm1pb3MgPSAxOworKwkJZ28tPmxvb3BiYWNrID0gMDsKKwkJYnJlYWs7CisJY2FzZSBBUkdQX0tFWV9BUkc6CisJCXJldCA9ICBBUkdQX0VSUl9VTktOT1dOOworQEAgLTExMyw2ICsxMTgsOSBAQCBzdGF0aWMgZXJyb3JfdCBwYXJzZV9vcHQoaW50IGtleSwgY2hhciAqYXJnLCBzdHJ1Y3QgYXJncF9zdGF0ZSAqc3RhdGUpCisJCX0gZWxzZQorCQkJZ28tPmxvb3BzID0gbnVtOworCQlicmVhazsKKysJY2FzZSAnayc6CisrCQlnby0+bG9vcGJhY2sgPSAxOworKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0ID0gQVJHUF9FUlJfVU5LTk9XTjsKKwl9CitAQCAtNDg3LDYgKzQ5NSwyMSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorCQkJZGllKCJ0Y2ZsdXNoIGZhaWxlZDogJW1cbiIpOworCX0KKworKwlpZiAob3B0cy5sb29wYmFjaykgeworKwkJdW5zaWduZWQgaW50IG1jcjsKKysKKysJCXJldCA9IGlvY3RsKGZkLCBUSU9DTUdFVCwgJm1jcik7CisrCQlpZiAocmV0IDwgMCkKKysJCQlkaWUoIm1jciBnZXQgZmFpbGVkOiAlbVxuIik7CisrCisrCQltY3IgfD0gVElPQ01fTE9PUDsKKysKKysJCXJldCA9IGlvY3RsKGZkLCBUSU9DTVNFVCwgJm1jcik7CisrCQlpZiAocmV0IDwgMCkKKysJCQlkaWUgKCJtY3Igc2V0IGZhaWxlZDogJW1cbiIpOworKworKwl9CisrCisJcmV0ID0gZmNudGwoZmQsIEZfU0VURkwsIDApOworCWlmIChyZXQpCisJCXByaW50ZigiRmFpbGVkIHRvIHJlbW92ZSBub25ibG9jayBtb2RlXG4iKTsKKy0tCisxLjkuMQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvc2VyaWFsY2hlY2svc2VyaWFsY2hlY2svMDAwMS1NYWtlZmlsZS1DaGFuZ2Utb3JkZXItb2YtbGluay1mbGFncy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3NlcmlhbGNoZWNrL3NlcmlhbGNoZWNrLzAwMDEtTWFrZWZpbGUtQ2hhbmdlLW9yZGVyLW9mLWxpbmstZmxhZ3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmFiNDgzNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3NlcmlhbGNoZWNrL3NlcmlhbGNoZWNrLzAwMDEtTWFrZWZpbGUtQ2hhbmdlLW9yZGVyLW9mLWxpbmstZmxhZ3MucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorRnJvbSBlZmM4YTRlNzE3YmE5MTljODY5YzJkYTFjN2RlMmQwOGJjOTc2OTI2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMjQgRmViIDIwMTYgMTg6NDg6MDcgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gTWFrZWZpbGU6IENoYW5nZSBvcmRlciBvZiBsaW5rIGZsYWdzCisKK1RoaXMgaGVscHMgaW4gaW5qZWN0Y3RpbmcgTERGTEFHUyBmcm9tIGVudiB0byB0YWtlIGVmZmVjdAorYXMgaXQgYXBwZWFycyBsYXN0IG9uIGNtZGxpbmUgbm93CisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCisgTWFrZWZpbGUgfCAxMCArKysrKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IGJhMmJmYmIuLjZkMTNlNjggMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0xLDMgKzEsOSBAQAorLUNGTEFHUz0tTzIgLVdhbGwgLVdleHRyYSAtZyAtV25vLXNpZ24tY29tcGFyZSAtV25vLXBvaW50ZXItc2lnbgorLUNDPWdjYworK0NGTEFHUz89LU8yIC1XYWxsIC1XZXh0cmEgLWcgLVduby1zaWduLWNvbXBhcmUgLVduby1wb2ludGVyLXNpZ24KKytDQz89Z2NjCisgYWxsOiBzZXJpYWxjaGVjaworK3NlcmlhbGNoZWNrIDogc2VyaWFsY2hlY2subworKwkkKENDKSAtbyBzZXJpYWxjaGVjayBzZXJpYWxjaGVjay5vICQoQ0ZMQUdTKSAkKExERkxBR1MpCisrCisrJS5vIDogJS5jCisrCSQoQ0MpIC1jICQoQ0ZMQUdTKSAkKENQUEZMQUdTKSAkPCAtbyAkQAorKworLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9zZXJpYWxjaGVjay9zZXJpYWxjaGVjay8wMDAyLVJlc3RvcmUtb3JpZ2luYWwtbG9vcGJhY2stY29uZmlnLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvc2VyaWFsY2hlY2svc2VyaWFsY2hlY2svMDAwMi1SZXN0b3JlLW9yaWdpbmFsLWxvb3BiYWNrLWNvbmZpZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjhjOTViCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvc2VyaWFsY2hlY2svc2VyaWFsY2hlY2svMDAwMi1SZXN0b3JlLW9yaWdpbmFsLWxvb3BiYWNrLWNvbmZpZy5wYXRjaApAQCAtMCwwICsxLDQ5IEBACitGcm9tIGE2ZTU4MTNkMmY4NDAyYmYzYTMxMWM4YmNkYTAyNjIzYmZiNzY4ODIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDYXJsb3MgSGVybmFuZGV6IDxjZWhAdGkuY29tPgorRGF0ZTogVHVlLCAyNCBGZWIgMjAxNSAxNjowMDozNCAtMDUwMAorU3ViamVjdDogW1BBVENIIDIvMl0gUmVzdG9yZSBvcmlnaW5hbCBsb29wYmFjayBjb25maWcKKworSWYgbG9vcGJhY2sgb3B0aW9uIGlzIGVuYWJsZWQsIGRpc2FibGUgaXQgYXQgdGhlIGVuZCBvZiB0aGUgdGVzdC4KKworU2lnbmVkLW9mZi1ieTogQ2FybG9zIEhlcm5hbmRleiA8Y2VoQHRpLmNvbT4KK1Vwc3RyZWFtLXN0YXR1czogUGVuZGluZworLS0tCisgc2VyaWFsY2hlY2suYyB8IDkgKysrKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NlcmlhbGNoZWNrLmMgYi9zZXJpYWxjaGVjay5jCitpbmRleCA0MTAwYzM3Li4wNjQ3MGY3IDEwMDY0NAorLS0tIGEvc2VyaWFsY2hlY2suYworKysrIGIvc2VyaWFsY2hlY2suYworQEAgLTQyNyw2ICs0MjcsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorCXVuc2lnbmVkIGNoYXIgKmRhdGE7CisJdW5zaWduZWQgaW50IG9wZW5fbW9kZTsKKwlvZmZfdCBkYXRhX2xlbjsKKysJdW5zaWduZWQgaW50IG1jcjsKKworCWFyZ3BfcGFyc2UoJmFyZ3AsIGFyZ2MsIGFyZ3YsIDAsIE5VTEwsICZvcHRzKTsKKwlpZiAoIW9wdHMuZmlsZV90cmFucykKK0BAIC00OTYsOCArNDk3LDYgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKwl9CisKKwlpZiAob3B0cy5sb29wYmFjaykgeworLQkJdW5zaWduZWQgaW50IG1jcjsKKy0KKwkJcmV0ID0gaW9jdGwoZmQsIFRJT0NNR0VULCAmbWNyKTsKKwkJaWYgKHJldCA8IDApCisJCQlkaWUoIm1jciBnZXQgZmFpbGVkOiAlbVxuIik7CitAQCAtNTM1LDYgKzUzNCwxMiBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorCXJldCA9IHRjc2V0YXR0cihmZCwgVENTQUZMVVNILCAmb2xkX3Rlcm0pOworCWlmIChyZXQpCisJCXByaW50ZigidGNzZXRhdHRyKCkgb2Ygb2xkIG9uZXMgZmFpbGVkOiAlbVxuIik7CisrCWlmIChvcHRzLmxvb3BiYWNrKSB7CisrCQltY3IgJj0gfihUSU9DTV9MT09QKTsKKysJCXJldCA9IGlvY3RsKGZkLCBUSU9DTVNFVCwgJm1jcik7CisrCX0KKysJaWYgKHJldCkKKysJCXByaW50ZigiZGlzYWJsaW5nIGxvb3BiYWNrIGZhaWxlZDogJW1cbiIpOworCisJY2xvc2UoZmQpOworCXJldHVybiBzdGF0dXM7CistLQorMS45LjEKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3NlcmlhbGNoZWNrL3NlcmlhbGNoZWNrXzEuMC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvc2VyaWFsY2hlY2svc2VyaWFsY2hlY2tfMS4wLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2Q1ZTBhNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3NlcmlhbGNoZWNrL3NlcmlhbGNoZWNrXzEuMC4wLmJiCkBAIC0wLDAgKzEsMzAgQEAKK1NVTU1BUlkgPSAiQXBwbGljYXRpb24gdG8gdmVyaWZ5IG9wZXJhdGlvbiBvZiBzZXJpYWwgcG9ydHMiCitIT01FUEFHRSA9ICJodHRwOi8vZ2l0LmJyZWFrcG9pbnQuY2MvY2dpdC9iaWdlYXN5L3NlcmlhbGNoZWNrLmdpdC8iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LmJyZWFrcG9pbnQuY2MvYmlnZWFzeS9zZXJpYWxjaGVjay5naXQgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1BZGQtb3B0aW9uLXRvLWVuYWJsZS1pbnRlcm5hbC1sb29wYmFjay5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLVJlc3RvcmUtb3JpZ2luYWwtbG9vcGJhY2stY29uZmlnLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtTWFrZWZpbGUtQ2hhbmdlLW9yZGVyLW9mLWxpbmstZmxhZ3MucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ1JFViA9ICI2Mzg1NGEyZDBjMDEyOWVmYWIxMzJlYzMyOGE3NTI3OWUwMTNmYjg0IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitERVBFTkRTX2FwcGVuZF9saWJjLW11c2wgPSAiIGFyZ3Atc3RhbmRhbG9uZSIKK0VYVFJBX09FTUFLRSA9ICItZSBNQUtFRkxBR1M9IgorCitDRkxBR1NfcHJlcGVuZCA9ICItV2FsbCAtV2V4dHJhIC1Xbm8tc2lnbi1jb21wYXJlIC1Xbm8tcG9pbnRlci1zaWduICIKK0xERkxBR1NfYXBwZW5kX2xpYmMtbXVzbCA9ICIgLWxhcmdwIgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgJHtTfS9zZXJpYWxjaGVjayAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHtkb2NkaXJ9LyR7QlB9CisgICAgaW5zdGFsbCAke1N9L1JlYWRtZS50eHQgJHtEfSR7ZG9jZGlyfS8ke0JQfQorfQorQ0xFQU5CUk9LRU4gPSAiMSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2xhcC90Y2xhcC9NYWtlZmlsZS5hbS1kaXNhYmxlLWRvY3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2xhcC90Y2xhcC9NYWtlZmlsZS5hbS1kaXNhYmxlLWRvY3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4Y2JlZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3RjbGFwL3RjbGFwL01ha2VmaWxlLmFtLWRpc2FibGUtZG9jcy5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIGMyMDllZDBlN2ZmY2EzMmZlMzcxNGJhZDljYzU0YmRiMDBjMjg2YmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBUaW5nIExpdSA8YjI4NDk1QGZyZWVzY2FsZS5jb20+CitEYXRlOiBNb24sIDE1IEFwciAyMDEzIDE2OjI4OjM3ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIE1ha2VmaWxlLmFtOiBkaXNhYmxlIGRvY3MKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KKworZG9jcyBuZWVkIHNvbWUgZ2VuZXJhdGluZyB0b29sIChmb3IgZXhhbXBsZSwgZG94eWdlbikgZnJvbSBob3N0IHdoaWNoIG1heQorYmUgbm90IGF2YWlsYWJsZS4gRGlzYWJsZSBpdCB0byBhdm9pZCBidWlsZCBpc3N1ZS4KKworU2lnbmVkLW9mZi1ieTogVGluZyBMaXUgPGIyODQ5NUBmcmVlc2NhbGUuY29tPgorLS0tCisgTWFrZWZpbGUuYW0gfCAgICAyICstCisgMSBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZS5hbSBiL01ha2VmaWxlLmFtCitpbmRleCAwYTZlYmM5Li42YjQyZjQxIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUuYW0KKysrKyBiL01ha2VmaWxlLmFtCitAQCAtMSw3ICsxLDcgQEAKKyAKKyBBQ0xPQ0FMX0FNRkxBR1MgPSAtSSBjb25maWcKKyAKKy1TVUJESVJTID0gaW5jbHVkZSBleGFtcGxlcyBkb2NzIHRlc3RzIG1zYyBjb25maWcKKytTVUJESVJTID0gaW5jbHVkZSBleGFtcGxlcyB0ZXN0cyBtc2MgY29uZmlnCisgCisgcGtnY29uZmlnZGlyID0gJChsaWJkaXIpL3BrZ2NvbmZpZworIHBrZ2NvbmZpZ19EQVRBID0gJChQQUNLQUdFKS5wYworLS0gCisxLjcuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2xhcC90Y2xhcF8xLjIuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3RjbGFwL3RjbGFwXzEuMi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiMTVhN2UKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2xhcC90Y2xhcF8xLjIuMS5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIlRlbXBsYXRpemVkIEMrKyBDb21tYW5kIExpbmUgUGFyc2VyIgorSE9NRVBBR0UgPSAiaHR0cDovL3RjbGFwLnNvdXJjZWZvcmdlLm5ldC8iIAorTElDRU5TRSA9ICJNSVQiIAorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YzhhYjBmZjEzNGJjYzU4NGQwZTZiNWI5Zjg3MzI0NTMiCisKK1NSQ1JFViA9ICIzNjI3ZDk0MDJlNTI5NzcwZGY5YjBlZGYyYWE4YzBlMGQ2YzZiYjQxIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXQuY29kZS5zZi5uZXQvcC90Y2xhcC9jb2RlIFwKKyAgICBmaWxlOi8vTWFrZWZpbGUuYW0tZGlzYWJsZS1kb2NzLnBhdGNoIFwKKyIgCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCitpbmhlcml0IGF1dG90b29scworCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90ay9jb25maWd1cmUudXNlLmZvbnRjb25maWcud2l0aC54ZnQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90ay9jb25maWd1cmUudXNlLmZvbnRjb25maWcud2l0aC54ZnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTBjMTU3ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RrL2NvbmZpZ3VyZS51c2UuZm9udGNvbmZpZy53aXRoLnhmdC5wYXRjaApAQCAtMCwwICsxLDEzIEBACistLS0gYS9jb25maWd1cmUuaW4ub3JpZwkyMDE0LTA1LTEwIDE0OjM1OjM5Ljg1OTE0NzM4NSArMDAwMAorKysrIGIvY29uZmlndXJlLmluCTIwMTQtMDUtMTAgMTQ6MzY6MjAuMjgyOTI1MTg0ICswMDAwCitAQCAtNTU0LDggKzU1NCw4IEBACisgCWRubCBtYWtlIHN1cmUgcGFja2FnZSBjb25maWd1cmF0b3IgKHhmdC1jb25maWcgb3IgcGtnLWNvbmZpZworIAlkbmwgc2F5cyB0aGF0IHhmdCBpcyBwcmVzZW50LgorIAkgICAgZm91bmRfeGZ0PXllcworLQkgICAgWEZUX0NGTEFHUz1gcGtnLWNvbmZpZyAtLWNmbGFncyB4ZnQgMj4vZGV2L251bGxgIHx8IGZvdW5kX3hmdD0ibm8iCistCSAgICBYRlRfTElCUz1gcGtnLWNvbmZpZyAtLWxpYnMgeGZ0IDI+L2Rldi9udWxsYCB8fCBmb3VuZF94ZnQ9Im5vIgorKwkgICAgWEZUX0NGTEFHUz1gcGtnLWNvbmZpZyAtLWNmbGFncyB4ZnQgZm9udGNvbmZpZyAyPi9kZXYvbnVsbGAgfHwgZm91bmRfeGZ0PSJubyIKKysJICAgIFhGVF9MSUJTPWBwa2ctY29uZmlnIC0tbGlicyB4ZnQgZm9udGNvbmZpZyAyPi9kZXYvbnVsbGAgfHwgZm91bmRfeGZ0PSJubyIKKyAJQUNfTVNHX1JFU1VMVChbJGZvdW5kX3hmdF0pCisgCWRubCBtYWtlIHN1cmUgdGhhdCBjb21waWxpbmcgYWdhaW5zdCBYZnQgaGVhZGVyIGZpbGUgZG9lc24ndCBib21iCisgCWlmIHRlc3QgIiRmb3VuZF94ZnQiID0gInllcyIgOyB0aGVuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90ay9jb25mc2VhcmNoLmRpZmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90ay9jb25mc2VhcmNoLmRpZmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzUxZTQ3NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RrL2NvbmZzZWFyY2guZGlmZgpAQCAtMCwwICsxLDMyIEBACitQYXRjaCBieSBTZXJnZWkgR29sb3ZhbiBhbGxvd3MgdG8gZmluZCB0Y2xDb25maWcuc2ggaW4gL3Vzci9zaGFyZS90Y2x0ay90Y2w4LjUKK2FuZCB0a0NvbmZpZy5zaCBpbiAvdXNyL3NoYXJlL3RjbHRrL3RrOC41IHdoZXJlIHRoZXkgYXJlIGxvY2F0ZWQgaW4gRGViaWFuCitpbnN0YWxsYXRpb24uCisKKy0tLSB0azguNS04LjUuOC5vcmlnL3VuaXgvY29uZmlndXJlCisrKysgdGs4LjUtOC41LjgvdW5peC9jb25maWd1cmUKK0BAIC0xNDMxLDYgKzE0MzEsNyBAQAorIAkJCWBscyAtZCAke3ByZWZpeH0vbGliIDI+L2Rldi9udWxsYCBcCisgCQkJYGxzIC1kIC91c3IvbG9jYWwvbGliIDI+L2Rldi9udWxsYCBcCisgCQkJYGxzIC1kIC91c3IvY29udHJpYi9saWIgMj4vZGV2L251bGxgIFwKKysJCQlgbHMgLWQgL3Vzci9zaGFyZS90Y2x0ay90Y2w4LjUgMj4vZGV2L251bGxgIFwKKyAJCQlgbHMgLWQgL3Vzci9saWIgMj4vZGV2L251bGxgIFwKKyAJCQk7IGRvCisgCQkgICAgaWYgdGVzdCAtZiAiJGkvdGNsQ29uZmlnLnNoIiA7IHRoZW4KKy0tLSB0azguNS04LjUuOC5vcmlnL3VuaXgvdGNsLm00CisrKysgdGs4LjUtOC41LjgvdW5peC90Y2wubTQKK0BAIC05Myw2ICs5Myw3IEBACisgCQkJYGxzIC1kICR7cHJlZml4fS9saWIgMj4vZGV2L251bGxgIFwKKyAJCQlgbHMgLWQgL3Vzci9sb2NhbC9saWIgMj4vZGV2L251bGxgIFwKKyAJCQlgbHMgLWQgL3Vzci9jb250cmliL2xpYiAyPi9kZXYvbnVsbGAgXAorKwkJCWBscyAtZCAvdXNyL3NoYXJlL3RjbHRrL3RjbDguNSAyPi9kZXYvbnVsbGAgXAorIAkJCWBscyAtZCAvdXNyL2xpYiAyPi9kZXYvbnVsbGAgXAorIAkJCTsgZG8KKyAJCSAgICBpZiB0ZXN0IC1mICIkaS90Y2xDb25maWcuc2giIDsgdGhlbgorQEAgLTIyMyw2ICsyMjQsNyBAQAorIAkJCWBscyAtZCAke3ByZWZpeH0vbGliIDI+L2Rldi9udWxsYCBcCisgCQkJYGxzIC1kIC91c3IvbG9jYWwvbGliIDI+L2Rldi9udWxsYCBcCisgCQkJYGxzIC1kIC91c3IvY29udHJpYi9saWIgMj4vZGV2L251bGxgIFwKKysJCQlgbHMgLWQgL3Vzci9zaGFyZS90Y2x0ay90azguNSAyPi9kZXYvbnVsbGAgXAorIAkJCWBscyAtZCAvdXNyL2xpYiAyPi9kZXYvbnVsbGAgXAorIAkJCTsgZG8KKyAJCSAgICBpZiB0ZXN0IC1mICIkaS90a0NvbmZpZy5zaCIgOyB0aGVuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90ay9maXgteGZ0LmRpZmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90ay9maXgteGZ0LmRpZmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDFiYjcxMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RrL2ZpeC14ZnQuZGlmZgpAQCAtMCwwICsxLDE2IEBACistLS0gL3RtcC9jb25maWd1cmUuaW4JMjAxMC0wNS0xOSAxMzoyOTowMy4wMDAwMDAwMDAgKzAyMDAKKysrKyB1bml4L2NvbmZpZ3VyZS5pbgkyMDEwLTA1LTE5IDEzOjQyOjA1LjAwMDAwMDAwMCArMDIwMAorQEAgLTUyNiwxMyArNTI2LDkgQEAKKyAJZm91bmRfeGZ0PSJ5ZXMiCisgCWRubCBtYWtlIHN1cmUgcGFja2FnZSBjb25maWd1cmF0b3IgKHhmdC1jb25maWcgb3IgcGtnLWNvbmZpZworIAlkbmwgc2F5cyB0aGF0IHhmdCBpcyBwcmVzZW50LgorLQlYRlRfQ0ZMQUdTPWB4ZnQtY29uZmlnIC0tY2ZsYWdzIDI+L2Rldi9udWxsYCB8fCBmb3VuZF94ZnQ9Im5vIgorLQlYRlRfTElCUz1geGZ0LWNvbmZpZyAtLWxpYnMgMj4vZGV2L251bGxgIHx8IGZvdW5kX3hmdD0ibm8iCistCWlmIHRlc3QgIiRmb3VuZF94ZnQiID0gIm5vIiA7IHRoZW4KKyAJICAgIGZvdW5kX3hmdD15ZXMKKyAJICAgIFhGVF9DRkxBR1M9YHBrZy1jb25maWcgLS1jZmxhZ3MgeGZ0IDI+L2Rldi9udWxsYCB8fCBmb3VuZF94ZnQ9Im5vIgorIAkgICAgWEZUX0xJQlM9YHBrZy1jb25maWcgLS1saWJzIHhmdCAyPi9kZXYvbnVsbGAgfHwgZm91bmRfeGZ0PSJubyIKKy0JZmkKKyAJQUNfTVNHX1JFU1VMVChbJGZvdW5kX3hmdF0pCisgCWRubCBtYWtlIHN1cmUgdGhhdCBjb21waWxpbmcgYWdhaW5zdCBYZnQgaGVhZGVyIGZpbGUgZG9lc24ndCBib21iCisgCWlmIHRlc3QgIiRmb3VuZF94ZnQiID0gInllcyIgOyB0aGVuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90ay9ub24tbGludXguZGlmZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RrL25vbi1saW51eC5kaWZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkMzFmOWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90ay9ub24tbGludXguZGlmZgpAQCAtMCwwICsxLDI3IEBACitQYXRjaCBieSBTZXJnZWkgR29sb3ZhbiAob3JpZ2luYWxseSBieSBNaWtlIE1hcmtsZXkgYW5kIENocmlzIFdhdGVycykgZml4ZXMKK2J1aWxkaW5nIG9uIG5vbi1saW51eCBEZWJpYW4gYXJjaGl0ZWN0dXJlcy4KKworLS0tIHRrOC41LTguNS44Lm9yaWcvdW5peC9jb25maWd1cmUKKysrKyB0azguNS04LjUuOC91bml4L2NvbmZpZ3VyZQorQEAgLTQ0NDcsNiArNDQ0Nyw5IEBACisgCQlpZiB0ZXN0ICJgdW5hbWUgLXNgIiA9ICJBSVgiIDsgdGhlbgorIAkJICAgIHRjbF9jdl9zeXNfdmVyc2lvbj1BSVgtYHVuYW1lIC12YC5gdW5hbWUgLXJgCisgCQlmaQorKwkJaWYgdGVzdCAiYHVuYW1lIC1zYCIgPSAiTmV0QlNEIiAtYSAtZiAvZXRjL2RlYmlhbl92ZXJzaW9uIDsgdGhlbgorKwkJICAgIHRjbF9jdl9zeXNfdmVyc2lvbj1OZXRCU0QtRGViaWFuCisrCQlmaQorIAkgICAgZmkKKyAJZmkKKworLS0tIHRrOC41LTguNS44Lm9yaWcvdW5peC90Y2wubTQKKysrKyB0azguNS04LjUuOC91bml4L3RjbC5tNAorQEAgLTk2Miw2ICs5NjIsOSBAQAorIAkJaWYgdGVzdCAiYHVuYW1lIC1zYCIgPSAiQUlYIiA7IHRoZW4KKyAJCSAgICB0Y2xfY3Zfc3lzX3ZlcnNpb249QUlYLWB1bmFtZSAtdmAuYHVuYW1lIC1yYAorIAkJZmkKKysJCWlmIHRlc3QgImB1bmFtZSAtc2AiID0gIk5ldEJTRCIgLWEgLWYgL2V0Yy9kZWJpYW5fdmVyc2lvbiA7IHRoZW4KKysJCSAgICB0Y2xfY3Zfc3lzX3ZlcnNpb249TmV0QlNELURlYmlhbgorKwkJZmkKKyAJICAgIGZpCisgCWZpCisgICAgIF0pCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90ay90a2xpYnJhcnkuZGlmZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RrL3RrbGlicmFyeS5kaWZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlMzhjMmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90ay90a2xpYnJhcnkuZGlmZgpAQCAtMCwwICsxLDIyIEBACistLS0gdGs4LjUtOC41Ljgub3JpZy91bml4L2NvbmZpZ3VyZQorKysrIHRrOC41LTguNS44L3VuaXgvY29uZmlndXJlCitAQCAtMTEwNzAsNyArMTEwNzAsNyBAQAorICAgICBUQ0xfU1RVQl9GTEFHUz0iLURVU0VfVENMX1NUVUJTIgorIGZpCisgCistVEtfTElCUkFSWT0nJChwcmVmaXgpL2xpYi90ayQoVkVSU0lPTiknCisrdGVzdCAteiAiJFRLX0xJQlJBUlkiICYmIFRLX0xJQlJBUlk9JyQocHJlZml4KS9saWIvdGskKFZFUlNJT04pJworIFBSSVZBVEVfSU5DTFVERV9ESVI9JyQoaW5jbHVkZWRpciknCisgSFRNTF9ESVI9JyQoRElTVERJUikvaHRtbCcKKyBUS19QS0dfRElSPSd0ayQoVkVSU0lPTiknCistLS0gdGs4LjUtOC41Ljgub3JpZy91bml4L2NvbmZpZ3VyZS5pbgorKysrIHRrOC41LTguNS44L3VuaXgvY29uZmlndXJlLmluCitAQCAtNjA3LDcgKzYwNyw3IEBACisgICAgIFRDTF9TVFVCX0ZMQUdTPSItRFVTRV9UQ0xfU1RVQlMiCisgZmkKKyAKKy1US19MSUJSQVJZPSckKHByZWZpeCkvbGliL3RrJChWRVJTSU9OKScKKyt0ZXN0IC16ICIkVEtfTElCUkFSWSIgJiYgVEtfTElCUkFSWT0nJChwcmVmaXgpL2xpYi90ayQoVkVSU0lPTiknCisgUFJJVkFURV9JTkNMVURFX0RJUj0nJChpbmNsdWRlZGlyKScKKyBIVE1MX0RJUj0nJChESVNURElSKS9odG1sJworIFRLX1BLR19ESVI9J3RrJChWRVJTSU9OKScKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RrL3RrcHJpdmF0ZS5kaWZmIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGsvdGtwcml2YXRlLmRpZmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGUxNTQ2OQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RrL3RrcHJpdmF0ZS5kaWZmCkBAIC0wLDAgKzEsNDEgQEAKK1BhdGNoIGJ5IENocmlzIFdhdGVycyBzZXRzIHBhdGggd2hpY2ggYXJlIG5vcm1hbGx5IHBvaW50IHRvIGEgZGlyZWN0b3J5Cit3aXRoIFRrIHNvdXJjZXMgdG8gYSBzdWJkaXJlY3Rvcnkgb2YgL3Vzci9pbmNsdWRlL3RjbDguNCAoZGViaWFuL3J1bGVzCitwdXRzIHByaXZhdGUgVGsgaGVhZGVycyB0aGVyZSkuCisKKy0tLSB0azguNS04LjUuOC5vcmlnL3VuaXgvdGtDb25maWcuc2guaW4KKysrKyB0azguNS04LjUuOC91bml4L3RrQ29uZmlnLnNoLmluCitAQCAtNTUsNyArNTUsNyBAQAorIAorICMgU3RyaW5nIHRvIHBhc3MgdG8gbGlua2VyIHRvIHBpY2sgdXAgdGhlIFRrIGxpYnJhcnkgZnJvbSBpdHMKKyAjIGJ1aWxkIGRpcmVjdG9yeS4KKy1US19CVUlMRF9MSUJfU1BFQz0nQFRLX0JVSUxEX0xJQl9TUEVDQCcKKytUS19CVUlMRF9MSUJfU1BFQz0nQFRLX0xJQl9TUEVDQCcKKyAKKyAjIFN0cmluZyB0byBwYXNzIHRvIGxpbmtlciB0byBwaWNrIHVwIHRoZSBUayBsaWJyYXJ5IGZyb20gaXRzCisgIyBpbnN0YWxsZWQgZGlyZWN0b3J5LgorQEAgLTcxLDcgKzcxLDcgQEAKKyAjIGRpZmZlcmVudCBwbGFjZSB0aGFuIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgc291cmNlIGZpbGVzLCB0aGlzCisgIyBwb2ludHMgdG8gdGhlIGxvY2F0aW9uIG9mIHRoZSBzb3VyY2VzLCBub3QgdGhlIGxvY2F0aW9uIHdoZXJlIFRrIHdhcworICMgY29tcGlsZWQuCistVEtfU1JDX0RJUj0nQFRLX1NSQ19ESVJAJworK1RLX1NSQ19ESVI9J0BpbmNsdWRlZGlyQC90ay1wcml2YXRlJworIAorICMgTmVlZGVkIGlmIHlvdSB3YW50IHRvIG1ha2UgYSAnZmF0JyBzaGFyZWQgbGlicmFyeSBsaWJyYXJ5CisgIyBjb250YWluaW5nIHRrIG9iamVjdHMgb3IgbGluayBhIGRpZmZlcmVudCB3aXNoLgorQEAgLTg2LDE0ICs4NiwxNCBAQAorIAorICMgU3RyaW5nIHRvIHBhc3MgdG8gbGlua2VyIHRvIHBpY2sgdXAgdGhlIFRrIHN0dWIgbGlicmFyeSBmcm9tIGl0cworICMgYnVpbGQgZGlyZWN0b3J5LgorLVRLX0JVSUxEX1NUVUJfTElCX1NQRUM9J0BUS19CVUlMRF9TVFVCX0xJQl9TUEVDQCcKKytUS19CVUlMRF9TVFVCX0xJQl9TUEVDPSdAVEtfU1RVQl9MSUJfU1BFQ0AnCisgCisgIyBTdHJpbmcgdG8gcGFzcyB0byBsaW5rZXIgdG8gcGljayB1cCB0aGUgVGsgc3R1YiBsaWJyYXJ5IGZyb20gaXRzCisgIyBpbnN0YWxsZWQgZGlyZWN0b3J5LgorIFRLX1NUVUJfTElCX1NQRUM9J0BUS19TVFVCX0xJQl9TUEVDQCcKKyAKKyAjIFBhdGggdG8gdGhlIFRrIHN0dWIgbGlicmFyeSBpbiB0aGUgYnVpbGQgZGlyZWN0b3J5LgorLVRLX0JVSUxEX1NUVUJfTElCX1BBVEg9J0BUS19CVUlMRF9TVFVCX0xJQl9QQVRIQCcKKytUS19CVUlMRF9TVFVCX0xJQl9QQVRIPSdAVEtfU1RVQl9MSUJfUEFUSEAnCisgCisgIyBQYXRoIHRvIHRoZSBUayBzdHViIGxpYnJhcnkgaW4gdGhlIGluc3RhbGwgZGlyZWN0b3J5LgorIFRLX1NUVUJfTElCX1BBVEg9J0BUS19TVFVCX0xJQl9QQVRIQCcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RrXzguNi40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGtfOC42LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDhlY2E1MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RrXzguNi40LmJiCkBAIC0wLDAgKzEsNzkgQEAKK1NVTU1BUlkgPSAiVG9vbCBDb21tYW5kIExhbmd1YWdlIFRvb2xLaXQgRXh0ZW5zaW9uIgorSE9NRVBBR0UgPSAiaHR0cDovL3RjbC5zb3VyY2Vmb3JnZS5uZXQiCitTRUNUSU9OID0gImRldmVsL3RjbHRrIgorCisjIGh0dHA6Ly93d3cudGNsLnRrL3NvZnR3YXJlL3RjbHRrL2xpY2Vuc2UuaHRtbAorTElDRU5TRSA9ICJ0Y2wiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8uLi9saWNlbnNlLnRlcm1zO21kNT1jODhmOTlkZWNlYzExYWZhOTY3YWQzM2QzMTRmODdmZSBcCisgICAgZmlsZTovLy4uL2NvbXBhdC9saWNlbnNlLnRlcm1zO21kNT1jODhmOTlkZWNlYzExYWZhOTY3YWQzM2QzMTRmODdmZSBcCisgICAgZmlsZTovLy4uL2RvYy9saWNlbnNlLnRlcm1zO21kNT1jODhmOTlkZWNlYzExYWZhOTY3YWQzM2QzMTRmODdmZSBcCisgICAgZmlsZTovLy4uL2xpYnJhcnkvbGljZW5zZS50ZXJtczttZDU9Yzg4Zjk5ZGVjZWMxMWFmYTk2N2FkMzNkMzE0Zjg3ZmUgXAorICAgIGZpbGU6Ly8uLi9tYWNvc3gvbGljZW5zZS50ZXJtczttZDU9Yzg4Zjk5ZGVjZWMxMWFmYTk2N2FkMzNkMzE0Zjg3ZmUgXAorICAgIGZpbGU6Ly8uLi90ZXN0cy9saWNlbnNlLnRlcm1zO21kNT1jODhmOTlkZWNlYzExYWZhOTY3YWQzM2QzMTRmODdmZSBcCisgICAgZmlsZTovLy4uL3VuaXgvbGljZW5zZS50ZXJtczttZDU9Yzg4Zjk5ZGVjZWMxMWFmYTk2N2FkMzNkMzE0Zjg3ZmUgXAorICAgIGZpbGU6Ly8uLi93aW4vbGljZW5zZS50ZXJtczttZDU9Yzg4Zjk5ZGVjZWMxMWFmYTk2N2FkMzNkMzE0Zjg3ZmUgXAorICAgIGZpbGU6Ly8uLi94bGliL2xpY2Vuc2UudGVybXM7bWQ1PWM4OGY5OWRlY2VjMTFhZmE5NjdhZDMzZDMxNGY4N2ZlIFwKKyIKKworREVQRU5EUyA9ICJ0Y2wgdmlydHVhbC9saWJ4MTEgbGlieHQiCisKK1NSQ19VUkkgPSAiXAorICAgICR7U09VUkNFRk9SR0VfTUlSUk9SfS90Y2wvJHtCUE59JHtQVn0tc3JjLnRhci5neiBcCisgICAgZmlsZTovL2NvbmZzZWFyY2guZGlmZjtzdHJpcGxldmVsPTIgXAorICAgIGZpbGU6Ly9ub24tbGludXguZGlmZjtzdHJpcGxldmVsPTIgXAorICAgIGZpbGU6Ly90a2xpYnJhcnkuZGlmZjtzdHJpcGxldmVsPTIgXAorICAgIGZpbGU6Ly90a3ByaXZhdGUuZGlmZjtzdHJpcGxldmVsPTIgXAorICAgIGZpbGU6Ly9maXgteGZ0LmRpZmYgXAorICAgIGZpbGU6Ly9jb25maWd1cmUudXNlLmZvbnRjb25maWcud2l0aC54ZnQucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjI2MTc1NGQ3ZGMyYTU4MmYwMGUzNTU0Nzc3N2UxZmVhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA4Zjk5ZGY4NWU1ZGM5YzQyNzE3NjIxNjNjNmFhYmI5NjJjOGIyOTdkYzVjNGMxYWY4YmRkMDVmYzJkZDI2YzEiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0ke1BWfS91bml4IgorCisjIFNob3J0IHZlcnNpb24gZm9ybWF0OiAiOC42IgorVkVSID0gIiR7QG9zLnBhdGguc3BsaXRleHQoZC5nZXRWYXIoJ1BWJywgVHJ1ZSkpWzBdfSIKKworTERGTEFHUyArPSAiLVdsLC1ycGF0aCwke2xpYmRpcn0vdGNsdGsvJHtQVn0vbGliIgoraW5oZXJpdCBhdXRvdG9vbHMgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisjIGRlcGVuZHMgb24gdmlydHVhbC9saWJ4MTEKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK0VYVFJBX09FQ09ORiA9ICJcCisgICAgLS1lbmFibGUtdGhyZWFkcyBcCisgICAgLS13aXRoLXggXAorICAgIC0td2l0aC10Y2w9JHtTVEFHSU5HX0JJTkRJUl9DUk9TU30gXAorICAgIC0tbGliZGlyPSR7bGliZGlyfSBcCisiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGxuIC1zZiBsaWJ0ayR7VkVSfS5zbyAke0R9JHtsaWJkaXJ9L2xpYnRrJHtWRVJ9LnNvLjAKKyAgICBvZV9saWJpbnN0YWxsIC1zbyBsaWJ0ayR7VkVSfSAke0R9JHtsaWJkaXJ9CisgICAgbG4gLXNmIHdpc2gke1ZFUn0gJHtEfSR7YmluZGlyfS93aXNoCisKKyAgICAjIEV2ZW4gYWZ0ZXIgcGFzc2luZyBsaWJkaXI9JHtsaWJkaXJ9IGF0IGNvbmZpZywgc29tZSBpbmNvcnJlY3QgZGlycyBhcmUgc3RpbGwgZ2VuZXJhdGVkIGZvciB0aGUgbXVsdGlsaWIgYnVpbGQKKyAgICBpZiBbICIkbGliZGlyIiAhPSAiL3Vzci9saWIiIF07IHRoZW4KKyAgICAgICAgIyBNb3ZlIGZpbGVzIHRvIGNvcnJlY3QgbGlicmFyeSBkaXJlY3RvcnkKKyAgICAgICAgbXYgJHtEfS91c3IvbGliL3RrJHtWRVJ9LyogJHtEfS8ke2xpYmRpcn0vdGske1ZFUn0vCisgICAgICAgICMgUmVtb3ZlIHVubmVlZGVkL2luY29ycmVjdCBkaXIgKCd1c3IvbGliLycpCisgICAgICAgIHJtIC1yZiAke0R9L3Vzci9saWIKKyAgICBmaQorfQorCitQQUNLQUdFQ09ORklHID8/PSAieGZ0IgorUEFDS0FHRUNPTkZJR1t4ZnRdID0gIi0tZW5hYmxlLXhmdCwtLWRpc2FibGUteGZ0LHhmdCIKK1BBQ0tBR0VDT05GSUdbeHNzXSA9ICItLWVuYWJsZS14c3MsLS1kaXNhYmxlLXhzcyxsaWJ4c2NybnNhdmVyIGxpYnhleHQiCisKK1BBQ0tBR0VTID0rICIke1BOfS1saWIiCisKK0ZJTEVTXyR7UE59LWxpYiA9ICIke2xpYmRpcn0vbGlidGske1ZFUn0uc28qIgorRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS90ayoiCisKKyMgaXNuJ3QgZ2V0dGluZyBwaWNrZWQgdXAgYnkgc2hsaWJzIGNvZGUKK1JERVBFTkRTXyR7UE59ICs9ICJ0ay1saWIiCitSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworIyBGaXggdGhlIHBhdGggaW4gc3N0YXRlCitTU1RBVEVfU0NBTl9GSUxFUyArPSAiKkNvbmZpZy5zaCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3V3LWltYXAvdXctaW1hcC9pbWFwLTIwMDdlLXNoYXJlZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3V3LWltYXAvdXctaW1hcC9pbWFwLTIwMDdlLXNoYXJlZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NDM0ZTgzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdXctaW1hcC91dy1pbWFwL2ltYXAtMjAwN2Utc2hhcmVkLnBhdGNoCkBAIC0wLDAgKzEsODIgQEAKK0ZpeCBsaW5raW5nIGxpYnJhcmllcyBidWlsdCB3aXRoIC1mUElDIHdpdGggdGhpcyBsaWJyYXJ5CisKK1BhdGNoIGJvcnJvd2VkIGZyb20gRmVkb3JhCisKK1NpZ25lZC1vZmYtYnk6IFBhdWwgRWdnbGV0b24gPHBhdWwuZWdnbGV0b25AbGludXguaW50ZWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworZGlmZiAtdXAgaW1hcC0yMDA3ZS9zcmMvb3NkZXAvdW5peC9NYWtlZmlsZS5zaGFyZWQgaW1hcC0yMDA3ZS9zcmMvb3NkZXAvdW5peC9NYWtlZmlsZQorLS0tIGltYXAtMjAwN2Uvc3JjL29zZGVwL3VuaXgvTWFrZWZpbGUuc2hhcmVkCTIwMDktMDctMDcgMTk6Mjg6MDIuOTA5NzU1NTEyIC0wNTAwCisrKysgaW1hcC0yMDA3ZS9zcmMvb3NkZXAvdW5peC9NYWtlZmlsZQkyMDA5LTA3LTA3IDE5OjI5OjM1Ljg3MDAwNjc5OSAtMDUwMAorQEAgLTE3MCw2ICsxNzAsMTAgQEAgQlVJTEQ9JChNQUtFKSBidWlsZCBFWFRSQUNGTEFHUz0nJChFWFRSQQorICBFWFRSQURSSVZFUlM9JyQoRVhUUkFEUklWRVJTKScgRVhUUkFBVVRIRU5USUNBVE9SUz0nJChFWFRSQUFVVEhFTlRJQ0FUT1JTKSdcCisgIFBBU1NXRFRZUEU9JChQQVNTV0RUWVBFKSBTU0xUWVBFPSQoU1NMVFlQRSkgSVA9JChJUCkKKyAKKysjIE5lZWQgdGhpcyBmb3IgdGhlIHNoYXJlZCBsaWJyYXJ5IHJ1bGUgdG8gd29yayBjb3JyZWN0bHkKKysuU1VGRklYRVM6IC5vIC5zbworK1NPRklMRVM9JHtCSU5BUklFUzoubz0uc299CisrCisgCisgIyBIZXJlIGlmIG5vIG1ha2UgYXJndW1lbnQgZXN0YWJsaXNoZWQKKyAKK0BAIC04NDUsMTggKzg0OSwyNCBAQCB2dTI6CSMgVkFYIFVsdHJpeCAyLjMsIGV0Yy4KKyAKKyAjIEJ1aWxkIGl0IQorIAorLWJ1aWxkOgljbGVhbiBvbmNlICQoQVJDSElWRSkKKytidWlsZDoJY2xlYW4gb25jZSAkKEFSQ0hJVkUpICQoU0hMSUJOQU1FKQorIAorLWFsbDoJJChBUkNISVZFKQorK2FsbDoJJChBUkNISVZFKSAkKFNITElCTkFNRSkKKyAKKyAkKEFSQ0hJVkUpOiAkKEJJTkFSSUVTKQorIAlzaCAtYyAnJChSTSkgJChBUkNISVZFKSB8fCB0cnVlJworIAlAJChDQVQpIEFSQ0hJVkUKKyAJQCQoU0gpIEFSQ0hJVkUKKyAKKy0uYy5vOgorLQlgJChDQVQpIENDVFlQRWAgLWMgYCQoQ0FUKSBDRkxBR1NgICQqLmMKKyskKFNITElCTkFNRSk6CSQoU09GSUxFUykKKysJZ2NjIC1zaGFyZWQgLVdsLC1zb25hbWUsJChTSExJQk5BTUUpIC1vICQoU0hMSUJOQU1FKSAkKFNPRklMRVMpIGBjYXQgTERGTEFHU2AKKysJbG4gLXMgJChTSExJQk5BTUUpIGxpYiQoU0hMSUJCQVNFKS5zbworIAorKy5jLnNvOglvc2RlcC5oCisrCSQoQ0MpIC1mUElDIC1EUElDIC1EX1JFRU5UUkFOVCAtYyBgJChDQVQpIENGTEFHU2AgJHtAOi5zbz0uY30gLW8gJEAKKysKKysuYy5vOgorKwkkKENDKSAtZlBJQyAtRFBJQyAtRF9SRUVOVFJBTlQgLWMgYCQoQ0FUKSBDRkxBR1NgICQqLmMKKyAKKyAjIENsZWFudXAKKyAKK0BAIC04OTUsOCArOTA1LDcgQEAgdXRmOGF1eC5vOiBtYWlsLmggbWlzYy5oIG9zZGVwLmggdXRmOC5oCisgCisgCisgIyBPUy1kZXBlbmRlbnQKKy0KKy1vc2RlcC5vOm1haWwuaCBtaXNjLmggZW52LmggZnMuaCBmdGwuaCBubC5oIHRjcC5oIFwKKytPU0RFUFM9IG1haWwuaCBtaXNjLmggZW52LmggZnMuaCBmdGwuaCBubC5oIHRjcC5oIFwKKyAJb3NkZXAuaCBlbnZfdW5peC5oIHRjcF91bml4LmggXAorIAlvc2RlcC5jIGVudl91bml4LmMgZnNfdW5peC5jIGZ0bF91bml4LmMgbmxfdW5peC5jIHRjcF91bml4LmMgaXBfdW5peC5jXAorIAlhdXRocy5jIGNyZXhjbC5jIGZsb2NrY3lnLmMgZmxvY2tsbnguYyBmbG9ja3NpbS5jIGZzeW5jLmMgXAorQEAgLTkxMCwxMiArOTE5LDE5IEBAIG9zZGVwLm86bWFpbC5oIG1pc2MuaCBlbnYuaCBmcy5oIGZ0bC5oIG4KKyAJd3JpdGUuYyBzc2xzdGRpby5jIFwKKyAJc3RyZXJyb3IuYyBzdHJwYnJrLmMgc3Ryc3RyLmMgc3RydG9rLmMgc3RydG91bC5jIFwKKyAJT1NDRkxBR1MKKysKKytvc2RlcC5vOgkkKE9TREVQUykKKysJJChDQykgLWZQSUMgLURQSUMgLURfUkVFTlRSQU5UIGAkKENBVCkgQ0ZMQUdTYCBgJChDQVQpIE9TQ0ZMQUdTYCAtYyBvc2RlcC5jCisrCUBlY2hvID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIAlAZWNobyBCdWlsZGluZyBPUy1kZXBlbmRlbnQgbW9kdWxlCisgCUBlY2hvIElmIHlvdSBnZXQgTm8gc3VjaCBmaWxlIGVycm9yIG1lc3NhZ2VzIGZvciBmaWxlcyB4NTA5LmgsIHNzbC5oLAorIAlAZWNobyBwZW0uaCwgYnVmZmVyLmgsIGJpby5oLCBhbmQgY3J5cHRvLmgsIHRoYXQgbWVhbnMgdGhhdCBPcGVuU1NMCisgCUBlY2hvIGlzIG5vdCBpbnN0YWxsZWQgb24geW91ciBzeXN0ZW0uICBFaXRoZXIgaW5zdGFsbCBPcGVuU1NMIGZpcnN0CisgCUBlY2hvIG9yIGJ1aWxkIHdpdGggY29tbWFuZDogbWFrZSBgJChDQVQpIE9TVFlQRWAgU1NMVFlQRT1ub25lCistCWAkKENBVCkgQ0NUWVBFYCAtYyBgJChDQVQpIENGTEFHU2AgYCQoQ0FUKSBPU0NGTEFHU2AgLWMgb3NkZXAuYworKwlAZWNobyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKysKKytvc2RlcC5zbzoJJChPU0RFUFMpCisrCSQoQ0MpIC1mUElDIC1EUElDIC1EX1JFRU5UUkFOVCBgJChDQVQpIENGTEFHU2AgYGNhdCBPU0NGTEFHU2AgLWMgb3NkZXAuYyAtbyAkQAorIAorIG9zZGVwLmM6IG9zZGVwYmFzLmMgb3NkZXBja3AuYyBvc2RlcGxvZy5jIG9zZGVwc3NsLmMKKyAJJChDQVQpIG9zZGVwYmFzLmMgb3NkZXBja3AuYyBvc2RlcGxvZy5jIG9zZGVwc3NsLmMgPiBvc2RlcC5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy91dy1pbWFwL3V3LWltYXAvaW1hcC0yMDA3Zi1mb3JtYXQtc2VjdXJpdHkucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy91dy1pbWFwL3V3LWltYXAvaW1hcC0yMDA3Zi1mb3JtYXQtc2VjdXJpdHkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmVjMDQ3NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3V3LWltYXAvdXctaW1hcC9pbWFwLTIwMDdmLWZvcm1hdC1zZWN1cml0eS5wYXRjaApAQCAtMCwwICsxLDIwIEBACitGaXggZXJyb3IgZm91bmQgd2l0aCAiLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHkiIGZsYWcKKworUGF0Y2ggYm9ycm93ZWQgZnJvbSBGZWRvcmEKKworU2lnbmVkLW9mZi1ieTogUGF1bCBFZ2dsZXRvbiA8cGF1bC5lZ2dsZXRvbkBsaW51eC5pbnRlbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitkaWZmIC1OYXVyIGltYXAtMjAwN2Yub3JpZy9zcmMvb3NkZXAvdW5peC9mbG9ja2xueC5jIGltYXAtMjAwN2Yvc3JjL29zZGVwL3VuaXgvZmxvY2tsbnguYworLS0tIGltYXAtMjAwN2Yub3JpZy9zcmMvb3NkZXAvdW5peC9mbG9ja2xueC5jCTIwMTEtMDctMjMgMDI6MjA6MTEuMDAwMDAwMDAwICswMjAwCisrKysgaW1hcC0yMDA3Zi9zcmMvb3NkZXAvdW5peC9mbG9ja2xueC5jCTIwMTQtMDQtMTQgMTk6MTc6NDYuNDI5MDAwMDAwICswMjAwCitAQCAtNTcsNyArNTcsNyBAQAorICAgICBjYXNlIEVOT0xDSzoJCS8qIGxvY2sgdGFibGUgaXMgZnVsbCAqLworICAgICAgIHNwcmludGYgKHRtcCwiRmlsZSBsb2NraW5nIGZhaWx1cmU6ICVzIixzdHJlcnJvciAoZXJybm8pKTsKKyAgICAgICBtbV9sb2cgKHRtcCxXQVJOKTsJLyogZ2l2ZSB0aGUgdXNlciBhIHdhcm5pbmcgb2Ygd2hhdCBoYXBwZW5lZCAqLworLSAgICAgIGlmICghbG9nZ2VkKyspIHN5c2xvZyAoTE9HX0VSUix0bXApOworKyAgICAgIGlmICghbG9nZ2VkKyspIHN5c2xvZyAoTE9HX0VSUiwgIiVzIiwgdG1wKTsKKyAJCQkJLyogcmV0dXJuIGZhaWx1cmUgaWYgbm9uLWJsb2NraW5nIGxvY2sgKi8KKyAgICAgICBpZiAob3AgJiBMT0NLX05CKSByZXR1cm4gLTE7CisgICAgICAgc2xlZXAgKDUpOwkJLyogc2xvdyBkb3duIGluIGNhc2UgaXQgbG9vcHMgKi8KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3V3LWltYXAvdXctaW1hcC9xdW90ZV9jY3R5cGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy91dy1pbWFwL3V3LWltYXAvcXVvdGVfY2N0eXBlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3MjllZTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy91dy1pbWFwL3V3LWltYXAvcXVvdGVfY2N0eXBlLnBhdGNoCkBAIC0wLDAgKzEsMTIgQEAKK2RpZmYgLXVyTiBpbWFwLTIwMDcub3JpZy9NYWtlZmlsZSBpbWFwLTIwMDcvTWFrZWZpbGUKKy0tLSBpbWFwLTIwMDcub3JpZy9NYWtlZmlsZQkyMDA3LTEyLTIwIDIzOjExOjEwLjAwMDAwMDAwMCArMDEwMAorKysrIGltYXAtMjAwNy9NYWtlZmlsZQkyMDA4LTAzLTE5IDE0OjA4OjQ3LjAwMDAwMDAwMCArMDEwMAorQEAgLTY5MCw3ICs2OTAsNyBAQAorIAlAJChTSCkgLWMgJyh0ZXN0ICQoQlVJTERUWVBFKSA9IHJlYnVpbGQgLW8gJChCVUlMRFRZUEUpID0gYCQoQ0FUKSBPU1RZUEVgKSB8fCAoZWNobyBBbHJlYWR5IGJ1aWx0IGZvciBgJChDQVQpIE9TVFlQRWAgLS0geW91IG11c3QgZG8gXCJtYWtlIGNsZWFuXCIgZmlyc3QgJiYgZXhpdCAxKScKKyAJQGVjaG8gUmVidWlsZGluZyBjLWNsaWVudCBmb3IgYCQoQ0FUKSBPU1RZUEVgLi4uCisgCUAkKFRPVUNIKSBTUEVDSUFMUworLQkkKENEKSBjLWNsaWVudDskKE1BS0UpIGFsbCBDQz1gJChDQVQpIENDVFlQRWAgXAorKwkkKENEKSBjLWNsaWVudDskKE1BS0UpIGFsbCBDQz0iYCQoQ0FUKSBDQ1RZUEVgIiBcCisgCSBDRkxBR1M9ImAkKENBVCkgQ0ZMQUdTYCIgYCQoQ0FUKSBTUEVDSUFMU2AKKyAKKyByZWJ1aWxkY2xlYW46CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy91dy1pbWFwL3V3LWltYXBfMjAwN2YuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy91dy1pbWFwL3V3LWltYXBfMjAwN2YuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTJiNjg5ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3V3LWltYXAvdXctaW1hcF8yMDA3Zi5iYgpAQCAtMCwwICsxLDQ0IEBACitTVU1NQVJZID0gIlVXIGMtY2xpZW50IGxpYnJhcnkgZm9yIG1haWwgcHJvdG9jb2xzIgorU0VDVElPTiA9ICJkZXZlbCIKKworTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PWE2YTRkZGJiN2NkMjk5OWY2ODI3ZWUxNDNmNmZjZDk3IgorCitERVBFTkRTID0gIm9wZW5zc2wiCisKK1NSQ19VUkkgPSAiZnRwOi8vZnRwLmNhYy53YXNoaW5ndG9uLmVkdS9pbWFwL2ltYXAtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3F1b3RlX2NjdHlwZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9pbWFwLTIwMDdlLXNoYXJlZC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9pbWFwLTIwMDdmLWZvcm1hdC1zZWN1cml0eS5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjIxMjZmZDEyNWVhMjZiNzNiMjBmMDFmY2Q1OTQwMzY5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjUzZTE1YTJiNWMxYmM4MDE2MWQ0MmU5ZjY5NzkyYTNmYTE4MzMyYjdiNzcxOTEwMTMxMDA0ZWI1MjAwMDRhMjgiCisKK1MgPSAiJHtXT1JLRElSfS9pbWFwLSR7UFZ9IgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAncGFtJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdbcGFtXSA9ICIsLGxpYnBhbSIKKworRVhUUkFfT0VNQUtFID0gIkNDPScke0NDfSciCisKK0hFQURFUlMgPSAic3JjL2MtY2xpZW50LyouaCBzcmMvb3NkZXAvdW5peC8qLmggYy1jbGllbnQvYXV0aHMuYyBjLWNsaWVudC9saW5rYWdlLmMgYy1jbGllbnQvbGlua2FnZS5oIGMtY2xpZW50L29zZGVwLmgiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgZWNobyAiU1NMSU5DTFVERT0ke1NUQUdJTkdfSU5DRElSfSBTU0xMSUI9JHtTVEFHSU5HX0xJQkRJUn0iID4gJHtTfS9TUEVDSUFMUworICAgIG9lX3J1bm1ha2UgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncGFtJywgJ2xucCcsICdzbHgnLCBkKX0KK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9L2MtY2xpZW50CisgICAgaW5zdGFsbCAke0hFQURFUlN9ICR7RH0ke2luY2x1ZGVkaXJ9L2MtY2xpZW50CisgICAgaW5zdGFsbCAtZCAke0R9JHtsaWJkaXJ9CisgICAgaW5zdGFsbCBjLWNsaWVudC9jLWNsaWVudC5hICR7RH0ke2xpYmRpcn0vbGliYy1jbGllbnQuYQorfQorCitSUFJPVklERVNfJHtQTn0gPSAibGliYy1jbGllbnQiCitSUkVQTEFDRVNfJHtQTn0gPSAibGliYy1jbGllbnQiCitSQ09ORkxJQ1RTXyR7UE59ID0gImxpYmMtY2xpZW50IgorCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy92YWxhLWRidXMtYmluZGluZy10b29sL3ZhbGEtZGJ1cy1iaW5kaW5nLXRvb2wuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdmFsYS1kYnVzLWJpbmRpbmctdG9vbC92YWxhLWRidXMtYmluZGluZy10b29sLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzQ1MTMwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdmFsYS1kYnVzLWJpbmRpbmctdG9vbC92YWxhLWRidXMtYmluZGluZy10b29sLmluYwpAQCAtMCwwICsxLDE2IEBACitERVNDUklQVElPTiA9ICJWYWxhIERCdXMgQmluZGluZyBUb29sIgorU0VDVElPTiA9ICJkZXZlbCIKK0RFUEVORFMgPSAidmFsYSBsaWJnZWUgbGlieG1sMiBpbnRsdG9vbC1uYXRpdmUiCitIT01FUEFHRSA9ICJodHRwOi8vd2lraS5mcmVlc21hcnRwaG9uZS5vcmcvaW5kZXgucGhwL0ltcGxlbWVudGF0aW9ucy92YWxhLWRidXMtYmluZGluZy10b29sIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorUEUgPSAiMSIKK0lOQ19QUiA9ICJyMyIKKworZXhwb3J0IFhER19EQVRBX0RJUlMgPSAiJHtTVEFHSU5HX0RBVEFESVJ9IgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9mcmVlc21hcnRwaG9uZS9zb3VyY2VzLyR7QlB9LnRhci5iejIiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBlcmxuYXRpdmUgcGtnY29uZmlnCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdmFsYS1kYnVzLWJpbmRpbmctdG9vbC92YWxhLWRidXMtYmluZGluZy10b29sLzAwMDEtY29uZmlndXJlLmFjLWRvbi10LXVzZS1kYXNoLWluLW00LW1hY3JvLW5hbWVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdmFsYS1kYnVzLWJpbmRpbmctdG9vbC92YWxhLWRidXMtYmluZGluZy10b29sLzAwMDEtY29uZmlndXJlLmFjLWRvbi10LXVzZS1kYXNoLWluLW00LW1hY3JvLW5hbWVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0ZDg0YWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy92YWxhLWRidXMtYmluZGluZy10b29sL3ZhbGEtZGJ1cy1iaW5kaW5nLXRvb2wvMDAwMS1jb25maWd1cmUuYWMtZG9uLXQtdXNlLWRhc2gtaW4tbTQtbWFjcm8tbmFtZXMucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorRnJvbSA4YWJlZDJlNWJmOGU3ODE1YjExZGY2ZDIyMDQyZDVmMGFjOGVmY2IwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogVHVlLCA1IE1heSAyMDE1IDEzOjQzOjM1ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZS5hYzogZG9uJ3QgdXNlIGRhc2ggaW4gbTQgbWFjcm8gbmFtZXMKKworKiBvdGhlcndpc2UgaXQgZG9lc24ndCBnZXQgZXhwYW5kZWQgYW5kIHZhbGEtZGJ1cy1iaW5kaW5nLXRvb2wgZW5kcyB3aXRoIHZlcnNpb24gJ3ZhbGEtZGJ1cy1iaW5kaW5nLXRvb2xfdmVyc2lvbicKKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgMTAgKysrKystLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDQ4ZjAwN2MuLjE4ZDBiZGUgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTEsOSArMSw5IEBACistbTRfZGVmaW5lKFt2YWxhLWRidXMtYmluZGluZy10b29sX3JlbGVhc2VkXSwgWzBdKQorLW00X2RlZmluZShbdmFsYS1kYnVzLWJpbmRpbmctdG9vbF9iYXNlX3ZlcnNpb25dLCBbMS4wXSkKKy1tNF9kZWZpbmUoW3ZhbGEtZGJ1cy1iaW5kaW5nLXRvb2xfbWF5YmVfZ2l0cmV2XSwgbTRfaWYodmFsYS1kYnVzLWJpbmRpbmctdG9vbF9yZWxlYXNlZCwgWzFdLCBbXSwgW200X2VzeXNjbWQoW2dpdCBzaG93LXJlZiAtLWhhc2g9NSBIRUFEIHwgdHIgLWQgJ1xuXHInXSldKSkKKy1tNF9kZWZpbmUoW3ZhbGEtZGJ1cy1iaW5kaW5nLXRvb2xfdmVyc2lvbl0sIG00X2lmKHZhbGEtZGJ1cy1iaW5kaW5nLXRvb2xfcmVsZWFzZWQsIFsxXSwgW3ZhbGEtZGJ1cy1iaW5kaW5nLXRvb2xfYmFzZV92ZXJzaW9uXSwgW3ZhbGEtZGJ1cy1iaW5kaW5nLXRvb2xfYmFzZV92ZXJzaW9uLXZhbGEtZGJ1cy1iaW5kaW5nLXRvb2xfbWF5YmVfZ2l0cmV2XSkpCisrbTRfZGVmaW5lKFt2YWxhX2RidXNfYmluZGluZ190b29sX3JlbGVhc2VkXSwgWzBdKQorK200X2RlZmluZShbdmFsYV9kYnVzX2JpbmRpbmdfdG9vbF9iYXNlX3ZlcnNpb25dLCBbMS4wXSkKKyttNF9kZWZpbmUoW3ZhbGFfZGJ1c19iaW5kaW5nX3Rvb2xfbWF5YmVfZ2l0cmV2XSwgbTRfaWYodmFsYV9kYnVzX2JpbmRpbmdfdG9vbF9yZWxlYXNlZCwgWzFdLCBbXSwgW200X2VzeXNjbWQoW2dpdCBzaG93LXJlZiAtLWhhc2g9NSBIRUFEIHwgdHIgLWQgJ1xuXHInXSldKSkKKyttNF9kZWZpbmUoW3ZhbGFfZGJ1c19iaW5kaW5nX3Rvb2xfdmVyc2lvbl0sIG00X2lmKHZhbGFfZGJ1c19iaW5kaW5nX3Rvb2xfcmVsZWFzZWQsIFsxXSwgW3ZhbGFfZGJ1c19iaW5kaW5nX3Rvb2xfYmFzZV92ZXJzaW9uXSwgW3ZhbGFfZGJ1c19iaW5kaW5nX3Rvb2xfYmFzZV92ZXJzaW9uLXZhbGFfZGJ1c19iaW5kaW5nX3Rvb2xfbWF5YmVfZ2l0cmV2XSkpCisgCistQUNfSU5JVChbdmFsYS1kYnVzLWJpbmRpbmctdG9vbF0sIFt2YWxhLWRidXMtYmluZGluZy10b29sX3ZlcnNpb25dLCBbZnNvQG9wZW5waG9lbnV4Lm9yZ10sIFt2YWxhLWRidXMtYmluZGluZy10b29sXSkKKytBQ19JTklUKFt2YWxhLWRidXMtYmluZGluZy10b29sXSwgW3ZhbGFfZGJ1c19iaW5kaW5nX3Rvb2xfdmVyc2lvbl0sIFtmc29Ab3BlbnBob2VudXgub3JnXSwgW3ZhbGEtZGJ1cy1iaW5kaW5nLXRvb2xdKQorIEFDX0NPTkZJR19TUkNESVIoW3NyYy9NYWtlZmlsZS5hbV0pCisgQUNfQ09ORklHX0hFQURFUlMoY29uZmlnLmgpCisgQU1fSU5JVF9BVVRPTUFLRShbZGlzdC1iemlwMl0pCistLSAKKzIuMy41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3ZhbGEtZGJ1cy1iaW5kaW5nLXRvb2wvdmFsYS1kYnVzLWJpbmRpbmctdG9vbF8wLjQuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3ZhbGEtZGJ1cy1iaW5kaW5nLXRvb2wvdmFsYS1kYnVzLWJpbmRpbmctdG9vbF8wLjQuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MmZiNzNjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdmFsYS1kYnVzLWJpbmRpbmctdG9vbC92YWxhLWRidXMtYmluZGluZy10b29sXzAuNC4wLmJiCkBAIC0wLDAgKzEsNCBAQAorcmVxdWlyZSB2YWxhLWRidXMtYmluZGluZy10b29sLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiNTllYWI3YWJmMzhmMzUzNTVkMzc4NjgwM2JkMjQ0MWYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWUzN2FiMmU2MjM4ZWFlZjlmNTczNTYwZWE3Mzc5ZTY5NTU1NzBmN2M5NTAzMDgzZTUwYzRjMTg1YzE5NTZkZiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3ZhbGEtZGJ1cy1iaW5kaW5nLXRvb2wvdmFsYS1kYnVzLWJpbmRpbmctdG9vbF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy92YWxhLWRidXMtYmluZGluZy10b29sL3ZhbGEtZGJ1cy1iaW5kaW5nLXRvb2xfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyYTg2OWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy92YWxhLWRidXMtYmluZGluZy10b29sL3ZhbGEtZGJ1cy1iaW5kaW5nLXRvb2xfZ2l0LmJiCkBAIC0wLDAgKzEsMTggQEAKK3JlcXVpcmUgdmFsYS1kYnVzLWJpbmRpbmctdG9vbC5pbmMKKworIyBUZW1wb3JhcnkgcmVtb3ZlIG5lZ2F0aXZlIHByZWZlcmVuY2UsIGJlY2F1c2UgdGhlcmUgYXJlIDIgdmVyc2lvbnMgb2YgMC40LjAgYXJjaGl2ZXM6CisjIHRoZSBvcmlnaW5hbCBvbmUgZGVwZW5kaW5nIG9uIGxpYmdlZTEuMCBmcm9tCisjIGh0dHA6Ly9kb3dubG9hZHMuZnJlZXNtYXJ0cGhvbmUub3JnL3NvdXJjZXMvJHtCUE59LyR7QlB9LnRhci5iejIKKyMgYW5kIG5ldyBvbmUgZGVwZW5kaW5nIG9uIGxpYmdlZTAuOCBmcm9tCisjIGh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvZnJlZXNtYXJ0cGhvbmUvZmlsZXMvc291cmNlcy8KKyMgVGhlIG9yaWdpbmFsIG9uZSBjYW4gYmUgYWxyZWFkeSBkZXBsb3llZCBvbiB2YXJpb3VzIHByZW1pcnJvcnMsCisjIHNvIHByZWZlciB0aGUgZ2l0IHJlY2lwZSB3aGljaCBkb2Vzbid0IHN1ZmZlciBmcm9tIHRoaXMgaXNzdWUKKyMgREVGQVVMVF9QUkVGRVJFTkNFID0gIi0xIgorCitTUkNSRVYgPSAiNzQyYzA0YzJiYjA3NDM4OTE5MDQ1MjJjZTQ3ZTUwZjllNWM5OWIxMiIKK1BWID0gIjAuNC4wK2dpdHIke1NSQ1BWfSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2ZyZWVzbWFydHBob25lL3ZhbGEtZGJ1cy1iaW5kaW5nLXRvb2wuZ2l0O3Byb3RvY29sPWh0dHBzIFwKKyAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUuYWMtZG9uLXQtdXNlLWRhc2gtaW4tbTQtbWFjcm8tbmFtZXMucGF0Y2ggXAorIgorUyA9ICIke1dPUktESVJ9L2dpdCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3hlcmNlcy1jL3hlcmNlcy1jXzMuMS4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMveGVyY2VzLWMveGVyY2VzLWNfMy4xLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjM1NWM5ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3hlcmNlcy1jL3hlcmNlcy1jXzMuMS4zLmJiCkBAIC0wLDAgKzEsNDYgQEAKK1NVTU1BUlkgPSAiWGVyY2VzLWMgaXMgYSB2YWxpZGF0aW5nIHhtbCBwYXJzZXIgd3JpdHRlbiBpbiBDKysiCitERVNDUklQVElPTiA9ICJYZXJjZXMtQysrIG1ha2VzIGl0IGVhc3kgdG8gZ2l2ZSB5b3VyIGFwcGxpY2F0aW9uIFwKKyAgICAgICAgICAgICAgIHRoZSBhYmlsaXR5IHRvIHJlYWQgYW5kIHdyaXRlIFhNTCBkYXRhLiBcCisgICAgICAgICAgICAgICBBIHNoYXJlZCBsaWJyYXJ5IGlzIHByb3ZpZGVkIGZvciBwYXJzaW5nLCBnZW5lcmF0aW5nLCBcCisgICAgICAgICAgICAgICBtYW5pcHVsYXRpbmcsIGFuZCB2YWxpZGF0aW5nIFhNTCBkb2N1bWVudHMgdXNpbmcgXAorICAgICAgICAgICAgICAgdGhlIERPTSwgU0FYLCBhbmQgU0FYMiBBUElzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly94ZXJjZXMuYXBhY2hlLm9yZy94ZXJjZXMtYy8iCitTRUNUSU9OID0gICJsaWJzIgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9M2I4M2VmOTYzODdmMTQ2NTVmYzg1NGRkYzNjNmJkNTciCisKK1NSQ19VUkkgPSAiaHR0cDovL2FwYWNoZS5sYXVmLWZvcnVtLmF0L3hlcmNlcy9jLzMvc291cmNlcy8ke0JQfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gIjVlMzMzYjU1Y2I0M2U2YjAyNWRkZjBlNWQwZjBmYjBkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImZjNWU1ZTAyNDdiMTA4YjhkNjRkNzVhZWIxMjRjYWJkZWU5YjdmY2Q3MjVhODlmZTIyNDJiNDYzN2IyNWMxZmEiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1BBQ0tBR0VDT05GSUcgPz89ICJjdXJsIGljdSIKK1BBQ0tBR0VDT05GSUdbY3VybF0gPSAiLS13aXRoLWN1cmw9JHtTVEFHSU5HX0RJUn0sLS13aXRoLWN1cmw9bm8sY3VybCIKK1BBQ0tBR0VDT05GSUdbaWN1XSA9ICItLXdpdGgtaWN1PSR7U1RBR0lOR19ESVJ9LC0td2l0aC1pY3U9bm8saWN1IgorCitkb19pbnN0YWxsX3ByZXBlbmQgKCkgeworICAgICAgICBzZWQgLWkgLWUgJ3M6LUwke1NUQUdJTkdfRElSfS9saWI6LUxcJFx7bGliZGlyXH06ZycgJHtCfS94ZXJjZXMtYy5wYworfQorCitQQUNLQUdFUyA9ICJsaWJ4ZXJjZXMtYyBcCisgICAgICAgICAgICBsaWJ4ZXJjZXMtYy1kYmcgXAorICAgICAgICAgICAgbGlieGVyY2VzLWMtZGV2IFwKKyAgICAgICAgICAgIHhlcmNlcy1jLXNhbXBsZXMgXAorICAgICAgICAgICAgeGVyY2VzLWMtc2FtcGxlcy1kYmcgXAorICAgICAgICAgICAgbGlieGVyY2VzLWMtc3RhdGljZGV2IFwKKwkgICAiIAorCitGSUxFU19saWJ4ZXJjZXMtYyA9ICIke2xpYmRpcn0vbGlieGVyY2VzLWMtMy4xLnNvIgorRklMRVNfbGlieGVyY2VzLWMtZGJnID0gIiR7bGliZGlyfS8uZGVidWcgXCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAke3ByZWZpeH0vc3JjL2RlYnVnICIKK0ZJTEVTX2xpYnhlcmNlcy1jLWRldiA9ICIke2xpYmRpcn0vbGliKi5sYSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYnhlcmNlcy1jLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGtnY29uZmlnL3hlcmNlcy1jLnBjIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke2luY2x1ZGVkaXJ9L3hlcmNlc2MgXAorCQkJICIKK0ZJTEVTX3hlcmNlcy1jLXNhbXBsZXMgPSAiJHtiaW5kaXJ9LyoiCitGSUxFU194ZXJjZXMtYy1zYW1wbGVzLWRiZyA9ICIke2JpbmRpcn0vLmRlYnVnLyIKK0ZJTEVTX2xpYnhlcmNlcy1jLXN0YXRpY2RldiA9ICIke2xpYmRpcn0vbGliKi5hIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3lhamwveWFqbF8yLjEuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3lhamwveWFqbF8yLjEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYmY1Mzg5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMveWFqbC95YWpsXzIuMS4wLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiWWV0IEFub3RoZXIgSlNPTiBMaWJyYXJ5LiIKKworREVTQ1JJUFRJT04gPSAiWUFKTCBpcyBhIHNtYWxsIGV2ZW50LWRyaXZlbiAoU0FYLXN0eWxlKSBKU09OIHBhcnNlciBcCit3cml0dGVuIGluIEFOU0kgQywgYW5kIGEgc21hbGwgdmFsaWRhdGluZyBKU09OIGdlbmVyYXRvci4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly9sbG95ZC5naXRodWIuY29tL3lhamwvIgorCitMSUNFTlNFID0gIklTQyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM5YWY2ZWI0Mjk5OTg1MmJkZDNlYTAwYWQxMjBhMzZkIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbGxveWQveWFqbCIKK1NSQ1JFViA9ICJhMGVjZGRlMGMwNDJiOTI1NjE3MGYyZjg4OTBkZDk0NTFhNDI0MGFhIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGNtYWtlIGxpYl9wYWNrYWdlCisKK0VYVFJBX09FQ01BS0UgPSAiLURMSUJfU1VGRklYPSR7QGQuZ2V0VmFyKCdiYXNlbGliJywgVHJ1ZSkucmVwbGFjZSgnbGliJywgJycpfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2FjcGljYS9hY3BpY2FfMjAxNTA1MTUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9hY3BpY2EvYWNwaWNhXzIwMTUwNTE1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlODk3ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9hY3BpY2EvYWNwaWNhXzIwMTUwNTE1LmJiCkBAIC0wLDAgKzEsNDYgQEAKK1NVTU1BUlkgPSAiQUNQSUNBIHRvb2xzIGZvciB0aGUgZGV2ZWxvcG1lbnQgYW5kIGRlYnVnIG9mIEFDUEkgdGFibGVzIgorREVTQ1JJUFRJT04gPSAiVGhlIEFDUEkgQ29tcG9uZW50IEFyY2hpdGVjdHVyZSAoQUNQSUNBKSBwcm9qZWN0IHByb3ZpZGVzIGFuIFwKK09TLWluZGVwZW5kZW50IHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgQWR2YW5jZWQgQ29uZmlndXJhdGlvbiBhbmQgXAorUG93ZXIgSW50ZXJmYWNlIFNwZWNpZmljYXRpb24gKEFDUEkpLiBBQ1BJQ0EgY29kZSBjb250YWlucyB0aG9zZSBwb3J0aW9ucyBvZiBcCitBQ1BJIG1lYW50IHRvIGJlIGRpcmVjdGx5IGludGVncmF0ZWQgaW50byB0aGUgaG9zdCBPUyBhcyBhIGtlcm5lbC1yZXNpZGVudCBcCitzdWJzeXN0ZW0sIGFuZCBhIHNtYWxsIHNldCBvZiB0b29scyB0byBhc3Npc3QgaW4gZGV2ZWxvcGluZyBhbmQgZGVidWdnaW5nIFwKK0FDUEkgdGFibGVzLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5hY3BpY2Eub3JnLyIKK1NFQ1RJT04gPSAiY29uc29sZS90b29scyIKKworTElDRU5TRSA9ICJCU0QgfCBHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2dlbmVyYXRlL3VuaXgvcmVhZG1lLnR4dDttZDU9MjA0NDA3ZTE5N2MxYTAxMTU0YTQ4ZjZjNjI4MGMzYWEiCisKK0NPTVBBVElCTEVfSE9TVCA9ICIoaS44Nnx4ODZfNjR8YXJtfGFhcmNoNjQpLiotbGludXgiCisKK0RFUEVORFMgPSAiYmlzb24gZmxleCIKKworU1JDX1VSSSA9ICJodHRwczovL2FjcGljYS5vcmcvc2l0ZXMvYWNwaWNhL2ZpbGVzL2FjcGljYS11bml4Mi0ke1BWfS50YXIuZ3ogXAorICAgIGZpbGU6Ly9uby13ZXJyb3IucGF0Y2ggXAorICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICIyYmM0YTdjY2M4MmRlOWRmOWZhOTY0Zjc4NGVjYjI5YyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2MTIwNGVjNTZkNzFiYzliZmEyZWUyYWRlNGM2NmY3ZTg1NDE3NzJhYzcyZWY4Y2NjMjBiM2YzMzljYzk2Mzc0IgorCitTID0gIiR7V09SS0RJUn0vYWNwaWNhLXVuaXgyLSR7UFZ9IgorCitFWFRSQV9PRU1BS0UgPSAiQ0M9JyR7Q0N9JyAnT1BUX0NGTEFHUz0tV2FsbCciCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtRCAtcCAtbTA3NTUgZ2VuZXJhdGUvdW5peC9iaW4qL2lhc2wgJHtEfSR7YmluZGlyfS9pYXNsCisgICAgaW5zdGFsbCAtRCAtcCAtbTA3NTUgZ2VuZXJhdGUvdW5peC9iaW4qL2FjcGliaW4gJHtEfSR7YmluZGlyfS9hY3BpYmluCisgICAgaW5zdGFsbCAtRCAtcCAtbTA3NTUgZ2VuZXJhdGUvdW5peC9iaW4qL2FjcGlleGVjICR7RH0ke2JpbmRpcn0vYWNwaWV4ZWMKKyAgICBpbnN0YWxsIC1EIC1wIC1tMDc1NSBnZW5lcmF0ZS91bml4L2JpbiovYWNwaWhlbHAgJHtEfSR7YmluZGlyfS9hY3BpaGVscAorICAgIGluc3RhbGwgLUQgLXAgLW0wNzU1IGdlbmVyYXRlL3VuaXgvYmluKi9hY3BpbmFtZXMgJHtEfSR7YmluZGlyfS9hY3BpbmFtZXMKKyAgICBpbnN0YWxsIC1EIC1wIC1tMDc1NSBnZW5lcmF0ZS91bml4L2JpbiovYWNwaXNyYyAke0R9JHtiaW5kaXJ9L2FjcGlzcmMKKyAgICBpbnN0YWxsIC1EIC1wIC1tMDc1NSBnZW5lcmF0ZS91bml4L2JpbiovYWNwaXh0cmFjdCAke0R9JHtiaW5kaXJ9L2FjcGl4dHJhY3QKK30KKworIyBpYXNsKi5iYiBpcyBhIHN1YnNldCBvZiB0aGlzIHJlY2lwZSwgc28gUlJFUExBQ0UgaXQKK1BST1ZJREVTID0gImlhc2wiCitSUFJPVklERVNfJHtQTn0gKz0gImlhc2wiCitSUkVQTEFDRVNfJHtQTn0gKz0gImlhc2wiCitSQ09ORkxJR0hUU18ke1BOfSArPSAiaWFzbCIKKworTkFUSVZFX0lOU1RBTExfV09SS1MgPSAiMSIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvYWNwaWNhL2FjcGl0ZXN0cy9hYXBpdHMtbGludXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9hY3BpY2EvYWNwaXRlc3RzL2FhcGl0cy1saW51eC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YzVkNmIwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvYWNwaWNhL2FjcGl0ZXN0cy9hYXBpdHMtbGludXgucGF0Y2gKQEAgLTAsMCArMSwzMzYgQEAKK0Zyb206IEFsIFN0b25lIDxhaHMzQGFoczMubmV0PgorRGF0ZTogTW9uLCA3IEFwciAyMDE0IDE5OjA5OjM3ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMS8yXSBGaXh1cCBhYXBpdHMgYnVpbGQKKworRnJvbSBodHRwOi8vZ2l0LmxpbmFyby5vcmcvcGVvcGxlL2FsLnN0b25lL2FjcGljYS10b29scy5naXQKK1Vwc3RyZWFtLXN0YXR1czogVW5rbm93bgorCitkaWZmIC11ck4gYWNwaWNhLXVuaXgyLTIwMTMwNjI2L3Rlc3RzL2FhcGl0cy9hdGV4ZWMuYyBhY3BpY2EtdW5peDItMjAxMzA2MjYtYWFwaXRzL3Rlc3RzL2FhcGl0cy9hdGV4ZWMuYworLS0tIGFjcGljYS11bml4Mi0yMDEzMDYyNi90ZXN0cy9hYXBpdHMvYXRleGVjLmMJMjAxMy0wMS0xNyAxMjo0ODoyOC4wMDAwMDAwMDAgLTA3MDAKKysrKyBhY3BpY2EtdW5peDItMjAxMzA2MjYtYWFwaXRzL3Rlc3RzL2FhcGl0cy9hdGV4ZWMuYwkyMDEzLTA3LTI1IDEzOjQ0OjIzLjAyMzg5NDQ0MSAtMDYwMAorQEAgLTYzOSw2ICs2MzksNyBAQAorIH0KKyAKKyAKKysjaWYgQUNQSV9NQUNISU5FX1dJRFRIID09IDMyCisgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKgorICAqIEZVTkNUSU9OOiAgICBBdEJ1aWxkTG9jYWxSU0RUCitAQCAtNzU3LDggKzc1OCw5IEBACisgICAgICAgICBMb2NhbFJTRFQtPkhlYWRlci5DaGVja3N1bSA9IChVSU5UOCl+TG9jYWxSU0RULT5IZWFkZXIuQ2hlY2tzdW07CisgICAgIH0KKyB9CisrI2VuZGlmCisgCisgCisgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKgorICAqIEZVTkNUSU9OOiAgICBBdEJ1aWxkTG9jYWxYU0RUCitAQCAtMTQyNCw3ICsxNDI2LDcgQEAKKyAgICAgICAgIEFDUElfV0FSTklORyAoKEFFX0lORk8sCisgICAgICAgICAgICAgIlJlcXVlc3Qgb24gWyU0LjRzXSBpcyBiZXlvbmQgcmVnaW9uIGxpbWl0IFJlcS0lWCslWCwgQmFzZT0lWCwgTGVuLSVYXG4iLAorICAgICAgICAgICAgIChSZWdpb25PYmplY3QtPlJlZ2lvbi5Ob2RlKS0+TmFtZS5Bc2NpaSwgKFVJTlQzMikgQWRkcmVzcywKKy0gICAgICAgICAgICBCeXRlV2lkdGgsIChVSU5UMzIpIEJ1ZmZlckFkZHJlc3MsIExlbmd0aCkpOworKyAgICAgICAgICAgIEJ5dGVXaWR0aCwgKFVJTlQzMikgQnVmZmVyQWRkcmVzcywgKFVJTlQzMikgTGVuZ3RoKSk7CisgCisgICAgICAgICByZXR1cm4gKEFFX0FNTF9SRUdJT05fTElNSVQpOworICAgICB9CitAQCAtMTc5Miw3ICsxNzk2LDkgQEAKKyAgICAgICAgICAgICBQYXRoLCBPYmouSW50ZWdlci5WYWx1ZSwgVmFsdWUpOworICNlbHNlCisgICAgICAgICBwcmludGYgKCJBUEkgRXJyb3I6IFZhbHVlIG9mICVzIGlzIDB4JWxseCBpbnN0ZWFkIG9mIGV4cGVjdGVkIDB4JWxseFxuIiwKKy0gICAgICAgICAgICBQYXRoLCBPYmouSW50ZWdlci5WYWx1ZSwgVmFsdWUpOworKyAgICAgICAgICAgIFBhdGgsCisrCSAgICAobG9uZyBsb25nIHVuc2lnbmVkIGludCkgT2JqLkludGVnZXIuVmFsdWUsCisrCSAgICAobG9uZyBsb25nIHVuc2lnbmVkIGludCkgVmFsdWUpOworICNlbmRpZgorICAgICAgICAgU3RhdHVzID0gQUVfRVJST1I7CisgICAgIH0KK0BAIC0xODcxLDcgKzE4NzcsNyBAQAorICAgICB7CisgICAgICAgICBUZXN0RXJyb3JzKys7CisgICAgICAgICBwcmludGYgKCJUZXN0IEVycm9yOiBjYW5ub3QgYWxsb2NhdGUgYnVmZmVyIG9mICVkIGJ5dGVzXG4iLAorLSAgICAgICAgICAgIFJlc3VsdHMuTGVuZ3RoKTsKKysgICAgICAgICAgICAgICAgKGludCkgUmVzdWx0cy5MZW5ndGgpOworICAgICAgICAgcmV0dXJuIChBRV9OT19NRU1PUlkpOworICAgICB9CisgICAgIFJlc3VsdHMuUG9pbnRlciA9IE9iamVjdDsKK0BAIC0xOTUyLDcgKzE5NTYsOCBAQAorICAgICB7CisgICAgICAgICBwcmludGYgKCJBdENoZWNrQnVmZmVyOiB1bmV4cGVjdGVkIGxlbmd0aCAlZCBvZiBCdWZmZXIgdnMiCisgICAgICAgICAgICAgIiBjYWxjdWxhdGVkICVkIGJ5dGVzXG4iLAorLSAgICAgICAgICAgIFJlc3VsdHMuTGVuZ3RoLCBBQ1BJX1JPVU5EX1VQX1RPX05BVElWRV9XT1JEKHNpemVvZiAoQUNQSV9PQkpFQ1QpICsgTGVuZ3RoKSk7CisrICAgICAgICAgICAgKGludClSZXN1bHRzLkxlbmd0aCwKKysJICAgIChpbnQpKEFDUElfUk9VTkRfVVBfVE9fTkFUSVZFX1dPUkQoc2l6ZW9mIChBQ1BJX09CSkVDVCkgKyBMZW5ndGgpKSk7CisgICAgIH0KKyAKKyAgICAgLyogSW5pdGlhbGl6ZSB0aGUgcmV0dXJuIGJ1ZmZlciBzdHJ1Y3R1cmUgKi8KK0BAIC0xOTYxLDcgKzE5NjgsNyBAQAorICAgICB7CisgICAgICAgICBUZXN0RXJyb3JzKys7CisgICAgICAgICBwcmludGYgKCJUZXN0IEVycm9yOiBjYW5ub3QgYWxsb2NhdGUgYnVmZmVyIG9mICVkIGJ5dGVzXG4iLAorLSAgICAgICAgICAgIFJlc3VsdHMuTGVuZ3RoKTsKKysgICAgICAgICAgICAoaW50KSBSZXN1bHRzLkxlbmd0aCk7CisgICAgICAgICByZXR1cm4gKEFFX05PX01FTU9SWSk7CisgICAgIH0KKyAgICAgUmVzdWx0cy5Qb2ludGVyID0gT2JqZWN0OworZGlmZiAtdXJOIGFjcGljYS11bml4Mi0yMDEzMDYyNi90ZXN0cy9hYXBpdHMvYXRpbml0LmMgYWNwaWNhLXVuaXgyLTIwMTMwNjI2LWFhcGl0cy90ZXN0cy9hYXBpdHMvYXRpbml0LmMKKy0tLSBhY3BpY2EtdW5peDItMjAxMzA2MjYvdGVzdHMvYWFwaXRzL2F0aW5pdC5jCTIwMTMtMDEtMTcgMTI6NDg6MjguMDAwMDAwMDAwIC0wNzAwCisrKysgYWNwaWNhLXVuaXgyLTIwMTMwNjI2LWFhcGl0cy90ZXN0cy9hYXBpdHMvYXRpbml0LmMJMjAxMy0wNy0yNSAxMzoyMDoxOS43MDY3MDU5NjAgLTA2MDAKK0BAIC0zMDI0LDcgKzMwMjQsNyBAQAorICAgICAgICAgICAgIEFhcGlFcnJvcnMrKzsKKyAgICAgICAgICAgICBwcmludGYgKCJBUEkgRXJyb3I6IEFjcGlHZXRTeXN0ZW1JbmZvKCkgcmV0dXJuZWQiCisgICAgICAgICAgICAgICAgICIgTGVuZ3RoICVkLCBleHBlY3RlZCAlZFxuIiwKKy0gICAgICAgICAgICAgICAgT3V0QnVmZmVyLkxlbmd0aCwgc2l6ZW9mIChJbmZvKSk7CisrICAgICAgICAgICAgICAgIChpbnQpIE91dEJ1ZmZlci5MZW5ndGgsIChpbnQpIHNpemVvZiAoSW5mbykpOworICAgICAgICAgICAgIHJldHVybiAoQUVfRVJST1IpOworICAgICAgICAgfQorIAorQEAgLTMwNDYsNyArMzA0Niw3IEBACisgICAgICAgICAgICAgQWFwaUVycm9ycysrOworICAgICAgICAgICAgIHByaW50ZiAoIkFQSSBFcnJvcjogQWNwaUdldFN5c3RlbUluZm8oKSByZXR1cm5lZCIKKyAgICAgICAgICAgICAgICAgIiBMZW5ndGggJWQsIGV4cGVjdGVkICVkXG4iLAorLSAgICAgICAgICAgICAgICBPdXRCdWZmZXIuTGVuZ3RoLCBzaXplb2YgKEluZm8pKTsKKysgICAgICAgICAgICAgICAgKGludCkgT3V0QnVmZmVyLkxlbmd0aCwgKGludCkgc2l6ZW9mIChJbmZvKSk7CisgICAgICAgICAgICAgcmV0dXJuIChBRV9FUlJPUik7CisgICAgICAgICB9CisgCitAQCAtMzA2Niw3ICszMDY2LDcgQEAKKyAgICAgICAgICAgICBBYXBpRXJyb3JzKys7CisgICAgICAgICAgICAgcHJpbnRmICgiQVBJIEVycm9yOiBBY3BpR2V0U3lzdGVtSW5mbygpIHJldHVybmVkIgorICAgICAgICAgICAgICAgICAiIExlbmd0aCAlZCwgZXhwZWN0ZWQgJWRcbiIsCistICAgICAgICAgICAgICAgIE91dEJ1ZmZlci5MZW5ndGgsIHNpemVvZiAoSW5mbykpOworKyAgICAgICAgICAgICAgICAoaW50KSBPdXRCdWZmZXIuTGVuZ3RoLCAoaW50KSBzaXplb2YgKEluZm8pKTsKKyAgICAgICAgICAgICByZXR1cm4gKEFFX0VSUk9SKTsKKyAgICAgICAgIH0KKyAgICAgICAgIGVsc2UgaWYgKE91dEJ1ZmZlci5Qb2ludGVyICE9ICZJbmZvKQorQEAgLTMxNDksNyArMzE0OSw3IEBACisgICAgICAgICAgICAgQWFwaUVycm9ycysrOworICAgICAgICAgICAgIHByaW50ZiAoIkFQSSBFcnJvcjogQWNwaUdldFN5c3RlbUluZm8oKSByZXR1cm5lZCIKKyAgICAgICAgICAgICAgICAgIiBMZW5ndGggJWQsIGV4cGVjdGVkICVkXG4iLAorLSAgICAgICAgICAgICAgICBPdXRCdWZmZXIuTGVuZ3RoLCBzaXplb2YgKEluZm8pKTsKKysgICAgICAgICAgICAgICAgKGludCkgT3V0QnVmZmVyLkxlbmd0aCwgKGludCkgc2l6ZW9mIChJbmZvKSk7CisgICAgICAgICAgICAgcmV0dXJuIChBRV9FUlJPUik7CisgICAgICAgICB9CisgICAgICAgICBlbHNlIGlmIChPdXRCdWZmZXIuUG9pbnRlciAhPSAmSW5mbykKK0BAIC0zMjE0LDcgKzMyMTQsNyBAQAorICAgICAgICAgICAgIEFhcGlFcnJvcnMrKzsKKyAgICAgICAgICAgICBwcmludGYgKCJBUEkgRXJyb3I6IEFjcGlHZXRTeXN0ZW1JbmZvKCkgcmV0dXJuZWQiCisgICAgICAgICAgICAgICAgICIgTGVuZ3RoICVkLCBleHBlY3RlZCAlZFxuIiwKKy0gICAgICAgICAgICAgICAgT3V0QnVmZmVyLkxlbmd0aCwgc2l6ZW9mIChBQ1BJX1NZU1RFTV9JTkZPKSk7CisrICAgICAgICAgICAgICAgIChpbnQpIE91dEJ1ZmZlci5MZW5ndGgsIChpbnQpIHNpemVvZiAoQUNQSV9TWVNURU1fSU5GTykpOworICAgICAgICAgICAgIHJldHVybiAoQUVfRVJST1IpOworICAgICAgICAgfQorICAgICAgICAgZWxzZQorZGlmZiAtdXJOIGFjcGljYS11bml4Mi0yMDEzMDYyNi90ZXN0cy9hYXBpdHMvYXRtYWluLmMgYWNwaWNhLXVuaXgyLTIwMTMwNjI2LWFhcGl0cy90ZXN0cy9hYXBpdHMvYXRtYWluLmMKKy0tLSBhY3BpY2EtdW5peDItMjAxMzA2MjYvdGVzdHMvYWFwaXRzL2F0bWFpbi5jCTIwMTMtMDEtMTcgMTI6NDg6MjguMDAwMDAwMDAwIC0wNzAwCisrKysgYWNwaWNhLXVuaXgyLTIwMTMwNjI2LWFhcGl0cy90ZXN0cy9hYXBpdHMvYXRtYWluLmMJMjAxMy0wNy0yNSAxMzoxODoyMi4wODMzMjM5NDggLTA2MDAKK0BAIC0zMTUsNyArMzE1LDcgQEAKKyAgICAgeworICAgICAgICAgcHJpbnRmICgiQUNQSUNBIEFQSSBUUyBlcnI6IHRlc3QgbnVtICVsZCBvZiB0ZXN0IGNhc2UgJWxkIgorICAgICAgICAgICAgICIgaXMgbm90IGltcGxlbWVudGVkXG4iLAorLSAgICAgICAgICAgIHRlc3RfbnVtLCB0ZXN0X2Nhc2UpOworKyAgICAgICAgICAgIChsb25nIGludCkgdGVzdF9udW0sIChsb25nIGludCkgdGVzdF9jYXNlKTsKKyAgICAgICAgIHJldHVybiAoQXRSZXROb3RJbXBsKTsKKyAgICAgfQorIAorQEAgLTQzMCw3ICs0MzIsNyBAQAorICAgICBpZiAodGVzdF9jYXNlIDwgMSB8fCB0ZXN0X2Nhc2UgPiBBVF9URVNUX0NBU0VfTlVNKQorICAgICB7CisgICAgICAgICBwcmludGYgKCJBQ1BJQ0EgQVBJIFRTIGVycjogdGVzdCBjYXNlICVsZCBpcyBvdXQgb2YgcmFuZ2UgMSAtICVkXG4iLAorLSAgICAgICAgICAgIHRlc3RfY2FzZSwgQVRfVEVTVF9DQVNFX05VTSk7CisrICAgICAgICAgICAgKGxvbmcgaW50KSB0ZXN0X2Nhc2UsIChpbnQpIEFUX1RFU1RfQ0FTRV9OVU0pOworICAgICAgICAgcmV0dXJuIChBdFJldEJhZFBhcmFtKTsKKyAgICAgfQorIAorQEAgLTQzOCw3ICs0NDAsNyBAQAorICAgICBpZiAodGVzdF9udW0gPCAwIHx8IHRlc3RfbnVtID4gQXRUZXN0Q2FzZVt0ZXN0X2Nhc2VdLlRlc3RzTnVtKQorICAgICB7CisgICAgICAgICBwcmludGYgKCJBQ1BJQ0EgQVBJIFRTIGVycjogdGVzdCBudW0gJWxkIGlzIG91dCBvZiByYW5nZSAwIC0gJWRcbiIsCistICAgICAgICAgICAgdGVzdF9udW0sIEF0VGVzdENhc2VbdGVzdF9jYXNlXS5UZXN0c051bSk7CisrICAgICAgICAgICAgKGxvbmcgaW50KSB0ZXN0X251bSwgQXRUZXN0Q2FzZVt0ZXN0X2Nhc2VdLlRlc3RzTnVtKTsKKyAgICAgICAgIHJldHVybiAoQXRSZXRCYWRQYXJhbSk7CisgICAgIH0KKworZGlmZiAtdXJOIGFjcGljYS11bml4Mi0yMDEzMDYyNi90ZXN0cy9hYXBpdHMvYXRuYW1lc3BhY2UuYyBhY3BpY2EtdW5peDItMjAxMzA2MjYtYWFwaXRzL3Rlc3RzL2FhcGl0cy9hdG5hbWVzcGFjZS5jCistLS0gYWNwaWNhLXVuaXgyLTIwMTMwNjI2L3Rlc3RzL2FhcGl0cy9hdG5hbWVzcGFjZS5jCTIwMTMtMDEtMTcgMTI6NDg6MjguMDAwMDAwMDAwIC0wNzAwCisrKysgYWNwaWNhLXVuaXgyLTIwMTMwNjI2LWFhcGl0cy90ZXN0cy9hYXBpdHMvYXRuYW1lc3BhY2UuYwkyMDEzLTA3LTI1IDEzOjI0OjE1LjM2NjQ2NjcwNyAtMDYwMAorQEAgLTI1MzUsNyArMjUzNSw4IEBACisgI2Vsc2UKKyAgICAgICAgICAgICAgICAgcHJpbnRmICgiQVBJIEVycm9yOiBBZGRyZXNzIG9mICVzICgweCVsbFgpICE9ICgweCVsbFgpXG4iLAorICAgICAgICAgICAgICAgICAgICAgUGF0aE5hbWVzWzIgKiBpICsgMV0sCistICAgICAgICAgICAgICAgICAgICBJbmZvLT5BZGRyZXNzLCBFeHBlY3RlZEluZm9baV0uQWRkcmVzcyk7CisrICAgICAgICAgICAgICAgICAgICAobG9uZyBsb25nIHVuc2lnbmVkIGludCkgSW5mby0+QWRkcmVzcywKKysJCSAgICAobG9uZyBsb25nIHVuc2lnbmVkIGludCkgRXhwZWN0ZWRJbmZvW2ldLkFkZHJlc3MpOworICNlbmRpZgorICNlbHNlCisgICAgICAgICAgICAgICAgIHByaW50ZiAoIkFQSSBFcnJvcjogQWRkcmVzcyBvZiAlcyAoMHglWCkgIT0gKDB4JVgpXG4iLAorQEAgLTI5MDgsNyArMjkwOSw4IEBACisgICAgICAgICBUZXN0RXJyb3JzKys7CisgICAgICAgICBwcmludGYgKCJBdEdldE5leHRPYmplY3RUeXBlQ29tbW9uOiBkaWZmZXJlbnQgbnVtYmVycyBvZiBlbnRpdGllcyIKKyAgICAgICAgICAgICAiaW4gVHlwZXNOYW1lcyAoJWQpIGFuZCBMZXZlbFR5cGVzMDAwMCAoJWQpXG4iLAorLSAgICAgICAgICAgIFR5cGVzQ291bnQsIHNpemVvZiAoTGV2ZWxUeXBlczAwMDApIC8gc2l6ZW9mIChBQ1BJX09CSkVDVF9UWVBFKSk7CisrICAgICAgICAgICAgVHlwZXNDb3VudCwKKysJICAgIChpbnQpIChzaXplb2YgKExldmVsVHlwZXMwMDAwKSAvIHNpemVvZiAoQUNQSV9PQkpFQ1RfVFlQRSkpKTsKKyAgICAgICAgIHJldHVybiAoQUVfRVJST1IpOworICAgICB9CisgCitAQCAtNDE5Miw3ICs0MTk0LDkgQEAKKyAgICAgICAgICAgICBQYXRobmFtZSwgT2JqLkludGVnZXIuVmFsdWUsIFZhbHVlKTsKKyAjZWxzZQorICAgICAgICAgcHJpbnRmICgiQVBJIEVycm9yOiBWYWx1ZSBvZiAlcyBpcyAweCVsbHggaW5zdGVhZCBvZiBleHBlY3RlZCAweCVsbHhcbiIsCistICAgICAgICAgICAgUGF0aG5hbWUsIE9iai5JbnRlZ2VyLlZhbHVlLCBWYWx1ZSk7CisrICAgICAgICAgICAgUGF0aG5hbWUsCisrCSAgICAobG9uZyBsb25nIHVuc2lnbmVkIGludCkgT2JqLkludGVnZXIuVmFsdWUsCisrCSAgICAobG9uZyBsb25nIHVuc2lnbmVkIGludCkgVmFsdWUpOworICNlbmRpZgorICAgICAgICAgU3RhdHVzID0gQUVfRVJST1I7CisgICAgIH0KK0BAIC01MTk5LDcgKzUyMDMsNyBAQAorICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgQWFwaUVycm9ycysrOworICAgICAgICAgICAgICAgICBwcmludGYgKCJBUEkgRXJyb3I6IEFjcGlPc0FsbG9jYXRlKCVkKSByZXR1cm5lZCBOVUxMXG4iLAorLSAgICAgICAgICAgICAgICAgICAgT3V0TmFtZS5MZW5ndGgpOworKyAgICAgICAgICAgICAgICAgICAgKGludCkgT3V0TmFtZS5MZW5ndGgpOworICAgICAgICAgICAgICAgICByZXR1cm4gKEFFX0VSUk9SKTsKKyAgICAgICAgICAgICB9CisgICAgICAgICB9CitkaWZmIC11ck4gYWNwaWNhLXVuaXgyLTIwMTMwNjI2L3Rlc3RzL2FhcGl0cy9hdG9zeGZjdHJsLmMgYWNwaWNhLXVuaXgyLTIwMTMwNjI2LWFhcGl0cy90ZXN0cy9hYXBpdHMvYXRvc3hmY3RybC5jCistLS0gYWNwaWNhLXVuaXgyLTIwMTMwNjI2L3Rlc3RzL2FhcGl0cy9hdG9zeGZjdHJsLmMJMjAxMy0wMS0xNyAxMjo0ODoyOC4wMDAwMDAwMDAgLTA3MDAKKysrKyBhY3BpY2EtdW5peDItMjAxMzA2MjYtYWFwaXRzL3Rlc3RzL2FhcGl0cy9hdG9zeGZjdHJsLmMJMjAxMy0wNy0yNSAxMzozMDowMC4zNzU0OTI3NTEgLTA2MDAKK0BAIC03MzcsMTMgKzczNywxNSBAQAorICNpZiBBQ1BJX01BQ0hJTkVfV0lEVEggPT0gNjQKKyAjaWZkZWYgICAgX01TQ19WRVIKKyAgICAgICAgIHByaW50ZigiT3N4ZkN0cmxGaW5nUmVnOiB1bmV4cGVjdGVkIFdpZHRoICVkIG9mIFJlZyAweCVJNjR4XG4iLAorKyAgICAgICAgICAgIFdpZHRoLCBBZGRyZXNzKTsKKyAjZWxzZQorICAgICAgICAgcHJpbnRmKCJPc3hmQ3RybEZpbmdSZWc6IHVuZXhwZWN0ZWQgV2lkdGggJWQgb2YgUmVnIDB4JWxseFxuIiwKKysgICAgICAgICAgICBXaWR0aCwgKGxvbmcgbG9uZyB1bnNpZ25lZCBpbnQpIEFkZHJlc3MpOworICNlbmRpZgorICNlbHNlCisgICAgICAgICBwcmludGYoIk9zeGZDdHJsRmluZ1JlZzogdW5leHBlY3RlZCBXaWR0aCAlZCBvZiBSZWcgMHgleFxuIiwKKy0jZW5kaWYKKyAgICAgICAgICAgICBXaWR0aCwgQWRkcmVzcyk7CisrI2VuZGlmCisgICAgICAgICByZXR1cm4gKE5VTEwpOworICAgICB9CisgCitAQCAtNzY0LDE1ICs3NjYsMTkgQEAKKyAjaWZkZWYgICAgX01TQ19WRVIKKyAgICAgICAgICAgICAgICAgcHJpbnRmKCJPc3hmQ3RybEZpbmdSZWc6IGludGVyc2VjdGlvbiBSZWdzICgweCVJNjR4OiAweCV4KSIKKyAgICAgICAgICAgICAgICAgICAgICIgYW5kICgweCVJNjR4OiAweCV4KVxuIiwKKysgICAgICAgICAgICAgICAgICAgIFJlZy0+QWRkcmVzcywgUmVnLT5XaWR0aCwgQWRkcmVzcywgV2lkdGgpOworICNlbHNlCisgICAgICAgICAgICAgICAgIHByaW50ZigiT3N4ZkN0cmxGaW5nUmVnOiBpbnRlcnNlY3Rpb24gUmVncyAoMHglbGx4OiAweCV4KSIKKyAgICAgICAgICAgICAgICAgICAgICIgYW5kICgweCVsbHg6IDB4JXgpXG4iLAorKyAgICAgICAgICAgICAgICAgICAgKGxvbmcgbG9uZyB1bnNpZ25lZCBpbnQpIFJlZy0+QWRkcmVzcywKKysJCSAgICBSZWctPldpZHRoLAorKwkJICAgIChsb25nIGxvbmcgdW5zaWduZWQgaW50KSBBZGRyZXNzLCBXaWR0aCk7CisgI2VuZGlmCisgI2Vsc2UKKyAgICAgICAgICAgICAgICAgcHJpbnRmKCJPc3hmQ3RybEZpbmdSZWc6IGludGVyc2VjdGlvbiBSZWdzICgweCV4OiAweCV4KSIKKyAgICAgICAgICAgICAgICAgICAgICIgYW5kICgweCV4OiAweCV4KVxuIiwKKy0jZW5kaWYKKyAgICAgICAgICAgICAgICAgICAgIFJlZy0+QWRkcmVzcywgUmVnLT5XaWR0aCwgQWRkcmVzcywgV2lkdGgpOworKyNlbmRpZgorICAgICAgICAgICAgICAgICByZXR1cm4gKE5VTEwpOworICAgICAgICAgICAgIH0KKyAgICAgICAgIH0KK0BAIC03ODYsMTMgKzc5MiwxNSBAQAorICNpZiBBQ1BJX01BQ0hJTkVfV0lEVEggPT0gNjQKKyAjaWZkZWYgICAgX01TQ19WRVIKKyAgICAgICAgICAgICBwcmludGYoIk9zeGZDdHJsRmluZ1JlZzogbm8gbWVtb3J5IGZvciBSZWcgKDB4JUk2NHg6IDB4JXgpXG4iLAorKyAgICAgICAgICAgICAgICBSZWctPkFkZHJlc3MsIFJlZy0+V2lkdGgpOworICNlbHNlCisgICAgICAgICAgICAgcHJpbnRmKCJPc3hmQ3RybEZpbmdSZWc6IG5vIG1lbW9yeSBmb3IgUmVnICgweCVsbHg6IDB4JXgpXG4iLAorKyAgICAgICAgICAgICAgICAobG9uZyBsb25nIHVuc2lnbmVkIGludCkgUmVnLT5BZGRyZXNzLCBSZWctPldpZHRoKTsKKyAjZW5kaWYKKyAjZWxzZQorICAgICAgICAgICAgIHByaW50ZigiT3N4ZkN0cmxGaW5nUmVnOiBubyBtZW1vcnkgZm9yIFJlZyAoMHgleDogMHgleClcbiIsCistI2VuZGlmCisgICAgICAgICAgICAgICAgIFJlZy0+QWRkcmVzcywgUmVnLT5XaWR0aCk7CisrI2VuZGlmCisgICAgICAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICAgICAgIH0KKyAgICAgICAgIFJlZy0+VHlwZSA9IFR5cGU7CitAQCAtOTMyLDE0ICs5NDAsMTkgQEAKKyAjaWYgQUNQSV9NQUNISU5FX1dJRFRIID09IDY0CisgI2lmZGVmICAgIF9NU0NfVkVSCisgICAgICAgICAgICAgcHJpbnRmKCIlLjJ1ICglcyBBZGRyZXNzIDB4JUk2NHg6IFdpZHRoICUuMnUpIHIvdyBjb3VudHM6ICV1LyV1XG4iLAorKyAgICAgICAgICAgICAgICBpLCAoUmVnLT5UeXBlID09IEVNVUxfUkVHX1NZUyk/ICJTWVMiOiAiSU8iLAorKyAgICAgICAgICAgICAgICBSZWctPkFkZHJlc3MsIFJlZy0+V2lkdGgsIFJlZy0+UmVhZENvdW50LCBSZWctPldyaXRlQ291bnQpOworICNlbHNlCisgICAgICAgICAgICAgcHJpbnRmKCIlLjJ1ICglcyBBZGRyZXNzIDB4JWxseDogV2lkdGggJS4ydSkgci93IGNvdW50czogJXUvJXVcbiIsCisrICAgICAgICAgICAgICAgIGksIChSZWctPlR5cGUgPT0gRU1VTF9SRUdfU1lTKT8gIlNZUyI6ICJJTyIsCisrICAgICAgICAgICAgICAgIChsb25nIGxvbmcgdW5zaWduZWQgaW50KSBSZWctPkFkZHJlc3MsCisrCQlSZWctPldpZHRoLCBSZWctPlJlYWRDb3VudCwgUmVnLT5Xcml0ZUNvdW50KTsKKyAjZW5kaWYKKyAjZWxzZQorICAgICAgICAgICAgIHByaW50ZigiJS4ydSAoJXMgQWRkcmVzcyAweCUuNHg6IFdpZHRoICUuMnUpIHIvdyBjb3VudHM6ICV1LyV1XG4iLAorLSNlbmRpZgorICAgICAgICAgICAgICAgICBpLCAoUmVnLT5UeXBlID09IEVNVUxfUkVHX1NZUyk/ICJTWVMiOiAiSU8iLAorICAgICAgICAgICAgICAgICBSZWctPkFkZHJlc3MsIFJlZy0+V2lkdGgsIFJlZy0+UmVhZENvdW50LCBSZWctPldyaXRlQ291bnQpOworKyNlbmRpZgorICAgICAgICAgICAgIFJlZyA9IFJlZy0+TmV4dDsKKyAgICAgICAgICAgICBpKys7CisgICAgICAgICB9CitkaWZmIC11ck4gYWNwaWNhLXVuaXgyLTIwMTMwNjI2L3Rlc3RzL2FhcGl0cy9hdHJlc291cmNlLmMgYWNwaWNhLXVuaXgyLTIwMTMwNjI2LWFhcGl0cy90ZXN0cy9hYXBpdHMvYXRyZXNvdXJjZS5jCistLS0gYWNwaWNhLXVuaXgyLTIwMTMwNjI2L3Rlc3RzL2FhcGl0cy9hdHJlc291cmNlLmMJMjAxMy0wMS0xNyAxMjo0ODoyOS4wMDAwMDAwMDAgLTA3MDAKKysrKyBhY3BpY2EtdW5peDItMjAxMzA2MjYtYWFwaXRzL3Rlc3RzL2FhcGl0cy9hdHJlc291cmNlLmMJMjAxMy0wNy0yNSAxMzoyNTo0OS40MjM1NjU5NDcgLTA2MDAKK0BAIC0xNzQsNyArMTc0LDcgQEAKKyAgICAgICAgIEFhcGlFcnJvcnMrKzsKKyAgICAgICAgIHByaW50ZiAoIkFQSSBFcnJvcjogQWNwaUdldEN1cnJlbnRSZXNvdXJjZXMoJXMpIHJldHVybmVkIExlbmd0aCAlZCwiCisgICAgICAgICAgICAgIiBleHBlY3RlZCAlZFxuIiwKKy0gICAgICAgICAgICBQYXRobmFtZSwgT3V0QnVmZmVyLkxlbmd0aCwgUlQwMDAwX0RFVjBfQ1JTX0xFTik7CisrICAgICAgICAgICAgUGF0aG5hbWUsIChpbnQpIE91dEJ1ZmZlci5MZW5ndGgsIFJUMDAwMF9ERVYwX0NSU19MRU4pOworICAgICAgICAgcmV0dXJuIChBRV9FUlJPUik7CisgICAgIH0KKyAKK0BAIC00OTAsNyArNDkwLDcgQEAKKyAgICAgICAgIEFhcGlFcnJvcnMrKzsKKyAgICAgICAgIHByaW50ZiAoIkFQSSBFcnJvcjogQWNwaUdldEN1cnJlbnRSZXNvdXJjZXMoJXMpIHJldHVybmVkIExlbmd0aCAlZCwiCisgICAgICAgICAgICAgIiBleHBlY3RlZCAlZFxuIiwKKy0gICAgICAgICAgICBQYXRobmFtZSwgT3V0QnVmZmVyLkxlbmd0aCwgUlQwMDAwX0RFVjBfQ1JTX0xFTik7CisrICAgICAgICAgICAgUGF0aG5hbWUsIChpbnQpIE91dEJ1ZmZlci5MZW5ndGgsIFJUMDAwMF9ERVYwX0NSU19MRU4pOworICAgICAgICAgcmV0dXJuIChBRV9FUlJPUik7CisgICAgIH0KKyAKK0BAIC02ODksNyArNjg5LDcgQEAKKyAgICAgICAgIEFhcGlFcnJvcnMrKzsKKyAgICAgICAgIHByaW50ZiAoIkFwaSBFcnJvcjogUmVzb3VyY2UtPkxlbmd0aCAoJWQpICE9ICVkXG4iLAorICAgICAgICAgICAgIEN1cnJlbnRSZXNvdXJjZS0+TGVuZ3RoLAorLSAgICAgICAgICAgIEFDUElfUk9VTkRfVVBfVE9fTkFUSVZFX1dPUkQgKEFDUElfUlNfU0laRSAoQUNQSV9SRVNPVVJDRV9JUlEpKSk7CisrICAgICAgICAgICAgKGludCkgKEFDUElfUk9VTkRfVVBfVE9fTkFUSVZFX1dPUkQgKEFDUElfUlNfU0laRSAoQUNQSV9SRVNPVVJDRV9JUlEpKSkpOworICAgICB9CisgCisgICAgIGlmIChDdXJyZW50UmVzb3VyY2UtPkRhdGEuSXJxLlRyaWdnZXJpbmcgIT0gMCkgLyogTGV2ZWwtVHJpZ2dlcmVkICovCitAQCAtOTgxLDcgKzk4MSw3IEBACisgICAgICAgICBBYXBpRXJyb3JzKys7CisgICAgICAgICBwcmludGYgKCJBUEkgRXJyb3I6IEFjcGlHZXRQb3NzaWJsZVJlc291cmNlcyglcykgcmV0dXJuZWQgTGVuZ3RoICVkLCIKKyAgICAgICAgICAgICAiIGV4cGVjdGVkICVkXG4iLAorLSAgICAgICAgICAgIFBhdGhuYW1lLCBPdXRCdWZmZXIuTGVuZ3RoLCBSVDAwMDBfREVWMF9DUlNfTEVOKTsKKysgICAgICAgICAgICBQYXRobmFtZSwgKGludCkgT3V0QnVmZmVyLkxlbmd0aCwgUlQwMDAwX0RFVjBfQ1JTX0xFTik7CisgICAgICAgICByZXR1cm4gKEFFX0VSUk9SKTsKKyAgICAgfQorIAorQEAgLTE5MjMsNyArMTkyMyw3IEBACisgICAgICAgICBBYXBpRXJyb3JzKys7CisgICAgICAgICBwcmludGYgKCJBUEkgRXJyb3I6IEFjcGlHZXRJcnFSb3V0aW5nVGFibGUoJXMpIHJldHVybmVkIExlbmd0aCAlZCwiCisgICAgICAgICAgICAgIiBleHBlY3RlZCAlZFxuIiwKKy0gICAgICAgICAgICBQYXRobmFtZSwgT3V0QnVmZmVyLkxlbmd0aCwgMHhBNDgpOworKyAgICAgICAgICAgIFBhdGhuYW1lLCAoaW50KSBPdXRCdWZmZXIuTGVuZ3RoLCAweEE0OCk7CisgICAgICAgICByZXR1cm4gKEFFX0VSUk9SKTsKKyAgICAgfQorCitkaWZmIC11ck4gYWNwaWNhLXVuaXgyLTIwMTMwNjI2L3Rlc3RzL2FhcGl0cy9NYWtlZmlsZSBhY3BpY2EtdW5peDItMjAxMzA2MjYtYWFwaXRzL3Rlc3RzL2FhcGl0cy9NYWtlZmlsZQorLS0tIGFjcGljYS11bml4Mi0yMDEzMDYyNi90ZXN0cy9hYXBpdHMvTWFrZWZpbGUJMjAxMy0wMS0xNyAxMjo0ODoyOS4wMDAwMDAwMDAgLTA3MDAKKysrKyBhY3BpY2EtdW5peDItMjAxMzA2MjYtYWFwaXRzL3Rlc3RzL2FhcGl0cy9NYWtlZmlsZQkyMDEzLTA3LTI1IDE1OjE3OjA5LjMwOTIzNjQyMiAtMDYwMAorQEAgLTE5NCw3ICsxOTQsNyBAQAorIENGTEFHUys9IC1XYWxsIC1nIC1EX0xJTlVYIC1ETkRFQlVHIC1EX0NPTlNPTEUgLURBQ1BJX0FQSVRTIC1EQUNQSV9FWEVDX0FQUCAtRF9NVUxUSV9USFJFQURFRCAtV3N0cmljdC1wcm90b3R5cGVzIC1JLi4vLi4vc291cmNlL2luY2x1ZGUKKworIAorLWFjcGlleGVjIDogJChwYXRzdWJzdCAlLmMsJS5vLCAkKFNSQ1MpKQorKyQoUFJPRykgOiAkKHBhdHN1YnN0ICUuYywlLm8sICQoU1JDUykpCisgCSQoQ0MpICQoTERGTEFHUykgJChwYXRzdWJzdCAlLmMsJS5vLCAkKFNSQ1MpKSAtbyAkKFBST0cpCisgCisgQ0xFQU5GSUxFUz0gJChQUk9HKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvYWNwaWNhL2FjcGl0ZXN0cy9hYXBpdHMtbWFrZWZpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9hY3BpY2EvYWNwaXRlc3RzL2FhcGl0cy1tYWtlZmlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZDllOTk3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvYWNwaWNhL2FjcGl0ZXN0cy9hYXBpdHMtbWFrZWZpbGUucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorRnJvbTogQWwgU3RvbmUgPGFoczNAYWhzMy5uZXQ+CitEYXRlOiBNb24sIDcgQXByIDIwMTQgMTk6MDk6MzcgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzJdIEZpeHVwIGFhcGl0cyBidWlsZAorCitGcm9tIGh0dHA6Ly9naXQubGluYXJvLm9yZy9wZW9wbGUvYWwuc3RvbmUvYWNwaWNhLXRvb2xzLmdpdAorVXBzdHJlYW0tc3RhdHVzOiBVbmtub3duCisKK2RpZmYgLXVyTiBhY3BpY2EtdW5peDItMjAxNDAzMjUvdGVzdHMvYWFwaXRzL01ha2VmaWxlIGFjcGljYS11bml4Mi0yMDE0MDMyNS90ZXN0cy9hYXBpdHMvTWFrZWZpbGUKKy0tLSBhY3BpY2EtdW5peDItMjAxNDAzMjUvdGVzdHMvYWFwaXRzL01ha2VmaWxlCTIwMTQtMDQtMDUgMTQ6MjM6MTQuNjgzNjM2Nzk0IC0wNjAwCisrKysgYWNwaWNhLXVuaXgyLTIwMTQwMzI1LWFhcGl0cy90ZXN0cy9hYXBpdHMvTWFrZWZpbGUJMjAxNC0wNC0wNSAxNToxMDo1Ny44NzkxODQ1OTggLTA2MDAKK0BAIC0xNiw2ICsxNiw3IEBACisgCWF0b3N4ZndyYXAuYyBcCisgCW9zdW5peHhmLmMgXAorIAkuLi8uLi9zb3VyY2UvY29tbW9uL2FoaWRzLmMgXAorKwkuLi8uLi9zb3VyY2UvY29tbW9uL2FodXVpZHMuYyBcCisgCS4uLy4uL3NvdXJjZS9jb21tb24vY21mc2l6ZS5jIFwKKyAJLi4vLi4vc291cmNlL2NvbW1vbi9nZXRvcHQuYyBcCisgCS4uLy4uL3NvdXJjZS9jb21wb25lbnRzL2hhcmR3YXJlL2h3dGltZXIuYyBcCitAQCAtMTc0LDYgKzE3NSw3IEBACisgCS4uLy4uL3NvdXJjZS9jb21wb25lbnRzL3V0aWxpdGllcy91dGV4Y2VwLmMgXAorIAkuLi8uLi9zb3VyY2UvY29tcG9uZW50cy91dGlsaXRpZXMvdXRmaWxlaW8uYyBcCisgCS4uLy4uL3NvdXJjZS9jb21wb25lbnRzL3V0aWxpdGllcy91dGdsb2JhbC5jIFwKKysJLi4vLi4vc291cmNlL2NvbXBvbmVudHMvdXRpbGl0aWVzL3V0aGV4LmMgXAorIAkuLi8uLi9zb3VyY2UvY29tcG9uZW50cy91dGlsaXRpZXMvdXRpZHMuYyBcCisgCS4uLy4uL3NvdXJjZS9jb21wb25lbnRzL3V0aWxpdGllcy91dGluaXQuYyBcCisgCS4uLy4uL3NvdXJjZS9jb21wb25lbnRzL3V0aWxpdGllcy91dGxvY2suYyBcCitAQCAtMTg5LDYgKzE5MSw3IEBACisgCS4uLy4uL3NvdXJjZS9jb21wb25lbnRzL3V0aWxpdGllcy91dHN0YXRlLmMgXAorIAkuLi8uLi9zb3VyY2UvY29tcG9uZW50cy91dGlsaXRpZXMvdXRzdHJpbmcuYyBcCisgCS4uLy4uL3NvdXJjZS9jb21wb25lbnRzL3V0aWxpdGllcy91dHRyYWNrLmMgXAorKwkuLi8uLi9zb3VyY2UvY29tcG9uZW50cy91dGlsaXRpZXMvdXR1dWlkLmMgXAorIAkuLi8uLi9zb3VyY2UvY29tcG9uZW50cy91dGlsaXRpZXMvdXR4ZmFjZS5jIFwKKyAJLi4vLi4vc291cmNlL2NvbXBvbmVudHMvdXRpbGl0aWVzL3V0eGZlcnJvci5jIFwKKyAJLi4vLi4vc291cmNlL2NvbXBvbmVudHMvdXRpbGl0aWVzL3V0eGZpbml0LmMgXApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvYWNwaWNhL2FjcGl0ZXN0c18yMDE0MDgyOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2FjcGljYS9hY3BpdGVzdHNfMjAxNDA4MjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWY2ZjE5MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2FjcGljYS9hY3BpdGVzdHNfMjAxNDA4MjguYmIKQEAgLTAsMCArMSwzNSBAQAorU1VNTUFSWSA9ICJUZXN0IHN1aXRlIHVzZWQgdG8gdmFsaWRhdGUgQUNQSUNBIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5hY3BpY2Eub3JnLyIKKworTElDRU5TRSA9ICJJbnRlbCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3Rlc3RzL2FhcGl0cy9hdGV4ZWMuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTExNTttZDU9ZTkyYmNkZmNkMDFkMTE3ZDFiZGEzZTgxNGJiMjAzMGEiCisKK0RFUEVORFMgPSAiYmlzb24gZmxleCIKKworU1JDX1VSSSA9ICJodHRwczovL2FjcGljYS5vcmcvc2l0ZXMvYWNwaWNhL2ZpbGVzL2FjcGl0ZXN0cy11bml4LSR7UFZ9LnRhci5nejtuYW1lPWFjcGl0ZXN0cyBcCisgICAgICAgICAgIGh0dHBzOi8vYWNwaWNhLm9yZy9zaXRlcy9hY3BpY2EvZmlsZXMvYWNwaWNhLXVuaXgyLSR7UFZ9LnRhci5nejtuYW1lPWFjcGljYSBcCisgICAgICAgICAgIGZpbGU6Ly9hYXBpdHMtbGludXgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYWFwaXRzLW1ha2VmaWxlLnBhdGNoIFwKKyIKK1NSQ19VUklbYWNwaXRlc3RzLm1kNXN1bV0gPSAiZGI5ZDZmZGFhOGUzZWIxMDFkNzAwZWU1YmE0OTM4ZWQiCitTUkNfVVJJW2FjcGl0ZXN0cy5zaGEyNTZzdW1dID0gImU1NzZjNzRiZjFiZjFjOWY3MzQ4YmY5NDE5ZTA1YzhhY2ZlY2U3MTA1YWJjZGMwNTJlNjY2NzBjN2FmMmNmMDAiCitTUkNfVVJJW2FjcGljYS5tZDVzdW1dID0gIjZmMDVmMGQxMDE2NmExYjFmZjYxMDdmM2QxY2RmMWU1IgorU1JDX1VSSVthY3BpY2Euc2hhMjU2c3VtXSA9ICIwMWQ4ODY3NjU2YzViYTQxZGVjMzA3YzQzODNjZTY3NjE5NmFkNDI4MWFjMmM5ZGVjOWY1YmU1ZmFjNmQ4ODhlIgorCitTID0gIiR7V09SS0RJUn0vYWNwaXRlc3RzLXVuaXgtJHtQVn0iCisKK0VYVFJBX09FTUFLRSA9ICInQ0M9JHtUQVJHRVRfUFJFRklYfWdjYyAke0hPU1RfQ0NfQVJDSH0gJHtUT09MQ0hBSU5fT1BUSU9OU30nICdPUFRfQ0ZMQUdTPS1XYWxsJyIKKworIyBUaGUgTWFrZWZpbGVzIGV4cGVjdCBhIHNwZWNpZmljIGxheW91dAorZG9fY29tcGlsZSgpIHsKKyAgICBjcCAtYWYgJHtXT1JLRElSfS9hY3BpY2EtdW5peDItJHtQVn0vc291cmNlICR7U30KKyAgICBjZCB0ZXN0cy9hYXBpdHMKKyAgICBvZV9ydW5tYWtlCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbTA3NTUgdGVzdHMvYWFwaXRzL2Jpbi9hYXBpdHMgJHtEfSR7YmluZGlyfQorfQorCitDT01QQVRJQkxFX0hPU1QgPSAiKGkuODZ8eDg2XzY0fGFybXxhYXJjaDY0KS4qLWxpbnV4IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvYWNwaWNhL2ZpbGVzL25vLXdlcnJvci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2FjcGljYS9maWxlcy9uby13ZXJyb3IucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWQyOGY0NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2FjcGljYS9maWxlcy9uby13ZXJyb3IucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorRGVzY3JpcHRpb246IHJlbW92ZSAtV2Vycm9yIGZsYWcKK0ZvcndhcmRlZDogbm90LW5lZWRlZAorQXV0aG9yOiBGYXRoaSBCb3VkcmEgPGZhdGhpLmJvdWRyYUBsaW5hcm8ub3JnPgorCistLS0KKyBnZW5lcmF0ZS91bml4L2lhc2wvTWFrZWZpbGUgfCAgIDEyICsrKysrKy0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKKy0tLSBhL2dlbmVyYXRlL3VuaXgvaWFzbC9NYWtlZmlsZQorKysrIGIvZ2VuZXJhdGUvdW5peC9pYXNsL01ha2VmaWxlCitAQCAtMjY2LDE5ICsyNjYsMTkgQEAgJChPQkpESVIpL3BycGFyc2VyLnkuaDogJChPQkpESVIpL3BycGFycworICMgYnkgdGhlIHV0aWxpdGllcyBhYm92ZSBhbmQgdGhleSBhcmUgbm90IG5lY2Vzc2FyaWx5IEFOU0kgQywgZXRjLgorICMKKyAkKE9CSkRJUikvYXNsY29tcGlsZXJsZXgubyA6ICAgJChPQkpESVIpL2FzbGNvbXBpbGVybGV4LmMKKy0JJChDQykgLWMgJChDRkxBR1MpIC1XYWxsIC1XZXJyb3IgLW8kQCAkPAorKwkkKENDKSAtYyAkKENGTEFHUykgLVdhbGwgLW8kQCAkPAorIAorICQoT0JKRElSKS9hc2xjb21waWxlcnBhcnNlLm8gOiAkKE9CSkRJUikvYXNsY29tcGlsZXJwYXJzZS5jCistCSQoQ0MpIC1jICQoQ0ZMQUdTKSAtV2FsbCAtV2Vycm9yIC1vJEAgJDwKKysJJChDQykgLWMgJChDRkxBR1MpIC1XYWxsIC1vJEAgJDwKKyAKKyAkKE9CSkRJUikvZHRwYXJzZXJsZXgubyA6ICAgICAgJChPQkpESVIpL2R0cGFyc2VybGV4LmMKKy0JJChDQykgLWMgJChDRkxBR1MpIC1XYWxsIC1XZXJyb3IgLW8kQCAkPAorKwkkKENDKSAtYyAkKENGTEFHUykgLVdhbGwgLW8kQCAkPAorIAorICQoT0JKRElSKS9kdHBhcnNlcnBhcnNlLm8gOiAgICAkKE9CSkRJUikvZHRwYXJzZXJwYXJzZS5jCistCSQoQ0MpIC1jICQoQ0ZMQUdTKSAtV2FsbCAtV2Vycm9yIC1vJEAgJDwKKysJJChDQykgLWMgJChDRkxBR1MpIC1XYWxsIC1vJEAgJDwKKyAKKyAkKE9CSkRJUikvcHJwYXJzZXJsZXgubyA6ICAgICAgJChPQkpESVIpL3BycGFyc2VybGV4LmMKKy0JJChDQykgLWMgJChDRkxBR1MpIC1XYWxsIC1XZXJyb3IgLW8kQCAkPAorKwkkKENDKSAtYyAkKENGTEFHUykgLVdhbGwgLW8kQCAkPApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvYWNwaXRvb2wvYWNwaXRvb2xfMC41LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9hY3BpdG9vbC9hY3BpdG9vbF8wLjUuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzk2NjlkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvYWNwaXRvb2wvYWNwaXRvb2xfMC41LjEuYmIKQEAgLTAsMCArMSwxMyBAQAorREVTQ1JJUFRJT04gPSAiQWNwaXRvb2wgaXMgYSBMaW51eCBBQ1BJIGNsaWVudC4gSXQgc2ltcGx5IHJlYWRzIC9wcm9jL2FjcGkgb3IgL3N5cy9jbGFzcyBlbnRyaWVzIFwKK2FuZCBwcmVzZW50cyB0aGUgb3V0cHV0IGluIGEgbWVhbmluZ2Z1bGwsIGh1bWFuLXJlYWRhYmxlIGZvcm1hdC4iCitIT01FUEFHRSA9ICJodHRwOi8vZnJlZXVuaXguZHluZG5zLm9yZzo4MDg4L3NpdGUyL2FjcGl0b29sLnNodG1sIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitTUkNfVVJJID0gImh0dHA6Ly9uY2hjLmRsLnNvdXJjZWZvcmdlLm5ldC9wcm9qZWN0LyR7QlBOfS8ke0JQTn0vJHtQVn0vJHtCUH0udGFyLmJ6MiBcCisgICAgIgorCitpbmhlcml0IGF1dG90b29scworCitTUkNfVVJJW21kNXN1bV0gPSAiOWU0ZWM1NTIwMWJlMGJlNzFmZmJjNTZkMzhiNDJiNTciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDA0ZmI2Y2Q0MzEwMjkxOGI2MzAyY2Y1MzdhMmRiN2NlYWRkYTA0YWVmMmUwOTA2ZGRmMjMwZjgyMGRhZDM0ZiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NtcGktYmluZGluZ3MvY21waS1iaW5kaW5ncy8wMDAxLUZpeC1lcnJvci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NtcGktYmluZGluZ3MvY21waS1iaW5kaW5ncy8wMDAxLUZpeC1lcnJvci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMWEzMDNjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY21waS1iaW5kaW5ncy9jbXBpLWJpbmRpbmdzLzAwMDEtRml4LWVycm9yLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK0Zyb20gYjhlNzkxY2U5M2E0NjcwODFmYjE1OTRiOTE4NDFlMmY1N2M2MzRhMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFFpYW4gTGVpIDxxaWFubC5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogRnJpLCAxNiBKYW4gMjAxNSAxODozNzoyNiArMDgwMAorU3ViamVjdDogW1BBVENIXSBGaXggZXJyb3IKKworU2lnbmVkLW9mZi1ieTogUWlhbiBMZWkgPHFpYW5sLmZuc3RAY24uZnVqaXRzdS5jb20+CistLS0KKyBzd2lnL3B5dGhvbi9DTWFrZUxpc3RzLnR4dCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3N3aWcvcHl0aG9uL0NNYWtlTGlzdHMudHh0IGIvc3dpZy9weXRob24vQ01ha2VMaXN0cy50eHQKK2luZGV4IDM5NzYyOTYuLjgwNzNmYzggMTAwNjQ0CistLS0gYS9zd2lnL3B5dGhvbi9DTWFrZUxpc3RzLnR4dAorKysrIGIvc3dpZy9weXRob24vQ01ha2VMaXN0cy50eHQKK0BAIC0yNyw3ICsyNyw3IEBAIFNFVCggU1dJR19JTlBVVCAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uL2NtcGkuaSIgKQorIEFERF9DVVNUT01fQ09NTUFORCAoCisgICAgT1VUUFVUICAke1NXSUdfT1VUUFVUfQorICAgIENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSBlY2hvX2FwcGVuZCAiQ3JlYXRpbmcgd3JhcHBlciBjb2RlIGZvciBQeXRob24gLi4uIgorLSAgIENPTU1BTkQgJHtTV0lHX0VYRUNVVEFCTEV9IC1weXRob24gLVdhbGwgLXRocmVhZHMgLWZlYXR1cmVzIGF1dG9kb2MgLW8gJHtTV0lHX09VVFBVVH0gLW91dGRpciAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0gLUkvdXNyL2luY2x1ZGUgJHtTV0lHX0lOUFVUfQorKyAgIENPTU1BTkQgJHtTV0lHX0VYRUNVVEFCTEV9IC1weXRob24gLVdhbGwgLXRocmVhZHMgLWZlYXR1cmVzIGF1dG9kb2MgLW8gJHtTV0lHX09VVFBVVH0gLW91dGRpciAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0gLUkkRU5We1NUQUdJTkdfSU5DRElSfSAke1NXSUdfSU5QVVR9CisgICAgQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IC1FIGVjaG8gIkRvbmUuIgorICAgIFdPUktJTkdfRElSRUNUT1JZICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfQorICAgIERFUEVORFMgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uLyouaQorLS0gCisxLjguMy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NtcGktYmluZGluZ3MvY21waS1iaW5kaW5ncy8wMDAxLU1vZGlmeS1jbWFrZWxpc3QucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jbXBpLWJpbmRpbmdzL2NtcGktYmluZGluZ3MvMDAwMS1Nb2RpZnktY21ha2VsaXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyZTVlNTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jbXBpLWJpbmRpbmdzL2NtcGktYmluZGluZ3MvMDAwMS1Nb2RpZnktY21ha2VsaXN0LnBhdGNoCkBAIC0wLDAgKzEsNDEgQEAKK0Zyb20gMDcwODIyNTA3YmVmZTdjMWI4YmIxYmUyZDM2Y2IxMjE0MWQwM2I4ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFFpYW4gTGVpIDxxaWFubC5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogVHVlLCA2IEphbiAyMDE1IDE4OjM4OjMyICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIENoYW5nZSB0aGUgaW5zdGFsbCBwYXRoIGluIGNtYWtlbGlzdAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IFFpYW4gTGVpIDxxaWFubC5mbnN0QGNuLmZ1aml0c3UuY29tPgorLS0tCisgc3dpZy9weXRob24vQ01ha2VMaXN0cy50eHQgfCA4ICsrKystLS0tCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3N3aWcvcHl0aG9uL0NNYWtlTGlzdHMudHh0IGIvc3dpZy9weXRob24vQ01ha2VMaXN0cy50eHQKK2luZGV4IDM5NzYyOTYuLjkzYzg3YzEgMTAwNjQ0CistLS0gYS9zd2lnL3B5dGhvbi9DTWFrZUxpc3RzLnR4dAorKysrIGIvc3dpZy9weXRob24vQ01ha2VMaXN0cy50eHQKK0BAIC01NiwxOCArNTYsMTggQEAgVEFSR0VUX0xJTktfTElCUkFSSUVTKCAke05BTUV9IHV0aWwgKQorIAorIElOU1RBTEwoVEFSR0VUUyAke05BTUV9IExJQlJBUlkgREVTVElOQVRJT04gJHtDTVBJX0xJQlJBUllfRElSfSkKKyAjIC5weTogc3dpZyBnZW5lcmF0ZWQKKy1JTlNUQUxMKEZJTEVTICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9jbXBpLnB5IERFU1RJTkFUSU9OICR7UFlUSE9OX1NJVEVfRElSfSApCisrSU5TVEFMTChGSUxFUyAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vY21waS5weSBERVNUSU5BVElPTiAkRU5We0VOVl9JTlNUQUxMX1BBVEh9ICkKKyAKKyAKKyAjCisgIyBjbXBpX3B5d2JlbV9iaW5kaW5ncy5weTogcHJvdmlkZXIgaW1wbGVtZW50YXRpb24KKyAjCistSU5TVEFMTChGSUxFUyBjbXBpX3B5d2JlbV9iaW5kaW5ncy5weSBERVNUSU5BVElPTiAke1BZVEhPTl9TSVRFX0RJUn0gKQorK0lOU1RBTEwoRklMRVMgY21waV9weXdiZW1fYmluZGluZ3MucHkgREVTVElOQVRJT04gJEVOVntFTlZfSU5TVEFMTF9QQVRIfSApCisgI0lOU1RBTEwoRklMRVMgUHlfVW5peFByb2Nlc3NQcm92aWRlci5weSBERVNUSU5BVElPTiAvdXNyL2xpYi9weWNpbSApCisgCistSU5TVEFMTChDT0RFICJFWEVDVVRFX1BST0NFU1MoQ09NTUFORCAke1BZVEhPTl9FWEVDVVRBQkxFfSAtYyBcImZyb20gcHlfY29tcGlsZSBpbXBvcnQgY29tcGlsZTsgY29tcGlsZSgnXCRFTlZ7REVTVERJUn0ke1BZVEhPTl9TSVRFX0RJUn0vY21waS5weScsIGRmaWxlPScke1BZVEhPTl9TSVRFX0RJUn0vY21waS5weScpXCIpIikKKytJTlNUQUxMKENPREUgIkVYRUNVVEVfUFJPQ0VTUyhDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9IC1jIFwiZnJvbSBweV9jb21waWxlIGltcG9ydCBjb21waWxlOyBjb21waWxlKCdcJEVOVntERVNURElSfSRFTlZ7RU5WX0lOU1RBTExfUEFUSH0vY21waS5weScsIGRmaWxlPSdcJEVOVntFTlZfSU5TVEFMTF9QQVRIfS9jbXBpLnB5JylcIikiKQorIAorLUlOU1RBTEwoQ09ERSAiRVhFQ1VURV9QUk9DRVNTKENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gLWMgXCJmcm9tIHB5X2NvbXBpbGUgaW1wb3J0IGNvbXBpbGU7IGNvbXBpbGUoJ1wkRU5We0RFU1RESVJ9JHtQWVRIT05fU0lURV9ESVJ9L2NtcGlfcHl3YmVtX2JpbmRpbmdzLnB5JywgZGZpbGU9JyR7UFlUSE9OX1NJVEVfRElSfS9jbXBpX3B5d2JlbV9iaW5kaW5ncy5weScpXCIpIikKKytJTlNUQUxMKENPREUgIkVYRUNVVEVfUFJPQ0VTUyhDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9IC1jIFwiZnJvbSBweV9jb21waWxlIGltcG9ydCBjb21waWxlOyBjb21waWxlKCdcJEVOVntERVNURElSfSRFTlZ7RU5WX0lOU1RBTExfUEFUSH0vY21waV9weXdiZW1fYmluZGluZ3MucHknLCBkZmlsZT0nJEVOVntFTlZfSU5TVEFMTF9QQVRIfS9jbXBpX3B5d2JlbV9iaW5kaW5ncy5weScpXCIpIikKKyAKKyAKKyAKKy0tIAorMS44LjMuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jbXBpLWJpbmRpbmdzL2NtcGktYmluZGluZ3MvMDAwMS1maXgtdGhlLWJ1aWxkLWVycm9yLXdoZW4tcHl0aG9uLTMuMC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NtcGktYmluZGluZ3MvY21waS1iaW5kaW5ncy8wMDAxLWZpeC10aGUtYnVpbGQtZXJyb3Itd2hlbi1weXRob24tMy4wLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkNmYwMjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jbXBpLWJpbmRpbmdzL2NtcGktYmluZGluZ3MvMDAwMS1maXgtdGhlLWJ1aWxkLWVycm9yLXdoZW4tcHl0aG9uLTMuMC5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIDMyM2NlZDAzYTY2ZTZjZDk2M2Q4Mjc3YjY2Y2ZjYzdkY2U3NDBiZTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMZWkgTWFvaHVpIDxsZWltYW9odWlAY24uZnVqaXRzdS5jb20+CitEYXRlOiBGcmksIDE3IEp1bCAyMDE1IDAxOjMzOjQzIC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeCBYdGhlIGJ1aWxkIGVycm9yIHdoZW4gcHl0aG9uPjMuMAorCitTaWduZWQtb2ZmLWJ5OiBMZWkgTWFvaHVpIDxsZWltYW9odWlAY24uZnVqaXRzdS5jb20+CistLS0KKyBzcmMvdGFyZ2V0X3B5dGhvbi5jIHwgNyArKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL3RhcmdldF9weXRob24uYyBiL3NyYy90YXJnZXRfcHl0aG9uLmMKK2luZGV4IDkwYjQzYTEuLjJiNzZjOWUgMTAwNjQ0CistLS0gYS9zcmMvdGFyZ2V0X3B5dGhvbi5jCisrKysgYi9zcmMvdGFyZ2V0X3B5dGhvbi5jCitAQCAtMTY3LDcgKzE2NywxMiBAQCBQeUdsb2JhbEluaXRpYWxpemUoY29uc3QgQ01QSUJyb2tlciogYnJva2VyLCBDTVBJU3RhdHVzKiBzdCkKKyAgIAorICAgUHlfU2V0UHJvZ3JhbU5hbWUoImNtcGlfc3dpZyIpOworICAgUHlfSW5pdGlhbGl6ZSgpOworLSAgU1dJR0VYUE9SVCB2b2lkIFNXSUdfaW5pdCh2b2lkKTsKKysjaWYgUFlfVkVSU0lPTl9IRVggPj0gMHgwMzAwMDAwMAorK1NXSUdFWFBPUlQgUHlPYmplY3QqCisrI2Vsc2UKKysgIFNXSUdFWFBPUlQgdm9pZCAKKysjZW5kaWYKKysgIFNXSUdfaW5pdCh2b2lkKTsKKyAgIFNXSUdfaW5pdCgpOworICAgY21waU1haW5QeVRocmVhZFN0YXRlID0gUHlHSUxTdGF0ZV9HZXRUaGlzVGhyZWFkU3RhdGUoKTsKKyAgIFB5RXZhbF9SZWxlYXNlVGhyZWFkKGNtcGlNYWluUHlUaHJlYWRTdGF0ZSk7IAorLS0gCisyLjEuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jbXBpLWJpbmRpbmdzL2NtcGktYmluZGluZ3MvY21waS1iaW5kaW5ncy0wLjQuMTctbm8tcnVieS1wZXJsLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY21waS1iaW5kaW5ncy9jbXBpLWJpbmRpbmdzL2NtcGktYmluZGluZ3MtMC40LjE3LW5vLXJ1YnktcGVybC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMDcyZGE3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY21waS1iaW5kaW5ncy9jbXBpLWJpbmRpbmdzL2NtcGktYmluZGluZ3MtMC40LjE3LW5vLXJ1YnktcGVybC5wYXRjaApAQCAtMCwwICsxLDQ3IEBACitGcm9tIDdkZDAxZTMzZjlkYWM3NWYxNzcxMTNkZTlhOGZmNDU4ZDQyNjNhMTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMZWkgTWFvaHVpIDxsZWltYW9odWlAY24uZnVqaXRzdS5jb20+CitEYXRlOiBNb24sIDI0IEF1ZyAyMDE1IDExOjAwOjEzICswOTAwCitTdWJqZWN0OiBbUEFUQ0hdIGNtcGktYmluZGluZ3MtMC40LjE3IG5vIHJ1YnkgcGVybAorCitQb3J0IGZyb20gRmVkb3JhMjAKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBRaWFuIExlaSA8cWlhbmwuZm5zdEBjbi5mdWppdHN1LmNvbT4KKy0tLQorIHN3aWcvQ01ha2VMaXN0cy50eHQgfCAyMiArKysrKysrKysrKy0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3dpZy9DTWFrZUxpc3RzLnR4dCBiL3N3aWcvQ01ha2VMaXN0cy50eHQKK2luZGV4IDhiNTU1NWMuLmMyNjU1YjkgMTAwNjQ0CistLS0gYS9zd2lnL0NNYWtlTGlzdHMudHh0CisrKysgYi9zd2lnL0NNYWtlTGlzdHMudHh0CitAQCAtMTUsMTUgKzE1LDE1IEBAIElGIChQWVRIT05fTElCUkFSWSkKKyAgIEVORElGIChQWVRIT05fTElOS19MSUJTKQorIEVORElGIChQWVRIT05fTElCUkFSWSkKKyAKKy1GSU5EX1BBQ0tBR0UoUGVybCkKKy1JRiAoUEVSTF9FWEVDVVRBQkxFKQorLSAgTUVTU0FHRShTVEFUVVMgIkJ1aWxkaW5nIFBlcmwuLi4iKQorLSAgQUREX1NVQkRJUkVDVE9SWShwZXJsKQorLUVORElGIChQRVJMX0VYRUNVVEFCTEUpCisrI0ZJTkRfUEFDS0FHRShQZXJsKQorKyNJRiAoUEVSTF9FWEVDVVRBQkxFKQorKyMgIE1FU1NBR0UoU1RBVFVTICJCdWlsZGluZyBQZXJsLi4uIikKKysjICBBRERfU1VCRElSRUNUT1JZKHBlcmwpCisrI0VORElGIChQRVJMX0VYRUNVVEFCTEUpCisgCistRklORF9QQUNLQUdFKFJ1YnkpCistSUYgKFJVQllfTElCUkFSWSBBTkQgUlVCWV9JTkNMVURFX1BBVEgpCistICBNRVNTQUdFKFNUQVRVUyAiQnVpbGRpbmcgUnVieS4uLiIpCistICBBRERfU1VCRElSRUNUT1JZKHJ1YnkpCistICBPUFRJT04oIEJVSUxEX1JVQllfR0VNICJCdWlsZCBSdWJ5IEdFTSIgWUVTICkKKy1FTkRJRiAoUlVCWV9MSUJSQVJZIEFORCBSVUJZX0lOQ0xVREVfUEFUSCkKKysjRklORF9QQUNLQUdFKFJ1YnkpCisrI0lGIChSVUJZX0xJQlJBUlkgQU5EIFJVQllfSU5DTFVERV9QQVRIKQorKyMgIE1FU1NBR0UoU1RBVFVTICJCdWlsZGluZyBSdWJ5Li4uIikKKysjICBBRERfU1VCRElSRUNUT1JZKHJ1YnkpCisrIyAgT1BUSU9OKCBCVUlMRF9SVUJZX0dFTSAiQnVpbGQgUnVieSBHRU0iIFlFUyApCisrI0VORElGIChSVUJZX0xJQlJBUlkgQU5EIFJVQllfSU5DTFVERV9QQVRIKQorLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NtcGktYmluZGluZ3MvY21waS1iaW5kaW5ncy9jbXBpLWJpbmRpbmdzLTAuNC4xNy1zYmxpbS1zaWdzZWd2LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY21waS1iaW5kaW5ncy9jbXBpLWJpbmRpbmdzL2NtcGktYmluZGluZ3MtMC40LjE3LXNibGltLXNpZ3NlZ3YucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjk5MzM3MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NtcGktYmluZGluZ3MvY21waS1iaW5kaW5ncy9jbXBpLWJpbmRpbmdzLTAuNC4xNy1zYmxpbS1zaWdzZWd2LnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKK1BvcnQgZnJvbSBGZWRvcmEyMAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IFFpYW4gTGVpIDxxaWFubC5mbnN0QGNuLmZ1aml0c3UuY29tPgorCitkaWZmIC11cCBjbXBpLWJpbmRpbmdzLTAuNC4xNy9zd2lnL3B5dGhvbi9jbXBpX3B5d2JlbV9iaW5kaW5ncy5weS5vcmlnIGNtcGktYmluZGluZ3MtMC40LjE3L3N3aWcvcHl0aG9uL2NtcGlfcHl3YmVtX2JpbmRpbmdzLnB5CistLS0gY21waS1iaW5kaW5ncy0wLjQuMTcvc3dpZy9weXRob24vY21waV9weXdiZW1fYmluZGluZ3MucHkub3JpZwkyMDEyLTAzLTAxIDE3OjA1OjMxLjg3ODM2NzI4MSArMDEwMAorKysrIGNtcGktYmluZGluZ3MtMC40LjE3L3N3aWcvcHl0aG9uL2NtcGlfcHl3YmVtX2JpbmRpbmdzLnB5CTIwMTItMDMtMDEgMTc6MDY6MzQuNzE4MTEwMTM3ICswMTAwCitAQCAtMzUwLDEwICszNTAsMTAgQEAgY2xhc3MgQnJva2VyQ0lNT01IYW5kbGUob2JqZWN0KToKKyAgICAgICAgICAgICBhbGxvd19udWxsX25zID0gRmFsc2UKKyAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgYWxsb3dfbnVsbF9ucyA9IFRydWUKKy0gICAgICAgICAgICBpZiBzZWxmLmJyb2tlci5uYW1lKCkgPT0gJ1JlcXVlc3RIYW5kbGVyJzoKKysjICAgICAgICAgICAgaWYgc2VsZi5icm9rZXIubmFtZSgpID09ICdSZXF1ZXN0SGFuZGxlcic6CisgICAgICAgICAgICAgICAgICMgQ2hlY2sgc2JsaW0gYnVnICMyMTg1NDEwLgorLSAgICAgICAgICAgICAgICBpZiBpbnN0YW5jZS5wYXRoIGlzIG5vdCBOb25lOgorLSAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2UucGF0aC5uYW1lc3BhY2UgPSBOb25lCisrIyAgICAgICAgICAgICAgICBpZiBpbnN0YW5jZS5wYXRoIGlzIG5vdCBOb25lOgorKyMgICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLnBhdGgubmFtZXNwYWNlID0gTm9uZQorICAgICAgICAgaW5zdCA9IHNlbGYucHJveHkucHl3YmVtMmNtcGlfaW5zdChpbnN0YW5jZSwgYWxsb3dfbnVsbF9ucykKKyAgICAgICAgIHJ2ID0gc2VsZi5icm9rZXIuZGVsaXZlckluZGljYXRpb24oc2VsZi5jdHgsIG5zLCBpbnN0KQorICAgICAgICAgcmV0dXJuIHJ2CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jbXBpLWJpbmRpbmdzL2NtcGktYmluZGluZ3MvY21waS1iaW5kaW5ncy0wLjkuNS1weXRob24tbGliLWRpci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NtcGktYmluZGluZ3MvY21waS1iaW5kaW5ncy9jbXBpLWJpbmRpbmdzLTAuOS41LXB5dGhvbi1saWItZGlyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2YTUxZWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jbXBpLWJpbmRpbmdzL2NtcGktYmluZGluZ3MvY21waS1iaW5kaW5ncy0wLjkuNS1weXRob24tbGliLWRpci5wYXRjaApAQCAtMCwwICsxLDE3IEBACitQb3J0IGZyb20gRmVkb3JhMjAKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBRaWFuIExlaSA8cWlhbmwuZm5zdEBjbi5mdWppdHN1LmNvbT4KKworZGlmZiAtdXAgY21waS1iaW5kaW5ncy0wLjkuNS9zd2lnL3B5dGhvbi9DTWFrZUxpc3RzLnR4dC5vbGQgY21waS1iaW5kaW5ncy0wLjkuNS9zd2lnL3B5dGhvbi9DTWFrZUxpc3RzLnR4dAorLS0tIGNtcGktYmluZGluZ3MtMC45LjUvc3dpZy9weXRob24vQ01ha2VMaXN0cy50eHQub2xkCTIwMTMtMDgtMDYgMTU6NTc6MDMuNTc2Mjg1NzY0ICswMjAwCisrKysgY21waS1iaW5kaW5ncy0wLjkuNS9zd2lnL3B5dGhvbi9DTWFrZUxpc3RzLnR4dAkyMDEzLTA4LTA2IDE1OjU3OjE0Ljg5MTM0NTk0MSArMDIwMAorQEAgLTksNyArOSw3IEBAIFNFVCAoQlVJTERfU0hBUkVEX0xJQlMgT04pCisgCisgRklORF9QQUNLQUdFKFB5dGhvbkludGVycCBSRVFVSVJFRCkKKyAKKy1FWEVDVVRFX1BST0NFU1MoQ09NTUFORCAke1BZVEhPTl9FWEVDVVRBQkxFfSAtYyAiZnJvbSBzeXMgaW1wb3J0IHN0ZG91dDsgZnJvbSBkaXN0dXRpbHMgaW1wb3J0IHN5c2NvbmZpZzsgc3Rkb3V0LndyaXRlKHN5c2NvbmZpZy5nZXRfcHl0aG9uX2xpYigpKSIgT1VUUFVUX1ZBUklBQkxFIFBZVEhPTl9MSUJfRElSKQorK0VYRUNVVEVfUFJPQ0VTUyhDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9IC1jICJmcm9tIHN5cyBpbXBvcnQgc3Rkb3V0OyBmcm9tIGRpc3R1dGlscyBpbXBvcnQgc3lzY29uZmlnOyBzdGRvdXQud3JpdGUoc3lzY29uZmlnLmdldF9weXRob25fbGliKDEpKSIgT1VUUFVUX1ZBUklBQkxFIFBZVEhPTl9MSUJfRElSKQorIAorIElGIChOT1QgUFlUSE9OX1NJVEVfRElSKQorICAgU0VUIChQWVRIT05fU0lURV9ESVIgJHtQWVRIT05fTElCX0RJUn0pCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jbXBpLWJpbmRpbmdzL2NtcGktYmluZGluZ3NfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY21waS1iaW5kaW5ncy9jbXBpLWJpbmRpbmdzX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMjc0N2MzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY21waS1iaW5kaW5ncy9jbXBpLWJpbmRpbmdzX2dpdC5iYgpAQCAtMCwwICsxLDM3IEBACitTVU1NQVJZID0gIkFkYXB0ZXIgdG8gd3JpdGUgYW5kIHJ1biBDTVBJLXR5cGUgQ0lNIHByb3ZpZGVycyIKK0RFU0NSSVBUSU9OID0gIkNNUEktY29tcGxpYW50IHByb3ZpZGVyIGludGVyZmFjZSBmb3IgdmFyaW91cyBsYW5ndWFnZXMgdmlhIFNXSUciCitIT01FUEFHRSA9ICJodHRwOi8vZ2l0aHViLmNvbS9ra2FlbXBmL2NtcGktYmluZGluZ3MiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIxOWVlMDU4ZDJkNWY2OWFmNDVkYTk4MDUxZDkxMDY0IgorU0VDVElPTiA9ICJEZXZlbG9wbWVudC9MaWJyYXJpZXMiCitERVBFTkRTID0gInN3aWctbmF0aXZlIHB5dGhvbiBzYmxpbS1jbXBpLWRldmVsIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20va2thZW1wZi9jbXBpLWJpbmRpbmdzLmdpdDtwcm90b2NvbD1odHRwIFwKKyAgICAgICAgICAgZmlsZTovL2NtcGktYmluZGluZ3MtMC40LjE3LW5vLXJ1YnktcGVybC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9jbXBpLWJpbmRpbmdzLTAuNC4xNy1zYmxpbS1zaWdzZWd2LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2NtcGktYmluZGluZ3MtMC45LjUtcHl0aG9uLWxpYi1kaXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Nb2RpZnktY21ha2VsaXN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWVycm9yLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZml4LXRoZS1idWlsZC1lcnJvci13aGVuLXB5dGhvbi0zLjAucGF0Y2ggXAorICAgICAgICAgICIKKworU1JDUkVWID0gIjYyZjYwZTA2NWFhMWI5MDFmODI2ZTRmNTMwYzA1NzNhZTMyZDA2NWUiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGNtYWtlIHB5dGhvbm5hdGl2ZQorCitFWFRSQV9PRUNNQUtFID0gIi1ETElCPScke2Jhc2VsaWJ9JyBcCisgICAgICAgICAgICAgICAgIC1EUFlUSE9OX0lOQ0xVREVfUEFUSD0ke1NUQUdJTkdfSU5DRElSfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0iCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIGV4cG9ydCBIT1NUX1NZUz0ke0hPU1RfU1lTfQorICAgIGV4cG9ydCBCVUlMRF9TWVM9JHtCVUlMRF9TWVN9CisgICAgZXhwb3J0IFNUQUdJTkdfTElCRElSPSR7U1RBR0lOR19MSUJESVJ9CisgICAgZXhwb3J0IFNUQUdJTkdfSU5DRElSPSR7U1RBR0lOR19JTkNESVJ9CisgICAgZXhwb3J0IEVOVl9JTlNUQUxMX1BBVEg9JHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0KK30KKworRklMRVNfJHtQTn0gPSsiJHtsaWJkaXJ9L2NtcGkvbGlicHlDbXBpUHJvdmlkZXIuc28gJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKiIKK0ZJTEVTXyR7UE59LWRiZyA9KyAiJHtsaWJkaXJ9L2NtcGkvLmRlYnVnL2xpYnB5Q21waVByb3ZpZGVyLnNvIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkLzAwMDEtY29uZGl0aW9uYWxseS1jaGVjay1saWJ2aXJ0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY29sbGVjdGQvY29sbGVjdGQvMDAwMS1jb25kaXRpb25hbGx5LWNoZWNrLWxpYnZpcnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDBhNTgwNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkLzAwMDEtY29uZGl0aW9uYWxseS1jaGVjay1saWJ2aXJ0LnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKK1tQQVRDSF0gY29uZGl0aW9uYWxseSBjaGVjayBsaWJ2aXJ0CisKK1Vwc3RyZWFtLVN0YXR1ZTogUGVuZGluZworCitjaGVjayBpZiBsaWJ2aXJ0IGlzIGF2YWlsYWJsZSBvbmx5IHdoZW4gYSB1c2VyIHdhbnRzIHRvIHVzZSBsaWJ2aXJ0CisKK1NpZ25lZC1vZmYtYnk6IFJveSBMaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDE0ICsrKysrKysrLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggOTIzNDk4ZS4uNzIwNjA5NSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNDc3OCwxMiArNDc3OCwxNCBAQCB0aGVuCisgCQl3aXRoX2xpYnhtbDI9Im5vIChwa2ctY29uZmlnIGRvZXNuJ3Qga25vdyBsaWJ4bWwtMi4wKSIKKyAJZmkKKyAKKy0JJFBLR19DT05GSUcgLS1leGlzdHMgbGlidmlydCAyPi9kZXYvbnVsbAorLQlpZiB0ZXN0ICIkPyIgPSAiMCIKKy0JdGhlbgorLQkJd2l0aF9saWJ2aXJ0PSJ5ZXMiCistCWVsc2UKKy0JCXdpdGhfbGlidmlydD0ibm8gKHBrZy1jb25maWcgZG9lc24ndCBrbm93IGxpYnZpcnQpIgorKwlpZiB0ZXN0ICJ4JGVuYWJsZV9saWJ2aXJ0IiA9ICJ4eWVzIjsgdGhlbgorKwkJJFBLR19DT05GSUcgLS1leGlzdHMgbGlidmlydCAyPi9kZXYvbnVsbAorKwkJaWYgdGVzdCAiJD8iID0gIjAiCisrCQl0aGVuCisrCQkJd2l0aF9saWJ2aXJ0PSJ5ZXMiCisrCQllbHNlCisrCQkJd2l0aF9saWJ2aXJ0PSJubyAocGtnLWNvbmZpZyBkb2Vzbid0IGtub3cgbGlidmlydCkiCisrCQlmaQorIAlmaQorIGZpCisgaWYgdGVzdCAieCR3aXRoX2xpYnhtbDIiID0gInh5ZXMiCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkLzAwMDEtcmVkZWZpbmUtdGhlLWRlcGVuZGVuY2UucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jb2xsZWN0ZC9jb2xsZWN0ZC8wMDAxLXJlZGVmaW5lLXRoZS1kZXBlbmRlbmNlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmNmFmYWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jb2xsZWN0ZC9jb2xsZWN0ZC8wMDAxLXJlZGVmaW5lLXRoZS1kZXBlbmRlbmNlLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK1tQQVRDSF0gZGVmaW5lIHRoZSBjb2xsZWN0ZCBkZXBlbmRlbmNlCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitsaWJhdmx0cmVlLmxhIGxpYmNvbW1vbi5sYSBsaWJoZWFwLmxhIGFyZSBjcmVhdGVkIGR5bmFtaWNhbGx5LCBhbmQgaW4gTERBREQsCitidXQgbm90IGluIERFUEVOREVOQ0lFUworCitTaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvZGFlbW9uL01ha2VmaWxlLmFtIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2RhZW1vbi9NYWtlZmlsZS5hbSBiL3NyYy9kYWVtb24vTWFrZWZpbGUuYW0KK2luZGV4IDEwODYwZWMuLjdmODI2ZTMgMTAwNjQ0CistLS0gYS9zcmMvZGFlbW9uL01ha2VmaWxlLmFtCisrKysgYi9zcmMvZGFlbW9uL01ha2VmaWxlLmFtCitAQCAtNDksNyArNDksNyBAQCBjb2xsZWN0ZF9DUFBGTEFHUyA9ICAkKEFNX0NQUEZMQUdTKSAkKExURExJTkNMKQorIGNvbGxlY3RkX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKQorIGNvbGxlY3RkX0xERkxBR1MgPSAtZXhwb3J0LWR5bmFtaWMKKyBjb2xsZWN0ZF9MREFERCA9IGxpYmF2bHRyZWUubGEgbGliY29tbW9uLmxhIGxpYmhlYXAubGEgLWxtCistY29sbGVjdGRfREVQRU5ERU5DSUVTID0KKytjb2xsZWN0ZF9ERVBFTkRFTkNJRVMgPSBsaWJhdmx0cmVlLmxhIGxpYmNvbW1vbi5sYSBsaWJoZWFwLmxhCisgCisgIyBMaW5rIHRvIHRoZXNlIGxpYnJhcmllcy4uCisgaWYgQlVJTERfV0lUSF9MSUJSVAorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jb2xsZWN0ZC9jb2xsZWN0ZC9jb2xsZWN0ZC12ZXJzaW9uLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY29sbGVjdGQvY29sbGVjdGQvY29sbGVjdGQtdmVyc2lvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NmMzZjY1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY29sbGVjdGQvY29sbGVjdGQvY29sbGVjdGQtdmVyc2lvbi5wYXRjaApAQCAtMCwwICsxLDI5IEBACitEb24ndCBwaWNrIHVwIHZlcnNpb24gc3RyaW5nIGZyb20gcGFyZW50IGdpdCByZXBvc2l0b3J5CisKK0lmIHRoZSBjb2xsZWN0ZCBzb3VyY2UgaXMgZXh0cmFjdGVkIGZyb20gYSB0YXJiYWxsIHVuZGVybmVhdGggYQorZGlyZWN0b3J5IHN0cnVjdHVyZSB0aGF0IGluY2x1ZGVzIGFub3RoZXIgZ2l0IHJlcG9zaXRvcnksIHRoYXQKK3JlcG9zaXRvcnkgd2lsbCBiZSBwaWNrZWQgdXAgYnkgImdpdCBkZXNjcmliZSIgd2hpY2ggaXMgbm90CitkZXNpcmFibGUuIENoZWNrIHdoZXRoZXIgY29sbGVjdGQgaXRzZWxmIGlzIGEgZ2l0IHJlcG9zaXRvcnkgYW5kIGp1c3QKK3VzZSB0aGUgZGVmYXVsdCB2ZXJzaW9uIGlmIG5vdC4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFBhdWwgRWdnbGV0b24gPHBhdWwuZWdnbGV0b25AbGludXguaW50ZWwuY29tPgorCitkaWZmIC0tZ2l0IGEvdmVyc2lvbi1nZW4uc2ggYi92ZXJzaW9uLWdlbi5zaAoraW5kZXggYjA5YmU4ZS4uMjY3MTA2NiAxMDA3NTUKKy0tLSBhL3ZlcnNpb24tZ2VuLnNoCisrKysgYi92ZXJzaW9uLWdlbi5zaAorQEAgLTIsOCArMiwxMCBAQAorIAorIERFRkFVTFRfVkVSU0lPTj0iNS41LjAuZ2l0IgorIAorLVZFUlNJT049ImBnaXQgZGVzY3JpYmUgMj4gL2Rldi9udWxsIHwgZ3JlcCBjb2xsZWN0ZCB8IHNlZCAtZSAncy9eY29sbGVjdGQtLy8nYCIKKy0KKytWRVJTSU9OPSIiCisraWYgdGVzdCAtZCAuZ2l0IDsgdGhlbgorKwlWRVJTSU9OPSJgZ2l0IGRlc2NyaWJlIDI+IC9kZXYvbnVsbCB8IGdyZXAgY29sbGVjdGQgfCBzZWQgLWUgJ3MvXmNvbGxlY3RkLS8vJ2AiCisrZmkKKyBpZiB0ZXN0IC16ICIkVkVSU0lPTiI7IHRoZW4KKyAJVkVSU0lPTj0iJERFRkFVTFRfVkVSU0lPTiIKKyBmaQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY29sbGVjdGQvY29sbGVjdGQvY29sbGVjdGQuaW5pdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkL2NvbGxlY3RkLmluaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTVmNWY3MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkL2NvbGxlY3RkLmluaXQKQEAgLTAsMCArMSwyMTIgQEAKKyMhL2Jpbi9zaAorIworIyBjb2xsZWN0ZCAtIHN0YXJ0IGFuZCBzdG9wIHRoZSBzdGF0aXN0aWNzIGNvbGxlY3Rpb24gZGFlbW9uCisjIGh0dHA6Ly9jb2xsZWN0ZC5vcmcvCisjCisjIENvcHlyaWdodCAoQykgMjAwNS0yMDA2IEZsb3JpYW4gRm9yc3RlciA8b2N0b0B2ZXJwbGFudC5vcmc+CisjIENvcHlyaWdodCAoQykgMjAwNi0yMDA5IFNlYmFzdGlhbiBIYXJsIDx0b2trZWVAZGViaWFuLm9yZz4KKyMKKworIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogICAgICAgICAgY29sbGVjdGQKKyMgUmVxdWlyZWQtU3RhcnQ6ICAgICRsb2NhbF9mcyAkcmVtb3RlX2ZzCisjIFJlcXVpcmVkLVN0b3A6ICAgICAkbG9jYWxfZnMgJHJlbW90ZV9mcworIyBTaG91bGQtU3RhcnQ6ICAgICAgJG5ldHdvcmsgJG5hbWVkICRzeXNsb2cgJHRpbWUgY3B1ZnJlcXV0aWxzCisjIFNob3VsZC1TdG9wOiAgICAgICAkbmV0d29yayAkbmFtZWQgJHN5c2xvZworIyBEZWZhdWx0LVN0YXJ0OiAgICAgMiAzIDQgNQorIyBEZWZhdWx0LVN0b3A6ICAgICAgMCAxIDYKKyMgU2hvcnQtRGVzY3JpcHRpb246IG1hbmFnZSB0aGUgc3RhdGlzdGljcyBjb2xsZWN0aW9uIGRhZW1vbgorIyBEZXNjcmlwdGlvbjogICAgICAgY29sbGVjdGQgaXMgdGhlIHN0YXRpc3RpY3MgY29sbGVjdGlvbiBkYWVtb24uCisjICAgICAgICAgICAgICAgICAgICBJdCBpcyBhIHNtYWxsIGRhZW1vbiB3aGljaCBjb2xsZWN0cyBzeXN0ZW0gaW5mb3JtYXRpb24KKyMgICAgICAgICAgICAgICAgICAgIHBlcmlvZGljYWxseSBhbmQgcHJvdmlkZXMgbWVjaGFuaXNtcyB0byBtb25pdG9yIGFuZCBzdG9yZQorIyAgICAgICAgICAgICAgICAgICAgdGhlIHZhbHVlcyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KKyMjIyBFTkQgSU5JVCBJTkZPCisKKy4gL2V0Yy9pbml0LmQvZnVuY3Rpb25zCisKK2V4cG9ydCBQQVRIPS9zYmluOi9iaW46L3Vzci9zYmluOi91c3IvYmluCisKK0RJU0FCTEU9MAorCitOQU1FPWNvbGxlY3RkCitEQUVNT049L3Vzci9zYmluL2NvbGxlY3RkCisKK0NPTkZJR0ZJTEU9L2V0Yy9jb2xsZWN0ZC5jb25mCitQSURGSUxFPS92YXIvcnVuL2NvbGxlY3RkLnBpZAorCitVU0VfQ09MTEVDVERNT049MQorQ09MTEVDVERNT05fREFFTU9OPS91c3Ivc2Jpbi9jb2xsZWN0ZG1vbgorQ09MTEVDVERNT05fUElERklMRT0vdmFyL3J1bi9jb2xsZWN0ZG1vbi5waWQKKworTUFYV0FJVD0zMAorCisjIEdyYWNlZnVsbHkgZXhpdCBpZiB0aGUgcGFja2FnZSBoYXMgYmVlbiByZW1vdmVkLgordGVzdCAteCAkREFFTU9OIHx8IGV4aXQgMAorCitpZiBbIC1yIC9ldGMvZGVmYXVsdC8kTkFNRSBdOyB0aGVuCisJLiAvZXRjL2RlZmF1bHQvJE5BTUUKK2ZpCisKK2lmIHRlc3QgIiRFTkFCTEVfQ09SRUZJTEVTIiA9PSAxOyB0aGVuCisJdWxpbWl0IC1jIHVubGltaXRlZAorZmkKKworaWYgdGVzdCAiJFVTRV9DT0xMRUNURE1PTiIgPT0gMTsgdGhlbgorCV9QSURGSUxFPSIkQ09MTEVDVERNT05fUElERklMRSIKK2Vsc2UKKwlfUElERklMRT0iJFBJREZJTEUiCitmaQorCisjIHJldHVybjoKKyMgICAwIGlmIGNvbmZpZyBpcyBmaW5lCisjICAgMSBpZiB0aGVyZSBpcyBhIHN5bnRheCBlcnJvcgorIyAgIDIgaWYgdGhlcmUgaXMgbm8gY29uZmlndXJhdGlvbgorY2hlY2tfY29uZmlnKCkgeworCWlmIHRlc3QgISAtZSAiJENPTkZJR0ZJTEUiOyB0aGVuCisJCXJldHVybiAyCisJZmkKKwlpZiAhICREQUVNT04gLXQgLUMgIiRDT05GSUdGSUxFIjsgdGhlbgorCQlyZXR1cm4gMQorCWZpCisJcmV0dXJuIDAKK30KKworIyByZXR1cm46CisjICAgMCBpZiB0aGUgZGFlbW9uIGhhcyBiZWVuIHN0YXJ0ZWQKKyMgICAxIGlmIHRoZSBkYWVtb24gd2FzIGFscmVhZHkgcnVubmluZworIyAgIDIgaWYgdGhlIGRhZW1vbiBjb3VsZCBub3QgYmUgc3RhcnRlZAorIyAgIDMgaWYgdGhlIGRhZW1vbiB3YXMgbm90IHN1cHBvc2VkIHRvIGJlIHN0YXJ0ZWQKK2Rfc3RhcnQoKSB7CisJaWYgdGVzdCAiJERJU0FCTEUiICE9IDA7IHRoZW4KKwkJIyB3ZSBnZXQgaGVyZSBkdXJpbmcgcmVzdGFydAorCQllY2hvICJkaXNhYmxlZCBieSAvZXRjL2RlZmF1bHQvJE5BTUUiCisJCXJldHVybiAzCisJZmkKKworCWlmIHRlc3QgISAtZSAiJENPTkZJR0ZJTEUiOyB0aGVuCisJCSMgd2UgZ2V0IGhlcmUgZHVyaW5nIHJlc3RhcnQKKwkJZWNobyAiZGlzYWJsZWQsIG5vIGNvbmZpZ3VyYXRpb24gKCRDT05GSUdGSUxFKSBmb3VuZCIKKwkJcmV0dXJuIDMKKwlmaQorCisJY2hlY2tfY29uZmlnCisJcmM9IiQ/IgorCWlmIHRlc3QgIiRyYyIgLW5lIDA7IHRoZW4KKwkJZWNobyAibm90IHN0YXJ0aW5nLCBjb25maWd1cmF0aW9uIGVycm9yIgorCQlyZXR1cm4gMgorCWZpCisKKwlpZiB0ZXN0ICIkVVNFX0NPTExFQ1RETU9OIiA9PSAxOyB0aGVuCisJCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLS1xdWlldCAtLW9rbm9kbyAtLXBpZGZpbGUgIiRfUElERklMRSIgXAorCQkJLS1leGVjICRDT0xMRUNURE1PTl9EQUVNT04gLS0gLVAgIiRfUElERklMRSIgLS0gLUMgIiRDT05GSUdGSUxFIiBcCisJCQl8fCByZXR1cm4gMgorCWVsc2UKKwkJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tb2tub2RvIC0tcGlkZmlsZSAiJF9QSURGSUxFIiBcCisJCQktLWV4ZWMgJERBRU1PTiAtLSAtQyAiJENPTkZJR0ZJTEUiIC1QICIkX1BJREZJTEUiIFwKKwkJCXx8IHJldHVybiAyCisJZmkKKwlyZXR1cm4gMAorfQorCitzdGlsbF9ydW5uaW5nX3dhcm5pbmc9IgorV0FSTklORzogJE5BTUUgbWlnaHQgc3RpbGwgYmUgcnVubmluZy4KK0luIGxhcmdlIHNldHVwcyBpdCBtaWdodCB0YWtlIHNvbWUgdGltZSB0byB3cml0ZSBhbGwgcGVuZGluZyBkYXRhIHRvCit0aGUgZGlzay4gWW91IGNhbiBhZGp1c3QgdGhlIHdhaXRpbmcgdGltZSBpbiAvZXRjL2RlZmF1bHQvY29sbGVjdGQuIgorCisjIHJldHVybjoKKyMgICAwIGlmIHRoZSBkYWVtb24gaGFzIGJlZW4gc3RvcHBlZAorIyAgIDEgaWYgdGhlIGRhZW1vbiB3YXMgYWxyZWFkeSBzdG9wcGVkCisjICAgMiBpZiBkYWVtb24gY291bGQgbm90IGJlIHN0b3BwZWQKK2Rfc3RvcCgpIHsKKwlQSUQ9JCggY2F0ICIkX1BJREZJTEUiIDI+IC9kZXYvbnVsbCApIHx8IHRydWUKKworCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXF1aWV0IC0tb2tub2RvIC0tcGlkZmlsZSAiJF9QSURGSUxFIgorCXJjPSIkPyIKKworCWlmIHRlc3QgIiRyYyIgLWVxIDI7IHRoZW4KKwkJcmV0dXJuIDIKKwlmaQorCisJc2xlZXAgMQorCWlmIHRlc3QgLW4gIiRQSUQiICYmIGtpbGwgLTAgJFBJRCAyPiAvZGV2L251bGw7IHRoZW4KKwkJaT0wCisJCXdoaWxlIGtpbGwgLTAgJFBJRCAyPiAvZGV2L251bGw7IGRvCisJCQlpPSQoKCAkaSArIDIgKSkKKwkJCWVjaG8gLW4gIiAuIgorCisJCQlpZiB0ZXN0ICRpIC1ndCAkTUFYV0FJVDsgdGhlbgorCQkJCWVjaG8gIiRzdGlsbF9ydW5uaW5nX3dhcm5pbmciCisJCQkJcmV0dXJuIDIKKwkJCWZpCisKKwkJCXNsZWVwIDIKKwkJZG9uZQorCQlyZXR1cm4gIiRyYyIKKwlmaQorCXJldHVybiAiJHJjIgorfQorCisjIHJldHVybjoKKyMgICAwIGlmIHRoZSBkYWVtb24gaXMgcnVubmluZworIyAgIDMgaWYgdGhlIGRhZW1vbiBpcyBzdG9wcGVkCitkX3N0YXR1cygpeworCWlmIHRlc3QgIiRVU0VfQ09MTEVDVERNT04iID09IDE7IHRoZW4KKwkJc3RhdHVzICRDT0xMRUNURE1PTl9EQUVNT04KKwllbHNlCisJCXN0YXR1cyAkREFFTU9OCisJZmkKK30KKworY2FzZSAiJDEiIGluCisJc3RhcnQpCisJCWVjaG8gLW4gIlN0YXJ0aW5nICROQU1FIgorCQlkX3N0YXJ0CisJCWNhc2UgIiQ/IiBpbgorCQkJMHwxKSBlY2hvICIuIiA7OworCQkJKikgZXhpdCAxIDs7CisJCWVzYWMKKwkJOzsKKwlzdG9wKQorCQllY2hvIC1uICJTdG9wcGluZyAkTkFNRSIKKwkJZF9zdG9wCisJCWNhc2UgIiQ/IiBpbgorCQkJMHwxKSBlY2hvICIuIiA7OworCQkJKikgZXhpdCAxIDs7CisJCWVzYWMKKwkJOzsKKwlzdGF0dXMpCisJCWRfc3RhdHVzCisJCTs7CisJcmVzdGFydHxmb3JjZS1yZWxvYWQpCisJCWVjaG8gLW4gIlJlc3RhcnRpbmcgJE5BTUUiCisJCWNoZWNrX2NvbmZpZworCQlyYz0iJD8iCisJCWlmIHRlc3QgIiRyYyIgLWVxIDE7IHRoZW4KKwkJCWVjaG8gIm5vdCByZXN0YXJ0aW5nLCBjb25maWd1cmF0aW9uIGVycm9yIgorCQkJZXhpdCAxCisJCWZpCisJCWRfc3RvcAorCQlyYz0iJD8iCisJCWNhc2UgIiRyYyIgaW4KKwkJCTB8MSkKKwkJCQlzbGVlcCAxCisJCQkJZF9zdGFydAorCQkJCXJjMj0iJD8iCisJCQkJY2FzZSAiJHJjMiIgaW4KKwkJCQkJMHwxKSBlY2hvICIuIiA7OworCQkJCQkqKSBleGl0IDEgOzsKKwkJCQllc2FjCisJCQkJOzsKKwkJCSopCisJCQkJZXhpdCAxCisJCQkJOzsKKwkJZXNhYworCQk7OworCSopCisJCWVjaG8gIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxyZXN0YXJ0fGZvcmNlLXJlbG9hZHxzdGF0dXN9IiA+JjIKKwkJZXhpdCAzCisJCTs7Citlc2FjCisKKyMgdmltOiBzeW50YXg9c2ggbm9leHBhbmR0YWIgc3c9NCB0cz00IDoKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY29sbGVjdGQvY29sbGVjdGQvY29sbGVjdGQuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkL2NvbGxlY3RkLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDgzNWI3MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkL2NvbGxlY3RkLnNlcnZpY2UKQEAgLTAsMCArMSwxMiBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1Db2xsZWN0ZAorQWZ0ZXI9bG9jYWwtZnMudGFyZ2V0IG5ldHdvcmsudGFyZ2V0CitSZXF1aXJlcz1sb2NhbC1mcy50YXJnZXQgbmV0d29yay50YXJnZXQKKworW1NlcnZpY2VdCitFeGVjU3RhcnQ9QFNCSU5ESVJAL2NvbGxlY3RkIC1DIC9ldGMvY29sbGVjdGQuY29uZiAtZgorUmVzdGFydD1hbHdheXMKK1Jlc3RhcnRTZWM9MTAKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY29sbGVjdGQvY29sbGVjdGQvbm8tZ2NyeXB0LWJhZHBhdGgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jb2xsZWN0ZC9jb2xsZWN0ZC9uby1nY3J5cHQtYmFkcGF0aC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZTg3NmFlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY29sbGVjdGQvY29sbGVjdGQvbm8tZ2NyeXB0LWJhZHBhdGgucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRGlzYWJsZSBkZWZhdWx0aW5nIG9mIEdDUllQVF9MREZMQUdTIHRvIC1ML3Vzci9saWIKKworUHJldmVudHMgInVuc2FmZSBmb3IgY3Jvc3MgY29tcGlsYXRpb24iIHdhcm5pbmdzIHRoYXQgY2F1c2UKK2RvX3FhX2NvbmZpZ3VyZSB0byBmYWlsLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IFBhdWwgRWdnbGV0b24gPHBhdWwuZWdnbGV0b25AbGludXguaW50ZWwuY29tPgorCitJbmRleDogY29sbGVjdGQtNS40LjEvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gY29sbGVjdGQtNS40LjEub3JpZy9jb25maWd1cmUuYWMJMjAxNC0wOS0wMyAwMToyMDoyMi4wNjIwODQyNDQgLTA3MDAKKysrKyBjb2xsZWN0ZC01LjQuMS9jb25maWd1cmUuYWMJMjAxNC0wOS0wMyAwMToyMDoyMi4wNTgwODQyNDQgLTA3MDAKK0BAIC0xODY3LDExICsxODY3LDExIEBACisgCQlHQ1JZUFRfQ1BQRkxBR1M9YCIkd2l0aF9saWJnY3J5cHRfY29uZmlnIiAtLWNmbGFncyAyPi9kZXYvbnVsbGAKKyAJZmkKKyAKKy0JaWYgdGVzdCAieCRHQ1JZUFRfTERGTEFHUyIgPSAieCIKKy0JdGhlbgorLQkJZ2NyeXB0X2V4ZWNfcHJlZml4PWAiJHdpdGhfbGliZ2NyeXB0X2NvbmZpZyIgLS1leGVjLXByZWZpeCAyPi9kZXYvbnVsbGAKKy0JCUdDUllQVF9MREZMQUdTPSItTCRnY3J5cHRfZXhlY19wcmVmaXgvbGliIgorLQlmaQorKyMJaWYgdGVzdCAieCRHQ1JZUFRfTERGTEFHUyIgPSAieCIKKysjCXRoZW4KKysjCQlnY3J5cHRfZXhlY19wcmVmaXg9YCIkd2l0aF9saWJnY3J5cHRfY29uZmlnIiAtLWV4ZWMtcHJlZml4IDI+L2Rldi9udWxsYAorKyMJCUdDUllQVF9MREZMQUdTPSItTCRnY3J5cHRfZXhlY19wcmVmaXgvbGliIgorKyMJZmkKKyAKKyAJaWYgdGVzdCAieCRHQ1JZUFRfTElCUyIgPSAieCIKKyAJdGhlbgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY29sbGVjdGQvY29sbGVjdGRfNS41LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jb2xsZWN0ZC9jb2xsZWN0ZF81LjUuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTM0NzZmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY29sbGVjdGQvY29sbGVjdGRfNS41LjAuYmIKQEAgLTAsMCArMSw4NCBAQAorU1VNTUFSWSA9ICJDb2xsZWN0cyBhbmQgc3VtbWFyaXNlcyBzeXN0ZW0gcGVyZm9ybWFuY2Ugc3RhdGlzdGljcyIKK0RFU0NSSVBUSU9OID0gImNvbGxlY3RkIGlzIGEgZGFlbW9uIHdoaWNoIGNvbGxlY3RzIHN5c3RlbSBwZXJmb3JtYW5jZSBzdGF0aXN0aWNzIHBlcmlvZGljYWxseSBhbmQgcHJvdmlkZXMgbWVjaGFuaXNtcyB0byBzdG9yZSB0aGUgdmFsdWVzIGluIGEgdmFyaWV0eSBvZiB3YXlzLCBmb3IgZXhhbXBsZSBpbiBSUkQgZmlsZXMuIgorTElDRU5TRSA9ICJHUEx2MiAmIE1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTFiZDIxZjE5ZjdmMGM2MWE3YmU4ZWNhY2IwZTI4ODU0IgorCitERVBFTkRTID0gInJyZHRvb2wgY3VybCBsaWJwY2FwIGxpYnhtbDIgeWFqbCBsaWJnY3J5cHQgbGlidG9vbCBsdm0yIgorCitTUkNfVVJJID0gImh0dHA6Ly9jb2xsZWN0ZC5vcmcvZmlsZXMvY29sbGVjdGQtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9uby1nY3J5cHQtYmFkcGF0aC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9jb2xsZWN0ZC12ZXJzaW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtcmVkZWZpbmUtdGhlLWRlcGVuZGVuY2UucGF0Y2ggIFwKKyAgICAgICAgICAgZmlsZTovL2NvbGxlY3RkLmluaXQgXAorICAgICAgICAgICBmaWxlOi8vY29sbGVjdGQuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmRpdGlvbmFsbHktY2hlY2stbGlidmlydC5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiYzM5MzA1ZWY1NTE0YjQ0MjM4YjBkMzFmNzdlMjllNmEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODQ3Njg0Y2Y1YzEwZGUxZGMzNDE0NTA3OGFmM2ZjZjZlMGQxNjhiYTk4YzE0ZjEzNDNiMTA2MmE0YjU2OWU4OCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcHl0aG9ubmF0aXZlIHVwZGF0ZS1yYy5kIHBrZ2NvbmZpZyBzeXN0ZW1kCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJjb2xsZWN0ZC5zZXJ2aWNlIgorCisjIEZsb2F0aW5ncG9pbnQgbGF5b3V0LCBhcmNoaXRlY3R1cmUgZGVwZW5kZW50CisjICdub3RoaW5nJywgJ2VuZGlhbmZsaXAnIG9yICdpbnRzd2FwJworRlBMQVlPVVQgPz0gIi0td2l0aC1mcC1sYXlvdXQ9bm90aGluZyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbb3Blbmpka10gPSAiLS13aXRoLWphdmE9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtsaWJkaXJ9L2p2bSwtLXdpdGhvdXQtamF2YSxvcGVuamRrLTciCitQQUNLQUdFQ09ORklHW3NubXBdID0gIi0tZW5hYmxlLXNubXAsLS1kaXNhYmxlLXNubXAgLS13aXRoLWxpYm5ldHNubXA9bm8sbmV0LXNubXAiCitQQUNLQUdFQ09ORklHW2xpYm1lbWNhY2hlZF0gPSAiLS13aXRoLWxpYm1lbWNhY2hlZCwtLXdpdGhvdXQtbGlibWVtY2FjaGVkLGxpYm1lbWNhY2hlZCIKK1BBQ0tBR0VDT05GSUdbaXB0YWJsZXNdID0gIi0tZW5hYmxlLWlwdGFibGVzLC0tZGlzYWJsZS1pcHRhYmxlcyxpcHRhYmxlcyIKK1BBQ0tBR0VDT05GSUdbcG9zdGdyZXNxbF0gPSAiLS1lbmFibGUtcG9zdGdyZXNxbCAtLXdpdGgtbGlicHE9eWVzLCBcCisgICAgICAgIC0tZGlzYWJsZS1wb3N0Z3Jlc3FsIC0td2l0aC1saWJwcT1ubyxwb3N0Z3Jlc3FsIgorUEFDS0FHRUNPTkZJR1tteXNxbF0gPSAiLS1lbmFibGUtbXlzcWwgLS13aXRoLWxpYm15c3FsPXllcywgXAorICAgICAgICAtLWRpc2FibGUtbXlzcWwgLS13aXRoLWxpYm15c3FsPW5vLG15c3FsNSIKK1BBQ0tBR0VDT05GSUdbZGJpXSA9ICItLWVuYWJsZS1kYmksLS1kaXNhYmxlLWRiaSxsaWJkYmkiCitQQUNLQUdFQ09ORklHW21vZGJ1c10gPSAiLS1lbmFibGUtbW9kYnVzLC0tZGlzYWJsZS1tb2RidXMsbGlibW9kYnVzIgorUEFDS0FHRUNPTkZJR1tsaWJvd2NhcGldID0gIi0td2l0aC1saWJvd2NhcGksLS13aXRob3V0LWxpYm93Y2FwaSxvd2ZzIgorUEFDS0FHRUNPTkZJR1tzZW5zb3JzXSA9ICItLWVuYWJsZS1zZW5zb3JzIC0td2l0aC1saWJzZW5zb3JzPXllcywgXAorICAgICAgICAtLWRpc2FibGUtc2Vuc29ycyAtLXdpdGgtbGlic2Vuc29ycz1ubyxsbXNlbnNvcnMiCitQQUNLQUdFQ09ORklHW2FtcXBdID0gIi0tZW5hYmxlLWFtcXAgLS13aXRoLWxpYnJhYmJpdG1xPXllcywgXAorICAgICAgICAtLWRpc2FibGUtYW1xcCAtLXdpdGgtbGlicmFiYml0bXE9bm8scmFiYml0bXEtYyIKKyMgcHJvdG9idWYtYywgbGlidmlydCB0aGF0IGFyZSBjdXJyZW50bHkgb25seSBhdmFpbGFibGUgaW4gbWV0YS12aXJ0dWFsaXphdGlvbiBsYXllcgorUEFDS0FHRUNPTkZJR1twaW5iYV0gPSAiLS1lbmFibGUtcGluYmEsLS1kaXNhYmxlLXBpbmJhLHByb3RvYnVmLWMtbmF0aXZlIHByb3RvYnVmLWMiCitQQUNLQUdFQ09ORklHW2xpYnZpcnRdID0gIi0tZW5hYmxlLWxpYnZpcnQsLS1kaXNhYmxlLWxpYnZpcnQsbGlidmlydCIKK1BBQ0tBR0VDT05GSUdbbGliZXNtdHBdID0gIi0td2l0aC1saWJlc210cCwtLXdpdGhvdXQtbGliZXNtdHAsbGliZXNtdHAiCitQQUNLQUdFQ09ORklHW2xpYm1ubF0gPSAiLS13aXRoLWxpYm1ubCwtLXdpdGhvdXQtbGlibW5sLGxpYm1ubCIKK1BBQ0tBR0VDT05GSUdbbGliYXRhc21hcnRdID0gIi0td2l0aC1saWJhdGFzbWFydCwtLXdpdGhvdXQtbGliYXRhc21hcnQsbGliYXRhc21hcnQiCitQQUNLQUdFQ09ORklHW2xkYXBdID0gIi0tZW5hYmxlLW9wZW5sZGFwIC0td2l0aC1saWJsZGFwLC0tZGlzYWJsZS1vcGVubGRhcCAtLXdpdGhvdXQtbGlibGRhcCwgb3BlbmxkYXAiCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgICAgICAgICAgICAgICR7RlBMQVlPVVR9IFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtcGVybCAtLXdpdGgtbGlicGVybD1ubyAtLXdpdGgtcGVybC1iaW5kaW5ncz1ubyBcCisgICAgICAgICAgICAgICAgLS13aXRoLWxpYmdjcnlwdD0ke1NUQUdJTkdfQklORElSX0NST1NTfS9saWJnY3J5cHQtY29uZmlnIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtbm90aWZ5X2Rlc2t0b3AgXAorIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2NvbGxlY3RkLmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2NvbGxlY3RkCisgICAgc2VkIC1pICdzIS91c3Ivc2Jpbi8hJHtzYmluZGlyfS8hZycgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2NvbGxlY3RkCisgICAgc2VkIC1pICdzIS9ldGMvISR7c3lzY29uZmRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9jb2xsZWN0ZAorICAgIHNlZCAtaSAncyEvdmFyLyEke2xvY2Fsc3RhdGVkaXJ9LyFnJyAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvY29sbGVjdGQKKyAgICBzZWQgLWkgJ3MhXlBBVEg9LiohUEFUSD0ke2Jhc2Vfc2JpbmRpcn06JHtiYXNlX2JpbmRpcn06JHtzYmluZGlyfToke2JpbmRpcn0hJyAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvY29sbGVjdGQKKworICAgICMgRml4IGNvbmZpZ3VyYXRpb24gZmlsZSB0byBhbGxvdyBjb2xsZWN0ZCB0byBzdGFydCB1cAorICAgIHNlZCAtaSAncyFeI0ZRRE5Mb29rdXBbIFx0XSp0cnVlIUZRRE5Mb29rdXAgICBmYWxzZSFnJyAke0R9JHtzeXNjb25mZGlyfS9jb2xsZWN0ZC5jb25mCisKKyAgICBybWRpciAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuIgorICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICIke0R9JHtsb2NhbHN0YXRlZGlyfSIKKworICAgICMgSW5zdGFsbCBzeXN0ZW1kIHVuaXQgZmlsZXMKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vY29sbGVjdGQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIHNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyBcCisgICAgICAgICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2NvbGxlY3RkLnNlcnZpY2UKK30KKworSU5JVFNDUklQVF9OQU1FID0gImNvbGxlY3RkIgorSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMiCisKKyMgdGhyZXNob2xkLnNvIGxvYWQuc28gYXJlIGFsc28gcHJvdmlkZWQgYnkgZ2VnbAorIyBkaXNrLnNvIGlzIGFsc28gcHJvdmlkZWQgYnkgbGliZ3Bob3RvMi1jYW1saWJzCitQUklWQVRFX0xJQlMgPSAidGhyZXNob2xkLnNvIGxvYWQuc28gZGlzay5zbyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2Nvcm9zeW5jL2Nvcm9zeW5jXzIuMy41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY29yb3N5bmMvY29yb3N5bmNfMi4zLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTA4Mjc3ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2Nvcm9zeW5jL2Nvcm9zeW5jXzIuMy41LmJiCkBAIC0wLDAgKzEsNTYgQEAKK1NVTU1BUlkgPSAiVGhlIENvcm9zeW5jIENsdXN0ZXIgRW5naW5lIGFuZCBBcHBsaWNhdGlvbiBQcm9ncmFtbWluZyBJbnRlcmZhY2VzIgorREVTQ1JJUFRJT04gPSAiVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHRoZSBDb3Jvc3luYyBDbHVzdGVyIEVuZ2luZSBFeGVjdXRpdmUsIHNldmVyYWwgZGVmYXVsdCBcCitBUElzIGFuZCBsaWJyYXJpZXMsIGRlZmF1bHQgY29uZmlndXJhdGlvbiBmaWxlcywgYW5kIGFuIGluaXQgc2NyaXB0LiIKK0hPTUVQQUdFID0gImh0dHA6Ly9jb3Jvc3luYy5naXRodWIuaW8vY29yb3N5bmMvIgorCitTRUNUSU9OID0gImJhc2UiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBzeXN0ZW1kCisKK1NSQ19VUkkgPSAiaHR0cDovL2J1aWxkLmNsdXN0ZXJsYWJzLm9yZy9jb3Jvc3luYy9yZWxlYXNlcy8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiODg5NGYwMGQ0OTllMDc1NTQ2N2IzODFlNjM0NmY5ZmYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWQ0OGNkZmEyMjRiMGNlYjAyZTI3ZmU5ZDU2YjczOGZiMmE5MjI2MmIwNGIxNWJiM2E2N2UxYzQyNDhkYThlMiIKKworTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1hODVlYjRjZTI0MDMzYWRiNjA4OGRkMWQ2ZmZjNWU1ZCIKKworREVQRU5EUyA9ICJncm9mZi1uYXRpdmUgbnNzIGxpYnFiIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiY29yb3N5bmMuc2VydmljZSBjb3Jvc3luYy1ub3RpZnlkLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImVuYWJsZSIKKworSU5JVFNDUklQVF9OQU1FID0gImNvcm9zeW5jLWRhZW1vbiIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICdzeXN0ZW1kJywgJycsIGQpfSIKKworUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLWVuYWJsZS1zeXN0ZW1kIC0td2l0aC1zeXN0ZW1kZGlyPSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vLC0td2l0aC1zeXN0ZW1kZGlyPSIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC11cHN0YXJ0ZGlyPSV7X3N5c2NvbmZkaXJ9L2luaXQiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgICggY2QgJHtTfQorICAgICR7U30vYXV0b2dlbi5zaCApCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vc3lzY29uZmlnLworICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2luaXQvY29yb3N5bmMuc3lzY29uZmlnLmV4YW1wbGUgJHtEfSR7c3lzY29uZmRpcn0vc3lzY29uZmlnL2Nvcm9zeW5jCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vaW5pdC9jb3Jvc3luYy1ub3RpZnlkLmNvbmYuaW4gJHtEfSR7c3lzY29uZmRpcn0vc3lzY29uZmlnL2Nvcm9zeW5jLW5vdGlmeWQuY29uZgorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2luaXQvY29yb3N5bmMuY29uZi5pbiAke0R9JHtzeXNjb25mZGlyfS9zeXNjb25maWcvY29yb3N5bmMuY29uZgorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2luaXQvY29yb3N5bmMuaW4gJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2Nvcm9zeW5jCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vaW5pdC9jb3Jvc3luYy1ub3RpZnlkLmluICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9jb3Jvc3luYy1ub3RpZnlkCisKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3RydWUnLCdmYWxzZScsZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vaW5pdC9jb3Jvc3luYy5zZXJ2aWNlLmluICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2Nvcm9zeW5jLnNlcnZpY2UKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vaW5pdC9jb3Jvc3luYy1ub3RpZnlkLnNlcnZpY2UuaW4gJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vY29yb3N5bmMtbm90aWZ5ZC5zZXJ2aWNlCisgICAgICAgIHNlZCAtaSAtZSAncyxASU5JVFdSQVBQRVJTRElSQCwke3N5c2NvbmZkaXJ9L2luaXQuZCxnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9jb3Jvc3luYy5zZXJ2aWNlCisgICAgICAgIHNlZCAtaSAtZSAncyxAU1lTQ09ORkRJUkAsJHtzeXNjb25mZGlyfSxnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9jb3Jvc3luYy1ub3RpZnlkLnNlcnZpY2UKKyAgICAgICAgc2VkIC1pIC1lICdzLEBTQklORElSQCwke2Jhc2Vfc2JpbmRpcn0sZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vY29yb3N5bmMtbm90aWZ5ZC5zZXJ2aWNlCisgICAgZmkJCit9CisKK1JERVBFTkRTXyR7UE59ICs9ICJiYXNoIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZXhlY2Rpcn0vbGNyc28vLmRlYnVnIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZGFzaC9kYXNoXzAuNS44LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZGFzaC9kYXNoXzAuNS44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ5NjFkN2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9kYXNoL2Rhc2hfMC41LjguYmIKQEAgLTAsMCArMSwyNyBAQAorU1VNTUFSWSA9ICJTbWFsbCBhbmQgZmFzdCBQT1NJWC1jb21wbGlhbnQgc2hlbGwiCitIT01FUEFHRSA9ICJodHRwOi8vZ29uZG9yLmFwYW5hLm9yZy5hdS9+aGVyYmVydC9kYXNoLyIKK1NFQ1RJT04gPSAiU3lzdGVtIEVudmlyb25tZW50L1NoZWxscyIKKworTElDRU5TRSA9ICJCU0QgJiBHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iNTI2MmI0YTFhMWJmZjcyYjQ4ZTkzNTUzMTk3NmQyZSIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLWFsdGVybmF0aXZlcworCitTUkNfVVJJID0gImh0dHA6Ly9nb25kb3IuYXBhbmEub3JnLmF1L35oZXJiZXJ0LyR7QlBOfS9maWxlcy8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiNWMxNTIyMDk2ODBkYWIzYzMxOWU4OTIzZjZjNTEzNzgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzZkYjNhMjM3NzQ3YjAyZDIwMzgyYTc2MTM5NzU2M2Q4MTNiMzA2YzAyMGFlMjhjZTI1YTFjMzkxNWZhYzYwZiIKKworRVhUUkFfT0VDT05GICs9ICItLWJpbmRpcj0ke2Jhc2VfYmluZGlyfSIKKworQUxURVJOQVRJVkVfJHtQTn0gPSAic2giCitBTFRFUk5BVElWRV9MSU5LX05BTUVbc2hdID0gIiR7YmFzZV9iaW5kaXJ9L3NoIgorQUxURVJOQVRJVkVfVEFSR0VUW3NoXSA9ICIke2Jhc2VfYmluZGlyfS9kYXNoIgorQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAiCisKK3BrZ19wb3N0aW5zdF8ke1BOfSAoKSB7CisgICAgZ3JlcCAtcSAiXiR7YmFzZV9iaW5kaXJ9L2Rhc2gkIiAkRCR7c3lzY29uZmRpcn0vc2hlbGxzIHx8IGVjaG8gJHtiYXNlX2JpbmRpcn0vZGFzaCA+PiAkRCR7c3lzY29uZmRpcn0vc2hlbGxzCit9CisKK3BrZ19wb3N0cm1fJHtQTn0gKCkgeworICAgIHByaW50ZiAiJChncmVwIC12ICJeJHtiYXNlX2JpbmRpcn0vZGFzaCQiICREJHtzeXNjb25mZGlyfS9zaGVsbHMpXG4iID4gJEQke3N5c2NvbmZkaXJ9L3NoZWxscworfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZGRyZXNjdWUvZGRyZXNjdWVfMS4xOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2RkcmVzY3VlL2RkcmVzY3VlXzEuMTkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjdlMDBhNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2RkcmVzY3VlL2RkcmVzY3VlXzEuMTkuYmIKQEAgLTAsMCArMSw0NSBAQAorU1VNTUFSWSA9ICJEYXRhIHJlY292ZXJ5IHRvb2wiCitERVNDUklQVElPTiA9ICJHTlUgZGRyZXNjdWUgaXMgYSBkYXRhIHJlY292ZXJ5IHRvb2wuIEl0IGNvcGllcyBkYXRhIFwKKyAgICBmcm9tIG9uZSBmaWxlIG9yIGJsb2NrIGRldmljZSAoaGFyZCBkaXNjLCBjZHJvbSwgZXRjKSB0byBhbm90aGVyLCBcCisgICAgdHJ5aW5nIGhhcmQgdG8gcmVzY3VlIGRhdGEgaW4gY2FzZSBvZiByZWFkIGVycm9ycy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZGRyZXNjdWUvZGRyZXNjdWUuaHRtbCIKK1NFQ1RJT04gPSAiY29uc29sZSIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NmQ2ZTMwMGZmZDhmYjlkMThiZDliMTM2YTliYmExMyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9tYWluX2NvbW1vbi5jYztiZWdpbmxpbmU9NTtlbmRsaW5lPTE2O21kNT0zZWMyODhiMjY3NjUyOGNkMmIwNjkzNjRlMzEzMDE2ZiIKKworU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9LyR7QlBOfS8ke0JQfS50YXIubHoiCitTUkNfVVJJW21kNXN1bV0gPSAiZWQ2YjViODJkNzRjYmQ5MjVkYjJiODI5MzUwZTc0YjEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWQ4ZDBjOWQ5YWFjODBhOTExMGU5Y2IwZDBhOTFhNzM5MGQzYmY5ZjgxNmI2N2E2MmNhNGViMTQwZjQ3NDdiOCIKKworIyBUaGlzIGlzbid0IGFscmVhZHkgYWRkZWQgYnkgYmFzZS5iYmNsYXNzCitkb191bnBhY2tbZGVwZW5kc10gKz0gImx6aXAtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QiCisKK0NPTkZJR1VSRU9QVFMgPSAiXAorICAgICctLXNyY2Rpcj0ke1N9JyBcCisgICAgJy0tcHJlZml4PSR7cHJlZml4fScgXAorICAgICctLWV4ZWMtcHJlZml4PSR7ZXhlY19wcmVmaXh9JyBcCisgICAgJy0tYmluZGlyPSR7YmluZGlyfScgXAorICAgICctLWRhdGFkaXI9JHtkYXRhZGlyfScgXAorICAgICctLWluZm9kaXI9JHtpbmZvZGlyfScgXAorICAgICctLXN5c2NvbmZkaXI9JHtzeXNjb25mZGlyfScgXAorICAgICdDWFg9JHtDWFh9JyBcCisgICAgJ0NQUEZMQUdTPSR7Q1BQRkxBR1N9JyBcCisgICAgJ0NYWEZMQUdTPSR7Q1hYRkxBR1N9JyBcCisgICAgJ0xERkxBR1M9JHtMREZMQUdTfScgXAorIgorRVhUUkFfT0VNQUtFID0gIiIKKworZG9fY29uZmlndXJlICgpIHsKKyAgICAke1N9L2NvbmZpZ3VyZSAke0NPTkZJR1VSRU9QVFN9Cit9CisKK2RvX2luc3RhbGwgKCkgeworICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAorICAgICMgSW5mbyBkaXIgbGlzdGluZyBpc24ndCBpbnRlcmVzdGluZyBhdCB0aGlzIHBvaW50IHNvIHJlbW92ZSBpdCBpZiBpdCBleGlzdHMuCisgICAgaWYgWyAtZSAiJHtEfSR7aW5mb2Rpcn0vZGlyIiBdOyB0aGVuCisgICAgICAgIHJtIC1mICR7RH0ke2luZm9kaXJ9L2RpcgorICAgIGZpCit9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2RpYWxvZy9kaWFsb2dfMS4yLTIwMTUwOTIwLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZGlhbG9nL2RpYWxvZ18xLjItMjAxNTA5MjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmZlZjlkNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2RpYWxvZy9kaWFsb2dfMS4yLTIwMTUwOTIwLmJiCkBAIC0wLDAgKzEsMzAgQEAKK1NVTU1BUlkgPSAiZGlzcGxheSBkaWFsb2cgYm94ZXMgZnJvbSBzaGVsbCBzY3JpcHRzIgorREVTQ1JJUFRJT04gPSAiRGlhbG9nIGxldHMgeW91IHRvIHByZXNlbnQgYSB2YXJpZXR5IG9mIHF1ZXN0aW9ucyBcCitvciBkaXNwbGF5IG1lc3NhZ2VzIHVzaW5nIGRpYWxvZyBib3hlcyBmcm9tIGEgc2hlbGwgXAorc2NyaXB0IChvciBhbnkgc2NyaXB0aW5nIGxhbmd1YWdlKS4iCitIT01FUEFHRSA9ICJodHRwOi8vaW52aXNpYmxlLWlzbGFuZC5uZXQvZGlhbG9nLyIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0RFUEVORFMgPSAibmN1cnNlcyIKK0xJQ0VOU0UgPSAiTEdQTC0yLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hNmY4OWUyMTAwZDliNmNkZmZjZWE0ZjM5OGUzNzM0MyIKKworU1JDX1VSSVttZDVzdW1dID0gIjJiN2MwMDJiMGE4OGNlMWUwMDE0YWYzNGI2YjFlYmRjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM0ZTYxZWM1NzY4NzAxNjgzZGQ0YjViMmViZDhhMzFlNjI4OWZhNmExZjU4MDFlNGI0ODEwODU2NTA2OThjMDUiCisKK1NSQ19VUkkgPSAiZnRwOi8vaW52aXNpYmxlLWlzbGFuZC5uZXQvZGlhbG9nL2RpYWxvZy0ke1BWfS50Z3ogXAorICAgICAgICAgICIKKworIyBoYXJkY29kZWQgaGVyZSBmb3IgdXNlIGluIGRpYWxvZy1zdGF0aWMgcmVjaXBlCitTID0gIiR7V09SS0RJUn0vZGlhbG9nLSR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtbmN1cnNlcyBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXJwYXRoLWhhY2siCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBnbnUtY29uZmlnaXplIC0tZm9yY2UKKyAgICBzZWQgLWkgJ3MsJHtjZl9uY3Vjb25maWdfcm9vdH02LWNvbmZpZywke2NmX25jdWNvbmZpZ19yb290fS1jb25maWcsZycgLWkgY29uZmlndXJlCisgICAgc2VkIC1pICdzLGNmX2hhdmVfbmN1Y29uZmlnPXVua25vd24sY2ZfaGF2ZV9uY3Vjb25maWc9eWVzLGcnIC1pIGNvbmZpZ3VyZQorICAgIG9lX3J1bmNvbmYKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2RsbS9kbG1fNC4wLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9kbG0vZGxtXzQuMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmMzczMDUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9kbG0vZGxtXzQuMC4yLmJiCkBAIC0wLDAgKzEsNDkgQEAKK0RFU0NSSVBUSU9OID0gImRsbSBjb250cm9sIGRhZW1vbiBhbmQgdG9vbCIKKworU0VDVElPTiA9ICJ1dGlscyIKK0hPTUVQQUdFID0gImh0dHBzOi8vZmVkb3JhaG9zdGVkLm9yZy9jbHVzdGVyL3dpa2kvSG9tZVBhZ2UiCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJzeXN0ZW1kIgorCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0LmZlZG9yYWhvc3RlZC5vcmcvY2dpdC9kbG0uZ2l0L3NuYXBzaG90LyR7QlB9LnRhci54eiIKKworU1JDX1VSSVttZDVzdW1dID0gImVmYzJlZTYwOTNhYTZhYTBhODhhYWFkODNlOTk4YTNmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImI4OWJjNTU3YWFmZmJhYjBhYzAwNTM5ODAyNWYyNDc3MThhNTU4OWNmZjY1NzRkOTAyZWFmZmUyYjIwZTY4M2UiCisKK0xJQ0VOU0UgPSAiTEdQTHYyKyAmIEdQTHYyICYgR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FLmxpY2Vuc2U7bWQ1PThmMGJiY2RkNjc4ZGYxYmNlOTg2MzQ5MmI2Yzg4MzJkIgorCitERVBFTkRTID0gImNvcm9zeW5jIHN5c3RlbWQiCisKK2luaGVyaXQgcGtnY29uZmlnIHN5c3RlbWQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJkbG0uc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZW5hYmxlIgorCitleHBvcnQgRVhUUkFfT0VNQUtFID0gIiIKKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAicy9saWJzeXN0ZW1kLWRhZW1vbi9saWJzeXN0ZW1kL2ciICR7U30vZGxtX2NvbnRyb2xkL01ha2VmaWxlCit9CisKK2RvX2NvbXBpbGUgKCkgeworICAgIG9lX3J1bm1ha2UgJ0NDPSR7Q0N9JworfQorCitkb19pbnN0YWxsX2FwcGVuZCAoKXsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3N5c2NvbmZpZy8KKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9pbml0L2RsbS5zeXNjb25maWcgJHtEfSR7c3lzY29uZmRpcn0vc3lzY29uZmlnL2RsbQorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2luaXQvZGxtLmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2RsbQorCisgICAgIyBpbnN0YWxsIHN5c3RlbWQgdW5pdCBmaWxlcworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9pbml0L2RsbS5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgZmkKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9IExJQkRJUj0ke2xpYmRpcn0KK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZWZpYm9vdG1nci9lZmlib290bWdyXzAuMTIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9lZmlib290bWdyL2VmaWJvb3RtZ3JfMC4xMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjYxMWNlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZWZpYm9vdG1nci9lZmlib290bWdyXzAuMTIuYmIKQEAgLTAsMCArMSwyOSBAQAorREVTQ1JJUFRJT04gPSAiTGludXggdXNlci1zcGFjZSBhcHBsaWNhdGlvbiB0byBtb2RpZnkgdGhlIEVGSSBCb290IE1hbmFnZXIuIgorU1VNTUFSWSA9ICJFRkkgQm9vdCBNYW5hZ2VyIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3JoaW5zdGFsbGVyL2VmaWJvb3RtZ3IiCitTRUNUSU9OID0gImJhc2UiCisKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDYzNmU3M2ZmMDIxNWU4ZDY3MmRjNGMzMmMzMTdiYjMiCisKK0RFUEVORFMgPSAicGNpdXRpbHMgemxpYiBlZml2YXIiCisKK0NPTVBBVElCTEVfSE9TVCA9ICIoaS44Nnx4ODZfNjR8YXJtfGFhcmNoNjQpLiotbGludXgiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL3JoaW5zdGFsbGVyL2VmaWJvb3RtZ3IvcmVsZWFzZXMvZG93bmxvYWQvJHtCUH0vJHtCUH0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9sZGZsYWdzLnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2NjQ3ZjVjZDgwN2JjODQ4NDEzNWJhNzRmY2JjYzM5YSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhNjZmNTg1MDY3N2U4NjI1NWQ5M2NiMWNlYWQwNGMzYzQ4YTgyM2EyYjg2NGM1NzkzMjFmMmEwN2YwMDI1NmU2IgorCitFWFRSQV9PRU1BS0UgPSAiJ0NDPSR7Q0N9JyAnQ0ZMQUdTPSR7Q0ZMQUdTfSAtSSR7U30vc3JjL2luY2x1ZGUgYHBrZy1jb25maWcgLS1jZmxhZ3MgZWZpdmFyYCBcCisgICAgICAgICAgICAgICAgIC1ERUZJQk9PVE1HUl9WRVJTSU9OPVwiJChSRUxFQVNFX01BSk9SKS4kKFJFTEVBU0VfTUlOT1IpXCIgJyIKKworZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtRCAtcCAtbTA3NTUgc3JjL2VmaWJvb3RtZ3IvZWZpYm9vdG1nciAke0R9LyR7c2JpbmRpcn0vZWZpYm9vdG1ncgorfQorCitpbmhlcml0IHBrZ2NvbmZpZworCitQTkJMQUNLTElTVFtlZmlib290bWdyXSA/PSAiRGVwZW5kcyBvbiBibGFja2xpc3RlZCBlZml2YXIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9lZmlib290bWdyL2ZpbGVzL2xkZmxhZ3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9lZmlib290bWdyL2ZpbGVzL2xkZmxhZ3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGQ1NTk0YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2VmaWJvb3RtZ3IvZmlsZXMvbGRmbGFncy5wYXRjaApAQCAtMCwwICsxLDE3IEBACitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworSW1wb3J0IHRoaXMgcGF0Y2ggZnJvbSBtZXRhLWxpbmFyby4KKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CisKKy0tLSBlZmlib290bWdyLTAuNS40Lm9yaWcvTWFrZWZpbGUKKysrKyBlZmlib290bWdyLTAuNS40L01ha2VmaWxlCitAQCAtMTEsNiArMTEsOCBAQAorICAgQ0ZMQUdTID0gJChFWFRSQV9DRkxBR1MpIC1ERUZJQk9PVE1HUl9WRVJTSU9OPVwiJChSRUxFQVNFX01BSk9SKS4kKFJFTEVBU0VfTUlOT1IpLiQoUkVMRUFTRV9TVUJMRVZFTCkkKFJFTEVBU0VfRVhUUkFMRVZFTClcIiBcCisgCSAgICAtV2FsbCAtZyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0CisgCisrICBMREZMQUdTICs9IC1segorKworICAgTU9EVUxFUyA6PSBzcmMKKyAKKyAgIEJJTkRJUiA6PSAvdXNyL3NiaW4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2VmaXZhci9lZml2YXIvMDAwMS1lZml2YXItZml4LWZvci1jcm9zcy1jb21waWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZWZpdmFyL2VmaXZhci8wMDAxLWVmaXZhci1maXgtZm9yLWNyb3NzLWNvbXBpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGJkN2Q5NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2VmaXZhci9lZml2YXIvMDAwMS1lZml2YXItZml4LWZvci1jcm9zcy1jb21waWxlLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gNzAzNmU4YjBkY2E2MTQzMjk3MDc4OWU1Mzk3YjZmYjAyYjM2MmMyYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogRnJpLCAyNSBTZXAgMjAxNSAxODoxNDozMSArMDgwMAorU3ViamVjdDogW1BBVENIXSBlZml2YXI6IGZpeCBmb3IgY3Jvc3MgY29tcGlsZQorCitJdCBidWlsZHMgYW5kIGNhbGxzIGVsZiBmaWxlIG1ha2VndWlkcyB0byBnZW5lcmF0ZSBhIGhlYWRlciBmaWxlIHdoaWNoCitkb2Vzbid0IHdvcmsgZm9yIGNyb3NzIGNvbXBpbGUuIEZpeCBpdC4KKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvTWFrZWZpbGUgfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL01ha2VmaWxlIGIvc3JjL01ha2VmaWxlCitpbmRleCA2ZWFjODU4Li5lZjRlYjFkIDEwMDY0NAorLS0tIGEvc3JjL01ha2VmaWxlCisrKysgYi9zcmMvTWFrZWZpbGUKK0BAIC02NSw4ICs2NSw4IEBAIG1ha2VndWlkcy5vIDogbWFrZWd1aWRzLmMKKyBtYWtlZ3VpZHMgOiBtYWtlZ3VpZHMubyBmYWtlZ3VpZC5vCisgCSQoQ0MpICQoY2ZsYWdzKSAtbyAkQCAkXiAtbGRsCisgCistaW5jbHVkZS9lZml2YXIvZWZpdmFyLWd1aWRzLmggOiBtYWtlZ3VpZHMgZ3VpZHMudHh0CistCS4vbWFrZWd1aWRzIGd1aWRzLnR4dCBndWlkcy5iaW4gbmFtZXMuYmluIGd1aWQtc3ltYm9scy5TICRACisraW5jbHVkZS9lZml2YXIvZWZpdmFyLWd1aWRzLmggOiBndWlkcy50eHQKKysJbWFrZWd1aWRzIGd1aWRzLnR4dCBndWlkcy5iaW4gbmFtZXMuYmluIGd1aWQtc3ltYm9scy5TICRACisgCisgZ3VpZGxpc3QubyA6IGd1aWRzLlMgaW5jbHVkZS9lZml2YXIvZWZpdmFyLWd1aWRzLmgKKyAJJChDQykgJChjZmxhZ3MpIC1jIC1vIGd1aWRsaXN0Lm8gZ3VpZHMuUworLS0gCisyLjYuMC5yYzIuMTAuZ2Y0ZDk3NTMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZWZpdmFyL2VmaXZhci9lZml2YXItZHJvcC1vcHRpb25zLW5vdC1zdXBwb3J0ZWQtYnktbG93ZXItdmVyc2lvbi1nY2MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9lZml2YXIvZWZpdmFyL2VmaXZhci1kcm9wLW9wdGlvbnMtbm90LXN1cHBvcnRlZC1ieS1sb3dlci12ZXJzaW9uLWdjYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZjA0YjE5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZWZpdmFyL2VmaXZhci9lZml2YXItZHJvcC1vcHRpb25zLW5vdC1zdXBwb3J0ZWQtYnktbG93ZXItdmVyc2lvbi1nY2MucGF0Y2gKQEAgLTAsMCArMSw3MSBAQAorZ2NjIG9wdGlvbnMgJy1XbWF5YmUtdW5pbml0aWFsaXplZCcgYW5kICctc3RkPWdudTExJyBhcmUgbm90IHJlY29nbml6ZWQgYnkgZ2NjCit3aG9zZSB2ZXJzaW9uIGlzIGxvd2VyIHRoYW4gNC42LCBzdWNoIGFzIG9uIFVidW50dSAxMi4wNC4gRHJvcCB0aGVtIGZvciBiYWNrd2FyZAorY29tcGF0aWJsZS4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorLS0tCitkaWZmIC0tZ2l0IGEvTWFrZS5kZWZhdWx0cyBiL01ha2UuZGVmYXVsdHMKK2luZGV4IGNjMmJhYTkuLjExOGFlNTYgMTAwNjQ0CistLS0gYS9NYWtlLmRlZmF1bHRzCisrKysgYi9NYWtlLmRlZmF1bHRzCitAQCAtMTAsMTAgKzEwLDkgQEAgQ0ZMQUdTCT89IC1PMiAtZworIAorIEFSQ0ggPSAkKHNoZWxsIHVuYW1lIC1tKQorIGNsYW5nX2NmbGFncyA9CistZ2NjX2NmbGFncyA9IC1XbWF5YmUtdW5pbml0aWFsaXplZAorIGNmbGFncwk6PSAkKENGTEFHUykgXAorIAktV2Vycm9yIC1XYWxsIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LWFsaWFzaW5nIFwKKy0JLXN0ZD1nbnUxMSAtZnNob3J0LXdjaGFyIC1mUElDIFwKKysJLWZzaG9ydC13Y2hhciAtZlBJQyBcCisgCS1mdmlzaWJpbGl0eT1oaWRkZW4gXAorIAktRF9HTlVfU09VUkNFIC1JJHtUT1BESVJ9L3NyYy9pbmNsdWRlL2VmaXZhci8gXAorIAkkKGlmICQoZmlsdGVyICQoQ0MpLGNsYW5nKSwkKGNsYW5nX2NmbGFncyksKSBcCitkaWZmIC0tZ2l0IGEvc3JjL2d1aWQuaCBiL3NyYy9ndWlkLmgKK2luZGV4IDk1NDJlZTEuLjA4MTc5OTEgMTAwNjQ0CistLS0gYS9zcmMvZ3VpZC5oCisrKysgYi9zcmMvZ3VpZC5oCitAQCAtMzEsNyArMzEsOCBAQCBzdGF0aWMgaW5saW5lIGludAorIHJlYWxfaXNzcGFjZShjaGFyIGMpCisgeworIAljaGFyIHNwYWNlc1tdID0gIiBcZlxuXHJcdFx2IjsKKy0JZm9yIChpbnQgaSA9IDA7IHNwYWNlc1tpXSAhPSAnXDAnOyBpKyspCisrCWludCBpOworKwlmb3IgKGkgPSAwOyBzcGFjZXNbaV0gIT0gJ1wwJzsgaSsrKQorIAkJaWYgKGMgPT0gc3BhY2VzW2ldKQorIAkJCXJldHVybiAxOworIAlyZXR1cm4gMDsKK0BAIC01OSw3ICs2MCw4IEBAIGNoZWNrX3Nhbml0eShjb25zdCBjaGFyICp0ZXh0LCBzaXplX3QgbGVuKQorIHN0YXRpYyBpbmxpbmUgaW50CisgY2hlY2tfc2VnbWVudF9zYW5pdHkoY29uc3QgY2hhciAqdGV4dCwgc2l6ZV90IGxlbikKKyB7CistCWZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBsZW47IGkrKykgeworKwl1bnNpZ25lZCBpbnQgaTsKKysJZm9yKGkgPSAwOyBpIDwgbGVuOyBpKyspIHsKKyAJCWlmICh0ZXh0W2ldID49ICcwJyAmJiB0ZXh0W2ldIDw9ICc5JykKKyAJCQljb250aW51ZTsKKyAJCS8qICJ8IDB4MjAiIGlzIHRvbG93ZXIoKSB3aXRob3V0IGhhdmluZyB0byB3b3JyeSBhYm91dAorZGlmZiAtLWdpdCBhL3NyYy9tYWtlZ3VpZHMuYyBiL3NyYy9tYWtlZ3VpZHMuYworaW5kZXggZTlhY2YxNS4uN2UxNmNiMiAxMDA2NDQKKy0tLSBhL3NyYy9tYWtlZ3VpZHMuYworKysrIGIvc3JjL21ha2VndWlkcy5jCitAQCAtMTUwLDcgKzE1MCw4IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAKKyAJZnByaW50ZihoZWFkZXIsICIjaWZuZGVmIEVGSVZBUl9HVUlEU19IXG4jZGVmaW5lIEVGSVZBUl9HVUlEU19IIDFcblxuIik7CisgCistCWZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbGluZS0xOyBpKyspIHsKKysJdW5zaWduZWQgaW50IGksIGo7CisrCWZvciAoaSA9IDA7IGkgPCBsaW5lLTE7IGkrKykgeworIAkJaWYgKCFzdHJjbXAob3V0YnVmW2ldLnN5bWJvbCwgImVmaV9ndWlkX3plcm8iKSkKKyAJCQlmcHJpbnRmKHN5bW91dCwgIlx0Lmdsb2JsICVzXG4iCisgCQkJCQkiXHQuZGF0YVxuIgorQEAgLTE3Niw3ICsxNzcsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCQkJZnByaW50ZihzeW1vdXQsICJlZmlfZ3VpZF9lbXB0eTpcbiIpOworIAorIAkJdWludDhfdCAqZ3VpZF9kYXRhID0gKHVpbnQ4X3QgKikgJm91dGJ1ZltpXS5ndWlkOworLQkJZm9yICh1bnNpZ25lZCBpbnQgaiA9IDA7IGogPCBzaXplb2YgKGVmaV9ndWlkX3QpOyBqKyspCisrCQlmb3IgKGogPSAwOyBqIDwgc2l6ZW9mIChlZmlfZ3VpZF90KTsgaisrKQorIAkJCWZwcmludGYoc3ltb3V0LCJcdC5ieXRlIDB4JTAyeFxuIiwgZ3VpZF9kYXRhW2pdKTsKKyAKKyAJCWZwcmludGYoc3ltb3V0LCAiJXNfZW5kOlxuIiwgb3V0YnVmW2ldLnN5bWJvbCk7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9lZml2YXIvZWZpdmFyXzAuMjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9lZml2YXIvZWZpdmFyXzAuMjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjdhNGQ1NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2VmaXZhci9lZml2YXJfMC4yMS5iYgpAQCAtMCwwICsxLDM5IEBACitTVU1NQVJZID0gIlRvb2xzIHRvIG1hbmlwdWxhdGUgVUVGSSB2YXJpYWJsZXMiCitERVNDUklQVElPTiA9ICJlZml2YXIgcHJvdmlkZXMgYSBzaW1wbGUgY29tbWFuZCBsaW5lIGludGVyZmFjZSB0byB0aGUgVUVGSSB2YXJpYWJsZSBmYWNpbGl0eSIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9lZml2YXIiCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT02NjI2YmIxZTIwMTg5Y2ZhOTVmMmM1MDhiYTI4NjM5MyIKKworREVQRU5EU19jbGFzcy10YXJnZXQgPSAicG9wdCBlZml2YXItbmF0aXZlIgorCitTUkNSRVYgPSAiYWFiNmMyYTY0ZDkwYjZlNWE2MzY2MWZiNWJkNmJlOGQ4NzhiMDc4NCIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9lZml2YXIuZ2l0IgorU1JDX1VSSV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBmaWxlOi8vMDAwMS1lZml2YXItZml4LWZvci1jcm9zcy1jb21waWxlLnBhdGNoIgorU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBmaWxlOi8vZWZpdmFyLWRyb3Atb3B0aW9ucy1ub3Qtc3VwcG9ydGVkLWJ5LWxvd2VyLXZlcnNpb24tZ2NjLnBhdGNoIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KK30KKworZG9fY29tcGlsZV9jbGFzcy1uYXRpdmUoKSB7CisgICAgb2VfcnVubWFrZSAtQyBzcmMgbWFrZWd1aWRzCit9CisKK2RvX2luc3RhbGxfY2xhc3MtbmF0aXZlKCkgeworICAgIGluc3RhbGwgLUQgLW0gMDc1NSAke0J9L3NyYy9tYWtlZ3VpZHMgJHtEfSR7YmluZGlyfS9tYWtlZ3VpZHMKK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKKyMgU2VlCisjIGh0dHA6Ly9saXN0cy5vcGVuZW1iZWRkZWQub3JnL3BpcGVybWFpbC9vcGVuZW1iZWRkZWQtY29yZS8yMDE2LUZlYnJ1YXJ5LzExNjU2NC5odG1sCisjIGh0dHA6Ly9saXN0cy5vcGVuZW1iZWRkZWQub3JnL3BpcGVybWFpbC9vcGVuZW1iZWRkZWQtY29yZS8yMDE2LUZlYnJ1YXJ5LzExNjU3MS5odG1sCisjIGh0dHA6Ly9saXN0cy5vcGVuZW1iZWRkZWQub3JnL3BpcGVybWFpbC9vcGVuZW1iZWRkZWQtZGV2ZWwvMjAxNi1GZWJydWFyeS8xMDU4MDIuaHRtbAorIyBodHRwOi8vbGlzdHMub3BlbmVtYmVkZGVkLm9yZy9waXBlcm1haWwvb3BlbmVtYmVkZGVkLWRldmVsLzIwMTYtRmVicnVhcnkvMTA1Nzg2Lmh0bWwKKyMgYnV0IGl0J3Mgc3RpbGwgYnJva2VuOgorIyBodHRwOi8vbGlzdHMub3BlbmVtYmVkZGVkLm9yZy9waXBlcm1haWwvb3BlbmVtYmVkZGVkLWRldmVsLzIwMTYtRmVicnVhcnkvMTA1ODI1Lmh0bWwKKyMgaHR0cDovL2xpc3RzLm9wZW5lbWJlZGRlZC5vcmcvcGlwZXJtYWlsL29wZW5lbWJlZGRlZC1kZXZlbC8yMDE2LUZlYnJ1YXJ5LzEwNTgzMC5odG1sCitQTkJMQUNLTElTVFtlZml2YXJdID89ICJCUk9LRU46IGxpbnV4LmM6Mjc6MzA6IGZhdGFsIGVycm9yOiBsaW51eC9udm1lX2lvY3RsLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9mbGFzaHJvbS9mbGFzaHJvbV8wLjkuNi4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZmxhc2hyb20vZmxhc2hyb21fMC45LjYuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMWYwYjMwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZmxhc2hyb20vZmxhc2hyb21fMC45LjYuMS5iYgpAQCAtMCwwICsxLDE1IEBACitERVNDUklQVElPTiA9ICJmbGFzaHJvbSBpcyBhIHV0aWxpdHkgZm9yIGlkZW50aWZ5aW5nLCByZWFkaW5nLCB3cml0aW5nLCB2ZXJpZnlpbmcgYW5kIGVyYXNpbmcgZmxhc2ggY2hpcHMiCitMSUNFTlNFID0gIkdQTHYyIgorSE9NRVBBR0UgPSAiaHR0cDovL2ZsYXNocm9tLm9yZyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCitERVBFTkRTID0gInBjaXV0aWxzIgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZC5mbGFzaHJvbS5vcmcvcmVsZWFzZXMvZmxhc2hyb20tJHtQVn0udGFyLmJ6MiIKKworU1JDX1VSSVttZDVzdW1dID0gIjQwN2U4MzZjMGEyYjE3ZWM3NjU4M2NiNjgwOWY2NWU1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZmN2I1ODhjY2U3NGM5MGI0ZmU5YzljNzk0ZGUxMDVkZTc2ZTAzMjM0NDJmYjU3NzBiMWFlYWI4MWU5ZDU2MGEiCisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBQUkVGSVg9JHtwcmVmaXh9IERFU1RESVI9JHtEfSBpbnN0YWxsCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9md3RzL2Z3dHNfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZnd0cy9md3RzX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YjBlNjFiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZnd0cy9md3RzX2dpdC5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gIkZpcm13YXJlIHRlc3RzdWl0ZSIKK0RFU0NSSVBUSU9OID0gIlRoZSB0b29sIGZ3dHMgY29tcHJpc2VzIG9mIG92ZXIgZmlmdHkgdGVzdHMgdGhhdCBhcmUgZGVzaWduZWQgdG8gZXhlcmNpc2UgYW5kIHRlc3QgZGlmZmVyZW50IGFzcGVjdHMgb2YgYSBtYWNoaW5lJ3MgZmlybXdhcmUuIE1hbnkgb2YgdGhlc2UgdGVzdHMgbmVlZCBzdXBlciB1c2VyIGFjY2VzcyB0byByZWFkIEJJT1MgZGF0YSBhbmQgQUNQSSB0YWJsZXMsIHNvIHRoZSB0b29sIHJlcXVpcmVzIHJ1bm5pbmcgd2l0aCBzdXBlciB1c2VyIHByaXZpbGVnZXMgKGUuZy4gd2l0aCBzdWRvKS4iCitIT01FUEFHRSA9ICJodHRwczovL3dpa2kudWJ1bnR1LmNvbS9LZXJuZWwvUmVmZXJlbmNlL2Z3dHMiCisKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vc3JjL21haW4uYztiZWdpbmxpbmU9MTtlbmRsaW5lPTE2O21kNT1kZWI4YWY1Mzg4ZTgzOGQxMzNlYWEwMzZmNGQxNDk2ZiIKKworUFYgPSAiMTQuMDkuMDAiCisKK1NSQ1JFViA9ICJjZjE0ZjNiNGJhYjcxNmRlYTk1ZGU3NzJhZDUyNzg2YzFjYmU4NjJhIgorU1JDX1VSSSA9ICJnaXQ6Ly9rZXJuZWwudWJ1bnR1LmNvbS9od2UvZnd0cy5naXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0RFUEVORFMgPSAibGlicGNyZSBqc29uLWMgZ2xpYi0yLjAiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2Z3dHMvbGliKiR7U09MSUJTfSIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2Z3dHMvbGliKiR7U09MSUJTREVWfSAke2xpYmRpcn0vZnd0cy9saWIqLmxhIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0vZnd0cy9saWIqYSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2Z3dHMvLmRlYnVnIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZ251cGxvdC9nbnVwbG90LTQuNi41L2x1YS1sb2FkbGlicy1jb25maWd1cmUtaW4tZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZ251cGxvdC9nbnVwbG90LTQuNi41L2x1YS1sb2FkbGlicy1jb25maWd1cmUtaW4tZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzZjJjZDIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9nbnVwbG90L2dudXBsb3QtNC42LjUvbHVhLWxvYWRsaWJzLWNvbmZpZ3VyZS1pbi1maXgucGF0Y2gKQEAgLTAsMCArMSwxNiBAQAorSW5kZXg6IGdudXBsb3QtNC42LjUvY29uZmlndXJlLmluCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ251cGxvdC00LjYuNS5vcmlnL2NvbmZpZ3VyZS5pbgorKysrIGdudXBsb3QtNC42LjUvY29uZmlndXJlLmluCitAQCAtNjkwLDYgKzY5MCwxMSBAQCBpZiB0ZXN0ICIke3dpdGhfbHVhfSIgPSB5ZXMgOyB0aGVuCisgICBmaQorIAorICAgaWYgdGVzdCAiJHdpdGhfbHVhIiAhPSBubzsgdGhlbgorKyAgICBkbmwgY2hlY2sgZm9yIGRsb3Blbi9kbCB0byBmaXggbG9hZGxpYnMgbGluayBmYWlsdXJlCisrICAgIEFDX0NIRUNLX0ZVTkMoW2Rsb3Blbl0sIFtdLAorKyAgICAgIEFDX0NIRUNLX0xJQihbZGxdLCBbZGxvcGVuXSwgRExPUEVOX0xJQlM9Ii1sZGwiKSkKKysgICAgQUNfU1VCU1QoRExPUEVOX0xJQlMpCisrICAgIExVQV9MSUJTPSIkTFVBX0xJQlMgJERMT1BFTl9MSUJTIgorICAgICBURVJNTElCUz0iJFRFUk1MSUJTICRMVUFfTElCUyIKKyAgICAgQ1BQRkxBR1M9IiRDUFBGTEFHUyAkTFVBX0NGTEFHUyIKKyAgIGVsc2UKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2dudXBsb3QvZ251cGxvdC00LjYuNS9zdWJkaXJzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZ251cGxvdC9nbnVwbG90LTQuNi41L3N1YmRpcnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGM3ZDFmMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2dudXBsb3QvZ251cGxvdC00LjYuNS9zdWJkaXJzLnBhdGNoCkBAIC0wLDAgKzEsMTEgQEAKKy0tLSAvdG1wL01ha2VmaWxlLmFtCTIwMDctMDgtMjMgMTM6MTA6MTUuNTYwNjU5MDIzICswMjAwCisrKysgZ251cGxvdC00LjIuMC9NYWtlZmlsZS5hbQkyMDA3LTA4LTIzIDEzOjEwOjM0Ljk2MTc2NDYyOSArMDIwMAorQEAgLTEsNyArMSw3IEBACisgIyMgUHJvY2VzcyB0aGlzIGZpbGUgd2l0aCBhdXRvbWFrZSB0byBwcm9kdWNlIE1ha2VmaWxlLmluIC0qLU1ha2VmaWxlLSotCisgQVVUT01BS0VfT1BUSU9OUyA9IGZvcmVpZ24gMS4yaAorIAorLVNVQkRJUlMgPSBjb25maWcgbTQgdGVybSBzcmMgZG9jcyAkKExJU1BESVIpIG1hbiBkZW1vIHR1dG9yaWFsIHNoYXJlCisrU1VCRElSUyA9IGNvbmZpZyBtNCB0ZXJtIHNyYyAgJChMSVNQRElSKSBtYW4gc2hhcmUKKyAKKyBFWFRSQV9ESVNUID0gQlVHUyBDb2RlU3R5bGUgQ29weXJpZ2h0IEZBUSBHTlVtYWtlZmlsZSBJTlNUQUxMIElOU1RBTEwuZ251IFwKKyBNYWtlZmlsZS5tYWludCBQQVRDSExFVkVMIFBHUEtFWVMgUE9SVElORyBSRUFETUUgUkVBRE1FLjFTVCBSRUFETUUuZXhwIFwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2dudXBsb3QvZ251cGxvdC5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9nbnVwbG90L2dudXBsb3QuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5YmM3NGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9nbnVwbG90L2dudXBsb3QuaW5jCkBAIC0wLDAgKzEsNDEgQEAKK0RFU0NSSVBUSU9OID0gIkdudXBsb3QgaXMgYSBwb3J0YWJsZSBjb21tYW5kLWxpbmUgZHJpdmVuIGludGVyYWN0aXZlIGRhdGFmaWxlIFwKKyh0ZXh0IG9yIGJpbmFyeSkgYW5kIGZ1bmN0aW9uIHBsb3R0aW5nIHV0aWxpdHkuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnVwbG90LmluZm8vIgorU0VDVElPTiA9ICJjb25zb2xlL3NjaWVudGlmaWMiCitMSUNFTlNFID0gImdudXBsb3QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9Db3B5cmlnaHQ7bWQ1PTI0M2ExODZmYzJmZDNiOTkyMTI1ZDYwZDViMWJhYjhmIgorREVQRU5EUyA9ICJ2aXJ0dWFsL2xpYngxMSBnZCByZWFkbGluZSIKKworaW5oZXJpdCBhdXRvdG9vbHMgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisjIGRlcGVuZHMgb24gdmlydHVhbC9saWJ4MTEKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK2FjcGF0aHMgPSAiIgorCitQQUNLQUdFQ09ORklHID8/PSAiY2Fpcm8iCitQQUNLQUdFQ09ORklHW2NhaXJvXSA9ICItLXdpdGgtY2Fpcm8sLS13aXRob3V0LWNhaXJvLGNhaXJvIHBhbmdvIgorUEFDS0FHRUNPTkZJR1tsdWFdID0gIi0td2l0aC1sdWEsLS13aXRob3V0LWx1YSxsdWEiCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtcmVhZGxpbmU9JHtTVEFHSU5HX0xJQkRJUn0vLi4gXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1saXNwLWZpbGVzIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtdHV0b3JpYWwgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS13eHdpZGdldHMiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9xdHBsb3QtMC4yL3F0b3BpYS50cm0gJHtTfS90ZXJtLworfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2FwcGxpY2F0aW9ucy8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9nbnVwbG90LmRlc2t0b3AgJHtEfSR7ZGF0YWRpcn0vYXBwbGljYXRpb25zLworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vcGl4bWFwcy8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9nbnVwbG90LnBuZyAke0R9JHtkYXRhZGlyfS9waXhtYXBzLworfQorCitQQUNLQUdFUyA9KyAiJHtQTn0teDExLWRiZyAke1BOfS14MTEiCitERVNDUklQVElPTl8ke1BOfS14MTEgPSAiWDExIGRpc3BsYXkgdGVybWluYWwgZm9yIEdudXBsb3QuIgorU0VDVElPTl8ke1BOfS14MTEgPSAieDExL3NjaWVudGlmaWMiCitGSUxFU18ke1BOfS14MTEgPSAiJHtsaWJleGVjZGlyfSAke2RhdGFkaXJ9L2FwcGxpY2F0aW9ucyAke2RhdGFkaXJ9L3BpeG1hcHMgJHtsaWJkaXJ9L1gxMSAiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3RleG1mIgorRklMRVNfJHtQTn0teDExLWRiZyArPSAiJHtsaWJleGVjZGlyfS9nbnVwbG90LyovLmRlYnVnIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZ251cGxvdC9nbnVwbG90L2dudXBsb3QuZGVza3RvcCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2dudXBsb3QvZ251cGxvdC9nbnVwbG90LmRlc2t0b3AKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjY3ZGY5ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2dudXBsb3QvZ251cGxvdC9nbnVwbG90LmRlc2t0b3AKQEAgLTAsMCArMSw4IEBACitbRGVza3RvcCBFbnRyeV0KK05hbWU9R251cGxvdAorQ29tbWVudD1QbG90IGRhdGEgYW5kIGZ1bmN0aW9uIGdyYXBocworRXhlYz14LXRlcm1pbmFsLWVtdWxhdG9yIC1lIGdudXBsb3QKK1Rlcm1pbmFsPWZhbHNlCitUeXBlPUFwcGxpY2F0aW9uCitJY29uPWdudXBsb3QKK0NhdGVnb3JpZXM9U2NpZW5jZTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2dudXBsb3QvZ251cGxvdC9nbnVwbG90LnBuZyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2dudXBsb3QvZ251cGxvdC9nbnVwbG90LnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTRjZDllCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZ251cGxvdC9nbnVwbG90L2dudXBsb3QucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2dudXBsb3QvZ251cGxvdC9xdG9waWEudHJtIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZ251cGxvdC9nbnVwbG90L3F0b3BpYS50cm0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjUyZjliYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2dudXBsb3QvZ251cGxvdC9xdG9waWEudHJtCkBAIC0wLDAgKzEsNDgzIEBACisvKgorICogJElkOiBkdW1iLnRybSx2IDEuMTYgMjAwNC8wNC8xMyAxNzoyNDoxNiBicm9la2VyIEV4cCAkCisgKgorICovCisKKy8qIEdOVVBMT1QgLSBxdG9waWEudHJtICovCisKKy8qWworICogQ29weXJpZ2h0IDE5OTEgLSAxOTkzLCAxOTk4LCAyMDA0ICAgVGhvbWFzIFdpbGxpYW1zLCBDb2xpbiBLZWxsZXkKKyAqCisgKiBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgYW5kIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBhbmQgaXRzCisgKiBkb2N1bWVudGF0aW9uIGZvciBhbnkgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLAorICogcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhcHBlYXIgaW4gYWxsIGNvcGllcyBhbmQKKyAqIHRoYXQgYm90aCB0aGF0IGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyCisgKiBpbiBzdXBwb3J0aW5nIGRvY3VtZW50YXRpb24uCisgKgorICogUGVybWlzc2lvbiB0byBtb2RpZnkgdGhlIHNvZnR3YXJlIGlzIGdyYW50ZWQsIGJ1dCBub3QgdGhlIHJpZ2h0IHRvCisgKiBkaXN0cmlidXRlIHRoZSBjb21wbGV0ZSBtb2RpZmllZCBzb3VyY2UgY29kZS4gIE1vZGlmaWNhdGlvbnMgYXJlIHRvCisgKiBiZSBkaXN0cmlidXRlZCBhcyBwYXRjaGVzIHRvIHRoZSByZWxlYXNlZCB2ZXJzaW9uLiAgUGVybWlzc2lvbiB0bworICogZGlzdHJpYnV0ZSBiaW5hcmllcyBwcm9kdWNlZCBieSBjb21waWxpbmcgbW9kaWZpZWQgc291cmNlcyBpcyBncmFudGVkLAorICogcHJvdmlkZWQgeW91CisgKiAgIDEuIGRpc3RyaWJ1dGUgdGhlIGNvcnJlc3BvbmRpbmcgc291cmNlIG1vZGlmaWNhdGlvbnMgZnJvbSB0aGUKKyAqICAgIHJlbGVhc2VkIHZlcnNpb24gaW4gdGhlIGZvcm0gb2YgYSBwYXRjaCBmaWxlIGFsb25nIHdpdGggdGhlIGJpbmFyaWVzLAorICogICAyLiBhZGQgc3BlY2lhbCB2ZXJzaW9uIGlkZW50aWZpY2F0aW9uIHRvIGRpc3Rpbmd1aXNoIHlvdXIgdmVyc2lvbgorICogICAgaW4gYWRkaXRpb24gdG8gdGhlIGJhc2UgcmVsZWFzZSB2ZXJzaW9uIG51bWJlciwKKyAqICAgMy4gcHJvdmlkZSB5b3VyIG5hbWUgYW5kIGFkZHJlc3MgYXMgdGhlIHByaW1hcnkgY29udGFjdCBmb3IgdGhlCisgKiAgICBzdXBwb3J0IG9mIHlvdXIgbW9kaWZpZWQgdmVyc2lvbiwgYW5kCisgKiAgIDQuIHJldGFpbiBvdXIgY29udGFjdCBpbmZvcm1hdGlvbiBpbiByZWdhcmQgdG8gdXNlIG9mIHRoZSBiYXNlCisgKiAgICBzb2Z0d2FyZS4KKyAqIFBlcm1pc3Npb24gdG8gZGlzdHJpYnV0ZSB0aGUgcmVsZWFzZWQgdmVyc2lvbiBvZiB0aGUgc291cmNlIGNvZGUgYWxvbmcKKyAqIHdpdGggY29ycmVzcG9uZGluZyBzb3VyY2UgbW9kaWZpY2F0aW9ucyBpbiB0aGUgZm9ybSBvZiBhIHBhdGNoIGZpbGUgaXMKKyAqIGdyYW50ZWQgd2l0aCBzYW1lIHByb3Zpc2lvbnMgMiB0aHJvdWdoIDQgZm9yIGJpbmFyeSBkaXN0cmlidXRpb25zLgorICoKKyAqIFRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgImFzIGlzIiB3aXRob3V0IGV4cHJlc3Mgb3IgaW1wbGllZCB3YXJyYW50eQorICogdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgYXBwbGljYWJsZSBsYXcuCitdKi8KKworLyoKKyAqIFRoaXMgZmlsZSBpcyBpbmNsdWRlZCBieSAuLi90ZXJtLmMuCisgKgorICogVGhpcyB0ZXJtaW5hbCBkcml2ZXIgc3VwcG9ydHM6CisgKiAgIHF0b3BpYSB0ZXJtaW5hbHMKKyAqCisgKiBBVVRIT1JTCisgKiAgIE1pY2hhZWwgTmV1cm90aCwgMjAwNC0wNS0xNgorICogICAgICAgICAgIElOVEVSTkVUOiBtaWNoYWVsLm5ldXJvdGhAZnJlZW5ldC5kZQorICoKKyAqIHNlbmQgeW91ciBjb21tZW50cyBvciBzdWdnZXN0aW9ucyB0byAoZ251cGxvdC1pbmZvQGxpc3RzLnNvdXJjZWZvcmdlLm5ldCkuCisgKgorICovCisjaW5jbHVkZSAiZHJpdmVyLmgiCisKKyNkZWZpbmUgTk9fUVRPUElBX0VOSEFOQ0VEX1NVUFBPUlQKKworI2lmZGVmIFRFUk1fUkVHSVNURVIKK3JlZ2lzdGVyX3Rlcm0ocXRvcGlhX2RyaXZlcikKKyNlbmRpZgorCisjaWZkZWYgVEVSTV9QUk9UTworVEVSTV9QVUJMSUMgdm9pZCBRVE9QSUFfb3B0aW9ucyBfX1BST1RPKCh2b2lkKSk7CitURVJNX1BVQkxJQyB2b2lkIFFUT1BJQV9pbml0IF9fUFJPVE8oKHZvaWQpKTsKK1RFUk1fUFVCTElDIHZvaWQgUVRPUElBX2dyYXBoaWNzIF9fUFJPVE8oKHZvaWQpKTsKK1RFUk1fUFVCTElDIHZvaWQgUVRPUElBX3RleHQgX19QUk9UTygodm9pZCkpOworVEVSTV9QVUJMSUMgdm9pZCBRVE9QSUFfcmVzZXQgX19QUk9UTygodm9pZCkpOworVEVSTV9QVUJMSUMgdm9pZCBRVE9QSUFfbGluZXR5cGUgX19QUk9UTygoaW50IGxpbmV0eXBlKSk7CitURVJNX1BVQkxJQyB2b2lkIFFUT1BJQV9tb3ZlIF9fUFJPVE8oKHVuc2lnbmVkIGludCB4LCB1bnNpZ25lZCBpbnQgeSkpOworVEVSTV9QVUJMSUMgdm9pZCBRVE9QSUFfcG9pbnQgX19QUk9UTygodW5zaWduZWQgaW50IHgsIHVuc2lnbmVkIGludCB5LAorCQkJCSAgICAgaW50IHBvaW50KSk7CitURVJNX1BVQkxJQyB2b2lkIFFUT1BJQV92ZWN0b3IgX19QUk9UTygodW5zaWduZWQgaW50IHgsIHVuc2lnbmVkIGludCB5KSk7CitURVJNX1BVQkxJQyB2b2lkIFFUT1BJQV9wdXRfdGV4dCBfX1BST1RPKCh1bnNpZ25lZCBpbnQgeCwgdW5zaWduZWQgaW50IHksCisJCQkJCWNvbnN0IGNoYXIgKnN0cikpOworVEVSTV9QVUJMSUMgdm9pZCBRVE9QSUFfYXJyb3cgX19QUk9UTygodW5zaWduZWQgaW50IHN4LCB1bnNpZ25lZCBpbnQgc3ksCisJCQkJICAgICB1bnNpZ25lZCBpbnQgZXgsIHVuc2lnbmVkIGludCBleSwKKwkJCQkgICAgIGludCBoZWFkKSk7CisKKyNkZWZpbmUgRU5IcXRvcGlhX3B1dF90ZXh0IE5VTEwKKworCisjZGVmaW5lIFFUT1BJQV9YTUFYIDQwOTYKKyNkZWZpbmUgUVRPUElBX1lNQVggNDA5NgorCisjaWZkZWYgWkFVUlVTCisjZGVmaW5lIFFUT1BJQV9WQ0hBUiAoUVRPUElBX1lNQVgvMjUpCisjZGVmaW5lIFFUT1BJQV9IQ0hBUiAoUVRPUElBX1hNQVgvNDApCisjZGVmaW5lIFFUT1BJQV9WVElDIChRVE9QSUFfWU1BWC81MCkKKyNkZWZpbmUgUVRPUElBX0hUSUMgKFFUT1BJQV9YTUFYLzQwKQorI2Vsc2UKKyNkZWZpbmUgUVRPUElBX1ZDSEFSIChRVE9QSUFfWU1BWC8yNSkKKyNkZWZpbmUgUVRPUElBX0hDSEFSIChRVE9QSUFfWE1BWC81MCkKKyNkZWZpbmUgUVRPUElBX1ZUSUMgKFFUT1BJQV9ZTUFYLzEwMCkKKyNkZWZpbmUgUVRPUElBX0hUSUMgKFFUT1BJQV9YTUFYLzE1MCkKKyNlbmRpZgorCisjZW5kaWYgLyogVEVSTV9QUk9UTyAqLworCisjaWZkZWYgVEVSTV9CT0RZCisKKy8qI2luY2x1ZGUgPHdpbnNvY2syLmg+Ki8KKy8qIG5lZWRzOiB3czJfMzIubGliICovCisjaWZuZGVmIF9NU0NfVkVSCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KKyNpbmNsdWRlIDxhcnBhL2luZXQuaD4KKyNlbmRpZgorCisjZGVmaW5lIFFUT1BJQV9NQVhfQlVGRkVSCQk1MTIKKyNkZWZpbmUgUVRPUElBX01BWF9ERUxBWV9DT1VOVAkyMAkvKiAqIDEwMCBtcyA9IDIgcyAqLworCisjaWZkZWYgX01TQ19WRVIKKyNkZWZpbmUgUVRPUElBX0JBRF9TT0NLRVQJCUlOVkFMSURfU09DS0VUCQkvKiAtMSAqLworI2RlZmluZSBRVE9QSUFfQkFEX0NPTk5FQ1QJCVNPQ0tFVF9FUlJPUgorI2Vsc2UKKyNkZWZpbmUgUVRPUElBX0JBRF9TT0NLRVQJCS0xCisjZGVmaW5lIFFUT1BJQV9CQURfQ09OTkVDVAkJLTEKKyNlbmRpZgorI2RlZmluZSBRVE9QSUFfUE9SVF9OTwkJCTUwNTAKKworc3RhdGljIGludCBxdG9waWFfY2xpZW50X3NvY2tldCA9IFFUT1BJQV9CQURfU09DS0VUOworc3RhdGljIHVuc2lnbmVkIHNob3J0IHF0b3BpYV9wb3J0X25vID0gUVRPUElBX1BPUlRfTk87CitzdGF0aWMgY2hhciBxdG9waWFfaG9zdF9uYW1lW1FUT1BJQV9NQVhfQlVGRkVSKzFdID0geyAibG9jYWxob3N0IiB9OworCitzdGF0aWMgaW50IE9wZW5DbGllbnQgX19QUk9UTygoIGludCB0ZXN0KSk7CitzdGF0aWMgdm9pZCBDbG9zZUNsaWVudCgpOworCitzdGF0aWMgdm9pZCBNeVNsZWVwKCBkZWxheSApCitpbnQgZGVsYXk7Cit7CisjaWZkZWYgX01TQ19WRVIKKwlTbGVlcCggZGVsYXkgKTsKKyNlbHNlCisJdXNsZWVwKCBkZWxheSApOworI2VuZGlmCit9CisKK3N0YXRpYyB2b2lkIEluaXRTb2NrZXRzKCkKK3sKKyNpZmRlZiBfTVNDX1ZFUgorCVdPUkQgd1ZlcnNpb25SZXF1ZXN0ZWQ7CisJV1NBREFUQSB3c2FEYXRhOworCWludCBlcnI7CisKKwl3VmVyc2lvblJlcXVlc3RlZCA9IE1BS0VXT1JEKCAyLCAyICk7CisKKwllcnIgPSBXU0FTdGFydHVwKCB3VmVyc2lvblJlcXVlc3RlZCwgJndzYURhdGEgKTsKKyNlbmRpZgorfQorCitzdGF0aWMgdm9pZCBFeGl0U29ja2V0cygpCit7CisjaWZkZWYgX01TQ19WRVIKKwlXU0FDbGVhbnVwKCk7CisjZW5kaWYKK30KKworc3RhdGljIGludCBDaGVja0ZvclF0cGxvdCggY291bnQgKQoraW50IGNvdW50OworeworCS8qIHRlc3QgKHZpYSBzb2NrZXRzKSBpZiBxdHBsb3QgaXMgYWxscmVhZHkgcnVubmluZyAqLworCWlmKCAhT3BlbkNsaWVudCggMSApICkKKwl7CisJCS8qIGdpdmUgcXRwbG90IGEgbGl0bGUgYml0IHRpbWUgdG8gc3RhcnQuLi4gKi8KKwkJaWYoIGNvdW50IDwgUVRPUElBX01BWF9ERUxBWV9DT1VOVCApCisJCXsKKwkJCWlmKCBjb3VudCA9PSAwICkKKwkJCXsKKyNpZmRlZiBfTVNDX1ZFUgorCQkJCXN5c3RlbSggInN0YXJ0IHF0cGxvdCIgKTsKKyNlbHNlCisJCQkJc3lzdGVtKCAicXRwbG90JiIgKTsKKyNlbmRpZgorCQkJfQorCQkKKwkJCU15U2xlZXAoMTAwKTsKKworCQkJcmV0dXJuIENoZWNrRm9yUXRwbG90KCBjb3VudCsxICk7CisJCX0KKwkJZWxzZQorCQl7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0KKwllbHNlCisJeworCQlDbG9zZUNsaWVudCgpOworCisJCXJldHVybiAxOworCX0KK30KKworc3RhdGljIGludCBPcGVuQ2xpZW50KCB0ZXN0ICkKK2ludCB0ZXN0OworeworICAgIGludCBsZW47CisgICAgc3RydWN0IHNvY2thZGRyX2luIGFkZHJlc3M7CisgICAgaW50IHJlc3VsdDsKKworCS8qICBDcmVhdGUgYSBzb2NrZXQgZm9yIHRoZSBjbGllbnQuICAqLworCisgICAgcXRvcGlhX2NsaWVudF9zb2NrZXQgPSBzb2NrZXQoQUZfSU5FVCwgU09DS19TVFJFQU0sIDApOworCisJaWYoIHF0b3BpYV9jbGllbnRfc29ja2V0ICE9IFFUT1BJQV9CQURfU09DS0VUICkKKwl7CisJCS8qICBOYW1lIHRoZSBzb2NrZXQsIGFzIGFncmVlZCB3aXRoIHRoZSBzZXJ2ZXIuICAqLworCisJCWFkZHJlc3Muc2luX2ZhbWlseSA9IEFGX0lORVQ7CisJCWFkZHJlc3Muc2luX2FkZHIuc19hZGRyID0gaW5ldF9hZGRyKC8qcXRvcGlhX2hvc3RfbmFtZSovIjEyNy4wLjAuMSIpOwkvKiBsb2NhbGhvc3QgKi8KKwkJYWRkcmVzcy5zaW5fcG9ydCA9IGh0b25zKHF0b3BpYV9wb3J0X25vKTsKKwkJbGVuID0gc2l6ZW9mKGFkZHJlc3MpOworCisJCS8qICBOb3cgY29ubmVjdCBvdXIgc29ja2V0IHRvIHRoZSBzZXJ2ZXIncyBzb2NrZXQuICAqLworCisJCXJlc3VsdCA9IGNvbm5lY3QocXRvcGlhX2NsaWVudF9zb2NrZXQsIChzdHJ1Y3Qgc29ja2FkZHIgKikmYWRkcmVzcywgbGVuKTsKKwkJCisJCWlmKCByZXN1bHQgPT0gUVRPUElBX0JBRF9TT0NLRVQgKQorCQl7CisJCQkvKiBtYXJrIHRoaXMgc29ja2V0IGFzIGJhZCAqLworCisJCQljbG9zZSggcXRvcGlhX2NsaWVudF9zb2NrZXQgKTsKKworCQkJcXRvcGlhX2NsaWVudF9zb2NrZXQgPSBRVE9QSUFfQkFEX1NPQ0tFVDsKKworCQkJaWYoICF0ZXN0ICkKKwkJCXsKKwkJCQlmcHJpbnRmKCBncG91dGZpbGUsICJlcnJvciBjb25uZWN0aW5nIHRvIHNlcnZlciAhXG4iICk7CisJCQl9CisJCQlyZXR1cm4gMDsJLyogc29tZXRoaW5nIHdlbnQgd3JvbmcgKi8KKwkJfQorCX0KKwllbHNlCisJeworCQlpZiggIXRlc3QgKQorCQl7CisJCQlmcHJpbnRmKCBncG91dGZpbGUsICJlcnJvciBjcmVhdGluZyBzb2NrZXQgIVxuIiApOworCQl9CisJCXJldHVybiAwOwkvKiBzb21ldGhpbmcgd2VudCB3cm9uZyAqLworCX0KKworCXJldHVybiAxOwkvKiBldmVyeXRoaW5nIGlzdCBvayAhICovCit9CisKK3N0YXRpYyB2b2lkIENsb3NlQ2xpZW50KCkKK3sKKyAgICBjbG9zZSggcXRvcGlhX2NsaWVudF9zb2NrZXQgKTsKK30KKworc3RhdGljIGludCBJc0NsaWVudE9rKCkKK3sKKwlyZXR1cm4gcXRvcGlhX2NsaWVudF9zb2NrZXQgIT0gUVRPUElBX0JBRF9TT0NLRVQ7Cit9CisKK3N0YXRpYyB2b2lkIFNlbmREYXRhVG9Tb2NrZXQoIHNMaW5lICkKK2NvbnN0IGNoYXIgKiBzTGluZTsKK3sKKwlpZiggSXNDbGllbnRPaygpICkKKwl7CisJCWludCBzZW5kX2NvdW50OworCisJCXNlbmRfY291bnQgPSBzZW5kKCBxdG9waWFfY2xpZW50X3NvY2tldCwgc0xpbmUsIHN0cmxlbiggc0xpbmUgKSwgMCApOworCisJCWlmKCBzZW5kX2NvdW50IDw9IDAgKQorCQl7CisJCQlmcHJpbnRmKCBncG91dGZpbGUsICJlcnJvciB3cml0aW5nIHRvIHNvY2tldCBzdHI9JXMhXG4iLCBzTGluZSApOworCQl9CisJCS8qCisJCWVsc2UKKwkJeworCQkJZnByaW50ZiggZ3BvdXRmaWxlLCAid3JvdGUgJWQgYnl0ZXNcbiIsIHNlbmRfY291bnQgKTsKKwkJfQorCQkqLworCX0KKwllbHNlCisJeworCQkvKiBmb3IgdGVzdGluZy4uLiAqLworCQkvKmZwcmludGYoIGdwb3V0ZmlsZSwgc0xpbmUgKTsqLworCX0KK30KKworLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KKworZW51bSBRVE9QSUFfaWQgeyBRVE9QSUFfUE9SVCwgUVRPUElBX0hPU1QsIFFUT1BJQV9PVEhFUiB9OworCitzdGF0aWMgc3RydWN0IGdlbl90YWJsZSBRVE9QSUFfb3B0c1tdID0KK3sKKyAgICB7ICJwbyRydCIsIFFUT1BJQV9QT1JUIH0sCisgICAgeyAiaG8kc3QiLCBRVE9QSUFfSE9TVCB9LAorICAgIHsgTlVMTCwgUVRPUElBX09USEVSIH0KK307CisKK1RFUk1fUFVCTElDIHZvaWQKK1FUT1BJQV9vcHRpb25zKCkKK3sKKyAgICAvKiB0aGlzIGlzIG5vdCBmb3IgdGhlIHF0b3BpYSB0ZXJtaW5hbCAhICovCisJLypTZW5kRGF0YVRvU29ja2V0KCAicXRkIG9wdGlvbnNcbiIgKTsqLworCisgICAgaW50IHgsIHk7CisgICAgc3RydWN0IHZhbHVlIGE7CisKKyAgICB3aGlsZSAoIUVORF9PRl9DT01NQU5EKSAKKwl7CisJCXN3aXRjaChsb29rdXBfdGFibGUoJlFUT1BJQV9vcHRzWzBdLGNfdG9rZW4pKSAKKwkJeworCQkJY2FzZSBRVE9QSUFfUE9SVDoKKwkJCQljX3Rva2VuKys7CisJCQkJaWYgKEVORF9PRl9DT01NQU5EKQorCQkJCQlpbnRfZXJyb3IoY190b2tlbiwgImV4cGVjdGluZyBwb3J0IG51bWJlciIpOworCQkJCXF0b3BpYV9wb3J0X25vID0gKGludCkgcmVhbChjb25zdF9leHByZXNzKCZhKSk7CisJCQkJYnJlYWs7CisJCQljYXNlIFFUT1BJQV9IT1NUOgorCQkJCWNfdG9rZW4rKzsKKwkJCQlpZiAoRU5EX09GX0NPTU1BTkQpCisJCQkJCWludF9lcnJvcihjX3Rva2VuLCAiZXhwZWN0aW5nIGhvc3QgbmFtZSIpOworCQkJCWlmIChpc3N0cmluZyhjX3Rva2VuKSkKKwkJCQkJcXVvdGVfc3RyKCBxdG9waWFfaG9zdF9uYW1lLCBjX3Rva2VuLCBzaXplb2YocXRvcGlhX2hvc3RfbmFtZSkgKTsKKwkJCQllbHNlCisgCQkJCQljb3B5X3N0ciggcXRvcGlhX2hvc3RfbmFtZSwgY190b2tlbiwgc2l6ZW9mKHF0b3BpYV9ob3N0X25hbWUpICk7CisJCQkJY190b2tlbisrOworCQkJCWJyZWFrOworCQkJY2FzZSBRVE9QSUFfT1RIRVI6CisJCQlkZWZhdWx0OgorCQkJCWJyZWFrOworCQl9CisgICAgfQorCisgICAgc3ByaW50Zih0ZXJtX29wdGlvbnMsICJob3N0PSVzIHBvcnQ9JWQiLHF0b3BpYV9ob3N0X25hbWUscXRvcGlhX3BvcnRfbm8pOworfQorCisKK1RFUk1fUFVCTElDIHZvaWQKK1FUT1BJQV9pbml0KCkKK3sKKwkvKiBpbml0aWFsaXplIGxpYiAoaWYgbmVjYXNzYXJ5KSAqLworCUluaXRTb2NrZXRzKCk7CisJQ2hlY2tGb3JRdHBsb3QoIDAgKTsKKwlPcGVuQ2xpZW50KCAwICk7IAorCisJU2VuZERhdGFUb1NvY2tldCggInF0ZCBpbml0XG4iICk7Cit9CisKKworVEVSTV9QVUJMSUMgdm9pZAorUVRPUElBX2dyYXBoaWNzKCkKK3sKKwlTZW5kRGF0YVRvU29ja2V0KCAicXRkIGdyYXBoaWNzXG4iICk7Cit9CisKK1RFUk1fUFVCTElDIHZvaWQKK1FUT1BJQV90ZXh0KCkKK3sKKwlTZW5kRGF0YVRvU29ja2V0KCAicXRkIHRleHRcbiIgKTsKK30KKworCitURVJNX1BVQkxJQyB2b2lkCitRVE9QSUFfcmVzZXQoKQoreworCVNlbmREYXRhVG9Tb2NrZXQoICJxdGQgcmVzZXRcbiIgKTsKKworCS8qIGdpdmUgdGhlIHF0cGxvdCBhIGxpdGxlIGJpdCB0aW1lIHRvIHNodXRkb3duICovCisJTXlTbGVlcCgxMDApOworCisJQ2xvc2VDbGllbnQoKTsKKwlFeGl0U29ja2V0cygpOworfQorCisKK1RFUk1fUFVCTElDIHZvaWQKK1FUT1BJQV9saW5ldHlwZShsaW5ldHlwZSkKK2ludCBsaW5ldHlwZTsKK3sKKwljaGFyIHNCdWZmZXJbUVRPUElBX01BWF9CVUZGRVJdOworCisJc3ByaW50Ziggc0J1ZmZlciwgInF0ZCBsaW5ldHlwZSB0eXBlPSVkXG4iLGxpbmV0eXBlICk7CisKKwlTZW5kRGF0YVRvU29ja2V0KCBzQnVmZmVyICk7Cit9CisKKworVEVSTV9QVUJMSUMgdm9pZAorUVRPUElBX21vdmUoeCwgeSkKK3Vuc2lnbmVkIGludCB4LCB5OworeworCWNoYXIgc0J1ZmZlcltRVE9QSUFfTUFYX0JVRkZFUl07CisKKwlzcHJpbnRmKCBzQnVmZmVyLCAicXRkIG1vdmUgeD0lZCB5PSVkXG4iLHgseSApOworCisJU2VuZERhdGFUb1NvY2tldCggc0J1ZmZlciApOworfQorCisKK1RFUk1fUFVCTElDIHZvaWQKK1FUT1BJQV9wb2ludCh4LCB5LCBwb2ludCkKK3Vuc2lnbmVkIGludCB4LCB5OworaW50IHBvaW50OworeworCWNoYXIgc0J1ZmZlcltRVE9QSUFfTUFYX0JVRkZFUl07CisKKwlzcHJpbnRmKCBzQnVmZmVyLCAicXRkIHBvaW50IHg9JWQgeT0lZCBwb2ludD0lZFxuIix4LHkscG9pbnQgKTsKKworCVNlbmREYXRhVG9Tb2NrZXQoIHNCdWZmZXIgKTsKK30KKworCitURVJNX1BVQkxJQyB2b2lkCitRVE9QSUFfdmVjdG9yKF94LCBfeSkKK3Vuc2lnbmVkIGludCBfeCwgX3k7Cit7CisJY2hhciBzQnVmZmVyW1FUT1BJQV9NQVhfQlVGRkVSXTsKKworCXNwcmludGYoIHNCdWZmZXIsICJxdGQgdmVjdG9yIHg9JWQgeT0lZFxuIixfeCxfeSApOworCisJU2VuZERhdGFUb1NvY2tldCggc0J1ZmZlciApOworfQorCisKK1RFUk1fUFVCTElDIHZvaWQKK1FUT1BJQV9wdXRfdGV4dCh4LCB5LCBzdHIpCit1bnNpZ25lZCBpbnQgeCwgeTsKK2NvbnN0IGNoYXIgKnN0cjsKK3sKKwljaGFyIHNCdWZmZXJbUVRPUElBX01BWF9CVUZGRVJdOworCisJc3ByaW50Ziggc0J1ZmZlciwgInF0ZCBwdXRfdGV4dCB4PSVkIHk9JWQgc3RyPSVzXG4iLHgseSxzdHIgKTsKKworCVNlbmREYXRhVG9Tb2NrZXQoIHNCdWZmZXIgKTsKK30KKworLyogbm90IHN1cG9ydGVkIHlldCAhICovCitURVJNX1BVQkxJQyB2b2lkCitRVE9QSUFfYXJyb3coc3gsIHN5LCBleCwgZXksIGhlYWQpCisgICAgdW5zaWduZWQgaW50IHN4LCBzeSwgZXgsIGV5OworICAgIGludCBoZWFkOwkJLyogaWdub3JlZCAqLworeworCWNoYXIgc0J1ZmZlcltRVE9QSUFfTUFYX0JVRkZFUl07CisKKwlzcHJpbnRmKCBzQnVmZmVyLCAicXRkIGFycm93IHN4PSVkIHN5PSVkIGV4PSVkIGV5PSVkIGhlYWQ9JWRcbiIsc3gsc3ksZXgsZXksaGVhZCApOworCisJU2VuZERhdGFUb1NvY2tldCggc0J1ZmZlciApOworfQorCisKKyNlbmRpZiAvKiBURVJNX0JPRFkgKi8KKworI2lmZGVmIFRFUk1fVEFCTEUKK1RFUk1fVEFCTEVfU1RBUlQocXRvcGlhX2RyaXZlcikKKyAgICAicXRvcGlhIiwgInF0b3BpYSBvciBRdCIsCisgICAgUVRPUElBX1hNQVgsIFFUT1BJQV9ZTUFYLCBRVE9QSUFfVkNIQVIsIFFUT1BJQV9IQ0hBUiwKKyAgICBRVE9QSUFfVlRJQywgUVRPUElBX0hUSUMsIFFUT1BJQV9vcHRpb25zLCBRVE9QSUFfaW5pdCwgUVRPUElBX3Jlc2V0LAorICAgIFFUT1BJQV90ZXh0LCBudWxsX3NjYWxlLCBRVE9QSUFfZ3JhcGhpY3MsIFFUT1BJQV9tb3ZlLCBRVE9QSUFfdmVjdG9yLAorICAgIFFUT1BJQV9saW5ldHlwZSwgUVRPUElBX3B1dF90ZXh0LCBudWxsX3RleHRfYW5nbGUsCisgICAgbnVsbF9qdXN0aWZ5X3RleHQsIFFUT1BJQV9wb2ludCwgLypRVE9QSUFfYXJyb3cqLzAsIHNldF9mb250X251bGwsCisgICAgMCwJCQkJLyogcG9pbnRzaXplICovCisgICAgVEVSTV9DQU5fTVVMVElQTE9ULAorICAgIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwKKyNpZmRlZiBVU0VfTU9VU0UKKyAgICAsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwKKyNlbmRpZgorI2lmZGVmIFBNM0QKKyAgICAsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwKKyNlbmRpZgorVEVSTV9UQUJMRV9FTkQocXRvcGlhX2RyaXZlcikKKworI3VuZGVmIExBU1RfVEVSTQorI2RlZmluZSBMQVNUX1RFUk0gcXRvcGlhX2RyaXZlcgorCisjZW5kaWYgLyogVEVSTV9UQUJMRSAqLworCisjaWZkZWYgVEVSTV9IRUxQCitTVEFSVF9IRUxQKHF0b3BpYSkKKyIxIHF0b3BpYSIsCisiP2NvbW1hbmRzIHNldCB0ZXJtaW5hbCBxdG9waWEiLAorIj9zZXQgdGVybWluYWwgcXRvcGlhIiwKKyI/c2V0IHRlcm0gcXRvcGlhIiwKKyI/dGVybWluYWwgcXRvcGlhIiwKKyI/dGVybSBxdG9waWEiLAorIj9xdG9waWEiLAorIiBUaGUgYHF0b3BpYWAgdGVybWluYWwgZHJpdmVyIGhhcyBubyBhZGRpdGlvbmFsIG9wdGlvbnMuIiwKKyIiLAorIiBTeW50YXg6IiwKKyIgICAgICAgc2V0IHRlcm1pbmFsIHF0b3BpYSIsCisiIgorRU5EX0hFTFAocXRvcGlhKQorI2VuZGlmIC8qIFRFUk1fSEVMUCAqLwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZ251cGxvdC9nbnVwbG90XzQuNi41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZ251cGxvdC9nbnVwbG90XzQuNi41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmNjk0YTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9nbnVwbG90L2dudXBsb3RfNC42LjUuYmIKQEAgLTAsMCArMSwxNCBAQAorcmVxdWlyZSBnbnVwbG90LmluYworCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9nbnVwbG90LyR7QlB9LnRhci5nejtuYW1lPWFyY2hpdmUgXAorICAgIGh0dHA6Ly93d3cubW5ldXJvdGguZGUvcHJpdmF0L3phdXJ1cy9xdHBsb3QtMC4yLnRhci5nejtuYW1lPXF0cGxvdCBcCisgICAgZmlsZTovL3N1YmRpcnMucGF0Y2ggXAorICAgIGZpbGU6Ly9sdWEtbG9hZGxpYnMtY29uZmlndXJlLWluLWZpeC5wYXRjaCBcCisgICAgZmlsZTovL2dudXBsb3QuZGVza3RvcCBcCisgICAgZmlsZTovL2dudXBsb3QucG5nIFwKKyIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiOWE0NzZiMjFmNzRiZDk5Yzg3NmYxNTA5ZDczMWEwZjkiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJlNTUwZjAzMGM3ZDA0NTcwZTg5YzNkNGUzZjZlODIyOTY4MTY1MDg0MTljODZhYjQ2YzRkZDczMTU2NTE5YTJkIgorU1JDX1VSSVtxdHBsb3QubWQ1c3VtXSA9ICIwYTQ4MTg4NWE0OTYwOTJjNzdlYjQwMTc1NDBiNWNmNiIKK1NSQ19VUklbcXRwbG90LnNoYTI1NnN1bV0gPSAiNmRmMzE3MTgzZmY2MmNjODJmM2RjZjg4MjA3YTI2N2NkNjQ3OGNiNTE0N2Y1NWQ3NTMwYzk0ZjFhZDVmNDEzMiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hhdmVnZWQvaGF2ZWdlZC9yZW1vdmUtc3lzdGVtZC11bml0LTUwMy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hhdmVnZWQvaGF2ZWdlZC9yZW1vdmUtc3lzdGVtZC11bml0LTUwMy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZjI3YmNiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaGF2ZWdlZC9oYXZlZ2VkL3JlbW92ZS1zeXN0ZW1kLXVuaXQtNTAzLnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKKy0tLSBhL2luaXQuZC9NYWtlZmlsZS5hbQkyMDE0LTAxLTAyIDE4OjU1OjUzLjAwMDAwMDAwMCArMDEwMAorKysrIGIvaW5pdC5kL01ha2VmaWxlLmFtCTIwMTQtMDgtMTEgMTA6NTk6NDAuMDAwMDAwMDAwICswMjAwCitAQCAtMzQsMTEgKzM0LDExIEBACisgCSQoZG9fc3Vic3QpIDwgJChzcmNkaXIpLyQoc3JjX3RtcGwpID4gaGF2ZWdlZC5zZXJ2aWNlOworIAorIGluc3RhbGwtZGF0YS1ob29rOgorLWlmIEVOQUJMRV9TWVNURU1EX0xPT0tVUAorLQlpbnN0YWxsIC1wIC1tNjQ0IGhhdmVnZWQuc2VydmljZSBgcGtnLWNvbmZpZyAtLXZhcmlhYmxlPXN5c3RlbWRzeXN0ZW11bml0ZGlyIHN5c3RlbWRgL2hhdmVnZWQuc2VydmljZTsKKy1lbHNlCistCWluc3RhbGwgLXAgLW02NDQgaGF2ZWdlZC5zZXJ2aWNlICgkdW5pdF9kaXIpL2hhdmVnZWQuc2VydmljZTsKKy1lbmRpZgorLQlzeXN0ZW1jdGwgZW5hYmxlIGhhdmVnZWQuc2VydmljZTsKKysjaWYgRU5BQkxFX1NZU1RFTURfTE9PS1VQCisrIwlpbnN0YWxsIC1wIC1tNjQ0IGhhdmVnZWQuc2VydmljZSBgcGtnLWNvbmZpZyAtLXZhcmlhYmxlPXN5c3RlbWRzeXN0ZW11bml0ZGlyIHN5c3RlbWRgL2hhdmVnZWQuc2VydmljZTsKKysjZWxzZQorKyMJaW5zdGFsbCAtcCAtbTY0NCBoYXZlZ2VkLnNlcnZpY2UgKCR1bml0X2RpcikvaGF2ZWdlZC5zZXJ2aWNlOworKyNlbmRpZgorKyMJc3lzdGVtY3RsIGVuYWJsZSBoYXZlZ2VkLnNlcnZpY2U7CisgCisgZW5kaWYKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hhdmVnZWQvaGF2ZWdlZF8xLjkuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hhdmVnZWQvaGF2ZWdlZF8xLjkuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYmQxOTkyZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hhdmVnZWQvaGF2ZWdlZF8xLjkuMS5iYgpAQCAtMCwwICsxLDMyIEBACitTVU1NQVJZID0gImhhdmVnZWQgLSBBIHNpbXBsZSBlbnRyb3B5IGRhZW1vbiIKK0RFU0NSSVBUSU9OID0gIlRoZSBoYXZlZ2VkIHByb2plY3QgaXMgYW4gYXR0ZW1wdCB0byBwcm92aWRlIGFuIGVhc3ktdG8tdXNlLCB1bnByZWRpY3RhYmxlIHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yIGJhc2VkIHVwb24gYW4gYWRhcHRhdGlvbiBvZiB0aGUgSEFWRUdFIGFsZ29yaXRobS4gSGF2ZWdlZCB3YXMgY3JlYXRlZCB0byByZW1lZHkgbG93LWVudHJvcHkgY29uZGl0aW9ucyBpbiB0aGUgTGludXggcmFuZG9tIGRldmljZSB0aGF0IGNhbiBvY2N1ciB1bmRlciBzb21lIHdvcmtsb2FkcywgZXNwZWNpYWxseSBvbiBoZWFkbGVzcyBzZXJ2ZXJzLiIKK0FVVEhPUiA9ICJHYXJ5IFd1ZXJ0eiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuaXNzaWhvc3RzLmNvbS9oYXZlZ2VkL2luZGV4Lmh0bWwiCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTT0iZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuaXNzaWhvc3RzLmNvbS9oYXZlZ2VkL2hhdmVnZWQtJHtQVn0udGFyLmd6IFwKKwkJZmlsZTovL3JlbW92ZS1zeXN0ZW1kLXVuaXQtNTAzLnBhdGNoIFwKKwkJIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDE1ZmY1OGNkMTA2MDdkYjBlMGRlNjBhZWNhMmY1ZjgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOWMyMzYzZWQ5NTQyYTY3ODRmZjA4ZTI0NzE4MjEzN2U3MWYyZGRiNzllOGU2YzFhYzRhZDUwZDIxY2VkMzcxNSIKKworUFIgPSAicjAiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHN5c3RlbWQKKworRVhUUkFfT0VDT05GID0gIlwKKwkJCS0tZW5hYmxlLWluaXQ9c2VydmljZS5yZWRoYXQgXAorCQkJLS1lbmFibGUtbmlzdGVzdD15ZXMgXAorCQkJLS1lbmFibGUtb2x0PXllcyBcCisJCQktLWVuYWJsZS10aHJlYWRzPW5vIFwKKwkJCSIKKworU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJoYXZlZ2VkLnNlcnZpY2UiCisJCQkKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCW1rZGlyIC1wICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisJaW5zdGFsbCAtcCAtbTY0NCAke0J9L2luaXQuZC9oYXZlZ2VkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hleGVkaXQvaGV4ZWRpdC8wMDAxLWRvbi10LXN0cmlwLXdoZW4taW5zdGFsbGluZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hleGVkaXQvaGV4ZWRpdC8wMDAxLWRvbi10LXN0cmlwLXdoZW4taW5zdGFsbGluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMzg0YjA1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaGV4ZWRpdC9oZXhlZGl0LzAwMDEtZG9uLXQtc3RyaXAtd2hlbi1pbnN0YWxsaW5nLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK0Zyb20gY2M2NzI0NmNhNjgzOWU1YjNmNmEyODZmMTBlZDI0YzIyNWI3N2E1ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9FcmljPTIwQj1DMz1BOW5hcmQ/PSA8ZXJpY0BldWtyZWEuY29tPgorRGF0ZTogVGh1LCA0IEp1bCAyMDEzIDEyOjM0OjMyICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGRvbid0IHN0cmlwIHdoZW4gaW5zdGFsbGluZworTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitTaWduZWQtb2ZmLWJ5OiBFcmljIELDqW5hcmQgPGVyaWNAZXVrcmVhLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorLS0tCisgTWFrZWZpbGUuaW4gfCAgICAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZS5pbiBiL01ha2VmaWxlLmluCitpbmRleCAxNTk0NjNlLi43MzVjYzcyIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUuaW4KKysrKyBiL01ha2VmaWxlLmluCitAQCAtNDIsNiArNDIsNiBAQCBkaXN0Y2xlYW46IGNsZWFuCisgCisgaW5zdGFsbDogJChQUk9EVUNUKQorIAkkKElOU1RBTEwpIC1kIC1tIDc1NSAkKERFU1RESVIpJChiaW5kaXIpCistCSQoSU5TVEFMTCkgLXMgLW0gNzU1ICQoUFJPRFVDVCkgJChERVNURElSKSQoYmluZGlyKQorKwkkKElOU1RBTEwpIC1tIDc1NSAkKFBST0RVQ1QpICQoREVTVERJUikkKGJpbmRpcikKKyAJJChJTlNUQUxMKSAtZCAtbSA3NTUgJChERVNURElSKSQobWFuZGlyKS9tYW4xCisgCSQoSU5TVEFMTCkgLW0gNjQ0ICQoUFJPRFVDVCkuMSAkKERFU1RESVIpJChtYW5kaXIpL21hbjEKKy0tIAorMS43LjEwLjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaGV4ZWRpdC9oZXhlZGl0XzEuMi4xMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hleGVkaXQvaGV4ZWRpdF8xLjIuMTMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzlkZjViMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hleGVkaXQvaGV4ZWRpdF8xLjIuMTMuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJ2aWV3IGFuZCBlZGl0IGZpbGVzIGluIGhleGFkZWNpbWFsIG9yIGluIEFTQ0lJIgorSE9NRVBBR0UgPSAiaHR0cDovL3JpZ2F1eC5vcmcvaGV4ZWRpdC5odG1sIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJHUEx2MisiCitERVBFTkRTID0gIm5jdXJzZXMiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA2MzZlNzNmZjAyMTVlOGQ2NzJkYzRjMzJjMzE3YmIzIgorCitTUkNfVVJJID0gImh0dHA6Ly9yaWdhdXgub3JnLyR7QlB9LnNyYy50Z3ogXAorICAgIGZpbGU6Ly8wMDAxLWRvbi10LXN0cmlwLXdoZW4taW5zdGFsbGluZy5wYXRjaCAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhNWFmMTM3OGQwMjg1MTJhOWNhZDI3YTViYTNlMTVmOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2YTEyNmRhMzBhNzdmNWMwYjA4MDM4YWE3YTg4MWQ5MTBlM2I2NWQxMzc2N2ZiNTRjNThjOTgzOTYzYjg4ZGQ3IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hwbGlwL2hwbGlwLTMuMTIuNi9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9ocGxpcC9ocGxpcC0zLjEyLjYvY29uZmlndXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxYzAwNWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9ocGxpcC9ocGxpcC0zLjEyLjYvY29uZmlndXJlLnBhdGNoCkBAIC0wLDAgKzEsMTQgQEAKK0luZGV4OiBocGxpcC0zLjEyLjYvY29uZmlndXJlLmluCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gaHBsaXAtMy4xMi42Lm9yaWcvY29uZmlndXJlLmluCTIwMTQtMDctMTYgMjA6MDM6NTEuMzEwMDQ0MTk2ICswMDAwCisrKysgaHBsaXAtMy4xMi42L2NvbmZpZ3VyZS5pbgkyMDE0LTA3LTE4IDA3OjUzOjMxLjU4OTU1OTE5MiArMDAwMAorQEAgLTI3LDggKzI3LDcgQEAKKyAKKyAjQUNfUFJFUkVRKDIuNTkpCisgQUNfSU5JVChbSFAgTGludXggSW1hZ2luZyBhbmQgUHJpbnRpbmddLCBbMy4xMi42XSwgWzMuMTIuNl0sIFtocGxpcF0pCistI0FNX0lOSVRfQVVUT01BS0UoWzEuOSBmb3JlaWduXSkKKy1BTV9JTklUX0FVVE9NQUtFCisrQU1fSU5JVF9BVVRPTUFLRShbMS45IGZvcmVpZ25dKQorIEFDX0RJU0FCTEVfU1RBVElDCisgCisgIyBDaGVja3MgZm9yIHByb2dyYW1zLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaHBsaXAvaHBsaXAtMy4xMi42L2N1cHMtMS42LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaHBsaXAvaHBsaXAtMy4xMi42L2N1cHMtMS42LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkZjAxYWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9ocGxpcC9ocGxpcC0zLjEyLjYvY3Vwcy0xLjYucGF0Y2gKQEAgLTAsMCArMSwzOTUgQEAKK0ltcG9ydGVkIGZyb20gZ2VudG9vOgoraHR0cHM6Ly9idWdzLmdlbnRvby5vcmcvc2hvd19idWcuY2dpP2lkPTQyODY3MgorCitkaWZmIC1OYXVyIGhwbGlwLTMuMTIuNl9vbGQvcHJudC9jdXBzZXh0L2N1cHNleHQuYyBocGxpcC0zLjEyLjYvcHJudC9jdXBzZXh0L2N1cHNleHQuYworLS0tIGhwbGlwLTMuMTIuNl9vbGQvcHJudC9jdXBzZXh0L2N1cHNleHQuYwkyMDEyLTA4LTA0IDA5OjE4OjE4LjM4ODMzMDAzOCArMDIwMAorKysrIGhwbGlwLTMuMTIuNi9wcm50L2N1cHNleHQvY3Vwc2V4dC5jCTIwMTItMDgtMDQgMDk6MTg6MjcuODU1MTgxMzI3ICswMjAwCitAQCAtODcsNiArODcsNDYgQEAKKyAjZGVmaW5lIFBZX1NTSVpFX1RfTUlOIElOVF9NSU4NCisgI2VuZGlmDQorIA0KKysjaWYgKENVUFNfVkVSU0lPTl9NQUpPUiA+IDEpIHx8IChDVVBTX1ZFUlNJT05fTUlOT1IgPiA1KQ0KKysjZGVmaW5lIEhBVkVfQ1VQU18xXzYgMQ0KKysjZW5kaWYNCisrDQorKyNpZm5kZWYgSEFWRV9DVVBTXzFfNg0KKysjZGVmaW5lIGlwcEdldENvdW50KGF0dHIpICAgICBhdHRyLT5udW1fdmFsdWVzDQorKyNkZWZpbmUgaXBwR2V0R3JvdXBUYWcoYXR0cikgIGF0dHItPmdyb3VwX3RhZw0KKysjZGVmaW5lIGlwcEdldFZhbHVlVGFnKGF0dHIpICBhdHRyLT52YWx1ZV90YWcNCisrI2RlZmluZSBpcHBHZXROYW1lKGF0dHIpICAgICAgYXR0ci0+bmFtZQ0KKysjZGVmaW5lIGlwcEdldEJvb2xlYW4oYXR0ciwgZWxlbWVudCkgYXR0ci0+dmFsdWVzW2VsZW1lbnRdLmJvb2xlYW4NCisrI2RlZmluZSBpcHBHZXRJbnRlZ2VyKGF0dHIsIGVsZW1lbnQpIGF0dHItPnZhbHVlc1tlbGVtZW50XS5pbnRlZ2VyDQorKyNkZWZpbmUgaXBwR2V0U3RhdHVzQ29kZShpcHApIGlwcC0+cmVxdWVzdC5zdGF0dXMuc3RhdHVzX2NvZGUNCisrI2RlZmluZSBpcHBHZXRTdHJpbmcoYXR0ciwgZWxlbWVudCwgbGFuZ3VhZ2UpIGF0dHItPnZhbHVlc1tlbGVtZW50XS5zdHJpbmcudGV4dA0KKysNCisrc3RhdGljIGlwcF9hdHRyaWJ1dGVfdCAqIGlwcEZpcnN0QXR0cmlidXRlKCBpcHBfdCAqaXBwICkNCisrew0KKysgICAgaWYgKCFpcHApDQorKyAgICAgICAgcmV0dXJuIChOVUxMKTsNCisrICAgIHJldHVybiAoaXBwLT5jdXJyZW50ID0gaXBwLT5hdHRycyk7DQorK30NCisrDQorK3N0YXRpYyBpcHBfYXR0cmlidXRlX3QgKiBpcHBOZXh0QXR0cmlidXRlKCBpcHBfdCAqaXBwICkNCisrew0KKysgICAgaWYgKCFpcHAgfHwgIWlwcC0+Y3VycmVudCkNCisrICAgICAgICByZXR1cm4gKE5VTEwpOw0KKysgICAgcmV0dXJuIChpcHAtPmN1cnJlbnQgPSBpcHAtPmN1cnJlbnQtPm5leHQpOw0KKyt9DQorKw0KKytzdGF0aWMgaW50IGlwcFNldE9wZXJhdGlvbiggaXBwX3QgKmlwcCwgaXBwX29wX3Qgb3AgKQ0KKyt7DQorKyAgICBpcHAtPnJlcXVlc3Qub3Aub3BlcmF0aW9uX2lkID0gb3A7DQorKyAgICByZXR1cm4gKDEpOw0KKyt9DQorKw0KKytzdGF0aWMgaW50IGlwcFNldFJlcXVlc3RJZCggaXBwX3QgKmlwcCwgaW50IHJlcXVlc3RfaWQgKQ0KKyt7DQorKyAgICBpcHAtPnJlcXVlc3QuYW55LnJlcXVlc3RfaWQgPSByZXF1ZXN0X2lkOw0KKysgICAgcmV0dXJuICgxKTsNCisrfQ0KKysjZW5kaWYNCisgDQorIGludCBnX251bV9vcHRpb25zID0gMDsNCisgY3Vwc19vcHRpb25fdCAqIGdfb3B0aW9uczsNCitAQCAtMzMzLDggKzM3Myw4IEBACisgICAgIHJlcXVlc3QgPSBpcHBOZXcoKTsNCisgICAgIGxhbmd1YWdlID0gY3Vwc0xhbmdEZWZhdWx0KCk7DQorIA0KKy0gICAgcmVxdWVzdC0+cmVxdWVzdC5vcC5vcGVyYXRpb25faWQgPSBDVVBTX0dFVF9QUklOVEVSUzsNCistICAgIHJlcXVlc3QtPnJlcXVlc3QuYW55LnJlcXVlc3RfaWQgPSAxOw0KKysgICAgaXBwU2V0T3BlcmF0aW9uKCByZXF1ZXN0LCBDVVBTX0dFVF9QUklOVEVSUyApOw0KKysgICAgaXBwU2V0UmVxdWVzdElkICggcmVxdWVzdCwgMSk7DQorIA0KKyAgICAgaXBwQWRkU3RyaW5nKCByZXF1ZXN0LCBJUFBfVEFHX09QRVJBVElPTiwgSVBQX1RBR19DSEFSU0VULA0KKyAgICAgICAgICAgICAgICAgICAiYXR0cmlidXRlcy1jaGFyc2V0IiwgTlVMTCwgY3Vwc0xhbmdFbmNvZGluZyggbGFuZ3VhZ2UgKSApOw0KK0BAIC0zNzgsMTAgKzQxOCwxMCBAQAorICAgICAgICAgaXBwX3BzdGF0ZV90IHN0YXRlOw0KKyAgICAgICAgIGludCBpID0gMDsNCisgDQorLSAgICAgICAgZm9yICggYXR0ciA9IHJlc3BvbnNlLT5hdHRyczsgYXR0ciAhPSBOVUxMOyBhdHRyID0gYXR0ci0+bmV4dCApDQorKyAgICAgICAgZm9yICggYXR0ciA9IGlwcEZpcnN0QXR0cmlidXRlKCByZXNwb25zZSApOyBhdHRyICE9IE5VTEw7IGF0dHIgPSBpcHBOZXh0QXR0cmlidXRlKCByZXNwb25zZSApICkNCisgICAgICAgICB7DQorLSAgICAgICAgICAgIHdoaWxlICggYXR0ciAhPSBOVUxMICYmIGF0dHItPmdyb3VwX3RhZyAhPSBJUFBfVEFHX1BSSU5URVIgKQ0KKy0gICAgICAgICAgICAgICAgYXR0ciA9IGF0dHItPm5leHQ7DQorKyAgICAgICAgICAgIHdoaWxlICggYXR0ciAhPSBOVUxMICYmIGlwcEdldEdyb3VwVGFnKCBhdHRyICkgIT0gSVBQX1RBR19QUklOVEVSICkNCisrICAgICAgICAgICAgICAgIGF0dHIgPSBpcHBOZXh0QXR0cmlidXRlKCByZXNwb25zZSApOw0KKyANCisgICAgICAgICAgICAgaWYgKCBhdHRyID09IE5VTEwgKQ0KKyAgICAgICAgICAgICAgICAgYnJlYWs7DQorQEAgLTM5MCw0MSArNDMwLDQxIEBACisgICAgICAgICAgICAgc3RhdGUgPSBJUFBfUFJJTlRFUl9JRExFOw0KKyAgICAgICAgICAgICBhY2NlcHRpbmcgPSAwOw0KKyANCistICAgICAgICAgICAgd2hpbGUgKCBhdHRyICE9IE5VTEwgJiYgYXR0ci0+Z3JvdXBfdGFnID09IElQUF9UQUdfUFJJTlRFUiApDQorKyAgICAgICAgICAgIHdoaWxlICggYXR0ciAhPSBOVUxMICYmIGlwcEdldEdyb3VwVGFnKCBhdHRyICkgPT0gSVBQX1RBR19QUklOVEVSICkNCisgICAgICAgICAgICAgew0KKy0gICAgICAgICAgICAgICAgaWYgKCBzdHJjbXAoIGF0dHItPm5hbWUsICJwcmludGVyLW5hbWUiICkgPT0gMCAmJg0KKy0gICAgICAgICAgICAgICAgICAgICAgICBhdHRyLT52YWx1ZV90YWcgPT0gSVBQX1RBR19OQU1FICkNCistICAgICAgICAgICAgICAgICAgICBuYW1lID0gYXR0ci0+dmFsdWVzWyAwIF0uc3RyaW5nLnRleHQ7DQorLQ0KKy0gICAgICAgICAgICAgICAgZWxzZSBpZiAoIHN0cmNtcCggYXR0ci0+bmFtZSwgImRldmljZS11cmkiICkgPT0gMCAmJg0KKy0gICAgICAgICAgICAgICAgICAgICAgICBhdHRyLT52YWx1ZV90YWcgPT0gSVBQX1RBR19VUkkgKQ0KKy0gICAgICAgICAgICAgICAgICAgIGRldmljZV91cmkgPSBhdHRyLT52YWx1ZXNbIDAgXS5zdHJpbmcudGV4dDsNCistDQorLSAgICAgICAgICAgICAgICBlbHNlIGlmICggc3RyY21wKCBhdHRyLT5uYW1lLCAicHJpbnRlci11cmktc3VwcG9ydGVkIiApID09IDAgJiYNCistICAgICAgICAgICAgICAgICAgICAgICAgYXR0ci0+dmFsdWVfdGFnID09IElQUF9UQUdfVVJJICkNCistICAgICAgICAgICAgICAgICAgICBwcmludGVyX3VyaSA9IGF0dHItPnZhbHVlc1sgMCBdLnN0cmluZy50ZXh0Ow0KKy0NCistICAgICAgICAgICAgICAgIGVsc2UgaWYgKCBzdHJjbXAoIGF0dHItPm5hbWUsICJwcmludGVyLWluZm8iICkgPT0gMCAmJg0KKy0gICAgICAgICAgICAgICAgICAgICAgICBhdHRyLT52YWx1ZV90YWcgPT0gSVBQX1RBR19URVhUICkNCistICAgICAgICAgICAgICAgICAgICBpbmZvID0gYXR0ci0+dmFsdWVzWyAwIF0uc3RyaW5nLnRleHQ7DQorLQ0KKy0gICAgICAgICAgICAgICAgZWxzZSBpZiAoIHN0cmNtcCggYXR0ci0+bmFtZSwgInByaW50ZXItbG9jYXRpb24iICkgPT0gMCAmJg0KKy0gICAgICAgICAgICAgICAgICAgICAgICBhdHRyLT52YWx1ZV90YWcgPT0gSVBQX1RBR19URVhUICkNCistICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbiA9IGF0dHItPnZhbHVlc1sgMCBdLnN0cmluZy50ZXh0Ow0KKy0NCistICAgICAgICAgICAgICAgIGVsc2UgaWYgKCBzdHJjbXAoIGF0dHItPm5hbWUsICJwcmludGVyLW1ha2UtYW5kLW1vZGVsIiApID09IDAgJiYNCistICAgICAgICAgICAgICAgICAgICAgICAgYXR0ci0+dmFsdWVfdGFnID09IElQUF9UQUdfVEVYVCApDQorLSAgICAgICAgICAgICAgICAgICAgbWFrZV9tb2RlbCA9IGF0dHItPnZhbHVlc1sgMCBdLnN0cmluZy50ZXh0Ow0KKy0NCistICAgICAgICAgICAgICAgIGVsc2UgaWYgKCBzdHJjbXAoIGF0dHItPm5hbWUsICJwcmludGVyLXN0YXRlIiApID09IDAgJiYNCistICAgICAgICAgICAgICAgICAgICAgICAgYXR0ci0+dmFsdWVfdGFnID09IElQUF9UQUdfRU5VTSApDQorLSAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSAoIGlwcF9wc3RhdGVfdCApIGF0dHItPnZhbHVlc1sgMCBdLmludGVnZXI7DQorLQ0KKy0gICAgICAgICAgICAgICAgZWxzZSBpZiAoIXN0cmNtcChhdHRyLT5uYW1lLCAicHJpbnRlci1pcy1hY2NlcHRpbmctam9icyIpICYmDQorLSAgICAgICAgICAgICAgICAgICAgICAgIGF0dHItPnZhbHVlX3RhZyA9PSBJUFBfVEFHX0JPT0xFQU4pDQorLSAgICAgICAgICAgICAgICAgICAgYWNjZXB0aW5nID0gYXR0ci0+dmFsdWVzWyAwIF0uYm9vbGVhbjsNCisrICAgICAgICAgICAgICAgIGlmICggc3RyY21wKCBpcHBHZXROYW1lKCBhdHRyICksICJwcmludGVyLW5hbWUiICkgPT0gMCAmJg0KKysgICAgICAgICAgICAgICAgICAgICAgICBpcHBHZXRWYWx1ZVRhZyggYXR0ciApID09IElQUF9UQUdfTkFNRSApDQorKyAgICAgICAgICAgICAgICAgICAgbmFtZSA9IGlwcEdldFN0cmluZyggYXR0ciwgMCwgTlVMTCApOw0KKysNCisrICAgICAgICAgICAgICAgIGVsc2UgaWYgKCBzdHJjbXAoIGlwcEdldE5hbWUoIGF0dHIgKSwgImRldmljZS11cmkiICkgPT0gMCAmJg0KKysgICAgICAgICAgICAgICAgICAgICAgICBpcHBHZXRWYWx1ZVRhZyggYXR0ciApID09IElQUF9UQUdfVVJJICkNCisrICAgICAgICAgICAgICAgICAgICBkZXZpY2VfdXJpID0gaXBwR2V0U3RyaW5nKCBhdHRyLCAwLCBOVUxMICk7DQorKw0KKysgICAgICAgICAgICAgICAgZWxzZSBpZiAoIHN0cmNtcCggaXBwR2V0TmFtZSggYXR0ciApLCAicHJpbnRlci11cmktc3VwcG9ydGVkIiApID09IDAgJiYNCisrICAgICAgICAgICAgICAgICAgICAgICAgaXBwR2V0VmFsdWVUYWcoIGF0dHIgKSA9PSBJUFBfVEFHX1VSSSApDQorKyAgICAgICAgICAgICAgICAgICAgcHJpbnRlcl91cmkgPSBpcHBHZXRTdHJpbmcoIGF0dHIsIDAsIE5VTEwgKTsNCisrDQorKyAgICAgICAgICAgICAgICBlbHNlIGlmICggc3RyY21wKCBpcHBHZXROYW1lKCBhdHRyICksICJwcmludGVyLWluZm8iICkgPT0gMCAmJg0KKysgICAgICAgICAgICAgICAgICAgICAgICBpcHBHZXRWYWx1ZVRhZyggYXR0ciApID09IElQUF9UQUdfVEVYVCApDQorKyAgICAgICAgICAgICAgICAgICAgaW5mbyA9IGlwcEdldFN0cmluZyggYXR0ciwgMCwgTlVMTCApOw0KKysNCisrICAgICAgICAgICAgICAgIGVsc2UgaWYgKCBzdHJjbXAoIGlwcEdldE5hbWUoIGF0dHIgKSwgInByaW50ZXItbG9jYXRpb24iICkgPT0gMCAmJg0KKysgICAgICAgICAgICAgICAgICAgICAgICBpcHBHZXRWYWx1ZVRhZyggYXR0ciApID09IElQUF9UQUdfVEVYVCApDQorKyAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24gPSBpcHBHZXRTdHJpbmcoIGF0dHIsIDAsIE5VTEwgKTsNCisrDQorKyAgICAgICAgICAgICAgICBlbHNlIGlmICggc3RyY21wKCBpcHBHZXROYW1lKCBhdHRyICksICJwcmludGVyLW1ha2UtYW5kLW1vZGVsIiApID09IDAgJiYNCisrICAgICAgICAgICAgICAgICAgICAgICAgaXBwR2V0VmFsdWVUYWcoIGF0dHIgKSA9PSBJUFBfVEFHX1RFWFQgKQ0KKysgICAgICAgICAgICAgICAgICAgIG1ha2VfbW9kZWwgPSBpcHBHZXRTdHJpbmcoIGF0dHIsIDAsIE5VTEwgKTsNCisrDQorKyAgICAgICAgICAgICAgICBlbHNlIGlmICggc3RyY21wKCBpcHBHZXROYW1lKCBhdHRyICksICJwcmludGVyLXN0YXRlIiApID09IDAgJiYNCisrICAgICAgICAgICAgICAgICAgICAgICAgaXBwR2V0VmFsdWVUYWcoIGF0dHIgKSA9PSBJUFBfVEFHX0VOVU0gKQ0KKysgICAgICAgICAgICAgICAgICAgIHN0YXRlID0gKCBpcHBfcHN0YXRlX3QgKSBpcHBHZXRJbnRlZ2VyKCBhdHRyLCAwICk7DQorKw0KKysgICAgICAgICAgICAgICAgZWxzZSBpZiAoIXN0cmNtcChpcHBHZXROYW1lKCBhdHRyICksICJwcmludGVyLWlzLWFjY2VwdGluZy1qb2JzIikgJiYNCisrICAgICAgICAgICAgICAgICAgICAgICAgaXBwR2V0VmFsdWVUYWcoIGF0dHIgKSA9PSBJUFBfVEFHX0JPT0xFQU4pDQorKyAgICAgICAgICAgICAgICAgICAgYWNjZXB0aW5nID0gaXBwR2V0Qm9vbGVhbiggYXR0ciwgMCApOw0KKyANCistICAgICAgICAgICAgICAgIGF0dHIgPSBhdHRyLT5uZXh0Ow0KKysgICAgICAgICAgICAgICAgYXR0ciA9IGlwcE5leHRBdHRyaWJ1dGUoIHJlc3BvbnNlICk7DQorICAgICAgICAgICAgIH0NCisgDQorICAgICAgICAgICAgIGlmICggZGV2aWNlX3VyaSA9PSBOVUxMICkNCitAQCAtNTIyLDggKzU2Miw4IEBACisgICAgIHJlcXVlc3QgPSBpcHBOZXcoKTsNCisgICAgIGxhbmd1YWdlID0gY3Vwc0xhbmdEZWZhdWx0KCk7DQorIA0KKy0gICAgcmVxdWVzdC0+cmVxdWVzdC5vcC5vcGVyYXRpb25faWQgPSBDVVBTX0FERF9QUklOVEVSOw0KKy0gICAgcmVxdWVzdC0+cmVxdWVzdC5hbnkucmVxdWVzdF9pZCA9IDE7DQorKyAgICBpcHBTZXRPcGVyYXRpb24oIHJlcXVlc3QsIENVUFNfQUREX1BSSU5URVIgKTsNCisrICAgIGlwcFNldFJlcXVlc3RJZCAoIHJlcXVlc3QsIDEgKTsNCisgDQorICAgICBpcHBBZGRTdHJpbmcoIHJlcXVlc3QsIElQUF9UQUdfT1BFUkFUSU9OLCBJUFBfVEFHX0NIQVJTRVQsDQorICAgICAgICAgICAgICAgICAgICJhdHRyaWJ1dGVzLWNoYXJzZXQiLCBOVUxMLCBjdXBzTGFuZ0VuY29kaW5nKCBsYW5ndWFnZSApICk7DQorQEAgLTU2OCw3ICs2MDgsNyBAQAorICAgICB9DQorICAgICBlbHNlDQorICAgICB7DQorLSAgICAgICAgc3RhdHVzID0gcmVzcG9uc2UtPnJlcXVlc3Quc3RhdHVzLnN0YXR1c19jb2RlOw0KKysgICAgICAgIHN0YXR1cyA9IGlwcEdldFN0YXR1c0NvZGUoIHJlc3BvbnNlICk7DQorICAgICAgICAgLy9pcHBEZWxldGUoIHJlc3BvbnNlICk7DQorICAgICAgICAgciA9IDE7DQorICAgICB9DQorQEAgLTYzMSw4ICs2NzEsOCBAQAorICAgICAgICAqLw0KKyAgICAgcmVxdWVzdCA9IGlwcE5ldygpOw0KKyANCistICAgIHJlcXVlc3QtPnJlcXVlc3Qub3Aub3BlcmF0aW9uX2lkID0gQ1VQU19ERUxFVEVfUFJJTlRFUjsNCistICAgIHJlcXVlc3QtPnJlcXVlc3Qub3AucmVxdWVzdF9pZCA9IDE7DQorKyAgICBpcHBTZXRPcGVyYXRpb24oIHJlcXVlc3QsIENVUFNfREVMRVRFX1BSSU5URVIgKTsNCisrICAgIGlwcFNldFJlcXVlc3RJZCAoIHJlcXVlc3QsIDEgKTsNCisgDQorICAgICBsYW5ndWFnZSA9IGN1cHNMYW5nRGVmYXVsdCgpOw0KKyANCitAQCAtNjUwLDcgKzY5MCw3IEBACisgICAgICAqLw0KKyAgICAgcmVzcG9uc2UgPSBjdXBzRG9SZXF1ZXN0KCBodHRwLCByZXF1ZXN0LCAiL2FkbWluLyIgKTsNCisgDQorLSAgICBpZiAoICggcmVzcG9uc2UgIT0gTlVMTCApICYmICggcmVzcG9uc2UtPnJlcXVlc3Quc3RhdHVzLnN0YXR1c19jb2RlIDw9IElQUF9PS19DT05GTElDVCApICkNCisrICAgIGlmICggKCByZXNwb25zZSAhPSBOVUxMICkgJiYgKCBpcHBHZXRTdGF0dXNDb2RlKCByZXNwb25zZSApIDw9IElQUF9PS19DT05GTElDVCApICkNCisgICAgIHsNCisgICAgICAgICByID0gMTsNCisgICAgIH0NCitAQCAtNzIxLDggKzc2MSw4IEBACisgDQorICAgICByZXF1ZXN0ID0gaXBwTmV3KCk7DQorIA0KKy0gICAgcmVxdWVzdC0+cmVxdWVzdC5vcC5vcGVyYXRpb25faWQgPSBDVVBTX1NFVF9ERUZBVUxUOw0KKy0gICAgcmVxdWVzdC0+cmVxdWVzdC5vcC5yZXF1ZXN0X2lkID0gMTsNCisrICAgIGlwcFNldE9wZXJhdGlvbiggcmVxdWVzdCwgQ1VQU19TRVRfREVGQVVMVCApOw0KKysgICAgaXBwU2V0UmVxdWVzdElkICggcmVxdWVzdCwgMSApOw0KKyANCisgICAgIGxhbmd1YWdlID0gY3Vwc0xhbmdEZWZhdWx0KCk7DQorIA0KK0BAIC03NDMsNyArNzgzLDcgQEAKKyANCisgICAgIHJlc3BvbnNlID0gY3Vwc0RvUmVxdWVzdCggaHR0cCwgcmVxdWVzdCwgIi9hZG1pbi8iICk7DQorIA0KKy0gICAgaWYgKCAoIHJlc3BvbnNlICE9IE5VTEwgKSAmJiAoIHJlc3BvbnNlLT5yZXF1ZXN0LnN0YXR1cy5zdGF0dXNfY29kZSA8PSBJUFBfT0tfQ09ORkxJQ1QgKSApDQorKyAgICBpZiAoICggcmVzcG9uc2UgIT0gTlVMTCApICYmICggaXBwR2V0U3RhdHVzQ29kZSggcmVzcG9uc2UgKSA8PSBJUFBfT0tfQ09ORkxJQ1QgKSApDQorICAgICB7DQorICAgICAgICAgciA9IDE7DQorICAgICB9DQorQEAgLTc5Nyw4ICs4MzcsOCBAQAorIA0KKyAgICAgcmVxdWVzdCA9IGlwcE5ldygpOw0KKyANCistICAgIHJlcXVlc3QtPnJlcXVlc3Qub3Aub3BlcmF0aW9uX2lkID0gb3A7DQorLSAgICByZXF1ZXN0LT5yZXF1ZXN0Lm9wLnJlcXVlc3RfaWQgPSAxOw0KKysgICAgaXBwU2V0T3BlcmF0aW9uKCByZXF1ZXN0LCBvcCApOw0KKysgICAgaXBwU2V0UmVxdWVzdElkICggcmVxdWVzdCwgMSApOw0KKyANCisgICAgIGxhbmd1YWdlID0gY3Vwc0xhbmdEZWZhdWx0KCk7DQorIA0KK0BAIC04MjIsNyArODYyLDcgQEAKKyANCisgICAgIHJlc3BvbnNlID0gY3Vwc0RvUmVxdWVzdChodHRwLCByZXF1ZXN0LCAiL2FkbWluLyIpOw0KKyANCistICAgIGlmICgoIHJlc3BvbnNlICE9IE5VTEwgKSAmJiAocmVzcG9uc2UtPnJlcXVlc3Quc3RhdHVzLnN0YXR1c19jb2RlIDw9IElQUF9PS19DT05GTElDVCkpDQorKyAgICBpZiAoKCByZXNwb25zZSAhPSBOVUxMICkgJiYgKGlwcEdldFN0YXR1c0NvZGUoIHJlc3BvbnNlICkgPD0gSVBQX09LX0NPTkZMSUNUKSkNCisgICAgIHsNCisgICAgICAgICByID0gMTsNCisgICAgIH0NCitAQCAtODM3LDcgKzg3Nyw3IEBACisgICAgIGlmICggcmVzcG9uc2UgIT0gTlVMTCApDQorICAgICAgICAgaXBwRGVsZXRlKCByZXNwb25zZSApOw0KKyANCistICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCAiaSIsIHIgKTs7DQorKyAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSggImkiLCByICk7DQorIH0NCisgDQorIA0KK0BAIC0xMTE2LDggKzExNTYsOCBAQAorIA0KKyAgICAgcmVxdWVzdCA9IGlwcE5ldygpOw0KKyANCistICAgIHJlcXVlc3QtPnJlcXVlc3Qub3Aub3BlcmF0aW9uX2lkID0gQ1VQU19HRVRfUFBEUzsNCistICAgIHJlcXVlc3QtPnJlcXVlc3Qub3AucmVxdWVzdF9pZCAgID0gMTsNCisrICAgIGlwcFNldE9wZXJhdGlvbiggcmVxdWVzdCwgQ1VQU19HRVRfUFBEUyApOw0KKysgICAgaXBwU2V0UmVxdWVzdElkICggcmVxdWVzdCwgMSApOw0KKyANCisgICAgIGxhbmd1YWdlID0gY3Vwc0xhbmdEZWZhdWx0KCk7DQorIA0KK0BAIC0xMTQzLDQzICsxMTgzLDQzIEBACisgICAgIGlmICgocmVzcG9uc2UgPSBjdXBzRG9SZXF1ZXN0KGh0dHAsIHJlcXVlc3QsICIvIikpICE9IE5VTEwpDQorICAgICB7DQorIA0KKy0gICAgICAgIGZvciAoYXR0ciA9IHJlc3BvbnNlLT5hdHRyczsgYXR0cjsgYXR0ciA9IGF0dHItPm5leHQpDQorKyAgICAgICAgZm9yIChhdHRyID0gaXBwRmlyc3RBdHRyaWJ1dGUoIHJlc3BvbnNlICk7IGF0dHI7IGF0dHIgPSBpcHBOZXh0QXR0cmlidXRlKCByZXNwb25zZSApKQ0KKyAgICAgICAgIHsNCisgICAgICAgICAgICAgUHlPYmplY3QgKmRpY3Q7DQorICAgICAgICAgICAgIGNoYXIgKnBwZG5hbWUgPSBOVUxMOw0KKyANCistICAgICAgICAgICAgd2hpbGUgKGF0dHIgJiYgYXR0ci0+Z3JvdXBfdGFnICE9IElQUF9UQUdfUFJJTlRFUikNCistICAgICAgICAgICAgICAgIGF0dHIgPSBhdHRyLT5uZXh0Ow0KKysgICAgICAgICAgICB3aGlsZSAoYXR0ciAmJiBpcHBHZXRHcm91cFRhZyggYXR0ciApICE9IElQUF9UQUdfUFJJTlRFUikNCisrICAgICAgICAgICAgICAgIGF0dHIgPSBpcHBOZXh0QXR0cmlidXRlKCByZXNwb25zZSApOw0KKyANCisgICAgICAgICAgICAgaWYgKCFhdHRyKQ0KKyAgICAgICAgICAgICAgICAgYnJlYWs7DQorIA0KKyAgICAgICAgICAgICBkaWN0ID0gUHlEaWN0X05ldyAoKTsNCisgDQorLSAgICAgICAgICAgIGZvciAoOyBhdHRyICYmIGF0dHItPmdyb3VwX3RhZyA9PSBJUFBfVEFHX1BSSU5URVI7IGF0dHIgPSBhdHRyLT5uZXh0KQ0KKysgICAgICAgICAgICBmb3IgKDsgYXR0ciAmJiBpcHBHZXRHcm91cFRhZyggYXR0ciApID09IElQUF9UQUdfUFJJTlRFUjsgYXR0ciA9IGlwcE5leHRBdHRyaWJ1dGUoIHJlc3BvbnNlICkpDQorICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICp2YWwgPSBOVUxMOw0KKyANCistICAgICAgICAgICAgICAgIGlmICghc3RyY21wIChhdHRyLT5uYW1lLCAicHBkLW5hbWUiKSAmJiBhdHRyLT52YWx1ZV90YWcgPT0gSVBQX1RBR19OQU1FKQ0KKysgICAgICAgICAgICAgICAgaWYgKCFzdHJjbXAgKGlwcEdldE5hbWUoIGF0dHIgKSwgInBwZC1uYW1lIikgJiYgaXBwR2V0VmFsdWVUYWcoIGF0dHIgKSA9PSBJUFBfVEFHX05BTUUpDQorICAgICAgICAgICAgICAgICB7DQorLSAgICAgICAgICAgICAgICAgICAgcHBkbmFtZSA9IGF0dHItPnZhbHVlc1swXS5zdHJpbmcudGV4dDsNCisrICAgICAgICAgICAgICAgICAgICBwcGRuYW1lID0gaXBwR2V0U3RyaW5nKCBhdHRyLCAwLCBOVUxMICk7DQorIA0KKyAgICAgICAgICAgICAgICAgICAgIC8vc3ByaW50ZiggYnVmLCAicHJpbnQgJyVzJyIsIHBwZG5hbWUpOw0KKyAgICAgICAgICAgICAgICAgICAgIC8vUHlSdW5fU2ltcGxlU3RyaW5nKCBidWYgKTsNCisgICAgICAgICAgICAgICAgIH0NCisgDQorLSAgICAgICAgICAgICAgICBlbHNlIGlmIChhdHRyLT52YWx1ZV90YWcgPT0gSVBQX1RBR19URVhUIHx8IGF0dHItPnZhbHVlX3RhZyA9PSBJUFBfVEFHX05BTUUgfHwgYXR0ci0+dmFsdWVfdGFnID09IElQUF9UQUdfS0VZV09SRCkNCistICAgICAgICAgICAgICAgIC8vZWxzZSBpZiAoKCFzdHJjbXAgKGF0dHItPm5hbWUsICJwcGQtbmF0dXJhbC1sYW5ndWFnZSIpICYmIGF0dHItPnZhbHVlX3RhZyA9PSBJUFBfVEFHX0xBTkdVQUdFKSB8fA0KKy0gICAgICAgICAgICAgICAgLy8gICAgKCFzdHJjbXAgKGF0dHItPm5hbWUsICJwcGQtbWFrZS1hbmQtbW9kZWwiKSAmJiBhdHRyLT52YWx1ZV90YWcgPT0gSVBQX1RBR19URVhUKSB8fA0KKy0gICAgICAgICAgICAgICAgLy8gICAgKCFzdHJjbXAgKGF0dHItPm5hbWUsICJwcGQtbWFrZSIpICYmIGF0dHItPnZhbHVlX3RhZyA9PSBJUFBfVEFHX1RFWFQpIHx8DQorLSAgICAgICAgICAgICAgICAvLyAgICAoIXN0cmNtcCAoYXR0ci0+bmFtZSwgInBwZC1kZXZpY2UtaWQiKSAmJiBhdHRyLT52YWx1ZV90YWcgPT0gSVBQX1RBR19URVhUKSkNCisrICAgICAgICAgICAgICAgIGVsc2UgaWYgKGlwcEdldFZhbHVlVGFnKCBhdHRyICkgPT0gSVBQX1RBR19URVhUIHx8IGlwcEdldFZhbHVlVGFnKCBhdHRyICkgPT0gSVBQX1RBR19OQU1FIHx8IGlwcEdldFZhbHVlVGFnKCBhdHRyICkgPT0gSVBQX1RBR19LRVlXT1JEKQ0KKysgICAgICAgICAgICAgICAgLy9lbHNlIGlmICgoIXN0cmNtcCAoaXBwR2V0TmFtZSggYXR0ciApLCAicHBkLW5hdHVyYWwtbGFuZ3VhZ2UiKSAmJiBpcHBHZXRWYWx1ZVRhZyggYXR0ciApID09IElQUF9UQUdfTEFOR1VBR0UpIHx8DQorKyAgICAgICAgICAgICAgICAvLyAgICAoIXN0cmNtcCAoaXBwR2V0TmFtZSggYXR0ciApLCAicHBkLW1ha2UtYW5kLW1vZGVsIikgJiYgaXBwR2V0VmFsdWVUYWcoIGF0dHIgKSA9PSBJUFBfVEFHX1RFWFQpIHx8DQorKyAgICAgICAgICAgICAgICAvLyAgICAoIXN0cmNtcCAoaXBwR2V0TmFtZSggYXR0ciApLCAicHBkLW1ha2UiKSAmJiBpcHBHZXRWYWx1ZVRhZyggYXR0ciApID09IElQUF9UQUdfVEVYVCkgfHwNCisrICAgICAgICAgICAgICAgIC8vICAgICghc3RyY21wIChpcHBHZXROYW1lKCBhdHRyICksICJwcGQtZGV2aWNlLWlkIikgJiYgaXBwR2V0VmFsdWVUYWcoIGF0dHIgKSA9PSBJUFBfVEFHX1RFWFQpKQ0KKyAgICAgICAgICAgICAgICAgew0KKy0gICAgICAgICAgICAgICAgICAgIHZhbCA9IFB5T2JqX2Zyb21fVVRGOChhdHRyLT52YWx1ZXNbMF0uc3RyaW5nLnRleHQpOw0KKysgICAgICAgICAgICAgICAgICAgIHZhbCA9IFB5T2JqX2Zyb21fVVRGOChpcHBHZXRTdHJpbmcoIGF0dHIsIDAsIE5VTEwgKSk7DQorICAgICAgICAgICAgICAgICB9DQorIA0KKyAgICAgICAgICAgICAgICAgaWYgKHZhbCkNCisgICAgICAgICAgICAgICAgIHsNCistICAgICAgICAgICAgICAgICAgICBQeURpY3RfU2V0SXRlbVN0cmluZyAoZGljdCwgYXR0ci0+bmFtZSwgdmFsKTsNCisrICAgICAgICAgICAgICAgICAgICBQeURpY3RfU2V0SXRlbVN0cmluZyAoZGljdCwgaXBwR2V0TmFtZSggYXR0ciApLCB2YWwpOw0KKyAgICAgICAgICAgICAgICAgICAgIFB5X0RFQ1JFRiAodmFsKTsNCisgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgfQ0KK2RpZmYgLU5hdXIgaHBsaXAtMy4xMi42X29sZC9zY2FuL3NhbmUvaHBhaW8uYyBocGxpcC0zLjEyLjYvc2Nhbi9zYW5lL2hwYWlvLmMKKy0tLSBocGxpcC0zLjEyLjZfb2xkL3NjYW4vc2FuZS9ocGFpby5jCTIwMTItMDgtMDQgMDk6MTg6MjEuNDU4Mzg5OTEzICswMjAwCisrKysgaHBsaXAtMy4xMi42L3NjYW4vc2FuZS9ocGFpby5jCTIwMTItMDgtMDQgMDk6MTg6MjcuODc1MTgxNzIwICswMjAwCitAQCAtNDcsNiArNDcsNDMgQEAKKyAjZGVmaW5lIERFQlVHX0RFQ0xBUkVfT05MWQorICNpbmNsdWRlICJzYW5laV9kZWJ1Zy5oIgorIAorKyNpZiAoQ1VQU19WRVJTSU9OX01BSk9SID4gMSkgfHwgKENVUFNfVkVSU0lPTl9NSU5PUiA+IDUpCisrI2RlZmluZSBIQVZFX0NVUFNfMV82IDEKKysjZW5kaWYKKysKKysjaWZuZGVmIEhBVkVfQ1VQU18xXzYKKysjZGVmaW5lIGlwcEdldEdyb3VwVGFnKGF0dHIpICBhdHRyLT5ncm91cF90YWcKKysjZGVmaW5lIGlwcEdldFZhbHVlVGFnKGF0dHIpICBhdHRyLT52YWx1ZV90YWcKKysjZGVmaW5lIGlwcEdldE5hbWUoYXR0cikgICAgICBhdHRyLT5uYW1lCisrI2RlZmluZSBpcHBHZXRTdHJpbmcoYXR0ciwgZWxlbWVudCwgbGFuZ3VhZ2UpIGF0dHItPnZhbHVlc1tlbGVtZW50XS5zdHJpbmcudGV4dAorKworK3N0YXRpYyBpcHBfYXR0cmlidXRlX3QgKiBpcHBGaXJzdEF0dHJpYnV0ZSggaXBwX3QgKmlwcCApCisreworKyAgICBpZiAoIWlwcCkKKysgICAgICAgIHJldHVybiAoTlVMTCk7CisrICAgIHJldHVybiAoaXBwLT5jdXJyZW50ID0gaXBwLT5hdHRycyk7CisrfQorKworK3N0YXRpYyBpcHBfYXR0cmlidXRlX3QgKiBpcHBOZXh0QXR0cmlidXRlKCBpcHBfdCAqaXBwICkKKyt7CisrICAgIGlmICghaXBwIHx8ICFpcHAtPmN1cnJlbnQpCisrICAgICAgICByZXR1cm4gKE5VTEwpOworKyAgICByZXR1cm4gKGlwcC0+Y3VycmVudCA9IGlwcC0+Y3VycmVudC0+bmV4dCk7CisrfQorKworK3N0YXRpYyBpbnQgaXBwU2V0T3BlcmF0aW9uKCBpcHBfdCAqaXBwLCBpcHBfb3BfdCBvcCApCisreworKyAgICBpcHAtPnJlcXVlc3Qub3Aub3BlcmF0aW9uX2lkID0gb3A7CisrICAgIHJldHVybiAoMSk7CisrfQorKworK3N0YXRpYyBpbnQgaXBwU2V0UmVxdWVzdElkKCBpcHBfdCAqaXBwLCBpbnQgcmVxdWVzdF9pZCApCisreworKyAgICBpcHAtPnJlcXVlc3QuYW55LnJlcXVlc3RfaWQgPSByZXF1ZXN0X2lkOworKyAgICByZXR1cm4gKDEpOworK30KKysjZW5kaWYKKysKKyBzdGF0aWMgU0FORV9EZXZpY2UgKipEZXZpY2VMaXN0ID0gTlVMTDsKKyAKKyBzdGF0aWMgaW50IEFkZERldmljZUxpc3QoY2hhciAqdXJpLCBjaGFyICptb2RlbCwgU0FORV9EZXZpY2UgKioqcGQpCitAQCAtMTg2LDggKzIyMyw4IEBACisgICAgLyogQXNzZW1ibGUgdGhlIElQUCByZXF1ZXN0ICovCisgICAgcmVxdWVzdCA9IGlwcE5ldygpOworIAorLSAgIHJlcXVlc3QtPnJlcXVlc3Qub3Aub3BlcmF0aW9uX2lkID0gQ1VQU19HRVRfUFJJTlRFUlM7CistICAgcmVxdWVzdC0+cmVxdWVzdC5hbnkucmVxdWVzdF9pZCAgPSAxOworKyAgIGlwcFNldE9wZXJhdGlvbiggcmVxdWVzdCwgQ1VQU19HRVRfUFJJTlRFUlMgKTsKKysgICBpcHBTZXRSZXF1ZXN0SWQoIHJlcXVlc3QsIDEgKTsKKyAKKyAgICBpcHBBZGRTdHJpbmcocmVxdWVzdCwgSVBQX1RBR19PUEVSQVRJT04sIElQUF9UQUdfQ0hBUlNFVCwgImF0dHJpYnV0ZXMtY2hhcnNldCIsIE5VTEwsICJ1dGYtOCIpOworICAgIGlwcEFkZFN0cmluZyhyZXF1ZXN0LCBJUFBfVEFHX09QRVJBVElPTiwgSVBQX1RBR19MQU5HVUFHRSwgImF0dHJpYnV0ZXMtbmF0dXJhbC1sYW5ndWFnZSIsIE5VTEwsICJlbiIpOworQEAgLTE5NywyMCArMjM0LDIwIEBACisgICAgaWYgKChyZXNwb25zZSA9IGN1cHNEb1JlcXVlc3QoaHR0cCwgcmVxdWVzdCwgIi8iKSkgPT0gTlVMTCkKKyAgICAgICBnb3RvIGJ1Z291dDsKKyAKKy0gICBmb3IgKGF0dHIgPSByZXNwb25zZS0+YXR0cnM7IGF0dHIgIT0gTlVMTDsgYXR0ciA9IGF0dHItPm5leHQpCisrICAgZm9yIChhdHRyID0gaXBwRmlyc3RBdHRyaWJ1dGUgKCByZXNwb25zZSApOyBhdHRyICE9IE5VTEw7IGF0dHIgPSBpcHBOZXh0QXR0cmlidXRlKCByZXNwb25zZSApKQorICAgIHsKKyAgICAgICAvKiBTa2lwIGxlYWRpbmcgYXR0cmlidXRlcyB1bnRpbCB3ZSBoaXQgYSBwcmludGVyLiAqLworLSAgICAgIHdoaWxlIChhdHRyICE9IE5VTEwgJiYgYXR0ci0+Z3JvdXBfdGFnICE9IElQUF9UQUdfUFJJTlRFUikKKy0gICAgICAgICBhdHRyID0gYXR0ci0+bmV4dDsKKysgICAgICB3aGlsZSAoYXR0ciAhPSBOVUxMICYmIGlwcEdldEdyb3VwVGFnKCBhdHRyICkgIT0gSVBQX1RBR19QUklOVEVSKQorKyAgICAgICAgIGF0dHIgPSBpcHBOZXh0QXR0cmlidXRlKCByZXNwb25zZSApOworIAorICAgICAgIGlmIChhdHRyID09IE5VTEwpCisgICAgICAgICAgYnJlYWs7CisgCistICAgICAgd2hpbGUgKGF0dHIgIT0gTlVMTCAmJiBhdHRyLT5ncm91cF90YWcgPT0gSVBQX1RBR19QUklOVEVSKQorKyAgICAgIHdoaWxlIChhdHRyICE9IE5VTEwgJiYgaXBwR2V0R3JvdXBUYWcoIGF0dHIgKSA9PSBJUFBfVEFHX1BSSU5URVIpCisgICAgICAgeworLSAgICAgICAgIGlmIChzdHJjbXAoYXR0ci0+bmFtZSwgImRldmljZS11cmkiKSA9PSAwICYmIGF0dHItPnZhbHVlX3RhZyA9PSBJUFBfVEFHX1VSSSAmJiBBZGRDdXBzTGlzdChhdHRyLT52YWx1ZXNbMF0uc3RyaW5nLnRleHQsIHByaW50ZXIpID09IDApCisrICAgICAgICAgaWYgKHN0cmNtcChpcHBHZXROYW1lKCBhdHRyICksICJkZXZpY2UtdXJpIikgPT0gMCAmJiBpcHBHZXRWYWx1ZVRhZyggYXR0ciApID09IElQUF9UQUdfVVJJICYmIEFkZEN1cHNMaXN0KGlwcEdldFN0cmluZyggYXR0ciwgMCwgTlVMTCApLCBwcmludGVyKSA9PSAwKQorICAgICAgICAgICAgIGNudCsrOworLSAgICAgICAgIGF0dHIgPSBhdHRyLT5uZXh0OworKyAgICAgICAgIGF0dHIgPSBpcHBOZXh0QXR0cmlidXRlKCByZXNwb25zZSApOworICAgICAgIH0KKyAKKyAgICAgICBpZiAoYXR0ciA9PSBOVUxMKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaHBsaXAvaHBsaXAtMy4xMi42L2ZpeC1saWJ1c2ItcGF0aHMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9ocGxpcC9ocGxpcC0zLjEyLjYvZml4LWxpYnVzYi1wYXRocy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMzQ3ZjgzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaHBsaXAvaHBsaXAtMy4xMi42L2ZpeC1saWJ1c2ItcGF0aHMucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitkaWZmIC1ydXBOIGhwbGlwLTMuMTIuNl9vcmlnL2NvbmZpZ3VyZS5pbiBocGxpcC0zLjEyLjYvY29uZmlndXJlLmluCistLS0gaHBsaXAtMy4xMi42X29yaWcvY29uZmlndXJlLmluCTIwMTItMDYtMTggMjA6NDQ6MjQuMDAwMDAwMDAwICsxMDAwCisrKysgaHBsaXAtMy4xMi42L2NvbmZpZ3VyZS5pbgkyMDEyLTA4LTE2IDEzOjQwOjA3LjI1OTkyNzY1MCArMTAwMAorQEAgLTUyNCw2ICs1MjQsOCBAQCBpZiB0ZXN0ICIkaHBpanNfb25seV9idWlsZCIgPSAibm8iOyB0aGVuCisgICAgICAgQUNfQ0hFQ0tfSEVBREVSUyh1c2IuaCwgLFtBQ19NU0dfRVJST1IoW2Nhbm5vdCBmaW5kIGxpYnVzYi1kZXZlbCBzdXBwb3J0XSwgMTEpXSkKKyAgICBlbHNlCisgICAgICAgQUNfQ0hFQ0tfTElCKFt1c2ItMS4wXSwgW2xpYnVzYl9pbml0XSwgW0xJQlM9IiRMSUJTIl0sIFtBQ19NU0dfRVJST1IoW2Nhbm5vdCBmaW5kIGxpYnVzYiAxLjAgc3VwcG9ydF0sIDIpXSkKKysgICAgICBMSUJVU0JJTkNMVURFUk9PVD89Ii91c3IvaW5jbHVkZS8iCisrICAgICAgQUNfQVJHX1ZBUihMSUJVU0JJTkNMVURFUk9PVCwgW3BhdGggdG8gbGlidXNiLTEuMCBmb2xkZXJdKQorICAgICAgIEFDX0NIRUNLX0hFQURFUlMobGlidXNiLTEuMC9saWJ1c2IuaCwgLFtBQ19NU0dfRVJST1IoW2Nhbm5vdCBmaW5kIGxpYnVzYi0xLjAtZGV2ZWwgc3VwcG9ydF0sIDExKV0pCisgICAgZmkKKyBmaQorZGlmZiAtcnVwTiBocGxpcC0zLjEyLjZfb3JpZy9NYWtlZmlsZS5hbSBocGxpcC0zLjEyLjYvTWFrZWZpbGUuYW0KKy0tLSBocGxpcC0zLjEyLjZfb3JpZy9NYWtlZmlsZS5hbQkyMDEyLTA2LTE4IDIwOjQ0OjEzLjAwMDAwMDAwMCArMTAwMAorKysrIGhwbGlwLTMuMTIuNi9NYWtlZmlsZS5hbQkyMDEyLTA4LTE2IDEzOjQxOjEyLjMwNzkzMjgyMiArMTAwMAorQEAgLTcyLDcgKzcyLDcgQEAgbGliaHBtdWRfbGFfU09VUkNFUyA9IGlvL2hwbXVkL2hwbXVkLmMgaQorIAkgIGlvL2hwbXVkL2hwbXVkLmggaW8vaHBtdWQvaHBtdWRpLmggaW8vaHBtdWQvbGlzdC5oIGlvL2hwbXVkL21sYy5oIGlvL2hwbXVkL3BtbC5oIGlvL2hwbXVkL2RvdDQuYyBcCisgCSAgaW8vaHBtdWQvZG90NC5oIGlvL2hwbXVkL2pkLmMgaW8vaHBtdWQvamQuaCBpby9ocG11ZC9wcC5jIGlvL2hwbXVkL3BwLmggaW8vaHBtdWQvbXVzYi5oIGlvL2hwbXVkL211c2JfbGlidXNiMDEuYworIGVsc2UKKy1saWJocG11ZF9sYV9DRkxBR1MgPSAtSS91c3IvaW5jbHVkZS9saWJ1c2ItMS4wIC1ETVVETkFNRT1cIiQoTVVETkFNRSlcIiAtRENPTkZESVI9XCIkKGhwbGlwX2NvbmZkaXIpXCIKKytsaWJocG11ZF9sYV9DRkxBR1MgPSAtSS8kKExJQlVTQklOQ0xVREVST09UKS9saWJ1c2ItMS4wIC1ETVVETkFNRT1cIiQoTVVETkFNRSlcIiAtRENPTkZESVI9XCIkKGhwbGlwX2NvbmZkaXIpXCIKKyBsaWJocG11ZF9sYV9TT1VSQ0VTID0gaW8vaHBtdWQvaHBtdWQuYyBpby9ocG11ZC9tbGMuYyBpby9ocG11ZC9tb2RlbC5jIGlvL2hwbXVkL3BtbC5jIFwKKyAJICBpby9ocG11ZC9ocG11ZC5oIGlvL2hwbXVkL2hwbXVkaS5oIGlvL2hwbXVkL2xpc3QuaCBpby9ocG11ZC9tbGMuaCBpby9ocG11ZC9wbWwuaCBpby9ocG11ZC9kb3Q0LmMgXAorIAkgIGlvL2hwbXVkL2RvdDQuaCBpby9ocG11ZC9qZC5jIGlvL2hwbXVkL2pkLmggaW8vaHBtdWQvcHAuYyBpby9ocG11ZC9wcC5oIGlvL2hwbXVkL211c2IuaCBpby9ocG11ZC9tdXNiLmMKK0BAIC0yODYsNyArMjg2LDcgQEAgaHBtdWRleHRfbGFfTElCQUREID0gbGliaHBtdWQubGEKKyBpZiBMSUJVU0IwMV9CVUlMRAorIGhwbXVkZXh0X2xhX0NGTEFHUyA9IC1JJChQWVRIT05JTkNMVURFRElSKQorIGVsc2UKKy1ocG11ZGV4dF9sYV9DRkxBR1MgPS1JL3Vzci9pbmNsdWRlL2xpYnVzYi0xLjAgLUkkKFBZVEhPTklOQ0xVREVESVIpCisraHBtdWRleHRfbGFfQ0ZMQUdTID0tSSQoTElCVVNCSU5DTFVERVJPT1QpL2xpYnVzYi0xLjAgLUkkKFBZVEhPTklOQ0xVREVESVIpCisgZW5kaWYKKyAKKyAjIHVpIChxdDMpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9ocGxpcC9ocGxpcC0zLjEyLjYvc2V0dXAtYWRkLXNsZWVwLWFmdGVyLWN1cHMtcmVzZXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9ocGxpcC9ocGxpcC0zLjEyLjYvc2V0dXAtYWRkLXNsZWVwLWFmdGVyLWN1cHMtcmVzZXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGUxYjZjNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hwbGlwL2hwbGlwLTMuMTIuNi9zZXR1cC1hZGQtc2xlZXAtYWZ0ZXItY3Vwcy1yZXNldC5wYXRjaApAQCAtMCwwICsxLDEyIEBACitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCistLS0gaHBsaXAtMy4xMS4xMC9zZXR1cC5weS5vcmlnCTIwMTEtMTAtMDIgMTQ6MDY6MTkuMDAwMDAwMDAwICsxMTAwCisrKysgaHBsaXAtMy4xMS4xMC9zZXR1cC5weQkyMDEyLTAyLTI5IDA4OjIxOjM5LjE2Nzk5OTkzOCArMTEwMAorQEAgLTU3Myw2ICs1NzMsNyBAQAorIAorICAgICAgICAgICAgIGxvZy5kZWJ1ZygiUmVzdGFydGluZyBDVVBTLi4uIikKKyAgICAgICAgICAgICBzdGF0dXMsIG91dHB1dCA9IHV0aWxzLnJ1bihyZXN0YXJ0X2N1cHMoKSkKKysgICAgICAgICAgICB0aW1lLnNsZWVwKDMpCisgICAgICAgICAgICAgbG9nLmRlYnVnKCJSZXN0YXJ0IENVUFMgcmV0dXJuZWQ6IGV4aXQ9JWQgb3V0cHV0PSVzIiAlIChzdGF0dXMsIG91dHB1dCkpCisgCisgICAgICAgICAgICAgY3Vwcy5zZXRQYXNzd29yZFByb21wdCgiWW91IGRvIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWRkIGEgcHJpbnRlci4iKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaHBsaXAvaHBsaXBfMy4xMi42LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaHBsaXAvaHBsaXBfMy4xMi42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2NjI4YjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9ocGxpcC9ocGxpcF8zLjEyLjYuYmIKQEAgLTAsMCArMSw3NSBAQAorU1VNTUFSWSA9ICJIUCBMaW51eCBJbWFnaW5nIGFuZCBQcmludGluZyIKK0xJQ0VOU0U9IkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NDQyYmIzY2JiZWViNjA2NDNhODczMjU3MThiOGE4ZWUiCisKK1BSID0gInIxIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS8ke0JQTn0vJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3NldHVwLWFkZC1zbGVlcC1hZnRlci1jdXBzLXJlc2V0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC1saWJ1c2ItcGF0aHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY3Vwcy0xLjYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLnBhdGNoIFwKKyIKKworREVQRU5EUyArPSAiY3VwcyBweXRob24gbGlidXNiIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcHl0aG9uLWRpciBweXRob25uYXRpdmUgcGtnY29uZmlnCisKK2V4cG9ydCBCVUlMRF9TWVMKK2V4cG9ydCBIT1NUX1NZUworZXhwb3J0IFNUQUdJTkdfSU5DRElSCitleHBvcnQgU1RBR0lOR19MSUJESVIKKworRVhUUkFfT0VDT05GICs9ICJcCisgICAgICAgIExJQlVTQklOQ0xVREVST09UPSR7U1RBR0lOR19JTkNESVJ9IFwKKyAgICAgICAgLS1kaXNhYmxlLW5ldHdvcmstYnVpbGQgXAorICAgICAgICAtLWRpc2FibGUtZG9jLWJ1aWxkIFwKKyAgICAgICAgLS1kaXNhYmxlLXBwLWJ1aWxkIFwKKyAgICAgICAgLS1kaXNhYmxlLXNjYW4tYnVpbGQgXAorICAgICAgICAtLWRpc2FibGUtZ3VpLWJ1aWxkIFwKKyAgICAgICAgLS1kaXNhYmxlLWZheC1idWlsZCBcCisgICAgICAgIC0tZGlzYWJsZS1wb2xpY3lraXQgIFwKKyAgICAgICAgLS1kaXNhYmxlLXF0NCBcCisgICAgICAgIC0tZGlzYWJsZS1xdDMgXAorICAgICAgICAtLWRpc2FibGUtZGJ1cy1idWlsZCBcCisgICAgICAgIC0tZGlzYWJsZS1mb29tYXRpYy1kcnYtaW5zdGFsbCBcCisgICAgICAgIC0tZW5hYmxlLWZvb21hdGljLXBwZC1pbnN0YWxsICBcCisgICAgICAgIC0tZW5hYmxlLWZvb21hdGljLXJpcC1ocGxpcC1pbnN0YWxsIFwKKyAgICAgICAgLS13aXRoLWN1cHNiYWNrZW5kZGlyPSR7bGliZGlyfS9jdXBzL2JhY2tlbmQgXAorICAgICAgICAtLXdpdGgtY3Vwc2ZpbHRlcmRpcj0ke2xpYmRpcn0vY3Vwcy9maWx0ZXIgXAorIgorCitQQUNLQUdFUyArPSAiJHtQTn0tcHBkICR7UE59LWN1cHMgJHtQTn0tYmFja2VuZCAke1BOfS1maWx0ZXIgJHtQTn0taGFsIgorCitSREVQRU5EU18ke1BOfSArPSAiIFwKKyAgICAgICAgcHl0aG9uLXN5c2xvZyBcCisgICAgICAgIHB5dGhvbi1wcHJpbnQgXAorICAgICAgICBweXRob24tY29tcHJlc3Npb24gXAorICAgICAgICBweXRob24tc2hlbGwgXAorICAgICAgICBweXRob24teG1sIFwKKyAgICAgICAgcHl0aG9uLXVuaXhhZG1pbiBcCisgICAgICAgIHB5dGhvbi1odG1sIFwKKyAgICAgICAgcHl0aG9uLXJlc291cmNlIFwKKyAgICAgICAgcHl0aG9uLXRlcm1pbmFsIFwKKyAgICAgICAgcHl0aG9uLXN1YnByb2Nlc3NcCisiCitSREVQRU5EU18ke1BOfS1maWx0ZXIgKz0gInBlcmwiCisKKyMgbmVlZCB0byBzbmFnIHRoZSBkZWJ1ZyBmaWxlIG9yIE9FIHdpbGwgZmFpbCBvbiBiYWNrZW5kIHBhY2thZ2UKK0ZJTEVTXyR7UE59LWRiZyArPSAiXAorICAgICAgICAke2xpYmRpcn0vY3Vwcy9iYWNrZW5kLy5kZWJ1ZyBcCisgICAgICAgICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9Ly5kZWJ1ZyBcCisgICAgICAgICR7bGliZGlyfS9jdXBzL2ZpbHRlci8uZGVidWcgIgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyoubGEiCitGSUxFU18ke1BOfS1wcGQgPSAiJHtkYXRhZGlyfS9wcGQiCitGSUxFU18ke1BOfS1jdXBzID0gIiR7ZGF0YWRpcn0vY3VwcyIKK0ZJTEVTXyR7UE59LWJhY2tlbmQgPSAiJHtsaWJkaXJ9L2N1cHMvYmFja2VuZCIKK0ZJTEVTXyR7UE59LWZpbHRlciA9ICIke2xpYmRpcn0vY3Vwcy9maWx0ZXIiCitGSUxFU18ke1BOfS1oYWwgPSAiJHtkYXRhZGlyfS9oYWwiCisKK0ZJTEVTXyR7UE59ICs9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qLnNvIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNTMwMzkzOGU4NjMwNzc1ZWE2ZmIzODNhZjg1Nzc1ZTUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTQ1NzgwMDA3OTI5NjlhZGI1ODNlNzVlZmVhY2I5YzQ2YWI2OTY1OWVjN2U5NDI0ZGUzOTA2MTNmMzU5NTc3NSIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaW5kZW50L2luZGVudF8yLjIuMTAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9pbmRlbnQvaW5kZW50XzIuMi4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjVlOGUzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaW5kZW50L2luZGVudF8yLjIuMTAuYmIKQEAgLTAsMCArMSwyMiBAQAorU1VNTUFSWSA9ICJBIEdOVSBwcm9ncmFtIGZvciBmb3JtYXR0aW5nIEMgY29kZSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9pbmRlbnQvIgorU0VDVElPTiA9ICJBcHBsaWNhdGlvbnMvVGV4dCIKK0RFU0NSSVBUSU9OID0gIkluZGVudCBpcyBhIEdOVSBwcm9ncmFtIGZvciBiZWF1dGlmeWluZyBDIGNvZGUsIHNvIHRoYXQgXAoraXQgaXMgZWFzaWVyIHRvIHJlYWQuIEluZGVudCBjYW4gYWxzbyBjb252ZXJ0IGZyb20gb25lIEMgd3JpdGluZyBzdHlsZSBcCit0byBhIGRpZmZlcmVudCBvbmUuIEluZGVudCB1bmRlcnN0YW5kcyBjb3JyZWN0IEMgc3ludGF4IGFuZCB0cmllcyB0byBoYW5kbGUgXAoraW5jb3JyZWN0IEMgc3ludGF4LiBcCitJbnN0YWxsIHRoZSBpbmRlbnQgcGFja2FnZSBpZiB5b3UgYXJlIGRldmVsb3BpbmcgYXBwbGljYXRpb25zIGluIEMgYW5kIFwKK3lvdSB3YW50IGEgcHJvZ3JhbSB0byBmb3JtYXQgeW91ciBjb2RlLiIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKK0RFUEVORFMgPSAidmlydHVhbC9nZXR0ZXh0IgorCitTUkNfVVJJID0gIiR7R05VX01JUlJPUn0vJHtCUE59LyR7QlB9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJiZTM1ZWE2MjcwNTczMzg1OWZiZjhjYWY4MTZkODk1OSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4YTliNDFiZTViZmNhYjVkOGMxYmU3NDIwNGIxMGFlNzg3ODlmYzNkZWFiZWEwNzc1ZmRjZWQ4Njc3MjkyNjM5IgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0CisKK0ZJTEVTXyR7UE59LWRvYyArPSAiL3Vzci9kb2MvaW5kZW50L2luZGVudC5odG1sIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2lvdG9wL2lvdG9wXzAuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2lvdG9wL2lvdG9wXzAuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZGNhZTk4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaW90b3AvaW90b3BfMC42LmJiCkBAIC0wLDAgKzEsMjQgQEAKK1NVTU1BUlkgPSAiU2ltcGxlIHRvcC1saWtlIEkvTyBtb25pdG9yIgorREVTQ1JJUFRJT04gPSAiaW90b3AgZG9lcyBmb3IgSS9PIHVzYWdlIHdoYXQgdG9wKDEpIGRvZXMgZm9yIENQVSB1c2FnZS4gXAorICAgIEl0IHdhdGNoZXMgSS9PIHVzYWdlIGluZm9ybWF0aW9uIG91dHB1dCBieSB0aGUgTGludXgga2VybmVsIGFuZCBkaXNwbGF5cyBcCisgICAgYSB0YWJsZSBvZiBjdXJyZW50IEkvTyB1c2FnZSBieSBwcm9jZXNzZXMgb24gdGhlIHN5c3RlbS4iCitIT01FUEFHRSA9ICJodHRwOi8vZ3VpY2hhei5mcmVlLmZyL2lvdG9wLyIKKworCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTQzMjVhZmQzOTZmZWJjYjY1OWMzNmI0OTUzMzEzNWQ0IgorCitTUkNfVVJJID0gImh0dHA6Ly9ndWljaGF6LmZyZWUuZnIvaW90b3AvZmlsZXMvJHtCUH0udGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1ZWY5NDU2YjI2ZDc2OTRhYmYzMTAxYTcyZTFlMGQxZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzYWRlYTJhMjRlZGE0OWJiYmFlYjRlNmVkMjA0MjM1NWI0NDFkYmQ3MTYxZTg4MzA2N2EwMmJmYzhkY2VmNzViIgorCitpbmhlcml0IGRpc3R1dGlscworCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBybSAtZiAke0R9JHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vc2l0ZS5weW8gfHwgdHJ1ZQorICAgIHJtIC1mICR7RH0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS9zaXRlLnB5ICB8fCB0cnVlCit9CisKK1JERVBFTkRTXyR7UE59ID0gInB5dGhvbi1jdXJzZXMgcHl0aG9uLXRleHR1dGlscyBcCisgICAgICAgICAgICAgICAgICBweXRob24tY29kZWNzIHB5dGhvbi1jdHlwZXMgcHl0aG9uLXBwcmludCBcCisgICAgICAgICAgICAgICAgICBweXRob24tc2hlbGwiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9qYW5zc29uL2phbnNzb25fMi40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvamFuc3Nvbi9qYW5zc29uXzIuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMjM1NzI5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvamFuc3Nvbi9qYW5zc29uXzIuNC5iYgpAQCAtMCwwICsxLDEyIEBACitTVU1NQVJZID0gIkphbnNzb24gaXMgYSBDIGxpYnJhcnkgZm9yIGVuY29kaW5nLCBkZWNvZGluZyBhbmQgbWFuaXB1bGF0aW5nIEpTT04gZGF0YSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZGlnaXAub3JnL2phbnNzb24vIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT02OTQ2YjcyOGU3MDBkZTg3NWU2MGViYjQ1M2NjM2EyMCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmRpZ2lwLm9yZy9qYW5zc29uL3JlbGVhc2VzLyR7QlBOfS0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjNDYyOWI4OWJmMDQzMmYzMTU4YzQ2MWU4OGZlMDExMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxZmNiZDFhYzNkOGI2MTA2NDRhY2Y4NmE1NzMxZDc2MGJiMjI4YzlhY2JhY2UyMGEyYWQwZjIzYmFlYzc5YjQxIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQva29ua3JldGNtcGkva29ua3JldGNtcGktbmF0aXZlXzAuOS4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQva29ua3JldGNtcGkva29ua3JldGNtcGktbmF0aXZlXzAuOS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliMmFjZTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9rb25rcmV0Y21waS9rb25rcmV0Y21waS1uYXRpdmVfMC45LjIuYmIKQEAgLTAsMCArMSwyOCBAQAorU1VNTUFSWSA9ICJUb29sIGZvciByYXBpZCBDTVBJIHByb3ZpZGVycyBkZXZlbG9wbWVudCIKK0RFU0NSSVBUSU9OID0gIlwKK0tvbmtyZXRDTVBJIG1ha2VzIENNUEkgcHJvdmlkZXIgZGV2ZWxvcG1lbnQgZWFzaWVyIGJ5IGdlbmVyYXRpbmcgdHlwZS1zYWZlIFwKK2NvbmNyZXRlIENJTSBpbnRlcmZhY2VzIGZyb20gTU9GIGRlZmluaXRpb25zIGFuZCBieSBwcm92aWRpbmcgZGVmYXVsdCBcCitpbXBsZW1lbnRhdGlvbnMgZm9yIG1hbnkgb2YgdGhlIHByb3ZpZGVyIG9wZXJhdGlvbnMuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3Jub3ZhY2VrL2tvbmtyZXRjbXBpIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mNjczMjcwYmZjMzUwZDljZTFlZmM4NzI0YzZjMTg3MyIKK0RFUEVORFMgPSAiY21ha2UtbmF0aXZlIGNtcGktYmluZGluZ3MtbmF0aXZlIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcm5vdmFjZWsva29ua3JldGNtcGkuZ2l0IFwKKyAgICAgICAgICAgZmlsZTovL2tvbmtyZXRjbXBpLTAuOS4yLWZpeC1yZXR1cm5pbmctaW5zdGFuY2UtZnJvbS1tZXRob2QucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1DTWFrZUxpc3RzLnR4dC1maXgtbGliNjQtY2FuLW5vdC1iZS1zaGlwZWQtaW4tNjRiaXQtLnBhdGNoICIKKworU1JDUkVWID0gIjQ2MGU2NDIxYzE2YTgyMTZkMjljY2QxYjc0OTBmODE0ZGFiOGI3NjkiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IG5hdGl2ZSBjbWFrZQorTERGTEFHU19hcHBlbmQgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsZC1pcy1nb2xkJywgJyAtZnVzZS1sZD1iZmQgJywgJycsIGQpfSIKKworRVhUUkFfT0VDTUFLRSA9ICItRFdJVEhfUFlUSE9OPU9OIFwKKyAgICAgICAgICAgICAgICAgJHtAYmFzZV9jb25kaXRpb25hbCgibGliZGlyIiwgIi91c3IvbGliNjQiLCAiLURMSUJfU1VGRklYPTY0IiwgIiIsIGQpfSBcCisgICAgICAgICAgICAgICAgICR7QGJhc2VfY29uZGl0aW9uYWwoImxpYmRpciIsICIvdXNyL2xpYjMyIiwgIi1ETElCX1NVRkZJWD0zMiIsICIiLCBkKX0gXAorICAgICAgICAgICAgICAgICIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgcm0gLXJmICR7RH0ke2RhdGFkaXJ9Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9rb25rcmV0Y21waS9rb25rcmV0Y21waS8wMDAxLUNNYWtlTGlzdHMudHh0LWZpeC1saWI2NC1jYW4tbm90LWJlLXNoaXBlZC1pbi02NGJpdC0ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9rb25rcmV0Y21waS9rb25rcmV0Y21waS8wMDAxLUNNYWtlTGlzdHMudHh0LWZpeC1saWI2NC1jYW4tbm90LWJlLXNoaXBlZC1pbi02NGJpdC0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBhMDY0MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2tvbmtyZXRjbXBpL2tvbmtyZXRjbXBpLzAwMDEtQ01ha2VMaXN0cy50eHQtZml4LWxpYjY0LWNhbi1ub3QtYmUtc2hpcGVkLWluLTY0Yml0LS5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIGQ5N2FjMmJmMmVkOWM4NGZmZDY1ZmYxMDk4OTA2OGIyMDJlMDlmZGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMZWkgTWFvaHVpIDxsZWltYW9odWlAY24uZnVqaXRzdS5jb20+CitEYXRlOiBNb24sIDMgQXVnIDIwMTUgMDA6Mjk6NTQgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gQ01ha2VMaXN0cy50eHQ6IGZpeCBsaWI2NCBjYW4gbm90IGJlIHNoaXBlZCBpbiA2NGJpdCB0YXJnZXQKKworU2lnbmVkLW9mZi1ieTogTGVpIE1hb2h1aSA8bGVpbWFvaHVpQGNuLmZ1aml0c3UuY29tPgorLS0tCisgQ01ha2VMaXN0cy50eHQgfCA3IC0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKK2luZGV4IGJlNTQ0ZDEuLjE0Njk2ZTQgMTAwNjQ0CistLS0gYS9DTWFrZUxpc3RzLnR4dAorKysrIGIvQ01ha2VMaXN0cy50eHQKK0BAIC0xMSwxMyArMTEsNiBAQCBzZXQoQ01BS0VfTU9EVUxFX1BBVEggJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2NtYWtlL21vZHVsZXMgJHtDTUFLRV9NT0RVTEVfUAorIAorIGZpbmRfcGFja2FnZShDTVBJKQorIAorLSMgU2V0IExJQl9TVUZGSVggdG8gNjQgb24gNjRiaXQgYXJjaGl0ZWN0dXJlcworLWlmKENNQUtFX1NJWkVPRl9WT0lEX1AgRVFVQUwgNCkKKy0gICAgc2V0KExJQl9TVUZGSVggIiIpCistZWxzZShDTUFLRV9TSVpFT0ZfVk9JRF9QIEVRVUFMIDQpCistICAgIHNldChMSUJfU1VGRklYIDY0KQorLWVuZGlmKENNQUtFX1NJWkVPRl9WT0lEX1AgRVFVQUwgNCkKKy0KKyBvcHRpb24oV0lUSF9QWVRIT04gIkJ1aWxkIGV4cGVyaW1lbnRhbCBQeXRob24gYmluZGluZ3MiIE9GRikKKyAKKyBhZGRfc3ViZGlyZWN0b3J5KGNtYWtlKQorLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2tvbmtyZXRjbXBpL2tvbmtyZXRjbXBpLzAwMDEtdG8tZml4LWxpYjY0LWNhbi1ub3QtYmUtc2hpcGVkLWluLTY0Yml0LXRhcmdldC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2tvbmtyZXRjbXBpL2tvbmtyZXRjbXBpLzAwMDEtdG8tZml4LWxpYjY0LWNhbi1ub3QtYmUtc2hpcGVkLWluLTY0Yml0LXRhcmdldC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZGExM2VlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQva29ua3JldGNtcGkva29ua3JldGNtcGkvMDAwMS10by1maXgtbGliNjQtY2FuLW5vdC1iZS1zaGlwZWQtaW4tNjRiaXQtdGFyZ2V0LnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gZjNjMzlmZDJhNGI1ZjUzMzM4YjVmODIxNzg4YzYzODU4YmY4NjBjZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExlaSBNYW9odWkgPGxlaW1hb2h1aUBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IFN1biwgMiBBdWcgMjAxNSAyMjowODo0MyArMDkwMAorU3ViamVjdDogW1BBVENIXSB0byBmaXggbGliNjQgY2FuIG5vdCBiZSBzaGlwZWQgaW4gNjRiaXQgdGFyZ2V0CisKK1RvIGZpeCB0aGUgd2FybmluZyBhcyBmb2xsb3dpbmc6CitXQVJOSU5HOiBRQSBJc3N1ZToga29ua3JldGNtcGk6IEZpbGVzL2RpcmVjdG9yaWVzIHdlcmUgaW5zdGFsbGVkIGJ1dCBub3Qgc2hpcHBlZCBpbiBhbnkgcGFja2FnZToKKyAgL3Vzci9saWI2NAorICAvdXNyL2xpYjY0L2xpYmtvbmtyZXQuc28KKyAgL3Vzci9saWI2NC9saWJrb25rcmV0LnNvLjAuMC4xCisgIC91c3IvbGliNjQvbGlia29ua3JldC5zby4wCisgIC91c3IvbGliNjQvbGlia29ua3JldG1vZi5zby4wLjAuMQorICAvdXNyL2xpYjY0L2xpYmtvbmtyZXRtb2Yuc28KKyAgLi4uCisKK1NpZ25lZC1vZmYtYnk6IExlaSBNYW9odWkgPGxlaW1hb2h1aUBjbi5mdWppdHN1LmNvbT4KKy0tLQorIGNtYWtlL21vZHVsZXMvRmluZEtvbmtyZXRDTVBJLmNtYWtlIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY21ha2UvbW9kdWxlcy9GaW5kS29ua3JldENNUEkuY21ha2UgYi9jbWFrZS9tb2R1bGVzL0ZpbmRLb25rcmV0Q01QSS5jbWFrZQoraW5kZXggYjg4OGNmZC4uMDk3Y2FlZCAxMDA2NDQKKy0tLSBhL2NtYWtlL21vZHVsZXMvRmluZEtvbmtyZXRDTVBJLmNtYWtlCisrKysgYi9jbWFrZS9tb2R1bGVzL0ZpbmRLb25rcmV0Q01QSS5jbWFrZQorQEAgLTksNyArOSw3IEBAIGZpbmRfcGF0aChLT05LUkVUQ01QSV9JTkNMVURFX0RJUgorIGZpbmRfbGlicmFyeShLT05LUkVUQ01QSV9MSUJSQVJZCisgICAgIE5BTUVTIGtvbmtyZXQKKyAgICAgSElOVFMgJEVOVntLT05LUkVUQ01QSV9MSUJfRElSfQorLSAgICBQQVRIX1NVRkZJWEVTIGxpYjY0IGxpYgorKyAgICBQQVRIX1NVRkZJWEVTIGxpYiBsaWI2NAorICAgICBQQVRIUyAvdXNyIC91c3IvbG9jYWwKKyApCisgCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQva29ua3JldGNtcGkva29ua3JldGNtcGkva29ua3JldGNtcGktMC45LjItZml4LXJldHVybmluZy1pbnN0YW5jZS1mcm9tLW1ldGhvZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2tvbmtyZXRjbXBpL2tvbmtyZXRjbXBpL2tvbmtyZXRjbXBpLTAuOS4yLWZpeC1yZXR1cm5pbmctaW5zdGFuY2UtZnJvbS1tZXRob2QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjU0ZDA5MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2tvbmtyZXRjbXBpL2tvbmtyZXRjbXBpL2tvbmtyZXRjbXBpLTAuOS4yLWZpeC1yZXR1cm5pbmctaW5zdGFuY2UtZnJvbS1tZXRob2QucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorUG9ydCBmcm9tIEZlZG9yYTIwCisKKyAgICB8IGNvbW1pdCBhY2E2YzdmOTEwZmZlOTkzMGI1Nzg5OTY5ZjBhZGZhZGQ2NjhiYjQ2CisgICAgfCBBdXRob3I6IE1pY2hhbCBNaW5hciA8bWltaW5hckByZWRoYXQuY29tPgorICAgIHwgRGF0ZTogICBGcmkgSnVuIDIwIDEwOjUwOjQ1IDIwMTQgKzAyMDAKKyAgICB8IAorICAgIHwgICAgIEZpeCByZXR1cm5pbmcgaW5zdGFuY2UgYXMgYW4gb3V0cHV0IGFyZ3VtZW50IGZyb20gbWV0aG9kCisgICAgfCAgICAgCisgICAgfCAgICAgU3VibWl0dGVkIEJ5OiBSYWRlayBOb3ZhY2VrIDxybm92YWNla0ByZWRoYXQuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IFFpYW4gTGVpIDxxaWFubC5mbnN0QGNuLmZ1aml0c3UuY29tPgorCitkaWZmIC0tZ2l0IGEvc3JjL3Byb2dyYW0vbWFpbi5jcHAgYi9zcmMvcHJvZ3JhbS9tYWluLmNwcAoraW5kZXggODg1ZGMxMi4uOWU3MTA4YSAxMDA2NDQKKy0tLSBhL3NyYy9wcm9ncmFtL21haW4uY3BwCisrKysgYi9zcmMvcHJvZ3JhbS9tYWluLmNwcAorQEAgLTUwNiw3ICs1MDYsMTEgQEAgc3RhdGljIHZvaWQgZ2VuX2ZlYXR1cmVfZGVjbHMoCisgCisgICAgICAgICAgICAgLy8gQWRkIHNpZyBlbnRyeSBbdHlwZV1bbGVuZ3RoXVtuYW1lXVt6ZXJvLXRlcm1pbmF0b3JdCisgCistICAgICAgICAgICAgS1RhZyB0YWcgPSBfa3RhZyhwZC0+ZGF0YV90eXBlLCBwZC0+YXJyYXlfaW5kZXgsIGtleSwgZmFsc2UsIGZhbHNlKTsKKysgICAgICAgICAgICBLVGFnIHRhZzsKKysgICAgICAgICAgICBpZiAocGQtPnF1YWxpZmllcnMtPmhhc19rZXkoIkVtYmVkZGVkSW5zdGFuY2UiKSkKKysgICAgICAgICAgICAgICAgdGFnID0gX2t0YWcoVE9LX0lOU1RBTkNFLCBwZC0+YXJyYXlfaW5kZXgsIGtleSwgZmFsc2UsIGZhbHNlKTsKKysgICAgICAgICAgICBlbHNlCisrICAgICAgICAgICAgICAgIHRhZyA9IF9rdGFnKHBkLT5kYXRhX3R5cGUsIHBkLT5hcnJheV9pbmRleCwga2V5LCBmYWxzZSwgZmFsc2UpOworICAgICAgICAgICAgIHBhY2tfdGFnKHNpZywgdGFnKTsKKyAgICAgICAgICAgICBwYWNrX25hbWUoc2lnLCBwZC0+bmFtZSk7CisgICAgICAgICAgICAgY291bnQrKzsKK0BAIC02NDAsNiArNjQ0LDcgQEAgc3RhdGljIHZvaWQgZ2VuX3BhcmFtKEZJTEUqIG9zLCBNT0ZfUGFyYW1ldGVyKiBwLCB2ZWN0b3I8dW5zaWduZWQgY2hhcj4mIHNpZykKKyAgICAgICAgIGNvbnN0IGNoYXIqIGt0biA9IF9rdHlwZV9uYW1lKHAtPmRhdGFfdHlwZSk7CisgCisgICAgICAgICBpZiAocC0+cXVhbGlmaWVycy0+aGFzX2tleSgiRW1iZWRkZWRJbnN0YW5jZSIpKSB7CisrICAgICAgICAgICAgdGFnID0gX2t0YWcoVE9LX0lOU1RBTkNFLCBwLT5hcnJheV9pbmRleCwgZmFsc2UsIGluLCBvdXQpOworICAgICAgICAgICAgIGlmIChwLT5hcnJheV9pbmRleCkKKyAgICAgICAgICAgICAgICAgcHV0KG9zLCAiICAgIEtJbnN0YW5jZUEgJDA7XG4iLCBwLT5uYW1lLCBOVUxMKTsKKyAgICAgICAgICAgICBlbHNlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9rb25rcmV0Y21waS9rb25rcmV0Y21waV8wLjkuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2tvbmtyZXRjbXBpL2tvbmtyZXRjbXBpXzAuOS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkOGIwZGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9rb25rcmV0Y21waS9rb25rcmV0Y21waV8wLjkuMi5iYgpAQCAtMCwwICsxLDM0IEBACitTVU1NQVJZID0gIlRvb2wgZm9yIHJhcGlkIENNUEkgcHJvdmlkZXJzIGRldmVsb3BtZW50IgorREVTQ1JJUFRJT04gPSAiXAorS29ua3JldENNUEkgbWFrZXMgQ01QSSBwcm92aWRlciBkZXZlbG9wbWVudCBlYXNpZXIgYnkgZ2VuZXJhdGluZyB0eXBlLXNhZmUgXAorY29uY3JldGUgQ0lNIGludGVyZmFjZXMgZnJvbSBNT0YgZGVmaW5pdGlvbnMgYW5kIGJ5IHByb3ZpZGluZyBkZWZhdWx0IFwKK2ltcGxlbWVudGF0aW9ucyBmb3IgbWFueSBvZiB0aGUgcHJvdmlkZXIgb3BlcmF0aW9ucy4iCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vcm5vdmFjZWsva29ua3JldGNtcGkiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWY2NzMyNzBiZmMzNTBkOWNlMWVmYzg3MjRjNmMxODczIgorREVQRU5EUyA9ICJzd2lnLW5hdGl2ZSBzYmxpbS1jbXBpLWRldmVsIHB5dGhvbiIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3Jub3ZhY2VrL2tvbmtyZXRjbXBpLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly9rb25rcmV0Y21waS0wLjkuMi1maXgtcmV0dXJuaW5nLWluc3RhbmNlLWZyb20tbWV0aG9kLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQ01ha2VMaXN0cy50eHQtZml4LWxpYjY0LWNhbi1ub3QtYmUtc2hpcGVkLWluLTY0Yml0LS5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDUkVWID0gIjQ2MGU2NDIxYzE2YTgyMTZkMjljY2QxYjc0OTBmODE0ZGFiOGI3NjkiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGNtYWtlCisKK0VYVFJBX09FQ01BS0UgPSAiLURXSVRIX1BZVEhPTj1PTiBcCisgICAgICAgICAgICAgICAgICR7QGJhc2VfY29uZGl0aW9uYWwoImxpYmRpciIsICIvdXNyL2xpYjY0IiwgIi1ETElCX1NVRkZJWD02NCIsICIiLCBkKX0gXAorICAgICAgICAgICAgICAgICAke0BiYXNlX2NvbmRpdGlvbmFsKCJsaWJkaXIiLCAiL3Vzci9saWIzMiIsICItRExJQl9TVUZGSVg9MzIiLCAiIiwgZCl9IFwKKyAgICAgICAgICAgICAgICAiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIHJtIC1yZiAke0R9JHtkYXRhZGlyfQorfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tcHl0aG9uICR7UE59LXB5dGhvbi1kYmciCisKK0ZJTEVTXyR7UE59LXB5dGhvbiA9ICIke2xpYmRpcn0vcHl0aG9uMi43L3NpdGUtcGFja2FnZXMva29ua3JldG1vZi5weSogJHtsaWJkaXJ9L3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL19rb25rcmV0bW9mLnNvIgorRklMRVNfJHtQTn0tcHl0aG9uLWRiZyA9ICIke2xpYmRpcn0vcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvLmRlYnVnLyoiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xjZHByb2MvbGNkcHJvYzUuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGNkcHJvYy9sY2Rwcm9jNS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjgwZjU1OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xjZHByb2MvbGNkcHJvYzUuaW5jCkBAIC0wLDAgKzEsODEgQEAKK0RFU0NSSVBUSU9OID0gIkxDRHByb2MgaXMgYSBjbGllbnQvc2VydmVyIHN1aXRlIHRvIGRyaXZlIGFsbCBraW5kcyBvZiBMQ0QgKC1saWtlKSBkZXZpY2VzLiBUaGUgY2xpZW50IFwKK3NoaXBwZWQgd2l0aCB0aGlzIHBhY2thZ2UgY2FuIGJlIHVzZWQgdG8gYWNxdWlyZSB2YXJpb3VzIGtpbmRzIG9mIHN5c3RlbSBzdGF0cy4iCitTVU1NQVJZID0gIkRyaXZlcnMgZm9yIGNoYXJhY3Rlci1iYXNlZCBMQ0QgZGlzcGxheXMiCitIT01FUEFHRSA9ICJodHRwOi8vbGNkcHJvYy5vcmciCitTRUNUSU9OID0gInV0aWxzIgorTElDRU5TRSA9ICJHUEx2MisiCitERVBFTkRTID0gIm5jdXJzZXMgbGlyYyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTg4MTA2NjlmMTNiODczNDg0NTllNjExZDMxYWI3NjAgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT02MDttZDU9NjM3ZTA0MmNkZDM2NzFiYTAwZTc4YjU4ZWRlNDVkM2IiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2xjZHByb2MvJHtCUH0udGFyLmd6IgorCitpbmhlcml0IGF1dG90b29scyB1cGRhdGUtcmMuZAorCitMQ0RfRFJJVkVSUyA/PSAiYWxsIgorTENEX0RFRkFVTFRfRFJJVkVSID89ICJjdXJzZXMiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJ1c2IiCitQQUNLQUdFQ09ORklHW3VzYl0gPSAiLS1lbmFibGUtbGlidXNiLC0tZGlzYWJsZS1saWJ1c2IsdmlydHVhbC9saWJ1c2IwIgorUEFDS0FHRUNPTkZJR1tmdGRpXSA9ICItLWVuYWJsZS1saWJmdGRpLC0tZGlzYWJsZS1saWJmdGRpLGxpYmZ0ZGkiCisKK0VYVFJBX09FQ09ORiA9ICItLWVuYWJsZS1kcml2ZXJzPSR7TENEX0RSSVZFUlN9IgorCitkb19pbnN0YWxsICgpIHsKKyAgICAjIGJpbmFyaWVzCisgICAgaW5zdGFsbCAtRCAtbSAwNzU1IHNlcnZlci9MQ0RkICR7RH0ke3NiaW5kaXJ9L0xDRGQKKyAgICBpbnN0YWxsIC1EIC1tIDA3NTUgY2xpZW50cy9sY2Rwcm9jL2xjZHByb2MgJHtEfSR7YmluZGlyfS9sY2Rwcm9jCisKKyAgICAjIGluaXQgc2NyaXB0cworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgIyBzbyBmYXIsIG5vdCBmaXhlZCA6LSggYW5kIG5vdyBldmVuIHVnbGllciA6LSgoCisgICAgY2F0IHNjcmlwdHMvaW5pdC1MQ0RkLmRlYmlhbiB8IHNlZCAtZSBzJy8tLW9rbm9kby8vJyAtZSAncy8gLXMgLWYgLyAtcyAxIC1mIDEgLycgLWUgJ3MvZm9yY2UtcmVsb2FkL2ZvcmNlLXJlc3RhcnQvJyAtZSAncy9zbGVlcCAxL3NsZWVwIDQvJyA+ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9sY2RkCisgICAgY2htb2QgMDc1NSAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbGNkZAorICAgIGluc3RhbGwgLW0gMDc1NSBzY3JpcHRzL2luaXQtbGNkcHJvYy5kZWJpYW4gJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2xjZHByb2MKKyAgICBzZWQgLWkgcycvLS1va25vZG8vLycgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2xjZHByb2MKKworICAgICMgY29uZmlndXJhdGlvbiBmaWxlcworICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L0xDRGQuY29uZiAke0R9JHtzeXNjb25mZGlyfS9MQ0RkLmNvbmYKKyAgICBzZWQgLWkgJ3MhXkRyaXZlclBhdGg9LiohRHJpdmVyUGF0aD0ke2xpYmRpcn0vbGNkcHJvYy8hJyAke0R9JHtzeXNjb25mZGlyfS9MQ0RkLmNvbmYKKyAgICBzZWQgLWkgJ3MhXkRyaXZlcj0uKiFEcml2ZXI9JHtMQ0RfREVGQVVMVF9EUklWRVJ9IScgJHtEfSR7c3lzY29uZmRpcn0vTENEZC5jb25mCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vY2xpZW50cy9sY2Rwcm9jL2xjZHByb2MuY29uZiAke0R9JHtzeXNjb25mZGlyfS9sY2Rwcm9jLmNvbmYKKworICAgICMgZHJpdmVyIGxpYnJhcnkgZmlsZXMKKyAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0vbGNkcHJvYworICAgIGZvciBpIGluIHNlcnZlci9kcml2ZXJzLyouc287IGRvCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAkaSAke0R9JHtsaWJkaXJ9L2xjZHByb2MvCisgICAgZG9uZQorfQorCitQQUNLQUdFUyA9KyAibGNkZCIKKworUlJFQ09NTUVORFNfJHtQTn0gPSAibGNkZCIKKworRklMRVNfbGNkZCA9ICIke3N5c2NvbmZkaXJ9L0xDRGQuY29uZiBcCisgICAgJHtzYmluZGlyfS9MQ0RkIFwKKyAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9sY2RkIgorCitDT05GRklMRVNfbGNkZCA9ICIke3N5c2NvbmZkaXJ9L0xDRGQuY29uZiIKK0NPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L2xjZHByb2MuY29uZiIKKworIyBEcml2ZXIgcGFja2FnZXMKKworIyBVU0IgLyBubyBVU0IgdHJpY2tlcnkKKworUkNPTkZMSUNUU19sY2RkLWRyaXZlci1oZDQ3Nzgwbm91c2IgPSAibGNkZC1kcml2ZXItaGQ0NDc4MCIKK1JDT05GTElDVFNfbGNkZC1kcml2ZXItaGQ0Nzc4MCA9ICJsY2RkLWRyaXZlci1oZDQ0Nzgwbm91c2IiCisKK0lOSVRTQ1JJUFRfUEFDS0FHRVMgPSAibGNkZCBsY2Rwcm9jIgorSU5JVFNDUklQVF9OQU1FX2xjZGQgPSAibGNkZCIKK0lOSVRTQ1JJUFRfTkFNRV9sY2Rwcm9jID0gImxjZHByb2MiCitJTklUU0NSSVBUX1BBUkFNU19sY2RkID0gImRlZmF1bHRzIDcwIDIxIgorSU5JVFNDUklQVF9QQVJBTVNfbGNkcHJvYyA9ICJkZWZhdWx0cyA3MSAyMCIKKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQoKSB7CisgICAgcGx1Z2luZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfS9sY2Rwcm9jJykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwbHVnaW5kaXIsICcoLiopXC5zbyQnLCAnbGNkZC1kcml2ZXItJXMnLCAnTENEZCBkcml2ZXIgZm9yICVzJywgcHJlcGVuZD1UcnVlKQorfQorCitQQUNLQUdFU19EWU5BTUlDICs9ICJebGNkZC1kcml2ZXItLioiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xjZHByb2MvbGNkcHJvY18wLjUuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xjZHByb2MvbGNkcHJvY18wLjUuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTdlOWRmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGNkcHJvYy9sY2Rwcm9jXzAuNS42LmJiCkBAIC0wLDAgKzEsMjMgQEAKK3JlcXVpcmUgbGNkcHJvYzUuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkZjRmNWMyYzcyODVlYWY2OTc5YjljNzc2OGI0ODc3ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiZDJmNDNjMzBmZjQzYjMwZjQzMTEwYWJlNmI0YTViYzhlMDI2N2NiOWY1N2ZhOTdjYzVlNWVmOTQ4OGI5ODRhIgorCitQQUNLQUdFQ09ORklHID89ICIiCitQQUNLQUdFQ09ORklHW2cxNV0gPSAiLCxsaWJnMTUgZzE1ZGFlbW9uIGxpYmcxNXJlbmRlciwiCitQQUNLQUdFQ09ORklHW2hpZF0gPSAiLS1lbmFibGUtbGliaGlkLC0tZGlzYWJsZS1saWJoaWQsbGliaGlkIgorCitMQ0RfRFJJVkVSU19hcHBlbmQgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZzE1JywgJycsICcsIWcxNScsIGQpfSIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgICMgYmluYXJpZXMKKyAgICBpbnN0YWxsIC1EIC1tIDA3NTUgY2xpZW50cy9sY2R2Yy9sY2R2YyAke0R9JHtzYmluZGlyfS9sY2R2YworCisgICAgIyBjb25maWd1cmF0aW9uIGZpbGVzCisgICAgaW5zdGFsbCAtRCAtbSAwNjQ0ICR7U30vY2xpZW50cy9sY2R2Yy9sY2R2Yy5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L2xjZHZjLmNvbmYKK30KKworUEFDS0FHRVMgPSsgImxjZHZjIgorQ09ORkZJTEVTX2xjZHZjID0gIiR7c3lzY29uZmRpcn0vbGNkdmMuY29uZiIKK0ZJTEVTX2xjZHZjID0gIiR7c3lzY29uZmRpcn0vbGNkdmMuY29uZiAke3NiaW5kaXJ9L2xjZHZjIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9sZXZlbGRiL2xldmVsZGIvMDAwMS1FeHBsaWNpdGx5LWRpc2FibGUtdGNtYWxsb2MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9sZXZlbGRiL2xldmVsZGIvMDAwMS1FeHBsaWNpdGx5LWRpc2FibGUtdGNtYWxsb2MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGI3NmRkMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xldmVsZGIvbGV2ZWxkYi8wMDAxLUV4cGxpY2l0bHktZGlzYWJsZS10Y21hbGxvYy5wYXRjaApAQCAtMCwwICsxLDQ4IEBACitGcm9tIGQ2ZGFhYzA0ZGFiNGIzYWNmNGI4OGYxNjc0MmQxYjQwMmNkYzNkODMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitEYXRlOiBXZWQsIDEgT2N0IDIwMTQgMTg6NTQ6MDQgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gRXhwbGljaXRseSBkaXNhYmxlIHRjbWFsbG9jCisKK1dpdGhvdXQgdGhpcyBjaGFuZ2UgbGV2ZWxkYiBhdXRvZGV0ZWN0cyB0Y21hbGxvYyBmcm9tIHN5c3Jvb3QgYW5kCitzb21ldGltZXMgYmVjYW1lIGRlcGVuZGFudCBvbiBncGVyZnRvb2xzCisKK0Rpc2FibGUgYXV0b2RldGVjdGlvbiB3aXRob3V0IFRDTUFMTE9DX0VOQUJMRUQ9dHJ1ZSBwYXNlZCB0byBtYWtlCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgYnVpbGRfZGV0ZWN0X3BsYXRmb3JtIHwgMTYgKysrKysrKysrLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9idWlsZF9kZXRlY3RfcGxhdGZvcm0gYi9idWlsZF9kZXRlY3RfcGxhdGZvcm0KK2luZGV4IGJiNzZjNGYuLmE1ODYzNjQgMTAwNzU1CistLS0gYS9idWlsZF9kZXRlY3RfcGxhdGZvcm0KKysrKyBiL2J1aWxkX2RldGVjdF9wbGF0Zm9ybQorQEAgLTIwMSwxNSArMjAxLDE3IEBAIEVPRgorICAgICAgICAgUExBVEZPUk1fTElCUz0iJFBMQVRGT1JNX0xJQlMgLWxzbmFwcHkiCisgICAgIGZpCisgCistICAgICMgVGVzdCB3aGV0aGVyIHRjbWFsbG9jIGlzIGF2YWlsYWJsZQorLSAgICAkQ1hYICRDWFhGTEFHUyAteCBjKysgLSAtbyAkQ1hYT1VUUFVUIC1sdGNtYWxsb2MgMj4vZGV2L251bGwgIDw8RU9GCistICAgICAgaW50IG1haW4oKSB7fQorKyAgICBpZiBbICIkVENNQUxMT0NfRU5BQkxFRCIgPSAidHJ1ZSIgXTsgdGhlbgorKyAgICAgICAgIyBUZXN0IHdoZXRoZXIgdGNtYWxsb2MgaXMgYXZhaWxhYmxlCisrICAgICAgICAkQ1hYICRDWFhGTEFHUyAteCBjKysgLSAtbyAkQ1hYT1VUUFVUIC1sdGNtYWxsb2MgMj4vZGV2L251bGwgIDw8RU9GCisrICAgICAgICAgIGludCBtYWluKCkge30KKyBFT0YKKy0gICAgaWYgWyAiJD8iID0gMCBdOyB0aGVuCistICAgICAgICBQTEFURk9STV9MSUJTPSIkUExBVEZPUk1fTElCUyAtbHRjbWFsbG9jIgorLSAgICBmaQorKyAgICAgICAgaWYgWyAiJD8iID0gMCBdOyB0aGVuCisrICAgICAgICAgICAgUExBVEZPUk1fTElCUz0iJFBMQVRGT1JNX0xJQlMgLWx0Y21hbGxvYyIKKysgICAgICAgIGZpCisgCistICAgIHJtIC1mICRDWFhPVVRQVVQgMj4vZGV2L251bGwKKysgICAgICAgIHJtIC1mICRDWFhPVVRQVVQgMj4vZGV2L251bGwKKysgICAgZmkKKyBmaQorIAorIFBMQVRGT1JNX0NDRkxBR1M9IiRQTEFURk9STV9DQ0ZMQUdTICRDT01NT05fRkxBR1MiCistLSAKKzIuMS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xldmVsZGIvbGV2ZWxkYl9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9sZXZlbGRiL2xldmVsZGJfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2YTMwMjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9sZXZlbGRiL2xldmVsZGJfZ2l0LmJiCkBAIC0wLDAgKzEsMjcgQEAKK1NVTU1BUlkgPSAiTGV2ZWxEQiBpcyBhIGZhc3Qga2V5LXZhbHVlIHN0b3JhZ2UgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIkxldmVsREIgaXMgYSBmYXN0IGtleS12YWx1ZSBzdG9yYWdlIGxpYnJhcnkgdGhhdCBwcm92aWRlcyBhbiBvcmRlcmVkIG1hcHBpbmcgZnJvbSBzdHJpbmcga2V5cyB0byBzdHJpbmcgdmFsdWVzIgorSE9NRVBBR0UgPSAiaHR0cDovL2xldmVsZGIuZ29vZ2xlY29kZS5jb20iCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTkyZDFiMTI4OTUwYjExYmE4NDk1YjY0OTM4ZmMxNjRkIgorCitTUkNSRVYgPSAiODAzZDY5MjAzYTYyZmFmNTBmMWI3Nzg5NzMxMGEzYTFmY2FlNzEyYiIKK1BWID0gIjEuMTgrZ2l0JHtTUkNQVn0iCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9nb29nbGUvJHtCUE59LmdpdCBcCisgICAgZmlsZTovLzAwMDEtRXhwbGljaXRseS1kaXNhYmxlLXRjbWFsbG9jLnBhdGNoIFwKKyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworZG9fY29tcGlsZSgpIHsKKyAgICAjIGRvIG5vdCB1c2Ugb2VfcnVubWFrZS4gb2VfcnVubWFrZSBwYXNzIHRvIG1ha2UgY29tcGlsYXRpb24gYXJndW1lbnRzIGFuZCBvdmVycmlkZQorICAgICMgbGV2ZWxkYiBtYWtlZmlsZSB2YXJpYWJsZSBDRkxBR1MgYW5kIGJyb2tlIGxldmVsZGIgYnVpbGQuCisgICAgQ0ZMQUdTPSIke0NGTEFHU30iIG1ha2UgfHwgZGllCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtsaWJkaXJ9CisgICAgb2VfbGliaW5zdGFsbCAtQyAke1N9IC1zbyBsaWJsZXZlbGRiICR7RH0ke2xpYmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9L2xldmVsZGIKKyAgICBpbnN0YWxsIC1tIDY0NCAke1N9L2luY2x1ZGUvbGV2ZWxkYi8qLmggJHtEfSR7aW5jbHVkZWRpcn0vbGV2ZWxkYi8KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmNlYy9saWJjZWNfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGliY2VjL2xpYmNlY19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGYyYTY0ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmNlYy9saWJjZWNfZ2l0LmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiVVNCIENFQyBBZGFwdG9yIGNvbW11bmljYXRpb24gTGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly9saWJjZWMucHVsc2UtZWlnaHQuY29tLyIKKworTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01ZThlMTYzOTY5OTIzNjlmNzNmM2QyODg3NWY4NDZkYSIKKworREVQRU5EUyA9ICJ1ZGV2IGxvY2tkZXYiCisKK1BWID0gIjIuMS40IgorCitTUkNSRVYgPSAiODFlMzgyMTE3MjRiYzZlOGJkN2E2MGY0ODQ0MzMwNTNlZDY4MjYzNSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9QdWxzZS1FaWdodC9saWJjZWMuZ2l0O2JyYW5jaD1yZWxlYXNlIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworIyBjZWMtY2xpZW50IGFuZCB4Ym1jIG5lZWQgdGhlIC5zbyBwcmVzZW50IHRvIHdvcmsgOigKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vKi5zbyIKK0lOU0FORV9TS0lQXyR7UE59ID0gImRldi1zbyIKKworIyBBZGFwdGVyIHNob3dzIHVwIGFzIGEgQ0RDLUFDTSBkZXZpY2UKK1JSRUNPTU1FTkRTXyR7UE59ID0gImtlcm5lbC1tb2R1bGUtY2RjLWFjbSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmNvbmZpZy9saWJjb25maWdfMS41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGliY29uZmlnL2xpYmNvbmZpZ18xLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmI2ZTUwZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmNvbmZpZy9saWJjb25maWdfMS41LmJiCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAiQy9DKysgQ29uZmlndXJhdGlvbiBGaWxlIExpYnJhcnkiCitERVNDUklQVElPTiA9ICJMaWJyYXJ5IGZvciBtYW5pcHVsYXRpbmcgc3RydWN0dXJlZCBjb25maWd1cmF0aW9uIGZpbGVzIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5oeXBlcnJlYWxtLmNvbS9saWJjb25maWcvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PWZhZDliMzMzMmJlODk0YmFiOWJjNTAxNTcyODY0YjI5IgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuaHlwZXJyZWFsbS5jb20vJHtCUE59LyR7QlB9LnRhci5neiIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZworCitTUkNfVVJJW21kNXN1bV0gPSAiYTkzOWM0OTkwZDc0ZTZmYzFlZTYyYmUwNTcxNmY2MzMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTMxZGFhMzkwZDhlNDQ2MWM4ODMwNTEyZmUyZTEzYmExYTNkNmEwMmEyMzA1YTAyNDI5ZWVjNjFlNjg3MDNmNiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmRpdmVjb21wdXRlci9maWxlcy9maXgtYXIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJkaXZlY29tcHV0ZXIvZmlsZXMvZml4LWFyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjM2Y1ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJkaXZlY29tcHV0ZXIvZmlsZXMvZml4LWFyLnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKKy0tLQorIGNvbmZpZ3VyZS5hYyB8ICAgIDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCistLS0gZ2l0Lm9yaWcvY29uZmlndXJlLmFjCisrKysgZ2l0L2NvbmZpZ3VyZS5hYworQEAgLTI0LDEwICsyNCwxMSBAQCBMVF9JTklUKFt3aW4zMi1kbGxdKQorIExUX1BST0dfUkMKKyAKKyAjIENoZWNrcyBmb3IgcHJvZ3JhbXMuCisgQUNfUFJPR19DQworIEFDX1BST0dfQ0NfQzk5CisrQU1fUFJPR19BUgorIAorICMgRW5hYmxlIGF1dG9tYWtlIHNpbGVudCBidWlsZCBydWxlcy4KKyBtNF9pZmRlZihbQU1fU0lMRU5UX1JVTEVTXSxbQU1fU0lMRU5UX1JVTEVTKFt5ZXNdKV0pCisgCisgIyBDaGVja3MgZm9yIG5hdGl2ZSBXaW5kb3dzLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGliZGl2ZWNvbXB1dGVyL2xpYmRpdmVjb21wdXRlcl9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJkaXZlY29tcHV0ZXIvbGliZGl2ZWNvbXB1dGVyX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YzRmNGEwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGliZGl2ZWNvbXB1dGVyL2xpYmRpdmVjb21wdXRlcl9naXQuYmIKQEAgLTAsMCArMSwyMCBAQAorREVTQ1JJUFRJT04gPSAiTGliZGl2ZWNvbXB1dGVyIGlzIGEgY3Jvc3MtcGxhdGZvcm0gYW5kIG9wZW4gc291cmNlIGxpYnJhcnkgZm9yIGNvbW11bmljYXRpb24gd2l0aCBkaXZlIGNvbXB1dGVycyBmcm9tIHZhcmlvdXMgbWFudWZhY3R1cmVycy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmRpdmVzb2Z0d2FyZS5vcmcvbGliZGMvIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjQzYjcyNWQ3MWJiNWRmNGExZTU5MjBiMzQ0Yjg2YWQiCisKK0RFUEVORFMgPSAibGlidXNiMSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1BWID0gIjAuNC4yK2dpdHIke1NSQ1BWfSIKKworU1JDUkVWID0gIjVmNzY1ZjkxNDMwZjE2OTMyZDk2YjM3Nzc0MDQ0MjBhYTJkZDRjN2MiCitTUkNfVVJJID0gImdpdDovL2dpdC5saWJkaXZlY29tcHV0ZXIub3JnL2xpYmRpdmVjb21wdXRlci5naXQgXAorICAgICAgICAgICBmaWxlOi8vZml4LWFyLnBhdGNoIFwKKyAgICAgICAgICAiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGliZ3hpbS9saWJneGltL211bHRpLWxpbmUtQUNMT0NBTF9BTUZMQUdTLWlzbm90LXN1cHBvcnRlZC1ieS1hdXRvcmVjb25mLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGliZ3hpbS9saWJneGltL211bHRpLWxpbmUtQUNMT0NBTF9BTUZMQUdTLWlzbm90LXN1cHBvcnRlZC1ieS1hdXRvcmVjb25mLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkMjkzYjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJneGltL2xpYmd4aW0vbXVsdGktbGluZS1BQ0xPQ0FMX0FNRkxBR1MtaXNub3Qtc3VwcG9ydGVkLWJ5LWF1dG9yZWNvbmYucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorbXVsdGktbGluZSBBQ0xPQ0FMX0FNRkxBR1MgaXNuJ3Qgc3VwcG9ydGVkIGJ5IGF1dG9yZWNvbmYuCitJdCB3aWxsIGNhdXNlIGNvbmZpZ3VyZSBlcnJvciBhcyBmb2xsb3cuCisKKyAgIGFjbG9jYWw6IGVycm9yOiBub24tb3B0aW9uIGFyZ3VtZW50cyBhcmUgbm90IGFjY2VwdGVkOiAnXCcuCisKK1NpZ25lZC1vZmYtYnk6IEJpYW4gTmFpbWVuZyA8Ymlhbm5tQGNuLmZ1aml0c3UuY29tPgorCitkaWZmIC1OdXJwIGxpYmd4aW0tMC41LjAub3JpZy9NYWtlZmlsZS5hbSBsaWJneGltLTAuNS4wL01ha2VmaWxlLmFtCistLS0gbGliZ3hpbS0wLjUuMC5vcmlnL01ha2VmaWxlLmFtCTIwMTItMTItMTMgMTU6NDg6MDkuMDAwMDAwMDAwICswODAwCisrKysgbGliZ3hpbS0wLjUuMC9NYWtlZmlsZS5hbQkyMDE0LTEyLTE5IDExOjA1OjUwLjcyNzIwOTgyMSArMDgwMAorQEAgLTIsOSArMiw3IEBAIE5VTEwgPQorIEFVVE9NQUtFX09QVElPTlMgPSBkaXN0LWJ6aXAyCisgU1VCRElSUyA9IGxpYmd4aW0gbTRtYWNyb3MgcG8gdGVzdHMgZG9jcworIAorLUFDTE9DQUxfQU1GTEFHUyA9CQkJXAorLQktSSBtNG1hY3JvcwkJCVwKKy0JJChOVUxMKQorK0FDTE9DQUxfQU1GTEFHUyA9IC1JIG00bWFjcm9zICQoTlVMTCkKKyAKKyBDT05GSUdVUkVfREVQRU5ERU5DSUVTID0JCVwKKyAJcmVxdWlyZXMJCQlcCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJneGltL2xpYmd4aW1fMC41LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJneGltL2xpYmd4aW1fMC41LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzY4YmRhYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmd4aW0vbGliZ3hpbV8wLjUuMC5iYgpAQCAtMCwwICsxLDI1IEBACitTVU1NQVJZID0gIkdPYmplY3QtYmFzZWQgWElNIHByb3RvY29sIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJsaWJneGltIGlzIGEgWCBJbnB1dCBNZXRob2QgcHJvdG9jb2wgbGlicmFyeSB0aGF0IGlzIGltcGxlbWVudGVkIGJ5IEdPYmplY3QuXAordGhpcyBsaWJyYXJ5IGhlbHBzIHlvdSB0byBpbXBsZW1lbnQgWElNIHNlcnZlcnMgb3IgY2xpZW50IGFwcGxpY2F0aW9ucyB0b1wKK2NvbW11bmljYXRlIHRocm91Z2ggWElNIHByb3RvY29sIHdpdGhvdXQgdXNpbmcgWGxpYiBBUEkgZGlyZWN0bHksIHBhcnRpY3VsYXJseVwKK2lmIHlvdXIgYXBwbGljYXRpb24gdXNlcyBHT2JqZWN0LWJhc2VkIG1haW4gbG9vcC5cCitcCitUaGlzIHBhY2thZ2UgY29udGFpbnMgdGhlIHNoYXJlZCBsaWJyYXJ5LiIKKworSE9NRVBBR0UgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2xpYmd4aW0vIgorU0VDVElPTiA9ICJTeXN0ZW0gRW52aXJvbm1lbnQvTGlicmFyaWVzIgorCitTUkNfVVJJID0gImh0dHBzOi8vYml0YnVja2V0Lm9yZy90YWdvaC9saWJneGltL2Rvd25sb2Fkcy8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9tdWx0aS1saW5lLUFDTE9DQUxfQU1GTEFHUy1pc25vdC1zdXBwb3J0ZWQtYnktYXV0b3JlY29uZi5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gIjRiYjFmYTYzZDAwZWIyMjQ0MzlkNDEzNTkxYzI5YTZhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc1ZTIwZDE3NDQxMzk2NDRmOTk1MWI3OGVhMzkxMGIxNjJkMzM4MDMwMjMxNWNiNGIzZDA2NDBmMjM2OTRjNzkiCisKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiXAorZmlsZTovL0NPUFlJTkc7bWQ1PTJkNTAyNWQ0YWEzNDk1YmVmZWY4ZjE3MjA2YTViMGExIgorCitFWFRSQV9PRUNPTkYgPSAiIC0tZGlzYWJsZS1zdGF0aWMgLS1kaXNhYmxlLXJlYnVpbGRzIgorREVQRU5EUyArPSAiZ3RrKyBnbGliLTIuMCBydWJ5LW5hdGl2ZSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdldHRleHQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmltb2JpbGVkZXZpY2UvZmlsZXMvZml4LXBhcmFsbGVsLW1ha2UucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJpbW9iaWxlZGV2aWNlL2ZpbGVzL2ZpeC1wYXJhbGxlbC1tYWtlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2ZWY2ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJpbW9iaWxlZGV2aWNlL2ZpbGVzL2ZpeC1wYXJhbGxlbC1tYWtlLnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKK0Zyb20gMzM1YjI1ZmViZDRjODY0YWQwYWMwODQ3OWY1Y2Q0M2ZjMjFiN2Q3MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE5pa2lhcyBCYXNzZW4KK0RhdGU6IE1vbiwgMDkgSnVsIDIwMTIgMjE6MTc6MTUgKzAwMDAKK1N1YmplY3Q6IEZpeCBidWlsZGluZyB3aXRoIHBhcmFsbGVsIGJ1aWxkIG1ha2VvcHRzCisKKy0tLQorZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKK2luZGV4IDBiYWQ4NDAuLjE1NTk5NGUgMTAwNjQ0CistLS0gYS9DTWFrZUxpc3RzLnR4dAorKysrIGIvQ01ha2VMaXN0cy50eHQKK0BAIC01Nyw2ICs1Nyw4IEBAIEFERF9TVUJESVJFQ1RPUlkoIHBsdXRpbCApCisgQUREX1NVQkRJUkVDVE9SWSggaW5jbHVkZSApCisgQUREX1NVQkRJUkVDVE9SWSggdGVzdCApCisgCisrQUREX0RFUEVOREVOQ0lFUyggcGxpc3QgbGliY25hcnkgKQorKworIElGICggU1dJR19GT1VORCBBTkQgUFlUSE9OTElCU19GT1VORCBBTkQgUFlUSE9OSU5URVJQX0ZPVU5EICkKKyAJQUREX1NVQkRJUkVDVE9SWSggc3dpZyApCisgRU5ESUYgKCBTV0lHX0ZPVU5EIEFORCBQWVRIT05MSUJTX0ZPVU5EIEFORCBQWVRIT05JTlRFUlBfRk9VTkQgKQorLS0KK2NnaXQgdjAuOS4wLjIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmltb2JpbGVkZXZpY2UvbGlicGxpc3RfMS44LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGliaW1vYmlsZWRldmljZS9saWJwbGlzdF8xLjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmU4ZDY5ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmltb2JpbGVkZXZpY2UvbGlicGxpc3RfMS44LmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiQSBsaWJyYXJ5IHRvIGhhbmRsZSBBcHBsZSBQcm9wZXJ0eSBMaXN0IGZvcm1hdCB3aGVyZWFzIGl0J3MgYmluYXJ5IG9yIFhNTCIKKworTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZWJiNWM1MGFiN2NhYjRiYWVmZmJhMTQ5NzcwMzBjMDcgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MRVNTRVI7bWQ1PTZhYjE3YjQxNjQwNTY0NDM0ZGRhODVjMDZiNzEyNGY3IgorCitERVBFTkRTID0gImxpYnhtbDIgZ2xpYi0yLjAgc3dpZyBweXRob24iCisKK2luaGVyaXQgY21ha2UgcGtnY29uZmlnCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5saWJpbW9iaWxlZGV2aWNlLm9yZy9kb3dubG9hZHMvbGlicGxpc3QtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtcGFyYWxsZWwtbWFrZS5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyYTllMDI1ODg0N2Q1MGY5NzYwZGMzZWNlMjVmNGRjNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhNDE4ZGEzODgwMzA4MTk5Yjc0NzY2ZGVlZjJhNzYwYTliMTY5YjgxYTg2OGE2YTkwMzJmNzYxNGUyMDUwMGVjIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tdXRpbHMgJHtQTn0rKyIKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS9saWJwbGlzdCR7U09MSUJTfSIKK0ZJTEVTXyR7UE59KysgPSAiJHtsaWJkaXJ9L2xpYnBsaXN0Kyske1NPTElCU30iCitGSUxFU18ke1BOfS11dGlscyA9ICIke2JpbmRpcn0vKiIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlibG9ja2ZpbGUvbGlibG9ja2ZpbGUtMS4wOS9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJsb2NrZmlsZS9saWJsb2NrZmlsZS0xLjA5L2NvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYTEzZTExCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlibG9ja2ZpbGUvbGlibG9ja2ZpbGUtMS4wOS9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwyNSBAQAorCisjCisjIFBhdGNoIG1hbmFnZWQgYnkgaHR0cDovL3d3dy5tbi1sb2dpc3Rpay5kZS91bnN1cHBvcnRlZC9weGEyNTAvcGF0Y2hlcgorIworCistLS0gbGlibG9ja2ZpbGUtMS4wNS8uL2NvbmZpZ3VyZS5pbn5jb25maWd1cmUKKysrKyBsaWJsb2NrZmlsZS0xLjA1Ly4vY29uZmlndXJlLmluCitAQCAtMSw0ICsxLDUgQEAKKy1BQ19JTklUKGxvY2tmaWxlLmMpCisrQUNfSU5JVAorK0FDX0NPTkZJR19TUkNESVIoW2xvY2tmaWxlLmNdKQorIEFDX0NPTkZJR19IRUFERVIoYXV0b2NvbmYuaCkKKyBBQ19SRVZJU0lPTigkUmV2aXNpb246IDEuMCAkKWRubAorIAorQEAgLTExMSw3ICsxMTIsOCBAQAorIEFDX1NVQlNUKElOU1RBTExfVEFSR0VUUykKKyBBQ19TVUJTVChuZnNsb2NrZGlyKQorIAorLUFDX09VVFBVVChcCisrQUNfQ09ORklHX0ZJTEVTKFtcCisgCS4vTWFrZWZpbGUgXAorIAkuL21haWxsb2NrLmggXAorLSkKKytdKQorK0FDX09VVFBVVApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlibG9ja2ZpbGUvbGlibG9ja2ZpbGUtMS4wOS9nbGliYy0yLjQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJsb2NrZmlsZS9saWJsb2NrZmlsZS0xLjA5L2dsaWJjLTIuNC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lM2M0YWFhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlibG9ja2ZpbGUvbGlibG9ja2ZpbGUtMS4wOS9nbGliYy0yLjQucGF0Y2gKQEAgLTAsMCArMSw3MCBAQAorVGhlIGxvY2FsIGZ1bmN0aW9uIGVhY2Nlc3MgY29uZmxpY3RzIHdpdGggYSBnbGliYyBmdW5jdGlvbiBvZiB0aGUgc2FtZSBuYW1lLgorUmVuYW1lIHRoZSBmdW5jdGlvbiBzbyB0aGF0IHRoaXMgY2FuIGJlIGJ1aWxkIHVuZGVyIGdsaWJjIDIuNCwgYW5kIG9sZGVyCityZXZpc2lvbnMsIHdpdGhvdXQgYW55IHByb2JsZW1zLgorCistLS0gbGlibG9ja2ZpbGUtMS4wNi9kb3Rsb2NrZmlsZS5jCTIwMDYvMDcvMTAgMDM6MTc6NDAJMS4xCisrKysgbGlibG9ja2ZpbGUtMS4wNi9kb3Rsb2NrZmlsZS5jCTIwMDYvMDcvMTAgMDM6MTg6MjYKK0BAIC00Miw3ICs0Miw3IEBACisgZXh0ZXJuIGludCBvcHRpbmQ7CisgI2VuZGlmCisgCistZXh0ZXJuIGludCBlYWNjZXNzKGNoYXIgKiwgZ2lkX3QsIHN0cnVjdCBzdGF0ICopOworK2V4dGVybiBpbnQgeGVhY2Nlc3MoY2hhciAqLCBnaWRfdCwgc3RydWN0IHN0YXQgKik7CisgCisgLyoKKyAgKglTbGVlcCBmb3IgYW4gYW1vdXQgb2YgdGltZSB3aGlsZSByZWd1bGFyeSBjaGVja2luZyBpZgorQEAgLTI1MiwxNCArMjUyLDE0IEBACisgCQlyZXR1cm4gTF9FUlJPUjsKKyAJfQorIAlnaWQgPSBnZXRnaWQoKTsKKy0JaWYgKGVhY2Nlc3MoZGlyLCBnaWQsICZzdCkgPCAwKSB7CisrCWlmICh4ZWFjY2VzcyhkaXIsIGdpZCwgJnN0KSA8IDApIHsKKyAJCWlmIChlcnJubyA9PSBFTk9FTlQpIHsKKyBlbm9lbnQ6CisgCQkJaWYgKCFxdWlldCkgZnByaW50ZihzdGRlcnIsCisgCQkJCSJkb3Rsb2NrZmlsZTogJXM6IG5vIHN1Y2ggZGlyZWN0b3J5XG4iLCBkaXIpOworIAkJCXJldHVybiBMX1RNUExPQ0s7CisgCQl9CistCQlpZiAoKHIgPSBlYWNjZXNzKGRpciwgZ2V0ZWdpZCgpLCAmc3QpIDwgMCkgJiYgZXJybm8gPT0gRU5PRU5UKQorKwkJaWYgKChyID0geGVhY2Nlc3MoZGlyLCBnZXRlZ2lkKCksICZzdCkgPCAwKSAmJiBlcnJubyA9PSBFTk9FTlQpCisgCQkJZ290byBlbm9lbnQ7CisgCQlpZiAociA8IDAgfHwgIWlzbWFpbGxvY2sobG9ja2ZpbGUsIHB3ZC0+cHdfbmFtZSkpIHsKKyAJCQlpZiAoIXF1aWV0KSBmcHJpbnRmKHN0ZGVyciwKK0BAIC0yNzIsNyArMjcyLDcgQEAKKyAJLyoKKyAJICoJTm93IHdlIHNob3VsZCBiZSBhYmxlIHRvIGNoZGlyKCkgdG8gdGhlIGxvY2sgZGlyZWN0b3J5LgorIAkgKglXaGVuIHdlIHN0YXQoIi4iKSwgaXQgc2hvdWxkIGJlIHRoZSBzYW1lIGFzIGF0IHRoZQorLQkgKgllYWNjZXNzKCkgY2hlY2sgb3Igc29tZW9uZSBwbGF5ZWQgc3ltbGluaygpIGdhbWVzIG9uIHVzLgorKwkgKgl4ZWFjY2VzcygpIGNoZWNrIG9yIHNvbWVvbmUgcGxheWVkIHN5bWxpbmsoKSBnYW1lcyBvbiB1cy4KKyAJICovCisgCWlmIChjaGRpcihkaXIpIDwgMCB8fCBzdGF0KCIuIiwgJnN0MikgPCAwKSB7CisgCQlpZiAoIXF1aWV0KSBmcHJpbnRmKHN0ZGVyciwKKy0tLSBsaWJsb2NrZmlsZS0xLjA2L2xvY2tmaWxlLmMJMjAwNi8wNy8xMCAwMzoxNzo0MAkxLjEKKysrKyBsaWJsb2NrZmlsZS0xLjA2L2xvY2tmaWxlLmMJMjAwNi8wNy8xMCAwMzoxODoyNgorQEAgLTU0LDcgKzU0LDcgQEAKKyAjaWZkZWYgTElCCisgc3RhdGljCisgI2VuZGlmCistaW50IGVhY2Nlc3MoY2hhciAqZm4sIGdpZF90IGdpZCwgc3RydWN0IHN0YXQgKnN0KQorK2ludCB4ZWFjY2VzcyhjaGFyICpmbiwgZ2lkX3QgZ2lkLCBzdHJ1Y3Qgc3RhdCAqc3QpCisgeworIAlzdHJ1Y3Qgc3RhdAl0bXA7CisgCXVpZF90CQl1aWQgPSBnZXRldWlkKCk7CitAQCAtOTYsNyArOTYsNyBAQAorIAkJKnAgPSAwOworIAllbHNlCisgCQlzdHJjcHkoZGlyLCAiLiIpOworLQlpZiAoZWFjY2VzcyhkaXIsIGVnaWQsIE5VTEwpID49IDApIHsKKysJaWYgKHhlYWNjZXNzKGRpciwgZWdpZCwgTlVMTCkgPj0gMCkgeworIAkJZnJlZShkaXIpOworIAkJcmV0dXJuIDA7CisgCX0KK0BAIC0xMTEsNyArMTExLDcgQEAKKyAJCQlyZXR1cm4gMDsKKyAJCW1haWxnaWQgPSBzdC5zdF9naWQ7CisgCX0KKy0JcmV0ID0gZWFjY2VzcyhkaXIsIG1haWxnaWQsIE5VTEwpID49IDA7CisrCXJldCA9IHhlYWNjZXNzKGRpciwgbWFpbGdpZCwgTlVMTCkgPj0gMDsKKyAJZnJlZSAoZGlyKTsKKyAJcmV0dXJuIHJldDsKKyB9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJsb2NrZmlsZS9saWJsb2NrZmlsZS0xLjA5L2luc3RhbGwucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJsb2NrZmlsZS9saWJsb2NrZmlsZS0xLjA5L2luc3RhbGwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTkzMTlmZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmxvY2tmaWxlL2xpYmxvY2tmaWxlLTEuMDkvaW5zdGFsbC5wYXRjaApAQCAtMCwwICsxLDQ4IEBACisKKyMKKyMgUGF0Y2ggbWFuYWdlZCBieSBodHRwOi8vd3d3Lm1uLWxvZ2lzdGlrLmRlL3Vuc3VwcG9ydGVkL3B4YTI1MC9wYXRjaGVyCisjCisKKy0tLSBsaWJsb2NrZmlsZS0xLjA1L01ha2VmaWxlLmlufmluc3RhbGwKKysrKyBsaWJsb2NrZmlsZS0xLjA1L01ha2VmaWxlLmluCitAQCAtMjAsNiArMjAsNyBAQAorIGluY2x1ZGVkaXIJPSBAaW5jbHVkZWRpckAKKyAKKyBNQUlMR1JPVVAJPSBATUFJTEdST1VQQAorK0lOU1RHUlAJCT0gJChpZiAkKE1BSUxHUk9VUCksLWcgJChNQUlMR1JPVVApKQorIAorIGFsbDoJCUBUQVJHRVRTQAorIGluc3RhbGw6CUBJTlNUQUxMX1RBUkdFVFNACitAQCAtNTAsMjUgKzUxLDI3IEBACisgCQkkKENDKSAkKENGTEFHUykgLWMgbG9ja2ZpbGUuYyAtbyB4bG9ja2ZpbGUubworIAorIGluc3RhbGxfc3RhdGljOglzdGF0aWMgaW5zdGFsbF9jb21tb24KKysJCWluc3RhbGwgLWQgJChST09UKSQobGliZGlyKQorIAkJaW5zdGFsbCAtbSA2NDQgbGlibG9ja2ZpbGUuYSAkKFJPT1QpJChsaWJkaXIpCisgCisgaW5zdGFsbF9zaGFyZWQ6CXNoYXJlZCBpbnN0YWxsX2NvbW1vbgorKwkJaW5zdGFsbCAtZCAkKFJPT1QpJChsaWJkaXIpCisgCQlpbnN0YWxsIC1tIDc1NSBsaWJsb2NrZmlsZS5zbyBcCisgCQkJJChST09UKSQobGliZGlyKS9saWJsb2NrZmlsZS5zby4kKFZFUikKKyAJCWxuIC1zIGxpYmxvY2tmaWxlLnNvLiQoVkVSKSAkKFJPT1QpJChsaWJkaXIpL2xpYmxvY2tmaWxlLnNvCisgCQlpZiB0ZXN0ICIkKFJPT1QpIiA9ICIiOyB0aGVuIEBMRENPTkZJR0A7IGZpCisgCisgaW5zdGFsbF9jb21tb246CisrCQlpbnN0YWxsIC1kICQoUk9PVCkkKGluY2x1ZGVkaXIpCisgCQlpbnN0YWxsIC1tIDY0NCBsb2NrZmlsZS5oIG1haWxsb2NrLmggJChST09UKSQoaW5jbHVkZWRpcikKKy0JCWlmIFsgIiQoTUFJTEdST1VQKSIgIT0gIiIgXTsgdGhlblwKKy0JCSAgaW5zdGFsbCAtZyAkKE1BSUxHUk9VUCkgLW0gMjc1NSBkb3Rsb2NrZmlsZSAkKFJPT1QpJChiaW5kaXIpO1wKKy0JCWVsc2UgXAorLQkJICBpbnN0YWxsIC1nIHJvb3QgLW0gNzU1IGRvdGxvY2tmaWxlICQoUk9PVCkkKGJpbmRpcik7IFwKKy0JCWZpCisrCQlpbnN0YWxsIC1kICQoUk9PVCkkKGJpbmRpcikKKysJCWluc3RhbGwgLW0gNzU1ICQoSU5TVEdSUCkgZG90bG9ja2ZpbGUgJChST09UKSQoYmluZGlyKQorKwkJaW5zdGFsbCAtZCAkKFJPT1QpJChtYW5kaXIpL21hbjEgJChST09UKSQobWFuZGlyKS9tYW4zCisgCQlpbnN0YWxsIC1tIDY0NCAqLjEgJChST09UKSQobWFuZGlyKS9tYW4xCisgCQlpbnN0YWxsIC1tIDY0NCAqLjMgJChST09UKSQobWFuZGlyKS9tYW4zCisgCisgaW5zdGFsbF9uZnNsaWI6CW5mc2xpYgorKwkJaW5zdGFsbCAtZCAkKFJPT1QpJChuZnNsb2NrZGlyKQorIAkJaW5zdGFsbCAtbSA3NTUgbmZzbG9jay5zby4kKFZFUikgJChST09UKSQobmZzbG9ja2RpcikKKyAJCWlmIHRlc3QgIiQoUk9PVCkiID0gIiI7IHRoZW4gQExEQ09ORklHQDsgZmkKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmxvY2tmaWxlL2xpYmxvY2tmaWxlLTEuMDkvbGRmbGFncy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmxvY2tmaWxlL2xpYmxvY2tmaWxlLTEuMDkvbGRmbGFncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYjFkMTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlibG9ja2ZpbGUvbGlibG9ja2ZpbGUtMS4wOS9sZGZsYWdzLnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKKworIworIyBQYXRjaCBtYW5hZ2VkIGJ5IGh0dHA6Ly93d3cubW4tbG9naXN0aWsuZGUvdW5zdXBwb3J0ZWQvcHhhMjUwL3BhdGNoZXIKKyMKKworLS0tIGxpYmxvY2tmaWxlLTEuMDUvTWFrZWZpbGUuaW5+bGRmbGFncworKysrIGxpYmxvY2tmaWxlLTEuMDUvTWFrZWZpbGUuaW4KK0BAIC0zNCwxMSArMzQsMTEgQEAKKyAKKyBsaWJsb2NrZmlsZS5zbzogbGlibG9ja2ZpbGUuYQorIAkJJChDQykgLWZQSUMgLXNoYXJlZCAtV2wsLXNvbmFtZSxsaWJsb2NrZmlsZS5zby4xIFwKKy0JCQktbyBsaWJsb2NrZmlsZS5zbyBsb2NrZmlsZS5vIC1sYworKwkJCS1vIGxpYmxvY2tmaWxlLnNvIGxvY2tmaWxlLm8gJChMREZMQUdTKSAtbGMKKyAKKyBuZnNsb2NrLnNvLiQoVkVSKToJbmZzbG9jay5vCisgCQkkKENDKSAtZlBJQyAtc2hhcmVkIC1XbCwtc29uYW1lLG5mc2xvY2suc28uMCBcCistCQkJLW8gbmZzbG9jay5zby4kKE5WRVIpIG5mc2xvY2subworKwkJCS1vIG5mc2xvY2suc28uJChOVkVSKSBuZnNsb2NrLm8gJChMREZMQUdTKQorIAorIGRvdGxvY2tmaWxlOglkb3Rsb2NrZmlsZS5vIHhsb2NrZmlsZS5vCisgCQkkKENDKSAkKExERkxBR1MpIC1vIGRvdGxvY2tmaWxlIGRvdGxvY2tmaWxlLm8geGxvY2tmaWxlLm8KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmxvY2tmaWxlL2xpYmxvY2tmaWxlLTEuMDkvbGlibG9ja2ZpbGUtZml4LWluc3RhbGwtc28tdG8tbWFuLWRpci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmxvY2tmaWxlL2xpYmxvY2tmaWxlLTEuMDkvbGlibG9ja2ZpbGUtZml4LWluc3RhbGwtc28tdG8tbWFuLWRpci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yN2Y3NjBjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlibG9ja2ZpbGUvbGlibG9ja2ZpbGUtMS4wOS9saWJsb2NrZmlsZS1maXgtaW5zdGFsbC1zby10by1tYW4tZGlyLnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbm8gdXBzdHJlYW1dCisKK1RoZSBleHRlbmQgc28gZmlsZSBpcyByZW5hbWUgZnJvbSBuZnNsb2NrLnNvLiQoVkVSKSB0byBuZnNsb2NrLnNvLiQoTlZFUikuIFRoYXQKK2NhdXNlcyBmaWxlIG5mc2xvY2suc28uMC4xIGlzIGluc3RhbGxlZCBpbnRvIG1hbnVhbCBkaXJlY3RvcnkuIEZpeCBpdC4KKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZS5pbiBiL01ha2VmaWxlLmluCitpbmRleCBhNTg5ZmI4Li40NmE1N2U4IDEwMDY0NAorLS0tIGEvTWFrZWZpbGUuaW4KKysrKyBiL01ha2VmaWxlLmluCitAQCAtNjgsNyArNjgsNyBAQCBpbnN0YWxsX2NvbW1vbjoKKyAJCWluc3RhbGwgLWQgJChST09UKSQoYmluZGlyKQorIAkJaW5zdGFsbCAtbSA3NTUgJChJTlNUR1JQKSBkb3Rsb2NrZmlsZSAkKFJPT1QpJChiaW5kaXIpCisgCQlpbnN0YWxsIC1kICQoUk9PVCkkKG1hbmRpcikvbWFuMSAkKFJPT1QpJChtYW5kaXIpL21hbjMKKy0JCWluc3RhbGwgLW0gNjQ0ICouMSAkKFJPT1QpJChtYW5kaXIpL21hbjEKKysJCWluc3RhbGwgLW0gNjQ0IGRvdGxvY2tmaWxlLjEgJChST09UKSQobWFuZGlyKS9tYW4xCisgCQlpbnN0YWxsIC1tIDY0NCAqLjMgJChST09UKSQobWFuZGlyKS9tYW4zCisgCisgaW5zdGFsbF9uZnNsaWI6CW5mc2xpYgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlibG9ja2ZpbGUvbGlibG9ja2ZpbGUtMS4wOS9saWJsb2NrZmlsZS1maXgtbmZzbGliLWFuZC1zb25hbWUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJsb2NrZmlsZS9saWJsb2NrZmlsZS0xLjA5L2xpYmxvY2tmaWxlLWZpeC1uZnNsaWItYW5kLXNvbmFtZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZmQ3YTQwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlibG9ja2ZpbGUvbGlibG9ja2ZpbGUtMS4wOS9saWJsb2NrZmlsZS1maXgtbmZzbGliLWFuZC1zb25hbWUucGF0Y2gKQEAgLTAsMCArMSw1NCBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtubyB1cHN0cmVhbV0KKworKiBuZnNsaWIgc2hvdWxkIHVzZSBOVkVSIGluc3RlYWQgb2YgVkVSCisqIGluc3RhbGwgdGhlIG1pc3Npbmcgc29uYW1lIGxpYnJhcnkKKworU2lnbmVkLW9mZi1ieTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIE1ha2VmaWxlLmluICAgICAgICAgfCAgICA5ICsrKysrKy0tLQorIDEgZmlsZXMgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW4gYi9NYWtlZmlsZS5pbgoraW5kZXggODM2Y2E5Yi4uYTU4OWZiOCAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmluCisrKysgYi9NYWtlZmlsZS5pbgorQEAgLTI3LDcgKzI3LDcgQEAgaW5zdGFsbDoJQElOU1RBTExfVEFSR0VUU0AKKyAKKyBzdGF0aWM6CQlsaWJsb2NrZmlsZS5hIGRvdGxvY2tmaWxlCisgc2hhcmVkOgkJbGlibG9ja2ZpbGUuc28gZG90bG9ja2ZpbGUKKy1uZnNsaWI6CQluZnNsb2NrLnNvLiQoVkVSKQorK25mc2xpYjoJCW5mc2xvY2suc28uJChOVkVSKQorIAorIGxpYmxvY2tmaWxlLmE6CWxvY2tmaWxlLm8KKyAJCSQoQVIpIHJ2IGxpYmxvY2tmaWxlLmEgbG9ja2ZpbGUubworQEAgLTM2LDcgKzM2LDcgQEAgbGlibG9ja2ZpbGUuc286IGxpYmxvY2tmaWxlLmEKKyAJCSQoQ0MpIC1mUElDIC1zaGFyZWQgLVdsLC1zb25hbWUsbGlibG9ja2ZpbGUuc28uMSBcCisgCQkJLW8gbGlibG9ja2ZpbGUuc28gbG9ja2ZpbGUubyAkKExERkxBR1MpIC1sYworIAorLW5mc2xvY2suc28uJChWRVIpOgluZnNsb2NrLm8KKytuZnNsb2NrLnNvLiQoTlZFUik6CW5mc2xvY2subworIAkJJChDQykgLWZQSUMgLXNoYXJlZCAtV2wsLXNvbmFtZSxuZnNsb2NrLnNvLjAgXAorIAkJCS1vIG5mc2xvY2suc28uJChOVkVSKSBuZnNsb2NrLm8gJChMREZMQUdTKQorIAorQEAgLTU5LDYgKzU5LDcgQEAgaW5zdGFsbF9zaGFyZWQ6CXNoYXJlZCBpbnN0YWxsX2NvbW1vbgorIAkJaW5zdGFsbCAtbSA3NTUgbGlibG9ja2ZpbGUuc28gXAorIAkJCSQoUk9PVCkkKGxpYmRpcikvbGlibG9ja2ZpbGUuc28uJChWRVIpCisgCQlsbiAtcyBsaWJsb2NrZmlsZS5zby4kKFZFUikgJChST09UKSQobGliZGlyKS9saWJsb2NrZmlsZS5zbworKwkJbG4gLXMgbGlibG9ja2ZpbGUuc28uJChWRVIpICQoUk9PVCkkKGxpYmRpcikvbGlibG9ja2ZpbGUuc28uMQorIAkJaWYgdGVzdCAiJChST09UKSIgPSAiIjsgdGhlbiBATERDT05GSUdAOyBmaQorIAorIGluc3RhbGxfY29tbW9uOgorQEAgLTcyLDcgKzczLDkgQEAgaW5zdGFsbF9jb21tb246CisgCisgaW5zdGFsbF9uZnNsaWI6CW5mc2xpYgorIAkJaW5zdGFsbCAtZCAkKFJPT1QpJChuZnNsb2NrZGlyKQorLQkJaW5zdGFsbCAtbSA3NTUgbmZzbG9jay5zby4kKFZFUikgJChST09UKSQobmZzbG9ja2RpcikKKysJCWluc3RhbGwgLW0gNzU1IG5mc2xvY2suc28uJChOVkVSKSAkKFJPT1QpJChuZnNsb2NrZGlyKQorKwkJbG4gLXNmIG5mc2xvY2suc28uJChOVkVSKSAkKFJPT1QpJChsaWJkaXIpL25mc2xvY2suc28KKysJCWxuIC1zZiBuZnNsb2NrLnNvLiQoTlZFUikgJChST09UKSQobGliZGlyKS9uZnNsb2NrLnNvLjAKKyAJCWlmIHRlc3QgIiQoUk9PVCkiID0gIiI7IHRoZW4gQExEQ09ORklHQDsgZmkKKyAKKyBjbGVhbjoKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJsb2NrZmlsZS9saWJsb2NrZmlsZV8xLjA5LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlibG9ja2ZpbGUvbGlibG9ja2ZpbGVfMS4wOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNTY1NWI1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlibG9ja2ZpbGUvbGlibG9ja2ZpbGVfMS4wOS5iYgpAQCAtMCwwICsxLDM0IEBACitTVU1NQVJZID0gIkZpbGUgbG9ja2luZyBsaWJyYXJ5IgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJMR1BMdjIrICYgR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWVJJR0hUO21kNT1hYzI4NGE2MGQ0OGVhYTRiYzgxMWNkZGMzNzdmYTM0MSIKKworU1JDX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vbGlibC9saWJsb2NrZmlsZS9saWJsb2NrZmlsZV8xLjA5Lm9yaWcudGFyLmd6IFwKKyAgICAke0RFQklBTl9NSVJST1J9L21haW4vbGlibC9saWJsb2NrZmlsZS9saWJsb2NrZmlsZV8xLjA5LTYuZGViaWFuLnRhci5iejI7bmFtZT0xLjA5LTYgXAorICAgIGZpbGU6Ly9pbnN0YWxsLnBhdGNoIFwKKyAgICBmaWxlOi8vY29uZmlndXJlLnBhdGNoIFwKKyAgICBmaWxlOi8vbGRmbGFncy5wYXRjaCBcCisgICAgZmlsZTovL2xpYmxvY2tmaWxlLWZpeC1uZnNsaWItYW5kLXNvbmFtZS5wYXRjaCBcCisgICAgZmlsZTovL2xpYmxvY2tmaWxlLWZpeC1pbnN0YWxsLXNvLXRvLW1hbi1kaXIucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMmFhMjY5ZTQ0MDVlZTgyMzVmZjE3ZDFiMzU3YzZhZTgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTY5NzllYmEwNTM5NjM2NWUxZDZhZjcxMDA0MzFhZTlkMzJmOWJjMDYzOTMwZDFkZTY2Mjk4YTA2OTVmMWI3ZiIKKworU1JDX1VSSVsxLjA5LTYubWQ1c3VtXSA9ICJhMjgxMTgwN2U2M2E1MjZjMDdiMGY2MDYyNmUzMjlhMiIKK1NSQ19VUklbMS4wOS02LnNoYTI1NnN1bV0gPSAiZDQ1ZWFjYjdjNjM3YzE2ZDAzYzc3N2M1NTk4OWQ5OGRhNDk0YWU5NTg0YTA3ODNmZTZkYmYwZGI2MGZhMjkwZiIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKKyMgc2V0IGRlZmF1bHQgbWFpbGdyb3VwIHRvIG1haWwKKyMgLS13aXRoLWxpYm5mc2xvY2sgc3BlY2lmeSB3aGVyZSB0byBpbnN0YWxsIG5mc2xvY2suc28uTlZFUgorRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLXNoYXJlZCBcCisgICAgICAgICAgICAgICAgLS13aXRoLW1haWxncm91cD1tYWlsIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtbGlibmZzbG9jaz0ke2xpYmRpcn0gXAorIgorCisjIE1ha2VmaWxlIHVzaW5nIFJPT1Qgbm90IERFU1RESVIKK0VYVFJBX09FTUFLRSArPSAiUk9PVD0ke0R9IgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L25mc2xvY2suc28uKiIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L25mc2xvY2suc28iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJsb2dnaW5nL2xpYmxvZ2dpbmdfMS4wLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJsb2dnaW5nL2xpYmxvZ2dpbmdfMS4wLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzQ4OGIxOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmxvZ2dpbmcvbGlibG9nZ2luZ18xLjAuNS5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIkFuIGVhc3kgdG8gdXNlIGxvZ2dpbmcgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIiBcCitsaWJsb2dnaW5nICh0aGUgdXBzdHJlYW0gcHJvamVjdCkgaXMgYSBjb2xsZWN0aW9uIG9mIHNldmVyYWwgY29tcG9uZW50cy4gXAorTmFtZWx5OiBzdGRsb2csIGpvdXJuYWxlbXUsIHJmYzMxOTUuIFwKK1RoZSBzdGRsb2cgY29tcG9uZW50IG9mIGxpYmxvZ2dpbmcgY2FuIGJlIHZpZXdlZCBhcyBhbiBlbmhhbmNlZCB2ZXJzaW9uIG9mIFwKK3RoZSBzeXNsb2coMykgQVBJLiBJdCByZXRhaW5zIHRoZSBlYXN5IHNlbWFudGljcywgYnV0IG1ha2VzIHRoZSBBUEkgbW9yZSBcCitzb3BoaXN0aWNhdGVkICJiZWhpbmQgdGhlIHNjZW5lcyIgd2l0aCBiZXR0ZXIgc3VwcG9ydCBmb3IgbXVsdGlwbGUgdGhyZWFkcyBcCithbmQgZmxleGliaWxpdHkgZm9yIGRpZmZlcmVudCBsb2cgZGVzdGluYXRpb25zIChlLmcuIHN5c2xvZyBhbmQgc3lzdGVtZCBcCitqb3VybmFsKS4iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTYzZmUwMzUzNWQ4MzcyNmY1NjU1MDcyNTAyYmVmMWJjIgorU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQucnN5c2xvZy5jb20vJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0NGI4Y2UyZGFhMWJmYjg0YzlmZWFmNDJmOTkyNWZkNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzMTBkYzE2OTEyNzliN2E2NjlkMzgzNTgxZmU0YjBiYWJkYzdiZjc1YzliNTRhMjRlNTFlNjA0Mjg2MjQ4OTBiIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1tYW4tcGFnZXMiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgInN5c3RlbWQiLCAic3lzdGVtZCIsICIiLCBkKX0iCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0tZW5hYmxlLWpvdXJuYWwsIC0tZGlzYWJsZS1qb3VybmFsLCBzeXN0ZW1kIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlibG9nbm9ybS9saWJsb2dub3JtLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmxvZ25vcm0vbGlibG9nbm9ybS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGM4YWJiOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmxvZ25vcm0vbGlibG9nbm9ybS5pbmMKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJGYXN0IHNhbXBsZXMtYmFzZWQgbG9nIG5vcm1hbGl6YXRpb24gbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIkJyaWVmbHkgZGVzY3JpYmVkLCBsaWJsb2dub3JtIGlzIGEgdG9vbCB0byBub3JtYWxpemUgbG9nIGRhdGEuIgorCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmxpYmxvZ25vcm0uY29tIgorU0VDVElPTiA9ICJiYXNlIgorCitMSUNFTlNFID0gIkxHUEwtMi4xKyIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmxpYmxvZ25vcm0uY29tL2ZpbGVzL2Rvd25sb2FkLyR7QlBOfS0ke1BWfS50YXIuZ3pcCisiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitERVBFTkRTICs9ICJsaWJlZSBsaWJlc3RyIGpzb24tYyIKKworUEFDS0FHRUNPTkZJR1tkZWJ1Z10gPSAiLS1lbmFibGUtZGVidWcsLS1kaXNhYmxlLWRlYnVnLCwiCitQQUNLQUdFQ09ORklHW2RvY3NdID0gIi0tZW5hYmxlLWRvY3MsLS1kaXNhYmxlLWRvY3Msc3BoaW54LCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmxvZ25vcm0vbGlibG9nbm9ybV8xLjAuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmxvZ25vcm0vbGlibG9nbm9ybV8xLjAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZDg5ZTM1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlibG9nbm9ybS9saWJsb2dub3JtXzEuMC4xLmJiCkBAIC0wLDAgKzEsNSBAQAorcmVxdWlyZSAke0JQTn0uaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3YjlhODI2NTQyYWY5Njg2MTI3MTEwZGVhYjA5ZDdhMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxZjZjZGZkOTAxYThmNmE5N2EzY2I3NGJjNjEwN2M2NzQ2YjNlOTM4MWY3ODg5ZTRjZDg2NmE0ODhlMGM1OWE1IgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9Y2EwMTZkYjU3ZTAwODUyOGRhY2UwMDIxODhjNzNkYWQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJtb2RidXMvbGlibW9kYnVzLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYm1vZGJ1cy9saWJtb2RidXMuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwMTY1OWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJtb2RidXMvbGlibW9kYnVzLmluYwpAQCAtMCwwICsxLDEzIEBACitTVU1NQVJZID0gIkEgTW9kYnVzIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJsaWJtb2RidXMgaXMgYSBDIGxpYnJhcnkgZGVzaWduZWQgdG8gcHJvdmlkZSBhIGZhc3QgYW5kIHJvYnVzdCBcCitpbXBsZW1lbnRhdGlvbiBvZiB0aGUgTW9kYnVzIHByb3RvY29sLiBJdCBydW5zIG9uIExpbnV4LCBNYWMgT1MgWCwgRnJlZUJTRCwgXAorUU5YIGFuZCBXaW5kb3dzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubGlibW9kYnVzLm9yZy8iCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5MRVNTRVI7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIgorCitTUkNfVVJJID0gImh0dHA6Ly9saWJtb2RidXMub3JnL3JlbGVhc2VzLyR7QlB9LnRhci5neiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJtb2RidXMvbGlibW9kYnVzXzMuMC42LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlibW9kYnVzL2xpYm1vZGJ1c18zLjAuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNGQzMmZiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlibW9kYnVzL2xpYm1vZGJ1c18zLjAuNi5iYgpAQCAtMCwwICsxLDQgQEAKK3JlcXVpcmUgbGlibW9kYnVzLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiYzgwZjg4YjZjYTE5Y2FiYzRjZWZmYzE5NWNhMDc3NzEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDQ2ZDYzZjEwZjc1NWUyMTYwZGM1NmVmNjgxZTVmNWFkMzg2MmE1N2MxOTU1ZmQ4MmUwY2UwMzZiNjk0NzFiNiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYm1vZGJ1cy9saWJtb2RidXNfMy4xLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJtb2RidXMvbGlibW9kYnVzXzMuMS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmY2ZjM2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJtb2RidXMvbGlibW9kYnVzXzMuMS4yLmJiCkBAIC0wLDAgKzEsNyBAQAorcmVxdWlyZSBsaWJtb2RidXMuaW5jCisKKyMgVXNlIHRoZSBzdGFibGUgYnJhbmNoIGJ5IGRlZmF1bHQKK0RFRkFVTFRfUFJFRkVSRU5DRSA9ICItMSIKKworU1JDX1VSSVttZDVzdW1dID0gImRkNDI2MmY4N2VkODM1YzRkMWU1NjBmODMyMWEyMjJjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY2MWUxNGY5ZGM5MDRmM2YxYjAzNDQ2NGRkYWE1ZmQ0Yjg0NzJmOGY1ZDFlYTEwYTExNDhhZjg1NTkxYjdlZTkiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJxYi9saWJxYl8wLjE3LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJxYi9saWJxYl8wLjE3LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzczMDdmZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYnFiL2xpYnFiXzAuMTcuMS5iYgpAQCAtMCwwICsxLDI2IEBACitTVU1NQVJZID0gIkFuIElQQyBsaWJyYXJ5IGZvciBoaWdoIHBlcmZvcm1hbmNlIHNlcnZlcnMiCitERVNDUklQVElPTiA9ICJsaWJxYiBpcyBhIGxpYnJhcnkgd2l0aCB0aGUgcHJpbWFyeSBwdXJwb3NlIG9mIHByb3ZpZGluZyBoaWdoIHBlcmZvcm1hbmNlIGNsaWVudCBzZXJ2ZXIgcmV1c2FibGUgZmVhdHVyZXMuIFwKK0l0IHByb3ZpZGVzIGhpZ2ggcGVyZm9ybWFuY2UgbG9nZ2luZywgdHJhY2luZywgaXBjLCBhbmQgcG9sbC4iCisKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9jbHVzdGVybGFicy9saWJxYi93aWtpIgorCitTRUNUSU9OID0gImxpYnMiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitTUkNfVVJJID0gImh0dHBzOi8vZmVkb3JhaG9zdGVkLm9yZy9yZWxlYXNlcy9xL3UvcXVhcnRlcmJhY2svJHtCUH0udGFyLnh6IFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1NzcwYjM0M2JhYTQ1MjhmNmZlYzkwMTIwZWM1NTA0OCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3YTIxMTVmODNiZmUyMGVhYTVmMmU0ZWQyMzVlOGYyOTk0MjM1ZDNiODdlM2U1Y2E0MWJhNDdiMzIwZjEyZTI5IgorCitMSUNFTlNFID0gIkxHUEwtMi4xIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zMjFiZjQxZjI4MGNmODA1MDg2ZGQ1YTcyMGIzNzc4NSIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgKCBjZCAke1N9CisgICAgJHtTfS9hdXRvZ2VuLnNoICkKK30KKworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJ1aW8vbGlidWlvL3JlcGxhY2VfaW5saW5lX3dpdGhfc3RhdGljLWlubGluZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYnVpby9saWJ1aW8vcmVwbGFjZV9pbmxpbmVfd2l0aF9zdGF0aWMtaW5saW5lLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkMzE0YmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJ1aW8vbGlidWlvL3JlcGxhY2VfaW5saW5lX3dpdGhfc3RhdGljLWlubGluZS5wYXRjaApAQCAtMCwwICsxLDEyMSBAQAorQnkgZGVmYXVsdCwgZ2NjLTUgdXNlcyBDOTkgaW5saW5lIHNlbWFudGljcywgdGhpcyBzZW1hbnRpY3MgZG9lc24ndCAKK2dlbmVyYXRlIGV4dGVybmFsbHkgdmlzaWJsZSBmdW5jdGlvbiBmb3IgaW5saW5lIGZ1bmN0aW9ucy4gVGhpcyByZXN1bHRzIGluIAorYmVsb3cgZXJyb3IsIHdoZW4gYW4gYW5vdGhlciB0cmFuc2xhdGlvbiB1bml0IChUVSkgdHJpZXMgdG8gbGluayB3aXRoIHRoZSAKK2lubGluZSBmdW5jdGlvbiwKKworLS0gc25pcCAtLQorfCBsc3Vpby5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Cit8IDwuLi4+L2xpYnVpby8wLjIuMS1yMC9naXQvdG9vbHMvbHN1aW8uYzo4NTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgdWlvX21tYXAnCit8IGNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cworfCBtYWtlWzJdOiAqKiogW2xzdWlvXSBFcnJvciAxCistLSBDVVQgLS0KKworVG8gc29sdmUgdGhpcyBlcnJvciBhbmQgbWFrZSBsaWJ1aW8gdG8gY29tcGlsZSB3aXRoIGJvdGggNC54IGFuZCA1LngsCisKKzEuIFdlIGNhbiByZW1vdmUgJ3Vpb19tbWFwJyBpbmxpbmUgZnVuY3Rpb24gZGVmaW5pdGlvbiBpbiB1aW9fbW1hcC5jLCBhbmQgbW92ZQorICAgdGhhdCBkZWZpbml0aW9uIGludG8gdWlvX2hlbHBlci5oIGZpbGUgKHdoaWNoIGlzIGluY2x1ZGVkIGJ5IGxzdWlvLmMpIGFuZCAKKyAgIHJlcGxhY2UgaW5saW5lIHdpdGggInN0YXRpYyBpbmxpbmUiLiBTaW1pbGFybHkgaXQgY2FuIGJlIGRvbmUgdG8gb3RoZXIgCisgICB1aW9fc2luZ2xlX211bm1hcCBhbmQgdWlvX211bm1hcCBpbmxpbmUgZnVuY3Rpb25zCisKKzIuIEFkZCAnZXh0ZXJuJyBrZXl3b3JkIGluIGZyb250IG9mIGlubGluZSBmdW5jdGlvbnMgZGVjbGFyYXRpb24sIHRvIG1ha2UgCisgICBpbmxpbmVkIGZ1bmN0aW9uIGFzIGV4dGVybmFsbHkgdmlzaWJsZSBmdW5jdGlvbiwgYW5kIHRvIGxpbmsgd2l0aCBvdGhlciBUVXMuCisKK0dvaW5nIHdpdGggb3B0aW9uIDEuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBKYWdhZGVlc2ggS3Jpc2huYW5qYW5hcHBhIDxqa3Jpc2huYW5qYW5hcHBhQG12aXN0YS5jb20+CisKKy0tLSBnaXRfb3JnL3NyYy91aW9faGVscGVyLmgJMjAxNS0xMC0yMCAwMjozNzowNC4xODMwNzU4NTUgLTA0MDAKKysrKyBnaXQvc3JjL3Vpb19oZWxwZXIuaAkyMDE1LTEwLTIwIDAzOjM0OjI0LjY1OTk3MDEzNiAtMDQwMAorQEAgLTYxLDExICs2MSwxMSBAQCBzdHJ1Y3QgdWlvX2luZm9fdCB7CisgCisgLyogZnVuY3Rpb24gcHJvdG90eXBlcyAqLworIAorLWlubGluZSBjaGFyKiB1aW9fbGliX25hbWUodm9pZCk7CistaW5saW5lIGNoYXIqIHVpb19saWJfdmVyc2lvbih2b2lkKTsKKy1pbmxpbmUgaW50IHVpb19saWJfaWZjdXJyZW50KHZvaWQpOworLWlubGluZSBpbnQgdWlvX2xpYl9pZnJldmlzaW9uKHZvaWQpOworLWlubGluZSBpbnQgdWlvX2xpYl9pZmFnZSh2b2lkKTsKKytzdGF0aWMgaW5saW5lIGNoYXIqIHVpb19saWJfbmFtZSh2b2lkKTsKKytzdGF0aWMgaW5saW5lIGNoYXIqIHVpb19saWJfdmVyc2lvbih2b2lkKTsKKytzdGF0aWMgaW5saW5lIGludCB1aW9fbGliX2lmY3VycmVudCh2b2lkKTsKKytzdGF0aWMgaW5saW5lIGludCB1aW9fbGliX2lmcmV2aXNpb24odm9pZCk7Cisrc3RhdGljIGlubGluZSBpbnQgdWlvX2xpYl9pZmFnZSh2b2lkKTsKKyAKKyBpbnQgdWlvX2dldF9tZW1fc2l6ZShzdHJ1Y3QgdWlvX2luZm9fdCogaW5mbywgaW50IG1hcF9udW0pOworIGludCB1aW9fZ2V0X21lbV9hZGRyKHN0cnVjdCB1aW9faW5mb190KiBpbmZvLCBpbnQgbWFwX251bSk7CitAQCAtNzYsMTAgKzc2LDMwIEBAIGludCB1aW9fZ2V0X2FsbF9pbmZvKHN0cnVjdCB1aW9faW5mb190KiAKKyBpbnQgdWlvX2dldF9kZXZpY2VfYXR0cmlidXRlcyhzdHJ1Y3QgdWlvX2luZm9fdCogaW5mbyk7CisgCisgdm9pZCogdWlvX3NpbmdsZV9tbWFwKHN0cnVjdCB1aW9faW5mb190KiBpbmZvLCBpbnQgbWFwX251bSwgaW50IGZkKTsKKy1pbmxpbmUgdm9pZCB1aW9fbW1hcChzdHJ1Y3QgdWlvX2luZm9fdCogaW5mbywgaW50IGZkKTsKKyAKKy1pbmxpbmUgdm9pZCB1aW9fc2luZ2xlX211bm1hcChzdHJ1Y3QgdWlvX2luZm9fdCogaW5mbywgaW50IG1hcF9udW0pOworLWlubGluZSB2b2lkIHVpb19tdW5tYXAoc3RydWN0IHVpb19pbmZvX3QqIGluZm8pOworK3N0YXRpYyBpbmxpbmUgdm9pZCB1aW9fbW1hcChzdHJ1Y3QgdWlvX2luZm9fdCogaW5mbywgaW50IGZkKTsKKytzdGF0aWMgaW5saW5lIHZvaWQgdWlvX21tYXAoc3RydWN0IHVpb19pbmZvX3QqIGluZm8sIGludCBmZCkKKyt7CisrICAgICAgICBpbnQgbWFwX251bTsKKysgICAgICAgIGlmICghZmQpIHJldHVybjsKKysgICAgICAgIGZvciAobWFwX251bT0gMDsgbWFwX251bSA8IE1BWF9VSU9fTUFQUzsgbWFwX251bSsrKQorKyAgICAgICAgICAgICAgICB1aW9fc2luZ2xlX21tYXAoaW5mbywgbWFwX251bSwgZmQpOworK30KKysKKytzdGF0aWMgaW5saW5lIHZvaWQgdWlvX3NpbmdsZV9tdW5tYXAoc3RydWN0IHVpb19pbmZvX3QqIGluZm8sIGludCBtYXBfbnVtKTsKKytzdGF0aWMgaW5saW5lIHZvaWQgdWlvX3NpbmdsZV9tdW5tYXAoc3RydWN0IHVpb19pbmZvX3QqIGluZm8sIGludCBtYXBfbnVtKQorK3sKKysgICAgICAgIG11bm1hcChpbmZvLT5tYXBzW21hcF9udW1dLmludGVybmFsX2FkZHIsIGluZm8tPm1hcHNbbWFwX251bV0uc2l6ZSk7CisrICAgICAgICBpbmZvLT5tYXBzW21hcF9udW1dLm1tYXBfcmVzdWx0ID0gVUlPX01NQVBfTk9UX0RPTkU7CisrfQorKworK3N0YXRpYyBpbmxpbmUgdm9pZCB1aW9fbXVubWFwKHN0cnVjdCB1aW9faW5mb190KiBpbmZvKTsKKytzdGF0aWMgaW5saW5lIHZvaWQgdWlvX211bm1hcChzdHJ1Y3QgdWlvX2luZm9fdCogaW5mbykKKyt7CisrICAgICAgICBpbnQgaTsKKysgICAgICAgIGZvciAoaSA9IDA7IGkgPCBNQVhfVUlPX01BUFM7IGkrKykKKysgICAgICAgICAgICAgICAgdWlvX3NpbmdsZV9tdW5tYXAoaW5mbywgaSk7CisrfQorIAorIHZvaWQgdWlvX2ZyZWVfZGV2X2F0dHJzKHN0cnVjdCB1aW9faW5mb190KiBpbmZvKTsKKyB2b2lkIHVpb19mcmVlX2luZm8oc3RydWN0IHVpb19pbmZvX3QqIGluZm8pOworLS0tIGdpdF9vcmcvc3JjL3Vpb19tbWFwLmMJMjAxNS0xMC0yMCAwMjozNzowNC4xODMwNzU4NTUgLTA0MDAKKysrKyBnaXQvc3JjL3Vpb19tbWFwLmMJMjAxNS0xMC0yMCAwMzozNDo0NS4wNjAwMDMyMDggLTA0MDAKK0BAIC0yMiwxMSArMjIsMyBAQAorICNpbmNsdWRlIDxzdGRsaWIuaD4KKyAKKyAjaW5jbHVkZSAidWlvX2hlbHBlci5oIgorLQorLWlubGluZSB2b2lkIHVpb19tbWFwKHN0cnVjdCB1aW9faW5mb190KiBpbmZvLCBpbnQgZmQpCisteworLQlpbnQgbWFwX251bTsKKy0JaWYgKCFmZCkgcmV0dXJuOworLQlmb3IgKG1hcF9udW09IDA7IG1hcF9udW0gPCBNQVhfVUlPX01BUFM7IG1hcF9udW0rKykKKy0JCXVpb19zaW5nbGVfbW1hcChpbmZvLCBtYXBfbnVtLCBmZCk7CistfQorLS0tIGdpdF9vcmcvc3JjL3Vpb19tdW5tYXAuYwkyMDE1LTEwLTIwIDAyOjM3OjA0LjE4MzA3NTg1NSAtMDQwMAorKysrIGdpdC9zcmMvdWlvX211bm1hcC5jCTIwMTUtMTAtMjAgMDM6MzQ6NTkuNjM2MDI2ODM1IC0wNDAwCitAQCAtMjIsMTAgKzIyLDMgQEAKKyAjaW5jbHVkZSA8c3RkbGliLmg+CisgCisgI2luY2x1ZGUgInVpb19oZWxwZXIuaCIKKy0KKy1pbmxpbmUgdm9pZCB1aW9fbXVubWFwKHN0cnVjdCB1aW9faW5mb190KiBpbmZvKQorLXsKKy0JaW50IGk7CistCWZvciAoaSA9IDA7IGkgPCBNQVhfVUlPX01BUFM7IGkrKykKKy0JCXVpb19zaW5nbGVfbXVubWFwKGluZm8sIGkpOworLX0KK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorLS0tIGdpdF9vcmcvc3JjL3Vpb19zaW5nbGVfbXVubWFwLmMJMjAxNS0xMC0yMCAwMjozNzowNC4xODMwNzU4NTUgLTA0MDAKKysrKyBnaXQvc3JjL3Vpb19zaW5nbGVfbXVubWFwLmMJMjAxNS0xMC0yMCAwMzo1Mjo1NS4wMDU3NjMwMjMgLTA0MDAKK0BAIC0yNCw5ICsyNCwzIEBACisgI2luY2x1ZGUgPHN5cy9tbWFuLmg+CisgCisgI2luY2x1ZGUgInVpb19oZWxwZXIuaCIKKy0KKy1pbmxpbmUgdm9pZCB1aW9fc2luZ2xlX211bm1hcChzdHJ1Y3QgdWlvX2luZm9fdCogaW5mbywgaW50IG1hcF9udW0pCisteworLQltdW5tYXAoaW5mby0+bWFwc1ttYXBfbnVtXS5pbnRlcm5hbF9hZGRyLCBpbmZvLT5tYXBzW21hcF9udW1dLnNpemUpOworLQlpbmZvLT5tYXBzW21hcF9udW1dLm1tYXBfcmVzdWx0ID0gVUlPX01NQVBfTk9UX0RPTkU7CistfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlidWlvL2xpYnVpb18wLjIuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYnVpby9saWJ1aW9fMC4yLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjQwNTE5NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYnVpby9saWJ1aW9fMC4yLjEuYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSA9ICJMaWJ1aW8gLSBoZWxwZXIgbGlicmFyeSBmb3IgVUlPIHN1YnN5c3RlbSIKK1NFQ1RJT04gPSAiYmFzZSIKK0xJQ0VOU0UgPSAiR1BMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM5M2E1Y2E0NDVmNjk2NTg3M2VjYTAyNTlhMTdmODMzIgorCitTUkNfVVJJID0gImdpdDovL2dpdC5jb2RlLnNmLm5ldC9wL2xpYnVpby9jb2RlIFwKKyAgICAgICAgICAgZmlsZTovL3JlcGxhY2VfaW5saW5lX3dpdGhfc3RhdGljLWlubGluZS5wYXRjaCIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworU1JDUkVWID0gImVkNGYwN2VhMTQ3YWM0MDNjMjgxMDVhYjQ0ZDAxYmJmNTI0ZDM2ZjkiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK1BBQ0tBR0VTICs9ICIke1BOfS10b29scyIKKworRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9IgorRklMRVNfJHtQTn0tdG9vbHMgPSAiJHtiaW5kaXJ9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlid21mL2xpYndtZi8wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItZnJlZXR5cGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJ3bWYvbGlid21mLzAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmlnLWZvci1mcmVldHlwZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjEzM2UyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlid21mL2xpYndtZi8wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItZnJlZXR5cGUucGF0Y2gKQEAgLTAsMCArMSw2NyBAQAorRnJvbSA2MTY1NWY4MjIyNGNhZGIyNjFlODFmOGJhZTExMWVhYWE3YmRmNTMxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KK0RhdGU6IFdlZCwgNiBBdWcgMjAxNCAxNDo1MzowMyArMDIwMAorU3ViamVjdDogW1BBVENIXSBjb25maWd1cmU6IHVzZSBwa2ctY29uZmlnIGZvciBmcmVldHlwZQorCitVcHN0cmVhbS1zdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CistLS0KKyBjb25maWd1cmUuYWMgfCAzNyArKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMjkgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDNjZmU5NzQuLjAwNTVhOGMgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTM5OSw0MCArMzk5LDE5IEBAIEFDX0FSR19XSVRIKGZyZWV0eXBlLFsgIC0td2l0aC1mcmVldHlwZT1ESVIgICAgIHVzZSBmcmVldHlwZTIgaW4gRElSXSxbCisgCWZpCisgXSkKKyAKKy1pZiBbIHRlc3QgLW4gIiRGUkVFVFlQRV9ESVIiIF07IHRoZW4KKy0JQUNfUEFUSF9QUk9HKEZSRUVUWVBFX0NPTkZJRyxmcmVldHlwZS1jb25maWcsICxbJEZSRUVUWVBFX0RJUi9iaW46JFBBVEhdKQorLWVsc2UKKy0JQUNfUEFUSF9QUk9HKEZSRUVUWVBFX0NPTkZJRyxmcmVldHlwZS1jb25maWcpCistZmkKKy0KKy1pZiBbIHRlc3QgLW4gIiRGUkVFVFlQRV9DT05GSUciIF07IHRoZW4KKy0JaWYgWyB0ZXN0IC1uICIkRlJFRVRZUEVfRElSIiBdOyB0aGVuCistCQlmcmVldHlwZV9jZmxhZ3M9ImAkRlJFRVRZUEVfQ09ORklHIC0tY2ZsYWdzYCAtSSRGUkVFVFlQRV9ESVIvaW5jbHVkZSIKKy0JCWZyZWV0eXBlX2xpYnM9YCRGUkVFVFlQRV9DT05GSUcgLS1saWJzYAorLQllbHNlCistCQlmcmVldHlwZV9jZmxhZ3M9YCRGUkVFVFlQRV9DT05GSUcgLS1jZmxhZ3NgCistCQlmcmVldHlwZV9saWJzPWAkRlJFRVRZUEVfQ09ORklHIC0tbGlic2AKKy0JZmkKKy1lbHNlCistCWlmIFsgdGVzdCAtbiAiJEZSRUVUWVBFX0RJUiIgXTsgdGhlbgorLQkJZnJlZXR5cGVfY2ZsYWdzPSItSSRGUkVFVFlQRV9ESVIvaW5jbHVkZS9mcmVldHlwZTIgLUkkRlJFRVRZUEVfRElSL2luY2x1ZGUiCistCQlmcmVldHlwZV9saWJzPSItTCRGUkVFVFlQRV9ESVIvbGliIC1sZnJlZXR5cGUiCistCWVsc2UKKy0JCWZyZWV0eXBlX2NmbGFncz0iIgorLQkJZnJlZXR5cGVfbGlicz0iLWxmcmVldHlwZSIKKy0JZmkKKy1maQorLQorLUNQUEZMQUdTPSIkZnJlZXR5cGVfY2ZsYWdzICRDUFBGTEFHUyIKKy1MREZMQUdTPSIkTERGTEFHUyAkZnJlZXR5cGVfbGlicyIKKytQS0dfQ0hFQ0tfTU9EVUxFUyhGUkVFVFlQRTIsIGZyZWV0eXBlMiwgCisrICAgIENGTEFHUz0iJENGTEFHUyAkRlJFRVRZUEUyX0NGTEFHUyIKKysgICAgTERGTEFHUz0iJExERkxBR1MgJEZSRUVUWVBFMl9MSUJTIiwKKysgICAgQUNfTVNHX0VSUk9SKFsqKiogVW5hYmxlIHRvIGZpbmQgRnJlZVR5cGUyIGxpYnJhcnkgKGh0dHA6Ly93d3cuZnJlZXR5cGUub3JnLyldKQorKykKKyAKKyBBQ19DSEVDS19MSUIoZnJlZXR5cGUsRlRfSW5pdF9GcmVlVHlwZSxbCistCVdNRl9GVF9MREZMQUdTPSIkZnJlZXR5cGVfbGlicyIKKysJV01GX0ZUX0xERkxBR1M9IiRGUkVFVFlQRTJfTElCUyIKKyBdLFsJQUNfTVNHX0VSUk9SKFsqICogKiBmcmVldHlwZSgyKSBpcyByZXF1aXJlZCAqICogKl0pCisgXSkKKyBBQ19DSEVDS19IRUFERVIoZnQyYnVpbGQuaCxbCistCVdNRl9GVF9DRkxBR1M9IiRmcmVldHlwZV9jZmxhZ3MiCistCVdNRl9GVF9DT05GSUdfQ0ZMQUdTPSIkZnJlZXR5cGVfY2ZsYWdzIgorKwlXTUZfRlRfQ0ZMQUdTPSIkRlJFRVRZUEUyX0NGTEFHUyIKKysJV01GX0ZUX0NPTkZJR19DRkxBR1M9IiRGUkVFVFlQRTJfQ0ZMQUdTIgorIF0sWwlBQ19NU0dfRVJST1IoWyogKiAqIGZyZWV0eXBlKDIpIGlzIHJlcXVpcmVkICogKiAqXSkKKyBdKQorIAorLS0gCisxLjkuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJ3bWYvbGlid21mL2xpYndtZi0wLjIuOC40LWludG92ZXJmbG93LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlid21mL2xpYndtZi9saWJ3bWYtMC4yLjguNC1pbnRvdmVyZmxvdy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MGQ5MTVjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlid21mL2xpYndtZi9saWJ3bWYtMC4yLjguNC1pbnRvdmVyZmxvdy5wYXRjaApAQCAtMCwwICsxLDMxIEBACitodHRwOi8vY3ZzLmZlZG9yYXByb2plY3Qub3JnL3ZpZXd2Yy9kZXZlbC9saWJ3bWYvbGlid21mLTAuMi44LjQtaW50b3ZlcmZsb3cucGF0Y2g/dmlldz1sb2cKKworQ1ZFLTIwMDYtMzM3NiBsaWJ3bWYgaW50ZWdlciBvdmVyZmxvdworCistLS0gbGlid21mLTAuMi44LjQub3JpZy9zcmMvcGxheWVyLmMJMjAwMi0xMi0xMCAxOTozMDoyNi4wMDAwMDAwMDAgKzAwMDAKKysrKyBsaWJ3bWYtMC4yLjguNC9zcmMvcGxheWVyLmMJMjAwNi0wNy0xMiAxNToxMjo1Mi4wMDAwMDAwMDAgKzAxMDAKK0BAIC00Miw2ICs0Miw3IEBACisgI2luY2x1ZGUgInBsYXllci9kZWZhdWx0cy5oIiAvKiBQcm92aWRlczogZGVmYXVsdCBzZXR0aW5ncyAgICAgICAgICAgICAgICovCisgI2luY2x1ZGUgInBsYXllci9yZWNvcmQuaCIgICAvKiBQcm92aWRlczogcGFyYW1ldGVyIG1lY2hhbmlzbSAgICAgICAgICAgICovCisgI2luY2x1ZGUgInBsYXllci9tZXRhLmgiICAgICAvKiBQcm92aWRlczogcmVjb3JkIGludGVycHJldGVycyAgICAgICAgICAgICovCisrI2luY2x1ZGUgPHN0ZGludC5oPgorIAorIC8qKgorICAqIEBpbnRlcm5hbAorQEAgLTEzMiw4ICsxMzQsMTQgQEAKKyAJCX0KKyAJfQorIAorLS8qCVAtPlBhcmFtZXRlcnMgPSAodW5zaWduZWQgY2hhciopIHdtZl9tYWxsb2MgKEFQSSwoTUFYX1JFQ19TSVpFKEFQSSktMykgKiAyICogc2l6ZW9mICh1bnNpZ25lZCBjaGFyKSk7CistICovCVAtPlBhcmFtZXRlcnMgPSAodW5zaWduZWQgY2hhciopIHdtZl9tYWxsb2MgKEFQSSwoTUFYX1JFQ19TSVpFKEFQSSkgICkgKiAyICogc2l6ZW9mICh1bnNpZ25lZCBjaGFyKSk7CisrCWlmIChNQVhfUkVDX1NJWkUoQVBJKSA+IFVJTlQzMl9NQVggLyAyKQorKwl7CisrCQlBUEktPmVyciA9IHdtZl9FX0luc01lbTsKKysJCVdNRl9ERUJVRyAoQVBJLCJiYWlsaW5nLi4uIik7CisrCQlyZXR1cm4gKEFQSS0+ZXJyKTsKKysJfQorKwkKKysgCVAtPlBhcmFtZXRlcnMgPSAodW5zaWduZWQgY2hhciopIHdtZl9tYWxsb2MgKEFQSSwoTUFYX1JFQ19TSVpFKEFQSSkgICkgKiAyICogc2l6ZW9mICh1bnNpZ25lZCBjaGFyKSk7CisgCisgCWlmIChFUlIgKEFQSSkpCisgCXsJV01GX0RFQlVHIChBUEksImJhaWxpbmcuLi4iKTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYndtZi9saWJ3bWYvbGlid21mLTAuMi44LjQtdXNlYWZ0ZXJmcmVlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlid21mL2xpYndtZi9saWJ3bWYtMC4yLjguNC11c2VhZnRlcmZyZWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGQyZDI4NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYndtZi9saWJ3bWYvbGlid21mLTAuMi44LjQtdXNlYWZ0ZXJmcmVlLnBhdGNoCkBAIC0wLDAgKzEsMTQgQEAKKworaHR0cDovL2N2cy5mZWRvcmFwcm9qZWN0Lm9yZy92aWV3dmMvZGV2ZWwvbGlid21mL2xpYndtZi0wLjIuOC40LXVzZWFmdGVyZnJlZS5wYXRjaD92aWV3PWxvZworUmVzb2x2ZXM6IENWRS0yMDA5LTEzNjQKKworLS0tIGxpYndtZi0wLjIuOC40L3NyYy9leHRyYS9nZC9nZF9jbGlwLmMuQ1ZFLTIwMDktMTM2NC1pbS1jbGlwLWxpc3QJMjAwOS0wNC0yNCAwNDowNjo0NC4wMDAwMDAwMDAgLTA0MDAKKysrKyBsaWJ3bWYtMC4yLjguNC9zcmMvZXh0cmEvZ2QvZ2RfY2xpcC5jCTIwMDktMDQtMjQgMDQ6MDg6MzAuMDAwMDAwMDAwIC0wNDAwCitAQCAtNzAsNiArNzAsNyBAQCB2b2lkIGdkQ2xpcFNldEFkZChnZEltYWdlUHRyIGltLGdkQ2xpcFJlCisgCXsJbW9yZSA9IGdkUmVhbGxvYyAoaW0tPmNsaXAtPmxpc3QsKGltLT5jbGlwLT5tYXggKyA4KSAqIHNpemVvZiAoZ2RDbGlwUmVjdGFuZ2xlKSk7CisgCQlpZiAobW9yZSA9PSAwKSByZXR1cm47CisgCQlpbS0+Y2xpcC0+bWF4ICs9IDg7CisrICAgICAgICAgICAgICAgIGltLT5jbGlwLT5saXN0ID0gbW9yZTsKKyAJfQorIAlpbS0+Y2xpcC0+bGlzdFtpbS0+Y2xpcC0+Y291bnRdID0gKCpyZWN0KTsKKyAJaW0tPmNsaXAtPmNvdW50Kys7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJ3bWYvbGlid21mXzAuMi44LjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJ3bWYvbGlid21mXzAuMi44LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGFkNTQ1NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYndtZi9saWJ3bWZfMC4yLjguNC5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gIkxpYnJhcnkgZm9yIGNvbnZlcnRpbmcgV01GIGZpbGVzIgorSE9NRVBBR0UgPSAiaHR0cDovL3d2d2FyZS5zb3VyY2Vmb3JnZS5uZXQvbGlid21mLmh0bWwiCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworUFIgPSAicjMiCisKK0RFUEVORFNfY2xhc3MtbmF0aXZlID0gImZyZWV0eXBlLW5hdGl2ZSBsaWJwbmctbmF0aXZlIGpwZWctbmF0aXZlIgorREVQRU5EUyA9ICJmcmVldHlwZSBsaWJwbmcganBlZyBleHBhdCBndGsrIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3d2d2FyZS8ke0JQTn0vJHtQVn0vJHtCUE59LSR7UFZ9LnRhci5nejtuYW1lPXRhcmJhbGwgXAorICAgICAgICAgICBmaWxlOi8vbGlid21mLTAuMi44LjQtaW50b3ZlcmZsb3cucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbGlid21mLTAuMi44LjQtdXNlYWZ0ZXJmcmVlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmlnLWZvci1mcmVldHlwZS5wYXRjaCBcCisgICAgICAgICAgIgorCitTUkNfVVJJW3RhcmJhbGwubWQ1c3VtXSA9ICJkMTE3NzczOWJmMWNlYjA3ZjU3NDIxZjBjZWUxOTFlMCIKK1NSQ19VUklbdGFyYmFsbC5zaGEyNTZzdW1dID0gIjViMzQ1YzY5MjIwNTQ1ZDAwM2FkNTJiZmQwMzVkNWQ2ZjRmMDc1ZTY1MjA0MTE0YTllODc1ZTg0ODk1YTdjZjgiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2d0ay0yLjAvMi4xMC4wL2xvYWRlcnMvLmRlYnVnIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vZ3RrLTIuMC8yLjEwLjAvbG9hZGVycy8qLmxhIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0vZ3RrLTIuMC8yLjEwLjAvbG9hZGVycy8qLmEiCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2d0ay0yLjAvMi4xMC4wL2xvYWRlcnMvKi5zbyIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlieDg2LTEvbGlieDg2LTEuMS8wMDAxLWFzc3VtZS16ZXJvLWlzLXZhbGlkLWFkZHJlc3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJ4ODYtMS9saWJ4ODYtMS4xLzAwMDEtYXNzdW1lLXplcm8taXMtdmFsaWQtYWRkcmVzcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTQ2MzAxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlieDg2LTEvbGlieDg2LTEuMS8wMDAxLWFzc3VtZS16ZXJvLWlzLXZhbGlkLWFkZHJlc3MucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorYXNzdW1lIHplcm8gaXMgdmFsaWQgYWRkcmVzcworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgdGh1bmsuYyB8IDMgLS0tCisgMSBmaWxlIGNoYW5nZWQsIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90aHVuay5jIGIvdGh1bmsuYworaW5kZXggNzk2ZTg4Yi4uNjEyMWVhMSAxMDA2NDQKKy0tLSBhL3RodW5rLmMKKysrKyBiL3RodW5rLmMKK0BAIC0xNDEsOSArMTQxLDYgQEAgaW50IExSTUlfaW5pdCgpIHsKKyAKKyAJbW1hcF9hZGRyID0gTFJNSV9jb21tb25faW5pdCgxKTsKKyAKKy0JaWYgKCFtbWFwX2FkZHIpCistCQlyZXR1cm4gMDsKKy0KKyAJWDg2RU1VX3Bpb0Z1bmNzIHBpb0Z1bmNzID0geworIAkJKCZ4X2luYiksCisgCQkoJnhfaW53KSwKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlieDg2LTEvbGlieDg2LTEuMS9saWJ4ODYtbW1hcC1vZmZzZXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJ4ODYtMS9saWJ4ODYtMS4xL2xpYng4Ni1tbWFwLW9mZnNldC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NDNhY2M4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlieDg2LTEvbGlieDg2LTEuMS9saWJ4ODYtbW1hcC1vZmZzZXQucGF0Y2gKQEAgLTAsMCArMSwxOTAgQEAKK1Vwc3RyZWFtLVN0YXR1ZTogUGVuZGluZyAKK1tmcm9tIGZ0cDovLzE5NS4yMjAuMTA4LjEwOC9saW51eC9mZWRvcmEvbGludXgvZGV2ZWxvcG1lbnQvcmF3aGlkZS9zb3VyY2UvU1JQTVMvbC9saWJ4ODYtMS4xLTIxLmZjMjMuc3JjLnJwbV0KKworZGlmZiAtdXIgbGlieDg2LTEuMS9scm1pLmMgbGlieDg2LTEuMS5oYWNrL2xybWkuYworLS0tIGxpYng4Ni0xLjEvbHJtaS5jCTIwMDYtMTAtMzAgMTU6MTA6MTYuMDAwMDAwMDAwIC0wNTAwCisrKysgbGlieDg2LTEuMS5oYWNrL2xybWkuYwkyMDA5LTEwLTI2IDE1OjU1OjQyLjAwMDAwMDAwMCAtMDQwMAorQEAgLTEzNiw3ICsxMzYsNyBAQAorIAlpZiAoY29udGV4dC5yZWFkeSkKKyAJCXJldHVybiAxOworIAorLQlpZiAoIUxSTUlfY29tbW9uX2luaXQoKSkKKysJaWYgKCFMUk1JX2NvbW1vbl9pbml0KDApKQorIAkJcmV0dXJuIDA7CisgCisgCS8qCitkaWZmIC11ciBsaWJ4ODYtMS4xL3RodW5rLmMgbGlieDg2LTEuMS5oYWNrL3RodW5rLmMKKy0tLSBsaWJ4ODYtMS4xL3RodW5rLmMJMjAwOC0wNC0wMiAyMDo0ODowMC4wMDAwMDAwMDAgLTA0MDAKKysrKyBsaWJ4ODYtMS4xLmhhY2svdGh1bmsuYwkyMDA5LTEwLTI2IDE2OjA1OjM5LjAwMDAwMDAwMCAtMDQwMAorQEAgLTEzOSwxMSArMTM5LDExIEBACisgCWludCBpOworIAlYODZFTVVfaW50ckZ1bmNzIGludEZ1bmNzWzI1Nl07CisgCistCWlmICghTFJNSV9jb21tb25faW5pdCgpKQorKwltbWFwX2FkZHIgPSBMUk1JX2NvbW1vbl9pbml0KDEpOworKworKwlpZiAoIW1tYXBfYWRkcikKKyAJCXJldHVybiAwOworIAorLQltbWFwX2FkZHIgPSAwOworLQkKKyAJWDg2RU1VX3Bpb0Z1bmNzIHBpb0Z1bmNzID0geworIAkJKCZ4X2luYiksCisgCQkoJnhfaW53KSwKK0BAIC0xNjksMTAgKzE2OSwxMCBAQAorIAlYODZfRVNQID0gMHhGRkY5OworIAltZW1zZXQgKHN0YWNrLCAwLCA2NCoxMDI0KTsKKyAKKy0JKigoY2hhciAqKTApID0gMHg0ZjsgLyogTWFrZSBzdXJlIHRoYXQgd2UgZW5kIHVwIGp1bXBpbmcgYmFjayB0byBhCistCQkJCWhhbHQgaW5zdHJ1Y3Rpb24gKi8KKysJKm1tYXBfYWRkciA9IDB4NGY7IC8qIE1ha2Ugc3VyZSB0aGF0IHdlIGVuZCB1cCBqdW1waW5nIGJhY2sgdG8gYQorKwkJCSAgICAgIGhhbHQgaW5zdHJ1Y3Rpb24gKi8KKyAKKy0JTS5tZW1fYmFzZSA9IDA7CisrCU0ubWVtX2Jhc2UgPSAodW5zaWduZWQgbG9uZyltbWFwX2FkZHI7CisgCU0ubWVtX3NpemUgPSAxMDI0KjEwMjQ7CisgCisgCXJldHVybiAxOworZGlmZiAtdXIgbGlieDg2LTEuMS94ODYtY29tbW9uLmMgbGlieDg2LTEuMS5oYWNrL3g4Ni1jb21tb24uYworLS0tIGxpYng4Ni0xLjEveDg2LWNvbW1vbi5jCTIwMDgtMDUtMTYgMTI6NTY6MjMuMDAwMDAwMDAwIC0wNDAwCisrKysgbGlieDg2LTEuMS5oYWNrL3g4Ni1jb21tb24uYwkyMDA5LTEwLTI2IDE2OjAzOjIxLjAwMDAwMDAwMCAtMDQwMAorQEAgLTQ1LDE0ICs0NSwxNSBAQAorIHN0YXRpYyBzdHJ1Y3QgeworIAlpbnQgcmVhZHk7CisgCWludCBjb3VudDsKKysJdm9pZCAqb2Zmc2V0OworIAlzdHJ1Y3QgbWVtX2Jsb2NrIGJsb2Nrc1tSRUFMX01FTV9CTE9DS1NdOworIH0gbWVtX2luZm8gPSB7IDAgfTsKKyAKKyBzdGF0aWMgaW50CistcmVhbF9tZW1faW5pdCh2b2lkKQorK3JlYWxfbWVtX2luaXQoaW50IGhpZ2hfcGFnZSkKKyB7CisgCXZvaWQgKm07CistCWludCBmZF96ZXJvOworKwlpbnQgZmRfemVybywgZmxhZ3MgPSBNQVBfU0hBUkVEOworIAorIAlpZiAobWVtX2luZm8ucmVhZHkpCisgCQlyZXR1cm4gMTsKK0BAIC02Myw5ICs2NCwxMiBAQAorIAkJcmV0dXJuIDA7CisgCX0KKyAKKysJaWYgKCFoaWdoX3BhZ2UpCisrCQlmbGFncyB8PSBNQVBfRklYRUQ7CisrCisgCW0gPSBtbWFwKCh2b2lkICopUkVBTF9NRU1fQkFTRSwgUkVBTF9NRU1fU0laRSwKKy0JIFBST1RfUkVBRCB8IFBST1RfV1JJVEUgfCBQUk9UX0VYRUMsCistCSBNQVBfRklYRUQgfCBNQVBfU0hBUkVELCBmZF96ZXJvLCAwKTsKKysJCSBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFIHwgUFJPVF9FWEVDLAorKwkJIGZsYWdzLCBmZF96ZXJvLCAwKTsKKyAKKyAJaWYgKG0gPT0gKHZvaWQgKiktMSkgeworIAkJcGVycm9yKCJtbWFwIC9kZXYvemVybyIpOworQEAgLTc2LDYgKzgwLDcgQEAKKyAJY2xvc2UoZmRfemVybyk7CisgCisgCW1lbV9pbmZvLnJlYWR5ID0gMTsKKysJbWVtX2luZm8ub2Zmc2V0ID0gbTsKKyAJbWVtX2luZm8uY291bnQgPSAxOworIAltZW1faW5mby5ibG9ja3NbMF0uc2l6ZSA9IFJFQUxfTUVNX1NJWkU7CisgCW1lbV9pbmZvLmJsb2Nrc1swXS5mcmVlID0gMTsKK0BAIC04Nyw3ICs5Miw3IEBACisgcmVhbF9tZW1fZGVpbml0KHZvaWQpCisgeworIAlpZiAobWVtX2luZm8ucmVhZHkpIHsKKy0JCW11bm1hcCgodm9pZCAqKVJFQUxfTUVNX0JBU0UsIFJFQUxfTUVNX1NJWkUpOworKwkJbXVubWFwKG1lbV9pbmZvLm9mZnNldCwgUkVBTF9NRU1fU0laRSk7CisgCQltZW1faW5mby5yZWFkeSA9IDA7CisgCX0KKyB9CitAQCAtMTE5LDcgKzEyNCw3IEBACisgTFJNSV9hbGxvY19yZWFsKGludCBzaXplKQorIHsKKyAJaW50IGk7CistCWNoYXIgKnIgPSAoY2hhciAqKVJFQUxfTUVNX0JBU0U7CisrCWNoYXIgKnIgPSAoY2hhciAqKW1lbV9pbmZvLm9mZnNldDsKKyAKKyAJaWYgKCFtZW1faW5mby5yZWFkeSkKKyAJCXJldHVybiBOVUxMOworQEAgLTE1MSw3ICsxNTYsNyBAQAorIExSTUlfZnJlZV9yZWFsKHZvaWQgKm0pCisgeworIAlpbnQgaTsKKy0JY2hhciAqciA9IChjaGFyICopUkVBTF9NRU1fQkFTRTsKKysJY2hhciAqciA9IChjaGFyICopbWVtX2luZm8ub2Zmc2V0OworIAorIAlpZiAoIW1lbV9pbmZvLnJlYWR5KQorIAkJcmV0dXJuOworQEAgLTIwMCwxMyArMjA1LDE1IEBACisgCXJldHVybiAqKHVuc2lnbmVkIHNob3J0ICopKGkgKiA0KTsKKyB9CisgCistaW50IExSTUlfY29tbW9uX2luaXQodm9pZCkKKyt2b2lkICpMUk1JX2NvbW1vbl9pbml0KGludCBoaWdoX3BhZ2UpCisgeworLQl2b2lkICptOworKwl2b2lkICptLCAqb2Zmc2V0OworIAlpbnQgZmRfbWVtOworIAorLQlpZiAoIXJlYWxfbWVtX2luaXQoKSkKKy0JCXJldHVybiAwOworKwlpZiAoIXJlYWxfbWVtX2luaXQoaGlnaF9wYWdlKSkKKysJCXJldHVybiBOVUxMOworKworKwlvZmZzZXQgPSBtZW1faW5mby5vZmZzZXQgLSBSRUFMX01FTV9CQVNFOworIAorIAkvKgorIAkgTWFwIHRoZSBJbnRlcnJ1cHQgVmVjdG9ycyAoMHgwIC0gMHg0MDApICsgQklPUyBkYXRhICgweDQwMCAtIDB4NTAyKQorQEAgLTIxNywzMyArMjI0LDMzIEBACisgCWlmIChmZF9tZW0gPT0gLTEpIHsKKyAJCXJlYWxfbWVtX2RlaW5pdCgpOworIAkJcGVycm9yKCJvcGVuIC9kZXYvbWVtIik7CistCQlyZXR1cm4gMDsKKysJCXJldHVybiBOVUxMOworIAl9CisgCistCW0gPSBtbWFwKCh2b2lkICopMCwgMHg1MDIsCistCSBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFIHwgUFJPVF9FWEVDLAorLQkgTUFQX0ZJWEVEIHwgTUFQX1NIQVJFRCwgZmRfbWVtLCAwKTsKKysJbSA9IG1tYXAob2Zmc2V0LCAweDUwMiwKKysJCSBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFIHwgUFJPVF9FWEVDLAorKwkJIE1BUF9GSVhFRCB8IE1BUF9TSEFSRUQsIGZkX21lbSwgMCk7CisgCisgCWlmIChtID09ICh2b2lkICopLTEpIHsKKyAJCWNsb3NlKGZkX21lbSk7CisgCQlyZWFsX21lbV9kZWluaXQoKTsKKyAJCXBlcnJvcigibW1hcCAvZGV2L21lbSIpOworLQkJcmV0dXJuIDA7CisrCQlyZXR1cm4gTlVMTDsKKyAJfQorIAorLQltID0gbW1hcCgodm9pZCAqKTB4YTAwMDAsIDB4MTAwMDAwIC0gMHhhMDAwMCwKKysJbSA9IG1tYXAob2Zmc2V0KzB4YTAwMDAsIDB4MTAwMDAwIC0gMHhhMDAwMCwKKyAJIFBST1RfUkVBRCB8IFBST1RfV1JJVEUgfCBQUk9UX0VYRUMsCisgCSBNQVBfRklYRUQgfCBNQVBfU0hBUkVELCBmZF9tZW0sIDB4YTAwMDApOworIAorIAlpZiAobSA9PSAodm9pZCAqKS0xKSB7CistCQltdW5tYXAoKHZvaWQgKikwLCAweDUwMik7CisrCQltdW5tYXAob2Zmc2V0LCAweDUwMik7CisgCQljbG9zZShmZF9tZW0pOworIAkJcmVhbF9tZW1fZGVpbml0KCk7CisgCQlwZXJyb3IoIm1tYXAgL2Rldi9tZW0iKTsKKy0JCXJldHVybiAwOworKwkJcmV0dXJuIE5VTEw7CisgCX0KKyAKKyAJY2xvc2UoZmRfbWVtKTsKKyAKKy0JcmV0dXJuIDE7CisrCXJldHVybiBvZmZzZXQ7CisgfQorZGlmZiAtdXIgbGlieDg2LTEuMS94ODYtY29tbW9uLmggbGlieDg2LTEuMS5oYWNrL3g4Ni1jb21tb24uaAorLS0tIGxpYng4Ni0xLjEveDg2LWNvbW1vbi5oCTIwMDYtMDktMDcgMTg6NDQ6MjcuMDAwMDAwMDAwIC0wNDAwCisrKysgbGlieDg2LTEuMS5oYWNrL3g4Ni1jb21tb24uaAkyMDA5LTEwLTI2IDE2OjAxOjE5LjAwMDAwMDAwMCAtMDQwMAorQEAgLTQwLDQgKzQwLDQgQEAKKyAKKyB2b2lkICpMUk1JX2FsbG9jX3JlYWwoaW50IHNpemUpOworIHZvaWQgTFJNSV9mcmVlX3JlYWwodm9pZCAqbSk7CistaW50IExSTUlfY29tbW9uX2luaXQodm9pZCk7Cisrdm9pZCAqTFJNSV9jb21tb25faW5pdChpbnQgaGlnaF9wYWdlKTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYng4Ni0xL2xpYng4Ni0xXzEuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYng4Ni0xL2xpYng4Ni0xXzEuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMGMxNTJjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlieDg2LTEvbGlieDg2LTFfMS4xLmJiCkBAIC0wLDAgKzEsMjQgQEAKK1NVTU1BUlkgPSAieDg2IHJlYWwtbW9kZSBsaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAiQSBsaWJyYXJ5IHRvIHByb3ZpZGUgc3VwcG9ydCBmb3IgbWFraW5nIHJlYWwtbW9kZSBjYWxscyB4ODYgY2FsbHMuIE9uIFwKK3g4NiBoYXJkd2FyZSwgdm04NiBtb2RlIGlzIHVzZWQuIE9uIG90aGVyIHBsYXRmb3JtcywgeDg2IGVtdWxhdGlvbiBpcyBcCitwcm92aWRlZC4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmNvZG9uLm9yZy51ay9+bWpnNTkvbGlieDg2LyIKK0xJQ0VOU0UgPSAiTUlUICYgQlNELTMtQ2xhdXNlIgorU0VDVElPTiA9ICJsaWJzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWVJJR0hUO21kNT02MzNhZjZjMDJlNmY2MjRkNGM0NzJkOTcwYTJhY2E1MyIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmNvZG9uLm9yZy51ay9+bWpnNTkvbGlieDg2L2Rvd25sb2Fkcy8ke0JQTn0tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2xpYng4Ni1tbWFwLW9mZnNldC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWFzc3VtZS16ZXJvLWlzLXZhbGlkLWFkZHJlc3MucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDFiZWUxZjhlMjJiODJkODJiNWY3ZDdiYTUxYWJjMmEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWJmMTMxMDRjYjMyNzQ3MmI1Y2I2NTY0MzM1MmE5MTM4NjQ2YmVjYWNjMDY3NjMwODhkODMwMDFkODMyZDA0OCIKKworQlBOID0gImxpYng4NiIKK0NPTVBBVElCTEVfSE9TVCA9ICcoeDg2XzY0fGkuODYpLiotbGludXgnCisKK2V4cG9ydCBMSUJESVIgPSAiJHtsaWJkaXJ9IgorZXhwb3J0IEJBQ0tFTkQgPSAieDg2ZW11IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xvY2tmaWxlLXByb2dzL2xvY2tmaWxlLXByb2dzXzAuMS4xNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xvY2tmaWxlLXByb2dzL2xvY2tmaWxlLXByb2dzXzAuMS4xNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzU0ZmZmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbG9ja2ZpbGUtcHJvZ3MvbG9ja2ZpbGUtcHJvZ3NfMC4xLjE3LmJiCkBAIC0wLDAgKzEsMjQgQEAKK1NVTU1BUlkgPSAiQ29tbWFuZC1saW5lIHByb2dyYW1zIHRvIHNhZmVseSBsb2NrIGFuZCB1bmxvY2sgZmlsZXMgYW5kIG1haWxib3hlcyIKK0RFU0NSSVBUSU9OID0gIlwKK2xvY2tmaWxlLXByb2dzIHByb3ZpZGUgYSBtZXRob2QgdG8gbG9jayBhbmQgdW5sb2NrIG1haWxib3hlcyBhbmQgZmlsZXMgXAorc2FmZWx5ICh2aWEgbGlibG9ja2ZpbGUpLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9wYWNrYWdlcy5xYS5kZWJpYW4ub3JnL2wvbG9ja2ZpbGUtcHJvZ3MuaHRtbCIKK1NFQ1RJT04gPSAiQXBwbGljYXRpb25zL1N5c3RlbSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyIKK0RFUEVORFMgPSAibGlibG9ja2ZpbGUiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Z0cC5kZS5kZWJpYW4ub3JnL2RlYmlhbi9wb29sL21haW4vbC8ke0JQTn0vJHtCUE59XyR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2NDQyNGE3NjZmYmM4Y2Y2ZDYxM2ZjYzE0YTA5NmUxNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwM2ZiMDVkMjU0OTk1MzJmNDk3Nzc1YjE3NDdiNjFmYTZiZWViZjEyZDNiY2M5NTFlMTI1MzQ5YWUxNjZjNTExIgorCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UgQ0ZMQUdTPScgLWcgLXBpcGUgLVdhbGwgLVdwLC1EX0ZPUlRJRllfU09VUkNFPTIgLWZleGNlcHRpb25zIC1mc3RhY2stcHJvdGVjdG9yIC0tcGFyYW09c3NwLWJ1ZmZlci1zaXplPTQgLWZhc3luY2hyb25vdXMtdW53aW5kLXRhYmxlcycKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1tIDc1NSAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCBiaW4vKiAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgLWQgJHtEfSR7bWFuZGlyfS9tYW4xCisgICAgaW5zdGFsbCBtYW4vKiAke0R9JHttYW5kaXJ9L21hbjEKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xvZ2NoZWNrL2xvZ2NoZWNrXzEuMy4xNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xvZ2NoZWNrL2xvZ2NoZWNrXzEuMy4xNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYTRjMmFiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbG9nY2hlY2svbG9nY2hlY2tfMS4zLjE3LmJiCkBAIC0wLDAgKzEsMzggQEAKK1NVTU1BUlkgPSAiQW5hbHl6ZXMgbG9nIGZpbGVzIGFuZCBzZW5kcyBub3RpY2VhYmxlIGV2ZW50cyBhcyBlbWFpbCIKK0RFU0NSSVBUSU9OID0gIlwKK0xvZ2NoZWNrIGlzIGEgc2ltcGxlIHV0aWxpdHkgd2hpY2ggaXMgZGVzaWduZWQgdG8gYWxsb3cgYSBzeXN0ZW0gYWRtaW5pc3RyYXRvciBcCit0byB2aWV3IHRoZSBsb2ctZmlsZXMgd2hpY2ggYXJlIHByb2R1Y2VkIHVwb24gaG9zdHMgdW5kZXIgdGhlaXIgY29udHJvbC4gXAorSXQgZG9lcyB0aGlzIGJ5IG1haWxpbmcgc3VtbWFyaWVzIG9mIHRoZSBsb2ctZmlsZXMgdG8gdGhlbSwgYWZ0ZXIgZmlyc3QgXAorZmlsdGVyaW5nIG91dCAibm9ybWFsIiBlbnRyaWVzLiBcCitOb3JtYWwgZW50cmllcyBhcmUgZW50cmllcyB3aGljaCBtYXRjaCBvbmUgb2YgdGhlIG1hbnkgaW5jbHVkZWQgcmVndWxhciBcCitleHByZXNzaW9uIGZpbGVzIGNvbnRhaW4gaW4gdGhlIGRhdGFiYXNlLiIKK1NFQ1RJT04gPSAiQXBwbGljYXRpb25zL1N5c3RlbSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1jOTNjMDU1MGJkMzE3M2Y0NTA0YjJjYmQ4OTkxZTUwYiIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQuZGViaWFuLm9yZy9naXQvbG9nY2hlY2svbG9nY2hlY2suZ2l0IgorU1JDUkVWID0gIjI0MjllNjdhZDg3NWZlZThhMDIzNGM2NGQ1MDQyNzdiMDM4Yzg5Y2QiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2RvX2luc3RhbGwoKSB7CisgICAgIyBGaXggUUEgSXNzdWUKKyAgICBzZWQgLWkgJy9pbnN0YWxsIC1kICQoREVTVERJUilcL3ZhclwvbG9ja1wvbG9nY2hlY2svcy9eLyMvJyBNYWtlZmlsZQorCisgICAgIyAibWFrZSBpbnN0YWxsIiBkbyBub3QgaW5zdGFsbCB0aGUgbWFucGFnZXMuIEluc3RhbGwgdGhlbSBtYW51YWxseS4KKyAgICBpbnN0YWxsIC1tIDc1NSAtZCAke0R9JHttYW5kaXJ9L21hbjEKKyAgICBpbnN0YWxsIC1tIDc1NSAtZCAke0R9JHttYW5kaXJ9L21hbjgKKyAgICBpbnN0YWxsIC1tIDY0NCBkb2NzL2xvZ2NoZWNrLXRlc3QuMSAke0R9JHttYW5kaXJ9L21hbjEvCisgICAgaW5zdGFsbCAtbSA2NDQgZG9jcy9sb2d0YWlsLjggJHtEfSR7bWFuZGlyfS9tYW44LworICAgIGluc3RhbGwgLW0gNjQ0IGRvY3MvbG9ndGFpbDIuOCAke0R9JHttYW5kaXJ9L21hbjgvCisgICAgc2VkIC1pICJzL3N5c2xvZy9tZXNzYWdlcy8iIGV0Yy9sb2djaGVjay5sb2dmaWxlcworICAgIHNlZCAtaSAicy9hdXRoXC5sb2cvc2VjdXJlLyIgZXRjL2xvZ2NoZWNrLmxvZ2ZpbGVzCisgICAgaW5zdGFsbCAtbSA3NTUgLWQgJHtEfSR7c3lzY29uZmRpcn0vY3Jvbi5kCisgICAgaW5zdGFsbCAtbSA2NDQgZGViaWFuL2xvZ2NoZWNrLmNyb24uZCAke0R9JHtzeXNjb25mZGlyfS9jcm9uLmQvbG9nY2hlY2sKKyAgICBpbnN0YWxsIC1tIDc1NSAtZCAke0R9L3Zhci9saWIvbG9nY2hlY2sKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9Cit9CisKK1JERVBFTkRTXyR7UE59ID0gInBlcmwiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2xvZ3RhaWwiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9sb2d3YXRjaC9sb2d3YXRjaF83LjQuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xvZ3dhdGNoL2xvZ3dhdGNoXzcuNC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxMjE1MjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9sb2d3YXRjaC9sb2d3YXRjaF83LjQuMS5iYgpAQCAtMCwwICsxLDU4IEBACitTVU1NQVJZID0gIkEgbG9nIGZpbGUgYW5hbHlzaXMgcHJvZ3JhbSIKK0RFU0NSSVBUSU9OID0gIlwKK0xvZ3dhdGNoIGlzIGEgY3VzdG9taXphYmxlLCBwbHVnZ2FibGUgbG9nLW1vbml0b3Jpbmcgc3lzdGVtLiBJdCB3aWxsIGdvIFwKK3Rocm91Z2ggeW91ciBsb2dzIGZvciBhIGdpdmVuIHBlcmlvZCBvZiB0aW1lIGFuZCBtYWtlIGEgcmVwb3J0IGluIHRoZSBhcmVhcyBcCit0aGF0IHlvdSB3aXNoIHdpdGggdGhlIGRldGFpbCB0aGF0IHlvdSB3aXNoLiBFYXN5IHRvIHVzZSAtIHdvcmtzIHJpZ2h0IG91dCBvZiBcCit0aGUgcGFja2FnZSBvbiBtYW55IHN5c3RlbXMuXAorIgorU0VDVElPTiA9ICJkZXZlbCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubG9nd2F0Y2gub3JnLyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZjI1NjZiYjEyYjE2ZDJkODBkOTBlYmM1MzMyNjFhYTciCitSREVQRU5EU18ke1BOfSA9ICJwZXJsIgorCitTUkNfVVJJID0gImh0dHA6Ly9qYWlzdC5kbC5zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdC8ke0JQTn0vJHtCUH0vJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImEwYzNkODcyMWY4NzdiZGNkNGE5MDg5ZWIxYjQ2OTFiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM1ZWMzMWY5ZmU5ODFhYWE3MjdiMTQ0YWIzZmYyZWI2NTU5OTdkOGNjYWJhZjY2NTg2NDU4ZjVkZmMzYTU2ZWIiCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke3N5c2NvbmZkaXJ9L2xvZ3dhdGNoL3NjcmlwdHMKKyAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7ZGF0YWRpcn0vbG9nd2F0Y2gvZGlzdC5jb25mL2xvZ2ZpbGVzCisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke2RhdGFkaXJ9L2xvZ3dhdGNoL2Rpc3QuY29uZi9zZXJ2aWNlcworICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9jYWNoZS9sb2d3YXRjaAorICAgIG12IGNvbmYvICR7RH0ke2RhdGFkaXJ9L2xvZ3dhdGNoL2RlZmF1bHQuY29uZgorICAgIG12IHNjcmlwdHMvICR7RH0ke2RhdGFkaXJ9L2xvZ3dhdGNoL3NjcmlwdHMKKyAgICBtdiBsaWIgJHtEfSR7ZGF0YWRpcn0vbG9nd2F0Y2gvbGliCisgICAgY2hvd24gLVIgcm9vdDpyb290ICR7RH0ke2RhdGFkaXJ9L2xvZ3dhdGNoCisKKyAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7bWFuZGlyfS9tYW4xCisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke21hbmRpcn0vbWFuNQorICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHttYW5kaXJ9L21hbjgKKyAgICBpbnN0YWxsIC1tIDA2NDQgYW1hdmlzLWxvZ3dhdGNoLjEgJHtEfSR7bWFuZGlyfS9tYW4xCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBvc3RmaXgtbG9nd2F0Y2guMSAke0R9JHttYW5kaXJ9L21hbjEKKyAgICBpbnN0YWxsIC1tIDA2NDQgaWdub3JlLmNvbmYuNSAke0R9JHttYW5kaXJ9L21hbjUKKyAgICBpbnN0YWxsIC1tIDA2NDQgb3ZlcnJpZGUuY29uZi41ICR7RH0ke21hbmRpcn0vbWFuNQorICAgIGluc3RhbGwgLW0gMDY0NCBsb2d3YXRjaC5jb25mLjUgJHtEfSR7bWFuZGlyfS9tYW41CisgICAgaW5zdGFsbCAtbSAwNjQ0IGxvZ3dhdGNoLjggJHtEfSR7bWFuZGlyfS9tYW44CisKKyAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7c3lzY29uZmRpcn0vY3Jvbi5kYWlseQorICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtzYmluZGlyfQorICAgIGxuIC1zZiAuLi8uLiR7ZGF0YWRpcn0vbG9nd2F0Y2gvc2NyaXB0cy9sb2d3YXRjaC5wbCAke0R9JHtzYmluZGlyfS9sb2d3YXRjaAorICAgIGNhdCA+ICR7RH0ke3N5c2NvbmZkaXJ9L2Nyb24uZGFpbHkvMGxvZ3dhdGNoIDw8RU9GCisgICAgRGFpbHlSZXBvcnQ9XGBncmVwIC1lICJeW1s6c3BhY2U6XV0qRGFpbHlSZXBvcnRbWzpzcGFjZTpdXSo9W1s6c3BhY2U6XV0qIiAvdXNyL3NoYXJlL2xvZ3dhdGNoL2RlZmF1bHQuY29uZi9sb2d3YXRjaC5jb25mIHwgaGVhZCAtbjEgfCBzZWQgLWUgInN8XlxzKkRhaWx5UmVwb3J0XHMqPVxzKnx8IlxgCisgICAgaWYgWyAiXCREYWlseVJlcG9ydCIgIT0gIk5vIiBdICYmIFsgIlwkRGFpbHlSZXBvcnQiICE9ICJubyIgXQorICAgIHRoZW4KKyAgICAgICAgICAgIGxvZ3dhdGNoCisgICAgZmkKK0VPRgorICAgIGNobW9kIDc1NSAke0R9JHtzeXNjb25mZGlyfS9jcm9uLmRhaWx5LzBsb2d3YXRjaAorCisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke3N5c2NvbmZkaXJ9L2xvZ3dhdGNoL2NvbmYvbG9nZmlsZXMKKyAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7c3lzY29uZmRpcn0vbG9nd2F0Y2gvY29uZi9zZXJ2aWNlcworICAgIHRvdWNoICR7RH0ke3N5c2NvbmZkaXJ9L2xvZ3dhdGNoL2NvbmYvbG9nd2F0Y2guY29uZgorICAgIHRvdWNoICR7RH0ke3N5c2NvbmZkaXJ9L2xvZ3dhdGNoL2NvbmYvaWdub3JlLmNvbmYKKyAgICB0b3VjaCAke0R9JHtzeXNjb25mZGlyfS9sb2d3YXRjaC9jb25mL292ZXJyaWRlLmNvbmYKKyAgICBlY2hvICIjIExvY2FsIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBnbyBoZXJlIChkZWZhdWx0cyBhcmUgaW4gL3Vzci9zaGFyZS9sb2d3YXRjaC9kZWZhdWx0LmNvbmYvbG9nd2F0Y2guY29uZikiID4gJHtEfSR7c3lzY29uZmRpcn0vbG9nd2F0Y2gvY29uZi9sb2d3YXRjaC5jb25mCisgICAgZWNobyAiIyMjIyMjIFJFR1VMQVIgRVhQUkVTU0lPTlMgSU4gVEhJUyBGSUxFIFdJTEwgQkUgVFJJTU1FRCBGUk9NIFJFUE9SVCBPVVRQVVQgIyMjIyMiID4gJHtEfSR7c3lzY29uZmRpcn0vbG9nd2F0Y2gvY29uZi9pZ25vcmUuY29uZgorICAgIGVjaG8gIiMgQ29uZmlndXJhdGlvbiBvdmVycmlkZXMgZm9yIHNwZWNpZmljIGxvZ2ZpbGVzL3NlcnZpY2VzIG1heSBiZSBwbGFjZWQgaGVyZS4iID4gJHtEfSR7c3lzY29uZmRpcn0vbG9nd2F0Y2gvY29uZi9vdmVycmlkZS5jb25mCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9scHJuZy9scHJuZ18zLjguQy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xwcm5nL2xwcm5nXzMuOC5DLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwYjkzZDkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9scHJuZy9scHJuZ18zLjguQy5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIkFuIEVuaGFuY2VkIFByaW50ZXIgU3Bvb2xlciIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0xJQ0VOU0UgPSAiR1BMdjIgfCBBcnRpc3RpYy0xLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1jNjU3MGQ4ZDY5OWFmMTg4M2RiOWQwZTczM2FjOWJmYiIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiNTkwMWJlZDk1ZTYxZDJiZWEzYmEzMDU2MDU2YWY0MzIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjk0YTE3NDdhOTYzODViODllOTNmNDMzNDNiZjM1Y2VlNWM4YzczMzUzYTgzODE0MTA2OTExYzk5ZjA5ZGUxMCIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dAorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXNzbCAtLWRpc2FibGUta2VyYmVyb3MgLS1lbmFibGUtZm9yY2VfbG9jYWxob3N0IgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vbHBybmcvZmlsdGVycy8uZGVidWciCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIG12ICR7RH0vZXRjL3ByaW50Y2FwLnNhbXBsZSAke0R9L2V0Yy9wcmludGNhcAorICAgIG12ICR7RH0vZXRjL2xwZC9scGQuY29uZi5zYW1wbGUgJHtEfS9ldGMvbHBkL2xwZC5jb25mCisgICAgbXYgJHtEfS9ldGMvbHBkL2xwZC5wZXJtcy5zYW1wbGUgJHtEfS9ldGMvbHBkL2xwZC5wZXJtcworfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbHNzY2kvbHNzY3NpXzAuMjguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9sc3NjaS9sc3Njc2lfMC4yOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YjhjYmFmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbHNzY2kvbHNzY3NpXzAuMjguYmIKQEAgLTAsMCArMSwxMiBAQAorU1VNTUFSWSA9ICJUaGUgbHNzY3NpIGNvbW1hbmQgbGlzdHMgaW5mb3JtYXRpb24gYWJvdXQgU0NTSSBkZXZpY2VzIGluIExpbnV4IgorSE9NRVBBR0UgPSAiaHR0cDovL3NnLmRhbm55LmN6L3Njc2kvbHNzY3NpLmh0bWwiCitMSUNFTlNFID0gIkdQTHYyIgorU0VDVElPTiA9ICJiYXNlIgorTElDX0ZJTEVTX0NIS1NVTT0iZmlsZTovL0NPUFlJTkc7bWQ1PTA2MzZlNzNmZjAyMTVlOGQ2NzJkYzRjMzJjMzE3YmIzIgorCitTUkNfVVJJID0gImh0dHA6Ly9zZy5kYW5ueS5jei9zY3NpLyR7QlB9LnRneiIKKworU1JDX1VSSVttZDVzdW1dID0gIjRhMzllM2IwOWNkNDIyZTJjYWUzZWRiYWY1NmIzMTc2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjAyNWQwMDlhMWFmNDJiYzViMmZjYTY2NGM0NGM5ZWNkZmQ3NTQzNTZlNGE0NGY1YzZhY2VkMjQyMGFmYWRkNTAiCisKK2luaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tZDVkZWVwL2ZpbGVzL3dyb25nLXZhcmlhYmxlLWV4cGFuc2lvbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21kNWRlZXAvZmlsZXMvd3JvbmctdmFyaWFibGUtZXhwYW5zaW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhNGM0ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tZDVkZWVwL2ZpbGVzL3dyb25nLXZhcmlhYmxlLWV4cGFuc2lvbi5wYXRjaApAQCAtMCwwICsxLDM5IEBACistLS0gYS9jb25maWd1cmUuYWMJMjAxNC0wOC0yMiAxMjoyMjo1NC4yOTA4ODQzNTEgKzAyMDAKKysrKyBiL2NvbmZpZ3VyZS5hYwkyMDE0LTA4LTIyIDEyOjIzOjE1LjgyMjMwNjI5NSArMDIwMAorQEAgLTQyLDE4ICs0Miw2IEBACisgICAgICA7OwkJIAkJICAgICAKKyBlc2FjCisgCistCistIyBCcmluZyBhZGRpdGlvbmFsIGRpcmVjdG9yaWVzIHdoZXJlIHRoaW5ncyBtaWdodCBiZSBmb3VuZCBpbnRvIG91cgorLSMgc2VhcmNoIHBhdGguIEkgZG9uJ3Qga25vdyB3aHkgYXV0b2NvbmYgZG9lc24ndCBkbyB0aGlzIGJ5IGRlZmF1bHQKKy1pZiB0ZXN0IHgiJHttaW5nd30iID09ICJ4bm8iIDsgdGhlbgorLSAgZm9yIHNwZnggaW4gL3Vzci9sb2NhbCAvb3B0L2xvY2FsIC9zdyA7IGRvCistICAgIGVjaG8gY2hlY2tpbmcgJHtzcGZ4fS9pbmNsdWRlCistICAgIGlmIHRlc3QgLWQgJHtzcGZ4fS9pbmNsdWRlOyB0aGVuCistICAgICAgICBDUFBGTEFHUz0iLUkke3NwZnh9L2luY2x1ZGUgJENQUEZMQUdTIgorLSAgICAgICAgTERGTEFHUz0iLUwke3NwZnh9L2xpYiAkTERGTEFHUyIKKy0gICAgZmkKKy0gIGRvbmUKKy1maQorICMKKyAjCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworQEAgLTcxLDcgKzU5LDcgQEAKKyAKKyBpZiB0ZXN0ICRtaW5ndyA9ICJubyIgOyB0aGVuCisgICAjIGFkZCB0aGUgd2FybmluZ3Mgd2UgZG9uJ3Qgd2FudCB0byBkbyBvbiBtaW5ndworLSAgJFdBUk5JTkdTX1RPX1RFU1Q9IiRXQVJOSU5HU19UT19URVNUIC1XYWxsIC1Xc3RyaWN0LXByb3RvdHlwZXMgIC1XZWZmYysrIgorKyAgV0FSTklOR1NfVE9fVEVTVD0iJFdBUk5JTkdTX1RPX1RFU1QgLVdhbGwgLVdzdHJpY3QtcHJvdG90eXBlcyAgLVdlZmZjKysiCisgZmkKKyAKKyBmb3Igb3B0aW9uIGluICRXQVJOSU5HU19UT19URVNUCitAQCAtMTA1LDcgKzkzLDcgQEAKKyAKKyBpZiB0ZXN0ICRtaW5ndyA9ICJubyIgOyB0aGVuCisgICAjIGFkZCB0aGUgd2FybmluZ3Mgd2UgZG9uJ3Qgd2FudCB0byBkbyBvbiBtaW5ndworLSAgJFdBUk5JTkdTX1RPX1RFU1Q9IiRXQVJOSU5HU19UT19URVNUICAtV2VmZmMrKyIKKysgIFdBUk5JTkdTX1RPX1RFU1Q9IiRXQVJOSU5HU19UT19URVNUICAtV2VmZmMrKyIKKyBmaQorIAorIGZvciBvcHRpb24gaW4gJFdBUk5JTkdTX1RPX1RFU1QKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21kNWRlZXAvbWQ1ZGVlcF80LjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tZDVkZWVwL21kNWRlZXBfNC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2MGUwMGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tZDVkZWVwL21kNWRlZXBfNC40LmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAibWQ1ZGVlcCBhbmQgaGFzaGRlZXAgdG8gY29tcHV0ZSBhbmQgYXVkaXQgaGFzaHNldHMgb2YgYW1vdW50cyBvZiBmaWxlcy4iCitERVNDUklQVElPTiA9ICJtZDVkZWVwIGlzIGEgc2V0IG9mIHByb2dyYW1zIHRvIGNvbXB1dGUgTUQ1LCBTSEEtMSwgU0hBLTI1NiwgVGlnZXIsIG9yIFdoaXJscG9vbCBtZXNzYWdlIGRpZ2VzdHMgb24gYW4gYXJiaXRyYXJ5IG51bWJlciBvZiBmaWxlcy4gVGhpcyBwYWNrYWdlIGFsc28gaW5jbHVkZXMgaGFzaGRlZXAgd2hpY2ggaXMgYWxzbyBhYmxlIHRvIGF1ZGl0IGhhc2hzZXRzLiIKK0FVVEhPUiA9ICJKZXNzZSBLb3JuYmx1bSwgU2ltc29uIEwuIEdhcmZpbmtlbCIKK0hPTUVQQUdFID0gImh0dHA6Ly9tZDVkZWVwLnNvdXJjZWZvcmdlLm5ldCIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05MTkwZjY2MDEwNWI5YTU2Y2RiMjcyMzA5YmZkNTQ5MSIKKyMgUmVsZWFzZSA0LjQKK1NSQ1JFViA9ICJjZDJlZDc0MTY2ODVhNWU4M2ViMTBiYjY1OWQ2ZTliZWMwMTI0NGFlIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vamVzc2VrL2hhc2hkZWVwLmdpdCBcCisgICAgICAgIGZpbGU6Ly93cm9uZy12YXJpYWJsZS1leHBhbnNpb24ucGF0Y2ggXAorICAgICAgICAiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tbWwtd2lkZ2V0L2d0a21hdGh2aWV3LzAwMDEtaW5jbHVkZS1jc3RkaW8tdG8tZ2V0LXByaW50Zi1kZWZpbml0aW9ucy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21tbC13aWRnZXQvZ3RrbWF0aHZpZXcvMDAwMS1pbmNsdWRlLWNzdGRpby10by1nZXQtcHJpbnRmLWRlZmluaXRpb25zLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1ODE0YmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tbWwtd2lkZ2V0L2d0a21hdGh2aWV3LzAwMDEtaW5jbHVkZS1jc3RkaW8tdG8tZ2V0LXByaW50Zi1kZWZpbml0aW9ucy5wYXRjaApAQCAtMCwwICsxLDI4IEBACitGcm9tIGM5Mjg5MGM1ZTE4YmI2ZWUyM2JkYjE0MDc0YmFjZjMwNmRkOTQyOGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVHVlLCA1IE1heSAyMDE1IDIwOjM1OjAxIC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIGluY2x1ZGUgY3N0ZGlvIHRvIGdldCBwcmludGYgZGVmaW5pdGlvbnMKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBzcmMvZW5naW5lL2JveG1sL0JveE1MSE9WRWxlbWVudC5jYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9lbmdpbmUvYm94bWwvQm94TUxIT1ZFbGVtZW50LmNjIGIvc3JjL2VuZ2luZS9ib3htbC9Cb3hNTEhPVkVsZW1lbnQuY2MKK2luZGV4IDFhMjgxMmMuLjk2YzllZWEgMTAwNjQ0CistLS0gYS9zcmMvZW5naW5lL2JveG1sL0JveE1MSE9WRWxlbWVudC5jYworKysrIGIvc3JjL2VuZ2luZS9ib3htbC9Cb3hNTEhPVkVsZW1lbnQuY2MKK0BAIC0yMSw3ICsyMSw3IEBACisgLy8gPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorIAorICNpbmNsdWRlIDxjb25maWcuaD4KKy0KKysjaW5jbHVkZSA8Y3N0ZGlvPgorICNpbmNsdWRlICJCb3hNTEF0dHJpYnV0ZVNpZ25hdHVyZXMuaGgiCisgI2luY2x1ZGUgIkJveE1MSE9WRWxlbWVudC5oaCIKKyAjaW5jbHVkZSAiQm94TUxIRWxlbWVudC5oaCIKKy0tIAorMi4xLjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW1sLXdpZGdldC9ndGttYXRodmlldy91c2VfaG9zdGN4eC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21tbC13aWRnZXQvZ3RrbWF0aHZpZXcvdXNlX2hvc3RjeHgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2ZlNjMyOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21tbC13aWRnZXQvZ3RrbWF0aHZpZXcvdXNlX2hvc3RjeHgucGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorVXNlIGJ1aWxkX2NjIHRvIGNvbXBpbGUgdGhlIHByb2dyYW1zIHRvIHJ1biBvbiBidWlsZCBob3N0CitoZWxwcyB3aXRoIGNyb3NzIGNvbXBpbGluZworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW0Nyb3NzLWNvbXBpbGVkIE9FIHNwZWNpZmljXQorCitkaWZmIC0tZ2l0IGEvc3JjL2NvbW1vbi9tYXRodmFyaWFudHMvTWFrZWZpbGUuYW0gYi9zcmMvY29tbW9uL21hdGh2YXJpYW50cy9NYWtlZmlsZS5hbQoraW5kZXggNjM2Y2NmMC4uZWQ5OTIxZCAxMDA2NDQKKy0tLSBhL3NyYy9jb21tb24vbWF0aHZhcmlhbnRzL01ha2VmaWxlLmFtCisrKysgYi9zcmMvY29tbW9uL21hdGh2YXJpYW50cy9NYWtlZmlsZS5hbQorQEAgLTUyLDcgKzUyLDcgQEAgWFNMVFBST0MgPSB4c2x0cHJvYworICUuY2MgOiAlX2dlbi5jYyAkKHNyY2RpcikvdmFyaWFudC50b3AgJChzcmNkaXIpL3ZhcmlhbnQuYm90CisgCWNhdCAkKHNyY2RpcikvdmFyaWFudC50b3AgPiRACisgCSQoWFNMVFBST0MpIC0tbm92YWxpZCAtLXBhcmFtIHRlbXAgImZhbHNlKCkiICQoc3JjZGlyKS9leHRyYWN0LnhzbCAkKDw6JV9nZW4uY2M9JChzcmNkaXIpL3htbC8lLnhtbCkgPj4kQAorLQkkKENYWCkgLW8gJChAOiUuY2M9JSkgLUkkKHRvcF9idWlsZGRpcikvYXV0byAkPAorKwkkKEJVSUxEX0NYWCkgLW8gJChAOiUuY2M9JSkgLUkkKHRvcF9idWlsZGRpcikvYXV0byAkPAorIAllY2hvICJDaGFyMzIgIiA+PiRACisgCWJhc2VuYW1lIG1hcF92YXJpYW50XyRAIC5jYyB8IHRyICItIiAiXyIgPj4kQAorIAllY2hvICIoQ2hhcjMyIGNoKSIgPj4kQApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW1sLXdpZGdldC9ndGttYXRodmlld18wLjguMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21tbC13aWRnZXQvZ3RrbWF0aHZpZXdfMC44LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2VkYmVlZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21tbC13aWRnZXQvZ3RrbWF0aHZpZXdfMC44LjAuYmIKQEAgLTAsMCArMSwyMyBAQAorSE9NRVBBR0UgPSAiaHR0cDovL2hlbG0uY3MudW5pYm8uaXQvbW1sLXdpZGdldC8iCitERVBFTkRTID0gInQxbGliIGd0aysgcG9wdCBsaWJ4c2x0IGxpYnhtbDIiCisKK0xJQ0VOU0UgPSAiTEdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NmE2YThlMDIwODM4YjIzNDA2YzgxYjE5YzFkNDZkZjYiCisKK1BSID0gInIzIgorU1JDUkVWID0gIjBiYzJjZmEwYTQ3YWVkMmM4YTYzYWJkOTg5Y2I4ZGE0ZGNjZWIyZWMiCitQViA9ICIwLjguMCtnaXQke1NSQ1BWfSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL0dOT01FL2d0a21hdGh2aWV3LmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly91c2VfaG9zdGN4eC5wYXRjaCBcCisJICAgZmlsZTovLzAwMDEtaW5jbHVkZS1jc3RkaW8tdG8tZ2V0LXByaW50Zi1kZWZpbml0aW9ucy5wYXRjaCBcCisgICAgICAgICAgIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworZG9fY29uZmlndXJlX2FwcGVuZCgpIHsKKyAgICAjIGF2b2lkIGhvc3QgcG9sdXRpb24gaW5mIHBrZy1jb25maWcgZmlsZXMKKyAgICBzZWQgLWkgInM6JHtTVEFHSU5HX0RJUl9IT1NUfTo6ZyIgYGZpbmQgLW5hbWUgJyoucGMnYAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anMvMDAwMS1hZGQtc3VwcG9ydC1mb3ItYmlnLWVuZGlhbi0zMmJpdC1BUk0ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy8wMDAxLWFkZC1zdXBwb3J0LWZvci1iaWctZW5kaWFuLTMyYml0LUFSTS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjcwMzhmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anMvMDAwMS1hZGQtc3VwcG9ydC1mb3ItYmlnLWVuZGlhbi0zMmJpdC1BUk0ucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorRnJvbSAwNzgzMGNiYzQwOWY4ZTk5OGZhODM5Mjc1NDcwMDMxZmM4M2Q2ZWI2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS29lbiBLb29pIDxrb2VuLmtvb2lAbGluYXJvLm9yZz4KK0RhdGU6IFRodSwgMjEgQXByIDIwMTYgMTQ6MTA6NTQgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gYWRkIHN1cHBvcnQgZm9yIGJpZyBlbmRpYW4gMzJiaXQgQVJNCisKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbi5rb29pQGxpbmFyby5vcmc+CistLS0KKyBtZmJ0L2RvdWJsZS1jb252ZXJzaW9uL3V0aWxzLmggfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9tZmJ0L2RvdWJsZS1jb252ZXJzaW9uL3V0aWxzLmggYi9tZmJ0L2RvdWJsZS1jb252ZXJzaW9uL3V0aWxzLmgKK2luZGV4IGZlMjZkYWIuLjc4YTE5Y2IgMTAwNjQ0CistLS0gYS9tZmJ0L2RvdWJsZS1jb252ZXJzaW9uL3V0aWxzLmgKKysrKyBiL21mYnQvZG91YmxlLWNvbnZlcnNpb24vdXRpbHMuaAorQEAgLTU4LDcgKzU4LDcgQEAKKyAgICAgZGVmaW5lZChfX21pcHNfXykgfHwgZGVmaW5lZChfX3Bvd2VycGNfXykgfHwgXAorICAgICBkZWZpbmVkKF9fc3BhcmNfXykgfHwgZGVmaW5lZChfX3NwYXJjKSB8fCBkZWZpbmVkKF9fczM5MF9fKSB8fCBcCisgICAgIGRlZmluZWQoX19TSDRfXykgfHwgZGVmaW5lZChfX2FscGhhX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgXAorKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fQVJNRUJfXykgfHwgXAorICAgICBkZWZpbmVkKF9NSVBTX0FSQ0hfTUlQUzMyUjIpCisgI2RlZmluZSBET1VCTEVfQ09OVkVSU0lPTl9DT1JSRUNUX0RPVUJMRV9PUEVSQVRJT05TIDEKKyAjZWxpZiBkZWZpbmVkKF9NX0lYODYpIHx8IGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19pMzg2KQorLS0gCisyLjQuMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy8wMDAxLWpzLnBjLmluLWRvLW5vdC1pbmNsdWRlLVJlcXVpcmVkRGVmaW5lcy5oLWZvci1kZXBlbmQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy8wMDAxLWpzLnBjLmluLWRvLW5vdC1pbmNsdWRlLVJlcXVpcmVkRGVmaW5lcy5oLWZvci1kZXBlbmQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmMxNDFkOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzLzAwMDEtanMucGMuaW4tZG8tbm90LWluY2x1ZGUtUmVxdWlyZWREZWZpbmVzLmgtZm9yLWRlcGVuZC5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9tIDBhNjFiMGI5OGMxNTJmMTA0MDRjY2JkZWVhYzU4M2E0ODY2MzhhN2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBUaHUsIDYgSnVuIDIwMTMgMTg6MzY6MDEgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0ganMucGMuaW46IGRvIG5vdCBpbmNsdWRlIFJlcXVpcmVkRGVmaW5lcy5oIGZvciBkZXBlbmRpbmcKKyBwYWNrYWdlcworTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitpbiBvdXIgY3Jvc3MgZW52aXJvbm1lbnQgdGhlIHdvdWxkIGZhaWwgd2l0aDoKKworfCBjYzE6IGZhdGFsIGVycm9yOiAvdXNyL2luY2x1ZGUvanMtMTcuMC9qcy9SZXF1aXJlZERlZmluZXMuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQorCithbmQgY3VycmVudGx5IGl0IG9ubHkgZGVmaW5lcyBfX1NURENfTElNSVRfTUFDUk9TCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIGpzLnBjLmluIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvanMucGMuaW4gYi9qcy5wYy5pbgoraW5kZXggMTNkNzYxZC4uYTk1YTdiZCAxMDA2NDQKKy0tLSBhL2pzLnBjLmluCisrKysgYi9qcy5wYy5pbgorQEAgLTgsNCArOCw0IEBAIERlc2NyaXB0aW9uOiBUaGUgTW96aWxsYSBsaWJyYXJ5IGZvciBKYXZhU2NyaXB0CisgVmVyc2lvbjogQE1PWklMTEFfVkVSU0lPTkAKKyBSZXF1aXJlcy5wcml2YXRlOiBATlNQUl9QS0dDT05GX0NIRUNLQAorIExpYnM6IC1MJHtsaWJkaXJ9IC1sQExJQlJBUllfTkFNRUAKKy1DZmxhZ3M6IC1pbmNsdWRlICR7aW5jbHVkZWRpcn0vQE1PRFVMRUAvanMvUmVxdWlyZWREZWZpbmVzLmggLUkke2luY2x1ZGVkaXJ9L0BNT0RVTEVACisrQ2ZsYWdzOiAtSSR7aW5jbHVkZWRpcn0vQE1PRFVMRUAKKy0tIAorMS43LjYuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy8wMDAxLW1vempzMTcuMC4wLWZpeC10aGUtY29tcGlsZS1idWctb2YtcG93ZXJwYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzLzAwMDEtbW96anMxNy4wLjAtZml4LXRoZS1jb21waWxlLWJ1Zy1vZi1wb3dlcnBjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlNzJkNGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy8wMDAxLW1vempzMTcuMC4wLWZpeC10aGUtY29tcGlsZS1idWctb2YtcG93ZXJwYy5wYXRjaApAQCAtMCwwICsxLDM2IEBACitGcm9tIGRhMzkyOWE5NmQ5Yzc0ZTExYmYzN2QxMjg4OTBlMThmY2I3NDUzNjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMZWkgTWFvaHVpIDxsZWltYW9odWlAY24uZnVqaXRzdS5jb20+CitEYXRlOiBNb24sIDI2IEphbiAyMDE1IDA4OjUzOjE5ICswOTAwCitTdWJqZWN0OiBbUEFUQ0hdIG1vempzMTcuMC4wOiBmaXggdGhlIGNvbXBpbGUgYnVnIG9mIHBvd2VycGMKKworVG8gZml4IHRoZSBidWcgYXMgZm9sbG93aW5nCisKK2Vycm9yOiBjYW5ub3QgY29udmVydCAnX192YV9saXN0X3RhZyoqJyB0byAnX192YV9saXN0X3RhZyAoKilbMV0nIGZvcgorYXJndW1lbnQgJzUnIHRvICdKU0Jvb2wgVHJ5QXJndW1lbnRGb3JtYXR0ZXIoSlNDb250ZXh0KiwgY29uc3QgY2hhcioqLAorSlNCb29sLCBqc3ZhbCoqLCBfX3ZhX2xpc3RfdGFnICgqKVsxXSknCisKK1NpZ25lZC1vZmYtYnk6IExlaSBNYW9odWkgPGxlaW1hb2h1aUBjbi5mdWppdHN1LmNvbT4KKy0tLQorIGpzY3B1Y2ZnLmggfCA2ICsrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2pzY3B1Y2ZnLmggYi9qc2NwdWNmZy5oCitpbmRleCBkZmIxYzE0Li44NjgzNDkxIDEwMDY0NAorLS0tIGEvanNjcHVjZmcuaAorKysrIGIvanNjcHVjZmcuaAorQEAgLTQ3LDYgKzQ3LDEyIEBACisgI2VsaWYgZGVmaW5lZChKU19IQVZFX0VORElBTl9IKQorICMgaW5jbHVkZSA8ZW5kaWFuLmg+CisgCisrI2lmIGRlZmluZWQoX1BPV0VSKSB8fCBkZWZpbmVkKF9fcG93ZXJwY19fKSB8fCBcCisrICAgIGRlZmluZWQoX19wcGNfXykKKysjIGRlZmluZSBIQVZFX1ZBX0xJU1RfQVNfQVJSQVkgMQorKyMgZW5kaWYKKysKKysKKyAjIGlmIGRlZmluZWQoX19CWVRFX09SREVSKQorICMgIGlmIF9fQllURV9PUkRFUiA9PSBfX0xJVFRMRV9FTkRJQU4KKyAjICAgZGVmaW5lIElTX0xJVFRMRV9FTkRJQU4gMQorLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzLzAwMDEtcmVnZW5lcmF0ZS1jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy8wMDAxLXJlZ2VuZXJhdGUtY29uZmlndXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhNDEzZWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy8wMDAxLXJlZ2VuZXJhdGUtY29uZmlndXJlLnBhdGNoCkBAIC0wLDAgKzEsMzIzOCBAQAorRnJvbSA2NDQwYjQ5MDFjNmY0YmNjNjk2ODZmZjEwODA2ZTMxMWNjNWE5MjdiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS29lbiBLb29pIDxrb2VuLmtvb2lAbGluYXJvLm9yZz4KK0RhdGU6IFR1ZSwgMyBNYXIgMjAxNSAxOToxMjoxNyArMDgwMAorU3ViamVjdDogW1BBVENIXSByZWdlbmVyYXRlIGNvbmZpZ3VyZSB3aXRoIGF1dG9jb25mLTIuMTMKKworU2lnbmVkLW9mZi1ieTogS29lbiBLb29pIDxrb2VuLmtvb2lAbGluYXJvLm9yZz4KK1Vwc3RyZWFtLXN0YXR1czogSW5hcHByb3ByaWF0ZSBbZ2VuZXJhdGVkIGZpbGVdCisKKy0tLQorIGpzL3NyYy9jb25maWd1cmUgfCA4MzggKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAzODkgaW5zZXJ0aW9ucygrKSwgNDQ5IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvanMvc3JjL2NvbmZpZ3VyZSBiL2pzL3NyYy9jb25maWd1cmUKK2luZGV4IGNiNmI0MWIuLmIwNTI5OGYgMTAwNzU1CistLS0gYS9qcy9zcmMvY29uZmlndXJlCisrKysgYi9qcy9zcmMvY29uZmlndXJlCitAQCAtNTc1Nyw2ICs1NzU3LDEwIEBAIGFybSopCisgICAgIENQVV9BUkNIPWFybQorICAgICA7OworIAorK2FhcmNoNjQqKQorKyAgICBDUFVfQVJDSD1hYXJjaDY0CisrICAgIDs7CisrCisgbWlwc3xtaXBzZWwpCisgICAgIENQVV9BUkNIPSJtaXBzIgorICAgICA7OworQEAgLTU4OTMsMTQgKzU4OTcsMTQgQEAgbm8pCisgICAgIF9TQVZFX0NGTEFHUz0iJENGTEFHUyIKKyAgICAgQ0ZMQUdTPSIkYXJjaF9mbGFnIgorICAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgNTg5NyAiY29uZmlndXJlIgorKyNsaW5lIDU5MDEgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyBpbnQgbWFpbigpIHsKKyByZXR1cm4gc2l6ZW9mKF9fdGh1bWIyX18pOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjU5MDQ6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjU5MDg6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIE1PWl9USFVNQjI9MQorIGVsc2UKK0BAIC01OTcyLDE2ICs1OTc2LDE2IEBAIGlmIHRlc3QgLW4gIiRhbGxfZmxhZ3MiOyB0aGVuCisgICAgIF9TQVZFX0NGTEFHUz0iJENGTEFHUyIKKyAgICAgQ0ZMQUdTPSIkYWxsX2ZsYWdzIgorICAgICBlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBjaG9zZW4gY29tYmluYXRpb24gb2YgY29tcGlsZXIgZmxhZ3MgKCRhbGxfZmxhZ3MpIHdvcmtzIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6NTk3NjogY2hlY2tpbmcgd2hldGhlciB0aGUgY2hvc2VuIGNvbWJpbmF0aW9uIG9mIGNvbXBpbGVyIGZsYWdzICgkYWxsX2ZsYWdzKSB3b3JrcyIgPiY1CisrZWNobyAiY29uZmlndXJlOjU5ODA6IGNoZWNraW5nIHdoZXRoZXIgdGhlIGNob3NlbiBjb21iaW5hdGlvbiBvZiBjb21waWxlciBmbGFncyAoJGFsbF9mbGFncykgd29ya3MiID4mNQorICAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgNTk3OCAiY29uZmlndXJlIgorKyNsaW5lIDU5ODIgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyBpbnQgbWFpbigpIHsKKyByZXR1cm4gMDsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo1OTg1OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo1OTg5OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBlY2hvICIkYWNfdCIieWVzIiAxPiY2CisgZWxzZQorQEAgLTYwMDQsMTggKzYwMDgsMTggQEAgZmkKKyAKKyBpZiB0ZXN0ICIkQ1BVX0FSQ0giID0gImFybSI7IHRoZW4KKyAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBBUk0gU0lNRCBzdXBwb3J0IGluIGNvbXBpbGVyIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6NjAwODogY2hlY2tpbmcgZm9yIEFSTSBTSU1EIHN1cHBvcnQgaW4gY29tcGlsZXIiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo2MDEyOiBjaGVja2luZyBmb3IgQVJNIFNJTUQgc3VwcG9ydCBpbiBjb21waWxlciIgPiY1CisgICAjIFdlIHRyeSB0byBsaW5rIHNvIHRoYXQgdGhpcyBhbHNvIGZhaWxzIHdoZW4KKyAgICMgYnVpbGRpbmcgd2l0aCBMVE8uCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgNjAxMiAiY29uZmlndXJlIgorKyNsaW5lIDYwMTYgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyBpbnQgbWFpbigpIHsKKyBhc20oInVxYWRkOCByMSwgcjEsIHIyIik7CisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NjAxOTogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo2MDIzOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIHJlc3VsdD0ieWVzIgorIGVsc2UKK0BAIC02MDM4LDE4ICs2MDQyLDE4IEBAIEVPRgorICAgZmkKKyAKKyAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBBUk0gTkVPTiBzdXBwb3J0IGluIGNvbXBpbGVyIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6NjA0MjogY2hlY2tpbmcgZm9yIEFSTSBORU9OIHN1cHBvcnQgaW4gY29tcGlsZXIiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo2MDQ2OiBjaGVja2luZyBmb3IgQVJNIE5FT04gc3VwcG9ydCBpbiBjb21waWxlciIgPiY1CisgICAjIFdlIHRyeSB0byBsaW5rIHNvIHRoYXQgdGhpcyBhbHNvIGZhaWxzIHdoZW4KKyAgICMgYnVpbGRpbmcgd2l0aCBMVE8uCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgNjA0NiAiY29uZmlndXJlIgorKyNsaW5lIDYwNTAgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyBpbnQgbWFpbigpIHsKKyBhc20oIi5mcHUgbmVvblxuIHZhZGQuaTggZDAsIGQwLCBkMCIpOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjYwNTM6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NjA1NzogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICByZXN1bHQ9InllcyIKKyBlbHNlCitAQCAtNjA5NCw3ICs2MDk4LDcgQEAgY29uZmlndXJlX3N0YXRpY19hc3NlcnRfbWFjcm9zPScKKyAnCisgCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgdGhhdCBzdGF0aWMgYXNzZXJ0aW9uIG1hY3JvcyB1c2VkIGluIGF1dG9jb25mIHRlc3RzIHdvcmsiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo2MDk4OiBjaGVja2luZyB0aGF0IHN0YXRpYyBhc3NlcnRpb24gbWFjcm9zIHVzZWQgaW4gYXV0b2NvbmYgdGVzdHMgd29yayIgPiY1CisrZWNobyAiY29uZmlndXJlOjYxMDI6IGNoZWNraW5nIHRoYXQgc3RhdGljIGFzc2VydGlvbiBtYWNyb3MgdXNlZCBpbiBhdXRvY29uZiB0ZXN0cyB3b3JrIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3Zfc3RhdGljX2Fzc2VydGlvbl9tYWNyb3Nfd29yaycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKK0BAIC02MTA4LDE0ICs2MTEyLDE0IEBAIGNyb3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jY19jcm9zcworIAorICAgYWNfY3Zfc3RhdGljX2Fzc2VydGlvbl9tYWNyb3Nfd29yaz0ieWVzIgorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDYxMTIgImNvbmZpZ3VyZSIKKysjbGluZSA2MTE2ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgJGNvbmZpZ3VyZV9zdGF0aWNfYXNzZXJ0X21hY3JvcworIGludCBtYWluKCkgeworIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUKDEpCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NjExOTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NjEyMzogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgOgorIGVsc2UKKyAgIGVjaG8gImNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CitAQCAtNjEyNSwxNCArNjEyOSwxNCBAQCBlbHNlCisgZmkKKyBybSAtZiBjb25mdGVzdCoKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA2MTI5ICJjb25maWd1cmUiCisrI2xpbmUgNjEzMyAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICRjb25maWd1cmVfc3RhdGljX2Fzc2VydF9tYWNyb3MKKyBpbnQgbWFpbigpIHsKKyBDT05GSUdVUkVfU1RBVElDX0FTU0VSVCgwKQorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjYxMzY6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjYxNDA6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X3N0YXRpY19hc3NlcnRpb25fbWFjcm9zX3dvcms9Im5vIgorIGVsc2UKK0BAIC02MTQ4LDE0ICs2MTUyLDE0IEBAIGFjX2xpbms9JyR7Q1hYLWcrK30gLW8gY29uZnRlc3Qke2FjX2V4ZWV4dH0gJENYWEZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzCisgY3Jvc3NfY29tcGlsaW5nPSRhY19jdl9wcm9nX2N4eF9jcm9zcworIAorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDYxNTIgImNvbmZpZ3VyZSIKKysjbGluZSA2MTU2ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgJGNvbmZpZ3VyZV9zdGF0aWNfYXNzZXJ0X21hY3JvcworIGludCBtYWluKCkgeworIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUKDEpCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NjE1OTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NjE2MzogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgOgorIGVsc2UKKyAgIGVjaG8gImNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CitAQCAtNjE2NSwxNCArNjE2OSwxNCBAQCBlbHNlCisgZmkKKyBybSAtZiBjb25mdGVzdCoKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA2MTY5ICJjb25maWd1cmUiCisrI2xpbmUgNjE3MyAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICRjb25maWd1cmVfc3RhdGljX2Fzc2VydF9tYWNyb3MKKyBpbnQgbWFpbigpIHsKKyBDT05GSUdVUkVfU1RBVElDX0FTU0VSVCgwKQorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjYxNzY6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjYxODA6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X3N0YXRpY19hc3NlcnRpb25fbWFjcm9zX3dvcms9Im5vIgorIGVsc2UKK0BAIC02MzE3LDcgKzYzMjEsNyBAQCBpZiB0ZXN0ICIkR05VX0NDIjsgdGhlbgorICAgICBfV0FSTklOR1NfQ0ZMQUdTPSIke19XQVJOSU5HU19DRkxBR1N9IC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCIKKyAgICAgCisgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgc3VwcG9ydHMgLVdlcnJvcj1yZXR1cm4tdHlwZSIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjYzMjE6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgc3VwcG9ydHMgLVdlcnJvcj1yZXR1cm4tdHlwZSIgPiY1CisrZWNobyAiY29uZmlndXJlOjYzMjU6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgc3VwcG9ydHMgLVdlcnJvcj1yZXR1cm4tdHlwZSIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2NfaGFzX3dlcnJvcl9yZXR1cm5fdHlwZScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKK0BAIC02MzMzLDE0ICs2MzM3LDE0IEBAIGNyb3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jY19jcm9zcworICAgICAgICAgICAgIF9TQVZFX0NGTEFHUz0iJENGTEFHUyIKKyAgICAgICAgICAgICBDRkxBR1M9IiRDRkxBR1MgLVdlcnJvciAtV2Vycm9yPXJldHVybi10eXBlIgorICAgICAgICAgICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA2MzM3ICJjb25maWd1cmUiCisrI2xpbmUgNjM0MSAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorIGludCBtYWluKCkgeworIHJldHVybigwKTsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo2MzQ0OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo2MzQ4OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBhY19jX2hhc193ZXJyb3JfcmV0dXJuX3R5cGU9InllcyIKKyBlbHNlCitAQCAtNjM2OCw3ICs2MzcyLDcgQEAgZWNobyAiJGFjX3QiIiRhY19jX2hhc193ZXJyb3JfcmV0dXJuX3R5cGUiIDE+JjYKKyAKKyAgICAgCisgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgc3VwcG9ydHMgLVd0eXBlLWxpbWl0cyIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjYzNzI6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgc3VwcG9ydHMgLVd0eXBlLWxpbWl0cyIgPiY1CisrZWNobyAiY29uZmlndXJlOjYzNzY6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgc3VwcG9ydHMgLVd0eXBlLWxpbWl0cyIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2NfaGFzX3d0eXBlX2xpbWl0cycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKK0BAIC02Mzg0LDE0ICs2Mzg4LDE0IEBAIGNyb3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jY19jcm9zcworICAgICAgICAgICAgIF9TQVZFX0NGTEFHUz0iJENGTEFHUyIKKyAgICAgICAgICAgICBDRkxBR1M9IiRDRkxBR1MgLVdlcnJvciAtV3R5cGUtbGltaXRzIgorICAgICAgICAgICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA2Mzg4ICJjb25maWd1cmUiCisrI2xpbmUgNjM5MiAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorIGludCBtYWluKCkgeworIHJldHVybigwKTsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo2Mzk1OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo2Mzk5OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBhY19jX2hhc193dHlwZV9saW1pdHM9InllcyIKKyBlbHNlCitAQCAtNjQxOSw3ICs2NDIzLDcgQEAgZWNobyAiJGFjX3QiIiRhY19jX2hhc193dHlwZV9saW1pdHMiIDE+JjYKKyAKKyAgICAgCisgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgc3VwcG9ydHMgLVdlbXB0eS1ib2R5IiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6NjQyMzogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciBzdXBwb3J0cyAtV2VtcHR5LWJvZHkiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo2NDI3OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHN1cHBvcnRzIC1XZW1wdHktYm9keSIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2NfaGFzX3dlbXB0eV9ib2R5JytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorQEAgLTY0MzUsMTQgKzY0MzksMTQgQEAgY3Jvc3NfY29tcGlsaW5nPSRhY19jdl9wcm9nX2NjX2Nyb3NzCisgICAgICAgICAgICAgX1NBVkVfQ0ZMQUdTPSIkQ0ZMQUdTIgorICAgICAgICAgICAgIENGTEFHUz0iJENGTEFHUyAtV2Vycm9yIC1XZW1wdHktYm9keSIKKyAgICAgICAgICAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgNjQzOSAiY29uZmlndXJlIgorKyNsaW5lIDY0NDMgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyBpbnQgbWFpbigpIHsKKyByZXR1cm4oMCk7CisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NjQ0NjogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NjQ1MDogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY19oYXNfd2VtcHR5X2JvZHk9InllcyIKKyBlbHNlCitAQCAtNjQ3Niw3ICs2NDgwLDcgQEAgZWNobyAiJGFjX3QiIiRhY19jX2hhc193ZW1wdHlfYm9keSIgMT4mNgorICAgICBfV0FSTklOR1NfQ0ZMQUdTPSIke19XQVJOSU5HU19DRkxBR1N9IC1Xbm8tdW51c2VkIgorICAgICAKKyAgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciBzdXBwb3J0cyAtV25vLW92ZXJsZW5ndGgtc3RyaW5ncyIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjY0ODA6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgc3VwcG9ydHMgLVduby1vdmVybGVuZ3RoLXN0cmluZ3MiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo2NDg0OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHN1cHBvcnRzIC1Xbm8tb3Zlcmxlbmd0aC1zdHJpbmdzIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY19oYXNfd25vX292ZXJsZW5ndGhfc3RyaW5ncycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKK0BAIC02NDkyLDE0ICs2NDk2LDE0IEBAIGNyb3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jY19jcm9zcworICAgICAgICAgICAgIF9TQVZFX0NGTEFHUz0iJENGTEFHUyIKKyAgICAgICAgICAgICBDRkxBR1M9IiRDRkxBR1MgLVdlcnJvciAtV292ZXJsZW5ndGgtc3RyaW5ncyIKKyAgICAgICAgICAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgNjQ5NiAiY29uZmlndXJlIgorKyNsaW5lIDY1MDAgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyBpbnQgbWFpbigpIHsKKyByZXR1cm4oMCk7CisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NjUwMzogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NjUwNzogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY19oYXNfd25vX292ZXJsZW5ndGhfc3RyaW5ncz0ieWVzIgorIGVsc2UKK0BAIC02NTgwLDcgKzY1ODQsNyBAQCBpZiB0ZXN0ICIkR05VX0NYWCI7IHRoZW4KKyAgICAgX1dBUk5JTkdTX0NYWEZMQUdTPSIke19XQVJOSU5HU19DWFhGTEFHU30gLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xb3ZlcmxvYWRlZC12aXJ0dWFsIgorICAgICAKKyAgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIC1XZXJyb3I9cmV0dXJuLXR5cGUiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo2NTg0OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgc3VwcG9ydHMgLVdlcnJvcj1yZXR1cm4tdHlwZSIgPiY1CisrZWNobyAiY29uZmlndXJlOjY1ODg6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciBzdXBwb3J0cyAtV2Vycm9yPXJldHVybi10eXBlIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3h4X2hhc193ZXJyb3JfcmV0dXJuX3R5cGUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCitAQCAtNjU5NiwxNCArNjYwMCwxNCBAQCBjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY3h4X2Nyb3NzCisgICAgICAgICAgICAgX1NBVkVfQ1hYRkxBR1M9IiRDWFhGTEFHUyIKKyAgICAgICAgICAgICBDWFhGTEFHUz0iJENYWEZMQUdTIC1XZXJyb3IgLVdlcnJvcj1yZXR1cm4tdHlwZSIKKyAgICAgICAgICAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgNjYwMCAiY29uZmlndXJlIgorKyNsaW5lIDY2MDQgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyBpbnQgbWFpbigpIHsKKyByZXR1cm4oMCk7CisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NjYwNzogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NjYxMTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY3h4X2hhc193ZXJyb3JfcmV0dXJuX3R5cGU9InllcyIKKyBlbHNlCitAQCAtNjYzMSw3ICs2NjM1LDcgQEAgZWNobyAiJGFjX3QiIiRhY19jeHhfaGFzX3dlcnJvcl9yZXR1cm5fdHlwZSIgMT4mNgorIAorICAgICAKKyAgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIC1XdHlwZS1saW1pdHMiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo2NjM1OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgc3VwcG9ydHMgLVd0eXBlLWxpbWl0cyIgPiY1CisrZWNobyAiY29uZmlndXJlOjY2Mzk6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciBzdXBwb3J0cyAtV3R5cGUtbGltaXRzIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3h4X2hhc193dHlwZV9saW1pdHMnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCitAQCAtNjY0NywxNCArNjY1MSwxNCBAQCBjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY3h4X2Nyb3NzCisgICAgICAgICAgICAgX1NBVkVfQ1hYRkxBR1M9IiRDWFhGTEFHUyIKKyAgICAgICAgICAgICBDWFhGTEFHUz0iJENYWEZMQUdTIC1XZXJyb3IgLVd0eXBlLWxpbWl0cyIKKyAgICAgICAgICAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgNjY1MSAiY29uZmlndXJlIgorKyNsaW5lIDY2NTUgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyBpbnQgbWFpbigpIHsKKyByZXR1cm4oMCk7CisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NjY1ODogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NjY2MjogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY3h4X2hhc193dHlwZV9saW1pdHM9InllcyIKKyBlbHNlCitAQCAtNjY4Miw3ICs2Njg2LDcgQEAgZWNobyAiJGFjX3QiIiRhY19jeHhfaGFzX3d0eXBlX2xpbWl0cyIgMT4mNgorIAorICAgICAKKyAgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIC1XZW1wdHktYm9keSIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjY2ODY6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciBzdXBwb3J0cyAtV2VtcHR5LWJvZHkiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo2NjkwOiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgc3VwcG9ydHMgLVdlbXB0eS1ib2R5IiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3h4X2hhc193ZW1wdHlfYm9keScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKK0BAIC02Njk4LDE0ICs2NzAyLDE0IEBAIGNyb3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jeHhfY3Jvc3MKKyAgICAgICAgICAgICBfU0FWRV9DWFhGTEFHUz0iJENYWEZMQUdTIgorICAgICAgICAgICAgIENYWEZMQUdTPSIkQ1hYRkxBR1MgLVdlcnJvciAtV2VtcHR5LWJvZHkiCisgICAgICAgICAgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDY3MDIgImNvbmZpZ3VyZSIKKysjbGluZSA2NzA2ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgaW50IG1haW4oKSB7CisgcmV0dXJuKDApOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjY3MDk6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjY3MTM6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N4eF9oYXNfd2VtcHR5X2JvZHk9InllcyIKKyBlbHNlCitAQCAtNjc0MSw3ICs2NzQ1LDcgQEAgZWNobyAiJGFjX3QiIiRhY19jeHhfaGFzX3dlbXB0eV9ib2R5IiAxPiY2CisgICAgIF9XQVJOSU5HU19DWFhGTEFHUz0iJHtfV0FSTklOR1NfQ1hYRkxBR1N9IC1Xbm8tY3Rvci1kdG9yLXByaXZhY3kiCisgICAgIAorICAgICBlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgc3VwcG9ydHMgLVduby1vdmVybGVuZ3RoLXN0cmluZ3MiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo2NzQ1OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgc3VwcG9ydHMgLVduby1vdmVybGVuZ3RoLXN0cmluZ3MiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo2NzQ5OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgc3VwcG9ydHMgLVduby1vdmVybGVuZ3RoLXN0cmluZ3MiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jeHhfaGFzX3dub19vdmVybGVuZ3RoX3N0cmluZ3MnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCitAQCAtNjc1NywxNCArNjc2MSwxNCBAQCBjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY3h4X2Nyb3NzCisgICAgICAgICAgICAgX1NBVkVfQ1hYRkxBR1M9IiRDWFhGTEFHUyIKKyAgICAgICAgICAgICBDWFhGTEFHUz0iJENYWEZMQUdTIC1XZXJyb3IgLVdvdmVybGVuZ3RoLXN0cmluZ3MiCisgICAgICAgICAgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDY3NjEgImNvbmZpZ3VyZSIKKysjbGluZSA2NzY1ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgaW50IG1haW4oKSB7CisgcmV0dXJuKDApOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjY3Njg6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjY3NzI6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N4eF9oYXNfd25vX292ZXJsZW5ndGhfc3RyaW5ncz0ieWVzIgorIGVsc2UKK0BAIC02NzkyLDcgKzY3OTYsNyBAQCBlY2hvICIkYWNfdCIiJGFjX2N4eF9oYXNfd25vX292ZXJsZW5ndGhfc3RyaW5ncyIgMT4mNgorIAorICAgICAKKyAgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIC1Xbm8taW52YWxpZC1vZmZzZXRvZiIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjY3OTY6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciBzdXBwb3J0cyAtV25vLWludmFsaWQtb2Zmc2V0b2YiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo2ODAwOiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgc3VwcG9ydHMgLVduby1pbnZhbGlkLW9mZnNldG9mIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3h4X2hhc193bm9faW52YWxpZF9vZmZzZXRvZicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKK0BAIC02ODA4LDE0ICs2ODEyLDE0IEBAIGNyb3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jeHhfY3Jvc3MKKyAgICAgICAgICAgICBfU0FWRV9DWFhGTEFHUz0iJENYWEZMQUdTIgorICAgICAgICAgICAgIENYWEZMQUdTPSIkQ1hYRkxBR1MgLVdlcnJvciAtV2ludmFsaWQtb2Zmc2V0b2YiCisgICAgICAgICAgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDY4MTIgImNvbmZpZ3VyZSIKKysjbGluZSA2ODE2ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgaW50IG1haW4oKSB7CisgcmV0dXJuKDApOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjY4MTk6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjY4MjM6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N4eF9oYXNfd25vX2ludmFsaWRfb2Zmc2V0b2Y9InllcyIKKyBlbHNlCitAQCAtNjg0Myw3ICs2ODQ3LDcgQEAgZWNobyAiJGFjX3QiIiRhY19jeHhfaGFzX3dub19pbnZhbGlkX29mZnNldG9mIiAxPiY2CisgCisgICAgIAorICAgICBlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgc3VwcG9ydHMgLVduby12YXJpYWRpYy1tYWNyb3MiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo2ODQ3OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgc3VwcG9ydHMgLVduby12YXJpYWRpYy1tYWNyb3MiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo2ODUxOiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgc3VwcG9ydHMgLVduby12YXJpYWRpYy1tYWNyb3MiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jeHhfaGFzX3dub192YXJpYWRpY19tYWNyb3MnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCitAQCAtNjg1OSwxNCArNjg2MywxNCBAQCBjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY3h4X2Nyb3NzCisgICAgICAgICAgICAgX1NBVkVfQ1hYRkxBR1M9IiRDWFhGTEFHUyIKKyAgICAgICAgICAgICBDWFhGTEFHUz0iJENYWEZMQUdTIC1XZXJyb3IgLVd2YXJpYWRpYy1tYWNyb3MiCisgICAgICAgICAgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDY4NjMgImNvbmZpZ3VyZSIKKysjbGluZSA2ODY3ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgaW50IG1haW4oKSB7CisgcmV0dXJuKDApOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjY4NzA6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjY4NzQ6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N4eF9oYXNfd25vX3ZhcmlhZGljX21hY3Jvcz0ieWVzIgorIGVsc2UKK0BAIC02OTE4LDcgKzY5MjIsNyBAQCBlY2hvICIkYWNfdCIiJGFjX2N4eF9oYXNfd25vX3ZhcmlhZGljX21hY3JvcyIgMT4mNgorICAgICAgICAgX1dBUk5JTkdTX0NYWEZMQUdTPSIke19XQVJOSU5HU19DWFhGTEFHU30gLVduby1jKysweC1leHRlbnNpb25zIgorICAgICAgICAgCisgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciBzdXBwb3J0cyAtV25vLWV4dGVuZGVkLW9mZnNldG9mIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6NjkyMjogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIC1Xbm8tZXh0ZW5kZWQtb2Zmc2V0b2YiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo2OTI2OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgc3VwcG9ydHMgLVduby1leHRlbmRlZC1vZmZzZXRvZiIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N4eF9oYXNfd25vX2V4dGVuZGVkX29mZnNldG9mJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorQEAgLTY5MzQsMTQgKzY5MzgsMTQgQEAgY3Jvc3NfY29tcGlsaW5nPSRhY19jdl9wcm9nX2N4eF9jcm9zcworICAgICAgICAgICAgIF9TQVZFX0NYWEZMQUdTPSIkQ1hYRkxBR1MiCisgICAgICAgICAgICAgQ1hYRkxBR1M9IiRDWFhGTEFHUyAtV2Vycm9yIC1XZXh0ZW5kZWQtb2Zmc2V0b2YiCisgICAgICAgICAgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDY5MzggImNvbmZpZ3VyZSIKKysjbGluZSA2OTQyICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgaW50IG1haW4oKSB7CisgcmV0dXJuKDApOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjY5NDU6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjY5NDk6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N4eF9oYXNfd25vX2V4dGVuZGVkX29mZnNldG9mPSJ5ZXMiCisgZWxzZQorQEAgLTY5NzksNyArNjk4Myw3IEBAIE1LU0hMSUJfVU5GT1JDRV9BTEw9CisgaWYgdGVzdCAiJENPTVBJTEVfRU5WSVJPTk1FTlQiOyB0aGVuCisgaWYgdGVzdCAiJEdOVV9DQyI7IHRoZW4KKyAgIGVjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgbGQgaGFzIGFyY2hpdmUgZXh0cmFjdGlvbiBmbGFncyIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjY5ODM6IGNoZWNraW5nIHdoZXRoZXIgbGQgaGFzIGFyY2hpdmUgZXh0cmFjdGlvbiBmbGFncyIgPiY1CisrZWNobyAiY29uZmlndXJlOjY5ODc6IGNoZWNraW5nIHdoZXRoZXIgbGQgaGFzIGFyY2hpdmUgZXh0cmFjdGlvbiBmbGFncyIgPiY1CisgICBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfbWtzaGxpYl9mb3JjZV9hbmRfdW5mb3JjZScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKK0BAIC02OTk2LDE0ICs3MDAwLDE0IEBAIExPT1BfSU5QVVQKKyAgICAgICBMREZMQUdTPSRmb3JjZQorICAgICAgIExJQlM9JHVuZm9yY2UKKyAgICAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgNzAwMCAiY29uZmlndXJlIgorKyNsaW5lIDcwMDQgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyBpbnQgbWFpbigpIHsKKyAKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo3MDA3OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjcwMTE6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY3ZfbWtzaGxpYl9mb3JjZV9hbmRfdW5mb3JjZT0kbGluZTsgYnJlYWsKKyBlbHNlCitAQCAtNzAzOCwxNiArNzA0MiwxNiBAQCBhY19saW5rPScke0NDLWNjfSAtbyBjb25mdGVzdCR7YWNfZXhlZXh0fSAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYQorIGNyb3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jY19jcm9zcworIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciA2NC1iaXQgT1MiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo3MDQyOiBjaGVja2luZyBmb3IgNjQtYml0IE9TIiA+JjUKKytlY2hvICJjb25maWd1cmU6NzA0NjogY2hlY2tpbmcgZm9yIDY0LWJpdCBPUyIgPiY1CisgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDcwNDQgImNvbmZpZ3VyZSIKKysjbGluZSA3MDQ4ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgJGNvbmZpZ3VyZV9zdGF0aWNfYXNzZXJ0X21hY3JvcworIGludCBtYWluKCkgeworIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUKHNpemVvZih2b2lkKikgPT0gOCkKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo3MDUxOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo3MDU1OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICByZXN1bHQ9InllcyIKKyBlbHNlCitAQCAtNzE3MCw3ICs3MTc0LDcgQEAgY2FzZSAiJGhvc3QiIGluCisgZXNhYworIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBQeXRob24gdmVyc2lvbiA+PSAkUFlUSE9OX1ZFUlNJT04gYnV0IG5vdCAzLngiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo3MTc0OiBjaGVja2luZyBmb3IgUHl0aG9uIHZlcnNpb24gPj0gJFBZVEhPTl9WRVJTSU9OIGJ1dCBub3QgMy54IiA+JjUKKytlY2hvICJjb25maWd1cmU6NzE3ODogY2hlY2tpbmcgZm9yIFB5dGhvbiB2ZXJzaW9uID49ICRQWVRIT05fVkVSU0lPTiBidXQgbm90IDMueCIgPiY1CisgCisgJFBZVEhPTiAtYyAiaW1wb3J0IHN5czsgc3lzLmV4aXQoc3lzLnZlcnNpb25bOjNdIDwgc3lzLmFyZ3ZbMV0gb3Igc3lzLnZlcnNpb25bOjJdICE9ICcyLicpIiAkUFlUSE9OX1ZFUlNJT04KKyBfcHl0aG9uX3Jlcz0kPworQEAgLTcxODEsNyArNzE4NSw3IEBAIGZpCisgZWNobyAiJGFjX3QiInllcyIgMT4mNgorIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBjdXN0b20gPHN0ZGludC5oPiBpbXBsZW1lbnRhdGlvbiIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjcxODU6IGNoZWNraW5nIGZvciBjdXN0b20gPHN0ZGludC5oPiBpbXBsZW1lbnRhdGlvbiIgPiY1CisrZWNobyAiY29uZmlndXJlOjcxODk6IGNoZWNraW5nIGZvciBjdXN0b20gPHN0ZGludC5oPiBpbXBsZW1lbnRhdGlvbiIgPiY1CisgaWYgdGVzdCAiJE1PWl9DVVNUT01fU1RESU5UX0giOyB0aGVuCisgICBjYXQgPj4gY29uZmRlZnMucHl0bXAgPDxFT0YKKyAgICAgICAgICgnJycgTU9aX0NVU1RPTV9TVERJTlRfSCAnJycsIHInJycgIiRNT1pfQ1VTVE9NX1NURElOVF9IIiAnJycpCitAQCAtNzI0OSw5ICs3MjUzLDkgQEAgYWNfbGluaz0nJHtDWFgtZysrfSAtbyBjb25mdGVzdCR7YWNfZXhlZXh0fSAkQ1hYRkxBR1MgJENQUEZMQUdTICRMREZMQUdTIGNvbmZ0ZXMKKyBjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY3h4X2Nyb3NzCisgCisgICAgICAgICAgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIElCTSBYTEMvQysrIGNvbXBpbGVyIHZlcnNpb24gPj0gOS4wLjAuNyIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjcyNTM6IGNoZWNraW5nIGZvciBJQk0gWExDL0MrKyBjb21waWxlciB2ZXJzaW9uID49IDkuMC4wLjciID4mNQorK2VjaG8gImNvbmZpZ3VyZTo3MjU3OiBjaGVja2luZyBmb3IgSUJNIFhMQy9DKysgY29tcGlsZXIgdmVyc2lvbiA+PSA5LjAuMC43IiA+JjUKKyAgICAgICAgICAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgNzI1NSAiY29uZmlndXJlIgorKyNsaW5lIDcyNTkgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyBpbnQgbWFpbigpIHsKK0BAIC03MjYwLDcgKzcyNjQsNyBAQCBpbnQgbWFpbigpIHsKKyAgICAgICAgICAgICAgICAgICNlbmRpZgorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjcyNjQ6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjcyNjg6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIF9CQURfQ09NUElMRVI9CisgZWxzZQorQEAgLTcyOTgsMTIgKzczMDIsMTIgQEAgY3Jvc3NfY29tcGlsaW5nPSRhY19jdl9wcm9nX2NjX2Nyb3NzCisgICBkbworICAgICAgICBhY19zYWZlPWBlY2hvICIkYWNfaGRyIiB8IHNlZCAneSUuLystJV9fcF8lJ2AKKyAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfaGRyIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6NzMwMjogY2hlY2tpbmcgZm9yICRhY19oZHIiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo3MzA2OiBjaGVja2luZyBmb3IgJGFjX2hkciIgPiY1CisgICBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGVhZGVyXyRhY19zYWZlJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA3MzA3ICJjb25maWd1cmUiCisrI2xpbmUgNzMxMSAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorICNpbmNsdWRlIDwkYWNfaGRyPgorQEAgLTczMTEsNyArNzMxNSw3IEBAIGludCBtYWluKCkgeworIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjczMTU6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjczMTk6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGV2YWwgImFjX2N2X2hlYWRlcl8kYWNfc2FmZT15ZXMiCisgZWxzZQorQEAgLTczOTQsMTcgKzczOTgsMTcgQEAgRU9GCisgICAgICMgYnVpbGRzLgorICAgICBfU0FWRV9MREZMQUdTPSRMREZMQUdTCisgICAgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgLWZyYW1ld29yayBFeGNlcHRpb25IYW5kbGluZyIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjczOTg6IGNoZWNraW5nIGZvciAtZnJhbWV3b3JrIEV4Y2VwdGlvbkhhbmRsaW5nIiA+JjUKKytlY2hvICJjb25maWd1cmU6NzQwMjogY2hlY2tpbmcgZm9yIC1mcmFtZXdvcmsgRXhjZXB0aW9uSGFuZGxpbmciID4mNQorICAgICBMREZMQUdTPSIkTERGTEFHUyAtZnJhbWV3b3JrIEV4Y2VwdGlvbkhhbmRsaW5nIgorICAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgNzQwMSAiY29uZmlndXJlIgorKyNsaW5lIDc0MDUgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyBpbnQgbWFpbigpIHsKKyByZXR1cm4gMDsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo3NDA4OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjc0MTI6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY3ZfaGF2ZV9mcmFtZXdvcmtfZXhjZXB0aW9uaGFuZGxpbmc9InllcyIKKyBlbHNlCitAQCAtNzQyNiwxOCArNzQzMCwxOCBAQCBybSAtZiBjb25mdGVzdCoKKyAgICAgICAgIGVjaG8gIlNraXBwaW5nIC1kZWFkX3N0cmlwIGJlY2F1c2UgRFRyYWNlIGlzIGVuYWJsZWQuIFNlZSBidWcgNDAzMTMyLiIKKyAgICAgZWxzZQorICAgICAgICAgICAgICAgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgLWRlYWRfc3RyaXAgb3B0aW9uIHRvIGxkIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6NzQzMDogY2hlY2tpbmcgZm9yIC1kZWFkX3N0cmlwIG9wdGlvbiB0byBsZCIgPiY1CisrZWNobyAiY29uZmlndXJlOjc0MzQ6IGNoZWNraW5nIGZvciAtZGVhZF9zdHJpcCBvcHRpb24gdG8gbGQiID4mNQorICAgICAgICAgX1NBVkVfTERGTEFHUz0kTERGTEFHUworICAgICAgICAgTERGTEFHUz0iJExERkxBR1MgLVdsLC1kZWFkX3N0cmlwIgorICAgICAgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDc0MzQgImNvbmZpZ3VyZSIKKysjbGluZSA3NDM4ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgaW50IG1haW4oKSB7CisgcmV0dXJuIDA7CisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NzQ0MTogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo3NDQ1OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIF9IQVZFX0RFQURfU1RSSVA9MQorIGVsc2UKK0BAIC03NzgzLDEyICs3Nzg3LDEyIEBAIEVPRgorICAgZG8KKyAgICAgICAgYWNfc2FmZT1gZWNobyAiJGFjX2hkciIgfCBzZWQgJ3klLi8rLSVfX3BfJSdgCisgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX2hkciIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjc3ODc6IGNoZWNraW5nIGZvciAkYWNfaGRyIiA+JjUKKytlY2hvICJjb25maWd1cmU6Nzc5MTogY2hlY2tpbmcgZm9yICRhY19oZHIiID4mNQorICAgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hlYWRlcl8kYWNfc2FmZScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgNzc5MiAiY29uZmlndXJlIgorKyNsaW5lIDc3OTYgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyAjaW5jbHVkZSA8JGFjX2hkcj4KK0BAIC03Nzk2LDcgKzc4MDAsNyBAQCBpbnQgbWFpbigpIHsKKyAKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo3ODAwOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo3ODA0OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBldmFsICJhY19jdl9oZWFkZXJfJGFjX3NhZmU9eWVzIgorIGVsc2UKK0BAIC03OTg5LDE5ICs3OTkzLDE5IEBAIEVPRgorICAgICBfREVGSU5FU19DWFhGTEFHUz0iJF9ERUZJTkVTX0NYWEZMQUdTIC1VdW5peCAtVV9fdW5peCAtVV9fdW5peF9fIgorIAorICAgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgX19kZWNsc3BlYyhkbGxleHBvcnQpIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6Nzk5MzogY2hlY2tpbmcgZm9yIF9fZGVjbHNwZWMoZGxsZXhwb3J0KSIgPiY1CisrZWNobyAiY29uZmlndXJlOjc5OTc6IGNoZWNraW5nIGZvciBfX2RlY2xzcGVjKGRsbGV4cG9ydCkiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19vczJfZGVjbHNwZWMnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgNzk5OCAiY29uZmlndXJlIgorKyNsaW5lIDgwMDIgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyBfX2RlY2xzcGVjKGRsbGV4cG9ydCkgdm9pZCBhY19vczJfZGVjbHNwZWModm9pZCkge30KKyBpbnQgbWFpbigpIHsKKyByZXR1cm4gMDsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4MDA1OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4MDA5OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBhY19vczJfZGVjbHNwZWM9InllcyIKKyBlbHNlCitAQCAtODA1NCwxNCArODA1OCwxNCBAQCBFT0YKKyAgICAgICAgICAgIF9TQVZFX0xERkxBR1M9JExERkxBR1MKKyAgICAgICAgICAgIExERkxBR1M9Ii1NIC91c3IvbGliL2xkL21hcC5ub2V4c3RrICRMREZMQUdTIgorICAgICAgICAgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDgwNTggImNvbmZpZ3VyZSIKKysjbGluZSA4MDYyICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgaW50IG1haW4oKSB7CisgcHJpbnRmKCJIZWxsbyBXb3JsZFxuIik7CisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6ODA2NTogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4MDY5OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAgIDoKKyBlbHNlCisgICBlY2hvICJjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorQEAgLTgwODksNyArODA5Myw3IEBAIHJtIC1mIGNvbmZ0ZXN0KgorICAgICAgICBDQ19WRVJTSU9OPWAkQ0MgLVYgMj4mMSB8IGdyZXAgJ15jYzonIDI+L2Rldi9udWxsIHwgJEFXSyAtRlw6ICd7IHByaW50ICQyIH0nYAorICAgICAgICBDWFhfVkVSU0lPTj1gJENYWCAtViAyPiYxIHwgZ3JlcCAnXkNDOicgMj4vZGV2L251bGwgfCAkQVdLIC1GXDogJ3sgcHJpbnQgJDIgfSdgCisgICAgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBTdW4gQysrIGNvbXBpbGVyIHZlcnNpb24gPj0gNS45IiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6ODA5MzogY2hlY2tpbmcgZm9yIFN1biBDKysgY29tcGlsZXIgdmVyc2lvbiA+PSA1LjkiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo4MDk3OiBjaGVja2luZyBmb3IgU3VuIEMrKyBjb21waWxlciB2ZXJzaW9uID49IDUuOSIgPiY1CisgICAgICAgIAorICAgICAgICBhY19leHQ9QworICMgQ1hYRkxBR1MgaXMgbm90IGluIGFjX2NwcCBiZWNhdXNlIC1nLCAtTywgZXRjLiBhcmUgbm90IHZhbGlkIGNwcCBvcHRpb25zLgorQEAgLTgwOTksNyArODEwMyw3IEBAIGFjX2xpbms9JyR7Q1hYLWcrK30gLW8gY29uZnRlc3Qke2FjX2V4ZWV4dH0gJENYWEZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzCisgY3Jvc3NfY29tcGlsaW5nPSRhY19jdl9wcm9nX2N4eF9jcm9zcworIAorICAgICAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgODEwMyAiY29uZmlndXJlIgorKyNsaW5lIDgxMDcgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyBpbnQgbWFpbigpIHsKK0BAIC04MTA4LDcgKzgxMTIsNyBAQCBpbnQgbWFpbigpIHsKKyAgICAgICAgICAgICNlbmRpZgorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjgxMTI6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjgxMTY6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIF9CQURfQ09NUElMRVI9CisgZWxzZQorQEAgLTgxMjUsNyArODEyOSw3IEBAIHJtIC1mIGNvbmZ0ZXN0KgorICAgICAgICAgICAgX3Jlcz0ieWVzIgorICAgICAgICBmaQorICAgICAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgODEyOSAiY29uZmlndXJlIgorKyNsaW5lIDgxMzMgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyBpbnQgbWFpbigpIHsKK0BAIC04MTM0LDcgKzgxMzgsNyBAQCBpbnQgbWFpbigpIHsKKyAgICAgICAgICAgICNlbmRpZgorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjgxMzg6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjgxNDI6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIF9BQk9WRV9TUzEyVTE9CisgZWxzZQorQEAgLTg1MzUsNyArODUzOSw3IEBAIGZpCisgCisgaWYgdGVzdCAiJEdOVV9DQyIgLWEgIiRHQ0NfVVNFX0dOVV9MRCIgLWEgLXogIiRNT1pfRElTQUJMRV9JQ0YiOyB0aGVuCisgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIGxpbmtlciBzdXBwb3J0cyBJZGVudGljYWwgQ29kZSBGb2xkaW5nIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6ODUzOTogY2hlY2tpbmcgd2hldGhlciB0aGUgbGlua2VyIHN1cHBvcnRzIElkZW50aWNhbCBDb2RlIEZvbGRpbmciID4mNQorK2VjaG8gImNvbmZpZ3VyZTo4NTQzOiBjaGVja2luZyB3aGV0aGVyIHRoZSBsaW5rZXIgc3VwcG9ydHMgSWRlbnRpY2FsIENvZGUgRm9sZGluZyIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J0xEX1NVUFBPUlRTX0lDRicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKK0BAIC04NTQ0LDcgKzg1NDgsNyBAQCBlbHNlCisgICAgICAgICAgICAgICAnaW50IG1haW4oKSB7cmV0dXJuIGZvbygpIC0gYmFyKCk7fScgPiBjb25mdGVzdC4ke2FjX2V4dH0KKyAgICAgICAgICMgSWYgdGhlIGxpbmtlciBzdXBwb3J0cyBJQ0YsIGZvbyBhbmQgYmFyIHN5bWJvbHMgd2lsbCBoYXZlCisgICAgICAgICAjIHRoZSBzYW1lIGFkZHJlc3MKKy0gICAgICAgIGlmIHsgYWNfdHJ5PScke0NDLWNjfSAtbyBjb25mdGVzdCR7YWNfZXhlZXh0fSAkTERGTEFHUyAtV2wsLS1pY2Y9c2FmZSAtZmZ1bmN0aW9uLXNlY3Rpb25zIGNvbmZ0ZXN0LiR7YWNfZXh0fSAkTElCUyAxPiYyJzsgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4NTQ4OiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfTsgfSAmJgorKyAgICAgICAgaWYgeyBhY190cnk9JyR7Q0MtY2N9IC1vIGNvbmZ0ZXN0JHthY19leGVleHR9ICRMREZMQUdTIC1XbCwtLWljZj1zYWZlIC1mZnVuY3Rpb24tc2VjdGlvbnMgY29uZnRlc3QuJHthY19leHR9ICRMSUJTIDE+JjInOyB7IChldmFsIGVjaG8gY29uZmlndXJlOjg1NTI6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9OyB9ICYmCisgICAgICAgICAgICB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9ICYmCisgICAgICAgICAgICBvYmpkdW1wIC10IGNvbmZ0ZXN0JHthY19leGVleHR9IHwgYXdrICd7YVskNl0gPSAkMX0gRU5EIHtpZiAoYVsiZm9vIl0gJiYgKGFbImZvbyJdICE9IGFbImJhciJdKSkgeyBleGl0IDEgfX0nOyB0aGVuCisgICAgICAgICAgICAgTERfU1VQUE9SVFNfSUNGPXllcworQEAgLTg1NTksMTQgKzg1NjMsMTQgQEAgZWNobyAiJGFjX3QiIiRMRF9TVVBQT1JUU19JQ0YiIDE+JjYKKyAgICAgICAgIF9TQVZFX0xERkxBR1M9IiRMREZMQUdTIC1XbCwtLWljZj1zYWZlIgorICAgICAgICAgTERGTEFHUz0iJExERkxBR1MgLVdsLC0taWNmPXNhZmUgLVdsLC0tcHJpbnQtaWNmLXNlY3Rpb25zIgorICAgICAgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDg1NjMgImNvbmZpZ3VyZSIKKysjbGluZSA4NTY3ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgaW50IG1haW4oKSB7CisgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6ODU3MDogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4NTc0OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIExEX1BSSU5UX0lDRl9TRUNUSU9OUz0tV2wsLS1wcmludC1pY2Ytc2VjdGlvbnMKKyBlbHNlCitAQCAtODU4NCwxNSArODU4OCwxNSBAQCBmaQorIAorIGlmIHRlc3QgIiRHTlVfQ0MiIC1hICIkR0NDX1VTRV9HTlVfTEQiIC1hIC1uICIkTU9aX0RFQlVHX0ZMQUdTIjsgdGhlbgorICAgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgcmVtb3ZpbmcgZGVhZCBzeW1ib2xzIGJyZWFrcyBkZWJ1Z2dpbmciIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo4NTg4OiBjaGVja2luZyB3aGV0aGVyIHJlbW92aW5nIGRlYWQgc3ltYm9scyBicmVha3MgZGVidWdnaW5nIiA+JjUKKytlY2hvICJjb25maWd1cmU6ODU5MjogY2hlY2tpbmcgd2hldGhlciByZW1vdmluZyBkZWFkIHN5bWJvbHMgYnJlYWtzIGRlYnVnZ2luZyIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J0dDX1NFQ1RJT05TX0JSRUFLU19ERUJVR19SQU5HRVMnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBlY2hvICdpbnQgZm9vKCkge3JldHVybiA0Mjt9JyBcCisgICAgICAgICAgICAgICdpbnQgYmFyKCkge3JldHVybiAxO30nIFwKKyAgICAgICAgICAgICAgJ2ludCBtYWluKCkge3JldHVybiBmb28oKTt9JyA+IGNvbmZ0ZXN0LiR7YWNfZXh0fQorLSAgICAgICAgaWYgeyBhY190cnk9JyR7Q0MtY2N9IC1vIGNvbmZ0ZXN0LiR7YWNfb2JqZXh0fSAkQ0ZMQUdTICRNT1pfREVCVUdfRkxBR1MgLWMgY29uZnRlc3QuJHthY19leHR9IDE+JjInOyB7IChldmFsIGVjaG8gY29uZmlndXJlOjg1OTU6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9OyB9ICYmCistICAgICAgICAgICB7IGFjX3RyeT0nJHtDQy1jY30gLW8gY29uZnRlc3Qke2FjX2V4ZWV4dH0gJExERkxBR1MgJE1PWl9ERUJVR19GTEFHUyAtV2wsLS1nYy1zZWN0aW9ucyBjb25mdGVzdC4ke2FjX29iamV4dH0gJExJQlMgMT4mMic7IHsgKGV2YWwgZWNobyBjb25maWd1cmU6ODU5NjogXCIkYWNfdHJ5XCIpIDE+JjU7IChldmFsICRhY190cnkpIDI+JjU7IH07IH0gJiYKKysgICAgICAgIGlmIHsgYWNfdHJ5PScke0NDLWNjfSAtbyBjb25mdGVzdC4ke2FjX29iamV4dH0gJENGTEFHUyAkTU9aX0RFQlVHX0ZMQUdTIC1jIGNvbmZ0ZXN0LiR7YWNfZXh0fSAxPiYyJzsgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4NTk5OiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfTsgfSAmJgorKyAgICAgICAgICAgeyBhY190cnk9JyR7Q0MtY2N9IC1vIGNvbmZ0ZXN0JHthY19leGVleHR9ICRMREZMQUdTICRNT1pfREVCVUdfRkxBR1MgLVdsLC0tZ2Mtc2VjdGlvbnMgY29uZnRlc3QuJHthY19vYmpleHR9ICRMSUJTIDE+JjInOyB7IChldmFsIGVjaG8gY29uZmlndXJlOjg2MDA6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9OyB9ICYmCisgICAgICAgICAgICB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9IC1hIC1zIGNvbmZ0ZXN0LiR7YWNfb2JqZXh0fTsgdGhlbgorICAgICAgICAgICAgIGlmIHRlc3QgImAkUFlUSE9OICIkX3RvcHNyY2RpciIvYnVpbGQvYXV0b2NvbmYvY2hlY2tfZGVidWdfcmFuZ2VzLnB5IGNvbmZ0ZXN0LiR7YWNfb2JqZXh0fSBjb25mdGVzdC4ke2FjX2V4dH1gIiA9IFwKKyAgICAgICAgICAgICAgICAgICAgICJgJFBZVEhPTiAiJF90b3BzcmNkaXIiL2J1aWxkL2F1dG9jb25mL2NoZWNrX2RlYnVnX3Jhbmdlcy5weSBjb25mdGVzdCR7YWNfZXhlZXh0fSBjb25mdGVzdC4ke2FjX2V4dH1gIjsgdGhlbgorQEAgLTg2MTUsMTIgKzg2MTksMTIgQEAgZmkKKyAKKyBpZiB0ZXN0IC16ICIkU0tJUF9DT01QSUxFUl9DSEVDS1MiOyB0aGVuCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIEFOU0kgQyBoZWFkZXIgZmlsZXMiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo4NjE5OiBjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRlciBmaWxlcyIgPiY1CisrZWNobyAiY29uZmlndXJlOjg2MjM6IGNoZWNraW5nIGZvciBBTlNJIEMgaGVhZGVyIGZpbGVzIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGVhZGVyX3N0ZGMnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgODYyNCAiY29uZmlndXJlIgorKyNsaW5lIDg2MjggImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjaW5jbHVkZSA8c3RkbGliLmg+CisgI2luY2x1ZGUgPHN0ZGFyZy5oPgorQEAgLTg2MjgsNyArODYzMiw3IEBAIGVsc2UKKyAjaW5jbHVkZSA8ZmxvYXQuaD4KKyBFT0YKKyBhY190cnk9IiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0IgorLXsgKGV2YWwgZWNobyBjb25maWd1cmU6ODYzMjogXCIkYWNfdHJ5XCIpIDE+JjU7IChldmFsICRhY190cnkpIDI+JjU7IH0KKyt7IChldmFsIGVjaG8gY29uZmlndXJlOjg2MzY6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9CisgYWNfZXJyPWBncmVwIC12ICdeICorJyBjb25mdGVzdC5vdXQgfCBncmVwIC12ICJeY29uZnRlc3QuJHthY19leHR9XCQiYAorIGlmIHRlc3QgLXogIiRhY19lcnIiOyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCitAQCAtODY0NSw3ICs4NjQ5LDcgQEAgcm0gLWYgY29uZnRlc3QqCisgaWYgdGVzdCAkYWNfY3ZfaGVhZGVyX3N0ZGMgPSB5ZXM7IHRoZW4KKyAgICMgU3VuT1MgNC54IHN0cmluZy5oIGRvZXMgbm90IGRlY2xhcmUgbWVtKiwgY29udHJhcnkgdG8gQU5TSS4KKyBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgODY0OSAiY29uZmlndXJlIgorKyNsaW5lIDg2NTMgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjaW5jbHVkZSA8c3RyaW5nLmg+CisgRU9GCitAQCAtODY2Myw3ICs4NjY3LDcgQEAgZmkKKyBpZiB0ZXN0ICRhY19jdl9oZWFkZXJfc3RkYyA9IHllczsgdGhlbgorICAgIyBJU0MgMi4wLjIgc3RkbGliLmggZG9lcyBub3QgZGVjbGFyZSBmcmVlLCBjb250cmFyeSB0byBBTlNJLgorIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA4NjY3ICJjb25maWd1cmUiCisrI2xpbmUgODY3MSAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICNpbmNsdWRlIDxzdGRsaWIuaD4KKyBFT0YKK0BAIC04Njg0LDcgKzg2ODgsNyBAQCBpZiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiA9IHllczsgdGhlbgorICAgOgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA4Njg4ICJjb25maWd1cmUiCisrI2xpbmUgODY5MiAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICNpbmNsdWRlIDxjdHlwZS5oPgorICNkZWZpbmUgSVNMT1dFUihjKSAoJ2EnIDw9IChjKSAmJiAoYykgPD0gJ3onKQorQEAgLTg2OTUsNyArODY5OSw3IEBAIGlmIChYT1IgKGlzbG93ZXIgKGkpLCBJU0xPV0VSIChpKSkgfHwgdG91cHBlciAoaSkgIT0gVE9VUFBFUiAoaSkpIGV4aXQoMik7CisgZXhpdCAoMCk7IH0KKyAKKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjg2OTk6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fSAmJiAoLi9jb25mdGVzdDsgZXhpdCkgMj4vZGV2L251bGwKKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjg3MDM6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fSAmJiAoLi9jb25mdGVzdDsgZXhpdCkgMj4vZGV2L251bGwKKyB0aGVuCisgICA6CisgZWxzZQorQEAgLTg3MjIsMTIgKzg3MjYsMTIgQEAgRU9GCisgZmkKKyAKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3Igd29ya2luZyBjb25zdCIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjg3MjY6IGNoZWNraW5nIGZvciB3b3JraW5nIGNvbnN0IiA+JjUKKytlY2hvICJjb25maWd1cmU6ODczMDogY2hlY2tpbmcgZm9yIHdvcmtpbmcgY29uc3QiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9jX2NvbnN0JytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDg3MzEgImNvbmZpZ3VyZSIKKysjbGluZSA4NzM1ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgaW50IG1haW4oKSB7CitAQCAtODc3Niw3ICs4NzgwLDcgQEAgY2NwID0gKGNoYXIgY29uc3QgKmNvbnN0ICopIHA7CisgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6ODc4MDogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6ODc4NDogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY3ZfY19jb25zdD15ZXMKKyBlbHNlCitAQCAtODgwMCwxMiArODgwNCwxMiBAQCBFT0YKKyBmaQorIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBtb2RlX3QiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo4ODA0OiBjaGVja2luZyBmb3IgbW9kZV90IiA+JjUKKytlY2hvICJjb25maWd1cmU6ODgwODogY2hlY2tpbmcgZm9yIG1vZGVfdCIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3R5cGVfbW9kZV90JytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDg4MDkgImNvbmZpZ3VyZSIKKysjbGluZSA4ODEzICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorICNpZiBTVERDX0hFQURFUlMKK0BAIC04ODM2LDEyICs4ODQwLDEyIEBAIEVPRgorIGZpCisgCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIG9mZl90IiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6ODg0MDogY2hlY2tpbmcgZm9yIG9mZl90IiA+JjUKKytlY2hvICJjb25maWd1cmU6ODg0NDogY2hlY2tpbmcgZm9yIG9mZl90IiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfdHlwZV9vZmZfdCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA4ODQ1ICJjb25maWd1cmUiCisrI2xpbmUgODg0OSAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaWYgU1REQ19IRUFERVJTCitAQCAtODg3MiwxMiArODg3NiwxMiBAQCBFT0YKKyBmaQorIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBwaWRfdCIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjg4NzY6IGNoZWNraW5nIGZvciBwaWRfdCIgPiY1CisrZWNobyAiY29uZmlndXJlOjg4ODA6IGNoZWNraW5nIGZvciBwaWRfdCIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3R5cGVfcGlkX3QnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgODg4MSAiY29uZmlndXJlIgorKyNsaW5lIDg4ODUgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgI2lmIFNURENfSEVBREVSUworQEAgLTg5MDgsMTIgKzg5MTIsMTIgQEAgRU9GCisgZmkKKyAKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3Igc2l6ZV90IiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6ODkxMjogY2hlY2tpbmcgZm9yIHNpemVfdCIgPiY1CisrZWNobyAiY29uZmlndXJlOjg5MTY6IGNoZWNraW5nIGZvciBzaXplX3QiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl90eXBlX3NpemVfdCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA4OTE3ICJjb25maWd1cmUiCisrI2xpbmUgODkyMSAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaWYgU1REQ19IRUFERVJTCitAQCAtODk1MSwxMiArODk1NSwxMiBAQCBhY19saW5rPScke0NYWC1nKyt9IC1vIGNvbmZ0ZXN0JHthY19leGVleHR9ICRDWFhGTEFHUyAkQ1BQRkxBR1MgJExERkxBR1MgY29uZnRlcworIGNyb3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jeHhfY3Jvc3MKKyAKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgX19zdGRjYWxsIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6ODk1NTogY2hlY2tpbmcgZm9yIF9fc3RkY2FsbCIgPiY1CisrZWNobyAiY29uZmlndXJlOjg5NTk6IGNoZWNraW5nIGZvciBfX3N0ZGNhbGwiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9fX3N0ZGNhbGwnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgODk2MCAiY29uZmlndXJlIgorKyNsaW5lIDg5NjQgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgTWV0aG9kPiBzdHJ1Y3QgZm9vOworICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlIDw+IHN0cnVjdCBmb288dm9pZCAoKikoKT4ge307CitAQCAtODk2NSw3ICs4OTY5LDcgQEAgaW50IG1haW4oKSB7CisgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6ODk2OTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6ODk3MzogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY3ZfX19zdGRjYWxsPXRydWUKKyBlbHNlCitAQCAtODk5NywxMiArOTAwMSwxMiBAQCBhY19saW5rPScke0NDLWNjfSAtbyBjb25mdGVzdCR7YWNfZXhlZXh0fSAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYQorIGNyb3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jY19jcm9zcworIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBzc2l6ZV90IiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6OTAwMTogY2hlY2tpbmcgZm9yIHNzaXplX3QiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo5MDA1OiBjaGVja2luZyBmb3Igc3NpemVfdCIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3R5cGVfc3NpemVfdCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA5MDA2ICJjb25maWd1cmUiCisrI2xpbmUgOTAxMCAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICNpbmNsdWRlIDxzdGRpby5oPgorICAgICAgICAgICAgICAgICAgICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KK0BAIC05MDEwLDcgKzkwMTQsNyBAQCBpbnQgbWFpbigpIHsKKyBzc2l6ZV90IGZvbyA9IDA7CisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTAxNDogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTAxODogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY3ZfdHlwZV9zc2l6ZV90PXRydWUKKyBlbHNlCitAQCAtOTAzNSwxMiArOTAzOSwxMiBAQCBlbHNlCisgICBlY2hvICIkYWNfdCIibm8iIDE+JjYKKyBmaQorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBzdF9ibGtzaXplIGluIHN0cnVjdCBzdGF0IiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6OTAzOTogY2hlY2tpbmcgZm9yIHN0X2Jsa3NpemUgaW4gc3RydWN0IHN0YXQiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo5MDQzOiBjaGVja2luZyBmb3Igc3RfYmxrc2l6ZSBpbiBzdHJ1Y3Qgc3RhdCIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3N0cnVjdF9zdF9ibGtzaXplJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDkwNDQgImNvbmZpZ3VyZSIKKysjbGluZSA5MDQ4ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorICNpbmNsdWRlIDxzeXMvc3RhdC5oPgorQEAgLTkwNDgsNyArOTA1Miw3IEBAIGludCBtYWluKCkgeworIHN0cnVjdCBzdGF0IHM7IHMuc3RfYmxrc2l6ZTsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo5MDUyOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo5MDU2OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBhY19jdl9zdHJ1Y3Rfc3RfYmxrc2l6ZT15ZXMKKyBlbHNlCitAQCAtOTA3MiwxMiArOTA3NiwxMiBAQCBFT0YKKyBmaQorIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBzaWdpbmZvX3QiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo5MDc2OiBjaGVja2luZyBmb3Igc2lnaW5mb190IiA+JjUKKytlY2hvICJjb25maWd1cmU6OTA4MDogY2hlY2tpbmcgZm9yIHNpZ2luZm9fdCIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3NpZ2luZm9fdCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA5MDgxICJjb25maWd1cmUiCisrI2xpbmUgOTA4NSAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICNkZWZpbmUgX1BPU0lYX0NfU09VUkNFIDE5OTUwNkwKKyAgICAgICAgICAgICAgICAgICAjaW5jbHVkZSA8c2lnbmFsLmg+CitAQCAtOTA4NSw3ICs5MDg5LDcgQEAgaW50IG1haW4oKSB7Cisgc2lnaW5mb190KiBpbmZvOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjkwODk6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjkwOTM6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X3NpZ2luZm9fdD10cnVlCisgZWxzZQorQEAgLTkxMTEsNzIgKzkxMTUsOCBAQCBlbHNlCisgZmkKKyAKKyAKKy1lY2hvICRhY19uICJjaGVja2luZyBmb3IgdGhlIHNpemUgb2Ygdm9pZCoiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo5MTE2OiBjaGVja2luZyBmb3IgdGhlIHNpemUgb2Ygdm9pZCoiID4mNQorLWlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydtb3pfY3Zfc2l6ZV9vZl9KU19CWVRFU19QRVJfV09SRCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCistICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorLWVsc2UKKy0gIAorLSAgbW96X2N2X3NpemVfb2ZfSlNfQllURVNfUEVSX1dPUkQ9CistICBmb3Igc2l6ZSBpbiA0IDg7IGRvCistICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA5MTI0ICJjb25maWd1cmUiCistI2luY2x1ZGUgImNvbmZkZWZzLmgiCistCistaW50IG1haW4oKSB7CistCistICAgICAgICAgICAgICAgICAgICAgaW50IGFbc2l6ZW9mICh2b2lkKikgPT0gJHNpemUgPyAxIDogLTFdOworLSAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOworLSAgICAgICAgICAgICAgICAgICAKKy07IHJldHVybiAwOyB9CistRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo5MTM0OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCistICBybSAtcmYgY29uZnRlc3QqCistICBtb3pfY3Zfc2l6ZV9vZl9KU19CWVRFU19QRVJfV09SRD0kc2l6ZTsgYnJlYWsKKy1lbHNlCistICBlY2hvICJjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLSAgY2F0IGNvbmZ0ZXN0LiRhY19leHQgPiY1CistZmkKKy1ybSAtZiBjb25mdGVzdCoKKy0gIGRvbmUKKy0gIGlmIHRlc3QgISAiJG1vel9jdl9zaXplX29mX0pTX0JZVEVTX1BFUl9XT1JEIjsgdGhlbgorLSAgICB7IGVjaG8gImNvbmZpZ3VyZTogZXJyb3I6IE5vIHNpemUgZm91bmQgZm9yIHZvaWQqIiAxPiYyOyBleGl0IDE7IH0KKy0gIGZpCistCistZmkKKy0KKy1lY2hvICIkYWNfdCIiJG1vel9jdl9zaXplX29mX0pTX0JZVEVTX1BFUl9XT1JEIiAxPiY2CistY2F0ID4+IGNvbmZkZWZzLnB5dG1wIDw8RU9GCistICAgICAgICAoJycnIEpTX0JZVEVTX1BFUl9XT1JEICcnJywgcicnJyAkbW96X2N2X3NpemVfb2ZfSlNfQllURVNfUEVSX1dPUkQgJycnKQorLUVPRgorLWNhdCA+PiBjb25mZGVmcy5oIDw8RU9GCistI2RlZmluZSBKU19CWVRFU19QRVJfV09SRCAkbW96X2N2X3NpemVfb2ZfSlNfQllURVNfUEVSX1dPUkQKKy1FT0YKKy0KKy0KKy1pZiB0ZXN0ICIkbW96X2N2X3NpemVfb2ZfSlNfQllURVNfUEVSX1dPUkQiIC1lcSAiNCI7IHRoZW4KKy0gIGNhdCA+PiBjb25mZGVmcy5weXRtcCA8PFxFT0YKKy0gICAgICAgICgnJycgSlNfQklUU19QRVJfV09SRF9MT0cyICcnJywgcicnJyA1ICcnJykKKy1FT0YKKy1jYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKy0jZGVmaW5lIEpTX0JJVFNfUEVSX1dPUkRfTE9HMiA1CistRU9GCistCistZWxpZiB0ZXN0ICIkbW96X2N2X3NpemVfb2ZfSlNfQllURVNfUEVSX1dPUkQiIC1lcSAiOCI7IHRoZW4KKy0gIGNhdCA+PiBjb25mZGVmcy5weXRtcCA8PFxFT0YKKy0gICAgICAgICgnJycgSlNfQklUU19QRVJfV09SRF9MT0cyICcnJywgcicnJyA2ICcnJykKKy1FT0YKKy1jYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKy0jZGVmaW5lIEpTX0JJVFNfUEVSX1dPUkRfTE9HMiA2CistRU9GCistCistZWxzZQorLSAgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiBVbmV4cGVjdGVkIEpTX0JZVEVTX1BFUl9XT1JEIiAxPiYyOyBleGl0IDE7IH0KKy1maQorLQorLQorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciB0aGUgYWxpZ25tZW50IG9mIHZvaWQqIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6OTE4MDogY2hlY2tpbmcgZm9yIHRoZSBhbGlnbm1lbnQgb2Ygdm9pZCoiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo5MTIwOiBjaGVja2luZyBmb3IgdGhlIGFsaWdubWVudCBvZiB2b2lkKiIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J21vel9jdl9hbGlnbl9vZl9KU19BTElHTl9PRl9QT0lOVEVSJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorQEAgLTkxODQsNyArOTEyNCw3IEBAIGVsc2UKKyAgIG1vel9jdl9hbGlnbl9vZl9KU19BTElHTl9PRl9QT0lOVEVSPQorICAgZm9yIGFsaWduIGluIDIgNCA4IDE2OyBkbworICAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgOTE4OCAiY29uZmlndXJlIgorKyNsaW5lIDkxMjggImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyAgICAgICAgICAgICAgICAgICAgICAjaW5jbHVkZSA8c3RkZGVmLmg+CitAQCAtOTE5Nyw3ICs5MTM3LDcgQEAgaW50IG1haW4oKSB7CisgICAgICAgICAgICAgICAgICAgIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjkyMDE6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjkxNDE6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIG1vel9jdl9hbGlnbl9vZl9KU19BTElHTl9PRl9QT0lOVEVSPSRhbGlnbjsgYnJlYWsKKyBlbHNlCitAQCAtOTIyMyw3ICs5MTYzLDcgQEAgRU9GCisgCisgCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIHRoZSBzaXplIG9mIGRvdWJsZSIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjkyMjc6IGNoZWNraW5nIGZvciB0aGUgc2l6ZSBvZiBkb3VibGUiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo5MTY3OiBjaGVja2luZyBmb3IgdGhlIHNpemUgb2YgZG91YmxlIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snbW96X2N2X3NpemVfb2ZfSlNfQllURVNfUEVSX0RPVUJMRScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKK0BAIC05MjMxLDcgKzkxNzEsNyBAQCBlbHNlCisgICBtb3pfY3Zfc2l6ZV9vZl9KU19CWVRFU19QRVJfRE9VQkxFPQorICAgZm9yIHNpemUgaW4gNiA4IDEwIDEyIDE0OyBkbworICAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgOTIzNSAiY29uZmlndXJlIgorKyNsaW5lIDkxNzUgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyBpbnQgbWFpbigpIHsKK0BAIC05MjQxLDcgKzkxODEsNyBAQCBpbnQgbWFpbigpIHsKKyAgICAgICAgICAgICAgICAgICAgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTI0NTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTE4NTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgbW96X2N2X3NpemVfb2ZfSlNfQllURVNfUEVSX0RPVUJMRT0kc2l6ZTsgYnJlYWsKKyBlbHNlCitAQCAtOTI3MCwxMiArOTIxMCwxMiBAQCBFT0YKKyAgIGRvCisgICAgICAgIGFjX3NhZmU9YGVjaG8gIiRhY19oZHIiIHwgc2VkICd5JS4vKy0lX19wXyUnYAorICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY19oZHIiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo5Mjc0OiBjaGVja2luZyBmb3IgJGFjX2hkciIgPiY1CisrZWNobyAiY29uZmlndXJlOjkyMTQ6IGNoZWNraW5nIGZvciAkYWNfaGRyIiA+JjUKKyAgIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9oZWFkZXJfJGFjX3NhZmUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDkyNzkgImNvbmZpZ3VyZSIKKysjbGluZSA5MjE5ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgI2luY2x1ZGUgPCRhY19oZHI+CitAQCAtOTI4Myw3ICs5MjIzLDcgQEAgaW50IG1haW4oKSB7CisgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTI4NzogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTIyNzogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgZXZhbCAiYWNfY3ZfaGVhZGVyXyRhY19zYWZlPXllcyIKKyBlbHNlCitAQCAtOTMyNiwxMiArOTI2NiwxMiBAQCBmaQorICAgZG8KKyAgICAgICAgYWNfc2FmZT1gZWNobyAiJGFjX2hkciIgfCBzZWQgJ3klLi8rLSVfX3BfJSdgCisgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX2hkciIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjkzMzA6IGNoZWNraW5nIGZvciAkYWNfaGRyIiA+JjUKKytlY2hvICJjb25maWd1cmU6OTI3MDogY2hlY2tpbmcgZm9yICRhY19oZHIiID4mNQorICAgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hlYWRlcl8kYWNfc2FmZScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgOTMzNSAiY29uZmlndXJlIgorKyNsaW5lIDkyNzUgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgI2luY2x1ZGUgPCRhY19oZHI+CitAQCAtOTMzOSw3ICs5Mjc5LDcgQEAgaW50IG1haW4oKSB7CisgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTM0MzogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTI4MzogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgZXZhbCAiYWNfY3ZfaGVhZGVyXyRhY19zYWZlPXllcyIKKyBlbHNlCitAQCAtOTM4MiwxMiArOTMyMiwxMiBAQCBmaQorICAgZG8KKyAgICAgICAgYWNfc2FmZT1gZWNobyAiJGFjX2hkciIgfCBzZWQgJ3klLi8rLSVfX3BfJSdgCisgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX2hkciIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjkzODY6IGNoZWNraW5nIGZvciAkYWNfaGRyIiA+JjUKKytlY2hvICJjb25maWd1cmU6OTMyNjogY2hlY2tpbmcgZm9yICRhY19oZHIiID4mNQorICAgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hlYWRlcl8kYWNfc2FmZScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgOTM5MSAiY29uZmlndXJlIgorKyNsaW5lIDkzMzEgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyAjaW5jbHVkZSA8JGFjX2hkcj4KK0BAIC05Mzk1LDcgKzkzMzUsNyBAQCBpbnQgbWFpbigpIHsKKyAKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo5Mzk5OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo5MzM5OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBldmFsICJhY19jdl9oZWFkZXJfJGFjX3NhZmU9eWVzIgorIGVsc2UKK0BAIC05NDM1LDEyICs5Mzc1LDEyIEBAIEVPRgorIGZpCisgCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIHVpbnQiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo5NDM5OiBjaGVja2luZyBmb3IgdWludCIgPiY1CisrZWNobyAiY29uZmlndXJlOjkzNzk6IGNoZWNraW5nIGZvciB1aW50IiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfdWludCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA5NDQ0ICJjb25maWd1cmUiCisrI2xpbmUgOTM4NCAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICNpbmNsdWRlIDxzdGRpby5oPgorICAgICAgICAgICAgICAgICAgICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KK0BAIC05NDQ4LDcgKzkzODgsNyBAQCBpbnQgbWFpbigpIHsKKyB1aW50IGZvbyA9IDA7CisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTQ1MjogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTM5MjogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY3ZfdWludD10cnVlCisgZWxzZQorQEAgLTk0NzMsMTIgKzk0MTMsMTIgQEAgZWxzZQorICAgZWNobyAiJGFjX3QiIm5vIiAxPiY2CisgZmkKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgdWludF90IiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6OTQ3NzogY2hlY2tpbmcgZm9yIHVpbnRfdCIgPiY1CisrZWNobyAiY29uZmlndXJlOjk0MTc6IGNoZWNraW5nIGZvciB1aW50X3QiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl91aW50X3QnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgOTQ4MiAiY29uZmlndXJlIgorKyNsaW5lIDk0MjIgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAgICAgICAgICAgICAgICAgICAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CitAQCAtOTQ4Niw3ICs5NDI2LDcgQEAgaW50IG1haW4oKSB7CisgdWludF90IGZvbyA9IDA7CisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTQ5MDogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTQzMDogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY3ZfdWludF90PXRydWUKKyBlbHNlCitAQCAtOTUyMCwxMiArOTQ2MCwxMiBAQCBjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY3h4X2Nyb3NzCisgCisgCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIHVuYW1lLmRvbWFpbm5hbWUiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo5NTI0OiBjaGVja2luZyBmb3IgdW5hbWUuZG9tYWlubmFtZSIgPiY1CisrZWNobyAiY29uZmlndXJlOjk0NjQ6IGNoZWNraW5nIGZvciB1bmFtZS5kb21haW5uYW1lIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGF2ZV91bmFtZV9kb21haW5uYW1lX2ZpZWxkJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDk1MjkgImNvbmZpZ3VyZSIKKysjbGluZSA5NDY5ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CisgaW50IG1haW4oKSB7CitAQCAtOTUzMyw3ICs5NDczLDcgQEAgaW50IG1haW4oKSB7CisgICAgICAgICAgICAgKHZvaWQpdW5hbWUocmVzKTsgIGlmIChyZXMgIT0gMCkgeyBkb21haW4gPSByZXMtPmRvbWFpbm5hbWU7IH0gCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTUzNzogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTQ3NzogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY3ZfaGF2ZV91bmFtZV9kb21haW5uYW1lX2ZpZWxkPXRydWUKKyBlbHNlCitAQCAtOTU2MCwxMiArOTUwMCwxMiBAQCBlbHNlCisgZmkKKyAKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgdW5hbWUuX19kb21haW5uYW1lIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6OTU2NDogY2hlY2tpbmcgZm9yIHVuYW1lLl9fZG9tYWlubmFtZSIgPiY1CisrZWNobyAiY29uZmlndXJlOjk1MDQ6IGNoZWNraW5nIGZvciB1bmFtZS5fX2RvbWFpbm5hbWUiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9oYXZlX3VuYW1lX3VzX2RvbWFpbm5hbWVfZmllbGQnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgOTU2OSAiY29uZmlndXJlIgorKyNsaW5lIDk1MDkgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjaW5jbHVkZSA8c3lzL3V0c25hbWUuaD4KKyBpbnQgbWFpbigpIHsKK0BAIC05NTczLDcgKzk1MTMsNyBAQCBpbnQgbWFpbigpIHsKKyAgICAgICAgICAgICAodm9pZCl1bmFtZShyZXMpOyAgaWYgKHJlcyAhPSAwKSB7IGRvbWFpbiA9IHJlcy0+X19kb21haW5uYW1lOyB9IAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjk1Nzc6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjk1MTc6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X2hhdmVfdW5hbWVfdXNfZG9tYWlubmFtZV9maWVsZD10cnVlCisgZWxzZQorQEAgLTk2MDksNyArOTU0OSw3IEBAIGNyb3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jY19jcm9zcworIAorIGlmIHRlc3QgIiRHTlVfQ0MiOyB0aGVuCisgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgdmlzaWJpbGl0eShoaWRkZW4pIGF0dHJpYnV0ZSIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjk2MTM6IGNoZWNraW5nIGZvciB2aXNpYmlsaXR5KGhpZGRlbikgYXR0cmlidXRlIiA+JjUKKytlY2hvICJjb25maWd1cmU6OTU1MzogY2hlY2tpbmcgZm9yIHZpc2liaWxpdHkoaGlkZGVuKSBhdHRyaWJ1dGUiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl92aXNpYmlsaXR5X2hpZGRlbicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKK0BAIC05NjM3LDcgKzk1NzcsNyBAQCBFT0YKKyAKKyAKKyAgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIHZpc2liaWxpdHkoZGVmYXVsdCkgYXR0cmlidXRlIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6OTY0MTogY2hlY2tpbmcgZm9yIHZpc2liaWxpdHkoZGVmYXVsdCkgYXR0cmlidXRlIiA+JjUKKytlY2hvICJjb25maWd1cmU6OTU4MTogY2hlY2tpbmcgZm9yIHZpc2liaWxpdHkoZGVmYXVsdCkgYXR0cmlidXRlIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfdmlzaWJpbGl0eV9kZWZhdWx0JytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorQEAgLTk2NjUsNyArOTYwNSw3IEBAIEVPRgorIAorIAorICAgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciB2aXNpYmlsaXR5IHByYWdtYSBzdXBwb3J0IiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6OTY2OTogY2hlY2tpbmcgZm9yIHZpc2liaWxpdHkgcHJhZ21hIHN1cHBvcnQiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo5NjA5OiBjaGVja2luZyBmb3IgdmlzaWJpbGl0eSBwcmFnbWEgc3VwcG9ydCIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3Zpc2liaWxpdHlfcHJhZ21hJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorQEAgLTk2OTAsNyArOTYzMCw3IEBAIGZpCisgZWNobyAiJGFjX3QiIiRhY19jdl92aXNpYmlsaXR5X3ByYWdtYSIgMT4mNgorICAgICAgIGlmIHRlc3QgIiRhY19jdl92aXNpYmlsaXR5X3ByYWdtYSIgPSAieWVzIjsgdGhlbgorICAgICAgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgRm9yIGdjYyB2aXNpYmlsaXR5IGJ1ZyB3aXRoIGNsYXNzLWxldmVsIGF0dHJpYnV0ZXMgKEdDQyBidWcgMjY5MDUpIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6OTY5NDogY2hlY2tpbmcgRm9yIGdjYyB2aXNpYmlsaXR5IGJ1ZyB3aXRoIGNsYXNzLWxldmVsIGF0dHJpYnV0ZXMgKEdDQyBidWcgMjY5MDUpIiA+JjUKKytlY2hvICJjb25maWd1cmU6OTYzNDogY2hlY2tpbmcgRm9yIGdjYyB2aXNpYmlsaXR5IGJ1ZyB3aXRoIGNsYXNzLWxldmVsIGF0dHJpYnV0ZXMgKEdDQyBidWcgMjY5MDUpIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGF2ZV92aXNpYmlsaXR5X2NsYXNzX2J1Zycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKK0BAIC05NzE4LDcgKzk2NTgsNyBAQCBmaQorIGVjaG8gIiRhY190IiIkYWNfY3ZfaGF2ZV92aXNpYmlsaXR5X2NsYXNzX2J1ZyIgMT4mNgorIAorICAgICAgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgRm9yIHg4Nl82NCBnY2MgdmlzaWJpbGl0eSBidWcgd2l0aCBidWlsdGlucyAoR0NDIGJ1ZyAyMDI5NykiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo5NzIyOiBjaGVja2luZyBGb3IgeDg2XzY0IGdjYyB2aXNpYmlsaXR5IGJ1ZyB3aXRoIGJ1aWx0aW5zIChHQ0MgYnVnIDIwMjk3KSIgPiY1CisrZWNobyAiY29uZmlndXJlOjk2NjI6IGNoZWNraW5nIEZvciB4ODZfNjQgZ2NjIHZpc2liaWxpdHkgYnVnIHdpdGggYnVpbHRpbnMgKEdDQyBidWcgMjAyOTcpIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGF2ZV92aXNpYmlsaXR5X2J1aWx0aW5fYnVnJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorQEAgLTk3NzAsNyArOTcxMCw3IEBAIGZpICAgICAgICAgIyBTdW4gU3R1ZGlvIG9uIFNvbGFyaXMKKyBpZiB0ZXN0ICIkR05VX0NDIjsgdGhlbgorIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBnY2MgUFI0OTkxMSIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjk3NzQ6IGNoZWNraW5nIGZvciBnY2MgUFI0OTkxMSIgPiY1CisrZWNobyAiY29uZmlndXJlOjk3MTQ6IGNoZWNraW5nIGZvciBnY2MgUFI0OTkxMSIgPiY1CisgYWNfaGF2ZV9nY2NfcHI0OTkxMT0ibm8iCisgCisgYWNfZXh0PUMKK0BAIC05Nzg3LDcgKzk3MjcsNyBAQCBpZiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiA9IHllczsgdGhlbgorICAgdHJ1ZQorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA5NzkxICJjb25maWd1cmUiCisrI2xpbmUgOTczMSAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorIGV4dGVybiAiQyIgdm9pZCBhYm9ydCh2b2lkKTsKK0BAIC05ODI4LDcgKzk3NjgsNyBAQCBpbnQgbWFpbih2b2lkKSB7CisgfQorIAorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTgzMjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9ICYmICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbAorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTc3MjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9ICYmICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbAorIHRoZW4KKyAgIHRydWUKKyBlbHNlCitAQCAtOTg2NSwxMiArOTgwNSwxMiBAQCBmb3IgYWNfaGRyIGluIGRpcmVudC5oIHN5cy9uZGlyLmggc3lzL2Rpci5oIG5kaXIuaAorIGRvCisgYWNfc2FmZT1gZWNobyAiJGFjX2hkciIgfCBzZWQgJ3klLi8rLSVfX3BfJSdgCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY19oZHIgdGhhdCBkZWZpbmVzIERJUiIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjk4Njk6IGNoZWNraW5nIGZvciAkYWNfaGRyIHRoYXQgZGVmaW5lcyBESVIiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo5ODA5OiBjaGVja2luZyBmb3IgJGFjX2hkciB0aGF0IGRlZmluZXMgRElSIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGVhZGVyX2RpcmVudF8kYWNfc2FmZScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA5ODc0ICJjb25maWd1cmUiCisrI2xpbmUgOTgxNCAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaW5jbHVkZSA8JGFjX2hkcj4KK0BAIC05ODc4LDcgKzk4MTgsNyBAQCBpbnQgbWFpbigpIHsKKyBESVIgKmRpcnAgPSAwOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjk4ODI6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjk4MjI6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGV2YWwgImFjX2N2X2hlYWRlcl9kaXJlbnRfJGFjX3NhZmU9eWVzIgorIGVsc2UKK0BAIC05OTA2LDcgKzk4NDYsNyBAQCBkb25lCisgIyBUd28gdmVyc2lvbnMgb2Ygb3BlbmRpciBldCBhbC4gYXJlIGluIC1sZGlyIGFuZCAtbHggb24gU0NPIFhlbml4LgorIGlmIHRlc3QgJGFjX2hlYWRlcl9kaXJlbnQgPSBkaXJlbnQuaDsgdGhlbgorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBvcGVuZGlyIGluIC1sZGlyIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6OTkxMDogY2hlY2tpbmcgZm9yIG9wZW5kaXIgaW4gLWxkaXIiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo5ODUwOiBjaGVja2luZyBmb3Igb3BlbmRpciBpbiAtbGRpciIgPiY1CisgYWNfbGliX3Zhcj1gZWNobyBkaXInXydvcGVuZGlyIHwgc2VkICd5JS4vKy0lX19wXyUnYAorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9saWJfJGFjX2xpYl92YXInK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKK0BAIC05OTE0LDcgKzk4NTQsNyBAQCBlbHNlCisgICBhY19zYXZlX0xJQlM9IiRMSUJTIgorIExJQlM9Ii1sZGlyICAkTElCUyIKKyBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgOTkxOCAiY29uZmlndXJlIgorKyNsaW5lIDk4NTggImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLworIC8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKK0BAIC05OTI1LDcgKzk4NjUsNyBAQCBpbnQgbWFpbigpIHsKKyBvcGVuZGlyKCkKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo5OTI5OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjk4Njk6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgZXZhbCAiYWNfY3ZfbGliXyRhY19saWJfdmFyPXllcyIKKyBlbHNlCitAQCAtOTk0Nyw3ICs5ODg3LDcgQEAgZmkKKyAKKyBlbHNlCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIG9wZW5kaXIgaW4gLWx4IiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6OTk1MTogY2hlY2tpbmcgZm9yIG9wZW5kaXIgaW4gLWx4IiA+JjUKKytlY2hvICJjb25maWd1cmU6OTg5MTogY2hlY2tpbmcgZm9yIG9wZW5kaXIgaW4gLWx4IiA+JjUKKyBhY19saWJfdmFyPWBlY2hvIHgnXydvcGVuZGlyIHwgc2VkICd5JS4vKy0lX19wXyUnYAorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9saWJfJGFjX2xpYl92YXInK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKK0BAIC05OTU1LDcgKzk4OTUsNyBAQCBlbHNlCisgICBhY19zYXZlX0xJQlM9IiRMSUJTIgorIExJQlM9Ii1seCAgJExJQlMiCisgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDk5NTkgImNvbmZpZ3VyZSIKKysjbGluZSA5ODk5ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KKyAvKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCitAQCAtOTk2Niw3ICs5OTA2LDcgQEAgaW50IG1haW4oKSB7Cisgb3BlbmRpcigpCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTk3MDogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo5OTEwOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGV2YWwgImFjX2N2X2xpYl8kYWNfbGliX3Zhcj15ZXMiCisgZWxzZQorQEAgLTEwMDAwLDEyICs5OTQwLDEyIEBAIGVzYWMKKyAgIGRvCisgICAgICAgIGFjX3NhZmU9YGVjaG8gIiRhY19oZHIiIHwgc2VkICd5JS4vKy0lX19wXyUnYAorICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY19oZHIiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMDAwNDogY2hlY2tpbmcgZm9yICRhY19oZHIiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo5OTQ0OiBjaGVja2luZyBmb3IgJGFjX2hkciIgPiY1CisgICBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGVhZGVyXyRhY19zYWZlJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMDAwOSAiY29uZmlndXJlIgorKyNsaW5lIDk5NDkgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyAjaW5jbHVkZSA8JGFjX2hkcj4KK0BAIC0xMDAxMyw3ICs5OTUzLDcgQEAgaW50IG1haW4oKSB7CisgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTAwMTc6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjk5NTc6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGV2YWwgImFjX2N2X2hlYWRlcl8kYWNfc2FmZT15ZXMiCisgZWxzZQorQEAgLTEwMDQ4LDEyICs5OTg4LDEyIEBAIEVPRgorICAgZG8KKyAgICAgICAgYWNfc2FmZT1gZWNobyAiJGFjX2hkciIgfCBzZWQgJ3klLi8rLSVfX3BfJSdgCisgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX2hkciIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjEwMDUyOiBjaGVja2luZyBmb3IgJGFjX2hkciIgPiY1CisrZWNobyAiY29uZmlndXJlOjk5OTI6IGNoZWNraW5nIGZvciAkYWNfaGRyIiA+JjUKKyAgIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9oZWFkZXJfJGFjX3NhZmUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDEwMDU3ICJjb25maWd1cmUiCisrI2xpbmUgOTk5NyAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorICNpbmNsdWRlIDwkYWNfaGRyPgorQEAgLTEwMDYxLDcgKzEwMDAxLDcgQEAgaW50IG1haW4oKSB7CisgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTAwNjU6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEwMDA1OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBldmFsICJhY19jdl9oZWFkZXJfJGFjX3NhZmU9eWVzIgorIGVsc2UKK0BAIC0xMDA5NSwxMiArMTAwMzUsMTIgQEAgRU9GCisgICBkbworICAgICAgICBhY19zYWZlPWBlY2hvICIkYWNfaGRyIiB8IHNlZCAneSUuLystJV9fcF8lJ2AKKyAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfaGRyIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTAwOTk6IGNoZWNraW5nIGZvciAkYWNfaGRyIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTAwMzk6IGNoZWNraW5nIGZvciAkYWNfaGRyIiA+JjUKKyAgIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9oZWFkZXJfJGFjX3NhZmUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDEwMTA0ICJjb25maWd1cmUiCisrI2xpbmUgMTAwNDQgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyAjaW5jbHVkZSA8JGFjX2hkcj4KK0BAIC0xMDEwOCw3ICsxMDA0OCw3IEBAIGludCBtYWluKCkgeworIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEwMTEyOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDA1MjogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgZXZhbCAiYWNfY3ZfaGVhZGVyXyRhY19zYWZlPXllcyIKKyBlbHNlCitAQCAtMTAxNDEsMTIgKzEwMDgxLDEyIEBAIEVPRgorICAgZG8KKyAgICAgICAgYWNfc2FmZT1gZWNobyAiJGFjX2hkciIgfCBzZWQgJ3klLi8rLSVfX3BfJSdgCisgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX2hkciIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjEwMTQ1OiBjaGVja2luZyBmb3IgJGFjX2hkciIgPiY1CisrZWNobyAiY29uZmlndXJlOjEwMDg1OiBjaGVja2luZyBmb3IgJGFjX2hkciIgPiY1CisgICBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGVhZGVyXyRhY19zYWZlJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMDE1MCAiY29uZmlndXJlIgorKyNsaW5lIDEwMDkwICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgI2luY2x1ZGUgPCRhY19oZHI+CitAQCAtMTAxNTQsNyArMTAwOTQsNyBAQCBpbnQgbWFpbigpIHsKKyAKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDE1ODogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTAwOTg6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGV2YWwgImFjX2N2X2hlYWRlcl8kYWNfc2FmZT15ZXMiCisgZWxzZQorQEAgLTEwMTg4LDEyICsxMDEyOCwxMiBAQCBFT0YKKyAgIGRvCisgICAgICAgIGFjX3NhZmU9YGVjaG8gIiRhY19oZHIiIHwgc2VkICd5JS4vKy0lX19wXyUnYAorICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY19oZHIiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMDE5MjogY2hlY2tpbmcgZm9yICRhY19oZHIiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMDEzMjogY2hlY2tpbmcgZm9yICRhY19oZHIiID4mNQorICAgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hlYWRlcl8kYWNfc2FmZScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTAxOTcgImNvbmZpZ3VyZSIKKysjbGluZSAxMDEzNyAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorICNpbmNsdWRlIDwkYWNfaGRyPgorQEAgLTEwMjAxLDcgKzEwMTQxLDcgQEAgaW50IG1haW4oKSB7CisgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTAyMDU6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEwMTQ1OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBldmFsICJhY19jdl9oZWFkZXJfJGFjX3NhZmU9eWVzIgorIGVsc2UKK0BAIC0xMDI0MSwxMiArMTAxODEsMTIgQEAgY3Jvc3NfY29tcGlsaW5nPSRhY19jdl9wcm9nX2N4eF9jcm9zcworIE5FV19IPW5ldy5oCisgICAgYWNfc2FmZT1gZWNobyAibmV3IiB8IHNlZCAneSUuLystJV9fcF8lJ2AKKyAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBuZXciIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMDI0NTogY2hlY2tpbmcgZm9yIG5ldyIgPiY1CisrZWNobyAiY29uZmlndXJlOjEwMTg1OiBjaGVja2luZyBmb3IgbmV3IiA+JjUKKyAgIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9oZWFkZXJfJGFjX3NhZmUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDEwMjUwICJjb25maWd1cmUiCisrI2xpbmUgMTAxOTAgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyAjaW5jbHVkZSA8bmV3PgorQEAgLTEwMjU0LDcgKzEwMTk0LDcgQEAgaW50IG1haW4oKSB7CisgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTAyNTg6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEwMTk4OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBldmFsICJhY19jdl9oZWFkZXJfJGFjX3NhZmU9eWVzIgorIGVsc2UKK0BAIC0xMDI5OCwxMiArMTAyMzgsMTIgQEAgZmkKKyBpZiB0ZXN0ICJ4JGVuYWJsZV9kdHJhY2UiID0gInh5ZXMiOyB0aGVuCisgICAgICBhY19zYWZlPWBlY2hvICJzeXMvc2R0LmgiIHwgc2VkICd5JS4vKy0lX19wXyUnYAorICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIHN5cy9zZHQuaCIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjEwMzAyOiBjaGVja2luZyBmb3Igc3lzL3NkdC5oIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTAyNDI6IGNoZWNraW5nIGZvciBzeXMvc2R0LmgiID4mNQorICAgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hlYWRlcl8kYWNfc2FmZScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTAzMDcgImNvbmZpZ3VyZSIKKysjbGluZSAxMDI0NyAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorICNpbmNsdWRlIDxzeXMvc2R0Lmg+CitAQCAtMTAzMTEsNyArMTAyNTEsNyBAQCBpbnQgbWFpbigpIHsKKyAKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDMxNTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTAyNTU6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGV2YWwgImFjX2N2X2hlYWRlcl8kYWNfc2FmZT15ZXMiCisgZWxzZQorQEAgLTEwMzUzLDEyICsxMDI5MywxMiBAQCBjYXNlICR0YXJnZXQgaW4KKyAgIGRvCisgICAgICAgIGFjX3NhZmU9YGVjaG8gIiRhY19oZHIiIHwgc2VkICd5JS4vKy0lX19wXyUnYAorICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY19oZHIiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMDM1NzogY2hlY2tpbmcgZm9yICRhY19oZHIiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMDI5NzogY2hlY2tpbmcgZm9yICRhY19oZHIiID4mNQorICAgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hlYWRlcl8kYWNfc2FmZScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTAzNjIgImNvbmZpZ3VyZSIKKysjbGluZSAxMDMwMiAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorICNpbmNsdWRlIDwkYWNfaGRyPgorQEAgLTEwMzY2LDcgKzEwMzA2LDcgQEAgaW50IG1haW4oKSB7CisgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTAzNzA6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEwMzEwOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBldmFsICJhY19jdl9oZWFkZXJfJGFjX3NhZmU9eWVzIgorIGVsc2UKK0BAIC0xMDQxOCwxMiArMTAzNTgsMTIgQEAgQ0ZMQUdTPSIkQ0ZMQUdTICRMSU5VWF9IRUFERVJTX0lOQ0xVREVTIgorIAorICAgIGFjX3NhZmU9YGVjaG8gImxpbnV4L3BlcmZfZXZlbnQuaCIgfCBzZWQgJ3klLi8rLSVfX3BfJSdgCisgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgbGludXgvcGVyZl9ldmVudC5oIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTA0MjI6IGNoZWNraW5nIGZvciBsaW51eC9wZXJmX2V2ZW50LmgiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMDM2MjogY2hlY2tpbmcgZm9yIGxpbnV4L3BlcmZfZXZlbnQuaCIgPiY1CisgICBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGVhZGVyXyRhY19zYWZlJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMDQyNyAiY29uZmlndXJlIgorKyNsaW5lIDEwMzY3ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgI2luY2x1ZGUgPGxpbnV4L3BlcmZfZXZlbnQuaD4KK0BAIC0xMDQzMSw3ICsxMDM3MSw3IEBAIGludCBtYWluKCkgeworIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEwNDM1OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDM3NTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgZXZhbCAiYWNfY3ZfaGVhZGVyXyRhY19zYWZlPXllcyIKKyBlbHNlCitAQCAtMTA0NDYsMTkgKzEwMzg2LDE5IEBAIGZpCisgICBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyRhY19jdl9oZWFkZXJfJyRhY19zYWZlYFwiID0geWVzIjsgdGhlbgorICAgICBlY2hvICIkYWNfdCIieWVzIiAxPiY2CisgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBwZXJmX2V2ZW50X29wZW4gc3lzdGVtIGNhbGwiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMDQ1MDogY2hlY2tpbmcgZm9yIHBlcmZfZXZlbnRfb3BlbiBzeXN0ZW0gY2FsbCIgPiY1CisrZWNobyAiY29uZmlndXJlOjEwMzkwOiBjaGVja2luZyBmb3IgcGVyZl9ldmVudF9vcGVuIHN5c3RlbSBjYWxsIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfcGVyZl9ldmVudF9vcGVuJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDEwNDU1ICJjb25maWd1cmUiCisrI2xpbmUgMTAzOTUgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjaW5jbHVkZSA8YXNtL3VuaXN0ZC5oPgorIGludCBtYWluKCkgeworIHJldHVybiBzaXplb2YoX19OUl9wZXJmX2V2ZW50X29wZW4pOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEwNDYyOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDQwMjogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY3ZfcGVyZl9ldmVudF9vcGVuPXllcworIGVsc2UKK0BAIC0xMDQ5NCw3ICsxMDQzNCw3IEBAIGNhc2UgJHRhcmdldCBpbgorIAk7OworICopCisgCWVjaG8gJGFjX24gImNoZWNraW5nIGZvciBnZXRob3N0YnluYW1lX3IgaW4gLWxjX3IiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMDQ5ODogY2hlY2tpbmcgZm9yIGdldGhvc3RieW5hbWVfciBpbiAtbGNfciIgPiY1CisrZWNobyAiY29uZmlndXJlOjEwNDM4OiBjaGVja2luZyBmb3IgZ2V0aG9zdGJ5bmFtZV9yIGluIC1sY19yIiA+JjUKKyBhY19saWJfdmFyPWBlY2hvIGNfcidfJ2dldGhvc3RieW5hbWVfciB8IHNlZCAneSUuLystJV9fcF8lJ2AKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfbGliXyRhY19saWJfdmFyJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CitAQCAtMTA1MDIsNyArMTA0NDIsNyBAQCBlbHNlCisgICBhY19zYXZlX0xJQlM9IiRMSUJTIgorIExJQlM9Ii1sY19yICAkTElCUyIKKyBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTA1MDYgImNvbmZpZ3VyZSIKKysjbGluZSAxMDQ0NiAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIC8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCisgLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgorQEAgLTEwNTEzLDcgKzEwNDUzLDcgQEAgaW50IG1haW4oKSB7CisgZ2V0aG9zdGJ5bmFtZV9yKCkKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDUxNzogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDQ1NzogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBldmFsICJhY19jdl9saWJfJGFjX2xpYl92YXI9eWVzIgorIGVsc2UKK0BAIC0xMDU1NCwxNCArMTA0OTQsMTQgQEAgY2FzZSAkdGFyZ2V0IGluCisgKikKKyAgICAgCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBkbG9wZW4iIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMDU1ODogY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBkbG9wZW4iID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMDQ5ODogY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBkbG9wZW4iID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9zZWFyY2hfZGxvcGVuJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgYWNfZnVuY19zZWFyY2hfc2F2ZV9MSUJTPSIkTElCUyIKKyBhY19jdl9zZWFyY2hfZGxvcGVuPSJubyIKKyBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTA1NjUgImNvbmZpZ3VyZSIKKysjbGluZSAxMDUwNSAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIC8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCisgLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgorQEAgLTEwNTcyLDcgKzEwNTEyLDcgQEAgaW50IG1haW4oKSB7CisgZGxvcGVuKCkKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDU3NjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDUxNjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBhY19jdl9zZWFyY2hfZGxvcGVuPSJub25lIHJlcXVpcmVkIgorIGVsc2UKK0BAIC0xMDU4Myw3ICsxMDUyMyw3IEBAIHJtIC1mIGNvbmZ0ZXN0KgorIHRlc3QgIiRhY19jdl9zZWFyY2hfZGxvcGVuIiA9ICJubyIgJiYgZm9yIGkgaW4gZGw7IGRvCisgTElCUz0iLWwkaSAgJGFjX2Z1bmNfc2VhcmNoX3NhdmVfTElCUyIKKyBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTA1ODcgImNvbmZpZ3VyZSIKKysjbGluZSAxMDUyNyAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIC8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCisgLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgorQEAgLTEwNTk0LDcgKzEwNTM0LDcgQEAgaW50IG1haW4oKSB7CisgZGxvcGVuKCkKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDU5ODogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDUzODogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBhY19jdl9zZWFyY2hfZGxvcGVuPSItbCRpIgorIGJyZWFrCitAQCAtMTA2MTIsMTIgKzEwNTUyLDEyIEBAIGlmIHRlc3QgIiRhY19jdl9zZWFyY2hfZGxvcGVuIiAhPSAibm8iOyB0aGVuCisgICB0ZXN0ICIkYWNfY3Zfc2VhcmNoX2Rsb3BlbiIgPSAibm9uZSByZXF1aXJlZCIgfHwgTElCUz0iJGFjX2N2X3NlYXJjaF9kbG9wZW4gJExJQlMiCisgICAgICBhY19zYWZlPWBlY2hvICJkbGZjbi5oIiB8IHNlZCAneSUuLystJV9fcF8lJ2AKKyAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBkbGZjbi5oIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTA2MTY6IGNoZWNraW5nIGZvciBkbGZjbi5oIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTA1NTY6IGNoZWNraW5nIGZvciBkbGZjbi5oIiA+JjUKKyAgIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9oZWFkZXJfJGFjX3NhZmUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDEwNjIxICJjb25maWd1cmUiCisrI2xpbmUgMTA1NjEgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyAjaW5jbHVkZSA8ZGxmY24uaD4KK0BAIC0xMDYyNSw3ICsxMDU2NSw3IEBAIGludCBtYWluKCkgeworIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEwNjI5OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDU2OTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgZXZhbCAiYWNfY3ZfaGVhZGVyXyRhY19zYWZlPXllcyIKKyBlbHNlCitAQCAtMTA2NjIsMTIgKzEwNjAyLDEyIEBAIENGTEFHUz0iJENGTEFHUyAtRF9HTlVfU09VUkNFIgorIGZvciBhY19mdW5jIGluIGRsYWRkcgorIGRvCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY19mdW5jIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTA2NjY6IGNoZWNraW5nIGZvciAkYWNfZnVuYyIgPiY1CisrZWNobyAiY29uZmlndXJlOjEwNjA2OiBjaGVja2luZyBmb3IgJGFjX2Z1bmMiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9mdW5jXyRhY19mdW5jJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDEwNjcxICJjb25maWd1cmUiCisrI2xpbmUgMTA2MTEgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCisgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgJGFjX2Z1bmMoKTsgYmVsb3cuICAqLworQEAgLTEwNjkwLDcgKzEwNjMwLDcgQEAgJGFjX2Z1bmMoKTsKKyAKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDY5NDogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDYzNDogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBldmFsICJhY19jdl9mdW5jXyRhY19mdW5jPXllcyIKKyBlbHNlCitAQCAtMTA3MjQsNyArMTA2NjQsNyBAQCBpZiB0ZXN0ICEgIiRHTlVfQ1hYIjsgdGhlbgorICAgICBjYXNlICR0YXJnZXQgaW4KKyAgICAgKi1haXgqKQorIAllY2hvICRhY19uICJjaGVja2luZyBmb3IgZGVtYW5nbGUgaW4gLWxDX3IiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMDcyODogY2hlY2tpbmcgZm9yIGRlbWFuZ2xlIGluIC1sQ19yIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTA2Njg6IGNoZWNraW5nIGZvciBkZW1hbmdsZSBpbiAtbENfciIgPiY1CisgYWNfbGliX3Zhcj1gZWNobyBDX3InXydkZW1hbmdsZSB8IHNlZCAneSUuLystJV9fcF8lJ2AKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfbGliXyRhY19saWJfdmFyJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CitAQCAtMTA3MzIsNyArMTA2NzIsNyBAQCBlbHNlCisgICBhY19zYXZlX0xJQlM9IiRMSUJTIgorIExJQlM9Ii1sQ19yICAkTElCUyIKKyBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTA3MzYgImNvbmZpZ3VyZSIKKysjbGluZSAxMDY3NiAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIC8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCisgLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgorQEAgLTEwNzQzLDcgKzEwNjgzLDcgQEAgaW50IG1haW4oKSB7CisgZGVtYW5nbGUoKQorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEwNzQ3OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEwNjg3OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGV2YWwgImFjX2N2X2xpYl8kYWNfbGliX3Zhcj15ZXMiCisgZWxzZQorQEAgLTEwNzc2LDcgKzEwNzE2LDcgQEAgZmkKKyAJOzsKKyAgICAgICopCisgCWVjaG8gJGFjX24gImNoZWNraW5nIGZvciBkZW1hbmdsZSBpbiAtbEMiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMDc4MDogY2hlY2tpbmcgZm9yIGRlbWFuZ2xlIGluIC1sQyIgPiY1CisrZWNobyAiY29uZmlndXJlOjEwNzIwOiBjaGVja2luZyBmb3IgZGVtYW5nbGUgaW4gLWxDIiA+JjUKKyBhY19saWJfdmFyPWBlY2hvIEMnXydkZW1hbmdsZSB8IHNlZCAneSUuLystJV9fcF8lJ2AKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfbGliXyRhY19saWJfdmFyJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CitAQCAtMTA3ODQsNyArMTA3MjQsNyBAQCBlbHNlCisgICBhY19zYXZlX0xJQlM9IiRMSUJTIgorIExJQlM9Ii1sQyAgJExJQlMiCisgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDEwNzg4ICJjb25maWd1cmUiCisrI2xpbmUgMTA3MjggImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLworIC8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKK0BAIC0xMDc5NSw3ICsxMDczNSw3IEBAIGludCBtYWluKCkgeworIGRlbWFuZ2xlKCkKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDc5OTogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDczOTogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBldmFsICJhY19jdl9saWJfJGFjX2xpYl92YXI9eWVzIgorIGVsc2UKK0BAIC0xMDgzNCw3ICsxMDc3NCw3IEBAIGNhc2UgJHRhcmdldCBpbgorICAgICA7OworICopCisgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBzb2NrZXQgaW4gLWxzb2NrZXQiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMDgzODogY2hlY2tpbmcgZm9yIHNvY2tldCBpbiAtbHNvY2tldCIgPiY1CisrZWNobyAiY29uZmlndXJlOjEwNzc4OiBjaGVja2luZyBmb3Igc29ja2V0IGluIC1sc29ja2V0IiA+JjUKKyBhY19saWJfdmFyPWBlY2hvIHNvY2tldCdfJ3NvY2tldCB8IHNlZCAneSUuLystJV9fcF8lJ2AKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfbGliXyRhY19saWJfdmFyJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CitAQCAtMTA4NDIsNyArMTA3ODIsNyBAQCBlbHNlCisgICBhY19zYXZlX0xJQlM9IiRMSUJTIgorIExJQlM9Ii1sc29ja2V0ICAkTElCUyIKKyBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTA4NDYgImNvbmZpZ3VyZSIKKysjbGluZSAxMDc4NiAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIC8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCisgLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgorQEAgLTEwODUzLDcgKzEwNzkzLDcgQEAgaW50IG1haW4oKSB7Cisgc29ja2V0KCkKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDg1NzogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDc5NzogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBldmFsICJhY19jdl9saWJfJGFjX2xpYl92YXI9eWVzIgorIGVsc2UKK0BAIC0xMDg5Miw3ICsxMDgzMiw3IEBAIGRhcndpbiopCisgKikKKyAgICAgCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIHB0aHJlYWRfY3JlYXRlIGluIC1scHRocmVhZHMiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMDg5NjogY2hlY2tpbmcgZm9yIHB0aHJlYWRfY3JlYXRlIGluIC1scHRocmVhZHMiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMDgzNjogY2hlY2tpbmcgZm9yIHB0aHJlYWRfY3JlYXRlIGluIC1scHRocmVhZHMiID4mNQorIGVjaG8gIgorICAgICAjaW5jbHVkZSA8cHRocmVhZC5oPgorICAgICAjaW5jbHVkZSA8c3RkbGliLmg+CitAQCAtMTA5MTUsNyArMTA4NTUsNyBAQCBlY2hvICIKKyAgICAgICAgIGVjaG8gIiRhY190IiJubyIgMT4mNgorICAgICAgICAgCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIHB0aHJlYWRfY3JlYXRlIGluIC1scHRocmVhZCIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjEwOTE5OiBjaGVja2luZyBmb3IgcHRocmVhZF9jcmVhdGUgaW4gLWxwdGhyZWFkIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTA4NTk6IGNoZWNraW5nIGZvciBwdGhyZWFkX2NyZWF0ZSBpbiAtbHB0aHJlYWQiID4mNQorIGVjaG8gIgorICAgICAjaW5jbHVkZSA8cHRocmVhZC5oPgorICAgICAjaW5jbHVkZSA8c3RkbGliLmg+CitAQCAtMTA5MzgsNyArMTA4NzgsNyBAQCBlY2hvICIKKyAgICAgICAgIGVjaG8gIiRhY190IiJubyIgMT4mNgorICAgICAgICAgCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIHB0aHJlYWRfY3JlYXRlIGluIC1sY19yIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTA5NDI6IGNoZWNraW5nIGZvciBwdGhyZWFkX2NyZWF0ZSBpbiAtbGNfciIgPiY1CisrZWNobyAiY29uZmlndXJlOjEwODgyOiBjaGVja2luZyBmb3IgcHRocmVhZF9jcmVhdGUgaW4gLWxjX3IiID4mNQorIGVjaG8gIgorICAgICAjaW5jbHVkZSA8cHRocmVhZC5oPgorICAgICAjaW5jbHVkZSA8c3RkbGliLmg+CitAQCAtMTA5NjEsNyArMTA5MDEsNyBAQCBlY2hvICIKKyAgICAgICAgIGVjaG8gIiRhY190IiJubyIgMT4mNgorICAgICAgICAgCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIHB0aHJlYWRfY3JlYXRlIGluIC1sYyIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjEwOTY1OiBjaGVja2luZyBmb3IgcHRocmVhZF9jcmVhdGUgaW4gLWxjIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTA5MDU6IGNoZWNraW5nIGZvciBwdGhyZWFkX2NyZWF0ZSBpbiAtbGMiID4mNQorIGVjaG8gIgorICAgICAjaW5jbHVkZSA8cHRocmVhZC5oPgorICAgICAjaW5jbHVkZSA8c3RkbGliLmg+CitAQCAtMTEwMjAsNyArMTA5NjAsNyBAQCB0aGVuCisgCQkJCXJtIC1mIGNvbmZ0ZXN0KgorIAlhY19jdl9oYXZlX2Rhc2hfcHRocmVhZD1ubworIAllY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyICR7Q0MtY2N9IGFjY2VwdHMgLXB0aHJlYWQiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMTAyNDogY2hlY2tpbmcgd2hldGhlciAke0NDLWNjfSBhY2NlcHRzIC1wdGhyZWFkIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTA5NjQ6IGNoZWNraW5nIHdoZXRoZXIgJHtDQy1jY30gYWNjZXB0cyAtcHRocmVhZCIgPiY1CisgCWVjaG8gJ2ludCBtYWluKCkgeyByZXR1cm4gMDsgfScgfCBjYXQgPiBjb25mdGVzdC5jCisgCSR7Q0MtY2N9IC1wdGhyZWFkIC1vIGNvbmZ0ZXN0IGNvbmZ0ZXN0LmMgPiBjb25mdGVzdC5vdXQgMj4mMQorIAlpZiB0ZXN0ICQ/IC1lcSAwOyB0aGVuCitAQCAtMTEwNDMsNyArMTA5ODMsNyBAQCBlY2hvICJjb25maWd1cmU6MTEwMjQ6IGNoZWNraW5nIHdoZXRoZXIgJHtDQy1jY30gYWNjZXB0cyAtcHRocmVhZCIgPiY1CisgCQkJICAgIGFjX2N2X2hhdmVfZGFzaF9wdGhyZWFkcz1ubworICAgICBpZiB0ZXN0ICIkYWNfY3ZfaGF2ZV9kYXNoX3B0aHJlYWQiID0gIm5vIjsgdGhlbgorIAkgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhlciAke0NDLWNjfSBhY2NlcHRzIC1wdGhyZWFkcyIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjExMDQ3OiBjaGVja2luZyB3aGV0aGVyICR7Q0MtY2N9IGFjY2VwdHMgLXB0aHJlYWRzIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTA5ODc6IGNoZWNraW5nIHdoZXRoZXIgJHtDQy1jY30gYWNjZXB0cyAtcHRocmVhZHMiID4mNQorICAgICAJZWNobyAnaW50IG1haW4oKSB7IHJldHVybiAwOyB9JyB8IGNhdCA+IGNvbmZ0ZXN0LmMKKyAJICAgICR7Q0MtY2N9IC1wdGhyZWFkcyAtbyBjb25mdGVzdCBjb25mdGVzdC5jID4gY29uZnRlc3Qub3V0IDI+JjEKKyAgICAgCWlmIHRlc3QgJD8gLWVxIDA7IHRoZW4KK0BAIC0xMTE0OCwxMyArMTEwODgsMTMgQEAgZmkKKyAKKyBpZiB0ZXN0ICRhY19jdl9wcm9nX2djYyA9IHllczsgdGhlbgorICAgICBlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyICR7Q0MtY2N9IG5lZWRzIC10cmFkaXRpb25hbCIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjExMTUyOiBjaGVja2luZyB3aGV0aGVyICR7Q0MtY2N9IG5lZWRzIC10cmFkaXRpb25hbCIgPiY1CisrZWNobyAiY29uZmlndXJlOjExMDkyOiBjaGVja2luZyB3aGV0aGVyICR7Q0MtY2N9IG5lZWRzIC10cmFkaXRpb25hbCIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3Byb2dfZ2NjX3RyYWRpdGlvbmFsJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgICBhY19wYXR0ZXJuPSJBdXRvY29uZi4qJ3gnIgorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDExMTU4ICJjb25maWd1cmUiCisrI2xpbmUgMTEwOTggImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjaW5jbHVkZSA8c2d0dHkuaD4KKyBBdXRvY29uZiBUSU9DR0VUUAorQEAgLTExMTcyLDcgKzExMTEyLDcgQEAgcm0gLWYgY29uZnRlc3QqCisgCisgICBpZiB0ZXN0ICRhY19jdl9wcm9nX2djY190cmFkaXRpb25hbCA9IG5vOyB0aGVuCisgICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMTE3NiAiY29uZmlndXJlIgorKyNsaW5lIDExMTE2ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2luY2x1ZGUgPHRlcm1pby5oPgorIEF1dG9jb25mIFRDR0VUQQorQEAgLTExMTk0LDcgKzExMTM0LDcgQEAgZWNobyAiJGFjX3QiIiRhY19jdl9wcm9nX2djY190cmFkaXRpb25hbCIgMT4mNgorIGZpCisgCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIDgtYml0IGNsZWFuIG1lbWNtcCIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjExMTk4OiBjaGVja2luZyBmb3IgOC1iaXQgY2xlYW4gbWVtY21wIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTExMzg6IGNoZWNraW5nIGZvciA4LWJpdCBjbGVhbiBtZW1jbXAiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9mdW5jX21lbWNtcF9jbGVhbicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKK0BAIC0xMTIwMiw3ICsxMTE0Miw3IEBAIGVsc2UKKyAgIGFjX2N2X2Z1bmNfbWVtY21wX2NsZWFuPW5vCisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDExMjA2ICJjb25maWd1cmUiCisrI2xpbmUgMTExNDYgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyBtYWluKCkKK0BAIC0xMTIxMiw3ICsxMTE1Miw3IEBAIG1haW4oKQorIH0KKyAKKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjExMjE2OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH0gJiYgKC4vY29uZnRlc3Q7IGV4aXQpIDI+L2Rldi9udWxsCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTE1NjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9ICYmICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbAorIHRoZW4KKyAgIGFjX2N2X2Z1bmNfbWVtY21wX2NsZWFuPXllcworIGVsc2UKK0BAIC0xMTIzNCwxMiArMTExNzQsMTIgQEAgZm9yIGFjX2Z1bmMgaW4gZmNobW9kIGZsb2NrZmlsZSBnZXRjX3VubG9ja2VkIF9nZXRjX25vbG9jayBnZXRwYWdlc2l6ZSBcCisgICAgICAgICAgICAgICAgIHN0YXQ2NCBzdGF0dmZzIHN0YXR2ZnM2NCBzdHJlcnJvciBzdHJ0b2tfciB0cnVuY2F0ZTY0CisgZG8KKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX2Z1bmMiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMTIzODogY2hlY2tpbmcgZm9yICRhY19mdW5jIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTExNzg6IGNoZWNraW5nIGZvciAkYWNfZnVuYyIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2Z1bmNfJGFjX2Z1bmMnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTEyNDMgImNvbmZpZ3VyZSIKKysjbGluZSAxMTE4MyAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKKyAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciAkYWNfZnVuYygpOyBiZWxvdy4gICovCitAQCAtMTEyNjIsNyArMTEyMDIsNyBAQCAkYWNfZnVuYygpOworIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjExMjY2OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjExMjA2OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGV2YWwgImFjX2N2X2Z1bmNfJGFjX2Z1bmM9eWVzIgorIGVsc2UKK0BAIC0xMTI5MSwxNCArMTEyMzEsMTQgQEAgZG9uZQorIAorIAorIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMTI5NSAiY29uZmlndXJlIgorKyNsaW5lIDExMjM1ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2luY2x1ZGUgPHdpbmRvd3MuaD4KKyBpbnQgbWFpbigpIHsKKyBTWVNURU1USU1FIHN0O0ZJTEVUSU1FIGZ0O1N5c3RlbVRpbWVUb0ZpbGVUaW1lKCZzdCwmZnQpOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjExMzAyOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjExMjQyOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X2hhdmVfc3lzdGVtdGltZXRvZmlsZXRpbWU9InllcyIKKyBlbHNlCitAQCAtMTEzMTgsMTQgKzExMjU4LDE0IEBAIEVPRgorIAorIGZpCisgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDExMzIyICJjb25maWd1cmUiCisrI2xpbmUgMTEyNjIgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjaW5jbHVkZSA8d2luZG93cy5oPgorIGludCBtYWluKCkgeworIEZJTEVUSU1FIGZ0O0dldFN5c3RlbVRpbWVBc0ZpbGVUaW1lKCZmdCk7CisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTEzMjk6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTEyNjk6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY3ZfaGF2ZV9nZXRzeXN0ZW10aW1lYXNmaWxldGltZT0ieWVzIgorIGVsc2UKK0BAIC0xMTM1NSwxOSArMTEyOTUsMTkgQEAgYWNfbGluaz0nJHtDWFgtZysrfSAtbyBjb25mdGVzdCR7YWNfZXhlZXh0fSAkQ1hYRkxBR1MgJENQUEZMQUdTICRMREZMQUdTIGNvbmZ0ZXMKKyBjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY3h4X2Nyb3NzCisgCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIHdjcnRvbWIiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMTM1OTogY2hlY2tpbmcgZm9yIHdjcnRvbWIiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMTI5OTogY2hlY2tpbmcgZm9yIHdjcnRvbWIiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9oYXZlX3djcnRvbWInK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTEzNjQgImNvbmZpZ3VyZSIKKysjbGluZSAxMTMwNCAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICNpbmNsdWRlIDx3Y2hhci5oPgorIGludCBtYWluKCkgeworIG1ic3RhdGVfdCBwcz17MH07d2NydG9tYigwLCdmJywmcHMpOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjExMzcxOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjExMzExOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X2hhdmVfd2NydG9tYj0ieWVzIgorIGVsc2UKK0BAIC0xMTM5MCwxOSArMTEzMzAsMTkgQEAgRU9GCisgCisgZmkKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgbWJydG93YyIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjExMzk0OiBjaGVja2luZyBmb3IgbWJydG93YyIgPiY1CisrZWNobyAiY29uZmlndXJlOjExMzM0OiBjaGVja2luZyBmb3IgbWJydG93YyIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hhdmVfbWJydG93Yycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMTM5OSAiY29uZmlndXJlIgorKyNsaW5lIDExMzM5ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2luY2x1ZGUgPHdjaGFyLmg+CisgaW50IG1haW4oKSB7CisgbWJzdGF0ZV90IHBzPXswfTttYnJ0b3djKDAsMCwwLCZwcyk7CisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTE0MDY6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTEzNDY6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY3ZfaGF2ZV9tYnJ0b3djPSJ5ZXMiCisgZWxzZQorQEAgLTExNDM0LDEyICsxMTM3NCwxMiBAQCBjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY2NfY3Jvc3MKKyBmaQorIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciByZXNfbmluaXQoKSIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjExNDM4OiBjaGVja2luZyBmb3IgcmVzX25pbml0KCkiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMTM3ODogY2hlY2tpbmcgZm9yIHJlc19uaW5pdCgpIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfZnVuY19yZXNfbmluaXQnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTE0NDMgImNvbmZpZ3VyZSIKKysjbGluZSAxMTM4MyAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorICAgICAgICAgI2lmZGVmIGxpbnV4CitAQCAtMTE0NTEsNyArMTEzOTEsNyBAQCBpbnQgbWFpbigpIHsKKyBpbnQgZm9vID0gcmVzX25pbml0KCZfcmVzKTsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTQ1NTogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTM5NTogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBhY19jdl9mdW5jX3Jlc19uaW5pdD15ZXMKKyBlbHNlCitAQCAtMTE0ODQsMTIgKzExNDI0LDEyIEBAIGFjX2xpbms9JyR7Q1hYLWcrK30gLW8gY29uZnRlc3Qke2FjX2V4ZWV4dH0gJENYWEZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzCisgY3Jvc3NfY29tcGlsaW5nPSRhY19jdl9wcm9nX2N4eF9jcm9zcworIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBnbnVfZ2V0X2xpYmNfdmVyc2lvbigpIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTE0ODg6IGNoZWNraW5nIGZvciBnbnVfZ2V0X2xpYmNfdmVyc2lvbigpIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTE0Mjg6IGNoZWNraW5nIGZvciBnbnVfZ2V0X2xpYmNfdmVyc2lvbigpIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfZnVuY19nbnVfZ2V0X2xpYmNfdmVyc2lvbicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMTQ5MyAiY29uZmlndXJlIgorKyNsaW5lIDExNDMzICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgICAgICAgICAjaWZkZWYgSEFWRV9HTlVfTElCQ19WRVJTSU9OX0gKK0BAIC0xMTUwMCw3ICsxMTQ0MCw3IEBAIGludCBtYWluKCkgeworIGNvbnN0IGNoYXIgKmdsaWJjX3ZlcnNpb24gPSBnbnVfZ2V0X2xpYmNfdmVyc2lvbigpOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjExNTA0OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjExNDQ0OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X2Z1bmNfZ251X2dldF9saWJjX3ZlcnNpb249eWVzCisgZWxzZQorQEAgLTExNTM0LDcgKzExNDc0LDcgQEAgY3Jvc3NfY29tcGlsaW5nPSRhY19jdl9wcm9nX2NjX2Nyb3NzCisgCisgCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIGFuIGltcGxlbWVudGF0aW9uIG9mIHZhX2NvcHkoKSIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjExNTM4OiBjaGVja2luZyBmb3IgYW4gaW1wbGVtZW50YXRpb24gb2YgdmFfY29weSgpIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTE0Nzg6IGNoZWNraW5nIGZvciBhbiBpbXBsZW1lbnRhdGlvbiBvZiB2YV9jb3B5KCkiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl92YV9jb3B5JytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorQEAgLTExNTQ0LDcgKzExNDg0LDcgQEAgZWxzZQorICAgICAKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTE1NDggImNvbmZpZ3VyZSIKKysjbGluZSAxMTQ4OCAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorICAgICAgICAgI2luY2x1ZGUgPHN0ZGFyZy5oPgorQEAgLTExNTU4LDcgKzExNDk4LDcgQEAgZWxzZQorICAgICAgICAgfQorICAgICAgICAgaW50IG1haW4oKSB7IGYgKDAsIDQyKTsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjExNTYyOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH0gJiYgKC4vY29uZnRlc3Q7IGV4aXQpIDI+L2Rldi9udWxsCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTUwMjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9ICYmICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbAorIHRoZW4KKyAgIGFjX2N2X3ZhX2NvcHk9eWVzCisgZWxzZQorQEAgLTExNTc1LDcgKzExNTE1LDcgQEAgZmkKKyAKKyBlY2hvICIkYWNfdCIiJGFjX2N2X3ZhX2NvcHkiIDE+JjYKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgYW4gaW1wbGVtZW50YXRpb24gb2YgX192YV9jb3B5KCkiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMTU3OTogY2hlY2tpbmcgZm9yIGFuIGltcGxlbWVudGF0aW9uIG9mIF9fdmFfY29weSgpIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTE1MTk6IGNoZWNraW5nIGZvciBhbiBpbXBsZW1lbnRhdGlvbiBvZiBfX3ZhX2NvcHkoKSIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X19fdmFfY29weScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKK0BAIC0xMTU4NSw3ICsxMTUyNSw3IEBAIGVsc2UKKyAgICAgCisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDExNTg5ICJjb25maWd1cmUiCisrI2xpbmUgMTE1MjkgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyAgICAgICAgICNpbmNsdWRlIDxzdGRhcmcuaD4KK0BAIC0xMTU5OSw3ICsxMTUzOSw3IEBAIGVsc2UKKyAgICAgICAgIH0KKyAgICAgICAgIGludCBtYWluKCkgeyBmICgwLCA0Mik7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTYwMzogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9ICYmICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbAorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTE1NDM6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fSAmJiAoLi9jb25mdGVzdDsgZXhpdCkgMj4vZGV2L251bGwKKyB0aGVuCisgICBhY19jdl9fX3ZhX2NvcHk9eWVzCisgZWxzZQorQEAgLTExNjE2LDcgKzExNTU2LDcgQEAgZmkKKyAKKyBlY2hvICIkYWNfdCIiJGFjX2N2X19fdmFfY29weSIgMT4mNgorIGVjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgdmFfbGlzdHMgY2FuIGJlIGNvcGllZCBieSB2YWx1ZSIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjExNjIwOiBjaGVja2luZyB3aGV0aGVyIHZhX2xpc3RzIGNhbiBiZSBjb3BpZWQgYnkgdmFsdWUiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMTU2MDogY2hlY2tpbmcgd2hldGhlciB2YV9saXN0cyBjYW4gYmUgY29waWVkIGJ5IHZhbHVlIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfdmFfdmFsX2NvcHknK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCitAQCAtMTE2MjYsNyArMTE1NjYsNyBAQCBlbHNlCisgICAgIAorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMTYzMCAiY29uZmlndXJlIgorKyNsaW5lIDExNTcwICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgICAgICAgICAjaW5jbHVkZSA8c3RkYXJnLmg+CitAQCAtMTE2NDAsNyArMTE1ODAsNyBAQCBlbHNlCisgICAgICAgICB9CisgICAgICAgICBpbnQgbWFpbigpIHsgZiAoMCwgNDIpOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTE2NDQ6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fSAmJiAoLi9jb25mdGVzdDsgZXhpdCkgMj4vZGV2L251bGwKKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjExNTg0OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH0gJiYgKC4vY29uZnRlc3Q7IGV4aXQpIDI+L2Rldi9udWxsCisgdGhlbgorICAgYWNfY3ZfdmFfdmFsX2NvcHk9eWVzCisgZWxzZQorQEAgLTExNzEwLDEyICsxMTY1MCwxMiBAQCBBUk1fQUJJX1BSRUZJWD0KKyBpZiB0ZXN0ICIkR05VX0NDIjsgdGhlbgorICAgaWYgdGVzdCAiJENQVV9BUkNIIiA9ICJhcm0iIDsgdGhlbgorICAgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgQVJNIEVBQkkiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMTcxNDogY2hlY2tpbmcgZm9yIEFSTSBFQUJJIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTE2NTQ6IGNoZWNraW5nIGZvciBBUk0gRUFCSSIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2djY19hcm1fZWFiaScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMTcxOSAiY29uZmlndXJlIgorKyNsaW5lIDExNjU5ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgaW50IG1haW4oKSB7CitAQCAtMTE3MjgsNyArMTE2NjgsNyBAQCBpbnQgbWFpbigpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTczMjogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTE2NzI6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X2djY19hcm1fZWFiaT0ieWVzIgorIGVsc2UKK0BAIC0xMTc1MywxMiArMTE2OTMsMTIgQEAgZWNobyAiJGFjX3QiIiRhY19jdl9nY2NfYXJtX2VhYmkiIDE+JjYKKyBmaQorIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBtb2Rlcm4gQysrIHRlbXBsYXRlIHNwZWNpYWxpemF0aW9uIHN5bnRheCBzdXBwb3J0IiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTE3NTc6IGNoZWNraW5nIGZvciBtb2Rlcm4gQysrIHRlbXBsYXRlIHNwZWNpYWxpemF0aW9uIHN5bnRheCBzdXBwb3J0IiA+JjUKKytlY2hvICJjb25maWd1cmU6MTE2OTc6IGNoZWNraW5nIGZvciBtb2Rlcm4gQysrIHRlbXBsYXRlIHNwZWNpYWxpemF0aW9uIHN5bnRheCBzdXBwb3J0IiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfY3BwX21vZGVybl9zcGVjaWFsaXplX3RlbXBsYXRlX3N5bnRheCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMTc2MiAiY29uZmlndXJlIgorKyNsaW5lIDExNzAyICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgdGVtcGxhdGUgPGNsYXNzIFQ+IHN0cnVjdCBYIHsgaW50IGE7IH07CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzIFkge307CitAQCAtMTE3NjgsNyArMTE3MDgsNyBAQCBYPGludD4gaW50X3g7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFg8WT4geV94OworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjExNzcyOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTcxMjogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY3ZfY3BwX21vZGVybl9zcGVjaWFsaXplX3RlbXBsYXRlX3N5bnRheD15ZXMKKyBlbHNlCitAQCAtMTE3ODYsMTIgKzExNzI2LDEyIEBAIGlmIHRlc3QgIiRhY19jdl9jcHBfbW9kZXJuX3NwZWNpYWxpemVfdGVtcGxhdGVfc3ludGF4IiA9IG5vIDsgdGhlbgorIGZpCisgCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhlciBwYXJ0aWFsIHRlbXBsYXRlIHNwZWNpYWxpemF0aW9uIHdvcmtzIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTE3OTA6IGNoZWNraW5nIHdoZXRoZXIgcGFydGlhbCB0ZW1wbGF0ZSBzcGVjaWFsaXphdGlvbiB3b3JrcyIgPiY1CisrZWNobyAiY29uZmlndXJlOjExNzMwOiBjaGVja2luZyB3aGV0aGVyIHBhcnRpYWwgdGVtcGxhdGUgc3BlY2lhbGl6YXRpb24gd29ya3MiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9jcHBfcGFydGlhbF9zcGVjaWFsaXphdGlvbicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMTc5NSAiY29uZmlndXJlIgorKyNsaW5lIDExNzM1ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgdGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIEZvbyB7fTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIEZvbzxUKj4ge307CitAQCAtMTE3OTksNyArMTE3MzksNyBAQCBpbnQgbWFpbigpIHsKKyByZXR1cm4gMDsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTgwMzogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTE3NDM6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X2NwcF9wYXJ0aWFsX3NwZWNpYWxpemF0aW9uPXllcworIGVsc2UKK0BAIC0xMTgyMywxMiArMTE3NjMsMTIgQEAgRU9GCisgZmkKKyAKKyBlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgXCJ1c2luZ1wiIGtleXdvcmQgcmVzb2x2ZXMgYW1iaWd1aXR5IiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTE4Mjc6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBcInVzaW5nXCIga2V5d29yZCByZXNvbHZlcyBhbWJpZ3VpdHkiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMTc2NzogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIFwidXNpbmdcIiBrZXl3b3JkIHJlc29sdmVzIGFtYmlndWl0eSIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2NwcF9hbWJpZ3VpdHlfcmVzb2x2aW5nX3VzaW5nJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDExODMyICJjb25maWd1cmUiCisrI2xpbmUgMTE3NzIgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyBjbGFzcyBYIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWM6IGludCBnbyhjb25zdCBYJikge3JldHVybiAzO30KK0BAIC0xMTg0NCw3ICsxMTc4NCw3IEBAIGludCBtYWluKCkgeworIFggeDsgWSB5OyB5LmpvKHgpOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjExODQ4OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTc4ODogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY3ZfY3BwX2FtYmlndWl0eV9yZXNvbHZpbmdfdXNpbmc9eWVzCisgZWxzZQorQEAgLTExODY4LDcgKzExODA4LDcgQEAgRU9GCisgZmkKKyAKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgQysrIGR5bmFtaWNfY2FzdCB0byB2b2lkKiIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjExODcyOiBjaGVja2luZyBmb3IgQysrIGR5bmFtaWNfY2FzdCB0byB2b2lkKiIgPiY1CisrZWNobyAiY29uZmlndXJlOjExODEyOiBjaGVja2luZyBmb3IgQysrIGR5bmFtaWNfY2FzdCB0byB2b2lkKiIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2NwcF9keW5hbWljX2Nhc3Rfdm9pZF9wdHInK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCitAQCAtMTE4NzYsNyArMTE4MTYsNyBAQCBlbHNlCisgICBhY19jdl9jcHBfZHluYW1pY19jYXN0X3ZvaWRfcHRyPW5vCisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDExODgwICJjb25maWd1cmUiCisrI2xpbmUgMTE4MjAgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyBjbGFzcyBYIHsgaW50IGk7IHB1YmxpYzogdmlydHVhbCB+WCgpIHsgfSB9OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcyBZIHsgaW50IGo7IHB1YmxpYzogdmlydHVhbCB+WSgpIHsgfSB9OworQEAgLTExODkyLDcgKzExODMyLDcgQEAgY2xhc3MgWCB7IGludCBpOyBwdWJsaWM6IHZpcnR1YWwgflgoKSB7IH0gfTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2lkKikmbWRvID09IGR5bmFtaWNfY2FzdDx2b2lkKj4oc3VieSkpKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjExODk2OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH0gJiYgKC4vY29uZnRlc3Q7IGV4aXQpIDI+L2Rldi9udWxsCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTgzNjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9ICYmICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbAorIHRoZW4KKyAgIGFjX2N2X2NwcF9keW5hbWljX2Nhc3Rfdm9pZF9wdHI9eWVzCisgZWxzZQorQEAgLTExOTE5LDE5ICsxMTg1OSwxOSBAQCBmaQorIAorIAorIGVjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgQysrIHJlcXVpcmVzIGltcGxlbWVudGF0aW9uIG9mIHVudXNlZCB2aXJ0dWFsIG1ldGhvZHMiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMTkyMzogY2hlY2tpbmcgd2hldGhlciBDKysgcmVxdWlyZXMgaW1wbGVtZW50YXRpb24gb2YgdW51c2VkIHZpcnR1YWwgbWV0aG9kcyIgPiY1CisrZWNobyAiY29uZmlndXJlOjExODYzOiBjaGVja2luZyB3aGV0aGVyIEMrKyByZXF1aXJlcyBpbXBsZW1lbnRhdGlvbiBvZiB1bnVzZWQgdmlydHVhbCBtZXRob2RzIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfY3BwX3VudXNlZF9yZXF1aXJlZCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMTkyOCAiY29uZmlndXJlIgorKyNsaW5lIDExODY4ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgY2xhc3MgWCB7cHJpdmF0ZTogdmlydHVhbCB2b2lkIG5ldmVyX2NhbGxlZCgpO307CisgaW50IG1haW4oKSB7CisgWCB4OworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjExOTM1OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjExODc1OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X2NwcF91bnVzZWRfcmVxdWlyZWQ9bm8KKyBlbHNlCitAQCAtMTE5NTcsMTIgKzExODk3LDEyIEBAIGZpCisgCisgCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIHRyb3VibGUgY29tcGFyaW5nIHRvIHplcm8gbmVhciBzdGQ6Om9wZXJhdG9yIT0oKSIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjExOTYxOiBjaGVja2luZyBmb3IgdHJvdWJsZSBjb21wYXJpbmcgdG8gemVybyBuZWFyIHN0ZDo6b3BlcmF0b3IhPSgpIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTE5MDE6IGNoZWNraW5nIGZvciB0cm91YmxlIGNvbXBhcmluZyB0byB6ZXJvIG5lYXIgc3RkOjpvcGVyYXRvciE9KCkiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl90cm91YmxlX2NvbXBhcmluZ190b196ZXJvJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDExOTY2ICJjb25maWd1cmUiCisrI2xpbmUgMTE5MDYgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjaW5jbHVkZSA8YWxnb3JpdGhtPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIEZvbyB7fTsKK0BAIC0xMTk3Myw3ICsxMTkxMyw3IEBAIGludCBtYWluKCkgeworIEZvbzxpbnQ+IGY7IHJldHVybiAoMCAhPSBmKTsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTk3NzogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTE5MTc6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X3Ryb3VibGVfY29tcGFyaW5nX3RvX3plcm89bm8KKyBlbHNlCitAQCAtMTIwMDMsMTkgKzExOTQzLDE5IEBAIGZpCisgX1NBVkVfTERGTEFHUz0kTERGTEFHUworIExERkxBR1M9IiRMREZMQUdTICREU09fUElDX0NGTEFHUyAkRFNPX0xET1BUUyAkTU9aX09QVElNSVpFX0xERkxBR1MiCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIF9fdGhyZWFkIGtleXdvcmQgZm9yIFRMUyB2YXJpYWJsZXMiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMjAwNzogY2hlY2tpbmcgZm9yIF9fdGhyZWFkIGtleXdvcmQgZm9yIFRMUyB2YXJpYWJsZXMiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMTk0NzogY2hlY2tpbmcgZm9yIF9fdGhyZWFkIGtleXdvcmQgZm9yIFRMUyB2YXJpYWJsZXMiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl90aHJlYWRfa2V5d29yZCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMjAxMiAiY29uZmlndXJlIgorKyNsaW5lIDExOTUyICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgX190aHJlYWQgYm9vbCB0bHNJc01haW5UaHJlYWQgPSBmYWxzZTsKKyBpbnQgbWFpbigpIHsKKyByZXR1cm4gdGxzSXNNYWluVGhyZWFkOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEyMDE5OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjExOTU5OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X3RocmVhZF9rZXl3b3JkPXllcworIGVsc2UKK0BAIC0xMjA1NSwxMiArMTE5OTUsMTIgQEAgZmkKKyBNQUxMT0NfSD0KKyAgICBhY19zYWZlPWBlY2hvICJtYWxsb2MuaCIgfCBzZWQgJ3klLi8rLSVfX3BfJSdgCisgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgbWFsbG9jLmgiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMjA1OTogY2hlY2tpbmcgZm9yIG1hbGxvYy5oIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTE5OTk6IGNoZWNraW5nIGZvciBtYWxsb2MuaCIgPiY1CisgICBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGVhZGVyXyRhY19zYWZlJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMjA2NCAiY29uZmlndXJlIgorKyNsaW5lIDEyMDA0ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgI2luY2x1ZGUgPG1hbGxvYy5oPgorQEAgLTEyMDY4LDcgKzEyMDA4LDcgQEAgaW50IG1haW4oKSB7CisgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTIwNzI6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEyMDEyOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBldmFsICJhY19jdl9oZWFkZXJfJGFjX3NhZmU9eWVzIgorIGVsc2UKK0BAIC0xMjA5MSwxMiArMTIwMzEsMTIgQEAgZmkKKyBpZiB0ZXN0ICIkTUFMTE9DX0giID0gIiI7IHRoZW4KKyAgICAgIGFjX3NhZmU9YGVjaG8gIm1hbGxvYy9tYWxsb2MuaCIgfCBzZWQgJ3klLi8rLSVfX3BfJSdgCisgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgbWFsbG9jL21hbGxvYy5oIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTIwOTU6IGNoZWNraW5nIGZvciBtYWxsb2MvbWFsbG9jLmgiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMjAzNTogY2hlY2tpbmcgZm9yIG1hbGxvYy9tYWxsb2MuaCIgPiY1CisgICBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGVhZGVyXyRhY19zYWZlJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMjEwMCAiY29uZmlndXJlIgorKyNsaW5lIDEyMDQwICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgI2luY2x1ZGUgPG1hbGxvYy9tYWxsb2MuaD4KK0BAIC0xMjEwNCw3ICsxMjA0NCw3IEBAIGludCBtYWluKCkgeworIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEyMTA4OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMjA0ODogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgZXZhbCAiYWNfY3ZfaGVhZGVyXyRhY19zYWZlPXllcyIKKyBlbHNlCitAQCAtMTIxMjcsMTIgKzEyMDY3LDEyIEBAIGZpCisgICBpZiB0ZXN0ICIkTUFMTE9DX0giID0gIiI7IHRoZW4KKyAgICAgICAgYWNfc2FmZT1gZWNobyAic3lzL21hbGxvYy5oIiB8IHNlZCAneSUuLystJV9fcF8lJ2AKKyAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBzeXMvbWFsbG9jLmgiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMjEzMTogY2hlY2tpbmcgZm9yIHN5cy9tYWxsb2MuaCIgPiY1CisrZWNobyAiY29uZmlndXJlOjEyMDcxOiBjaGVja2luZyBmb3Igc3lzL21hbGxvYy5oIiA+JjUKKyAgIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9oZWFkZXJfJGFjX3NhZmUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDEyMTM2ICJjb25maWd1cmUiCisrI2xpbmUgMTIwNzYgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyAjaW5jbHVkZSA8c3lzL21hbGxvYy5oPgorQEAgLTEyMTQwLDcgKzEyMDgwLDcgQEAgaW50IG1haW4oKSB7CisgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTIxNDQ6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEyMDg0OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBldmFsICJhY19jdl9oZWFkZXJfJGFjX3NhZmU9eWVzIgorIGVsc2UKK0BAIC0xMjE3NiwxMiArMTIxMTYsMTIgQEAgTU9aX0FMTE9DQVRJTkdfRlVOQ1M9InN0cm5kdXAgcG9zaXhfbWVtYWxpZ24gbWVtYWxpZ24gdmFsbG9jIgorIGZvciBhY19mdW5jIGluIHN0cm5kdXAgcG9zaXhfbWVtYWxpZ24gbWVtYWxpZ24gdmFsbG9jCisgZG8KKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX2Z1bmMiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMjE4MDogY2hlY2tpbmcgZm9yICRhY19mdW5jIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTIxMjA6IGNoZWNraW5nIGZvciAkYWNfZnVuYyIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2Z1bmNfJGFjX2Z1bmMnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTIxODUgImNvbmZpZ3VyZSIKKysjbGluZSAxMjEyNSAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKKyAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciAkYWNfZnVuYygpOyBiZWxvdy4gICovCitAQCAtMTIyMDcsNyArMTIxNDcsNyBAQCAkYWNfZnVuYygpOworIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEyMjExOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEyMTUxOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGV2YWwgImFjX2N2X2Z1bmNfJGFjX2Z1bmM9eWVzIgorIGVsc2UKK0BAIC0xMjIzNywxOSArMTIxNzcsMTkgQEAgZG9uZQorIAorIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBfX2F0dHJpYnV0ZV9fKChhbHdheXNfaW5saW5lKSkiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMjI0MTogY2hlY2tpbmcgZm9yIF9fYXR0cmlidXRlX18oKGFsd2F5c19pbmxpbmUpKSIgPiY1CisrZWNobyAiY29uZmlndXJlOjEyMTgxOiBjaGVja2luZyBmb3IgX19hdHRyaWJ1dGVfXygoYWx3YXlzX2lubGluZSkpIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfYXR0cmlidXRlX2Fsd2F5c19pbmxpbmUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTIyNDYgImNvbmZpZ3VyZSIKKysjbGluZSAxMjE4NiAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIGlubGluZSB2b2lkIGYodm9pZCkgX19hdHRyaWJ1dGVfXygoYWx3YXlzX2lubGluZSkpOworIGludCBtYWluKCkgeworIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEyMjUzOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMjE5MzogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY3ZfYXR0cmlidXRlX2Fsd2F5c19pbmxpbmU9eWVzCisgZWxzZQorQEAgLTEyMjY0LDE5ICsxMjIwNCwxOSBAQCBmaQorIGVjaG8gIiRhY190IiIkYWNfY3ZfYXR0cmlidXRlX2Fsd2F5c19pbmxpbmUiIDE+JjYKKyAKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgX19hdHRyaWJ1dGVfXygobWFsbG9jKSkiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMjI2ODogY2hlY2tpbmcgZm9yIF9fYXR0cmlidXRlX18oKG1hbGxvYykpIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTIyMDg6IGNoZWNraW5nIGZvciBfX2F0dHJpYnV0ZV9fKChtYWxsb2MpKSIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2F0dHJpYnV0ZV9tYWxsb2MnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTIyNzMgImNvbmZpZ3VyZSIKKysjbGluZSAxMjIxMyAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIHZvaWQqIGYoaW50KSBfX2F0dHJpYnV0ZV9fKChtYWxsb2MpKTsKKyBpbnQgbWFpbigpIHsKKyAKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMjI4MDogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTIyMjA6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X2F0dHJpYnV0ZV9tYWxsb2M9eWVzCisgZWxzZQorQEAgLTEyMjkxLDE5ICsxMjIzMSwxOSBAQCBmaQorIGVjaG8gIiRhY190IiIkYWNfY3ZfYXR0cmlidXRlX21hbGxvYyIgMT4mNgorIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBfX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKSIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjEyMjk1OiBjaGVja2luZyBmb3IgX19hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSkiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMjIzNTogY2hlY2tpbmcgZm9yIF9fYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfYXR0cmlidXRlX3dhcm5fdW51c2VkJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDEyMzAwICJjb25maWd1cmUiCisrI2xpbmUgMTIyNDAgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyBpbnQgZih2b2lkKSBfX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKKyBpbnQgbWFpbigpIHsKKyAKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMjMwNzogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTIyNDc6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X2F0dHJpYnV0ZV93YXJuX3VudXNlZD15ZXMKKyBlbHNlCitAQCAtMTIzMjcsMTkgKzEyMjY3LDE5IEBAIGNyb3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jY19jcm9zcworIAorIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBMQ19NRVNTQUdFUyIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjEyMzMxOiBjaGVja2luZyBmb3IgTENfTUVTU0FHRVMiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMjI3MTogY2hlY2tpbmcgZm9yIExDX01FU1NBR0VTIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaTE4bl9sY19tZXNzYWdlcycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMjMzNiAiY29uZmlndXJlIgorKyNsaW5lIDEyMjc2ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2luY2x1ZGUgPGxvY2FsZS5oPgorIGludCBtYWluKCkgeworIGludCBjYXRlZ29yeSA9IExDX01FU1NBR0VTOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEyMzQzOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMjI4MzogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY3ZfaTE4bl9sY19tZXNzYWdlcz15ZXMKKyBlbHNlCitAQCAtMTIzNjUsMTIgKzEyMzA1LDEyIEBAIGZpCisgZm9yIGFjX2Z1bmMgaW4gbG9jYWxlY29udgorIGRvCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY19mdW5jIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTIzNjk6IGNoZWNraW5nIGZvciAkYWNfZnVuYyIgPiY1CisrZWNobyAiY29uZmlndXJlOjEyMzA5OiBjaGVja2luZyBmb3IgJGFjX2Z1bmMiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9mdW5jXyRhY19mdW5jJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDEyMzc0ICJjb25maWd1cmUiCisrI2xpbmUgMTIzMTQgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCisgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgJGFjX2Z1bmMoKTsgYmVsb3cuICAqLworQEAgLTEyMzkzLDcgKzEyMzMzLDcgQEAgJGFjX2Z1bmMoKTsKKyAKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMjM5NzogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMjMzNzogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBldmFsICJhY19jdl9mdW5jXyRhY19mdW5jPXllcyIKKyBlbHNlCitAQCAtMTI1ODAsNyArMTI1MjAsNyBAQCBmaQorIAkjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIm5zcHItY29uZmlnIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KKyBzZXQgZHVtbXkgbnNwci1jb25maWc7IGFjX3dvcmQ9JDIKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMjU4NDogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTI1MjQ6IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3BhdGhfTlNQUl9DT05GSUcnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCitAQCAtMTI2MTUsNyArMTI1NTUsNyBAQCBmaQorIAorIAltaW5fbnNwcl92ZXJzaW9uPSROU1BSX01JTlZFUgorIAllY2hvICRhY19uICJjaGVja2luZyBmb3IgTlNQUiAtIHZlcnNpb24gPj0gJG1pbl9uc3ByX3ZlcnNpb24iIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMjYxOTogY2hlY2tpbmcgZm9yIE5TUFIgLSB2ZXJzaW9uID49ICRtaW5fbnNwcl92ZXJzaW9uIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTI1NTk6IGNoZWNraW5nIGZvciBOU1BSIC0gdmVyc2lvbiA+PSAkbWluX25zcHJfdmVyc2lvbiIgPiY1CisgCisgCW5vX25zcHI9IiIKKyAJaWYgdGVzdCAiJE5TUFJfQ09ORklHIiAhPSAibm8iOyB0aGVuCitAQCAtMTI2NzgsNyArMTI2MTgsNyBAQCBpZiB0ZXN0IC1uICIkTU9aX05BVElWRV9OU1BSIjsgdGhlbgorICAgICBfU0FWRV9DRkxBR1M9JENGTEFHUworICAgICBDRkxBR1M9IiRDRkxBR1MgJE5TUFJfQ0ZMQUdTIgorICAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTI2ODIgImNvbmZpZ3VyZSIKKysjbGluZSAxMjYyMiAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICNpbmNsdWRlICJwcmxvZy5oIgorIGludCBtYWluKCkgeworQEAgLTEyNjg3LDcgKzEyNjI3LDcgQEAgaW50IG1haW4oKSB7CisgICAgICAgICAgICAgICAgICAjZW5kaWYKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMjY5MTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTI2MzE6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIE1PWl9OQVRJVkVfTlNQUj0xCisgZWxzZQorQEAgLTEyNzI5LDcgKzEyNjY5LDcgQEAgaWYgdGVzdCAteiAiJE1PWl9aTElCX0xJQlMkTU9aX1pMSUJfQ0ZMQUdTJFNLSVBfTElCUkFSWV9DSEVDS1MiOyB0aGVuCisgICAgICAgICBNT1pfTkFUSVZFX1pMSUI9CisgICAgIGVsc2UKKyAgICAgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBnenJlYWQgaW4gLWx6IiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTI3MzM6IGNoZWNraW5nIGZvciBnenJlYWQgaW4gLWx6IiA+JjUKKytlY2hvICJjb25maWd1cmU6MTI2NzM6IGNoZWNraW5nIGZvciBnenJlYWQgaW4gLWx6IiA+JjUKKyBhY19saWJfdmFyPWBlY2hvIHonXydnenJlYWQgfCBzZWQgJ3klLi8rLSVfX3BfJSdgCisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2xpYl8kYWNfbGliX3Zhcicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorQEAgLTEyNzM3LDcgKzEyNjc3LDcgQEAgZWxzZQorICAgYWNfc2F2ZV9MSUJTPSIkTElCUyIKKyBMSUJTPSItbHogICRMSUJTIgorIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMjc0MSAiY29uZmlndXJlIgorKyNsaW5lIDEyNjgxICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KKyAvKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCitAQCAtMTI3NDgsNyArMTI2ODgsNyBAQCBpbnQgbWFpbigpIHsKKyBnenJlYWQoKQorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEyNzUyOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEyNjkyOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGV2YWwgImFjX2N2X2xpYl8kYWNfbGliX3Zhcj15ZXMiCisgZWxzZQorQEAgLTEyNzcyLDcgKzEyNzEyLDcgQEAgZmkKKyAgICAgICAgIGlmIHRlc3QgIiRNT1pfTkFUSVZFX1pMSUIiID0gMTsgdGhlbgorICAgICAgICAgICAgIE1PWlpMSUJOVU09YGVjaG8gJE1PWlpMSUIgfCBhd2sgLUYuICd7cHJpbnRmICIweCV4XG4iLCAoKCgkMSAqIDE2ICsgJDIpICogMTYpICsgJDMpICogMTYgKyAkNH0nYAorICAgICAgICAgICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMjc3NiAiY29uZmlndXJlIgorKyNsaW5lIDEyNzE2ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgICNpbmNsdWRlIDxzdGRpby5oPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2luY2x1ZGUgPHN0cmluZy5oPgorQEAgLTEyNzgzLDcgKzEyNzIzLDcgQEAgaW50IG1haW4oKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZW5kaWYgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTI3ODc6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEyNzI3OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBNT1pfTkFUSVZFX1pMSUI9MQorIGVsc2UKK0BAIC0xMjgyOSw3ICsxMjc2OSw3IEBAIGlmIHRlc3QgLW4gIiRNT1pfTkFUSVZFX0ZGSSI7IHRoZW4KKyAgICAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJwa2ctY29uZmlnIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KKyBzZXQgZHVtbXkgcGtnLWNvbmZpZzsgYWNfd29yZD0kMgorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfd29yZCIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjEyODMzOiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMjc3MzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfcGF0aF9QS0dfQ09ORklHJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorQEAgLTEyODczLDE5ICsxMjgxMywxOSBAQCBmaQorICAgICAgUEtHX0NPTkZJR19NSU5fVkVSU0lPTj0wLjkuMAorICAgICAgaWYgJFBLR19DT05GSUcgLS1hdGxlYXN0LXBrZ2NvbmZpZy12ZXJzaW9uICRQS0dfQ09ORklHX01JTl9WRVJTSU9OOyB0aGVuCisgICAgICAgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgbGliZmZpID4gMy4wLjkiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMjg3NzogY2hlY2tpbmcgZm9yIGxpYmZmaSA+IDMuMC45IiA+JjUKKytlY2hvICJjb25maWd1cmU6MTI4MTc6IGNoZWNraW5nIGZvciBsaWJmZmkgPiAzLjAuOSIgPiY1CisgCisgICAgICAgICBpZiAkUEtHX0NPTkZJRyAtLWV4aXN0cyAibGliZmZpID4gMy4wLjkiIDsgdGhlbgorICAgICAgICAgICAgIGVjaG8gIiRhY190IiJ5ZXMiIDE+JjYKKyAgICAgICAgICAgICBzdWNjZWVkZWQ9eWVzCisgCisgICAgICAgICAgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgTU9aX0ZGSV9DRkxBR1MiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMjg4NDogY2hlY2tpbmcgTU9aX0ZGSV9DRkxBR1MiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMjgyNDogY2hlY2tpbmcgTU9aX0ZGSV9DRkxBR1MiID4mNQorICAgICAgICAgICAgIE1PWl9GRklfQ0ZMQUdTPWAkUEtHX0NPTkZJRyAtLWNmbGFncyAibGliZmZpID4gMy4wLjkiYAorICAgICAgICAgICAgIGVjaG8gIiRhY190IiIkTU9aX0ZGSV9DRkxBR1MiIDE+JjYKKyAKKyAgICAgICAgICAgICBlY2hvICRhY19uICJjaGVja2luZyBNT1pfRkZJX0xJQlMiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMjg4OTogY2hlY2tpbmcgTU9aX0ZGSV9MSUJTIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTI4Mjk6IGNoZWNraW5nIE1PWl9GRklfTElCUyIgPiY1CisgICAgICAgICAgICAgIyMgUmVtb3ZlIGV2aWwgZmxhZ3MgbGlrZSAtV2wsLS1leHBvcnQtZHluYW1pYworICAgICAgICAgICAgIE1PWl9GRklfTElCUz0iYCRQS0dfQ09ORklHIC0tbGlicyBcImxpYmZmaSA+IDMuMC45XCIgfHNlZCBzLy1XbCwtLWV4cG9ydC1keW5hbWljLy9nYCIKKyAgICAgICAgICAgICBlY2hvICIkYWNfdCIiJE1PWl9GRklfTElCUyIgMT4mNgorQEAgLTEyOTIxLDcgKzEyODYxLDcgQEAgZWNobyAiY29uZmlndXJlOjEyODg5OiBjaGVja2luZyBNT1pfRkZJX0xJQlMiID4mNQorICAgICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgInBrZy1jb25maWciLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorIHNldCBkdW1teSBwa2ctY29uZmlnOyBhY193b3JkPSQyCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY193b3JkIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTI5MjU6IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CisrZWNobyAiY29uZmlndXJlOjEyODY1OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9wYXRoX1BLR19DT05GSUcnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCitAQCAtMTI5NjUsMTkgKzEyOTA1LDE5IEBAIGZpCisgICAgICBQS0dfQ09ORklHX01JTl9WRVJTSU9OPTAuOS4wCisgICAgICBpZiAkUEtHX0NPTkZJRyAtLWF0bGVhc3QtcGtnY29uZmlnLXZlcnNpb24gJFBLR19DT05GSUdfTUlOX1ZFUlNJT047IHRoZW4KKyAgICAgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBsaWJmZmkgPj0gMy4wLjkiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMjk2OTogY2hlY2tpbmcgZm9yIGxpYmZmaSA+PSAzLjAuOSIgPiY1CisrZWNobyAiY29uZmlndXJlOjEyOTA5OiBjaGVja2luZyBmb3IgbGliZmZpID49IDMuMC45IiA+JjUKKyAKKyAgICAgICAgIGlmICRQS0dfQ09ORklHIC0tZXhpc3RzICJsaWJmZmkgPj0gMy4wLjkiIDsgdGhlbgorICAgICAgICAgICAgIGVjaG8gIiRhY190IiJ5ZXMiIDE+JjYKKyAgICAgICAgICAgICBzdWNjZWVkZWQ9eWVzCisgCisgICAgICAgICAgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgTU9aX0ZGSV9DRkxBR1MiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMjk3NjogY2hlY2tpbmcgTU9aX0ZGSV9DRkxBR1MiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMjkxNjogY2hlY2tpbmcgTU9aX0ZGSV9DRkxBR1MiID4mNQorICAgICAgICAgICAgIE1PWl9GRklfQ0ZMQUdTPWAkUEtHX0NPTkZJRyAtLWNmbGFncyAibGliZmZpID49IDMuMC45ImAKKyAgICAgICAgICAgICBlY2hvICIkYWNfdCIiJE1PWl9GRklfQ0ZMQUdTIiAxPiY2CisgCisgICAgICAgICAgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgTU9aX0ZGSV9MSUJTIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTI5ODE6IGNoZWNraW5nIE1PWl9GRklfTElCUyIgPiY1CisrZWNobyAiY29uZmlndXJlOjEyOTIxOiBjaGVja2luZyBNT1pfRkZJX0xJQlMiID4mNQorICAgICAgICAgICAgICMjIFJlbW92ZSBldmlsIGZsYWdzIGxpa2UgLVdsLC0tZXhwb3J0LWR5bmFtaWMKKyAgICAgICAgICAgICBNT1pfRkZJX0xJQlM9ImAkUEtHX0NPTkZJRyAtLWxpYnMgXCJsaWJmZmkgPj0gMy4wLjlcIiB8c2VkIHMvLVdsLC0tZXhwb3J0LWR5bmFtaWMvL2dgIgorICAgICAgICAgICAgIGVjaG8gIiRhY190IiIkTU9aX0ZGSV9MSUJTIiAxPiY2CitAQCAtMTMxMTIsMTggKzEzMDUyLDE4IEBAIE1PWl9ERUJVR19ESVNBQkxFX0RFRlM9Ii1ETkRFQlVHIC1EVFJJTU1FRCIKKyAKKyBpZiB0ZXN0IC1uICIkTU9aX0RFQlVHIjsgdGhlbgorICAgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgdmFsaWQgZGVidWcgZmxhZ3MiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMzExNjogY2hlY2tpbmcgZm9yIHZhbGlkIGRlYnVnIGZsYWdzIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTMwNTY6IGNoZWNraW5nIGZvciB2YWxpZCBkZWJ1ZyBmbGFncyIgPiY1CisgICAgIF9TQVZFX0NGTEFHUz0kQ0ZMQUdTCisgICAgIENGTEFHUz0iJENGTEFHUyAkTU9aX0RFQlVHX0ZMQUdTIgorICAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTMxMjAgImNvbmZpZ3VyZSIKKysjbGluZSAxMzA2MCAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICNpbmNsdWRlIDxzdGRpby5oPgorIGludCBtYWluKCkgeworIHByaW50ZigiSGVsbG8gV29ybGRcbiIpOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEzMTI3OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMzA2NzogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgX3Jlc3VsdHM9eWVzCisgZWxzZQorQEAgLTEzMjAxLDE4ICsxMzE0MSwxOCBAQCBmaQorIGlmIHRlc3QgIiRDT01QSUxFX0VOVklST05NRU5UIjsgdGhlbgorIGlmIHRlc3QgLW4gIiRNT1pfT1BUSU1JWkUiOyB0aGVuCisgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciB2YWxpZCBvcHRpbWl6YXRpb24gZmxhZ3MiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMzIwNTogY2hlY2tpbmcgZm9yIHZhbGlkIG9wdGltaXphdGlvbiBmbGFncyIgPiY1CisrZWNobyAiY29uZmlndXJlOjEzMTQ1OiBjaGVja2luZyBmb3IgdmFsaWQgb3B0aW1pemF0aW9uIGZsYWdzIiA+JjUKKyAgICAgX1NBVkVfQ0ZMQUdTPSRDRkxBR1MKKyAgICAgQ0ZMQUdTPSIkQ0ZMQUdTICRNT1pfT1BUSU1JWkVfRkxBR1MiCisgICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMzIwOSAiY29uZmlndXJlIgorKyNsaW5lIDEzMTQ5ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgaW50IG1haW4oKSB7CisgcHJpbnRmKCJIZWxsbyBXb3JsZFxuIik7CisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTMyMTY6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEzMTU2OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBfcmVzdWx0cz15ZXMKKyBlbHNlCitAQCAtMTMzNjQsNyArMTMzMDQsNyBAQCBFT0YKKyAgICAgZmkKKyAgIGVsc2UKKyAgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgc2l6ZSBvZiBpbnQgKiIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjEzMzY4OiBjaGVja2luZyBzaXplIG9mIGludCAqIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTMzMDg6IGNoZWNraW5nIHNpemUgb2YgaW50ICoiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9zaXplb2ZfaW50X3AnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCitAQCAtMTMzNzIsNyArMTMzMTIsNyBAQCBlbHNlCisgICBhY19jdl9zaXplb2ZfaW50X3A9NAorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMzM3NiAiY29uZmlndXJlIgorKyNsaW5lIDEzMzE2ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgaW50IG1haW4oKQorQEAgLTEzMzgzLDcgKzEzMzIzLDcgQEAgaW50IG1haW4oKQorICAgcmV0dXJuKDApOworIH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEzMzg3OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH0gJiYgKC4vY29uZnRlc3Q7IGV4aXQpIDI+L2Rldi9udWxsCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMzMyNzogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9ICYmICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbAorIHRoZW4KKyAgIGFjX2N2X3NpemVvZl9pbnRfcD1gY2F0IGNvbmZ0ZXN0dmFsYAorIGVsc2UKK0BAIC0xMzY4NywxMiArMTM2MjcsMTIgQEAgZmkKKyBpZiB0ZXN0IC1uICIkTU9aX1ZBTEdSSU5EIjsgdGhlbgorICAgICAgICBhY19zYWZlPWBlY2hvICJ2YWxncmluZC92YWxncmluZC5oIiB8IHNlZCAneSUuLystJV9fcF8lJ2AKKyAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciB2YWxncmluZC92YWxncmluZC5oIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTM2OTE6IGNoZWNraW5nIGZvciB2YWxncmluZC92YWxncmluZC5oIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTM2MzE6IGNoZWNraW5nIGZvciB2YWxncmluZC92YWxncmluZC5oIiA+JjUKKyAgIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9oZWFkZXJfJGFjX3NhZmUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDEzNjk2ICJjb25maWd1cmUiCisrI2xpbmUgMTM2MzYgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyAjaW5jbHVkZSA8dmFsZ3JpbmQvdmFsZ3JpbmQuaD4KK0BAIC0xMzcwMCw3ICsxMzY0MCw3IEBAIGludCBtYWluKCkgeworIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEzNzA0OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMzY0NDogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgZXZhbCAiYWNfY3ZfaGVhZGVyXyRhY19zYWZlPXllcyIKKyBlbHNlCitAQCAtMTM5NzMsNyArMTM5MTMsNyBAQCBkbworICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJGFjX3Byb2ciLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorIHNldCBkdW1teSAkYWNfcHJvZzsgYWNfd29yZD0kMgorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfd29yZCIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjEzOTc3OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMzkxNzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfcGF0aF9DQ0FDSEUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCitAQCAtMTQwOTksMTIgKzE0MDM5LDEyIEBAIGNyb3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jeHhfY3Jvc3MKKyAgICAgZm9yIGFjX2Z1bmMgaW4gX19jeGFfZGVtYW5nbGUKKyBkbworIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfZnVuYyIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjE0MTAzOiBjaGVja2luZyBmb3IgJGFjX2Z1bmMiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxNDA0MzogY2hlY2tpbmcgZm9yICRhY19mdW5jIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfZnVuY18kYWNfZnVuYycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxNDEwOCAiY29uZmlndXJlIgorKyNsaW5lIDE0MDQ4ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAorICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyICRhY19mdW5jKCk7IGJlbG93LiAgKi8KK0BAIC0xNDEzMCw3ICsxNDA3MCw3IEBAICRhY19mdW5jKCk7CisgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTQxMzQ6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTQwNzQ6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgZXZhbCAiYWNfY3ZfZnVuY18kYWNfZnVuYz15ZXMiCisgZWxzZQorQEAgLTE0MTg0LDEyICsxNDEyNCwxMiBAQCBmaQorIGlmIHRlc3QgLXogIiRTS0lQX0xJQlJBUllfQ0hFQ0tTIjsgdGhlbgorICAgICAgICBhY19zYWZlPWBlY2hvICJ1bndpbmQuaCIgfCBzZWQgJ3klLi8rLSVfX3BfJSdgCisgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgdW53aW5kLmgiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxNDE4ODogY2hlY2tpbmcgZm9yIHVud2luZC5oIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTQxMjg6IGNoZWNraW5nIGZvciB1bndpbmQuaCIgPiY1CisgICBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGVhZGVyXyRhY19zYWZlJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxNDE5MyAiY29uZmlndXJlIgorKyNsaW5lIDE0MTMzICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgI2luY2x1ZGUgPHVud2luZC5oPgorQEAgLTE0MTk3LDcgKzE0MTM3LDcgQEAgaW50IG1haW4oKSB7CisgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTQyMDE6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjE0MTQxOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBldmFsICJhY19jdl9oZWFkZXJfJGFjX3NhZmU9eWVzIgorIGVsc2UKK0BAIC0xNDIxNCwxMiArMTQxNTQsMTIgQEAgZmkKKyAgICAgZm9yIGFjX2Z1bmMgaW4gX1Vud2luZF9CYWNrdHJhY2UKKyBkbworIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfZnVuYyIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjE0MjE4OiBjaGVja2luZyBmb3IgJGFjX2Z1bmMiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxNDE1ODogY2hlY2tpbmcgZm9yICRhY19mdW5jIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfZnVuY18kYWNfZnVuYycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxNDIyMyAiY29uZmlndXJlIgorKyNsaW5lIDE0MTYzICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAorICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyICRhY19mdW5jKCk7IGJlbG93LiAgKi8KK0BAIC0xNDI0Miw3ICsxNDE4Miw3IEBAICRhY19mdW5jKCk7CisgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTQyNDY6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTQxODY6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgZXZhbCAiYWNfY3ZfZnVuY18kYWNfZnVuYz15ZXMiCisgZWxzZQorQEAgLTE0MzM0LDcgKzE0Mjc0LDcgQEAgaWYgdGVzdCAteiAiJFNLSVBfQ09NUElMRVJfQ0hFQ0tTIjsgdGhlbgorICMgQ29tcGlsZXIgT3B0aW9ucworIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciAtcGlwZSBzdXBwb3J0IiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTQzMzg6IGNoZWNraW5nIGZvciAtcGlwZSBzdXBwb3J0IiA+JjUKKytlY2hvICJjb25maWd1cmU6MTQyNzg6IGNoZWNraW5nIGZvciAtcGlwZSBzdXBwb3J0IiA+JjUKKyBpZiB0ZXN0IC1uICIkR05VX0NDIiAtYSAtbiAiJEdOVV9DWFgiOyB0aGVuCisgICAgICAgICBDRkxBR1M9IiRDRkxBR1MgLXBpcGUiCisgICAgIENYWEZMQUdTPSIkQ1hYRkxBR1MgLXBpcGUiCitAQCAtMTQzNDgsMTYgKzE0Mjg4LDE2IEBAIF9TQVZFX0NGTEFHUz0iJENGTEFHUyIKKyBDRkxBR1M9IiRDRkxBR1MgLWZwcm9maWxlLWdlbmVyYXRlIC1mcHJvZmlsZS1jb3JyZWN0aW9uIgorIAorIGVjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgQyBjb21waWxlciBzdXBwb3J0cyAtZnByb2ZpbGUtZ2VuZXJhdGUiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxNDM1MjogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIHN1cHBvcnRzIC1mcHJvZmlsZS1nZW5lcmF0ZSIgPiY1CisrZWNobyAiY29uZmlndXJlOjE0MjkyOiBjaGVja2luZyB3aGV0aGVyIEMgY29tcGlsZXIgc3VwcG9ydHMgLWZwcm9maWxlLWdlbmVyYXRlIiA+JjUKKyBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTQzNTQgImNvbmZpZ3VyZSIKKysjbGluZSAxNDI5NCAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorIGludCBtYWluKCkgeworIHJldHVybiAwOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjE0MzYxOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNDMwMTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgIFBST0ZJTEVfR0VOX0NGTEFHUz0iLWZwcm9maWxlLWdlbmVyYXRlIgorICAgICAgICAgICAgICAgICAgcmVzdWx0PSJ5ZXMiIAorQEAgLTE0NDIxLDE2ICsxNDM2MSwxNiBAQCBpZiB0ZXN0ICIkX1BFREFOVElDIjsgdGhlbgorICAgICBfU0FWRV9DWFhGTEFHUz0kQ1hYRkxBR1MKKyAgICAgQ1hYRkxBR1M9IiRDWFhGTEFHUyAtcGVkYW50aWMgJHtfV0FSTklOR1NfQ1hYRkxBR1N9IC1Xbm8tbG9uZy1sb25nIgorICAgICBlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIEMrKyBjb21waWxlciBoYXMgLXBlZGFudGljIGxvbmcgbG9uZyBidWciIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxNDQyNTogY2hlY2tpbmcgd2hldGhlciBDKysgY29tcGlsZXIgaGFzIC1wZWRhbnRpYyBsb25nIGxvbmcgYnVnIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTQzNjU6IGNoZWNraW5nIHdoZXRoZXIgQysrIGNvbXBpbGVyIGhhcyAtcGVkYW50aWMgbG9uZyBsb25nIGJ1ZyIgPiY1CisgICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxNDQyNyAiY29uZmlndXJlIgorKyNsaW5lIDE0MzY3ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgJGNvbmZpZ3VyZV9zdGF0aWNfYXNzZXJ0X21hY3JvcworIGludCBtYWluKCkgeworIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUKHNpemVvZihsb25nIGxvbmcpID09IDgpCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTQ0MzQ6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjE0Mzc0OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICByZXN1bHQ9Im5vIgorIGVsc2UKK0BAIC0xNDQ1NywxMiArMTQzOTcsMTIgQEAgZmkKKyBfU0FWRV9DWFhGTEFHUz0kQ1hYRkxBR1MKKyBDWFhGTEFHUz0iJENYWEZMQUdTICR7X1dBUk5JTkdTX0NYWEZMQUdTfSIKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgY29ycmVjdCBvdmVybG9hZCByZXNvbHV0aW9uIHdpdGggY29uc3QgYW5kIHRlbXBsYXRlcyIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjE0NDYxOiBjaGVja2luZyBmb3IgY29ycmVjdCBvdmVybG9hZCByZXNvbHV0aW9uIHdpdGggY29uc3QgYW5kIHRlbXBsYXRlcyIgPiY1CisrZWNobyAiY29uZmlndXJlOjE0NDAxOiBjaGVja2luZyBmb3IgY29ycmVjdCBvdmVybG9hZCByZXNvbHV0aW9uIHdpdGggY29uc3QgYW5kIHRlbXBsYXRlcyIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX25zY2FwX25vbmNvbnN0X29wZXFfYnVnJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDE0NDY2ICJjb25maWd1cmUiCisrI2xpbmUgMTQ0MDYgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGUgPGNsYXNzIFQ+CitAQCAtMTQ0OTIsNyArMTQ0MzIsNyBAQCBpbnQgbWFpbigpIHsKKyAgICAgICAgICAgICAgICAgICAgIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjE0NDk2OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNDQzNjogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfbnNjYXBfbm9uY29uc3Rfb3BlcV9idWc9Im5vIgorIGVsc2UKK0BAIC0xNDUxOCwxOSArMTQ0NTgsMTkgQEAgRU9GCisgZmkKKyAKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgdG1fem9uZSB0bV9nbXRvZmYgaW4gc3RydWN0IHRtIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTQ1MjI6IGNoZWNraW5nIGZvciB0bV96b25lIHRtX2dtdG9mZiBpbiBzdHJ1Y3QgdG0iID4mNQorK2VjaG8gImNvbmZpZ3VyZToxNDQ2MjogY2hlY2tpbmcgZm9yIHRtX3pvbmUgdG1fZ210b2ZmIGluIHN0cnVjdCB0bSIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3N0cnVjdF90bV96b25lX3RtX2dtdG9mZicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxNDUyNyAiY29uZmlndXJlIgorKyNsaW5lIDE0NDY3ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2luY2x1ZGUgPHRpbWUuaD4KKyBpbnQgbWFpbigpIHsKKyBzdHJ1Y3QgdG0gdG07IHRtLnRtX3pvbmUgPSAwOyB0bS50bV9nbXRvZmYgPSAxOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjE0NTM0OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNDQ3NDogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY3Zfc3RydWN0X3RtX3pvbmVfdG1fZ210b2ZmPSJ5ZXMiCisgZWxzZQorQEAgLTE0NTcyLDE4ICsxNDUxMiwxOCBAQCBjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY2NfY3Jvc3MKKyAKKyAKKyBlY2hvICRhY19uICJjaGVja2luZyB3aGF0IGtpbmQgb2YgbGlzdCBmaWxlcyBhcmUgc3VwcG9ydGVkIGJ5IHRoZSBsaW5rZXIiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxNDU3NjogY2hlY2tpbmcgd2hhdCBraW5kIG9mIGxpc3QgZmlsZXMgYXJlIHN1cHBvcnRlZCBieSB0aGUgbGlua2VyIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTQ1MTY6IGNoZWNraW5nIHdoYXQga2luZCBvZiBsaXN0IGZpbGVzIGFyZSBzdXBwb3J0ZWQgYnkgdGhlIGxpbmtlciIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J0VYUEFORF9MSUJTX0xJU1RfU1RZTEUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBlY2hvICJpbnQgbWFpbigpIHtyZXR1cm4gMDt9IiA+IGNvbmZ0ZXN0LiR7YWNfZXh0fQorLSAgICAgaWYgeyBhY190cnk9JyR7Q0MtY2N9IC1vIGNvbmZ0ZXN0LiR7T0JKX1NVRkZJWH0gLWMgJENGTEFHUyAkQ1BQRkxBR1MgY29uZnRlc3QuJHthY19leHR9IDE+JjUnOyB7IChldmFsIGVjaG8gY29uZmlndXJlOjE0NTgxOiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0LiR7T0JKX1NVRkZJWH07IHRoZW4KKysgICAgIGlmIHsgYWNfdHJ5PScke0NDLWNjfSAtbyBjb25mdGVzdC4ke09CSl9TVUZGSVh9IC1jICRDRkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LiR7YWNfZXh0fSAxPiY1JzsgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNDUyMTogXCIkYWNfdHJ5XCIpIDE+JjU7IChldmFsICRhY190cnkpIDI+JjU7IH07IH0gJiYgdGVzdCAtcyBjb25mdGVzdC4ke09CSl9TVUZGSVh9OyB0aGVuCisgICAgICAgICAgZWNobyAiSU5QVVQoY29uZnRlc3QuJHtPQkpfU1VGRklYfSkiID4gY29uZnRlc3QubGlzdAorLSAgICAgICAgIGlmIHsgYWNfdHJ5PScke0NDLWNjfSAtbyBjb25mdGVzdCR7YWNfZXhlZXh0fSAkTERGTEFHUyBjb25mdGVzdC5saXN0ICRMSUJTIDE+JjUnOyB7IChldmFsIGVjaG8gY29uZmlndXJlOjE0NTgzOiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisrICAgICAgICAgaWYgeyBhY190cnk9JyR7Q0MtY2N9IC1vIGNvbmZ0ZXN0JHthY19leGVleHR9ICRMREZMQUdTIGNvbmZ0ZXN0Lmxpc3QgJExJQlMgMT4mNSc7IHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTQ1MjM6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAgICAgICAgICAgICAgRVhQQU5EX0xJQlNfTElTVF9TVFlMRT1saW5rZXJzY3JpcHQKKyAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgIGVjaG8gImNvbmZ0ZXN0LiR7T0JKX1NVRkZJWH0iID4gY29uZnRlc3QubGlzdAorLSAgICAgICAgICAgICBpZiB7IGFjX3RyeT0nJHtDQy1jY30gLW8gY29uZnRlc3Qke2FjX2V4ZWV4dH0gJExERkxBR1MgQGNvbmZ0ZXN0Lmxpc3QgJExJQlMgMT4mNSc7IHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTQ1ODc6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKysgICAgICAgICAgICAgaWYgeyBhY190cnk9JyR7Q0MtY2N9IC1vIGNvbmZ0ZXN0JHthY19leGVleHR9ICRMREZMQUdTIEBjb25mdGVzdC5saXN0ICRMSUJTIDE+JjUnOyB7IChldmFsIGVjaG8gY29uZmlndXJlOjE0NTI3OiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICAgICAgICAgICAgICAgICBFWFBBTkRfTElCU19MSVNUX1NUWUxFPWxpc3QKKyAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgRVhQQU5EX0xJQlNfTElTVF9TVFlMRT1ub25lCitAQCAtMTQ2MDMsNyArMTQ1NDMsNyBAQCBMSUJTX0RFU0NfU1VGRklYPWRlc2MKKyAKKyBpZiB0ZXN0ICIkR0NDX1VTRV9HTlVfTEQiOyB0aGVuCisgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIHdoYXQga2luZCBvZiBvcmRlcmluZyBjYW4gYmUgZG9uZSB3aXRoIHRoZSBsaW5rZXIiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxNDYwNzogY2hlY2tpbmcgd2hhdCBraW5kIG9mIG9yZGVyaW5nIGNhbiBiZSBkb25lIHdpdGggdGhlIGxpbmtlciIgPiY1CisrZWNobyAiY29uZmlndXJlOjE0NTQ3OiBjaGVja2luZyB3aGF0IGtpbmQgb2Ygb3JkZXJpbmcgY2FuIGJlIGRvbmUgd2l0aCB0aGUgbGlua2VyIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snRVhQQU5EX0xJQlNfT1JERVJfU1RZTEUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCitAQCAtMTQ2MTEsMTQgKzE0NTUxLDE0IEBAIGVsc2UKKyAgICAgICAgICBfU0FWRV9MREZMQUdTPSIkTERGTEFHUyIKKyAgICAgICAgICBMREZMQUdTPSIke0xERkxBR1N9IC1XbCwtLXNlY3Rpb24tb3JkZXJpbmctZmlsZSxjb25mdGVzdC5vcmRlciIKKyAgICAgICAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTQ2MTUgImNvbmZpZ3VyZSIKKysjbGluZSAxNDU1NSAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorIGludCBtYWluKCkgeworIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjE0NjIyOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjE0NTYyOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIEVYUEFORF9MSUJTX09SREVSX1NUWUxFPXNlY3Rpb24tb3JkZXJpbmctZmlsZQorIGVsc2UKK0BAIC0xNDYzMCw3ICsxNDU3MCw3IEBAIGZpCisgcm0gLWYgY29uZnRlc3QqCisgICAgICAgICAgTERGTEFHUz0iJF9TQVZFX0xERkxBR1MiCisgICAgICAgICAgaWYgdGVzdCAteiAiJEVYUEFORF9MSUJTX09SREVSX1NUWUxFIjsgdGhlbgorLSAgICAgICAgICAgICBpZiB7IGFjX3RyeT0nJHtDQy1jY30gJHtEU09fTERPUFRTfSAke0xERkxBR1N9IC1vICR7RExMX1BSRUZJWH1jb25mdGVzdCR7RExMX1NVRkZJWH0gLVdsJzsgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNDYzNDogXCIkYWNfdHJ5XCIpIDE+JjU7IChldmFsICRhY190cnkpIDI+JjU7IH07IH07IHRoZW4KKysgICAgICAgICAgICAgaWYgeyBhY190cnk9JyR7Q0MtY2N9ICR7RFNPX0xET1BUU30gJHtMREZMQUdTfSAtbyAke0RMTF9QUkVGSVh9Y29uZnRlc3Qke0RMTF9TVUZGSVh9IC1XbCc7IHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTQ1NzQ6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9OyB9OyB0aGVuCisgICAgICAgICAgICAgICAgICBFWFBBTkRfTElCU19PUkRFUl9TVFlMRT1saW5rZXJzY3JpcHQKKyAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgRVhQQU5EX0xJQlNfT1JERVJfU1RZTEU9bm9uZQorQEAgLTE0NzQxLDcgKzE0NjgxLDcgQEAgZXNhYworIGlmIHRlc3QgLXogIiRTS0lQX0xJQlJBUllfQ0hFQ0tTIiAtYSAteiAiJE5PX0VESVRMSU5FIjsgdGhlbgorICAgaWYgdGVzdCAtbiAiJEpTX1dBTlRfUkVBRExJTkUiOyB0aGVuCisgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciByZWFkbGluZSBpbiAtbHJlYWRsaW5lIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTQ3NDU6IGNoZWNraW5nIGZvciByZWFkbGluZSBpbiAtbHJlYWRsaW5lIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTQ2ODU6IGNoZWNraW5nIGZvciByZWFkbGluZSBpbiAtbHJlYWRsaW5lIiA+JjUKKyBhY19saWJfdmFyPWBlY2hvIHJlYWRsaW5lJ18ncmVhZGxpbmUgfCBzZWQgJ3klLi8rLSVfX3BfJSdgCisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2xpYl8kYWNfbGliX3Zhcicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorQEAgLTE0NzQ5LDcgKzE0Njg5LDcgQEAgZWxzZQorICAgYWNfc2F2ZV9MSUJTPSIkTElCUyIKKyBMSUJTPSItbHJlYWRsaW5lICAkTElCUyIKKyBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTQ3NTMgImNvbmZpZ3VyZSIKKysjbGluZSAxNDY5MyAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIC8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCisgLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgorQEAgLTE0NzYwLDcgKzE0NzAwLDcgQEAgaW50IG1haW4oKSB7CisgcmVhZGxpbmUoKQorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjE0NzY0OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjE0NzA0OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGV2YWwgImFjX2N2X2xpYl8kYWNfbGliX3Zhcj15ZXMiCisgZWxzZQorQEAgLTE0OTkwLDkgKzE0OTMwLDkgQEAgRU9GCisgCisgCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIHBvc2l4X2ZhbGxvY2F0ZSIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjE0OTk0OiBjaGVja2luZyBmb3IgcG9zaXhfZmFsbG9jYXRlIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTQ5MzQ6IGNoZWNraW5nIGZvciBwb3NpeF9mYWxsb2NhdGUiID4mNQorIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxNDk5NiAiY29uZmlndXJlIgorKyNsaW5lIDE0OTM2ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2RlZmluZSBfWE9QRU5fU09VUkNFIDYwMAorICAgI2luY2x1ZGUgPGZjbnRsLmg+CitAQCAtMTUwMDAsNyArMTQ5NDAsNyBAQCBpbnQgbWFpbigpIHsKKyBwb3NpeF9mYWxsb2NhdGUoMCwgMCwgMCk7CisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTUwMDQ6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTQ5NDQ6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY3ZfX19wb3NpeF9mYWxsb2NhdGU9dHJ1ZQorIGVsc2UKK0BAIC0xNTAyOSw3ICsxNDk2OSw3IEBAIGlmIHRlc3QgIiRNT1pfWDExIjsgdGhlbgorICAgICAgICAgICAgICAgICBfU0FWRV9DRkxBR1M9JENGTEFHUworICAgICBDRkxBR1M9IiRDRkxBR1MgJFhDRkxBR1MiCisgICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxNTAzMyAiY29uZmlndXJlIgorKyNsaW5lIDE0OTczICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgICAgICAgICAjaW5jbHVkZSA8c3RkaW8uaD4KK0BAIC0xNTA0Nyw3ICsxNDk4Nyw3IEBAIGludCBtYWluKCkgeworICAgICAKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNTA1MTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTQ5OTE6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIDoKKyBlbHNlCisgICBlY2hvICJjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorQEAgLTE1MTYyLDEyICsxNTEwMiwxMiBAQCBmaQorIGZvciBhY19mdW5jIGluIHNldGxvY2FsZQorIGRvCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY19mdW5jIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTUxNjY6IGNoZWNraW5nIGZvciAkYWNfZnVuYyIgPiY1CisrZWNobyAiY29uZmlndXJlOjE1MTA2OiBjaGVja2luZyBmb3IgJGFjX2Z1bmMiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9mdW5jXyRhY19mdW5jJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDE1MTcxICJjb25maWd1cmUiCisrI2xpbmUgMTUxMTEgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCisgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgJGFjX2Z1bmMoKTsgYmVsb3cuICAqLworQEAgLTE1MTkwLDcgKzE1MTMwLDcgQEAgJGFjX2Z1bmMoKTsKKyAKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNTE5NDogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNTEzNDogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBldmFsICJhY19jdl9mdW5jXyRhY19mdW5jPXllcyIKKyBlbHNlCitAQCAtMTUyMjAsMTIgKzE1MTYwLDEyIEBAIGRvbmUKKyBmb3IgYWNfZnVuYyBpbiBsb2NhbGVjb252CisgZG8KKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX2Z1bmMiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxNTIyNDogY2hlY2tpbmcgZm9yICRhY19mdW5jIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTUxNjQ6IGNoZWNraW5nIGZvciAkYWNfZnVuYyIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2Z1bmNfJGFjX2Z1bmMnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTUyMjkgImNvbmZpZ3VyZSIKKysjbGluZSAxNTE2OSAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKKyAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciAkYWNfZnVuYygpOyBiZWxvdy4gICovCitAQCAtMTUyNDgsNyArMTUxODgsNyBAQCAkYWNfZnVuYygpOworIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjE1MjUyOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjE1MTkyOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGV2YWwgImFjX2N2X2Z1bmNfJGFjX2Z1bmM9eWVzIgorIGVsc2UKKy0tIAorMS45LjMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anMvMDAwMi1Nb3ZlLUpTX0JZVEVTX1BFUl9XT1JELW91dC1vZi1jb25maWcuaC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzLzAwMDItTW92ZS1KU19CWVRFU19QRVJfV09SRC1vdXQtb2YtY29uZmlnLmgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmFlYjJmNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzLzAwMDItTW92ZS1KU19CWVRFU19QRVJfV09SRC1vdXQtb2YtY29uZmlnLmgucGF0Y2gKQEAgLTAsMCArMSw3NSBAQAorRnJvbSBkNGExNWFkODIyOTJmZjZkNzcyZGNjNjMxZGY5ODc1NGQyMGJlMzFiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ29saW4gV2FsdGVycyA8d2FsdGVyc0B2ZXJidW0ub3JnPgorRGF0ZTogVHVlLCAxOCBNYXIgMjAxNCAxMTo0NjowNSAtMDQwMAorU3ViamVjdDogW1BBVENIIDIvNV0gTW92ZSBKU19CWVRFU19QRVJfV09SRCBvdXQgb2YgY29uZmlnLmgKKworSW5zdGVhZCBkZWZpbmUgaXQgaW4gdGVybXMgb2YgdGhlIGFscmVhZHkgZXh0YW50IEdOVSBDIGV4dGVuc2lvbgorX19TSVpFT0ZfUE9JTlRFUl9fLiAgVGhpcyBhdm9pZHMgbXVsdGlhcmNoIGNvbmZsaWN0cyB3aGVuIDMyIGFuZCA2NAorYml0IHBhY2thZ2VzIG9mIGpzIGFyZSBjby1pbnN0YWxsZWQuCistLS0KKworVXBzdHJlYW0tc3RhdHVzOiBQZW5kaW5nCisKKyBqcy9zcmMvY29uZmlndXJlLmluICAgfCAgOSAtLS0tLS0tLS0KKyBqcy9zcmMvanMtY29uZmlnLmguaW4gfCAgMSAtCisganMvc3JjL2pzdHlwZXMuaCAgICAgIHwgMTIgKysrKysrKysrKysrCisgMyBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2pzL3NyYy9jb25maWd1cmUuaW4gYi9qcy9zcmMvY29uZmlndXJlLmluCitpbmRleCAxNTYwNWIyLi42NGM3NjA2IDEwMDY0NAorLS0tIGEvanMvc3JjL2NvbmZpZ3VyZS5pbgorKysrIGIvanMvc3JjL2NvbmZpZ3VyZS5pbgorQEAgLTIzNDUsMTUgKzIzNDUsNiBAQCBlbHNlCisgICBBQ19NU0dfUkVTVUxUKG5vKQorIGZpCisgCistTU9aX1NJWkVfT0ZfVFlQRShKU19CWVRFU19QRVJfV09SRCwgdm9pZCosIDQgOCkKKy1pZiB0ZXN0ICIkbW96X2N2X3NpemVfb2ZfSlNfQllURVNfUEVSX1dPUkQiIC1lcSAiNCI7IHRoZW4KKy0gIEFDX0RFRklORShKU19CSVRTX1BFUl9XT1JEX0xPRzIsIDUpCistZWxpZiB0ZXN0ICIkbW96X2N2X3NpemVfb2ZfSlNfQllURVNfUEVSX1dPUkQiIC1lcSAiOCI7IHRoZW4KKy0gIEFDX0RFRklORShKU19CSVRTX1BFUl9XT1JEX0xPRzIsIDYpCistZWxzZQorLSAgQUNfTVNHX0VSUk9SKFtVbmV4cGVjdGVkIEpTX0JZVEVTX1BFUl9XT1JEXSkKKy1maQorLQorIE1PWl9BTElHTl9PRl9UWVBFKEpTX0FMSUdOX09GX1BPSU5URVIsIHZvaWQqLCAyIDQgOCAxNikKKyBNT1pfU0laRV9PRl9UWVBFKEpTX0JZVEVTX1BFUl9ET1VCTEUsIGRvdWJsZSwgNiA4IDEwIDEyIDE0KQorIAorZGlmZiAtLWdpdCBhL2pzL3NyYy9qcy1jb25maWcuaC5pbiBiL2pzL3NyYy9qcy1jb25maWcuaC5pbgoraW5kZXggNjg4OWUwMC4uNDc3NTQyMCAxMDA2NDQKKy0tLSBhL2pzL3NyYy9qcy1jb25maWcuaC5pbgorKysrIGIvanMvc3JjL2pzLWNvbmZpZy5oLmluCitAQCAtNTYsNyArNTYsNiBAQAorICN1bmRlZiBKU19JTlQzMl9UWVBFCisgI3VuZGVmIEpTX0lOVDY0X1RZUEUKKyAjdW5kZWYgSlNfSU5UUFRSX1RZUEUKKy0jdW5kZWYgSlNfQllURVNfUEVSX1dPUkQKKyAKKyAvKiBTb21lIG1vemlsbGEgY29kZSB1c2VzIEpTLWZyaWVuZCBBUElzIHRoYXQgZGVwZW5kIG9uIEpTX01FVEhPREpJVCBiZWluZworICAgIGNvcnJlY3QuICovCitkaWZmIC0tZ2l0IGEvanMvc3JjL2pzdHlwZXMuaCBiL2pzL3NyYy9qc3R5cGVzLmgKK2luZGV4IGQwY2YxODMuLjNlNzkyOGYgMTAwNjQ0CistLS0gYS9qcy9zcmMvanN0eXBlcy5oCisrKysgYi9qcy9zcmMvanN0eXBlcy5oCitAQCAtMjQsNiArMjQsMTggQEAKKyAjaW5jbHVkZSAibW96aWxsYS9VdGlsLmgiCisgCisgI2luY2x1ZGUgImpzLWNvbmZpZy5oIgorKyNpZm5kZWYgSlNfQllURVNfUEVSX1dPUkQKKysjZGVmaW5lIEpTX0JZVEVTX1BFUl9XT1JEIF9fU0laRU9GX1BPSU5URVJfXworKyNlbmRpZgorKyNpZm5kZWYgSlNfQklUU19QRVJfV09SRF9MT0cyCisrI2lmIEpTX0JZVEVTX1BFUl9XT1JEID09IDgKKysjZGVmaW5lIEpTX0JJVFNfUEVSX1dPUkRfTE9HMiA2CisrI2VsaWYgSlNfQllURVNfUEVSX1dPUkQgPT0gNAorKyNkZWZpbmUgSlNfQklUU19QRVJfV09SRF9MT0cyIDUKKysjZWxzZQorKyNlcnJvciBVbmhhbmRsZWQgSlNfQllURVNfUEVSX1dPUkQKKysjZW5kaWYgCisrI2VuZGlmCisgCisgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiogTUFDUk9TOiAgICAgIEpTX0VYVEVSTl9BUEkKKy0tIAorMS45LjMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anMvMDAwMy1BZGQtQUFyY2g2NC1zdXBwb3J0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anMvMDAwMy1BZGQtQUFyY2g2NC1zdXBwb3J0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlNzI0MjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy8wMDAzLUFkZC1BQXJjaDY0LXN1cHBvcnQucGF0Y2gKQEAgLTAsMCArMSw3NiBAQAorRnJvbSAxNWU3MTBlMzMxZDM2ZWIyNzk4NTJiNWNkMWJhMzdhOWE2MDA1MjE3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS29lbiBLb29pIDxrb2VuLmtvb2lAbGluYXJvLm9yZz4KK0RhdGU6IE1vbiwgMiBNYXIgMjAxNSAxOTowODoyMiArMDgwMAorU3ViamVjdDogW1BBVENIIDMvNV0gQWRkIEFBcmNoNjQgc3VwcG9ydAorCistLS0KK1Vwc3RyZWFtLXN0YXR1czogUGVuZGluZworCisganMvc3JjL2Fzc2VtYmxlci9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5oIHwgNiArKysrKysKKyBqcy9zcmMvYXNzZW1ibGVyL3d0Zi9QbGF0Zm9ybS5oICAgICAgICAgICAgfCA0ICsrKysKKyBqcy9zcmMvY29uZmlndXJlLmluICAgICAgICAgICAgICAgICAgICAgICAgfCA0ICsrKysKKyBtZmJ0L2RvdWJsZS1jb252ZXJzaW9uL3V0aWxzLmggICAgICAgICAgICAgfCAxICsKKyA0IGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2pzL3NyYy9hc3NlbWJsZXIvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuaCBiL2pzL3NyYy9hc3NlbWJsZXIvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuaAoraW5kZXggYzA3MWMzMy4uOTA3NjRjMyAxMDA2NDQKKy0tLSBhL2pzL3NyYy9hc3NlbWJsZXIvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuaAorKysrIGIvanMvc3JjL2Fzc2VtYmxlci9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5oCitAQCAtMzgyLDYgKzM4MiwxMiBAQCBwdWJsaWM6CisgICAgIHsKKyAgICAgICAgIHJlcHJvdGVjdFJlZ2lvbihzdGFydCwgc2l6ZSwgRXhlY3V0YWJsZSk7CisgICAgIH0KKysjZWxpZiBXVEZfQ1BVX0FBUkNINjQgJiYgV1RGX1BMQVRGT1JNX0xJTlVYCisrICAgIHN0YXRpYyB2b2lkIGNhY2hlRmx1c2godm9pZCogY29kZSwgc2l6ZV90IHNpemUpCisrICAgIHsKKysgICAgICAgIGludHB0cl90IGVuZCA9IHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KGNvZGUpICsgc2l6ZTsKKysgICAgICAgIF9fYnVpbHRpbl9fX2NsZWFyX2NhY2hlKHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGNvZGUpLCByZWludGVycHJldF9jYXN0PGNoYXIqPihlbmQpKTsKKysgICAgfQorICNlbHNlCisgICAgIHN0YXRpYyB2b2lkIG1ha2VXcml0YWJsZSh2b2lkKiwgc2l6ZV90KSB7fQorICAgICBzdGF0aWMgdm9pZCBtYWtlRXhlY3V0YWJsZSh2b2lkKiwgc2l6ZV90KSB7fQorZGlmZiAtLWdpdCBhL2pzL3NyYy9hc3NlbWJsZXIvd3RmL1BsYXRmb3JtLmggYi9qcy9zcmMvYXNzZW1ibGVyL3d0Zi9QbGF0Zm9ybS5oCitpbmRleCAwYzg0ODk2Li5lODc2M2E3IDEwMDY0NAorLS0tIGEvanMvc3JjL2Fzc2VtYmxlci93dGYvUGxhdGZvcm0uaAorKysrIGIvanMvc3JjL2Fzc2VtYmxlci93dGYvUGxhdGZvcm0uaAorQEAgLTMyNSw2ICszMjUsMTAgQEAKKyAjZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gMAorICNlbmRpZgorIAorKy8qIENQVShBQXJjaDY0KSAtIDY0LWJpdCBBUk0gKi8KKysjaWYgZGVmaW5lZChfX2FhcmNoNjRfXykKKysjZGVmaW5lIFdURl9DUFVfQUFSQ0g2NCAxCisrI2VuZGlmCisgCisgLyogV1RGX0NQVV9BUk1WNV9PUl9MT1dFUiAtIEFSTSBpbnN0cnVjdGlvbiBzZXQgdjUgb3IgZWFybGllciAqLworIC8qIE9uIEFSTXY1IGFuZCBiZWxvdyB0aGUgbmF0dXJhbCBhbGlnbm1lbnQgaXMgcmVxdWlyZWQuIAorZGlmZiAtLWdpdCBhL2pzL3NyYy9jb25maWd1cmUuaW4gYi9qcy9zcmMvY29uZmlndXJlLmluCitpbmRleCA2NGM3NjA2Li4wNjczYWNhIDEwMDY0NAorLS0tIGEvanMvc3JjL2NvbmZpZ3VyZS5pbgorKysrIGIvanMvc3JjL2NvbmZpZ3VyZS5pbgorQEAgLTExMjEsNiArMTEyMSwxMCBAQCBhcm0qKQorICAgICBDUFVfQVJDSD1hcm0KKyAgICAgOzsKKyAKKythYXJjaDY0KQorKyAgICBDUFVfQVJDSD1hYXJjaDY0CisrICAgIDs7CisrCisgbWlwc3xtaXBzZWwpCisgICAgIENQVV9BUkNIPSJtaXBzIgorICAgICA7OworZGlmZiAtLWdpdCBhL21mYnQvZG91YmxlLWNvbnZlcnNpb24vdXRpbHMuaCBiL21mYnQvZG91YmxlLWNvbnZlcnNpb24vdXRpbHMuaAoraW5kZXggMGVlYzJkOS4uZmUyNmRhYiAxMDA2NDQKKy0tLSBhL21mYnQvZG91YmxlLWNvbnZlcnNpb24vdXRpbHMuaAorKysrIGIvbWZidC9kb3VibGUtY29udmVyc2lvbi91dGlscy5oCitAQCAtNTgsNiArNTgsNyBAQAorICAgICBkZWZpbmVkKF9fbWlwc19fKSB8fCBkZWZpbmVkKF9fcG93ZXJwY19fKSB8fCBcCisgICAgIGRlZmluZWQoX19zcGFyY19fKSB8fCBkZWZpbmVkKF9fc3BhcmMpIHx8IGRlZmluZWQoX19zMzkwX18pIHx8IFwKKyAgICAgZGVmaW5lZChfX1NINF9fKSB8fCBkZWZpbmVkKF9fYWxwaGFfXykgfHwgXAorKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBcCisgICAgIGRlZmluZWQoX01JUFNfQVJDSF9NSVBTMzJSMikKKyAjZGVmaW5lIERPVUJMRV9DT05WRVJTSU9OX0NPUlJFQ1RfRE9VQkxFX09QRVJBVElPTlMgMQorICNlbGlmIGRlZmluZWQoX01fSVg4NikgfHwgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2kzODYpCistLSAKKzEuOS4zCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzLzAwMDQtbW96YnVnNzQ2MTEyLW5vLWRlY29tbWl0LW9uLWxhcmdlLXBhZ2VzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anMvMDAwNC1tb3pidWc3NDYxMTItbm8tZGVjb21taXQtb24tbGFyZ2UtcGFnZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGJkMzVkNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzLzAwMDQtbW96YnVnNzQ2MTEyLW5vLWRlY29tbWl0LW9uLWxhcmdlLXBhZ2VzLnBhdGNoCkBAIC0wLDAgKzEsMTAzIEBACitGcm9tIDAxMjhjNWE5ZWVlZTBkM2ZjMGRlYjkxMjlkZDIwZWI3OTMzOGM4ZjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLb2VuIEtvb2kgPGtvZW4ua29vaUBsaW5hcm8ub3JnPgorRGF0ZTogTW9uLCAyIE1hciAyMDE1IDE5OjA4OjU5ICswODAwCitTdWJqZWN0OiBbUEFUQ0ggNC81XSBtb3pidWc3NDYxMTItbm8tZGVjb21taXQtb24tbGFyZ2UtcGFnZXMKKworLS0tCitVcHN0cmVhbS1zdGF0dXM6IFBlbmRpbmcKKworIGpzL3NyYy9nYy9IZWFwLmggfCAxNSArKysrKysrKysrLS0tLS0KKyBqcy9zcmMvanNnYy5jcHAgIHwgMTUgKysrKysrKysrKysrLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvanMvc3JjL2djL0hlYXAuaCBiL2pzL3NyYy9nYy9IZWFwLmgKK2luZGV4IGI4ZjhjNzguLjFjZmQyNjkgMTAwNjQ0CistLS0gYS9qcy9zcmMvZ2MvSGVhcC5oCisrKysgYi9qcy9zcmMvZ2MvSGVhcC5oCitAQCAtMTAzLDI2ICsxMDMsMzEgQEAgc3RydWN0IENlbGwKKyB9OworIAorIC8qCistICogUGFnZSBzaXplIGlzIDQwOTYgYnkgZGVmYXVsdCwgZXhjZXB0IGZvciBTUEFSQywgd2hlcmUgaXQgaXMgODE5Mi4KKysgKiBQYWdlIHNpemUgbXVzdCBiZSBzdGF0aWMgdG8gc3VwcG9ydCBvdXIgYXJlbmEgcG9pbnRlciBvcHRpbWl6YXRpb25zLCBzbyB3ZQorKyAqIGFyZSBmb3JjZWQgdG8gc3VwcG9ydCBlYWNoIHBsYXRmb3JtIHdpdGggbm9uLTQwOTYgcGFnZXMgYXMgYSBzcGVjaWFsIGNhc2UuCisrICogTm90ZTogVGhlIGZyZWVsaXN0IHN1cHBvcnRzIGEgbWF4aW11bSBhcmVuYSBzaGlmdCBvZiAxNS4KKyAgKiBOb3RlOiBEbyBub3QgdXNlIEpTX0NQVV9TUEFSQyBoZXJlLCB0aGlzIGhlYWRlciBpcyB1c2VkIG91dHNpZGUgSlMuCisgICogQnVnIDY5MjI2NzogTW92ZSBwYWdlIHNpemUgZGVmaW5pdGlvbiB0byBnYy9NZW1vcnkuaCBhbmQgaW5jbHVkZSBpdAorICAqICAgICAgICAgICAgIGRpcmVjdGx5IG9uY2UganNnYy5oIGlzIG5vIGxvbmdlciBhbiBpbnN0YWxsZWQgaGVhZGVyLgorICAqLworICNpZiBkZWZpbmVkKFNPTEFSSVMpICYmIChkZWZpbmVkKF9fc3BhcmMpIHx8IGRlZmluZWQoX19zcGFyY3Y5KSkKKyBjb25zdCBzaXplX3QgUGFnZVNoaWZ0ID0gMTM7CisrY29uc3Qgc2l6ZV90IEFyZW5hU2hpZnQgPSBQYWdlU2hpZnQ7CisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGNfXykKKytjb25zdCBzaXplX3QgUGFnZVNoaWZ0ID0gMTY7CisrY29uc3Qgc2l6ZV90IEFyZW5hU2hpZnQgPSAxMjsKKyAjZWxzZQorIGNvbnN0IHNpemVfdCBQYWdlU2hpZnQgPSAxMjsKKytjb25zdCBzaXplX3QgQXJlbmFTaGlmdCA9IFBhZ2VTaGlmdDsKKyAjZW5kaWYKKyBjb25zdCBzaXplX3QgUGFnZVNpemUgPSBzaXplX3QoMSkgPDwgUGFnZVNoaWZ0OworK2NvbnN0IHNpemVfdCBBcmVuYVNpemUgPSBzaXplX3QoMSkgPDwgQXJlbmFTaGlmdDsKKytjb25zdCBzaXplX3QgQXJlbmFNYXNrID0gQXJlbmFTaXplIC0gMTsKKyAKKyBjb25zdCBzaXplX3QgQ2h1bmtTaGlmdCA9IDIwOworIGNvbnN0IHNpemVfdCBDaHVua1NpemUgPSBzaXplX3QoMSkgPDwgQ2h1bmtTaGlmdDsKKyBjb25zdCBzaXplX3QgQ2h1bmtNYXNrID0gQ2h1bmtTaXplIC0gMTsKKyAKKy1jb25zdCBzaXplX3QgQXJlbmFTaGlmdCA9IFBhZ2VTaGlmdDsKKy1jb25zdCBzaXplX3QgQXJlbmFTaXplID0gUGFnZVNpemU7CistY29uc3Qgc2l6ZV90IEFyZW5hTWFzayA9IEFyZW5hU2l6ZSAtIDE7CistCisgLyoKKyAgKiBUaGlzIGlzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBhcmVuYXMgd2UgYWxsb3cgaW4gdGhlIEZyZWVDb21taXR0ZWQgc3RhdGUKKyAgKiBiZWZvcmUgd2UgdHJpZ2dlciBhIEdDX1NIUklOSyB0byByZWxlYXNlIGZyZWUgYXJlbmFzIHRvIHRoZSBPUy4KK2RpZmYgLS1naXQgYS9qcy9zcmMvanNnYy5jcHAgYi9qcy9zcmMvanNnYy5jcHAKK2luZGV4IGIzY2FmMDUuLmEyNThkMmQgMTAwNjQ0CistLS0gYS9qcy9zcmMvanNnYy5jcHAKKysrKyBiL2pzL3NyYy9qc2djLmNwcAorQEAgLTI1MSw2ICsyNTEsMTMgQEAgc3RhdGljIGNvbnN0IGludCBCYWNrZ3JvdW5kUGhhc2VMZW5ndGhbXSA9IHsKKyAgICAgc2l6ZW9mKEJhY2tncm91bmRQaGFzZVN0cmluZ3MpIC8gc2l6ZW9mKEFsbG9jS2luZCkKKyB9OworIAorKy8qIFVudXNlZCBtZW1vcnkgZGVjb21taXRpbmcgcmVxdWlyZXMgdGhlIGFyZW5hIHNpemUgbWF0Y2ggdGhlIHBhZ2Ugc2l6ZS4gKi8KKytzdGF0aWMgYm9vbAorK0RlY29tbWl0RW5hYmxlZCgpCisreworKyAgICByZXR1cm4gUGFnZVNpemUgPT0gQXJlbmFTaXplOworK30KKysKKyAjaWZkZWYgREVCVUcKKyB2b2lkCisgQXJlbmFIZWFkZXI6OmNoZWNrU3luY2hyb25pemVkV2l0aEZyZWVMaXN0KCkgY29uc3QKK0BAIC03NDIsNyArNzQ5LDggQEAgQ2h1bms6OmZldGNoTmV4dERlY29tbWl0dGVkQXJlbmEoKQorICAgICBkZWNvbW1pdHRlZEFyZW5hcy51bnNldChvZmZzZXQpOworIAorICAgICBBcmVuYSAqYXJlbmEgPSAmYXJlbmFzW29mZnNldF07CistICAgIE1hcmtQYWdlc0luVXNlKGFyZW5hLCBBcmVuYVNpemUpOworKyAgICBpZiAoRGVjb21taXRFbmFibGVkKCkpCisrICAgICAgICBNYXJrUGFnZXNJblVzZShhcmVuYSwgQXJlbmFTaXplKTsKKyAgICAgYXJlbmEtPmFoZWFkZXIuc2V0QXNOb3RBbGxvY2F0ZWQoKTsKKyAKKyAgICAgcmV0dXJuICZhcmVuYS0+YWhlYWRlcjsKK0BAIC0yNzMxLDcgKzI3MzksNyBAQCBEZWNvbW1pdEFyZW5hc0Zyb21BdmFpbGFibGVMaXN0KEpTUnVudGltZSAqcnQsIENodW5rICoqYXZhaWxhYmxlTGlzdEhlYWRwKQorICAgICAgICAgICAgICAgICBjaHVuay0+cmVtb3ZlRnJvbUF2YWlsYWJsZUxpc3QoKTsKKyAKKyAgICAgICAgICAgICBzaXplX3QgYXJlbmFJbmRleCA9IENodW5rOjphcmVuYUluZGV4KGFoZWFkZXItPmFyZW5hQWRkcmVzcygpKTsKKy0gICAgICAgICAgICBib29sIG9rOworKyAgICAgICAgICAgIGJvb2wgb2sgPSB0cnVlOworICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgICogSWYgdGhlIG1haW4gdGhyZWFkIHdhaXRzIGZvciB0aGUgZGVjb21taXQgdG8gZmluaXNoLCBza2lwCitAQCAtMjc0MSw3ICsyNzQ5LDggQEAgRGVjb21taXRBcmVuYXNGcm9tQXZhaWxhYmxlTGlzdChKU1J1bnRpbWUgKnJ0LCBDaHVuayAqKmF2YWlsYWJsZUxpc3RIZWFkcCkKKyAgICAgICAgICAgICAgICAgTWF5YmU8QXV0b1VubG9ja0dDPiBtYXliZVVubG9jazsKKyAgICAgICAgICAgICAgICAgaWYgKCFydC0+aXNIZWFwQnVzeSgpKQorICAgICAgICAgICAgICAgICAgICAgbWF5YmVVbmxvY2suY29uc3RydWN0KHJ0KTsKKy0gICAgICAgICAgICAgICAgb2sgPSBNYXJrUGFnZXNVbnVzZWQoYWhlYWRlci0+Z2V0QXJlbmEoKSwgQXJlbmFTaXplKTsKKysgICAgICAgICAgICAgICAgaWYgKERlY29tbWl0RW5hYmxlZCgpKQorKyAgICAgICAgICAgICAgICAgICAgb2sgPSBNYXJrUGFnZXNVbnVzZWQoYWhlYWRlci0+Z2V0QXJlbmEoKSwgQXJlbmFTaXplKTsKKyAgICAgICAgICAgICB9CisgCisgICAgICAgICAgICAgaWYgKG9rKSB7CistLSAKKzEuOS4zCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzLzAwMDUtYWFyY2g2NC02NGstcGFnZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzLzAwMDUtYWFyY2g2NC02NGstcGFnZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzk5ZWNjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anMvMDAwNS1hYXJjaDY0LTY0ay1wYWdlLnBhdGNoCkBAIC0wLDAgKzEsNDQgQEAKK0Zyb20gOWM0MjkyMGMyYjYzNWEzOTliZDFmOTM4MzNlZmRlYjE2OTZmMTdlZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbi5rb29pQGxpbmFyby5vcmc+CitEYXRlOiBNb24sIDIgTWFyIDIwMTUgMTk6MDk6NTcgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCA1LzVdIGFhcmNoNjQtNjRrLXBhZ2UKKworLS0tCitVcHN0cmVhbS1zdGF0dXM6IFBlbmRpbmcKKworIGpzL3NyYy9nYy9IZWFwLmggICAgIHwgMiArLQorIGpzL3NyYy9nYy9NZW1vcnkuY3BwIHwgMyArKysKKyAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvanMvc3JjL2djL0hlYXAuaCBiL2pzL3NyYy9nYy9IZWFwLmgKK2luZGV4IDFjZmQyNjkuLmY0ZGJjZGEgMTAwNjQ0CistLS0gYS9qcy9zcmMvZ2MvSGVhcC5oCisrKysgYi9qcy9zcmMvZ2MvSGVhcC5oCitAQCAtMTEzLDcgKzExMyw3IEBAIHN0cnVjdCBDZWxsCisgI2lmIGRlZmluZWQoU09MQVJJUykgJiYgKGRlZmluZWQoX19zcGFyYykgfHwgZGVmaW5lZChfX3NwYXJjdjkpKQorIGNvbnN0IHNpemVfdCBQYWdlU2hpZnQgPSAxMzsKKyBjb25zdCBzaXplX3QgQXJlbmFTaGlmdCA9IFBhZ2VTaGlmdDsKKy0jZWxpZiBkZWZpbmVkKF9fcG93ZXJwY19fKQorKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjX18pIHx8IGRlZmluZWQoX19hYXJjaDY0X18pCisgY29uc3Qgc2l6ZV90IFBhZ2VTaGlmdCA9IDE2OworIGNvbnN0IHNpemVfdCBBcmVuYVNoaWZ0ID0gMTI7CisgI2Vsc2UKK2RpZmYgLS1naXQgYS9qcy9zcmMvZ2MvTWVtb3J5LmNwcCBiL2pzL3NyYy9nYy9NZW1vcnkuY3BwCitpbmRleCA1YjM4NmEyLi5lNWFkMDE4IDEwMDY0NAorLS0tIGEvanMvc3JjL2djL01lbW9yeS5jcHAKKysrKyBiL2pzL3NyYy9nYy9NZW1vcnkuY3BwCitAQCAtMzAyLDggKzMwMiwxMSBAQCBHZXRQYWdlRmF1bHRDb3VudCgpCisgdm9pZAorIEluaXRNZW1vcnlTdWJzeXN0ZW0oKQorIHsKKysgICAgLyogYWFyY2g2NCBtYXkgaGF2ZSA2NEtCIG9yIDRLQiBwYWdlcyAqLworKyNpZm5kZWYgX19hYXJjaDY0X18KKyAgICAgaWYgKHNpemVfdChzeXNjb25mKF9TQ19QQUdFU0laRSkpICE9IFBhZ2VTaXplKQorICAgICAgICAgTU9aX0NSQVNIKCk7CisrI2VuZGlmCisgfQorIAorIHZvaWQgKgorLS0gCisxLjkuMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy8wMDEwLWZpeC1jcm9zcy1jb21waWxhdGlvbi1vbi1pNTg2LXRhcmdldHMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy8wMDEwLWZpeC1jcm9zcy1jb21waWxhdGlvbi1vbi1pNTg2LXRhcmdldHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjQzMmUxZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzLzAwMTAtZml4LWNyb3NzLWNvbXBpbGF0aW9uLW9uLWk1ODYtdGFyZ2V0cy5wYXRjaApAQCAtMCwwICsxLDQ2IEBACitGcm9tIGE0NTIxMzhhMWRkMjc0YmZhZDM4MWE3MDE3Mjk3ODMzNjBkYzg2ZmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYWNpZWogQm9yemVja2kgPG1hY2llai5ib3J6ZWNraUBvcGVuLXJuZC5wbD4KK0RhdGU6IFR1ZSwgNSBKYW4gMjAxNiAyMjowNDoxNyArMDEwMAorU3ViamVjdDogW1BBVENIXSBmaXggY3Jvc3MgY29tcGlsYXRpb24gb24gaTU4NiB0YXJnZXRzCisKK1JlbW92ZSBvZmZlbmRpbmcgLVdsLC1ycGF0aC1saW5rIHRoYXQgbWF5IGNhdXNlIGhvc3QgbGlicmFyaWVzIHRvIGJlIHBpY2tlZAorZHVyaW5nIGxpbmtpbmcuIFRoZSBwYXRjaCBhcHBsaWVzIGEgZml4IHRvIGNvbmZpZ3VyZS5pbi4gU28gYXMgbm90IHRvCityZWdlbmVyYXRlIGNvbmZpZ3VyZSwgc2ltaWxhciBmaXggaXMgYXBwbGllZCB0aGVyZS4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogTWFjaWVqIEJvcnplY2tpIDxtYWNpZWouYm9yemVja2lAb3Blbi1ybmQucGw+CistLS0KKyBqcy9zcmMvY29uZmlndXJlICAgIHwgMiArLQorIGpzL3NyYy9jb25maWd1cmUuaW4gfCAyICstCisgMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9qcy9zcmMvY29uZmlndXJlIGIvanMvc3JjL2NvbmZpZ3VyZQoraW5kZXggZDAxOWIwZmRiYTQ0MjMzNTk2NTQxZGU5NDMwNzAxMGQ4NWE4ZTMyZS4uNWFhNDBmNzU3YTNkYmI3ZDY4ODcxNzUwNDZmNDQyMTJjMTVjMmVhYyAxMDA3NTUKKy0tLSBhL2pzL3NyYy9jb25maWd1cmUKKysrKyBiL2pzL3NyYy9jb25maWd1cmUKK0BAIC01NTU1LDcgKzU1NTUsNyBAQCBUQVJHRVRfTURfQVJDSD11bml4CisgRElSRU5UX0lOTz1kX2lubworIE1PWl9VU0VSX0RJUj0iLm1vemlsbGEiCisgCistTU9aX0ZJWF9MSU5LX1BBVEhTPSctV2wsLXJwYXRoLWxpbmssJChMSUJYVUxfRElTVCkvYmluIC1XbCwtcnBhdGgtbGluaywkKHByZWZpeCkvbGliJworK01PWl9GSVhfTElOS19QQVRIUz0nLVdsLC1ycGF0aC1saW5rLCQoTElCWFVMX0RJU1QpL2JpbicKKyAKKyBNT1pfQ09NUE9ORU5UX05TUFJfTElCUz0nLUwkKExJQlhVTF9ESVNUKS9iaW4gJChOU1BSX0xJQlMpJworIAorZGlmZiAtLWdpdCBhL2pzL3NyYy9jb25maWd1cmUuaW4gYi9qcy9zcmMvY29uZmlndXJlLmluCitpbmRleCAwNjczYWNhMTJmNmQ4MzAzNTU0OWFkZTJhNGE4MzkwNmJmOTFmMGYwLi4zOWIyMjcyNGY5NTM1YWMxYTZkYmEwNDY1OGM5MWU0ZWY2NjdmYzQ3IDEwMDY0NAorLS0tIGEvanMvc3JjL2NvbmZpZ3VyZS5pbgorKysrIGIvanMvc3JjL2NvbmZpZ3VyZS5pbgorQEAgLTkxOSw3ICs5MTksNyBAQCBUQVJHRVRfTURfQVJDSD11bml4CisgRElSRU5UX0lOTz1kX2lubworIE1PWl9VU0VSX0RJUj0iLm1vemlsbGEiCisgCistTU9aX0ZJWF9MSU5LX1BBVEhTPSctV2wsLXJwYXRoLWxpbmssJChMSUJYVUxfRElTVCkvYmluIC1XbCwtcnBhdGgtbGluaywkKHByZWZpeCkvbGliJworK01PWl9GSVhfTElOS19QQVRIUz0nLVdsLC1ycGF0aC1saW5rLCQoTElCWFVMX0RJU1QpL2JpbicKKyAKKyBNT1pfQ09NUE9ORU5UX05TUFJfTElCUz0nLUwkKExJQlhVTF9ESVNUKS9iaW4gJChOU1BSX0xJQlMpJworIAorLS0gCisyLjUuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy9maXgtdGhlLWNvbXBpbGUtZXJyb3Itb2YtcG93ZXJwYzY0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anMvZml4LXRoZS1jb21waWxlLWVycm9yLW9mLXBvd2VycGM2NC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40M2M0NTkwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anMvZml4LXRoZS1jb21waWxlLWVycm9yLW9mLXBvd2VycGM2NC5wYXRjaApAQCAtMCwwICsxLDE4IEBACitmaXggdGhlIGNvbXBpbGUgZXJyb3Igb2YgcG93ZXJwYzY0CisgCitVcHN0cmVhbS1zdGF0dXM6IEFjY2VwdGVkCisKKyBmaXggdGhlIGZvbGxvd2luZyBlcnJvcgorIHxlcnJvcjogJ2pzdXdvcmQnIGRvZXMgbm90IG5hbWUgYSB0eXBlCisKKworLS0tIGEvanMvc3JjL2pzdmFsLmhvbGQJMjAxNS0wNC0yNCAwMToxNTowNi42OTI5NzA3MzEgLTA1MDAKKysrKyBiL2pzL3NyYy9qc3ZhbC5oCTIwMTUtMDQtMjQgMDE6MTU6NDEuNzkyOTY5NDc4IC0wNTAwCitAQCAtMzA0LDcgKzMwNCw2IEBACisgICAgICAgICAgICAgaW50MzJfdCAgICAgICAgaTMyOworICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgIHUzMjsKKyAgICAgICAgICAgICBKU1doeU1hZ2ljICAgICB3aHk7CistICAgICAgICAgICAganN1d29yZCAgICAgICAgd29yZDsKKyAgICAgICAgIH0gcGF5bG9hZDsKKyAgICAgfSBzOworICAgICBkb3VibGUgYXNEb3VibGU7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy9maXhfbWlsZXN0b25lX2NvbXBpbGVfaXNzdWUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy9maXhfbWlsZXN0b25lX2NvbXBpbGVfaXNzdWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWJkZTAxYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzL2ZpeF9taWxlc3RvbmVfY29tcGlsZV9pc3N1ZS5wYXRjaApAQCAtMCwwICsxLDIwIEBACitmaXggdGhlIGNvbXBpbGUgZXJyb3IgZG8gdG8gcGVybCB1cGRhdGUKKworVXBzdHJlYW0tc3RhdHVzOiBJbmFwcHJvcHJpYXRlCisKKworU2lnbmVkLW9mLWJ5OiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgorCitJbmRleDogc3JjL2NvbmZpZy9taWxlc3RvbmUucGwKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBzcmMub3JpZy9jb25maWcvbWlsZXN0b25lLnBsCisrKysgc3JjL2NvbmZpZy9taWxlc3RvbmUucGwKK0BAIC01NSw3ICs1NSw3IEBAICRNSUxFU1RPTkVfRklMRSAgPSAiJFRPUFNSQ0RJUi9jb25maWcvbWkKKyAjCisgbXkgJG1pbGVzdG9uZSA9IE1vejo6TWlsZXN0b25lOjpnZXRPZmZpY2lhbE1pbGVzdG9uZSgkTUlMRVNUT05FX0ZJTEUpOworIAorLWlmIChkZWZpbmVkKEBURU1QTEFURV9GSUxFKSkgeworK2lmIChAVEVNUExBVEVfRklMRSkgeworICAgbXkgJFRGSUxFOworIAorICAgZm9yZWFjaCAkVEZJTEUgKEBURU1QTEFURV9GSUxFKSB7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqc18xNy4wLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqc18xNy4wLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDJkNTY5NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzXzE3LjAuMC5iYgpAQCAtMCwwICsxLDczIEBACitTVU1NQVJZID0gIlNwaWRlck1vbmtleSBpcyBNb3ppbGxhJ3MgSmF2YVNjcmlwdCBlbmdpbmUgd3JpdHRlbiBpbiBDL0MrKyIKK0xJQ0VOU0UgPSAiTVBMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLy4uLy4uL0xJQ0VOU0U7bWQ1PTgxNWNhNTk5YzlkZjI0N2EwYzdmNjE5YmFiMTIzZGFkIgorCitTUkNfVVJJID0gIiBcCisgICAgaHR0cDovL2Z0cC5tb3ppbGxhLm9yZy9wdWIvbW96aWxsYS5vcmcvanMvJHtCUE59JHtQVn0udGFyLmd6IFwKKyAgICBmaWxlOi8vMDAwMS1tb3pqczE3LjAuMC1maXgtdGhlLWNvbXBpbGUtYnVnLW9mLXBvd2VycGMucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAxLWpzLnBjLmluLWRvLW5vdC1pbmNsdWRlLVJlcXVpcmVkRGVmaW5lcy5oLWZvci1kZXBlbmQucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAyLU1vdmUtSlNfQllURVNfUEVSX1dPUkQtb3V0LW9mLWNvbmZpZy5oLnBhdGNoO3BhdGNoZGlyPS4uLy4uLyBcCisgICAgZmlsZTovLzAwMDMtQWRkLUFBcmNoNjQtc3VwcG9ydC5wYXRjaDtwYXRjaGRpcj0uLi8uLi8gXAorICAgIGZpbGU6Ly8wMDA0LW1vemJ1Zzc0NjExMi1uby1kZWNvbW1pdC1vbi1sYXJnZS1wYWdlcy5wYXRjaDtwYXRjaGRpcj0uLi8uLi8gXAorICAgIGZpbGU6Ly8wMDA1LWFhcmNoNjQtNjRrLXBhZ2UucGF0Y2g7cGF0Y2hkaXI9Li4vLi4vIFwKKyAgICBmaWxlOi8vMDAwMS1yZWdlbmVyYXRlLWNvbmZpZ3VyZS5wYXRjaDtwYXRjaGRpcj0uLi8uLi8gXCAKKyAgICBmaWxlOi8vZml4LXRoZS1jb21waWxlLWVycm9yLW9mLXBvd2VycGM2NC5wYXRjaDtwYXRjaGRpcj0uLi8uLi8gXAorICAgIGZpbGU6Ly9maXhfbWlsZXN0b25lX2NvbXBpbGVfaXNzdWUucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDEwLWZpeC1jcm9zcy1jb21waWxhdGlvbi1vbi1pNTg2LXRhcmdldHMucGF0Y2g7cGF0Y2hkaXI9Li4vLi4vIFwKKyAgICBmaWxlOi8vMDAwMS1hZGQtc3VwcG9ydC1mb3ItYmlnLWVuZGlhbi0zMmJpdC1BUk0ucGF0Y2g7cGF0Y2hkaXI9Li4vLi4vIFwKKyAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMjBiNmY4ZjExNDBlZjZlNDdkYWEzYjE2OTY1YzkyMDIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzIxZTk2NGZlOTM4Njc4NWQzYmY4MDg3MDY0MGYyZmExYzY4M2UzMmZlOTg4ZWViMjAxYjA0NDcxYzE3MmZiYSIKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfSR7UFZ9L2pzL3NyYyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHBlcmxuYXRpdmUgcHl0aG9ubmF0aXZlCisKK0RFUEVORFMgKz0gIm5zcHIgemxpYiIKKworIyBuc3ByJ3MgcGFja2FnZS1jb25maWcgaXMgaWdub3JlZCBzbyBzZXQgbGlicyBtYW51YWxseQorRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS10YXJnZXQ9JHtUQVJHRVRfU1lTfSBcCisgICAgLS1ob3N0PSR7QlVJTERfU1lTfSBcCisgICAgLS1idWlsZD0ke0JVSUxEX1NZU30gXAorICAgIC0tcHJlZml4PSR7cHJlZml4fSBcCisgICAgLS1saWJkaXI9JHtsaWJkaXJ9IFwKKyAgICAtLXdpdGgtbnNwci1saWJzPSctbHBsZHM0IC1scGxjNCAtbG5zcHI0JyBcCisgICAgLS1lbmFibGUtdGhyZWFkc2FmZSBcCisgICAgLS1kaXNhYmxlLXN0YXRpYyBcCisiCitFWFRSQV9PRUNPTkZfYXBwZW5kX2FybXY0ICs9ICIgXAorICAgIC0tZGlzYWJsZS1tZXRob2RqaXQgXAorIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAneDExJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdbeDExXSA9ICItLXdpdGgteCAtLXgtaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gLS14LWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwtLXdpdGhvdXQteCx2aXJ0dWFsL2xpYngxMSIKKworIyBtb3pqcyByZXF1aXJlcyBhdXRvcmVjb25mIDIuMTMKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICAoIGNkICR7U30gCisgICAgICBnbnUtY29uZmlnaXplIC0tZm9yY2UKKyAgICAgIG12IGNvbmZpZy5ndWVzcyBjb25maWcuc3ViIGJ1aWxkL2F1dG9jb25mICkKKyAgICAke1N9L2NvbmZpZ3VyZSAke0VYVFJBX09FQ09ORn0KK30KKworIyBwYXRjaC5iYmNsYXNzIHdpbGwgdHJ5IHRvIGFwcGx5IHRoZSBwYXRjaGVzIGFscmVhZHkgcHJlc2VudCBhbmQgZmFpbCwgc28gY2xlYW4gdGhlbSBvdXQKK2RvX3VucGFjaygpIHsKKyAgICB0YXIgLXh2ZiAke0RMX0RJUn0vbW96anMxNy4wLjAudGFyLmd6IC1DICR7V09SS0RJUn0vCisgICAgcm0gLXJmICR7V09SS0RJUn0vJHtCUE59JHtQVn0vcGF0Y2hlcworfQorCisKK1BBQ0tBR0VTID0rICJsaWIke1BOfSIKK0ZJTEVTX2xpYiR7UE59ICs9ICIke2xpYmRpcn0vbGliKi5zbyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtiaW5kaXJ9L2pzMTctY29uZmlnIgorCisjIEZhaWxzIHRvIGJ1aWxkIHdpdGggdGh1bWItMSAocWVtdWFybSkKKyN8IHtzdGFuZGFyZCBpbnB1dH06IEFzc2VtYmxlciBtZXNzYWdlczoKKyN8IHtzdGFuZGFyZCBpbnB1dH06MjE3MjogRXJyb3I6IHNoaWZ0cyBpbiBDTVAvTU9WIGluc3RydWN0aW9ucyBhcmUgb25seSBzdXBwb3J0ZWQgaW4gdW5pZmllZCBzeW50YXggLS0gYG1vdiByMixyMSxMU1IjMjAnCisjfCB7c3RhbmRhcmQgaW5wdXR9OjIxNzM6IEVycm9yOiB1bnNoaWZ0ZWQgcmVnaXN0ZXIgcmVxdWlyZWQgLS0gYGJpYyByMixyMiwjKDE8PDExKScKKyN8IHtzdGFuZGFyZCBpbnB1dH06MjE3NDogRXJyb3I6IHVuc2hpZnRlZCByZWdpc3RlciByZXF1aXJlZCAtLSBgb3JyIHIxLHIxLCMoMTw8MjApJworI3wge3N0YW5kYXJkIGlucHV0fToyMTc2OiBFcnJvcjogaW5zdHJ1Y3Rpb24gbm90IHN1cHBvcnRlZCBpbiBUaHVtYjE2IG1vZGUgLS0gYHN1YnMgcjIscjIsIzB4MzAwJworI3wge3N0YW5kYXJkIGlucHV0fToyMTc4OiBFcnJvcjogaW5zdHJ1Y3Rpb24gbm90IHN1cHBvcnRlZCBpbiBUaHVtYjE2IG1vZGUgLS0gYHN1YnMgcjUscjIsIzUyJworQVJNX0lOU1RSVUNUSU9OX1NFVCA9ICJhcm0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9uYW5hL25hbmEvY2hhbmdlLW1hbmRpci10by1ERVNURElSLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbmFuYS9uYW5hL2NoYW5nZS1tYW5kaXItdG8tREVTVERJUi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NTNhN2U0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbmFuYS9uYW5hL2NoYW5nZS1tYW5kaXItdG8tREVTVERJUi5wYXRjaApAQCAtMCwwICsxLDQwIEBACitGcm9tIDdiMDRjNDg3M2MwYTQ1MTBiZGFmOTE0NWJmMDFjYTM0YjM1NDlmZGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMaSB4aW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CitEYXRlOiBUaHUsIDQgRGVjIDIwMTQgMDM6NTA6MTkgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSCAxLzJdIGNoYW5nZSBtYW5kaXIgdG8gREVTVERJUgorCitVcHN0cmVhbS1TdGF0dXM6IHBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogTGkgWGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorLS0tCisgbWFuL01ha2VmaWxlLmFtIHwgMiArLQorIG1hbi9NYWtlZmlsZS5pbiB8IDIgKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL21hbi9NYWtlZmlsZS5hbSBiL21hbi9NYWtlZmlsZS5hbQoraW5kZXggODBkMjRkOC4uOTQ0YmM1NyAxMDA2NDQKKy0tLSBhL21hbi9NYWtlZmlsZS5hbQorKysrIGIvbWFuL01ha2VmaWxlLmFtCitAQCAtMTYsNSArMTYsNSBAQCBpbnN0YWxsLWRhdGEtbG9jYWw6CisgCUBzZWN0PTE7CQkJCVwKKyAJaW5zdD1gZWNobyAibmFuYSIgfCBzZWQgJyQodHJhbnNmb3JtKSdgLjE7IFwKKyAJZWNobyBpbnN0YWxsaW5nIG5hbmEuMSBhcyAkKG1hbmRpcikvbWFuJCRzZWN0LyQkaW5zdDsgXAorLQkkKElOU1RBTExfREFUQSkgJChzcmNkaXIpL25hbmEuMSAkKG1hbmRpcikvbWFuJCRzZWN0LyQkaW5zdAorKwkkKElOU1RBTExfREFUQSkgJChzcmNkaXIpL25hbmEuMSAkKERFU1RESVIpJChtYW5kaXIpL21hbiQkc2VjdC8kJGluc3QKKyAKK2RpZmYgLS1naXQgYS9tYW4vTWFrZWZpbGUuaW4gYi9tYW4vTWFrZWZpbGUuaW4KK2luZGV4IDYwMDhiMjAuLjY0YmI4NGMgMTAwNjQ0CistLS0gYS9tYW4vTWFrZWZpbGUuaW4KKysrKyBiL21hbi9NYWtlZmlsZS5pbgorQEAgLTI3NCw3ICsyNzQsNyBAQCBpbnN0YWxsLWRhdGEtbG9jYWw6CisgCUBzZWN0PTE7CQkJCVwKKyAJaW5zdD1gZWNobyAibmFuYSIgfCBzZWQgJyQodHJhbnNmb3JtKSdgLjE7IFwKKyAJZWNobyBpbnN0YWxsaW5nIG5hbmEuMSBhcyAkKG1hbmRpcikvbWFuJCRzZWN0LyQkaW5zdDsgXAorLQkkKElOU1RBTExfREFUQSkgJChzcmNkaXIpL25hbmEuMSAkKG1hbmRpcikvbWFuJCRzZWN0LyQkaW5zdAorKwkkKElOU1RBTExfREFUQSkgJChzcmNkaXIpL25hbmEuMSAkKERFU1RESVIpJChtYW5kaXIpL21hbiQkc2VjdC8kJGluc3QKKyAKKyAjIFRlbGwgdmVyc2lvbnMgWzMuNTksMy42Mykgb2YgR05VIG1ha2UgdG8gbm90IGV4cG9ydCBhbGwgdmFyaWFibGVzLgorICMgT3RoZXJ3aXNlIGEgc3lzdGVtIGxpbWl0IChmb3IgU3lzViBhdCBsZWFzdCkgbWF5IGJlIGV4Y2VlZGVkLgorLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL25hbmEvbmFuYS9tb2RpZnktYWNpbmNsdWRlLm00LWFuZC1jb25maWd1cmUuaW4ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9uYW5hL25hbmEvbW9kaWZ5LWFjaW5jbHVkZS5tNC1hbmQtY29uZmlndXJlLmluLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlYjI1NDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9uYW5hL25hbmEvbW9kaWZ5LWFjaW5jbHVkZS5tNC1hbmQtY29uZmlndXJlLmluLnBhdGNoCkBAIC0wLDAgKzEsMTM3IEBACitGcm9tIDY3OWUzM2JmZTc0ZDcxMzI0MGZkZDkzMDYwMmI5OTNiOTM3ZGNlMzkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMaSB4aW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CitEYXRlOiBGcmksIDIzIEphbiAyMDE1IDAzOjMwOjQ3ICswOTAwCitTdWJqZWN0OiBbUEFUQ0hdIG1vZGlmeSBhY2luY2x1ZGUubTQgYW5kIGNvbmZpZ3VyZS5pbgorCit0aGlzIHBhdGNoIGlzIGZyb20gRGViaWFuIHRvIGZpeCBidWlsZCBlcnJvcnMuCisiYWNpbmNsdWRlLm00OjM0OiBlcnJvcjogYXV0b21hdGljIGRlLUFOU0ktZmljYXRpb24KK3N1cHBvcnQgaGFzIGJlZW4gcmVtb3ZlZCIKKworVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IExpIFhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KKy0tLQorIGFjaW5jbHVkZS5tNCB8IDc5IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGNvbmZpZ3VyZS5pbiB8IDEyICsrKysrKysrKworIDIgZmlsZXMgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNzkgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9hY2luY2x1ZGUubTQgYi9hY2luY2x1ZGUubTQKK2luZGV4IGU5ZTU1MDAuLmQ0NjdmYjUgMTAwNjQ0CistLS0gYS9hY2luY2x1ZGUubTQKKysrKyBiL2FjaW5jbHVkZS5tNAorQEAgLTMwLDgyICszMCwzIEBAIEFDX1NVQlNUKCQxKQorICMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKyAjIyBDaGVjayBmb3IgZnVuY3Rpb24gcHJvdG90eXBlcy4gICMjCisgIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLQorLUFDX0RFRlVOKGZwX0NfUFJPVE9UWVBFUywKKy1bQUNfUkVRVUlSRShbQU1fUFJPR19DQ19TVERDXSkKKy1BQ19NU0dfQ0hFQ0tJTkcoW2ZvciBmdW5jdGlvbiBwcm90b3R5cGVzXSkKKy1pZiB0ZXN0ICIkYWNfY3ZfcHJvZ19jY19zdGRjIiAhPSBubzsgdGhlbgorLSAgQUNfTVNHX1JFU1VMVCh5ZXMpCistICBBQ19ERUZJTkUoUFJPVE9UWVBFUykKKy0gIFU9IEFOU0kyS05SPQorLWVsc2UKKy0gIEFDX01TR19SRVNVTFQobm8pCistICBVPV8gQU5TSTJLTlI9Li9hbnNpMmtucgorLWZpCistQUNfU1VCU1QoVSlkbmwKKy1BQ19TVUJTVChBTlNJMktOUilkbmwKKy1dKQorLQorLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistIyMgQU5TSWZ5IHRoZSBDIGNvbXBpbGVyIHdoZW5ldmVyIHBvc3NpYmxlLiAgIyMKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLQorLSMgQGRlZm1hYyBBQ19QUk9HX0NDX1NUREMKKy0jIEBtYWluZGV4IFBST0dfQ0NfU1REQworLSMgQG92aW5kZXggQ0MKKy0jIElmIHRoZSBDIGNvbXBpbGVyIGluIG5vdCBpbiBBTlNJIEMgbW9kZSBieSBkZWZhdWx0LCB0cnkgdG8gYWRkIGFuIG9wdGlvbgorLSMgdG8gb3V0cHV0IHZhcmlhYmxlIEBjb2Rle0NDfSB0byBtYWtlIGl0IHNvLiAgVGhpcyBtYWNybyB0cmllcyB2YXJpb3VzCistIyBvcHRpb25zIHRoYXQgc2VsZWN0IEFOU0kgQyBvbiBzb21lIHN5c3RlbSBvciBhbm90aGVyLiAgSXQgY29uc2lkZXJzIHRoZQorLSMgY29tcGlsZXIgdG8gYmUgaW4gQU5TSSBDIG1vZGUgaWYgaXQgZGVmaW5lcyBAY29kZXtfX1NURENfX30gdG8gMSBhbmQKKy0jIGhhbmRsZXMgZnVuY3Rpb24gcHJvdG90eXBlcyBjb3JyZWN0bHkuCistIworLSMgSWYgeW91IHVzZSB0aGlzIG1hY3JvLCB5b3Ugc2hvdWxkIGNoZWNrIGFmdGVyIGNhbGxpbmcgaXQgd2hldGhlciB0aGUgQworLSMgY29tcGlsZXIgaGFzIGJlZW4gc2V0IHRvIGFjY2VwdCBBTlNJIEM7IGlmIG5vdCwgdGhlIHNoZWxsIHZhcmlhYmxlCistIyBAY29kZXthY19jdl9wcm9nX2NjX3N0ZGN9IGlzIHNldCB0byBAc2FtcHtub30uICBJZiB5b3Ugd3JvdGUgeW91ciBzb3VyY2UKKy0jIGNvZGUgaW4gQU5TSSBDLCB5b3UgY2FuIG1ha2UgYW4gdW4tQU5TSWZpZWQgY29weSBvZiBpdCBieSB1c2luZyB0aGUKKy0jIHByb2dyYW0gQGNvZGV7YW5zaTJrbnJ9LCB3aGljaCBjb21lcyB3aXRoIEdob3N0c2NyaXB0LgorLSMgQGVuZCBkZWZtYWMKKy0KKy1BQ19ERUZVTihmcF9QUk9HX0NDX1NUREMsCistW0FDX01TR19DSEVDS0lORyhmb3IgJHtDQy1jY30gb3B0aW9uIHRvIGFjY2VwdCBBTlNJIEMpCistQUNfQ0FDSEVfVkFMKGFjX2N2X3Byb2dfY2Nfc3RkYywKKy1bYWNfY3ZfcHJvZ19jY19zdGRjPW5vCistYWNfc2F2ZV9DRkxBR1M9IiRDRkxBR1MiCistIyBEb24ndCB0cnkgZ2NjIC1hbnNpOyB0aGF0IHR1cm5zIG9mZiB1c2VmdWwgZXh0ZW5zaW9ucyBhbmQKKy0jIGJyZWFrcyBzb21lIHN5c3RlbXMnIGhlYWRlciBmaWxlcy4KKy0jIEFJWAkJCS1xbGFuZ2x2bD1hbnNpCistIyBVbHRyaXggYW5kIE9TRi8xCS1zdGQxCistIyBIUC1VWAkJCS1BYSAtRF9IUFVYX1NPVVJDRQorLSMgU1ZSNAkJCS1YYworLWZvciBhY19hcmcgaW4gIiIgLXFsYW5nbHZsPWFuc2kgLXN0ZDEgIi1BYSAtRF9IUFVYX1NPVVJDRSIgLVhjCistZG8KKy0gIENGTEFHUz0iJGFjX3NhdmVfQ0ZMQUdTICRhY19hcmciCistICBBQ19UUllfQ09NUElMRSgKKy1bI2lmICFkZWZpbmVkKF9fU1REQ19fKSB8fCBfX1NURENfXyAhPSAxCistY2hva2UgbWUKKy0jZW5kaWYKKy1dLCBbaW50IHRlc3QgKGludCBpLCBkb3VibGUgeCk7Cistc3RydWN0IHMxIHtpbnQgKCpmKSAoaW50IGEpO307Cistc3RydWN0IHMyIHtpbnQgKCpmKSAoZG91YmxlIGEpO307XSwKKy1bYWNfY3ZfcHJvZ19jY19zdGRjPSIkYWNfYXJnIjsgYnJlYWtdKQorLWRvbmUKKy1DRkxBR1M9IiRhY19zYXZlX0NGTEFHUyIKKy1dKQorLUFDX01TR19SRVNVTFQoJGFjX2N2X3Byb2dfY2Nfc3RkYykKKy1jYXNlICJ4JGFjX2N2X3Byb2dfY2Nfc3RkYyIgaW4KKy0gIHh8eG5vKSA7OworLSAgKikgQ0M9IiRDQyAkYWNfY3ZfcHJvZ19jY19zdGRjIiA7OworLWVzYWMKKy1dKQorLQorLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIFVzZSBBQ19QUk9HX0lOU1RBTEwsIHN1cHBsZW1lbnRpbmcgaXQgd2l0aCBJTlNUQUxMX1NDUklQVCAjIworLSMjIHN1YnN0aXR1dGlvbi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIworLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLQorLUFDX0RFRlVOKGZwX1BST0dfSU5TVEFMTCwKKy1bQUNfUFJPR19JTlNUQUxMCistdGVzdCAteiAiJElOU1RBTExfU0NSSVBUIiAmJiBJTlNUQUxMX1NDUklQVD0nJHtJTlNUQUxMfSAtbSA3NTUnCistQUNfU1VCU1QoSU5TVEFMTF9TQ1JJUFQpZG5sCistXSkKKy0KK2RpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KK2luZGV4IDZiMjVlZDUuLmE2YTdmNWIgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuaW4KKysrKyBiL2NvbmZpZ3VyZS5pbgorQEAgLTEwMyw2ICsxMDMsMTIgQEAgbmFuYV9ERUZJTkUoRElfTUFLRV9WQUxJRF9CUkVBS1BPSU5ULChleHBybiksCisgICBzcGFyYy0qLSp8aT84Ni0qLSopCisgICAgIERJX01BS0VfVkFMSURfQlJFQUtQT0lOVD0nYXNtKCJub3AiKScKKyAgICAgOzsKKysgIGFybSotKi0qfGZydi0qLSp8bWlwcyotKi0qKQorKyAgICBESV9NQUtFX1ZBTElEX0JSRUFLUE9JTlQ9J2FzbSgibm9wIiknCisrICAgIDs7CisrICBzaCotKi0qKQorKyAgICBESV9NQUtFX1ZBTElEX0JSRUFLUE9JTlQ9J2FzbSgibm9wXG5cdG5vcFxuXHQiKScKKysgICAgOzsKKyAgIGVzYWMKKyBdKQorIAorQEAgLTExMyw2ICsxMTksMTIgQEAgbmFuYV9ERUZJTkUoRExfTUFLRV9WQUxJRF9CUkVBS1BPSU5ULCgpLAorICAgc3BhcmMtKi0qfGk/ODYtKi0qKQorICAgICBETF9NQUtFX1ZBTElEX0JSRUFLUE9JTlQ9J2FzbSgibm9wIiknCisgICAgIDs7CisrICBhcm0qLSotKnxmcnYtKi0qfG1pcHMqLSotKikKKysgICAgRExfTUFLRV9WQUxJRF9CUkVBS1BPSU5UPSdhc20oIm5vcCIpJworKyAgICA7OworKyAgc2gqLSotKikKKysgICAgRExfTUFLRV9WQUxJRF9CUkVBS1BPSU5UPSdhc20oIm5vcFxuXHRub3Bcblx0IiknCisrICAgIDs7CisgICBlc2FjCisgXSkKKyAKKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9uYW5hL25hbmFfMi41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbmFuYS9uYW5hXzIuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOWE5MGZmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbmFuYS9uYW5hXzIuNS5iYgpAQCAtMCwwICsxLDM0IEBACitTVU1NQVJZID0gIlN1cHBvcnQgZm9yIGFzc2VydGlvbiBjaGVja2luZyBhbmQgbG9nZ2luZyBpbiBHTlUgQy9DKysiCitERVNDUklQVElPTiA9ICJHTlUgTmFuYSBpcyBhIGZyZWUgbGlicmFyeSBwcm92aWRpbmcgaW1wcm92ZWQgc3VwcG9ydCBmb3IgYXNzZXJ0aW9uXAorY2hlY2tpbmcgKGFzIGluIGFzc2VydC5oKSBhbmQgbG9nZ2luZyAocHJpbnRmIHN0eWxlIGRlYnVnZ2luZykgaW4gXAorR05VIEMgYW5kIEMrKy4iCitTRUNUSU9OID0gIkRldmVsb3BtZW50L0xhbmd1YWdlcy9DIGFuZCBDKysiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLnNhdmFubmFoLmdudS5vcmcvcmVsZWFzZXMvJHtQTn0vJHtCUH0udGFyLmd6IFwKKyAgICBmaWxlOi8vY2hhbmdlLW1hbmRpci10by1ERVNURElSLnBhdGNoIFwKKyAgICBmaWxlOi8vbW9kaWZ5LWFjaW5jbHVkZS5tNC1hbmQtY29uZmlndXJlLmluLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2NmM4OGFhMGFkMDk1YjJlNjc2NzM3NzMxMzU0NzVmMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmZDE4MTlmZmVhOTRiMjA5NTEzOTU5NDQ3ZTQ4MDJhZmUyNzE5NjAwZTdkMTYxY2Q3OGIyNjVhNDI4MTJhZmZhIgorCitMSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTZhYTU3ZjNiN2ZkZGE4NzBjZWU1OTcyNzViZDVkMTEiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcKKworRVhUUkFfT0VNQUtFID0gIkRFU1RESVI9JHtEfSIKKworZG9fY29uZmlndXJlX3ByZXBlbmRfY2xhc3MtbmF0aXZlc2RrKCkgeworICAgIHNlZCAtaSAtZSAnczpAQ1BQQDpcJFx7Q1hYXH0gXCRce0NYWEZMQUdTXH0gXC1FOmcnICR7U30vc3JjL25hbmEuaW4KKyAgICBzZWQgLWkgLWUgJ3M6QENDQDpcJFx7Q0NcfSBcJFx7Q0ZMQUdTXH0gXC1FOmcnICR7U30vc3JjL25hbmEtY2xnLmluCisgICAgc2VkIC1pIC1lICdzOkBDWFhAOjpnJyAke1N9L3NyYy9uYW5hLWMrK2xnLmluCisgICAgc2VkIC1pIC1lICdzOkBHREJAOlwkXHtHREJcfTpnJyAke1N9L3NyYy9uYW5hLXJ1bi5pbgorfQorCitkb19pbnN0YWxsX3ByZXBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjEKKyAgICBpbnN0YWxsIC1kICR7RH0ke21hbmRpcn0vbWFuMworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vaW5mbworfQorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbmljc3RhdC9uaWNzdGF0XzEuOTUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9uaWNzdGF0L25pY3N0YXRfMS45NS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MTI2YTMxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbmljc3RhdC9uaWNzdGF0XzEuOTUuYmIKQEAgLTAsMCArMSwyMCBAQAorREVTQ1JJUFRJT04gPSAibmljc3RhdCBpcyBhIFNvbGFyaXMgYW5kIExpbnV4IGNvbW1hbmQtbGluZSB0aGF0IHByaW50cyBvdXQgbmV0d29yayBcCitzdGF0aXN0aWNzIGZvciBhbGwgbmV0d29yayBpbnRlcmZhY2UgY2FyZHMgKE5JQ3MpLCBpbmNsdWRpbmcgcGFja2V0cywga2lsb2J5dGVzIFwKK3BlciBzZWNvbmQsIGF2ZXJhZ2UgcGFja2V0IHNpemVzIGFuZCBtb3JlLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9uaWNzdGF0LnNvdXJjZWZvcmdlLm5ldCIKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PWI0YTk0ZGEyYTFmOTE4YjIxN2VmNTE1NjYzNGZjOWUwIgorCitTUkNfVVJJID0gImh0dHA6Ly9zb2Z0bGF5ZXItc25nLmRsLnNvdXJjZWZvcmdlLm5ldC9wcm9qZWN0LyR7QlBOfS8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiOWEwYjg3YmJjNjcwYzFlNzM4ZTViNDBjN2FmZDE4NGQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzRjYzMzZjg4MzhmNDUyM2YyN2MzZDc1ODRlZWRiZTU5ZjRjNTg3ZjA4MjE2MTJmNWFjMjIwMWFkYzE4YjM2NyIKKworZG9fY29tcGlsZSgpIHsKKyAgICAke0NDfSAke0NGTEFHU30gJHtMREZMQUdTfSAtbyBuaWNzdGF0IG5pY3N0YXQuYworfQorZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtiaW5kaXJ9LworICAgIGluc3RhbGwgLWQgJHtEfS8ke21hbmRpcn0vCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vbmljc3RhdCAke0R9JHtiaW5kaXJ9LworICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L25pY3N0YXQuMSAke0R9LyR7bWFuZGlyfS8KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW5sbWkvb3BlbmxtaS1uZXR3b3JraW5nLzAwMDEtZml4LWxpYjY0LWNhbi1ub3QtYmUtc2hpcGVkLWluLTY0Yml0LXRhcmdldC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW5sbWkvb3BlbmxtaS1uZXR3b3JraW5nLzAwMDEtZml4LWxpYjY0LWNhbi1ub3QtYmUtc2hpcGVkLWluLTY0Yml0LXRhcmdldC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMjM4MjAwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbmxtaS9vcGVubG1pLW5ldHdvcmtpbmcvMDAwMS1maXgtbGliNjQtY2FuLW5vdC1iZS1zaGlwZWQtaW4tNjRiaXQtdGFyZ2V0LnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gMzM2YmI1YTAzMTA3NzQ2MWVjNmIyZTU0Mzg3MzhiZjEwMGYwZGQyZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExlaSBNYW9odWkgPGxlaW1hb2h1aUBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IE1vbiwgMyBBdWcgMjAxNSAwMjozNzo0NiArMDkwMAorU3ViamVjdDogW1BBVENIXSBmaXggbGliNjQgY2FuIG5vdCBiZSBzaGlwZWQgaW4gNjRiaXQgdGFyZ2V0CisKK1NpZ25lZC1vZmYtYnk6IExlaSBNYW9odWkgPGxlaW1hb2h1aUBjbi5mdWppdHN1LmNvbT4KKy0tLQorIENNYWtlTGlzdHMudHh0IHwgNyAtLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CitpbmRleCAxYmEzY2QzLi4yNDExNzQ1IDEwMDY0NAorLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrKyBiL0NNYWtlTGlzdHMudHh0CitAQCAtMzUsMTMgKzM1LDYgQEAgaWYgKERFQlVHKQorICAgICBhZGRfZGVmaW5pdGlvbnMoIi1EREVCVUdfRU5BQkxFRCIpCisgZW5kaWYgKERFQlVHKQorIAorLSMgU2V0IExJQl9TVUZGSVggdG8gNjQgb24gNjRiaXQgYXJjaGl0ZWN0dXJlcworLWlmKENNQUtFX1NJWkVPRl9WT0lEX1AgRVFVQUwgNCkKKy0gICAgc2V0KExJQl9TVUZGSVggIiIpCistZWxzZShDTUFLRV9TSVpFT0ZfVk9JRF9QIEVRVUFMIDQpCistICAgIFNFVChMSUJfU1VGRklYIDY0KQorLWVuZGlmKENNQUtFX1NJWkVPRl9WT0lEX1AgRVFVQUwgNCkKKy0KKyAjIEZpbmQgT3BlbkxNSU1hY3JvcyB3aGVuIGluc3RhbGxlZCBpbiBvdGhlciBwcmVmaXggdGhhbiAvdXNyIChlLmcuIC91c3IvbG9jYWwpCisgc2V0KENNQUtFX01PRFVMRV9QQVRIICR7Q01BS0VfTU9EVUxFX1BBVEh9ICR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9KQorIGluY2x1ZGUoT3BlbkxNSU1hY3JvcyBSRVNVTFRfVkFSSUFCTEUgTE1JTUFDUk9TKQorLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW5sbWkvb3BlbmxtaS1uZXR3b3JraW5nXzAuMy4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbmxtaS9vcGVubG1pLW5ldHdvcmtpbmdfMC4zLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTQ0MjkxMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW5sbWkvb3BlbmxtaS1uZXR3b3JraW5nXzAuMy4xLmJiCkBAIC0wLDAgKzEsMzAgQEAKK1NVTU1BUlkgPSAiQ0lNIHByb3ZpZGVycyBmb3IgbmV0d29yayBtYW5hZ2VtZW50IgorREVTQ1JJUFRJT04gPSAiXAorb3BlbmxtaS1uZXR3b3JraW5nIGlzIHNldCBvZiBDTVBJIHByb3ZpZGVycyBmb3IgbmV0d29yayBtYW5hZ2VtZW50IHVzaW5nIFwKK0NvbW1vbiBJbmZvcm1hdGlvbiBNb2RlbCAoQ0lNKS4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm9wZW5sbWkub3JnLyIKK0xJQ0VOU0UgPSAiTEdQTC0yLjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9N2MxM2IzMzc2Y2VhMGNlNjhkMmQyZGEwYTFiM2E3MmMiCitTRUNUSU9OID0gIlN5c3RlbS9NYW5hZ2VtZW50IgorREVQRU5EUyA9ICJvcGVubG1pLXByb3ZpZGVycyBrb25rcmV0Y21waSBzYmxpbS1jbXBpLWRldmVsIGNpbS1zY2hlbWEtZXhwZXIgbmV0d29ya21hbmFnZXIgZGJ1cyBsaWJjaGVjayBnbGliLTIuMCIKKworU1JDX1VSSSA9ICJodHRwOi8vZmVkb3JhaG9zdGVkLm9yZy9yZWxlYXNlZC8ke0JQTn0vJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZml4LWxpYjY0LWNhbi1ub3QtYmUtc2hpcGVkLWluLTY0Yml0LXRhcmdldC5wYXRjaCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImYyMGRlOGM3NmZiNmE4MDAwMWIxNGMxZWIwMzU5NTNlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU3OGVhYTVjNjVmZTkyNGI1ZDdhZWI2MzU1MDlkZDQ2NDQzMTY2Y2Q2YTg4YjAxOWJjNDI2NDZlMzUxOGE0NjAiCisKK2luaGVyaXQgY21ha2UKKworRVhUUkFfT0VDTUFLRSA9ICIke0BiYXNlX2NvbmRpdGlvbmFsKCJsaWJkaXIiLCAiL3Vzci9saWI2NCIsICItRExJQl9TVUZGSVg9NjQiLCAiIiwgZCl9IFwKKyAgICAgICAgICAgICAgICAgJHtAYmFzZV9jb25kaXRpb25hbCgibGliZGlyIiwgIi91c3IvbGliMzIiLCAiLURMSUJfU1VGRklYPTMyIiwgIiIsIGQpfSBcCisgICAgICAgICAgICAgICAgIgorCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgICBleHBvcnQgQ01BS0VfSU5TVEFMTF9EQVRESVI9IiR7U1RBR0lOR19EQVRBRElSfSIKK30KKworCitGSUxFU18ke1BOfSA9KyAiJHtsaWJkaXJ9L2NtcGkvbGliY21waUxNSV9OZXR3b3JraW5nLnNvICR7cHJlZml4fS9saWJleGVjKiIKK0ZJTEVTXyR7UE59LWRiZyA9KyAiJHtsaWJkaXJ9L2NtcGkvLmRlYnVnKiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW5sbWkvb3BlbmxtaS1wcm92aWRlcnMvMDAwMS1maXgtZXJyb3IucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVubG1pL29wZW5sbWktcHJvdmlkZXJzLzAwMDEtZml4LWVycm9yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiY2QxYzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVubG1pL29wZW5sbWktcHJvdmlkZXJzLzAwMDEtZml4LWVycm9yLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK0Zyb20gNzY0MTcxODY2Yjg0ZTAxOThiNjc1MzhmNjMwMjJhYmRlM2U2MjhhZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFFpYW4gTGVpIDxxaWFubC5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogRnJpLCAxNiBKYW4gMjAxNSAxNDoxNToyNSArMDgwMAorU3ViamVjdDogW1BBVENIXSBmaXggZXJyb3IKKworU2lnbmVkLW9mZi1ieTogUWlhbiBMZWkgPHFpYW5sLmZuc3RAY24uZnVqaXRzdS5jb20+CistLS0KKyBjbWFrZS9tb2R1bGVzL09wZW5MTUlNYWNyb3MuY21ha2UgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jbWFrZS9tb2R1bGVzL09wZW5MTUlNYWNyb3MuY21ha2UgYi9jbWFrZS9tb2R1bGVzL09wZW5MTUlNYWNyb3MuY21ha2UKK2luZGV4IGQ1NWY5ODMuLmRiYzMyZWMgMTAwNjQ0CistLS0gYS9jbWFrZS9tb2R1bGVzL09wZW5MTUlNYWNyb3MuY21ha2UKKysrKyBiL2NtYWtlL21vZHVsZXMvT3BlbkxNSU1hY3Jvcy5jbWFrZQorQEAgLTg5LDcgKzg5LDcgQEAgbWFjcm8oa29ua3JldGNtcGlfZ2VuZXJhdGUgTU9GUyBDSU1fUFJPVklERVJTIENJTV9IRUFERVJTIENJTV9DTEFTU0VTKQorICAgICAgICAgZW5kZm9yZWFjaChDTEFTUyAke0NJTV9DTEFTU19OQU1FU30pCisgCisgICAgICAgICAjIEdlbmVyYXRlIGhlYWRlcnMgZm9yIENJTSBjbGFzc2VzCistICAgICAgICBzZXQoRU5We0tPTktSRVRfU0NIRU1BX0RJUn0gIi91c3Ivc2hhcmUvbW9mL2NpbS1jdXJyZW50IikKKysgICAgICAgIHNldChFTlZ7S09OS1JFVF9TQ0hFTUFfRElSfSAiJEVOVntDTUFLRV9JTlNUQUxMX0RBVERJUn0vbW9mL2NpbS1jdXJyZW50IikKKyAgICAgICAgIGV4ZWN1dGVfcHJvY2VzcyhDT01NQU5EICR7S09OS1JFVENNUElfS09OS1JFVH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7S09OS1JFVF9NT0ZfRklMRVN9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke0dFTkVSQVRFX1BST1ZJREVSU30KKy0tIAorMS44LjMuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVubG1pL29wZW5sbWktcHJvdmlkZXJzLzAwMDEtZml4LWxpYjY0LWNhbi1ub3QtYmUtc2hpcGVkLWluLTY0Yml0LXRhcmdldC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW5sbWkvb3BlbmxtaS1wcm92aWRlcnMvMDAwMS1maXgtbGliNjQtY2FuLW5vdC1iZS1zaGlwZWQtaW4tNjRiaXQtdGFyZ2V0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljOGViZTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVubG1pL29wZW5sbWktcHJvdmlkZXJzLzAwMDEtZml4LWxpYjY0LWNhbi1ub3QtYmUtc2hpcGVkLWluLTY0Yml0LXRhcmdldC5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIDdjZWNmYTk1ZjAzM2IzM2ExYzMyNjBjMjE0YjJkMGU1ZTgxYjRmZDMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMZWkgTWFvaHVpIDxsZWltYW9odWlAY24uZnVqaXRzdS5jb20+CitEYXRlOiBNb24sIDMgQXVnIDIwMTUgMDI6MDU6NTYgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gZml4IGxpYjY0IGNhbiBub3QgYmUgc2hpcGVkIGluIDY0Yml0IHRhcmdldAorCitTaWduZWQtb2ZmLWJ5OiBMZWkgTWFvaHVpIDxsZWltYW9odWlAY24uZnVqaXRzdS5jb20+CistLS0KKyBDTWFrZUxpc3RzLnR4dCB8IDcgLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggNDhhZTIwNi4uM2VhZDljNiAxMDA2NDQKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTIxLDEzICsyMSw2IEBAIGVsc2UoSEFTX1NUQUNLX1BST1RFQ1RPUl9TVFJPTkcpCisgICAgIHNldChDTUFLRV9DX0ZMQUdTICIke0NNQUtFX0NfRkxBR1N9IC1mc3RhY2stcHJvdGVjdG9yIikKKyBlbmRpZigpCisgCistIyBTZXQgTElCX1NVRkZJWCB0byA2NCBvbiA2NGJpdCBhcmNoaXRlY3R1cmVzCistaWYoQ01BS0VfU0laRU9GX1ZPSURfUCBFUVVBTCA0KQorLSAgICBzZXQoTElCX1NVRkZJWCAiIikKKy1lbHNlKENNQUtFX1NJWkVPRl9WT0lEX1AgRVFVQUwgNCkKKy0gICAgU0VUKExJQl9TVUZGSVggNjQpCistZW5kaWYoQ01BS0VfU0laRU9GX1ZPSURfUCBFUVVBTCA0KQorLQorIGlmKE5PVCBTWVNDT05GX0lOU1RBTExfRElSKQorICAgICBzZXQoU1lTQ09ORl9JTlNUQUxMX0RJUiAke0NNQUtFX0lOU1RBTExfUFJFRklYfS9ldGMpCisgZW5kaWYoTk9UIFNZU0NPTkZfSU5TVEFMTF9ESVIpCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbmxtaS9vcGVubG1pLXByb3ZpZGVyc18wLjYuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW5sbWkvb3BlbmxtaS1wcm92aWRlcnNfMC42LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjA0ODg4OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW5sbWkvb3BlbmxtaS1wcm92aWRlcnNfMC42LjAuYmIKQEAgLTAsMCArMSw1NCBAQAorU1VNTUFSWSA9ICJTZXQgb2YgYmFzaWMgQ0lNIHByb3ZpZGVycyIKK0RFU0NSSVBUSU9OID0gIlwKK29wZW5sbWktcHJvdmlkZXJzIGlzIHNldCBvZiAodXN1YWxseSkgc21hbGwgQ01QSSBwcm92aWRlcnMgKGFnZW50cykgZm9yIFwKK2Jhc2ljIG1vbml0b3JpbmcgYW5kIG1hbmFnZW1lbnQgb2YgaG9zdCBzeXN0ZW0gdXNpbmcgQ29tbW9uIEluZm9ybWF0aW9uIFwKK01vZGVsIChDSU0pLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbmxtaS5vcmcvIgorTElDRU5TRSA9ICJMR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9N2MxM2IzMzc2Y2VhMGNlNjhkMmQyZGEwYTFiM2E3MmMiCitTRUNUSU9OID0gIlN5c3RlbS9NYW5hZ2VtZW50IgorREVQRU5EUyA9ICJrb25rcmV0Y21waS1uYXRpdmUga29ua3JldGNtcGkgc2JsaW0tc2ZjYiBzYmxpbS1jbXBpLWRldmVsIGNpbS1zY2hlbWEtZXhwZXIgbG1zZW5zb3JzIGxpYnVzZXIgc3dpZyBzd2lnLW5hdGl2ZSBkYnVzIHVkZXYgc3lzdGVtZC1zeXN0ZW1jdGwtbmF0aXZlIHBjaXV0aWxzIgorCitTUkNfVVJJID0gImh0dHA6Ly9mZWRvcmFob3N0ZWQub3JnL3JlbGVhc2VkLyR7QlBOfS8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1maXgtZXJyb3IucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1maXgtbGliNjQtY2FuLW5vdC1iZS1zaGlwZWQtaW4tNjRiaXQtdGFyZ2V0LnBhdGNoIFwKKyAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiNTkwNGYyM2NmNDk0OTQ2MjM3Y2ZiYmRiZTY0NGEzY2QiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTJiMmZiZWFlYzQ1YTgzOTA1ZDBkYTNiODdkYTgzOTA0ZDljZDk0YzFiODYzMTJmODQ0NTg3YjNmZmYxMWY1NiIKKworaW5oZXJpdCBjbWFrZQorTERGTEFHU19hcHBlbmQgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsZC1pcy1nb2xkJywgJyAtZnVzZS1sZD1iZmQgJywgJycsIGQpfSIKK0VYVFJBX09FQ01BS0UgPSAiIFwKKyAgICAgICAgICAgICAgICAgLURXSVRILURFVkFTU0lTVEFOVD1PRkYgXAorICAgICAgICAgICAgICAgICAtRFdJVEgtSk9VUk5BTEQ9T0ZGIFwKKyAgICAgICAgICAgICAgICAgLURXSVRILVNFUlZJQ0U9T0ZGIFwKKyAgICAgICAgICAgICAgICAgLURXSVRILVNFUlZJQ0UtTEVHQUNZPU9OIFwKKyAgICAgICAgICAgICAgICAgLURXSVRILUFDQ09VTlQ9T0ZGIFwKKyAgICAgICAgICAgICAgICAgLURXSVRILVBDUD1PRkYgXAorICAgICAgICAgICAgICAgICAtRFdJVEgtUkVBTE1EPU9GRiBcCisgICAgICAgICAgICAgICAgIC1EV0lUSC1GQU49T0ZGIFwKKyAgICAgICAgICAgICAgICAgLURXSVRILUxPQ0FMRT1PRkYgXAorICAgICAgICAgICAgICAgICAtRFdJVEgtSU5EU0VOREVSPU9GRiBcCisgICAgICAgICAgICAgICAgIC1EV0lUSC1KT0JNQU5BR0VSPU9GRiBcCisgICAgICAgICAgICAgICAgIC1EV0lUSC1TU1NEPU9GRiBcCisgICAgICAgICAgICAgICAgIC1EV0lUSC1TRUxJTlVYPU9GRiBcCisgICAgICAgICAgICAgICAgIC1EV0lUSC1TT0ZUV0FSRS1EQlVTPU9OIFwKKyAgICAgICAgICAgICAgICAgJHtAYmFzZV9jb25kaXRpb25hbCgibGliZGlyIiwgIi91c3IvbGliNjQiLCAiLURMSUJfU1VGRklYPTY0IiwgIiIsIGQpfSBcCisgICAgICAgICAgICAgICAgICR7QGJhc2VfY29uZGl0aW9uYWwoImxpYmRpciIsICIvdXNyL2xpYjMyIiwgIi1ETElCX1NVRkZJWD0zMiIsICIiLCBkKX0gXAorICAgICAgICAgICAgICAgIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBleHBvcnQgQ01BS0VfSU5TVEFMTF9EQVRESVI9IiR7U1RBR0lOR19EQVRBRElSfSIKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaWYgWyAtZCAke0R9JHtwcmVmaXh9JHtzeXNjb25maWRyfSBdOyB0aGVuCisgICAgICAgIG12ICR7RH0ke3ByZWZpeH0ke3N5c2NvbmZkaXJ9ICR7RH0ke3N5c2NvbmZkaXJ9CisgICAgZmkKK30KKworRklMRVNfJHtQTn0gPSsgIiR7bGliZGlyfS9jbXBpL2xpYmNtcGlMTUkqICR7cHJlZml4fS9saWJleGVjKiIKK0ZJTEVTXyR7UE59LWRldiA9KyAiJHtkYXRhZGlyfS9jbWFrZSoiCitGSUxFU18ke1BOfS1kYmcgPSsgIiR7bGliZGlyfS9jbXBpLy5kZWJ1ZyoiCisKK1JERVBFTkRTXyR7UE59ID0gInB5dGhvbiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW5sbWkvb3BlbmxtaS1zdG9yYWdlXzAuOC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbmxtaS9vcGVubG1pLXN0b3JhZ2VfMC44LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDE1ZDgwMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW5sbWkvb3BlbmxtaS1zdG9yYWdlXzAuOC4xLmJiCkBAIC0wLDAgKzEsMzIgQEAKK1NVTU1BUlkgPSAiQ0lNIHByb3ZpZGVycyBmb3Igc3RvcmFnZSBtYW5hZ2VtZW50IgorREVTQ1JJUFRJT04gPSAiXAorVGhlIG9wZW5sbWktc3RvcmFnZSBwYWNrYWdlIGNvbnRhaW5zIENNUEkgcHJvdmlkZXJzIGZvciBtYW5hZ2VtZW50IG9mIHN0b3JhZ2UgXAordXNpbmcgQ29tbW9uIEluZm9ybWF0aW9uIE1hbmFnZW1lbiAoQ0lNKSBwcm90b2NvbC4gXAorXAorVGhlIHByb3ZpZGVycyBjYW4gYmUgcmVnaXN0ZXJlZCBpbiBhbnkgQ01QSS1hd2FyZSBDSU1PTSwgYm90aCBPcGVuUGVnYXN1cyBhbmQgXAorU0ZDQiB3ZXJlIHRlc3RlZC4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm9wZW5sbWkub3JnLyIKK0xJQ0VOU0UgPSAiTEdQTC0yLjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCitTRUNUSU9OID0gIlN5c3RlbS9NYW5hZ2VtZW50IgorREVQRU5EUyA9ICJvcGVubG1pLXByb3ZpZGVycyBweXdiZW0gY21waS1iaW5kaW5ncyIKK1JERVBFTkRTXyR7UE59ICs9ICJiYXNoIgorCitTUkNfVVJJID0gImh0dHA6Ly9mZWRvcmFob3N0ZWQub3JnL3JlbGVhc2VkLyR7QlBOfS8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiODk4Y2YwZDhjMDNiOGFkNmI0NWQ2NWYzMzVkZGVlMGQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGExYmE5OTU3NzUwZjk0ZWE1OGE4OWNlYTI4OTg1NTY0ZjM4ZDdjYzlhYTAwZmNhZTIwYzUxZTdiMzJiZDBhOCIKKworaW5oZXJpdCBzZXR1cHRvb2xzCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLW0gNzU1IC1kICR7RH0ke2RhdGFkaXJ9LyR7QlBOfQorICAgIGluc3RhbGwgLW0gNjQ0ICR7U30vbW9mLyogJHtEfSR7ZGF0YWRpcn0vJHtCUE59LworCisgICAgaW5zdGFsbCAtbSA3NTUgLWQgJHtEfSR7c3lzY29uZmRpcn0vb3BlbmxtaS9zdG9yYWdlCisgICAgaW5zdGFsbCAtbSA2NDQgc3RvcmFnZS5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L29wZW5sbWkvc3RvcmFnZS9zdG9yYWdlLmNvbmYKKworICAgIGluc3RhbGwgLW0gNzU1IC1kICR7RH0ke2xpYmV4ZWNkaXJ9L3BlZ2FzdXMKKyAgICBpbnN0YWxsIC1tIDc1NSBweWNtcGlMTUlfU3RvcmFnZS1jaW1wcm92YWd0ICR7RH0ke2xpYmV4ZWNkaXJ9L3BlZ2FzdXMvCit9CisKK0ZJTEVTXyR7UE59ID0rICIke3N5c2NvbmZkaXJ9L29wZW5sbWkvc3RvcmFnZS9zdG9yYWdlLmNvbmYgJHtkYXRhZGlyfS8ke0JQTn0vKiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW5sbWkvb3BlbmxtaS10b29sc18wLjEwLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVubG1pL29wZW5sbWktdG9vbHNfMC4xMC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyMzg2OWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVubG1pL29wZW5sbWktdG9vbHNfMC4xMC41LmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiU2V0IG9mIENMSSB0b29scyBmb3IgT3BlbmxtaSBwcm92aWRlcnMiCitERVNDUklQVElPTiA9ICJvcGVubG1pLXRvb2xzIGlzIGEgc2V0IG9mIGNvbW1hbmQgbGluZSB0b29scyBmb3IgT3BlbmxtaSBwcm92aWRlcnMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5vcGVubG1pLm9yZy8iCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1ODU5OTg5NTQ1ZTM3OTY4YTk5YjYzMWVmNDI3MjJlIgorU0VDVElPTiA9ICJTeXN0ZW0vTWFuYWdlbWVudCIKKworaW5oZXJpdCBzZXR1cHRvb2xzCisKK0RFUEVORFMgPSAicHl0aG9uLW5hdGl2ZSBweXdiZW0tbmF0aXZlIHB5dGhvbi1tMmNyeXB0byBweXdiZW0iCisKK1NSQ19VUkkgPSAiaHR0cDovL2ZlZG9yYWhvc3RlZC5vcmcvcmVsZWFzZWQvJHtCUE59LyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImUxNTYyNDZjYjdiNDk3NTNkYjgyZjRkZGY3ZjAzZTUwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI5MmI4ZjVmMjI1MDY1NWE0YWRkODE4M2M1MjliNzMzNThiYzk4MGJkNGYyM2NmYTQ4NGE5NDA5NTNmY2U5ZTQiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBjZCBjbGkKKyAgICBzZWQgJ3MvQEBWRVJTSU9OQEAvJChWRVJTSU9OKS9nJyBzZXR1cC5weS5za2VsID5zZXR1cC5weQorfQorZG9faW5zdGFsbF9wcmVwZW5kKCkgeworICAgIGNkIGNsaQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbi9saWJzc2wtaXMtcmVxdWlyZWQtaWYtZXZlbnRpbnQtc3VwcG9ydGVkLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbi9saWJzc2wtaXMtcmVxdWlyZWQtaWYtZXZlbnRpbnQtc3VwcG9ydGVkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkNTQwZTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVud3NtYW4vb3BlbndzbWFuL2xpYnNzbC1pcy1yZXF1aXJlZC1pZi1ldmVudGludC1zdXBwb3J0ZWQucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorbGlic3NsIGlzIHJlcXVpcmVkIGJ5IHdzbWFuX2NsaWVudF90cmFuc3BvcnQgaWYgRU5BQkxFX0VWRU5USU5HX1NVUFBPUlQgZW5hYmxlZC4KKworU2lnbmVkLW9mZi1ieTogQmlhbiBOYWltZW5nIDxiaWFubm1AY24uZnVqaXRzdS5jb20+CisKK2RpZmYgLU51cnAgb3BlbndzbWFuLTIuNC4xMi5vcmlnL3NyYy9saWIvQ01ha2VMaXN0cy50eHQgb3BlbndzbWFuLTIuNC4xMi9zcmMvbGliL0NNYWtlTGlzdHMudHh0CistLS0gb3BlbndzbWFuLTIuNC4xMi5vcmlnL3NyYy9saWIvQ01ha2VMaXN0cy50eHQJMjAxNC0xMC0yOCAyMzowNDo0Ny4wMDAwMDAwMDAgKzA4MDAKKysrKyBvcGVud3NtYW4tMi40LjEyL3NyYy9saWIvQ01ha2VMaXN0cy50eHQJMjAxNC0xMi0zMSAxMTowOToyMC4zNDA0Mjg1MjMgKzA4MDAKK0BAIC01Niw2ICs1Niw5IEBAIFRBUkdFVF9MSU5LX0xJQlJBUklFUyggJHtXU01BTl9DTElFTlRfVFIKKyBTRVRfVEFSR0VUX1BST1BFUlRJRVMoICR7V1NNQU5fQ0xJRU5UX1RSQU5TUE9SVF9QS0d9IFBST1BFUlRJRVMgVkVSU0lPTiAxLjAuMCBTT1ZFUlNJT04gMSkKKyBJTlNUQUxMKFRBUkdFVFMgJHtXU01BTl9DTElFTlRfVFJBTlNQT1JUX1BLR30gREVTVElOQVRJT04gJHtMSUJfSU5TVEFMTF9ESVJ9KQorIAorK0lGKCBFTkFCTEVfRVZFTlRJTkdfU1VQUE9SVCApCisrVEFSR0VUX0xJTktfTElCUkFSSUVTKCAke1dTTUFOX0NMSUVOVF9UUkFOU1BPUlRfUEtHfSAke09QRU5TU0xfTElCUkFSSUVTfSApCisrRU5ESUYoIEVOQUJMRV9FVkVOVElOR19TVVBQT1JUICkKKyAKKyAjIyMjIyMjIyMjIyMjIyMgd3NtYW5fY2xpZW50ICMjIyMjIyMjIyMjIyMjIworIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbi9vcGVud3NtYW5kLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVud3NtYW4vb3BlbndzbWFuL29wZW53c21hbmQuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNTRmM2NkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbi9vcGVud3NtYW5kLnNlcnZpY2UKQEAgLTAsMCArMSwxMiBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1PcGVud3NtYW4gV1MtTWFuYWdlbWVudCBTZXJ2aWNlCitBZnRlcj1zeXNsb2cudGFyZ2V0CisKK1tTZXJ2aWNlXQorVHlwZT1mb3JraW5nCitFeGVjU3RhcnQ9QFNCSU5ESVJAL29wZW53c21hbmQKK0V4ZWNTdGFydFByZT1AU1lTQ09ORkRJUkAvb3BlbndzbWFuL293c21hbmdlbmNlcnQuc2gKK1BJREZpbGU9QExPQ0FMU1RBVEVESVJAL3J1bi93c21hbmQucGlkCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW53c21hbi9vcGVud3NtYW5fMi42LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVud3NtYW4vb3BlbndzbWFuXzIuNi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyYjI3MWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVud3NtYW4vb3BlbndzbWFuXzIuNi4yLmJiCkBAIC0wLDAgKzEsNjcgQEAKK1NVTU1BUlkgPSAiT3BlbnNvdXJjZSBJbXBsZW1lbnRhdGlvbiBvZiBXUy1NYW5hZ2VtZW50IgorREVTQ1JJUFRJT04gPSAiT3BlbndzbWFuIGlzIGEgcHJvamVjdCBpbnRlbmRlZCB0byBwcm92aWRlIGFuIG9wZW4tc291cmNlIFwKK2ltcGxlbWVudGF0aW9uIG9mIHRoZSBXZWIgU2VydmljZXMgTWFuYWdlbWVudCBzcGVjaXBpY2F0aW9uIFwKKyhXUy1NYW5hZ2VtZW50KSBhbmQgdG8gZXhwb3NlIHN5c3RlbSBtYW5hZ2VtZW50IGluZm9ybWF0aW9uIG9uIHRoZSBcCitMaW51eCBvcGVyYXRpbmcgc3lzdGVtIHVzaW5nIHRoZSBXUy1NYW5hZ2VtZW50IHByb3RvY29sLiBXUy1NYW5hZ2VtZW50IFwKK2lzIGJhc2VkIG9uIGEgc3VpdGUgb2Ygd2ViIHNlcnZpY2VzIHNwZWNpZmljYXRpb25zIGFuZCB1c2FnZSBcCityZXF1aXJlbWVudHMgdGhhdCBleHBvc2VzIGEgc2V0IG9mIG9wZXJhdGlvbnMgZm9jdXNlZCBvbiBhbmQgY292ZXJzIFwKK2FsbCBzeXN0ZW0gbWFuYWdlbWVudCBhc3BlY3RzLiBcCitPcGVud3NtYW4gU2VydmVyIGFuZCBzZXJ2aWNlIGxpYnJhcmllcyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbndzbWFuLm9yZy8iCitTRUNUSU9OID0gIkFwcGxpY2F0aW9ucy9TeXN0ZW0iCisKK0RFUEVORFMgPSAiY3VybCBsaWJ4bWwyIG9wZW5zc2wgbGlicGFtIgorCitTUkNSRVYgPSAiZWQ3YTExOWUwMzZjNTMwNzhkNzBmZDg1OTM2ZDk0ZGM5YjliOThiZSIKK1BWID0gIjIuNi4yIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vT3BlbndzbWFuL29wZW53c21hbi5naXQ7cHJvdG9jb2w9aHR0cCBcCisgICAgICAgICAgIGZpbGU6Ly9saWJzc2wtaXMtcmVxdWlyZWQtaWYtZXZlbnRpbnQtc3VwcG9ydGVkLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL29wZW53c21hbmQuc2VydmljZSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kNGY1M2Q0YzZjZjczYjlkNDMxODZjZTNiZTZkZDBiYSIKKworaW5oZXJpdCBzeXN0ZW1kIGNtYWtlIHBrZ2NvbmZpZyBweXRob25uYXRpdmUgcGVybG5hdGl2ZQorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAib3BlbndzbWFuZC5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorCitMREZMQUdTX2FwcGVuZCA9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2xkLWlzLWdvbGQnLCAiIC1mdXNlLWxkPWJmZCAiLCAnJywgZCl9IgorCitFWFRSQV9PRUNNQUtFID0gIi1EQlVJTERfQklORElOR1M9Tk8gXAorICAgICAgICAgICAgICAgICAtREJVSUxEX0xJQkNJTT1OTyBcCisgICAgICAgICAgICAgICAgIC1EQlVJTERfUEVSTD1ZRVMgXAorICAgICAgICAgICAgICAgICAtRENNQUtFX0lOU1RBTExfUFJFRklYPSR7cHJlZml4fSBcCisgICAgICAgICAgICAgICAgIC1ETElCPSR7YmFzZWxpYn0gXAorICAgICAgICAgICAgICAgICIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgZXhwb3J0IEhPU1RfU1lTPSR7SE9TVF9TWVN9CisgICAgZXhwb3J0IEJVSUxEX1NZUz0ke0JVSUxEX1NZU30KKyAgICBleHBvcnQgU1RBR0lOR19JTkNESVI9JHtTVEFHSU5HX0lOQ0RJUn0KKyAgICBleHBvcnQgU1RBR0lOR19MSUJESVI9JHtTVEFHSU5HX0xJQkRJUn0KK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSA3NTUgJHtCfS9ldGMvaW5pdC9vcGVud3NtYW5kLnNoICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvb3BlbndzbWFuZAorICAgIGxuIC1zZiAke3N5c2NvbmZkaXJ9L2luaXQuZC9vcGVud3NtYW5kICR7RH0vJHtzYmluZGlyfS9yY29wZW53c21hbmQKKyAgICBjaG1vZCA3NTUgJHtEfS8ke3N5c2NvbmZkaXJ9L29wZW53c21hbi9vd3NtYW5nZW5jZXJ0LnNoCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L29wZW53c21hbmQuc2VydmljZSAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKworICAgICAgICBzZWQgLWkgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vb3BlbndzbWFuZC5zZXJ2aWNlCisgICAgICAgIHNlZCAtaSAtZSAncyxAU1lTQ09ORkRJUkAsJHtzeXNjb25mZGlyfSxnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9vcGVud3NtYW5kLnNlcnZpY2UKKyAgICAgICAgc2VkIC1pIC1lICdzLEBMT0NBTFNUQVRFRElSQCwke2xvY2Fsc3RhdGVkaXJ9LGcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL29wZW53c21hbmQuc2VydmljZQorICAgIGZpCit9CisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L29wZW53c21hbi9wbHVnaW5zLy5kZWJ1Zy8gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vb3BlbndzbWFuL2F1dGhlbnRpY2F0b3JzLy5kZWJ1Zy8gXAorICAgICAgICAgICAgICAgICAgICIKKworSU5TQU5FX1NLSVBfJHtQTn0gPSAiZGV2LXNvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcDd6aXAvZmlsZXMvZG9fbm90X292ZXJyaWRlX2NvbXBpbGVyX2FuZF9kb19ub3Rfc3RyaXAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wN3ppcC9maWxlcy9kb19ub3Rfb3ZlcnJpZGVfY29tcGlsZXJfYW5kX2RvX25vdF9zdHJpcC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hM2IwMmM1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcDd6aXAvZmlsZXMvZG9fbm90X292ZXJyaWRlX2NvbXBpbGVyX2FuZF9kb19ub3Rfc3RyaXAucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorZG8gbm90IG92ZXJyaWRlIGNvbXBpbGVyIGFuZCBkbyBub3Qgc3RyaXAKKworVGhlIGRlZmF1bHQgbWFrZWZpbGUgc2V0cyB0aGUgY29tcGlsZXIgdG8gZysrIG9yIGdjYy4gVGhpcyBsZWFkcyB0byBhIHdyb25nIGFyY2hpdGVjdHVyZSB3aGVuIGNyb3NzLWNvbXBpbGluZy4KK1JlbW92ZSB0aGUgaGFyZGNvZGVkIGNvbXBpbGVyIGFuZCBqdXN0IGFwcGVuZCB0aGUgZmxhZ3MgdG8gQ1hYIGFuZCBDQy4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBSYXBoYWVsIEZyZXVkaWdlciA8cmFwaGFlbC5mcmV1ZGlnZXJAc2llbWVucy5jb20+CitSZXZpZXdlZC1CeTogUGFzY2FsIEJhY2ggPHBhc2NhbC5iYWNoQHNpZW1lbnMuY29tPgorCitJbmRleDogcDd6aXBfOS4yMC4xL21ha2VmaWxlLm1hY2hpbmUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHA3emlwXzkuMjAuMS9tYWtlZmlsZS5tYWNoaW5lCTIwMTEtMDMtMTMgMTI6NTQ6NTcuMDAwMDAwMDAwICswMTAwCisrKysgcDd6aXBfOS4yMC4xL21ha2VmaWxlLm1hY2hpbmUJMjAxNS0wMi0wMyAwODozOTo0NC40Mjc2OTY5NDQgKzAxMDAKK0BAIC00LDE0ICs0LDE0IEBACisgCisgT1BURkxBR1M9LU8KKyAKKy1BTExGTEFHUz0ke09QVEZMQUdTfSAtcGlwZSAtcyBcCisrQUxMRkxBR1M9JHtPUFRGTEFHU30gLXBpcGUgXAorICAgICAJLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIFwKKyAJLUROREVCVUcgLURfUkVFTlRSQU5UIC1ERU5WX1VOSVggXAorIAktRF83WklQX0xBUkdFX1BBR0VTIFwKKyAJJChMT0NBTF9GTEFHUykKKyAKKy1DWFg9ZysrICQoQUxMRkxBR1MpCistQ0M9Z2NjICQoQUxMRkxBR1MpCisrQ1hYKz0kKEFMTEZMQUdTKQorK0NDKz0kKEFMTEZMQUdTKQorIENDX1NIQVJFRD0tZlBJQworIExJTktfU0hBUkVEPS1mUElDIC1zaGFyZWQKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3A3emlwL3A3emlwXzkuMjAuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3A3emlwL3A3emlwXzkuMjAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iODlmYzQyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcDd6aXAvcDd6aXBfOS4yMC4xLmJiCkBAIC0wLDAgKzEsMzUgQEAKK1NVTU1BUlkgPSAiNy16aXAgaXMgYSBjb21tYW5kbGluZSB1dGlsaXR5IGhhbmRsaW5nIDd6IGFyY2hpdmVzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuNy16aXAub3JnLyIKK0xJQ0VOU0UgPSAiTEdQTC0yLjErICYgdW5SQVIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9ET0NTL2NvcHlpbmcudHh0O21kNT1lY2ZjNTRjOWUzN2I2M2FjNTg5MDAwNjFjZTJlYWI1YSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9ET0NTL3VuUmFyTGljZW5zZS50eHQ7bWQ1PTljODdkZGRlNDY5ZWY5NGFlZDE1M2IwOTUxZDA4OGRlIgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3A3emlwL3A3emlwLyR7UFZ9L3A3emlwXyR7UFZ9X3NyY19hbGwudGFyLmJ6MiBcCisgICAgICAgICAgZmlsZTovL2RvX25vdF9vdmVycmlkZV9jb21waWxlcl9hbmRfZG9fbm90X3N0cmlwLnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gImJkNmNhYWVhNTY3ZGMwZDk5NWM5OTBjNWNjODgzYzg5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ5NTU3ZTdmZmNhMDgxMDBmOWZjNjg3ZjRkZmM1YWVhNzAzY2EyMDc2NDBjNzZkOWRlZTdiNjZmMDNjYjQ3ODIiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn1fJHtQVn0iCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vYmluLyogJHtEfSR7YmluZGlyfQorfQorCisjIGFsbDM6IHRvIGJ1aWxkIGJpbi83emEsIGJpbi83eiAod2l0aCBpdHMgcGx1Z2lucyksIGJpbi83enIgYW5kIGJpbi83ekNvbi5zZngKK0VYVFJBX09FTUFLRV9jbGFzcy1uYXRpdmUgPSAiYWxsMyIKKworZG9faW5zdGFsbF9jbGFzcy1uYXRpdmUoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9L0NvZGVjcworICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L2Jpbi83KiAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vYmluL0NvZGVjcy8qICR7RH0ke2JpbmRpcn0vQ29kZWNzCisKKyAgICAjIENyZWF0ZSBhIHNoZWxsIHNjcmlwdCB3cmFwcGVyIHRvIGV4ZWN1dGUgbmV4dCB0byA3ei5zbworICAgIG12ICR7RH0ke2JpbmRpcn0vN3ogJHtEfSR7YmluZGlyfS83ei5iaW4KKyAgICBlY2hvICIjISAvYmluL3NoIiA+ICR7RH0ke2JpbmRpcn0vN3oKKyAgICBlY2hvICJleGVjICR7RH0ke2JpbmRpcn0vN3ouYmluIFwiXCRAXCIiID4+ICR7RH0ke2JpbmRpcn0vN3oKKyAgICBjaG1vZCAwNzU1ICR7RH0ke2JpbmRpcn0vN3oKK30KKworQkJDTEFTU0VYVEVORCArPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcG9sa2l0L2ZpbGVzLzUwLW9yZy5mcmVlZGVza3RvcC5OZXR3b3JrTWFuYWdlci5ydWxlcyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9maWxlcy81MC1vcmcuZnJlZWRlc2t0b3AuTmV0d29ya01hbmFnZXIucnVsZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGI1MGNmOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9maWxlcy81MC1vcmcuZnJlZWRlc2t0b3AuTmV0d29ya01hbmFnZXIucnVsZXMKQEAgLTAsMCArMSw4IEBACisvKiBnaXZlIGdyb3VwICduZXR3b3JrJyByaWdodHMgdG8gY2hhbmdlIHNldHRpbmdzICovCisvKiB0YWtlbiBmcm9tIGh0dHBzOi8vd2lraS5hcmNobGludXgub3JnL2luZGV4LnBocC9OZXR3b3JrTWFuYWdlciNTZXRfdXBfUG9saWN5S2l0X3Blcm1pc3Npb25zICovCisKK3BvbGtpdC5hZGRSdWxlKGZ1bmN0aW9uKGFjdGlvbiwgc3ViamVjdCkgeworICBpZiAoYWN0aW9uLmlkLmluZGV4T2YoIm9yZy5mcmVlZGVza3RvcC5OZXR3b3JrTWFuYWdlci4iKSA9PSAwICYmIHN1YmplY3QuaXNJbkdyb3VwKCJuZXR3b3JrIikpIHsKKyAgICByZXR1cm4gcG9sa2l0LlJlc3VsdC5ZRVM7CisgIH0KK30pOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcG9sa2l0L2ZpbGVzLzUwLW9yZy5mcmVlZGVza3RvcC50aW1lZGF0ZTEucnVsZXMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvZmlsZXMvNTAtb3JnLmZyZWVkZXNrdG9wLnRpbWVkYXRlMS5ydWxlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NWIwZTBmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcG9sa2l0L2ZpbGVzLzUwLW9yZy5mcmVlZGVza3RvcC50aW1lZGF0ZTEucnVsZXMKQEAgLTAsMCArMSw4IEBACisvKiBnaXZlIGdyb3VwICdkYXRldGltZScgcmlnaHRzIHRvIGNoYW5nZSBzZXR0aW5ncyAqLworLyogYmFzZWQgdXBvbiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL3N5c3RlbWQtZGV2ZWwvMjAxMy1NYXJjaC8wMDk1NzYuaHRtbCAqLworCitwb2xraXQuYWRkUnVsZShmdW5jdGlvbihhY3Rpb24sIHN1YmplY3QpIHsKKyAgaWYgKGFjdGlvbi5pZC5pbmRleE9mKCJvcmcuZnJlZWRlc2t0b3AudGltZWRhdGUxLiIpID09IDAgJiYgc3ViamVjdC5pc0luR3JvdXAoImRhdGV0aW1lIikpIHsKKyAgICByZXR1cm4gcG9sa2l0LlJlc3VsdC5ZRVM7CisgIH0KK30pOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcG9sa2l0L2ZpbGVzL2d0ay1kb2MtY2hlY2sucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvZmlsZXMvZ3RrLWRvYy1jaGVjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YjZhZDc1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcG9sa2l0L2ZpbGVzL2d0ay1kb2MtY2hlY2sucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorLS0tIHBvbGtpdC1nbm9tZS0wLjEwNS9jb25maWd1cmUuYWMub3JnCTIwMTUtMDUtMDQgMjI6MzM6MDMuOTI1OTc3OTUzIC0wNzAwCisrKysgcG9sa2l0LWdub21lLTAuMTA1L2NvbmZpZ3VyZS5hYwkyMDE1LTA1LTA0IDIyOjMzOjE2Ljg2MjI4ODAzMCAtMDcwMAorQEAgLTEyMCw2ICsxMjAsOSBAQAorICMgQ2hlY2sgZm9yIHJlcXVpcmVkIHBhY2thZ2VzCisgIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAKKysjIGNoZWNrIGZvciBndGstZG9jCisrR1RLX0RPQ19DSEVDSyhbMS4xNF0sWy0tZmxhdm91ciBuby10bXBsXSkKKysKKyBQT0xLSVRfQUdFTlRfUkVRVUlSRUQ9MC45NworIFBPTEtJVF9HT0JKRUNUX1JFUVVJUkVEPTAuOTcKKyBHVEtfUkVRVUlSRUQ9My4wLjAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXQtZ25vbWVfMC4xMDUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvcG9sa2l0LWdub21lXzAuMTA1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlOTk3MzEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvcG9sa2l0LWdub21lXzAuMTA1LmJiCkBAIC0wLDAgKzEsMjYgQEAKK1NVTU1BUlkgPSAiR05PTUUgQXV0aGVudGljYXRpb24gQWdlbnQgZm9yIFBvbGljeUtpdCIKK0RFU0NSSVBUSU9OID0gIlBvbGljeUtpdC1nbm9tZSBwcm92aWRlcyBhbiBBdXRoZW50aWNhdGlvbiBBZ2VudCBmb3IgUG9saWN5S2l0IHRoYXQgaW50ZWdyYXRlcyB3ZWxsIHdpdGggdGhlIEdOT01FIGRlc2t0b3AgZW52aXJvbm1lbnQiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnBhY2thZ2VraXQub3JnLyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy8iCitERVBFTkRTID0gInBvbGtpdCBkYnVzLWdsaWIgZ2NvbmYgZ3RrKyBpbnRsdG9vbC1uYXRpdmUgZ25vbWUtY29tbW9uIgorTElDRU5TRSA9ICJMR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzQ1NzlmYWIxNzNlNGM1ZTEyYWFjMGNkODNlZTk4ZWMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL21haW4uYztiZWdpbmxpbmU9MTtlbmRsaW5lPTIwO21kNT1hYmExNDVkMTgwMmYyMzI5YmE1NjFlM2U0OGVjYjc5NSIKKworU1JDX1VSSSA9ICJodHRwczovL2Rvd25sb2FkLmdub21lLm9yZy9zb3VyY2VzL3BvbGtpdC1nbm9tZS8ke1BWfS9wb2xraXQtZ25vbWUtJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovL2d0ay1kb2MtY2hlY2sucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjUwZWNhZDM3YzgzNDJmYjRhNTJmNTkwZGI3NTMwNjIxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjE3ODQ0OTQ5NjNiOGJmOWEwMGVlZGM2Y2QzYTI4NjhmYjEyM2I4YTVlNTE2ZTY2YzVlZGE0OGRmMTdhYjkzNjkiCisKK0VYVFJBX09FQ09ORiA9ICJcCisgICAgLS1kaXNhYmxlLXN0YXRpYyBcCisiCisKK0RFUEVORFMgKz0gImd0ayszIgorCitpbmhlcml0IGF1dG90b29scyBndGstZG9jIHBrZ2NvbmZpZworCitGSUxFU18ke1BOfSArPSAiICR7ZGF0YWRpcn0vZGJ1cy0xIFwKKyAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9Qb2xpY3lLaXQgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcG9sa2l0L3BvbGtpdC1ncm91cC1ydWxlLWRhdGV0aW1lLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcG9sa2l0L3BvbGtpdC1ncm91cC1ydWxlLWRhdGV0aW1lLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjZWQ0YjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvcG9sa2l0LWdyb3VwLXJ1bGUtZGF0ZXRpbWUuYmIKQEAgLTAsMCArMSwxNCBAQAorREVTQ1JJUFRJT04gPSAiQ3JlYXRlIHVzZXJncm91cCBkYXRldGltZS4gQWxsIG1lbWJlcnMgb2ZmIHRoaXMgZ3JvdXAgYXJlIGFsbG93ZWQgc2V0IGRhdGUvdGltZS90aW1lem9uZSB2aWEgc3lzdGVtIGRidXMiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L0xJQ0VOU0U7bWQ1PTRkOTJjZDM3M2FiZGEzOTM3YzJiYzQ3ZmJjNDlkNjkwIgorCityZXF1aXJlIHBvbGtpdC1ncm91cC1ydWxlLmluYworCitTUkNfVVJJID0gImZpbGU6Ly81MC1vcmcuZnJlZWRlc2t0b3AudGltZWRhdGUxLnJ1bGVzIgorCitkb19pbnN0YWxsKCkgeworICAgICAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS81MC1vcmcuZnJlZWRlc2t0b3AudGltZWRhdGUxLnJ1bGVzICR7RH0ke3N5c2NvbmZkaXJ9L3BvbGtpdC0xL3J1bGVzLmQKK30KKworVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKK0dST1VQQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIGRhdGV0aW1lIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcG9sa2l0L3BvbGtpdC1ncm91cC1ydWxlLW5ldHdvcmsuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvcG9sa2l0LWdyb3VwLXJ1bGUtbmV0d29yay5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTFlZDNlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcG9sa2l0L3BvbGtpdC1ncm91cC1ydWxlLW5ldHdvcmsuYmIKQEAgLTAsMCArMSwxNCBAQAorREVTQ1JJUFRJT04gPSAiQ3JlYXRlIHVzZXJncm91cCBuZXR3b3JrLiBBbGwgbWVtYmVycyBvZmYgdGhpcyBncm91cCBhcmUgYWxsb3dlZCB0byBtb2RpZnkgbmV0d29ya21hbmFnZXIgc2V0dGluZ3MiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L0xJQ0VOU0U7bWQ1PTRkOTJjZDM3M2FiZGEzOTM3YzJiYzQ3ZmJjNDlkNjkwIgorCityZXF1aXJlIHBvbGtpdC1ncm91cC1ydWxlLmluYworCitTUkNfVVJJID0gImZpbGU6Ly81MC1vcmcuZnJlZWRlc2t0b3AuTmV0d29ya01hbmFnZXIucnVsZXMiCisKK2RvX2luc3RhbGwoKSB7CisgICAgICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9LzUwLW9yZy5mcmVlZGVza3RvcC5OZXR3b3JrTWFuYWdlci5ydWxlcyAke0R9JHtzeXNjb25mZGlyfS9wb2xraXQtMS9ydWxlcy5kCit9CisKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCitHUk9VUEFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSBuZXR3b3JrIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcG9sa2l0L3BvbGtpdC1ncm91cC1ydWxlLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXQtZ3JvdXAtcnVsZS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjcyN2QwMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXQtZ3JvdXAtcnVsZS5pbmMKQEAgLTAsMCArMSwxMCBAQAorIyBwb2xraXQgbXVzdCBwcmVwYXJlIHBvbGtpZCBncm91cAorREVQRU5EUyArPSAicG9sa2l0IgorCitpbmhlcml0IHVzZXJhZGQKKworZG9faW5zdGFsbF9wcmVwZW5kKCkgeworICAgIGluc3RhbGwgLW0gNzAwIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3BvbGtpdC0xL3J1bGVzLmQKKyAgICBjaG93biBwb2xraXRkOnBvbGtpdGQgJHtEfSR7c3lzY29uZmRpcn0vcG9sa2l0LTEvcnVsZXMuZAorfQorVVNFUkFERF9QQVJBTV8ke1BOfV9wcmVwZW5kID0gIi0tc3lzdGVtIC0tbm8tY3JlYXRlLWhvbWUgLS11c2VyLWdyb3VwIC0taG9tZS1kaXIgJHtzeXNjb25mZGlyfS9wb2xraXQtMSBwb2xraXRkOyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXQvMDAwMS1tYWtlLW5ldGdyb3VwLXN1cHBvcnQtY29uZmlndXJhYmxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcG9sa2l0L3BvbGtpdC8wMDAxLW1ha2UtbmV0Z3JvdXAtc3VwcG9ydC1jb25maWd1cmFibGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGUzYWY4NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXQvMDAwMS1tYWtlLW5ldGdyb3VwLXN1cHBvcnQtY29uZmlndXJhYmxlLnBhdGNoCkBAIC0wLDAgKzEsMTA3IEBACitGcm9tIDdkNWUyMDVhYTU4YTEwZTdiMWNjYzJmYTc1YjQ0MzUwOGE1YzNlMTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogV2VkLCAyMCBKYW4gMjAxNiAwNDozMTo1OSArMDAwMAorU3ViamVjdDogW1BBVENIXSBtYWtlIG5ldGdyb3VwIHN1cHBvcnQgY29uZmlndXJhYmxlCisKK0Rpc2FibGUgdXNpbmcgaW5uZXRnciBhbmQgKm5ldGlncmVudCBmdW5jdGlvbiBpZiBub3QgYXZhaWxhYmxlCisKK1RoZXNlIGZ1bmN0aW9ucyBhcmUgbm90IGF2YWlsYWJsZSBvbiBhbGwgbGliYyBpbXBsZW1lbnRhdGlvbnMgZS5nLiBtdXNsCitkb2VzbnQgaGF2ZSB0aGVtLgorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMiArLQorIHNyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRpbnRlcmFjdGl2ZWF1dGhvcml0eS5jIHwgNiArKysrKy0KKyBzcmMvcG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5kanNhdXRob3JpdHkuYyAgICAgICAgICB8IDUgKystLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggMDc5ODJkMS4uMjE1OTBiMiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMTU4LDcgKzE1OCw3IEBAIEFDX0NIRUNLX0xJQihleHBhdCxYTUxfUGFyc2VyQ3JlYXRlLFtFWFBBVF9MSUJTPSItbGV4cGF0Il0sCisgCSAgICAgW0FDX01TR19FUlJPUihbQ2FuJ3QgZmluZCBleHBhdCBsaWJyYXJ5LiBQbGVhc2UgaW5zdGFsbCBleHBhdC5dKV0pCisgQUNfU1VCU1QoRVhQQVRfTElCUykKKyAKKy1BQ19DSEVDS19GVU5DUyhjbGVhcmVudiBmZGF0YXN5bmMpCisrQUNfQ0hFQ0tfRlVOQ1MoY2xlYXJlbnYgZmRhdGFzeW5jIGdldG5ldGdyZW50IGlubmV0Z3IpCisgCisgaWYgdGVzdCAieCRHQ0MiID0gInh5ZXMiOyB0aGVuCisgICBMREZMQUdTPSItV2wsLS1hcy1uZWVkZWQgJExERkxBR1MiCitkaWZmIC0tZ2l0IGEvc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFja2VuZGludGVyYWN0aXZlYXV0aG9yaXR5LmMgYi9zcmMvcG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5kaW50ZXJhY3RpdmVhdXRob3JpdHkuYworaW5kZXggNzAxOTM1Ni4uY2YzOWQ3NyAxMDA2NDQKKy0tLSBhL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRpbnRlcmFjdGl2ZWF1dGhvcml0eS5jCisrKysgYi9zcmMvcG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5kaW50ZXJhY3RpdmVhdXRob3JpdHkuYworQEAgLTIyMTMsNyArMjIxMyw3IEBAIGdldF91c2Vyc19pbl9ncm91cCAoUG9sa2l0SWRlbnRpdHkgICAgICAgICAgICAgICAgICAgICpncm91cCwKKyAgb3V0OgorICAgcmV0dXJuIHJldDsKKyB9CistCisrI2lmIGRlZmluZWQgSEFWRV9HRVRORVRHUkVOVAorIHN0YXRpYyBHTGlzdCAqCisgZ2V0X3VzZXJzX2luX25ldF9ncm91cCAoUG9sa2l0SWRlbnRpdHkgICAgICAgICAgICAgICAgICAgICpncm91cCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBnYm9vbGVhbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGVfcm9vdCkKK0BAIC0yMjcwLDYgKzIyNzAsOCBAQCBnZXRfdXNlcnNfaW5fbmV0X2dyb3VwIChQb2xraXRJZGVudGl0eSAgICAgICAgICAgICAgICAgICAgKmdyb3VwLAorICAgcmV0dXJuIHJldDsKKyB9CisgCisrI2VuZGlmCisrCisgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworIAorIHN0YXRpYyB2b2lkCitAQCAtMjM1NSwxMCArMjM1NywxMiBAQCBhdXRoZW50aWNhdGlvbl9hZ2VudF9pbml0aWF0ZV9jaGFsbGVuZ2UgKEF1dGhlbnRpY2F0aW9uQWdlbnQgICAgICAgICAqYWdlbnQsCisgICAgICAgICB7CisgICAgICAgICAgIHVzZXJfaWRlbnRpdGllcyA9IGdfbGlzdF9jb25jYXQgKHVzZXJfaWRlbnRpdGllcywgZ2V0X3VzZXJzX2luX2dyb3VwIChpZGVudGl0eSwgRkFMU0UpKTsKKyAgICAgICAgIH0KKysjaWYgZGVmaW5lZCBIQVZFX0dFVE5FVEdSRU5UCisgICAgICAgZWxzZSBpZiAoUE9MS0lUX0lTX1VOSVhfTkVUR1JPVVAgKGlkZW50aXR5KSkKKyAgICAgICAgIHsKKyAgICAgICAgICAgdXNlcl9pZGVudGl0aWVzID0gIGdfbGlzdF9jb25jYXQgKHVzZXJfaWRlbnRpdGllcywgZ2V0X3VzZXJzX2luX25ldF9ncm91cCAoaWRlbnRpdHksIEZBTFNFKSk7CisgICAgICAgICB9CisrI2VuZGlmCisgICAgICAgZWxzZQorICAgICAgICAgeworICAgICAgICAgICBnX3dhcm5pbmcgKCJVbnN1cHBvcnRlZCBpZGVudGl0eSIpOworZGlmZiAtLWdpdCBhL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRqc2F1dGhvcml0eS5jIGIvc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFja2VuZGpzYXV0aG9yaXR5LmMKK2luZGV4IDA5N2RjYzUuLmU1OWIzZjcgMTAwNjQ0CistLS0gYS9zcmMvcG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5kanNhdXRob3JpdHkuYworKysrIGIvc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFja2VuZGpzYXV0aG9yaXR5LmMKK0BAIC0xNDk4LDcgKzE0OTgsNiBAQCBqc19wb2xraXRfc3Bhd24gKEpTQ29udGV4dCAgKmN4LAorIAorIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKyAKKy0KKyBzdGF0aWMgSlNCb29sCisganNfcG9sa2l0X3VzZXJfaXNfaW5fbmV0Z3JvdXAgKEpTQ29udGV4dCAgKmN4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCAgICBhcmdjLAorQEAgLTE1MTgsNiArMTUxNyw3IEBAIGpzX3BvbGtpdF91c2VyX2lzX2luX25ldGdyb3VwIChKU0NvbnRleHQgICpjeCwKKyAgIHVzZXIgPSBKU19FbmNvZGVTdHJpbmcgKGN4LCB1c2VyX3N0cik7CisgICBuZXRncm91cCA9IEpTX0VuY29kZVN0cmluZyAoY3gsIG5ldGdyb3VwX3N0cik7CisgCisrI2lmIGRlZmluZWQgSEFWRV9JTk5FVEdSCisgICBpZiAoaW5uZXRnciAobmV0Z3JvdXAsCisgICAgICAgICAgICAgICAgTlVMTCwgIC8qIGhvc3QgKi8KKyAgICAgICAgICAgICAgICB1c2VyLAorQEAgLTE1MjUsNiArMTUyNSw3IEBAIGpzX3BvbGtpdF91c2VyX2lzX2luX25ldGdyb3VwIChKU0NvbnRleHQgICpjeCwKKyAgICAgeworICAgICAgIGlzX2luX25ldGdyb3VwID0gIEpTX1RSVUU7CisgICAgIH0KKysjZW5kaWYKKyAKKyAgIEpTX2ZyZWUgKGN4LCBuZXRncm91cCk7CisgICBKU19mcmVlIChjeCwgdXNlcik7CitAQCAtMTUzNiw4ICsxNTM3LDYgQEAganNfcG9sa2l0X3VzZXJfaXNfaW5fbmV0Z3JvdXAgKEpTQ29udGV4dCAgKmN4LAorICAgcmV0dXJuIHJldDsKKyB9CisgCistCistCisgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworIAorIHR5cGVkZWYgc3RydWN0CistLSAKKzIuNy4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXQvcG9sa2l0LTFfcGFtLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcG9sa2l0L3BvbGtpdC9wb2xraXQtMV9wYW0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzQ2NDdlZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXQvcG9sa2l0LTFfcGFtLnBhdGNoCkBAIC0wLDAgKzEsMjMgQEAKK3BvbGtpdDogTm8gc3lzdGVtLWF1dGggaW4gT0UtQ29yZSwgd2UgY2FuIHVzZSBjb21tb24tKiBpbiBwbGFjZSBvZiBpdC4KKworVXBzdHJlYW0tU3RhdHVzOkluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IFhpYW9mZW5nIFlhbiA8eGlhb2ZlbmcueWFuQHdpbmRyaXZlci5jb20+CisKKy0tLSBhL2NvbmZpZ3VyZS5hYwkyMDExLTAzLTA0IDAyOjI2OjIwLjAwMDAwMDAwMCArMDgwMAorKysrIGIvY29uZmlndXJlLmFjLm5ldwkyMDExLTA3LTE4IDEwOjE0OjEyLjUxNjgxODg1MiArMDgwMAorQEAgLTM1MCwxMCArMzUwLDEwIEBACisgICAgIFBBTV9GSUxFX0lOQ0xVREVfUEFTU1dPUkQ9c3lzdGVtCisgICAgIFBBTV9GSUxFX0lOQ0xVREVfU0VTU0lPTj1zeXN0ZW0KKyBlbHNlCistICAgUEFNX0ZJTEVfSU5DTFVERV9BVVRIPXN5c3RlbS1hdXRoCistICAgUEFNX0ZJTEVfSU5DTFVERV9BQ0NPVU5UPXN5c3RlbS1hdXRoCistICAgUEFNX0ZJTEVfSU5DTFVERV9QQVNTV09SRD1zeXN0ZW0tYXV0aAorLSAgIFBBTV9GSUxFX0lOQ0xVREVfU0VTU0lPTj1zeXN0ZW0tYXV0aAorKyAgIFBBTV9GSUxFX0lOQ0xVREVfQVVUSD1jb21tb24tYXV0aAorKyAgIFBBTV9GSUxFX0lOQ0xVREVfQUNDT1VOVD1jb21tb24tYWNjb3VudAorKyAgIFBBTV9GSUxFX0lOQ0xVREVfUEFTU1dPUkQ9Y29tbW9uLXBhc3N3b3JkCisrICAgUEFNX0ZJTEVfSU5DTFVERV9TRVNTSU9OPWNvbW1vbi1zZXNzaW9uCisgZmkKKyAKKyBBQ19TVUJTVChQQU1fRklMRV9JTkNMVURFX0FVVEgpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvcG9sa2l0XzAuMTEzLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcG9sa2l0L3BvbGtpdF8wLjExMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZGQxOThhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcG9sa2l0L3BvbGtpdF8wLjExMy5iYgpAQCAtMCwwICsxLDQ5IEBACitTVU1NQVJZID0gIlBvbGljeUtpdCBBdXRob3JpemF0aW9uIEZyYW1ld29yayIKK0RFU0NSSVBUSU9OID0gIlRoZSBwb2xraXQgcGFja2FnZSBpcyBhbiBhcHBsaWNhdGlvbi1sZXZlbCB0b29sa2l0IGZvciBkZWZpbmluZyBhbmQgaGFuZGxpbmcgdGhlIHBvbGljeSB0aGF0IGFsbG93cyB1bnByaXZpbGVnZWQgcHJvY2Vzc2VzIHRvIHNwZWFrIHRvIHByaXZpbGVnZWQgcHJvY2Vzc2VzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3dpa2kvU29mdHdhcmUvcG9sa2l0IgorTElDRU5TRSA9ICJMR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTU1ZGI4NmNkYmFmYTc1MzJiNDFmMzkwNDA5MjgzZWIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL3BvbGtpdC9wb2xraXQuaDtiZWdpbmxpbmU9MTtlbmRsaW5lPTIwO21kNT0wYTg2MzBiMDEzMzE3NmQwNTA0Yzg3YTBkZWQzOWRiNCIKKworREVQRU5EUyA9ICJleHBhdCBnbGliLTIuMCBpbnRsdG9vbC1uYXRpdmUgbW96anMiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGd0ay1kb2MgcGtnY29uZmlnIHVzZXJhZGQgc3lzdGVtZCBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworUEFDS0FHRUNPTkZJRyA9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdwYW0nLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCdzeXN0ZW1kJywnY29uc29sZWtpdCcsZCl9IgorCitQQUNLQUdFQ09ORklHW3BhbV0gPSAiLS13aXRoLWF1dGhmdz1wYW0sLS13aXRoLWF1dGhmdz1zaGFkb3csbGlicGFtLGxpYnBhbSIKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS1lbmFibGUtbGlic3lzdGVtZC1sb2dpbj15ZXMgLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vLC0tZW5hYmxlLWxpYnN5c3RlbWQtbG9naW49bm8gLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPSxzeXN0ZW1kIgorIyB0aGVyZSBpcyBubyAtLWVuYWJsZS8tLWRpc2FibGUgb3B0aW9uIGZvciBjb25zb2xla2l0IGFuZCBpdCdzIG5vdCBwaWNrZWQgYnkgc2hsaWJzLCBzbyBhZGQgaXQgdG8gUkRFUEVORFMKK1BBQ0tBR0VDT05GSUdbY29uc29sZWtpdF0gPSAiLCwsY29uc29sZWtpdCIKKworUEFNX1NSQ19VUkkgPSAiZmlsZTovL3BvbGtpdC0xX3BhbS5wYXRjaCIKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvcG9sa2l0L3JlbGVhc2VzL3BvbGtpdC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1tYWtlLW5ldGdyb3VwLXN1cHBvcnQtY29uZmlndXJhYmxlLnBhdGNoIFwKKyAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnJHtQQU1fU1JDX1VSSX0nLCAnJywgZCl9IFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI0Yjc3Nzc2YzllNGY4OTdkY2ZlMDNiMmMzNDE5OGVkZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlMWMwOTUwOTNjNjU0OTUxZjc4Zjg2MThkNDI3ZmFmOTFjZjYyYWJkZWZlZDk4ZGU0MGZmNjVlY2E2NDEzYzgxIgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLW9zLXR5cGU9bW9ibGluIC0tZGlzYWJsZS1tYW4tcGFnZXMiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCAoKSB7CisJZXhwb3J0IEdJUl9FWFRSQV9MSUJTX1BBVEg9IiR7Qn0vc3JjL3BvbGtpdC8ubGlicyIKK30KKworUEFDS0FHRVMgPSsgIiR7UE59LWV4YW1wbGVzIgorCitGSUxFU18ke1BOfV9hcHBlbmQgPSAiIFwKKyAgICAke2xpYmRpcn0vJHtCUE59LTEgXAorICAgICR7bm9uYXJjaF9saWJkaXJ9LyR7QlBOfS0xIFwKKyAgICAke2RhdGFkaXJ9L2RidXMtMSBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0tMSBcCisiCisKK0ZJTEVTXyR7UE59LWV4YW1wbGVzID0gIiR7YmluZGlyfS8qZXhhbXBsZSoiCisKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCitVU0VSQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIC0tbm8tY3JlYXRlLWhvbWUgLS11c2VyLWdyb3VwIC0taG9tZS1kaXIgJHtzeXNjb25mZGlyfS8ke0JQTn0tMSBwb2xraXRkIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiJHtCUE59LnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9weXdiZW0vcHl3YmVtXzAuOC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcHl3YmVtL3B5d2JlbV8wLjguMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZjlhNWJkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcHl3YmVtL3B5d2JlbV8wLjguMC5iYgpAQCAtMCwwICsxLDM2IEBACitTVU1NQVJZID0gIlB5dGhvbiBXQkVNIENsaWVudCBhbmQgUHJvdmlkZXIgSW50ZXJmYWNlIgorREVTQ1JJUFRJT04gPSAiXAorQSBQeXRob24gbGlicmFyeSBmb3IgbWFraW5nIENJTSAoQ29tbW9uIEluZm9ybWF0aW9uIE1vZGVsKSBvcGVyYXRpb25zIG92ZXIgXAorSFRUUCB1c2luZyB0aGUgV0JFTSBDSU0tWE1MIHByb3RvY29sLiBJdCBpcyBiYXNlZCBvbiB0aGUgaWRlYSB0aGF0IGEgZ29vZCBcCitXQkVNIGNsaWVudCBzaG91bGQgYmUgZWFzeSB0byB1c2UgYW5kIG5vdCBuZWNlc3NhcmlseSByZXF1aXJlIGEgbGFyZ2UgYW1vdW50IFwKK29mIHByb2dyYW1taW5nIGtub3dsZWRnZS4gSXQgaXMgc3VpdGFibGUgZm9yIGEgbGFyZ2UgcmFuZ2Ugb2YgdGFza3MgZnJvbSBcCitzaW1wbHkgcG9raW5nIGFyb3VuZCB0byB3cml0aW5nIHdlYiBhbmQgR1VJIGFwcGxpY2F0aW9ucy4gXAorXAorV0JFTSwgb3IgV2ViIEJhc2VkIEVudGVycHJpc2UgTWFuYWdlbWVudCBpcyBhIG1hbmFnZWFiaWxpdHkgcHJvdG9jb2wsIGxpa2UgXAorU05NUCwgc3RhbmRhcmRpc2VkIGJ5IHRoZSBEaXN0cmlidXRlZCBNYW5hZ2VtZW50IFRhc2sgRm9yY2UgKERNVEYpIGF2YWlsYWJsZSBcCithdCBodHRwOi8vd3d3LmRtdGYub3JnL3N0YW5kYXJkcy93YmVtLiBcCitcCitJdCBhbHNvIHByb3ZpZGVzIGEgUHl0aG9uIHByb3ZpZGVyIGludGVyZmFjZSwgYW5kIGlzIHRoZSBmYXN0ZXN0IGFuZCBlYXNpZXN0IFwKK3dheSB0byB3cml0ZSBwcm92aWRlcnMgb24gdGhlIHBsYW5ldC4iCitIT01FUEFHRSA9ICJodHRwOi8vcHl3YmVtLnNmLm5ldC8iCitMSUNFTlNFID0gIkxHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3B5d2JlbS9MSUNFTlNFLnR4dDttZDU9ZmJjMDkzOTAxODU3ZmNkMTE4ZjA2NWY5MDA5ODJjMjQiCitTRUNUSU9OID0gIkRldmVsb3BtZW50L0xpYnJhcmllcyIKK0RFUEVORFMgPSAicHl0aG9uLW0yY3J5cHRvLW5hdGl2ZSIKK1NSQ19VUkkgPSAiaHR0cDovL2phaXN0LmRsLnNvdXJjZWZvcmdlLm5ldC9wcm9qZWN0LyR7QlBOfS8ke0JQTn0vJHtCUH0vJHtCUH0tZGV2LnI3MDQuemlwIgorU1JDX1VSSVttZDVzdW1dID0gIjg0MDcyNDUxZGNkZDFhYTllZTgyMzYzODQ4ZmFmN2FkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjg5ODAzNTg2NmQzY2M3NDFiYmNkNjJjNGFjMjZlNjMzYWQwN2I3YzExZDg5ZGIyNDcyYjlmOTIzZjNmZDNlZDgiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQfS1kZXYiCisKK2luaGVyaXQgc2V0dXB0b29scyBweXRob24tZGlyCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIG12ICR7RH0ke2JpbmRpcn0vd2JlbWNsaS5weSAke0R9JHtiaW5kaXJ9L3B5d2JlbWNsaQorICAgIG12ICR7RH0ke2JpbmRpcn0vbW9mX2NvbXBpbGVyLnB5ICR7RH0ke2JpbmRpcn0vbW9mY29tcAorCisgICAgcm0gJHtEfSR7bGliZGlyfS9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy8ke0JQTn0vd2JlbWNsaS5weSoKKyAgICBybSAke0R9JHtsaWJkaXJ9L3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzLyR7QlBOfS9tb2ZfY29tcGlsZXIucHkqCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmFycGQvcmFycGQvMDAwMS1yYXJwZC44LWFkZC1tYW4tZmlsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JhcnBkL3JhcnBkLzAwMDEtcmFycGQuOC1hZGQtbWFuLWZpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzdjNzViNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JhcnBkL3JhcnBkLzAwMDEtcmFycGQuOC1hZGQtbWFuLWZpbGUucGF0Y2gKQEAgLTAsMCArMSw4OSBAQAorRnJvbSBkOTExNjFlYjE2M2MxNjQwODIwMmE5MWI0MzI1YTMzODFhYjMzNzUyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogVHVlLCAxOCBOb3YgMjAxNCAxNzo1NTozMSArMDkwMAorU3ViamVjdDogW1BBVENIIDEvNV0gcmFycGQuOCA6IGFkZCBtYW4gZmlsZQorCitTaWduZWQtb2ZmLWJ5OiBMaSBYaW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CistLS0KKyByYXJwZC44IHwgNjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNjkgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCByYXJwZC44CisKK2RpZmYgLS1naXQgYS9yYXJwZC44IGIvcmFycGQuOAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmNlN2JkNzAKKy0tLSAvZGV2L251bGwKKysrKyBiL3JhcnBkLjgKK0BAIC0wLDAgKzEsNjkgQEAKKysuVEggUkFSUCA4ICI3IEFwcmlsIDIwMDAiICJyYXJwZCIgIkxpbnV4IFByb2dyYW1tZXIncyBNYW51YWwiCisrLlNIIE5BTUUKKytyYXJwZCBcLSBSZXZlcnNlIEFkZHJlc3MgUmVzb2x1dGlvbiBQcm90b2NvbCAoUkFSUCkgZGFlbW9uCisrLlNIIFNZTk9QU0lTCisrLkIgInJhcnBkIFstYUF2ZGVdIFstYiBib290ZGlyIF0gWyBpbnRlcmZhY2UgXSIKKysuU0ggREVTQ1JJUFRJT04KKysuQiBSYXJwZAorK2lzIGEgZGFlbW9uIHdoaWNoIHJlc3BvbmRzIHRvIFJBUlAgcmVxdWVzdHMuCisrUkFSUCBpcyB1c2VkIGJ5IHNvbWUgbWFjaGluZXMgYXQgYm9vdCB0aW1lIHRvIGRpc2NvdmVyIHRoZWlyIElQIGFkZHJlc3MuCisrVGhleSBwcm92aWRlIHRoZWlyIEV0aGVybmV0IGFkZHJlc3MgYW5kCisrLkIgcmFycGQKKytyZXNwb25kcyB3aXRoIHRoZWlyIElQIGFkZHJlc3MgaWYgaXQgZmluZHMgaXQgaW4gdGhlIGV0aGVycyBkYXRhYmFzZQorKyhlaXRoZXIKKysuSSAvZXRjL2V0aGVycworK2ZpbGUgb3IgTklTKyBsb29rdXApIGFuZCB1c2luZyBETlMgbG9va3VwIGlmIGV0aGVycyBkYXRhYmFzZQorK2NvbnRhaW5zIGEgaG9zdG5hbWUgYW5kIG5vdCBhbiBJUCBhZGRyZXNzLgorK0J5IGRlZmF1bHQKKysuQiByYXJwZAorK2Fsc28gY2hlY2tzIGlmIGEgYm9vdGFibGUgaW1hZ2Ugd2l0aCBhIG5hbWUgc3RhcnRpbmcgd2l0aCB0aGUgSVAgYWRkcmVzcworK2luIGhleGFkZWNpbWFsIHVwcGVyY2FzZSBsZXR0ZXJzIGlzIHByZXNlbnQgaW4gdGhlIFRGVFAgYm9vdCBkaXJlY3RvcnkKKysodXN1YWxseQorKy5JIC90ZnRwYm9vdAorKykgYmVmb3JlIGl0IGRlY2lkZXMgdG8gcmVzcG9uZCB0byB0aGUgUkFSUCByZXF1ZXN0LgorKy5TSCBPUFRJT05TCisrLlRQCisrLkIgXC1hCisrRG8gbm90IGJpbmQgdG8gdGhlIGludGVyZmFjZS4KKysuVFAKKysuQiBcLUEKKytSZXNwb25kIHRvIEFSUCBhcyB3ZWxsIGFzIFJBUlAgcmVxdWVzdHMuCisrLlRQCisrLkIgXC12CisrVGVsbCB0aGUgdXNlciB3aGF0IGlzIGdvaW5nIG9uIGJ5IGJlaW5nIHZlcmJvc2UuCisrLlRQCisrLkIgXC1kCisrRGVidWdnaW5nIG1vZGUuIERvIG5vdCBkZXRhY2ggZnJvbSB0aGUgdHR5LgorKy5UUAorKy5CIFwtZQorK1NraXAgdGhlIGNoZWNrIGZvciBib290YWJsZSBpbWFnZSBpbiB0aGUgVEZUUCBib290IGRpcmVjdG9yeS4gSWYgbm90CisrcHJlc2VudCwgdGhlbiBldmVuIGlmIHRoZSBFdGhlcm5ldCBhZGRyZXNzIGlzIHByZXNlbnQgaW4KKyt0aGUgZXRoZXJzIGRhdGFiYXNlIGJ1dCB0aGUgYm9vdGFibGUgaW1hZ2UgZm9yIHRoZSByZXNvbHZlZCBJUCBkb2VzIG5vdCBleGlzdCwKKysuQiByYXJwZAorK3dpbGwgbm90IHJlc3BvbmQgdG8gdGhlIHJlcXVlc3QuCisrLlRQCisrLkIgIlwtYiBib290ZGlyIgorK1VzZQorKy5JIGJvb3RkaXIKKytpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0CisrLkkgL3RmdHBib290CisrYXMgdGhlIFRGVFAgYm9vdCBkaXJlY3RvcnkgZm9yIGJvb3RhYmxlIGltYWdlIGNoZWNrcy4KKysuU0ggT0JTT0xFVEVTCisrVGhpcworKy5CIHJhcnBkCisrb2Jzb2xldGVzIGtlcm5lbAorKy5CIHJhcnAKKytkYWVtb24gcHJlc2VudCBpbiBMaW51eCBrZXJuZWxzIHVwIHRvIDIuMiB3aGljaCB3YXMgY29udHJvbGxlZCBieSB0aGUKKytyYXJwKDgpIGNvbW1hbmQuCisrLlNIIEZJTEVTCisrLkkgL2V0Yy9ldGhlcnMsCisrLmJyCisrLkkgL2V0Yy9uc3N3aXRjaC5jb25mLAorKy5icgorKy5JIC90ZnRwYm9vdAorKy5TSCBTRUUgQUxTTworK2V0aGVycyg1KQorKy5TSCBBVVRIT1JTCisrQWxleGV5IEt1em5ldHNvdiwgPGt1em5ldEBtczIuaW5yLmFjLnJ1PgorKy5icgorK0pha3ViIEplbGluZWssIDxqYWt1YkByZWRoYXQuY29tPgorLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JhcnBkL3JhcnBkLzAwMDItTWFrZWZpbGUtbW9kaWZ5LWNvbXBpbGUtcGFyYW1ldGVycy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JhcnBkL3JhcnBkLzAwMDItTWFrZWZpbGUtbW9kaWZ5LWNvbXBpbGUtcGFyYW1ldGVycy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYjNlYmM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmFycGQvcmFycGQvMDAwMi1NYWtlZmlsZS1tb2RpZnktY29tcGlsZS1wYXJhbWV0ZXJzLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK0Zyb20gZDIzYjEzYmQ5NTkyMDQ4MjQwNzA0MzNkOTU0YzVkZmJmYzQyMWJiNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExpIHhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IFR1ZSwgMTggTm92IDIwMTQgMTg6MDU6MjcgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSCAyLzVdIE1ha2VmaWxlIDogbW9kaWZ5IGNvbXBpbGUgcGFyYW1ldGVycworCitTaWduZWQtb2ZmLWJ5OiBMaSBYaW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CistLS0KKyBNYWtlZmlsZSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IDE5OTY2YjQuLjg2YTgxNjkgMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0xLDcgKzEsNyBAQAorIENDPWdjYworIENGTEFHUz0tTzIgLVdhbGwgLWcgJChERUZJTkVTKQorIAorLU9CSj1yYXJwZC5vIGV0aGVybmV0Lm8KKytPQko9cmFycGQubworIAorIGFsbDogcmFycGQKKyAKKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yYXJwZC9yYXJwZC8wMDAzLXJhcnBkLmMtYnVnLWZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JhcnBkL3JhcnBkLzAwMDMtcmFycGQuYy1idWctZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjZTEyNzkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yYXJwZC9yYXJwZC8wMDAzLXJhcnBkLmMtYnVnLWZpeC5wYXRjaApAQCAtMCwwICsxLDI2MyBAQAorRnJvbSBiNDljOGU2ZTY2ODAxNDA2NTIwZDFiZmY3OTFjNjZkZmY3YjFjZGRiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogVHVlLCAxOCBOb3YgMjAxNCAxODoxMDoyMCArMDkwMAorU3ViamVjdDogW1BBVENIIDMvNV0gcmFycGQuYyA6IGJ1ZyBmaXgKKworU2lnbmVkLW9mZi1ieTogTGkgWGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorLS0tCisgcmFycGQuYyB8IDk4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDU2IGluc2VydGlvbnMoKyksIDQyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvcmFycGQuYyBiL3JhcnBkLmMKK2luZGV4IDMzNWQyZDIuLmQ0NTMwMGUgMTAwNjQ0CistLS0gYS9yYXJwZC5jCisrKysgYi9yYXJwZC5jCitAQCAtNyw5ICs3LDExIEBACisgICoJCTIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgICoKKyAgKiBBdXRob3JzOglBbGV4ZXkgS3V6bmV0c292LCA8a3V6bmV0QG1zMi5pbnIuYWMucnU+CisrICoJCUpha3ViIEplbGluZWssIDxqYWt1YkByZWRoYXQuY29tPgorICAqLworIAorICNpbmNsdWRlIDxzdGRpby5oPgorKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyAjaW5jbHVkZSA8c3lzbG9nLmg+CisgI2luY2x1ZGUgPGRpcmVudC5oPgorICNpbmNsdWRlIDxtYWxsb2MuaD4KK0BAIC0yNiw2ICsyOCw4IEBACisgI2luY2x1ZGUgPG5ldC9pZi5oPgorICNpbmNsdWRlIDxuZXQvaWZfYXJwLmg+CisgI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KKysjaW5jbHVkZSA8bmV0aW5ldC9ldGhlci5oPgorKyNpbmNsdWRlIDxhc20vdHlwZXMuaD4KKyAjaW5jbHVkZSA8bGludXgvaWZfcGFja2V0Lmg+CisgI2luY2x1ZGUgPGxpbnV4L2ZpbHRlci5oPgorIAorQEAgLTM5LDI3ICs0MywyNiBAQCBpbnQgb25seV9ldGhlcnM7CisgaW50IGFsbF9pZmFjZXM7CisgaW50IGxpc3Rlbl9hcnA7CisgY2hhciAqaWZuYW1lOworLWNoYXIgKnRmdHBfZGlyID0gIi9ldGMvdGZ0cGJvb3QiOworK2NoYXIgKnRmdHBfZGlyID0gIi90ZnRwYm9vdCI7CisgCistZXh0ZXJuIGludCBldGhlcl9udG9ob3N0KGNoYXIgKm5hbWUsIHVuc2lnbmVkIGNoYXIgKmVhKTsKKyB2b2lkIHVzYWdlKHZvaWQpIF9fYXR0cmlidXRlX18oKG5vcmV0dXJuKSk7CisgCistc3RydWN0IGlmbGluaworK3N0cnVjdCByYXJwaWZsaW5rCisgeworLQlzdHJ1Y3QgaWZsaW5rCSpuZXh0OworLQlpbnQJICAgICAgIAlpbmRleDsKKy0JaW50CQloYXR5cGU7CistCXVuc2lnbmVkIGNoYXIJbGxhZGRyWzE2XTsKKy0JdW5zaWduZWQgY2hhcgluYW1lW0lGTkFNU0laXTsKKy0Jc3RydWN0IGlmYWRkciAJKmlmYV9saXN0OworKwlzdHJ1Y3QgcmFycGlmbGluawkqbmV4dDsKKysJaW50CSAgICAgICAJCWluZGV4OworKwlpbnQJCQloYXR5cGU7CisrCXVuc2lnbmVkIGNoYXIJCWxsYWRkclsxNl07CisrCXVuc2lnbmVkIGNoYXIJCW5hbWVbSUZOQU1TSVpdOworKwlzdHJ1Y3QgcmFycGlmYWRkciAJKmlmYV9saXN0OworIH0gKmlmbF9saXN0OworIAorLXN0cnVjdCBpZmFkZHIKKytzdHJ1Y3QgcmFycGlmYWRkcgorIHsKKy0Jc3RydWN0IGlmYWRkciAJKm5leHQ7CistCV9fdTMyCQlwcmVmaXg7CistCV9fdTMyCQltYXNrOworLQlfX3UzMgkJbG9jYWw7CisrCXN0cnVjdCByYXJwaWZhZGRyIAkqbmV4dDsKKysJX191MzIJCQlwcmVmaXg7CisrCV9fdTMyCQkJbWFzazsKKysJX191MzIJCQlsb2NhbDsKKyB9OworIAorIHN0cnVjdCByYXJwX21hcAorQEAgLTg3LDggKzkwLDggQEAgdm9pZCBsb2FkX2lmKCkKKyB7CisgCWludCBmZDsKKyAJc3RydWN0IGlmcmVxICppZnJwLCAqaWZlbmQ7CistCXN0cnVjdCBpZmxpbmsgKmlmbDsKKy0Jc3RydWN0IGlmYWRkciAqaWZhOworKwlzdHJ1Y3QgcmFycGlmbGluayAqaWZsOworKwlzdHJ1Y3QgcmFycGlmYWRkciAqaWZhOworIAlzdHJ1Y3QgaWZjb25mIGlmYzsKKyAJc3RydWN0IGlmcmVxIGlidWZbMjU2XTsKKyAKK0BAIC0xNDQsNyArMTQ3LDcgQEAgdm9pZCBsb2FkX2lmKCkKKyAJCQkJY29udGludWU7CisgCQkJfQorIAorLQkJCWlmbCA9IChzdHJ1Y3QgaWZsaW5rKiltYWxsb2Moc2l6ZW9mKCppZmwpKTsKKysJCQlpZmwgPSAoc3RydWN0IHJhcnBpZmxpbmsqKW1hbGxvYyhzaXplb2YoKmlmbCkpOworIAkJCWlmIChpZmwgPT0gTlVMTCkKKyAJCQkJY29udGludWU7CisgCQkJbWVtc2V0KGlmbCwgMCwgc2l6ZW9mKCppZmwpKTsKK0BAIC0xNTQsNiArMTU3LDcgQEAgdm9pZCBsb2FkX2lmKCkKKyAJCQlpZmwtPmhhdHlwZSA9IGlmcnAtPmlmcl9od2FkZHIuc2FfZmFtaWx5OworIAkJCW1lbWNweShpZmwtPmxsYWRkciwgaWZycC0+aWZyX2h3YWRkci5zYV9kYXRhLCAxNCk7CisgCQkJc3RybmNweShpZmwtPm5hbWUsIGlmcnAtPmlmcl9uYW1lLCBJRk5BTVNJWik7CisrCQkJaWZsLT5uYW1lW0lGTkFNU0laLTFdID0gMDsKKyAJCQlwID0gc3RyY2hyKGlmbC0+bmFtZSwgJzonKTsKKyAJCQlpZiAocCkKKyAJCQkJKnAgPSAwOworQEAgLTE3OSw3ICsxODMsNyBAQCB2b2lkIGxvYWRfaWYoKQorIAkJaWYgKGlmYSA9PSBOVUxMKSB7CisgCQkJaWYgKG1hc2sgPT0gMCB8fCBwcmVmaXggPT0gMCkKKyAJCQkJY29udGludWU7CistCQkJaWZhID0gKHN0cnVjdCBpZmFkZHIqKW1hbGxvYyhzaXplb2YoKmlmYSkpOworKwkJCWlmYSA9IChzdHJ1Y3QgcmFycGlmYWRkciopbWFsbG9jKHNpemVvZigqaWZhKSk7CisgCQkJbWVtc2V0KGlmYSwgMCwgc2l6ZW9mKCppZmEpKTsKKyAJCQlpZmEtPmxvY2FsID0gYWRkcjsKKyAJCQlpZmEtPnByZWZpeCA9IHByZWZpeDsKK0BAIC0yMDcsNiArMjExLDcgQEAgdm9pZCBsb2FkX2lmKCkKKyAJCQl9CisgCQl9CisgCX0KKysJY2xvc2UoZmQpOworIH0KKyAKKyB2b2lkIGNvbmZpZ3VyZSgpCitAQCAtMjI1LDIwICsyMzAsMjEgQEAgaW50IGJvb3RhYmxlKF9fdTMyIGFkZHIpCisgCWQgPSBvcGVuZGlyKHRmdHBfZGlyKTsKKyAJaWYgKGQgPT0gTlVMTCkgeworIAkJc3lzbG9nKExPR19FUlIsICJvcGVuZGlyOiAlbSIpOworLQkJcmV0dXJuIDA7CisrCQlnb3RvIGRvbmVfYm9vdGFibGU7CisgCX0KKyAJd2hpbGUgKChkZW50ID0gcmVhZGRpcihkKSkgIT0gTlVMTCkgeworIAkJaWYgKHN0cm5jbXAoZGVudC0+ZF9uYW1lLCBuYW1lLCA4KSA9PSAwKQorIAkJCWJyZWFrOworIAl9CisrZG9uZV9ib290YWJsZToKKyAJY2xvc2VkaXIoZCk7CisgCXJldHVybiBkZW50ICE9IE5VTEw7CisgfQorIAorLXN0cnVjdCBpZmFkZHIgKnNlbGVjdF9pcGFkZHIoaW50IGlmaW5kZXgsIF9fdTMyICpzZWxfYWRkciwgX191MzIgKiphbGlzdCkKKytzdHJ1Y3QgcmFycGlmYWRkciAqc2VsZWN0X2lwYWRkcihpbnQgaWZpbmRleCwgX191MzIgKnNlbF9hZGRyLCBfX3UzMiAqKmFsaXN0KQorIHsKKy0Jc3RydWN0IGlmbGluayAqaWZsOworLQlzdHJ1Y3QgaWZhZGRyICppZmE7CisrCXN0cnVjdCByYXJwaWZsaW5rICppZmw7CisrCXN0cnVjdCByYXJwaWZhZGRyICppZmE7CisgCWludCByZXRyeSA9IDA7CisgCWludCBpOworIAorQEAgLTI5NCw3ICszMDAsNyBAQCBzdHJ1Y3QgcmFycF9tYXAgKnJhcnBfbG9va3VwKGludCBpZmluZGV4LCBpbnQgaGF0eXBlLAorIAorIAlpZiAociA9PSBOVUxMKSB7CisgCQlpZiAoaGF0eXBlID09IEFSUEhSRF9FVEhFUiAmJiBoYWxlbiA9PSA2KSB7CistCQkJc3RydWN0IGlmYWRkciAqaWZhOworKwkJCXN0cnVjdCByYXJwaWZhZGRyICppZmE7CisgCQkJc3RydWN0IGhvc3RlbnQgKmhwOworIAkJCWNoYXIgZW5hbWVbMjU2XTsKKyAJCQlzdGF0aWMgc3RydWN0IHJhcnBfbWFwIGVtYXAgPSB7CitAQCAtMzA0LDcgKzMxMCw3IEBAIHN0cnVjdCByYXJwX21hcCAqcmFycF9sb29rdXAoaW50IGlmaW5kZXgsIGludCBoYXR5cGUsCisgCQkJCTYsCisgCQkJfTsKKyAKKy0JCQlpZiAoZXRoZXJfbnRvaG9zdChlbmFtZSwgbGxhZGRyKSAhPSAwIHx8CisrCQkJaWYgKGV0aGVyX250b2hvc3QoZW5hbWUsIChzdHJ1Y3QgZXRoZXJfYWRkciAqKWxsYWRkcikgIT0gMCB8fAorIAkJCSAgICAoaHAgPSBnZXRob3N0YnluYW1lKGVuYW1lKSkgPT0gTlVMTCkgeworIAkJCQlpZiAodmVyYm9zZSkKKyAJCQkJCXN5c2xvZyhMT0dfSU5GTywgIm5vdCBmb3VuZCBpbiAvZXRjL2V0aGVycyIpOworQEAgLTM0NSw3ICszNTEsNyBAQCBzdGF0aWMgaW50IGxvYWRfYXJwX2JwZmxldChpbnQgZmQpCisgCisgaW50IHB1dF9teWxsYWRkcih1bnNpZ25lZCBjaGFyICoqcHRyX3AsIGludCBpZmluZGV4LCBpbnQgYWxlbikKKyB7CistCXN0cnVjdCBpZmxpbmsgKmlmbDsKKysJc3RydWN0IHJhcnBpZmxpbmsgKmlmbDsKKyAKKyAJZm9yIChpZmw9aWZsX2xpc3Q7IGlmbDsgaWZsID0gaWZsLT5uZXh0KQorIAkJaWYgKGlmbC0+aW5kZXggPT0gaWZpbmRleCkKK0BAIC0zNjIsOCArMzY4LDggQEAgaW50IHB1dF9teWxsYWRkcih1bnNpZ25lZCBjaGFyICoqcHRyX3AsIGludCBpZmluZGV4LCBpbnQgYWxlbikKKyBpbnQgcHV0X215aXBhZGRyKHVuc2lnbmVkIGNoYXIgKipwdHJfcCwgaW50IGlmaW5kZXgsIF9fdTMyIGhpc2lwYWRkcikKKyB7CisgCV9fdTMyIGxhZGRyID0gMDsKKy0Jc3RydWN0IGlmbGluayAqaWZsOworLQlzdHJ1Y3QgaWZhZGRyICppZmE7CisrCXN0cnVjdCByYXJwaWZsaW5rICppZmw7CisrCXN0cnVjdCByYXJwaWZhZGRyICppZmE7CisgCisgCWZvciAoaWZsPWlmbF9saXN0OyBpZmw7IGlmbCA9IGlmbC0+bmV4dCkKKyAJCWlmIChpZmwtPmluZGV4ID09IGlmaW5kZXgpCitAQCAtMzg4LDcgKzM5NCw3IEBAIHZvaWQgYXJwX2FkdmlzZShpbnQgaWZpbmRleCwgdW5zaWduZWQgY2hhciAqbGxhZGRyLCBpbnQgbGxsZW4sIF9fdTMyIGlwYWRkcikKKyAJaW50IGZkOworIAlzdHJ1Y3QgYXJwcmVxIHJlcTsKKyAJc3RydWN0IHNvY2thZGRyX2luICpzaW47CistCXN0cnVjdCBpZmxpbmsgKmlmbDsKKysJc3RydWN0IHJhcnBpZmxpbmsgKmlmbDsKKyAKKyAJZm9yIChpZmw9aWZsX2xpc3Q7IGlmbDsgaWZsID0gaWZsLT5uZXh0KQorIAkJaWYgKGlmbC0+aW5kZXggPT0gaWZpbmRleCkKK0BAIC00MjEsNiArNDI3LDEwIEBAIHZvaWQgc2VydmVfaXQoaW50IGZkKQorIAlzdHJ1Y3QgcmFycF9tYXAgKnJtYXA7CisgCXVuc2lnbmVkIGNoYXIgKnB0cjsKKyAJaW50IG47CisrCWludCBpOworKwljaGFyIHRtcGJ1ZlsxNiozXTsKKysJY2hhciB0bXBuYW1lW0lGTkFNU0laXTsKKysJc3RydWN0IHJhcnBpZmxpbmsgKmlmbDsKKyAKKyAJbiA9IHJlY3Zmcm9tKGZkLCBidWYsIHNpemVvZihidWYpLCBNU0dfRE9OVFdBSVQsIChzdHJ1Y3Qgc29ja2FkZHIqKSZzbGwsICZzbGxfbGVuKTsKKyAJaWYgKG48MCkgeworQEAgLTQ0NywyMSArNDU3LDIzIEBAIHZvaWQgc2VydmVfaXQoaW50IGZkKQorIAlpZiAoYS0+YXJfb3AgIT0gaHRvbnMoQVJQT1BfUlJFUVVFU1QpKQorIAkJcmV0dXJuOworIAorLQlpZiAodmVyYm9zZSkgeworLQkJaW50IGk7CistCQljaGFyIHRtcGJ1ZlsxNiozXTsKKy0JCWNoYXIgKnB0ciA9IHRtcGJ1ZjsKKy0JCWZvciAoaT0wOyBpPHNsbC5zbGxfaGFsZW47IGkrKykgeworLQkJCWlmIChpKSB7CistCQkJCXNwcmludGYocHRyLCAiOiUwMngiLCBzbGwuc2xsX2FkZHJbaV0pOworLQkJCQlwdHIrKzsKKy0JCQl9IGVsc2UKKy0JCQkJc3ByaW50ZihwdHIsICIlMDJ4Iiwgc2xsLnNsbF9hZGRyW2ldKTsKKy0JCQlwdHIgKz0gMjsKKy0JCX0KKy0JCXN5c2xvZyhMT0dfSU5GTywgIlJBUlAgcmVxdWVzdCBmcm9tICVzIG9uIGlmJWQiLCB0bXBidWYsIHNsbC5zbGxfaWZpbmRleCk7CisrCXB0ciA9IHRtcGJ1ZjsKKysgICAgICAgIHNucHJpbnRmKHRtcGJ1ZiwgMiwgIiUwMngiLCBzbGwuc2xsX2FkZHJbMF0pOworKwlmb3IgKHB0cj10bXBidWYrMiwgaT0xOyBpPHNsbC5zbGxfaGFsZW47IGkrKykgeworKwkJc25wcmludGYocHRyLCAzLCAiOiUwMngiLCBzbGwuc2xsX2FkZHJbaV0pOworKwkJcHRyICs9IDM7CisgCX0KKyAKKysJZm9yIChpZmw9aWZsX2xpc3Q7IGlmbDsgaWZsID0gaWZsLT5uZXh0KQorKwkJaWYgKGlmbC0+aW5kZXggPT0gc2xsLnNsbF9pZmluZGV4KQorKwkJCWJyZWFrOworKwlpZiAoaWZsKSB7CisrCQlzdHJuY3B5KHRtcG5hbWUsIGlmbC0+bmFtZSwgSUZOQU1TSVopOworKwkJdG1wbmFtZVtJRk5BTVNJWi0xXSA9IDA7CisrCX0gZWxzZQorKwkJc3ByaW50Zih0bXBuYW1lLCAiaWYlZCIsIHNsbC5zbGxfaWZpbmRleCk7CisrCXN5c2xvZyhMT0dfSU5GTywgIlJBUlAgcmVxdWVzdCBmcm9tICVzIG9uICVzIiwgdG1wYnVmLCB0bXBuYW1lKTsKKysKKyAJLyogU2FuaXR5IGNoZWNrcyAqLworIAorIAkvKiAxLiBJUCBvbmx5IC0+IHBsbj09NCAqLworQEAgLTUyNiw2ICs1MzgsOCBAQCB2b2lkIHNlcnZlX2l0KGludCBmZCkKKyAJcHRyICs9IHJtYXAtPmxsYWRkcl9sZW47CisgCW1lbWNweShwdHIsICZybWFwLT5pcGFkZHIsIDQpOworIAlwdHIgKz0gNDsKKysJc3lzbG9nKExPR19JTkZPLCAiUkFSUCByZXNwb25zZSB0byAlcyAlcyBvbiAlcyIsIHRtcGJ1ZiwKKysJICAgICAgIGluZXRfbnRvYSgqKHN0cnVjdCBpbl9hZGRyICopJnJtYXAtPmlwYWRkciksIHRtcG5hbWUpOworIAorIAkvKiBVcGRhdGUgb3VyIEFSUCBjYWNoZS4gUHJvYmFibHksIHRoaXMgZ3V5CisgCSAgIHdpbGwgbm90IGFibGUgdG8gbWFrZSBBUlAgKGlmIGl0IGlzIGJyb2tlbikKK0BAIC02MTMsNyArNjI3LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorICAgICAgICAgaWYgKGlmbmFtZSkgeworIAkJc3RydWN0IGlmcmVxIGlmcjsKKyAJCW1lbXNldCgmaWZyLCAwLCBzaXplb2YoaWZyKSk7CistCQlzdHJuY3B5KGlmci5pZnJfbmFtZSwgaWZuYW1lLCBJRk5BTVNJWik7CisrCQlzdHJuY3B5KGlmci5pZnJfbmFtZSwgaWZuYW1lLCBJRk5BTVNJWi0xKTsKKyAJCWlmIChpb2N0bChwc2V0WzBdLmZkLCBTSU9DR0lGSU5ERVgsICZpZnIpKSB7CisgCQkJcGVycm9yKCJpb2N0bChTSU9DR0lGSU5ERVgpIik7CisgCQkJdXNhZ2UoKTsKKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yYXJwZC9yYXJwZC8wMDA0LXJhcnBkLmluaXQtYWRkLW5ldy1pbml0LWZpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yYXJwZC9yYXJwZC8wMDA0LXJhcnBkLmluaXQtYWRkLW5ldy1pbml0LWZpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2JhMTFmZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JhcnBkL3JhcnBkLzAwMDQtcmFycGQuaW5pdC1hZGQtbmV3LWluaXQtZmlsZS5wYXRjaApAQCAtMCwwICsxLDExNiBAQAorRnJvbSAwZWYxYTk1YjIyMGM3ZTExMGRhOTUwZTVjYzU0NGM1MGMyNWIxYmM2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogVHVlLCAxOCBOb3YgMjAxNCAxODoxMTo1NiArMDkwMAorU3ViamVjdDogW1BBVENIIDQvNV0gcmFycGQuaW5pdCA6IGFkZCBuZXcgaW5pdCBmaWxlCisKK1NpZ25lZC1vZmYtYnk6IExpIFhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KKy0tLQorIHJhcnBkLmluaXQgfCA5NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA5NiBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IHJhcnBkLmluaXQKKworZGlmZiAtLWdpdCBhL3JhcnBkLmluaXQgYi9yYXJwZC5pbml0CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uZWZjZjgyNQorLS0tIC9kZXYvbnVsbAorKysrIGIvcmFycGQuaW5pdAorQEAgLTAsMCArMSw5NiBAQAorKyMhL2Jpbi9iYXNoCisrIworKyMJL2V0Yy9pbml0LmQvcmFycGQKKysjCisrIyBTdGFydHMgdGhlIHJhcnBkIGRhZW1vbgorKyMKKysjIGNoa2NvbmZpZzogLSA4MiAxNgorKyMgZGVzY3JpcHRpb246IFNlcnZlciBSZXZlcnNlIEFkZHJlc3MgUmVzb2x1dGlvbiBQcm90b2NvbCByZXF1ZXN0cy4KKysjIHByb2Nlc3NuYW1lOiByYXJwZAorKworKyMjIyBCRUdJTiBJTklUIElORk8KKysjIFByb3ZpZGVzOiByYXJwZAorKyMgUmVxdWlyZWQtU3RhcnQ6ICRzeXNsb2cgJG5ldHdvcmsKKysjIFJlcXVpcmVkLVN0b3A6ICAkc3lzbG9nICRuZXR3b3JrCisrIyBEZWZhdWx0LVN0YXJ0OgorKyMgRGVmYXVsdC1TdG9wOiAwIDEgMiAzIDQgNSA2CisrIyBTaG9ydC1EZXNjcmlwdGlvbjogc3RhcnQgYW5kIHN0b3AgcmFycGQKKysjIERlc2NyaXB0aW9uOiBSQVJQIChSZXZlcnNlIEFkZHJlc3MgUmVzb2x1dGlvbiBQcm90b2NvbCkgaXMgYSBwcm90b2NvbCBcCisrIyAgICAgICAgICAgICAgd2hpY2ggYWxsb3dzIGluZGl2aWR1YWwgZGV2aWNlcyBvbiBhbiBJUCBuZXR3b3JrIHRvIGdldCBcCisrIyAgICAgICAgICAgICAgdGhlaXIgb3duIElQIGFkZHJlc3NlcyBmcm9tIHRoZSBSQVJQIHNlcnZlci4gXAorKyMjIyBFTkQgSU5JVCBJTkZPCisrCisrIyBTb3VyY2UgZnVuY3Rpb24gbGlicmFyeS4KKysuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworKworKyMgUmVhZCB0aGUgY29uZmlnIGZpbGUgaWYgZXhpc3RzCisraWYgWyAtZiAvZXRjL3N5c2NvbmZpZy9yYXJwZCBdOyB0aGVuCisrIC4gL2V0Yy9zeXNjb25maWcvcmFycGQKKytmaQorKworK1JFVFZBTD0wCisrcHJvZz0icmFycGQiCisrCisrCisrc3RhcnQoKSB7CisrICAgICNpZiB0aGVzZSBmaWxlcyBkb24ndCBleGlzdCByYXJwZCBjYW4ndCB3b3JrCisrICAgIHRlc3QgLXggL3Vzci9zYmluL3JhcnBkIC1hIC1mIC9ldGMvZXRoZXJzIHx8IGV4aXQgNgorKwkjIENoZWNrIGlmIHJhcnBkIGlzIGFscmVhZHkgcnVubmluZworKwkjaWYgWyAhIC1mIC92YXIvbG9jay9zdWJzeXMvcmFycGQgXTsgdGhlbgorKyAgICBzdGF0dXMgcmFycGQ7CisrICAgIGlmIFsgJD8gLW5lIDAgXTsgdGhlbgorKwkgICAgZWNobyAtbiAkIlN0YXJ0aW5nICRwcm9nOiAiCisrCSAgICBkYWVtb24gL3Vzci9zYmluL3JhcnBkICRPUFRJT05TICRJTlRFUkZBQ0UKKysJICAgIFJFVFZBTD0kPworKwkgICAgWyAkUkVUVkFMIC1lcSAwIF0gJiYgdG91Y2ggL3Zhci9sb2NrL3N1YnN5cy9yYXJwZAorKwkgICAgZWNobworKwlmaQorKwlyZXR1cm4gJFJFVFZBTAorK30KKysKKytzdG9wKCkgeworKwllY2hvIC1uICQiU3RvcHBpbmcgJHByb2c6ICIKKysJa2lsbHByb2MgL3Vzci9zYmluL3JhcnBkCisrCVJFVFZBTD0kPworKwlbICRSRVRWQUwgLWVxIDAgXSAmJiBybSAtZiAvdmFyL2xvY2svc3Vic3lzL3JhcnBkCisrCWVjaG8KKysJcmV0dXJuICRSRVRWQUwKKyt9CisrcmVsb2FkKCkgeworKyAgICBSRVRWQUw9MworK30KKysKKysjCisrIwlTZWUgaG93IHdlIHdlcmUgY2FsbGVkLgorKyMKKytjYXNlICIkMSIgaW4KKysgIHN0YXJ0KQorKwlzdGFydAorKwk7OworKyAgc3RvcCkKKysJc3RvcAorKwk7OworKyAgcmVsb2FkKQorKyAgICByZWxvYWQKKysgICAgOzsKKysgIGZvcmNlLXJlbG9hZHxyZXN0YXJ0KQorKyAgICBzdG9wCisrCXN0YXJ0CisrCTs7CisrICBjb25kcmVzdGFydCkKKysJaWYgWyAtZiAvdmFyL2xvY2svc3Vic3lzL3JhcnBkIF07IHRoZW4KKysJICAgIHN0b3AKKysJICAgIHN0YXJ0CisrCWZpCisrCTs7CisrICBzdGF0dXMpCisrCXN0YXR1cyByYXJwZAorKwlSRVRWQUw9JD8KKysJOzsKKysgICopCisrCWVjaG8gJCJVc2FnZTogJDAge3N0YXJ0fHN0b3B8cmVzdGFydHxjb25kcmVzdGFydHxyZWxvYWR8c3RhdHVzfGZvcmNlLXJlbG9hZH0iCisrCVJFVFZBTD0yCisrICAgIAorK2VzYWMKKysKKytleGl0ICRSRVRWQUwKKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yYXJwZC9yYXJwZC8wMDA1LWV0aGVybmV0LmMtcmVtb3ZlLWl0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmFycGQvcmFycGQvMDAwNS1ldGhlcm5ldC5jLXJlbW92ZS1pdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNzdjODA2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmFycGQvcmFycGQvMDAwNS1ldGhlcm5ldC5jLXJlbW92ZS1pdC5wYXRjaApAQCAtMCwwICsxLDI0NCBAQAorRnJvbSBhYmUxNWJhMTBkZGMzNTQ4YzUyOGNjYjA4ODA5N2Q3YWJmNWJlNDhiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogVHVlLCAxOCBOb3YgMjAxNCAxODoxNDowNyArMDkwMAorU3ViamVjdDogW1BBVENIIDUvNV0gZXRoZXJuZXQuYyA6IHJlbW92ZSBpdAorCitTaWduZWQtb2ZmLWJ5OiBMaSBYaW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CistLS0KKyBldGhlcm5ldC5jIHwgMjI0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMjI0IGRlbGV0aW9ucygtKQorIGRlbGV0ZSBtb2RlIDEwMDY0NCBldGhlcm5ldC5jCisKK2RpZmYgLS1naXQgYS9ldGhlcm5ldC5jIGIvZXRoZXJuZXQuYworZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCBkNjgyYjYzLi4wMDAwMDAwCistLS0gYS9ldGhlcm5ldC5jCisrKysgL2Rldi9udWxsCitAQCAtMSwyMjQgKzAsMCBAQAorLS8qCistICogQ29weXJpZ2h0IChjKSAxOTkwLCAxOTkzIFRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuCistICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy0gKgorLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0OiAoMSkgc291cmNlIGNvZGUgZGlzdHJpYnV0aW9ucworLSAqIHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwYXJhZ3JhcGggaW4gaXRzIGVudGlyZXR5LCAoMikKKy0gKiBkaXN0cmlidXRpb25zIGluY2x1ZGluZyBiaW5hcnkgY29kZSBpbmNsdWRlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZAorLSAqIHRoaXMgcGFyYWdyYXBoIGluIGl0cyBlbnRpcmV0eSBpbiB0aGUgZG9jdW1lbnRhdGlvbiBvciBvdGhlciBtYXRlcmlhbHMKKy0gKiBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24sIGFuZCAoMykgYWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nCistICogZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKy0gKiBgYFRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYSwKKy0gKiBMYXdyZW5jZSBCZXJrZWxleSBMYWJvcmF0b3J5IGFuZCBpdHMgY29udHJpYnV0b3JzLicnIE5laXRoZXIgdGhlIG5hbWUgb2YKKy0gKiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZQorLSAqIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvcgorLSAqIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgV0lUSE9VVCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVECistICogV0FSUkFOVElFUywgSU5DTFVESU5HLCBXSVRIT1VUIExJTUlUQVRJT04sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKy0gKiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgorLSAqLworLSNpZm5kZWYgbGludAorLXN0YXRpYyBjaGFyIHJjc2lkW10gPQorLSAgICAiQCgjKSAkSGVhZGVyOiBldGhlcmVudC5jLHYgMS40IDk2LzA2LzE0IDIwOjM0OjI1IGxlcmVzIEV4cCAkIChMQkwpIjsKKy0jZW5kaWYKKy0KKy0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+CistI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CistI2luY2x1ZGUgPHN5cy90aW1lLmg+CistCistI2luY2x1ZGUgPGN0eXBlLmg+CistI2luY2x1ZGUgPHN0ZGlvLmg+CistI2luY2x1ZGUgPHN0cmluZy5oPgorLQorLSNpZm5kZWYgRVRIRVJTX0ZJTEUKKy0jZGVmaW5lIEVUSEVSU19GSUxFICIvZXRjL2V0aGVycyIKKy0jZW5kaWYKKy0KKy1zdHJ1Y3QgZXRoZXJlbnQgeworLSAgICAgICAgdV9jaGFyIGFkZHJbNl07CistICAgICAgICBjaGFyIG5hbWVbMTIyXTsKKy19OworLQorLXN0YXRpYyBGSUxFICpldGhlcl9mcCA9IE5VTEw7CistCistCistLyogSGV4IGRpZ2l0IHRvIGludGVnZXIuICovCistc3RhdGljIGlubGluZSBpbnQKKy14ZHRvaShjKQorLQlpbnQgYzsKKy17CistCistCWlmIChpc2RpZ2l0KGMpKQorLQkJcmV0dXJuIGMgLSAnMCc7CistCWVsc2UgaWYgKGlzbG93ZXIoYykpCistCQlyZXR1cm4gYyAtICdhJyArIDEwOworLQllbHNlCistCQlyZXR1cm4gYyAtICdBJyArIDEwOworLX0KKy0KKy1zdGF0aWMgaW5saW5lIGludAorLXNraXBfc3BhY2UoZikKKy0JRklMRSAqZjsKKy17CistCWludCBjOworLQorLQlkbyB7CistCQljID0gZ2V0YyhmKTsKKy0JfSB3aGlsZSAoaXNzcGFjZShjKSAmJiBjICE9ICdcbicpOworLQorLQlyZXR1cm4gYzsKKy19CistCistc3RhdGljIGlubGluZSBpbnQKKy1za2lwX2xpbmUoZikKKy0JRklMRSAqZjsKKy17CistCWludCBjOworLQorLQlkbworLQkJYyA9IGdldGMoZik7CistCXdoaWxlIChjICE9ICdcbicgJiYgYyAhPSBFT0YpOworLQorLQlyZXR1cm4gYzsKKy19CistCistc3RhdGljIHN0cnVjdCBldGhlcmVudCAqCistbmV4dF9ldGhlcmVudChmcCkKKy0JRklMRSAqZnA7CisteworLQlyZWdpc3RlciBpbnQgYywgZCwgaTsKKy0JY2hhciAqYnA7CistCXN0YXRpYyBzdHJ1Y3QgZXRoZXJlbnQgZTsKKy0Jc3RhdGljIGludCBubGluZSA9IDE7CistIHRvcDoKKy0Jd2hpbGUgKG5saW5lKSB7CistCQkvKiBGaW5kIGFkZHIgKi8KKy0JCWMgPSBza2lwX3NwYWNlKGZwKTsKKy0JCWlmIChjID09ICdcbicpCistCQkJY29udGludWU7CistCQkvKiBJZiB0aGlzIGlzIGEgY29tbWVudCwgb3IgZmlyc3QgdGhpbmcgb24gbGluZQorLQkJICAgY2Fubm90IGJlIGV0ZWhybmV0IGFkZHJlc3MsIHNraXAgdGhlIGxpbmUuICovCistCQllbHNlIGlmICghaXN4ZGlnaXQoYykpCistCQkJYyA9IHNraXBfbGluZShmcCk7CistCQllbHNlIHsKKy0JCQkvKiBtdXN0IGJlIHRoZSBzdGFydCBvZiBhbiBhZGRyZXNzICovCistCQkJZm9yIChpID0gMDsgaSA8IDY7IGkgKz0gMSkgeworLQkJCQlkID0geGR0b2koYyk7CistCQkJCWMgPSBnZXRjKGZwKTsKKy0JCQkJaWYgKGMgIT0gJzonKSB7CistCQkJCQlkIDw8PSA0OworLQkJCQkJZCB8PSB4ZHRvaShjKTsKKy0JCQkJCWMgPSBnZXRjKGZwKTsKKy0JCQkJfQorLQkJCQllLmFkZHJbaV0gPSBkOworLQkJCQlpZiAoYyAhPSAnOicpCistCQkJCQlicmVhazsKKy0JCQkJYyA9IGdldGMoZnApOworLQkJCX0KKy0JCQlubGluZSA9IDA7CistCQl9CistCQlpZiAoYyA9PSBFT0YpCistCQkJcmV0dXJuIE5VTEw7CistCX0KKy0JCistCS8qIElmIHdlIHN0YXJ0ZWQgYSBuZXcgbGluZSwgJ2MnIGhvbGRzIHRoZSBjaGFyIHBhc3QgdGhlIGV0aGVyIGFkZHIsCistCSAgIHdoaWNoIHdlIGFzc3VtZSBpcyB3aGl0ZSBzcGFjZS4gIElmIHdlIGFyZSBjb250aW51aW5nIGEgbGluZSwKKy0JICAgJ2MnIGlzIGdhcmJhZ2UuICBJbiBlaXRoZXIgY2FzZSwgd2UgY2FuIHRocm93IGl0IGF3YXkuICovCistCSAgIAorLQljID0gc2tpcF9zcGFjZShmcCk7CistCWlmIChjID09ICdcbicpIHsKKy0JCW5saW5lID0gMTsKKy0JCWdvdG8gdG9wOworLQl9CistCWVsc2UgaWYgKGMgPT0gJyMnKSB7CistCQkodm9pZClza2lwX2xpbmUoZnApOworLQkJbmxpbmUgPSAxOworLQkJZ290byB0b3A7CistCX0KKy0JZWxzZSBpZiAoYyA9PSBFT0YpCistCQlyZXR1cm4gTlVMTDsKKy0JCistCS8qIE11c3QgYmUgYSBuYW1lLiAqLworLQlicCA9IGUubmFtZTsKKy0JLyogVXNlICdkJyB0byBwcmV2ZW50IGJ1ZmZlciBvdmVyZmxvdy4gKi8KKy0JZCA9IHNpemVvZihlLm5hbWUpIC0gMTsKKy0JZG8geworLQkJKmJwKysgPSBjOworLQkJYyA9IGdldGMoZnApOworLQl9IHdoaWxlICghaXNzcGFjZShjKSAmJiBjICE9IEVPRiAmJiAtLWQgPiAwKTsKKy0JKmJwID0gJ1wwJzsKKy0JaWYgKGMgPT0gJ1xuJykKKy0JCW5saW5lID0gMTsKKy0KKy0JcmV0dXJuICZlOworLX0KKy0KKy0vKiBPcGVuL3Jld2luZCB0aGUgZXRoZXJzIGZpbGVzOyByZXR1cm5zIDEgaWYgZmlsZSB3YXMgcmVvcGVuZWQgKi8KKy1pbnQKKy1ldGhlcl9yZXdpbmQoKQorLXsKKy0Jc3RydWN0IHN0YXQgc3Q7CistCXN0YXRpYyBsb25nIG10aW1lID0gMCwgY3RpbWUgPSAwOworLQorLQlpZiAoZXRoZXJfZnAgIT0gTlVMTCkgeworLQkJaWYgKGZzdGF0KGZpbGVubyhldGhlcl9mcCksICZzdCkgPCAwIHx8CistCQkgICAgbXRpbWUgIT0gc3Quc3RfbXRpbWUgfHwgY3RpbWUgIT0gc3Quc3RfY3RpbWUgfHwKKy0JCSAgICBmc2VlayhldGhlcl9mcCwgMEwsIFNFRUtfU0VUKSA8IDApIHsKKy0JCQlmY2xvc2UoZXRoZXJfZnApOworLQkJCWV0aGVyX2ZwID0gTlVMTDsKKy0JCX0KKy0JfQorLQlpZiAoZXRoZXJfZnAgPT0gTlVMTCkgeworLQkJZXRoZXJfZnAgPSBmb3BlbihFVEhFUlNfRklMRSwgInIiKTsKKy0JCWlmIChldGhlcl9mcCA9PSBOVUxMKQorLQkJCXJldHVybiAoLTEpOworLQkJaWYgKGZzdGF0KGZpbGVubyhldGhlcl9mcCksICZzdCkgPCAwKSB7CistCQkJZmNsb3NlKGV0aGVyX2ZwKTsKKy0JCQlldGhlcl9mcCA9IE5VTEw7CistCQkJcmV0dXJuICgtMSk7CistCQl9CistCQltdGltZSA9IHN0LnN0X210aW1lOworLQkJY3RpbWUgPSBzdC5zdF9jdGltZTsKKy0JCXJldHVybiAoMSk7CistCX0KKy0JcmV0dXJuICgwKTsKKy19CistCistLyogTWFwIGFuIGV0aGVybmV0IGFkZHJlc3MgdG8gYSBuYW1lOyByZXR1cm5zIDAgb24gc3VjY2VzcywgZWxzZSAxLiAqLworLWludAorLWV0aGVyX250b2hvc3QobmFtZSwgZWEpCistCXJlZ2lzdGVyIGNoYXIgKm5hbWU7CistCXJlZ2lzdGVyIHVfY2hhciAqZWE7CisteworLQlyZWdpc3RlciBzdHJ1Y3QgZXRoZXJlbnQgKmVwOworLQorLQlpZiAoZXRoZXJfcmV3aW5kKCkgPCAwKQorLQkJcmV0dXJuICgxKTsKKy0KKy0Jd2hpbGUgKChlcCA9IG5leHRfZXRoZXJlbnQoZXRoZXJfZnApKSAhPSBOVUxMKQorLQkJaWYgKGJjbXAoZXAtPmFkZHIsIGVhLCA2KSA9PSAwKSB7CistCQkJc3RyY3B5KG5hbWUsIGVwLT5uYW1lKTsKKy0JCQlyZXR1cm4gKDApOworLQkJfQorLQlyZXR1cm4gKDEpOworLX0KKy0KKy0vKiBNYXAgYW4gZXRoZXJuZXQgbmFtZSB0byBhbiBhZGRyZXNzOyByZXR1cm5zIDAgb24gc3VjY2VzcywgZWxzZSAxLiAqLworLWludAorLWV0aGVyX2hvc3R0b24obmFtZSwgZWEpCistCXJlZ2lzdGVyIGNoYXIgKm5hbWU7CistCXJlZ2lzdGVyIHVfY2hhciAqZWE7CisteworLQlyZWdpc3RlciBzdHJ1Y3QgZXRoZXJlbnQgKmVwOworLQorLQlpZiAoZXRoZXJfcmV3aW5kKCkgPCAwKQorLQkJcmV0dXJuICgxKTsKKy0KKy0Jd2hpbGUgKChlcCA9IG5leHRfZXRoZXJlbnQoZXRoZXJfZnApKSAhPSBOVUxMKQorLQkJaWYgKHN0cmNtcChlcC0+bmFtZSwgbmFtZSkgPT0gMCkgeworLQkJCWJjb3B5KGVwLT5hZGRyLCBlYSwgNik7CistCQkJcmV0dXJuICgwKTsKKy0JCX0KKy0JcmV0dXJuICgxKTsKKy19CistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmFycGQvcmFycGQvZXRoZXJzLnNhbXBsZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JhcnBkL3JhcnBkL2V0aGVycy5zYW1wbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjQ5Y2E2YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JhcnBkL3JhcnBkL2V0aGVycy5zYW1wbGUKQEAgLTAsMCArMSBAQAorIyBzZWUgbWFuIGV0aGVycyBmb3Igc3ludGF4CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yYXJwZC9yYXJwZC9yYXJwZC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmFycGQvcmFycGQvcmFycGQuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMzc3MTBlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmFycGQvcmFycGQvcmFycGQuc2VydmljZQpAQCAtMCwwICsxLDE0IEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPVJldmVyc2UgQWRkcmVzcyBSZXNvbHV0aW9uIFByb3RvY29sIFJlcXVlc3RzIFNlcnZlcgorUmVxdWlyZXM9bmV0d29yay50YXJnZXQKK0FmdGVyPXN5c2xvZy50YXJnZXQgbmV0d29yay50YXJnZXQKKworW1NlcnZpY2VdCitUeXBlPWZvcmtpbmcKK0Vudmlyb25tZW50RmlsZT0tL2V0Yy9zeXNjb25maWcvcmFycGQKK0V4ZWNTdGFydD0vdXNyL3NiaW4vcmFycGQgJE9QVElPTlMgJElOVEVSRkFDRQorU3RhbmRhcmRFcnJvcj1zeXNsb2cKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yYXJwZC9yYXJwZF9zczk4MTEwNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JhcnBkL3JhcnBkX3NzOTgxMTA3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExMTIxNjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yYXJwZC9yYXJwZF9zczk4MTEwNy5iYgpAQCAtMCwwICsxLDUzIEBACitTVU1NQVJZID0gIlRoZSBSQVJQIGRhZW1vbi4iCitERVNDUklQVElPTiA9ICJSQVJQIChSZXZlcnNlIEFkZHJlc3MgUmVzb2x1dGlvbiBQcm90b2NvbCkgaXMgYSBwcm90b2NvbCB3aGljaCBcCithbGxvd3MgaW5kaXZpZHVhbCBkZXZpY2VzIG9uIGFuIElQIG5ldHdvcmsgdG8gZ2V0IHRoZWlyIG93biBJUCBhZGRyZXNzZXMgZnJvbSBcCit0aGUgUkFSUCBzZXJ2ZXIuIFNvbWUgbWFjaGluZXMgKGUuZy4gU1BBUkMgYm94ZXMpIHVzZSB0aGlzIHByb3RvY29sIGluc3RlYWQgXAorb2YgZS5nLiBESENQIHRvIHF1ZXJ5IHRoZWlyIElQIGFkZHJlc3NlcyBkdXJpbmcgbmV0d29yayBib290dXAuIFwKK0xpbnV4IGtlcm5lbHMgdXAgdG8gMi4yIHVzZWQgdG8gcHJvdmlkZSBhIGtlcm5lbCBkYWVtb24gZm9yIHRoaXMgc2VydmljZSwgXAorYnV0IHNpbmNlIDIuMyBrZXJuZWxzIGl0IGlzIHNlcnZlZCBieSB0aGlzIHVzZXJsYW5kIGRhZW1vbi4gXAorWW91IHNob3VsZCBpbnN0YWxsIHJhcnBkIGlmIHlvdSB3YW50IHRvIHNldCB1cCBhIFJBUlAgc2VydmVyIG9uIHlvdXIgXAorbmV0d29yay4iCitTRUNUSU9OID0gIlN5c3RlbSBFbnZpcm9ubWVudC9EYWVtb25zIgorCitTUkNfVVJJID0gImh0dHA6Ly9wa2dzLmZlZG9yYXByb2plY3Qub3JnL3JlcG8vcGtncy8ke0JQTn0vJHtCUH0udGFyLmd6L2JlMmE4OGY4Y2NkZGYyYTQwYWM0ODRjYjMyOTRmZWRjLyR7QlB9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJiZTJhODhmOGNjZGRmMmE0MGFjNDg0Y2IzMjk0ZmVkYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0ZDYxNDVkNDM1YTVkOGI1NjdiOTc5ODYyMGY1N2Y5YjBhNDY0MDc4YTFkZWJhMjY3OTU4ZjE2OGZiZTc3NmU2IgorCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1yYXJwZC44LWFkZC1tYW4tZmlsZS5wYXRjaCBcCisgICAgZmlsZTovLzAwMDItTWFrZWZpbGUtbW9kaWZ5LWNvbXBpbGUtcGFyYW1ldGVycy5wYXRjaCBcCisgICAgZmlsZTovLzAwMDMtcmFycGQuYy1idWctZml4LnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwNC1yYXJwZC5pbml0LWFkZC1uZXctaW5pdC1maWxlLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwNS1ldGhlcm5ldC5jLXJlbW92ZS1pdC5wYXRjaCBcCisgICAgZmlsZTovL2V0aGVycy5zYW1wbGUgXAorICAgIGZpbGU6Ly9yYXJwZC5zZXJ2aWNlIFwKKyIKKworTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9yYXJwZC5jO21kNT0xOTliMjBiMTcyZWE5MzEyMWJjNjEzYTljNzdiNjkzMSIKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfSIKKworRVhUUkFfT0VNQUtFID0gIi1lIE1BS0VGTEFHUz0iCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1kICR7RH0ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjgKKyAgICBpbnN0YWxsIC1tIDc1NSByYXJwZC5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9yYXJwZAorICAgIGluc3RhbGwgLW0gNzU1IHJhcnBkICR7RH0ke3NiaW5kaXJ9L3JhcnBkCisgICAgaW5zdGFsbCAtbSA2NDQgcmFycGQuOCAke0R9JHttYW5kaXJ9L21hbjgvcmFycGQuOAorICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vZXRoZXJzLnNhbXBsZSAke0R9JHtzeXNjb25mZGlyfS9ldGhlcnMKKworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9yYXJwZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLworICAgIGZpCit9CisKK2luaGVyaXQgJHtAYmIudXRpbHMuY29udGFpbnMoJ1ZJUlRVQUwtUlVOVElNRV9pbml0X21hbmFnZXInLCdzeXN0ZW1kJywnc3lzdGVtZCcsJycsZCl9CisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0iCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAicmFycGQuc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworUkRFUEVORFNfJHtQTn0gKz0gImJhc2giCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yZWRpcy9yZWRpcy9oaXJlZGlzLXVzZS1kZWZhdWx0LUNDLWlmLWl0LWlzLXNldC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JlZGlzL3JlZGlzL2hpcmVkaXMtdXNlLWRlZmF1bHQtQ0MtaWYtaXQtaXMtc2V0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5ZjFjMGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yZWRpcy9yZWRpcy9oaXJlZGlzLXVzZS1kZWZhdWx0LUNDLWlmLWl0LWlzLXNldC5wYXRjaApAQCAtMCwwICsxLDMwIEBACitGcm9tIGRjNzQ1YTMzZjM4NzVjYzcyZDQxYmQzNGVkNDkwYjM1MmU1NDYzNTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBWZW50dXJlIFJlc2VhcmNoIDx0ZWNoQHZlbnR1cmVyZXNlYXJjaC5jb20+CitEYXRlOiBGcmksIDggRmViIDIwMTMgMTc6Mzk6NTIgLTA2MDAKK1N1YmplY3Q6IFtQQVRDSF0gaGlyZWRpczogdXNlIGRlZmF1bHQgQ0MgaWYgaXQgaXMgc2V0CisKK0luc3RlYWQgb2YgdHJ5aW5nIHRvIGF1dG9tYWdpY2FsbHkgZmlndXJlIG91dCBDQywgd2hpY2ggYnJlYWtzIHdpdGggT0UKK2FzIENDIGhhcyBzcGFjZXMgaW4gaXQsIGp1c3Qgc2tpcCBpdCBpZiBvbmUgd2FzIGFscmVhZHkgcGFzc2VkIGluLgorCitTaWduZWQtb2ZmLWJ5OiBWZW50dXJlIFJlc2VhcmNoIDx0ZWNoQHZlbnR1cmVyZXNlYXJjaC5jb20+CisKK1VwZGF0ZSB0byB3b3JrIHdpdGggMy4wLngKK1NpZ25lZC1vZmYtYnk6IEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CisKKy0tLQorIGRlcHMvaGlyZWRpcy9NYWtlZmlsZSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworSW5kZXg6IGRlcHMvaGlyZWRpcy9NYWtlZmlsZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvZGVwcy9oaXJlZGlzL01ha2VmaWxlCisrKysgYi9kZXBzL2hpcmVkaXMvTWFrZWZpbGUKK0BAIC0yNCw3ICsyNCw3IEBAIGVuZGVmCisgZXhwb3J0IFJFRElTX1RFU1RfQ09ORklHCisgCisgIyBGYWxsYmFjayB0byBnY2Mgd2hlbiAkQ0MgaXMgbm90IGluICRQQVRILgorLUNDOj0kKHNoZWxsIHNoIC1jICd0eXBlICQoQ0MpID4vZGV2L251bGwgMj4vZGV2L251bGwgJiYgZWNobyAkKENDKSB8fCBlY2hvIGdjYycpCisrQ0M/PSQoc2hlbGwgc2ggLWMgJ3R5cGUgJChDQykgPi9kZXYvbnVsbCAyPi9kZXYvbnVsbCAmJiBlY2hvICQoQ0MpIHx8IGVjaG8gZ2NjJykKKyBPUFRJTUlaQVRJT04/PS1PMworIFdBUk5JTkdTPS1XYWxsIC1XIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd3cml0ZS1zdHJpbmdzCisgREVCVUc/PSAtZyAtZ2dkYgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmVkaXMvcmVkaXMvaW5pdC1yZWRpcy1zZXJ2ZXIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yZWRpcy9yZWRpcy9pbml0LXJlZGlzLXNlcnZlcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MDE0ZDcwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmVkaXMvcmVkaXMvaW5pdC1yZWRpcy1zZXJ2ZXIKQEAgLTAsMCArMSw0MCBAQAorIyEvYmluL3NoCisjCisjIyMgQkVHSU4gSU5JVCBJTkZPCisjIFByb3ZpZGVzOiAgICAgICAgICByZWRpcy1zZXJ2ZXIKKyMgUmVxdWlyZWQtU3RhcnQ6ICAgICRuZXR3b3JrCisjIFJlcXVpcmVkLVN0b3A6ICAgICAkbmV0d29yaworIyBEZWZhdWx0LVN0YXJ0OiAgICAgUyAyIDMgNCA1CisjIERlZmF1bHQtU3RvcDogICAgICAwIDEgNgorIyBTaG9ydC1EZXNjcmlwdGlvbjogUmVkaXMsIGEga2V5LXZhbHVlIHN0b3JlCisjIERlc2NyaXB0aW9uOiAgICAgICBSZWRpcyBpcyBhbiBvcGVuIHNvdXJjZSwgYWR2YW5jZWQga2V5LXZhbHVlIHN0b3JlLgorIyAgICAgICAgICAgICAgICAgICAgaHR0cDovL3JlZGlzLmlvCisjIyMgRU5EIElOSVQgSU5GTworCit0ZXN0IC1mIC91c3IvYmluL3JlZGlzLXNlcnZlciB8fCBleGl0IDAKKworQVJHUz0iL2V0Yy9yZWRpcy9yZWRpcy5jb25mIgorCitjYXNlICIkMSIgaW4KKyAgICBzdGFydCkKKwllY2hvICJTdGFydGluZyByZWRpcy1zZXJ2ZXIuLi4iCisgICAgICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLS1xdWlldCAtLWV4ZWMgL3Vzci9iaW4vcmVkaXMtc2VydmVyIC0tICRBUkdTCisJOzsKKyAgICBzdG9wKQorICAgICAgICBlY2hvICJTdG9wcGluZyByZWRpcy1zZXJ2ZXIuLi4iCisgICAgICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXF1aWV0IC0tZXhlYyAvdXNyL2Jpbi9yZWRpcy1zZXJ2ZXIKKwk7OworICAgIHJlc3RhcnQpCisgICAgICAgIGVjaG8gIlN0b3BwaW5nIHJlZGlzLXNlcnZlci4uLiIKKyAgICAgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tcXVpZXQgLS1leGVjIC91c3IvYmluL3JlZGlzLXNlcnZlcgorCWVjaG8gIlN0YXJ0aW5nIHJlZGlzLXNlcnZlci4uLiIKKyAgICAgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tZXhlYyAvdXNyL2Jpbi9yZWRpcy1zZXJ2ZXIgLS0gJEFSR1MKKwk7OworICAgICopCisJZWNobyAiVXNhZ2U6IC9ldGMvaW5pdC5kL3JlZGlzLXNlcnZlciB7c3RhcnR8c3RvcHxyZXN0YXJ0fSIKKwlleGl0IDEKKwk7OworZXNhYworCitleGl0IDAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmVkaXMvcmVkaXMvbHVhLXVwZGF0ZS1NYWtlZmlsZS10by11c2UtZW52aXJvbm1lbnQtYnVpbGQtc2V0dGluZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JlZGlzL3JlZGlzL2x1YS11cGRhdGUtTWFrZWZpbGUtdG8tdXNlLWVudmlyb25tZW50LWJ1aWxkLXNldHRpbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2U2MmFlMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JlZGlzL3JlZGlzL2x1YS11cGRhdGUtTWFrZWZpbGUtdG8tdXNlLWVudmlyb25tZW50LWJ1aWxkLXNldHRpbmcucGF0Y2gKQEAgLTAsMCArMSw3MSBAQAorRnJvbSAzOTQxMDgwMzVkMzUwYWU2NjJhNDMxYzgwMTMxZjgxMmI1ZjcyZGZmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogVmVudHVyZSBSZXNlYXJjaCA8dGVjaEB2ZW50dXJlcmVzZWFyY2guY29tPgorRGF0ZTogRnJpLCA4IEZlYiAyMDEzIDIwOjIyOjE5IC0wNjAwCitTdWJqZWN0OiBbUEFUQ0hdIGx1YTogdXBkYXRlIE1ha2VmaWxlIHRvIHVzZSBlbnZpcm9ubWVudCBidWlsZCBzZXR0aW5ncworCitPRS1zcGVjaWZpYyBwYXJhbWV0ZXJzLCBpbnN0ZWFkIG9mIG92ZXJyaWRpbmcgYWxsIG9mIHRoZXNlIHNpbXBseSB1c2UKK3RoZSBvbmVzIHRoYXQgYXJlIGFscmVhZHkgcGFzc2VkIGluLiBBbHNvIGNvbmZpZ3VyZSBmb3Igb25seSBMaW51eC4uLgorCitTaWduZWQtb2ZmLWJ5OiBWZW50dXJlIFJlc2VhcmNoIDx0ZWNoQHZlbnR1cmVyZXNlYXJjaC5jb20+CisKK1VwZGF0ZWQgdG8gd29yayB3aXRoIDMuMC54CisKK1NpZ25lZC1vZmYtYnk6IEFybWluIEt1c3RlciA8YWt1c3Q4MDhAZ21haWwuY29tPgorCistLS0KKyBkZXBzL2x1YS9zcmMvTWFrZWZpbGUgfCAxOCArKysrKysrLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKKworSW5kZXg6IHJlZGlzLTMuMC4yL2RlcHMvbHVhL3NyYy9NYWtlZmlsZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHJlZGlzLTMuMC4yLm9yaWcvZGVwcy9sdWEvc3JjL01ha2VmaWxlCisrKysgcmVkaXMtMy4wLjIvZGVwcy9sdWEvc3JjL01ha2VmaWxlCitAQCAtNSwxOCArNSwxNCBAQAorICMgPT0gQ0hBTkdFIFRIRSBTRVRUSU5HUyBCRUxPVyBUTyBTVUlUIFlPVVIgRU5WSVJPTk1FTlQgPT09PT09PT09PT09PT09PT09PT09PT0KKyAKKyAjIFlvdXIgcGxhdGZvcm0uIFNlZSBQTEFUUyBmb3IgcG9zc2libGUgdmFsdWVzLgorLVBMQVQ9IG5vbmUKKytQTEFUPSBsaW51eAorIAorLUNDPz0gZ2NjCistQ0ZMQUdTPSAtTzIgLVdhbGwgJChNWUNGTEFHUykKKy1BUj0gYXIgcmN1CistUkFOTElCPSByYW5saWIKKy1STT0gcm0gLWYKKy1MSUJTPSAtbG0gJChNWUxJQlMpCistCistTVlDRkxBR1M9CisrTVlDRkxBR1M9LURMVUFfVVNFX0xJTlVYCisgTVlMREZMQUdTPQorLU1ZTElCUz0KKytNWUxJQlM9LVdsLC1FIC1sZGwgLWxyZWFkbGluZSAtbGhpc3RvcnkgLWxuY3Vyc2VzCisrCisrQ0ZMQUdTICs9ICQoTVlDRkxBR1MpCisrTElCUyArPSAtbG0gJChNWUxJQlMpCisgCisgIyA9PSBFTkQgT0YgVVNFUiBTRVRUSU5HUy4gTk8gTkVFRCBUTyBDSEFOR0UgQU5ZVEhJTkcgQkVMT1cgVEhJUyBMSU5FID09PT09PT09PQorIAorSW5kZXg6IHJlZGlzLTMuMC4yL2RlcHMvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSByZWRpcy0zLjAuMi5vcmlnL2RlcHMvTWFrZWZpbGUKKysrKyByZWRpcy0zLjAuMi9kZXBzL01ha2VmaWxlCitAQCAtNjMsNyArNjMsNiBAQCBMVUFfTERGTEFHUys9ICQoTERGTEFHUykKKyAjIGx1YSdzIE1ha2VmaWxlIGRlZmluZXMgQVI9ImFyIHJjdSIsIHdoaWNoIGlzIHVudXN1YWwsIGFuZCBtYWtlcyBpdCBtb3JlCisgIyBjaGFsbGVuZ2luZyB0byBjcm9zcy1jb21waWxlIGx1YSAoYW5kIHJlZGlzKS4gIFRoZXNlIGRlZmluZXMgbWFrZSBpdCBlYXNpZXIKKyAjIHRvIGZpdCByZWRpcyBpbnRvIGNyb3NzLWNvbXBpbGF0aW9uIGVudmlyb25tZW50cywgd2hpY2ggdHlwaWNhbGx5IHNldCBBUi4KKy1BUj1hcgorIEFSRkxBR1M9cmN1CisgCisgbHVhOiAubWFrZS1wcmVyZXF1aXNpdGVzCitJbmRleDogcmVkaXMtMy4wLjIvZGVwcy9sdWEvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSByZWRpcy0zLjAuMi5vcmlnL2RlcHMvbHVhL01ha2VmaWxlCisrKysgcmVkaXMtMy4wLjIvZGVwcy9sdWEvTWFrZWZpbGUKK0BAIC0zMyw3ICszMyw2IEBAIElOU1RBTExfREFUQT0gJChJTlNUQUxMKSAtbSAwNjQ0CisgCisgIyBVdGlsaXRpZXMuCisgTUtESVI9IG1rZGlyIC1wCistUkFOTElCPSByYW5saWIKKyAKKyAjID09IEVORCBPRiBVU0VSIFNFVFRJTkdTLiBOTyBORUVEIFRPIENIQU5HRSBBTllUSElORyBCRUxPVyBUSElTIExJTkUgPT09PT09PT09CisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yZWRpcy9yZWRpcy9vZS11c2UtbGliYy1tYWxsb2MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yZWRpcy9yZWRpcy9vZS11c2UtbGliYy1tYWxsb2MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjc2OGE3NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JlZGlzL3JlZGlzL29lLXVzZS1saWJjLW1hbGxvYy5wYXRjaApAQCAtMCwwICsxLDM0IEBACitGcm9tIGY4ODYxZDIxMjliOWUxOGJiYTEzNzcwNWJmYTM4YzZiZDliZTE3OTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBWZW50dXJlIFJlc2VhcmNoIDx0ZWNoQHZlbnR1cmVyZXNlYXJjaC5jb20+CitEYXRlOiBXZWQsIDYgRmViIDIwMTMgMjA6NTE6MDIgLTA2MDAKK1N1YmplY3Q6IFtQQVRDSF0gaGFjayB0byBmb3JjZSB1c2Ugb2YgbGliYyBtYWxsb2MKKworSGFjayB0byBmb3JjZSBsaWJjIHVzYWdlIGFzIGl0IHNlZW1zIHRoZSBvcHRpb24gdG8gcGFzcyBpdCBpbiBoYXMgYmVlbgorcmVtb3ZlZCBpbiBmYXZvciBvZiBtYWdpYy4KKworTm90ZSB0aGF0IHRoaXMgb2YgY291cnNlIGRvZXNuJ3QgYWxsb3cgdGNtYWxsb2MgYW5kIGplbWFsbG9jLCBob3dldmVyIAoramVtYWxsb2Mgd2Fzbid0IGJ1aWxkaW5nIGNvcnJlY3RseS4KKworU2lnbmVkLW9mZi1ieTogVmVudHVyZSBSZXNlYXJjaCA8dGVjaEB2ZW50dXJlcmVzZWFyY2guY29tPgorCitVcGRhdGUgdG8gd29yayB3aXRoIDMuMC54CitTaWduZWQtb2ZmLWJ5OiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgorCistLS0KKyBzcmMvTWFrZWZpbGUgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK0luZGV4OiBzcmMvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL3NyYy9NYWtlZmlsZQorKysrIGIvc3JjL01ha2VmaWxlCitAQCAtMTMsNyArMTMsOCBAQAorICMgSnVzdCB1c2UgJ21ha2UgZGVwJywgYnV0IHRoaXMgaXMgb25seSBuZWVkZWQgYnkgZGV2ZWxvcGVycy4KKyAKKyByZWxlYXNlX2hkciA6PSAkKHNoZWxsIHNoIC1jICcuL21rcmVsZWFzZWhkci5zaCcpCistdW5hbWVfUyA6PSAkKHNoZWxsIHNoIC1jICd1bmFtZSAtcyAyPi9kZXYvbnVsbCB8fCBlY2hvIG5vdCcpCisrIyB1c2UgZmFrZSB1bmFtZSBvcHRpb24gdG8gZm9yY2UgdXNlIG9mIGdlbmVyaWMgbGliYworK3VuYW1lX1MgOj0gIlVTRV9MSUJDX01BTExPQyIKKyBPUFRJTUlaQVRJT04/PS1PMgorIERFUEVOREVOQ1lfVEFSR0VUUz1oaXJlZGlzIGxpbmVub2lzZSBsdWEKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JlZGlzL3JlZGlzL3JlZGlzLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yZWRpcy9yZWRpcy9yZWRpcy5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyM2I5OGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yZWRpcy9yZWRpcy9yZWRpcy5jb25mCkBAIC0wLDAgKzEsNTUwIEBACisjIFJlZGlzIGNvbmZpZ3VyYXRpb24gZmlsZSBleGFtcGxlCisKKyMgTm90ZSBvbiB1bml0czogd2hlbiBtZW1vcnkgc2l6ZSBpcyBuZWVkZWQsIGl0IGlzIHBvc3NpYmxlIHRvIHNwZWNpZnkKKyMgaXQgaW4gdGhlIHVzdWFsIGZvcm0gb2YgMWsgNUdCIDRNIGFuZCBzbyBmb3J0aDoKKyMKKyMgMWsgPT4gMTAwMCBieXRlcworIyAxa2IgPT4gMTAyNCBieXRlcworIyAxbSA9PiAxMDAwMDAwIGJ5dGVzCisjIDFtYiA9PiAxMDI0KjEwMjQgYnl0ZXMKKyMgMWcgPT4gMTAwMDAwMDAwMCBieXRlcworIyAxZ2IgPT4gMTAyNCoxMDI0KjEwMjQgYnl0ZXMKKyMKKyMgdW5pdHMgYXJlIGNhc2UgaW5zZW5zaXRpdmUgc28gMUdCIDFHYiAxZ0IgYXJlIGFsbCB0aGUgc2FtZS4KKworIyBCeSBkZWZhdWx0IFJlZGlzIGRvZXMgbm90IHJ1biBhcyBhIGRhZW1vbi4gVXNlICd5ZXMnIGlmIHlvdSBuZWVkIGl0LgorIyBOb3RlIHRoYXQgUmVkaXMgd2lsbCB3cml0ZSBhIHBpZCBmaWxlIGluIC92YXIvcnVuL3JlZGlzLnBpZCB3aGVuIGRhZW1vbml6ZWQuCisjCisjIE9FOiBydW4gYXMgYSBkYWVtb24uCisjCitkYWVtb25pemUgeWVzCisKKyMgV2hlbiBydW5uaW5nIGRhZW1vbml6ZWQsIFJlZGlzIHdyaXRlcyBhIHBpZCBmaWxlIGluIC92YXIvcnVuL3JlZGlzLnBpZCBieQorIyBkZWZhdWx0LiBZb3UgY2FuIHNwZWNpZnkgYSBjdXN0b20gcGlkIGZpbGUgbG9jYXRpb24gaGVyZS4KK3BpZGZpbGUgL3Zhci9ydW4vcmVkaXMucGlkCisKKyMgQWNjZXB0IGNvbm5lY3Rpb25zIG9uIHRoZSBzcGVjaWZpZWQgcG9ydCwgZGVmYXVsdCBpcyA2Mzc5LgorIyBJZiBwb3J0IDAgaXMgc3BlY2lmaWVkIFJlZGlzIHdpbGwgbm90IGxpc3RlbiBvbiBhIFRDUCBzb2NrZXQuCitwb3J0IDYzNzkKKworIyBJZiB5b3Ugd2FudCB5b3UgY2FuIGJpbmQgYSBzaW5nbGUgaW50ZXJmYWNlLCBpZiB0aGUgYmluZCBvcHRpb24gaXMgbm90CisjIHNwZWNpZmllZCBhbGwgdGhlIGludGVyZmFjZXMgd2lsbCBsaXN0ZW4gZm9yIGluY29taW5nIGNvbm5lY3Rpb25zLgorIworIyBiaW5kIDEyNy4wLjAuMQorCisjIFNwZWNpZnkgdGhlIHBhdGggZm9yIHRoZSB1bml4IHNvY2tldCB0aGF0IHdpbGwgYmUgdXNlZCB0byBsaXN0ZW4gZm9yCisjIGluY29taW5nIGNvbm5lY3Rpb25zLiBUaGVyZSBpcyBubyBkZWZhdWx0LCBzbyBSZWRpcyB3aWxsIG5vdCBsaXN0ZW4KKyMgb24gYSB1bml4IHNvY2tldCB3aGVuIG5vdCBzcGVjaWZpZWQuCisjCisjIHVuaXhzb2NrZXQgL3RtcC9yZWRpcy5zb2NrCisjIHVuaXhzb2NrZXRwZXJtIDc1NQorCisjIENsb3NlIHRoZSBjb25uZWN0aW9uIGFmdGVyIGEgY2xpZW50IGlzIGlkbGUgZm9yIE4gc2Vjb25kcyAoMCB0byBkaXNhYmxlKQordGltZW91dCAwCisKKyMgU2V0IHNlcnZlciB2ZXJib3NpdHkgdG8gJ2RlYnVnJworIyBpdCBjYW4gYmUgb25lIG9mOgorIyBkZWJ1ZyAoYSBsb3Qgb2YgaW5mb3JtYXRpb24sIHVzZWZ1bCBmb3IgZGV2ZWxvcG1lbnQvdGVzdGluZykKKyMgdmVyYm9zZSAobWFueSByYXJlbHkgdXNlZnVsIGluZm8sIGJ1dCBub3QgYSBtZXNzIGxpa2UgdGhlIGRlYnVnIGxldmVsKQorIyBub3RpY2UgKG1vZGVyYXRlbHkgdmVyYm9zZSwgd2hhdCB5b3Ugd2FudCBpbiBwcm9kdWN0aW9uIHByb2JhYmx5KQorIyB3YXJuaW5nIChvbmx5IHZlcnkgaW1wb3J0YW50IC8gY3JpdGljYWwgbWVzc2FnZXMgYXJlIGxvZ2dlZCkKK2xvZ2xldmVsIG5vdGljZQorCisjIFNwZWNpZnkgdGhlIGxvZyBmaWxlIG5hbWUuIEFsc28gJ3N0ZG91dCcgY2FuIGJlIHVzZWQgdG8gZm9yY2UKKyMgUmVkaXMgdG8gbG9nIG9uIHRoZSBzdGFuZGFyZCBvdXRwdXQuIE5vdGUgdGhhdCBpZiB5b3UgdXNlIHN0YW5kYXJkCisjIG91dHB1dCBmb3IgbG9nZ2luZyBidXQgZGFlbW9uaXplLCBsb2dzIHdpbGwgYmUgc2VudCB0byAvZGV2L251bGwKK2xvZ2ZpbGUgL3Zhci9sb2cvcmVkaXMubG9nCisKKyMgVG8gZW5hYmxlIGxvZ2dpbmcgdG8gdGhlIHN5c3RlbSBsb2dnZXIsIGp1c3Qgc2V0ICdzeXNsb2ctZW5hYmxlZCcgdG8geWVzLAorIyBhbmQgb3B0aW9uYWxseSB1cGRhdGUgdGhlIG90aGVyIHN5c2xvZyBwYXJhbWV0ZXJzIHRvIHN1aXQgeW91ciBuZWVkcy4KKyMgc3lzbG9nLWVuYWJsZWQgbm8KKworIyBTcGVjaWZ5IHRoZSBzeXNsb2cgaWRlbnRpdHkuCisjIHN5c2xvZy1pZGVudCByZWRpcworCisjIFNwZWNpZnkgdGhlIHN5c2xvZyBmYWNpbGl0eS4gIE11c3QgYmUgVVNFUiBvciBiZXR3ZWVuIExPQ0FMMC1MT0NBTDcuCisjIHN5c2xvZy1mYWNpbGl0eSBsb2NhbDAKKworIyBTZXQgdGhlIG51bWJlciBvZiBkYXRhYmFzZXMuIFRoZSBkZWZhdWx0IGRhdGFiYXNlIGlzIERCIDAsIHlvdSBjYW4gc2VsZWN0CisjIGEgZGlmZmVyZW50IG9uZSBvbiBhIHBlci1jb25uZWN0aW9uIGJhc2lzIHVzaW5nIFNFTEVDVCA8ZGJpZD4gd2hlcmUKKyMgZGJpZCBpcyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kICdkYXRhYmFzZXMnLTEKK2RhdGFiYXNlcyAxNgorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBTTkFQU0hPVFRJTkcgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBTYXZlIHRoZSBEQiBvbiBkaXNrOgorIworIyAgIHNhdmUgPHNlY29uZHM+IDxjaGFuZ2VzPgorIworIyAgIFdpbGwgc2F2ZSB0aGUgREIgaWYgYm90aCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHNlY29uZHMgYW5kIHRoZSBnaXZlbgorIyAgIG51bWJlciBvZiB3cml0ZSBvcGVyYXRpb25zIGFnYWluc3QgdGhlIERCIG9jY3VycmVkLgorIworIyAgIEluIHRoZSBleGFtcGxlIGJlbG93IHRoZSBiZWhhdmlvdXIgd2lsbCBiZSB0byBzYXZlOgorIyAgIGFmdGVyIDkwMCBzZWMgKDE1IG1pbikgaWYgYXQgbGVhc3QgMSBrZXkgY2hhbmdlZAorIyAgIGFmdGVyIDMwMCBzZWMgKDUgbWluKSBpZiBhdCBsZWFzdCAxMCBrZXlzIGNoYW5nZWQKKyMgICBhZnRlciA2MCBzZWMgaWYgYXQgbGVhc3QgMTAwMDAga2V5cyBjaGFuZ2VkCisjCisjICAgTm90ZTogeW91IGNhbiBkaXNhYmxlIHNhdmluZyBhdCBhbGwgY29tbWVudGluZyBhbGwgdGhlICJzYXZlIiBsaW5lcy4KKyMKKyMgICBJdCBpcyBhbHNvIHBvc3NpYmxlIHRvIHJlbW92ZSBhbGwgdGhlIHByZXZpb3VzbHkgY29uZmlndXJlZCBzYXZlCisjICAgcG9pbnRzIGJ5IGFkZGluZyBhIHNhdmUgZGlyZWN0aXZlIHdpdGggYSBzaW5nbGUgZW1wdHkgc3RyaW5nIGFyZ3VtZW50CisjICAgbGlrZSBpbiB0aGUgZm9sbG93aW5nIGV4YW1wbGU6CisjCisjICAgc2F2ZSAiIgorCisjc2F2ZSA5MDAgMQorI3NhdmUgMzAwIDEwCisjc2F2ZSA2MCAxMDAwMAorCisjIE9FOiB0dW5lIGZvciBhIHNtYWxsIGVtYmVkZGVkIHN5c3RlbSB3aXRoIGEgbGltaXRlZCAjIG9mIGtleXMuCitzYXZlIDEyMCAxCitzYXZlIDYwIDEwMAorc2F2ZSAzMCAxMDAwCisKKyMgQnkgZGVmYXVsdCBSZWRpcyB3aWxsIHN0b3AgYWNjZXB0aW5nIHdyaXRlcyBpZiBSREIgc25hcHNob3RzIGFyZSBlbmFibGVkCisjIChhdCBsZWFzdCBvbmUgc2F2ZSBwb2ludCkgYW5kIHRoZSBsYXRlc3QgYmFja2dyb3VuZCBzYXZlIGZhaWxlZC4KKyMgVGhpcyB3aWxsIG1ha2UgdGhlIHVzZXIgYXdhcmUgKGluIGFuIGhhcmQgd2F5KSB0aGF0IGRhdGEgaXMgbm90IHBlcnNpc3RpbmcKKyMgb24gZGlzayBwcm9wZXJseSwgb3RoZXJ3aXNlIGNoYW5jZXMgYXJlIHRoYXQgbm8gb25lIHdpbGwgbm90aWNlIGFuZCBzb21lCisjIGRpc3RhdGVyIHdpbGwgaGFwcGVuLgorIworIyBJZiB0aGUgYmFja2dyb3VuZCBzYXZpbmcgcHJvY2VzcyB3aWxsIHN0YXJ0IHdvcmtpbmcgYWdhaW4gUmVkaXMgd2lsbAorIyBhdXRvbWF0aWNhbGx5IGFsbG93IHdyaXRlcyBhZ2Fpbi4KKyMKKyMgSG93ZXZlciBpZiB5b3UgaGF2ZSBzZXR1cCB5b3VyIHByb3BlciBtb25pdG9yaW5nIG9mIHRoZSBSZWRpcyBzZXJ2ZXIKKyMgYW5kIHBlcnNpc3RlbmNlLCB5b3UgbWF5IHdhbnQgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUgc28gdGhhdCBSZWRpcyB3aWxsCisjIGNvbnRpbnVlIHRvIHdvcmsgYXMgdXN1YWxseSBldmVuIGlmIHRoZXJlIGFyZSBwcm9ibGVtcyB3aXRoIGRpc2ssCisjIHBlcm1pc3Npb25zLCBhbmQgc28gZm9ydGguCitzdG9wLXdyaXRlcy1vbi1iZ3NhdmUtZXJyb3IgeWVzCisKKyMgQ29tcHJlc3Mgc3RyaW5nIG9iamVjdHMgdXNpbmcgTFpGIHdoZW4gZHVtcCAucmRiIGRhdGFiYXNlcz8KKyMgRm9yIGRlZmF1bHQgdGhhdCdzIHNldCB0byAneWVzJyBhcyBpdCdzIGFsbW9zdCBhbHdheXMgYSB3aW4uCisjIElmIHlvdSB3YW50IHRvIHNhdmUgc29tZSBDUFUgaW4gdGhlIHNhdmluZyBjaGlsZCBzZXQgaXQgdG8gJ25vJyBidXQKKyMgdGhlIGRhdGFzZXQgd2lsbCBsaWtlbHkgYmUgYmlnZ2VyIGlmIHlvdSBoYXZlIGNvbXByZXNzaWJsZSB2YWx1ZXMgb3Iga2V5cy4KK3JkYmNvbXByZXNzaW9uIHllcworCisjIFNpbmNlIHZlcmlzb24gNSBvZiBSREIgYSBDUkM2NCBjaGVja3N1bSBpcyBwbGFjZWQgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZS4KKyMgVGhpcyBtYWtlcyB0aGUgZm9ybWF0IG1vcmUgcmVzaXN0YW50IHRvIGNvcnJ1cHRpb24gYnV0IHRoZXJlIGlzIGEgcGVyZm9ybWFuY2UKKyMgaGl0IHRvIHBheSAoYXJvdW5kIDEwJSkgd2hlbiBzYXZpbmcgYW5kIGxvYWRpbmcgUkRCIGZpbGVzLCBzbyB5b3UgY2FuIGRpc2FibGUgaXQKKyMgZm9yIG1heGltdW0gcGVyZm9ybWFuY2VzLgorIworIyBSREIgZmlsZXMgY3JlYXRlZCB3aXRoIGNoZWNrc3VtIGRpc2FibGVkIGhhdmUgYSBjaGVja3N1bSBvZiB6ZXJvIHRoYXQgd2lsbAorIyB0ZWxsIHRoZSBsb2FkaW5nIGNvZGUgdG8gc2tpcCB0aGUgY2hlY2suCityZGJjaGVja3N1bSB5ZXMKKworIyBUaGUgZmlsZW5hbWUgd2hlcmUgdG8gZHVtcCB0aGUgREIKK2RiZmlsZW5hbWUgZHVtcC5yZGIKKworIyBUaGUgd29ya2luZyBkaXJlY3RvcnkuCisjCisjIFRoZSBEQiB3aWxsIGJlIHdyaXR0ZW4gaW5zaWRlIHRoaXMgZGlyZWN0b3J5LCB3aXRoIHRoZSBmaWxlbmFtZSBzcGVjaWZpZWQKKyMgYWJvdmUgdXNpbmcgdGhlICdkYmZpbGVuYW1lJyBjb25maWd1cmF0aW9uIGRpcmVjdGl2ZS4KKyMgCisjIEFsc28gdGhlIEFwcGVuZCBPbmx5IEZpbGUgd2lsbCBiZSBjcmVhdGVkIGluc2lkZSB0aGlzIGRpcmVjdG9yeS4KKyMgCisjIE5vdGUgdGhhdCB5b3UgbXVzdCBzcGVjaWZ5IGEgZGlyZWN0b3J5IGhlcmUsIG5vdCBhIGZpbGUgbmFtZS4KK2RpciAvdmFyL2xpYi9yZWRpcy8KKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIFJFUExJQ0FUSU9OICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjIE1hc3Rlci1TbGF2ZSByZXBsaWNhdGlvbi4gVXNlIHNsYXZlb2YgdG8gbWFrZSBhIFJlZGlzIGluc3RhbmNlIGEgY29weSBvZgorIyBhbm90aGVyIFJlZGlzIHNlcnZlci4gTm90ZSB0aGF0IHRoZSBjb25maWd1cmF0aW9uIGlzIGxvY2FsIHRvIHRoZSBzbGF2ZQorIyBzbyBmb3IgZXhhbXBsZSBpdCBpcyBwb3NzaWJsZSB0byBjb25maWd1cmUgdGhlIHNsYXZlIHRvIHNhdmUgdGhlIERCIHdpdGggYQorIyBkaWZmZXJlbnQgaW50ZXJ2YWwsIG9yIHRvIGxpc3RlbiB0byBhbm90aGVyIHBvcnQsIGFuZCBzbyBvbi4KKyMKKyMgc2xhdmVvZiA8bWFzdGVyaXA+IDxtYXN0ZXJwb3J0PgorCisjIElmIHRoZSBtYXN0ZXIgaXMgcGFzc3dvcmQgcHJvdGVjdGVkICh1c2luZyB0aGUgInJlcXVpcmVwYXNzIiBjb25maWd1cmF0aW9uCisjIGRpcmVjdGl2ZSBiZWxvdykgaXQgaXMgcG9zc2libGUgdG8gdGVsbCB0aGUgc2xhdmUgdG8gYXV0aGVudGljYXRlIGJlZm9yZQorIyBzdGFydGluZyB0aGUgcmVwbGljYXRpb24gc3luY2hyb25pemF0aW9uIHByb2Nlc3MsIG90aGVyd2lzZSB0aGUgbWFzdGVyIHdpbGwKKyMgcmVmdXNlIHRoZSBzbGF2ZSByZXF1ZXN0LgorIworIyBtYXN0ZXJhdXRoIDxtYXN0ZXItcGFzc3dvcmQ+CisKKyMgV2hlbiBhIHNsYXZlIGxvc3QgdGhlIGNvbm5lY3Rpb24gd2l0aCB0aGUgbWFzdGVyLCBvciB3aGVuIHRoZSByZXBsaWNhdGlvbgorIyBpcyBzdGlsbCBpbiBwcm9ncmVzcywgdGhlIHNsYXZlIGNhbiBhY3QgaW4gdHdvIGRpZmZlcmVudCB3YXlzOgorIworIyAxKSBpZiBzbGF2ZS1zZXJ2ZS1zdGFsZS1kYXRhIGlzIHNldCB0byAneWVzJyAodGhlIGRlZmF1bHQpIHRoZSBzbGF2ZSB3aWxsCisjICAgIHN0aWxsIHJlcGx5IHRvIGNsaWVudCByZXF1ZXN0cywgcG9zc2libHkgd2l0aCBvdXQgb2YgZGF0ZSBkYXRhLCBvciB0aGUKKyMgICAgZGF0YSBzZXQgbWF5IGp1c3QgYmUgZW1wdHkgaWYgdGhpcyBpcyB0aGUgZmlyc3Qgc3luY2hyb25pemF0aW9uLgorIworIyAyKSBpZiBzbGF2ZS1zZXJ2ZS1zdGFsZSBkYXRhIGlzIHNldCB0byAnbm8nIHRoZSBzbGF2ZSB3aWxsIHJlcGx5IHdpdGgKKyMgICAgYW4gZXJyb3IgIlNZTkMgd2l0aCBtYXN0ZXIgaW4gcHJvZ3Jlc3MiIHRvIGFsbCB0aGUga2luZCBvZiBjb21tYW5kcworIyAgICBidXQgdG8gSU5GTyBhbmQgU0xBVkVPRi4KKyMKK3NsYXZlLXNlcnZlLXN0YWxlLWRhdGEgeWVzCisKKyMgWW91IGNhbiBjb25maWd1cmUgYSBzbGF2ZSBpbnN0YW5jZSB0byBhY2NlcHQgd3JpdGVzIG9yIG5vdC4gV3JpdGluZyBhZ2FpbnN0CisjIGEgc2xhdmUgaW5zdGFuY2UgbWF5IGJlIHVzZWZ1bCB0byBzdG9yZSBzb21lIGVwaGVtZXJhbCBkYXRhIChiZWNhdXNlIGRhdGEKKyMgd3JpdHRlbiBvbiBhIHNsYXZlIHdpbGwgYmUgZWFzaWx5IGRlbGV0ZWQgYWZ0ZXIgcmVzeW5jIHdpdGggdGhlIG1hc3RlcikgYnV0CisjIG1heSBhbHNvIGNhdXNlIHByb2JsZW1zIGlmIGNsaWVudHMgYXJlIHdyaXRpbmcgdG8gaXQgYmVjYXVzZSBvZiBhCisjIG1pc2NvbmZpZ3VyYXRpb24uCisjCisjIFNpbmNlIFJlZGlzIDIuNiBieSBkZWZhdWx0IHNsYXZlcyBhcmUgcmVhZC1vbmx5LgorIworIyBOb3RlOiByZWFkIG9ubHkgc2xhdmVzIGFyZSBub3QgZGVzaWduZWQgdG8gYmUgZXhwb3NlZCB0byB1bnRydXN0ZWQgY2xpZW50cworIyBvbiB0aGUgaW50ZXJuZXQuIEl0J3MganVzdCBhIHByb3RlY3Rpb24gbGF5ZXIgYWdhaW5zdCBtaXN1c2Ugb2YgdGhlIGluc3RhbmNlLgorIyBTdGlsbCBhIHJlYWQgb25seSBzbGF2ZSBleHBvcnRzIGJ5IGRlZmF1bHQgYWxsIHRoZSBhZG1pbmlzdHJhdGl2ZSBjb21tYW5kcworIyBzdWNoIGFzIENPTkZJRywgREVCVUcsIGFuZCBzbyBmb3J0aC4gVG8gYSBsaW1pdGVkIGV4dGVuZCB5b3UgY2FuIGltcHJvdmUKKyMgc2VjdXJpdHkgb2YgcmVhZCBvbmx5IHNsYXZlcyB1c2luZyAncmVuYW1lLWNvbW1hbmQnIHRvIHNoYWRvdyBhbGwgdGhlCisjIGFkbWluaXN0cmF0aXZlIC8gZGFuZ2Vyb3VzIGNvbW1hbmRzLgorc2xhdmUtcmVhZC1vbmx5IHllcworCisjIFNsYXZlcyBzZW5kIFBJTkdzIHRvIHNlcnZlciBpbiBhIHByZWRlZmluZWQgaW50ZXJ2YWwuIEl0J3MgcG9zc2libGUgdG8gY2hhbmdlCisjIHRoaXMgaW50ZXJ2YWwgd2l0aCB0aGUgcmVwbF9waW5nX3NsYXZlX3BlcmlvZCBvcHRpb24uIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDEwCisjIHNlY29uZHMuCisjCisjIHJlcGwtcGluZy1zbGF2ZS1wZXJpb2QgMTAKKworIyBUaGUgZm9sbG93aW5nIG9wdGlvbiBzZXRzIGEgdGltZW91dCBmb3IgYm90aCBCdWxrIHRyYW5zZmVyIEkvTyB0aW1lb3V0IGFuZAorIyBtYXN0ZXIgZGF0YSBvciBwaW5nIHJlc3BvbnNlIHRpbWVvdXQuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDYwIHNlY29uZHMuCisjCisjIEl0IGlzIGltcG9ydGFudCB0byBtYWtlIHN1cmUgdGhhdCB0aGlzIHZhbHVlIGlzIGdyZWF0ZXIgdGhhbiB0aGUgdmFsdWUKKyMgc3BlY2lmaWVkIGZvciByZXBsLXBpbmctc2xhdmUtcGVyaW9kIG90aGVyd2lzZSBhIHRpbWVvdXQgd2lsbCBiZSBkZXRlY3RlZAorIyBldmVyeSB0aW1lIHRoZXJlIGlzIGxvdyB0cmFmZmljIGJldHdlZW4gdGhlIG1hc3RlciBhbmQgdGhlIHNsYXZlLgorIworIyByZXBsLXRpbWVvdXQgNjAKKworIyBUaGUgc2xhdmUgcHJpb3JpdHkgaXMgYW4gaW50ZWdlciBudW1iZXIgcHVibGlzaGVkIGJ5IFJlZGlzIGluIHRoZSBJTkZPIG91dHB1dC4KKyMgSXQgaXMgdXNlZCBieSBSZWRpcyBTZW50aW5lbCBpbiBvcmRlciB0byBzZWxlY3QgYSBzbGF2ZSB0byBwcm9tb3RlIGludG8gYQorIyBtYXN0ZXIgaWYgdGhlIG1hc3RlciBpcyBubyBsb25nZXIgd29ya2luZyBjb3JyZWN0bHkuCisjCisjIEEgc2xhdmUgd2l0aCBhIGxvdyBwcmlvcml0eSBudW1iZXIgaXMgY29uc2lkZXJlZCBiZXR0ZXIgZm9yIHByb21vdGlvbiwgc28KKyMgZm9yIGluc3RhbmNlIGlmIHRoZXJlIGFyZSB0aHJlZSBzbGF2ZXMgd2l0aCBwcmlvcml0eSAxMCwgMTAwLCAyNSBTZW50aW5lbCB3aWxsCisjIHBpY2sgdGhlIG9uZSB3dGloIHByaW9yaXR5IDEwLCB0aGF0IGlzIHRoZSBsb3dlc3QuCisjCisjIEhvd2V2ZXIgYSBzcGVjaWFsIHByaW9yaXR5IG9mIDAgbWFya3MgdGhlIHNsYXZlIGFzIG5vdCBhYmxlIHRvIHBlcmZvcm0gdGhlCisjIHJvbGUgb2YgbWFzdGVyLCBzbyBhIHNsYXZlIHdpdGggcHJpb3JpdHkgb2YgMCB3aWxsIG5ldmVyIGJlIHNlbGVjdGVkIGJ5CisjIFJlZGlzIFNlbnRpbmVsIGZvciBwcm9tb3Rpb24uCisjCisjIEJ5IGRlZmF1bHQgdGhlIHByaW9yaXR5IGlzIDEwMC4KK3NsYXZlLXByaW9yaXR5IDEwMAorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIFNFQ1VSSVRZICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgUmVxdWlyZSBjbGllbnRzIHRvIGlzc3VlIEFVVEggPFBBU1NXT1JEPiBiZWZvcmUgcHJvY2Vzc2luZyBhbnkgb3RoZXIKKyMgY29tbWFuZHMuICBUaGlzIG1pZ2h0IGJlIHVzZWZ1bCBpbiBlbnZpcm9ubWVudHMgaW4gd2hpY2ggeW91IGRvIG5vdCB0cnVzdAorIyBvdGhlcnMgd2l0aCBhY2Nlc3MgdG8gdGhlIGhvc3QgcnVubmluZyByZWRpcy1zZXJ2ZXIuCisjCisjIFRoaXMgc2hvdWxkIHN0YXkgY29tbWVudGVkIG91dCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBhbmQgYmVjYXVzZSBtb3N0CisjIHBlb3BsZSBkbyBub3QgbmVlZCBhdXRoIChlLmcuIHRoZXkgcnVuIHRoZWlyIG93biBzZXJ2ZXJzKS4KKyMgCisjIFdhcm5pbmc6IHNpbmNlIFJlZGlzIGlzIHByZXR0eSBmYXN0IGFuIG91dHNpZGUgdXNlciBjYW4gdHJ5IHVwIHRvCisjIDE1MGsgcGFzc3dvcmRzIHBlciBzZWNvbmQgYWdhaW5zdCBhIGdvb2QgYm94LiBUaGlzIG1lYW5zIHRoYXQgeW91IHNob3VsZAorIyB1c2UgYSB2ZXJ5IHN0cm9uZyBwYXNzd29yZCBvdGhlcndpc2UgaXQgd2lsbCBiZSB2ZXJ5IGVhc3kgdG8gYnJlYWsuCisjCisjIHJlcXVpcmVwYXNzIGZvb2JhcmVkCisKKyMgQ29tbWFuZCByZW5hbWluZy4KKyMKKyMgSXQgaXMgcG9zc2libGUgdG8gY2hhbmdlIHRoZSBuYW1lIG9mIGRhbmdlcm91cyBjb21tYW5kcyBpbiBhIHNoYXJlZAorIyBlbnZpcm9ubWVudC4gRm9yIGluc3RhbmNlIHRoZSBDT05GSUcgY29tbWFuZCBtYXkgYmUgcmVuYW1lZCBpbnRvIHNvbWV0aGluZworIyBvZiBoYXJkIHRvIGd1ZXNzIHNvIHRoYXQgaXQgd2lsbCBiZSBzdGlsbCBhdmFpbGFibGUgZm9yIGludGVybmFsLXVzZQorIyB0b29scyBidXQgbm90IGF2YWlsYWJsZSBmb3IgZ2VuZXJhbCBjbGllbnRzLgorIworIyBFeGFtcGxlOgorIworIyByZW5hbWUtY29tbWFuZCBDT05GSUcgYjg0MGZjMDJkNTI0MDQ1NDI5OTQxY2MxNWY1OWU0MWNiN2JlNmM1MgorIworIyBJdCBpcyBhbHNvIHBvc3NpYmxlIHRvIGNvbXBsZXRlbHkga2lsbCBhIGNvbW1hbmQgcmVuYW1pbmcgaXQgaW50bworIyBhbiBlbXB0eSBzdHJpbmc6CisjCisjIHJlbmFtZS1jb21tYW5kIENPTkZJRyAiIgorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBMSU1JVFMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgU2V0IHRoZSBtYXggbnVtYmVyIG9mIGNvbm5lY3RlZCBjbGllbnRzIGF0IHRoZSBzYW1lIHRpbWUuIEJ5IGRlZmF1bHQKKyMgdGhpcyBsaW1pdCBpcyBzZXQgdG8gMTAwMDAgY2xpZW50cywgaG93ZXZlciBpZiB0aGUgUmVkaXMgc2VydmVyIGlzIG5vdAorIyBhYmxlIG90IGNvbmZpZ3VyZSB0aGUgcHJvY2VzcyBmaWxlIGxpbWl0IHRvIGFsbG93IGZvciB0aGUgc3BlY2lmaWVkIGxpbWl0CisjIHRoZSBtYXggbnVtYmVyIG9mIGFsbG93ZWQgY2xpZW50cyBpcyBzZXQgdG8gdGhlIGN1cnJlbnQgZmlsZSBsaW1pdAorIyBtaW51cyAzMiAoYXMgUmVkaXMgcmVzZXJ2ZXMgYSBmZXcgZmlsZSBkZXNjcmlwdG9ycyBmb3IgaW50ZXJuYWwgdXNlcykuCisjCisjIE9uY2UgdGhlIGxpbWl0IGlzIHJlYWNoZWQgUmVkaXMgd2lsbCBjbG9zZSBhbGwgdGhlIG5ldyBjb25uZWN0aW9ucyBzZW5kaW5nCisjIGFuIGVycm9yICdtYXggbnVtYmVyIG9mIGNsaWVudHMgcmVhY2hlZCcuCisjCisjIG1heGNsaWVudHMgMTAwMDAKKworIyBEb24ndCB1c2UgbW9yZSBtZW1vcnkgdGhhbiB0aGUgc3BlY2lmaWVkIGFtb3VudCBvZiBieXRlcy4KKyMgV2hlbiB0aGUgbWVtb3J5IGxpbWl0IGlzIHJlYWNoZWQgUmVkaXMgd2lsbCB0cnkgdG8gcmVtb3ZlIGtleXMKKyMgYWNjb3JkaW5nbHkgdG8gdGhlIGV2aWN0aW9uIHBvbGljeSBzZWxlY3RlZCAoc2VlIG1heG1lbW1vcnktcG9saWN5KS4KKyMKKyMgSWYgUmVkaXMgY2FuJ3QgcmVtb3ZlIGtleXMgYWNjb3JkaW5nIHRvIHRoZSBwb2xpY3ksIG9yIGlmIHRoZSBwb2xpY3kgaXMKKyMgc2V0IHRvICdub2V2aWN0aW9uJywgUmVkaXMgd2lsbCBzdGFydCB0byByZXBseSB3aXRoIGVycm9ycyB0byBjb21tYW5kcworIyB0aGF0IHdvdWxkIHVzZSBtb3JlIG1lbW9yeSwgbGlrZSBTRVQsIExQVVNILCBhbmQgc28gb24sIGFuZCB3aWxsIGNvbnRpbnVlCisjIHRvIHJlcGx5IHRvIHJlYWQtb25seSBjb21tYW5kcyBsaWtlIEdFVC4KKyMKKyMgVGhpcyBvcHRpb24gaXMgdXN1YWxseSB1c2VmdWwgd2hlbiB1c2luZyBSZWRpcyBhcyBhbiBMUlUgY2FjaGUsIG9yIHRvIHNldAorIyBhbiBoYXJkIG1lbW9yeSBsaW1pdCBmb3IgYW4gaW5zdGFuY2UgKHVzaW5nIHRoZSAnbm9ldmljdGlvbicgcG9saWN5KS4KKyMKKyMgV0FSTklORzogSWYgeW91IGhhdmUgc2xhdmVzIGF0dGFjaGVkIHRvIGFuIGluc3RhbmNlIHdpdGggbWF4bWVtb3J5IG9uLAorIyB0aGUgc2l6ZSBvZiB0aGUgb3V0cHV0IGJ1ZmZlcnMgbmVlZGVkIHRvIGZlZWQgdGhlIHNsYXZlcyBhcmUgc3VidHJhY3RlZAorIyBmcm9tIHRoZSB1c2VkIG1lbW9yeSBjb3VudCwgc28gdGhhdCBuZXR3b3JrIHByb2JsZW1zIC8gcmVzeW5jcyB3aWxsCisjIG5vdCB0cmlnZ2VyIGEgbG9vcCB3aGVyZSBrZXlzIGFyZSBldmljdGVkLCBhbmQgaW4gdHVybiB0aGUgb3V0cHV0CisjIGJ1ZmZlciBvZiBzbGF2ZXMgaXMgZnVsbCB3aXRoIERFTHMgb2Yga2V5cyBldmljdGVkIHRyaWdnZXJpbmcgdGhlIGRlbGV0aW9uCisjIG9mIG1vcmUga2V5cywgYW5kIHNvIGZvcnRoIHVudGlsIHRoZSBkYXRhYmFzZSBpcyBjb21wbGV0ZWx5IGVtcHRpZWQuCisjCisjIEluIHNob3J0Li4uIGlmIHlvdSBoYXZlIHNsYXZlcyBhdHRhY2hlZCBpdCBpcyBzdWdnZXN0ZWQgdGhhdCB5b3Ugc2V0IGEgbG93ZXIKKyMgbGltaXQgZm9yIG1heG1lbW9yeSBzbyB0aGF0IHRoZXJlIGlzIHNvbWUgZnJlZSBSQU0gb24gdGhlIHN5c3RlbSBmb3Igc2xhdmUKKyMgb3V0cHV0IGJ1ZmZlcnMgKGJ1dCB0aGlzIGlzIG5vdCBuZWVkZWQgaWYgdGhlIHBvbGljeSBpcyAnbm9ldmljdGlvbicpLgorIworIyBtYXhtZW1vcnkgPGJ5dGVzPgorCisjIE1BWE1FTU9SWSBQT0xJQ1k6IGhvdyBSZWRpcyB3aWxsIHNlbGVjdCB3aGF0IHRvIHJlbW92ZSB3aGVuIG1heG1lbW9yeQorIyBpcyByZWFjaGVkPyBZb3UgY2FuIHNlbGVjdCBhbW9uZyBmaXZlIGJlaGF2aW9yOgorIyAKKyMgdm9sYXRpbGUtbHJ1IC0+IHJlbW92ZSB0aGUga2V5IHdpdGggYW4gZXhwaXJlIHNldCB1c2luZyBhbiBMUlUgYWxnb3JpdGhtCisjIGFsbGtleXMtbHJ1IC0+IHJlbW92ZSBhbnkga2V5IGFjY29yZGluZ2x5IHRvIHRoZSBMUlUgYWxnb3JpdGhtCisjIHZvbGF0aWxlLXJhbmRvbSAtPiByZW1vdmUgYSByYW5kb20ga2V5IHdpdGggYW4gZXhwaXJlIHNldAorIyBhbGxrZXlzLXJhbmRvbSAtPiByZW1vdmUgYSByYW5kb20ga2V5LCBhbnkga2V5CisjIHZvbGF0aWxlLXR0bCAtPiByZW1vdmUgdGhlIGtleSB3aXRoIHRoZSBuZWFyZXN0IGV4cGlyZSB0aW1lIChtaW5vciBUVEwpCisjIG5vZXZpY3Rpb24gLT4gZG9uJ3QgZXhwaXJlIGF0IGFsbCwganVzdCByZXR1cm4gYW4gZXJyb3Igb24gd3JpdGUgb3BlcmF0aW9ucworIyAKKyMgTm90ZTogd2l0aCBhbGwgdGhlIGtpbmQgb2YgcG9saWNpZXMsIFJlZGlzIHdpbGwgcmV0dXJuIGFuIGVycm9yIG9uIHdyaXRlCisjICAgICAgIG9wZXJhdGlvbnMsIHdoZW4gdGhlcmUgYXJlIG5vdCBzdWl0YWJsZSBrZXlzIGZvciBldmljdGlvbi4KKyMKKyMgICAgICAgQXQgdGhlIGRhdGUgb2Ygd3JpdGluZyB0aGlzIGNvbW1hbmRzIGFyZTogc2V0IHNldG54IHNldGV4IGFwcGVuZAorIyAgICAgICBpbmNyIGRlY3IgcnB1c2ggbHB1c2ggcnB1c2h4IGxwdXNoeCBsaW5zZXJ0IGxzZXQgcnBvcGxwdXNoIHNhZGQKKyMgICAgICAgc2ludGVyIHNpbnRlcnN0b3JlIHN1bmlvbiBzdW5pb25zdG9yZSBzZGlmZiBzZGlmZnN0b3JlIHphZGQgemluY3JieQorIyAgICAgICB6dW5pb25zdG9yZSB6aW50ZXJzdG9yZSBoc2V0IGhzZXRueCBobXNldCBoaW5jcmJ5IGluY3JieSBkZWNyYnkKKyMgICAgICAgZ2V0c2V0IG1zZXQgbXNldG54IGV4ZWMgc29ydAorIworIyBUaGUgZGVmYXVsdCBpczoKKyMKKyMgbWF4bWVtb3J5LXBvbGljeSB2b2xhdGlsZS1scnUKKworIyBMUlUgYW5kIG1pbmltYWwgVFRMIGFsZ29yaXRobXMgYXJlIG5vdCBwcmVjaXNlIGFsZ29yaXRobXMgYnV0IGFwcHJveGltYXRlZAorIyBhbGdvcml0aG1zIChpbiBvcmRlciB0byBzYXZlIG1lbW9yeSksIHNvIHlvdSBjYW4gc2VsZWN0IGFzIHdlbGwgdGhlIHNhbXBsZQorIyBzaXplIHRvIGNoZWNrLiBGb3IgaW5zdGFuY2UgZm9yIGRlZmF1bHQgUmVkaXMgd2lsbCBjaGVjayB0aHJlZSBrZXlzIGFuZAorIyBwaWNrIHRoZSBvbmUgdGhhdCB3YXMgdXNlZCBsZXNzIHJlY2VudGx5LCB5b3UgY2FuIGNoYW5nZSB0aGUgc2FtcGxlIHNpemUKKyMgdXNpbmcgdGhlIGZvbGxvd2luZyBjb25maWd1cmF0aW9uIGRpcmVjdGl2ZS4KKyMKKyMgbWF4bWVtb3J5LXNhbXBsZXMgMworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgQVBQRU5EIE9OTFkgTU9ERSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgQnkgZGVmYXVsdCBSZWRpcyBhc3luY2hyb25vdXNseSBkdW1wcyB0aGUgZGF0YXNldCBvbiBkaXNrLiBUaGlzIG1vZGUgaXMKKyMgZ29vZCBlbm91Z2ggaW4gbWFueSBhcHBsaWNhdGlvbnMsIGJ1dCBhbiBpc3N1ZSB3aXRoIHRoZSBSZWRpcyBwcm9jZXNzIG9yCisjIGEgcG93ZXIgb3V0YWdlIG1heSByZXN1bHQgaW50byBhIGZldyBtaW51dGVzIG9mIHdyaXRlcyBsb3N0IChkZXBlbmRpbmcgb24KKyMgdGhlIGNvbmZpZ3VyZWQgc2F2ZSBwb2ludHMpLgorIworIyBUaGUgQXBwZW5kIE9ubHkgRmlsZSBpcyBhbiBhbHRlcm5hdGl2ZSBwZXJzaXN0ZW5jZSBtb2RlIHRoYXQgcHJvdmlkZXMKKyMgbXVjaCBiZXR0ZXIgZHVyYWJpbGl0eS4gRm9yIGluc3RhbmNlIHVzaW5nIHRoZSBkZWZhdWx0IGRhdGEgZnN5bmMgcG9saWN5CisjIChzZWUgbGF0ZXIgaW4gdGhlIGNvbmZpZyBmaWxlKSBSZWRpcyBjYW4gbG9zZSBqdXN0IG9uZSBzZWNvbmQgb2Ygd3JpdGVzIGluIGEKKyMgZHJhbWF0aWMgZXZlbnQgbGlrZSBhIHNlcnZlciBwb3dlciBvdXRhZ2UsIG9yIGEgc2luZ2xlIHdyaXRlIGlmIHNvbWV0aGluZworIyB3cm9uZyB3aXRoIHRoZSBSZWRpcyBwcm9jZXNzIGl0c2VsZiBoYXBwZW5zLCBidXQgdGhlIG9wZXJhdGluZyBzeXN0ZW0gaXMKKyMgc3RpbGwgcnVubmluZyBjb3JyZWN0bHkuCisjCisjIEFPRiBhbmQgUkRCIHBlcnNpc3RlbmNlIGNhbiBiZSBlbmFibGVkIGF0IHRoZSBzYW1lIHRpbWUgd2l0aG91dCBwcm9ibGVtcy4KKyMgSWYgdGhlIEFPRiBpcyBlbmFibGVkIG9uIHN0YXJ0dXAgUmVkaXMgd2lsbCBsb2FkIHRoZSBBT0YsIHRoYXQgaXMgdGhlIGZpbGUKKyMgd2l0aCB0aGUgYmV0dGVyIGR1cmFiaWxpdHkgZ3VhcmFudGVlcy4KKyMKKyMgUGxlYXNlIGNoZWNrIGh0dHA6Ly9yZWRpcy5pby90b3BpY3MvcGVyc2lzdGVuY2UgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisKKyMKKyMgT0U6IGNoYW5nZWQgZGVmYXVsdCB0byBlbmFibGUgdGhpcworYXBwZW5kb25seSB5ZXMKKworIyBUaGUgbmFtZSBvZiB0aGUgYXBwZW5kIG9ubHkgZmlsZSAoZGVmYXVsdDogImFwcGVuZG9ubHkuYW9mIikKKyMgYXBwZW5kZmlsZW5hbWUgYXBwZW5kb25seS5hb2YKKworIyBUaGUgZnN5bmMoKSBjYWxsIHRlbGxzIHRoZSBPcGVyYXRpbmcgU3lzdGVtIHRvIGFjdHVhbGx5IHdyaXRlIGRhdGEgb24gZGlzaworIyBpbnN0ZWFkIHRvIHdhaXQgZm9yIG1vcmUgZGF0YSBpbiB0aGUgb3V0cHV0IGJ1ZmZlci4gU29tZSBPUyB3aWxsIHJlYWxseSBmbHVzaCAKKyMgZGF0YSBvbiBkaXNrLCBzb21lIG90aGVyIE9TIHdpbGwganVzdCB0cnkgdG8gZG8gaXQgQVNBUC4KKyMKKyMgUmVkaXMgc3VwcG9ydHMgdGhyZWUgZGlmZmVyZW50IG1vZGVzOgorIworIyBubzogZG9uJ3QgZnN5bmMsIGp1c3QgbGV0IHRoZSBPUyBmbHVzaCB0aGUgZGF0YSB3aGVuIGl0IHdhbnRzLiBGYXN0ZXIuCisjIGFsd2F5czogZnN5bmMgYWZ0ZXIgZXZlcnkgd3JpdGUgdG8gdGhlIGFwcGVuZCBvbmx5IGxvZyAuIFNsb3csIFNhZmVzdC4KKyMgZXZlcnlzZWM6IGZzeW5jIG9ubHkgb25lIHRpbWUgZXZlcnkgc2Vjb25kLiBDb21wcm9taXNlLgorIworIyBUaGUgZGVmYXVsdCBpcyAiZXZlcnlzZWMiIHRoYXQncyB1c3VhbGx5IHRoZSByaWdodCBjb21wcm9taXNlIGJldHdlZW4KKyMgc3BlZWQgYW5kIGRhdGEgc2FmZXR5LiBJdCdzIHVwIHRvIHlvdSB0byB1bmRlcnN0YW5kIGlmIHlvdSBjYW4gcmVsYXggdGhpcyB0bworIyAibm8iIHRoYXQgd2lsbCBsZXQgdGhlIG9wZXJhdGluZyBzeXN0ZW0gZmx1c2ggdGhlIG91dHB1dCBidWZmZXIgd2hlbgorIyBpdCB3YW50cywgZm9yIGJldHRlciBwZXJmb3JtYW5jZXMgKGJ1dCBpZiB5b3UgY2FuIGxpdmUgd2l0aCB0aGUgaWRlYSBvZgorIyBzb21lIGRhdGEgbG9zcyBjb25zaWRlciB0aGUgZGVmYXVsdCBwZXJzaXN0ZW5jZSBtb2RlIHRoYXQncyBzbmFwc2hvdHRpbmcpLAorIyBvciBvbiB0aGUgY29udHJhcnksIHVzZSAiYWx3YXlzIiB0aGF0J3MgdmVyeSBzbG93IGJ1dCBhIGJpdCBzYWZlciB0aGFuCisjIGV2ZXJ5c2VjLgorIworIyBNb3JlIGRldGFpbHMgcGxlYXNlIGNoZWNrIHRoZSBmb2xsb3dpbmcgYXJ0aWNsZToKKyMgaHR0cDovL2FudGlyZXouY29tL3Bvc3QvcmVkaXMtcGVyc2lzdGVuY2UtZGVteXN0aWZpZWQuaHRtbAorIworIyBJZiB1bnN1cmUsIHVzZSAiZXZlcnlzZWMiLgorCisjIGFwcGVuZGZzeW5jIGFsd2F5cworYXBwZW5kZnN5bmMgZXZlcnlzZWMKKyMgYXBwZW5kZnN5bmMgbm8KKworIyBXaGVuIHRoZSBBT0YgZnN5bmMgcG9saWN5IGlzIHNldCB0byBhbHdheXMgb3IgZXZlcnlzZWMsIGFuZCBhIGJhY2tncm91bmQKKyMgc2F2aW5nIHByb2Nlc3MgKGEgYmFja2dyb3VuZCBzYXZlIG9yIEFPRiBsb2cgYmFja2dyb3VuZCByZXdyaXRpbmcpIGlzCisjIHBlcmZvcm1pbmcgYSBsb3Qgb2YgSS9PIGFnYWluc3QgdGhlIGRpc2ssIGluIHNvbWUgTGludXggY29uZmlndXJhdGlvbnMKKyMgUmVkaXMgbWF5IGJsb2NrIHRvbyBsb25nIG9uIHRoZSBmc3luYygpIGNhbGwuIE5vdGUgdGhhdCB0aGVyZSBpcyBubyBmaXggZm9yCisjIHRoaXMgY3VycmVudGx5LCBhcyBldmVuIHBlcmZvcm1pbmcgZnN5bmMgaW4gYSBkaWZmZXJlbnQgdGhyZWFkIHdpbGwgYmxvY2sKKyMgb3VyIHN5bmNocm9ub3VzIHdyaXRlKDIpIGNhbGwuCisjCisjIEluIG9yZGVyIHRvIG1pdGlnYXRlIHRoaXMgcHJvYmxlbSBpdCdzIHBvc3NpYmxlIHRvIHVzZSB0aGUgZm9sbG93aW5nIG9wdGlvbgorIyB0aGF0IHdpbGwgcHJldmVudCBmc3luYygpIGZyb20gYmVpbmcgY2FsbGVkIGluIHRoZSBtYWluIHByb2Nlc3Mgd2hpbGUgYQorIyBCR1NBVkUgb3IgQkdSRVdSSVRFQU9GIGlzIGluIHByb2dyZXNzLgorIworIyBUaGlzIG1lYW5zIHRoYXQgd2hpbGUgYW5vdGhlciBjaGlsZCBpcyBzYXZpbmcgdGhlIGR1cmFiaWxpdHkgb2YgUmVkaXMgaXMKKyMgdGhlIHNhbWUgYXMgImFwcGVuZGZzeW5jIG5vbmUiLCB0aGF0IGluIHByYWN0aWNhbCB0ZXJtcyBtZWFucyB0aGF0IGl0IGlzCisjIHBvc3NpYmxlIHRvIGxvc3QgdXAgdG8gMzAgc2Vjb25kcyBvZiBsb2cgaW4gdGhlIHdvcnN0IHNjZW5hcmlvICh3aXRoIHRoZQorIyBkZWZhdWx0IExpbnV4IHNldHRpbmdzKS4KKyMgCisjIElmIHlvdSBoYXZlIGxhdGVuY3kgcHJvYmxlbXMgdHVybiB0aGlzIHRvICJ5ZXMiLiBPdGhlcndpc2UgbGVhdmUgaXQgYXMKKyMgIm5vIiB0aGF0IGlzIHRoZSBzYWZlc3QgcGljayBmcm9tIHRoZSBwb2ludCBvZiB2aWV3IG9mIGR1cmFiaWxpdHkuCituby1hcHBlbmRmc3luYy1vbi1yZXdyaXRlIG5vCisKKyMgQXV0b21hdGljIHJld3JpdGUgb2YgdGhlIGFwcGVuZCBvbmx5IGZpbGUuCisjIFJlZGlzIGlzIGFibGUgdG8gYXV0b21hdGljYWxseSByZXdyaXRlIHRoZSBsb2cgZmlsZSBpbXBsaWNpdGx5IGNhbGxpbmcKKyMgQkdSRVdSSVRFQU9GIHdoZW4gdGhlIEFPRiBsb2cgc2l6ZSB3aWxsIGdyb3d0aCBieSB0aGUgc3BlY2lmaWVkIHBlcmNlbnRhZ2UuCisjIAorIyBUaGlzIGlzIGhvdyBpdCB3b3JrczogUmVkaXMgcmVtZW1iZXJzIHRoZSBzaXplIG9mIHRoZSBBT0YgZmlsZSBhZnRlciB0aGUKKyMgbGF0ZXN0IHJld3JpdGUgKG9yIGlmIG5vIHJld3JpdGUgaGFwcGVuZWQgc2luY2UgdGhlIHJlc3RhcnQsIHRoZSBzaXplIG9mCisjIHRoZSBBT0YgYXQgc3RhcnR1cCBpcyB1c2VkKS4KKyMKKyMgVGhpcyBiYXNlIHNpemUgaXMgY29tcGFyZWQgdG8gdGhlIGN1cnJlbnQgc2l6ZS4gSWYgdGhlIGN1cnJlbnQgc2l6ZSBpcworIyBiaWdnZXIgdGhhbiB0aGUgc3BlY2lmaWVkIHBlcmNlbnRhZ2UsIHRoZSByZXdyaXRlIGlzIHRyaWdnZXJlZC4gQWxzbworIyB5b3UgbmVlZCB0byBzcGVjaWZ5IGEgbWluaW1hbCBzaXplIGZvciB0aGUgQU9GIGZpbGUgdG8gYmUgcmV3cml0dGVuLCB0aGlzCisjIGlzIHVzZWZ1bCB0byBhdm9pZCByZXdyaXRpbmcgdGhlIEFPRiBmaWxlIGV2ZW4gaWYgdGhlIHBlcmNlbnRhZ2UgaW5jcmVhc2UKKyMgaXMgcmVhY2hlZCBidXQgaXQgaXMgc3RpbGwgcHJldHR5IHNtYWxsLgorIworIyBTcGVjaWZ5IGEgcGVyY2VudGFnZSBvZiB6ZXJvIGluIG9yZGVyIHRvIGRpc2FibGUgdGhlIGF1dG9tYXRpYyBBT0YKKyMgcmV3cml0ZSBmZWF0dXJlLgorCithdXRvLWFvZi1yZXdyaXRlLXBlcmNlbnRhZ2UgMTAwCithdXRvLWFvZi1yZXdyaXRlLW1pbi1zaXplIDY0bWIKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgTFVBIFNDUklQVElORyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjIE1heCBleGVjdXRpb24gdGltZSBvZiBhIEx1YSBzY3JpcHQgaW4gbWlsbGlzZWNvbmRzLgorIworIyBJZiB0aGUgbWF4aW11bSBleGVjdXRpb24gdGltZSBpcyByZWFjaGVkIFJlZGlzIHdpbGwgbG9nIHRoYXQgYSBzY3JpcHQgaXMKKyMgc3RpbGwgaW4gZXhlY3V0aW9uIGFmdGVyIHRoZSBtYXhpbXVtIGFsbG93ZWQgdGltZSBhbmQgd2lsbCBzdGFydCB0bworIyByZXBseSB0byBxdWVyaWVzIHdpdGggYW4gZXJyb3IuCisjCisjIFdoZW4gYSBsb25nIHJ1bm5pbmcgc2NyaXB0IGV4Y2VlZCB0aGUgbWF4aW11bSBleGVjdXRpb24gdGltZSBvbmx5IHRoZQorIyBTQ1JJUFQgS0lMTCBhbmQgU0hVVERPV04gTk9TQVZFIGNvbW1hbmRzIGFyZSBhdmFpbGFibGUuIFRoZSBmaXJzdCBjYW4gYmUKKyMgdXNlZCB0byBzdG9wIGEgc2NyaXB0IHRoYXQgZGlkIG5vdCB5ZXQgY2FsbGVkIHdyaXRlIGNvbW1hbmRzLiBUaGUgc2Vjb25kCisjIGlzIHRoZSBvbmx5IHdheSB0byBzaHV0IGRvd24gdGhlIHNlcnZlciBpbiB0aGUgY2FzZSBhIHdyaXRlIGNvbW1hbmRzIHdhcworIyBhbHJlYWR5IGlzc3VlIGJ5IHRoZSBzY3JpcHQgYnV0IHRoZSB1c2VyIGRvbid0IHdhbnQgdG8gd2FpdCBmb3IgdGhlIG5hdHVyYWwKKyMgdGVybWluYXRpb24gb2YgdGhlIHNjcmlwdC4KKyMKKyMgU2V0IGl0IHRvIDAgb3IgYSBuZWdhdGl2ZSB2YWx1ZSBmb3IgdW5saW1pdGVkIGV4ZWN1dGlvbiB3aXRob3V0IHdhcm5pbmdzLgorbHVhLXRpbWUtbGltaXQgNTAwMAorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIFNMT1cgTE9HICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgVGhlIFJlZGlzIFNsb3cgTG9nIGlzIGEgc3lzdGVtIHRvIGxvZyBxdWVyaWVzIHRoYXQgZXhjZWVkZWQgYSBzcGVjaWZpZWQKKyMgZXhlY3V0aW9uIHRpbWUuIFRoZSBleGVjdXRpb24gdGltZSBkb2VzIG5vdCBpbmNsdWRlIHRoZSBJL08gb3BlcmF0aW9ucworIyBsaWtlIHRhbGtpbmcgd2l0aCB0aGUgY2xpZW50LCBzZW5kaW5nIHRoZSByZXBseSBhbmQgc28gZm9ydGgsCisjIGJ1dCBqdXN0IHRoZSB0aW1lIG5lZWRlZCB0byBhY3R1YWxseSBleGVjdXRlIHRoZSBjb21tYW5kICh0aGlzIGlzIHRoZSBvbmx5CisjIHN0YWdlIG9mIGNvbW1hbmQgZXhlY3V0aW9uIHdoZXJlIHRoZSB0aHJlYWQgaXMgYmxvY2tlZCBhbmQgY2FuIG5vdCBzZXJ2ZQorIyBvdGhlciByZXF1ZXN0cyBpbiB0aGUgbWVhbnRpbWUpLgorIyAKKyMgWW91IGNhbiBjb25maWd1cmUgdGhlIHNsb3cgbG9nIHdpdGggdHdvIHBhcmFtZXRlcnM6IG9uZSB0ZWxscyBSZWRpcworIyB3aGF0IGlzIHRoZSBleGVjdXRpb24gdGltZSwgaW4gbWljcm9zZWNvbmRzLCB0byBleGNlZWQgaW4gb3JkZXIgZm9yIHRoZQorIyBjb21tYW5kIHRvIGdldCBsb2dnZWQsIGFuZCB0aGUgb3RoZXIgcGFyYW1ldGVyIGlzIHRoZSBsZW5ndGggb2YgdGhlCisjIHNsb3cgbG9nLiBXaGVuIGEgbmV3IGNvbW1hbmQgaXMgbG9nZ2VkIHRoZSBvbGRlc3Qgb25lIGlzIHJlbW92ZWQgZnJvbSB0aGUKKyMgcXVldWUgb2YgbG9nZ2VkIGNvbW1hbmRzLgorCisjIFRoZSBmb2xsb3dpbmcgdGltZSBpcyBleHByZXNzZWQgaW4gbWljcm9zZWNvbmRzLCBzbyAxMDAwMDAwIGlzIGVxdWl2YWxlbnQKKyMgdG8gb25lIHNlY29uZC4gTm90ZSB0aGF0IGEgbmVnYXRpdmUgbnVtYmVyIGRpc2FibGVzIHRoZSBzbG93IGxvZywgd2hpbGUKKyMgYSB2YWx1ZSBvZiB6ZXJvIGZvcmNlcyB0aGUgbG9nZ2luZyBvZiBldmVyeSBjb21tYW5kLgorc2xvd2xvZy1sb2ctc2xvd2VyLXRoYW4gMTAwMDAKKworIyBUaGVyZSBpcyBubyBsaW1pdCB0byB0aGlzIGxlbmd0aC4gSnVzdCBiZSBhd2FyZSB0aGF0IGl0IHdpbGwgY29uc3VtZSBtZW1vcnkuCisjIFlvdSBjYW4gcmVjbGFpbSBtZW1vcnkgdXNlZCBieSB0aGUgc2xvdyBsb2cgd2l0aCBTTE9XTE9HIFJFU0VULgorc2xvd2xvZy1tYXgtbGVuIDEyOAorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIEFEVkFOQ0VEIENPTkZJRyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgSGFzaGVzIGFyZSBlbmNvZGVkIHVzaW5nIGEgbWVtb3J5IGVmZmljaWVudCBkYXRhIHN0cnVjdHVyZSB3aGVuIHRoZXkgaGF2ZSBhCisjIHNtYWxsIG51bWJlciBvZiBlbnRyaWVzLCBhbmQgdGhlIGJpZ2dlc3QgZW50cnkgZG9lcyBub3QgZXhjZWVkIGEgZ2l2ZW4KKyMgdGhyZXNob2xkLiBUaGVzZSB0aHJlc2hvbGRzIGNhbiBiZSBjb25maWd1cmVkIHVzaW5nIHRoZSBmb2xsb3dpbmcgZGlyZWN0aXZlcy4KK2hhc2gtbWF4LXppcGxpc3QtZW50cmllcyA1MTIKK2hhc2gtbWF4LXppcGxpc3QtdmFsdWUgNjQKKworIyBTaW1pbGFybHkgdG8gaGFzaGVzLCBzbWFsbCBsaXN0cyBhcmUgYWxzbyBlbmNvZGVkIGluIGEgc3BlY2lhbCB3YXkgaW4gb3JkZXIKKyMgdG8gc2F2ZSBhIGxvdCBvZiBzcGFjZS4gVGhlIHNwZWNpYWwgcmVwcmVzZW50YXRpb24gaXMgb25seSB1c2VkIHdoZW4KKyMgeW91IGFyZSB1bmRlciB0aGUgZm9sbG93aW5nIGxpbWl0czoKK2xpc3QtbWF4LXppcGxpc3QtZW50cmllcyA1MTIKK2xpc3QtbWF4LXppcGxpc3QtdmFsdWUgNjQKKworIyBTZXRzIGhhdmUgYSBzcGVjaWFsIGVuY29kaW5nIGluIGp1c3Qgb25lIGNhc2U6IHdoZW4gYSBzZXQgaXMgY29tcG9zZWQKKyMgb2YganVzdCBzdHJpbmdzIHRoYXQgaGFwcGVucyB0byBiZSBpbnRlZ2VycyBpbiByYWRpeCAxMCBpbiB0aGUgcmFuZ2UKKyMgb2YgNjQgYml0IHNpZ25lZCBpbnRlZ2Vycy4KKyMgVGhlIGZvbGxvd2luZyBjb25maWd1cmF0aW9uIHNldHRpbmcgc2V0cyB0aGUgbGltaXQgaW4gdGhlIHNpemUgb2YgdGhlCisjIHNldCBpbiBvcmRlciB0byB1c2UgdGhpcyBzcGVjaWFsIG1lbW9yeSBzYXZpbmcgZW5jb2RpbmcuCitzZXQtbWF4LWludHNldC1lbnRyaWVzIDUxMgorCisjIFNpbWlsYXJseSB0byBoYXNoZXMgYW5kIGxpc3RzLCBzb3J0ZWQgc2V0cyBhcmUgYWxzbyBzcGVjaWFsbHkgZW5jb2RlZCBpbgorIyBvcmRlciB0byBzYXZlIGEgbG90IG9mIHNwYWNlLiBUaGlzIGVuY29kaW5nIGlzIG9ubHkgdXNlZCB3aGVuIHRoZSBsZW5ndGggYW5kCisjIGVsZW1lbnRzIG9mIGEgc29ydGVkIHNldCBhcmUgYmVsb3cgdGhlIGZvbGxvd2luZyBsaW1pdHM6Cit6c2V0LW1heC16aXBsaXN0LWVudHJpZXMgMTI4Cit6c2V0LW1heC16aXBsaXN0LXZhbHVlIDY0CisKKyMgQWN0aXZlIHJlaGFzaGluZyB1c2VzIDEgbWlsbGlzZWNvbmQgZXZlcnkgMTAwIG1pbGxpc2Vjb25kcyBvZiBDUFUgdGltZSBpbgorIyBvcmRlciB0byBoZWxwIHJlaGFzaGluZyB0aGUgbWFpbiBSZWRpcyBoYXNoIHRhYmxlICh0aGUgb25lIG1hcHBpbmcgdG9wLWxldmVsCisjIGtleXMgdG8gdmFsdWVzKS4gVGhlIGhhc2ggdGFibGUgaW1wbGVtZW50YXRpb24gUmVkaXMgdXNlcyAoc2VlIGRpY3QuYykKKyMgcGVyZm9ybXMgYSBsYXp5IHJlaGFzaGluZzogdGhlIG1vcmUgb3BlcmF0aW9uIHlvdSBydW4gaW50byBhbiBoYXNoIHRhYmxlCisjIHRoYXQgaXMgcmVoYXNoaW5nLCB0aGUgbW9yZSByZWhhc2hpbmcgInN0ZXBzIiBhcmUgcGVyZm9ybWVkLCBzbyBpZiB0aGUKKyMgc2VydmVyIGlzIGlkbGUgdGhlIHJlaGFzaGluZyBpcyBuZXZlciBjb21wbGV0ZSBhbmQgc29tZSBtb3JlIG1lbW9yeSBpcyB1c2VkCisjIGJ5IHRoZSBoYXNoIHRhYmxlLgorIyAKKyMgVGhlIGRlZmF1bHQgaXMgdG8gdXNlIHRoaXMgbWlsbGlzZWNvbmQgMTAgdGltZXMgZXZlcnkgc2Vjb25kIGluIG9yZGVyIHRvCisjIGFjdGl2ZSByZWhhc2hpbmcgdGhlIG1haW4gZGljdGlvbmFyaWVzLCBmcmVlaW5nIG1lbW9yeSB3aGVuIHBvc3NpYmxlLgorIworIyBJZiB1bnN1cmU6CisjIHVzZSAiYWN0aXZlcmVoYXNoaW5nIG5vIiBpZiB5b3UgaGF2ZSBoYXJkIGxhdGVuY3kgcmVxdWlyZW1lbnRzIGFuZCBpdCBpcworIyBub3QgYSBnb29kIHRoaW5nIGluIHlvdXIgZW52aXJvbm1lbnQgdGhhdCBSZWRpcyBjYW4gcmVwbHkgZm9ybSB0aW1lIHRvIHRpbWUKKyMgdG8gcXVlcmllcyB3aXRoIDIgbWlsbGlzZWNvbmRzIGRlbGF5LgorIworIyB1c2UgImFjdGl2ZXJlaGFzaGluZyB5ZXMiIGlmIHlvdSBkb24ndCBoYXZlIHN1Y2ggaGFyZCByZXF1aXJlbWVudHMgYnV0CisjIHdhbnQgdG8gZnJlZSBtZW1vcnkgYXNhcCB3aGVuIHBvc3NpYmxlLgorYWN0aXZlcmVoYXNoaW5nIHllcworCisjIFRoZSBjbGllbnQgb3V0cHV0IGJ1ZmZlciBsaW1pdHMgY2FuIGJlIHVzZWQgdG8gZm9yY2UgZGlzY29ubmVjdGlvbiBvZiBjbGllbnRzCisjIHRoYXQgYXJlIG5vdCByZWFkaW5nIGRhdGEgZnJvbSB0aGUgc2VydmVyIGZhc3QgZW5vdWdoIGZvciBzb21lIHJlYXNvbiAoYQorIyBjb21tb24gcmVhc29uIGlzIHRoYXQgYSBQdWIvU3ViIGNsaWVudCBjYW4ndCBjb25zdW1lIG1lc3NhZ2VzIGFzIGZhc3QgYXMgdGhlCisjIHB1Ymxpc2hlciBjYW4gcHJvZHVjZSB0aGVtKS4KKyMKKyMgVGhlIGxpbWl0IGNhbiBiZSBzZXQgZGlmZmVyZW50bHkgZm9yIHRoZSB0aHJlZSBkaWZmZXJlbnQgY2xhc3NlcyBvZiBjbGllbnRzOgorIworIyBub3JtYWwgLT4gbm9ybWFsIGNsaWVudHMKKyMgc2xhdmUgIC0+IHNsYXZlIGNsaWVudHMgYW5kIE1PTklUT1IgY2xpZW50cworIyBwdWJzdWIgLT4gY2xpZW50cyBzdWJjcmliZWQgdG8gYXQgbGVhc3Qgb25lIHB1YnN1YiBjaGFubmVsIG9yIHBhdHRlcm4KKyMKKyMgVGhlIHN5bnRheCBvZiBldmVyeSBjbGllbnQtb3V0cHV0LWJ1ZmZlci1saW1pdCBkaXJlY3RpdmUgaXMgdGhlIGZvbGxvd2luZzoKKyMKKyMgY2xpZW50LW91dHB1dC1idWZmZXItbGltaXQgPGNsYXNzPiA8aGFyZCBsaW1pdD4gPHNvZnQgbGltaXQ+IDxzb2Z0IHNlY29uZHM+CisjCisjIEEgY2xpZW50IGlzIGltbWVkaWF0ZWx5IGRpc2Nvbm5lY3RlZCBvbmNlIHRoZSBoYXJkIGxpbWl0IGlzIHJlYWNoZWQsIG9yIGlmCisjIHRoZSBzb2Z0IGxpbWl0IGlzIHJlYWNoZWQgYW5kIHJlbWFpbnMgcmVhY2hlZCBmb3IgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YKKyMgc2Vjb25kcyAoY29udGludW91c2x5KS4KKyMgU28gZm9yIGluc3RhbmNlIGlmIHRoZSBoYXJkIGxpbWl0IGlzIDMyIG1lZ2FieXRlcyBhbmQgdGhlIHNvZnQgbGltaXQgaXMKKyMgMTYgbWVnYWJ5dGVzIC8gMTAgc2Vjb25kcywgdGhlIGNsaWVudCB3aWxsIGdldCBkaXNjb25uZWN0ZWQgaW1tZWRpYXRlbHkKKyMgaWYgdGhlIHNpemUgb2YgdGhlIG91dHB1dCBidWZmZXJzIHJlYWNoIDMyIG1lZ2FieXRlcywgYnV0IHdpbGwgYWxzbyBnZXQKKyMgZGlzY29ubmVjdGVkIGlmIHRoZSBjbGllbnQgcmVhY2hlcyAxNiBtZWdhYnl0ZXMgYW5kIGNvbnRpbnVvdXNseSBvdmVyY29tZXMKKyMgdGhlIGxpbWl0IGZvciAxMCBzZWNvbmRzLgorIworIyBCeSBkZWZhdWx0IG5vcm1hbCBjbGllbnRzIGFyZSBub3QgbGltaXRlZCBiZWNhdXNlIHRoZXkgZG9uJ3QgcmVjZWl2ZSBkYXRhCisjIHdpdGhvdXQgYXNraW5nIChpbiBhIHB1c2ggd2F5KSwgYnV0IGp1c3QgYWZ0ZXIgYSByZXF1ZXN0LCBzbyBvbmx5CisjIGFzeW5jaHJvbm91cyBjbGllbnRzIG1heSBjcmVhdGUgYSBzY2VuYXJpbyB3aGVyZSBkYXRhIGlzIHJlcXVlc3RlZCBmYXN0ZXIKKyMgdGhhbiBpdCBjYW4gcmVhZC4KKyMKKyMgSW5zdGVhZCB0aGVyZSBpcyBhIGRlZmF1bHQgbGltaXQgZm9yIHB1YnN1YiBhbmQgc2xhdmUgY2xpZW50cywgc2luY2UKKyMgc3Vic2NyaWJlcnMgYW5kIHNsYXZlcyByZWNlaXZlIGRhdGEgaW4gYSBwdXNoIGZhc2hpb24uCisjCisjIEJvdGggdGhlIGhhcmQgb3IgdGhlIHNvZnQgbGltaXQgY2FuIGJlIGRpc2FibGVkIGp1c3Qgc2V0dGluZyBpdCB0byB6ZXJvLgorY2xpZW50LW91dHB1dC1idWZmZXItbGltaXQgbm9ybWFsIDAgMCAwCitjbGllbnQtb3V0cHV0LWJ1ZmZlci1saW1pdCBzbGF2ZSAyNTZtYiA2NG1iIDYwCitjbGllbnQtb3V0cHV0LWJ1ZmZlci1saW1pdCBwdWJzdWIgMzJtYiA4bWIgNjAKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBJTkNMVURFUyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjIEluY2x1ZGUgb25lIG9yIG1vcmUgb3RoZXIgY29uZmlnIGZpbGVzIGhlcmUuICBUaGlzIGlzIHVzZWZ1bCBpZiB5b3UKKyMgaGF2ZSBhIHN0YW5kYXJkIHRlbXBsYXRlIHRoYXQgZ29lcyB0byBhbGwgUmVkaXMgc2VydmVyIGJ1dCBhbHNvIG5lZWQKKyMgdG8gY3VzdG9taXplIGEgZmV3IHBlci1zZXJ2ZXIgc2V0dGluZ3MuICBJbmNsdWRlIGZpbGVzIGNhbiBpbmNsdWRlCisjIG90aGVyIGZpbGVzLCBzbyB1c2UgdGhpcyB3aXNlbHkuCisjCisjIGluY2x1ZGUgL3BhdGgvdG8vbG9jYWwuY29uZgorIyBpbmNsdWRlIC9wYXRoL3RvL290aGVyLmNvbmYKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JlZGlzL3JlZGlzXzMuMC4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmVkaXMvcmVkaXNfMy4wLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTVmMmM5NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JlZGlzL3JlZGlzXzMuMC4yLmJiCkBAIC0wLDAgKzEsMzQgQEAKK1NVTU1BUlkgPSAiUmVkaXMga2V5LXZhbHVlIHN0b3JlIgorREVTQ1JJUFRJT04gPSAiUmVkaXMgaXMgYW4gb3BlbiBzb3VyY2UsIGFkdmFuY2VkIGtleS12YWx1ZSBzdG9yZS4iCitIT01FUEFHRSA9ICJodHRwOi8vcmVkaXMuaW8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTNjMDFiNDlmZWQ0ZGYxYTc5ODQzNjg4ZmEzZjdiOWQ2IgorREVQRU5EUyA9ICIiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLnJlZGlzLmlvL3JlbGVhc2VzLyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9oaXJlZGlzLXVzZS1kZWZhdWx0LUNDLWlmLWl0LWlzLXNldC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9sdWEtdXBkYXRlLU1ha2VmaWxlLXRvLXVzZS1lbnZpcm9ubWVudC1idWlsZC1zZXR0aW5nLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL29lLXVzZS1saWJjLW1hbGxvYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9yZWRpcy5jb25mIFwKKyAgICAgICAgICAgZmlsZTovL2luaXQtcmVkaXMtc2VydmVyIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI4N2JlODg2NzQ0N2Y2MjUyNGI1ODQ4MTNlNWE3YmQxNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5M2U0MjJjMGQ1ODQ2MjM2MDFmODliOTU2MDQ1YmUxNTg4ODllYmU1OTQ0NzhhMmMyNGUxYmYyMTg0OTU2MzNmIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgdXBkYXRlLXJjLmQKKworZG9faW5zdGFsbCgpIHsKKyAgICBleHBvcnQgUFJFRklYPSR7RH0vJHtwcmVmaXh9CisgICAgb2VfcnVubWFrZSBpbnN0YWxsCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vcmVkaXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9yZWRpcy5jb25mICR7RH0vJHtzeXNjb25mZGlyfS9yZWRpcy9yZWRpcy5jb25mCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vaW5pdC1yZWRpcy1zZXJ2ZXIgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZC9yZWRpcy1zZXJ2ZXIKKyAgICBpbnN0YWxsIC1kICR7RH0vdmFyL2xpYi9yZWRpcy8KK30KKworQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vcmVkaXMvcmVkaXMuY29uZiIKKworSU5JVFNDUklQVF9OQU1FID0gInJlZGlzLXNlcnZlciIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIDg3IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnJkdG9vbC9ycmR0b29sXzEuNS40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnJkdG9vbC9ycmR0b29sXzEuNS40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxNmFhZmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9ycmR0b29sL3JyZHRvb2xfMS41LjQuYmIKQEAgLTAsMCArMSwxMjAgQEAKK1NVTU1BUlkgPSAiSGlnaCBwZXJmb3JtYW5jZSBkYXRhIGxvZ2dpbmcgYW5kIGdyYXBoaW5nIHN5c3RlbSBmb3IgdGltZSBzZXJpZXMgZGF0YSIKK0hPTUVQQUdFID0gImh0dHA6Ly9vc3Mub2V0aWtlci5jaC9ycmR0b29sLyIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlSSUdIVDttZDU9MzM0OTExMWVkMDUzMzQ3MTQ5NGJlZWM5OTcxNWJjOWQiCisKK0RFUEVORFMgPSAibGlicG5nIHpsaWIgY2Fpcm8gcGFuZ28gZ2xpYi0yLjAgbGlieG1sMiBncm9mZi1uYXRpdmUiCisKK1NSQ1JFViA9ICIwNGY3MDA1OGNjODk0YzBhM2VlNWQ1NTVlYTFiYjVhOGQ0YmI4YTBlIgorUFYgPSAiMS41LjQiCisKK1NSQ19VUkkgPSAiXAorICAgIGdpdDovL2dpdGh1Yi5jb20vb2V0aWtlci9ycmR0b29sLTEueC5naXQ7YnJhbmNoPTEuNSBcCisiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgY3BhbiBhdXRvdG9vbHMtYnJva2Vuc2VwIGdldHRleHQgcHl0aG9ubmF0aXZlIHB5dGhvbi1kaXIgc3lzdGVtZAorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInJyZGNhY2hlZC5zb2NrZXQgcnJkY2FjaGVkLnNlcnZpY2UiCisKK0VYVFJBX0FVVE9SRUNPTkYgPSAiLUkgbTQiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJweXRob24gcGVybCAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAnc3lzdGVtZCcsICcnLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbcHl0aG9uXSA9ICItLWVuYWJsZS1weXRob249eWVzIFwKK2FtX2N2X3B5dGhvbl9weXRob25kaXI9JHtTVEFHSU5HX0xJQkRJUn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMgXAorYW1fY3ZfcHl0aG9uX3B5ZXhlY2Rpcj0ke1NUQUdJTkdfTElCRElSfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0vc2l0ZS1wYWNrYWdlcyxcCistLWRpc2FibGUtcHl0aG9uLHB5dGhvbiwiCisKK1BBQ0tBR0VDT05GSUdbcGVybF0gPSBcCisiLS1lbmFibGUtcGVybD15ZXMgLS13aXRoLXBlcmwtb3B0aW9ucz0nSU5TVEFMTERJUlM9InZlbmRvciInIFwKK2FjX2N2X3BhdGhfUEVSTF9DQz0nJHtDQ30nLCAgXAorLS1kaXNhYmxlLXBlcmwscGVybCwiCisKK1BBQ0tBR0VDT05GSUdbZGJpXSA9ICItLWVuYWJsZS1saWJkYmksLS1kaXNhYmxlLWxpYmRiaSxsaWJkYmkiCisKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vLC0td2l0aG91dC1zeXN0ZW1kc3lzdGVtdW5pdGRpcixzeXN0ZW1kLCIKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS1lbmFibGUtc2hhcmVkIFwKKyAgICAtLWRpc2FibGUtbGlid3JhcCBcCisgICAgLS1wcm9ncmFtLXByZWZpeD0nJyBcCisgICAgcmRfY3ZfaWVlZV93b3Jrcz15ZXMgXAorICAgIC0tZGlzYWJsZS1ydWJ5IFwKKyAgICAtLWRpc2FibGUtbHVhIFwKKyAgICAtLWRpc2FibGUtdGNsIFwKKyAgICAtLWRpc2FibGUtcnBhdGggXAorIgorCitleHBvcnQgQlVJTERfU1lTCitleHBvcnQgSE9TVF9TWVMKK2V4cG9ydCBTVEFHSU5HX0xJQkRJUgorZXhwb3J0IFNUQUdJTkdfSU5DRElSCisKKyMgZW11bGF0ZSBjcGFuX2RvX2NvbmZpZ3VyZQorRVhUUkFfT0VNQUtFID0gJyBQRVJMNUxJQj0iJHtQRVJMX0FSQ0hMSUJ9IiAnCisjIEF2b2lkIGRvX2NvbmZpZ3VyZSBlcnJvciBvbiBzb21lIGhvc3RzCitleHBvcnQgUEVSTEhPU1RMSUIgPSAiIgorCitkb19jb25maWd1cmUoKSB7CisgICAgI2ZpeCB0aGUgcGtnbGliIHByb2JsZW0gd2l0aCBuZXdlciBhdXRvbWFrZQorICAgICNwZXJsCisgICAgc2VkIC1pIC1lICJzfC1XbCwtLXJwYXRoIC1XbCxcJHJwfHxnIiBcCisgICAgICAgICR7U30vYmluZGluZ3MvcGVybC1zaGFyZWQvTWFrZWZpbGUuUEwKKworICAgICNweXRob24KKyAgICBzZWQgLWkgLWUgJy9QWVRIT05fSU5DTFVERVM9Ii1JJHsvYyBcCisgICAgUFlUSE9OX0lOQ0xVREVTPSItST0vdXNyL2luY2x1ZGUvcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059IicgXAorICAgICAgICAke1N9L200L2FjaW5jbHVkZS5tNAorICAgICNyZW1vdmUgdGhlIHVzZWxlc3MgUlBBVEggZnJvbSB0aGUgcnJkdG9vbC5zbworICAgIHNlZCAtaSAtZSAnc3xMRF9SVU5fUEFUSD0kKGxpYmRpcil8fGcnICR7U30vYmluZGluZ3MvTWFrZWZpbGUuYW0KKworICAgIGF1dG90b29sc19kb19jb25maWd1cmUKKworICAgICNtb2RpZnkgcHl0aG9uIHNpdGVwa2cKKyAgICAjcmVtb3ZlIHRoZSBkZXBlbmRlbmN5IG9mIHBlcmwtc2hhcmVkOk1ha2VmaWxlCisgICAgI29yIHBlcmwtc2hhcmVkL01ha2VmaWxlIHdpbGwgYmUgcmVnZW5lcmF0ZWQKKyAgICAjaWYgYW55IGNvZGUgdG91Y2ggYmluZGluZ3MvTWFrZWZpbGUgYWZ0ZXIgYmVsb3cgcGVybCBiaW5kaW5ncyBjb2RlCisgICAgc2VkIC1pIC1lICJzOnB5dGhvbi9zZXR1cC5weSBpbnN0YWxsOnB5dGhvbi9zZXR1cC5weSBpbnN0YWxsIFwKKyAgICAgICAgLS1pbnN0YWxsLWxpYj0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfToiIFwKKyAgICAgICAgLWUgInM6cGVybC1zaGFyZWQvTWFrZWZpbGUuUEwgTWFrZWZpbGU6cGVybC1zaGFyZWQvTWFrZWZpbGUuUEw6IiBcCisgICAgICAgICR7Qn0vYmluZGluZ3MvTWFrZWZpbGUKKworICAgICNyZWRvIHRoZSBwZXJsIGJpbmRpbmdzCisgICAgKAorICAgIGNkICR7U30vYmluZGluZ3MvcGVybC1zaGFyZWQ7CisgICAgcGVybCBNYWtlZmlsZS5QTCBJTlNUQUxMRElSUz0idmVuZG9yIiBJTlNUQUxMUFJJVkxJQj0iYWJjIjsKKworICAgIGNkIC4uLy4uL2JpbmRpbmdzL3BlcmwtcGlwZWQ7CisgICAgcGVybCBNYWtlZmlsZS5QTCBJTlNUQUxMRElSUz0idmVuZG9yIjsKKyAgICApCisKKyAgICAjY2hhbmdlIHRoZSBpbnRlcnByZXRlciBpbiBmaWxlCisgICAgc2VkIC1pIC1lICJzfF5QRVJMID0gJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9Ly4qfFBFUkwgPSAvdXNyL2Jpbi9wZXJsfGciIFwKKyAgICAgICAgJHtCfS9leGFtcGxlcy9NYWtlZmlsZQorICAgIHNlZCAtaSAtZSAic3wke1NUQUdJTkdfQklORElSX05BVElWRX0vcGVybC1uYXRpdmUvcGVybHwvdXNyL2Jpbi9wZXJsfGciIFwKKyAgICAgICAgJHtCfS9leGFtcGxlcy8qLnBsCit9CisKK1BBQ0tBR0VTID0rICIke1BOfS1wZXJsICR7UE59LXB5dGhvbiIKKworRklMRVNfJHtQTn0tZG9jICs9ICIke2RhdGFkaXJ9L3JyZHRvb2wvZXhhbXBsZXMiCisKK0RFU0NSSVBUSU9OXyR7UE59LXBlcmwgPSBcCisiVGhlICR7UE59LXBlcmwgcGFja2FnZSBpbmNsdWRlcyBSUkR0b29sIGJpbmRpbmdzIGZvciBwZXJsLiIKK0ZJTEVTXyR7UE59LXBlcmwgPSAiJHtsaWJkaXJ9L3BlcmwvdmVuZG9yX3BlcmwvKi8qLnBtIFwKKyAgICAke2xpYmRpcn0vcGVybC92ZW5kb3JfcGVybC8qL2F1dG8vUlJEcy9SUkRzLioiCitSREVQRU5EU18ke1BOfS1wZXJsID0gInBlcmwgcGVybC1tb2R1bGUtbGliIHBlcmwtbW9kdWxlLWdldG9wdC1sb25nIHBlcmwtbW9kdWxlLXRpbWUtaGlyZXMgXAorICAgIHBlcmwtbW9kdWxlLWlvLWZpbGUgcGVybC1tb2R1bGUtaXBjLW9wZW4yIHBlcmwtbW9kdWxlLWlvLXNvY2tldCIKKworREVTQ1JJUFRJT05fJHtQTn0tcHl0aG9uID0gXAorIlRoZSAke1BOfS1weXRob24gcGFja2FnZSBpbmNsdWRlcyBSUkR0b29sIGJpbmRpbmdzIGZvciBweXRob24uIgorRklMRVNfJHtQTn0tcHl0aG9uID0gIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0vc2l0ZS1wYWNrYWdlcy8qIgorUkRFUEVORFNfJHtQTn0tcHl0aG9uID0gInB5dGhvbiIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vcGVybC92ZW5kb3JfcGVybC8qL2F1dG8vUlJEcy8uZGVidWcgXAorICAgICR7bGliZGlyfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0vc2l0ZS1wYWNrYWdlcy8uZGVidWciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2cvZW5hYmxlX3Rsc19wdGVzdHMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2cvZW5hYmxlX3Rsc19wdGVzdHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzg1OGYzMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZy9lbmFibGVfdGxzX3B0ZXN0cy5wYXRjaApAQCAtMCwwICsxLDI4IEBACitFbmFibGUgdGxzIHB0ZXN0CisKK1NpZ25lZC1vZmYtYnk6IFR1ZG9yIEZsb3JlYSA8dHVkb3IuZmxvcmVhQGVuZWEuY29tPgorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKKy0tLSByc3lzbG9nLTcuNC40L3Rlc3RzL01ha2VmaWxlLmFtLm9yaWcJMjAxMy0wOC0zMCAxODozMDo0MS4wMDAwMDAwMDAgKzAyMDAKKysrKyByc3lzbG9nLTcuNC40L3Rlc3RzL01ha2VmaWxlLmFtCTIwMTUtMTAtMDEgMDk6Mzg6NDUuMTc2Mjg5MDMxICswMjAwCitAQCAtMTE4LDE1ICsxMTgsMTMgQEAKKyBlbmRpZgorIAorIGlmIEVOQUJMRV9HTlVUTFMKKy0jIFRPRE86IHJlLWVuYWJsZSBpbiBuZXdlciB2ZXJzaW9uCistI1RFU1RTICs9ICBcCistCSNzbmRyY3ZfdGxzX2Fub24uc2ggXAorLQkjc25kcmN2X3Rsc19hbm9uX3JlYmluZC5zaCBcCistCSNpbXRjcC10bHMtYmFzaWMuc2gKKytURVNUUyArPSAgXAorKwkgaW10Y3AtdGxzLWJhc2ljLnNoIFwKKysJIGltdGNwX2Nvbm5kcm9wX3Rscy5zaAorIGlmIEhBVkVfVkFMR1JJTkQKKyBURVNUUyArPSBpbXRjcC10bHMtYmFzaWMtdmcuc2ggXAorLQkgaW10Y3BfY29ubmRyb3BfdGxzLXZnLnNoIAorLQkgbWFueXRjcC10b28tZmV3LXRscy12Zy5zaCAKKysJIGltdGNwX2Nvbm5kcm9wX3Rscy12Zy5zaCBcCisrCSBtYW55dGNwLXRvby1mZXctdGxzLnNoCisgZW5kaWYKKyBlbmRpZgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2cvaW5pdHNjcmlwdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZy9pbml0c2NyaXB0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhOGY4ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2cvaW5pdHNjcmlwdApAQCAtMCwwICsxLDExOCBAQAorIyEgL2Jpbi9zaAorIworIyBUaGlzIGlzIGFuIGluaXQgc2NyaXB0IGZvciBvcGVuZW1iZWRkZWQKKyMgQ29weSBpdCB0byAvZXRjL2luaXQuZC9yc3lzbG9nIGFuZCB0eXBlCisjID4gdXBkYXRlLXJjLmQgcnN5c2xvZyBkZWZhdWx0cyA1CisjCisKK1BBVEg9L3NiaW46L3Vzci9zYmluOi9iaW46L3Vzci9iaW4KK05BTUU9cnN5c2xvZworUlNZU0xPR0Q9cnN5c2xvZ2QKK1JTWVNMT0dEX0JJTj0vdXNyL3NiaW4vcnN5c2xvZ2QKK1JTWVNMT0dEX09QVElPTlM9IiIKK1JTWVNMT0dEX1BJREZJTEU9L3Zhci9ydW4vcnN5c2xvZ2QucGlkCitTQ1JJUFROQU1FPS9ldGMvaW5pdC5kLyROQU1FCisjIEV4aXQgaWYgdGhlIHBhY2thZ2UgaXMgbm90IGluc3RhbGxlZAorWyAteCAiJFJTWVNMT0dEX0JJTiIgXSB8fCBleGl0IDAKKyMgUmVhZCBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGZpbGUgaWYgaXQgaXMgcHJlc2VudAorWyAtciAvZXRjL2RlZmF1bHQvJE5BTUUgXSAmJiAuIC9ldGMvZGVmYXVsdC8kTkFNRQorIworIyBGdW5jdGlvbiB0aGF0IHN0YXJ0cyB0aGUgZGFlbW9uL3NlcnZpY2UKKyMKK2RvX3N0YXJ0KCkKK3sKKyAgICAgICAgREFFTU9OPSQxCisgICAgICAgIERBRU1PTl9BUkdTPSQyCisgICAgICAgIFBJREZJTEU9JDMKKyAgICAgICAgIyBSZXR1cm4KKyAgICAgICAgIyAgIDAgaWYgZGFlbW9uIGhhcyBiZWVuIHN0YXJ0ZWQKKyAgICAgICAgIyAgIDEgaWYgZGFlbW9uIGNvdWxkIG5vdCBiZSBzdGFydGVkCisgICAgICAgICMgICBpZiBkYWVtb24gaGFkIGFscmVhZHkgYmVlbiBzdGFydGVkLCBzdGFydC1zdG9wLWRhZW1vbiB3aWxsIHJldHVybiAxCisgICAgICAgICMgICBzbyBhZGQgLW8vLS1va25vZG8oaWYgbm90aGluZyBpcyBkb25lLCBleGl0IDApCisgICAgICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC1TIC0tcXVpZXQgLS1waWRmaWxlICRQSURGSUxFIC0tZXhlYyAkREFFTU9OIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1va25vZG8gLS0gJERBRU1PTl9BUkdTIHx8IHJldHVybiAxCit9CisjCisjIEZ1bmN0aW9uIHRoYXQgc3RvcHMgdGhlIGRhZW1vbi9zZXJ2aWNlCisjCitkb19zdG9wKCkKK3sKKyAgICAgICAgTkFNRT0kMQorICAgICAgICBQSURGSUxFPSQyCisgICAgICAgICMgUmV0dXJuCisgICAgICAgICMgICAwIGlmIGRhZW1vbiBoYXMgYmVlbiBzdG9wcGVkCisgICAgICAgICMgICAxIGlmIGRhZW1vbiB3YXMgYWxyZWFkeSBzdG9wcGVkCisgICAgICAgICMgICAyIGlmIGRhZW1vbiBjb3VsZCBub3QgYmUgc3RvcHBlZAorICAgICAgICAjICAgb3RoZXIgaWYgYSBmYWlsdXJlIG9jY3VycmVkCisgICAgICAgICMgUVVJVC9URVJNL0lOVCBzaG91bGQgd29yayBoZXJlLCBidXQgdGhleSBkb24ndCA/Pz8/PyAKKyAgICAgICAgc3RhcnQtc3RvcC1kYWVtb24gLUsgLS1xdWlldCAtLXNpZ25hbCBLSUxMIC0tcGlkZmlsZSAkUElERklMRSAtLW5hbWUgJE5BTUUKKyAgICAgICAgUkVUVkFMPSIkPyIKKyAgICAgICAgcm0gLWYgJFBJREZJTEUKKyAgICAgICAgcmV0dXJuICIkUkVUVkFMIgorfQorIworIyBGdW5jdGlvbiB0aGF0IHNlbmRzIGEgU0lHSFVQIHRvIHRoZSBkYWVtb24vc2VydmljZQorIworZG9fcmVsb2FkKCkgeworICAgICAgICBOQU1FPSQxCisgICAgICAgIFBJREZJTEU9JDIKKyAgICAgICAgc3RhcnQtc3RvcC1kYWVtb24gLUsgLS1zaWduYWwgSFVQIC0tcXVpZXQgLS1waWRmaWxlICRQSURGSUxFIC0tbmFtZSAkTkFNRQorICAgICAgICByZXR1cm4gMAorfQorCitkb19zdGF0dXMoKSB7CisgICAgICAgIE5BTUU9JDEKKyAgICAgICAgUElERklMRT0kMgorICAgICAgICAjIC10OiB0ZXN0IG9ubHkgYnV0IG5vdCBzdG9wCisgICAgICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC1LIC10IC0tcXVpZXQgLS1waWRmaWxlICRQSURGSUxFIC0tbmFtZSAkTkFNRQorICAgICAgICAjIGV4aXQgd2l0aCBzdGF0dXMgMCBpZiBwcm9jZXNzIGlzIGZvdW5kCisgICAgICAgIGlmIFsgIiQ/IiA9ICIwIiBdOyB0aGVuCisgICAgICAgICAgICAgICAgcmV0dXJuIDAKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHJldHVybiAxCisgICAgICAgIGZpCit9CisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKyAgICAgICAgZWNobyAtbiAic3RhcnRpbmcgJFJTWVNMT0dEIC4uLiAiCisgICAgICAgIGRvX3N0YXJ0ICIkUlNZU0xPR0RfQklOIiAiJFJTWVNMT0dEX09QVElPTlMiICIkUlNZU0xPR0RfUElERklMRSIKKyAgICAgICAgY2FzZSAiJD8iIGluCisgICAgICAgICAgICAgICAgMCkgZWNobyAiZG9uZSIgOzsKKyAgICAgICAgICAgICAgICAxKSBlY2hvICJmYWlsZWQiIDs7CisgICAgICAgIGVzYWMKKyAgICAgICAgOzsKKyAgc3RvcCkKKyAgICAgICAgZWNobyAtbiAic3RvcHBpbmcgJFJTWVNMT0dEIC4uLiAiCisgICAgICAgIGRvX3N0b3AgIiRSU1lTTE9HRCIgIiRSU1lTTE9HRF9QSURGSUxFIgorICAgICAgICBjYXNlICIkPyIgaW4KKyAgICAgICAgICAgICAgICAwfDEpIGVjaG8gImRvbmUiIDs7CisgICAgICAgICAgICAgICAgMikgZWNobyAiZmFpbGVkIiA7OworICAgICAgICBlc2FjCisgICAgICAgIDs7CisgIHJlbG9hZHxmb3JjZS1yZWxvYWQpCisgICAgICAgIGVjaG8gLW4gInJlbG9hZGluZyAkUlNZU0xPR0QgLi4uICIKKyAgICAgICAgZG9fcmVsb2FkICIkUlNZU0xPR0QiICIkUlNZU0xPR0RfUElERklMRSIKKyAgICAgICAgZWNobyAiZG9uZSIKKyAgICAgICAgOzsKKyAgcmVzdGFydCkKKyAgICAgICAgJDAgc3RvcAorICAgICAgICAkMCBzdGFydAorICAgICAgICA7OworICBzdGF0dXMpCisgICAgICAgIGVjaG8gLW4gInN0YXR1cyAkUlNZU0xPR0QgLi4uICIKKyAgICAgICAgZG9fc3RhdHVzICIkUlNZU0xPR0QiICIkUlNZU0xPR0RfUElERklMRSIKKyAgICAgICAgaWYgWyAiJD8iID0gIjAiIF07IHRoZW4KKyAgICAgICAgICAgICAgICBlY2hvICJydW5uaW5nIgorICAgICAgICAgICAgICAgIGV4aXQgMCAgICAgICAgCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBlY2hvICJzdG9wcGVkIgorICAgICAgICAgICAgICAgIGV4aXQgMSAgICAgICAgCisgICAgICAgIGZpCisgICAgICAgIDs7CisgICopCisgICAgICAgIGVjaG8gIlVzYWdlOiAkU0NSSVBUTkFNRSB7c3RhcnR8c3RvcHxzdGF0dXN8cmVzdGFydHxyZWxvYWR8Zm9yY2UtcmVsb2FkfSIgPiYyCisgICAgICAgIGV4aXQgMworICAgICAgICA7OworZXNhYworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2cvanNvbi0wLjEyLWZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZy9qc29uLTAuMTItZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkZDg1YTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2cvanNvbi0wLjEyLWZpeC5wYXRjaApAQCAtMCwwICsxLDQ3IEBACitqc29uLWMtMC4xMiB1bmxpa2UgMC4xMSBkb2Vzbid0IGluc3RhbGwganNvbiAtPiBqc29uLWMgc3ltbGluayBpbiBpbmNsdWRlCisKKyogUmVzb2x2ZWQgaW4gVmVyc2lvbiA3LjYuNCBbdjcuNi1zdGFibGVdIDIwMTQtMDktMTIKKyAgaHR0cHM6Ly9naXRodWIuY29tL3JzeXNsb2cvcnN5c2xvZy9ibG9iL3Y3LXN0YWJsZS9DaGFuZ2VMb2cKKyogcGVybWl0cyB0byBidWlsZCBhZ2FpbnN0IGpzb24tYyAwLjEyCisgIFVuZm9ydHVuYXRlbHksIGpzb24tYyBoYWQgYW4gQUJJIGJyZWFrYWdlLCBzbyB0aGlzIGlzIG5lY2Vzc2FyeS4gTm90ZQorICB0aGF0IHZlcnNpb25zIHByaW9yIHRvIDAuMTIgaGFkIHNlY3VyaXR5IGlzc3VlcyAoQ1ZFLTIwMTMtNjM3MCwKKyAgQ1ZFLTIwMTMtNjM3MSkgYW5kIHNvIGl0IGlzIGRlc2lyYWJsZSB0byBsaW5rIGFnYWluc3QgdGhlIG5ldyB2ZXJzaW9uLgorICBUaGFua3MgdG8gVGhvbWFzIEQuIGZvciB0aGUgcGF0Y2guIE5vdGUgdGhhdCBhdCBsZWFzdCBzb21lIGRpc3Ryb3MKKyAgaGF2ZSBmaXhlZCB0aGUgc2VjdXJpdHkgaXNzdWUgaW4gb2xkZXIgdmVyc2lvbnMgb2YganNvbi1jLCBzbyB0aGlzCisgIHNlZW1zIHRvIGFwcGx5IG1vc3RseSB3aGVuIGJ1aWxkaW5nIGZyb20gc291cmNlcy4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorCitkaWZmIC0tZ2l0IGEvcGx1Z2lucy9vbW1vbmdvZGIvb21tb25nb2RiLmMgYi9wbHVnaW5zL29tbW9uZ29kYi9vbW1vbmdvZGIuYworaW5kZXggNDFjMGQ3Ni4uNjgyYzQwZSAxMDA2NDQKKy0tLSBhL3BsdWdpbnMvb21tb25nb2RiL29tbW9uZ29kYi5jCisrKysgYi9wbHVnaW5zL29tbW9uZ29kYi9vbW1vbmdvZGIuYworQEAgLTMzLDkgKzMzLDkgQEAKKyAjaW5jbHVkZSA8c3RkaW50Lmg+CisgI2luY2x1ZGUgPHRpbWUuaD4KKyAjaW5jbHVkZSA8bW9uZ28uaD4KKy0jaW5jbHVkZSA8anNvbi5oPgorKyNpbmNsdWRlIDxqc29uLWMvanNvbi5oPgorIC8qIEZvciBzdHJ1Y3QganNvbl9vYmplY3RfaXRlciwgc2hvdWxkIG5vdCBiZSBuZWNlc3NhcnkgaW4gZnV0dXJlIHZlcnNpb25zICovCistI2luY2x1ZGUgPGpzb25fb2JqZWN0X3ByaXZhdGUuaD4KKysjaW5jbHVkZSA8anNvbi1jL2pzb25fb2JqZWN0X3ByaXZhdGUuaD4KKyAKKyAjaW5jbHVkZSAicnN5c2xvZy5oIgorICNpbmNsdWRlICJjb25mLmgiCitkaWZmIC0tZ2l0IGEvcnVudGltZS9tc2cuYyBiL3J1bnRpbWUvbXNnLmMKK2luZGV4IGQwNGNlN2IuLmIzNjdlMWYgMTAwNjQ0CistLS0gYS9ydW50aW1lL21zZy5jCisrKysgYi9ydW50aW1lL21zZy5jCitAQCAtNDEsOSArNDEsOSBAQAorICNlbmRpZgorICNpbmNsdWRlIDxuZXRkYi5oPgorICNpbmNsdWRlIDxsaWJlc3RyLmg+CistI2luY2x1ZGUgPGpzb24uaD4KKysjaW5jbHVkZSA8anNvbi1jL2pzb24uaD4KKyAvKiBGb3Igc3RydWN0IGpzb25fb2JqZWN0X2l0ZXIsIHNob3VsZCBub3QgYmUgbmVjZXNzYXJ5IGluIGZ1dHVyZSB2ZXJzaW9ucyAqLworLSNpbmNsdWRlIDxqc29uX29iamVjdF9wcml2YXRlLmg+CisrI2luY2x1ZGUgPGpzb24tYy9qc29uX29iamVjdF9wcml2YXRlLmg+CisgI2lmIEhBVkVfTUFMTE9DX0gKKyAjICBpbmNsdWRlIDxtYWxsb2MuaD4KKyAjZW5kaWYKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZy9yZXBsYWNlX2RlcHJlY2F0ZWRfR251VExTX2Z1bmN0aW9ucy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZy9yZXBsYWNlX2RlcHJlY2F0ZWRfR251VExTX2Z1bmN0aW9ucy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZTA1ZWVlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nL3JlcGxhY2VfZGVwcmVjYXRlZF9HbnVUTFNfZnVuY3Rpb25zLnBhdGNoCkBAIC0wLDAgKzEsNzMgQEAKK3JlcGxhY2UgZGVwcmVjYXRlZCBHbnVUTFMgZnVuY3Rpb25zIHdpdGggbmV3ZXIgb25lcyBpZiBhdmFpbGFibGUKKworY2xvc2VzIGh0dHBzOi8vZ2l0aHViLmNvbS9yc3lzbG9nL3JzeXNsb2cvaXNzdWVzLzMwMgorCitVcHN0cmVhbSBmaXggaHR0cHM6Ly9naXRodWIuY29tL3JzeXNsb2cvcnN5c2xvZy9jb21taXQvYjM0YzM1ZTM4ZjI1ODkzNWMwZTkyY2E3NTRkYTA5N2Q3ZjNmMGY1OAorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBUdWRvciBGbG9yZWEgIDx0dWRvci5mbG9yZWFAZW5lYS5jb20+CisKKy0tLQorIGNvbmZpZ3VyZS5hYyAgICAgICB8ICAyICsrCisgcnVudGltZS9uc2RfZ3Rscy5jIHwgMjEgKysrKysrKysrKysrKysrKysrLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCA2NDNmYzk0Li41NjgzNWZiIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC03NjMsNiArNzYzLDggQEAgQUNfQVJHX0VOQUJMRShnbnV0bHMsCisgaWYgdGVzdCAieCRlbmFibGVfZ251dGxzIiA9ICJ4eWVzIjsgdGhlbgorIAlQS0dfQ0hFQ0tfTU9EVUxFUyhHTlVUTFMsIGdudXRscyA+PSAxLjQuMCkKKyAJQUNfREVGSU5FKFtFTkFCTEVfR05VVExTXSwgWzFdLCBbSW5kaWNhdG9yIHRoYXQgR251VExTIGlzIHByZXNlbnRdKQorKyAgICAgICAgQUNfQ0hFQ0tfTElCKGdudXRscywgZ251dGxzX2dsb2JhbF9pbml0KQorKwlBQ19DSEVDS19GVU5DUyhnbnV0bHNfY2VydGlmaWNhdGVfc2V0X3JldHJpZXZlX2Z1bmN0aW9uLCwpCisgZmkKKyBBTV9DT05ESVRJT05BTChFTkFCTEVfR05VVExTLCB0ZXN0IHgkZW5hYmxlX2dudXRscyA9IHh5ZXMpCisgCitkaWZmIC0tZ2l0IGEvcnVudGltZS9uc2RfZ3Rscy5jIGIvcnVudGltZS9uc2RfZ3Rscy5jCitpbmRleCBhNzYzZTRiLi5lMTI3ODM0IDEwMDY0NAorLS0tIGEvcnVudGltZS9uc2RfZ3Rscy5jCisrKysgYi9ydW50aW1lL25zZF9ndGxzLmMKK0BAIC0yMzIsMTUgKzIzMiwyNiBAQCBndGxzTG9hZE91ckNlcnRLZXkobnNkX2d0bHNfdCAqcFRoaXMpCisgICovCisgc3RhdGljIGludAorIGd0bHNDbGllbnRDZXJ0Q2FsbGJhY2soZ251dGxzX3Nlc3Npb24gc2Vzc2lvbiwKKy0gICAgICAgICAgICAgIF9fYXR0cmlidXRlX18oKHVudXNlZCkpIGNvbnN0IGdudXRsc19kYXR1bSogcmVxX2NhX3JkbiwgaW50IF9fYXR0cmlidXRlX18oKHVudXNlZCkpIG5yZXFzLAorLSAgICAgICAgICAgICAgX19hdHRyaWJ1dGVfXygodW51c2VkKSkgY29uc3QgZ251dGxzX3BrX2FsZ29yaXRobSogc2lnbl9hbGdvcywgaW50IF9fYXR0cmlidXRlX18oKHVudXNlZCkpIHNpZ25fYWxnb3NfbGVuZ3RoLAorLSAgICAgICAgICAgICAgZ251dGxzX3JldHJfc3QgKnN0KQorKyAgICAgICAgX19hdHRyaWJ1dGVfXygodW51c2VkKSkgY29uc3QgZ251dGxzX2RhdHVtKiByZXFfY2FfcmRuLAorKwlpbnQgX19hdHRyaWJ1dGVfXygodW51c2VkKSkgbnJlcXMsCisrICAgICAgICBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSBjb25zdCBnbnV0bHNfcGtfYWxnb3JpdGhtKiBzaWduX2FsZ29zLAorKwlpbnQgX19hdHRyaWJ1dGVfXygodW51c2VkKSkgc2lnbl9hbGdvc19sZW5ndGgsCisrI2lmIEhBVkVfR05VVExTX0NFUlRJRklDQVRFX1NFVF9SRVRSSUVWRV9GVU5DVElPTgorKwlnbnV0bHNfcmV0cjJfc3QqIHN0CisrI2Vsc2UKKysgICAgICAgIGdudXRsc19yZXRyX3N0ICpzdAorKyNlbmRpZgorKwkpCisgeworIAluc2RfZ3Rsc190ICpwVGhpczsKKyAKKyAJcFRoaXMgPSAobnNkX2d0bHNfdCopIGdudXRsc19zZXNzaW9uX2dldF9wdHIoc2Vzc2lvbik7CisgCisrI2lmIEhBVkVfR05VVExTX0NFUlRJRklDQVRFX1NFVF9SRVRSSUVWRV9GVU5DVElPTgorKwlzdC0+Y2VydF90eXBlID0gR05VVExTX0NSVF9YNTA5OworKyNlbHNlCisgCXN0LT50eXBlID0gR05VVExTX0NSVF9YNTA5OworKyNlbmRpZgorIAlzdC0+bmNlcnRzID0gMTsKKyAJc3QtPmNlcnQueDUwOSA9ICZwVGhpcy0+b3VyQ2VydDsKKyAJc3QtPmtleS54NTA5ID0gcFRoaXMtPm91cktleTsKK0BAIC0xNjI1LDcgKzE2MjUsMTEgQEAgQ29ubmVjdChuc2RfdCAqcE5zZCwgaW50IGZhbWlseSwgdWNoYXIgKnBvcnQsIHVjaGFyICpob3N0KQorIAlnbnV0bHNfc2Vzc2lvbl9zZXRfcHRyKHBUaGlzLT5zZXNzLCAodm9pZCopcFRoaXMpOworIAlpUmV0ID0gZ3Rsc0xvYWRPdXJDZXJ0S2V5KHBUaGlzKTsgLyogZmlyc3QgbG9hZCAucGVtIGZpbGVzICovCisgCWlmKGlSZXQgPT0gUlNfUkVUX09LKSB7CisrIwkJaWYgSEFWRV9HTlVUTFNfQ0VSVElGSUNBVEVfU0VUX1JFVFJJRVZFX0ZVTkNUSU9OIAorKwkJZ251dGxzX2NlcnRpZmljYXRlX3NldF9yZXRyaWV2ZV9mdW5jdGlvbih4Y3JlZCwgZ3Rsc0NsaWVudENlcnRDYWxsYmFjayk7CisrIwkJZWxzZQorIAkJZ251dGxzX2NlcnRpZmljYXRlX2NsaWVudF9zZXRfcmV0cmlldmVfZnVuY3Rpb24oeGNyZWQsIGd0bHNDbGllbnRDZXJ0Q2FsbGJhY2spOworKyMJZW5kaWYKKyAJfSBlbHNlIGlmKGlSZXQgIT0gUlNfUkVUX0NFUlRMRVNTKSB7CisgCQlGSU5BTElaRTsgLyogd2UgaGF2ZSBhbiBlcnJvciBjYXNlISAqLworIAl9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2cvcnN5c2xvZy1maXgtcHRlc3Qtbm90LWZpbmlzaC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZy9yc3lzbG9nLWZpeC1wdGVzdC1ub3QtZmluaXNoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkY2I2ZTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2cvcnN5c2xvZy1maXgtcHRlc3Qtbm90LWZpbmlzaC5wYXRjaApAQCAtMCwwICsxLDk2IEBACiskTWF4TWVzc2FnZVNpemUgZG9lc24ndCB3b3JrIGlmIGJlZm9yZSAkSW5jbHVkZUNvbmZpZyBkaWFnLWNvbW1vbi5jb25mLCB0aGVuCit0ZXN0IGNhc2VzIGZhbGwgaW50byBpbmZpbml0ZSBsb29wIHdpdGggZXJyb3IgbWVzc2FnZToKKworODA2Mi41MTExMTA3Mjk6NDkwMmM0ODA6IGVycm9yOiBtZXNzYWdlIHJlY2VpdmVkIGlzIGxhcmdlciB0aGFuIG1heCBtc2cgc2l6ZSwgd2Ugc3BsaXQgaXQKKzgwNjIuNTExMTUyMjY1OjQ5MDJjNDgwOiBkaXNjYXJkaW5nIHplcm8tc2l6ZWQgbWVzc2FnZQorCitVcGRhdGUgY29uZmlndXJlIHRvIGZpeCBpdC4KKworVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKK0thaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorLS0tCitkaWZmIC1OcnUgcnN5c2xvZy03LjQuNC90ZXN0cy90ZXN0c3VpdGVzL2NvbXBsZXgxLmNvbmYgcnN5c2xvZy03LjQuNC5uZXcvdGVzdHMvdGVzdHN1aXRlcy9jb21wbGV4MS5jb25mCistLS0gcnN5c2xvZy03LjQuNC90ZXN0cy90ZXN0c3VpdGVzL2NvbXBsZXgxLmNvbmYJMjAxMy0wOC0zMSAwMDozMDo0MS4wMDAwMDAwMDAgKzA4MDAKKysrKyByc3lzbG9nLTcuNC40Lm5ldy90ZXN0cy90ZXN0c3VpdGVzL2NvbXBsZXgxLmNvbmYJMjAxMy0xMi0xOCAxNDoyODoxMC42NDQwMDQxODQgKzA4MDAKK0BAIC0xLDcgKzEsNyBAQAorICMgY29tcGxleCB0ZXN0IGNhc2Ugd2l0aCBtdWx0aXBsZSBhY3Rpb25zIGluIGd6aXAgbW9kZQorICMgcmdlcmhhcmRzLCAyMDA5LTA1LTIyCistJE1heE1lc3NhZ2VTaXplIDEwaworICRJbmNsdWRlQ29uZmlnIGRpYWctY29tbW9uLmNvbmYKKyskTWF4TWVzc2FnZVNpemUgMTBrCisgCisgJE1haW5Nc2dRdWV1ZVRpbWVvdXRFbnF1ZXVlIDUwMDAKKyAKK2RpZmYgLU5ydSByc3lzbG9nLTcuNC40L3Rlc3RzL3Rlc3RzdWl0ZXMvZ3ppcHdyX2xhcmdlLmNvbmYgcnN5c2xvZy03LjQuNC5uZXcvdGVzdHMvdGVzdHN1aXRlcy9nemlwd3JfbGFyZ2UuY29uZgorLS0tIHJzeXNsb2ctNy40LjQvdGVzdHMvdGVzdHN1aXRlcy9nemlwd3JfbGFyZ2UuY29uZgkyMDEyLTA0LTA0IDE0OjI5OjU1LjAwMDAwMDAwMCArMDgwMAorKysrIHJzeXNsb2ctNy40LjQubmV3L3Rlc3RzL3Rlc3RzdWl0ZXMvZ3ppcHdyX2xhcmdlLmNvbmYJMjAxMy0xMi0xOCAxNDoyODoxMC42NDUwMDQxODYgKzA4MDAKK0BAIC0xLDcgKzEsNyBAQAorICMgc2ltcGxlIGFzeW5jIHdyaXRpbmcgdGVzdAorICMgcmdlcmhhcmRzLCAyMDEwLTAzLTA5CistJE1heE1lc3NhZ2VTaXplIDEwaworICRJbmNsdWRlQ29uZmlnIGRpYWctY29tbW9uLmNvbmYKKyskTWF4TWVzc2FnZVNpemUgMTBrCisgCisgJE1vZExvYWQgLi4vcGx1Z2lucy9pbXRjcC8ubGlicy9pbXRjcAorICRNYWluTXNnUXVldWVUaW1lb3V0U2h1dGRvd24gMTAwMDAKK2RpZmYgLU5ydSByc3lzbG9nLTcuNC40L3Rlc3RzL3Rlc3RzdWl0ZXMvZ3ppcHdyX2xhcmdlX2R5bmZpbGUuY29uZiByc3lzbG9nLTcuNC40Lm5ldy90ZXN0cy90ZXN0c3VpdGVzL2d6aXB3cl9sYXJnZV9keW5maWxlLmNvbmYKKy0tLSByc3lzbG9nLTcuNC40L3Rlc3RzL3Rlc3RzdWl0ZXMvZ3ppcHdyX2xhcmdlX2R5bmZpbGUuY29uZgkyMDEyLTA0LTA0IDE0OjI5OjU1LjAwMDAwMDAwMCArMDgwMAorKysrIHJzeXNsb2ctNy40LjQubmV3L3Rlc3RzL3Rlc3RzdWl0ZXMvZ3ppcHdyX2xhcmdlX2R5bmZpbGUuY29uZgkyMDEzLTEyLTE4IDE0OjI4OjEwLjY0NTAwNDE4NiArMDgwMAorQEAgLTEsNyArMSw3IEBACisgIyBzaW1wbGUgYXN5bmMgd3JpdGluZyB0ZXN0CisgIyByZ2VyaGFyZHMsIDIwMTAtMDMtMDkKKy0kTWF4TWVzc2FnZVNpemUgMTBrCisgJEluY2x1ZGVDb25maWcgZGlhZy1jb21tb24uY29uZgorKyRNYXhNZXNzYWdlU2l6ZSAxMGsKKyAKKyAkTW9kTG9hZCAuLi9wbHVnaW5zL2ltdGNwLy5saWJzL2ltdGNwCisgJE1haW5Nc2dRdWV1ZVRpbWVvdXRTaHV0ZG93biAxMDAwMAorZGlmZiAtTnJ1IHJzeXNsb2ctNy40LjQvdGVzdHMvdGVzdHN1aXRlcy9pbXB0Y3BfY29ubmRyb3AuY29uZiByc3lzbG9nLTcuNC40Lm5ldy90ZXN0cy90ZXN0c3VpdGVzL2ltcHRjcF9jb25uZHJvcC5jb25mCistLS0gcnN5c2xvZy03LjQuNC90ZXN0cy90ZXN0c3VpdGVzL2ltcHRjcF9jb25uZHJvcC5jb25mCTIwMTMtMDgtMzEgMDA6MzA6NDEuMDAwMDAwMDAwICswODAwCisrKysgcnN5c2xvZy03LjQuNC5uZXcvdGVzdHMvdGVzdHN1aXRlcy9pbXB0Y3BfY29ubmRyb3AuY29uZgkyMDEzLTEyLTE4IDE0OjI4OjEwLjY0NjAwNDE4OSArMDgwMAorQEAgLTEsNyArMSw3IEBACisgIyBzaW1wbGUgYXN5bmMgd3JpdGluZyB0ZXN0CisgIyByZ2VyaGFyZHMsIDIwMTAtMDMtMDkKKy0kTWF4TWVzc2FnZVNpemUgMTBrCisgJEluY2x1ZGVDb25maWcgZGlhZy1jb21tb24uY29uZgorKyRNYXhNZXNzYWdlU2l6ZSAxMGsKKyAKKyAkTW9kTG9hZCAuLi9wbHVnaW5zL2ltcHRjcC8ubGlicy9pbXB0Y3AKKyAkTWFpbk1zZ1F1ZXVlVGltZW91dFNodXRkb3duIDEwMDAwCitkaWZmIC1OcnUgcnN5c2xvZy03LjQuNC90ZXN0cy90ZXN0c3VpdGVzL2ltcHRjcF9sYXJnZS5jb25mIHJzeXNsb2ctNy40LjQubmV3L3Rlc3RzL3Rlc3RzdWl0ZXMvaW1wdGNwX2xhcmdlLmNvbmYKKy0tLSByc3lzbG9nLTcuNC40L3Rlc3RzL3Rlc3RzdWl0ZXMvaW1wdGNwX2xhcmdlLmNvbmYJMjAxMy0wOC0zMSAwMDozMDo0MS4wMDAwMDAwMDAgKzA4MDAKKysrKyByc3lzbG9nLTcuNC40Lm5ldy90ZXN0cy90ZXN0c3VpdGVzL2ltcHRjcF9sYXJnZS5jb25mCTIwMTMtMTItMTggMTQ6Mjg6MTAuNjQ2MDA0MTg5ICswODAwCitAQCAtMSw3ICsxLDcgQEAKKyAjIHNpbXBsZSBhc3luYyB3cml0aW5nIHRlc3QKKyAjIHJnZXJoYXJkcywgMjAxMC0wMy0wOQorLSRNYXhNZXNzYWdlU2l6ZSAxMGsKKyAkSW5jbHVkZUNvbmZpZyBkaWFnLWNvbW1vbi5jb25mCisrJE1heE1lc3NhZ2VTaXplIDEwaworIAorICRNb2RMb2FkIC4uL3BsdWdpbnMvaW1wdGNwLy5saWJzL2ltcHRjcAorICRNYWluTXNnUXVldWVUaW1lb3V0U2h1dGRvd24gMTAwMDAKK2RpZmYgLU5ydSByc3lzbG9nLTcuNC40L3Rlc3RzL3Rlc3RzdWl0ZXMvaW10Y3BfY29ubmRyb3AuY29uZiByc3lzbG9nLTcuNC40Lm5ldy90ZXN0cy90ZXN0c3VpdGVzL2ltdGNwX2Nvbm5kcm9wLmNvbmYKKy0tLSByc3lzbG9nLTcuNC40L3Rlc3RzL3Rlc3RzdWl0ZXMvaW10Y3BfY29ubmRyb3AuY29uZgkyMDEzLTA3LTE5IDIwOjU5OjAzLjAwMDAwMDAwMCArMDgwMAorKysrIHJzeXNsb2ctNy40LjQubmV3L3Rlc3RzL3Rlc3RzdWl0ZXMvaW10Y3BfY29ubmRyb3AuY29uZgkyMDEzLTEyLTE4IDE0OjI4OjEwLjY0NjAwNDE4OSArMDgwMAorQEAgLTEsNyArMSw3IEBACisgIyBzaW1wbGUgYXN5bmMgd3JpdGluZyB0ZXN0CisgIyByZ2VyaGFyZHMsIDIwMTAtMDMtMDkKKy0kTWF4TWVzc2FnZVNpemUgMTBrCisgJEluY2x1ZGVDb25maWcgZGlhZy1jb21tb24uY29uZgorKyRNYXhNZXNzYWdlU2l6ZSAxMGsKKyAKKyAkTW9kTG9hZCAuLi9wbHVnaW5zL2ltdGNwLy5saWJzL2ltdGNwCisgJE1haW5Nc2dRdWV1ZVRpbWVvdXRTaHV0ZG93biAxMDAwMAorZGlmZiAtTnJ1IHJzeXNsb2ctNy40LjQvdGVzdHMvdGVzdHN1aXRlcy93cl9sYXJnZS5jb25mIHJzeXNsb2ctNy40LjQubmV3L3Rlc3RzL3Rlc3RzdWl0ZXMvd3JfbGFyZ2UuY29uZgorLS0tIHJzeXNsb2ctNy40LjQvdGVzdHMvdGVzdHN1aXRlcy93cl9sYXJnZS5jb25mCTIwMTItMDQtMDQgMTQ6Mjk6NTUuMDAwMDAwMDAwICswODAwCisrKysgcnN5c2xvZy03LjQuNC5uZXcvdGVzdHMvdGVzdHN1aXRlcy93cl9sYXJnZS5jb25mCTIwMTMtMTItMTggMTQ6Mjg6MTAuNjQ3MDA0MTkwICswODAwCitAQCAtMSw3ICsxLDcgQEAKKyAjIHNpbXBsZSBhc3luYyB3cml0aW5nIHRlc3QKKyAjIHJnZXJoYXJkcywgMjAxMC0wMy0wOQorLSRNYXhNZXNzYWdlU2l6ZSAxMGsKKyAkSW5jbHVkZUNvbmZpZyBkaWFnLWNvbW1vbi5jb25mCisrJE1heE1lc3NhZ2VTaXplIDEwaworIAorICRNb2RMb2FkIC4uL3BsdWdpbnMvaW10Y3AvLmxpYnMvaW10Y3AKKyAkTWFpbk1zZ1F1ZXVlVGltZW91dFNodXRkb3duIDEwMDAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2cvcnN5c2xvZy5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nL3JzeXNsb2cuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMjRhZTZkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nL3JzeXNsb2cuY29uZgpAQCAtMCwwICsxLDg2IEBACisjIGlmIHlvdSBleHBlcmllbmNlIHByb2JsZW1zLCBjaGVjaworIyBodHRwOi8vd3d3LnJzeXNsb2cuY29tL3Ryb3VibGVzaG9vdCBmb3IgYXNzaXN0YW5jZQorCisjIHJzeXNsb2cgdjM6IGxvYWQgaW5wdXQgbW9kdWxlcworIyBJZiB5b3UgZG8gbm90IGxvYWQgaW5wdXRzLCBub3RoaW5nIGhhcHBlbnMhCisjIFlvdSBtYXkgbmVlZCB0byBzZXQgdGhlIG1vZHVsZSBsb2FkIHBhdGggaWYgbW9kdWxlcyBhcmUgbm90IGZvdW5kLgorIworIyBQb3J0ZWQgZnJvbSBkZWJpYW4ncyBzeXNrbG9nZC5jb25mCisKKyRNb2RMb2FkIGltbWFyayAgICMgcHJvdmlkZXMgLS1NQVJLLS0gbWVzc2FnZSBjYXBhYmlsaXR5CiskTW9kTG9hZCBpbXV4c29jayAjIHByb3ZpZGVzIHN1cHBvcnQgZm9yIGxvY2FsIHN5c3RlbSBsb2dnaW5nIChlLmcuIHZpYSBsb2dnZXIgY29tbWFuZCkKKyRNb2RMb2FkIGlta2xvZyAgICMga2VybmVsIGxvZ2dpbmcgKGZvcm1lcmx5IHByb3ZpZGVkIGJ5IHJrbG9nZCkKKworIworIyBTZXQgdGhlIGRlZmF1bHQgcGVybWlzc2lvbnMKKyMKKyRGaWxlT3duZXIgcm9vdAorJEZpbGVHcm91cCBhZG0KKyRGaWxlQ3JlYXRlTW9kZSAwNjQwCiskRGlyQ3JlYXRlTW9kZSAwNzU1CiskVW1hc2sgMDAyMgorCithdXRoLGF1dGhwcml2LiogICAgICAgICAgICAgICAgIC92YXIvbG9nL2F1dGgubG9nCisqLio7YXV0aCxhdXRocHJpdi5ub25lICAgICAgICAgIC0vdmFyL2xvZy9zeXNsb2cKK2Nyb24uKiAgICAgICAgICAgICAgICAgICAgICAgICAgL3Zhci9sb2cvY3Jvbi5sb2cKK2RhZW1vbi4qICAgICAgICAgICAgICAgICAgICAgICAgLS92YXIvbG9nL2RhZW1vbi5sb2cKK2tlcm4uKiAgICAgICAgICAgICAgICAgICAgICAgICAgLS92YXIvbG9nL2tlcm4ubG9nCitscHIuKiAgICAgICAgICAgICAgICAgICAgICAgICAgIC0vdmFyL2xvZy9scHIubG9nCittYWlsLiogICAgICAgICAgICAgICAgICAgICAgICAgIC0vdmFyL2xvZy9tYWlsLmxvZwordXNlci4qICAgICAgICAgICAgICAgICAgICAgICAgICAtL3Zhci9sb2cvdXNlci5sb2cKKworIworIyBMb2dnaW5nIGZvciB0aGUgbWFpbCBzeXN0ZW0uICBTcGxpdCBpdCB1cCBzbyB0aGF0CisjIGl0IGlzIGVhc3kgdG8gd3JpdGUgc2NyaXB0cyB0byBwYXJzZSB0aGVzZSBmaWxlcy4KKyMKK21haWwuaW5mbyAgICAgICAgICAgICAgICAgICAgICAgLS92YXIvbG9nL21haWwuaW5mbworbWFpbC53YXJuICAgICAgICAgICAgICAgICAgICAgICAtL3Zhci9sb2cvbWFpbC53YXJuCittYWlsLmVyciAgICAgICAgICAgICAgICAgICAgICAgIC92YXIvbG9nL21haWwuZXJyCisKKyMgTG9nZ2luZyBmb3IgSU5OIG5ld3Mgc3lzdGVtCisjCituZXdzLmNyaXQgICAgICAgICAgICAgICAgICAgICAgIC92YXIvbG9nL25ld3MuY3JpdAorbmV3cy5lcnIgICAgICAgICAgICAgICAgICAgICAgICAvdmFyL2xvZy9uZXdzLmVycgorbmV3cy5ub3RpY2UgICAgICAgICAgICAgICAgICAgICAtL3Zhci9sb2cvbmV3cy5ub3RpY2UKKworIworIyBTb21lIGBjYXRjaC1hbGwnIGxvZ2ZpbGVzLgorIworKi49ZGVidWc7XAorICAgICAgICBhdXRoLGF1dGhwcml2Lm5vbmU7XAorICAgICAgICBuZXdzLm5vbmU7bWFpbC5ub25lICAgICAtL3Zhci9sb2cvZGVidWcKKyouPWluZm87Ki49bm90aWNlOyouPXdhcm47XAorICAgICAgICBhdXRoLGF1dGhwcml2Lm5vbmU7XAorICAgICAgICBjcm9uLGRhZW1vbi5ub25lO1wKKyAgICAgICAgbWFpbCxuZXdzLm5vbmUgICAgICAgICAgLS92YXIvbG9nL21lc3NhZ2VzCisKKyMKKyMgRW1lcmdlbmNpZXMgYXJlIHNlbnQgdG8gZXZlcnlib2R5IGxvZ2dlZCBpbi4KKyMKKyouZW1lcmcgICAgICAgICAgICAgICAgICAgICAgICAgOm9tdXNybXNnOioKKworIyBTYXZlIGJvb3QgbWVzc2FnZXMgYWxzbyB0byBib290LmxvZworbG9jYWw3LiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvdmFyL2xvZy9ib290LmxvZworCisjIFJlbW90ZSBMb2dnaW5nICh3ZSB1c2UgVENQIGZvciByZWxpYWJsZSBkZWxpdmVyeSkKKyMgQW4gb24tZGlzayBxdWV1ZSBpcyBjcmVhdGVkIGZvciB0aGlzIGFjdGlvbi4gSWYgdGhlIHJlbW90ZSBob3N0IGlzCisjIGRvd24sIG1lc3NhZ2VzIGFyZSBzcG9vbGVkIHRvIGRpc2sgYW5kIHNlbnQgd2hlbiBpdCBpcyB1cCBhZ2Fpbi4KKyMkV29ya0RpcmVjdG9yeSAvdmFyL3Nwb29sL3JzeXNsb2cgIyB3aGVyZSB0byBwbGFjZSBzcG9vbCBmaWxlcworIyRBY3Rpb25RdWV1ZUZpbGVOYW1lIHVuaXFOYW1lICMgdW5pcXVlIG5hbWUgcHJlZml4IGZvciBzcG9vbCBmaWxlcworJEFjdGlvblF1ZXVlTWF4RGlza1NwYWNlIDEwbSAgICMgMWdiIHNwYWNlIGxpbWl0ICh1c2UgYXMgbXVjaCBhcyBwb3NzaWJsZSkKKyMkQWN0aW9uUXVldWVTYXZlT25TaHV0ZG93biBvbiAjIHNhdmUgbWVzc2FnZXMgdG8gZGlzayBvbiBzaHV0ZG93bgorIyRBY3Rpb25RdWV1ZVR5cGUgTGlua2VkTGlzdCAgICMgcnVuIGFzeW5jaHJvbm91c2x5CisjJEFjdGlvblJlc3VtZVJldHJ5Q291bnQgLTEgICAgIyBpbmZpbml0ZSByZXRyaWVzIGlmIGhvc3QgaXMgZG93bgorIyByZW1vdGUgaG9zdCBpczogbmFtZS9pcDpwb3J0LCBlLmcuIDE5Mi4xNjguMC4xOjUxNCwgcG9ydCBvcHRpb25hbAorIyouKiBAQHJlbW90ZS1ob3N0OjUxNAorCisKKyMgIyMjIyMjIyMjIFJlY2VpdmluZyBNZXNzYWdlcyBmcm9tIFJlbW90ZSBIb3N0cyAjIyMjIyMjIyMjCisjIFRDUCBTeXNsb2cgU2VydmVyOgorIyBwcm92aWRlcyBUQ1Agc3lzbG9nIHJlY2VwdGlvbiBhbmQgR1NTLUFQSSAoaWYgY29tcGlsZWQgdG8gc3VwcG9ydCBpdCkKKyMkTW9kTG9hZCBpbXRjcC5zbyAgIyBsb2FkIG1vZHVsZQorIyRJbnB1dFRDUFNlcnZlclJ1biA1MTQgIyBzdGFydCB1cCBUQ1AgbGlzdGVuZXIgYXQgcG9ydCA1MTQKKworIyBVRFAgU3lzbG9nIFNlcnZlcjoKKyMkTW9kTG9hZCBpbXVkcC5zbyAgIyBwcm92aWRlcyBVRFAgc3lzbG9nIHJlY2VwdGlvbgorIyRVRFBTZXJ2ZXJSdW4gNTE0ICMgc3RhcnQgYSBVRFAgc3lzbG9nIHNlcnZlciBhdCBzdGFuZGFyZCBwb3J0IDUxNApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nL3JzeXNsb2cubG9ncm90YXRlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nL3JzeXNsb2cubG9ncm90YXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0ZWM1MTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2cvcnN5c2xvZy5sb2dyb3RhdGUKQEAgLTAsMCArMSwzOSBAQAorIyAvZXRjL2xvZ3JvdGF0ZS5kL3JzeXNsb2cgLSBQb3J0ZWQgZnJvbSBEZWJpYW4KKworL3Zhci9sb2cvc3lzbG9nCit7CisgICAgICAgIHJvdGF0ZSA3CisgICAgICAgIGRhaWx5CisgICAgICAgIG1pc3NpbmdvaworICAgICAgICBub3RpZmVtcHR5CisgICAgICAgIGRlbGF5Y29tcHJlc3MKKyAgICAgICAgY29tcHJlc3MKKyAgICAgICAgcG9zdHJvdGF0ZQorCQkvYmluL2tpbGwgLUhVUCBgY2F0IC92YXIvcnVuL3JzeXNsb2dkLnBpZCAyPiAvZGV2L251bGxgIDI+IC9kZXYvbnVsbCB8fCB0cnVlCisgICAgICAgIGVuZHNjcmlwdAorfQorCisvdmFyL2xvZy9tYWlsLmluZm8KKy92YXIvbG9nL21haWwud2FybgorL3Zhci9sb2cvbWFpbC5lcnIKKy92YXIvbG9nL21haWwubG9nCisvdmFyL2xvZy9kYWVtb24ubG9nCisvdmFyL2xvZy9rZXJuLmxvZworL3Zhci9sb2cvYXV0aC5sb2cKKy92YXIvbG9nL3VzZXIubG9nCisvdmFyL2xvZy9scHIubG9nCisvdmFyL2xvZy9jcm9uLmxvZworL3Zhci9sb2cvZGVidWcKKy92YXIvbG9nL21lc3NhZ2VzCit7CisgICAgICAgIHJvdGF0ZSA0CisgICAgICAgIHdlZWtseQorICAgICAgICBtaXNzaW5nb2sKKyAgICAgICAgbm90aWZlbXB0eQorICAgICAgICBjb21wcmVzcworICAgICAgICBkZWxheWNvbXByZXNzCisgICAgICAgIHNoYXJlZHNjcmlwdHMKKyAgICAgICAgcG9zdHJvdGF0ZQorCQkvYmluL2tpbGwgLUhVUCBgY2F0IC92YXIvcnVuL3JzeXNsb2dkLnBpZCAyPiAvZGV2L251bGxgIDI+IC9kZXYvbnVsbCB8fCB0cnVlCisgICAgICAgIGVuZHNjcmlwdAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nL3J1bi1wdGVzdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZy9ydW4tcHRlc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzc3MGE3NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZy9ydW4tcHRlc3QKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKKyMKK21ha2UgLUMgdGVzdHMgLWsgY2hlY2stVEVTVFMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZy91c2UtcGtnY29uZmlnLXRvLWNoZWNrLWxpYmdjcnlwdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZy91c2UtcGtnY29uZmlnLXRvLWNoZWNrLWxpYmdjcnlwdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYmMxMDcwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nL3VzZS1wa2djb25maWctdG8tY2hlY2stbGliZ2NyeXB0LnBhdGNoCkBAIC0wLDAgKzEsNDggQEAKK0Zyb20gNWMzYmE3OTE3N2Y3ZDE3NjNkYjMzYzQzNThhZjJhZjYwZmYyMTRiNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJveSBMaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4gCitEYXRlOiBXZWQsIDE4IEp1biAyMDE0IDEzOjQ2OjUyICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIHVzZSBwa2djb25maWcgdG8gY2hlY2sgbGliZ2NyeXB0CisKK1Vwc3RyZWFtLXN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworbGliZ2NyeXB0IGRvZXMgbm8gbG9uZ2VyIHByb3ZpZGUgbGliZ2NyeXB0LWNvbmZpZywgYW5kIHByb3ZpZGUKKyoucGMsIHNvIHdlIHNob3VsZCB1c2UgcGtnY29uZmlnIHRvIGNoZWNrCisKK1NpZ25lZC1vZmYtYnk6IFJveSBMaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8ICAgMTkgKy0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMTggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDAxNzExNmUuLjFiODgwZjggMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTc4NCwyNCArNzg0LDcgQEAgQUNfQVJHX0VOQUJMRShsaWJnY3J5cHQsCisgICAgICAgICBbZW5hYmxlX2xpYmdjcnlwdD15ZXNdCisgKQorIGlmIHRlc3QgIngkZW5hYmxlX2xpYmdjcnlwdCIgPSAieHllcyI7IHRoZW4KKy0gICAgICAgIEFDX0NIRUNLX1BST0coCistICAgICAgCSAgICBbSEFWRV9MSUJHQ1JZUFRfQ09ORklHXSwKKy0gICAgICAgICAgICBbbGliZ2NyeXB0LWNvbmZpZ10sCistICAgICAgICAgICAgW3llc10sLCwKKy0gICAgICAgICAgICApCistICAgICAgICBpZiB0ZXN0ICJ4JHtIQVZFX0xJQkdDUllQVF9DT05GSUd9IiAhPSAieHllcyI7IHRoZW4KKy0gICAgICAgICAgIEFDX01TR19GQUlMVVJFKFtsaWJnY3J5cHQtY29uZmlnIG5vdCBmb3VuZCBpbiBQQVRIXSkKKy0gICAgICAgIGZpCistICAgICAgICBBQ19DSEVDS19MSUIoCistCQlbZ2NyeXB0XSwKKy0gICAgICAgIAlbZ2NyeV9jaXBoZXJfb3Blbl0sCistICAgICAgICAJW0xJQkdDUllQVF9DRkxBR1M9ImBsaWJnY3J5cHQtY29uZmlnIC0tY2ZsYWdzYCIKKy0gICAgICAgIAlMSUJHQ1JZUFRfTElCUz0iYGxpYmdjcnlwdC1jb25maWcgLS1saWJzYCIKKy0gICAgICAgIAldLAorLSAgICAgICAgCVtBQ19NU0dfRkFJTFVSRShbbGliZ2NyeXB0IGlzIG1pc3NpbmddKV0sCistICAgICAgICAJW2BsaWJnY3J5cHQtY29uZmlnIC0tbGlicyAtLWNmbGFnc2BdCistICAgICAgICAJKQorLQlBQ19ERUZJTkUoW0VOQUJMRV9MSUJHQ1JZUFRdLCBbMV0sIFtJbmRpY2F0b3IgdGhhdCBMSUJHQ1JZUFQgaXMgcHJlc2VudF0pCisrCVBLR19DSEVDS19NT0RVTEVTKExJQkdDUllQVCwgbGliZ2NyeXB0KQorIGZpCisgQU1fQ09ORElUSU9OQUwoRU5BQkxFX0xJQkdDUllQVCwgdGVzdCB4JGVuYWJsZV9saWJnY3J5cHQgPSB4eWVzKQorIEFDX1NVQlNUKExJQkdDUllQVF9DRkxBR1MpCistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nL3VzZV9nbnV0bHNfY2VydGlmaWNhdGVfdHlwZV9zZXRfcHJpb3JpdHlfb25seV9pZl9hdmFpbGFibGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2cvdXNlX2dudXRsc19jZXJ0aWZpY2F0ZV90eXBlX3NldF9wcmlvcml0eV9vbmx5X2lmX2F2YWlsYWJsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMWRhYjc1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nL3VzZV9nbnV0bHNfY2VydGlmaWNhdGVfdHlwZV9zZXRfcHJpb3JpdHlfb25seV9pZl9hdmFpbGFibGUucGF0Y2gKQEAgLTAsMCArMSw3OSBAQAorRnJvbSAyMTY3NDAzOWRiOTlkMTA2N2U5ZGY0ZGYwNGQ5NjUyOTdkNjJjNmFmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUmFpbmVyIEdlcmhhcmRzIDxyZ2VyaGFyZHNAYWRpc2Nvbi5jb20+CitEYXRlOiBNb24sIDE4IE1heSAyMDE1IDA5OjM2OjAyICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIHVzZSBnbnV0bHNfY2VydGlmaWNhdGVfdHlwZV9zZXRfcHJpb3JpdHkoKSBvbmx5IGlmIGF2YWlsYWJsZQorCitUaGUgZ251dGxzX2NlcnRpZmljYXRlX3R5cGVfc2V0X3ByaW9yaXR5IGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQKK2FuZCBub3QgYXZhaWxhYmxlIGluIHJlY2VudCBHbnVUTFMgdmVyc2lvbnMuIEhvd2V2ZXIsIHRoZXJlIGlzIG5vCitkb2MgaG93IHRvIHByb3Blcmx5IHJlcGxhY2UgaXQgd2l0aCBnbnV0bHNfcHJpb3JpdHlfc2V0X2RpcmVjdC4KK0EgbG90IG9mIGZvbGtzIGhhdmUgc2ltcGx5IHJlbW92ZWQgaXQsIHdoZW4gdGhleSBhbHNvIGNhbGxlZAorZ251dGxzX3NldF9kZWZhdWx0X3ByaW9yaXR5LiBUaGlzIGlzIHdoYXQgd2Ugbm93IGFsc28gZG8uIElmCit0aGlzIGNhdXNlcyBwcm9ibGVtcyBvciBzb21lb25lIGhhcyBhbiBpZGVhIG9mIGhvdyB0byByZXBsYWNlCit0aGUgZGVwcmVjYXRlZCBmdW5jdGlvbiBpbiBhIGJldHRlciB3YXksIHBsZWFzZSBsZXQgdXMga25vdyEKK0luIGFueSBjYXNlLCB3ZSB1c2UgaXQgYXMgbG9uZyBhcyBpdCBpcyBhdmFpbGFibGUgYW5kIGxldAorbm90IGluc3VsdCB1cyBieSB0aGUgZGVwcmVjYXRpb24gd2FybmluZ3MuCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKK1NpZ25lZC1vZmYtYnk6IFR1ZG9yIEZsb3JlYSAgPHR1ZG9yLmZsb3JlYUBlbmVhLmNvbT4KKworLS0tCisgY29uZmlndXJlLmFjICAgICAgIHwgIDEgKworIHJ1bnRpbWUvbnNkX2d0bHMuYyB8IDE4ICsrKysrKysrKysrKysrKystLQorIDIgZmlsZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggNTY4MzVmYi4uMWMyYmUwMSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNzY1LDYgKzc2NSw3IEBAIGlmIHRlc3QgIngkZW5hYmxlX2dudXRscyIgPSAieHllcyI7IHRoZW4KKyAJQUNfREVGSU5FKFtFTkFCTEVfR05VVExTXSwgWzFdLCBbSW5kaWNhdG9yIHRoYXQgR251VExTIGlzIHByZXNlbnRdKQorICAgICAgICAgQUNfQ0hFQ0tfTElCKGdudXRscywgZ251dGxzX2dsb2JhbF9pbml0KQorIAlBQ19DSEVDS19GVU5DUyhnbnV0bHNfY2VydGlmaWNhdGVfc2V0X3JldHJpZXZlX2Z1bmN0aW9uLCwpCisrCUFDX0NIRUNLX0ZVTkNTKGdudXRsc19jZXJ0aWZpY2F0ZV90eXBlX3NldF9wcmlvcml0eSwsKQorIGZpCisgQU1fQ09ORElUSU9OQUwoRU5BQkxFX0dOVVRMUywgdGVzdCB4JGVuYWJsZV9nbnV0bHMgPSB4eWVzKQorIAorZGlmZiAtLWdpdCBhL3J1bnRpbWUvbnNkX2d0bHMuYyBiL3J1bnRpbWUvbnNkX2d0bHMuYworaW5kZXggZTEyNzgzNC4uNGI2YWFiMSAxMDA2NDQKKy0tLSBhL3J1bnRpbWUvbnNkX2d0bHMuYworKysrIGIvcnVudGltZS9uc2RfZ3Rscy5jCitAQCAtMTY1OCw4ICsxNjU4LDkgQEAgQ29ubmVjdChuc2RfdCAqcE5zZCwgaW50IGZhbWlseSwgdWNoYXIgKnBvcnQsIHVjaGFyICpob3N0KQorIAluc2RfZ3Rsc190ICpwVGhpcyA9IChuc2RfZ3Rsc190KikgcE5zZDsKKyAJaW50IHNvY2s7CisgCWludCBnbnVSZXQ7CistCS8qIFRPRE86IGxhdGVyPyBzdGF0aWMgY29uc3QgaW50IGNlcnRfdHlwZV9wcmlvcml0eVszXSA9IHsgR05VVExTX0NSVF9YNTA5LCBHTlVUTFNfQ1JUX09QRU5QR1AsIDAgfTsqLworKyMJaWYgSEFWRV9HTlVUTFNfQ0VSVElGSUNBVEVfVFlQRV9TRVRfUFJJT1JJVFkKKyAJc3RhdGljIGNvbnN0IGludCBjZXJ0X3R5cGVfcHJpb3JpdHlbMl0gPSB7IEdOVVRMU19DUlRfWDUwOSwgMCB9OworKyMJZW5kaWYKKyAJREVGaVJldDsKKyAKKyAJSVNPQkpfVFlQRV9hc3NlcnQocFRoaXMsIG5zZF9ndGxzKTsKK0BAIC0xNjg4LDE0ICsxNjg5LDI3IEBAIENvbm5lY3QobnNkX3QgKnBOc2QsIGludCBmYW1pbHksIHVjaGFyICpwb3J0LCB1Y2hhciAqaG9zdCkKKyAJCWdudXRsc19jZXJ0aWZpY2F0ZV9zZXRfcmV0cmlldmVfZnVuY3Rpb24oeGNyZWQsIGd0bHNDbGllbnRDZXJ0Q2FsbGJhY2spOworICMJCWVsc2UKKyAJCWdudXRsc19jZXJ0aWZpY2F0ZV9jbGllbnRfc2V0X3JldHJpZXZlX2Z1bmN0aW9uKHhjcmVkLCBndGxzQ2xpZW50Q2VydENhbGxiYWNrKTsKKy0jCWVuZGlmCisrIwkJZW5kaWYKKyAJfSBlbHNlIGlmKGlSZXQgIT0gUlNfUkVUX0NFUlRMRVNTKSB7CisgCQlGSU5BTElaRTsgLyogd2UgaGF2ZSBhbiBlcnJvciBjYXNlISAqLworIAl9CisgCisgCS8qIFVzZSBkZWZhdWx0IHByaW9yaXRpZXMgKi8KKyAJQ0hLZ251dGxzKGdudXRsc19zZXRfZGVmYXVsdF9wcmlvcml0eShwVGhpcy0+c2VzcykpOworKyMJaWYgSEFWRV9HTlVUTFNfQ0VSVElGSUNBVEVfVFlQRV9TRVRfUFJJT1JJVFkKKysJLyogVGhlIGdudXRsc19jZXJ0aWZpY2F0ZV90eXBlX3NldF9wcmlvcml0eSBmdW5jdGlvbiBpcyBkZXByZWNhdGVkCisrCSAqIGFuZCBub3QgYXZhaWxhYmxlIGluIHJlY2VudCBHbnVUTFMgdmVyc2lvbnMuIEhvd2V2ZXIsIHRoZXJlIGlzIG5vCisrCSAqIGRvYyBob3cgdG8gcHJvcGVybHkgcmVwbGFjZSBpdCB3aXRoIGdudXRsc19wcmlvcml0eV9zZXRfZGlyZWN0LgorKwkgKiBBIGxvdCBvZiBmb2xrcyBoYXZlIHNpbXBseSByZW1vdmVkIGl0LCB3aGVuIHRoZXkgYWxzbyBjYWxsZWQKKysJICogZ251dGxzX3NldF9kZWZhdWx0X3ByaW9yaXR5LiBUaGlzIGlzIHdoYXQgd2Ugbm93IGFsc28gZG8uIElmCisrCSAqIHRoaXMgY2F1c2VzIHByb2JsZW1zIG9yIHNvbWVvbmUgaGFzIGFuIGlkZWEgb2YgaG93IHRvIHJlcGxhY2UKKysJICogdGhlIGRlcHJlY2F0ZWQgZnVuY3Rpb24gaW4gYSBiZXR0ZXIgd2F5LCBwbGVhc2UgbGV0IHVzIGtub3chCisrCSAqIEluIGFueSBjYXNlLCB3ZSB1c2UgaXQgYXMgbG9uZyBhcyBpdCBpcyBhdmFpbGFibGUgYW5kIGxldAorKwkgKiBub3QgaW5zdWx0IHVzIGJ5IHRoZSBkZXByZWNhdGlvbiB3YXJuaW5ncy4KKysJICogMjAxNS0wNS0xOCByZ2VyaGFyZHMKKysJICovCisgCUNIS2dudXRscyhnbnV0bHNfY2VydGlmaWNhdGVfdHlwZV9zZXRfcHJpb3JpdHkocFRoaXMtPnNlc3MsIGNlcnRfdHlwZV9wcmlvcml0eSkpOworKyMJZW5kaWYKKyAKKyAJLyogcHV0IHRoZSB4NTA5IGNyZWRlbnRpYWxzIHRvIHRoZSBjdXJyZW50IHNlc3Npb24gKi8KKyAJQ0hLZ251dGxzKGdudXRsc19jcmVkZW50aWFsc19zZXQocFRoaXMtPnNlc3MsIEdOVVRMU19DUkRfQ0VSVElGSUNBVEUsIHhjcmVkKSk7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2dfNy42LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2dfNy42LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzFkOTIzYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZ183LjYuMS5iYgpAQCAtMCwwICsxLDE3OCBAQAorU1VNTUFSWSA9ICJSc3lzbG9nIGlzIGFuIGVuaGFuY2VkIG11bHRpLXRocmVhZGVkIHN5c2xvZ2QiCitERVNDUklQVElPTiA9ICJcCitSc3lzbG9nIGlzIGFuIGVuaGFuY2VkIHN5c2xvZ2Qgc3VwcG9ydGluZywgYW1vbmcgb3RoZXJzLCBNeVNRTCxcCisgUG9zdGdyZVNRTCwgZmFpbG92ZXIgbG9nIGRlc3RpbmF0aW9ucywgc3lzbG9nL3RjcCwgZmluZSBncmFpblwKKyBvdXRwdXQgZm9ybWF0IGNvbnRyb2wsIGhpZ2ggcHJlY2lzaW9uIHRpbWVzdGFtcHMsIHF1ZXVlZCBvcGVyYXRpb25zXAorIGFuZCB0aGUgYWJpbGl0eSB0byBmaWx0ZXIgb24gYW55IG1lc3NhZ2UgcGFydC4gSXQgaXMgcXVpdGVcCisgY29tcGF0aWJsZSB0byBzdG9jayBzeXNrbG9nZCBhbmQgY2FuIGJlIHVzZWQgYXMgYSBkcm9wLWluIHJlcGxhY2VtZW50LlwKKyBJdHMgYWR2YW5jZWQgZmVhdHVyZXMgbWFrZSBpdCBzdWl0YWJsZSBmb3IgZW50ZXJwcmlzZS1jbGFzcyxcCisgZW5jcnlwdGlvbiBwcm90ZWN0ZWQgc3lzbG9nIHJlbGF5IGNoYWlucyB3aGlsZSBhdCB0aGUgc2FtZSB0aW1lIGJlaW5nXAorIHZlcnkgZWFzeSB0byBzZXR1cCBmb3IgdGhlIG5vdmljZSB1c2VyLiIKKworREVQRU5EUyA9ICJ6bGliIGxpYmVzdHIganNvbi1jIGJpc29uLW5hdGl2ZSBmbGV4LW5hdGl2ZSBsaWJsb2dnaW5nIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5yc3lzbG9nLmNvbS8iCitMSUNFTlNFID0gIkdQTHYzICYgTEdQTHYzICYgQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTUxZDk2MzVlNjQ2ZmI3NWUxYjc0YzA3NGY3ODhlOTczIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEVTU0VSO21kNT1jYjc5MDNmMWU1YzM5YWU4MzgyMDllMTMwZGNhMjcwYSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkFTTDIwO21kNT0wNTJmOGEwOTIwNjYxNWFiMDczMjZmZjhjZTJkOWQzMlwKKyIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LnJzeXNsb2cuY29tL2Rvd25sb2FkL2ZpbGVzL2Rvd25sb2FkL3JzeXNsb2cvJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9pbml0c2NyaXB0IFwKKyAgICAgICAgICAgZmlsZTovL3JzeXNsb2cuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly9yc3lzbG9nLmxvZ3JvdGF0ZSBcCisgICAgICAgICAgIGZpbGU6Ly91c2UtcGtnY29uZmlnLXRvLWNoZWNrLWxpYmdjcnlwdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICAgICBmaWxlOi8vcnN5c2xvZy1maXgtcHRlc3Qtbm90LWZpbmlzaC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9qc29uLTAuMTItZml4LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3JlcGxhY2VfZGVwcmVjYXRlZF9HbnVUTFNfZnVuY3Rpb25zLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3VzZV9nbnV0bHNfY2VydGlmaWNhdGVfdHlwZV9zZXRfcHJpb3JpdHlfb25seV9pZl9hdmFpbGFibGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZW5hYmxlX3Rsc19wdGVzdHMucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDkzYzQ2MmE1MjQ1MDEyYmQ5ZTdiODJkZDhhZWRmZmIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzU3ZjA4OWQ4NjZjMzUxZDVmZTViNzEzOWZhODViMDEwMjIzZDc3YjNjMjFmMjliMmExYmFhODY4ODkyNjExMSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHN5c3RlbWQgdXBkYXRlLXJjLmQgdXBkYXRlLWFsdGVybmF0aXZlcyBwdGVzdAorCitFWFRSQV9PRUNPTkYgKz0gIi0tZW5hYmxlLWNhY2hlZC1tYW4tcGFnZXMiCisKKyMgZmlyc3QgbGluZSBpcyBkZWZhdWx0IHllcyBpbiBjb25maWd1cmUKK1BBQ0tBR0VDT05GSUcgPz89ICIgXAorICAgIHpsaWIgcnN5c2xvZ2QgcnN5c2xvZ3J0IGtsb2cgaW5ldCByZWdleHAgdXVpZCBsaWJnY3J5cHQgXAorICAgIGltZGlhZyBnbnV0bHMgaW1maWxlIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3NubXAnLCAnc25tcCcsICcnLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICdzeXN0ZW1kJywgJycsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwdGVzdCcsICd0ZXN0YmVuY2ggJHtWQUxHUklORH0nLCAnJywgZCl9IFwKKyIKKworIyBkZWZhdWx0IHllcyBpbiBjb25maWd1cmUKK1BBQ0tBR0VDT05GSUdbemxpYl0gPSAiLS1lbmFibGUtemxpYiwtLWRpc2FibGUtemxpYix6bGliLCIKK1BBQ0tBR0VDT05GSUdbcnN5c2xvZ2RdID0gIi0tZW5hYmxlLXJzeXNsb2dkLC0tZGlzYWJsZS1yc3lzbG9nZCwsIgorUEFDS0FHRUNPTkZJR1tyc3lzbG9ncnRdID0gIi0tZW5hYmxlLXJzeXNsb2dydCwtLWRpc2FibGUtcnN5c2xvZ3J0LCwiCitQQUNLQUdFQ09ORklHW2luZXRdID0gIi0tZW5hYmxlLWluZXQsLS1kaXNhYmxlLWluZXQsLCIKK1BBQ0tBR0VDT05GSUdba2xvZ10gPSAiLS1lbmFibGUta2xvZywtLWRpc2FibGUta2xvZywsIgorUEFDS0FHRUNPTkZJR1tyZWdleHBdID0gIi0tZW5hYmxlLXJlZ2V4cCwtLWRpc2FibGUtcmVnZXhwLCwiCitQQUNLQUdFQ09ORklHW3V1aWRdID0gIi0tZW5hYmxlLXV1aWQsLS1kaXNhYmxlLXV1aWQsdXRpbC1saW51eCwiCitQQUNLQUdFQ09ORklHW2xpYmdjcnlwdF0gPSAiLS1lbmFibGUtbGliZ2NyeXB0LC0tZGlzYWJsZS1saWJnY3J5cHQsbGliZ2NyeXB0LCIKK1BBQ0tBR0VDT05GSUdbdGVzdGJlbmNoXSA9ICItLWVuYWJsZS10ZXN0YmVuY2gsLS1kaXNhYmxlLXRlc3RiZW5jaCwsIgorCisjIGRlZmF1bHQgbm8gaW4gY29uZmlndXJlCitQQUNLQUdFQ09ORklHW2RlYnVnXSA9ICItLWVuYWJsZS1kZWJ1ZywtLWRpc2FibGUtZGVidWcsLCIKK1BBQ0tBR0VDT05GSUdbaW1kaWFnXSA9ICItLWVuYWJsZS1pbWRpYWcsLS1kaXNhYmxlLWltZGlhZywsIgorUEFDS0FHRUNPTkZJR1tpbWZpbGVdID0gIi0tZW5hYmxlLWltZmlsZSwtLWRpc2FibGUtaW1maWxlLCwiCitQQUNLQUdFQ09ORklHW3NubXBdID0gIi0tZW5hYmxlLXNubXAsLS1kaXNhYmxlLXNubXAsbmV0LXNubXAsIgorUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi0tZW5hYmxlLWdudXRscywtLWRpc2FibGUtZ251dGxzLGdudXRscywiCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLywtLXdpdGhvdXQtc3lzdGVtZHN5c3RlbXVuaXRkaXIsc3lzdGVtZCwiCitQQUNLQUdFQ09ORklHW215c3FsXSA9ICItLWVuYWJsZS1teXNxbCwtLWRpc2FibGUtbXlzcWwsbXlzcWw1LCIKK1BBQ0tBR0VDT05GSUdbcG9zdGdyZXNxbF0gPSAiLS1lbmFibGUtcGdzcWwsLS1kaXNhYmxlLXBnc3FsLHBvc3RncmVzcWwsIgorUEFDS0FHRUNPTkZJR1tsaWJkYmldID0gIi0tZW5hYmxlLWxpYmRiaSwtLWRpc2FibGUtbGliZGJpLGxpYmRiaSwiCitQQUNLQUdFQ09ORklHW21haWxdID0gIi0tZW5hYmxlLW1haWwsLS1kaXNhYmxlLW1haWwsLCIKK1BBQ0tBR0VDT05GSUdbZ3VpXSA9ICItLWVuYWJsZS1ndWksLS1kaXNhYmxlLWd1aSwsIgorUEFDS0FHRUNPTkZJR1t2YWxncmluZF0gPSAiLS1lbmFibGUtdmFsZ3JpbmQsLS1kaXNhYmxlLXZhbGdyaW5kLHZhbGdyaW5kLCIKKworVEVTVERJUiA9ICJ0ZXN0cyIKK2RvX2NvbXBpbGVfcHRlc3QoKSB7CisgICAgZWNobyAnYnVpbGR0ZXN0LVRFU1RTOiAkKGNoZWNrX1BST0dSQU1TKScgPj4gJHtURVNURElSfS9NYWtlZmlsZQorICAgIG9lX3J1bm1ha2UgLUMgJHtURVNURElSfSBidWlsZHRlc3QtVEVTVFMKK30KKworZG9faW5zdGFsbF9wdGVzdCgpIHsKKyAgICAjIGluc3RhbGwgdGhlIHRlc3RzCisgICAgY3AgLXJmICR7U30vJHtURVNURElSfSAke0R9JHtQVEVTVF9QQVRIfQorICAgIGNwIC1yZiAke0J9LyR7VEVTVERJUn0gJHtEfSR7UFRFU1RfUEFUSH0KKworICAgICMgZG8gTk9UIG5lZWQgdG8gcmVidWlsZCBNYWtlZmlsZSBpdHNlbGYKKyAgICBzZWQgLWkgJ3MvXk1ha2VmaWxlOi4qJC9NYWtlZmlsZTovJyAke0R9JHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9L01ha2VmaWxlCisKKyAgICAjIGZpeCB0aGUgc3JjZGlyLCB0b3Bfc3JjZGlyCisgICAgc2VkIC1pICdzLF5cKHNyY2RpciA9IFwpLiosXDEke1BURVNUX1BBVEh9L3Rlc3RzLCcgJHtEfSR7UFRFU1RfUEFUSH0vJHtURVNURElSfS9NYWtlZmlsZQorICAgIHNlZCAtaSAncyxeXCh0b3Bfc3JjZGlyID0gXCkuKixcMSR7UFRFU1RfUEFUSH0vdGVzdHMsJyAke0R9JHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9L01ha2VmaWxlCisKKyAgICAjIHZhbGdyaW5kIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggYXJtIGFuZCBtaXBzLAorICAgICMgc28gcmVtb3ZlIHJlbGF0ZWQgdGVzdCBjYXNlcyBpZiB0aGVyZSBpcyBubyB2YWxncmluZC4KKyAgICBpZiBbIHgke1ZBTEdSSU5EfSA9IHggXTsgdGhlbgorICAgICAgICBzZWQgLWkgJy91ZHAtbXNncmVkdWMtL2QnICR7RH0ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0vTWFrZWZpbGUKKyAgICBmaQorCisgICAgIyBpbnN0YWxsIHRlc3QtZHJpdmVyCisgICAgaW5zdGFsbCAtbSA2NDQgJHtTfS90ZXN0LWRyaXZlciAke0R9JHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9CisKKyAgICAjIGluc3RhbGwgbmVjZXNzYXJ5IGxpbmtzCisgICAgaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS90b29scworICAgIGxuIC1zZiAke3NiaW5kaXJ9L3JzeXNsb2dkICR7RH0ke1BURVNUX1BBVEh9L3Rvb2xzL3JzeXNsb2dkCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3J1bnRpbWUKKyAgICBpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3J1bnRpbWUvLmxpYnMKKyAgICAoCisgICAgICAgIGNkICR7RH0vJHtsaWJkaXJ9L3JzeXNsb2cKKyAgICAgICAgYWxsc289Iiouc28iCisgICAgICAgIGZvciBpIGluICRhbGxzbzsgZG8KKyAgICAgICAgICAgIGxuIC1zZiAke2xpYmRpcn0vcnN5c2xvZy8kaSAke0R9JHtQVEVTVF9QQVRIfS9ydW50aW1lLy5saWJzLyRpCisgICAgICAgIGRvbmUKKyAgICApCisKKyAgICAjIGZpeCB0aGUgbW9kdWxlIGxvYWQgcGF0aCB3aXRoIHJ1bnRpbWUvLmxpYnMKKyAgICBmaW5kICR7RH0ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0gLW5hbWUgXCouY29uZiAtZXhlYyBcCisgICAgICAgIHNlZCAtaSAtZSAnczouLi9wbHVnaW5zLy4qLy5saWJzLzouLi9ydW50aW1lLy5saWJzLzonIFwKKyAgICAgICAgJ3t9JyBcOworfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICIke0R9JHtzeXNjb25mZGlyfS9pbml0LmQiCisgICAgaW5zdGFsbCAtbSA3NTUgJHtXT1JLRElSfS9pbml0c2NyaXB0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9zeXNsb2cuJHtCUE59CisgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9yc3lzbG9nLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vcnN5c2xvZy5jb25mCisgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9yc3lzbG9nLmxvZ3JvdGF0ZSAke0R9JHtzeXNjb25mZGlyfS9sb2dyb3RhdGUucnN5c2xvZworfQorCitGSUxFU18ke1BOfSArPSAiJHtiaW5kaXJ9IgorCitJTklUU0NSSVBUX05BTUUgPSAic3lzbG9nIgorSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMiCisKKyMgaGlnaGVyIHRoYW4gc3lza2xvZ2QncyAxMDAKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjExMCIKKworQUxURVJOQVRJVkVfJHtQTn0gPSAic3lzbG9nZCBzeXNsb2ctY29uZiBzeXNsb2ctbG9ncm90YXRlIgorCitBTFRFUk5BVElWRV9MSU5LX05BTUVbc3lzbG9nZF0gPSAiJHtiYXNlX3NiaW5kaXJ9L3N5c2xvZ2QiCitBTFRFUk5BVElWRV9UQVJHRVRbc3lzbG9nZF0gPSAiJHtzYmluZGlyfS9yc3lzbG9nZCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtzeXNsb2ctY29uZl0gPSAiJHtzeXNjb25mZGlyfS9zeXNsb2cuY29uZiIKK0FMVEVSTkFUSVZFX1RBUkdFVFtzeXNsb2ctY29uZl0gPSAiJHtzeXNjb25mZGlyfS9yc3lzbG9nLmNvbmYiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbc3lzbG9nLWxvZ3JvdGF0ZV0gPSAiJHtzeXNjb25mZGlyfS9sb2dyb3RhdGUuZC9zeXNsb2ciCitBTFRFUk5BVElWRV9UQVJHRVRbc3lzbG9nLWxvZ3JvdGF0ZV0gPSAiJHtzeXNjb25mZGlyfS9sb2dyb3RhdGUucnN5c2xvZyIKKworQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vcnN5c2xvZy5jb25mIgorCitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIiR7QlBOfS5zZXJ2aWNlIgorCitSREVQRU5EU18ke1BOfSArPSAibG9ncm90YXRlIgorCisjIGZvciByc3lzbG9nLXB0ZXN0CitWQUxHUklORCA9ICJ2YWxncmluZCIKK1ZBTEdSSU5EX21pcHMgPSAiIgorVkFMR1JJTkRfbWlwczY0ID0gIiIKK1ZBTEdSSU5EX21pcHM2NG4zMiA9ICIiCitWQUxHUklORF9hcm0gPSAiIgorVkFMR1JJTkRfYWFyY2g2NCA9ICIiCitSREVQRU5EU18ke1BOfS1wdGVzdCArPSAibWFrZSBkaWZmdXRpbHMgZ3ppcCIKK1JSRUNPTU1FTkRTXyR7UE59LXB0ZXN0ICs9ICIke1RDTElCQ30tZGJnICR7VkFMR1JJTkR9IgorCisjIG5vIHN5c2xvZy1pbml0IGZvciBzeXN0ZW1kCitweXRob24gKCkgeworICAgIGlmIGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdmluaXQnLCBUcnVlLCBGYWxzZSwgZCk6CisgICAgICAgIHBuID0gZC5nZXRWYXIoJ1BOJywgVHJ1ZSkKKyAgICAgICAgc3lzY29uZmRpciA9IGQuZ2V0VmFyKCdzeXNjb25mZGlyJywgVHJ1ZSkKKyAgICAgICAgZC5hcHBlbmRWYXIoJ0FMVEVSTkFUSVZFXyVzJyAlIChwbiksICcgc3lzbG9nLWluaXQnKQorICAgICAgICBkLnNldFZhckZsYWcoJ0FMVEVSTkFUSVZFX0xJTktfTkFNRScsICdzeXNsb2ctaW5pdCcsICclcy9pbml0LmQvc3lzbG9nJyAlIChzeXNjb25mZGlyKSkKKyAgICAgICAgZC5zZXRWYXJGbGFnKCdBTFRFUk5BVElWRV9UQVJHRVQnLCAnc3lzbG9nLWluaXQnLCAnJXMvaW5pdC5kL3N5c2xvZy4lcycgJSAoZC5nZXRWYXIoJ3N5c2NvbmZkaXInLCBUcnVlKSwgZC5nZXRWYXIoJ0JQTicsIFRydWUpKSkKKworICAgIGlmIGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsIFRydWUsIEZhbHNlLCBkKToKKyAgICAgICAgcG4gPSBkLmdldFZhcignUE4nLCBUcnVlKQorICAgICAgICBkLmFwcGVuZFZhcignQUxURVJOQVRJVkVfJXMnICUgKHBuKSwgJyBzeXNsb2ctc2VydmljZScpCisgICAgICAgIGQuc2V0VmFyRmxhZygnQUxURVJOQVRJVkVfTElOS19OQU1FJywgJ3N5c2xvZy1zZXJ2aWNlJywgJyVzL3N5c3RlbWQvc3lzdGVtL3N5c2xvZy5zZXJ2aWNlJyAlIChkLmdldFZhcignc3lzY29uZmRpcicsIFRydWUpKSkKKyAgICAgICAgZC5zZXRWYXJGbGFnKCdBTFRFUk5BVElWRV9UQVJHRVQnLCAnc3lzbG9nLXNlcnZpY2UnLCAnJXMvc3lzdGVtL3JzeXNsb2cuc2VydmljZScgJSAoZC5nZXRWYXIoJ3N5c3RlbWRfdW5pdGRpcicsIFRydWUpKSkKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLWNtcGktZGV2ZWwvc2JsaW0tY21waS1kZXZlbC9zYmxpbS1jbXBpLWRldmVsLTIuMC4zLWRvY2Rpci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLWNtcGktZGV2ZWwvc2JsaW0tY21waS1kZXZlbC9zYmxpbS1jbXBpLWRldmVsLTIuMC4zLWRvY2Rpci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ODk0MGMxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2JsaW0tY21waS1kZXZlbC9zYmxpbS1jbXBpLWRldmVsL3NibGltLWNtcGktZGV2ZWwtMi4wLjMtZG9jZGlyLnBhdGNoCkBAIC0wLDAgKzEsMTcgQEAKK1BvcnQgZnJvbSBGZWRvcmEyMAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IFFpYW4gTGVpIDxxaWFubC5mbnN0QGNuLmZ1aml0c3UuY29tPgorCitkaWZmIC11cCBzYmxpbS1jbXBpLWRldmVsLTIuMC4zL01ha2VmaWxlLmluLm9yaWcgc2JsaW0tY21waS1kZXZlbC0yLjAuMy9NYWtlZmlsZS5pbgorLS0tIHNibGltLWNtcGktZGV2ZWwtMi4wLjMvTWFrZWZpbGUuaW4ub3JpZwkyMDEyLTA3LTMxIDA2OjExOjUxLjAwMDAwMDAwMCArMDIwMAorKysrIHNibGltLWNtcGktZGV2ZWwtMi4wLjMvTWFrZWZpbGUuaW4JMjAxMy0wOC0wNyAxODoyODowOS42MDA3MTI4MDcgKzAyMDAKK0BAIC0yMjEsNyArMjIxLDcgQEAgYnVpbGRfdmVuZG9yID0gQGJ1aWxkX3ZlbmRvckAKKyBidWlsZGRpciA9IEBidWlsZGRpckAKKyBkYXRhZGlyID0gQGRhdGFkaXJACisgZGF0YXJvb3RkaXIgPSBAZGF0YXJvb3RkaXJACistZG9jZGlyID0gJChkYXRhZGlyKS9kb2MvJChQQUNLQUdFKS0kKFZFUlNJT04pCisrZG9jZGlyID0gJChkYXRhZGlyKS9kb2MvJChQQUNLQUdFKQorIGR2aWRpciA9IEBkdmlkaXJACisgZXhlY19wcmVmaXggPSBAZXhlY19wcmVmaXhACisgaG9zdCA9IEBob3N0QApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2JsaW0tY21waS1kZXZlbC9zYmxpbS1jbXBpLWRldmVsXzIuMC4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2JsaW0tY21waS1kZXZlbC9zYmxpbS1jbXBpLWRldmVsXzIuMC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlNWZjN2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zYmxpbS1jbXBpLWRldmVsL3NibGltLWNtcGktZGV2ZWxfMi4wLjMuYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSA9ICJTQkxJTSBDTVBJIFByb3ZpZGVyIERldmVsb3BtZW50IFN1cHBvcnQiCitERVNDUklQVElPTiA9ICJcCitUaGlzIHBhY2thZ2VzIHByb3ZpZGVzIHRoZSBDIGFuZCBDKysgQ01QSSBoZWFkZXIgZmlsZXMgbmVlZGVkIGJ5IHByb3ZpZGVyIFwKK2RldmVsb3BlcnMgYW5kIGNhbiBiZSB1c2VkIHN0YW5kYWxvbmUuIElmIHVzZWQgZm9yIEMrKyBwcm92aWRlciBkZXZlbG9wbWVudCBcCitpdCBpcyBhbHNvIG5lY2Vzc2FyeSB0byBoYXZlIHRvZy1wZWdhc3VzLWRldmVsIGluc3RhbGxlZC4iCitIT01FUEFHRSA9ICJodHRwOi8vc2JsaW0ud2lraS5zb3VyY2Vmb3JnZS5uZXQvIgorTElDRU5TRSA9ICJFUEwtMS4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NWY2M2QzYTRlNzAxMTI5ZTg2OWU4OWQ3ZGNhYzg5ODIiCitTRUNUSU9OID0gIkRldmVsb3BtZW50L0xpYnJhcmllcyIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vc2JsaW0vJHtCUH0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9zYmxpbS1jbXBpLWRldmVsLTIuMC4zLWRvY2Rpci5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICJiOTM0NjE2Zjg4YTg0OGYxN2NhM2NmMWI5ZTc5MmNiZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxNjcxY2FiZmY2YjkyMmI2ZmRlODk3NjczZDlmZGFmZDU2YzkzMTBmODJhN2VhY2MwNTQ3ZDU5NmI5Y2RmZWE2IgorCitpbmhlcml0IGF1dG90b29scworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLXNmYy1jb21tb24vc2JsaW0tc2ZjLWNvbW1vbl8xLjAuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLXNmYy1jb21tb24vc2JsaW0tc2ZjLWNvbW1vbl8xLjAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYTliNGJiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2JsaW0tc2ZjLWNvbW1vbi9zYmxpbS1zZmMtY29tbW9uXzEuMC4xLmJiCkBAIC0wLDAgKzEsMjUgQEAKK1NVTU1BUlkgPSAiQ29tbW9uIGZ1bmN0aW9ucyBmb3IgU0JMSU0gU21hbGwgRm9vdHByaW50IENJTSBCcm9rZXIgYW5kIENJTSBDbGllbnQgTGlicmFyeS4iCitERVNDUklQVElPTiA9ICJcCitUaGlzIHBhY2thZ2UgcHJvdmlkZXMgYSBjb21tb24gbGlicmFyeSBmb3IgZnVuY3Rpb25zIHNoYXJlZCBiZXR3ZWVuIFNtYWxsIEZvb3RwcmludCBDSU0gQnJva2VyIChzYmxpbS1zZmNiKSBcCitTbWFsbCBGb290cHJpbnQgQ0lNIENsaWVudCAoYW5kIHNibGltLXNmY2MpLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvc2JsaW0vIgorTElDRU5TRSA9ICJFUEwiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mMzAwYWZkNTk4NTQ2YWRkMDM0MzY0Y2QwYTUzMzI2MSIKK1NFQ1RJT04gPSAiRGV2ZWxvcG1lbnQvTGlicmFyaWVzIgorCitERVBFTkRTID0gImNtcGktYmluZGluZ3MiCisKK1MgPSAiJHtXT1JLRElSfS9zYmxpbS1zZmNDb21tb24tJHtQVn0iCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3NibGltL3NibGltLXNmY0NvbW1vbi0ke1BWfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gIjhhYTI2NTVkOTdiZGVhNTRjNDc1MGYyMjBiNDA5OTBjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImI5YjEwMzcxNzNkNmFlMDE4MWMzYmQ1YTMxNmRkYWI1YWZkNmEzNDJhZDBkYmRjMThlOTQwZmMwYWQyYzMyOTciCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBERVNURElSPSR7RH0gaW5zdGFsbAorCisgICAgcm0gLXJmICR7RH0ke2xpYmRpcn0vbGlic2ZjVXRpbC5hCisgICAgcm0gLXJmICR7RH0ke2xpYmRpcn0vbGlic2ZjVXRpbC5sYQorfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zYmxpbS1zZmNiL2ZpbGVzL3NmY2Iuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLXNmY2IvZmlsZXMvc2ZjYi5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhZGY2M2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zYmxpbS1zZmNiL2ZpbGVzL3NmY2Iuc2VydmljZQpAQCAtMCwwICsxLDExIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPVNtYWxsIEZvb3RwcmludCBDSU0gQnJva2VyIFNlcnZpY2UKK0FmdGVyPXN5c2xvZy50YXJnZXQKKworW1NlcnZpY2VdCitUeXBlPW9uZXNob3QKK0V4ZWNTdGFydD0vdXNyL3NiaW4vc2ZjYmQgLWQKK1JlbWFpbkFmdGVyRXhpdD15ZXMKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2JsaW0tc2ZjYi9zYmxpbS1zZmNiLTEuNC45L3NibGltLXNmY2ItMS4zLjE1LWZpeC1wcm92aWRlci1kZWJ1Z2dpbmcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zYmxpbS1zZmNiL3NibGltLXNmY2ItMS40Ljkvc2JsaW0tc2ZjYi0xLjMuMTUtZml4LXByb3ZpZGVyLWRlYnVnZ2luZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZmJlY2FhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2JsaW0tc2ZjYi9zYmxpbS1zZmNiLTEuNC45L3NibGltLXNmY2ItMS4zLjE1LWZpeC1wcm92aWRlci1kZWJ1Z2dpbmcucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorZGlmZiAtdXAgc2JsaW0tc2ZjYi0xLjQuNS9wcm92aWRlckRydi5jLm9yaWcgc2JsaW0tc2ZjYi0xLjQuNS9wcm92aWRlckRydi5jCistLS0gc2JsaW0tc2ZjYi0xLjQuNS9wcm92aWRlckRydi5jLm9yaWcJMjAxMy0wOS0wNCAxMjo1OToyMi4xNDA4MTMyMzkgKzAyMDAKKysrKyBzYmxpbS1zZmNiLTEuNC41L3Byb3ZpZGVyRHJ2LmMJMjAxMy0wOS0wNCAxMjo1OTo0MC41MTE4NzAyNzQgKzAyMDAKK0BAIC0zNTg1LDcgKzM1ODUsNyBAQCBwcm9jZXNzUHJvdmlkZXJJbnZvY2F0aW9uUmVxdWVzdHMoY2hhciAqCisgICAgIHJjID0gc3BSZWN2UmVxKCZwcm92aWRlclNvY2tldHMucmVjZWl2ZSwgJnBhcm1zLT5yZXF1ZXN0b3IsCisgICAgICAgICAgICAgICAgICAgICh2b2lkICoqKSAmcGFybXMtPnJlcSwgJnJsLCAmbXFnKTsKKyAgICAgaWYgKG1xZy5yZG9uZSkgeworLSAgICAgIGludCAgICAgICAgICAgICBkZWJ1Z19icmVhayA9IDA7CisrICAgICAgdm9sYXRpbGUgaW50IGRlYnVnX2JyZWFrID0gMDsKKyAgICAgICBpZiAocmMgIT0gMCkgeworICAgICAgICAgbWxvZ2YoTV9FUlJPUixNX1NIT1csICJzcFJlY3ZSZXEgcmV0dXJuZWQgZXJyb3IgJWQuIFNraXBwaW5nIG1lc3NhZ2UuXG4iLCByYyk7CisgICAgICAgICBmcmVlKHBhcm1zKTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLXNmY2Ivc2JsaW0tc2ZjYi0xLjQuOS9zYmxpbS1zZmNiLTEuMy4xNi1tYXhNc2dMZW4ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zYmxpbS1zZmNiL3NibGltLXNmY2ItMS40Ljkvc2JsaW0tc2ZjYi0xLjMuMTYtbWF4TXNnTGVuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwZGQ4MTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zYmxpbS1zZmNiL3NibGltLXNmY2ItMS40Ljkvc2JsaW0tc2ZjYi0xLjMuMTYtbWF4TXNnTGVuLnBhdGNoCkBAIC0wLDAgKzEsMTQgQEAKK2RpZmYgLXVwIHNibGltLXNmY2ItMS4zLjE2L3NmY2IuY2ZnLnByZS5pbi5vbGQgc2JsaW0tc2ZjYi0xLjMuMTYvc2ZjYi5jZmcucHJlLmluCistLS0gc2JsaW0tc2ZjYi0xLjMuMTYvc2ZjYi5jZmcucHJlLmluLm9sZAkyMDEyLTA2LTEzIDIzOjIxOjA5LjAwMDAwMDAwMCArMDIwMAorKysrIHNibGltLXNmY2ItMS4zLjE2L3NmY2IuY2ZnLnByZS5pbgkyMDEzLTA2LTI0IDE1OjM0OjM4Ljg4MTk5Mjc4MSArMDIwMAorQEAgLTExMyw4ICsxMTMsOCBAQCBwcm92UHJvY3M6ICAgICAgMzIKKyAKKyAjIyBNYXggbWVzc2FnZSBsZW5ndGgsIGluIGJ5dGVzLiBUaGlzIGlzIGEgbGltaXQgb24gdGhlIHNpemUgb2YgbWVzc2FnZXMKKyAjIyB3cml0dGVuIGFjcm9zcyBzb2NrZXRzLCBmb3IgaW5zdGFuY2UsIGJldHdlZW4gcHJvdmlkZXJzIGFuZCBTRkNCLgorLSMjIERlZmF1bHQgaXMgMTAwMDAwMDAKKy1tYXhNc2dMZW46ICAgICAgMTAwMDAwMDAKKysjIyBEZWZhdWx0IGlzIDEwMDAwMDAwMAorK21heE1zZ0xlbjogICAgICAxMDAwMDAwMDAKKyAKKyAjIyBMb2NhdGlvbiBvZiB0aGUgcmVnaXN0cmF0aW9uIGRpcmVjdG9yeSwgd2hlcmUgcHJvdmlkZXJSZWdpc3RlciBjYW4gYmUgZm91bmQKKyAjIyBEZWZhdWx0IGlzIEBsb2NhbHN0YXRlZGlyQC9saWIvc2ZjYi9yZWdpc3RyYXRpb24KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLXNmY2Ivc2JsaW0tc2ZjYi0xLjQuOS9zYmxpbS1zZmNiLTEuMy4xNi1tdWx0aWxpYi1tYW4tY2ZnLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2JsaW0tc2ZjYi9zYmxpbS1zZmNiLTEuNC45L3NibGltLXNmY2ItMS4zLjE2LW11bHRpbGliLW1hbi1jZmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzhjZWNlMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLXNmY2Ivc2JsaW0tc2ZjYi0xLjQuOS9zYmxpbS1zZmNiLTEuMy4xNi1tdWx0aWxpYi1tYW4tY2ZnLnBhdGNoCkBAIC0wLDAgKzEsNDEgQEAKK2RpZmYgLXVwIHNibGltLXNmY2ItMS4zLjE2L21hbi9zZmNiZC4xLnByZS5pbi5vcmlnIHNibGltLXNmY2ItMS4zLjE2L21hbi9zZmNiZC4xLnByZS5pbgorLS0tIHNibGltLXNmY2ItMS4zLjE2L21hbi9zZmNiZC4xLnByZS5pbi5vcmlnCTIwMTQtMDItMjYgMTQ6MDU6MzIuMjEzMDkxNzM0ICswMTAwCisrKysgc2JsaW0tc2ZjYi0xLjMuMTYvbWFuL3NmY2JkLjEucHJlLmluCTIwMTQtMDItMjYgMTU6MTA6NTQuNDc2MTk2Mzc5ICswMTAwCitAQCAtMTUxLDcgKzE1MSw3IEBAIERlZmF1bHQ9XGZJQGxvY2Fsc3RhdGVkaXJAL2xpYi9zZmNiL3JlZ2kKKyAuVFAKKyAuQiBwcm92aWRlckRpcnMKKyBBIHNwYWNlIHNlcGFyYXRlZCBsaXN0IG9mIGRpcmVjdG9yaWVzIHdoZXJlIHNmY2IgaXMgbG9va2luZyBmb3IgcHJvdmlkZXIKKy1saWJyYXJpZXMuIERlZmF1bHQ9XGZJQGxpYmRpckBcIEBsaWJkaXJAL2NtcGlcZlIKKytsaWJyYXJpZXMuIERlZmF1bHQ9XGZJL3Vzci9saWJcIC91c3IvbGliL2NtcGkgL3Vzci9saWI2NFwgL3Vzci9saWI2NC9jbXBpXGZSCisgLlRQCisgLkIgcHJvdmlkZXJTYW1wbGVJbnRlcnZhbAorIFRoZSBpbnRlcnZhbCBpbiBzZWNvbmRzIGF0IHdoaWNoIHRoZSBwcm92aWRlciBtYW5hZ2VyIGlzIGNoZWNraW5nIGZvcgorQEAgLTI3NSwxMSArMjc1LDExIEBAIFNTTCBwcml2YXRlIGtleSBmaWxlIGZvciBzZmNiLgorIFNTTCBjbGllbnQgY2VydGlmaWNhdGUgLyB0cnVzdCBzdG9yZSBmb3Igc2ZjYi4KKyAuU0ggTElCUkFSSUVTCisgLlRQCistLkkgQGxpYmRpckAvbGlic2ZjKgorKy5JIC91c3IvbGliL2xpYnNmYyogL3Vzci9saWI2NC9saWJzZmMqCisgQmluYXJpZXMgZm9yIHNmY2IgcnVudGltZSBsaWJyYXJpZXMuCisgLlRQCistLkkgQGxpYmRpckAvY21waS8qCistQmluYXJpZXMgZm9yIHByb3ZpZGVycworKy5JIC91c3IvbGliL2NtcGkvKiAvdXNyL2xpYjY0L2NtcGkvKgorK0JpbmFyaWVzIGZvciBwcm92aWRlcnMuCisgLlNIIEFVVEhPUgorIEFkcmlhbiBTY2h1dXIgPHNjaHV1ckBkZS5pYm0uY29tPgorIC5TSCBDT05SSUJVVE9SUworZGlmZiAtdXAgc2JsaW0tc2ZjYi0xLjMuMTYvc2ZjYi5jZmcucHJlLmluLm9yaWcgc2JsaW0tc2ZjYi0xLjMuMTYvc2ZjYi5jZmcucHJlLmluCistLS0gc2JsaW0tc2ZjYi0xLjMuMTYvc2ZjYi5jZmcucHJlLmluLm9yaWcJMjAxNC0wMi0yNiAxNTozNTo0My4xMzM4Njk3MTggKzAxMDAKKysrKyBzYmxpbS1zZmNiLTEuMy4xNi9zZmNiLmNmZy5wcmUuaW4JMjAxNC0wMi0yNiAxNTozODoxMi43OTQyNDA1MzIgKzAxMDAKK0BAIC0xMjEsOCArMTIxLDggQEAgbWF4TXNnTGVuOiAgICAgIDEwMDAwMDAwMAorIHJlZ2lzdHJhdGlvbkRpcjogQGxvY2Fsc3RhdGVkaXJAL2xpYi9zZmNiL3JlZ2lzdHJhdGlvbgorIAorICMjIExvY2F0aW9ucyB0byBsb29rIGZvciBwcm92aWRlciBsaWJyYXJpZXMuIERlbGltaXQgcGF0aHMgd2l0aCBhIHNwYWNlLgorLSMjIERlZmF1bHQgaXMgQGxpYmRpckAvc2ZjYiBAbGliZGlyQCBAbGliZGlyQC9jbXBpCistcHJvdmlkZXJEaXJzOiBAbGliZGlyQC9zZmNiIEBsaWJkaXJAIEBsaWJkaXJAL2NtcGkKKysjIyBEZWZhdWx0IGlzIC91c3IvbGliL3NmY2IgL3Vzci9saWI2NC9zZmNiIC91c3IvbGliIC91c3IvbGliNjQgL3Vzci9saWIvY21waSAvdXNyL2xpYjY0L2NtcGkKKytwcm92aWRlckRpcnM6IC91c3IvbGliL3NmY2IgL3Vzci9saWI2NC9zZmNiIC91c3IvbGliIC91c3IvbGliNjQgL3Vzci9saWIvY21waSAvdXNyL2xpYjY0L2NtcGkKKyAKKyAjIyBFbmFibGUgdGhlIHJvb3QvaW50ZXJvcCBuYW1lc3BhY2UgKGFmZmVjdHMgaW5kaWNhdGlvbnMpCisgIyMgRGVmYXVsdDogdHJ1ZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2JsaW0tc2ZjYi9zYmxpbS1zZmNiLTEuNC45L3NibGltLXNmY2ItMS4zLjktc2ZjYnJlcG9zLXNjaGVtYS1sb2NhdGlvbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLXNmY2Ivc2JsaW0tc2ZjYi0xLjQuOS9zYmxpbS1zZmNiLTEuMy45LXNmY2JyZXBvcy1zY2hlbWEtbG9jYXRpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2Y5NWE5ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLXNmY2Ivc2JsaW0tc2ZjYi0xLjQuOS9zYmxpbS1zZmNiLTEuMy45LXNmY2JyZXBvcy1zY2hlbWEtbG9jYXRpb24ucGF0Y2gKQEAgLTAsMCArMSw0MiBAQAorZGlmZiAtdXAgc2JsaW0tc2ZjYi0xLjMuOS9tYW4vc2ZjYnJlcG9zLjEucHJlLmluLm9yaWcgc2JsaW0tc2ZjYi0xLjMuOS9tYW4vc2ZjYnJlcG9zLjEucHJlLmluCistLS0gc2JsaW0tc2ZjYi0xLjMuOS9tYW4vc2ZjYnJlcG9zLjEucHJlLmluLm9yaWcJMjAwOS0xMC0xMyAyMTo1NDoxMy4wMDAwMDAwMDAgKzAyMDAKKysrKyBzYmxpbS1zZmNiLTEuMy45L21hbi9zZmNicmVwb3MuMS5wcmUuaW4JMjAxMC0wOS0wNiAxNDowMTo1Ny4yOTQ1NjQwNjIgKzAyMDAKK0BAIC0yNiw3ICsyNiw3IEBAIFN1cHBvcnRlZCBjb21tYW5kIGxpbmUgb3B0aW9ucyBhcmU6CisgLlRQCisgXGZCXC1jXGZSIFxmSXNjaGVtYWRpclxmUgorIFBhdGggdG8gb2J0YWluIHRoZSBDSU0gU2NoZW1hIGNsYXNzZXMuCistRGVmYXVsdCBpcyBcZklAZGF0YWRpckAvc2ZjYlxmUgorK0RlZmF1bHQgaXMgXGZJQGRhdGFkaXJAL21vZi9jaW0tY3VycmVudFxmUgorIC5UUAorIFxmQlwtc1xmUiBcZklzdGFnaW5nZGlyXGZSCisgUGF0aCB0byBzZmNiIHN0YWdpbmcgYXJlYSBjb250YWluaW5nIGNsYXNzIE1PRnMgYW5kIHJlZ2lzdHJhdGlvbiBmaWxlcworQEAgLTU4LDcgKzU4LDcgQEAgQWxpYXMgb2YgXGZCLWJcZlIKKyBEaXNwbGF5IHVzYWdlIGluZm9ybWF0aW9uIGFuZCBleGl0LgorIC5TSCBGSUxFUworIC5UUAorLVxmSUBkYXRhZGlyQC9zZmNiL0NJTS9DSU1fU2NoZW1hLm1vZlxmUgorK1xmSUBkYXRhZGlyQC9tb2YvY2ltLWN1cnJlbnQvQ0lNX1NjaGVtYS5tb2ZcZlIKKyBDSU0gU2NoZW1hCisgLlRQCisgXGZJQGxvY2Fsc3RhdGVkaXJAL2xpYi9zZmNiL3JlZ2lzdHJhdGlvbi9wcm92aWRlclJlZ2lzdGVyXGZSCitkaWZmIC11cCBzYmxpbS1zZmNiLTEuMy45L3NmY2JyZXBvcy5zaC5pbi5vcmlnIHNibGltLXNmY2ItMS4zLjkvc2ZjYnJlcG9zLnNoLmluCistLS0gc2JsaW0tc2ZjYi0xLjMuOS9zZmNicmVwb3Muc2guaW4ub3JpZwkyMDA5LTEyLTIyIDAxOjE4OjI5LjAwMDAwMDAwMCArMDEwMAorKysrIHNibGltLXNmY2ItMS4zLjkvc2ZjYnJlcG9zLnNoLmluCTIwMTAtMDktMDYgMTM6NDU6MjguNjcxNDkxNjQ4ICswMjAwCitAQCAtNTksNyArNTksNyBAQCB0aGVuCisgICAgIGVjaG8gLWUgIlx0LVggY3JlYXRlIHJlcG9zaXRvcnkgaW4gbm9uLW5hdGl2ZSBmb3JtYXQgYXMgc3BlY2lmZWQgYnkgYXJndW1lbnQiCisgICAgIGVjaG8gLWUgIlx0LXMgc3BlY2lmeSBzdGFnaW5nIGRpcmVjdG9yeSBbQGxvY2Fsc3RhdGVkaXJAL2xpYi9zZmNiL3N0YWdlXSIKKyAgICAgZWNobyAtZSAiXHQtciBzcGVjaWZ5IHJlcG9zaXRvcnkgZGlyZWN0b3J5IFtAbG9jYWxzdGF0ZWRpckAvbGliL3NmY2IvcmVnaXN0cmF0aW9uXSIKKy0gICAgZWNobyAtZSAiXHQtYyBzcGVjaWZ5IGRpcmVjdG9yeSBjb250YWluaW5nIENJTSBTY2hlbWEgTU9GcyBbQGRhdGFkaXJAL3NmY2IvQ0lNXSIKKysgICAgZWNobyAtZSAiXHQtYyBzcGVjaWZ5IGRpcmVjdG9yeSBjb250YWluaW5nIENJTSBTY2hlbWEgTU9GcyBbQGRhdGFkaXJAL21vZi9jaW0tY3VycmVudF0iCisgICAgIGVjaG8gLWUgIlx0LXQgY3JlYXRlIHRpbnkgY2xhc3MgcmVwb3NpdG9yeSBieSBvbWl0dGluZyBpbmhlcml0YW5jZSBpbmZvcm1hdGlvbiIKKyAgICAgZWNobyAtZSAiXHQteiBjb21wcmVzcyByZXBvc2l0b3J5IHdpdGggZ3ppcCIKKyAgICAgZWNobworQEAgLTk5LDcgKzk5LDcgQEAgZmkKKyAKKyBpZiBbIC16ICIkY2ltc2NoZW1hZGlyIiBdCisgdGhlbgorLSAgICBjaW1zY2hlbWFkaXI9JHtERVNURElSfUBkYXRhZGlyQC9zZmNiL0NJTQorKyAgICBjaW1zY2hlbWFkaXI9JHtERVNURElSfUBkYXRhZGlyQC9tb2YvY2ltLWN1cnJlbnQKKyBmaQorIAorIGlmIFsgLWQgJHN0YWdpbmdkaXIgXSAmJiBbIC1mICRzdGFnaW5nZGlyL2RlZmF1bHQucmVnIF0gJiYKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLXNmY2Ivc2JsaW0tc2ZjYi0xLjQuOS9zYmxpbS1zZmNiLTEuNC41LXNlcnZpY2UucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zYmxpbS1zZmNiL3NibGltLXNmY2ItMS40Ljkvc2JsaW0tc2ZjYi0xLjQuNS1zZXJ2aWNlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhY2NmYTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zYmxpbS1zZmNiL3NibGltLXNmY2ItMS40Ljkvc2JsaW0tc2ZjYi0xLjQuNS1zZXJ2aWNlLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK2RpZmYgLXVwIHNibGltLXNmY2ItMS40LjYvTWFrZWZpbGUuaW4ub3JpZyBzYmxpbS1zZmNiLTEuNC42L01ha2VmaWxlLmluCistLS0gc2JsaW0tc2ZjYi0xLjQuNi9NYWtlZmlsZS5pbi5vcmlnCTIwMTMtMTAtMDcgMTA6NDM6MzQuNzgzMjI4MTM3ICswMjAwCisrKysgc2JsaW0tc2ZjYi0xLjQuNi9NYWtlZmlsZS5pbgkyMDEzLTEwLTA3IDEwOjQ0OjMwLjE3ODUzMzI4OSArMDIwMAorQEAgLTYyNyw3ICs2MjcsNiBAQCBpbml0ZGlyID0gJChzeXNjb25mZGlyKS9pbml0LmQKKyBwYW1kaXIgPSAkKHN5c2NvbmZkaXIpL3BhbS5kCisgc2ZjYmxpYmRpciA9ICQobGliZGlyKS9zZmNiCisgY21waWxpYmRpciA9ICQobGliZGlyKS9jbXBpCistc3lzdGVtZGRpciA9ICQoREVTVERJUilAU1lTVEVNRERJUkAKKyBNQU5GSUxFUyA9IG1hbi9nZW5Tc2xDZXJ0LjEgbWFuL2dldFNjaGVtYS4xIG1hbi9zZmNiZC4xIG1hbi9zZmNibW9mLjEgXAorIAltYW4vc2ZjYnJlcG9zLjEgbWFuL3NmY2JzdGFnZS4xIG1hbi9zZmNidW5zdGFnZS4xIG1hbi9zZmNidXVpZC4xIFwKKyAJbWFuL3diZW1jYXQuMSBtYW4veG1sdGVzdC4xCitAQCAtMjM2Niw3ICsyMzY1LDYgQEAgdW5pdHRlc3Q6CisgCWNkIHRlc3QgJiYgc2ggY2hlY2tfYWxsLnNoCisgCisgaW5zdGFsbC1kYXRhLWxvY2FsOgorLQlpZiB0ZXN0IC1kICQoc3lzdGVtZGRpcik7IHRoZW4gY3AgJChzcmNkaXIpL3NibGltLXNmY2Iuc2VydmljZSAkKHN5c3RlbWRkaXIpOyBmaTsgCisgCXRlc3QgLWQgJChERVNURElSKSQoc2ZjYnN0YXRlZGlyKS9yZWdpc3RyYXRpb24vcmVwb3NpdG9yeSB8fCAkKG1rZGlyX3ApICQoREVTVERJUikkKHNmY2JzdGF0ZWRpcikvcmVnaXN0cmF0aW9uL3JlcG9zaXRvcnkKKyAJdGVzdCAtZCAkKERFU1RESVIpJChzZmNic3RhdGVkaXIpL3N0YWdlL21vZnMvcm9vdC9pbnRlcm9wIHx8ICQobWtkaXJfcCkgJChERVNURElSKSQoc2ZjYnN0YXRlZGlyKS9zdGFnZS9tb2ZzL3Jvb3QvaW50ZXJvcAorIAl0ZXN0IC1kICQoREVTVERJUikkKHNmY2JzdGF0ZWRpcikvc3RhZ2UvcmVncyB8fCAkKG1rZGlyX3ApICQoREVTVERJUikkKHNmY2JzdGF0ZWRpcikvc3RhZ2UvcmVncworQEAgLTIzODQsNyArMjM4Miw2IEBAIGluc3RhbGwtZGF0YS1sb2NhbDoKKyB1bmluc3RhbGwtbG9jYWw6CisgCXJtIC1mICQoREVTVERJUikkKHNmY2JzdGF0ZWRpcikvc3RhZ2UvZGVmYXVsdC5yZWcKKyAJcm0gLWYgJChERVNURElSKSQoc2ZjYnN0YXRlZGlyKS9zdGFnZS9tb2ZzL3Jvb3QvaW50ZXJvcC8xMF9pbnRlcm9wLm1vZgorLQlybSAtZiAkKHN5c3RlbWRkaXIpL3NibGltLXNmY2Iuc2VydmljZQorIEBJTkRJQ0FUSU9OU19UUlVFQAlybSAtZiAkKERFU1RESVIpJChzZmNic3RhdGVkaXIpL3N0YWdlL21vZnMvcm9vdC9pbnRlcm9wLzIwX2luZGljYXRpb24ubW9mCisgQElORElDQVRJT05TX1RSVUVACXJtIC1mICQoREVTVERJUikkKHNmY2JzdGF0ZWRpcikvc3RhZ2UvbW9mcy9pbmRpY2F0aW9uLm1vZgorIEBET0NTX1RSVUVACXJtIC1yZiAkKERFU1RESVIpJChzZmNiZG9jZGlyKS9odG1sCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zYmxpbS1zZmNiL3NibGltLXNmY2ItMS40Ljkvc2JsaW0tc2ZjYi0xLjQuOC1kZWZhdWx0LWVjZGgtY3VydmUtbmFtZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLXNmY2Ivc2JsaW0tc2ZjYi0xLjQuOS9zYmxpbS1zZmNiLTEuNC44LWRlZmF1bHQtZWNkaC1jdXJ2ZS1uYW1lLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyNjhkNDkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zYmxpbS1zZmNiL3NibGltLXNmY2ItMS40Ljkvc2JsaW0tc2ZjYi0xLjQuOC1kZWZhdWx0LWVjZGgtY3VydmUtbmFtZS5wYXRjaApAQCAtMCwwICsxLDI2IEBACitkaWZmIC11cCBzYmxpbS1zZmNiLTEuNC44L2NvbnRyb2wuYy5vcmlnIHNibGltLXNmY2ItMS40LjgvY29udHJvbC5jCistLS0gc2JsaW0tc2ZjYi0xLjQuOC9jb250cm9sLmMub3JpZwkyMDE0LTAzLTI3IDAwOjQ2OjI4LjAwMDAwMDAwMCArMDEwMAorKysrIHNibGltLXNmY2ItMS40LjgvY29udHJvbC5jCTIwMTQtMDUtMTUgMTI6MzE6MzguMzA0MTY5NDA5ICswMjAwCitAQCAtMTcwLDcgKzE3MCw3IEBAIHN0YXRpYyBDb250cm9sIGluaXRbXSA9IHsKKyAgIHsic3NsQ2VydExpc3QiLCBDVExfU1RSSU5HLCBTRkNCX0NPTkZESVIgIi9jbGlzdC5wZW0iLCB7MH19LAorICAgeyJzc2xDaXBoZXJzIiwgQ1RMX1NUUklORywgIkFMTDohQURIOiFMT1c6IUVYUDohTUQ1OkBTVFJFTkdUSCIsIHswfX0sCisgICB7InNzbERoUGFyYW1zRmlsZVBhdGgiLCBDVExfU1RSSU5HLCBOVUxMLCB7MH19LAorLSAgeyJzc2xFY0RoQ3VydmVOYW1lIiwgQ1RMX1NUUklORywgInNlY3AyMjRyMSIsIHswfX0sCisrICB7InNzbEVjRGhDdXJ2ZU5hbWUiLCBDVExfU1RSSU5HLCAic2VjcDM4NHIxIiwgezB9fSwKKyAgIHsiZW5hYmxlU3NsQ2lwaGVyU2VydmVyUHJlZiIsIENUTF9CT09MLCBOVUxMLCB7LmI9MH19LAorIAorICAgeyJyZWdpc3RyYXRpb25EaXIiLCBDVExfU1RSSU5HLCBTRkNCX1NUQVRFRElSICIvcmVnaXN0cmF0aW9uIiwgezB9fSwKK2RpZmYgLXVwIHNibGltLXNmY2ItMS40Ljgvc2ZjYi5jZmcucHJlLmluLm9yaWcgc2JsaW0tc2ZjYi0xLjQuOC9zZmNiLmNmZy5wcmUuaW4KKy0tLSBzYmxpbS1zZmNiLTEuNC44L3NmY2IuY2ZnLnByZS5pbi5vcmlnCTIwMTQtMDUtMTUgMTI6MzE6NTkuMTg4MjQ0ODY1ICswMjAwCisrKysgc2JsaW0tc2ZjYi0xLjQuOC9zZmNiLmNmZy5wcmUuaW4JMjAxNC0wNS0xNSAxMjozMjo0NS41NTQ0MDg0MTIgKzAyMDAKK0BAIC0yOTMsOCArMjkzLDggQEAgc3NsQ2lwaGVyczogQUxMOiFBREg6IUxPVzohRVhQOiFNRDU6QFNUUgorICMjIGVudmlyb25tZW50LiBJZiB0aGlzIHZhbHVlIGlzIG5vdCBzZXQsIHRoZSBpbmRpY2F0ZWQgZGVmYXVsdCBpcyBpbiBlZmZlY3QuCisgIyMgSWYgdGhlIHZhbHVlIGlzIHNldCBidXQgdGhlIGN1cnZlIG5hbWUgaXMgbm90IHJlY29nbml6ZWQgYnkgdGhlIHVuZGVybHlpbmcKKyAjIyBvcGVuc3NsIGltcGxlbWVudGF0aW9uLCBTRkNCIHdpbGwgYWJvcnQuCistIyMgRGVmYXVsdCBpcyBzZWNwMjI0cjEKKy0jc3NsRWNEaEN1cnZlTmFtZTogc2VjcDIyNHIxCisrIyMgRGVmYXVsdCBpcyBzZWNwMzg0cjEKKysjc3NsRWNEaEN1cnZlTmFtZTogc2VjcDM4NHIxCisgCisgIyMgV2hlbiBzZXQgdG8gdHJ1ZSwgc2V0cyB0aGUgU1NMX09QX0NJUEhFUl9TRVJWRVJfUFJFRkVSRU5DRSBmbGFnIGZvciB0aGUgc3NsCisgIyMgY29udGV4dCwgdG8gZW5mb3JjZSBzZXJ2ZXIncyBwcmVmZXJlbmNlIGluc3RlYWQgb2YgdGhlIGNsaWVudCBwcmVmZXJlbmNlIGZvcgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2JsaW0tc2ZjYi9zYmxpbS1zZmNiLTEuNC45L3NibGltLXNmY2ItMS40LjktZml4LWZ0YmZzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2JsaW0tc2ZjYi9zYmxpbS1zZmNiLTEuNC45L3NibGltLXNmY2ItMS40LjktZml4LWZ0YmZzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1NDhiM2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zYmxpbS1zZmNiL3NibGltLXNmY2ItMS40Ljkvc2JsaW0tc2ZjYi0xLjQuOS1maXgtZnRiZnMucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorZGlmZiAtdXAgc2JsaW0tc2ZjYi0xLjQuOS9jb250cm9sLmMub3JpZyBzYmxpbS1zZmNiLTEuNC45L2NvbnRyb2wuYworLS0tIHNibGltLXNmY2ItMS40LjkvY29udHJvbC5jLm9yaWcJMjAxNS0wNy0xMyAxNTowNjoyMS4zMzE2NjAzMzYgKzAyMDAKKysrKyBzYmxpbS1zZmNiLTEuNC45L2NvbnRyb2wuYwkyMDE1LTA3LTEzIDE1OjA4OjM4LjAzMTMwODkxNyArMDIwMAorQEAgLTgzLDcgKzgzLDcgQEAgbG9uZyAgICAgICAgICAgIGh0dHBSZXFIYW5kbGVyVGltZW91dDsKKyAgKiBLaW5kbHkgbnVsbCB0ZXJtaW5hdGUsIGFsd2F5cywgZXZlbiBpZiBtaWdodCBvdmVyd3JpdGUKKyAgKiB0aGUgbGFzdCBjaGFyIG9mIHRoZSB0cnVuY2F0ZWQgc3RyaW5nLiAKKyAqLworLWlubGluZSBjaGFyICpzdHJuY3B5X2tpbmQoY2hhciAqdG8sIGNoYXIgKmZyb20sIHNpemVfdCBzaXplKSB7CisrY2hhciAqc3RybmNweV9raW5kKGNoYXIgKnRvLCBjaGFyICpmcm9tLCBzaXplX3Qgc2l6ZSkgeworICAgc3RybmNweSh0bywgZnJvbSwgc2l6ZSk7CisgICAqKHRvICsgc2l6ZSAtIDEpID0gJ1wwJzsKKyAgIHJldHVybiB0bzsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLXNmY2Ivc2JsaW0tc2ZjYl8xLjQuOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLXNmY2Ivc2JsaW0tc2ZjYl8xLjQuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTYyNmQxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2JsaW0tc2ZjYi9zYmxpbS1zZmNiXzEuNC45LmJiCkBAIC0wLDAgKzEsODMgQEAKK1NVTU1BUlkgPSAiU21hbGwgRm9vdHByaW50IENJTSBCcm9rZXIiCitERVNDUklQVElPTiA9ICJcCitTbWFsbCBGb290cHJpbnQgQ0lNIEJyb2tlciAoc2ZjYikgaXMgYSBDSU0gc2VydmVyIGNvbmZvcm1pbmcgdG8gdGhlIENJTSBcCitPcGVyYXRpb25zIG92ZXIgSFRUUCBwcm90b2NvbC4gSXQgaXMgcm9idXN0LCB3aXRoIGxvdyByZXNvdXJjZSBjb25zdW1wdGlvbiBcCithbmQgdGhlcmVmb3JlIHNwZWNpZmljYWxseSBzdWl0ZWQgZm9yIGVtYmVkZGVkIGFuZCByZXNvdXJjZSBjb25zdHJhaW5lZCBcCitlbnZpcm9ubWVudHMuIHNmY2Igc3VwcG9ydHMgcHJvdmlkZXJzIHdyaXR0ZW4gYWdhaW5zdCB0aGUgQ29tbW9uIFwKK01hbmFnZWFiaWxpdHkgUHJvZ3JhbW1pbmcgSW50ZXJmYWNlIChDTVBJKS4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnNibGltLm9yZyIKK1NFQ1RJT04gPSAiQXBwbGljYXRpb25zL1N5c3RlbSIKK0xJQ0VOU0UgPSAiRVBMLTEuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWYzMDBhZmQ1OTg1NDZhZGQwMzQzNjRjZDBhNTMzMjYxIgorREVQRU5EUyA9ICJjdXJsIGxpYnBhbSBvcGVuc3NsIHNibGltLXNmYy1jb21tb24gdW56aXAtbmF0aXZlIgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3NibGltLyR7QlB9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vc2JsaW0tc2ZjYi0xLjMuOS1zZmNicmVwb3Mtc2NoZW1hLWxvY2F0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NibGltLXNmY2ItMS4zLjE1LWZpeC1wcm92aWRlci1kZWJ1Z2dpbmcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc2JsaW0tc2ZjYi0xLjMuMTYtbWF4TXNnTGVuLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NibGltLXNmY2ItMS40LjUtc2VydmljZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zYmxpbS1zZmNiLTEuMy4xNi1tdWx0aWxpYi1tYW4tY2ZnLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NibGltLXNmY2ItMS40LjgtZGVmYXVsdC1lY2RoLWN1cnZlLW5hbWUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc2JsaW0tc2ZjYi0xLjQuOS1maXgtZnRiZnMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc2ZjYi5zZXJ2aWNlIgorICAgICAgICAgICAKK1NSQ19VUklbbWQ1c3VtXSA9ICIyODAyMWNkYWJjNzM2OTBhOTRmNGY5ZDU3MjU0Y2UzMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2MzRhNjdiMmY3YWMzYjM4NmE3OTE2MGViNDQ0MTNkNjE4ZTMzZTRlN2ZjNzRhZTY4YjAyNDA0ODRhZjE0OWRkIgorCitpbmhlcml0IGF1dG90b29scworaW5oZXJpdCAke0BiYi51dGlscy5jb250YWlucygnVklSVFVBTC1SVU5USU1FX2luaXRfbWFuYWdlcicsJ3N5c3RlbWQnLCdzeXN0ZW1kJywnJywgZCl9CisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0iCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAic2JsaW0tc2ZjYi5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJlbmFibGUiCisKK0xERkxBR1NfYXBwZW5kID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGQtaXMtZ29sZCcsICcgLWZ1c2UtbGQ9YmZkICcsICcnLCBkKX0iCisKK0VYVFJBX09FQ09ORiA9ICctLWVuYWJsZS1kZWJ1ZyBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtc3NsIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1wYW0gXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWlwdjYgXAorICAgICAgICAgICAgICAgIENGTEFHUz0iJHtDRkxBR1N9IC1EX0dOVV9TT1VSQ0UiJworCisjIG1ha2UgYWxsIHdpdGggLWogb3B0aW9uIGlzIHVuc2FmZS4KK1BBUkFMTEVMX01BS0UgPSAiIgorCitJTlNBTkVfU0tJUF8ke1BOfSA9ICJkZXYtc28iCitDT05GSUdfU0lURSA9ICIke1dPUktESVJ9L2NvbmZpZy1zaXRlLiR7UH0iCisKK2RvX2luc3RhbGwoKSB7CisgICAgY3AgLWYgJHtTfS9zZmNiLmNmZy5wcmUuaW4gJHtTfS9zZmNiLmNmZworCisgICAgb2VfcnVubWFrZSBERVNURElSPSR7RH0gaW5zdGFsbAorCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3NmY2Iuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zYmxpbS1zZmNiLnNlcnZpY2UKKyAgICBmaQorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBtdiAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvc2ZjYiAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvc2JsaW0tc2ZjYgorICAgIHNlZCAtaSAtZSAncy9cL3ZhclwvbG9ja1wvc3Vic3lzXC9zZmNiL1wvdmFyXC9sb2NrXC9zdWJzeXNcL3NibGltLXNmY2IvZycgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3NibGltLXNmY2IKKyAgICAKKyAgICBybSAtcmYgJHtEfSR7bGliZGlyfS9zZmNiLyoubGEKK30KKworcGtnX3Bvc3RpbnN0XyR7UE59ICgpIHsKKyAgICBPUFRTPSIiCisKKyAgICBpZiBbIHgiJEQiICE9ICJ4IiBdOyB0aGVuCisgICAgICAgIE9QVFM9Ii0tcm9vdD0kRCIKKyAgICAgICAgaWYgdHlwZSBzeXN0ZW1jdGwgPi9kZXYvbnVsbCAyPi9kZXYvbnVsbDsgdGhlbgorICAgICAgICAgICAgICAgIHN5c3RlbWN0bCAkT1BUUyAke1NZU1RFTURfQVVUT19FTkFCTEV9ICR7U1lTVEVNRF9TRVJWSUNFfQorICAgICAgICBmaQorICAgICAgICBleGl0IDEKKyAgICBmaQorCisgICAgJHtkYXRhZGlyfS9zZmNiL2dlblNzbENlcnQuc2ggJHtzeXNjb25mZGlyfS9zZmNiCisgICAgJHtiaW5kaXJ9L3NmY2JyZXBvcyAtZgorfQorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3NmY2IgJHtkYXRhZGlyfS9zZmNiIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vc2ZjYi8uZGVidWciCisKK1JERVBFTkRTXyR7UE59ID0gInBlcmwgYmFzaCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLXNmY2Mvc2JsaW0tc2ZjY18yLjIuOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLXNmY2Mvc2JsaW0tc2ZjY18yLjIuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZWM5OTQwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2JsaW0tc2ZjYy9zYmxpbS1zZmNjXzIuMi44LmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiU21hbGwgRm9vdHByaW50IENJTSBDbGllbnQgTGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIlNtYWxsIEZvb3RwcmludCBDSU0gQ2xpZW50IExpYnJhcnkgUnVudGltZSBMaWJyYXJpZXMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnNibGltLm9yZyIKKworU1JDX1VSSSA9ICJodHRwOi8vbmV0Y29sb2duZS5kbC5zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdC9zYmxpbS8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5iejIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwYmFjMGRlYzE5ZjE3ZWMwNjViNmMzMzJhNTZkN2JhZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxYjhmMTg3NTgzYmM2YzZiMGE2M2FhZTAxNjVjYTM3ODkyYTJhM2JkNGJiMDY4MmNkNzZiNTYyNjhiNDJjM2Q2IgorCitMSUNFTlNFID0gIkVQTC0xLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mMzAwYWZkNTk4NTQ2YWRkMDM0MzY0Y2QwYTUzMzI2MSIKKworREVQRU5EUyA9ICJjdXJsIgorCitpbmhlcml0IGF1dG90b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2NzaXJhc3Rvb2xzL3Njc2lyYXN0b29sc18xLjYuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Njc2lyYXN0b29scy9zY3NpcmFzdG9vbHNfMS42LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTNmOTNjYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Njc2lyYXN0b29scy9zY3NpcmFzdG9vbHNfMS42LjQuYmIKQEAgLTAsMCArMSw0MSBAQAorU1VNTUFSWSA9ICJMaW51eCBTQ1NpIHRvb2xzIHRvIHNlcnZpY2UgbWFpbnRhaW4gZGlzayBzdG9yYWdlIGRldmljZXMiCitERVNDUklQVElPTiA9ICJzY3NpcmFzdG9vbHMgd2VyZSBkZXNpZ25lZCB0byBhZGQgdG8gdGhlIFNlcnZpY2VhYmlsaXR5IG9mIFwKKyAgICAgICAgICAgICAgIFNDU0kgZGV2aWNlcyB1bmRlciBMaW51eCBzbyB0aGF0IHRoZSBzeXN0ZW0gZG9lcyBub3QgaGF2ZSBcCisgICAgICAgICAgICAgICB0byBiZSByZWJvb3RlZCBvciB0YWtlbiBvdXQgb2Ygc2VydmljZSB0byBwZXJmb3JtIGNvbW1vbiBcCisgICAgICAgICAgICAgICBtYWludGVuYW5jZSBvciBzZXJ2aWNlIGZ1bmN0aW9ucy4gSXQgaGFuZGxlcyBTQ1NJLCBcCisgICAgICAgICAgICAgICBMaW51eCBTVyBSQUlELCBTQVMsIFNBVEEsIGFuZCBVU0IgZGV2aWNlcyB2aWEgU0NTSSBlbXVsYXRpb24uIgorSE9NRVBBR0UgPSAiaHR0cDovL3Njc2lyYXN0b29scy5zb3VyY2Vmb3JnZS5uZXQvIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT02ODdlYTEwODQ3OGQyNjE1MmFlNDZlYjI5ZDlkMTU0NSIKK1BSID0gInIwIgorCitTUkNfVVJJID0gImh0dHA6Ly9wcmRvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvc2NzaXJhc3Rvb2xzL3Njc2lyYXN0b29scy0ke1BWfS50YXIuZ3ogXAorCSAgIgorU1JDX1VSSVttZDVzdW1dID0gIjJkNzc1MTExYjYyZTJkZmMxOTYwYTcyMmY1ZmRhMjExIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM4ZDJjNmM5YjA0YTJjNTk0ZTUyODkyN2I5NTA3NTRmOTRjMDUyMjcxOGQxN2M3OGU2NTg5YmE3NzgzMzliZjgiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHVwZGF0ZS1yYy5kCisKKyMgbWRhZG0gTWFrZWZpbGUgaGFzIENDIHNldCB0byBnY2MsIGhlbmNlIG92ZXJyaWRlIENDIHRvICR7Q0N9CitFWFRSQV9PRU1BS0UgKz0gIkNDPScke0NDfSciCisKK0lOSVRTQ1JJUFRfUEFDS0FHRVMgPSAiJHtQTn0tZGlza21vbiAke1BOfS1yYWlkbW9uIgorSU5JVFNDUklQVF9OQU1FXyR7UE59LWRpc2ttb24gPSAic2dkaXNrIgorSU5JVFNDUklQVF9QQVJBTVNfJHtQTn0tZGlza21vbiA9ICJkZWZhdWx0cyA4MCAyMCIKK0lOSVRTQ1JJUFRfTkFNRV8ke1BOfS1yYWlkbW9uID0gInNncmFpZCIKK0lOSVRTQ1JJUFRfUEFSQU1TXyR7UE59LXJhaWRtb24gPSAiZGVmYXVsdHMgODAgMjAiCisKK1BBQ0tBR0VTID0rICIke1BOfS1kaXNrbW9uICR7UE59LWRpc2ttb24tZGJnIgorUEFDS0FHRVMgPSsgIiR7UE59LXJhaWRtb24gJHtQTn0tcmFpZG1vbi1kYmciCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiL3Vzci9zaGFyZS9zY3NpcmFzdG9vbHMvLmRlYnVnIgorCitGSUxFU18ke1BOfS1kaXNrbW9uID0gIiR7c2JpbmRpcn0vc2dkaXNrbW9uICR7c3lzY29uZmRpcn0vaW5pdC5kL3NnZGlzayIKK0ZJTEVTXyR7UE59LWRpc2ttb24tZGJnID0gIiR7c2JpbmRpcn0vLmRlYnVnL3NnZGlza21vbiIKKworRklMRVNfJHtQTn0tcmFpZG1vbiA9ICIke3NiaW5kaXJ9L3NncmFpZG1vbiAke3N5c2NvbmZkaXJ9L2luaXQuZC9zZ3JhaWQiCitGSUxFU18ke1BOfS1yYWlkbW9uLWRiZyA9ICIke3NiaW5kaXJ9Ly5kZWJ1Zy9zZ3JhaWRtb24iCisKK1JERVBFTkRTXyR7UE59ICs9ICJiYXNoIgorUkRFUEVORFNfJHtQTn0tZGlza21vbiArPSAiJHtQTn0iCitSREVQRU5EU18ke1BOfS1yYWlkbW9uICs9ICIke1BOfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NncGlvL3NncGlvL01ha2VmaWxlLWVycm9yLWZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NncGlvL3NncGlvL01ha2VmaWxlLWVycm9yLWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MDlmODMxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2dwaW8vc2dwaW8vTWFrZWZpbGUtZXJyb3ItZml4LnBhdGNoCkBAIC0wLDAgKzEsMTI3IEBACitGaXggTWFrZWZpbGU6CisKKyogY2hhbmdlIHRoZSBmaWxlIGZvcm1hdCBmcm9tIGRvcyB0byB1bml4IHRvIGF2b2lkIGRvX3BhdGNoIGZhaWxlZC4KKyogb3ZlcnJpZGUgZ2NjLFNCSU5fRElSIGFuZCBJTlNUQUxMIGZvciBjcm9zcy1jb21waWxhdGlvbi4KKworVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IExpIFhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KKy0tLQorIE1ha2VmaWxlIHwgMTA3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA1NSBpbnNlcnRpb25zKCspLCA1MiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IDI3OGQ5NjYuLmMyYjBiYzcgMTAwNzU1CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0xLDUyICsxLDU1IEBACistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQorLSMgQ29weXJpZ2h0IChDKSAyMDA3LTIwMDgsIEludGVsIENvcnAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQorLSMNCistIw0KKy0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyDQorLSMgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUNCistIyBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KKy0jDQorLSMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dA0KKy0jIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yDQorLSMgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgDQorLSMgZm9yIG1vcmUgZGV0YWlscy4NCistIw0KKy0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nDQorLSMgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwNCistIyA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCistDQorLQ0KKy0jIEludGVsIFNHUElPIGVuY2xvc3VyZSBtYW5hZ2VtZW50IHV0aWxpdHkNCistIw0KKy0jIEF1dGhvcjogRXJpYyBSIEhhbGwgPEVyaWMuUi5IYWxsQGludGVsLmNvbT4NCistDQorLQ0KKy1NQU5ESVIgPz0gL3Vzci9sb2NhbC9tYW4NCistQUxMID0gc2dwaW8NCistDQorLWFsbDogJChBTEwpDQorLQ0KKy1zZ3Bpby5vOiBzZ3Bpby5jDQorLQlnY2MgLWcgLVdhbGwgLWMgc2dwaW8uYw0KKy0NCistc2dwaW86IHNncGlvLm8NCistCWdjYyAtZyBzZ3Bpby5vIC1vIHNncGlvDQorLQ0KKy1jbGVhbjoNCistCXJtIC1mIHNncGlvLm8gc2dwaW8NCistDQorLWluc3RhbGw6ICQoQUxMKQ0KKy0JZm9yIGkgaW4gJChBTEwpOyBkbyBcDQorLQkJaW5zdGFsbCAkJGkgL3NiaW4vJCRpOyBcDQorLQlkb25lDQorLQlpbnN0YWxsIC1kICQoTUFORElSKS9tYW4xDQorLQlpbnN0YWxsIC1tIDA2NDQgKi4xICQoTUFORElSKS9tYW4xDQorLQ0KKy11bmluc3RhbGw6DQorLQlmb3IgaSBpbiAkKEFMTCk7IGRvIFwNCistCQlybSAtZiAvc2Jpbi8kJGk7IFwNCistCWRvbmUNCistCWZvciBpIGluICQoQUxMOj0uMSk7IGRvIFwNCistCQlybSAtZiAkKE1BTkRJUikvbWFuMS8kJGk7IFwNCistCWRvbmUNCisrIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisrIyBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCwgSW50ZWwgQ29ycC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKysjCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKKysjIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCisrIyBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKysjIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yCisrIyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAKKysjIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKysjIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisrIyA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQorKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKworKworKyMgSW50ZWwgU0dQSU8gZW5jbG9zdXJlIG1hbmFnZW1lbnQgdXRpbGl0eQorKyMKKysjIEF1dGhvcjogRXJpYyBSIEhhbGwgPEVyaWMuUi5IYWxsQGludGVsLmNvbT4KKysKKysKKytNQU5ESVIgPz0gL3Vzci9sb2NhbC9tYW4KKytTQklOX0RJUiA9IC9zYmluCisrSU5TVEFMTCA9L3Vzci9iaW4vaW5zdGFsbCAtYworK0FMTCA9IHNncGlvCisrQ0ZMQUdTID0gLWcgLVdhbGwKKysKKythbGw6ICQoQUxMKQorKworK3NncGlvLm86IHNncGlvLmMKKysJJHtDQ30gJChDRkxBR1MpIC1jIHNncGlvLmMKKysKKytzZ3Bpbzogc2dwaW8ubworKwkke0NDfSAtZyBzZ3Bpby5vIC1vIHNncGlvCisrCisrY2xlYW46CisrCXJtIC1mIHNncGlvLm8gc2dwaW8KKysKKytpbnN0YWxsOiAkKEFMTCkKKysJZm9yIGkgaW4gJChBTEwpOyBkbyBcCisrCQkkKElOU1RBTEwpIC1EICQkaSAkKFNCSU5fRElSKS8kJGk7IFwKKysJZG9uZQorKwkkKElOU1RBTEwpIC1kICQoTUFORElSKS9tYW4xCisrCSQoSU5TVEFMTCkgLW0gMDY0NCAqLjEgJChNQU5ESVIpL21hbjEKKysKKyt1bmluc3RhbGw6CisrCWZvciBpIGluICQoQUxMKTsgZG8gXAorKwkJcm0gLWYgL3NiaW4vJCRpOyBcCisrCWRvbmUKKysJZm9yIGkgaW4gJChBTEw6PS4xKTsgZG8gXAorKwkJcm0gLWYgJChNQU5ESVIpL21hbjEvJCRpOyBcCisrCWRvbmUKKy0tIAorMS44LjMuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zZ3Bpby9zZ3Bpb18xLjIuMC4xMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NncGlvL3NncGlvXzEuMi4wLjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkN2M0MTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zZ3Bpby9zZ3Bpb18xLjIuMC4xMC5iYgpAQCAtMCwwICsxLDI2IEBACitTVU1NQVJZID0gIlNHUElPIGNhcHRpdmUgYmFja3BsYW5lIHRvb2wiCitERVNDUklQVElPTiA9ICJJbnRlbCBTR1BJTyBlbmNsb3N1cmUgbWFuYWdlbWVudCB1dGlsaXR5IgorCitTUkNfVVJJID0gIiBcCisgICAgaHR0cDovL3BrZ3MuZmVkb3JhcHJvamVjdC5vcmcvcmVwby9wa2dzLyR7QlBOfS8ke0JQTn0tMS4yLTAuMTAtc3JjLnRhci5nei9hNDE3YmY2OGRhNGU5YmQ3OWE0NjY0YzExZDdkZWJkMS8ke0JQTn0tMS4yLTAuMTAtc3JjLnRhci5neiBcCisgICAgZmlsZTovL01ha2VmaWxlLWVycm9yLWZpeC5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiYTQxN2JmNjhkYTRlOWJkNzlhNDY2NGMxMWQ3ZGViZDEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOWJmOGM0MmFjYWEyNDdlZmQ5MzIxYmRiMWZjMjM5MDAyMmYwYzU1NGQ3N2ZiYmQ0YTczNjNkOTkwZmMwMjcwYiIKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfSIKKworTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFX0dQTDttZDU9MzkzYTVjYTQ0NWY2OTY1ODczZWNhMDI1OWExN2Y4MzMiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBvZV9ydW5tYWtlIGNsZWFuCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsIFwKKyAgICAgICAgSU5TVEFMTD0iL3Vzci9iaW4vaW5zdGFsbCAtcCIgXAorICAgICAgICBERVNURElSPSR7RH0gXAorICAgICAgICBTQklOX0RJUj0ke0R9LyR7c2JpbmRpcn0gXAorICAgICAgICBNQU5ESVI9JHtEfS8ke21hbmRpcn0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NtYXJ0bW9udG9vbHMvZmlsZXMvaW5pdGQuc21hcnRkIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc21hcnRtb250b29scy9maWxlcy9pbml0ZC5zbWFydGQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTRhZGNiNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NtYXJ0bW9udG9vbHMvZmlsZXMvaW5pdGQuc21hcnRkCkBAIC0wLDAgKzEsMTEyIEBACisjISAvYmluL3NoCisKKyMgc21hcnRtb250b29scyBpbml0IGZpbGUgZm9yIHNtYXJ0ZAorIyBDb3B5cmlnaHQgKEMpIDIwMDItOCBCcnVjZSBBbGxlbiA8c21hcnRtb250b29scy1zdXBwb3J0QGxpc3RzLnNvdXJjZWZvcmdlLm5ldD4KKyMgJElkOiBzbWFydGQuaW5pdGQuaW4gMzM2MCAyMDExLTA2LTA2IDE5OjI1OjM2WiBjaHJmcmFua2UgJAorCisjIEZvciBSZWRIYXQgYW5kIGNvdXNpbnM6CisjIGNoa2NvbmZpZzogLSA2MCA2MAorIyBkZXNjcmlwdGlvbjogU2VsZiBNb25pdG9yaW5nIGFuZCBSZXBvcnRpbmcgVGVjaG5vbG9neSAoU01BUlQpIERhZW1vbgorIyBwcm9jZXNzbmFtZTogc21hcnRkIAorCisjIEZvciBTdVNFIGFuZCBjb3VzaW5zCisjIyMgQkVHSU4gSU5JVCBJTkZPCisjIFByb3ZpZGVzOiAgICAgICAgICAgICAgICAgICBzbWFydGQKKyMgUmVxdWlyZWQtU3RhcnQ6ICAgICAgICAgICAgICRzeXNsb2cgJHJlbW90ZV9mcworIyBTaG91bGQtU3RhcnQ6ICAgICAgICAgICAgICAgc2VuZG1haWwKKyMgUmVxdWlyZWQtU3RvcDogICAgICAgICAgICAgICRzeXNsb2cgJHJlbW90ZV9mcworIyBTaG91bGQtU3RvcDogICAgICAgICAgICAgICAgc2VuZG1haWwKKyMgRGVmYXVsdC1TdGFydDogICAgICAgICAgICAgIDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAgICAgICAgICAgICAgIDAgMSA2CisjIFNob3J0LURlc2NyaXB0aW9uOiAgICAgICAgICBNb25pdG9ycyBkaXNrIGFuZCB0YXBlIGhlYWx0aCB2aWEgUy5NLkEuUi5ULgorIyBEZXNjcmlwdGlvbjogICAgICAgICAgICAgICAgU3RhcnQgUy5NLkEuUi5ULiBkaXNrIGFuZCB0YXBlIG1vbml0b3IuCisjIyMgRU5EIElOSVQgSU5GTworCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisjIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlCisjIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyCisjIHZlcnNpb24uIAorIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoZm9yCisjIGV4YW1wbGUgQ09QWUlORyk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNjc1CisjIE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCisjIFRoaXMgY29kZSB3YXMgb3JpZ2luYWxseSBkZXZlbG9wZWQgYXMgYSBTZW5pb3IgVGhlc2lzIGJ5IE1pY2hhZWwgQ29ybndlbGwKKyMgYXQgdGhlIENvbmN1cnJlbnQgU3lzdGVtcyBMYWJvcmF0b3J5IChub3cgcGFydCBvZiB0aGUgU3RvcmFnZSBTeXN0ZW1zCisjIFJlc2VhcmNoIENlbnRlciksIEphY2sgQmFza2luIFNjaG9vbCBvZiBFbmdpbmVlcmluZywgVW5pdmVyc2l0eSBvZgorIyBDYWxpZm9ybmlhLCBTYW50YSBDcnV6LiBodHRwOi8vc3NyYy5zb2UudWNzYy5lZHUvLgorCisjIFVuY29tbWVudCB0aGUgbGluZSBiZWxvdyB0byBwYXNzIG9wdGlvbnMgdG8gc21hcnRkIG9uIHN0YXJ0dXAuIAorIyBOb3RlIHRoYXQgZGlzdHJpYnV0aW9uIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZmlsZXMgbGlrZQorIyAvZXRjL3tkZWZhdWx0LHN5c2NvbmZpZ30vc21hcnRtb250b29scyBtaWdodCBvdmVycmlkZSB0aGVzZQorI3NtYXJ0ZF9vcHRzPSItLWludGVydmFsPTE4MDAiCisKK1NNQVJURF9CSU49L3Vzci9zYmluL3NtYXJ0ZAorU01BUlREUElEPS92YXIvcnVuL3NtYXJ0ZC5waWQKK1sgLXggJFNNQVJURF9CSU4gXSB8fCBleGl0IDAKK1JFVD0wCisKKyMgc291cmNlIGNvbmZpZ3VyYXRpb24gZmlsZQorWyAtciAvZXRjL2RlZmF1bHQvcmNTIF0gJiYgLiAvZXRjL2RlZmF1bHQvcmNTCitbIC1yIC9ldGMvZGVmYXVsdC9zbWFydG1vbnRvb2xzIF0gJiYgLiAvZXRjL2RlZmF1bHQvc21hcnRtb250b29scworCitzbWFydGRfb3B0cz0iLS1waWRmaWxlICRTTUFSVERQSUQgJHNtYXJ0ZF9vcHRzIgorCitjYXNlICIkMSIgaW4KKwlzdGFydCkKKwkJaWYgWyAiJHN0YXJ0X3NtYXJ0ZCIgIT0gInllcyIgXTsgdGhlbgorCQkJWyAiJFZFUkJPU0UiICE9ICJubyIgXSAmJiBlY2hvICJOb3Qgc3RhcnRpbmcgUy5NLkEuUi5ULiBkYWVtb24gc21hcnRkLCBkaXNhYmxlZCB2aWEgL2V0Yy9kZWZhdWx0L3NtYXJ0bW9udG9vbHMiCisJCQlleGl0IDAKKwkJZmkKKwkJZWNobyAtbiAiU3RhcnRpbmcgUy5NLkEuUi5ULiBkYWVtb246IHNtYXJ0ZCIKKwkJaWYgc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tcGlkZmlsZSAkU01BUlREUElEIFwKKwkJCS0tZXhlYyAkU01BUlREX0JJTiAtLSAkc21hcnRkX29wdHM7IHRoZW4KKwkJCWVjaG8gIi4iCisJCWVsc2UKKwkJCWVjaG8gIiAoZmFpbGVkKSIKKwkJCVJFVD0xCisJCWZpCisJCTs7CisJc3RvcCkKKwkJZWNobyAtbiAiU3RvcHBpbmcgUy5NLkEuUi5ULiBkYWVtb246IHNtYXJ0ZCIKKwkJc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tcXVpZXQgLS1va25vZG8gLS1waWRmaWxlICRTTUFSVERQSUQKKwkJZWNobyAiLiIKKwkJOzsKKwlyZXN0YXJ0KQorCQkkMCBzdG9wCisJCSQwIHN0YXJ0CisJCTs7CisJZm9yY2UtcmVsb2FkKQorCQkkMCByZWxvYWQgfHwgJDAgcmVzdGFydAorCQk7OworCXJlbG9hZCkKKwkJZWNobyAtbiAiUmVsb2FkIFMuTS5BLlIuVC4gZGFlbW9uOiBzbWFydGQiCisJCWlmIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXF1aWV0IC0tc2lnbmFsIDEgXAorCQkJLS1waWRmaWxlICRTTUFSVERQSUQ7IHRoZW4KKwkJCWVjaG8gIi4iCisJCWVsc2UKKwkJCWVjaG8gIiAoZmFpbGVkKSIKKwkJCVJFVD0xCisJCWZpCisJCTs7CisJcmVwb3J0KQorCQllY2hvIC1uICJDaGVja2luZyBTTUFSVCBkZXZpY2VzIG5vdyIKKwkJaWYgc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tcXVpZXQgLS1zaWduYWwgMTAgXAorCQkJLS1waWRmaWxlICRTTUFSVERQSUQ7IHRoZW4KKwkJCWVjaG8gIi4iCisJCWVsc2UKKwkJCWVjaG8gIiAoZmFpbGVkKSIKKwkJCVJFVD0xCisJCWZpCisJCTs7CisJc3RhdHVzKQorCQlpZiBwaWRvZiAkU01BUlREX0JJTiA+L2Rldi9udWxsOyB0aGVuCisJCQllY2hvICIkU01BUlREX0JJTiBpcyBydW5uaW5nLiIKKwkJZWxzZQorCQkJZWNobyAiJFNNQVJURF9CSU4gaXMgbm90IHJ1bm5pbmcuIgorCQkJUkVUPTEKKwkJZmkKKwkJOzsKKwkqKQorCQllY2hvICJVc2FnZTogJDAge3N0YXJ0fHN0b3B8cmVzdGFydHxmb3JjZS1yZWxvYWR8cmVsb2FkfHJlcG9ydHxzdGF0dXN9IgorCQlleGl0IDEKK2VzYWMKK2V4aXQgJFJFVApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc21hcnRtb250b29scy9maWxlcy9zbWFydGQuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NtYXJ0bW9udG9vbHMvZmlsZXMvc21hcnRkLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjNkYjk0NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NtYXJ0bW9udG9vbHMvZmlsZXMvc21hcnRkLnNlcnZpY2UKQEAgLTAsMCArMSwxMiBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1TZWxmIE1vbml0b3JpbmcgYW5kIFJlcG9ydGluZyBUZWNobm9sb2d5IChTTUFSVCkgRGFlbW9uCitBZnRlcj1zeXNsb2cudGFyZ2V0CisKK1tTZXJ2aWNlXQorRW52aXJvbm1lbnRGaWxlPS1AU1lTQ09ORkRJUkAvc21hcnRtb250b29scworRXhlY1N0YXJ0PUBTQklORElSQC9zbWFydGQgLW4gJHNtYXJ0X29wdHMKK0V4ZWNSZWxvYWQ9QEJBU0VfQklORElSQC9raWxsIC1IVVAgJE1BSU5QSUQKK1N0YW5kYXJkT3V0cHV0PXN5c2xvZworCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zbWFydG1vbnRvb2xzL2ZpbGVzL3NtYXJ0bW9udG9vbHMuZGVmYXVsdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NtYXJ0bW9udG9vbHMvZmlsZXMvc21hcnRtb250b29scy5kZWZhdWx0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwMmUwMGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zbWFydG1vbnRvb2xzL2ZpbGVzL3NtYXJ0bW9udG9vbHMuZGVmYXVsdApAQCAtMCwwICsxLDYgQEAKKyMgdW5jb21tZW50IHRvIHN0YXJ0IHNtYXJ0ZCBvbiBzeXN0ZW0gc3RhcnR1cCBmb3IgU3lzViBpbml0IHNjcmlwdAorIyBGb3Igc3lzdGVtZCBzZXJ2aWNlIGZpbGUsIHVzZSBgc3lzdGVtY3RsIGVuYWJsZSBzbWFydGQnLgorI3N0YXJ0X3NtYXJ0ZD15ZXMKKworIyB1bmNvbW1lbnQgdG8gcGFzcyBhZGRpdGlvbmFsIG9wdGlvbnMgdG8gc21hcnRkIG9uIHN0YXJ0dXAKKyNzbWFydGRfb3B0cz0iLS1pbnRlcnZhbD0xODAwIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc21hcnRtb250b29scy9zbWFydG1vbnRvb2xzXzYuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NtYXJ0bW9udG9vbHMvc21hcnRtb250b29sc182LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODZlNmQ5ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NtYXJ0bW9udG9vbHMvc21hcnRtb250b29sc182LjQuYmIKQEAgLTAsMCArMSw1NCBAQAorU1VNTUFSWSA9ICJDb250cm9sIGFuZCBtb25pdG9yIHN0b3JhZ2Ugc3lzdGVtcyB1c2luZyBTLk0uQS5SLlQiCitERVNDUklQVElPTiA9IFwKKyJUaGUgc21hcnRtb250b29scyBwYWNrYWdlIGNvbnRhaW5zIHR3byB1dGlsaXR5IHByb2dyYW1zIChzbWFydGN0bCBcCithbmQgc21hcnRkKSB0byBjb250cm9sIGFuZCBtb25pdG9yIHN0b3JhZ2Ugc3lzdGVtcyB1c2luZyB0aGUgU2VsZi1cCitNb25pdG9yaW5nLCBBbmFseXNpcyBhbmQgUmVwb3J0aW5nIFRlY2hub2xvZ3kgU3lzdGVtIChTTUFSVCkgYnVpbHQgXAoraW50byBtb3N0IG1vZGVybiBBVEEgYW5kIFNDU0kgaGFyZCBkaXNrcy4gSW4gbWFueSBjYXNlcywgdGhlc2UgXAordXRpbGl0aWVzIHdpbGwgcHJvdmlkZSBhZHZhbmNlZCB3YXJuaW5nIG9mIGRpc2sgZGVncmFkYXRpb24gYW5kIGZhaWx1cmUuIgorCitIT01FUEFHRSA9ICJodHRwOi8vc21hcnRtb250b29scy5zb3VyY2Vmb3JnZS5uZXQvIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3NtYXJ0bW9udG9vbHMvc21hcnRtb250b29scy0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vaW5pdGQuc21hcnRkIFwKKyAgICAgICAgICAgZmlsZTovL3NtYXJ0bW9udG9vbHMuZGVmYXVsdCBcCisgICAgICAgICAgIGZpbGU6Ly9zbWFydGQuc2VydmljZSBcCisgICAgICAgICAgIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsaWJjYXAtbmcnLCAnbGliY2FwLW5nJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzZWxpbnV4JywgJ3NlbGludXgnLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICIKK1BBQ0tBR0VDT05GSUdbbGliY2FwLW5nXSA9ICItLXdpdGgtbGliY2FwLW5nPXllcywtLXdpdGgtbGliY2FwLW5nPW5vLGxpYmNhcC1uZyIKK1BBQ0tBR0VDT05GSUdbc2VsaW51eF0gPSAiLS13aXRoLXNlbGludXg9eWVzLC0td2l0aC1zZWxpbnV4PW5vLGxpYnNlbGludXgiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1NjgxMmM4MzEyZmQxMjNlZDQwZWY2NWFmZGUxMDQ5ZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlYWI3NTYwMGMxZWRhOWMzNGIxMzA5N2RiNzExMzhhYjM3NmYzZGFkOGE2YTQ2NjdmYjRkMWQwODFmZWI3YTg1IgorCitpbmhlcml0IGF1dG90b29scyB1cGRhdGUtcmMuZCBzeXN0ZW1kCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJzbWFydGQuc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworCSNpbnN0YWxsIHRoZSBpbml0LmQvc21hcnRkCisJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKwlpbnN0YWxsIC1wIC1tIDA3NTUgJHtXT1JLRElSfS9pbml0ZC5zbWFydGQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3NtYXJ0ZAorCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdAorCWluc3RhbGwgLXAgLW0gMDY0NCAke1dPUktESVJ9L3NtYXJ0bW9udG9vbHMuZGVmYXVsdCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3NtYXJ0bW9udG9vbHMKKworCSNpbnN0YWxsIHN5c3RlbWQgc2VydmljZSBmaWxlCisJaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3NtYXJ0ZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisJc2VkIC1pIC1lICdzLEBCQVNFX0JJTkRJUkAsJHtiYXNlX2JpbmRpcn0sZycgXAorCQktZSAncyxAU1lTQ09ORkRJUkAsJHtzeXNjb25mZGlyfSxnJyBcCisJCS1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnIFwKKwkJJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc21hcnRkLnNlcnZpY2UKK30KKworSU5JVFNDUklQVF9OQU1FID0gInNtYXJ0ZCIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDYwIDIgMyA0IDUgLiBzdG9wIDYwIDAgMSA2IC4iCisKK1JERVBFTkRTXyR7UE59ICs9ICJtYWlseCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NvY2tldGNhbi9jYW4tdXRpbHNfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc29ja2V0Y2FuL2Nhbi11dGlsc19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTMxZTMzMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NvY2tldGNhbi9jYW4tdXRpbHNfZ2l0LmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiTGludXggQ0FOIG5ldHdvcmsgZGV2ZWxvcG1lbnQgdXRpbGl0aWVzIgorREVTQ1JJUFRJT04gPSAiTGludXggQ0FOIG5ldHdvcmsgZGV2ZWxvcG1lbnQiCitMSUNFTlNFID0gIkdQTHYyICYgQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vaW5jbHVkZS9saW51eC9jYW4uaDtlbmRsaW5lPTQzO21kNT0zOTBhMmM5YTNjNWUzNTk1YTA2OWFjMTQzNjU1M2VlNyIKKworREVQRU5EUyA9ICJsaWJzb2NrZXRjYW4iCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9saW51eC1jYW4vJHtCUE59LmdpdDtwcm90b2NvbD1naXQ7YnJhbmNoPW1hc3RlciIKK1NSQ1JFViA9ICI2N2EyYmRjZDMzNmU2YmVjZmE1Nzg0NzQyZTE4Yzg4ZGJlZGRjOTczIgorCitQViA9ICIwLjArZ2l0ciR7U1JDUFZ9IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc29ja2V0Y2FuL2NhbnV0aWxzLzAwMDEtY2FudXRpbHMtY2FuZHVtcC1BZGQtZXJyb3ItZnJhbWUtcy1oYW5kbGluZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NvY2tldGNhbi9jYW51dGlscy8wMDAxLWNhbnV0aWxzLWNhbmR1bXAtQWRkLWVycm9yLWZyYW1lLXMtaGFuZGxpbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmNjMzhlMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NvY2tldGNhbi9jYW51dGlscy8wMDAxLWNhbnV0aWxzLWNhbmR1bXAtQWRkLWVycm9yLWZyYW1lLXMtaGFuZGxpbmcucGF0Y2gKQEAgLTAsMCArMSw5NCBAQAorRnJvbSBiYWI1OTVlMzgyOTVkY2FmY2ZjMTdhMDExZDNkNTFmMmRmMTYxOGU2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQW5pbEt1bWFyIENoIDxhbmlsa3VtYXJAdGkuY29tPgorRGF0ZTogVHVlLCAxMCBKYW4gMjAxMiAxODo1NToxMSArMDUzMAorU3ViamVjdDogW1BBVENIXSBjYW51dGlsczogY2FuZHVtcDogQWRkIGVycm9yIGZyYW1lJ3MgaGFuZGxpbmcKKworVGhpcyBwYXRjaCBhZGRzIHRoZSBlcnJvciBoYW5kbGluZyBjYXBhYmlsaXR5IHRvIGNhbmR1bXAgdXRpbGl0eQorYnkgYWRkaW5nIGVycm9yIGZsYWdzIGZvciBkaXNwbGF5aW5nIGFsbCBraW5kIG9mIGVycm9yIGZyYW1lcworbGlrZSB0eF90aW1lb3V0LCBsb3N0IGFyYml0cmF0aW9uLCBjb250cm9sbGVyIHByb2JsZW1zLCBidXNlcnJvcnMsCitidXMgd2FybmluZ3MgZXRjLgorCitVc2FnZSBvZiBjYW5kdW1wIGZvciBlcnJvciBmcmFtZSBkaXNwbGF5IG9uIGNvbnNvbGU6CitjYW5kdW1wIFs8Y2FuLWludGVyZmFjZT5dIFtPcHRpb25zXQorRXg6IGNhbmR1bXAgY2FuMCAtLWVycm9yCisKK1RoaXMgcGF0Y2ggaXMgY3JlYXRlZCBvbiB0b3Agb2YgY2FudXRpbHMtNC4wLjYgdGFnIGZyb20KK2h0dHA6Ly9naXQucGVuZ3V0cm9uaXguZGUvP3A9dG9vbHMvY2FudXRpbHMuZ2l0CisKK1NpZ25lZC1vZmYtYnk6IEFuaWxLdW1hciBDaCA8YW5pbGt1bWFyQHRpLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE1hcmMgS2xlaW5lLUJ1ZGRlIDxta2xAcGVuZ3V0cm9uaXguZGU+CistLS0KK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworIHNyYy9jYW5kdW1wLmMgfCAyMCArKysrKysrKysrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvY2FuZHVtcC5jIGIvc3JjL2NhbmR1bXAuYworaW5kZXggMjU5ZDQ0Mi4uYzE2NDI1YiAxMDA2NDQKKy0tLSBhL3NyYy9jYW5kdW1wLmMKKysrKyBiL3NyYy9jYW5kdW1wLmMKK0BAIC0yMCw2ICsyMCw3IEBACisgCisgI2luY2x1ZGUgPGxpbnV4L2Nhbi5oPgorICNpbmNsdWRlIDxsaW51eC9jYW4vcmF3Lmg+CisrI2luY2x1ZGUgPGxpbnV4L2Nhbi9lcnJvci5oPgorIAorIGV4dGVybiBpbnQgb3B0aW5kLCBvcHRlcnIsIG9wdG9wdDsKKyAKK0BAIC00MCw2ICs0MSw3IEBAIHN0YXRpYyB2b2lkIHByaW50X3VzYWdlKGNoYXIgKnByZykKKyAJCSIgLXAsIC0tcHJvdG9jb2w9UFJPVE9cdCIJIkNBTiBwcm90b2NvbCAoZGVmYXVsdCBDQU5fUkFXID0gJWQpXG4iCisgCQkiICAgICAtLWZpbHRlcj1pZDptYXNrWzppZDptYXNrXS4uLlxuIgorIAkJIlx0XHRcdCIJCQkiYXBwbHkgZmlsdGVyXG4iCisrCQkiIC1lLCAtLWVycm9yXHRcdCIJCSJkdW1wIGVycm9yIGZyYW1lcyBhbG9uZyB3aXRoIGRhdGEgZnJhbWVzXG4iCisgCQkiIC1oLCAtLWhlbHBcdFx0IgkJInRoaXMgaGVscFxuIgorIAkJIiAtbyA8ZmlsZW5hbWU+XHRcdCIJCSJvdXRwdXQgaW50byBmaWxlbmFtZVxuIgorIAkJIiAtZFx0XHRcdCIJCQkiZGFlbW9uaXplXG4iCitAQCAtODYsNiArODgsMTEgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorIAlpbnQgbmJ5dGVzLCBpOworIAlpbnQgb3B0LCBvcHRkYWVtb24gPSAwOworIAl1aW50MzJfdCBpZCwgbWFzazsKKysJaW50IGVycm9yID0gMDsKKysJY2FuX2Vycl9tYXNrX3QgZXJyX21hc2sgPSAoQ0FOX0VSUl9UWF9USU1FT1VUIHwgQ0FOX0VSUl9MT1NUQVJCIHwKKysJCQkJCUNBTl9FUlJfQ1JUTCB8IENBTl9FUlJfUFJPVCB8CisrCQkJCQlDQU5fRVJSX1RSWCB8IENBTl9FUlJfQUNLIHwgQ0FOX0VSUl9CVVNPRkYgfAorKwkJCQkJQ0FOX0VSUl9CVVNFUlJPUik7CisgCisgCXNpZ25hbChTSUdQSVBFLCBTSUdfSUdOKTsKKyAKK0BAIC05NSw2ICsxMDIsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgCQl7ICJwcm90b2NvbCIsIHJlcXVpcmVkX2FyZ3VtZW50LCAwLCAncCcgfSwKKyAJCXsgInR5cGUiLCByZXF1aXJlZF9hcmd1bWVudCwgMCwgJ3QnIH0sCisgCQl7ICJmaWx0ZXIiLCByZXF1aXJlZF9hcmd1bWVudCwgMCwgRklMVEVSX09QVElPTiB9LAorKwkJeyAiZXJyb3IiLCBub19hcmd1bWVudCwgMCwgJ2UnIH0sCisgCQl7ICJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsIDAsIFZFUlNJT05fT1BUSU9OfSwKKyAJCXsgMCwgMCwgMCwgMH0sCisgCX07CitAQCAtMTIxLDYgKzEyOSwxMCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgCQkJcHJvdG8gPSBzdHJ0b3VsKG9wdGFyZywgTlVMTCwgMCk7CisgCQkJYnJlYWs7CisgCisrCQljYXNlICdlJzoKKysJCQllcnJvciA9IDE7CisrCQkJYnJlYWs7CisrCisgCQljYXNlICdvJzoKKyAJCQlvcHRvdXQgPSBvcHRhcmc7CisgCQkJYnJlYWs7CitAQCAtMTg2LDYgKzE5OCwxNCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgCQl9CisgCX0KKyAKKysJaWYgKGVycm9yKSB7CisrCQlpZiAoc2V0c29ja29wdChzLCBTT0xfQ0FOX1JBVywgQ0FOX1JBV19FUlJfRklMVEVSLCAmZXJyX21hc2ssCisrCQkJICAgICAgIHNpemVvZihlcnJfbWFzaykpICE9IDApIHsKKysJCQlwZXJyb3IoInNldHNvY2tvcHQiKTsKKysJCQlleGl0KDEpOworKwkJfQorKwl9CisrCisgCWlmIChvcHRkYWVtb24pCisgCQlkYWVtb24oMSwgMCk7CisgCWVsc2UgeworLS0gCisxLjguMy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NvY2tldGNhbi9jYW51dGlsc180LjAuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NvY2tldGNhbi9jYW51dGlsc180LjAuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMTUwOGFmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc29ja2V0Y2FuL2NhbnV0aWxzXzQuMC42LmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiY2FudXRpbHMgKFBUWCBmbGF2b3VyKSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cucGVuZ3V0cm9uaXguZGUiCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitERVBFTkRTID0gImxpYnNvY2tldGNhbiIKKworU1JDUkVWID0gIjI5OWRmZjdmNTMyMmJmMDM0OGRjZGQ2MDA3MTk1OGViZWRmNWYwOWQiCitTUkNfVVJJID0gImdpdDovL2dpdC5wZW5ndXRyb25peC5kZS9naXQvdG9vbHMvY2FudXRpbHMuZ2l0O3Byb3RvY29sPWdpdCBcCisgICAgZmlsZTovLzAwMDEtY2FudXRpbHMtY2FuZHVtcC1BZGQtZXJyb3ItZnJhbWUtcy1oYW5kbGluZy5wYXRjaCBcCisiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCisjIEJ1c3lib3ggaXAgZG9lc24ndCBzdXBwb3J0IGNhbiBpbnRlcmZhY2UgY29uZmlndXJhdGlvbiwgdXNlIHRoZSByZWFsIHRoaW5nCitSREVQRU5EU18ke1BOfSArPSAiaXByb3V0ZTIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zb2NrZXRjYW4vbGlic29ja2V0Y2FuLzAwMDEtVXNlLXN0cmNtcC1pbnN0ZWFkLW9mLXNpemVvZi1vbi1jaGFyLXN0cmluZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NvY2tldGNhbi9saWJzb2NrZXRjYW4vMDAwMS1Vc2Utc3RyY21wLWluc3RlYWQtb2Ytc2l6ZW9mLW9uLWNoYXItc3RyaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhNjE5NmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zb2NrZXRjYW4vbGlic29ja2V0Y2FuLzAwMDEtVXNlLXN0cmNtcC1pbnN0ZWFkLW9mLXNpemVvZi1vbi1jaGFyLXN0cmluZy5wYXRjaApAQCAtMCwwICsxLDM5IEBACitGcm9tIDk0MDk0Y2M0ZWU3YWU1ODVkYTNlNWU3ZTgzZTdkODJiNWQ2ZGU2NTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgU3RlaW4gPGFsZXhhbmRlci5zdGVpbkBzeXN0ZWMtZWxlY3Ryb25pYy5jb20+CitEYXRlOiBXZWQsIDE0IE5vdiAyMDEyIDEyOjEzOjA2ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIFVzZSBzdHJjbXAgaW5zdGVhZCBvZiBzaXplb2Ygb24gY2hhciogc3RyaW5nCisKK1RoaXMgYnVnIHdhcyBkZXRlY3RlZCBieSB0aGUgY2xhbmcgd2FybmluZzoKK2xpYnNvY2tldGNhbi5jOjM4NDoxNjogd2FybmluZzogYXJndW1lbnQgdG8gJ3NpemVvZicgaW4gJ3N0cm5jbXAnIGNhbGwKK2lzIHRoZSBzYW1lIGV4cHJlc3Npb24gYXMgdGhlIHNvdXJjZTsgZGlkIHlvdSBtZWFuIHRvIHByb3ZpZGUgYW4KK2V4cGxpY2l0IGxlbmd0aD8gWy1Xc2l6ZW9mLXBvaW50ZXItbWVtYWNjZXNzXQorc2l6ZW9mKG5hbWUpKSAhPSAwKQorfn5+fn5+fl5+fn5+fgorCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgU3RlaW4gPGFsZXhhbmRlci5zdGVpbkBzeXN0ZWMtZWxlY3Ryb25pYy5jb20+CitTaWduZWQtb2ZmLWJ5OiBNYXJjIEtsZWluZS1CdWRkZSA8bWtsQHBlbmd1dHJvbml4LmRlPgorLS0tCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKKyBzcmMvbGlic29ja2V0Y2FuLmMgfCA1ICsrLS0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9saWJzb2NrZXRjYW4uYyBiL3NyYy9saWJzb2NrZXRjYW4uYworaW5kZXggZmVkY2JkYy4uODQxYzJlZCAxMDA2NDQKKy0tLSBhL3NyYy9saWJzb2NrZXRjYW4uYworKysrIGIvc3JjL2xpYnNvY2tldGNhbi5jCitAQCAtMzc5LDkgKzM3OSw4IEBAIHN0YXRpYyBpbnQgZG9fZ2V0X25sX2xpbmsoaW50IGZkLCBfX3U4IGFjcXVpcmUsIGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKnJlcykKKyAJCQkJbmxfbXNnLT5ubG1zZ19sZW4gLSBOTE1TR19MRU5HVEgoc2l6ZW9mKHN0cnVjdCBpZmFkZHJtc2cpKTsKKyAJCQlwYXJzZV9ydGF0dHIodGIsIElGTEFfTUFYLCBJRkxBX1JUQShpZmkpLCBsZW4pOworIAorLQkJCWlmIChzdHJuY21wCistCQkJICAgICgoY2hhciAqKVJUQV9EQVRBKHRiW0lGTEFfSUZOQU1FXSksIG5hbWUsCistCQkJICAgICBzaXplb2YobmFtZSkpICE9IDApCisrCQkJaWYgKHN0cmNtcAorKwkJCSAgICAoKGNoYXIgKilSVEFfREFUQSh0YltJRkxBX0lGTkFNRV0pLCBuYW1lKSAhPSAwKQorIAkJCQljb250aW51ZTsKKyAKKyAJCQlpZiAodGJbSUZMQV9MSU5LSU5GT10pCistLSAKKzEuOC4zLjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc29ja2V0Y2FuL2xpYnNvY2tldGNhbl8wLjAuOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NvY2tldGNhbi9saWJzb2NrZXRjYW5fMC4wLjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOThlZjczZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NvY2tldGNhbi9saWJzb2NrZXRjYW5fMC4wLjkuYmIKQEAgLTAsMCArMSwyMCBAQAorU1VNTUFSWSA9ICJDb250cm9sIGJhc2ljIGZ1bmN0aW9ucyBpbiBzb2NrZXRjYW4gZnJvbSB1c2Vyc3BhY2UiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnBlbmd1dHJvbml4LmRlIgorU0VDVElPTiA9ICJsaWJzL25ldHdvcmsiCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9zcmMvbGlic29ja2V0Y2FuLmM7YmVnaW5saW5lPTM7ZW5kbGluZT0xNzttZDU9OTdlMzhhZGNlZDQzODVkOGZiYTFhZTI0MzdjZWRlZTEiCisKK1NSQ1JFViA9ICJlMWEyMjRiZjFjNDA5YWRmMGMwMmIwN2E5MGRlYWRhNjM0ZTU0Yjg4IgorCitTUkNfVVJJID0gImdpdDovL2dpdC5wZW5ndXRyb25peC5kZS9naXQvdG9vbHMvbGlic29ja2V0Y2FuLmdpdDtwcm90b2NvbD1naXQgXAorICAgIGZpbGU6Ly8wMDAxLVVzZS1zdHJjbXAtaW5zdGVhZC1vZi1zaXplb2Ytb24tY2hhci1zdHJpbmcucGF0Y2ggXAorIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgc2VkIC1pIC1lIHM6dGVzdHMvR05VbWFrZWZpbGU6OmcgLWUgczp0cnVuazowLjAuOTogJHtTfS9jb25maWd1cmUuYWMKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3N1YnN1cmZhY2Uvc3Vic3VyZmFjZV9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zdWJzdXJmYWNlL3N1YnN1cmZhY2VfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyYjlkMmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zdWJzdXJmYWNlL3N1YnN1cmZhY2VfZ2l0LmJiCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAiU3Vic3VyZmFjZSBpcyBhbiBvcGVuIHNvdXJjZSBkaXZlIGxvZyBwcm9ncmFtIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2dwbC0yLjAudHh0O21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworREVQRU5EUyA9ICJsaWJkaXZlY29tcHV0ZXIgZ3RrKyBsaWJ4bWwyIGdsaWItMi4wIGdjb25mIgorCitQTkJMQUNLTElTVFtzdWJzdXJmYWNlXSA/PSAiTmVlZHMgdG8gYmUgdXBncmFkZWQgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBuZXcgbGliZGl2ZWNvbXB1dGVyIgorCitpbmhlcml0IGd0ay1pY29uLWNhY2hlIGNtYWtlCisKK2luaGVyaXQgZ2l0cGtndgorUEtHViA9ICIke0dJVFBLR1ZUQUd9IgorUFYgPSAiNC4yIgorCitTUkNSRVYgPSAiZjYxZWUyMGJhMzU2ZWNmYzRjNWIyNDdmNTQ4ZjUyZDU4ODE3OWM5NCIKK1NSQ19VUkkgPSAiZ2l0Oi8vc3Vic3VyZmFjZS5ob2huZGVsLm9yZy9zdWJzdXJmYWNlLmdpdCIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKKyNGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9pY29ucy9oaWNvbG9yL3NjYWxhYmxlL2FwcHMvc3Vic3VyZmFjZS5zdmciCitSUkVDT01NRU5EU18ke1BOfV9hcHBlbmRfbGliYy1nbGliYyA9ICIgZ2xpYmMtZ2NvbnYtaXNvODg1OS0xNSIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc3lzZGlnL3N5c2RpZy8wMDAxLUZpeC1idWlsZC13aXRoLW11c2wtYmFja3RyYWNlLUFQSXMtYXJlLWdsaWJjLXNwZWNpZmkucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zeXNkaWcvc3lzZGlnLzAwMDEtRml4LWJ1aWxkLXdpdGgtbXVzbC1iYWNrdHJhY2UtQVBJcy1hcmUtZ2xpYmMtc3BlY2lmaS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDNmOGExCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc3lzZGlnL3N5c2RpZy8wMDAxLUZpeC1idWlsZC13aXRoLW11c2wtYmFja3RyYWNlLUFQSXMtYXJlLWdsaWJjLXNwZWNpZmkucGF0Y2gKQEAgLTAsMCArMSw1MCBAQAorRnJvbSAyOTA3MDNhNWQyMWYzNGVhNWVjMjNlZmM4MTVhOWY0ZGYyNDFlN2U4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjMgT2N0IDIwMTUgMDA6MzM6MzIgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IGJ1aWxkIHdpdGggbXVzbCwgYmFja3RyYWNlKCkgQVBJcyBhcmUgZ2xpYmMgc3BlY2lmaWMKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIHVzZXJzcGFjZS9saWJzaW5zcC91dGlscy5jcHAgfCA0ICsrKy0KKyB1c2Vyc3BhY2UvbGlic2luc3AvdXRpbHMuaCAgIHwgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdXNlcnNwYWNlL2xpYnNpbnNwL3V0aWxzLmNwcCBiL3VzZXJzcGFjZS9saWJzaW5zcC91dGlscy5jcHAKK2luZGV4IDhmMjNmOWMuLmM0OTZhNTcgMTAwNjQ0CistLS0gYS91c2Vyc3BhY2UvbGlic2luc3AvdXRpbHMuY3BwCisrKysgYi91c2Vyc3BhY2UvbGlic2luc3AvdXRpbHMuY3BwCitAQCAtMjEsNyArMjEsOSBAQCBhbG9uZyB3aXRoIHN5c2RpZy4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAjaW5jbHVkZSA8bGltaXRzLmg+CisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorICNpbmNsdWRlIDxzeXMvdGltZS5oPgorKyNpZmRlZiBfX0dMSUJDX18KKyAjaW5jbHVkZSA8ZXhlY2luZm8uaD4KKysjZW5kaWYKKyAjaW5jbHVkZSA8dW5pc3RkLmg+CisgI2luY2x1ZGUgPHN5cy90aW1lLmg+CisgI2luY2x1ZGUgPG5ldGRiLmg+CitAQCAtNzQxLDcgKzc0Myw3IEBAIHVpbnQ2NF90IHNpbnNwX3V0aWxzOjpnZXRfY3VycmVudF90aW1lX25zKCkKKyAgICAgcmV0dXJuIHR2LnR2X3NlYyAqICh1aW50NjRfdCkgMTAwMDAwMDAwMCArIHR2LnR2X3VzZWMgKiAxMDAwOworIH0KKyAKKy0jaWZuZGVmIF9XSU4zMgorKyNpZiBkZWZpbmVkKF9XSU4zMikgJiYgZGVmaW5lZChfX0dMSUJDX18pCisgdm9pZCBzaW5zcF91dGlsczo6YnQodm9pZCkKKyB7CisgCXN0YXRpYyBjb25zdCBjaGFyIHN0YXJ0W10gPSAiQkFDS1RSQUNFIC0tLS0tLS0tLS0tLSI7CitkaWZmIC0tZ2l0IGEvdXNlcnNwYWNlL2xpYnNpbnNwL3V0aWxzLmggYi91c2Vyc3BhY2UvbGlic2luc3AvdXRpbHMuaAoraW5kZXggNjAwZDAwYi4uNGFiNDY1MCAxMDA2NDQKKy0tLSBhL3VzZXJzcGFjZS9saWJzaW5zcC91dGlscy5oCisrKysgYi91c2Vyc3BhY2UvbGlic2luc3AvdXRpbHMuaAorQEAgLTc5LDcgKzc5LDcgQEAgcHVibGljOgorIAorIAlzdGF0aWMgdWludDY0X3QgZ2V0X2N1cnJlbnRfdGltZV9ucygpOworIAorLSNpZm5kZWYgX1dJTjMyCisrI2lmIG5vdCBkZWZpbmVkKF9XSU4zMikgJiYgZGVmaW5lZChfX0dMSUJDX18pCisgCS8vCisgCS8vIFByaW50IHRoZSBjYWxsIHN0YWNrCisgCS8vCistLSAKKzIuNi4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3N5c2RpZy9zeXNkaWcvMDAwMS1saWJzaW5zcC1Qb3J0LXRvLWJ1aWxkLXdpdGgtbHVhLTUuMi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3N5c2RpZy9zeXNkaWcvMDAwMS1saWJzaW5zcC1Qb3J0LXRvLWJ1aWxkLXdpdGgtbHVhLTUuMi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZmVjMGNhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc3lzZGlnL3N5c2RpZy8wMDAxLWxpYnNpbnNwLVBvcnQtdG8tYnVpbGQtd2l0aC1sdWEtNS4yLnBhdGNoCkBAIC0wLDAgKzEsMTA4IEBACitGcm9tIGMyNzgyYTZjYTk2ODE5MGUyMjFjMjViMDg5MDYwMGJhOGNkNDM3OTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCAyMyBPY3QgMjAxNSAwMDoyMzoxNSAtMDcwMAorU3ViamVjdDogW1BBVENIXSBsaWJzaW5zcDogUG9ydCB0byBidWlsZCB3aXRoIGx1YSA+PSA1LjIKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIHVzZXJzcGFjZS9saWJzaW5zcC9jaGlzZWwuY3BwIHwgNDAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3VzZXJzcGFjZS9saWJzaW5zcC9jaGlzZWwuY3BwIGIvdXNlcnNwYWNlL2xpYnNpbnNwL2NoaXNlbC5jcHAKK2luZGV4IDNjZmJkOGQuLjJkYjkzNDggMTAwNjQ0CistLS0gYS91c2Vyc3BhY2UvbGlic2luc3AvY2hpc2VsLmNwcAorKysrIGIvdXNlcnNwYWNlL2xpYnNpbnNwL2NoaXNlbC5jcHAKK0BAIC05NCw3ICs5NCw3IEBAIHZvaWQgbHVhX3N0YWNrZHVtcChsdWFfU3RhdGUgKkwpCisgLy8gTHVhIGNhbGxiYWNrcworIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyAjaWZkZWYgSEFTX0xVQV9DSElTRUxTCistY29uc3Qgc3RhdGljIHN0cnVjdCBsdWFMX3JlZyBsbF9zeXNkaWcgW10gPSAKKytjb25zdCBzdGF0aWMgc3RydWN0IGx1YUxfUmVnIGxsX3N5c2RpZyBbXSA9CisgeworIAl7InNldF9maWx0ZXIiLCAmbHVhX2NiYWNrczo6c2V0X2dsb2JhbF9maWx0ZXJ9LAorIAl7InNldF9zbmFwbGVuIiwgJmx1YV9jYmFja3M6OnNldF9zbmFwbGVufSwKK0BAIC0xMjAsNyArMTIwLDcgQEAgY29uc3Qgc3RhdGljIHN0cnVjdCBsdWFMX3JlZyBsbF9zeXNkaWcgW10gPQorIAl7TlVMTCxOVUxMfQorIH07CisgCistY29uc3Qgc3RhdGljIHN0cnVjdCBsdWFMX3JlZyBsbF9jaGlzZWwgW10gPSAKKytjb25zdCBzdGF0aWMgc3RydWN0IGx1YUxfUmVnIGxsX2NoaXNlbCBbXSA9CisgeworIAl7InJlcXVlc3RfZmllbGQiLCAmbHVhX2NiYWNrczo6cmVxdWVzdF9maWVsZH0sCisgCXsic2V0X2ZpbHRlciIsICZsdWFfY2JhY2tzOjpzZXRfZmlsdGVyfSwKK0BAIC0xMzEsNyArMTMxLDcgQEAgY29uc3Qgc3RhdGljIHN0cnVjdCBsdWFMX3JlZyBsbF9jaGlzZWwgW10gPQorIAl7TlVMTCxOVUxMfQorIH07CisgCistY29uc3Qgc3RhdGljIHN0cnVjdCBsdWFMX3JlZyBsbF9ldnQgW10gPSAKKytjb25zdCBzdGF0aWMgc3RydWN0IGx1YUxfUmVnIGxsX2V2dCBbXSA9CisgeworIAl7ImZpZWxkIiwgJmx1YV9jYmFja3M6OmZpZWxkfSwKKyAJeyJnZXRfbnVtIiwgJmx1YV9jYmFja3M6OmdldF9udW19LAorQEAgLTg1MywxMCArODUzLDI4IEBAIGJvb2wgc2luc3BfY2hpc2VsOjpwYXJzZV92aWV3X2luZm8obHVhX1N0YXRlICpscywgT1VUIGNoaXNlbF9kZXNjKiBjZCkKKyAKKyAKKyAjaWZkZWYgSEFTX0xVQV9DSElTRUxTCisrc3RhdGljIHZvaWQgY2hpc2VsX2x1YV9yZWdpc3RlcmxpYihsdWFfU3RhdGUgKkwsIGNvbnN0IGNoYXIgKmxpYm5hbWUsCisrCQkJCWNvbnN0IGx1YUxfUmVnICpsLCBpbnQgaW5kKQorK3sKKysjaWYgTFVBX1ZFUlNJT05fTlVNID49IDUwMgorKwlpZiAobGlibmFtZSkKKysJeworKwkJbHVhX25ld3RhYmxlKEwpOworKwkJbHVhTF9zZXRmdW5jcyhMLCBsLCBpbmQpOworKwkJbHVhX3B1c2h2YWx1ZShMLCAtMSk7CisrCQlsdWFfc2V0Z2xvYmFsKEwsIGxpYm5hbWUpOworKwl9CisrCWVsc2UKKysJCWx1YUxfc2V0ZnVuY3MoTCwgbCwgaW5kKTsKKysjZWxzZQorKwlsdWFMX3JlZ2lzdGVyKEwsIGxpYm5hbWUsIGwpOworKyNlbmRpZgorK30KKysKKyAvLyBJbml0aWFsaXplcyBhIGx1YSBjaGlzZWwKKyBib29sIHNpbnNwX2NoaXNlbDo6aW5pdF9sdWFfY2hpc2VsKGNoaXNlbF9kZXNjICZjZCwgc3RyaW5nIGNvbnN0ICZmcGF0aCkKKyB7CistCWx1YV9TdGF0ZSogbHMgPSBsdWFfb3BlbigpOworKwlsdWFfU3RhdGUqIGxzID0gbHVhTF9uZXdzdGF0ZSgpOworIAlpZihscyA9PSBOVUxMKQorIAl7CisgCQlyZXR1cm4gZmFsc2U7CitAQCAtODY3LDkgKzg4NSw5IEBAIGJvb2wgc2luc3BfY2hpc2VsOjppbml0X2x1YV9jaGlzZWwoY2hpc2VsX2Rlc2MgJmNkLCBzdHJpbmcgY29uc3QgJmZwYXRoKQorIAkvLworIAkvLyBMb2FkIG91ciBvd24gbHVhIGxpYnMKKyAJLy8KKy0JbHVhTF9vcGVubGliKGxzLCAic3lzZGlnIiwgbGxfc3lzZGlnLCAwKTsKKy0JbHVhTF9vcGVubGliKGxzLCAiY2hpc2VsIiwgbGxfY2hpc2VsLCAwKTsKKy0JbHVhTF9vcGVubGliKGxzLCAiZXZ0IiwgbGxfZXZ0LCAwKTsKKysJY2hpc2VsX2x1YV9yZWdpc3RlcmxpYihscywgInN5c2RpZyIsIGxsX3N5c2RpZywgMCk7CisrCWNoaXNlbF9sdWFfcmVnaXN0ZXJsaWIobHMsICJjaGlzZWwiLCBsbF9jaGlzZWwsIDApOworKwljaGlzZWxfbHVhX3JlZ2lzdGVybGliKGxzLCAiZXZ0IiwgbGxfZXZ0LCAwKTsKKyAKKyAJLy8KKyAJLy8gQWRkIG91ciBjaGlzZWwgcGF0aHMgdG8gcGFja2FnZS5wYXRoCitAQCAtMTExMSwxNiArMTEyOSwxNiBAQCB2b2lkIHNpbnNwX2NoaXNlbDo6bG9hZChzdHJpbmcgY21kc3RyKQorIAkvLworIAkvLyBPcGVuIHRoZSBzY3JpcHQKKyAJLy8KKy0JbV9scyA9IGx1YV9vcGVuKCk7CisrCW1fbHMgPSBsdWFMX25ld3N0YXRlKCk7CisgIAorIAlsdWFMX29wZW5saWJzKG1fbHMpOworIAorIAkvLworIAkvLyBMb2FkIG91ciBvd24gbHVhIGxpYnMKKyAJLy8KKy0JbHVhTF9vcGVubGliKG1fbHMsICJzeXNkaWciLCBsbF9zeXNkaWcsIDApOworLQlsdWFMX29wZW5saWIobV9scywgImNoaXNlbCIsIGxsX2NoaXNlbCwgMCk7CistCWx1YUxfb3BlbmxpYihtX2xzLCAiZXZ0IiwgbGxfZXZ0LCAwKTsKKysJY2hpc2VsX2x1YV9yZWdpc3RlcmxpYihtX2xzLCAic3lzZGlnIiwgbGxfc3lzZGlnLCAwKTsKKysJY2hpc2VsX2x1YV9yZWdpc3RlcmxpYihtX2xzLCAiY2hpc2VsIiwgbGxfY2hpc2VsLCAwKTsKKysJY2hpc2VsX2x1YV9yZWdpc3RlcmxpYihtX2xzLCAiZXZ0IiwgbGxfZXZ0LCAwKTsKKyAKKyAJLy8KKyAJLy8gQWRkIG91ciBjaGlzZWwgcGF0aHMgdG8gcGFja2FnZS5wYXRoCistLSAKKzIuNi4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3N5c2RpZy9zeXNkaWdfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc3lzZGlnL3N5c2RpZ19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzE3ZmFiOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3N5c2RpZy9zeXNkaWdfZ2l0LmJiCkBAIC0wLDAgKzEsMzUgQEAKK1NVTU1BUlkgPSAiQSBOZXcgU3lzdGVtIFRyb3VibGVzaG9vdGluZyBUb29sIEJ1aWx0IGZvciB0aGUgV2F5IFlvdSBXb3JrIgorREVTQ1JJUFRJT04gPSAiU3lzZGlnIGlzIG9wZW4gc291cmNlLCBzeXN0ZW0tbGV2ZWwgZXhwbG9yYXRpb246IGNhcHR1cmUgXAorc3lzdGVtIHN0YXRlIGFuZCBhY3Rpdml0eSBmcm9tIGEgcnVubmluZyBMaW51eCBpbnN0YW5jZSwgdGhlbiBzYXZlLCBcCitmaWx0ZXIgYW5kIGFuYWx5emUuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5zeXNkaWcub3JnLyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworaW5oZXJpdCBjbWFrZSBwa2djb25maWcKKworREVQRU5EUyA9ICJsdWFqaXQgemxpYiBuY3Vyc2VzIgorUkRFUEVORFNfJHtQTn0gPSAiYmFzaCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2RyYWlvcy9zeXNkaWcuZ2l0O2JyYW5jaD1tYXN0ZXIgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1saWJzaW5zcC1Qb3J0LXRvLWJ1aWxkLXdpdGgtbHVhLTUuMi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1idWlsZC13aXRoLW11c2wtYmFja3RyYWNlLUFQSXMtYXJlLWdsaWJjLXNwZWNpZmkucGF0Y2ggXAorICAgICAgICAgICIKK1NSQ1JFViA9ICI4NWQxNmYzM2E4MmExN2Y4N2NjZGJjMDg4NzQ5MjcxYzcxZDg3MDEzIgorUFYgPSAiMC4xLjEwMitnaXQke1NSQ1BWfSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworRElSX0VUQz0iL2V0YyIKK0VYVFJBX09FQ01BS0UgPSAnIC1EVVNFX0JVTkRMRURfTFVBSklUPSJPRkYiIFwKKyAgICAgICAgICAgICAgICAgIC1EVVNFX0JVTkRMRURfWkxJQj0iT0ZGIiBcCisgICAgICAgICAgICAgICAgICAtREJVSUxEX0RSSVZFUj0iT0ZGIiBcCisgICAgICAgICAgICAgICAgICAtRFVTRV9CVU5ETEVEX05DVVJTRVM9Ik9GRiIgXAorICAgICAgICAgICAgICAgICAgLURESVJfRVRDPSIke0RJUl9FVEN9IiBcCisgICAgICAgICAgICAgICAgJworCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAke0RJUl9FVEN9LyogXAorICAgICR7ZGF0YWRpcn0venNoLyogXCAKKyAgICAke3ByZWZpeH0vc3JjLyogIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3QxbGliL3QxbGliLTUuMS4yL2NvbmZpZ3VyZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3QxbGliL3QxbGliLTUuMS4yL2NvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Yjk4NzA3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdDFsaWIvdDFsaWItNS4xLjIvY29uZmlndXJlLnBhdGNoCkBAIC0wLDAgKzEsMTI4IEBACisKKyMKKyMgUGF0Y2ggbWFuYWdlZCBieSBodHRwOi8vd3d3LmhvbGdlcnNjaHVyaWcuZGUvcGF0Y2hlci5odG1sCisjCisKKy0tLSB0MWxpYi01LjAuMi9jb25maWd1cmUuaW5+Y29uZmlndXJlLnBhdGNoCisrKysgdDFsaWItNS4wLjIvY29uZmlndXJlLmluCitAQCAtNzUsOSArNzUsOSBAQAorIFQxTElCX1ZFUlNJT05TVFJJTkc9XCJNQUNST19UMUxJQl9JREVOVElGSUVSXCIKKyAKKyAKKy1kbmwgV2UgdXNlIHRoaXMgZmlsZSBieSBBbmRyZWFzIFplbGxlciB0byBjaGVjayBmb3IgbGliWGF3CistYnVpbHRpbihpbmNsdWRlLCBhYy10b29scy9pY2VfZmluZF9hdGhlbmEubTQpCistYnVpbHRpbihpbmNsdWRlLCBhYy10b29scy9hY2xvY2FsLm00KQorKyNkbmwgV2UgdXNlIHRoaXMgZmlsZSBieSBBbmRyZWFzIFplbGxlciB0byBjaGVjayBmb3IgbGliWGF3CisrI2J1aWx0aW4oaW5jbHVkZSwgYWMtdG9vbHMvaWNlX2ZpbmRfYXRoZW5hLm00KQorKyNidWlsdGluKGluY2x1ZGUsIGFjLXRvb2xzL2FjbG9jYWwubTQpCisgCisgZG5sIFdlIHdhbnQgdGhlc2UgYmVmb3JlIHRoZSBjaGVja3MsIHNvIHRoZSBjaGVja3MgY2FuIG1vZGlmeSB0aGVpciB2YWx1ZXMuCisgdGVzdCAteiAiJExETElCUyIgJiYgTERMSUJTPS1sbSAgIEFDX1NVQlNUKExETElCUykKK0BAIC0xNjEsNiArMTYxLDcgQEAKKyAKKyBkbmwgKioqKiBDaGVjayBmb3IgdW5kZXJzY29yZSBvbiBleHRlcm5hbCBzeW1ib2xzICoqKioKKyAKKytBSF9URU1QTEFURShbTkVFRF9VTkRFUlNDT1JFX1BSRUZJWF0sIFtEZWZpbmUgaWYgZXh0ZXJuYWwgc3ltYm9scyBuZWVkIGFuIHVuZGVyc2NvcmUgcHJlZml4XSkKKyBBQ19DQUNIRV9DSEVDSygid2hldGhlciBleHRlcm5hbCBzeW1ib2xzIG5lZWQgYW4gdW5kZXJzY29yZSBwcmVmaXgiLAorICAgICAgICAgICAgICAgIGFjX2N2X2NfZXh0ZXJuX3ByZWZpeCwKKyBbc2F2ZWRfbGlicz0kTElCUworQEAgLTE3OCw2OCArMTc5LDQ4IEBACisgICBBQ19ERUZJTkUoTkVFRF9VTkRFUlNDT1JFX1BSRUZJWCkKKyBmaQorIAorLWRubCAqKioqIENoZWNrIHdoaWNoIEFOU0kgaW50ZWdlciB0eXBlIGlzIDE2IGJpdCAKKytkbmwgKioqKiBDaGVjayB3aGljaCBBTlNJIGludGVnZXIgdHlwZSBpcyAxNiBiaXQKKytUMV9BQV9UWVBFMTY9IiIKKytmb3IgdHlwZSBpbiBzaG9ydCBpbnQ7IGRvCisrCWlmIHRlc3QgeCJgZXZhbCBlY2hvIFxcJGFjX2N2X3NpemVvZl8kdHlwZWAiID0gIngyIjsgdGhlbgorKwkJVDFfQUFfVFlQRTE2PSItRFQxX0FBX1RZUEUxNj0kdHlwZSIKKysJCVQxX0lOVDE2PSIkdHlwZSIKKysJCWJyZWFrCisrCWZpCisrZG9uZQorIAorLUFDX0NBQ0hFX0NIRUNLKCAid2hpY2ggQU5TSSBpbnRlZ2VyIHR5cGUgaXMgMTYgYml0IiwgYWNfMTZiaXRfdHlwZSwKKy0JCUFDX1RSWV9SVU4oWworLWludCBtYWluKHZvaWQpIHsKKy0gIGlmIChzaXplb2Yoc2hvcnQpPT0yKQorLSAgICByZXR1cm4oMCk7CistICBlbHNlIGlmIChzaXplb2YoaW50KT09MikKKy0gICAgcmV0dXJuKDEpOworLSAgZWxzZQorLSAgICByZXR1cm4oMik7CistfV0sIGFjXzE2Yml0X3R5cGU9InNob3J0IiwgYWNfMTZiaXRfdHlwZT0iaW50IiwgYWNfMTZiaXRfdHlwZT0pKQorLWlmIHRlc3QgIiRhY18xNmJpdF90eXBlIiA9ICJzaG9ydCIKKy10aGVuCistICBUMV9BQV9UWVBFMTY9Ii1EVDFfQUFfVFlQRTE2PXNob3J0IgorLSAgVDFfSU5UMTY9InNob3J0IgorLWVsc2UKKy0gIFQxX0FBX1RZUEUxNj0iLURUMV9BQV9UWVBFMTY9aW50IgorLSAgVDFfSU5UMTY9ImludCIKKytpZiB0ZXN0IHgiJFQxX0FBX1RZUEUxNiIgPSAieCI7IHRoZW4KKysJQUNfTVNHX0VSUk9SKCJVbmFibGUgdG8gZGV0ZXJtaW5lIHdoaWNoIGludGVnZXIgdHlwZSBpcyAxNiBiaXQuIikKKyBmaQorIAorLQorIGRubCAqKioqIENoZWNrIHdoaWNoIEFOU0kgaW50ZWdlciB0eXBlIGlzIDMyIGJpdCAKKytUMV9BQV9UWVBFMzI9IiIKKytmb3IgdHlwZSBpbiBpbnQgbG9uZzsgZG8KKysJaWYgdGVzdCB4ImBldmFsIGVjaG8gXFwkYWNfY3Zfc2l6ZW9mXyR0eXBlYCIgPSAieDQiOyB0aGVuCisrCQlUMV9BQV9UWVBFMzI9Ii1EVDFfQUFfVFlQRTMyPSR0eXBlIgorKwkJVDFfSU5UMzI9IiR0eXBlIgorKwkJYnJlYWsKKysJZmkKKytkb25lCisgCistQUNfQ0FDSEVfQ0hFQ0soICJ3aGljaCBBTlNJIGludGVnZXIgdHlwZSBpcyAzMiBiaXQiLCBhY18zMmJpdF90eXBlLAorLQkJQUNfVFJZX1JVTihbCistaW50IG1haW4odm9pZCkgeworLSAgaWYgKHNpemVvZihpbnQpPT00KQorLSAgICByZXR1cm4oMCk7CistICBlbHNlIGlmIChzaXplb2YobG9uZyk9PTQpCistICAgIHJldHVybigxKTsKKy0gIGVsc2UKKy0gICAgcmV0dXJuKDIpOworLX1dLCBhY18zMmJpdF90eXBlPSJpbnQiLCBhY18zMmJpdF90eXBlPSJsb25nIiwgYWNfMzJiaXRfdHlwZT0pKQorLWlmIHRlc3QgIiRhY18zMmJpdF90eXBlIiA9ICJpbnQiCistdGhlbgorLSAgVDFfQUFfVFlQRTMyPSItRFQxX0FBX1RZUEUzMj1pbnQiCistICBUMV9JTlQzMj0iaW50IgorLWVsc2UKKy0gIFQxX0FBX1RZUEUzMj0iLURUMV9BQV9UWVBFMzI9bG9uZyIKKy0gIFQxX0lOVDMyPSJsb25nIgorK2lmIHRlc3QgeCIkVDFfQUFfVFlQRTMyIiA9ICJ4IjsgdGhlbgorKwlBQ19NU0dfRVJST1IoIlVuYWJsZSB0byBkZXRlcm1pbmUgd2hpY2ggaW50ZWdlciB0eXBlIGlzIDMyIGJpdC4iKQorIGZpCisgCistCisgZG5sICoqKiogQ2hlY2sgd2hpY2ggQU5TSSBpbnRlZ2VyIHR5cGUgaXMgNjQgYml0IAorK1QxX0FBX1RZUEU2ND0iIgorK2ZvciB0eXBlIGluIGxvbmcgbG9uZ19sb25nOyBkbworKwlpZiB0ZXN0IHgiYGV2YWwgZWNobyBcXCRhY19jdl9zaXplb2ZfJHR5cGVgIiA9ICJ4OCI7IHRoZW4KKysJCUFDX01TR19XQVJOKCIkdHlwZSBpcyA2NCBiaXQiKQorKwkJVDFfQUFfVFlQRTY0PSItRFQxX0FBX1RZUEU2ND1cImBlY2hvICR0eXBlfHRyICdfJyAnICdgXCIiCisrCQlicmVhaworKwlmaQorK2RvbmUKKyAKKy1BQ19DQUNIRV9DSEVDSyggIndoaWNoIEFOU0kgaW50ZWdlciB0eXBlIGlzIDY0IGJpdCIsIGFjXzY0Yml0X3R5cGUsCistCQlBQ19UUllfUlVOKFsKKy1pbnQgbWFpbih2b2lkKSB7CistICBpZiAoc2l6ZW9mKGxvbmcpPT04KQorLSAgICByZXR1cm4oMCk7CistICBlbHNlCistICAgIHJldHVybigxKTsKKy19XSwgYWNfNjRiaXRfdHlwZT0ibG9uZyIsIGFjXzY0Yml0X3R5cGU9Ijxub25lPiIpKQorLWlmIHRlc3QgIiRhY182NGJpdF90eXBlIiA9ICJsb25nIgorLXRoZW4KKy0gIFQxX0FBX1RZUEU2ND0iLURUMV9BQV9UWVBFNjQ9bG9uZyIKKy1lbHNlCistICBUMV9BQV9UWVBFNjQ9CisraWYgdGVzdCB4IiRUMV9BQV9UWVBFNjQiID0gIngiOyB0aGVuCisrCUFDX01TR19FUlJPUigiVW5hYmxlIHRvIGRldGVybWluZSB3aGljaCBpbnRlZ2VyIHR5cGUgaXMgNjQgYml0LiIpCisgZmkKKyAKKy0KKyBDRkxBR1M9IiR7Q0ZMQUdTfSAtRFQxTElCX0lERU5UPVwiXFxcIiR7VDFMSUJfSURFTlRJRklFUn1cXFwiXCIgLURHTE9CQUxfQ09ORklHX0RJUj1cIlxcXCIke1QxTElCX0RBVEFfRElSfVxcXCJcIiIKKyAKKyBkbmwgKioqKiBDaGVjayBmb3IgZnVuY3Rpb25zIGFuZCBoZWFkZXIgZmlsZXMgKioqKgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdDFsaWIvdDFsaWItNS4xLjIvbGlidG9vbC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3QxbGliL3QxbGliLTUuMS4yL2xpYnRvb2wucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTA1MDAyNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3QxbGliL3QxbGliLTUuMS4yL2xpYnRvb2wucGF0Y2gKQEAgLTAsMCArMSwxMTYgQEAKKworIworIyBQYXRjaCBtYW5hZ2VkIGJ5IGh0dHA6Ly93d3cuaG9sZ2Vyc2NodXJpZy5kZS9wYXRjaGVyLmh0bWwKKyMKKworLS0tIHQxbGliLTUuMC4yL01ha2VmaWxlLmlufmxpYnRvb2wKKysrKyB0MWxpYi01LjAuMi9NYWtlZmlsZS5pbgorQEAgLTE4LDcgKzE4LDggQEAKKyAjIExhc3QgbW9kaWZpZWQ6ICAgICAgIDIwMDEtMDQtMDEKKyAjCisgCistU0hFTEwgICAgID0gL2Jpbi9zaAorK1NIRUxMICAgICA9IEBTSEVMTEAKKytMSUJUT09MICAgPSBATElCVE9PTEAKKyBDQyAgICAgICAgPSBAQ0NACisgQ1BQICAgICAgID0gQENQUEAKKyBDRkxBR1MgICAgPSBAQ0ZMQUdTQAorQEAgLTE1MCw3ICsxNTEsNyBAQAorIAkkKFJNKSBleGFtcGxlcy9NYWtlZmlsZQorIAkkKFJNKSB4Z2x5cGgvTWFrZWZpbGUKKyAJJChSTSkgZG9jL01ha2VmaWxlCistCSQoUk0pIGxpYnRvb2wKKysJJChSTSkgJChMSUJUT09MKQorIAorIAorICMgVGhlIGZvbGxvd2luZyB0d28gdGFyZ2V0cyBhcmUgZm9yIGJ1aWxkaW5nIGFuZCBjbGVhbmluZyB0aGUgcHl0aG9uLQorLS0tIHQxbGliLTUuMC4yL2V4YW1wbGVzL01ha2VmaWxlLmlufmxpYnRvb2wKKysrKyB0MWxpYi01LjAuMi9leGFtcGxlcy9NYWtlZmlsZS5pbgorQEAgLTE0LDkgKzE0LDEwIEBACisgIyBMYXN0IG1vZGlmaWVkOiAgICAgICAyMDAxLTA0LTAxCisgIworIAorK3RvcF9idWlsZGRpciA9IEB0b3BfYnVpbGRkaXJACisgCistTElCVE9PTCAgID0gLi4vbGlidG9vbAorLVNIRUxMICAgICA9IC9iaW4vc2gKKytMSUJUT09MICAgPSBATElCVE9PTEAKKytTSEVMTCAgICAgPSBAU0hFTExACisgQ0MgICAgICAgID0gQENDQAorIENQUCAgICAgICA9IEBDUFBACisgQ0ZMQUdTICAgID0gQENGTEFHU0AKKy0tLSB0MWxpYi01LjAuMi9saWIvTWFrZWZpbGUuaW5+bGlidG9vbAorKysrIHQxbGliLTUuMC4yL2xpYi9NYWtlZmlsZS5pbgorQEAgLTE1LDggKzE1LDEwIEBACisgIworICMgQ29udHJpYnV0aW9ucyBieSBILktha3VnYXdhIHRvIHVzZSBsaWJ0b29sIQorIAorLUxJQlRPT0wgICA9IC4uL2xpYnRvb2wKKy1TSEVMTCAgICAgPSAvYmluL3NoCisrdG9wX2J1aWxkZGlyID0gQHRvcF9idWlsZGRpckAKKysKKytMSUJUT09MICAgPSBATElCVE9PTEAKKytTSEVMTCAgICAgPSBAU0hFTExACisgQ0MgICAgICAgID0gQENDQAorIENQUCAgICAgICA9IEBDUFBACisgQ0ZMQUdTICAgID0gQENGTEFHU0AKKy0tLSB0MWxpYi01LjAuMi9saWIvdDFsaWIvTWFrZWZpbGUuaW5+bGlidG9vbAorKysrIHQxbGliLTUuMC4yL2xpYi90MWxpYi9NYWtlZmlsZS5pbgorQEAgLTE0LDggKzE0LDEwIEBACisgIworICMgTW9kaWZpZWQgYnkgSC5LYWt1Z2F3YSB0byB1c2UgbGlidG9vbAorIAorLUxJQlRPT0wgICA9IC4uLy4uL2xpYnRvb2wKKy1TSEVMTCAgICAgPSAvYmluL3NoCisrdG9wX2J1aWxkZGlyID0gQHRvcF9idWlsZGRpckAKKysKKytMSUJUT09MICAgPSBATElCVE9PTEAKKytTSEVMTCAgICAgPSBAU0hFTExACisgQ0MgICAgICAgID0gQENDQAorIENQUCAgICAgICA9IEBDUFBACisgQ0ZMQUdTICAgID0gQENGTEFHU0AKKy0tLSB0MWxpYi01LjAuMi9saWIvdHlwZTEvTWFrZWZpbGUuaW5+bGlidG9vbAorKysrIHQxbGliLTUuMC4yL2xpYi90eXBlMS9NYWtlZmlsZS5pbgorQEAgLTE0LDggKzE0LDEwIEBACisgIworICMgTW9kaWZpZWQgYnkgSC5LYWt1Z2F3YSB0byB1c2UgbGlidG9vbAorIAorLUxJQlRPT0wgICA9IC4uLy4uL2xpYnRvb2wKKy1TSEVMTCAgICAgPSAvYmluL3NoCisrdG9wX2J1aWxkZGlyID0gQHRvcF9idWlsZGRpckAKKysKKytMSUJUT09MICAgPSBATElCVE9PTEAKKytTSEVMTCAgICAgPSBAU0hFTExACisgQ0MgICAgICAgID0gQENDQAorIENQUCAgICAgICA9IEBDUFBACisgQ0ZMQUdTICAgID0gQENGTEFHU0AKKy0tLSB0MWxpYi01LjAuMi90eXBlMWFmbS9NYWtlZmlsZS5pbn5saWJ0b29sCisrKysgdDFsaWItNS4wLjIvdHlwZTFhZm0vTWFrZWZpbGUuaW4KK0BAIC0xNSw4ICsxNSwxMCBAQAorICMKKyAjIE1vZGlmaWVkIGJ5IEguS2FrdWdhd2EgdG8gdXNlIGxpYnRvb2wKKyAKKy1MSUJUT09MICAgPSAuLi9saWJ0b29sCistU0hFTEwgICAgID0gL2Jpbi9zaAorK3RvcF9idWlsZGRpciA9IEB0b3BfYnVpbGRkaXJACisrCisrTElCVE9PTCAgID0gQExJQlRPT0xACisrU0hFTEwgICAgID0gQFNIRUxMQAorIENDICAgICAgICA9IEBDQ0AKKyBDUFAgICAgICAgPSBAQ1BQQAorIENGTEFHUyAgICA9IEBDRkxBR1NACistLS0gdDFsaWItNS4wLjIveGdseXBoL01ha2VmaWxlLmlufmxpYnRvb2wKKysrKyB0MWxpYi01LjAuMi94Z2x5cGgvTWFrZWZpbGUuaW4KK0BAIC0xNSw4ICsxNSwxMCBAQAorICMKKyAjIE1vZGlmaWVkIGJ5IEguS2FrdWdhd2EgdG8gdXNlIGxpYnRvb2wKKyAKKy1MSUJUT09MICAgPSAuLi9saWJ0b29sCistU0hFTEwgICAgID0gL2Jpbi9zaAorK3RvcF9idWlsZGRpciA9IEB0b3BfYnVpbGRkaXJACisrCisrTElCVE9PTCAgID0gQExJQlRPT0xACisrU0hFTEwgICAgID0gQFNIRUxMQAorIENDICAgICAgICA9IEBDQ0AKKyBDUFAgICAgICAgPSBAQ1BQQAorIENGTEFHUyAgICA9IEBDRkxBR1NACmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90MWxpYi90MWxpYl81LjEuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3QxbGliL3QxbGliXzUuMS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkNjcwYTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90MWxpYi90MWxpYl81LjEuMi5iYgpAQCAtMCwwICsxLDI4IEBACitTVU1NQVJZID0gIkEgVHlwZTEgRm9udCBSYXN0ZXJpbmcgTGlicmFyeSIKK1NFQ1RJT04gPSAibGlicyIKK0RFUEVORFMgPSAidmlydHVhbC9saWJ4MTEgbGlieGF3IgorCitMSUNFTlNFID0gIkxHUEx2MiAmIEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9OGNhNDNjYmM4NDJjMjMzNmU4MzU5MjZjMjE2NmMyOGIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vTEdQTDttZDU9NmUyOWM2ODhkOTEyZGExMmI2NmI3M2UzMmIwM2Q4MTIgXAorIgorCitTUkNfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi90L3QxbGliL3QxbGliXyR7UFZ9Lm9yaWcudGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9saWJ0b29sLnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gImE1NjI5YjU2YjkzMTM0Mzc3NzE4MDA5ZGYxNDM1ZjNjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjgyMTMyOGI1MDU0Zjc4OTBhMGQwY2QyZjUyODI1MjcwNzA1ZGYzNjQxZGJkNDc2ZDU4ZDE3ZTU2ZWQ5NTdiNTkiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKyMgZGVwZW5kcyBvbiB2aXJ0dWFsL2xpYngxMQorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworIyBGaXggR05VX0hBU0ggcHJvYmxlbQorVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgteCAtLXdpdGhvdXQtYXRoZW5hIgorRVhUUkFfT0VNQUtFID0gIndpdGhvdXRfZG9jIgorCitGSUxFU18ke1BOfSArPSAiICR7ZGF0YWRpcn0vdDFsaWIvdDFsaWIuY29uZmlnIgorRklMRVNfJHtQTn0tZG9jID0gIiR7ZGF0YWRpcn0vdDFsaWIvZG9jL3QxbGliX2RvYy5wZGYiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rjc2gvZmlsZXMvMDFfYnVpbGQuMS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rjc2gvZmlsZXMvMDFfYnVpbGQuMS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOWY0MWFkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGNzaC9maWxlcy8wMV9idWlsZC4xLnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKK0F1dGhvcjogRnJhbnogUGxldHogPGZwbGV0ekBmcmFuei1wbGV0ei5vcmc+CitEZXNjcmlwdGlvbjogT3JpZ2luYWwgY29tbWVudDogRml4IGJ1aWxkCitOb3Qgc3VyZSB3aHkgd2UgaGF2ZSB0aGlzIHBhdGNoLiBMZXQncyBrZWVwIGl0IGZvciBjb21wYXRpYmlsaXR5LgorLS0tIGEvcGF0aG5hbWVzLmgKKysrKyBiL3BhdGhuYW1lcy5oCitAQCAtOTIsNiArOTIsMTAgQEAKKyAjIGRlZmluZSBfUEFUSF9UQ1NIRUxMCQkiL2xvY2FsL2Jpbi90Y3NoIgkvKiB1c2UgcmFtIGRpc2sgKi8KKyAjZW5kaWYgLyogX01JTklYICYmICFfUEFUSF9UQ1NIRUxMICovCisgCisrI2lmbmRlZiBfUEFUSF9UQ1NIRUxMCisrIyBkZWZpbmUgX1BBVEhfVENTSEVMTAkJIi9iaW4vdGNzaCIJCS8qIERlYmlhbiAqLworKyNlbmRpZiAvKiAhX1BBVEhfVENTSEVMTCAqLworKworICNpZiBkZWZpbmVkKF9fRU1YX18pICYmICFkZWZpbmVkKF9QQVRIX0RFVk5VTEwpCisgIyBkZWZpbmUgX1BBVEhfREVWTlVMTAkJIm51bCIKKyAjZW5kaWYgLyogX19FTVhfXyAmJiAhX1BBVEhfREVWTlVMTCAqLwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGNzaC9maWxlcy8wMV9idWlsZC4yLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGNzaC9maWxlcy8wMV9idWlsZC4yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmMjc1MzEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90Y3NoL2ZpbGVzLzAxX2J1aWxkLjIucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorQXV0aG9yOiBGcmFueiBQbGV0eiA8ZnBsZXR6QGZyYW56LXBsZXR6Lm9yZz4KK0Rlc2NyaXB0aW9uOiBVcGRhdGUgbWFucGFnZS4KKy0tLSBhL3Rjc2gubWFuCisrKysgYi90Y3NoLm1hbgorQEAgLTU3OCw3ICs1NzgsNyBAQCBSZXBlYXRpbmcgXGZJZGFiYnJldi1leHBhbmRcZlIgd2l0aG91dCBhCisgY2hhbmdlcyB0byB0aGUgbmV4dCBwcmV2aW91cyB3b3JkIGV0Yy4sIHNraXBwaW5nIGlkZW50aWNhbCBtYXRjaGVzCisgbXVjaCBsaWtlIFxmSWhpc3Rvcnktc2VhcmNoLWJhY2t3YXJkXGZSIGRvZXMuCisgLlRQIDgKKy0uQiBkZWxldGUtY2hhciBcZlIobm90IGJvdW5kKQorKy5CIGRlbGV0ZS1jaGFyIFxmUihib3VuZCB0byBgRGVsJyBpZiB1c2luZyB0aGUgc3RhbmRhcmQgXGZJL2V0Yy9jc2guY3NocmNcZlIpCisgRGVsZXRlcyB0aGUgY2hhcmFjdGVyIHVuZGVyIHRoZSBjdXJzb3IuCisgU2VlIGFsc28gXGZJZGVsZXRlLWNoYXItb3ItbGlzdC1vci1lb2ZcZlIuCisgLlRQIDgKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rjc2gvZmlsZXMvMDFfYnVpbGQuMy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rjc2gvZmlsZXMvMDFfYnVpbGQuMy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzZjMTc3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGNzaC9maWxlcy8wMV9idWlsZC4zLnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKK0F1dGhvcjogRnJhbnogUGxldHogPGZwbGV0ekBmcmFuei1wbGV0ei5vcmc+CitEZXNjcmlwdGlvbjogRW5hYmxlIE5PRE9UCistLS0gYS9jb25maWdfZi5oCisrKysgYi9jb25maWdfZi5oCitAQCAtOTgsNyArOTgsNyBAQAorIC8qCisgICogTk9ET1QJRG9uJ3QgcHV0ICIuIiBpbiB0aGUgZGVmYXVsdCBwYXRoLCBmb3Igc2VjdXJpdHkgcmVhc29ucworICAqLworLSN1bmRlZiBOT0RPVAorKyNkZWZpbmUgTk9ET1QKKyAKKyAvKgorICAqIEFVVE9MT0dPVVQJdHJpZXMgdG8gZGV0ZXJtaW5lIGlmIGl0IHNob3VsZCBzZXQgYXV0b2xvZ291dCBkZXBlbmRpbmcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rjc2gvZmlsZXMvMTJfdW5rbm93bl9sc2NvbG9ycy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rjc2gvZmlsZXMvMTJfdW5rbm93bl9sc2NvbG9ycy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYWE1OWNjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGNzaC9maWxlcy8xMl91bmtub3duX2xzY29sb3JzLnBhdGNoCkBAIC0wLDAgKzEsMjQgQEAKK0F1dGhvcjogRnJhbnogUGxldHogPGZwbGV0ekBmcmFuei1wbGV0ei5vcmc+CitEZXNjcmlwdGlvbjogRG9uJ3QgZGllIG9uIHVua25vd24gTFNfQ09MT1JTIHZhbHVlcworUmVtb3ZpbmcgdGhlIHBhdGNoIGNhdXNlcyBhIHNlZ2ZhdWx0IHdoZW4gZGlyY29sb3JzIGlzIHNldCBieSBjb3JldXRpbHMnIGRpcmNvbG9ycy4KK0RlYmlhbi1CdWc6ICM1OTIwODkKKworLS0tIGEvdHcuY29sb3IuYworKysrIGIvdHcuY29sb3IuYworQEAgLTIzOSwxMyArMjM5LDEwIEBAIHBhcnNlTFNfQ09MT1JTKGNvbnN0IENoYXIgKnZhbHVlKQorIAkJICAgIGlmICgoQ2hhcil2YXJpYWJsZXNbaV0udmFyaWFibGVbMF0gPT0gKHZbMF0gJiBDSEFSKSAmJgorIAkJCShDaGFyKXZhcmlhYmxlc1tpXS52YXJpYWJsZVsxXSA9PSAodlsxXSAmIENIQVIpKQorIAkJCWJyZWFrOworLQkJaWYgKGkgPCBudmFyaWFibGVzKSB7CistCQkgICAgdiArPSAzOworKwkJdiArPSAzOworKwkJaWYgKGkgPCBudmFyaWFibGVzKQorIAkJICAgIGdldHN0cmluZygmYywgJnYsICZ2YXJpYWJsZXNbaV0uY29sb3IsICc6Jyk7CistCQkgICAgY29udGludWU7CistCQl9CistCQllbHNlCistCQkgICAgc3RkZXJyb3IoRVJSX0JBRENPTE9SVkFSLCB2WzBdLCB2WzFdKTsKKysJCWNvbnRpbnVlOworIAkgICAgfQorIAkgICAgYnJlYWs7CisgCX0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rjc2gvZmlsZXMvMTVfbm8tc3RyaXAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90Y3NoL2ZpbGVzLzE1X25vLXN0cmlwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiYzlmNjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90Y3NoL2ZpbGVzLzE1X25vLXN0cmlwLnBhdGNoCkBAIC0wLDAgKzEsMTQgQEAKK0F1dGhvcjogTHVjYXMgTnVzc2JhdW0gPGx1Y2FzQGRlYmlhbi5vcmc+CitEZXNjcmlwdGlvbjogZG8gbm90IHN0cmlwIGJpbmFyeQorIFN0cmlwcGluZyBzaG91bGQgYmUgaGFuZGxlZCBieSBkaF9zdHJpcCBpbnN0ZWFkLCBzbyBERUJfQlVJTERfT1BUSU9OUz1ub3N0cmlwIHdvcmtzLgorIENsb3NlczogIzQzODEwOSwgIzQxMTYwNworLS0tIGEvTWFrZWZpbGUuaW4KKysrKyBiL01ha2VmaWxlLmluCitAQCAtNTk2LDcgKzU5Niw2IEBAIGluc3RhbGw6IHRjc2gkKEVYRUVYVCkKKyAJLW1rZGlyIC1wICR7REVTVEJJTn0KKyAJLW12IC1mICR7REVTVEJJTn0vdGNzaCQoRVhFRVhUKSAgJHtERVNUQklOfS90Y3NoLm9sZAorIAljcCB0Y3NoJChFWEVFWFQpICR7REVTVEJJTn0vdGNzaCQoRVhFRVhUKQorLQktc3RyaXAgJHtERVNUQklOfS90Y3NoJChFWEVFWFQpCisgCWNobW9kIDc1NSAke0RFU1RCSU59L3Rjc2gkKEVYRUVYVCkKKyAKKyBpbnN0YWxsLm1hbjogdGNzaC5tYW4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rjc2gvZmlsZXMvZGlzYWJsZS1icm9rZW4tdGVzdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rjc2gvZmlsZXMvZGlzYWJsZS1icm9rZW4tdGVzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYmRhMGJhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGNzaC9maWxlcy9kaXNhYmxlLWJyb2tlbi10ZXN0LnBhdGNoCkBAIC0wLDAgKzEsMTQgQEAKK0F1dGhvcjogTHVjYXMgTnVzc2JhdW0gPGx1Y2FzQGRlYmlhbi5vcmc+CitEZXNjcmlwdGlvbjogZGlzYWJsZSBzeW50YWN0aWNhbGx5IGluY29ycmVjdCB0ZXN0CistLS0gYS90ZXN0cy9sZXhpY2FsLmF0CisrKysgYi90ZXN0cy9sZXhpY2FsLmF0CitAQCAtMTcyLDkgKzE3Miw2IEBACisgQVRfREFUQShbbm9oaXN0LmNzaF0sCisgW2VjaG8gISBzcGFjZSAhCXRhYiAhPSAiISgiIG5ld2xpbmUgIQorIF0pCistQVRfQ0hFQ0soW3Rjc2ggLWYgbm9oaXN0LmNzaF0sICwKKy1bWyEgc3BhY2UgISB0YWIgIT0gISggbmV3bGluZSAhCistXV0pCisgCisgQVRfQ0xFQU5VUAorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGNzaC9maWxlcy9kaXNhYmxlLWxleGljYWwuYXQtMzEucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90Y3NoL2ZpbGVzL2Rpc2FibGUtbGV4aWNhbC5hdC0zMS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OGE5YjJlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGNzaC9maWxlcy9kaXNhYmxlLWxleGljYWwuYXQtMzEucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorLS0tIGEvdGVzdHMvbGV4aWNhbC5hdAorKysrIGIvdGVzdHMvbGV4aWNhbC5hdAorQEAgLTI3LDI3ICsyNyw2IEBAIEFUX0NIRUNLKFt0Y3NoIC1mIG9uZXdvcmQuY3NoXSwgLAorIAorIEFUX0NMRUFOVVAKKyAKKy0KKy1BVF9TRVRVUChbQ29tbWVudHNdKQorLQorLUFUX0NIRUNLKFtlY2hvICdlY2hvIE9LQCU6QGNvbW1lbnQnIHwgdGNzaCAtZl0sICwgW09LCistXSkKKy0KKy1BVF9DSEVDSyhbdGNzaCAtZiAtYyAnZWNobyBAJTpAbm8gY29tbWVudCddLCAsCistW0AlOkBubyBjb21tZW50CistXSkKKy0KKy1BVF9EQVRBKFtjb21tZW50Mi5jc2hdLAorLVtbZWNobyB0ZXN0aW5nLi4uQCU6QFwKKy1PSworLV1dKQorLUFUX0NIRUNLKFt0Y3NoIC1mIGNvbW1lbnQyLmNzaF0sICwKKy1bdGVzdGluZy4uLiBPSworLV0pCistCistQVRfQ0xFQU5VUAorLQorLQorIEFUX1NFVFVQKFtFc2NhcGluZyBzcGVjaWFsIGNoYXJhY3RlcnNdKQorIAorIEFUX0RBVEEoW25vc3BsaXQuY3NoXSwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rjc2gvZmlsZXMvZGlzYWJsZS10ZXN0LW5pY2UucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90Y3NoL2ZpbGVzL2Rpc2FibGUtdGVzdC1uaWNlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5ZjkxOGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90Y3NoL2ZpbGVzL2Rpc2FibGUtdGVzdC1uaWNlLnBhdGNoCkBAIC0wLDAgKzEsMjMgQEAKK0F1dGhvcjogTHVjYXMgTnVzc2JhdW0gPGx1Y2FzQGRlYmlhbi5vcmc+CitEZXNjcmlwdGlvbjogZGlzYWJsZSB0ZXN0IHRoYXQgZmFpbHMgb24gdGhlIGJ1aWxkZCB3aXRoCisgICJzZXRwcmlvcml0eTogUGVybWlzc2lvbiBkZW5pZWQiLgorLS0tIGEvdGVzdHMvY29tbWFuZHMuYXQKKysrKyBiL3Rlc3RzL2NvbW1hbmRzLmF0CitAQCAtODg4LDE3ICs4ODgsNiBAQCBUQ1NIX1VOVEVTVEVEKFttaWdyYXRlXSkKKyBUQ1NIX1VOVEVTVEVEKFtuZXdncnBdKQorIAorIAorLUFUX1NFVFVQKFtuaWNlXSkKKy0KKy0jIE5vdGhpbmcgcmVhbGx5IHRlc3RlZAorLUFUX0NIRUNLKFt0Y3NoIC1mIC1jICduaWNlIHNldCB2YXI9MTsgZWNobyAkP3ZhciddLCAsCistWzAKKy1dKQorLQorLQorLUFUX0NMRUFOVVAKKy0KKy0KKyBBVF9TRVRVUChbbm9odXBdKQorIAorIEFUX0RBVEEoW25vaHVwLmNzaF0sCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90Y3NoL2ZpbGVzL2Rpc2FibGUtdGVzdC1ub3R0eS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rjc2gvZmlsZXMvZGlzYWJsZS10ZXN0LW5vdHR5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5ZjA1NjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90Y3NoL2ZpbGVzL2Rpc2FibGUtdGVzdC1ub3R0eS5wYXRjaApAQCAtMCwwICsxLDMwIEBACitGcm9tOiBMdWNhcyBOdXNzYmF1bSA8bHVjYXNAZGViaWFuLm9yZz4KK0Rlc2NyaXB0aW9uOiBUaG9zZSB0ZXN0cyBmYWlsIHdoZW4gcnVubmluZyB0aGUgdGVzdHN1aXRlIHdpdGhvdXQgYSB0dHkuIERpc2FibGluZyB0aGVtLgorCistLS0gYS90ZXN0cy9jb21tYW5kcy5hdAorKysrIGIvdGVzdHMvY29tbWFuZHMuYXQKK0BAIC0xMjAzLDExICsxMjAzLDYgQEAgQVRfU0VUVVAoW3NvdXJjZV0pCisgQVRfREFUQShbc2NyaXB0LmNzaF0sCisgW1tzZXQgdmFyPSQxCisgXV0pCistQVRfQ0hFQ0soW1t0Y3NoIC1mIC1jICdzb3VyY2UgLWggc2NyaXB0LmNzaCBmb287IGhpc3RvcnknIFwKKy0JICAgfCBzZWQgJ3MvCVteCV0qCS8gVElNRSAvJ11dLCAsCistWyAgICAgMSBUSU1FIHNvdXJjZSAtaCBzY3JpcHQuY3NoIGZvbyA7IGhpc3RvcnkKKy0gICAgIDIgVElNRSBzZXQgdmFyPSQxCistXSkKKyAKKyBBVF9DSEVDSyhbdGNzaCAtZiAtYyAnc291cmNlIC1oIHNjcmlwdC5jc2ggZm9vOyBlY2hvICR2YXInXSwgMSwgW10sCisgW3ZhcjogVW5kZWZpbmVkIHZhcmlhYmxlLgorLS0tIGEvdGVzdHMvdmFyaWFibGVzLmF0CisrKysgYi90ZXN0cy92YXJpYWJsZXMuYXQKK0BAIC0zMTksMTAgKzMxOSw2IEBAIEFUX0NMRUFOVVAKKyAKKyBBVF9TRVRVUChbJCBlZGl0XSkKKyAKKy1BVF9DSEVDSyhbVEVSTT1zb21ldGhpbmcgdGNzaCAtZiAtYyAnZWNobyAkP2VkaXQnXSwgLAorLVsxCistXSkKKy0KKyBBVF9DSEVDSyhbVEVSTT1kdW1iIHRjc2ggLWYgLWMgJ2VjaG8gJD9lZGl0J10sICwKKyBbMAorIF0pCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90Y3NoL2ZpbGVzL3Rjc2gtNi4xNy4wMi1tdWx0aWJ5dGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90Y3NoL2ZpbGVzL3Rjc2gtNi4xNy4wMi1tdWx0aWJ5dGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2RkNDIwYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rjc2gvZmlsZXMvdGNzaC02LjE3LjAyLW11bHRpYnl0ZS5wYXRjaApAQCAtMCwwICsxLDE4IEBACitBdXRob3I6ICBKZWFuLUx1YyBMZWdlciA8cmVpZ2FAZHNwbmV0LmZyLmV1Lm9yZz4KK0Rlc2NyaXB0aW9uOiBmaXggYnJva2VuIGdsb2JiaW5nIGV4cGFuc2lvbgorRGViaWFuLUJ1ZzogIzYwMzU0NQorSW5kZXg6IHRjc2gtNi4xOC4wMS90Yy5zdHIuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHRjc2gtNi4xOC4wMS5vcmlnL3RjLnN0ci5jCTIwMTItMDEtMTAgMTM6MzQ6MzEuMDAwMDAwMDAwIC0wODAwCisrKysgdGNzaC02LjE4LjAxL3RjLnN0ci5jCTIwMTMtMDItMjYgMTM6MTI6MTMuNDI5MTUzNDg5IC0wODAwCitAQCAtMTIyLDggKzEyMiw5IEBACisgI2Vsc2UKKyAgICAgcmV0ID0gbWJ0b3djKCZ0bXAsIHMsIG4pOworICNlbmRpZgorLSAgICBpZiAocmV0ID4gMCkgeworKyAgICBpZiAocmV0ID49IDApCisgCSpwd2MgPSB0bXA7CisrICAgIGlmIChyZXQgPj0gMCkgeworICNpZiBkZWZpbmVkKFVURjE2X1NUUklOR1MpICYmIGRlZmluZWQoSEFWRV9NQlJUT1dDKQorIAlpZiAodG1wID49IDB4ZDgwMCAmJiB0bXAgPD0gMHhkYmZmKSB7CisgCSAgICAvKiBVVEYtMTYgc3Vycm9nYXRlIHBhaXIuICBGZXRjaCBzZWNvbmQgaGFsZiBhbmQgY29tcHV0ZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGNzaC90Y3NoXzYuMTguMDEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90Y3NoL3Rjc2hfNi4xOC4wMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZGQ0Y2I1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGNzaC90Y3NoXzYuMTguMDEuYmIKQEAgLTAsMCArMSw0OSBAQAorREVTQ1JJUFRJT04gPSAiVEVORVggQyBTaGVsbCwgYW4gZW5oYW5jZWQgdmVyc2lvbiBvZiBCZXJrZWxleSBjc2ggXAorICAgIFRoZSBURU5FWCBDIFNoZWxsIGlzIGFuIGVuaGFuY2VkIHZlcnNpb24gb2YgdGhlIEJlcmtlbGV5IFVuaXggQyBzaGVsbC4gXAorICAgIEl0IGluY2x1ZGVzIGFsbCBmZWF0dXJlcyBvZiA0LjRCU0QgQyBzaGVsbCwgcGx1cyBhIGNvbW1hbmQtbGluZSBlZGl0b3IsIFwKKyAgICBwcm9ncmFtbWFibGUgd29yZCBjb21wbGV0aW9uLCBzcGVsbGluZyBjb3JyZWN0aW9uIGFuZCBtb3JlLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL3d3dy50Y3NoLm9yZy8iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NvcHlyaWdodDttZDU9MWNmMjliZTYyZGYyYmUxYTM3NjMxMThiMjViNGM3ODAiCitTRUNUSU9OID0gImJhc2UiCitERVBFTkRTID0gIm5jdXJzZXMgZ2V0dGV4dC1uYXRpdmUiCitTUkNfVVJJID0gIiBcCisgICAgJHtERUJJQU5fTUlSUk9SfS9tYWluL3QvdGNzaC90Y3NoXyR7UFZ9Lm9yaWcudGFyLmd6O25hbWU9dGFyYmFsbCBcCisgICAgJHtERUJJQU5fTUlSUk9SfS9tYWluL3QvdGNzaC90Y3NoXyR7UFZ9LTIuZGlmZi5nejtuYW1lPWRpZmZzIFwKKyAgICBmaWxlOi8vMDFfYnVpbGQuMS5wYXRjaCBcCisgICAgZmlsZTovLzAxX2J1aWxkLjIucGF0Y2ggXAorICAgIGZpbGU6Ly8wMV9idWlsZC4zLnBhdGNoIFwKKyAgICBmaWxlOi8vMTVfbm8tc3RyaXAucGF0Y2ggXAorICAgIGZpbGU6Ly9kaXNhYmxlLXRlc3Qtbm90dHkucGF0Y2ggXAorICAgIGZpbGU6Ly9kaXNhYmxlLXRlc3QtbmljZS5wYXRjaCBcCisgICAgZmlsZTovL2Rpc2FibGUtbGV4aWNhbC5hdC0zMS5wYXRjaCBcCisgICAgZmlsZTovLzEyX3Vua25vd25fbHNjb2xvcnMucGF0Y2ggXAorICAgIGZpbGU6Ly90Y3NoLTYuMTcuMDItbXVsdGlieXRlLnBhdGNoIFwKKyAgICBmaWxlOi8vZGlzYWJsZS1icm9rZW4tdGVzdC5wYXRjaCBcCisiCitTUkNfVVJJW3RhcmJhbGwubWQ1c3VtXSA9ICI2ZWVkMDlkYmQ0MjIzYWI1YjY5NTUzNzg0NTBkMjI4YSIKK1NSQ19VUklbdGFyYmFsbC5zaGEyNTZzdW1dID0gImQ4MWNhMjc4NTFmM2U4NTQ1NjY2Mzk5YjRiY2YyNTQzM2U2MDJhMTk1MTEzYjNmN2M3Mzg4NmZlZjg0YzlmYTgiCitTUkNfVVJJW2RpZmZzLm1kNXN1bV0gPSAiZWEzOWI4MThiNjI0YWNhNDllYmYyY2QyNzA4ZDZmZjkiCitTUkNfVVJJW2RpZmZzLnNoYTI1NnN1bV0gPSAiOTViMGMxYTMzOWI3NDVjNDdjNWQyZjlkMDJjMjJhNzE1OTc0NjJlMmU4ODJiNTE2MTRhOWQxZjc1YmQzZDE2YyIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbC5tYW4gREVTVERJUj0ke0R9CisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2Jhc2VfYmluZGlyfQorICAgIGxuIC1zIC91c3IvYmluL3Rjc2ggJHtEfSR7YmFzZV9iaW5kaXJ9L3Rjc2gKKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vY3NoL2xvZ2luLmQKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9kZWJpYW4vY3NoLmNzaHJjICR7U30vZGViaWFuL2NzaC5sb2dpbiAke1N9L2RlYmlhbi9jc2gubG9nb3V0ICR7U30vY29tcGxldGUudGNzaCAke0R9JHtzeXNjb25mZGlyfQorICAgIGluc3RhbGwgLUQgLW0gMDY0NCAke1N9L2NzaC1tb2RlLmVsICR7RH0ke2RhdGFkaXJ9L2VtYWNzL3NpdGUtbGlzcC9jc2gtbW9kZS5lbAorfQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9lbWFjcy9zaXRlLWxpc3AvY3NoLW1vZGUuZWwiCisKKworcGtnX3Bvc3RpbnN0XyR7UE59ICgpIHsKKyMhL2Jpbi9zaCAtZQorZWNobyAvdXNyL2Jpbi90Y3NoID4+ICREL2V0Yy9zaGVsbHMKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rlc3RmbG9hdC9maWxlcy8wMDAxLU1ha2VmaWxlLWZvci1jcm9zcy1jb21waWxlLVNvZnRGbG9hdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rlc3RmbG9hdC9maWxlcy8wMDAxLU1ha2VmaWxlLWZvci1jcm9zcy1jb21waWxlLVNvZnRGbG9hdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTc4MmM1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGVzdGZsb2F0L2ZpbGVzLzAwMDEtTWFrZWZpbGUtZm9yLWNyb3NzLWNvbXBpbGUtU29mdEZsb2F0LnBhdGNoCkBAIC0wLDAgKzEsMzQ4IEBACitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK0Zyb20gMDdmMjUyOGQ5M2Y0NGZlMWQ4MDgwYTQyMjVmMjlmNGFkYTlmNDY2MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEZhYmlvIEJlcnRvbiA8ZmFiaW8uYmVydG9uQG9zc3lzdGVtcy5jb20uYnI+CitEYXRlOiBUaHUsIDQgRmViIDIwMTYgMDk6MTU6MzcgLTAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzJdIE1ha2VmaWxlIGZvciBjcm9zcyBjb21waWxlIFNvZnRGbG9hdAorCitTaWduZWQtb2ZmLWJ5OiBGYWJpbyBCZXJ0b24gPGZhYmlvLmJlcnRvbkBvc3N5c3RlbXMuY29tLmJyPgorLS0tCisgU29mdEZsb2F0LTNhL2J1aWxkL0xpbnV4LUNyb3NzLUNvbXBpbGUvTWFrZWZpbGUgICB8IDI3NCArKysrKysrKysrKysrKysrKysrKysrCisgU29mdEZsb2F0LTNhL2J1aWxkL0xpbnV4LUNyb3NzLUNvbXBpbGUvcGxhdGZvcm0uaCB8ICA0NCArKysrCisgMiBmaWxlcyBjaGFuZ2VkLCAzMTggaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb2Z0RmxvYXQtM2EvYnVpbGQvTGludXgtQ3Jvc3MtQ29tcGlsZS9NYWtlZmlsZQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb2Z0RmxvYXQtM2EvYnVpbGQvTGludXgtQ3Jvc3MtQ29tcGlsZS9wbGF0Zm9ybS5oCisKK2RpZmYgLS1naXQgYS9Tb2Z0RmxvYXQtM2EvYnVpbGQvTGludXgtQ3Jvc3MtQ29tcGlsZS9NYWtlZmlsZSBiL1NvZnRGbG9hdC0zYS9idWlsZC9MaW51eC1Dcm9zcy1Db21waWxlL01ha2VmaWxlCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uYzRkMGE2MAorLS0tIC9kZXYvbnVsbAorKysrIGIvU29mdEZsb2F0LTNhL2J1aWxkL0xpbnV4LUNyb3NzLUNvbXBpbGUvTWFrZWZpbGUKK0BAIC0wLDAgKzEsMjc0IEBACisrCisrIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrIworKyMgVGhpcyBNYWtlZmlsZSBpcyBwYXJ0IG9mIHRoZSBTb2Z0RmxvYXQgSUVFRSBGbG9hdGluZy1Qb2ludCBBcml0aG1ldGljCisrIyBQYWNrYWdlLCBSZWxlYXNlIDNhLCBieSBKb2huIFIuIEhhdXNlci4KKysjCisrIyBDb3B5cmlnaHQgMjAxMSwgMjAxMiwgMjAxMywgMjAxNCBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZgorKyMgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrIworKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisrIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKysjCisrIyAgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorKyMgICAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zLCBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKyMKKysjICAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMsIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisrIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKysjCisrIyAgMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKysjICAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKysjICAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKysjCisrIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiwgQU5EIEFOWQorKyMgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBBUkUKKysjIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKysjIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisrIyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisrIyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKysjIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisrIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKysjIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisrIworKyM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorKworK1NPVVJDRV9ESVIgPSAuLi8uLi9zb3VyY2UKKytTUEVDSUFMSVpFX1RZUEUgPSA4MDg2CisrCisrU09GVEZMT0FUX09QVFMgPSAtRElOTElORV9MRVZFTD01IC1EU09GVEZMT0FUX0ZBU1RfRElWNjRUTzMyIC1mZ251ODktaW5saW5lCisrCisrREVMRVRFID0gcm0gLWYKKytDX0lOQ0xVREVTID0gLUkuIC1JJChTT1VSQ0VfRElSKS8kKFNQRUNJQUxJWkVfVFlQRSkgLUkkKFNPVVJDRV9ESVIpL2luY2x1ZGUKKytDT01QSUxFX0MgPSBcCisrICAke0NDfSAtYyAtV2Vycm9yLWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uICQoU09GVEZMT0FUX09QVFMpIFwKKysgICAgJChDX0lOQ0xVREVTKSAtTzIgLW8gJEAKKytNQUtFTElCID0gJHtBUn0gY3JzICRACisrCisrT0JKID0gLm8KKytMSUIgPSAuYQorKworKy5QSE9OWTogYWxsCisrYWxsOiBzb2Z0ZmxvYXQkKExJQikKKysKKytPQkpTX1BSSU1JVElWRVMgPSBcCisrICBzX2NvbXBhcmU5Nk0kKE9CSikgXAorKyAgc19jb21wYXJlMTI4TSQoT0JKKSBcCisrICBzX3Nob3J0U2hpZnRMZWZ0NjRUbzk2TSQoT0JKKSBcCisrICBzX3Nob3J0U2hpZnRMZWZ0TSQoT0JKKSBcCisrICBzX3NoaWZ0TGVmdE0kKE9CSikgXAorKyAgc19zaG9ydFNoaWZ0UmlnaHRNJChPQkopIFwKKysgIHNfc2hvcnRTaGlmdFJpZ2h0SmFtNjQkKE9CSikgXAorKyAgc19zaG9ydFNoaWZ0UmlnaHRKYW1NJChPQkopIFwKKysgIHNfc2hpZnRSaWdodEphbTMyJChPQkopIFwKKysgIHNfc2hpZnRSaWdodEphbTY0JChPQkopIFwKKysgIHNfc2hpZnRSaWdodEphbU0kKE9CSikgXAorKyAgc19zaGlmdFJpZ2h0TSQoT0JKKSBcCisrICBzX2NvdW50TGVhZGluZ1plcm9zOCQoT0JKKSBcCisrICBzX2NvdW50TGVhZGluZ1plcm9zMzIkKE9CSikgXAorKyAgc19jb3VudExlYWRpbmdaZXJvczY0JChPQkopIFwKKysgIHNfYWRkTSQoT0JKKSBcCisrICBzX2FkZENhcnJ5TSQoT0JKKSBcCisrICBzX2FkZENvbXBsQ2FycnlNJChPQkopIFwKKysgIHNfbmVnWE0kKE9CSikgXAorKyAgc19zdWIxWE0kKE9CSikgXAorKyAgc19zdWJNJChPQkopIFwKKysgIHNfbXVsNjRUbzEyOE0kKE9CSikgXAorKyAgc19tdWwxMjhNVG8yNTZNJChPQkopIFwKKysgIHNfYXBwcm94UmVjaXAzMl8xJChPQkopIFwKKysgIHNfYXBwcm94UmVjaXBTcXJ0MzJfMSQoT0JKKSBcCisrICBzX3JlbVN0ZXBNQnkzMiQoT0JKKSBcCisrCisrT0JKU19TUEVDSUFMSVpFID0gXAorKyAgc29mdGZsb2F0X3JhaXNlRmxhZ3MkKE9CSikgXAorKyAgc19mMzJVSVRvQ29tbW9uTmFOJChPQkopIFwKKysgIHNfY29tbW9uTmFOVG9GMzJVSSQoT0JKKSBcCisrICBzX3Byb3BhZ2F0ZU5hTkYzMlVJJChPQkopIFwKKysgIHNfZjY0VUlUb0NvbW1vbk5hTiQoT0JKKSBcCisrICBzX2NvbW1vbk5hTlRvRjY0VUkkKE9CSikgXAorKyAgc19wcm9wYWdhdGVOYU5GNjRVSSQoT0JKKSBcCisrICBleHRGODBNX2lzU2lnbmFsaW5nTmFOJChPQkopIFwKKysgIHNfZXh0RjgwTVRvQ29tbW9uTmFOJChPQkopIFwKKysgIHNfY29tbW9uTmFOVG9FeHRGODBNJChPQkopIFwKKysgIHNfcHJvcGFnYXRlTmFORXh0RjgwTSQoT0JKKSBcCisrICBmMTI4TV9pc1NpZ25hbGluZ05hTiQoT0JKKSBcCisrICBzX2YxMjhNVG9Db21tb25OYU4kKE9CSikgXAorKyAgc19jb21tb25OYU5Ub0YxMjhNJChPQkopIFwKKysgIHNfcHJvcGFnYXRlTmFORjEyOE0kKE9CSikgXAorKworK09CSlNfT1RIRVJTID0gXAorKyAgc19yb3VuZFBhY2tUb1VJMzIkKE9CSikgXAorKyAgc19yb3VuZFBhY2tNVG9VSTY0JChPQkopIFwKKysgIHNfcm91bmRQYWNrVG9JMzIkKE9CSikgXAorKyAgc19yb3VuZFBhY2tNVG9JNjQkKE9CSikgXAorKyAgc19ub3JtU3Vibm9ybWFsRjMyU2lnJChPQkopIFwKKysgIHNfcm91bmRQYWNrVG9GMzIkKE9CSikgXAorKyAgc19ub3JtUm91bmRQYWNrVG9GMzIkKE9CSikgXAorKyAgc19hZGRNYWdzRjMyJChPQkopIFwKKysgIHNfc3ViTWFnc0YzMiQoT0JKKSBcCisrICBzX211bEFkZEYzMiQoT0JKKSBcCisrICBzX25vcm1TdWJub3JtYWxGNjRTaWckKE9CSikgXAorKyAgc19yb3VuZFBhY2tUb0Y2NCQoT0JKKSBcCisrICBzX25vcm1Sb3VuZFBhY2tUb0Y2NCQoT0JKKSBcCisrICBzX2FkZE1hZ3NGNjQkKE9CSikgXAorKyAgc19zdWJNYWdzRjY0JChPQkopIFwKKysgIHNfbXVsQWRkRjY0JChPQkopIFwKKysgIHNfdHJ5UHJvcGFnYXRlTmFORXh0RjgwTSQoT0JKKSBcCisrICBzX2ludmFsaWRFeHRGODBNJChPQkopIFwKKysgIHNfbm9ybUV4dEY4MFNpZ00kKE9CSikgXAorKyAgc19yb3VuZFBhY2tNVG9FeHRGODBNJChPQkopIFwKKysgIHNfbm9ybVJvdW5kUGFja01Ub0V4dEY4ME0kKE9CSikgXAorKyAgc19hZGRFeHRGODBNJChPQkopIFwKKysgIHNfY29tcGFyZU5vbm5vcm1FeHRGODBNJChPQkopIFwKKysgIHNfaXNOYU5GMTI4TSQoT0JKKSBcCisrICBzX3RyeVByb3BhZ2F0ZU5hTkYxMjhNJChPQkopIFwKKysgIHNfaW52YWxpZEYxMjhNJChPQkopIFwKKysgIHNfc2hpZnROb3JtU2lnRjEyOE0kKE9CSikgXAorKyAgc19yb3VuZFBhY2tNVG9GMTI4TSQoT0JKKSBcCisrICBzX25vcm1Sb3VuZFBhY2tNVG9GMTI4TSQoT0JKKSBcCisrICBzX2FkZEYxMjhNJChPQkopIFwKKysgIHNfbXVsQWRkRjEyOE0kKE9CSikgXAorKyAgc29mdGZsb2F0X3N0YXRlJChPQkopIFwKKysgIHVpMzJfdG9fZjMyJChPQkopIFwKKysgIHVpMzJfdG9fZjY0JChPQkopIFwKKysgIHVpMzJfdG9fZXh0RjgwTSQoT0JKKSBcCisrICB1aTMyX3RvX2YxMjhNJChPQkopIFwKKysgIHVpNjRfdG9fZjMyJChPQkopIFwKKysgIHVpNjRfdG9fZjY0JChPQkopIFwKKysgIHVpNjRfdG9fZXh0RjgwTSQoT0JKKSBcCisrICB1aTY0X3RvX2YxMjhNJChPQkopIFwKKysgIGkzMl90b19mMzIkKE9CSikgXAorKyAgaTMyX3RvX2Y2NCQoT0JKKSBcCisrICBpMzJfdG9fZXh0RjgwTSQoT0JKKSBcCisrICBpMzJfdG9fZjEyOE0kKE9CSikgXAorKyAgaTY0X3RvX2YzMiQoT0JKKSBcCisrICBpNjRfdG9fZjY0JChPQkopIFwKKysgIGk2NF90b19leHRGODBNJChPQkopIFwKKysgIGk2NF90b19mMTI4TSQoT0JKKSBcCisrICBmMzJfdG9fdWkzMiQoT0JKKSBcCisrICBmMzJfdG9fdWk2NCQoT0JKKSBcCisrICBmMzJfdG9faTMyJChPQkopIFwKKysgIGYzMl90b19pNjQkKE9CSikgXAorKyAgZjMyX3RvX3VpMzJfcl9taW5NYWckKE9CSikgXAorKyAgZjMyX3RvX3VpNjRfcl9taW5NYWckKE9CSikgXAorKyAgZjMyX3RvX2kzMl9yX21pbk1hZyQoT0JKKSBcCisrICBmMzJfdG9faTY0X3JfbWluTWFnJChPQkopIFwKKysgIGYzMl90b19mNjQkKE9CSikgXAorKyAgZjMyX3RvX2V4dEY4ME0kKE9CSikgXAorKyAgZjMyX3RvX2YxMjhNJChPQkopIFwKKysgIGYzMl9yb3VuZFRvSW50JChPQkopIFwKKysgIGYzMl9hZGQkKE9CSikgXAorKyAgZjMyX3N1YiQoT0JKKSBcCisrICBmMzJfbXVsJChPQkopIFwKKysgIGYzMl9tdWxBZGQkKE9CSikgXAorKyAgZjMyX2RpdiQoT0JKKSBcCisrICBmMzJfcmVtJChPQkopIFwKKysgIGYzMl9zcXJ0JChPQkopIFwKKysgIGYzMl9lcSQoT0JKKSBcCisrICBmMzJfbGUkKE9CSikgXAorKyAgZjMyX2x0JChPQkopIFwKKysgIGYzMl9lcV9zaWduYWxpbmckKE9CSikgXAorKyAgZjMyX2xlX3F1aWV0JChPQkopIFwKKysgIGYzMl9sdF9xdWlldCQoT0JKKSBcCisrICBmMzJfaXNTaWduYWxpbmdOYU4kKE9CSikgXAorKyAgZjY0X3RvX3VpMzIkKE9CSikgXAorKyAgZjY0X3RvX3VpNjQkKE9CSikgXAorKyAgZjY0X3RvX2kzMiQoT0JKKSBcCisrICBmNjRfdG9faTY0JChPQkopIFwKKysgIGY2NF90b191aTMyX3JfbWluTWFnJChPQkopIFwKKysgIGY2NF90b191aTY0X3JfbWluTWFnJChPQkopIFwKKysgIGY2NF90b19pMzJfcl9taW5NYWckKE9CSikgXAorKyAgZjY0X3RvX2k2NF9yX21pbk1hZyQoT0JKKSBcCisrICBmNjRfdG9fZjMyJChPQkopIFwKKysgIGY2NF90b19leHRGODBNJChPQkopIFwKKysgIGY2NF90b19mMTI4TSQoT0JKKSBcCisrICBmNjRfcm91bmRUb0ludCQoT0JKKSBcCisrICBmNjRfYWRkJChPQkopIFwKKysgIGY2NF9zdWIkKE9CSikgXAorKyAgZjY0X211bCQoT0JKKSBcCisrICBmNjRfbXVsQWRkJChPQkopIFwKKysgIGY2NF9kaXYkKE9CSikgXAorKyAgZjY0X3JlbSQoT0JKKSBcCisrICBmNjRfc3FydCQoT0JKKSBcCisrICBmNjRfZXEkKE9CSikgXAorKyAgZjY0X2xlJChPQkopIFwKKysgIGY2NF9sdCQoT0JKKSBcCisrICBmNjRfZXFfc2lnbmFsaW5nJChPQkopIFwKKysgIGY2NF9sZV9xdWlldCQoT0JKKSBcCisrICBmNjRfbHRfcXVpZXQkKE9CSikgXAorKyAgZjY0X2lzU2lnbmFsaW5nTmFOJChPQkopIFwKKysgIGV4dEY4ME1fdG9fdWkzMiQoT0JKKSBcCisrICBleHRGODBNX3RvX3VpNjQkKE9CSikgXAorKyAgZXh0RjgwTV90b19pMzIkKE9CSikgXAorKyAgZXh0RjgwTV90b19pNjQkKE9CSikgXAorKyAgZXh0RjgwTV90b191aTMyX3JfbWluTWFnJChPQkopIFwKKysgIGV4dEY4ME1fdG9fdWk2NF9yX21pbk1hZyQoT0JKKSBcCisrICBleHRGODBNX3RvX2kzMl9yX21pbk1hZyQoT0JKKSBcCisrICBleHRGODBNX3RvX2k2NF9yX21pbk1hZyQoT0JKKSBcCisrICBleHRGODBNX3RvX2YzMiQoT0JKKSBcCisrICBleHRGODBNX3RvX2Y2NCQoT0JKKSBcCisrICBleHRGODBNX3RvX2YxMjhNJChPQkopIFwKKysgIGV4dEY4ME1fcm91bmRUb0ludCQoT0JKKSBcCisrICBleHRGODBNX2FkZCQoT0JKKSBcCisrICBleHRGODBNX3N1YiQoT0JKKSBcCisrICBleHRGODBNX211bCQoT0JKKSBcCisrICBleHRGODBNX2RpdiQoT0JKKSBcCisrICBleHRGODBNX3JlbSQoT0JKKSBcCisrICBleHRGODBNX3NxcnQkKE9CSikgXAorKyAgZXh0RjgwTV9lcSQoT0JKKSBcCisrICBleHRGODBNX2xlJChPQkopIFwKKysgIGV4dEY4ME1fbHQkKE9CSikgXAorKyAgZXh0RjgwTV9lcV9zaWduYWxpbmckKE9CSikgXAorKyAgZXh0RjgwTV9sZV9xdWlldCQoT0JKKSBcCisrICBleHRGODBNX2x0X3F1aWV0JChPQkopIFwKKysgIGYxMjhNX3RvX3VpMzIkKE9CSikgXAorKyAgZjEyOE1fdG9fdWk2NCQoT0JKKSBcCisrICBmMTI4TV90b19pMzIkKE9CSikgXAorKyAgZjEyOE1fdG9faTY0JChPQkopIFwKKysgIGYxMjhNX3RvX3VpMzJfcl9taW5NYWckKE9CSikgXAorKyAgZjEyOE1fdG9fdWk2NF9yX21pbk1hZyQoT0JKKSBcCisrICBmMTI4TV90b19pMzJfcl9taW5NYWckKE9CSikgXAorKyAgZjEyOE1fdG9faTY0X3JfbWluTWFnJChPQkopIFwKKysgIGYxMjhNX3RvX2YzMiQoT0JKKSBcCisrICBmMTI4TV90b19mNjQkKE9CSikgXAorKyAgZjEyOE1fdG9fZXh0RjgwTSQoT0JKKSBcCisrICBmMTI4TV9yb3VuZFRvSW50JChPQkopIFwKKysgIGYxMjhNX2FkZCQoT0JKKSBcCisrICBmMTI4TV9zdWIkKE9CSikgXAorKyAgZjEyOE1fbXVsJChPQkopIFwKKysgIGYxMjhNX211bEFkZCQoT0JKKSBcCisrICBmMTI4TV9kaXYkKE9CSikgXAorKyAgZjEyOE1fcmVtJChPQkopIFwKKysgIGYxMjhNX3NxcnQkKE9CSikgXAorKyAgZjEyOE1fZXEkKE9CSikgXAorKyAgZjEyOE1fbGUkKE9CSikgXAorKyAgZjEyOE1fbHQkKE9CSikgXAorKyAgZjEyOE1fZXFfc2lnbmFsaW5nJChPQkopIFwKKysgIGYxMjhNX2xlX3F1aWV0JChPQkopIFwKKysgIGYxMjhNX2x0X3F1aWV0JChPQkopIFwKKysKKytPQkpTX0FMTCA9ICQoT0JKU19QUklNSVRJVkVTKSAkKE9CSlNfU1BFQ0lBTElaRSkgJChPQkpTX09USEVSUykKKysKKyskKE9CSlNfQUxMKTogXAorKyAgcGxhdGZvcm0uaCAkKFNPVVJDRV9ESVIpL2luY2x1ZGUvcHJpbWl0aXZlVHlwZXMuaCBcCisrICAkKFNPVVJDRV9ESVIpL2luY2x1ZGUvcHJpbWl0aXZlcy5oCisrJChPQkpTX1NQRUNJQUxJWkUpICQoT0JKU19PVEhFUlMpOiBcCisrICAkKFNPVVJDRV9ESVIpL2luY2x1ZGUvc29mdGZsb2F0X3R5cGVzLmggJChTT1VSQ0VfRElSKS9pbmNsdWRlL2ludGVybmFscy5oIFwKKysgICQoU09VUkNFX0RJUikvJChTUEVDSUFMSVpFX1RZUEUpL3NwZWNpYWxpemUuaCBcCisrICAkKFNPVVJDRV9ESVIpL2luY2x1ZGUvc29mdGZsb2F0LmgKKysKKyskKE9CSlNfUFJJTUlUSVZFUykgJChPQkpTX09USEVSUyk6ICUkKE9CSik6ICQoU09VUkNFX0RJUikvJS5jCisrCSQoQ09NUElMRV9DKSAkKFNPVVJDRV9ESVIpLyQqLmMKKysKKyskKE9CSlNfU1BFQ0lBTElaRSk6ICUkKE9CSik6ICQoU09VUkNFX0RJUikvJChTUEVDSUFMSVpFX1RZUEUpLyUuYworKwkkKENPTVBJTEVfQykgJChTT1VSQ0VfRElSKS8kKFNQRUNJQUxJWkVfVFlQRSkvJCouYworKworK3NvZnRmbG9hdCQoTElCKTogJChPQkpTX0FMTCkKKysJJChERUxFVEUpICRACisrCSQoTUFLRUxJQikgJF4KKysKKysuUEhPTlk6IGNsZWFuCisrY2xlYW46CisrCSQoREVMRVRFKSAkKE9CSlNfQUxMKSBzb2Z0ZmxvYXQkKExJQikKKysKK2RpZmYgLS1naXQgYS9Tb2Z0RmxvYXQtM2EvYnVpbGQvTGludXgtQ3Jvc3MtQ29tcGlsZS9wbGF0Zm9ybS5oIGIvU29mdEZsb2F0LTNhL2J1aWxkL0xpbnV4LUNyb3NzLUNvbXBpbGUvcGxhdGZvcm0uaAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjVlNTY2ZmMKKy0tLSAvZGV2L251bGwKKysrKyBiL1NvZnRGbG9hdC0zYS9idWlsZC9MaW51eC1Dcm9zcy1Db21waWxlL3BsYXRmb3JtLmgKK0BAIC0wLDAgKzEsNDQgQEAKKysKKysvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKysKKytUaGlzIEMgaGVhZGVyIGZpbGUgaXMgcGFydCBvZiB0aGUgU29mdEZsb2F0IElFRUUgRmxvYXRpbmctUG9pbnQgQXJpdGhtZXRpYworK1BhY2thZ2UsIFJlbGVhc2UgM2EsIGJ5IEpvaG4gUi4gSGF1c2VyLgorKworK0NvcHlyaWdodCAyMDExLCAyMDEyLCAyMDEzLCAyMDE0IFRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuCisrQWxsIHJpZ2h0cyByZXNlcnZlZC4KKysKKytSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyttb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKysKKysgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorKyAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucywgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKysKKysgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorKyAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucywgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorKyAgICBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKysKKysgMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5CisrICAgIGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQKKysgICAgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorKworK1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiLCBBTkQgQU5ZCisrRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorK1dBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgQVJFCisrRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorK0RJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisrKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworK0xPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorK09OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisrKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKytTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKysKKys9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCisrCisrLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworKyNkZWZpbmUgTElUVExFRU5ESUFOIDEKKysKKysvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisrI2RlZmluZSBJTkxJTkUgZXh0ZXJuIGlubGluZQorKworLS0gCisyLjEuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90ZXN0ZmxvYXQvZmlsZXMvMDAwMi1NYWtlZmlsZS1mb3ItY3Jvc3MtY29tcGlsZS1UZXN0RmxvYXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90ZXN0ZmxvYXQvZmlsZXMvMDAwMi1NYWtlZmlsZS1mb3ItY3Jvc3MtY29tcGlsZS1UZXN0RmxvYXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2MxMjRiMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rlc3RmbG9hdC9maWxlcy8wMDAyLU1ha2VmaWxlLWZvci1jcm9zcy1jb21waWxlLVRlc3RGbG9hdC5wYXRjaApAQCAtMCwwICsxLDM5NiBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitGcm9tIDlhYTRhNDE2ZjA1OTY3MzIwYzFhYTUyYmRjY2ZlMTA1YTNiZjMyNjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBGYWJpbyBCZXJ0b24gPGZhYmlvLmJlcnRvbkBvc3N5c3RlbXMuY29tLmJyPgorRGF0ZTogVGh1LCA0IEZlYiAyMDE2IDA5OjE2OjA5IC0wMjAwCitTdWJqZWN0OiBbUEFUQ0ggMi8yXSBNYWtlZmlsZSBmb3IgY3Jvc3MgY29tcGlsZSBUZXN0RmxvYXQKKworU2lnbmVkLW9mZi1ieTogRmFiaW8gQmVydG9uIDxmYWJpby5iZXJ0b25Ab3NzeXN0ZW1zLmNvbS5icj4KKy0tLQorIFRlc3RGbG9hdC0zYS9idWlsZC9MaW51eC1Dcm9zcy1Db21waWxlL01ha2VmaWxlICAgfCAzMjEgKysrKysrKysrKysrKysrKysrKysrKworIFRlc3RGbG9hdC0zYS9idWlsZC9MaW51eC1Dcm9zcy1Db21waWxlL3BsYXRmb3JtLmggfCAgNDUgKysrCisgMiBmaWxlcyBjaGFuZ2VkLCAzNjYgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBUZXN0RmxvYXQtM2EvYnVpbGQvTGludXgtQ3Jvc3MtQ29tcGlsZS9NYWtlZmlsZQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBUZXN0RmxvYXQtM2EvYnVpbGQvTGludXgtQ3Jvc3MtQ29tcGlsZS9wbGF0Zm9ybS5oCisKK2RpZmYgLS1naXQgYS9UZXN0RmxvYXQtM2EvYnVpbGQvTGludXgtQ3Jvc3MtQ29tcGlsZS9NYWtlZmlsZSBiL1Rlc3RGbG9hdC0zYS9idWlsZC9MaW51eC1Dcm9zcy1Db21waWxlL01ha2VmaWxlCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uYTg5MzI2YQorLS0tIC9kZXYvbnVsbAorKysrIGIvVGVzdEZsb2F0LTNhL2J1aWxkL0xpbnV4LUNyb3NzLUNvbXBpbGUvTWFrZWZpbGUKK0BAIC0wLDAgKzEsMzIxIEBACisrCisrIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrIworKyMgVGhpcyBNYWtlZmlsZSBpcyBwYXJ0IG9mIFRlc3RGbG9hdCwgUmVsZWFzZSAzYSwgYSBwYWNrYWdlIG9mIHByb2dyYW1zIGZvcgorKyMgdGVzdGluZyB0aGUgY29ycmVjdG5lc3Mgb2YgZmxvYXRpbmctcG9pbnQgYXJpdGhtZXRpYyBjb21wbHlpbmcgd2l0aCB0aGUgSUVFRQorKyMgU3RhbmRhcmQgZm9yIEZsb2F0aW5nLVBvaW50LCBieSBKb2huIFIuIEhhdXNlci4KKysjCisrIyBDb3B5cmlnaHQgMjAxMSwgMjAxMiwgMjAxMywgMjAxNCwgMjAxNSBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZgorKyMgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrIworKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisrIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKysjCisrIyAgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorKyMgICAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zLCBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKyMKKysjICAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMsIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisrIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKysjCisrIyAgMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKysjICAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKysjICAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKysjCisrIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiwgQU5EIEFOWQorKyMgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBBUkUKKysjIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKysjIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisrIyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisrIyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKysjIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisrIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKysjIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisrIworKyM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorKworK1NPVVJDRV9ESVIgPSAuLi8uLi9zb3VyY2UKKytTVUJKX1NPVVJDRV9ESVIgPSAkKFNPVVJDRV9ESVIpL3N1YmotQworK1NPRlRGTE9BVF9ESVIgPSAuLi8uLi8uLi9Tb2Z0RmxvYXQtM2EKKytTT0ZURkxPQVRfSU5DTFVERV9ESVIgPSAkKFNPRlRGTE9BVF9ESVIpL3NvdXJjZS9pbmNsdWRlCisrUExBVEZPUk0gPSBMaW51eC1Dcm9zcy1Db21waWxlCisrCisrU09GVEZMT0FUX0ggPSBcCisrICAkKFNPRlRGTE9BVF9JTkNMVURFX0RJUikvc29mdGZsb2F0X3R5cGVzLmggXAorKyAgJChTT0ZURkxPQVRfSU5DTFVERV9ESVIpL3NvZnRmbG9hdC5oCisrU09GVEZMT0FUX0xJQiA9ICQoU09GVEZMT0FUX0RJUikvYnVpbGQvJChQTEFURk9STSkvc29mdGZsb2F0JChMSUIpCisrCisrVEVTVEZMT0FUX09QVFMgPSAtREVYVEZMT0FUODAgLURGTE9BVDEyOCAtRExPTkdfRE9VQkxFX0lTX0VYVEZMT0FUODAgLWZnbnU4OS1pbmxpbmUKKysKKytERUxFVEUgPSBybSAtZgorK0NfSU5DTFVERVMgPSBcCisrICAtSS4gLUkkKFNVQkpfU09VUkNFX0RJUikgLUkkKFNPVVJDRV9ESVIpIC1JJChTT0ZURkxPQVRfSU5DTFVERV9ESVIpCisrQ09NUElMRV9DID0gXAorKyAgJHtDQ30gLWMgLVdlcnJvci1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbiAkKFRFU1RGTE9BVF9PUFRTKSBcCisrICAgICQoQ19JTkNMVURFUykgLU8yIC1vICRACisrQ09NUElMRV9TTE9XRkxPQVRfQyA9IFwKKysgICR7Q0N9IC1jIC1XZXJyb3ItaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb24gJChURVNURkxPQVRfT1BUUykgXAorKyAgICAkKENfSU5DTFVERVMpIC1PMyAtbyAkQAorK01BS0VMSUIgPSAke0FSfSBjcnMgJEAKKytMSU5LID0gJHtDQ30gLW8gJEAKKytPVEhFUl9MSUJTID0gLWxtCisrCisrT0JKID0gLm8KKytMSUIgPSAuYQorK0VYRSA9CisrCisrLlBIT05ZOiBhbGwKKythbGw6IFwKKysgIHRlc3Rzb2Z0ZmxvYXQkKEVYRSkgXAorKyAgdGltZXNvZnRmbG9hdCQoRVhFKSBcCisrICB0ZXN0ZmxvYXRfZ2VuJChFWEUpIFwKKysgIHRlc3RmbG9hdF92ZXIkKEVYRSkgXAorKyAgdGVzdGZsb2F0JChFWEUpIFwKKysKKytPQkpTX0dFTkNBU0VTID0gXAorKyAgZ2VuQ2FzZXNfdWkzMiQoT0JKKSBcCisrICBnZW5DYXNlc191aTY0JChPQkopIFwKKysgIGdlbkNhc2VzX2kzMiQoT0JKKSBcCisrICBnZW5DYXNlc19pNjQkKE9CSikgXAorKyAgZ2VuQ2FzZXNfZjMyJChPQkopIFwKKysgIGdlbkNhc2VzX2Y2NCQoT0JKKSBcCisrICBnZW5DYXNlc19leHRGODAkKE9CSikgXAorKyAgZ2VuQ2FzZXNfZjEyOCQoT0JKKSBcCisrCisrT0JKU19XUklURUNBU0UgPSBcCisrICB3cml0ZUNhc2VfYV91aTMyJChPQkopIFwKKysgIHdyaXRlQ2FzZV9hX3VpNjQkKE9CSikgXAorKyAgd3JpdGVDYXNlX2FfZjMyJChPQkopIFwKKysgIHdyaXRlQ2FzZV9hYl9mMzIkKE9CSikgXAorKyAgd3JpdGVDYXNlX2FiY19mMzIkKE9CSikgXAorKyAgd3JpdGVDYXNlX2FfZjY0JChPQkopIFwKKysgIHdyaXRlQ2FzZV9hYl9mNjQkKE9CSikgXAorKyAgd3JpdGVDYXNlX2FiY19mNjQkKE9CSikgXAorKyAgd3JpdGVDYXNlX2FfZXh0RjgwTSQoT0JKKSBcCisrICB3cml0ZUNhc2VfYWJfZXh0RjgwTSQoT0JKKSBcCisrICB3cml0ZUNhc2VfYWJjX2V4dEY4ME0kKE9CSikgXAorKyAgd3JpdGVDYXNlX2FfZjEyOE0kKE9CSikgXAorKyAgd3JpdGVDYXNlX2FiX2YxMjhNJChPQkopIFwKKysgIHdyaXRlQ2FzZV9hYmNfZjEyOE0kKE9CSikgXAorKyAgd3JpdGVDYXNlX3pfYm9vbCQoT0JKKSBcCisrICB3cml0ZUNhc2Vfel91aTMyJChPQkopIFwKKysgIHdyaXRlQ2FzZV96X3VpNjQkKE9CSikgXAorKyAgd3JpdGVDYXNlX3pfZjMyJChPQkopIFwKKysgIHdyaXRlQ2FzZV96X2Y2NCQoT0JKKSBcCisrICB3cml0ZUNhc2Vfel9leHRGODBNJChPQkopIFwKKysgIHdyaXRlQ2FzZV96X2YxMjhNJChPQkopIFwKKysKKytPQkpTX1RFU1QgPSBcCisrICB0ZXN0X2FfdWkzMl96X2YzMiQoT0JKKSBcCisrICB0ZXN0X2FfdWkzMl96X2Y2NCQoT0JKKSBcCisrICB0ZXN0X2FfdWkzMl96X2V4dEY4MCQoT0JKKSBcCisrICB0ZXN0X2FfdWkzMl96X2YxMjgkKE9CSikgXAorKyAgdGVzdF9hX3VpNjRfel9mMzIkKE9CSikgXAorKyAgdGVzdF9hX3VpNjRfel9mNjQkKE9CSikgXAorKyAgdGVzdF9hX3VpNjRfel9leHRGODAkKE9CSikgXAorKyAgdGVzdF9hX3VpNjRfel9mMTI4JChPQkopIFwKKysgIHRlc3RfYV9pMzJfel9mMzIkKE9CSikgXAorKyAgdGVzdF9hX2kzMl96X2Y2NCQoT0JKKSBcCisrICB0ZXN0X2FfaTMyX3pfZXh0RjgwJChPQkopIFwKKysgIHRlc3RfYV9pMzJfel9mMTI4JChPQkopIFwKKysgIHRlc3RfYV9pNjRfel9mMzIkKE9CSikgXAorKyAgdGVzdF9hX2k2NF96X2Y2NCQoT0JKKSBcCisrICB0ZXN0X2FfaTY0X3pfZXh0RjgwJChPQkopIFwKKysgIHRlc3RfYV9pNjRfel9mMTI4JChPQkopIFwKKysgIHRlc3RfYV9mMzJfel91aTMyX3J4JChPQkopIFwKKysgIHRlc3RfYV9mMzJfel91aTY0X3J4JChPQkopIFwKKysgIHRlc3RfYV9mMzJfel9pMzJfcngkKE9CSikgXAorKyAgdGVzdF9hX2YzMl96X2k2NF9yeCQoT0JKKSBcCisrICB0ZXN0X2FfZjMyX3pfdWkzMl94JChPQkopIFwKKysgIHRlc3RfYV9mMzJfel91aTY0X3gkKE9CSikgXAorKyAgdGVzdF9hX2YzMl96X2kzMl94JChPQkopIFwKKysgIHRlc3RfYV9mMzJfel9pNjRfeCQoT0JKKSBcCisrICB0ZXN0X2FfZjMyX3pfZjY0JChPQkopIFwKKysgIHRlc3RfYV9mMzJfel9leHRGODAkKE9CSikgXAorKyAgdGVzdF9hX2YzMl96X2YxMjgkKE9CSikgXAorKyAgdGVzdF9hel9mMzIkKE9CSikgXAorKyAgdGVzdF9hel9mMzJfcngkKE9CSikgXAorKyAgdGVzdF9hYnpfZjMyJChPQkopIFwKKysgIHRlc3RfYWJjel9mMzIkKE9CSikgXAorKyAgdGVzdF9hYl9mMzJfel9ib29sJChPQkopIFwKKysgIHRlc3RfYV9mNjRfel91aTMyX3J4JChPQkopIFwKKysgIHRlc3RfYV9mNjRfel91aTY0X3J4JChPQkopIFwKKysgIHRlc3RfYV9mNjRfel9pMzJfcngkKE9CSikgXAorKyAgdGVzdF9hX2Y2NF96X2k2NF9yeCQoT0JKKSBcCisrICB0ZXN0X2FfZjY0X3pfdWkzMl94JChPQkopIFwKKysgIHRlc3RfYV9mNjRfel91aTY0X3gkKE9CSikgXAorKyAgdGVzdF9hX2Y2NF96X2kzMl94JChPQkopIFwKKysgIHRlc3RfYV9mNjRfel9pNjRfeCQoT0JKKSBcCisrICB0ZXN0X2FfZjY0X3pfZjMyJChPQkopIFwKKysgIHRlc3RfYV9mNjRfel9leHRGODAkKE9CSikgXAorKyAgdGVzdF9hX2Y2NF96X2YxMjgkKE9CSikgXAorKyAgdGVzdF9hel9mNjQkKE9CSikgXAorKyAgdGVzdF9hel9mNjRfcngkKE9CSikgXAorKyAgdGVzdF9hYnpfZjY0JChPQkopIFwKKysgIHRlc3RfYWJjel9mNjQkKE9CSikgXAorKyAgdGVzdF9hYl9mNjRfel9ib29sJChPQkopIFwKKysgIHRlc3RfYV9leHRGODBfel91aTMyX3J4JChPQkopIFwKKysgIHRlc3RfYV9leHRGODBfel91aTY0X3J4JChPQkopIFwKKysgIHRlc3RfYV9leHRGODBfel9pMzJfcngkKE9CSikgXAorKyAgdGVzdF9hX2V4dEY4MF96X2k2NF9yeCQoT0JKKSBcCisrICB0ZXN0X2FfZXh0RjgwX3pfdWkzMl94JChPQkopIFwKKysgIHRlc3RfYV9leHRGODBfel91aTY0X3gkKE9CSikgXAorKyAgdGVzdF9hX2V4dEY4MF96X2kzMl94JChPQkopIFwKKysgIHRlc3RfYV9leHRGODBfel9pNjRfeCQoT0JKKSBcCisrICB0ZXN0X2FfZXh0RjgwX3pfZjMyJChPQkopIFwKKysgIHRlc3RfYV9leHRGODBfel9mNjQkKE9CSikgXAorKyAgdGVzdF9hX2V4dEY4MF96X2YxMjgkKE9CSikgXAorKyAgdGVzdF9hel9leHRGODAkKE9CSikgXAorKyAgdGVzdF9hel9leHRGODBfcngkKE9CSikgXAorKyAgdGVzdF9hYnpfZXh0RjgwJChPQkopIFwKKysgIHRlc3RfYWJfZXh0RjgwX3pfYm9vbCQoT0JKKSBcCisrICB0ZXN0X2FfZjEyOF96X3VpMzJfcngkKE9CSikgXAorKyAgdGVzdF9hX2YxMjhfel91aTY0X3J4JChPQkopIFwKKysgIHRlc3RfYV9mMTI4X3pfaTMyX3J4JChPQkopIFwKKysgIHRlc3RfYV9mMTI4X3pfaTY0X3J4JChPQkopIFwKKysgIHRlc3RfYV9mMTI4X3pfdWkzMl94JChPQkopIFwKKysgIHRlc3RfYV9mMTI4X3pfdWk2NF94JChPQkopIFwKKysgIHRlc3RfYV9mMTI4X3pfaTMyX3gkKE9CSikgXAorKyAgdGVzdF9hX2YxMjhfel9pNjRfeCQoT0JKKSBcCisrICB0ZXN0X2FfZjEyOF96X2YzMiQoT0JKKSBcCisrICB0ZXN0X2FfZjEyOF96X2Y2NCQoT0JKKSBcCisrICB0ZXN0X2FfZjEyOF96X2V4dEY4MCQoT0JKKSBcCisrICB0ZXN0X2F6X2YxMjgkKE9CSikgXAorKyAgdGVzdF9hel9mMTI4X3J4JChPQkopIFwKKysgIHRlc3RfYWJ6X2YxMjgkKE9CSikgXAorKyAgdGVzdF9hYmN6X2YxMjgkKE9CSikgXAorKyAgdGVzdF9hYl9mMTI4X3pfYm9vbCQoT0JKKSBcCisrCisrT0JKU19MSUIgPSBcCisrICB1aW50MTI4JChPQkopIFwKKysgIGZhaWwkKE9CSikgXAorKyAgZnVuY3Rpb25zX2NvbW1vbiQoT0JKKSBcCisrICBmdW5jdGlvbkluZm9zJChPQkopIFwKKysgIHN0YW5kYXJkRnVuY3Rpb25JbmZvcyQoT0JKKSBcCisrICByYW5kb20kKE9CSikgXAorKyAgZ2VuQ2FzZXNfY29tbW9uJChPQkopIFwKKysgICQoT0JKU19HRU5DQVNFUykgXAorKyAgZ2VuQ2FzZXNfd3JpdGVUZXN0c1RvdGFsJChPQkopIFwKKysgIHZlckNhc2VzX2NvbW1vbiQoT0JKKSBcCisrICB2ZXJDYXNlc193cml0ZUZ1bmN0aW9uTmFtZSQoT0JKKSBcCisrICByZWFkSGV4JChPQkopIFwKKysgIHdyaXRlSGV4JChPQkopIFwKKysgICQoT0JKU19XUklURUNBU0UpIFwKKysgIHRlc3RMb29wc19jb21tb24kKE9CSikgXAorKyAgJChPQkpTX1RFU1QpIFwKKysKKyt1aW50MTI4JChPQkopOiAkKFNPVVJDRV9ESVIpL3VpbnQxMjguaAorK2ZhaWwkKE9CSik6ICQoU09VUkNFX0RJUikvZmFpbC5oCisrZnVuY3Rpb25zX2NvbW1vbiQoT0JKKTogJChTT0ZURkxPQVRfSCkgJChTT1VSQ0VfRElSKS9mdW5jdGlvbnMuaAorK2Z1bmN0aW9uSW5mb3MkKE9CSik6ICQoU09VUkNFX0RJUikvZnVuY3Rpb25zLmgKKytzdGFuZGFyZEZ1bmN0aW9uSW5mb3MkKE9CSik6ICQoU09VUkNFX0RJUikvZnVuY3Rpb25zLmgKKytyYW5kb20kKE9CSik6ICQoU09VUkNFX0RJUikvcmFuZG9tLmgKKytnZW5DYXNlc19jb21tb24kKE9CSik6ICQoU09VUkNFX0RJUikvZmFpbC5oICQoU09VUkNFX0RJUikvZ2VuQ2FzZXMuaAorKyQoT0JKU19HRU5DQVNFUyk6IFwKKysgICQoU09VUkNFX0RJUikvcmFuZG9tLmggJChTT0ZURkxPQVRfSCkgJChTT1VSQ0VfRElSKS9nZW5DYXNlcy5oCisrZ2VuQ2FzZXNfZjEyOCQoT0JKKTogJChTT1VSQ0VfRElSKS91aW50MTI4LmgKKytnZW5DYXNlc193cml0ZVRlc3RzVG90YWwkKE9CSik6ICQoU09VUkNFX0RJUikvZ2VuQ2FzZXMuaAorK3ZlckNhc2VzX2NvbW1vbiQoT0JKKTogJChTT1VSQ0VfRElSKS92ZXJDYXNlcy5oCisrdmVyQ2FzZXNfd3JpdGVGdW5jdGlvbk5hbWUkKE9CSik6ICQoU09VUkNFX0RJUikvdmVyQ2FzZXMuaAorK3JlYWRIZXgkKE9CSik6ICQoU09VUkNFX0RJUikvcmVhZEhleC5oCisrd3JpdGVIZXgkKE9CSik6ICQoU09VUkNFX0RJUikvdWludDEyOC5oICQoU09GVEZMT0FUX0gpICQoU09VUkNFX0RJUikvd3JpdGVIZXguaAorKyQoT0JKU19XUklURUNBU0UpOiBcCisrICAkKFNPRlRGTE9BVF9IKSAkKFNPVVJDRV9ESVIpL3dyaXRlSGV4LmggJChTT1VSQ0VfRElSKS93cml0ZUNhc2UuaAorK3Rlc3RMb29wc19jb21tb24kKE9CSik6ICQoU09VUkNFX0RJUikvdGVzdExvb3BzLmgKKyskKE9CSlNfVEVTVCk6IFwKKysgICQoU09VUkNFX0RJUikvdWludDEyOC5oICQoU09GVEZMT0FUX0gpICQoU09VUkNFX0RJUikvZ2VuQ2FzZXMuaCBcCisrICAkKFNPVVJDRV9ESVIpL3ZlckNhc2VzLmggJChTT1VSQ0VfRElSKS93cml0ZUNhc2UuaCAkKFNPVVJDRV9ESVIpL3Rlc3RMb29wcy5oCisrJChPQkpTX0xJQik6ICUkKE9CSik6IHBsYXRmb3JtLmggJChTT1VSQ0VfRElSKS8lLmMKKysJJChDT01QSUxFX0MpICQoU09VUkNFX0RJUikvJCouYworK3Rlc3RmbG9hdCQoTElCKTogJChPQkpTX0xJQikKKysJJChNQUtFTElCKSAkXgorKworK09CSlNfVEVTVFNPRlRGTE9BVCA9IHNsb3dmbG9hdCQoT0JKKSB0ZXN0c29mdGZsb2F0JChPQkopCisrCisrc2xvd2Zsb2F0JChPQkopOiBcCisrICBwbGF0Zm9ybS5oICQoU09VUkNFX0RJUikvdWludDEyOC5oICQoU09GVEZMT0FUX0gpIFwKKysgICQoU09VUkNFX0RJUikvc2xvd2Zsb2F0LmggJChTT1VSQ0VfRElSKS9zbG93ZmxvYXQuYworKwkkKENPTVBJTEVfU0xPV0ZMT0FUX0MpICQoU09VUkNFX0RJUikvc2xvd2Zsb2F0LmMKKyt0ZXN0c29mdGZsb2F0JChPQkopOiBcCisrICBwbGF0Zm9ybS5oICQoU09VUkNFX0RJUikvdWludDEyOC5oICQoU09VUkNFX0RJUikvZmFpbC5oICQoU09GVEZMT0FUX0gpIFwKKysgICQoU09VUkNFX0RJUikvc2xvd2Zsb2F0LmggJChTT1VSQ0VfRElSKS9mdW5jdGlvbnMuaCBcCisrICAkKFNPVVJDRV9ESVIpL2dlbkNhc2VzLmggJChTT1VSQ0VfRElSKS92ZXJDYXNlcy5oICQoU09VUkNFX0RJUikvd3JpdGVDYXNlLmggXAorKyAgJChTT1VSQ0VfRElSKS90ZXN0TG9vcHMuaCAkKFNPVVJDRV9ESVIpL3Rlc3Rzb2Z0ZmxvYXQuYworKwkkKENPTVBJTEVfQykgJChTT1VSQ0VfRElSKS90ZXN0c29mdGZsb2F0LmMKKysKKyt0ZXN0c29mdGZsb2F0JChFWEUpOiAkKE9CSlNfVEVTVFNPRlRGTE9BVCkgdGVzdGZsb2F0JChMSUIpICQoU09GVEZMT0FUX0xJQikKKysJJChMSU5LKSAkXiAkKE9USEVSX0xJQlMpCisrCisrT0JKU19USU1FU09GVEZMT0FUID0gdGltZXNvZnRmbG9hdCQoT0JKKQorKworK3RpbWVzb2Z0ZmxvYXQkKE9CSik6IFwKKysgIHBsYXRmb3JtLmggJChTT1VSQ0VfRElSKS91aW50MTI4LmggJChTT1VSQ0VfRElSKS9mYWlsLmggJChTT0ZURkxPQVRfSCkgXAorKyAgJChTT1VSQ0VfRElSKS9mdW5jdGlvbnMuaCAkKFNPVVJDRV9ESVIpL3RpbWVzb2Z0ZmxvYXQuYworKwkkKENPTVBJTEVfQykgJChTT1VSQ0VfRElSKS90aW1lc29mdGZsb2F0LmMKKysKKyt0aW1lc29mdGZsb2F0JChFWEUpOiAkKE9CSlNfVElNRVNPRlRGTE9BVCkgdGVzdGZsb2F0JChMSUIpICQoU09GVEZMT0FUX0xJQikKKysJJChMSU5LKSAkXiAkKE9USEVSX0xJQlMpCisrCisrT0JKU19URVNURkxPQVRfR0VOID0gZ2VuTG9vcHMkKE9CSikgdGVzdGZsb2F0X2dlbiQoT0JKKQorKworK2dlbkxvb3BzJChPQkopOiBcCisrICBwbGF0Zm9ybS5oICQoU09VUkNFX0RJUikvdWludDEyOC5oICQoU09VUkNFX0RJUikvZmFpbC5oICQoU09GVEZMT0FUX0gpIFwKKysgICQoU09VUkNFX0RJUikvZ2VuQ2FzZXMuaCAkKFNPVVJDRV9ESVIpL3dyaXRlSGV4LmggJChTT1VSQ0VfRElSKS9nZW5Mb29wcy5oIFwKKysgICQoU09VUkNFX0RJUikvZ2VuTG9vcHMuYworKwkkKENPTVBJTEVfQykgJChTT1VSQ0VfRElSKS9nZW5Mb29wcy5jCisrdGVzdGZsb2F0X2dlbiQoT0JKKTogXAorKyAgJChTT1VSQ0VfRElSKS9mYWlsLmggJChTT0ZURkxPQVRfSCkgJChTT1VSQ0VfRElSKS9mdW5jdGlvbnMuaCBcCisrICAkKFNPVVJDRV9ESVIpL2dlbkNhc2VzLmggJChTT1VSQ0VfRElSKS9nZW5Mb29wcy5oIFwKKysgICQoU09VUkNFX0RJUikvdGVzdGZsb2F0X2dlbi5jCisrCSQoQ09NUElMRV9DKSAkKFNPVVJDRV9ESVIpL3Rlc3RmbG9hdF9nZW4uYworKworK3Rlc3RmbG9hdF9nZW4kKEVYRSk6ICQoT0JKU19URVNURkxPQVRfR0VOKSB0ZXN0ZmxvYXQkKExJQikgJChTT0ZURkxPQVRfTElCKQorKwkkKExJTkspICReICQoT1RIRVJfTElCUykKKysKKytPQkpTX1RFU1RGTE9BVF9WRVIgPSB2ZXJMb29wcyQoT0JKKSB0ZXN0ZmxvYXRfdmVyJChPQkopCisrCisrdmVyTG9vcHMkKE9CSik6IFwKKysgIHBsYXRmb3JtLmggJChTT1VSQ0VfRElSKS91aW50MTI4LmggJChTT1VSQ0VfRElSKS9mYWlsLmggJChTT0ZURkxPQVRfSCkgXAorKyAgJChTT1VSQ0VfRElSKS9yZWFkSGV4LmggJChTT1VSQ0VfRElSKS92ZXJDYXNlcy5oICQoU09VUkNFX0RJUikvd3JpdGVDYXNlLmggXAorKyAgJChTT1VSQ0VfRElSKS92ZXJMb29wcy5oICQoU09VUkNFX0RJUikvdmVyTG9vcHMuYworKwkkKENPTVBJTEVfQykgJChTT1VSQ0VfRElSKS92ZXJMb29wcy5jCisrdGVzdGZsb2F0X3ZlciQoT0JKKTogXAorKyAgcGxhdGZvcm0uaCAkKFNPVVJDRV9ESVIpL3VpbnQxMjguaCAkKFNPVVJDRV9ESVIpL2ZhaWwuaCAkKFNPRlRGTE9BVF9IKSBcCisrICAkKFNPVVJDRV9ESVIpL2Z1bmN0aW9ucy5oICQoU09VUkNFX0RJUikvdmVyQ2FzZXMuaCBcCisrICAkKFNPVVJDRV9ESVIpL3dyaXRlQ2FzZS5oICQoU09VUkNFX0RJUikvdmVyTG9vcHMuaCBcCisrICAkKFNPVVJDRV9ESVIpL3Rlc3RmbG9hdF92ZXIuYworKwkkKENPTVBJTEVfQykgJChTT1VSQ0VfRElSKS90ZXN0ZmxvYXRfdmVyLmMKKysKKyt0ZXN0ZmxvYXRfdmVyJChFWEUpOiAkKE9CSlNfVEVTVEZMT0FUX1ZFUikgdGVzdGZsb2F0JChMSUIpICQoU09GVEZMT0FUX0xJQikKKysJJChMSU5LKSAkXiAkKE9USEVSX0xJQlMpCisrCisrT0JKU19URVNURkxPQVQgPSBzdWJqZmxvYXQkKE9CSikgc3ViamZsb2F0X2Z1bmN0aW9ucyQoT0JKKSB0ZXN0ZmxvYXQkKE9CSikKKysKKytzdWJqZmxvYXQkKE9CSik6IFwKKysgIHBsYXRmb3JtLmggJChTT0ZURkxPQVRfSCkgJChTVUJKX1NPVVJDRV9ESVIpL3N1YmpmbG9hdF9jb25maWcuaCBcCisrICAkKFNPVVJDRV9ESVIpL3N1YmpmbG9hdC5oICQoU1VCSl9TT1VSQ0VfRElSKS9zdWJqZmxvYXQuYworKwkkKENPTVBJTEVfQykgJChTVUJKX1NPVVJDRV9ESVIpL3N1YmpmbG9hdC5jCisrc3ViamZsb2F0X2Z1bmN0aW9ucyQoT0JKKTogXAorKyAgcGxhdGZvcm0uaCAkKFNVQkpfU09VUkNFX0RJUikvc3ViamZsb2F0X2NvbmZpZy5oICQoU09VUkNFX0RJUikvc3ViamZsb2F0LmggXAorKyAgJChTT1VSQ0VfRElSKS9mdW5jdGlvbnMuaCAkKFNPVVJDRV9ESVIpL3N1YmpmbG9hdF9mdW5jdGlvbnMuYworKwkkKENPTVBJTEVfQykgJChTT1VSQ0VfRElSKS9zdWJqZmxvYXRfZnVuY3Rpb25zLmMKKyt0ZXN0ZmxvYXQkKE9CSik6IFwKKysgIHBsYXRmb3JtLmggJChTT1VSQ0VfRElSKS91aW50MTI4LmggJChTT1VSQ0VfRElSKS9mYWlsLmggJChTT0ZURkxPQVRfSCkgXAorKyAgJChTVUJKX1NPVVJDRV9ESVIpL3N1YmpmbG9hdF9jb25maWcuaCAkKFNPVVJDRV9ESVIpL3N1YmpmbG9hdC5oIFwKKysgICQoU09VUkNFX0RJUikvZnVuY3Rpb25zLmggJChTT1VSQ0VfRElSKS9nZW5DYXNlcy5oICQoU09VUkNFX0RJUikvdmVyQ2FzZXMuaCBcCisrICAkKFNPVVJDRV9ESVIpL3Rlc3RMb29wcy5oICQoU09VUkNFX0RJUikvdGVzdGZsb2F0LmMKKysJJChDT01QSUxFX0MpICQoU09VUkNFX0RJUikvdGVzdGZsb2F0LmMKKysKKyt0ZXN0ZmxvYXQkKEVYRSk6ICQoT0JKU19URVNURkxPQVQpIHRlc3RmbG9hdCQoTElCKSAkKFNPRlRGTE9BVF9MSUIpCisrCSQoTElOSykgJF4gJChPVEhFUl9MSUJTKQorKworKy5QSE9OWTogY2xlYW4KKytjbGVhbjoKKysJJChERUxFVEUpICQoT0JKU19MSUIpIHRlc3RmbG9hdCQoTElCKQorKwkkKERFTEVURSkgJChPQkpTX1RFU1RTT0ZURkxPQVQpIHRlc3Rzb2Z0ZmxvYXQkKEVYRSkKKysJJChERUxFVEUpICQoT0JKU19USU1FU09GVEZMT0FUKSB0aW1lc29mdGZsb2F0JChFWEUpCisrCSQoREVMRVRFKSAkKE9CSlNfVEVTVEZMT0FUX0dFTikgdGVzdGZsb2F0X2dlbiQoRVhFKQorKwkkKERFTEVURSkgJChPQkpTX1RFU1RGTE9BVF9WRVIpIHRlc3RmbG9hdF92ZXIkKEVYRSkKKysJJChERUxFVEUpICQoT0JKU19URVNURkxPQVQpIHRlc3RmbG9hdCQoRVhFKQorKworZGlmZiAtLWdpdCBhL1Rlc3RGbG9hdC0zYS9idWlsZC9MaW51eC1Dcm9zcy1Db21waWxlL3BsYXRmb3JtLmggYi9UZXN0RmxvYXQtM2EvYnVpbGQvTGludXgtQ3Jvc3MtQ29tcGlsZS9wbGF0Zm9ybS5oCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMDllNjNhMAorLS0tIC9kZXYvbnVsbAorKysrIGIvVGVzdEZsb2F0LTNhL2J1aWxkL0xpbnV4LUNyb3NzLUNvbXBpbGUvcGxhdGZvcm0uaAorQEAgLTAsMCArMSw0NSBAQAorKworKy8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorKworK1RoaXMgQyBoZWFkZXIgZmlsZSBpcyBwYXJ0IG9mIFRlc3RGbG9hdCwgUmVsZWFzZSAzYSwgYSBwYWNrYWdlIG9mIHByb2dyYW1zIGZvcgorK3Rlc3RpbmcgdGhlIGNvcnJlY3RuZXNzIG9mIGZsb2F0aW5nLXBvaW50IGFyaXRobWV0aWMgY29tcGx5aW5nIHdpdGggdGhlIElFRUUKKytTdGFuZGFyZCBmb3IgRmxvYXRpbmctUG9pbnQsIGJ5IEpvaG4gUi4gSGF1c2VyLgorKworK0NvcHlyaWdodCAyMDExLCAyMDEyLCAyMDEzLCAyMDE0IFRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuCisrQWxsIHJpZ2h0cyByZXNlcnZlZC4KKysKKytSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyttb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKysKKysgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorKyAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucywgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKysKKysgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorKyAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucywgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorKyAgICBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKysKKysgMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5CisrICAgIGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQKKysgICAgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorKworK1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiLCBBTkQgQU5ZCisrRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorK1dBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgQVJFCisrRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorK0RJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisrKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworK0xPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorK09OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisrKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKytTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKysKKys9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCisrCisrLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworKyNkZWZpbmUgTElUVExFRU5ESUFOIDEKKysKKysvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisrI2RlZmluZSBJTkxJTkUgZXh0ZXJuIGlubGluZQorKworLS0gCisyLjEuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90ZXN0ZmxvYXQvdGVzdGZsb2F0XzNhLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGVzdGZsb2F0L3Rlc3RmbG9hdF8zYS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOGU5Njc3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGVzdGZsb2F0L3Rlc3RmbG9hdF8zYS5iYgpAQCAtMCwwICsxLDM1IEBACitERVNDUklQVElPTiA9ICJCZXJrZWxleSBUZXN0RmxvYXQgaXMgYSBzbWFsbCBjb2xsZWN0aW9uIG9mIHByb2dyYW1zIGZvciBcCisgICAgdGVzdGluZyB0aGF0IGFuIGltcGxlbWVudGF0aW9uIG9mIGJpbmFyeSBmbG9hdGluZy1wb2ludCBjb25mb3JtcyB0byB0aGUgXAorICAgIElFRUUgU3RhbmRhcmQgZm9yIEZsb2F0aW5nLVBvaW50IEFyaXRobWV0aWMuIgorCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmpoYXVzZXIudXMvYXJpdGhtZXRpYy9UZXN0RmxvYXQuaHRtbCIKKworTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9UZXN0RmxvYXQtJHtQVn0vQ09QWUlORy50eHQ7bWQ1PWU0NWMxNzVhMzIzYjU3Mjc3NzdmYjZiZDRiMjZlYWZjIgorCitTUkNfVVJJID0gIlwKKyAgICBodHRwOi8vd3d3LmpoYXVzZXIudXMvYXJpdGhtZXRpYy9UZXN0RmxvYXQtM2EuemlwO25hbWU9VGVzdEZsb2F0IFwKKyAgICBodHRwOi8vd3d3LmpoYXVzZXIudXMvYXJpdGhtZXRpYy9Tb2Z0RmxvYXQtM2EuemlwO25hbWU9U29mdEZsb2F0IFwKKyAgICBmaWxlOi8vMDAwMS1NYWtlZmlsZS1mb3ItY3Jvc3MtY29tcGlsZS1Tb2Z0RmxvYXQucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAyLU1ha2VmaWxlLWZvci1jcm9zcy1jb21waWxlLVRlc3RGbG9hdC5wYXRjaCBcCisiCitTUkNfVVJJW1Rlc3RGbG9hdC5tZDVzdW1dID0gIjVhMTI0ZTg1YWI3NGM1ZTUyZGEyN2Q0MDFjZWE2Y2MzIgorU1JDX1VSSVtUZXN0RmxvYXQuc2hhMjU2c3VtXSA9ICJmYTI1OGI1YjNjNzUxNjU2YTM3MjA1MWFkZWU0MTgzZTE5YWQ0NzYzMDMyMzIyZWI3YTg3ZGZiOWUyYzIyYzc1IgorU1JDX1VSSVtTb2Z0RmxvYXQubWQ1c3VtXSA9ICJlNTNiZDQ1NTBjZjk5NjkwNjQyYzQxMzc0ZDE4ODUxNyIKK1NSQ19VUklbU29mdEZsb2F0LnNoYTI1NnN1bV0gPSAiOTQ2ZmQyMzE4MDU1OWQ2MGViNjY4M2RkYTFjZjhiMTQyZjU0MjZkZWRmZWZiOTdiMDNjNmFmZGZkNzBlZTllMCIKKworUyA9ICIke1dPUktESVJ9IgorCitkb19jb21waWxlKCl7CisgICAgb2VfcnVubWFrZSAtQyBTb2Z0RmxvYXQtJHtQVn0vYnVpbGQvTGludXgtQ3Jvc3MtQ29tcGlsZS8KKyAgICBvZV9ydW5tYWtlIC1DIFRlc3RGbG9hdC0ke1BWfS9idWlsZC9MaW51eC1Dcm9zcy1Db21waWxlLworfQorCitkb19pbnN0YWxsKCl7CisgICAgaW5zdGFsbCAtZCAke0R9LyR7YmluZGlyfQorICAgIGluc3RhbGwgJHtTfS9UZXN0RmxvYXQtJHtQVn0vYnVpbGQvTGludXgtQ3Jvc3MtQ29tcGlsZS90ZXN0ZmxvYXQgICAgICR7RH0vJHtiaW5kaXJ9CisgICAgaW5zdGFsbCAke1N9L1Rlc3RGbG9hdC0ke1BWfS9idWlsZC9MaW51eC1Dcm9zcy1Db21waWxlL3Rlc3RmbG9hdF9nZW4gJHtEfS8ke2JpbmRpcn0KKyAgICBpbnN0YWxsICR7U30vVGVzdEZsb2F0LSR7UFZ9L2J1aWxkL0xpbnV4LUNyb3NzLUNvbXBpbGUvdGVzdGZsb2F0X3ZlciAke0R9LyR7YmluZGlyfQorICAgIGluc3RhbGwgJHtTfS9UZXN0RmxvYXQtJHtQVn0vYnVpbGQvTGludXgtQ3Jvc3MtQ29tcGlsZS90ZXN0c29mdGZsb2F0ICR7RH0vJHtiaW5kaXJ9CisgICAgaW5zdGFsbCAke1N9L1Rlc3RGbG9hdC0ke1BWfS9idWlsZC9MaW51eC1Dcm9zcy1Db21waWxlL3RpbWVzb2Z0ZmxvYXQgJHtEfS8ke2JpbmRpcn0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3RpcGN1dGlscy90aXBjdXRpbHNfMi4wLjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90aXBjdXRpbHMvdGlwY3V0aWxzXzIuMC42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhYzhmYWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90aXBjdXRpbHMvdGlwY3V0aWxzXzIuMC42LmJiCkBAIC0wLDAgKzEsNDMgQEAKK1NVTU1BUlkgPSAiVHJhbnNwYXJlbnQgSW50ZXItUHJvY2VzcyBDb21tdW5pY2F0aW9uIHByb3RvY29sIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly90aXBjLWNvbmZpZy90aXBjLWNvbmZpZy5jO2VuZGxpbmU9MzI7bWQ1PTUyN2EzZDU3NDVlMTU4MWIxNWE0ZmRkZmI1ZGZkYTY4IgorCitTUkNfVVJJID0gImdpdDovL3RpcGMuZ2l0LnNvdXJjZWZvcmdlLm5ldC9naXRyb290L3RpcGMvdGlwY3V0aWxzIgorU1JDUkVWID0gIjI5MmEwM2UxN2Y4ODkwMTNmY2EyYzdiZDBhYWVlYmQ2MDBjODhmNDAiCisKK0RFUEVORFM9InZpcnR1YWwva2VybmVsIgorCitQQUNLQUdFX0FSQ0ggPSAiJHtNQUNISU5FX0FSQ0h9IgorCitpbmhlcml0IGF1dG90b29scworCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAoIGNkICR7U307ICR7U30vYm9vdHN0cmFwICkKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgZGVtb3M9ImJlbmNobWFyayBoZWxsb193b3JsZCB0b3BvbG9neV9zdWJzY3JfZGVtbyBjb25uZWN0aW9uX2RlbW8gXAorICAgICAgICAgICBtdWx0aWNhc3RfZGVtbyBzdHJlYW1fZGVtbyIKKyAgICBmb3IgaSBpbiAkZGVtb3M7ZG8KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9L29wdC90aXBjdXRpbHMvZGVtb3MvJGkKKyAgICAgICAgaW5zdGFsbCAke0J9L2RlbW9zLyRpL2NsaWVudF90aXBjICR7RH0vb3B0L3RpcGN1dGlscy9kZW1vcy8kaS8KKyAgICAgICAgaW5zdGFsbCAke0J9L2RlbW9zLyRpL3NlcnZlcl90aXBjICR7RH0vb3B0L3RpcGN1dGlscy9kZW1vcy8kaS8KKyAgICBkb25lCisgICAgaW5zdGFsbCAtZCAke0R9L29wdC90aXBjdXRpbHMvZGVtb3MvaW52ZW50b3J5X3NpbQorICAgIGluc3RhbGwgJHtCfS9kZW1vcy9pbnZlbnRvcnlfc2ltL2ludmVudG9yeV9zaW0gJHtEfS9vcHQvdGlwY3V0aWxzL2RlbW9zL2ludmVudG9yeV9zaW0vCisKKyAgICBpbnN0YWxsIC1kICR7RH0vb3B0L3RpcGN1dGlscy9wdHRzCisgICAgaW5zdGFsbCAke0J9L3B0dHMvdGlwY1RTICR7RH0vb3B0L3RpcGN1dGlscy9wdHRzLworICAgIGluc3RhbGwgJHtCfS9wdHRzL3RpcGNUQyAke0R9L29wdC90aXBjdXRpbHMvcHR0cy8KKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0KKyAgICBjcCAtUiAtLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bW9kZSxsaW5rcyAtdiAke1N9L3NjcmlwdHMvZXRjLyogJHtEfSR7c3lzY29uZmRpcn0vCisgICAgY2hvd24gLVIgcm9vdDpyb290ICR7RH0ke3N5c2NvbmZkaXJ9Cit9CisKK1BBQ0tBR0VTICs9ICIke1BOfS1kZW1vcyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiL29wdC90aXBjdXRpbHMvZGVtb3MvKi8uZGVidWcgL29wdC90aXBjdXRpbHMvcHR0cy8uZGVidWciCitGSUxFU18ke1BOfS1kZW1vcyA9ICIvb3B0L3RpcGN1dGlscy8qIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90aXB0b3AvdGlwdG9wXzIuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3RpcHRvcC90aXB0b3BfMi4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhOTgxMTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90aXB0b3AvdGlwdG9wXzIuMy5iYgpAQCAtMCwwICsxLDI2IEBACitTVU1NQVJZID0gIkhhcmR3YXJlIHBlcmZvcm1hbmNlIG1vbml0b3JpbmcgY291bnRlcnMiCitIT01FUEFHRSA9ICJodHRwOi8vdGlwdG9wLmdmb3JnZS5pbnJpYS5mci8iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCitERVBFTkRTID0gIm5jdXJzZXMgbGlieG1sMiIKKworU1JDX1VSSSA9ICJodHRwOi8vdGlwdG9wLmdmb3JnZS5pbnJpYS5mci9yZWxlYXNlcy8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZjFmYmExZTkwNDY1YjBlNWEzODY1YjE5MTMzZmExOWQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2YwN2U5NThiNDBhY2FlYWI5OGU5ZWIxMzI2YzlmOTFiMGJlMGE3ODJjMWNjMmJkN2E5ZTE4ZDMxZmFiMThjYSIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCitFWFRSQV9PRUNPTkYgPSAiQ0ZMQUdTPSIkQ0ZMQUdTIC1JJHtTVEFHSU5HX0lOQ0RJUn0vbGlieG1sMiIiCitDT01QQVRJQkxFX0hPU1QgPSAiKGkuODZ8eDg2XzY0fGFybXxwb3dlcnBjKS4qLWxpbnV4IgorCitkb19jb25maWd1cmVfcHJlcGVuZCAoKSB7CisgICAgIyBUd28gYnVncyBpbiBjb25maWd1cmUuYWMgd2hlbiBjcm9zcy1jb21waWxpbmcuCisgICAgIyAxLiBUaGUgcGF0aCBvZiBsaWJ4bWwyLiBTcGVjaWZ5IGl0IGluIEVYVFJBX09FQ09ORi4KKyAgICAjIDIuIGh3J3MgdmFsdWUgb24gb3RoZXIgcGxhdGZvcm1zLiBSZXBsYWNlIGl0IGlmIHRoZSB0YXJnZXQgaXMgCisgICAgIyAgICBub3QgaSo4Ni94ODZfNjQuCisgICAgaWYgKCBlY2hvICIke1RBUkdFVF9BUkNIfSIgfCBncmVwIC1xIC1lICdpLjg2JyAtZSAneDg2XzY0JyApOyB0aGVuCisgICAgICAgIHNlZCAtaSAncz0gLUkvdXNyL2luY2x1ZGUvbGlieG1sMj09JyAgICAke1N9L2NvbmZpZ3VyZS5hYworICAgIGVsc2UKKyAgICAgICAgc2VkIC1pICdzL2h3PWB1bmFtZSAtbWAvaHc9InVua25vd24iLycgICR7U30vY29uZmlndXJlLmFjCisgICAgICAgIHNlZCAtaSAncz0gLUkvdXNyL2luY2x1ZGUvbGlieG1sMj09JyAgICAke1N9L2NvbmZpZ3VyZS5hYworICAgIGZpCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90bXV4L3RtdXhfMi4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdG11eC90bXV4XzIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZjIxZGU1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdG11eC90bXV4XzIuMS5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIlRlcm1pbmFsIG11bHRpcGxleGVyIgorSE9NRVBBR0UgPSAiaHR0cDovL3RtdXguc291cmNlZm9yZ2UubmV0IgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorCitMSUNFTlNFID0gIklTQyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3RtdXguYztiZWdpbmxpbmU9MztlbmRsaW5lPTE3O21kNT04Njg1YjQ0NTUzMzBhOTQwZmFiMWZmNDUxYWE5NDFhMCIKKworREVQRU5EUyA9ICJuY3Vyc2VzIGxpYmV2ZW50IgorCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS90bXV4L3RtdXguZ2l0O2JyYW5jaD1tYXN0ZXIiCitTUkNSRVYgPz0gIjMxMGYwYTk2MGNhNjRmYTM4MDk1NDViYWRjNjI5YzBjMTY2YzZjZDIiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCitCID0gIiR7V09SS0RJUn0vYnVpbGQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1t1dGVtcHRlcl0gPSAiYWNfY3ZfaGVhZGVyX3V0ZW1wdGVyX2g9eWVzLGFjX2N2X2hlYWRlcl91dGVtcHRlcl9oPW5vLGxpYnV0ZW1wdGVyLCIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdW1sLXV0aWxpdGllcy91bWwtdXRpbGl0aWVzLTIwMDQwNDA2L2ZpeC1sZGZsYWdzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdW1sLXV0aWxpdGllcy91bWwtdXRpbGl0aWVzLTIwMDQwNDA2L2ZpeC1sZGZsYWdzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1Y2M1MzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC91bWwtdXRpbGl0aWVzL3VtbC11dGlsaXRpZXMtMjAwNDA0MDYvZml4LWxkZmxhZ3MucGF0Y2gKQEAgLTAsMCArMSwxNiBAQAorCisjCisjIFBhdGNoIG1hbmFnZWQgYnkgaHR0cDovL3d3dy5tbi1sb2dpc3Rpay5kZS91bnN1cHBvcnRlZC9weGEyNTAvcGF0Y2hlcgorIworCistLS0gdG9vbHMvbWNvbnNvbGUvTWFrZWZpbGV+Zml4LWxkZmxhZ3MJMjAwMy0wMi0wOCAwNToxMDowOC4wMDAwMDAwMDAgKzAxMDAKKysrKyB0b29scy9tY29uc29sZS9NYWtlZmlsZQkyMDA0LTA0LTAxIDE1OjM3OjM3LjAwMDAwMDAwMCArMDIwMAorQEAgLTcsNyArNyw3IEBACisgYWxsIDogJChCSU4pCisgCisgJChCSU4pIDogJChPQkpTKQorLQkkKENDKSAkKENGTEFHUykgLW8gJChCSU4pICQoT0JKUykgLWxyZWFkbGluZSAtbG5jdXJzZXMKKysJJChDQykgJChDRkxBR1MpIC1vICQoQklOKSAkKE9CSlMpICQoTERGTEFHUykgLWxyZWFkbGluZSAtbG5jdXJzZXMKKyAKKyBjbGVhbiA6IAorIAlybSAtZiAkKEJJTikgJChPQkpTKSAqfgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdW1sLXV0aWxpdGllcy91bWwtdXRpbGl0aWVzLTIwMDQwNDA2L3Vuc3RyaXAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC91bWwtdXRpbGl0aWVzL3VtbC11dGlsaXRpZXMtMjAwNDA0MDYvdW5zdHJpcC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NjgwMDFkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdW1sLXV0aWxpdGllcy91bWwtdXRpbGl0aWVzLTIwMDQwNDA2L3Vuc3RyaXAucGF0Y2gKQEAgLTAsMCArMSw4NCBAQAorRG9udCBzdHJpcCBkdXJpbmcgaW5zdGFsbCBsZXQgdGhlIHBhY2thZ2luZyBoYW5kbGUgaXQKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworSW5kZXg6IHRvb2xzL2phaWx0ZXN0L01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdG9vbHMub3JpZy9qYWlsdGVzdC9NYWtlZmlsZQkyMDAzLTAyLTA3IDIwOjEwOjI3LjAwMDAwMDAwMCAtMDgwMAorKysrIHRvb2xzL2phaWx0ZXN0L01ha2VmaWxlCTIwMTItMDktMDUgMTI6MTM6NTYuMDYxNjE1ODU0IC0wNzAwCitAQCAtMTQsNCArMTQsNCBAQAorIAorIGluc3RhbGwgOiAkKEJJTikKKyAJaW5zdGFsbCAtZCAkKERFU1RESVIpJChCSU5fRElSKQorLQlpbnN0YWxsIC1zICQoQklOKSAkKERFU1RESVIpJChCSU5fRElSKQorKwlpbnN0YWxsICQoQklOKSAkKERFU1RESVIpJChCSU5fRElSKQorSW5kZXg6IHRvb2xzL21jb25zb2xlL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdG9vbHMub3JpZy9tY29uc29sZS9NYWtlZmlsZQkyMDEyLTA5LTA1IDEyOjA1OjA5Ljg2OTYwNzA0MyAtMDcwMAorKysrIHRvb2xzL21jb25zb2xlL01ha2VmaWxlCTIwMTItMDktMDUgMTI6MTQ6MDcuNzI1NjA3NDY5IC0wNzAwCitAQCAtMTQsNCArMTQsNCBAQAorIAorIGluc3RhbGwgOiAkKEJJTikKKyAJaW5zdGFsbCAtZCAkKERFU1RESVIpJChCSU5fRElSKQorLQlpbnN0YWxsIC1zICQoQklOKSAkKERFU1RESVIpJChCSU5fRElSKQorKwlpbnN0YWxsICQoQklOKSAkKERFU1RESVIpJChCSU5fRElSKQorSW5kZXg6IHRvb2xzL21vby9NYWtlZmlsZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHRvb2xzLm9yaWcvbW9vL01ha2VmaWxlCTIwMDMtMDYtMjYgMDk6Mjc6MDAuMDAwMDAwMDAwIC0wNzAwCisrKysgdG9vbHMvbW9vL01ha2VmaWxlCTIwMTItMDktMDUgMTI6MTQ6MjAuOTgxNjA0NTgwIC0wNzAwCitAQCAtMjIsNCArMjIsNCBAQAorIAorIGluc3RhbGwgOiAkKEJJTikKKyAJaW5zdGFsbCAtZCAkKERFU1RESVIpJChCSU5fRElSKQorLQlpbnN0YWxsIC1zICQoQklOKSAkKERFU1RESVIpJChCSU5fRElSKQorKwlpbnN0YWxsICQoQklOKSAkKERFU1RESVIpJChCSU5fRElSKQorSW5kZXg6IHRvb2xzL3BvcnQtaGVscGVyL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdG9vbHMub3JpZy9wb3J0LWhlbHBlci9NYWtlZmlsZQkyMDAzLTAyLTA3IDIwOjA1OjMxLjAwMDAwMDAwMCAtMDgwMAorKysrIHRvb2xzL3BvcnQtaGVscGVyL01ha2VmaWxlCTIwMTItMDktMDUgMTI6MTQ6MzkuNDI5NjA5Njc4IC0wNzAwCitAQCAtMTQsNCArMTQsNCBAQAorIAorIGluc3RhbGwgOiAkKEJJTikKKyAJaW5zdGFsbCAtZCAkKERFU1RESVIpJChMSUJfRElSKQorLQlpbnN0YWxsIC1zICQoQklOKSAkKERFU1RESVIpJChMSUJfRElSKQorKwlpbnN0YWxsICQoQklOKSAkKERFU1RESVIpJChMSUJfRElSKQorSW5kZXg6IHRvb2xzL3R1bmN0bC9NYWtlZmlsZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHRvb2xzLm9yaWcvdHVuY3RsL01ha2VmaWxlCTIwMDMtMDItMDcgMjA6MDU6MDQuMDAwMDAwMDAwIC0wODAwCisrKysgdG9vbHMvdHVuY3RsL01ha2VmaWxlCTIwMTItMDktMDUgMTI6MTQ6NDkuOTg1NjA2NDcwIC0wNzAwCitAQCAtMTQsNCArMTQsNCBAQAorIAorIGluc3RhbGwgOiAkKEJJTikKKyAJaW5zdGFsbCAtZCAkKERFU1RESVIpJChCSU5fRElSKQorLQlpbnN0YWxsIC1zICQoQklOKSAkKERFU1RESVIpJChCSU5fRElSKQorKwlpbnN0YWxsICQoQklOKSAkKERFU1RESVIpJChCSU5fRElSKQorSW5kZXg6IHRvb2xzL3VtbF9uZXQvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB0b29scy5vcmlnL3VtbF9uZXQvTWFrZWZpbGUJMjAwMy0wMi0wNyAyMDowNDo1NS4wMDAwMDAwMDAgLTA4MDAKKysrKyB0b29scy91bWxfbmV0L01ha2VmaWxlCTIwMTItMDktMDUgMTI6MTU6MDAuOTYxNjA3MjkwIC0wNzAwCitAQCAtMjEsNCArMjEsNCBAQAorIAorIGluc3RhbGwgOiAkKEJJTikKKyAJaW5zdGFsbCAtZCAkKERFU1RESVIpJChCSU5fRElSKQorLQlpbnN0YWxsIC1zIC1tIDA0NzU1ICQoQklOKSAkKERFU1RESVIpJChCSU5fRElSKQorKwlpbnN0YWxsIC1tIDA0NzU1ICQoQklOKSAkKERFU1RESVIpJChCSU5fRElSKQorSW5kZXg6IHRvb2xzL3VtbF9yb3V0ZXIvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB0b29scy5vcmlnL3VtbF9yb3V0ZXIvTWFrZWZpbGUJMjAwMy0wMi0wNyAyMDowNDozOS4wMDAwMDAwMDAgLTA4MDAKKysrKyB0b29scy91bWxfcm91dGVyL01ha2VmaWxlCTIwMTItMDktMDUgMTI6MTU6MTAuNjQ5NjA3NTcxIC0wNzAwCitAQCAtMjAsNCArMjAsNCBAQAorIAorIGluc3RhbGwgOiAkKEJJTikKKyAJaW5zdGFsbCAtZCAkKERFU1RESVIpJChCSU5fRElSKQorLQlpbnN0YWxsIC1zICQoQklOKSAkKERFU1RESVIpJChCSU5fRElSKQorKwlpbnN0YWxsICQoQklOKSAkKERFU1RESVIpJChCSU5fRElSKQorSW5kZXg6IHRvb2xzL3dhdGNoZG9nL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdG9vbHMub3JpZy93YXRjaGRvZy9NYWtlZmlsZQkyMDAzLTAyLTA3IDIwOjA0OjI1LjAwMDAwMDAwMCAtMDgwMAorKysrIHRvb2xzL3dhdGNoZG9nL01ha2VmaWxlCTIwMTItMDktMDUgMTI6MTU6MzUuNTYxNjEyMjAzIC0wNzAwCitAQCAtMTQsNCArMTQsNCBAQAorIAorIGluc3RhbGwgOiAkKEJJTikKKyAJaW5zdGFsbCAtZCAkKERFU1RESVIpJChCSU5fRElSKQorLQlpbnN0YWxsIC1zICQoQklOKSAkKERFU1RESVIpJChCSU5fRElSKQorKwlpbnN0YWxsICQoQklOKSAkKERFU1RESVIpJChCSU5fRElSKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdW1sLXV0aWxpdGllcy91bWwtdXRpbGl0aWVzXzIwMDQwNDA2LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdW1sLXV0aWxpdGllcy91bWwtdXRpbGl0aWVzXzIwMDQwNDA2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1Y2MyZTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC91bWwtdXRpbGl0aWVzL3VtbC11dGlsaXRpZXNfMjAwNDA0MDYuYmIKQEAgLTAsMCArMSwyNiBAQAorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorU1VNTUFSWSA9ICJVdGlsaXRpZXMgZm9yIFVzZXItTW9kZS1MaW51eCIKK0xJQ0VOU0UgPSAiR1BMLTIuMCIKK0RFUEVORFMgPSAiemxpYiBuY3Vyc2VzIHJlYWRsaW5lIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDYzNmU3M2ZmMDIxNWU4ZDY3MmRjNGMzMmMzMTdiYjMiCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3Byb2plY3QvdXNlci1tb2RlLWxpbnV4L3Rvb2xzLzEvdW1sX3V0aWxpdGllc18ke1BWfS50YXIuYnoyICBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtbGRmbGFncy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly91bnN0cmlwLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICIyYzFjY2Q5ZWZhY2JmYjM5ZTQyZDQ4MmI4OWIyNTUwYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0ZjE3OWIxZGIwMjFlZjE1YWM3ZTliMmVlZDU3YzUyNWRiMTI3YTc1NGM1NzRmNTkxYzM2NzQ2MGNkZWQ5ZjQxIgorCitQUiA9ICJyMSIKKworUyA9ICIke1dPUktESVJ9L3Rvb2xzIgorCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9Cit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2V4ZWNfcHJlZml4fSR7bm9uYXJjaF9iYXNlX2xpYmRpcn0iCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7ZXhlY19wcmVmaXh9JHtub25hcmNoX2Jhc2VfbGliZGlyfS91bWwvLmRlYnVnIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvd2lwZS9maWxlcy9zdXBwb3J0LWNyb3NzLWNvbXBpbGUtZm9yLWxpbnV4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvd2lwZS9maWxlcy9zdXBwb3J0LWNyb3NzLWNvbXBpbGUtZm9yLWxpbnV4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiM2FlZTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC93aXBlL2ZpbGVzL3N1cHBvcnQtY3Jvc3MtY29tcGlsZS1mb3ItbGludXgucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorRnJvbSAzNWYxNGJkNWFiYTJlZDZjZWUyNThlMTFlYWI0MmM0MDhhZmMwNGQwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorRGF0ZTogV2VkLCA0IE5vdiAyMDE1IDAyOjI5OjA1IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIE1ha2VmaWxlOiBzdXBwb3J0IGNyb3NzIGNvbXBpbGUgZm9yIGxpbnV4CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorLS0tCisgTWFrZWZpbGUgfCA1ICsrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IDE3ZDk3NTguLjllNzRjZGYgMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC00MSw3ICs0MSw3IEBACisgIyBMaW51eCAyLjAueAorICMKKyAKKy1DQ19MSU5VWD1nY2MKKytDQ19MSU5VWD0kKENDKQorIENDT19MSU5VWD0tV2FsbCAtREhBVkVfREVWX1VSQU5ET00gLURIQVZFX09TWU5DIC1ESEFWRV9TVFJDQVNFQ01QIC1ESEFWRV9SQU5ET00gLURXRUFLX1JDNiAtRFNZTkNfV0FJVFNfRk9SX1NZTkMgLURGSU5EX0RFVklDRV9TSVpFX0JZX0JMS0dFVFNJWkUgLURTSVhUWUZPVVIgLURfX1VTRV9MQVJHRUZJTEUgLURfRklMRV9PRkZTRVRfQklUUz02NAorICMgZGVmYXVsdCBzaG91bGQgYmUgdG8gdHVybiBvZmYgZGVidWdnaW5nIGFuZCB0byB0dXJuIG9uIG9wdGltaXphdGlvbi4KKyAjQ0NPX0xJTlVYKz0tTzkgLXBpcGUgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLWZpbmxpbmUtZnVuY3Rpb25zIC1mdW5yb2xsLWxvb3BzIC1mc3RyZW5ndGgtcmVkdWNlCitAQCAtMTg1LDYgKzE4NSw3IEBAIGNsZWFuCToKKyAJCXJtIC1mIHdpcGUgJChPQkpFQ1RTKSB3aXBlLnRyLWFzYy4xIHZlcnNpb24uaAorIAorIGluc3RhbGw6CistCWluc3RhbGwgLW03NTUgLW8gcm9vdCAtZyByb290IHdpcGUgJChERVNURElSKS91c3IvYmluCisrCVsgLWUgJChERVNURElSKSQoYmluZGlyKSBdIHx8IG1rZGlyIC1wICQoREVTVERJUikkKGJpbmRpcikKKysJaW5zdGFsbCAtbTc1NSAtbyByb290IC1nIHJvb3Qgd2lwZSAkKERFU1RESVIpJChiaW5kaXIpCisgCisgLlBIT05ZOiBhbHdheXMgY2xlYW4gaW5zdGFsbAorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC93aXBlL3dpcGVfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvd2lwZS93aXBlX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MDIyOWYwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvd2lwZS93aXBlX2dpdC5iYgpAQCAtMCwwICsxLDI2IEBACitTVU1NQVJZID0gIkEgVU5JWCB0b29sIGZvciBzZWN1cmUgZGVsZXRpb24iCitERVNDUklQVElPTiA9ICJXaXBlIGlzIGEgbGl0dGxlIGNvbW1hbmQgZm9yIHNlY3VyZWx5IGVyYXNpbmcgZmlsZXMgZnJvbSBcCittYWduZXRpYyBtZWRpYS4gSXQgY29tcGlsZXMgdW5kZXIgdmFyaW91cyB1bml4IHBsYXRmb3JtcywgXAoraW5jbHVkaW5nIExpbnV4IDIuICogLCAoT3BlbiwgTmV0LCBGcmVlKUJTRCwgYWl4IDQuMSwgU3VuT1MgXAorNS41LjEsIFNvbGFyaXMgMi42LiB3aXBlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBHUEwuIFByZS1jb21waWxlZCBcCitwYWNrYWdlcyBhcmUgYXZhaWxhYmxlIG9uIG1vc3QgTGludXggZGlzdHJpYnV0aW9ucy4gXAorVW5kZXIgRGViaWFuLCB0aGUgcGFja2FnZSBuYW1lIGlzIHdpcGUiCitIT01FUEFHRSA9ICJodHRwOi8vbGFtYmRhLWRpb2RlLmNvbS9zb2Z0d2FyZS93aXBlLyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9HUEw7bWQ1PTA2MzZlNzNmZjAyMTVlOGQ2NzJkYzRjMzJjMzE3YmIzIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vYmVya2Uvd2lwZS5naXQ7YnJhbmNoPW1hc3RlciBcCisgICAgICAgICAgIGZpbGU6Ly9zdXBwb3J0LWNyb3NzLWNvbXBpbGUtZm9yLWxpbnV4LnBhdGNoIFwKKyAgICAgICAgICAiCitTUkNSRVYgPSAiZDljMTAwYzljZDBiMWNiYmU0MzU5ZTRkNmM5YTAzNWQxMWU3NTk3YyIKK1BWID0gIjAuMjMrZ2l0JHtTUkNQVn0iCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0VYVFJBX09FTUFLRSA9ICJsaW51eCIKKworZG9faW5zdGFsbCgpIHsKKwltYWtlIGluc3RhbGwgREVTVERJUj0ke0R9Cit9CisKK2RvX2NvbmZpZ3VyZVtub2V4ZWNdID0gIjEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC96cmFtL3pyYW0vaW5pdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3pyYW0venJhbS9pbml0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiNmNiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC96cmFtL3pyYW0vaW5pdApAQCAtMCwwICsxLDg1IEBACisjIS9iaW4vc2gKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6IHpyYW0KKyMgUmVxdWlyZWQtU3RhcnQ6CisjIFJlcXVpcmVkLVN0b3A6CisjIERlZmF1bHQtU3RhcnQ6IDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAwIDEgNgorIyBTaG9ydC1EZXNjcmlwdGlvbjogSW5jcmVhc2VkIFBlcmZvcm1hbmNlIEluIExpbnV4IFdpdGggelJhbSAoVmlydHVhbCBTd2FwIENvbXByZXNzZWQgaW4gUkFNKQorIyBEZXNjcmlwdGlvbjogQWRhcHRlZCBmcm9tIHN5c3RlbWQgc2NyaXB0cyBhdCBodHRwczovL2dpdGh1Yi5jb20vbXlzdGlsbGVlZi9GZWRvcmFacmFtCisjIEluY2x1ZGVkIGFzIHBhcnQgb2YgYW50aXgtZ29vZGllcyBwYWNrYWdlIGJ5IGFudGljYXBpdGFsaXN0YSA8YW50aVhAb3BlcmFtYWlsLmNvbT4KKyMgVGhpcyBzY3JpcHQgd2FzIHdyaXR0ZW4gYnkgdHJhZGV0YXhmcmVlIGFuZCBpcyBmb3VuZCBhdCBodHRwOi8vY3J1bmNoYmFuZ2xpbnV4Lm9yZy9mb3J1bXMvdG9waWMvMTUzNDQvenJhbS1hLWdvb2QtaWRlYS8KKyMgQ29weSB0aGlzIHNjcmlwdCAoYXMgcm9vdCkgZnJvbSAvdXNyL2xvY2FsL2JpbiB0byAvZXRjL2luaXQuZCBhbmQgdGhlbiAjdXBkYXRlLXJjLmQgenJhbSBkZWZhdWx0cworIyBBZnRlciBib290aW5nIHZlcmlmeSB0aGUgbW9kdWxlIGlzIGxvYWRlZCB3aXRoOiBsc21vZCB8IGdyZXAgenJhbQorIyMjIEVORCBJTklUIElORk8KK3NldCAtZQorCitzdGFydCgpIHsKKyAgICAjIGdldCB0aGUgbnVtYmVyIG9mIENQVXMKKyAgICBudW1fY3B1cz0kKGdyZXAgLWMgcHJvY2Vzc29yIC9wcm9jL2NwdWluZm8pCisgICAgIyBpZiBzb21ldGhpbmcgZ29lcyB3cm9uZywgYXNzdW1lIHdlIGhhdmUgMQorICAgIFsgIiRudW1fY3B1cyIgIT0gMCBdIHx8IG51bV9jcHVzPTEKKworICAgICMgc2V0IGRlY3JlbWVudGVkIG51bWJlciBvZiBDUFVzCisgICAgbGFzdF9jcHU9JCgobnVtX2NwdXMgLSAxKSkKKworICAgICNkZWZhdWx0IEZhY3RvciAlID0gOTAgY2hhbmdlIHRoaXMgdmFsdWUgaGVyZSBvciBjcmVhdGUgL2V0Yy9kZWZhdWx0L3pyYW0KKyAgICBGQUNUT1I9OTAKKyAgICAjJiBwdXQgdGhlIGFib3ZlIHNpbmdsZSBsaW5lIGluIC9ldGMvZGVmYXVsdC96cmFtIHdpdGggdGhlIHZhbHVlIHlvdSB3YW50CisgICAgWyAtZiAvZXRjL2RlZmF1bHQvenJhbSBdICYmIC4gL2V0Yy9kZWZhdWx0L3pyYW0gfHwgdHJ1ZQorICAgIGZhY3Rvcj0kRkFDVE9SICMgcGVyY2VudGFnZQorCisgICAgIyBnZXQgdGhlIGFtb3VudCBvZiBtZW1vcnkgaW4gdGhlIG1hY2hpbmUKKyAgICBtZW10b3RhbD0kKGdyZXAgTWVtVG90YWwgL3Byb2MvbWVtaW5mbyB8IGF3ayAnIHsgcHJpbnQgJDIgfSAnKQorICAgIG1lbV9ieV9jcHU9JCgoJG1lbXRvdGFsLyRudW1fY3B1cyokZmFjdG9yLzEwMCoxMDI0KSkKKworICAgICMgbG9hZCBkZXBlbmRlbmN5IG1vZHVsZXMKKyAgICBtb2Rwcm9iZSB6cmFtIHpyYW1fbnVtX2RldmljZXM9JG51bV9jcHVzCisgICAgZWNobyAienJhbSBkZXZpY2VzIHByb2JlZCBzdWNjZXNzZnVsbHkiCisKKyAgICAjIGluaXRpYWxpemUgdGhlIGRldmljZXMKKyAgICBmb3IgaSBpbiAkKHNlcSAwICRsYXN0X2NwdSk7IGRvCisgICAgCWVjaG8gMSA+IC9zeXMvYmxvY2svenJhbSRpL3Jlc2V0CisgICAgCWVjaG8gJG1lbV9ieV9jcHUgPiAvc3lzL2Jsb2NrL3pyYW0kaS9kaXNrc2l6ZQorICAgIAkjIENyZWF0aW5nIHN3YXAgZmlsZXN5c3RlbXMKKyAgICAJbWtzd2FwIC9kZXYvenJhbSRpCisgICAgCSMgU3dpdGNoIHRoZSBzd2FwcyBvbgorICAgIAlzd2Fwb24gLXAgMTAwIC9kZXYvenJhbSRpCisgICAgZG9uZQorfQorCitzdG9wKCkgeworICAgICMgZ2V0IHRoZSBudW1iZXIgb2YgQ1BVcworICAgIG51bV9jcHVzPSQoZ3JlcCAtYyBwcm9jZXNzb3IgL3Byb2MvY3B1aW5mbykKKworICAgICMgc2V0IGRlY3JlbWVudGVkIG51bWJlciBvZiBDUFVzCisgICAgbGFzdF9jcHU9JCgobnVtX2NwdXMgLSAxKSkKKworICAgICMgU3dpdGNoaW5nIG9mZiBzd2FwCisgICAgZm9yIGkgaW4gJChzZXEgMCAkbGFzdF9jcHUpOyBkbworICAgIAlpZiBbICIkKGdyZXAgL2Rldi96cmFtJGkgL3Byb2Mvc3dhcHMpIiAhPSAiIiBdOyB0aGVuCisgICAgCQlzd2Fwb2ZmIC9kZXYvenJhbSRpCisgICAgCQlzbGVlcCAxCisgICAgCWZpCisgICAgZG9uZQorICAgIHNsZWVwIDEKKyAgICBybW1vZCB6cmFtCit9CisKK2Nhc2UgIiQxIiBpbgorICAgIHN0YXJ0KQorICAgICAgICBzdGFydAorICAgICAgICA7OworICAgIHN0b3ApCisgICAgICAgIHN0b3AKKyAgICAgICAgOzsKKyAgICByZXN0YXJ0KQorICAgICAgICBzdG9wCisgICAgICAgIHNsZWVwIDMKKyAgICAgICAgc3RhcnQKKyAgICAgICAgOzsKKyAgICAqKQorICAgICAgICBlY2hvICJVc2FnZTogJDAge3N0YXJ0fHN0b3B8cmVzdGFydH0iCisgICAgICAgIFJFVFZBTD0xCitlc2FjCitleGl0ICRSRVRWQUwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3pyYW0venJhbS96cmFtLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC96cmFtL3pyYW0venJhbS5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhMTkzNjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC96cmFtL3pyYW0venJhbS5zZXJ2aWNlCkBAIC0wLDAgKzEsMTIgQEAKK1tVbml0XQorRGVzY3JpcHRpb249RW5hYmxlIHpyYW0gY29tcHJlc3NlZCBpbi1tZW1vcnkgc3dhcC4KK0FmdGVyPW11bHRpLXVzZXIudGFyZ2V0CisKK1tTZXJ2aWNlXQorUmVtYWluQWZ0ZXJFeGl0PXllcworRXhlY1N0YXJ0PS91c3IvYmluL3pyYW0tbG9hZC5zaCAtLWxvYWQKK0V4ZWNTdG9wPS91c3IvYmluL3pyYW0tbG9hZC5zaCAtLXVubG9hZAorVHlwZT1vbmVzaG90CisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3pyYW0venJhbV8wLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC96cmFtL3pyYW1fMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwN2Y1NzAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC96cmFtL3pyYW1fMC4xLmJiCkBAIC0wLDAgKzEsMzMgQEAKK1NVTU1BUlkgPSAiTGludXggenJhbSBjb21wcmVzc2VkIGluLW1lbW9yeSBzd2FwIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPUkVCQVNFfS9MSUNFTlNFO21kNT00ZDkyY2QzNzNhYmRhMzkzN2MyYmM0N2ZiYzQ5ZDY5MCIKKworaW5oZXJpdCB1cGRhdGUtcmMuZCBzeXN0ZW1kCisKK1JERVBFTkRTXyR7UE59ID0gInV0aWwtbGludXgtc3dhcG9ub2ZmIGttb2QiCitSUkVDT01NRU5EU18ke1BOfSA9ICJrZXJuZWwtbW9kdWxlLXpyYW0iCisKK1BSID0gInIzIgorCitTUkNfVVJJID0gIiBcCisgICAgICAgICAgIGZpbGU6Ly9pbml0IFwKKyAgICAgICAgICAgZmlsZTovL3pyYW0uc2VydmljZSBcCisiCisKK2RvX2luc3RhbGwgKCkgeworICAgICMgU3lzdmluaXQKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2luaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3pyYW0KKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS96cmFtLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KK30KKworRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfSIKK0lOSVRTQ1JJUFRfTkFNRSA9ICJ6cmFtIgorSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgMDUgMiAzIDQgNSAuIHN0b3AgMjIgMCAxIDYgLiIKKworUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJ6cmFtLnNlcnZpY2UiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC96c2gvenNoXzUuMC41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvenNoL3pzaF81LjAuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOWIyZDk1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvenNoL3pzaF81LjAuNS5iYgpAQCAtMCwwICsxLDYxIEBACitTVU1NQVJZID0gIlVOSVggU2hlbGwgc2ltaWxhciB0byB0aGUgS29ybiBzaGVsbCIKK0RFU0NSSVBUSU9OID0gIlpzaCBpcyBhIHNoZWxsIGRlc2lnbmVkIGZvciBpbnRlcmFjdGl2ZSB1c2UsIGFsdGhvdWdoIGl0IGlzIGFsc28gYSBcCisgICAgICAgICAgICAgICBwb3dlcmZ1bCBzY3JpcHRpbmcgbGFuZ3VhZ2UuIE1hbnkgb2YgdGhlIHVzZWZ1bCBmZWF0dXJlcyBvZiBiYXNoLCBcCisgICAgICAgICAgICAgICBrc2gsIGFuZCB0Y3NoIHdlcmUgaW5jb3Jwb3JhdGVkIGludG8genNoOyBtYW55IG9yaWdpbmFsIGZlYXR1cmVzIHdlcmUgYWRkZWQuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy56c2gub3JnIgorU0VDVElPTiA9ICJiYXNlL3NoZWxsIgorCitMSUNFTlNFID0gInpzaCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOQ0U7bWQ1PWI3YmM4NTM4OTQ2NjRiZTQ1NWE5MjJkYjk4MDUyODhlIgorCitERVBFTkRTID0gIm5jdXJzZXMgYmlzb24tbmF0aXZlIGxpYmNhcCBsaWJwY3JlIGdkYm0gZ3JvZmYtbmF0aXZlIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS8ke0JQTn0vJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjZmYjBlM2U1MmEwZjhkZTVjYTYzMTM4MzkxYjgxY2UwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImIzNWNmMTllNGE2YmEzOWZkMDNjNjM3MmI4YTg3NjBhNDkxY2MyZTJlNGFiYTNkMTUwMjNmZjI5MWMyODk0YjQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgdXBkYXRlLWFsdGVybmF0aXZlcworCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWJpbmRpcj0ke2Jhc2VfYmluZGlyfSBcCisgICAgLS1lbmFibGUtZXRjZGlyPSR7c3lzY29uZmRpcn0gXAorICAgIC0tZW5hYmxlLWZuZGlyPSR7ZGF0YWRpcn0vJHtQTn0vJHtQVn0vZnVuY3Rpb25zIFwKKyAgICAtLWVuYWJsZS1zaXRlLWZuZGlyPSR7ZGF0YWRpcn0vJHtQTn0vc2l0ZS1mdW5jdGlvbnMgXAorICAgIC0td2l0aC10ZXJtLWxpYj0nbmN1cnNlc3cgbmN1cnNlcycgXAorICAgIC0td2l0aC10Y3NldHBncnAgXAorICAgIC0tZW5hYmxlLWNhcCBcCisgICAgLS1lbmFibGUtbXVsdGlieXRlIFwKKyAgICAtLWRpc2FibGUtZ2RibSBcCisgICAgLS1kaXNhYmxlLWR5bmFtaWMgXAorICAgIHpzaF9jdl9zaGFyZWRfZW52aXJvbj15ZXMgXAorIgorCitFWFRSQV9PRU1BS0UgPSAiLWUgTUFLRUZMQUdTPSIKKworQUxURVJOQVRJVkVfJHtQTn0gPSAic2giCitBTFRFUk5BVElWRV9MSU5LX05BTUVbc2hdID0gIiR7YmFzZV9iaW5kaXJ9L3NoIgorQUxURVJOQVRJVkVfVEFSR0VUW3NoXSA9ICIke2Jhc2VfYmluZGlyfS8ke0JQTn0iCitBTFRFUk5BVElWRV9QUklPUklUWSA9ICIxMDAiCisKK2V4cG9ydCBBVVRPSEVBREVSID0gInRydWUiCisKK2RvX2NvbmZpZ3VyZSAoKSB7CisgICAgZ251LWNvbmZpZ2l6ZSAtLWZvcmNlICR7U30KKyAgICBvZV9ydW5jb25mCit9CisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICBybSAtZnIgJHtEfS91c3Ivc2hhcmUKK30KKworcGtnX3Bvc3RpbnN0XyR7UE59ICgpIHsKKyAgICB0b3VjaCAkRCR7c3lzY29uZmRpcn0vc2hlbGxzCisgICAgZ3JlcCAtcSAiYmluL3pzaCIgJEQke3N5c2NvbmZkaXJ9L3NoZWxscyB8fCBlY2hvIC9iaW4venNoID4+ICREJHtzeXNjb25mZGlyfS9zaGVsbHMKKyAgICBncmVwIC1xICJiaW4vc2giICREJHtzeXNjb25mZGlyfS9zaGVsbHMgfHwgZWNobyAvYmluL3NoID4+ICREJHtzeXNjb25mZGlyfS9zaGVsbHMKK30KKworRklMRVNfJHtQTn0tZGJnICs9ICJcCisgICAgJHtsaWJkaXJ9LyR7UE59LyR7UFZ9LyR7UE59Ly5kZWJ1Zy8qLnNvIFwKKyAgICAke2xpYmRpcn0vJHtQTn0vJHtQVn0vJHtQTn0vZGIvLmRlYnVnLyouc28gXAorICAgICR7bGliZGlyfS8ke1BOfS8ke1BWfS8ke1BOfS9uZXQvLmRlYnVnLyouc28gXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvYXRrL2F0a21tXzIuMjIuNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2F0ay9hdGttbV8yLjIyLjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmY1MWUzNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2F0ay9hdGttbV8yLjIyLjcuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJDKysgYmluZGluZ3MgZm9yIHRoZSBhdGsiCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEgJiBHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTJkNTAyNWQ0YWEzNDk1YmVmZWY4ZjE3MjA2YTViMGExIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcudG9vbHM7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorCitERVBFTkRTID0gImF0ayBnbGlibW0iCisKK2luaGVyaXQgZ25vbWUgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitHTk9NRV9DT01QUkVTU19UWVBFID0gInh6IgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJmZWM3ZGIzZmM0N2JhMmUwYzk1ZDEzMGVjODY1YTIzNiIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImJmYmY4NDZiNDA5YjRjNWViM2E1MmZhMzJhMTNkODY5MzYwMjE5Njk0MDZiM2RjYWZkNGRkMDVhYmQ3MGY5MWIiCisKK0VYVFJBX09FQ09ORiA9ICIgLS1kaXNhYmxlLWRvY3VtZW50YXRpb24gIgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS8qL2luY2x1ZGUgJHtsaWJkaXJ9LyovcHJvYy9tNCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2d0aysvZ3RrbW1fMi4yNC4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGttbV8yLjI0LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODA1OTVmZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2d0aysvZ3RrbW1fMi4yNC4zLmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiQysrIGJpbmRpbmdzIGZvciB0aGUgR1RLKyB0b29sa2l0IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5ndGttbS5vcmcvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xICYgR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kODA0NWYzYjhmOTI5YzFjYjI5YTFlM2ZkNzM3YjQ5OSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLnRvb2xzO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKKworREVQRU5EUyA9ICJhdGttbSBwYW5nb21tIGdsaWJtbSBndGsrIGNhaXJvbW0iCisKK2luaGVyaXQgZ25vbWUgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitHTk9NRV9DT01QUkVTU19UWVBFID0gInh6IgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI0MmZjNWEzZmVlYjMzZWE1OWI3NjYwMjAwZTJhNTQ2NSIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImM1NjRhNDM4Njc3MTc0Yjk3ZDY5ZGQ3MDQ2N2NiMDNjOTMzNDgxMDA2Mzk4ZGM5Mzc3NDE3YWE2YWJlMDJhMzkiCisKK0VYVFJBX09FQ09ORiA9ICIgLS1kaXNhYmxlLWRvY3VtZW50YXRpb24gIgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS8qL2luY2x1ZGUgJHtsaWJkaXJ9LyovcHJvYy9tNCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2d0a2V4dHJhL2ZpbGVzL3JlbW92ZS10dXRvcmlhbC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2d0a2V4dHJhL2ZpbGVzL3JlbW92ZS10dXRvcmlhbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYTRmM2Y0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvZ3RrZXh0cmEvZmlsZXMvcmVtb3ZlLXR1dG9yaWFsLnBhdGNoCkBAIC0wLDAgKzEsMTIgQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworZGlmZiAtLWdpdCBhL2RvY3MvTWFrZWZpbGUuYW0gYi9kb2NzL01ha2VmaWxlLmFtCitpbmRleCBmNTM3NWY1Li5jMzA2ZjIzIDEwMDY0NAorLS0tIGEvZG9jcy9NYWtlZmlsZS5hbQorKysrIGIvZG9jcy9NYWtlZmlsZS5hbQorQEAgLTEsNCArMSw0IEBACistU1VCRElSUyA9IHJlZmVyZW5jZSB0dXRvcmlhbAorK1NVQkRJUlMgPSByZWZlcmVuY2UKKyAKKyBFWFRSQV9ESVNUID0gXAorIAlDT1BZSU5HIFwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2d0a2V4dHJhL2d0a2V4dHJhXzMuMC41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvZ3RrZXh0cmEvZ3RrZXh0cmFfMy4wLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTI2ZWZmNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2d0a2V4dHJhL2d0a2V4dHJhXzMuMC41LmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiR3RrK0V4dHJhIGlzIGEgc2V0IG9mIGN1c3RvbSB3aWRnZXQgZm9yIHBsb3RzIGFuZCBpbWFnZXMiCitIT01FUEFHRSA9ICJodHRwOi8vZ3RrZXh0cmEuc291cmNlZm9yZ2UubmV0LyIKKworTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zYmY1MDAwMmFlZmQwMDJmNDllN2JiODU0MDYzZjdlNyIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vZ3RrZXh0cmEvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3JlbW92ZS10dXRvcmlhbC5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0ODZjZWE5MzY2NjAyMGY4NWYxMDFlZDgzNDFiYWY0MSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5Y2FiNmM1ZDZiNzkyZWI4MjhkMTdjZWMyYjljMWJhYmEyZWY1N2Y3ODlhMjkwNDY0YWZhYjgwYjUzOTY5ZTY1IgorCitERVBFTkRTID0gImd0aysiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworIyB8IC4vLmxpYnMvbGliZ3RrZXh0cmEteDExLTMuMC5zbzogZXJyb3I6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gJ3JvdW5kaW50JworUE5CTEFDS0xJU1RbZ3RrZXh0cmFdID89ICJCUk9LRU46IEZhaWxzIHRvIGJ1aWxkIHdpdGggZ2NjLTUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9ndGtodG1sMi9maWxlcy8wMDAxLXRlc3RzLW1haW4uYy1maXgtYnVpbGQtd2l0aC1nbGliLTIuMzYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9ndGtodG1sMi9maWxlcy8wMDAxLXRlc3RzLW1haW4uYy1maXgtYnVpbGQtd2l0aC1nbGliLTIuMzYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjNlYjM5NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2d0a2h0bWwyL2ZpbGVzLzAwMDEtdGVzdHMtbWFpbi5jLWZpeC1idWlsZC13aXRoLWdsaWItMi4zNi5wYXRjaApAQCAtMCwwICsxLDMyIEBACitGcm9tIDRiMTdlZWQ0Yjg1ODg1NjlkMTFlYzRiZDJiNmZhM2MwNjM4MzBlNmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBUaHUsIDE2IE1heSAyMDEzIDE4OjQ0OjUwICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIHRlc3RzL21haW4uYzogZml4IGJ1aWxkIHdpdGggZ2xpYiAyLjM2CitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogcHJvamVjdCBzZWVtcyBkZWFkCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIHRlc3RzL21haW4uYyB8ICAgIDIgKysKKyAxIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3RzL21haW4uYyBiL3Rlc3RzL21haW4uYworaW5kZXggNjFjY2U4Mi4uMTgxNjVlZCAxMDA2NDQKKy0tLSBhL3Rlc3RzL21haW4uYworKysrIGIvdGVzdHMvbWFpbi5jCitAQCAtMzAsNyArMzAsOSBAQCBtYWluIChnaW50IGFyZ2MsIGdjaGFyICoqYXJndikKKyB7CisgCUd0a1dpZGdldCAqYnJvd3NlcjsKKyAKKysjaWYgIUdMSUJfQ0hFQ0tfVkVSU0lPTiAoMiwgMzYsIDApCisgCWdfdGhyZWFkX2luaXQoTlVMTCk7CisrI2VuZGlmCisgCisgCWd0a19pbml0ICgmYXJnYywgJmFyZ3YpOworIAorLS0gCisxLjcuNi41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2d0a2h0bWwyL2d0a2h0bWwyX3N2bi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2d0a2h0bWwyL2d0a2h0bWwyX3N2bi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZDIyNTc2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvZ3RraHRtbDIvZ3RraHRtbDJfc3ZuLmJiCkBAIC0wLDAgKzEsMzkgQEAKK1NFQ1RJT04gPSAibGlicyIKK0RFUEVORFMgPSAiZ3RrKyBnbGliLTIuMCBsaWJ4bWwyIgorU1VNTUFSWSA9ICJBIEdUSysgSFRNTCByZW5kZXJpbmcgbGlicmFyeSIKK0xJQ0VOU0UgPSAiTEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTU1Y2E4MTdjY2I3ZDViNWI2NjM1NTY5MGU5YWJjNjA1IgorCitTUkNSRVYgPSAiMTE2MSIKK1BWID0gIjIuMTEuMCtzdm5yJHtTUkNQVn0iCitQUiA9ICJyNSIKKworU1JDX1VSSSA9ICJzdm46Ly9zdm4uZ25vbWUub3JnL3N2bi9ndGtodG1sMi87bW9kdWxlPXRydW5rO3Byb3RvY29sPWh0dHAgXAorICAgICAgICAgICBodHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvY2dpdC9jZ2l0LmNnaS93ZWItcGF0Y2hlcy9wbGFpbi9jc3Mtc3R5bGVzaGVldC11c2VyLnBhdGNoO3N0cmlwbGV2ZWw9MDtuYW1lPXBhdGNoMiBcCisgICAgICAgICAgIGh0dHA6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9jZ2l0L2NnaXQuY2dpL3dlYi1wYXRjaGVzL3BsYWluL2Nzcy1tZWRpYS5wYXRjaDtzdHJpcGxldmVsPTA7bmFtZT1wYXRjaDMgXAorICAgICAgICAgICBodHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvY2dpdC9jZ2l0LmNnaS93ZWItcGF0Y2hlcy9wbGFpbi9hZGQtZW5kLWVsZW1lbnQtc2lnbmFsLnBhdGNoO3N0cmlwbGV2ZWw9MDtuYW1lPXBhdGNoNCBcCisgICAgICAgICAgIGh0dHA6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9jZ2l0L2NnaXQuY2dpL3dlYi1wYXRjaGVzL3BsYWluL2FkZC1kb20tZnVuY3Rpb25zLnBhdGNoO3N0cmlwbGV2ZWw9MDtuYW1lPXBhdGNoNSBcCisgICAgICAgICAgIGh0dHA6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9jZ2l0L2NnaXQuY2dpL3dlYi1wYXRjaGVzL3BsYWluL2lhaW4tbWVtLWxlYWsucGF0Y2g7c3RyaXBsZXZlbD0wO25hbWU9cGF0Y2g2IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtdGVzdHMtbWFpbi5jLWZpeC1idWlsZC13aXRoLWdsaWItMi4zNi5wYXRjaCBcCisiCisKK1NSQ19VUklbcGF0Y2gyLm1kNXN1bV0gPSAiMDVmYzM2MjdjYTM2NDA5NTcwMmRjODA0ZjQxYzgzOTEiCitTUkNfVVJJW3BhdGNoMi5zaGEyNTZzdW1dID0gImRmNWNjYTUwYThmOTUzMzM1MDVkNzkyMDkyOWZlYTI1MWRhZWEzYmUyNWJlNjgzNGExYzUwYTc0MmQ5ZWI2NzQiCisKK1NSQ19VUklbcGF0Y2gzLm1kNXN1bV0gPSAiZDNmZTRjZGEzNTQ1ZjNlNDcxOGYxYWNjMTg2NjA4YWIiCitTUkNfVVJJW3BhdGNoMy5zaGEyNTZzdW1dID0gIjNhZWZhYTE3ZmZhMzgxNDNiZjVkZjExNjFjNTFhYjQwMmQzNWJmYmVlNDFhYjQ2NDNjMzEzZWRmNTY5MTY1ZDUiCisKK1NSQ19VUklbcGF0Y2g0Lm1kNXN1bV0gPSAiNjUxYjE2MDFkOGExYjIxYzhhMzA0MGZhZGI3MjkwNDMiCitTUkNfVVJJW3BhdGNoNC5zaGEyNTZzdW1dID0gImQwNjdlODMzMWJmOWM2ODUxZjFjNjA2N2Q5OTFhN2Y1NDMyN2Y1MzI5MDBiNDA1ZWJkZjhlMTQ5YzA3MWYzODEiCisKK1NSQ19VUklbcGF0Y2g1Lm1kNXN1bV0gPSAiMDQxYmU5NzExYTE2ZTYyOWQwMTQ4NzY2NGJhOTcxNTIiCitTUkNfVVJJW3BhdGNoNS5zaGEyNTZzdW1dID0gIjQyOTU2ZmI0MTM0MWNmODJhZThiY2UxOGI0Y2Y5NmE3ZTJhYTYzMWIxYjYwNjU3YWZiNmQ3ZTliZTdjZDEzOGMiCisKK1NSQ19VUklbcGF0Y2g2Lm1kNXN1bV0gPSAiNGUxMWRjNzg5OWQ2OGYyYmUyZTA2Y2NlZTAxZDI5NmQiCitTUkNfVVJJW3BhdGNoNi5zaGEyNTZzdW1dID0gIjFlMmNjMDgwZTY1NGMxODM5YzVjYjRiNGFkZjRjNjJhMjNlN2RhMjA4NDI3ZjNiYTBiMTZjZmVkOWU1Y2ZhOTgiCisKK1MgPSAiJHtXT1JLRElSfS90cnVuayIKKworaW5oZXJpdCBwa2djb25maWcgYXV0b3Rvb2xzCisKK0VYVFJBX09FQ09ORiA9ICIgLS1kaXNhYmxlLWFjY2Vzc2liaWxpdHkiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9saWJ1bmlxdWUvbGlidW5pcXVlLzAwMDEtTWFrZWZpbGUuYW0tdXNlLUxJQlRPT0wtaW5zdGVhZC1vZi1oYXJkY29kZWQtbGlidG9vbC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2xpYnVuaXF1ZS9saWJ1bmlxdWUvMDAwMS1NYWtlZmlsZS5hbS11c2UtTElCVE9PTC1pbnN0ZWFkLW9mLWhhcmRjb2RlZC1saWJ0b29sLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiNWVkYTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9saWJ1bmlxdWUvbGlidW5pcXVlLzAwMDEtTWFrZWZpbGUuYW0tdXNlLUxJQlRPT0wtaW5zdGVhZC1vZi1oYXJkY29kZWQtbGlidG9vbC5wYXRjaApAQCAtMCwwICsxLDI3IEBACitGcm9tIGYzOWJjZDVhZjc5YWEzZWZlMmNlY2IyMjEyNzkzYzViNTk2ODkwYTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMTggRmViIDIwMTYgMTc6NDA6NDUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gTWFrZWZpbGUuYW06IHVzZSAkKExJQlRPT0wpIGluc3RlYWQgb2YgaGFyZGNvZGVkIGxpYnRvb2wgbmFtZQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgdW5pcXVlL01ha2VmaWxlLmFtIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvdW5pcXVlL01ha2VmaWxlLmFtIGIvdW5pcXVlL01ha2VmaWxlLmFtCitpbmRleCA2NDc1YTg3Li43MzRmNDMxIDEwMDY0NAorLS0tIGEvdW5pcXVlL01ha2VmaWxlLmFtCisrKysgYi91bmlxdWUvTWFrZWZpbGUuYW0KK0BAIC0xMTQsNyArMTE0LDcgQEAgVW5pcXVlLTEuMC5naXI6ICQoSU5UUk9TUEVDVElPTl9TQ0FOTkVSKSBsaWJ1bmlxdWUtMS4wLmxhCisgCQktLWluY2x1ZGU9R09iamVjdC0yLjAgXAorIAkJLS1pbmNsdWRlPUd0ay0yLjAgXAorIAkJLS1saWJyYXJ5PWxpYnVuaXF1ZS0xLjAubGEgXAorLQkJLS1saWJ0b29sPSIkKHRvcF9idWlsZGRpcikvbGlidG9vbCIgXAorKwkJLS1saWJ0b29sPSIkKExJQlRPT0wpIiBcCisgCQktLXBrZyBnb2JqZWN0LTIuMCBcCisgCQktLXBrZyBndGsrLTIuMCBcCisgCQktLW91dHB1dCAkQCBcCistLSAKKzIuNy4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2xpYnVuaXF1ZS9saWJ1bmlxdWUvYnVpbGQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9saWJ1bmlxdWUvbGlidW5pcXVlL2J1aWxkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2YTVjNjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9saWJ1bmlxdWUvbGlidW5pcXVlL2J1aWxkLnBhdGNoCkBAIC0wLDAgKzEsNDIxIEBACitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwOi8vZ2l0Lmdub21lLm9yZy9icm93c2UvdW5pcXVlL2NvbW1pdC8/aD11bmlxdWUtMS4xJmlkPWY3NWNhMmQ3YWFkN2QyNzY4NmFjY2E2MDkwYzFjNTY5YTc5ZDdlNjNdCitTaWduZWQtb2ZmLUJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitGcm9tIGY3NWNhMmQ3YWFkN2QyNzY4NmFjY2E2MDkwYzFjNTY5YTc5ZDdlNjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBFbW1hbnVlbGUgQmFzc2kgPGViYXNzaUBnbm9tZS5vcmc+CitEYXRlOiBTYXQsIDA4IE1heSAyMDEwIDExOjE3OjIxICswMDAwCitTdWJqZWN0OiBidWlsZDogVXBkYXRlIHRoZSBidWlsZCBlbnZpcm9ubWVudAorCitSZXF1aXJlIGF1dG9jb25mIDIuNjMsIGF1dG9tYWtlIDEuMTEgYW5kIGxpYnRvb2wgMi4yLjYgdG8gcmVtb3ZlIFNoYXZlLgorCitBbHNvIGJ1bXAgdXAgdGhlIHJlcXVpcmVtZW50IGZvciBnb2JqZWN0LWludHJvc3BlY3Rpb24gdG8gMC42LjcuCistLS0KK2RpZmYgLS1naXQgYS9idWlsZC9hdXRvdG9vbHMvTWFrZWZpbGUuYW0gYi9idWlsZC9hdXRvdG9vbHMvTWFrZWZpbGUuYW0KK2luZGV4IDVmMzViODUuLmI3ODQyOGYgMTAwNjQ0CistLS0gYS9idWlsZC9hdXRvdG9vbHMvTWFrZWZpbGUuYW0KKysrKyBiL2J1aWxkL2F1dG90b29scy9NYWtlZmlsZS5hbQorQEAgLTEsNyArMSw0IEBACisgRVhUUkFfRElTVCA9IFwKKy0Jc2hhdmUtbGlidG9vbC5pbiAJXAorLQlzaGF2ZS5pbiAJCVwKKy0Jc2hhdmUubTQgCQlcCisgCWFzLWNvbXBpbGVyLWZsYWcubTQJXAorIAlpbnRyb3NwZWN0aW9uLm00CVwKKyAJTWFrZWZpbGUuYW0uZW51bXMJXAorZGlmZiAtLWdpdCBhL2J1aWxkL2F1dG90b29scy9NYWtlZmlsZS5hbS5zaWxlbnQgYi9idWlsZC9hdXRvdG9vbHMvTWFrZWZpbGUuYW0uc2lsZW50CitpbmRleCAyNDlmNmFmLi44NTc2ODQ2IDEwMDY0NAorLS0tIGEvYnVpbGQvYXV0b3Rvb2xzL01ha2VmaWxlLmFtLnNpbGVudAorKysrIGIvYnVpbGQvYXV0b3Rvb2xzL01ha2VmaWxlLmFtLnNpbGVudAorQEAgLTEsMTAgKzEsNSBAQAorICMgY3VzdG9tIHJ1bGVzIGZvciBxdWlldCBidWlsZHMKKyAKKy1pZiBVU0VfU0hBVkUKKy1RVUlFVF9HRU4gPSAkKFE6QD1AZWNobyAnICBHRU4gICAnJEA7KQorLVFVSUVUX0xOICA9ICQoUTpAPUBlY2hvICcgIExOICAgICckQDspCistUVVJRVRfUk0gID0gJChROkA9QGVjaG8gJyAgUk0gICAgJyRAOykKKy1lbHNlCisgUVVJRVRfR0VOID0gJChBTV9WX0dFTikKKyAKKyBRVUlFVF9MTiAgID0gJChRVUlFVF9MTl8kKFYpKQorQEAgLTE0LDQgKzksMyBAQCBRVUlFVF9MTl8wID0gQGVjaG8gJyAgTE4gICAgICckQDsKKyBRVUlFVF9STSAgID0gJChRVUlFVF9STV8kKFYpKQorIFFVSUVUX1JNXyAgPSAkKFFVSUVUX1JNXyQoQU1fREVGQVVMVF9WRVJCT1NJVFkpKQorIFFVSUVUX1JNXzAgPSBAZWNobyAnICBSTSAgICAgJyRAOworLWVuZGlmICMgVVNFX1NIQVZFCitkaWZmIC0tZ2l0IGEvYnVpbGQvYXV0b3Rvb2xzL2ludHJvc3BlY3Rpb24ubTQgYi9idWlsZC9hdXRvdG9vbHMvaW50cm9zcGVjdGlvbi5tNAoraW5kZXggZjljZTQ5Yy4uNTg5NzIxYyAxMDA2NDQKKy0tLSBhL2J1aWxkL2F1dG90b29scy9pbnRyb3NwZWN0aW9uLm00CisrKysgYi9idWlsZC9hdXRvdG9vbHMvaW50cm9zcGVjdGlvbi5tNAorQEAgLTU5LDEyICs1OSwxOCBAQCBtNF9kZWZpbmUoW19HT0JKRUNUX0lOVFJPU1BFQ1RJT05fQ0hFQ0tfSU5URVJOQUxdLAorICAgICAgICBJTlRST1NQRUNUSU9OX0dFTkVSQVRFPWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPWdfaXJfZ2VuZXJhdGUgZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMGAKKyAgICAgICAgSU5UUk9TUEVDVElPTl9HSVJESVI9YCRQS0dfQ09ORklHIC0tdmFyaWFibGU9Z2lyZGlyIGdvYmplY3QtaW50cm9zcGVjdGlvbi0xLjBgCisgICAgICAgIElOVFJPU1BFQ1RJT05fVFlQRUxJQkRJUj0iJCgkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPXR5cGVsaWJkaXIgZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMCkiCisrICAgICAgIElOVFJPU1BFQ1RJT05fQ0ZMQUdTPWAkUEtHX0NPTkZJRyAtLWNmbGFncyBnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wYAorKyAgICAgICBJTlRST1NQRUNUSU9OX0xJQlM9YCRQS0dfQ09ORklHIC0tbGlicyBnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wYAorKyAgICAgICBJTlRST1NQRUNUSU9OX01BS0VGSUxFPWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPWRhdGFkaXIgZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMGAvZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMC9NYWtlZmlsZS5pbnRyb3NwZWN0aW9uCisgICAgIGZpCisgICAgIEFDX1NVQlNUKElOVFJPU1BFQ1RJT05fU0NBTk5FUikKKyAgICAgQUNfU1VCU1QoSU5UUk9TUEVDVElPTl9DT01QSUxFUikKKyAgICAgQUNfU1VCU1QoSU5UUk9TUEVDVElPTl9HRU5FUkFURSkKKyAgICAgQUNfU1VCU1QoSU5UUk9TUEVDVElPTl9HSVJESVIpCisgICAgIEFDX1NVQlNUKElOVFJPU1BFQ1RJT05fVFlQRUxJQkRJUikKKysgICAgQUNfU1VCU1QoSU5UUk9TUEVDVElPTl9DRkxBR1MpCisrICAgIEFDX1NVQlNUKElOVFJPU1BFQ1RJT05fTElCUykKKysgICAgQUNfU1VCU1QoSU5UUk9TUEVDVElPTl9NQUtFRklMRSkKKyAKKyAgICAgQU1fQ09ORElUSU9OQUwoSEFWRV9JTlRST1NQRUNUSU9OLCB0ZXN0ICJ4JGZvdW5kX2ludHJvc3BlY3Rpb24iID0gInh5ZXMiKQorIF0pCitkaWZmIC0tZ2l0IGEvYnVpbGQvYXV0b3Rvb2xzL3NoYXZlLWxpYnRvb2wuaW4gYi9idWlsZC9hdXRvdG9vbHMvc2hhdmUtbGlidG9vbC5pbgorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAxZjNhNzIwLi4wMDAwMDAwCistLS0gYS9idWlsZC9hdXRvdG9vbHMvc2hhdmUtbGlidG9vbC5pbgorKysrIGIvZGV2L251bGwKK0BAIC0xLDY5ICswLDAgQEAKKy0jIS9iaW4vc2gKKy0KKy0jIHdlIG5lZWQgc2VkCistU0VEPUBTRURACistaWYgdGVzdCAteiAiJFNFRCIgOyB0aGVuCistU0VEPXNlZAorLWZpCistCistbHRfdW5tYW5nbGUgKCkKKy17CistICAgbGFzdF9yZXN1bHQ9YGVjaG8gJDEgfCAkU0VEIC1lICdzIy5saWJzLyMjJyAtZSAncyNbMC05YS16QS1aX1wtXC5dKl9sYS0jIydgCistfQorLQorLSMgdGhlIHJlYWwgbGlidG9vbCB0byB1c2UKKy1MSUJUT09MPSIkMSIKKy1zaGlmdAorLQorLSMgaWYgMSwgZG9uJ3QgcHJpbnQgYW55dGhpbmcsIHRoZSB1bmRlcmxheWluZyB3cmFwcGVyIHdpbGwgZG8gaXQKKy1wYXNzX3Rob3VnaD0wCistCistIyBzY2FuIHRoZSBhcmd1bWVudHMsIGtlZXAgdGhlIHJpZ2h0IG9uZXMgZm9yIGxpYnRvb2wsIGFuZCBkaXNjb3ZlciB0aGUgbW9kZQorLXByZXNlcnZlZF9hcmdzPQorLXdoaWxlIHRlc3QgIiQjIiAtZ3QgMDsgZG8KKy0gICAgb3B0PSIkMSIKKy0gICAgc2hpZnQKKy0KKy0gICAgY2FzZSAkb3B0IGluCistICAgIC0tbW9kZT0qKQorLSAgICAgICAgbW9kZT1gZWNobyAkb3B0IHwgJFNFRCAtZSAncy9bLV9hLXpBLVowLTldKj0vLydgCistICAgICAgICBwcmVzZXJ2ZWRfYXJncz0iJHByZXNlcnZlZF9hcmdzICRvcHQiCistICAgICAgICA7OworLSAgICAtbykKKy0gICAgICAgIGx0X291dHB1dD0iJDEiCistICAgICAgICBwcmVzZXJ2ZWRfYXJncz0iJHByZXNlcnZlZF9hcmdzICRvcHQiCistCTs7CistICAgICopCistICAgICAgICBwcmVzZXJ2ZWRfYXJncz0iJHByZXNlcnZlZF9hcmdzICRvcHQiCistICAgICAgICA7OworLSAgICAgIGVzYWMKKy1kb25lCistCistY2FzZSAiJG1vZGUiIGluCistY29tcGlsZSkKKy0gICAgIyBzaGF2ZSB3aWxsIGJlIGNhbGxlZCBhbmQgcHJpbnQgdGhlIGFjdHVhbCBDQy9DWFgvTElOSyBsaW5lCistICAgIHByZXNlcnZlZF9hcmdzPSIkcHJlc2VydmVkX2FyZ3MgLS1zaGF2ZS1tb2RlPSRtb2RlIgorLSAgICBwYXNzX3Rob3VnaD0xCistICAgIDs7CistbGluaykKKy0gICAgcHJlc2VydmVkX2FyZ3M9IiRwcmVzZXJ2ZWRfYXJncyAtLXNoYXZlLW1vZGU9JG1vZGUiCistICAgIFE9IiAgTElOSyAgIgorLSAgICA7OworLSopCistICAgICMgbGV0J3MgdQorLSAgICAjIGVjaG8gIioqKiBsaWJ0b29sOiBVbmltcGxlbWVudGVkIG1vZGU6ICRtb2RlLCBmaWxsIGEgYnVnIHJlcG9ydCIKKy0gICAgOzsKKy1lc2FjCistCistbHRfdW5tYW5nbGUgIiRsdF9vdXRwdXQiCistb3V0cHV0PSRsYXN0X3Jlc3VsdAorLQorLWlmIHRlc3QgLXogJFY7IHRoZW4KKy0gICAgaWYgdGVzdCAkcGFzc190aG91Z2ggLWVxIDA7IHRoZW4KKy0gICAgICAgIGVjaG8gIiRRJG91dHB1dCIKKy0gICAgZmkKKy0gICAgJExJQlRPT0wgLS1zaWxlbnQgJHByZXNlcnZlZF9hcmdzCistZWxzZQorLSAgICBlY2hvICRMSUJUT09MICRwcmVzZXJ2ZWRfYXJncworLSAgICAkTElCVE9PTCAkcHJlc2VydmVkX2FyZ3MKKy1maQorZGlmZiAtLWdpdCBhL2J1aWxkL2F1dG90b29scy9zaGF2ZS5pbiBiL2J1aWxkL2F1dG90b29scy9zaGF2ZS5pbgorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCA1YzE2ZjI3Li4wMDAwMDAwCistLS0gYS9idWlsZC9hdXRvdG9vbHMvc2hhdmUuaW4KKysrKyBiL2Rldi9udWxsCitAQCAtMSw3OSArMCwwIEBACistIyEvYmluL3NoCistCistIyB3ZSBuZWVkIHNlZAorLVNFRD1AU0VEQAorLWlmIHRlc3QgLXogIiRTRUQiIDsgdGhlbgorLVNFRD1zZWQKKy1maQorLQorLWx0X3VubWFuZ2xlICgpCisteworLSAgIGxhc3RfcmVzdWx0PWBlY2hvICQxIHwgJFNFRCAtZSAncyMubGlicy8jIycgLWUgJ3MjWzAtOWEtekEtWl9cLVwuXSpfbGEtIyMnYAorLX0KKy0KKy0jIHRoZSB0b29sIHRvIHdyYXAgKGNjLCBjeHgsIGFyLCByYW5saWIsIC4uKQorLXRvb2w9IiQxIgorLXNoaWZ0CistCistIyB0aGUgcmVlbCB0b29sICh0byBjYWxsKQorLVJFRUxfVE9PTD0iJDEiCistc2hpZnQKKy0KKy1wYXNzX3Rocm91Z2g9MAorLXByZXNlcnZlZF9hcmdzPQorLXdoaWxlIHRlc3QgIiQjIiAtZ3QgMDsgZG8KKy0gICAgb3B0PSIkMSIKKy0gICAgc2hpZnQKKy0KKy0gICAgY2FzZSAkb3B0IGluCistICAgIC0tc2hhdmUtbW9kZT0qKQorLSAgICAgICAgbW9kZT1gZWNobyAkb3B0IHwgJFNFRCAtZSAncy9bLV9hLXpBLVowLTldKj0vLydgCistCTs7CistICAgIC1vKQorLSAgICAgICAgbHRfb3V0cHV0PSIkMSIKKy0gICAgICAgIHByZXNlcnZlZF9hcmdzPSIkcHJlc2VydmVkX2FyZ3MgJG9wdCIKKy0JOzsKKy0gICAgKikKKy0gICAgICAgIHByZXNlcnZlZF9hcmdzPSIkcHJlc2VydmVkX2FyZ3MgJG9wdCIKKy0gICAgICAgIDs7CistICAgICAgZXNhYworLWRvbmUKKy0KKy0jIG1vZGU9bGluayBpcyBoYW5kbGVkIGluIHRoZSBsaWJ0b29sIHdyYXBwZXIKKy1jYXNlICIkbW9kZSwkdG9vbCIgaW4KKy1saW5rLCopCistICAgIHBhc3NfdGhyb3VnaD0xCistICAgIDs7CistKixjeHgpCistICAgIFE9IiAgQ1hYICAgIgorLSAgICA7OworLSosY2MpCistICAgIFE9IiAgQ0MgICAgIgorLSAgICA7OworLSosZmMpCistICAgIFE9IiAgRkMgICAgIgorLSAgICA7OworLSosZjc3KQorLSAgICBRPSIgIEY3NyAgICIKKy0gICAgOzsKKy0qLG9iamMpCistICAgIFE9IiAgT0JKQyAgICIKKy0gICAgOzsKKy0qLCopCistICAgICMgc2hvdWxkIG5vdCBoYXBwZW4KKy0gICAgUT0iICBDQyAgICAiCistICAgIDs7CistZXNhYworLQorLWx0X3VubWFuZ2xlICIkbHRfb3V0cHV0IgorLW91dHB1dD0kbGFzdF9yZXN1bHQKKy0KKy1pZiB0ZXN0IC16ICRWOyB0aGVuCistICAgIGlmIHRlc3QgJHBhc3NfdGhyb3VnaCAtZXEgMDsgdGhlbgorLSAgICAgICAgZWNobyAiJFEkb3V0cHV0IgorLSAgICBmaQorLSAgICAkUkVFTF9UT09MICRwcmVzZXJ2ZWRfYXJncworLWVsc2UKKy0gICAgZWNobyAkUkVFTF9UT09MICRwcmVzZXJ2ZWRfYXJncworLSAgICAkUkVFTF9UT09MICRwcmVzZXJ2ZWRfYXJncworLWZpCitkaWZmIC0tZ2l0IGEvYnVpbGQvYXV0b3Rvb2xzL3NoYXZlLm00IGIvYnVpbGQvYXV0b3Rvb2xzL3NoYXZlLm00CitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDBhMzUwOWUuLjAwMDAwMDAKKy0tLSBhL2J1aWxkL2F1dG90b29scy9zaGF2ZS5tNAorKysrIGIvZGV2L251bGwKK0BAIC0xLDc3ICswLDAgQEAKKy1kbmwgTWFrZSBhdXRvbWFrZS9saWJ0b29sIG91dHB1dCBtb3JlIGZyaWVuZGx5IHRvIGh1bWFucworLWRubCAgRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGdtYWlsLmNvbT4KKy1kbmwKKy1kbmwgU0hBVkVfSU5JVChbc2hhdmVkaXJdLFtkZWZhdWx0X21vZGVdKQorLWRubAorLWRubCBzaGF2ZWRpcjogdGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgc2hhdmUgc2NyaXB0cyBhcmUsIGl0IGRlZmF1bHRzIHRvCistZG5sICAgICAgICAgICAkKHRvcF9idWlsZGRpcikKKy1kbmwgZGVmYXVsdF9tb2RlOiAoZW5hYmxlfGRpc2FibGUpIGRlZmF1bHQgc2hhdmUgbW9kZS4gIFRoaXMgcGFyYW1ldGVyCistZG5sICAgICAgICAgICAgICAgY29udHJvbHMgc2hhdmUncyBiZWhhdmlvdXIgd2hlbiBubyBvcHRpb24gaGFzIGJlZW4KKy1kbmwgICAgICAgICAgICAgICBnaXZlbiB0byBjb25maWd1cmUuICBJdCBkZWZhdWx0cyB0byBkaXNhYmxlLgorLWRubAorLWRubCAqIFNIQVZFX0lOSVQgc2hvdWxkIGJlIGNhbGxlZCBsYXRlIGluIHlvdXIgY29uZmlndXJlLihhY3xpbikgZmlsZSAoanVzdAorLWRubCAgIGJlZm9yZSBBQ19DT05GSUdfRklMRS9BQ19PVVRQVVQgaXMgcGVyZmVjdC4gIFRoaXMgbWFjcm8gcmV3cml0ZXMgQ0MgYW5kCistZG5sICAgTElCVE9PTCwgeW91IGRvbid0IHdhbnQgdGhlIGNvbmZpZ3VyZSB0ZXN0cyB0byBoYXZlIHRoZXNlIHZhcmlhYmxlcworLWRubCAgIHJlLWRlZmluZWQuCistZG5sICogVGhpcyBtYWNybyByZXF1aXJlcyBHTlUgbWFrZSdzIC1zIG9wdGlvbi4KKy0KKy1BQ19ERUZVTihbX1NIQVZFX0FSR19FTkFCTEVdLAorLVsKKy0gIEFDX0FSR19FTkFCTEUoW3NoYXZlXSwKKy0gICAgQVNfSEVMUF9TVFJJTkcoCistICAgICAgWy0tZW5hYmxlLXNoYXZlXSwKKy0gICAgICBbdXNlIHNoYXZlIHRvIG1ha2UgdGhlIGJ1aWxkIHByZXR0eSBbW2RlZmF1bHQ9JDFdXV0pLCwKKy0gICAgICBbZW5hYmxlX3NoYXZlPSQxXQorLSAgICApCistXSkKKy0KKy1BQ19ERUZVTihbU0hBVkVfSU5JVF0sCistWworLSAgZG5sIHlvdSBjYW4gdHdlYWsgdGhlIGRlZmF1bHQgdmFsdWUgb2YgZW5hYmxlX3NoYXZlCistICBtNF9pZihbJDJdLCBbZW5hYmxlXSwgW19TSEFWRV9BUkdfRU5BQkxFKHllcyldLCBbX1NIQVZFX0FSR19FTkFCTEUobm8pXSkKKy0KKy0gIGlmIHRlc3QgeCIkZW5hYmxlX3NoYXZlIiA9IHh5ZXM7IHRoZW4KKy0gICAgZG5sIHdoZXJlIGNhbiB3ZSBmaW5kIHRoZSBzaGF2ZSBzY3JpcHRzPworLSAgICBtNF9pZihbJDFdLCwKKy0gICAgICBbc2hhdmVkaXI9IiRhY19wd2QiXSwKKy0gICAgICBbc2hhdmVkaXI9IiRhY19wd2QvJDEiXSkKKy0gICAgQUNfU1VCU1Qoc2hhdmVkaXIpCistCistICAgIGRubCBtYWtlIGlzIG5vdyBxdWlldAorLSAgICBBQ19TVUJTVChbTUFLRUZMQUdTXSwgWy1zXSkKKy0gICAgQUNfU1VCU1QoW0FNX01BS0VGTEFHU10sIFsnYHRlc3QgLXogJFYgJiYgZWNobyAtc2AnXSkKKy0KKy0gICAgZG5sIHdlIG5lZWQgc2VkCistICAgIEFDX0NIRUNLX1BST0coU0VELHNlZCxzZWQsZmFsc2UpCistCistICAgIGRubCBzdWJzdGl0dXRlIGxpYnRvb2wKKy0gICAgU0hBVkVfU0FWRURfTElCVE9PTD0kTElCVE9PTAorLSAgICBMSUJUT09MPSIke1NIRUxMfSAke3NoYXZlZGlyfS9zaGF2ZS1saWJ0b29sICcke1NIQVZFX1NBVkVEX0xJQlRPT0x9JyIKKy0gICAgQUNfU1VCU1QoTElCVE9PTCkKKy0KKy0gICAgZG5sIHN1YnN0aXR1dGUgY2MvY3h4CistICAgIFNIQVZFX1NBVkVEX0NDPSRDQworLSAgICBTSEFWRV9TQVZFRF9DWFg9JENYWAorLSAgICBTSEFWRV9TQVZFRF9GQz0kRkMKKy0gICAgU0hBVkVfU0FWRURfRjc3PSRGNzcKKy0gICAgU0hBVkVfU0FWRURfT0JKQz0kT0JKQworLSAgICBDQz0iJHtTSEVMTH0gJHtzaGF2ZWRpcn0vc2hhdmUgY2MgJHtTSEFWRV9TQVZFRF9DQ30iCistICAgIENYWD0iJHtTSEVMTH0gJHtzaGF2ZWRpcn0vc2hhdmUgY3h4ICR7U0hBVkVfU0FWRURfQ1hYfSIKKy0gICAgRkM9IiR7U0hFTEx9ICR7c2hhdmVkaXJ9L3NoYXZlIGZjICR7U0hBVkVfU0FWRURfRkN9IgorLSAgICBGNzc9IiR7U0hFTEx9ICR7c2hhdmVkaXJ9L3NoYXZlIGY3NyAke1NIQVZFX1NBVkVEX0Y3N30iCistICAgIE9CSkM9IiR7U0hFTEx9ICR7c2hhdmVkaXJ9L3NoYXZlIG9iamMgJHtTSEFWRV9TQVZFRF9PQkpDfSIKKy0gICAgQUNfU1VCU1QoQ0MpCistICAgIEFDX1NVQlNUKENYWCkKKy0gICAgQUNfU1VCU1QoRkMpCistICAgIEFDX1NVQlNUKEY3NykKKy0gICAgQUNfU1VCU1QoT0JKQykKKy0KKy0gICAgVj1ACistICBlbHNlCistICAgIFY9MQorLSAgZmkKKy0gIFE9JyQoVjoxPSknCistICBBQ19TVUJTVChWKQorLSAgQUNfU1VCU1QoUSkKKy1dKQorLQorZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggYTNlZDNlZS4uYmMzMTYzYSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMTQsNyArMTQsNyBAQCBtNF9kZWZpbmUoW3VuaXF1ZV9hcGlfdmVyc2lvbl0sIFsxLjBdKQorICMgVGhpcyBpcyB0aGUgWC5ZIHVzZWQgaW4gdGhlIHByb3RvY29sIG5lZ290aWF0aW9uCisgbTRfZGVmaW5lKFt1bmlxdWVfcHJvdG9jb2xfdmVyc2lvbl0sIFsxLjBdKQorIAorLUFDX1BSRVJFUShbMi41OV0pCisrQUNfUFJFUkVRKFsyLjYzXSkKKyAKKyBBQ19JTklUKFt1bmlxdWVdLCBbdW5pcXVlX3ZlcnNpb25dLAorICAgICAgICAgW2h0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWxpYnVuaXF1ZV0sCitAQCAtMjMsOSArMjMsMjEgQEAgQUNfSU5JVChbdW5pcXVlXSwgW3VuaXF1ZV92ZXJzaW9uXSwKKyBBQ19DT05GSUdfU1JDRElSKFt1bmlxdWUvdW5pcXVlLmhdKQorIEFDX0NPTkZJR19NQUNST19ESVIoW2J1aWxkL2F1dG90b29sc10pCisgCistQU1fSU5JVF9BVVRPTUFLRShbMS4xMF0pCisrQU1fSU5JVF9BVVRPTUFLRShbMS4xMSBuby1kZWZpbmUgLVduby1wb3J0YWJpbGl0eSBkaXN0LWJ6aXAyXSkKKyBBTV9DT05GSUdfSEVBREVSKFtjb25maWcuaF0pCisgCisrQU1fU0lMRU5UX1JVTEVTKFt5ZXNdKQorKworK0FDX1BST0dfQ0NfQ19PCisrCisrQU1fUEFUSF9HTElCXzJfMAorKworK0xUX1BSRVJFUShbMi4yLjZdKQorK0xUX0lOSVQoW2Rpc2FibGUtc3RhdGljXSkKKysKKysjIEhvbm9yIGFjbG9jYWwgZmxhZ3MKKytBQ0xPQ0FMPSIkQUNMT0NBTCAkQUNMT0NBTF9GTEFHUyIKKysKKyAjIHZlcnNpb24gc3ltYm9scworIFVOSVFVRV9NQUpPUl9WRVJTSU9OPXVuaXF1ZV9tYWpvcl92ZXJzaW9uCisgVU5JUVVFX01JTk9SX1ZFUlNJT049dW5pcXVlX21pbm9yX3ZlcnNpb24KK0BAIC00OSwyMSArNjEsNiBAQCBVTklRVUVfTFRfQ1VSUkVOVF9NSU5VU19BR0U9bTRfZXZhbChsdF9jdXJyZW50IC0gbHRfYWdlKQorIEFDX1NVQlNUKFVOSVFVRV9MVF9WRVJTSU9OX0lORk8pCisgQUNfU1VCU1QoVU5JUVVFX0xUX0NVUlJFTlRfTUlOVVNfQUdFKQorIAorLUFDX0lTQ19QT1NJWAorLUFDX1BST0dfQ0MKKy1BQ19QUk9HX0lOU1RBTEwKKy1BQ19QUk9HX01BS0VfU0VUCistQUNfQ19DT05TVAorLUFDX1BST0dfTElCVE9PTAorLUFDX1BBVEhfUFJPRyhHTElCX01LRU5VTVMsIFtnbGliLW1rZW51bXNdKQorLUFDX1BBVEhfUFJPRyhHTElCX0dFTk1BUlNIQUwsIFtnbGliLWdlbm1hcnNoYWxdKQorLQorLUFNX1NBTklUWV9DSEVDSworLUFNX1BST0dfQ0NfU1REQworLQorLSMgSG9ub3IgYWNsb2NhbCBmbGFncworLUFDTE9DQUw9IiRBQ0xPQ0FMICRBQ0xPQ0FMX0ZMQUdTIgorLQorIG00X2RlZmluZShbZ2xpYl9yZXF1aXJlZF0sIFsyLjEyLjBdKQorIG00X2RlZmluZShbZ3RrX3JlcXVpcmVkXSwgIFsyLjExLjBdKQorIG00X2RlZmluZShbZGJ1c19yZXF1aXJlZF0sIFswLjcwXSkKK0BAIC0xMjIsNyArMTE5LDYgQEAgQU1fQ09ORElUSU9OQUwoW0hBVkVfREJVU10sIFt0ZXN0ICJ4JGhhdmVfZGJ1cyIgPSAieHllcyJdKQorIGRubCBCYWNvbiBiYWNrZW5kCisgZG5sIFRoaXMgaXMgdGhlIGZhbGxiYWNrIGJhY2tlbmQsIHNvIHdlICpuZWVkKiB0aGVzZSBoZWFkZXJzIGFuZCBmdW5jdGlvbnMKKyBkbmwgZXZlbiBpZiB3ZSBlbmQgdXAgdXNpbmcgRC1CdXMKKy1kbmwgRC1CdXMgYmFja2VuZCBkZXBlbmRlbmNpZXMKKyBtNF9kZWZpbmUoW2hhdmVfYmFjb25fZGVmYXVsdF0sIFt5ZXNdKQorIEFDX0FSR19FTkFCTEUoW2JhY29uXSwKKyAgICAgICAgICAgICAgIFtBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtYmFjb249QDw6QHllcy9ub0A6PkBdLAorQEAgLTE3OCw5ICsxNzQsOSBAQCBBQ19BUkdfRU5BQkxFKFttYWludGFpbmVyLWZsYWdzXSwKKyBBU19JRihbdGVzdCAieCRlbmFibGVfbWFpbnRhaW5lcl9mbGFncyIgPSAieHllcyIgJiYgIHRlc3QgIngkR0NDIiA9ICJ4eWVzIl0sCisgICAgICAgWworICAgICAgICAgQVNfQ09NUElMRVJfRkxBR1MoW01BSU5UQUlORVJfQ0ZMQUdTXSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIFsiLVdlcnJvciAtV2FsbCAtV3NoYWRvdyAtV2Nhc3QtYWxpZ24KKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgLVduby11bmluaXRpYWxpemVkIC1XZW1wdHktYm9keSAtV2Zvcm1hdC1zZWN1cml0eQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAtV2luaXQtc2VsZiJdKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgWyItV2FsbCAtV3NoYWRvdyAtV2Nhc3QtYWxpZ24KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgLVduby11bmluaXRpYWxpemVkIC1XZW1wdHktYm9keQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAtV2Zvcm1hdC1zZWN1cml0eSAtV2luaXQtc2VsZiJdKQorICAgICAgIF0KKyApCisgCitAQCAtMjMwLDI3ICsyMjYsMTAgQEAgQUNfREVGSU5FX1VOUVVPVEVEKFtHRVRURVhUX1BBQ0tBR0VdLAorIEFNX0dMSUJfREVGSU5FX0xPQ0FMRURJUihVTklRVUVfTE9DQUxFRElSKQorIAorICMgaW50cm9zcGVjdGlvbgorLUdPQkpFQ1RfSU5UUk9TUEVDVElPTl9DSEVDSyhbMC42LjNdKQorK0dPQkpFQ1RfSU5UUk9TUEVDVElPTl9DSEVDSyhbMC42LjddKQorIAorICMgZ3RrLWRvYworLUdUS19ET0NfQ0hFQ0soWzEuMTFdKQorLQorLSMgbmljZSBidWlsZHMKKy1tNF9pZmRlZihbQU1fU0lMRU5UX1JVTEVTXSwKKy0gICAgICAgICBbCistICAgICAgICAgICBBTV9TSUxFTlRfUlVMRVMoW3llc10pCistICAgICAgICAgICB1c2Vfc2hhdmU9bm8KKy0gICAgICAgICBdLAorLSAgICAgICAgIFsKKy0gICAgICAgICAgIFNIQVZFX0lOSVQoW2J1aWxkL2F1dG90b29sc10sIFtlbmFibGVdKQorLSAgICAgICAgICAgQUNfQ09ORklHX0ZJTEVTKFsKKy0gICAgICAgICAgICAgICAgYnVpbGQvYXV0b3Rvb2xzL3NoYXZlLWxpYnRvb2wKKy0gICAgICAgICAgICAgICAgYnVpbGQvYXV0b3Rvb2xzL3NoYXZlCistICAgICAgICAgICBdKQorLSAgICAgICAgICAgdXNlX3NoYXZlPXllcworLSAgICAgICAgIF0pCistCistQU1fQ09ORElUSU9OQUwoW1VTRV9TSEFWRV0sIFt0ZXN0ICJ4JHVzZV9zaGF2ZSIgPSAieHllcyJdKQorK0dUS19ET0NfQ0hFQ0soWzEuMTNdKQorIAorIEFDX0NPTkZJR19GSUxFUyhbCisgICAgICAgICBNYWtlZmlsZQorLS0KK2NnaXQgdjAuOS4wLjIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2xpYnVuaXF1ZS9saWJ1bmlxdWUvZml4X2Zvcl9jb21waWxlX3dpdGhfZ2NjLTQuNi4wLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvbGlidW5pcXVlL2xpYnVuaXF1ZS9maXhfZm9yX2NvbXBpbGVfd2l0aF9nY2MtNC42LjAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDc1ZGU5MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2xpYnVuaXF1ZS9saWJ1bmlxdWUvZml4X2Zvcl9jb21waWxlX3dpdGhfZ2NjLTQuNi4wLnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitGaXggRm9sbG93aW5nIGNvbXBpbGF0aW9uIGVycm9ycyB3aXRoIGdjYyA0LjYuMAorCitOaXRpbiBBIEthbWJsZSA8bml0aW4uYS5rYW1ibGVAaW50ZWwuY29tPiAyMDExLzA1LzEwCisKK3wgdW5pcXVlYmFja2VuZC1kYnVzLmM6IEluIGZ1bmN0aW9uICd1bmlxdWVfYmFja2VuZF9kYnVzX3JlcXVlc3RfbmFtZSc6Cit8IHVuaXF1ZWJhY2tlbmQtZGJ1cy5jOjg3OjIyOiBlcnJvcjogdmFyaWFibGUgJ2JhY2tlbmRfZGJ1cycgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KK3wgdW5pcXVlYmFja2VuZC1kYnVzLmM6IEluIGZ1bmN0aW9uICd1bmlxdWVfYmFja2VuZF9kYnVzX3NlbmRfbWVzc2FnZSc6Cit8IHVuaXF1ZWJhY2tlbmQtZGJ1cy5jOjE4OToxMjogZXJyb3I6IHZhcmlhYmxlICdyZXMnIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCit8IGNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCit8IAorfCBtYWtlWzVdOiAqKiogW2xpYnVuaXF1ZV9kYnVzX2xhLXVuaXF1ZWJhY2tlbmQtZGJ1cy5sb10gRXJyb3IgMQorCitJbmRleDogbGlidW5pcXVlLTEuMS42L3VuaXF1ZS9kYnVzL3VuaXF1ZWJhY2tlbmQtZGJ1cy5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGlidW5pcXVlLTEuMS42Lm9yaWcvdW5pcXVlL2RidXMvdW5pcXVlYmFja2VuZC1kYnVzLmMKKysrKyBsaWJ1bmlxdWUtMS4xLjYvdW5pcXVlL2RidXMvdW5pcXVlYmFja2VuZC1kYnVzLmMKK0BAIC04NCw3ICs4NCw3IEBAIHVuaXF1ZV9iYWNrZW5kX2RidXNfcmVnaXN0ZXJfcHJveHkgKFVuaXEKKyBzdGF0aWMgZ2Jvb2xlYW4KKyB1bmlxdWVfYmFja2VuZF9kYnVzX3JlcXVlc3RfbmFtZSAoVW5pcXVlQmFja2VuZCAqYmFja2VuZCkKKyB7CistICBVbmlxdWVCYWNrZW5kREJ1cyAqYmFja2VuZF9kYnVzOworKyAgVW5pcXVlQmFja2VuZERCdXMgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpICpiYWNrZW5kX2RidXM7CisgICBjb25zdCBnY2hhciAqbmFtZTsKKyAgIERCdXNHQ29ubmVjdGlvbiAqY29ubmVjdGlvbjsKKyAgIERCdXNHUHJveHkgKnByb3h5OworQEAgLTE4Niw3ICsxODYsNyBAQCB1bmlxdWVfYmFja2VuZF9kYnVzX3NlbmRfbWVzc2FnZSAoVW5pcXVlCisgICBHVmFsdWVBcnJheSAqZGF0YTsKKyAgIGdjaGFyICpjbWQ7CisgICBnY2hhciAqcmVzcDsKKy0gIGdib29sZWFuIHJlczsKKysgIGdib29sZWFuIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSByZXM7CisgICBHRXJyb3IgKmVycm9yOworICAgVW5pcXVlUmVzcG9uc2UgcmVzcG9uc2U7CisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9saWJ1bmlxdWUvbGlidW5pcXVlL25vY29uc3QucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9saWJ1bmlxdWUvbGlidW5pcXVlL25vY29uc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmNjMDM0NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2xpYnVuaXF1ZS9saWJ1bmlxdWUvbm9jb25zdC5wYXRjaApAQCAtMCwwICsxLDEzMCBAQAorR19DT05TVF9SRVRVUk4gaXMgZGVwcmVjYXRlZCBpbiBnbGliIDIuMzAgc28gcmVtb3ZlIHRvIHRvIGF2b2lkCitidWlsZCBmYWlsdXJlcy4KKworUlAgMjAxMS8xMC8xMgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworSW5kZXg6IGxpYnVuaXF1ZS0xLjEuNi91bmlxdWUvdW5pcXVlYXBwLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsaWJ1bmlxdWUtMS4xLjYub3JpZy91bmlxdWUvdW5pcXVlYXBwLmMJMjAxMS0xMC0xMiAwMToyMToyNS44NDIwNDY0ODggKzAxMDAKKysrKyBsaWJ1bmlxdWUtMS4xLjYvdW5pcXVlL3VuaXF1ZWFwcC5jCTIwMTEtMTAtMTIgMDE6MjE6NTUuMDYyMDQ2Nzk2ICswMTAwCitAQCAtNzgxLDcgKzc4MSw3IEBACisgfQorIAorIAorLUdfQ09OU1RfUkVUVVJOIGdjaGFyICoKKytjb25zdCBnY2hhciAqCisgdW5pcXVlX2NvbW1hbmRfdG9fc3RyaW5nIChVbmlxdWVBcHAgKmFwcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGdpbnQgICAgICAgY29tbWFuZCkKKyB7CitAQCAtODYzLDcgKzg2Myw3IEBACisgICByZXR1cm4gcmV0dmFsOworIH0KKyAKKy1HX0NPTlNUX1JFVFVSTiBnY2hhciAqCisrY29uc3QgZ2NoYXIgKgorIHVuaXF1ZV9yZXNwb25zZV90b19zdHJpbmcgKFVuaXF1ZVJlc3BvbnNlIHJlc3BvbnNlKQorIHsKKyAgIEdFbnVtQ2xhc3MgKmVudW1fY2xhc3M7CitJbmRleDogbGlidW5pcXVlLTEuMS42L3VuaXF1ZS91bmlxdWViYWNrZW5kLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsaWJ1bmlxdWUtMS4xLjYub3JpZy91bmlxdWUvdW5pcXVlYmFja2VuZC5jCTIwMTEtMTAtMTIgMDE6MjE6MjUuNzQyMDQ2MzIzICswMTAwCisrKysgbGlidW5pcXVlLTEuMS42L3VuaXF1ZS91bmlxdWViYWNrZW5kLmMJMjAxMS0xMC0xMiAwMToyMTo1NS4wNjIwNDY3OTYgKzAxMDAKK0BAIC0xMTEsNyArMTExLDcgQEAKKyAgKgorICAqIFJldHVybiB2YWx1ZTogRklYTUUKKyAgKi8KKy1HX0NPTlNUX1JFVFVSTiBnY2hhciAqCisrY29uc3QgZ2NoYXIgKgorIHVuaXF1ZV9iYWNrZW5kX2dldF9uYW1lIChVbmlxdWVCYWNrZW5kICpiYWNrZW5kKQorIHsKKyAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChVTklRVUVfSVNfQkFDS0VORCAoYmFja2VuZCksIE5VTEwpOworQEAgLTE1NCw3ICsxNTQsNyBAQAorICAqCisgICogUmV0dXJuIHZhbHVlOiBGSVhNRQorICAqLworLUdfQ09OU1RfUkVUVVJOIGdjaGFyICoKKytjb25zdCBnY2hhciAqCisgdW5pcXVlX2JhY2tlbmRfZ2V0X3N0YXJ0dXBfaWQgKFVuaXF1ZUJhY2tlbmQgKmJhY2tlbmQpCisgeworICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKFVOSVFVRV9JU19CQUNLRU5EIChiYWNrZW5kKSwgTlVMTCk7CitJbmRleDogbGlidW5pcXVlLTEuMS42L3VuaXF1ZS91bmlxdWViYWNrZW5kLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsaWJ1bmlxdWUtMS4xLjYub3JpZy91bmlxdWUvdW5pcXVlYmFja2VuZC5oCTIwMTEtMTAtMTIgMDE6MjE6MjUuOTkyMDQ2NTIxICswMTAwCisrKysgbGlidW5pcXVlLTEuMS42L3VuaXF1ZS91bmlxdWViYWNrZW5kLmgJMjAxMS0xMC0xMiAwMToyMTo1Ni41MTIwNDc4NzUgKzAxMDAKK0BAIC05NCwxMCArOTQsMTAgQEAKKyAKKyBVbmlxdWVCYWNrZW5kICogICAgICAgdW5pcXVlX2JhY2tlbmRfY3JlYXRlICAgICAgICAgKHZvaWQpOworIAorLUdfQ09OU1RfUkVUVVJOIGdjaGFyICp1bmlxdWVfYmFja2VuZF9nZXRfbmFtZSAgICAgICAoVW5pcXVlQmFja2VuZCAgICAgKmJhY2tlbmQpOworK2NvbnN0IGdjaGFyICp1bmlxdWVfYmFja2VuZF9nZXRfbmFtZSAgICAgICAoVW5pcXVlQmFja2VuZCAgICAgKmJhY2tlbmQpOworIHZvaWQgICAgICAgICAgICAgICAgICB1bmlxdWVfYmFja2VuZF9zZXRfbmFtZSAgICAgICAoVW5pcXVlQmFja2VuZCAgICAgKmJhY2tlbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAgICAgICAqbmFtZSk7CistR19DT05TVF9SRVRVUk4gZ2NoYXIgKnVuaXF1ZV9iYWNrZW5kX2dldF9zdGFydHVwX2lkIChVbmlxdWVCYWNrZW5kICAgICAqYmFja2VuZCk7CisrY29uc3QgZ2NoYXIgKnVuaXF1ZV9iYWNrZW5kX2dldF9zdGFydHVwX2lkIChVbmlxdWVCYWNrZW5kICAgICAqYmFja2VuZCk7Cisgdm9pZCAgICAgICAgICAgICAgICAgIHVuaXF1ZV9iYWNrZW5kX3NldF9zdGFydHVwX2lkIChVbmlxdWVCYWNrZW5kICAgICAqYmFja2VuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICAgICpzdGFydHVwX2lkKTsKKyBHZGtTY3JlZW4gKiAgICAgICAgICAgdW5pcXVlX2JhY2tlbmRfZ2V0X3NjcmVlbiAgICAgKFVuaXF1ZUJhY2tlbmQgICAgICpiYWNrZW5kKTsKK0luZGV4OiBsaWJ1bmlxdWUtMS4xLjYvdW5pcXVlL3VuaXF1ZWludGVybmFscy5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGlidW5pcXVlLTEuMS42Lm9yaWcvdW5pcXVlL3VuaXF1ZWludGVybmFscy5oCTIwMTEtMTAtMTIgMDE6MjE6MjUuODkyMDQ2NTMyICswMTAwCisrKysgbGlidW5pcXVlLTEuMS42L3VuaXF1ZS91bmlxdWVpbnRlcm5hbHMuaAkyMDExLTEwLTEyIDAxOjIxOjU2LjUxMjA0Nzg3NSArMDEwMAorQEAgLTQ0LDExICs0NCwxMSBAQAorICAqIGFuZCB0aGVuIGJhY2sgaW50byBhbiBpZAorICAqLworIFVuaXF1ZVJlc3BvbnNlICAgICAgICB1bmlxdWVfcmVzcG9uc2VfZnJvbV9zdHJpbmcgIChjb25zdCBnY2hhciAgICAqcmVzcG9uc2UpOworLUdfQ09OU1RfUkVUVVJOIGdjaGFyICp1bmlxdWVfcmVzcG9uc2VfdG9fc3RyaW5nICAgIChVbmlxdWVSZXNwb25zZSAgcmVzcG9uc2UpOworK2NvbnN0IGdjaGFyICp1bmlxdWVfcmVzcG9uc2VfdG9fc3RyaW5nICAgIChVbmlxdWVSZXNwb25zZSAgcmVzcG9uc2UpOworIAorIGdpbnQgICAgICAgICAgICAgICAgICB1bmlxdWVfY29tbWFuZF9mcm9tX3N0cmluZyAgIChVbmlxdWVBcHAgICAgICAqYXBwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAgICAqY29tbWFuZCk7CistR19DT05TVF9SRVRVUk4gZ2NoYXIgKnVuaXF1ZV9jb21tYW5kX3RvX3N0cmluZyAgICAgKFVuaXF1ZUFwcCAgICAgICphcHAsCisrY29uc3QgZ2NoYXIgKnVuaXF1ZV9jb21tYW5kX3RvX3N0cmluZyAgICAgKFVuaXF1ZUFwcCAgICAgICphcHAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdpbnQgICAgICAgICAgICBjb21tYW5kKTsKKyAKKyBHX0VORF9ERUNMUworSW5kZXg6IGxpYnVuaXF1ZS0xLjEuNi91bmlxdWUvdW5pcXVlbWVzc2FnZS5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGlidW5pcXVlLTEuMS42Lm9yaWcvdW5pcXVlL3VuaXF1ZW1lc3NhZ2UuYwkyMDExLTEwLTEyIDAxOjIxOjI1Ljk0MjA0NjUyNCArMDEwMAorKysrIGxpYnVuaXF1ZS0xLjEuNi91bmlxdWUvdW5pcXVlbWVzc2FnZS5jCTIwMTEtMTAtMTIgMDE6MjE6NTUuMDcyMDQ2NTk1ICswMTAwCitAQCAtMTg1LDcgKzE4NSw3IEBACisgICoKKyAgKiBTaW5jZTogMS4wLjIKKyAgKi8KKy1HX0NPTlNUX1JFVFVSTiBndWNoYXIgKgorK2NvbnN0IGd1Y2hhciAqCisgdW5pcXVlX21lc3NhZ2VfZGF0YV9nZXQgKFVuaXF1ZU1lc3NhZ2VEYXRhICptZXNzYWdlX2RhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGdzaXplICAgICAgICAgICAgICpsZW5ndGgpCisgeworQEAgLTUyNSw3ICs1MjUsNyBAQAorICAqICAgb3duZWQgYnkgdGhlICNVbmlxdWVNZXNzYWdlRGF0YSBzdHJ1Y3R1cmUgYW5kIHNob3VsZCBub3QgYmUKKyAgKiAgIG1vZGlmaWVkIG9yIGZyZWVkCisgICovCistR19DT05TVF9SRVRVUk4gZ2NoYXIgKgorK2NvbnN0IGdjaGFyICoKKyB1bmlxdWVfbWVzc2FnZV9kYXRhX2dldF9zdGFydHVwX2lkIChVbmlxdWVNZXNzYWdlRGF0YSAqbWVzc2FnZV9kYXRhKQorIHsKKyAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChtZXNzYWdlX2RhdGEgIT0gTlVMTCwgTlVMTCk7CitJbmRleDogbGlidW5pcXVlLTEuMS42L3VuaXF1ZS91bmlxdWVtZXNzYWdlLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsaWJ1bmlxdWUtMS4xLjYub3JpZy91bmlxdWUvdW5pcXVlbWVzc2FnZS5oCTIwMTEtMTAtMTIgMDE6MjE6MjUuNzkyMDQ2NTk2ICswMTAwCisrKysgbGlidW5pcXVlLTEuMS42L3VuaXF1ZS91bmlxdWVtZXNzYWdlLmgJMjAxMS0xMC0xMiAwMToyMTo1Ni41MTIwNDc4NzUgKzAxMDAKK0BAIC00OCw3ICs0OCw3IEBACisgdm9pZCAgICAgICAgICAgICAgICAgICB1bmlxdWVfbWVzc2FnZV9kYXRhX3NldCAgICAgICAgICAgIChVbmlxdWVNZXNzYWdlRGF0YSAqbWVzc2FnZV9kYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3VjaGFyICAgICAgKmRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnc2l6ZSAgICAgICAgICAgICAgbGVuZ3RoKTsKKy1HX0NPTlNUX1JFVFVSTiBndWNoYXIgKnVuaXF1ZV9tZXNzYWdlX2RhdGFfZ2V0ICAgICAgICAgICAgKFVuaXF1ZU1lc3NhZ2VEYXRhICptZXNzYWdlX2RhdGEsCisrY29uc3QgZ3VjaGFyICp1bmlxdWVfbWVzc2FnZV9kYXRhX2dldCAgICAgICAgICAgIChVbmlxdWVNZXNzYWdlRGF0YSAqbWVzc2FnZV9kYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3NpemUgICAgICAgICAgICAgKmxlbmd0aCk7CisgCisgZ2Jvb2xlYW4gICAgICAgICAgICAgICB1bmlxdWVfbWVzc2FnZV9kYXRhX3NldF90ZXh0ICAgICAgIChVbmlxdWVNZXNzYWdlRGF0YSAqbWVzc2FnZV9kYXRhLAorQEAgLTYzLDcgKzYzLDcgQEAKKyBnY2hhciAqICAgICAgICAgICAgICAgIHVuaXF1ZV9tZXNzYWdlX2RhdGFfZ2V0X2ZpbGVuYW1lICAgKFVuaXF1ZU1lc3NhZ2VEYXRhICptZXNzYWdlX2RhdGEpOworIAorIEdka1NjcmVlbiAqICAgICAgICAgICAgdW5pcXVlX21lc3NhZ2VfZGF0YV9nZXRfc2NyZWVuICAgICAoVW5pcXVlTWVzc2FnZURhdGEgKm1lc3NhZ2VfZGF0YSk7CistR19DT05TVF9SRVRVUk4gZ2NoYXIgKiB1bmlxdWVfbWVzc2FnZV9kYXRhX2dldF9zdGFydHVwX2lkIChVbmlxdWVNZXNzYWdlRGF0YSAqbWVzc2FnZV9kYXRhKTsKKytjb25zdCBnY2hhciAqIHVuaXF1ZV9tZXNzYWdlX2RhdGFfZ2V0X3N0YXJ0dXBfaWQgKFVuaXF1ZU1lc3NhZ2VEYXRhICptZXNzYWdlX2RhdGEpOworIGd1aW50ICAgICAgICAgICAgICAgICAgdW5pcXVlX21lc3NhZ2VfZGF0YV9nZXRfd29ya3NwYWNlICAoVW5pcXVlTWVzc2FnZURhdGEgKm1lc3NhZ2VfZGF0YSk7CisgCisgR19FTkRfREVDTFMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2xpYnVuaXF1ZS9saWJ1bmlxdWVfMS4xLjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9saWJ1bmlxdWUvbGlidW5pcXVlXzEuMS42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkMTNlNWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9saWJ1bmlxdWUvbGlidW5pcXVlXzEuMS42LmJiCkBAIC0wLDAgKzEsMjcgQEAKK1NVTU1BUlkgPSAiTGlicmFyeSBmb3Igc3VwcG9ydGluZyBzaW5nbGUgaW5zdGFuY2UgR1RLKyBhcHBsaWNhdGlvbnMiCitERVNDUklQVElPTiA9ICJVbmlxdWUgaXMgYSBsaWJyYXJ5IGZvciB3cml0aW5nIHNpbmdsZSBpbnN0YW5jZSBHVEsrIGFwcGxpY2F0aW9ucy4gSWYgeW91IGxhdW5jaCBhIHNpbmdsZSBpbnN0YW5jZSBhcHBsaWNhdGlvbiB0d2ljZSwgdGhlIHNlY29uZCBpbnN0YW5jZSB3aWxsIGVpdGhlciBqdXN0IHF1aXQgb3Igd2lsbCBzZW5kIGEgbWVzc2FnZSB0byB0aGUgcnVubmluZyBpbnN0YW5jZS4iCitIT01FUEFHRSA9ICJodHRwczovL3dpa2kuZ25vbWUub3JnL0F0dGljL0xpYlVuaXF1ZSIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWxpYnVuaXF1ZSIKKworU1JDX1VSSSA9ICIke0dOT01FX01JUlJPUn0vbGlidW5pcXVlLzEuMS9saWJ1bmlxdWUtJHtQVn0udGFyLmJ6MiBcCisJZmlsZTovL2ZpeF9mb3JfY29tcGlsZV93aXRoX2djYy00LjYuMC5wYXRjaCBcCisJZmlsZTovL25vY29uc3QucGF0Y2ggXAorICAgICAgICBmaWxlOi8vYnVpbGQucGF0Y2ggXAorICAgICAgICBmaWxlOi8vMDAwMS1NYWtlZmlsZS5hbS11c2UtTElCVE9PTC1pbnN0ZWFkLW9mLWhhcmRjb2RlZC1saWJ0b29sLnBhdGNoIFwKKyAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzk1NTc2OWVmMzFmMWJjNGY4MzQ0NmRiYjM2MjVlNmQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTVjODA0MWNlZjhlMzNjNTU3MzJmMDZhMjkyMzgxY2IzNDVkYjk0NmNmNzkyYTRhZTE4YWE1YzY2Y2RkNGZiYiIKKworUFIgPSAicjciCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgZ3RrKyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gImRidXMiCitQQUNLQUdFQ09ORklHW2RidXNdID0gIi0tZW5hYmxlLWRidXMsLS1kaXNhYmxlLWRidXMsZGJ1cyBkYnVzLWdsaWIiCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yZDUwMjVkNGFhMzQ5NWJlZmVmOGYxNzIwNmE1YjBhMSIKKworCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ29iamVjdC1pbnRyb3NwZWN0aW9uCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9iYWJsL2JhYmxfMC4xLjE2LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvYmFibC9iYWJsXzAuMS4xNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYWVhMDUyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvYmFibC9iYWJsXzAuMS4xNi5iYgpAQCAtMCwwICsxLDEzIEBACitTVU1NQVJZID0gIkJhYmwgaXMgYSBkeW5hbWljLCBhbnkgdG8gYW55LCBwaXhlbCBmb3JtYXQgY29udmVyc2lvbiBsaWJyYXJ5IgorTElDRU5TRSA9ICJMR1BMLTMuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTZhNmE4ZTAyMDgzOGIyMzQwNmM4MWIxOWMxZDQ2ZGY2IgorCitpbmhlcml0IGdub21lYmFzZQorCitTUkNfVVJJID0gImh0dHA6Ly9mdHAuZ2ltcC5vcmcvcHViLyR7QlBOfS8wLjEvJHtCUH0udGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhMWM3MmU1ZjVkNTVhOGI3MzZlZjJmYTY3ZGRiODZlYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3ZDZiYTU1ZWM1M2VlNmY2YmY2OTQ1YmVlYzI4ODM5ZDA5ZmY3MjM3NmY0ZDgzMDM1ZWIzNzljZDRmM2U5ODBlIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2JhYmwtKi8qLnNvIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vYmFibC0qLyoubGEiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9iYWJsLSovLmRlYnVnLyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvbW1fMS4xMS4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvY2Fpcm8vY2Fpcm9tbV8xLjExLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTMzMDQ1OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvbW1fMS4xMS4yLmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiQysrIGJpbmRpbmdzIGZvciBDYWlybyBncmFwaGljcyBsaWJyYXJ5IgorCitMSUNFTlNFID0gIkxHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM0NmJkYTAwZmZiYjBiYTFkYWMyMmY4ZDA4N2Y1NGQ5IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworREVQRU5EUyA9ICJjYWlybyBsaWJzaWdjKystMi4wIgorCitTUkNfVVJJID0gImh0dHA6Ly9jYWlyb2dyYXBoaWNzLm9yZy9yZWxlYXNlcy9jYWlyb21tLSR7UFZ9LnRhci5nejtuYW1lPWFyY2hpdmUiCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI3MzJhM2ZmNWI1NzQwMWViNWRmZWVmNzk1YTJhMGM1MiIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImNjZjY3NzA5OGMxZTA4ZTE4OWFkZDBiZDE0NmY3ODQ5ODEwOWYyMDI1NzU0OTFhODJmMTgxNWI2YmMyODAwOGQiCisKK0ZJTEVTXyR7UE59LWRvYyArPSAiJHtkYXRhZGlyfS9kZXZoZWxwIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vY2Fpcm9tbS0qLyIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWJveDJkLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci1ib3gyZC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjQ2Yjc4NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci1ib3gyZC5pbmMKQEAgLTAsMCArMSwxNSBAQAorREVTQ1JJUFRJT04gPSAiQ2x1dHRlciBCb3gyRCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuY2x1dHRlci1wcm9qZWN0Lm9yZy8iCitMSUNFTlNFID0gIkxHUEx2Mi4xKyIKKworIyBUaGUgbWFpbiBjbHV0dGVyIGxpYiBpcyBtYWNoaW5lIHNwZWNpZmljIHNvIHdlIG5lZWQgdG8gYmUgdG9vCitQQUNLQUdFX0FSQ0ggPSAiJHtNQUNISU5FX0FSQ0h9IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ3RrLWRvYworCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAke1N9L2V4YW1wbGVzLy5saWJzL2Jsb2NrYm94ICR7RH0ke2JpbmRpcn0KK30KKworRklMRVNQQVRIID0gIiR7RklMRV9ESVJOQU1FfS9jbHV0dGVyLWJveDJkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWJveDJkX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci1ib3gyZF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTk0ZDEwNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci1ib3gyZF9naXQuYmIKQEAgLTAsMCArMSwxOSBAQAorcmVxdWlyZSBjbHV0dGVyLWJveDJkLmluYworCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9ib3gyZC9MaWNlbnNlLnR4dDttZDU9ZTVkMzlhZDkxZjdkYzQ2OTJkY2RiMWQ4NTEzOWVjNmIiCisKKyMgMC4xMi4xK2dpdEFVVE9JTkMrZGU1NDUyZTU2Yi1yMS9naXQvY2x1dHRlci1ib3gyZC9jbHV0dGVyLWJveDJkLmg6MjI2OjQ3OgorIyAgZmF0YWwgZXJyb3I6IGNsdXR0ZXItYm94MmQvY2x1dHRlci1ib3gyZC1jaGlsZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CisjIHwgICNpbmNsdWRlIDxjbHV0dGVyLWJveDJkL2NsdXR0ZXItYm94MmQtY2hpbGQuaD4KK1BOQkxBQ0tMSVNUW2NsdXR0ZXItYm94MmRdID89ICJCUk9LRU46IGRvZXNuJ3QgYnVpbGQgd2l0aCBCIT1TIgorCitTUkNSRVYgPSAiZGU1NDUyZTU2YjUzN2ExMWZkN2Y5NDUzZDA0OGZmNGI0NzkzYjVhMiIKK1BWID0gIjAuMTIuMStnaXQke1NSQ1BWfSIKK1BSID0gInIxIgorCitTUkNfVVJJID0gImdpdDovL2dpdC5nbm9tZS5vcmcvY2x1dHRlci1ib3gyZC5naXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0RFUEVORFMgKz0gImNsdXR0ZXItMS4wIgorUFJPVklERVMgPSAiY2x1dHRlci1ib3gyZC0xLjYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9kaWV0c3BsYXNoL2RpZXRzcGxhc2hfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZGlldHNwbGFzaC9kaWV0c3BsYXNoX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hODhjYWY4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZGlldHNwbGFzaC9kaWV0c3BsYXNoX2dpdC5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIlNpbXBsZSBib290c3BsYXNoIGZvciBzeXN0ZW1kIHN5c3RlbXMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKKyMgUmVhbGx5LCBubyBkZXBlbmRzIGJlc2lkZXMgYSBDIGxpYnJhcnkKKworUFYgPSAiMC4zIgorUFIgPSAicjEiCisKK1NSQ1JFViA9ICJmN2FhZGFjYmUzYzE5ZTM3ZWE5MzhlMDBhNTE0MWI1NzdmYjc0YTVlIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2x1Y2FzZGVtYXJjaGkvZGlldHNwbGFzaC5naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0VYVFJBX09FQ09ORiA9ICIgLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0gXAorICAgICAgICAgICAgICAgICAtLWRpc2FibGUtc3RhdGljaW1hZ2VzIgorCitGSUxFU18ke1BOfSArPSAiJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9mYmdyYWIvZmJncmFiXzEuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2ZiZ3JhYi9mYmdyYWJfMS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkODdiODYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9mYmdyYWIvZmJncmFiXzEuMi5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIkZCR3JhYiBpcyBhIGZyYW1lYnVmZmVyIHNjcmVlbnNob3QgcHJvZ3JhbSIKK0hPTUVQQUdFID0gImh0dHA6Ly9mYmdyYWIubW9uZWxscy5zZS8iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZWE1YmVkMmY2MGQzNTc2MThjYTE2MWFkNTM5ZjdjMGEiCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitERVBFTkRTID0gImxpYnBuZyB6bGliIgorU1JDX1VSSSA9ICJodHRwOi8vZmJncmFiLm1vbmVsbHMuc2UvJHtCUH0udGFyLmd6IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfSIKKworU1JDX1VSSVttZDVzdW1dID0gIjE1YjQzMjczNWQ2ZWZkMDM3MzcyMmJiOTY1NzdiOTQ1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjYxZTA3NzJhZDZlYTc0NGVlNTk3YWU0NzgzOThkZGQwYmE2ZmNlZWUyY2YzNDM4NTliZWJkZTJjMTViYWZiOTEiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAnc3wkKERFU1RESVIpL3Vzci9tYW4vfCQoREVTVERJUikke21hbmRpcn0vfGcnICR7U30vTWFrZWZpbGUKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2ZiaWRhL2ZiaWRhXzIuMTAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9mYmlkYS9mYmlkYV8yLjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxNGZjOWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9mYmlkYS9mYmlkYV8yLjEwLmJiCkBAIC0wLDAgKzEsNjYgQEAKK1NVTU1BUlkgPSAiRnJhbWVidWZmZXIgaW1hZ2UgYW5kIGRvYyB2aWV3ZXIgdG9vbHMiCitERVNDUklQVElPTiA9ICJUaGUgZmJpZGEgcHJvamVjdCBjb250YWlucyBhIGZldyBhcHBsaWNhdGlvbnMgZm9yIHZpZXdpbmcgYW5kIGVkaXRpbmcgaW1hZ2VzLCBcCisgICAgICAgICAgICAgICB3aXRoIHRoZSBtYWluIGZvY3VzIGJlaW5nIHBob3Rvcy4iCitIT01FUEFHRSA9ICJodHRwOi8vbGludXguYnl0ZXNleC5vcmcvZmJpZGEvIgorQVVUSE9SID0gIkdlcmQgSG9mZm1hbm4iCitTRUNUSU9OID0gInV0aWxzIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGNhNDNjYmM4NDJjMjMzNmU4MzU5MjZjMjE2NmMyOGIiCisKK0RFUEVORFMgPSAidmlydHVhbC9saWJpY29udiBqcGVnIGZvbnRjb25maWcgZnJlZXR5cGUgbGliZXhpZiIKKworU1JDX1VSSSA9ICJodHRwczovL3d3dy5rcmF4ZWwub3JnL3JlbGVhc2VzL2ZiaWRhL2ZiaWRhLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICIwOTQ2MGI5NjRiNThjMmUzOWI2NjU0OThlY2EyOTAxOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3YTVhM2FhYzYxYjQwYTZhMmJiZjcxNmQyNzBhNDZlMmY4ZThkNWM5N2UzMTRlOTI3ZDQxMzk4YTRkMGI2Y2I2IgorCitCID0gIiR7V09SS0RJUn0vYnVpbGQiCisKK0VYVFJBX09FTUFLRSA9ICJTVFJJUD0gJ3NyY2Rpcj0ke1N9JyAtZiAke1N9L0dOVW1ha2VmaWxlIgorCitQQUNLQUdFQ09ORklHID8/PSAiZ2lmIHBuZyBjdXJsIgorUEFDS0FHRUNPTkZJR1tjdXJsXSA9ICIsLGN1cmwiCitQQUNLQUdFQ09ORklHW2dpZl0gPSAiLCxnaWZsaWIiCitQQUNLQUdFQ09ORklHW3BuZ10gPSAiLCxsaWJwbmciCitQQUNLQUdFQ09ORklHW3RpZmZdID0gIiwsdGlmZiIKK1BBQ0tBR0VDT05GSUdbbW90aWZdID0gIiwsbGlieDExIGxpYnhleHQgbGlieHBtIGxpYnh0IG9wZW5tb3RpZiIKK1BBQ0tBR0VDT05GSUdbd2VicF0gPSAiLCxsaWJ3ZWJwIgorUEFDS0FHRUNPTkZJR1tsaXJjXSA9ICIsLGxpcmMiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgc2VkIC1pIC1lICdzIyBmYmdzIyBcJChzcmNkaXIpL2ZiZ3MjOyBzIy1JanBlZyMtSVwkKHNyY2RpcikvanBlZyM7IHMjIGpwZWcvIyBcJChzcmNkaXIpL2pwZWcvIycgJHtTfS9HTlVtYWtlZmlsZQorICAgIHNlZCAtaSAtZSAnczovc2Jpbi9sZGNvbmZpZzplY2hvIHg6JyAke1N9L21rL0F1dG9jb25mLm1rCisgICAgc2VkIC1pIC1lICdzOiBjcHA6ICR7VEFSR0VUX1BSRUZJWH1jcHAgLUkke1NUQUdJTkdfSU5DRElSfTonICR7U30vR05VbWFrZWZpbGUKKworICAgICMgQmUgc3VyZSB0byByZXNwZWN0IHByZWZlcmVuY2VzIChmb3JjZSB0byAibm8iKQorICAgICMgQWxzbyBhdm9pZCBpc3N1ZXMgd2hlbiAke0JVSUxEX0FSQ0h9ID09ICR7SE9TVF9BUkNIfQorICAgIGlmIFsgLXogIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2N1cmwnLCAnY3VybCcsICcnLCBkKX0iIF07IHRoZW4KKyAgICAgICAgc2VkIC1pIC1lICcvXkhBVkVfTElCQ1VSTC9zLzo9LiokLzo9IG5vLycgJHtTfS9HTlVtYWtlZmlsZQorICAgIGZpCisgICAgaWYgWyAteiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ2lmJywgJ2dpZicsICcnLCBkKX0iIF07IHRoZW4KKyAgICAgICAgc2VkIC1pIC1lICcvXkhBVkVfTElCR0lGL3MvOj0uKiQvOj0gbm8vJyAke1N9L0dOVW1ha2VmaWxlCisgICAgZmkKKyAgICBpZiBbIC16ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdwbmcnLCAncG5nJywgJycsIGQpfSIgXTsgdGhlbgorICAgICAgICBzZWQgLWkgLWUgJy9eSEFWRV9MSUJQTkcvcy86PS4qJC86PSBuby8nICR7U30vR05VbWFrZWZpbGUKKyAgICBmaQorICAgIGlmIFsgLXogIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3RpZmYnLCAndGlmZicsICcnLCBkKX0iIF07IHRoZW4KKyAgICAgICAgc2VkIC1pIC1lICcvXkhBVkVfTElCVElGRi9zLzo9LiokLzo9IG5vLycgJHtTfS9HTlVtYWtlZmlsZQorICAgIGZpCisgICAgaWYgWyAteiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnbW90aWYnLCAnbW90aWYnLCAnJywgZCl9IiBdOyB0aGVuCisgICAgICAgIHNlZCAtaSAtZSAnL15IQVZFX01PVElGL3MvOj0uKiQvOj0gbm8vJyAke1N9L0dOVW1ha2VmaWxlCisgICAgZmkKKyAgICBpZiBbIC16ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICd3ZWJwJywgJ3dlYnAnLCAnJywgZCl9IiBdOyB0aGVuCisgICAgICAgIHNlZCAtaSAtZSAnL15IQVZFX0xJQldFQlAvcy86PS4qJC86PSBuby8nICR7U30vR05VbWFrZWZpbGUKKyAgICBmaQorICAgIGlmIFsgLXogIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2xpcmMnLCAnbGlyYycsICcnLCBkKX0iIF07IHRoZW4KKyAgICAgICAgc2VkIC1pIC1lICcvXkhBVkVfTElCTElSQy9zLzo9LiokLzo9IG5vLycgJHtTfS9HTlVtYWtlZmlsZQorICAgIGZpCisKKyAgICBvZV9ydW5tYWtlCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCit9CisKK1JERVBFTkRTXyR7UE59ID0gInR0Zi1kZWphdnUtc2Fucy1tb25vIGJhc2giCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9maW0vZmlsZXMvY3Jvc3NfY2MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9maW0vZmlsZXMvY3Jvc3NfY2MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODVhYjFlZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2ZpbS9maWxlcy9jcm9zc19jYy5wYXRjaApAQCAtMCwwICsxLDI5IEBACitGcm9tIDliMGIzMjJkODZjN2IyZDJjZGRhYTYyZjdkYWI0YWE2Njk3MzlhNDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXR0aGlldSBDcmFwZXQgPE1hdHRoaWV1LkNyYXBldEBpbmdlbmljby5jb20+CitEYXRlOiBXZWQsIDE5IE1hciAyMDE0IDEzOjE4OjIxICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitiMmJhIHNob3VsZCBiZSBidWlsdCBieSBCVUlMRF9DQyBpbiBjcm9zcyBlbnZpcm9ubWVudAorVGhpcyBpcyBvbmx5IHVzZWQgd2hlbiBjb25maWd1cmVkIHdpdGggLS1lbmFibGUtaGFyZGNvZGVkLWZvbnQKKworU2lnbmVkLW9mZi1ieTogTWF0dGhpZXUgQ3JhcGV0IDxNYXR0aGlldS5DcmFwZXRAaW5nZW5pY28uY29tPgorLS0tCisgc3JjL01ha2VmaWxlLmFtIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL01ha2VmaWxlLmFtIGIvc3JjL01ha2VmaWxlLmFtCitpbmRleCBhMWQ0MzMwLi5hODE1MGI5IDEwMDY0NAorLS0tIGEvc3JjL01ha2VmaWxlLmFtCisrKysgYi9zcmMvTWFrZWZpbGUuYW0KK0BAIC02Myw3ICs2Myw3IEBAIGhlbHAtYWNtLmNwcDogZmltLmgKKyAJJChFQ0hPKSAnLy8jZW5kaWYnID4+ICRACisgCisgYjJiYToKKy0JJChDQykgLW8gYjJiYSBiMmJhLmMKKysJJChCVUlMRF9DQykgLW8gYjJiYSBiMmJhLmMKKyAKKyBpZiBGSU1fV0FOVF9DVVNUT01fSEFSRENPREVEX0NPTlNPTEVGT05UCisgZGVmYXVsdF9mb250X2J5dGVfYXJyYXkuaDogJChGSU1fQ1VTVE9NX0hBUkRDT0RFRF9DT05TT0xFRk9OVCkgYjJiYQorLS0gCisxLjguNS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2ZpbS9maW1fMC40LXJjMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2ZpbS9maW1fMC40LXJjMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MGFjNzAyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZmltL2ZpbV8wLjQtcmMxLmJiCkBAIC0wLDAgKzEsNTIgQEAKK1NVTU1BUlkgPSAiRnJhbWVidWZmZXIgKHNjcmlwdGFibGUpIGltYWdlIHZpZXdlciIKK0RFU0NSSVBUSU9OID0gIkZJTSAoRmJpIElNcHJvdmVkKSBhaW1zIHRvIGJlIGEgaGlnaGx5IGN1c3RvbWl6YWJsZSBhbmQgc2NyaXB0YWJsZSBcCisgICAgICAgICAgICAgICBpbWFnZSB2aWV3ZXIgdGFyZ2V0ZWQgYXQgdXNlcnMgd2hvIGFyZSBjb21mb3J0YWJsZSB3aXRoIHNvZnR3YXJlIFwKKyAgICAgICAgICAgICAgIGxpa2UgdGhlIFZpbSB0ZXh0IGVkaXRvciBvciB0aGUgTXV0dCBtYWlsIHVzZXIgYWdlbnQuIgorU0VDVElPTiA9ICJ1dGlscyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuYXV0aXN0aWNpLm9yZy9kZXpwZXJhZG8vZmltLyIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZhMDFiZmYxMzhjYzk4YTYyYjg4NDBhMTU3OTUxYzg4IgorCitQTkJMQUNLTElTVFtmaW1dID89ICJCUk9LRU46IGRvZXNuJ3QgYnVpbGQgd2l0aCBCIT1TIChmbGV4OiBjYW4ndCBvcGVuIGxleC5sZXgpIgorCisjIGZsZXggd2l0aCBwcm92aWRlIC91c3IvaW5jbHVkZS9GbGV4TGV4ZXIuaAorREVQRU5EUyA9ICJmbGV4LW5hdGl2ZSBiaXNvbi1uYXRpdmUgZmxleCIKKworU1JDX1VSSSA9ICIke1NBVkFOTkFIX05PTkdOVV9NSVJST1J9L2ZiaS1pbXByb3ZlZC8ke0JQTn0tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2Nyb3NzX2NjLnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gImQ3MzYyZGRlNTU0MWMyYjY0MzljMzVjNmUyYmQ1MDQ2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNmNmJmMmRlMjk1MmI5YWRjYmViM2RiMTJjMmE5NzllOTk5YTgxZGQxZTMxNGEwM2JjNThlMjRmMWVhOWY2ODYiCisKK1BBUkFMTEVMX01BS0UgPSAiIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworIyBEb24ndCB1c2UgcHJvdmlkZWQgcmVnZXguYworRVhUUkFfT0VDT05GID0gImZpbV9jdl9yZWdleD1ubyBmaW1fY3ZfcmVnZXhfYnJva2VuPW5vIFwKKyAgICAtLWVuYWJsZS1mcmFtZWJ1ZmZlciBcCisgICAgLS1kaXNhYmxlLWRqdnUgXAorICAgIC0tZGlzYWJsZS1wcyBcCisgICAgLS1kaXNhYmxlLXhjZnRvcG5tIFwKKyAgICAtLWRpc2FibGUtY29udmVydCBcCisgICAgLS1kaXNhYmxlLWlua3NjYXBlIFwKKyAgICAtLWRpc2FibGUteGZpZyBcCisgICAgLS1kaXNhYmxlLWRpYSBcCisgICAgLS1kaXNhYmxlLWFhIFwKKyAgICAtLWRpc2FibGUtc2RsIFwKKyAgICAtLWVuYWJsZS1yZWFkLWRpcnMgXAorICAgIC0tZW5hYmxlLXJlY3Vyc2l2ZS1kaXJzIFwKKyAgICAtLWVuYWJsZS1jdXN0b20tc3RhdHVzLWJhciBcCisiCisKKyMgTm90ZTogaW1saWIyIGlzIGxvY2F0ZWQgaW4gbWV0YS1lZmwgbGF5ZXIuCitQQUNLQUdFQ09ORklHID89ICJqcGVnIHJsIGhmIgorUEFDS0FHRUNPTkZJR1twbmddID0gIi0tZW5hYmxlLXBuZywtLWRpc2FibGUtcG5nLGxpYnBuZyIKK1BBQ0tBR0VDT05GSUdbanBlZ10gPSAiLS1lbmFibGUtanBlZywtLWRpc2FibGUtanBlZyxqcGVnIgorUEFDS0FHRUNPTkZJR1t0aWZmXSA9ICItLWVuYWJsZS10aWZmLC0tZGlzYWJsZS10aWZmLHRpZmYiCitQQUNLQUdFQ09ORklHW2dpZl0gPSAiLS1lbmFibGUtZ2lmLC0tZGlzYWJsZS1naWYsZ2lmbGliIgorUEFDS0FHRUNPTkZJR1twZGZdID0gIi0tZW5hYmxlLXBvcHBsZXIsLS1kaXNhYmxlLXBvcHBsZXIscG9wcGxlciIKK1BBQ0tBR0VDT05GSUdbbWFnaWNrXSA9ICItLWVuYWJsZS1ncmFwaGljc21hZ2ljaywtLWRpc2FibGUtZ3JhcGhpY3NtYWdpY2ssaW1hZ2VtYWdpY2siCitQQUNLQUdFQ09ORklHW2ltbGliMl0gPSAiLS1lbmFibGUtaW1saWIyLC0tZGlzYWJsZS1pbWxpYjIsaW1saWIyIgorUEFDS0FHRUNPTkZJR1tybF0gPSAiLS1lbmFibGUtcmVhZGxpbmUsLS1kaXNhYmxlLXJlYWRsaW5lLHJlYWRsaW5lIgorUEFDS0FHRUNPTkZJR1toZl0gPSAiLS1lbmFibGUtaGFyZGNvZGVkLWZvbnQsLS1kaXNhYmxlLWhhcmRjb2RlZC1mb250IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZm9udGZvcmdlL2ZvbnRmb3JnZV8yMDE1MDgyNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2ZvbnRmb3JnZS9mb250Zm9yZ2VfMjAxNTA4MjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTM4OTlmMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2ZvbnRmb3JnZS9mb250Zm9yZ2VfMjAxNTA4MjQuYmIKQEAgLTAsMCArMSw2MCBAQAorU1VNTUFSWSA9ICJBIGZvbnQgZWRpdG9yIgorSE9NRVBBR0UgPSAiaHR0cDovL2ZvbnRmb3JnZS5naXRodWIuaW8vZW4tVVMvIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UgJiBHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiIFwKKyAgICBmaWxlOi8vQ09QWUlORy5ncGx2MzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQgXAorICAgIGZpbGU6Ly9MSUNFTlNFO21kNT0zZjkyMmI0MmVkMDAzM2ZhMGZkNGNkMzI2OGY2NDI5YyBcCisiCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgcGFuZ28gZ2lmbGliIHRpZmYgbGlieG1sMiBqcGVnIHB5dGhvbiBsaWJ0b29sIHV0aGFzaCIKK0RFUEVORFNfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgbGlieGkiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBweXRob25uYXRpdmUgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiB4MTEiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS8ke0JQTn0vJHtCUE59LmdpdCIKKyMgdGFnIDIwMTUwODI0CitTUkNSRVYgPSAiMDdkNWNjZmYyNzA0ZjhhNTZmMWIzY2M2Njk1YTRlMzFmODVmODhlNiIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0VYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiB3aXRoX3g9bm8gLS1kaXNhYmxlLXB5dGhvbi1leHRlbnNpb24gLS1kaXNhYmxlLXB5dGhvbi1zY3JpcHRpbmciCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgICMgdXRoYXNoIHNvdXJjZXMgYXJlIGV4cGVjdGVkIGluIHV0aGFzaC9zcmMKKyAgICBjdXJyZGlyPWBwd2RgCisgICAgY2QgJHtTfQorCisgICAgbWtkaXIgLXAgdXRoYXNoL3NyYworICAgIGNwICR7U1RBR0lOR19JTkNESVJ9L3V0Ki5oIHV0aGFzaC9zcmMKKworICAgICMgYXZvaWQgYm9vdHN0cmFwIGNsb25pbmcgZ251bGliIG9uIGV2ZXJ5IGNvbmZpZ3VyZQorICAgIGNhdCA+LmdpdG1vZHVsZXMgPDxFT0YKK1tzdWJtb2R1bGUgImdudWxpYiJdCisgICAgICAgcGF0aCA9IGdudWxpYgorICAgICAgIHVybCA9IGdpdDovL2dpdC5zdi5nbnUub3JnL2dudWxpYgorRU9GCisgICAgY3AgLXJmICR7U1RBR0lOR19EQVRBRElSfS9nbnVsaWIgJHtTfQorCisgICAgIyAtLWZvcmNlIHRvIGF2b2lkIGVycm9ycyBvbiByZWNvbmZpZ3VyZSBlLmcgaWYgcmVjaXBlcyBjaGFuZ2VkIHdlIGRlcGVuZCBvbgorICAgICMgfCBib290c3RyYXA6IHJ1bm5pbmc6IGxpYnRvb2xpemUgLS1xdWlldAorICAgICMgfCBsaWJ0b29saXplOiAgIGVycm9yOiAnbGlibHRkbC9DT1BZSU5HLkxJQicgZXhpc3RzOiB1c2UgJy0tZm9yY2UnIHRvIG92ZXJ3cml0ZQorICAgICMgfCAuLi4KKyAgICAuL2Jvb3RzdHJhcCAtLWZvcmNlCisKKyAgICBjZCAkY3VycmRpcgorfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tcHl0aG9uLWRiZyAke1BOfS1weXRob24iCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7ZGF0YWRpcn0vbWltZSBcCisgICAgJHtkYXRhZGlyfS9pY29ucyBcCisiCisKK0ZJTEVTXyR7UE59LXB5dGhvbiA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSAke2RhdGFkaXJ9LyR7UE59L3B5dGhvbiIKK0ZJTEVTXyR7UE59LXB5dGhvbi1kYmcgPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vLmRlYnVnIgorUkRFUEVORFNfJHtQTn0tcHl0aG9uID0gInB5dGhvbiIKKworIyBmb3IgZS5nIGtkZSdzIG94eWdlbi1mb250cworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9nZWdsL2dlZ2wvcGtnY29uZmlnLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ2VnbC9nZWdsL3BrZ2NvbmZpZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTQ1YjYyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ2VnbC9nZWdsL3BrZ2NvbmZpZy5wYXRjaApAQCAtMCwwICsxLDIxIEBACitJbmRleDogZ2VnbC0wLjIuMC9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZWdsLTAuMi4wLm9yaWcvY29uZmlndXJlLmFjCTIwMTItMDQtMDIgMjE6NTY6NDkuMDAwMDAwMDAwICswMDAwCisrKysgZ2VnbC0wLjIuMC9jb25maWd1cmUuYWMJMjAxNC0wNy0xNyAyMTozNDoxNS4zMTI1NDY2MDIgKzAwMDAKK0BAIC03NjUsMTUgKzc2NSw3IEBACisgCisgaGF2ZV9zZGw9Im5vIgorIGlmIHRlc3QgIngkd2l0aF9zZGwiICE9ICJ4bm8iOyB0aGVuCistICBBQ19QQVRIX1BST0coU0RMX0NPTkZJRywgc2RsLWNvbmZpZywgbm8pCistICBpZiB0ZXN0ICIkU0RMX0NPTkZJRyIgPSAibm8iOyB0aGVuCistICAgIGhhdmVfc2RsPSJubyAgKFNETCBsaWJyYXJ5IG5vdCBmb3VuZCkiCistICAgIEFDX01TR19SRVNVTFQoWyoqKiBDaGVjayBmb3IgU0RMIGxpYnJhcnkgZmFpbGVkLl0pCistICBlbHNlCistICAgIGhhdmVfc2RsPSJ5ZXMiCistICAgIFNETF9DRkxBR1M9YCRTRExfQ09ORklHIC0tY2ZsYWdzYAorLSAgICBTRExfTElCUz1gJFNETF9DT05GSUcgLS1saWJzYAorLSAgZmkKKysgIFBLR19DSEVDS19NT0RVTEVTKFtTRExdLCBbc2RsXSwgW2hhdmVfc2RsPSJ5ZXMiXSwgW2hhdmVfc2RsPSJubyAgKFNETCBsaWJyYXJ5IG5vdCBmb3VuZCkiXSkKKyBmaQorIAorIEFNX0NPTkRJVElPTkFMKEhBVkVfU0RMLCB0ZXN0ICIkaGF2ZV9zZGwiID0gInllcyIpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9nZWdsL2dlZ2xfMC4zLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9nZWdsL2dlZ2xfMC4zLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTVjMWI2NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dlZ2wvZ2VnbF8wLjMuNC5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gIkdFR0wgKEdlbmVyaWMgR3JhcGhpY3MgTGlicmFyeSkgaXMgYSBncmFwaCBiYXNlZCBpbWFnZSBwcm9jZXNzaW5nIGZyYW1ld29yayIKK0xJQ0VOU0UgPSAiTEdQTC0zLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKK0RFUEVORFMgPSAiYmFibCBsaWJyc3ZnIGdsaWItMi4wIGd0aysgcGFuZ28gY2Fpcm8gZXhwYXQgemxpYiBsaWJwbmcganBlZyB2aXJ0dWFsL2xpYnNkbCBqc29uLWdsaWIiCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtZG9jcyIKKworaW5oZXJpdCBnbm9tZWJhc2UgdmFsYSBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbamFzcGVyXSA9ICItLXdpdGgtamFzcGVyLC0td2l0aG91dC1qYXNwZXIsamFzcGVyIgorUEFDS0FHRUNPTkZJR1thdmZvcm1hdF0gPSAiLS13aXRoLWxpYmF2Zm9ybWF0LC0td2l0aG91dC1saWJhdmZvcm1hdCxsaWJhdiIKK1BBQ0tBR0VDT05GSUdbbGNtc10gPSAiLS13aXRoLWxjbXMsLS13aXRob3V0LWxjbXMsbGNtcyIKK1BBQ0tBR0VDT05GSUdbdGlmZl0gPSAiLS13aXRoLWxpYnRpZmYsLS13aXRob3V0LWxpYnRpZmYsdGlmZiIKK1BBQ0tBR0VDT05GSUdbd2VicF0gPSAiLS13aXRoLXdlYnAsLS13aXRob3V0LXdlYnAsd2VicCIKKworU1JDX1VSSSA9ICJodHRwOi8vZnRwLmdpbXAub3JnL3B1Yi8ke0JQTn0vMC4zLyR7QlB9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vcGtnY29uZmlnLnBhdGNoICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJjMTk0NzgzMjE1OTRkNzE1YTRjYjMyNGEwZGVjZGE2ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4NDYyOTBhNzkwODU0ZDFlNmI3YzE3YTJkNmY4MmFkN2NiMTRjNzJlMjQwYmQzYjgxYjk4Y2MwY2VkZGJjM2VjIgorCisjIFRoZXJlIGFyZSBhIGNvdXBsZSBvZiBub24tc3ltbGluayAuc28gZmlsZXMgaW5zdGFsbGVkIGludG8gbGliZGlyLCB3aGljaCBuZWVkIHRvIGdvIGludG8gbWFpbiBwYWNrYWdlCitGSUxFU18ke1BOfV9hcHBlbmQgPSAiICR7bGliZGlyfS9nZWdsLTAuMy8qLnNvICR7bGliZGlyfS9nZWdsLTAuMy8qLmpzb24gJHtsaWJkaXJ9L2xpYmdlZ2wtbnBkLTAuMy5zbyAke2xpYmRpcn0vbGliZ2VnbC1zYy0wLjMuc28iCitGSUxFU18ke1BOfS1kZXZfYXBwZW5kID0gIiAke2xpYmRpcn0vZ2VnbC0wLjMvKi5sYSAke2xpYmRpcn0vbGliZ2VnbC0wLjMuc28iCitGSUxFU18ke1BOfS1kZXZfcmVtb3ZlID0gIiR7bGliZGlyfS9saWIqLnNvIgorCisjIEZhaWxzIHRvIGJ1aWxkIHdpdGggdGh1bWItMSAocWVtdWFybSkKKyMgZ2VnbC0wLjIuMC9vcGVyYXRpb25zL2NvbW1vbi9tYXR0aW5nLWdsb2JhbC5jOiBJbiBmdW5jdGlvbiAnbWF0dGluZ19wcm9jZXNzJzoKKyMgZ2VnbC0wLjIuMC9vcGVyYXRpb25zL2NvbW1vbi9tYXR0aW5nLWdsb2JhbC5jOjQ2MzoxOiBpbnRlcm5hbCBjb21waWxlciBlcnJvcjogaW4gcGF0Y2hfanVtcF9pbnNuLCBhdCBjZmdydGwuYzoxMjc1CitBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dpbXAvZ2ltcC8wMDAxLWNvbmZpZ3VyZS1hYy1kby1ub3QtY2hlY2stZm9yLWZyZWV0eXBlLWNvbmZpZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dpbXAvZ2ltcC8wMDAxLWNvbmZpZ3VyZS1hYy1kby1ub3QtY2hlY2stZm9yLWZyZWV0eXBlLWNvbmZpZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZWNkMDEyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ2ltcC9naW1wLzAwMDEtY29uZmlndXJlLWFjLWRvLW5vdC1jaGVjay1mb3ItZnJlZXR5cGUtY29uZmlnLnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK0Zyb20gNzJhZDc2ODQxZDg3ZTg1NzQyODY5M2Q4MTJhOTYxOTM1Mjg0YWM2MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFRodSwgMTIgRmViIDIwMTUgMTU6NTc6NDcgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlLWFjOiBkbyBub3QgY2hlY2sgZm9yIGZyZWV0eXBlLWNvbmZpZworTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitmcmVldHlwZS1jb25maWcgaXMgbm90IGFsbG93ZWQgaW4gb3VyIGVudmlyb25tZW50IC0gc2VlIGFsc28gYmluY29uZmlnLWRpc2FibGVkCisKK1Vwc3RyZWFtLVN0YXR1czogaW5hcHByb3ByaWF0ZSBbT0Ugc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDcgLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCAyNjgxMmI2Li5hYmVjNzE0IDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC02NDcsMTMgKzY0Nyw2IEBAIGlmIHRlc3QgIngkZm9udGNvbmZpZ19vayIgPSB4bm87IHRoZW4KKyBmaQorIAorIAorLUFDX1BBVEhfUFJPRyhGUkVFVFlQRV9DT05GSUcsIGZyZWV0eXBlLWNvbmZpZywgbm8pCistaWYgdGVzdCAieCRGUkVFVFlQRV9DT05GSUciICE9ICJ4bm8iIDsgdGhlbgorLSAgQUNfTVNHX0NIRUNLSU5HKFtmb3IgZnJlZXR5cGUgbGlicmFyaWVzXSkKKy0gIEZSRUVUWVBFX0xJQlM9YCRGUkVFVFlQRV9DT05GSUcgLS1saWJzYAorLSAgQUNfTVNHX1JFU1VMVCgkRlJFRVRZUEVfTElCUykKKy1maQorLUFDX1NVQlNUKEZSRUVUWVBFX0xJQlMpCisgCisgCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistLSAKKzEuOS4zCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dpbXAvZ2ltcC9idW1wX0JhYmwtR0VHTF92ZXJzaW9ucy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dpbXAvZ2ltcC9idW1wX0JhYmwtR0VHTF92ZXJzaW9ucy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNzFiZjMyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ2ltcC9naW1wL2J1bXBfQmFibC1HRUdMX3ZlcnNpb25zLnBhdGNoCkBAIC0wLDAgKzEsNTMgQEAKK0J1bXAgYWNjZXB0YWJsZSB2ZXJzaW9ucyBvZiBiYWJsIGFuZCBnZWdsLgorCitQYXRjaCBpcyB0YWtlbiBmcm9tIGRlYmlhbjoKK2h0dHBzOi8vcGFja2FnZXMuZGViaWFuLm9yZy9zdHJldGNoL2dpbXAKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorZGlmZiAtLWdpdCBhL2FwcC9zYW5pdHkuYyBiL2FwcC9zYW5pdHkuYworaW5kZXggZmViZGRmYi4uODVmZWE1NSAxMDA2NDQKKy0tLSBhL2FwcC9zYW5pdHkuYworKysrIGIvYXBwL3Nhbml0eS5jCitAQCAtMzUxLDcgKzM1MSw3IEBAIHNhbml0eV9jaGVja19iYWJsICh2b2lkKQorIAorICNkZWZpbmUgQkFCTF9SRVFVSVJFRF9NQUpPUiAwCisgI2RlZmluZSBCQUJMX1JFUVVJUkVEX01JTk9SIDEKKy0jZGVmaW5lIEJBQkxfUkVRVUlSRURfTUlDUk8gMTAKKysjZGVmaW5lIEJBQkxfUkVRVUlSRURfTUlDUk8gMTIKKyAKKyAgIGJhYmxfZ2V0X3ZlcnNpb24gKCZiYWJsX21ham9yX3ZlcnNpb24sCisgICAgICAgICAgICAgICAgICAgICAmYmFibF9taW5vcl92ZXJzaW9uLAorQEAgLTM4OCw3ICszODgsNyBAQCBzYW5pdHlfY2hlY2tfZ2VnbCAodm9pZCkKKyAgIGdpbnQgZ2VnbF9taWNyb192ZXJzaW9uOworIAorICNkZWZpbmUgR0VHTF9SRVFVSVJFRF9NQUpPUiAwCistI2RlZmluZSBHRUdMX1JFUVVJUkVEX01JTk9SIDIKKysjZGVmaW5lIEdFR0xfUkVRVUlSRURfTUlOT1IgMworICNkZWZpbmUgR0VHTF9SRVFVSVJFRF9NSUNSTyAwCisgCisgICBnZWdsX2dldF92ZXJzaW9uICgmZ2VnbF9tYWpvcl92ZXJzaW9uLAorZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggMjY4MTJiNi4uNDI1MmZlOSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNDAsOCArNDAsOCBAQCBtNF9kZWZpbmUoW2dpbXBfc3RhYmxlXSwKKyBtNF9kZWZpbmUoW2dpbXBfZnVsbF9uYW1lXSwgW0dOVSBJbWFnZSBNYW5pcHVsYXRpb24gUHJvZ3JhbV0pCisgCisgIyByZXF1aXJlZCB2ZXJzaW9ucyBvZiBvdGhlciBwYWNrYWdlcworLW00X2RlZmluZShbYmFibF9yZXF1aXJlZF92ZXJzaW9uXSwgWzAuMS4xMF0pCistbTRfZGVmaW5lKFtnZWdsX3JlcXVpcmVkX3ZlcnNpb25dLCBbMC4yLjBdKQorK200X2RlZmluZShbYmFibF9yZXF1aXJlZF92ZXJzaW9uXSwgWzAuMS4xMl0pCisrbTRfZGVmaW5lKFtnZWdsX3JlcXVpcmVkX3ZlcnNpb25dLCBbMC4zLjBdKQorIG00X2RlZmluZShbZ2xpYl9yZXF1aXJlZF92ZXJzaW9uXSwgWzIuMzAuMl0pCisgbTRfZGVmaW5lKFthdGtfcmVxdWlyZWRfdmVyc2lvbl0sIFsyLjIuMF0pCisgbTRfZGVmaW5lKFtndGtfcmVxdWlyZWRfdmVyc2lvbl0sIFsyLjI0LjEwXSkKK0BAIC01MTksNyArNTE5LDcgQEAgQUNfU1VCU1QoSVNPX0NPREVTX0xPQ0FMRURJUikKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgCisgUEtHX0NIRUNLX01PRFVMRVMoQkFCTCwgYmFibCA+PSBiYWJsX3JlcXVpcmVkX3ZlcnNpb24pCistUEtHX0NIRUNLX01PRFVMRVMoR0VHTCwgZ2VnbC0wLjIgPj0gZ2VnbF9yZXF1aXJlZF92ZXJzaW9uKQorK1BLR19DSEVDS19NT0RVTEVTKEdFR0wsIGdlZ2wtMC4zID49IGdlZ2xfcmVxdWlyZWRfdmVyc2lvbikKKyBQS0dfQ0hFQ0tfTU9EVUxFUyhBVEssIGF0ayA+PSBhdGtfcmVxdWlyZWRfdmVyc2lvbikKKyAKKyBBTV9QQVRIX0dMSUJfMl8wKGdsaWJfcmVxdWlyZWRfdmVyc2lvbiwgOiwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dpbXAvZ2ltcF8yLjguMTQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9naW1wL2dpbXBfMi44LjE0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5ZWQ0ZDkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9naW1wL2dpbXBfMi44LjE0LmJiCkBAIC0wLDAgKzEsMzIgQEAKK1NVTU1BUlkgPSAiVGhlIEdJTVAgaXMgdGhlIEdOVSBJbWFnZSBNYW5pcHVsYXRpb24gUHJvZ3JhbSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ2ltcC5vcmciCitTRUNUSU9OID0gIngxMS9ncmFwaGljcyIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworREVQRU5EUyA9ICJiYWJsIGdkay1waXhidWYtbmF0aXZlIGxpYmFydC1sZ3BsIGd0aysganBlZyBsaWJwbmcgbGliZXhpZiB0aWZmIGxjbXMgZ2VnbCBwb3BwbGVyIGphc3BlciBiemlwMiBsaWJndWRldiIKK0RFUEVORFMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ2xpYnhtdSBsaWJ4cG0nLCAnJywgZCl9IgorCitpbmhlcml0IGdub21lIGd0ay1kb2MKKworU1JDX1VSSSA9ICIgXAorICAgIGh0dHA6Ly9mdHAuZ2ltcC5vcmcvcHViL2dpbXAvdjIuOC9naW1wLSR7UFZ9LnRhci5iejIgXAorICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS1hYy1kby1ub3QtY2hlY2stZm9yLWZyZWV0eXBlLWNvbmZpZy5wYXRjaCBcCisgICAgZmlsZTovL2J1bXBfQmFibC1HRUdMX3ZlcnNpb25zLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICIyMzNjOTQ4MjAzMzgzZmEwNzg0MzRjYzNmOGY5MjVjYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkODJhOTU4NjQxYzljNzUyZDY4ZTM1ZjY1ODQwOTI1YzA4ZTMxNGNlYTkwMjIyYWQ4NDU4OTJhNDBlMDViMjJkIgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXB5dGhvbiBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LXdlYmtpdCBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LXdtZiIKKworZG9fY29uZmlndXJlX2FwcGVuZCgpIHsKKyAgICBmaW5kICR7Qn0gLW5hbWUgTWFrZWZpbGUgfCB4YXJncyBzZWQgLWkgczonLUkkKGluY2x1ZGVkaXIpJzonLUkuJzpnCisgICAgZmluZCAke0J9IC1uYW1lIE1ha2VmaWxlIHwgeGFyZ3Mgc2VkIC1pIHM6Jy1JL3Vzci9pbmNsdWRlJzonLUkke1NUQUdJTkdfSU5DRElSfSc6ZworfQorCitDRkxBR1MgKz0gIi1mUElDIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9naW1wLzIuMC8qLy5kZWJ1ZyIKK0ZJTEVTXyR7UE59ICArPSAiJHtkYXRhZGlyfS9hcHBkYXRhIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ2xjb21wYmVuY2gvZ2xjb21wYmVuY2gvZ2xiZW5jaC1jb21waWxlLWZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dsY29tcGJlbmNoL2dsY29tcGJlbmNoL2dsYmVuY2gtY29tcGlsZS1maXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzc0YTZjZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dsY29tcGJlbmNoL2dsY29tcGJlbmNoL2dsYmVuY2gtY29tcGlsZS1maXgucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorRnJvbSBjNGJjNDRjM2FiZjY5ZjI2ZTRjMmI3Njg0ZjRkYTQ2NzBhNTFmOTkzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUHJhYmh1IFN1bmRhcmFyYWogPHByYWJodS5zdW5kYXJhcmFqQGZyZWVzY2FsZS5jb20+CitEYXRlOiBUdWUsIDUgTm92IDIwMTMgMTE6MDM6MDQgLTA2MDAKK1N1YmplY3Q6IFtQQVRDSF0gdG8gbWFrZSBjb21waWxhYmxlCisKK1Vwc3RyZWFtIFN0YXR1czogSW5hcHByb3ByaWF0ZSBbd29ya2Fyb3VuZF0KKworU2lnbmVkLW9mZi1ieTogUHJhYmh1IFN1bmRhcmFyYWogPHByYWJodS5zdW5kYXJhcmFqQGZyZWVzY2FsZS5jb20+CistLS0KKyBzcmMvY29tcG9zaXRlLXRlc3Qtc2ltcGxlLWJsdXIuY2MgfCAyICsrCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3JjL2NvbXBvc2l0ZS10ZXN0LXNpbXBsZS1ibHVyLmNjIGIvc3JjL2NvbXBvc2l0ZS10ZXN0LXNpbXBsZS1ibHVyLmNjCitpbmRleCAxNzBhZDY0Li5kN2Y3N2NmIDEwMDY0NAorLS0tIGEvc3JjL2NvbXBvc2l0ZS10ZXN0LXNpbXBsZS1ibHVyLmNjCisrKysgYi9zcmMvY29tcG9zaXRlLXRlc3Qtc2ltcGxlLWJsdXIuY2MKK0BAIC0zNDcsNiArMzQ3LDcgQEAgQ29tcG9zaXRlVGVzdFNpbXBsZUJsdXI6OkNvbXBvc2l0ZVRlc3RTaW1wbGVCbHVyKCkgOgorIAorIENvbXBvc2l0ZVRlc3RTaW1wbGVCbHVyOjp+Q29tcG9zaXRlVGVzdFNpbXBsZUJsdXIoKQorIHsKKysjaWYgMAorICAgICBmb3IgKEJsdXJXaW5kb3dNYXBUeXBlOjppdGVyYXRvciB3aW5JdCA9IHByaXZfLT53aW5kb3dNYXAuYmVnaW4oKTsKKyAgICAgICAgICB3aW5JdCAhPSBwcml2Xy0+d2luZG93TWFwLmVuZCgpOworICAgICAgICAgIHdpbkl0KyspCitAQCAtMzU0LDYgKzM1NSw3IEBAIENvbXBvc2l0ZVRlc3RTaW1wbGVCbHVyOjp+Q29tcG9zaXRlVGVzdFNpbXBsZUJsdXIoKQorICAgICAgICAgUmVuZGVyV2luZG93Qmx1ciogcm8gPSB3aW5JdC0+c2Vjb25kOworICAgICAgICAgZGVsZXRlIHJvOworICAgICB9CisrI2VuZGlmCisgICAgIGRlbGV0ZSBwcml2XzsKKyB9CisgCistLSAKKzEuOC4xLjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ2xjb21wYmVuY2gvZ2xjb21wYmVuY2hfMjAxMi4wOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dsY29tcGJlbmNoL2dsY29tcGJlbmNoXzIwMTIuMDguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDBmNDQ5NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dsY29tcGJlbmNoL2dsY29tcGJlbmNoXzIwMTIuMDguYmIKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJBIGJlbmNobWFyayBmb3IgR0woRVMpMiBiYXNlZCBjb21wb3NpdGluZyBvcGVyYXRpb25zIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWYyN2RlZmUxZTk2YzJlMWVjZDRlMGM5YmU4OTY3OTQ5IgorCitERVBFTkRTID0gInZpcnR1YWwvbGliZ2wgdmlydHVhbC9lZ2wgdmlydHVhbC9saWJnbGVzMSB2aXJ0dWFsL2xpYmdsZXMyIFwKKyAgICAgICAgICAgdmlydHVhbC9saWJ4MTEgbGlieGNvbXBvc2l0ZSBwaXhtYW4gbGlieHJlbmRlciBsaWJwbmcxMiIKKworU1JDX1VSSSA9ICJodHRwczovL2xhdW5jaHBhZC5uZXQvZ2xjb21wYmVuY2gvdHJ1bmsvJHtQVn0vK2Rvd25sb2FkLyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZ2xiZW5jaC1jb21waWxlLWZpeC5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gImM5MzlkOTE1NmZlOTQwOTYwMDk4ZjM4NzA3ZmVhODI3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImIwNGI3MzhjZWMwNmM2Nzg2Y2VhZmE4NmU0NzM1ZmQ4Yjk3MWMwNzgyNjU3NTQ4NTRlZjM1NmIwMzc5NTQyZWUiCisKK2luaGVyaXQgcGtnY29uZmlnIHdhZiBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKyMgZGVwZW5kcyBvbiB2aXJ0dWFsL2xpYngxMQorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dwaG90bzIvZ3Bob3RvMi0yLjUuOC8wMDAxLWNvbmZpZ3VyZS5hYy1yZW1vdmUtQU1fUE9fU1VCRElSUy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dwaG90bzIvZ3Bob3RvMi0yLjUuOC8wMDAxLWNvbmZpZ3VyZS5hYy1yZW1vdmUtQU1fUE9fU1VCRElSUy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ODAwZmRkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ3Bob3RvMi9ncGhvdG8yLTIuNS44LzAwMDEtY29uZmlndXJlLmFjLXJlbW92ZS1BTV9QT19TVUJESVJTLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK0Zyb20gNjBiNmQ1Yzk1Y2EzNjMyZTAyMDMxYWMwNGZiNTQ4NmRkMjA5MDExYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFuZHJlYXMgQmFhayA8YW5kcmVhcy5iYWFrQGdtYWlsLmNvbT4KK0RhdGU6IFN1biwgMTIgSnVsIDIwMTUgMDE6MDI6MTUgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlLmFjIHJlbW92ZSBBTV9QT19TVUJESVJTCisKK1RoaXMgaXMgZG9uZSB0d2ljZSB0b2dldGhlciB3aXRoIG9lIGF1dG90b29scy5iYmNsYXNzLgorCistLS0KKyBjb25maWd1cmUuYWMgfCAxIC0KKyAxIGZpbGUgY2hhbmdlZCwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCBiYjViNzk1Li45M2ZiYWYyIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC02NCw3ICs2NCw2IEBAIEdQX0dFVFRFWFRfSEFDSyhbXSxbTHV0eiBNw7xsbGVyIGFuZCBvdGhlcnNdLFske01BSUxfR1BIT1RPX1RSQU5TTEFUSU9OfV0pCisgQUxMX0xJTkdVQVM9ImF6IGNzIGRhIGRlIGVuX0dCIGVzIGV1IGZpIGZyIGh1IGlkIGlzIGl0IGphIG5sIHBhIHBsIHB0X0JSIHJvIHJ1IHJ3IHNrIHNyIHN2IHVrIHZpIHpoX0NOIHpoX1RXIgorIEFNX0dOVV9HRVRURVhUX1ZFUlNJT04oWzAuMTQuMV0pCisgQU1fR05VX0dFVFRFWFQoW2V4dGVybmFsXSkKKy1BTV9QT19TVUJESVJTKCkKKyBBTV9JQ09OVigpCisgR1BfR0VUVEVYVF9GTEFHUygpCisgCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dwaG90bzIvZ3Bob3RvMi0yLjUuOC8wMDAyLUxvb2stZm9yLXBvcHQtd2l0aC1HUF9DSEVDS19MSUJSQVJZLWZ1bmN0aW9uLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ3Bob3RvMi9ncGhvdG8yLTIuNS44LzAwMDItTG9vay1mb3ItcG9wdC13aXRoLUdQX0NIRUNLX0xJQlJBUlktZnVuY3Rpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTZjN2RkNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dwaG90bzIvZ3Bob3RvMi0yLjUuOC8wMDAyLUxvb2stZm9yLXBvcHQtd2l0aC1HUF9DSEVDS19MSUJSQVJZLWZ1bmN0aW9uLnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Zyb20gODg0ZDRjOWJiZDJkYzE0N2Q2MTRhNWZhYmMyNWRiZWE3YTcxY2Q0OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFuZHJlYXMgQmFhayA8YW5kcmVhcy5iYWFrQGdtYWlsLmNvbT4KK0RhdGU6IFN1biwgMTIgSnVsIDIwMTUgMDI6MTM6NTggLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gTG9vayBmb3IgcG9wdCB3aXRoIEdQX0NIRUNLX0xJQlJBUlkgZnVuY3Rpb24KKworVGhlIHByZXZpb3VzbHkgdXNlZCBwcm9wcmlldGFyeSBmdW5jdGlvbiBHUF9DSEVDS19QT1BUCitkZWZpbmVkIGluIC8ubTRtL2dwLWNoZWNrLW9wdC5tNCBpcyBub3QgcmVhZHkgZm9yIGNyb3NzCitjb21waWxhdGlvbiBzaW5jZSBpdCBsb29rcyBmb3IgdGhlIGxpYnJhcnkgYW5kIGhlYWRlcnMKK2luIHRoZSBob3N0IHN5c3RlbS4gWW9jdG8gcmVwb3J0cyB0aGUgZm9sbG93aW5nIGVycm9yOgorIlFBIElzc3VlOiBncGhvdG8yOiBUaGUgY29tcGlsZSBsb2cgaW5kaWNhdGVzIHRoYXQgaG9zdAoraW5jbHVkZSBhbmQvb3IgbGlicmFyeSBwYXRocyB3ZXJlIHVzZWQuIgorVXNpbmcgdGhlIEdQX0NIRUNLX0xJQlJBUlkgZnVuY3Rpb24gZml4ZXMgdGhpcyBwcm9ibGVtCistLS0KKyBjb25maWd1cmUuYWMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDkzZmJhZjIuLjZkNjYxZjAgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTI4NSw3ICsyODUsNyBAQCBHUF9DT05GSUdfTVNHKFtUZXh0IHByZXZpZXcgc3VwcG9ydF0sWyRhYV9tc2ddKQorIGRubCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBkbmwgcG9wdC5oOiBTaW1wbGlmaWVzIGhhbmRsaW5nIG9mIGNvbW1hbmQtbGluZSBvcHRpb25zIGVub3Jtb3VzbHkuCisgZG5sIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLUdQX0NIRUNLX1BPUFQoW21hbmRhdG9yeV0pCisrR1BfQ0hFQ0tfTElCUkFSWShbUE9QVF0sIFtwb3B0XSwgW10sIFtwb3B0LmhdLCBbXSwgW10sIFttYW5kYXRvcnldKQorIAorIAorIGRubCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ3Bob3RvMi9ncGhvdG8yXzIuNS44LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ3Bob3RvMi9ncGhvdG8yXzIuNS44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyZDI4M2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ncGhvdG8yL2dwaG90bzJfMi41LjguYmIKQEAgLTAsMCArMSwyMiBAQAorU1VNTUFSWSA9ICJncGhvdG8yIC0gYSBjb21tYW5kLWxpbmUgZnJvbnRlbmQgdG8gbGliZ3Bob3RvMiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ3Bob3RvLmNvbS8iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIiCisKK0RFUEVORFMgPSAibGliZ3Bob3RvMiBwb3B0IHJlYWRsaW5lIgorUkRFUEVORFNfZ3Bob3RvMiA9ICJsaWJncGhvdG8yIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9ncGhvdG8vZ3Bob3RvMi0ke1BWfS50YXIuYnoyO25hbWU9Z3Bob3RvMiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS5hYy1yZW1vdmUtQU1fUE9fU1VCRElSUy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLUxvb2stZm9yLXBvcHQtd2l0aC1HUF9DSEVDS19MSUJSQVJZLWZ1bmN0aW9uLnBhdGNoIFwKKyIKKworU1JDX1VSSVtncGhvdG8yLm1kNXN1bV0gPSAiYmFlMzY5YWVlNjg4MWU1OTBjNWM5MWJkYmIxMWE1ZjgiCitTUkNfVVJJW2dwaG90bzIuc2hhMjU2c3VtXSA9ICJhOWFiY2QxNWQ5NWYyMDUzMThkMTdlM2FjMTJhZjdjZTUyM2QyYmM0OTQzNzA5ZDUwYjBhMTJjMzBjYzVlZTRkIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dAorCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aC1qcGVnLXByZWZpeD0ke1NUQUdJTkdfSU5DRElSfSBcCisgICAgICAgICAgICAgICAgIC0td2l0aG91dC1jZGsgXAorIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ncGhvdG8yL2xpYmdwaG90bzItMi41LjgvMDAwMS1jb25maWd1cmUuYWMtcmVtb3ZlLUFNX1BPX1NVQkRJUlMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ncGhvdG8yL2xpYmdwaG90bzItMi41LjgvMDAwMS1jb25maWd1cmUuYWMtcmVtb3ZlLUFNX1BPX1NVQkRJUlMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODA5MzY3NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dwaG90bzIvbGliZ3Bob3RvMi0yLjUuOC8wMDAxLWNvbmZpZ3VyZS5hYy1yZW1vdmUtQU1fUE9fU1VCRElSUy5wYXRjaApAQCAtMCwwICsxLDQ4IEBACitGcm9tIDMxYTVkMmY3ZGIxODczN2FlZjA4YzM0ZTg3MDdiNGY2OWY3ZTUxNTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBTdW4sIDIxIE9jdCAyMDEyIDE3OjU5OjIwICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZS5hYzogcmVtb3ZlIEFNX1BPX1NVQkRJUlMKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKwordG9nZXRoZXIgd2l0aCBvZSBhdXRvdG9vbHMuYmJjbGFzcyB0aGlzIGlzIGRvbmUgdHdpY2UgYW5kIGNhdXNlczoKKworfCBhdXRvcmVjb25mOiBydW5uaW5nOiBhY2xvY2FsIC0tc3lzdGVtLWFjZGlyPS9ob21lL1N1cGVyYW5keS90bXAvb2UtY29yZS1lZ2xpYmMvd29yay9hcm12N2EtdmZwLW5lb24tYW5nc3Ryb20tbGludXgtZ251ZWFiaS9saWJncGhvdG8yLTIuNC4xMS1yMi9saWJncGhvdG8yLTIuNC4xMS9hY2xvY2FsLWNvcHkvIC0tYXV0b21ha2UtYWNkaXI9L2hvbWUvU3VwZXJhbmR5L3RtcC9vZS1jb3JlLWVnbGliYy9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL3NoYXJlL2FjbG9jYWwtMS4xMiAtSSAvaG9tZS9TdXBlcmFuZHkvdG1wL29lLWNvcmUtZWdsaWJjL3dvcmsvYXJtdjdhLXZmcC1uZW9uLWFuZ3N0cm9tLWxpbnV4LWdudWVhYmkvbGliZ3Bob3RvMi0yLjQuMTEtcjIvbGliZ3Bob3RvMi0yLjQuMTEvYXV0by1tNC8gLUkgL2hvbWUvU3VwZXJhbmR5L3RtcC9vZS1jb3JlLWVnbGliYy93b3JrL2FybXY3YS12ZnAtbmVvbi1hbmdzdHJvbS1saW51eC1nbnVlYWJpL2xpYmdwaG90bzItMi40LjExLXIyL2xpYmdwaG90bzItMi40LjExL200bS8gLUkgL2hvbWUvU3VwZXJhbmR5L3RtcC9vZS1jb3JlLWVnbGliYy93b3JrL2FybXY3YS12ZnAtbmVvbi1hbmdzdHJvbS1saW51eC1nbnVlYWJpL2xpYmdwaG90bzItMi40LjExLXIyL2xpYmdwaG90bzItMi40LjExL2F1dG8tbTQvIC1JIC9ob21lL1N1cGVyYW5keS90bXAvb2UtY29yZS1lZ2xpYmMvd29yay9hcm12N2EtdmZwLW5lb24tYW5nc3Ryb20tbGludXgtZ251ZWFiaS9saWJncGhvdG8yLTIuNC4xMS1yMi9saWJncGhvdG8yLTIuNC4xMS9tNG0vIC0tZm9yY2UgLUkgYXV0by1tNCAtSSBtNG0KK3wgY29uZmlndXJlLmFjOjIzMDogZXJyb3I6IGBwby1kaXJlY3RvcmllcycgaXMgYWxyZWFkeSByZWdpc3RlcmVkIHdpdGggQUNfQ09ORklHX0NPTU1BTkRTLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgY29uZmlndXJlLmFjICAgICAgICAgICAgICAgICB8ICAgIDEgLQorIGxpYmdwaG90bzJfcG9ydC9jb25maWd1cmUuYWMgfCAgICAxIC0KKyAyIGZpbGVzIGNoYW5nZWQsIDAgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggMmY4ZTFiOC4uMmU5MGFjZiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMjA5LDcgKzIwOSw2IEBAIEFMTF9MSU5HVUFTPSJjcyBkYSBkZSBlcyBldSBmciBodSBpdCBqYSBubCBwbCBydSBzdiB1ayB2aSB6aF9DTiIKKyBHUF9HRVRURVhUX0hBQ0soWyR7UEFDS0FHRX0tJHtMSUJHUEhPVE8yX0NVUlJFTlRfTUlOfV0sW1RoZSBnUGhvdG8gVGVhbV0sWyR7TUFJTF9HUEhPVE9fVFJBTlNMQVRJT059XSkKKyBBTV9HTlVfR0VUVEVYVF9WRVJTSU9OKFswLjE0LjFdKQorIEFNX0dOVV9HRVRURVhUKFtleHRlcm5hbF0pCistQU1fUE9fU1VCRElSUygpCisgQU1fSUNPTlYoKQorIEdQX0dFVFRFWFRfRkxBR1MoKQorIAorZGlmZiAtLWdpdCBhL2xpYmdwaG90bzJfcG9ydC9jb25maWd1cmUuYWMgYi9saWJncGhvdG8yX3BvcnQvY29uZmlndXJlLmFjCitpbmRleCAwYjY2ZDU4Li5kZjQ3MzU3IDEwMDY0NAorLS0tIGEvbGliZ3Bob3RvMl9wb3J0L2NvbmZpZ3VyZS5hYworKysrIGIvbGliZ3Bob3RvMl9wb3J0L2NvbmZpZ3VyZS5hYworQEAgLTEyNCw3ICsxMjQsNiBAQCBHUF9HRVRURVhUX0hBQ0soWyR7UEFDS0FHRX0tJHtMSUJHUEhPVE8yX1BPUlRfQ1VSUkVOVF9NSU59XSxbTHV0eiBNdWVsbGVyIGFuZCBvdAorIEFMTF9MSU5HVUFTPSJjcyBkYSBkZSBlcyBldSBmaSBmciBpdCBqYSBubCBwbCBwdF9CUiBydSBzayBzciBzdiB1ayB2aSB6aF9DTiB6aF9UVyIKKyBBTV9HTlVfR0VUVEVYVF9WRVJTSU9OKFswLjE0LjFdKQorIEFNX0dOVV9HRVRURVhUKFtleHRlcm5hbF0pCistQU1fUE9fU1VCRElSUygpCisgQU1fSUNPTlYoKQorIEdQX0dFVFRFWFRfRkxBR1MoKQorIAorLS0gCisxLjcuNC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dwaG90bzIvbGliZ3Bob3RvMi0yLjUuOC8xMC1jYW1lcmEtbGliZ3Bob3RvMi1kZXZpY2UuZmRpIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ3Bob3RvMi9saWJncGhvdG8yLTIuNS44LzEwLWNhbWVyYS1saWJncGhvdG8yLWRldmljZS5mZGkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzk3NzA2NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dwaG90bzIvbGliZ3Bob3RvMi0yLjUuOC8xMC1jYW1lcmEtbGliZ3Bob3RvMi1kZXZpY2UuZmRpCkBAIC0wLDAgKzEsOTUzMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PiA8IS0tIC0qLSBTR01MIC0qLSAtLT4KKzwhLS0gVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgbGliZ3Bob3RvMiBwcmludC1jYW1lcmEtbGlzdCAtIC0gZmRpLWRldmljZSAtLT4KKzwhLS0rCisgICAgfCBDcmVhdGVkIGZyb20gdGhpcyBsaWJyYXJ5OgorICAgIHwgICBsaWJncGhvdG8yICAgICAgMi41LjggICAgICAgICAgYWxsIGNhbWxpYnMsIGdjYywgbHRkbCwgbm8gRVhJRgorICAgIHwgICBsaWJncGhvdG8yX3BvcnQgMC4xMi4wICAgICAgICAgZ2NjLCBsdGRsLCBubyBVU0IsIHNlcmlhbCB3aXRob3V0IGxvY2tpbmcKKyAgICArLS0+Cis8ZGV2aWNlaW5mbyB2ZXJzaW9uPSIwLjIiPgorIDxkZXZpY2U+CisgIDxtYXRjaCBrZXk9ImluZm8uc3Vic3lzdGVtIiBzdHJpbmc9InVzYiI+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTUxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzI1MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTMyNTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzODkxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzYyOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTM4NjkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzNzAyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzEyOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTMxMjkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzMTMwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzI3MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTMxODAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzMTgxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzI1OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTMwOTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzMTIxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzEyNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTMxMjUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzMTkzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzE5NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTMxNzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzNTg4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzczNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTM4OTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MTE3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzgzMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTM0MjciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzNjYzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzkxMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTMyMjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzNzk2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzg1MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI1ODQ1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzI3NzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNTg0NSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMyNzczIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTcyNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEwMjciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTcyNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEwMjgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI3NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNTU1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI3NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNTU0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjI1MCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjc2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA1NTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI3NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNTU1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjcwOTkiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNzA5OSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgyMDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNzA5OSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwNzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNzA5OSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQwOTc0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjcwOTkiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI2MTQ0MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI3MDk5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzY5NDEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNzA5OSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM1OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTUxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjY0NzMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDQ4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjY0NzMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjY0NzMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjY0NzMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2NDczIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjQ3MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjY0NzMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2NDczIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjQ3MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjQ3MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI0MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTQ4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0NTIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NzYyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0NTIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0Nzc5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0NTIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NzUyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0NTIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NzU0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0NTIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NzU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0NTIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NzU5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0NTIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NzY4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0NTIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0Nzc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0NTIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NzUzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0NTIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NzU1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0NTIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NzYxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDQ4OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA0ODkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2Mzg2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NDE2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NDE3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NDMzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NDMyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MzA1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NDQ4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NjE4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0ODkzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NjIwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0ODY1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0ODY3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0ODgxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0ODk3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjc4NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDkxMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDkxNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4NDEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ4NzEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgyMDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ5NTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ5NDUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ4NzMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ4NzUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ4ODMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ4ODUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ5MTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ4NzciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ4NzkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ4ODkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUzNTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU0ODAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU0ODEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUzMTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU0MDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUzODQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUzODUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUyOTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUyNzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUyMjciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUyMTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUyMDgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNzE1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NjE1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0OTI5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0ODkxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NjE2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzNjIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjM2MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3MTgwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzMjkiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzYyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjcxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNjk1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjMwNTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE5NjgwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxOTY4MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA4MTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwNTc5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTUxOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjE1MzUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIxNzc1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTc2MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTk2NjQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE5NjY1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTAyMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjEwMDciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE5NjQ4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxOTY0OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjE2MDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIxNjA4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTUwNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjE1MjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIxNTIxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTYwNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzA1NzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIxNzY2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTg1NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA5OTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwOTkzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTAwOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjEwMDkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIxMDEyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTAyNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjEwMjUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIxMDQwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTA0MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTk5NjgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE5OTY5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxOTk4MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTk5OTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE5NzEyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxOTcxMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTk1ODQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE5NTg1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxOTYwMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTk2MDEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE5NjE2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxOTYxNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjIwNDciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI0MzIyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMjU0MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjI1NTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIxNjMyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTYzMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzA1OTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIxNjQ4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTY0OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM2OTQ1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjgzMjAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjgzMjAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExODkiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjI5MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI3NDkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTc4MjEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA4MjMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMjUyOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDgyMyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgyMDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA4MjMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMDc0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM1OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI3MzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNzMzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjc3NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI3ODciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyOTA0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQ4MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzNjUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNzkxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM5MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0NzkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDA1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQ3NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1NTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDY4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjU0MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1NzIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTQyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjYyMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1MzAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjIyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjU2NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2NzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTY5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjY2MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1OTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjQwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjY2MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1NjUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNzQwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjYxOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2MzkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjU5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjY5MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI3MzciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDQzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQ0MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0ODQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDAyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQ3MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1MzIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMzcwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM4OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0MDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDAxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjUyOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1MjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMzk0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQyNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0MjMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDUzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjY2NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI5MTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDE5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQ3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4MjMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyOTI3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjUyMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2MTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNzUyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjgyNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1MjMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTI0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQyMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0NDEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTYzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjUyNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1MjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTI2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjU2MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2MTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjEzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjc1MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2OTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNzc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjU0NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1NDYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjk3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjg1OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4MjQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyODIxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjg1OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4ODAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyOTE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjg4MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2OTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyOTExIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzODQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDIwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQ0MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1NjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDIwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQ0MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1MjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTYwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjYxMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI3NTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyODYxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjk1MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI3NTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjEzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQzMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4NjUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyOTY5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjgzNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI3NzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjkxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM1OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzNjMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDg0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM5NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0MzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDEyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQxMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0NDgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDM4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQzMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0MTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDE2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQ1NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzOTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDI5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQxOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0MTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDE2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM5NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0MzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDU3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjU0OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0MzAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMzY3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM4NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2ODYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNzM5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjg2MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI5MDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMzY2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM4NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2ODkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNzM0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjg0MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4NzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyODczIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjkxMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4OTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMzc3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQwNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI3ODYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDcyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjc4NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4OTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMzc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQ3MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4NjciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTM3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjU1OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1MzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjI5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjYxNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2NjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNzM1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjc4MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0ODIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDgxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjU4MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1NzEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjI0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjYyMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2MjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjYzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjY2MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0MDQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTQxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjU0MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2MDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjAxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjYzNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0MDMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTY3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjYwMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2MzciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDY5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQ0MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4MzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyODYzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQ3MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0NzUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNzMyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjkzNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI5MzciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMzYwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjg1MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2ODciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNzY3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjg4OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzNzMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMzk4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM5OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0MjEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDY3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjU4MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2MzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDQzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM2MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0NDQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMzUzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjg1NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzNTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMzY5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjg5MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI5MTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTI4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM1NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzODkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDAwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQwMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1NzAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMzc1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM2NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzOTAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMzc0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQwNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0NzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMzk2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM5NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2MTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDA3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQ2OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0NjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDY1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjUzOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4MTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDQzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQwMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2MjMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDcwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjY3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI3NDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNzg4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQ4NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0ODAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTk5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjUyOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1NDMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTMwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjU3MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1NDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTY5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjYyMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2NjEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNzM4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjY2MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2MTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjk0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjU2NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI3NzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNzM3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjY5MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2ODUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjM4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjY5MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI3NjgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyODE3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjg1MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4OTAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyOTE4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjc3MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI3MzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNzkwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjg0NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4NDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyODY5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjg2OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4OTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyODU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjg5MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI5MTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyOTU1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM2OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzODAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNzc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjgyMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4NTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDA4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5OTkiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MTY5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5OTkiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MTYyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5OTkiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MTczIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5OTkiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MTcyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5OTkiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NDc0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNzUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0OTY2NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjA3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzQ5ODUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzE1MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM2OTU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQwOTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTQzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzI3NjkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU0OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM2OTU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijc3OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTg3NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI3NzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzQ3OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NjQwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4NTc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4NTc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzMjkiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzYxNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIzODYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzYxNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE4MDkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzYxNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE4NzMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzYxNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIzMjEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzYxNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIzNjkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzYxNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNDkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzYxNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIxNjEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzYxNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIxOTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzYxNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIxNDUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzYxNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIxNzciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzYxNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIzMzciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzYxNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIzMDUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzYxNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE3OTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzYxNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE4ODkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzYxNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIzNTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NDA2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjM5MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTYzOTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NDAyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjM5NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY0MDMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2Njc1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjcyNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY2ODgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NzAwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjY5MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY3MzciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2Njk1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjcwMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY2ODkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NzIwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjcyOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY3MjIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NjcxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjcyMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY3MDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NzIxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjczOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY3NDUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NjgwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQyMDQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjgyMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMTI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNDI4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDEyOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODQ5NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM2OTU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzE0MSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMyNzY4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjY5MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY2ODciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY3MDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NTMyMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNjcwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ1MzM4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE2NzAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDUzMzkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY3MDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNzY2NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM2OTU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijc5OTQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMDc0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzNjIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDk4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDEyMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzMjkiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0NDgzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDk4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDEyOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjcyNiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI0NjA5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzY5NDQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNjk0NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MzEwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODcwNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzYyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjcwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzNjIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEwMjciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEwMjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA2MDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MjAwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNjA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzA3NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MDE4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTYzODUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTc0NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg2MzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzUzMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzUzMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMzMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDY2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ2NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTM5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MDMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ4MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDQ4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0ODQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQxMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDQ5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ2OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDg2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MDYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUyNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTU3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI2MjUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU5MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDc3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NzUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ5NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTEyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0ODgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUyMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI2MzciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjYxMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNjY0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ3MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDQ3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMjIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM5OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNjY4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NjMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjYyMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNjExIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI2NzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjY0OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDcyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUyNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTEwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI2OTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDUxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzMjkiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ0MTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ5MjMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjMzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijk2MDUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzE1MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzI5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExMTIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyODY3NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzQ5MDgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA0NCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgyMDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA0NCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwNzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTUxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwMDMzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYzNTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDAzNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MzUzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTk5ODMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE5NzEyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYzNTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMTUyMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MzUzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjk3MDYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUzNTE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYzNTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MzUxMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MzUzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjAxOTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwMTk0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYzNTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NTA2NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MzUzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjg4NDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwMDA1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYzNTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDAwNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MzUzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTQ1OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MzUzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjg5MzAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwMTk3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijk4NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTQzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzI3OTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzE1MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0ODY2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDExOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0ODY2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDExOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzYyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjcwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMyMjg1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMzgzNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjM1ODEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDI1MSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3MTI2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQyNTEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzEyOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MjUxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzcxMjUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1ODU4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTA5MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzE3NDYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMyMDAyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTM0NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjYxMTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI5Njk4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMDcyMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjkxODYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI4MTYyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMDk3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjc5MDYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1MzQ2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjY0MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjY2MjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI4OTMwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzM5NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjU2MDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwMjEwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNjM3MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjc2NTAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3MTM4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjg5OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzA0NjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMyMjU4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNzE1NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY2NDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE3NDEwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNzY2NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY2NDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI0NTc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYxNDQzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjQ1NzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM1NTg2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTg0MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjk5NTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMxNDkwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyOTQ0MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzEyMzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMyNzcwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMzAyNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzMyODIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM5NjgyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMzc5NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzQwNTAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM4NDAyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzODY1OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzQ1NjIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM0ODE4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNjcxNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjY3MjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwNzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgyMDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3ODIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3NzMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM1ODMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMyMTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMyNDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM1ODIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM1NTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE1MzMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM1NDEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM2MzMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM2MzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM1NzMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE5NjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM1NDYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM5ODUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM5NDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM5MzkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM5NzUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM5MzUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM5MzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM1NjIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM1MzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE5OTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM4NzciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE1NjIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQwMjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQwMjEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE5OTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwMDkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMzMDgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM1NzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM1NzciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM1NzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM1NzkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM1ODAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM1ODEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwMDgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgyMTAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE1NDciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM1MzMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjYxNjQyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyOTc3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyOTc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQ4MTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MjI2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQ4MTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzgzOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0ODE3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTM4NTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDgxNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQxNzciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDgxNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQxNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzIwMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExNjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0OTE4OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzYyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjcwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjY2NTUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3NzEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjY1NSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc3NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2NjU1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzc1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjMyOTAzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjY1NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzMjkwMyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1ODEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzI5MDMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTgyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjMyOTAyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTU4NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzMjkwMyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI2NTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzI5MDMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTU1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjM2MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQzOTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MzkwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDQxNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ0MTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NDM0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDQ1NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ0MzMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4NDQ5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODQ1MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg0NTAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDEwMiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMjkyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDEwNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQzODYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDEwMiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2Mzg2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQxMDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjM4NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ0MjMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MzcxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDM4NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQzNzUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MzczIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDM3MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQzNzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0Mzc3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDQzNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ0MDQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDE2MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ0MTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNzc4NCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQwOTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0Mzc0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDQwMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODQ4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTY4MTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTkyNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTUxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzY5NTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTMwNTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzQ3OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NjQwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0OTgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MTAyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTYxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTQ1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjU2NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjY1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjQ4MzciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjEyNiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjg1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQxMDgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODc1OSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUzNTEyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg3NTkiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MzUxMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4NzU5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDUzMjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE1NTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE1NDciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MDYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MjEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0NTAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0NDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0NjMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0NjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0NDciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0NTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0NTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0NzUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0NDkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0NzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzNzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzNzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzMzMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzODIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzODIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzOTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzOTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzOTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MDEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MDMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MDQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjg4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyODkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjczIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMDQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzA2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTMxNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI5NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTMyOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzY4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzY1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzk4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzYwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzkyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzk0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzk3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDA1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDA3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzk5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3NjgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzNDQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzODQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzODUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzODEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzODMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0ODYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE1MzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MzkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0NzMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0NTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEwMjQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MjciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MjIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MjMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MjUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0NDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0NTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0NTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0NjQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MzciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0NTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0NjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MDgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEwMjciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0NjEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MjkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0ODciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0ODUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0NzIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE4MjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDkwNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDkwNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQ5MDciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQ5MDciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQ5MDciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0OTA3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNzk5NCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQxMDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE1NCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI0MjUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE1NCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNjQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE1NCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzOTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE1NCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNjk0NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iOTA3NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2ODA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzA1MTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwNTA3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYxMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyOTg0OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzAxNDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwMTQyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYxMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMDAxOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzAwNzciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwNDQwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYxMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyOTcwNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzA4NTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwMTMzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYxMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMDU1NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjk5MDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwNzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI5ODQ3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYxMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyOTg2MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjk5NDQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwNDg4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYxMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyOTcyNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzA0NTAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwNjk4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYxMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMDQ2MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzA2NDEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDEwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1MDczIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQxMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTA4MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MTAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjUyMTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDEwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1MTk4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQxMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNDg1OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MTAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjQ3MTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDEwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI0ODgyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQxMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTQwNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MTAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjUxNDUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDEwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1MTQ5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQxMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTExNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MTAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjUxMjUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDEwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI0OTg2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwODYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyODczNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDg2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjg4NDkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDEwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1MzcyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQxMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTE4OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MTAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjQ1OTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDEwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI0NTgxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjY0MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI1MDczIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjg2NzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTEzMyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIzMDQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTEzMyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIzODQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzQ3OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NjQwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzA1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNzYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDU1NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNjQ3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzM5MDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjMyOSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNzI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzMiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ1MDY2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYxMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyOTgyNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjc2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA1NTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzQ3OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NjQwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4NzA5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjY0MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNjQ3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzQxMjgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY0NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM0MTg0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NTA2NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0NzIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODIxMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4MjIyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTcwNjciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MjAwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzA3NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MzEwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODk2MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNTA0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjE4NzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTE4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTYwMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTE4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTU3MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTE4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTE4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTgwOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTE4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTU5OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTE4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNjE2NDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTExOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTE4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTYwMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzMTQxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzI3NzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjEyNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzE1MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNDc3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjg4MDgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1ODA3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMTgyNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTE4MjciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjExODc5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMTk0MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTE5NDQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjExODgwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjg1NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY4NTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE3MDYzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNzI3OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTcyNjciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE4NDQ5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjg2MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjg4NzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjExODk0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMTkwNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTE5MDgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjExODc0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMTg3NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTE4NzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1NjE5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTc4MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjU3ODIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjExODU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMTg1NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjU2MjEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEwODUzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyODgzNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjg4NDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI4ODQxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNzE2OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTcxNTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2ODQ3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyODk0MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjg5NDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE3MjUwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNzUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0OTY2NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzc1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDE4MDgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM3NSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ5Njk2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNzUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MDIwOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzc1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTA0NjQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjcyNiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM4NDAxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MDYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzMyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEwNzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzMyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDI2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjIxMjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNjk1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzcwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI5MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjkxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNjUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjg5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI4NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzAxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjY3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMDQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjk3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUxOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjgxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI2OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzA5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMxMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjg3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI5NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjc0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MDEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTUwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzOTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUyMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzc5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3NzciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM4MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzUxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzODkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzkyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgwNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODM1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3NzMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQwMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzIwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzODEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMyMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTQ1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUyNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzYxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzODgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM0NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTQ3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU1MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzg1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNjciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM4MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzk1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NDkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU1MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzYzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNjQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODIzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMzNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzUzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODAxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgzMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzk1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgyMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODEwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMjQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgwOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzQ5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NDQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMzNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzY5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU0MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzQzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NDMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU0NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzkwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MDMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg0MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDI4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDM2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDMyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDUyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDM0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDI2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDQwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDQ2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDUwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDYwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDYxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDYzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDY4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDc1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDYyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDY3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDQ0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDQ4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDc3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDU5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDY1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDcxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDczIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDU0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDY5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDMwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDU4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDY0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDM4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDcyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDc5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDQyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDY2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDcwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDU3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNTM4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNTM5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNTQxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNTQ1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNTQyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNTM3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNTQwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNzYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDU1NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTQ4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3MDUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEwMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iOTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjExMjIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ5NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTIxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3MzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMTAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEwOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjM0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMTUwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMDQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM0MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzQxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNDUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjY2MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTQ5MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTQyNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iOTYxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI5NzMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ2MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODE1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIyOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODIwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MjEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIyOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDE3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NDUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE3ODgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2MzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2MzMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzMTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjExNjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMzMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzkwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3NjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc3MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjExNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTQ2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzA2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMTU3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMTQ0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjUzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjYzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMTAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijk3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUwMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNjE5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjYyOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTc2OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI1ODkxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI1ODkxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzg5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjg4NDEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjM4OSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ2MDgwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzODkiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1Mjk5OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzg5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTI5OTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjM4OSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI4OTI4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzODkiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyODkzMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI3NzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTcyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTcyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTcyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTcyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjcyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMDMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTcyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTcyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzAzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTcyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEwMDg1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDEwMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4OTIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTAwOTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjMyOSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzI5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI5MDc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI5MDc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI5MDc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI5MDc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI5MDc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI5MDc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI5MDc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI5MDc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI5MDc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI5MDc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI5MDc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI5MDc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4NTE3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4NTM2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQyMDQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI2MTQ0MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI3NTAxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA1MzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNzUwMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNTMzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijc1MDEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDU1NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijk3MjMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjU4MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI1ODMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNDciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjcyNiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM4NjU4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MzE2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4Mzc3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4NTA0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgzMTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgzMzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgxOTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIxMzUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIxMjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgxOTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMzNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODMwOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODMxNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODM3NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODQyMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzMzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMzIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ5MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzMxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI2NDExIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzNjIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg1OTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMyMjU3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzODUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODIyNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzcwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjI3NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMyMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMjc2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzI4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzNjIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNjk1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5MjQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDM3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzUwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODI0NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzUwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzUwMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM2OTU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjM2MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDcyNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ2MTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA3MjQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MzU1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5MjQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTI0OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjc2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNjU1MzUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTQ3OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM0ODE2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI2MTQ0MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTUzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjY5NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjY0NjgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTQ3OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI2NDY5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNjkyMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzY5MDEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNTMwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTI0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDA3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDcwNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDAwNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ3MTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzE1MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODcxNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODcwNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODcwOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODcxMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODcxNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODA1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4NzI0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg3MTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg3MjIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgxMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODcyMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODcyNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODE1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4NzI3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4NzMwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg3MDYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgyOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODcxNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzI3NzUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg3MTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg3MTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzE4MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3MTgxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzcxODEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzMTQxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzI3NzEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzE0MSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMyNzcxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjMxNDEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMjc3MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzYyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjcwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzNjIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTUxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM2OTU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjM2MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTUxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTUxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjY3MjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI2NDA3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNjcyMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjY3MTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI2NzQzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNjQ1MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjY3OTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU3ODY4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNjY0OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTE4OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjAyNTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI2NDIwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNjE3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTEzMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDk5NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjY2OTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI2NDY3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNjM3NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjY3OTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI2MzcwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDUyNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA1MDkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNTE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDUyNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA1MTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIzMDU1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDUzMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTAzMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA1NjciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNjA5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDU3MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA3NjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNjExIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDc2MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA3NTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNzY1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDc4NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA3NzMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNzUxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDc4MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA2MjUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNjE5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDYxOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA1NTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNjA3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDU2NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA2MDUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNjI3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDc2OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA3OTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNTQwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyOTcxMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjk3NzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI5Nzc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyOTc0NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjk3NDgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI5OTI0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyOTkwNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjk4MjQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI5NzI4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyOTczMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjk3OTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI5ODg4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyOTg5MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjk5MjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI5Njk3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyOTY5NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjk3NDQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI5ODcyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExNDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTk0MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM1MDczIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5NDMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTA4MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTQzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzUwODkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjEyNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQwOTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjMyOSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODUxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4NzE4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MDciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzE1MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI0NSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM4NDk3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzODYwMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTYxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDkxODkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjM2MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNjQ3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDA5NzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzE5MSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQxMTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzE5MSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQxMTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzE5MSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQwOTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzE5MSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQxMTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzQyOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQwOTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzE5MSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQwOTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjM5MCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MzkwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjcyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzA1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI3MTMyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNjQxOTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzUzMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzc4MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQxMDQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE4NzAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE5OTAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIzOTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIyNzkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIzODIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIyMzEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIzODciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIzODEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIzODgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIyNzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ3NTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjcwNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzQzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzQ3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNTY3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNzc0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMTY5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMjIxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzMjMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzMjIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE4NjciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNjYyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNjYyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MzUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc2MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzNDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDg1MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDEzMzMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ1NDI5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODUwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjc1NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzkwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDg3MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY3NzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM2MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA4NDEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NzQ1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NzU3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NzU4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODU1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjc1OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDEzMzUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ1NDMxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjc2MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzg2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDg2NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY3NzAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA4NTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NzU1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MTMzMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDU0MjciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTgzOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODYwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MDUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg1OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTAyOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI5ODQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NzMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEwMjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMjciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjkwMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTAyMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTQ0NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODA2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDIyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MDciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjkxMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODU4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI5MDgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMjgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0NDgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjkwNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIxMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iOTE5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI5MjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMTkxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MDEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjExODciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NDEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE4NDYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE4NDciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzOTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODU0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MTMzNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDU0MzAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM4NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA4NjUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NzY5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjMzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDU5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDYwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNjkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM2OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA4NDgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NzUyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzODQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODY0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjc2OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA4NDkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NzUzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzODIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODYyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjc2NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDEzNDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ1NDM4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNjUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQwOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA4ODgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQxOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA4OTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2ODAzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzOTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjc4MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDQ0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDkyNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDQ0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwOTM5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjg0MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzkyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDg3MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY3NzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQwMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA4ODIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2Nzg2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODkxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjc5NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDI3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDkwNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY4MTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQyNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA5MDYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2ODEwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MDUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODg1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjc4OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzk3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MDQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODc3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDg4NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY3ODEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2Nzg4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MDMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODgzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjc4NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDM4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MDYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQxMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA5MTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODg2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDg5MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY3OTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQyMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY4MDciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwOTAzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODk0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjc5OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDMxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDkxMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY4MTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ0MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA5MjMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2ODI3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwOTIyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjgyNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzkzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDg3MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY3NzciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQwNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA4ODciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMyNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA4MDYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIxNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjEyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMzkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM0MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA4MjMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NzI3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUzNTcyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMjQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU3MzQ0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODE1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMzUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM0NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA4MjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM0MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA4MjIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM0OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA4MjkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM1OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA4MzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM1OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA4MzkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM2MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA4NDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NzQ0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODMzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0Mjk2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNDMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI2MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTk4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNzkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI0NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTE4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA4NDUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNjk1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzE1MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzI5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNjk1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzcxODEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzE1MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTM1MTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNTA3MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI4Njk1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI3MjYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjMwNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNjkxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzNDEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY5MSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE5MTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY5MSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE5MDgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY5MSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE5MTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY5MSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMzE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE2OTEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjMyOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzI5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIxNTg5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQ1NzEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MDk2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzNTIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNDAzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzNTIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjM1MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzNTIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjM1MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzNTIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjM1MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzNTIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0NDAyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTcyMDciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDQwMiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE3MjAyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQ0MDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNzIwNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0NDAyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTcyMDQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjM1MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI4OTI4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzA1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY2NDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNzc4NCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAyNiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE1NTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY0NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMzODM0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIxMjUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE3NTAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNzUwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjI1MCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjc2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA1NTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTk0MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMyNzk0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzQyOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQwOTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODcxMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODcxMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDQ4OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzYyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjcwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzNjIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzE0MSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMyNzc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzY5NTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE2MSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU3NjE3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExNjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0OTE5MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTYxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTc0MDgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTMyOSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgxOTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzE0MSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMyNzY5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijc3NjMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDA3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDk2OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDAwNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ2ODAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwMDciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NjcyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDA3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNjE0NDMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwMDciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNjkyMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDAwNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjY1MzUyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDA3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODcyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDA3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODY0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDA3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTYzMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4NzExIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDUxOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3MTk3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTE4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNjE0NDMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNzg3MSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMyNTUzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNDU3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM2OTU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjY2MTAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MzUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjYxMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjY1NDg2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjY2MTAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1ODAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjYxMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU4MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2NjEwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzc0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjY2MTAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3NzUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjYxMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg5OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgIDwvbWF0Y2g+CisgPC9kZXZpY2U+Cis8L2RldmljZWluZm8+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ncGhvdG8yL2xpYmdwaG90bzItMi41LjgvMTAtY2FtZXJhLWxpYmdwaG90bzIuZmRpIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ3Bob3RvMi9saWJncGhvdG8yLTIuNS44LzEwLWNhbWVyYS1saWJncGhvdG8yLmZkaQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMDQyN2U3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ3Bob3RvMi9saWJncGhvdG8yLTIuNS44LzEwLWNhbWVyYS1saWJncGhvdG8yLmZkaQpAQCAtMCwwICsxLDE5MDE4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+IDwhLS0gLSotIFNHTUwgLSotIC0tPgorPCEtLSBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBsaWJncGhvdG8yIHByaW50LWNhbWVyYS1saXN0IC0gLSBmZGkgLS0+Cis8IS0tKworICAgIHwgQ3JlYXRlZCBmcm9tIHRoaXMgbGlicmFyeToKKyAgICB8ICAgbGliZ3Bob3RvMiAgICAgIDIuNS44ICAgICAgICAgIGFsbCBjYW1saWJzLCBnY2MsIGx0ZGwsIG5vIEVYSUYKKyAgICB8ICAgbGliZ3Bob3RvMl9wb3J0IDAuMTIuMCAgICAgICAgIGdjYywgbHRkbCwgbm8gVVNCLCBzZXJpYWwgd2l0aG91dCBsb2NraW5nCisgICAgKy0tPgorPGRldmljZWluZm8gdmVyc2lvbj0iMC4yIj4KKyA8ZGV2aWNlPgorICA8bWF0Y2gga2V5PSJpbmZvLnN1YnN5c3RlbSIgc3RyaW5nPSJ1c2IiPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj4gSkwyMDA1Qi9DL0QgY2FtZXJhPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzMjUxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFjZXIgRTM1MCBMaXF1aWQgR2FsbGFudCBEdW8gKElEMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTMyNTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWNlciBFMzUwIExpcXVpZCBHYWxsYW50IER1byAoSUQyKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzg5MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY2VyIEUzOTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzYyOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY2VyIEljb25pYSBBMS04MTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM4NjkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWNlciBJY29uaWEgQTEtODQwRkhEPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzNzAyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFjZXIgSWNvbmlhIEEzLUExMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzEyOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY2VyIEljb25pYSBUQUIgQTEwMCAoSUQxKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzEyOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY2VyIEljb25pYSBUQUIgQTEwMCAoSUQyKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzEzMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY2VyIEljb25pYSBUQUIgQTEwMSAoSUQxKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzI3MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY2VyIEljb25pYSBUQUIgQTExMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzE4MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY2VyIEljb25pYSBUQUIgQTIwMCAoSUQxKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzE4MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY2VyIEljb25pYSBUQUIgQTIwMCAoSUQyKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzI1OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY2VyIEljb25pYSBUQUIgQTIxMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzA5MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY2VyIEljb25pYSBUQUIgQTUwMCAoSUQxKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzEyMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY2VyIEljb25pYSBUQUIgQTUwMCAoSUQyKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzEyNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY2VyIEljb25pYSBUQUIgQTUwMSAoSUQxKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzEyNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY2VyIEljb25pYSBUQUIgQTUwMSAoSUQyKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzE5MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY2VyIEljb25pYSBUQUIgQTUxMCAoSUQxKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzE5NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY2VyIEljb25pYSBUQUIgQTUxMCAoSUQyKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzE3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY2VyIEljb25pYSBUQUIgQTcwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzU4OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY2VyIExpcXVpZCBFMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzczNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY2VyIExpcXVpZCBFMzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzg5MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY2VyIGxpcXVpZCBlNzAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0MTE3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFjZXIgTGlxdWlkIFM1NjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzgzMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY2VyIExpcXVpZCBYMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzQyNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY2VyIExpcXVpZCBaMTIwIE1UNjV4eCBBbmRyb2lkIFBob25lPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzNjYzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFjZXIgTGlxdWlkIFoxMzAgTVQ2NXh4IEFuZHJvaWQgUGhvbmU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM5MTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWNlciBPbmUgNzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzIyNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY2VyIFM1MDAgQ2xvdWRNb2JpbGU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM3OTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWNlciBaMTUwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzODUzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFjZXIgWjE2MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI1ODQ1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMjc3NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY3JvbWFnIEluYy4gWE8gTGVhcm5pbmcgVGFibGV0IChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjU4NDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMyNzczIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFjcm9tYWcgSW5jLiBYTyBMZWFybmluZyBUYWJsZXQgKE1UUCtBREIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFFRyBTbmFwIDMwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNzI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDI3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWdmYSBlUGhvdG8gQ0wxODwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNzI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDI4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWdmYSBlUGhvdG8gQ0wyMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjc2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDU1NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFpcHRlayAxLjMgbWVnYSBQb2NrZXRDYW08L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWlwdGVrIFBhbG1DYW0gVHJpbzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjc2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDU1NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFpcHRlayBQZW5jYW08L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWlwdGVrIFBlbkNhbSBUcmlvPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIyNTAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFpcHRlayBQZW5DYW0gVkdBKzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjc2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDU1NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFpcHRlayBQZW5jYW0gd2l0aG91dCBmbGFzaDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjc2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDU1NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFpcHRlayBTbWFydCBNZWdhY2FtPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjcwOTkiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM2MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BbGNhdGVsIDYwMzBhPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjcwOTkiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgyMDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWxjYXRlbCBPbmUgVG91Y2ggOTk3RCAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI3MDk5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDc0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFsY2F0ZWwgT25lIFRvdWNoIDk5N0QgKE1UUCtBREIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjcwOTkiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQwOTc0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFsY2F0ZWwgT25lVG91Y2ggNTA0MkQgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNzA5OSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNjE0NDMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWxjYXRlbCBPbmVUb3VjaCA2MDM0UjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI3MDk5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjk0MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BbGNhdGVsL0JvdXlndWVzIEJTNDcyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjcwOTkiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM1OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BbGNhdGVsL1RDVCA2MDEwRC9UQ0wgUzk1MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BbWF6aW5nIFNwaWRlcm1hbjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2NDczIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDQ4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFtYXpvbiBGaXJlIFBob25lPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjY0NzMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QW1hem9uIEtpbmRsZSBGaXJlIChJRDEpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjY0NzMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QW1hem9uIEtpbmRsZSBGaXJlIChJRDIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjY0NzMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFtYXpvbiBLaW5kbGUgRmlyZSAoSUQzKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2NDczIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BbWF6b24gS2luZGxlIEZpcmUgKElENCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjQ3MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QW1hem9uIEtpbmRsZSBGaXJlIChJRDUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjY0NzMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjExIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFtYXpvbiBLaW5kbGUgRmlyZSAoSUQ2KTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2NDczIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BbWF6b24gS2luZGxlIEZpcmUgKElENyk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjQ3MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BbWF6b24gS2luZGxlIEZpcmUgMkcgKElEMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjQ3MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjQyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFtYXpvbiBLaW5kbGUgRmlyZSBIRDY8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTQ4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QW1lcmljYW4gSWRvbCBLZXljaGFpbiBDYW1lcmE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ1MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDc2MiI+CisgICAgIDxtYXRjaCBrZXk9InVzYi5pbnRlcmZhY2UuY2xhc3MiIGludD0iNiI+CisgICAgICA8bWF0Y2gga2V5PSJ1c2IuaW50ZXJmYWNlLnN1YmNsYXNzIiBpbnQ9IjEiPgorICAgICAgIDxtYXRjaCBrZXk9InVzYi5pbnRlcmZhY2UucHJvdG9jb2wiIGludD0iMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcHBsZSBpUGFkIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICAgICA8L21hdGNoPgorICAgICAgPC9tYXRjaD4KKyAgICAgPC9tYXRjaD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ1MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDc3OSI+CisgICAgIDxtYXRjaCBrZXk9InVzYi5pbnRlcmZhY2UuY2xhc3MiIGludD0iNiI+CisgICAgICA8bWF0Y2gga2V5PSJ1c2IuaW50ZXJmYWNlLnN1YmNsYXNzIiBpbnQ9IjEiPgorICAgICAgIDxtYXRjaCBrZXk9InVzYi5pbnRlcmZhY2UucHJvdG9jb2wiIGludD0iMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcHBsZSBpUGFkIEFpcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgICAgIDwvbWF0Y2g+CisgICAgICA8L21hdGNoPgorICAgICA8L21hdGNoPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NzUyIj4KKyAgICAgPG1hdGNoIGtleT0idXNiLmludGVyZmFjZS5jbGFzcyIgaW50PSI2Ij4KKyAgICAgIDxtYXRjaCBrZXk9InVzYi5pbnRlcmZhY2Uuc3ViY2xhc3MiIGludD0iMSI+CisgICAgICAgPG1hdGNoIGtleT0idXNiLmludGVyZmFjZS5wcm90b2NvbCIgaW50PSIxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFwcGxlIGlQaG9uZSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgICAgPC9tYXRjaD4KKyAgICAgIDwvbWF0Y2g+CisgICAgIDwvbWF0Y2g+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0NTIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ3NTQiPgorICAgICA8bWF0Y2gga2V5PSJ1c2IuaW50ZXJmYWNlLmNsYXNzIiBpbnQ9IjYiPgorICAgICAgPG1hdGNoIGtleT0idXNiLmludGVyZmFjZS5zdWJjbGFzcyIgaW50PSIxIj4KKyAgICAgICA8bWF0Y2gga2V5PSJ1c2IuaW50ZXJmYWNlLnByb3RvY29sIiBpbnQ9IjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXBwbGUgaVBob25lIDNHIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICAgICA8L21hdGNoPgorICAgICAgPC9tYXRjaD4KKyAgICAgPC9tYXRjaD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ1MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDc1NiI+CisgICAgIDxtYXRjaCBrZXk9InVzYi5pbnRlcmZhY2UuY2xhc3MiIGludD0iNiI+CisgICAgICA8bWF0Y2gga2V5PSJ1c2IuaW50ZXJmYWNlLnN1YmNsYXNzIiBpbnQ9IjEiPgorICAgICAgIDxtYXRjaCBrZXk9InVzYi5pbnRlcmZhY2UucHJvdG9jb2wiIGludD0iMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcHBsZSBpUGhvbmUgM0dTIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICAgICA8L21hdGNoPgorICAgICAgPC9tYXRjaD4KKyAgICAgPC9tYXRjaD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ1MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDc1OSI+CisgICAgIDxtYXRjaCBrZXk9InVzYi5pbnRlcmZhY2UuY2xhc3MiIGludD0iNiI+CisgICAgICA8bWF0Y2gga2V5PSJ1c2IuaW50ZXJmYWNlLnN1YmNsYXNzIiBpbnQ9IjEiPgorICAgICAgIDxtYXRjaCBrZXk9InVzYi5pbnRlcmZhY2UucHJvdG9jb2wiIGludD0iMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcHBsZSBpUGhvbmUgNCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgICAgPC9tYXRjaD4KKyAgICAgIDwvbWF0Y2g+CisgICAgIDwvbWF0Y2g+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0NTIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ3NjgiPgorICAgICA8bWF0Y2gga2V5PSJ1c2IuaW50ZXJmYWNlLmNsYXNzIiBpbnQ9IjYiPgorICAgICAgPG1hdGNoIGtleT0idXNiLmludGVyZmFjZS5zdWJjbGFzcyIgaW50PSIxIj4KKyAgICAgICA8bWF0Y2gga2V5PSJ1c2IuaW50ZXJmYWNlLnByb3RvY29sIiBpbnQ9IjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXBwbGUgaVBob25lIDRTIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICAgICA8L21hdGNoPgorICAgICAgPC9tYXRjaD4KKyAgICAgPC9tYXRjaD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ1MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDc3NiI+CisgICAgIDxtYXRjaCBrZXk9InVzYi5pbnRlcmZhY2UuY2xhc3MiIGludD0iNiI+CisgICAgICA8bWF0Y2gga2V5PSJ1c2IuaW50ZXJmYWNlLnN1YmNsYXNzIiBpbnQ9IjEiPgorICAgICAgIDxtYXRjaCBrZXk9InVzYi5pbnRlcmZhY2UucHJvdG9jb2wiIGludD0iMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcHBsZSBpUGhvbmUgNSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgICAgPC9tYXRjaD4KKyAgICAgIDwvbWF0Y2g+CisgICAgIDwvbWF0Y2g+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0NTIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ3NTMiPgorICAgICA8bWF0Y2gga2V5PSJ1c2IuaW50ZXJmYWNlLmNsYXNzIiBpbnQ9IjYiPgorICAgICAgPG1hdGNoIGtleT0idXNiLmludGVyZmFjZS5zdWJjbGFzcyIgaW50PSIxIj4KKyAgICAgICA8bWF0Y2gga2V5PSJ1c2IuaW50ZXJmYWNlLnByb3RvY29sIiBpbnQ9IjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXBwbGUgaVBvZCBUb3VjaCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgICAgPC9tYXRjaD4KKyAgICAgIDwvbWF0Y2g+CisgICAgIDwvbWF0Y2g+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0NTIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ3NTUiPgorICAgICA8bWF0Y2gga2V5PSJ1c2IuaW50ZXJmYWNlLmNsYXNzIiBpbnQ9IjYiPgorICAgICAgPG1hdGNoIGtleT0idXNiLmludGVyZmFjZS5zdWJjbGFzcyIgaW50PSIxIj4KKyAgICAgICA8bWF0Y2gga2V5PSJ1c2IuaW50ZXJmYWNlLnByb3RvY29sIiBpbnQ9IjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXBwbGUgaVBvZCBUb3VjaCAyRyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgICAgPC9tYXRjaD4KKyAgICAgIDwvbWF0Y2g+CisgICAgIDwvbWF0Y2g+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0NTIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ3NjEiPgorICAgICA8bWF0Y2gga2V5PSJ1c2IuaW50ZXJmYWNlLmNsYXNzIiBpbnQ9IjYiPgorICAgICAgPG1hdGNoIGtleT0idXNiLmludGVyZmFjZS5zdWJjbGFzcyIgaW50PSIxIj4KKyAgICAgICA8bWF0Y2gga2V5PSJ1c2IuaW50ZXJmYWNlLnByb3RvY29sIiBpbnQ9IjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXBwbGUgaVBvZCBUb3VjaCAzcmQgR2VuIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICAgICA8L21hdGNoPgorICAgICAgPC9tYXRjaD4KKyAgICAgPC9tYXRjaD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA0ODgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIChmb3IgVGVzY28pIEh1ZGwgKElEMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA0ODkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIChmb3IgVGVzY28pIEh1ZGwgKElEMik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTYzODYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDEwMSBHNDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NDE2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyAxMDEgRzkgKElEMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTQxNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgMTAxIEc5IChJRDIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU0MzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDEwMSBHOSBUdXJibzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NDMyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyAxMDEgRzkgVHVyYm8gMjUwIEhEPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUzMDUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDEwMSBUaXRhbml1bTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NDQ4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyAxMDEgWFM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDYxOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgMTA0IChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDg5MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgMTA1IChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDYyMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgMjA0IChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDg2NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgNDA0IChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDg2NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgNDA0Q0FNIChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDg4MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgNDA1IChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDg5NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgNDA1SEREIChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI3ODciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDQ1IE5lb248L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDkxMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgNSAoTVRQIG1vZGUgMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDkxNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgNSAoTVRQIG1vZGUgMik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI4NDEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDUwIERpYW1vbmQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDg3MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgNTA0IChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODIwMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgNTBjPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ5NTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDVIIElUIChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDk0NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgNVMgSVQgKE1UUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0ODczIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyA2MDQgKE1UUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0ODc1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyA2MDRXSUZJIChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDg4MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgNjA1IChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDg4NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgNjA1RiAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ5MTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDcgKE1UUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0ODc3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyA3MDQgbW9iaWxlIGR2cjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0ODc5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyA3MDRUViAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ4ODkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDcwNSAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUzNTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDcwYiBUaXRhbml1bTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NDgwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyA3MGl0MiAoSUQgMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTQ4MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgNzBpdDIgKElEIDIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUzMTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDgwIFRpdGFuaXVtPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU0MDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDgwRzk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTM4NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgOG8gRzkgKE1UUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1Mzg1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyA4byBHOSBUdXJibyAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUyOTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDk3IFRpdGFuaXVtPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUyNzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDk3IFhlbm9uPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUyMjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIEFybm92YSAxMGJHMyBUYWJsZXQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTIxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgQXJub3ZhIDhjIEczPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUyMDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIEFybm92YSBDaGlsZHBhZDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjcxNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgQzQwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ2MTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIEdtaW5pIFhTMTAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ5MjkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIFNQT0QgKE1UUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0ODkxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyBUVisgKE1UUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NjE2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyBYUzIwMiAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyZ3VzIEJlYW4gU3Byb3V0PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyZ3VzIERDLTE1MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJndXMgREMtMTUxMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzYyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bcmd1cyBEQy0xNjEwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzNjIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyZ3VzIERDLTE2MjA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTgwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJndXMgREMtMTczMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzI5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bcmd1cyBEQy0yMjAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyZ3VzIERDMTUxMmU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjM2MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjcxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJndXMgUXVpY2tDbGl4PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyaWVzIEFUQy0wMDE3PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjk1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyaWVzIERpZ2l0YWwgS2V5Y2hhaW4gQ2FtZXJhLCBJPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIzMDU1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgQTQ1MENHIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE5NjgwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgQXN1cyBGb25lcGFkIE5vdGUgNiAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxOTY4MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIEFzdXMgRm9uZXBhZCBOb3RlIDYgKE1UUCtBREIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODE1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgRm9uZXBhZDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDU3OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIEZvbmVwYWQgNyAoRkUzNzVDWEcpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIxNTE5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgRm9uZXBhZCA3IExURSBNRTM3MkNMIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIxNTM1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgRm9uZXBhZCA3IExURSBNRTM3MkNMIChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMTc3NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIEswMEUgKE1UUCtBREIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIxNzYwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgSzAxMCAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxOTY2NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIE1FMzAxVCBNZU1vIFBhZCBTbWFydCAxMCAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxOTY2NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIE1FMzAxVCBNZU1vIFBhZCBTbWFydCAxMCAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjEwMjMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBNRTMwMkMgTWVtb1BhZCAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMTAwNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIE1FMzAyQyBNZW1vUGFkIChNVFArPyk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTk2NDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBNRTMwMktMIE1lTW8gUGFkIEZIRDEwIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE5NjQ5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgTUUzMDJLTCBNZU1vIFBhZCBGSEQxMCAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjE2MDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBNZW1vIEswMEYgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjE2MDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBNZW1vIEswMEYgKE1UUCtBREIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIxNTA0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgTWVtbyBNRTE3MlYgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjE1MjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBNZW1vIE1FMTczWCAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMTUyMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIE1lbW8gTUUxNzNYIChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMTYwNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIE1lbW8gUGFkIDggKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzA1NzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBNZW1vUGFkIDcgKE1FNTcyQ0wpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIxNzY2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgTWVtb1BhZCA3IChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMTg1NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIE1lbW9QYWQgOCBNRTE4MSBDWCAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDk5MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIFBhZEZvbmUgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA5OTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBQYWRGb25lIChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMTAwOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIFBhZEZvbmUgMiAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMTAwOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIFBhZEZvbmUgMiAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjEwMTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBQYWRGb25lIDIgKFBUUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjEwMjQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBQYWRGb25lIEluZmluaXR5ICgybmQgSUQpIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIxMDI1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgUGFkRm9uZSBJbmZpbml0eSAoMm5kIElEKSAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjEwNDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBQYWRGb25lIEluZmluaXR5IChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIxMDQxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgUGFkRm9uZSBJbmZpbml0eSAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTk5NjgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBTTDEwMSAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxOTk2OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIFNMMTAxIChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxOTk4MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIFRGMTAxIEVlZXBhZCBUcmFuc2Zvcm1lciAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxOTk5OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIFRGMTAxIEVlZXBhZCBUcmFuc2Zvcm1lciAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTk3MTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBURjIwMSBUcmFuc2Zvcm1lciBQcmltZSAoa2V5Ym9hcmQgZG9jayk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTk3MTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBURjIwMSBUcmFuc2Zvcm1lciBQcmltZSAodGFibGV0IG9ubHkpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE5NTg0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgVEYzMDAgVHJhbnNmb3JtZXIgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTk1ODUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBURjMwMCBUcmFuc2Zvcm1lciAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTk2MDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBURjcwMCBUcmFuc2Zvcm1lciAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxOTYwMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIFRGNzAwIFRyYW5zZm9ybWVyIChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxOTYxNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIFRGNzAxVCBUcmFuc2Zvcm1lciBQYWQgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTk2MTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBURjcwMVQgVHJhbnNmb3JtZXIgUGFkIChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMjA0NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIFRYMjAxTEEgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjQzMjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBaZW5mb25lIDIgWkU1NTBNTCAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMjU0MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIFplbkZvbmUgNCAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMjU1OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIFplbkZvbmUgNCBBNDAwQ0cgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjE2MzIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBaZW5Gb25lIDUgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjE2MzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBaZW5Gb25lIDUgKE1UUCtBREIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMwNTkzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgWmVuRm9uZSA1IEE1MDBLTCAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjE2NDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBaZW5Gb25lIDYgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjE2NDkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBaZW5Gb25lIDYgKE1UUCtBREIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjk0NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkJhcmJpZSBDYW1lcmEgKERpZ2l0YWwgQmx1ZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODMyMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5CYXJuZXMmYW1wO05vYmxlIE5vb2sgSEQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODMyMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5CYXJuZXMmYW1wO05vYmxlIE5vb2sgSEQrPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExODkiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMjkxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QmVucSBEQzEzMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNzQ5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTc4MjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QmVuUSBGNTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDgyMyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzI1MjgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+YnEgQXF1YXJpdXMgRTUtNEc8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA4MjMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgyMDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+YnEgS3JpbGxpbiAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDgyMyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzA3NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5icSBLcmlsbGluIChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM1OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjczOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgMTAwIElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNzMzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyAxMTAgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI3NzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIDEyMCBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjc4NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgMTMwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyOTA0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyAyNTVIUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQ4MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgMzAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM2NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyAzMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI3OTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIDMwMCBIUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM5MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyAzMzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0NzkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIDQwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0MDUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIDQwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDc0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyA0MzAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjU1OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgNTAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQ2OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgNTAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1NDMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIDU1IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1NzIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIDYwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1NDIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIDY1IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2MjMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIDcwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1MzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIDcwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjIyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyA3NSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTY2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyA3NTAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjY3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgODAgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1NjkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIDgwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjYwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyA4NSBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjU5OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgODUwIElTIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2NDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIDg2MCBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjY2MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgOTAgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1NjUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIDkwMFRpIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI3NDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIDk1IElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjE5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyA5NTAgSVMgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjYzOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgOTYwIElTIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2NTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIDk3MCBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjY5MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgOTgwIElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNzM3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyA5OTAgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0NDMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgaSAobm9ybWFsIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDQzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyBpIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0ODQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgaTUgKG5vcm1hbCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQwMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgSUkgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQ3MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgSUlzIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1MzIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIGlaIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzNzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgdjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM4OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyB2MjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQwMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyB2MyAobm9ybWFsIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDAxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyB2MyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTI5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyBXaXJlbGVzcyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTI2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBSZWJlbCBYVCAobm9ybWFsIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMzk0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCB1bmtub3duIDM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0MjQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFbHVyYSA1MCAobm9ybWFsIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDIzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVsdXJhIDUwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0NTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRWx1cmEgNjUgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjY2NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgMTAwMEQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI5MTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDEwMEQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0MTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgMTBEPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDc2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyAxMEQgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjgyMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgMTEwMEQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI5MjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDEyMDBEPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTIyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyAxRCBNYXJrIElJIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2MTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDFEIE1hcmsgSUlJIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI3NTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDFEIE1hcmsgSVY8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI4MjUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDFEIFg8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1MjMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgMjBEIChub3JtYWwgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1MjQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDIwRCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDIwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDMwMEQgKG5vcm1hbCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQ0MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgMzAwRCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTYzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyAzMEQgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjUyNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgMzUwRDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjUyNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyAzNTBEIChub3JtYWwgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1MjYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDM1MEQgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjU2MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgNDAwRCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjE0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyA0MEQgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjYxMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgNDUwRCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNzUxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyA1MDBEPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjk5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyA1MEQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI3NzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDU1MEQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1NDUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgNUQgKG5vcm1hbCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjU0NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgNUQgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjY5NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgNUQgTWFyayBJSTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjg1OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgNUQgTWFyayBJSUk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI4MjQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDYwMEQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI4MjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDYwRDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjg1OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgNjUwRDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjg4MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgNkQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI5MTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDcwMEQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI4ODMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDcwRDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjY5OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgN0Q8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI5MTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDdEIE1hcmtJSTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyBEMzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzODQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgRDYwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDIwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIERpZ2l0YWwgUmViZWwgKG5vcm1hbCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQ0MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgRGlnaXRhbCBSZWJlbCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTYwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyBEaWdpdGFsIFJlYmVsIFhUaSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDIwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIEtpc3MgRGlnaXRhbCAobm9ybWFsIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDQxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyBLaXNzIERpZ2l0YWwgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjUyNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyBLaXNzIERpZ2l0YWwgTiAobm9ybWFsIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTYwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyBLaXNzIERpZ2l0YWwgWCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjEzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyBLaXNzIFgyIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI3NTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIEtpc3MgWDM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI4NjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIE08L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI5NTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIE0zPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNzUxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyBSZWJlbCBUMWk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2MTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIFJlYmVsIFhTaSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDMwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRlYgTTEgKG5vcm1hbCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjg2NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBJWFVTIDEyNUhTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyOTY5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIElYVVMgMTY1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyODM3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIElYVVMgMzEwSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI3NzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gSVhZIDIyMCBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjY5MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBJWFkgMzAwMCBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM1OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIElYWSBESUdJVEFMPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMzYzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gSVhZIERJR0lUQUwgMzAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDg0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gSVhZIERpZ2l0YWwgTDIgKG5vcm1hbCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM5NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIElYWSBEViBNPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDM4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gSVhZIERWIE0yIChub3JtYWwgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0MTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBNVjYzMGkgKG5vcm1hbCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQxMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIE1WNjUwaSAobm9ybWFsIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDQ4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIE1WNzUwaSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDM4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gTVZYIDEwaSAobm9ybWFsIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDMwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gTVZYIDNpIChub3JtYWwgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0MTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBNVlgxMDBpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDE2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gTVZYMTUwaSAobm9ybWFsIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDU3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gTVZYMjVpIChub3JtYWwgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzOTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBNVlgyaTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQyOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBNVlgzaSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDE4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gT3B0dXJhIDEwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDE1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gT3B0dXJhIDIwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDE2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gT3B0dXJhIDIwIChub3JtYWwgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzOTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBPcHR1cmEgMjAwIE1DPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDM4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gT3B0dXJhIDMwMCAobm9ybWFsIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDU3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gT3B0dXJhIDQwIChub3JtYWwgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1NDkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gT3B0dXJhIDYwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDMwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gT3B0dXJhIFhpIChub3JtYWwgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzNjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTEwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMzg1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEExMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2ODYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEExMDAwIElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNzM5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBMTEwMCBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjg2MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTEzMDBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjkwMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTE0MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzNjYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTIwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMzg2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEEyMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2ODkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEEyMDAwIElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNzM0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBMjEwMCBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjg0MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTIyMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI4NzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEEyMzAwSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI4NzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEEyNDAwSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI5MTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEEyNTAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyODk4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBMjYwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM3NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBMzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0MDYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEEzMDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjc4NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTMwMDAgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0NzIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEEzMTAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjc4NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTMxMDAgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI4OTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEEzNTAwSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzNzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTQwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDcxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBNDAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI4NjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEE0MDAwSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1MzciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEE0MTAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjU1OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTQyMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTM2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBNDMwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2MjkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEE0NTAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjYxNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTQ2MCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjY2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBNDcwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNzM1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBNDgwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNzgzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2Vyc2hvdCBBNDk1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDgyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBNTEwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0ODEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEE1MjAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjU4MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTUzMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTcxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBNTQwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2MjQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEE1NTAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjYyMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTU2MCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjIwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBNTcwIElTIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2NjMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEE1ODA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2NjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEE1OTAgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0MDQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEE2MCAoUFRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjU0MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTYxMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTQwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBNjIwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2MDIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEE2MzAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjYwMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTY0MCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjM1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBNjUwSVMgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQwMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTcwIChQVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTY3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBNzAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2MDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEE3MTAgSVMgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjYzNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTcyMCBJUyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDY5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBNzUgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQ0MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTgwIChQVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyODM4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBODAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyODYzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBODEwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDczIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBODUgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQ3NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTk1IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI3MzIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEQxMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjkzNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgRWxwaDEzNTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjkzNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgRWxwaDM0MEhTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMzYwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEcxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyODUxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBHMSBYPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjg3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBHMTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI3NjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEcxMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjg4OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgRzE1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMzczIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEcyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMzk4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEczIChub3JtYWwgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzOTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEczIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0MjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEc1IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0NjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJzaG90IEc2IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1ODEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEc3IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2MzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEc5IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0NDMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgSVhZIERpZ2l0YWwgTCAobm9ybWFsIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMzYxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFBybzkwIElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDQ0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTMSBJUyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMzUzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFMxMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjg1NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgUzEwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM1NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTMTAwICgyMDAwKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM2OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTMTEwICgyMDAxKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjg5MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgUzExMCAoUFRQIE1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyOTE3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTMTIwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTI4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTMiBJUyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMzU1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFMyMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM4OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTMjAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDAwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFMyMzAgKG5vcm1hbCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQwMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgUzIzMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTcwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTMyBJUyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMzc1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFMzMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM2NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTMzAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMzkwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFMzMzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzNzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgUzQwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDA1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTNDAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0NzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFM0MTAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM5NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTNDUgKG5vcm1hbCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM5NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgUzQ1IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2MTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFM1IElTIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0MDciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFM1MCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDY4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTNTAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0NjYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJzaG90IFM2MCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDY1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2Vyc2hvdCBTNzAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjUzOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgUzgwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI4MTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFM5NTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQ0MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTRDEwIERpZ2l0YWwgRUxQSCAobm9ybWFsIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDAyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTRDEwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjIzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTRDEwMDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQ3MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU0QxMTAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjY3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlcnNob3QgU0QxMTAwIElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNzQwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2Vyc2hvdCBTRDEyMDAgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI3ODgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFNEMTMwMCBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQ4NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTRDIwIChub3JtYWwgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0ODAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFNEMjAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1OTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFNENDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjUyOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU0Q0MzAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjU0MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU0Q0NTAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjUzMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU0Q1MDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjU3MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU0Q2MDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjU0MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU0Q2MzAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjU2OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU0Q3MDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjYyMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU0Q3NTAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjY2MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU0Q3NzAgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI3MzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFNENzgwIElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjYwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2Vyc2hvdCBTRDc5MCBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjYxOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU0Q4NTAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjY5NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU0Q4ODAgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1NjUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFNEOTAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI3NzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFNEOTQwIElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNzM3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTRDk3MCBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjY5MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU0Q5OTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2ODUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFNYMTAgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2MzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJzaG90IFNYMTAwIElTIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2OTAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFNYMTEwIElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNzY4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTWDEyMCBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjgxNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU1gxMzAgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI4NTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFNYMTUwIElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyODkwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTWDE2MElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyOTE4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTWDE3MCBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjc3MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU1gyMCBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjczNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU1gyMDAgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI3OTAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFNYMjEwIElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyODQ0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTWDIyMEhTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyODQwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTWDIzMEhTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyODY5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTWDI0MEhTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyODY4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTWDI2MEhTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyODk1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTWDI4MEhTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyODU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTWDQwSFM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI4OTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFNYNTAwSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI5MTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFNYNTEwIEhTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyOTU1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTWDUyMCBIUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM2OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCB1bmtub3duIDE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzODAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgdW5rbm93biAyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNzc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFJlYmVsIFQyaTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjgyMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBSZWJlbCBUMzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjg1OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBSZWJlbCBUNGk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0MDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBaUjcwTUMgKG5vcm1hbCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTk5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MTY5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhc2lvIEVYLVM3NzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTk5OSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDE2MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYXNpbyBFWC1aMTIwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5OTkiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQxNzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2FzaW8gRVgtWjY1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5OTkiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQxNzIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2FzaW8gRVgtWjcwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTk5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NDc0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhc2lvIEVYLVpSNzAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNzUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ5NjY0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2FzaW8gTFYgMTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzQ5ODUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2F0ZXJwaWxsYXIgQ2F0IFM1MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DaGUtZXogU25hcDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzY5NTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DaGUtRXogU25hcCBTTkFQLVU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2hlLWV6ISBCYWJlPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQwOTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DaGUtZXohIFNwbGFzaDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DaGUtZXohIFNQWVo8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTk0MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzI3NjkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DbGV2ZXIgQ0FNIDM2MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Db2JyYSBEQzEyNTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzY5NTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Db2JyYSBEaWdpdGFsIENhbWVyYSBEQzE1MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI3Nzk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTg3NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Db2J5IENPQlkgTVA3MDU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNzc2MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Db25jZXB0cm9uaWMgQ01URDI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q29uY29yZCBFeWUtUSBEdW88L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q29uY29yZCBFeWUtUSBFYXN5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NjQwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q29uY29yZCBFeWVRIDQzMzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODU3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNvbmNvcmQgRXllUU1pbmlfMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4NTc2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q29uY29yZCBFeWVRTWluaV8yPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzMjkiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNvb2xDYW0gQ1AwODY8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzYxNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjM4NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Db3dvbiBpQXVkaW8gMTAgKE1UUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNjE3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxODA5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNvd29uIGlBdWRpbyA2IChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzYxNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTg3MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Db3dvbiBpQXVkaW8gNyAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM2MTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIzMjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q293b24gaUF1ZGlvIDkgKE1UUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNjE3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMzY5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNvd29uIGlBdWRpbyBDMiAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM2MTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwNDkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q293b24gaUF1ZGlvIEQyIChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzYxNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjE2MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Db3dvbiBpQXVkaW8gRDIrIERBQiBGVyA0LnggKE1UUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNjE3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMTkzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNvd29uIGlBdWRpbyBEMisgRE1CIEZXIDEueCAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM2MTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIxNDUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q293b24gaUF1ZGlvIEQyKyBGVyAyLnggKE1UUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNjE3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMTc3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNvd29uIGlBdWRpbyBEMisgRlcgMy54IChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzYxNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjMzNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Db3dvbiBpQXVkaW8gSjMgKE1UUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNjE3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMzA1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNvd29uIGlBdWRpbyBTOSAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM2MTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE3OTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q293b24gaUF1ZGlvIFUzIChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzYxNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTg4OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Db3dvbiBpQXVkaW8gVTUgKE1UUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNjE3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMzUzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNvd29uIGlBdWRpbyBYNyAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NDA2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q3JlYXRpdmUgQ2FyZENhbTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjM5MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNyZWF0aXZlIEdvIE1pbmk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTYzOTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DcmVhdGl2ZSBQQy1DQU0gMzAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NDAyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q3JlYXRpdmUgUEMtQ0FNMzUwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2Mzk1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q3JlYXRpdmUgUEMtQ0FNNjAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NDAzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q3JlYXRpdmUgUEMtQ0FNNzUwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2Njc1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNyZWF0aXZlIFBvcnRhYmxlIE1lZGlhIENlbnRlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjcyNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DcmVhdGl2ZSBaRU48L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY2ODgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q3JlYXRpdmUgWkVOIE1pY3JvIChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY3MDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q3JlYXRpdmUgWkVOIE1pY3JvUGhvdG88L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY2OTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q3JlYXRpdmUgWkVOIE1pY3JvUGhvdG8gKGFsdGVybmF0ZSB2ZXJzaW9uKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjczNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DcmVhdGl2ZSBaRU4gTW96YWljPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2Njk1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNyZWF0aXZlIFpFTiBTbGVlayAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NzAxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNyZWF0aXZlIFpFTiBTbGVlayBQaG90bzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjY4OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DcmVhdGl2ZSBaRU4gVG91Y2ggKE1UUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjcyMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DcmVhdGl2ZSBaRU4gVjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjcyOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DcmVhdGl2ZSBaRU4gViAyR0I8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY3MjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q3JlYXRpdmUgWkVOIFYgUGx1czwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjY3MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DcmVhdGl2ZSBaRU4gVmlzaW9uPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NzIzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNyZWF0aXZlIFpFTiBWaXNpb24gVzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjcwMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DcmVhdGl2ZSBaRU4gVmlzaW9uOk08L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY3MjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q3JlYXRpdmUgWkVOIFZpc2lvbjpNIChEVlAtSEQwMDA0KTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjczOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DcmVhdGl2ZSBaRU4gWC1GaTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjc0NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DcmVhdGl2ZSBaRU4gWC1GaSAzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NjgwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNyZWF0aXZlIFpFTiBYdHJhIChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDIwNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI4MjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q3VyaXRlbCBDb21tdW5pY2F0aW9ucywgSW5jLiBWZXJpem9uIFdpcmVsZXNzIERldmljZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMTI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RC1MaW5rIERTQyAzNTArPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM0MjgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQxMjkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5ELUxpbmsgRFNDIDM1MEY8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODQ5NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkQtTUFYIERNMzU4ODwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzY5NTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5EQy1OMTMwdDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5EQy1OMTMwdGE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzE0MSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzI3NjgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5EQzMxVkM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY2OTAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RGVsbCBEZWxsIFBvY2tldCBESiAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2Njg3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkRlbGwgREogKDJuZCBnZW5lcmF0aW9uKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNjcwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDUzMjMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RGVsbCBJbmMgRGVsbCBTdHJlYWsgNzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNjcwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDUzMzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RGVsbCBJbmMgRGVsbCBWZW51ZSA3IGluY2g8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTY3MDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ1MzM5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkRlbGwgSW5jIERlbGwgVmVudWUgNyBpbmNoICgybmQgSUQpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE2NzAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNzY2NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5EZWxsIEluYyBESiBJdHR5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjk1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkRpZ2lncjg8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNzk5NCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzA3NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5EaWdpTGFuZCBETDcwMVE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjM2MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjcwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RGlnaXRhbCBjYW1lcmEsIENEMzAyTjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5ESUdJVEFMIE1JRCMwMDIwNTA5IChuby1uYW1lIGNhbWVyYSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ5OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDEyMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkRpZ2l0YWxEcmVhbSBFbmlnbWExLjM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RGlnaXRhbERyZWFtIGwnZWxlZ2FudGU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjMyOSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RGlnaXRhbERyZWFtIGwnZWxpdGU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RGlnaXRhbERyZWFtIGwnZXNwaW9uPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQ0ODMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5EaWdpdGFsRHJlYW0gbCdlc3Bpb24gWFM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ5OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDEyOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkRpZ2l0YWxEcmVhbSBsJ2VzcGlvbiB4dHJhPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkRpZ2l0YWxEcmVhbSBsJ2VzcHJpdDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5EaWdpdGFsRHJlYW0gbGEgcm9uZGU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjcyNiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjQ2MDkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RGlzbmV5IE1peE1heDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzY5NDQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5EaXNuZXkgcGl4IG1pY3JvPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjk0NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkRpc25leSBwaXggbWljcm8gMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MzEwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4NzA0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkR1bmxvcCBNUDMgcGxheWVyIDFHQiAvIEVHT01BTiBNRDIyM0FGRDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzYyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5FbHRhIE1lZGlAIGRpZ2ktY2FtPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzNjIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkVtcHJleCBQQ0QzNjAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwMjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5FcHNvbiBQaG90b1BDIDMwMDB6PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwMjYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5FcHNvbiBQaG90b1BDIDg1MHo8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA2MDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgyMDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Rmx5IEV2byBUZWNoIDQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA2MDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMwNzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Rmx5IGlxNDQxNSBlcmEgc3R5bGUgMzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MDE4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjM4NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GbHkgaXE0NDk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTc0NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODYzNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GT01BIEQ5MDVpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM1MzAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEF4aWEgRXllcGxhdGU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzUzMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgQXhpYSBTbGltc2hvdDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGaW5lUGl4IEEzMzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDY2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBBODAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ1NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggQTgyMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGaW5lUGl4IEE5MjA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTM5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBBVi0xNTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDAzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBFOTAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ4MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggRjEwMGZkPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ0OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggRjIwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ4NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggRjIwMCBFWFI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDExIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBGMzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDQ5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBGMzFmZDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGaW5lUGl4IEY0MGZkPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ2OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggRjUwZmQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDg2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBGNjBmZDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MDYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGaW5lUGl4IEY3MCBFWFI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTI2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBGODBFWFI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTU3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBIMjBFWFI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNjI1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBIUzMwRVhSPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU5MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggSlgzNzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDc3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBTMTAwMGZkPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ3NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggUzEwMGZzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ5NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggUzE1MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTEyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBTMTgwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0ODgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGaW5lUGl4IFMyMDAwSEQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTIxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBTMjUwMEhEPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggUzI5NTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNjM3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBTMjk4MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI2MTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGaW5lUGl4IFM0MzAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjY2NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggUzQ4NTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBTNTcwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NzEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGaW5lUGl4IFM1ODAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ0NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggUzY1MDBmZDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGaW5lUGl4IFM3MDAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM5OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggUzk1MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNjY4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBTTDEwMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTYzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBUMjAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjYyMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggWC1TMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI2MTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGaW5lUGl4IFgxMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI2NzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGaW5lUGl4IFgyMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI2NDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGaW5lUGl4IFhGMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NzIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGaW5lUGl4IFoxMDBmZDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGaW5lUGl4IFozNTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MjUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGaW5lUGl4IFo3MDBFWFI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTEwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRnVqaWZpbG0gQTIyMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI2OTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGdWppZmlsbSBYLUUyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgSVgtMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBTNSBQcm88L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjMyOSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaUZpbG0gQHhpYSBpeC0xMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDQxNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppdHN1LCBMdGQgRjkwM2lYIEhJR0gtU1BFRUQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDkyMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppdHN1LCBMdGQgU1RZTElTVElDIE01MzI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjMzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iOTYwNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5HYXJtaW4gTW9udGVycmE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+R2VhciB0byBnbzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzI5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5HZW5lcmljIFNvdW5kVmlzaW9uIENsYXJpdHkyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExMTIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI4Njc3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+R2VuaXVzIFNtYXJ0IDMwMCwgdmVyc2lvbiAyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM0OTA4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkdlbnNpcyBHVC03MzA1IDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDQ0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MjAwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkdpZ2FieXRlIFJDVDY3NzNXMjIgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA0NCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzA3NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5HaWdhYnl0ZSBSQ1Q2NzczVzIyIChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5HbG9iYWwgUG9pbnQgMyBpbiAxIERpZ2l0YWwgRnVuIEdyYWZmaXRpIDAwMDQ0PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkdsb2JhbCBQb2ludCBDbGlwc3RlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5HbG9iYWwgUG9pbnQgU3BsYXNoIE1pbmkgKHVuZGVyd2F0ZXIgY2FtZXJhKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MzUzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkdvb2dsZSBJbmMgKGZvciBBaW5vbCBOb3ZvKSBGaXJlL0ZsYW1lPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjYzNTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+R29vZ2xlIEluYyAoZm9yIEFsbHdpbm5lcikgQTMxIFNvQzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MzUzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDAzMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Hb29nbGUgSW5jIChmb3IgQXN1cykgTmV4dXMgNyAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MzUzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDAzNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Hb29nbGUgSW5jIChmb3IgQXN1cykgTmV4dXMgNyAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTk5ODMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+R29vZ2xlIEluYyAoZm9yIEFzdXMpIFRGMTAxIFRyYW5zZm9ybWVyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjYzNTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE5NzEyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkdvb2dsZSBJbmMgKGZvciBBc3VzKSBURjIwMSBUcmFuc2Zvcm1lcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MzUzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMTUyMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Hb29nbGUgSW5jIChmb3IgQmFybmVzICZhbXA7IE5vYmxlKSBOb29rIENvbG9yPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjYzNTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI5NzA2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkdvb2dsZSBJbmMgKGZvciBMZW5vdm8pIElkZWFwYWQgSzE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTM1MTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+R29vZ2xlIEluYyAoZm9yIExHIEVsZWN0cm9uaWNzKSBQOTkwL09wdGltdXM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTM1MTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+R29vZ2xlIEluYyAoZm9yIExHIEVsZWN0cm9uaWNzKSBQOTkwL09wdGltdXMgKEN5YW5vZ2VuKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MzUzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDE5MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Hb29nbGUgSW5jIChmb3IgTEcgRWxlY3Ryb25pY3MvU2Ftc3VuZykgTmV4dXMgNC81LzcvMTAgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjAxOTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+R29vZ2xlIEluYyAoZm9yIExHIEVsZWN0cm9uaWNzL1NhbXN1bmcpIE5leHVzIDQvNS83LzEwIChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MzUzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NTA2NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Hb29nbGUgSW5jIChmb3IgTWVkaW9uKSBNRDk5MDAwIChQOTUxNCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjg4NDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+R29vZ2xlIEluYyAoZm9yIE1vdG9yb2xhKSBYb29tIChNWjYwNCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjAwMDUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+R29vZ2xlIEluYyAoZm9yIFNhbXN1bmcpIE5leHVzIFMgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjAwMDYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+R29vZ2xlIEluYyAoZm9yIFNhbXN1bmcpIE5leHVzIFMgKE1UUCtBREIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjYzNTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0NTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+R29vZ2xlIEluYyAoZm9yIFNvbnkpIFMxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjYzNTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI4OTMwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkdvb2dsZSBJbmMgKGZvciBUb3NoaWJhKSBUaHJpdmUgNy9BVDEwNTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MzUzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDE5NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Hb29nbGUgTmV4dXMgNSAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI5ODQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Hb1BybyBIRVJPMys8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTk0MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzI3OTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5HcmFuZFRlayBTY29wZUNhbTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5HVFcgRWxlY3Ryb25pY3M8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDg2NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDExOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IYWllciBJYml6YSBSaGFwc29keSAxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQ4NjYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQxMTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SGFpZXIgSWJpemEgUmhhcHNvZHkgMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzYyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IYWltZWkgRWxlY3Ryb25pY3MgSEUtNTAxQTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IYXdraW5nIERDMTIwIFBvY2tldGNhbTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMjI4NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IZXdsZXR0LVBhY2thcmQgU2xhdGUgMTAgSEQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjM4MzciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SGV3bGV0dC1QYWNrYXJkIFNsYXRlIDcgMjgwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMzU4MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IZXdsZXR0LVBhY2thcmQgU2xhdGUgNyA0NjAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQyNTEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTI2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhpc2Vuc2UgRTg2MCAoSUQxKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MjUxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNzEyOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IaXNlbnNlIEU4NjAgKElEMik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDI1MSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzcxMjUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SGlTZW5zZSBTZXJvIDcgUHJvPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1ODU4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgMTIwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjUwOTAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IDIxNTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMTc0NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IDIxNyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMyMDAyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgMzE3IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjUzNDYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCAzMTggKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNjExNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IDMyMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI5Njk4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgNDA3IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzA3MjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCA0MTcgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyOTE4NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IDQzeCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI4MTYyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgNTA3IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzA5NzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCA1MTcgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzkwNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IDYwNyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1MzQ2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgNjEyIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY2NDIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IDYxODwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNjYyNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IDYyMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI4OTMwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgNjM1IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjczOTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCA3MDcgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTYwMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IDcxNSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMwMjEwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgNzE3IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjYzNzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCA3MjAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzY1MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IDczMyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3MTM4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgNzM1IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY4OTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCA4MTIgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDQ2NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IDgxNyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMyMjU4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgODE4IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTcxNTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCA4NTAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjY0MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgOTEyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE3NDEwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgOTM1IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTc2NjYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCA5NDUgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjY0MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgQzUwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNDU3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IEM1MDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MTQ0MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjQ1NzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IEM1MDAgMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNTU4NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IEUzMjcgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNTg0MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IEU0MjcgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyOTk1NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IE0yMiAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMxNDkwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgTTIzIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjk0NDIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCBNMzA3IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzEyMzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCBNNDE1IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzI3NzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCBNNDI1IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzMwMjYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCBNNTI1IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzMyODIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCBNNTI3IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzk2ODIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCBNNTQ3IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzM3OTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCBNNzI1IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzQwNTAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCBNNzI3IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzg0MDIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCBNNzM3IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzg2NTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCBSNzQyIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzQ1NjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCBSOTI3IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzQ4MTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCBSOTY3IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjY3MTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIChmb3IgSGV3bGV0dC1QYWNrYXJkKSBIUCBUb3VjaHBhZCAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNjcyMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgKGZvciBIZXdsZXR0LVBhY2thcmQpIEhQIFRvdWNocGFkIChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDc0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBBbmRyb2lkIERldmljZSBJRDEgKFpvcG8sIEhEMiwgQmlyZC4uLik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODIwMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgQW5kcm9pZCBEZXZpY2UgSUQyIChab3BvLCBIRDIuLi4pPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3ODIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIERlc2lyZSAzMTAgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzc3MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgRHJvaWQgRE5BIChNVFArVU1TKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNTgzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBEcm9pZCBETkEgKE1UUCtVTVMrQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMjE5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBFVk8gNEcgTFRFL09uZSBWIChJRDEpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMyNDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIEVWTyA0RyBMVEUvT25lIFYgKElEMik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzU4MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgSFRDIEJ1dHRlcmZseSAoSUQxKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNTU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBIVEMgQnV0dGVyZmx5IFgyOTBkPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE1MzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIEhUQyBEZXNpcmUgNTEwIChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNTQxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBIVEMgRGVzaXJlIFg8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzYzMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgSFRDIERyb2lkIEluY3JlZGlibGUgNEcgTFRFIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM2MzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIEhUQyBEcm9pZCBJbmNyZWRpYmxlIDRHIExURSAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzU3MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgSFRDIEV2byA0RyBMVEUgKElEMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTk2NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgSFRDIE9uZSAoSFRDNjUwMExWVyk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzU0NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgSFRDIE9uZSAoSUQxKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzOTg1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBIVEMgT25lIChJRDMpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM5NDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIEhUQyBPbmUgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzkzOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgSFRDIE9uZSAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzk3NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgSFRDIE9uZSAoTVRQK0FEQis/KTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzOTM1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBIVEMgT25lIChNVFArQURCK0NEQyk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzkzNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgSFRDIE9uZSAoTVRQK0NEQyk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzU2MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgSFRDIE9uZSAoTVRQK1VNUytBREIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM1MzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIEhUQyBPbmUgODAydyAoSUQxKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxOTk0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBIVEMgT25lIE04IChIVEM2NTI1TFZXKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzODc3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBIVEMgT25lIE04IChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE1NjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIEhUQyBPbmUgTTggKE1UUCtBREIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQwMjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIEhUQyBPbmUgTTggKE1UUCtBREIrVU1TKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MDIxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBIVEMgT25lIE04IChNVFArVU1TKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxOTk1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBIVEMgT25lIE04IChWZXJpem9uKSAoSFRDNjUyNUxWVyk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjAwOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgSFRDIE9uZSBSZW1peCAoSFRDNjUxNUxWVyk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzMwOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgSFRDIE9uZSBTIChJRDEpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM1NzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIEhUQyBPbmUgUyAoSUQyKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNTc3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBIVEMgT25lIFMgKElEMyk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzU3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgSFRDIE9uZSBYIChJRDEpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM1NzkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIEhUQyBPbmUgWCAoSUQyKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNTgwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBIVEMgT25lIFggKElEMyk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzU4MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgSFRDIE9uZSBYIChJRDQpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwMDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIEhUQzY1MTVMVlcvT25lIFJlbWl4PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgyMTAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIE1vdG9yb2xhIFJhenIgRDE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTU0NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgT25lIE04IEdvb2dsZSBQbGF5IEVkaXRpb24gKE1UUCtBREIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM1MzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIE9uZSBNaW5pIChJRDEpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjYxNjQyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBXaW5kb3dzIFBob25lIDhzIElEMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyOTc3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBXaW5kb3dzIFBob25lIDhYIElEMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyOTc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBXaW5kb3dzIFBob25lIDhYIElEMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0ODE3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MjI2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkh1YXdlaSBBc2NlbmQgUDggPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQ4MTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzODM5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkh1YXdlaSBNZWRpYXBhZCAobW9kZSAwKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0ODE3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzg1NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IdWF3ZWkgTWVkaWFwYWQgKG1vZGUgMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDgxNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDE3NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IdWF3ZWkgTVRQIGRldmljZSAoSUQxKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0ODE3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MTc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkh1YXdlaSBNVFAgZGV2aWNlIChJRDIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNzIwMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPmlDbGljayA1WDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5pQ29uY2VwdHMgZGlnaXRhbCBjYW1lcmE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE2MSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDkxODkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SW5Gb2N1cyBNODEwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzNjIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPklOTk9WQUdFIE1pbmkgRGlnaXRhbCwgQ0QzMDJOPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjY2NTUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc3MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5JbnNpZ25pYSBOUy1EVjQ1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjY2NTUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc3NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5JbnNpZ25pYSBQaWxvdCA0R0I8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjY1NSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzc1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkluc2lnbmlhIFNwb3J0IFBsYXllcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzMjkwMyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjY1NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5JbnRlbCBDaHV3aSB2aTg8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzI5MDMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1ODEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SW50ZWwgRm94Y29ubiBpVmlldyBpNzAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjMyOTAzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTgyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkludGVsIE5vYmxleCBUN0EyMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzMjkwMiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTU4NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkludGVsIFBvY2tldCBQQyBDYW1lcmE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzI5MDMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI2NTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SW50ZWwgVGVsY2FzdCBBaXIgM0c8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzI5MDMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1NTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SW50ZWwgWG9sbyA5MDAvQVoyMTBBPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPklPTWFnaWMgTWFnaWNJbWFnZSA0MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjM2MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjcxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SU9OIGRpZ2l0YWwgY2FtZXJhPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0Mzk0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPmlSaXZlciBDbGl4PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MzkwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPmlSaXZlciBDbGl4MjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDQxNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5pUml2ZXIgRTEwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDQxOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5pUml2ZXIgRTEwMCB2Mi9McGxheWVyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NDM0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPmlSaXZlciBFMTUwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NDU1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPmlSaXZlciBFMzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ0MzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+aVJpdmVyIEU1MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODQ0OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5pUml2ZXIgSDEwIDIwR0I8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg0NTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+aVJpdmVyIEgxMCA1LjZHQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODQ1MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5pUml2ZXIgSDEwIDVHQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MTAyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjI5MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5pUml2ZXIgSDMwMCBTZXJpZXMgTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MTA0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPmlSaXZlciBpRlAtODgwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0Mzg2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPmlSaXZlciBOMTI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDEwMiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTYzODYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+aVJpdmVyIFBvcnRhYmxlIE1lZGlhIENlbnRlciAxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQxMDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2Mzg3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPmlSaXZlciBQb3J0YWJsZSBNZWRpYSBDZW50ZXIgMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDQyMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5pUml2ZXIgU3Bpbm48L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQzNzEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+aVJpdmVyIFQxMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDM4NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5pUml2ZXIgVDEwIDJHQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDM3NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5pUml2ZXIgVDEwYjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDM3MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5pUml2ZXIgVDIwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MzcyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPmlSaXZlciBUMjAgRk08L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQzNzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+aVJpdmVyIFQyMGI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQzNzciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+aVJpdmVyIFQzMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDQzNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5pUml2ZXIgVDU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ0MDQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+aVJpdmVyIFQ2MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MTYyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NDE5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPmlSaXZlciBUNyBWb2xjYW5vPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijc3ODQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQwOTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+aVJpdmVyIFRvbGlubyBUYWIgNzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDM3NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5pUml2ZXIgVTEwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NDAyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPmlSaXZlciBYMjA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjg0OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTY4MTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SXNhYmVsbGEgSGVyIFByb3RvdHlwZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTI0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5JeGxhIER1YWxDYW0gNjQwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkphendhcmVzIFN0YXIgV2FycyBuby4gMTUyNTY8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM2OTU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SmF6eiBKREM5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkphenogSkRLMjM1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzMDU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SmVub3B0aWsgSkQtMzMwMHozPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NjQwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SmVub3B0aWsgSkQtNDEwMHozPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0OTgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQxMDIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5KZW5vcHRpayBKRDM1MCBlbnRyYW5jZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SmVub3B0aWsgSkQzNTAgdmlkZW88L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SmVub3B0aWsgSkRDIDM1MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU0NSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjU2MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Kb2xsYSBTYWlsZmlzaCAoSUQxKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU0NSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjU2NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Kb2xsYSBTYWlsZmlzaCAoSUQyKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjY1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNDgzNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5KVkMgQWxuZW8gWEEtSEQ1MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjEyNiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktCR2VhciBKYW1DYW08L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjg1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDEwOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5LZW53b29kIE1lZGlhIEtlZyBIRDEwR0I3IFNwb3J0IFBsYXllcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4NzU5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MzUxMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2JvIEFyYyAoSUQxKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4NzU5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MzUxMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2JvIEFyYyAoSUQyKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4NzU5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NTMyMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2JvIEFyYyA3IEhEPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE1NTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQzE1MzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTU0NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDMTgzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0MDYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQzMwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDE4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIEMzMTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQyMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDMzMwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0MjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQzM0MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDE3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIEMzNjA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQ1MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDNDMzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0MzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQzUzMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDQyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIEM1MzM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQ2MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDNjEzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0NjYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQzYzMzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDQ3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIEM2NDM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQ1NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDNjUzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0NTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQzc0MzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDc1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIEM4MTM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQ0OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDODc1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0NzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQzkxMzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDM2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIENEMzM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDWDQyMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDWDQyMTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTMzMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDWDQyMzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM4MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDWDQzMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM4MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDWDQzMTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM5NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDWDYyMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM5NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDWDYyMzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM5MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDWDYzMzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQxMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDWDY0NDU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQwMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDWDcyMjA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQwMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDWDczMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQwMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDWDczMTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQwMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDWDczMzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQwMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDWDc0MzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDWDc1MjU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQwNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDWDc1MzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgREMyMjA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjg4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgREMyNDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjg5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIERDMjQwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjcyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgREMyNjA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjczIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgREMyNjU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzA0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgREMyODA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjc0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgREMyOTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzA2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgREMzNDAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM1MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBEQzQ4MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzA1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgREM1MDAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzMTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgRFgzMjE1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyODAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgRFgzNTAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyOTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgRFgzNjAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzMjgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgRFgzNzAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM2OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBEWDM5MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM2NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBEWDQzMzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM5OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBEWDQ1MzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM2MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBEWDQ5MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM5MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBEWDYzNDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM5NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBEWDY0NDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM5NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBEWDY0OTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQwNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBEWDc0NDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQwNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBEWDc1OTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM5OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBEWDc2MzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzY4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgRVoyMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM0NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBMUzQyMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzg0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIExTNDQzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzODUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgTFM2NjM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM4MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBMUzc0MzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzgzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIExTNzUzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0ODYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgTTEwNjM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTUzNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBNNTMxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0MzkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgTTc1MzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDczIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIE04NjM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQ1MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBNODgzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0MTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgTTg5MyBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDI0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIE1DMzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDI2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIFA4NTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQyNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBQODgwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0MjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgVjUzMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDIzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIFY1NTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQyNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBWNTcwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0NDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgVjYwMzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIFY2MTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQ1MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBWNzA1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0NjQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgVjgwMzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDM3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIFo2MTI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQzOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBaNjUwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0MTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgWjcwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDU5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIFo3MTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQ2MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBaNzEyIElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0MDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgWjczMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDE2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIFo3NDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTAyNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBaNzU5MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDYxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIFo4MTIgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQyOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBaODYxMiBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDg3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIFo5MTU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQ4NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBaOTUwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0NzIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgWkQ3MTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTgyNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvbmljYSBlLW1pbmk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDkwNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb25pY2EtTWlub2x0YSBEaU1BR0UgQTIgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0OTA3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb25pY2EtTWlub2x0YSBEaU1BR0UgQTIwMCAoUGljdEJyaWRnZSBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0OTA3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvbmljYS1NaW5vbHRhIERpTUFHRSBYMjEgKFBpY3RCcmlkZ2UgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDkwNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb25pY2EtTWlub2x0YSBEaU1BR0UgWjIgKFBpY3RCcmlkZ2UgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDkwNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29uaWNhLU1pbm9sdGEgRGlNQUdFIFozIChQaWN0QnJpZGdlIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQ5MDciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvbmljYS1NaW5vbHRhIERpTUFHRSBaNSAoUGljdEJyaWRnZSBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI3OTk0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MTAyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkt1cmlvIDdTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI0MjUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S3lvY2VyYSBEdXJhRm9yY2U8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE1NCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA2NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5LeW9jZXJhIEtZTDIyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzOTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S3lvY2VyYSBSaXNlPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0MzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S3lvY2VyYSBUb3JxdWUgTW9kZWwgRTY3MTU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM2OTQ1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TGVnbyBCaW9uaWNsZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI5MDc3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxlaWNhIEQtTFVYIDI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjgwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MZWljYSBNOTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDUxOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MZW5vdm8gQTM1MDAtRjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDUwNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MZW5vdm8gQTU1MDAtRjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyOTg0OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MZW5vdm8gQTgyMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDE0MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MZW5vdm8gSWRlYVBhZCBBMzAwMCAoSUQxKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDE0MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MZW5vdm8gSWRlYVBhZCBBMzAwMCAoSUQyKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDAxOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MZW5vdm8gSWRlYVRhYiBBMjEwOUE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzAwNzciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TGVub3ZvIElkZWFUYWIgUzIyMTBhPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjYxMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMwNDQwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxlbm92byBJZGVhVGFiIFM1MDAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjYxMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI5NzA2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxlbm92byBLMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDg1MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MZW5vdm8gSzMgTm90ZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDEzMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MZW5vdm8gSzkwMCAoSUQxKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDU1NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MZW5vdm8gTGlmZVRhYiBFNzMzWDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyOTkwMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MZW5vdm8gTGlmZXRhYiBTOTUxMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDc0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxlbm92byBQNzAtQTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyOTg0NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MZW5vdm8gUDcwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyOTg2MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MZW5vdm8gUDc4MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyOTk0NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MZW5vdm8gUzY2MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDQ4OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MZW5vdm8gUzkzMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyOTcyNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MZW5vdm8gVGhpbmtQYWQgVGFibGV0PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjYxMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMwNDUwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxlbm92byBUb2dhIFRhYmxldCBCNjAwMC1GPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjYxMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMwNjk4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxlbm92byBWaWJlIFoyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjYxMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMwNDYzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxlbm92byBZb2dhIFRhYmxldCAxMCBCODAwMC1IPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjYxMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMwNjQxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxlbm92byBZb2dhIFRhYmxldCAyIFBybzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MTAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTA3MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MRyBFbGVjdHJvbmljcyBJbmMuIEFuZHJvaWQgcGhvbmUgKElEMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDEwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjUwODEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TEcgRWxlY3Ryb25pY3MgSW5jLiBBbmRyb2lkIHBob25lIChJRDIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQxMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1MjE1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxHIEVsZWN0cm9uaWNzIEluYy4gRzM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDEwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjUxOTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TEcgRWxlY3Ryb25pY3MgSW5jLiBHMyAoVlM5ODUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQxMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI0ODU5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxHIEVsZWN0cm9uaWNzIEluYy4gR1ItNTAwIE11c2ljIFBsYXllcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MTAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNDcxOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MRyBFbGVjdHJvbmljcyBJbmMuIEtDOTEwIFJlbm9pciBNb2JpbGUgUGhvbmU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDEwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjQ4ODIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TEcgRWxlY3Ryb25pY3MgSW5jLiBLTTkwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MTAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTQwNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MRyBFbGVjdHJvbmljcyBJbmMuIExHIEcgRmxleCAyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQxMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1MTQ1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxHIEVsZWN0cm9uaWNzIEluYy4gTEcgVlM4NzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDEwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjUxNDkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TEcgRWxlY3Ryb25pY3MgSW5jLiBMRyBWUzg5MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MTAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTExNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MRyBFbGVjdHJvbmljcyBJbmMuIExHIFZTOTgwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQxMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1MTI1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxHIEVsZWN0cm9uaWNzIEluYy4gTEcyIE9wdGltdXM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDEwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjQ5ODYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TEcgRWxlY3Ryb25pY3MgSW5jLiBMRzg1NzU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA4NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjg3MzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TEcgRWxlY3Ryb25pY3MgSW5jLiBUNTQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA4NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjg4NDkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TEcgRWxlY3Ryb25pY3MgSW5jLiBVUDM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDEwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjUzNzIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TEcgRWxlY3Ryb25pY3MgSW5jLiBWYXJpb3VzIEUgYW5kIFAgbW9kZWxzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQxMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1MTg5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxHIEVsZWN0cm9uaWNzIEluYy4gVks4MTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDEwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjQ1OTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TEcgRWxlY3Ryb25pY3MgSW5jLiBWWDg1NTAgViBDQVNUIE1vYmlsZSBQaG9uZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MTAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNDU4MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxHIFQ1MTAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NjQwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TGlmZXRlYyBMVCA1OTk1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjUwNzMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI4Njc0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxvZ2lrIExPRyBEQVggTVAzIGFuZCBEQUIgUGxheWVyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExMzMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIzMDQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Mb2dpdGVjaCBDbGlja3NtYXJ0IDMxMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTMzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMzg0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TG9naXRlY2ggUG9ja2V0IERpZ2l0YWw8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzQ3OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY2NDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NYWdpbm9uIFNYLTQxMHo8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzQ3OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTMwNTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NYWdpbm9uIFNYMzMwejwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NYWdwaXggQjM1MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjc2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDU1NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1heGVsbCBNYXggUG9ja2V0PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE2NDciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMzOTAwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1heGZpZWxkIEctRmxhc2ggTkcgMUdCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzMjkiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1lZGlhLVRlY2ggbXQtNDA2PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1lZGlhVGVrIEluYyBNVDV4eCBhbmQgTVQ2eHggU29DczwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDMyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NTA2NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NZWRpb24gTGlmZXRhYiBQOTUxNDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyOTgyNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NZWRpb24gTGlmZXRhYiBQOTUxNjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjc2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDU1NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1lZGlvbiBNRCA1MzE5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NjQwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TWVkaW9uIE1EIDYwMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODcwOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1lZGlvbiBNRCA2MTI2PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NjQyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TWVkaW9uIE1EIDk3MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTY0NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzQxMjgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TWVkaW9uIE1EODMzMyAoSUQxKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNjQ3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNDE4NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NZWRpb24gTUQ4MzMzIChJRDIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ1MDY1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1lZGlvbiBNRDk5MDAwIChQOTUxNCkvT2xpdmV0dGkgT2xpcGFkIDExMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0NzIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MjEwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1lZ2Fmb24gTG9naW4rPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjgyMjIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE3MDY3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1lZ2Fmb24gTUZMb2dpbjNUPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MjAwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1laXp1IE1YIFBob25lIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDc0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1laXp1IE1YIFBob25lIChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MzEwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4OTYwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1lbW9yZXggb3IgaVJpdmVyIE1NUCA4NTg1Lzg1ODYgb3IgaVJpdmVyIEUyMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzUwNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjE4NzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TWljcm8tU3RhciBJbnRlcm5hdGlvbmFsIFA2MTAvTW9kZWwgTVMtNTU1NzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NaWNyb21heHggRGlnaXRhbCBDYW1lcmE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTExOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTYwMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NaWNyb3NvZnQgS2luIDE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTExOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTU3MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NaWNyb3NvZnQgV2luZG93cyBNVFAgU2ltdWxhdG9yPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExMTgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TWljcm9zb2Z0IFdpbmRvd3MgUGhvbmU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTExOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTgwOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NaWNyb3NvZnQgWnVuZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTE4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNTk4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1pY3Jvc29mdCBadW5lIEhEPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExMTgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjYxNjQyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1pY3Jvc29mdC9IVEMgSFRDIDhTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExMTgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NaWNyb3NvZnQvSW50ZWwgQmFuZG9uIFBvcnRhYmxlIE1lZGlhIENlbnRlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTE4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjAxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1pY3Jvc29mdC9TaGFycC9uVmlkaWEgS2luIFR3b008L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzE0MSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzI3NzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NaW5pIFNob3R6IG1zLTM1MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMTI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TWludG9uIFMtQ2FtIEY1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNzE1MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1pdGVrIENEMTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TWl0ZWsgQ0QzMFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjQ3NzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TW90b3JvbGEgQTEyMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjg4MDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TW90b3JvbGEgQXRyaXggTUI4NjAgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjU4MDciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TW90b3JvbGEgQXRyaXggWFQ2ODcgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTE4MjYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TW90b3JvbGEgQXRyaXgvUmF6ciBIRCAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMTgyNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Nb3Rvcm9sYSBBdHJpeC9SYXpyIEhEIChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMTg3OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Nb3Rvcm9sYSBEcm9pZCBNYXh4IChYVDEwODApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjExOTQxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIERyb2lkIFR1cmJvIChYVDEyNTQpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjExOTQ0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIERyb2lkIFR1cmJvIFZlcml6b248L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTE4ODAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TW90b3JvbGEgRHJvaWQgVWx0cmE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY4NTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TW90b3JvbGEgRHJvaWQgWC9NQjUyNSAoRGVmeSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY4NTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TW90b3JvbGEgRFJPSUQyIChJRDEpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE3MDYzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIERST0lEMiAoSUQyKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNzI3OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Nb3Rvcm9sYSBEUk9JRDQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTcyNjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TW90b3JvbGEgRFJPSUQ0IChQVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE4NDQ5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIElkZWFQYWQgSzE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY4NjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TW90b3JvbGEgTWlsZXN0b25lIC8gVmVyaXpvbiBEcm9pZDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyODg3NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Nb3Rvcm9sYSBNaWxlc3RvbmUgWDI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTE4OTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TW90b3JvbGEgTW90byBHIChJRDEpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjExOTA2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIE1vdG8gRyAoSUQyKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMTkwOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Nb3Rvcm9sYSBNb3RvIEcgKFhUMTAzMik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTE4NzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TW90b3JvbGEgTW90byBYIChYVDEwNTMpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjExODc1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIE1vdG8gWCAoWFQxMDU4KTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMTg3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Nb3Rvcm9sYSBNb3RvIFggKFhUMTA4MCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjU2MTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TW90b3JvbGEgTVRQIFRlc3QgQ29tbWFuZCBJbnRlcmZhY2U8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjU3ODEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TW90b3JvbGEgUmF6ciBEMS9EMy9pIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1NzgyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIFJhenIgRDEvRDMvaSAoTVRQKz8pPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjExODU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIFJBWlIgTSBYVDkwNyAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMTg1NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Nb3Rvcm9sYSBSQVpSIE0gWFQ5MDcgKE1UUCtBREIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1NjIxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIFJBWlIyIFY4L1U5L1o2PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwODUzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIFYzbS9WNzUwIHZlcml6b248L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjg4MzUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TW90b3JvbGEgWG9vbSAoRmFjdG9yeSB0ZXN0KTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyODg0MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Nb3Rvcm9sYSBYb29tIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI4ODQxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIFhvb20gKE1UUCtBREIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE3MTY5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIFhvb20gMiBNZWRpYSBFZGl0aW9uPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE3MTU4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIFhvb20gMiBNZWRpYSBFZGl0aW9uIChJRDIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2ODQ3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIFhvb20gMiBNZWRpYSBFZGl0aW9uIChJRDMpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI4OTQxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIFhUODkwLzkwNy9SYXpyIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI4OTQyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIFhUODkwLzkwNy9SYXpyIChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNzI1MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Nb3Rvcm9sYSBYVDkxMi9YVDkyODwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzc1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0OTY2NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk11c3RlayBnU21hcnQgMzAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNzUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQxODA4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TXVzdGVrIGdTbWFydCAzNTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM3NSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDk2OTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NdXN0ZWsgZ1NtYXJ0IG1pbmk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM3NSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTAyMDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NdXN0ZWsgZ1NtYXJ0IG1pbmkgMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzc1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MDQ2NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk11c3RlayBnU21hcnQgbWluaSAzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI3MjYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM4NDAxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk15TXVzaXggUEQtNjA3MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDMzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MDYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TkVDIENhc2lvIEM4MTE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzMyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTA3NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5ORUMgQ2FzaW8gQ0EtMjAxTDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDMzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TkVDIEZPTUEgTjAxQTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDI2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMjEyMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OZXh0YXIgTUE3MTVBLThSPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjk1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5leHh0ZWNoIE1pbmkgRGlnaXRhbCBDYW1lcmE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzcwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggMjAwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IDIxMDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyOTAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCAyMjAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjkxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggMjIwMHYxLjEgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNjUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCAyNTAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjc3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggMzEwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI4OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IDMyMDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCAzNTAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjg1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggMzcwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMwMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IDQxMDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCA0MjAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjcxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggNDMwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI2NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IDQ1MDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCA0NjAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzA1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggNDYwMGEgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyOTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCA0ODAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjc1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggNTAwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUxOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IDUyMDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyODEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCA1NDAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzAyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggNTYwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI2OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IDU3MDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCA1OTAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzEzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggNzYwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMxMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IDc5MDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyODciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCA4NzAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjU5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbFBpeCA4ODA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjk1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggODgwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IDg4NSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQwMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IDk0MDAgIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjU4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbFBpeCA5OTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTUwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggQSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM5MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IEFXMTAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTIwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggTDEgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3NzkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBMMTAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3NzciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBMMTEgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzODIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBMMTEwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzUxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggTDEyIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzg5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggTDEyMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc4OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IEwxNiAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc5MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IEwxOSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc5MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IEwyMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgwNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IEwyMyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgzNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IEwyNzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3NzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBMNCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQwMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IEw4MjAgIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzIwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUDEgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzODEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBQMTAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzIyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUDIgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NDUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBQMzAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTUxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUDMzMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUyNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFA0IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzYxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUDUwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzg4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUDUwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM0NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFA1MDAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTQ3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUDUxMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM1NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFA1MTAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUDUyMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc4NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFA2MCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM2NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFA2MDAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzgzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUDcwMDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzOTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBQNzEwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU0OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFA3NzAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTUzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUDc4MDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBQODAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBQODAgdjEuMSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFA5MCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgyMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFMwMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBTMDI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzM0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUzIgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBTMjAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzc1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUzIyMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFMyMjUgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MDEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBTMjUwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgxMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFMyNjAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODMxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUzI3MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzk1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUzMwMDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBTMzEwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgyMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFMzMjAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgxMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFMzMzAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzI0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUzQgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MDkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBTNDMwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM0OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFM1MDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NDQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBTNTEwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMzNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFM2IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzY5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUzYwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTQyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUzYwMDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBTNjIwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzQzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUzdjIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTQzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUzgwMDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NDYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBTODIwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzOTAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBTOTEwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQwMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFM5NTAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODQzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUzk3MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggU1EgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDI4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIEQySCBTTFIgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDM2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIEQySHMgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDMyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIEQyWCBTTFIgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIEQzIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTAzNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBENTAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDI2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIERTQyBEMTAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTA0MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEU0MgRDIwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwNDYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gRFNDIEQyWHMgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDUwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIERTQyBEMzAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTA2MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEU0MgRDMwMDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDYxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIERTQyBEMzAwcyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwNjMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gRFNDIEQzMTAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTA2OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEU0MgRDMyMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTA3NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEU0MgRDMzMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTA2MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEU0MgRDNzIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTA1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEU0MgRDN4IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTA2NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEU0MgRDQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTA0NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEU0MgRDQwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTA0OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEU0MgRDQweCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwNzciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gRFNDIEQ0czwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDU5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIERTQyBENTAwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwNjUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gRFNDIEQ1MTAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTA3MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEU0MgRDUyMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTA3MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEU0MgRDUzMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTA1NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEU0MgRDYwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTA2OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEU0MgRDYwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDc2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIERTQyBENjEwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwMzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gRFNDIEQ3MCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwNTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gRFNDIEQ3MDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDY0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIERTQyBENzAwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwMzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gRFNDIEQ3MHMgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDcyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIERTQyBENzEwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDc5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIERTQyBENzUwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwNDIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gRFNDIEQ4MCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwNjYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gRFNDIEQ4MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTA3MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEU0MgRDgwMEU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTA3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEU0MgRDgxMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDU3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIERTQyBEOTAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNTM4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIEoxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE1MzkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gSjI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTU0MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBKMzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNTQ1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIEo0PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE1NDIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gUzE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTUzNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBWMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNTQwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIFYyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNzYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwNTU0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+bmlzaXMgUXVpY2twaXggUXAzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU0OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5vZ2FOZXQgVERDLTE1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjcwNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSAyNzEwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSAzMTA5YyBNb2JpbGUgUGhvbmU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iOTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgMzExMGMgTW9iaWxlIFBob25lPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjExMjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgMzI1MCBNb2JpbGUgUGhvbmU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDk0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIDM3MTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTIxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIDUxMzAgWHByZXNzTXVzaWM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSA1MjAwIE1vYmlsZSBQaG9uZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3MzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgNTIzMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjEwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIDUzMDAgTW9iaWxlIFBob25lPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSA1MzEwIFhwcmVzc011c2ljPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIzNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSA1MzIwIFhwcmVzc011c2ljPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjExNTAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgNTUwMCBTcG9ydCBNb2JpbGUgUGhvbmU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTUzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIDU1MzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIwNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSA1NzAwIFhwcmVzc011c2ljIE1vYmlsZSBQaG9uZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgNTgwMCBYcHJlc3NNdXNpYzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNDEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgNTgwMCBYcHJlc3NNdXNpYyB2MjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNDUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgNTgwMCBYcHJlc3NNdXNpYyB2MzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSA2MTIwYyBDbGFzc2ljIE1vYmlsZSBQaG9uZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgNjIxMCBOYXZpZ2F0b3I8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIDYyMjAgQ2xhc3NpYzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI2MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSA2NTAwYyBDbGFzc2ljIE1vYmlsZSBQaG9uZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI2NjMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgNjYwMGk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQ5MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSA4MDggUHVyZVZpZXc8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQyNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSBDNS0wMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI5NjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgQzc8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iOTczIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIEM3IChJRDIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ2MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSBFNTI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODE1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIEU2PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSBFNjM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjI5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIEU2NjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgRTc8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODIxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIEU3IChPdmkgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjI4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIEU3MTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgRTcxeDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NDUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgRTcyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE3ODgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgTHVtaWEgKFJNLTk3NSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTYzOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSBMdW1pYSAzMDE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTYzMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSBMdW1pYSBXUDg8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTMxNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSBOMzAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjExNjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgTjczPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgTjczIE1vYmlsZSBQaG9uZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQ5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIE43NSBNb2JpbGUgUGhvbmU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIE43OCBNb2JpbGUgUGhvbmU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzkwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIE43OTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3NjYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgTjg8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzcwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIE44IChPdmkgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSBOODAgSW50ZXJuZXQgRWRpdGlvbiAoTWVkaWEgUGxheWVyKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSBOODEgTW9iaWxlIFBob25lPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjExNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSBOODIgTW9iaWxlIFBob25lPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSBOODUgTW9iaWxlIFBob25lPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzMDYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgTjk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTE1NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSBOOTEgTW9iaWxlIFBob25lPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjExNDQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgTjkzIE1vYmlsZSBQaG9uZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjUzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIE45M2kgTW9iaWxlIFBob25lPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgTjk1IE1vYmlsZSBQaG9uZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMTAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgTjk1IE1vYmlsZSBQaG9uZSA4R0I8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iOTc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIE45NTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgTjk2IE1vYmlsZSBQaG9uZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MDEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgTjk3PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjYxOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSBOOTcgbWluaTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgTjk3LTE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNjI4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIFg2PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE3NjgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgWEw8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNTg5MSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob3JtU29mdCwgSW5jLiBQb2NrZXQgVHVuZXM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNTg5MSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob3JtU29mdCwgSW5jLiBQb2NrZXQgVHVuZXMgNDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzg5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyODg0MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5uVmlkaWEgQ005LUFkYW08L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjM4OSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDYwODAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+blZpZGlhIFNoaWVsZCAoSUQxKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzg5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1Mjk5OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5uVmlkaWEgU2hpZWxkIChJRDIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzODkiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUyOTk0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPm5WaWRpYSBUZWdyYSBOb3RlPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzODkiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI4OTI4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPm5WaWRpYSBWYXJpb3VzIHRhYmxldHMgKElEMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjM4OSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjg5MzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+blZpZGlhIFZhcmlvdXMgdGFibGV0cyAoSUQyKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI3NzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk8yIFNpc3RlbWFzIFpvbHRhclRWPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk9seW1wdXMgQy0yMTAwVVo8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+T2x5bXB1cyBDLTMwMDBaPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk9seW1wdXMgQy0zMDMwWjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTcyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+T2x5bXB1cyBDLTMxMFo8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjc2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk9seW1wdXMgQy0zNTBaPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5PbHltcHVzIEMtNTUwMFo8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjc2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk9seW1wdXMgQy01NVo8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjc2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk9seW1wdXMgRC01NDBaPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5PbHltcHVzIEQtNTYwWjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTcyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+T2x5bXB1cyBFIHNlcmllcyAoQ29udHJvbCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzAzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk9seW1wdXMgRS1NNTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTcyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+T2x5bXB1cyBFLVBMNTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTcyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+T2x5bXB1cyBGRTQwMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjc2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk9seW1wdXMgSVItMzAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5PbHltcHVzIG1qdSA1MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzAzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk9seW1wdXMgU1AtNzIwVVo8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjc2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk9seW1wdXMgWC0xMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjc2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk9seW1wdXMgWC0yNTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk9seW1wdXMgWDkyMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTcyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+T2x5bXB1cyBYOTI1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwMDg1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk9wcG8gRmluZCA3IChJRCAxKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4OTIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDEwMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5PcHBvIEZpbmQgNyAoSUQgMik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTAwOTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+T3BwbyBYOTAwNjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzI5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5PcmVnb24gU2NpZW50aWZpYyBEU2hvdCBJSTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzI5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5PcmVnb24gU2NpZW50aWZpYyBEU2hvdCBJSUk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iOTA3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QYW5hc29uaWMgRE1DLUZTNjI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iOTA3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QYW5hc29uaWMgRE1DLUZaMjA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iOTA3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QYW5hc29uaWMgRE1DLUZaMzg8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iOTA3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QYW5hc29uaWMgRE1DLUZaNDU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iOTA3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QYW5hc29uaWMgRE1DLUZaNTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iOTA3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QYW5hc29uaWMgRE1DLUdGMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI5MDc2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBhbmFzb25pYyBETUMtTFMyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjkwNzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGFuYXNvbmljIERNQy1MUzM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iOTA3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QYW5hc29uaWMgRE1DLUxYNzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI5MDc2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBhbmFzb25pYyBETUMtVFoxNTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI5MDc2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBhbmFzb25pYyBETUMtVFoxODwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI5MDc2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBhbmFzb25pYyBETUMtVFo4PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg1MTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGFuYXNvbmljIFA5MDVpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg1MzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGFuYXNvbmljIFA5MDZpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQyMDQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjYxNDQzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBhbnRlY2ggQ3J1eDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI3NTAxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDUzNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QZWdhdHJvbiBDaGFnYWxsPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijc1MDEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwNTMzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBlZ2F0cm9uIENoYWdhbGwgKEFEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNzUwMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA1NTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGVnYXRyb24gSHVkbCAyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBlbmNhbSBURVZJT04gTUQgOTQ1NjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI5NzIzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGVudGF4IEszIChQVFAgTW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjU4MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGVudGF4IE9wdGlvIDQzV1I8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjU4MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjQ3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBlbnRheCBPcHRpbyBXOTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjcyNiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzg2NTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGVyY2VwdGlvbiBEaWdpdGFsLCBMdGQgR2lnYXdhcmUgR1g0MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODMxNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QaGlsaXBzIEdvR2VhciBBcmlhPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgzNzciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGhpbGlwcyBHb0dlYXIgQXJpYXo8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODUwNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QaGlsaXBzIEdvR2VhciBBcmlhei85NzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGhpbGlwcyBHb0dlYXIgQXVkaW88L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODMxMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QaGlsaXBzIEdvR2VhciBNdXNlPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgzMzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGhpbGlwcyBHb0dlYXIgU0ExVkJFMDhLWC83ODwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MTk2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBoaWxpcHMgR29HZWFyIFNBMzM0NTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMTM1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBoaWxpcHMgR29HZWFyIFNBNTE0NTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMTI2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBoaWxpcHMgR29HZWFyIFNBNjAxNC9TQTYwMTUvU0E2MDI0L1NBNjAyNS9TQTYwNDQvU0E2MDQ1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgxOTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGhpbGlwcyBHb0dlYXIgU0E2MTI1L1NBNjE0NS9TQTYxODU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzM1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBoaWxpcHMgR29HZWFyIFNBOTIwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MzA5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBoaWxpcHMgR29HZWFyIFZpQkUgU0ExVkJFMDQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODMxNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QaGlsaXBzIEdvR2VhciBWaUJFIFNBMVZCRTA0LzA4PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgzNzUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGhpbGlwcyBHb0dlYXIgVklCRSBTQTJWQkVbMDh8MTZdSy8wMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4NDIxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBoaWxpcHMgR29HZWFyIFZpYmUvMDI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzMzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBoaWxpcHMgSEREMDg1LzAwIG9yIEhERDA4Mi8xNzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMzIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGhpbGlwcyBIREQxNFhYLEhERDE2MjAgb3IgSEREMTYzMC8xNzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0OTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGhpbGlwcyBIREQ2MzIwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMzMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QaGlsaXBzIEhERDYzMjAvMDAgb3IgSERENjMzMC8xNzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI2NDExIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBoaWxpcHMgaTkwODwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzYyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QaGlsaXBzIFA0NDQxN0Iga2V5Y2hhaW4gY2FtZXJhPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg1OTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGhpbGlwcyBQSTM5MDBCMi81OCA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzIyNTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGhpbGlwcyBQU0EyMzU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzg1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBoaWxpcHMgUFNBNjEwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QaGlsaXBzIFNBMTExNS81NTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MjI2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBoaWxpcHMgU0E1Mjg1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QaGlsaXBzIFNob3Fib3g8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGhvZWJlIFNtYXJ0Y2FtPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIyNzYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMyMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QaW9uZWVyIERWUi1MWDYwRDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMjc2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMjgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGlvbmVlciBYTVAzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzNjIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBpeGFydCBHZW1pbmkgS2V5Y2hhaW4gQ2FtZXJhPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjk1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBpeGllIFByaW5jZXNzIEplbGx5LVNvZnQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UG9ja0NhbTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTI0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDM3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBvbGFyb2lkIERDNzAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgyNDUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UG9sYXJvaWQgRnJlZXNjYXBlL01QVS00MzMxNTg8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1MCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzUwMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBvbGFyb2lkIFBEQyAyMzAwWjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzY5NTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QcmFrdGljYSBTbGltcGl4PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNzE1MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlByZWNpc2lvbiBNaW5pIERpZ2l0YWwgQ2FtZXJhPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzNjIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlByZWNpc2lvbiBNaW5pLCBNb2RlbCBIQTUxM0E8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA3MjQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ2MTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UHJlc3RpZ2lvIDU1MDQgRFVPIDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDcyNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDM1NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QcmVzdGlnaW8gNTUwNSBEVU8gPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5MjQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIxMjQ4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UHJldGVjIGRjNTMwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNzYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjY1NTM1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UHVyZURpZ2l0YWwgUml0eiBEaXNwb3NhYmxlPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM0ODE2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlF1YWxjb21tIChmb3IgR2lnYWJ5dGUpIEdTbWFydCBHMTM0MjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI2MTQ0MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5RdWFsY29tbSAoZm9yIEhpZ2hzY3JlZW4pIE9tZWdhIFByaW1lIFM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ3OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTUzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlF1YWxjb21tIChmb3IgTm9raWEpIDU1MzAgWHByZXNzbXVzaWM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ3OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2OTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UXVhbGNvbW0gKGZvciBOb2tpYS9WZXJpem9uKSA2MjA1IEJhbGJvYS9WZXJpem9uIE11c2ljIFBob25lPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI2NDY4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlF1YWxjb21tIChmb3IgT25lUGx1cykgT25lIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI2NDY5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlF1YWxjb21tIChmb3IgT25lUGx1cykgT25lIChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjkyMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5RdWFsY29tbSAoZm9yIFBoaUNvbW0pIEMyMzB3IChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM2OTAxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlF1YWxjb21tIChmb3IgU21hcnRmcmVuKSBBbmRyb21heCBVPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlF1aWNrUGl4IFFQMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNTMwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UmFkaW9zaGFjayBGbGF0Zm90bzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTI0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5SQ0EgQ0RTMTAwNTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDAwNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDcwNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5SZWRtaSAxUyAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDAwNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDcxMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5SZWRtaSBITSAxUyAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5SZXF1ZXN0IFVsdHJhIFNsaW08L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODcxNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlJpY29oIENhcGlsbyBSWDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4NzA3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Umljb2ggQ2FwbGlvIDMwMEc8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODcwOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlJpY29oIENhcGxpbyBHMzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4NzEyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Umljb2ggQ2FwbGlvIEc0PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg3MTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5SaWNvaCBDYXBsaW8gR1g8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODA1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlJpY29oIENhcGxpbyBHWCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg3MjQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5SaWNvaCBDYXBsaW8gR1ggODwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Umljb2ggQ2FwbGlvIEdYIDggKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4NzE3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Umljb2ggQ2FwbGlvIFIxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg3MjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5SaWNvaCBDYXBsaW8gUjF2PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgxMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5SaWNvaCBDYXBsaW8gUjF2IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODcyMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlJpY29oIENhcGxpbyBSMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4NzI2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Umljb2ggQ2FwbGlvIFIzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgxNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5SaWNvaCBDYXBsaW8gUjMgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4NzI3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Umljb2ggQ2FwbGlvIFI0PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg3MzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5SaWNvaCBDYXBsaW8gUjU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjcyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlJpY29oIENhcGxpbyBSNSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg3MDYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5SaWNvaCBDYXBsaW8gUlIzMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MjkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Umljb2ggQ2FwbGlvIFJSNzUwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODcxNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlJpY29oIENhcGxpbyBSWjE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzI3NzUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UklNIEJsYWNrQmVycnkgU3Rvcm0vOTY1MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4NzE5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Um9sbGVpIGRyNTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4NzE5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlJvbGxlaSBkcjUgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzcxODEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYWthciAyMzA3MCAgQ3JheW9sYSBEaWdpdGFsIENhbTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzcxODEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYWthciAyODI5MCBhbmQgMjgyOTIgIERpZ2l0YWwgQzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzcxODEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYWthciA5MjA0NSAgU3BpZGVybWFuPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNha2FyIGNsaXBzaG90IG5vLiAxMTY5eDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzMTQxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMjc3MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNha2FyIERpZ2l0YWwgS2V5Y2hhaW4gMTExOTk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzE0MSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzI3NzEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYWthciBEaWdpdGFsIG5vLCA2NjM3eDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzMTQxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMjc3MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNha2FyIERpZ2l0YWwgbm8sIDY3NDgwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzNjIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNha2FyIERpZ2l0YWwgbm8uIDU2Mzc5IFNweXNob3Q8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjM2MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjcxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FrYXIgRGlnaXRhbCBuby4gNzczNzk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTUxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FrYXIgRG9yYSB0aGUgRXhwbG9yZXIgbm8uIDg4MDY3PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNha2FyIEhlbGxvIEtpdHR5IG5vLiA5NDAwOTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYWthciBLaWR6IENhbSA4NjM3OTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYWthciBLaWR6LUNhbSBuby4gODgzNzk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM2OTU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FrYXIgTWljcm8gRGlnaXRhbCAyNDI4eDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYWthciBOaWNrZWxvZGVvbiBpQ2FybHkgbm8uIDg4MDYxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzNjIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNha2FyIG5vLiAxNjM4eCBDeWJlclBpeDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYWthciBuby4gNzUzNzk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTUxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FrYXIgbm8uIDgxODkwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNha2FyIG5vLiA5MTM3OTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYWthciBuby4gOTgzNzk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTUxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FrYXIgU3RhciBXYXJzIGtpdCBuby4gOTIwMjI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTUxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FrYXIgU3RpY2tlciBXaXphcmQgbm8uIDU5Mzc5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI2NzI2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgRUstR0MxMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjY0MDciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBGMjUwIE1vYmlsZSBQaG9uZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNjcyMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIEdhbGF4eSBtb2RlbHMgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjY3MTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBHYWxheHkgbW9kZWxzIChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNjc0MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIEdhbGF4eSBtb2RlbHMgS2llcyBtb2RlPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI2NDUwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgR1QtQjI3MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjY3OTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBHVC1CMjcxMC9YY292ZXIgMjcxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU3ODY4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgR1QtUzUyMzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjY2NDkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBHVC1TODUwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMTg4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgSTU1MFcgUGhvbmU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjAyNTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBKZXQgUzgwMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjY0MjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBKdWtlIChTQ0gtVTQ3MCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjYxNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBNNzYwMCBCZWF0L0dULVM4MzAwVC9TR0gtRjQ5MC9TODMwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MTMyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgTlgxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ5OTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBOWDEwMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjY2OTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBTNTYyMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNjQ2NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIFNBTVNVTkcgVHJhbmNlPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI2Mzc3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgVTYwMCBNb2JpbGUgUGhvbmU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjY3OTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBWaWJyYW50IFNHSC1UOTU5L0NhcHRpdmF0ZS9NZWRpYSBwbGF5ZXIgbW9kZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNjM3MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIFg4MzAgTW9iaWxlIFBob25lPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwNTI2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgWUgtODIwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwNTA5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgWUgtOTIwICg1MDFkKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDUxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIFlILTkyMCAoNTAyMik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA1MjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBZSC05MjUoLUdTKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDUxNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIFlILTkyNUdTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIzMDU1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgWUgtOTk5IFBvcnRhYmxlIE1lZGlhIENlbnRlci9TR0gtQTcwNy9TR0gtTDc2MFYvU0dILVU5MDAvVmVyaXpvbiBJbnRlbnNpdHkvRmFzY2luYXRlPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwNTMxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgWUgtSjcwSjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDMzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgWVAtOTAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwNTY3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgWVAtRjJKPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwNjA5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgWVAtSzM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA1NzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBZUC1LNTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDc2MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIFlQLU0xPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwNjExIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgWVAtUDI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA3NjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBZUC1QMzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDc1NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIFlQLVExPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwNzY1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgWVAtUTI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA3ODQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBZUC1RMzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDc3MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIFlQLVIwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwNzUxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgWVAtUjE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA3ODIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBZUC1SMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDYyNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIFlQLVMzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwNjE5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgWVAtUzU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA2MTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBZUC1UMTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA1NTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBZUC1UN0o8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA2MDciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBZUC1UOTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDU2NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIFlQLVUySiAoWVAtVTJKWEIvWEFBKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDYwNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIFlQLVUzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwNjI3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgWVAtVTQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA3NjkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBZUC1VNTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDc5MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIFlQLVozPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwNTQwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgWVAtWjU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjk3MTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FuRGlzayBTYW5zYSBjMTUwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI5Nzc2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbkRpc2sgU2Fuc2EgYzI0MC9jMjUwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI5Nzc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbkRpc2sgU2Fuc2EgYzI1MCB2MjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyOTc0NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW5EaXNrIFNhbnNhIENsaXA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjk3NDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FuRGlzayBTYW5zYSBDbGlwIHYyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI5OTI0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbkRpc2sgU2Fuc2EgQ2xpcCBaaXA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjk5MDQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FuRGlzayBTYW5zYSBDbGlwKzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyOTgyNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW5EaXNrIFNhbnNhIENvbm5lY3Q8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjk3MjgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FuRGlzayBTYW5zYSBlMjAwL2UyNTAvZTI2MC9lMjcwL2UyODA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjk3MzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FuRGlzayBTYW5zYSBlMjYwL2UyODAgdjI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjk3OTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FuRGlzayBTYW5zYSBFeHByZXNzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI5ODg4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbkRpc2sgU2Fuc2EgRnV6ZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyOTg5MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW5EaXNrIFNhbnNhIEZ1emUgdjI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjk5MjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FuRGlzayBTYW5zYSBGdXplKzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyOTY5NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW5EaXNrIFNhbnNhIG0yMDAtdGNjIChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjk2OTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FuRGlzayBTYW5zYSBtMjMwL20yNDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjk3NDQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FuRGlzayBTYW5zYSBtMjQwL20yNTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjk4NzIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FuRGlzayBTYW5zYSBWaWV3PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExNDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU2MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW55byBWUEMtQzUgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTQzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNTA3MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNjYW5IZXggU1gtMzVhPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5NDMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM1MDgxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2NhbkhleCBTWC0zNWI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTk0MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzUwODkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TY2FuSGV4IFNYLTM1YzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMTI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MDk3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2NhbkhleCBTWC0zNWQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjMyOSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2NvdHQgQVBYIDMwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg1MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TZWEgJmFtcDsgU2VhIDJHIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODcxOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNlYSAmYW1wOyBTZWEgNTAwMEc8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODA3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNlYSAmYW1wOyBTZWEgNTAwMEcgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TaGFyayAyLWluLTEgTWluaTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TaGFyayBTREMtNTEzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNzE1MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNoYXJrIFNEQy01MTk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI0NSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzg0OTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U0hBUlAgQ29ycG9yYXRpb24gU0JNMjAzU0g8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI0NSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzg2MDIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U0hBUlAgQ29ycG9yYXRpb24gU0gtMDZFPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExNjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ5MTg5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNIQVJQIENvcnBvcmF0aW9uIFNIOTMwVzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzYyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TaGlmdDM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTY0NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDA5NzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2lnbWFUZWwgSW5jLiBNVFBNU0NOIEF1ZGlvIFBsYXllcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzMTkxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MTEzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2lQaXggQmxpbmsgMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzMTkxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MTE3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2lQaXggQ0FNZWxlb248L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzE5MSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDA5OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNpUGl4IFNDMjEwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzMTkxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MTEyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2lQaXggU25hcDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNDI4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MDk3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2lQaXggU3R5bGVjYW08L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzE5MSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDA5NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNpUGl4IFdlYjI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjM5MCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjU4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNpcml1cyBTdGlsZXR0bzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MzkwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2lyaXVzIFN0aWxldHRvIDI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzQ3OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTMwNTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ta2FuaGV4IFNYLTMzMHo8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNzEzMiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNjQxOTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2xhY2tlciBJbmMuIFNsYWNrZXIgUG9ydGFibGUgTWVkaWEgUGxheWVyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM1MzAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TTWFMIFVsdHJhLVBvY2tldDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzgzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MTA0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U28uIFNob3cgMzAxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE4NzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBBbHBoYS1BMzAwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxOTkwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgQWxwaGEtQTUwMDAgKENvbnRyb2wpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIzOTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBBbHBoYS1BNTEwMCAoQ29udHJvbCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjI3OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IEFscGhhLUE1MTAwIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIzODIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBBbHBoYS1BNjAwMCAoQ29udHJvbCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjIzMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IEFscGhhLUE2MDAwIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIzODciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBBbHBoYS1BNzcgTTIgKENvbnRyb2wpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIzODEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBBbHBoYS1BN3IgKENvbnRyb2wpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIzODgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBBbHBoYS1BN1MgKENvbnRyb2wpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIyNzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBBbHBoYS1BN1MgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDc1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERDUi1TUjc1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjcwNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1BMTAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzQzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLUE5MDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1GNzA3ViAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLUY3MTcgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1GODI4IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtSDEgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1IMiAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLUg1IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM0NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1IWDEwMFYgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNTY3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLUhYMjAwViAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE3NzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtSFgzMDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMTY5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLUhYNVYgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMjIxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLUhYNjBWIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLU4yIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtUDEwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtUDEwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLVAxMjAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1QMjAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtUDMwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtUDMxIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtUDMyIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtUDQxIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtUDQzIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtUDUgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1QNTAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1QNTEgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1QNTIgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1QNzEgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1QNzIgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1QNzMgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1QOTIgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1QOTMgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1SMSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzMjMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtUlgxIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTMyMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1SWDEwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE4NjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtUlgxMDBNMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1TNDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1TNjAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI2NjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtUzczMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLVM3NSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjY2MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1TNzgwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtUzg1IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtVDEgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1UMTAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1UMyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLVUxMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLVUyMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLVYxIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtVzEgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1XMTIgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MzUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtVzEzMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc2MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1XMjAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtVzM1IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM0MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1XNTEwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtVzU1IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4NTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBJUzEyUyBYcGVyaWEgQWNybyBIRCBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQxMzMzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgSVMxMlMgWHBlcmlhIEFjcm8gSEQgTVRQK1VNUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NTQyOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIElTMTJTIFhwZXJpYSBBY3JvIE1UUCtVTVMrQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIExUMjJpIFhwZXJpYSBQIE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDg1MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIExUMjJpIFhwZXJpYSBQIE1UUCtBREI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY3NTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBMVDIyaSBYcGVyaWEgUCBNVFArQ0RST008L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzkwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgTFQyNWkgWHBlcmlhIFYgTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODcwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgTFQyNWkgWHBlcmlhIFYgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjc3NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIExUMjVpIFhwZXJpYSBWIE1UUCtDRFJPTTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBMVDI2aSBYcGVyaWEgUyBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4NDEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBMVDI2aSBYcGVyaWEgUyBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NzQ1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgTFQyNmkgWHBlcmlhIFMgTVRQK0NEUk9NPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIExUMjZ3IFhwZXJpYSBBY3JvIEhEIElTMTJTIE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjc1NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIExUMjZ3IFhwZXJpYSBBY3JvIEhEIElTMTJTIE1UUCtDRFJPTTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBMVDI2dyBYcGVyaWEgQWNybyBIRCBTTy0wM0QgTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NzU4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgTFQyNncgWHBlcmlhIEFjcm8gSEQgU08tMDNEIE1UUCtDRFJPTTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNzUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBMVDI4YXQgWHBlcmlhIElvbiBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4NTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBMVDI4YXQgWHBlcmlhIElvbiBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NzU5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgTFQyOGF0IFhwZXJpYSBJb24gTVRQK0NEUk9NPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQxMzM1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgTFQyOGF0IFhwZXJpYSBJb24gTVRQK1VNUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NTQzMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIExUMjhhdCBYcGVyaWEgSW9uIE1UUCtVTVMrQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIExUMjlpIFhwZXJpYSBHWCBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4NTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBMVDI5aSBYcGVyaWEgR1ggTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjc2MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIExUMjlpIFhwZXJpYSBHWCBNVFArQ0RST008L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzg2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgTFQzMHAgWHBlcmlhIFQgTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODY2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgTFQzMHAgWHBlcmlhIFQgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjc3MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIExUMzBwIFhwZXJpYSBUIE1UUCtDRFJPTTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNzEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBNVDI3aSBYcGVyaWEgU29sYSBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4NTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBNVDI3aSBYcGVyaWEgU29sYSBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NzU1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgTVQyN2kgWHBlcmlhIFNvbGEgTVRQK0NEUk9NPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQxMzMxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgTVQyN2kgWHBlcmlhIFNvbGEgTVRQK1VNUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NTQyNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIE1UMjdpIFhwZXJpYSBTb2xhIE1UUCtVTVMrQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgTVZDLUNEMzAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBNVkMtQ0Q1MDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxODM5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgTkVYLTNOIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IE5FWC02PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg2MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IE5XWi1BNzI2L05XWi1BNzI4L05XWi1BNzY4PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgwNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IE5XWi1BODE1L05XWi1BODE4PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg1OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IE5XWi1BODI2L05XWi1BODI4L05XWi1BODI5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwMjgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBOV1otQTg0NTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4NzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBOV1otQjEzNTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI5ODQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBOV1otQjE0MkY8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IE5XWi1CMTUzRjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDM0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgTldaLUIxNjNGPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBOV1otQjE3M0Y8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTAyMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IE5XWi1FMzQ0L0UzNDU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIyNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IE5XWi1FMzU0PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjkwMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IE5XWi1FNDM2RjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDIxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgTldaLUU0NDU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQ0NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IE5XWi1FNDY0PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgwNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IE5XWi1TNTE2PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwMjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBOV1otUzU0NTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MDciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBOV1otUzYxNUYvTldaLVM2MTZGL05XWi1TNjE4RjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI5MTAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBOV1otUzYzOEY8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODU4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgTldaLVM3MTZGPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjkwOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IE5XWi1TNzM5RjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjI4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgTldaLVM3NTQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQ0OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IE5XWi1TNzY1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjkwNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IE5XWi1XMjAyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBOV1otVzI1MkI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iOTE5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgTldaLVgxMDUwQi9OV1otWDEwNjBCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjkyMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IE5XWi1YMTA1MS9OV1otWDEwNjE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBQVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTE5MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IFNMVC1BMzUgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MDEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBTTFQtQTM1MCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjExODciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBTTFQtQTU1IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY0MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IFNMVC1BNTc8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTg0NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IFNMVC1BNTg8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTg0NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IFNMVC1BNTggKENvbnRyb2wpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzOTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBTTFQtQTY1ViAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBTTFQtQTk5djwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDg1NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFNPLTAzRCBYcGVyaWEgQWNybyBIRCBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQxMzM0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgU08tMDNEIFhwZXJpYSBBY3JvIEhEIE1UUCtVTVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDU0MzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBTTy0wM0QgWHBlcmlhIEFjcm8gTVRQK1VNUytBREI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzg1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgU08tMDVEIFhwZXJpYSBTWCBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4NjUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBTTy0wNUQgWHBlcmlhIFNYIE1UUCtBREI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY3NjkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBTTy0wNUQgWHBlcmlhIFNYIE1UUCtDRFJPTTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjMzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgU29ueSBUYWJsZXQgUDE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQ1OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IFNvbnkgVGFibGV0IFM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQ2MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IFNvbnkgVGFibGV0IFMxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM2OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFNUMTVpIFhwZXJpYSBVIE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBTVDIxaSBYcGVyaWEgVGlwbyBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4NDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBTVDIxaSBYcGVyaWEgVGlwbyBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NzUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgU1QyMWkgWHBlcmlhIFRpcG8gTVRQK0NEUk9NPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM4NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFNUMjNpIFhwZXJpYSBNaXJvIE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDg2NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFNUMjNpIFhwZXJpYSBNaXJvIE1UUCtBREI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY3NjgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBTVDIzaSBYcGVyaWEgTWlybyBNVFArQ0RST008L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4NDkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBTVDI1aSBYcGVyaWEgVSBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NzUzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgU1QyNWkgWHBlcmlhIFUgTVRQK0NEUk9NPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM4MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFNUMjdpL1NUMjdhIFhwZXJpYSBnbyBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4NjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBTVDI3aS9TVDI3YSBYcGVyaWEgZ28gTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjc2NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFNUMjdpL1NUMjdhIFhwZXJpYSBnbyBNVFArQ0RST008L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDEzNDIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBTVDI3aS9TVDI3YSBYcGVyaWEgZ28gTVRQK1VNUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NTQzOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFNUMjdpL1NUMjdhIFhwZXJpYSBnbyBNVFArVU1TK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBXVDE5aSBMaXZlIFdhbGttYW4gTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQwOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBBIE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDg4OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBBIE1UUCtBREI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDE5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIEMgTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODk5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIEMgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjgwMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBDIE1UUCtDRFJPTTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzOTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgRSBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4NzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgRSBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NzgwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIEUgTVRQK0NEUk9NPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ0NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBFMyBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA5MjQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgRTMgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NDQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgRTMgTVRQK0NEUk9NPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ1OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhQZXJpYSBFNGcgTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwOTM5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWFBlcmlhIEU0ZyBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2ODQzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWFBlcmlhIEU0ZyBNVFArQ0RST008L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzkyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIEogTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODcyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIEogTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjc3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBKIE1UUCtDRFJPTTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MDIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgTCBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4ODIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgTCBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2Nzg2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIEwgTVRQK0NEUk9NPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQxMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBNIE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDg5MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBNIE1UUCtBREI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY3OTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgTSBNVFArQ0RST008L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDI3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIE0yIER1YWwgTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwOTA3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIE0yIER1YWwgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjgxMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBNMiBEdWFsIE1UUCtDRFJPTTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MjYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgTTIgTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwOTA2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIE0yIE1UUCtBREI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY4MTAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgTTIgTVRQK0NEUk9NPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQwNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBTUCBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4ODUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgU1AgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjc4OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBTUCBNVFArQ0RST008L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzk3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIFRhYmxldCBaIE1UUCAxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQwNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBUYWJsZXQgWiBNVFAgMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDg3NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBUYWJsZXQgWiBNVFArQURCIDE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4ODQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgVGFibGV0IFogTVRQK0FEQiAyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NzgxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIFRhYmxldCBaIE1UUCtDRFJPTSAxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2Nzg4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIFRhYmxldCBaIE1UUCtDRFJPTSAyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQwMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBaIE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDg4MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBaIE1UUCtBREI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY3ODciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgWiBNVFArQ0RST008L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDM4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIFogVWx0cmEgTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQwNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBaIFVsdHJhIE1UUCAoSUQyKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgWiBVbHRyYSBNVFAgKElEMyk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA5MTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgWiBVbHRyYSBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODg2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIFogVWx0cmEgTVRQK0FEQiAoSUQyKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDg5MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBaIFVsdHJhIE1UUCtBREIgKElEMyk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY3OTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgWiBVbHRyYSBNVFArQ0RST00gKElEMyk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDIzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIFoxIENvbXBhY3QgRDU1MDM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY4MDciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgWjEgQ29tcGFjdCBENTUwMyBNVFArQ0RST008L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA5MDMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgWjEgQ29tcGFjdCBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBaMSBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4OTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgWjEgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjc5OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBaMSBNVFArQ0RST008L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDMxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIFoyIE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDkxMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBaMiBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2ODE1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIFoyIE1UUCtDRFJPTTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NDMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgWjMgQ29tcGFjdCBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA5MjMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgWjMgQ29tcGFjdCBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2ODI3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIFozIENvbXBhY3QgTVRQK0NEUk9NPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ0MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBaMyBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA5MjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgWjMgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjgyNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBaMyBNVFArQ0RST008L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzkzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIFpMIE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDg3MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBaTCBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2Nzc3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIFpMIE1UUCtDRFJPTTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MDciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgWlIgTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODg3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIFpSIE1UUCtBREI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzI2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBjMTYwNSBYcGVyaWEgRHVhbCBFIE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDgwNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gYzE2MDUgWHBlcmlhIER1YWwgRSBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIxNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gQzcwMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueUVyaWNzc29uIEM5MDI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjM5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBDOTA1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM0MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gSVMxMlMgWHBlcmlhIEFjcm8gTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODIzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBJUzEyUyBYcGVyaWEgQWNybyBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NzI3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBJUzEyUyBYcGVyaWEgQWNybyBNVFArQ0RST008L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzM0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBqMTA4aSAoQ2VkYXIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUzNTcyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBqMTBpIChFbG0pPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMyNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gajEwaTIgKEVsbSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTczNDQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueUVyaWNzc29uIEs1NTBpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjExNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gSzg1MGk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4MTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueUVyaWNzc29uIExUMTVpIFhwZXJpYSBBcmMgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMzUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueUVyaWNzc29uIExUMTVpIFhwZXJpYSBhcmMgUyBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzQ2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBNSzE2aSBYcGVyaWEgTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODI2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBNSzE2aSBYcGVyaWEgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNDIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueUVyaWNzc29uIE1UMTFpIFhwZXJpYSBOZW8gTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODIyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBNVDExaSBYcGVyaWEgTmVvIE1UUCtBREI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzQ5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBSODAwL1I4OGkgWHBlcmlhIFBsYXkgTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODI5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBSODAwL1I4OGkgWHBlcmlhIFBsYXkgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueUVyaWNzc29uIFNLMTdpIFhwZXJpYSBNaW5pIFBybyBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4MzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueUVyaWNzc29uIFNLMTdpIFhwZXJpYSBNaW5pIFBybyBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM1OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gU1QxNWkgWHBlcmlhIE1pbmkgTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODM5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBTVDE1aSBYcGVyaWEgTWluaSBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM2MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gU1QxN2kgWHBlcmlhIEFjdGl2ZSBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4NDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueUVyaWNzc29uIFNUMTdpIFhwZXJpYSBBY3RpdmUgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjc0NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gU1QxN2kgWHBlcmlhIEFjdGl2ZSBNVFArQ0RST008L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzUzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBTVDE4YSBYcGVyaWEgUmF5IE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDgzMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gU1QxOGkgWHBlcmlhIFJheSBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gVDcwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueUVyaWNzc29uIFU1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gVThpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQyOTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueUVyaWNzc29uIFczMDI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjQzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBXNTk1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI2MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gVzcwNS9XNzE1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE5OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gVzc2MGk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTc5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBXODkwaTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNDUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueUVyaWNzc29uIFc5MDI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTE4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBXOTEwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIxOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gVzk4MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueUVyaWNzc29uIFc5OTU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4NDUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueUVyaWNzc29uIFdUMTlpIExpdmUgV2Fsa21hbiBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjk1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvdW5kc3RhciBUREMtMzU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U3B5UGVuIEF4eXM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U3B5UGVuIENsZW88L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U3B5UGVuIEx1eG88L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U3B5UGVuIE1lbW88L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U3B5UGVuIFhpb248L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U1EgY2hpcCBjYW1lcmE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjMyOSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U3RhckNhbSBDUDA4NjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TVE0gVVNCIER1YWwtbW9kZSBjYW1lcmE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM2OTU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U3RvcCAmYW1wOyBTaG9wIDg3MDk2PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNUVjA2ODA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTgxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U3VwcmVtYSBEaWdpdGFsIEtleWNoYWluIENhbWVyYTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TWS0yMTA3QzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MzUxMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5UQ0wgQWxjYXRlbCBvbmUgdG91Y2ggOTg2KzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI1MDczIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyODY5NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5UZWNobmlrYSBNUC03MDk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjcyNiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzMDUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VGV2aW9uIE1EIDgxNDg4PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE2OTEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMzQxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRob21zb24gLyBSQ0EgTHlyYSBIQzMwOEE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTY5MSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTkxMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5UaG9tc29uIC8gUkNBIE9wYWwgLyBMeXJhIE1DNDAwMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNjkxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxOTA4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRob21zb24gRU0yOCBTZXJpZXM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTY5MSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTkxNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5UaG9tc29uIEx5cmEgTUM1MTA0QiAoTTUxIFNlcmllcyk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTY5MSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzMTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VGhvbXNvbiBSQ0EgSDEwNjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNjkxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjMyOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5UaG9tc29uIHNjZW5pdW0gRTMwODwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzI5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5UaWdlciBGYXN0IEZsaWNrczwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5UaW1sZXggQ1AwNzU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjE1ODkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VG9tVG9tIFJpZGVyIDQwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQ1NzEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQwOTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ub3BmaWVsZCBURjUwMDBQVlI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjM1MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjQwMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ub3NoaWJhIEV4Y2l0ZSBBVDMwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ub3NoaWJhIEdpZ2FiZWF0PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzNTIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VG9zaGliYSBHaWdhYmVhdCBNRUdGLTQwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzNTIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRvc2hpYmEgR2lnYWJlYXQgTUVUNDAxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzNTIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRvc2hpYmEgR2lnYWJlYXQgTUVVMjAxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzNTIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRvc2hpYmEgR2lnYWJlYXQgTUVVMjAyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzNTIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRvc2hpYmEgR2lnYWJlYXQgUDEwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzNTIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRvc2hpYmEgR2lnYWJlYXQgUDIwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzNTIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRvc2hpYmEgR2lnYWJlYXQgUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ub3NoaWJhIEdpZ2FiZWF0IFQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjM1MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VG9zaGliYSBHaWdhYmVhdCBVPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzNTIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRvc2hpYmEgR2lnYWJlYXQgVjMwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQ0MDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE3MjA3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VG9zaGliYSBQRFItTTExPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQ0MDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE3MjAyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VG9zaGliYSBQRFItTTYwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQ0MDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE3MjA1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VG9zaGliYSBQRFItTTYxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQ0MDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE3MjA0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VG9zaGliYSBQRFItTTY1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzNTIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI4OTI4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRvc2hpYmEgVGhyaXZlIEFUMTAwL0FUMTA1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzMDU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VHJhdmVsZXIgU1gzMzB6PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NjQwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VHJhdmVsZXIgU1g0MTB6PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijc3ODQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VHJla1N0b3IgaS5CZWF0IE9yZ2FuaXggMi4wPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMjYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE1NTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VHJla1N0b3IgaS5CZWF0IFN3ZWV6IEZNPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE2NDciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMzODM0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRyZWtTdG9yIFZpYmV6IDgvMTJHQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMTI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VHJ1c3QgRmFtaWx5Y2FtIDMwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNzUwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRydXN0IFBvd2VyQ0BtIDM1MEZTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE3NTAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VHJ1c3QgUG93ZXJDQG0gMzUwRlQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjI1MCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjcyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VHJ1c3QgU3B5Y0BtIDEwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjc2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDU1NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRydXN0IFNweWNAbSA1MDBGIEZMQVNIPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5NDMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMyNzk0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VHlwaG9vbiBTdHlsb0NhbTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5VTUFYIEFzdHJhUGVuPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM0MjgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQwOTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5VTUFYIEFzdHJhUGl4IDMyMHM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi5pbnRlcmZhY2UuY2xhc3MiIGludD0iNiI+CisgICAgPG1hdGNoIGtleT0idXNiLmludGVyZmFjZS5zdWJjbGFzcyIgaW50PSIxIj4KKyAgICAgPG1hdGNoIGtleT0idXNiLmludGVyZmFjZS5wcm90b2NvbCIgaW50PSIxIj4KKyAgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5VU0IgUFRQIENsYXNzIENhbWVyYTwvbWVyZ2U+CisgICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICAgPC9tYXRjaD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODcxMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5WYXJpb3VzIFZpZXdwaWEgRFIvYnEgS2VwbGVyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg3MTEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlZhcmlvdXMgVmlld3BpYSBEUi9icSBLZXBsZXIgRGVidWdnaW5nPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0NDg5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlZlcml6b24gRWxsaXBzaXMgNzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5WaXZpQ2FtMzM1MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5WaXZpQ2FtNUI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTUxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Vml2aXRhciBGcmVlbGFuY2U8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjM2MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjcwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Vml2aXRhciBNaW5pIERpZ2l0YWwgQ2FtZXJhPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzNjIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlZpdml0YXIgVml2aWNhbSA1NTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzMTQxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMjc3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlZpdml0YXIgVml2aWNhbTMzNTBCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjk1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlZpdml0YXIgVml2aWNhbTM1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExNjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU3NjE3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlZpemlvIChmb3IgTGVub3ZvKSBMSUZFVEFCIFM5NzE0PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExNjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ5MTkwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlZpemlvIFVua25vd24gMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTYxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NzQwOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5WaXppbyBWVEFCMTAwODwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzI5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MTkzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPldhY29tIENpbnRpcSBDb21wYW5pb24gSHlicmlkIChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzMTQxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMjc2OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPldpbGQgUGxhbmV0IERpZ2l0YWwgU3B5IENhbWVyYSA3MDEzNzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI3NzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPld5cGxheSBXeXBsYXllcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDAwNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDk2OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5YaWFvbWkgSE0gTk9URSAxTFRFVyBNSVVJIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDA3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NjgwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlhpYW9taSBIb25nbWkgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwMDciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ2NzIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+WGlhb21pIEhvbmdtaSAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwMDciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjYxNDQzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlhpYW9taSBNaS0yIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDA3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjkyMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5YaWFvbWkgTWktMiAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwMDciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjY1MzUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlhpYW9taSBNaS0ycyAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDAwNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODcyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlhpYW9taSBNaS0zIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDA3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4NjQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+WGlhb21pIE1pLTN3IChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDA3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjMyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlhpYW9taSBNaVBhZCAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4NzExIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPllpRmFuZyBCUSBUZXNsYTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDUxOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzcxOTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+WW90YSBQaG9uZSAyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTE4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI2MTQ0MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Zb3RhIFBob25lIDIgKElEMik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNzg3MSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzI1NTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+WVUgWXVyZWthIFZvZGFmb25lIHNtYXJ0IHR1cmJvIDQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjQ1NzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+WmlpTEFCUyBaaWkgRUdHPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjk1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlpJTkEgTWluaSBEaWdpdGFsIEtleWNoYWluIENhbWVyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjY2MTAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgzNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5aVEUgR3JhbmQgWCBJbjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2NjEwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI2NTQ4NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5aVEUgVjU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjYxMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTgwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlpURSBWNTUgSUQgMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2NjEwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1ODEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+WlRFIFY1NSBJRCAyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjY2MTAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc3NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5aVEUgVjc5MC9CbGFkZSAzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjY2MTAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc3NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5aVEUgVjg4MEU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjYxMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODk5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlpURSBWOTg1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgIDwvbWF0Y2g+CisgPC9kZXZpY2U+Cis8L2RldmljZWluZm8+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ncGhvdG8yL2xpYmdwaG90bzItMi41LjgvNDAtbGliZ3Bob3RvMi5ydWxlcyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dwaG90bzIvbGliZ3Bob3RvMi0yLjUuOC80MC1saWJncGhvdG8yLnJ1bGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5ZjA0MzkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ncGhvdG8yL2xpYmdwaG90bzItMi41LjgvNDAtbGliZ3Bob3RvMi5ydWxlcwpAQCAtMCwwICsxLDE5NTUgQEAKKyMgdWRldiBydWxlcyBmaWxlIGZvciBsaWJncGhvdG8yIGRldmljZXMgKGZvciB1ZGV2IDAuOTggdmVyc2lvbikKKyMgQ3JlYXRlZCBmcm9tIHRoaXMgbGlicmFyeToKKyMgICBsaWJncGhvdG8yICAgICAgMi41LjggICAgICAgICAgYWxsIGNhbWxpYnMsIGdjYywgbHRkbCwgbm8gRVhJRgorIyAgIGxpYmdwaG90bzJfcG9ydCAwLjEyLjAgICAgICAgICBnY2MsIGx0ZGwsIG5vIFVTQiwgc2VyaWFsIHdpdGhvdXQgbG9ja2luZworIworIyB0aGlzIGZpbGUgaXMgYXV0b2dlbmVyYXRlZCwgbG9jYWwgY2hhbmdlcyB3aWxsIGJlIExPU1Qgb24gdXBncmFkZXMKK0FDVElPTiE9ImFkZCIsIEdPVE89ImxpYmdwaG90bzJfcnVsZXNfZW5kIgorU1VCU1lTVEVNIT0idXNifHVzYl9kZXZpY2UiLCBHT1RPPSJsaWJncGhvdG8yX3VzYl9lbmQiCisKK0FUVFJTe2lkVmVuZG9yfT09IjA5NzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIyNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1MDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzNjMyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDUwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIzM2M0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjM2NDMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1MDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzUzYyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDUwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIzNjJkIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjM1ODYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1MDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzM0OCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDUwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIzMzQ5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjMzNGEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1MDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzNkOCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDUwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIzMzdjIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjMzN2QiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1MDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzNjYiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDUwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIzMzI1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjMzNDEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1MDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzM0NCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDUwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIzMzQ1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjMzODkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1MDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzM4YSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDUwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIzMzc4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjM1MTQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1MDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzVhOCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDUwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIzNjQ0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjM3MjUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1MDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzYwOSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDUwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIzNDczIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjM1NWYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1MDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzY1NyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDUwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIzM2FhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjM1ZTQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1MDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzYxZCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTZkNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI4MDA2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxNmQ1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjgwMDUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NTMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA2YmQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQwMyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA2YmQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQwNCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZmMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTA0YiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NTMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZmMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTA0YSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NTMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA4Y2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDExMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZmMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTA0YSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZmMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTA0YiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjFiYmIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE2OCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMWJiYiIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMDA4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxYmJiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjBjMDIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjFiYmIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iYTAwZSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMWJiYiIsIEFUVFJTe2lkUHJvZHVjdH09PSJmMDAzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxYmJiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjkwNGQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjFiYmIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE2NyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDk3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjI3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTk0OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwODAwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOTQ5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMDciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE5NDkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAwOCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTk0OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDBhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOTQ5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMGMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE5NDkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAxMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTk0OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDBiIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOTQ5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMGQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE5NDkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAwNSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTk0OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMGYyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNWFjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjEyOWEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNWFjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjEyYWIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNWFjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjEyOTAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNWFjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjEyOTIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNWFjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjEyOTQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNWFjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjEyOTciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNWFjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjEyYTAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNWFjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjEyYTgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNWFjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjEyOTEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNWFjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjEyOTMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNWFjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjEyOTkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUwMDgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTAwOSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MDAyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjE1MjgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTUyOSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxNTM5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjE1MzgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTRiOSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxNTQ4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEyMGEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTMxZCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMjBjIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEzMDEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTMwMyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMzExIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEzMjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFmMyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMzMxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEzMzMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzIyOSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMzA3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjIwMDgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTM1NyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMzUxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEzMDkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTMwYiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMzEzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEzMTUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTMzNSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMzBkIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEzMGYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTMxOSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxNGVmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjE1NjgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTU2OSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxNGJmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjE1MTgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTUwOCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxNTA5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjE0YWQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTQ5YSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxNDZiIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjE0NWUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTQ1OCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIzMWFiIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEyMDciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTM0MSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMzFiIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEyMDgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5NzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIyNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NTMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTEyMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5M2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5M2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTEzYyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5MTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5NzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIyNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5M2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5NzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIyNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTA1YyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNWEwZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0Y2UwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjRjZTEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTE0ZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NzczIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjU0MGYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTQxZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1NTBmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjU1MDAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNGNkMCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0Y2QxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUyMWYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTIwZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0Y2MwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjRjYzEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTQ2MCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1NDY4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjU0MDAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTQxMCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1NDExIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjU0NjYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzc3MiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1NTA2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjU1NjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTIwMCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MjAxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUyMTAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTIxMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MjE0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUyMjAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTIyMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MjMwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUyMzEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNGUwMCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0ZTAxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjRlMGYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNGUxZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0ZDAwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjRkMDEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNGM4MCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0YzgxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjRjOTAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNGM5MSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0Y2EwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjRjYTEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTYxZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1ZjAyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjU4MGYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTgxZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1NDgwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjU0ODEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzc4MSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1NDkwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjU0OTEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTA1MSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIwODAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAwNiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjA4MCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDA1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwMDMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxZDQ1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjQ1OWQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjJhNDciLCBBVFRSU3tpZFByb2R1Y3R9PT0iN2YxMCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMmE0NyIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMDA4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyYTQ3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBjMDIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA0NyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFjMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFiZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFlNiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFmMyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI2OCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBjMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA0ZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFmNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA2NiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBiZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA3NSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBiYSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzEwZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBiNCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBmZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzExYyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBmZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE0ZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBmMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzExNiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE4NCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzExOSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE3NCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzEzNiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE2MCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE3NCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzExNSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFjNCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE0YiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE1ZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE3MyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE5MyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFjMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA5YiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA5YiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBjNCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA3MiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBiNiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBmNCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA1MiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA2NSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA3MCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA3MSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBmMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBlZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA2YSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA4OCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA4NyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBhNSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE3YiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI3MCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA4MyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBiYyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzIxNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI3ZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBlYSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE0NyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFkMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzIxOSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBlYiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBlYyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA4NCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA5OSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzExMyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBlZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBlZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBlZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzExMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE0NiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE0NSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFjZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE5YiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFlYSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzEwMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzEwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE5OSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzIzYSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzIxOCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzIxNSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzIzYiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI1MCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI3MiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI1MyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE5YSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI2ZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA0NCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA2MCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA4NCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA5OSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzExMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA4NCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA5OSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBlZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzExMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE0NSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFjZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzIzZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI5OSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFjZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE0NSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA4ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI0MSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzJhOSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzIyNSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFlNiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE5MyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA0NiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA0YiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBjNCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA2YiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA5NiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA3YyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA3YSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBhMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA5NiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA4ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA4MSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA4MCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBhOSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA2YiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA4ZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA4MiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA3ZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA4MCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA2YiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA5NiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBhOSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzEwNSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA4ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA0ZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA2MSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE4ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFjMyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzIzZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI2NCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA2MiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE5MSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFiZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzIyYSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI0YSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI0OSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI3MSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI2MiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA1OSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA3NiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFmMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBiOCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFmMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI2MSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA1OCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBiNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI0MyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBmOSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzEwZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBmOCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE1NSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE0OSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE3YSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFiZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFlZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBjMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBjMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzEyNiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzExYiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE1MCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE0ZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE0YyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE3NyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE3NiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA3NCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBmZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBmYyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzEzYSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzEzOSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE1YiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA3MyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzExNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzEzOCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE1ZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBiNSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA5YSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzIyNiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzIzZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBiOSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBiYiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFiYyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI4OCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI4OSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA0OCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzIzMyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE4ZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFkZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI1OCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA1NSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA2ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA2ZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA4NSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBiMyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzEyNSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE1YSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA5YiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA0OSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA5YyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA0MSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzIzNiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA0NSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA1MSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI1YiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI3NSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBmMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA0MyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA2NSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA3MCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA3MSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzExYSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA1NyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA0YyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA2NiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA1NiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA3NSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBiYSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA2YyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA2ZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE0OCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA3NyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBiNCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBiMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBiMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBmYSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzIxMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA5YiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA3MiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE0ZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBiNiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE4NCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFjNCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFmNCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBjNCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBjMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzEzNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBmMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBmZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBmMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzExYyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzBmZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzExOSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE3NSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFjMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE3NCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE0YiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE5NiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzExNSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFlNiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFjMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE5MyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE4ZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE1ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE5MiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFlMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzIxMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzIzNCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI1YSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI3NiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFlNCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFjMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFmNiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzIyYyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzIyOCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI0NSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI0NCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI1ZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzIzOCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI1YyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI3NyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzI5YiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA1MCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA1YyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFlYSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzIxNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzIzYiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzA3OCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA3Y2YiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTA0OSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA3Y2YiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTA0MiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA3Y2YiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTA0ZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA3Y2YiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTA0YyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA3Y2YiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTE3YSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NWYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iYzIwMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjciLCBBVFRSU3tpZFByb2R1Y3R9PT0iODhhOSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MTIwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MDVjIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU1MyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjAyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU1MyIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMDAyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU1MyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjAyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDc5NyIsIEFUVFJTe2lkUHJvZHVjdH09PSI4MDAxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDk3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjI0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MDVjIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMWU3NCIsIEFUVFJTe2lkUHJvZHVjdH09PSI2NTEyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxZTUzIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMDUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTEyMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTEyMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBkOTYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDEwMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjE4MiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjE4MCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5MTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlMjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDk1MiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGUyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNzExIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA3NTEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlMjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDkxMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGUyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwOTQxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA4MDEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlMjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDg3MSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGUyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwODkxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA4NjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlMjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDg4MSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGUyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwOTIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA5MDEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlMjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDcwMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGUyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNzYxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA5MzEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDAxNiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDAwNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDAwYSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDAxMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDAwYiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDAxMyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDEyMyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQxZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTU3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDFlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxMzAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDEzYyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQxZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTMzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDFlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxNjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDEzNyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQxZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTNkIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDFlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxMzEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDE1MCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQxZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTU4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDFlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxNTIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDExZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQxZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTUzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDFlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxM2UiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDE1MSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQxZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTYyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDFlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxNjkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDEyOCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTA2YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIzMjE1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwODRkIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMDMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZDY0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEwMjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2U4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjIxMzAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzcwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjkwNWMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzcwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjkxMjAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYzQ1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjgwMDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDFlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxMzIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDEyZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iNDEzYyIsIEFUVFJTe2lkUHJvZHVjdH09PSJiMTBiIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSI0MTNjIiwgQVRUUlN7aWRQcm9kdWN0fT09ImIxMWEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjQxM2MiLCBBVFRSU3tpZFByb2R1Y3R9PT0iYjExYiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iNDEzYyIsIEFUVFJTe2lkUHJvZHVjdH09PSI0NTAwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzcwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjkwNWMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxZjNhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjBjMDIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5M2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5NzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIyNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1ZGEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTAxOCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NTMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5MTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NTMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjExODMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAwMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1ZGEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTAyMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NTMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NTMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBhYTYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjAyMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MDUwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MDUyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTBkNiIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMjAwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTNhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTNhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMGYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MDMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyOTcwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIwMDgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI5NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGMwMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTc4MiIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MDAxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNmQzIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIxYmEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBkY2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBkY2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE0YSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFkMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFjNiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFkMyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIxYiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE5MyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFlMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFjMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFlNCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE5YiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFjMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFjNSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFkNCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFlNiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFmYSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIyZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDI3MSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDI1MCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFkZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFkYiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFlZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFlOCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwOSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDI0MCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDI3ZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDI2NSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDI5OCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFjNCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFkNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFiZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE0MiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE4ZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDI5YyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIzMyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDI2ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDI2MyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDJhNiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDI4OCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFkOCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFmZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDJiNSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NTMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0Y2IiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFjMyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5MTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YzUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTE0MCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRjNSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMzNiIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTFlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjI1ODUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTEyMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5MTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzAwNSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MGQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iODg1YyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQxNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMDA4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDE0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBjMDIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5NzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIyNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5NzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIyNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTEyMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE4ZDEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAwNyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMThkMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDA2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOGQxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjRlNDEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE4ZDEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNGU0MiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMThkMSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0ZTBmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOGQxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjRkMDAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE4ZDEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMmQwMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMThkMSIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NDBhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOGQxIiwgQVRUUlN7aWRQcm9kdWN0fT09ImQxMGEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE4ZDEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iZDEwOSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMThkMSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0ZWUxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOGQxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjRlZTIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE4ZDEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iYjAwYSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMThkMSIsIEFUVFJTe2lkUHJvZHVjdH09PSI3MGE4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOGQxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjRlMjUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE4ZDEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNGUyNiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMThkMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWIzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOGQxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjcxMDIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE4ZDEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNGVlNSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjY3MiIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDExIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDc5NyIsIEFUVFJTe2lkUHJvZHVjdH09PSI4MDFjIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MTIwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTMwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMDE2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMzAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjEwMTciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5M2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NTMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iN2UxZCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDNmMCIsIEFUVFJTe2lkUHJvZHVjdH09PSI1ZDFkIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjVjMWQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjEwOWIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTEwNiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTA5YiIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MTA5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMDliIiwgQVRUUlN7aWRQcm9kdWN0fT09IjkxMDUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjUwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iN2MwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iN2QwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjMwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjYwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzQwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzgwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNmUwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzkwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNmQwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjMwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDEwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjgwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzEwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNmIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjQwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzYwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjcwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNmMwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNmEwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzcwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iN2UwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDMwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDEwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDQwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDUwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDEwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjAwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09ImYwMDMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjAwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOGIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOGMwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzUwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iN2IwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzMwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iN2EwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iODAwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iODEwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iODIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOWIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iODQwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iODUwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTYwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTcwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iODcwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iODgwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjg1YyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSI2ODYwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBjMDIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjAwOCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwZWM2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBlYmQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGRmZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwYzkzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBjYTgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGRmZSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwZGU0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1ZmQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGRkNSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwZTMxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBlMzIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGRmNSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwN2FlIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBkZGEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGY5MSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwZjY0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBmNjMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGY4NyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwZjVmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBmNjAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGRlYSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwZGQyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjA3Y2EiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGYyNSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNjFhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBmYjQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGZiNSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwN2NiIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjA3ZDkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGNlYyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwZGY4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBkZjkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGRmYSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwZGZiIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBkZmMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGRmZCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwN2Q4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjIwMTIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDYwYiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwZGNkIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09ImYwY2EiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGJhMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwYmEyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMmQxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjEwODIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjEyZDEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzYwZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTJkMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIzNjFmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMmQxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjEwNTEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjEyZDEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTA1MiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MTUzIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MTIwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ4OSIsIEFUVFJTe2lkUHJvZHVjdH09PSJjMDI1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTNhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOWZmIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzMDMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE5ZmYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMwOSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTlmZiIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMzA3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSI4MDg3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBhNWYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjgwODciLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGExNSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iODA4NyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwYTE2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSI4MDg2IiwgQVRUUlN7aWRQcm9kdWN0fT09IjA2MzAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSI4MDg3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBhNWUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjgwODciLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDlmYiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU1MyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjAyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkzYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTBmIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMTJhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSI0MTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjExMjYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTE0MSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMTQyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSI0MTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjExNTIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTE2NyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMTUxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSI0MTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIxMDEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjEwNSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMTAyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMDA2IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwMDQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTAwOCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMTIyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMDA2IiwgQVRUUlN7aWRQcm9kdWN0fT09IjQwMDIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjEwMDYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDAwMyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMTQ3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSI0MTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjExMTMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTEyMCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMTE3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSI0MTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjExMTUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTExNCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMTE4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSI0MTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjExMTkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTE1MyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMTM0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMDQyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjExNDMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjFlNjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTAwMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMTE2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSI0MTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjExMzIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iZGRlZSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDc4NCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTAwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDk3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjI3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MDVjIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDk3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjI3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGQ5NiIsIEFUVFJTe2lkUHJvZHVjdH09PSIzMzAwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGQ5NiIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTAwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVkYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMDA2IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGQ5NiIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDAwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MTIwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjkzMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwYTAxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyOTMxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjBhMDUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjEwNSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDg0ZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDAxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIyOCIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMDBjIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMjM3IiwgQVRUUlN7aWRQcm9kdWN0fT09ImQxMDgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyMzciLCBBVFRSU3tpZFByb2R1Y3R9PT0iZDEwOSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjIzNyIsIEFUVFJTe2lkUHJvZHVjdH09PSJiMTA4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA2MTciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA2MGIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1N2UiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1OGEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1OGMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1OGQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1ODkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1YWEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1OWEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1YTIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1YjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1YmEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1YTciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1YWYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1YWUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1YzMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1YTkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1YzYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1OWMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1NjAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1NjAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1MzUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1NjYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1NjYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1NzQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1NzMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1NzEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1ODQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1NzkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1NzgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1NzgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1N2EiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1N2IiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1ODYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1N2MiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMjAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMzAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMzIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNjAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMzEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1MjUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1MDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1MTAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1MzAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNzAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1NTUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1NzYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1NTAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1NzAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1NzIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1NzUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1N2QiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1N2YiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1NzciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzMDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1NDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1NjgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1NjkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1NjUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1NjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1Y2UiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA2MDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1OWYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1YzEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1YWQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1ODUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1OTIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1OTMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1OGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1OGYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1OTEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1YTAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1YWMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1YWIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1YjgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1OWQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1OWUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1ODciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1YjMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1YjQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1ODAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1ODgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MDMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1YjUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1OTUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1Y2YiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1Y2QiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1YzAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGM4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjA3MjIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMzJiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMDEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMzJiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMTkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMzJiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMDkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMzJiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMDciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMzJiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMTgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMzJiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMjIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxZjNhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjEwMDYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ODIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDk3OSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ4MiIsIEFUVFJTe2lkUHJvZHVjdH09PSIwODEwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDgyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1NzEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ODIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDU5YSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MDUxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRkYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMzc1IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMWE5OCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDAyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTdlZiIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NzM3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxN2VmIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc3MmIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE3ZWYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzQ5OCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTdlZiIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NWJjIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxN2VmIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc1YmUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE3ZWYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzU0MiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTdlZiIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NTdkIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxN2VmIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc2ZTgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE3ZWYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzQwYSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTdlZiIsIEFUVFJTe2lkUHJvZHVjdH09PSI3ODgzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxN2VmIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc1YjUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE3ZWYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzc1YSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTdlZiIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NGNjIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxN2VmIiwgQVRUUlN7aWRQcm9kdWN0fT09IjBjMDIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE3ZWYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzQ5NyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTdlZiIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NGE2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxN2VmIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc0ZjgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE3ZWYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzcxOCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTdlZiIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NDFjIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxN2VmIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc2ZjIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE3ZWYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzdlYSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTdlZiIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NmZmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxN2VmIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc3YjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjEwMDQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjFmMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTAwNCIsIEFUVFJTe2lkUHJvZHVjdH09PSI2MWY5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMDA0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjYyN2YiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjEwMDQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjI2ZSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTAwNCIsIEFUVFJTe2lkUHJvZHVjdH09PSI2MTFiIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMDA0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjYwOGYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjEwMDQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjEzMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTAwNCIsIEFUVFJTe2lkUHJvZHVjdH09PSI2MzNlIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMDA0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjYyMzkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjEwMDQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjIzZCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTAwNCIsIEFUVFJTe2lkUHJvZHVjdH09PSI2MjFjIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMDA0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjYyMjUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjEwMDQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjE5YSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQzZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI3MDQwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjcwYjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjEwMDQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjMxYyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTAwNCIsIEFUVFJTe2lkUHJvZHVjdH09PSI2MjY1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMDA0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjYwMTAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjEwMDQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjAwNSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBkOTYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDEwMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjEzZDEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzAwMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ2ZCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwOTAwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ2ZCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwOTUwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGQ5NiIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTAwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGQ5NiIsIEFUVFJTe2lkUHJvZHVjdH09PSIzMzAwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MTIwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRmYyIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MDRiIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDY2ZiIsIEFUVFJTe2lkUHJvZHVjdH09PSI4NDZjIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZThkIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNTAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MDgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iYjAwYSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTdlZiIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NDgzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGZjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUwNGEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZDk2IiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxMDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNWNhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIyMDUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZDk2IiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNjZmIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijg1NTAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA2NmYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iODU4OCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwOCIsIEFUVFJTe2lkUHJvZHVjdH09PSJiMDA5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMjcxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIwMTIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIwMWUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDJhYiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMmE0NSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMDA4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyYTQ1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBjMDIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjEwZDYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjMwMCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGRiMCIsIEFUVFJTe2lkUHJvZHVjdH09PSI1NTcyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTUzIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDVlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA2NDAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NWUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDYyMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ1ZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNGVjIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDVlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA3MTAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NWUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDYzZSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ1ZSIsIEFUVFJTe2lkUHJvZHVjdH09PSJmMGNhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDVlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwYzkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NWUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDY0MSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGM0NSIsIEFUVFJTe2lkUHJvZHVjdH09PSI4MDA4IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDg0ZCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDAzIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MTIwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MTIwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI2MGNhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjcwODgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjRjZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSIyZTMyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjJlMzMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMmU2NyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSIyZWE1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjJlYTgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMmU2OCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MWQ2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxZGEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDJhNyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MzdmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjQzNzMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDgxMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MWRjIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjcwY2EiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMmU3NiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSIyZTgyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjJlODQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMmU2MiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSIyZTYzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjJlNjYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjQxMyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI2NGI1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjY0YjYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMmU1MCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSIyZTUxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjY0MTUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMmE2NSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI3MGEzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjcwYTgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzBhOSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MzExIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjQzMDYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDFjZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI3MTBkIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjcxMGUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDM2MiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorIyBub3Qgd29ya2luZyB5ZXQ6IFBST0dSQU09ImNoZWNrLW10cC1kZXZpY2UiLCAsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU1ZiIsIEFUVFJTe2lkUHJvZHVjdH09PSJjMjAwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU1ZiIsIEFUVFJTe2lkUHJvZHVjdH09PSJhMzUwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU1ZiIsIEFUVFJTe2lkUHJvZHVjdH09PSJjMjIwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU1ZiIsIEFUVFJTe2lkUHJvZHVjdH09PSJjNDIwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU1ZiIsIEFUVFJTe2lkUHJvZHVjdH09PSJjNTIwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGFhNiIsIEFUVFJTe2lkUHJvZHVjdH09PSI5NjAxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDA5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzMjYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MDkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQzMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwOSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjQyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjU2NjgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTA1YyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDExNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEyMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEyMyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwOSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDExNSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEyMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDExMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDExZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEyZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwNCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwYiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEzMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEzMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEyOSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDExMyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwNiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDExOSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEyZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEzNSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEzOSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEzNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDExZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwMyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEyNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDExMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE5MSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIyNiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE4OCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwOCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMwYiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMwOSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE3ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE1ZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE4NSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMxNSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMxOCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMxNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMyNCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDM0MyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMwNSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE5MiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE0MCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE3ZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE0MiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIyMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIyNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwYyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE2OSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE4NCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE1YiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIyMyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE2MyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIyOCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMxMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE2ZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE3ZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE4YiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIyNSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIyOSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE2YiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE2YyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE3MyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMzNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDM0NiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE2MSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE3NyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE3OCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMyMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMyZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMzZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMxYiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMyMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMzNCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMyYSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE0NCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMyOSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE1ZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIyMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE3MSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIxZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIxYyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE1NyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIxZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIyMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE4NiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE5MyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDM0YiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQwNCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQwYyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQwOCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQxYyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQwYSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQxMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQxNiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQxYSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQyNCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQyNSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQyNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQyYyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQzMyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQyNiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQyMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQyYiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQxNCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQxOCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQzNSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQyMyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQyOSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQyZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQzMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQxZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQyZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQzNCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQwNiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQyMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQyOCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQwZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQzMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQzNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQxMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQyYSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQyZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQzNiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQyMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDYwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDYwMyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDYwNSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDYwOSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDYwNiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDYwMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDYwNCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZmMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTA0YSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5NzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIyNCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDJjMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDY1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNWYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQ2MiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMWVlIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMDkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDRiZSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMmUyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0YmEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA2YyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMGVhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0N2UiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIyOSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNGI0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNTQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE1NSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTU5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMmUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA5OCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDhkIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwM2MiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDI5NyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWQzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1OTIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDNjMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwM2NkIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxY2YiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMyZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTc5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwZTUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMzNCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMzM1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwZTQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFhMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA2ZmMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDY2NiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNjYxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1MjQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQ4OCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDRkMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNGUxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNzkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE4NiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMmZlIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzMDIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDRmMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDBhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNzQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA5MiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTFhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0ODUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQ3OCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNGU1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0ZWYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA2ZSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwM2QyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMzkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFmNSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjZiIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxZjQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDI3NCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNmU4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxNzAzIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMDEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE3MDMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAwMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDk1NSIsIEFUVFJTe2lkUHJvZHVjdH09PSI3MGE5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTU1IiwgQVRUUlN7aWRQcm9kdWN0fT09ImI0MDAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5NTUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iY2YwNyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDk1NSIsIEFUVFJTe2lkUHJvZHVjdH09PSJjZjAyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTU1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjcxMDAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5NTUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzEwMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMWU1MyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDA2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMmYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMmYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMmYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmQ5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjI3NjUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyZDkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjc3NCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJkOSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyNzczIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGRhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIzNzQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGRhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIzNzQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGRhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIzNzQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGRhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIzNzQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGRhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIzNzQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGRhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIzNzQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGRhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIzNzQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGRhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIzNzQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGRhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIzNzQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGRhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIzNzQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGRhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIzNzQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGRhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIzNzQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGRhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIxNDUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZGEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjE1OCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTA2YyIsIEFUVFJTe2lkUHJvZHVjdH09PSJmMDAzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxZDRkIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUwMzYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjFkNGQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTAzNSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMWQ0ZCIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MDRhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTUzIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNWZiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNjUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYTE3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMGQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYTE3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwZjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYWE2IiwgQVRUUlN7aWRQcm9kdWN0fT09Ijk3MDIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NzEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjA3YyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMGI5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDcxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIxMzgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NzEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE2NSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMDc3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDcxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIwOGUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NzEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjAwNCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwODU3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDcxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA4NGUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NzEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjAwMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTRmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDcxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIwNzUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NzEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjA3YiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMGI3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDcxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIwZTUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NzEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE0ZCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTRjIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDcxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxZWIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NzEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE0YiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxOTBiIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTNhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDcxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIxOTAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NzEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iN2UwMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTgxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDcxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNjQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NzEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjAyMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTcyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTUzIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOGU0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOGU0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNDgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5M2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTA1YyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTEyMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA3ODQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjg4OCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NDYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjAzNSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0NiIsIEFUVFJTe2lkUHJvZHVjdH09PSIwZGFmIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MDVjIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MTIwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkzYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTBmIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjllNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMjAzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyOWU0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjExMDMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA3ODQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTMwMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZmMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iZmZmZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1YzYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iODgwMCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjNiIsIEFUVFJTe2lkUHJvZHVjdH09PSJmMDAzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNWM2IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1YzYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzE5NiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjNiIsIEFUVFJTe2lkUHJvZHVjdH09PSI2NzY0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNWM2IiwgQVRUUlN7aWRQcm9kdWN0fT09IjY3NjUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1YzYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTAzOSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjNiIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MDI1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTUzIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZGNhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMDQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNzg0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzE3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEyNjAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3MTciLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTI2OCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MTIwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMjBiIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMjAzIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMjA0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMjA4IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMjBjIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMzI1IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMjE0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMzJkIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMjBkIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMjEyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMzJiIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMjEzIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMjE2IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMzJmIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMjE3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMjFhIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTEwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMjAyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMzNkIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMjBkIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSI4MDA3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNWNhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIyMGYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNWNhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIyMGYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzcwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjkxM2QiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzcwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjkxM2QiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzcwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjkxM2QiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYzQ1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjgwMDMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYzQ1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjgwMDMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYzQ1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjgwMDMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTNhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTNhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMGYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzcwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjkxMjAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzcwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjkwNWMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTNhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMGYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjY4NjYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjY3MjciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjg2MCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI2ODVjIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjY4NzciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjc1MiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI2OGFmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09ImUyMGMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjgxOSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNGE0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjRmMWYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjczNCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI2NjQyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjE0MGMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEzODQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjY4NGEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjY3NjMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjcwOSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI2OGE5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjY3MDIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTAyZSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MDFkIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUwMjIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTAyZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MDI0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjVhMGYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTAzMyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNDA5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUwNTciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTA4MSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MDVhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxMTgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTA4MyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTFhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxMTUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTExZCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTMwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxMjUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTEwZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTJlIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUwOTEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTA4YiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MDhhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUwNDciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTA3ZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MDU0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUwN2QiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTA5MyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxMzciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTAzYyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NDEwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNzgxIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc0NTAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA3ODEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzQ1MiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NDMyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNzgxIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc0MzQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA3ODEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzRlNCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NGQwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNzgxIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc0ODAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA3ODEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzQyMCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NDIyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNzgxIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc0NjAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA3ODEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzRjMCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NGMyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNzgxIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc0ZTAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA3ODEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzQwMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NDAwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNzgxIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc0MzAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA3ODEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzRiMCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ3NCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjMwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDc5NyIsIEFUVFJTe2lkUHJvZHVjdH09PSI4OTAxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDc5NyIsIEFUVFJTe2lkUHJvZHVjdH09PSI4OTA5IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDc5NyIsIEFUVFJTe2lkUHJvZHVjdH09PSI4OTExIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDg0ZCIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMDAxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkxOSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTAwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMzUzIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMjBlIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMzI3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MTIwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MTIwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MTIwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRkZCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5NjYxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGRkIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijk2Y2EiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ODkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iYzAyNSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkzYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTBlIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDY2ZiIsIEFUVFJTe2lkUHJvZHVjdH09PSJhMDEwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYzc3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEwMTEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYzc3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEwMTUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYzc3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEwMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYzc3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEwMTAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZDY0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEwMDEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYzc3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEwMDEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOGY2IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE4ZjYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDExMCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGQ5NiIsIEFUVFJTe2lkUHJvZHVjdH09PSIzMzAwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMWJkYyIsIEFUVFJTe2lkUHJvZHVjdH09PSJmYWJmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZGNhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZWM3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEwMDgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA3NGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA3YzYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA5NTciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA4ZTciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA5NGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA4YjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA5NTMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA5NGQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA5NTQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA4ZTIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjEyOTQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDJjMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDJlNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDU0MyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDYxZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDZlZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQ5MSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDhhZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDUyYiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDUyYSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDc0YiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDI5NiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDI5NiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDM0MyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDJmOCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDUzYyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTE3NSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSJhMTc1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09ImIxNzUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE3MiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTcyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxNzIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE4NiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTg2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxODYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE2OSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTY5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxNjkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE3NSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTc1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNzYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDE3NiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTc3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxNzciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDE3NyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSJhMTc3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09ImIxNzciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE3OCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTc4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxNzgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE4MiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTgyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxODIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE3MyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTczIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxNzMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iYTE3MyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSJiMTczIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA3MmYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA2NzgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzNWMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMyNSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMzViIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MDQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDM2ZSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwM2Q4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0YmUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDU5YSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNjg5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzZmMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDRjYiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMzg1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzZmQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDVhNiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMzI2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzZmUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMyNyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMzhlIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzNWEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDM4YyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNGNjIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1YTgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDM4OCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNGJiIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzOTciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDM5OCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDRlIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNGE3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMzIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNGEzIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNjY5IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNzM2IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNzM3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTc0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNjc1IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTc2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09ImExNzYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iYjE3NiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTgxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxODEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDE4MSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNGQxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1YjMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDViNCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTcxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNzAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTE3MCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTcwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxODAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTE4MCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTgwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxNzEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDE3MSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTdlIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxN2UiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDE3ZSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSJhMTdlIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09ImIxN2UiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE2ZCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTk4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxOTgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFhMyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MWEzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxYTMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE4YyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MThjIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxOGMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFiYyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MWJjIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxYmMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFjYiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MWNiIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxY2IiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE4OCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTg4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxODgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE5MiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTkyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxOTIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE5YiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTliIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxOWIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFhYiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MWFiIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxYWIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFhYSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MWFhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxYWEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE5NSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTk1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxOTUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE4ZCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTk0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxOGQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTE5NCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MThkIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxOTQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE5MyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTkzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxOTMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFiNiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTk2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxOWMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTFiNiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTk2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxOWMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDE5YyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMWE3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxYTciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTFhNyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTllIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxOWUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDE5ZSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMWFmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxYWYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDFhZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMWJiIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxYmIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDFiYiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMWJhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxYmEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDFiYSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTg5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxODkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDE4OSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTk3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxOTciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE0NiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTQ2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwZDkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDBkNCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMGVmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNTciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTE1NyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTU3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNGUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iZDE0NCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTQ0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09ImUwMDAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA3NSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTRmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNGYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE1YSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTVhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNTYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTE1NiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTVkIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxNWQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE2NiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTY2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNjciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTE2NyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTY4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxNjgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDE2OCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTYxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxNjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDBmYiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTMzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxM2EiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTBjOCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMGYzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDBjNiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMGIzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwZjUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA3NiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMGRhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTE2ZCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MDVjIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU1MyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjAyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU1MyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjAyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU1MyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjAyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU1MyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjAyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU1MyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjAyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MTIwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkxOSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTAwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU1MyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjAyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MDVjIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU1MyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjAyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MTNkIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MTIwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ1MSIsIEFUVFJTe2lkUHJvZHVjdH09PSJkMTA4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxM2QxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjcwMTciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBhYTYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzAxMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDY5YiIsIEFUVFJTe2lkUHJvZHVjdH09PSIzMDM1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNjliIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA3NzciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA2OWIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDc3NCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDY5YiIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNzdjIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNjliIiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwMWEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA2OWIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzAyOCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkxOSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTAwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU1MyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjAyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTM5MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI1NDU1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMWRiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjEwMDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTMwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA5NjMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5MzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAwYyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkzMCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDA5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTMwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMWQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5MzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAxYSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkzMCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDE4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTMwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMTEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5MzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAwZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkzMCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDEwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTMwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMTkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5MzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAxNiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkzMCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDE0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMTMyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQzMzciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMTMyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQzMzIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMTMyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQzMzUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMTMyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQzMzQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTMwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjcxMDAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBkOTYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzMwMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBkOTYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDEwMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjFlNjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAwMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNjExIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNjZmIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijg0MmEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA4NGQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAwMyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA2ZDYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAyZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA2ZDYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAyZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA4Y2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDExMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZmMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTA0YSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA3OTciLCBBVFRSU3tpZFByb2R1Y3R9PT0iODAxYSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NTMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBkNjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTAwMSIsIE1PREU9ImwzNiIKK1BST0dSQU09ImNoZWNrLXB0cC1jYW1lcmEgMDYvMDEvMDEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMjA3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMDEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyMDciLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAxMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwOCIsIEFUVFJTe2lkUHJvZHVjdH09PSIzODk5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzcwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjkxMjAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzcwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjkxMjAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTNhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTNhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMGYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYzQ1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjgwMGEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzcwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjkwNWMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDg5IiwgQVRUUlN7aWRQcm9kdWN0fT09ImUxMTEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ODkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iYzAyNiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ4OSIsIEFUVFJTe2lkUHJvZHVjdH09PSJlMDQwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTMxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIwMDEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBjNDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iODAwMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjFlNTMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAwNyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjcxNyIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMzY4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzE3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEyNDgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3MTciLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTI0MCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjcxNyIsIEFUVFJTe2lkUHJvZHVjdH09PSJmMDAzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzE3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjkwMzkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3MTciLCBBVFRSU3tpZFByb2R1Y3R9PT0iZmY0OCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjcxNyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMzY4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzE3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzNjAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3MTciLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDY2MCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjIwNyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDA2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyOTE2IiwgQVRUUlN7aWRQcm9kdWN0fT09IjkxNGQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI5MTYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iZjAwMyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMWViZiIsIEFUVFJTe2lkUHJvZHVjdH09PSI3ZjI5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDFlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjYwMDAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTA1YyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE5ZDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDM0MyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTlkMiIsIEFUVFJTe2lkUHJvZHVjdH09PSJmZmNlIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOWQyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyNDQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE5ZDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDI0NSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTlkMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMzA2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOWQyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzMDciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE5ZDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDM4MyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorCitMQUJFTD0ibGliZ3Bob3RvMl91c2JfZW5kIgorCitLRVJORUw9PSJzZ1swLTldKiIsIEFUVFJTe2lkVmVuZG9yfT09IjE5MDgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTMxNSIsIE1PREU9ImwzNiIKK0tFUk5FTD09InNnWzAtOV0qIiwgQVRUUlN7aWRWZW5kb3J9PT0iMTkwOCIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMzIwIiwgTU9ERT0ibDM2IgorS0VSTkVMPT0ic2dbMC05XSoiLCBBVFRSU3tpZFZlbmRvcn09PSIxOTA4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDIiLCBNT0RFPSJsMzYiCitLRVJORUw9PSJzZ1swLTldKiIsIEFUVFJTe2lkVmVuZG9yfT09IjE5MDgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzMzNSIsIE1PREU9ImwzNiIKK0tFUk5FTD09InNnWzAtOV0qIiwgQVRUUlN7aWRWZW5kb3J9PT0iMDRiMCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTE2IiwgTU9ERT0ibDM2IgorS0VSTkVMPT0ic2dbMC05XSoiLCBBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDgiLCBNT0RFPSJsMzYiCitLRVJORUw9PSJzZ1swLTldKiIsIEFUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDExMCIsIE1PREU9ImwzNiIKK0tFUk5FTD09InNnWzAtOV0qIiwgQVRUUlN7aWRWZW5kb3J9PT0iMDRiMCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTBlIiwgTU9ERT0ibDM2IgorS0VSTkVMPT0ic2dbMC05XSoiLCBBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDQiLCBNT0RFPSJsMzYiCitLRVJORUw9PSJzZ1swLTldKiIsIEFUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQwMSIsIE1PREU9ImwzNiIKK0tFUk5FTD09InNnWzAtOV0qIiwgQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTA1IiwgTU9ERT0ibDM2IgorS0VSTkVMPT0ic2dbMC05XSoiLCBBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDUiLCBNT0RFPSJsMzYiCitLRVJORUw9PSJzZ1swLTldKiIsIEFUVFJTe2lkVmVuZG9yfT09IjA3YjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwNSIsIE1PREU9ImwzNiIKK0tFUk5FTD09InNnWzAtOV0qIiwgQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTA5IiwgTU9ERT0ibDM2IgorS0VSTkVMPT0ic2dbMC05XSoiLCBBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDUiLCBNT0RFPSJsMzYiCitLRVJORUw9PSJzZ1swLTldKiIsIEFUVFJTe2lkVmVuZG9yfT09IjA3YjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwNSIsIE1PREU9ImwzNiIKK0tFUk5FTD09InNnWzAtOV0qIiwgQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTA1IiwgTU9ERT0ibDM2IgorS0VSTkVMPT0ic2dbMC05XSoiLCBBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDUiLCBNT0RFPSJsMzYiCitLRVJORUw9PSJzZ1swLTldKiIsIEFUVFJTe2lkVmVuZG9yfT09IjA3YjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwNSIsIE1PREU9ImwzNiIKK0tFUk5FTD09InNnWzAtOV0qIiwgQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTA5IiwgTU9ERT0ibDM2IgorS0VSTkVMPT0ic2dbMC05XSoiLCBBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDkiLCBNT0RFPSJsMzYiCitLRVJORUw9PSJzZ1swLTldKiIsIEFUVFJTe2lkVmVuZG9yfT09IjA3YjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwOSIsIE1PREU9ImwzNiIKK0tFUk5FTD09InNnWzAtOV0qIiwgQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTA5IiwgTU9ERT0ibDM2IgorS0VSTkVMPT0ic2dbMC05XSoiLCBBVFRSU3tpZFZlbmRvcn09PSIwYTE3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNzAiLCBNT0RFPSJsMzYiCitLRVJORUw9PSJzZ1swLTldKiIsIEFUVFJTe2lkVmVuZG9yfT09IjBhMTciLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDBhMSIsIE1PREU9ImwzNiIKK0tFUk5FTD09InNnWzAtOV0qIiwgQVRUUlN7aWRWZW5kb3J9PT0iMGExNyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDZlIiwgTU9ERT0ibDM2IgorS0VSTkVMPT0ic2dbMC05XSoiLCBBVFRSU3tpZFZlbmRvcn09PSIwYTE3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwOTMiLCBNT0RFPSJsMzYiCitLRVJORUw9PSJzZ1swLTldKiIsIEFUVFJTe2lkVmVuZG9yfT09IjBhMTciLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA5MSIsIE1PREU9ImwzNiIKK0tFUk5FTD09InNnWzAtOV0qIiwgQVRUUlN7aWRWZW5kb3J9PT0iMjVmYiIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTY0IiwgTU9ERT0ibDM2IgorS0VSTkVMPT0ic2dbMC05XSoiLCBBVFRSU3tpZFZlbmRvcn09PSIyNWZiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMzIiLCBNT0RFPSJsMzYiCitLRVJORUw9PSJzZ1swLTldKiIsIEFUVFJTe2lkVmVuZG9yfT09IjI1ZmIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwMiIsIE1PREU9ImwzNiIKK0tFUk5FTD09InNnWzAtOV0qIiwgQVRUUlN7aWRWZW5kb3J9PT0iMGExNyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDA5IiwgTU9ERT0ibDM2IgorS0VSTkVMPT0ic2dbMC05XSoiLCBBVFRSU3tpZFZlbmRvcn09PSIwYTE3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMDciLCBNT0RFPSJsMzYiCitLRVJORUw9PSJzZFthLXpdKiIsIEFUVFJTe2lkVmVuZG9yfT09IjE0MDMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAwMSIsIE1PREU9ImwzNiIKK0tFUk5FTD09InNnWzAtOV0qIiwgQVRUUlN7aWRWZW5kb3J9PT0iMDE2OCIsIEFUVFJTe2lkUHJvZHVjdH09PSIzMDExIiwgTU9ERT0ibDM2IgorCitMQUJFTD0ibGliZ3Bob3RvMl9ydWxlc19lbmQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ncGhvdG8yL2xpYmdwaG90bzJfMi41LjguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ncGhvdG8yL2xpYmdwaG90bzJfMi41LjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2RlNjk0MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dwaG90bzIvbGliZ3Bob3RvMl8yLjUuOC5iYgpAQCAtMCwwICsxLDU1IEBACitTVU1NQVJZID0gImxpYmdwaG90bzIgYWxsb3dzIHlvdSB0byBhY2Nlc3MgZGlnaXRhbCBjYW1lcmFzIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA0NDhkMzY3NmJjMGRlMDA0MDZhZjIyN2QzNDFhNGQxIgorCitERVBFTkRTID0gImxpYnRvb2wganBlZyB2aXJ0dWFsL2xpYnVzYjAgbGliZXhpZiB6bGliIGxpYnhtbDIiCisKKyMgVGhlIC5mZGkgYW5kIC5ydWxlcyBmaWxlcyB3ZXJlIGdlbmVyYXRlZCB3aXRoOgorIyAgbGliZ3Bob3RvMi0yLjUuOC9wYWNrYWdpbmcvZ2VuZXJpYyQgcWVtdS1hcm0gLXMgMTA0ODU3NiAtciAyLjYuMjQgLUwgL09FL2FuZ3N0cm9tLWRldi9zdGFnaW5nL2FybXY1dGUtYW5nc3Ryb20tbGludXgtZ251ZWFiaS8gLmxpYnMvcHJpbnQtY2FtZXJhLWxpc3QKKyMgVGhleSBhcmUgcmVsZWFzZSBzcGVjaWZpYywgc28gcGxlYXNlIHJlZ2VuIHdoZW4gYWRkaW5nIG5ldyByZWxlYXNlcworCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9ncGhvdG8vbGliZ3Bob3RvMi0ke1BWfS50YXIuYnoyO25hbWU9bGliZ3Bob3RvMiBcCisgICAgICAgICAgIGZpbGU6Ly8xMC1jYW1lcmEtbGliZ3Bob3RvMi1kZXZpY2UuZmRpIFwKKyAgICAgICAgICAgZmlsZTovLzEwLWNhbWVyYS1saWJncGhvdG8yLmZkaSBcCisgICAgICAgICAgIGZpbGU6Ly80MC1saWJncGhvdG8yLnJ1bGVzIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLmFjLXJlbW92ZS1BTV9QT19TVUJESVJTLnBhdGNoIFwKKyIKKworU1JDX1VSSVtsaWJncGhvdG8yLm1kNXN1bV0gPSAiODczYWIwMWFjZWQ0OWM2YjkyYTk4ZTUxNWRiNWRjZWYiCitTUkNfVVJJW2xpYmdwaG90bzIuc2hhMjU2c3VtXSA9ICIwMzFhMjYyZTM0MmZhZTQzZjcyNGFmZTY2Nzg3OTQ3Y2UxZmI0ODMyNzdkZmU1YThjZjFmYmU5MmM1OGUyN2I2IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dCBsaWJfcGFja2FnZQorCitFWFRSQV9PRUNPTkYgPSAiIC0td2l0aC1kcml2ZXJzPWFsbCB1ZGV2c2NyaXB0ZGlyPS9saWIvdWRldiBhY19jdl9saWJfbHRkbF9sdF9kbGNhbGxlcl9yZWdpc3Rlcj15ZXMiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2dkXSA9ICIsLS13aXRob3V0LWdkbGliLGdkIgorUEFDS0FHRUNPTkZJR1tzZXJpYWxdID0gIi0tZW5hYmxlLXNlcmlhbCwtLWRpc2FibGUtc2VyaWFsLGxvY2tkZXYiCisKK2RvX2NvbmZpZ3VyZV9hcHBlbmQoKSB7CisgICAgY3AgJHtTVEFHSU5HX0RBVEFESVJ9L2dldHRleHQvcG8vTWFrZWZpbGUuaW4uaW4gJHtTfS9saWJncGhvdG8yX3BvcnQvcG8vCisgICAgY2QgJHtTfS9saWJncGhvdG8yX3BvcnQvCisgICAgYXV0b3JlY29uZiAtV2Nyb3NzIC0tdmVyYm9zZSAtLWluc3RhbGwgLS1mb3JjZSAke0VYVFJBX0FVVE9SRUNPTkZ9ICRhY3BhdGhzCisgICAgY2QgJHtTfQorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2hhbC9mZGkvaW5mb3JtYXRpb24vMjB0aGlyZHBhcnR5CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vKi5mZGkgJHtEfSR7ZGF0YWRpcn0vaGFsL2ZkaS9pbmZvcm1hdGlvbi8yMHRoaXJkcGFydHkvCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3VkZXYvcnVsZXMuZC8KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS8qLnJ1bGVzICR7RH0ke3N5c2NvbmZkaXJ9L3VkZXYvcnVsZXMuZC8KK30KKworUEFDS0FHRVMgPSsgImxpYmdwaG90b3BvcnQgbGliZ3Bob3RvMi1jYW1saWJzIgorRklMRVNfbGliZ3Bob3RvMi1jYW1saWJzID0gIiR7bGliZGlyfS9saWJncGhvdG8yKi8qLyouc28qIgorUlJFQ09NTUVORFNfJHtQTn0gPSAibGliZ3Bob3RvMi1jYW1saWJzIgorUkRFUEVORFNfJHtQTn0gPSAiYmFzaCIKKworRklMRVNfbGliZ3Bob3RvcG9ydCA9ICIke2xpYmRpcn0vbGliZ3Bob3RvMl9wb3J0LnNvLioiCisKK0ZJTEVTXyR7UE59ICs9ICIke25vbmFyY2hfYmFzZV9saWJkaXJ9L3VkZXYvKiAke2RhdGFkaXJ9L2hhbCIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9LyovKi8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS8qLyovKi5sYSIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ3RrcGVyZi9ndGtwZXJmL01ha2V2YXJzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ3RrcGVyZi9ndGtwZXJmL01ha2V2YXJzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiMDlmNTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ndGtwZXJmL2d0a3BlcmYvTWFrZXZhcnMKQEAgLTAsMCArMSwyNSBAQAorIyBNYWtlZmlsZSB2YXJpYWJsZXMgZm9yIFBPIGRpcmVjdG9yeSBpbiBhbnkgcGFja2FnZSB1c2luZyBHTlUgZ2V0dGV4dC4KKworIyBVc3VhbGx5IHRoZSBtZXNzYWdlIGRvbWFpbiBpcyB0aGUgc2FtZSBhcyB0aGUgcGFja2FnZSBuYW1lLgorRE9NQUlOID0gJChQQUNLQUdFKQorCisjIFRoZXNlIHR3byB2YXJpYWJsZXMgZGVwZW5kIG9uIHRoZSBsb2NhdGlvbiBvZiB0aGlzIGRpcmVjdG9yeS4KK3N1YmRpciA9IHBvCit0b3BfYnVpbGRkaXIgPSAuLgorCisjIFRoZXNlIG9wdGlvbnMgZ2V0IHBhc3NlZCB0byB4Z2V0dGV4dC4KK1hHRVRURVhUX09QVElPTlMgPSAtLWtleXdvcmQ9XyAtLWtleXdvcmQ9Tl8KKworIyBUaGlzIGlzIHRoZSBjb3B5cmlnaHQgaG9sZGVyIHRoYXQgZ2V0cyBpbnNlcnRlZCBpbnRvIHRoZSBoZWFkZXIgb2YgdGhlCisjICQoRE9NQUlOKS5wb3QgZmlsZS4gIFNldCB0aGlzIHRvIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG9mIHRoZSBzdXJyb3VuZGluZworIyBwYWNrYWdlLiAgKE5vdGUgdGhhdCB0aGUgbXNnc3RyIHN0cmluZ3MsIGV4dHJhY3RlZCBmcm9tIHRoZSBwYWNrYWdlJ3MKKyMgc291cmNlcywgYmVsb25nIHRvIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG9mIHRoZSBwYWNrYWdlLikgIFRyYW5zbGF0b3JzIGFyZQorIyBleHBlY3RlZCB0byB0cmFuc2ZlciB0aGUgY29weXJpZ2h0IGZvciB0aGVpciB0cmFuc2xhdGlvbnMgdG8gdGhpcyBwZXJzb24KKyMgb3IgZW50aXR5LCBvciB0byBkaXNjbGFpbSB0aGVpciBjb3B5cmlnaHQuICBUaGUgZW1wdHkgc3RyaW5nIHN0YW5kcyBmb3IKKyMgdGhlIHB1YmxpYyBkb21haW47IGluIHRoaXMgY2FzZSB0aGUgdHJhbnNsYXRvcnMgYXJlIGV4cGVjdGVkIHRvIGRpc2NsYWltCisjIHRoZWlyIGNvcHlyaWdodC4KK0NPUFlSSUdIVF9IT0xERVIgPSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKworIyBUaGlzIGlzIHRoZSBsaXN0IG9mIGxvY2FsZSBjYXRlZ29yaWVzLCBiZXlvbmQgTENfTUVTU0FHRVMsIGZvciB3aGljaCB0aGUKKyMgbWVzc2FnZSBjYXRhbG9ncyBzaGFsbCBiZSB1c2VkLiAgSXQgaXMgdXN1YWxseSBlbXB0eS4KK0VYVFJBX0xPQ0FMRV9DQVRFR09SSUVTID0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2d0a3BlcmYvZ3RrcGVyZl8wLjQwLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ3RrcGVyZi9ndGtwZXJmXzAuNDAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTQwNGE3YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2d0a3BlcmYvZ3RrcGVyZl8wLjQwLmJiCkBAIC0wLDAgKzEsMjcgQEAKK1NVTU1BUlkgPSAiR1RLIFBlcmZvcm1hbmNlIHRvb2wiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK1NSQ19VUkkgPSAiaHR0cDovL3ByZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC8ke0JQTn0vJHtCUE59XyR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9NYWtldmFycyIKKworU1JDX1VSSVttZDVzdW1dID0gIjQzMzFkZGU0YmI4Mzg2NWUxNTQ4Mjg4NWZjYjBjYzUzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk3MDQzNDRlNzMyMDM4ZWVjYmQwMDdkZDk5NmE1NjI5M2E2YjAyN2I1Yjc2ZjNmMDM2MjczYTNmYWUxYWIyN2IiCisKK0RFUEVORFMgPSAiZ3RrKyIKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgYmluY29uZmlnIHBrZ2NvbmZpZyBnZXR0ZXh0CisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKyAgICBybSAtZiAke1N9L200L2luaXQubTQKKyAgICBjcCAtZiAke1dPUktESVJ9L01ha2V2YXJzICR7U30vcG8vCit9CisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICBybSAtcmYgJHtEfS8ke2V4ZWNfcHJlZml4fS9kb2MKK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZXhlY19wcmVmaXh9L3NoYXJlL2R1Y2sucG5nIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvamFzcGVyL2phc3Blcl8xLjkwMC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvamFzcGVyL2phc3Blcl8xLjkwMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjNTEzMTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9qYXNwZXIvamFzcGVyXzEuOTAwLjEuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJKcGVnIDIwMDAgaW1wbGVtZW50YXRpb24iCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWJhYTY5N2Q3NTEwMjg4YTljZGNjZTliZDdlZGFmOWJjIgorCitQUiA9ICJyMSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmVjZS51dmljLmNhL35tZGFkYW1zL2phc3Blci9zb2Z0d2FyZS9qYXNwZXItJHtQVn0uemlwIgorCitpbmhlcml0IGF1dG90b29scyBsaWJfcGFja2FnZQorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tqcGVnXSA9ICItLWVuYWJsZS1saWJqcGVnLC0tZGlzYWJsZS1saWJqcGVnLGpwZWciCisKK0VYVFJBX09FQ09ORiA9ICItLWVuYWJsZS1zaGFyZWQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhMzQyYjJiNDQ5NWIzZTEzOTRlMTYxZWI1ZDg1ZDc1NCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2YjkwNWE5YzJhY2EyZTI3NTU0NDIxMjY2NmVlZmM0ZWI0NGQ5NWQwYTU3ZTQzMDU0NTdiNDA3ZmU2M2Y5NDk0IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGVwdG9uaWNhL2xlcHRvbmljYV8xLjcwLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGVwdG9uaWNhL2xlcHRvbmljYV8xLjcwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4MjZlMDUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9sZXB0b25pY2EvbGVwdG9uaWNhXzEuNzAuYmIKQEAgLTAsMCArMSwxNCBAQAorREVTQ1JJUFRJT04gPSAiQSBwZWRhZ29naWNhbGx5LW9yaWVudGVkIG9wZW4gc291cmNlIHNpdGUgY29udGFpbmluZyBzb2Z0d2FyZSB0aGF0IGlzIGJyb2FkbHkgdXNlZnVsIGZvciBpbWFnZSBwcm9jZXNzaW5nIGFuZCBpbWFnZSBhbmFseXNpcyBhcHBsaWNhdGlvbnMiCitERVBFTkRTID0gImpwZWcgdGlmZiBsaWJwbmcgemxpYiBnaWZsaWIiCitMSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2xlcHRvbmljYS1saWNlbnNlLnR4dDttZDU9MjBjZGQzYWYwOTdjYTQzMWI4MjAwNGM2OTFmNDA2YTYiCisKK1NSQ19VUkkgPSAiaHR0cDovL2xlcHRvbmljYS5jb20vc291cmNlL2xlcHRvbmljYS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiNWFjMmEzMWNmNWI0ZjBlOGY1YTg1M2E1MjY2YzQyZWYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDNkMjA5YTFmNmQxZjdhODAxMTk0ODZiNTAxMWJjOGM2NjI3ZTU4MmM5MjdhYjQ0YmEzM2MzN2VkYjJjZmJhMiIKKworRVhUUkFfT0VDT05GICs9ICIgXAorICAgIC0td2l0aG91dC1saWJ3ZWJwIFwKKyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJzZXh5L2xpYnNleHkuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGlic2V4eS9saWJzZXh5LmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YTExY2EwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGlic2V4eS9saWJzZXh5LmluYwpAQCAtMCwwICsxLDE1IEBACitERVNDUklQVElPTiA9ICJMaWJzZXh5IGlzIGEgY29sbGVjdGlvbiBvZiBHVEsrIHdpZGdldHMgdGhhdCBleHRlbmQgdGhlIGZ1bmN0aW9uYWxpdHkgb2Ygc3VjaCBzdGFuZGFyZCB3aWRnZXRzIGFzIEd0a0VudHJ5IGFuZCBHdGtMYWJlbCIKK0hPTUVQQUdFID0gImh0dHA6Ly93aWtpLmNoaXB4ODYuY29tL3dpa2kvTGlic2V4eSIKK0FVVEhPUiA9ICJDaHJpc3RpYW4gSGFtbW9uZCA8Y2hpcHg4NkBjaGlweDg2LmNvbT4iCitTRUNUSU9OID0gIngxMS9saWJzIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9N2ZiYzMzODMwOWFjMzhmZWZjZDY0YjA0YmI5MDNlMzQiCisKK0RFUEVORFMgPSAiZ3RrKyBlbmNoYW50IGxpYnhtbDIiCisKK1NSQ19VUkkgPSAiaHR0cDovL3JlbGVhc2VzLmNoaXB4ODYuY29tL2xpYnNleHkvJHtCUE59LyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9saWJzZXh5LXBrZ2NvbmZpZy1maXhlcy5wYXRjaCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xpYnNleHkvbGlic2V4eS9saWJzZXh5LXBrZ2NvbmZpZy1maXhlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xpYnNleHkvbGlic2V4eS9saWJzZXh5LXBrZ2NvbmZpZy1maXhlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MWRhOTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGlic2V4eS9saWJzZXh5L2xpYnNleHktcGtnY29uZmlnLWZpeGVzLnBhdGNoCkBAIC0wLDAgKzEsMTUgQEAKK0luZGV4OiBsaWJzZXh5LTAuMS4xMS9saWJzZXh5LnBjLmluCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGlic2V4eS0wLjEuMTEub3JpZy9saWJzZXh5LnBjLmluCTIwMDUtMTEtMTAgMTA6MjE6MTguMDAwMDAwMDAwICswMDAwCisrKysgbGlic2V4eS0wLjEuMTEvbGlic2V4eS5wYy5pbgkyMDA4LTAzLTA1IDE0OjM2OjM5LjAwMDAwMDAwMCArMDAwMAorQEAgLTYsNyArNiw4IEBACisgTmFtZTogbGlic2V4eQorIERlc2NyaXB0aW9uOiBEb2luZyBuYXVnaHR5IHRoaW5ncyB0byBnb29kIHdpZGdldHMKKyBWZXJzaW9uOiBAVkVSU0lPTkAKKy1MaWJzOiAtTCR7bGliZGlyfSAtbHNleHkgQFBBQ0tBR0VfTElCU0AKKy1DZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfSBAUEFDS0FHRV9DRkxBR1NACisgCisrUmVxdWlyZXM6IHBhbmdvIGdsaWItMi4wIGd0aystMi4wIGxpYnhtbC0yLjAKKytMaWJzOiAtTCR7bGliZGlyfSAtbHNleHkgCisrQ2ZsYWdzOiAtSSR7aW5jbHVkZWRpcn0KKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xpYnNleHkvbGlic2V4eV8wLjEuMTEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJzZXh5L2xpYnNleHlfMC4xLjExLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2YjQ5NTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJzZXh5L2xpYnNleHlfMC4xLjExLmJiCkBAIC0wLDAgKzEsNiBAQAorcmVxdWlyZSBsaWJzZXh5LmluYworCitQUiA9ICJyMiIKKworU1JDX1VSSVttZDVzdW1dID0gIjMzYzA3OWEyNTMyNzBlYzhiZmI5NTA4ZTRiYjMwNzU0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhjNDEwMWE4Y2RhNWZjY2JiYTg1YmExYTE1ZjQ2ZjJjZjc1ZGVhYThiM2M1MjVjZTViMTM1YjllMWE4ZmU0OWUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJ2bmNzZXJ2ZXIvbGlidm5jc2VydmVyLzAwMDEtcmVtb3ZlLXdlYmNsaWVudHMtYnVpbGQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJ2bmNzZXJ2ZXIvbGlidm5jc2VydmVyLzAwMDEtcmVtb3ZlLXdlYmNsaWVudHMtYnVpbGQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGY0MzY1YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xpYnZuY3NlcnZlci9saWJ2bmNzZXJ2ZXIvMDAwMS1yZW1vdmUtd2ViY2xpZW50cy1idWlsZC5wYXRjaApAQCAtMCwwICsxLDI4IEBACitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQoraW5kZXggNWMyYTk0ZC4uZjk4MDM4YSAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmFtCisrKysgYi9NYWtlZmlsZS5hbQorQEAgLTEsNyArMSw3IEBACisgQUNMT0NBTF9BTUZMQUdTID0gLUkgbTQKKyAKKy1TVUJESVJTPWxpYnZuY3NlcnZlciBleGFtcGxlcyBsaWJ2bmNjbGllbnQgd2ViY2xpZW50cyBjbGllbnRfZXhhbXBsZXMgdGVzdAorLURJU1RfU1VCRElSUz1saWJ2bmNzZXJ2ZXIgZXhhbXBsZXMgbGlidm5jY2xpZW50IHdlYmNsaWVudHMgY2xpZW50X2V4YW1wbGVzIHRlc3QKKytTVUJESVJTPWxpYnZuY3NlcnZlciBleGFtcGxlcyBsaWJ2bmNjbGllbnQgY2xpZW50X2V4YW1wbGVzIHRlc3QKKytESVNUX1NVQkRJUlM9bGlidm5jc2VydmVyIGV4YW1wbGVzIGxpYnZuY2NsaWVudCBjbGllbnRfZXhhbXBsZXMgdGVzdAorIEVYVFJBX0RJU1QgPSBDTWFrZUxpc3RzLnR4dCByZmIvcmZiaW50LmguY21ha2UgcmZiL3JmYmNvbmZpZy5oLmNtYWtlCisgCisgYmluX1NDUklQVFMgPSBsaWJ2bmNzZXJ2ZXItY29uZmlnCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCBjYTlmM2IzLi45YjQ2NGNmIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC02MDAsOSArNjAwLDYgQEAgQUNfQ09ORklHX0ZJTEVTKFtNYWtlZmlsZQorIAlsaWJ2bmNzZXJ2ZXIvTWFrZWZpbGUKKyAJZXhhbXBsZXMvTWFrZWZpbGUKKyAJZXhhbXBsZXMvYW5kcm9pZC9NYWtlZmlsZQorLQl3ZWJjbGllbnRzL01ha2VmaWxlCistCXdlYmNsaWVudHMvamF2YS1hcHBsZXQvTWFrZWZpbGUKKy0Jd2ViY2xpZW50cy9qYXZhLWFwcGxldC9zc2wvTWFrZWZpbGUKKyAJbGlidm5jY2xpZW50L01ha2VmaWxlCisgCWNsaWVudF9leGFtcGxlcy9NYWtlZmlsZQorIAl0ZXN0L01ha2VmaWxlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJ2bmNzZXJ2ZXIvbGlidm5jc2VydmVyLzAwMDItY29tbW9uLWFkZC1zaGExLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGlidm5jc2VydmVyL2xpYnZuY3NlcnZlci8wMDAyLWNvbW1vbi1hZGQtc2hhMS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YjcwZDJmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGlidm5jc2VydmVyL2xpYnZuY3NlcnZlci8wMDAyLWNvbW1vbi1hZGQtc2hhMS5wYXRjaApAQCAtMCwwICsxLDUyNCBAQAorZGlmZiAtLWdpdCBhL2NvbW1vbi9zaGExLmMgYi9jb21tb24vc2hhMS5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uOTg4YjE4OAorLS0tIC9kZXYvbnVsbAorKysrIGIvY29tbW9uL3NoYTEuYworQEAgLTAsMCArMSw0MTEgQEAKKysvKgorKyAqIENvcHlyaWdodCAoQykgVGhlIEludGVybmV0IFNvY2lldHkgKDIwMDEpLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKysgKgorKyAqIFRoaXMgZG9jdW1lbnQgYW5kIHRyYW5zbGF0aW9ucyBvZiBpdCBtYXkgYmUgY29waWVkIGFuZCBmdXJuaXNoZWQgdG8KKysgKiBvdGhlcnMsIGFuZCBkZXJpdmF0aXZlIHdvcmtzIHRoYXQgY29tbWVudCBvbiBvciBvdGhlcndpc2UgZXhwbGFpbiBpdAorKyAqIG9yIGFzc2lzdCBpbiBpdHMgaW1wbGVtZW50YXRpb24gbWF5IGJlIHByZXBhcmVkLCBjb3BpZWQsIHB1Ymxpc2hlZAorKyAqIGFuZCBkaXN0cmlidXRlZCwgaW4gd2hvbGUgb3IgaW4gcGFydCwgd2l0aG91dCByZXN0cmljdGlvbiBvZiBhbnkKKysgKiBraW5kLCBwcm92aWRlZCB0aGF0IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBhcmFncmFwaCBhcmUKKysgKiBpbmNsdWRlZCBvbiBhbGwgc3VjaCBjb3BpZXMgYW5kIGRlcml2YXRpdmUgd29ya3MuICBIb3dldmVyLCB0aGlzCisrICogZG9jdW1lbnQgaXRzZWxmIG1heSBub3QgYmUgbW9kaWZpZWQgaW4gYW55IHdheSwgc3VjaCBhcyBieSByZW1vdmluZworKyAqIHRoZSBjb3B5cmlnaHQgbm90aWNlIG9yIHJlZmVyZW5jZXMgdG8gdGhlIEludGVybmV0IFNvY2lldHkgb3Igb3RoZXIKKysgKiBJbnRlcm5ldCBvcmdhbml6YXRpb25zLCBleGNlcHQgYXMgbmVlZGVkIGZvciB0aGUgcHVycG9zZSBvZgorKyAqIGRldmVsb3BpbmcgSW50ZXJuZXQgc3RhbmRhcmRzIGluIHdoaWNoIGNhc2UgdGhlIHByb2NlZHVyZXMgZm9yCisrICogY29weXJpZ2h0cyBkZWZpbmVkIGluIHRoZSBJbnRlcm5ldCBTdGFuZGFyZHMgcHJvY2VzcyBtdXN0IGJlCisrICogZm9sbG93ZWQsIG9yIGFzIHJlcXVpcmVkIHRvIHRyYW5zbGF0ZSBpdCBpbnRvIGxhbmd1YWdlcyBvdGhlciB0aGFuCisrICogRW5nbGlzaC4KKysgKgorKyAqIFRoZSBsaW1pdGVkIHBlcm1pc3Npb25zIGdyYW50ZWQgYWJvdmUgYXJlIHBlcnBldHVhbCBhbmQgd2lsbCBub3QgYmUKKysgKiByZXZva2VkIGJ5IHRoZSBJbnRlcm5ldCBTb2NpZXR5IG9yIGl0cyBzdWNjZXNzb3JzIG9yIGFzc2lnbnMuCisrICoKKysgKiBUaGlzIGRvY3VtZW50IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkIGhlcmVpbiBpcyBwcm92aWRlZCBvbiBhbgorKyAqICJBUyBJUyIgYmFzaXMgYW5kIFRIRSBJTlRFUk5FVCBTT0NJRVRZIEFORCBUSEUgSU5URVJORVQgRU5HSU5FRVJJTkcKKysgKiBUQVNLIEZPUkNFIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUywgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcKKysgKiBCVVQgTk9UIExJTUlURUQgVE8gQU5ZIFdBUlJBTlRZIFRIQVQgVEhFIFVTRSBPRiBUSEUgSU5GT1JNQVRJT04KKysgKiBIRVJFSU4gV0lMTCBOT1QgSU5GUklOR0UgQU5ZIFJJR0hUUyBPUiBBTlkgSU1QTElFRCBXQVJSQU5USUVTIE9GCisrICogTUVSQ0hBTlRBQklMSVRZIE9SIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgorKyAqLworKworKy8qCisrICogIHNoYTEuYworKyAqCisrICogIERlc2NyaXB0aW9uOgorKyAqICAgICAgVGhpcyBmaWxlIGltcGxlbWVudHMgdGhlIFNlY3VyZSBIYXNoaW5nIEFsZ29yaXRobSAxIGFzCisrICogICAgICBkZWZpbmVkIGluIEZJUFMgUFVCIDE4MC0xIHB1Ymxpc2hlZCBBcHJpbCAxNywgMTk5NS4KKysgKgorKyAqICAgICAgVGhlIFNIQS0xLCBwcm9kdWNlcyBhIDE2MC1iaXQgbWVzc2FnZSBkaWdlc3QgZm9yIGEgZ2l2ZW4KKysgKiAgICAgIGRhdGEgc3RyZWFtLiAgSXQgc2hvdWxkIHRha2UgYWJvdXQgMioqbiBzdGVwcyB0byBmaW5kIGEKKysgKiAgICAgIG1lc3NhZ2Ugd2l0aCB0aGUgc2FtZSBkaWdlc3QgYXMgYSBnaXZlbiBtZXNzYWdlIGFuZAorKyAqICAgICAgMioqKG4vMikgdG8gZmluZCBhbnkgdHdvIG1lc3NhZ2VzIHdpdGggdGhlIHNhbWUgZGlnZXN0LAorKyAqICAgICAgd2hlbiBuIGlzIHRoZSBkaWdlc3Qgc2l6ZSBpbiBiaXRzLiAgVGhlcmVmb3JlLCB0aGlzCisrICogICAgICBhbGdvcml0aG0gY2FuIHNlcnZlIGFzIGEgbWVhbnMgb2YgcHJvdmlkaW5nIGEKKysgKiAgICAgICJmaW5nZXJwcmludCIgZm9yIGEgbWVzc2FnZS4KKysgKgorKyAqICBQb3J0YWJpbGl0eSBJc3N1ZXM6CisrICogICAgICBTSEEtMSBpcyBkZWZpbmVkIGluIHRlcm1zIG9mIDMyLWJpdCAid29yZHMiLiAgVGhpcyBjb2RlCisrICogICAgICB1c2VzIDxzdGRpbnQuaD4gKGluY2x1ZGVkIHZpYSAic2hhMS5oIiB0byBkZWZpbmUgMzIgYW5kIDgKKysgKiAgICAgIGJpdCB1bnNpZ25lZCBpbnRlZ2VyIHR5cGVzLiAgSWYgeW91ciBDIGNvbXBpbGVyIGRvZXMgbm90CisrICogICAgICBzdXBwb3J0IDMyIGJpdCB1bnNpZ25lZCBpbnRlZ2VycywgdGhpcyBjb2RlIGlzIG5vdAorKyAqICAgICAgYXBwcm9wcmlhdGUuCisrICoKKysgKiAgQ2F2ZWF0czoKKysgKiAgICAgIFNIQS0xIGlzIGRlc2lnbmVkIHRvIHdvcmsgd2l0aCBtZXNzYWdlcyBsZXNzIHRoYW4gMl42NCBiaXRzCisrICogICAgICBsb25nLiAgQWx0aG91Z2ggU0hBLTEgYWxsb3dzIGEgbWVzc2FnZSBkaWdlc3QgdG8gYmUgZ2VuZXJhdGVkCisrICogICAgICBmb3IgbWVzc2FnZXMgb2YgYW55IG51bWJlciBvZiBiaXRzIGxlc3MgdGhhbiAyXjY0LCB0aGlzCisrICogICAgICBpbXBsZW1lbnRhdGlvbiBvbmx5IHdvcmtzIHdpdGggbWVzc2FnZXMgd2l0aCBhIGxlbmd0aCB0aGF0IGlzCisrICogICAgICBhIG11bHRpcGxlIG9mIHRoZSBzaXplIG9mIGFuIDgtYml0IGNoYXJhY3Rlci4KKysgKgorKyAqLworKworKyNpbmNsdWRlICJzaGExLmgiCisrCisrLyoKKysgKiAgRGVmaW5lIHRoZSBTSEExIGNpcmN1bGFyIGxlZnQgc2hpZnQgbWFjcm8KKysgKi8KKysjZGVmaW5lIFNIQTFDaXJjdWxhclNoaWZ0KGJpdHMsd29yZCkgXAorKyAgICAgICAgICAgICAgICAoKCh3b3JkKSA8PCAoYml0cykpIHwgKCh3b3JkKSA+PiAoMzItKGJpdHMpKSkpCisrCisrLyogTG9jYWwgRnVuY3Rpb24gUHJvdG90eXB0ZXMgKi8KKyt2b2lkIFNIQTFQYWRNZXNzYWdlKFNIQTFDb250ZXh0ICopOworK3ZvaWQgU0hBMVByb2Nlc3NNZXNzYWdlQmxvY2soU0hBMUNvbnRleHQgKik7CisrCisrLyoKKysgKiAgU0hBMVJlc2V0CisrICoKKysgKiAgRGVzY3JpcHRpb246CisrICogICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgaW5pdGlhbGl6ZSB0aGUgU0hBMUNvbnRleHQgaW4gcHJlcGFyYXRpb24KKysgKiAgICAgIGZvciBjb21wdXRpbmcgYSBuZXcgU0hBMSBtZXNzYWdlIGRpZ2VzdC4KKysgKgorKyAqICBQYXJhbWV0ZXJzOgorKyAqICAgICAgY29udGV4dDogW2luL291dF0KKysgKiAgICAgICAgICBUaGUgY29udGV4dCB0byByZXNldC4KKysgKgorKyAqICBSZXR1cm5zOgorKyAqICAgICAgc2hhIEVycm9yIENvZGUuCisrICoKKysgKi8KKytpbnQgU0hBMVJlc2V0KFNIQTFDb250ZXh0ICpjb250ZXh0KQorK3sKKysgICAgaWYgKCFjb250ZXh0KQorKyAgICB7CisrICAgICAgICByZXR1cm4gc2hhTnVsbDsKKysgICAgfQorKworKyAgICBjb250ZXh0LT5MZW5ndGhfTG93ICAgICAgICAgICAgID0gMDsKKysgICAgY29udGV4dC0+TGVuZ3RoX0hpZ2ggICAgICAgICAgICA9IDA7CisrICAgIGNvbnRleHQtPk1lc3NhZ2VfQmxvY2tfSW5kZXggICAgPSAwOworKworKyAgICBjb250ZXh0LT5JbnRlcm1lZGlhdGVfSGFzaFswXSAgID0gMHg2NzQ1MjMwMTsKKysgICAgY29udGV4dC0+SW50ZXJtZWRpYXRlX0hhc2hbMV0gICA9IDB4RUZDREFCODk7CisrICAgIGNvbnRleHQtPkludGVybWVkaWF0ZV9IYXNoWzJdICAgPSAweDk4QkFEQ0ZFOworKyAgICBjb250ZXh0LT5JbnRlcm1lZGlhdGVfSGFzaFszXSAgID0gMHgxMDMyNTQ3NjsKKysgICAgY29udGV4dC0+SW50ZXJtZWRpYXRlX0hhc2hbNF0gICA9IDB4QzNEMkUxRjA7CisrCisrICAgIGNvbnRleHQtPkNvbXB1dGVkICAgPSAwOworKyAgICBjb250ZXh0LT5Db3JydXB0ZWQgID0gMDsKKysgICAgcmV0dXJuIHNoYVN1Y2Nlc3M7CisrfQorKworKy8qCisrICogIFNIQTFSZXN1bHQKKysgKgorKyAqICBEZXNjcmlwdGlvbjoKKysgKiAgICAgIFRoaXMgZnVuY3Rpb24gd2lsbCByZXR1cm4gdGhlIDE2MC1iaXQgbWVzc2FnZSBkaWdlc3QgaW50byB0aGUKKysgKiAgICAgIE1lc3NhZ2VfRGlnZXN0IGFycmF5ICBwcm92aWRlZCBieSB0aGUgY2FsbGVyLgorKyAqICAgICAgTk9URTogVGhlIGZpcnN0IG9jdGV0IG9mIGhhc2ggaXMgc3RvcmVkIGluIHRoZSAwdGggZWxlbWVudCwKKysgKiAgICAgICAgICAgIHRoZSBsYXN0IG9jdGV0IG9mIGhhc2ggaW4gdGhlIDE5dGggZWxlbWVudC4KKysgKgorKyAqICBQYXJhbWV0ZXJzOgorKyAqICAgICAgY29udGV4dDogW2luL291dF0KKysgKiAgICAgICAgICBUaGUgY29udGV4dCB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBTSEEtMSBoYXNoLgorKyAqICAgICAgTWVzc2FnZV9EaWdlc3Q6IFtvdXRdCisrICogICAgICAgICAgV2hlcmUgdGhlIGRpZ2VzdCBpcyByZXR1cm5lZC4KKysgKgorKyAqICBSZXR1cm5zOgorKyAqICAgICAgc2hhIEVycm9yIENvZGUuCisrICoKKysgKi8KKytpbnQgU0hBMVJlc3VsdCggU0hBMUNvbnRleHQgKmNvbnRleHQsCisrICAgICAgICAgICAgICAgIHVpbnQ4X3QgTWVzc2FnZV9EaWdlc3RbU0hBMUhhc2hTaXplXSkKKyt7CisrICAgIGludCBpOworKworKyAgICBpZiAoIWNvbnRleHQgfHwgIU1lc3NhZ2VfRGlnZXN0KQorKyAgICB7CisrICAgICAgICByZXR1cm4gc2hhTnVsbDsKKysgICAgfQorKworKyAgICBpZiAoY29udGV4dC0+Q29ycnVwdGVkKQorKyAgICB7CisrICAgICAgICByZXR1cm4gY29udGV4dC0+Q29ycnVwdGVkOworKyAgICB9CisrCisrICAgIGlmICghY29udGV4dC0+Q29tcHV0ZWQpCisrICAgIHsKKysgICAgICAgIFNIQTFQYWRNZXNzYWdlKGNvbnRleHQpOworKyAgICAgICAgZm9yKGk9MDsgaTw2NDsgKytpKQorKyAgICAgICAgeworKyAgICAgICAgICAgIC8qIG1lc3NhZ2UgbWF5IGJlIHNlbnNpdGl2ZSwgY2xlYXIgaXQgb3V0ICovCisrICAgICAgICAgICAgY29udGV4dC0+TWVzc2FnZV9CbG9ja1tpXSA9IDA7CisrICAgICAgICB9CisrICAgICAgICBjb250ZXh0LT5MZW5ndGhfTG93ID0gMDsgICAgLyogYW5kIGNsZWFyIGxlbmd0aCAqLworKyAgICAgICAgY29udGV4dC0+TGVuZ3RoX0hpZ2ggPSAwOworKyAgICAgICAgY29udGV4dC0+Q29tcHV0ZWQgPSAxOworKyAgICB9CisrCisrICAgIGZvcihpID0gMDsgaSA8IFNIQTFIYXNoU2l6ZTsgKytpKQorKyAgICB7CisrICAgICAgICBNZXNzYWdlX0RpZ2VzdFtpXSA9IGNvbnRleHQtPkludGVybWVkaWF0ZV9IYXNoW2k+PjJdCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgID4+IDggKiAoIDMgLSAoIGkgJiAweDAzICkgKTsKKysgICAgfQorKworKyAgICByZXR1cm4gc2hhU3VjY2VzczsKKyt9CisrCisrLyoKKysgKiAgU0hBMUlucHV0CisrICoKKysgKiAgRGVzY3JpcHRpb246CisrICogICAgICBUaGlzIGZ1bmN0aW9uIGFjY2VwdHMgYW4gYXJyYXkgb2Ygb2N0ZXRzIGFzIHRoZSBuZXh0IHBvcnRpb24KKysgKiAgICAgIG9mIHRoZSBtZXNzYWdlLgorKyAqCisrICogIFBhcmFtZXRlcnM6CisrICogICAgICBjb250ZXh0OiBbaW4vb3V0XQorKyAqICAgICAgICAgIFRoZSBTSEEgY29udGV4dCB0byB1cGRhdGUKKysgKiAgICAgIG1lc3NhZ2VfYXJyYXk6IFtpbl0KKysgKiAgICAgICAgICBBbiBhcnJheSBvZiBjaGFyYWN0ZXJzIHJlcHJlc2VudGluZyB0aGUgbmV4dCBwb3J0aW9uIG9mCisrICogICAgICAgICAgdGhlIG1lc3NhZ2UuCisrICogICAgICBsZW5ndGg6IFtpbl0KKysgKiAgICAgICAgICBUaGUgbGVuZ3RoIG9mIHRoZSBtZXNzYWdlIGluIG1lc3NhZ2VfYXJyYXkKKysgKgorKyAqICBSZXR1cm5zOgorKyAqICAgICAgc2hhIEVycm9yIENvZGUuCisrICoKKysgKi8KKytpbnQgU0hBMUlucHV0KCAgICBTSEExQ29udGV4dCAgICAqY29udGV4dCwKKysgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICAqbWVzc2FnZV9hcnJheSwKKysgICAgICAgICAgICAgICAgICB1bnNpZ25lZCAgICAgICBsZW5ndGgpCisreworKyAgICBpZiAoIWxlbmd0aCkKKysgICAgeworKyAgICAgICAgcmV0dXJuIHNoYVN1Y2Nlc3M7CisrICAgIH0KKysKKysgICAgaWYgKCFjb250ZXh0IHx8ICFtZXNzYWdlX2FycmF5KQorKyAgICB7CisrICAgICAgICByZXR1cm4gc2hhTnVsbDsKKysgICAgfQorKworKyAgICBpZiAoY29udGV4dC0+Q29tcHV0ZWQpCisrICAgIHsKKysgICAgICAgIGNvbnRleHQtPkNvcnJ1cHRlZCA9IHNoYVN0YXRlRXJyb3I7CisrICAgICAgICByZXR1cm4gc2hhU3RhdGVFcnJvcjsKKysgICAgfQorKworKyAgICBpZiAoY29udGV4dC0+Q29ycnVwdGVkKQorKyAgICB7CisrICAgICAgICAgcmV0dXJuIGNvbnRleHQtPkNvcnJ1cHRlZDsKKysgICAgfQorKyAgICB3aGlsZShsZW5ndGgtLSAmJiAhY29udGV4dC0+Q29ycnVwdGVkKQorKyAgICB7CisrICAgIGNvbnRleHQtPk1lc3NhZ2VfQmxvY2tbY29udGV4dC0+TWVzc2FnZV9CbG9ja19JbmRleCsrXSA9CisrICAgICAgICAgICAgICAgICAgICAoKm1lc3NhZ2VfYXJyYXkgJiAweEZGKTsKKysKKysgICAgY29udGV4dC0+TGVuZ3RoX0xvdyArPSA4OworKyAgICBpZiAoY29udGV4dC0+TGVuZ3RoX0xvdyA9PSAwKQorKyAgICB7CisrICAgICAgICBjb250ZXh0LT5MZW5ndGhfSGlnaCsrOworKyAgICAgICAgaWYgKGNvbnRleHQtPkxlbmd0aF9IaWdoID09IDApCisrICAgICAgICB7CisrICAgICAgICAgICAgLyogTWVzc2FnZSBpcyB0b28gbG9uZyAqLworKyAgICAgICAgICAgIGNvbnRleHQtPkNvcnJ1cHRlZCA9IDE7CisrICAgICAgICB9CisrICAgIH0KKysKKysgICAgaWYgKGNvbnRleHQtPk1lc3NhZ2VfQmxvY2tfSW5kZXggPT0gNjQpCisrICAgIHsKKysgICAgICAgIFNIQTFQcm9jZXNzTWVzc2FnZUJsb2NrKGNvbnRleHQpOworKyAgICB9CisrCisrICAgIG1lc3NhZ2VfYXJyYXkrKzsKKysgICAgfQorKworKyAgICByZXR1cm4gc2hhU3VjY2VzczsKKyt9CisrCisrLyoKKysgKiAgU0hBMVByb2Nlc3NNZXNzYWdlQmxvY2sKKysgKgorKyAqICBEZXNjcmlwdGlvbjoKKysgKiAgICAgIFRoaXMgZnVuY3Rpb24gd2lsbCBwcm9jZXNzIHRoZSBuZXh0IDUxMiBiaXRzIG9mIHRoZSBtZXNzYWdlCisrICogICAgICBzdG9yZWQgaW4gdGhlIE1lc3NhZ2VfQmxvY2sgYXJyYXkuCisrICoKKysgKiAgUGFyYW1ldGVyczoKKysgKiAgICAgIE5vbmUuCisrICoKKysgKiAgUmV0dXJuczoKKysgKiAgICAgIE5vdGhpbmcuCisrICoKKysgKiAgQ29tbWVudHM6CisrICogICAgICBNYW55IG9mIHRoZSB2YXJpYWJsZSBuYW1lcyBpbiB0aGlzIGNvZGUsIGVzcGVjaWFsbHkgdGhlCisrICogICAgICBzaW5nbGUgY2hhcmFjdGVyIG5hbWVzLCB3ZXJlIHVzZWQgYmVjYXVzZSB0aG9zZSB3ZXJlIHRoZQorKyAqICAgICAgbmFtZXMgdXNlZCBpbiB0aGUgcHVibGljYXRpb24uCisrICoKKysgKgorKyAqLworK3ZvaWQgU0hBMVByb2Nlc3NNZXNzYWdlQmxvY2soU0hBMUNvbnRleHQgKmNvbnRleHQpCisreworKyAgICBjb25zdCB1aW50MzJfdCBLW10gPSAgICB7ICAgICAgIC8qIENvbnN0YW50cyBkZWZpbmVkIGluIFNIQS0xICAgKi8KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg1QTgyNzk5OSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2RUQ5RUJBMSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4RjFCQkNEQywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhDQTYyQzFENgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9OworKyAgICBpbnQgICAgICAgICAgIHQ7ICAgICAgICAgICAgICAgICAvKiBMb29wIGNvdW50ZXIgICAgICAgICAgICAgICAgKi8KKysgICAgdWludDMyX3QgICAgICB0ZW1wOyAgICAgICAgICAgICAgLyogVGVtcG9yYXJ5IHdvcmQgdmFsdWUgICAgICAgICovCisrICAgIHVpbnQzMl90ICAgICAgV1s4MF07ICAgICAgICAgICAgIC8qIFdvcmQgc2VxdWVuY2UgICAgICAgICAgICAgICAqLworKyAgICB1aW50MzJfdCAgICAgIEEsIEIsIEMsIEQsIEU7ICAgICAvKiBXb3JkIGJ1ZmZlcnMgICAgICAgICAgICAgICAgKi8KKysKKysgICAgLyoKKysgICAgICogIEluaXRpYWxpemUgdGhlIGZpcnN0IDE2IHdvcmRzIGluIHRoZSBhcnJheSBXCisrICAgICAqLworKyAgICBmb3IodCA9IDA7IHQgPCAxNjsgdCsrKQorKyAgICB7CisrICAgICAgICBXW3RdID0gY29udGV4dC0+TWVzc2FnZV9CbG9ja1t0ICogNF0gPDwgMjQ7CisrICAgICAgICBXW3RdIHw9IGNvbnRleHQtPk1lc3NhZ2VfQmxvY2tbdCAqIDQgKyAxXSA8PCAxNjsKKysgICAgICAgIFdbdF0gfD0gY29udGV4dC0+TWVzc2FnZV9CbG9ja1t0ICogNCArIDJdIDw8IDg7CisrICAgICAgICBXW3RdIHw9IGNvbnRleHQtPk1lc3NhZ2VfQmxvY2tbdCAqIDQgKyAzXTsKKysgICAgfQorKworKyAgICBmb3IodCA9IDE2OyB0IDwgODA7IHQrKykKKysgICAgeworKyAgICAgICBXW3RdID0gU0hBMUNpcmN1bGFyU2hpZnQoMSxXW3QtM10gXiBXW3QtOF0gXiBXW3QtMTRdIF4gV1t0LTE2XSk7CisrICAgIH0KKysKKysgICAgQSA9IGNvbnRleHQtPkludGVybWVkaWF0ZV9IYXNoWzBdOworKyAgICBCID0gY29udGV4dC0+SW50ZXJtZWRpYXRlX0hhc2hbMV07CisrICAgIEMgPSBjb250ZXh0LT5JbnRlcm1lZGlhdGVfSGFzaFsyXTsKKysgICAgRCA9IGNvbnRleHQtPkludGVybWVkaWF0ZV9IYXNoWzNdOworKyAgICBFID0gY29udGV4dC0+SW50ZXJtZWRpYXRlX0hhc2hbNF07CisrCisrICAgIGZvcih0ID0gMDsgdCA8IDIwOyB0KyspCisrICAgIHsKKysgICAgICAgIHRlbXAgPSAgU0hBMUNpcmN1bGFyU2hpZnQoNSxBKSArCisrICAgICAgICAgICAgICAgICgoQiAmIEMpIHwgKCh+QikgJiBEKSkgKyBFICsgV1t0XSArIEtbMF07CisrICAgICAgICBFID0gRDsKKysgICAgICAgIEQgPSBDOworKyAgICAgICAgQyA9IFNIQTFDaXJjdWxhclNoaWZ0KDMwLEIpOworKyAgICAgICAgQiA9IEE7CisrICAgICAgICBBID0gdGVtcDsKKysgICAgfQorKworKyAgICBmb3IodCA9IDIwOyB0IDwgNDA7IHQrKykKKysgICAgeworKyAgICAgICAgdGVtcCA9IFNIQTFDaXJjdWxhclNoaWZ0KDUsQSkgKyAoQiBeIEMgXiBEKSArIEUgKyBXW3RdICsgS1sxXTsKKysgICAgICAgIEUgPSBEOworKyAgICAgICAgRCA9IEM7CisrICAgICAgICBDID0gU0hBMUNpcmN1bGFyU2hpZnQoMzAsQik7CisrICAgICAgICBCID0gQTsKKysgICAgICAgIEEgPSB0ZW1wOworKyAgICB9CisrCisrICAgIGZvcih0ID0gNDA7IHQgPCA2MDsgdCsrKQorKyAgICB7CisrICAgICAgICB0ZW1wID0gU0hBMUNpcmN1bGFyU2hpZnQoNSxBKSArCisrICAgICAgICAgICAgICAgKChCICYgQykgfCAoQiAmIEQpIHwgKEMgJiBEKSkgKyBFICsgV1t0XSArIEtbMl07CisrICAgICAgICBFID0gRDsKKysgICAgICAgIEQgPSBDOworKyAgICAgICAgQyA9IFNIQTFDaXJjdWxhclNoaWZ0KDMwLEIpOworKyAgICAgICAgQiA9IEE7CisrICAgICAgICBBID0gdGVtcDsKKysgICAgfQorKworKyAgICBmb3IodCA9IDYwOyB0IDwgODA7IHQrKykKKysgICAgeworKyAgICAgICAgdGVtcCA9IFNIQTFDaXJjdWxhclNoaWZ0KDUsQSkgKyAoQiBeIEMgXiBEKSArIEUgKyBXW3RdICsgS1szXTsKKysgICAgICAgIEUgPSBEOworKyAgICAgICAgRCA9IEM7CisrICAgICAgICBDID0gU0hBMUNpcmN1bGFyU2hpZnQoMzAsQik7CisrICAgICAgICBCID0gQTsKKysgICAgICAgIEEgPSB0ZW1wOworKyAgICB9CisrCisrICAgIGNvbnRleHQtPkludGVybWVkaWF0ZV9IYXNoWzBdICs9IEE7CisrICAgIGNvbnRleHQtPkludGVybWVkaWF0ZV9IYXNoWzFdICs9IEI7CisrICAgIGNvbnRleHQtPkludGVybWVkaWF0ZV9IYXNoWzJdICs9IEM7CisrICAgIGNvbnRleHQtPkludGVybWVkaWF0ZV9IYXNoWzNdICs9IEQ7CisrICAgIGNvbnRleHQtPkludGVybWVkaWF0ZV9IYXNoWzRdICs9IEU7CisrCisrICAgIGNvbnRleHQtPk1lc3NhZ2VfQmxvY2tfSW5kZXggPSAwOworK30KKysKKysKKysvKgorKyAqICBTSEExUGFkTWVzc2FnZQorKyAqCisrICogIERlc2NyaXB0aW9uOgorKyAqICAgICAgQWNjb3JkaW5nIHRvIHRoZSBzdGFuZGFyZCwgdGhlIG1lc3NhZ2UgbXVzdCBiZSBwYWRkZWQgdG8gYW4gZXZlbgorKyAqICAgICAgNTEyIGJpdHMuICBUaGUgZmlyc3QgcGFkZGluZyBiaXQgbXVzdCBiZSBhICcxJy4gIFRoZSBsYXN0IDY0CisrICogICAgICBiaXRzIHJlcHJlc2VudCB0aGUgbGVuZ3RoIG9mIHRoZSBvcmlnaW5hbCBtZXNzYWdlLiAgQWxsIGJpdHMgaW4KKysgKiAgICAgIGJldHdlZW4gc2hvdWxkIGJlIDAuICBUaGlzIGZ1bmN0aW9uIHdpbGwgcGFkIHRoZSBtZXNzYWdlCisrICogICAgICBhY2NvcmRpbmcgdG8gdGhvc2UgcnVsZXMgYnkgZmlsbGluZyB0aGUgTWVzc2FnZV9CbG9jayBhcnJheQorKyAqICAgICAgYWNjb3JkaW5nbHkuICBJdCB3aWxsIGFsc28gY2FsbCB0aGUgUHJvY2Vzc01lc3NhZ2VCbG9jayBmdW5jdGlvbgorKyAqICAgICAgcHJvdmlkZWQgYXBwcm9wcmlhdGVseS4gIFdoZW4gaXQgcmV0dXJucywgaXQgY2FuIGJlIGFzc3VtZWQgdGhhdAorKyAqICAgICAgdGhlIG1lc3NhZ2UgZGlnZXN0IGhhcyBiZWVuIGNvbXB1dGVkLgorKyAqCisrICogIFBhcmFtZXRlcnM6CisrICogICAgICBjb250ZXh0OiBbaW4vb3V0XQorKyAqICAgICAgICAgIFRoZSBjb250ZXh0IHRvIHBhZAorKyAqICAgICAgUHJvY2Vzc01lc3NhZ2VCbG9jazogW2luXQorKyAqICAgICAgICAgIFRoZSBhcHByb3ByaWF0ZSBTSEEqUHJvY2Vzc01lc3NhZ2VCbG9jayBmdW5jdGlvbgorKyAqICBSZXR1cm5zOgorKyAqICAgICAgTm90aGluZy4KKysgKgorKyAqLworKworK3ZvaWQgU0hBMVBhZE1lc3NhZ2UoU0hBMUNvbnRleHQgKmNvbnRleHQpCisreworKyAgICAvKgorKyAgICAgKiAgQ2hlY2sgdG8gc2VlIGlmIHRoZSBjdXJyZW50IG1lc3NhZ2UgYmxvY2sgaXMgdG9vIHNtYWxsIHRvIGhvbGQKKysgICAgICogIHRoZSBpbml0aWFsIHBhZGRpbmcgYml0cyBhbmQgbGVuZ3RoLiAgSWYgc28sIHdlIHdpbGwgcGFkIHRoZQorKyAgICAgKiAgYmxvY2ssIHByb2Nlc3MgaXQsIGFuZCB0aGVuIGNvbnRpbnVlIHBhZGRpbmcgaW50byBhIHNlY29uZAorKyAgICAgKiAgYmxvY2suCisrICAgICAqLworKyAgICBpZiAoY29udGV4dC0+TWVzc2FnZV9CbG9ja19JbmRleCA+IDU1KQorKyAgICB7CisrICAgICAgICBjb250ZXh0LT5NZXNzYWdlX0Jsb2NrW2NvbnRleHQtPk1lc3NhZ2VfQmxvY2tfSW5kZXgrK10gPSAweDgwOworKyAgICAgICAgd2hpbGUoY29udGV4dC0+TWVzc2FnZV9CbG9ja19JbmRleCA8IDY0KQorKyAgICAgICAgeworKyAgICAgICAgICAgIGNvbnRleHQtPk1lc3NhZ2VfQmxvY2tbY29udGV4dC0+TWVzc2FnZV9CbG9ja19JbmRleCsrXSA9IDA7CisrICAgICAgICB9CisrCisrICAgICAgICBTSEExUHJvY2Vzc01lc3NhZ2VCbG9jayhjb250ZXh0KTsKKysKKysgICAgICAgIHdoaWxlKGNvbnRleHQtPk1lc3NhZ2VfQmxvY2tfSW5kZXggPCA1NikKKysgICAgICAgIHsKKysgICAgICAgICAgICBjb250ZXh0LT5NZXNzYWdlX0Jsb2NrW2NvbnRleHQtPk1lc3NhZ2VfQmxvY2tfSW5kZXgrK10gPSAwOworKyAgICAgICAgfQorKyAgICB9CisrICAgIGVsc2UKKysgICAgeworKyAgICAgICAgY29udGV4dC0+TWVzc2FnZV9CbG9ja1tjb250ZXh0LT5NZXNzYWdlX0Jsb2NrX0luZGV4KytdID0gMHg4MDsKKysgICAgICAgIHdoaWxlKGNvbnRleHQtPk1lc3NhZ2VfQmxvY2tfSW5kZXggPCA1NikKKysgICAgICAgIHsKKysgICAgICAgICAgICBjb250ZXh0LT5NZXNzYWdlX0Jsb2NrW2NvbnRleHQtPk1lc3NhZ2VfQmxvY2tfSW5kZXgrK10gPSAwOworKyAgICAgICAgfQorKyAgICB9CisrCisrICAgIC8qCisrICAgICAqICBTdG9yZSB0aGUgbWVzc2FnZSBsZW5ndGggYXMgdGhlIGxhc3QgOCBvY3RldHMKKysgICAgICovCisrICAgIGNvbnRleHQtPk1lc3NhZ2VfQmxvY2tbNTZdID0gY29udGV4dC0+TGVuZ3RoX0hpZ2ggPj4gMjQ7CisrICAgIGNvbnRleHQtPk1lc3NhZ2VfQmxvY2tbNTddID0gY29udGV4dC0+TGVuZ3RoX0hpZ2ggPj4gMTY7CisrICAgIGNvbnRleHQtPk1lc3NhZ2VfQmxvY2tbNThdID0gY29udGV4dC0+TGVuZ3RoX0hpZ2ggPj4gODsKKysgICAgY29udGV4dC0+TWVzc2FnZV9CbG9ja1s1OV0gPSBjb250ZXh0LT5MZW5ndGhfSGlnaDsKKysgICAgY29udGV4dC0+TWVzc2FnZV9CbG9ja1s2MF0gPSBjb250ZXh0LT5MZW5ndGhfTG93ID4+IDI0OworKyAgICBjb250ZXh0LT5NZXNzYWdlX0Jsb2NrWzYxXSA9IGNvbnRleHQtPkxlbmd0aF9Mb3cgPj4gMTY7CisrICAgIGNvbnRleHQtPk1lc3NhZ2VfQmxvY2tbNjJdID0gY29udGV4dC0+TGVuZ3RoX0xvdyA+PiA4OworKyAgICBjb250ZXh0LT5NZXNzYWdlX0Jsb2NrWzYzXSA9IGNvbnRleHQtPkxlbmd0aF9Mb3c7CisrCisrICAgIFNIQTFQcm9jZXNzTWVzc2FnZUJsb2NrKGNvbnRleHQpOworK30KK2RpZmYgLS1naXQgYS9jb21tb24vc2hhMS5oIGIvY29tbW9uL3NoYTEuaAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjFkNDliMWIKKy0tLSAvZGV2L251bGwKKysrKyBiL2NvbW1vbi9zaGExLmgKK0BAIC0wLDAgKzEsMTAxIEBACisrLyoKKysgKiBDb3B5cmlnaHQgKEMpIFRoZSBJbnRlcm5ldCBTb2NpZXR5ICgyMDAxKS4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisrICoKKysgKiBUaGlzIGRvY3VtZW50IGFuZCB0cmFuc2xhdGlvbnMgb2YgaXQgbWF5IGJlIGNvcGllZCBhbmQgZnVybmlzaGVkIHRvCisrICogb3RoZXJzLCBhbmQgZGVyaXZhdGl2ZSB3b3JrcyB0aGF0IGNvbW1lbnQgb24gb3Igb3RoZXJ3aXNlIGV4cGxhaW4gaXQKKysgKiBvciBhc3Npc3QgaW4gaXRzIGltcGxlbWVudGF0aW9uIG1heSBiZSBwcmVwYXJlZCwgY29waWVkLCBwdWJsaXNoZWQKKysgKiBhbmQgZGlzdHJpYnV0ZWQsIGluIHdob2xlIG9yIGluIHBhcnQsIHdpdGhvdXQgcmVzdHJpY3Rpb24gb2YgYW55CisrICoga2luZCwgcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwYXJhZ3JhcGggYXJlCisrICogaW5jbHVkZWQgb24gYWxsIHN1Y2ggY29waWVzIGFuZCBkZXJpdmF0aXZlIHdvcmtzLiAgSG93ZXZlciwgdGhpcworKyAqIGRvY3VtZW50IGl0c2VsZiBtYXkgbm90IGJlIG1vZGlmaWVkIGluIGFueSB3YXksIHN1Y2ggYXMgYnkgcmVtb3ZpbmcKKysgKiB0aGUgY29weXJpZ2h0IG5vdGljZSBvciByZWZlcmVuY2VzIHRvIHRoZSBJbnRlcm5ldCBTb2NpZXR5IG9yIG90aGVyCisrICogSW50ZXJuZXQgb3JnYW5pemF0aW9ucywgZXhjZXB0IGFzIG5lZWRlZCBmb3IgdGhlIHB1cnBvc2Ugb2YKKysgKiBkZXZlbG9waW5nIEludGVybmV0IHN0YW5kYXJkcyBpbiB3aGljaCBjYXNlIHRoZSBwcm9jZWR1cmVzIGZvcgorKyAqIGNvcHlyaWdodHMgZGVmaW5lZCBpbiB0aGUgSW50ZXJuZXQgU3RhbmRhcmRzIHByb2Nlc3MgbXVzdCBiZQorKyAqIGZvbGxvd2VkLCBvciBhcyByZXF1aXJlZCB0byB0cmFuc2xhdGUgaXQgaW50byBsYW5ndWFnZXMgb3RoZXIgdGhhbgorKyAqIEVuZ2xpc2guCisrICoKKysgKiBUaGUgbGltaXRlZCBwZXJtaXNzaW9ucyBncmFudGVkIGFib3ZlIGFyZSBwZXJwZXR1YWwgYW5kIHdpbGwgbm90IGJlCisrICogcmV2b2tlZCBieSB0aGUgSW50ZXJuZXQgU29jaWV0eSBvciBpdHMgc3VjY2Vzc29ycyBvciBhc3NpZ25zLgorKyAqCisrICogVGhpcyBkb2N1bWVudCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBoZXJlaW4gaXMgcHJvdmlkZWQgb24gYW4KKysgKiAiQVMgSVMiIGJhc2lzIGFuZCBUSEUgSU5URVJORVQgU09DSUVUWSBBTkQgVEhFIElOVEVSTkVUIEVOR0lORUVSSU5HCisrICogVEFTSyBGT1JDRSBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMsIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HCisrICogQlVUIE5PVCBMSU1JVEVEIFRPIEFOWSBXQVJSQU5UWSBUSEFUIFRIRSBVU0UgT0YgVEhFIElORk9STUFUSU9OCisrICogSEVSRUlOIFdJTEwgTk9UIElORlJJTkdFIEFOWSBSSUdIVFMgT1IgQU5ZIElNUExJRUQgV0FSUkFOVElFUyBPRgorKyAqIE1FUkNIQU5UQUJJTElUWSBPUiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KKysgKi8KKysKKysvKgorKyAqICBzaGExLmgKKysgKgorKyAqICBEZXNjcmlwdGlvbjoKKysgKiAgICAgIFRoaXMgaXMgdGhlIGhlYWRlciBmaWxlIGZvciBjb2RlIHdoaWNoIGltcGxlbWVudHMgdGhlIFNlY3VyZQorKyAqICAgICAgSGFzaGluZyBBbGdvcml0aG0gMSBhcyBkZWZpbmVkIGluIEZJUFMgUFVCIDE4MC0xIHB1Ymxpc2hlZAorKyAqICAgICAgQXByaWwgMTcsIDE5OTUuCisrICoKKysgKiAgICAgIE1hbnkgb2YgdGhlIHZhcmlhYmxlIG5hbWVzIGluIHRoaXMgY29kZSwgZXNwZWNpYWxseSB0aGUKKysgKiAgICAgIHNpbmdsZSBjaGFyYWN0ZXIgbmFtZXMsIHdlcmUgdXNlZCBiZWNhdXNlIHRob3NlIHdlcmUgdGhlIG5hbWVzCisrICogICAgICB1c2VkIGluIHRoZSBwdWJsaWNhdGlvbi4KKysgKgorKyAqICAgICAgUGxlYXNlIHJlYWQgdGhlIGZpbGUgc2hhMS5jIGZvciBtb3JlIGluZm9ybWF0aW9uLgorKyAqCisrICovCisrCisrCisrI2lmbmRlZiBfU0hBMV9IXworKyNkZWZpbmUgX1NIQTFfSF8KKysKKysjaW5jbHVkZSA8c3RkaW50Lmg+CisrLyoKKysgKiBJZiB5b3UgZG8gbm90IGhhdmUgdGhlIElTTyBzdGFuZGFyZCBzdGRpbnQuaCBoZWFkZXIgZmlsZSwgdGhlbiB5b3UKKysgKiBtdXN0IHR5cGRlZiB0aGUgZm9sbG93aW5nOgorKyAqICAgIG5hbWUgICAgICAgICAgICAgIG1lYW5pbmcKKysgKiAgdWludDMyX3QgICAgICAgICB1bnNpZ25lZCAzMiBiaXQgaW50ZWdlcgorKyAqICB1aW50OF90ICAgICAgICAgIHVuc2lnbmVkIDggYml0IGludGVnZXIgKGkuZS4sIHVuc2lnbmVkIGNoYXIpCisrICogIGludF9sZWFzdDE2X3QgICAgaW50ZWdlciBvZiA+PSAxNiBiaXRzCisrICoKKysgKi8KKysKKysjaWZuZGVmIF9TSEFfZW51bV8KKysjZGVmaW5lIF9TSEFfZW51bV8KKytlbnVtCisreworKyAgICBzaGFTdWNjZXNzID0gMCwKKysgICAgc2hhTnVsbCwgICAgICAgICAgICAvKiBOdWxsIHBvaW50ZXIgcGFyYW1ldGVyICovCisrICAgIHNoYUlucHV0VG9vTG9uZywgICAgLyogaW5wdXQgZGF0YSB0b28gbG9uZyAqLworKyAgICBzaGFTdGF0ZUVycm9yICAgICAgIC8qIGNhbGxlZCBJbnB1dCBhZnRlciBSZXN1bHQgKi8KKyt9OworKyNlbmRpZgorKyNkZWZpbmUgU0hBMUhhc2hTaXplIDIwCisrCisrLyoKKysgKiAgVGhpcyBzdHJ1Y3R1cmUgd2lsbCBob2xkIGNvbnRleHQgaW5mb3JtYXRpb24gZm9yIHRoZSBTSEEtMQorKyAqICBoYXNoaW5nIG9wZXJhdGlvbgorKyAqLworK3R5cGVkZWYgc3RydWN0IFNIQTFDb250ZXh0CisreworKyAgICB1aW50MzJfdCBJbnRlcm1lZGlhdGVfSGFzaFtTSEExSGFzaFNpemUvNF07IC8qIE1lc3NhZ2UgRGlnZXN0ICAqLworKworKyAgICB1aW50MzJfdCBMZW5ndGhfTG93OyAgICAgICAgICAgIC8qIE1lc3NhZ2UgbGVuZ3RoIGluIGJpdHMgICAgICAqLworKyAgICB1aW50MzJfdCBMZW5ndGhfSGlnaDsgICAgICAgICAgIC8qIE1lc3NhZ2UgbGVuZ3RoIGluIGJpdHMgICAgICAqLworKworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBJbmRleCBpbnRvIG1lc3NhZ2UgYmxvY2sgYXJyYXkgICAqLworKyAgICBpbnRfbGVhc3QxNl90IE1lc3NhZ2VfQmxvY2tfSW5kZXg7CisrICAgIHVpbnQ4X3QgTWVzc2FnZV9CbG9ja1s2NF07ICAgICAgLyogNTEyLWJpdCBtZXNzYWdlIGJsb2NrcyAgICAgICovCisrCisrICAgIGludCBDb21wdXRlZDsgICAgICAgICAgICAgICAvKiBJcyB0aGUgZGlnZXN0IGNvbXB1dGVkPyAgICAgICAgICovCisrICAgIGludCBDb3JydXB0ZWQ7ICAgICAgICAgICAgIC8qIElzIHRoZSBtZXNzYWdlIGRpZ2VzdCBjb3JydXB0ZWQ/ICovCisrfSBTSEExQ29udGV4dDsKKysKKysvKgorKyAqICBGdW5jdGlvbiBQcm90b3R5cGVzCisrICovCisraW50IFNIQTFSZXNldCggIFNIQTFDb250ZXh0ICopOworK2ludCBTSEExSW5wdXQoICBTSEExQ29udGV4dCAqLAorKyAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICosCisrICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCk7CisraW50IFNIQTFSZXN1bHQoIFNIQTFDb250ZXh0ICosCisrICAgICAgICAgICAgICAgIHVpbnQ4X3QgTWVzc2FnZV9EaWdlc3RbU0hBMUhhc2hTaXplXSk7CisrCisrI2VuZGlmCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJ2bmNzZXJ2ZXIvbGlidm5jc2VydmVyXzAuOS4xMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xpYnZuY3NlcnZlci9saWJ2bmNzZXJ2ZXJfMC45LjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzNWIxN2UKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJ2bmNzZXJ2ZXIvbGlidm5jc2VydmVyXzAuOS4xMC5iYgpAQCAtMCwwICsxLDI0IEBACitERVNDUklQVElPTiA9ICJsaWJyYXJ5IGZvciBlYXN5IGltcGxlbWVudGF0aW9uIG9mIGEgUkRQL1ZOQyBzZXJ2ZXIiCitIT01FUEFHRSA9ICJodHRwczovL2xpYnZuYy5naXRodWIuaW8iCitTRUNUSU9OID0gImxpYnMiCitQUklPUklUWSA9ICJvcHRpb25hbCIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zNjFiNmI4MzdjYWQyNmM2OTAwYTkyNmI2MmFhZGE1ZiIKKworREVQRU5EUyArPSAiemxpYiBsaWJzZGwganBlZyBsaWJwbmcgZ3RrKyBsaWJnY3J5cHQgbmV0dGxlIGdudXRscyBnbXAiCitSREVQRU5EU18ke1BOfSArPSAibGlicG5nIGd0aysgbGliZ2NyeXB0IgorCitpbmhlcml0IGF1dG90b29scyBiaW5jb25maWcgcGtnY29uZmlnCisKK1NSQ19VUkkgID0gIlwKKwkgJHtERUJJQU5fTUlSUk9SfS9tYWluL2xpYnYvbGlidm5jc2VydmVyL2xpYnZuY3NlcnZlcl8wLjkuMTArZGZzZy5vcmlnLnRhci54eiBcCisJIGZpbGU6Ly8wMDAxLXJlbW92ZS13ZWJjbGllbnRzLWJ1aWxkLnBhdGNoIFwKKwkgZmlsZTovLzAwMDItY29tbW9uLWFkZC1zaGExLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gImU4ODNiNmM3YmQzMzlhNWUxYzQ4NjQ1MDUxYWJlNWM0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU4M2YyODg2OWI4MmFlYzU3NzY4ZDdkMThjZDdmZjgxYmYwOTJlY2JiYzEyMDliNTg3YzJjMmNkNjgzMzAyNTAiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0tTGliVk5DU2VydmVyLSR7UFZ9IgorCitUQVJHRVRfTERGTEFHUyArPSAiLWxnY3J5cHQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9seGRtL2x4ZG0vMDAwMS1seGRtLmNvbmYuaW4tYmxhY2tsaXN0LXJvb3QtZm9yLXJlbGVhc2UtaW1hZ2VzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbHhkbS9seGRtLzAwMDEtbHhkbS5jb25mLmluLWJsYWNrbGlzdC1yb290LWZvci1yZWxlYXNlLWltYWdlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OWVjZGI4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbHhkbS9seGRtLzAwMDEtbHhkbS5jb25mLmluLWJsYWNrbGlzdC1yb290LWZvci1yZWxlYXNlLWltYWdlcy5wYXRjaApAQCAtMCwwICsxLDI5IEBACitGcm9tIDUwMzhjNDljMGI2MWUwNTdkZWM0NGM5MzJmMDJjNGJmOTljZWU5NmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBNb24sIDMgU2VwIDIwMTIgMTA6MDI6NTEgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gbHhkbS5jb25mLmluOiBibGFja2xpc3Qgcm9vdCBmb3IgcmVsZWFzZSBpbWFnZXMKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBkYXRhL2x4ZG0uY29uZi5pbiB8ICAgIDIgKy0KKyAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2RhdGEvbHhkbS5jb25mLmluIGIvZGF0YS9seGRtLmNvbmYuaW4KK2luZGV4IGRlZmMwODIuLjc1OWU2ZTUgMTAwNjQ0CistLS0gYS9kYXRhL2x4ZG0uY29uZi5pbgorKysrIGIvZGF0YS9seGRtLmNvbmYuaW4KK0BAIC01OCw1ICs1OCw1IEBAIGRpc2FibGU9MAorIHdoaXRlPQorIAorICMjIGJsYWNrbGlzdCB1c2VyCistYmxhY2s9CisrYmxhY2s9cm9vdAorIAorLS0gCisxLjcuNC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2x4ZG0vbHhkbS8wMDAyLWxldC1hdXRvdG9vbHMtY3JlYXRlLWx4ZG0uY29uZi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2x4ZG0vbHhkbS8wMDAyLWxldC1hdXRvdG9vbHMtY3JlYXRlLWx4ZG0uY29uZi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NWRjMTBjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbHhkbS9seGRtLzAwMDItbGV0LWF1dG90b29scy1jcmVhdGUtbHhkbS5jb25mLnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK0Zyb20gMGVhMDMyOWYyYzE5YTQzYWNkYzg0NDRmYTg5ZTIzM2JhNjE3OTczZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IE1vbiwgNiBPY3QgMjAxNCAxMzowNjoyNCArMDIwMAorU3ViamVjdDogW1BBVENIXSBsZXQgYXV0b3Rvb2xzIGNyZWF0ZSBseGRtLmNvbmYKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworaW4gb3V0IG9mIHRyZWUgYnVpbGRzIGx4ZG0uY29uZiBpcyBlbXB0eQorCitVcHN0cmVhbS1TdGF0dXM6IHN1Ym1pdHRlZCBbMV0KKworWzFdIGh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcC9seGRlL21haWxtYW4vbWVzc2FnZS8zMjkwMTQxNy8KKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgZGF0YS9seGRtLmNvbmYuaW4gfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2RhdGEvbHhkbS5jb25mLmluIGIvZGF0YS9seGRtLmNvbmYuaW4KK2luZGV4IGQ5M2YyODAuLjYyMDYyNjIgMTAwNjQ0CistLS0gYS9kYXRhL2x4ZG0uY29uZi5pbgorKysrIGIvZGF0YS9seGRtLmNvbmYuaW4KK0BAIC0xOSw3ICsxOSw3IEBACisgIyBza2lwX3Bhc3N3b3JkPTEKKyAKKyAjIyBncmVldGVyIHVzZWQgdG8gd2VsY29tZSB0aGUgdXNlcgorLWdyZWV0ZXI9QEZVTExfTElCRVhFQ0RJUkAvbHhkbS1ncmVldGVyLWd0aworK2dyZWV0ZXI9QGxpYmV4ZWNkaXJAL2x4ZG0tZ3JlZXRlci1ndGsKKyAKKyBbc2VydmVyXQorICMjIGFyZyB1c2VkIHRvIHN0YXJ0IHhzZXJ2ZXIsIG5vdCBmdWxseSBmdW5jdGlvbgorLS0gCisxLjguMy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2x4ZG0vbHhkbS9seGRtLXBhbSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2x4ZG0vbHhkbS9seGRtLXBhbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ODY2MjFmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbHhkbS9seGRtL2x4ZG0tcGFtCkBAIC0wLDAgKzEsMTMgQEAKKyMlUEFNLTEuMAorIyB0YWtlbiBmcm9tIGh0dHA6Ly9hdXIuYXJjaGxpbnV4Lm9yZy9wYWNrYWdlcy9seC9seGRtLWdpdC9seGRtLWdpdC50YXIuZ3oKKyMgZnVydGhlciBpbmZvIGh0dHBzOi8vd2lraS5hcmNobGludXgub3JnL2luZGV4LnBocC9MWERNCithdXRoICAgICAgICAgICAgcmVxdWlzaXRlICAgICAgIHBhbV9ub2xvZ2luLnNvCithdXRoICAgICAgICAgICAgcmVxdWlyZWQgICAgICAgIHBhbV9lbnYuc28KK2F1dGggICAgICAgICAgICByZXF1aXJlZCAgICAgICAgcGFtX3VuaXguc28KKyMgVG8gYWxsb3cgcGFzc3dvcmRsZXNzIGxvZ2luIGNvbW1lbnQgcHJldmlvdXMgbGluZSBhbmQgdW5jb21tZW50IG5leHQgbGluZQorI2F1dGggICAgICAgICAgICByZXF1aXJlZCAgICAgICAgcGFtX3VuaXguc28gbnVsbG9rCithY2NvdW50ICAgICAgICAgcmVxdWlyZWQgICAgICAgIHBhbV91bml4LnNvCitzZXNzaW9uICAgICAgICAgcmVxdWlyZWQgICAgICAgIHBhbV9saW1pdHMuc28KK3Nlc3Npb24gICAgICAgICByZXF1aXJlZCAgICAgICAgcGFtX3VuaXguc28KK3Bhc3N3b3JkICAgICAgICByZXF1aXJlZCAgICAgICAgcGFtX3VuaXguc28KKy1zZXNzaW9uIG9wdGlvbmFsIHBhbV9zeXN0ZW1kLnNvCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9seGRtL2x4ZG0vbHhkbS1wYW0tZGVidWcgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9seGRtL2x4ZG0vbHhkbS1wYW0tZGVidWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzM0OTQ5ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2x4ZG0vbHhkbS9seGRtLXBhbS1kZWJ1ZwpAQCAtMCwwICsxLDEzIEBACisjJVBBTS0xLjAKKyMgdGFrZW4gZnJvbSBodHRwOi8vYXVyLmFyY2hsaW51eC5vcmcvcGFja2FnZXMvbHgvbHhkbS1naXQvbHhkbS1naXQudGFyLmd6CisjIGZ1cnRoZXIgaW5mbyBodHRwczovL3dpa2kuYXJjaGxpbnV4Lm9yZy9pbmRleC5waHAvTFhETQorYXV0aCAgICAgICAgICAgIHJlcXVpc2l0ZSAgICAgICBwYW1fbm9sb2dpbi5zbworYXV0aCAgICAgICAgICAgIHJlcXVpcmVkICAgICAgICBwYW1fZW52LnNvCisjYXV0aCAgICAgICAgICAgIHJlcXVpcmVkICAgICAgICBwYW1fdW5peC5zbworIyBUbyBkZW55IHBhc3N3b3JkbGVzcyBsb2dpbiBjb21tZW50IG5leHQgbGluZSBhbmQgdW5jb21tZW50IHByZXZpb3VzIGxpbmUKK2F1dGggICAgICAgICAgICByZXF1aXJlZCAgICAgICAgcGFtX3VuaXguc28gbnVsbG9rCithY2NvdW50ICAgICAgICAgcmVxdWlyZWQgICAgICAgIHBhbV91bml4LnNvCitzZXNzaW9uICAgICAgICAgcmVxdWlyZWQgICAgICAgIHBhbV9saW1pdHMuc28KK3Nlc3Npb24gICAgICAgICByZXF1aXJlZCAgICAgICAgcGFtX3VuaXguc28KK3Bhc3N3b3JkICAgICAgICByZXF1aXJlZCAgICAgICAgcGFtX3VuaXguc28KKy1zZXNzaW9uIG9wdGlvbmFsIHBhbV9zeXN0ZW1kLnNvCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9seGRtL2x4ZG0vbHhkbS5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbHhkbS9seGRtL2x4ZG0uY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTZlNjcyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbHhkbS9seGRtL2x4ZG0uY29uZgpAQCAtMCwwICsxLDQgQEAKK1tiYXNlXQorbGFzdF9zZXNzaW9uPQorbGFzdF9sYW5nPQorbGFzdF9sYW5ncz0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2x4ZG0vbHhkbV8wLjUuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2x4ZG0vbHhkbV8wLjUuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDcxMjlkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbHhkbS9seGRtXzAuNS4zLmJiCkBAIC0wLDAgKzEsNzggQEAKK1NVTU1BUlkgPSAiTFhETSBpcyB0aGUgbGlnaHR3ZWlnaHQgZGlzcGxheSBtYW5hZ2VyIgorSE9NRVBBR0UgPSAiaHR0cDovL2Jsb2cubHhkZS5vcmcvP3A9NTMxIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorU1JDX1VSSSA9ICIgXAorICAgICR7U09VUkNFRk9SR0VfTUlSUk9SfS9wcm9qZWN0LyR7QlBOfS8ke0JQTn0lMjAke1BWfS8ke0JQTn0tJHtQVn0udGFyLnh6IFwKKyAgICBmaWxlOi8vbHhkbS5jb25mIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdmaWxlOi8vbHhkbS1wYW0gZmlsZTovL2x4ZG0tcGFtLWRlYnVnJywgJycsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19UWVBFIiwgImRlYnVnIiwgIiIsICJmaWxlOi8vMDAwMS1seGRtLmNvbmYuaW4tYmxhY2tsaXN0LXJvb3QtZm9yLXJlbGVhc2UtaW1hZ2VzLnBhdGNoIixkKX0gXAorICAgIGZpbGU6Ly8wMDAyLWxldC1hdXRvdG9vbHMtY3JlYXRlLWx4ZG0uY29uZi5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiMDYxY2FhZTQzMjYzNGU2ZGIzOGJiZGM4NGJjNmZmYTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDg5MWVmZWU4MWM3MmE0MDBjYzY3MDNlNDBhYTc2ZjNmMzg1MzgzM2QwNDhiNzJlYzgwNWRhMGY5MzU2N2YyZiIKKworUEUgPSAiMSIKKworREVQRU5EUyA9ICJ2aXJ0dWFsL2xpYmludGwgaW50bHRvb2wtbmF0aXZlIGNhaXJvIGRidXMgZ2RrLXBpeGJ1ZiBnbGliLTIuMCBndGsrIHZpcnR1YWwvbGlieDExIGxpYnhjYiBwYW5nbyBpc28tY29kZXMiCitERVBFTkRTICs9ICIke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgInN5c3RlbWQiLCAiIiwgImNvbnNvbGVraXQiLCBkKX0iCisKKyMgY29tYmluZSBvZS1jb3JlIHdheSB3aXRoIGFuZ3N0cm9tIERJU1RST19UWVBFCitESVNUUk9fVFlQRSA/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoIklNQUdFX0ZFQVRVUkVTIiwgImRlYnVnLXR3ZWFrcyIsICJkZWJ1ZyIsICIiLGQpfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdldHRleHQgc3lzdGVtZCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKyMgZGVwZW5kcyBvbiB2aXJ0dWFsL2xpYngxMQorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworQ0ZMQUdTX2FwcGVuZCA9ICIgLWZuby1idWlsdGluLWZvcmsgLWZuby1idWlsdGluLW1lbXNldCAtZm5vLWJ1aWx0aW4tc3Ryc3RyICIKKworRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS1ndGszPW5vIC0tZW5hYmxlLXBhc3N3b3JkPXllcyAtLXdpdGgteCAtd2l0aC14Y29ubj14Y2IgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICctLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8gLS1kaXNhYmxlLWNvbnNvbGVraXQnLCAnLS13aXRob3V0LXN5c3RlbWRzeXN0ZW11bml0ZGlyJywgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICctLXdpdGgtcGFtJywgJy0td2l0aG91dC1wYW0nLCBkKX0gXAorIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBjcCAke1NUQUdJTkdfREFUQURJUn0vZ2V0dGV4dC9wby9NYWtlZmlsZS5pbi5pbiAke1N9L3BvLworfQorCitkb19jb21waWxlX2FwcGVuZCgpIHsKKyAgICAjIGRlZmF1bHQgYmFja2dyb3VuZCBjb25maWd1cmVkIG5vdCBhdmFpbGFibGUgLyBubyBwYXNzd29yZCBmaWVsZCBhdmFpbGFibGUgLyBubyBkZWZhdWx0IHNjcmVlbnNhdmVyCisgICAgc2VkIC1pICAgICAtZSAncyxiZz0sIyBiZz0sZycgXAorICAgICAgICAtZSAncywjIHNraXBfcGFzc3dvcmQ9LHNraXBfcGFzc3dvcmQ9LGcnIFwKKyAgICAgICAgLWUgJ3MsIyBhcmc9LiosYXJnPSR7YmluZGlyfS9YIC1zIDAsZycgXAorICAgICAgICAke1N9L2RhdGEvbHhkbS5jb25mLmluCisgICAgIyBhZGQgZGVmYXVsdCBjb25maWd1cmF0aW9uCisgICAgb2VfcnVubWFrZSAtQyAke0J9L2RhdGEgbHhkbS5jb25mCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliL2x4ZG0KKyAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L2x4ZG0uY29uZiAke0R9JHtsb2NhbHN0YXRlZGlyfS9saWIvbHhkbQorICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgIyBBcmNoTGludXggdmVyc2lvbiBvZiBwYW0gY29uZmlnIGhhcyB0aGUgZm9sbG93aW5nIGFkdmFudGFnZXM6CisgICAgICAgICMgKiBzaW1wbGUgc2V0dXAgb2YgcGFzc3dvcmRsZXNzIGxvZ2luCisgICAgICAgICMgKiBpbiBYRkNFIHBvd2VyZG93bi9yZXN0YXJ0IGVuYWJsZWQgaW4gbG9nb2ZmIGRpYWxvZworICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9LyR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fVFlQRSIsICJkZWJ1ZyIsICJseGRtLXBhbS1kZWJ1ZyIsICJseGRtLXBhbSIsZCl9ICR7RH0ke3N5c2NvbmZkaXJ9L3BhbS5kL2x4ZG0KKyAgICBmaQorfQorCisjIG1ha2UgaW5zdGFsbGVkIGxhbmd1YWdlcyBjaG9vc2FibGUKK3BrZ19wb3N0aW5zdF8ke1BOfSAoKSB7CitsYW5ncz0iIgorZm9yIGxhbmcgaW4gYGZpbmQgJEQke2xpYmRpcn0vbG9jYWxlIC1tYXhkZXB0aCAxIHwgZ3JlcCBfIHwgc29ydGA7IGRvCitsYW5nPWBiYXNlbmFtZSAkbGFuZ2AKK2lmIFsgIngkbGFuZ3MiID0gIngiIF07IHRoZW4KKyAgICBsYW5ncz0iJGxhbmciCitlbHNlCisgICBsYW5ncz0iJGxhbmdzICRsYW5nIgorZmkKK2RvbmUKK3NlZCAtaSAiczpsYXN0X2xhbmdzPS4qJDpsYXN0X2xhbmdzPSRsYW5nczpnIiAkRCR7bG9jYWxzdGF0ZWRpcn0vbGliL2x4ZG0vbHhkbS5jb25mCit9CisKK1JERVBFTkRTXyR7UE59ID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ3BhbS1wbHVnaW4tbG9naW51aWQnLCAnJywgZCl9IHNldHhrYm1hcCBiYXNoIGxpYnJzdmctZ3RrIgorCitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImx4ZG0uc2VydmljZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS1nbHV0XzguMC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLWdsdXRfOC4wLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDA0ZWU1MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS1nbHV0XzguMC4xLmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiT3BlbkdMIFV0aWxpdHkgVG9vbGtpdCIKK0xJQ0VOU0UgPSAiS2lsZ2FyZCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2luY2x1ZGUvR0wvZ2x1dC5oO21kNT00YWFiNjI2YzgzMGFlZDc5ZDdiMmU1YTc2ZGZhMmRkNjtzdGFydGxpbmU9NDtlbmRsaW5lPTgiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvbWVzYS9nbHV0IgorCitTUkNSRVYgPSAiZWU4OWU5YWViNDk2MDRiMDM2ZTA2ZjFkZjY0NzhkMzIwMDZiMzBjZCIKK1BWID0gIjguMC4wK2dpdCR7U1JDUFZ9IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIGRpc3Ryb19mZWF0dXJlc19jaGVjaworIyBkZXBlbmRzIG9uIHZpcnR1YWwvbGlieDExCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitERVBFTkRTID0gInZpcnR1YWwvbGlieDExIGxpYnhtdSBsaWJ4aSB2aXJ0dWFsL2xpYmdsIGxpYmdsdSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL251bWxvY2t4L251bWxvY2t4XzEuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL251bWxvY2t4L251bWxvY2t4XzEuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOGQ3ZjViCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbnVtbG9ja3gvbnVtbG9ja3hfMS4yLmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiRW5hYmxlIE51bUxvY2sgaW4gWDExIHNlc3Npb25zIgorSE9NRVBBR0UgPSAiaHR0cDovL2hvbWUua2RlLm9yZy9+c2VsaS9udW1sb2NreC8iCitTRUNUSU9OID0gIngxMS9hcHBzIgorTElDRU5TRSA9ICJNSVQtWCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWRjYjFjYzc1ZTIxNTQwYTRhNjZiNTRlMzhkOTViMDQ3IgorREVQRU5EUyA9ICJ2aXJ0dWFsL2xpYngxMSBsaWJ4dHN0IgorCitTUkNfVVJJID0gImh0dHA6Ly9wa2dzLmZlZG9yYXByb2plY3Qub3JnL3JlcG8vcGtncy9udW1sb2NreC9udW1sb2NreC0ke1BWfS50YXIuZ3ovYmU5MTA5MzcwNDQ3ZWFlMjNmNmYzZjg1MjdiYjFhNjcvbnVtbG9ja3gtJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiYmU5MTA5MzcwNDQ3ZWFlMjNmNmYzZjg1MjdiYjFhNjciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTQ2OGViOTEyMWM5NGM5MDg5ZGM2YTI4N2VlYjM0N2U5MDBjZTA0YTE0YmUzN2RhMjlkNzY5NmNiY2U3NzJlNCIKKworaW5oZXJpdCBhdXRvdG9vbHMgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisjIGRlcGVuZHMgb24gdmlydHVhbC9saWJ4MTEKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK0VYVFJBX09FQ09ORiA9ICItLXgtaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gXAorICAgICAgICAgICAgICAgIC0teC1saWJyYXJpZXM9JHtTVEFHSU5HX0xJQkRJUn0iCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgICMgcmVtb3ZlIHRoaXMgZnJvbSBhY2luY2x1ZGUubTQgb3IgYnVpbGQgZmFpbHMKKyAgICBzZWQgLWkgJy9fQUNfUEFUSF9YX1hNS01GL2QnICR7U30vYWNpbmNsdWRlLm00Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9vcGVuYm94L2ZpbGVzLzAwMDEtTWFrZWZpbGUuYW0tYXZvaWQtcmFjZS13aGVuLWNyZWF0aW5nLWF1dG9zdGFydC1kaXJlYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL29wZW5ib3gvZmlsZXMvMDAwMS1NYWtlZmlsZS5hbS1hdm9pZC1yYWNlLXdoZW4tY3JlYXRpbmctYXV0b3N0YXJ0LWRpcmVjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3NjJlMWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9vcGVuYm94L2ZpbGVzLzAwMDEtTWFrZWZpbGUuYW0tYXZvaWQtcmFjZS13aGVuLWNyZWF0aW5nLWF1dG9zdGFydC1kaXJlYy5wYXRjaApAQCAtMCwwICsxLDU0IEBACitGcm9tIDZiYmRlODRhMjE5N2M5N2U0OWQ5ZTY0MTE4YTk3OTcyODIwOWU0MzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBXZWQsIDIzIFNlcCAyMDE1IDIzOjIxOjQyICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIE1ha2VmaWxlLmFtOiBhdm9pZCByYWNlIHdoZW4gY3JlYXRpbmcgYXV0b3N0YXJ0IGRpcmVjdG9yaWVzCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK2ZpeGVzOgorCit8IG1ha2U6IGNyZWF0aW5nIGRhdGEveHNlc3Npb24vb3BlbmJveC1nbm9tZS1zZXNzaW9uCit8IG1ha2U6IGNyZWF0aW5nIGRhdGEveHNlc3Npb24vb3BlbmJveC1zZXNzaW9uCit8IG1ha2U6IGNyZWF0aW5nIGRhdGEveHNlc3Npb24vb3BlbmJveC1rZGUtc2Vzc2lvbgorfCBtYWtlOiBjcmVhdGluZyBkYXRhL2F1dG9zdGFydC9vcGVuYm94LWF1dG9zdGFydAorfCBtYWtlOiBjcmVhdGluZyBkb2Mvb3BlbmJveC4xCit8IG1ha2U6IGNyZWF0aW5nIGRhdGEvYXV0b3N0YXJ0L2F1dG9zdGFydAorfCBtYWtlOiBjcmVhdGluZyBkb2Mvb3BlbmJveC1zZXNzaW9uLjEKK3wgbWFrZTogY3JlYXRpbmcgZG9jL29wZW5ib3gtZ25vbWUtc2Vzc2lvbi4xCit8IG1ha2U6IGNyZWF0aW5nIGRvYy9vcGVuYm94LWtkZS1zZXNzaW9uLjEKK3wgbWFrZTogY3JlYXRpbmcgZG9jL29ieHByb3AuMQorfCBta2RpcjogY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgJy4vZGF0YS9hdXRvc3RhcnQnOiBGaWxlIGV4aXN0cworfCBNYWtlZmlsZTo0MzI5OiByZWNpcGUgZm9yIHRhcmdldCAnZGF0YS9hdXRvc3RhcnQvYXV0b3N0YXJ0JyBmYWlsZWQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIE1ha2VmaWxlLmFtIHwgNiArKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQoraW5kZXggZjI1YmY4ZS4uMzA2ZTc3ZCAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmFtCisrKysgYi9NYWtlZmlsZS5hbQorQEAgLTUwNSwxNCArNTA1LDEyIEBAIGVkaXQgPSAkKFNFRCkgXAorIAorIGRhdGEvYXV0b3N0YXJ0L2F1dG9zdGFydDogJCh0b3Bfc3JjZGlyKS9kYXRhL2F1dG9zdGFydC9hdXRvc3RhcnQuaW4gTWFrZWZpbGUKKyAJQGVjaG8gbWFrZTogY3JlYXRpbmcgJEAKKy0JQHRlc3QgLWQgJChzaGVsbCBkaXJuYW1lICQodG9wX2J1aWxkZGlyKS8kQCkgfHwgXAorLQkgIG1rZGlyICQoc2hlbGwgZGlybmFtZSAkKHRvcF9idWlsZGRpcikvJEApCisrCW1rZGlyIC1wICQoc2hlbGwgZGlybmFtZSAkKHRvcF9idWlsZGRpcikvJEApCisgCUAkKGVkaXQpICQ8ID4kKHRvcF9idWlsZGRpcikvJEAKKyAKKyBkYXRhL2F1dG9zdGFydC9vcGVuYm94LWF1dG9zdGFydDogJCh0b3Bfc3JjZGlyKS9kYXRhL2F1dG9zdGFydC9vcGVuYm94LWF1dG9zdGFydC5pbiBNYWtlZmlsZQorIAlAZWNobyBtYWtlOiBjcmVhdGluZyAkQAorLQlAdGVzdCAtZCAkKHNoZWxsIGRpcm5hbWUgJCh0b3BfYnVpbGRkaXIpLyRAKSB8fCBcCistCSAgbWtkaXIgJChzaGVsbCBkaXJuYW1lICQodG9wX2J1aWxkZGlyKS8kQCkKKysJbWtkaXIgLXAgJChzaGVsbCBkaXJuYW1lICQodG9wX2J1aWxkZGlyKS8kQCkKKyAJQCQoZWRpdCkgJDwgPiQodG9wX2J1aWxkZGlyKS8kQAorIAorICUuZGVza3RvcDogJS5kZXNrdG9wLmluIE1ha2VmaWxlCistLSAKKzIuMS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL29wZW5ib3gvb3BlbmJveF8zLjYuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL29wZW5ib3gvb3BlbmJveF8zLjYuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMzU0YWU3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvb3BlbmJveC9vcGVuYm94XzMuNi4xLmJiCkBAIC0wLDAgKzEsNTMgQEAKK1NVTU1BUlkgPSAib3BlbmJveCBXaW5kb3cgTWFuYWdlciIKK1NFQ1RJT04gPSAieDExL3dtIgorREVQRU5EUyA9ICJnbGliLTIuMCBwYW5nbyBsaWJ4bWwyIHZpcnR1YWwvbGlieDExIGxpYmNyb2NvIGxpYnJzdmcgZ2RrLXBpeGJ1ZiIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK1NSQ19VUkkgPSAiIFwKKyAgICBodHRwOi8vaWNjdWx1cy5vcmcvb3BlbmJveC9yZWxlYXNlcy9vcGVuYm94LSR7UFZ9LnRhci5neiBcCisgICAgZmlsZTovLzAwMDEtTWFrZWZpbGUuYW0tYXZvaWQtcmFjZS13aGVuLWNyZWF0aW5nLWF1dG9zdGFydC1kaXJlYy5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiNzI3OTQ5OTZjNmEzYWQ5NDYzNDcyN2I5NWY5ZDIwNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4YjRhYzA3NjAwMThjNzdjMDA0NGZhYjA2YTRmMGM1MTBiYTg3ZWFlOTM0ZDk5ODNiMTA4Nzg0ODNiZGU3ZWY3IgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHVwZGF0ZS1hbHRlcm5hdGl2ZXMgcGtnY29uZmlnIGRpc3Ryb19mZWF0dXJlc19jaGVjaworIyBkZXBlbmRzIG9uIHZpcnR1YWwvbGlieDExCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitBTFRFUk5BVElWRV8ke1BOfS1jb3JlID0gIngtd2luZG93LW1hbmFnZXIiCitBTFRFUk5BVElWRV9UQVJHRVRbeC13aW5kb3ctbWFuYWdlcl0gPSAiJHtiaW5kaXJ9L29wZW5ib3giCitBTFRFUk5BVElWRV9QUklPUklUWVt4LXdpbmRvdy1tYW5hZ2VyXSA9ICIxMCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbaW1saWIyXSA9ICItLWVuYWJsZS1pbWxpYjIsLS1kaXNhYmxlLWltbGliMixpbWxpYjIiCitQQUNLQUdFQ09ORklHW3N0YXJ0dXAtbm90aWZpY2F0aW9uXSA9ICItLWVuYWJsZS1zdGFydHVwLW5vdGlmaWNhdGlvbiwtLWRpc2FibGUtc3RhcnR1cC1ub3RpZmljYXRpb24sc3RhcnR1cC1ub3RpZmljYXRpb24iCitQQUNLQUdFQ09ORklHW3hyYW5kcl0gPSAiLS1lbmFibGUteHJhbmRyLC0tZGlzYWJsZS14cmFuZHIsbGlieHJhbmRyIgorUEFDS0FHRUNPTkZJR1t4aW5lcmFtYV0gPSAiLS1lbmFibGUteGluZXJhbWEsLS1kaXNhYmxlLXhpbmVyYW1hLGxpYnhpbmVyYW1hIgorUEFDS0FHRUNPTkZJR1t4Y3Vyc29yXSA9ICItLWVuYWJsZS14Y3Vyc29yLC0tZGlzYWJsZS14Y3Vyc29yLGxpYnhjdXJzb3IiCisKK1BBQ0tBR0VTID0rICIke1BOfS1jb3JlICR7UE59LWx4ZGUgJHtQTn0tZ25vbWUgJHtQTn0tY29uZmlnIgorCitQQUNLQUdFU19EWU5BTUlDICs9ICJeJHtQTn0tdGhlbWUtLioiCisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kKCkgeworICAgIHRoZW1lX2RpciA9IGQuZXhwYW5kKCcke2RhdGFkaXJ9L3RoZW1lcy8nKQorICAgIHRoZW1lX25hbWUgPSBkLmV4cGFuZCgnJHtQTn0tdGhlbWUtJXMnKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHRoZW1lX2RpciwgJyguKiknLCB0aGVtZV9uYW1lLCAnJHtQTn0gdGhlbWUgZm9yICVzJywgZXh0cmFfZGVwZW5kcz0nJywgYWxsb3dfZGlycz1UcnVlKQorfQorCitSREVQRU5EU18ke1BOfSArPSAiJHtQTn0tY29yZSAke1BOfS1jb25maWcgJHtQTn0tdGhlbWUtY2xlYXJsb29rcyIKK0ZJTEVTXyR7UE59LWNvcmUgPSAiJHtiaW5kaXJ9L29wZW5ib3ggJHtsaWJkaXJ9Lyoke1NPTElCU30iCisKK0ZJTEVTXyR7UE59LWx4ZGUgKz0gIiR7ZGF0YWRpcn0vbHhkZS8gXAorICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9seHBhbmVsIFwKKyAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0veHNlc3Npb25zIFwKKyAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vaWNvbnMiCisKK0ZJTEVTXyR7UE59LWdub21lICs9ICIgXAorICAgICR7ZGF0YWRpcn0vZ25vbWUgXAorICAgICR7ZGF0YWRpcn0vZ25vbWUtc2Vzc2lvbiBcCisiCisKK0ZJTEVTXyR7UE59LWNvbmZpZyArPSAiJHtzeXNjb25mZGlyfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL29wZW5qcGVnL29wZW5qcGVnXzIuMS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvb3BlbmpwZWcvb3BlbmpwZWdfMi4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDI4YTg2NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL29wZW5qcGVnL29wZW5qcGVnXzIuMS4wLmJiCkBAIC0wLDAgKzEsMTkgQEAKK0RFU0NSSVBUSU9OID0gIk9wZW5KUEVHIGxpYnJhcnkgaXMgYW4gb3Blbi1zb3VyY2UgSlBFRyAyMDAwIGNvZGVjIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5vcGVuanBlZy5vcmcvaW5kZXgucGhwP21lbnU9bWFpbiIKKworTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1jNjQ4ODc4YjQ4NDBkN2JhYmFhZGUxMzAzZTdmMTA4YyIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcHJvamVjdC8ke0JQTn0ubWlycm9yLyR7UFZ9LyR7QlBOfS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZjY0MTlmY2MyMzNkZjg0ZjlhODFlYjM2NjMzYzZkYjYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTIzMmJiODE0ZmQ4OGQ4ZWQzMTRjOTRmMGJmZWJiMDNkZTg1NTk1ODNhMzNhYmJlOGM2NGVmM2ZjMGE4ZmYwMyIKKworaW5oZXJpdCBjbWFrZQorCitERVBFTkRTID0gImxpYnBuZyB0aWZmIGxjbXMiCisKKyMgc3RhbmRhcmQgcGF0aCBmb3IgKi5jbWFrZQorRVhUUkFfT0VDTUFLRSArPSAiLURPUEVOSlBFR19JTlNUQUxMX1BBQ0tBR0VfRElSPSR7YmFzZWxpYn0vY21ha2UgXAorICAgICAgICAgICAgICAgICAgLURPUEVOSlBFR19JTlNUQUxMX0xJQl9ESVI6UEFUSD0ke2xpYmRpcn0iCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2NtYWtlLyouY21ha2UiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1mb250cy10cnVldHlwZS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWZvbnRzLXRydWV0eXBlLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzMmU3ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1mb250cy10cnVldHlwZS5iYgpAQCAtMCwwICsxLDQwIEBACitTVU1NQVJZID0gIkluc3RhbGwgb25lIG9mIHRoZXNlIHRhc2tzIHRvIGdldCBzdXBwb3J0IGZvciB0cnVldHlwZSBmb250cyIKK1NFQ1RJT04gPSAiZm9udHMiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L21ldGEvQ09QWUlORy5NSVQ7bWQ1PTNkYTljZmJjYjc4OGM4MGEwMzg0MzYxYjRkZTIwNDIwIgorUFYgPSAiMS4wIgorUFIgPSAicjIiCisKK2luaGVyaXQgcGFja2FnZWdyb3VwIGFsbGFyY2gKKworUEFDS0FHRVMgKz0gIlwKKyAgICAke1BOfS1jb3JlIFwKKyAgICAke1BOfS1jaGluZXNlIFwKKyAgICAke1BOfS1qYXBhbmVzZSBcCisiCisKK1JSRUNPTU1FTkRTXyR7UE59ID0gIlwKKyAgICAke1BOfS1jb3JlIFwKKyAgICAke1BOfS1jaGluZXNlIFwKKyAgICAke1BOfS1qYXBhbmVzZSBcCisiCisKK1JERVBFTkRTXyR7UE59LWNvcmUgPSAiXAorICAgIGZvbnRjb25maWctdXRpbHMgXAorICAgIFwKKyAgICB0dGYtZGVqYXZ1LWNvbW1vbiBcCisgICAgdHRmLWRlamF2dS1zYW5zIFwKKyAgICB0dGYtZGVqYXZ1LXNhbnMtbW9ubyBcCisiCisjICB0dGYtZGVqYXZ1LXNlcmlmCisKK1JERVBFTkRTXyR7UE59LWNoaW5lc2UgPSAiXAorICAgICR7UE59LWNvcmUgXAorICAgIHR0Zi1hcnBoaWMtdW1pbmcgXAorIgorCitSREVQRU5EU18ke1BOfS1qYXBhbmVzZSA9ICJcCisgICAgJHtQTn0tY29yZSBcCisgICAgdHRmLXNhemFuYW1pLWdvdGhpYyBcCisgICAgdHRmLXNhemFuYW1pLW1pbmNobyBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9wYW5nby9wYW5nb21tXzIuMzYuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3BhbmdvL3BhbmdvbW1fMi4zNi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3MzgxNTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9wYW5nby9wYW5nb21tXzIuMzYuMC5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIkMrKyBiaW5kaW5ncyBmb3IgdGhlIHBhbmdvIGxpYnJhcnkiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEx2Mi4xICYgR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kODA0NWYzYjhmOTI5YzFjYjI5YTFlM2ZkNzM3YjQ5OSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLnRvb2xzO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKKworREVQRU5EUyA9ICJtbS1jb21tb24gY2Fpcm9tbSBnbGlibW0gcGFuZ28iCisKK1NIUlRfVkVSID0gIiR7QGQuZ2V0VmFyKCdQVicsMSkuc3BsaXQoJy4nKVswXX0uJHtAZC5nZXRWYXIoJ1BWJywxKS5zcGxpdCgnLicpWzFdfSIKKworU1JDX1VSSSA9ICJodHRwOi8vZnRwLmdub21lLm9yZy9wdWIvR05PTUUvc291cmNlcy9wYW5nb21tLyR7U0hSVF9WRVJ9L3BhbmdvbW0tJHtQVn0udGFyLnh6IgorU1JDX1VSSVttZDVzdW1dID0gIjYyOTEwNzIzMjExZDg2YWI4MjViNjY2YjQ3OTg3MWM5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE4ZDk2OTUyYzcwOGQ3NzI2YmVkMjYwZDY5M2NlY2U1NTRmOGYwMGU0OGI5N2NjY2ZiZjRmNTY5MGI2ODIxZjAiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiIC0tZGlzYWJsZS1kb2N1bWVudGF0aW9uICIKKworRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYiouc28uKiIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9LyovaW5jbHVkZS8gJHtsaWJkaXJ9L3BhbmdvbW0tKi8iCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3FyZW5jb2RlL3FyZW5jb2RlX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3FyZW5jb2RlL3FyZW5jb2RlX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTE1OWE3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvcXJlbmNvZGUvcXJlbmNvZGVfZ2l0LmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiQyBsaWJyYXJ5IGZvciBlbmNvZGluZyBkYXRhIGluIGEgUVIgQ29kZSBzeW1ib2wiCitBVVRIT1IgPSAiS2VudGFybyBGdWt1Y2hpIgorSE9NRVBBR0UgPSAiaHR0cDovL2Z1a3VjaGkub3JnL3dvcmtzL3FyZW5jb2RlLyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yZDUwMjVkNGFhMzQ5NWJlZmVmOGYxNzIwNmE1YjBhMSIKK1BWID0gIjMuNC40K2dpdCR7U1JDUFZ9IgorCitTUkNSRVYgPSAiMWI1NjVjN2I1OTkwMjk4MThmYzU5NmU3ZGE0MzcxYTMwODNkYTM2YyIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9mdWt1Y2hpL2xpYnFyZW5jb2RlLmdpdCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiArPSAiLS13aXRob3V0LXRvb2xzIC0td2l0aG91dC10ZXN0cyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NsaW0vc2xpbS8wMDAyLUZpeC1pbWFnZS1oYW5kbGluZy1pbnRlZ2VyLW92ZXJmbG93cy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NsaW0vc2xpbS8wMDAyLUZpeC1pbWFnZS1oYW5kbGluZy1pbnRlZ2VyLW92ZXJmbG93cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTgyZDYzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc2xpbS9zbGltLzAwMDItRml4LWltYWdlLWhhbmRsaW5nLWludGVnZXItb3ZlcmZsb3dzLnBhdGNoCkBAIC0wLDAgKzEsMzQzIEBACitGcm9tIDI0ZTU0OGEyMjJmMGFhYjQzMTNkNWJhOGIwNGYwODQwYjE3MzAwMGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBpd2FtYXRzdSA8aXdhbWF0c3VAN2M1M2U3Y2MtOThlYS0wMzEwLThmMWYtYTBiMjRkYTYwNDA4PgorRGF0ZTogTW9uLCAzMCBBdWcgMjAxMCAwMToyNDo1NCArMDAwMAorU3ViamVjdDogW1BBVENIIDIvOF0gRml4IGltYWdlIGhhbmRsaW5nIGludGVnZXIgb3ZlcmZsb3dzCisKK0ltYWdlIGxvYWRpbmcgbWVtb3J5IGFsbG9jYXRpb24gaXMgYmFzZWQgb24gdGhlIGltYWdlIHdpZHRoIGFuZCBoZWlnaHQ6CisgbWFsbG9jKGhlaWd0aCAqIHdpZHRoICogMykuICBQcm92aWRpbmcgYW4gaW1hZ2Ugd2l0aCBsYXJnZSBoZWlnaHQgYW5kCit3aWR0aCB2YWx1ZXMgY2FuIGNhdXNlIHRoZSByZXN1bHQgb2YgdGhpcyBjYWxjdWxhdGlvbiB0byBleGNlZWQgdGhlCittYXhpbXVtIHZhbHVlIG9mIGFuIHVuc2lnbmVkIGludCBhbmQgdGh1cyBjYXVzZXMgYW4gaW50ZWdlciBvdmVyZmxvdy4KK1RoZSByZXN1bHQ6IHRvbyBsaXR0bGUgbWVtb3J5IGlzIGFsbG9jYXRlZCBhbmQgYW4gaGVhcCBvdmVyZmxvdyBvY2N1cnMuCisKK1RoaXMgcGF0Y2ggd2FzIGJhc2VkIGJ5IE5pZWxzIEhlaW5lbiA8bmllbHNAZnJlZWJzZC5vcmc+CitUaGFua3MhCisKK1NpZ25lZC1vZmYtYnk6IE5vYnVoaXJvIEl3YW1hdHN1IDxpd2FtYXRzdUBuaWdhdXJpLm9yZz4KKworZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLmJlcmxpb3MuZGUvc2xpbS90cnVua0AxNzYgN2M1M2U3Y2MtOThlYS0wMzEwLThmMWYtYTBiMjRkYTYwNDA4CistLS0KKyBjb25zdC5oIHwgICAgMyArKworIGpwZWcuYyAgfCAgIDUxICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCisgcG5nLmMgICB8ICAxMjIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDk2IGluc2VydGlvbnMoKyksIDgwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uc3QuaCBiL2NvbnN0LmgKK2luZGV4IGRmMDk4OWMuLmExOGM2ZjMgMTAwNjQ0CistLS0gYS9jb25zdC5oCisrKysgYi9jb25zdC5oCitAQCAtNDIsNCArNDIsNyBAQAorIC8vIHZhcmlhYmxlcyByZXBsYWNlZCBpbiBwcmUtc2Vzc2lvbl9jbWQgYW5kIHBvc3Qtc2Vzc2lvbl9jbWQKKyAjZGVmaW5lIFVTRVJfVkFSICAgICAgICIldXNlciIKKyAKKysvLyBtYXggaGVpZ2h0L3dpZHRoIGZvciBpbWFnZXMKKysjZGVmaW5lIE1BWF9ESU1FTlNJT04gMTAwMDAKKysKKyAjZW5kaWYKK2RpZmYgLS1naXQgYS9qcGVnLmMgYi9qcGVnLmMKK2luZGV4IDFjZjEwNmMuLmUxZjgzNTIgMTAwNjQ0CistLS0gYS9qcGVnLmMKKysrKyBiL2pwZWcuYworQEAgLTIyLDE2ICsyMiwyMiBAQAorICNpbmNsdWRlIDxzdHJpbmcuaD4KKyAKKyAjaW5jbHVkZSA8anBlZ2xpYi5oPgorKyNpbmNsdWRlICJjb25zdC5oIgorIAorIGludAorIHJlYWRfanBlZyhjb25zdCBjaGFyICpmaWxlbmFtZSwgaW50ICp3aWR0aCwgaW50ICpoZWlnaHQsIHVuc2lnbmVkIGNoYXIgKipyZ2IpCisgeworKyAgICBpbnQgcmV0ID0gMDsKKyAgICAgc3RydWN0IGpwZWdfZGVjb21wcmVzc19zdHJ1Y3QgY2luZm87CisgICAgIHN0cnVjdCBqcGVnX2Vycm9yX21nciBqZXJyOworICAgICB1bnNpZ25lZCBjaGFyICpwdHIgPSBOVUxMOworICAgICB1bnNpZ25lZCBpbnQgaSwgaXBvczsKKyAKKyAgICAgRklMRSAqaW5maWxlID0gZm9wZW4oZmlsZW5hbWUsICJyYiIpOworKyAgICBpZiAoaW5maWxlID09IE5VTEwpIHsKKysgICAgICAgIGZwcmludGYoc3RkZXJyLCAiQ2FuIG5vdCBmb3BlbiBmaWxlOiAlc1xuIixmaWxlbmFtZSk7CisrICAgICAgICByZXR1cm4gcmV0OworKyAgICB9CisgCisgICAgIGNpbmZvLmVyciA9IGpwZWdfc3RkX2Vycm9yKCZqZXJyKTsKKyAgICAganBlZ19jcmVhdGVfZGVjb21wcmVzcygmY2luZm8pOworQEAgLTM5LDQzICs0NSwzOSBAQCByZWFkX2pwZWcoY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCAqd2lkdGgsIGludCAqaGVpZ2h0LCB1bnNpZ25lZCBjaGFyICoqcmdiKQorICAgICBqcGVnX3JlYWRfaGVhZGVyKCZjaW5mbywgVFJVRSk7CisgICAgIGpwZWdfc3RhcnRfZGVjb21wcmVzcygmY2luZm8pOworIAorKyAgICAvKiBQcmV2ZW50IGFnYWluc3QgaW50ZWdlciBvdmVyZmxvdyAqLworKyAgICBpZihjaW5mby5vdXRwdXRfd2lkdGggPj0gTUFYX0RJTUVOU0lPTiB8fCBjaW5mby5vdXRwdXRfaGVpZ2h0ID49IE1BWF9ESU1FTlNJT04pIHsKKysgICAgICAgIGZwcmludGYoc3RkZXJyLCAiVW5yZWFzb25hYmxlIGRpbWVuc2lvbiBmb3VuZCBpbiBmaWxlOiAlc1xuIixmaWxlbmFtZSk7CisrICAgICAgICBnb3RvIGNsb3NlX2ZpbGU7CisrICAgIH0KKysKKyAgICAgKndpZHRoID0gY2luZm8ub3V0cHV0X3dpZHRoOworICAgICAqaGVpZ2h0ID0gY2luZm8ub3V0cHV0X2hlaWdodDsKKyAKKyAgICAgcmdiWzBdID0gbWFsbG9jKDMgKiBjaW5mby5vdXRwdXRfd2lkdGggKiBjaW5mby5vdXRwdXRfaGVpZ2h0KTsKKy0gICAgaWYgKHJnYlswXSA9PSBOVUxMKQorLSAgICB7CisrICAgIGlmIChyZ2JbMF0gPT0gTlVMTCkgeworICAgICAgICAgZnByaW50ZihzdGRlcnIsICJDYW4ndCBhbGxvY2F0ZSBtZW1vcnkgZm9yIEpQRUcgZmlsZS5cbiIpOworLSAgICBmY2xvc2UoaW5maWxlKTsKKy0gICAgICAgIHJldHVybigwKTsKKysgICAgICAgIGdvdG8gY2xvc2VfZmlsZTsKKyAgICAgfQorIAorLSAgICBpZiAoY2luZm8ub3V0cHV0X2NvbXBvbmVudHMgPT0gMykKKy0gICAgeworKyAgICBpZiAoY2luZm8ub3V0cHV0X2NvbXBvbmVudHMgPT0gMykgeworICAgICAgICAgcHRyID0gcmdiWzBdOworLSAgICAgICAgd2hpbGUgKGNpbmZvLm91dHB1dF9zY2FubGluZSA8IGNpbmZvLm91dHB1dF9oZWlnaHQpIAorLSAgICAgICAgeworKyAgICAgICAgd2hpbGUgKGNpbmZvLm91dHB1dF9zY2FubGluZSA8IGNpbmZvLm91dHB1dF9oZWlnaHQpIHsKKyAgICAgICAgICAgICBqcGVnX3JlYWRfc2NhbmxpbmVzKCZjaW5mbywgJnB0ciwgMSk7CisgICAgICAgICAgICAgcHRyICs9IDMgKiBjaW5mby5vdXRwdXRfd2lkdGg7CisgICAgICAgICB9CistICAgIH0KKy0gICAgZWxzZSBpZiAoY2luZm8ub3V0cHV0X2NvbXBvbmVudHMgPT0gMSkKKy0gICAgeworKyAgICB9IGVsc2UgaWYgKGNpbmZvLm91dHB1dF9jb21wb25lbnRzID09IDEpIHsKKyAgICAgICAgIHB0ciA9IG1hbGxvYyhjaW5mby5vdXRwdXRfd2lkdGgpOworLSAgICAgICAgaWYgKHB0ciA9PSBOVUxMKQorLSAgICAgICAgeworKyAgICAgICAgaWYgKHB0ciA9PSBOVUxMKSB7CisgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJDYW4ndCBhbGxvY2F0ZSBtZW1vcnkgZm9yIEpQRUcgZmlsZS5cbiIpOworLSAgICAgICAgZmNsb3NlKGluZmlsZSk7CistICAgICAgICAgICAgcmV0dXJuKDApOworKyAgICAgICAgICAgIGdvdG8gcmdiX2ZyZWU7CisgICAgICAgICB9CisgCisgICAgICAgICBpcG9zID0gMDsKKy0gICAgICAgIHdoaWxlIChjaW5mby5vdXRwdXRfc2NhbmxpbmUgPCBjaW5mby5vdXRwdXRfaGVpZ2h0KSAKKy0gICAgICAgIHsKKysgICAgICAgIHdoaWxlIChjaW5mby5vdXRwdXRfc2NhbmxpbmUgPCBjaW5mby5vdXRwdXRfaGVpZ2h0KSB7CisgICAgICAgICAgICAganBlZ19yZWFkX3NjYW5saW5lcygmY2luZm8sICZwdHIsIDEpOworIAorLSAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBjaW5mby5vdXRwdXRfd2lkdGg7IGkrKykKKy0gICAgICAgICAgICB7CisrICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGNpbmZvLm91dHB1dF93aWR0aDsgaSsrKSB7CisgICAgICAgICAgICAgICAgIG1lbXNldChyZ2JbMF0gKyBpcG9zLCBwdHJbaV0sIDMpOworICAgICAgICAgICAgICAgICBpcG9zICs9IDM7CisgICAgICAgICAgICAgfQorQEAgLTg1LDkgKzg3LDE2IEBAIHJlYWRfanBlZyhjb25zdCBjaGFyICpmaWxlbmFtZSwgaW50ICp3aWR0aCwgaW50ICpoZWlnaHQsIHVuc2lnbmVkIGNoYXIgKipyZ2IpCisgICAgIH0KKyAKKyAgICAganBlZ19maW5pc2hfZGVjb21wcmVzcygmY2luZm8pOworLSAgICBqcGVnX2Rlc3Ryb3lfZGVjb21wcmVzcygmY2luZm8pOworIAorKyAgICByZXQgPSAxOworKyAgICBnb3RvIGNsb3NlX2ZpbGU7CisrCisrcmdiX2ZyZWU6CisrICAgIGZyZWUocmdiWzBdKTsKKysKKytjbG9zZV9maWxlOgorKyAgICBqcGVnX2Rlc3Ryb3lfZGVjb21wcmVzcygmY2luZm8pOworICAgICBmY2xvc2UoaW5maWxlKTsKKyAKKy0gICAgcmV0dXJuKDEpOworKyAgICByZXR1cm4ocmV0KTsKKyB9CitkaWZmIC0tZ2l0IGEvcG5nLmMgYi9wbmcuYworaW5kZXggYTI2NjFjNi4uNWMwODZjNiAxMDA2NDQKKy0tLSBhL3BuZy5jCisrKysgYi9wbmcuYworQEAgLTIyLDEyICsyMiwxMyBAQAorICNpbmNsdWRlIDxzdGRsaWIuaD4KKyAKKyAjaW5jbHVkZSA8cG5nLmg+CisrI2luY2x1ZGUgImNvbnN0LmgiCisgCisgaW50CisgcmVhZF9wbmcoY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCAqd2lkdGgsIGludCAqaGVpZ2h0LCB1bnNpZ25lZCBjaGFyICoqcmdiLCAKKyAgICAgIHVuc2lnbmVkIGNoYXIgKiphbHBoYSkKKyB7CistICAgIEZJTEUgKmluZmlsZSA9IGZvcGVuKGZpbGVuYW1lLCAicmIiKTsKKysgICAgaW50IHJldCA9IDA7CisgCisgICAgIHBuZ19zdHJ1Y3RwIHBuZ19wdHI7CisgICAgIHBuZ19pbmZvcCBpbmZvX3B0cjsKK0BAIC0zOCwzMSArMzksMjcgQEAgcmVhZF9wbmcoY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCAqd2lkdGgsIGludCAqaGVpZ2h0LCB1bnNpZ25lZCBjaGFyICoqcmdiLAorICAgICBpbnQgYml0X2RlcHRoLCBjb2xvcl90eXBlLCBpbnRlcmxhY2VfdHlwZTsKKyAgICAgaW50IGk7CisgCisrICAgIEZJTEUgKmluZmlsZSA9IGZvcGVuKGZpbGVuYW1lLCAicmIiKTsKKysgICAgaWYgKGluZmlsZSA9PSBOVUxMKSB7CisrICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkNhbiBub3QgZm9wZW4gZmlsZTogJXNcbiIsZmlsZW5hbWUpOworKyAgICAgICAgcmV0dXJuIHJldDsKKysgICAgfQorKworICAgICBwbmdfcHRyID0gcG5nX2NyZWF0ZV9yZWFkX3N0cnVjdChQTkdfTElCUE5HX1ZFUl9TVFJJTkcsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocG5nX3ZvaWRwKSBOVUxMLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBuZ19lcnJvcl9wdHIpIE5VTEwsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocG5nX2Vycm9yX3B0cikgTlVMTCk7CistICAgIGlmICghcG5nX3B0cikgCistICAgIHsKKy0gICAgICAgIGZjbG9zZShpbmZpbGUpOworLSAgICAgICAgcmV0dXJuKDApOworLSAgICB9CisrICAgIGlmICghcG5nX3B0cikKKysgICAgICAgIGdvdG8gZmlsZV9jbG9zZTsKKyAgIAorICAgICBpbmZvX3B0ciA9IHBuZ19jcmVhdGVfaW5mb19zdHJ1Y3QocG5nX3B0cik7CistICAgIGlmICghaW5mb19wdHIpCistICAgIHsKKysgICAgaWYgKCFpbmZvX3B0cikgeworICAgICAgICAgcG5nX2Rlc3Ryb3lfcmVhZF9zdHJ1Y3QoJnBuZ19wdHIsIChwbmdfaW5mb3BwKSBOVUxMLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwbmdfaW5mb3BwKSBOVUxMKTsKKy0gICAgICAgIGZjbG9zZShpbmZpbGUpOworLSAgICAgICAgcmV0dXJuKDApOworICAgICB9CisgICAKKyAgICAgaWYgKHNldGptcChwbmdfcHRyLT5qbXBidWYpKQorLSAgICB7CistICAgICAgICBwbmdfZGVzdHJveV9yZWFkX3N0cnVjdCgmcG5nX3B0ciwgJmluZm9fcHRyLCAocG5nX2luZm9wcCkgTlVMTCk7CistICAgICAgICBmY2xvc2UoaW5maWxlKTsKKy0gICAgICAgIHJldHVybigwKTsKKy0gICAgfQorKyAgICAgICAgZ290byBwbmdfZGVzdHJveTsKKyAgIAorICAgICBwbmdfaW5pdF9pbyhwbmdfcHRyLCBpbmZpbGUpOworICAgICBwbmdfcmVhZF9pbmZvKHBuZ19wdHIsIGluZm9fcHRyKTsKK0BAIC03MCwxOCArNjcsMjMgQEAgcmVhZF9wbmcoY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCAqd2lkdGgsIGludCAqaGVpZ2h0LCB1bnNpZ25lZCBjaGFyICoqcmdiLAorICAgICBwbmdfZ2V0X0lIRFIocG5nX3B0ciwgaW5mb19wdHIsICZ3LCAmaCwgJmJpdF9kZXB0aCwgJmNvbG9yX3R5cGUsCisgICAgICAgICAgICAgICAgICAmaW50ZXJsYWNlX3R5cGUsIChpbnQgKikgTlVMTCwgKGludCAqKSBOVUxMKTsKKyAKKysgICAgLyogUHJldmVudCBhZ2FpbnN0IGludGVnZXIgb3ZlcmZsb3cgKi8KKysgICAgaWYodyA+PSBNQVhfRElNRU5TSU9OIHx8IGggPj0gTUFYX0RJTUVOU0lPTikgeworKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJVbnJlYXNvbmFibGUgZGltZW5zaW9uIGZvdW5kIGluIGZpbGU6ICVzXG4iLGZpbGVuYW1lKTsKKysgICAgICAgIGdvdG8gcG5nX2Rlc3Ryb3k7CisrICAgIH0KKysKKyAgICAgKndpZHRoID0gKGludCkgdzsKKyAgICAgKmhlaWdodCA9IChpbnQpIGg7CisgICAgIAorICAgICBpZiAoY29sb3JfdHlwZSA9PSBQTkdfQ09MT1JfVFlQRV9SR0JfQUxQSEEKKy0gICAgfHwgY29sb3JfdHlwZSA9PSBQTkdfQ09MT1JfVFlQRV9HUkFZX0FMUEhBKQorLSAgICB7CistICAgIGFscGhhWzBdID0gbWFsbG9jKCp3aWR0aCAqICpoZWlnaHQpOworLSAgICBpZiAoYWxwaGFbMF0gPT0gTlVMTCkKKy0gICAgeworLSAgICAgICAgZnByaW50ZihzdGRlcnIsICJDYW4ndCBhbGxvY2F0ZSBtZW1vcnkgZm9yIGFscGhhIGNoYW5uZWwgaW4gUE5HIGZpbGUuXG4iKTsKKy0gICAgICAgIHJldHVybigwKTsgCistICAgIH0KKysgICAgICAgIHx8IGNvbG9yX3R5cGUgPT0gUE5HX0NPTE9SX1RZUEVfR1JBWV9BTFBIQSkgeworKyAgICAgICAgYWxwaGFbMF0gPSBtYWxsb2MoKndpZHRoICogKmhlaWdodCk7CisrICAgICAgICBpZiAoYWxwaGFbMF0gPT0gTlVMTCkKKysgICAgICAgIHsKKysgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkNhbid0IGFsbG9jYXRlIG1lbW9yeSBmb3IgYWxwaGEgY2hhbm5lbCBpbiBQTkcgZmlsZS5cbiIpOworKyAgICAgICAgICAgIGdvdG8gcG5nX2Rlc3Ryb3k7CisrICAgICAgICB9CisgICAgIH0KKyAKKyAgICAgLyogQ2hhbmdlIGEgcGFsZXR0ZWQvZ3JheXNjYWxlIGltYWdlIHRvIFJHQiAqLworQEAgLTk0LDY4ICs5Niw3MCBAQCByZWFkX3BuZyhjb25zdCBjaGFyICpmaWxlbmFtZSwgaW50ICp3aWR0aCwgaW50ICpoZWlnaHQsIHVuc2lnbmVkIGNoYXIgKipyZ2IsCisgICAgICAgICBwbmdfc2V0X2dyYXlfdG9fcmdiKHBuZ19wdHIpOworIAorICAgICAvKiBJZiB0aGUgUE5HIGZpbGUgaGFzIDE2IGJpdHMgcGVyIGNoYW5uZWwsIHN0cmlwIHRoZW0gZG93biB0byA4ICovCistICAgIGlmIChiaXRfZGVwdGggPT0gMTYpIHBuZ19zZXRfc3RyaXBfMTYocG5nX3B0cik7CisrICAgIGlmIChiaXRfZGVwdGggPT0gMTYpCisrICAgICAgICBwbmdfc2V0X3N0cmlwXzE2KHBuZ19wdHIpOworIAorICAgICAvKiB1c2UgMSBieXRlIHBlciBwaXhlbCAqLworICAgICBwbmdfc2V0X3BhY2tpbmcocG5nX3B0cik7CisgCisgICAgIHJvd19wb2ludGVycyA9IG1hbGxvYygqaGVpZ2h0ICogc2l6ZW9mKHBuZ19ieXRlcCkpOworLSAgICBpZiAocm93X3BvaW50ZXJzID09IE5VTEwpCistICAgIHsKKysgICAgaWYgKHJvd19wb2ludGVycyA9PSBOVUxMKSB7CisgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkNhbid0IGFsbG9jYXRlIG1lbW9yeSBmb3IgUE5HIGZpbGUuXG4iKTsKKy0gICAgICAgIHJldHVybigwKTsKKysgICAgICAgIGdvdG8gcG5nX2Rlc3Ryb3k7CisgICAgIH0KKyAKKy0gICAgZm9yIChpID0gMDsgaSA8ICpoZWlnaHQ7IGkrKykKKy0gICAgeworKyAgICBmb3IgKGkgPSAwOyBpIDwgKmhlaWdodDsgaSsrKSB7CisgICAgICAgICByb3dfcG9pbnRlcnNbaV0gPSBtYWxsb2MoNCAqICp3aWR0aCk7CistICAgICAgICBpZiAocm93X3BvaW50ZXJzID09IE5VTEwpCistICAgICAgICB7CisrICAgICAgICBpZiAocm93X3BvaW50ZXJzID09IE5VTEwpIHsKKyAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkNhbid0IGFsbG9jYXRlIG1lbW9yeSBmb3IgUE5HIGxpbmUuXG4iKTsKKy0gICAgICAgICAgICByZXR1cm4oMCk7CisrICAgICAgICAgICAgZ290byByb3dzX2ZyZWU7CisgICAgICAgICB9CisgICAgIH0KKyAKKyAgICAgcG5nX3JlYWRfaW1hZ2UocG5nX3B0ciwgcm93X3BvaW50ZXJzKTsKKyAKKyAgICAgcmdiWzBdID0gbWFsbG9jKDMgKiAqd2lkdGggKiAqaGVpZ2h0KTsKKy0gICAgaWYgKHJnYlswXSA9PSBOVUxMKQorLSAgICB7CisrICAgIGlmIChyZ2JbMF0gPT0gTlVMTCkgeworICAgICAgICAgZnByaW50ZihzdGRlcnIsICJDYW4ndCBhbGxvY2F0ZSBtZW1vcnkgZm9yIFBORyBmaWxlLlxuIik7CistICAgICAgICByZXR1cm4oMCk7CisrICAgICAgICBnb3RvIHJvd3NfZnJlZTsKKyAgICAgfQorIAorICAgICBpZiAoYWxwaGFbMF0gPT0gTlVMTCkKKyAgICAgeworLSAgICBwdHIgPSByZ2JbMF07CistICAgIGZvciAoaSA9IDA7IGkgPCAqaGVpZ2h0OyBpKyspCistICAgIHsKKy0gICAgICAgIG1lbWNweShwdHIsIHJvd19wb2ludGVyc1tpXSwgMyAqICp3aWR0aCk7CistICAgICAgICBwdHIgKz0gMyAqICp3aWR0aDsKKy0gICAgfQorLSAgICB9CistICAgIGVsc2UKKy0gICAgeworLSAgICBpbnQgajsKKy0gICAgcHRyID0gcmdiWzBdOworLSAgICBmb3IgKGkgPSAwOyBpIDwgKmhlaWdodDsgaSsrKQorLSAgICB7CistICAgICAgICBpbnQgaXBvcyA9IDA7CistICAgICAgICBmb3IgKGogPSAwOyBqIDwgKndpZHRoOyBqKyspCistICAgICAgICB7CistICAgICAgICAqcHRyKysgPSByb3dfcG9pbnRlcnNbaV1baXBvcysrXTsKKy0gICAgICAgICpwdHIrKyA9IHJvd19wb2ludGVyc1tpXVtpcG9zKytdOworLSAgICAgICAgKnB0cisrID0gcm93X3BvaW50ZXJzW2ldW2lwb3MrK107CistICAgICAgICBhbHBoYVswXVtpICogKndpZHRoICsgal0gPSByb3dfcG9pbnRlcnNbaV1baXBvcysrXTsKKysgICAgICAgIHB0ciA9IHJnYlswXTsKKysgICAgICAgIGZvciAoaSA9IDA7IGkgPCAqaGVpZ2h0OyBpKyspIHsKKysgICAgICAgICAgICBtZW1jcHkocHRyLCByb3dfcG9pbnRlcnNbaV0sIDMgKiAqd2lkdGgpOworKyAgICAgICAgICAgIHB0ciArPSAzICogKndpZHRoOworKyAgICAgICAgfQorKyAgICB9IGVsc2UgeworKyAgICAgICAgaW50IGo7CisrICAgICAgICBwdHIgPSByZ2JbMF07CisrICAgICAgICBmb3IgKGkgPSAwOyBpIDwgKmhlaWdodDsgaSsrKSB7CisrICAgICAgICAgICAgaW50IGlwb3MgPSAwOworKyAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCAqd2lkdGg7IGorKykgeworKyAgICAgICAgICAgICAgICAqcHRyKysgPSByb3dfcG9pbnRlcnNbaV1baXBvcysrXTsKKysgICAgICAgICAgICAgICAgKnB0cisrID0gcm93X3BvaW50ZXJzW2ldW2lwb3MrK107CisrICAgICAgICAgICAgICAgICpwdHIrKyA9IHJvd19wb2ludGVyc1tpXVtpcG9zKytdOworKyAgICAgICAgICAgICAgICBhbHBoYVswXVtpICogKndpZHRoICsgal0gPSByb3dfcG9pbnRlcnNbaV1baXBvcysrXTsKKysgICAgICAgICAgICB9CisgICAgICAgICB9CistICAgIH0KKyAgICAgfQorIAorLSAgICBwbmdfZGVzdHJveV9yZWFkX3N0cnVjdCgmcG5nX3B0ciwgJmluZm9fcHRyLCAocG5nX2luZm9wcCkgTlVMTCk7CisrICAgIHJldCA9IDE7IC8qIGRhdGEgcmVhZGluZyBpcyBPSyAqLworKworK3Jvd3NfZnJlZToKKysgICAgZm9yIChpID0gMDsgaSA8ICpoZWlnaHQ7IGkrKykgeworKyAgICAgICAgaWYgKHJvd19wb2ludGVyc1tpXSAhPSBOVUxMICkgeworKyAgICAgICAgICAgIGZyZWUocm93X3BvaW50ZXJzW2ldKTsKKysgICAgICAgIH0KKysgICAgfQorIAorLSAgICBmb3IgKGkgPSAwOyBpIDwgKmhlaWdodDsgaSsrKSBmcmVlKHJvd19wb2ludGVyc1tpXSk7CisgICAgIGZyZWUocm93X3BvaW50ZXJzKTsKKyAKKytwbmdfZGVzdHJveToKKysgICAgcG5nX2Rlc3Ryb3lfcmVhZF9zdHJ1Y3QoJnBuZ19wdHIsICZpbmZvX3B0ciwgKHBuZ19pbmZvcHApIE5VTEwpOworKworK2ZpbGVfY2xvc2U6CisgICAgIGZjbG9zZShpbmZpbGUpOworLSAgICByZXR1cm4oMSk7CisrICAgIHJldHVybihyZXQpOworIH0KKy0tIAorMS42LjYuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW0vMDAwMy1GaXgtYnVpbGQtZmFpbHVyZS13aXRoLWxkLWFzLW5lZWRlZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NsaW0vc2xpbS8wMDAzLUZpeC1idWlsZC1mYWlsdXJlLXdpdGgtbGQtYXMtbmVlZGVkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3MWM0ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW0vMDAwMy1GaXgtYnVpbGQtZmFpbHVyZS13aXRoLWxkLWFzLW5lZWRlZC5wYXRjaApAQCAtMCwwICsxLDM3IEBACitGcm9tIDZhYWQ5MTNkZGQ1Y2RiNDczZGI5ZmEyMWE1ZThlY2VjNThkZTE3MmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBpd2FtYXRzdSA8aXdhbWF0c3VAN2M1M2U3Y2MtOThlYS0wMzEwLThmMWYtYTBiMjRkYTYwNDA4PgorRGF0ZTogV2VkLCAxMiBKYW4gMjAxMSAwNDo0MTowMiArMDAwMAorU3ViamVjdDogW1BBVENIIDMvOF0gRml4IGJ1aWxkIGZhaWx1cmUgd2l0aCBsZCAtLWFzLW5lZWRlZC4KKworU2lnbmVkLW9mZi1ieTogTm9idWhpcm8gSXdhbWF0c3UgPGl3YW1hdHN1QG5pZ2F1cmkub3JnPgorCitnaXQtc3ZuLWlkOiBzdm46Ly9zdm4uYmVybGlvcy5kZS9zbGltL3RydW5rQDE3NyA3YzUzZTdjYy05OGVhLTAzMTAtOGYxZi1hMGIyNGRhNjA0MDgKKy0tLQorIE1ha2VmaWxlIHwgICAgNCArKy0tCisgMSBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCAxMjE5ZGU0Li5mYWZhMGVmIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtNCw3ICs0LDcgQEAKKyAjIHRvIGZpdCBpbnRvIHlvdXIgb3BlcmF0aW5nIHN5c3RlbSAvIGRpc3RyaWJ1dGlvbgorICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyBDWFg9L3Vzci9iaW4vZysrCistQ0M9L3Vzci9iaW4vZ2NjCisrQ0M9L3Vzci9iaW4vZ2NjLTQuNQorIENGTEFHUz0tV2FsbCAtSS4gLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMi9jb25maWcgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUKKyBDWFhGTEFHUz0kKENGTEFHUykKKyBMREZMQUdTPS1sWGZ0IC1sWDExIC1sZnJlZXR5cGUgLWxYcmVuZGVyIC1sZm9udGNvbmZpZyAtbHBuZzEyIC1seiAtbG0gLWxjcnlwdCAtbFhtdSAtbHBuZyAtbGpwZWcgLWxydAorQEAgLTMzLDcgKzMzLDcgQEAgZW5kaWYKKyBhbGw6IHNsaW0KKyAKKyBzbGltOiAkKE9CSkVDVFMpCistCSQoQ1hYKSAkKExERkxBR1MpICQoT0JKRUNUUykgLW8gJChOQU1FKQorKwkkKENYWCkgJChPQkpFQ1RTKSAkKExERkxBR1MpIC1vICQoTkFNRSkKKyAKKyAuY3BwLm86CisgCSQoQ1hYKSAkKENYWEZMQUdTKSAkKERFRklORVMpICQoQ1VTVE9NKSAtYyAkPCAtbyAkQAorLS0gCisxLjYuNi4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NsaW0vc2xpbS8wMDA0LUFkZC1zdXBwb3J0LWxpYnBuZzE1LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc2xpbS9zbGltLzAwMDQtQWRkLXN1cHBvcnQtbGlicG5nMTUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjIwODdjMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NsaW0vc2xpbS8wMDA0LUFkZC1zdXBwb3J0LWxpYnBuZzE1LnBhdGNoCkBAIC0wLDAgKzEsNTAgQEAKK0Zyb20gYzIwNjdlOGMxNmJmYjcyMWQzMzk3MThhZTBjOTljNzBhOTk0OTM2YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGl3YW1hdHN1IDxpd2FtYXRzdUA3YzUzZTdjYy05OGVhLTAzMTAtOGYxZi1hMGIyNGRhNjA0MDg+CitEYXRlOiBGcmksIDE3IEp1biAyMDExIDIwOjM1OjA3ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggNC84XSBBZGQgc3VwcG9ydCBsaWJwbmcxNQorCitTaWduZWQtb2ZmLWJ5OiBOb2J1aGlybyBJd2FtYXRzdSA8aXdhbWF0c3VAbmlnYXVyaS5vcmc+CisKK2dpdC1zdm4taWQ6IHN2bjovL3N2bi5iZXJsaW9zLmRlL3NsaW0vdHJ1bmtAMTc4IDdjNTNlN2NjLTk4ZWEtMDMxMC04ZjFmLWEwYjI0ZGE2MDQwOAorLS0tCisgTWFrZWZpbGUgfCAgICA0ICsrLS0KKyBwbmcuYyAgICB8ICAgIDYgKysrKystCisgMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCBmYWZhMGVmLi4xMjAyNjE0IDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtNSw5ICs1LDkgQEAKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgQ1hYPS91c3IvYmluL2crKworIENDPS91c3IvYmluL2djYy00LjUKKy1DRkxBR1M9LVdhbGwgLUkuIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIvY29uZmlnIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlCisrQ0ZMQUdTPS1XYWxsIC1JLiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyL2NvbmZpZyAtSS91c3IvaW5jbHVkZQorIENYWEZMQUdTPSQoQ0ZMQUdTKQorLUxERkxBR1M9LWxYZnQgLWxYMTEgLWxmcmVldHlwZSAtbFhyZW5kZXIgLWxmb250Y29uZmlnIC1scG5nMTIgLWx6IC1sbSAtbGNyeXB0IC1sWG11IC1scG5nIC1sanBlZyAtbHJ0CisrTERGTEFHUz0tbFhmdCAtbFgxMSAtbGZyZWV0eXBlIC1sWHJlbmRlciAtbGZvbnRjb25maWcgLWxwbmcgLWx6IC1sbSAtbGNyeXB0IC1sWG11IC1scG5nIC1sanBlZyAtbHJ0CisgQ1VTVE9NPS1ESEFWRV9TSEFET1cKKyBpZmRlZiBVU0VfUEFNCisgTERGTEFHUys9IC1scGFtCitkaWZmIC0tZ2l0IGEvcG5nLmMgYi9wbmcuYworaW5kZXggNWMwODZjNi4uYWEwZjVlNSAxMDA2NDQKKy0tLSBhL3BuZy5jCisrKysgYi9wbmcuYworQEAgLTU3LDggKzU3LDEyIEBAIHJlYWRfcG5nKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgKndpZHRoLCBpbnQgKmhlaWdodCwgdW5zaWduZWQgY2hhciAqKnJnYiwKKyAgICAgICAgIHBuZ19kZXN0cm95X3JlYWRfc3RydWN0KCZwbmdfcHRyLCAocG5nX2luZm9wcCkgTlVMTCwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocG5nX2luZm9wcCkgTlVMTCk7CisgICAgIH0KKy0gIAorKworKyNpZiBQTkdfTElCUE5HX1ZFUl9NQUpPUiA+PSAxICYmIFBOR19MSUJQTkdfVkVSX01JTk9SID49IDQKKysJaWYgKHNldGptcChwbmdfam1wYnVmKChkYXRhLT5wbmdfcHRyKSkpKQorKyNlbHNlCisgICAgIGlmIChzZXRqbXAocG5nX3B0ci0+am1wYnVmKSkKKysjZW5kaWYKKyAgICAgICAgIGdvdG8gcG5nX2Rlc3Ryb3k7CisgICAKKyAgICAgcG5nX2luaXRfaW8ocG5nX3B0ciwgaW5maWxlKTsKKy0tIAorMS42LjYuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW0vMDAwNS1SZW1vdmUtcGF0aC1vZi1nY2MtYW1kLWctYW5kLXZlcnNpb24tb2YtZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NsaW0vc2xpbS8wMDA1LVJlbW92ZS1wYXRoLW9mLWdjYy1hbWQtZy1hbmQtdmVyc2lvbi1vZi1nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2NmFlMzUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW0vMDAwNS1SZW1vdmUtcGF0aC1vZi1nY2MtYW1kLWctYW5kLXZlcnNpb24tb2YtZy5wYXRjaApAQCAtMCwwICsxLDMwIEBACitGcm9tIDRmNjllYjFhYTg1ZmJiMzk1YTA0NzRiMWYzNzY1MDVmYWI4MWVlMjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBpd2FtYXRzdSA8aXdhbWF0c3VAN2M1M2U3Y2MtOThlYS0wMzEwLThmMWYtYTBiMjRkYTYwNDA4PgorRGF0ZTogRnJpLCAxNyBKdW4gMjAxMSAyMDozNToxMCArMDAwMAorU3ViamVjdDogW1BBVENIIDUvOF0gUmVtb3ZlIHBhdGggb2YgZ2NjIGFtZCBnKyssIGFuZCB2ZXJzaW9uIG9mIGcrKworCitTaWduZWQtb2ZmLWJ5OiBOb2J1aGlybyBJd2FtYXRzdSA8aXdhbWF0c3VAbmlnYXVyaS5vcmc+CisKK2dpdC1zdm4taWQ6IHN2bjovL3N2bi5iZXJsaW9zLmRlL3NsaW0vdHJ1bmtAMTc5IDdjNTNlN2NjLTk4ZWEtMDMxMC04ZjFmLWEwYjI0ZGE2MDQwOAorLS0tCisgTWFrZWZpbGUgfCAgICA0ICsrLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IDEyMDI2MTQuLjVjNWZkZTEgMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0zLDggKzMsOCBAQAorICMgRWRpdCB0aGUgZm9sbG93aW5nIHNlY3Rpb24gdG8gYWRqdXN0IHRoZSBvcHRpb25zCisgIyB0byBmaXQgaW50byB5b3VyIG9wZXJhdGluZyBzeXN0ZW0gLyBkaXN0cmlidXRpb24KKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistQ1hYPS91c3IvYmluL2crKworLUNDPS91c3IvYmluL2djYy00LjUKKytDWFg9ZysrCisrQ0M9Z2NjCisgQ0ZMQUdTPS1XYWxsIC1JLiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyL2NvbmZpZyAtSS91c3IvaW5jbHVkZQorIENYWEZMQUdTPSQoQ0ZMQUdTKQorIExERkxBR1M9LWxYZnQgLWxYMTEgLWxmcmVldHlwZSAtbFhyZW5kZXIgLWxmb250Y29uZmlnIC1scG5nIC1seiAtbG0gLWxjcnlwdCAtbFhtdSAtbHBuZyAtbGpwZWcgLWxydAorLS0gCisxLjYuNi4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NsaW0vc2xpbS8wMDA2LVJlbW92ZS1sb2NhbGhvc3QtZnJvbS1BdXRoZW50aWNhdG9yLW9mLXBhbS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NsaW0vc2xpbS8wMDA2LVJlbW92ZS1sb2NhbGhvc3QtZnJvbS1BdXRoZW50aWNhdG9yLW9mLXBhbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNWI4MTI1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc2xpbS9zbGltLzAwMDYtUmVtb3ZlLWxvY2FsaG9zdC1mcm9tLUF1dGhlbnRpY2F0b3Itb2YtcGFtLnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Zyb20gZTE4OGQ1ZmQzZTNjMGU0MGMzZTM1NzI5ZmQ4YjgxYjEzODE5MWE3NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGl3YW1hdHN1IDxpd2FtYXRzdUA3YzUzZTdjYy05OGVhLTAzMTAtOGYxZi1hMGIyNGRhNjA0MDg+CitEYXRlOiBGcmksIDE3IEp1biAyMDExIDIwOjM1OjEzICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggNi84XSBSZW1vdmUgbG9jYWxob3N0IGZyb20gQXV0aGVudGljYXRvciBvZiBwYW0KKworaHR0cDovL2J1Z3MuZ2VudG9vLm9yZy8zNDYwMzcKK2h0dHBzOi8vZGV2ZWxvcGVyLmJlcmxpb3MuZGUvYnVncy8/ZnVuYz1kZXRhaWxidWcmYnVnX2lkPTE3NzU3Jmdyb3VwX2lkPTI2NjMKK2h0dHA6Ly9zb3VyY2VzLmdlbnRvby5vcmcvY2dpLWJpbi92aWV3dmMuY2dpL2dlbnRvby14ODYveDExLW1pc2Mvc2xpbS9maWxlcy8zNDYwMzctc3RvcF9zZXR0aW5nX2hvc3RfZm9yX3BhbV9ja19jb25uZWN0b3Jfc28ucGF0Y2g/dmlldz1sb2cKKworU2lnbmVkLW9mZi1ieTogTm9idWhpcm8gSXdhbWF0c3UgPGl3YW1hdHN1QG5pZ2F1cmkub3JnPgorCitnaXQtc3ZuLWlkOiBzdm46Ly9zdm4uYmVybGlvcy5kZS9zbGltL3RydW5rQDE4MCA3YzUzZTdjYy05OGVhLTAzMTAtOGYxZi1hMGIyNGRhNjA0MDgKKy0tLQorIGFwcC5jcHAgfCAgICAyIC0tCisgMSBmaWxlcyBjaGFuZ2VkLCAwIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9hcHAuY3BwIGIvYXBwLmNwcAoraW5kZXggYzgwYTczZS4uNzE3NzM2MyAxMDA2NDQKKy0tLSBhL2FwcC5jcHAKKysrKyBiL2FwcC5jcHAKK0BAIC0yMzYsOCArMjM2LDYgQEAgdm9pZCBBcHA6OlJ1bigpIHsKKyAgICAgICAgIHBhbS5zdGFydCgic2xpbSIpOworICAgICAgICAgcGFtLnNldF9pdGVtKFBBTTo6QXV0aGVudGljYXRvcjo6VFRZLCBEaXNwbGF5TmFtZSk7CisgICAgICAgICBwYW0uc2V0X2l0ZW0oUEFNOjpBdXRoZW50aWNhdG9yOjpSZXF1ZXN0b3IsICJyb290Iik7CistICAgICAgICBwYW0uc2V0X2l0ZW0oUEFNOjpBdXRoZW50aWNhdG9yOjpIb3N0LCAibG9jYWxob3N0Iik7CistCisgICAgIH0KKyAgICAgY2F0Y2goUEFNOjpFeGNlcHRpb24mIGUpeworICAgICAgICAgY2VyciA8PCBBUFBOQU1FIDw8ICI6ICIgPDwgZSA8PCBlbmRsOworLS0gCisxLjYuNi4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NsaW0vc2xpbS8wMDA3LUZpeC10dHktc2xvd25lc3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW0vMDAwNy1GaXgtdHR5LXNsb3duZXNzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhMjUwMmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW0vMDAwNy1GaXgtdHR5LXNsb3duZXNzLnBhdGNoCkBAIC0wLDAgKzEsNDcgQEAKK0Zyb20gZGExNzJmZDYyMzRiM2IyYjQ4N2FiMzZkNjNkYTcyNzU4ODI5Y2IxZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGl3YW1hdHN1IDxpd2FtYXRzdUA3YzUzZTdjYy05OGVhLTAzMTAtOGYxZi1hMGIyNGRhNjA0MDg+CitEYXRlOiBGcmksIDE3IEp1biAyMDExIDIwOjM1OjE1ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggNy84XSBGaXggdHR5IHNsb3duZXNzCisKK1NpZ25lZC1vZmYtYnk6IE5vYnVoaXJvIEl3YW1hdHN1IDxpd2FtYXRzdUBuaWdhdXJpLm9yZz4KKworZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLmJlcmxpb3MuZGUvc2xpbS90cnVua0AxODEgN2M1M2U3Y2MtOThlYS0wMzEwLThmMWYtYTBiMjRkYTYwNDA4CistLS0KKyBhcHAuY3BwIHwgICAxMCArKysrKystLS0tCisgMSBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9hcHAuY3BwIGIvYXBwLmNwcAoraW5kZXggNzE3NzM2My4uNDRhYjA5OSAxMDA2NDQKKy0tLSBhL2FwcC5jcHAKKysrKyBiL2FwcC5jcHAKK0BAIC0yNzgsMjEgKzI3OCwyMyBAQCB2b2lkIEFwcDo6UnVuKCkgeworICAgICAgICAgc2lnbmFsKFNJR0FMUk0sIEFsYXJtU2lnbmFsKTsKKyAKKyAjaWZuZGVmIFhORVNUX0RFQlVHCistICAgICAgICBPcGVuTG9nKCk7CistICAgICAgICAKKyAgICAgICAgIGlmICghZm9yY2Vfbm9kYWVtb24gJiYgY2ZnLT5nZXRPcHRpb24oImRhZW1vbiIpID09ICJ5ZXMiKSB7CisgICAgICAgICAgICAgZGFlbW9ubW9kZSA9IHRydWU7CisgICAgICAgICB9CisgCisgICAgICAgICAvLyBEYWVtb25pemUKKyAgICAgICAgIGlmIChkYWVtb25tb2RlKSB7CistICAgICAgICAgICAgaWYgKGRhZW1vbigwLCAxKSA9PSAtMSkgeworKyAgICAgICAgICAgIGlmIChkYWVtb24oMCwgMCkgPT0gLTEpIHsKKyAgICAgICAgICAgICAgICAgY2VyciA8PCBBUFBOQU1FIDw8ICI6ICIgPDwgc3RyZXJyb3IoZXJybm8pIDw8IGVuZGw7CisgICAgICAgICAgICAgICAgIGV4aXQoRVJSX0VYSVQpOworICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICBVcGRhdGVQaWQoKTsKKyAgICAgICAgIH0KKyAKKysgICAgICAgIE9wZW5Mb2coKTsKKysKKysgICAgICAgIGlmIChkYWVtb25tb2RlKQorKyAgICAgICAgICAgIFVwZGF0ZVBpZCgpOworKworICAgICAgICAgQ3JlYXRlU2VydmVyQXV0aCgpOworICAgICAgICAgU3RhcnRTZXJ2ZXIoKTsKKyAgICAgICAgIGFsYXJtKDIpOworLS0gCisxLjYuNi4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NsaW0vc2xpbS8wMDA4LXJlc3RhcnQtWHNlcnZlci1pZi1raWxsZWQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW0vMDAwOC1yZXN0YXJ0LVhzZXJ2ZXItaWYta2lsbGVkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjNWNmYjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW0vMDAwOC1yZXN0YXJ0LVhzZXJ2ZXItaWYta2lsbGVkLnBhdGNoCkBAIC0wLDAgKzEsMTYxIEBACitGcm9tIGVlNzdhM2QxNTQ0NDNkMjgyM2VjYmYyMTQxZGFhMWI1OTI0ZjYyOWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBpd2FtYXRzdSA8aXdhbWF0c3VAN2M1M2U3Y2MtOThlYS0wMzEwLThmMWYtYTBiMjRkYTYwNDA4PgorRGF0ZTogRnJpLCAxNyBKdW4gMjAxMSAyMDozODozNCArMDAwMAorU3ViamVjdDogW1BBVENIIDgvOF0gcmVzdGFydCBYc2VydmVyIGlmIGtpbGxlZAorCitQYXRjaCBmcm9tIGh0dHA6Ly9kZXZlbG9wZXIuYmVybGlvcy5kZS9wYXRjaC8/ZnVuYz1kZXRhaWxwYXRjaCZwYXRjaF9pZD0yMzc4Jmdyb3VwX2lkPTI2NjMuCisKK1NpZ25lZC1vZmYtYnk6IE5vYnVoaXJvIEl3YW1hdHN1IDxpd2FtYXRzdUBuaWdhdXJpLm9yZz4KKworZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLmJlcmxpb3MuZGUvc2xpbS90cnVua0AxODIgN2M1M2U3Y2MtOThlYS0wMzEwLThmMWYtYTBiMjRkYTYwNDA4CistLS0KKyBhcHAuY3BwIHwgICAzNiArKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBhcHAuaCAgIHwgICAgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9hcHAuY3BwIGIvYXBwLmNwcAoraW5kZXggNDRhYjA5OS4uMzU4YTk4ZiAxMDA2NDQKKy0tLSBhL2FwcC5jcHAKKysrKyBiL2FwcC5jcHAKK0BAIC0xMDQsNiArMTA0LDExIEBAIGludCBjb252KGludCBudW1fbXNnLCBjb25zdCBzdHJ1Y3QgcGFtX21lc3NhZ2UgKiptc2csCisgCisgZXh0ZXJuIEFwcCogTG9naW5BcHA7CisgCisraW50IHhpb2Vycm9yKERpc3BsYXkgKmRpc3ApIHsKKysJTG9naW5BcHAtPlJlc3RhcnRTZXJ2ZXIoKTsKKysgICAgcmV0dXJuIDA7CisrfQorKworIHZvaWQgQ2F0Y2hTaWduYWwoaW50IHNpZykgeworICAgICBjZXJyIDw8IEFQUE5BTUUgPDwgIjogdW5leHBlY3RlZCBzaWduYWwgIiA8PCBzaWcgPDwgZW5kbDsKKyAKK0BAIC0xMTQsMTkgKzExOSw2IEBAIHZvaWQgQ2F0Y2hTaWduYWwoaW50IHNpZykgeworICAgICBleGl0KEVSUl9FWElUKTsKKyB9CisgCistCistdm9pZCBBbGFybVNpZ25hbChpbnQgc2lnKSB7CistICAgIGludCBwaWQgPSBMb2dpbkFwcC0+R2V0U2VydmVyUElEKCk7CistICAgIGlmKHdhaXRwaWQocGlkLCBOVUxMLCBXTk9IQU5HKSA9PSBwaWQpIHsKKy0gICAgICAgIExvZ2luQXBwLT5TdG9wU2VydmVyKCk7CistICAgICAgICBMb2dpbkFwcC0+UmVtb3ZlTG9jaygpOworLSAgICAgICAgZXhpdChPS19FWElUKTsKKy0gICAgfQorLSAgICBzaWduYWwoc2lnLCBBbGFybVNpZ25hbCk7CistICAgIGFsYXJtKDIpOworLX0KKy0KKy0KKyB2b2lkIFVzZXIxU2lnbmFsKGludCBzaWcpIHsKKyAgICAgc2lnbmFsKHNpZywgVXNlcjFTaWduYWwpOworIH0KK0BAIC0yNzUsNyArMjY3LDYgQEAgdm9pZCBBcHA6OlJ1bigpIHsKKyAgICAgICAgIHNpZ25hbChTSUdIVVAsIENhdGNoU2lnbmFsKTsKKyAgICAgICAgIHNpZ25hbChTSUdQSVBFLCBDYXRjaFNpZ25hbCk7CisgICAgICAgICBzaWduYWwoU0lHVVNSMSwgVXNlcjFTaWduYWwpOworLSAgICAgICAgc2lnbmFsKFNJR0FMUk0sIEFsYXJtU2lnbmFsKTsKKyAKKyAjaWZuZGVmIFhORVNUX0RFQlVHCisgICAgICAgICBpZiAoIWZvcmNlX25vZGFlbW9uICYmIGNmZy0+Z2V0T3B0aW9uKCJkYWVtb24iKSA9PSAieWVzIikgeworQEAgLTI5Nyw3ICsyODgsNiBAQCB2b2lkIEFwcDo6UnVuKCkgeworIAorICAgICAgICAgQ3JlYXRlU2VydmVyQXV0aCgpOworICAgICAgICAgU3RhcnRTZXJ2ZXIoKTsKKy0gICAgICAgIGFsYXJtKDIpOworICNlbmRpZgorIAorICAgICB9CitAQCAtNjEzLDYgKzYwMyw4IEBAIHZvaWQgQXBwOjpMb2dpbigpIHsKKyAgICAgaW50IHN0YXR1czsKKyAgICAgd2hpbGUgKHdwaWQgIT0gcGlkKSB7CisgICAgICAgICB3cGlkID0gd2FpdCgmc3RhdHVzKTsKKysJCWlmICh3cGlkID09IFNlcnZlclBJRCkKKysJCQl4aW9lcnJvcihEcHkpOwkvLyBTZXJ2ZXIgZGllZCwgc2ltdWxhdGUgSU8gZXJyb3IKKyAgICAgfQorICAgICBpZiAoV0lGRVhJVEVEKHN0YXR1cykgJiYgV0VYSVRTVEFUVVMoc3RhdHVzKSkgeworICAgICAgICAgTG9naW5QYW5lbC0+TWVzc2FnZSgiRmFpbGVkIHRvIGV4ZWN1dGUgbG9naW4gY29tbWFuZCIpOworQEAgLTY1OCw5ICs2NTAsNiBAQCB2b2lkIEFwcDo6TG9naW4oKSB7CisgCisgCisgdm9pZCBBcHA6OlJlYm9vdCgpIHsKKy0gICAgLy8gU3RvcCBhbGFybSBjbG9jaworLSAgICBhbGFybSgwKTsKKy0KKyAjaWZkZWYgVVNFX1BBTQorICAgICB0cnl7CisgICAgICAgICBwYW0uZW5kKCk7CitAQCAtNjgzLDkgKzY3Miw2IEBAIHZvaWQgQXBwOjpSZWJvb3QoKSB7CisgCisgCisgdm9pZCBBcHA6OkhhbHQoKSB7CistICAgIC8vIFN0b3AgYWxhcm0gY2xvY2sKKy0gICAgYWxhcm0oMCk7CistCisgI2lmZGVmIFVTRV9QQU0KKyAgICAgdHJ5eworICAgICAgICAgcGFtLmVuZCgpOworQEAgLTc3MSw2ICs3NTcsNyBAQCB2b2lkIEFwcDo6UmVzdGFydFNlcnZlcigpIHsKKyAKKyAgICAgU3RvcFNlcnZlcigpOyAKKyAgICAgUmVtb3ZlTG9jaygpOworKwl3aGlsZSAod2FpdHBpZCgtMSwgTlVMTCwgV05PSEFORykgPiAwKTsgLy8gQ29sbGVjdHMgYWxsIGRlYWQgY2hpbGRyZW5zCisgICAgIFJ1bigpOworIH0gCisgCitAQCAtODQxLDYgKzgyOCw3IEBAIGludCBBcHA6OldhaXRGb3JTZXJ2ZXIoKSB7CisgCisgICAgIGZvcihjeWNsZXMgPSAwOyBjeWNsZXMgPCBuY3ljbGVzOyBjeWNsZXMrKykgeworICAgICAgICAgaWYoKERweSA9IFhPcGVuRGlzcGxheShEaXNwbGF5TmFtZSkpKSB7CisrICAgICAgICAgICAgWFNldElPRXJyb3JIYW5kbGVyKHhpb2Vycm9yKTsKKyAgICAgICAgICAgICByZXR1cm4gMTsKKyAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgaWYoIVNlcnZlclRpbWVvdXQoMSwgKGNoYXIgKikgIlggc2VydmVyIHRvIGJlZ2luIGFjY2VwdGluZyBjb25uZWN0aW9ucyIpKQorQEAgLTkyNSw5ICs5MTMsNiBAQCBpbnQgQXBwOjpTdGFydFNlcnZlcigpIHsKKyAgICAgICAgICAgICBTZXJ2ZXJQSUQgPSAtMTsKKyAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgIH0KKy0gICAgICAgIGFsYXJtKDE1KTsKKy0gICAgICAgIHBhdXNlKCk7CistICAgICAgICBhbGFybSgwKTsKKyAKKyAgICAgICAgIC8vIFdhaXQgZm9yIHNlcnZlciB0byBzdGFydCB1cAorICAgICAgICAgaWYoV2FpdEZvclNlcnZlcigpID09IDApIHsKK0BAIC05NjIsMTUgKzk0NywxMiBAQCBpbnQgSWdub3JlWElPKERpc3BsYXkgKmQpIHsKKyAKKyAKKyB2b2lkIEFwcDo6U3RvcFNlcnZlcigpIHsKKy0gICAgLy8gU3RvcCBhbGFycyBjbG9jayBhbmQgaWdub3JlIHNpZ25hbHMKKy0gICAgYWxhcm0oMCk7CisgICAgIHNpZ25hbChTSUdRVUlULCBTSUdfSUdOKTsKKyAgICAgc2lnbmFsKFNJR0lOVCwgU0lHX0lHTik7CisgICAgIHNpZ25hbChTSUdIVVAsIFNJR19JR04pOworICAgICBzaWduYWwoU0lHUElQRSwgU0lHX0lHTik7CisgICAgIHNpZ25hbChTSUdURVJNLCBTSUdfREZMKTsKKyAgICAgc2lnbmFsKFNJR0tJTEwsIFNJR19ERkwpOworLSAgICBzaWduYWwoU0lHQUxSTSwgU0lHX0RGTCk7CisgCisgICAgIC8vIENhdGNoIFggZXJyb3IKKyAgICAgWFNldElPRXJyb3JIYW5kbGVyKElnbm9yZVhJTyk7CitkaWZmIC0tZ2l0IGEvYXBwLmggYi9hcHAuaAoraW5kZXggZGQ3YzI4MS4uMmRiMTAzOCAxMDA2NDQKKy0tLSBhL2FwcC5oCisrKysgYi9hcHAuaAorQEAgLTM0LDYgKzM0LDcgQEAgcHVibGljOgorICAgICB+QXBwKCk7CisgICAgIHZvaWQgUnVuKCk7CisgICAgIGludCBHZXRTZXJ2ZXJQSUQoKTsKKysgICAgdm9pZCBSZXN0YXJ0U2VydmVyKCk7CisgICAgIHZvaWQgU3RvcFNlcnZlcigpOworIAorIAlib29sIHNlcnZlclN0YXJ0ZWQ7CitAQCAtNDksNyArNTAsNiBAQCBwcml2YXRlOgorICAgICB2b2lkIENvbnNvbGUoKTsKKyAgICAgdm9pZCBFeGl0KCk7CisgICAgIHZvaWQgS2lsbEFsbENsaWVudHMoQm9vbCB0b3ApOworLSAgICB2b2lkIFJlc3RhcnRTZXJ2ZXIoKTsKKyAgICAgdm9pZCBSZWFkQ29uZmlnKCk7CisgICAgIHZvaWQgT3BlbkxvZygpOworICAgICB2b2lkIENsb3NlTG9nKCk7CistLSAKKzEuNi42LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc2xpbS9zbGltL01ha2VmaWxlLm9lIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc2xpbS9zbGltL01ha2VmaWxlLm9lCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlZTY5MzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW0vTWFrZWZpbGUub2UKQEAgLTAsMCArMSw2NCBAQAorIyBNYWtlZmlsZSBmb3Igc2xpbSAtIE9wZW5FbWJlZGRlZAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisKK1NMSU1MREZMQUdTPS1sWGZ0IC1sWDExIC1sZnJlZXR5cGUgLWxYcmVuZGVyIC1sZm9udGNvbmZpZyAtbHBuZzEyIC1seiAtbG0gLWxjcnlwdCAtbFhtdSAtbHBuZyAtbGpwZWcgLWxydCAtbHB0aHJlYWQKK0NVU1RPTT0tREhBVkVfU0hBRE9XCisKK1VTRV9QQU09MQoraWZkZWYgVVNFX1BBTQorU0xJTUxERkxBR1MrPSAtbHBhbQorQ1VTVE9NKz0gLURVU0VfUEFNCitlbmRpZgorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK05BTUU9c2xpbQorVkVSU0lPTj0xLjMuMgorCitERUZJTkVTPS1EUEFDS0FHRT1cIiQoTkFNRSlcIiAtRFZFUlNJT049XCIkKFZFUlNJT04pXCIgXAorCQktRFBLR0RBVEFESVI9XCIkKFBSRUZJWCkvc2hhcmUvc2xpbVwiIC1EU1lTQ09ORkRJUj1cIiQoQ0ZHRElSKVwiCisKK09CSkVDVFM9anBlZy5vIHBuZy5vIG1haW4ubyBpbWFnZS5vIG51bWxvY2subyBjZmcubyBzd2l0Y2h1c2VyLm8gYXBwLm8gXAorCXBhbmVsLm8gdXRpbC5vCitpZmRlZiBVU0VfUEFNCitPQkpFQ1RTKz1QQU0ubworZW5kaWYKKworYWxsOiBzbGltCisKK3NsaW06ICQoT0JKRUNUUykKKwkkKENYWCkgJChPQkpFQ1RTKSAkKExERkxBR1MpICQoU0xJTUxERkxBR1MpIC1vICQoTkFNRSkKKworLmNwcC5vOgorCSQoQ1hYKSAkKENYWEZMQUdTKSAkKERFRklORVMpICQoQ1VTVE9NKSAtYyAkPCAtbyAkQAorCisuYy5vOgorCSQoQ0MpICQoQ0ZMQUdTKSAkKERFRklORVMpICQoQ1VTVE9NKSAtYyAkPCAtbyAkQAorCitpbnN0YWxsOiBzbGltIGluc3RhbGwtdGhlbWUKKwlpbnN0YWxsIC1EIC1tIDc1NSBzbGltICQoREVTVERJUikkKFBSRUZJWCkvYmluL3NsaW0KKwlpbnN0YWxsIC1EIC1tIDY0NCBzbGltLjEgJChERVNURElSKSQoTUFORElSKS9tYW4xL3NsaW0uMQorCXRlc3QgLWUgJChERVNURElSKSQoQ0ZHRElSKS9zbGltLmNvbmYgfHwgXAorCQlpbnN0YWxsIC1EIC1tIDY0NCBzbGltLmNvbmYgJChERVNURElSKSQoQ0ZHRElSKS9zbGltLmNvbmYKKworY2xlYW46CisJQHJtIC1mIHNsaW0gKi5vCisKK2Rpc3Q6CisJQHJtIC1yZiAkKE5BTUUpLSQoVkVSU0lPTikKKwlAbWtkaXIgJChOQU1FKS0kKFZFUlNJT04pCisJQGNwIC1yICouY3BwICouaCAqLmMgTWFrZWZpbGUgTWFrZWZpbGUuKiBDT1BZSU5HIENoYW5nZUxvZyBJTlNUQUxMIFJFQURNRSBUT0RPIFwKKwkJeGluaXRyYy5zYW1wbGUgc2xpbS4xIFRIRU1FUyB0aGVtZXMgc2xpbS5jb25mICQoTkFNRSktJChWRVJTSU9OKQorCUBybSAtcmYgJChOQU1FKS0kKFZFUlNJT04pL3RoZW1lcy8uc3ZuCSQoTkFNRSktJChWRVJTSU9OKS90aGVtZXMvZGVmYXVsdC8uc3ZuCisJQHRhciBjdnpmICQoTkFNRSktJChWRVJTSU9OKS50YXIuZ3ogJChOQU1FKS0kKFZFUlNJT04pCisJQHJtIC1yZiAkKE5BTUUpLSQoVkVSU0lPTikKKworCitpbnN0YWxsLXRoZW1lOgorCWluc3RhbGwgLUQgLW0gNjQ0IHRoZW1lcy9kZWZhdWx0L3NsaW0udGhlbWUgXAorCQkgJChERVNURElSKSQoUFJFRklYKS9zaGFyZS9zbGltL3RoZW1lcy9kZWZhdWx0L3NsaW0udGhlbWUKKwlpbnN0YWxsIC1EIC1tIDY0NCB0aGVtZXMvZGVmYXVsdC9wYW5lbC5wbmcgXAorCQkgJChERVNURElSKSQoUFJFRklYKS9zaGFyZS9zbGltL3RoZW1lcy9kZWZhdWx0L3BhbmVsLnBuZworCWluc3RhbGwgLUQgLW0gNjQ0IHRoZW1lcy9kZWZhdWx0L2JhY2tncm91bmQuanBnIFwKKwkJICQoREVTVERJUikkKFBSRUZJWCkvc2hhcmUvc2xpbS90aGVtZXMvZGVmYXVsdC9iYWNrZ3JvdW5kLmpwZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc2xpbS9zbGltL3NsaW0tZHlud20gYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW0vc2xpbS1keW53bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OWM5ZDQ3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc2xpbS9zbGltL3NsaW0tZHlud20KQEAgLTAsMCArMSw4IEBACisjIS9iaW4vc2gKK3VwZGF0ZV9zbGltX3dtbGlzdAoraWYgWyAieCQxIiA9ICJ4LW5vZGFlbW9uIiBdOyB0aGVuCisgIHNoaWZ0CisgIGV4ZWMgc2xpbSAiJEAiCitlbHNlCisgIHNsaW0gLWQgIiRAIgorZmkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NsaW0vc2xpbS9zbGltLnBhbWQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW0vc2xpbS5wYW1kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwYzM0YjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW0vc2xpbS5wYW1kCkBAIC0wLDAgKzEsMTkgQEAKKyMgQmVnaW4gL2V0Yy9wYW0uZC9zbGltCisKK2F1dGggICAgICAgcmVxdWlyZWQgICAgIHBhbV9zaGVsbHMuc28KK2F1dGggICAgICAgaW5jbHVkZSAgICAgIGNvbW1vbi1hdXRoCithdXRoICAgICAgIG9wdGlvbmFsICAgICBwYW1fc2VjdXJldHR5LnNvCithdXRoICAgICAgIG9wdGlvbmFsICAgICBwYW1fZ25vbWVfa2V5cmluZy5zbworCithY2NvdW50ICAgIHJlcXVpcmVkICAgICBwYW1fbm9sb2dpbi5zbworYWNjb3VudCAgICBpbmNsdWRlICAgICAgY29tbW9uLWFjY291bnQKKworcGFzc3dvcmQgICBpbmNsdWRlICAgICAgY29tbW9uLXBhc3N3b3JkCisKK3Nlc3Npb24gICAgaW5jbHVkZSAgICAgIGNvbW1vbi1zZXNzaW9uCitzZXNzaW9uICAgIHJlcXVpcmVkICAgICBwYW1fbWtob21lZGlyLnNvIHNrZWw9L2V0Yy9za2VsLyB1bWFzaz0wMDIyCitzZXNzaW9uICAgIG9wdGlvbmFsICAgICBwYW1fbGFzdGxvZy5zbyBub3d0bXAKK3Nlc3Npb24gICAgb3B0aW9uYWwgICAgIHBhbV9tYWlsLnNvIGRpcj0vdmFyL21haWwgc3RhbmRhcmQKK3Nlc3Npb24gICAgb3B0aW9uYWwgICAgIHBhbV9nbm9tZV9rZXlyaW5nLnNvICBhdXRvX3N0YXJ0CisKKyMgRW5kIC9ldGMvcGFtLmQvc2xpbQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc2xpbS9zbGltL3NsaW0uc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NsaW0vc2xpbS9zbGltLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzQxMzUxYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NsaW0vc2xpbS9zbGltLnNlcnZpY2UKQEAgLTAsMCArMSwxMSBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1TTGlNIFNpbXBsZSBMb2dpbiBNYW5hZ2VyCitSZXF1aXJlcz1kZXYtdHR5Ny5kZXZpY2UKK0FmdGVyPWRldi10dHk3LmRldmljZSBzeXN0ZW1kLXVzZXItc2Vzc2lvbnMuc2VydmljZQorCitbU2VydmljZV0KK0V4ZWNTdGFydD0vdXNyL2Jpbi9zbGltIC1ub2RhZW1vbgorU3RhbmRhcmRPdXRwdXQ9c3lzbG9nCisKK1tJbnN0YWxsXQorV2FudGVkQnk9Z3JhcGhpY2FsLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc2xpbS9zbGltL3VwZGF0ZV9zbGltX3dtbGlzdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NsaW0vc2xpbS91cGRhdGVfc2xpbV93bWxpc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGYxMTY1MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NsaW0vc2xpbS91cGRhdGVfc2xpbV93bWxpc3QKQEAgLTAsMCArMSw3NiBAQAorIyEvdXNyL2Jpbi9wZXJsIC13CisjCisjIHVwZGF0ZV9zbGltX3dtbGlzdCwgYmFzZWQgb246CisjIHVwZGF0ZV93ZG1fd21saXN0LCAoYykgMTk5OCBNYXJjZWxvIE1hZ2FsbPNuIDxtbWFnYWxsb0BkZWJpYW4ub3JnPgorIyByZXdyaXRlbiB0byB1c2UgdGhlIHgtd2luZG93LW1hbmFnZXIgYWx0ZXJuYXRpdmUKKyMgbW9kaWZpZWQgdG8gYWxzbyB1c2UgdGhlIHgtc2Vzc2lvbi1tYW5hZ2VyIGFsdGVybmF0aXZlIGJ5IEFydGh1ciBLb3JuCisjIENvcHlyaWdodCAyMDAwIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisjIE1vZGlmaWVkIHRvIHVzZSB0aGUgZnJlZWRlc2t0b3Aub3JnIC5kZXNrdG9wIGxpa2Uga2RtIGFuZCBnZG0KKyMKKyMgVGhpcyBzY3JpcHQgd2lsbCByZWFkIHRoZSBsaXN0IG9mIGluc3RhbGxlZCB3aW5kb3cgbWFuYWdlcnMgZnJvbQorIyB0aGUgZnJlZWRlc2t0b3AgLmRlc2t0b3AgZmlsZXMgaW4gPGV0Yz4vWDExL3Nlc3Npb25zLzo8ZXRjPi9kbS9TZXNzaW9ucy86CisjIDxzaGFyZT4veHNlc3Npb25zLworIyBhbmQgdXBkYXRlIHRoZSBzZXNzaW9ucyBsaW5lIGluIC9ldGMvc2xpbS5jb25mLgorIyBCRVdBUkU6IEl0IGRvZXNuJ3QgYXNrIGFueSBxdWVzdGlvbnMgYWJvdXQgdGhpcy4gSXQganVzdCBkb2VzIGl0LiBJdAorIyB0YWtlcyBhbiBvcHRpb25hbCBsaXN0IG9mIHdpbmRvdyBtYW5hZ2Vycy4KKwordXNlIHN0cmljdDsKK3VzZSBGaWxlOjpEZXNrdG9wRW50cnk7CisKK215ICR3bV9saXN0PScnOworbXkgJWRlc2t0b3BfZmlsZXM7CisKK3VubGVzcyAoQEFSR1YpIHsKKyAgICAjbXkgQHdtX2xpc3QgPSAoJ2RlZmF1bHQnKTsKKyAgICBteSBAd21fbGlzdDsKKyAgICBmb3JlYWNoIG15ICRkaXIgKCcvZXRjL1gxMS9zZXNzaW9ucy8nLCcvZXRjL2RtL1Nlc3Npb25zLycsJy91c3Ivc2hhcmUveHNlc3Npb25zLycpIHsKKwkgICAgbmV4dCB1bmxlc3MgKG9wZW5kaXIgRElSLCAkZGlyKTsKKwkgICAgbXkgQGZpbGVzOworCSAgICBAZmlsZXMgPSBncmVwIHsgL1wuZGVza3RvcCQvICYmIC1yICIkZGlyLyRfIiB9IHJlYWRkaXIoRElSKTsKKwkgICAgZm9yZWFjaCBteSAkZmlsZSAoQGZpbGVzKSB7CisJCSAgIHB1c2ggQHskZGVza3RvcF9maWxlc3skZmlsZX19LCAiJGRpci8kZmlsZSI7CisJICAgIH0KKyAgICB9CisgICAgREVTS1RPUDogZm9yZWFjaCBteSAkZGVza3RvcF9maWxlIChrZXlzKCVkZXNrdG9wX2ZpbGVzKSkgeworCSAgICBmb3JlYWNoIG15ICRmaWxlIChAeyRkZXNrdG9wX2ZpbGVzeyRkZXNrdG9wX2ZpbGV9fSkgeworCQkgICAgbXkgJGVudHJ5ID0gRmlsZTo6RGVza3RvcEVudHJ5LT5uZXdfZnJvbV9maWxlKCRmaWxlKTsKKwkJICAgIG5leHQgREVTS1RPUCBpZiAoZGVmaW5lZCgkZW50cnktPmdldF92YWx1ZSgnSGlkZGVuJykpCisJCQlhbmQgJGVudHJ5LT5nZXRfdmFsdWUoJ0hpZGRlbicpIGVxICd0cnVlJyk7CisJCSAgICBpZiAoJGVudHJ5LT5nZXRfdmFsdWUoJ05hbWUnKSA9fiAvXmdub21lJC9pKSB7CisJCQkgICAgcHVzaCAoQHdtX2xpc3QsICdnbm9tZScpOworCQkgICAgfQorCQkgICAgZWxzaWYgKCRlbnRyeS0+Z2V0X3ZhbHVlKCdOYW1lJykgPX4gL15rZGUkL2kpIHsKKwkJCSAgICBwdXNoIChAd21fbGlzdCwgJ2tkZScpOworCQkgICAgfQorCQkgICAgZWxzaWYgKGRlZmluZWQoJGVudHJ5LT5nZXRfdmFsdWUoJ0V4ZWMnKSkpIHsKKwkJCSAgICBwdXNoIChAd21fbGlzdCwgJGVudHJ5LT5nZXRfdmFsdWUoJ0V4ZWMnKSk7CisJCSAgICB9CisJCSAgICBlbHNlIHsgIyBub3QgZm91bmQsIGdvIHRvIG5leHQgZmlsZQorCQkJICAgIG5leHQ7CisJCSAgICB9CisJCSAgICAjIGZvdW5kLCBwcm9jZWVkIHRvIG5leHQgZGVzdG9wIGZpbGUKKwkJICAgIG5leHQgREVTS1RPUDsKKwkgICAgfQorICAgIH0KKyAgICR3bV9saXN0ID0gam9pbiAoJywnLCBzb3J0IEB3bV9saXN0KSAuICcsY3VzdG9tJzsKK30gZWxzZSB7CisgICAgJHdtX2xpc3QgPSBqb2luICgnLCcsIHNvcnQgQEFSR1YpOworfQorCitvcGVuIChTTElNX0NPTkZJR19GSUxFLCAnPC9ldGMvc2xpbS5jb25mJykKKyAgICBvciBkaWUgIkNhbid0IG9wZW4gL2V0Yy9zbGltLmNvbmYgZm9yIHJlYWRpbmc6ICQhIjsKK29wZW4gKE5FV19TTElNX0NPTkZJR19GSUxFLCAnPi9ldGMvc2xpbS5jb25mLm5ldycpCisgICAgb3IgZGllICJDYW4ndCBvcGVuIC9ldGMvc2xpbS5jb25mLm5ldyBmb3Igd3JpdGluZzogJCEiOworCit3aGlsZSAoPFNMSU1fQ09ORklHX0ZJTEU+KSB7CisgICAgc3xeKHNlc3Npb25zXHMqKS4qfCQxJHdtX2xpc3R8OworICAgIHByaW50IE5FV19TTElNX0NPTkZJR19GSUxFOworfQorCitjbG9zZShTTElNX0NPTkZJR19GSUxFKTsKK2Nsb3NlKE5FV19TTElNX0NPTkZJR19GSUxFKTsKKworcmVuYW1lICcvZXRjL3NsaW0uY29uZi5uZXcnLCAnL2V0Yy9zbGltLmNvbmYnCisgICAgb3IgZGllICJDYW4ndCByZW5hbWUgL2V0Yy9zbGltLmNvbmYubmV3OiAkISI7CisKK2V4aXQgMDsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NsaW0vc2xpbV8xLjMuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NsaW0vc2xpbV8xLjMuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTM1OWUwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc2xpbS9zbGltXzEuMy4yLmJiCkBAIC0wLDAgKzEsODIgQEAKK0RFU0NSSVBUSU9OPSJTaW1wbGUgTG9naW4gTWFuYWdlciIKK0hPTUVQQUdFPSJodHRwOi8vc2xpbS5iZXJsaW9zLmRlIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04Y2E0M2NiYzg0MmMyMzM2ZTgzNTkyNmMyMTY2YzI4YiIKKworUFIgPSAicjEiCisKK0RFUEVORFMgPSAidmlydHVhbC9saWJ4MTEgbGlieG11IGxpYnBuZyBqcGVnIGZyZWV0eXBlIHNlc3NyZWcgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnbGlicGFtJywgJycsIGQpfSIKKworU1JDX1VSSSA9ICIgXAorICAgIGh0dHA6Ly9kb3dubG9hZC5iZXJsaW9zLmRlLyR7QlBOfS8ke0JQfS50YXIuZ3ogXAorICAgIGZpbGU6Ly8wMDAyLUZpeC1pbWFnZS1oYW5kbGluZy1pbnRlZ2VyLW92ZXJmbG93cy5wYXRjaCBcCisgICAgZmlsZTovLzAwMDMtRml4LWJ1aWxkLWZhaWx1cmUtd2l0aC1sZC1hcy1uZWVkZWQucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDA0LUFkZC1zdXBwb3J0LWxpYnBuZzE1LnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwNS1SZW1vdmUtcGF0aC1vZi1nY2MtYW1kLWctYW5kLXZlcnNpb24tb2YtZy5wYXRjaCBcCisgICAgZmlsZTovLzAwMDYtUmVtb3ZlLWxvY2FsaG9zdC1mcm9tLUF1dGhlbnRpY2F0b3Itb2YtcGFtLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwNy1GaXgtdHR5LXNsb3duZXNzLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwOC1yZXN0YXJ0LVhzZXJ2ZXItaWYta2lsbGVkLnBhdGNoIFwKKyAgICBmaWxlOi8vc2xpbS1keW53bSBcCisgICAgZmlsZTovL3VwZGF0ZV9zbGltX3dtbGlzdCBcCisgICAgZmlsZTovL01ha2VmaWxlLm9lIFwKKyAgICBmaWxlOi8vc2xpbS5wYW1kIFwKKyAgICBmaWxlOi8vc2xpbS5zZXJ2aWNlIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gImNhMWFlNjEyMGU2ZjRiNDk2OWYyZDZjZjk0ZjQ3YjQyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImYxNTYwMTI1MDA1ZjI1M2I5Yjg4MjIwNTk4ZmVkN2E5NTc1ZWY0MDU3MTY4NjJjNmNhM2ZjYzcyZGJkNDgyYjgiCisKKworRVhUUkFfT0VNQUtFICs9ICIgXAorICAgIFVTRV9QQU09JHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnMScsICcwJywgZCl9IFwKKyAgICBQUkVGSVg9JHtwcmVmaXh9IFwKKyAgICBDRkdESVI9JHtzeXNjb25mZGlyfSBcCisgICAgTUFORElSPSR7bWFuZGlyfSBcCisgICAgREVTVERJUj0ke0R9IFwKKyAgICBDRkxBR1MrPS1JJHtTVEFHSU5HX0lOQ0RJUn0vZnJlZXR5cGUyIFwKKyAgICBDWFhGTEFHUys9LUkke1NUQUdJTkdfSU5DRElSfS9mcmVldHlwZTIgXAorIgorCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisgICAgY3AgLXBQICR7V09SS0RJUn0vTWFrZWZpbGUub2UgJHtTfS9NYWtlZmlsZQorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbAorICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3NsaW0tZHlud20gJHtEfSR7YmluZGlyfS8KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS91cGRhdGVfc2xpbV93bWxpc3QgJHtEfSR7YmluZGlyfS8KKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3BhbS5kLworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3NsaW0ucGFtZCAke0R9JHtzeXNjb25mZGlyfS9wYW0uZC9zbGltCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9Lyouc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKworICAgIGVjaG8gJ3Nlc3Npb25zdGFydF9jbWQgICAgL3Vzci9iaW4vc2Vzc3JlZyAtYSAtbCAkRElTUExBWSAldXNlcicgPj4gJHtEfSR7c3lzY29uZmRpcn0vc2xpbS5jb25mCisgICAgZWNobyAnc2Vzc2lvbnN0b3BfY21kICAgICAvdXNyL2Jpbi9zZXNzcmVnIC1kIC1sICRESVNQTEFZICV1c2VyJyA+PiAke0R9JHtzeXNjb25mZGlyfS9zbGltLmNvbmYKK30KKworCitSREVQRU5EU18ke1BOfSA9ICJwZXJsIHhhdXRoIGZyZWV0eXBlIHNlc3NyZWcgIgorRklMRVNfJHtQTn0gKz0gIiR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vIgorCitwa2dfcG9zdGluc3RfJHtQTn0gKCkgeworaWYgdGVzdCAieCREIiAhPSAieCI7IHRoZW4KKyAgICBleGl0IDEKK2ZpCitzeXN0ZW1jdGwgZW5hYmxlIHNsaW0uc2VydmljZQorCisjIFJlZ2lzdGVyIFNMaU0gYXMgZGVmYXVsdCBETQorbWtkaXIgLXAgJHtzeXNjb25mZGlyfS9YMTEvCitlY2hvICIke2JpbmRpcn0vc2xpbSIgPiAke3N5c2NvbmZkaXJ9L1gxMS9kZWZhdWx0LWRpc3BsYXktbWFuYWdlcgorfQorCitwa2dfcG9zdHJtXyR7UE59ICgpIHsKK2lmIHRlc3QgIngkRCIgIT0gIngiOyB0aGVuCisgICAgZXhpdCAxCitmaQorc3lzdGVtY3RsIGRpc2FibGUgc2xpbS5zZXJ2aWNlCitzZWQgLWkgL3NsaW0vZCAkRCR7c3lzY29uZmRpcn0vWDExL2RlZmF1bHQtZGlzcGxheS1tYW5hZ2VyIHx8IHRydWUKK30KKworUE5CTEFDS0xJU1Rbc2xpbV0gPz0gImRvZXMgbm90IGJ1aWxkIHdpdGggZGlzdHJvbGVzcyBxZW11YXJtIGFzIHJlcG9ydGVkIGluICdTdGF0ZSBvZiBiaXRiYWtlIHdvcmxkJyB0aHJlYWQsIG5vYm9keSB2b2x1bnRlZXJlZCB0byBmaXggdGhlbSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rha2FvLWZvbnRzL3Rha2FvLWZvbnRzXzAwMy4wMy4wMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rha2FvLWZvbnRzL3Rha2FvLWZvbnRzXzAwMy4wMy4wMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTlmZjE0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGFrYW8tZm9udHMvdGFrYW8tZm9udHNfMDAzLjAzLjAxLmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiVGFrYW8gRm9udHMgYXJlIGEgY29tbXVuaXR5IGRldmVsb3BlZCBkZXJpdmF0aXZlcyBvZiBJUEEgRm9udHMuIgorREVTQ1JJUFRJT04gPSAiVGFrYW8gRm9udHMgYXJlIGEgY29tbXVuaXR5IGRldmVsb3BlZCBkZXJpdmF0aXZlcyBvZiBJUEEgRm9udHMuIgorCitIT01FUEFHRSA9ICJodHRwczovL2xhdW5jaHBhZC5uZXQvdGFrYW8tZm9udHMiCitTRUNUSU9OID0gIlVzZXIgSW50ZXJmYWNlL1giCisKK0xJQ0VOU0UgPSAiSVBBIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vSVBBX0ZvbnRfTGljZW5zZV9BZ3JlZW1lbnRfdjEuMC50eHQ7bWQ1PTZjZDMzNTFiYTk3OWNmOWRiMWZhZDY0NGU4MjIxMjc2IgorU1JDX1VSSSA9ICJodHRwczovL2xhdW5jaHBhZC5uZXQvJHtCUE59L3RydW5rLzE1LjAzLytkb3dubG9hZC9UYWthb0ZvbnRzXzAwMzAzLjAxLnRhci54eiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI4Y2QzZmU3MjRmYWE1MDM0YTkzNjllOThjZjEwOGQyZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlOTg3MWY3MmFjNjlhY2IzZTI3N2FlYmJlZTdjYTAxZmJlYmY1NDgwMDczM2UyOWZhZmRjNDYxMzNmYzM1NTJmIgorCitTID0gIiR7V09SS0RJUn0vVGFrYW9Gb250c18wMDMwMy4wMSIKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0vJHtkYXRhZGlyfS9mb250cworICAgIGluc3RhbGwgLW0gMDY0NCAtcCAke1N9LyoudHRmICR7RH0vJHtkYXRhZGlyfS9mb250cy8KK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZm9udHMvKi50dGYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXJtaW51cy1mb250L3Rlcm1pbnVzLWZvbnRfNC4zOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlcm1pbnVzLWZvbnQvdGVybWludXMtZm9udF80LjM4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1YmVhOTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXJtaW51cy1mb250L3Rlcm1pbnVzLWZvbnRfNC4zOC5iYgpAQCAtMCwwICsxLDQ1IEBACitTVU1NQVJZID0gIlRlcm1pbnVzIGZvbnRzIHBhY2thZ2VzIChjb25zb2xlIGFuZCBYMTEpIgorREVTQ1JJUFRJT04gPSAiVGVybWludXMgRm9udCBpcyBhIGNsZWFuLCBmaXhlZCB3aWR0aCBiaXRtYXAgZm9udCwgZGVzaWduZWQgZm9yIFwKKyAgICAgICAgICAgICAgIGxvbmcgKDggYW5kIG1vcmUgaG91cnMgcGVyIGRheSkgd29yayB3aXRoIGNvbXB1dGVycy4iCitIT01FUEFHRSA9ICJodHRwOi8vdGVybWludXMtZm9udC5zb3VyY2Vmb3JnZS5uZXQvIgorQVVUSE9SID0gIkRpbWl0YXIgWmhla292IgorU0VDVElPTiA9ICJmb250cyIKKworTElDRU5TRSA9ICJPRkwtMS4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vT0ZMLlRYVDttZDU9OWNhZGIyNmY0YzVjMDA1NjE4YzVhZTc0ZjA0MWVjNTQiCisKK0RFUEVORFMgPSAiaG9zdHBlcmwtcnVudGltZS1uYXRpdmUgZ3ppcC1uYXRpdmUiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9LyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImE4ZTc5MmZlNmU4NGM4NmVkMmI2ZWQzZTJhMTJiYTY2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImY2ZjQ4NzZhNGRhYmU2YTM3YzI3MGMyMGJiOWUxNDFlMzhmYjUwZTBiYmEyMDBlMWI5ZDA0NzBlNWVlZDk3YjciCisKK2luaGVyaXQgYWxsYXJjaCBmb250Y2FjaGUKKworUEFDS0FHRUNPTkZJRyA/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAneDExJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdbeDExXSA9ICIiCisKKyMgRG9uJ3QgdXNlIGZvbnQgY2FjaGUgbWVjYW5pc20gZm9yIGNvbnNvbGUgcGFja2FnZXMKK0ZPTlRfUEFDS0FHRVMgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAneDExJywgJyR7UE59LXBjZicsICcnLCBkKX0iCisKKyMgSGFuZCBtYWRlIGNvbmZpZ3VyZSBzY3JpcHQuIERvbid0IG5lZWQgb2VfcnVuY29uZgorZG9fY29uZmlndXJlKCkgeworICAgIGNobW9kICt4ICR7U30vY29uZmlndXJlCisgICAgJHtTfS9jb25maWd1cmUgLS1wcmVmaXg9JHtwcmVmaXh9IFwKKyAgICAgICAgICAgICAgICAgICAtLXBzZmRpcj0ke2RhdGFkaXJ9L2NvbnNvbGVmb250cyBcCisgICAgICAgICAgICAgICAgICAgLS1hY21kaXI9JHtkYXRhZGlyfS9jb25zb2xldHJhbnMgXAorICAgICAgICAgICAgICAgICAgIC0teDExZGlyPSR7ZGF0YWRpcn0vZm9udHMvdGVybWludXMKK30KKworZG9fY29tcGlsZSgpIHsKKyAgICBvZV9ydW5tYWtlIERFU1RESVI9JHtEfSBwc2YgdHh0ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3gxMScsICdwY2YnLCAnJywgZCl9Cit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBERVNURElSPSR7RH0gaW5zdGFsbC1wc2YgaW5zdGFsbC1hY20gJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAneDExJywgJ2luc3RhbGwtcGNmJywgJycsIGQpfQorfQorCitQQUNLQUdFUyArPSAiJHtQTn0tY29uc29sZWZvbnRzICR7UE59LWNvbnNvbGV0cmFucyAke1BOfS1wY2YiCitGSUxFU18ke1BOfS1jb25zb2xlZm9udHMgPSAiJHtkYXRhZGlyfS9jb25zb2xlZm9udHMiCitGSUxFU18ke1BOfS1jb25zb2xldHJhbnMgPSAiJHtkYXRhZGlyfS9jb25zb2xldHJhbnMiCitGSUxFU18ke1BOfS1wY2YgPSAiJHtkYXRhZGlyfS9mb250cy90ZXJtaW51cyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1hZnJfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1hZnJfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYzczYTUzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWFmcl8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gImFmciIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjE2YTc1NmJmMzUzODk2ZTM0Mzg2ZjQ1MDk1ODJlNDg3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM3MTM5OWNlNjcwMGYyOGQwNGNjZmMxMmU0MjFmMzE1ZTM1NmUzYWEyNjU3NWIyN2QwNjA4M2MwNjk4Nzc4NGQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctYXJhXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctYXJhXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmI2OGJkYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1hcmFfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJhcmEiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkN2IzNzA4ZjFmMWYyODk4YzI1ODIwOTkyMzA2M2Y1NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyYzdiZTMxOWMzMGU5Mzk1MGMxMjE4OTc5NjljMWJjMWViMWQ2YmRjZWI3NWYxMTg0ZWUzNGE2ZjAxZDY2YjZhIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWF6ZV8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWF6ZV8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxZWQzZDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctYXplXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAiYXplIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiMTQzMDQ0ZmY3YjY0M2I4NDRjMmYwYjJhMTcwY2VkYTIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGYxN2EwNmExNjNkOTdlYzIzZGIzYWIxNGI5MWI4NGE2N2FlYmExZTQ0MWNhNWU1M2E4NjMyYjIxMTBhMGU3OSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1iZWxfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1iZWxfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Zjg4MzAxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWJlbF8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gImJlbCIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjNiYjZkYWI1MTUxNjZkNjQxYWM2MmU5NzNjODY4YWM1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU1OWUwMDhjNTQyZjc4NmY2ZjdiZDE0YzY2MDhiMmMxMjhjOTI5N2Q2YmVkZTY0N2FlMzU3Zjc0MjFmN2EzZTciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctYmVuXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctYmVuXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjczZmQ0MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1iZW5fMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJiZW4iCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwYjY2MjYzMGViNGIyZTBlYmY0MGMzODE4NDA2OGZiYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxNGE4N2UwNzYyZGNlZTBjZDk1YWNmZDNiMzcwYjgxZmQxNGEwMDNkMzkzMjhlZDk3ZGIwYjI4YzU1ZDMxZTUwIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWJ1bF8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWJ1bF8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ5ODhmYzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctYnVsXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAiYnVsIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiOTFmYzM0ZWYwNDFhYWZlMzI1NDlhN2E2MjMyYWZhZDAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWI4YjRkN2IxMmQ4OTZjZjlmN2U2MGU4ZTMyNzRkMzg5MTg4NjU0NDI1M2Q0MTY4MWRkOWIzMmQ2NTY3ZTNmMyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1jYXRfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1jYXRfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYzNmYTc0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWNhdF8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gImNhdCIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjI3Yjc3ZWNjNjZmOGM4ZDkwNGNkNmI4Nzg4NmFjYTIyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjg5NGFmNGM3MThlODIxY2RjNGFlM2VjNjU4MzhiMTc0YWM4YTAwM2U1NDE3YTA4NTU3Njk4ZTE1NzZhYzNhMzQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctY2VzXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctY2VzXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDU4ZDBlOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1jZXNfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJjZXMiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhZTE0NGI5ZDIzMDI2N2I1YWU2MjgwNGFkN2EwOWRhYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4NDM1MjJlZGRjZDBlMjA1OWExYzcwNjkxODNiNjhjMjQ1OWQ1MjcxNTdiYzQ3ODMzYTc5YjZmZjU2YmIwOWRlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWNoaS1zaW1fMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1jaGktc2ltXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQ2OTgwMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1jaGktc2ltXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAiY2hpX3NpbSIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjcxODc3OTUzOWQzMjAyYWU5NWFlNWZmNTJhM2FkNWU4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImY1YjE5NmI1YmVhNjkxN2JjYmJmMTUxMzFiNGMyYWZlOTRkMzRjMmQ5ZTIxZDA4YzBjYTQyZGZiZTVhYTEwOTUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctY2hpLXRyYV8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWNoaS10cmFfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYzRkOThkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWNoaS10cmFfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJjaGlfdHJhIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiMzkxZWQzZmNmMDE0YmFlNzc3YjMzZGM3YTc3MWEwMGQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzg3NDJlMjczYTljYTc0YTZhYjU1NDM0MTRlMDRiY2FjOTBkMDNhMzE3ZGQzNWVkYzYzNDk1NmJlYWZhM2QyMCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1jaHJfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1jaHJfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YWE2Y2M1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWNocl8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gImNociIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gImRkNWI0ZmEyNDc1MDBkNzcxM2FiNTU1NmFmNjJkOWZhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI3YzkxN2JhMzk4OThkNjM3NTJiMmE0ZWNiMGNkOGY2ODg3NzJiY2JiYWUyYmY0MzBhOTNkODk0ZDMyOGE0YzEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZGFuXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZGFuXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWFmM2Y3OQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1kYW5fMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJkYW4iCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyZjZhOTM5MjBiM2NlNTVkZTI0Y2E3NjJhNjZhNWRlMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkZWI5M2Y2MzI2YWE4YTRkMzUzMTU5MjAxNjgxOTQ3YTgwODU3NzY2MjA4NGQ0MDYwZGFlYTdkNjQ0ZTYzZWI5IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWRldV8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWRldV8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkNjhmZDkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZGV1XzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAiZGV1IgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiNTdiZGIyNmVjN2M3NjdlMTI2ZmY5Nzc3NmQ4YmZiMTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDAzY2RkMGIwMGQzNjhmZjQ5ZWJhZjc3Yjg3NThiY2YyZmYxYjBkMzkzMzEzNjg5ODdlNjIyYWMyNjE0NDNjYSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1lbGxfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1lbGxfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZTRiOTBlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWVsbF8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gImVsbCIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjM3NjBjYzNkZWU2NDg5ZGNjODY1YjMxZTdhMzZiZDQ3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI5NzQ1Y2VkOGZiZmI0ZWM5YWJlYmViOTllNGIzODU4MjFjYjVlYjBlZDgxZmIxODcwYjkzNTQzNTUzYjhmYmEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZW5nXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZW5nXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2UxNWEyZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1lbmdfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJlbmciCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzNTYyMjUwZmU2ZjRlNzYyMjlhMzI5MTY2YjhhZTg1MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjMTEwMDI5NTYwZTdmNmQ0MWNiODUyY2EyM2I2Njg5OWRhYTQ0NTZkOWFmZWVhZTlkMDYyMjA0YmQyNzFiZGY4IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWVubV8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWVubV8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmMTUzMWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZW5tXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAiZW5tIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiZDlkYzRhZDljYmNkZTc4ZTViZTU5ZWIyMjY4NjU2NjEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTljOWJkODljODIzNDUxNjU1ZTNmMjY1YjdmY2QwNjcyN2NkMzZkZGVjMDFiOGZhZDk5MDAxNTliNjg4YTFlMyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1lcG8tYWx0XzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZXBvLWFsdF8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0NjllYTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZXBvLWFsdF8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gImVwb19hbHQiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2NzgxNTUyOTM4NjY3OTIyMzA5MmRkZjMwMWJmNTdkNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlNTE2YjgzNjJmYTA2MGJlNzIwZDI3NjhhOGFiYmVlOWNjOTY1YjkxNjIyNDljNTkxNGVmMWQ4MTU5ZTAzZGMyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWVwb18zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWVwb18zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmNDI1MDIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZXBvXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAiZXBvIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiNWRjMGNmMDFkMjFlZTQzZWQ4MzRlZTk0N2UxZTgxMGEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjJhZTY4MWMzNGVlN2FhODI1OTk0MTE1ZjkyN2MyZTFmOGVjMWE5OGM5N2MwMTIxOGI5OGQyNTQ5YWYyMjI1MiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1lcXVfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1lcXVfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNGQ4MWJiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWVxdV8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gImVxdSIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjk0NjY3ODM2YzY1MWZjNGZkNDM2NDVlZmRjMzRlMTlhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjIwMTBlNzI0Njg2MTcxZWYyZWIzMzg4ZGYwMGQ4ZDg5YmE3ZTUwY2IyMjk4YjAzNjhiODQ3ZmZmYjk1ZDgwNGUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZXN0XzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZXN0XzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWRmZTI1YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1lc3RfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJlc3QiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhMDY3ZjU5NzVjYmU4M2ZlYTIwNTg5NzE4N2ZhMjU2YiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkNWQ2YjlkNGI1NjdhMTBlMmY2M2NhZmQyZjYwYmY1YjBjOTk0ZTQxNTQ3MGJlY2FmZDcyOWIyMDM0OWUyZTgwIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWV1c18zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWV1c18zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyMmJjYWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZXVzXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAiZXVzIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiNGMyY2VlNWJmMzU1OGY2Mzg0ZTU5MDdhYTAyYWU4MGMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzgzNTlkNTc4OTY2MjNjZjgyMTFlMTc2MDRhOWRmYTU3NGUyMjUzYzkxNTcwMzVmNDM5YzVmYmUwNmNkNTAxOSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1maW5fMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1maW5fMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOGE1NWUyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWZpbl8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gImZpbiIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjcxZjhiMzQzZWQyMDEwZjc3NWZmNDc0ZmFlYzU4NzRmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImUwMmZmMTc5ODk2MGQzYWYxNWMwZGFmYWZhYzBkZTk1NDQ0MmNmYjEzZjRlZmY0NWMzMjYzYzJmZjZlNTkwMjYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZnJhXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZnJhXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjJjOTI2MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1mcmFfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJmcmEiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyYmNhMjAwYjc4M2ZkYmEyZjU0NjA2M2M2ODc0MGM1MCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3NDU5MmY1ZjJhYjczYTY2Njg5MzQ5MjI3NTNiZTA1MDVmYzQzMzNlZTc5MDU0Mzk0OWY4YjcwZjAzZWFiMTAxIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWZya18zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWZya18zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3NWI5NmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZnJrXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAiZnJrIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiZGQ3MzRhYzIxMmE5OGEwMjk0NTc2MDg5MWI2NTdlNzAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTlmNDIxOWQ2YjJlZjRlZDhiNzZjODZiZTk5YWUzYzkxOTA1MDlkZjcyYmE2ZjAyMTdhNzdmNzIwNWVjNTJmOCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1mcm1fMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1mcm1fMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMGQxMzk4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWZybV8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gImZybSIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gImUwY2EyNGNhNDVkZTgzZTY3MDU3ZjBlMjA4MjMzZmZjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImYzMmY3NzRkODhlNzkzNmYxNmZmNDFiODMyY2VjZmJkNzFmODJjOWJmNzU4NDMzMGQ3NTBkYTk0MWMwN2NhNzkiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZ2xnXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZ2xnXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjk0ZmQwMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1nbGdfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJnbGciCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlZjdiOGUxMzg5MWUwOGYyOWIwMjAxMWE1ZGQ2YjYzMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4MmZmYTI3YzRkZTE3NTQ1ZmE5ZDQ2ZTBmY2Q1NjkwYjFiNTliY2NlOWU5M2Y3MWMwYTQxZDE5YWZiZTg2OWVlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWdyY18zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWdyY18zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2Yzk2MDUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZ3JjXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAiZ3JjIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiYWM0OTNlNWE0OWU0NTZmMmRkMzU0ZjViNjQ0OTU3M2UiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTg2Yjk1NWViOWZiYTVhMzA0Y2ZhMzdiZmRkN2M4OWYyZGIzMzMzNWQ1YWU4M2YyOTYyYWVkODkwMzI2NjgwNSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1oZWJfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1oZWJfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZDdhNGZhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWhlYl8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gImhlYiIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjdhZTdmMzM4NDA4M2M2NmYwNmQ2M2I2YzBmMGE2NmMzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImRhNDdiMGNmZTI0MTc3NWM5YjM2MzM5ZWZkYTYzMzlkNTllMTQ2ZmE2MTQzYzY1YTIyNTNlYjlmNjcxNjQ4MTEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctaGluXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctaGluXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDNlZDE3MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1oaW5fMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJoaW4iCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxODZmMTdiMzI2YTU4MzEzMzQ0YzJlYTk4N2VhNzc4NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5MWY5MWRhNWFkYzczZWU3MTE1MDg2NWQ2NTk4ZGY4YTUwNDI0MzUwNDgwZGYyNzUzY2E5MDM1MzIwYjNjNzhkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWhydl8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWhydl8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0MjM2ODcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctaHJ2XzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAiaHJ2IgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiMDM5NmEyNjdkODk0ZjQ4NWI2YjUzNDQ3NmYzMzIyZGMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTIwNTc1ZjViMGVjNzNmZjdmMzE5N2MxMTJhOGRjYzI0MzAzYjY0MDE2OTEwMzk5ZDkxMjdiZGE0MmU3ZDg2NiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1odW5fMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1odW5fMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MWE5Y2U2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWh1bl8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gImh1biIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gImViMWIzNTM3Y2Q2NjRmZWM0OGJlYmFjNzVmYWM1OTkyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImVkZjVjYzQyYjUxNmIyYTE4NjgxOTU1MTY3ZDE5NjRkZmM3ZmY4Y2RhNjQyNDA4ZWJkYTkxYjNjNDY1NmY5ZjEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctaW5kXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctaW5kXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjc3Njk1MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1pbmRfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJpbmQiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5ZjY3MmVhN2M5MGVlY2JiZTM1ZWMzNTNmZjQ1Yzc2NCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzMzdiYTQ0MDBhNzk4YzYwZGVlMTYwNzAwNzEzMzdjOTZmYzY3YmNiNGUyY2MxYjQ2NzZkY2JjMzQwZmJiY2Q3IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWlzbF8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWlzbF8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmYTE4OGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctaXNsXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAiaXNsIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiM2YwNTk0NmE5ZTU3YThmZmFiYjNmY2NjOGE4MGNmYWEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmIyMjYzNjZkOGQyZDg3Zjg1OWQ0MDk5ZThiNzE1ZTNlYzM4OTBmOTMxNzE5OGU3YjhjODBmYmEwMDEwNTVmOCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1pdGEtb2xkXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctaXRhLW9sZF8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlNGFkM2UKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctaXRhLW9sZF8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gIml0YV9vbGQiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5ODljYTU1OGViMDVmY2Y2ODczZGZkZDhjNjkyMjkxZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjYWY1OTFiZTZkNGVkYTllNzYyNzM5N2MzYzUyMGQ1ODExNWM2NjAwMDJlY2FjZTY4MDc0OTUwNDM0OGJhMTA0IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWl0YV8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWl0YV8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4MTk3N2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctaXRhXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAiaXRhIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiZmJkYmE4NmYzNGI5MDdmNWE3MDkwNTFjMDFiNTNmNzEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjY0NTNiMzAyYzEwOGUwOGY1OTRjN2ExOTU5NzM4MjMxNDUyOWY2NDhlMTQxODA1NDE3ZjlhZjFlNGM5OWFjMiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1qcG5fMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1qcG5fMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNjliZGVmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWpwbl8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gImpwbiIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gImUxYmUyYjA4ZTY2N2MzYmIwYWIwZjE4Yzk0NTZiZjJmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA5YmY0NDdhMjllOTkwYzA2NTAyNGIzYjcyMGZkNzBmMDhkNTk2YTdiZTUzNDMxMmZjOWU0N2QwYWFiZjY4MWYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmcta2FuXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmcta2FuXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmQyMTA4NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1rYW5fMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJrYW4iCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1MTAwMTZlODVkN2VhOGUxZjRlYmY5ODc0MTEzODkwOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxNTg1MWNjMjIwNThjMDhjYWQ5ZWM2MDU4MTEzZjc2OTY2NDA5MDYxZjIxZjVjZGU4YzljYzFkMjE0Mjk4YzIyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWtvcl8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWtvcl8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxN2QxOTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmcta29yXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAia29yIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiZmM5MTI1ZjY2NTJmYjY2MTU3NWQ2ZTE1Yzk0Zjg4ZjYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2M4NWM0MTA3YTc4MWQ5MGQ2ZDRhZGIwMDFmMjE4OWIxMTNmOWRiNjk0MjYxOGI0YmM0N2Y0Y2M4MGNkMTI2YSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1sYXZfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1sYXZfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMjA3NTA0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWxhdl8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gImxhdiIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjIwOTViNTZjOWM2YjBkYmE5YjgzN2ZkMjI2ZWQ2ZDI5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU2YTE5MGVlMWVkZjBhNTg5NDhhOWQ3YjAxNTY5ZmQ4YTRjMDViYzY3OGRhM2E0MGFkODg0YzA4NDk5NThjMzYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctbGl0XzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctbGl0XzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODNhZDQ4MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1saXRfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJsaXQiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4MDEwMjFhMWFkNmU0YWEzZWY2OTdmMDY1ZmY2Yzc5OCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzNTA4OTFhMTgyMDc2ZGYyZTgwNjdkYTA0YjNiMjEyN2E3N2U0ODc4MmQ5OTA1ZTgzMzlkYjRmMWQ2YzdhNzI5IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLW1hbF8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLW1hbF8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3MTM4NWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctbWFsXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAibWFsIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiMWY1ZThmMDIyZDNjMjY5NzA3NWJkZmMwMzkzNWYxMjgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzJiM2IyMzk3OWFlNGE2YjYzNTE4OTY0YmYyMzliZWFlOGJiNmMwMmYzNWEyNjk1ZjQ3MjYyMTc4YjNmZWYzNCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1ta2RfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1ta2RfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZDFlYWZmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLW1rZF8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gIm1rZCIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gImI4OTMwYzY0YmVmY2FhZGJiNDc5NTFjYWQ0YTJmMDc1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImVhNDg5Mjc3ZTdhNTg4YTFiNzU2NmEyMWNiYmQ2NDc3ODZmMTY2NTljYWUwODdhNDcwNWQ0ZmRhYmQ4MjNlZTYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctbWx0XzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctbWx0XzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGE2ZDQyZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1tbHRfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJtbHQiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5MGE0MWFjODYzNzViMjMwOTgwYjY0M2IzNWI4ODAxMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiYTk5ZThiZmM3NTNhMjc0YmJlYTM4ZWY0NGY1YWJmODFlNWYxMmQwOWY5ZDEyZDI2NzQzNjk2MTI3MGVmMmRlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLW1zYV8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLW1zYV8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0MThhYjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctbXNhXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAibXNhIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiY2I0MmVjOTUwNGVlY2RjNGY5NzRkYmNhNDM4N2FjMzQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjM0ZTQ5NTBhZDkwNzlmOTI5NjVhMjM0MjUzY2MxNmY5MmRlYjY2ZjFjZTRlOWM5YTg4NWFkMjY5NWMyZDEzNiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1ubGRfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1ubGRfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTJkNGE3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLW5sZF8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gIm5sZCIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjZkYjU3NTNiM2IwMzI5NjU0NGJiYjJjMGY1OWE3MTc4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVlMmU1MzQ5OWEwNTI4Mjk2OGU1YTk2OTlhYWQ2NmFlNTJhNWFiZjA2YWU4MjhlMmY0Y2YyYzFmNmU2NzRhOTgiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctbm9yXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctbm9yXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzVkMjk0MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1ub3JfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJub3IiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2ZDk3OTU4NWFiYjA3YzEzZGRhMDAzODIwMTI5NDYxYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2YjVjNDI0NDQ1OTVhODFiNWY2ZmVhODU5ZDk3OTk5ODk1OTE3YmNjMmY4NWE1MDU0ODhlYTVjMmY0ZWZhMDFhIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXBvbF8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXBvbF8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4NTgwMTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctcG9sXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAicG9sIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiOTBiM2YxZjQxMTNhOWRjY2QwMjg3ZTZiNWI3NTEyZDYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjI5OTkwNThiZmI2MDlkOTVkNTNiZDUxOWM2ZGU5OTYyMGQwMjViM2JmYmM1NGQ4Njc5YTg3YjEwNDc0Y2NiYiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1wb3JfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1wb3JfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NWYwMTM5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXBvcl8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gInBvciIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gImFkNDkwYTgwOTFlZTMyOTE5MDI2NmYzZmQwNTdjNTExIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImY5YjEyNjMyMzc1N2M2MmRhMjNhYWIxNjNlMmNlNTI1N2QxMzdlODZiZTdjMzdkZWExM2JiMDU4NWUxYWNlM2YiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctcm9uXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctcm9uXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2M4OTQwYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1yb25fMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJyb24iCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5ZjQ5OGUwMTg1NWE1NzQ3M2FmOGYwODNjMTI1NDU1YSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkN2U2NDU0YzljYzgwYzg0YTY1NGY5NDI4M2ZjMDZiMmRmMzNjNWM3ZmQyZDNiZmYyNjljM2NiZGViMGIzOWU3IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXJ1c18zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXJ1c18zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUxZGQzZjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctcnVzXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAicnVzIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiZThjNzg1ZGY4YWFhNDllNjFmM2E5NWFhMjQwNjYxMjIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDkxY2RhNDk0ODlkMTVmMzM5MTYyNjNmYzc4ZmJmOGRjZDRlNjU0NzAxMmRjN2UxYTg0OTZhMzhhYjE5MjMxNSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1zbGtfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1zbGtfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNDFiMDM4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXNsa18zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gInNsayIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjk5MWU0NzcxZTE2YWJkNmE2NmNhZWFlZWIyYTRkNGQyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImNiZDVhODhlMjE4OGVmMzllZjQzOGM5ODU5ZGJkN2E5YjllMmE5OWMyM2E4MjNlYzMxMGY3Zjg0YTAxMmNjODIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctc2x2XzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctc2x2XzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGIwODIxMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1zbHZfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJzbHYiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjN2JlYTk3NWJhNjYzZDEzZTAzYzI5ZDZjZjMzYjVhOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiOTAxNTA3ZDI5MDFjODgyZjk4ZjZlZjVkYjA3ZGJmNzQ2MzZmYmE2YTFmNjE2YzVmMDk0OTU0MTA2NzkxNjY3IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXNwYS1vbGRfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1zcGEtb2xkXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzliZThhMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1zcGEtb2xkXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAic3BhX29sZCIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjc4MzhkYTk0OGU0MDRiYjc2MGJlZjgzYTVjM2Q2NGRkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJiOTgwYzBlZGExNTcyNDIzZGQ1NjI2MGIzMmQ3NDgyODgwMjhmZGQ0NTI2NjMxMWM0YWI0NDhmY2JjZTU4MTQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctc3BhXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctc3BhXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODc5MGVlNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1zcGFfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJzcGEiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmZTEzODVlZDIwM2VjZDllMDk5OWE0NGIxMzUwNjllYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmNDBjYzI2NGQwMzdiMGM3MWVjYjRhOGJiNmRlZjhiM2VjMDRiNjQ3ZDhkYTdmZDQ0ZDBkYWE1NThiZmEzMWIxIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXNxaV8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXNxaV8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlOTIzYTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctc3FpXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAic3FpIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiMzcyZTM4NjE3ZmNjN2UyNWM3Nzk5NmM1NDk5YWUwNjMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTliZmNkYTNlMGM0NzFmNjNiMzZjZDBkYjdkZWE1OTZlNTlhMjIxOWM5Mjc1YzNiYTUxZTU5OTczNTU1YzEwMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1zcnBfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1zcnBfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODY3NmM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXNycF8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gInNycCIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gImQ4MzUwNjY4ZmE3OTBiNWQ0MDA3MzQ4YTU1ODQwYmRmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImIxZWVlYjI5NThkMGE0ZTJiYTE2ZmI1NWE5OGNhNGNhOGU2OWZlZThiMGJlODE2MmZmNTk5YmExOWQwYjI0MDQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctc3dhXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctc3dhXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmI5OTYwZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1zd2FfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJzd2EiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2YzY4MTA3YTcxZjgyZmE0MmM4NThlNGQ2ZGM3MGFjYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyNjgxZTU5ZjJhOTMzMzI1OWEyZGU0MmYzZGVlZDQ2YWE3ZGQ4NGI2MzhlNjkyN2Y0MGRiMDQwOWFkZmYxNDNiIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXN3ZV8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXN3ZV8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmZDFjMWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctc3dlXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAic3dlIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiNDZkM2E1ZDcxNTkyMzZlZGIzMzI3MmRkOGIxMDkwZjYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWRhMjg3ZDdiNjQxODNkZjkwNjIxNWZlNGNhODZjM2I2ZmUzMGRjNTEyMWU5YTgzMTEzYzMyNjVjYTdmYzVhZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy10YW1fMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy10YW1fMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mY2ZjMWZiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXRhbV8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gInRhbSIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gImM2OGIwZmRjZGYzNGRkNDMxYzI1ZjMyMzY3M2VmMWQ2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc1ZjczMzYyNDIxYTIzZWI5NTUyMTJmN2FhMTljOWEzZWZkYzgwYTRjNjc2MTQ0NTg2OTE0OGJmZDJhNmRjNjIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctdGVsXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctdGVsXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmI4MjdlZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy10ZWxfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJ0ZWwiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzNDlkMjAzZWY4ODg2NGVhYjhkMTIwMTY3MmNhODRiZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmMzZhZjNkNWNhOWY4ZmY2ZTYwNjQ4NWZlNWRiODM1Zjk2YjQyZTdkMjM4MGFjNWQ2MWFmNmI0MTgyNzgzNGZkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXRnbF8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXRnbF8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjODRlZDkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctdGdsXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAidGdsIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiZDQ1OGYwNzE5Yjk5ZTRkY2ZkNGZhMmEwNmU1MTUwYTMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWM1MTUzMTBkZjgzYzliNDBlNTU3MDI3ZTQ5ZGU2ZGY3MGUzM2E5YmJhYmVhZjEzMDFjYTllOGMxMzU1ODk0OCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy10aGFfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy10aGFfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjA1NWQxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXRoYV8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gInRoYSIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjNkYzVhNTAyOGU3NWRhMTJlYWJhNjI2NjlhODBhY2M0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdhOThlMjVlMGM2MWRkYTQ4Y2JkYjI0MWYwZjUzYzNkZmFhN2VmNTc0YjgxNzk5YWIyZGRhYzUwZGE2ZGI0ZmIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctdHVyXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctdHVyXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjVlYzc2ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy10dXJfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJ0dXIiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhODkzNGUwZTY0OTY5OTcxMTJjYmVmMjk2MWFkZWY1ZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmZTQ2NTdjYTM0NTU1ODVhMDZlYjNkMDJiNGEwNDcyZmRhOGNhMDZlZmU1ODdiZTc1ZTE3NTY2MmRjNjMyOWQ3IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXVrcl8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXVrcl8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1ZGUwNmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctdWtyXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAidWtyIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiMGFhNjFmMTg0NjNiYjg5MjM0YTZkMDZmY2JmMGM2NDQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzg2MmIxMGMxZmY3ZTAyYjQxYzdhNTBlZWM3ZmNjZDJjMzBiODE2MmQ5NjVmYTFhZTAwNTEwYzZkMTIxMDc2MiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy12aWVfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy12aWVfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YmQ4MTNlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXZpZV8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gInZpZSIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjc4YTc0NDMyODQ4YjRjNTNjYzJjY2YyZWIzMzljMGI2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImExMTMyNTQ4ODJlYWM3MDE2OGFlYzAwNTQ0ODA1ZTdjOWNlYzIwNTI3MjE3Yjk4MzQ5ZWQ0OGY2ZTJkMjYxMWUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmcuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNDBjNzFkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLmluYwpAQCAtMCwwICsxLDE1IEBACitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL2ZpbGVzL2NvbW1vbi1saWNlbnNlcy9BcGFjaGUtMi4wO21kNT04OWFlYTRlMTdkOTlhN2NhY2RiZWVkNDZhMDA5NmIxMCIKKworU1JDX1VSSSA9ICJodHRwczovL3Rlc3NlcmFjdC1vY3IuZ29vZ2xlY29kZS5jb20vZmlsZXMvdGVzc2VyYWN0LW9jci0ke1BWfS4ke1RFU1NFUkFDVF9MQU5HfS50YXIuZ3oiCisKK1MgPSAiJHtXT1JLRElSfS90ZXNzZXJhY3Qtb2NyIgorCitpbmhlcml0IGFsbGFyY2gKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L3Rlc3NkYXRhCisgICAgY3AgJHtTfS90ZXNzZGF0YS8ke1RFU1NFUkFDVF9MQU5HfS50cmFpbmVkZGF0YSAke0R9JHtkYXRhZGlyfS90ZXNzZGF0YQorfQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS90ZXNzZGF0YSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3RfMy4wMi4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3RfMy4wMi4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NTJiY2YyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdF8zLjAyLjAyLmJiCkBAIC0wLDAgKzEsMjMgQEAKK0RFU0NSSVBUSU9OID0gIkEgY29tbWVyY2lhbCBxdWFsaXR5IE9DUiBlbmdpbmUgIgorCitERVBFTkRTID0gImxlcHRvbmljYSIKKworTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YzBjOTRiM2M4NmFkMGMzODZiYjZkZWM3MGNhOGEzNmEiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly90ZXNzZXJhY3Qtb2NyLmdvb2dsZWNvZGUuY29tL2ZpbGVzL3Rlc3NlcmFjdC1vY3ItJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjI2YWRjODE1NGYwZTgxNTA1MzgxNjgyNWRkZTI0NmU2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI2Y2QzOWNiM2YyYTZmNmYxYmY0MDUwZDFjYzBhYWUzNWVkZWU0OWViNDlhOTJkZjNjYjdmOTQ4N2NhYTAxM2QiCisKK0VYVFJBX09FQ09ORiArPSAiTElCTEVQVF9IRUFERVJTRElSPSR7U1RBR0lOR19JTkNESVJ9L2xlcHRvbmljYSIKKworUyA9ICIke1dPUktESVJ9L3Rlc3NlcmFjdC1vY3IiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS90ZXNzZGF0YSIKKworUlJFQ09NTUVORFNfJHtQTn0gKz0gInRlc3NlcmFjdC1sYW5nLWVuZyIKKworIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMzUxMzQvCitQTkJMQUNLTElTVFt0ZXNzZXJhY3RdID89ICJCUk9LRU46IFFBIElzc3VlOiB0ZXNzZXJhY3QucGMgZmFpbGVkIHNhbml0eSB0ZXN0ICh0bXBkaXIpIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3NvdXJjZS1oYW4tc2Fucy1jbi1mb250cy80NC1zb3VyY2UtaGFuLXNhbnMtY24uY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy9zb3VyY2UtaGFuLXNhbnMtY24tZm9udHMvNDQtc291cmNlLWhhbi1zYW5zLWNuLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjg1NTc5MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy9zb3VyY2UtaGFuLXNhbnMtY24tZm9udHMvNDQtc291cmNlLWhhbi1zYW5zLWNuLmNvbmYKQEAgLTAsMCArMSwxOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBmb250Y29uZmlnIFNZU1RFTSAiLi4vZm9udHMuZHRkIj4KKzxmb250Y29uZmlnPgorCTwhLS0gCisJICAgIC0gTWVkaXVtIHZhcmlhbnQgaXMgdXNlZCBpbnN0ZWFkIG9mIFJlZ3VsYXIgb24gUXQgYXBwczoKKwkJaHR0cHM6Ly9idWdzLmxhdW5jaHBhZC5uZXQvdWJ1bnR1LWZvbnQtZmFtaWx5LytidWcvNzQ0ODEyCisJCS0gTWVkaXVtIGFuZCBCb2xkIGxvb2tzIHRoZSBzYW1lIGluIGNlcnRhaW4gYXBwbGljYXRpb25zOgorCQlodHRwczovL2J1Z3MubGF1bmNocGFkLm5ldC91YnVudHUvK3NvdXJjZS9nbm9tZS1zcGVjaW1lbi8rYnVnLzgxMzM3MworCS0tPgorCTxtYXRjaCB0YXJnZXQ9InNjYW4iPgorCQk8dGVzdCBuYW1lPSJmdWxsbmFtZSIgY29tcGFyZT0iZXEiPgorCQkJPHN0cmluZz5Tb3VyY2UgSGFuIFNhbnMgQ04gTWVkaXVtPC9zdHJpbmc+CisJCTwvdGVzdD4KKwkJPGVkaXQgbmFtZT0id2VpZ2h0IiBtb2RlPSJhc3NpZ24iPgorCQkJPGNvbnN0PmRlbWlib2xkPC9jb25zdD4KKwkJPC9lZGl0PgorCTwvbWF0Y2g+Cis8L2ZvbnRjb25maWc+CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy9zb3VyY2UtaGFuLXNhbnMtY24tZm9udHNfMS4wMDQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvc291cmNlLWhhbi1zYW5zLWNuLWZvbnRzXzEuMDA0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmYmZjOGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvc291cmNlLWhhbi1zYW5zLWNuLWZvbnRzXzEuMDA0LmJiCkBAIC0wLDAgKzEsMzQgQEAKK3JlcXVpcmUgdHRmLmluYworCitTVU1NQVJZID0gIkFkb2JlIE9wZW5UeXBlIFBhbi1DSksgZm9udCBmYW1pbHkgZm9yIFNpbXBsaWZpZWQgQ2hpbmVzZSIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9hZG9iZS1mb250cy9zb3VyY2UtaGFuLXNhbnMiCitMSUNFTlNFID0gIk9GTC0xLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9NTU3MTlmYWEwMTEyNzA4ZTk0NmI4MjBiMjRiMTQwOTciCisKK2luaGVyaXQgYWxsYXJjaCBmb250Y2FjaGUKKworIyBEb3dubG9hZCB0ZW5kcyB0byBicmVhayAtIHNvIC0gb3Igbm90PworI0VYQ0xVREVfRlJPTV9XT1JMRCA9ICIxIgorCitTUkNfVVJJID0gIiBcCisgICAgaHR0cHM6Ly9naXRodWIuY29tL2Fkb2JlLWZvbnRzL3NvdXJjZS1oYW4tc2Fucy9yYXcvcmVsZWFzZS9TdWJzZXRPVEYvU291cmNlSGFuU2Fuc0NOLnppcCBcCisgICAgZmlsZTovLzQ0LXNvdXJjZS1oYW4tc2Fucy1jbi5jb25mIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJkMTZhYmMyMWY2NTc1YmIwODg5NGVmZWRiZWQ0ODRhMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwYTBlMWQ4ZTUyODMzYmMzNTJkNDU0ZDgyNDJkYTAzYjgyYzBlZmM0MTMyM2ZiNjZmNzQzNWU1YjM5NzM0YTRmIgorCitTID0gIiR7V09SS0RJUn0vU291cmNlSGFuU2Fuc0NOIgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZm9udHMvY29uZi5kLworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9LzQ0LXNvdXJjZS1oYW4tc2Fucy1jbi5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L2ZvbnRzL2NvbmYuZC8KKworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvCisgICAgZmluZCAuLyAtbmFtZSAnKi5vdGYnIC1leGVjIGluc3RhbGwgLW0gMDY0NCB7fSAke0R9JHtkYXRhZGlyfS9mb250cy90cnVldHlwZS8gXDsKK30KKworRklMRVNfJHtQTn0gPSAiIFwKKyAgICAke3N5c2NvbmZkaXJ9L2ZvbnRzIFwKKyAgICAke2RhdGFkaXJ9L2ZvbnRzIFwKKyIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3NvdXJjZS1oYW4tc2Fucy1qcC1mb250cy80NC1zb3VyY2UtaGFuLXNhbnMtanAuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy9zb3VyY2UtaGFuLXNhbnMtanAtZm9udHMvNDQtc291cmNlLWhhbi1zYW5zLWpwLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTdhOTNmZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy9zb3VyY2UtaGFuLXNhbnMtanAtZm9udHMvNDQtc291cmNlLWhhbi1zYW5zLWpwLmNvbmYKQEAgLTAsMCArMSwxOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBmb250Y29uZmlnIFNZU1RFTSAiLi4vZm9udHMuZHRkIj4KKzxmb250Y29uZmlnPgorICAgIDwhLS0gCisgICAgICAgIC0gTWVkaXVtIHZhcmlhbnQgaXMgdXNlZCBpbnN0ZWFkIG9mIFJlZ3VsYXIgb24gUXQgYXBwczoKKyAgICAgICAgaHR0cHM6Ly9idWdzLmxhdW5jaHBhZC5uZXQvdWJ1bnR1LWZvbnQtZmFtaWx5LytidWcvNzQ0ODEyCisgICAgICAgIC0gTWVkaXVtIGFuZCBCb2xkIGxvb2tzIHRoZSBzYW1lIGluIGNlcnRhaW4gYXBwbGljYXRpb25zOgorICAgICAgICBodHRwczovL2J1Z3MubGF1bmNocGFkLm5ldC91YnVudHUvK3NvdXJjZS9nbm9tZS1zcGVjaW1lbi8rYnVnLzgxMzM3MworICAgIC0tPgorICAgIDxtYXRjaCB0YXJnZXQ9InNjYW4iPgorICAgICAgICA8dGVzdCBuYW1lPSJmdWxsbmFtZSIgY29tcGFyZT0iZXEiPgorICAgICAgICAgICAgPHN0cmluZz5Tb3VyY2UgSGFuIFNhbnMgSlAgTWVkaXVtPC9zdHJpbmc+CisgICAgICAgIDwvdGVzdD4KKyAgICAgICAgPGVkaXQgbmFtZT0id2VpZ2h0IiBtb2RlPSJhc3NpZ24iPgorICAgICAgICAgICAgPGNvbnN0PmRlbWlib2xkPC9jb25zdD4KKyAgICAgICAgPC9lZGl0PgorICAgIDwvbWF0Y2g+Cis8L2ZvbnRjb25maWc+CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy9zb3VyY2UtaGFuLXNhbnMtanAtZm9udHNfMS4wMDQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvc291cmNlLWhhbi1zYW5zLWpwLWZvbnRzXzEuMDA0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhMjZhMmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvc291cmNlLWhhbi1zYW5zLWpwLWZvbnRzXzEuMDA0LmJiCkBAIC0wLDAgKzEsMzQgQEAKK3JlcXVpcmUgdHRmLmluYworCitTVU1NQVJZID0gIkFkb2JlIE9wZW5UeXBlIFBhbi1DSksgZm9udCBmYW1pbHkgZm9yIEphcGFuZXNlIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2Fkb2JlLWZvbnRzL3NvdXJjZS1oYW4tc2FucyIKK0xJQ0VOU0UgPSAiT0ZMLTEuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT01NTcxOWZhYTAxMTI3MDhlOTQ2YjgyMGIyNGIxNDA5NyIKKworaW5oZXJpdCBhbGxhcmNoIGZvbnRjYWNoZQorCisjIERvd25sb2FkIHRlbmRzIHRvIGJyZWFrIC0gc28gLSBvciBub3Q/CisjRVhDTFVERV9GUk9NX1dPUkxEID0gIjEiCisKK1NSQ19VUkkgPSAiIFwKKyAgICBodHRwczovL2dpdGh1Yi5jb20vYWRvYmUtZm9udHMvc291cmNlLWhhbi1zYW5zL3Jhdy9yZWxlYXNlL1N1YnNldE9URi9Tb3VyY2VIYW5TYW5zSlAuemlwIFwKKyAgICBmaWxlOi8vNDQtc291cmNlLWhhbi1zYW5zLWpwLmNvbmYgXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjkwOGZiZjk3ZjNkZjA0YTY4Mzg3MDhjMDkzZjFlOTAwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImRjNmRiYWUzZmJhMzVmMjIwYmFjODhiYTcxMzBiODI2YzdlZmUxMjgyZjQ3Mjc4OGZhZTM2MjhiNzliZTNmNTQiCisKK1MgPSAiJHtXT1JLRElSfS9Tb3VyY2VIYW5TYW5zSlAiCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9mb250cy9jb25mLmQvCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vNDQtc291cmNlLWhhbi1zYW5zLWpwLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vZm9udHMvY29uZi5kLworCisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9mb250cy90cnVldHlwZS8KKyAgICBmaW5kIC4vIC1uYW1lICcqLm90ZicgLWV4ZWMgaW5zdGFsbCAtbSAwNjQ0IHt9ICR7RH0ke2RhdGFkaXJ9L2ZvbnRzL3RydWV0eXBlLyBcOworfQorCitGSUxFU18ke1BOfSA9ICIgXAorICAgICR7c3lzY29uZmRpcn0vZm9udHMgXAorICAgICR7ZGF0YWRpcn0vZm9udHMgXAorIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvc291cmNlLWhhbi1zYW5zLWtyLWZvbnRzLzQ0LXNvdXJjZS1oYW4tc2Fucy1rci5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3NvdXJjZS1oYW4tc2Fucy1rci1mb250cy80NC1zb3VyY2UtaGFuLXNhbnMta3IuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZWU3M2FlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3NvdXJjZS1oYW4tc2Fucy1rci1mb250cy80NC1zb3VyY2UtaGFuLXNhbnMta3IuY29uZgpAQCAtMCwwICsxLDE5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGZvbnRjb25maWcgU1lTVEVNICIuLi9mb250cy5kdGQiPgorPGZvbnRjb25maWc+CisgICAgPCEtLSAKKyAgICAgICAgLSBNZWRpdW0gdmFyaWFudCBpcyB1c2VkIGluc3RlYWQgb2YgUmVndWxhciBvbiBRdCBhcHBzOgorICAgICAgICBodHRwczovL2J1Z3MubGF1bmNocGFkLm5ldC91YnVudHUtZm9udC1mYW1pbHkvK2J1Zy83NDQ4MTIKKyAgICAgICAgLSBNZWRpdW0gYW5kIEJvbGQgbG9va3MgdGhlIHNhbWUgaW4gY2VydGFpbiBhcHBsaWNhdGlvbnM6CisgICAgICAgIGh0dHBzOi8vYnVncy5sYXVuY2hwYWQubmV0L3VidW50dS8rc291cmNlL2dub21lLXNwZWNpbWVuLytidWcvODEzMzczCisgICAgLS0+CisgICAgPG1hdGNoIHRhcmdldD0ic2NhbiI+CisgICAgICAgIDx0ZXN0IG5hbWU9ImZ1bGxuYW1lIiBjb21wYXJlPSJlcSI+CisgICAgICAgICAgICA8c3RyaW5nPlNvdXJjZSBIYW4gU2FucyBLUiBNZWRpdW08L3N0cmluZz4KKyAgICAgICAgPC90ZXN0PgorICAgICAgICA8ZWRpdCBuYW1lPSJ3ZWlnaHQiIG1vZGU9ImFzc2lnbiI+CisgICAgICAgICAgICA8Y29uc3Q+ZGVtaWJvbGQ8L2NvbnN0PgorICAgICAgICA8L2VkaXQ+CisgICAgPC9tYXRjaD4KKzwvZm9udGNvbmZpZz4KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3NvdXJjZS1oYW4tc2Fucy1rci1mb250c18xLjAwNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy9zb3VyY2UtaGFuLXNhbnMta3ItZm9udHNfMS4wMDQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzkxZDE2NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy9zb3VyY2UtaGFuLXNhbnMta3ItZm9udHNfMS4wMDQuYmIKQEAgLTAsMCArMSwzNCBAQAorcmVxdWlyZSB0dGYuaW5jCisKK1NVTU1BUlkgPSAiQWRvYmUgT3BlblR5cGUgUGFuLUNKSyBmb250IGZhbWlseSBmb3IgS29yZWFuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2Fkb2JlLWZvbnRzL3NvdXJjZS1oYW4tc2FucyIKK0xJQ0VOU0UgPSAiT0ZMLTEuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT01NTcxOWZhYTAxMTI3MDhlOTQ2YjgyMGIyNGIxNDA5NyIKKworaW5oZXJpdCBhbGxhcmNoIGZvbnRjYWNoZQorCisjIERvd25sb2FkIHRlbmRzIHRvIGJyZWFrIC0gc28gLSBvciBub3Q/CisjRVhDTFVERV9GUk9NX1dPUkxEID0gIjEiCisKK1NSQ19VUkkgPSAiIFwKKyAgICBodHRwczovL2dpdGh1Yi5jb20vYWRvYmUtZm9udHMvc291cmNlLWhhbi1zYW5zL3Jhdy9yZWxlYXNlL1N1YnNldE9URi9Tb3VyY2VIYW5TYW5zS1IuemlwIFwKKyAgICBmaWxlOi8vNDQtc291cmNlLWhhbi1zYW5zLWtyLmNvbmYgXAorIgorU1JDX1VSSVttZDVzdW1dID0gImY4ZDFiZDZjODdkODU3NWFmZGIyNWUyZjQ2YmQ4MWQ0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM4ZmQxNWM4MGY5OTgwNDkyZmFhYTFhZjM5ZmY4NzNkOGEzOGU0NTAyNzAyM2ZiMTdkNWIxMGQ0YjRiMGU2YWYiCisKK1MgPSAiJHtXT1JLRElSfS9Tb3VyY2VIYW5TYW5zS1IiCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9mb250cy9jb25mLmQvCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vNDQtc291cmNlLWhhbi1zYW5zLWtyLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vZm9udHMvY29uZi5kLworCisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9mb250cy90cnVldHlwZS8KKyAgICBmaW5kIC4vIC1uYW1lICcqLm90ZicgLWV4ZWMgaW5zdGFsbCAtbSAwNjQ0IHt9ICR7RH0ke2RhdGFkaXJ9L2ZvbnRzL3RydWV0eXBlLyBcOworfQorCitGSUxFU18ke1BOfSA9ICIgXAorICAgICR7c3lzY29uZmRpcn0vZm9udHMgXAorICAgICR7ZGF0YWRpcn0vZm9udHMgXAorIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvc291cmNlLWhhbi1zYW5zLXR3LWZvbnRzLzQ0LXNvdXJjZS1oYW4tc2Fucy10dy5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3NvdXJjZS1oYW4tc2Fucy10dy1mb250cy80NC1zb3VyY2UtaGFuLXNhbnMtdHcuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZTI4OTQwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3NvdXJjZS1oYW4tc2Fucy10dy1mb250cy80NC1zb3VyY2UtaGFuLXNhbnMtdHcuY29uZgpAQCAtMCwwICsxLDE5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGZvbnRjb25maWcgU1lTVEVNICIuLi9mb250cy5kdGQiPgorPGZvbnRjb25maWc+CisgICAgPCEtLSAKKyAgICAgICAgLSBNZWRpdW0gdmFyaWFudCBpcyB1c2VkIGluc3RlYWQgb2YgUmVndWxhciBvbiBRdCBhcHBzOgorICAgICAgICBodHRwczovL2J1Z3MubGF1bmNocGFkLm5ldC91YnVudHUtZm9udC1mYW1pbHkvK2J1Zy83NDQ4MTIKKyAgICAgICAgLSBNZWRpdW0gYW5kIEJvbGQgbG9va3MgdGhlIHNhbWUgaW4gY2VydGFpbiBhcHBsaWNhdGlvbnM6CisgICAgICAgIGh0dHBzOi8vYnVncy5sYXVuY2hwYWQubmV0L3VidW50dS8rc291cmNlL2dub21lLXNwZWNpbWVuLytidWcvODEzMzczCisgICAgLS0+CisgICAgPG1hdGNoIHRhcmdldD0ic2NhbiI+CisgICAgICAgIDx0ZXN0IG5hbWU9ImZ1bGxuYW1lIiBjb21wYXJlPSJlcSI+CisgICAgICAgICAgICA8c3RyaW5nPlNvdXJjZSBIYW4gU2FucyBUV0hLIE1lZGl1bTwvc3RyaW5nPgorICAgICAgICA8L3Rlc3Q+CisgICAgICAgIDxlZGl0IG5hbWU9IndlaWdodCIgbW9kZT0iYXNzaWduIj4KKyAgICAgICAgICAgIDxjb25zdD5kZW1pYm9sZDwvY29uc3Q+CisgICAgICAgIDwvZWRpdD4KKyAgICA8L21hdGNoPgorPC9mb250Y29uZmlnPgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvc291cmNlLWhhbi1zYW5zLXR3LWZvbnRzXzEuMDA0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3NvdXJjZS1oYW4tc2Fucy10dy1mb250c18xLjAwNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MjgyNTA1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3NvdXJjZS1oYW4tc2Fucy10dy1mb250c18xLjAwNC5iYgpAQCAtMCwwICsxLDM0IEBACityZXF1aXJlIHR0Zi5pbmMKKworU1VNTUFSWSA9ICJBZG9iZSBPcGVuVHlwZSBQYW4tQ0pLIGZvbnQgZmFtaWx5IGZvciBUcmFkaXRpb25hbCBDaGluZXNlIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2Fkb2JlLWZvbnRzL3NvdXJjZS1oYW4tc2FucyIKK0xJQ0VOU0UgPSAiT0ZMLTEuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT01NTcxOWZhYTAxMTI3MDhlOTQ2YjgyMGIyNGIxNDA5NyIKKworaW5oZXJpdCBhbGxhcmNoIGZvbnRjYWNoZQorCisjIERvd25sb2FkIHRlbmRzIHRvIGJyZWFrIC0gc28gLSBvciBub3Q/CisjRVhDTFVERV9GUk9NX1dPUkxEID0gIjEiCisKK1NSQ19VUkkgPSAiIFwKKyAgICBodHRwczovL2dpdGh1Yi5jb20vYWRvYmUtZm9udHMvc291cmNlLWhhbi1zYW5zL3Jhdy9yZWxlYXNlL1N1YnNldE9URi9Tb3VyY2VIYW5TYW5zVFcuemlwIFwKKyAgICBmaWxlOi8vNDQtc291cmNlLWhhbi1zYW5zLXR3LmNvbmYgXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjY1MzNiNzFiMzFjMTllNTQ4NzY4ZjBmYzk2MzIwMmYzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjkyYmExNjE5MjFjNWNkZWM1YThmOGQ1NzExNjc2ZjA4NjViNTBjZWUwNzFjMjVlYjRiZDQxMjViNWFmNTlmZDAiCisKK1MgPSAiJHtXT1JLRElSfS9Tb3VyY2VIYW5TYW5zVFciCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9mb250cy9jb25mLmQvCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vNDQtc291cmNlLWhhbi1zYW5zLXR3LmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vZm9udHMvY29uZi5kLworCisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9mb250cy90cnVldHlwZS8KKyAgICBmaW5kIC4vIC1uYW1lICcqLm90ZicgLWV4ZWMgaW5zdGFsbCAtbSAwNjQ0IHt9ICR7RH0ke2RhdGFkaXJ9L2ZvbnRzL3RydWV0eXBlLyBcOworfQorCitGSUxFU18ke1BOfSA9ICIgXAorICAgICR7c3lzY29uZmRpcn0vZm9udHMgXAorICAgICR7ZGF0YWRpcn0vZm9udHMgXAorIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLWFycGhpYy11bWluZ18yMDA4MDIxNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtYXJwaGljLXVtaW5nXzIwMDgwMjE2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyMmYwZmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLWFycGhpYy11bWluZ18yMDA4MDIxNi5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIlVuaWNvZGUgTWluZ3RpIChwcmludGVkKSBUcnVlVHlwZSBGb250IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2FyZS9DSktVbmlmb250cyIKK0xJQ0VOU0UgPSAiQXJwaGljLVB1YmxpYy1MaWNlbnNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO21kNT02MmJlMDExMDk0Yjc4NjVkZGM0ZDFhNjQ4NDQ0ZDMxYSIKK1NSQ19ESVNUUklCVVRFX0xJQ0VOU0VTICs9ICIke1BOfSIKK1JQUk9WSURFU18ke1BOfSA9ICJ2aXJ0dWFsLWNoaW5lc2UtZm9udCIKK1BSID0gInI2IgorCitGT05UX1BBQ0tBR0VTID0gIiR7UE59IgorCitTUkNfVVJJID0gImh0dHA6Ly9hcmNoaXZlLnVidW50dS5jb20vdWJ1bnR1L3Bvb2wvbWFpbi90L3R0Zi1hcnBoaWMtdW1pbmcvdHRmLWFycGhpYy11bWluZ18wLjIuJHtQVn0uMS5vcmlnLnRhci5neiIKK1MgPSAiJHtXT1JLRElSfSIKKworcmVxdWlyZSB0dGYuaW5jCisKK0ZJTEVTXyR7UE59ID0gIiR7ZGF0YWRpcn0iCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkMjE5ZmNhZjk1M2YzZWIxODg5Mzk5OTU1YTAwMzc5ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4MDM4YTZkYjllODMyNDU2ZDVkYTU1NTlhZmY4ZDE1MTMwMjQzYmUxMDkxYmYyNGYzMjQzNTAzYTZmMWJkYTk4IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1kZWphdnUvMzAtZGVqYXZ1LWFsaWFzZXMuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtZGVqYXZ1LzMwLWRlamF2dS1hbGlhc2VzLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWM2ZTU2YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtZGVqYXZ1LzMwLWRlamF2dS1hbGlhc2VzLmNvbmYKQEAgLTAsMCArMSwxNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgZm9udGNvbmZpZyBTWVNURU0gImZvbnRzLmR0ZCI+Cis8Zm9udGNvbmZpZz4KKwk8YWxpYXM+CisJCTxmYW1pbHk+RGVqYVZ1IFNlcmlmPC9mYW1pbHk+CisJCTxkZWZhdWx0PjxmYW1pbHk+c2VyaWY8L2ZhbWlseT48L2RlZmF1bHQ+CisJPC9hbGlhcz4KKwk8YWxpYXM+CisJCTxmYW1pbHk+RGVqYVZ1IFNhbnM8L2ZhbWlseT4KKwkJPGRlZmF1bHQ+PGZhbWlseT5zYW5zLXNlcmlmPC9mYW1pbHk+PC9kZWZhdWx0PgorCTwvYWxpYXM+CisgCTxhbGlhcz4KKwkJPGZhbWlseT5EZWphVnUgU2FucyBNb25vPC9mYW1pbHk+CisJCTxkZWZhdWx0PjxmYW1pbHk+bW9ub3NwYWNlPC9mYW1pbHk+PC9kZWZhdWx0PgorCTwvYWxpYXM+Cis8L2ZvbnRjb25maWc+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLWRlamF2dV8yLjM1LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1kZWphdnVfMi4zNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zY2U3OTFiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1kZWphdnVfMi4zNS5iYgpAQCAtMCwwICsxLDQ0IEBACityZXF1aXJlIHR0Zi5pbmMKKworU1VNTUFSWSA9ICJEZWphVnUgZm9udCAtIFRURiBFZGl0aW9uIgorSE9NRVBBR0UgPSAiaHR0cDovL2RlamF2dS5zb3VyY2Vmb3JnZS5uZXQvd2lraS8iCitMSUNFTlNFID0gIkJpdHN0cmVhbVZlcmEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1dPUktESVJ9L2RlamF2dS1mb250cy10dGYtJHtQVn0vTElDRU5TRTttZDU9OWY4NjdkYTdhNzNmYWQyNzE1MjkxMzQ4ZTgwZDA3NjMiCisKKyMgYWxsIHN1YnBhY2thZ2VzIGV4Y2VwdCAke1BOfS1jb21tb24gaXRzZWxmIHJkZXBlbmRzIG9uICR7UE59LWNvbW1vbgorUkRFUEVORFNfJHtQTn0tc2FucyA9ICIke1BOfS1jb21tb24iCitSREVQRU5EU18ke1BOfS1zYW5zLW1vbm8gPSAiJHtQTn0tY29tbW9uIgorUkRFUEVORFNfJHtQTn0tc2Fucy1jb25kZW5zZWQgPSAiJHtQTn0tY29tbW9uIgorUkRFUEVORFNfJHtQTn0tc2VyaWYgPSAiJHtQTn0tY29tbW9uIgorUkRFUEVORFNfJHtQTn0tc2VyaWYtY29uZGVuc2VkID0gIiR7UE59LWNvbW1vbiIKK1JERVBFTkRTXyR7UE59LWNvbW1vbiA9ICIiCitQUiA9ICJyNyIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vZGVqYXZ1L2RlamF2dS1mb250cy10dGYtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly8zMC1kZWphdnUtYWxpYXNlcy5jb25mIgorCitTID0gIiR7V09SS0RJUn0vZGVqYXZ1LWZvbnRzLXR0Zi0ke1BWfS90dGYiCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2ZvbnRzL2NvbmYuZC8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS8zMC1kZWphdnUtYWxpYXNlcy5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L2ZvbnRzL2NvbmYuZC8KK30KKworUEFDS0FHRVMgPSAiXAorICAgICAgICAgICAgJHtQTn0tc2FucyBcCisgICAgICAgICAgICAke1BOfS1zYW5zLW1vbm8gXAorICAgICAgICAgICAgJHtQTn0tc2Fucy1jb25kZW5zZWQgXAorICAgICAgICAgICAgJHtQTn0tc2VyaWYgXAorICAgICAgICAgICAgJHtQTn0tc2VyaWYtY29uZGVuc2VkIFwKKyAgICAgICAgICAgICR7UE59LWNvbW1vbiIKK0ZPTlRfUEFDS0FHRVMgPSAiJHtQTn0tc2FucyAke1BOfS1zYW5zLW1vbm8gJHtQTn0tc2Fucy1jb25kZW5zZWQgJHtQTn0tc2VyaWYgJHtQTn0tc2VyaWYtY29uZGVuc2VkIgorCitGSUxFU18ke1BOfS1zYW5zICAgICAgICAgICAgPSAiJHtkYXRhZGlyfS9mb250cy90cnVldHlwZS9EZWphVnVTYW5zLnR0ZiAke2RhdGFkaXJ9L2ZvbnRzL3RydWV0eXBlL0RlamFWdVNhbnMtKi50dGYiCitGSUxFU18ke1BOfS1zYW5zLW1vbm8gICAgICAgPSAiJHtkYXRhZGlyfS9mb250cy90cnVldHlwZS9EZWphVnVTYW5zTW9ubyoudHRmIgorRklMRVNfJHtQTn0tc2Fucy1jb25kZW5zZWQgID0gIiR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvRGVqYVZ1U2Fuc0NvbmRlbnNlZCoudHRmIgorRklMRVNfJHtQTn0tc2VyaWYgICAgICAgICAgID0gIiR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvRGVqYVZ1U2VyaWYudHRmICR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvRGVqYVZ1U2VyaWYtKi50dGYiCitGSUxFU18ke1BOfS1zZXJpZi1jb25kZW5zZWQgPSAiJHtkYXRhZGlyfS9mb250cy90cnVldHlwZS9EZWphVnVTZXJpZkNvbmRlbnNlZCoudHRmIgorRklMRVNfJHtQTn0tY29tbW9uICAgICAgICAgID0gIiR7c3lzY29uZmRpcn0iCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1OWVhY2E1YWNmNWM3YzgyMTJlOTI3NzhlM2UwMWYzMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmNmQ3OTY1NTg2MTAxZmYzYThhNWMzZWM1MDNlMDgyYmI2YTk2MDRmZjUzNDEzZTEwNzAyZTU5MTdjMTk0ZDg4IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1kcm9pZF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLWRyb2lkX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjJiYWRmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1kcm9pZF9naXQuYmIKQEAgLTAsMCArMSwyNyBAQAorcmVxdWlyZSB0dGYuaW5jCisKK1NVTU1BUlkgPSAiRHJvaWQgZm9udHMgLSBUVEYgRWRpdGlvbiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZHJvaWRmb250cy5jb20vIgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FLnR4dDttZDU9ODM1NDQyNjJhODZmMWYxZWM3NjFlNzU4OTdkZjkyYmMiCitTUkNSRVYgPSAiMjFlNmUyZGUxZjAwNjJmOTQ5ZmNjNTJkMGI0NTU5ZGZhMzI0NmUwZSIKK1BWID0gIjAuMStnaXRyJHtTUkNQVn0iCitQUiA9ICJyMyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2FuZHJvaWQvcGxhdGZvcm1fZnJhbWV3b3Jrc19iYXNlLmdpdDticmFuY2g9bWFzdGVyIgorCitTID0gIiR7V09SS0RJUn0vZ2l0L2RhdGEvZm9udHMiCisKK2RvX2luc3RhbGxfcHJlcGVuZCgpIHsKKyAgICBybSAke1N9L0FoZW0udHRmIE1UTGMzbS50dGYgRHJvaWRTYW5zQXJhYmljLnR0ZiBEcm9pZFNhbnNUaGFpLnR0ZiBDbG9ja29waWEudHRmIE1UTG1yM20udHRmIERyb2lkU2Fuc0hlYnJldy50dGYgRHJvaWRTYW5zRmFsbGJhY2tMZWdhY3kudHRmICMgd2UncmUgbm90IHBhY2thZ2luZyBpdAorfQorCitQQUNLQUdFUyA9ICJ0dGYtZHJvaWQtc2FucyB0dGYtZHJvaWQtc2Fucy1tb25vIFwKKyAgICAgICAgICAgIHR0Zi1kcm9pZC1zYW5zLWZhbGxiYWNrIHR0Zi1kcm9pZC1zYW5zLWphcGFuZXNlIHR0Zi1kcm9pZC1zZXJpZiIKK0ZPTlRfUEFDS0FHRVMgPSAidHRmLWRyb2lkLXNhbnMgdHRmLWRyb2lkLXNhbnMtbW9ubyB0dGYtZHJvaWQtc2Fucy1mYWxsYmFjayB0dGYtZHJvaWQtc2Fucy1qYXBhbmVzZSB0dGYtZHJvaWQtc2VyaWYiCisKK0ZJTEVTX3R0Zi1kcm9pZC1zYW5zID0gIiR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvRHJvaWRTYW5zLnR0ZiAke2RhdGFkaXJ9L2ZvbnRzL3RydWV0eXBlL0Ryb2lkU2Fucy1Cb2xkLnR0ZiIKK0ZJTEVTX3R0Zi1kcm9pZC1zYW5zLW1vbm8gPSAiJHtkYXRhZGlyfS9mb250cy90cnVldHlwZS9Ecm9pZFNhbnNNb25vLnR0ZiIKK0ZJTEVTX3R0Zi1kcm9pZC1zYW5zLWZhbGxiYWNrID0gIiR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvRHJvaWRTYW5zRmFsbGJhY2sudHRmIgorRklMRVNfdHRmLWRyb2lkLXNhbnMtamFwYW5lc2UgPSAiJHtkYXRhZGlyfS9mb250cy90cnVldHlwZS9Ecm9pZFNhbnNKYXBhbmVzZS50dGYiCitGSUxFU190dGYtZHJvaWQtc2VyaWYgPSAiJHtkYXRhZGlyfS9mb250cy90cnVldHlwZS9Ecm9pZFNlcmlmKi50dGYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLWdlbnRpdW1fMS4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtZ2VudGl1bV8xLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhNjI1OGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLWdlbnRpdW1fMS4wMi5iYgpAQCAtMCwwICsxLDM3IEBACityZXF1aXJlIHR0Zi5pbmMKKworU1VNTUFSWSA9ICJHZW50aXVtIGZvbnRzIC0gVFRGIFZlcnNpb24iCitIT01FUEFHRSA9ICJodHRwOi8vc2NyaXB0cy5zaWwub3JnL2dlbnRpdW0iCitMSUNFTlNFID0gIk9GTCIKK0xJQ0VOU0VfVVJMID0gImh0dHA6Ly9zY3JpcHRzLnNpbC5vcmcvY21zL3NjcmlwdHMvcGFnZS5waHA/c2l0ZV9pZD1ucnNpJml0ZW1faWQ9T0ZMIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vT0ZMO21kNT0zM2E1YmY3Yjk4YTljMGFlODc0MzA3NjBiYTc2MjI5NSBcCisiCitQUiA9ICJyOCIKKworU1JDX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vdC90dGYtZ2VudGl1bS90dGYtZ2VudGl1bV8ke1BWfS5vcmlnLnRhci5neiAiCisKK1MgPSAiJHtXT1JLRElSfS90dGYtc2lsLWdlbnRpdW0tJHtQVn0iCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9kb2MvdHRmLWdlbnRpdW0vCisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9kb2MvdHRmLWdlbnRpdW0tYWx0LworCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vT0ZMICR7RH0ke2RhdGFkaXJ9L2RvYy90dGYtZ2VudGl1bS8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9PRkwgJHtEfSR7ZGF0YWRpcn0vZG9jL3R0Zi1nZW50aXVtLWFsdC8KKworfQorCitQQUNLQUdFUyA9ICIke1BOfSAke1BOfS1hbHQiCitGT05UX1BBQ0tBR0VTID0gIiR7UE59ICR7UE59LWFsdCIKKworRklMRVNfJHtQTn0tYWx0ID0gIiR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvR2VuQUkqLnR0ZiBcCisgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9mb250cy90cnVldHlwZS9HZW5BUioudHRmIFwKKyAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RvYy90dGYtZ2VudGl1bS1hbHQvKiIKKworRklMRVNfJHtQTn0gPSAiJHtkYXRhZGlyfS9mb250cy90cnVldHlwZS9HZW5JKi50dGYgXAorICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9mb250cy90cnVldHlwZS9HZW5SKi50dGYgXAorICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kb2MvdHRmLWdlbnRpdW0vKiIKKworU1JDX1VSSVttZDVzdW1dID0gIjRjM2U2YWU1ODZiZTI3NzUzN2ViYjY4ZjJhNDViODgzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ3NDZjMDRjOWE0YWQ5ZTA3ODhhMzhlMGEyZjgxOTE5YTYzMGQ4MDcwY2VhYmM4OWYxNTZiNmQ0MWQ4Y2ViMzciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLWh1bmt5Zm9udHNfMC4zLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLWh1bmt5Zm9udHNfMC4zLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWNkOTkzNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtaHVua3lmb250c18wLjMuMC5iYgpAQCAtMCwwICsxLDIwIEBACityZXF1aXJlIHR0Zi5pbmMKKworU1VNTUFSWSA9ICJIdW5reSBmb250cyAtIFRURiBWZXJzaW9uIgorSE9NRVBBR0UgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9odW5reWZvbnRzIgorTElDRU5TRSA9ICJMR1BMIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vLi4vTElDRU5TRTttZDU9N2ZiYzMzODMwOWFjMzhmZWZjZDY0YjA0YmI5MDNlMzQiCitQUiA9ICJyNyIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vaHVua3lmb250cy9odW5reWZvbnRzLSR7UFZ9LnRhci5iejIiCisKK1MgPSAiJHtXT1JLRElSfS9odW5reWZvbnRzLSR7UFZ9L1RURi8iCisKK1BBQ0tBR0VTID0gInR0Zi1odW5reS1zYW5zIHR0Zi1odW5reS1zZXJpZiIKK0ZPTlRfUEFDS0FHRVMgPSAidHRmLWh1bmt5LXNhbnMgdHRmLWh1bmt5LXNlcmlmIgorCitGSUxFU190dGYtaHVua3ktc2FucyA9ICIke2RhdGFkaXJ9L2ZvbnRzL3RydWV0eXBlL0h1bmt5U2FucyoudHRmIgorRklMRVNfdHRmLWh1bmt5LXNlcmlmID0gIiR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvSHVua3lTZXJpZioudHRmIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMzY0NDQ3OTVhMzU2ZmI4YTU2YzYzYjI4NDA3MjliYWIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTBiMTg0OWM1NDViNmFmMjc2NDA3ZDkzMDI1YzczMDk0ZGQ3NGZjMjU5YjA3YzFkOTE1OTRmZGJiOWEwYjgyOSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtaW5jb25zb2xhdGEvT0ZMLnR4dCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtaW5jb25zb2xhdGEvT0ZMLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNDU2YzE4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1pbmNvbnNvbGF0YS9PRkwudHh0CkBAIC0wLDAgKzEsOTcgQEAKK0NvcHlyaWdodCAoYykgPGRhdGVzPiwgPENvcHlyaWdodCBIb2xkZXI+ICg8VVJMfGVtYWlsPiksCit3aXRoIFJlc2VydmVkIEZvbnQgTmFtZSA8UmVzZXJ2ZWQgRm9udCBOYW1lPi4KK0NvcHlyaWdodCAoYykgPGRhdGVzPiwgPGFkZGl0aW9uYWwgQ29weXJpZ2h0IEhvbGRlcj4gKDxVUkx8ZW1haWw+KSwKK3dpdGggUmVzZXJ2ZWQgRm9udCBOYW1lIDxhZGRpdGlvbmFsIFJlc2VydmVkIEZvbnQgTmFtZT4uCitDb3B5cmlnaHQgKGMpIDxkYXRlcz4sIDxhZGRpdGlvbmFsIENvcHlyaWdodCBIb2xkZXI+ICg8VVJMfGVtYWlsPikuCisKK1RoaXMgRm9udCBTb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgU0lMIE9wZW4gRm9udCBMaWNlbnNlLCBWZXJzaW9uIDEuMS4KK1RoaXMgbGljZW5zZSBpcyBjb3BpZWQgYmVsb3csIGFuZCBpcyBhbHNvIGF2YWlsYWJsZSB3aXRoIGEgRkFRIGF0OgoraHR0cDovL3NjcmlwdHMuc2lsLm9yZy9PRkwKKworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorU0lMIE9QRU4gRk9OVCBMSUNFTlNFIFZlcnNpb24gMS4xIC0gMjYgRmVicnVhcnkgMjAwNworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworUFJFQU1CTEUKK1RoZSBnb2FscyBvZiB0aGUgT3BlbiBGb250IExpY2Vuc2UgKE9GTCkgYXJlIHRvIHN0aW11bGF0ZSB3b3JsZHdpZGUKK2RldmVsb3BtZW50IG9mIGNvbGxhYm9yYXRpdmUgZm9udCBwcm9qZWN0cywgdG8gc3VwcG9ydCB0aGUgZm9udCBjcmVhdGlvbgorZWZmb3J0cyBvZiBhY2FkZW1pYyBhbmQgbGluZ3Vpc3RpYyBjb21tdW5pdGllcywgYW5kIHRvIHByb3ZpZGUgYSBmcmVlIGFuZAorb3BlbiBmcmFtZXdvcmsgaW4gd2hpY2ggZm9udHMgbWF5IGJlIHNoYXJlZCBhbmQgaW1wcm92ZWQgaW4gcGFydG5lcnNoaXAKK3dpdGggb3RoZXJzLgorCitUaGUgT0ZMIGFsbG93cyB0aGUgbGljZW5zZWQgZm9udHMgdG8gYmUgdXNlZCwgc3R1ZGllZCwgbW9kaWZpZWQgYW5kCityZWRpc3RyaWJ1dGVkIGZyZWVseSBhcyBsb25nIGFzIHRoZXkgYXJlIG5vdCBzb2xkIGJ5IHRoZW1zZWx2ZXMuIFRoZQorZm9udHMsIGluY2x1ZGluZyBhbnkgZGVyaXZhdGl2ZSB3b3JrcywgY2FuIGJlIGJ1bmRsZWQsIGVtYmVkZGVkLCAKK3JlZGlzdHJpYnV0ZWQgYW5kL29yIHNvbGQgd2l0aCBhbnkgc29mdHdhcmUgcHJvdmlkZWQgdGhhdCBhbnkgcmVzZXJ2ZWQKK25hbWVzIGFyZSBub3QgdXNlZCBieSBkZXJpdmF0aXZlIHdvcmtzLiBUaGUgZm9udHMgYW5kIGRlcml2YXRpdmVzLAoraG93ZXZlciwgY2Fubm90IGJlIHJlbGVhc2VkIHVuZGVyIGFueSBvdGhlciB0eXBlIG9mIGxpY2Vuc2UuIFRoZQorcmVxdWlyZW1lbnQgZm9yIGZvbnRzIHRvIHJlbWFpbiB1bmRlciB0aGlzIGxpY2Vuc2UgZG9lcyBub3QgYXBwbHkKK3RvIGFueSBkb2N1bWVudCBjcmVhdGVkIHVzaW5nIHRoZSBmb250cyBvciB0aGVpciBkZXJpdmF0aXZlcy4KKworREVGSU5JVElPTlMKKyJGb250IFNvZnR3YXJlIiByZWZlcnMgdG8gdGhlIHNldCBvZiBmaWxlcyByZWxlYXNlZCBieSB0aGUgQ29weXJpZ2h0CitIb2xkZXIocykgdW5kZXIgdGhpcyBsaWNlbnNlIGFuZCBjbGVhcmx5IG1hcmtlZCBhcyBzdWNoLiBUaGlzIG1heQoraW5jbHVkZSBzb3VyY2UgZmlsZXMsIGJ1aWxkIHNjcmlwdHMgYW5kIGRvY3VtZW50YXRpb24uCisKKyJSZXNlcnZlZCBGb250IE5hbWUiIHJlZmVycyB0byBhbnkgbmFtZXMgc3BlY2lmaWVkIGFzIHN1Y2ggYWZ0ZXIgdGhlCitjb3B5cmlnaHQgc3RhdGVtZW50KHMpLgorCisiT3JpZ2luYWwgVmVyc2lvbiIgcmVmZXJzIHRvIHRoZSBjb2xsZWN0aW9uIG9mIEZvbnQgU29mdHdhcmUgY29tcG9uZW50cyBhcworZGlzdHJpYnV0ZWQgYnkgdGhlIENvcHlyaWdodCBIb2xkZXIocykuCisKKyJNb2RpZmllZCBWZXJzaW9uIiByZWZlcnMgdG8gYW55IGRlcml2YXRpdmUgbWFkZSBieSBhZGRpbmcgdG8sIGRlbGV0aW5nLAorb3Igc3Vic3RpdHV0aW5nIC0tIGluIHBhcnQgb3IgaW4gd2hvbGUgLS0gYW55IG9mIHRoZSBjb21wb25lbnRzIG9mIHRoZQorT3JpZ2luYWwgVmVyc2lvbiwgYnkgY2hhbmdpbmcgZm9ybWF0cyBvciBieSBwb3J0aW5nIHRoZSBGb250IFNvZnR3YXJlIHRvIGEKK25ldyBlbnZpcm9ubWVudC4KKworIkF1dGhvciIgcmVmZXJzIHRvIGFueSBkZXNpZ25lciwgZW5naW5lZXIsIHByb2dyYW1tZXIsIHRlY2huaWNhbAord3JpdGVyIG9yIG90aGVyIHBlcnNvbiB3aG8gY29udHJpYnV0ZWQgdG8gdGhlIEZvbnQgU29mdHdhcmUuCisKK1BFUk1JU1NJT04gJiBDT05ESVRJT05TCitQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcKK2EgY29weSBvZiB0aGUgRm9udCBTb2Z0d2FyZSwgdG8gdXNlLCBzdHVkeSwgY29weSwgbWVyZ2UsIGVtYmVkLCBtb2RpZnksCityZWRpc3RyaWJ1dGUsIGFuZCBzZWxsIG1vZGlmaWVkIGFuZCB1bm1vZGlmaWVkIGNvcGllcyBvZiB0aGUgRm9udAorU29mdHdhcmUsIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorCisxKSBOZWl0aGVyIHRoZSBGb250IFNvZnR3YXJlIG5vciBhbnkgb2YgaXRzIGluZGl2aWR1YWwgY29tcG9uZW50cywKK2luIE9yaWdpbmFsIG9yIE1vZGlmaWVkIFZlcnNpb25zLCBtYXkgYmUgc29sZCBieSBpdHNlbGYuCisKKzIpIE9yaWdpbmFsIG9yIE1vZGlmaWVkIFZlcnNpb25zIG9mIHRoZSBGb250IFNvZnR3YXJlIG1heSBiZSBidW5kbGVkLAorcmVkaXN0cmlidXRlZCBhbmQvb3Igc29sZCB3aXRoIGFueSBzb2Z0d2FyZSwgcHJvdmlkZWQgdGhhdCBlYWNoIGNvcHkKK2NvbnRhaW5zIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIGxpY2Vuc2UuIFRoZXNlIGNhbiBiZQoraW5jbHVkZWQgZWl0aGVyIGFzIHN0YW5kLWFsb25lIHRleHQgZmlsZXMsIGh1bWFuLXJlYWRhYmxlIGhlYWRlcnMgb3IKK2luIHRoZSBhcHByb3ByaWF0ZSBtYWNoaW5lLXJlYWRhYmxlIG1ldGFkYXRhIGZpZWxkcyB3aXRoaW4gdGV4dCBvcgorYmluYXJ5IGZpbGVzIGFzIGxvbmcgYXMgdGhvc2UgZmllbGRzIGNhbiBiZSBlYXNpbHkgdmlld2VkIGJ5IHRoZSB1c2VyLgorCiszKSBObyBNb2RpZmllZCBWZXJzaW9uIG9mIHRoZSBGb250IFNvZnR3YXJlIG1heSB1c2UgdGhlIFJlc2VydmVkIEZvbnQKK05hbWUocykgdW5sZXNzIGV4cGxpY2l0IHdyaXR0ZW4gcGVybWlzc2lvbiBpcyBncmFudGVkIGJ5IHRoZSBjb3JyZXNwb25kaW5nCitDb3B5cmlnaHQgSG9sZGVyLiBUaGlzIHJlc3RyaWN0aW9uIG9ubHkgYXBwbGllcyB0byB0aGUgcHJpbWFyeSBmb250IG5hbWUgYXMKK3ByZXNlbnRlZCB0byB0aGUgdXNlcnMuCisKKzQpIFRoZSBuYW1lKHMpIG9mIHRoZSBDb3B5cmlnaHQgSG9sZGVyKHMpIG9yIHRoZSBBdXRob3Iocykgb2YgdGhlIEZvbnQKK1NvZnR3YXJlIHNoYWxsIG5vdCBiZSB1c2VkIHRvIHByb21vdGUsIGVuZG9yc2Ugb3IgYWR2ZXJ0aXNlIGFueQorTW9kaWZpZWQgVmVyc2lvbiwgZXhjZXB0IHRvIGFja25vd2xlZGdlIHRoZSBjb250cmlidXRpb24ocykgb2YgdGhlCitDb3B5cmlnaHQgSG9sZGVyKHMpIGFuZCB0aGUgQXV0aG9yKHMpIG9yIHdpdGggdGhlaXIgZXhwbGljaXQgd3JpdHRlbgorcGVybWlzc2lvbi4KKworNSkgVGhlIEZvbnQgU29mdHdhcmUsIG1vZGlmaWVkIG9yIHVubW9kaWZpZWQsIGluIHBhcnQgb3IgaW4gd2hvbGUsCittdXN0IGJlIGRpc3RyaWJ1dGVkIGVudGlyZWx5IHVuZGVyIHRoaXMgbGljZW5zZSwgYW5kIG11c3Qgbm90IGJlCitkaXN0cmlidXRlZCB1bmRlciBhbnkgb3RoZXIgbGljZW5zZS4gVGhlIHJlcXVpcmVtZW50IGZvciBmb250cyB0bworcmVtYWluIHVuZGVyIHRoaXMgbGljZW5zZSBkb2VzIG5vdCBhcHBseSB0byBhbnkgZG9jdW1lbnQgY3JlYXRlZAordXNpbmcgdGhlIEZvbnQgU29mdHdhcmUuCisKK1RFUk1JTkFUSU9OCitUaGlzIGxpY2Vuc2UgYmVjb21lcyBudWxsIGFuZCB2b2lkIGlmIGFueSBvZiB0aGUgYWJvdmUgY29uZGl0aW9ucyBhcmUKK25vdCBtZXQuCisKK0RJU0NMQUlNRVIKK1RIRSBGT05UIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCitFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gQU5ZIFdBUlJBTlRJRVMgT0YKK01FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVAorT0YgQ09QWVJJR0hULCBQQVRFTlQsIFRSQURFTUFSSywgT1IgT1RIRVIgUklHSFQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorQ09QWVJJR0hUIEhPTERFUiBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksCitJTkNMVURJTkcgQU5ZIEdFTkVSQUwsIFNQRUNJQUwsIElORElSRUNULCBJTkNJREVOVEFMLCBPUiBDT05TRVFVRU5USUFMCitEQU1BR0VTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKK0ZST00sIE9VVCBPRiBUSEUgVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIEZPTlQgU09GVFdBUkUgT1IgRlJPTQorT1RIRVIgREVBTElOR1MgSU4gVEhFIEZPTlQgU09GVFdBUkUuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLWluY29uc29sYXRhXzIwMTAwNTI2LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1pbmNvbnNvbGF0YV8yMDEwMDUyNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMDA0MWJiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1pbmNvbnNvbGF0YV8yMDEwMDUyNi5iYgpAQCAtMCwwICsxLDI2IEBACityZXF1aXJlIHR0Zi5pbmMKKworU1VNTUFSWSA9ICJJbmNvbnNvbGF0YSBmb250IC0gVFRGIFZlcnNpb24iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lmxldmllbi5jb20vdHlwZS9teWZvbnRzL2luY29uc29sYXRhLmh0bWwiCitMSUNFTlNFID0gIk9GTC0xLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8uLi9PRkwudHh0O21kNT05Njk4NTFlM2E3MDEyMjA2OWE0ZDllZTYxZGQ1YTJlZCIKKworU1JDX1VSSSA9ICJodHRwOi8vbGV2aWVuLmNvbS90eXBlL215Zm9udHMvSW5jb25zb2xhdGEub3RmIFwKKyAgICBmaWxlOi8vT0ZMLnR4dCIKKworUyA9ICIke1dPUktESVJ9L3R0Zi1pbmNvbnNvbGF0YS0ke1BWfSIKKworRklMRVNfJHtQTn0gPSAiJHtkYXRhZGlyfS9mb250cy90cnVldHlwZS9JbmNvbnNvbGF0YS50dGYgXAorICAgICR7ZGF0YWRpcn0vZG9jL3R0Zi1pbmNvbnNvbGF0YS8qIgorCitkb19jb25maWd1cmUoKSB7CisgICAgbXYgJHtXT1JLRElSfS9JbmNvbnNvbGF0YS5vdGYgJHtTfS9JbmNvbnNvbGF0YS50dGYKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9kb2MvdHRmLWluY29uc29sYXRhLworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L09GTC50eHQgJHtEfSR7ZGF0YWRpcn0vZG9jL3R0Zi1pbmNvbnNvbGF0YS8KK30KKworU1JDX1VSSVttZDVzdW1dID0gIjBmYmUwMTRjMWYwZmI1ZTNjNzExNDBmZjBkYzYzZWRmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjE1NjFlNjE2YzQxNGExYjgyZDZlNmRmYmQxOGU1NzI2ZmQ2NTAyODkxM2FkZTE5MWU1ZmEzOGI2ZWMzNzVhMWEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLWxpYmVyYXRpb25fMC4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1saWJlcmF0aW9uXzAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MjA0YzkyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1saWJlcmF0aW9uXzAuMi5iYgpAQCAtMCwwICsxLDIzIEBACityZXF1aXJlIHR0Zi5pbmMKKworU1VNTUFSWSA9ICJMaWJlcmF0aW9uIGZvbnRzIC0gVFRGIFZlcnNpb24iCitIT01FUEFHRSA9ICJodHRwczovL3d3dy5yZWRoYXQuY29tL3Byb21vL2ZvbnRzLyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9MaWNlbnNlLnR4dDttZDU9NWIxNzFjNTEwMDAyOWQ4ODRmY2VhMjFkOWEyYjc1NDMgXAorIgorCitQUiA9ICJyNyIKKworU1JDX1VSSSA9ICJodHRwOi8vZmVkb3JhaG9zdGVkLm9yZy9saWJlcmF0aW9uLWZvbnRzL2V4cG9ydC84MDdiNmRmZDA2OWI5OThjZDliNGQzMTU4ZGE5ODgxN2VmMjNjNzlkL0YtOS9saWJlcmF0aW9uLWZvbnRzLXR0Zi0zLnRhci5neiIKK1MgPSAiJHtXT1JLRElSfS9saWJlcmF0aW9uLWZvbnRzLSR7UFZ9IgorCitQQUNLQUdFUyA9ICJ0dGYtbGliZXJhdGlvbi1tb25vIHR0Zi1saWJlcmF0aW9uLXNhbnMgdHRmLWxpYmVyYXRpb24tc2VyaWYiCitGT05UX1BBQ0tBR0VTID0gInR0Zi1saWJlcmF0aW9uLW1vbm8gdHRmLWxpYmVyYXRpb24tc2FucyB0dGYtbGliZXJhdGlvbi1zZXJpZiIKKworRklMRVNfdHRmLWxpYmVyYXRpb24tbW9ubyAgPSAiJHtkYXRhZGlyfS9mb250cy90cnVldHlwZS8qTW9ubyoiCitGSUxFU190dGYtbGliZXJhdGlvbi1zYW5zICA9ICIke2RhdGFkaXJ9L2ZvbnRzL3RydWV0eXBlLypTYW5zKiIKK0ZJTEVTX3R0Zi1saWJlcmF0aW9uLXNlcmlmID0gIiR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvKlNlcmlmKiIKKworU1JDX1VSSVttZDVzdW1dID0gIjc3NzI4MDc4YTE3ZTM5ZjdjMjQyYjQyYzNiZjZmZWI4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjE3NGNmMjdjNTc2MTI5NzE0MzRlYzhjYzRhNTJiZmQzN2JhZDg0MDhlOWI5MjE5NTM5YzZkNTExM2RmNmZmOGYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLW1wbHVzXzAyNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtbXBsdXNfMDI3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhZDM0OGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLW1wbHVzXzAyNy5iYgpAQCAtMCwwICsxLDI4IEBACityZXF1aXJlIHR0Zi5pbmMKKworU1VNTUFSWSA9ICJNUGx1cyBmb250IC0gVFRGIEVkaXRpb24iCitIT01FUEFHRSA9ICJodHRwOi8vZGVqYXZ1LnNvdXJjZWZvcmdlLm5ldC93aWtpLyIKK0xJQ0VOU0UgPSAiJHtQTn0iCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFX0U7bWQ1PWFjMTYxZTk2ZWRhMDBkYjlhM2FlYzc4NzBiNWQ5NjU4IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0VfSjttZDU9YTEyMGNhOGQ3YzhlNGE0NzVkNTI3N2M5YWViOTUyMjEgXAorIgorUFIgPSAicjQiCisKK1NSQ19VUkkgPSAiaHR0cDovL29zZG4uZGwuc291cmNlZm9yZ2UuanAvbXBsdXMtZm9udHMvNjY1MC9tcGx1cy1URVNURkxJR0hULSR7UFZ9LnRhci5neiIKK1MgPSAiJHtXT1JLRElSfS9tcGx1cy1URVNURkxJR0hULSR7UFZ9IgorCitQQUNLQUdFU1BMSVRGVU5DU19wcmVwZW5kID0gInNwbGl0X3R0Zl9tcGx1c19wYWNrYWdlcyAiCisKK3B5dGhvbiBzcGxpdF90dGZfbXBsdXNfcGFja2FnZXMoKSB7CisgICAgcGx1Z2luZGlyID0gZC5leHBhbmQoJyR7ZGF0YWRpcn0vZm9udHMvdHRmLW1wbHVzLycpCisgICAgcGFja2FnZXMgPSBkb19zcGxpdF9wYWNrYWdlcyhkLCBwbHVnaW5kaXIsICdeKC4qKVwudHRmJCcsICd0dGYtJXMnLCAnVFRGIEZvbnQgJXMnKQorICAgIGQuc2V0VmFyKCdGT05UX1BBQ0tBR0VTJywgJyAnLmpvaW4ocGFja2FnZXMpKQorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vZm9udHMvdHRmLW1wbHVzCisgICAgaW5zdGFsbCAtbSAwNjQ0ICoudHRmICR7RH0ke2RhdGFkaXJ9L2ZvbnRzL3R0Zi1tcGx1cy8KK30KKworU1JDX1VSSVttZDVzdW1dID0gImQxNDAwMTg0YjUxYjM4NzFlOGQyZmNhNmM1MGUxOGFlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImEyMGI5YjliMDNjMmE2ZmIxZTIxMzdkMjllOGE2Y2UwNjQwNmJhMWUwMDg5MDZlYTNjNDc0ZGMwNDhkYzA2YTYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLXB0LXNhbnNfMS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1wdC1zYW5zXzEuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYzYwYTM2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1wdC1zYW5zXzEuMS5iYgpAQCAtMCwwICsxLDM5IEBACitTVU1NQVJZID0gIlBUIFNhbnMgRm9udHMiCitERVNDUklQVElPTiA9ICJUaGUgUFQgU2FucyBUVEYgZm9udCBzZXQiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnBhcmF0eXBlLmNvbS9wdWJsaWMvIgorCitTRUNUSU9OID0gIngxMS9mb250cyIKKworTElDRU5TRSA9ICJQYXJhVHlwZUZGTC0xLjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8uLi9QVCUyMEZyZWUlMjBGb250JTIwTGljZW5zZV9lbmcudHh0O21kNT1kNzIwZjNhMjgxZWQ4MWMzZjRjZmM0NjVlMTFiMWQwZCIKKworaW5oZXJpdCBhbGxhcmNoIGZvbnRjYWNoZQorCisjIERvd25sb2FkaW5nIGZyb20gZmVkb3JhIGJlY2F1c2UgdXBzdHJlYW0gZG9lc24ndCB2ZXJzaW9uIGl0cyB6aXAgZmlsZQorIyBhbmQgY2F1c2VzIGhhc2ggYnVpbGQgZmFpbHVyZXMKK1NSQ19VUkkgPSAiaHR0cDovL3BrZ3MuZmVkb3JhcHJvamVjdC5vcmcvcmVwby9wa2dzL3BhcmF0eXBlLXB0LXNhbnMtZm9udHMvUFRTYW5zLnppcC9jM2Y1YTBlMjBhNzVjZjYyODM4NzUxMGE3MjA5MjRhNy9QVFNhbnMuemlwIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYzNmNWEwZTIwYTc1Y2Y2MjgzODc1MTBhNzIwOTI0YTciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDE2NGY4MjRlMDNjMzJjOTllOGEyMjU4NTNlYzE2ODg5M2EwNGEwOWFkZTEzMmU5M2E2NzRlODVhZTAzM2IyZSIKKworZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9mb250cy9YMTEvVFRGLworICAgIGNkIC4uCisgICAgZm9yIGkgaW4gKi50dGY7IGRvCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAkaSAke0R9JHtwcmVmaXh9L3NoYXJlL2ZvbnRzL1gxMS9UVEYvJHtpfQorICAgIGRvbmUKK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0iCisKK3BrZ19wb3N0aW5zdF8ke1BOfSAoKSB7CisgICAgc2V0IC14CisgICAgZm9yIGZvbnRkaXIgaW4gYGZpbmQgJEQvdXNyL2xpYi9YMTEvZm9udHMgLXR5cGUgZGA7IGRvCisgICAgICAgIG1rZm9udGRpciAkZm9udGRpcgorICAgICAgICBta2ZvbnRzY2FsZSAkZm9udGRpcgorICAgIGRvbmUKKyAgICBmb3IgZm9udGRpciBpbiBgZmluZCAkRC91c3Ivc2hhcmUvZm9udHMvWDExIC10eXBlIGRgOyBkbworICAgICAgICBta2ZvbnRkaXIgJGZvbnRkaXIKKyAgICAgICAgbWtmb250c2NhbGUgJGZvbnRkaXIKKyAgICBkb25lCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLXNhemFuYW1pXzIwMDQwNjI5LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1zYXphbmFtaV8yMDA0MDYyOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZmRjZWM4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1zYXphbmFtaV8yMDA0MDYyOS5iYgpAQCAtMCwwICsxLDM1IEBACityZXF1aXJlIHR0Zi5pbmMKKworU1VNTUFSWSA9ICJTYXphbmFtaSBHb3RoaWMvTWluY2hvIEphcGFuZXNlIFRydWVUeXBlIGZvbnRzIgorU1VNTUFSWV90dGYtc2F6YW5hbWktZ290aGljID0gIlNhemFuYW1pIEdvdGhpYyBKYXBhbmVzZSBUcnVlVHlwZSBmb250IgorU1VNTUFSWV90dGYtc2F6YW5hbWktbWluY2hvID0gIlNhemFuYW1pIE1pbmNobyBKYXBhbmVzZSBUcnVlVHlwZSBmb250IgorQVVUSE9SID0gIkVsZWN0cm9uaWMgRm9udCBPcGVuIExhYm9yYXRvcnkgKC9lZm9udC8pIgorSE9NRVBBR0UgPSAiaHR0cDovL3NvdXJjZWZvcmdlLmpwL3Byb2plY3RzL2Vmb250LyIKK0xJQ0VOU0UgPSAiUEQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7bWQ1PTk3ZDczOTkwMGJlNmU4NTI4MzBmNTVhYTNjMDdkNGEwIgorU1JDX0RJU1RSSUJVVEVfTElDRU5TRVMgKz0gIiR7UE59IgorUlBST1ZJREVTXyR7UE59ID0gInZpcnR1YWwtamFwYW5lc2UtZm9udCIKK1BSID0gInI5IgorCitTUkNfVVJJID0gImh0dHA6Ly9vc2RuLmRsLnNvdXJjZWZvcmdlLmpwL2Vmb250LzEwMDg3L3NhemFuYW1pLTIwMDQwNjI5LnRhci5iejIiCitTID0gIiR7V09SS0RJUn0vc2F6YW5hbWktMjAwNDA2MjkiCisKK1BBQ0tBR0VTID0gInR0Zi1zYXphbmFtaS1nb3RoaWMgdHRmLXNhemFuYW1pLW1pbmNobyIKK0ZPTlRfUEFDS0FHRVMgPSAidHRmLXNhemFuYW1pLWdvdGhpYyB0dGYtc2F6YW5hbWktbWluY2hvIgorCitGSUxFU190dGYtc2F6YW5hbWktZ290aGljID0gIiR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvc2F6YW5hbWktZ290aGljLnR0ZiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZG9jL3R0Zi1zYXphbmFtaS1nb3RoaWMvUkVBRE1FIgorRklMRVNfdHRmLXNhemFuYW1pLW1pbmNobyA9ICIke2RhdGFkaXJ9L2ZvbnRzL3RydWV0eXBlL3NhemFuYW1pLW1pbmNoby50dGYgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RvYy90dGYtc2F6YW5hbWktbWluY2hvL1JFQURNRSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyBSRUFETUUgY29udGFpbnMgdGhlIHJlZGlzdHJpYnV0aW9uIGxpY2Vuc2UKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2RvYy8KKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2RvYy90dGYtc2F6YW5hbWktZ290aGljCisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9kb2MvdHRmLXNhemFuYW1pLW1pbmNobworICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L1JFQURNRSAke0R9JHtkYXRhZGlyfS9kb2MvdHRmLXNhemFuYW1pLWdvdGhpYworICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L1JFQURNRSAke0R9JHtkYXRhZGlyfS9kb2MvdHRmLXNhemFuYW1pLW1pbmNobworfQorCitTUkNfVVJJW21kNXN1bV0gPSAiY2VlZjEwNTc5YTc1YzkyNDgzMTcxZjNiZDdmNzdkZjIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzQ2N2NlMmY3MGE5YTNmYmJmOGQ0ZDk3MzU1YTJmMzM0YTYzNTFiYWE2NzIyMjUxNDAzNjM3YThjYmViZjZiNyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtdGx3Z18wLjYuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtdGx3Z18wLjYuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNmEzZmU1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi10bHdnXzAuNi4xLmJiCkBAIC0wLDAgKzEsMjcgQEAKK3JlcXVpcmUgdHRmLmluYworCitTVU1NQVJZID0gIlRoYWkgTGludXggV29ya2luZyBHcm91cCBGb250cyIKK0FVVEhPUiA9ICJUaGFpIExpbnV4IFdvcmtpbmcgR3JvdXAiCitIT01FUEFHRSA9ICJodHRwOi8vbGludXgudGhhaS5uZXQvcHJvamVjdHMvZm9udHMtdGx3ZyIKK0xJQ0VOU0UgPSAiR1BMdjIgJiBUTFdHIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vLi4vZm9udHMtdGx3Zy0ke1BWfS9DT1BZSU5HO21kNT0zZDIwY2Q3ZWFkZjRhZmQ1NDYwYzBhZGIzMmUzODdmZCIKKworU1JDX1VSSSA9ICJodHRwOi8vbGludXgudGhhaS5uZXQvcHViL1RoYWlMaW51eC9zb2Z0d2FyZS9mb250cy10bHdnL2ZvbnRzLXRsd2ctJHtQVn0udGFyLnh6O25hbWU9c291cmNlIFwKKyAgICAgICAgICAgaHR0cDovL2xpbnV4LnRoYWkubmV0L3B1Yi9UaGFpTGludXgvc29mdHdhcmUvdHRmLXRsd2cvdHRmLXRsd2ctJHtQVn0udGFyLnh6O25hbWU9dHRmIgorU1JDX1VSSVtzb3VyY2UubWQ1c3VtXSA9ICI1ZWE1YmM5NjRkOTkyZGYwNDI4ZjJlMGI4NWY0ODQwMCIKK1NSQ19VUklbc291cmNlLnNoYTI1NnN1bV0gPSAiNzdmYjk4MzIyMjFmZGU2MGM5ZjY4M2FjM2ZkY2U3ZDQ1YWI2ZTljMGQ4M2RmODNkYTk2OWEzZmU5ZmFiYTUzNyIKK1NSQ19VUklbdHRmLm1kNXN1bV0gPSAiMWJjNTFmNDVhN2I2NjE0MDRhOTQ0ZmFiNjkxMTI2MWMiCitTUkNfVVJJW3R0Zi5zaGEyNTZzdW1dID0gImFhOWNkNjg5NjliNmY3MDRkZjNlNWIxYTJlMTEyMDRjNDdmMTE4YzhhYjA1MmYwNGMxMTFiZDVmMjk5Zjc3YzgiCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2ZvbnRzL2NvbmYuZAorCisgICAgZm9yIHggaW4gJHtTfS9ldGMvZm9udHMvY29uZi5hdmFpbC8qLmNvbmY7IGRvCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAkeCAke0R9JHtzeXNjb25mZGlyfS9mb250cy9jb25mLmQvCisgICAgZG9uZQorfQorCitQQUNLQUdFUyA9ICIke1BOfSIKK0ZPTlRfUEFDS0FHRVMgPSAiJHtQTn0iCisKK0ZJTEVTXyR7UE59ID0gIiR7ZGF0YWRpcn0vZm9udHMgJHtzeXNjb25mZGlyfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtdWJ1bnR1LWZvbnQtZmFtaWx5XzAuODAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLXVidW50dS1mb250LWZhbWlseV8wLjgwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1ZDFiOWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLXVidW50dS1mb250LWZhbWlseV8wLjgwLmJiCkBAIC0wLDAgKzEsMjAgQEAKK3JlcXVpcmUgdHRmLmluYworCitTVU1NQVJZID0gIlVidW50dSBGb250IEZhbWlseSAtIFRURiBWZXJzaW9uIgorSE9NRVBBR0UgPSAiaHR0cDovL2ZvbnQudWJ1bnR1LmNvbSIKK0xJQ0VOU0UgPSAiVUZMIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5DRS50eHQ7bWQ1PTMyNWExYTkwMjkxMTJhMjQwNWU3NDNjN2Y4MTY0MjdiIgorUFIgPSAicjEiCisKK1NSQ19VUkkgPSAiaHR0cDovL2ZvbnQudWJ1bnR1LmNvbS9kb3dubG9hZC91YnVudHUtZm9udC1mYW1pbHktJHtQVn0uemlwIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYTFmYzcwZjVhNWIxZDA5NmFiODMxMDg4NmNkZGFhMWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTA3MTcwMDk5YmJjM2JlYWU4NjAyYjk3YTVjNDIzNTI1ZDM2MzEwNmMzYzI0Zjc4N2Q0M2UwOTgxMTI5OGU0YyIKKworUyA9ICIke1dPUktESVJ9L3VidW50dS1mb250LWZhbWlseS0ke1BWfSIKKworUEFDS0FHRVMgPSAidHRmLXVidW50dS1tb25vIHR0Zi11YnVudHUtc2FucyIKK0ZPTlRfUEFDS0FHRVMgPSAidHRmLXVidW50dS1tb25vIHR0Zi11YnVudHUtc2FucyIKKworRklMRVNfdHRmLXVidW50dS1tb25vICA9ICIke2RhdGFkaXJ9L2ZvbnRzL3RydWV0eXBlLypNb25vKiIKK0ZJTEVTX3R0Zi11YnVudHUtc2FucyAgPSAiJHtkYXRhZGlyfS9mb250cy90cnVldHlwZS9VYnVudHUtKiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtd3F5LXplbmhlaV8wLjkuNDUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLXdxeS16ZW5oZWlfMC45LjQ1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyMDdhNjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLXdxeS16ZW5oZWlfMC45LjQ1LmJiCkBAIC0wLDAgKzEsMjcgQEAKK3JlcXVpcmUgdHRmLmluYworCitTVU1NQVJZID0gIldlblF1YW5ZaSBaZW4gSGVpIC0gQSBIZWktVGkgU3R5bGUgQ2hpbmVzZSBmb250IgorQVVUSE9SID0gIlFpYW5xaWFuIEZhbmcgYW5kIFRoZSBXZW5RdWFuWWkgUHJvamVjdCBDb250cmlidXRvcnMiCitIT01FUEFHRSA9ICJodHRwOi8vd2VucS5vcmcvIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWNmNTQwZmM3ZDM1YjU3NzdlMzYwNTEyODBiM2E5MTFjIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS93cXkvd3F5LXplbmhlaS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiNGM2YzNmNGU5MDJkZDVlZTBhMTIxZThjNDFkMDQwYmQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTRiN2UzMDY0NzViZjk0MjdkMTc1NzU3OGYwZTQ1Mjg5MzBjODRjNDRlYWEzZjE2N2Q0YzQyZjExMGVlNzVkNiIKKworUyA9ICIke1dPUktESVJ9L3dxeS16ZW5oZWkiCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICBzZWQgLWkgLWUgJy88c3RyaW5nPlteV10vZCcgJHtTfS80NC13cXktemVuaGVpLmNvbmYKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2ZvbnRzL2NvbmYuZAorCisgICAgZm9yIHggaW4gJHtTfS8qLmNvbmY7IGRvCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAkeCAke0R9JHtzeXNjb25mZGlyfS9mb250cy9jb25mLmQvCisgICAgZG9uZQorfQorCitQQUNLQUdFUyA9ICIke1BOfSIKK0ZPTlRfUEFDS0FHRVMgPSAiJHtQTn0iCisKK0ZJTEVTXyR7UE59ID0gIiR7ZGF0YWRpcn0vZm9udHMgJHtzeXNjb25mZGlyfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzc3YWYzOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYuaW5jCkBAIC0wLDAgKzEsMTIgQEAKK0RFU0NSSVBUSU9OID89ICJUcnVlVHlwZSBmb250IHBhY2thZ2UgJHtQTn0iCitTRUNUSU9OID0gImZvbnRzIgorCisjIHdlIGRvbid0IG5lZWQgYSBjb21waWxlciBub3IgYSBjIGxpYnJhcnkgZm9yIHRoZXNlIGZvbnRzCitJTkhJQklUX0RFRkFVTFRfREVQUyA9ICIxIgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvCisgICAgZmluZCAuLyAtbmFtZSAnKi50dFtjZl0nIC1leGVjIGluc3RhbGwgLW0gMDY0NCB7fSAke0R9JHtkYXRhZGlyfS9mb250cy90cnVldHlwZS8gXDsKK30KKworaW5oZXJpdCBhbGxhcmNoIGZvbnRjYWNoZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93YXlsYW5kLWZpdHNfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93YXlsYW5kLWZpdHNfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY4NTJmZDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL3dheWxhbmQtZml0c19naXQuYmIKQEAgLTAsMCArMSwzMyBAQAorU1VNTUFSWSA9ICJXYXlsYW5kLWZpdHMsIHRoZSBXYXlsYW5kIEZ1bmN0aW9uYWwgSW50ZWdyYXRpb24gVGVzdCBTdWl0ZSIKK0RFU0NSSVBUSU9OID0gIldheWxhbmQtZml0cyBpcyBhIGZ1bGx5IGF1dG9tYXRlZCBmdW5jdGlvbmFsIGludGVncmF0aW9uIFwKK3Rlc3Qgc3VpdGUuIEl0cyBtYWluIHB1cnBvc2UgaXMgdG8gdGVzdCB0aGUgZnVuY3Rpb25hbGl0eSBhbmQgaW50ZWdyYXRpb24gb2YgXAorY2xpZW50LXNpZGUgKGkuZS4gdG9vbGtpdCkgYW5kIHNlcnZlci1zaWRlIChjb21wb3NpdG9yKSBpbXBsZW1lbnRhdGlvbnMgb2YgXAordGhlIFdheWxhbmQgcHJvdG9jb2wuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tLzAxb3JnL3dheWxhbmQtZml0cyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZjhkMzRjYWRhZjg5MTc1M2MwZjAwYzZjZDQ4ZjA4ZjUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2V4dGVuc2lvbnMvd2VzdG9uL3dlc3Rvbi13Zml0cy5jcHA7ZW5kbGluZT0yMTttZDU9ODQ4YzgxZTU1Y2YzYTMwYTlmNmVkNzVmMGRiYTdhOTciCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS8wMW9yZy93YXlsYW5kLWZpdHMuZ2l0IgorU1JDUkVWID0gImYxMDgzMzVlMzc0NzcyYWUyODE4YTMwYWUzN2ZlNmZjZGE4MTk4MGYiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitERVBFTkRTID0gImxpYmNoZWNrIGJvb3N0IHdheWxhbmQgd2VzdG9uIgorUkRFUEVORFNfJHtQTn0gPSAid2VzdG9uIgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZW5hYmxlLXNoYXJlZCAtLWRpc2FibGUtc3RhdGljIC0td2l0aC1ib29zdC1saWJkaXI9JHtTVEFHSU5HX0xJQkRJUn0iCisKK1BBQ0tBR0VDT05GSUcgPz0gImd0ayszIgorCitQQUNLQUdFQ09ORklHW2VsZW1lbnRhcnldID0gIi0tZW5hYmxlLWVmbC10ZXN0cywtLWRpc2FibGUtZWZsLXRlc3RzLGVsZW1lbnRhcnkiCitQQUNLQUdFQ09ORklHW2d0ayszXSA9ICItLWVuYWJsZS1ndGstdGVzdHMsLS1kaXNhYmxlLWd0ay10ZXN0cyxndGsrMyIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisJcm0gLWYgJHtEfS8ke2xpYmRpcn0vd2VzdG9uLyoubGEKK30KKworRklMRVNfJHtQTn0gKz0gIiR7YmluZGlyfS93Zml0cyAke2xpYmRpcn0vd2VzdG9uLyouc28iCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7YmluZGlyfS8uZGVidWcgJHtsaWJkaXJ9L3dlc3Rvbi8uZGVidWcgJHtwcmVmaXh9L3NyYyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy9maWxlcy9lbmRpYW4tZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveDExdm5jL2ZpbGVzL2VuZGlhbi1maXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjJhNTM4YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy9maWxlcy9lbmRpYW4tZml4LnBhdGNoCkBAIC0wLDAgKzEsMjQgQEAKK2xpYnZuY3NlcnZlcjogcmVwbGFjZSBMSUJWTkNTRVJWRVJfV09SRFNfQklHRU5ESUFOIHdpdGggV09SRFNfQklHRU5ESUFOCisKK3NpbmNlIG1hY3JvIEFDX0NfQklHRU5ESUFOIGlzIHVzZWQgaW4gYXV0b2NvbmYgYW5kIFdPUkRTX0JJR0VORElBTiBpcworYXV0b21hdGljYWxseSBzZXQgZm9yIGRpZmZlcmVudCBhcmNoLCBpdCBpcyBiZXR0ZXIgdG8gdXNlIFdPUkRTX0JJR0VORElBTgoraW5zdGVhZCBvZiBMSUJWTkNTRVJWRVJfV09SRFNfQklHRU5ESUFOLCB3aGljaCBjdWFzZSBpc3N1ZSBpbiBtaXBzLgorCitTaWduZWQtb2ZmLWJ5OiBZdSBLZSA8a2UueXVAaW50ZWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworZGlmZiAtLWdpdCBhL2xpYnZuY3NlcnZlci9tYWluLmMgYi9saWJ2bmNzZXJ2ZXIvbWFpbi5jCitpbmRleCBiNmJkOTMwLi44YmJiN2JmIDEwMDY0NAorLS0tIGEvbGlidm5jc2VydmVyL21haW4uYworKysrIGIvbGlidm5jc2VydmVyL21haW4uYworQEAgLTQ3LDcgKzQ3LDcgQEAgc3RhdGljIE1VVEVYKGV4dE11dGV4KTsKKyAKKyBzdGF0aWMgaW50IHJmYkVuYWJsZUxvZ2dpbmc9MTsKKyAKKy0jaWZkZWYgTElCVk5DU0VSVkVSX1dPUkRTX0JJR0VORElBTgorKyNpZmRlZiBXT1JEU19CSUdFTkRJQU4KKyBjaGFyIHJmYkVuZGlhblRlc3QgPSAoMT09MCk7CisgI2Vsc2UKKyBjaGFyIHJmYkVuZGlhblRlc3QgPSAoMT09MSk7CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy9maWxlcy9zdGFydGluZy1maXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94MTF2bmMvZmlsZXMvc3RhcnRpbmctZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2MmU0MDUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94MTF2bmMvZmlsZXMvc3RhcnRpbmctZml4LnBhdGNoCkBAIC0wLDAgKzEsMjUgQEAKKyItZ3VpIiAmICItcmZicG9ydCIgcmVxdWlyZSAid2lzaCIgaW5zdGFsbGVkLCBvciBlbHNlIHgxMXZuYyBmYWlscyB0byBzdGFydC4KK1JlbW92aW5nIHRoZXNlIDIgcGFyYW1ldGVycyBtYWtlcyB4MTF2bmMgd29ya3Mgd2VsbCBvbiBwb2t5IHNhdG8gaW1hZ2UuCisKK0FkZCBhbHNvIC1za2lwX2xvY2trZXlzIG9wdGlvbiB0byBpZ25vcmUgYWxsIENhcHNfTG9jaywgU2hpZnRfTG9jaywgTnVtX0xvY2ssCitTY3JvbGxfTG9jayBrZXlzeW1zIHJlY2VpdmVkIGZyb20gdmlld2VycywgaW4gb3JkZXIgdG8gbGVhdmUgdGhlIGxvY2sgc3RhdGUgb24KK3RoZSBzZXJ2ZXIgc2lkZSB1bmNoYW5nZWQuIFlldCwgdGhlIGtleXMgd2lsbCBhcHBlYXIgY29ycmVjdGx5LgorCitTaWduZWQtb2ZmLWJ5OiBaaGFpIEVkd2luIDxlZHdpbi56aGFpQGludGVsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IExhdXJlbnRpdSBQYWxjdSA8bGF1cmVudGl1LnBhbGN1QGludGVsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitJbmRleDogeDExdm5jLTAuOS4xMi94MTF2bmMveDExdm5jLmRlc2t0b3AKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB4MTF2bmMtMC45LjEyLm9yaWcveDExdm5jL3gxMXZuYy5kZXNrdG9wCTIwMTEtMDMtMDMgMTA6MzM6MTguMDAwMDAwMDAwICswODAwCisrKysgeDExdm5jLTAuOS4xMi94MTF2bmMveDExdm5jLmRlc2t0b3AJMjAxMS0wMy0wMyAxMDozNToyMC4wMDAwMDAwMDAgKzA4MDAKK0BAIC0xLDcgKzEsNyBAQAorIFtEZXNrdG9wIEVudHJ5XQorIE5hbWU9WDExVk5DIFNlcnZlcgorIENvbW1lbnQ9U2hhcmUgdGhpcyBkZXNrdG9wIGJ5IFZOQworLUV4ZWM9eDExdm5jIC1ndWkgdHJheT1zZXRwYXNzIC1yZmJwb3J0IFBST01QVCAtYmcgLW8gJSVIT01FLy54MTF2bmMubG9nLiUlVk5DRElTUExBWQorK0V4ZWM9eDExdm5jIC1iZyAtcmZicG9ydCA1OTAwIC1za2lwX2xvY2trZXlzIC1vICUlSE9NRS8ueDExdm5jLmxvZy4lJVZOQ0RJU1BMQVkKKyBJY29uPWNvbXB1dGVyCisgVGVybWluYWw9ZmFsc2UKKyBUeXBlPUFwcGxpY2F0aW9uCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94MTF2bmMveDExdm5jXzAuOS4xMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy94MTF2bmNfMC45LjEzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlOTI5NjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94MTF2bmMveDExdm5jXzAuOS4xMy5iYgpAQCAtMCwwICsxLDI2IEBACitTVU1NQVJZID0gIkV4cG9ydHMgeW91ciBYIHNlc3Npb24gb24tdGhlLWZseSB2aWEgVk5DIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5rYXJscnVuZ2UuY29tL3gxMXZuYy8iCisKK1NFQ1RJT04gPSAieDExL3V0aWxzIgorQVVUSE9SID0gIkthcmwgUnVuZ2UiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM2MWI2YjgzN2NhZDI2YzY5MDBhOTI2YjYyYWFkYTVmIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3gxMXZuYy94MTF2bmMuaDtlbmRsaW5lPTMzO21kNT02Zjk1ZGM2NTM1NDY3ZDdlZTE1NjNmZDQzNGZiMzcyZSIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vbGlidm5jc2VydmVyL3gxMXZuYy8ke1BWfS94MTF2bmMtJHtQVn0udGFyLmd6XAorICAgICAgICAgICBmaWxlOi8vc3RhcnRpbmctZml4LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2VuZGlhbi1maXgucGF0Y2ggIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYTM3MmVjNGZlODIxMTIyMTU0N2IxYzEwOGNmNTZlNGMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjY4MjlmMmU2Mjk2NjdhNTI4NGRlNjJiMDgwYjEzMTI2YTA3MzY0OTlmZTQ3Y2RiNDQ3YWVkYjA3YTU5ZjEzYiIKKworREVQRU5EUyA9ICJvcGVuc3NsIHZpcnR1YWwvbGlieDExIGxpYnhleHQganBlZyB6bGliIGxpYnhmaXhlcyBsaWJ4cmFuZHIgbGlieGRhbWFnZSBsaWJ4dHN0IGxpYnRhc24xIHAxMS1raXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKyMgZGVwZW5kcyBvbiB2aXJ0dWFsL2xpYngxMQorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnemVyb2NvbmYnLCAnYXZhaGknLCAnJywgZCl9IGxpYnZuY3NlcnZlciIKK1BBQ0tBR0VDT05GSUdbYXZhaGldID0gIi0td2l0aC1hdmFoaSwtLXdpdGhvdXQtYXZhaGksYXZhaGkiCitQQUNLQUdFQ09ORklHW3hpbmVyYW1hXSA9ICItLXdpdGgteGluZXJhbWEsLS13aXRob3V0LXhpbmVyYW1hLGxpYnhpbmVyYW1hIgorUEFDS0FHRUNPTkZJR1tsaWJ2bmNzZXJ2ZXJdID0gIi0td2l0aC1zeXN0ZW0tbGlidm5jc2VydmVyLC0td2l0aG91dC1zeXN0ZW0tbGlidm5jc2VydmVyLGxpYnZuY3NlcnZlciIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hjdXJzb3JnZW4veGN1cnNvcmdlbl8xLjAuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hjdXJzb3JnZW4veGN1cnNvcmdlbl8xLjAuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yN2EzOGMxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveGN1cnNvcmdlbi94Y3Vyc29yZ2VuXzEuMC41LmJiCkBAIC0wLDAgKzEsMTIgQEAKK0xJQ0VOU0UgPSAiTWFuaXNoU2luZ2giCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iZDFmYjllZTkwZWVhZDg1ZjdiMTcxODA3YjNhYjRmMiIKKworREVQRU5EUyA9ICJsaWJwbmcgbGlieGN1cnNvciIKKworU1JDX1VSSSA9ICJodHRwOi8veG9yZy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZS9pbmRpdmlkdWFsL2FwcC8ke0JQTn0tJHtQVn0udGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICIwOWY1Njk3OGE2Mjg1NDUzNGRlYWNjOGFhOGZmMzAzMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiYzcxNzFhMGZhMjEyZGE4NjZmY2EyMzAxMjQxNjMwZTIwMDlhZWE4YzRkZGI3NWYyMWI1MWEzMWMyZTRjNTgxIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94ZG90b29sL3hkb3Rvb2xfMS4yMDEwMDQxNi4yODA5LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveGRvdG9vbC94ZG90b29sXzEuMjAxMDA0MTYuMjgwOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NzRkMjk4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveGRvdG9vbC94ZG90b29sXzEuMjAxMDA0MTYuMjgwOS5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gInhkb3Rvb2wgLSBjb21tYW5kLWxpbmUgWDExIGF1dG9tYXRpb24gdG9vbCAtIHV0aWxpc2luZyBYMTEgWFRFU1QgaW50ZXJmYWNlIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5zZW1pY29tcGxldGUuY29tL3Byb2plY3RzL3hkb3Rvb2wiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlSSUdIVDttZDU9MmY5Y2JmN2U5NDAxY2VjOGEzODY2NmEwODg1MWNlNmIiCitTRUNUSU9OID0gIngxMSIKK0RFUEVORFMgPSAidmlydHVhbC9saWJ4MTEgbGlieHRzdCIKKworUFIgPSAicjEiCisKK2luaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisjIGRlcGVuZHMgb24gdmlydHVhbC9saWJ4MTEKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NlbWljb21wbGV0ZS5nb29nbGVjb2RlLmNvbS9maWxlcy94ZG90b29sLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICIxZDViZTY0MWU1MTJjMzQzYWJmZTVmNzhiMzllNmYxOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0MmQ3MjcxZmJjNzk2ZTUzZGI3MWJiMjIxZjMxMWI5ZmYzYzUxZDkwYTcxYzk0ODdhOWJkMzEwMWNhMzk4OTRmIgorCitFWFRSQV9PRU1BS0UgPSAiUFJFRklYPSR7cHJlZml4fSBJTlNUQUxMTElCPSR7bGliZGlyfSBJTlNUQUxMTUFOPSR7bWFuZGlyfSIKKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIC1lIGluc3RhbGwgREVTVERJUj0ke0R9IFBSRUZJWD0ke3ByZWZpeH0KK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAvYmRmdG9wY2ZfMS4wLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC9iZGZ0b3BjZl8xLjAuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNWQ1MDAyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAvYmRmdG9wY2ZfMS4wLjUuYmIKQEAgLTAsMCArMSwxMyBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJiZGZ0b3BjZiBpcyBhIHRvb2wgdG8gY29udmVydCBCREYgZm9udHMgdG8gUENGIGZvbnRzIgorSE9NRVBBR0UgPSAiaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL3hvcmcvYXBwL2JkZnRvcGNmLyIKK1NFQ1RJT04gPSAieDExL2FwcCIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZjlhMzUzMzNhZGY3NWVkZDFlYWVmODRiY2E2NWE0OTAiCitERVBFTkRTID0gImxpYnhmb250IgorCitTUkNfVVJJW21kNXN1bV0gPSAiNTNhNDhlMWZkZmVjMjlhYjJlODlmODZkNGI3Y2E5MDIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzhmNDQ3YmUwYzYxZjk0YzQ3M2YxMjhjZjUxOWRkMGNmZjYzYjVkNzc3NTI0MGEyZTg5NWExODNhNjFlMjAyNiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC9pY2VhdXRoXzEuMC43LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAvaWNlYXV0aF8xLjAuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDBkZWM4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAvaWNlYXV0aF8xLjAuNy5iYgpAQCAtMCwwICsxLDE2IEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG9yZy1hcHAtY29tbW9uLmluYworCitTVU1NQVJZID0gIlguT3JnIFgxMSBYIGNsaWVudCB1dGlsaXRpZXMiCisKK0RFU0NSSVBUSU9OID0gIkEgY29sbGVjdGlvbiBvZiB1dGlsaXRpZXMgdXNlZCB0byB0d2VhayBhbmQgcXVlcnkgdGhlIHJ1bnRpbWUgY29uZmlndXJhdGlvblwKK29mIHRoZSBYIHNlcnZlci4iCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTEzZjcwYWNmM2MyN2Y1ZjgzNGJiYzk1NGRmNzc1ZjhlIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworREVQRU5EUyArPSAibGliaWNlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMjVkYWIwMmY4ZTQwZDViNzFjZTI5YTA3ZGM5MDFiOGMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTIxNmFmMmRlZTk5YjMxOGZjZjhiZjlhMjU5OTE1MjczYmNiMzdhN2YxZTc4NTlhZjRmMTVkMGViZjZmM2YwYSIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAvc2Vzc3JlZy8wMDAxLU1ha2VmaWxlLmFtLUVycm9yLUZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3Nlc3NyZWcvMDAwMS1NYWtlZmlsZS5hbS1FcnJvci1GaXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjA3Mjg1MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3Nlc3NyZWcvMDAwMS1NYWtlZmlsZS5hbS1FcnJvci1GaXgucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorRnJvbSAwODhiYjRjZWYyYzkzYmVmMzEyYjA3NmE4YzdhM2M3OThjYmYyZjE5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogZGFpY3kgPGRhaWN5QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogVHVlLCA4IERlYyAyMDE1IDExOjQ1OjAxICswOTAwCitTdWJqZWN0OiBbUEFUQ0hdIE1ha2VmaWxlLmFtOiBFcnJvciBGaXgKKworRG8gbm90IGNvbXBpbGUgbWFuIGRpciBzaW5jZSBlcnJvciBhbHdheXMgb2NjdXIuCisgfCBzZWQ6IGZpbGUgZmlsZW5hbWVzLnNlZCBsaW5lIDM6IHVudGVybWluYXRlZCBgcycgY29tbWFuZAorIHwgbWFrZVsyXTogKioqIFtzZXNzcmVnLjFdIEVycm9yIDEKK0l0IGlzIG5vdCBhIGdvb2Qgd2F5LkJ1dCBjYW4gcmVtb3ZlIGl0IGZyb20gUE5CTEFDS0xJU1QuCisKK1Vwc3RyZWFtLVN0YXR1czogcGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBMaSBYaW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CistLS0KKyBNYWtlZmlsZS5hbSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KK2luZGV4IGNkZGZmZDAuLjk0ZjcwNDggMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5hbQorKysrIGIvTWFrZWZpbGUuYW0KK0BAIC0xOCw3ICsxOCw3IEBACisgIyAgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUgorICMgIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCisgCistU1VCRElSUyA9IG1hbgorKyNTVUJESVJTID0gbWFuCisgYmluX1BST0dSQU1TID0gc2Vzc3JlZworIAorIEFNX0NGTEFHUyA9ICQoQ1dBUk5GTEFHUykgJChTRVNTUkVHX0NGTEFHUykKKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC9zZXNzcmVnXzEuMS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAvc2Vzc3JlZ18xLjEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZTI1YjdkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAvc2Vzc3JlZ18xLjEuMC5iYgpAQCAtMCwwICsxLDggQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94b3JnLWFwcC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiYSBzaW1wbGUgcHJvZ3JhbSBmb3IgbWFuYWdpbmcgdXRtcC93dG1wIGVudHJpZXMiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQ5MzhhNzBjODI4MGMyNjVhMWNjZDI5NTQzNjVkMTg1IgorU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtTWFrZWZpbGUuYW0tRXJyb3ItRml4LnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gImUyMzhjODlkYWJjNTY2ZTE4MzVlMWVjYjYxYjYwNWI5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU1MTE3NzY1NzgzNWUwOTAyYjVlZWU3YjE5NzEzMDM1YmVhYTE1ODFiYmQzYzY1MDZiYWE1NTNlNzUxZTAxN2MiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC9zZXR4a2JtYXBfMS4zLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC9zZXR4a2JtYXBfMS4zLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQwMjc1MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3NldHhrYm1hcF8xLjMuMS5iYgpAQCAtMCwwICsxLDE5IEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG9yZy1hcHAtY29tbW9uLmluYworCitTVU1NQVJZID0gIkEgcHJvZ3JhbSB0byBjb21waWxlIFhLQiBrZXlib2FyZCBkZXNjcmlwdGlvbiIKKworREVTQ1JJUFRJT04gPSAiVGhlIHhrYmNvbXAga2V5bWFwIGNvbXBpbGVyIGNvbnZlcnRzIGEgZGVzY3JpcHRpb24gb2YgYW4gXAorWEtCIGtleW1hcCBpbnRvIG9uZSBvZiBzZXZlcmFsIG91dHB1dCBmb3JtYXRzLiBUaGUgbW9zdCBjb21tb24gdXNlIGZvciBcCit4a2Jjb21wIGlzIHRvIGNyZWF0ZSBhIGNvbXBpbGVkIGtleW1hcCBmaWxlICgueGttIGV4dGVuc2lvbikgd2hpY2ggY2FuIFwKK2JlIHJlYWQgZGlyZWN0bHkgYnkgWEtCLWNhcGFibGUgWCBzZXJ2ZXJzIG9yIHV0aWxpdGllcy4iCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTVmZWFmZGJlNmRmZTllMmJkMzIzMjViZTBjZmM4NmY4IgorCitQRSA9ICIxIgorCitERVBFTkRTICs9ICJsaWJ4a2JmaWxlIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworU1JDX1VSSVttZDVzdW1dID0gIjJjNDdhMWI4ZTI2OGRmNzM5NjNjNGViMjMxNmIxYTg5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE5ZGRiMzk2M2YyNjNiYTEzZjBlYTEwNWQ4YzQ1YTUzMTgzMjE0MDUzMDIxN2NjNTU5NTg3YmI5NGYwMmQzZTEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC90d21fMS4wLjkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC90d21fMS4wLjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDFjODA0YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3R3bV8xLjAuOS5iYgpAQCAtMCwwICsxLDE1IEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG9yZy1hcHAtY29tbW9uLmluYworU1VNTUFSWSA9ICJ0aW55IHdpbmRvdyBtYW5hZ2VyIgorREVQRU5EUyArPSAiIGxpYnhleHQgbGlieHQgbGlieG11IGJpc29uLW5hdGl2ZSIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00YzZkNDJlZjYwZTgxNjZhYTI2NjA2NTI0YzBiOTU4NiIKKworU1JDX1VSSVttZDVzdW1dID0gIjU5YTZmMDc2Y2RhY2I1ZjY5NDVkYWM4MDliY2Y0OTA2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM1NzUxNjdhYzMzZWRmM2JkMTU5MmYxYmVkZmUwNTU5ZGViYjEyOGVkNWZiNDg3M2MxMjc4ZTNiZTE2NjMxMGEiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L1gxMS90d20vc3lzdGVtLnR3bXJjIgorQUxURVJOQVRJVkVfTkFNRSA9ICJ4LXdpbmRvdy1tYW5hZ2VyIgorQUxURVJOQVRJVkVfUEFUSCA9ICIke2JpbmRpcn0vdHdtIgorQUxURVJOQVRJVkVfTElOSyA9ICIke2JpbmRpcn0veC13aW5kb3ctbWFuYWdlciIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94Y2xvY2tfMS4wLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94Y2xvY2tfMS4wLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2Y5NzBkNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hjbG9ja18xLjAuNS5iYgpAQCAtMCwwICsxLDExIEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG9yZy1hcHAtY29tbW9uLmluYworCitTVU1NQVJZID0gImFuYWxvZyAvIGRpZ2l0YWwgY2xvY2sgZm9yIFgiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTg1Nzc1OWFkZThmMmRkZGU1YzdiMzJlZjczNTZlYTM2IgorCitERVBFTkRTICs9ICIgbGlieGF3IGxpYnhyZW5kZXIgbGlieGZ0IGxpYnhrYmZpbGUgbGlieHQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlYWYxMjRiYmM5ZDEzZTFhMTJhMjlmYWFhMmVkMzYxMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1M2E5MTY5ZTI0ZjM4MTRmYmZjZmVlM2NhMGI5ODYzNzg0MGEzMTU2ZWQ3YzdlMzZhZTAzOTQwZmFiYWU0YzlhIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94Zm9udHNlbF8xLjAuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hmb250c2VsXzEuMC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3NGIyOTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94Zm9udHNlbF8xLjAuNS5iYgpAQCAtMCwwICsxLDEzIEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG9yZy1hcHAtY29tbW9uLmluYworCitTVU1NQVJZID0gInhmb250c2VsIHByb3ZpZGVzIHBvaW50IGFuZCBjbGljayBzZWxlY3Rpb24gb2YgWDExIGZvbnQgbmFtZXMiCitIT01FUEFHRSA9ICJodHRwOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcveG9yZy9hcHAveGZvbnRzZWwvIgorU0VDVElPTiA9ICJ4MTEvYXBwIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00NjY5ZDI3MDNjNjBkNTg1Y2MyOWJhN2U5YTY5YmNiMyIKK0RFUEVORFMgKz0gIiBsaWJ4YXciCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTQ2NjlkMjcwM2M2MGQ1ODVjYzI5YmE3ZTlhNjliY2IzIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYTQwMzAyYjg4YzU5OWI2M2UzZDNkNDEyZTAyODcxZTYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTcwZDg1NTBiOTZmYjQ3YjA0ZGI2MTgxYjk0N2U2ZjZiOGI5N2Y0ZGY1ZDY5MWMzNTFhMjc4NDgwY2M5MzFiZiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hnYW1tYV8xLjAuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hnYW1tYV8xLjAuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTQ5NjE2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGdhbW1hXzEuMC42LmJiCkBAIC0wLDAgKzEsMTUgQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94b3JnLWFwcC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiWC5PcmcgWDExIFggY2xpZW50IHV0aWxpdGllcyIKKworREVTQ1JJUFRJT04gPSAieGdhbW1hIGFsbG93cyBYIHVzZXJzIHRvIHF1ZXJ5IGFuZCBhbHRlciB0aGUgZ2FtbWEgXAorY29ycmVjdGlvbiBvZiBhIG1vbml0b3IgdmlhIHRoZSBYIHZpZGVvIG1vZGUgZXh0ZW5zaW9uLiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YWM5ODAxYjg0MjNmZDdhNzY5OWNjYmQ0NWNmMTM0ZDgiCisKK0RFUEVORFMgKz0gImxpYnh4Zjg2dm0iCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOTBiNDMwNTE1N2MyYjk2NmQ1MTgwZTJlZTYxMjYyYmUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGVmMWMzNWI1YzE4YjFiMjIzMTdmNDU1YzhkZjEzYzBhNDcxYThlZmFkNjNjODljOThhZTNjZThjMmIyMjJkMyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hrYmV2ZF8xLjEuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hrYmV2ZF8xLjEuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNmZjOWU3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGtiZXZkXzEuMS40LmJiCkBAIC0wLDAgKzEsMTMgQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94b3JnLWFwcC1jb21tb24uaW5jCitTVU1NQVJZID0gIkEgcHJvZ3JhbSB0byBjb21waWxlIFhLQiBrZXlib2FyZCBkZXNjcmlwdGlvbiIKK0RFU0NSSVBUSU9OID0gIlRoZSAgeGtiZXZkIGV2ZW50IGRhZW1vbiBsaXN0ZW5zIGZvciBzcGVjaWZpZWQgWEtCIFwKK2V2ZW50cyBhbmQgZXhlY3V0ZXMgcmVxdWVzdGVkIGNvbW1hbmRzIGlmIHRoZXkgb2NjdXIuICIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjA4NjY4ZmE5MDA0NzA5YmEyMmMyYjc0ODE0MDk1NmMiCisKK0RFUEVORFMgKz0gImxpYnhrYmZpbGUiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYzc0N2ZhZjFmNzhmNWE1OTYyNDE5ZjhiZGQwNjY1MDEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjQzMGEyZTUzMDJhNGNiNGE1NTMwYzFkZjhjYjM3MjFhMTQ5YmJmOGViMzc3YTI4OTg5MjFhMTQ1MTk3Zjk2YSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hrYnByaW50XzEuMC40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGticHJpbnRfMS4wLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjY5NzdiZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hrYnByaW50XzEuMC40LmJiCkBAIC0wLDAgKzEsMTMgQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94b3JnLWFwcC1jb21tb24uaW5jCitTVU1NQVJZID0gIkEgcHJvZ3JhbSB0byBjb21waWxlIFhLQiBrZXlib2FyZCBkZXNjcmlwdGlvbiIKK0RFU0NSSVBUSU9OID0gInhrYnByaW50IGdlbmVyYXRlcyBhIHByaW50YWJsZSBvciBlbmNhcHN1bGF0ZWQgUG9zdFNjcmlwdCBcCitkZXNjcmlwdGlvbiBvZiBhbiBYS0Iga2V5Ym9hcmQgZGVzY3JpcHRpb24uIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yMGYyOGY5NzU1NWIyMjBmZGU3NjJiYzJhNDQwNmE4ZiIKKworREVQRU5EUyArPSAibGlieGtiZmlsZSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzYzI1YjQwZGU1MzAxMTJjMDhiZjdkMjI5YzVjNmEyOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwYjNmYWFiOGZlZmFkMDNkZmI3ZTg2NmY2MzRjZjg1OTgyMjgwMWRlNmI1ZmM2Y2Y1ZTBhNjI4NTdlZDkzZTEyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGtidXRpbHNfMS4wLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94a2J1dGlsc18xLjAuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTA1ZTk4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGtidXRpbHNfMS4wLjQuYmIKQEAgLTAsMCArMSwxOSBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJYS2V5Ym9hcmQgKFhLQikgZXh0ZW5zaW9uIHRvIHRoZSBYMTEgcHJvdG9jb2wiCitERVNDUklQVElPTiA9ICIgXAoreGtidXRpbHMgaXMgYSBjb2xsZWN0aW9uIG9mIHNtYWxsIHV0aWxpdGllcyB1dGlsaXppbmcgdGhlIFhLZXlib2FyZCAoWEtCKSBcCitleHRlbnNpb24gdG8gdGhlIFgxMSBwcm90b2NvbC4gXAorSXQgaW5jbHVkZXM6IFwKKyAgICB4a2JiZWxsICAtIGdlbmVyYXRlIFhLQiBiZWxsIGV2ZW50cyBcCisgICAgeGtidmxlZHMgLSBkaXNwbGF5IHRoZSBzdGF0ZSBvZiBMRURzIG9uIGFuIFhLQiBrZXlib2FyZCBpbiBhIHdpbmRvdyBcCisgICAgeGtid2F0Y2ggLSByZXBvcnRzIGNoYW5nZXMgaW4gdGhlIFhLQiBrZXlib2FyZCBzdGF0ZSBcCisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT02NDMyMmZhYjUyMzlmNWM4ZDk3Y2Y2ZTBlMTRmMWM2MiIKKworREVQRU5EUyArPSAibGlieGF3IGxpYnhrYmZpbGUiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNTAyYjE0ODQzZjYxMGFmOTc3ZGZmYzZjYmYyMTAyZDUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDJhMThhYjkwMjc1ZThiY2EwMjg3NzNjNDQyNjRkMjI2NmRhYjcwODUzZGI0MzIxYmRiYzE4ZGE3NTE0ODEzMCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hsc2F0b21zXzEuMS4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGxzYXRvbXNfMS4xLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzIzZDRlMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hsc2F0b21zXzEuMS4yLmJiCkBAIC0wLDAgKzEsMTQgQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94b3JnLWFwcC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiWC5PcmcgWDExIFggY2xpZW50IHV0aWxpdGllcyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy94b3JnL2FwcC94bHNhdG9tcy8iCitERVNDUklQVElPTiA9ICJYbHNhdG9tcyBsaXN0cyB0aGUgaW50ZXJuZWQgYXRvbXMgZGVmaW5lZCBvbiBhbiBYMTEgc2VydmVyIgorU0VDVElPTiA9ICJ4MTEvYXBwIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yYjA4ZDllMmU3MThhYzgzZTZmZTJiOTc0ZDRiNWZkOCIKKworREVQRU5EUyArPSAibGlieG11IgorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1ZGNiNmU2YzRiMjhjOGQ3YWViNDUyNTdmNWE3MmE3ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0N2U1ZGM3YzNkYmRhNmRiMmNmOGMwMGNlZGFjMTcyMjgzNWMxNTUwYWEyMWNmZGJjOWJhODM5MDY2OTRkZWE0IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGxzY2xpZW50c18xLjEuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hsc2NsaWVudHNfMS4xLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTgzYTUzMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hsc2NsaWVudHNfMS4xLjMuYmIKQEAgLTAsMCArMSwxNCBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJYLk9yZyBYMTEgWCBjbGllbnQgdXRpbGl0aWVzIgorSE9NRVBBR0UgPSAiaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL3hvcmcvYXBwL3hsc2NsaWVudHMvIgorREVTQ1JJUFRJT04gPSAieGxzY2xpZW50cyBpcyBhIHV0aWxpdHkgZm9yIGxpc3RpbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIFwKK2NsaWVudCBhcHBsaWNhdGlvbnMgcnVubmluZyBvbiBhIFgxMSBzZXJ2ZXIuIgorU0VDVElPTiA9ICJ4MTEvYXBwIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zNTBlMWI3MThhNTZkZjM5Y2ZlOGNhOTM0NWVhNDU3NSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5ZmJmNmIxNzRhNTEzOGE2MTczOGE0MmU3MDdhZDhmNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1ZDk2NjZmY2M2YzNkZTIxMGZjNzBkNWE4NDFhNDA0OTU1YWY3MDlhNjE2ZmRlNTMwZmU0ZThmNzcyM2UzZDNkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGxzZm9udHNfMS4wLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94bHNmb250c18xLjAuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZmVlZDc1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGxzZm9udHNfMS4wLjUuYmIKQEAgLTAsMCArMSwxMCBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJzZXJ2ZXIgZm9udCBsaXN0IGRpc3BsYXllciBmb3IgWCIKK0hPTUVQQUdFID0gImh0dHA6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy94b3JnL2FwcC94bHNmb250cy8iCitTRUNUSU9OID0gIngxMS9hcHAiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTVlYzc0ZGQ3ZWE0ZDEwYzQ3MTVhN2M0NGYxNTlhNDBiIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNmY1NzExYmVmOGM3NjU4NTdhMDg4N2E5MTQ3NjI4M2IiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDAyOTViZWMzNTA3N2NlZTkzYmUyZTRjMjZjYzAwMjY4ZWQ2YWNlNzc5YWU2ZTk3NzY2YTg2NmMxZTM5MjdmYSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3htYWdfMS4wLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94bWFnXzEuMC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1Nzc0MjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94bWFnXzEuMC41LmJiCkBAIC0wLDAgKzEsMTEgQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94b3JnLWFwcC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAieG1hZyBpcyBhIHRvb2wgdG8gbWFnbmlmeSBwYXJ0cyBvZiB0aGUgc2NyZWVuIgorSE9NRVBBR0UgPSAiaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL3hvcmcvYXBwL3htYWcvIgorU0VDVElPTiA9ICJ4MTEvYXBwIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zNDEzZmU2ODMyMzgwYjQ0YjY5YjE3MmQyZDFiMjM4NyIKK0RFUEVORFMgKz0gIiBsaWJ4YXcgbGlieHQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyODBiODFjYjA5ZDE5MDNhYTg2OGEwNThkOTAxMjhhZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0YWNlODc5NWNmNzU2YmU0YmEzODdmMzAzNjYwNDU1OTRjZTI2YWRkYTJmNWZmZTFmOGU4OTY4MjVkMDkzMmM2IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG1lc3NhZ2VfMS4wLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94bWVzc2FnZV8xLjAuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OTYwNzA2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG1lc3NhZ2VfMS4wLjQuYmIKQEAgLTAsMCArMSwxMCBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJEaXNwbGF5IGEgbWVzc2FnZSBvciBxdWVyeSBpbiBhIHdpbmRvdyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzNjN2Y2OTZhNzI4ZGU3MjhkNzQ0NmNiY2E4MTRjYzUiCisKK0RFUEVORFMgKz0gImxpYnhhdyIKKworU1JDX1VSSVttZDVzdW1dID0gIjJkZDVhZTQ2ZmExOGFiYzkzMzFiYzI2MjUwYTI1MDA1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImJjZGY0YjQ2MWM0MzliYjNhZGU2ZTFlNDFjNDdkNjIxOGI5MTJkYThlOTM5NmI3YWQ3MDg1NmRiMmY5NWFiNjgiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94cmRiXzEuMS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHJkYl8xLjEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NTk1N2UwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHJkYl8xLjEuMC5iYgpAQCAtMCwwICsxLDkgQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94b3JnLWFwcC1jb21tb24uaW5jCitTVU1NQVJZID0gIlggc2VydmVyIHJlc291cmNlIGRhdGFiYXNlIHV0aWxpdHkiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQxMTY3YzRmNTg2YmQ0MWYwYzYyMTY2ZGI0Mzg0YTY5IgorCitERVBFTkRTICs9ICJsaWJ4bXUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiNTRjN2UzZTUzYjRmMzMyZDQxZWQ0MzU0MzNmYmRhMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3MzgyN2I2YmJmYzlkMjdjYTI4N2Q5NWExMjI0YzMwNmQ3MDUzY2Q3YjgxNTY2NDE2OThkN2RjNTQxY2E1NjViIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHJlZnJlc2hfMS4wLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94cmVmcmVzaF8xLjAuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMmE0OTQxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHJlZnJlc2hfMS4wLjUuYmIKQEAgLTAsMCArMSwxMyBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJYLk9yZyBYMTEgWCBjbGllbnQgdXRpbGl0aWVzIgorSE9NRVBBR0UgPSAiaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL3hvcmcvYXBwL3hyZWZyZXNoLyIKK0RFU0NSSVBUSU9OID0gInhyZWZyZXNoIC0gcmVmcmVzaCBhbGwgb3IgcGFydCBvZiBhbiBYIHNjcmVlbiIKK1NFQ1RJT04gPSAieDExL2FwcCIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZGFkNjMzYmNlOWMzY2QwZTNhYmY3MmExNmUwMDU3Y2YiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYTg5NjM4MmJjNTNlZjNlMTQ5ZWFmOWIxM2JjODFkNDIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzIxMzY3MWIwYThhOWQxZThkMWQ1ZDllM2ZkODY4NDJjODk0ZGQ5YWNjMWJlMjU2MGVkYTUwYmMxZmI3OTFkNiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hzZXRtb2RlXzEuMC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHNldG1vZGVfMS4wLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjc1NzMyOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hzZXRtb2RlXzEuMC4wLmJiCkBAIC0wLDAgKzEsMTUgQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94b3JnLWFwcC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiWC5PcmcgWDExIFggY2xpZW50IHV0aWxpdGllcyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy94b3JnL2FwcC94c2V0bW9kZS8iCitERVNDUklQVElPTiA9ICJ4c2V0bW9kZSBzZXRzIHRoZSBtb2RlIG9mIGFuIFhJbnB1dCBkZXZpY2UgdG8gZWl0aGVyIGFic29sdXRlIFwKK29yIHJlbGF0aXZlLiIKK1NFQ1RJT04gPSAieDExL2FwcCIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OWIzN2UwMGU3NzkzYjY2N2NiYzY0ZjlkZjdiNmQ3MzMiCisKK0RFUEVORFMgKz0gImxpYnhpIgorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkMDc0ZTc5ZDM4MGIwMzFkMmY2MGU0Y2Q1NjUzOGM5MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5ODhiNDdjZDkyMjk5MWM2ZTZhZGJjZTE1ZGMzODZhYzc1NjkwYjYxNzQ0YjUyNmMzYWY1YTRlYWE5YWZhMGFhIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHNldHJvb3RfMS4xLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94c2V0cm9vdF8xLjEuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYzc5ZjI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHNldHJvb3RfMS4xLjEuYmIKQEAgLTAsMCArMSwxNCBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJYLk9yZyBYMTEgWCBjbGllbnQgdXRpbGl0aWVzIgorSE9NRVBBR0UgPSAiaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL3hvcmcvYXBwL3hzZXRyb290LyIKK0RFU0NSSVBUSU9OID0gInhzZXRyb290IGlzIGEgcm9vdCB3aW5kb3cgcGFyYW1ldGVyIHNldHRpbmcgdXRpbGl0eSBmb3IgWCIKK1NFQ1RJT04gPSAieDExL2FwcCIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NmVhMjlkYmVlMjIzMjQ3ODdjMDYxZjAzOWUwNTI5ZGUiCisKK0RFUEVORFMgKz0gInhiaXRtYXBzIGxpYnhjdXJzb3IiCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworU1JDX1VSSVttZDVzdW1dID0gIjcyMTFiMzFlYzcwNjMxODI5ZWJhZTk0NjA5OTlhYTBiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImJhMjE1ZGFhYTc4YzQxNWZjZTExYjllNThjMzY1ZDAzYmI2MDJlYWE1ZWE5MTY1NzhkNzY4NjFhNDY4Y2MzZDkiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94c3RkY21hcF8xLjAuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hzdGRjbWFwXzEuMC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmNTUxMWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94c3RkY21hcF8xLjAuMy5iYgpAQCAtMCwwICsxLDE1IEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG9yZy1hcHAtY29tbW9uLmluYworCitTVU1NQVJZID0gIlguT3JnIFgxMSBYIGNsaWVudCB1dGlsaXRpZXMiCitIT01FUEFHRSA9ICJodHRwOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcveG9yZy9hcHAveHN0ZGNtYXAiCitERVNDUklQVElPTiA9ICJUaGUgeHN0ZGNtYXAgdXRpbGl0eSBjYW4gYmUgdXNlZCB0byBzZWxlY3RpdmVseSBkZWZpbmUgXAorc3RhbmRhcmQgY29sb3JtYXAgcHJvcGVydGllcy4iCitTRUNUSU9OID0gIngxMS9hcHAiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTJiMDhkOWUyZTcxOGFjODNlNmZlMmI5NzRkNGI1ZmQ4IgorCitSREVQRU5EU18ke1BOfSA9ICJsaWJ4bXUiCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworU1JDX1VSSVttZDVzdW1dID0gImViNTQ3M2FjYWVmMTVhNWRiOWI1MGRmMjljNmE3ZjkwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImY2NDhlMmIwY2YxNmFhMjk4NTZkZTk5OGUyYzcyMDRiZTM5ZGMxZjhkYWVkYTk0NjRkMzIyODhlMGI1ODBmYzEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94dGVybV8zMjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94dGVybV8zMjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjJhYmMzYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3h0ZXJtXzMyMC5iYgpAQCAtMCwwICsxLDMwIEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG9yZy1hcHAtY29tbW9uLmluYworU1VNTUFSWSA9ICJ4dGVybSBpcyB0aGUgc3RhbmRhcmQgdGVybWluYWwgZW11bGF0b3IgZm9yIHRoZSBYIFdpbmRvdyBTeXN0ZW0iCitERVBFTkRTID0gImxpYnhhdyB4cHJvdG8geGV4dHByb3RvIGxpYnhleHQgbGlieGF1IGxpYnhpbmVyYW1hIGxpYnhwbSBuY3Vyc2VzIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly94dGVybS5oO2JlZ2lubGluZT0zO2VuZGxpbmU9MzE7bWQ1PWVlNjQzNTAxOWQwMGI4ODRjZGU4ZDdiYTJiMzE4ZmYwIgorCitTUkNfVVJJID0gImh0dHA6Ly9pbnZpc2libGUtbWlycm9yLm5ldC9hcmNoaXZlcy8ke0JQTn0vJHtCUH0udGd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiMGQ3ZjBlNjM5MGQxMzJhZTU5ODc2YjM4NzBlNTc4M2QiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTYwZGJiNTc0MzM0YzA4MTQyNWZhMzBmMDExY2Q5ZjU3MWUzYmU3YTkxZTJhODRlMjUyNDYxNzk4YmNlMjRhNyIKKworUEFDS0FHRUNPTkZJRyA/PSAiIgorUEFDS0FHRUNPTkZJR1t4ZnRdID0gIi0tZW5hYmxlLWZyZWV0eXBlLC0tZGlzYWJsZS1mcmVldHlwZSxsaWJ4ZnQgZm9udGNvbmZpZyBmcmVldHlwZS1uYXRpdmUiCisKK0VYVFJBX09FQ09ORiA9ICIgLS14LWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IFwKKyAgICAgICAgICAgICAgICAgLS14LWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSBcCisgICAgICAgICAgICAgICAgIEZSRUVUWVBFX0NPTkZJRz0ke1NUQUdJTkdfQklORElSX0NST1NTfS9mcmVldHlwZS1jb25maWcgXAorICAgICAgICAgICAgICAgICAtLWRpc2FibGUtaW1ha2UgXAorICAgICAgICAgICAgICAgICAtLWRpc2FibGUtcnBhdGgtaGFjayBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1zZXR1aWQiCisKK0IgPSAiJHtTfSIKKworZG9fY29uZmlndXJlKCkgeworICAgIGdudS1jb25maWdpemUgLS1mb3JjZQorICAgIHNlZCAtZSAicyUvdXNyL2NvbnRyaWIvWDExUjYlJHtTVEFHSU5HX0xJQkRJUn0lZyIgLWkgY29uZmlndXJlCisgICAgb2VfcnVuY29uZgorfQorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L1gxMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3h3ZF8xLjAuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3h3ZF8xLjAuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OTRiZjU3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHdkXzEuMC42LmJiCkBAIC0wLDAgKzEsMTEgQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94b3JnLWFwcC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAieHdkIGlzIGEgdG9vbCB0byBjYXB0dXJlIGFuIFggd2luZG93IG9yIHNjcmVlbiB0byBmaWxlIgorSE9NRVBBR0UgPSAiaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL3hvcmcvYXBwL3h3ZC8iCitTRUNUSU9OID0gIngxMS9hcHAiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWMwY2RiNzgzZTlhMDE5ODIzNzM3MWZkYWEyNmExOGJmIgorREVQRU5EUyA9ICJsaWJ4bXUgbGlieGtiZmlsZSIKKworU1JDX1VSSVttZDVzdW1dID0gIjZiNWQ0ODQ2NGM1ZjM2NmU5MWVmZDA4YjYyYjEyZDk0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNiYjM5NmEyMjY4ZDc4ZGU0YjFjM2U1MjM3YTg1Zjc4NDlkMzQzNGU4N2IzY2QxZjRkNTdlZWY2MTQyMjdkNzkiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94d3VkXzEuMC40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHd1ZF8xLjAuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zM2JkN2YwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHd1ZF8xLjAuNC5iYgpAQCAtMCwwICsxLDEyIEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG9yZy1hcHAtY29tbW9uLmluYworCitTVU1NQVJZID0gIlguT3JnIFgxMSBYIGNsaWVudCB1dGlsaXRpZXMiCitIT01FUEFHRSA9ICJodHRwOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcveG9yZy9hcHAveHd1ZC8iCitERVNDUklQVElPTiA9ICJ4d3VkIGFsbG93cyBYIHVzZXJzIHRvIGRpc3BsYXkgaW4gYSB3aW5kb3cgYW4gaW1hZ2Ugc2F2ZWQgXAoraW4gYSBzcGVjaWFsbHkgZm9ybWF0dGVkIGR1bXAgZmlsZSwgc3VjaCBhcyBwcm9kdWNlZCBieSB4d2QuIgorU0VDVElPTiA9ICJ4MTEvYXBwIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zMWU4ODkyYzgwYjdhMGMxYzVmMzdjOGU4YWU2ZDc5NCIKKworU1JDX1VSSVttZDVzdW1dID0gIjMwMjViMTUyYjRmMTNmZGZmZDBjNDZkMGJlNTg3YmU2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ2YjNhMDljY2ZlNzUwODY4ZTI2YmQyMzg0OTAwYWI1ZmYwZDQzNGY3ZjQwY2QyNzJhNTBlZGE4YWFhMWY4YmQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRhdGEveGJpdG1hcHNfMS4xLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRhdGEveGJpdG1hcHNfMS4xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODY0N2YwMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZGF0YS94Yml0bWFwc18xLjEuMS5iYgpAQCAtMCwwICsxLDExIEBACityZXF1aXJlIHhvcmctZGF0YS1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiQ29tbW9uIFgxMSBCaXRtYXBzIgorTElDRU5TRSA9ICJNSVQiCitERVBFTkRTICs9ICJsaWJ4bXUiCitSREVQRU5EU18ke1BOfS1kZXYgPSAiIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kYmQwNzVhYWZmYTRhNjBhOGQwMDY5NmYyZTRiOWE4ZiIKKworU1JDX1VSSVttZDVzdW1dID0gIjc0NDRiYmJkOTk5YjUzYmVjNmE2MDYwOGE1MzAxZjRjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM2NzFiMDM0MzU2YmJjNGQzMmQwNTI4MDhjZjY0NmM5NDBlYzhiMmQxOTEzYWRhYzUxYjE0NTNlNDFhYTFlOWQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRhdGEveG9yZy1kYXRhLWNvbW1vbi5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRhdGEveG9yZy1kYXRhLWNvbW1vbi5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjIzMDk2MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZGF0YS94b3JnLWRhdGEtY29tbW9uLmluYwpAQCAtMCwwICsxLDEwIEBACitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lngub3JnIgorU0VDVElPTiA9ICJ4MTEvZGF0YSIKK0xJQ0VOU0UgPSAiTUlULVgiCisKK1hPUkdfUE4gPSAiJHtCUE59IgorCitTUkNfVVJJID0gIiR7WE9SR19NSVJST1J9L2luZGl2aWR1YWwvZGF0YS8ke0JQfS50YXIuYnoyIgorUyA9ICIke1dPUktESVJ9LyR7WE9SR19QTn0tJHtQVn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kb2MveG9yZy1kb2MtY29tbW9uLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZG9jL3hvcmctZG9jLWNvbW1vbi5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjRiOGIwMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZG9jL3hvcmctZG9jLWNvbW1vbi5pbmMKQEAgLTAsMCArMSwxMiBAQAorREVTQ1JJUFRJT04gPSAiWCBkb2N1bWVudGF0aW9uIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy54Lm9yZyIKK1NFQ1RJT04gPSAieDExL2RvY3MiCitMSUNFTlNFID0gIk1JVC1YIgorCitTUkNfVVJJID0gIiR7WE9SR19NSVJST1J9L2luZGl2aWR1YWwvZG9jLyR7QlBOfS0ke1BWfS50YXIuYnoyIgorCitTID0gIiR7V09SS0RJUn0vJHtCUE59LSR7UFZ9IgorCitJTkNfUFIgPSAicjEiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kb2MveG9yZy1zZ21sLWRvY3Rvb2xzXzEuNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZG9jL3hvcmctc2dtbC1kb2N0b29sc18xLjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODBmMWYwMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZG9jL3hvcmctc2dtbC1kb2N0b29sc18xLjcuYmIKQEAgLTAsMCArMSwxMiBAQAorcmVxdWlyZSB4b3JnLWRvYy1jb21tb24uaW5jCitQRSA9ICIxIgorUFIgPSAiJHtJTkNfUFJ9LjAiCisKK0RFUEVORFMgKz0gInV0aWwtbWFjcm9zIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jOGM2YzgwOGNkM2M3OTdhMDdiMjRlNDQzYWYxYzQ0OSIKKworU1JDX1VSSVttZDVzdW1dID0gIjI1ODhlZmIzZjQ5ZjdmYzZlY2Y0MWNlNDJlMGIyZTVlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjg0ZmQ5NGU1YzUwNTU2ZTZmNzc1MDE0ODVmOGE0ODcyNGNmM2M5NWM2ZDU4NDgwYmMyODAyNThiYTE0NTgwYzgiCisKK0ZJTEVTXyR7UE59ICs9ICIgL3Vzci9zaGFyZS9zZ21sL1gxMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtbXRldi9maXgtaXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LW10ZXYvZml4LWl0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3MWEyYTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LW10ZXYvZml4LWl0LnBhdGNoCkBAIC0wLDAgKzEsMTUzIEBACitkaWZmIC0tZ2l0IGEvc3JjL211bHRpdG91Y2guYyBiL3NyYy9tdWx0aXRvdWNoLmMKK2luZGV4IGM1NWQ3NDIuLjRhODE5MmQgMTAwNjQ0CistLS0gYS9zcmMvbXVsdGl0b3VjaC5jCisrKysgYi9zcmMvbXVsdGl0b3VjaC5jCitAQCAtMTE0LDcgKzExNCw3IEBAIHN0YXRpYyBpbnQgaW5pdF9wcm9wZXJ0aWVzKERldmljZUludFB0ciBkZXYpCisgCXJldHVybiBTdWNjZXNzOworIH0KKyAKKy1zdGF0aWMgaW50IGRldmljZV9pbml0KERldmljZUludFB0ciBkZXYsIExvY2FsRGV2aWNlUHRyIGxvY2FsKQorK3N0YXRpYyBpbnQgZGV2aWNlX2luaXQoRGV2aWNlSW50UHRyIGRldiwgSW5wdXRJbmZvUHRyIGxvY2FsKQorIHsKKyAJc3RydWN0IG10ZXZfbXRvdWNoICptdCA9IGxvY2FsLT5wcml2YXRlOworIAlBdG9tIGF0b207CitAQCAtMjIyLDcgKzIyMiw3IEBAIHN0YXRpYyBpbnQgZGV2aWNlX2luaXQoRGV2aWNlSW50UHRyIGRldiwgTG9jYWxEZXZpY2VQdHIgbG9jYWwpCisgCQkJeGY4NkluaXRWYWx1YXRvckF4aXNTdHJ1Y3QoZGV2LCB2YWwsIGF4ZXNfbGFiZWxzW3ZhbF0sCisgCQkJCQkJICAgbWluLAorIAkJCQkJCSAgIG1heCwKKy0JCQkJCQkgICAxLCAwLCAxKTsKKysJCQkJCQkgICAxLCAwLCAxLEFic29sdXRlKTsKKyAJCQl4Zjg2SW5pdFZhbHVhdG9yRGVmYXVsdHMoZGV2LCB2YWwpOworIAkJfQorIAl9CitAQCAtMjMyLDcgKzIzMiw3IEBAIHN0YXRpYyBpbnQgZGV2aWNlX2luaXQoRGV2aWNlSW50UHRyIGRldiwgTG9jYWxEZXZpY2VQdHIgbG9jYWwpCisgCXJldHVybiBTdWNjZXNzOworIH0KKyAKKy1zdGF0aWMgaW50IGRldmljZV9vbihMb2NhbERldmljZVB0ciBsb2NhbCkKKytzdGF0aWMgaW50IGRldmljZV9vbihJbnB1dEluZm9QdHIgbG9jYWwpCisgeworIAlzdHJ1Y3QgbXRldl9tdG91Y2ggKm10ID0gbG9jYWwtPnByaXZhdGU7CisgCWxvY2FsLT5mZCA9IHhmODZPcGVuU2VyaWFsKGxvY2FsLT5vcHRpb25zKTsKK0BAIC0yNDgsNyArMjQ4LDcgQEAgc3RhdGljIGludCBkZXZpY2Vfb24oTG9jYWxEZXZpY2VQdHIgbG9jYWwpCisgCXJldHVybiBTdWNjZXNzOworIH0KKyAKKy1zdGF0aWMgaW50IGRldmljZV9vZmYoTG9jYWxEZXZpY2VQdHIgbG9jYWwpCisrc3RhdGljIGludCBkZXZpY2Vfb2ZmKElucHV0SW5mb1B0ciBsb2NhbCkKKyB7CisgCXN0cnVjdCBtdGV2X210b3VjaCAqbXQgPSBsb2NhbC0+cHJpdmF0ZTsKKyAJeGY4NlJlbW92ZUVuYWJsZWREZXZpY2UobG9jYWwpOworQEAgLTI1OSwxMiArMjU5LDEyIEBAIHN0YXRpYyBpbnQgZGV2aWNlX29mZihMb2NhbERldmljZVB0ciBsb2NhbCkKKyAJcmV0dXJuIFN1Y2Nlc3M7CisgfQorIAorLXN0YXRpYyBpbnQgZGV2aWNlX2Nsb3NlKExvY2FsRGV2aWNlUHRyIGxvY2FsKQorK3N0YXRpYyBpbnQgZGV2aWNlX2Nsb3NlKElucHV0SW5mb1B0ciBsb2NhbCkKKyB7CisgCXJldHVybiBTdWNjZXNzOworIH0KKyAKKy1zdGF0aWMgdm9pZCBwcm9jZXNzX3N0YXRlKExvY2FsRGV2aWNlUHRyIGxvY2FsLAorK3N0YXRpYyB2b2lkIHByb2Nlc3Nfc3RhdGUoSW5wdXRJbmZvUHRyIGxvY2FsLAorIAkJCSAgY29uc3Qgc3RydWN0IG10ZXZfbXRvdWNoICptdCkKKyB7CisgCitAQCAtMzIxLDIyICszMjEsMjIgQEAgc3RhdGljIHZvaWQgcHJvY2Vzc19zdGF0ZShMb2NhbERldmljZVB0ciBsb2NhbCwKKyAJfQorIAorIAkvKiBTb21lIHgtY2xpZW50cyBhc3N1bWUgdGhleSBnZXQgbW90aW9uIGV2ZW50cyBiZWZvcmUgYnV0dG9uIGRvd24gKi8KKysJeGY4Nk1zZyhYX0lORk8sImRvd24gJWR8cGRvd24gJWRcbiIsIGRvd24sIHBkb3duKTsKKyAJaWYgKGRvd24pCisgCQl4Zjg2UG9zdE1vdGlvbkV2ZW50UChsb2NhbC0+ZGV2LCBUUlVFLAorIAkJCQkgICAgIDAsIGRvd24gKiBNVF9BWElTX1BFUl9GSU5HRVIsIHZhbHVhdG9ycyk7CistCisgCWlmKGRvd24gJiYgcGRvd24gPT0gMCkKKyAJCXhmODZQb3N0QnV0dG9uRXZlbnRQKGxvY2FsLT5kZXYsIFRSVUUsCisgCQkJCSAgICAgMSwgMSwKKyAJCQkJICAgICAwLCBkb3duICogTVRfQVhJU19QRVJfRklOR0VSLCB2YWx1YXRvcnMpOworLQllbHNlIGlmIChkb3duID09IDAgJiYgcGRvd24pCistCQl4Zjg2UG9zdEJ1dHRvbkV2ZW50KGxvY2FsLT5kZXYsIFRSVUUsIDEsIDAsIDAsIDApOworLQorKwllbHNlIGlmIChkb3duID09IDAgJiYgcGRvd24peworKwkJeGY4NlBvc3RCdXR0b25FdmVudChsb2NhbC0+ZGV2LCBUUlVFLCAxLCAxLCAwLCAwKTsKKysJfQorIAlwZG93biA9ICEhZG93bjsKKyB9CisgCisgLyogY2FsbGVkIGZvciBlYWNoIGZ1bGwgcmVjZWl2ZWQgcGFja2V0IGZyb20gdGhlIHRvdWNocGFkICovCistc3RhdGljIHZvaWQgcmVhZF9pbnB1dChMb2NhbERldmljZVB0ciBsb2NhbCkKKytzdGF0aWMgdm9pZCByZWFkX2lucHV0KElucHV0SW5mb1B0ciBsb2NhbCkKKyB7CisgCXN0cnVjdCBtdGV2X210b3VjaCAqbXQgPSBsb2NhbC0+cHJpdmF0ZTsKKyAJd2hpbGUgKG10b3VjaF9yZWFkX3N5bmNocm9uaXplZF9ldmVudChtdCwgbG9jYWwtPmZkKSkgeworQEAgLTM0Niw3ICszNDYsNyBAQCBzdGF0aWMgdm9pZCByZWFkX2lucHV0KExvY2FsRGV2aWNlUHRyIGxvY2FsKQorIAorIHN0YXRpYyBCb29sIGRldmljZV9jb250cm9sKERldmljZUludFB0ciBkZXYsIGludCBtb2RlKQorIHsKKy0JTG9jYWxEZXZpY2VQdHIgbG9jYWwgPSBkZXYtPnB1YmxpYy5kZXZpY2VQcml2YXRlOworKwlJbnB1dEluZm9QdHIgbG9jYWwgPSBkZXYtPnB1YmxpYy5kZXZpY2VQcml2YXRlOworIAlzd2l0Y2ggKG1vZGUpIHsKKyAJY2FzZSBERVZJQ0VfSU5JVDoKKyAJCXhmODZNc2coWF9JTkZPLCAiZGV2aWNlIGNvbnRyb2w6IGluaXRcbiIpOworQEAgLTM2NiwzOSArMzY2LDI5IEBAIHN0YXRpYyBCb29sIGRldmljZV9jb250cm9sKERldmljZUludFB0ciBkZXYsIGludCBtb2RlKQorIAl9CisgfQorIAorLXN0YXRpYyBJbnB1dEluZm9QdHIgcHJlaW5pdChJbnB1dERyaXZlclB0ciBkcnYsIElEZXZQdHIgZGV2LCBpbnQgZmxhZ3MpCisrc3RhdGljIElucHV0SW5mb1B0ciBwcmVpbml0KElucHV0RHJpdmVyUHRyIGRydiwgSW5wdXRJbmZvUHRyIHBJbmZvLCBpbnQgZmxhZ3MpCisgeworIAlzdHJ1Y3QgbXRldl9tdG91Y2ggKm10OworLQlJbnB1dEluZm9QdHIgbG9jYWwgPSB4Zjg2QWxsb2NhdGVJbnB1dChkcnYsIDApOworLQlpZiAoIWxvY2FsKQorLQkJZ290byBlcnJvcjsKKysJaW50IHJjOworKworIAltdCA9IGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IG10ZXZfbXRvdWNoKSk7CisrCisgCWlmICghbXQpCisgCQlnb3RvIGVycm9yOworIAorLQlsb2NhbC0+bmFtZSA9IGRldi0+aWRlbnRpZmllcjsKKy0JbG9jYWwtPnR5cGVfbmFtZSA9IFhJX1RPVUNIU0NSRUVOOworLQlsb2NhbC0+ZGV2aWNlX2NvbnRyb2wgPSBkZXZpY2VfY29udHJvbDsKKy0JbG9jYWwtPnJlYWRfaW5wdXQgPSByZWFkX2lucHV0OworLQlsb2NhbC0+cHJpdmF0ZSA9IG10OworLQlsb2NhbC0+ZmxhZ3MgPSBYSTg2X1BPSU5URVJfQ0FQQUJMRSB8CistCQlYSTg2X1NFTkRfRFJBR19FVkVOVFM7CistCistCWxvY2FsLT5jb25mX2lkZXYgPSBkZXY7CistCistCXhmODZDb2xsZWN0SW5wdXRPcHRpb25zKGxvY2FsLCBOVUxMLCBOVUxMKTsKKy0JLy94Zjg2T3B0aW9uTGlzdFJlcG9ydChsb2NhbC0+b3B0aW9ucyk7CistCXhmODZQcm9jZXNzQ29tbW9uT3B0aW9ucyhsb2NhbCwgbG9jYWwtPm9wdGlvbnMpOworKwlwSW5mby0+cHJpdmF0ZSA9IG10OworKwlwSW5mby0+dHlwZV9uYW1lID0gIlVOS05PV04iOworKwlwSW5mby0+ZGV2aWNlX2NvbnRyb2wgPSBkZXZpY2VfY29udHJvbDsKKysJcEluZm8tPnJlYWRfaW5wdXQgPSByZWFkX2lucHV0OworIAorKwltdC0+c3dhcF94eSA9IHhmODZTZXRCb29sT3B0aW9uKHBJbmZvLT5vcHRpb25zLCAiU3dhcEF4ZXMiLCBGQUxTRSk7CisrCW10LT5pbnZlcnRfeCA9IHhmODZTZXRCb29sT3B0aW9uKHBJbmZvLT5vcHRpb25zLCAiSW52ZXJ0WCIsIEZBTFNFKTsKKysJbXQtPmludmVydF95ID0geGY4NlNldEJvb2xPcHRpb24ocEluZm8tPm9wdGlvbnMsICJJbnZlcnRZIiwgRkFMU0UpOworIAorLQltdC0+c3dhcF94eSA9IHhmODZTZXRCb29sT3B0aW9uKGxvY2FsLT5vcHRpb25zLCAiU3dhcEF4ZXMiLCBGQUxTRSk7CistCW10LT5pbnZlcnRfeCA9IHhmODZTZXRCb29sT3B0aW9uKGxvY2FsLT5vcHRpb25zLCAiSW52ZXJ0WCIsIEZBTFNFKTsKKy0JbXQtPmludmVydF95ID0geGY4NlNldEJvb2xPcHRpb24obG9jYWwtPm9wdGlvbnMsICJJbnZlcnRZIiwgRkFMU0UpOworLQorLQlsb2NhbC0+ZmxhZ3MgfD0gWEk4Nl9DT05GSUdVUkVEOworKwlyZXR1cm4gU3VjY2VzczsKKyAKKyBlcnJvcjoKKy0JcmV0dXJuIGxvY2FsOworKwlyZXR1cm4gIVN1Y2Nlc3M7CisgfQorIAorIHN0YXRpYyB2b2lkIHVuaW5pdChJbnB1dERyaXZlclB0ciBkcnYsIElucHV0SW5mb1B0ciBsb2NhbCwgaW50IGZsYWdzKQorQEAgLTQxNSw3ICs0MDUsNiBAQCBzdGF0aWMgSW5wdXREcml2ZXJSZWMgTVRFViA9IHsKKyAJLlByZUluaXQgPSBwcmVpbml0LAorIAkuVW5Jbml0ID0gdW5pbml0LAorIAkubW9kdWxlID0gTlVMTCwKKy0JLnJlZkNvdW50ID0gMAorIH07CisgCisgc3RhdGljIFhGODZNb2R1bGVWZXJzaW9uSW5mbyBWRVJTSU9OID0gewpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni1pbnB1dC1tdGV2X2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtbXRldl9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTQ3ZWM4NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtbXRldl9naXQuYmIKQEAgLTAsMCArMSwyMiBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hvcmctZHJpdmVyLWlucHV0LmluYworU1VNTUFSWSA9ICJYLk9yZyBYIHNlcnZlciAtLSBtdWx0aXRvdWNoIGlucHV0IGRyaXZlciIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGE3MWQwNDc1ZDA4ZWVlNzZkOGI2ZDBjNmRiZWM1NDMiCisKK0RFUEVORFMgKz0gInBpeG1hbiIKKworUE5CTEFDS0xJU1RbeGY4Ni1pbnB1dC1tdGV2XSA/PSAiQlJPS0VOOiBkb2Vzbid0IGJ1aWxkIHdpdGggQiE9UyAoTWFrZWZpbGUgd2l0aG91dCAke1N9IGluIHNlZCBjYWxsKSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRvcmlvdXMub3JnL3hvcmcveGY4Ni1pbnB1dC1tdGV2LmdpdCBmaWxlOi8vZml4LWl0LnBhdGNoIgorU1JDUkVWID0gIjFlYjQ2OTE2NmZmYzA5NWM1ODAxNDc1ZjA1N2Y5MTFmOTdhNmU2NDEiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorUFYgPSAiMS4wLjArZ2l0ciR7U1JDUFZ9IgorUFIgPSAiJHtJTkNfUFJ9LjAiCisKK0VYVFJBX09FTUFLRSA9ICInSU5DTFVERT0tSSR7U1RBR0lOR19JTkNESVJ9L3hvcmcgLUkke1NUQUdJTkdfSU5DRElSfS9waXhtYW4tMSciCisKKyNza2lwIHhvcmctZHJpdmVyLWNvbW1vbi5pbmMgQUNfQ0hFQ0tfRklMRSBtYW5nbGluZworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgIHNlZCAncyNnY2MjJHtDQ30jZycgLWkgTWFrZWZpbGUKKyAgICByZXR1cm4KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtdHNsaWIvMTAteDExLWlucHV0LXRzbGliLmZkaSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtdHNsaWIvMTAteDExLWlucHV0LXRzbGliLmZkaQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MDYwNDM5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni1pbnB1dC10c2xpYi8xMC14MTEtaW5wdXQtdHNsaWIuZmRpCkBAIC0wLDAgKzEsMTEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8ZGV2aWNlaW5mbyB2ZXJzaW9uPSIwLjIiPgorICA8ZGV2aWNlPgorICAgIDxtYXRjaCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiBjb250YWlucz0iaW5wdXQudG91Y2hwYWQiPgorICAgICAgPG1lcmdlIGtleT0iaW5wdXQueDExX2RyaXZlciIgdHlwZT0ic3RyaW5nIj50c2xpYjwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgICA8bWF0Y2gga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgY29udGFpbnM9ImlucHV0LnRvdWNoc2NyZWVuIj4KKyAgICAgIDxtZXJnZSBrZXk9ImlucHV0LngxMV9kcml2ZXIiIHR5cGU9InN0cmluZyI+dHNsaWI8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgIDwvZGV2aWNlPgorPC9kZXZpY2VpbmZvPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni1pbnB1dC10c2xpYi85OS14Zjg2LWlucHV0LXRzbGliLnJ1bGVzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni1pbnB1dC10c2xpYi85OS14Zjg2LWlucHV0LXRzbGliLnJ1bGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjMTMwYzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LXRzbGliLzk5LXhmODYtaW5wdXQtdHNsaWIucnVsZXMKQEAgLTAsMCArMSw1IEBACisjIGNyZWF0ZSAvZGV2L2lucHV0L3RvdWNoc2NyZWVuWCBzeW1saW5rLCB0YWcgeGY4Ni1pbnB1dC10c2xpYiBhcyBkcml2ZXIKK1NVQlNZU1RFTT09ImlucHV0IiwgS0VSTkVMPT0iZXZlbnRbMC05XSoiLCBBVFRSU3ttb2RhbGlhc309PSJpbnB1dDoqLWUwKiwzLCphMCwxLCoxOCwqIiwgU1lNTElOSys9ImlucHV0L3RvdWNoc2NyZWVuJW4iLCBFTlZ7eDExX2RyaXZlcn09InRzbGliIgorU1VCU1lTVEVNPT0iaW5wdXQiLCBLRVJORUw9PSJldmVudFswLTldKiIsIEFUVFJTe21vZGFsaWFzfT09ImFkczc4NDYiLCBTWU1MSU5LKz0iaW5wdXQvdG91Y2hzY3JlZW4lbiIsIEVOVnt4MTFfZHJpdmVyfT0idHNsaWIiCisKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni1pbnB1dC10c2xpYi9kb3VibGUtZnJlZS1jcmFzaC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtdHNsaWIvZG91YmxlLWZyZWUtY3Jhc2gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDc3NTQ3MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtdHNsaWIvZG91YmxlLWZyZWUtY3Jhc2gucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAoreG9yZy1zZXJ2ZXItMS43LjMvaHcveGZyZWU4Ni9jb21tb24veGY4NkhlbHBlci5jIGNvbnRhaW5zIHRoaXMgY29kZQorY2F1c2luZyBhIGRvdWJsZSBmcmVlIGNyYXNoIG9uIGNodnQgb3IgZXhpdDoKKworICAgIC8qIFRoaXMgc2hvdWxkICpyZWFsbHkqIGJlIGhhbmRsZWQgaW4gZHJ2LT5VbkluaXQoZGV2KSBjYWxsIGluc3RlYWQsIGJ1dAorICAgICAqIGlmIHRoZSBkcml2ZXIgZm9yZ2V0cyBhYm91dCBpdCBtYWtlIHN1cmUgd2UgZnJlZSBpdCBvciBhdCBsZWFzdCBjcmFzaAorICAgICAqIHdpdGggZmx5aW5nIGNvbG9ycyAqLworICAgIGlmIChwSW5wLT5wcml2YXRlKQorCXhmcmVlKHBJbnAtPnByaXZhdGUpOworSW5kZXg6IHhmODYtaW5wdXQtdHNsaWItMC4wLjYvc3JjL3RzbGliLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB4Zjg2LWlucHV0LXRzbGliLTAuMC42Lm9yaWcvc3JjL3RzbGliLmMKKysrKyB4Zjg2LWlucHV0LXRzbGliLTAuMC42L3NyYy90c2xpYi5jCitAQCAtNDM1LDYgKzQzNSw3IEBAIHhmODZUc2xpYlVuaW5pdChJbnB1dERyaXZlclB0ciBkcnYsIElucHUKKyAJeGY4NlRzbGliQ29udHJvbFByb2MocEluZm8tPmRldiwgREVWSUNFX09GRik7CisgCXRzX2Nsb3NlKHByaXYtPnRzKTsKKyAJeGZyZWUocEluZm8tPnByaXZhdGUpOworKwlwSW5mby0+cHJpdmF0ZSA9IE5VTEw7CisgCXhmODZEZWxldGVJbnB1dChwSW5mbywgMCk7CisgfQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni1pbnB1dC10c2xpYi94Zjg2LWlucHV0LXRzbGliLTAuMC42LXhmODZYSW5wdXRTZXRTY3JlZW4ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LXRzbGliL3hmODYtaW5wdXQtdHNsaWItMC4wLjYteGY4NlhJbnB1dFNldFNjcmVlbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTZiNGE1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni1pbnB1dC10c2xpYi94Zjg2LWlucHV0LXRzbGliLTAuMC42LXhmODZYSW5wdXRTZXRTY3JlZW4ucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRml4ZXMgY3Jhc2ggd2hlbiBhIHRvdWNoc2NyZWVuIGV2ZW50IGlzIHJlY2VpdmVkIHdpdGggeHNlcnZlciAxLjEyIGFuZCBsYXRlcjoKK1g6IHN5bWJvbCBsb29rdXAgZXJyb3I6IC91c3IvbGliL3hvcmcvbW9kdWxlcy9pbnB1dC90c2xpYl9kcnYuc286IHVuZGVmaW5lZCBzeW1ib2w6IHhmODZYSW5wdXRTZXRTY3JlZW4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1Rha2VuIGZyb20gR2VudG9vOgoraHR0cHM6Ly9idWdzLmdlbnRvby5vcmcvc2hvd19idWcuY2dpP2lkPTQ0NjQzMgorCitkaWZmIC11ciB4Zjg2LWlucHV0LXRzbGliLTAuMC42Lm9yaWcvc3JjL3RzbGliLmMgeGY4Ni1pbnB1dC10c2xpYi0wLjAuNi9zcmMvdHNsaWIuYworLS0tIHhmODYtaW5wdXQtdHNsaWItMC4wLjYub3JpZy9zcmMvdHNsaWIuYwkyMDEyLTEyLTA1IDAxOjEyOjE2LjI4NjU5NzA3MSArMDEwMAorKysrIHhmODYtaW5wdXQtdHNsaWItMC4wLjYvc3JjL3RzbGliLmMJMjAxMi0xMi0wNSAwMToxMTowMi42ODY1OTg1OTUgKzAxMDAKK0BAIC03NSw2ICs3NSwxOSBAQAorICNkZWZpbmUgQ09MTEVDVF9JTlBVVF9PUFRJT05TKHBJbmZvLCBvcHRpb25zKSB4Zjg2Q29sbGVjdElucHV0T3B0aW9ucygocEluZm8pLCAob3B0aW9ucykpCisgI2VuZGlmCisgCisrI2lmIEdFVF9BQklfTUFKT1IoQUJJX1hJTlBVVF9WRVJTSU9OKSA+IDEzCisrc3RhdGljIHZvaWQKKyt4Zjg2WElucHV0U2V0U2NyZWVuKElucHV0SW5mb1B0cglwSW5mbywKKysJCSAgICBpbnQJCQlzY3JlZW5fbnVtYmVyLAorKwkJICAgIGludAkJCXgsCisrCQkgICAgaW50CQkJeSkKKyt7CisrICAgIGlmIChtaVBvaW50ZXJHZXRTY3JlZW4ocEluZm8tPmRldikgIT0KKysgICAgICAgICAgc2NyZWVuSW5mby5zY3JlZW5zW3NjcmVlbl9udW1iZXJdKSB7CisrCW1pUG9pbnRlclNldFNjcmVlbihwSW5mby0+ZGV2LCBzY3JlZW5fbnVtYmVyLCB4LCB5KTsKKysgICAgfQorK30KKysjZW5kaWYKKyAKKyBlbnVtIHsgVFNMSUJfUk9UQVRFX05PTkU9MCwgVFNMSUJfUk9UQVRFX0NXPTI3MCwgVFNMSUJfUk9UQVRFX1VEPTE4MCwgVFNMSUJfUk9UQVRFX0NDVz05MCB9OworIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni1pbnB1dC10c2xpYi94Zjg2LWlucHV0LXRzbGliLXBvcnQtQUJJLTEyLXI0OC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtdHNsaWIveGY4Ni1pbnB1dC10c2xpYi1wb3J0LUFCSS0xMi1yNDgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmE2ZDViOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtdHNsaWIveGY4Ni1pbnB1dC10c2xpYi1wb3J0LUFCSS0xMi1yNDgucGF0Y2gKQEAgLTAsMCArMSwxOTYgQEAKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitUYWtlbiBmcm9tIGRlYmlhbjoKK2h0dHA6Ly9idWdzLmRlYmlhbi5vcmcvY2dpLWJpbi9idWdyZXBvcnQuY2dpP2J1Zz02MjcwNzUKKworSW5kZXg6IHhmODYtaW5wdXQtdHNsaWItdHJ1bmsvc3JjL3RzbGliLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB4Zjg2LWlucHV0LXRzbGliLXRydW5rL3NyYy90c2xpYi5jCShyZXZpc2lvbiA0OCkKKysrKyB4Zjg2LWlucHV0LXRzbGliLXRydW5rL3NyYy90c2xpYi5jCSh3b3JraW5nIGNvcHkpCitAQCAtNjksNiArNjksMTMgQEAKKyAjZGVmaW5lIERFRkFVTFRfSEVJR0hUCQkyNDAKKyAjZGVmaW5lIERFRkFVTFRfV0lEVEgJCTMyMAorIAorKyNpZiBHRVRfQUJJX01BSk9SKEFCSV9YSU5QVVRfVkVSU0lPTikgPCAxMgorKyNkZWZpbmUgQ09MTEVDVF9JTlBVVF9PUFRJT05TKHBJbmZvLCBvcHRpb25zKSB4Zjg2Q29sbGVjdElucHV0T3B0aW9ucygocEluZm8pLCAob3B0aW9ucyksIE5VTEwpCisrI2Vsc2UKKysjZGVmaW5lIENPTExFQ1RfSU5QVVRfT1BUSU9OUyhwSW5mbywgb3B0aW9ucykgeGY4NkNvbGxlY3RJbnB1dE9wdGlvbnMoKHBJbmZvKSwgKG9wdGlvbnMpKQorKyNlbmRpZgorKworKworIGVudW0geyBUU0xJQl9ST1RBVEVfTk9ORT0wLCBUU0xJQl9ST1RBVEVfQ1c9MjcwLCBUU0xJQl9ST1RBVEVfVUQ9MTgwLCBUU0xJQl9ST1RBVEVfQ0NXPTkwIH07CisgCisgZW51bSBidXR0b25fc3RhdGUgeyBCVVRUT05fTk9UX1BSRVNTRUQgPSAwLCBCVVRUT05fMV9QUkVTU0VEID0gMSwgQlVUVE9OXzNfQ0xJQ0sgPSAzLCBCVVRUT05fM19DTElDS0VEPTQsIEJVVFRPTl9FTVVMQVRJT05fT0ZGPS0xIH07CitAQCAtMTA2LDcgKzExMyw3IEBACisgfQorIAorIHN0YXRpYyBCb29sCistQ29udmVydFByb2MoIExvY2FsRGV2aWNlUHRyIGxvY2FsLAorK0NvbnZlcnRQcm9jKCBJbnB1dEluZm9QdHIgbG9jYWwsCisgCQkJIGludCBmaXJzdCwKKyAJCQkgaW50IG51bSwKKyAJCQkgaW50IHYwLAorQEAgLTEzNSw3ICsxNDIsNyBAQAorICAgICByZXR1cm4gdDsKKyB9CisgCistc3RhdGljIHZvaWQgUmVhZElucHV0IChMb2NhbERldmljZVB0ciBsb2NhbCkKKytzdGF0aWMgdm9pZCBSZWFkSW5wdXQgKElucHV0SW5mb1B0ciBsb2NhbCkKKyB7CisgCXN0cnVjdCB0c19wcml2ICpwcml2ID0gKHN0cnVjdCB0c19wcml2ICopIChsb2NhbC0+cHJpdmF0ZSk7CisgCXN0cnVjdCB0c19zYW1wbGUgc2FtcDsKK0BAIC0zODIsNyArMzg5LDExIEBACisgCQkJCQkgICAgICAgYXhpc3dpZHRoIC0gMSwJLyogbWF4IHZhbCAqLworIAkJCQkJICAgICAgIGF4aXN3aWR0aCwJLyogcmVzb2x1dGlvbiAqLworIAkJCQkJICAgICAgIDAsCQkvKiBtaW5fcmVzICovCistCQkJCQkgICAgICAgYXhpc3dpZHRoKTsJLyogbWF4X3JlcyAqLworKwkJCQkJICAgICAgIGF4aXN3aWR0aAkvKiBtYXhfcmVzICovCisrI2lmIEdFVF9BQklfTUFKT1IoQUJJX1hJTlBVVF9WRVJTSU9OKSA+PSAxMgorKwkJCQkJICAgICAgICxBYnNvbHV0ZQorKyNlbmRpZgorKwkJCQkJICAgICAgICk7CisgCisgCQlJbml0VmFsdWF0b3JBeGlzU3RydWN0KGRldmljZSwgMSwKKyAjaWYgR0VUX0FCSV9NQUpPUihBQklfWElOUFVUX1ZFUlNJT04pID49IDcKK0BAIC0zOTIsNyArNDAzLDExIEBACisgCQkJCQkgICAgICAgYXhpc2hlaWdodCAtIDEsCS8qIG1heCB2YWwgKi8KKyAJCQkJCSAgICAgICBheGlzaGVpZ2h0LAkvKiByZXNvbHV0aW9uICovCisgCQkJCQkgICAgICAgMCwJCS8qIG1pbl9yZXMgKi8KKy0JCQkJCSAgICAgICBheGlzaGVpZ2h0KTsJLyogbWF4X3JlcyAqLworKwkJCQkJICAgICAgIGF4aXNoZWlnaHQJLyogbWF4X3JlcyAqLworKyNpZiBHRVRfQUJJX01BSk9SKEFCSV9YSU5QVVRfVkVSU0lPTikgPj0gMTIKKysJCQkJCSAgICAgICAsQWJzb2x1dGUKKysjZW5kaWYKKysJCQkJCSAgICAgICApOworIAorIAkJaWYgKEluaXRQcm94aW1pdHlDbGFzc0RldmljZVN0cnVjdCAoZGV2aWNlKSA9PSBGQUxTRSkgeworIAkJCUVycm9yRiAoIlVuYWJsZSB0byBhbGxvY2F0ZSBFVlRvdWNoIHRvdWNoc2NyZWVuIFByb3hpbWl0eUNsYXNzRGV2aWNlU3RydWN0XG4iKTsKK0BAIC00MzQsNyArNDQ5LDcgQEAKKyAJRXJyb3JGKCIlc1xuIiwgX19GVU5DVElPTl9fKTsKKyAJeGY4NlRzbGliQ29udHJvbFByb2MocEluZm8tPmRldiwgREVWSUNFX09GRik7CisgCXRzX2Nsb3NlKHByaXYtPnRzKTsKKy0JeGZyZWUocEluZm8tPnByaXZhdGUpOworKwlmcmVlKHBJbmZvLT5wcml2YXRlKTsKKyAJcEluZm8tPnByaXZhdGUgPSBOVUxMOworIAl4Zjg2RGVsZXRlSW5wdXQocEluZm8sIDApOworIH0KK0BAIC00NDQsNDcgKzQ1OSw1NyBAQAorICAqCisgICogY2FsbGVkIHdoZW4gdGhlIG1vZHVsZSBzdWJzZWN0aW9uIGlzIGZvdW5kIGluIFhGODZDb25maWcKKyAgKi8KKysjaWYgR0VUX0FCSV9NQUpPUihBQklfWElOUFVUX1ZFUlNJT04pID49IDEyCisrc3RhdGljIGludCAKKyt4Zjg2VHNsaWJJbml0KElucHV0RHJpdmVyUHRyIGRydiwgSW5wdXRJbmZvUHRyIHBJbmZvLCBpbnQgZmxhZ3MpCisrI2Vsc2UKKyBzdGF0aWMgSW5wdXRJbmZvUHRyCisgeGY4NlRzbGliSW5pdChJbnB1dERyaXZlclB0ciBkcnYsIElEZXZQdHIgZGV2LCBpbnQgZmxhZ3MpCisrI2VuZGlmCisgeworIAlzdHJ1Y3QgdHNfcHJpdiAqcHJpdjsKKyAJY2hhciAqczsKKysjaWYgR0VUX0FCSV9NQUpPUihBQklfWElOUFVUX1ZFUlNJT04pIDwgMTIKKyAJSW5wdXRJbmZvUHRyIHBJbmZvOworKyNlbmRpZgorIAorLQlwcml2ID0geGNhbGxvYyAoMSwgc2l6ZW9mIChzdHJ1Y3QgdHNfcHJpdikpOworKwlwcml2ID0gY2FsbG9jICgxLCBzaXplb2YgKHN0cnVjdCB0c19wcml2KSk7CisgICAgICAgICBpZiAoIXByaXYpCistICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworKyAgICAgICAgICAgICAgICByZXR1cm4gQmFkVmFsdWU7CisgCisrI2lmIEdFVF9BQklfTUFKT1IoQUJJX1hJTlBVVF9WRVJTSU9OKSA8IDEyCisgCWlmICghKHBJbmZvID0geGY4NkFsbG9jYXRlSW5wdXQoZHJ2LCAwKSkpIHsKKy0JCXhmcmVlKHByaXYpOworLQkJcmV0dXJuIE5VTEw7CisrCQlmcmVlKHByaXYpOworKwkJcmV0dXJuIEJhZFZhbHVlOworIAl9CisgCisgCS8qIEluaXRpYWxpc2UgdGhlIElucHV0SW5mb1JlYy4gKi8KKyAJcEluZm8tPm5hbWUgPSBkZXYtPmlkZW50aWZpZXI7CistCXBJbmZvLT50eXBlX25hbWUgPSBYSV9UT1VDSFNDUkVFTjsKKyAJcEluZm8tPmZsYWdzID0KKyAJICAgIFhJODZfS0VZQk9BUkRfQ0FQQUJMRSB8IFhJODZfUE9JTlRFUl9DQVBBQkxFIHwKKyAJICAgIFhJODZfU0VORF9EUkFHX0VWRU5UUzsKKy0JcEluZm8tPmRldmljZV9jb250cm9sID0geGY4NlRzbGliQ29udHJvbFByb2M7CistCXBJbmZvLT5yZWFkX2lucHV0ID0gUmVhZElucHV0OworICNpZiBHRVRfQUJJX01BSk9SKEFCSV9YSU5QVVRfVkVSU0lPTikgPT0gMAorIAlwSW5mby0+bW90aW9uX2hpc3RvcnlfcHJvYyA9IHhmODZHZXRNb3Rpb25FdmVudHM7CisgCXBJbmZvLT5oaXN0b3J5X3NpemUgPSAwOworICNlbmRpZgorLQlwSW5mby0+Y29udHJvbF9wcm9jID0gTlVMTDsKKysJcEluZm8tPmNvbmZfaWRldiA9IGRldjsKKyAJcEluZm8tPmNsb3NlX3Byb2MgPSBOVUxMOworLQlwSW5mby0+c3dpdGNoX21vZGUgPSBOVUxMOworIAlwSW5mby0+Y29udmVyc2lvbl9wcm9jID0gQ29udmVydFByb2M7CisgCXBJbmZvLT5yZXZlcnNlX2NvbnZlcnNpb25fcHJvYyA9IE5VTEw7CistCXBJbmZvLT5kZXYgPSBOVUxMOworIAlwSW5mby0+cHJpdmF0ZV9mbGFncyA9IDA7CisgCXBJbmZvLT5hbHdheXNfY29yZV9mZWVkYmFjayA9IDA7CistCXBJbmZvLT5jb25mX2lkZXYgPSBkZXY7CisrI2VuZGlmCisrCisrCXBJbmZvLT50eXBlX25hbWUgPSBYSV9UT1VDSFNDUkVFTjsKKysJcEluZm8tPmNvbnRyb2xfcHJvYyA9IE5VTEw7CisrCXBJbmZvLT5yZWFkX2lucHV0ID0gUmVhZElucHV0OworKwlwSW5mby0+ZGV2aWNlX2NvbnRyb2wgPSB4Zjg2VHNsaWJDb250cm9sUHJvYzsKKysJcEluZm8tPnN3aXRjaF9tb2RlID0gTlVMTDsKKyAJcEluZm8tPnByaXZhdGUgPSBwcml2OworKwlwSW5mby0+ZGV2ID0gTlVMTDsKKyAKKyAJLyogQ29sbGVjdCB0aGUgb3B0aW9ucywgYW5kIHByb2Nlc3MgdGhlIGNvbW1vbiBvcHRpb25zLiAqLworLQl4Zjg2Q29sbGVjdElucHV0T3B0aW9ucyhwSW5mbywgTlVMTCwgTlVMTCk7CisrCUNPTExFQ1RfSU5QVVRfT1BUSU9OUyhwSW5mbywgTlVMTCk7CisgCXhmODZQcm9jZXNzQ29tbW9uT3B0aW9ucyhwSW5mbywgcEluZm8tPm9wdGlvbnMpOworIAorIAlwcml2LT5zY3JlZW5fbnVtID0geGY4NlNldEludE9wdGlvbihwSW5mby0+b3B0aW9ucywgIlNjcmVlbk51bWJlciIsIDAgKTsKK0BAIC01MTAsMjMgKzUzNSwzMSBAQAorIAkJcHJpdi0+cm90YXRlID0gVFNMSUJfUk9UQVRFX05PTkU7CisgCX0KKyAKKysjaWYgR0VUX0FCSV9NQUpPUihBQklfWElOUFVUX1ZFUlNJT04pIDwgMTIKKyAgCXMgPSB4Zjg2Q2hlY2tTdHJPcHRpb24oZGV2LT5jb21tb25PcHRpb25zLCAicGF0aCIsIE5VTEwpOworKyNlbHNlCisrCXMgPSB4Zjg2Q2hlY2tTdHJPcHRpb24ocEluZm8tPm9wdGlvbnMsICJwYXRoIiwgTlVMTCk7CisrI2VuZGlmCisgICAJaWYgKCFzKQorKyNpZiBHRVRfQUJJX01BSk9SKEFCSV9YSU5QVVRfVkVSU0lPTikgPCAxMgorIAkJcyA9IHhmODZDaGVja1N0ck9wdGlvbihkZXYtPmNvbW1vbk9wdGlvbnMsICJEZXZpY2UiLCBOVUxMKTsKKysjZWxzZQorKwkJcyA9IHhmODZDaGVja1N0ck9wdGlvbihwSW5mby0+b3B0aW9ucywgIkRldmljZSIsIE5VTEwpOworKyNlbmRpZgorICAKKyAJcHJpdi0+dHMgPSB0c19vcGVuKHMsIDEpOworLQl4ZnJlZShzKTsKKysJZnJlZShzKTsKKyAKKyAJaWYgKCFwcml2LT50cykgeworIAkJRXJyb3JGKCJ0c19vcGVuIGZhaWxlZCAoZGV2aWNlPSVzKVxuIixzKTsKKyAJCXhmODZEZWxldGVJbnB1dChwSW5mbywgMCk7CistCQlyZXR1cm4gTlVMTDsKKysJCXJldHVybiBCYWRWYWx1ZTsKKyAJfQorIAorIAlpZiAodHNfY29uZmlnKHByaXYtPnRzKSkgeworIAkJRXJyb3JGKCJ0c19jb25maWcgZmFpbGVkXG4iKTsKKyAJCXhmODZEZWxldGVJbnB1dChwSW5mbywgMCk7CistCQlyZXR1cm4gTlVMTDsKKysJCXJldHVybiBCYWRWYWx1ZTsKKyAJfQorIAorIAlwSW5mby0+ZmQgPSB0c19mZChwcml2LT50cyk7CitAQCAtNTM2LDExICs1NjksMTMgQEAKKyAJCXByaXYtPnN0YXRlID0gQlVUVE9OX0VNVUxBVElPTl9PRkY7CisgCX0KKyAKKysjaWYgR0VUX0FCSV9NQUpPUihBQklfWElOUFVUX1ZFUlNJT04pIDwgMTIKKyAJLyogTWFyayB0aGUgZGV2aWNlIGNvbmZpZ3VyZWQgKi8KKyAJcEluZm8tPmZsYWdzIHw9IFhJODZfQ09ORklHVVJFRDsKKysjZW5kaWYKKyAKKyAJLyogUmV0dXJuIHRoZSBjb25maWd1cmVkIGRldmljZSAqLworLQlyZXR1cm4gKHBJbmZvKTsKKysJcmV0dXJuIFN1Y2Nlc3M7CisgfQorIAorIF9YX0VYUE9SVCBJbnB1dERyaXZlclJlYyBUU0xJQiA9IHsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtdHNsaWIveHNlcnZlci0xNzQtWEdldFBvaW50ZXJDb250cm9sLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni1pbnB1dC10c2xpYi94c2VydmVyLTE3NC1YR2V0UG9pbnRlckNvbnRyb2wucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTFmNmJhOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtdHNsaWIveHNlcnZlci0xNzQtWEdldFBvaW50ZXJDb250cm9sLnBhdGNoCkBAIC0wLDAgKzEsMzQgQEAKK0Zyb20gR3JhenZ5ZGFzIElnbm90YXMKKworQXQgbGVhc3QgeHNlcnZlciAxLjcuNCBjcmFzaGVzIG9uIFhHZXRQb2ludGVyQ29udHJvbCByZXF1ZXN0IGJlY2F1c2Ugb2YgeGY4Ni1pbnB1dC10c2xpYjoKKworUHJvZ3JhbSByZWNlaXZlZCBzaWduYWwgU0lHU0VHViwgU2VnbWVudGF0aW9uIGZhdWx0LgorIzAgIDB4MDAwMzU1ZTAgaW4gUHJvY0dldFBvaW50ZXJDb250cm9sIChjbGllbnQ9MHg0YTJlNTgpIGF0IGRldmljZXMuYzoyMTIyCisjMSAgMHgwMDA2MmZhOCBpbiBEaXNwYXRjaCAoKSBhdCBkaXNwYXRjaC5jOjQzOQorIzIgIDB4MDAwMjI0NDQgaW4gbWFpbiAoYXJnYz00LCBhcmd2PTB4YmVlYmVkYzQsIGVudnA9MHhiZWViZWRkOCkgYXQgbWFpbi5jOjI4NQorCitUaGlzIGhhcHBlbnMgYmVjYXVzZSBwdHJmZWVkIGZpZWxkIGlzIG5vdCBzZXQgaW4gZGV2aWNlIHN0cnVjdHVyZSBmcm9tIHRzbGliLgorVG8gZml4IHRoaXMsIGNhbGwgSW5pdFB0ckZlZWRiYWNrQ2xhc3NEZXZpY2VTdHJ1Y3QoKSBkdXJpbmcgREVWSUNFX0lOSVQgdG8gZ2V0IG5lY2Vzc2FyeSBzZXR1cCBkb25lIChhcyBkb25lIGluIG90aGVyIGlucHV0IGRyaXZlcnMpLgorCistLS0KK2RpZmYgLXVyIHhmODYtaW5wdXQtdHNsaWItMC4wLjYvc3JjL3RzbGliLmMgeGY4Ni1pbnB1dC10c2xpYi0wLjAuNl8vc3JjL3RzbGliLmMKKy0tLSB4Zjg2LWlucHV0LXRzbGliLTAuMC42L3NyYy90c2xpYi5jCTIwMTAtMDItMDkgMTI6MjM6MjIuMDAwMDAwMDAwICswMjAwCisrKysgeGY4Ni1pbnB1dC10c2xpYi0wLjAuNl8vc3JjL3RzbGliLmMJMjAxMC0wMi0wOSAxMjozNzozMy4wMDAwMDAwMDAgKzAyMDAKK0BAIC0xMDMsOCArMTAzLDYgQEAKKyBzdGF0aWMgdm9pZAorIFBvaW50ZXJDb250cm9sUHJvYyhEZXZpY2VJbnRQdHIgZGV2LCBQdHJDdHJsICogY3RybCkKKyB7CistCUVycm9yRigiJXNcbiIsIF9fRlVOQ1RJT05fXyk7CistCXJldHVybjsKKyB9CisgCisgc3RhdGljIEJvb2wKK0BAIC00MDYsNiArNDA0LDggQEAKKyAJCXhmODZNb3Rpb25IaXN0b3J5QWxsb2NhdGUocEluZm8pOworICNlbmRpZgorIAorKwkJaWYgKCFJbml0UHRyRmVlZGJhY2tDbGFzc0RldmljZVN0cnVjdChkZXZpY2UsIFBvaW50ZXJDb250cm9sUHJvYykpCisrCQkJcmV0dXJuICFTdWNjZXNzOworIAkJYnJlYWs7CisgCisgCWNhc2UgREVWSUNFX09OOgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni1pbnB1dC10c2xpYl8wLjAuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtdHNsaWJfMC4wLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDgyYzc3MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtdHNsaWJfMC4wLjYuYmIKQEAgLTAsMCArMSwzNSBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hvcmctZHJpdmVyLWlucHV0LmluYworU1VNTUFSWSA9ICJYLk9yZyBYIHNlcnZlciAtLSB0c2xpYiBpbnB1dCBkcml2ZXIiCitERVBFTkRTICs9ICJ0c2xpYiIKK1JSRUNPTU1FTkRTXyR7UE59ICs9ICJ0c2xpYi1jYWxpYnJhdGUiCitSU1VHR0VTVFNfJHtQTn0gKz0gImhhbCIKKworIyBkZXJpdmVkIGZyb20geGY4Ni1pbnB1dC12b2lkLCB0aGF0J3Mgd2h5IEkga2VwdCBNSVQtWCwgYnV0IGl0J3Mgbm90IGNsZWFyLCBzZWUgQ09QWUlORworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vc3JjL3RzbGliLmM7ZW5kbGluZT0yODttZDU9YmQ2MmVhZWYyMjJkY2Y1Y2Q1OWU0OTBhMTJiZDc5NWUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORzttZDU9NDY0MWRlZGRhYTgwZmU3Y2E4OGU5NDRlMWZkOTRhOTQiCisKK1BSID0gIiR7SU5DX1BSfS4xIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cucGVuZ3V0cm9uaXguZGUvc29mdHdhcmUveGY4Ni1pbnB1dC10c2xpYi9kb3dubG9hZC94Zjg2LWlucHV0LXRzbGliLSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vZG91YmxlLWZyZWUtY3Jhc2gucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMTAteDExLWlucHV0LXRzbGliLmZkaSBcCisgICAgICAgICAgIGZpbGU6Ly94c2VydmVyLTE3NC1YR2V0UG9pbnRlckNvbnRyb2wucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vOTkteGY4Ni1pbnB1dC10c2xpYi5ydWxlcyBcCisgICAgICAgICAgIGZpbGU6Ly94Zjg2LWlucHV0LXRzbGliLXBvcnQtQUJJLTEyLXI0OC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly94Zjg2LWlucHV0LXRzbGliLTAuMC42LXhmODZYSW5wdXRTZXRTY3JlZW4ucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYjdhNGQyZjExNjM3ZWUzZmNmNDMyZTA0NGIxZDAxN2YiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWY0NmZkZWYwOTVhNmU0NGE2OWUwZjBiNTdjN2Q2NjUyMjRiMjZkOTkwZDAwNjYxMTIzNmQ4MzMyZTg1YjEwNSIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgcm0gLXJmICR7U30vbTQvIHx8IHRydWUKK30KK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfS8ke2RhdGFkaXJ9L2hhbC9mZGkvcG9saWN5LzIwdGhpcmRwYXJ0eQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9LzEwLXgxMS1pbnB1dC10c2xpYi5mZGkgJHtEfS8ke2RhdGFkaXJ9L2hhbC9mZGkvcG9saWN5LzIwdGhpcmRwYXJ0eQorICAgIGluc3RhbGwgLWQgJHtEfS9saWIvdWRldi9ydWxlcy5kCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vOTkteGY4Ni1pbnB1dC10c2xpYi5ydWxlcyAke0R9L2xpYi91ZGV2L3J1bGVzLmQvCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2hhbCAvbGliL3VkZXYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LXZvaWRfMS40LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LXZvaWRfMS40LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2EwYjQ4NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtdm9pZF8xLjQuMS5iYgpAQCAtMCwwICsxLDggQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94b3JnLWRyaXZlci1pbnB1dC5pbmMKK1NVTU1BUlkgPSAiWC5PcmcgWCBzZXJ2ZXIgLS0gdm9pZCBpbnB1dCBkcml2ZXIiCitQUiA9ICIke0lOQ19QUn0uMCIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGJlNmE5MTViZmJmMTExY2Q4ODcwNmZjNmE2ZjE0MWIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1MjI3MDEzYjUyYjNjYTg1ZDZiN2VjOGFkZWE5ODhkNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmOTZlNGYwYTYyMjgyMWJmNDNhNzRiZDQxOWYyYTE4NDIzMzQzOTk2YzlkMjQzYzdlMTQzMGJhMmQxNDIzMzljIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1hdGlfNy42LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWF0aV83LjYuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMWQwNmYyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1hdGlfNy42LjEuYmIKQEAgLTAsMCArMSwyMCBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hvcmctZHJpdmVyLXZpZGVvLmluYworCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hYWJmZjE2MDY1NTFmOTQ2MWNjZjU2NzczOWFmNjNkYyIKKworU1VNTUFSWSA9ICJYLk9yZyBYIHNlcnZlciAtLSBBVEkgUmFkZW9uIHZpZGVvIGRyaXZlciIKKworREVTQ1JJUFRJT04gPSAiT3Blbi1zb3VyY2UgWC5vcmcgZ3JhcGhpY3MgZHJpdmVyIGZvciBBVEkgUmFkZW9uIGdyYXBoaWNzIgorCitERVBFTkRTICs9ICJ2aXJ0dWFsL2xpYngxMSBsaWJ4dm1jIGRybSB4Zjg2ZHJpcHJvdG8gZ2xwcm90byBcCisgICAgICAgICAgICB2aXJ0dWFsL2xpYmdsIHhpbmVyYW1hcHJvdG8gbGlicGNpYWNjZXNzIgorCitDT01QQVRJQkxFX0hPU1QgPSAnKGkuODZ8eDg2XzY0KS4qLWxpbnV4JworCitTUkNfVVJJW21kNXN1bV0gPSAiZWRlODZjZDNkMWIxZDg4ODJmMGFlYTYxZDllOTI0ZWQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjUxNmQ5ZWViOGRhOGJjZDNhMDEzNjVlZDEzMTQ5MTk3Nzc5MTBmYTkwNGFiMjY4YWYzNDJiNTY5M2UxZDM0YyIKKworRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtZ2xhbW9yIgorCitSREVQRU5EU18ke1BOfSArPSAieHNlcnZlci14b3JnLW1vZHVsZS1leGEiCitSUkVDT01NRU5EU18ke1BOfSArPSAibGludXgtZmlybXdhcmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWdlb2RlLzAwMDEtQWRkLWNvbmZpZy5oLWluY2x1ZGUtdG8tc3JjLWx4X21lbW9yeS5jLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1nZW9kZS8wMDAxLUFkZC1jb25maWcuaC1pbmNsdWRlLXRvLXNyYy1seF9tZW1vcnkuYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mY2QyZjY4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1nZW9kZS8wMDAxLUFkZC1jb25maWcuaC1pbmNsdWRlLXRvLXNyYy1seF9tZW1vcnkuYy5wYXRjaApAQCAtMCwwICsxLDQxIEBACitGcm9tIDYyMWQ5NDZlNTZlZmFjMmM3NzliODNiMWE1YzZiNjQ1MTY5YzRlYmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiAiQnJpYW4gQS4gTGxveWQiIDxicmlhbi5sbG95ZEBmYW1pbHlob25vci5uZXQ+CitEYXRlOiBXZWQsIDEgT2N0IDIwMTQgMTI6MzU6MTggKzAzMDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRkIGNvbmZpZy5oIGluY2x1ZGUgdG8gc3JjL2x4X21lbW9yeS5jCisKK1RoZSBzcmMvbHhfbWVtb3J5LmMgZmlsZSB1c2VzIHRoZSB4Zjg2LmggaGVhZGVyIGZpbGUuICBUaGlzIGZpbGUgbXVzdCBoYXZlCitIQVZFX1NUUk5EVVAgZGVmaW5lZCBiZWZvcmUgY2FsbGluZyBpdCB3aGVuIHRoZSBidWlsZGluZyBwbGF0Zm9ybSBoYXMgYSBzdHJuZHVwCitmdW5jdGlvbi4gIFdoZW4gdXNpbmcgY29uZmlnLmgsIHRoaXMgZmlsZSBkb2Vzbid0IGhhdmUgdGhhdCBkZWZpbmUgYW5kIHNvIGZhaWxzCit0byBjb21waWxlLgorCitUaGUgYXR0YWNoZWQgcGF0Y2ggYWRkcyB0aGUgY29uZGl0aW9uYWwgY29uZmlnLmggdG8gdGhpcyBmaWxlIHNvIGl0IG1heSBjb21waWxlCitvbiB0aGUgYWZmZWN0ZWQgcGxhdGZvcm1zLgorCitUaGUgcGF0Y2ggaXMgdHJpdmlhbCBhbmQgbWF5IGJlIGluY2x1ZGVkIGFuZCB1c2VkIHVuZGVyIHdoYXRldmVyIGxpY2Vuc2luZworZGVzaXJlZC4KKworQ2xvc2VzOiBGcmVlIERlc2t0b3AgQnVnICM4NDU0MQorCitTaWduZWQtb2ZmLWJ5OiBCcmlhbiBBLiBMbG95ZCA8YnJpYW4ubGxveWRAZmFtaWx5aG9ub3IubmV0PgorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorLS0tCisgc3JjL2x4X21lbW9yeS5jIHwgMyArKysKKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvbHhfbWVtb3J5LmMgYi9zcmMvbHhfbWVtb3J5LmMKK2luZGV4IGYyNmQyODAuLjk5MjQ0NmYgMTAwNjQ0CistLS0gYS9zcmMvbHhfbWVtb3J5LmMKKysrKyBiL3NyYy9seF9tZW1vcnkuYworQEAgLTIyLDYgKzIyLDkgQEAKKyAgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzCisgICogc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgICovCisrI2lmIEhBVkVfQ09ORklHX0gKKysjaW5jbHVkZSAiY29uZmlnLmgiCisrI2VuZGlmCisgCisgI2luY2x1ZGUgInhmODYuaCIKKyAjaW5jbHVkZSAiZ2VvZGUuaCIKKy0tIAorMi4xLjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1nZW9kZV8yLjExLjE2LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1nZW9kZV8yLjExLjE2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyNjc1OTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWdlb2RlXzIuMTEuMTYuYmIKQEAgLTAsMCArMSwxNiBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hvcmctZHJpdmVyLXZpZGVvLmluYworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTdmM2UzOTQ3NGFlZWE1YWYzODFhOGUxMDNkYWZjMzYiCisKK1NVTU1BUlkgPSAiWC5vcmcgc2VydmVyIC0tIEdlb2RlIEdYMi9MWCBkaXNwbGF5IGRyaXZlciIKK1BSID0gIiR7SU5DX1BSfS4wIgorCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1BZGQtY29uZmlnLmgtaW5jbHVkZS10by1zcmMtbHhfbWVtb3J5LmMucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiMzVmYTM4N2Y2YTMzZjZiMjJhNTZjZTRiZGE0MjQzOTIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzhmYzFmNTVlMjlmYjc5ODViOTBjOTAyMWE0YjdlNTI5NWQ0Mjg4OGJkNjY5MTc0ZjQyZjNiN2Y2ODFmYzFhNyIKKworQ09NUEFUSUJMRV9IT1NUID0gImkuODYuKi1saW51eCIKKworUkRFUEVORFNfJHtQTn0gKz0gInhzZXJ2ZXIteG9yZy1tb2R1bGUtZXhhIgorCisjIDJfMi4xMS4xNi1yMjEuMC94Zjg2LXZpZGVvLWdlb2RlLTIuMTEuMTYvc3JjL2d4X2RyaXZlci5jOjM3NjoyMDogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICd4Zjg2TWFwVmlkTWVtJyBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KK1BOQkxBQ0tMSVNUW3hmODYtdmlkZW8tZ2VvZGVdID89ICJCUk9LRU4sIGZhaWxzIHRvIGJ1aWxkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1nbGFtby8wMDAxLWZpeC1idWlsZC13aXRoLUtNUy1kaXNhYmxlZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tZ2xhbW8vMDAwMS1maXgtYnVpbGQtd2l0aC1LTVMtZGlzYWJsZWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjVlODMyMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tZ2xhbW8vMDAwMS1maXgtYnVpbGQtd2l0aC1LTVMtZGlzYWJsZWQucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorRnJvbSBmNDg1ZTg3OGJjOGJiMGUzODFhMzhhMzAwMDkzMDhjODJmYThkNjcyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogVGh1LCAxNiBBdWcgMjAxMiAwODoxODo1NiArMDIwMAorU3ViamVjdDogW1BBVENIXSBmaXggYnVpbGQgd2l0aCBLTVMgZGlzYWJsZWQKKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgc3JjL2dsYW1vLmggfCAgICAzICsrKworIDEgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2dsYW1vLmggYi9zcmMvZ2xhbW8uaAoraW5kZXggZDRhMmYxOS4uNWZkNWMwNCAxMDA2NDQKKy0tLSBhL3NyYy9nbGFtby5oCisrKysgYi9zcmMvZ2xhbW8uaAorQEAgLTM3LDggKzM3LDExIEBACisgI2luY2x1ZGUgInhmODYuaCIKKyAjaW5jbHVkZSAiZXhhLmgiCisgI2luY2x1ZGUgPGxpbnV4L2ZiLmg+CisrCisrI2lmZGVmIEhBVkVfS01TCisgI2luY2x1ZGUgPGxpYmRybS9kcm0uaD4KKyAjaW5jbHVkZSA8bGliZHJtL2dsYW1vX2JvLmg+CisrI2VuZGlmCisgCisgI2RlZmluZSBHTEFNT19SRUdfQkFTRShjKQkJKChjKS0+YXR0ci5hZGRyZXNzWzBdKQorICNkZWZpbmUgR0xBTU9fUkVHX1NJWkUoYykJCSgweDI0MDApCistLSAKKzEuNy44LjYKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1nbGFtby8wMDAxLWdsYW1vLWRyaXZlci1yZW1vdmUtcmVmZXJlbmNlcy10by1taWJzdG9yZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tZ2xhbW8vMDAwMS1nbGFtby1kcml2ZXItcmVtb3ZlLXJlZmVyZW5jZXMtdG8tbWlic3RvcmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmFiMGIyMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tZ2xhbW8vMDAwMS1nbGFtby1kcml2ZXItcmVtb3ZlLXJlZmVyZW5jZXMtdG8tbWlic3RvcmUucGF0Y2gKQEAgLTAsMCArMSw0OCBAQAorRnJvbSAwNDBhZGU4YmI4NmE3NzFmYTRlNzFiNDFkMjA4MDI1NDgzMGNhOWYzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogU2F0LCAxNiBNYXIgMjAxMyAxNzo0NDozNyArMDEwMAorU3ViamVjdDogW1BBVENIXSBnbGFtbypkcml2ZXI6IHJlbW92ZSByZWZlcmVuY2VzIHRvIG1pYnN0b3JlCisKKyogZml4IGJ1aWxkIHdpdGggeHNlcnZlci0xLjE0CisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9nbGFtby1kcml2ZXIuYyAgICAgfCAyIC0tCisgc3JjL2dsYW1vLWttcy1kcml2ZXIuYyB8IDEgLQorIDIgZmlsZXMgY2hhbmdlZCwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9nbGFtby1kcml2ZXIuYyBiL3NyYy9nbGFtby1kcml2ZXIuYworaW5kZXggMTBiNzc2Mi4uMjJmNTdkNyAxMDA2NDQKKy0tLSBhL3NyYy9nbGFtby1kcml2ZXIuYworKysrIGIvc3JjL2dsYW1vLWRyaXZlci5jCitAQCAtMTQsNyArMTQsNiBAQAorICNpbmNsdWRlICJ4Zjg2X09TcHJvYy5oIgorIAorICNpbmNsdWRlICJtaXBvaW50ZXIuaCIKKy0jaW5jbHVkZSAibWlic3RvcmUuaCIKKyAjaW5jbHVkZSAibWljbWFwLmgiCisgI2luY2x1ZGUgImNvbG9ybWFwc3QuaCIKKyAjaW5jbHVkZSAieGY4NmNtYXAuaCIKK0BAIC02MTIsNyArNjExLDYgQEAgR2xhbW9TY3JlZW5Jbml0KFNDUkVFTl9JTklUX0FSR1NfREVDTCkKKyAgICAgfQorIAorICAgICB4Zjg2U2V0QmxhY2tXaGl0ZVBpeGVscyhwU2NyZWVuKTsKKy0gICAgbWlJbml0aWFsaXplQmFja2luZ1N0b3JlKHBTY3JlZW4pOworICAgICB4Zjg2U2V0QmFja2luZ1N0b3JlKHBTY3JlZW4pOworIAorICAgICAvKiBzb2Z0d2FyZSBjdXJzb3IgKi8KK2RpZmYgLS1naXQgYS9zcmMvZ2xhbW8ta21zLWRyaXZlci5jIGIvc3JjL2dsYW1vLWttcy1kcml2ZXIuYworaW5kZXggYzVjN2EwMC4uZjE5MjM5OCAxMDA2NDQKKy0tLSBhL3NyYy9nbGFtby1rbXMtZHJpdmVyLmMKKysrKyBiL3NyYy9nbGFtby1rbXMtZHJpdmVyLmMKK0BAIC00MTUsNyArNDE1LDYgQEAgQm9vbCBHbGFtb0tNU1NjcmVlbkluaXQoaW50IHNjcm5JbmRleCwgU2NyZWVuUHRyIHBTY3JlZW4sIGludCBhcmdjLAorIAorIAlHbGFtb0tNU0V4YUluaXQocFNjcm4pOworIAorLQltaUluaXRpYWxpemVCYWNraW5nU3RvcmUocFNjcmVlbik7CisgCXhmODZTZXRCYWNraW5nU3RvcmUocFNjcmVlbik7CisgCXhmODZTZXRTaWxrZW5Nb3VzZShwU2NyZWVuKTsKKyAJbWlEQ0luaXRpYWxpemUocFNjcmVlbiwgeGY4NkdldFBvaW50ZXJTY3JlZW5GdW5jcygpKTsKKy0tIAorMS44LjEuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWdsYW1vLzAwMDEtZ2xhbW8ta21zLWRyaXZlci1kcm9wLXVudXNlZC14Zjg2X2NvbmZpZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tZ2xhbW8vMDAwMS1nbGFtby1rbXMtZHJpdmVyLWRyb3AtdW51c2VkLXhmODZfY29uZmlnLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkNjM3NDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWdsYW1vLzAwMDEtZ2xhbW8ta21zLWRyaXZlci1kcm9wLXVudXNlZC14Zjg2X2NvbmZpZy5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9tIDk2M2MyMjFhYTAxYmUyZWE5OWQzOTU3OGQ5MWU0YWEwOGVjM2FiMGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitEYXRlOiBNb24sIDIzIE1heSAyMDExIDE0OjI5OjM4ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGdsYW1vLWttcy1kcml2ZXI6IGRyb3AgdW51c2VkIHhmODZfY29uZmlnCisKKyogZ2NjLTQuNiBkb2Vzbid0IGxpa2UgdW51c2VkIHZhcmlhYmxlcyB3aGljaCBhcmUgb25seSBzZXQgYW5kIG5ldmVyIHJlYWQKKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgc3JjL2dsYW1vLWttcy1kcml2ZXIuYyB8ICAgIDIgLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDAgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9nbGFtby1rbXMtZHJpdmVyLmMgYi9zcmMvZ2xhbW8ta21zLWRyaXZlci5jCitpbmRleCBjZTg3Y2FhLi5jNWM3YTAwIDEwMDY0NAorLS0tIGEvc3JjL2dsYW1vLWttcy1kcml2ZXIuYworKysrIGIvc3JjL2dsYW1vLWttcy1kcml2ZXIuYworQEAgLTIwOCw3ICsyMDgsNiBAQCBzdGF0aWMgY29uc3QgeGY4NkNydGNDb25maWdGdW5jc1JlYyBjcnRjX2NvbmZpZ19mdW5jcyA9IHsKKyAKKyBCb29sIEdsYW1vS01TUHJlSW5pdChTY3JuSW5mb1B0ciBwU2NybiwgaW50IGZsYWdzKQorIHsKKy0JeGY4NkNydGNDb25maWdQdHIgeGY4Nl9jb25maWc7CisgCUdsYW1vUHRyIHBHbGFtbzsKKyAJcmdiIGRlZmF1bHRXZWlnaHQgPSB7IDAsIDAsIDAgfTsKKyAJaW50IG1heF93aWR0aCwgbWF4X2hlaWdodDsKK0BAIC0yNTQsNyArMjUzLDYgQEAgQm9vbCBHbGFtb0tNU1ByZUluaXQoU2NybkluZm9QdHIgcFNjcm4sIGludCBmbGFncykKKyAKKyAJLyogQWxsb2NhdGUgYW4geGY4NkNydGNDb25maWcgKi8KKyAJeGY4NkNydGNDb25maWdJbml0KHBTY3JuLCAmY3J0Y19jb25maWdfZnVuY3MpOworLQl4Zjg2X2NvbmZpZyA9IFhGODZfQ1JUQ19DT05GSUdfUFRSKHBTY3JuKTsKKyAKKyAJbWF4X3dpZHRoID0gNDgwOworIAltYXhfaGVpZ2h0ID0gNjQwOworLS0gCisxLjcuNS5yYzMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1nbGFtby8wMDAzLWdsYW1vLWRyaXZlci1hZGFwdC10by14c2VydmVyLTAuMTMtdmlkZW8tQVBJLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1nbGFtby8wMDAzLWdsYW1vLWRyaXZlci1hZGFwdC10by14c2VydmVyLTAuMTMtdmlkZW8tQVBJLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiZGM2ZTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWdsYW1vLzAwMDMtZ2xhbW8tZHJpdmVyLWFkYXB0LXRvLXhzZXJ2ZXItMC4xMy12aWRlby1BUEkucGF0Y2gKQEAgLTAsMCArMSwyNzkgQEAKK0Zyb20gNTdlODk0NGUzY2NlZDAzYjk1MjZiZDA3NTY0OWQ3NGQ5N2MyNDg5OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMjAgTm92IDIwMTIgMjI6MTg6MjMgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAzLzNdIGdsYW1vLWRyaXZlcjogYWRhcHQgdG8geHNlcnZlci0wLjEzIHZpZGVvIEFQSQorCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBzcmMvY29tcGF0LWFwaS5oICAgfCA5NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBzcmMvZ2xhbW8tZHJpdmVyLmMgfCA0MyArKysrKysrKysrKystLS0tLS0tLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDExOCBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2NvbXBhdC1hcGkuaAorCitkaWZmIC0tZ2l0IGEvc3JjL2NvbXBhdC1hcGkuaCBiL3NyYy9jb21wYXQtYXBpLmgKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5iMTU5MWIxCistLS0gL2Rldi9udWxsCisrKysgYi9zcmMvY29tcGF0LWFwaS5oCitAQCAtMCwwICsxLDk2IEBACisrLyoKKysgKiBDb3B5cmlnaHQgMjAxMiBSZWQgSGF0LCBJbmMuCisrICoKKysgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisrICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgorKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAorKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisrICoKKysgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0CisrICogcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQorKyAqIFNvZnR3YXJlLgorKyAqCisrICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKysgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKKysgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKKysgKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisrICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgorKyAqIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKysgKgorKyAqIEF1dGhvcjogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KKysgKi8KKysKKysvKiB0aGlzIGZpbGUgcHJvdmlkZXMgQVBJIGNvbXBhdCBiZXR3ZWVuIHNlcnZlciBwb3N0IDEuMTMgYW5kIHByZSBpdCwKKysgICBpdCBzaG91bGQgYmUgcmV1c2VkIGluc2lkZSBhcyBtYW55IGRyaXZlcnMgYXMgcG9zc2libGUgKi8KKysjaWZuZGVmIENPTVBBVF9BUElfSAorKyNkZWZpbmUgQ09NUEFUX0FQSV9ICisrCisrI2lmbmRlZiBHTFlQSF9IQVNfR0xZUEhfUElDVFVSRV9BQ0NFU1NPUgorKyNkZWZpbmUgR2V0R2x5cGhQaWN0dXJlKGcsIHMpIEdseXBoUGljdHVyZSgoZykpWyhzKS0+bXlOdW1dCisrI2RlZmluZSBTZXRHbHlwaFBpY3R1cmUoZywgcywgcCkgR2x5cGhQaWN0dXJlKChnKSlbKHMpLT5teU51bV0gPSBwCisrI2VuZGlmCisrCisrI2lmbmRlZiBYRjg2X0hBU19TQ1JOX0NPTlYKKysjZGVmaW5lIHhmODZTY3JlZW5Ub1Njcm4ocykgeGY4NlNjcmVlbnNbKHMpLT5teU51bV0KKysjZGVmaW5lIHhmODZTY3JuVG9TY3JlZW4ocykgc2NyZWVuSW5mby5zY3JlZW5zWyhzKS0+c2NybkluZGV4XQorKyNlbmRpZgorKworKyNpZm5kZWYgWEY4Nl9TQ1JOX0lOVEVSRkFDRQorKworKyNkZWZpbmUgU0NSTl9BUkdfVFlQRSBpbnQKKysjZGVmaW5lIFNDUk5fSU5GT19QVFIoYXJnMSkgU2NybkluZm9QdHIgcFNjcm4gPSB4Zjg2U2NyZWVuc1soYXJnMSldCisrCisrI2RlZmluZSBTQ1JFRU5fQVJHX1RZUEUgaW50CisrI2RlZmluZSBTQ1JFRU5fUFRSKGFyZzEpIFNjcmVlblB0ciBwU2NyZWVuID0gc2NyZWVuSW5mby5zY3JlZW5zWyhhcmcxKV0KKysKKysjZGVmaW5lIFNDUkVFTl9JTklUX0FSR1NfREVDTCBpbnQgaW5kZXgsIFNjcmVlblB0ciBwU2NyZWVuLCBpbnQgYXJnYywgY2hhciAqKmFyZ3YKKysKKysjZGVmaW5lIEJMT0NLSEFORExFUl9BUkdTX0RFQ0wgaW50IGFyZywgcG9pbnRlciBibG9ja0RhdGEsIHBvaW50ZXIgcFRpbWVvdXQsIHBvaW50ZXIgcFJlYWRtYXNrCisrI2RlZmluZSBCTE9DS0hBTkRMRVJfQVJHUyBhcmcsIGJsb2NrRGF0YSwgcFRpbWVvdXQsIHBSZWFkbWFzaworKworKyNkZWZpbmUgQ0xPU0VfU0NSRUVOX0FSR1NfREVDTCBpbnQgc2NybkluZGV4LCBTY3JlZW5QdHIgcFNjcmVlbgorKyNkZWZpbmUgQ0xPU0VfU0NSRUVOX0FSR1Mgc2NybkluZGV4LCBwU2NyZWVuCisrCisrI2RlZmluZSBBREpVU1RfRlJBTUVfQVJHU19ERUNMIGludCBhcmcsIGludCB4LCBpbnQgeSwgaW50IGZsYWdzCisrCisrI2RlZmluZSBTV0lUQ0hfTU9ERV9BUkdTX0RFQ0wgaW50IGFyZywgRGlzcGxheU1vZGVQdHIgbW9kZSwgaW50IGZsYWdzCisrCisrI2RlZmluZSBGUkVFX1NDUkVFTl9BUkdTX0RFQ0wgaW50IGFyZywgaW50IGZsYWdzCisrI2RlZmluZSBGUkVFX1NDUkVFTl9BUkdTKHgpICh4KS0+c2NybkluZGV4LCAwCisrCisrI2RlZmluZSBWVF9GVU5DX0FSR1NfREVDTCBpbnQgYXJnLCBpbnQgZmxhZ3MKKysjZGVmaW5lIFZUX0ZVTkNfQVJHUyhmbGFncykgcFNjcm4tPnNjcm5JbmRleCwgKGZsYWdzKQorKworKyNkZWZpbmUgWEY4Nl9FTkFCTEVESVNBQkxFRkJfQVJHKHgpICgoeCktPnNjcm5JbmRleCkKKysjZWxzZQorKyNkZWZpbmUgU0NSTl9BUkdfVFlQRSBTY3JuSW5mb1B0cgorKyNkZWZpbmUgU0NSTl9JTkZPX1BUUihhcmcxKSBTY3JuSW5mb1B0ciBwU2NybiA9IChhcmcxKQorKworKyNkZWZpbmUgU0NSRUVOX0FSR19UWVBFIFNjcmVlblB0cgorKyNkZWZpbmUgU0NSRUVOX1BUUihhcmcxKSBTY3JlZW5QdHIgcFNjcmVlbiA9IChhcmcxKQorKworKyNkZWZpbmUgU0NSRUVOX0lOSVRfQVJHU19ERUNMIFNjcmVlblB0ciBwU2NyZWVuLCBpbnQgYXJnYywgY2hhciAqKmFyZ3YKKysKKysjZGVmaW5lIEJMT0NLSEFORExFUl9BUkdTX0RFQ0wgU2NyZWVuUHRyIGFyZywgcG9pbnRlciBwVGltZW91dCwgcG9pbnRlciBwUmVhZG1hc2sKKysjZGVmaW5lIEJMT0NLSEFORExFUl9BUkdTIGFyZywgcFRpbWVvdXQsIHBSZWFkbWFzaworKworKyNkZWZpbmUgQ0xPU0VfU0NSRUVOX0FSR1NfREVDTCBTY3JlZW5QdHIgcFNjcmVlbgorKyNkZWZpbmUgQ0xPU0VfU0NSRUVOX0FSR1MgcFNjcmVlbgorKworKyNkZWZpbmUgQURKVVNUX0ZSQU1FX0FSR1NfREVDTCBTY3JuSW5mb1B0ciBhcmcsIGludCB4LCBpbnQgeQorKyNkZWZpbmUgU1dJVENIX01PREVfQVJHU19ERUNMIFNjcm5JbmZvUHRyIGFyZywgRGlzcGxheU1vZGVQdHIgbW9kZQorKworKyNkZWZpbmUgRlJFRV9TQ1JFRU5fQVJHU19ERUNMIFNjcm5JbmZvUHRyIGFyZworKyNkZWZpbmUgRlJFRV9TQ1JFRU5fQVJHUyh4KSAoeCkKKysKKysjZGVmaW5lIFZUX0ZVTkNfQVJHU19ERUNMIFNjcm5JbmZvUHRyIGFyZworKyNkZWZpbmUgVlRfRlVOQ19BUkdTKGZsYWdzKSBwU2NybgorKworKyNkZWZpbmUgWEY4Nl9FTkFCTEVESVNBQkxFRkJfQVJHKHgpICh4KQorKworKyNlbmRpZgorKworKyNlbmRpZgorZGlmZiAtLWdpdCBhL3NyYy9nbGFtby1kcml2ZXIuYyBiL3NyYy9nbGFtby1kcml2ZXIuYworaW5kZXggYjEzY2FhZS4uMTBiNzc2MiAxMDA2NDQKKy0tLSBhL3NyYy9nbGFtby1kcml2ZXIuYworKysrIGIvc3JjL2dsYW1vLWRyaXZlci5jCitAQCAtNDMsNiArNDMsNyBAQAorIAorICNpbmNsdWRlIDxzeXMvbW1hbi5oPgorIAorKyNpbmNsdWRlICJjb21wYXQtYXBpLmgiCisgCisgc3RhdGljIEJvb2wgZGVidWcgPSAwOworIAorQEAgLTY4LDEwICs2OSwxMCBAQCBzdGF0aWMgQm9vbAorIEdsYW1vUHJlSW5pdChTY3JuSW5mb1B0ciBwU2NybiwgaW50IGZsYWdzKTsKKyAKKyBzdGF0aWMgQm9vbAorLUdsYW1vU2NyZWVuSW5pdChpbnQgSW5kZXgsIFNjcmVlblB0ciBwU2NyZWVuLCBpbnQgYXJnYywgY2hhciAqKmFyZ3YpOworK0dsYW1vU2NyZWVuSW5pdChTQ1JFRU5fSU5JVF9BUkdTX0RFQ0wpOworIAorIHN0YXRpYyBCb29sCistR2xhbW9DbG9zZVNjcmVlbihpbnQgc2NybkluZGV4LCBTY3JlZW5QdHIgcFNjcmVlbik7CisrR2xhbW9DbG9zZVNjcmVlbihDTE9TRV9TQ1JFRU5fQVJHU19ERUNMKTsKKyAKKyBzdGF0aWMgQm9vbAorIEdsYW1vQ3J0Y1Jlc2l6ZShTY3JuSW5mb1B0ciBzY3JuLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworQEAgLTg2LDEwICs4NywxMCBAQCBzdGF0aWMgdm9pZAorIEdsYW1vUmVzdG9yZUhXKFNjcm5JbmZvUHRyIHBTY3Jlbik7CisgCisgc3RhdGljIEJvb2wKKy1HbGFtb0VudGVyVlQoaW50IHNjcm5JbmRleCwgaW50IGZsYWdzKTsKKytHbGFtb0VudGVyVlQoVlRfRlVOQ19BUkdTX0RFQ0wpOworIAorIHN0YXRpYyB2b2lkCistR2xhbW9MZWF2ZVZUKGludCBzY3JuSW5kZXgsIGludCBmbGFncyk7CisrR2xhbW9MZWF2ZVZUKFZUX0ZVTkNfQVJHU19ERUNMKTsKKyAKKyBzdGF0aWMgdm9pZAorIEdsYW1vTG9hZENvbG9ybWFwKFNjcm5JbmZvUHRyIHBTY3JuLCBpbnQgbnVtQ29sb3JzLCBpbnQgKmluZGljZXMsCitAQCAtMjQ4LDggKzI0OSw4IEBAIEdsYW1vVW5tYXBNTUlPKFNjcm5JbmZvUHRyIHBTY3JuKSB7CisgfQorIAorIHN0YXRpYyBCb29sCistR2xhbW9Td2l0Y2hNb2RlKGludCBzY3JuSW5kZXgsIERpc3BsYXlNb2RlUHRyIG1vZGUsIGludCBmbGFncykgeworLSAgICBTY3JuSW5mb1B0ciBwU2NybiA9IHhmODZTY3JlZW5zW3Njcm5JbmRleF07CisrR2xhbW9Td2l0Y2hNb2RlKFNXSVRDSF9NT0RFX0FSR1NfREVDTCkgeworKyAgICBTQ1JOX0lORk9fUFRSKGFyZyk7CisgICAgIHhmODZDcnRjQ29uZmlnUHRyIGNvbmZpZyA9IFhGODZfQ1JUQ19DT05GSUdfUFRSIChwU2Nybik7CisgICAgIHhmODZPdXRwdXRQdHIgb3V0cHV0ID0gY29uZmlnLT5vdXRwdXRbY29uZmlnLT5jb21wYXRfb3V0cHV0XTsKKyAgICAgUm90YXRpb24gcm90YXRpb247CitAQCAtMjg2LDcgKzI4Nyw3IEBAIEdsYW1vRmJkZXZQcm9iZShEcml2ZXJQdHIgZHJ2LCBHRGV2UHRyICpkZXZTZWN0aW9ucywgaW50IG51bURldlNlY3Rpb25zKQorIAorIAlmb3IgKGkgPSAwOyBpIDwgbnVtRGV2U2VjdGlvbnM7IGkrKykgeworIAorLQkJZGV2ID0geGY4NkZpbmRPcHRpb25WYWx1ZShkZXZTZWN0aW9uc1tpXS0+b3B0aW9ucywgIkRldmljZSIpOworKwkJZGV2ID0gKGNoYXIgKikgeGY4NkZpbmRPcHRpb25WYWx1ZShkZXZTZWN0aW9uc1tpXS0+b3B0aW9ucywgIkRldmljZSIpOworIAkJaWYgKGZiZGV2SFdQcm9iZShOVUxMLCBkZXYsIE5VTEwpKSB7CisgCQkJaW50IGVudGl0eTsKKyAJCQlwU2NybiA9IE5VTEw7CitAQCAtNDMwLDcgKzQzMSw3IEBAIEdsYW1vUHJlSW5pdChTY3JuSW5mb1B0ciBwU2NybiwgaW50IGZsYWdzKQorIAorICAgICBwR2xhbW8tPnBFbnQgPSB4Zjg2R2V0RW50aXR5SW5mbyhwU2Nybi0+ZW50aXR5TGlzdFswXSk7CisgCistICAgIGZiX2RldmljZSA9IHhmODZGaW5kT3B0aW9uVmFsdWUocEdsYW1vLT5wRW50LT5kZXZpY2UtPm9wdGlvbnMsICJEZXZpY2UiKTsKKysgICAgZmJfZGV2aWNlID0gKGNoYXIgKikgeGY4NkZpbmRPcHRpb25WYWx1ZShwR2xhbW8tPnBFbnQtPmRldmljZS0+b3B0aW9ucywgIkRldmljZSIpOworIAorICAgICAvKiBvcGVuIGRldmljZSAqLworICAgICBpZiAoIWZiZGV2SFdJbml0KHBTY3JuLCBOVUxMLCBmYl9kZXZpY2UpKQorQEAgLTUyMyw3ICs1MjQsNyBAQCBHbGFtb1ByZUluaXQoU2NybkluZm9QdHIgcFNjcm4sIGludCBmbGFncykKKyAKKyAKKyBzdGF0aWMgQm9vbAorLUdsYW1vU2NyZWVuSW5pdChpbnQgc2NybkluZGV4LCBTY3JlZW5QdHIgcFNjcmVlbiwgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorK0dsYW1vU2NyZWVuSW5pdChTQ1JFRU5fSU5JVF9BUkdTX0RFQ0wpCisgeworICAgICBTY3JuSW5mb1B0ciBwU2NybiA9IHhmODZTY3JlZW5zW3BTY3JlZW4tPm15TnVtXTsKKyAgICAgR2xhbW9QdHIgcEdsYW1vID0gR2xhbW9QVFIocFNjcm4pOworQEAgLTU0NSw3ICs1NDYsNyBAQCBHbGFtb1NjcmVlbkluaXQoaW50IHNjcm5JbmRleCwgU2NyZWVuUHRyIHBTY3JlZW4sIGludCBhcmdjLCBjaGFyICoqYXJndikKKyAjZW5kaWYKKyAKKyAgICAgaWYgKE5VTEwgPT0gKHBHbGFtby0+ZmJtZW0gPSBmYmRldkhXTWFwVmlkbWVtKHBTY3JuKSkpIHsKKy0gICAgICAgIHhmODZEcnZNc2coc2NybkluZGV4LCBYX0VSUk9SLCAibWFwcGluZyBvZiB2aWRlbyBtZW1vcnkgZmFpbGVkXG4iKTsKKysgICAgICAgIHhmODZEcnZNc2cocFNjcm4tPnNjcm5JbmRleCwgWF9FUlJPUiwgIm1hcHBpbmcgb2YgdmlkZW8gbWVtb3J5IGZhaWxlZFxuIik7CisgICAgICAgICByZXR1cm4gRkFMU0U7CisgICAgIH0KKyAKK0BAIC01NTYsMTMgKzU1NywxMyBAQCBHbGFtb1NjcmVlbkluaXQoaW50IHNjcm5JbmRleCwgU2NyZWVuUHRyIHBTY3JlZW4sIGludCBhcmdjLCBjaGFyICoqYXJndikKKyAgICAgLyogbWkgbGF5ZXIgKi8KKyAgICAgbWlDbGVhclZpc3VhbFR5cGVzKCk7CisgICAgIGlmICghbWlTZXRWaXN1YWxUeXBlcyhwU2Nybi0+ZGVwdGgsIFRydWVDb2xvck1hc2ssIHBTY3JuLT5yZ2JCaXRzLCBUcnVlQ29sb3IpKSB7CistICAgICAgICB4Zjg2RHJ2TXNnKHNjcm5JbmRleCwgWF9FUlJPUiwKKysgICAgICAgIHhmODZEcnZNc2cocFNjcm4tPnNjcm5JbmRleCwgWF9FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgInZpc3VhbCB0eXBlIHNldHVwIGZhaWxlZCBmb3IgJWQgYml0cyBwZXIgcGl4ZWwgWzFdXG4iLAorICAgICAgICAgICAgICAgICAgICBwU2Nybi0+Yml0c1BlclBpeGVsKTsKKyAgICAgICAgIHJldHVybiBGQUxTRTsKKyAgICAgfQorICAgICBpZiAoIW1pU2V0UGl4bWFwRGVwdGhzKCkpIHsKKy0gICAgICB4Zjg2RHJ2TXNnKHNjcm5JbmRleCwgWF9FUlJPUiwgInBpeG1hcCBkZXB0aCBzZXR1cCBmYWlsZWRcbiIpOworKyAgICAgIHhmODZEcnZNc2cocFNjcm4tPnNjcm5JbmRleCwgWF9FUlJPUiwgInBpeG1hcCBkZXB0aCBzZXR1cCBmYWlsZWRcbiIpOworICAgICAgIHJldHVybiBGQUxTRTsKKyAgICAgfQorIAorQEAgLTYxNyw3ICs2MTgsNyBAQCBHbGFtb1NjcmVlbkluaXQoaW50IHNjcm5JbmRleCwgU2NyZWVuUHRyIHBTY3JlZW4sIGludCBhcmdjLCBjaGFyICoqYXJndikKKyAgICAgLyogc29mdHdhcmUgY3Vyc29yICovCisgICAgIG1pRENJbml0aWFsaXplKHBTY3JlZW4sIHhmODZHZXRQb2ludGVyU2NyZWVuRnVuY3MoKSk7CisgCistICAgIEdsYW1vRW50ZXJWVChzY3JuSW5kZXgsIDApOworKyAgICBHbGFtb0VudGVyVlQoVlRfRlVOQ19BUkdTKDApKTsKKyAKKyAgICAgeGY4NkNydGNTY3JlZW5Jbml0KHBTY3JlZW4pOworICNpZiBYT1JHX1ZFUlNJT05fQ1VSUkVOVCA+PSBYT1JHX1ZFUlNJT05fTlVNRVJJQygxLDUsMCwwLDApCitAQCAtNjI3LDcgKzYyOCw3IEBAIEdsYW1vU2NyZWVuSW5pdChpbnQgc2NybkluZGV4LCBTY3JlZW5QdHIgcFNjcmVlbiwgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorICAgICAvKiBjb2xvcm1hcCAqLworICAgICBwR2xhbW8tPmNvbG9ybWFwID0gTlVMTDsKKyAgICAgaWYgKCFtaUNyZWF0ZURlZkNvbG9ybWFwKHBTY3JlZW4pKSB7CistICAgICAgICB4Zjg2RHJ2TXNnKHNjcm5JbmRleCwgWF9FUlJPUiwKKysgICAgICAgIHhmODZEcnZNc2cocFNjcm4tPnNjcm5JbmRleCwgWF9FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgImludGVybmFsIGVycm9yOiBtaUNyZWF0ZURlZkNvbG9ybWFwIGZhaWxlZCAiCisgICAgICAgICAgICAgICAgICAgICJpbiBHbGFtb1NjcmVlbkluaXQoKVxuIik7CisgICAgICAgICByZXR1cm4gRkFMU0U7CitAQCAtNjUyLDkgKzY1Myw5IEBAIEdsYW1vU2NyZWVuSW5pdChpbnQgc2NybkluZGV4LCBTY3JlZW5QdHIgcFNjcmVlbiwgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorIH0KKyAKKyBzdGF0aWMgQm9vbAorLUdsYW1vQ2xvc2VTY3JlZW4oaW50IHNjcm5JbmRleCwgU2NyZWVuUHRyIHBTY3JlZW4pCisrR2xhbW9DbG9zZVNjcmVlbihDTE9TRV9TQ1JFRU5fQVJHU19ERUNMKQorIHsKKy0gICAgU2NybkluZm9QdHIgcFNjcm4gPSB4Zjg2U2NyZWVuc1tzY3JuSW5kZXhdOworKyAgICBTY3JuSW5mb1B0ciBwU2NybiA9IHhmODZTY3JlZW5Ub1Njcm4ocFNjcmVlbik7CisgICAgIEdsYW1vUHRyIHBHbGFtbyA9IEdsYW1vUFRSKHBTY3JuKTsKKyAKKyAgICAgaWYgKHBHbGFtby0+YWNjZWwpCitAQCAtNjc1LDcgKzY3Niw3IEBAIEdsYW1vQ2xvc2VTY3JlZW4oaW50IHNjcm5JbmRleCwgU2NyZWVuUHRyIHBTY3JlZW4pCisgCisgICAgIHBTY3JlZW4tPkNyZWF0ZVNjcmVlblJlc291cmNlcyA9IHBHbGFtby0+Q3JlYXRlU2NyZWVuUmVzb3VyY2VzOworICAgICBwU2NyZWVuLT5DbG9zZVNjcmVlbiA9IHBHbGFtby0+Q2xvc2VTY3JlZW47CistICAgIHJldHVybiAoKnBTY3JlZW4tPkNsb3NlU2NyZWVuKShzY3JuSW5kZXgsIHBTY3JlZW4pOworKyAgICByZXR1cm4gKCpwU2NyZWVuLT5DbG9zZVNjcmVlbikoQ0xPU0VfU0NSRUVOX0FSR1MpOworIH0KKyAKKyBzdGF0aWMgQm9vbAorQEAgLTgyNiw4ICs4MjcsOCBAQCBHbGFtb1Jlc3RvcmVIVyhTY3JuSW5mb1B0ciBwU2NybikgeworIH0KKyAKKyBzdGF0aWMgQm9vbAorLUdsYW1vRW50ZXJWVChpbnQgc2NybkluZGV4LCBpbnQgZmxhZ3MpIHsKKy0gICAgU2NybkluZm9QdHIgcFNjcm4gPSB4Zjg2U2NyZWVuc1tzY3JuSW5kZXhdOworK0dsYW1vRW50ZXJWVChWVF9GVU5DX0FSR1NfREVDTCkgeworKyAgICBTQ1JOX0lORk9fUFRSKGFyZyk7CisgICAgIEdsYW1vUHRyIHBHbGFtbyA9IEdsYW1vUFRSKHBTY3JuKTsKKyAKKyAgICAgR2xhbW9TYXZlSFcocFNjcm4pOworQEAgLTg0Miw4ICs4NDMsOCBAQCBHbGFtb0VudGVyVlQoaW50IHNjcm5JbmRleCwgaW50IGZsYWdzKSB7CisgfQorIAorIHN0YXRpYyB2b2lkCistR2xhbW9MZWF2ZVZUKGludCBzY3JuSW5kZXgsIGludCBmbGFncykgeworLSAgICBTY3JuSW5mb1B0ciBwU2NybiA9IHhmODZTY3JlZW5zW3Njcm5JbmRleF07CisrR2xhbW9MZWF2ZVZUKFZUX0ZVTkNfQVJHU19ERUNMKSB7CisrICAgIFNDUk5fSU5GT19QVFIoYXJnKTsKKyAgICAgR2xhbW9QdHIgcEdsYW1vID0gR2xhbW9QVFIocFNjcm4pOworIAorICAgICBpZiAocEdsYW1vLT5hY2NlbCkKKy0tIAorMS44LjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1nbGFtby8wMDA0LWdsYW1vLmgtdXNlLWNvbnN0LWZvci1qYnQ2azc0X3N0YXRlX3BhdGgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWdsYW1vLzAwMDQtZ2xhbW8uaC11c2UtY29uc3QtZm9yLWpidDZrNzRfc3RhdGVfcGF0aC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hODIwMzcxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1nbGFtby8wMDA0LWdsYW1vLmgtdXNlLWNvbnN0LWZvci1qYnQ2azc0X3N0YXRlX3BhdGgucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorRnJvbSAxODBhMDA2MzRmMzUxYTA5Y2VhYmM1Njk1ZDhlMWFjYzNlNTg1NTAxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogRnJpLCAxMiBEZWMgMjAxNCAxMjowMDoxMCArMDEwMAorU3ViamVjdDogW1BBVENIXSBnbGFtby5oOiB1c2UgY29uc3QgZm9yIGpidDZrNzRfc3RhdGVfcGF0aAorCisqIGZpeCBidWlsZCBpc3N1ZSB3aXRoIHhzZXJ2ZXIgMS4xNjoKKyAgZ2xhbW8tZHJpdmVyLmM6NTAxOjMyOiBlcnJvcjogYXNzaWdubWVudCBkaXNjYXJkcyAnY29uc3QnIHF1YWxpZmllciBmcm9tIHBvaW50ZXIgdGFyZ2V0IHR5cGUgWy1XZXJyb3JdCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9nbGFtby5oIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2dsYW1vLmggYi9zcmMvZ2xhbW8uaAoraW5kZXggNWZkNWMwNC4uNWUwNzJiZSAxMDA2NDQKKy0tLSBhL3NyYy9nbGFtby5oCisrKysgYi9zcmMvZ2xhbW8uaAorQEAgLTE0OCw3ICsxNDgsNyBAQCB0eXBlZGVmIHN0cnVjdCB7CisgI2VuZGlmCisgCisgI2lmZGVmIEpCVDZLNzRfU0VUX1NUQVRFCistICAgIGNoYXIgKmpidDZrNzRfc3RhdGVfcGF0aDsKKysgICAgY29uc3QgY2hhciAqamJ0Nms3NF9zdGF0ZV9wYXRoOworICAgICBjaGFyIHNhdmVkX2pidDZrNzRfc3RhdGVbMTRdOworICNlbmRpZgorIAorLS0gCisyLjEuMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWdsYW1vX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tZ2xhbW9fZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4YzY1NjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWdsYW1vX2dpdC5iYgpAQCAtMCwwICsxLDIzIEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveG9yZy1kcml2ZXItdmlkZW8uaW5jCitTVU1NQVJZID0gIlguT3JnIFggc2VydmVyIC0tIEdsYW1vIGRpc3BsYXkgZHJpdmVyIHdpdGggS01TIHN1cHBvcnQiCitERVBFTkRTICs9ICJsaWJkcm0iCitSREVQRU5EU18ke1BOfSArPSAieHNlcnZlci14b3JnLW1vZHVsZS1leGEiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQ4Y2JkOTlmZmY3NzNmOTJlODQ0OTQ4Zjc0ZWYwZGY4IgorCitQRSA9ICIyIgorUFYgPSAiMS4wLjArZ2l0ciR7U1JDUFZ9IgorUFIgPSAiJHtJTkNfUFJ9LjQiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0Lm9wZW5tb2tvLm9yZy9naXQveGY4Ni12aWRlby1nbGFtby5naXQ7YnJhbmNoPW1hc3RlciBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWdsYW1vLWttcy1kcml2ZXItZHJvcC11bnVzZWQteGY4Nl9jb25maWcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1maXgtYnVpbGQtd2l0aC1LTVMtZGlzYWJsZWQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1nbGFtby1kcml2ZXItYWRhcHQtdG8teHNlcnZlci0wLjEzLXZpZGVvLUFQSS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWdsYW1vLWRyaXZlci1yZW1vdmUtcmVmZXJlbmNlcy10by1taWJzdG9yZS5wYXRjaCBcICAgCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LWdsYW1vLmgtdXNlLWNvbnN0LWZvci1qYnQ2azc0X3N0YXRlX3BhdGgucGF0Y2ggXAorIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorU1JDUkVWID0gImNiOWVkMTcwMzVhNzllNDlkZGUyNmExZTdlMmJjNWYxMGZkODE0NGIiCisKK0VYVFJBX09FQ09ORiA9ICIgLS1kaXNhYmxlLWttcyAiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLW5vdXZlYXVfMS4wLjEyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1ub3V2ZWF1XzEuMC4xMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTc1MDdjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1ub3V2ZWF1XzEuMC4xMi5iYgpAQCAtMCwwICsxLDE3IEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveG9yZy1kcml2ZXItdmlkZW8uaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTQ2NDFkZWRkYWE4MGZlN2NhODhlOTQ0ZTFmZDk0YTk0IgorCitTVU1NQVJZID0gIlguT3JnIFggc2VydmVyIC0tIG5vdXZlYXUgdmlkZW8gZHJpdmVyIgorCitERVNDUklQVElPTiA9ICJPcGVuLXNvdXJjZSBYLm9yZyBncmFwaGljcyBkcml2ZXIgZm9yIE5WSURJQSBncmFwaGljcyIKKworREVQRU5EUyArPSAidmlydHVhbC9saWJ4MTEgbGlieHZtYyBkcm0geGY4NmRyaXByb3RvIGdscHJvdG8gXAorICAgICAgICAgICAgdmlydHVhbC9saWJnbCB4aW5lcmFtYXByb3RvIGxpYnBjaWFjY2VzcyIKK1JERVBFTkRTXyR7UE59ICs9ICJ4c2VydmVyLXhvcmctbW9kdWxlLWV4YSIKKworQ09NUEFUSUJMRV9IT1NUID0gJyhpLjg2fHg4Nl82NCkuKi1saW51eCcKKworU1JDX1VSSVttZDVzdW1dID0gImRjNzk5MTBjN2I5ZTMyMzIxY2VmYzdhZjI1MGM3NzY1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBlYTA1N2FkN2ZjMzFjYWJhMmQ0ZTQ2YzdlNDE4ZmUyYjNjNzYyYjA0ZmI4ZDM4MmY1MzM4MzM5N2ZkODM5MWUiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC9mb250LWFkb2JlLTEwMGRwaV8xLjAuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC9mb250LWFkb2JlLTEwMGRwaV8xLjAuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NWE0NDY2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L2ZvbnQtYWRvYmUtMTAwZHBpXzEuMC4zLmJiCkBAIC0wLDAgKzEsMTggQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1mb250LWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJBZG9iZSAxMDAgRFBJIGZvbnRzIgorSE9NRVBBR0UgPSAiaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL3hvcmcvZm9udC9hZG9iZS0xMDBkcGkvIgorU0VDVElPTiA9ICJ4MTEvZm9udCIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NWRmYTBmZGY0NTQ3M2I0Y2EwYWNmMzdkODU0ZGYxMGUiCisKK0RFUEVORFMgPSAidXRpbC1tYWNyb3MtbmF0aXZlIGZvbnQtdXRpbC1uYXRpdmUgYmRmdG9wY2YtbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gPSAiZW5jb2RpbmdzIGZvbnQtdXRpbCIKK1JERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSA9ICJmb250LXV0aWwtbmF0aXZlIgorCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjaworIyBkZXBlbmRzIG9uIGJkZnRvcGNmLW5hdGl2ZSAtPiB2aXJ0dWFsL2xpYngxMQorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjEzNDdjMzAzMWI3NGM5ZTkxZGM0ZGZhNTNiMTJmMTQzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImIyYzA4NDMzZWFiNWNiMjAyNDcwYWE5Zjc3OWVmZWZjZThkOWNhYjI1MzRmMzRmM2FhNGEzMWQwNTY3MWMwNTQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQvZm9udC1hZG9iZS11dG9waWEtMTAwZHBpXzEuMC40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L2ZvbnQtYWRvYmUtdXRvcGlhLTEwMGRwaV8xLjAuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNmUzZDJjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L2ZvbnQtYWRvYmUtdXRvcGlhLTEwMGRwaV8xLjAuNC5iYgpAQCAtMCwwICsxLDE4IEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctZm9udC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiQWRvYmUgVXRvcGlhIDEwMCBEUEkgZm9udHMiCitIT01FUEFHRSA9ICJodHRwOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcveG9yZy9mb250L2Fkb2JlLXV0b3BpYS0xMDBkcGkvIgorU0VDVElPTiA9ICJ4MTEvZm9udCIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZmExM2U3MDRiNzI0MWY2MGVmOTEwNWNjMDQxYjk3MzIiCisKK0RFUEVORFMgPSAidXRpbC1tYWNyb3MtbmF0aXZlIGZvbnQtdXRpbC1uYXRpdmUgYmRmdG9wY2YtbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gPSAiZW5jb2RpbmdzIGZvbnQtdXRpbCIKK1JERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSA9ICJmb250LXV0aWwtbmF0aXZlIgorCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjaworIyBkZXBlbmRzIG9uIGJkZnRvcGNmLW5hdGl2ZSAtPiB2aXJ0dWFsL2xpYngxMQorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjY2ZmI2ZGU1NjE2NDhhNmRjZTI3NTU2MjFkNmFlYTE3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQxNmY1ZTNmMjI3Y2M2ZGQwN2ExNjBhNzFmNDQzNTU5NjgyZGJjMzVmMWMwNTZhNTM4NTA4NWFhZWM0ZmFkYTUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQvZm9udC1iaC0xMDBkcGlfMS4wLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQvZm9udC1iaC0xMDBkcGlfMS4wLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDhlZDZiNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC9mb250LWJoLTEwMGRwaV8xLjAuMy5iYgpAQCAtMCwwICsxLDE4IEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctZm9udC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiQmlnZWxvdyAmIEhvbG1lcyAxMDAgRFBJIGZvbnRzIgorSE9NRVBBR0UgPSAiaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL3hvcmcvZm9udC9iaC0xMDBkcGkvIgorU0VDVElPTiA9ICJ4MTEvZm9udCIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9Y2ZmZDVlOWM0YjYxYjNkNzQxNjZjYTc0Yjk5ZTQ2MGUiCisKK0RFUEVORFMgPSAidXRpbC1tYWNyb3MtbmF0aXZlIGZvbnQtdXRpbC1uYXRpdmUgYmRmdG9wY2YtbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gPSAiZW5jb2RpbmdzIGZvbnQtdXRpbCIKK1JERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSA9ICJmb250LXV0aWwtbmF0aXZlIgorCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjaworIyBkZXBlbmRzIG9uIGJkZnRvcGNmLW5hdGl2ZSAtPiB2aXJ0dWFsL2xpYngxMQorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjlmMTFhZGUwODlkNjg5YjlkNTllMGY0N2QyNmYzOWNkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjIzYzA3MTYyNzA4ZTRiNzllYjMzMDk1YzhiZmE2MmM3ODM3MTdhOTQzMTI1NGJiZjQ0ODYzNzM0ZWEyMzk0ODEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQvZm9udC1iaC1sdWNpZGF0eXBld3JpdGVyLTEwMGRwaV8xLjAuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC9mb250LWJoLWx1Y2lkYXR5cGV3cml0ZXItMTAwZHBpXzEuMC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkZWQ0MWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQvZm9udC1iaC1sdWNpZGF0eXBld3JpdGVyLTEwMGRwaV8xLjAuMy5iYgpAQCAtMCwwICsxLDE4IEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctZm9udC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiQmlnZWxvdyAmIEhvbG1lcyBMdWNpZGEgVHlwZXdyaXRlciAxMDAgRFBJIGZvbnRzIgorSE9NRVBBR0UgPSAiaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL3hvcmcvZm9udC9iaC1sdWNpZGF0eXBld3JpdGVyLTEwMGRwaS8iCitTRUNUSU9OID0gIngxMS9mb250IgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wZDIyMWE5Y2QxNDQ4MDZjYjQ2OTczNWNjNDc3NTkzOSIKKworREVQRU5EUyA9ICJ1dGlsLW1hY3Jvcy1uYXRpdmUgZm9udC11dGlsLW5hdGl2ZSBiZGZ0b3BjZi1uYXRpdmUiCitSREVQRU5EU18ke1BOfSA9ICJlbmNvZGluZ3MgZm9udC11dGlsIgorUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlID0gImZvbnQtdXRpbC1uYXRpdmUiCisKK2luaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisjIGRlcGVuZHMgb24gYmRmdG9wY2YtbmF0aXZlIC0+IHZpcnR1YWwvbGlieDExCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYzhiNzNhNTNkY2VmZTNlOGQzOTA3ZDM1MDBlNDg0YTkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjJhODMzNjNjMjUzNjA5NWZkYTQ5ZDI2MGQyMWUwODQ3Njc1Njc2ZTRlMzQxNTA1NDA2NGNiZGZmYTY0MWZiYiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC9mb250LWJpdHN0cmVhbS0xMDBkcGlfMS4wLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQvZm9udC1iaXRzdHJlYW0tMTAwZHBpXzEuMC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4Y2ZiNjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQvZm9udC1iaXRzdHJlYW0tMTAwZHBpXzEuMC4zLmJiCkBAIC0wLDAgKzEsMTggQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1mb250LWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJCaXRzdHJlYW0gMTAwIERQSSBmb250cyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy94b3JnL2ZvbnQvYml0c3RyZWFtLTEwMGRwaS8iCitTRUNUSU9OID0gIngxMS9mb250IgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zMDMzMDgxMjMyNGZmOWQ5YmQ5ZWE2NDViYjk0NDQyNyIKKworREVQRU5EUyA9ICJ1dGlsLW1hY3Jvcy1uYXRpdmUgZm9udC11dGlsLW5hdGl2ZSBiZGZ0b3BjZi1uYXRpdmUiCitSREVQRU5EU18ke1BOfSA9ICJlbmNvZGluZ3MgZm9udC11dGlsIgorUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlID0gImZvbnQtdXRpbC1uYXRpdmUiCisKK2luaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisjIGRlcGVuZHMgb24gYmRmdG9wY2YtbmF0aXZlIC0+IHZpcnR1YWwvbGlieDExCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNmIyMjNhNTRiMTVlY2JkNWExYmM1MjMxMmFkNzkwZDgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWJlMGQ3NDQ0ZTNkN2M4ZGE3NjQyMDU1YWMyMjA2ZjAxOTBlZTA2MDcwMGQ5OWNkODc2ZjhmYzk5NjRjYjZjZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC9mb250LWN1cnNvci1taXNjXzEuMC4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L2ZvbnQtY3Vyc29yLW1pc2NfMS4wLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDQyNWNlNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC9mb250LWN1cnNvci1taXNjXzEuMC4zLmJiCkBAIC0wLDAgKzEsMTcgQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1mb250LWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJYLm9yZyBjdXJzb3IgZm9udHMiCitIT01FUEFHRSA9ICJodHRwOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcveG9yZy9mb250L2N1cnNvci1taXNjLyIKK1NFQ1RJT04gPSAieDExL2ZvbnQiCitMSUNFTlNFID0gIlBEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGIzMmNjYWMzYWQyNWU3NWU2ODQ3OGRlYjc3ODAyNjUiCisKK0RFUEVORFMgPSAidXRpbC1tYWNyb3MtbmF0aXZlIGZvbnQtdXRpbC1uYXRpdmUgYmRmdG9wY2YtbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gPSAiZW5jb2RpbmdzIGZvbnQtdXRpbCIKKworaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKyMgZGVwZW5kcyBvbiBiZGZ0b3BjZi1uYXRpdmUgLT4gdmlydHVhbC9saWJ4MTEKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzZTAwNjlkNGYxNzhhMzk5Y2ZmZTU2ZGFhOTVjMmI2MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxNzM2M2ViMzVlZWNlMmUwODE0NGRhNWYwNjBjNzAxMDNiNTlkMDk3MmI0ZjRkNzdmZDg0YzlhN2EyZGJhNjM1IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L2ZvbnQtbWlzYy1taXNjXzEuMS4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L2ZvbnQtbWlzYy1taXNjXzEuMS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3YzI4NGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQvZm9udC1taXNjLW1pc2NfMS4xLjIuYmIKQEAgLTAsMCArMSwxNyBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLWZvbnQtY29tbW9uLmluYworCitTVU1NQVJZID0gIlgub3JnIG1pc2NlbGxhbmVvdXMgZm9udHMiCitIT01FUEFHRSA9ICJodHRwOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcveG9yZy9mb250L21pc2MtbWlzYy8iCitTRUNUSU9OID0gIngxMS9mb250IgorTElDRU5TRSA9ICJQRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTIwMGM1MDdmNTk1ZWU5NzAwOGM3YzVjM2U5NGFiOWE4IgorCitERVBFTkRTID0gInV0aWwtbWFjcm9zLW5hdGl2ZSBmb250LXV0aWwtbmF0aXZlIGJkZnRvcGNmLW5hdGl2ZSIKK1JERVBFTkRTXyR7UE59ID0gImVuY29kaW5ncyBmb250LXV0aWwiCisKK2luaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisjIGRlcGVuZHMgb24gYmRmdG9wY2YtbmF0aXZlIC0+IHZpcnR1YWwvbGlieDExCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYzg4ZWI0NGIzYjkwM2Q3OWZiNDRiODYwYTIxM2U2MjMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjhlNzc5NDBlNGUxNzY5ZGM0N2VmMTgwNTkxOGQ4YzliZTM3YzcwODczNTgzMmEwNzIwNDI1OGJhY2MxMTc5NCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLWZvbnRzLTEwMGRwaS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLWZvbnRzLTEwMGRwaS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNTg0MTZiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctZm9udHMtMTAwZHBpLmJiCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAiWG9yZyAxMDAgRFBJIGZvbnQgc2V0IgorTElDRU5TRSA9ICJDdXN0b20iCisKK2luaGVyaXQgcGFja2FnZWdyb3VwIGRpc3Ryb19mZWF0dXJlc19jaGVjaworIyByZGVwZW5kcyBvbiBmb250IHJlY2lwZXMgd2l0aCB0aGlzIHJlc3RyaWN0aW9uCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitSREVQRU5EU18ke1BOfSA9ICJcCisJZm9udC1hZG9iZS0xMDBkcGkgXAorCWZvbnQtYWRvYmUtdXRvcGlhLTEwMGRwaSBcCisJZm9udC1iaC0xMDBkcGkgXAorCWZvbnQtYmgtbHVjaWRhdHlwZXdyaXRlci0xMDBkcGkgXAorCWZvbnQtYml0c3RyZWFtLTEwMGRwaSBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJsYnh1dGlsLTEuMS4wL21rZzNzdGF0ZXMtMS4xLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlibGJ4dXRpbC0xLjEuMC9ta2czc3RhdGVzLTEuMS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOWY0YTYzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlibGJ4dXRpbC0xLjEuMC9ta2czc3RhdGVzLTEuMS5wYXRjaApAQCAtMCwwICsxLDU1IEBACitkaWZmIC11TnIgbGlibGJ4dXRpbC0xLjEuMC5vcmlnL2NvbmZpZ3VyZS5hYyBsaWJsYnh1dGlsLTEuMS4wL2NvbmZpZ3VyZS5hYworLS0tIGxpYmxieHV0aWwtMS4xLjAub3JpZy9jb25maWd1cmUuYWMJMjAwOS0xMi0wNCAyMzo1MjowNC4wMDAwMDAwMDAgKzAxMDAKKysrKyBsaWJsYnh1dGlsLTEuMS4wL2NvbmZpZ3VyZS5hYwkyMDA5LTEyLTE2IDEwOjQ1OjAwLjAwMDAwMDAwMCArMDEwMAorQEAgLTUwLDQgKzUwLDUgQEAKKyAKKyBBQ19PVVRQVVQoW01ha2VmaWxlCisgCSAgIHNyYy9NYWtlZmlsZQorKwkgICBzcmMvaW1hZ2UvTWFrZWZpbGUKKyAJICAgbGJ4dXRpbC5wY10pCitkaWZmIC11TnIgbGlibGJ4dXRpbC0xLjEuMC5vcmlnL3NyYy9pbWFnZS9NYWtlZmlsZS5hbSBsaWJsYnh1dGlsLTEuMS4wL3NyYy9pbWFnZS9NYWtlZmlsZS5hbQorLS0tIGxpYmxieHV0aWwtMS4xLjAub3JpZy9zcmMvaW1hZ2UvTWFrZWZpbGUuYW0JMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBsaWJsYnh1dGlsLTEuMS4wL3NyYy9pbWFnZS9NYWtlZmlsZS5hbQkyMDA5LTEyLTE2IDEwOjQ1OjAwLjAwMDAwMDAwMCArMDEwMAorQEAgLTAsMCArMSwxNSBAQAorKyMgZXZpbCBoYWNrCisrQ0ZMQUdTPSQoQ0ZMQUdTX0ZPUl9CVUlMRCkKKytDUFBGTEFHUz0kKENQUEZMQUdTX0ZPUl9CVUlMRCkKKytMREZMQUdTPSQoTERGTEFHU19GT1JfQlVJTEQpCisrCisrQ0M9JChDQ19GT1JfQlVJTEQpCisrTElCVE9PTCA9IEBMSUJUT09MQCAtLXRhZz1DQworKworK25vaW5zdF9QUk9HUkFNUyA9IG1rZzNzdGF0ZXMKKysKKytta2czc3RhdGVzX1NPVVJDRVMgPQkJCQlcCisrCW1rZzNzdGF0ZXMuYworKworK21rZzNzdGF0ZXNfQ0ZMQUdTPSQoQ0ZMQUdTX0ZPUl9CVUlMRCkKKytta2czc3RhdGVzX0xERkxBR1M9JChMREZMQUdTX0ZPUl9CVUlMRCkKK2RpZmYgLXVOciBsaWJsYnh1dGlsLTEuMS4wLm9yaWcvc3JjL01ha2VmaWxlLmFtIGxpYmxieHV0aWwtMS4xLjAvc3JjL01ha2VmaWxlLmFtCistLS0gbGlibGJ4dXRpbC0xLjEuMC5vcmlnL3NyYy9NYWtlZmlsZS5hbQkyMDA5LTEyLTE2IDEwOjQ4OjExLjAwMDAwMDAwMCArMDEwMAorKysrIGxpYmxieHV0aWwtMS4xLjAvc3JjL01ha2VmaWxlLmFtCTIwMDktMTItMTYgMTA6NDY6NDcuMDAwMDAwMDAwICswMTAwCitAQCAtMywxMCArMyw3IEBACisgQU1fQ0ZMQUdTID0gJChDV0FSTkZMQUdTKSAkKExCWFVUSUxfQ0ZMQUdTKQorIElOQ0xVREVTID0gLUkkKHRvcF9zcmNkaXIpL2luY2x1ZGUKKyAKKy1ub2luc3RfUFJPR1JBTVMgPSBta2czc3RhdGVzCistCistbWtnM3N0YXRlc19TT1VSQ0VTID0JCQkJXAorLQkkKHNyY2RpcikvaW1hZ2UvbWtnM3N0YXRlcy5jCisrU1VCRElSUyA9IGltYWdlCisgCisgbGlibGJ4dXRpbF9sYV9TT1VSQ0VTID0JCQkJXAorIAkkKHNyY2RpcikvbGJ4X3psaWIvcmVxc3RhdHMuaAkJXAorQEAgLTM4LDkgKzM1LDggQEAKKyAKKyAkKHNyY2RpcikvaW1hZ2UvZGZheGc0MmQuYzogZzNzdGF0ZXMuaAorIAorLWczc3RhdGVzLmg6IG1rZzNzdGF0ZXMKKy0JLXJtIC1mIGczc3RhdGVzLmgKKy0JJChBTV9WX0dFTikgLi9ta2czc3RhdGVzIC1jID4gZzNzdGF0ZXMuaF8gJiYgbXYgZzNzdGF0ZXMuaF8gZzNzdGF0ZXMuaAorK2czc3RhdGVzLmg6IGltYWdlL21rZzNzdGF0ZXMKKysJJChBTV9WX0dFTikgLi9pbWFnZS9ta2czc3RhdGVzIC1jID4gZzNzdGF0ZXMuaF8gJiYgbXYgZzNzdGF0ZXMuaF8gZzNzdGF0ZXMuaAorIAorIGxpYmxieHV0aWxfbGFfTERGTEFHUyA9IC12ZXJzaW9uLW51bWJlciAxOjA6MCAtbm8tdW5kZWZpbmVkCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJsYnh1dGlsXzEuMS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlibGJ4dXRpbF8xLjEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDI2ZDE0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlibGJ4dXRpbF8xLjEuMC5iYgpAQCAtMCwwICsxLDE0IEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIveG9yZy1saWItY29tbW9uLmluYworCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMGQ1YmRjOThmN2ViYWIzYjZjMzc5MWQ5YmY0MDkwNyIKKworU1VNTUFSWSA9ICJYRklYRVMgRXh0ZW5zaW9uIgorREVQRU5EUyArPSAiIHhleHRwcm90byB4cHJvdG8gemxpYiIKK1BFID0gIjEiCitQUiA9ICJyMTEiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9ta2czc3RhdGVzLTEuMS5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICIyNzMzMjlhNzhjMmU5ZWExODlhYzQxNmM3ZmRlOTRhMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjNmI2ZmY3ODU4ZWM2MTljYWZhODIwNWRlYmNhNmJmNzhjNTYxMGEyODQ0YTc4MmVkNjQzYzdmZDAxN2NmOGFlIgorCitleHBvcnQgQ0NfRk9SX0JVSUxEID0gImdjYyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhhd18xLjAuMTMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4YXdfMS4wLjEzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiYTVhYzMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4YXdfMS4wLjEzLmJiCkBAIC0wLDAgKzEsMjggQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi94b3JnLWxpYi1jb21tb24uaW5jCitTVU1NQVJZID0gIlggQXRoZW5hIFdpZGdldCBTZXQiCitERVBFTkRTICs9ICJ4cHJvdG8gdmlydHVhbC9saWJ4MTEgbGlieGV4dCB4ZXh0cHJvdG8gbGlieHQgbGlieG11IGxpYnhwbSBsaWJ4YXUgeG1sdG8tbmF0aXZlIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xYzY1NzE5ZDQyOTAwYmI4MWI4M2U4MjkzYzIwYTM2NCIKKworUEUgPSAiMSIKK1BSID0gInIyIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZTVlMDZlYjE0YTYwOGI1ODc0NmJkZDFjMGJkN2I4ZTMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGVmODA2NzMxMjU3MTI5MmNjYzJiYmU5NGM0MTEwOWRjZjAyMmVhNWE0ZWM3MTY1NmE4M2Q4Y2NlOWVkYjBjZCIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIGxuIC1zZiBsaWJYYXc2LnNvLjYgJHtEfSR7bGliZGlyfS9saWJYYXcuc28uNgorICAgIGxuIC1zZiBsaWJYYXc3LnNvLjcgJHtEfSR7bGliZGlyfS9saWJYYXcuc28uNworICAgIGxuIC1zZiBsaWJYYXc3LnNvLjcgJHtEfSR7bGliZGlyfS9saWJYYXcuc28KK30KKworUEFDS0FHRVMgPSsgImxpYnhhdzYgbGlieGF3NyBsaWJ4YXc4IgorCitGSUxFU19saWJ4YXc2ID0gIiR7bGliZGlyfS9saWJYYXcqLnNvLjYqIgorRklMRVNfbGlieGF3NyA9ICIke2xpYmRpcn0vbGliWGF3Ki5zby43KiIKK0ZJTEVTX2xpYnhhdzggPSAiJHtsaWJkaXJ9L2xpYlhhdzguc28uOCoiCisKKyMgQXZvaWQgZGVwZW5kZW5jeSBvbiBsaWJ4YXcgYXMgaXQgaXMgbm90IGJ1aWxkCitSREVQRU5EU18ke1BOfS1kZXYgPSAiIgorCitYT1JHX1BOID0gImxpYlhhdyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhrYnVpXzEuMC4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGtidWlfMS4wLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjZhNzE3ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhrYnVpXzEuMC4yLmJiCkBAIC0wLDAgKzEsMTAgQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi94b3JnLWxpYi1jb21tb24uaW5jCitTVU1NQVJZID0gIlgxMSBrZXlib2FyZCBVSSBwcmVzZW50YXRpb24gbGlicmFyeSIKK0xJQ0VOU0UgPSAiR1BMIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NDY0MWRlZGRhYTgwZmU3Y2E4OGU5NDRlMWZkOTRhOTQiCitERVBFTkRTICs9ICJ2aXJ0dWFsL2xpYngxMSBsaWJ4dCBsaWJ4a2JmaWxlIgorUEUgPSAiMSIKK1BSID0gInIxMCIKKworU1JDX1VSSVttZDVzdW1dID0gIjExNDNlNDU2Zjc0MjllMThlODhmMmVhZGIyZjJiNmIxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjIwYzIzMTAxZDYzMjM0ZWU1ZjZkNjk2ZGZhMDY5YjI5YzZjNThlMzllZmY0MzNiY2Q3NzA1YjUwYjNmZmEyMTQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLWNvbW1vbi94c2VydmVyLWNvbW1vbi0xLjM0LzAwMDEtQ09QWUlORy1hZGQtR1BMdjItbGljZW5zZS1maWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDAxLUNPUFlJTkctYWRkLUdQTHYyLWxpY2Vuc2UtZmlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOWRkNzFhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDAxLUNPUFlJTkctYWRkLUdQTHYyLWxpY2Vuc2UtZmlsZS5wYXRjaApAQCAtMCwwICsxLDM2NCBAQAorRnJvbSA4MzRmYTA2OTIwZjg4Y2VlZGY3NTI5NjRjOGUyOTZjNjUzZDU0MWU0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogWXUgS2UgPGtlLnl1QGludGVsLmNvbT4KK0RhdGU6IFdlZCwgMTEgQXByIDIwMTIgMTQ6MjY6MTYgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAwMS8xMl0gQ09QWUlORzogYWRkIEdQTHYyIGxpY2Vuc2UgZmlsZQorCit0aGlzIGlzIGEgbG9jYWwgZmlsZSByZWNpcGUgYW5kIHRoZSBsaWNlbnNlIGZpbGUgaXMgbWlzc2luZy5JbiBvcmRlcgordG8gcGFzcyB0aGUgbGljZW5zZSBjaGVja3N1bSBjaGVja2luZywgdGhlIGxpY2Vuc2UgZmlsZSBpcyBuZWVkZWQuIFNvCit0aGlzIHBhdGNoIGFkZCB0aGUgR1BMdjIgbGljZW5zZSBmaWxlLgorCitTaWduZWQtb2ZmLWJ5OiBZdSBLZSA8a2UueXVAaW50ZWwuY29tPgorU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgQ09QWUlORyB8ICAzMzkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgMSBmaWxlcyBjaGFuZ2VkLCAzMzkgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgQ09QWUlORworCitkaWZmIC0tZ2l0IGEvQ09QWUlORyBiL0NPUFlJTkcKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5kNTExOTA1CistLS0gL2Rldi9udWxsCisrKysgYi9DT1BZSU5HCitAQCAtMCwwICsxLDMzOSBAQAorKwkJICAgIEdOVSBHRU5FUkFMIFBVQkxJQyBMSUNFTlNFCisrCQkgICAgICAgVmVyc2lvbiAyLCBKdW5lIDE5OTEKKysKKysgQ29weXJpZ2h0IChDKSAxOTg5LCAxOTkxIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKysgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQQorKyBFdmVyeW9uZSBpcyBwZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMKKysgb2YgdGhpcyBsaWNlbnNlIGRvY3VtZW50LCBidXQgY2hhbmdpbmcgaXQgaXMgbm90IGFsbG93ZWQuCisrCisrCQkJICAgIFByZWFtYmxlCisrCisrICBUaGUgbGljZW5zZXMgZm9yIG1vc3Qgc29mdHdhcmUgYXJlIGRlc2lnbmVkIHRvIHRha2UgYXdheSB5b3VyCisrZnJlZWRvbSB0byBzaGFyZSBhbmQgY2hhbmdlIGl0LiAgQnkgY29udHJhc3QsIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKytMaWNlbnNlIGlzIGludGVuZGVkIHRvIGd1YXJhbnRlZSB5b3VyIGZyZWVkb20gdG8gc2hhcmUgYW5kIGNoYW5nZSBmcmVlCisrc29mdHdhcmUtLXRvIG1ha2Ugc3VyZSB0aGUgc29mdHdhcmUgaXMgZnJlZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFRoaXMKKytHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFwcGxpZXMgdG8gbW9zdCBvZiB0aGUgRnJlZSBTb2Z0d2FyZQorK0ZvdW5kYXRpb24ncyBzb2Z0d2FyZSBhbmQgdG8gYW55IG90aGVyIHByb2dyYW0gd2hvc2UgYXV0aG9ycyBjb21taXQgdG8KKyt1c2luZyBpdC4gIChTb21lIG90aGVyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBzb2Z0d2FyZSBpcyBjb3ZlcmVkIGJ5CisrdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpbnN0ZWFkLikgIFlvdSBjYW4gYXBwbHkgaXQgdG8KKyt5b3VyIHByb2dyYW1zLCB0b28uCisrCisrICBXaGVuIHdlIHNwZWFrIG9mIGZyZWUgc29mdHdhcmUsIHdlIGFyZSByZWZlcnJpbmcgdG8gZnJlZWRvbSwgbm90CisrcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQorK2hhdmUgdGhlIGZyZWVkb20gdG8gZGlzdHJpYnV0ZSBjb3BpZXMgb2YgZnJlZSBzb2Z0d2FyZSAoYW5kIGNoYXJnZSBmb3IKKyt0aGlzIHNlcnZpY2UgaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQKKytpZiB5b3Ugd2FudCBpdCwgdGhhdCB5b3UgY2FuIGNoYW5nZSB0aGUgc29mdHdhcmUgb3IgdXNlIHBpZWNlcyBvZiBpdAorK2luIG5ldyBmcmVlIHByb2dyYW1zOyBhbmQgdGhhdCB5b3Uga25vdyB5b3UgY2FuIGRvIHRoZXNlIHRoaW5ncy4KKysKKysgIFRvIHByb3RlY3QgeW91ciByaWdodHMsIHdlIG5lZWQgdG8gbWFrZSByZXN0cmljdGlvbnMgdGhhdCBmb3JiaWQKKythbnlvbmUgdG8gZGVueSB5b3UgdGhlc2UgcmlnaHRzIG9yIHRvIGFzayB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuCisrVGhlc2UgcmVzdHJpY3Rpb25zIHRyYW5zbGF0ZSB0byBjZXJ0YWluIHJlc3BvbnNpYmlsaXRpZXMgZm9yIHlvdSBpZiB5b3UKKytkaXN0cmlidXRlIGNvcGllcyBvZiB0aGUgc29mdHdhcmUsIG9yIGlmIHlvdSBtb2RpZnkgaXQuCisrCisrICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCisrZ3JhdGlzIG9yIGZvciBhIGZlZSwgeW91IG11c3QgZ2l2ZSB0aGUgcmVjaXBpZW50cyBhbGwgdGhlIHJpZ2h0cyB0aGF0CisreW91IGhhdmUuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUgb3IgY2FuIGdldCB0aGUKKytzb3VyY2UgY29kZS4gIEFuZCB5b3UgbXVzdCBzaG93IHRoZW0gdGhlc2UgdGVybXMgc28gdGhleSBrbm93IHRoZWlyCisrcmlnaHRzLgorKworKyAgV2UgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczogKDEpIGNvcHlyaWdodCB0aGUgc29mdHdhcmUsIGFuZAorKygyKSBvZmZlciB5b3UgdGhpcyBsaWNlbnNlIHdoaWNoIGdpdmVzIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksCisrZGlzdHJpYnV0ZSBhbmQvb3IgbW9kaWZ5IHRoZSBzb2Z0d2FyZS4KKysKKysgIEFsc28sIGZvciBlYWNoIGF1dGhvcidzIHByb3RlY3Rpb24gYW5kIG91cnMsIHdlIHdhbnQgdG8gbWFrZSBjZXJ0YWluCisrdGhhdCBldmVyeW9uZSB1bmRlcnN0YW5kcyB0aGF0IHRoZXJlIGlzIG5vIHdhcnJhbnR5IGZvciB0aGlzIGZyZWUKKytzb2Z0d2FyZS4gIElmIHRoZSBzb2Z0d2FyZSBpcyBtb2RpZmllZCBieSBzb21lb25lIGVsc2UgYW5kIHBhc3NlZCBvbiwgd2UKKyt3YW50IGl0cyByZWNpcGllbnRzIHRvIGtub3cgdGhhdCB3aGF0IHRoZXkgaGF2ZSBpcyBub3QgdGhlIG9yaWdpbmFsLCBzbworK3RoYXQgYW55IHByb2JsZW1zIGludHJvZHVjZWQgYnkgb3RoZXJzIHdpbGwgbm90IHJlZmxlY3Qgb24gdGhlIG9yaWdpbmFsCisrYXV0aG9ycycgcmVwdXRhdGlvbnMuCisrCisrICBGaW5hbGx5LCBhbnkgZnJlZSBwcm9ncmFtIGlzIHRocmVhdGVuZWQgY29uc3RhbnRseSBieSBzb2Z0d2FyZQorK3BhdGVudHMuICBXZSB3aXNoIHRvIGF2b2lkIHRoZSBkYW5nZXIgdGhhdCByZWRpc3RyaWJ1dG9ycyBvZiBhIGZyZWUKKytwcm9ncmFtIHdpbGwgaW5kaXZpZHVhbGx5IG9idGFpbiBwYXRlbnQgbGljZW5zZXMsIGluIGVmZmVjdCBtYWtpbmcgdGhlCisrcHJvZ3JhbSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgd2UgaGF2ZSBtYWRlIGl0IGNsZWFyIHRoYXQgYW55CisrcGF0ZW50IG11c3QgYmUgbGljZW5zZWQgZm9yIGV2ZXJ5b25lJ3MgZnJlZSB1c2Ugb3Igbm90IGxpY2Vuc2VkIGF0IGFsbC4KKysKKysgIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCisrbW9kaWZpY2F0aW9uIGZvbGxvdy4KKysKKysJCSAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQorKyAgIFRFUk1TIEFORCBDT05ESVRJT05TIEZPUiBDT1BZSU5HLCBESVNUUklCVVRJT04gQU5EIE1PRElGSUNBVElPTgorKworKyAgMC4gVGhpcyBMaWNlbnNlIGFwcGxpZXMgdG8gYW55IHByb2dyYW0gb3Igb3RoZXIgd29yayB3aGljaCBjb250YWlucworK2Egbm90aWNlIHBsYWNlZCBieSB0aGUgY29weXJpZ2h0IGhvbGRlciBzYXlpbmcgaXQgbWF5IGJlIGRpc3RyaWJ1dGVkCisrdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIFRoZSAiUHJvZ3JhbSIsIGJlbG93LAorK3JlZmVycyB0byBhbnkgc3VjaCBwcm9ncmFtIG9yIHdvcmssIGFuZCBhICJ3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtIgorK21lYW5zIGVpdGhlciB0aGUgUHJvZ3JhbSBvciBhbnkgZGVyaXZhdGl2ZSB3b3JrIHVuZGVyIGNvcHlyaWdodCBsYXc6CisrdGhhdCBpcyB0byBzYXksIGEgd29yayBjb250YWluaW5nIHRoZSBQcm9ncmFtIG9yIGEgcG9ydGlvbiBvZiBpdCwKKytlaXRoZXIgdmVyYmF0aW0gb3Igd2l0aCBtb2RpZmljYXRpb25zIGFuZC9vciB0cmFuc2xhdGVkIGludG8gYW5vdGhlcgorK2xhbmd1YWdlLiAgKEhlcmVpbmFmdGVyLCB0cmFuc2xhdGlvbiBpcyBpbmNsdWRlZCB3aXRob3V0IGxpbWl0YXRpb24gaW4KKyt0aGUgdGVybSAibW9kaWZpY2F0aW9uIi4pICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4KKysKKytBY3Rpdml0aWVzIG90aGVyIHRoYW4gY29weWluZywgZGlzdHJpYnV0aW9uIGFuZCBtb2RpZmljYXRpb24gYXJlIG5vdAorK2NvdmVyZWQgYnkgdGhpcyBMaWNlbnNlOyB0aGV5IGFyZSBvdXRzaWRlIGl0cyBzY29wZS4gIFRoZSBhY3Qgb2YKKytydW5uaW5nIHRoZSBQcm9ncmFtIGlzIG5vdCByZXN0cmljdGVkLCBhbmQgdGhlIG91dHB1dCBmcm9tIHRoZSBQcm9ncmFtCisraXMgY292ZXJlZCBvbmx5IGlmIGl0cyBjb250ZW50cyBjb25zdGl0dXRlIGEgd29yayBiYXNlZCBvbiB0aGUKKytQcm9ncmFtIChpbmRlcGVuZGVudCBvZiBoYXZpbmcgYmVlbiBtYWRlIGJ5IHJ1bm5pbmcgdGhlIFByb2dyYW0pLgorK1doZXRoZXIgdGhhdCBpcyB0cnVlIGRlcGVuZHMgb24gd2hhdCB0aGUgUHJvZ3JhbSBkb2VzLgorKworKyAgMS4gWW91IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzCisrc291cmNlIGNvZGUgYXMgeW91IHJlY2VpdmUgaXQsIGluIGFueSBtZWRpdW0sIHByb3ZpZGVkIHRoYXQgeW91CisrY29uc3BpY3VvdXNseSBhbmQgYXBwcm9wcmlhdGVseSBwdWJsaXNoIG9uIGVhY2ggY29weSBhbiBhcHByb3ByaWF0ZQorK2NvcHlyaWdodCBub3RpY2UgYW5kIGRpc2NsYWltZXIgb2Ygd2FycmFudHk7IGtlZXAgaW50YWN0IGFsbCB0aGUKKytub3RpY2VzIHRoYXQgcmVmZXIgdG8gdGhpcyBMaWNlbnNlIGFuZCB0byB0aGUgYWJzZW5jZSBvZiBhbnkgd2FycmFudHk7CisrYW5kIGdpdmUgYW55IG90aGVyIHJlY2lwaWVudHMgb2YgdGhlIFByb2dyYW0gYSBjb3B5IG9mIHRoaXMgTGljZW5zZQorK2Fsb25nIHdpdGggdGhlIFByb2dyYW0uCisrCisrWW91IG1heSBjaGFyZ2UgYSBmZWUgZm9yIHRoZSBwaHlzaWNhbCBhY3Qgb2YgdHJhbnNmZXJyaW5nIGEgY29weSwgYW5kCisreW91IG1heSBhdCB5b3VyIG9wdGlvbiBvZmZlciB3YXJyYW50eSBwcm90ZWN0aW9uIGluIGV4Y2hhbmdlIGZvciBhIGZlZS4KKysKKysgIDIuIFlvdSBtYXkgbW9kaWZ5IHlvdXIgY29weSBvciBjb3BpZXMgb2YgdGhlIFByb2dyYW0gb3IgYW55IHBvcnRpb24KKytvZiBpdCwgdGh1cyBmb3JtaW5nIGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgYW5kIGNvcHkgYW5kCisrZGlzdHJpYnV0ZSBzdWNoIG1vZGlmaWNhdGlvbnMgb3Igd29yayB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbiAxCisrYWJvdmUsIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gbWVldCBhbGwgb2YgdGhlc2UgY29uZGl0aW9uczoKKysKKysgICAgYSkgWW91IG11c3QgY2F1c2UgdGhlIG1vZGlmaWVkIGZpbGVzIHRvIGNhcnJ5IHByb21pbmVudCBub3RpY2VzCisrICAgIHN0YXRpbmcgdGhhdCB5b3UgY2hhbmdlZCB0aGUgZmlsZXMgYW5kIHRoZSBkYXRlIG9mIGFueSBjaGFuZ2UuCisrCisrICAgIGIpIFlvdSBtdXN0IGNhdXNlIGFueSB3b3JrIHRoYXQgeW91IGRpc3RyaWJ1dGUgb3IgcHVibGlzaCwgdGhhdCBpbgorKyAgICB3aG9sZSBvciBpbiBwYXJ0IGNvbnRhaW5zIG9yIGlzIGRlcml2ZWQgZnJvbSB0aGUgUHJvZ3JhbSBvciBhbnkKKysgICAgcGFydCB0aGVyZW9mLCB0byBiZSBsaWNlbnNlZCBhcyBhIHdob2xlIGF0IG5vIGNoYXJnZSB0byBhbGwgdGhpcmQKKysgICAgcGFydGllcyB1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlLgorKworKyAgICBjKSBJZiB0aGUgbW9kaWZpZWQgcHJvZ3JhbSBub3JtYWxseSByZWFkcyBjb21tYW5kcyBpbnRlcmFjdGl2ZWx5CisrICAgIHdoZW4gcnVuLCB5b3UgbXVzdCBjYXVzZSBpdCwgd2hlbiBzdGFydGVkIHJ1bm5pbmcgZm9yIHN1Y2gKKysgICAgaW50ZXJhY3RpdmUgdXNlIGluIHRoZSBtb3N0IG9yZGluYXJ5IHdheSwgdG8gcHJpbnQgb3IgZGlzcGxheSBhbgorKyAgICBhbm5vdW5jZW1lbnQgaW5jbHVkaW5nIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UgYW5kIGEKKysgICAgbm90aWNlIHRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgKG9yIGVsc2UsIHNheWluZyB0aGF0IHlvdSBwcm92aWRlCisrICAgIGEgd2FycmFudHkpIGFuZCB0aGF0IHVzZXJzIG1heSByZWRpc3RyaWJ1dGUgdGhlIHByb2dyYW0gdW5kZXIKKysgICAgdGhlc2UgY29uZGl0aW9ucywgYW5kIHRlbGxpbmcgdGhlIHVzZXIgaG93IHRvIHZpZXcgYSBjb3B5IG9mIHRoaXMKKysgICAgTGljZW5zZS4gIChFeGNlcHRpb246IGlmIHRoZSBQcm9ncmFtIGl0c2VsZiBpcyBpbnRlcmFjdGl2ZSBidXQKKysgICAgZG9lcyBub3Qgbm9ybWFsbHkgcHJpbnQgc3VjaCBhbiBhbm5vdW5jZW1lbnQsIHlvdXIgd29yayBiYXNlZCBvbgorKyAgICB0aGUgUHJvZ3JhbSBpcyBub3QgcmVxdWlyZWQgdG8gcHJpbnQgYW4gYW5ub3VuY2VtZW50LikKKysKKytUaGVzZSByZXF1aXJlbWVudHMgYXBwbHkgdG8gdGhlIG1vZGlmaWVkIHdvcmsgYXMgYSB3aG9sZS4gIElmCisraWRlbnRpZmlhYmxlIHNlY3Rpb25zIG9mIHRoYXQgd29yayBhcmUgbm90IGRlcml2ZWQgZnJvbSB0aGUgUHJvZ3JhbSwKKythbmQgY2FuIGJlIHJlYXNvbmFibHkgY29uc2lkZXJlZCBpbmRlcGVuZGVudCBhbmQgc2VwYXJhdGUgd29ya3MgaW4KKyt0aGVtc2VsdmVzLCB0aGVuIHRoaXMgTGljZW5zZSwgYW5kIGl0cyB0ZXJtcywgZG8gbm90IGFwcGx5IHRvIHRob3NlCisrc2VjdGlvbnMgd2hlbiB5b3UgZGlzdHJpYnV0ZSB0aGVtIGFzIHNlcGFyYXRlIHdvcmtzLiAgQnV0IHdoZW4geW91CisrZGlzdHJpYnV0ZSB0aGUgc2FtZSBzZWN0aW9ucyBhcyBwYXJ0IG9mIGEgd2hvbGUgd2hpY2ggaXMgYSB3b3JrIGJhc2VkCisrb24gdGhlIFByb2dyYW0sIHRoZSBkaXN0cmlidXRpb24gb2YgdGhlIHdob2xlIG11c3QgYmUgb24gdGhlIHRlcm1zIG9mCisrdGhpcyBMaWNlbnNlLCB3aG9zZSBwZXJtaXNzaW9ucyBmb3Igb3RoZXIgbGljZW5zZWVzIGV4dGVuZCB0byB0aGUKKytlbnRpcmUgd2hvbGUsIGFuZCB0aHVzIHRvIGVhY2ggYW5kIGV2ZXJ5IHBhcnQgcmVnYXJkbGVzcyBvZiB3aG8gd3JvdGUgaXQuCisrCisrVGh1cywgaXQgaXMgbm90IHRoZSBpbnRlbnQgb2YgdGhpcyBzZWN0aW9uIHRvIGNsYWltIHJpZ2h0cyBvciBjb250ZXN0CisreW91ciByaWdodHMgdG8gd29yayB3cml0dGVuIGVudGlyZWx5IGJ5IHlvdTsgcmF0aGVyLCB0aGUgaW50ZW50IGlzIHRvCisrZXhlcmNpc2UgdGhlIHJpZ2h0IHRvIGNvbnRyb2wgdGhlIGRpc3RyaWJ1dGlvbiBvZiBkZXJpdmF0aXZlIG9yCisrY29sbGVjdGl2ZSB3b3JrcyBiYXNlZCBvbiB0aGUgUHJvZ3JhbS4KKysKKytJbiBhZGRpdGlvbiwgbWVyZSBhZ2dyZWdhdGlvbiBvZiBhbm90aGVyIHdvcmsgbm90IGJhc2VkIG9uIHRoZSBQcm9ncmFtCisrd2l0aCB0aGUgUHJvZ3JhbSAob3Igd2l0aCBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0pIG9uIGEgdm9sdW1lIG9mCisrYSBzdG9yYWdlIG9yIGRpc3RyaWJ1dGlvbiBtZWRpdW0gZG9lcyBub3QgYnJpbmcgdGhlIG90aGVyIHdvcmsgdW5kZXIKKyt0aGUgc2NvcGUgb2YgdGhpcyBMaWNlbnNlLgorKworKyAgMy4gWW91IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIChvciBhIHdvcmsgYmFzZWQgb24gaXQsCisrdW5kZXIgU2VjdGlvbiAyKSBpbiBvYmplY3QgY29kZSBvciBleGVjdXRhYmxlIGZvcm0gdW5kZXIgdGhlIHRlcm1zIG9mCisrU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIGRvIG9uZSBvZiB0aGUgZm9sbG93aW5nOgorKworKyAgICBhKSBBY2NvbXBhbnkgaXQgd2l0aCB0aGUgY29tcGxldGUgY29ycmVzcG9uZGluZyBtYWNoaW5lLXJlYWRhYmxlCisrICAgIHNvdXJjZSBjb2RlLCB3aGljaCBtdXN0IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9ucworKyAgICAxIGFuZCAyIGFib3ZlIG9uIGEgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlOyBvciwKKysKKysgICAgYikgQWNjb21wYW55IGl0IHdpdGggYSB3cml0dGVuIG9mZmVyLCB2YWxpZCBmb3IgYXQgbGVhc3QgdGhyZWUKKysgICAgeWVhcnMsIHRvIGdpdmUgYW55IHRoaXJkIHBhcnR5LCBmb3IgYSBjaGFyZ2Ugbm8gbW9yZSB0aGFuIHlvdXIKKysgICAgY29zdCBvZiBwaHlzaWNhbGx5IHBlcmZvcm1pbmcgc291cmNlIGRpc3RyaWJ1dGlvbiwgYSBjb21wbGV0ZQorKyAgICBtYWNoaW5lLXJlYWRhYmxlIGNvcHkgb2YgdGhlIGNvcnJlc3BvbmRpbmcgc291cmNlIGNvZGUsIHRvIGJlCisrICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9ucyAxIGFuZCAyIGFib3ZlIG9uIGEgbWVkaXVtCisrICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlOyBvciwKKysKKysgICAgYykgQWNjb21wYW55IGl0IHdpdGggdGhlIGluZm9ybWF0aW9uIHlvdSByZWNlaXZlZCBhcyB0byB0aGUgb2ZmZXIKKysgICAgdG8gZGlzdHJpYnV0ZSBjb3JyZXNwb25kaW5nIHNvdXJjZSBjb2RlLiAgKFRoaXMgYWx0ZXJuYXRpdmUgaXMKKysgICAgYWxsb3dlZCBvbmx5IGZvciBub25jb21tZXJjaWFsIGRpc3RyaWJ1dGlvbiBhbmQgb25seSBpZiB5b3UKKysgICAgcmVjZWl2ZWQgdGhlIHByb2dyYW0gaW4gb2JqZWN0IGNvZGUgb3IgZXhlY3V0YWJsZSBmb3JtIHdpdGggc3VjaAorKyAgICBhbiBvZmZlciwgaW4gYWNjb3JkIHdpdGggU3Vic2VjdGlvbiBiIGFib3ZlLikKKysKKytUaGUgc291cmNlIGNvZGUgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsgZm9yCisrbWFraW5nIG1vZGlmaWNhdGlvbnMgdG8gaXQuICBGb3IgYW4gZXhlY3V0YWJsZSB3b3JrLCBjb21wbGV0ZSBzb3VyY2UKKytjb2RlIG1lYW5zIGFsbCB0aGUgc291cmNlIGNvZGUgZm9yIGFsbCBtb2R1bGVzIGl0IGNvbnRhaW5zLCBwbHVzIGFueQorK2Fzc29jaWF0ZWQgaW50ZXJmYWNlIGRlZmluaXRpb24gZmlsZXMsIHBsdXMgdGhlIHNjcmlwdHMgdXNlZCB0bworK2NvbnRyb2wgY29tcGlsYXRpb24gYW5kIGluc3RhbGxhdGlvbiBvZiB0aGUgZXhlY3V0YWJsZS4gIEhvd2V2ZXIsIGFzIGEKKytzcGVjaWFsIGV4Y2VwdGlvbiwgdGhlIHNvdXJjZSBjb2RlIGRpc3RyaWJ1dGVkIG5lZWQgbm90IGluY2x1ZGUKKythbnl0aGluZyB0aGF0IGlzIG5vcm1hbGx5IGRpc3RyaWJ1dGVkIChpbiBlaXRoZXIgc291cmNlIG9yIGJpbmFyeQorK2Zvcm0pIHdpdGggdGhlIG1ham9yIGNvbXBvbmVudHMgKGNvbXBpbGVyLCBrZXJuZWwsIGFuZCBzbyBvbikgb2YgdGhlCisrb3BlcmF0aW5nIHN5c3RlbSBvbiB3aGljaCB0aGUgZXhlY3V0YWJsZSBydW5zLCB1bmxlc3MgdGhhdCBjb21wb25lbnQKKytpdHNlbGYgYWNjb21wYW5pZXMgdGhlIGV4ZWN1dGFibGUuCisrCisrSWYgZGlzdHJpYnV0aW9uIG9mIGV4ZWN1dGFibGUgb3Igb2JqZWN0IGNvZGUgaXMgbWFkZSBieSBvZmZlcmluZworK2FjY2VzcyB0byBjb3B5IGZyb20gYSBkZXNpZ25hdGVkIHBsYWNlLCB0aGVuIG9mZmVyaW5nIGVxdWl2YWxlbnQKKythY2Nlc3MgdG8gY29weSB0aGUgc291cmNlIGNvZGUgZnJvbSB0aGUgc2FtZSBwbGFjZSBjb3VudHMgYXMKKytkaXN0cmlidXRpb24gb2YgdGhlIHNvdXJjZSBjb2RlLCBldmVuIHRob3VnaCB0aGlyZCBwYXJ0aWVzIGFyZSBub3QKKytjb21wZWxsZWQgdG8gY29weSB0aGUgc291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLgorKworKyAgNC4gWW91IG1heSBub3QgY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBvciBkaXN0cmlidXRlIHRoZSBQcm9ncmFtCisrZXhjZXB0IGFzIGV4cHJlc3NseSBwcm92aWRlZCB1bmRlciB0aGlzIExpY2Vuc2UuICBBbnkgYXR0ZW1wdAorK290aGVyd2lzZSB0byBjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2Ugb3IgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBpcworK3ZvaWQsIGFuZCB3aWxsIGF1dG9tYXRpY2FsbHkgdGVybWluYXRlIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgTGljZW5zZS4KKytIb3dldmVyLCBwYXJ0aWVzIHdobyBoYXZlIHJlY2VpdmVkIGNvcGllcywgb3IgcmlnaHRzLCBmcm9tIHlvdSB1bmRlcgorK3RoaXMgTGljZW5zZSB3aWxsIG5vdCBoYXZlIHRoZWlyIGxpY2Vuc2VzIHRlcm1pbmF0ZWQgc28gbG9uZyBhcyBzdWNoCisrcGFydGllcyByZW1haW4gaW4gZnVsbCBjb21wbGlhbmNlLgorKworKyAgNS4gWW91IGFyZSBub3QgcmVxdWlyZWQgdG8gYWNjZXB0IHRoaXMgTGljZW5zZSwgc2luY2UgeW91IGhhdmUgbm90Cisrc2lnbmVkIGl0LiAgSG93ZXZlciwgbm90aGluZyBlbHNlIGdyYW50cyB5b3UgcGVybWlzc2lvbiB0byBtb2RpZnkgb3IKKytkaXN0cmlidXRlIHRoZSBQcm9ncmFtIG9yIGl0cyBkZXJpdmF0aXZlIHdvcmtzLiAgVGhlc2UgYWN0aW9ucyBhcmUKKytwcm9oaWJpdGVkIGJ5IGxhdyBpZiB5b3UgZG8gbm90IGFjY2VwdCB0aGlzIExpY2Vuc2UuICBUaGVyZWZvcmUsIGJ5CisrbW9kaWZ5aW5nIG9yIGRpc3RyaWJ1dGluZyB0aGUgUHJvZ3JhbSAob3IgYW55IHdvcmsgYmFzZWQgb24gdGhlCisrUHJvZ3JhbSksIHlvdSBpbmRpY2F0ZSB5b3VyIGFjY2VwdGFuY2Ugb2YgdGhpcyBMaWNlbnNlIHRvIGRvIHNvLCBhbmQKKythbGwgaXRzIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpbmcgb3IgbW9kaWZ5aW5nCisrdGhlIFByb2dyYW0gb3Igd29ya3MgYmFzZWQgb24gaXQuCisrCisrICA2LiBFYWNoIHRpbWUgeW91IHJlZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSAob3IgYW55IHdvcmsgYmFzZWQgb24gdGhlCisrUHJvZ3JhbSksIHRoZSByZWNpcGllbnQgYXV0b21hdGljYWxseSByZWNlaXZlcyBhIGxpY2Vuc2UgZnJvbSB0aGUKKytvcmlnaW5hbCBsaWNlbnNvciB0byBjb3B5LCBkaXN0cmlidXRlIG9yIG1vZGlmeSB0aGUgUHJvZ3JhbSBzdWJqZWN0IHRvCisrdGhlc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMuICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIKKytyZXN0cmljdGlvbnMgb24gdGhlIHJlY2lwaWVudHMnIGV4ZXJjaXNlIG9mIHRoZSByaWdodHMgZ3JhbnRlZCBoZXJlaW4uCisrWW91IGFyZSBub3QgcmVzcG9uc2libGUgZm9yIGVuZm9yY2luZyBjb21wbGlhbmNlIGJ5IHRoaXJkIHBhcnRpZXMgdG8KKyt0aGlzIExpY2Vuc2UuCisrCisrICA3LiBJZiwgYXMgYSBjb25zZXF1ZW5jZSBvZiBhIGNvdXJ0IGp1ZGdtZW50IG9yIGFsbGVnYXRpb24gb2YgcGF0ZW50CisraW5mcmluZ2VtZW50IG9yIGZvciBhbnkgb3RoZXIgcmVhc29uIChub3QgbGltaXRlZCB0byBwYXRlbnQgaXNzdWVzKSwKKytjb25kaXRpb25zIGFyZSBpbXBvc2VkIG9uIHlvdSAod2hldGhlciBieSBjb3VydCBvcmRlciwgYWdyZWVtZW50IG9yCisrb3RoZXJ3aXNlKSB0aGF0IGNvbnRyYWRpY3QgdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLCB0aGV5IGRvIG5vdAorK2V4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90CisrZGlzdHJpYnV0ZSBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcworK0xpY2Vuc2UgYW5kIGFueSBvdGhlciBwZXJ0aW5lbnQgb2JsaWdhdGlvbnMsIHRoZW4gYXMgYSBjb25zZXF1ZW5jZSB5b3UKKyttYXkgbm90IGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gYXQgYWxsLiAgRm9yIGV4YW1wbGUsIGlmIGEgcGF0ZW50CisrbGljZW5zZSB3b3VsZCBub3QgcGVybWl0IHJveWFsdHktZnJlZSByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZ3JhbSBieQorK2FsbCB0aG9zZSB3aG8gcmVjZWl2ZSBjb3BpZXMgZGlyZWN0bHkgb3IgaW5kaXJlY3RseSB0aHJvdWdoIHlvdSwgdGhlbgorK3RoZSBvbmx5IHdheSB5b3UgY291bGQgc2F0aXNmeSBib3RoIGl0IGFuZCB0aGlzIExpY2Vuc2Ugd291bGQgYmUgdG8KKytyZWZyYWluIGVudGlyZWx5IGZyb20gZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9ncmFtLgorKworK0lmIGFueSBwb3J0aW9uIG9mIHRoaXMgc2VjdGlvbiBpcyBoZWxkIGludmFsaWQgb3IgdW5lbmZvcmNlYWJsZSB1bmRlcgorK2FueSBwYXJ0aWN1bGFyIGNpcmN1bXN0YW5jZSwgdGhlIGJhbGFuY2Ugb2YgdGhlIHNlY3Rpb24gaXMgaW50ZW5kZWQgdG8KKythcHBseSBhbmQgdGhlIHNlY3Rpb24gYXMgYSB3aG9sZSBpcyBpbnRlbmRlZCB0byBhcHBseSBpbiBvdGhlcgorK2NpcmN1bXN0YW5jZXMuCisrCisrSXQgaXMgbm90IHRoZSBwdXJwb3NlIG9mIHRoaXMgc2VjdGlvbiB0byBpbmR1Y2UgeW91IHRvIGluZnJpbmdlIGFueQorK3BhdGVudHMgb3Igb3RoZXIgcHJvcGVydHkgcmlnaHQgY2xhaW1zIG9yIHRvIGNvbnRlc3QgdmFsaWRpdHkgb2YgYW55Cisrc3VjaCBjbGFpbXM7IHRoaXMgc2VjdGlvbiBoYXMgdGhlIHNvbGUgcHVycG9zZSBvZiBwcm90ZWN0aW5nIHRoZQorK2ludGVncml0eSBvZiB0aGUgZnJlZSBzb2Z0d2FyZSBkaXN0cmlidXRpb24gc3lzdGVtLCB3aGljaCBpcworK2ltcGxlbWVudGVkIGJ5IHB1YmxpYyBsaWNlbnNlIHByYWN0aWNlcy4gIE1hbnkgcGVvcGxlIGhhdmUgbWFkZQorK2dlbmVyb3VzIGNvbnRyaWJ1dGlvbnMgdG8gdGhlIHdpZGUgcmFuZ2Ugb2Ygc29mdHdhcmUgZGlzdHJpYnV0ZWQKKyt0aHJvdWdoIHRoYXQgc3lzdGVtIGluIHJlbGlhbmNlIG9uIGNvbnNpc3RlbnQgYXBwbGljYXRpb24gb2YgdGhhdAorK3N5c3RlbTsgaXQgaXMgdXAgdG8gdGhlIGF1dGhvci9kb25vciB0byBkZWNpZGUgaWYgaGUgb3Igc2hlIGlzIHdpbGxpbmcKKyt0byBkaXN0cmlidXRlIHNvZnR3YXJlIHRocm91Z2ggYW55IG90aGVyIHN5c3RlbSBhbmQgYSBsaWNlbnNlZSBjYW5ub3QKKytpbXBvc2UgdGhhdCBjaG9pY2UuCisrCisrVGhpcyBzZWN0aW9uIGlzIGludGVuZGVkIHRvIG1ha2UgdGhvcm91Z2hseSBjbGVhciB3aGF0IGlzIGJlbGlldmVkIHRvCisrYmUgYSBjb25zZXF1ZW5jZSBvZiB0aGUgcmVzdCBvZiB0aGlzIExpY2Vuc2UuCisrCisrICA4LiBJZiB0aGUgZGlzdHJpYnV0aW9uIGFuZC9vciB1c2Ugb2YgdGhlIFByb2dyYW0gaXMgcmVzdHJpY3RlZCBpbgorK2NlcnRhaW4gY291bnRyaWVzIGVpdGhlciBieSBwYXRlbnRzIG9yIGJ5IGNvcHlyaWdodGVkIGludGVyZmFjZXMsIHRoZQorK29yaWdpbmFsIGNvcHlyaWdodCBob2xkZXIgd2hvIHBsYWNlcyB0aGUgUHJvZ3JhbSB1bmRlciB0aGlzIExpY2Vuc2UKKyttYXkgYWRkIGFuIGV4cGxpY2l0IGdlb2dyYXBoaWNhbCBkaXN0cmlidXRpb24gbGltaXRhdGlvbiBleGNsdWRpbmcKKyt0aG9zZSBjb3VudHJpZXMsIHNvIHRoYXQgZGlzdHJpYnV0aW9uIGlzIHBlcm1pdHRlZCBvbmx5IGluIG9yIGFtb25nCisrY291bnRyaWVzIG5vdCB0aHVzIGV4Y2x1ZGVkLiAgSW4gc3VjaCBjYXNlLCB0aGlzIExpY2Vuc2UgaW5jb3Jwb3JhdGVzCisrdGhlIGxpbWl0YXRpb24gYXMgaWYgd3JpdHRlbiBpbiB0aGUgYm9keSBvZiB0aGlzIExpY2Vuc2UuCisrCisrICA5LiBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucworK29mIHRoZSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLiAgU3VjaCBuZXcgdmVyc2lvbnMgd2lsbAorK2JlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bworK2FkZHJlc3MgbmV3IHByb2JsZW1zIG9yIGNvbmNlcm5zLgorKworK0VhY2ggdmVyc2lvbiBpcyBnaXZlbiBhIGRpc3Rpbmd1aXNoaW5nIHZlcnNpb24gbnVtYmVyLiAgSWYgdGhlIFByb2dyYW0KKytzcGVjaWZpZXMgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGlzIExpY2Vuc2Ugd2hpY2ggYXBwbGllcyB0byBpdCBhbmQgImFueQorK2xhdGVyIHZlcnNpb24iLCB5b3UgaGF2ZSB0aGUgb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMKKytlaXRoZXIgb2YgdGhhdCB2ZXJzaW9uIG9yIG9mIGFueSBsYXRlciB2ZXJzaW9uIHB1Ymxpc2hlZCBieSB0aGUgRnJlZQorK1NvZnR3YXJlIEZvdW5kYXRpb24uICBJZiB0aGUgUHJvZ3JhbSBkb2VzIG5vdCBzcGVjaWZ5IGEgdmVyc2lvbiBudW1iZXIgb2YKKyt0aGlzIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCisrRm91bmRhdGlvbi4KKysKKysgIDEwLiBJZiB5b3Ugd2lzaCB0byBpbmNvcnBvcmF0ZSBwYXJ0cyBvZiB0aGUgUHJvZ3JhbSBpbnRvIG90aGVyIGZyZWUKKytwcm9ncmFtcyB3aG9zZSBkaXN0cmlidXRpb24gY29uZGl0aW9ucyBhcmUgZGlmZmVyZW50LCB3cml0ZSB0byB0aGUgYXV0aG9yCisrdG8gYXNrIGZvciBwZXJtaXNzaW9uLiAgRm9yIHNvZnR3YXJlIHdoaWNoIGlzIGNvcHlyaWdodGVkIGJ5IHRoZSBGcmVlCisrU29mdHdhcmUgRm91bmRhdGlvbiwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgd2Ugc29tZXRpbWVzCisrbWFrZSBleGNlcHRpb25zIGZvciB0aGlzLiAgT3VyIGRlY2lzaW9uIHdpbGwgYmUgZ3VpZGVkIGJ5IHRoZSB0d28gZ29hbHMKKytvZiBwcmVzZXJ2aW5nIHRoZSBmcmVlIHN0YXR1cyBvZiBhbGwgZGVyaXZhdGl2ZXMgb2Ygb3VyIGZyZWUgc29mdHdhcmUgYW5kCisrb2YgcHJvbW90aW5nIHRoZSBzaGFyaW5nIGFuZCByZXVzZSBvZiBzb2Z0d2FyZSBnZW5lcmFsbHkuCisrCisrCQkJICAgIE5PIFdBUlJBTlRZCisrCisrICAxMS4gQkVDQVVTRSBUSEUgUFJPR1JBTSBJUyBMSUNFTlNFRCBGUkVFIE9GIENIQVJHRSwgVEhFUkUgSVMgTk8gV0FSUkFOVFkKKytGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZIEFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4KKytPVEhFUldJU0UgU1RBVEVEIElOIFdSSVRJTkcgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORC9PUiBPVEhFUiBQQVJUSUVTCisrUFJPVklERSBUSEUgUFJPR1JBTSAiQVMgSVMiIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTRUQKKytPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorK01FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBUSEUgRU5USVJFIFJJU0sgQVMKKytUTyBUSEUgUVVBTElUWSBBTkQgUEVSRk9STUFOQ0UgT0YgVEhFIFBST0dSQU0gSVMgV0lUSCBZT1UuICBTSE9VTEQgVEhFCisrUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YgQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsCisrUkVQQUlSIE9SIENPUlJFQ1RJT04uCisrCisrICAxMi4gSU4gTk8gRVZFTlQgVU5MRVNTIFJFUVVJUkVEIEJZIEFQUExJQ0FCTEUgTEFXIE9SIEFHUkVFRCBUTyBJTiBXUklUSU5HCisrV0lMTCBBTlkgQ09QWVJJR0hUIEhPTERFUiwgT1IgQU5ZIE9USEVSIFBBUlRZIFdITyBNQVkgTU9ESUZZIEFORC9PUgorK1JFRElTVFJJQlVURSBUSEUgUFJPR1JBTSBBUyBQRVJNSVRURUQgQUJPVkUsIEJFIExJQUJMRSBUTyBZT1UgRk9SIERBTUFHRVMsCisrSU5DTFVESU5HIEFOWSBHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HCisrT1VUIE9GIFRIRSBVU0UgT1IgSU5BQklMSVRZIFRPIFVTRSBUSEUgUFJPR1JBTSAoSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRAorK1RPIExPU1MgT0YgREFUQSBPUiBEQVRBIEJFSU5HIFJFTkRFUkVEIElOQUNDVVJBVEUgT1IgTE9TU0VTIFNVU1RBSU5FRCBCWQorK1lPVSBPUiBUSElSRCBQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSCisrUFJPR1JBTVMpLCBFVkVOIElGIFNVQ0ggSE9MREVSIE9SIE9USEVSIFBBUlRZIEhBUyBCRUVOIEFEVklTRUQgT0YgVEhFCisrUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0VTLgorKworKwkJICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKKysKKysJICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcworKworKyAgSWYgeW91IGRldmVsb3AgYSBuZXcgcHJvZ3JhbSwgYW5kIHlvdSB3YW50IGl0IHRvIGJlIG9mIHRoZSBncmVhdGVzdAorK3Bvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKKytmcmVlIHNvZnR3YXJlIHdoaWNoIGV2ZXJ5b25lIGNhbiByZWRpc3RyaWJ1dGUgYW5kIGNoYW5nZSB1bmRlciB0aGVzZSB0ZXJtcy4KKysKKysgIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0CisrdG8gYXR0YWNoIHRoZW0gdG8gdGhlIHN0YXJ0IG9mIGVhY2ggc291cmNlIGZpbGUgdG8gbW9zdCBlZmZlY3RpdmVseQorK2NvbnZleSB0aGUgZXhjbHVzaW9uIG9mIHdhcnJhbnR5OyBhbmQgZWFjaCBmaWxlIHNob3VsZCBoYXZlIGF0IGxlYXN0CisrdGhlICJjb3B5cmlnaHQiIGxpbmUgYW5kIGEgcG9pbnRlciB0byB3aGVyZSB0aGUgZnVsbCBub3RpY2UgaXMgZm91bmQuCisrCisrICAgIDxvbmUgbGluZSB0byBnaXZlIHRoZSBwcm9ncmFtJ3MgbmFtZSBhbmQgYSBicmllZiBpZGVhIG9mIHdoYXQgaXQgZG9lcy4+CisrICAgIENvcHlyaWdodCAoQykgPHllYXI+ICA8bmFtZSBvZiBhdXRob3I+CisrCisrICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisrICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisrICAgIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisrICAgIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisrCisrQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCisrCisrSWYgdGhlIHByb2dyYW0gaXMgaW50ZXJhY3RpdmUsIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQgbm90aWNlIGxpa2UgdGhpcworK3doZW4gaXQgc3RhcnRzIGluIGFuIGludGVyYWN0aXZlIG1vZGU6CisrCisrICAgIEdub21vdmlzaW9uIHZlcnNpb24gNjksIENvcHlyaWdodCAoQykgeWVhciBuYW1lIG9mIGF1dGhvcgorKyAgICBHbm9tb3Zpc2lvbiBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCisrICAgIFRoaXMgaXMgZnJlZSBzb2Z0d2FyZSwgYW5kIHlvdSBhcmUgd2VsY29tZSB0byByZWRpc3RyaWJ1dGUgaXQKKysgICAgdW5kZXIgY2VydGFpbiBjb25kaXRpb25zOyB0eXBlIGBzaG93IGMnIGZvciBkZXRhaWxzLgorKworK1RoZSBoeXBvdGhldGljYWwgY29tbWFuZHMgYHNob3cgdycgYW5kIGBzaG93IGMnIHNob3VsZCBzaG93IHRoZSBhcHByb3ByaWF0ZQorK3BhcnRzIG9mIHRoZSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgT2YgY291cnNlLCB0aGUgY29tbWFuZHMgeW91IHVzZSBtYXkKKytiZSBjYWxsZWQgc29tZXRoaW5nIG90aGVyIHRoYW4gYHNob3cgdycgYW5kIGBzaG93IGMnOyB0aGV5IGNvdWxkIGV2ZW4gYmUKKyttb3VzZS1jbGlja3Mgb3IgbWVudSBpdGVtcy0td2hhdGV2ZXIgc3VpdHMgeW91ciBwcm9ncmFtLgorKworK1lvdSBzaG91bGQgYWxzbyBnZXQgeW91ciBlbXBsb3llciAoaWYgeW91IHdvcmsgYXMgYSBwcm9ncmFtbWVyKSBvciB5b3VyCisrc2Nob29sLCBpZiBhbnksIHRvIHNpZ24gYSAiY29weXJpZ2h0IGRpc2NsYWltZXIiIGZvciB0aGUgcHJvZ3JhbSwgaWYKKytuZWNlc3NhcnkuICBIZXJlIGlzIGEgc2FtcGxlOyBhbHRlciB0aGUgbmFtZXM6CisrCisrICBZb3lvZHluZSwgSW5jLiwgaGVyZWJ5IGRpc2NsYWltcyBhbGwgY29weXJpZ2h0IGludGVyZXN0IGluIHRoZSBwcm9ncmFtCisrICBgR25vbW92aXNpb24nICh3aGljaCBtYWtlcyBwYXNzZXMgYXQgY29tcGlsZXJzKSB3cml0dGVuIGJ5IEphbWVzIEhhY2tlci4KKysKKysgIDxzaWduYXR1cmUgb2YgVHkgQ29vbj4sIDEgQXByaWwgMTk4OQorKyAgVHkgQ29vbiwgUHJlc2lkZW50IG9mIFZpY2UKKysKKytUaGlzIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtIGludG8KKytwcm9wcmlldGFyeSBwcm9ncmFtcy4gIElmIHlvdXIgcHJvZ3JhbSBpcyBhIHN1YnJvdXRpbmUgbGlicmFyeSwgeW91IG1heQorK2NvbnNpZGVyIGl0IG1vcmUgdXNlZnVsIHRvIHBlcm1pdCBsaW5raW5nIHByb3ByaWV0YXJ5IGFwcGxpY2F0aW9ucyB3aXRoIHRoZQorK2xpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsCisrUHVibGljIExpY2Vuc2UgaW5zdGVhZCBvZiB0aGlzIExpY2Vuc2UuCistLSAKKzEuNy44LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDAyLWFkZC1zZXRkcGktWGluaXQuZC1zY3JpcHQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLWNvbW1vbi94c2VydmVyLWNvbW1vbi0xLjM0LzAwMDItYWRkLXNldGRwaS1YaW5pdC5kLXNjcmlwdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yM2I1MzQ1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDAyLWFkZC1zZXRkcGktWGluaXQuZC1zY3JpcHQucGF0Y2gKQEAgLTAsMCArMSwxMTIgQEAKK0Zyb20gM2QxYTFhODI3MzExMjY2ODkyN2E2YzZiYjNlMzYxZTg5NmY1YjIyOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMTEgQXByIDIwMTIgMTQ6Mjg6NDUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAwMi8xMl0gYWRkIHNldGRwaSBYaW5pdC5kIHNjcmlwdAorCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBYMTEvWGluaXQuZC81MHNldGRwaSB8ICAgOTIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyAxIGZpbGVzIGNoYW5nZWQsIDkyIGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IFgxMS9YaW5pdC5kLzUwc2V0ZHBpCisKK2RpZmYgLS1naXQgYS9YMTEvWGluaXQuZC81MHNldGRwaSBiL1gxMS9YaW5pdC5kLzUwc2V0ZHBpCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMDRhMmVkZAorLS0tIC9kZXYvbnVsbAorKysrIGIvWDExL1hpbml0LmQvNTBzZXRkcGkKK0BAIC0wLDAgKzEsOTIgQEAKKysjISAvYmluL3NoCisrIworKyMgQ29weXJpZ2h0IE1hdHRoaWFzIEhlbnRnZXMgPGRldmVsQGhlbnRnZXMubmV0PiAoYykgMjAwNgorKyMgTGljZW5zZTogR1BMIChzZWUgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC50eHQgZm9yIGEgY29weSBvZiB0aGUgbGljZW5zZSkKKysjCisrIyBGaWxlbmFtZTogc2V0RFBJLnNoCisrIyBEYXRlOiAwOS1BcHItMDYKKysKKysjIFRoaXMgc2NyaXB0IGNvbmZpZ3VyZXMgWGZ0LmRwaSBkZXBlbmRlbnQgb24geW91ciBzY3JlZW5zIERQSS4gVGhpcyBpbnN1cmVzIHRoYXQgdGhlIHNhbWUgZm9udC1zaXplCisrIyBzZXR0aW5nIG9mIDcgY2FuIGJlIHVzZWQgb24gYWxsIG1hY2hpbmVzLgorKworKworK1hERUZBVUxUUz0iL2V0Yy9YMTEvWGRlZmF1bHRzIgorKworKworKworK3NldF9kcGkoKSB7CisrCQorKwlDVVJSRU5UX1NFVFRJTkc9ImBjYXQgJHtYREVGQVVMVFN9IHwgc2VkIC1uICIvWGZ0LmRwaVw6L3MvLipcOlwoLipcKS9cMS9wIiB8IHNlZCAtbiAicy9cIC8vcCJgIgkKKysKKysJaWYgdGVzdCAiJENVUlJFTlRfU0VUVElORyIgIT0gIiQxIgorKwl0aGVuCisrCQllY2hvICJVc2luZyBYZnQuZHBpIG9mICRTRVRfU0NSRUVOX0RQSSBmb3IgeW91ciAkU0NSRUVOX0RQSSBEUEkgc2NyZWVuIgorKwkJCisrCQlpZiBncmVwIC1xICJYZnQuZHBpIiAiJFhERUZBVUxUUyIKKysJCXRoZW4KKysJCQljYXQgIiR7WERFRkFVTFRTfSIgfCBzZWQgInMvXlhmdC5kcGlcOi4qL1hmdC5kcGlcOiAkU0VUX1NDUkVFTl9EUEkvIiA+ICIke1hERUZBVUxUU31fIgorKwkJCW12ICIke1hERUZBVUxUU31fIiAiJHtYREVGQVVMVFN9IgorKwkJZWxzZQorKwkJCWVjaG8gLWUgIlhmdC5kcGk6ICRTRVRfU0NSRUVOX0RQSVxuIiA+PiAiJFhERUZBVUxUUyIKKysJCWZpCisrCWVsc2UKKysJCWVjaG8gIllvdXIgJFNDUkVFTl9EUEkgRFBJIHNjcmVlbiBpcyBhbHJlYWR5IGNvbmZpZ3VyZWQuIgorKwlmaQorK30KKysKKytzZXRfcnh2dF9mb250KCkgeworKworKwlDVVJSRU5UX1NFVFRJTkc9ImBjYXQgJHtYREVGQVVMVFN9IHwgc2VkICAtbiAiL1J4dnRcKmZvbnQvcy9cKC4qXHBpeGVsc2l6ZT1cKVwoLipcKS9cMi9wImAiCisrCisrCWlmIHRlc3QgIiQxIiAtZ3QgMTAwCisrCXRoZW4KKysJCisrCQkjIENvbmZpZ3VyZSB0aGUgcnh2dCBmb250LXNpemUgZm9yIHlvdXIgc2NyZWVuIGhlcmU6CisrCQl0ZXN0ICIkMSIgLWd0IDE4MCAtYSAiJDEiIC1sdCAiMjIxIiAmJiBSWFZUX0ZPTlRfU0laRT0xNgorKwkJCisrCQlpZiB0ZXN0IC16ICIkUlhWVF9GT05UX1NJWkUiCisrCQl0aGVuCisrCQkJZWNobyAiV0FSTklORzogTm8gcnh2dCBmb250LXNpemUgY29uZmlndXJlZCBmb3IgYSAkU0NSRUVOX0RQSSBEUEkgc2NyZWVuISIKKysJCQllY2hvICJEZWZhdWx0aW5nIHRvIHNpemUgOSIKKysJCQlSWFZUX0ZPTlRfU0laRT05CisrCQlmaQorKwkJCisrCQlpZiB0ZXN0ICIkQ1VSUkVOVF9TRVRUSU5HIiAhPSAiJFJYVlRfRk9OVF9TSVpFIgorKwkJdGhlbgorKwkJCWVjaG8gIlVzaW5nIGEgcnh2dCBmb250LXNpemUgb2YgJFJYVlRfRk9OVF9TSVpFIgorKwkJCWNhdCAke1hERUZBVUxUU30gfCBzZWQgIi9SeHZ0XCpmb250L3MvXCguKlxwaXhlbHNpemVcKVwoPSouKlwpL1wxPSRSWFZUX0ZPTlRfU0laRS8iID4gJHtYREVGQVVMVFN9XworKwkJCW12ICR7WERFRkFVTFRTfV8gJHtYREVGQVVMVFN9CisrCQllbHNlCisrCQkJZWNobyAiVGhlIHJ4dnQgZm9udC1zaXplIGlzIGFscmVhZHkgY29uZmlndXJlZCIKKysJCWZpIAorKwlmaQorK30KKysKKytpZiB0ZXN0IC16ICIkRElTUExBWSIKKyt0aGVuCisrCWVjaG8gIkRJU1BMQVkgaXMgbm90IHNldCwgYWJvcnRpbmcuLi4iCisrCWV4aXQgMAorK2ZpCisrCisrU0NSRUVOX0RQST0iYC91c3IvYmluL3hkcHlpbmZvIHwgZ3JlcCAiZG90cyBwZXIgaW5jaCIgfCBhd2sgJ3twcmludCAkMn0nfCBzZWQgLW4gInMvXCguKlwpeFwoLipcKS9cMi9wImAiCisrCisraWYgdGVzdCAteiAiJFNDUkVFTl9EUEkiCisrdGhlbgorKwllY2hvICJXQVJOSU5HOiBDb3VsZG4ndCByZWFkIHlvdXIgc2NyZWVucyBEUEksIGRlZmF1bHRpbmcgdG8gMTAwIgorKwlTQ1JFRU5fRFBJPTEwMAorK2ZpCisrCisrIyBDb25maWd1cmUgeW91ciBzY3JlZW4gaGVyZToKKyt0ZXN0ICIkU0NSRUVOX0RQSSIgLWd0IDE4MCAtYSAiJFNDUkVFTl9EUEkiIC1sdCAiMjIxIiAmJiBTRVRfU0NSRUVOX0RQST0xNjAKKyt0ZXN0ICIkU0NSRUVOX0RQSSIgLWd0IDkwIC1hICIkU0NSRUVOX0RQSSIgLWx0ICIxMjEiICYmIFNFVF9TQ1JFRU5fRFBJPTEwMAorKworKworK2lmIHRlc3QgLXogIiRTRVRfU0NSRUVOX0RQSSIKKyt0aGVuCisrCWVjaG8gIldBUk5JTkc6IE5vIGRlZmF1bHQgY29uZmlndXJhdGlvbiBmb3VuZCBmb3IgeW91ciAkU0NSRUVOX0RQSSBEUEkgc2NyZWVuISIKKysJZWNobyAiVXNpbmcgMTAwIERQSSIKKysJU0VUX1NDUkVFTl9EUEk9MTAwCisrZmkKKysKKytzZXRfZHBpICIkU0VUX1NDUkVFTl9EUEkiCisrc2V0X3J4dnRfZm9udCAiJFNDUkVFTl9EUEkiCistLSAKKzEuNy44LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDAzLWFkZC04OXhkZ2F1dG9zdGFydC1Yc2Vzc2lvbi5kLXNjcmlwdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAwMy1hZGQtODl4ZGdhdXRvc3RhcnQtWHNlc3Npb24uZC1zY3JpcHQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmY4MDZhOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAwMy1hZGQtODl4ZGdhdXRvc3RhcnQtWHNlc3Npb24uZC1zY3JpcHQucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorRnJvbSBhOTNhODZjMmZmMWNhNWViMzU2MTVmNGUxNTY4NDA5ZmYzNDJhYTdmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogV2VkLCAxMSBBcHIgMjAxMiAxNDoyOTo0MSArMDIwMAorU3ViamVjdDogW1BBVENIIDAzLzEyXSBhZGQgODl4ZGdhdXRvc3RhcnQgWHNlc3Npb24uZCBzY3JpcHQKKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgWDExL1hzZXNzaW9uLmQvODl4ZGdhdXRvc3RhcnQgfCAgICA5ICsrKysrKysrKworIDEgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBYMTEvWHNlc3Npb24uZC84OXhkZ2F1dG9zdGFydAorCitkaWZmIC0tZ2l0IGEvWDExL1hzZXNzaW9uLmQvODl4ZGdhdXRvc3RhcnQgYi9YMTEvWHNlc3Npb24uZC84OXhkZ2F1dG9zdGFydAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjk4ODZmOWYKKy0tLSAvZGV2L251bGwKKysrKyBiL1gxMS9Yc2Vzc2lvbi5kLzg5eGRnYXV0b3N0YXJ0CitAQCAtMCwwICsxLDkgQEAKKysjIS9iaW4vc2gKKysKKytYREdBVVRPU1RBUlQ9L2V0Yy94ZGcvYXV0b3N0YXJ0CisraWYgWyAtZCAkWERHQVVUT1NUQVJUIF0gOyB0aGVuCisrICAgIGZvciBTQ1JJUFQgaW4gJFhER0FVVE9TVEFSVC8qOyBkbworKyAgICAgICAgQ01EPWBncmVwIF5FeGVjPSAkU0NSSVBUIHwgY3V0IC1kICc9JyAtZiAyYAorKyAgICAgICAgJENNRCAmCisrICAgIGRvbmUKKytmaQorLS0gCisxLjcuOC41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAwNS1hZGQtWFdpbmRvd01hbmFnZXItWHNlc3Npb24uZC1zY3JpcHQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLWNvbW1vbi94c2VydmVyLWNvbW1vbi0xLjM0LzAwMDUtYWRkLVhXaW5kb3dNYW5hZ2VyLVhzZXNzaW9uLmQtc2NyaXB0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3ODI2NjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLWNvbW1vbi94c2VydmVyLWNvbW1vbi0xLjM0LzAwMDUtYWRkLVhXaW5kb3dNYW5hZ2VyLVhzZXNzaW9uLmQtc2NyaXB0LnBhdGNoCkBAIC0wLDAgKzEsMjMgQEAKK0Zyb20gYjAxYTUzMmViYjUyNTU1MmUyM2Q3MTY5YTJhZWI1NWM0MmIzZWM5OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMTEgQXByIDIwMTIgMTQ6MzI6MTMgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAwNS8xMl0gYWRkIFhXaW5kb3dNYW5hZ2VyIFhzZXNzaW9uLmQgc2NyaXB0CisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIFgxMS9Yc2Vzc2lvbi5kLzkweFhXaW5kb3dNYW5hZ2VyIHwgICAgNiArKysrKysKKyAxIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgWDExL1hzZXNzaW9uLmQvOTB4WFdpbmRvd01hbmFnZXIKKworSW5kZXg6IHhzZXJ2ZXItY29tbW9uLTEuMzQvWDExL1hzZXNzaW9uLmQvOTB4WFdpbmRvd01hbmFnZXIKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyB4c2VydmVyLWNvbW1vbi0xLjM0L1gxMS9Yc2Vzc2lvbi5kLzkweFhXaW5kb3dNYW5hZ2VyCTIwMTItMDYtMjggMTU6MDI6MjIuMDEwNTIxNzczICswMjAwCitAQCAtMCwwICsxLDcgQEAKKytpZiBbIC14ICRIT01FLy5Yc2Vzc2lvbiBdOyB0aGVuCisrICAgIGV4ZWMgJEhPTUUvLlhzZXNzaW9uCisrZWxpZiBbIC14IC91c3IvYmluL3gtc2Vzc2lvbi1tYW5hZ2VyIF07IHRoZW4KKysgICAgZXhlYyAvdXNyL2Jpbi94LXNlc3Npb24tbWFuYWdlcgorK2Vsc2UKKysgICAgZXhlYyAvdXNyL2Jpbi94LXdpbmRvdy1tYW5hZ2VyCisrZmkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAwNi1hZGQtc3VwcG9ydC1mb3ItZXRjLVgxMS14c2VydmVyLXN5c3RlbS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAwNi1hZGQtc3VwcG9ydC1mb3ItZXRjLVgxMS14c2VydmVyLXN5c3RlbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZWU4NTcyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDA2LWFkZC1zdXBwb3J0LWZvci1ldGMtWDExLXhzZXJ2ZXItc3lzdGVtLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK0Zyb20gMGM0MmUxZmI4NGNjMmJmZTc2OGJlZDE3ZjNiOTc5YWNhODY4Y2Y2NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMTEgQXByIDIwMTIgMTQ6MzQ6NDMgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAwNi8xMl0gYWRkIHN1cHBvcnQgZm9yIC9ldGMvWDExL3hzZXJ2ZXItc3lzdGVtCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIFgxMS94c2VydmVyLWNvbW1vbiB8ICAgIDUgKysrKysKKyAxIGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL1gxMS94c2VydmVyLWNvbW1vbiBiL1gxMS94c2VydmVyLWNvbW1vbgoraW5kZXggNGM3ZWQ2ZS4uNmQ4YzlkZiAxMDA2NDQKKy0tLSBhL1gxMS94c2VydmVyLWNvbW1vbgorKysrIGIvWDExL3hzZXJ2ZXItY29tbW9uCitAQCAtMjA0LDMgKzIwNCw4IEBAIGZpCisgaWYgWyAiJFhTRVJWRVIiICE9ICJYb3JnIiBdIDsgdGhlbgorICAgICBBUkdTPSIkQVJHUyAkTU9VU0UgJEtEUklWRUFSR1MiCisgZmkKKysKKysjIGxldCBhIGxvY2FsIHNjcmlwdCBtb2RpZnkgdGhlIHZhcmlhYmxlcyAgICAgICAgICAgICAgICAgICAgCisraWYgWyAtZSAvZXRjL1gxMS94c2VydmVyLXN5c3RlbSBdIDsgdGhlbiAgICAgICAgICAgICAgICAgICAgCisrICAgICAgIC4gL2V0Yy9YMTEveHNlcnZlci1zeXN0ZW0gICAgICAgICAgICAgICAgICAgIAorK2ZpICAgICAgICAgICAgICAgICAgICAKKy0tIAorMS43LjguNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLWNvbW1vbi94c2VydmVyLWNvbW1vbi0xLjM0LzAwMDctdXNlLW93bi1mdW5jdGlvbnMtZmlsZS1pbnN0ZWFkLWV0Yy1pbml0LmQtZnVuY3Rpb25zLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDA3LXVzZS1vd24tZnVuY3Rpb25zLWZpbGUtaW5zdGVhZC1ldGMtaW5pdC5kLWZ1bmN0aW9ucy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NzkxMjI2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDA3LXVzZS1vd24tZnVuY3Rpb25zLWZpbGUtaW5zdGVhZC1ldGMtaW5pdC5kLWZ1bmN0aW9ucy5wYXRjaApAQCAtMCwwICsxLDg3IEBACitGcm9tIDYzZTZiOWE1NGUxZjEyZGJmN2RkYmZlMzM3NmZmZjRjMzgyNDIxYTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitEYXRlOiBXZWQsIDExIEFwciAyMDEyIDE0OjM2OjAyICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMDcvMTJdIHVzZSBvd24gZnVuY3Rpb25zIGZpbGUgaW5zdGVhZCAvZXRjL2luaXQuZC9mdW5jdGlvbnMKKworKiBzbyB3ZSBkb24ndCBoYXZlIHRvIGRlcGVuZCBvbiBpbml0c2NyaXB0cworCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBNYWtlZmlsZSAgICAgICAgICAgICB8ICAgIDEgKworIFgxMS9YaW5pdC5kLzExemF1cnVzIHwgICAgMiArLQorIFgxMS9YaW5pdC5kLzEya2V5bWFwIHwgICAgMiArLQorIFgxMS9mdW5jdGlvbnMgICAgICAgIHwgICAxMSArKysrKysrKysrKworIFgxMS94c2VydmVyLWNvbW1vbiAgIHwgICAgMiArLQorIDUgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgWDExL2Z1bmN0aW9ucworCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggZTJkOWFmOS4uY2FhNWRlMSAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTIzLDYgKzIzLDcgQEAgaW5zdGFsbC1wcm9ncmFtOgorIAlpbnN0YWxsIC1tIDc1NSBYMTEvWHNlcnZlciAkKERFU1RESVIpL2V0Yy9YMTEvWHNlcnZlcgorIAlpbnN0YWxsIC1tIDc1NSBYMTEvWHNlc3Npb24gJChERVNURElSKS9ldGMvWDExL1hzZXNzaW9uCisgCWluc3RhbGwgLW0gNzU1IFgxMS94c2VydmVyLWNvbW1vbiAkKERFU1RESVIpL2V0Yy9YMTEveHNlcnZlci1jb21tb24KKysJaW5zdGFsbCAtbSA3NTUgWDExL2Z1bmN0aW9ucyAkKERFU1RESVIpL2V0Yy9YMTEvZnVuY3Rpb25zCisgCWluc3RhbGwgLWQgJChERVNURElSKS9ldGMvWDExL3htb2RtYXAKKyAJaW5zdGFsbCAtbSA2NDQgWDExL3htb2RtYXAvKi54bW9kbWFwICQoREVTVERJUikvZXRjL1gxMS94bW9kbWFwCisgCWluc3RhbGwgLW0gNjQ0IFgxMS94bW9kbWFwL3htb2RtYXAtKiAkKERFU1RESVIpL2V0Yy9YMTEveG1vZG1hcAorZGlmZiAtLWdpdCBhL1gxMS9YaW5pdC5kLzExemF1cnVzIGIvWDExL1hpbml0LmQvMTF6YXVydXMKK2luZGV4IDU0ZWE2ZjUuLjIzZTc3MTMgMTAwNjQ0CistLS0gYS9YMTEvWGluaXQuZC8xMXphdXJ1cworKysrIGIvWDExL1hpbml0LmQvMTF6YXVydXMKK0BAIC04LDcgKzgsNyBAQCBlbHNlCisgICAgQ0hDSz1jaGtoaW5nZQorIGZpCisgCistLiAvZXRjL2luaXQuZC9mdW5jdGlvbnMKKysuIC9ldGMvWDExL2Z1bmN0aW9ucworIAorICRDSENLIC1lCisgaWYgWyAkPyA9IDEyIF07IHRoZW4KK2RpZmYgLS1naXQgYS9YMTEvWGluaXQuZC8xMmtleW1hcCBiL1gxMS9YaW5pdC5kLzEya2V5bWFwCitpbmRleCA3ZWFjMjk2Li5iN2E3ZjJkIDEwMDY0NAorLS0tIGEvWDExL1hpbml0LmQvMTJrZXltYXAKKysrKyBiL1gxMS9YaW5pdC5kLzEya2V5bWFwCitAQCAtMSw2ICsxLDYgQEAKKyAjIS9iaW4vc2gKKyAKKy0uIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworKy4gL2V0Yy9YMTEvZnVuY3Rpb25zCisgCisgIyBzaW5jZSBrZHJpdmUgMS40IHRoZXJlIGlzIG5vIGRlZmF1bHQga2V5bWFwIGluIHNlcnZlcgorIHhtb2RtYXAgLSA8L2V0Yy9YMTEveG1vZG1hcC9kZWZhdWx0Lnhtb2RtYXAKK2RpZmYgLS1naXQgYS9YMTEvZnVuY3Rpb25zIGIvWDExL2Z1bmN0aW9ucworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmExMzExYWQKKy0tLSAvZGV2L251bGwKKysrKyBiL1gxMS9mdW5jdGlvbnMKK0BAIC0wLDAgKzEsMTEgQEAKKysjIC0qLVNoZWxsLXNjcmlwdC0qLQorKyMKKysjIGZ1bmN0aW9ucyAgICAgVGhpcyBmaWxlIGNvbnRhaW5zIGZ1bmN0aW9ucyBzaGFyZWQgYnkgZmV3IFgxMSBzY3JpcHRzCisrIyAgICAgICAgICAgICAgIG1hY2hpbmVfaWQgYWxzbyBleGlzdHMgaW4gL2V0Yy9pbml0LmQvZnVuY3Rpb25zIGJ1dCBzb21lCisrIyAgICAgICAgICAgICAgIHBlb3BsZSBkb24ndCB1c2UgaW5pdHNjcmlwdHMgYW55bW9yZQorKyMKKysKKyttYWNoaW5lX2lkKCkgeyAjIHJldHVybiB0aGUgbWFjaGluZSBJRAorKwlhd2sgJ0JFR0lOIHsgRlM9IjogIiB9IC9IYXJkd2FyZS8gXAorKwkJeyBnc3ViKCIgIiwgIl8iLCAkMik7IHByaW50IHRvbG93ZXIoJDIpIH0gJyA8L3Byb2MvY3B1aW5mbworK30KK2RpZmYgLS1naXQgYS9YMTEveHNlcnZlci1jb21tb24gYi9YMTEveHNlcnZlci1jb21tb24KK2luZGV4IDZkOGM5ZGYuLmRlOTJiYjcgMTAwNjQ0CistLS0gYS9YMTEveHNlcnZlci1jb21tb24KKysrKyBiL1gxMS94c2VydmVyLWNvbW1vbgorQEAgLTMwLDcgKzMwLDcgQEAgaWYgWyAtZiAvZXRjL3Byb2ZpbGUgXTsgdGhlbgorICAgLiAvZXRjL3Byb2ZpbGUKKyBmaQorIAorLS4gL2V0Yy9pbml0LmQvZnVuY3Rpb25zCisrLiAvZXRjL1gxMS9mdW5jdGlvbnMKKyAKKyBmYWxsYmFja19zY3JlZW5fYXJnKCkgeworICAgICBnZW9tPWBmYnNldCB8IGdyZXAgZ2VvbWV0cnlgCistLSAKKzEuNy44LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDA4LXhzZXJ2ZXItY29tbW9uLWFkZC1kcGktYW5kLW5vY3Vyc29yLXBhcmFtcy1mb3ItZ3RhMDEucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLWNvbW1vbi94c2VydmVyLWNvbW1vbi0xLjM0LzAwMDgteHNlcnZlci1jb21tb24tYWRkLWRwaS1hbmQtbm9jdXJzb3ItcGFyYW1zLWZvci1ndGEwMS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMzVlNGE3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDA4LXhzZXJ2ZXItY29tbW9uLWFkZC1kcGktYW5kLW5vY3Vyc29yLXBhcmFtcy1mb3ItZ3RhMDEucGF0Y2gKQEAgLTAsMCArMSw0MCBAQAorRnJvbSAwZWU3YmY4N2UwYzgzYWJjNzlkZTNhOTlkZmEzYzg3ZGQ1YzViMjI5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogV2VkLCAxMSBBcHIgMjAxMiAxNDozNzoyOSArMDIwMAorU3ViamVjdDogW1BBVENIIDA4LzEyXSB4c2VydmVyLWNvbW1vbjogYWRkIGRwaSBhbmQgbm9jdXJzb3IgcGFyYW1zIGZvciBndGEwMQorIGFuZCBndGEwMgorCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBYMTEveHNlcnZlci1jb21tb24gfCAgICA4ICsrKysrKy0tCisgMSBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9YMTEveHNlcnZlci1jb21tb24gYi9YMTEveHNlcnZlci1jb21tb24KK2luZGV4IGRlOTJiYjcuLmY3NmZhNWYgMTAwNjQ0CistLS0gYS9YMTEveHNlcnZlci1jb21tb24KKysrKyBiL1gxMS94c2VydmVyLWNvbW1vbgorQEAgLTEzMywxNSArMTMzLDE5IEBAIGVsc2UKKyAgICAgICAgICAgICBBUkdTPSIkQVJHUyAtc2NyZWVuICR7U0NSRUVOX1NJWkV9IgorICAgICAgICAgICAgIERQST0iMjI1IiA7OworICAgICAgICAgImd0YTAxIiApCistICAgICAgICAgICAgRFBJPSIyODUiCisrICAgICAgICAgICAgRFBJPSIyODAiCisgICAgICAgICAgICAgaWYgWyAiJFhTRVJWRVIiICE9ICJYb3JnIiBdIDsgdGhlbgorICAgICAgICAgICAgICAgICBBUkdTPSIkQVJHUyAtc2NyZWVuIDQ4MHg2NDAiCisrICAgICAgICAgICAgZWxzZQorKyAgICAgICAgICAgICAgICBBUkdTPSIkQVJHUyAtZHBpICR7RFBJfSAtbm9jdXJzb3IiCisgICAgICAgICAgICAgZmkKKyAgICAgICAgICAgICA7OworICAgICAgICAgImd0YTAyIikKKy0gICAgICAgICAgICBEUEk9IjI4NSIKKysgICAgICAgICAgICBEUEk9IjI4MCIKKyAgICAgICAgICAgICBpZiBbICIkWFNFUlZFUiIgIT0gIlhvcmciIF0gOyB0aGVuCisgICAgICAgICAgICAgICAgIEFSR1M9IiRBUkdTIC1zY3JlZW4gJHtTQ1JFRU5fU0laRX0iCisrICAgICAgICAgICAgZWxzZQorKyAgICAgICAgICAgICAgICBBUkdTPSIkQVJHUyAtZHBpICR7RFBJfSAtbm9jdXJzb3IiCisgICAgICAgICAgICAgZmkKKyAgICAgICAgICAgICA7OworICAgICAgICAgIm1vdG9yb2xhX2V6eF9wbGF0Zm9ybSIpCistLSAKKzEuNy44LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDA5LXhzZXJ2ZXItY29tbW9uLWFkZC1zdXBwb3J0LWZvci1uOTAwLWFsaWFzLW5va2lhX3J4LTUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLWNvbW1vbi94c2VydmVyLWNvbW1vbi0xLjM0LzAwMDkteHNlcnZlci1jb21tb24tYWRkLXN1cHBvcnQtZm9yLW45MDAtYWxpYXMtbm9raWFfcngtNS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYTBiZGU4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDA5LXhzZXJ2ZXItY29tbW9uLWFkZC1zdXBwb3J0LWZvci1uOTAwLWFsaWFzLW5va2lhX3J4LTUucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorRnJvbSA2ZDZjYWVjYjcxNzJiOWIzM2U3MzY0NTY0YjBlNmVhYmY2N2I2ZThiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogV2VkLCAxMSBBcHIgMjAxMiAxNDo0MDoxNCArMDIwMAorU3ViamVjdDogW1BBVENIIDA5LzEyXSB4c2VydmVyLWNvbW1vbjogYWRkIHN1cHBvcnQgZm9yIG45MDAgYWxpYXMKKyBub2tpYV9yeC01MV9ib2FyZAorCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBYMTEveHNlcnZlci1jb21tb24gfCAgICA3ICsrKysrKysKKyAxIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL1gxMS94c2VydmVyLWNvbW1vbiBiL1gxMS94c2VydmVyLWNvbW1vbgoraW5kZXggZjc2ZmE1Zi4uODZlZDE3ZiAxMDA2NDQKKy0tLSBhL1gxMS94c2VydmVyLWNvbW1vbgorKysrIGIvWDExL3hzZXJ2ZXItY29tbW9uCitAQCAtMTMyLDYgKzEzMiwxMyBAQCBlbHNlCisgICAgICAgICAibm9raWFfbjgwMCIgfCAibm9raWFfcngtNDQiIHwgIm5va2lhX243NzAiKQorICAgICAgICAgICAgIEFSR1M9IiRBUkdTIC1zY3JlZW4gJHtTQ1JFRU5fU0laRX0iCisgICAgICAgICAgICAgRFBJPSIyMjUiIDs7CisrICAgICAgICAibm9raWFfcngtNTFfYm9hcmQiICkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisrICAgICAgICAgICAgRFBJPSIyNjciICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisrICAgICAgICAgICAgaWYgWyAiJFhTRVJWRVIiICE9ICJYb3JnIiBdIDsgdGhlbiAgICAgICAgICAgICAgICAgICAgCisrICAgICAgICAgICAgICAgIEFSR1M9IiRBUkdTIC1zY3JlZW4gJHtTQ1JFRU5fU0laRX0iICAgICAgICAgICAgICAgCisrICAgICAgICAgICAgZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisrICAgICAgICAgICAgICAgIEFSR1M9IiRBUkdTIC1kcGkgJHtEUEl9IC1ub2N1cnNvciIgICAgICAgCisrICAgICAgICAgICAgZmkgOzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAiZ3RhMDEiICkKKyAgICAgICAgICAgICBEUEk9IjI4MCIKKyAgICAgICAgICAgICBpZiBbICIkWFNFUlZFUiIgIT0gIlhvcmciIF0gOyB0aGVuCistLSAKKzEuNy44LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDEwLXhzZXJ2ZXItY29tbW9uLWFkZC1zdXBwb3J0LWZvci1uZXh1cy1TLWFsaWFzLWhlcnJpbmcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLWNvbW1vbi94c2VydmVyLWNvbW1vbi0xLjM0LzAwMTAteHNlcnZlci1jb21tb24tYWRkLXN1cHBvcnQtZm9yLW5leHVzLVMtYWxpYXMtaGVycmluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ODhiZTQwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDEwLXhzZXJ2ZXItY29tbW9uLWFkZC1zdXBwb3J0LWZvci1uZXh1cy1TLWFsaWFzLWhlcnJpbmcucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorRnJvbSA1MjAwM2U2YjUyYjE0MTdjMWEwZTU3MjQzZDgzMzQ5YWRkY2RhY2Y2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogV2VkLCAxMSBBcHIgMjAxMiAxNDo0MDo0NCArMDIwMAorU3ViamVjdDogW1BBVENIIDEwLzEyXSB4c2VydmVyLWNvbW1vbjogYWRkIHN1cHBvcnQgZm9yIG5leHVzIFMgYWxpYXMgaGVycmluZworCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBYMTEveHNlcnZlci1jb21tb24gfCAgICAzICsrKworIDEgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvWDExL3hzZXJ2ZXItY29tbW9uIGIvWDExL3hzZXJ2ZXItY29tbW9uCitpbmRleCA4NmVkMTdmLi41YzlhNmViIDEwMDY0NAorLS0tIGEvWDExL3hzZXJ2ZXItY29tbW9uCisrKysgYi9YMTEveHNlcnZlci1jb21tb24KK0BAIC0xMjYsNiArMTI2LDkgQEAgZWxzZQorICAgICAgICAgImh0Y190b3JuYWRvIikKKyAgICAgICAgICAgICBBUkdTPSIkQVJHUyAtaGlkZS1jdXJzb3IiCisgICAgICAgICAgICAgRFBJPSIxMDAiIDs7CisrICAgICAgICAiaGVycmluZyIpCisrICAgICAgICAgICAgRFBJPSIyMzUiCisrICAgICAgICAgICAgQVJHUz0iJEFSR1MgLWRwaSAke0RQSX0gLW5vY3Vyc29yIjs7CisgICAgICAgICAiZ2VuZXJpY19vbWFwMTUxMC8xNjEwLzE3MTAiKQorICAgICAgICAgICAgIEFSR1M9IiRBUkdTIC1zY3JlZW4gJHtTQ1JFRU5fU0laRX0iCisgICAgICAgICAgICAgRFBJPSIyMjUiIDs7CistLSAKKzEuNy44LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDExLXhzZXJ2ZXItY29tbW9uLWFkZC1zdXBwb3J0LWZvci1uZXh1cy1vbmUtYWxpYXMtbWFoaW0ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLWNvbW1vbi94c2VydmVyLWNvbW1vbi0xLjM0LzAwMTEteHNlcnZlci1jb21tb24tYWRkLXN1cHBvcnQtZm9yLW5leHVzLW9uZS1hbGlhcy1tYWhpbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODA0NTZkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDExLXhzZXJ2ZXItY29tbW9uLWFkZC1zdXBwb3J0LWZvci1uZXh1cy1vbmUtYWxpYXMtbWFoaW0ucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorRnJvbSAwZWNjOTc4YjdkOGNiNjg2NzY0NmZiMmEyOTUyM2ViZWYzYWZhMDE2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogV2VkLCAxMSBBcHIgMjAxMiAxNDo0MTowNiArMDIwMAorU3ViamVjdDogW1BBVENIIDExLzEyXSB4c2VydmVyLWNvbW1vbjogYWRkIHN1cHBvcnQgZm9yIG5leHVzIG9uZSBhbGlhcworIG1haGltYWhpCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIFgxMS94c2VydmVyLWNvbW1vbiB8ICAgIDMgKysrCisgMSBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9YMTEveHNlcnZlci1jb21tb24gYi9YMTEveHNlcnZlci1jb21tb24KK2luZGV4IDVjOWE2ZWIuLjU1NTk0ZmQgMTAwNjQ0CistLS0gYS9YMTEveHNlcnZlci1jb21tb24KKysrKyBiL1gxMS94c2VydmVyLWNvbW1vbgorQEAgLTEyOSw2ICsxMjksOSBAQCBlbHNlCisgICAgICAgICAiaGVycmluZyIpCisgICAgICAgICAgICAgRFBJPSIyMzUiCisgICAgICAgICAgICAgQVJHUz0iJEFSR1MgLWRwaSAke0RQSX0gLW5vY3Vyc29yIjs7CisrICAgICAgICAibWFoaW1haGkiKQorKyAgICAgICAgICAgIERQST0iMjU0IgorKyAgICAgICAgICAgIEFSR1M9IiRBUkdTIC1kcGkgJHtEUEl9Ijs7CisgICAgICAgICAiZ2VuZXJpY19vbWFwMTUxMC8xNjEwLzE3MTAiKQorICAgICAgICAgICAgIEFSR1M9IiRBUkdTIC1zY3JlZW4gJHtTQ1JFRU5fU0laRX0iCisgICAgICAgICAgICAgRFBJPSIyMjUiIDs7CistLSAKKzEuNy44LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDEyLXhzZXJ2ZXItY29tbW9uLWFkZC1zdXBwb3J0LWZvci1ndGEwNC1hbGlhcy1PcGVuUGhvZW4ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLWNvbW1vbi94c2VydmVyLWNvbW1vbi0xLjM0LzAwMTIteHNlcnZlci1jb21tb24tYWRkLXN1cHBvcnQtZm9yLWd0YTA0LWFsaWFzLU9wZW5QaG9lbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NGEwMzI5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDEyLXhzZXJ2ZXItY29tbW9uLWFkZC1zdXBwb3J0LWZvci1ndGEwNC1hbGlhcy1PcGVuUGhvZW4ucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorRnJvbSBkMTk0ZjAzMDI1ODJmMWNhNTk5ZjJlYTU4YzE1ZTE1ZjRmZDZiZGVmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogV2VkLCAxMSBBcHIgMjAxMiAxNDo0MTo1MiArMDIwMAorU3ViamVjdDogW1BBVENIIDEyLzEyXSB4c2VydmVyLWNvbW1vbjogYWRkIHN1cHBvcnQgZm9yIGd0YTA0IGFsaWFzCisgT3BlblBob2VudXgKKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgWDExL3hzZXJ2ZXItY29tbW9uIHwgICAgOCArKysrKysrKworIDEgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvWDExL3hzZXJ2ZXItY29tbW9uIGIvWDExL3hzZXJ2ZXItY29tbW9uCitpbmRleCA1NTU5NGZkLi40MzQzMzNlIDEwMDY0NAorLS0tIGEvWDExL3hzZXJ2ZXItY29tbW9uCisrKysgYi9YMTEveHNlcnZlci1jb21tb24KK0BAIC0xNjEsNiArMTYxLDE0IEBAIGVsc2UKKyAgICAgICAgICAgICAgICAgQVJHUz0iJEFSR1MgLWRwaSAke0RQSX0gLW5vY3Vyc29yIgorICAgICAgICAgICAgIGZpCisgICAgICAgICAgICAgOzsKKysgICAgICAgICJndGEwNCIpCisrICAgICAgICAgICAgRFBJPSIyODAiCisrICAgICAgICAgICAgaWYgWyAiJFhTRVJWRVIiICE9ICJYb3JnIiBdIDsgdGhlbgorKyAgICAgICAgICAgICAgICBBUkdTPSIkQVJHUyAtc2NyZWVuICR7U0NSRUVOX1NJWkV9IgorKyAgICAgICAgICAgIGVsc2UKKysgICAgICAgICAgICAgICAgQVJHUz0iJEFSR1MgLWRwaSAke0RQSX0gLW5vY3Vyc29yIgorKyAgICAgICAgICAgIGZpCisrICAgICAgICAgICAgOzsKKyAgICAgICAgICJtb3Rvcm9sYV9lenhfcGxhdGZvcm0iKQorICAgICAgICAgICAgIEFSR1M9IiRBUkdTIC1zY3JlZW4gMjQweDMyMCIKKyAgICAgICAgICAgICBEUEk9IjE3MCIgOzsKKy0tIAorMS43LjguNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLWNvbW1vbi94c2VydmVyLWNvbW1vbi0xLjM0LzAwMTMteHNlcnZlci1jb21tb24tYWRkLXN1cHBvcnQtZm9yLXR1bmEtYWxpYXMtR2FsYXh5LU5leC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAxMy14c2VydmVyLWNvbW1vbi1hZGQtc3VwcG9ydC1mb3ItdHVuYS1hbGlhcy1HYWxheHktTmV4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ5MzIxZWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLWNvbW1vbi94c2VydmVyLWNvbW1vbi0xLjM0LzAwMTMteHNlcnZlci1jb21tb24tYWRkLXN1cHBvcnQtZm9yLXR1bmEtYWxpYXMtR2FsYXh5LU5leC5wYXRjaApAQCAtMCwwICsxLDMzIEBACitGcm9tIDE3NmMzYmQzZDg2YzIyM2ZkNDRiMGYxNWI2MmQzODUyNmJiM2IwZDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDE3IEF1ZyAyMDEyIDEzOjAwOjU2ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMTMvMTNdIHhzZXJ2ZXItY29tbW9uOiBhZGQgc3VwcG9ydCBmb3IgdHVuYSBhbGlhcyBHYWxheHkKKyBOZXh1cworCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBYMTEveHNlcnZlci1jb21tb24gfCAgICA4ICsrKysrKysrCisgMSBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9YMTEveHNlcnZlci1jb21tb24gYi9YMTEveHNlcnZlci1jb21tb24KK2luZGV4IGQ5MzI1ZGQuLjAxN2U1YWUgMTAwNjQ0CistLS0gYS9YMTEveHNlcnZlci1jb21tb24KKysrKyBiL1gxMS94c2VydmVyLWNvbW1vbgorQEAgLTE2OSw2ICsxNjksMTQgQEAgZWxzZQorICAgICAgICAgICAgICAgICBBUkdTPSIkQVJHUyAtZHBpICR7RFBJfSAtbm9jdXJzb3IiCisgICAgICAgICAgICAgZmkKKyAgICAgICAgICAgICA7OworKyAgICAgICAgInR1bmEiKQorKyAgICAgICAgICAgIERQST0iMzE2IgorKyAgICAgICAgICAgIGlmIFsgIiRYU0VSVkVSIiAhPSAiWG9yZyIgXSA7IHRoZW4KKysgICAgICAgICAgICAgICAgQVJHUz0iJEFSR1MgLXNjcmVlbiAke1NDUkVFTl9TSVpFfSIKKysgICAgICAgICAgICBlbHNlCisrICAgICAgICAgICAgICAgIEFSR1M9IiRBUkdTIC1kcGkgJHtEUEl9IC1ub2N1cnNvciIKKysgICAgICAgICAgICBmaQorKyAgICAgICAgICAgIDs7CisgICAgICAgICAibW90b3JvbGFfZXp4X3BsYXRmb3JtIikKKyAgICAgICAgICAgICBBUkdTPSIkQVJHUyAtc2NyZWVuIDI0MHgzMjAiCisgICAgICAgICAgICAgRFBJPSIxNzAiIDs7CistLSAKKzEuNy44LjYKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDE0LVhzZXJ2ZXItU3RhcnQtWHNlc3Npb24tbGlrZS14MTEtY29tbW9uLWRvZXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLWNvbW1vbi94c2VydmVyLWNvbW1vbi0xLjM0LzAwMTQtWHNlcnZlci1TdGFydC1Yc2Vzc2lvbi1saWtlLXgxMS1jb21tb24tZG9lcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YTc1OTY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDE0LVhzZXJ2ZXItU3RhcnQtWHNlc3Npb24tbGlrZS14MTEtY29tbW9uLWRvZXMucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorRnJvbSA4MTcxZjg5OTQ0OTY5YTA4MWJlMWFjMTkzYjJhNTkwMTZlMzlhMzQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogVHVlLCAyOSBPY3QgMjAxMyAxNzowNzoyMSArMDEwMAorU3ViamVjdDogW1BBVENIIDE0LzE0XSBYc2VydmVyOiBTdGFydCBYc2Vzc2lvbiBsaWtlIHgxMS1jb21tb24gZG9lcworCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBYMTEvWHNlcnZlciB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9YMTEvWHNlcnZlciBiL1gxMS9Yc2VydmVyCitpbmRleCA1NTlmMDU5Li40Yjg4NjM3IDEwMDc1NQorLS0tIGEvWDExL1hzZXJ2ZXIKKysrKyBiL1gxMS9Yc2VydmVyCitAQCAtNCw2ICs0LDYgQEAKKyAuIC9ldGMvWDExL3hzZXJ2ZXItY29tbW9uCisgCisgZWNobyAidHNsaWI6ICRUU0xJQl9UU0RFVklDRSIKKy1lY2hvICJleGVjICRYU0VSVkVSICRBUkdTIC1kcGkgJERQSSAkKiIKKy1leGVjICRYU0VSVkVSICRBUkdTIC1kcGkgJERQSSAkKgorK2VjaG8gImV4ZWMgeGluaXQgL2V0Yy9YMTEvWHNlc3Npb24gLS0gJEJJTkRJUi8kWFNFUlZFUiAkQVJHUyAtZHBpICREUEkgJCoiCisgCisrZXhlYyB4aW5pdCAvZXRjL1gxMS9Yc2Vzc2lvbiAtLSAkQklORElSLyRYU0VSVkVSICRBUkdTIC1kcGkgJERQSSAkKgorLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAxNS14c2VydmVyLWNvbW1vbi1kaXNhYmxlLVRDUC1jb25uZWN0aW9ucy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAxNS14c2VydmVyLWNvbW1vbi1kaXNhYmxlLVRDUC1jb25uZWN0aW9ucy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNmRmMjYxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDE1LXhzZXJ2ZXItY29tbW9uLWRpc2FibGUtVENQLWNvbm5lY3Rpb25zLnBhdGNoCkBAIC0wLDAgKzEsMjQgQEAKK0Zyb206IEphdmllciBWaWd1ZXJhIDxqYXZpZXIudmlndWVyYUBkaWdpLmNvbT4KK0RhdGU6IFdlZCwgMjYgTm92IDIwMTQgMDk6MjQ6NDQgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0geHNlcnZlci1jb21tb246IGRpc2FibGUgVENQIGNvbm5lY3Rpb25zCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworU2lnbmVkLW9mZi1ieTogSmF2aWVyIFZpZ3VlcmEgPGphdmllci52aWd1ZXJhQGRpZ2kuY29tPgorLS0tCisgWDExL3hzZXJ2ZXItY29tbW9uIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvWDExL3hzZXJ2ZXItY29tbW9uIGIvWDExL3hzZXJ2ZXItY29tbW9uCitpbmRleCAwMTdlNWFlZTFhYjAuLjRkYzQ4YzQxMjc0MSAxMDA2NDQKKy0tLSBhL1gxMS94c2VydmVyLWNvbW1vbgorKysrIGIvWDExL3hzZXJ2ZXItY29tbW9uCitAQCAtNDQsNyArNDQsNyBAQCBTQ1JFRU5fU0laRT1gZmFsbGJhY2tfc2NyZWVuX2FyZ2AKKyBleHBvcnQgVVNFUj1yb290CisgZXhwb3J0IFhTRVJWRVJfREVGQVVMVF9PUklFTlRBVElPTj1ub3JtYWwKKyAKKy1BUkdTPSItYnIgLXBuICRJTlBVVF9FWFRSQV9BUkdTIgorK0FSR1M9Ii1iciAtcG4gLW5vbGlzdGVuIHRjcCAkSU5QVVRfRVhUUkFfQVJHUyIKKyBEUEk9IjEwMCIKKyBNT1VTRT0iIgorIEtEUklWRUFSR1M9IiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uXzEuMzQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLWNvbW1vbi94c2VydmVyLWNvbW1vbl8xLjM0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzMTVlZDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLWNvbW1vbi94c2VydmVyLWNvbW1vbl8xLjM0LmJiCkBAIC0wLDAgKzEsNDUgQEAKK1NVTU1BUlkgPSAiQ29tbW9uIFgxMSBzY3JpcHRzIGFuZCBzdXBwb3J0IGZpbGVzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorCitQUiA9ICJyOCIKKworIyB3ZSBhcmUgdXNpbmcgYSBncGUtc3R5bGUgTWFrZWZpbGUKK2luaGVyaXQgZ3BlCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4MmYyZjg0Y2Q5NjYxMGU4ZjdiOTJjNzAwY2QzMWMxNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjZDA0YzMzNDE4Zjc3NmIxZTEzZmNjN2FmM2Q2YmQwYzdjY2NkMDNmYmFiZDdkYmNkOTdmODgxNjZjYzM0MjEwIgorCitTUkNfVVJJX2FwcGVuZCA9ICIgXAorICAgIGZpbGU6Ly8wMDAxLUNPUFlJTkctYWRkLUdQTHYyLWxpY2Vuc2UtZmlsZS5wYXRjaCBcCisgICAgZmlsZTovLzAwMDItYWRkLXNldGRwaS1YaW5pdC5kLXNjcmlwdC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDMtYWRkLTg5eGRnYXV0b3N0YXJ0LVhzZXNzaW9uLmQtc2NyaXB0LnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwNS1hZGQtWFdpbmRvd01hbmFnZXItWHNlc3Npb24uZC1zY3JpcHQucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDA2LWFkZC1zdXBwb3J0LWZvci1ldGMtWDExLXhzZXJ2ZXItc3lzdGVtLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwNy11c2Utb3duLWZ1bmN0aW9ucy1maWxlLWluc3RlYWQtZXRjLWluaXQuZC1mdW5jdGlvbnMucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDA4LXhzZXJ2ZXItY29tbW9uLWFkZC1kcGktYW5kLW5vY3Vyc29yLXBhcmFtcy1mb3ItZ3RhMDEucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDA5LXhzZXJ2ZXItY29tbW9uLWFkZC1zdXBwb3J0LWZvci1uOTAwLWFsaWFzLW5va2lhX3J4LTUucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDEwLXhzZXJ2ZXItY29tbW9uLWFkZC1zdXBwb3J0LWZvci1uZXh1cy1TLWFsaWFzLWhlcnJpbmcucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDExLXhzZXJ2ZXItY29tbW9uLWFkZC1zdXBwb3J0LWZvci1uZXh1cy1vbmUtYWxpYXMtbWFoaW0ucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDEyLXhzZXJ2ZXItY29tbW9uLWFkZC1zdXBwb3J0LWZvci1ndGEwNC1hbGlhcy1PcGVuUGhvZW4ucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDEzLXhzZXJ2ZXItY29tbW9uLWFkZC1zdXBwb3J0LWZvci10dW5hLWFsaWFzLUdhbGF4eS1OZXgucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDE0LVhzZXJ2ZXItU3RhcnQtWHNlc3Npb24tbGlrZS14MTEtY29tbW9uLWRvZXMucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDE1LXhzZXJ2ZXItY29tbW9uLWRpc2FibGUtVENQLWNvbm5lY3Rpb25zLnBhdGNoIFwKKyIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgc2VkIC1pICdzOl5CSU5ESVI9LiokOkJJTkRJUj0ke2JpbmRpcn06JyAke0R9L2V0Yy9YMTEveHNlcnZlci1jb21tb24KKyAgICAjIFJlbmFtZSBhbGwgWHNlc3Npb24gZmlsZXMgbm90IGVuZGluZyB3aXRoIC5zaAorICAgICMgVW5mb3J0dW5hdGVsbHkgd2hlbiB4aW5wdXQtY2FsaWJyYXRvciB3YXMgbW92ZWQgdG8gb2UtY29yZQorICAgICMgaXRzIFhzZXNzaW9uIGZpbGUgZ290IG5hbWUgMzB4aW5wdXRfY2FsaWJyYXRlLnNoIGFuZCBscyAtWCBzb3J0cyBpdAorICAgICMgbGFzdCwgbm90IHJlc3BlY3RpbmcgbnVtYmVycyBmb3Igc29ydGluZyB0aGVtCisgICAgZm9yIGkgaW4gJHtEfS8ke3N5c2NvbmZkaXJ9L1gxMS9Yc2Vzc2lvbi5kLyo7IGRvCisgICAgICAgIGVjaG8gJGkgfCBncmVwICcuc2gkJyB8fCBtdiAkaSAkaS5zaAorICAgIGRvbmUKK30KKworUkRFUEVORFNfJHtQTn0gPSAieG1vZG1hcCB4cmFuZHIgeGRweWluZm8gZmJzZXQgeGlucHV0LWNhbGlicmF0b3IiCisKK1JDT05GTElDVFNfJHtQTn0gPSAieHNlcnZlci1rZHJpdmUtY29tbW9uIHgxMS1jb21tb24iCitSUkVQTEFDRVNfJHtQTn0gPSAieHNlcnZlci1rZHJpdmUtY29tbW9uIHgxMS1jb21tb24iCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItbm9kbS1pbml0L3hzZXJ2ZXItbm9kbS1pbml0LTIuMC9ncGx2Mi1saWNlbnNlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1ub2RtLWluaXQveHNlcnZlci1ub2RtLWluaXQtMi4wL2dwbHYyLWxpY2Vuc2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWM5MzI1MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItbm9kbS1pbml0L3hzZXJ2ZXItbm9kbS1pbml0LTIuMC9ncGx2Mi1saWNlbnNlLnBhdGNoCkBAIC0wLDAgKzEsMzUzIEBACitDT1BZSU5HOiBhZGQgR1BMdjIgbGljZW5zZSBmaWxlCisKK3RoaXMgaXMgYSBsb2NhbCBmaWxlIHJlY2lwZSBhbmQgdGhlIGxpY2Vuc2UgZmlsZSBpcyBtaXNzaW5nLkluIG9yZGVyCit0byBwYXNzIHRoZSBsaWNlbnNlIGNoZWNrc3VtIGNoZWNraW5nLCB0aGUgbGljZW5zZSBmaWxlIGlzIG5lZWRlZC4gU28KK3RoaXMgcGF0Y2ggYWRkIHRoZSBHUEx2MiBsaWNlbnNlIGZpbGUuCisKK1NpZ25lZC1vZmYtYnk6IFl1IEtlIDxrZS55dUBpbnRlbC5jb20+CisKK2RpZmYgLS1naXQgYS9DT1BZSU5HIGIvQ09QWUlORworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmQ1MTE5MDUKKy0tLSAvZGV2L251bGwKKysrKyBiL0NPUFlJTkcKK0BAIC0wLDAgKzEsMzM5IEBACisrCQkgICAgR05VIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UKKysJCSAgICAgICBWZXJzaW9uIDIsIEp1bmUgMTk5MQorKworKyBDb3B5cmlnaHQgKEMpIDE5ODksIDE5OTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorKyA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBCisrIEV2ZXJ5b25lIGlzIHBlcm1pdHRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcworKyBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KKysKKysJCQkgICAgUHJlYW1ibGUKKysKKysgIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhcmUgZGVzaWduZWQgdG8gdGFrZSBhd2F5IHlvdXIKKytmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgaXQuICBCeSBjb250cmFzdCwgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworK0xpY2Vuc2UgaXMgaW50ZW5kZWQgdG8gZ3VhcmFudGVlIHlvdXIgZnJlZWRvbSB0byBzaGFyZSBhbmQgY2hhbmdlIGZyZWUKKytzb2Z0d2FyZS0tdG8gbWFrZSBzdXJlIHRoZSBzb2Z0d2FyZSBpcyBmcmVlIGZvciBhbGwgaXRzIHVzZXJzLiAgVGhpcworK0dlbmVyYWwgUHVibGljIExpY2Vuc2UgYXBwbGllcyB0byBtb3N0IG9mIHRoZSBGcmVlIFNvZnR3YXJlCisrRm91bmRhdGlvbidzIHNvZnR3YXJlIGFuZCB0byBhbnkgb3RoZXIgcHJvZ3JhbSB3aG9zZSBhdXRob3JzIGNvbW1pdCB0bworK3VzaW5nIGl0LiAgKFNvbWUgb3RoZXIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIHNvZnR3YXJlIGlzIGNvdmVyZWQgYnkKKyt0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGluc3RlYWQuKSAgWW91IGNhbiBhcHBseSBpdCB0bworK3lvdXIgcHJvZ3JhbXMsIHRvby4KKysKKysgIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKKytwcmljZS4gIE91ciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlcyBhcmUgZGVzaWduZWQgdG8gbWFrZSBzdXJlIHRoYXQgeW91CisraGF2ZSB0aGUgZnJlZWRvbSB0byBkaXN0cmlidXRlIGNvcGllcyBvZiBmcmVlIHNvZnR3YXJlIChhbmQgY2hhcmdlIGZvcgorK3RoaXMgc2VydmljZSBpZiB5b3Ugd2lzaCksIHRoYXQgeW91IHJlY2VpdmUgc291cmNlIGNvZGUgb3IgY2FuIGdldCBpdAorK2lmIHlvdSB3YW50IGl0LCB0aGF0IHlvdSBjYW4gY2hhbmdlIHRoZSBzb2Z0d2FyZSBvciB1c2UgcGllY2VzIG9mIGl0CisraW4gbmV3IGZyZWUgcHJvZ3JhbXM7IGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgorKworKyAgVG8gcHJvdGVjdCB5b3VyIHJpZ2h0cywgd2UgbmVlZCB0byBtYWtlIHJlc3RyaWN0aW9ucyB0aGF0IGZvcmJpZAorK2FueW9uZSB0byBkZW55IHlvdSB0aGVzZSByaWdodHMgb3IgdG8gYXNrIHlvdSB0byBzdXJyZW5kZXIgdGhlIHJpZ2h0cy4KKytUaGVzZSByZXN0cmljdGlvbnMgdHJhbnNsYXRlIHRvIGNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBmb3IgeW91IGlmIHlvdQorK2Rpc3RyaWJ1dGUgY29waWVzIG9mIHRoZSBzb2Z0d2FyZSwgb3IgaWYgeW91IG1vZGlmeSBpdC4KKysKKysgIEZvciBleGFtcGxlLCBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2Ygc3VjaCBhIHByb2dyYW0sIHdoZXRoZXIKKytncmF0aXMgb3IgZm9yIGEgZmVlLCB5b3UgbXVzdCBnaXZlIHRoZSByZWNpcGllbnRzIGFsbCB0aGUgcmlnaHRzIHRoYXQKKyt5b3UgaGF2ZS4gIFlvdSBtdXN0IG1ha2Ugc3VyZSB0aGF0IHRoZXksIHRvbywgcmVjZWl2ZSBvciBjYW4gZ2V0IHRoZQorK3NvdXJjZSBjb2RlLiAgQW5kIHlvdSBtdXN0IHNob3cgdGhlbSB0aGVzZSB0ZXJtcyBzbyB0aGV5IGtub3cgdGhlaXIKKytyaWdodHMuCisrCisrICBXZSBwcm90ZWN0IHlvdXIgcmlnaHRzIHdpdGggdHdvIHN0ZXBzOiAoMSkgY29weXJpZ2h0IHRoZSBzb2Z0d2FyZSwgYW5kCisrKDIpIG9mZmVyIHlvdSB0aGlzIGxpY2Vuc2Ugd2hpY2ggZ2l2ZXMgeW91IGxlZ2FsIHBlcm1pc3Npb24gdG8gY29weSwKKytkaXN0cmlidXRlIGFuZC9vciBtb2RpZnkgdGhlIHNvZnR3YXJlLgorKworKyAgQWxzbywgZm9yIGVhY2ggYXV0aG9yJ3MgcHJvdGVjdGlvbiBhbmQgb3Vycywgd2Ugd2FudCB0byBtYWtlIGNlcnRhaW4KKyt0aGF0IGV2ZXJ5b25lIHVuZGVyc3RhbmRzIHRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZQorK3NvZnR3YXJlLiAgSWYgdGhlIHNvZnR3YXJlIGlzIG1vZGlmaWVkIGJ5IHNvbWVvbmUgZWxzZSBhbmQgcGFzc2VkIG9uLCB3ZQorK3dhbnQgaXRzIHJlY2lwaWVudHMgdG8ga25vdyB0aGF0IHdoYXQgdGhleSBoYXZlIGlzIG5vdCB0aGUgb3JpZ2luYWwsIHNvCisrdGhhdCBhbnkgcHJvYmxlbXMgaW50cm9kdWNlZCBieSBvdGhlcnMgd2lsbCBub3QgcmVmbGVjdCBvbiB0aGUgb3JpZ2luYWwKKythdXRob3JzJyByZXB1dGF0aW9ucy4KKysKKysgIEZpbmFsbHksIGFueSBmcmVlIHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlCisrcGF0ZW50cy4gIFdlIHdpc2ggdG8gYXZvaWQgdGhlIGRhbmdlciB0aGF0IHJlZGlzdHJpYnV0b3JzIG9mIGEgZnJlZQorK3Byb2dyYW0gd2lsbCBpbmRpdmlkdWFsbHkgb2J0YWluIHBhdGVudCBsaWNlbnNlcywgaW4gZWZmZWN0IG1ha2luZyB0aGUKKytwcm9ncmFtIHByb3ByaWV0YXJ5LiAgVG8gcHJldmVudCB0aGlzLCB3ZSBoYXZlIG1hZGUgaXQgY2xlYXIgdGhhdCBhbnkKKytwYXRlbnQgbXVzdCBiZSBsaWNlbnNlZCBmb3IgZXZlcnlvbmUncyBmcmVlIHVzZSBvciBub3QgbGljZW5zZWQgYXQgYWxsLgorKworKyAgVGhlIHByZWNpc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBhbmQKKyttb2RpZmljYXRpb24gZm9sbG93LgorKworKwkJICAgIEdOVSBHRU5FUkFMIFBVQkxJQyBMSUNFTlNFCisrICAgVEVSTVMgQU5EIENPTkRJVElPTlMgRk9SIENPUFlJTkcsIERJU1RSSUJVVElPTiBBTkQgTU9ESUZJQ0FUSU9OCisrCisrICAwLiBUaGlzIExpY2Vuc2UgYXBwbGllcyB0byBhbnkgcHJvZ3JhbSBvciBvdGhlciB3b3JrIHdoaWNoIGNvbnRhaW5zCisrYSBub3RpY2UgcGxhY2VkIGJ5IHRoZSBjb3B5cmlnaHQgaG9sZGVyIHNheWluZyBpdCBtYXkgYmUgZGlzdHJpYnV0ZWQKKyt1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgVGhlICJQcm9ncmFtIiwgYmVsb3csCisrcmVmZXJzIHRvIGFueSBzdWNoIHByb2dyYW0gb3Igd29yaywgYW5kIGEgIndvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0iCisrbWVhbnMgZWl0aGVyIHRoZSBQcm9ncmFtIG9yIGFueSBkZXJpdmF0aXZlIHdvcmsgdW5kZXIgY29weXJpZ2h0IGxhdzoKKyt0aGF0IGlzIHRvIHNheSwgYSB3b3JrIGNvbnRhaW5pbmcgdGhlIFByb2dyYW0gb3IgYSBwb3J0aW9uIG9mIGl0LAorK2VpdGhlciB2ZXJiYXRpbSBvciB3aXRoIG1vZGlmaWNhdGlvbnMgYW5kL29yIHRyYW5zbGF0ZWQgaW50byBhbm90aGVyCisrbGFuZ3VhZ2UuICAoSGVyZWluYWZ0ZXIsIHRyYW5zbGF0aW9uIGlzIGluY2x1ZGVkIHdpdGhvdXQgbGltaXRhdGlvbiBpbgorK3RoZSB0ZXJtICJtb2RpZmljYXRpb24iLikgIEVhY2ggbGljZW5zZWUgaXMgYWRkcmVzc2VkIGFzICJ5b3UiLgorKworK0FjdGl2aXRpZXMgb3RoZXIgdGhhbiBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kIG1vZGlmaWNhdGlvbiBhcmUgbm90CisrY292ZXJlZCBieSB0aGlzIExpY2Vuc2U7IHRoZXkgYXJlIG91dHNpZGUgaXRzIHNjb3BlLiAgVGhlIGFjdCBvZgorK3J1bm5pbmcgdGhlIFByb2dyYW0gaXMgbm90IHJlc3RyaWN0ZWQsIGFuZCB0aGUgb3V0cHV0IGZyb20gdGhlIFByb2dyYW0KKytpcyBjb3ZlcmVkIG9ubHkgaWYgaXRzIGNvbnRlbnRzIGNvbnN0aXR1dGUgYSB3b3JrIGJhc2VkIG9uIHRoZQorK1Byb2dyYW0gKGluZGVwZW5kZW50IG9mIGhhdmluZyBiZWVuIG1hZGUgYnkgcnVubmluZyB0aGUgUHJvZ3JhbSkuCisrV2hldGhlciB0aGF0IGlzIHRydWUgZGVwZW5kcyBvbiB3aGF0IHRoZSBQcm9ncmFtIGRvZXMuCisrCisrICAxLiBZb3UgbWF5IGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzIG9mIHRoZSBQcm9ncmFtJ3MKKytzb3VyY2UgY29kZSBhcyB5b3UgcmVjZWl2ZSBpdCwgaW4gYW55IG1lZGl1bSwgcHJvdmlkZWQgdGhhdCB5b3UKKytjb25zcGljdW91c2x5IGFuZCBhcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlCisrY29weXJpZ2h0IG5vdGljZSBhbmQgZGlzY2xhaW1lciBvZiB3YXJyYW50eTsga2VlcCBpbnRhY3QgYWxsIHRoZQorK25vdGljZXMgdGhhdCByZWZlciB0byB0aGlzIExpY2Vuc2UgYW5kIHRvIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsKKythbmQgZ2l2ZSBhbnkgb3RoZXIgcmVjaXBpZW50cyBvZiB0aGUgUHJvZ3JhbSBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlCisrYWxvbmcgd2l0aCB0aGUgUHJvZ3JhbS4KKysKKytZb3UgbWF5IGNoYXJnZSBhIGZlZSBmb3IgdGhlIHBoeXNpY2FsIGFjdCBvZiB0cmFuc2ZlcnJpbmcgYSBjb3B5LCBhbmQKKyt5b3UgbWF5IGF0IHlvdXIgb3B0aW9uIG9mZmVyIHdhcnJhbnR5IHByb3RlY3Rpb24gaW4gZXhjaGFuZ2UgZm9yIGEgZmVlLgorKworKyAgMi4gWW91IG1heSBtb2RpZnkgeW91ciBjb3B5IG9yIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbgorK29mIGl0LCB0aHVzIGZvcm1pbmcgYSB3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtLCBhbmQgY29weSBhbmQKKytkaXN0cmlidXRlIHN1Y2ggbW9kaWZpY2F0aW9ucyBvciB3b3JrIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9uIDEKKythYm92ZSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBtZWV0IGFsbCBvZiB0aGVzZSBjb25kaXRpb25zOgorKworKyAgICBhKSBZb3UgbXVzdCBjYXVzZSB0aGUgbW9kaWZpZWQgZmlsZXMgdG8gY2FycnkgcHJvbWluZW50IG5vdGljZXMKKysgICAgc3RhdGluZyB0aGF0IHlvdSBjaGFuZ2VkIHRoZSBmaWxlcyBhbmQgdGhlIGRhdGUgb2YgYW55IGNoYW5nZS4KKysKKysgICAgYikgWW91IG11c3QgY2F1c2UgYW55IHdvcmsgdGhhdCB5b3UgZGlzdHJpYnV0ZSBvciBwdWJsaXNoLCB0aGF0IGluCisrICAgIHdob2xlIG9yIGluIHBhcnQgY29udGFpbnMgb3IgaXMgZGVyaXZlZCBmcm9tIHRoZSBQcm9ncmFtIG9yIGFueQorKyAgICBwYXJ0IHRoZXJlb2YsIHRvIGJlIGxpY2Vuc2VkIGFzIGEgd2hvbGUgYXQgbm8gY2hhcmdlIHRvIGFsbCB0aGlyZAorKyAgICBwYXJ0aWVzIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UuCisrCisrICAgIGMpIElmIHRoZSBtb2RpZmllZCBwcm9ncmFtIG5vcm1hbGx5IHJlYWRzIGNvbW1hbmRzIGludGVyYWN0aXZlbHkKKysgICAgd2hlbiBydW4sIHlvdSBtdXN0IGNhdXNlIGl0LCB3aGVuIHN0YXJ0ZWQgcnVubmluZyBmb3Igc3VjaAorKyAgICBpbnRlcmFjdGl2ZSB1c2UgaW4gdGhlIG1vc3Qgb3JkaW5hcnkgd2F5LCB0byBwcmludCBvciBkaXNwbGF5IGFuCisrICAgIGFubm91bmNlbWVudCBpbmNsdWRpbmcgYW4gYXBwcm9wcmlhdGUgY29weXJpZ2h0IG5vdGljZSBhbmQgYQorKyAgICBub3RpY2UgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSAob3IgZWxzZSwgc2F5aW5nIHRoYXQgeW91IHByb3ZpZGUKKysgICAgYSB3YXJyYW50eSkgYW5kIHRoYXQgdXNlcnMgbWF5IHJlZGlzdHJpYnV0ZSB0aGUgcHJvZ3JhbSB1bmRlcgorKyAgICB0aGVzZSBjb25kaXRpb25zLCBhbmQgdGVsbGluZyB0aGUgdXNlciBob3cgdG8gdmlldyBhIGNvcHkgb2YgdGhpcworKyAgICBMaWNlbnNlLiAgKEV4Y2VwdGlvbjogaWYgdGhlIFByb2dyYW0gaXRzZWxmIGlzIGludGVyYWN0aXZlIGJ1dAorKyAgICBkb2VzIG5vdCBub3JtYWxseSBwcmludCBzdWNoIGFuIGFubm91bmNlbWVudCwgeW91ciB3b3JrIGJhc2VkIG9uCisrICAgIHRoZSBQcm9ncmFtIGlzIG5vdCByZXF1aXJlZCB0byBwcmludCBhbiBhbm5vdW5jZW1lbnQuKQorKworK1RoZXNlIHJlcXVpcmVtZW50cyBhcHBseSB0byB0aGUgbW9kaWZpZWQgd29yayBhcyBhIHdob2xlLiAgSWYKKytpZGVudGlmaWFibGUgc2VjdGlvbnMgb2YgdGhhdCB3b3JrIGFyZSBub3QgZGVyaXZlZCBmcm9tIHRoZSBQcm9ncmFtLAorK2FuZCBjYW4gYmUgcmVhc29uYWJseSBjb25zaWRlcmVkIGluZGVwZW5kZW50IGFuZCBzZXBhcmF0ZSB3b3JrcyBpbgorK3RoZW1zZWx2ZXMsIHRoZW4gdGhpcyBMaWNlbnNlLCBhbmQgaXRzIHRlcm1zLCBkbyBub3QgYXBwbHkgdG8gdGhvc2UKKytzZWN0aW9ucyB3aGVuIHlvdSBkaXN0cmlidXRlIHRoZW0gYXMgc2VwYXJhdGUgd29ya3MuICBCdXQgd2hlbiB5b3UKKytkaXN0cmlidXRlIHRoZSBzYW1lIHNlY3Rpb25zIGFzIHBhcnQgb2YgYSB3aG9sZSB3aGljaCBpcyBhIHdvcmsgYmFzZWQKKytvbiB0aGUgUHJvZ3JhbSwgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGUgd2hvbGUgbXVzdCBiZSBvbiB0aGUgdGVybXMgb2YKKyt0aGlzIExpY2Vuc2UsIHdob3NlIHBlcm1pc3Npb25zIGZvciBvdGhlciBsaWNlbnNlZXMgZXh0ZW5kIHRvIHRoZQorK2VudGlyZSB3aG9sZSwgYW5kIHRodXMgdG8gZWFjaCBhbmQgZXZlcnkgcGFydCByZWdhcmRsZXNzIG9mIHdobyB3cm90ZSBpdC4KKysKKytUaHVzLCBpdCBpcyBub3QgdGhlIGludGVudCBvZiB0aGlzIHNlY3Rpb24gdG8gY2xhaW0gcmlnaHRzIG9yIGNvbnRlc3QKKyt5b3VyIHJpZ2h0cyB0byB3b3JrIHdyaXR0ZW4gZW50aXJlbHkgYnkgeW91OyByYXRoZXIsIHRoZSBpbnRlbnQgaXMgdG8KKytleGVyY2lzZSB0aGUgcmlnaHQgdG8gY29udHJvbCB0aGUgZGlzdHJpYnV0aW9uIG9mIGRlcml2YXRpdmUgb3IKKytjb2xsZWN0aXZlIHdvcmtzIGJhc2VkIG9uIHRoZSBQcm9ncmFtLgorKworK0luIGFkZGl0aW9uLCBtZXJlIGFnZ3JlZ2F0aW9uIG9mIGFub3RoZXIgd29yayBub3QgYmFzZWQgb24gdGhlIFByb2dyYW0KKyt3aXRoIHRoZSBQcm9ncmFtIChvciB3aXRoIGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSkgb24gYSB2b2x1bWUgb2YKKythIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSBkb2VzIG5vdCBicmluZyB0aGUgb3RoZXIgd29yayB1bmRlcgorK3RoZSBzY29wZSBvZiB0aGlzIExpY2Vuc2UuCisrCisrICAzLiBZb3UgbWF5IGNvcHkgYW5kIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gKG9yIGEgd29yayBiYXNlZCBvbiBpdCwKKyt1bmRlciBTZWN0aW9uIDIpIGluIG9iamVjdCBjb2RlIG9yIGV4ZWN1dGFibGUgZm9ybSB1bmRlciB0aGUgdGVybXMgb2YKKytTZWN0aW9ucyAxIGFuZCAyIGFib3ZlIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gZG8gb25lIG9mIHRoZSBmb2xsb3dpbmc6CisrCisrICAgIGEpIEFjY29tcGFueSBpdCB3aXRoIHRoZSBjb21wbGV0ZSBjb3JyZXNwb25kaW5nIG1hY2hpbmUtcmVhZGFibGUKKysgICAgc291cmNlIGNvZGUsIHdoaWNoIG11c3QgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zCisrICAgIDEgYW5kIDIgYWJvdmUgb24gYSBtZWRpdW0gY3VzdG9tYXJpbHkgdXNlZCBmb3Igc29mdHdhcmUgaW50ZXJjaGFuZ2U7IG9yLAorKworKyAgICBiKSBBY2NvbXBhbnkgaXQgd2l0aCBhIHdyaXR0ZW4gb2ZmZXIsIHZhbGlkIGZvciBhdCBsZWFzdCB0aHJlZQorKyAgICB5ZWFycywgdG8gZ2l2ZSBhbnkgdGhpcmQgcGFydHksIGZvciBhIGNoYXJnZSBubyBtb3JlIHRoYW4geW91cgorKyAgICBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyBzb3VyY2UgZGlzdHJpYnV0aW9uLCBhIGNvbXBsZXRlCisrICAgIG1hY2hpbmUtcmVhZGFibGUgY29weSBvZiB0aGUgY29ycmVzcG9uZGluZyBzb3VyY2UgY29kZSwgdG8gYmUKKysgICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zIDEgYW5kIDIgYWJvdmUgb24gYSBtZWRpdW0KKysgICAgY3VzdG9tYXJpbHkgdXNlZCBmb3Igc29mdHdhcmUgaW50ZXJjaGFuZ2U7IG9yLAorKworKyAgICBjKSBBY2NvbXBhbnkgaXQgd2l0aCB0aGUgaW5mb3JtYXRpb24geW91IHJlY2VpdmVkIGFzIHRvIHRoZSBvZmZlcgorKyAgICB0byBkaXN0cmlidXRlIGNvcnJlc3BvbmRpbmcgc291cmNlIGNvZGUuICAoVGhpcyBhbHRlcm5hdGl2ZSBpcworKyAgICBhbGxvd2VkIG9ubHkgZm9yIG5vbmNvbW1lcmNpYWwgZGlzdHJpYnV0aW9uIGFuZCBvbmx5IGlmIHlvdQorKyAgICByZWNlaXZlZCB0aGUgcHJvZ3JhbSBpbiBvYmplY3QgY29kZSBvciBleGVjdXRhYmxlIGZvcm0gd2l0aCBzdWNoCisrICAgIGFuIG9mZmVyLCBpbiBhY2NvcmQgd2l0aCBTdWJzZWN0aW9uIGIgYWJvdmUuKQorKworK1RoZSBzb3VyY2UgY29kZSBmb3IgYSB3b3JrIG1lYW5zIHRoZSBwcmVmZXJyZWQgZm9ybSBvZiB0aGUgd29yayBmb3IKKyttYWtpbmcgbW9kaWZpY2F0aW9ucyB0byBpdC4gIEZvciBhbiBleGVjdXRhYmxlIHdvcmssIGNvbXBsZXRlIHNvdXJjZQorK2NvZGUgbWVhbnMgYWxsIHRoZSBzb3VyY2UgY29kZSBmb3IgYWxsIG1vZHVsZXMgaXQgY29udGFpbnMsIHBsdXMgYW55CisrYXNzb2NpYXRlZCBpbnRlcmZhY2UgZGVmaW5pdGlvbiBmaWxlcywgcGx1cyB0aGUgc2NyaXB0cyB1c2VkIHRvCisrY29udHJvbCBjb21waWxhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIG9mIHRoZSBleGVjdXRhYmxlLiAgSG93ZXZlciwgYXMgYQorK3NwZWNpYWwgZXhjZXB0aW9uLCB0aGUgc291cmNlIGNvZGUgZGlzdHJpYnV0ZWQgbmVlZCBub3QgaW5jbHVkZQorK2FueXRoaW5nIHRoYXQgaXMgbm9ybWFsbHkgZGlzdHJpYnV0ZWQgKGluIGVpdGhlciBzb3VyY2Ugb3IgYmluYXJ5CisrZm9ybSkgd2l0aCB0aGUgbWFqb3IgY29tcG9uZW50cyAoY29tcGlsZXIsIGtlcm5lbCwgYW5kIHNvIG9uKSBvZiB0aGUKKytvcGVyYXRpbmcgc3lzdGVtIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHJ1bnMsIHVubGVzcyB0aGF0IGNvbXBvbmVudAorK2l0c2VsZiBhY2NvbXBhbmllcyB0aGUgZXhlY3V0YWJsZS4KKysKKytJZiBkaXN0cmlidXRpb24gb2YgZXhlY3V0YWJsZSBvciBvYmplY3QgY29kZSBpcyBtYWRlIGJ5IG9mZmVyaW5nCisrYWNjZXNzIHRvIGNvcHkgZnJvbSBhIGRlc2lnbmF0ZWQgcGxhY2UsIHRoZW4gb2ZmZXJpbmcgZXF1aXZhbGVudAorK2FjY2VzcyB0byBjb3B5IHRoZSBzb3VyY2UgY29kZSBmcm9tIHRoZSBzYW1lIHBsYWNlIGNvdW50cyBhcworK2Rpc3RyaWJ1dGlvbiBvZiB0aGUgc291cmNlIGNvZGUsIGV2ZW4gdGhvdWdoIHRoaXJkIHBhcnRpZXMgYXJlIG5vdAorK2NvbXBlbGxlZCB0byBjb3B5IHRoZSBzb3VyY2UgYWxvbmcgd2l0aCB0aGUgb2JqZWN0IGNvZGUuCisrCisrICA0LiBZb3UgbWF5IG5vdCBjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2UsIG9yIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0KKytleGNlcHQgYXMgZXhwcmVzc2x5IHByb3ZpZGVkIHVuZGVyIHRoaXMgTGljZW5zZS4gIEFueSBhdHRlbXB0Cisrb3RoZXJ3aXNlIHRvIGNvcHksIG1vZGlmeSwgc3VibGljZW5zZSBvciBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIGlzCisrdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIgdGhpcyBMaWNlbnNlLgorK0hvd2V2ZXIsIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzLCBvciByaWdodHMsIGZyb20geW91IHVuZGVyCisrdGhpcyBMaWNlbnNlIHdpbGwgbm90IGhhdmUgdGhlaXIgbGljZW5zZXMgdGVybWluYXRlZCBzbyBsb25nIGFzIHN1Y2gKKytwYXJ0aWVzIHJlbWFpbiBpbiBmdWxsIGNvbXBsaWFuY2UuCisrCisrICA1LiBZb3UgYXJlIG5vdCByZXF1aXJlZCB0byBhY2NlcHQgdGhpcyBMaWNlbnNlLCBzaW5jZSB5b3UgaGF2ZSBub3QKKytzaWduZWQgaXQuICBIb3dldmVyLCBub3RoaW5nIGVsc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIG1vZGlmeSBvcgorK2Rpc3RyaWJ1dGUgdGhlIFByb2dyYW0gb3IgaXRzIGRlcml2YXRpdmUgd29ya3MuICBUaGVzZSBhY3Rpb25zIGFyZQorK3Byb2hpYml0ZWQgYnkgbGF3IGlmIHlvdSBkbyBub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkKKyttb2RpZnlpbmcgb3IgZGlzdHJpYnV0aW5nIHRoZSBQcm9ncmFtIChvciBhbnkgd29yayBiYXNlZCBvbiB0aGUKKytQcm9ncmFtKSwgeW91IGluZGljYXRlIHlvdXIgYWNjZXB0YW5jZSBvZiB0aGlzIExpY2Vuc2UgdG8gZG8gc28sIGFuZAorK2FsbCBpdHMgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGluZyBvciBtb2RpZnlpbmcKKyt0aGUgUHJvZ3JhbSBvciB3b3JrcyBiYXNlZCBvbiBpdC4KKysKKysgIDYuIEVhY2ggdGltZSB5b3UgcmVkaXN0cmlidXRlIHRoZSBQcm9ncmFtIChvciBhbnkgd29yayBiYXNlZCBvbiB0aGUKKytQcm9ncmFtKSwgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5IHJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZQorK29yaWdpbmFsIGxpY2Vuc29yIHRvIGNvcHksIGRpc3RyaWJ1dGUgb3IgbW9kaWZ5IHRoZSBQcm9ncmFtIHN1YmplY3QgdG8KKyt0aGVzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucy4gIFlvdSBtYXkgbm90IGltcG9zZSBhbnkgZnVydGhlcgorK3Jlc3RyaWN0aW9ucyBvbiB0aGUgcmVjaXBpZW50cycgZXhlcmNpc2Ugb2YgdGhlIHJpZ2h0cyBncmFudGVkIGhlcmVpbi4KKytZb3UgYXJlIG5vdCByZXNwb25zaWJsZSBmb3IgZW5mb3JjaW5nIGNvbXBsaWFuY2UgYnkgdGhpcmQgcGFydGllcyB0bworK3RoaXMgTGljZW5zZS4KKysKKysgIDcuIElmLCBhcyBhIGNvbnNlcXVlbmNlIG9mIGEgY291cnQganVkZ21lbnQgb3IgYWxsZWdhdGlvbiBvZiBwYXRlbnQKKytpbmZyaW5nZW1lbnQgb3IgZm9yIGFueSBvdGhlciByZWFzb24gKG5vdCBsaW1pdGVkIHRvIHBhdGVudCBpc3N1ZXMpLAorK2NvbmRpdGlvbnMgYXJlIGltcG9zZWQgb24geW91ICh3aGV0aGVyIGJ5IGNvdXJ0IG9yZGVyLCBhZ3JlZW1lbnQgb3IKKytvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CisrZXhjdXNlIHlvdSBmcm9tIHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZS4gIElmIHlvdSBjYW5ub3QKKytkaXN0cmlidXRlIHNvIGFzIHRvIHNhdGlzZnkgc2ltdWx0YW5lb3VzbHkgeW91ciBvYmxpZ2F0aW9ucyB1bmRlciB0aGlzCisrTGljZW5zZSBhbmQgYW55IG90aGVyIHBlcnRpbmVudCBvYmxpZ2F0aW9ucywgdGhlbiBhcyBhIGNvbnNlcXVlbmNlIHlvdQorK21heSBub3QgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBhdCBhbGwuICBGb3IgZXhhbXBsZSwgaWYgYSBwYXRlbnQKKytsaWNlbnNlIHdvdWxkIG5vdCBwZXJtaXQgcm95YWx0eS1mcmVlIHJlZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9ncmFtIGJ5CisrYWxsIHRob3NlIHdobyByZWNlaXZlIGNvcGllcyBkaXJlY3RseSBvciBpbmRpcmVjdGx5IHRocm91Z2ggeW91LCB0aGVuCisrdGhlIG9ubHkgd2F5IHlvdSBjb3VsZCBzYXRpc2Z5IGJvdGggaXQgYW5kIHRoaXMgTGljZW5zZSB3b3VsZCBiZSB0bworK3JlZnJhaW4gZW50aXJlbHkgZnJvbSBkaXN0cmlidXRpb24gb2YgdGhlIFByb2dyYW0uCisrCisrSWYgYW55IHBvcnRpb24gb2YgdGhpcyBzZWN0aW9uIGlzIGhlbGQgaW52YWxpZCBvciB1bmVuZm9yY2VhYmxlIHVuZGVyCisrYW55IHBhcnRpY3VsYXIgY2lyY3Vtc3RhbmNlLCB0aGUgYmFsYW5jZSBvZiB0aGUgc2VjdGlvbiBpcyBpbnRlbmRlZCB0bworK2FwcGx5IGFuZCB0aGUgc2VjdGlvbiBhcyBhIHdob2xlIGlzIGludGVuZGVkIHRvIGFwcGx5IGluIG90aGVyCisrY2lyY3Vtc3RhbmNlcy4KKysKKytJdCBpcyBub3QgdGhlIHB1cnBvc2Ugb2YgdGhpcyBzZWN0aW9uIHRvIGluZHVjZSB5b3UgdG8gaW5mcmluZ2UgYW55CisrcGF0ZW50cyBvciBvdGhlciBwcm9wZXJ0eSByaWdodCBjbGFpbXMgb3IgdG8gY29udGVzdCB2YWxpZGl0eSBvZiBhbnkKKytzdWNoIGNsYWltczsgdGhpcyBzZWN0aW9uIGhhcyB0aGUgc29sZSBwdXJwb3NlIG9mIHByb3RlY3RpbmcgdGhlCisraW50ZWdyaXR5IG9mIHRoZSBmcmVlIHNvZnR3YXJlIGRpc3RyaWJ1dGlvbiBzeXN0ZW0sIHdoaWNoIGlzCisraW1wbGVtZW50ZWQgYnkgcHVibGljIGxpY2Vuc2UgcHJhY3RpY2VzLiAgTWFueSBwZW9wbGUgaGF2ZSBtYWRlCisrZ2VuZXJvdXMgY29udHJpYnV0aW9ucyB0byB0aGUgd2lkZSByYW5nZSBvZiBzb2Z0d2FyZSBkaXN0cmlidXRlZAorK3Rocm91Z2ggdGhhdCBzeXN0ZW0gaW4gcmVsaWFuY2Ugb24gY29uc2lzdGVudCBhcHBsaWNhdGlvbiBvZiB0aGF0Cisrc3lzdGVtOyBpdCBpcyB1cCB0byB0aGUgYXV0aG9yL2Rvbm9yIHRvIGRlY2lkZSBpZiBoZSBvciBzaGUgaXMgd2lsbGluZworK3RvIGRpc3RyaWJ1dGUgc29mdHdhcmUgdGhyb3VnaCBhbnkgb3RoZXIgc3lzdGVtIGFuZCBhIGxpY2Vuc2VlIGNhbm5vdAorK2ltcG9zZSB0aGF0IGNob2ljZS4KKysKKytUaGlzIHNlY3Rpb24gaXMgaW50ZW5kZWQgdG8gbWFrZSB0aG9yb3VnaGx5IGNsZWFyIHdoYXQgaXMgYmVsaWV2ZWQgdG8KKytiZSBhIGNvbnNlcXVlbmNlIG9mIHRoZSByZXN0IG9mIHRoaXMgTGljZW5zZS4KKysKKysgIDguIElmIHRoZSBkaXN0cmlidXRpb24gYW5kL29yIHVzZSBvZiB0aGUgUHJvZ3JhbSBpcyByZXN0cmljdGVkIGluCisrY2VydGFpbiBjb3VudHJpZXMgZWl0aGVyIGJ5IHBhdGVudHMgb3IgYnkgY29weXJpZ2h0ZWQgaW50ZXJmYWNlcywgdGhlCisrb3JpZ2luYWwgY29weXJpZ2h0IGhvbGRlciB3aG8gcGxhY2VzIHRoZSBQcm9ncmFtIHVuZGVyIHRoaXMgTGljZW5zZQorK21heSBhZGQgYW4gZXhwbGljaXQgZ2VvZ3JhcGhpY2FsIGRpc3RyaWJ1dGlvbiBsaW1pdGF0aW9uIGV4Y2x1ZGluZworK3Rob3NlIGNvdW50cmllcywgc28gdGhhdCBkaXN0cmlidXRpb24gaXMgcGVybWl0dGVkIG9ubHkgaW4gb3IgYW1vbmcKKytjb3VudHJpZXMgbm90IHRodXMgZXhjbHVkZWQuICBJbiBzdWNoIGNhc2UsIHRoaXMgTGljZW5zZSBpbmNvcnBvcmF0ZXMKKyt0aGUgbGltaXRhdGlvbiBhcyBpZiB3cml0dGVuIGluIHRoZSBib2R5IG9mIHRoaXMgTGljZW5zZS4KKysKKysgIDkuIFRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gbWF5IHB1Ymxpc2ggcmV2aXNlZCBhbmQvb3IgbmV3IHZlcnNpb25zCisrb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCisrYmUgc2ltaWxhciBpbiBzcGlyaXQgdG8gdGhlIHByZXNlbnQgdmVyc2lvbiwgYnV0IG1heSBkaWZmZXIgaW4gZGV0YWlsIHRvCisrYWRkcmVzcyBuZXcgcHJvYmxlbXMgb3IgY29uY2VybnMuCisrCisrRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUgUHJvZ3JhbQorK3NwZWNpZmllcyBhIHZlcnNpb24gbnVtYmVyIG9mIHRoaXMgTGljZW5zZSB3aGljaCBhcHBsaWVzIHRvIGl0IGFuZCAiYW55CisrbGF0ZXIgdmVyc2lvbiIsIHlvdSBoYXZlIHRoZSBvcHRpb24gb2YgZm9sbG93aW5nIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucworK2VpdGhlciBvZiB0aGF0IHZlcnNpb24gb3Igb2YgYW55IGxhdGVyIHZlcnNpb24gcHVibGlzaGVkIGJ5IHRoZSBGcmVlCisrU29mdHdhcmUgRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZgorK3RoaXMgTGljZW5zZSwgeW91IG1heSBjaG9vc2UgYW55IHZlcnNpb24gZXZlciBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKKytGb3VuZGF0aW9uLgorKworKyAgMTAuIElmIHlvdSB3aXNoIHRvIGluY29ycG9yYXRlIHBhcnRzIG9mIHRoZSBQcm9ncmFtIGludG8gb3RoZXIgZnJlZQorK3Byb2dyYW1zIHdob3NlIGRpc3RyaWJ1dGlvbiBjb25kaXRpb25zIGFyZSBkaWZmZXJlbnQsIHdyaXRlIHRvIHRoZSBhdXRob3IKKyt0byBhc2sgZm9yIHBlcm1pc3Npb24uICBGb3Igc29mdHdhcmUgd2hpY2ggaXMgY29weXJpZ2h0ZWQgYnkgdGhlIEZyZWUKKytTb2Z0d2FyZSBGb3VuZGF0aW9uLCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB3ZSBzb21ldGltZXMKKyttYWtlIGV4Y2VwdGlvbnMgZm9yIHRoaXMuICBPdXIgZGVjaXNpb24gd2lsbCBiZSBndWlkZWQgYnkgdGhlIHR3byBnb2FscworK29mIHByZXNlcnZpbmcgdGhlIGZyZWUgc3RhdHVzIG9mIGFsbCBkZXJpdmF0aXZlcyBvZiBvdXIgZnJlZSBzb2Z0d2FyZSBhbmQKKytvZiBwcm9tb3RpbmcgdGhlIHNoYXJpbmcgYW5kIHJldXNlIG9mIHNvZnR3YXJlIGdlbmVyYWxseS4KKysKKysJCQkgICAgTk8gV0FSUkFOVFkKKysKKysgIDExLiBCRUNBVVNFIFRIRSBQUk9HUkFNIElTIExJQ0VOU0VEIEZSRUUgT0YgQ0hBUkdFLCBUSEVSRSBJUyBOTyBXQVJSQU5UWQorK0ZPUiBUSEUgUFJPR1JBTSwgVE8gVEhFIEVYVEVOVCBQRVJNSVRURUQgQlkgQVBQTElDQUJMRSBMQVcuICBFWENFUFQgV0hFTgorK09USEVSV0lTRSBTVEFURUQgSU4gV1JJVElORyBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EL09SIE9USEVSIFBBUlRJRVMKKytQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRAorK09SIElNUExJRUQsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisrTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFRIRSBFTlRJUkUgUklTSyBBUworK1RPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTSBJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUKKytQUk9HUkFNIFBST1ZFIERFRkVDVElWRSwgWU9VIEFTU1VNRSBUSEUgQ09TVCBPRiBBTEwgTkVDRVNTQVJZIFNFUlZJQ0lORywKKytSRVBBSVIgT1IgQ09SUkVDVElPTi4KKysKKysgIDEyLiBJTiBOTyBFVkVOVCBVTkxFU1MgUkVRVUlSRUQgQlkgQVBQTElDQUJMRSBMQVcgT1IgQUdSRUVEIFRPIElOIFdSSVRJTkcKKytXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1BWSBNT0RJRlkgQU5EL09SCisrUkVESVNUUklCVVRFIFRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywKKytJTkNMVURJTkcgQU5ZIEdFTkVSQUwsIFNQRUNJQUwsIElOQ0lERU5UQUwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIEFSSVNJTkcKKytPVVQgT0YgVEhFIFVTRSBPUiBJTkFCSUxJVFkgVE8gVVNFIFRIRSBQUk9HUkFNIChJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVECisrVE8gTE9TUyBPRiBEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZCisrWU9VIE9SIFRISVJEIFBBUlRJRVMgT1IgQSBGQUlMVVJFIE9GIFRIRSBQUk9HUkFNIFRPIE9QRVJBVEUgV0lUSCBBTlkgT1RIRVIKKytQUk9HUkFNUyksIEVWRU4gSUYgU1VDSCBIT0xERVIgT1IgT1RIRVIgUEFSVFkgSEFTIEJFRU4gQURWSVNFRCBPRiBUSEUKKytQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRVMuCisrCisrCQkgICAgIEVORCBPRiBURVJNUyBBTkQgQ09ORElUSU9OUworKworKwkgICAgSG93IHRvIEFwcGx5IFRoZXNlIFRlcm1zIHRvIFlvdXIgTmV3IFByb2dyYW1zCisrCisrICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CisrcG9zc2libGUgdXNlIHRvIHRoZSBwdWJsaWMsIHRoZSBiZXN0IHdheSB0byBhY2hpZXZlIHRoaXMgaXMgdG8gbWFrZSBpdAorK2ZyZWUgc29mdHdhcmUgd2hpY2ggZXZlcnlvbmUgY2FuIHJlZGlzdHJpYnV0ZSBhbmQgY2hhbmdlIHVuZGVyIHRoZXNlIHRlcm1zLgorKworKyAgVG8gZG8gc28sIGF0dGFjaCB0aGUgZm9sbG93aW5nIG5vdGljZXMgdG8gdGhlIHByb2dyYW0uICBJdCBpcyBzYWZlc3QKKyt0byBhdHRhY2ggdGhlbSB0byB0aGUgc3RhcnQgb2YgZWFjaCBzb3VyY2UgZmlsZSB0byBtb3N0IGVmZmVjdGl2ZWx5CisrY29udmV5IHRoZSBleGNsdXNpb24gb2Ygd2FycmFudHk7IGFuZCBlYWNoIGZpbGUgc2hvdWxkIGhhdmUgYXQgbGVhc3QKKyt0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KKysKKysgICAgPG9uZSBsaW5lIHRvIGdpdmUgdGhlIHByb2dyYW0ncyBuYW1lIGFuZCBhIGJyaWVmIGlkZWEgb2Ygd2hhdCBpdCBkb2VzLj4KKysgICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KKysKKysgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysKKysgICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysgICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysKKysgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKysgICAgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKysgICAgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKysKKytBbHNvIGFkZCBpbmZvcm1hdGlvbiBvbiBob3cgdG8gY29udGFjdCB5b3UgYnkgZWxlY3Ryb25pYyBhbmQgcGFwZXIgbWFpbC4KKysKKytJZiB0aGUgcHJvZ3JhbSBpcyBpbnRlcmFjdGl2ZSwgbWFrZSBpdCBvdXRwdXQgYSBzaG9ydCBub3RpY2UgbGlrZSB0aGlzCisrd2hlbiBpdCBzdGFydHMgaW4gYW4gaW50ZXJhY3RpdmUgbW9kZToKKysKKysgICAgR25vbW92aXNpb24gdmVyc2lvbiA2OSwgQ29weXJpZ2h0IChDKSB5ZWFyIG5hbWUgb2YgYXV0aG9yCisrICAgIEdub21vdmlzaW9uIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWTsgZm9yIGRldGFpbHMgdHlwZSBgc2hvdyB3Jy4KKysgICAgVGhpcyBpcyBmcmVlIHNvZnR3YXJlLCBhbmQgeW91IGFyZSB3ZWxjb21lIHRvIHJlZGlzdHJpYnV0ZSBpdAorKyAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCisrCisrVGhlIGh5cG90aGV0aWNhbCBjb21tYW5kcyBgc2hvdyB3JyBhbmQgYHNob3cgYycgc2hvdWxkIHNob3cgdGhlIGFwcHJvcHJpYXRlCisrcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHRoZSBjb21tYW5kcyB5b3UgdXNlIG1heQorK2JlIGNhbGxlZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBgc2hvdyB3JyBhbmQgYHNob3cgYyc7IHRoZXkgY291bGQgZXZlbiBiZQorK21vdXNlLWNsaWNrcyBvciBtZW51IGl0ZW1zLS13aGF0ZXZlciBzdWl0cyB5b3VyIHByb2dyYW0uCisrCisrWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHlvdXIKKytzY2hvb2wsIGlmIGFueSwgdG8gc2lnbiBhICJjb3B5cmlnaHQgZGlzY2xhaW1lciIgZm9yIHRoZSBwcm9ncmFtLCBpZgorK25lY2Vzc2FyeS4gIEhlcmUgaXMgYSBzYW1wbGU7IGFsdGVyIHRoZSBuYW1lczoKKysKKysgIFlveW9keW5lLCBJbmMuLCBoZXJlYnkgZGlzY2xhaW1zIGFsbCBjb3B5cmlnaHQgaW50ZXJlc3QgaW4gdGhlIHByb2dyYW0KKysgIGBHbm9tb3Zpc2lvbicgKHdoaWNoIG1ha2VzIHBhc3NlcyBhdCBjb21waWxlcnMpIHdyaXR0ZW4gYnkgSmFtZXMgSGFja2VyLgorKworKyAgPHNpZ25hdHVyZSBvZiBUeSBDb29uPiwgMSBBcHJpbCAxOTg5CisrICBUeSBDb29uLCBQcmVzaWRlbnQgb2YgVmljZQorKworK1RoaXMgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBkb2VzIG5vdCBwZXJtaXQgaW5jb3Jwb3JhdGluZyB5b3VyIHByb2dyYW0gaW50bworK3Byb3ByaWV0YXJ5IHByb2dyYW1zLiAgSWYgeW91ciBwcm9ncmFtIGlzIGEgc3Vicm91dGluZSBsaWJyYXJ5LCB5b3UgbWF5CisrY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGggdGhlCisrbGlicmFyeS4gIElmIHRoaXMgaXMgd2hhdCB5b3Ugd2FudCB0byBkbywgdXNlIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwKKytQdWJsaWMgTGljZW5zZSBpbnN0ZWFkIG9mIHRoaXMgTGljZW5zZS4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItbm9kbS1pbml0L3hzZXJ2ZXItbm9kbS1pbml0LTIuMC94c2VydmVyLW5vZG0gYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLW5vZG0taW5pdC94c2VydmVyLW5vZG0taW5pdC0yLjAveHNlcnZlci1ub2RtCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVkN2U4YTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLW5vZG0taW5pdC94c2VydmVyLW5vZG0taW5pdC0yLjAveHNlcnZlci1ub2RtCkBAIC0wLDAgKzEsNjAgQEAKKyMhL2Jpbi9zaAorIworIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogeHNlcnZlcgorIyBSZXF1aXJlZC1TdGFydDogJGxvY2FsX2ZzICRyZW1vdGVfZnMgZGJ1cworIyBSZXF1aXJlZC1TdG9wOiAkbG9jYWxfZnMgJHJlbW90ZV9mcworIyBEZWZhdWx0LVN0YXJ0OiAgICAgNQorIyBEZWZhdWx0LVN0b3A6ICAgICAgMCAxIDIgMyA2CisjIyMgRU5EIElOSVQgSU5GTworCisKKy4gL2V0Yy9pbml0LmQvZnVuY3Rpb25zCisKK2ZvciB4IGluICQoY2F0IC9wcm9jL2NtZGxpbmUpOyBkbworICAgICAgICBjYXNlICR4IGluCisgICAgICAgIHgxMT1mYWxzZSkKKwkJZWNobyAiWCBTZXJ2ZXIgZGlzYWJsZWQiIAorCQlleGl0IDA7CisgICAgICAgICAgICAgICAgOzsKKyAgICAgICAgZXNhYworZG9uZQorCitjYXNlICIkMSIgaW4KKyAgc3RhcnQpCisgICAgIyBXZSBkb24ndCB3YW50IHRoaXMgc2NyaXB0IHRvIGJsb2NrIHRoZSByZXN0IG9mIHRoZSBib290IHByb2Nlc3MKKyAgICBpZiBbICIkMiIgIT0gImJhY2tncm91bmQiIF07IHRoZW4KKyAgICAgICQwICQxIGJhY2tncm91bmQgJgorICAgIGVsc2UKKyAgICAgICAjIHdvcmsgYXJvdW5kIGZyb20gL2V0Yy9YMTEvWGluaXQKKyAgICAgICBleHBvcnQgVVNFUj1yb290CisgICAgICAgZXhwb3J0IEhPTUU9L2hvbWUvcm9vdAorICAgICAgIGlmIFsgISAtZCAkSE9NRSBdICYmIFsgLWQgL3Jvb3QgXTsgdGhlbgorICAgICAgICAgSE9NRT0vcm9vdAorICAgICAgIGZpCisKKyAgICAgICAuIC9ldGMvcHJvZmlsZQorCisgICAgICAgZWNobyAiU3RhcnRpbmcgWHNlcnZlciIKKyAgICAgICAuIC9ldGMvWDExL3hzZXJ2ZXItY29tbW9uCisgICAgICAgeGluaXQgL2V0Yy9YMTEvWHNlc3Npb24gLS0gYHdoaWNoICRYU0VSVkVSYCAkQVJHUyA+L3Zhci9sb2cvWHNlc3Npb24ubG9nIDI+JjEKKyAgICBmaSAKKyAgOzsKKworICBzdG9wKQorICAgICAgICBlY2hvICJTdG9wcGluZyBYU2VydmVyIgorICAgICAgICBraWxscHJvYyB4aW5pdAorICA7OworCisgIHJlc3RhcnQpCisJJDAgc3RvcAorICAgICAgICBzbGVlcCAxCisgICAgICAgICQwIHN0YXJ0CisgIDs7CisKKyAgKikKKyAgICAgICAgZWNobyAidXNhZ2U6ICQwIHsgc3RhcnQgfCBzdG9wIHwgcmVzdGFydCB9IgorICA7OworZXNhYworCitleGl0IDAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItbm9kbS1pbml0L3hzZXJ2ZXItbm9kbS1pbml0LTIuMC94c2VydmVyLW5vZG0uY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItbm9kbS1pbml0L3hzZXJ2ZXItbm9kbS1pbml0LTIuMC94c2VydmVyLW5vZG0uY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzA1ODJhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1ub2RtLWluaXQveHNlcnZlci1ub2RtLWluaXQtMi4wL3hzZXJ2ZXItbm9kbS5jb25mCkBAIC0wLDAgKzEgQEAKK0hPTUU9L2hvbWUvcm9vdApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1ub2RtLWluaXQveHNlcnZlci1ub2RtLWluaXQtMi4wL3hzZXJ2ZXItbm9kbS5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1ub2RtLWluaXQveHNlcnZlci1ub2RtLWluaXQtMi4wL3hzZXJ2ZXItbm9kbS5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0ZDIyMWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLW5vZG0taW5pdC94c2VydmVyLW5vZG0taW5pdC0yLjAveHNlcnZlci1ub2RtLnNlcnZpY2UKQEAgLTAsMCArMSw5IEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPVhzZXJ2ZXIgc3RhcnR1cCB3aXRoIGEgZGlzcGxheSBtYW5hZ2VyCisKK1tTZXJ2aWNlXQorRW52aXJvbm1lbnRGaWxlPS9ldGMvZGVmYXVsdC94c2VydmVyLW5vZG0KK0V4ZWNTdGFydD0vZXRjL1gxMS9Yc2VydmVyCisKK1tJbnN0YWxsXQorQWxpYXM9ZGlzcGxheS1tYW5hZ2VyLnNlcnZpY2UKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItbm9kbS1pbml0L3hzZXJ2ZXItbm9kbS1pbml0XzIuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItbm9kbS1pbml0L3hzZXJ2ZXItbm9kbS1pbml0XzIuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NWEwN2QxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1ub2RtLWluaXQveHNlcnZlci1ub2RtLWluaXRfMi4wLmJiCkBAIC0wLDAgKzEsNDEgQEAKK1NVTU1BUlkgPSAiU2ltcGxlIFhzZXJ2ZXIgSW5pdCBTY3JpcHQgKG5vIGRtKSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKK1NFQ1RJT04gPSAieDExIgorCitQUiA9ICJyMjIiCisKK1NSQ19VUkkgPSAiZmlsZTovL3hzZXJ2ZXItbm9kbSBcCisgICAgICAgICAgIGZpbGU6Ly9ncGx2Mi1saWNlbnNlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3hzZXJ2ZXItbm9kbS5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL3hzZXJ2ZXItbm9kbS5jb25mIFwKKyIKK1MgPSAiJHtXT1JLRElSfSIKKworaW5oZXJpdCB1cGRhdGUtcmMuZCBzeXN0ZW1kCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJ4c2VydmVyLW5vZG0iCitJTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCAwMSA1IC4gc3RvcCAwMSAwIDEgMiAzIDYgLiIKK0lOSVRTQ1JJUFRfUEFSQU1TX3NociA9ICJzdGFydCA5MCA1IC4gc3RvcCA5MCAwIDEgMiAzIDYgLiIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgeHNlcnZlci1ub2RtICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0CisKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3RydWUnLCdmYWxzZScsZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICAgICAgaW5zdGFsbCB4c2VydmVyLW5vZG0uY29uZiAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3hzZXJ2ZXItbm9kbQorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS94c2VydmVyLW5vZG0uc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGZpCit9CisKK1JERVBFTkRTXyR7UE59ID0gInhzZXJ2ZXItY29tbW9uICg+PSAxLjMwKSB4aW5pdCIKKworUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJ4c2VydmVyLW5vZG0uc2VydmljZSIKKworRklMRVNfJHtQTn0gKz0gIiR7c3lzY29uZmRpcn0vZGVmYXVsdC94c2VydmVyLW5vZG0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3Jhc2gvY3Jhc2gvMDAwMS1jcm9zc19hZGRfY29uZmlndXJlX29wdGlvbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaC8wMDAxLWNyb3NzX2FkZF9jb25maWd1cmVfb3B0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyOTY0N2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3Jhc2gvY3Jhc2gvMDAwMS1jcm9zc19hZGRfY29uZmlndXJlX29wdGlvbi5wYXRjaApAQCAtMCwwICsxLDM0IEBACitGcm9tIGNiYWFhNDI5MzNiYjI3YjFiY2ZmNGM3ZDcxZDU0YzkxMzIwMWVlODggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMZWkgTWFvaHVpIDxsZWltYW9odWlAY24uZnVqaXRzdS5jb20+CitEYXRlOiBGcmksIDkgSmFuIDIwMTUgMTE6NTE6MTggKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gY3Jvc3NfYWRkX2NvbmZpZ3VyZV9vcHRpb24KKworLS0tCisgTWFrZWZpbGUgfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggOWM0NDYzMy4uMzliZWJkMCAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTIyOSw3ICsyMjksNyBAQCBnZGJfbWVyZ2U6IGZvcmNlCisgCUBlY2hvICIuLi8uLi8ke1BST0dSQU19IC4uLy4uLyR7UFJPR1JBTX1saWIuYSIgPiAke0dEQn0vZ2RiL21lcmdlb2JqCisgCUBybSAtZiAke1BST0dSQU19CisgCUBpZiBbICEgLWYgJHtHREJ9L2NvbmZpZy5zdGF0dXMgXTsgdGhlbiBcCistCSAgKGNkICR7R0RCfTsgLi9jb25maWd1cmUgJHtHREJfQ09ORl9GTEFHU30gLS13aXRoLXNlcGFyYXRlLWRlYnVnLWRpcj0vdXNyL2xpYi9kZWJ1ZyBcCisrCSAgKGNkICR7R0RCfTsgLi9jb25maWd1cmUgLS1ob3N0PSR7R0RCX1RBUkdFVH0gLS1idWlsZD0ke0dEQl9IT1NUfSAtLXdpdGgtc2VwYXJhdGUtZGVidWctZGlyPS91c3IvbGliL2RlYnVnIFwKKyAJICAgIC0td2l0aC1idWd1cmw9IiIgLS13aXRoLWV4cGF0PW5vIC0td2l0aC1weXRob249bm87IFwKKyAJICBtYWtlIC0tbm8tcHJpbnQtZGlyZWN0b3J5IENSQVNIX1RBUkdFVD0ke1RBUkdFVH07IGVjaG8gJHtUQVJHRVR9ID4gY3Jhc2gudGFyZ2V0KSBcCisgCWVsc2UgbWFrZSAtLW5vLXByaW50LWRpcmVjdG9yeSByZWJ1aWxkOyBmaQorQEAgLTI3Nyw3ICsyNzcsNyBAQCBmb3JjZToKKyAKKyBtYWtlX2NvbmZpZ3VyZTogZm9yY2UKKyAJQHJtIC1mIGNvbmZpZ3VyZQorLQlAJHtDQ30gJHtDT05GX0ZMQUdTfSAtbyBjb25maWd1cmUgY29uZmlndXJlLmMgJHtXQVJOSU5HX0VSUk9SfSAke1dBUk5JTkdfT1BUSU9OU30KKysJQGNjICR7Q09ORl9GTEFHU30gLW8gY29uZmlndXJlIGNvbmZpZ3VyZS5jICR7V0FSTklOR19FUlJPUn0gJHtXQVJOSU5HX09QVElPTlN9CisgCisgY2xlYW46IG1ha2VfY29uZmlndXJlCisgCUAuL2NvbmZpZ3VyZSAke0NPTkZfVEFSR0VUX0ZMQUd9IC1xIC1iCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NyYXNoL2NyYXNoLzcwMDFmb3JjZV9kZWZpbmVfYXJjaGl0ZWN0dXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NyYXNoL2NyYXNoLzcwMDFmb3JjZV9kZWZpbmVfYXJjaGl0ZWN0dXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkNDRjN2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3Jhc2gvY3Jhc2gvNzAwMWZvcmNlX2RlZmluZV9hcmNoaXRlY3R1cmUucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorZGlmZiAtdXByTiBjcmFzaC01LjEuOC5vcmcvY29uZmlndXJlLmMgY3Jhc2gtNS4xLjgvY29uZmlndXJlLmMKKy0tLSBjcmFzaC01LjEuOC5vcmcvY29uZmlndXJlLmMJMjAxMS0wOS0xNyAwNDowMToxMi4wMDAwMDAwMDAgKzA5MDAKKysrKyBjcmFzaC01LjEuOC9jb25maWd1cmUuYwkyMDEyLTA5LTEzIDEzOjI4OjQ1LjM5MzM0NDEwOCArMDkwMAorQEAgLTM5MSw2ICszOTEsOSBAQCBnZXRfY3VycmVudF9jb25maWd1cmF0aW9uKHN0cnVjdCBzdXBwb3J0CisgCQkJYXJjaF9taXNtYXRjaChzcCk7CisgCX0KKyAKKysJLyoqIEZvcmNlIGRlZmluZSBhcmNodGVjdHVyZSAqLworKwl0YXJnZXRfZGF0YS50YXJnZXQgPSBGT1JDRV9ERUZJTkVfQVJDSDsKKysKKyAgICAgICAgIGlmICgoZnAgPSBmb3BlbigiTWFrZWZpbGUiLCAiciIpKSA9PSBOVUxMKSB7CisgCQlwZXJyb3IoIk1ha2VmaWxlIik7CisgCQlnb3RvIGdldF9yZWxlYXNlOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NyYXNoL2NyYXNoLzcwMDNjcm9zc19yYW5saWIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3Jhc2gvY3Jhc2gvNzAwM2Nyb3NzX3JhbmxpYi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNTY3ZmEwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NyYXNoL2NyYXNoLzcwMDNjcm9zc19yYW5saWIucGF0Y2gKQEAgLTAsMCArMSwxMCBAQAorLS0tIGNyYXNoLTUuMS44L01ha2VmaWxlLm9yaWcJMjAxMS0xMi0yNyAxMToyMTo1OC4yMjA2NTIxMDUgKzA5MDAKKysrKyBjcmFzaC01LjEuOC9NYWtlZmlsZQkyMDExLTEyLTI3IDExOjIyOjI5LjU2MzY1MTU5MyArMDkwMAorQEAgLTI4NSw2ICsyODUsNyBAQAorIAorIGxpYnJhcnk6IG1ha2VfYnVpbGRfZGF0YSAke09CSkVDVF9GSUxFU30KKyAJYXIgLXJzICR7UFJPR1JBTX1saWIuYSAke09CSkVDVF9GSUxFU30KKysJJHtSQU5MSUJ9ICR7UFJPR1JBTX1saWIuYSAKKyAKKyBnZGI6IGZvcmNlCisgCXJtIC1mICR7R0RCX09GSUxFU30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaC9jb25maWctc2l0ZS5jcmFzaC03LjAuOSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaC9jb25maWctc2l0ZS5jcmFzaC03LjAuOQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNmZjMjJmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NyYXNoL2NyYXNoL2NvbmZpZy1zaXRlLmNyYXNoLTcuMC45CkBAIC0wLDAgKzEgQEAKK2Jhc2hfY3ZfaGF2ZV9tYnN0YXRlX3Q9eWVzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3Jhc2gvY3Jhc2gvZG9ubm90LWV4dHJhY3QtZ2RiLWR1cmluZy1kby1jb21waWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NyYXNoL2NyYXNoL2Rvbm5vdC1leHRyYWN0LWdkYi1kdXJpbmctZG8tY29tcGlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMjU0ZmU4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NyYXNoL2NyYXNoL2Rvbm5vdC1leHRyYWN0LWdkYi1kdXJpbmctZG8tY29tcGlsZS5wYXRjaApAQCAtMCwwICsxLDMyIEBACitQdXQgZ2RiIHNvdXJjZSB0YXJiYWxsIGluIFNSQ19VUkkgYW5kIGRvbid0IGZldGNoIGFuZCBleHRyYWN0IGl0IGR1cmluZworZG9fY29tcGlsZS4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CistLS0KK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCBiYjBhMzRlLi41ZWI3NjA0IDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtMjI2LDcgKzIyNiw3IEBAIGFsbDogbWFrZV9jb25maWd1cmUKKyAjCUBtYWtlIC0tbm8tcHJpbnQtZGlyZWN0b3J5IGV4dGVuc2lvbnMKKyAKKyBnZGJfbWVyZ2U6IGZvcmNlCistCUBpZiBbICEgLWYgJHtHREJ9L1JFQURNRSBdOyB0aGVuIFwKKysJQGlmIFsgISAtZiAke0dEQn0vJHtHREJ9LnBhdGNoIF07IHRoZW4gXAorIAkgIG1ha2UgLS1uby1wcmludC1kaXJlY3RvcnkgZ2RiX3VuemlwOyBmaQorIAlAZWNobyAiJHtMREZMQUdTfSAtbHogLWxkbCAtcmR5bmFtaWMiID4gJHtHREJ9L2dkYi9tZXJnZWxpYnMKKyAJQGVjaG8gIi4uLy4uLyR7UFJPR1JBTX0gLi4vLi4vJHtQUk9HUkFNfWxpYi5hIiA+ICR7R0RCfS9nZGIvbWVyZ2VvYmoKK0BAIC0yNTMsMTEgKzI1Myw2IEBAIGdkYl91bnppcDoKKyAJQHJtIC1mIGdkYi5maWxlcworIAlAZm9yIEZJTEUgaW4gJHtHREJfRklMRVN9IGR1bW15OyBkb1wKKyAJICBlY2hvICQkRklMRSA+PiBnZGIuZmlsZXM7IGRvbmUKKy0JQGlmIFsgISAtZiAke0dEQn0udGFyLmd6IF0gJiYgWyAhIC1mIC91c3IvYmluL3dnZXQgXTsgdGhlbiBcCistCSAgZWNobyAvdXNyL2Jpbi93Z2V0IGlzIHJlcXVpcmVkIHRvIGRvd25sb2FkICR7R0RCfS50YXIuZ3o7IGVjaG87IGV4aXQgMTsgZmkKKy0JQGlmIFsgISAtZiAke0dEQn0udGFyLmd6IF0gJiYgWyAtZiAvdXNyL2Jpbi93Z2V0IF07IHRoZW4gXAorLQkgIHdnZXQgaHR0cDovL2Z0cC5nbnUub3JnL2dudS9nZGIvJHtHREJ9LnRhci5nejsgZmkKKy0JQHRhciAtLWV4Y2x1ZGUtZnJvbSBnZGIuZmlsZXMgLXh2em1mICR7R0RCfS50YXIuZ3oKKyAJQG1ha2UgLS1uby1wcmludC1kaXJlY3RvcnkgZ2RiX3BhdGNoCisgCisgZ2RiX3BhdGNoOgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NyYXNoL2NyYXNoL2dkYl9idWlsZF9qb2JzX2FuZF9ub3Rfd3JpdGVfY3Jhc2hfdGFyZ2V0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NyYXNoL2NyYXNoL2dkYl9idWlsZF9qb2JzX2FuZF9ub3Rfd3JpdGVfY3Jhc2hfdGFyZ2V0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmNGQxYmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3Jhc2gvY3Jhc2gvZ2RiX2J1aWxkX2pvYnNfYW5kX25vdF93cml0ZV9jcmFzaF90YXJnZXQucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorVGhpcyBlbmFibGVzIHBhcmFsbGVsIGJ1aWxkaW5nIChtdWx0aXBsZSBqb2JzIGluIGdkYikgYnkgcmVhZGluZyB0aGUKK3ZhbHVlIGZyb20gR0RCX01BS0VfSk9CUy4KKworU2lnbmVkLW9mZi1ieTogQW15IEZvbmcgPGFteS5mb25nQHdpbmRyaXZlci5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitEb24ndCB3cml0ZSAke1RBUkdFVH0gdG8gY3Jhc2gudGFyZ2V0IHdoaWNoIGNhdXNlcyByZWJ1aWxkIGZhaWxzLgorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKy0tCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggMjdhMWQ0Ny4uYmNmMmQyZiAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTIzMiw4ICsyMzIsOCBAQCBnZGJfbWVyZ2U6IGZvcmNlCisgCUBpZiBbICEgLWYgJHtHREJ9L2NvbmZpZy5zdGF0dXMgXTsgdGhlbiBcCisgCSAgKGNkICR7R0RCfTsgLi9jb25maWd1cmUgLS1ob3N0PSR7R0RCX1RBUkdFVH0gLS1idWlsZD0ke0dEQl9IT1NUfSAtLXdpdGgtc2VwYXJhdGUtZGVidWctZGlyPS91c3IvbGliL2RlYnVnIFwKKyAJICAgIC0td2l0aC1idWd1cmw9IiIgLS13aXRoLWV4cGF0PW5vIC0td2l0aC1weXRob249bm87IFwKKy0JICBtYWtlIC0tbm8tcHJpbnQtZGlyZWN0b3J5IENSQVNIX1RBUkdFVD0ke1RBUkdFVH07IGVjaG8gJHtUQVJHRVR9ID4gY3Jhc2gudGFyZ2V0KSBcCistCWVsc2UgbWFrZSAtLW5vLXByaW50LWRpcmVjdG9yeSByZWJ1aWxkOyBmaQorKwkgIG1ha2UgLS1uby1wcmludC1kaXJlY3RvcnkgQ1JBU0hfVEFSR0VUPSR7VEFSR0VUfSAke0dEQl9NQUtFX0pPQlN9OyApIFwKKysJZWxzZSBtYWtlIC0tbm8tcHJpbnQtZGlyZWN0b3J5ICR7R0RCX01BS0VfSk9CU30gcmVidWlsZDsgZmkKKyAJQGlmIFsgISAtZiAke1BST0dSQU19IF07IHRoZW4gXAorIAkgIGVjaG87IGVjaG8gIiR7UFJPR1JBTX0gYnVpbGQgZmFpbGVkIjsgXAorIAkgIGVjaG87IGV4aXQgMTsgZmkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaC9yZW1vdmUtdW5yZWNvZ25pemVkLWdjYy1vcHRpb24tbTMyLWZvci1taXBzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NyYXNoL2NyYXNoL3JlbW92ZS11bnJlY29nbml6ZWQtZ2NjLW9wdGlvbi1tMzItZm9yLW1pcHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzI0ZGIxMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaC9yZW1vdmUtdW5yZWNvZ25pemVkLWdjYy1vcHRpb24tbTMyLWZvci1taXBzLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitJdCBmYWlscyB0byBidWlsZCBjcmFzaCBmb3IgbWlwcyB3aXRoIGVycm9yOgorCit8IG1pcHMtd3JzLWxpbnV4LWdjYzogZXJyb3I6IHVucmVjb2duaXplZCBjb21tYW5kIGxpbmUgb3B0aW9uICctbTMyJworfCBNYWtlZmlsZToyOTE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdtYWtlX2J1aWxkX2RhdGEnIGZhaWxlZAorCitTbyByZW1vdmUgdGhlIHVucmVjb2duaXplZCBvcHRpb24gJy1tMzInIGZvciBtaXBzLgorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5jIGIvY29uZmlndXJlLmMKK2luZGV4IGNmMTk3M2IuLjcxZTk3YjMgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYworKysrIGIvY29uZmlndXJlLmMKK0BAIC0xNDgsNyArMTQ4LDcgQEAgdm9pZCBhZGRfZXh0cmFfbGliKGNoYXIgKik7CisgI2RlZmluZSBUQVJHRVRfQ0ZMQUdTX1BQQzY0X09OX1g4Nl82NCAgIlRBUkdFVF9DRkxBR1M9IgorICNkZWZpbmUgVEFSR0VUX0NGTEFHU19NSVBTICAgICAgICAgICAgIlRBUkdFVF9DRkxBR1M9LURfRklMRV9PRkZTRVRfQklUUz02NCIKKyAjZGVmaW5lIFRBUkdFVF9DRkxBR1NfTUlQU19PTl9YODYgICAgICJUQVJHRVRfQ0ZMQUdTPS1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQiCistI2RlZmluZSBUQVJHRVRfQ0ZMQUdTX01JUFNfT05fWDg2XzY0ICAiVEFSR0VUX0NGTEFHUz0tbTMyIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQiCisrI2RlZmluZSBUQVJHRVRfQ0ZMQUdTX01JUFNfT05fWDg2XzY0ICAiVEFSR0VUX0NGTEFHUz0tRF9GSUxFX09GRlNFVF9CSVRTPTY0IgorIAorICNkZWZpbmUgR0RCX1RBUkdFVF9ERUZBVUxUICAgICAgICAiR0RCX0NPTkZfRkxBR1M9IgorICNkZWZpbmUgR0RCX1RBUkdFVF9BUk1fT05fWDg2ICAgICAiR0RCX0NPTkZfRkxBR1M9LS10YXJnZXQ9YXJtLWVsZi1saW51eCIKK0BAIC0xNTgsNyArMTU4LDcgQEAgdm9pZCBhZGRfZXh0cmFfbGliKGNoYXIgKik7CisgI2RlZmluZSBHREJfVEFSR0VUX0FSTTY0X09OX1g4Nl82NCAgIkdEQl9DT05GX0ZMQUdTPS0tdGFyZ2V0PWFhcmNoNjQtZWxmLWxpbnV4IiAgIC8qIFRCRCAqLworICNkZWZpbmUgR0RCX1RBUkdFVF9QUEM2NF9PTl9YODZfNjQgICJHREJfQ09ORl9GTEFHUz0tLXRhcmdldD1wb3dlcnBjNjRsZS11bmtub3duLWxpbnV4LWdudSIKKyAjZGVmaW5lIEdEQl9UQVJHRVRfTUlQU19PTl9YODYgICAgICJHREJfQ09ORl9GTEFHUz0tLXRhcmdldD1taXBzZWwtZWxmLWxpbnV4IgorLSNkZWZpbmUgR0RCX1RBUkdFVF9NSVBTX09OX1g4Nl82NCAgIkdEQl9DT05GX0ZMQUdTPS0tdGFyZ2V0PW1pcHNlbC1lbGYtbGludXggQ0ZMQUdTPS1tMzIiCisrI2RlZmluZSBHREJfVEFSR0VUX01JUFNfT05fWDg2XzY0ICAiR0RCX0NPTkZfRkxBR1M9LS10YXJnZXQ9bWlwc2VsLWVsZi1saW51eCIKKyAgICAgIAorIC8qCisgICogIFRoZSBvcmlnaW5hbCBwbGFuIHdhcyB0byBhbGxvdyB0aGUgdXNlIG9mIGEgcGFydGljdWxhciB2ZXJzaW9uCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3Jhc2gvY3Jhc2gvc2ltLWNvbW1vbi1zaW0tYXJhbmdlLWZpeC1leHRlcm4taW5saW5lLWhhbmRsaW5nLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NyYXNoL2NyYXNoL3NpbS1jb21tb24tc2ltLWFyYW5nZS1maXgtZXh0ZXJuLWlubGluZS1oYW5kbGluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMTg1YjU3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NyYXNoL2NyYXNoL3NpbS1jb21tb24tc2ltLWFyYW5nZS1maXgtZXh0ZXJuLWlubGluZS1oYW5kbGluZy5wYXRjaApAQCAtMCwwICsxLDc5IEBACitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK2h0dHBzOi8vc291cmNld2FyZS5vcmcvZ2l0Lz9wPWJpbnV0aWxzLWdkYi5naXQ7YT1jb21taXQ7aD05MmZjNjE1CisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorLS0KK0Zyb20gOTJmYzYxNTNhNmZkZjJhMDI3ZDk3ODBmNTk0NTcxMmFhZmFkNGE5ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KK0RhdGU6IFN1biwgMjkgTWFyIDIwMTUgMTU6NTk6MDEgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSF0gc2ltOiBjb21tb246IHNpbS1hcmFuZ2U6IGZpeCBleHRlcm4gaW5saW5lIGhhbmRsaW5nCisKK1dpdGggbmV3ZXIgdmVyc2lvbnMgb2YgZ2NjICg1LngpLCB0aGUgZXh0ZXJuIGlubGluZSB3ZSdyZSB1c2luZyB3aXRoIHRoZQorc2ltLWFyYW5nZSBtb2R1bGUgbm8gbG9uZ2VyIHdvcmtzLiAgU2luY2UgdGhpcyBjb2RlIHJlYWxseSB3YW50cyB0aGUgZ251CitpbmxpbmUgc2VtYW50aWNzLCB1c2UgdGhhdCBhdHRyaWJ1dGUgZXhwbGljaXRseS4KKworUmVwb3J0ZWQtYnk6IERKIERlbG9yaWUgPGRqQHJlZGhhdC5jb20+CitSZXBvcnRlZC1ieTogSm9lbCBTaGVycmlsbCA8am9lbC5zaGVycmlsbEBvYXJjb3JwLmNvbT4KKy0tLQorIGdkYi03LjYvc2ltL2NvbW1vbi9zaW0tYXJhbmdlLmggfCAyMCArKysrKysrKysrKystLS0tLS0tLQorIGdkYi03LjYvc2ltL2NvbW1vbi9zaW0taW5saW5lLmggfCAgNCArKystCisgMiBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZ2RiLTcuNi9zaW0vY29tbW9uL3NpbS1hcmFuZ2UuaCBiL2dkYi03LjYvc2ltL2NvbW1vbi9zaW0tYXJhbmdlLmgKK2luZGV4IDczMTE3ZjMuLmRlODQyYzkgMTAwNjQ0CistLS0gYS9nZGItNy42L3NpbS9jb21tb24vc2ltLWFyYW5nZS5oCisrKysgYi9nZGItNy42L3NpbS9jb21tb24vc2ltLWFyYW5nZS5oCitAQCAtNjAsMjIgKzYwLDI2IEBAIGV4dGVybiB2b2lkIHNpbV9hZGRyX3JhbmdlX2RlbGV0ZSAoQUREUl9SQU5HRSAqIC8qYXIqLywKKyAJCQkJICAgYWRkcmVzc193b3JkIC8qc3RhcnQqLywKKyAJCQkJICAgYWRkcmVzc193b3JkIC8qZW5kKi8pOworIAorKy8qIFRPRE86IFRoaXMgc2hvdWxkIGdldCBtb3ZlZCBpbnRvIHNpbS1pbmxpbmUuaC4gICovCisrI2lmZGVmIEhBVkVfSU5MSU5FCisrI2lmZGVmIFNJTV9BUkFOR0VfQworKyNkZWZpbmUgU0lNX0FSQU5HRV9JTkxJTkUgSU5MSU5FCisrI2Vsc2UKKysjZGVmaW5lIFNJTV9BUkFOR0VfSU5MSU5FIEVYVEVSTl9JTkxJTkUKKysjZW5kaWYKKysjZWxzZQorKyNkZWZpbmUgU0lNX0FSQU5HRV9JTkxJTkUgRVhURVJOCisrI2VuZGlmCisrCisgLyogUmV0dXJuIG5vbi16ZXJvIGlmIEFERFIgaXMgaW4gcmFuZ2UgQVIsIHRyYXZlcnNpbmcgdGhlIGVudGlyZSB0cmVlLgorICAgIElmIG5vIHJhbmdlIGlzIHNwZWNpZmllZCwgdGhhdCBpcyBkZWZpbmVkIHRvIG1lYW4gImV2ZXJ5dGhpbmciLiAgKi8KKy1leHRlcm4gSU5MSU5FIGludAorK1NJTV9BUkFOR0VfSU5MSU5FIGludAorIHNpbV9hZGRyX3JhbmdlX2hpdF9wIChBRERSX1JBTkdFICogLyphciovLCBhZGRyZXNzX3dvcmQgLyphZGRyKi8pOworICNkZWZpbmUgQUREUl9SQU5HRV9ISVRfUChhciwgYWRkcikgXAorICAgKChhciktPnJhbmdlX3RyZWUgPT0gTlVMTCB8fCBzaW1fYWRkcl9yYW5nZV9oaXRfcCAoKGFyKSwgKGFkZHIpKSkKKyAKKyAjaWZkZWYgSEFWRV9JTkxJTkUKKy0jaWZkZWYgU0lNX0FSQU5HRV9DCistI2RlZmluZSBTSU1fQVJBTkdFX0lOTElORSBJTkxJTkUKKy0jZWxzZQorLSNkZWZpbmUgU0lNX0FSQU5HRV9JTkxJTkUgRVhURVJOX0lOTElORQorLSNlbmRpZgorICNpbmNsdWRlICJzaW0tYXJhbmdlLmMiCistI2Vsc2UKKy0jZGVmaW5lIFNJTV9BUkFOR0VfSU5MSU5FCisgI2VuZGlmCisgI2RlZmluZSBTSU1fQVJBTkdFX0NfSU5DTFVERUQKKyAKK2RpZmYgLS1naXQgYS9nZGItNy42L3NpbS9jb21tb24vc2ltLWlubGluZS5oIGIvZ2RiLTcuNi9zaW0vY29tbW9uL3NpbS1pbmxpbmUuaAoraW5kZXggYWY3NTU2Mi4uOGE5YzI4NiAxMDA2NDQKKy0tLSBhL2dkYi03LjYvc2ltL2NvbW1vbi9zaW0taW5saW5lLmgKKysrKyBiL2dkYi03LjYvc2ltL2NvbW1vbi9zaW0taW5saW5lLmgKK0BAIC0zMDMsNyArMzAzLDkgQEAKKyAvKiA/Pz8gVGVtcG9yYXJ5LCBwZW5kaW5nIGRlY2lzaW9uIHRvIGFsd2F5cyB1c2UgZXh0ZXJuIGlubGluZSBhbmQgZG8gYSB2YXN0CisgICAgY2xlYW51cCBvZiBpbmxpbmUgc3VwcG9ydC4gICovCisgI2lmbmRlZiBJTkxJTkUyCistI2lmIGRlZmluZWQgKF9fR05VQ19fKQorKyNpZiBkZWZpbmVkIChfX0dOVUNfR05VX0lOTElORV9fKSB8fCBkZWZpbmVkIChfX0dOVUNfU1REQ19JTkxJTkVfXykKKysjZGVmaW5lIElOTElORTIgX19pbmxpbmVfXyBfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18pKQorKyNlbGlmIGRlZmluZWQgKF9fR05VQ19fKQorICNkZWZpbmUgSU5MSU5FMiBfX2lubGluZV9fCisgI2Vsc2UKKyAjZGVmaW5lIElOTElORTIgLyppbmxpbmUqLworLS0gCisyLjYuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3Jhc2gvY3Jhc2gvc2ltLXBwYy1kcm9wLUxJQlMtZnJvbS1wc2ltLWRlcGVuZGVuY3kucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3Jhc2gvY3Jhc2gvc2ltLXBwYy1kcm9wLUxJQlMtZnJvbS1wc2ltLWRlcGVuZGVuY3kucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzdhMjg3ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaC9zaW0tcHBjLWRyb3AtTElCUy1mcm9tLXBzaW0tZGVwZW5kZW5jeS5wYXRjaApAQCAtMCwwICsxLDM3IEBACitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK2h0dHBzOi8vc291cmNld2FyZS5vcmcvZ2l0Lz9wPWJpbnV0aWxzLWdkYi5naXQ7aD0wZDhhNmFiCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorLS0tCitGcm9tIDBkOGE2YWI3ZDM5ZDI4ZmIxNTU3ZTJhNjJlOWU0YjMzNjM0MWFiMzQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBYXJvIEtvc2tpbmVuIDxhYXJvLmtvc2tpbmVuQGlraS5maT4KK0RhdGU6IE1vbiwgMTcgRmViIDIwMTQgMTc6MTI6NTkgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gc2ltOiBwcGM6IGRyb3AgJChMSUJTKSBmcm9tIHBzaW0gZGVwZW5kZW5jeQorCitXaGVuIGNyb3NzLWNvbXBpbGluZyBHREIgZm9yIFBQQywgdGhlcmUncyBhIHByZXJlcXVpc2l0ZSAiLWx6IiBmb3IgcHNpbQordGhhdCByZXN1bHRzIGluIGEgYnVpbGQgZmFpbHVyZS4gV2l0aCBzdWNoIHByZXJlcXVpc2l0ZSwgR05VIE1ha2Ugd2lsbAordHJ5IHRvIHNlYXJjaCB0aGUgbGlicmFyeSBmcm9tIGJ1aWxkIG1hY2hpbmUncyAvdXNyL2xpYiB3aGljaCBpcyB3cm9uZy4KK09uIDY0LWJpdCBMaW51eCBidWlsZCBtYWNoaW5lcyB0aGUgY29tcGlsYXRpb24gd2lsbCBmYWlsIGJlY2F1c2Ugb2YgdGhpcy4KKworVVJMOiBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xMjIwMgorLS0tCisgc2ltL3BwYy9NYWtlZmlsZS5pbiB8IDIgKy0KKyAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2dkYi03LjYvc2ltL3BwYy9NYWtlZmlsZS5pbiBiL2dkYi03LjYvc2ltL3BwYy9NYWtlZmlsZS5pbgoraW5kZXggYjgxMWY2Zi4uNzQwYmRiMCAxMDA2NDQKKy0tLSBhL2dkYi03LjYvc2ltL3BwYy9NYWtlZmlsZS5pbgorKysrIGIvZ2RiLTcuNi9zaW0vcHBjL01ha2VmaWxlLmluCitAQCAtNTUyLDcgKzU1Miw3IEBAIFBBQ0tBR0VfU1JDID0gQHNpbV9wa19zcmNACisgUEFDS0FHRV9PQkogPSBAc2ltX3BrX29iakAKKyAKKyAKKy1wc2ltOiAkKFRBUkdFVExJQikgbWFpbi5vICQoTElCSUJFUlRZX0xJQikgJChCRkRfTElCKSAkKExJQlMpICQoTElCSU5UTF9ERVApCisrcHNpbTogJChUQVJHRVRMSUIpIG1haW4ubyAkKExJQklCRVJUWV9MSUIpICQoQkZEX0xJQikgJChMSUJJTlRMX0RFUCkKKyAJJChDQykgJChDRkxBR1MpICQoU0lNX0NGTEFHUykgJChMREZMQUdTKSAtbyBwc2ltJChFWEVFWFQpIG1haW4ubyAkKFRBUkdFVExJQikgJChCRkRfTElCKSAkKExJQklOVEwpICQoTElCSUJFUlRZX0xJQikgJChMSUJTKQorIAorIHJ1bjogcHNpbQorLS0gCisxLjkuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3Jhc2gvY3Jhc2hfNy4xLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3Jhc2gvY3Jhc2hfNy4xLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjc4N2YwMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaF83LjEuMy5iYgpAQCAtMCwwICsxLDExMiBAQAorU1VNTUFSWSA9ICJLZXJuZWwgYW5hbHlzaXMgdXRpbGl0eSBmb3IgbGl2ZSBzeXN0ZW1zLCBuZXRkdW1wLCBkaXNrZHVtcCwga2R1bXAsIExLQ0Qgb3IgbWNvcmUgZHVtcGZpbGVzIgorREVTQ1JJUFRJT04gPSAiVGhlIGNvcmUgYW5hbHlzaXMgc3VpdGUgaXMgYSBzZWxmLWNvbnRhaW5lZCB0b29sIHRoYXQgY2FuIGJlIHVzZWQgdG9cCitpbnZlc3RpZ2F0ZSBlaXRoZXIgbGl2ZSBzeXN0ZW1zLCBrZXJuZWwgY29yZSBkdW1wcyBjcmVhdGVkIGZyb20gdGhlXAorbmV0ZHVtcCwgZGlza2R1bXAgYW5kIGtkdW1wIHBhY2thZ2VzIGZyb20gUmVkIEhhdCBMaW51eCwgdGhlIG1jb3JlIGtlcm5lbCBwYXRjaFwKK29mZmVyZWQgYnkgTWlzc2lvbiBDcml0aWNhbCBMaW51eCwgb3IgdGhlIExLQ0Qga2VybmVsIHBhdGNoLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL3Blb3BsZS5yZWRoYXQuY29tL2FuZGVyc29uIgorU0VDVElPTiA9ICJkZXZlbCIKKworTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkczO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworREVQRU5EUyA9ICJ6bGliIHJlYWRsaW5lIgorCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9jcmFzaC11dGlsaXR5LyR7QlBOfS9hcmNoaXZlLyR7UFZ9LnRhci5nejtkb3dubG9hZGZpbGVuYW1lPSR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGh0dHA6Ly9mdHAuZ251Lm9yZy9nbnUvZ2RiL2dkYi03LjYudGFyLmd6O25hbWU9Z2RiO3N1YmRpcj0ke0JQfSBcCisgICAgICAgICAgIGZpbGU6Ly83MDAxZm9yY2VfZGVmaW5lX2FyY2hpdGVjdHVyZS5wYXRjaCBcIAorICAgICAgICAgICBmaWxlOi8vNzAwM2Nyb3NzX3JhbmxpYi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNyb3NzX2FkZF9jb25maWd1cmVfb3B0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NpbS1wcGMtZHJvcC1MSUJTLWZyb20tcHNpbS1kZXBlbmRlbmN5LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NpbS1jb21tb24tc2ltLWFyYW5nZS1maXgtZXh0ZXJuLWlubGluZS1oYW5kbGluZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kb25ub3QtZXh0cmFjdC1nZGItZHVyaW5nLWRvLWNvbXBpbGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZ2RiX2J1aWxkX2pvYnNfYW5kX25vdF93cml0ZV9jcmFzaF90YXJnZXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcmVtb3ZlLXVucmVjb2duaXplZC1nY2Mtb3B0aW9uLW0zMi1mb3ItbWlwcy5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjE1NTg4OWEyMzNjNTIzMGVmMWQzODc4NTgwOTFkMjk0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFlOTg1MjlkNDJiODQzZjA3ZDc5NWI4NmI4Zjg1MjlmNjRjYzYwN2VlM2M1OGFmZmM1YThhYThhNTA2ZTE4M2QiCisKK1NSQ19VUklbZ2RiLm1kNXN1bV0gPSAiYTk4MzY3MDczMzdlNWY3YmY3NmEwMDlhODkwNGY0NzAiCitTUkNfVVJJW2dkYi5zaGEyNTZzdW1dID0gIjgwNzAzODlhNWRjYzEwNGViMGJlNDgzZDU4MjcyOWY5OGVkNGQ3NjFhZDE5Y2VkZDNmMTdiNWQyNTAyZmFhMzYiCisKK2luaGVyaXQgZ2V0dGV4dAorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBjcm9zcyIKKworIyBjcmFzaCA3LjEuMyBhbmQgYmVmb3JlIGRvbid0IHN1cHBvcnQgbWlwczY0CitDT01QQVRJQkxFX0hPU1QgPSAiXig/IW1pcHM2NCkuKiIKKworRVhUUkFfT0VNQUtFID0gJ1JQTVBLRz0iJHtQVn0iIFwKKyAgICAgICAgICAgICAgICBHREJfVEFSR0VUPSIke1RBUkdFVF9TWVN9IiBcCisgICAgICAgICAgICAgICAgR0RCX0hPU1Q9IiR7QlVJTERfU1lTfSIgXAorICAgICAgICAgICAgICAgIEdEQl9NQUtFX0pPQlM9IiR7UEFSQUxMRUxfTUFLRX0iIFwKKyAgICAgICAgICAgICAgICAnCisKK0VYVFJBX09FTUFLRV9jbGFzcy1jcm9zcyA9ICdSUE1QS0c9IiR7UFZ9IiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0RCX1RBUkdFVD0iJHtCVUlMRF9TWVN9IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcJHtHREJfQ09ORl9GTEFHU30gXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tdGFyZ2V0PSR7VEFSR0VUX1NZU30iIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBHREJfSE9TVD0iJHtCVUlMRF9TWVN9IiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0RCX01BS0VfSk9CUz0iJHtQQVJBTExFTF9NQUtFfSIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICcKKworRVhUUkFfT0VNQUtFX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIExERkxBR1M9JyR7QlVJTERfTERGTEFHU30nIgorRVhUUkFfT0VNQUtFX2FwcGVuZF9jbGFzcy1jcm9zcyA9ICIgTERGTEFHUz0nJHtCVUlMRF9MREZMQUdTfSciCisKK1JFTU9WRV9NMzIgPSAic2VkIC1pIC1lICdzLyNkZWZpbmUgVEFSR0VUX0NGTEFHU19BUk1fT05fWDg2XzY0LiovI2RlZmluZSBUQVJHRVRfQ0ZMQUdTX0FSTV9PTl9YODZfNjRcdFwiVEFSR0VUX0NGTEFHUz0tRF9GSUxFX09GRlNFVF9CSVRTPTY0XCIvZycgJHtTfS9jb25maWd1cmUuYyIKKworUkVNT1ZFX00zMl9jbGFzcy1jcm9zcyA9ICIiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICA6Cit9CisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBjYXNlICR7VEFSR0VUX0FSQ0h9IGluCisgICAgICAgIGFhcmNoNjQqKSAgICBBUkNIPUFSTTY0IDs7CisgICAgICAgIGFybSopICAgICAgICBBUkNIPUFSTSA7OworICAgICAgICBpKjg2KikgICAgICAgQVJDSD1YODYgOzsKKyAgICAgICAgeDg2XzY0KikgICAgIEFSQ0g9WDg2XzY0IDs7CisgICAgICAgIHBvd2VycGM2NCopICBBUkNIPVBQQzY0IDs7CisgICAgICAgIHBvd2VycGMqKSAgICBBUkNIPVBQQyA7OworICAgICAgICBtaXBzKikgICAgICAgQVJDSD1NSVBTIDs7CisgICAgZXNhYworCisgICAgc2VkIC1pIHMvRk9SQ0VfREVGSU5FX0FSQ0gvIiR7QVJDSH0iL2cgJHtTfS9jb25maWd1cmUuYworICAgICR7UkVNT1ZFX00zMn0KKyAgICBzZWQgLWkgJ3MvJmd0Oy8+L2cnICR7U30vTWFrZWZpbGUKK30KKworZG9fY29tcGlsZSgpIHsKKyAgICBvZV9ydW5tYWtlICR7RVhUUkFfT0VNQUtFfQorfQorCitkb19pbnN0YWxsX3ByZXBlbmQgKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfS8ke21hbmRpcn0vbWFuOAorICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vY3Jhc2gKKworICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2NyYXNoLjggJHtEfS8ke21hbmRpcn0vbWFuOC8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9kZWZzLmggJHtEfSR7aW5jbHVkZWRpcn0vY3Jhc2gKK30KKworZG9faW5zdGFsbF9jbGFzcy10YXJnZXQgKCkgeworICAgIG9lX3J1bm1ha2UgREVTVERJUj0ke0R9IGluc3RhbGwKK30KKworZG9faW5zdGFsbF9jbGFzcy1uYXRpdmUgKCkgeworICAgIG9lX3J1bm1ha2UgREVTVERJUj0ke0R9JHtTVEFHSU5HX0RJUl9OQVRJVkV9IGluc3RhbGwKK30KKworZG9faW5zdGFsbF9jbGFzcy1jcm9zcyAoKSB7CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vY3Jhc2ggJHtEfS8ke2JpbmRpcn0KK30KKworUkRFUEVORFNfJHtQTn0gKz0gImxpYmx6bWEiCitSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiIgorUkRFUEVORFNfJHtQTn1fY2xhc3MtY3Jvc3MgPSAiIgorCisjIENhdXNlcyBnY2MgdG8gZ2V0IHN0dWNrIGFuZCBlYXQgYWxsIGF2YWlsYWJsZSBtZW1vcnkgaW4gcWVtdWFybSBidWlsZHMKKyMgamVua2lucyAgMTUxNjEgIDEwMCAxMi41IDEwMzg5NTk2IDEwMzIxMjg0ID8gICBSICAgIDExOjQwICAyODoxNyAvaG9tZS9qZW5raW5zL29lL3dvcmxkL3Noci1jb3JlL3RtcC1nbGliYy9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYmV4ZWMvYXJtLW9lLWxpbnV4LWdudWVhYmkvZ2NjL2FybS1vZS1saW51eC1nbnVlYWJpLzQuOS4yL2NjMSAtcXVpZXQgLUkgLiAtSSAuIC1JIC4vY29tbW9uIC1JIC4vY29uZmlnIC1JIC4vLi4vaW5jbHVkZS9vcGNvZGUgLUkgLi8uLi9vcGNvZGVzLy4uIC1JIC4vLi4vcmVhZGxpbmUvLi4gLUkgLi4vYmZkIC1JIC4vLi4vYmZkIC1JIC4vLi4vaW5jbHVkZSAtSSAuLi9saWJkZWNudW1iZXIgLUkgLi8uLi9saWJkZWNudW1iZXIgLUkgLi9nbnVsaWIvaW1wb3J0IC1JIGJ1aWxkLWdudWxpYi9pbXBvcnQgLWlzeXNyb290IC9ob21lL2plbmtpbnMvb2Uvd29ybGQvc2hyLWNvcmUvdG1wLWdsaWJjL3N5c3Jvb3RzL3FlbXVhcm0gLU1NRCBldmFsLmQgLU1GIC5kZXBzL2V2YWwuVHBvIC1NUCAtTVQgZXZhbC5vIC1EIExPQ0FMRURJUj0iL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiIC1EIENSQVNIX01FUkdFIC1EIEhBVkVfQ09ORklHX0ggLUQgVFVJPTEgZXZhbC5jIC1xdWlldCAtZHVtcGJhc2UgZXZhbC5jIC1tYXJjaD1hcm12NXRlIC1tdGh1bWIgLW10aHVtYi1pbnRlcndvcmsgLW10bHMtZGlhbGVjdD1nbnUgLWF1eGJhc2Utc3RyaXAgZXZhbC5vIC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV25vLXBvaW50ZXItc2lnbiAtV25vLXVudXNlZCAtV3VudXNlZC12YWx1ZSAtV3VudXNlZC1mdW5jdGlvbiAtV25vLXN3aXRjaCAtV25vLWNoYXItc3Vic2NyaXB0cyAtV21pc3NpbmctcHJvdG90eXBlcyAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VtcHR5LWJvZHkgLWZlbGltaW5hdGUtdW51c2VkLWRlYnVnLXR5cGVzIC1vIC0KK0FSTV9JTlNUUlVDVElPTl9TRVQgPSAiYXJtIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2t0YXAva3RhcC1tb2R1bGVfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2t0YXAva3RhcC1tb2R1bGVfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiOTEzMjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwva3RhcC9rdGFwLW1vZHVsZV9naXQuYmIKQEAgLTAsMCArMSwyMiBAQAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBDT1BZSU5HLk1JVCBmb3IgdGhlIHRlcm1zKQorCityZXF1aXJlIGt0YXAuaW5jCisKK1NVTU1BUlkgPSAiS1RBUCBpcyBhIHNjcmlwdGluZyBkeW5hbWljIHRyYWNpbmcgdG9vbCBmb3IgTGludXgiCisKK2luaGVyaXQgbW9kdWxlCisKKyMgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9rdGFwL2t0YXAvaXNzdWVzLzgwCitQTkJMQUNLTElTVFtrdGFwLW1vZHVsZV0gPz0gIk5vdCBjb21wYXRpYmxlIHdpdGggMy4xOSBrZXJuZWwiCisKKyMgT25seSBidWlsZCB0aGUgbW9kdWxlCitNQUtFX1RBUkdFVFMgPSAibW9kIgorCisjIEtlcm5lbCBtb2R1bGUgcGFja2FnZXMgTVVTVCBiZWdpbiB3aXRoICdrZXJuZWwtbW9kdWxlLScsIG90aGVyd2lzZQorIyBtdWx0aWxpYiBpbWFnZSBnZW5lcmF0aW9uIGNhbiBmYWlsLgorIworIyBUaGUgZm9sbG93aW5nIGxpbmUgaXMgb25seSBuZWNlc3NhcnkgaWYgdGhlIHJlY2lwZSBuYW1lIGRvZXMgbm90IGJlZ2luCisjIHdpdGgga2VybmVsLW1vZHVsZS0uCisjCitQS0dfJHtQTn0gPSAia2VybmVsLW1vZHVsZS0ke1BOfSIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2t0YXAva3RhcC5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwva3RhcC9rdGFwLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMjE0YTAyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2t0YXAva3RhcC5pbmMKQEAgLTAsMCArMSwyNiBAQAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBDT1BZSU5HLk1JVCBmb3IgdGhlIHRlcm1zKQorCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lmt0YXAub3JnIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UtR1BMO21kNT1lYjcyM2I2MTUzOWZlZWYwMTNkZTQ3NmU2OGI1YzUwYSIKKworUFYgPSAiMC40K2dpdHIke1NSQ1BWfSIKK1NSQ1JFViA9ICJjODQwMWUwN2M4OWNkZWM5YTVmNjczZGE0ZGRiMTJiNzk4MmI1MjJiIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2t0YXAva3RhcC5naXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKKyMgUGFja2FnZSBjb25maWcgaXMgYWJ1c2VkIGFzIGEgZ2VuZXJhbCBjb21waWxlIHRpbWUgY29uZmlndXJhdGlvbiB0b29sLgorCisjIE9ubHkgc3VwcG9ydHMgeDg2XzY0IGZvciBub3chLiBOZWVkcyB0byBiZSBlbmFibGVkIGZvciBrdGFwLW1vZHVsZSB0b28uCitQQUNLQUdFQ09ORklHW2ZmaV0gPSAiIgorCisjIE5lZWRlZCB0byByZXNvbHZlIHN5bWJvbHMgaW4gRFNPIGFuZCBmb3Igc2R0CitQQUNLQUdFQ09ORklHW2xpYmVsZl0gPSAiLCxlbGZ1dGlscyIKKworUEFDS0FHRUNPTkZJRyA/PSAibGliZWxmIgorCitFWFRSQV9PRU1BS0UgPSAiIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdsaWJlbGYnLCAnJywgJ05PX0xJQkVMRj0xJywgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdmZmknLCAnRkZJPTEnLCAnJywgZCl9IFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9rdGFwL2t0YXBfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2t0YXAva3RhcF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjQ4ZTdiZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9rdGFwL2t0YXBfZ2l0LmJiCkBAIC0wLDAgKzEsMTkgQEAKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgQ09QWUlORy5NSVQgZm9yIHRoZSB0ZXJtcykKKworcmVxdWlyZSBrdGFwLmluYworCitTVU1NQVJZID0gIktUQVAgaXMgYSBzY3JpcHRpbmcgZHluYW1pYyB0cmFjaW5nIHRvb2wgZm9yIExpbnV4IgorREVQRU5EUyA9ICJrdGFwLW1vZHVsZSIKKworUE5CTEFDS0xJU1Rba3RhcF0gPz0gIkRlcGVuZHMgb24gYmxhY2tsaXN0ZWQga2VybmVsLW1vZHVsZS1rdGFwdm0iCisKKyMgT25seSBidWlsZCB0aGUgdXNlcnNwYWNlIGFwcAorRVhUUkFfT0VNQUtFICs9ICJrdGFwIgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L2t0YXAgJHtEfSR7YmluZGlyfS8KK30KKworUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKK1JSRUNPTU1FTkRTXyR7UE59ID0gImtlcm5lbC1tb2R1bGUta3RhcHZtIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTIwMDEyNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC5pbmMKQEAgLTAsMCArMSwxMzEgQEAKK0RFU0NSSVBUSU9OID0gIkxpbnV4IEtlcm5lbCIKK1NFQ1RJT04gPSAia2VybmVsIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQ3ODEwZmFiNzQ4N2ZiMGFhZDMyN2I3NmYxYmU3Y2Q3IgorCitJTkNfUFIgPSAicjAiCisKK2luaGVyaXQga2VybmVsIHNpdGVpbmZvCisKKyMgRW5hYmxlIE9BQkkgY29tcGF0IGZvciBwZW9wbGUgc3R1Y2sgd2l0aCBvYnNvbGV0ZSB1c2Vyc3BhY2UKK0FSTV9LRUVQX09BQkkgPz0gIjAiCisKKyMgU2V0IHRoZSB2ZXJib3NpdHkgb2Yga2VybmVsIG1lc3NhZ2VzIGR1cmluZyBydW50aW1lCisjIFlvdSBjYW4gZGVmaW5lIENNRExJTkVfREVCVUcgaW4geW91ciBsb2NhbC5jb25mIG9yIGRpc3Ryby5jb25mIHRvIG92ZXJyaWRlIHRoaXMgYmVoYXZpb3VyCitDTURMSU5FX0RFQlVHID89ICJsb2dsZXZlbD0zIgorCisjIEtlcm5lbCBib290bG9nbyBpcyBkaXN0cm8tc3BlY2lmaWMgKGRlZmF1bHQgaXMgT0UgbG9nbykuCisjIExvZ28gcmVzb2x1dGlvbiAocXZnYSwgdmdhLCAuLi4pIGlzIG1hY2hpbmUtc3BlY2lmaWMuCitMT0dPX1NJWkUgPz0gJyR7QGJhc2VfY29uZGl0aW9uYWwoIk1BQ0hJTkVfR1VJX0NMQVNTIiwgImJpZ3NjcmVlbiIsICJ2Z2EiLCAicXZnYSIsIGQpfScKKyMgVG8gdXNlIHRoaXMsIGFkZCBmaWxlOi8vJHtMT0dPX1NJWkV9L2xvZ29fbGludXhfY2x1dDIyNC5wcG0uYnoyIG9yIHNpbWlsYXIKKyMgdG8geW91ciBrZXJuZWwgcmVjaXBlLCBhbmQgdGhlbiBzdHJ1Y3R1cmUgeW91ciBsb2dvcyBmb3IgZWFjaCByZXNvbHV0aW9uCisjIGFjY29yZGluZ2x5LgorCitMT0NBTFZFUlNJT04gPz0gIiIKKworI2tlcm5lbF9jb25mX3ZhcmlhYmxlIENNRExJTkUgIlwiJHtDTURMSU5FfSAke0NNRExJTkVfREVCVUd9XCIiCitrZXJuZWxfY29uZl92YXJpYWJsZSgpIHsKKyAgICBDT05GX1NFRF9TQ1JJUFQ9IiRDT05GX1NFRF9TQ1JJUFQgL0NPTkZJR18kMVsgPV0vZDsiCisgICAgaWYgdGVzdCAiJDIiID0gIm4iCisgICAgdGhlbgorICAgICAgICBlY2hvICIjIENPTkZJR18kMSBpcyBub3Qgc2V0IiA+PiAke0J9Ly5jb25maWcKKyAgICBlbHNlCisgICAgICAgIGVjaG8gIkNPTkZJR18kMT0kMiIgPj4gJHtCfS8uY29uZmlnCisgICAgZmkKK30KKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgZWNobyAiIiA+ICR7Qn0vLmNvbmZpZworICAgIENPTkZfU0VEX1NDUklQVD0iIgorCisgICAgIworICAgICMgbG9nbyBzdXBwb3J0LCBpZiB5b3Ugc3VwcGx5IGxvZ29fbGludXhfY2x1dDIyNC5wcG0gaW4gU1JDX1VSSSwgdGhlbiBpdCdzIGdvaW5nIHRvIGJlIHVzZWQKKyAgICAjCisgICAgaWYgWyAtZSAke1dPUktESVJ9L2xvZ29fbGludXhfY2x1dDIyNC5wcG0gXTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9sb2dvX2xpbnV4X2NsdXQyMjQucHBtIGRyaXZlcnMvdmlkZW8vbG9nby9sb2dvX2xpbnV4X2NsdXQyMjQucHBtCisgICAgICAgIGtlcm5lbF9jb25mX3ZhcmlhYmxlIExPR08geQorICAgICAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBMT0dPX0xJTlVYX0NMVVQyMjQgeQorICAgIGZpCisKKyAgICAjCisgICAgIyBvYWJpIC8gZWFiaSBzdXBwb3J0CisgICAgIworICAgIGtlcm5lbF9jb25mX3ZhcmlhYmxlIEFFQUJJIHkKKyAgICBpZiBbICIke0FSTV9LRUVQX09BQkl9IiA9ICIxIiBdIDsgdGhlbgorICAgICAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBPQUJJX0NPTVBBVCB5CisgICAgZWxzZQorICAgICAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBPQUJJX0NPTVBBVCBuCisgICAgZmkKKworICAgICMgV2hlbiBlbmFibGluZyB0aHVtYiBmb3IgdXNlcnNwYWNlIHdlIGFsc28gbmVlZCB0aHVtYiBzdXBwb3J0IGluIHRoZSBrZXJuZWwKKyAgICBpZiBbICIke0FSTV9JTlNUUlVDVElPTl9TRVR9IiA9ICJ0aHVtYiIgXSA7IHRoZW4KKyAgICAgICAga2VybmVsX2NvbmZfdmFyaWFibGUgQVJNX1RIVU1CIHkKKyAgICBmaQorCisgICAga2VybmVsX2NvbmZfdmFyaWFibGUgQ01ETElORSAiXCIke0NNRExJTkV9ICR7Q01ETElORV9ERUJVR31cIiIKKworICAgIGtlcm5lbF9jb25mX3ZhcmlhYmxlIExPQ0FMVkVSU0lPTiAiXCIke0xPQ0FMVkVSU0lPTn1cIiIKKyAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBMT0NBTFZFUlNJT05fQVVUTyBuCisKKyAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBTWVNGU19ERVBSRUNBVEVEIG4KKyAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBTWVNGU19ERVBSRUNBVEVEX1YyIG4KKyAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBIT1RQTFVHIHkKKyAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBVRVZFTlRfSEVMUEVSX1BBVEggXCJcIgorICAgIGtlcm5lbF9jb25mX3ZhcmlhYmxlIFVOSVggeQorICAgIGtlcm5lbF9jb25mX3ZhcmlhYmxlIFNZU0ZTIHkKKyAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBQUk9DX0ZTIHkKKyAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBUTVBGUyB5CisgICAga2VybmVsX2NvbmZfdmFyaWFibGUgSU5PVElGWV9VU0VSIHkKKyAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBTSUdOQUxGRCB5CisgICAga2VybmVsX2NvbmZfdmFyaWFibGUgVE1QRlNfUE9TSVhfQUNMIHkKKyAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBCTEtfREVWX0JTRyB5CisgICAga2VybmVsX2NvbmZfdmFyaWFibGUgREVWVE1QRlMgeQorICAgIGtlcm5lbF9jb25mX3ZhcmlhYmxlIERFVlRNUEZTX01PVU5UIHkKKworICAgICMgTmV3ZXIgaW5pdHMgbGlrZSBzeXN0ZW1kIG5lZWQgY2dyb3VwIHN1cHBvcnQKKyAgICBpZiBbICIke0tFUk5FTF9FTkFCTEVfQ0dST1VQU30iID0gIjEiIF0gOyB0aGVuCisgICAgICAgIGtlcm5lbF9jb25mX3ZhcmlhYmxlIENHUk9VUF9TQ0hFRCB5CisgICAgICAgIGtlcm5lbF9jb25mX3ZhcmlhYmxlIENHUk9VUFMgeQorICAgICAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBDR1JPVVBfTlMgeQorICAgICAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBDR1JPVVBfRlJFRVpFUiB5CisgICAgICAgIGtlcm5lbF9jb25mX3ZhcmlhYmxlIENHUk9VUF9ERVZJQ0UgeQorICAgICAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBDUFVTRVRTIHkKKyAgICAgICAga2VybmVsX2NvbmZfdmFyaWFibGUgUFJPQ19QSURfQ1BVU0VUIHkKKyAgICAgICAga2VybmVsX2NvbmZfdmFyaWFibGUgQ0dST1VQX0NQVUFDQ1QgeQorICAgICAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBSRVNPVVJDRV9DT1VOVEVSUyB5CisgICAgZmkKKworICAgICMKKyAgICAjIHJvb3Qtb3Zlci1uZnMtb3Zlci11c2ItZXRoIHN1cHBvcnQuIExpbWl0ZWQsIGJ1dCBzaG91bGQgY292ZXIgc29tZSBjYXNlcy4KKyAgICAjIEVuYWJsZSB0aGlzIGJ5IHNldHRpbmcgYSBwcm9wZXIgQ01ETElORV9ORlNST09UX1VTQi4KKyAgICAjCisgICAgaWYgWyAhIC16ICIke0NNRExJTkVfTkZTUk9PVF9VU0J9IiBdOyB0aGVuCisgICAgICAgIGJibm90ZSAiQ29uZmlndXJpbmcgdGhlIGtlcm5lbCBmb3Igcm9vdC1vdmVyLW5mcy1vdmVyLXVzYi1ldGggd2l0aCBDTURMSU5FICR7Q01ETElORV9ORlNST09UX1VTQn0iCisgICAgICAgIGtlcm5lbF9jb25mX3ZhcmlhYmxlIElORVQgeQorICAgICAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBJUF9QTlAgeQorICAgICAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBVU0JfR0FER0VUIHkKKyAgICAgICAga2VybmVsX2NvbmZfdmFyaWFibGUgVVNCX0dBREdFVF9TRUxFQ1RFRCB5CisgICAgICAgIGtlcm5lbF9jb25mX3ZhcmlhYmxlIFVTQl9FVEggeQorICAgICAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBORlNfRlMgeQorICAgICAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBST09UX05GUyB5CisgICAgICAgIGtlcm5lbF9jb25mX3ZhcmlhYmxlIENNRExJTkUgXCIke0NNRExJTkVfTkZTUk9PVF9VU0J9ICR7Q01ETElORV9ERUJVR31cIgorICAgIGZpCisKKyAgICBzZWQgLWUgIiR7Q09ORl9TRURfU0NSSVBUfSIgXAorICAgIDwgJyR7V09SS0RJUn0vZGVmY29uZmlnJyA+Picke0J9Ly5jb25maWcnCisKKyAgICB5ZXMgJycgfCBvZV9ydW5tYWtlIC1DICR7U30gTz0ke0J9IG9sZGNvbmZpZworfQorCitkb19jb25maWd1cmVfYXBwZW5kKCkgeworICAgIGlmIHRlc3QgLWUgc2NyaXB0cy9NYWtlZmlsZS5md2luc3QgOyB0aGVuCisgICAgICAgIHNlZCAtaSAtZSAiczotbTA2NDQ6LW0gMDY0NDpnIiBzY3JpcHRzL01ha2VmaWxlLmZ3aW5zdAorICAgIGZpCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIG9lX3J1bm1ha2UgaGVhZGVyc19pbnN0YWxsIElOU1RBTExfSERSX1BBVEg9JHtEfSR7ZXhlY19wcmVmaXh9L3NyYy9saW51eC0ke0tFUk5FTF9WRVJTSU9OfSBBUkNIPSRBUkNICit9CisKK1BBQ0tBR0VTID0rICJrZXJuZWwtaGVhZGVycyIKK0ZJTEVTX2tlcm5lbC1oZWFkZXJzID0gIiR7ZXhlY19wcmVmaXh9L3NyYy9saW51eCoiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS1vc3MtMS4wLjE3L2xpYmlvLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2Etb3NzLTEuMC4xNy9saWJpby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMDUzZTRjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2Etb3NzLTEuMC4xNy9saWJpby5wYXRjaApAQCAtMCwwICsxLDQzIEBACitJbmRleDogYWxzYS1vc3MtMS4wLjE1L2Fsc2Evc3RkaW9lbXUuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGFsc2Etb3NzLTEuMC4xNS5vcmlnL2Fsc2Evc3RkaW9lbXUuYwkyMDA3LTEwLTE1IDEwOjUwOjQwLjAwMDAwMDAwMCArMDIwMAorKysrIGFsc2Etb3NzLTEuMC4xNS9hbHNhL3N0ZGlvZW11LmMJMjAwOC0wNy0yMSAyMjoxNzowNi4zMDMxNjE0MzggKzAyMDAKK0BAIC0zNyw3ICszNyw5IEBACisgI2VuZGlmCisgCisgI2luY2x1ZGUgPHN0ZGlvLmg+CisrI2lmZGVmIEhBVkVfTElCSU9fSAorICNpbmNsdWRlIDxsaWJpby5oPgorKyNlbmRpZgorIAorIHN0cnVjdCBmZF9jb29raWUgeworIAlpbnQgZmQ7CitAQCAtOTksNyArMTAxLDExIEBACisgCisgCWlmIChvcGVuX21vZGUgJiYgZmRjLT5mZCA+IDApIHsKKyAJCXJlc3VsdCA9IGZvcGVuY29va2llIChmZGMsInciLCBmbnMpOworKyNpZmRlZiBIQVZFX0ZJTEVOTworIAkJcmVzdWx0LT5fZmlsZW5vID0gZmRjLT5mZDsJCS8qIHVnbHkgcGF0Y2h5IHNsaW15IGtsdWRneSBoYWNrICovCisrI2Vsc2UKKysJCXJlc3VsdC0+X19maWxlZGVzID0gZmRjLT5mZDsKKysjZW5kaWYKKyAJfQorIAlyZXR1cm4gcmVzdWx0OworIH0KK0luZGV4OiBhbHNhLW9zcy0xLjAuMTUvY29uZmlndXJlLmluCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYWxzYS1vc3MtMS4wLjE1Lm9yaWcvY29uZmlndXJlLmluCTIwMDctMTAtMTUgMTA6NTA6NDAuMDAwMDAwMDAwICswMjAwCisrKysgYWxzYS1vc3MtMS4wLjE1L2NvbmZpZ3VyZS5pbgkyMDA4LTA3LTIxIDIyOjE2OjExLjcxOTgzNzI5OCArMDIwMAorQEAgLTMzLDYgKzMzLDEyIEBACisgICBMSUJTPSIkT0xEX0xJQlMiCisgZmkKKyAKKytBQ19DSEVDS19IRUFERVJTX09OQ0UoW2xpYmlvLmhdKQorKworK0FDX0NIRUNLX01FTUJFUihbc3RydWN0IF9JT19GSUxFLl9maWxlbm9dLAorKwkJW0FDX0RFRklORShbSEFWRV9GSUxFTk9dLCBbMV0sW0RlZmluZSBpZiBfZmlsZW5vIGV4aXN0cy5dKV0sCisrCQlbXSxbXSkKKysKKyBBQ19PVVRQVVQoTWFrZWZpbGUgYWxzYS9NYWtlZmlsZSBhbHNhL2Fvc3MgYWxzYS9hb3NzLm9sZCBcCisgCSAgb3NzLXJlZGlyL01ha2VmaWxlIHRlc3QvTWFrZWZpbGUgXAorICAgICAgICAgICBhbHNhL3Rlc3Rhb3NzIHRlc3QvdGVzdGFvc3MpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS1vc3NfMS4wLjE3LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2Etb3NzXzEuMC4xNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTY2ZGJiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2Etb3NzXzEuMC4xNy5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gIkFsc2EgT1NTIENvbXBhdGliaWxpdHkgUGFja2FnZSIKK1NFQ1RJT04gPSAibGlicy9tdWx0aW1lZGlhIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM5M2E1Y2E0NDVmNjk2NTg3M2VjYTAyNTlhMTdmODMzIgorREVQRU5EUyA9ICJhbHNhLWxpYiIKK1BSID0gInIxIgorCitTUkNfVVJJID0gImZ0cDovL2Z0cC5hbHNhLXByb2plY3Qub3JnL3B1Yi9vc3MtbGliL2Fsc2Etb3NzLSR7UFZ9LnRhci5iejIgXAorICAgIGZpbGU6Ly9saWJpby5wYXRjaCBcCisiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0xFQURfU09OQU1FID0gImxpYmFvc3Muc28uMCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgIHRvdWNoIE5FV1MgUkVBRE1FIEFVVEhPUlMgQ2hhbmdlTG9nCisgICAgc2VkIC1pICJzL2xpYmFvc3Muc28vJHtMRUFEX1NPTkFNRX0vIiAke1N9L2Fsc2EvYW9zcy5pbgorfQorCitTUkNfVVJJW21kNXN1bV0gPSAiMWIxODUwYzJmYzkxNDc2YTczZDUwZjUzN2NiZDQwMmYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGQwMDllMjNlMmNiZWUxNjkxZWMzYzk1ZDE4MzgwNTZhODA0ZDk4NDQwZWFlNzcxNWQ2YzNhZWJjNzEwZjljYSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvYXVkaW9maWxlL2F1ZGlvZmlsZV8wLjIuNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvYXVkaW9maWxlL2F1ZGlvZmlsZV8wLjIuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTg4NjU5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9hdWRpb2ZpbGUvYXVkaW9maWxlXzAuMi43LmJiCkBAIC0wLDAgKzEsMTUgQEAKK0RFU0NSSVBUSU9OID0gIlRoZSBBdWRpbyBGaWxlIExpYnJhcnkgcHJvdmlkZXMgYSB1bmlmb3JtIGFuZCBlbGVnYW50IFwKK0FQSSBmb3IgYWNjZXNzaW5nIGEgdmFyaWV0eSBvZiBhdWRpbyBmaWxlIGZvcm1hdHMsIHN1Y2ggYXMgQUlGRi9BSUZGLUMsIFwKK1dBVkUsIE5lWFQvU3VuIC5zbmQvLmF1LCBCZXJrZWxleS9JUkNBTS9DQVJMIFNvdW5kIEZpbGUsIEF1ZGlvIFZpc3VhbCBcCitSZXNlYXJjaCwgQW1pZ2EgSUZGLzhTVlgsIGFuZCBOSVNUIFNQSEVSRS4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LjY4ay5vcmcvfm1pY2hhZWwvYXVkaW9maWxlLyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyICYgR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zYmY1MDAwMmFlZmQwMDJmNDllN2JiODU0MDYzZjdlNyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkdQTDttZDU9MDYzNmU3M2ZmMDIxNWU4ZDY3MmRjNGMzMmMzMTdiYjMiCisKK1NSQ19VUkkgPSAiJHtHTk9NRV9NSVJST1J9L2F1ZGlvZmlsZS8wLjIvJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImEzOWJlMzE3YTdiMTk3MWI0MDg4MDVkYzVlMzcxODYyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE2MWM0MDM2YzI2MDBhNjQ1ODQzZjE2YmVjNGJlMTY2MDkzYTlkZjVmMTViMDJjODUyOTEyMTNhYTljZjE1YTIiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGxpYl9wYWNrYWdlIGJpbmNvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9jZHJraXQvY2Rya2l0XzEuMS4xMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvY2Rya2l0L2NkcmtpdF8xLjEuMTEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTU0Yjg5ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvY2Rya2l0L2NkcmtpdF8xLjEuMTEuYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSA9ICJDRC9EVkQgY29tbWFuZCBsaW5lIHRvb2xzIgorSE9NRVBBR0UgPSAiaHR0cDovL2NkcmtpdC5vcmcvIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjMwZDNiMjc1MGI2NjgxMzNmYzE3YjQwMWUxYjk4ZjgiCisKKyMgV2hpbGUgd3JpdGluZyBkb3dubG9hZCBmcm9tIGNkcmtpdC5vcmcgd2FzIGJyb2tlbiBzbyBnZXQgc291cmNlcyBmcm9tIGRlYmlhbgorU1JDX1VSSSA9ICIgXAorICAgICR7REVCSUFOX01JUlJPUn0vbWFpbi9jLyR7QlBOfS8ke0JQTn1fJHtQVn0ub3JpZy50YXIuZ3ogXAorICAgIGZpbGU6Ly8wMDAxLWRvLW5vdC1jcmVhdGUtYS1ydW4tdGVzdC10by1kZXRlcm1pbmUtb3JkZXItb2YtYml0ZmkucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImVmZTA4ZTJmM2NhNDc4NDg2MDM3YjA1M2FjZDUxMmU5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQxYzAzMDc1NmVjYzE4MmRlZmVlOWZlODg1NjM4YzE3ODVkMzVhMmMyYTI5N2I0NjA0YzBlMGRjYzc4ZTQ3ZGEiCisKK2luaGVyaXQgY21ha2UKKworREVQRU5EUyA9ICJsaWJjYXAgZmlsZSBiemlwMiIKK1JERVBFTkRTXyR7UE59ID0gInBlcmwiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2NkcmtpdC9maWxlcy8wMDAxLWRvLW5vdC1jcmVhdGUtYS1ydW4tdGVzdC10by1kZXRlcm1pbmUtb3JkZXItb2YtYml0ZmkucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2NkcmtpdC9maWxlcy8wMDAxLWRvLW5vdC1jcmVhdGUtYS1ydW4tdGVzdC10by1kZXRlcm1pbmUtb3JkZXItb2YtYml0ZmkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzk3MjVjYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvY2Rya2l0L2ZpbGVzLzAwMDEtZG8tbm90LWNyZWF0ZS1hLXJ1bi10ZXN0LXRvLWRldGVybWluZS1vcmRlci1vZi1iaXRmaS5wYXRjaApAQCAtMCwwICsxLDUzIEBACitGcm9tIGE3MDJjZDFiYjVlYmE1YTA1ZDEwOTg4NjJiNWI4NjNhM2Y2ZGQ1NTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBUaHUsIDEwIFNlcCAyMDE1IDA5OjM5OjEzICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGRvIG5vdCBjcmVhdGUgYSBydW4gdGVzdCB0byBkZXRlcm1pbmUgb3JkZXIgb2YgYml0ZmllbGRzCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK3Rha2VuIGZyb20gWzFdCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY3Jvc3MgY29tcGlsZSBzcGVjaWZpY10KKworWzFdIGh0dHA6Ly9jZ2l0Lm9wZW5lbWJlZGRlZC5vcmcvb3BlbmVtYmVkZGVkL3RyZWUvcmVjaXBlcy9jZHJraXQvY2Rya2l0L3hjb25maWcucGF0Y2gKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgaW5jbHVkZS9DTWFrZUxpc3RzLnR4dCB8IDIgLS0KKyBpbmNsdWRlL3hjb25maWcuaC5pbiAgIHwgNiArKysrKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2luY2x1ZGUvQ01ha2VMaXN0cy50eHQgYi9pbmNsdWRlL0NNYWtlTGlzdHMudHh0CitpbmRleCA5OWE2OWZkLi5lNWJhOGE3IDEwMDY0NAorLS0tIGEvaW5jbHVkZS9DTWFrZUxpc3RzLnR4dAorKysrIGIvaW5jbHVkZS9DTWFrZUxpc3RzLnR4dAorQEAgLTM1LDggKzM1LDYgQEAgZW5kaWYoVkFfTElTVF9JU19BUlJBWSkKKyBJTkNMVURFKFRlc3RCaWdFbmRpYW4pCisgVEVTVF9CSUdfRU5ESUFOKFdPUkRTX0JJR0VORElBTikKKyAKKy1UUllfUlVOKEJJVEZJRUxEU19IVE9MIFRFU1RfRFVNTVkgJHtDTUFLRV9CSU5BUllfRElSfSAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vdGVzdF9CSVRGSUVMRFNfSFRPTC5jKQorLQorIElOQ0xVREUoQ2hlY2tJbmNsdWRlRmlsZXMpCisgCisgI1NFVChDTUFLRV9SRVFVSVJFRF9JTkNMVURFUyAiL3Vzci9pbmNsdWRlOy91c3IvbG9jYWwvaW5jbHVkZSIpCitkaWZmIC0tZ2l0IGEvaW5jbHVkZS94Y29uZmlnLmguaW4gYi9pbmNsdWRlL3hjb25maWcuaC5pbgoraW5kZXggYzEzMDYwMC4uNDc2YzAwYiAxMDA2NDQKKy0tLSBhL2luY2x1ZGUveGNvbmZpZy5oLmluCisrKysgYi9pbmNsdWRlL3hjb25maWcuaC5pbgorQEAgLTIzMyw3ICsyMzMsMTEgQEAKKyAvKiBJZiB1c2luZyBuZXR3b3JrIGJ5dGUgb3JkZXIgICAgICAgICAgICAgKi8KKyAjY21ha2VkZWZpbmUgV09SRFNfQklHRU5ESUFOCisgLyogSWYgaGlnaCBiaXRzIGNvbWUgZmlyc3QgaW4gc3RydWN0dXJlcyAgICovCistI2NtYWtlZGVmaW5lIEJJVEZJRUxEU19IVE9MCisrI2lmZGVmIFdPUkRTX0JJR0VORElBTgorKyNkZWZpbmUgQklURklFTERTX0hUT0wKKysjZWxzZQorKyNkZWZpbmUgQklURklFTERTX0xUT0gKKysjZW5kaWYKKyAjZGVmaW5lCUhBVkVfQ19CSUdFTkRJQU4JLyogRmxhZyB0aGF0IFdPUkRTX0JJR0VORElBTiB0ZXN0IHdhcyBkb25lICovCisgI2RlZmluZQlIQVZFX0NfQklURklFTERTCS8qIEZsYWcgdGhhdCBCSVRGSUVMRFNfSFRPTCB0ZXN0IHdhcyBkb25lICAqLworIAorLS0gCisyLjEuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2Vzb3VuZC9lc291bmQvY29uZmlndXJlLWZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvZXNvdW5kL2Vzb3VuZC9jb25maWd1cmUtZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmZGMzNWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2Vzb3VuZC9lc291bmQvY29uZmlndXJlLWZpeC5wYXRjaApAQCAtMCwwICsxLDEwIEBACistLS0gL3RtcC9jb25maWd1cmUuYWMJMjAwOC0wNi0wMiAxNjo0Njo1NS42NDA3OTMzMDYgKzAyMDAKKysrKyBlc291bmQtMC4yLjM2L2NvbmZpZ3VyZS5hYwkyMDA4LTA2LTAyIDE2OjQ3OjI2LjAzMDc5MzQ5NCArMDIwMAorQEAgLTI5LDYgKzI5LDcgQEAKKyBBQ19TVUJTVChwa2dkb2NkaXIpCisgCisgQUNfUFJPR19DQworK0FDX1BST0dfQ1hYCisgQUNfUFJPR19DUFAKKyBBQ19MSUJUT09MX1dJTjMyX0RMTAorIEFNX1BST0dfTElCVE9PTApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9lc291bmQvZXNvdW5kL2Vzb3VuZF8wLjIuMzYtMXVidW50dTUuZGlmZi5neiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvZXNvdW5kL2Vzb3VuZC9lc291bmRfMC4yLjM2LTF1YnVudHU1LmRpZmYuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzE5ZjVkMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvZXNvdW5kL2Vzb3VuZC9lc291bmRfMC4yLjM2LTF1YnVudHU1LmRpZmYuZ3oKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9lc291bmQvZXNvdW5kL25vLWRvY3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2Vzb3VuZC9lc291bmQvbm8tZG9jcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYzY5ZjFhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9lc291bmQvZXNvdW5kL25vLWRvY3MucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorSW5kZXg6IGVzb3VuZC0wLjIuMzYvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBlc291bmQtMC4yLjM2Lm9yaWcvTWFrZWZpbGUuYW0KKysrKyBlc291bmQtMC4yLjM2L01ha2VmaWxlLmFtCitAQCAtMSw1ICsxLDUgQEAKKyAKKy1TVUJESVJTID0gZG9jcworK1NVQkRJUlMgPSAKKyAKKyBBQ0xPQ0FMX0ZMQUdTID0gLUkgbTQKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvZXNvdW5kL2Vzb3VuZF8wLjIuMzYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2Vzb3VuZC9lc291bmRfMC4yLjM2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzNTM1OGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2Vzb3VuZC9lc291bmRfMC4yLjM2LmJiCkBAIC0wLDAgKzEsMzMgQEAKK1NVTU1BUlkgPSAiRW5saWdodGVuZWQgU291bmQgRGFlbW9uIgorU0VDVElPTiA9ICJncGUvYmFzZSIKK0xJQ0VOU0UgPSAiTEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTU1Y2E4MTdjY2I3ZDViNWI2NjM1NTY5MGU5YWJjNjA1IgorREVQRU5EUyA9ICJhdWRpb2ZpbGUiCisKK2luaGVyaXQgZ25vbWUgYmluY29uZmlnCisKK1BSID0gInIxIgorCitTUkNfVVJJID0gImZ0cDovL2Z0cC5nbm9tZS5vcmcvcHViL0dOT01FL3NvdXJjZXMvZXNvdW5kLzAuMi9lc291bmQtMC4yLjM2LnRhci5iejI7bmFtZT1hcmNoaXZlIFwKKyAgICAgICAgICAgZmlsZTovL2Vzb3VuZF8wLjIuMzYtMXVidW50dTUuZGlmZi5neiBcCisgICAgICAgICAgIGZpbGU6Ly9uby1kb2NzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS1maXgucGF0Y2giCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjNmYWNiNWFhMDExNWNjMWMzMTc3MWI5YWQ0NTRhZTc2IgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiNjhiZjM5OWZjYmQ0NWM1ZTliYTk5Y2QxM2EzYTQ3OWU0ZWYyYmM1ZGM1MmU1NDBmZmEwMGFlZjFlMWIxOWE3NiIKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS1kaXNhYmxlLWFsc2EgXAorICAgIC0tZGlzYWJsZS1hcnRzIFwKKyAgICAtLWRpc2FibGUtYXJ0c3Rlc3QgXAorIgorZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgc2VkIC1pIC1lICdzOi91c3IvaW5jbHVkZS9tbWU6JHtTVEFHSU5HX0lOQ0RJUn0vbW1lOmcnICR7U30vY29uZmlndXJlLmFjCit9CisKK1BBQ0tBR0VTID0rICJlc2Rkc3AgZXNkIGVzZC11dGlscyIKKworRklMRVNfZXNkZHNwID0gIiR7YmluZGlyfS9lc2Rkc3AgJHtsaWJkaXJ9L2xpYmVzZGRzcC5zby4qIgorRklMRVNfZXNkID0gIiR7YmluZGlyfS9lc2QiCitGSUxFU19lc2QtdXRpbHMgPSAiJHtiaW5kaXJ9LyoiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvZmFhZDIvZmFhZDJfMi43LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9mYWFkMi9mYWFkMl8yLjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjNlNTkwYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvZmFhZDIvZmFhZDJfMi43LmJiCkBAIC0wLDAgKzEsMjggQEAKK1NVTU1BUlkgPSAiTGlicmFyeSBmb3IgcmVhZGluZyBzb21lIHNvcnQgb2YgbWVkaWEgZm9ybWF0IgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJHUEx2MiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzgxYzhjYmUyNzdhN2JjMWVlMmFlNjA4M2EwNGM5NTgiCisKK1BSID0gInIxIgorCitpbmhlcml0IGF1dG90b29scworCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9mYWFjL2ZhYWQyLXNyYy9mYWFkMi0ke1BWfS8ke0JQfS50YXIuYnoyO25hbWU9ZmFhZDIgXAorIgorCitTUkNfVVJJW2ZhYWQyLm1kNXN1bV0gPSAiNGMzMzJmYTIzZmViYzBlNDY0ODA2NDY4NWEzZDQzMzIiCitTUkNfVVJJW2ZhYWQyLnNoYTI1NnN1bV0gPSAiMTQ1NjFiNWQ2YmM0NTdlODI1YmZkMzkyMWFlNTBhNjY0OGYzNzdhOTM5NmVhZjE2ZDRiMDU3YjM5YTNmNjNiNSIKKworUEFDS0FHRVMgPSsgImxpYmZhYWQgbGliZmFhZC1kZXYgbGlibXA0ZmYgbGlibXA0ZmYtZGV2IgorCitGSUxFU18ke1BOfSA9ICIke2JpbmRpcn0vZmFhZCIKKworRklMRVNfbGliZmFhZCA9ICIke2xpYmRpcn0vbGliZmFhZC5zby4qIgorRklMRVNfbGliZmFhZC1kZXYgPSAiJHtsaWJkaXJ9L2xpYmZhYWQuc28gJHtsaWJkaXJ9L2xpYmZhYWQubGEgJHtpbmNsdWRlZGlyfS9mYWFkLmgiCitGSUxFU19saWJmYWFkLXN0YXRpY2RldiA9ICIke2xpYmRpcn0vbGliZmFhZC5hIgorCitGSUxFU19saWJtcDRmZiA9ICIke2xpYmRpcn0vbGlibXA0ZmYuc28uKiIKK0ZJTEVTX2xpYm1wNGZmLWRldiA9ICIke2xpYmRpcn0vbGlibXA0ZmYuc28gJHtsaWJkaXJ9L2xpYm1wNGZmLmxhICR7aW5jbHVkZWRpcn0vbXA0ZmYuaCIKK0ZJTEVTX2xpYm1wNGZmLXN0YXRpY2RldiA9ICIke2xpYmRpcn0vbGlibXA0ZmYuYSIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9pZDNsaWIvaWQzbGliL2FjZGVmaW5lLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9pZDNsaWIvaWQzbGliL2FjZGVmaW5lLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5ZWRlY2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2lkM2xpYi9pZDNsaWIvYWNkZWZpbmUucGF0Y2gKQEAgLTAsMCArMSw0MiBAQAorQWRkIGEgZGVzY3JpcHRpb24gdG8gdGhlIEFDX0RFRklORSBzdGF0ZW1lbnRzIHNvIHRoYXQgaXQgYXBwZWFycyBpbiBjb25maWcuaCBhbmQgc2lsZW5jZXMgYSBmYXRhbCB3YXJuaW5nLgorCitVcHN0cmVhbS1TdGF0dXM6UGVuZGluZworU2lnbmVkLW9mZi1ieTogTWF0dGhpZXUgQ3JhcGV0IDxNYXR0aGlldS5DcmFwZXRAaW5nZW5pY28uY29tPgorLS0tCisgY29uZmlndXJlLmluIHwgNiArKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCitpbmRleCBhYmZlNGNkLi5jZTBkMzgwIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmluCisrKysgYi9jb25maWd1cmUuaW4KK0BAIC0xNjgsNyArMTY4LDcgQEAgaWYgdGVzdCAkaGFzX2ljb252ID0gMTsgdGhlbgorIAkJaWNvbnZfb2xkc3R5bGU9MSwgaWNvbnZfb2xkc3R5bGU9MCkKKyAgIGlmIHRlc3QgJGljb252X29sZHN0eWxlID0gMTsgdGhlbgorICAgICBBQ19NU0dfUkVTVUxUKGNvbnN0IGNoYXIgKiopCistICAgIEFDX0RFRklORShJRDNMSUJfSUNPTlZfT0xEU1RZTEUpCisrICAgIEFDX0RFRklORShJRDNMSUJfSUNPTlZfT0xEU1RZTEUsWzFdLFtPbGQgaWNvbnYgcHJvdG90eXBlIGRlZmluaXRpb24gaW4gaWNvbnYuaF0pCisgICAgICN3ZSdsbCBjaGVjayBvdXQgdGhlIG5lZWQgb2YKKyAgICAgI3R5cGVjYXN0IGluIHRoZSBjYWxsIG9mIGljb252X29wZW4KKyAgICAgQUNfTVNHX0NIRUNLSU5HKHdoZXRoZXIgdG8gdHlwZWNhc3QgaW4gaWNvbnYpCitAQCAtMTg0LDcgKzE4NCw3IEBAIGlmIHRlc3QgJGhhc19pY29udiA9IDE7IHRoZW4KKyAgICAgICAgICAgICAgICAgICAgaWNvbnZfY2FzdD0wLCBpY29udl9jYXN0PTEpCisgICAgIGlmIHRlc3QgJGljb252X2Nhc3QgPSAxOyB0aGVuCisgICAgICAgQUNfTVNHX1JFU1VMVCh5ZXMpCistICAgICAgQUNfREVGSU5FKElEM0xJQl9JQ09OVl9DQVNUX09LKQorKyAgICAgIEFDX0RFRklORShJRDNMSUJfSUNPTlZfQ0FTVF9PSyxbMV0sW0FjY2VwdGluZyBjb25zdCBjaGFyICoqIGluIGljb252IHByb3RvdHlwZV0pCisgICAgIGVsc2UKKyAgICAgICBBQ19NU0dfUkVTVUxUKG5vKQorICAgICBmaQorQEAgLTIwNiw3ICsyMDYsNyBAQCBpZiB0ZXN0ICRoYXNfaWNvbnYgPSAxOyB0aGVuCisgICAgICAgICAgICAgICAgICAgIGljb252X2Nhc3Q9MCwgaWNvbnZfY2FzdD0xKQorICAgICBpZiB0ZXN0ICRpY29udl9jYXN0ID0gMTsgdGhlbgorICAgICAgIEFDX01TR19SRVNVTFQoeWVzKQorLSAgICAgIEFDX0RFRklORShJRDNMSUJfSUNPTlZfQ0FTVF9PSykKKysgICAgICBBQ19ERUZJTkUoSUQzTElCX0lDT05WX0NBU1RfT0ssWzFdLFtBY2NlcHRpbmcgY29uc3QgY2hhciAqKiBpbiBpY29udiBwcm90b3R5cGVdKQorICAgICBlbHNlCisgICAgICAgQUNfTVNHX1JFU1VMVChubykKKyAgICAgZmkKKy0tIAorMi4wLjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9pZDNsaWIvaWQzbGliXzMuOC4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9pZDNsaWIvaWQzbGliXzMuOC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZjODBjYzAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2lkM2xpYi9pZDNsaWJfMy44LjMuYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSA9ICJMaWJyYXJ5IGZvciBpbnRlcmFjdGluZyB3aXRoIElEMyB0YWdzIgorU0VDVElPTiA9ICJsaWJzL211bHRpbWVkaWEiCitMSUNFTlNFID0gIkxHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zYmY1MDAwMmFlZmQwMDJmNDllN2JiODU0MDYzZjdlNyIKK0RFUEVORFMgPSAiemxpYiIKKworUFIgPSAicjEiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2lkM2xpYi9pZDNsaWItJHtQVn0udGFyLmd6O25hbWU9YXJjaGl2ZSBcCisgICAgICAgICAgIGh0dHA6Ly9mdHAuZGUuZGViaWFuLm9yZy9kZWJpYW4vcG9vbC9tYWluL2kvaWQzbGliMy44LjMvaWQzbGliMy44LjNfMy44LjMtNy4yLmRpZmYuZ3o7bmFtZT1wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9hY2RlZmluZS5wYXRjaCBcCisiCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIxOWYyN2RkZDJkZGE0YjJkMjZhNTU5YTRmMGY0MDJhNyIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjI3NDljYzNjMGNkNzI4MGIyOTk1MThiMWRkZjVhNWJjZmUyZDExMDA2MTQ1MTliNjg3MDIyMzBlMjZjN2QwNzkiCitTUkNfVVJJW3BhdGNoLm1kNXN1bV0gPSAiODA1YzAzMjBhMmVmYjIxYzQwY2UwNmZhMTNjZDdjNGIiCitTUkNfVVJJW3BhdGNoLnNoYTI1NnN1bV0gPSAiOWYwM2I1OWNjYzg4MjZhNWJlNTVhM2RjZGUyZjg4OTA2N2Q1OGJkYzcyYmY4NDY0MTZhMTk4YzliOTMzNzA0YyIKKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvamFjay9qYWNrL2phY2tfZml4X1RXTDQwMzBfYWxzYV9jYXB0dXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9qYWNrL2phY2svamFja19maXhfVFdMNDAzMF9hbHNhX2NhcHR1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzczMzdmZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvamFjay9qYWNrL2phY2tfZml4X1RXTDQwMzBfYWxzYV9jYXB0dXJlLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKKy0tLSBhL2RyaXZlcnMvYWxzYS9hbHNhX2RyaXZlci5jCTIwMDktMDUtMDYgMDY6MzY6MDguMDAwMDAwMDAwICsxMDAwCisrKysgYi9kcml2ZXJzL2Fsc2EvYWxzYV9kcml2ZXIuYwkyMDEwLTA3LTI4IDIxOjAyOjU3LjIzODEwMTAyNCArMTAwMAorQEAgLTIzODgsNyArMjM4OCw3IEBACisgCXN0cmNweSAocGFyYW1zW2ldLm5hbWUsICJwZXJpb2QiKTsKKyAJcGFyYW1zW2ldLmNoYXJhY3RlciAgPSAncCc7CisgCXBhcmFtc1tpXS50eXBlICAgICAgID0gSmFja0RyaXZlclBhcmFtVUludDsKKy0JcGFyYW1zW2ldLnZhbHVlLnVpICAgPSAxMDI0VTsKKysJcGFyYW1zW2ldLnZhbHVlLnVpICAgPSAyNTZVOyAgICAgICAgICAgIC8qIFRXTDQwMzAgY2FwdHVyZS4gKi8KKyAJc3RyY3B5IChwYXJhbXNbaV0uc2hvcnRfZGVzYywgIkZyYW1lcyBwZXIgcGVyaW9kIik7CisgCXN0cmNweSAocGFyYW1zW2ldLmxvbmdfZGVzYywgcGFyYW1zW2ldLnNob3J0X2Rlc2MpOworIAorQEAgLTIzOTYsNyArMjM5Niw3IEBACisgCXN0cmNweSAocGFyYW1zW2ldLm5hbWUsICJucGVyaW9kcyIpOworIAlwYXJhbXNbaV0uY2hhcmFjdGVyICA9ICduJzsKKyAJcGFyYW1zW2ldLnR5cGUgICAgICAgPSBKYWNrRHJpdmVyUGFyYW1VSW50OworLQlwYXJhbXNbaV0udmFsdWUudWkgICA9IDJVOworKwlwYXJhbXNbaV0udmFsdWUudWkgICA9IDRVOyAgICAgICAgICAgICAgLyogVFdMNDAzMCBjYXB0dXJlLiAqLworIAlzdHJjcHkgKHBhcmFtc1tpXS5zaG9ydF9kZXNjLCAiTnVtYmVyIG9mIHBlcmlvZHMgb2YgcGxheWJhY2sgbGF0ZW5jeSIpOworIAlzdHJjcHkgKHBhcmFtc1tpXS5sb25nX2Rlc2MsIHBhcmFtc1tpXS5zaG9ydF9kZXNjKTsKKyAKK0BAIC0yNTE4LDggKzI1MTgsOCBAQAorIGRyaXZlcl9pbml0aWFsaXplIChqYWNrX2NsaWVudF90ICpjbGllbnQsIGNvbnN0IEpTTGlzdCAqIHBhcmFtcykKKyB7CisgICAgICAgICBqYWNrX25mcmFtZXNfdCBzcmF0ZSA9IDQ4MDAwOworLQlqYWNrX25mcmFtZXNfdCBmcmFtZXNfcGVyX2ludGVycnVwdCA9IDEwMjQ7CistCXVuc2lnbmVkIGxvbmcgdXNlcl9ucGVyaW9kcyA9IDI7CisrCWphY2tfbmZyYW1lc190IGZyYW1lc19wZXJfaW50ZXJydXB0ID0gMjU2OyAgICAgIC8qIFRXTDQwMzAgbmVlZHMgc21hbGwgbnVtYmVyIG9mIGZyYW1lcyBoZXJlLiAqLworKwl1bnNpZ25lZCBsb25nIHVzZXJfbnBlcmlvZHMgPSA0OyAgICAgICAgICAgICAgICAvKiBUV0w0MDMwIG5lZWRzIDQgcGVyaW9kcyB0byBhdm9pZCBYUnVucy4gKi8KKyAJY2hhciAqcGxheWJhY2tfcGNtX25hbWUgPSAiaHc6MCI7CisgCWNoYXIgKmNhcHR1cmVfcGNtX25hbWUgPSAiaHc6MCI7CisgCWludCBod19tb25pdG9yaW5nID0gRkFMU0U7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2phY2svamFjay9yZW1vdmUtd3JvbmctaG9zdC10ZXN0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9qYWNrL2phY2svcmVtb3ZlLXdyb25nLWhvc3QtdGVzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNDFjOThmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9qYWNrL2phY2svcmVtb3ZlLXdyb25nLWhvc3QtdGVzdC5wYXRjaApAQCAtMCwwICsxLDY4IEBACitGcm9tIGJlNWYxNDM5YTFmMzZjMGJjNzE0NDExZDIwMTg2MDQ1YmQzZTk1MzkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorRGF0ZTogVHVlLCAxMiBKdWwgMjAxMSAxMjo0ODoxNCArMDIwMAorU3ViamVjdDogW1BBVENIXSByZW1vdmUgYm9ndXMgY2hlY2sgZm9yIGhvc3Qtc2lkZSBqYWNrIGluc3RhbGxzLCB3ZSBhcmUgY3Jvc3Njb21waWxpbmcgYW5kIGRvbid0IGNhcmUgYWJvdXQgdGhlc2UgbWlzZ3VpZGVkIGNoZWNrcworCistLS0KKyBjb25maWd1cmUuYWMgfCAgIDQ1IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZXMgY2hhbmdlZCwgMCBpbnNlcnRpb25zKCspLCA0NSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggMGE3ZTZiYy4uNDAzM2MyMSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMyw1MSArMyw2IEBAIGRubCAkSWQ6IGNvbmZpZ3VyZS5hYyA0NDY3IDIwMTEtMDYtMjMgMTU6MTA6MDNaIHBhdWwgJAorIAorIEFDX0lOSVQoamFja2QvamFja2QuYykKKyAKKy0KKy1kbmwKKy1kbmwgQ2hlY2sgZm9yIGV4aXN0aW5nIEpBQ0sgaW5zdGFsbHMKKy1kbmwgCistCistQUNfTVNHX0NIRUNLSU5HKFtleGlzdGluZywgY29uZmxpY3RpbmcgSkFDSyBpbnN0YWxsc10pCistbm90X292ZXJ3cml0aW5nPTAKKy1pbnN0YWxscz0KKy1mb3IgZGlyIGluIC91c3IvbGliIC91c3IvbG9jYWwvbGliIC9vcHQvbGliIDsgZG8KKy0gICAgaWYgdGVzdCAtZCAkZGlyIDsgdGhlbgorLQlpZiB0ZXN0ICQoZmluZCAkZGlyLyAtbmFtZSAnbGliamFjay5zby4qJyAyPi9kZXYvbnVsbCB8IHdjIC1sKSAtZ3QgMCA7IHRoZW4KKy0JICAgIGlmIGVjaG8gJHByZWZpeC9saWIgfCBncmVwIC12cyAkZGlyID4vZGV2L251bGwgMj4mMSA7IHRoZW4KKy0JCW5vdF9vdmVyd3JpdGluZz0kKGV4cHIgJG5vdF9vdmVyd3JpdGluZyArIDEpCistCSAgICBmaQorLQkgICAgaW5zdGFsbHM9IiRpbnN0YWxscyAkZGlyIgorLQlmaQkgICAgCistICAgIGZpCistZG9uZQorLQorLWlmIHRlc3QgJG5vdF9vdmVyd3JpdGluZyAtZ3QgMCA7IHRoZW4KKy0gICAgZWNobyAKKy0gICAgZWNobworLSAgICBlY2hvICIhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISIKKy0gICAgZWNobyAiWW91IGFwcGVhciB0byBoYXZlIGF0IGxlYXN0IG9uZSBleGlzdGluZyBpbnN0YWxsYXRpb24gb2YgSkFDSy4iCistICAgIGVjaG8KKy0gICAgZWNobyAiQ29tcGxldGUgb3IgcGFydGlhbCBKQUNLIGluc3RhbGxzIGV4aXN0IGluOiRpbnN0YWxscyIKKy0gICAgZWNobyAKKy0gICAgZWNobyAiSW5zdGFsbGluZyB0aGlzIHZlcnNpb24gd2lsbCBsZWF2ZSBhdCBsZWFzdCBvbmUgb2YgdGhlc2UiCistICAgIGVjaG8gImV4aXN0aW5nIGluc3RhbGxhdGlvbnMgaW5zdGFsbGVkIGFuZCB0aGlzIHdpbGwgcHJvYmFibHkgYnJlYWsiCistICAgIGVjaG8gIkpBQ0sgb24geW91ciBtYWNoaW5lLiAiCistICAgIGVjaG8KKy0gICAgZWNobyAiQmVmb3JlIGJ1aWxkaW5nLCB5b3Ugc2hvdWxkIGZpcnN0IHJlbW92ZSB0aGUgZXhpc3RpbmcgSkFDSyIKKy0gICAgZWNobyAiaW5zdGFsbGF0aW9uKHMpLiAiCistICAgIGVjaG8KKy0gICAgZWNobyAiQWx0ZXJuYXRpdmVseSB1c2UgLi9jb25maWd1cmUgLS1wcmVmaXg9Li4uIHRvIGZvcmNlIG92ZXJ3cml0aW5nIgorLSAgICBlY2hvICJ0aGUgZXhpc3RpbmcgaW5zdGFsbC4iCistICAgIGVjaG8KKy0gICAgZWNobyAiV0FSTklORzogT04gQU5ZIERFQklBTi1ERVJJVkVEIERJU1RSSUJVVElPTiAoRGViaWFuLCBVYnVudHUgZXRjKSIKKy0gICAgZWNobyAiQ0hBTkdJTkcgVEhFIElOU1RBTExBVElPTiBQUkVGSVggV0lMTCBOT1QgUFJPRFVDRSBBIFdPUktJTkcgSkFDSyIKKy0gICAgZWNobyAiSU5TVEFMTC4gUGxlYXNlIGNvbnRhY3QgdGhlIGRpc3RyaWJ1dGlvbiBwYWNrYWdlciBmb3IgSkFDSyBhbmQiCistICAgIGVjaG8gImFzayB0aGVtIHRvIGZpeCB0aGVpciBwYWNrYWdpbmcuIgorLSAgICBlY2hvICIhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISIKKy0gICAgZXhpdCAxCistZmkKKy0KKyBBQ19DT05GSUdfQVVYX0RJUihjb25maWcpCisgQUNfQ0FOT05JQ0FMX1RBUkdFVAorIAorLS0gCisxLjYuNi4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvamFjay9qYWNrXzAuMTIxLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2phY2svamFja18wLjEyMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiMzM5MjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2phY2svamFja18wLjEyMS4wLmJiCkBAIC0wLDAgKzEsNDAgQEAKK0RFU0NSSVBUSU9OID0gIkpBQ0sgaXMgYSBsb3ctbGF0ZW5jeSBhdWRpbyBzZXJ2ZXIuIEl0IGNhbiBcCitjb25uZWN0IGEgbnVtYmVyIG9mIGRpZmZlcmVudCBhcHBsaWNhdGlvbnMgdG8gYW4gYXVkaW8gXAorZGV2aWNlLCBhcyB3ZWxsIGFzIGFsbG93aW5nIHRoZW0gdG8gc2hhcmUgYXVkaW8gYmV0d2VlbiBcCit0aGVtc2VsdmVzLiIKK1NFQ1RJT04gPSAibGlicy9tdWx0aW1lZGlhIgorCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jMDMwNDY4MjM4YjJjZjg5OTI1YTU3ZjI3ODAzOTZhNyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkdQTDttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MR1BMO21kNT1lNzdmZTkzMjAyNzM2YjQ3YzA3MDM1OTEwZjQ3OTc0YSBcCisiCisKK0RFUEVORFMgPSAiYWxzYS1saWIgbGlic2FtcGxlcmF0ZTAgcmVhZGxpbmUiCisKK1NSQ1JFViA9ICI5MWE2ODhjNjAyYjdjZTE3MTFkOGFkMTBmYjA3ZWJjZjJlNTMwYTY0IgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2phY2thdWRpby9qYWNrMS5naXQgXAorICAgICAgICAgICBmaWxlOi8vcmVtb3ZlLXdyb25nLWhvc3QtdGVzdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9qYWNrX2ZpeF9UV0w0MDMwX2Fsc2FfY2FwdHVyZS5wYXRjaCBcCisiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtdGltZXN0YW1wcyBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWNhcGFiaWxpdGllcyBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLW9sZHRyYW5zIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtcG9ydGF1ZGlvIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtY29yZWF1ZGlvIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtb3NzIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1hbHNhIgorCitFWFRSQV9PRU1BS0UgPSAndHJhbnNmb3JtPSJzLF4sLCInCisKK1BBQ0tBR0VTID0rICJsaWJqYWNrIGphY2stc2VydmVyIGphY2stdXRpbHMiCisKK0ZJTEVTX2xpYmphY2sgPSAiJHtsaWJkaXJ9Lyouc28uKiAke2xpYmRpcn0vamFjay8qLnNvIgorRklMRVNfamFjay1zZXJ2ZXIgPSAiJHtiaW5kaXJ9L2phY2tkIgorRklMRVNfamFjay11dGlscyA9ICIke2JpbmRpcn0vKiIKK0ZJTEVTXyR7UE59LWRvYyArPSAiICR7ZGF0YWRpcn0vamFjay1hdWRpby1jb25uZWN0aW9uLWtpdC9yZWZlcmVuY2UvaHRtbC8qICIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGliYXNzL2xpYmFzcy5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmFzcy9saWJhc3MuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyOGNkMTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmFzcy9saWJhc3MuaW5jCkBAIC0wLDAgKzEsMjggQEAKK0RFU0NSSVBUSU9OID0gImxpYmFzcyBpcyBhIHBvcnRhYmxlIHN1YnRpdGxlIHJlbmRlcmVyIGZvciB0aGUgQVNTL1NTQSAoQWR2YW5jZWQgU3Vic3RhdGlvbiBBbHBoYS9TdWJzdGF0aW9uIEFscGhhKSBzdWJ0aXRsZSBmb3JtYXQuIEl0IGlzIG1vc3RseSBjb21wYXRpYmxlIHdpdGggVlNGaWx0ZXIuIgorSE9NRVBBR0UgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2xpYmFzcy8iCitTRUNUSU9OID0gImxpYnMvbXVsdGltZWRpYSIKKworTElDRU5TRSA9ICJJU0MiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04YWU5ODY2M2JhYzU1YWZlNWQ5ODk5MTlkMjk2ZjI4YSIKKworREVQRU5EUyA9ICJlbmNhIGZvbnRjb25maWcgZnJlZXR5cGUgbGlicG5nIGZyaWJpZGkiCisKK0lOQ19QUiA9ICJyMSIKKworU1JDX1VSSSA9ICJodHRwOi8vJHtCUE59Lmdvb2dsZWNvZGUuY29tL2ZpbGVzLyR7QlB9LnRhci5neiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2hhcmZidXp6XSA9ICItLWVuYWJsZS1oYXJmYnV6eiwtLWRpc2FibGUtaGFyZmJ1enosaGFyZmJ1enoiCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0tZW5hYmxlLWVuY2EgXAorICAgIC0tZW5hYmxlLWZvbnRjb25maWcgXAorIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tdGVzdHMiCisKK0ZJTEVTXyR7UE59LXRlc3RzID0gIiBcCisgICAgJHtsaWJkaXJ9L3Rlc3QvdGVzdCBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmFzcy9saWJhc3NfMC4xMC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJhc3MvbGliYXNzXzAuMTAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYjMyMjc2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJhc3MvbGliYXNzXzAuMTAuMS5iYgpAQCAtMCwwICsxLDUgQEAKK3JlcXVpcmUgJHtQTn0uaW5jCitQUiA9ICIke0lOQ19QUn0uMCIKKworU1JDX1VSSVttZDVzdW1dID0gIjZjYWNlNDgyYTAxM2EzYzRiZjNiMzFhNjhhYzY2MDI2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjYyOWE3ZTgxZmZmOTJkZWE4ZDAzOTliODE4YTQxZmQxYjYxZTM4MWM2N2E1OTYxYjFlYWVjMmVmYWRiMTRjNmMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmJ1cm4vbGliYnVybl8xLjQuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGliYnVybi9saWJidXJuXzEuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxZmU2OTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmJ1cm4vbGliYnVybl8xLjQuMC5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIkxpYnJhcnkgZm9yIHJlYWRpbmcsIG1hc3RlcmluZyBhbmQgd3JpdGluZyBvcHRpY2FsIGRpc2NzIgorSE9NRVBBR0UgPSAiaHR0cDovL2xpYmJ1cm5pYS1wcm9qZWN0Lm9yZy8iCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05YWMyZTdjZmYxZGRhZjQ4YjZlYWI2MDI4ZjIzZWY4OCIKKworU1JDX1VSSSA9ICJodHRwOi8vZmlsZXMubGliYnVybmlhLXByb2plY3Qub3JnL3JlbGVhc2VzLyR7QlBOfS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiODJmZjk0YmIwNGU3OGVhYzliMTJjNzU0NmYwMDVkNmYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmM5NzVhYmFlNGFlMWY4MGU0N2ZjNWQxZTIzNWY4NTE1N2Y3M2U5NTRjODQ2MjdhNWVmODVkOGIxYjk1YWU5NCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmNkaW8vbGliY2Rpb18wLjkzLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJjZGlvL2xpYmNkaW9fMC45My5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMjFmOTE0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJjZGlvL2xpYmNkaW9fMC45My5iYgpAQCAtMCwwICsxLDI1IEBACitFU0NSSVBUSU9OID0gIlRoZSBHTlUgQ29tcGFjdCBEaXNjIElucHV0IGFuZCBDb250cm9sIGxpYnJhcnkgKGxpYmNkaW8pIGNvbnRhaW5zIGEgbGlicmFyeSBmb3IgQ0QtUk9NIGFuZCBDRCBpbWFnZSBhY2Nlc3MuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYmNkaW8vIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIkdQTHYzKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitERVBFTkRTID0gIm5jdXJzZXMiCisKK1NSQ19VUkkgPSAiJHtHTlVfTUlSUk9SfS8ke0JQTn0vJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImQxNTQ0NzZmZWFhYzVhN2I1ZjE4MGU4M2VhZjNkNjg5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ5NzJjZDIyZmQ4ZDBlOGJmZjkyMmQzNWM3YTY0NWJlMGRiMGFiMGU3YjNkZmFlY2M5Y2Q4MjcyNDI5ZDY5NzUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitQQUNLQUdFUyArPSAiJHtQTn0tdXRpbHMiCisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS8ke1BOfSR7U09MSUJ9IgorRklMRVNfJHtQTn0tdXRpbHMgPSAiJHtiaW5kaXJ9LyoiCisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpIHsKKyAgICBnbGliZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfScpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZ2xpYmRpciwgJ15saWIoLiopXC5zb1wuLionLCAnbGliJXMnLCAnZ3N0cmVhbWVyICVzIGxpYnJhcnknLCBleHRyYV9kZXBlbmRzPScnLCBhbGxvd19saW5rcz1UcnVlKQorfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmR2ZHJlYWQvbGliZHZkcmVhZF81LjAuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZHZkcmVhZC9saWJkdmRyZWFkXzUuMC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1MDY3MjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmR2ZHJlYWQvbGliZHZkcmVhZF81LjAuMy5iYgpAQCAtMCwwICsxLDEzIEBACitTVU1NQVJZID0gIkRWRCBhY2Nlc3MgbXVsdGltZWRhIGxpYnJhcnkiCitTRUNUSU9OID0gImxpYnMvbXVsdGltZWRpYSIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NjRlNzUzZmE3ZDFjYTMxNjMyYmMzODNkYTNiNTdjMjciCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZC52aWRlb2xhbi5vcmcvcHViL3ZpZGVvbGFuL2xpYmR2ZHJlYWQvJHtQVn0vbGliZHZkcmVhZC0ke1BWfS50YXIuYnoyIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYjdiN2QyYTc4MjA4N2VkMmE5MTMyNjMwODcwODM3MTUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzIxY2RmMmRiZGM4M2M5NjU3MmJjNTgzY2QyN2Q4YzY2MGRkYjU0MGZmMTY2NzJlY2IyODYwN2QwMThlZDgyYiIKKworaW5oZXJpdCBhdXRvdG9vbHMgbGliX3BhY2thZ2UgYmluY29uZmlnIHBrZ2NvbmZpZworCitDT05GSUdVUkVPUFRTX3JlbW92ZSA9ICItLWRpc2FibGUtc2lsZW50LXJ1bGVzIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYm1tcy9saWJtbXNfMC42LjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYm1tcy9saWJtbXNfMC42LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODMxMzk0ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGlibW1zL2xpYm1tc18wLjYuNC5iYgpAQCAtMCwwICsxLDEyIEBACitTVU1NQVJZID0gIk1NUyBzdHJlYW0gcHJvdG9jb2wgbGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlibW1zLyIKK1NFQ1RJT04gPSAibGlicy9tdWx0aW1lZGlhIgorCitMSUNFTlNFID0gIkxHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9ZmFkOWIzMzMyYmU4OTRiYWI5YmM1MDE1NzI4NjRiMjkiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3Byb2plY3QvJHtCUE59LyR7QlBOfS8ke1BWfS8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZDZiNjY1YjMzNWE2MzYwZTAwMDk3NmU3NzBkYTc2OTEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2MwNWUwNWFlYmNiZmNjMDQ0ZDllOGMyZDQ2NDZjZDgzNTliZTM5YTNmMGJhOGNlNGU3MmE5MDk0YmVlNzA0ZiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYm1vZHBsdWcvbGlibW9kcGx1Z18wLjguOC41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJtb2RwbHVnL2xpYm1vZHBsdWdfMC44LjguNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMDcwMjQ2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJtb2RwbHVnL2xpYm1vZHBsdWdfMC44LjguNS5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIkxpYnJhcnkgZm9yIHJlYWRpbmcgbW9kLWxpa2UgYXVkaW8gZmlsZXMiCitIT01FUEFHRSA9ICJodHRwOi8vbW9kcGx1Zy14bW1zLnNmLm5ldCIKKworTElDRU5TRSA9ICJQRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM5MTgyZmFhMWY3YzMxNmY3Yjk3ZDQwNGJjYmUzNjg1IgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9tb2RwbHVnLXhtbXMvbGlibW9kcGx1Zy0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiNWYzMDI0MWRiMTA5ZDY0Nzc4MWI3ODRlNjJkZGZhYTEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzc0NjJkMTJlZTk5NDc2Yzg2NDVjYjU1MTEzNjNlMzkwNmI4OGIzM2E2YjU0MzYyYjRkYmMwZjM5YWEyZGFhZCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtb3B0aW9uLWNoZWNraW5nIgorCisjIE5PVEU6IGF1dG90b29sc19zdGFnZV9hbGwgZG9lcyBub3RoaW5nIGhlcmUsIHdlIG5lZWQgdG8gZG8gaXQgbWFudWFsbHkKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vbGlibW9kcGx1ZworICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NyYy9tb2RwbHVnLmggJHtEfSR7aW5jbHVkZWRpcn0vbGlibW9kcGx1ZworICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NyYy9tb2RwbHVnLmggJHtEfSR7aW5jbHVkZWRpcn0vCit9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGlib3B1cy9saWJvcHVzXzEuMS4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJvcHVzL2xpYm9wdXNfMS4xLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWQ5YTYzNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGlib3B1cy9saWJvcHVzXzEuMS4yLmJiCkBAIC0wLDAgKzEsNTAgQEAKK1NVTU1BUlkgPSAiT3B1cyBBdWRpbyBDb2RlYyIKK0RFU0NSSVBUSU9OID0gIlRoZSBPcHVzIGNvZGVjIGlzIGRlc2lnbmVkIGZvciBpbnRlcmFjdGl2ZSBcCitzcGVlY2ggYW5kIGF1ZGlvIHRyYW5zbWlzc2lvbiBvdmVyIHRoZSBJbnRlcm5ldC4gSXQgaXMgXAorZGVzaWduZWQgYnkgdGhlIElFVEYgQ29kZWMgV29ya2luZyBHcm91cCBhbmQgaW5jb3Jwb3JhdGVzIFwKK3RlY2hub2xvZ3kgZnJvbSBTa3lwZSdzIFNJTEsgY29kZWMgYW5kIFhpcGguT3JnJ3MgQ0VMVCBjb2RlYy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm9wdXMtY29kZWMub3JnLyIKK1NFQ1RJT04gPSAibGlicy9tdWx0aW1lZGlhIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lMzA0Y2RmNzRjMmExYjBhMzNhNTA4NGMxMjhhMjNhMyIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLnhpcGgub3JnL3JlbGVhc2VzL29wdXMvb3B1cy0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiMWYwOGE2NjFiYzcyOTMwMTg3ODkzYTA3ZjM3NDFhOTEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGUyOTAwNzhlMzEyMTFiYWE3YjU4ODZiY2M4YWI2YmMwNDhiOWZjODM4ODI1MzJkYTRhMWE0NWU1OGU5MDdmZCIKKworUyA9ICIke1dPUktESVJ9L29wdXMtJHtQVn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tmaXhlZC1wb2ludF0gPSAiLS1lbmFibGUtZml4ZWQtcG9pbnQsLCIKK1BBQ0tBR0VDT05GSUdbZmxvYXQtYXBwcm94XSA9ICItLWVuYWJsZS1mbG9hdC1hcHByb3gsLCIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC1ORTEwLWluY2x1ZGVzPSR7U1RBR0lOR19ESVJfVEFSR0VUfSR7aW5jbHVkZWRpcn0gXAorICAgICAgICAgICAgICAgIC0td2l0aC1ORTEwLWxpYnJhcmllcz0ke1NUQUdJTkdfRElSX1RBUkdFVH0ke2xpYmRpcn0gXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWFzbSBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtaW50cmluc2ljcyBcCisgICAgICAgICAgICAgICAiCisKK3B5dGhvbiAoKSB7CisgICAgaWYgZC5nZXRWYXIoJ1RBUkdFVF9GUFUnLCBUcnVlKSBpbiBbICdzb2Z0JyBdOgorICAgICAgICBkLmFwcGVuZFZhcignUEFDS0FHRUNPTkZJRycsICcgZml4ZWQtcG9pbnQnKQorCisgICAgIyBOZTEwIGlzIG9ubHkgYXZhaWxhYmxlIGZvciBhcm12NyBhbmQgYWFyY2g2NAorICAgIGlmIGFueSgodC5zdGFydHN3aXRoKCdhcm12NycpIG9yIHQuc3RhcnRzd2l0aCgnYWFyY2g2NCcpKSBmb3IgdCBpbiBkLmdldFZhcignVFVORV9GRUFUVVJFUycsIFRydWUpLnNwbGl0KCkpOgorICAgICAgICBkLmFwcGVuZFZhcignREVQRU5EUycsICcgbmUxMCcpCit9CisKKyMgRmFpbHMgdG8gYnVpbGQgd2l0aCB0aHVtYi0xIChxZW11YXJtKQorI3wge3N0YW5kYXJkIGlucHV0fTogQXNzZW1ibGVyIG1lc3NhZ2VzOgorI3wge3N0YW5kYXJkIGlucHV0fTozODk6IEVycm9yOiBzZWxlY3RlZCBwcm9jZXNzb3IgZG9lcyBub3Qgc3VwcG9ydCBUaHVtYiBtb2RlIGBzbXVsbCByNSxyNyxyMSxyNCcKKyN8IHtzdGFuZGFyZCBpbnB1dH06NDE4OiBFcnJvcjogc2VsZWN0ZWQgcHJvY2Vzc29yIGRvZXMgbm90IHN1cHBvcnQgVGh1bWIgbW9kZSBgc211bGwgcjUscjYscjQscjEnCisjfCB7c3RhbmRhcmQgaW5wdXR9OjQ0ODogRXJyb3I6IHNlbGVjdGVkIHByb2Nlc3NvciBkb2VzIG5vdCBzdXBwb3J0IFRodW1iIG1vZGUgYHNtdWxsIHI0LHI1LHIxLHIwJworI3wge3N0YW5kYXJkIGlucHV0fTo0NzQ6IEVycm9yOiBzZWxlY3RlZCBwcm9jZXNzb3IgZG9lcyBub3Qgc3VwcG9ydCBUaHVtYiBtb2RlIGBzbXVsbCByMCxyNCxyOCxyMScKKyN8IHtzdGFuZGFyZCBpbnB1dH06NTEwOiBFcnJvcjogc2VsZWN0ZWQgcHJvY2Vzc29yIGRvZXMgbm90IHN1cHBvcnQgVGh1bWIgbW9kZSBgc211bGwgZnAscjAscjEwLHIxJworI3wge3N0YW5kYXJkIGlucHV0fTo1NTM6IEVycm9yOiBzZWxlY3RlZCBwcm9jZXNzb3IgZG9lcyBub3Qgc3VwcG9ydCBUaHVtYiBtb2RlIGBzbXVsbCBmcCxyMSxyMTAscjMnCisjfCB7c3RhbmRhcmQgaW5wdXR9Ojc0MTogRXJyb3I6IHNlbGVjdGVkIHByb2Nlc3NvciBkb2VzIG5vdCBzdXBwb3J0IFRodW1iIG1vZGUgYHNtdWxsIHIzLHIwLHI2LHIxMCcKKyN8IHtzdGFuZGFyZCBpbnB1dH06NzYxOiBFcnJvcjogc2VsZWN0ZWQgcHJvY2Vzc29yIGRvZXMgbm90IHN1cHBvcnQgVGh1bWIgbW9kZSBgc211bGwgZnAscjIscjMscjknCisjfCB7c3RhbmRhcmQgaW5wdXR9Ojc3MzogRXJyb3I6IHNlbGVjdGVkIHByb2Nlc3NvciBkb2VzIG5vdCBzdXBwb3J0IFRodW1iIG1vZGUgYHNtdWxsIGZwLHIzLHI1LHI4JworI3wgbWFrZVsyXTogKioqIFtjZWx0L2NlbHQubG9dIEVycm9yIDEKK0FSTV9JTlNUUlVDVElPTl9TRVQgPSAiYXJtIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzZGwtaW1hZ2UvbGlic2RsLWltYWdlL2NvbmZpZ3VyZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic2RsLWltYWdlL2xpYnNkbC1pbWFnZS9jb25maWd1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTI5OWQzNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic2RsLWltYWdlL2xpYnNkbC1pbWFnZS9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSw0MyBAQAorSW5kZXg6IFNETF9pbWFnZS0xLjIuMTIvY29uZmlndXJlLmluCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gU0RMX2ltYWdlLTEuMi4xMi5vcmlnL2NvbmZpZ3VyZS5pbgkyMDEyLTAxLTIxIDAxOjUxOjMzLjAwMDAwMDAwMCArMDAwMAorKysrIFNETF9pbWFnZS0xLjIuMTIvY29uZmlndXJlLmluCTIwMTQtMDctMTggMDY6NTY6NTYuODUzNDY2Njc4ICswMDAwCitAQCAtMSw1ICsxLDQgQEAKKyBkbmwgUHJvY2VzcyB0aGlzIGZpbGUgd2l0aCBhdXRvY29uZiB0byBwcm9kdWNlIGEgY29uZmlndXJlIHNjcmlwdC4KKy1BQ19JTklUKFJFQURNRSkKKyAKKyBkbmwgU2V0IHZhcmlvdXMgdmVyc2lvbiBzdHJpbmdzIC0gdGFrZW4gZ3JhdGVmdWxseSBmcm9tIHRoZSBHVGsgc291cmNlcworIAorQEAgLTExLDEyICsxMCwxOSBAQAorICMgaWYgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgaGFzIGJlZW4gYnJva2VuLAorICMgc2V0IEJJTkFSWV9BR0UgYW5kIElOVEVSRkFDRV9BR0UgdG8gMC4KKyAKKy1NQUpPUl9WRVJTSU9OPTEKKy1NSU5PUl9WRVJTSU9OPTIKKy1NSUNST19WRVJTSU9OPTEyCisrbTRfZGVmaW5lKFtzZGxpbWFnZV9tYWpvcl92ZXJzaW9uXSxbMV0pCisrbTRfZGVmaW5lKFtzZGxpbWFnZV9taW5vcl92ZXJzaW9uXSxbMl0pCisrbTRfZGVmaW5lKFtzZGxpbWFnZV9taWNyb192ZXJzaW9uXSxbMTJdKQorK200X2RlZmluZShbc2RsaW1hZ2VfdmVyc2lvbl0sIFtzZGxpbWFnZV9tYWpvcl92ZXJzaW9uLnNkbGltYWdlX21pbm9yX3ZlcnNpb24uc2RsaW1hZ2VfbWljcm9fdmVyc2lvbl0pCisrCisrQUNfSU5JVChbU0RMX2ltYWdlXSwgW3NkbGltYWdlX3ZlcnNpb25dKQorKworK01BSk9SX1ZFUlNJT049c2RsaW1hZ2VfbWFqb3JfdmVyc2lvbgorK01JTk9SX1ZFUlNJT049c2RsaW1hZ2VfbWlub3JfdmVyc2lvbgorK01JQ1JPX1ZFUlNJT049c2RsaW1hZ2VfbWljcm9fdmVyc2lvbgorIElOVEVSRkFDRV9BR0U9NAorIEJJTkFSWV9BR0U9MTIKKy1WRVJTSU9OPSRNQUpPUl9WRVJTSU9OLiRNSU5PUl9WRVJTSU9OLiRNSUNST19WRVJTSU9OCisrVkVSU0lPTj1zZGxpbWFnZV92ZXJzaW9uCisgCisgQUNfU1VCU1QoTUFKT1JfVkVSU0lPTikKKyBBQ19TVUJTVChNSU5PUl9WRVJTSU9OKQorQEAgLTQyLDcgKzQ4LDcgQEAKKyBBQ19DQU5PTklDQUxfSE9TVAorIAorIGRubCBTZXR1cCBmb3IgYXV0b21ha2UKKy1BTV9JTklUX0FVVE9NQUtFKFNETF9pbWFnZSwgJFZFUlNJT04pCisrQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbl0pCisgCisgZG5sIENoZWNrIGZvciB0b29scworIEFDX1BST0dfTElCVE9PTApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzZGwtaW1hZ2UvbGlic2RsLWltYWdlXzEuMi4xMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic2RsLWltYWdlL2xpYnNkbC1pbWFnZV8xLjIuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWE4ZTllYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic2RsLWltYWdlL2xpYnNkbC1pbWFnZV8xLjIuMTIuYmIKQEAgLTAsMCArMSwzMiBAQAorU1VNTUFSWSA9ICJTaW1wbGUgRGlyZWN0TWVkaWEgTGF5ZXIgaW1hZ2UgbGlicmFyeSIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJabGliIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NjEzNzM0Yjc1ODZlMTU4MGVmOTQ0OTYxYzZkNjIyMjciCisKK0RFUEVORFMgPSAidGlmZiB6bGliIGxpYnBuZyBqcGVnIHZpcnR1YWwvbGlic2RsIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubGlic2RsLm9yZy9wcm9qZWN0cy9TRExfaW1hZ2UvcmVsZWFzZS9TRExfaW1hZ2UtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhMGY5MDk4ZWJlNTQwMGYwYmRjOWI2MmU2MDc5N2VjYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwYjkwNzIyOTg0NTYxMDA0ZGU4NDg0Nzc0NGQ1NjY4MDlkYmI5ZGFmNzMyYTllNTAzYjkxYTFiNWE4NGU1Njk5IgorCitTID0gIiR7V09SS0RJUn0vU0RMX2ltYWdlLSR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworZXhwb3J0IFNETF9DT05GSUcgPSAiJHtTVEFHSU5HX0JJTkRJUl9DUk9TU30vc2RsLWNvbmZpZyIKKworIyBEaXNhYmxlIHRoZSBydW4tdGltZSBsb2FkaW5nIG9mIHRoZSBsaWJzIGFuZCBicmluZyBiYWNrIHRoZSBzb25hbWUgZGVwZW5kZW5jaWVzLgorRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtanBnLXNoYXJlZCAtLWRpc2FibGUtcG5nLXNoYXJlZCAtZGlzYWJsZS10aWYtc2hhcmVkIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAjIFJlbW92aW5nIHRoZXNlIGZpbGVzIGZpeGVzIGEgbGlidG9vbCB2ZXJzaW9uIG1pc21hdGNoLgorICAgIHJtIC1mICR7U30vYWNpbmNsdWRlL2xpYnRvb2wubTQKKyAgICBybSAtZiAke1N9L2FjaW5jbHVkZS9zZGwubTQKKyAgICBybSAtZiAke1N9L2FjaW5jbHVkZS9wa2cubTQKKyAgICBybSAtZiAke1N9L2FjaW5jbHVkZS9sdH5vYnNvbGV0ZS5tNAorICAgIHJtIC1mICR7U30vYWNpbmNsdWRlL2x0b3B0aW9ucy5tNAorICAgIHJtIC1mICR7U30vYWNpbmNsdWRlL2x0c3VnYXIubTQKKyAgICBybSAtZiAke1N9L2FjaW5jbHVkZS9sdHZlcnNpb24ubTQKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic2RsLWltYWdlL2xpYnNkbDItaW1hZ2VfMi4wLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNkbC1pbWFnZS9saWJzZGwyLWltYWdlXzIuMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmOWM3OTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNkbC1pbWFnZS9saWJzZGwyLWltYWdlXzIuMC4xLmJiCkBAIC0wLDAgKzEsMzEgQEAKK1NVTU1BUlkgPSAiU2ltcGxlIERpcmVjdE1lZGlhIExheWVyIGltYWdlIGxpYnJhcnkgdjIiCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiWmxpYiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcudHh0O21kNT1lYzY1Yjk3NzhmNTU4NGEwYmQ4ZGZjMTdkNjM0MGJhMCIKKworREVQRU5EUyA9ICJ0aWZmIHpsaWIgbGlicG5nIGpwZWcgdmlydHVhbC9saWJzZGwyIGxpYndlYnAiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5saWJzZGwub3JnL3Byb2plY3RzL1NETF9pbWFnZS9yZWxlYXNlL1NETDJfaW1hZ2UtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImQ5NGI5NDU1NWJhMDIyZmEyNDlhNTNhMDIxZGMzNjA2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNhM2VhZmJjZWVhNTEyNWMwNGJlNTg1MzczYmZkOGIzYTE4ZjI1OWJkN2VhZTNlZmM0ZTZkOGU2MGUwZDdmNjQiCisKK1MgPSAiJHtXT1JLRElSfS9TREwyX2ltYWdlLSR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworIyBEaXNhYmxlIHRoZSBydW4tdGltZSBsb2FkaW5nIG9mIHRoZSBsaWJzIGFuZCBicmluZyBiYWNrIHRoZSBzb25hbWUgZGVwZW5kZW5jaWVzLgorRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtanBnLXNoYXJlZCAtLWRpc2FibGUtcG5nLXNoYXJlZCAtZGlzYWJsZS10aWYtc2hhcmVkIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAjIG1ha2UgYXV0b3JlY29uZiBoYXBweQorICAgIHRvdWNoICR7U30vTkVXUyAke1N9L1JFQURNRSAke1N9L0FVVEhPUlMgJHtTfS9DaGFuZ2VMb2cKKyAgICAjIFJlbW92aW5nIHRoZXNlIGZpbGVzIGZpeGVzIGEgbGlidG9vbCB2ZXJzaW9uIG1pc21hdGNoLgorICAgIHJtIC1mICR7U30vYWNpbmNsdWRlL2xpYnRvb2wubTQKKyAgICBybSAtZiAke1N9L2FjaW5jbHVkZS9zZGwyLm00CisgICAgcm0gLWYgJHtTfS9hY2luY2x1ZGUvcGtnLm00CisgICAgcm0gLWYgJHtTfS9hY2luY2x1ZGUvbHR+b2Jzb2xldGUubTQKKyAgICBybSAtZiAke1N9L2FjaW5jbHVkZS9sdG9wdGlvbnMubTQKKyAgICBybSAtZiAke1N9L2FjaW5jbHVkZS9sdHN1Z2FyLm00CisgICAgcm0gLWYgJHtTfS9hY2luY2x1ZGUvbHR2ZXJzaW9uLm00Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNkbC1taXhlci9saWJzZGwtbWl4ZXIvY29uZmlndXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzZGwtbWl4ZXIvbGlic2RsLW1peGVyL2NvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YzllOGQwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzZGwtbWl4ZXIvbGlic2RsLW1peGVyL2NvbmZpZ3VyZS5wYXRjaApAQCAtMCwwICsxLDIxIEBACitkaWZmIC1OdXJkIFNETF9taXhlci0xLjIuMTIvY29uZmlndXJlLmluIFNETF9taXhlci0xLjIuMTIvY29uZmlndXJlLmluCistLS0gU0RMX21peGVyLTEuMi4xMi9jb25maWd1cmUuaW4JMjAxMi0wMS0xNiAwMDowMTowNS4wMDAwMDAwMDAgKzAyMDAKKysrKyBTRExfbWl4ZXItMS4yLjEyL2NvbmZpZ3VyZS5pbgkyMDEyLTEyLTE1IDA0OjA4OjA0LjYyNzg3MTQ1NiArMDIwMAorQEAgLTEsNiArMSw1IEBACisgZG5sIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b2NvbmYgdG8gcHJvZHVjZSBhIGNvbmZpZ3VyZSBzY3JpcHQuCisgQUNfSU5JVChSRUFETUUpCistQUNfQ09ORklHX0FVWF9ESVIoYnVpbGQtc2NyaXB0cykKKyAKKyBkbmwgU2V0IHZhcmlvdXMgdmVyc2lvbiBzdHJpbmdzIC0gdGFrZW4gZ3JhdGVmdWxseSBmcm9tIHRoZSBHVGsgc291cmNlcworIAorQEAgLTQwLDEwICszOSw2IEBACisgQUNfU1VCU1QoTFRfUkVWSVNJT04pCisgQUNfU1VCU1QoTFRfQUdFKQorIAorLWRubCBEZXRlY3QgdGhlIGNhbm9uaWNhbCBidWlsZCBhbmQgaG9zdCBlbnZpcm9ubWVudHMKKy1BQ19DT05GSUdfQVVYX0RJUlMoJHNyY2Rpci9idWlsZC1zY3JpcHRzKQorLWRubCBBQ19DQU5PTklDQUxfSE9TVAorLQorIGRubCBDaGVjayBmb3IgdG9vbHMKKyBBQ19QUk9HX0xJQlRPT0wKKyBBQ19QUk9HX0NDCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNkbC1taXhlci9saWJzZGwtbWl4ZXJfMS4yLjEyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzZGwtbWl4ZXIvbGlic2RsLW1peGVyXzEuMi4xMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMWEwMWI5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzZGwtbWl4ZXIvbGlic2RsLW1peGVyXzEuMi4xMi5iYgpAQCAtMCwwICsxLDQwIEBACitTVU1NQVJZID0gIlNpbXBsZSBEaXJlY3RNZWRpYSBMYXllciBtaXhlciBsaWJyYXJ5IgorU0VDVElPTiA9ICJsaWJzIgorREVQRU5EUyA9ICJ2aXJ0dWFsL2xpYnNkbCBmbGFjIGxpYm1pa21vZCBsaWJ2b3JiaXMiCitMSUNFTlNFID0gIlpsaWIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hMzdhNDdhMGU1NzllNDYxNDc0Y2QwM2I5ZTA1MTk5ZCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmxpYnNkbC5vcmcvcHJvamVjdHMvU0RMX21peGVyL3JlbGVhc2UvU0RMX21peGVyLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZTAzZmY3M2Q3N2E1NWUzNTcyYWQwMjE3MTMxZGM0YTEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTY0NDMwODI3OWE5NzU3OTkwNDllNDgyNmFmMmNmYzc4N2NhZDJhYmIxMWFhMTQ1NjJlNDAyNTIxZjg2OTkyYSIKKworUyA9ICIke1dPUktESVJ9L1NETF9taXhlci0ke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKK0VYVFJBX0FVVE9SRUNPTkYgKz0gIi0taW5jbHVkZT1hY2luY2x1ZGUiCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLW11c2ljLW1wMyAtLWVuYWJsZS1tdXNpYy1vZ2cgLS1lbmFibGUtbXVzaWMtb2dnLXRyZW1vciBMSUJTPS1MJHtTVEFHSU5HX0xJQkRJUn0iCisKK1BBQ0tBR0VDT05GSUdbbWFkXSA9ICItLWVuYWJsZS1tdXNpYy1tcDMtbWFkLWdwbCwtLWRpc2FibGUtbXVzaWMtbXAzLW1hZC1ncGwsbGlibWFkIgorCitkb19jb25maWd1cmUgKCkgeworICAgICMgUmVtb3ZlIG9sZCBsaWJ0b29sIG1hY3Jvcy4KKyAgICBNQUNST1M9ImxpYnRvb2wubTQgbHR+b2Jzb2xldGUubTQgbHRvcHRpb25zLm00IGx0c3VnYXIubTQgbHR2ZXJzaW9uLm00IgorICAgIGZvciBpIGluICR7TUFDUk9TfTsgZG8KKyAgICAgICAgcm0gLWYgYWNpbmNsdWRlLyRpCisgICAgZG9uZQorICAgIGNwIGJ1aWxkLXNjcmlwdHMvKiAuIHx8IHRydWUKKyAgICBybSAtcmYgYnVpbGQtc2NyaXB0cy8KKyAgICBleHBvcnQgU1lTUk9PVD0kUEtHX0NPTkZJR19TWVNST09UX0RJUgorCisgICAgYXV0b3Rvb2xzX2RvX2NvbmZpZ3VyZQorCisgICAgcm0gY29uZmlnLmxvZworICAgIGZvciBpIGluICQoZmluZCAtbmFtZSAiTWFrZWZpbGUiKSA7IGRvCisgICAgICAgIHNlZCAtaSAtZSAnczotTC91c3IvbGliOi1MJHtTVEFHSU5HX0xJQkRJUn06ZycgJGkKKyAgICBkb25lCit9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic2RsLW1peGVyL2xpYnNkbDItbWl4ZXJfMi4wLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNkbC1taXhlci9saWJzZGwyLW1peGVyXzIuMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkYzQ4ZTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNkbC1taXhlci9saWJzZGwyLW1peGVyXzIuMC4xLmJiCkBAIC0wLDAgKzEsMjcgQEAKK1NVTU1BUlkgPSAiU2ltcGxlIERpcmVjdE1lZGlhIExheWVyIG1peGVyIGxpYnJhcnkgVjIiCitTRUNUSU9OID0gImxpYnMiCitERVBFTkRTID0gInZpcnR1YWwvbGlic2RsMiBmbGFjIGxpYm1pa21vZCBsaWJ2b3JiaXMiCitMSUNFTlNFID0gIlpsaWIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLnR4dDttZDU9MjlkOGJjN2MzOGFhNDRiMWNmM2E2MzNhNDY1ODk5MTciCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5saWJzZGwub3JnL3Byb2plY3RzL1NETF9taXhlci9yZWxlYXNlL1NETDJfbWl4ZXItJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiYzZjNGY1NTZkNDQxNTg3MWY1MjYyNDhmNWM5YTYyN2QiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWEyNGY2MmE2MTAyNDlkNzQ0Y2JkOGQyOGVlMzk5ZDg5MDVkYjcyMjJiZjNiZGJjOGE4YjRhNzZlNTk3Njk1ZiIKKworUyA9ICIke1dPUktESVJ9L1NETDJfbWl4ZXItJHtQVn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitFWFRSQV9BVVRPUkVDT05GICs9ICItLWluY2x1ZGU9YWNpbmNsdWRlIgorRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1tdXNpYy1tcDMgLS1lbmFibGUtbXVzaWMtb2dnIC0tZW5hYmxlLW11c2ljLW9nZy10cmVtb3IgTElCUz0tTCR7U1RBR0lOR19MSUJESVJ9IgorCitQQUNLQUdFQ09ORklHW21hZF0gPSAiLS1lbmFibGUtbXVzaWMtbXAzLW1hZC1ncGwsLS1kaXNhYmxlLW11c2ljLW1wMy1tYWQtZ3BsLGxpYm1hZCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgICMgUmVtb3ZlIG9sZCBsaWJ0b29sIG1hY3Jvcy4KKyAgICBNQUNST1M9ImxpYnRvb2wubTQgbHR+b2Jzb2xldGUubTQgbHRvcHRpb25zLm00IGx0c3VnYXIubTQgbHR2ZXJzaW9uLm00IgorICAgIGZvciBpIGluICR7TUFDUk9TfTsgZG8KKyAgICAgICAgcm0gLWYgYWNpbmNsdWRlLyRpCisgICAgZG9uZQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saXZlNTU1L2ZpbGVzL2NvbmZpZy5saW51eC1jcm9zcyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGl2ZTU1NS9maWxlcy9jb25maWcubGludXgtY3Jvc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDEyNzdkYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGl2ZTU1NS9maWxlcy9jb25maWcubGludXgtY3Jvc3MKQEAgLTAsMCArMSwxNyBAQAorQ09NUElMRV9PUFRTID0JCSQoSU5DTFVERVMpIC1JLiAtTzIgLURTT0NLTEVOX1Q9c29ja2xlbl90IC1ETk9fU1RSU1RSRUFNPTEgLURfTEFSR0VGSUxFX1NPVVJDRT0xCitDID0JCQljCitDX0NPTVBJTEVSID0JCSQoQ0MpCitDX0ZMQUdTID0JCSQoQ09NUElMRV9PUFRTKQorQ1BQID0JCQljcHAKK0NQTFVTUExVU19DT01QSUxFUiA9CSQoQ1hYKQorQ1BMVVNQTFVTX0ZMQUdTID0JJChDT01QSUxFX09QVFMpIC1XYWxsIC1EQlNEPTEKK09CSiA9CQkJbworTElOSyA9CQkJJChDWFgpIC1vCitMSU5LX09QVFMgPQkJLUwuCitDT05TT0xFX0xJTktfT1BUUyA9CSQoTElOS19PUFRTKQorTElCUkFSWV9MSU5LID0JCSQoTEQpIC1vCitMSUJSQVJZX0xJTktfT1BUUyA9CSQoTElOS19PUFRTKSAtciAtQnN0YXRpYworTElCX1NVRkZJWCA9CQkJYQorTElCU19GT1JfQ09OU09MRV9BUFBMSUNBVElPTiA9CitMSUJTX0ZPUl9HVUlfQVBQTElDQVRJT04gPQorRVhFID0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGl2ZTU1NS9saXZlNTU1LmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGl2ZTU1NS9saXZlNTU1LmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZDExZGU5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saXZlNTU1L2xpdmU1NTUuaW5jCkBAIC0wLDAgKzEsNTggQEAKKyMgbGl2ZTU1NSBPRSBidWlsZCBmaWxlCisjIENvcHlyaWdodCAoQykgMjAwNSwgS29uaW5rbGlqa2UgUGhpbGlwcyBFbGVjdHJvbmljcyBOVi4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgcGFja2FnZXMvQ09QWUlORykKKworREVTQ1JJUFRJT04gPSAiTElWRTU1NSBTdHJlYW1pbmcgTWVkaWEgbGlicmFyaWVzIgorSE9NRVBBR0UgPSAiaHR0cDovL2xpdmUuY29tLyIKK0xJQ0VOU0UgPSAiTEdQTHYzIgorU0VDVElPTiA9ICJkZXZlbCIKKworSU5DX1BSID0gInIxIgorCitVUkxWID0gIiR7QGQuZ2V0VmFyKCdQVicsMSlbMDo0XX0uJHtAZC5nZXRWYXIoJ1BWJywxKVs0OjZdfS4ke0BkLmdldFZhcignUFYnLDEpWzY6OF19IgorU1JDX1VSSSA9ICJodHRwOi8vd3d3LmxpdmU1NTUuY29tL2xpdmVNZWRpYS9wdWJsaWMvbGl2ZS4ke1VSTFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWcubGludXgtY3Jvc3MiCisjIG9ubHkgbGF0ZXN0IGxpdmUgdmVyc2lvbiBzdGF5cyBvbiBodHRwOi8vd3d3LmxpdmU1NTUuY29tL2xpdmVNZWRpYS9wdWJsaWMvLCBhZGQgbWlycm9yIGZvciBvbGRlcgorTUlSUk9SUyArPSAiaHR0cDovL3d3dy5saXZlNTU1LmNvbS9saXZlTWVkaWEvcHVibGljLyBodHRwOi8vZGlzdGNhY2hlLkZyZWVCU0Qub3JnL3BvcnRzLWRpc3RmaWxlcy8gXG4iCisKK1MgPSAiJHtXT1JLRElSfS9saXZlIgorVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBjcCAke1dPUktESVJ9L2NvbmZpZy5saW51eC1jcm9zcyAuCisgICAgZWNobyAiQ09NUElMRV9PUFRTKz0iIC1mUElDICIiID4+IGNvbmZpZy5saW51eC1jcm9zcworICAgIC4vZ2VuTWFrZWZpbGVzIGxpbnV4LWNyb3NzCit9CisKK2RvX2NvbXBpbGUoKSB7CisgICAgbWFrZQorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vQmFzaWNVc2FnZUVudmlyb25tZW50CisgICAgaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfS9ncm91cHNvY2sKKyAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9L2xpdmVNZWRpYQorICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vVXNhZ2VFbnZpcm9ubWVudAorICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfQorICAgIGNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12ICR7U30vQmFzaWNVc2FnZUVudmlyb25tZW50L2luY2x1ZGUvKi5oaCAke0R9JHtpbmNsdWRlZGlyfS9CYXNpY1VzYWdlRW52aXJvbm1lbnQvCisgICAgY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgLXYgJHtTfS9ncm91cHNvY2svaW5jbHVkZS8qLmggJHtEfSR7aW5jbHVkZWRpcn0vZ3JvdXBzb2NrLworICAgIGNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12ICR7U30vZ3JvdXBzb2NrL2luY2x1ZGUvKi5oaCAke0R9JHtpbmNsdWRlZGlyfS9ncm91cHNvY2svCisgICAgY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgLXYgJHtTfS9saXZlTWVkaWEvaW5jbHVkZS8qLmhoICR7RH0ke2luY2x1ZGVkaXJ9L2xpdmVNZWRpYS8KKyAgICBjcCAtUiAtLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bW9kZSxsaW5rcyAtdiAke1N9L1VzYWdlRW52aXJvbm1lbnQvaW5jbHVkZS8qLmhoICR7RH0ke2luY2x1ZGVkaXJ9L1VzYWdlRW52aXJvbm1lbnQvCisgICAgIyBGaW5kIGFsbCB0aGUgaGVhZGVycworICAgIGZvciBpIGluICQoZmluZCAuIC1uYW1lICIqLmhoIikgJChmaW5kIC4gLW5hbWUgIiouaCIpIDsgZG8KKyAgICAgICAgaW5zdGFsbCAke2l9ICR7RH0ke2luY2x1ZGVkaXJ9CisgICAgZG9uZQorICAgIGNwICR7U30vKi8qLmEgJHtEfSR7bGliZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGZvciBpIGluIE1QRUcyVHJhbnNwb3J0U3RyZWFtSW5kZXhlciBvcGVuUlRTUCBwbGF5U0lQIHNhcFdhdGNoIHRlc3RNUEVHMW9yMkF1ZGlvVmlkZW9Ub0RhcndpbiB0ZXN0TVBFRzFvcjJQcm9ncmFtVG9UcmFuc3BvcnRTdHJlYW0gdGVzdE1QRUcxb3IyU3BsaXR0ZXIgdGVzdE1QRUcxb3IyVmlkZW9SZWNlaXZlciB0ZXN0TVBFRzJUcmFuc3BvcnRTdHJlYW1Ucmlja1BsYXkgdGVzdE1QRUc0VmlkZW9Ub0RhcndpbiB0ZXN0T25EZW1hbmRSVFNQU2VydmVyIHRlc3RSZWxheSB0ZXN0QU1SQXVkaW9TdHJlYW1lciB0ZXN0RFZWaWRlb1N0cmVhbWVyIHRlc3RNUDNSZWNlaXZlciB0ZXN0TVAzU3RyZWFtZXIgdGVzdE1QRUcxb3IyQXVkaW9WaWRlb1N0cmVhbWVyIHRlc3RNUEVHMW9yMlZpZGVvU3RyZWFtZXIgdGVzdE1QRUcyVHJhbnNwb3J0U3RyZWFtZXIgdGVzdE1QRUc0VmlkZW9TdHJlYW1lciB0ZXN0V0FWQXVkaW9TdHJlYW1lciB2b2JTdHJlYW1lcjsgZG8KKyAgICAgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vdGVzdFByb2dzLyR7aX0gJHtEfSR7YmluZGlyfS8KKyAgICBkb25lCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vbWVkaWFTZXJ2ZXIvbGl2ZTU1NU1lZGlhU2VydmVyICR7RH0ke2JpbmRpcn0vCit9CisKK1BBQ0tBR0VTID0rICIgbGl2ZTU1NS1vcGVucnRzcCBsaXZlNTU1LXBsYXlzaXAgbGl2ZTU1NS1tZWRpYXNlcnZlciIKK0ZJTEVTXyR7UE59ID0gIiR7YmluZGlyfS9zYXBXYXRjaCAke2JpbmRpcn0vdGVzdE1QRUcxb3IyQXVkaW9WaWRlb1RvRGFyd2luICR7YmluZGlyfS90ZXN0TVBFRzFvcjJQcm9ncmFtVG9UcmFuc3BvcnRTdHJlYW0gJHtiaW5kaXJ9L3Rlc3RNUEVHMW9yMlNwbGl0dGVyICR7YmluZGlyfS90ZXN0TVBFRzFvcjJWaWRlb1JlY2VpdmVyICR7YmluZGlyfS90ZXN0TVBFRzJUcmFuc3BvcnRTdHJlYW1Ucmlja1BsYXkgJHtiaW5kaXJ9L3Rlc3RNUEVHNFZpZGVvVG9EYXJ3aW4gJHtiaW5kaXJ9L3Rlc3RPbkRlbWFuZFJUU1BTZXJ2ZXIgJHtiaW5kaXJ9L3Rlc3RSZWxheSAke2JpbmRpcn0vdGVzdEFNUkF1ZGlvU3RyZWFtZXIgJHtiaW5kaXJ9L3Rlc3REVlZpZGVvU3RyZWFtZXIgJHtiaW5kaXJ9L3Rlc3RNUDNSZWNlaXZlciAke2JpbmRpcn0vdGVzdE1QM1N0cmVhbWVyICR7YmluZGlyfS90ZXN0TVBFRzFvcjJBdWRpb1ZpZGVvU3RyZWFtZXIgJHtiaW5kaXJ9L3Rlc3RNUEVHMW9yMlZpZGVvU3RyZWFtZXIgJHtiaW5kaXJ9L3Rlc3RNUEVHMlRyYW5zcG9ydFN0cmVhbWVyICR7YmluZGlyfS90ZXN0TVBFRzRWaWRlb1N0cmVhbWVyICR7YmluZGlyfS90ZXN0V0FWQXVkaW9TdHJlYW1lciAke2JpbmRpcn0vdm9iU3RyZWFtZXIgJHtiaW5kaXJ9L01QRUcyVHJhbnNwb3J0U3RyZWFtSW5kZXhlciIKK0ZJTEVTX2xpdmU1NTUtb3BlbnJ0c3AgPSAiJHtiaW5kaXJ9L29wZW5SVFNQIgorRklMRVNfbGl2ZTU1NS1wbGF5c2lwID0gIiR7YmluZGlyfS9wbGF5U0lQIgorRklMRVNfbGl2ZTU1NS1tZWRpYXNlcnZlciA9ICIke2JpbmRpcn0vbGl2ZTU1NU1lZGlhU2VydmVyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saXZlNTU1L2xpdmU1NTVfMjAxMzA0MzAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpdmU1NTUvbGl2ZTU1NV8yMDEzMDQzMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODMyODVjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saXZlNTU1L2xpdmU1NTVfMjAxMzA0MzAuYmIKQEAgLTAsMCArMSw3IEBACityZXF1aXJlIGxpdmU1NTUuaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTY4YWQ2MmM2NGNjNmM2MjAxMjYyNDFmZDQyOWU2OGZlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOTU1MzNkOTFiZDE5NmU0MmZkNzQ4MDc2ZGMyNDRiMDkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTU0OWFmNjA4Yzk5NjFkODVjYjY0N2JjM2I5OTgwNGZlYzBmYmFmNTMzOGMxYjcyZDA1NzU1OGFlNWNkMmFlYSIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9taWttb2QvbGlibWlrbW9kXzMuMy42LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9taWttb2QvbGlibWlrbW9kXzMuMy42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlMWI5YmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL21pa21vZC9saWJtaWttb2RfMy4zLjYuYmIKQEAgLTAsMCArMSwyNiBAQAorREVTQ1JJUFRJT04gPSAibGlibWlrbW9kIGlzIGEgbW9kdWxlIHBsYXllciBsaWJyYXJ5IHN1cHBvcnRpbmcgbWFueSBmb3JtYXRzLCBpbmNsdWRpbmcgbW9kLCBzM20sIGl0LCBhbmQgeG0uIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTEVTU0VSO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyIKKworREVQRU5EUyA9ICJhbHNhLWxpYiB0ZXhpbmZvIHB1bHNlYXVkaW8iCisKK1NSQ19VUkkgPSAiXAorICAgICR7U09VUkNFRk9SR0VfTUlSUk9SfS9wcm9qZWN0L21pa21vZC8ke0JQTn0vJHtQVn0vJHtCUE59LSR7UFZ9LnRhci5neiBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiOWRkOWJlZDMwYzZmNzYwN2E1NTQ4MDIzNDYwNjA3MWIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2YzNjNlMDNmN2IxZGI3NWI5YjY2MDI4NDFiYmQ0NDBlZDI3NWE1NDhlNTM1NDVmOTgwZGY4MTU1ZGU0ZDMzMCIKKworaW5oZXJpdCBhdXRvdG9vbHMgYmluY29uZmlnIGxpYl9wYWNrYWdlCisKK0VYVFJBX09FQ09ORiA9ICJcCisgICAgLS1kaXNhYmxlLWFmIFwKKyAgICAtLWVuYWJsZS1hbHNhIFwKKyAgICAtLWRpc2FibGUtZXNkIFwKKyAgICAtLWVuYWJsZS1vc3MgXAorICAgIC0tZGlzYWJsZS1zYW05NDA3IFwKKyAgICAtLWRpc2FibGUtdWx0cmEgXAorICAgIC0tZGlzYWJsZS1lc2R0ZXN0IFwKKyAgICAtLWVuYWJsZS10aHJlYWRzIFwKKyIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9taW5pZGxuYS9taW5pZGxuYS5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL21pbmlkbG5hL21pbmlkbG5hLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYmNhNzU1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9taW5pZGxuYS9taW5pZGxuYS5pbmMKQEAgLTAsMCArMSwzOSBAQAorREVTQ1JJUFRJT04gPSAiTWluaURMTkEgKGFrYSBSZWFkeURMTkEpIGlzIHNlcnZlciBzb2Z0d2FyZSB3aXRoIHRoZSBhaW0gb2YgXAorYmVpbmcgZnVsbHkgY29tcGxpYW50IHdpdGggRExOQS9VUG5QLUFWIGNsaWVudHMuIgorTElDRU5TRSA9ICJHUEwtMi4wfEJTRCIKK0RFUEVORFMgPSAiZmZtcGVnIGZsYWMgbGliYXYganBlZyBzcWxpdGUzIGxpYmV4aWYgbGlib2dnIGxpYmlkM3RhZyBsaWJ2b3JiaXMiCisKKyMgYmVjYXVzZSBpdCBkZXBlbmRzIG9uIGxpYmF2IHdoaWNoIGhhcyBjb21tZXJjaWFsIGZsYWcKK0xJQ0VOU0VfRkxBR1MgPSAiY29tbWVyY2lhbCIKKworaW5oZXJpdCBnZXR0ZXh0IGF1dG90b29scy1icm9rZW5zZXAgdXBkYXRlLXJjLmQgc3lzdGVtZAorCitTUkNfVVJJID0gImdpdDovL2dpdC5jb2RlLnNmLm5ldC9wL21pbmlkbG5hL2dpdDticmFuY2g9bWFzdGVyO21vZHVsZT1naXQgXAorICAgICAgICAgICBmaWxlOi8vbWluaWRsbmEtZGFlbW9uLmluaXQuZCBcCisgICAgICAgICAgIGZpbGU6Ly9taW5pZGxuYS5zZXJ2aWNlICIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworIyBUaGlzIHJlbW92ZSAiLS1leGNsdWRlPWF1dG9wb2ludCIgb3B0aW9uIGZyb20gYXV0b3JlY29uZiBhcmd1bWVudCB0byBhdm9pZAorIyBjb25maWd1cmUuYWM6MzA6IGVycm9yOiByZXF1aXJlZCBmaWxlICcuL0FCT1VULU5MUycgbm90IGZvdW5kCitFWFRSQV9BVVRPUkVDT05GID0gIiIKKworZG9faW5zdGFsbF9hcHBlbmQoKXsKKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9CisJaW5zdGFsbCAtbSAwNzU1IG1pbmlkbG5hLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0KKworIyBTeXN0ZW1kIHNjcmlwdAorCWluc3RhbGwgLWQgJHtEfSR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vc3lzdGVtZC9zeXN0ZW0KKwlpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9taW5pZGxuYS5zZXJ2aWNlICR7RH0ke25vbmFyY2hfYmFzZV9saWJkaXJ9L3N5c3RlbWQvc3lzdGVtCisKKyMgU3lzdmluaXQgc2NyaXB0CisJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKwlpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9taW5pZGxuYS1kYWVtb24uaW5pdC5kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9taW5pZGxuYQorCit9CisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJtaW5pZGxuYS5zZXJ2aWNlIgorCitJTklUU0NSSVBUX05BTUUgPSAibWluaWRsbmEiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyA5MCIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9taW5pZGxuYS9taW5pZGxuYS9taW5pZGxuYS1kYWVtb24uaW5pdC5kIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9taW5pZGxuYS9taW5pZGxuYS9taW5pZGxuYS1kYWVtb24uaW5pdC5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllNjRhMjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL21pbmlkbG5hL21pbmlkbG5hL21pbmlkbG5hLWRhZW1vbi5pbml0LmQKQEAgLTAsMCArMSw1NCBAQAorIyEvYmluL3NoCisKK05BTUU9Im1pbmlkbG5hIgorREFFTU9OPS91c3Ivc2Jpbi9taW5pZGxuYWQKK1NDUklQVE5BTUU9L2V0Yy9pbml0LmQvJE5BTUUKK1BJREZJTEU9L3Zhci9ydW4vJE5BTUUucGlkCitDT05GPS9ldGMvJE5BTUUuY29uZgorQVJHUz0iLWYgJENPTkYiCisKKyMgRXhpdCBpZiB0aGUgcGFja2FnZSBpcyBub3QgaW5zdGFsbGVkCitbIC14ICIkREFFTU9OIiBdIHx8IGV4aXQgMAorCitzdGFydF9mdW5jdGlvbigpIHsKKworICAgIGV4cG9ydCBQQVRIPSRQV0Q6JFBBVEgKKworICAgIGlmIFsgLWYgJHtQSURGSUxFfSBdOyB0aGVuCisgICAgICAgIGVjaG8gIiRTQ1JJUFROQU1FIGFscmVhZHkgcnVubmluZyB3aXRoIFBJRCAjYGNhdCAkUElERklMRWAgKCBhY2NvcmRpbmcgdG8gJHtQSURGSUxFfSApIjsKKyAgICAgICAgZXhpdCAwCisgICAgZmkKKyAgICAKKyAgICAkREFFTU9OICRBUkdTCisgCisgICAgcGlkPSQhCisKKyAgICBpZiBbICIkcGlkIiAhPSAiIiBdOyB0aGVuCisgICAgICAgIGVjaG8gLW4gIiRwaWQiID4gJHtQSURGSUxFfQorICAgIGZpCit9CisKK3N0b3BfZnVuY3Rpb24oKSB7CisKKyAgICBleHBvcnQgUEFUSD0kUFdEOiRQQVRICisKKyAgICBpZiBbICEgLWUgIiR7UElERklMRX0iIF07IHRoZW4KKyAgICAgICAgZWNobyAiJHtTQ1JJUFROQU1FfSBub3QgcnVubmluZyAoIGFjY29yZGluZyB0byAke1BJREZJTEV9ICkiOworICAgICAgICBleGl0IDE7CisgICAgZmkKKyAgICBQSUQ9YGNhdCAke1BJREZJTEV9YAorICAgIGtpbGwgLUlOVCAke1BJRH0KKyAgICBybSAtZiAke1BJREZJTEV9Cit9CisKK2Nhc2UgJDEgaW4KKyAgICAic3RhcnQiKQorICAgICAgICBzdGFydF9mdW5jdGlvbgorICAgICAgICA7OworICAgICJzdG9wIikKKyAgICAgICAgc3RvcF9mdW5jdGlvbgorICAgICAgICA7OworICAgICopCisgICAgZWNobyAiVXNhZ2U6ICQwIHtzdGFydCB8IHN0b3B9IgorCitlc2FjCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL21pbmlkbG5hL21pbmlkbG5hL21pbmlkbG5hLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL21pbmlkbG5hL21pbmlkbG5hL21pbmlkbG5hLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjU2MTAwYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbWluaWRsbmEvbWluaWRsbmEvbWluaWRsbmEuc2VydmljZQpAQCAtMCwwICsxLDEwIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPU1pbmlkbG5hIERhZW1vbgorQWZ0ZXI9bmV0d29yay50YXJnZXQKKworW1NlcnZpY2VdCitUeXBlPW5vdGlmeQorRXhlY1N0YXJ0PS91c3Ivc2Jpbi9taW5pZGxuYWQgLWYgL2V0Yy9taW5pZGxuYS5jb25mCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbWluaWRsbmEvbWluaWRsbmFfMS4xLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL21pbmlkbG5hL21pbmlkbG5hXzEuMS41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjNmRiNjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL21pbmlkbG5hL21pbmlkbG5hXzEuMS41LmJiCkBAIC0wLDAgKzEsNCBAQAorcmVxdWlyZSAke0JQTn0uaW5jCisKK1NSQ1JFViA9ICJ2MV8xXzUiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTkNFLm1pbml1cG5wZDttZDU9YjBkYWJmOWQ4ZTBmODcxNTU0ZTMwOWQ2MmVhZDhkMmIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL21wbGF5ZXIvbXBsYXllci1jb21tb24uYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL21wbGF5ZXIvbXBsYXllci1jb21tb24uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODI5YzNiMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbXBsYXllci9tcGxheWVyLWNvbW1vbi5iYgpAQCAtMCwwICsxLDIzIEBACisjIENvcHlyaWdodCBNYXR0aGlhcyBIZW50Z2VzIDxkZXZlbEBoZW50Z2VzLm5ldD4gKGMpIDIwMDYKKyMgTGljZW5zZTogTUlUIChzZWUgQ09QWUlORy5NSVQpCisKK1NVTU1BUlkgPSAiUHJlY29uZmlndXJlZCBtcGxheWVyIHByZWZlcmVuY2VzIgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L21ldGEvQ09QWUlORy5NSVQ7bWQ1PTNkYTljZmJjYjc4OGM4MGEwMzg0MzYxYjRkZTIwNDIwIgorCitQViA9ICIwLjAuMSIKK1BSID0gInIxIgorCitTUkNfVVJJID0gImZpbGU6Ly9tcGxheWVyLmNvbmYiCisKKyMgWWVzLCByZWFsbHkgL3Vzci9ldGMhISEKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAiJHtEfS91c3Ike3N5c2NvbmZkaXJ9L21wbGF5ZXIiCisKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9tcGxheWVyLmNvbmYgIiR7RH0vdXNyJHtzeXNjb25mZGlyfS9tcGxheWVyIgorfQorCitGSUxFU18ke1BOfSA9ICIvdXNyJHtzeXNjb25mZGlyfS9tcGxheWVyIgorCitpbmhlcml0IGFsbGFyY2gKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbXBsYXllci9tcGxheWVyLWNvbW1vbi9tcGxheWVyLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL21wbGF5ZXIvbXBsYXllci1jb21tb24vbXBsYXllci5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3YWQ2NWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL21wbGF5ZXIvbXBsYXllci1jb21tb24vbXBsYXllci5jb25mCkBAIC0wLDAgKzEsMTUgQEAKKworIyBZb3UgcHJvYmFibHkgc2hvdWxkbid0IHRvdWNoIHRoZXNlCithYz1tYWQsCithbz1hbHNhLAorCisjIFJlcXVpcmVkIG9uIFNMLUN4eHh4IGZvciBjb3JyZWN0IHJvdGF0aW9uIGluIHRoZSAqVlQqLAorIyBicmVha3Mgcm90YXRpb24gaW4gWCEKKyMgdmY9cm90YXRlPTEKKworIyBFbmFibGUgZnVsbHNjcmVlbiBkaXNwbGF5IGJ5IGRlZmF1bHQKKyMgZnM9dHJ1ZQorCisjIERyb3AgZnJhbWVzIHRvIGtlZXAgYXVkaW8gYW5kIHZpZGVvIGluIHN5bmMKK2ZyYW1lZHJvcD10cnVlCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbXBsYXllci9tcGxheWVyMi8wMDAxLWNvbmZpZ3VyZS1kb24tdC1kaXNhYmxlLUFTUy1zdXBwb3J0LXdoZW4tZXhwbGljaXRseS0ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL21wbGF5ZXIvbXBsYXllcjIvMDAwMS1jb25maWd1cmUtZG9uLXQtZGlzYWJsZS1BU1Mtc3VwcG9ydC13aGVuLWV4cGxpY2l0bHktLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyMzI1OTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL21wbGF5ZXIvbXBsYXllcjIvMDAwMS1jb25maWd1cmUtZG9uLXQtZGlzYWJsZS1BU1Mtc3VwcG9ydC13aGVuLWV4cGxpY2l0bHktLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK0Zyb20gMzU0MTY0OWI3MTFhNzczYWEyZTQyYWM4MGQ5YjRjMWIzNmZjZTIzZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMjcgTWFyIDIwMTQgMDA6MDg6NTQgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlOiBkb24ndCBkaXNhYmxlIEFTUyBzdXBwb3J0IHdoZW4gZXhwbGljaXRseSBlbmFibGVkCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQoraW5kZXggNjBmZDMwOC4uMmY3ZGYzYiAxMDA3NTUKKy0tLSBhL2NvbmZpZ3VyZQorKysrIGIvY29uZmlndXJlCitAQCAtNDM0Niw3ICs0MzQ2LDcgQEAgZmkKKyAKKyAKKyBlY2hvY2hlY2sgIlNTQS9BU1Mgc3VwcG9ydCIKKy1pZiB0ZXN0ICIkX2FzcyIgPSBhdXRvIDsgdGhlbgorK2lmIHRlc3QgIiRfYXNzIiA9IGF1dG8gLW8gIiRfYXNzIiA9IHllcyA7IHRoZW4KKyAgICAgaWYgcGtnX2NvbmZpZ19hZGQgbGliYXNzIDsgdGhlbgorICAgICAgICAgX2Fzcz15ZXMKKyAgICAgICAgIGRlZl9hc3M9JyNkZWZpbmUgQ09ORklHX0FTUyAxJworLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL21wbGF5ZXIvbXBsYXllcjIvMDAwMS1kZW11eF9vZ2ctcGFydGlhbGx5LXBvcnQtbGlidGhlb3JhLWdsdWUtY29kZS10by1UaGVvLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9tcGxheWVyL21wbGF5ZXIyLzAwMDEtZGVtdXhfb2dnLXBhcnRpYWxseS1wb3J0LWxpYnRoZW9yYS1nbHVlLWNvZGUtdG8tVGhlby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNGQ5ODQxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9tcGxheWVyL21wbGF5ZXIyLzAwMDEtZGVtdXhfb2dnLXBhcnRpYWxseS1wb3J0LWxpYnRoZW9yYS1nbHVlLWNvZGUtdG8tVGhlby5wYXRjaApAQCAtMCwwICsxLDEzNiBAQAorRnJvbSAwNTcxYmI0ZjFhNmUxOTM0ZWU3ZTA5M2NlN2FhNTE3YjliYWM4ZTZhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQXdhaXMgQmVsYWwgPGF3YWlzX2JlbGFsQG1lbnRvci5jb20+CitEYXRlOiBTdW4sIDE3IEphbiAyMDE2IDE0OjQ2OjEwICswNTAwCitTdWJqZWN0OiBbUEFUQ0hdIGRlbXV4X29nZzogcGFydGlhbGx5IHBvcnQgbGlidGhlb3JhIGdsdWUgY29kZSB0byBUaGVvcmEgMS4wCisgQVBJCisKK1RoaXMgcGFydGlhbGx5IGJhY2twb3J0cyB0aGUgZm9sbG93aW5nIGNvbW1pdCB0byBhbGxvdyBidWlsZGluZword2l0aCBnY2MtNS54IGFuZCBvdGhlcndpc2UgZmFpbHMgdG8gZmluZCB0aGUgZGVmaW5pdGlvbiBvZgordGhlIF9pbG9nIGZ1bmN0aW9uIHRoZSB3YXkgaXQgaXMgdXNlZC4KKworaHR0cHM6Ly9naXRodWIuY29tL3BpZ296L21wbGF5ZXItc3ZuL2NvbW1pdC84NWU1MTQwOGNkMDA5NzlmYzIwOWRhOGUzYTM5YjZmMGU3ZjMyNWJjCisKK1NpZ25lZC1vZmYtYnk6IEF3YWlzIEJlbGFsIDxhd2Fpc19iZWxhbEBtZW50b3IuY29tPgorLS0tCisgbGlibXBkZW11eC9kZW11eF9vZ2cuYyB8IDUyICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGlibXBkZW11eC9kZW11eF9vZ2cuYyBiL2xpYm1wZGVtdXgvZGVtdXhfb2dnLmMKK2luZGV4IDllZWEwNjEuLjkxNDQ0MjYgMTAwNjQ0CistLS0gYS9saWJtcGRlbXV4L2RlbXV4X29nZy5jCisrKysgYi9saWJtcGRlbXV4L2RlbXV4X29nZy5jCitAQCAtNTAsOCArNTAsNyBAQAorICNlbmRpZgorIAorICNpZmRlZiBDT05GSUdfT0dHVEhFT1JBCistI2luY2x1ZGUgPHRoZW9yYS90aGVvcmEuaD4KKy1pbnQgX2lsb2cgKHVuc2lnbmVkIGludCk7IC8qIGRlZmluZWQgaW4gbWFueSBwbGFjZXMgaW4gdGhlb3JhL2xpYi8gKi8KKysjaW5jbHVkZSA8dGhlb3JhL3RoZW9yYWRlYy5oPgorICNlbmRpZgorIAorICNkZWZpbmUgQkxPQ0tfU0laRSA0MDk2CitAQCAtNjIsOSArNjEsMTAgQEAgaW50IF9pbG9nICh1bnNpZ25lZCBpbnQpOyAvKiBkZWZpbmVkIGluIG1hbnkgcGxhY2VzIGluIHRoZW9yYS9saWIvICovCisgICovCisgI2lmZGVmIENPTkZJR19PR0dUSEVPUkEKKyB0eXBlZGVmIHN0cnVjdCB0aGVvcmFfc3RydWN0X3N0IHsKKy0gICAgdGhlb3JhX3N0YXRlICAgc3Q7CistICAgIHRoZW9yYV9jb21tZW50IGNjOworLSAgICB0aGVvcmFfaW5mbyAgICBpbmY7CisrICAgIHRoX3NldHVwX2luZm8gKnRzaTsKKysgICAgdGhfZGVjX2N0eCAgICAqdGN0eDsKKysgICAgdGhfY29tbWVudCAgICAgdGM7CisrICAgIHRoX2luZm8gICAgICAgIHRpOworIH0gdGhlb3JhX3N0cnVjdF90OworICNlbmRpZgorIAorQEAgLTExNyw3ICsxMTcsNyBAQCB0eXBlZGVmIHN0cnVjdCBvZ2dfc3RyZWFtIHsKKyAgICAgZmxvYXQgICBzYW1wbGVyYXRlOyAvLy8gZ3JhbnVscG9zIDIgdGltZQorICAgICBpbnQ2NF90IGxhc3Rwb3M7CisgICAgIGludDMyX3QgbGFzdHNpemU7CistICAgIGludCAgICAga2V5ZnJhbWVfZnJlcXVlbmN5X2ZvcmNlOworKyAgICBpbnQgICAgIGtleWZyYW1lX2dyYW51bGVfc2hpZnQ7CisgCisgICAgIC8vIExvZ2ljYWwgc3RyZWFtIHN0YXRlCisgICAgIG9nZ19zdHJlYW1fc3RhdGUgc3RyZWFtOworQEAgLTMwMCwxMSArMzAwLDEwIEBAIHN0YXRpYyB1bnNpZ25lZCBjaGFyICpkZW11eF9vZ2dfcmVhZF9wYWNrZXQob2dnX3N0cmVhbV90ICpvcywgb2dnX3BhY2tldCAqcGFjaywKKyAgICAgICAgICAgIGhhdmUgdGhlb3JhX3N0YXRlIHN0LCB1bnRpbCBhbGwgaGVhZGVyIHBhY2tldHMgd2VyZSBwYXNzZWQgdG8gdGhlCisgICAgICAgICAgICBkZWNvZGVyLiAqLworICAgICAgICAgaWYgKCFwYWNrLT5ieXRlcyB8fCAhKCpkYXRhJjB4ODApKSB7CistICAgICAgICAgICAgaW50IGtleWZyYW1lX2dyYW51bGVfc2hpZnQgPSBfaWxvZyhvcy0+a2V5ZnJhbWVfZnJlcXVlbmN5X2ZvcmNlIC0gMSk7CistICAgICAgICAgICAgaW50NjRfdCBpZnJhbWVtYXNrID0gKDEgPDwga2V5ZnJhbWVfZ3JhbnVsZV9zaGlmdCkgLSAxOworKyAgICAgICAgICAgIGludDY0X3QgaWZyYW1lbWFzayA9IGlmcmFtZW1hc2sgPSAoMSA8PCBvcy0+a2V5ZnJhbWVfZ3JhbnVsZV9zaGlmdCkgLSAxOworIAorICAgICAgICAgICAgIGlmIChwYWNrLT5ncmFudWxlcG9zID49IDApIHsKKy0gICAgICAgICAgICAgICAgb3MtPmxhc3Rwb3MgID0gcGFjay0+Z3JhbnVsZXBvcyA+PiBrZXlmcmFtZV9ncmFudWxlX3NoaWZ0OworKyAgICAgICAgICAgICAgICBvcy0+bGFzdHBvcyAgPSBwYWNrLT5ncmFudWxlcG9zID4+IG9zLT5rZXlmcmFtZV9ncmFudWxlX3NoaWZ0OworICAgICAgICAgICAgICAgICBvcy0+bGFzdHBvcyArPSBwYWNrLT5ncmFudWxlcG9zICYgaWZyYW1lbWFzazsKKyAgICAgICAgICAgICAgICAgKmtleWZyYW1lID0gKHBhY2stPmdyYW51bGVwb3MgJiBpZnJhbWVtYXNrKSA9PSAwOworICAgICAgICAgICAgIH0gZWxzZSB7CitAQCAtODg4LDE0ICs4ODcsMTUgQEAgaW50IGRlbXV4X29nZ19vcGVuKGRlbXV4ZXJfdCAqZGVtdXhlcikKKyAjaWZkZWYgQ09ORklHX09HR1RIRU9SQQorICAgICAgICAgfSBlbHNlIGlmIChwYWNrLmJ5dGVzID49IDcgJiYgIXN0cm5jbXAgKCZwYWNrLnBhY2tldFsxXSwgInRoZW9yYSIsIDYpKSB7CisgICAgICAgICAgICAgaW50IGVycm9yQ29kZSA9IDA7CistICAgICAgICAgICAgdGhlb3JhX2luZm8gaW5mOworLSAgICAgICAgICAgIHRoZW9yYV9jb21tZW50IGNjOworKyAgICAgICAgICAgIHRoX2luZm8gdGk7CisrICAgICAgICAgICAgdGhfY29tbWVudCB0YzsKKysgICAgICAgICAgICB0aF9zZXR1cF9pbmZvICp0c2kgPSBOVUxMOworIAorLSAgICAgICAgICAgIHRoZW9yYV9pbmZvX2luaXQgKCZpbmYpOworLSAgICAgICAgICAgIHRoZW9yYV9jb21tZW50X2luaXQgKCZjYyk7CisrICAgICAgICAgICAgdGhfaW5mb19pbml0ICgmdGkpOworKyAgICAgICAgICAgIHRoX2NvbW1lbnRfaW5pdCAoJnRjKTsKKyAKKy0gICAgICAgICAgICBlcnJvckNvZGUgPSB0aGVvcmFfZGVjb2RlX2hlYWRlciAoJmluZiwgJmNjLCAmcGFjayk7CistICAgICAgICAgICAgaWYgKGVycm9yQ29kZSkgeworKyAgICAgICAgICAgIGVycm9yQ29kZSA9IHRoX2RlY29kZV9oZWFkZXJpbigmdGksICZ0YywgJnRzaSwgJnBhY2spOworKyAgICAgICAgICAgIGlmIChlcnJvckNvZGUgPCAwKSB7CisgICAgICAgICAgICAgICAgIG1wX21zZyhNU0dUX0RFTVVYLCBNU0dMX0VSUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICJUaGVvcmEgaGVhZGVyIHBhcnNpbmcgZmFpbGVkOiAlaSBcbiIsIGVycm9yQ29kZSk7CisgICAgICAgICAgICAgfSBlbHNlIHsKK0BAIC05MDQsMzAgKzkwNCwzMiBAQCBpbnQgZGVtdXhfb2dnX29wZW4oZGVtdXhlcl90ICpkZW11eGVyKQorICAgICAgICAgICAgICAgICBzaF92LT5iaWggPSBjYWxsb2MoMSwgc2l6ZW9mKCpzaF92LT5iaWgpKTsKKyAgICAgICAgICAgICAgICAgc2hfdi0+YmloLT5iaVNpemUgICAgICAgID0gc2l6ZW9mKCpzaF92LT5iaWgpOworICAgICAgICAgICAgICAgICBzaF92LT5iaWgtPmJpQ29tcHJlc3Npb24gPSBzaF92LT5mb3JtYXQgPSBGT1VSQ0NfVEhFT1JBOworLSAgICAgICAgICAgICAgICBzaF92LT5mcHMgPSAoKGRvdWJsZSlpbmYuZnBzX251bWVyYXRvcikgLyAoZG91YmxlKWluZi5mcHNfZGVub21pbmF0b3I7CistICAgICAgICAgICAgICAgIHNoX3YtPmZyYW1ldGltZSA9ICgoZG91YmxlKWluZi5mcHNfZGVub21pbmF0b3IpIC8gKGRvdWJsZSlpbmYuZnBzX251bWVyYXRvcjsKKy0gICAgICAgICAgICAgICAgc2hfdi0+ZGlzcF93ID0gc2hfdi0+YmloLT5iaVdpZHRoICA9IGluZi5mcmFtZV93aWR0aDsKKy0gICAgICAgICAgICAgICAgc2hfdi0+ZGlzcF9oID0gc2hfdi0+YmloLT5iaUhlaWdodCA9IGluZi5mcmFtZV9oZWlnaHQ7CisrICAgICAgICAgICAgICAgIHNoX3YtPmZwcyA9ICgoZG91YmxlKXRpLmZwc19udW1lcmF0b3IpIC8gKGRvdWJsZSl0aS5mcHNfZGVub21pbmF0b3I7CisrICAgICAgICAgICAgICAgIHNoX3YtPmZyYW1ldGltZSA9ICgoZG91YmxlKXRpLmZwc19kZW5vbWluYXRvcikgLyAoZG91YmxlKXRpLmZwc19udW1lcmF0b3I7CisrICAgICAgICAgICAgICAgIHNoX3YtPmlfYnBzICA9IHRpLnRhcmdldF9iaXRyYXRlIC8gODsKKysgICAgICAgICAgICAgICAgc2hfdi0+ZGlzcF93ID0gc2hfdi0+YmloLT5iaVdpZHRoICA9IHRpLmZyYW1lX3dpZHRoOworKyAgICAgICAgICAgICAgICBzaF92LT5kaXNwX2ggPSBzaF92LT5iaWgtPmJpSGVpZ2h0ID0gdGkuZnJhbWVfaGVpZ2h0OworICAgICAgICAgICAgICAgICBzaF92LT5iaWgtPmJpQml0Q291bnQgID0gMjQ7CisgICAgICAgICAgICAgICAgIHNoX3YtPmJpaC0+YmlQbGFuZXMgICAgPSAzOworICAgICAgICAgICAgICAgICBzaF92LT5iaWgtPmJpU2l6ZUltYWdlID0gKChzaF92LT5iaWgtPmJpQml0Q291bnQgLyA4KSAqIHNoX3YtPmJpaC0+YmlXaWR0aCAqIHNoX3YtPmJpaC0+YmlIZWlnaHQpOworICAgICAgICAgICAgICAgICBvZ2dfZC0+c3Vic1tvZ2dfZC0+bnVtX3N1Yl0uc2FtcGxlcmF0ZSAgICAgICAgICAgICAgID0gc2hfdi0+ZnBzOworICAgICAgICAgICAgICAgICBvZ2dfZC0+c3Vic1tvZ2dfZC0+bnVtX3N1Yl0udGhlb3JhICAgICAgICAgICAgICAgICAgID0gMTsKKy0gICAgICAgICAgICAgICAgb2dnX2QtPnN1YnNbb2dnX2QtPm51bV9zdWJdLmtleWZyYW1lX2ZyZXF1ZW5jeV9mb3JjZSA9IGluZi5rZXlmcmFtZV9mcmVxdWVuY3lfZm9yY2U7CisrICAgICAgICAgICAgICAgIG9nZ19kLT5zdWJzW29nZ19kLT5udW1fc3ViXS5rZXlmcmFtZV9ncmFudWxlX3NoaWZ0ICAgPSB0aS5rZXlmcmFtZV9ncmFudWxlX3NoaWZ0OworICAgICAgICAgICAgICAgICBvZ2dfZC0+c3Vic1tvZ2dfZC0+bnVtX3N1Yl0uaWQgICAgICAgICAgICAgICAgICAgICAgID0gbl92aWRlbzsKKyAgICAgICAgICAgICAgICAgbl92aWRlbysrOworICAgICAgICAgICAgICAgICBtcF9tc2coTVNHVF9ERU1VWCwgTVNHTF9JTkZPLAorICAgICAgICAgICAgICAgICAgICAgICAgIltPZ2ddIHN0cmVhbSAlZDogdmlkZW8gKFRoZW9yYSB2JWQuJWQuJWQpLCAtdmlkICVkXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgb2dnX2QtPm51bV9zdWIsCistICAgICAgICAgICAgICAgICAgICAgICAoaW50KWluZi52ZXJzaW9uX21ham9yLAorLSAgICAgICAgICAgICAgICAgICAgICAgKGludClpbmYudmVyc2lvbl9taW5vciwKKy0gICAgICAgICAgICAgICAgICAgICAgIChpbnQpaW5mLnZlcnNpb25fc3VibWlub3IsCisrICAgICAgICAgICAgICAgICAgICAgICAoaW50KXRpLnZlcnNpb25fbWFqb3IsCisrICAgICAgICAgICAgICAgICAgICAgICAoaW50KXRpLnZlcnNpb25fbWlub3IsCisrICAgICAgICAgICAgICAgICAgICAgICAoaW50KXRpLnZlcnNpb25fc3VibWlub3IsCisgICAgICAgICAgICAgICAgICAgICAgICBuX3ZpZGVvIC0gMSk7CisgICAgICAgICAgICAgICAgIGlmIChtcF9tc2dfdGVzdChNU0dUX0hFQURFUiwgTVNHTF9WKSkKKyAgICAgICAgICAgICAgICAgICAgIHByaW50X3ZpZGVvX2hlYWRlcihzaF92LT5iaWgsIE1TR0xfVik7CisgICAgICAgICAgICAgfQorLSAgICAgICAgICAgIHRoZW9yYV9jb21tZW50X2NsZWFyKCZjYyk7CistICAgICAgICAgICAgdGhlb3JhX2luZm9fY2xlYXIoJmluZik7CisrICAgICAgICAgICAgdGhfY29tbWVudF9jbGVhcigmdGMpOworKyAgICAgICAgICAgIHRoX2luZm9fY2xlYXIoJnRpKTsKKysgICAgICAgICAgICB0aF9zZXR1cF9mcmVlKHRzaSk7CisgI2VuZGlmIC8qIENPTkZJR19PR0dUSEVPUkEgKi8KKyAgICAgICAgIH0gZWxzZSBpZiAocGFjay5ieXRlcyA+PSA0ICYmICFzdHJuY21wICgmcGFjay5wYWNrZXRbMF0sICJmTGFDIiwgNCkpIHsKKyAgICAgICAgICAgICBzaF9hID0gbmV3X3NoX2F1ZGlvX2FpZChkZW11eGVyLCBvZ2dfZC0+bnVtX3N1Yiwgbl9hdWRpbyk7CistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbXBsYXllci9tcGxheWVyMl9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL21wbGF5ZXIvbXBsYXllcjJfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0NTQ5N2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL21wbGF5ZXIvbXBsYXllcjJfZ2l0LmJiCkBAIC0wLDAgKzEsMTU5IEBACitTVU1NQVJZID0gIk9wZW4gU291cmNlIG11bHRpbWVkaWEgcGxheWVyIgorU0VDVElPTiA9ICJtdWx0aW1lZGlhIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5tcGxheWVyaHEuaHUvIgorREVQRU5EUyA9ICJsaWJ2cHggbGliZHZkcmVhZCBsaWJ0aGVvcmEgdmlydHVhbC9saWJzZGwgZmZtcGVnIHhzcCB6bGliIFwKKyAgICAgICAgICAgbGlicG5nIGpwZWcgbGliYTUyIGZyZWV0eXBlIGZvbnRjb25maWcgYWxzYS1saWIgbHpvIG5jdXJzZXMgXAorICAgICAgICAgICBsaWJ4diB2aXJ0dWFsL2xpYngxMSBsaWJhc3Mgc3BlZXggZmFhZDIgbGlieHNjcm5zYXZlciIKKworUkRFUEVORFNfJHtQTn0gPSAibXBsYXllci1jb21tb24iCitQUk9WSURFUyA9ICJtcGxheWVyIgorUlBST1ZJREVTXyR7UE59ID0gIm1wbGF5ZXIiCitSQ09ORkxJQ1RTXyR7UE59ID0gIm1wbGF5ZXIiCisKKyMgRGVwZW5kcyBvbiB4c3AsIGxpYnh2LCB2aXJ0dWFsL2xpYngxMSwgbGlieHNjcm5zYXZlcgorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworIyBiZWNhdXNlIGl0IGRlcGVuZHMgb24gbGlicG9zdHByb2MvbGliYXYgd2hpY2ggaGFzIGNvbW1lcmNpYWwgZmxhZworTElDRU5TRV9GTEFHUyA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdwb3N0cHJvYycsICdjb21tZXJjaWFsJywgJycsIGQpfSIKKworTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitTUkNfVVJJID0gImdpdDovL3JlcG8ub3IuY3ovbXBsYXllci5naXQgXAorICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS1kb24tdC1kaXNhYmxlLUFTUy1zdXBwb3J0LXdoZW4tZXhwbGljaXRseS0ucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAxLWRlbXV4X29nZy1wYXJ0aWFsbHktcG9ydC1saWJ0aGVvcmEtZ2x1ZS1jb2RlLXRvLVRoZW8ucGF0Y2ggXAorIgorCitTUkNSRVYgPSAiMmMzNzhjNzFhNGQ5YjFkZjM4MmRiOWFhNzg3YjY0NjYyOGI0ZTNmOSIKKworQVJNX0lOU1RSVUNUSU9OX1NFVCA9ICJhcm0iCisKK1BWID0gIjIuMCtnaXRyJHtTUkNQVn0iCitQUiA9ICJyMTMiCisKK1BBUkFMTEVMX01BS0UgPSAiIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitGSUxFU18ke1BOfSA9ICIke2JpbmRpcn0vbXBsYXllciAke2xpYmRpcn0gL3Vzci9ldGMvbXBsYXllci8iCitDT05GRklMRVNfJHtQTn0gKz0gIi91c3IvZXRjL21wbGF5ZXIvaW5wdXQuY29uZiBcCisgICAgICAgICAgICAgICAgICAgIC91c3IvZXRjL21wbGF5ZXIvZXhhbXBsZS5jb25mIFwKKyAgICAgICAgICAgICAgICAgICAgL3Vzci9ldGMvbXBsYXllci9jb2RlY3MuY29uZiBcCisiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcgcHl0aG9uM25hdGl2ZQorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLXByZWZpeD0vdXNyIFwKKyAgICAtLW1hbmRpcj0ke21hbmRpcn0gXAorICAgIC0tdGFyZ2V0PSR7U0lNUExFX1RBUkdFVF9TWVN9IFwKKyAgICBcCisgICAgLS1kaXNhYmxlLWxpcmMgXAorICAgIC0tZGlzYWJsZS1saXJjYyBcCisgICAgLS1kaXNhYmxlLWpveXN0aWNrIFwKKyAgICAtLWRpc2FibGUtdm0gXAorICAgIC0tZGlzYWJsZS14Zjg2a2V5c3ltIFwKKyAgICAtLWVuYWJsZS10diBcCisgICAgLS1lbmFibGUtdHYtdjRsMiBcCisgICAgLS1kaXNhYmxlLXR2LWJzZGJ0ODQ4IFwKKyAgICAtLWVuYWJsZS1ydGMgXAorICAgIC0tZW5hYmxlLW5ldHdvcmtpbmcgXAorICAgIC0tZGlzYWJsZS1zbWIgXAorICAgIC0tZGlzYWJsZS1kdmRuYXYgXAorICAgIC0tZW5hYmxlLWR2ZHJlYWQgXAorICAgIC0tZGlzYWJsZS1kdmRyZWFkLWludGVybmFsIFwKKyAgICAtLWRpc2FibGUtbGliZHZkY3NzLWludGVybmFsIFwKKyAgICAtLWRpc2FibGUtZW5jYSBcCisgICAgLS1kaXNhYmxlLWZ0cCBcCisgICAgLS1kaXNhYmxlLXZzdHJlYW0gXAorICAgIFwKKyAgICAtLWRpc2FibGUtZ2lmIFwKKyAgICAtLWVuYWJsZS1wbmcgXAorICAgIC0tZW5hYmxlLWpwZWcgXAorICAgIC0tZGlzYWJsZS1saWJjZGlvIFwKKyAgICAtLWRpc2FibGUtcXR4IFwKKyAgICAtLWRpc2FibGUteGFuaW0gXAorICAgIC0tZGlzYWJsZS1yZWFsIFwKKyAgICAtLWRpc2FibGUteHZpZCBcCisgICAgXAorICAgIC0tZW5hYmxlLXNwZWV4IFwKKyAgICAtLWVuYWJsZS10aGVvcmEgXAorICAgIC0tZGlzYWJsZS1sYWRzcGEgXAorICAgIC0tZGlzYWJsZS1saWJkdiBcCisgICAgLS1lbmFibGUtbWFkIFwKKyAgICAtLWRpc2FibGUteG1tcyBcCisgICAgLS1kaXNhYmxlLW11c2VwYWNrIFwKKyAgICBcCisgICAgLS1kaXNhYmxlLWdsIFwKKyAgICAtLWVuYWJsZS1zZGwgXAorICAgIC0tZGlzYWJsZS1jYWNhIFwKKyAgICAtLWRpc2FibGUtZGlyZWN0eCBcCisgICAgLS1kaXNhYmxlLWR2YiBcCisgICAgLS1lbmFibGUteHYgXAorICAgIC0tZGlzYWJsZS12bSBcCisgICAgLS1kaXNhYmxlLXhpbmVyYW1hIFwKKyAgICAtLWVuYWJsZS14MTEgXAorICAgIC0tZGlzYWJsZS1kaXJlY3RmYiBcCisgICAgLS1kaXNhYmxlLXRnYSBcCisgICAgLS1kaXNhYmxlLXBubSBcCisgICAgLS1kaXNhYmxlLW1kNXN1bSBcCisgICAgXAorICAgIC0tZW5hYmxlLWFsc2EgXAorICAgIC0tZW5hYmxlLW9zc2F1ZGlvIFwKKyAgICAtLWRpc2FibGUtcHVsc2UgXAorICAgIC0tZGlzYWJsZS1qYWNrIFwKKyAgICAtLWRpc2FibGUtb3BlbmFsIFwKKyAgICAtLWVuYWJsZS1zZWxlY3QgXAorICAgIC0tZW5hYmxlLWxpYmFzcyBcCisgICAgXAorICAgIC0tZXh0cmEtbGlicz0nIC1sWGV4dCAtbFgxMSAtbHZvcmJpcyAtbHRoZW9yYWRlYyAtbGFzb3VuZCAnIFwKKyIKKyMgLWx0aGVvcmFkZWMgaXMgbWlzc2luZyBpbjoKKyMgbGlibXBjb2RlY3MvdmRfdGhlb3JhLm86IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gc3ltYm9sICd0aGVvcmFfZGVjb2RlX2luaXRAQGxpYnRoZW9yYS5zby4xLjAnCisKK0VYVFJBX09FQ09ORl9hcHBlbmRfYXJtdjYgPSAiIC0tZW5hYmxlLWFybXY2IgorRVhUUkFfT0VDT05GX2FwcGVuZF9hcm12N2EgPSAiIC0tZW5hYmxlLWFybXY2IC0tZW5hYmxlLW5lb24iCisKK1BBQ0tBR0VDT05GSUcgPz89ICJ2b3JiaXMgcG9zdHByb2MiCitQQUNLQUdFQ09ORklHW21hZF0gPSAiLS1lbmFibGUtbWFkLC0tZGlzYWJsZS1tYWQsbGlibWFkIgorUEFDS0FHRUNPTkZJR1thNTJdID0gIi0tZW5hYmxlLWxpYmE1MiwtLWRpc2FibGUtbGliYTUyLGxpYmE1MiIKK1BBQ0tBR0VDT05GSUdbbGFtZV0gPSAiLCxsYW1lIgorUEFDS0FHRUNPTkZJR1twb3N0cHJvY10gPSAiLC0tZGlzYWJsZS1saWJwb3N0cHJvYyxsaWJwb3N0cHJvYyIKK1BBQ0tBR0VDT05GSUdbdm9yYmlzXSA9ICIsLS1kaXNhYmxlLWxpYnZvcmJpcyxsaWJ2b3JiaXMiCitQQUNLQUdFQ09ORklHW3BvcnRhdWRpb10gPSAiLC0tZGlzYWJsZS1wb3J0YXVkaW8scG9ydGF1ZGlvLXYxOSIKK1BBQ0tBR0VDT05GSUdbbXBnMTIzXSA9ICIsLS1kaXNhYmxlLW1wZzEyMyxtcGcxMjMiCitQQUNLQUdFQ09ORklHW2RpcmVjdGZiXSA9ICItLWVuYWJsZS1kaXJlY3RmYiwtLWRpc2FibGUtZGlyZWN0ZmIsZGlyZWN0ZmIiCisKK0ZVTExfT1BUSU1JWkFUSU9OID0gIi1mZXhwZW5zaXZlLW9wdGltaXphdGlvbnMgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLWZyZW5hbWUtcmVnaXN0ZXJzIC1PNCAtZmZhc3QtbWF0aCIKK0JVSUxEX09QVElNSVpBVElPTiA9ICIke0ZVTExfT1BUSU1JWkFUSU9OfSIKKworQ0ZMQUdTX2FwcGVuZCA9ICIgLUkke1N9L2xpYmR2ZHJlYWQ0ICIKKworZG9fY29uZmlndXJlKCkgeworICAgIHNlZCAtaSAnc3wvdXNyL2luY2x1ZGV8JHtTVEFHSU5HX0lOQ0RJUn18ZycgJHtTfS9jb25maWd1cmUKKyAgICBzZWQgLWkgJ3N8L3Vzci9saWJ8JHtTVEFHSU5HX0xJQkRJUn18ZycgJHtTfS9jb25maWd1cmUKKyAgICBzZWQgLWkgJ3N8L3Vzci9cUyppbmNsdWRlW1x3L10qfHxnJyAke1N9L2NvbmZpZ3VyZQorICAgIHNlZCAtaSAnc3wvdXNyL1xTKmxpYltcdy9dKnx8ZycgJHtTfS9jb25maWd1cmUKKyAgICBzZWQgLWkgJ3N8X2luc3RhbGxfc3RyaXA9Ii1zInxfaW5zdGFsbF9zdHJpcD0iInxnJyAke1N9L2NvbmZpZ3VyZQorICAgIHNlZCAtaSAnc3xIT1NUX0NDfEJVSUxEX0NDfCcgJHtTfS9NYWtlZmlsZQorICAgIHNlZCAtaSAnc3xleHRyYV9jZmxhZ3M9Ii1JLiAkZXh0cmFfY2ZsYWdzInxleHRyYV9jZmxhZ3M9Ii1JLiAtSSR7U1RBR0lOR19JTkNESVJ9L2RpcmVjdGZiICRleHRyYV9jZmxhZ3MifGcnICR7U30vY29uZmlndXJlCisgICAgZXhwb3J0IFNJTVBMRV9UQVJHRVRfU1lTPSIkKGVjaG8gJHtUQVJHRVRfU1lTfSB8IHNlZCBzOiR7VEFSR0VUX1ZFTkRPUn06OmcpIgorICAgIC4vY29uZmlndXJlICR7RVhUUkFfT0VDT05GfQorICAgIAorfQorCitkb19jb21waWxlICgpIHsKKyAgICBvZV9ydW5tYWtlCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsLW5vLW1hbgorICAgIGluc3RhbGwgLWQgJHtEfS91c3IvZXRjL21wbGF5ZXIKKyAgICBpbnN0YWxsICR7U30vZXRjL2lucHV0LmNvbmYgJHtEfS91c3IvZXRjL21wbGF5ZXIvCisgICAgaW5zdGFsbCAke1N9L2V0Yy9leGFtcGxlLmNvbmYgJHtEfS91c3IvZXRjL21wbGF5ZXIvCisgICAgaW5zdGFsbCAke1N9L2V0Yy9jb2RlY3MuY29uZiAke0R9L3Vzci9ldGMvbXBsYXllci8KKyAgICBbIC1lICR7RH0vdXNyL2xpYiBdICYmIHJtZGlyICR7RH0vdXNyL2xpYgorfQorCisjIGh0dHA6Ly9lcnJvcnMueW9jdG9wcm9qZWN0Lm9yZy9FcnJvcnMvRGV0YWlscy80MDczNC8KK1BOQkxBQ0tMSVNUW21wbGF5ZXIyXSA/PSAiTm90IGNvbXBhdGlibGUgd2l0aCBjdXJyZW50bHkgdXNlZCBmZm1wZWcgMyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvb3B1cy10b29scy9vcHVzLXRvb2xzXzAuMS44LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9vcHVzLXRvb2xzL29wdXMtdG9vbHNfMC4xLjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmY2MzExMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvb3B1cy10b29scy9vcHVzLXRvb2xzXzAuMS44LmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiT3B1cyBBdWRpbyBUb29scyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cub3B1cy1jb2RlYy5vcmcvIgorCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTg0M2EwNjZkYTlmMWZhY2ZjYzZlYTZmNjE2ZmZlY2IxIgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZHMueGlwaC5vcmcvcmVsZWFzZXMvb3B1cy9vcHVzLXRvb2xzLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJiNDI0NzkwZWRhOTM1N2E0ZGYzOTRlMmQ3Y2ExOWVhYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlNGUxODg1NzllYTFjNGU0ZDUwNjY0NjBkNGE3MjE0YTdlYWZlMzUzOWU5YTQ0NjZmZGM5OGFmNDFiYTRhMmY2IgorCitTID0gIiR7V09SS0RJUn0vb3B1cy10b29scy0ke1BWfSIKKworREVQRU5EUyA9ICJsaWJvcHVzIGZsYWMiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9wdWxzZWF1ZGlvL3BhdnVjb250cm9sXzMuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvcHVsc2VhdWRpby9wYXZ1Y29udHJvbF8zLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQyMjdiNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvcHVsc2VhdWRpby9wYXZ1Y29udHJvbF8zLjAuYmIKQEAgLTAsMCArMSwxMyBAQAorREVTQ1JJUFRJT04gPSAiUHVsc2VBdWRpbyBWb2x1bWUgQ29udHJvbCAocGF2dWNvbnRyb2wpIGlzIGEgc2ltcGxlIEdUSyBiYXNlZCB2b2x1bWUgY29udHJvbCB0b29sICgibWl4ZXIiKSBmb3IgdGhlIFB1bHNlQXVkaW8gc291bmQgc2VydmVyLiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKKworREVQRU5EUyA9ICJpbnRsdG9vbCBndGttbSBsaWJjYW5iZXJyYSBwdWxzZWF1ZGlvIgorCitpbmhlcml0IGdub21lCisKK1NSQ19VUkkgPSAiaHR0cDovL2ZyZWVkZXNrdG9wLm9yZy9zb2Z0d2FyZS9wdWxzZWF1ZGlvLyR7QlBOfS8ke0JQfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiMTc2MzA4ZDJjMDNmOGYzYTdiMmJkNGY0ZDI4NGZlNzEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjNkMmVhNWEyNWZjODhkY2VlODBjMzk2MDE0ZjcyZGYxYjQ3NDJmOGNmYmJjNTM0OWMzOWQ2NGEwZDMzODg5MCIKKworRVhUUkFfT0VDT05GID0gIiAtLWRpc2FibGUtZ3RrMyAtLWRpc2FibGUtbHlueCAiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3NvdW5kLXRoZW1lcy9zb3VuZC10aGVtZS1mcmVlZGVza3RvcF8wLjguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3NvdW5kLXRoZW1lcy9zb3VuZC10aGVtZS1mcmVlZGVza3RvcF8wLjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDk4YjA4ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvc291bmQtdGhlbWVzL3NvdW5kLXRoZW1lLWZyZWVkZXNrdG9wXzAuOC5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIkZyZWVkZXNrdG9wIHNvdW5kIHRoZW1lIgorSE9NRVBBR0UgPSAiaHR0cDovL2ZyZWVkZXNrdG9wLm9yZy93aWtpL1NwZWNpZmljYXRpb25zL3NvdW5kLXRoZW1lLXNwZWMiCitMSUNFTlNFID0gIkdQTHYyKyAmIENDLUJZLTMuMCAmIENDLUJZLVNBLTMuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NSRURJVFM7bWQ1PTMyMTNlNjAxY2UzNGJiNDJkZGMzNDk4OTAzYWM0ZTY5IgorCisjIGdsaWItMi4wIGZvciBnbGliLWdldHRleHQubTQgd2hpY2ggcHJvdmlkZXMgQU1fR0xJQl9HTlVfR0VUVEVYVAorIyBpbnRsdG9vbCBmb3IgaW50bHRvb2wubTQgd2hpY2ggcHJvdmlkZXMgSVRfUFJPR19JTlRMVE9PTAorREVQRU5EUyA9ICJnbGliLTIuMCBpbnRsdG9vbC1uYXRpdmUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQKKworREVQRU5EUyArPSAiZ2xpYi0yLjAtbmF0aXZlIGludGx0b29sLW5hdGl2ZSIKKworU1JDX1VSSSA9ICJodHRwOi8vcGVvcGxlLmZyZWVkZXNrdG9wLm9yZy9+bWNjYW5uL2Rpc3QvJHtCUE59LSR7UFZ9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiZDczODc5MTJjZmQyNzUyODJkMWVjOTQ0ODNjYjJmNjIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiY2I1MThiMjBlZWYwNWVjMmU4MmRkYTFmYTg5YTI5MmMxNzYwZGMwMjNhYmE5MWI4YWE2OWJhZmFjODVlOGExNCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvdjRsMmFwcHMvdjRsLXV0aWxzLzAwMDEtUmV2ZXJ0LW1lZGlhLWN0bC1Eb24tdC1pbnN0YWxsLWxpYm1lZGlhY3RsLWFuZC1saWJ2NC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvdjRsMmFwcHMvdjRsLXV0aWxzLzAwMDEtUmV2ZXJ0LW1lZGlhLWN0bC1Eb24tdC1pbnN0YWxsLWxpYm1lZGlhY3RsLWFuZC1saWJ2NC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YjNkZTNjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS92NGwyYXBwcy92NGwtdXRpbHMvMDAwMS1SZXZlcnQtbWVkaWEtY3RsLURvbi10LWluc3RhbGwtbGlibWVkaWFjdGwtYW5kLWxpYnY0LnBhdGNoCkBAIC0wLDAgKzEsNDEgQEAKK0Zyb20gNGVlMTVhOGE2OWI4NDUyNmVjZTExODBhMjg4YTM3ZGIwNzdiY2Q5YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI3IEZlYiAyMDE1IDIxOjU1OjM2ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIFJldmVydCAibWVkaWEtY3RsOiBEb24ndCBpbnN0YWxsIGxpYm1lZGlhY3RsIGFuZAorIGxpYnY0bDJzdWJkZXYiCisKK1RoaXMgcmV2ZXJ0cyBjb21taXQgMDkxMWRjZTUzYjA4YjBkZjMwNjZiZTJjNzVmNjdlOGEzMTRkODcyOS4KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworQ29uZmxpY3RzOgorCXV0aWxzL21lZGlhLWN0bC9NYWtlZmlsZS5hbQorLS0tCisgdXRpbHMvbWVkaWEtY3RsL01ha2VmaWxlLmFtIHwgMTEgKysrLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdXRpbHMvbWVkaWEtY3RsL01ha2VmaWxlLmFtIGIvdXRpbHMvbWVkaWEtY3RsL01ha2VmaWxlLmFtCitpbmRleCBhMzkzMWZiLi5mZTFmZWE1IDEwMDY0NAorLS0tIGEvdXRpbHMvbWVkaWEtY3RsL01ha2VmaWxlLmFtCisrKysgYi91dGlscy9tZWRpYS1jdGwvTWFrZWZpbGUuYW0KK0BAIC0xLDE0ICsxLDkgQEAKKy1ub2luc3RfTFRMSUJSQVJJRVMgPSBsaWJtZWRpYWN0bC5sYSBsaWJ2NGwyc3ViZGV2LmxhCistCisrbGliX0xUTElCUkFSSUVTID0gbGlibWVkaWFjdGwubGEgbGlidjRsMnN1YmRldi5sYQorIGxpYm1lZGlhY3RsX2xhX1NPVVJDRVMgPSBsaWJtZWRpYWN0bC5jIG1lZGlhY3RsLXByaXYuaAorLWxpYm1lZGlhY3RsX2xhX0NGTEFHUyA9IC1zdGF0aWMgJChMSUJVREVWX0NGTEFHUykKKy1saWJtZWRpYWN0bF9sYV9MREZMQUdTID0gLXN0YXRpYyAkKExJQlVERVZfTElCUykKKy0KKytsaWJtZWRpYWN0bF9sYV9DRkxBR1MgPSAkKExJQlVERVZfQ0ZMQUdTKQorK2xpYm1lZGlhY3RsX2xhX0xERkxBR1MgPSAkKExJQlVERVZfTElCUykKKyBsaWJ2NGwyc3ViZGV2X2xhX1NPVVJDRVMgPSBsaWJ2NGwyc3ViZGV2LmMKKyBsaWJ2NGwyc3ViZGV2X2xhX0xJQkFERCA9IGxpYm1lZGlhY3RsLmxhCistbGlidjRsMnN1YmRldl9sYV9DRkxBR1MgPSAtc3RhdGljCistbGlidjRsMnN1YmRldl9sYV9MREZMQUdTID0gLXN0YXRpYworLQorIG1lZGlhY3RsX2luY2x1ZGVkaXI9JChpbmNsdWRlZGlyKS9tZWRpYWN0bAorIG5vaW5zdF9IRUFERVJTID0gbWVkaWFjdGwuaCB2NGwyc3ViZGV2LmgKKyAKKy0tIAorMi4xLjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS92NGwyYXBwcy92NGwtdXRpbHMvZXhwb3J0LW1lZGlhY3RsLWhlYWRlcnMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3Y0bDJhcHBzL3Y0bC11dGlscy9leHBvcnQtbWVkaWFjdGwtaGVhZGVycy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjEwZTdlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS92NGwyYXBwcy92NGwtdXRpbHMvZXhwb3J0LW1lZGlhY3RsLWhlYWRlcnMucGF0Y2gKQEAgLTAsMCArMSwxNSBAQAorSW5kZXg6IHY0bC11dGlscy0xLjYuMi91dGlscy9tZWRpYS1jdGwvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB2NGwtdXRpbHMtMS42LjIub3JpZy91dGlscy9tZWRpYS1jdGwvTWFrZWZpbGUuYW0KKysrKyB2NGwtdXRpbHMtMS42LjIvdXRpbHMvbWVkaWEtY3RsL01ha2VmaWxlLmFtCitAQCAtNCw4ICs0LDggQEAgbGlibWVkaWFjdGxfbGFfQ0ZMQUdTID0gJChMSUJVREVWX0NGTEFHUworIGxpYm1lZGlhY3RsX2xhX0xERkxBR1MgPSAkKExJQlVERVZfTElCUykKKyBsaWJ2NGwyc3ViZGV2X2xhX1NPVVJDRVMgPSBsaWJ2NGwyc3ViZGV2LmMKKyBsaWJ2NGwyc3ViZGV2X2xhX0xJQkFERCA9IGxpYm1lZGlhY3RsLmxhCistbWVkaWFjdGxfaW5jbHVkZWRpcj0kKGluY2x1ZGVkaXIpL21lZGlhY3RsCistbm9pbnN0X0hFQURFUlMgPSBtZWRpYWN0bC5oIHY0bDJzdWJkZXYuaAorK290aGVyaW5jbHVkZWRpciA9ICQoaW5jbHVkZWRpcikvbWVkaWFjdGwKKytvdGhlcmluY2x1ZGVfSEVBREVSUyA9IG1lZGlhY3RsLmggdjRsMnN1YmRldi5oCisgCisgcGtnY29uZmlnX0RBVEEgPSBsaWJtZWRpYWN0bC5wYworIGJpbl9QUk9HUkFNUyA9IG1lZGlhLWN0bApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS92NGwyYXBwcy92NGwtdXRpbHMvbWVkaWFjdGwtcGtnY29uZmlnLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS92NGwyYXBwcy92NGwtdXRpbHMvbWVkaWFjdGwtcGtnY29uZmlnLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0ZmIzY2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3Y0bDJhcHBzL3Y0bC11dGlscy9tZWRpYWN0bC1wa2djb25maWcucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorSW5kZXg6IHY0bC11dGlscy0xLjYuMi91dGlscy9tZWRpYS1jdGwvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB2NGwtdXRpbHMtMS42LjIub3JpZy91dGlscy9tZWRpYS1jdGwvTWFrZWZpbGUuYW0KKysrKyB2NGwtdXRpbHMtMS42LjIvdXRpbHMvbWVkaWEtY3RsL01ha2VmaWxlLmFtCitAQCAtNyw2ICs3LDcgQEAgbGlidjRsMnN1YmRldl9sYV9MSUJBREQgPSBsaWJtZWRpYWN0bC5sYQorIG1lZGlhY3RsX2luY2x1ZGVkaXI9JChpbmNsdWRlZGlyKS9tZWRpYWN0bAorIG5vaW5zdF9IRUFERVJTID0gbWVkaWFjdGwuaCB2NGwyc3ViZGV2LmgKKyAKKytwa2djb25maWdfREFUQSA9IGxpYm1lZGlhY3RsLnBjCisgYmluX1BST0dSQU1TID0gbWVkaWEtY3RsCisgbWVkaWFfY3RsX1NPVVJDRVMgPSBtZWRpYS1jdGwuYyBvcHRpb25zLmMgb3B0aW9ucy5oIHRvb2xzLmgKKyBtZWRpYV9jdGxfTERBREQgPSBsaWJtZWRpYWN0bC5sYSBsaWJ2NGwyc3ViZGV2LmxhCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3Y0bDJhcHBzL3Y0bC11dGlsc18xLjYuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvdjRsMmFwcHMvdjRsLXV0aWxzXzEuNi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1YTQyYTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3Y0bDJhcHBzL3Y0bC11dGlsc18xLjYuMi5iYgpAQCAtMCwwICsxLDQ1IEBACitTVU1NQVJZID0gInY0bDIgYW5kIElSIGFwcGxpY2F0aW9ucyIKK0xJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTQ4ZGE5OTU3ODQ5MDU2MDE3ZGM1NjhiYmM0M2Q4OTc1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcubGlidjRsO21kNT1kNzQ5ZTg2YTEwNTI4MWQ3YTQ0YzIzMjhhY2ViYzRiMCIKK1BST1ZJREVTID0gImxpYnY0bCBtZWRpYS1jdGwiCisKK0RFUEVORFMgPSAianBlZyBcCisgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3ZpcnR1YWwvbGlieDExJywgJycsIGQpfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcKKworUEFDS0FHRUNPTkZJRyA/Pz0gIm1lZGlhLWN0bCIKK1BBQ0tBR0VDT05GSUdbbWVkaWEtY3RsXSA9ICItLWVuYWJsZS12NGwtdXRpbHMsLS1kaXNhYmxlLXY0bC11dGlscywsIgorCitTUkNfVVJJID0gImh0dHA6Ly9saW51eHR2Lm9yZy9kb3dubG9hZHMvdjRsLXV0aWxzL3Y0bC11dGlscy0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtUmV2ZXJ0LW1lZGlhLWN0bC1Eb24tdC1pbnN0YWxsLWxpYm1lZGlhY3RsLWFuZC1saWJ2NC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9tZWRpYWN0bC1wa2djb25maWcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZXhwb3J0LW1lZGlhY3RsLWhlYWRlcnMucGF0Y2ggXAorICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5Y2IzYzE3OGY5Mzc5NTRlNjViZjMwOTIwYWY0MzNlZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkM2Q2ZWIxZjAyMDRmYjExZjNkMzE4YmZjYTM1ZDVmNzNjYzA3N2Y4OGZhYzc2NjVhNDc4NTZhMTY0OTZiZTdkIgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXF2NGwyIC0tZW5hYmxlLXNoYXJlZCAtLXdpdGgtdWRldmRpcj0ke2Jhc2VfbGliZGlyfS91ZGV2IgorCitWSVJUVUFMLVJVTlRJTUVfaXIta2V5dGFibGUta2V5bWFwcyA/PSAicmMta2V5bWFwcyIKKworUEFDS0FHRVMgPSsgIm1lZGlhLWN0bCBpci1rZXl0YWJsZSByYy1rZXltYXBzIGxpYnY0bCBsaWJ2NGwtZGJnIGxpYnY0bC1kZXYiCisKK0ZJTEVTX21lZGlhLWN0bCA9ICIke2JpbmRpcn0vbWVkaWEtY3RsICR7bGliZGlyfS9saWJtZWRpYWN0bC5zby4qIgorCitGSUxFU19pci1rZXl0YWJsZSA9ICIke2JpbmRpcn0vaXIta2V5dGFibGUgJHtiYXNlX2xpYmRpcn0vdWRldi9ydWxlcy5kLyotaW5mcmFyZWQucnVsZXMiCitSREVQRU5EU19pci1rZXl0YWJsZSArPSAiJHtWSVJUVUFMLVJVTlRJTUVfaXIta2V5dGFibGUta2V5bWFwc30iCisKK0ZJTEVTX3JjLWtleW1hcHMgPSAiJHtzeXNjb25mZGlyfS9yYyogJHtiYXNlX2xpYmRpcn0vdWRldi9yYyoiCisKK0ZJTEVTXyR7UE59ID0gIiR7YmluZGlyfSAke3NiaW5kaXJ9IgorCitGSUxFU19saWJ2NGwgKz0gIiR7bGliZGlyfS9saWJ2NGwqJHtTT0xJQlN9ICR7bGliZGlyfS9saWJ2NGwvKi5zbyAke2xpYmRpcn0vbGlidjRsL3BsdWdpbnMvKi5zbyBcCisgICAgICAgICAgICAgICAgICR7bGliZGlyfS9saWJkdmJ2NSoke1NPTElCU30gXAorICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlidjRsLyotZGVjb21wIgorCitGSUxFU19saWJ2NGwtZGJnICs9ICIke2xpYmRpcn0vbGlidjRsLy5kZWJ1ZyAke2xpYmRpcn0vbGlidjRsL3BsdWdpbnMvLmRlYnVnIgorRklMRVNfbGlidjRsLWRldiArPSAiJHtpbmNsdWRlZGlyfSAke2xpYmRpcn0vcGtnY29uZmlnIFwKKyAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9saWJ2NGwqJHtTT0xJQlNERVZ9ICR7bGliZGlyfS8qLmxhIFwKKyAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS92NGwqJHtTT0xJQlNERVZ9ICR7bGliZGlyfS9saWJ2NGwvKi5sYSAke2xpYmRpcn0vbGlidjRsL3BsdWdpbnMvKi5sYSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvdjRsMmFwcHMveWF2dGEvMDAwMS1BZGQtc3Rkb3V0LW1vZGUtdG8tYWxsb3ctc3RyZWFtaW5nLW92ZXItdGhlLW5ldHdvcmstLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS92NGwyYXBwcy95YXZ0YS8wMDAxLUFkZC1zdGRvdXQtbW9kZS10by1hbGxvdy1zdHJlYW1pbmctb3Zlci10aGUtbmV0d29yay0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDFhNWRiZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvdjRsMmFwcHMveWF2dGEvMDAwMS1BZGQtc3Rkb3V0LW1vZGUtdG8tYWxsb3ctc3RyZWFtaW5nLW92ZXItdGhlLW5ldHdvcmstLnBhdGNoCkBAIC0wLDAgKzEsOTYxIEBACitGcm9tIDE0MWQzYjM1OTM3MjJlYjNkNTg4ZTdjNGIxNTQyZjgxMGJjMjU4NTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorRGF0ZTogVGh1LCA1IEp1biAyMDE0IDExOjI5OjIwIC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBzdGRvdXQgbW9kZSB0byBhbGxvdyBzdHJlYW1pbmcgb3ZlciB0aGUgbmV0d29yayB3aXRoIG5jCisKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitTaWduZWQtb2ZmLWJ5OiBDaGFzZSBNYXVwaW4gPENoYXNlLk1hdXBpbkB0aS5jb20+CistLS0KKyB5YXZ0YS5jIHwgIDMxNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTY5IGluc2VydGlvbnMoKyksIDE0NiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3lhdnRhLmMgYi95YXZ0YS5jCitpbmRleCAzMmFkYzI2Li5iMzk4ZGEwIDEwMDY0NAorLS0tIGEveWF2dGEuYworKysrIGIveWF2dGEuYworQEAgLTMwOSw3ICszMDksNyBAQCBzdGF0aWMgYm9vbCB2aWRlb19oYXNfZmQoc3RydWN0IGRldmljZSAqZGV2KQorIHN0YXRpYyBpbnQgdmlkZW9fc2V0X2ZkKHN0cnVjdCBkZXZpY2UgKmRldiwgaW50IGZkKQorIHsKKyAJaWYgKHZpZGVvX2hhc19mZChkZXYpKSB7CistCQlwcmludGYoIkNhbid0IHNldCBmZCAoYWxyZWFkeSBvcGVuKS5cbiIpOworKwkJZnByaW50ZihzdGRlcnIsICJDYW4ndCBzZXQgZmQgKGFscmVhZHkgb3BlbikuXG4iKTsKKyAJCXJldHVybiAtMTsKKyAJfQorIAorQEAgLTMyMSwxOCArMzIxLDE4IEBAIHN0YXRpYyBpbnQgdmlkZW9fc2V0X2ZkKHN0cnVjdCBkZXZpY2UgKmRldiwgaW50IGZkKQorIHN0YXRpYyBpbnQgdmlkZW9fb3BlbihzdHJ1Y3QgZGV2aWNlICpkZXYsIGNvbnN0IGNoYXIgKmRldm5hbWUpCisgeworIAlpZiAodmlkZW9faGFzX2ZkKGRldikpIHsKKy0JCXByaW50ZigiQ2FuJ3Qgb3BlbiBkZXZpY2UgKGFscmVhZHkgb3BlbikuXG4iKTsKKysJCWZwcmludGYoc3RkZXJyLCAiQ2FuJ3Qgb3BlbiBkZXZpY2UgKGFscmVhZHkgb3BlbikuXG4iKTsKKyAJCXJldHVybiAtMTsKKyAJfQorIAorIAlkZXYtPmZkID0gb3BlbihkZXZuYW1lLCBPX1JEV1IpOworIAlpZiAoZGV2LT5mZCA8IDApIHsKKy0JCXByaW50ZigiRXJyb3Igb3BlbmluZyBkZXZpY2UgJXM6ICVzICglZCkuXG4iLCBkZXZuYW1lLAorKwkJZnByaW50ZihzdGRlcnIsICJFcnJvciBvcGVuaW5nIGRldmljZSAlczogJXMgKCVkKS5cbiIsIGRldm5hbWUsCisgCQkgICAgICAgc3RyZXJyb3IoZXJybm8pLCBlcnJubyk7CisgCQlyZXR1cm4gZGV2LT5mZDsKKyAJfQorIAorLQlwcmludGYoIkRldmljZSAlcyBvcGVuZWQuXG4iLCBkZXZuYW1lKTsKKysJZnByaW50ZihzdGRlcnIsICJEZXZpY2UgJXMgb3BlbmVkLlxuIiwgZGV2bmFtZSk7CisgCisgCWRldi0+b3BlbmVkID0gMTsKKyAKK0BAIC0zNTIsNyArMzUyLDcgQEAgc3RhdGljIGludCB2aWRlb19xdWVyeWNhcChzdHJ1Y3QgZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCAqY2FwYWJpbGl0aWVzKQorIAkqY2FwYWJpbGl0aWVzID0gY2FwLmNhcGFiaWxpdGllcyAmIFY0TDJfQ0FQX0RFVklDRV9DQVBTCisgCQkgICAgID8gY2FwLmRldmljZV9jYXBzIDogY2FwLmNhcGFiaWxpdGllczsKKyAKKy0JcHJpbnRmKCJEZXZpY2UgYCVzJyBvbiBgJXMnIGlzIGEgdmlkZW8gJXMgKCVzIG1wbGFuZXMpIGRldmljZS5cbiIsCisrCWZwcmludGYoc3RkZXJyLCAiRGV2aWNlIGAlcycgb24gYCVzJyBpcyBhIHZpZGVvICVzICglcyBtcGxhbmVzKSBkZXZpY2UuXG4iLAorIAkJY2FwLmNhcmQsIGNhcC5idXNfaW5mbywKKyAJCXZpZGVvX2lzX2NhcHR1cmUoZGV2KSA/ICJjYXB0dXJlIiA6ICJvdXRwdXQiLAorIAkJdmlkZW9faXNfbXBsYW5lKGRldikgPyAid2l0aCIgOiAid2l0aG91dCIpOworQEAgLTM3MCw3ICszNzAsNyBAQCBzdGF0aWMgaW50IGNhcF9nZXRfYnVmX3R5cGUodW5zaWduZWQgaW50IGNhcGFiaWxpdGllcykKKyAJfSBlbHNlIGlmIChjYXBhYmlsaXRpZXMgJiBWNEwyX0NBUF9WSURFT19PVVRQVVQpIHsKKyAJCXJldHVybiBWNEwyX0JVRl9UWVBFX1ZJREVPX09VVFBVVDsKKyAJfSBlbHNlIHsKKy0JCXByaW50ZigiRGV2aWNlIHN1cHBvcnRzIG5laXRoZXIgY2FwdHVyZSBub3Igb3V0cHV0LlxuIik7CisrCQlmcHJpbnRmKHN0ZGVyciwgIkRldmljZSBzdXBwb3J0cyBuZWl0aGVyIGNhcHR1cmUgbm9yIG91dHB1dC5cbiIpOworIAkJcmV0dXJuIC1FSU5WQUw7CisgCX0KKyAKK0BAIC00NDAsNyArNDQwLDcgQEAgc3RhdGljIGludCBnZXRfY29udHJvbChzdHJ1Y3QgZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBpZCwgaW50IHR5cGUsCisgCQl9CisgCX0KKyAKKy0JcHJpbnRmKCJ1bmFibGUgdG8gZ2V0IGNvbnRyb2wgMHglOC44eDogJXMgKCVkKS5cbiIsCisrCWZwcmludGYoc3RkZXJyLCAidW5hYmxlIHRvIGdldCBjb250cm9sIDB4JTguOHg6ICVzICglZCkuXG4iLAorIAkJaWQsIHN0cmVycm9yKGVycm5vKSwgZXJybm8pOworIAlyZXR1cm4gLTE7CisgfQorQEAgLTQ4NCwxMiArNDg0LDEyIEBAIHN0YXRpYyB2b2lkIHNldF9jb250cm9sKHN0cnVjdCBkZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IGlkLCBpbnQgdHlwZSwKKyAJCQl2YWwgPSBvbGQudmFsdWU7CisgCX0KKyAJaWYgKHJldCA9PSAtMSkgeworLQkJcHJpbnRmKCJ1bmFibGUgdG8gc2V0IGNvbnRyb2wgMHglOC44eDogJXMgKCVkKS5cbiIsCisrCQlmcHJpbnRmKHN0ZGVyciwgInVuYWJsZSB0byBzZXQgY29udHJvbCAweCU4Ljh4OiAlcyAoJWQpLlxuIiwKKyAJCQlpZCwgc3RyZXJyb3IoZXJybm8pLCBlcnJubyk7CisgCQlyZXR1cm47CisgCX0KKyAKKy0JcHJpbnRmKCJDb250cm9sIDB4JTA4eCBzZXQgdG8gJSIgUFJJZDY0ICIsIGlzICUiIFBSSWQ2NCAiXG4iLAorKwlmcHJpbnRmKHN0ZGVyciwgIkNvbnRyb2wgMHglMDh4IHNldCB0byAlIiBQUklkNjQgIiwgaXMgJSIgUFJJZDY0ICJcbiIsCisgCSAgICAgICBpZCwgb2xkX3ZhbCwgdmFsKTsKKyB9CisgCitAQCAtNTA0LDcgKzUwNCw3IEBAIHN0YXRpYyBpbnQgdmlkZW9fZ2V0X2Zvcm1hdChzdHJ1Y3QgZGV2aWNlICpkZXYpCisgCisgCXJldCA9IGlvY3RsKGRldi0+ZmQsIFZJRElPQ19HX0ZNVCwgJmZtdCk7CisgCWlmIChyZXQgPCAwKSB7CistCQlwcmludGYoIlVuYWJsZSB0byBnZXQgZm9ybWF0OiAlcyAoJWQpLlxuIiwgc3RyZXJyb3IoZXJybm8pLAorKwkJZnByaW50ZihzdGRlcnIsICJVbmFibGUgdG8gZ2V0IGZvcm1hdDogJXMgKCVkKS5cbiIsIHN0cmVycm9yKGVycm5vKSwKKyAJCQllcnJubyk7CisgCQlyZXR1cm4gcmV0OworIAl9CitAQCAtNTE0LDcgKzUxNCw3IEBAIHN0YXRpYyBpbnQgdmlkZW9fZ2V0X2Zvcm1hdChzdHJ1Y3QgZGV2aWNlICpkZXYpCisgCQlkZXYtPmhlaWdodCA9IGZtdC5mbXQucGl4X21wLmhlaWdodDsKKyAJCWRldi0+bnVtX3BsYW5lcyA9IGZtdC5mbXQucGl4X21wLm51bV9wbGFuZXM7CisgCistCQlwcmludGYoIlZpZGVvIGZvcm1hdDogJXMgKCUwOHgpICV1eCV1IGZpZWxkICVzLCAldSBwbGFuZXM6IFxuIiwKKysJICAgIGZwcmludGYoc3RkZXJyLCAiVmlkZW8gZm9ybWF0OiAlcyAoJTA4eCkgJXV4JXUgZmllbGQgJXMsICV1IHBsYW5lczogXG4iLAorIAkJCXY0bDJfZm9ybWF0X25hbWUoZm10LmZtdC5waXhfbXAucGl4ZWxmb3JtYXQpLCBmbXQuZm10LnBpeF9tcC5waXhlbGZvcm1hdCwKKyAJCQlmbXQuZm10LnBpeF9tcC53aWR0aCwgZm10LmZtdC5waXhfbXAuaGVpZ2h0LAorIAkJCXY0bDJfZmllbGRfbmFtZShmbXQuZm10LnBpeF9tcC5maWVsZCksCitAQCAtNTI3LDcgKzUyNyw3IEBAIHN0YXRpYyBpbnQgdmlkZW9fZ2V0X2Zvcm1hdChzdHJ1Y3QgZGV2aWNlICpkZXYpCisgCQkJCQlmbXQuZm10LnBpeF9tcC5wbGFuZV9mbXRbaV0uYnl0ZXNwZXJsaW5lID8KKyAJCQkJCQlmbXQuZm10LnBpeF9tcC5wbGFuZV9mbXRbaV0uc2l6ZWltYWdlIDogMDsKKyAKKy0JCQlwcmludGYoIiAqIFN0cmlkZSAldSwgYnVmZmVyIHNpemUgJXVcbiIsCisrCQkJZnByaW50ZihzdGRlcnIsICIgKiBTdHJpZGUgJXUsIGJ1ZmZlciBzaXplICV1XG4iLAorIAkJCQlmbXQuZm10LnBpeF9tcC5wbGFuZV9mbXRbaV0uYnl0ZXNwZXJsaW5lLAorIAkJCQlmbXQuZm10LnBpeF9tcC5wbGFuZV9mbXRbaV0uc2l6ZWltYWdlKTsKKyAJCX0KK0BAIC01MzksNyArNTM5LDcgQEAgc3RhdGljIGludCB2aWRlb19nZXRfZm9ybWF0KHN0cnVjdCBkZXZpY2UgKmRldikKKyAJCWRldi0+cGxhbmVfZm10WzBdLmJ5dGVzcGVybGluZSA9IGZtdC5mbXQucGl4LmJ5dGVzcGVybGluZTsKKyAJCWRldi0+cGxhbmVfZm10WzBdLnNpemVpbWFnZSA9IGZtdC5mbXQucGl4LmJ5dGVzcGVybGluZSA/IGZtdC5mbXQucGl4LnNpemVpbWFnZSA6IDA7CisgCistCQlwcmludGYoIlZpZGVvIGZvcm1hdDogJXMgKCUwOHgpICV1eCV1IChzdHJpZGUgJXUpIGZpZWxkICVzIGJ1ZmZlciBzaXplICV1XG4iLAorKwkJZnByaW50ZihzdGRlcnIsICJWaWRlbyBmb3JtYXQ6ICVzICglMDh4KSAldXgldSAoc3RyaWRlICV1KSBmaWVsZCAlcyBidWZmZXIgc2l6ZSAldVxuIiwKKyAJCQl2NGwyX2Zvcm1hdF9uYW1lKGZtdC5mbXQucGl4LnBpeGVsZm9ybWF0KSwgZm10LmZtdC5waXgucGl4ZWxmb3JtYXQsCisgCQkJZm10LmZtdC5waXgud2lkdGgsIGZtdC5mbXQucGl4LmhlaWdodCwgZm10LmZtdC5waXguYnl0ZXNwZXJsaW5lLAorIAkJCXY0bDJfZmllbGRfbmFtZShmbXQuZm10LnBpeF9tcC5maWVsZCksCitAQCAtNTgxLDI1ICs1ODEsMjUgQEAgc3RhdGljIGludCB2aWRlb19zZXRfZm9ybWF0KHN0cnVjdCBkZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IHcsIHVuc2lnbmVkIGludCBoLAorIAorIAlyZXQgPSBpb2N0bChkZXYtPmZkLCBWSURJT0NfU19GTVQsICZmbXQpOworIAlpZiAocmV0IDwgMCkgeworLQkJcHJpbnRmKCJVbmFibGUgdG8gc2V0IGZvcm1hdDogJXMgKCVkKS5cbiIsIHN0cmVycm9yKGVycm5vKSwKKysJCWZwcmludGYoc3RkZXJyLCAiVW5hYmxlIHRvIHNldCBmb3JtYXQ6ICVzICglZCkuXG4iLCBzdHJlcnJvcihlcnJubyksCisgCQkJZXJybm8pOworIAkJcmV0dXJuIHJldDsKKyAJfQorIAorIAlpZiAodmlkZW9faXNfbXBsYW5lKGRldikpIHsKKy0JCXByaW50ZigiVmlkZW8gZm9ybWF0IHNldDogJXMgKCUwOHgpICV1eCV1IGZpZWxkICVzLCAldSBwbGFuZXM6IFxuIiwKKysJCWZwcmludGYoc3RkZXJyLCAiVmlkZW8gZm9ybWF0IHNldDogJXMgKCUwOHgpICV1eCV1IGZpZWxkICVzLCAldSBwbGFuZXM6IFxuIiwKKyAJCQl2NGwyX2Zvcm1hdF9uYW1lKGZtdC5mbXQucGl4X21wLnBpeGVsZm9ybWF0KSwgZm10LmZtdC5waXhfbXAucGl4ZWxmb3JtYXQsCisgCQkJZm10LmZtdC5waXhfbXAud2lkdGgsIGZtdC5mbXQucGl4X21wLmhlaWdodCwKKyAJCQl2NGwyX2ZpZWxkX25hbWUoZm10LmZtdC5waXhfbXAuZmllbGQpLAorIAkJCWZtdC5mbXQucGl4X21wLm51bV9wbGFuZXMpOworIAorIAkJZm9yIChpID0gMDsgaSA8IGZtdC5mbXQucGl4X21wLm51bV9wbGFuZXM7IGkrKykgeworLQkJCXByaW50ZigiICogU3RyaWRlICV1LCBidWZmZXIgc2l6ZSAldVxuIiwKKysJCQlmcHJpbnRmKHN0ZGVyciwgIiAqIFN0cmlkZSAldSwgYnVmZmVyIHNpemUgJXVcbiIsCisgCQkJCWZtdC5mbXQucGl4X21wLnBsYW5lX2ZtdFtpXS5ieXRlc3BlcmxpbmUsCisgCQkJCWZtdC5mbXQucGl4X21wLnBsYW5lX2ZtdFtpXS5zaXplaW1hZ2UpOworIAkJfQorIAl9IGVsc2UgeworLQkJcHJpbnRmKCJWaWRlbyBmb3JtYXQgc2V0OiAlcyAoJTA4eCkgJXV4JXUgKHN0cmlkZSAldSkgZmllbGQgJXMgYnVmZmVyIHNpemUgJXVcbiIsCisrCQlmcHJpbnRmKHN0ZGVyciwgIlZpZGVvIGZvcm1hdCBzZXQ6ICVzICglMDh4KSAldXgldSAoc3RyaWRlICV1KSBmaWVsZCAlcyBidWZmZXIgc2l6ZSAldVxuIiwKKyAJCQl2NGwyX2Zvcm1hdF9uYW1lKGZtdC5mbXQucGl4LnBpeGVsZm9ybWF0KSwgZm10LmZtdC5waXgucGl4ZWxmb3JtYXQsCisgCQkJZm10LmZtdC5waXgud2lkdGgsIGZtdC5mbXQucGl4LmhlaWdodCwgZm10LmZtdC5waXguYnl0ZXNwZXJsaW5lLAorIAkJCXY0bDJfZmllbGRfbmFtZShmbXQuZm10LnBpeC5maWVsZCksCitAQCAtNjE5LDE2ICs2MTksMTYgQEAgc3RhdGljIGludCB2aWRlb19zZXRfZnJhbWVyYXRlKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHY0bDJfZnJhY3QgKnRpbWVfcGVyX2YKKyAKKyAJcmV0ID0gaW9jdGwoZGV2LT5mZCwgVklESU9DX0dfUEFSTSwgJnBhcm0pOworIAlpZiAocmV0IDwgMCkgeworLQkJcHJpbnRmKCJVbmFibGUgdG8gZ2V0IGZyYW1lIHJhdGU6ICVzICglZCkuXG4iLAorKwkJZnByaW50ZihzdGRlcnIsICJVbmFibGUgdG8gZ2V0IGZyYW1lIHJhdGU6ICVzICglZCkuXG4iLAorIAkJCXN0cmVycm9yKGVycm5vKSwgZXJybm8pOworIAkJcmV0dXJuIHJldDsKKyAJfQorIAorLQlwcmludGYoIkN1cnJlbnQgZnJhbWUgcmF0ZTogJXUvJXVcbiIsCisrCWZwcmludGYoc3RkZXJyLCAiQ3VycmVudCBmcmFtZSByYXRlOiAldS8ldVxuIiwKKyAJCXBhcm0ucGFybS5jYXB0dXJlLnRpbWVwZXJmcmFtZS5udW1lcmF0b3IsCisgCQlwYXJtLnBhcm0uY2FwdHVyZS50aW1lcGVyZnJhbWUuZGVub21pbmF0b3IpOworIAorLQlwcmludGYoIlNldHRpbmcgZnJhbWUgcmF0ZSB0bzogJXUvJXVcbiIsCisrCWZwcmludGYoc3RkZXJyLCAiU2V0dGluZyBmcmFtZSByYXRlIHRvOiAldS8ldVxuIiwKKyAJCXRpbWVfcGVyX2ZyYW1lLT5udW1lcmF0b3IsCisgCQl0aW1lX3Blcl9mcmFtZS0+ZGVub21pbmF0b3IpOworIAorQEAgLTYzNywxOSArNjM3LDE5IEBAIHN0YXRpYyBpbnQgdmlkZW9fc2V0X2ZyYW1lcmF0ZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCB2NGwyX2ZyYWN0ICp0aW1lX3Blcl9mCisgCisgCXJldCA9IGlvY3RsKGRldi0+ZmQsIFZJRElPQ19TX1BBUk0sICZwYXJtKTsKKyAJaWYgKHJldCA8IDApIHsKKy0JCXByaW50ZigiVW5hYmxlIHRvIHNldCBmcmFtZSByYXRlOiAlcyAoJWQpLlxuIiwgc3RyZXJyb3IoZXJybm8pLAorKwkJZnByaW50ZihzdGRlcnIsICJVbmFibGUgdG8gc2V0IGZyYW1lIHJhdGU6ICVzICglZCkuXG4iLCBzdHJlcnJvcihlcnJubyksCisgCQkJZXJybm8pOworIAkJcmV0dXJuIHJldDsKKyAJfQorIAorIAlyZXQgPSBpb2N0bChkZXYtPmZkLCBWSURJT0NfR19QQVJNLCAmcGFybSk7CisgCWlmIChyZXQgPCAwKSB7CistCQlwcmludGYoIlVuYWJsZSB0byBnZXQgZnJhbWUgcmF0ZTogJXMgKCVkKS5cbiIsIHN0cmVycm9yKGVycm5vKSwKKysJCWZwcmludGYoc3RkZXJyLCAiVW5hYmxlIHRvIGdldCBmcmFtZSByYXRlOiAlcyAoJWQpLlxuIiwgc3RyZXJyb3IoZXJybm8pLAorIAkJCWVycm5vKTsKKyAJCXJldHVybiByZXQ7CisgCX0KKyAKKy0JcHJpbnRmKCJGcmFtZSByYXRlIHNldDogJXUvJXVcbiIsCisrCWZwcmludGYoc3RkZXJyLCAiRnJhbWUgcmF0ZSBzZXQ6ICV1LyV1XG4iLAorIAkJcGFybS5wYXJtLmNhcHR1cmUudGltZXBlcmZyYW1lLm51bWVyYXRvciwKKyAJCXBhcm0ucGFybS5jYXB0dXJlLnRpbWVwZXJmcmFtZS5kZW5vbWluYXRvcik7CisgCXJldHVybiAwOworQEAgLTY3NCw3ICs2NzQsNyBAQCBzdGF0aWMgaW50IHZpZGVvX2J1ZmZlcl9tbWFwKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGJ1ZmZlciAqYnVmZmVyLAorIAkJYnVmZmVyLT5tZW1baV0gPSBtbWFwKDAsIGxlbmd0aCwgUFJPVF9SRUFEIHwgUFJPVF9XUklURSwgTUFQX1NIQVJFRCwKKyAJCQkJICAgICAgZGV2LT5mZCwgb2Zmc2V0KTsKKyAJCWlmIChidWZmZXItPm1lbVtpXSA9PSBNQVBfRkFJTEVEKSB7CistCQkJcHJpbnRmKCJVbmFibGUgdG8gbWFwIGJ1ZmZlciAldS8ldTogJXMgKCVkKVxuIiwKKysJCQlmcHJpbnRmKHN0ZGVyciwgIlVuYWJsZSB0byBtYXAgYnVmZmVyICV1LyV1OiAlcyAoJWQpXG4iLAorIAkJCSAgICAgICBidWZmZXItPmlkeCwgaSwgc3RyZXJyb3IoZXJybm8pLCBlcnJubyk7CisgCQkJcmV0dXJuIC0xOworIAkJfQorQEAgLTY4Miw3ICs2ODIsNyBAQCBzdGF0aWMgaW50IHZpZGVvX2J1ZmZlcl9tbWFwKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGJ1ZmZlciAqYnVmZmVyLAorIAkJYnVmZmVyLT5zaXplW2ldID0gbGVuZ3RoOworIAkJYnVmZmVyLT5wYWRkaW5nW2ldID0gMDsKKyAKKy0JCXByaW50ZigiQnVmZmVyICV1LyV1IG1hcHBlZCBhdCBhZGRyZXNzICVwLlxuIiwKKysJCWZwcmludGYoc3RkZXJyLCAiQnVmZmVyICV1LyV1IG1hcHBlZCBhdCBhZGRyZXNzICVwLlxuIiwKKyAJCSAgICAgICBidWZmZXItPmlkeCwgaSwgYnVmZmVyLT5tZW1baV0pOworIAl9CisgCitAQCAtNjk3LDcgKzY5Nyw3IEBAIHN0YXRpYyBpbnQgdmlkZW9fYnVmZmVyX211bm1hcChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBidWZmZXIgKmJ1ZmZlcikKKyAJZm9yIChpID0gMDsgaSA8IGRldi0+bnVtX3BsYW5lczsgaSsrKSB7CisgCQlyZXQgPSBtdW5tYXAoYnVmZmVyLT5tZW1baV0sIGJ1ZmZlci0+c2l6ZVtpXSk7CisgCQlpZiAocmV0IDwgMCkgeworLQkJCXByaW50ZigiVW5hYmxlIHRvIHVubWFwIGJ1ZmZlciAldS8ldTogJXMgKCVkKVxuIiwKKysJCQlmcHJpbnRmKHN0ZGVyciwgIlVuYWJsZSB0byB1bm1hcCBidWZmZXIgJXUvJXU6ICVzICglZClcbiIsCisgCQkJICAgICAgIGJ1ZmZlci0+aWR4LCBpLCBzdHJlcnJvcihlcnJubyksIGVycm5vKTsKKyAJCX0KKyAKK0BAIC03MjUsNyArNzI1LDcgQEAgc3RhdGljIGludCB2aWRlb19idWZmZXJfYWxsb2NfdXNlcnB0cihzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBidWZmZXIgKmJ1ZmZlciwKKyAJCXJldCA9IHBvc2l4X21lbWFsaWduKCZidWZmZXItPm1lbVtpXSwgcGFnZV9zaXplLAorIAkJCQkgICAgIGxlbmd0aCArIG9mZnNldCArIHBhZGRpbmcpOworIAkJaWYgKHJldCA8IDApIHsKKy0JCQlwcmludGYoIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgJXUvJXUgKCVkKVxuIiwKKysJCQlmcHJpbnRmKHN0ZGVyciwgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgJXUvJXUgKCVkKVxuIiwKKyAJCQkgICAgICAgYnVmZmVyLT5pZHgsIGksIHJldCk7CisgCQkJcmV0dXJuIC1FTk9NRU07CisgCQl9CitAQCAtNzM0LDcgKzczNCw3IEBAIHN0YXRpYyBpbnQgdmlkZW9fYnVmZmVyX2FsbG9jX3VzZXJwdHIoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgYnVmZmVyICpidWZmZXIsCisgCQlidWZmZXItPnNpemVbaV0gPSBsZW5ndGg7CisgCQlidWZmZXItPnBhZGRpbmdbaV0gPSBwYWRkaW5nOworIAorLQkJcHJpbnRmKCJCdWZmZXIgJXUvJXUgYWxsb2NhdGVkIGF0IGFkZHJlc3MgJXAuXG4iLAorKwkJZnByaW50ZihzdGRlcnIsICJCdWZmZXIgJXUvJXUgYWxsb2NhdGVkIGF0IGFkZHJlc3MgJXAuXG4iLAorIAkJICAgICAgIGJ1ZmZlci0+aWR4LCBpLCBidWZmZXItPm1lbVtpXSk7CisgCX0KKyAKK0BAIC04MDksMTIgKzgwOSwxMiBAQCBzdGF0aWMgaW50IHZpZGVvX2FsbG9jX2J1ZmZlcnMoc3RydWN0IGRldmljZSAqZGV2LCBpbnQgbmJ1ZnMsCisgCisgCXJldCA9IGlvY3RsKGRldi0+ZmQsIFZJRElPQ19SRVFCVUZTLCAmcmIpOworIAlpZiAocmV0IDwgMCkgeworLQkJcHJpbnRmKCJVbmFibGUgdG8gcmVxdWVzdCBidWZmZXJzOiAlcyAoJWQpLlxuIiwgc3RyZXJyb3IoZXJybm8pLAorKwkJZnByaW50ZihzdGRlcnIsICJVbmFibGUgdG8gcmVxdWVzdCBidWZmZXJzOiAlcyAoJWQpLlxuIiwgc3RyZXJyb3IoZXJybm8pLAorIAkJCWVycm5vKTsKKyAJCXJldHVybiByZXQ7CisgCX0KKyAKKy0JcHJpbnRmKCIldSBidWZmZXJzIHJlcXVlc3RlZC5cbiIsIHJiLmNvdW50KTsKKysJZnByaW50ZihzdGRlcnIsICIldSBidWZmZXJzIHJlcXVlc3RlZC5cbiIsIHJiLmNvdW50KTsKKyAKKyAJYnVmZmVycyA9IG1hbGxvYyhyYi5jb3VudCAqIHNpemVvZiBidWZmZXJzWzBdKTsKKyAJaWYgKGJ1ZmZlcnMgPT0gTlVMTCkKK0BAIC04MzUsMTIgKzgzNSwxMiBAQCBzdGF0aWMgaW50IHZpZGVvX2FsbG9jX2J1ZmZlcnMoc3RydWN0IGRldmljZSAqZGV2LCBpbnQgbmJ1ZnMsCisgCisgCQlyZXQgPSBpb2N0bChkZXYtPmZkLCBWSURJT0NfUVVFUllCVUYsICZidWYpOworIAkJaWYgKHJldCA8IDApIHsKKy0JCQlwcmludGYoIlVuYWJsZSB0byBxdWVyeSBidWZmZXIgJXU6ICVzICglZCkuXG4iLCBpLAorKwkJCWZwcmludGYoc3RkZXJyLCAiVW5hYmxlIHRvIHF1ZXJ5IGJ1ZmZlciAldTogJXMgKCVkKS5cbiIsIGksCisgCQkJCXN0cmVycm9yKGVycm5vKSwgZXJybm8pOworIAkJCXJldHVybiByZXQ7CisgCQl9CisgCQlnZXRfdHNfZmxhZ3MoYnVmLmZsYWdzLCAmdHNfdHlwZSwgJnRzX3NvdXJjZSk7CistCQlwcmludGYoImxlbmd0aDogJXUgb2Zmc2V0OiAldSB0aW1lc3RhbXAgdHlwZS9zb3VyY2U6ICVzLyVzXG4iLAorKwkJZnByaW50ZihzdGRlcnIsICJsZW5ndGg6ICV1IG9mZnNldDogJXUgdGltZXN0YW1wIHR5cGUvc291cmNlOiAlcy8lc1xuIiwKKyAJCSAgICAgICBidWYubGVuZ3RoLCBidWYubS5vZmZzZXQsIHRzX3R5cGUsIHRzX3NvdXJjZSk7CisgCisgCQlidWZmZXJzW2ldLmlkeCA9IGk7CitAQCAtODk5LDEyICs4OTksMTIgQEAgc3RhdGljIGludCB2aWRlb19mcmVlX2J1ZmZlcnMoc3RydWN0IGRldmljZSAqZGV2KQorIAorIAlyZXQgPSBpb2N0bChkZXYtPmZkLCBWSURJT0NfUkVRQlVGUywgJnJiKTsKKyAJaWYgKHJldCA8IDApIHsKKy0JCXByaW50ZigiVW5hYmxlIHRvIHJlbGVhc2UgYnVmZmVyczogJXMgKCVkKS5cbiIsCisrCQlmcHJpbnRmKHN0ZGVyciwgIlVuYWJsZSB0byByZWxlYXNlIGJ1ZmZlcnM6ICVzICglZCkuXG4iLAorIAkJCXN0cmVycm9yKGVycm5vKSwgZXJybm8pOworIAkJcmV0dXJuIHJldDsKKyAJfQorIAorLQlwcmludGYoIiV1IGJ1ZmZlcnMgcmVsZWFzZWQuXG4iLCBkZXYtPm5idWZzKTsKKysJZnByaW50ZihzdGRlcnIsICIldSBidWZmZXJzIHJlbGVhc2VkLlxuIiwgZGV2LT5uYnVmcyk7CisgCisgCWZyZWUoZGV2LT5idWZmZXJzKTsKKyAJZGV2LT5uYnVmcyA9IDA7CitAQCAtOTc0LDcgKzk3NCw3IEBAIHN0YXRpYyBpbnQgdmlkZW9fcXVldWVfYnVmZmVyKHN0cnVjdCBkZXZpY2UgKmRldiwgaW50IGluZGV4LCBlbnVtIGJ1ZmZlcl9maWxsX21vCisgCisgCXJldCA9IGlvY3RsKGRldi0+ZmQsIFZJRElPQ19RQlVGLCAmYnVmKTsKKyAJaWYgKHJldCA8IDApCistCQlwcmludGYoIlVuYWJsZSB0byBxdWV1ZSBidWZmZXI6ICVzICglZCkuXG4iLAorKwkJZnByaW50ZihzdGRlcnIsICJVbmFibGUgdG8gcXVldWUgYnVmZmVyOiAlcyAoJWQpLlxuIiwKKyAJCQlzdHJlcnJvcihlcnJubyksIGVycm5vKTsKKyAKKyAJcmV0dXJuIHJldDsKK0BAIC05ODcsNyArOTg3LDcgQEAgc3RhdGljIGludCB2aWRlb19lbmFibGUoc3RydWN0IGRldmljZSAqZGV2LCBpbnQgZW5hYmxlKQorIAorIAlyZXQgPSBpb2N0bChkZXYtPmZkLCBlbmFibGUgPyBWSURJT0NfU1RSRUFNT04gOiBWSURJT0NfU1RSRUFNT0ZGLCAmdHlwZSk7CisgCWlmIChyZXQgPCAwKSB7CistCQlwcmludGYoIlVuYWJsZSB0byAlcyBzdHJlYW1pbmc6ICVzICglZCkuXG4iLAorKwkJZnByaW50ZihzdGRlcnIsICJVbmFibGUgdG8gJXMgc3RyZWFtaW5nOiAlcyAoJWQpLlxuIiwKKyAJCQllbmFibGUgPyAic3RhcnQiIDogInN0b3AiLCBzdHJlcnJvcihlcnJubyksIGVycm5vKTsKKyAJCXJldHVybiByZXQ7CisgCX0KK0BAIC0xMDA5LDEwICsxMDA5LDEwIEBAIHN0YXRpYyB2b2lkIHZpZGVvX3F1ZXJ5X21lbnUoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgdjRsMl9xdWVyeWN0cmwgKnF1ZXJ5LAorIAkJCWNvbnRpbnVlOworIAorIAkJaWYgKHF1ZXJ5LT50eXBlID09IFY0TDJfQ1RSTF9UWVBFX01FTlUpCistCQkJcHJpbnRmKCIgICV1OiAlLjMycyVzXG4iLCBtZW51LmluZGV4LCBtZW51Lm5hbWUsCisrCQkJZnByaW50ZihzdGRlcnIsICIgICV1OiAlLjMycyVzXG4iLCBtZW51LmluZGV4LCBtZW51Lm5hbWUsCisgCQkJICAgICAgIG1lbnUuaW5kZXggPT0gdmFsdWUgPyAiICgqKSIgOiAiIik7CisgCQllbHNlCistCQkJcHJpbnRmKCIgICV1OiAlbGxkJXNcbiIsIG1lbnUuaW5kZXgsIG1lbnUudmFsdWUsCisrCQkJZnByaW50ZihzdGRlcnIsICIgICV1OiAlbGxkJXNcbiIsIG1lbnUuaW5kZXgsIG1lbnUudmFsdWUsCisgCQkJICAgICAgIG1lbnUuaW5kZXggPT0gdmFsdWUgPyAiICgqKSIgOiAiIik7CisgCX07CisgfQorQEAgLTEwNDMsNyArMTA0Myw3IEBAIHN0YXRpYyB2b2lkIHZpZGVvX2xpc3RfY29udHJvbHMoc3RydWN0IGRldmljZSAqZGV2KQorIAkJCWNvbnRpbnVlOworIAorIAkJaWYgKHF1ZXJ5LnR5cGUgPT0gVjRMMl9DVFJMX1RZUEVfQ1RSTF9DTEFTUykgeworLQkJCXByaW50ZigiLS0tICVzIChjbGFzcyAweCUwOHgpIC0tLVxuIiwgcXVlcnkubmFtZSwgcXVlcnkuaWQpOworKwkJCWZwcmludGYoc3RkZXJyLCAiLS0tICVzIChjbGFzcyAweCUwOHgpIC0tLVxuIiwgcXVlcnkubmFtZSwgcXVlcnkuaWQpOworIAkJCWNvbnRpbnVlOworIAkJfQorIAorQEAgLTEwNTMsNyArMTA1Myw3IEBAIHN0YXRpYyB2b2lkIHZpZGVvX2xpc3RfY29udHJvbHMoc3RydWN0IGRldmljZSAqZGV2KQorIAkJZWxzZQorIAkJCXNwcmludGYodmFsdWUsICIlIiBQUklkNjQsIHZhbDY0KTsKKyAKKy0JCXByaW50ZigiY29udHJvbCAweCUwOHggYCVzJyBtaW4gJWQgbWF4ICVkIHN0ZXAgJWQgZGVmYXVsdCAlZCBjdXJyZW50ICVzLlxuIiwKKysJCWZwcmludGYoc3RkZXJyLCAiY29udHJvbCAweCUwOHggYCVzJyBtaW4gJWQgbWF4ICVkIHN0ZXAgJWQgZGVmYXVsdCAlZCBjdXJyZW50ICVzLlxuIiwKKyAJCQlxdWVyeS5pZCwgcXVlcnkubmFtZSwgcXVlcnkubWluaW11bSwgcXVlcnkubWF4aW11bSwKKyAJCQlxdWVyeS5zdGVwLCBxdWVyeS5kZWZhdWx0X3ZhbHVlLCB2YWx1ZSk7CisgCitAQCAtMTA2NSw5ICsxMDY1LDkgQEAgc3RhdGljIHZvaWQgdmlkZW9fbGlzdF9jb250cm9scyhzdHJ1Y3QgZGV2aWNlICpkZXYpCisgCX0KKyAKKyAJaWYgKG5jdHJscykKKy0JCXByaW50ZigiJXUgY29udHJvbCVzIGZvdW5kLlxuIiwgbmN0cmxzLCBuY3RybHMgPiAxID8gInMiIDogIiIpOworKwkJZnByaW50ZihzdGRlcnIsICIldSBjb250cm9sJXMgZm91bmQuXG4iLCBuY3RybHMsIG5jdHJscyA+IDEgPyAicyIgOiAiIik7CisgCWVsc2UKKy0JCXByaW50ZigiTm8gY29udHJvbCBmb3VuZC5cbiIpOworKwkJZnByaW50ZihzdGRlcnIsICJObyBjb250cm9sIGZvdW5kLlxuIik7CisgfQorIAorIHN0YXRpYyB2b2lkIHZpZGVvX2VudW1fZnJhbWVfaW50ZXJ2YWxzKHN0cnVjdCBkZXZpY2UgKmRldiwgX191MzIgcGl4ZWxmb3JtYXQsCitAQCAtMTA4OCwzMCArMTA4OCwzMCBAQCBzdGF0aWMgdm9pZCB2aWRlb19lbnVtX2ZyYW1lX2ludGVydmFscyhzdHJ1Y3QgZGV2aWNlICpkZXYsIF9fdTMyIHBpeGVsZm9ybWF0LAorIAkJCWJyZWFrOworIAorIAkJaWYgKGkgIT0gaXZhbC5pbmRleCkKKy0JCQlwcmludGYoIldhcm5pbmc6IGRyaXZlciByZXR1cm5lZCB3cm9uZyBpdmFsIGluZGV4ICIKKysJCQlmcHJpbnRmKHN0ZGVyciwgIldhcm5pbmc6IGRyaXZlciByZXR1cm5lZCB3cm9uZyBpdmFsIGluZGV4ICIKKyAJCQkJIiV1LlxuIiwgaXZhbC5pbmRleCk7CisgCQlpZiAocGl4ZWxmb3JtYXQgIT0gaXZhbC5waXhlbF9mb3JtYXQpCistCQkJcHJpbnRmKCJXYXJuaW5nOiBkcml2ZXIgcmV0dXJuZWQgd3JvbmcgaXZhbCBwaXhlbCAiCisrCQkJZnByaW50ZihzdGRlcnIsICJXYXJuaW5nOiBkcml2ZXIgcmV0dXJuZWQgd3JvbmcgaXZhbCBwaXhlbCAiCisgCQkJCSJmb3JtYXQgJTA4eC5cbiIsIGl2YWwucGl4ZWxfZm9ybWF0KTsKKyAJCWlmICh3aWR0aCAhPSBpdmFsLndpZHRoKQorLQkJCXByaW50ZigiV2FybmluZzogZHJpdmVyIHJldHVybmVkIHdyb25nIGl2YWwgd2lkdGggIgorKwkJCWZwcmludGYoc3RkZXJyLCAiV2FybmluZzogZHJpdmVyIHJldHVybmVkIHdyb25nIGl2YWwgd2lkdGggIgorIAkJCQkiJXUuXG4iLCBpdmFsLndpZHRoKTsKKyAJCWlmIChoZWlnaHQgIT0gaXZhbC5oZWlnaHQpCistCQkJcHJpbnRmKCJXYXJuaW5nOiBkcml2ZXIgcmV0dXJuZWQgd3JvbmcgaXZhbCBoZWlnaHQgIgorKwkJCWZwcmludGYoc3RkZXJyLCAiV2FybmluZzogZHJpdmVyIHJldHVybmVkIHdyb25nIGl2YWwgaGVpZ2h0ICIKKyAJCQkJIiV1LlxuIiwgaXZhbC5oZWlnaHQpOworIAorIAkJaWYgKGkgIT0gMCkKKy0JCQlwcmludGYoIiwgIik7CisrCQkJZnByaW50ZihzdGRlcnIsICIsICIpOworIAorIAkJc3dpdGNoIChpdmFsLnR5cGUpIHsKKyAJCWNhc2UgVjRMMl9GUk1JVkFMX1RZUEVfRElTQ1JFVEU6CistCQkJcHJpbnRmKCIldS8ldSIsCisrCQkJZnByaW50ZihzdGRlcnIsICIldS8ldSIsCisgCQkJCWl2YWwuZGlzY3JldGUubnVtZXJhdG9yLAorIAkJCQlpdmFsLmRpc2NyZXRlLmRlbm9taW5hdG9yKTsKKyAJCQlicmVhazsKKyAKKyAJCWNhc2UgVjRMMl9GUk1JVkFMX1RZUEVfQ09OVElOVU9VUzoKKy0JCQlwcmludGYoIiV1LyV1IC0gJXUvJXUiLAorKwkJCWZwcmludGYoc3RkZXJyLCAiJXUvJXUgLSAldS8ldSIsCisgCQkJCWl2YWwuc3RlcHdpc2UubWluLm51bWVyYXRvciwKKyAJCQkJaXZhbC5zdGVwd2lzZS5taW4uZGVub21pbmF0b3IsCisgCQkJCWl2YWwuc3RlcHdpc2UubWF4Lm51bWVyYXRvciwKK0BAIC0xMTE5LDcgKzExMTksNyBAQCBzdGF0aWMgdm9pZCB2aWRlb19lbnVtX2ZyYW1lX2ludGVydmFscyhzdHJ1Y3QgZGV2aWNlICpkZXYsIF9fdTMyIHBpeGVsZm9ybWF0LAorIAkJCXJldHVybjsKKyAKKyAJCWNhc2UgVjRMMl9GUk1JVkFMX1RZUEVfU1RFUFdJU0U6CistCQkJcHJpbnRmKCIldS8ldSAtICV1LyV1IChieSAldS8ldSkiLAorKwkJCWZwcmludGYoc3RkZXJyLCAiJXUvJXUgLSAldS8ldSAoYnkgJXUvJXUpIiwKKyAJCQkJaXZhbC5zdGVwd2lzZS5taW4ubnVtZXJhdG9yLAorIAkJCQlpdmFsLnN0ZXB3aXNlLm1pbi5kZW5vbWluYXRvciwKKyAJCQkJaXZhbC5zdGVwd2lzZS5tYXgubnVtZXJhdG9yLAorQEAgLTExNDksMjMgKzExNDksMjMgQEAgc3RhdGljIHZvaWQgdmlkZW9fZW51bV9mcmFtZV9zaXplcyhzdHJ1Y3QgZGV2aWNlICpkZXYsIF9fdTMyIHBpeGVsZm9ybWF0KQorIAkJCWJyZWFrOworIAorIAkJaWYgKGkgIT0gZnJhbWUuaW5kZXgpCistCQkJcHJpbnRmKCJXYXJuaW5nOiBkcml2ZXIgcmV0dXJuZWQgd3JvbmcgZnJhbWUgaW5kZXggIgorKwkJCWZwcmludGYoc3RkZXJyLCAiV2FybmluZzogZHJpdmVyIHJldHVybmVkIHdyb25nIGZyYW1lIGluZGV4ICIKKyAJCQkJIiV1LlxuIiwgZnJhbWUuaW5kZXgpOworIAkJaWYgKHBpeGVsZm9ybWF0ICE9IGZyYW1lLnBpeGVsX2Zvcm1hdCkKKy0JCQlwcmludGYoIldhcm5pbmc6IGRyaXZlciByZXR1cm5lZCB3cm9uZyBmcmFtZSBwaXhlbCAiCisrCQkJZnByaW50ZihzdGRlcnIsICJXYXJuaW5nOiBkcml2ZXIgcmV0dXJuZWQgd3JvbmcgZnJhbWUgcGl4ZWwgIgorIAkJCQkiZm9ybWF0ICUwOHguXG4iLCBmcmFtZS5waXhlbF9mb3JtYXQpOworIAorIAkJc3dpdGNoIChmcmFtZS50eXBlKSB7CisgCQljYXNlIFY0TDJfRlJNU0laRV9UWVBFX0RJU0NSRVRFOgorLQkJCXByaW50ZigiXHRGcmFtZSBzaXplOiAldXgldSAoIiwgZnJhbWUuZGlzY3JldGUud2lkdGgsCisrCQkJZnByaW50ZihzdGRlcnIsICJcdEZyYW1lIHNpemU6ICV1eCV1ICgiLCBmcmFtZS5kaXNjcmV0ZS53aWR0aCwKKyAJCQkJZnJhbWUuZGlzY3JldGUuaGVpZ2h0KTsKKyAJCQl2aWRlb19lbnVtX2ZyYW1lX2ludGVydmFscyhkZXYsIGZyYW1lLnBpeGVsX2Zvcm1hdCwKKyAJCQkJZnJhbWUuZGlzY3JldGUud2lkdGgsIGZyYW1lLmRpc2NyZXRlLmhlaWdodCk7CistCQkJcHJpbnRmKCIpXG4iKTsKKysJCQlmcHJpbnRmKHN0ZGVyciwgIilcbiIpOworIAkJCWJyZWFrOworIAorIAkJY2FzZSBWNEwyX0ZSTVNJWkVfVFlQRV9DT05USU5VT1VTOgorLQkJCXByaW50ZigiXHRGcmFtZSBzaXplOiAldXgldSAtICV1eCV1ICgiLAorKwkJCWZwcmludGYoc3RkZXJyLCAiXHRGcmFtZSBzaXplOiAldXgldSAtICV1eCV1ICgiLAorIAkJCQlmcmFtZS5zdGVwd2lzZS5taW5fd2lkdGgsCisgCQkJCWZyYW1lLnN0ZXB3aXNlLm1pbl9oZWlnaHQsCisgCQkJCWZyYW1lLnN0ZXB3aXNlLm1heF93aWR0aCwKK0BAIC0xMTczLDExICsxMTczLDExIEBAIHN0YXRpYyB2b2lkIHZpZGVvX2VudW1fZnJhbWVfc2l6ZXMoc3RydWN0IGRldmljZSAqZGV2LCBfX3UzMiBwaXhlbGZvcm1hdCkKKyAJCQl2aWRlb19lbnVtX2ZyYW1lX2ludGVydmFscyhkZXYsIGZyYW1lLnBpeGVsX2Zvcm1hdCwKKyAJCQkJZnJhbWUuc3RlcHdpc2UubWF4X3dpZHRoLAorIAkJCQlmcmFtZS5zdGVwd2lzZS5tYXhfaGVpZ2h0KTsKKy0JCQlwcmludGYoIilcbiIpOworKwkJCWZwcmludGYoc3RkZXJyLCAiKVxuIik7CisgCQkJYnJlYWs7CisgCisgCQljYXNlIFY0TDJfRlJNU0laRV9UWVBFX1NURVBXSVNFOgorLQkJCXByaW50ZigiXHRGcmFtZSBzaXplOiAldXgldSAtICV1eCV1IChieSAldXgldSkgKFxuIiwKKysJCQlmcHJpbnRmKHN0ZGVyciwgIlx0RnJhbWUgc2l6ZTogJXV4JXUgLSAldXgldSAoYnkgJXV4JXUpIChcbiIsCisgCQkJCWZyYW1lLnN0ZXB3aXNlLm1pbl93aWR0aCwKKyAJCQkJZnJhbWUuc3RlcHdpc2UubWluX2hlaWdodCwKKyAJCQkJZnJhbWUuc3RlcHdpc2UubWF4X3dpZHRoLAorQEAgLTExODcsNyArMTE4Nyw3IEBAIHN0YXRpYyB2b2lkIHZpZGVvX2VudW1fZnJhbWVfc2l6ZXMoc3RydWN0IGRldmljZSAqZGV2LCBfX3UzMiBwaXhlbGZvcm1hdCkKKyAJCQl2aWRlb19lbnVtX2ZyYW1lX2ludGVydmFscyhkZXYsIGZyYW1lLnBpeGVsX2Zvcm1hdCwKKyAJCQkJZnJhbWUuc3RlcHdpc2UubWF4X3dpZHRoLAorIAkJCQlmcmFtZS5zdGVwd2lzZS5tYXhfaGVpZ2h0KTsKKy0JCQlwcmludGYoIilcbiIpOworKwkJCWZwcmludGYoc3RkZXJyLCAiKVxuIik7CisgCQkJYnJlYWs7CisgCisgCQlkZWZhdWx0OgorQEAgLTEyMTEsMTkgKzEyMTEsMTkgQEAgc3RhdGljIHZvaWQgdmlkZW9fZW51bV9mb3JtYXRzKHN0cnVjdCBkZXZpY2UgKmRldiwgZW51bSB2NGwyX2J1Zl90eXBlIHR5cGUpCisgCQkJYnJlYWs7CisgCisgCQlpZiAoaSAhPSBmbXQuaW5kZXgpCistCQkJcHJpbnRmKCJXYXJuaW5nOiBkcml2ZXIgcmV0dXJuZWQgd3JvbmcgZm9ybWF0IGluZGV4ICIKKysJCQlmcHJpbnRmKHN0ZGVyciwgIldhcm5pbmc6IGRyaXZlciByZXR1cm5lZCB3cm9uZyBmb3JtYXQgaW5kZXggIgorIAkJCQkiJXUuXG4iLCBmbXQuaW5kZXgpOworIAkJaWYgKHR5cGUgIT0gZm10LnR5cGUpCistCQkJcHJpbnRmKCJXYXJuaW5nOiBkcml2ZXIgcmV0dXJuZWQgd3JvbmcgZm9ybWF0IHR5cGUgIgorKwkJCWZwcmludGYoc3RkZXJyLCAiV2FybmluZzogZHJpdmVyIHJldHVybmVkIHdyb25nIGZvcm1hdCB0eXBlICIKKyAJCQkJIiV1LlxuIiwgZm10LnR5cGUpOworIAorLQkJcHJpbnRmKCJcdEZvcm1hdCAldTogJXMgKCUwOHgpXG4iLCBpLAorKwkJZnByaW50ZihzdGRlcnIsICJcdEZvcm1hdCAldTogJXMgKCUwOHgpXG4iLCBpLAorIAkJCXY0bDJfZm9ybWF0X25hbWUoZm10LnBpeGVsZm9ybWF0KSwgZm10LnBpeGVsZm9ybWF0KTsKKy0JCXByaW50ZigiXHRUeXBlOiAlcyAoJXUpXG4iLCB2NGwyX2J1Zl90eXBlX25hbWUoZm10LnR5cGUpLAorKwkJZnByaW50ZihzdGRlcnIsICJcdFR5cGU6ICVzICgldSlcbiIsIHY0bDJfYnVmX3R5cGVfbmFtZShmbXQudHlwZSksCisgCQkJZm10LnR5cGUpOworLQkJcHJpbnRmKCJcdE5hbWU6ICUuMzJzXG4iLCBmbXQuZGVzY3JpcHRpb24pOworKwkJZnByaW50ZihzdGRlcnIsICJcdE5hbWU6ICUuMzJzXG4iLCBmbXQuZGVzY3JpcHRpb24pOworIAkJdmlkZW9fZW51bV9mcmFtZV9zaXplcyhkZXYsIGZtdC5waXhlbGZvcm1hdCk7CistCQlwcmludGYoIlxuIik7CisrCQlmcHJpbnRmKHN0ZGVyciwgIlxuIik7CisgCX0KKyB9CisgCitAQCAtMTI0MSwxMyArMTI0MSwxMyBAQCBzdGF0aWMgdm9pZCB2aWRlb19lbnVtX2lucHV0cyhzdHJ1Y3QgZGV2aWNlICpkZXYpCisgCQkJYnJlYWs7CisgCisgCQlpZiAoaSAhPSBpbnB1dC5pbmRleCkKKy0JCQlwcmludGYoIldhcm5pbmc6IGRyaXZlciByZXR1cm5lZCB3cm9uZyBpbnB1dCBpbmRleCAiCisrCQkJZnByaW50ZihzdGRlcnIsICJXYXJuaW5nOiBkcml2ZXIgcmV0dXJuZWQgd3JvbmcgaW5wdXQgaW5kZXggIgorIAkJCQkiJXUuXG4iLCBpbnB1dC5pbmRleCk7CisgCistCQlwcmludGYoIlx0SW5wdXQgJXU6ICVzLlxuIiwgaSwgaW5wdXQubmFtZSk7CisrCQlmcHJpbnRmKHN0ZGVyciwgIlx0SW5wdXQgJXU6ICVzLlxuIiwgaSwgaW5wdXQubmFtZSk7CisgCX0KKyAKKy0JcHJpbnRmKCJcbiIpOworKwlmcHJpbnRmKHN0ZGVyciwgIlxuIik7CisgfQorIAorIHN0YXRpYyBpbnQgdmlkZW9fZ2V0X2lucHV0KHN0cnVjdCBkZXZpY2UgKmRldikKK0BAIC0xMjU3LDcgKzEyNTcsNyBAQCBzdGF0aWMgaW50IHZpZGVvX2dldF9pbnB1dChzdHJ1Y3QgZGV2aWNlICpkZXYpCisgCisgCXJldCA9IGlvY3RsKGRldi0+ZmQsIFZJRElPQ19HX0lOUFVULCAmaW5wdXQpOworIAlpZiAocmV0IDwgMCkgeworLQkJcHJpbnRmKCJVbmFibGUgdG8gZ2V0IGN1cnJlbnQgaW5wdXQ6ICVzICglZCkuXG4iLAorKwkJZnByaW50ZihzdGRlcnIsICJVbmFibGUgdG8gZ2V0IGN1cnJlbnQgaW5wdXQ6ICVzICglZCkuXG4iLAorIAkJCXN0cmVycm9yKGVycm5vKSwgZXJybm8pOworIAkJcmV0dXJuIHJldDsKKyAJfQorQEAgLTEyNzIsNyArMTI3Miw3IEBAIHN0YXRpYyBpbnQgdmlkZW9fc2V0X2lucHV0KHN0cnVjdCBkZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IGlucHV0KQorIAorIAlyZXQgPSBpb2N0bChkZXYtPmZkLCBWSURJT0NfU19JTlBVVCwgJl9pbnB1dCk7CisgCWlmIChyZXQgPCAwKQorLQkJcHJpbnRmKCJVbmFibGUgdG8gc2VsZWN0IGlucHV0ICV1OiAlcyAoJWQpLlxuIiwgaW5wdXQsCisrCQlmcHJpbnRmKHN0ZGVyciwgIlVuYWJsZSB0byBzZWxlY3QgaW5wdXQgJXU6ICVzICglZCkuXG4iLCBpbnB1dCwKKyAJCQlzdHJlcnJvcihlcnJubyksIGVycm5vKTsKKyAKKyAJcmV0dXJuIHJldDsKK0BAIC0xMjkxLDE0ICsxMjkxLDE0IEBAIHN0YXRpYyBpbnQgdmlkZW9fc2V0X3F1YWxpdHkoc3RydWN0IGRldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcXVhbGl0eSkKKyAKKyAJcmV0ID0gaW9jdGwoZGV2LT5mZCwgVklESU9DX1NfSlBFR0NPTVAsICZqcGVnKTsKKyAJaWYgKHJldCA8IDApIHsKKy0JCXByaW50ZigiVW5hYmxlIHRvIHNldCBxdWFsaXR5IHRvICV1OiAlcyAoJWQpLlxuIiwgcXVhbGl0eSwKKysJCWZwcmludGYoc3RkZXJyLCAiVW5hYmxlIHRvIHNldCBxdWFsaXR5IHRvICV1OiAlcyAoJWQpLlxuIiwgcXVhbGl0eSwKKyAJCQlzdHJlcnJvcihlcnJubyksIGVycm5vKTsKKyAJCXJldHVybiByZXQ7CisgCX0KKyAKKyAJcmV0ID0gaW9jdGwoZGV2LT5mZCwgVklESU9DX0dfSlBFR0NPTVAsICZqcGVnKTsKKyAJaWYgKHJldCA+PSAwKQorLQkJcHJpbnRmKCJRdWFsaXR5IHNldCB0byAldVxuIiwganBlZy5xdWFsaXR5KTsKKysJCWZwcmludGYoc3RkZXJyLCAiUXVhbGl0eSBzZXQgdG8gJXVcbiIsIGpwZWcucXVhbGl0eSk7CisgCisgCXJldHVybiAwOworIH0KK0BAIC0xMzEzLDcgKzEzMTMsNyBAQCBzdGF0aWMgaW50IHZpZGVvX2xvYWRfdGVzdF9wYXR0ZXJuKHN0cnVjdCBkZXZpY2UgKmRldiwgY29uc3QgY2hhciAqZmlsZW5hbWUpCisgCWlmIChmaWxlbmFtZSAhPSBOVUxMKSB7CisgCQlmZCA9IG9wZW4oZmlsZW5hbWUsIE9fUkRPTkxZKTsKKyAJCWlmIChmZCA9PSAtMSkgeworLQkJCXByaW50ZigiVW5hYmxlIHRvIG9wZW4gdGVzdCBwYXR0ZXJuIGZpbGUgJyVzJzogJXMgKCVkKS5cbiIsCisrCQkJZnByaW50ZihzdGRlcnIsICJVbmFibGUgdG8gb3BlbiB0ZXN0IHBhdHRlcm4gZmlsZSAnJXMnOiAlcyAoJWQpLlxuIiwKKyAJCQkJZmlsZW5hbWUsIHN0cmVycm9yKGVycm5vKSwgZXJybm8pOworIAkJCXJldHVybiAtZXJybm87CisgCQl9CitAQCAtMTMzMSw3ICsxMzMxLDcgQEAgc3RhdGljIGludCB2aWRlb19sb2FkX3Rlc3RfcGF0dGVybihzdHJ1Y3QgZGV2aWNlICpkZXYsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKQorIAkJaWYgKGZpbGVuYW1lICE9IE5VTEwpIHsKKyAJCQlyZXQgPSByZWFkKGZkLCBkZXYtPnBhdHRlcm5bcGxhbmVdLCBzaXplKTsKKyAJCQlpZiAocmV0ICE9IChpbnQpc2l6ZSAmJiBkZXYtPnBsYW5lX2ZtdFtwbGFuZV0uYnl0ZXNwZXJsaW5lICE9IDApIHsKKy0JCQkJcHJpbnRmKCJUZXN0IHBhdHRlcm4gZmlsZSBzaXplICV1IGRvZXNuJ3QgbWF0Y2ggaW1hZ2Ugc2l6ZSAldVxuIiwKKysJCQkJZnByaW50ZihzdGRlcnIsICJUZXN0IHBhdHRlcm4gZmlsZSBzaXplICV1IGRvZXNuJ3QgbWF0Y2ggaW1hZ2Ugc2l6ZSAldVxuIiwKKyAJCQkJCXJldCwgc2l6ZSk7CisgCQkJCXJldCA9IC1FSU5WQUw7CisgCQkJCWdvdG8gZG9uZTsKK0BAIC0xMzQxLDcgKzEzNDEsNyBAQCBzdGF0aWMgaW50IHZpZGVvX2xvYWRfdGVzdF9wYXR0ZXJuKHN0cnVjdCBkZXZpY2UgKmRldiwgY29uc3QgY2hhciAqZmlsZW5hbWUpCisgCQkJdW5zaWduZWQgaW50IGk7CisgCisgCQkJaWYgKGRldi0+cGxhbmVfZm10W3BsYW5lXS5ieXRlc3BlcmxpbmUgPT0gMCkgeworLQkJCQlwcmludGYoIkNvbXByZXNzZWQgZm9ybWF0IGRldGVjdGVkIGZvciBwbGFuZSAldSBhbmQgbm8gdGVzdCBwYXR0ZXJuIGZpbGVuYW1lIGdpdmVuLlxuIgorKwkJCQlmcHJpbnRmKHN0ZGVyciwgIkNvbXByZXNzZWQgZm9ybWF0IGRldGVjdGVkIGZvciBwbGFuZSAldSBhbmQgbm8gdGVzdCBwYXR0ZXJuIGZpbGVuYW1lIGdpdmVuLlxuIgorIAkJCQkJIlRoZSB0ZXN0IHBhdHRlcm4gY2FuJ3QgYmUgZ2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkuXG4iLCBwbGFuZSk7CisgCQkJCXJldCA9IC1FSU5WQUw7CisgCQkJCWdvdG8gZG9uZTsKK0BAIC0xNDEwLDcgKzE0MTAsNyBAQCBzdGF0aWMgdm9pZCB2aWRlb192ZXJpZnlfYnVmZmVyKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHY0bDJfYnVmZmVyICpidWYpCisgCisgCQlpZiAoZGV2LT5wbGFuZV9mbXRbcGxhbmVdLnNpemVpbWFnZSAmJgorIAkJICAgIGRldi0+cGxhbmVfZm10W3BsYW5lXS5zaXplaW1hZ2UgIT0gbGVuZ3RoKQorLQkJCXByaW50ZigiV2FybmluZzogYnl0ZXMgdXNlZCAldSAhPSBpbWFnZSBzaXplICV1IGZvciBwbGFuZSAldVxuIiwKKysJCQlmcHJpbnRmKHN0ZGVyciwgIldhcm5pbmc6IGJ5dGVzIHVzZWQgJXUgIT0gaW1hZ2Ugc2l6ZSAldSBmb3IgcGxhbmUgJXVcbiIsCisgCQkJICAgICAgIGxlbmd0aCwgZGV2LT5wbGFuZV9mbXRbcGxhbmVdLnNpemVpbWFnZSwgcGxhbmUpOworIAorIAkJaWYgKGJ1ZmZlci0+cGFkZGluZ1twbGFuZV0gPT0gMCkKK0BAIC0xNDI0LDE2ICsxNDI0LDE2IEBAIHN0YXRpYyB2b2lkIHZpZGVvX3ZlcmlmeV9idWZmZXIoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgdjRsMl9idWZmZXIgKmJ1ZikKKyAJCX0KKyAKKyAJCWlmIChlcnJvcnMpIHsKKy0JCQlwcmludGYoIldhcm5pbmc6ICV1IGJ5dGVzIG92ZXJ3cml0dGVuIGFtb25nICV1IGZpcnN0IHBhZGRpbmcgYnl0ZXMgZm9yIHBsYW5lICV1XG4iLAorKwkJCWZwcmludGYoc3RkZXJyLCAiV2FybmluZzogJXUgYnl0ZXMgb3ZlcndyaXR0ZW4gYW1vbmcgJXUgZmlyc3QgcGFkZGluZyBieXRlcyBmb3IgcGxhbmUgJXVcbiIsCisgCQkJICAgICAgIGVycm9ycywgZGlydHksIHBsYW5lKTsKKyAKKyAJCQlkaXJ0eSA9IChkaXJ0eSArIDE1KSAmIH4xNTsKKyAJCQlkaXJ0eSA9IGRpcnR5ID4gMzIgPyAzMiA6IGRpcnR5OworIAorIAkJCWZvciAoaSA9IDA7IGkgPCBkaXJ0eTsgKytpKSB7CistCQkJCXByaW50ZigiJTAyeCAiLCBkYXRhW2ldKTsKKysJCQkJZnByaW50ZihzdGRlcnIsICIlMDJ4ICIsIGRhdGFbaV0pOworIAkJCQlpZiAoaSAlIDE2ID09IDE1KQorLQkJCQkJcHJpbnRmKCJcbiIpOworKwkJCQkJZnByaW50ZihzdGRlcnIsICJcbiIpOworIAkJCX0KKyAJCX0KKyAJfQorQEAgLTE0ODEsMTggKzE0ODEsMzIgQEAgc3RhdGljIHZvaWQgdmlkZW9fc2F2ZV9pbWFnZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCB2NGwyX2J1ZmZlciAqYnVmLAorIAorIAkJcmV0ID0gd3JpdGUoZmQsIGRldi0+YnVmZmVyc1tidWYtPmluZGV4XS5tZW1baV0sIGxlbmd0aCk7CisgCQlpZiAocmV0IDwgMCkgeworLQkJCXByaW50Zigid3JpdGUgZXJyb3I6ICVzICglZClcbiIsIHN0cmVycm9yKGVycm5vKSwgZXJybm8pOworKwkJCWZwcmludGYoc3RkZXJyLCAid3JpdGUgZXJyb3I6ICVzICglZClcbiIsIHN0cmVycm9yKGVycm5vKSwgZXJybm8pOworIAkJCWJyZWFrOworIAkJfSBlbHNlIGlmIChyZXQgIT0gKGludClsZW5ndGgpCistCQkJcHJpbnRmKCJ3cml0ZSBlcnJvcjogb25seSAlZCBieXRlcyB3cml0dGVuIGluc3RlYWQgb2YgJXVcbiIsCisrCQkJZnByaW50ZihzdGRlcnIsICJ3cml0ZSBlcnJvcjogb25seSAlZCBieXRlcyB3cml0dGVuIGluc3RlYWQgb2YgJXVcbiIsCisgCQkJICAgICAgIHJldCwgbGVuZ3RoKTsKKyAJfQorIAljbG9zZShmZCk7CisgfQorIAorK3N0YXRpYyB2b2lkIHZpZGVvX3N0ZG91dF9pbWFnZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCB2NGwyX2J1ZmZlciAqYnVmKQorK3sKKysgICAgaW50IHJldDsKKysKKysgICAgZnByaW50ZihzdGRlcnIsICJzdGRvdXQiKTsKKysgICAgcmV0ID0gZndyaXRlKGRldi0+YnVmZmVyc1tidWYtPmluZGV4XS5tZW0sIGJ1Zi0+Ynl0ZXN1c2VkLCAxLCBzdGRvdXQpOworKworKyAgICBpZiAocmV0IDwgMCkKKysgICAgICAgIGZwcmludGYoc3RkZXJyLCAid3JpdGUgZXJyb3I6ICVzICglZClcbiIsIHN0cmVycm9yKGVycm5vKSwgZXJybm8pOworKyAgICBlbHNlIGlmIChyZXQgIT0gKGludClidWYtPmJ5dGVzdXNlZCkKKysgICAgICAgIGZwcmludGYoc3RkZXJyLCAid3JpdGUgZXJyb3I6IG9ubHkgJWQgYnl0ZXMgd3JpdHRlbiBpbnN0ZWFkIG9mICV1XG4iLAorKyAgICAgICAgICAgICAgICByZXQsIGJ1Zi0+Ynl0ZXN1c2VkKTsKKyt9CisrCisgc3RhdGljIGludCB2aWRlb19kb19jYXB0dXJlKHN0cnVjdCBkZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IG5mcmFtZXMsCisgCXVuc2lnbmVkIGludCBza2lwLCB1bnNpZ25lZCBpbnQgZGVsYXksIGNvbnN0IGNoYXIgKnBhdHRlcm4sCistCWludCBkb19yZXF1ZXVlX2xhc3QsIGVudW0gYnVmZmVyX2ZpbGxfbW9kZSBmaWxsKQorKwlpbnQgZG9fcmVxdWV1ZV9sYXN0LCBlbnVtIGJ1ZmZlcl9maWxsX21vZGUgZmlsbCwgaW50IGRvX3N0ZG91dCkKKyB7CisgCXN0cnVjdCB2NGwyX3BsYW5lIHBsYW5lc1tWSURFT19NQVhfUExBTkVTXTsKKyAJc3RydWN0IHY0bDJfYnVmZmVyIGJ1ZjsKK0BAIC0xNTI5LDcgKzE1NDMsNyBAQCBzdGF0aWMgaW50IHZpZGVvX2RvX2NhcHR1cmUoc3RydWN0IGRldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgbmZyYW1lcywKKyAJCXJldCA9IGlvY3RsKGRldi0+ZmQsIFZJRElPQ19EUUJVRiwgJmJ1Zik7CisgCQlpZiAocmV0IDwgMCkgeworIAkJCWlmIChlcnJubyAhPSBFSU8pIHsKKy0JCQkJcHJpbnRmKCJVbmFibGUgdG8gZGVxdWV1ZSBidWZmZXI6ICVzICglZCkuXG4iLAorKwkJCQlmcHJpbnRmKHN0ZGVyciwgIlVuYWJsZSB0byBkZXF1ZXVlIGJ1ZmZlcjogJXMgKCVkKS5cbiIsCisgCQkJCQlzdHJlcnJvcihlcnJubyksIGVycm5vKTsKKyAJCQkJZ290byBkb25lOworIAkJCX0KK0BAIC0xNTUwLDcgKzE1NjQsNyBAQCBzdGF0aWMgaW50IHZpZGVvX2RvX2NhcHR1cmUoc3RydWN0IGRldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgbmZyYW1lcywKKyAKKyAJCWNsb2NrX2dldHRpbWUoQ0xPQ0tfTU9OT1RPTklDLCAmdHMpOworIAkJZ2V0X3RzX2ZsYWdzKGJ1Zi5mbGFncywgJnRzX3R5cGUsICZ0c19zb3VyY2UpOworLQkJcHJpbnRmKCIldSAoJXUpIFslY10gJXMgJXUgJXUgQiAlbGQuJTA2bGQgJWxkLiUwNmxkICUuM2YgZnBzIHRzICVzLyVzXG4iLCBpLCBidWYuaW5kZXgsCisrCQlmcHJpbnRmKHN0ZGVyciwgIiV1ICgldSkgWyVjXSAlcyAldSAldSBCICVsZC4lMDZsZCAlbGQuJTA2bGQgJS4zZiBmcHMgdHMgJXMvJXNcbiIsIGksIGJ1Zi5pbmRleCwKKyAJCQkoYnVmLmZsYWdzICYgVjRMMl9CVUZfRkxBR19FUlJPUikgPyAnRScgOiAnLScsCisgCQkJdjRsMl9maWVsZF9uYW1lKGJ1Zi5maWVsZCksCisgCQkJYnVmLnNlcXVlbmNlLCBidWYuYnl0ZXN1c2VkLCBidWYudGltZXN0YW1wLnR2X3NlYywKK0BAIC0xNTYzLDYgKzE1NzcsOSBAQCBzdGF0aWMgaW50IHZpZGVvX2RvX2NhcHR1cmUoc3RydWN0IGRldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgbmZyYW1lcywKKyAJCWlmICh2aWRlb19pc19jYXB0dXJlKGRldikgJiYgcGF0dGVybiAmJiAhc2tpcCkKKyAJCQl2aWRlb19zYXZlX2ltYWdlKGRldiwgJmJ1ZiwgcGF0dGVybiwgaSk7CisgCisrCQlpZiAodmlkZW9faXNfY2FwdHVyZShkZXYpICYmIGRvX3N0ZG91dCAmJiAhc2tpcCkKKysJCQl2aWRlb19zdGRvdXRfaW1hZ2UoZGV2LCAmYnVmKTsKKysKKyAJCWlmIChza2lwKQorIAkJCS0tc2tpcDsKKyAKK0BAIC0xNTc3LDcgKzE1OTQsNyBAQCBzdGF0aWMgaW50IHZpZGVvX2RvX2NhcHR1cmUoc3RydWN0IGRldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgbmZyYW1lcywKKyAKKyAJCXJldCA9IHZpZGVvX3F1ZXVlX2J1ZmZlcihkZXYsIGJ1Zi5pbmRleCwgZmlsbCk7CisgCQlpZiAocmV0IDwgMCkgeworLQkJCXByaW50ZigiVW5hYmxlIHRvIHJlcXVldWUgYnVmZmVyOiAlcyAoJWQpLlxuIiwKKysJCQlmcHJpbnRmKHN0ZGVyciwgIlVuYWJsZSB0byByZXF1ZXVlIGJ1ZmZlcjogJXMgKCVkKS5cbiIsCisgCQkJCXN0cmVycm9yKGVycm5vKSwgZXJybm8pOworIAkJCWdvdG8gZG9uZTsKKyAJCX0KK0BAIC0xNTg3LDcgKzE2MDQsNyBAQCBzdGF0aWMgaW50IHZpZGVvX2RvX2NhcHR1cmUoc3RydWN0IGRldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgbmZyYW1lcywKKyAJdmlkZW9fZW5hYmxlKGRldiwgMCk7CisgCisgCWlmIChuZnJhbWVzID09IDApIHsKKy0JCXByaW50ZigiTm8gZnJhbWVzIGNhcHR1cmVkLlxuIik7CisrCQlmcHJpbnRmKHN0ZGVyciwgIk5vIGZyYW1lcyBjYXB0dXJlZC5cbiIpOworIAkJZ290byBkb25lOworIAl9CisgCitAQCAtMTYwNCw3ICsxNjIxLDcgQEAgc3RhdGljIGludCB2aWRlb19kb19jYXB0dXJlKHN0cnVjdCBkZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IG5mcmFtZXMsCisgCWJwcyA9IHNpemUvKHRzLnR2X25zZWMvMTAwMC4wKzEwMDAwMDAuMCp0cy50dl9zZWMpKjEwMDAwMDAuMDsKKyAJZnBzID0gaS8odHMudHZfbnNlYy8xMDAwLjArMTAwMDAwMC4wKnRzLnR2X3NlYykqMTAwMDAwMC4wOworIAorLQlwcmludGYoIkNhcHR1cmVkICV1IGZyYW1lcyBpbiAlbHUuJTA2bHUgc2Vjb25kcyAoJWYgZnBzLCAlZiBCL3MpLlxuIiwKKysJZnByaW50ZihzdGRlcnIsICJDYXB0dXJlZCAldSBmcmFtZXMgaW4gJWx1LiUwNmx1IHNlY29uZHMgKCVmIGZwcywgJWYgQi9zKS5cbiIsCisgCQlpLCB0cy50dl9zZWMsIHRzLnR2X25zZWMvMTAwMCwgZnBzLCBicHMpOworIAorIGRvbmU6CitAQCAtMTYxNiw0MiArMTYzMyw0MiBAQCBkb25lOgorIAorIHN0YXRpYyB2b2lkIHVzYWdlKGNvbnN0IGNoYXIgKmFyZ3YwKQorIHsKKy0JcHJpbnRmKCJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZVxuIiwgYXJndjApOworLQlwcmludGYoIlN1cHBvcnRlZCBvcHRpb25zOlxuIik7CistCXByaW50ZigiLUIsIC0tYnVmZmVyLXR5cGUJCUJ1ZmZlciB0eXBlIChcImNhcHR1cmVcIiwgXCJvdXRwdXRcIixcbiIpOworLQlwcmludGYoIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjYXB0dXJlLW1wbGFuZVwiIG9yIFwib3V0cHV0LW1wbGFuZVwiKVxuIik7CistCXByaW50ZigiLWMsIC0tY2FwdHVyZVs9bmZyYW1lc10JCUNhcHR1cmUgZnJhbWVzXG4iKTsKKy0JcHJpbnRmKCItQywgLS1jaGVjay1vdmVycnVuCQlWZXJpZnkgZGVxdWV1ZWQgZnJhbWVzIGZvciBidWZmZXIgb3ZlcnJ1blxuIik7CistCXByaW50ZigiLWQsIC0tZGVsYXkJCQlEZWxheSAoaW4gbXMpIGJlZm9yZSByZXF1ZXVpbmcgYnVmZmVyc1xuIik7CistCXByaW50ZigiLWYsIC0tZm9ybWF0IGZvcm1hdAkJU2V0IHRoZSB2aWRlbyBmb3JtYXRcbiIpOworLQlwcmludGYoIi1GLCAtLWZpbGVbPW5hbWVdCQlSZWFkL3dyaXRlIGZyYW1lcyBmcm9tL3RvIGRpc2tcbiIpOworLQlwcmludGYoIlx0Rm9yIHZpZGVvIGNhcHR1cmUgZGV2aWNlcywgdGhlIGZpcnN0ICcjJyBjaGFyYWN0ZXIgaW4gdGhlIGZpbGUgbmFtZSBpc1xuIik7CistCXByaW50ZigiXHRleHBhbmRlZCB0byB0aGUgZnJhbWUgc2VxdWVuY2UgbnVtYmVyLiBUaGUgZGVmYXVsdCBmaWxlIG5hbWUgaXNcbiIpOworLQlwcmludGYoIlx0J2ZyYW1lLSMuYmluJy5cbiIpOworLQlwcmludGYoIi1oLCAtLWhlbHAJCQlTaG93IHRoaXMgaGVscCBzY3JlZW5cbiIpOworLQlwcmludGYoIi1pLCAtLWlucHV0IGlucHV0CQlTZWxlY3QgdGhlIHZpZGVvIGlucHV0XG4iKTsKKy0JcHJpbnRmKCItSSwgLS1maWxsLWZyYW1lcwkJRmlsbCBmcmFtZXMgd2l0aCBjaGVjayBwYXR0ZXJuIGJlZm9yZSBxdWV1aW5nIHRoZW1cbiIpOworLQlwcmludGYoIi1sLCAtLWxpc3QtY29udHJvbHMJCUxpc3QgYXZhaWxhYmxlIGNvbnRyb2xzXG4iKTsKKy0JcHJpbnRmKCItbiwgLS1uYnVmcyBuCQkJU2V0IHRoZSBudW1iZXIgb2YgdmlkZW8gYnVmZmVyc1xuIik7CistCXByaW50ZigiLXAsIC0tcGF1c2UJCQlQYXVzZSBiZWZvcmUgc3RhcnRpbmcgdGhlIHZpZGVvIHN0cmVhbVxuIik7CistCXByaW50ZigiLXEsIC0tcXVhbGl0eSBuCQkJTUpQRUcgcXVhbGl0eSAoMC0xMDApXG4iKTsKKy0JcHJpbnRmKCItciwgLS1nZXQtY29udHJvbCBjdHJsCQlHZXQgY29udHJvbCAnY3RybCdcbiIpOworLQlwcmludGYoIi1SLCAtLXJlYWx0aW1lPVtwcmlvcml0eV0JRW5hYmxlIHJlYWx0aW1lIFJSIHNjaGVkdWxpbmdcbiIpOworLQlwcmludGYoIi1zLCAtLXNpemUgV3hICQkJU2V0IHRoZSBmcmFtZSBzaXplXG4iKTsKKy0JcHJpbnRmKCItdCwgLS10aW1lLXBlci1mcmFtZSBudW0vZGVub20JU2V0IHRoZSB0aW1lIHBlciBmcmFtZSAoZWcuIDEvMjUgPSAyNSBmcHMpXG4iKTsKKy0JcHJpbnRmKCItdSwgLS11c2VycHRyCQkJVXNlIHRoZSB1c2VyIHBvaW50ZXJzIHN0cmVhbWluZyBtZXRob2RcbiIpOworLQlwcmludGYoIi13LCAtLXNldC1jb250cm9sICdjdHJsIHZhbHVlJwlTZXQgY29udHJvbCAnY3RybCcgdG8gJ3ZhbHVlJ1xuIik7CistCXByaW50ZigiICAgIC0tZW51bS1mb3JtYXRzCQlFbnVtZXJhdGUgZm9ybWF0c1xuIik7CistCXByaW50ZigiICAgIC0tZW51bS1pbnB1dHMJCUVudW1lcmF0ZSBpbnB1dHNcbiIpOworLQlwcmludGYoIiAgICAtLWZkICAgICAgICAgICAgICAgICAgICAgICAgVXNlIGEgbnVtZXJpYyBmaWxlIGRlc2NyaXB0b3IgaW5zdGVkIG9mIGEgZGV2aWNlXG4iKTsKKy0JcHJpbnRmKCIgICAgLS1maWVsZAkJCUludGVybGFjZWQgZm9ybWF0IGZpZWxkIG9yZGVyXG4iKTsKKy0JcHJpbnRmKCIgICAgLS1uby1xdWVyeQkJCURvbid0IHF1ZXJ5IGNhcGFiaWxpdGllcyBvbiBvcGVuXG4iKTsKKy0JcHJpbnRmKCIgICAgLS1vZmZzZXQJCQlVc2VyIHBvaW50ZXIgYnVmZmVyIG9mZnNldCBmcm9tIHBhZ2Ugc3RhcnRcbiIpOworLQlwcmludGYoIiAgICAtLXJlcXVldWUtbGFzdAkJUmVxdWV1ZSB0aGUgbGFzdCBidWZmZXJzIGJlZm9yZSBzdHJlYW1vZmZcbiIpOworLQlwcmludGYoIiAgICAtLXRpbWVzdGFtcC1zb3VyY2UJCVNldCB0aW1lc3RhbXAgc291cmNlIG9uIG91dHB1dCBidWZmZXJzIFtlb2YsIHNvZV1cbiIpOworLQlwcmludGYoIiAgICAtLXNraXAgbgkJCVNraXAgdGhlIGZpcnN0IG4gZnJhbWVzXG4iKTsKKy0JcHJpbnRmKCIgICAgLS1zbGVlcC1mb3JldmVyCQlTbGVlcCBmb3JldmVyIGFmdGVyIGNvbmZpZ3VyaW5nIHRoZSBkZXZpY2VcbiIpOworLQlwcmludGYoIiAgICAtLXN0cmlkZSB2YWx1ZQkJTGluZSBzdHJpZGUgaW4gYnl0ZXNcbiIpOworKwlmcHJpbnRmKHN0ZGVyciwgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlXG4iLCBhcmd2MCk7CisrCWZwcmludGYoc3RkZXJyLCAiU3VwcG9ydGVkIG9wdGlvbnM6XG4iKTsKKysJZnByaW50ZihzdGRlcnIsICItQiwgLS1idWZmZXItdHlwZQkJQnVmZmVyIHR5cGUgKFwiY2FwdHVyZVwiLCBcIm91dHB1dFwiLFxuIik7CisrCWZwcmludGYoc3RkZXJyLCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNhcHR1cmUtbXBsYW5lXCIgb3IgXCJvdXRwdXQtbXBsYW5lXCIpXG4iKTsKKysJZnByaW50ZihzdGRlcnIsICItYywgLS1jYXB0dXJlWz1uZnJhbWVzXQkJQ2FwdHVyZSBmcmFtZXNcbiIpOworKwlmcHJpbnRmKHN0ZGVyciwgIi1DLCAtLWNoZWNrLW92ZXJydW4JCVZlcmlmeSBkZXF1ZXVlZCBmcmFtZXMgZm9yIGJ1ZmZlciBvdmVycnVuXG4iKTsKKysJZnByaW50ZihzdGRlcnIsICItZCwgLS1kZWxheQkJCURlbGF5IChpbiBtcykgYmVmb3JlIHJlcXVldWluZyBidWZmZXJzXG4iKTsKKysJZnByaW50ZihzdGRlcnIsICItZiwgLS1mb3JtYXQgZm9ybWF0CQlTZXQgdGhlIHZpZGVvIGZvcm1hdFxuIik7CisrCWZwcmludGYoc3RkZXJyLCAiLUYsIC0tZmlsZVs9bmFtZV0JCVJlYWQvd3JpdGUgZnJhbWVzIGZyb20vdG8gZGlza1xuIik7CisrCWZwcmludGYoc3RkZXJyLCAiXHRGb3IgdmlkZW8gY2FwdHVyZSBkZXZpY2VzLCB0aGUgZmlyc3QgJyMnIGNoYXJhY3RlciBpbiB0aGUgZmlsZSBuYW1lIGlzXG4iKTsKKysJZnByaW50ZihzdGRlcnIsICJcdGV4cGFuZGVkIHRvIHRoZSBmcmFtZSBzZXF1ZW5jZSBudW1iZXIuIFRoZSBkZWZhdWx0IGZpbGUgbmFtZSBpc1xuIik7CisrCWZwcmludGYoc3RkZXJyLCAiXHQnZnJhbWUtIy5iaW4nLlxuIik7CisrCWZwcmludGYoc3RkZXJyLCAiLWgsIC0taGVscAkJCVNob3cgdGhpcyBoZWxwIHNjcmVlblxuIik7CisrCWZwcmludGYoc3RkZXJyLCAiLWksIC0taW5wdXQgaW5wdXQJCVNlbGVjdCB0aGUgdmlkZW8gaW5wdXRcbiIpOworKwlmcHJpbnRmKHN0ZGVyciwgIi1JLCAtLWZpbGwtZnJhbWVzCQlGaWxsIGZyYW1lcyB3aXRoIGNoZWNrIHBhdHRlcm4gYmVmb3JlIHF1ZXVpbmcgdGhlbVxuIik7CisrCWZwcmludGYoc3RkZXJyLCAiLWwsIC0tbGlzdC1jb250cm9scwkJTGlzdCBhdmFpbGFibGUgY29udHJvbHNcbiIpOworKwlmcHJpbnRmKHN0ZGVyciwgIi1uLCAtLW5idWZzIG4JCQlTZXQgdGhlIG51bWJlciBvZiB2aWRlbyBidWZmZXJzXG4iKTsKKysJZnByaW50ZihzdGRlcnIsICItcCwgLS1wYXVzZQkJCVBhdXNlIGJlZm9yZSBzdGFydGluZyB0aGUgdmlkZW8gc3RyZWFtXG4iKTsKKysJZnByaW50ZihzdGRlcnIsICItcSwgLS1xdWFsaXR5IG4JCQlNSlBFRyBxdWFsaXR5ICgwLTEwMClcbiIpOworKwlmcHJpbnRmKHN0ZGVyciwgIi1yLCAtLWdldC1jb250cm9sIGN0cmwJCUdldCBjb250cm9sICdjdHJsJ1xuIik7CisrCWZwcmludGYoc3RkZXJyLCAiLVIsIC0tcmVhbHRpbWU9W3ByaW9yaXR5XQlFbmFibGUgcmVhbHRpbWUgUlIgc2NoZWR1bGluZ1xuIik7CisrCWZwcmludGYoc3RkZXJyLCAiLXMsIC0tc2l6ZSBXeEgJCQlTZXQgdGhlIGZyYW1lIHNpemVcbiIpOworKwlmcHJpbnRmKHN0ZGVyciwgIi10LCAtLXRpbWUtcGVyLWZyYW1lIG51bS9kZW5vbQlTZXQgdGhlIHRpbWUgcGVyIGZyYW1lIChlZy4gMS8yNSA9IDI1IGZwcylcbiIpOworKwlmcHJpbnRmKHN0ZGVyciwgIi11LCAtLXVzZXJwdHIJCQlVc2UgdGhlIHVzZXIgcG9pbnRlcnMgc3RyZWFtaW5nIG1ldGhvZFxuIik7CisrCWZwcmludGYoc3RkZXJyLCAiLXcsIC0tc2V0LWNvbnRyb2wgJ2N0cmwgdmFsdWUnCVNldCBjb250cm9sICdjdHJsJyB0byAndmFsdWUnXG4iKTsKKysJZnByaW50ZihzdGRlcnIsICIgICAgLS1lbnVtLWZvcm1hdHMJCUVudW1lcmF0ZSBmb3JtYXRzXG4iKTsKKysJZnByaW50ZihzdGRlcnIsICIgICAgLS1lbnVtLWlucHV0cwkJRW51bWVyYXRlIGlucHV0c1xuIik7CisrCWZwcmludGYoc3RkZXJyLCAiICAgIC0tZmQgICAgICAgICAgICAgICAgICAgICAgICBVc2UgYSBudW1lcmljIGZpbGUgZGVzY3JpcHRvciBpbnN0ZWQgb2YgYSBkZXZpY2VcbiIpOworKwlmcHJpbnRmKHN0ZGVyciwgIiAgICAtLWZpZWxkCQkJSW50ZXJsYWNlZCBmb3JtYXQgZmllbGQgb3JkZXJcbiIpOworKwlmcHJpbnRmKHN0ZGVyciwgIiAgICAtLW5vLXF1ZXJ5CQkJRG9uJ3QgcXVlcnkgY2FwYWJpbGl0aWVzIG9uIG9wZW5cbiIpOworKwlmcHJpbnRmKHN0ZGVyciwgIiAgICAtLW9mZnNldAkJCVVzZXIgcG9pbnRlciBidWZmZXIgb2Zmc2V0IGZyb20gcGFnZSBzdGFydFxuIik7CisrCWZwcmludGYoc3RkZXJyLCAiICAgIC0tcmVxdWV1ZS1sYXN0CQlSZXF1ZXVlIHRoZSBsYXN0IGJ1ZmZlcnMgYmVmb3JlIHN0cmVhbW9mZlxuIik7CisrCWZwcmludGYoc3RkZXJyLCAiICAgIC0tdGltZXN0YW1wLXNvdXJjZQkJU2V0IHRpbWVzdGFtcCBzb3VyY2Ugb24gb3V0cHV0IGJ1ZmZlcnMgW2VvZiwgc29lXVxuIik7CisrCWZwcmludGYoc3RkZXJyLCAiICAgIC0tc2tpcCBuCQkJU2tpcCB0aGUgZmlyc3QgbiBmcmFtZXNcbiIpOworKwlmcHJpbnRmKHN0ZGVyciwgIiAgICAtLXNsZWVwLWZvcmV2ZXIJCVNsZWVwIGZvcmV2ZXIgYWZ0ZXIgY29uZmlndXJpbmcgdGhlIGRldmljZVxuIik7CisrCWZwcmludGYoc3RkZXJyLCAiICAgIC0tc3RyaWRlIHZhbHVlCQlMaW5lIHN0cmlkZSBpbiBieXRlc1xuIik7CisgfQorIAorICNkZWZpbmUgT1BUX0VOVU1fRk9STUFUUwkyNTYKK0BAIC0xNjY1LDYgKzE2ODIsNyBAQCBzdGF0aWMgdm9pZCB1c2FnZShjb25zdCBjaGFyICphcmd2MCkKKyAjZGVmaW5lIE9QVF9GRAkJCTI2NAorICNkZWZpbmUgT1BUX1RTVEFNUF9TUkMJCTI2NQorICNkZWZpbmUgT1BUX0ZJRUxECQkyNjYKKysjZGVmaW5lIE9QVF9TVERPVVQJCTI2NworIAorIHN0YXRpYyBzdHJ1Y3Qgb3B0aW9uIG9wdHNbXSA9IHsKKyAJeyJidWZmZXItdHlwZSIsIDEsIDAsICdCJ30sCitAQCAtMTY3Nyw2ICsxNjk1LDcgQEAgc3RhdGljIHN0cnVjdCBvcHRpb24gb3B0c1tdID0geworIAl7ImZpZWxkIiwgMSwgMCwgT1BUX0ZJRUxEfSwKKyAJeyJmaWxlIiwgMiwgMCwgJ0YnfSwKKyAJeyJmaWxsLWZyYW1lcyIsIDAsIDAsICdJJ30sCisrCXsic3Rkb3V0IiwgMCwgMCwgT1BUX1NURE9VVH0sCisgCXsiZm9ybWF0IiwgMSwgMCwgJ2YnfSwKKyAJeyJoZWxwIiwgMCwgMCwgJ2gnfSwKKyAJeyJpbnB1dCIsIDEsIDAsICdpJ30sCitAQCAtMTcxNyw3ICsxNzM2LDggQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAJaW50IGRvX2xpc3RfY29udHJvbHMgPSAwLCBkb19nZXRfY29udHJvbCA9IDAsIGRvX3NldF9jb250cm9sID0gMDsKKyAJaW50IGRvX3NsZWVwX2ZvcmV2ZXIgPSAwLCBkb19yZXF1ZXVlX2xhc3QgPSAwOworIAlpbnQgZG9fcnQgPSAwOworLQlpbnQgbm9fcXVlcnkgPSAwOworKwlpbnQgbm9fcXVlcnkgPSAwOyAKKysJaW50IGRvX3N0ZG91dCA9IDA7CisgCWNoYXIgKmVuZHB0cjsKKyAJaW50IGM7CisgCitAQCAtMTc1NSw3ICsxNzc1LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAJCWNhc2UgJ0InOgorIAkJCXJldCA9IHY0bDJfYnVmX3R5cGVfZnJvbV9zdHJpbmcob3B0YXJnKTsKKyAJCQlpZiAocmV0ID09IC0xKSB7CistCQkJCXByaW50ZigiQmFkIGJ1ZmZlciB0eXBlIFwiJXNcIlxuIiwgb3B0YXJnKTsKKysJCQkJZnByaW50ZihzdGRlcnIsICJCYWQgYnVmZmVyIHR5cGUgXCIlc1wiXG4iLCBvcHRhcmcpOworIAkJCQlyZXR1cm4gMTsKKyAJCQl9CisgCQkJdmlkZW9fc2V0X2J1Zl90eXBlKCZkZXYsIHJldCk7CitAQCAtMTc3NSw3ICsxNzk1LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAJCQlkb19zZXRfZm9ybWF0ID0gMTsKKyAJCQlpbmZvID0gdjRsMl9mb3JtYXRfYnlfbmFtZShvcHRhcmcpOworIAkJCWlmIChpbmZvID09IE5VTEwpIHsKKy0JCQkJcHJpbnRmKCJVbnN1cHBvcnRlZCB2aWRlbyBmb3JtYXQgJyVzJ1xuIiwgb3B0YXJnKTsKKysJCQkJZnByaW50ZihzdGRlcnIsICJVbnN1cHBvcnRlZCB2aWRlbyBmb3JtYXQgJyVzJ1xuIiwgb3B0YXJnKTsKKyAJCQkJcmV0dXJuIDE7CisgCQkJfQorIAkJCXBpeGVsZm9ybWF0ID0gaW5mby0+Zm91cmNjOworQEAgLTE4MTIsNyArMTgzMiw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCQljYXNlICdyJzoKKyAJCQljdHJsX25hbWUgPSBzdHJ0b2wob3B0YXJnLCAmZW5kcHRyLCAwKTsKKyAJCQlpZiAoKmVuZHB0ciAhPSAwKSB7CistCQkJCXByaW50ZigiSW52YWxpZCBjb250cm9sIG5hbWUgJyVzJ1xuIiwgb3B0YXJnKTsKKysJCQkJZnByaW50ZihzdGRlcnIsICJJbnZhbGlkIGNvbnRyb2wgbmFtZSAnJXMnXG4iLCBvcHRhcmcpOworIAkJCQlyZXR1cm4gMTsKKyAJCQl9CisgCQkJZG9fZ2V0X2NvbnRyb2wgPSAxOworQEAgLTE4MjYsMTIgKzE4NDYsMTIgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAJCQlkb19zZXRfZm9ybWF0ID0gMTsKKyAJCQl3aWR0aCA9IHN0cnRvbChvcHRhcmcsICZlbmRwdHIsIDEwKTsKKyAJCQlpZiAoKmVuZHB0ciAhPSAneCcgfHwgZW5kcHRyID09IG9wdGFyZykgeworLQkJCQlwcmludGYoIkludmFsaWQgc2l6ZSAnJXMnXG4iLCBvcHRhcmcpOworKwkJCQlmcHJpbnRmKHN0ZGVyciwgIkludmFsaWQgc2l6ZSAnJXMnXG4iLCBvcHRhcmcpOworIAkJCQlyZXR1cm4gMTsKKyAJCQl9CisgCQkJaGVpZ2h0ID0gc3RydG9sKGVuZHB0ciArIDEsICZlbmRwdHIsIDEwKTsKKyAJCQlpZiAoKmVuZHB0ciAhPSAwKSB7CistCQkJCXByaW50ZigiSW52YWxpZCBzaXplICclcydcbiIsIG9wdGFyZyk7CisrCQkJCWZwcmludGYoc3RkZXJyLCAiSW52YWxpZCBzaXplICclcydcbiIsIG9wdGFyZyk7CisgCQkJCXJldHVybiAxOworIAkJCX0KKyAJCQlicmVhazsKK0BAIC0xODM5LDEyICsxODU5LDEyIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCQkJZG9fc2V0X3RpbWVfcGVyX2ZyYW1lID0gMTsKKyAJCQl0aW1lX3Blcl9mcmFtZS5udW1lcmF0b3IgPSBzdHJ0b2wob3B0YXJnLCAmZW5kcHRyLCAxMCk7CisgCQkJaWYgKCplbmRwdHIgIT0gJy8nIHx8IGVuZHB0ciA9PSBvcHRhcmcpIHsKKy0JCQkJcHJpbnRmKCJJbnZhbGlkIHRpbWUgcGVyIGZyYW1lICclcydcbiIsIG9wdGFyZyk7CisrCQkJCWZwcmludGYoc3RkZXJyLCAiSW52YWxpZCB0aW1lIHBlciBmcmFtZSAnJXMnXG4iLCBvcHRhcmcpOworIAkJCQlyZXR1cm4gMTsKKyAJCQl9CisgCQkJdGltZV9wZXJfZnJhbWUuZGVub21pbmF0b3IgPSBzdHJ0b2woZW5kcHRyICsgMSwgJmVuZHB0ciwgMTApOworIAkJCWlmICgqZW5kcHRyICE9IDApIHsKKy0JCQkJcHJpbnRmKCJJbnZhbGlkIHRpbWUgcGVyIGZyYW1lICclcydcbiIsIG9wdGFyZyk7CisrCQkJCWZwcmludGYoc3RkZXJyLCAiSW52YWxpZCB0aW1lIHBlciBmcmFtZSAnJXMnXG4iLCBvcHRhcmcpOworIAkJCQlyZXR1cm4gMTsKKyAJCQl9CisgCQkJYnJlYWs7CitAQCAtMTg1NCwxMiArMTg3NCwxMiBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAkJY2FzZSAndyc6CisgCQkJY3RybF9uYW1lID0gc3RydG9sKG9wdGFyZywgJmVuZHB0ciwgMCk7CisgCQkJaWYgKCplbmRwdHIgIT0gJyAnIHx8IGVuZHB0ciA9PSBvcHRhcmcpIHsKKy0JCQkJcHJpbnRmKCJJbnZhbGlkIGNvbnRyb2wgbmFtZSAnJXMnXG4iLCBvcHRhcmcpOworKwkJCQlmcHJpbnRmKHN0ZGVyciwgIkludmFsaWQgY29udHJvbCBuYW1lICclcydcbiIsIG9wdGFyZyk7CisgCQkJCXJldHVybiAxOworIAkJCX0KKyAJCQljdHJsX3ZhbHVlID0gc3RydG9sKGVuZHB0ciArIDEsICZlbmRwdHIsIDApOworIAkJCWlmICgqZW5kcHRyICE9IDApIHsKKy0JCQkJcHJpbnRmKCJJbnZhbGlkIGNvbnRyb2wgdmFsdWUgJyVzJ1xuIiwgb3B0YXJnKTsKKysJCQkJZnByaW50ZihzdGRlcnIsICJJbnZhbGlkIGNvbnRyb2wgdmFsdWUgJyVzJ1xuIiwgb3B0YXJnKTsKKyAJCQkJcmV0dXJuIDE7CisgCQkJfQorIAkJCWRvX3NldF9jb250cm9sID0gMTsKK0BAIC0xODczLDE2ICsxODkzLDE2IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCQljYXNlIE9QVF9GRDoKKyAJCQlyZXQgPSBhdG9pKG9wdGFyZyk7CisgCQkJaWYgKHJldCA8IDApIHsKKy0JCQkJcHJpbnRmKCJCYWQgZmlsZSBkZXNjcmlwdG9yICVkXG4iLCByZXQpOworKwkJCQlmcHJpbnRmKHN0ZGVyciwgIkJhZCBmaWxlIGRlc2NyaXB0b3IgJWRcbiIsIHJldCk7CisgCQkJCXJldHVybiAxOworIAkJCX0KKy0JCQlwcmludGYoIlVzaW5nIGZpbGUgZGVzY3JpcHRvciAlZFxuIiwgcmV0KTsKKysJCQlmcHJpbnRmKHN0ZGVyciwgIlVzaW5nIGZpbGUgZGVzY3JpcHRvciAlZFxuIiwgcmV0KTsKKyAJCQl2aWRlb19zZXRfZmQoJmRldiwgcmV0KTsKKyAJCQlicmVhazsKKyAJCWNhc2UgT1BUX0ZJRUxEOgorIAkJCWZpZWxkID0gdjRsMl9maWVsZF9mcm9tX3N0cmluZyhvcHRhcmcpOworIAkJCWlmIChmaWVsZCA9PSAoZW51bSB2NGwyX2ZpZWxkKS0xKSB7CistCQkJCXByaW50ZigiSW52YWxpZCBmaWVsZCBvcmRlciAnJXMnXG4iLCBvcHRhcmcpOworKwkJCQlmcHJpbnRmKHN0ZGVyciwgIkludmFsaWQgZmllbGQgb3JkZXIgJyVzJ1xuIiwgb3B0YXJnKTsKKyAJCQkJcmV0dXJuIDE7CisgCQkJfQorIAkJCWJyZWFrOworQEAgLTE5MDcsMjIgKzE5MjcsMjUgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAJCQl9IGVsc2UgaWYgKCFzdHJjbXAob3B0YXJnLCAic29lIikpIHsKKyAJCQkJZGV2LmJ1ZmZlcl9vdXRwdXRfZmxhZ3MgfD0gVjRMMl9CVUZfRkxBR19UU1RBTVBfU1JDX1NPRTsKKyAJCQl9IGVsc2UgeworLQkJCQlwcmludGYoIkludmFsaWQgdGltZXN0YW1wIHNvdXJjZSAlc1xuIiwgb3B0YXJnKTsKKysJCQkJZnByaW50ZihzdGRlcnIsICJJbnZhbGlkIHRpbWVzdGFtcCBzb3VyY2UgJXNcbiIsIG9wdGFyZyk7CisgCQkJCXJldHVybiAxOworIAkJCX0KKyAJCQlicmVhazsKKyAJCWNhc2UgT1BUX1VTRVJQVFJfT0ZGU0VUOgorIAkJCXVzZXJwdHJfb2Zmc2V0ID0gYXRvaShvcHRhcmcpOworIAkJCWJyZWFrOworKwkJY2FzZSBPUFRfU1RET1VUOgorKwkJCWRvX3N0ZG91dCA9IDE7CisrCQkJYnJlYWs7CisgCQlkZWZhdWx0OgorLQkJCXByaW50ZigiSW52YWxpZCBvcHRpb24gLSVjXG4iLCBjKTsKKy0JCQlwcmludGYoIlJ1biAlcyAtaCBmb3IgaGVscC5cbiIsIGFyZ3ZbMF0pOworKwkJCWZwcmludGYoc3RkZXJyLCAiSW52YWxpZCBvcHRpb24gLSVjXG4iLCBjKTsKKysJCQlmcHJpbnRmKHN0ZGVyciwgIlJ1biAlcyAtaCBmb3IgaGVscC5cbiIsIGFyZ3ZbMF0pOworIAkJCXJldHVybiAxOworIAkJfQorIAl9CisgCisgCWlmICgoZmlsbF9tb2RlICYgQlVGRkVSX0ZJTExfUEFERElORykgJiYgbWVtdHlwZSAhPSBWNEwyX01FTU9SWV9VU0VSUFRSKSB7CistCQlwcmludGYoIkJ1ZmZlciBvdmVycnVuIGNhbiBvbmx5IGJlIGNoZWNrZWQgaW4gVVNFUlBUUiBtb2RlLlxuIik7CisrCQlmcHJpbnRmKHN0ZGVyciwgIkJ1ZmZlciBvdmVycnVuIGNhbiBvbmx5IGJlIGNoZWNrZWQgaW4gVVNFUlBUUiBtb2RlLlxuIik7CisgCQlyZXR1cm4gMTsKKyAJfQorIAorQEAgLTE5NTksNyArMTk4Miw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCQlyZXQgPSBnZXRfY29udHJvbCgmZGV2LCBjdHJsX25hbWUsCisgCQkJCSAgZ2V0X2NvbnRyb2xfdHlwZSgmZGV2LCBjdHJsX25hbWUpLCAmdmFsKTsKKyAJCWlmIChyZXQgPj0gMCkKKy0JCQlwcmludGYoIkNvbnRyb2wgMHglMDh4IHZhbHVlICUiIFBSSWQ2NCAiXG4iLCBjdHJsX25hbWUsIHZhbCk7CisrCQkJZnByaW50ZihzdGRlcnIsICJDb250cm9sIDB4JTA4eCB2YWx1ZSAlIiBQUklkNjQgIlxuIiwgY3RybF9uYW1lLCB2YWwpOworIAl9CisgCisgCWlmIChkb19zZXRfY29udHJvbCkKK0BAIC0xOTcwLDcgKzE5OTMsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAkJdmlkZW9fbGlzdF9jb250cm9scygmZGV2KTsKKyAKKyAJaWYgKGRvX2VudW1fZm9ybWF0cykgeworLQkJcHJpbnRmKCItIEF2YWlsYWJsZSBmb3JtYXRzOlxuIik7CisrCQlmcHJpbnRmKHN0ZGVyciwgIi0gQXZhaWxhYmxlIGZvcm1hdHM6XG4iKTsKKyAJCXZpZGVvX2VudW1fZm9ybWF0cygmZGV2LCBWNEwyX0JVRl9UWVBFX1ZJREVPX0NBUFRVUkUpOworIAkJdmlkZW9fZW51bV9mb3JtYXRzKCZkZXYsIFY0TDJfQlVGX1RZUEVfVklERU9fQ0FQVFVSRV9NUExBTkUpOworIAkJdmlkZW9fZW51bV9mb3JtYXRzKCZkZXYsIFY0TDJfQlVGX1RZUEVfVklERU9fT1VUUFVUKTsKK0BAIC0xOTc5LDE0ICsyMDAyLDE0IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCX0KKyAKKyAJaWYgKGRvX2VudW1faW5wdXRzKSB7CistCQlwcmludGYoIi0gQXZhaWxhYmxlIGlucHV0czpcbiIpOworKwkJZnByaW50ZihzdGRlcnIsICItIEF2YWlsYWJsZSBpbnB1dHM6XG4iKTsKKyAJCXZpZGVvX2VudW1faW5wdXRzKCZkZXYpOworIAl9CisgCisgCWlmIChkb19zZXRfaW5wdXQpIHsKKyAJCXZpZGVvX3NldF9pbnB1dCgmZGV2LCBpbnB1dCk7CisgCQlyZXQgPSB2aWRlb19nZXRfaW5wdXQoJmRldik7CistCQlwcmludGYoIklucHV0ICVkIHNlbGVjdGVkXG4iLCByZXQpOworKwkJZnByaW50ZihzdGRlcnIsICJJbnB1dCAlZCBzZWxlY3RlZFxuIiwgcmV0KTsKKyAJfQorIAorIAkvKiBTZXQgdGhlIHZpZGVvIGZvcm1hdC4gKi8KK0BAIC0yMDI4LDcgKzIwNTEsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAl9CisgCisgCWlmIChkb19wYXVzZSkgeworLQkJcHJpbnRmKCJQcmVzcyBlbnRlciB0byBzdGFydCBjYXB0dXJlXG4iKTsKKysJCWZwcmludGYoc3RkZXJyLCAiUHJlc3MgZW50ZXIgdG8gc3RhcnQgY2FwdHVyZVxuIik7CisgCQlnZXRjaGFyKCk7CisgCX0KKyAKK0BAIC0yMDM3LDEyICsyMDYwLDEyIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCQlzY2hlZC5zY2hlZF9wcmlvcml0eSA9IHJ0X3ByaW9yaXR5OworIAkJcmV0ID0gc2NoZWRfc2V0c2NoZWR1bGVyKDAsIFNDSEVEX1JSLCAmc2NoZWQpOworIAkJaWYgKHJldCA8IDApCistCQkJcHJpbnRmKCJGYWlsZWQgdG8gc2VsZWN0IFJSIHNjaGVkdWxlcjogJXMgKCVkKVxuIiwKKysJCQlmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBzZWxlY3QgUlIgc2NoZWR1bGVyOiAlcyAoJWQpXG4iLAorIAkJCQlzdHJlcnJvcihlcnJubyksIGVycm5vKTsKKyAJfQorIAorIAlpZiAodmlkZW9fZG9fY2FwdHVyZSgmZGV2LCBuZnJhbWVzLCBza2lwLCBkZWxheSwgZmlsZW5hbWUsCistCQkJICAgICBkb19yZXF1ZXVlX2xhc3QsIGZpbGxfbW9kZSkgPCAwKSB7CisrCQkJICAgICBkb19yZXF1ZXVlX2xhc3QsIGZpbGxfbW9kZSwgZG9fc3Rkb3V0KSA8IDApIHsKKyAJCXZpZGVvX2Nsb3NlKCZkZXYpOworIAkJcmV0dXJuIDE7CisgCX0KKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3Y0bDJhcHBzL3lhdnRhX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvdjRsMmFwcHMveWF2dGFfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExOTJkMWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3Y0bDJhcHBzL3lhdnRhX2dpdC5iYgpAQCAtMCwwICsxLDI1IEBACitTVU1NQVJZID0gIllldCBBbm90aGVyIFY0TDIgVGVzdCBBcHBsaWNhdGlvbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLkdQTDttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LmlkZWFzb25ib2FyZC5vcmcveWF2dGEuZ2l0IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQWRkLXN0ZG91dC1tb2RlLXRvLWFsbG93LXN0cmVhbWluZy1vdmVyLXRoZS1uZXR3b3JrLS5wYXRjaCIKK1NSQ1JFViA9ICI3ZTlmMjhiZWRjMWVkMzIwNWZiNTE2NGY2ODZhZWE5NmYyN2EwZGUyIgorCitQViA9ICIwLjAiCitQUiA9ICJyMiIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0VYVFJBX09FTUFLRSA9ICItZSBNQUtFRkxBR1M9IgorCisjIFRoZSB5YXZ0YSBzb3VyY2VzIGluY2x1ZGUgY29waWVzIG9mIHRoZSBoZWFkZXJzIHJlcXVpcmVkIHRvIGJ1aWxkIGluIHRoZQorIyBpbmNsdWRlIGRpcmVjdG9yeS4gIFRoZSBNYWtlZmlsZSB1c2VzIENGTEFHUyB0byBpbmNsdWRlIHRoZXNlLCBidXQgc2luY2UKKyMgd2Ugb3ZlcnJpZGUgdGhlIENGTEFHUyB0aGVuIHdlIG5lZWQgdG8gYWRkIHRoaXMgaW5jbHVkZSBwYXRoIGJhY2sgaW4uCitDRkxBR1MgKz0gIi1JJHtTfS9pbmNsdWRlIgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSB5YXZ0YSAke0R9JHtiaW5kaXJ9Cit9CisKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS93YXZwYWNrL3dhdnBhY2tfNC42MC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS93YXZwYWNrL3dhdnBhY2tfNC42MC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjNWI4NDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3dhdnBhY2svd2F2cGFja180LjYwLjEuYmIKQEAgLTAsMCArMSwxMCBAQAorREVTQ1JJUFRJT04gPSAiV2F2UGFjayBpcyBhIGNvbXBsZXRlbHkgb3BlbiBhdWRpbyBjb21wcmVzc2lvbiBmb3JtYXQgcHJvdmlkaW5nIGxvc3NsZXNzLCBoaWdoLXF1YWxpdHkgbG9zc3ksIGFuZCBhIHVuaXF1ZSBoeWJyaWQgY29tcHJlc3Npb24gbW9kZS4iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2xpY2Vuc2UudHh0O21kNT1mNTk2NjUwODA3NTg4YzYxZmNhYjYwYmVjODI0MmRmOCIKKworU1JDX1VSSSA9ICJodHRwOi8vd2F2cGFjay5jb20vd2F2cGFjay0ke1BWfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gIjdiYjE1MjhmOTEwZTRkMDAwMzQyNmMwMmRiODU2MDYzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjE3NWVlNGYyZWZmZDZmNTFlNmVjNDg3OTU2ZjQxMTc3MjU2YmY4OTJjMmU4ZTA3ZGU1ZDI3ZWQ0ZWU2ODg4YzUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGxpYl9wYWNrYWdlCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvd2VibS9saWJ2cHgvbGlidnB4LWNvbmZpZ3VyZS1zdXBwb3J0LWJsYW5rLXByZWZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvd2VibS9saWJ2cHgvbGlidnB4LWNvbmZpZ3VyZS1zdXBwb3J0LWJsYW5rLXByZWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jN2E2ZTUxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS93ZWJtL2xpYnZweC9saWJ2cHgtY29uZmlndXJlLXN1cHBvcnQtYmxhbmstcHJlZml4LnBhdGNoCkBAIC0wLDAgKzEsNDMgQEAKK1Vwc3RyZWFtOiBub3QgeWV0CisKK0ZpeCBjb25maWd1cmUgdG8gYWNjZXB0ICItLXByZWZpeD0iIChhIGJsYW5rIHByZWZpeCkuCisKKy0tLSBsaWJ2cHgtMC45LjEvYnVpbGQvbWFrZS9jb25maWd1cmUuc2gub3JpZwkyMDEwLTA2LTE3IDA5OjA4OjU2LjAwMDAwMDAwMCAtMDQwMAorKysrIGxpYnZweC0wLjkuMS9idWlsZC9tYWtlL2NvbmZpZ3VyZS5zaAkyMDEwLTA5LTIzIDE0OjI3OjQ4LjAwMDAwMDAwMCAtMDQwMAorQEAgLTQ0NCw2ICs0NDQsOCBAQAorICAgICAgICAgOzsKKyAgICAgICAgIC0tcHJlZml4PSopCisgICAgICAgICBwcmVmaXg9IiR7b3B0dmFsfSIKKysgICAgICAgICMgRGlzdGluZ3Vpc2ggYmV0d2VlbiAicHJlZml4IG5vdCBzZXQiIGFuZCAicHJlZml4IHNldCB0byAnJyIKKysgICAgICAgIHByZWZpeHNldD0xCisgICAgICAgICA7OworICAgICAgICAgLS1saWJkaXI9KikKKyAgICAgICAgIGxpYmRpcj0iJHtvcHR2YWx9IgorQEAgLTU4NywxMyArNTg3LDIzIEBAIHByb2Nlc3NfY21kbGluZSgpIHsKKyB9CisgCisgcG9zdF9wcm9jZXNzX2NvbW1vbl9jbWRsaW5lKCkgeworLSAgcHJlZml4PSIke3ByZWZpeDotL3Vzci9sb2NhbH0iCisrICBpZiBbICIkcHJlZml4c2V0IiAhPSAiMSIgXQorKyAgdGhlbgorKyAgICAgIHByZWZpeD0vdXNyL2xvY2FsCisrICBmaQorKworKyAgIyBTdHJpcCB0cmFpbGluZyBzbGFzaAorICAgcHJlZml4PSIke3ByZWZpeCUvfSIKKysKKyAgIGxpYmRpcj0iJHtsaWJkaXI6LSR7cHJlZml4fS9saWJ9IgorICAgbGliZGlyPSIke2xpYmRpciUvfSIKKy0gIGlmIFsgIiR7bGliZGlyIyR7cHJlZml4fX0iID0gIiR7bGliZGlyfSIgXTsgdGhlbgorLSAgICBkaWUgIkxpYmRpciAke2xpYmRpcn0gbXVzdCBiZSBhIHN1YmRpcmVjdG9yeSBvZiAke3ByZWZpeH0iCistICBmaQorKworKyAgY2FzZSAiJGxpYmRpciIgaW4KKysgICAgICAiJHtwcmVmaXh9LyIqKSA7OworKyAgICAgICopCisrICAgICAgICAgIGRpZSAiTGliZGlyICR7bGliZGlyfSBtdXN0IGJlIGEgc3ViZGlyZWN0b3J5IG9mICR7cHJlZml4fSIKKysgICAgICAgICAgOzsKKysgIGVzYWMKKyB9CisgCisgcG9zdF9wcm9jZXNzX2NtZGxpbmUoKSB7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3dlYm0vbGlidnB4XzEuNS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS93ZWJtL2xpYnZweF8xLjUuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NDg4MThlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS93ZWJtL2xpYnZweF8xLjUuMC5iYgpAQCAtMCwwICsxLDQ5IEBACitTVU1NQVJZID0gIlZQWCBtdWx0aS1mb3JtYXQgY29kZWMiCitERVNDUklQVElPTiA9ICJUaGUgQlNELWxpY2Vuc2VkIGxpYnZweCByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gcHJvdmlkZXMgZW4tIGFuZCBkZWNvZGVycyBmb3IgVlA4IGFuZCBWUDkgYml0c3RyZWFtcy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy9jb2RlLyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3dlYm0vaXNzdWVzL2xpc3QiCitTRUNUSU9OID0gImxpYnMvbXVsdGltZWRpYSIKK0xJQ0VOU0UgPSAiQlNEIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1kNWIwNDc1NTAxNWJlOTAxNzQ0YTc4Y2MzMGQzOTBkNCIKKworU1JDX1VSSSArPSAiaHR0cDovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWRzLndlYm1wcm9qZWN0Lm9yZy9yZWxlYXNlcy93ZWJtLyR7QlB9LnRhci5iejIgXAorICAgICAgICAgICAgZmlsZTovL2xpYnZweC1jb25maWd1cmUtc3VwcG9ydC1ibGFuay1wcmVmaXgucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiNDllNTlkZDE4NGNhYTI1NTg4NjY4M2ZhY2VhNTZmY2EiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzA2ZDY3OTA4NjI1Njc1ZjhlMTg4ZDM3YTgxZmJmYWZkZjUwNjhiMDlkOWFhNTI3MDJiNmZiZTYwMWM3Njc5NyIKKworIyBmZm1wZWcgbGlua3Mgd2l0aCB0aGlzIGFuZCBmYWlscworIyBzeXNyb290cy9hcm12NHQtb2UtbGludXgtZ251ZWFiaS91c3IvbGliL2xpYnZweC5hKHZweF9lbmNvZGVyLmMubykoLnRleHQrMHhjNCk6IHVucmVzb2x2YWJsZSBSX0FSTV9USE1fQ0FMTCByZWxvY2F0aW9uIGFnYWluc3Qgc3ltYm9sIGBtZW1jcHlAQEdMSUJDXzIuNCcKK0FSTV9JTlNUUlVDVElPTl9TRVQgPSAiYXJtIgorCitDRkxBR1MgKz0gIi1mUElDIgorCitleHBvcnQgQ0MKK2V4cG9ydCBMRCA9ICIke0NDfSIKKworVlBYVEFSR0VUX2FybXY1dGUgPSAiYXJtdjV0ZS1saW51eC1nY2MiCitWUFhUQVJHRVRfYXJtdjYgPSAiYXJtdjYtbGludXgtZ2NjIgorVlBYVEFSR0VUX2FybXY3YSA9ICJhcm12Ny1saW51eC1nY2MiCitWUFhUQVJHRVQgPz0gImdlbmVyaWMtZ251IgorCitDT05GSUdVUkVPUFRTID0gIiBcCisgICAgLS10YXJnZXQ9JHtWUFhUQVJHRVR9IFwKKyAgICAtLWVuYWJsZS12cDkgXAorICAgIC0tZW5hYmxlLWxpYnMgXAorICAgIC0tZGlzYWJsZS1pbnN0YWxsLWRvY3MgXAorICAgIC0tZGlzYWJsZS1zdGF0aWMgXAorICAgIC0tZW5hYmxlLXNoYXJlZCBcCisgICAgLS1wcmVmaXg9JHtwcmVmaXh9IFwKKyAgICAtLWxpYmRpcj0ke2xpYmRpcn0gXAorICAgIC0tc2l6ZS1saW1pdD0xNjM4NHgxNjM4NCBcCisiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICAke1N9L2NvbmZpZ3VyZSAke0NPTkZJR1VSRU9QVFN9Cit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfQorICAgIGNob3duIC1SIHJvb3Q6cm9vdCAke0R9Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3hwZXh0L3hwZXh0L2F1eGRpci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEveHBleHQveHBleHQvYXV4ZGlyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhNTg0MWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3hwZXh0L3hwZXh0L2F1eGRpci5wYXRjaApAQCAtMCwwICsxLDEzIEBACistLS0gY29uZmlndXJlLmFjLm9sZAkyMDA1LTA2LTAzIDEyOjUzOjI4LjAwMDAwMDAwMCArMDIwMAorKysrIGNvbmZpZ3VyZS5hYwkyMDA1LTA2LTAzIDEyOjU0OjI5LjAwMDAwMDAwMCArMDIwMAorQEAgLTI1LDkgKzI1LDkgQEAKKyAKKyBBQ19QUkVSRVEoWzIuNTddKQorIEFDX0lOSVQoW3NwZXh0XSwgWzEuMF0sIFtsYXVyaS5sZXVra3VuZW5Abm9raWEuY29tXSwgc3BleHQpCisrQUNfQ09ORklHX0FVWF9ESVIoLikKKyBBTV9JTklUX0FVVE9NQUtFKFtkaXN0LWJ6aXAyXSkKKyBBTV9NQUlOVEFJTkVSX01PREUKKy1BQ19DT05GSUdfQVVYX0RJUiguKQorIAorIGRubCBQS0dfQ0hFQ0tfTU9EVUxFUyhGSVhFU0VYVCwgZml4ZXNleHQpCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3hwZXh0L3hwZXh0XzEuMC01LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS94cGV4dC94cGV4dF8xLjAtNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNjU1NDZkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS94cGV4dC94cGV4dF8xLjAtNS5iYgpAQCAtMCwwICsxLDE3IEBACitMSUNFTlNFPSAiTUlUIgorU1VNTUFSWSA9ICJYIFNlcnZlciBOb2tpYSA3NzAgZXh0ZW5zaW9ucyBsaWJyYXJ5IgorU0VDVElPTiA9ICJ4MTEvbGlicyIKK0RFUEVORFMgPSAidmlydHVhbC9saWJ4MTEgbGlieGV4dCIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZGIwNDM3OTEzNDliYTU3YWQxMTY5ZTFjOTI0NzdjYjYiCisKK1NSQ19VUkkgPSAiaHR0cDovL3JlcG9zaXRvcnkubWFlbW8ub3JnL3Bvb2wvbWFlbW8vb3Nzdy9zb3VyY2UveC8ke0JQTn0vJHtCUE59XyR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9hdXhkaXIucGF0Y2g7c3RyaXBsZXZlbD0wIgorUyA9ICIke1dPUktESVJ9L3hwZXh0LTEuMCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGRpc3Ryb19mZWF0dXJlc19jaGVjaworIyBkZXBlbmRzIG9uIHZpcnR1YWwvbGlieDExCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMWIwY2I2N2I2ZjJiZDdjNGFiZWYxNzY0OGIwNjI4OTYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTNiMDZmNTE4OGZkOWVmZmQwNzk5YWUzMTM1MmIzY2Q2NWNiOTEzYjk2NGUyYzFhOTIzZmZhOWQzYzA4YWJiZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEveHNwL3hzcC94c3AtZml4LXBjLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS94c3AveHNwL3hzcC1maXgtcGMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMThiYzY3YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEveHNwL3hzcC94c3AtZml4LXBjLnBhdGNoCkBAIC0wLDAgKzEsMTAgQEAKKy0tLSBYc3AveHNwLnBjLmlufgkyMDA5LTAxLTA3IDEzOjA2OjA3LjAwMDAwMDAwMCArMDEwMAorKysrIFhzcC94c3AucGMuaW4JMjAwOS0wMS0wNyAxMzowNjowNy4wMDAwMDAwMDAgKzAxMDAKK0BAIC02LDUgKzYsNSBAQAorIE5hbWU6IFhzcAorIERlc2NyaXB0aW9uOiBYIFNwdXRuaWsgTGlicmFyeQorIFZlcnNpb246IEBQQUNLQUdFX1ZFUlNJT05ACistQ2ZsYWdzOiAtSSR7aW5jbHVkZWRpcn0gIEBYU1BfQ0ZMQUdTQCBAWF9DRkxBR1NACistTGliczogLUwke2xpYmRpcn0gLWxYc3AgQFhTUF9MSUJTQCBAWF9MSUJTQAorK0NmbGFnczogLUkke2luY2x1ZGVkaXJ9CisrTGliczogLUwke2xpYmRpcn0gLWxYc3AgLWxYMTEKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEveHNwL3hzcF8xLjAuMC04LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS94c3AveHNwXzEuMC4wLTguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzdhMDY4ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEveHNwL3hzcF8xLjAuMC04LmJiCkBAIC0wLDAgKzEsMTUgQEAKK0xJQ0VOU0U9ICJNSVQiCitTVU1NQVJZID0gIlggU2VydmVyIE5va2lhIDc3MCBleHRlbnNpb25zIGxpYnJhcnkiCitTRUNUSU9OID0gIngxMS9saWJzIgorREVQRU5EUyA9ICJ2aXJ0dWFsL2xpYngxMSBsaWJ4ZXh0IHhwZXh0IgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZWEyYmRhMTY4YzUwOGM3Y2Q4YWZhNTY3YjJmY2M1NDkiCitTUkNfVVJJID0gImh0dHA6Ly9yZXBvc2l0b3J5Lm1hZW1vLm9yZy9wb29sL21hZW1vL29zc3cvc291cmNlL3gveHNwLyR7QlBOfV8ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8veHNwLWZpeC1wYy5wYXRjaCIKK1MgPSAiJHtXT1JLRElSfS9Yc3AiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKyMgZGVwZW5kcyBvbiB2aXJ0dWFsL2xpYngxMQorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjJhMGQ4ZDAyMjI4ZDRjYmQyOGI2ZTA3YmI3YzE3Y2Y1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhiNzIyYjk1MmI2NDg0MWQ5OTZjNzBjMzI3ODQ5OTg4NmM4MWJiNTAxMjk5MWJlZWQ1ZjY2ZjQxNTg0MThmNTkiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2ZveHRyb3RncHMvZm94dHJvdGdwc18xLjEuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZm94dHJvdGdwcy9mb3h0cm90Z3BzXzEuMS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5MWNiY2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2ZveHRyb3RncHMvZm94dHJvdGdwc18xLjEuMS5iYgpAQCAtMCwwICsxLDI2IEBACitTVU1NQVJZID0gIkZveHRyb3RHUFMgaXMgYSBtYXAgYW5kIEdQUyBhcHBsaWNhdGlvbiB1c2luZyBPcGVuU3RyZWV0TWFwIgorQVVUSE9SID0gIkpvc2h1YSBKdWRzb24gUm9zZW4gPHJvenppbkBnZWVrc3BhY2UuY29tPiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZm94dHJvdGdwcy5vcmcvIgorU0VDVElPTiA9ICJ4MTEvYXBwbGljYXRpb25zIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIgorREVQRU5EUyA9ICJjdXJsIGd0aysgbGliZ2xhZGUgc3FsaXRlMyBsaWJleGlmIGdwc2QgYmx1ZXo0IGludGx0b29sLW5hdGl2ZSIKKworUE5CTEFDS0xJU1RbZm94dHJvdGdwc10gPz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYmx1ZXo1JywgJ2JsdWV6NSBjb25mbGljdHMgd2l0aCBibHVlejQgYW5kIGJsdWV6NSBpcyBzZWxlY3RlZCBpbiBESVNUUk9fRkVBVFVSRVMnLCAnJywgZCl9IgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZm94dHJvdGdwcy5vcmcvcmVsZWFzZXMvJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjY3NzdkNDQ4ZWU5ZDNiYTE5NWY5ZDI2ZWE5MGUzMTYzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFlOTcwNjI4NTUxMDU1NGNjMDgxM2FjOTI1MjJlMGQxNjcyYjBkZGIwNjUzMDdiZmFjZmNmZjNjMzI4ZjZhZGIiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBwZXJsbmF0aXZlIGdjb25mCisKK1BSID0gInIyIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBpZiBbIC1mICR7U30vY29uZmlndXJlLmluIF0gOyB0aGVuCisgICAgbXYgJHtTfS9jb25maWd1cmUuaW4gJHtTfS9jb25maWd1cmUuYWMKKyAgICBmaQorfQorCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uIHBlcmwiCitSUkVDT01NRU5EU18ke1BOfSA9ICJncHNkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9nZGFsL2dkYWxfMS4xMS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9nZGFsL2dkYWxfMS4xMS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxMjgwNmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dkYWwvZ2RhbF8xLjExLjEuYmIKQEAgLTAsMCArMSwxMTQgQEAKK1NVTU1BUlkgPSAiR0RBTCBpcyBhIHRyYW5zbGF0b3IgbGlicmFyeSBmb3IgcmFzdGVyIGdlb3NwYXRpYWwgZGF0YSBmb3JtYXRzIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nZGFsLm9yZy8iCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UuVFhUO21kNT0wOTUyZTE3OTY5ZmFiMTIyMjcwOTZiNTIyOGYyMzE0OSIKKworREVQRU5EUyA9ICJwcm9qIHNxbGl0ZTMgdGlmZiBqc29uLWMiCisKK1NSQ19VUkkgPSAiZnRwOi8vZG93bmxvYWQub3NnZW8ub3JnL2dkYWwvJHtQVn0vJHtCUH0udGFyLnh6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiMmUxMjZkN2M2NjA1NjkxZDM4ZjNlNzFiOTQ1ZjVjNzMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjBlMTA0MmNmZjE1YTcxMDM4NDU5YTI5OTczMmZiMzQyNDI4YWVhOTkxMmYzMmRmMzBjODU3OTBmY2FiNjMwMiIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIGxpYl9wYWNrYWdlIGJpbmNvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiLS13aXRob3V0LXBlcmwgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1waHAgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1ydWJ5IFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtcHl0aG9uIFwKKyAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LWdyYXNzIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtbGliZ3Jhc3MgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1jZml0c2lvIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtZGRzIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtZ3RhIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtcGNpZHNrIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtb2dkaSBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LWZtZSBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LWhkZjQgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1oZGY1IFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtcGcgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1qcGVnMTIgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1vZ2RpIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtbmV0Y2RmIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtb3BlbmpwZWcgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1mZ2RiIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtZWN3IFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQta2FrYWR1IFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtbXJzaWQgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1qcDJtcnNpZCBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LW1yc2lkX2xpZGFyIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtbXNnIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtYnNiIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtZ3JpYiBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LW15c3FsIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtaW5ncmVzIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtb2RiYyBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LWRvZHNfcm9vdCBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LXhtbDIgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1zcGF0aWFsaXRlIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtcGNyZSBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LWR3Z2RpcmVjdCBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LWR3Z2RpcmVjdCBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LWlkYiBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LXNkZSBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LXNkZS12ZXJzaW9uIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtZXBzaWxvbiBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LXdlYnAgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1vcGVuY2wgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1vcGVuY2wtaW5jbHVkZSBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LW9wZW5jbC1saWIgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1mcmVleGwgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1wYW0gXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1wb3BwbGVyIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtcG9kb2ZvIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtcG9kb2ZvLWxpYiBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LXBvZG9mby1leHRyYS1saWItZm9yLXRlc3QgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1zdGF0aWNfcHJvajQgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1wZXJsIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtcGhwIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtcnVieSBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LXB5dGhvbiBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LWphdmEgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1tZGIgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1qdm0tbGliIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtanZtLWxpYi1hZGQtcnBhdGggXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1yYXNkYW1hbiBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LWFybWFkaWxsbyBcCisgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgIC0td2l0aC1wY3Jhc3Rlcj1pbnRlcm5hbCBcCisgICAgICAgICAgICAgICAgLS13aXRoLWdlb3RpZmY9aW50ZXJuYWwgXAorICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtc3FsaXRlMz0ke1NUQUdJTkdfRVhFQ1BSRUZJWERJUn0gXAorICAgICAgICAgICAgICAgIC0td2l0aC1saWJ0aWZmPSR7U1RBR0lOR19FWEVDUFJFRklYRElSfSBcCisgICAgICAgICAgICAgICAgLS13aXRoLWxpYmpzb24tYz0ke1NUQUdJTkdfRVhFQ1BSRUZJWERJUn0gXAorICAgICAgICAgICAgICAgIC0td2l0aC1leHBhdD0ke1NUQUdJTkdfRVhFQ1BSRUZJWERJUn0gXAorIgorCitFWFRSQV9PRU1BS0UgKz0gIklOU1RfREFUQT0iJHtkYXRhZGlyfS9nZGFsIiIKKworUEFDS0FHRUNPTkZJRyA/PSAiZ2VvcyBwbmcgamFzcGVyIgorUEFDS0FHRUNPTkZJR1tnZW9zXSA9ICItLXdpdGgtZ2VvcywtLXdpdGhvdXQtZ2VvcyxnZW9zIgorUEFDS0FHRUNPTkZJR1tsem1hXSA9ICItLXdpdGgtbGlibHptYSwtLXdpdGhvdXQtbGlibHptYSx4eiIKK1BBQ0tBR0VDT05GSUdbcG5nXSA9ICItLXdpdGgtcG5nLC0td2l0aG91dC1wbmcsbGlicG5nIgorUEFDS0FHRUNPTkZJR1tnaWZdID0gIi0td2l0aC1naWYsLS13aXRob3V0LWdpZixnaWZsaWIiCitQQUNLQUdFQ09ORklHW2pwZWddID0gIi0td2l0aC1qcGVnLC0td2l0aG91dC1qcGVnLGpwZWciCitQQUNLQUdFQ09ORklHW3pdID0gIi0td2l0aC1saWJ6LC0td2l0aG91dC1saWJ6LHpsaWIiCitQQUNLQUdFQ09ORklHW2phc3Blcl0gPSAiLS13aXRoLWphc3BlciwtLXdpdGhvdXQtamFzcGVyLGphc3BlciIKK1BBQ0tBR0VDT05GSUdbY3VybF0gPSAiLS13aXRoLWN1cmwsLS13aXRob3V0LWN1cmwsY3VybCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgICMgVGhlIGNvbmZpZ3VyZSBzY3JpcHQgaGFzIG1hbnkgaGFyZGNvZGVkIHBhdGhzIHRvIHNlYXJjaAorICAgICMgZm9yIHRoZSBsaWJyYXJ5IGhlYWRlcnMgd2hlbiB1c2luZyBleHRlcm5hbCBsaWJyYXJpZXMsCisgICAgIyB3b3JrYXJvdW5kIGl0LgorICAgIHNlZCAtZSAncywvdXNyL2luY2x1ZGUsTk9OX0VYSVNURU5UX0RJUixnJyBcCisgICAgICAgIC1lICdzLC91c3IvbGliLE5PTl9FWElTVEVOVF9ESVIsZycgXAorICAgICAgICAtaSAke1N9L2NvbmZpZ3VyZS5pbgorfQorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2dkYWxwbHVnaW5zIgorCisjIHwgZ2RhbHNlcnZlci5jOjEyNDoyMTogZXJyb3I6IHN0b3JhZ2Ugc2l6ZSBvZiAnc0hpbnRzJyBpc24ndCBrbm93bgorIyB8ICAgICAgc3RydWN0IGFkZHJpbmZvIHNIaW50czsKKyMgfCAgICAgICAgICAgICAgICAgICAgICBeCitQTkJMQUNLTElTVFtnZGFsXSA/PSAiQlJPS0VOOiBmYWlscyB0byBidWlsZCB3aXRoIGdjYy01IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9nZW9jbHVlL2ZpbGVzL3NvdXAtc2Vzc2lvbi1maXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dlb2NsdWUvZmlsZXMvc291cC1zZXNzaW9uLWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MGZlM2Y1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9nZW9jbHVlL2ZpbGVzL3NvdXAtc2Vzc2lvbi1maXgucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorVXBzdHJlYW0tU3RhdHVzOiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW3Bva3kgOS4wIGhhcyBvbGRlciBsaWJzb3VwXQorCitTaWduZWQtb2ZmLWJ5OiBGZWxpcGUgRi4gVG9uZWxsbyA8ZXVAZmVsaXBldG9uZWxsby5jb20+CisKK2RpZmYgLS1naXQgYS9zcmMvZ2NsdWUtaXBjbGllbnQuYyBiL3NyYy9nY2x1ZS1pcGNsaWVudC5jCitpbmRleCAwOWFkZDMwLi4xNzcxZDVjIDEwMDY0NAorLS0tIGEvc3JjL2djbHVlLWlwY2xpZW50LmMKKysrKyBiL3NyYy9nY2x1ZS1pcGNsaWVudC5jCitAQCAtODMsNyArODMsNyBAQCBnY2x1ZV9pcGNsaWVudF9pbml0IChHQ2x1ZUlwY2xpZW50ICppcGNsaWVudCkKKyB7CisgICAgICAgICBpcGNsaWVudC0+cHJpdiA9IEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURSAoKGlwY2xpZW50KSwgR0NMVUVfVFlQRV9JUENMSUVOVCwgR0NsdWVJcGNsaWVudFByaXZhdGUpOworIAorLSAgICAgICAgaXBjbGllbnQtPnByaXYtPnNvdXBfc2Vzc2lvbiA9IHNvdXBfc2Vzc2lvbl9uZXcgKCk7CisrICAgICAgICBpcGNsaWVudC0+cHJpdi0+c291cF9zZXNzaW9uID0gc291cF9zZXNzaW9uX3N5bmNfbmV3ICgpOworIH0KKyAKKyAvKioKK2RpZmYgLS1naXQgYS9zcmMvZ2VvaXAtc2VydmVyL2dlb2lwLXVwZGF0ZS5jIGIvc3JjL2dlb2lwLXNlcnZlci9nZW9pcC11cGRhdGUuYworaW5kZXggNmNjZTdiMi4uZWY2NzJiYSAxMDA2NDQKKy0tLSBhL3NyYy9nZW9pcC1zZXJ2ZXIvZ2VvaXAtdXBkYXRlLmMKKysrKyBiL3NyYy9nZW9pcC1zZXJ2ZXIvZ2VvaXAtdXBkYXRlLmMKK0BAIC0yMTQsNyArMjE0LDcgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGggPSBHRU9JUF9EQVRBQkFTRV9QQVRIOworICAgICAgICAgfQorIAorLSAgICAgICAgc2Vzc2lvbiA9IHNvdXBfc2Vzc2lvbl9uZXcgKCk7CisrICAgICAgICBzZXNzaW9uID0gc291cF9zZXNzaW9uX3N5bmNfbmV3ICgpOworIAorICAgICAgICAgZm9yIChpID0gMDsgaSA8IEdfTl9FTEVNRU5UUyAoZGJfaW5mb19tYXApOyBpKyspIHsKKyAgICAgICAgICAgICAgICAgU291cE1lc3NhZ2UgKm1zZyA9IE5VTEw7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dlb2NsdWUvZ2VvY2x1ZV8yLjAuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ2VvY2x1ZS9nZW9jbHVlXzIuMC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlM2QwNGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dlb2NsdWUvZ2VvY2x1ZV8yLjAuMC5iYgpAQCAtMCwwICsxLDMzIEBACitTVU1NQVJZID0gIlRoZSBHZW9sb2NhdGlvbiBTZXJ2aWNlIgorREVTQ1JJUFRJT04gPSAiR2VvY2x1ZSBpcyBhIEQtQnVzIHNlcnZpY2UgdGhhdCBwcm92aWRlcyBsb2NhdGlvbiBpbmZvcm1hdGlvbi4gXAorVGhlIHByaW1hcnkgZ29hbCBvZiB0aGUgR2VvY2x1ZSBwcm9qZWN0IGlzIHRvIG1ha2UgY3JlYXRpbmcgbG9jYXRpb24tYXdhcmUgYXBwbGljYXRpb25zIFwKK2FzIHNpbXBsZSBhcyBwb3NzaWJsZSwgd2hpbGUgdGhlIHNlY29uZGFyeSBnb2FsIGlzIHRvIGVuc3VyZSB0aGF0IG5vIGFwcGxpY2F0aW9uIFwKK2NhbiBhY2Nlc3MgbG9jYXRpb24gaW5mb3JtYXRpb24gd2l0aG91dCBleHBsaWNpdCBwZXJtaXNzaW9uIGZyb20gdXNlci4iCitMSUNFTlNFID0gIkdQTHYyLjArIgorU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTgxMTRiODNhMDQzNWQ4MTM2YjQ3YmQ3MDExMWNlNWNkIgorCitERVBFTkRTID0gImdsaWItMi4wIGRidXMgZGJ1cy1nbGliIGpzb24tZ2xpYiBsaWJzb3VwLTIuNCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGd0ay1kb2MKKworU1JDX1VSSSA9ICIgXAorICBodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy9zb2Z0d2FyZS9nZW9jbHVlL3JlbGVhc2VzLzIuMC9nZW9jbHVlLSR7UFZ9LnRhci54eiBcCisgIGZpbGU6Ly9zb3VwLXNlc3Npb24tZml4LnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjQwMWZmOTlkNTMwYjE3N2M2MmFmYWNlZjBhMzNlZmQ5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRhODJmMTg0ZTU1YTE2M2Q4NmUwYWQ2OWJiZTFiYmE5OTYwYmI1MDk0MjIwZmUxZjAxMzUwYmNlZGE4YzY3YTEiCisKK1BBQ0tBR0VDT05GSUdbZ2VvaXBdID0gIi0tZW5hYmxlLWdlb2lwLXNlcnZlciwtLWRpc2FibGUtZ2VvaXAtc2VydmVyLGdlb2lwIgorCitFWFRSQV9PRUNPTkYgKz0gIiBcCisgIC0td2l0aC1kYnVzLXNlcnZpY2UtdXNlcj1yb290IFwKKyAgLS13aXRoLWRidXMtc3lzLWRpcj0ke3N5c2NvbmZkaXJ9L2RidXMtMS9zeXN0ZW0uZCBcCisiCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0tc2VydmljZXMvb3JnLmZyZWVkZXNrdG9wLkdlb0NsdWUyLnNlcnZpY2UgXAorICAke2RhdGFkaXJ9L2dlb2NsdWUtMi4wL2dlb2NsdWUtaW50ZXJmYWNlLnhtbCBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dlb3MvZmlsZXMvZ2Vvcy1jb25maWctQWRkLWluY2x1ZGVkaXItdmFyaWFibGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dlb3MvZmlsZXMvZ2Vvcy1jb25maWctQWRkLWluY2x1ZGVkaXItdmFyaWFibGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjQ1ZTZmNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ2Vvcy9maWxlcy9nZW9zLWNvbmZpZy1BZGQtaW5jbHVkZWRpci12YXJpYWJsZS5wYXRjaApAQCAtMCwwICsxLDM5IEBACitGcm9tIDlkNTEwMjdjMjI4ZGFmZDdkYjJkMGNmZmNhMWYwZmM2OTVlOTUwZmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgorRGF0ZTogTW9uLCAyIERlYyAyMDEzIDExOjMzOjI2IC0wMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGdlb3MtY29uZmlnOiBBZGQgaW5jbHVkZWRpciB2YXJpYWJsZQorCitUaGlzIGZpeGVzIGNyb3NzLWNvbXBpbGUgYXMgaXQgaXMgZWFzaWVyIHRvIG1hbmdsZSB0aGUgaW5jbHVkZWRpcgorZHVyaW5nIHN5c3Jvb3QgZ2VuZXJhdGlvbi4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+CistLS0KKyB0b29scy9nZW9zLWNvbmZpZy5pbiB8ICAgIDMgKystCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvdG9vbHMvZ2Vvcy1jb25maWcuaW4gYi90b29scy9nZW9zLWNvbmZpZy5pbgoraW5kZXggOWI0NWI1Zi4uMTc0OTg5MiAxMDA2NDQKKy0tLSBhL3Rvb2xzL2dlb3MtY29uZmlnLmluCisrKysgYi90b29scy9nZW9zLWNvbmZpZy5pbgorQEAgLTEsNiArMSw3IEBACisgIyEvYmluL3NoCisgcHJlZml4PUBwcmVmaXhACisgZXhlY19wcmVmaXg9QGV4ZWNfcHJlZml4QAorK2luY2x1ZGVkaXI9QGluY2x1ZGVkaXJACisgbGliZGlyPUBsaWJkaXJACisgCisgdXNhZ2UoKQorQEAgLTM4LDcgKzM5LDcgQEAgY2FzZSAkMSBpbgorICAgICBlY2hvIEBWRVJTSU9OQAorICAgICAgOzsKKyAgICAgLS1jZmxhZ3MpCistICAgIGVjaG8gLUkke3ByZWZpeH0vaW5jbHVkZSAKKysgICAgZWNobyAtSSR7aW5jbHVkZWRpcn0KKyAgICAgICA7OworICAgICAtLWxpYnMpCisgICAgICAgIyBUT0RPOiBtYWtlIGFuIGFsaWFzIGZvciAtLWNsaWJzCistLSAKKzEuNy4xMC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ2Vvcy9nZW9zLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ2Vvcy9nZW9zLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZTMwOGI0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9nZW9zL2dlb3MuaW5jCkBAIC0wLDAgKzEsMjEgQEAKK0RFU0NSSVBUSU9OID0gIkdFT1MgLSBHZW9tZXRyeSBFbmdpbmUsIE9wZW4gU291cmNlIgorSE9NRVBBR0UgPSAiaHR0cDovL3RyYWMub3NnZW8ub3JnL2dlb3MvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTdmYmMzMzgzMDlhYzM4ZmVmY2Q2NGIwNGJiOTAzZTM0IgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZC5vc2dlby5vcmcvZ2Vvcy9nZW9zLSR7UFZ9LnRhci5iejIiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBiaW5jb25maWcKKworUEFDS0FHRVMgPSsgImdlb3NsaWIgJHtQTn0tYzEiCisKK0RFU0NSSVBUSU9OXyR7UE59bGliID0gIkdlb21ldHJ5IGVuZ2luZSBmb3IgR2VvZ3JhcGhpYyBJbmZvcm1hdGlvbiBTeXN0ZW1zIC0gQysrIExpYnJhcnkiCitGSUxFU18ke1BOfWxpYiArPSAiJHtsaWJkaXJ9L2xpYmdlb3MtJHtQVn0uc28iCisKK0RFU0NSSVBUSU9OXyR7UE59LWMxID0gIkdlb21ldHJ5IGVuZ2luZSBmb3IgR2VvZ3JhcGhpYyBJbmZvcm1hdGlvbiBTeXN0ZW1zIC0gQyBMaWJyYXJ5IgorRklMRVNfJHtQTn0tYzEgKz0gIiR7bGliZGlyfS9saWJnZW9zX2Muc28uKiIKKworQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKK1JERVBFTkRTXyR7UE59ICs9ICJnZW9zbGliICR7UE59LWMxIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9nZW9zL2dlb3NfMy40LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dlb3MvZ2Vvc18zLjQuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTlhMDI4ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ2Vvcy9nZW9zXzMuNC4yLmJiCkBAIC0wLDAgKzEsNiBAQAorcmVxdWlyZSBnZW9zLmluYworCitTUkNfVVJJICs9ICJmaWxlOi8vZ2Vvcy1jb25maWctQWRkLWluY2x1ZGVkaXItdmFyaWFibGUucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmYzVkZjJkOTI2ZWI3ZTY3Zjk4OGE0M2E5MjY4M2JhZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxNWU4YmZkZjdlMjkwODdhOTU3YjU2YWM1NDNlYTlhODAzMjE0ODFjZWY0ZDRmNjNhN2IyNjg5NTNhZDI2YzUzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtMy4xNC8wMDAxLUNoZWNrLWZvci1fX1NURENfTk9fQVRPTUlDU19fLWJlZm9yZS11c2luZy1zdGRhdG9taWMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC0zLjE0LzAwMDEtQ2hlY2stZm9yLV9fU1REQ19OT19BVE9NSUNTX18tYmVmb3JlLXVzaW5nLXN0ZGF0b21pYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MmFjNWFhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtMy4xNC8wMDAxLUNoZWNrLWZvci1fX1NURENfTk9fQVRPTUlDU19fLWJlZm9yZS11c2luZy1zdGRhdG9taWMucGF0Y2gKQEAgLTAsMCArMSwyNSBAQAorRnJvbSBjMzA3MTZiZTllNjE1NTEzZmU2Njk5M2ZkM2NkYzgxOGMzZDcwNDEwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogIkdhcnkgRS4gTWlsbGVyIiA8Z2VtQHJlbGxpbS5jb20+CitEYXRlOiBTdW4sIDE1IE1hciAyMDE1IDExOjUxOjQ1IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0ggMS8zXSBDaGVjayBmb3IgX19TVERDX05PX0FUT01JQ1NfXyBiZWZvcmUgdXNpbmcgc3RkYXRvbWljLmgKKworLS0tCisgU0NvbnN0cnVjdCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL1NDb25zdHJ1Y3QgYi9TQ29uc3RydWN0CitpbmRleCBhZGY0NzNkLi41NjZjMTRhIDEwMDY0NAorLS0tIGEvU0NvbnN0cnVjdAorKysrIGIvU0NvbnN0cnVjdAorQEAgLTYzMyw3ICs2MzMsNyBAQCBlbHNlOgorICAgICAgICAgYW5ub3VuY2UoIllvdSBkbyBub3QgaGF2ZSBrZXJuZWwgQ0FOYnVzIGF2YWlsYWJsZS4iKQorICAgICAgICAgZW52WyJubWVhMjAwMCJdID0gRmFsc2UKKyAKKy0gICAgaWYgY29uZmlnLkNoZWNrSGVhZGVyKCJzdGRhdG9taWMuaCIpOgorKyAgICBpZiBub3QgY29uZmlnLkNoZWNrQ29tcGlsZXJEZWZpbmVzKCJfX1NURENfTk9fQVRPTUlDU19fIikgYW5kIGNvbmZpZy5DaGVja0hlYWRlcigic3RkYXRvbWljLmgiKToKKyAgICAgICAgIGNvbmZkZWZzLmFwcGVuZCgiI2RlZmluZSBIQVZFX1NUREFUT01JQ19IIDFcbiIpCisgICAgIGVsc2U6CisgCWNvbmZkZWZzLmFwcGVuZCgiLyogI3VuZGVmIEhBVkVfU1REQVRPTUlDX0ggKi9cbiIpCistLSAKKzIuMS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLTMuMTQvMDAwMS1JbmNsdWRlLXN0ZGF0b21pYy5oLW9ubHktaW4tQy1tb2RlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtMy4xNC8wMDAxLUluY2x1ZGUtc3RkYXRvbWljLmgtb25seS1pbi1DLW1vZGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmM5MTY3ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLTMuMTQvMDAwMS1JbmNsdWRlLXN0ZGF0b21pYy5oLW9ubHktaW4tQy1tb2RlLnBhdGNoCkBAIC0wLDAgKzEsNDMgQEAKK0Zyb20gNzlmNmQ5MTMzMzc4MzI1ZDcwYTkyZTY2ZjczNTJjMWJlY2VmYmI4OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEdsZWIgU21pcm5vZmYgPGdsZWJpdXNARnJlZUJTRC5vcmc+CitEYXRlOiBTYXQsIDE2IE1heSAyMDE1IDAyOjQ3OjI4ICswMzAwCitTdWJqZWN0OiBbUEFUQ0hdIEluY2x1ZGUgPHN0ZGF0b21pYy5oPiBvbmx5IGluIEMgbW9kZS4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBmcm9tIDMuMTUKKworV2l0aG91dCB0aGlzIGJ1aWxkIHdpdGggZ2NjLTUuMiBmYWlscyB3aXRoOgorfCBhcm0tb2UtbGludXgtZ251ZWFiaS1nKysgLW1hcmNoPWFybXY0dCAtbXRodW1iIC1tdGh1bWItaW50ZXJ3b3JrIC1tdHVuZT1hcm05MjB0IC0tc3lzcm9vdD0vT0UvYnVpbGQvc2hyLWNvcmUvdG1wLWdsaWJjL3N5c3Jvb3RzL29tLWd0YTAyIC1vIGNsb2NrX2dldHRpbWUtcXQub3MgLWMgLU8yIC1waXBlIC1nIC1mZWxpbWluYXRlLXVudXNlZC1kZWJ1Zy10eXBlcyAtLXN5c3Jvb3Q9L09FL2J1aWxkL3Noci1jb3JlL3RtcC1nbGliYy9zeXNyb290cy9vbS1ndGEwMiAtV2V4dHJhIC1XYWxsIC1Xbm8tdW5pbml0aWFsaXplZCAtV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1XY2FzdC1hbGlnbiAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XcG9pbnRlci1hcml0aCAtV3JldHVybi10eXBlIC1wdGhyZWFkIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLWcgLU8wIC1wdGhyZWFkIC1mUElDIC1EVVNFX1FUIC1EUVRfU0hBUkVEIC1JL09FL2J1aWxkL3Noci1jb3JlL3RtcC1nbGliYy9zeXNyb290cy9vbS1ndGEwMi91c3IvaW5jbHVkZS9kYnVzLTEuMCAtSS9PRS9idWlsZC9zaHItY29yZS90bXAtZ2xpYmMvc3lzcm9vdHMvb20tZ3RhMDIvdXNyL2xpYi9kYnVzLTEuMC9pbmNsdWRlIC1JL09FL2J1aWxkL3Noci1jb3JlL3RtcC1nbGliYy9zeXNyb290cy9vbS1ndGEwMi91c3IvaW5jbHVkZS9xdDQvUXROZXR3b3JrIC1JL09FL2J1aWxkL3Noci1jb3JlL3RtcC1nbGliYy9zeXNyb290cy9vbS1ndGEwMi91c3IvaW5jbHVkZS9xdDQgLUkvT0UvYnVpbGQvc2hyLWNvcmUvdG1wLWdsaWJjL3N5c3Jvb3RzL29tLWd0YTAyL3Vzci9pbmNsdWRlL3F0NC9RdENvcmUgY2xvY2tfZ2V0dGltZS5jCit8IEluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb21waWxlci5oOjUwOjAsCit8ICAgICAgICAgICAgICAgICAgZnJvbSBjbG9ja19nZXR0aW1lLmM6MTA6Cit8IC9PRS9idWlsZC9zaHItY29yZS90bXAtZ2xpYmMvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIvYXJtLW9lLWxpbnV4LWdudWVhYmkvZ2NjL2FybS1vZS1saW51eC1nbnVlYWJpLzUuMi4wL2luY2x1ZGUvc3RkYXRvbWljLmg6NDA6OTogZXJyb3I6ICdfQXRvbWljJyBkb2VzIG5vdCBuYW1lIGEgdHlwZQorfCAgdHlwZWRlZiBfQXRvbWljIF9Cb29sIGF0b21pY19ib29sOworfCAgICAgICAgICBeCisuLi4uCisKK01vcmUgaW5mbzoKK2h0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTYwOTMyCisKK1NpZ25lZC1vZmYtYnk6IEdhcnkgRS4gTWlsbGVyIDxnZW1AcmVsbGltLmNvbT4KKy0tLQorIGNvbXBpbGVyLmggfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29tcGlsZXIuaCBiL2NvbXBpbGVyLmgKK2luZGV4IDgzN2M5MzUuLjAzNDMwYzAgMTAwNjQ0CistLS0gYS9jb21waWxlci5oCisrKysgYi9jb21waWxlci5oCitAQCAtNjYsOSArNjYsOSBAQAorICAgICB9IHdoaWxlICgwKQorIAorICNpZmRlZiBIQVZFX1NUREFUT01JQ19ICistI2lmbmRlZiBfX0NPVkVSSVRZX18JLyogQ292ZXJpdHkgaXMgY29uZnVzZWQgYnkgYSBHTlUgdHlwZWRlZiAqLworKyNpZiAhZGVmaW5lZChfX0NPVkVSSVRZX18pICYmICFkZWZpbmVkKF9fY3BsdXNwbHVzKQorICNpbmNsdWRlIDxzdGRhdG9taWMuaD4KKy0jZW5kaWYgLyogX19DT1ZFUklUWV9fICovCisrI2VuZGlmIC8qIF9fQ09WRVJJVFlfXyB8fCBfX2NwbHVzcGx1cyAqLworICNlbmRpZiAvKiBIQVZFX1NUREFUT01JQ19IICovCisgCisgI2lmZGVmIEhBVkVfT1NBVE9NSUNfSAorLS0gCisyLjUuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC0zLjE0LzAwMDEtU0NvbnN0cnVjdC1wcmVmaXgtaW5jbHVkZXB5LXdpdGgtc3lzcm9vdC1hbmQtZHJvcC1zeS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLTMuMTQvMDAwMS1TQ29uc3RydWN0LXByZWZpeC1pbmNsdWRlcHktd2l0aC1zeXNyb290LWFuZC1kcm9wLXN5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlYTMyMjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC0zLjE0LzAwMDEtU0NvbnN0cnVjdC1wcmVmaXgtaW5jbHVkZXB5LXdpdGgtc3lzcm9vdC1hbmQtZHJvcC1zeS5wYXRjaApAQCAtMCwwICsxLDc1IEBACitGcm9tIDFlMmNlYTg5NDViYzIxODNmYmUxYTAxMmRjZDYzM2EzNTIxMjU5NTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDI0IEFwciAyMDEyIDE4OjQ1OjE0ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFNDb25zdHJ1Y3Q6IHByZWZpeCBpbmNsdWRlcHkgd2l0aCBzeXNyb290IGFuZCBkcm9wIHN5c3Jvb3QKKyBmcm9tIHB5dGhvbl9saWJfZGlyCisKKyogd2l0aG91dCBQWVRIT05QQVRILCBkaXN0dXRpbCdzIHN5c2NvbmZpZyByZXR1cm5zIElOQ0xVREVQWSB3aXRob3V0IHN5c3Jvb3QgcHJlZml4CisgIGFuZCB3aXRoIFBZVEhPTlBBVEggZnJvbSBPRSBpdCdzIHBvaW50aW5nIHRvIG5hdGl2ZSBweXRob24gZGlyCisKKyAgICAkIGV4cG9ydCBQWVRIT05QQVRIPS9PRS9zaHItY29yZS90bXAtZWdsaWJjL3N5c3Jvb3RzL29tLWd0YTAyL3Vzci9saWIvcHl0aG9uMi43LworICAgICQgcHl0aG9uCisgICAgUHl0aG9uIDIuNy4yIChkZWZhdWx0LCBBcHIgMTggMjAxMiwgMDk6MTk6NTkpCisgICAgW0dDQyA0LjYuMl0gb24gbGludXgyCisgICAgVHlwZSAiaGVscCIsICJjb3B5cmlnaHQiLCAiY3JlZGl0cyIgb3IgImxpY2Vuc2UiIGZvciBtb3JlIGluZm9ybWF0aW9uLgorICAgID4+PiBmcm9tIGRpc3R1dGlscyBpbXBvcnQgc3lzY29uZmlnCisgICAgPj4+IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcnMoJ0lOQ0xVREVQWScpCisgICAgWycvT0Uvc2hyLWNvcmUvdG1wLWVnbGliYy9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2luY2x1ZGUvcHl0aG9uMi43J10KKyAgICA+Pj4KKyAgICAkIHVuc2V0IFBZVEhPTlBBVEgKKyAgICAkIHB5dGhvbgorICAgIFB5dGhvbiAyLjcuMiAoZGVmYXVsdCwgQXByIDE4IDIwMTIsIDA5OjE5OjU5KQorICAgIFtHQ0MgNC42LjJdIG9uIGxpbnV4MgorICAgIFR5cGUgImhlbHAiLCAiY29weXJpZ2h0IiwgImNyZWRpdHMiIG9yICJsaWNlbnNlIiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKyAgICA+Pj4gZnJvbSBkaXN0dXRpbHMgaW1wb3J0IHN5c2NvbmZpZworICAgID4+PiBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXJzKCdJTkNMVURFUFknKQorICAgIFsnL3B5dGhvbjIuNyddCisgICAgPj4+IGltcG9ydCBzeXNjb25maWcKKyAgICA+Pj4gc3lzY29uZmlnLmdldF9jb25maWdfdmFycygnSU5DTFVERVBZJykKKyAgICBbJy9PRS9zaHItY29yZS90bXAtZWdsaWJjL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvaW5jbHVkZS9weXRob24yLjcnXQorKiBweXRob25fbGliX2RpciA9IHB5dGhvbl9saWJfZGlyLnJlcGxhY2UoZW52WydzeXNyb290J10sICcnKQorICByZXR1cm5zIHBhdGggdG8gdGFyZ2V0IHN5c3Jvb3QKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogUGV0ZXIgQS4gQmlnb3QgPHBhYkBwYWJpZ290LmNvbT4KKy0tLQorIFNDb25zdHJ1Y3QgfCA5ICsrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL1NDb25zdHJ1Y3QgYi9TQ29uc3RydWN0CitpbmRleCA2YzkzMzExLi5jZGU4YjNkIDEwMDY0NAorLS0tIGEvU0NvbnN0cnVjdAorKysrIGIvU0NvbnN0cnVjdAorQEAgLTExNDgsNiArMTE0OCwxMiBAQCBlbHNlOgorICAgICAgICAgYmFzZWNmbGFncyArPSAnIC1jb3ZlcmFnZScKKyAgICAgICAgIGxkZmxhZ3MgKz0gJyAtY292ZXJhZ2UnCisgICAgICAgICBsZHNoYXJlZCArPSAnIC1jb3ZlcmFnZScKKysKKysgICAgaWYgZW52WydzeXNyb290J106CisrICAgICAgICBwcmludCAiUHJlZml4aW5nIGluY2x1ZGVweSAnJXMnIHdpdGggc3lzcm9vdCBwcmVmaXgiICUgaW5jbHVkZXB5CisrICAgICAgICBpbmNsdWRlcHkgPSBvcy5wYXRoLm5vcm1wYXRoKCIlcy8lcy8lcy8lcyIgJSAoZW52WydzeXNyb290J10sIGVudlsncHJlZml4J10sIGVudlsnaW5jbHVkZWRpciddLCBpbmNsdWRlcHkpKQorKyAgICAgICAgcHJpbnQgIiclcyciICUgaW5jbHVkZXB5CisrCisgICAgICMgaW4gY2FzZSBDQy9DWFggd2FzIHNldCB0byB0aGUgc2Nhbi1idWlsZCB3cmFwcGVyLAorICAgICAjIGVuc3VyZSB0aGF0IHdlIGJ1aWxkIHRoZSBweXRob24gbW9kdWxlcyB3aXRoIHNjYW4tYnVpbGQsIHRvbworICAgICBpZiBlbnZbJ0NDJ10gaXMgTm9uZSBvciBlbnZbJ0NDJ10uZmluZCgnc2Nhbi1idWlsZCcpIDwgMDoKK0BAIC0xNDA4LDExICsxNDE0LDE0IEBAIGlmIG5vdCBlbnZbJ3B5dGhvbiddOgorICAgICBweXRob25faW5zdGFsbCA9IFtdCisgZWxzZToKKyAgICAgcHl0aG9uX2xpYl9kaXIgPSBlbnZbJ3B5dGhvbl9saWJkaXInXQorKyAgICBweXRob25fbGliX2RpciA9IHB5dGhvbl9saWJfZGlyLnJlcGxhY2UoZW52WydzeXNyb290J10sICcnKQorICAgICBweXRob25fbW9kdWxlX2RpciA9IHB5dGhvbl9saWJfZGlyICsgb3Muc2VwICsgJ2dwcycKKyAgICAgcHl0aG9uX2V4dGVuc2lvbnNfaW5zdGFsbCA9IHB5dGhvbl9lbnYuSW5zdGFsbCggREVTVERJUiArIHB5dGhvbl9tb2R1bGVfZGlyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBweXRob25fYnVpbHRfZXh0ZW5zaW9ucykKKyAgICAgaWYgbm90IGVudlsnZGVidWcnXSBhbmQgbm90IGVudlsncHJvZmlsaW5nJ10gYW5kIG5vdCBlbnZbJ25vc3RyaXAnXSBhbmQgbm90IHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCdkYXJ3aW4nKToKKyAgICAgICAgIHB5dGhvbl9lbnYuQWRkUG9zdEFjdGlvbihweXRob25fZXh0ZW5zaW9uc19pbnN0YWxsLCAnJFNUUklQICRUQVJHRVQnKQorKyAgICBlbnYuQWRkUG9zdEFjdGlvbihweXRob25fZXh0ZW5zaW9uc19pbnN0YWxsLCAnJENIUlBBVEggLXIgIiVzIiAiJFRBUkdFVCInIFwKKysgICAgICAgICAgICAgICAgICAgICAlIChweXRob25fbGliX2RpciwgKSkKKyAKKyAgICAgcHl0aG9uX21vZHVsZXNfaW5zdGFsbCA9IHB5dGhvbl9lbnYuSW5zdGFsbCggREVTVERJUiArIHB5dGhvbl9tb2R1bGVfZGlyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB5dGhvbl9tb2R1bGVzKQorLS0gCisyLjEuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC0zLjE0LzAwMDEtU0NvbnN0cnVjdC1yZXNwZWN0LXN5c3Jvb3QtYWxzby1pbi1TUExJTlRPUFRTLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtMy4xNC8wMDAxLVNDb25zdHJ1Y3QtcmVzcGVjdC1zeXNyb290LWFsc28taW4tU1BMSU5UT1BUUy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNDEzNGY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtMy4xNC8wMDAxLVNDb25zdHJ1Y3QtcmVzcGVjdC1zeXNyb290LWFsc28taW4tU1BMSU5UT1BUUy5wYXRjaApAQCAtMCwwICsxLDMzIEBACitGcm9tIDNjNWZiM2E4NjkxYWM3MTFlYTkzZWRmOGUwYjQyYmZmYzYyYjE5N2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDI0IEFwciAyMDEyIDExOjUyOjM1ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMS80XSBTQ29uc3RydWN0OiByZXNwZWN0IHN5c3Jvb3QgYWxzbyBpbiBTUExJTlRPUFRTCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IERlbmlzICdHTlV0b28nIENhcmlrbGkgPEdOVXRvb0Buby1sb2cub3JnPgorU2lnbmVkLW9mZi1ieTogUGV0ZXIgQS4gQmlnb3QgPHBhYkBwYWJpZ290LmNvbT4KKy0tLQorIFNDb25zdHJ1Y3QgfCA1ICsrKystCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvU0NvbnN0cnVjdCBiL1NDb25zdHJ1Y3QKK2luZGV4IDE0ZTJmNTkuLmYwY2FmYTggMTAwNjQ0CistLS0gYS9TQ29uc3RydWN0CisrKysgYi9TQ29uc3RydWN0CitAQCAtMTQxNCw3ICsxNDE0LDEwIEBAIGRlZiBVdGlsaXR5KHRhcmdldCwgc291cmNlLCBhY3Rpb24pOgorICMgUmVwb3J0IHNwbGludCB3YXJuaW5ncworICMgTm90ZTogdGVzdF9iaXRzLmMgaXMgdW5zcGxpbnRhYmxlIGJlY2F1c2Ugb2YgdGhlIFBSSTY0IG1hY3Jvcy4KKyAjIElmIHlvdSBnZXQgcHJlcHJvY2Vzc29yIG9yIGZhdGFsIGVycm9ycywgYWRkICtzaG93c2Nhbi4KKy1zcGxpbnRvcHRzID0gIi1JL3Vzci9pbmNsdWRlL2xpYnVzYi0xLjAgK3F1aWV0IgorK2lmIG5vdCBlbnZbJ3N5c3Jvb3QnXToKKysgICAgc3BsaW50b3B0cyA9ICItSS91c3IvaW5jbHVkZS9saWJ1c2ItMS4wICtxdWlldCIKKytlbHNlOgorKyAgICBzcGxpbnRvcHRzID0gIi1JJXMvdXNyL2luY2x1ZGUvbGlidXNiLTEuMCArcXVpZXQiICUgZW52WydzeXNyb290J10KKyAjIHNwbGludCBkb2VzIG5vdCBrbm93IGFib3V0IG11bHRpLWFyY2gsIHdvcmsgYXJvdW5kIHRoYXQKKyBtYV9zdGF0dXMsIG1hID0gX2dldHN0YXR1c291dHB1dCgnZHBrZy1hcmNoaXRlY3R1cmUgLXFERUJfSE9TVF9NVUxUSUFSQ0gnKQorIGlmIG1hX3N0YXR1cyA9PSAwOgorLS0gCisxLjguNS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLTMuMTQvMDAwMS1saWJncHNkLWNvcmUtRml4LWlzc3VlLXdpdGgtQUNUSVZBVEUtaG9vay1ub3QtYmVpbmctLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtMy4xNC8wMDAxLWxpYmdwc2QtY29yZS1GaXgtaXNzdWUtd2l0aC1BQ1RJVkFURS1ob29rLW5vdC1iZWluZy0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2EwNjc5NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLTMuMTQvMDAwMS1saWJncHNkLWNvcmUtRml4LWlzc3VlLXdpdGgtQUNUSVZBVEUtaG9vay1ub3QtYmVpbmctLnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK0Zyb20gNmZmMDk5YjFiYThkZTc0ZGY5ZGRlYjYxZTM4MjUyNjRiOTZlZjY5MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1vcml0eiBGaXNjaGVyIDxtb3JpdHouZmlzY2hlckBldHR1cy5jb20+CitEYXRlOiBUdWUsIDIyIERlYyAyMDE1IDE5OjM4OjMxIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGxpYmdwc2QtY29yZTogRml4IGlzc3VlIHdpdGggQUNUSVZBVEUgaG9vayBub3QgYmVpbmcgY2FsbGVkLgorCitJbiB0aGUgY3VycmVudCBzeXN0ZW0gc2Vzc2lvbi0+bW9kZSBzZWVtZWQgdG8gaWdub3JlIHRoZQorT19PUFRJTUlaRSBmbGFnLCBsZWFkaW5nIHRvIHRoZSBBQ1RJVkFURSBob29rIGJlaW5nIGlnbm9yZWQuCisKK0Fub3RoZXIgd2F5IHRvIGZpeCB0aGlzIHdvdWxkIGJlIHRvIGtlZXAgdGhlIHNlc3Npb24tPm1vZGUKK2NvbmRpdGlvbiBwdWxsIHVwIHRoZSBjaGVjayBmb3IgT19DT05USU5VRS4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydGVkCitUaGlzIHBhdGNoIGlzIGluIHVwc3RyZWFtIGdpdAorCitTaWduZWQtb2ZmLWJ5OiBNb3JpdHogRmlzY2hlciA8bW9yaXR6LmZpc2NoZXJAZXR0dXMuY29tPgorLS0tCisgbGliZ3BzZF9jb3JlLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9saWJncHNkX2NvcmUuYyBiL2xpYmdwc2RfY29yZS5jCitpbmRleCAzMWZlYzJhLi5hODRlODVmIDEwMDY0NAorLS0tIGEvbGliZ3BzZF9jb3JlLmMKKysrKyBiL2xpYmdwc2RfY29yZS5jCitAQCAtNTQzLDcgKzU0Myw3IEBAIGludCBncHNkX29wZW4oc3RydWN0IGdwc19kZXZpY2VfdCAqc2Vzc2lvbikKKyBpbnQgZ3BzZF9hY3RpdmF0ZShzdHJ1Y3QgZ3BzX2RldmljZV90ICpzZXNzaW9uLCBjb25zdCBpbnQgbW9kZSkKKyAvKiBhY3F1aXJlIGEgY29ubmVjdGlvbiB0byB0aGUgR1BTIGRldmljZSAqLworIHsKKy0gICAgaWYgKHNlc3Npb24tPm1vZGUgPT0gT19PUFRJTUlaRSkKKysgICAgaWYgKG1vZGUgPT0gT19PUFRJTUlaRSkKKyAJZ3BzZF9ydW5fZGV2aWNlX2hvb2soJnNlc3Npb24tPmNvbnRleHQtPmVycm91dCwKKyAJCQkgICAgIHNlc3Npb24tPmdwc2RhdGEuZGV2LnBhdGgsICJBQ1RJVkFURSIpOworICAgICBzZXNzaW9uLT5ncHNkYXRhLmdwc19mZCA9IGdwc2Rfb3BlbihzZXNzaW9uKTsKKy0tIAorMi40LjMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtMy4xNC8wMDAyLUFkZC1hLXRlc3QtZm9yLUMxMS1hbmQtY2hlY2std2UtaGF2ZS1DMTEtYmVmb3JlLXVzaW4ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC0zLjE0LzAwMDItQWRkLWEtdGVzdC1mb3ItQzExLWFuZC1jaGVjay13ZS1oYXZlLUMxMS1iZWZvcmUtdXNpbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMmVlMWJkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtMy4xNC8wMDAyLUFkZC1hLXRlc3QtZm9yLUMxMS1hbmQtY2hlY2std2UtaGF2ZS1DMTEtYmVmb3JlLXVzaW4ucGF0Y2gKQEAgLTAsMCArMSw1NyBAQAorRnJvbSA5OTQ0NGIzZDJjNGE0ZjdmZDcxMjhlNjA0NjEwMDU3ODBkMGM1YzgzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogIkdhcnkgRS4gTWlsbGVyIiA8Z2VtQHJlbGxpbS5jb20+CitEYXRlOiBTdW4sIDE1IE1hciAyMDE1IDEyOjA1OjE1IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0ggMi8zXSBBZGQgYSB0ZXN0IGZvciBDMTEgYW5kIGNoZWNrIHdlIGhhdmUgQzExIGJlZm9yZSB1c2luZworIHN0ZGF0b21pYy5oCisKKy0tLQorIFNDb25zdHJ1Y3QgfCAxOSArKysrKysrKysrKysrKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL1NDb25zdHJ1Y3QgYi9TQ29uc3RydWN0CitpbmRleCA1NjZjMTRhLi5mYWE4NjUxIDEwMDY0NAorLS0tIGEvU0NvbnN0cnVjdAorKysrIGIvU0NvbnN0cnVjdAorQEAgLTQ3Myw2ICs0NzMsMjAgQEAgZGVmIENoZWNrQ29tcGlsZXJEZWZpbmVzKGNvbnRleHQsIGRlZmluZSk6CisgICAgIGNvbnRleHQuUmVzdWx0KHJldCkKKyAgICAgcmV0dXJuIHJldAorIAorKyMgQ2hlY2sgaWYgdGhpcyBjb21waWxlciBpcyBDMTEgb3IgYmV0dGVyCisrZGVmIENoZWNrQzExKGNvbnRleHQpOgorKyAgICBjb250ZXh0Lk1lc3NhZ2UoICdDaGVja2luZyBpZiBjb21waWxlciBpcyBDMTEgLi4uJyApCisrICAgIHJldCA9IGNvbnRleHQuVHJ5TGluaygiIiIKKysJI2lmIChfX1NURENfVkVSU0lPTl9fIDwgMjAxMTEyTCkgCisrICAgICAgICAjZXJyb3IgTm90IEMxMQorKyAgICAgICAgI2VuZGlmCisrICAgICAgICBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKysgICAgICAgICAgICByZXR1cm4gMDsKKysgICAgICAgIH0KKysgICAgIiIiLCcuYycpCisrICAgIGNvbnRleHQuUmVzdWx0KHJldCkKKysgICAgcmV0dXJuIHJldAorKworIGRlZiBHZXRMb2FkUGF0aChjb250ZXh0KToKKyAgICAgY29udGV4dC5NZXNzYWdlKCJHZXR0aW5nIHN5c3RlbSBsb2FkIHBhdGggLi4uIikKKyAKK0BAIC00OTEsNiArNTA1LDcgQEAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2hlY2tYc2x0cHJvYycgOiBDaGVja1hzbHRwcm9jLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDaGVja0NvbXBpbGVyT3B0aW9uJyA6IENoZWNrQ29tcGlsZXJPcHRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NoZWNrQ29tcGlsZXJEZWZpbmVzJyA6IENoZWNrQ29tcGlsZXJEZWZpbmVzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDaGVja0MxMScgOiBDaGVja0MxMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2hlY2tIZWFkZXJEZWZpbmVzJyA6IENoZWNrSGVhZGVyRGVmaW5lc30pCisgCisgCitAQCAtNjMzLDcgKzY0OCw5IEBAIGVsc2U6CisgICAgICAgICBhbm5vdW5jZSgiWW91IGRvIG5vdCBoYXZlIGtlcm5lbCBDQU5idXMgYXZhaWxhYmxlLiIpCisgICAgICAgICBlbnZbIm5tZWEyMDAwIl0gPSBGYWxzZQorIAorLSAgICBpZiBub3QgY29uZmlnLkNoZWNrQ29tcGlsZXJEZWZpbmVzKCJfX1NURENfTk9fQVRPTUlDU19fIikgYW5kIGNvbmZpZy5DaGVja0hlYWRlcigic3RkYXRvbWljLmgiKToKKysgICAgIyBjaGVjayBmb3IgQzExIG9yIGJldHRlciwgYW5kIF9fU1REQ19fTk9fQVRPTUlDU19fIGlzIG5vIGRlZmluZWQKKysgICAgIyBiZWZvcmUgbG9va2luZyBmb3Igc3RkYXRvbWljLmgKKysgICAgaWYgbm90IGNvbmZpZy5DaGVja0MxMSgpIGFuZCAgbm90IGNvbmZpZy5DaGVja0NvbXBpbGVyRGVmaW5lcygiX19TVERDX05PX0FUT01JQ1NfXyIpIGFuZCBjb25maWcuQ2hlY2tIZWFkZXIoInN0ZGF0b21pYy5oIik6CisgICAgICAgICBjb25mZGVmcy5hcHBlbmQoIiNkZWZpbmUgSEFWRV9TVERBVE9NSUNfSCAxXG4iKQorICAgICBlbHNlOgorIAljb25mZGVmcy5hcHBlbmQoIi8qICN1bmRlZiBIQVZFX1NUREFUT01JQ19IICovXG4iKQorLS0gCisyLjEuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC0zLjE0LzAwMDItU0NvbnN0cnVjdC1yZW1vdmUtcnBhdGgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC0zLjE0LzAwMDItU0NvbnN0cnVjdC1yZW1vdmUtcnBhdGgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDgzYTY2MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLTMuMTQvMDAwMi1TQ29uc3RydWN0LXJlbW92ZS1ycGF0aC5wYXRjaApAQCAtMCwwICsxLDQ1IEBACitGcm9tIGQwOTA2MzhmZjk4M2U1MDkxNjJkNWUzYjYyYWE0OTE4ZGU0YWE1ZmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDI0IEFwciAyMDEyIDE2OjI0OjM1ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMi80XSBTQ29uc3RydWN0OiByZW1vdmUgcnBhdGgKKworKiBldmVuIHdpdGggY29ycmVjdCBwcmVmaXggKHdpdGhvdXQgREVTVERJUikgaW5jbHVkZWQgaXQncyByZWR1bmRhbnQKKyAgV0FSTklORzogUUEgSXNzdWU6IGxpYmdwczoKKyAgL3dvcmsvYXJtdjR0LW9lLWxpbnV4LWdudWVhYmkvZ3BzZC9ncHNkLTMuNS1yMC9wYWNrYWdlcy1zcGxpdC9saWJncHMvdXNyL2xpYi9saWJncHMuc28uMjAuMAorICBjb250YWlucyBwcm9iYWJseS1yZWR1bmRhbnQgUlBBVEggL3Vzci9saWIKKyogYW5kIHdpdGggcHJlZml4IGZyb20gc2NvbnMuYmJjbGFzcyBpdCdzIGludmFsaWQKKyAgV0FSTklORzogUUEgSXNzdWU6IHBhY2thZ2UgbGliZ3BzIGNvbnRhaW5zIGJhZCBSUEFUSAorICAvT0Uvc2hyLWNvcmUvdG1wLWVnbGliYy93b3JrL2FybXY0dC1vZS1saW51eC1nbnVlYWJpL2dwc2QvZ3BzZC0zLjUtcjAvaW1hZ2UvdXNyL2xpYgorICBpbiBmaWxlCisgIC9PRS9zaHItY29yZS90bXAtZWdsaWJjL3dvcmsvYXJtdjR0LW9lLWxpbnV4LWdudWVhYmkvZ3BzZC9ncHNkLTMuNS1yMC9wYWNrYWdlcy1zcGxpdC9saWJncHMvdXNyL2xpYi9saWJncHMuc28uMjAuMAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogRGVuaXMgJ0dOVXRvbycgQ2FyaWtsaSA8R05VdG9vQG5vLWxvZy5vcmc+CitTaWduZWQtb2ZmLWJ5OiBQZXRlciBBLiBCaWdvdCA8cGFiQHBhYmlnb3QuY29tPgorLS0tCisgU0NvbnN0cnVjdCB8IDcgKysrKystLQorIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9TQ29uc3RydWN0IGIvU0NvbnN0cnVjdAoraW5kZXggZjBjYWZhOC4uZmY0NjcxMyAxMDA2NDQKKy0tLSBhL1NDb25zdHJ1Y3QKKysrKyBiL1NDb25zdHJ1Y3QKK0BAIC0xMzQwLDggKzEzNDAsMTEgQEAgaWYgcXRfZW52OgorICAgICBiaW5hcnlpbnN0YWxsLmFwcGVuZChMaWJyYXJ5SW5zdGFsbChxdF9lbnYsIGluc3RhbGxkaXIoJ2xpYmRpcicpLCBjb21waWxlZF9xZ3BzbW1saWIpKQorIAorIGlmIGVudlsic2hhcmVkIl0gYW5kIGVudlsiY2hycGF0aCJdOgorLSAgICBlbnYuQWRkUG9zdEFjdGlvbihiaW5hcnlpbnN0YWxsLCAnJENIUlBBVEggLXIgIiVzIiAiJFRBUkdFVCInIFwKKy0gICAgICAgICAgICAgICAgICAgICAgJSAoaW5zdGFsbGRpcignbGliZGlyJywgRmFsc2UpLCApKQorKyAgICBpZiBub3QgZW52WydzeXNyb290J106CisrICAgICAgICBlbnYuQWRkUG9zdEFjdGlvbihiaW5hcnlpbnN0YWxsLCAnJENIUlBBVEggLXIgIiVzIiAiJFRBUkdFVCInIFwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICUgKGluc3RhbGxkaXIoJ2xpYmRpcicsIEZhbHNlKSwgKSkKKysgICAgZWxzZToKKysgICAgICAgIGVudi5BZGRQb3N0QWN0aW9uKGJpbmFyeWluc3RhbGwsICckQ0hSUEFUSCAtZCAiJFRBUkdFVCInKQorIAorIGlmIG5vdCBlbnZbJ2RlYnVnJ10gYW5kIG5vdCBlbnZbJ3Byb2ZpbGluZyddIGFuZCBlbnZbJ3N0cmlwJ106CisgICAgIGVudi5BZGRQb3N0QWN0aW9uKGJpbmFyeWluc3RhbGwsICckU1RSSVAgJFRBUkdFVCcpCistLSAKKzEuOC41LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtMy4xNC8wMDAzLVdob29wcy1jaGVjay1mb3ItQzExLW5vdC1mb3Itbm90LUMxMS1pbi1zdGRhdG9taWMuaC0ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC0zLjE0LzAwMDMtV2hvb3BzLWNoZWNrLWZvci1DMTEtbm90LWZvci1ub3QtQzExLWluLXN0ZGF0b21pYy5oLS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YmIwOTI4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtMy4xNC8wMDAzLVdob29wcy1jaGVjay1mb3ItQzExLW5vdC1mb3Itbm90LUMxMS1pbi1zdGRhdG9taWMuaC0ucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorRnJvbSA2NzRjNTBlZTU0ZmQ3Y2QzMDRlOGIzYzRiMzNkM2ZmMTI3MmVkMTkxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogIkdhcnkgRS4gTWlsbGVyIiA8Z2VtQHJlbGxpbS5jb20+CitEYXRlOiBTdW4sIDE1IE1hciAyMDE1IDEyOjE3OjUxIC0wNzAwCitTdWJqZWN0OiBbUEFUQ0ggMy8zXSBXaG9vcHMsIGNoZWNrIGZvciBDMTEsIG5vdCBmb3Igbm90IEMxMSBpbiBzdGRhdG9taWMuaAorIHRlc3QuCisKKy0tLQorIFNDb25zdHJ1Y3QgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9TQ29uc3RydWN0IGIvU0NvbnN0cnVjdAoraW5kZXggZmFhODY1MS4uZjRlYTE0NSAxMDA2NDQKKy0tLSBhL1NDb25zdHJ1Y3QKKysrKyBiL1NDb25zdHJ1Y3QKK0BAIC02NTAsNyArNjUwLDcgQEAgZWxzZToKKyAKKyAgICAgIyBjaGVjayBmb3IgQzExIG9yIGJldHRlciwgYW5kIF9fU1REQ19fTk9fQVRPTUlDU19fIGlzIG5vIGRlZmluZWQKKyAgICAgIyBiZWZvcmUgbG9va2luZyBmb3Igc3RkYXRvbWljLmgKKy0gICAgaWYgbm90IGNvbmZpZy5DaGVja0MxMSgpIGFuZCAgbm90IGNvbmZpZy5DaGVja0NvbXBpbGVyRGVmaW5lcygiX19TVERDX05PX0FUT01JQ1NfXyIpIGFuZCBjb25maWcuQ2hlY2tIZWFkZXIoInN0ZGF0b21pYy5oIik6CisrICAgIGlmIGNvbmZpZy5DaGVja0MxMSgpIGFuZCAgbm90IGNvbmZpZy5DaGVja0NvbXBpbGVyRGVmaW5lcygiX19TVERDX05PX0FUT01JQ1NfXyIpIGFuZCBjb25maWcuQ2hlY2tIZWFkZXIoInN0ZGF0b21pYy5oIik6CisgICAgICAgICBjb25mZGVmcy5hcHBlbmQoIiNkZWZpbmUgSEFWRV9TVERBVE9NSUNfSCAxXG4iKQorICAgICBlbHNlOgorIAljb25mZGVmcy5hcHBlbmQoIi8qICN1bmRlZiBIQVZFX1NUREFUT01JQ19IICovXG4iKQorLS0gCisyLjEuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC0zLjE0LzAwMDQtU0NvbnN0cnVjdC1kaXNhYmxlLWh0bWwtYW5kLW1hbi1kb2NzLWJ1aWxkaW5nLWJlY2F1cy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLTMuMTQvMDAwNC1TQ29uc3RydWN0LWRpc2FibGUtaHRtbC1hbmQtbWFuLWRvY3MtYnVpbGRpbmctYmVjYXVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1MjdmMGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC0zLjE0LzAwMDQtU0NvbnN0cnVjdC1kaXNhYmxlLWh0bWwtYW5kLW1hbi1kb2NzLWJ1aWxkaW5nLWJlY2F1cy5wYXRjaApAQCAtMCwwICsxLDUyIEBACitGcm9tIDY5N2UyZTlmZjk3NDg3MjY2ZDgxN2NkZDQxYmFjYzgzZjY4MWUzZDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitEYXRlOiBTdW4sIDI5IEFwciAyMDEyIDAwOjA1OjU5ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggNC80XSBTQ29uc3RydWN0OiBkaXNhYmxlIGh0bWwgYW5kIG1hbiBkb2NzIGJ1aWxkaW5nIGJlY2F1c2UKKyB4bWx0by1uYXRpdmUgZnJvbSBPRSBpcyBicm9rZW4KKworSXQgd2lsbCB0cnkgdG8gbG9hZCBkdGQgYW5kIGZhaWw6Cit8IHhtbHRvIG1hbiBncHNjdGwueG1sOyBtdiBgYmFzZW5hbWUgZ3BzY3RsLjFgIGdwc2N0bC4xCit8IHhtbHRvOiAvdmFyL2xpYi9qZW5raW5zL2pvYnMvc2hyLWNvcmUtYnJhbmNoZXMvd29ya3NwYWNlL3Noci1jb3JlL3RtcC1lZ2xpYmMvd29yay9hcm12NHQtb2UtbGludXgtZ251ZWFiaS9ncHNkLTMuNC1yMi9ncHNkLTMuNC9ncHNjdGwueG1sIGRvZXMgbm90IHZhbGlkYXRlIChzdGF0dXMgMykKK3wgeG1sdG86IEZpeCBkb2N1bWVudCBzeW50YXggb3IgdXNlIC0tc2tpcC12YWxpZGF0aW9uIG9wdGlvbgorfCBJL08gZXJyb3IgOiBBdHRlbXB0IHRvIGxvYWQgbmV0d29yayBlbnRpdHkgaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjEuMi9kb2Nib29reC5kdGQKK3wgL3Zhci9saWIvamVua2lucy9qb2JzL3Noci1jb3JlLWJyYW5jaGVzL3dvcmtzcGFjZS9zaHItY29yZS90bXAtZWdsaWJjL3dvcmsvYXJtdjR0LW9lLWxpbnV4LWdudWVhYmkvZ3BzZC0zLjQtcjIvZ3BzZC0zLjQvZ3BzY3RsLnhtbDo4OiB3YXJuaW5nOiBmYWlsZWQgdG8gbG9hZCBleHRlcm5hbCBlbnRpdHkgImh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4xLjIvZG9jYm9va3guZHRkIgorfCAgICAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjEuMi9kb2Nib29reC5kdGQiPgorfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KK3wgSS9PIGVycm9yIDogQXR0ZW1wdCB0byBsb2FkIG5ldHdvcmsgZW50aXR5IGh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4xLjIvZG9jYm9va3guZHRkCit8IHdhcm5pbmc6IGZhaWxlZCB0byBsb2FkIGV4dGVybmFsIGVudGl0eSAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjEuMi9kb2Nib29reC5kdGQiCit8IHZhbGlkaXR5IGVycm9yIDogQ291bGQgbm90IGxvYWQgdGhlIGV4dGVybmFsIHN1YnNldCAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjEuMi9kb2Nib29reC5kdGQiCit8IERvY3VtZW50IC92YXIvbGliL2plbmtpbnMvam9icy9zaHItY29yZS1icmFuY2hlcy93b3Jrc3BhY2Uvc2hyLWNvcmUvdG1wLWVnbGliYy93b3JrL2FybXY0dC1vZS1saW51eC1nbnVlYWJpL2dwc2QtMy40LXIyL2dwc2QtMy40L2dwc2N0bC54bWwgZG9lcyBub3QgdmFsaWRhdGUKK3wgbXY6IGNhbm5vdCBzdGF0IGBncHNjdGwuMSc6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKK3wgc2NvbnM6ICoqKiBbZ3BzY3RsLjFdIEVycm9yIDEKK3wgc2NvbnM6IGJ1aWxkaW5nIHRlcm1pbmF0ZWQgYmVjYXVzZSBvZiBlcnJvcnMuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZGlzYWJsZSBmZWF0dXJlXQorCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBQZXRlciBBLiBCaWdvdCA8cGFiQHBhYmlnb3QuY29tPgorLS0tCisgU0NvbnN0cnVjdCB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9TQ29uc3RydWN0IGIvU0NvbnN0cnVjdAoraW5kZXggMGU1MThlNy4uYzAxYTcxYiAxMDA2NDQKKy0tLSBhL1NDb25zdHJ1Y3QKKysrKyBiL1NDb25zdHJ1Y3QKK0BAIC03MDQsMTIgKzcwNCwxMiBAQCBzaXplX3Qgc3RybGNweSgvKkBvdXRAKi9jaGFyICpkc3QsIC8qQGluQCovY29uc3QgY2hhciAqc3JjLCBzaXplX3Qgc2l6ZSk7CisgCisgICAgIG1hbmJ1aWxkZXIgPSBtYW5nZW5lcmF0b3IgPSBodG1sYnVpbGRlciA9IE5vbmUKKyAgICAgaWYgZW52WydtYW5idWlsZCddOgorLSAgICAgICAgaWYgY29uZmlnLkNoZWNrWHNsdHByb2MoKToKKysgICAgICAgIGlmIEZhbHNlIGFuZCBjb25maWcuQ2hlY2tYc2x0cHJvYygpOgorICAgICAgICAgICAgIG1hbmdlbmVyYXRvciA9ICd4c2x0cHJvYycKKyAgICAgICAgICAgICBidWlsZCA9ICJ4c2x0cHJvYyAtLW5vbmV0ICVzICRTT1VSQ0UgPiRUQVJHRVQiCisgICAgICAgICAgICAgaHRtbGJ1aWxkZXIgPSBidWlsZCAlIGRvY2Jvb2tfaHRtbF91cmkKKyAgICAgICAgICAgICBtYW5idWlsZGVyID0gYnVpbGQgJSBkb2Nib29rX21hbl91cmkKKy0gICAgICAgIGVsaWYgV2hlcmVJcygieG1sdG8iKToKKysgICAgICAgIGVsaWYgRmFsc2UgYW5kIFdoZXJlSXMoInhtbHRvIik6CisgICAgICAgICAgICAgbWFuZ2VuZXJhdG9yID0gJ3htbHRvJworICAgICAgICAgICAgIHhtbHRvID0gInhtbHRvICVzICRTT1VSQ0UgfHwgbXYgYGJhc2VuYW1lICRUQVJHRVRgIGBkaXJuYW1lICRUQVJHRVRgIgorICAgICAgICAgICAgIGh0bWxidWlsZGVyID0geG1sdG8gJSAiaHRtbC1ub2NodW5rcyIKKy0tIAorMS44LjUuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC1tYWNoaW5lLWNvbmZfMS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtbWFjaGluZS1jb25mXzEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMDIzYzVkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtbWFjaGluZS1jb25mXzEuMC5iYgpAQCAtMCwwICsxLDcgQEAKK1NVTU1BUlkgPSAiTWFjaGluZSBzcGVjaWZpYyBncHNkIGNvbmZpZyIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMvQlNEO21kNT0zNzc1NDgwYTcxMmZjNDZhNjk2NDc2NzhhY2IyMzRjYiIKKworIyBlbXB0eSBieSBkZWZhdWx0CisjIEJTUCBsYXllcnMgY2FuIGFkZCBzdHVmZiBsaWtlIG1ldGEtb3Blbm1va28gZXhhbXBsZToKKyMgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC82MC1ncHNkLnJ1bGVzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QvNjAtZ3BzZC5ydWxlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTE0M2I4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QvNjAtZ3BzZC5ydWxlcwpAQCAtMCwwICsxLDQ3IEBACisjIHVkZXYgcnVsZXMgZm9yIGdwc2QKKyMgJElkJAorIworIyBHUFNlcyBkb24ndCBoYXZlIHRoZWlyIG93biBVU0IgZGV2aWNlIGNsYXNzLiAgVGhleSdyZSBzZXJpYWwtb3Zlci1VU0IKKyMgZGV2aWNlcywgc28gd2hhdCB5b3Ugc2VlIGlzIGFjdHVhbGx5IHRoZSBJRCBvZiB0aGUgc2VyaWFsLW92ZXItVVNCIGNoaXAuCisjIEZvcnR1bmF0ZWx5LCBqdXN0IHR3byBvZiB0aGVzZSBhY2NvdW50IGZvciBvdmVyIDgwJSBvZiBjb25zdW1lci1ncmFkZQorIyBHUFMgc2Vuc29ycy4gIFRoZSBncHNkLmhvdHBsdWcud3JhcHBlciBzY3JpcHQgd2lsbCB0ZWxsIGEgcnVubmluZyBncHNkCisjIHRoYXQgaXQgc2hvdWxkIGxvb2sgYXQgdGhlIGRldmljZSB0aGF0IGp1c3Qgd2VudCBhY3RpdmUsIGJlY2F1c2UgaXQKKyMgbWlnaHQgYmUgYSBHUFMuCisjCisjIFRoZSBmb2xsb3dpbmcgc2V0dXAgd29ya3Mgb24gRGViaWFuIC0gc29tZXRoaW5nIHNpbWlsYXIgd2lsbCBhcHBseSBvbiAKKyMgb3RoZXIgZGlzdHJpYnV0aW9uczoKKyMgCisjICAgL2V0Yy91ZGV2L2dwc2QucnVsZXMKKyMgICAvZXRjL3VkZXYvcnVsZXMuZC8wMjVfZ3BzZC5ydWxlcyAtPiAuLi9ncHNkLnJ1bGVzCisjICAgL2xpYi91ZGV2L2dwc2QuaG90cGx1Zy53cmFwcGVyCisjICAgL2xpYi91ZGV2L2dwc2QuaG90cGx1ZworIyAKKyMgU2V0dGluZyB0aGUgbGluayBpbiAvZXRjL3VkZXYvcnVsZXMuZCBhY3RpdmF0ZXMgdGhlIHJ1bGUgYW5kIGRldGVybWluZXMKKyMgd2hlbiB0byBydW4gaXQgb24gYm9vdCAoc2ltaWxhciB0byBpbml0LmQgcHJvY2Vzc2luZykuCisKK1NVQlNZU1RFTSE9InR0eSIsIEdPVE89Imdwc2RfcnVsZXNfZW5kIgorCisjIFByb2xpZmljIFRlY2hub2xvZ3ksIEluYy4gUEwyMzAzIFNlcmlhbCBQb3J0CitBVFRSe2lkVmVuZG9yfT09IjA2N2IiLCBBVFRSe2lkUHJvZHVjdH09PSIyMzAzIiwgU1lNTElOSys9ImdwcyVuIiwgUlVOKz0iL2xpYi91ZGV2L2dwc2QuaG90cGx1Zy53cmFwcGVyIgorIyBBVEVOIEludGVybmF0aW9uYWwgQ28uLCBMdGQgVUMtMjMyQSBTZXJpYWwgUG9ydCBbcGwyMzAzXQorQVRUUntpZFZlbmRvcn09PSIwNTU3IiwgQVRUUntpZFByb2R1Y3R9PT0iMjAwOCIsIFNZTUxJTksrPSJncHMlbiIsIFJVTis9Ii9saWIvdWRldi9ncHNkLmhvdHBsdWcud3JhcHBlciIKKyMgRlRESSA4VTIzMkFNCitBVFRSe2lkVmVuZG9yfT09IjA0MDMiLCBBVFRSe2lkUHJvZHVjdH09PSI2MDAxIiwgU1lNTElOSys9ImdwcyVuIiwgUlVOKz0iL2xpYi91ZGV2L2dwc2QuaG90cGx1Zy53cmFwcGVyIgorIyBDeXByZXNzIE04L0NZN0M2NDAxMyAoRGVMb3JtZSB1c2VzIHRoZXNlKQorQVRUUntpZFZlbmRvcn09PSIxMTYzIiwgQVRUUntpZFByb2R1Y3R9PT0iMDEwMCIsIFNZTUxJTksrPSJncHMlbiIsIFJVTis9Ii9saWIvdWRldi9ncHNkLmhvdHBsdWcud3JhcHBlciIKKyMgUFMtMzYwIE9FTSAoTWljcm9zb2Z0IEdQUyBzb2xkIHdpdGggU3RyZWV0IGFuZCBUcmlwcyAyMDA1KQorQVRUUntpZFZlbmRvcn09PSIwNjdiIiwgQVRUUntpZFByb2R1Y3R9PT0iYWFhMCIsIFNZTUxJTksrPSJncHMlbiIsIFJVTis9Ii9saWIvdWRldi9ncHNkLmhvdHBsdWcud3JhcHBlciIKKyMgR2FybWluIEludGVybmF0aW9uYWwgR1BTbWFwLCB2YXJpb3VzIG1vZGVscyAodGVzdGVkIHdpdGggR2FybWluIEdQUyAxOCBVU0IpCitBVFRSe2lkVmVuZG9yfT09IjA5MWUiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDAzIiwgU1lNTElOSys9ImdwcyVuIiwgUlVOKz0iL2xpYi91ZGV2L2dwc2QuaG90cGx1Zy53cmFwcGVyIgorIyBDeWduYWwgSW50ZWdyYXRlZCBQcm9kdWN0cywgSW5jLiBDUDIxMHggQ29tcG9zaXRlIERldmljZSAoVXNlZCBieSBIb2x1eCBtMjQxKQorQVRUUntpZFZlbmRvcn09PSIxMGM0IiwgQVRUUntpZFByb2R1Y3R9PT0iZWE2MCIsIFNZTUxJTksrPSJncHMlbiIsIFJVTis9Ii9saWIvdWRldi9ncHNkLmhvdHBsdWcud3JhcHBlciIKKyMgdS1ibG94IEFHLCB1LWJsb3ggNSAodGVzdGVkIHdpdGggTmF2aWxvY2sgTkwtNDAyVSkKK0FUVFJ7aWRWZW5kb3J9PT0iMTU0NiIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxYTUiLCBTWU1MSU5LPSJncHMlbiIsIFJVTis9Ii9saWIvdWRldi9ncHNkLmhvdHBsdWcud3JhcHBlciIKKyMgRlRESSBGVDIzMgorQVRUUntpZFZlbmRvcn09PSIwNDAzIiwgQVRUUntpZFByb2R1Y3R9PT0iNjAwMSIsIFNZTUxJTks9ImdwcyVuIiwgUlVOKz0iL2xpYi91ZGV2L2dwc2QuaG90cGx1Zy53cmFwcGVyIgorIyB1LWJsb3ggNAorQVRUUntpZFZlbmRvcn09PSIxNTQ2IiwgQVRUUntpZFByb2R1Y3R9PT0iMDFhNCIsIFNZTUxJTks9ImdwcyVuIiwgUlVOKz0iL2xpYi91ZGV2L2dwc2QuaG90cGx1Zy53cmFwcGVyIgorCitBQ1RJT049PSJyZW1vdmUiLCBSVU4rPSIvbGliL3VkZXYvZ3BzZC5ob3RwbHVnLndyYXBwZXIiCisKK0xBQkVMPSJncHNkX3J1bGVzX2VuZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkL2dwc2QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC9ncHNkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJhNzNkYWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC9ncHNkCkBAIC0wLDAgKzEsMTM2IEBACisjIS9iaW4vc2gKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6ICAgICAgICAgIGdwc2QKKyMgUmVxdWlyZWQtU3RhcnQ6ICAgICRyZW1vdGVfZnMgJG5ldHdvcmsKKyMgU2hvdWxkLVN0YXJ0OiAgICAgIGJsdWV0b290aCBkYnVzIHVkZXYKKyMgUmVxdWlyZWQtU3RvcDogICAgICRyZW1vdGVfZnMgJG5ldHdvcmsKKyMgRGVmYXVsdC1TdGFydDogICAgIDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAgICAgIDAgMSA2CisjIFNob3J0LURlc2NyaXB0aW9uOiBHUFMgKEdsb2JhbCBQb3NpdGlvbmluZyBTeXN0ZW0pIGRhZW1vbiBzdGFydC9zdG9wIHNjcmlwdAorIyBEZXNjcmlwdGlvbjogICAgICAgU3RhcnQvU3RvcCBzY3JpcHQgZm9yIHRoZSBncHNkIHNlcnZpY2UgZGFlbW9uLAorIyAgICAgICAgICAgICAgICAgICAgd2hpY2ggaXMgYWJsZSB0byBtb25pdG9yIG9uZSBvciBtb3JlIEdQUyBkZXZpY2VzCisjICAgICAgICAgICAgICAgICAgICBjb25uZWN0ZWQgdG8gYSBob3N0IGNvbXB1dGVyLCBtYWtpbmcgYWxsIGRhdGEgb24KKyMgICAgICAgICAgICAgICAgICAgIHRoZSBsb2NhdGlvbiBhbmQgbW92ZW1lbnRzIG9mIHRoZSBzZW5zb3JzIGF2YWlsYWJsZQorIyAgICAgICAgICAgICAgICAgICAgdG8gYmUgcXVlcmllZCBvbiBUQ1AgcG9ydCAyOTQ3LgorIyMjIEVORCBJTklUIElORk8KKworIyBBdXRob3I6IEJlcm5kIFplaW1ldHogPGJ6ZWRAZGViaWFuLm9yZz4KKyMKKyMgUGxlYXNlIHJlbW92ZSB0aGUgIkF1dGhvciIgbGluZXMgYWJvdmUgYW5kIHJlcGxhY2UgdGhlbQorIyB3aXRoIHlvdXIgb3duIG5hbWUgaWYgeW91IGNvcHkgYW5kIG1vZGlmeSB0aGlzIHNjcmlwdC4KKworIyBEbyBOT1QgInNldCAtZSIKKworIyBQQVRIIHNob3VsZCBvbmx5IGluY2x1ZGUgL3Vzci8qIGlmIGl0IHJ1bnMgYWZ0ZXIgdGhlIG1vdW50bmZzLnNoIHNjcmlwdAorUEFUSD0vc2JpbjovdXNyL3NiaW46L2JpbjovdXNyL2JpbgorREVTQz0iR1BTIChHbG9iYWwgUG9zaXRpb25pbmcgU3lzdGVtKSBkYWVtb24iCitOQU1FPWdwc2QKK0RBRU1PTj0vdXNyL3NiaW4vJE5BTUUKK1BJREZJTEU9L3Zhci9ydW4vJE5BTUUucGlkCitTQ1JJUFROQU1FPS9ldGMvaW5pdC5kLyROQU1FCisKKyMgRXhpdCBpZiB0aGUgcGFja2FnZSBpcyBub3QgaW5zdGFsbGVkCitbIC14ICIkREFFTU9OIiBdIHx8IGV4aXQgMAorCisjIFJlYWQgY29uZmlndXJhdGlvbiwgaWYgcHJlc2VudAorWyAtciAvZXRjL2RlZmF1bHQvJE5BTUUgXSAmJiAuIC9ldGMvZGVmYXVsdC8kTkFNRQorCitpZiBbIC16ICIkR1BTRF9TT0NLRVQiIF0gJiYgWyAteiAiJERFVklDRVMiIF07IHRoZW4KKwlHUFNEX1NPQ0tFVD0vdmFyL3J1bi9ncHNkLnNvY2sKK2ZpCisKK2lmIFsgLW4gIiRHUFNEX1NPQ0tFVCIgXTsgdGhlbgorICAgICAgICBHUFNEX09QVElPTlM9IiRHUFNEX09QVElPTlMgLUYgJEdQU0RfU09DS0VUIgorZmkKKworIworIyBGdW5jdGlvbiB0aGF0IHN0YXJ0cyB0aGUgZGFlbW9uL3NlcnZpY2UKKyMKK2RvX3N0YXJ0KCkKK3sKKwkjIFJldHVybgorCSMgICAwIGlmIGRhZW1vbiBoYXMgYmVlbiBzdGFydGVkCisJIyAgIDEgaWYgZGFlbW9uIHdhcyBhbHJlYWR5IHJ1bm5pbmcKKwkjICAgMiBpZiBkYWVtb24gY291bGQgbm90IGJlIHN0YXJ0ZWQKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0YXJ0IC0tcXVpZXQgLS1waWRmaWxlICRQSURGSUxFIC0tZXhlYyAkREFFTU9OIC0tdGVzdCBcCisgICAgICAgIC0tICRHUFNEX09QVElPTlMgLVAgJFBJREZJTEUgJEdQU19ERVZJQ0VTID4gL2Rldi9udWxsIFwKKwkJfHwgcmV0dXJuIDEKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0YXJ0IC0tcXVpZXQgLS1waWRmaWxlICRQSURGSUxFIC0tZXhlYyAkREFFTU9OIC0tIFwKKwkJJEdQU0RfT1BUSU9OUyAtUCAkUElERklMRSAkR1BTX0RFVklDRVMgXAorCQl8fCByZXR1cm4gMgorfQorCisjCisjIEZ1bmN0aW9uIHRoYXQgc3RvcHMgdGhlIGRhZW1vbi9zZXJ2aWNlCisjCitkb19zdG9wKCkKK3sKKwkjIFJldHVybgorCSMgICAwIGlmIGRhZW1vbiBoYXMgYmVlbiBzdG9wcGVkCisJIyAgIDEgaWYgZGFlbW9uIHdhcyBhbHJlYWR5IHN0b3BwZWQKKwkjICAgMiBpZiBkYWVtb24gY291bGQgbm90IGJlIHN0b3BwZWQKKwkjICAgb3RoZXIgaWYgYSBmYWlsdXJlIG9jY3VycmVkCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tcXVpZXQgLS1yZXRyeT1URVJNLzMwL0tJTEwvNSAtLXBpZGZpbGUgJFBJREZJTEUgLS1uYW1lICROQU1FCisJUkVUVkFMPSIkPyIKKwlbICIkUkVUVkFMIiA9IDIgXSAmJiByZXR1cm4gMgorCSMgTWFueSBkYWVtb25zIGRvbid0IGRlbGV0ZSB0aGVpciBwaWRmaWxlcyB3aGVuIHRoZXkgZXhpdC4KKwlybSAtZiAkUElERklMRQorCXJldHVybiAiJFJFVFZBTCIKK30KKworIworIyBGdW5jdGlvbiB0aGF0IHNlbmRzIGEgU0lHSFVQIHRvIHRoZSBkYWVtb24vc2VydmljZQorIworZG9fcmVsb2FkKCkgeworCSMKKwkjIElmIHRoZSBkYWVtb24gY2FuIHJlbG9hZCBpdHMgY29uZmlndXJhdGlvbiB3aXRob3V0CisJIyByZXN0YXJ0aW5nIChmb3IgZXhhbXBsZSwgd2hlbiBpdCBpcyBzZW50IGEgU0lHSFVQKSwKKwkjIHRoZW4gaW1wbGVtZW50IHRoYXQgaGVyZS4KKwkjCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tc2lnbmFsIDEgLS1xdWlldCAtLXBpZGZpbGUgJFBJREZJTEUgLS1uYW1lICROQU1FCisJcmV0dXJuIDAKK30KKworY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorCQllY2hvICJTdGFydGluZyAkREVTQyIgIiROQU1FIgorCQlkb19zdGFydAorCQlleGl0ICQ/CisJOzsKKyAgc3RvcCkKKwllY2hvICJTdG9wcGluZyAkREVTQyIgIiROQU1FIgorCWRvX3N0b3AKKwlleGl0ICQ/CisJOzsKKyAgc3RhdHVzKQorICAgICAgIDs7CisgIHJlbG9hZHxmb3JjZS1yZWxvYWQpCisJZWNobyAiUmVsb2FkaW5nICRERVNDIiAiJE5BTUUiCisJZG9fcmVsb2FkCisJZXhpdCAkPworCTs7CisgIHJlc3RhcnQpCisJIworCSMgSWYgdGhlICJyZWxvYWQiIG9wdGlvbiBpcyBpbXBsZW1lbnRlZCB0aGVuIHJlbW92ZSB0aGUKKwkjICdmb3JjZS1yZWxvYWQnIGFsaWFzCisJIworCWVjaG8gIlJlc3RhcnRpbmcgJERFU0MiICIkTkFNRSIKKwlkb19zdG9wCisJY2FzZSAiJD8iIGluCisJICAwfDEpCisJCWRvX3N0YXJ0CisJCWV4aXQgJD8KKwkJOzsKKwkgICopCisJIAkjIEZhaWxlZCB0byBzdG9wCisJCWV4aXQgMQorCQk7OworCWVzYWMKKwk7OworICAqKQorCWVjaG8gIlVzYWdlOiAkU0NSSVBUTkFNRSB7c3RhcnR8c3RvcHxzdGF0dXN8cmVzdGFydHxmb3JjZS1yZWxvYWR9IiA+JjIKKwlleGl0IDMKKwk7OworZXNhYworCis6CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC9ncHNkLWRlZmF1bHQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC9ncHNkLWRlZmF1bHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGNlZmYwMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkL2dwc2QtZGVmYXVsdApAQCAtMCwwICsxLDUgQEAKKyMgSWYgeW91IG11c3Qgc3BlY2lmeSBhIG5vbi1OTUVBIGRyaXZlciwgdW5jb21tZW50IGFuZCBtb2RpZnkgdGhlIG5leHQgbGluZQorR1BTRF9TT0NLRVQ9Ii92YXIvcnVuL2dwc2Quc29jayIKK0dQU0RfT1BUSU9OUz0iIiAKK0dQU19ERVZJQ0VTPSIiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkL2dwc2Quc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkL2dwc2Quc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTMxYTU4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QvZ3BzZC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTAgQEAKK1tVbml0XQorRGVzY3JpcHRpb249R1BTIChHbG9iYWwgUG9zaXRpb25pbmcgU3lzdGVtKSBEYWVtb24KK1JlcXVpcmVzPWdwc2Quc29ja2V0CisKK1tTZXJ2aWNlXQorRW52aXJvbm1lbnRGaWxlPS9ldGMvZGVmYXVsdC9ncHNkCitFeGVjU3RhcnQ9L3Vzci9zYmluL2dwc2QgLU4gJEdQU19ERVZJQ0VTCisKK1tJbnN0YWxsXQorQWxzbz1ncHNkLnNvY2tldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2RfMy4xNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkXzMuMTQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWVmOWIxMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkXzMuMTQuYmIKQEAgLTAsMCArMSwxNDUgQEAKK1NVTU1BUlkgPSAiQSBUQ1AvSVAgRGFlbW9uIHNpbXBsaWZ5aW5nIHRoZSBjb21tdW5pY2F0aW9uIHdpdGggR1BTIGRldmljZXMiCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDIxN2EyM2Y0MDhlOTFjOTQzNTk0NDc3MzViYzE4MDAiCitERVBFTkRTID0gImRidXMgZGJ1cy1nbGliIG5jdXJzZXMgcHl0aG9uIGxpYnVzYjEgY2hycGF0aC1yZXBsYWNlbWVudC1uYXRpdmUgcHBzLXRvb2xzIgorUFJPVklERVMgPSAidmlydHVhbC9ncHNkIgorCitFWFRSQU5BVElWRVBBVEggKz0gImNocnBhdGgtbmF0aXZlIgorCitTUkNfVVJJID0gIiR7U0FWQU5OQUhfR05VX01JUlJPUn0vJHtCUE59LyR7QlB9LnRhci5neiBcCisgICAgZmlsZTovLzAwMDEtU0NvbnN0cnVjdC1yZXNwZWN0LXN5c3Jvb3QtYWxzby1pbi1TUExJTlRPUFRTLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1TQ29uc3RydWN0LXJlbW92ZS1ycGF0aC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDEtU0NvbnN0cnVjdC1wcmVmaXgtaW5jbHVkZXB5LXdpdGgtc3lzcm9vdC1hbmQtZHJvcC1zeS5wYXRjaCBcCisgICAgZmlsZTovLzAwMDQtU0NvbnN0cnVjdC1kaXNhYmxlLWh0bWwtYW5kLW1hbi1kb2NzLWJ1aWxkaW5nLWJlY2F1cy5wYXRjaCBcCisgICAgZmlsZTovLzAwMDEtQ2hlY2stZm9yLV9fU1REQ19OT19BVE9NSUNTX18tYmVmb3JlLXVzaW5nLXN0ZGF0b21pYy5wYXRjaCBcCisgICAgZmlsZTovLzAwMDItQWRkLWEtdGVzdC1mb3ItQzExLWFuZC1jaGVjay13ZS1oYXZlLUMxMS1iZWZvcmUtdXNpbi5wYXRjaCBcCisgICAgZmlsZTovLzAwMDMtV2hvb3BzLWNoZWNrLWZvci1DMTEtbm90LWZvci1ub3QtQzExLWluLXN0ZGF0b21pYy5oLS5wYXRjaCBcCisgICAgZmlsZTovLzAwMDEtSW5jbHVkZS1zdGRhdG9taWMuaC1vbmx5LWluLUMtbW9kZS5wYXRjaCBcCisgICAgZmlsZTovLzAwMDEtbGliZ3BzZC1jb3JlLUZpeC1pc3N1ZS13aXRoLUFDVElWQVRFLWhvb2stbm90LWJlaW5nLS5wYXRjaCBcCisgICAgZmlsZTovL2dwc2QtZGVmYXVsdCBcCisgICAgZmlsZTovL2dwc2QgXAorICAgIGZpbGU6Ly82MC1ncHNkLnJ1bGVzIFwKKyAgICBmaWxlOi8vZ3BzZC5zZXJ2aWNlIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJiYzc0NjcwMDliOTllMDdiYTQ2MTM3N2I1ZGE2YzAzOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1MDRmYzgxMmYzYzE1MjVhMWE0OGUwNGJmNGQ3N2Y5YTgwNjZjMjAxNDQ4ZDk4MDg5ZGY4OWQ1OGVmNTNhOGNiIgorCitpbmhlcml0IHNjb25zIHVwZGF0ZS1yYy5kIHB5dGhvbi1kaXIgcHl0aG9ubmF0aXZlIHN5c3RlbWQgYmx1ZXRvb3RoCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJncHNkIgorSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMgMzUiCisKK1NZU1RFTURfT0VTQ09OUyA9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsZCl9IgorCitleHBvcnQgU1RBR0lOR19JTkNESVIKK2V4cG9ydCBTVEFHSU5HX0xJQkRJUgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdibHVldG9vdGgnLCAnYmx1ZXonLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1tibHVlel0gPSAiYmx1ZXo9J3RydWUnLGJsdWV6PSdmYWxzZScsJHtCTFVFWn0iCitQQUNLQUdFQ09ORklHW3F0XSA9ICJxdD0neWVzJyxxdD0nbm8nLHF0NC14MTEtZnJlZSIKK0VYVFJBX09FU0NPTlMgPSAiIFwKKyAgICBzeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSBcCisgICAgbGliUWdwc21tPSdmYWxzZScgXAorICAgIGRlYnVnPSd0cnVlJyBcCisgICAgc3RyaXA9J2ZhbHNlJyBcCisgICAgY2hycGF0aD0neWVzJyBcCisgICAgc3lzdGVtZD0nJHtTWVNURU1EX09FU0NPTlN9JyBcCisgICAgJHtFWFRSQV9PRUNPTkZ9IFwKKyIKK0RJU0FCTEVfU1RBVElDID0gIiIKKyMgdGhpcyBjYW5ub3QgYmUgdXNlZCwgYmVjYXVzZSB0aGVuIGNocnBhdGggaXMgbm90IGZvdW5kIGFuZCBvbmx5IHN0YXRpYyBsaWIgaXMgYnVpbHQKKyMgdGFyZ2V0PSR7SE9TVF9TWVN9CisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBleHBvcnQgUEtHX0NPTkZJR19QQVRIPSIke1BLR19DT05GSUdfUEFUSH0iCisgICAgZXhwb3J0IFBLR19DT05GSUc9IlBLR19DT05GSUdfU1lTUk9PVF9ESVI9XCIke1BLR19DT05GSUdfU1lTUk9PVF9ESVJ9XCIgcGtnLWNvbmZpZyIKKyAgICBleHBvcnQgU1RBR0lOR19QUkVGSVg9IiR7U1RBR0lOR19ESVJfSE9TVH0vJHtwcmVmaXh9IgorCisgICAgZXhwb3J0IEJVSUxEX1NZUz0iJHtCVUlMRF9TWVN9IgorICAgIGV4cG9ydCBIT1NUX1NZUz0iJHtIT1NUX1NZU30iCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgZXhwb3J0IFBLR19DT05GSUdfUEFUSD0iJHtQS0dfQ09ORklHX1BBVEh9IgorICAgIGV4cG9ydCBQS0dfQ09ORklHPSJQS0dfQ09ORklHX1NZU1JPT1RfRElSPVwiJHtQS0dfQ09ORklHX1NZU1JPT1RfRElSfVwiIHBrZy1jb25maWciCisgICAgZXhwb3J0IFNUQUdJTkdfUFJFRklYPSIke1NUQUdJTkdfRElSX0hPU1R9LyR7cHJlZml4fSIKKworICAgIGV4cG9ydCBCVUlMRF9TWVM9IiR7QlVJTERfU1lTfSIKKyAgICBleHBvcnQgSE9TVF9TWVM9IiR7SE9TVF9TWVN9IgorCisgICAgZXhwb3J0IERFU1RESVI9IiR7RH0iCisgICAgIyBwcmVmaXggaXMgdXNlZCBmb3IgUlBBVEggYW5kIERFU1RESVIvcHJlZml4IGZvciBpbnN0YWxhdGlvbgorICAgICR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9zY29ucyBwcmVmaXg9JHtwcmVmaXh9IGluc3RhbGwgJHtFWFRSQV9PRVNDT05TfXx8IFwKKyAgICAgIGJiZmF0YWwgInNjb25zIGluc3RhbGwgZXhlY3V0aW9uIGZhaWxlZC4iCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2dwc2QgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZC8KKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9kZWZhdWx0CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZ3BzZC1kZWZhdWx0ICR7RH0vJHtzeXNjb25mZGlyfS9kZWZhdWx0L2dwc2QuZGVmYXVsdAorCisgICAgI3N1cHBvcnQgZm9yIHVkZXYKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS91ZGV2L3J1bGVzLmQKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS82MC1ncHNkLnJ1bGVzICR7RH0vJHtzeXNjb25mZGlyfS91ZGV2L3J1bGVzLmQKKyAgICBpbnN0YWxsIC1kICR7RH0ke2Jhc2VfbGliZGlyfS91ZGV2LworICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L2dwc2QuaG90cGx1ZyAke0R9JHtiYXNlX2xpYmRpcn0vdWRldi8KKworICAgICNzdXBwb3J0IGZvciBweXRob24KKyAgICBpbnN0YWxsIC1kICR7RH0vJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vZ3BzCisgICAgaW5zdGFsbCAtbSA3NTUgJHtTfS9ncHMvKi5weSAke0R9LyR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L2dwcworCisgICAgI3N1cHBvcnQgZm9yIHN5c3RlbWQKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9LyR7QlBOfS5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLyR7QlBOfS5zZXJ2aWNlCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3lzdGVtZC8ke0JQTn0uc29ja2V0ICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLyR7QlBOfS5zb2NrZXQKK30KKworcGtnX3Bvc3RpbnN0XyR7UE59LWNvbmYoKSB7CisgICAgdXBkYXRlLWFsdGVybmF0aXZlcyAtLWluc3RhbGwgJHtzeXNjb25mZGlyfS9kZWZhdWx0L2dwc2QgZ3BzZC1kZWZhdWx0cyAke3N5c2NvbmZkaXJ9L2RlZmF1bHQvZ3BzZC5kZWZhdWx0IDEwCit9CisKK3BrZ19wb3N0cm1fJHtQTn0tY29uZigpIHsKKyAgICB1cGRhdGUtYWx0ZXJuYXRpdmVzIC0tcmVtb3ZlIGdwc2QtZGVmYXVsdHMgJHtzeXNjb25mZGlyfS9kZWZhdWx0L2dwc2QuZGVmYXVsdAorfQorCitQQUNLQUdFUyA9KyAibGliZ3BzIGxpYmdwc2QgcHl0aG9uLXB5Z3BzLWRiZyBweXRob24tcHlncHMgZ3BzZC11ZGV2IGdwc2QtY29uZiBncHNkLWdwc2N0bCBncHMtdXRpbHMiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L3BrZ2NvbmZkaXIvbGliZ3BzZC5wYyAke2xpYmRpcn0vcGtnY29uZmRpci9saWJncHMucGMgXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGliUWdwc21tLnBybCIKKworRklMRVNfcHl0aG9uLXB5Z3BzLWRiZyArPSAiICR7bGliZGlyfS9weXRob24qL3NpdGUtcGFja2FnZXMvZ3BzLy5kZWJ1ZyIKKworUkRFUEVORFNfJHtQTn0gPSAiZ3BzZC1ncHNjdGwiCitSUkVDT01NRU5EU18ke1BOfSA9ICJncHNkLWNvbmYgZ3BzZC11ZGV2IGdwc2QtbWFjaGluZS1jb25mIgorCitTVU1NQVJZX2dwc2QtdWRldiA9ICJ1ZGV2IHJlbGV2YW50IGZpbGVzIHRvIHVzZSBncHNkIGhvdHBsdWdnaW5nIgorRklMRVNfZ3BzZC11ZGV2ID0gIiR7YmFzZV9saWJkaXJ9L3VkZXYgJHtzeXNjb25mZGlyfS91ZGV2LyoiCitSREVQRU5EU19ncHNkLXVkZXYgKz0gInVkZXYgZ3BzZC1jb25mIgorCitTVU1NQVJZX2xpYmdwc2QgPSAiQyBzZXJ2aWNlIGxpYnJhcnkgdXNlZCBmb3IgY29tbXVuaWNhdGluZyB3aXRoIGdwc2QiCitGSUxFU19saWJncHNkID0gIiR7bGliZGlyfS9saWJncHNkLnNvLioiCisKK1NVTU1BUllfbGliZ3BzID0gIkMgc2VydmljZSBsaWJyYXJ5IHVzZWQgZm9yIGNvbW11bmljYXRpbmcgd2l0aCBncHNkIgorRklMRVNfbGliZ3BzID0gIiR7bGliZGlyfS9saWJncHMuc28uKiIKKworU1VNTUFSWV9ncHNkLWNvbmYgPSAiZ3BzZCBjb25maWd1cmF0aW9uIGZpbGVzIGFuZCBpbml0IHNjcmlwdHMiCitGSUxFU19ncHNkLWNvbmYgPSAiJHtzeXNjb25mZGlyfSIKK0NPTkZGSUxFU19ncHNkLWNvbmYgPSAiJHtzeXNjb25mZGlyfS9kZWZhdWx0L2dwc2QuZGVmYXVsdCIKKworU1VNTUFSWV9ncHNkLWdwc2N0bCA9ICJUb29sIGZvciB0d2Vha2luZyBHUFMgbW9kZXMiCitGSUxFU19ncHNkLWdwc2N0bCA9ICIke2JpbmRpcn0vZ3BzY3RsIgorCitTVU1NQVJZX2dwcy11dGlscyA9ICJVdGlscyB1c2VkIGZvciBzaW11bGF0aW5nLCBtb25pdG9yaW5nLC4uLiBhIEdQUyIKK0ZJTEVTX2dwcy11dGlscyA9ICIke2JpbmRpcn0vKiIKK1JERVBFTkRTX2dwcy11dGlscyA9ICJweXRob24tcHlncHMiCisKK1NVTU1BUllfcHl0aG9uLXB5Z3BzID0gIlB5dGhvbiBiaW5kaW5ncyB0byBncHNkIgorRklMRVNfcHl0aG9uLXB5Z3BzID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyoiCitSREVQRU5EU19weXRob24tcHlncHMgPSAicHl0aG9uLWNvcmUgcHl0aG9uLWN1cnNlcyBncHNkIHB5dGhvbi1qc29uIgorCitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIiR7UE59LnNvY2tldCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3lwc3kvZmlsZXMvMDAwMS1nX3R5cGVfaW5pdC1pcy1kZXByZWNhdGVkLWZvci1nbGliLTIuMzUuMC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3lwc3kvZmlsZXMvMDAwMS1nX3R5cGVfaW5pdC1pcy1kZXByZWNhdGVkLWZvci1nbGliLTIuMzUuMC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjNiZWE2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9neXBzeS9maWxlcy8wMDAxLWdfdHlwZV9pbml0LWlzLWRlcHJlY2F0ZWQtZm9yLWdsaWItMi4zNS4wLnBhdGNoCkBAIC0wLDAgKzEsMTE0IEBACitGcm9tIDViODU5YjZlN2M4MmY0OWQ5NjdjMjUzOThhOGU3NWI2MWFmOWJjYzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogV2VkLCAxMiBKdW4gMjAxMyAyMDo1ODo1MSAtMDcwMAorU3ViamVjdDogW1BBVENIXSBnX3R5cGVfaW5pdCgpIGlzIGRlcHJlY2F0ZWQgZm9yIGdsaWIgPj0gMi4zNS4wCisKK0NhbGwgaXQgZm9yIG9sZCB2ZXJzaW9ucy4KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCistLS0KKyBleGFtcGxlcy9saXN0LWtub3duLWdwcy1kZXZpY2VzLmMgfCAgICA0ICsrLS0KKyBleGFtcGxlcy9zaW1wbGUtZ3BzLWRidXMuYyAgICAgICAgfCAgICAzICsrLQorIGV4YW1wbGVzL3NpbXBsZS1ncHMtZ3lwc3kuYyAgICAgICB8ICAgIDQgKystLQorIGV4YW1wbGVzL3NpbXBsZS1ncHMtc2F0ZWxsaXRlcy5jICB8ICAgIDQgKystLQorIGd5cHN5L2d5cHN5LW1hcnNoYWwuYyAgICAgICAgICAgICB8ICAgIDIgKy0KKyBzcmMvbWFpbi5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA0ICsrLS0KKyA2IGZpbGVzIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvbGlzdC1rbm93bi1ncHMtZGV2aWNlcy5jIGIvZXhhbXBsZXMvbGlzdC1rbm93bi1ncHMtZGV2aWNlcy5jCitpbmRleCBjN2M0MDU5Li4wYThiMDRiIDEwMDY0NAorLS0tIGEvZXhhbXBsZXMvbGlzdC1rbm93bi1ncHMtZGV2aWNlcy5jCisrKysgYi9leGFtcGxlcy9saXN0LWtub3duLWdwcy1kZXZpY2VzLmMKK0BAIC0yMCw5ICsyMCw5IEBAIG1haW4gKGludCBhcmdjLAorICAgICBHRXJyb3IgKmVycm9yID0gTlVMTDsKKyAgICAgR1B0ckFycmF5ICprbm93bl9kZXZpY2VzOworICAgICBpbnQgaTsKKy0KKysjaWYgIUdMSUJfQ0hFQ0tfVkVSU0lPTigyLDM1LDApCisgICAgIGdfdHlwZV9pbml0ICgpOworLQorKyNlbmRpZgorICAgICBkaXNjb3ZlcnkgPSBneXBzeV9kaXNjb3ZlcnlfbmV3ICgpOworICAgICBrbm93bl9kZXZpY2VzID0gZ3lwc3lfZGlzY292ZXJ5X2xpc3RfZGV2aWNlcyAoZGlzY292ZXJ5LCAmZXJyb3IpOworIAorZGlmZiAtLWdpdCBhL2V4YW1wbGVzL3NpbXBsZS1ncHMtZGJ1cy5jIGIvZXhhbXBsZXMvc2ltcGxlLWdwcy1kYnVzLmMKK2luZGV4IGY3MDQ0ZTYuLjc2YjE4YWEgMTAwNjQ0CistLS0gYS9leGFtcGxlcy9zaW1wbGUtZ3BzLWRidXMuYworKysrIGIvZXhhbXBsZXMvc2ltcGxlLWdwcy1kYnVzLmMKK0BAIC0xMjEsOCArMTIxLDkgQEAgbWFpbiAoaW50ICAgIGFyZ2MsCisgCURCdXNDb25uZWN0aW9uICpjb25uOworIAlEQnVzRXJyb3IgZXJyb3I7CisgCUdNYWluTG9vcCAqbWFpbmxvb3A7CistCisrI2lmICFHTElCX0NIRUNLX1ZFUlNJT04oMiwzNSwwKQorIAlnX3R5cGVfaW5pdCAoKTsKKysjZW5kaWYKKyAJY29ubiA9IGdldF9jb25uZWN0aW9uICgpOworIAorIAlkYnVzX2Vycm9yX2luaXQgKCZlcnJvcik7CitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvc2ltcGxlLWdwcy1neXBzeS5jIGIvZXhhbXBsZXMvc2ltcGxlLWdwcy1neXBzeS5jCitpbmRleCAwYjZiN2E2Li44NjAzM2Q5IDEwMDY0NAorLS0tIGEvZXhhbXBsZXMvc2ltcGxlLWdwcy1neXBzeS5jCisrKysgYi9leGFtcGxlcy9zaW1wbGUtZ3BzLWd5cHN5LmMKK0BAIC02Nyw5ICs2Nyw5IEBAIG1haW4gKGludCAgICBhcmdjLAorIAkJZ19wcmludCAoIlVzYWdlOiAlcyBkZXZpY2VcbiIsIGFyZ3ZbMF0pOworIAkJcmV0dXJuIDA7CisgCX0KKy0KKysjaWYgIUdMSUJfQ0hFQ0tfVkVSU0lPTigyLDM1LDApIAorIAlnX3R5cGVfaW5pdCAoKTsKKy0KKysjZW5kaWYKKyAJY29udHJvbCA9IGd5cHN5X2NvbnRyb2xfZ2V0X2RlZmF1bHQgKCk7CisgCXBhdGggPSBneXBzeV9jb250cm9sX2NyZWF0ZSAoY29udHJvbCwgYXJndlsxXSwgJmVycm9yKTsKKyAJaWYgKHBhdGggPT0gTlVMTCkgeworZGlmZiAtLWdpdCBhL2V4YW1wbGVzL3NpbXBsZS1ncHMtc2F0ZWxsaXRlcy5jIGIvZXhhbXBsZXMvc2ltcGxlLWdwcy1zYXRlbGxpdGVzLmMKK2luZGV4IDE0MGM5OGYuLjlhM2Y5NWEgMTAwNjQ0CistLS0gYS9leGFtcGxlcy9zaW1wbGUtZ3BzLXNhdGVsbGl0ZXMuYworKysrIGIvZXhhbXBsZXMvc2ltcGxlLWdwcy1zYXRlbGxpdGVzLmMKK0BAIC00Miw5ICs0Miw5IEBAIG1haW4gKGludCAgICBhcmdjLAorIAkJZ19wcmludCAoIlVzYWdlOiAlcyBkZXZpY2VcbiIsIGFyZ3ZbMF0pOworIAkJcmV0dXJuIDA7CisgCX0KKy0KKysjaWYgIUdMSUJfQ0hFQ0tfVkVSU0lPTigyLDM1LDApCisgCWdfdHlwZV9pbml0ICgpOworLQorKyNlbmRpZgorIAljb250cm9sID0gZ3lwc3lfY29udHJvbF9nZXRfZGVmYXVsdCAoKTsKKyAJcGF0aCA9IGd5cHN5X2NvbnRyb2xfY3JlYXRlIChjb250cm9sLCBhcmd2WzFdLCAmZXJyb3IpOworIAlpZiAocGF0aCA9PSBOVUxMKSB7CitkaWZmIC0tZ2l0IGEvZ3lwc3kvZ3lwc3ktbWFyc2hhbC5jIGIvZ3lwc3kvZ3lwc3ktbWFyc2hhbC5jCitpbmRleCA2OTY0NjQ0Li45YWMwMDk1IDEwMDY0NAorLS0tIGEvZ3lwc3kvZ3lwc3ktbWFyc2hhbC5jCisrKysgYi9neXBzeS9neXBzeS1tYXJzaGFsLmMKK0BAIC01LDcgKzUsNyBAQAorIAorICNpZmRlZiBHX0VOQUJMRV9ERUJVRworICNkZWZpbmUgZ19tYXJzaGFsX3ZhbHVlX3BlZWtfYm9vbGVhbih2KSAgZ192YWx1ZV9nZXRfYm9vbGVhbiAodikKKy0jZGVmaW5lIGdfbWFyc2hhbF92YWx1ZV9wZWVrX2NoYXIodikgICAgIGdfdmFsdWVfZ2V0X2NoYXIgKHYpCisrI2RlZmluZSBnX21hcnNoYWxfdmFsdWVfcGVla19jaGFyKHYpICAgICBnX3ZhbHVlX2dldF9zY2hhciAodikKKyAjZGVmaW5lIGdfbWFyc2hhbF92YWx1ZV9wZWVrX3VjaGFyKHYpICAgIGdfdmFsdWVfZ2V0X3VjaGFyICh2KQorICNkZWZpbmUgZ19tYXJzaGFsX3ZhbHVlX3BlZWtfaW50KHYpICAgICAgZ192YWx1ZV9nZXRfaW50ICh2KQorICNkZWZpbmUgZ19tYXJzaGFsX3ZhbHVlX3BlZWtfdWludCh2KSAgICAgZ192YWx1ZV9nZXRfdWludCAodikKK2RpZmYgLS1naXQgYS9zcmMvbWFpbi5jIGIvc3JjL21haW4uYworaW5kZXggM2U4YTc5NC4uZWM5ODBlNSAxMDA2NDQKKy0tLSBhL3NyYy9tYWluLmMKKysrKyBiL3NyYy9tYWluLmMKK0BAIC0xODcsOSArMTg3LDkgQEAgbWFpbiAoaW50ICAgIGFyZ2MsCisgCWdfb3B0aW9uX2NvbnRleHRfZnJlZSAoY29udGV4dCk7CisgCisgCXVtYXNrICgwMjIpOworLQorKyNpZiAhR0xJQl9DSEVDS19WRVJTSU9OKDIsMzUsMCkKKyAJZ190eXBlX2luaXQgKCk7CistCisrI2VuZGlmCisgCW1haW5sb29wID0gZ19tYWluX2xvb3BfbmV3IChOVUxMLCBGQUxTRSk7CisgCisgCWNvbm4gPSBkYnVzX2dfYnVzX2dldCAoREJVU19CVVNfU1lTVEVNLCAmZXJyb3IpOworLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3lwc3kvZmlsZXMvZml4dXBzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9neXBzeS9maWxlcy9maXh1cHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGU0ZDkyZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3lwc3kvZmlsZXMvZml4dXBzLnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworLS0tCisgZG9jcy9yZWZlcmVuY2UvTWFrZWZpbGUuYW0gfCAgICAyICsrCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQorCistLS0gZ3lwc3kub3JpZy9kb2NzL3JlZmVyZW5jZS9NYWtlZmlsZS5hbQorKysrIGd5cHN5L2RvY3MvcmVmZXJlbmNlL01ha2VmaWxlLmFtCitAQCAtODEsMTAgKzgxLDEyIEBAIGV4cGFuZF9jb250ZW50X2ZpbGVzPQorICMgZS5nLiBHVEtET0NfTElCUz0kKHRvcF9idWlsZGRpcikvZ3RrLyQoZ3RrdGFyZ2V0bGliKQorIAorIElOQ0xVREVTPS1JJCh0b3Bfc3JjZGlyKSAkKEdZUFNZX0NGTEFHUykKKyBHVEtET0NfTElCUz0kKHRvcF9idWlsZGRpcikvZ3lwc3kvbGliZ3lwc3kubGEgJChHWVBTWV9MSUJTKQorIAorK0VYVFJBX0RJU1QgPQorK0NMRUFORklMRVMgPQorICMgVGhpcyBpbmNsdWRlcyB0aGUgc3RhbmRhcmQgZ3RrLWRvYyBtYWtlIHJ1bGVzLCBjb3BpZWQgYnkgZ3RrZG9jaXplLgorIGluY2x1ZGUgJCh0b3Bfc3JjZGlyKS9ndGstZG9jLm1ha2UKKyAKKyAjIE90aGVyIGZpbGVzIHRvIGRpc3RyaWJ1dGUKKyAjIGUuZy4gRVhUUkFfRElTVCArPSB2ZXJzaW9uLnhtbC5pbgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9neXBzeS9neXBzeS5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2d5cHN5L2d5cHN5LmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZWZkMzU2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9neXBzeS9neXBzeS5pbmMKQEAgLTAsMCArMSwyNSBAQAorU1VNTUFSWSA9ICJHUFMgTXVsdGlwbGV4aW5nIERhZW1vbiIKK0RFU0NSSVBUSU9OID0gIkd5cHN5IGlzIGEgR1BTIG11bHRpcGxleGluZyBkYWVtb24gd2hpY2ggYWxsb3dzIFwKK211bHRpcGxlIGNsaWVudHMgdG8gYWNjZXNzIEdQUyBkYXRhIGZyb20gbXVsdGlwbGUgR1BTIHNvdXJjZXMgXAorY29uY3VycmVudGx5LiAgR3lwc3kgYWxzbyBoaWRlcyB0aGUgZGV0YWlscyBvZiBwYXJzaW5nIE5NRUEgZnJvbSB0aGUgXAorY2xpZW50IGFwcGxpY2F0aW9ucywgcGFzc2luZyB0aGUgZGF0YSBhcyBzaW1wbGUgdmFsdWVzIGZvciB0aGUgY2xpZW50cyBcCit0byB1c2UuIgorTElDRU5TRSA9ICJHUEx2Mi4wICYgTEdQTHYyLjEiCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK0RFUEVORFMgPSAiZ2xpYi0yLjAgZGJ1cyBibHVlejQgZGJ1cy1nbGliIGxpYnhzbHQtbmF0aXZlIGxpYnhzbHQiCisKK1BOQkxBQ0tMSVNUW2d5cHN5XSA/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdibHVlejUnLCAnYmx1ZXo1IGNvbmZsaWN0cyB3aXRoIGJsdWV6NCBhbmQgYmx1ZXo1IGlzIHNlbGVjdGVkIGluIERJU1RST19GRUFUVVJFUycsICcnLCBkKX0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBndGstZG9jCitQQUNLQUdFUyArPSAibGliZ3lwc3kiCisKK0ZJTEVTXyR7UE59ID0gIiBcCisgICR7c3lzY29uZmRpcn0vZ3lwc3kuY29uZiBcCisgICR7c3lzY29uZmRpcn0vZGJ1cy0xIFwKKyAgJHtsaWJleGVjZGlyfS9neXBzeS1kYWVtb24gXAorICAke2RhdGFkaXJ9L2RidXMtMSBcCisiCisKK0ZJTEVTX2xpYmd5cHN5ID0gIiBcCisgICR7bGliZGlyfS9saWJneXBzeSR7U09MSUJTfSBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2d5cHN5L2d5cHN5XzAuOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3lwc3kvZ3lwc3lfMC45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0Yzg5ODcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2d5cHN5L2d5cHN5XzAuOS5iYgpAQCAtMCwwICsxLDE1IEBACityZXF1aXJlIGd5cHN5LmluYworCitQUiA9ICJyMiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5saWI7bWQ1PTdmYmMzMzgzMDlhYzM4ZmVmY2Q2NGIwNGJiOTAzZTM0IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9tYWluLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0yNTttZDU9M2ZlNjRlMjdlNjFiMjg5Yjc3MzgzYTU0YTk4MmNiZGQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3lwc3kvZ3lwc3ktdGltZS5oO2JlZ2lubGluZT0xO2VuZGxpbmU9MjQ7bWQ1PTA2NDMyZWExOWE3YjY2MDc0MjhkMDRkOWRhZGMzN2ZkIgorCitTUkNfVVJJICs9ICJodHRwOi8vZ3lwc3kuZnJlZWRlc2t0b3Aub3JnL3JlbGVhc2VzL2d5cHN5LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWdfdHlwZV9pbml0LWlzLWRlcHJlY2F0ZWQtZm9yLWdsaWItMi4zNS4wLnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlMmQxODZkZjljMmNjM2I3MGEwMjcwNDNlMjJhY2YxYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxNGUxY2JlMTczNTFmNDA4NTM4ZTAzM2NhMzcwYjRiZjUxY2NmOWM4ODc0NGUyMzZkZGZiMjcxOTA0ZjE1NGQ2IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9neXBzeS9neXBzeV9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2d5cHN5L2d5cHN5X2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YWIxNmU2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9neXBzeS9neXBzeV9naXQuYmIKQEAgLTAsMCArMSwyMiBAQAorcmVxdWlyZSBneXBzeS5pbmMKKworREVGQVVMVF9QUkVGRVJFTkNFID0gIi0xIgorCitTUkNSRVYgPSAiYmU4YzljMzgyZDJkMWQzN2I1MWQyOWIwODQzMDQ1MTIxZWM5MDIxMyIKK1BWID0gIjAuOStnaXQke1NSQ1BWfSIKK1BSID0gInIyIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLmxpYjttZDU9N2ZiYzMzODMwOWFjMzhmZWZjZDY0YjA0YmI5MDNlMzQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL21haW4uYztiZWdpbmxpbmU9MTtlbmRsaW5lPTI1O21kNT0zZmU2NGUyN2U2MWIyODliNzczODNhNTRhOTgyY2JkZCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9neXBzeS9neXBzeS10aW1lLmg7YmVnaW5saW5lPTE7ZW5kbGluZT0yNDttZDU9MDY0MzJlYTE5YTdiNjYwNzQyOGQwNGQ5ZGFkYzM3ZmQiCisKK1NSQ19VUkkgKz0gImdpdDovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2d5cHN5IFwKKyAgICAgICAgICAgIGZpbGU6Ly9maXh1cHMucGF0Y2giCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAjIGZyb20gcGF0Y2ggNTYzNzE2ZmM1OTZkNTNmMTA4NTk0OWE5ZGQxMWE2MmYzOWIyZDYyNAorICB0ZXN0IC1kICR7U30vbTQgfHwgbWtkaXIgLXAgJHtTfS9tNAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9saWJzcGF0aWFsaXRlL2xpYnNwYXRpYWxpdGUtNC4yLjAvZ2Vvcy1jb25maWcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2xpYnNwYXRpYWxpdGUvbGlic3BhdGlhbGl0ZS00LjIuMC9nZW9zLWNvbmZpZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOGJkN2RhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9saWJzcGF0aWFsaXRlL2xpYnNwYXRpYWxpdGUtNC4yLjAvZ2Vvcy1jb25maWcucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAoraHR0cHM6Ly93d3cuZ2FpYS1naXMuaXQvZm9zc2lsL2xpYnNwYXRpYWxpdGUvdGt0dmlldz9uYW1lPWFiZWVhYWQ0NDgKKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW3JwbTUtZGV2ZWxAcnBtNS5vcmddCisKK0luZGV4OiBsaWJzcGF0aWFsaXRlLTQuMi4wL2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGxpYnNwYXRpYWxpdGUtNC4yLjAub3JpZy9jb25maWd1cmUuYWMKKysrKyBsaWJzcGF0aWFsaXRlLTQuMi4wL2NvbmZpZ3VyZS5hYworQEAgLTI2MCw3ICsyNjAsNyBAQCBpZiB0ZXN0IHgiJGVuYWJsZV9nZW9zIiAhPSAieG5vIjsgdGhlbgorICAgZmkKKyAgICMgRXh0cmFjdCB0aGUgbGlua2VyIGFuZCBpbmNsdWRlIGZsYWdzCisgICBHRU9TX0xERkxBR1M9YCRHRU9TQ09ORklHIC0tbGRmbGFnc2AKKy0gIEdFT1NfQ0ZMQUdTPS1JYCRHRU9TQ09ORklHIC0taW5jbHVkZXNgCisrICBHRU9TX0NGTEFHUz1gJEdFT1NDT05GSUcgLS1jZmxhZ3NgCisgICBBQ19TVUJTVChbR0VPU19MREZMQUdTXSkKKyAgIEFDX1NVQlNUKFtHRU9TX0NGTEFHU10pCQorICAgIyBFbnN1cmUgdGhhdCB3ZSBjYW4gcGFyc2UgZ2Vvc19jLmgKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbGlic3BhdGlhbGl0ZS9saWJzcGF0aWFsaXRlXzQuMi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9saWJzcGF0aWFsaXRlL2xpYnNwYXRpYWxpdGVfNC4yLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDY2ZGM4NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbGlic3BhdGlhbGl0ZS9saWJzcGF0aWFsaXRlXzQuMi4wLmJiCkBAIC0wLDAgKzEsMjMgQEAKK0RFU0NSSVBUSU9OID0gIkxpYnJhcnkgZXh0ZW5kaW5nIHRoZSBTUUxpdGUgY29yZSB0byBzdXBwb3J0IGZ1bGx5IGZsZWRnZWQgU3BhdGlhbCBTUUwgY2FwYWJpbGl0aWVzIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly93d3cuZ2FpYS1naXMuaXQvZm9zc2lsL2xpYnNwYXRpYWxpdGUvIgorU0VDVElPTiA9ICJsaWJzIgorREVQRU5EUyA9ICJwcm9qIGdlb3Mgc3FsaXRlMyBsaWJ4bWwyIHpsaWIiCisKK0xJQ0VOU0UgPSAiTVBMdjEuMSAmIEdQTHYyKyAmIExHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTBlOTJlMWEzNmNjMzg0YjYwZjViMzFkZGUwYmRkMzllIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZ2FpYS1naXMuaXQvZ2FpYS1zaW5zL2xpYnNwYXRpYWxpdGUtc291cmNlcy9saWJzcGF0aWFsaXRlLSR7UFZ9LnRhci5neiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiA9ICItLWVuYWJsZS1mcmVleGw9bm8iCisKKyMgcGFja2FnZSBwbHVnaW5zIGZvciBTUUxpdGUzCitQQUNLQUdFUyArPSAiJHtQTn0tcGx1Z2luIgorSU5TQU5FX1NLSVBfJHtQTn0tcGx1Z2luID0gImRldi1zbyIKK0ZJTEVTXyR7UE59LXBsdWdpbiArPSAiJHtsaWJkaXJ9L21vZF8qIgorCitTUkNfVVJJW21kNXN1bV0gPSAiODMzMDVlZDY5NGE3NzE1MjEyMGQxZjc0YzUxNTE3NzkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOWYxMzhhNjg1NDc0MGM3ODI3ZmRlZTUzODQ1ZWIxNDg1ZmNlM2U4MDVhN2FhOWZjOTE1MWY4MDQ2ZWJkMzEyZCIKKworU1JDX1VSSSArPSAiZmlsZTovL2dlb3MtY29uZmlnLnBhdGNoIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdC1mcHUuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdC1mcHUuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5NjM3MDIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0LWZwdS5pbmMKQEAgLTAsMCArMSw2IEBACisKK2RlZiBnZXRfbmF2aXRfZnB1X3NldHRpbmcoYmIsIGQpOgorICAgIGlmIGQuZ2V0VmFyKCdUQVJHRVRfRlBVJywgMSkgaW4gWyAnc29mdCcgXToKKyAgICAgICAgcmV0dXJuICItLWVuYWJsZS1hdm9pZC1mbG9hdCIKKyAgICByZXR1cm4gIiIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdC5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0LmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYzBiZmRhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdC5pbmMKQEAgLTAsMCArMSw5NSBAQAorREVTQ1JJUFRJT04gPSAiTmF2aXQgaXMgYSBjYXIgbmF2aWdhdGlvbiBzeXN0ZW0gd2l0aCByb3V0aW5nIGVuZ2luZS4iCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZWQ1MzlkMDk5ZDZjZTA4ZGU2ZWEwZGZlZDllY2IzMzMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vTEdQTC0yO21kNT0zMjE0ZjA4MDg3NTc0ODkzOGJhMDYwMzE0YjRmNzI3ZCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9HUEwtMjttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUgXAorIgorCitTRUNUSU9OID0gIngxMS9hcHBsaWNhdGlvbnMiCitERVBFTkRTID0gImdsaWItMi4wIGdkIGd5cHN5IGxpYnJzdmctbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gPSAiICR7UE59LWljb25zICR7UE59LWNvbmZpZyAiCitSUkVDT01NRU5EU18ke1BOfSA9ICJncHNkICR7UE59LWRidXMgJHtQTn0tc3BlZWNoLWNtZGxpbmUgJHtQTn0tZ3VpLWludGVybmFsICR7UE59LWdyYXBoaWNzLWd0ayIKK1JTVUdHRVNUU18ke1BOfSA9ICJmbGl0ZS1hbHNhIGVzcGVhayAke1BOfS1zcGVlY2gtZGJ1cyAke1BOfS1ndWktZ3RrICR7UE59LWd1aS1xbWwgJHtQTn0tZ3JhcGhpY3Mtc2RsICR7UE59LWdyYXBoaWNzLXF0ICR7UE59LW1hcHRvb2wiCisKK1BFID0gIjEiCitJTkNfUFIgPSAicjExIgorCisjIERlcGVuZHMgb24gZ3lwc3kKK1BOQkxBQ0tMSVNUW25hdml0XSA/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdibHVlejUnLCAnYmx1ZXo1IGNvbmZsaWN0cyB3aXRoIGJsdWV6NCBhbmQgYmx1ZXo1IGlzIHNlbGVjdGVkIGluIERJU1RST19GRUFUVVJFUycsICcnLCBkKX0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnCisKK1BBQ0tBR0VDT05GSUcgPz0gIiIKK1BBQ0tBR0VDT05GSUdbZnJpYmlkaV0gPSAiLS1lbmFibGUtZnJpYmlkaSwtLWRpc2FibGUtZnJpYmlkaSxmcmliaWRpIgorUEFDS0FHRUNPTkZJR1tpbWxpYjJdID0gIi0tZW5hYmxlLWltbGliMiwtLWRpc2FibGUtaW1saWIyLGltbGliMiIKK1BBQ0tBR0VDT05GSUdbc2RsXSA9ICItLWVuYWJsZS1ncmFwaGljcy1zZGwsLS1kaXNhYmxlLWdyYXBoaWNzLXNkbCxsaWJzZGwiCitQQUNLQUdFQ09ORklHW2d0a10gPSAiLS1lbmFibGUtZ3JhcGhpY3MtZ3RrLWRyYXdpbmctYXJlYSAtLWVuYWJsZS1ndWktZ3RrLC0tZGlzYWJsZS1ncmFwaGljcy1ndGstZHJhd2luZy1hcmVhIC0tZGlzYWJsZS1ndWktZ3RrLGd0aysiCitQQUNLQUdFQ09ORklHW3F0XSA9ICItLWVuYWJsZS1ncmFwaGljcy1xdC1xcGFpbnRlciAtLWVuYWJsZS1ndWktcW1sLC0tZGlzYWJsZS1ncmFwaGljcy1xdC1xcGFpbnRlciAtLWRpc2FibGUtZ3VpLXFtbCxxdDQteDExLWZyZWUscXQ0LXBsdWdpbi1pbWFnZWZvcm1hdC1zdmciCisKK0VYVFJBX09FQ09ORiArPSAiIFwKKyAgICAtLWRpc2FibGUtYmluZGluZy1weXRob24gXAorICAgIC0tZGlzYWJsZS1zYW1wbGVtYXAgXAorICAgIC0tZW5hYmxlLWF2b2lkLXVuYWxpZ25lZCBcCisgICAgLS1lbmFibGUtc3ZnMnBuZy1zY2FsaW5nLWZsYWc9MzIgXAorICAgIC0tZGlzYWJsZS1zcGVlY2gtc3BlZWNoLWRpc3BhdGNoZXIgXAorICAgIC0tZW5hYmxlLWNhY2hlLXNpemU9MjA5NzE1MjAgXAorIgorCisjICAtLWVuYWJsZS1hdm9pZC1mbG9hdCBcCisjY2hlY2sgZm9yIFRBUkdFVF9GUFU9c29mdCBhbmQgaW5mb3JtIGNvbmZpZ3VyZSBvZiB0aGUgcmVzdWx0IHNvIGl0IGNhbiBkaXNhYmxlIHNvbWUgZmxvYXRpbmcgcG9pbnRzCityZXF1aXJlIG5hdml0LWZwdS5pbmMKK0VYVFJBX09FQ09ORiArPSAiJHtAZ2V0X25hdml0X2ZwdV9zZXR0aW5nKGJiLCBkKX0iCisKK1BBQ0tBR0VTID0rICIke1BOfS1tYXB0b29sICR7UE59LWNvbmZpZyAke1BOfS1kYnVzICR7UE59LXNwZWVjaC1jbWRsaW5lICR7UE59LXNwZWVjaC1kYnVzICR7UE59LWd1aS1ndGsgJHtQTn0tZ3VpLWludGVybmFsICR7UE59LWd1aS1xbWwgJHtQTn0tZ3JhcGhpY3Mtc2RsICR7UE59LWdyYXBoaWNzLWd0ayAke1BOfS1ncmFwaGljcy1xdCAke1BOfS1pY29ucyIKKworRVhUUkFfQVVUT1JFQ09ORiA9ICIgLUkgbTQiCisKK0NPTkZGSUxFU18ke1BOfS1jb25maWcgKz0gIiR7ZGF0YWRpcn0vbmF2aXQvbmF2aXQuZGVmYXVsdC54bWwgXAorICAgICR7ZGF0YWRpcn0vbmF2aXQvbmF2aXQueG1sIFwKKyAgICAke2RhdGFkaXJ9L25hdml0L21hcHMueG1sIFwKKyAgICAke2RhdGFkaXJ9L25hdml0L29zZC54bWwgXAorICAgICR7ZGF0YWRpcn0vbmF2aXQvc3BlZWNoLnhtbCBcCisgICAgJHtkYXRhZGlyfS9uYXZpdC9wbHVnaW5zLnhtbCBcCisiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9uYXZpdC54bWwgXAorICAgICAgICAgICAgZmlsZTovL21hcHMueG1sIFwKKyAgICAgICAgICAgIGZpbGU6Ly9vc2QueG1sIFwKKyAgICAgICAgICAgIGZpbGU6Ly9zcGVlY2gueG1sIFwKKyAgICAgICAgICAgIGZpbGU6Ly9wbHVnaW5zLnhtbCBcCisiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vJHtCUE59LyovKi5zbyAke2RhdGFkaXJ9L2ljb25zIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vJHtCUE59LyovLmRlYnVnIgorRklMRVNfJHtQTn0tbWFwdG9vbCA9ICIgJHtiaW5kaXJ9L21hcHRvb2wgIgorRklMRVNfJHtQTn0tY29uZmlnID0gIiAke2RhdGFkaXJ9L25hdml0LyoueG1sICIKK0ZJTEVTXyR7UE59LWRidXMgPSAiICR7ZGF0YWRpcn0vZGJ1cy0xL3NlcnZpY2VzLyAke2xpYmRpcn0vJHtCUE59L2JpbmRpbmcvbGliYmluZGluZ19kYnVzLnNvICIKK0ZJTEVTXyR7UE59LXNwZWVjaC1jbWRsaW5lID0gIiAke2xpYmRpcn0vJHtCUE59L3NwZWVjaC9saWJzcGVlY2hfY21kbGluZS5zbyAiCitGSUxFU18ke1BOfS1zcGVlY2gtZGJ1cyA9ICIgJHtsaWJkaXJ9LyR7QlBOfS9zcGVlY2gvbGlic3BlZWNoX2RidXMuc28gIgorRklMRVNfJHtQTn0tZ3VpLWd0ayA9ICIgJHtsaWJkaXJ9LyR7QlBOfS9ndWkvbGliZ3VpX2d0ay5zbyAiCitGSUxFU18ke1BOfS1ndWktcW1sID0gIiAke2xpYmRpcn0vJHtCUE59L2d1aS9saWJndWlfcW1sLnNvICR7ZGF0YWRpcn0vbmF2aXQvc2tpbnMvICIKK0ZJTEVTXyR7UE59LWd1aS1pbnRlcm5hbCA9ICIgJHtsaWJkaXJ9LyR7QlBOfS9ndWkvbGliZ3VpX2ludGVybmFsLnNvICIKK0ZJTEVTXyR7UE59LWdyYXBoaWNzLXNkbCA9ICIgJHtsaWJkaXJ9LyR7QlBOfS9ncmFwaGljcy9saWJncmFwaGljc19zZGwuc28gIgorRklMRVNfJHtQTn0tZ3JhcGhpY3MtcXQgPSAiICR7bGliZGlyfS8ke0JQTn0vZ3JhcGhpY3MvbGliZ3JhcGhpY3NfcXRfcXBhaW50ZXIuc28gIgorRklMRVNfJHtQTn0tZ3JhcGhpY3MtZ3RrID0gIiAke2xpYmRpcn0vJHtCUE59L2dyYXBoaWNzL2xpYmdyYXBoaWNzX2d0a19kcmF3aW5nX2FyZWEuc28gIgorRklMRVNfJHtQTn0taWNvbnMgPSAiL3Vzci9zaGFyZS9uYXZpdC94cG0vIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAjIE1PQz1gJFBLR19DT05GSUcgUXRHdWkgLS12YXJpYWJsZT1tb2NfbG9jYXRpb25gIHJldHVybnMgb25seSAvdXNyL2Jpbi9tb2M0IHdoaWNoIGlzIG5vdCBhdmFpbGFibGUgb24gaG9zdHMgd2l0aG91dCBRdAorICAgIHNlZCAtaSAicyNNT0M9I01PQz0ke1NUQUdJTkdfRElSX05BVElWRX0jZyIgJHtTfS9jb25maWd1cmUuaW4KK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyBmaXggUUEgaXNzdWUKKyAgICBzZWQgLWkgJ3MjQ2F0ZWdvcmllcz1HVEs7VXRpbGl0eTtHZW9ncmFwaHk7I0NhdGVnb3JpZXM9R3JhcGhpY3M7I2cnICR7RH0ke2RhdGFkaXJ9L2FwcGxpY2F0aW9ucy9uYXZpdC5kZXNrdG9wCisKKyAgICBybSAke0R9JHtsaWJkaXJ9LyR7QlBOfS8qLyoubGEKKworICAgICNVc2Ugc3BsaXQgY29uZmlnCisgICAgbXYgJHtEfSR7ZGF0YWRpcn0vbmF2aXQvbmF2aXQueG1sICR7RH0ke2RhdGFkaXJ9L25hdml0L25hdml0LmRlZmF1bHQueG1sCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbmF2aXQueG1sICR7RH0ke2RhdGFkaXJ9L25hdml0L25hdml0LnhtbAorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L21hcHMueG1sICR7RH0ke2RhdGFkaXJ9L25hdml0L21hcHMueG1sCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vb3NkLnhtbCAke0R9JHtkYXRhZGlyfS9uYXZpdC9vc2QueG1sCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vc3BlZWNoLnhtbCAke0R9JHtkYXRhZGlyfS9uYXZpdC9zcGVlY2gueG1sCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcGx1Z2lucy54bWwgJHtEfSR7ZGF0YWRpcn0vbmF2aXQvcGx1Z2lucy54bWwKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXQvY29uZmlndXJlLmFkZC5pbWxpYjIub3B0aW9uLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdC9jb25maWd1cmUuYWRkLmltbGliMi5vcHRpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmU0MTc5MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXQvY29uZmlndXJlLmFkZC5pbWxpYjIub3B0aW9uLnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKKy0tLSBhL2NvbmZpZ3VyZS5pbi5vcmlnCTIwMTQtMDUtMTAgMTU6NTc6MTguMTQ2MzYyMTEwICswMjAwCisrKysgYi9jb25maWd1cmUuaW4JMjAxNC0wNS0xMCAxNTo1OToyNy44NTkzNTg4NDUgKzAyMDAKK0BAIC00OTgsMTAgKzQ5OCwxMyBAQAorIEFDX1NVQlNUKEZSSUJJRElfQ0ZMQUdTKQorIEFDX1NVQlNUKEZSSUJJRElfTElCUykKKyAKKytBQ19BUkdfRU5BQkxFKGltbGliMiwgWyAgLS1kaXNhYmxlLWltbGliMiAgZGlzYWJsZSBpbWxpYjIgc3VwcG9ydF0sIGltbGliMj0kZW5hYmxldmFsO2ltbGliMl9yZWFzb249ImNvbmZpZ3VyZSBwYXJhbWV0ZXIiLCBpbWxpYjI9eWVzKQorK2lmIHRlc3QgeCIke2ltbGliMn0iID0gInh5ZXMiOyB0aGVuCisgUEtHX0NIRUNLX01PRFVMRVMoSU1MSUIyLCBbaW1saWIyXSwgW2ltbGliMl9wa2djb25maWc9eWVzXSwgW2ltbGliMl9wa2djb25maWc9bm9dKQorIGlmIHRlc3QgIngkaW1saWIyX3BrZ2NvbmZpZyIgPSAieHllcyI7IHRoZW4KKyAgICBBQ19ERUZJTkUoSEFWRV9JTUxJQjIsIDEsIFtEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSBpbWxpYjJdKQorIGZpCisrZmkKKyBBQ19TVUJTVChJTUxJQjJfQ0ZMQUdTKQorIEFDX1NVQlNUKElNTElCMl9MSUJTKQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdC9mcmVldHlwZS1pbmNsdWRlLXBhdGgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0L2ZyZWV0eXBlLWluY2x1ZGUtcGF0aC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODg5OTdiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdC9mcmVldHlwZS1pbmNsdWRlLXBhdGgucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorRGVzY3JpcHRpb246IEZpeCBGVEJGUyBjYXVzZWQgYnkgZnJlZXR5cGUgaGVhZGVycyBwYXRoIGNoYW5nZS4KK0F1dGhvcjogR2lsbGVzIEZpbGlwcGluaSA8cGluaUBkZWJpYW4ub3JnPgorQnVnLURlYmlhbjogaHR0cDovL2J1Z3MuZGViaWFuLm9yZy83MzMzNzgKK0luZGV4OiBuYXZpdC9uYXZpdC9mb250L2ZyZWV0eXBlL2ZvbnRfZnJlZXR5cGUuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG5hdml0Lm9yaWcvbmF2aXQvZm9udC9mcmVldHlwZS9mb250X2ZyZWV0eXBlLmMJMjAxMy0wOS0yMyAxMDo0MzozMi4wMDAwMDAwMDAgKzAyMDAKKysrKyBuYXZpdC9uYXZpdC9mb250L2ZyZWV0eXBlL2ZvbnRfZnJlZXR5cGUuYwkyMDEzLTEyLTMwIDE5OjU0OjQ1LjAwMDAwMDAwMCArMDEwMAorQEAgLTMyLDcgKzMyLDcgQEAKKyAjaWYgVVNFX0ZSSUJJREkKKyAjaW5jbHVkZSA8ZnJpYmlkaS5oPgorICNlbmRpZgorLSNpbmNsdWRlIDxmcmVldHlwZS9mdGdseXBoLmg+CisrI2luY2x1ZGUgPGZ0Z2x5cGguaD4KKyAjaW5jbHVkZSAicG9pbnQuaCIKKyAjaW5jbHVkZSAiZ3JhcGhpY3MuaCIKKyAjaW5jbHVkZSAiZGVidWcuaCIKK2RpZmYgLXVOciBuYXZpdC5vcmlnL25hdml0L2dyYXBoaWNzL3NkbC9ncmFwaGljc19zZGwuYyBuYXZpdC9uYXZpdC9ncmFwaGljcy9zZGwvZ3JhcGhpY3Nfc2RsLmMKKy0tLSBuYXZpdC5vcmlnL25hdml0L2dyYXBoaWNzL3NkbC9ncmFwaGljc19zZGwuYwkyMDEyLTA2LTIyIDE0OjE2OjAxLjAwMDAwMDAwMCArMDIwMAorKysrIG5hdml0L25hdml0L2dyYXBoaWNzL3NkbC9ncmFwaGljc19zZGwuYwkyMDE0LTAxLTAxIDIyOjMxOjEwLjg5Mjk0ODE2NCArMDEwMAorQEAgLTg0LDcgKzg0LDcgQEAKKyAjZWxzZQorICNpbmNsdWRlIDxmdDJidWlsZC5oPgorICNpbmNsdWRlIEZUX0ZSRUVUWVBFX0gKKy0jaW5jbHVkZSA8ZnJlZXR5cGUvZnRnbHlwaC5oPgorKyNpbmNsdWRlIDxmdGdseXBoLmg+CisgI2VuZGlmCisgI2luY2x1ZGUgPGV2ZW50Lmg+CisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0L21hcHMueG1sIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdC9tYXBzLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZjU5ZjIwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdC9tYXBzLnhtbApAQCAtMCwwICsxLDI0IEBACisgICAgICAgICAgICAgICAgPCEtLSBJZiB5b3UgaGF2ZSB0aGUgcmVpc2VwbGFuZXIgbWFwcyBpbnN0YWxsZWQsIHNldCBlbmFibGVkPSJ5ZXMiIGluIHRoZSBuZXh0IGxpbmUgYW5kIHNldCB0aGUgcGF0aCBjb3JyZWN0bHkgLS0+CisgICAgICAgICAgICAgICAgPG1hcHNldCBlbmFibGVkPSJubyI+CisgICAgICAgICAgICAgICAgICAgICAgICA8bWFwIHR5cGU9Im1nIiBlbmFibGVkPSJ5ZXMiIGRhdGE9Ii9vcHQvcmVpc2VwbGFuZXIvdHJhdmVsL0RFLm1hcCIvPgorICAgICAgICAgICAgICAgICAgICAgICAgPG1hcCB0eXBlPSJtZyIgZW5hYmxlZD0ieWVzIiBkYXRhPSIvb3B0L3JlaXNlcGxhbmVyL3RyYXZlbC9ERS5tYXAvc21wMS5zbXAiLz4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxtYXAgdHlwZT0ibWciIGVuYWJsZWQ9InllcyIgZGF0YT0iL29wdC9yZWlzZXBsYW5lci90cmF2ZWwvREUubWFwL3NtcDIuc21wIi8+CisgICAgICAgICAgICAgICAgICAgICAgICA8bWFwIHR5cGU9Im1nIiBlbmFibGVkPSJ5ZXMiIGRhdGE9Ii9vcHQvcmVpc2VwbGFuZXIvdHJhdmVsL0RFLm1hcC9zbXAzLnNtcCIvPgorICAgICAgICAgICAgICAgICAgICAgICAgPG1hcCB0eXBlPSJtZyIgZW5hYmxlZD0ieWVzIiBkYXRhPSIvb3B0L3JlaXNlcGxhbmVyL3RyYXZlbC9ERS5tYXAvc21wNC5zbXAiLz4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxtYXAgdHlwZT0ibWciIGVuYWJsZWQ9InllcyIgZGF0YT0iL29wdC9yZWlzZXBsYW5lci90cmF2ZWwvREUubWFwL3NtcDUuc21wIi8+CisgICAgICAgICAgICAgICAgPC9tYXBzZXQ+CisKKyAgICAgICAgICAgICAgICA8IS0tIElmIHlvdSBkb250IHdhbnQgdG8gdXNlIHRoZSBzYW1wbGUgbWFwLCBlaXRoZXIgc2V0IGVuYWJsZWQ9Im5vIiBpbiB0aGUgbmV4dCBsaW5lIG9yIHJlbW92ZSB0aGUgeG1sIGZpbGUgZnJvbSB0aGUgbWFwcyBkaXJlY3RvcnkgLS0+CisgICAgICAgICAgICAgICAgPG1hcHNldCBlbmFibGVkPSJubyI+CisgICAgICAgICAgICAgICAgICAgICAgICA8eGk6aW5jbHVkZSBocmVmPSIkTkFWSVRfU0hBUkVESVIvbWFwcy8qLnhtbCIvPgorICAgICAgICAgICAgICAgIDwvbWFwc2V0PgorCisgICAgICAgICAgICAgICAgPCEtLSBNYXBzZXQgdGVtcGxhdGUgZm9yIG9wZW5zdHJlZXRtYXBzIC0tPgorICAgICAgICAgICAgICAgIDxtYXBzZXQgZW5hYmxlZD0ieWVzIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxtYXAgdHlwZT0iYmluZmlsZSIgZW5hYmxlZD0ieWVzIiBkYXRhPSIvbWVkaWEvbW1jMi9NYXBzTmF2aXQvb3NtX2V1cm9wZS5iaW4iLz4KKyAgICAgICAgICAgICAgICA8L21hcHNldD4KKworICAgICAgICAgICAgICAgIDwhLS0gTWFwc2V0IHRlbXBsYXRlIGZvciBnYXJtaW4gbWFwcyAtLT4KKyAgICAgICAgICAgICAgICA8bWFwc2V0IGVuYWJsZWQ9Im5vIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxtYXAgdHlwZT0iZ2FybWluIiBlbmFibGVkPSJ5ZXMiIGRhdGE9Ii9wYXRoL3RvL2ltZyIgZGVidWc9IjQiLz4KKyAgICAgICAgICAgICAgICA8L21hcHNldD4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXQvbmF2aXQueG1sIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdC9uYXZpdC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNThjOGMyMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXQvbmF2aXQueG1sCkBAIC0wLDAgKzEsNDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgY29uZmlnIFNZU1RFTSAibmF2aXQuZHRkIj4KKzxjb25maWcgeG1sbnM6eGk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWEluY2x1ZGUiPgorCTx4aTppbmNsdWRlIGhyZWY9Ii91c3Ivc2hhcmUvbmF2aXQvcGx1Z2lucy54bWwiLz4KKwk8eGk6aW5jbHVkZSBocmVmPSIvdXNyL3NoYXJlL25hdml0L25hdml0LmRlZmF1bHQueG1sIiB4cG9pbnRlcj0ieHBvaW50ZXIoL2NvbmZpZy9kZWJ1ZykiLz4KKworCTxuYXZpdCBjZW50ZXI9IjQ4MDggTiAxMTM0IEUiIHpvb209IjI1NiIgdHJhY2tpbmc9IjEiIG9yaWVudGF0aW9uPSItMSIgcmVjZW50X2Rlc3Q9IjEwIiBkcmFnX2JpdG1hcD0iMSI+CisJCTxncmFwaGljcyB0eXBlPSJndGtfZHJhd2luZ19hcmVhIi8+CisJCTxndWkgdHlwZT0iZ3RrIiBlbmFibGVkPSJubyIgbWVudWJhcj0iMSIgdG9vbGJhcj0iMSIgc3RhdHVzYmFyPSIxIi8+CisJCTx4aTppbmNsdWRlIGhyZWY9Ii91c3Ivc2hhcmUvbmF2aXQvbmF2aXQuZGVmYXVsdC54bWwiIHhwb2ludGVyPSJ4cG9pbnRlcigvY29uZmlnL25hdml0L2d1aVtAdHlwZT0naW50ZXJuYWwnXSkiLz4KKwkJPCEtLSBvciBjb21tZW50IGd0ayB2ZXJzaW9uIGFib3ZlIGFuZCB0cnk6CisJCW9wa2cgaW5zdGFsbCBuYXZpdC1ncmFwaGljcy1xdAorCQlvcGtnIGluc3RhbGwgbmF2aXQtZ3VpLXFtbAorCQk8Z3JhcGhpY3MgdHlwZT0icXRfcXBhaW50ZXIiLz4KKwkJPGd1aSB0eXBlPSJxbWwiIGVuYWJsZWQ9InllcyIgbWVudWJhcj0iMSIgdG9vbGJhcj0iMSIgc3RhdHVzYmFyPSIxIi8+CisJCS0tPgorCQk8eGk6aW5jbHVkZSBocmVmPSIvdXNyL3NoYXJlL25hdml0L29zZC54bWwiLz4KKwkJPGxvZyBlbmFibGVkPSJubyIgdHlwZT0idGV4dGZpbGVfZGVidWciIGRhdGE9ImRlYnVnXyVZJW0lZC0laS50eHQiIGZsdXNoX3NpemU9IjEwMDAiIGZsdXNoX3RpbWU9IjMwIi8+CisJCTx2ZWhpY2xlIG5hbWU9IkxvY2FsIEdQUyIgcHJvZmlsZW5hbWU9ImNhciIgZW5hYmxlZD0ieWVzIiBhY3RpdmU9IjEiIHNvdXJjZT0iZ3BzZDovL2xvY2FsaG9zdCIgZ3BzZF9xdWVyeT0idyt4aiI+CisJCQk8IS0tIDxsb2cgdHlwZT0iZ3B4IiBhdHRyX3R5cGVzPSJwb3NpdGlvbl90aW1lX2lzbzg2MDEscG9zaXRpb25fZGlyZWN0aW9uLHBvc2l0aW9uX3NwZWVkLHByb2ZpbGVuYW1lLHBvc2l0aW9uX3JhZGl1cyIgZGF0YT0idHJhY2tfJVklbSVkLSVpLmdweCIgZmx1c2hfc2l6ZT0iMTAwMCIgZmx1c2hfdGltZT0iMzAiLz4gLS0+CisJCTwvdmVoaWNsZT4KKworCQk8dmVoaWNsZSBuYW1lPSJEZW1vIiBwcm9maWxlbmFtZT0iY2FyIiBlbmFibGVkPSJubyIgYWN0aXZlPSJ5ZXMiIHNvdXJjZT0iZGVtbzovLyIvPgorCisJCTwhLS0gRm9yIHRoZSBjdW11bGF0aXZlIGRpc3BsYWNlbWVudCBmaWx0ZXIgdG8gYmUgZW5hYmxlZCwgc2V0IGNkZl9oaXN0c2l6ZT0ieCIgaGVyZSwgd2l0aCB4IGJlaW5nIGFuIGludGVnZXIgc29tZXdoZXJlIGFyb3VuZCA0IC0tPgorCQk8dHJhY2tpbmcgY2RmX2hpc3RzaXplPSIwIi8+CisKKwkJPHhpOmluY2x1ZGUgaHJlZj0iL3Vzci9zaGFyZS9uYXZpdC9uYXZpdC5kZWZhdWx0LnhtbCIgeHBvaW50ZXI9Inhwb2ludGVyKC9jb25maWcvbmF2aXQvdmVoaWNsZXByb2ZpbGVbQG5hbWU9J2NhciddKSIvPgorCQk8eGk6aW5jbHVkZSBocmVmPSIvdXNyL3NoYXJlL25hdml0L25hdml0LmRlZmF1bHQueG1sIiB4cG9pbnRlcj0ieHBvaW50ZXIoL2NvbmZpZy9uYXZpdC92ZWhpY2xlcHJvZmlsZVtAbmFtZT0nYmlrZSddKSIvPgorCQk8eGk6aW5jbHVkZSBocmVmPSIvdXNyL3NoYXJlL25hdml0L25hdml0LmRlZmF1bHQueG1sIiB4cG9pbnRlcj0ieHBvaW50ZXIoL2NvbmZpZy9uYXZpdC92ZWhpY2xlcHJvZmlsZVtAbmFtZT0ncGVkZXN0cmlhbiddKSIvPgorCQk8eGk6aW5jbHVkZSBocmVmPSIvdXNyL3NoYXJlL25hdml0L25hdml0LmRlZmF1bHQueG1sIiB4cG9pbnRlcj0ieHBvaW50ZXIoL2NvbmZpZy9uYXZpdC92ZWhpY2xlcHJvZmlsZVtAbmFtZT0naG9yc2UnXSkiLz4KKworCQk8cm91dGUgZGVzdGluYXRpb25fZGlzdGFuY2U9IjUwIi8+CisKKwkJPHhpOmluY2x1ZGUgaHJlZj0iL3Vzci9zaGFyZS9uYXZpdC9uYXZpdC5kZWZhdWx0LnhtbCIgeHBvaW50ZXI9Inhwb2ludGVyKC9jb25maWcvbmF2aXQvbmF2aWdhdGlvbikiLz4KKworCQk8eGk6aW5jbHVkZSBocmVmPSIvdXNyL3NoYXJlL25hdml0L3NwZWVjaC54bWwiLz4KKwkJPHhpOmluY2x1ZGUgaHJlZj0iL3Vzci9zaGFyZS9uYXZpdC9tYXBzLnhtbCIvPgorCisJCTx4aTppbmNsdWRlIGhyZWY9Ii91c3Ivc2hhcmUvbmF2aXQvbmF2aXQuZGVmYXVsdC54bWwiIHhwb2ludGVyPSJ4cG9pbnRlcigvY29uZmlnL25hdml0L2xheW91dFtAbmFtZT0nQ2FyJ10pIi8+CisJCTx4aTppbmNsdWRlIGhyZWY9Ii91c3Ivc2hhcmUvbmF2aXQvbmF2aXQuZGVmYXVsdC54bWwiIHhwb2ludGVyPSJ4cG9pbnRlcigvY29uZmlnL25hdml0L2xheW91dFtAbmFtZT0nQ2FyLWRhcmsnXSkiLz4KKwkJPHhpOmluY2x1ZGUgaHJlZj0iL3Vzci9zaGFyZS9uYXZpdC9uYXZpdC5kZWZhdWx0LnhtbCIgeHBvaW50ZXI9Inhwb2ludGVyKC9jb25maWcvbmF2aXQvbGF5b3V0W0BuYW1lPSdCaWtlJ10pIi8+CisJCTx4aTppbmNsdWRlIGhyZWY9Ii91c3Ivc2hhcmUvbmF2aXQvbmF2aXQuZGVmYXVsdC54bWwiIHhwb2ludGVyPSJ4cG9pbnRlcigvY29uZmlnL25hdml0L2xheW91dFtAbmFtZT0nVEBIJ10pIi8+CisJPC9uYXZpdD4KKzwvY29uZmlnPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdC9vc2QueG1sIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdC9vc2QueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkMGY5ZmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0L29zZC54bWwKQEAgLTAsMCArMSwxNSBAQAorICAgICAgICAgICAgICAgIDwhLS0gb3NkIGl0ZW1zIGFsbG93IHRvIHBvc2l0aW9uIGRpc3BsYXkgYW5kIGNvbnRyb2wgaXRlbXMgZGlyZWN0bHkgb24gdG9wIG9mIHRoZSBtYXA6IC0tPgorICAgICAgICAgICAgICAgIDxvc2QgZW5hYmxlZD0ibm8iIHR5cGU9ImNvbXBhc3MiLz4KKyAgICAgICAgICAgICAgICA8b3NkIGVuYWJsZWQ9Im5vIiB0eXBlPSJldGEiLz4KKyAgICAgICAgICAgICAgICA8b3NkIGVuYWJsZWQ9Im5vIiB0eXBlPSJuYXZpZ2F0aW9uX2Rpc3RhbmNlX3RvX3RhcmdldCIvPgorICAgICAgICAgICAgICAgIDxvc2QgZW5hYmxlZD0ibm8iIHR5cGU9Im5hdmlnYXRpb24iLz4KKyAgICAgICAgICAgICAgICA8b3NkIGVuYWJsZWQ9Im5vIiB0eXBlPSJuYXZpZ2F0aW9uX2Rpc3RhbmNlX3RvX25leHQiLz4KKyAgICAgICAgICAgICAgICA8b3NkIGVuYWJsZWQ9Im5vIiB0eXBlPSJuYXZpZ2F0aW9uX25leHRfdHVybiIvPgorCisgICAgICAgICAgICAgICAgPCEtLSBDb21tYW5kcyBpbmNsdWRlIGd1aV9pbnRlcm5hbF9tZW51LCBndWlfaW50ZXJuYWxfZnVsbHNjcmVlbiwgem9vbV9pbiBhbmQgem9vbV9vdXQuCisgICAgICAgICAgICAgICAgICAgICAgICAgVXNhZ2Ugb2YgbmVnYXRpdmUgdmFsdWVzIGNoYW5nZSB0aGUgYnV0dG9uIG9yaWdpbnMuIHg9IjAiIHk9IjAiIHNwZWNpZmllcyB0aGUgdG9wIGxlZnQsIHg9Ii0wIiB5PSItMCIgdGhlIGJvdHRvbSByaWdodCBjb3JuZXIuCisgICAgICAgICAgICAgICAgICAgICAgICAgSXQncyBhbHdheXMgdGhlIHRvcCBsZWZ0IGNvcm5lciBvZiB0aGUgaWNvbiwgc28geW91IG5lZWQgdG8gY29uc2lkZXIgdGhlIGljb24ncyBzaXplIHdoZW4geW91IGVudGVyIHRoZSB2YWx1ZXMuIC0tPgorICAgICAgICAgICAgICAgIDxvc2QgZW5hYmxlZD0ibm8iIHR5cGU9ImJ1dHRvbiIgeD0iMCIgeT0iMCIgY29tbWFuZD0iZ3VpLmZ1bGxzY3JlZW4oKSIgc3JjPSJ0b2dnbGVfZnVsbHNjcmVlbi54cG0iLz4KKyAgICAgICAgICAgICAgICA8b3NkIGVuYWJsZWQ9Im5vIiB0eXBlPSJidXR0b24iIHg9Ii05NiIgeT0iMCIgY29tbWFuZD0iZ3VpLm1lbnUoKSIgc3JjPSJtZW51LnhwbSIvPgorICAgICAgICAgICAgICAgIDxvc2QgZW5hYmxlZD0ibm8iIHR5cGU9ImJ1dHRvbiIgeD0iLTk2IiB5PSItOTYiIGNvbW1hbmQ9Inpvb21faW4oKSIgc3JjPSJ6b29tX2luLnhwbSIvPgorICAgICAgICAgICAgICAgIDxvc2QgZW5hYmxlZD0ibm8iIHR5cGU9ImJ1dHRvbiIgeD0iMCIgeT0iLTk2IiBjb21tYW5kPSJ6b29tX291dCgpIiBzcmM9Inpvb21fb3V0LnhwbSIvPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdC9wbHVnaW5zLnhtbCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXQvcGx1Z2lucy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDE1YjA1NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXQvcGx1Z2lucy54bWwKQEAgLTAsMCArMSw2IEBACis8cGx1Z2lucz4KKwk8cGx1Z2luIHBhdGg9IiROQVZJVF9MSUJESVIvKi8ke05BVklUX0xJQlBSRUZJWH1saWIqLnNvIiBvbmRlbWFuZD0ieWVzIi8+CisJPHBsdWdpbiBwYXRoPSIkTkFWSVRfTElCRElSL2F1dG9sb2FkLyR7TkFWSVRfTElCUFJFRklYfWxpYiouc28iLz4KKwk8cGx1Z2luIHBhdGg9IiROQVZJVF9MSUJESVIvKi8ke05BVklUX0xJQlBSRUZJWH1saWJiaW5kaW5nX2RidXMuc28iIGFjdGl2ZT0ieWVzIi8+CisJPHBsdWdpbiBwYXRoPSIkTkFWSVRfTElCRElSLyovJHtOQVZJVF9MSUJQUkVGSVh9bGliZ3JhcGhpY3NfbnVsbC5zbyIgYWN0aXZlPSJubyIvPgorPC9wbHVnaW5zPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdC9zcGVlY2gueG1sIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdC9zcGVlY2gueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4YzQ5OTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0L3NwZWVjaC54bWwKQEAgLTAsMCArMSw4IEBACisgICAgICAgICAgICAgICAgPCEtLSBOYXZpdCBwcm92aWRlcyBzcGVlY2ggb3V0cHV0IGluIHRleHQgZm9ybWF0LgorICAgICAgICAgICAgICAgICAgICAgICAgIElmIHlvdSBoYXZlIGEgc3BlZWNoIHN5bnRoZXNpemVyIGxpa2UgZmVzdGl2YWwgbGl0ZSBpbnN0YWxsZWQsIHlvdSBjYW4gZ2V0IHR1cm4gYnkgdHVybiBkaXJlY3Rpb25zIG91dCBvZiBuYXZpdC4gUGxlYXNlIHNldCB0aGUgImNwcyItdmFsdWUgdG8gaG93IG1hbnkgY2hhcmFjdGVycyB5b3VyIHR0cyBlbmdpbmUgYXBwcm94aW1hdGVseSBzcGVha3MgcGVyIHNlY29uZC4KKyAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyB0ZXh0IG91dHB1dCB0byB0aGUgc2hlbGwgLS0+CisgICAgICAgICAgICAgICAgPCEtLSA8c3BlZWNoIHR5cGU9ImNtZGxpbmUiIGRhdGE9ImVjaG8gJ0ZpeCB0aGUgc3BlZWNoIHRhZyBpbiBuYXZpdC54bWwgdG8gbGV0IG5hdml0IHNheTonICclcyciIGNwcz0iMTUiLz4gLS0+CisgICAgICAgICAgICAgICAgPCEtLSA8c3BlZWNoIHR5cGU9ImNtZGxpbmUiIGRhdGE9ImVzcGVhayAtcyAxNTAgLXYgY3plY2ggJyVzJyAmYW1wOyIvPiAtLT4KKyAgICAgICAgICAgICAgICA8IS0tIDxzcGVlY2ggdHlwZT0iY21kbGluZSIgZGF0YT0iZmxpdGUgLXQgJyVzJyIvPiAtLT4KKyAgICAgICAgICAgICAgICA8IS0tIDxzcGVlY2ggdHlwZT0iY21kbGluZSIgZGF0YT0iL3Vzci9sb2NhbC9iaW4vc2F5LnNoICclcyciLz4gLS0+CisgICAgICAgICAgICAgICAgPHNwZWVjaCB0eXBlPSJjbWRsaW5lIiBkYXRhPSJlc3BlYWsgJyVzJyAmYW1wOyIvPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdF9zdm4uYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0X3N2bi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZGZiYjRiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdF9zdm4uYmIKQEAgLTAsMCArMSwxMSBAQAorcmVxdWlyZSBuYXZpdC5pbmMKKworU1JDUkVWID0gIjUzMTAiCitQViA9ICIwLjIuMCtzdm5yJHtTUkNQVn0iCitQUiA9ICIke0lOQ19QUn0uMyIKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfSIKK1NSQ19VUkkgKz0gInN2bjovL2Fub255bW91c0BuYXZpdC5zdm4uc291cmNlZm9yZ2UubmV0L3N2bnJvb3QvbmF2aXQvdHJ1bms7bW9kdWxlPW5hdml0O3Byb3RvY29sPWh0dHAgXAorICAgIGZpbGU6Ly9mcmVldHlwZS1pbmNsdWRlLXBhdGgucGF0Y2ggXAorICAgIGZpbGU6Ly9jb25maWd1cmUuYWRkLmltbGliMi5vcHRpb24ucGF0Y2ggXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9vcnJlcnkvb3JyZXJ5L29ycmVyeS5wbmcgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL29ycmVyeS9vcnJlcnkvb3JyZXJ5LnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTg2NWI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9vcnJlcnkvb3JyZXJ5L29ycmVyeS5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9vcnJlcnkvb3JyZXJ5L3VzZS5HZGtQaXhidWYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL29ycmVyeS9vcnJlcnkvdXNlLkdka1BpeGJ1Zi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MmQxOTRkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9vcnJlcnkvb3JyZXJ5L3VzZS5HZGtQaXhidWYucGF0Y2gKQEAgLTAsMCArMSw1OSBAQAorRnJvbTogQmVuamFtaW4gRGVlcmluZworU3ViamVjdDogb3JyZXJ5IGNyYXNoaW5nIFgKK0RhdGU6IFRodXJzZGF5LCBTZXB0ZW1iZXIgMiwgMjAxMCAtIDU6MjUgcG0KK0xpbms6IGh0dHA6Ly9rZXJuZWx0cmFwLm9yZy9tYWlsYXJjaGl2ZS9vcGVubW9rby1jb21tdW5pdHkvMjAxMC85LzMvMTMyMTgKKworZGlmZiAtdU5yIG9ycmVyeS5vcmlnLy9vcnJlcnkuYyBvcnJlcnkvb3JyZXJ5LmMKKy0tLSBvcnJlcnkub3JpZy8vb3JyZXJ5LmMJMjAwOS0xMS0zMCAwNjo1OTo0NC4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcnJlcnkvb3JyZXJ5LmMJMjAxMC0xMS0xNSAyMjozMzoxNy4wMDAwMDAwMDAgKzAxMDAKK0BAIC0xMjM4LDEyICsxMjM4LDQ0IEBACisgICAgIH0KKyAgICAgY3VycmVudEVudHJ5ID0gY3VycmVudEVudHJ5LT5mb3J3YXJkUG9pbnRlcjsKKyAgIH0KKy0gIGlmIChuRGFya0dyZXlQb2ludHMgPiAwKQorLSAgICBnZGtfZHJhd19wb2ludHMocGl4bWFwLCBkYXJrR3JleUdDLCBkYXJrR3JleVBvaW50cywgbkRhcmtHcmV5UG9pbnRzKTsKKy0gIGlmIChuR3JleVBvaW50cyA+IDApCistICAgIGdka19kcmF3X3BvaW50cyhwaXhtYXAsIGdyZXlHQywgZ3JleVBvaW50cywgbkdyZXlQb2ludHMpOworLSAgaWYgKG5XaGl0ZVBvaW50cyA+IDApCistICAgIGdka19kcmF3X3BvaW50cyhwaXhtYXAsIHdoaXRlR0MsIHdoaXRlUG9pbnRzLCBuV2hpdGVQb2ludHMpOworKyAgR2RrUGl4YnVmKiBzdGFyRHJhd2luZ0J1ZiA9IGdka19waXhidWZfZ2V0X2Zyb21fZHJhd2FibGUoIE5VTEwsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGl4bWFwLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdka19jb2xvcm1hcF9nZXRfc3lzdGVtKCkKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIDAsIDAsIDAsIDAsIGRpc3BsYXlXaWR0aCwgZGlzcGxheUhlaWdodCk7CisrICBnX2Fzc2VydCAoZ2RrX3BpeGJ1Zl9nZXRfYml0c19wZXJfc2FtcGxlIChzdGFyRHJhd2luZ0J1ZikgPT0gOCk7CisrICBndWNoYXIqIHA7CisrICBpbnQgcm93c3RyaWRlID0gZ2RrX3BpeGJ1Zl9nZXRfcm93c3RyaWRlIChzdGFyRHJhd2luZ0J1Zik7CisrICBndWNoYXIqIHBpeGVscyA9IGdka19waXhidWZfZ2V0X3BpeGVscyAoc3RhckRyYXdpbmdCdWYpOworKyAgaW50IG5fY2hhbm5lbHMgPSBnZGtfcGl4YnVmX2dldF9uX2NoYW5uZWxzIChzdGFyRHJhd2luZ0J1Zik7CisrICBHZGtHQ1ZhbHVlcyBzdGFyR0N2YWw7CisrICBHZGtDb2xvciBzdGFyQ29sb3I7CisrICBpbnQgcG9pbnROdW07CisrICBnZGtfZ2NfZ2V0X3ZhbHVlcyhkYXJrR3JleUdDLCAmc3RhckdDdmFsKTsKKysgIGdka19jb2xvcm1hcF9xdWVyeV9jb2xvciggZ2RrX2djX2dldF9jb2xvcm1hcChkYXJrR3JleUdDKSxzdGFyR0N2YWwuZm9yZWdyb3VuZC5waXhlbCwgJnN0YXJDb2xvciApOworKyAgZm9yKCBwb2ludE51bSA9IDA7IHBvaW50TnVtIDwgbkRhcmtHcmV5UG9pbnRzOyBwb2ludE51bSsrKSB7CisrICAgIHAgPSBwaXhlbHMgKyBkYXJrR3JleVBvaW50c1twb2ludE51bV0ueSAqIHJvd3N0cmlkZSArIGRhcmtHcmV5UG9pbnRzW3BvaW50TnVtXS54ICogbl9jaGFubmVsczsKKysgICAgcFswXSA9IHN0YXJDb2xvci5yZWQgJiAweGZmOworKyAgICBwWzFdID0gc3RhckNvbG9yLmdyZWVuICYgMHhmZjsKKysgICAgcFsyXSA9IHN0YXJDb2xvci5ibHVlICYgMHhmZjsKKysgIH0KKysgIGdka19nY19nZXRfdmFsdWVzKGdyZXlHQywgJnN0YXJHQ3ZhbCk7CisrICBnZGtfY29sb3JtYXBfcXVlcnlfY29sb3IoIGdka19nY19nZXRfY29sb3JtYXAoZ3JleUdDKSwgc3RhckdDdmFsLmZvcmVncm91bmQucGl4ZWwsICZzdGFyQ29sb3IgKTsKKysgIGZvciggcG9pbnROdW0gPSAwOyBwb2ludE51bSA8IG5HcmV5UG9pbnRzOyBwb2ludE51bSsrKSB7CisrICAgIHAgPSBwaXhlbHMgKyBncmV5UG9pbnRzW3BvaW50TnVtXS55ICogcm93c3RyaWRlICsgZ3JleVBvaW50c1twb2ludE51bV0ueCAqIG5fY2hhbm5lbHM7CisrICAgIHBbMF0gPSBzdGFyQ29sb3IucmVkICYgMHhmZjsKKysgICAgcFsxXSA9IHN0YXJDb2xvci5ncmVlbiAmIDB4ZmY7CisrICAgIHBbMl0gPSBzdGFyQ29sb3IuYmx1ZSAmIDB4ZmY7CisrICB9CisrICBnZGtfZ2NfZ2V0X3ZhbHVlcyh3aGl0ZUdDLCAmc3RhckdDdmFsKTsKKysgIGdka19jb2xvcm1hcF9xdWVyeV9jb2xvciggZ2RrX2djX2dldF9jb2xvcm1hcCh3aGl0ZUdDKSwgc3RhckdDdmFsLmZvcmVncm91bmQucGl4ZWwsICZzdGFyQ29sb3IgKTsKKysgIGZvciggcG9pbnROdW0gPSAwOyBwb2ludE51bSA8IG5XaGl0ZVBvaW50czsgcG9pbnROdW0rKykgeworKyAgICBwID0gcGl4ZWxzICsgd2hpdGVQb2ludHNbcG9pbnROdW1dLnkgKiByb3dzdHJpZGUgKyB3aGl0ZVBvaW50c1twb2ludE51bV0ueCAqIG5fY2hhbm5lbHM7CisrICAgIHBbMF0gPSBzdGFyQ29sb3IucmVkICYgMHhmZjsKKysgICAgcFsxXSA9IHN0YXJDb2xvci5ncmVlbiAmIDB4ZmY7CisrICAgIHBbMl0gPSBzdGFyQ29sb3IuYmx1ZSAmIDB4ZmY7CisrICB9CisrICBnZGtfZHJhd19waXhidWYgKCBwaXhtYXAgLCBOVUxMICwgc3RhckRyYXdpbmdCdWYsCisrICAgICAgICAgICAgMCwgMCwgMCwgMCwgZGlzcGxheVdpZHRoLCBkaXNwbGF5SGVpZ2h0LCBHREtfUkdCX0RJVEhFUl9OT1JNQUwsIDAsIDAgKSA7CisgfQorIAorIHZvaWQgbWFrZVRpbWVTdHJpbmcoY2hhciAqc3RyaW5nKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9vcnJlcnkvb3JyZXJ5XzIuNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vb3JyZXJ5L29ycmVyeV8yLjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBhNmRmMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vb3JyZXJ5L29ycmVyeV8yLjcuYmIKQEAgLTAsMCArMSwzMiBAQAorU1VNTUFSWSA9ICJBc3Ryb25vbWljYWwgYXBwbGljYXRpb24gd2hpY2ggZGlzcGxheXMgdGhlIG5pZ2h0IHNreSIKK0hPTUVQQUdFICAgID0gImh0dHA6Ly9wcm9qZWN0cy5vcGVubW9rby5vcmcvcHJvamVjdHMvb3JyZXJ5LyIKK1NFQ1RJT04gPSAieDExL3NjaWVudGlmaWMiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL29ycmVyeS5jO2VuZGxpbmU9MjU7bWQ1PWQ3OTJiZGYyYjU5MTk3MmRhMTc1YWVjYzM4ZDg4Y2ZlIgorREVQRU5EUyA9ICJndGsrIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnCisKK1NSQ19VUkkgPSAiaHR0cDovL3Byb2plY3RzLm9wZW5tb2tvLm9yZy9mcnMvZG93bmxvYWQucGhwLzkyMy9vcnJlcnlfMi43X2NsZWFuLnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9vcnJlcnkucG5nIFwKKyAgICAgICAgICAgZmlsZTovL3VzZS5HZGtQaXhidWYucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gICAgPSAiYmQ2MmEzM2U3NTU0ZWUxMDMwMzEzZGZjZGVmY2RhOGIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjQ1MTY2YTVlMDViMjA2NGFiNjMwNTM0YTUxNDY5N2ZjNDdiNjgxOTUxZTdmZTFkNjM1YzI1OWNiZGY3YTVlNiIKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfSIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgIyBmaXggRFNPIGlzc3VlIHdpdGggYmludXRpbHMtMi4yMgorICAgIHNlZCAtaSAncy8gLWxydC8gLWxydCAtbG0vZycgJHtTfS9NYWtlZmlsZS5hbQorfQorZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9vcnJlcnkKKyAgICBjcCAtUiAtLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bW9kZSxsaW5rcyAtdiAke1N9L2RhdGEvKiAke0R9JHtkYXRhZGlyfS9vcnJlcnkKKyAgICBjaG93biAtUiByb290OnJvb3QgJHtEfSR7ZGF0YWRpcn0vb3JyZXJ5CisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9pY29ucworICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L29ycmVyeS5wbmcgJHtEfSR7ZGF0YWRpcn0vaWNvbnMKK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vaWNvbnMvb3JyZXJ5LnBuZyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vcHJvai9wcm9qXzQuOC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9wcm9qL3Byb2pfNC44LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjRiZmFmNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vcHJvai9wcm9qXzQuOC4wLmJiCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAiUFJPSi40IC0gQ2FydG9ncmFwaGljIFByb2plY3Rpb25zIGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8vdHJhYy5vc2dlby5vcmcvcHJvai8iCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzRkOWFhZWM1ZmEwY2Q3MzQzNDFlOGM0ZGM5MWI2MDgiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLm9zZ2VvLm9yZy9wcm9qL3Byb2otJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImQ4MTU4MzhjOTJhMjkxNzkyOThjMTI2ZWZmYmIxNTM3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJkYjJkYmYwZmVjZThkOTg4MDY3OTE1NGUwZDZkMWNlN2M2OTRkZDhlMDhiNGQwOTEwMjgwOTNkODdhOWQxYjUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBsaWJfcGFja2FnZQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9wcm9qIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2F0by9jbGF3cy1tYWlsL2NsYXdzLW1haWxfMy45LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zYXRvL2NsYXdzLW1haWwvY2xhd3MtbWFpbF8zLjkuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MzhhZjJlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2F0by9jbGF3cy1tYWlsL2NsYXdzLW1haWxfMy45LjAuYmIKQEAgLTAsMCArMSw1NiBAQAorU0VDVElPTiA9ICJ4MTEvbmV0d29yayIKK1NVTU1BUlkgPSAiTWFpbCB1c2VyIGFnZW50IgorREVQRU5EUyA9ICJndGsrIGxpYmV0cGFuIG9wZW5zc2wgYXNwZWxsIGN1cmwgbGliZ2NyeXB0IgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWUwNTliZGUyOTcyYzE3OTBhZjc4NmYzZTg2YmFjMjJlIgorCitQTkJMQUNLTElTVFtjbGF3cy1tYWlsXSA/PSAiZGVwZW5kcyBvbiBibGFja2xpc3RlZCBsaWJldHBhbiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdldHRleHQKKworIyB0cmFuc2xhdGlvbiBwYXRjaDogaHR0cDovL3d3dy50aGV3aWxkYmVhc3QuY28udWsvY2xhd3MtbWFpbC9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTc3NAorU1JDX1VSSSA9ICJcCisgICAgICAgICR7U09VUkNFRk9SR0VfTUlSUk9SfS9wcm9qZWN0L2NsYXdzLW1haWwvQ2xhd3MlMjBNYWlsLyR7UFZ9L2NsYXdzLW1haWwtJHtQVn0udGFyLmJ6MjtuYW1lPWFyY2hpdmUgIgorU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiNGM1YWM3YjIxZjBlZDE3ZDBmNjQwNDEyNGMyMjI5YTQiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJlZDcwOTc1YTUwNTZiM2ZmYzRmZTZlOTc3ZjBkOTYwNmZlYmMxNDk5NzYzYzA5MDI0MWIwMjlhNzNmZjI0ZTY1IgorCitkb19jb25maWd1cmVfYXBwZW5kKCkgeworICAgIGNkICR7U30vcG8gOyBmb3IgUE8gaW4gKi5wbyA7IGRvIE1PPWBlY2hvICRQTyB8IHNlZCBzL1xcLnBvLy9gLmdtbyA7IGlmICEgdGVzdCAtZiAkTU8gOyB0aGVuIG1zZ2ZtdCAkUE8gLW8gJE1PIDsgZmkgOyBkb25lOyBjZCAke0J9Cit9CisKK1BBQ0tBR0VDT05GSUcgPz89ICJzdGFydHVwLW5vdGlmaWNhdGlvbiBkYnVzIgorUEFDS0FHRUNPTkZJR1tlbmNoYW50XSA9ICItLWVuYWJsZS1lbmNoYW50LC0tZGlzYWJsZS1lbmNoYW50LGVuY2hhbnQiCitQQUNLQUdFQ09ORklHW3N0YXJ0dXAtbm90aWZpY2F0aW9uXSA9ICItLWVuYWJsZS1zdGFydHVwLW5vdGlmaWNhdGlvbiwtLWRpc2FibGUtc3RhcnR1cC1ub3RpZmljYXRpb24sc3RhcnR1cC1ub3RpZmljYXRpb24iCitQQUNLQUdFQ09ORklHW2RidXNdID0gIi0tZW5hYmxlLWRidXMsLS1kaXNhYmxlLWRidXMsZGJ1cyBkYnVzLWdsaWIiCitQQUNLQUdFQ09ORklHW2xkYXBdID0gIi0tZW5hYmxlLWxkYXAsLS1kaXNhYmxlLWxkYXAsb3BlbmxkYXAiCisKKyMgRklYTUU6IG1hZW1vIGJ1aWxkcyBtYXkgd2FudCAtLWVuYWJsZS1tYWVtbworIyBGSVhNRTogc29tZSBwbGF0Zm9ybXMgbWF5IHdhbnQgLS1lbmFibGUtZ2VuZXJpYy11bXBjCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWRpc2FibGUtbWFudWFsIFwKKyAgICAtLWRpc2FibGUtY3Jhc2gtZGlhbG9nIFwKKyAgICAtLWRpc2FibGUtanBpbG90IFwKKyAgICAtLWRpc2FibGUtdHJheWljb24tcGx1Z2luIFwKKyAgICAtLWRpc2FibGUtc3BhbWFzc2Fzc2luLXBsdWdpbiBcCisgICAgLS1kaXNhYmxlLWJvZ29maWx0ZXItcGx1Z2luIFwKKyAgICAtLWRpc2FibGUtcGdwY29yZS1wbHVnaW4gXAorICAgIC0tZGlzYWJsZS1wZ3BtaW1lLXBsdWdpbiBcCisgICAgLS1kaXNhYmxlLXBncGlubGluZS1wbHVnaW4gXAorICAgIC0tZGlzYWJsZS1kaWxsby12aWV3ZXItcGx1Z2luIFwKKyAgICAtLWRpc2FibGUtdmFsZ3JpbmQgXAorIgorCisjIFJlbW92ZSBlbmNoYW50IHJlZmVyZW5jZXM6Citkb19pbnN0YWxsX3ByZXBlbmQoKSB7CisgICAgc2VkIC1pIC1lICdzOiR7U1RBR0lOR19JTkNESVJ9OiR7aW5jbHVkZWRpcn06ZztzOiR7U1RBR0lOR19MSUJESVJ9OiR7bGliZGlyfTpnJyBjbGF3cy1tYWlsLnBjCit9CisKKyMgV29yay1hcm91bmQgYnJva2VuIEdQRSBpY29uIGxvb2t1cDoKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIHJtIC1yICR7RH0ke2RhdGFkaXJ9L2ljb25zCisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9waXhtYXBzCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vY2xhd3MtbWFpbC5wbmcgJHtEfSR7ZGF0YWRpcn0vcGl4bWFwcy8KKyAgICBzZWQgLWkgJ3MvSWNvbj1bXi5dKiQvJi5wbmcvJyAke0R9JHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMvY2xhd3MtbWFpbC5kZXNrdG9wCit9CisKK1JTVUdHRVNUU18ke1BOfSA9ICJjbGF3cy1wbHVnaW4tZ3RraHRtbDItdmlld2VyIGNsYXdzLXBsdWdpbi1tYWlsbWJveCBjbGF3cy1wbHVnaW4tcnNzeWwiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zYXRvL2NsYXdzLW1haWwvY2xhd3MtcGx1Z2luLWd0a2h0bWwyLXZpZXdlci9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zYXRvL2NsYXdzLW1haWwvY2xhd3MtcGx1Z2luLWd0a2h0bWwyLXZpZXdlci9jb25maWd1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjIyYTc5NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNhdG8vY2xhd3MtbWFpbC9jbGF3cy1wbHVnaW4tZ3RraHRtbDItdmlld2VyL2NvbmZpZ3VyZS5wYXRjaApAQCAtMCwwICsxLDUyIEBACitJbmRleDogZ3RraHRtbDJfdmlld2VyLTAuMzEvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ3RraHRtbDJfdmlld2VyLTAuMzEub3JpZy9jb25maWd1cmUuYWMJMjAxMS0wOC0yNyAwODowODo1NS4wMDAwMDAwMDAgKzAwMDAKKysrKyBndGtodG1sMl92aWV3ZXItMC4zMS9jb25maWd1cmUuYWMJMjAxNC0wNy0xOCAwNzoyODo0Mi43Njk1MTg2MTggKzAwMDAKK0BAIC0xLDMzICsxLDI3IEBACisgQUNfUFJFUkVRKDIuNjApCistQUNfSU5JVChzcmMvZ3RraHRtbDJfdmlld2VyLmMpCisrCisrZG5sIHBsdWdpbiB2ZXJzaW9uCisrbTRfZGVmaW5lKFtwbHVnaW5fbWFqb3JfdmVyc2lvbl0sWzBdKQorK200X2RlZmluZShbcGx1Z2luX21pbm9yX3ZlcnNpb25dLFszMV0pCisrbTRfZGVmaW5lKFtwbHVnaW5fbWljcm9fdmVyc2lvbl0sWzBdKQorK200X2RlZmluZShbcGx1Z2luX3ZlcnNpb25dLCBbcGx1Z2luX21ham9yX3ZlcnNpb24ucGx1Z2luX21pbm9yX3ZlcnNpb24ucGx1Z2luX21pY3JvX3ZlcnNpb25dKQorKworK0FDX0lOSVQoZ3RraG1sMl92aWV3ZXIsIHBsdWdpbl92ZXJzaW9uKQorK0FDX0NPTkZJR19TUkNESVIoc3JjL2d0a2h0bWwyX3ZpZXdlci5jKQorIEFDX0NPTkZJR19BVVhfRElSKGNvbmZpZykKKyBBTV9NQUlOVEFJTkVSX01PREUKKyAKKyBQQUNLQUdFPWd0a2h0bWwyX3ZpZXdlcgorIAorLWRubCBwbHVnaW4gdmVyc2lvbgorLU1BSk9SX1ZFUlNJT049MAorLU1JTk9SX1ZFUlNJT049MzEKKy1NSUNST19WRVJTSU9OPTAKKytNQUpPUl9WRVJTSU9OPXBsdWdpbl9tYWpvcl92ZXJzaW9uCisrTUlOT1JfVkVSU0lPTj1wbHVnaW5fbWlub3JfdmVyc2lvbgorK01JQ1JPX1ZFUlNJT049cGx1Z2luX21pY3JvX3ZlcnNpb24KKyBFWFRSQV9WRVJTSU9OPTAKKy0KKy1pZiB0ZXN0IFwoICRFWFRSQV9WRVJTSU9OIC1lcSAwIFwpOyB0aGVuCistICAgIGlmIHRlc3QgXCggJE1JQ1JPX1ZFUlNJT04gLWVxIDAgXCk7IHRoZW4KKy0gICAgICAgIFZFUlNJT049JHtNQUpPUl9WRVJTSU9OfS4ke01JTk9SX1ZFUlNJT059IAorLSAgICBlbHNlCistCQlWRVJTSU9OPSR7TUFKT1JfVkVSU0lPTn0uJHtNSU5PUl9WRVJTSU9OfS4ke01JQ1JPX1ZFUlNJT059CistICAgIGZpCistZWxzZQorLSAgICBpZiB0ZXN0IFwoICRNSUNST19WRVJTSU9OIC1lcSAwIFwpOyB0aGVuCistICAgICAgICBWRVJTSU9OPSR7TUFKT1JfVkVSU0lPTn0uJHtNSU5PUl9WRVJTSU9OfWN2cyR7RVhUUkFfVkVSU0lPTn0KKy0gICAgZWxzZQorLQkJVkVSU0lPTj0ke01BSk9SX1ZFUlNJT059LiR7TUlOT1JfVkVSU0lPTn0uJHtNSUNST19WRVJTSU9OfWN2cyR7RVhUUkFfVkVSU0lPTn0KKy0gICAgZmkKKy1maQorK1ZFUlNJT049cGx1Z2luX3ZlcnNpb24KKyAKKyBBQ19DQU5PTklDQUxfU1lTVEVNCisgCistQU1fSU5JVF9BVVRPTUFLRSgkUEFDS0FHRSwgJFZFUlNJT04sIG5vLWRlZmluZSkKKytBTV9JTklUX0FVVE9NQUtFKFtmb3JlaWduIG5vLWRlZmluZV0pCisgQUNfQ09ORklHX0hFQURFUlMoY29uZmlnLmgpCisgQUNfREVGSU5FX1VOUVVPVEVEKFBMVUdJTlZFUlNJT04sICIkVkVSU0lPTiIsIFtwbHVnaW4gdmVyc2lvbl0pCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zYXRvL2NsYXdzLW1haWwvY2xhd3MtcGx1Z2luLWd0a2h0bWwyLXZpZXdlcl8wLjMxLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2F0by9jbGF3cy1tYWlsL2NsYXdzLXBsdWdpbi1ndGtodG1sMi12aWV3ZXJfMC4zMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMjUyNTczCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2F0by9jbGF3cy1tYWlsL2NsYXdzLXBsdWdpbi1ndGtodG1sMi12aWV3ZXJfMC4zMS5iYgpAQCAtMCwwICsxLDI0IEBACitTRUNUSU9OID0gIngxMS9uZXR3b3JrIgorU1VNTUFSWSA9ICJNYWlsIHVzZXIgYWdlbnQgcGx1Z2lucyIKK0RFUEVORFMgPSAiY2xhd3MtbWFpbCBndGtodG1sMiBjdXJsIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk3N2YwNGE4MDQ4YzA0Njg0ZTUyMWMwNmUyODQ0YTk0IgorCitQTkJMQUNLTElTVFtjbGF3cy1wbHVnaW4tZ3RraHRtbDItdmlld2VyXSA/PSAiZGVwZW5kcyBvbiBibGFja2xpc3RlZCBjbGF3cy1tYWlsIgorCitQUiA9ICJyMSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmNsYXdzLW1haWwub3JnL2Rvd25sb2Fkcy9wbHVnaW5zX29ic29sZXRlL2d0a2h0bWwyX3ZpZXdlci0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gImE2YzlkZmE2Zjk2OWNjZDg0NDc5NmE1NzI0YjUyMTY3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRkNDFmNmQ5NjFlZmFhYzBmNTE3MDVlNTA1MmJhYzczMmJjMGJkYWZlZTJlZjIwODJhOWNmOWQ4OWYxODNhZTUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0CisKK1MgPSAiJHtXT1JLRElSfS9ndGtodG1sMl92aWV3ZXItJHtQVn0iCisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS9jbGF3cy1tYWlsL3BsdWdpbnMvKi5zbyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2NsYXdzLW1haWwvcGx1Z2lucy8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9jbGF3cy1tYWlsL3BsdWdpbnMvKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiA9ICIke2xpYmRpcn0vY2xhd3MtbWFpbC9wbHVnaW5zLyouYSIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2F0by9jbGF3cy1tYWlsL2NsYXdzLXBsdWdpbi1tYWlsbWJveF8xLjE1LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2F0by9jbGF3cy1tYWlsL2NsYXdzLXBsdWdpbi1tYWlsbWJveF8xLjE1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxMzIxNzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zYXRvL2NsYXdzLW1haWwvY2xhd3MtcGx1Z2luLW1haWxtYm94XzEuMTUuYmIKQEAgLTAsMCArMSwyMCBAQAorU0VDVElPTiA9ICJ4MTEvbmV0d29yayIKK1NVTU1BUlkgPSAiTWFpbCB1c2VyIGFnZW50IHBsdWdpbnMiCitERVBFTkRTID0gImNsYXdzLW1haWwiCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCisKK1BOQkxBQ0tMSVNUW2NsYXdzLXBsdWdpbi1tYWlsbWJveF0gPz0gImRlcGVuZHMgb24gYmxhY2tsaXN0ZWQgY2xhd3MtbWFpbCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmNsYXdzLW1haWwub3JnL2Rvd25sb2Fkcy9wbHVnaW5zX29ic29sZXRlL21haWxtYm94LSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI3ZjcyYzY4ZTZlMWE4NzY4ZjEyNDdmNDU1ZmQyMGI2MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2MzNmNzgzNTI2MWM4OGEwYWEwNmRlMzg1NTNhYzkzNWExNzk5YTcxMjgxMjA5NjNhN2ZhODdhY2UwMWRhYzE4IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworUyA9ICIke1dPUktESVJ9L21haWxtYm94LSR7UFZ9IgorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vY2xhd3MtbWFpbC9wbHVnaW5zLyouc28iCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9jbGF3cy1tYWlsL3BsdWdpbnMvLmRlYnVnIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vY2xhd3MtbWFpbC9wbHVnaW5zLyoubGEiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2NsYXdzLW1haWwvcGx1Z2lucy8qLmEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zYXRvL2NsYXdzLW1haWwvY2xhd3MtcGx1Z2luLXJzc3lsL2NvbmZpZ3VyZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNhdG8vY2xhd3MtbWFpbC9jbGF3cy1wbHVnaW4tcnNzeWwvY29uZmlndXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3YTM4ZjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zYXRvL2NsYXdzLW1haWwvY2xhd3MtcGx1Z2luLXJzc3lsL2NvbmZpZ3VyZS5wYXRjaApAQCAtMCwwICsxLDUzIEBACitJbmRleDogcnNzeWwtMC4zNC9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSByc3N5bC0wLjM0Lm9yaWcvY29uZmlndXJlLmFjCTIwMTQtMDctMTggMDc6Mzc6MjguOTgxNTMyOTU5ICswMDAwCisrKysgcnNzeWwtMC4zNC9jb25maWd1cmUuYWMJMjAxNC0wNy0xOCAwNzozOTo0NS44ODE1MzY2OTAgKzAwMDAKK0BAIC0xLDUgKzEsMTMgQEAKKysKKytkbmwgcGx1Z2luIHZlcnNpb24KKyttNF9kZWZpbmUoW3BsdWdpbl9tYWpvcl92ZXJzaW9uXSxbMF0pCisrbTRfZGVmaW5lKFtwbHVnaW5fbWlub3JfdmVyc2lvbl0sWzM0XSkKKyttNF9kZWZpbmUoW3BsdWdpbl9taWNyb192ZXJzaW9uXSxbMF0pCisrbTRfZGVmaW5lKFtwbHVnaW5fdmVyc2lvbl0sIFtwbHVnaW5fbWFqb3JfdmVyc2lvbi5wbHVnaW5fbWlub3JfdmVyc2lvbi5wbHVnaW5fbWljcm9fdmVyc2lvbl0pCisrCisgQUNfUFJFUkVRKDIuNjApCistQUNfSU5JVChzcmMvcGx1Z2luLmMpCisrQUNfSU5JVChyc3N5bCwgcGx1Z2luX3ZlcnNpb24pCisrQUNfQ09ORklHX1NSQ0RJUihzcmMvcGx1Z2luLmMpCisgQUNfQ09ORklHX0FVWF9ESVIoY29uZmlnKQorIEFNX01BSU5UQUlORVJfTU9ERQorIEFDX0NPTkZJR19IRUFERVJTKGNvbmZpZy5oKQorQEAgLTcsMjggKzE1LDE1IEBACisgUEFDS0FHRT1yc3N5bAorIAorIGRubCBwbHVnaW4gdmVyc2lvbgorLU1BSk9SX1ZFUlNJT049MAorLU1JTk9SX1ZFUlNJT049MzQKKy1NSUNST19WRVJTSU9OPTAKKytNQUpPUl9WRVJTSU9OPXBsdWdpbl9tYWpvcl92ZXJzaW9uCisrTUlOT1JfVkVSU0lPTj1wbHVnaW5fbWlub3JfdmVyc2lvbgorK01JQ1JPX1ZFUlNJT049cGx1Z2luX21pY3JvX3ZlcnNpb24KKyBFWFRSQV9WRVJTSU9OPTAKKy0KKy1pZiB0ZXN0IFwoICRFWFRSQV9WRVJTSU9OIC1lcSAwIFwpOyB0aGVuCistICAgIGlmIHRlc3QgXCggJE1JQ1JPX1ZFUlNJT04gLWVxIDAgXCk7IHRoZW4KKy0gICAgICAgIFZFUlNJT049JHtNQUpPUl9WRVJTSU9OfS4ke01JTk9SX1ZFUlNJT059IAorLSAgICBlbHNlCistCQlWRVJTSU9OPSR7TUFKT1JfVkVSU0lPTn0uJHtNSU5PUl9WRVJTSU9OfS4ke01JQ1JPX1ZFUlNJT059CistICAgIGZpCistZWxzZQorLSAgICBpZiB0ZXN0IFwoICRNSUNST19WRVJTSU9OIC1lcSAwIFwpOyB0aGVuCistICAgICAgICBWRVJTSU9OPSR7TUFKT1JfVkVSU0lPTn0uJHtNSU5PUl9WRVJTSU9OfWN2cyR7RVhUUkFfVkVSU0lPTn0KKy0gICAgZWxzZQorLQkJVkVSU0lPTj0ke01BSk9SX1ZFUlNJT059LiR7TUlOT1JfVkVSU0lPTn0uJHtNSUNST19WRVJTSU9OfWN2cyR7RVhUUkFfVkVSU0lPTn0KKy0gICAgZmkKKy1maQorK1ZFUlNJT049cGx1Z2luX3ZlcnNpb24KKyAKKyBBQ19DQU5PTklDQUxfU1lTVEVNCisgCistQU1fSU5JVF9BVVRPTUFLRSgkUEFDS0FHRSwgJFZFUlNJT04sIG5vLWRlZmluZSkKKytBTV9JTklUX0FVVE9NQUtFKFtmb3JlaWduIG5vLWRlZmluZV0pCisgQUNfREVGSU5FX1VOUVVPVEVEKFBMVUdJTlZFUlNJT04sICIkVkVSU0lPTiIsIFtwbHVnaW4gdmVyc2lvbl0pCisgCisgQUNfUFJPR19DQwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2F0by9jbGF3cy1tYWlsL2NsYXdzLXBsdWdpbi1yc3N5bF8wLjM0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2F0by9jbGF3cy1tYWlsL2NsYXdzLXBsdWdpbi1yc3N5bF8wLjM0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkYTQ2MGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zYXRvL2NsYXdzLW1haWwvY2xhd3MtcGx1Z2luLXJzc3lsXzAuMzQuYmIKQEAgLTAsMCArMSwyMCBAQAorU0VDVElPTiA9ICJ4MTEvbmV0d29yayIKK1NVTU1BUlkgPSAiTWFpbCB1c2VyIGFnZW50IHBsdWdpbnMiCitERVBFTkRTID0gImNsYXdzLW1haWwgbGlieG1sMiBjdXJsIGdsaWItMi4wIGd0aysiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MGMyMzQ4ZTBhMDg0ZTU3M2YwMjIwZjVlNDVkODA5N2UiCisKK1BOQkxBQ0tMSVNUW2NsYXdzLXBsdWdpbi1yc3N5bF0gPz0gImRlcGVuZHMgb24gYmxhY2tsaXN0ZWQgY2xhd3MtbWFpbCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmNsYXdzLW1haWwub3JnL2Rvd25sb2Fkcy9wbHVnaW5zX29ic29sZXRlL3Jzc3lsLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiNDliNDU2MDhlOGQxNjBiMzYyNWQzZDUwMDE2ZWMyY2EiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmU5NmExY2Q2YTFhNWJiN2Y4NmNkMmViNDhmNmUxNzQ2NjU5NTdmYWZlMWYzYjFlODM2MWFhYzNiYjk2N2Y3OSIKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0CisKK1MgPSAiJHtXT1JLRElSfS9yc3N5bC0ke1BWfSIKKworRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2NsYXdzLW1haWwvcGx1Z2lucy8qLnNvIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vY2xhd3MtbWFpbC9wbHVnaW5zLy5kZWJ1ZyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2NsYXdzLW1haWwvcGx1Z2lucy8qLmxhIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ID0gIiR7bGliZGlyfS9jbGF3cy1tYWlsL3BsdWdpbnMvKi5hIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2F0by9jbGF3cy1tYWlsL3N5bHBoZWVkL2dsaWItMi4zMi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNhdG8vY2xhd3MtbWFpbC9zeWxwaGVlZC9nbGliLTIuMzIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTUyMGU1NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNhdG8vY2xhd3MtbWFpbC9zeWxwaGVlZC9nbGliLTIuMzIucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIHN5bHBoZWVkLTIuNy4xLm9yaWcvbGlic3lscGgvZGVmcy5oCTIwMDktMDYtMTAgMDk6NTU6NDYuMDAwMDAwMDAwICswMjAwCisrKysgc3lscGhlZWQtMi43LjEvbGlic3lscGgvZGVmcy5oCTIwMTItMDUtMDYgMDg6Mjg6MjcuNTE0NzQ2MjU2ICswMjAwCitAQCAtMjQsOCArMjQsNiBAQAorICMgIGluY2x1ZGUgImNvbmZpZy5oIgorICNlbmRpZgorIAorLSNpbmNsdWRlIDxnbGliY29uZmlnLmg+CistCisgI2lmZGVmIEdfT1NfV0lOMzIKKyAjICBpbmNsdWRlIDxnbGliL2d3aW4zMi5oPgorICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2F0by9jbGF3cy1tYWlsL3N5bHBoZWVkXzIuNy4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2F0by9jbGF3cy1tYWlsL3N5bHBoZWVkXzIuNy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwNGI2NTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zYXRvL2NsYXdzLW1haWwvc3lscGhlZWRfMi43LjEuYmIKQEAgLTAsMCArMSwzMSBAQAorU0VDVElPTiA9ICJ4MTEvbmV0d29yayIKK1NVTU1BUlkgPSAiTWFpbCB1c2VyIGFnZW50IgorREVQRU5EUyA9ICJndGsrIGdwZ21lIGdudXRscyIKK0xJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTQzMjVhZmQzOTZmZWJjYjY1OWMzNmI0OTUzMzEzNWQ0IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT0yZDUwMjVkNGFhMzQ5NWJlZmVmOGYxNzIwNmE1YjBhMSIKKworUFIgPSAicjIiCisKK1NSQ19VUkkgPSAiaHR0cDovL3N5bHBoZWVkLnNyYW9zcy5qcC9zeWxwaGVlZC92Mi43L3N5bHBoZWVkLSR7UFZ9LnRhci5iejIgXAorICAgIGZpbGU6Ly9nbGliLTIuMzIucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjFmNDcwNTI1YzFmYmU1MzI1MzgxM2EwOTc4YzE4MjI4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhiYjY0NTdkYjRlMmVlYTE4NzdiNDg3ZDlhYzg1MTM1NDYzNzJkYjlhNmEyZTQyNzFkMTEyMjlmNGFmODRlMjMiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3BpeG1hcHMgJHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMiCitGSUxFU18ke1BOfS1kb2MgKz0gIiR7ZGF0YWRpcn0iCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtc3NsIgorCitDRkxBR1MgKz0gIi1EX0dOVV9TT1VSQ0UiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIG1rZGlyIC1wIG00CisgICAgZm9yIGkgaW4gJChmaW5kICR7U30gLW5hbWUgIk1ha2VmaWxlLmFtIikgOyBkbworICAgICAgICBzZWQgLWkgczonLUkkKGluY2x1ZGVkaXIpJzo6ZyAkaQorICAgIGRvbmUKK30KKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYW50aHkvYW50aHkvMmNoX3QucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FudGh5L2FudGh5LzJjaF90LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmOWJkYjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FudGh5L2FudGh5LzJjaF90LnBhdGNoCkBAIC0wLDAgKzEsNTA2MiBAQAorc291cmNlOiBzaGFtZWxlc3NseSBzdG9sZW4gZnJvbSBkZWJpYW4gOy0pCitwdXJwb3NlOiBhZGQgc29tZSBlbnRyaWVzIHBhcnRpY3VsYXJseSB1c2VmdWwgaW4gSmFwYW5lc2UgMmNoYW5uZWwgYW5vbnltb3VzIHdlYnNpdGUKKyAgICAgICAgIChhdCBsZWFzdCB0aGF0IGlzIG15IHVuZGVyc3RhbmRpbmcgOy0pKQorCistLS0gYW50aHktNTQxNC5vcmlnL21rYW50aHlkaWMvMmNoLnQKKysrKyBhbnRoeS01NDE0L21rYW50aHlkaWMvMmNoLnQKK0BAIC0wLDAgKzEsNTA1NSBAQAorKyMgMmNozdG47KTOQ2FubmG3wbywvK298QorKyMgSEFSVVlBTUEgU2VpZ28gaGFydXlhbWFAdW5peHVzZXIub3JnCisrIyC47aTqpOTJyrvspM+ks6SmpLmk2aStIKTKpMkgpKSkw6TRpKSkoqTrpM+kuqTKpM6kxworKyMgpLS72MWmpOik7aS3pK8KKysjILuyuc06IGh0dHA6Ly9mcmVlem9uZS5rYWtpa28uY29tL2ppdGVuL2luZGV4Lmh0bWwKKysjICAgICAgIGh0dHA6Ly9tZW1iZXJzLnRyaXBvZC5jby5qcC9tYXJ1aGVzby9hYWRpYy9pbmRleC5odG1sCisrIyAgICAgICBodHRwOi8vaXN3ZWIzMy5pbmZvc2Vlay5jby5qcC9jb21wdXRlci9naWtvc2l0ZS8gKDQwMyBGb3JiaWRkZW4pCisrIyAgICAgICBodHRwOi8vY2FubmFkaWMub3VjcmMub3JnLworKyMgICAgICAgaHR0cDovL3d3dy5reW90by50cmFucy1udC5jb20vYW50aHkvCisrIyAgICAgICBodHRwOi8vd3d3Lm1lZGlhLWsuY28uanAvaml0ZW4vCisrIyC7srnNpMukt6TGpKSk67ytvfGkzsfbydWl6aWkpbul86W5pKykz6TDpK2k6qS3pN6ku6TzpKwKKysjILz9z7+ktaTspL+47KTLtNikt6TGpM+l0aXWpeqlw6Wvpcml4aWkpfOkyLLypLekxszkwuqkyqSkCisrIyCkyMi9w8ekt6TGpKSk3qS5LgorKyMKKysjIKSzpM68rb3xpM/Mtcrdvtqkx6S5oaMKKysjIAorKyMgMjAwNC81LzE5yMcKKysjCisrMaTOpKSkt6TlpKakq6TzICNUMzUgPj4xpM6w7L21tNYKKysxpM6kpKTDpLek5aSmpKuk8yAjSk4gPj4xpM6w7L21tNYKKysxpM6kqqS1pMqkyqS4pN8gI0pOIDGkzs3EpMqkuKTfCisrMqTBpOOk86S7pKSkt6TzpNOk56SmpKSk8yAjSk4gMmNowLq/wMnCsaEKKys5MTGkuKSxpPMgI1QzNSA5MTG79rfvCisrpKKhvKSmobwgI0NKIKSiocGkpqHBCisrpKKhvKS4pOUgI0tLIKWiobyluKXlCisrpKKhvKS4pOUgI1QzNSCloqG8pbil5QorK6Siobyk66Siobyk6yAjVDM1IFJSCisrpKKhvKTtpPOk4qTppOmhvCAjSk4gpaKhvKXtpfOl4qXppemhvAorK6SipKKkpKSopNCkuKTnpKak5qSmICNDSiCkoqSiuMCkqKTQvuXNtAorK6SipKKkpqSmICNDSiCkoqHBpKahwQorK6SipKKkrKTgpOSk66ToICNDSiCkoqSioaKlrKXgpOSk66TooaMKKyukoqSipLik5SAjVDM1IKWiobyluKXlCisrpKKkoqTPpM8gI0NKIKWiobylz6XPCisrpKKkoqTPpM8gI0NKII6xjrCOyo7KCisrpKKkoqTrpKKkoqTrICNUMzUgUlIKKyukoqSipOukqKSkpKKkoqTrICNUMzUgUkFSCisrpKKkpCAjSk4gpKKkpAorK6SipKSkoqG8pOsgI1QzNSBJUgorK6SipKSks6TpICNUMzUgpaKlpKWzpekKKyukoqSkpLQgI1QzNSCwprjtCisrpKKkpKS0obwgI0NKIKWipaSltKHBoaoKKyukoqSkpLuk8yAjVDM1IKSipKSku6TzCisrpKKkpKTGpKOhvKTRpO+hvCAjVDM1IKPJo9Sl0aXvobwKKyukoqSkpMeko6G8ICNUMzUgo8mjxAorK6SipKSkyaTrICNUMzUgsKWh8AorK6SipKSkyqTWpOqkw6S4ICNUMzUgpaKlpKXKpdal6qXDpbgKKyukoqSkpMukwaTjpPOkzaTrICNUMzUgaaHdMqTBpOOk86TNpOsKKyukoqSkpM6kv6TNICNDTiCwpqTOvO8KKyukoqSkpM6kv6TNICNUMzUgsKakzrzvCisrpKKkpKTUobwgI1QzNSCjyaPQCisrpKKkpKTUpKQgI1QzNSBpcCEKKyukoqSkpNYgI0tLILCmye8KKyukoqSkpNYgI1QzNSCwpsnvCisrpKKkpKTcpPMgI0pOIKSipKSk3KTzCisrpKKkpKTcpPMgI1QzNSCkoqSkpNyk8worK6SipKSk4aTLpOWkpqTPpLikrSAjVDM1IGltZS5udcPGpK0KKyukoqSkpOKkyiAjVDM1IGlNb25hCisrpKKkpKTipMqhvCAjSk4gpaKlpKXipcqhvAorK6SipKSk4qTKobwgI0pOIKWipaSl4qXKobwgCisrpKKkpKTppPOkySAjVDM1ILClpOmk86TJCisrpKKkpKTrICNLSyCloqWkpesKKyukoqSkpOsgI1QzNSCloqWkpesKKyukoqSkpO+kpKTmobykvKTtpO+k8yAjSk4gSVlVLTAxCisrpKKkpiAjS0sgpKKkpgorK6SipKYgI1QzNSCkoqSmCisrpKKkpqG8ICNKTiCloqWmobwKKyukoqSmpMik7aG8ICNUMzUgpaKlpqXIpe2hvAorK6SipKakyKTtpKYgI1QzNSCloqWmpcil7aG8CisrpKKkpqTypL8gI1QzNSCkoqSmpfKlvworK6SipKogI1I1ciDA+gorK6SipKqkuaSuICNLU3IgwMSkuaSuCisrpKKkqqS5pK4gI1QzNSDAxKS5pK4KKyukoqSqpL6k6SAjS0sgwMS29QorK6SipKqkvqTpICNUMzUgwMS29QorK6SipKqk0CAjVDM1IMDEu/UKKyukoqSqpOogI1QzNSDA+qTqCisrpKKkqqTqpLOkxqSkICNUMzUgwPqk6rjHxOoKKyukoqSqpOqks6TUpNogI1QzNSDA+qTqpbOl1KXaCisrpKKkqqTqpPMgI0pOIKWipaql6qXzCisrpKKkqyAjVDM1ILmkCisrpKKkq6SkpK+ky6TfpMEgI1QzNSDA1rDmy67GuworK6SipKukpKTbpKakyaSmICNUMzUgwNaw5suuxrsKKyukoqSrpK2k46TDpNcgI1QzNSDA1qWtpeOlw6XXCisrpKKkq6TApPOkt6TjpK8gI1QzNSDA1sPLvN8KKyukoqSrpNIgI0tLIKWipavG/AorK6SipKuk0iAjVDM1IKWipavG/AorK6SipKuk3qTVpOmhvCAjVDM1IMDWpd6l1aXpobwKKyukoqSrpN6k1aTppKIgI1QzNSDA1qXepdWl6aG8CisrpKKkrCAjUjUgYWdhCisrpKKkrKTIpKYgI0NKIKSipKykyKSmCisrpKKkraS3pM6kzqTfpOSkq6SzpMqkpKS3pPOkzqSmICNKTiC9qbzEtdyywrvSxuK/xrKmCisrpKKkraTPpNCk6aTSpOekpqS4pOWk86S3pOikpiAjVDM1IL2pzdW4tsm4veC7xc3NCisrpKKkraTSpO2k4qTKobwgI0pOIKWipa2l0qXtpeKlyqG8CisrpKKkraTSpO2k4qTKobwgI1QzNSCloqWtpdKl7aXipcqhvAorK6SipK2k0qTtpOKkyqSiICNUMzUgpaKlraXSpe2l4qXKobwKKyukoqStpOykuSAjSk4gpaKlraXspbkKKyukoqSvpK2k8yAjVDM1IKWipa+22AorK6SipK+ku6S5pK2ku6SkICNUMzAgpaKlr6W7pbm1rMCpCisrpKKkr6S7pLmkraS7pKQgI1QzNSCloqWvpbulubWswKkKKyukoqSvpN4gI0pOILCty+IKKyukoqSvpN4gI1QzNSCwrcviCisrpKKksKTNpLmkuaTapLek46TrICNUMzUgpaKlsKXNpbmluaXapbel46XrCisrpKKksaSkpL8gI0NOIKWipbHIxAorK6SipLGkpKS/ICNUMzUgpaKlscjECisrpKKksiAjQ0ogpKKksgorK6SipLIgI0NOIL7lpbIKKyukoqSyICNLU3IgpKKksgorK6SipLIgI1I1IGFnZQorK6SipLIgI1QzNSBhZ2UKKyukoqSyICNUMzUgpKKksgorK6SipLIgI1QzNSC+5aSyCisrpKKksiAjVDM1IL7lpbIKKyukoqSypKKk6aS3ICNUMzUgYWdludOk6aS3CisrpKKksqSipOmktyAjVDM1IKSipLK506TppLcKKyukoqSypMGk5aSmICNUMzUgpKKksr/fCisrpKKksqTRpL2k3qS9ICNKTiBhZ2WOyo7fjr+Oz46/CisrpKKksqTWpOmktqG8pLogI0pOIGFnZaXWpemltqG8pboKKyukoqSypOKkyqG8ICNKTiBhZ2Wl4qXKobwKKyukoqSypOwgI0NKIGFnZaTsCisrpKKksqTspLkgI1QzNSBhZ2Wl7KW5CisrpKKksqTzpMqk3KSxICNDSiCkoqSypPOkyqXcpbGhqgorK6SipLQgI0pOIKWipbQKKyukoqS0ICNUMzUgpaKltAorK6SipLSkoqTLpOEgI1QzNSCloqW0paKly6XhCisrpKKktKSqpL8gI0pOIKWipbSlqqW/CisrpKKktKSqpL8gI1QzNSCloqW0paqlvworK6SipLSkz6S6pLek4qTBICNUMzAgpKKktKXPpbqlt7v9pMEKKyukoqS0pM+kuqS3pOKkwSAjVDM1IKSipLSlz6W6pbe7/aTBCisrpKKktaTBpOWk8yAjVDM1IMSrpcGl5aXzCisrpKKktaTMpN6kyqTfpLuk86S7pKQgI0pOIMD1vsLG4Mj+wOjAuAorK6SipLWkz6TpobwgI0pOIKWipbWlz6XpobwKKyukoqS1pNKkpKTBpMukpKTBpLyk7SAjVDM1IMSrxvwxMi4xMAorK6SipLWk1KG8ICNKTiCloqW1pdShvKGhCisrpKKkuKTdpPMgI1QzNSDMo6XdpfMKKyukoqS5pKuk4qTKobwgI0pOIMj0xLul4qXKobwKKyukoqS5pK2hvKSiobykyCAjVDM1IKWipbmlraG8paKhvKXICisrpKKkuaStobykoqG8pMikq6SkpLukrSAjSk4go8GjwbLywM8KKyukoqS5pK2kpKSipKKkyCAjVDM1IKWipbmlraG8paKhvKXICisrpKKkuqTepPOkrKTApKSkqqSmICNUMzUgpKKkuqTepPOkrMLnsqYKKyukoqS9pKYgI0pOII6xjr+OsworK6SipL2k0aS9pN6kvSAjSk4gpaKlvaXRpb2l3qW9CisrpKKkvaTRpL2k76TDpLek56SkICNKTiCloqW9pdGlvaXvpcOlt6XnpaQKKyukoqS9pN6kvaTRpL2k1KG8pLehvCAjSk4gjrGOv47Kjt+Ov47Pjr9QQworK6SipMOkraSkICNKTiCloqXDpa2hvAorK6SipMOktqTgICNKTiCloqXDpbal4AorK6SipMOkvSAjSk4gpKKkw6S9CisrpKKkw6S9obwgI0NKIKSipMOkvaG8CisrpKKkw6S9obwgI0pOIKSipMOkvaG8CisrpKKkw6TBpLOkw6TBpKSkpKTIpOIgI0pOIKWipcOlwaWzpcOlwaWkpaSlyKXiCisrpKKkw6TXpLek56SvpMuk8yAjVDM1IKSmo/C/pr/NCisrpKKkw6TXpLek56SvpMuk8yAjVDM1IKSmo/C/pr/NIAorK6SipMOk16S6ICNUMzUgQXBwegorK6SipMOk16TrpKqk5KS4ICNUMzUgpaKlw6XXpeulqqXkpbgKKyukoqTDpNek66StpMOkySAjSk4gpaKlw6XXpeulraXDpckKKyukoqTDpNek7aG8pMChvCAjVDM1IKWipcOl16XtobylwKG8CisrpKKkxKG8ICNKTiAojt9Bjt87KY6xjsKOsAorK6SipMShvCAjSk4gjrGOwo6wCisrpKKkxKSypLek56SmpLiktaSvpLikqKTzICNKTiCh2o6los+OpaHbCisrpKKkxKSypLek56SmpLiktaSvpLikqKTzICNKTiCOsY7CjrmO3o68jq6Os468jt6Ou464jryO3o60jt0KKyukoqTIpNShvCAjVDM1IEBwCisrpKKkyqS2obykoqSupLMgI0pOIKWipcqltqG8paKlrqWzCisrpKKkyqS/pPKkz6TzpMuk86THpLkgI0NKIKSipMqkv6TyoaLIyL/NpMekuQorK6SipMqkv6TypM+k86TLpPOkx6S5ICNKTiChyieiz2Chy6HjpKKkyqS/pPKhosjIv82kx6S5CisrpKKkyqS/pPKkz6TzpMuk86THpLkgI0pOIKSipMqkv6TyoaLIyL/NpMekuQorK6SipMqk7aSwpNWkoaSvpMik6qSkICNUMzUgpaKlyqXtpbCl1aWhpa+lyKXqobwKKyukoqTKpPKkvyAjVDM1IKWipcql8qW/CisrpKKkyyAjVDM1ILe7CisrpKKky6SqpL8gI1QzNSCloqXLpaqlvworK6SipMukrSAjVDM1IKWipculrQorK6SipMukuKTjICNUMzUgt7u81AorK6SipMuk16TqICNUMzUgpaKly6XXpeoKKyukoqTLpPKkvyAjVDM1IKWipcul8qW/CisrpKKkzqSvpMsgI1QzNSCkoqTOufEKKyukoqTOpK+ky6TOpKKkzqTbpKakvaSvICNUMzUgpKKkzrnxpM6koqTOy6HCpworK6SipM+koSAjSk4gKCqhrafVYCopjrGOyo6nJiM5ODI5OworK6SipM+koSAjSk4gKCqhrafVYDspocQKKyukoqTPpKEgI0pOIKHEKCqhrafVYCmOsY7KjqehxCYjOTgyOTsKKyukoqTPpKEgI0pOIKayKCqO36elYDspjrGhxI6xocSOsY6vjsqOp46njqeOp46njqeOp46nJiM5ODI5OyEhISEKKyukoqTPpKEgI0pOIKayKI7fp9VgKjspjrGOryyOsY7KjqcmIzk4Mjk7CisrpKKkz6ShICNKTiCOsY7KjqcmIzk4Mjk7CisrpKKk0aTgICNUMzUgpaKl0aXgCisrpKKk0aTgpL+k3qTipMOkxqSzpKQgI0pOIKWipdGl4KGqw8a7/aTDpMaks6SkCisrpKKk0qTjICNDSiCloqXSpeMKKyukoqTSpOMgI0NKII6xjsuOrAorK6SipNKk4yAjSk4gpaKl0qXjCisrpKKk0qTjICNKTiCOsY7LjqwKKyukoqTSpOOkoqS2pOmktyAjSk4gpaKl0qXjpaKltqXppbehoQorK6SipNKk46SspN+kz6SrpLsgI0pOIKWipdKl47/Ax+67zgorK6SipNOk4yAjQ0ogpKKk06TjCisrpKKk1KTDpLek46G8ICNKTiCloqXUpcOlt6XjobwKKyukoqTVpKGhvKTgpMmkqKTDpK+kuSAjSk4gpaKl1aWhobyl4KXJo9gKKyukoqTVpKkgI1QzNSCloqXVpakKKyukoqTVpKyk86SzpKakr6SmpLqk4qSmICNUMzUgpaKl1aWspfO50rb1werL0AorK6SipNWk7aTLpMChvCAjSk4gpaKl1aXtpculwKG8CisrpKKk1qSkpL8gI1QzNSCloqXWyMQKKyukoqTWpKWk66TipMqhvCAjSk4gpaKl9KXJpaWl66XipcqhvAorK6SipNcgI1QzMCCkoqTXCisrpKKk1yAjVDMwIKWipdcKKyukoqTXpO2kwCAjVDM1IKSipNek7aTACisrpKKk2SAjSk4gpMqkw6TBCisrpKKk2SAjSk4gsMLH3AorK6SipNukuaSxICNUMzUgpKKk2731CisrpKKk26S/pPMgI0pOIKSipNukv6TzCisrpKKk26TrpMChvCAjVDM1IKWipdul66XAobwKKyukoqTbpOukwKSiICNUMzUgpaKl26XrpcChvAorK6SipNyhvKTzICNKTiCkoqTcobyk8worK6SipNyhvKTzICNUMzAgpKKk3KG8pPMKKyukoqTcobyk8yAjVDMwIKSipNyhwaTzCisrpKKk3KG8pPOkzaTDpMik76G8pK8gI1QzNSCloqXcobyl86XNpcOlyKXvobylrworK6SipNyhvKTzpNCkr6TppKQgI0pOII6xjs6O3o6wjt3H+s3rCisrpKKk3KSqpLek56TzICNUMzUgpaKl3KG8pbel56XzCisrpKKk3KSqpPMgI1QzNSCkoqTcocGk8worK6SipNykqqTzpM2kw6TIpO+koqSvICNUMzUgpaKl3KG8pfOlzaXDpcil76G8pa8KKyukoqTdobwgI0tLIKWipd2hvAorK6SipN2hvCAjVDM1IKWipd2hvAorK6SipN2kqiAjVDM1IKWipd2hvAorK6SipN6hvCAjSk4gocomaGVhcnRzO6LPOyZoZWFydHM7ocuOsY7PjrAKKyukoqTeobwgI0pOIKWipd6hvAorK6SipN8gI1QzNSDM1gorK6SipOCk7aTLpOOk36SoICNKTiCwwry8jsaOrI7QjrQKKyukoqThpLahvCAjVDM1IKSipOGktqG8CisrpKKk4aS2obykzaTDpMikxKG8ICNDTiCkoqThpLahvKTNpMOkyKOyCisrpKKk4aS2obykzaTDpMikxKG8ICNUMzUgpKKk4aS2obykzaTDpMijsgorK6SipOGktqSiICNUMzUgpKKk4aS2obwKKyukoqThpLakoqTNpMOkyKTEpKYgI1QzNSCkoqThpLahvKTNpMOkyKOyCisrpKKk4aS+pKYgI0NOIKSipOGkvqSmCisrpKKk4aS+pKYgI0pOIKSipOGkvqSmCisrpKKk4aS+pKYgI1QzNSCkoqThpL6kpgorK6SipOGkvqSmpKuk6iAjSk4gpKKk4aS+pKahyrK+ocsKKyukoqThpL6kpqSrpOogI1QzNSCkoqThpL6kpqHKsr6hyworK6SipOGky6TipN6ksaTGICNUMzUgpaKl4aXLpeKl3qWxpcYKKyukoqThpM2ksyAjSk4gpKKk4aTNpLMKKyukoqTkpLeko6Tvobyk66TJICNDTiCkoqTkpLeko6Tvobyk66TJCisrpKKk5KS3pKQgI1QzNSCkoaTjpsmkoworK6SipOSkt6SkpLik5aSmpMuk8yAjVDM1IKShpOOmyaSjvbu/zQorK6SipOSkt6SkpO+hvKTrpMkgI0NOIKShpOOmyaSjpO+hvKTrpMkKKyukoqTkpLekpKTvobyk66TJICNUMzUgpKGk46bJpKOk76G8pOukyQorK6SipOSkt6SkpO+koqTrpMkgI1QzNSCkoaTjpsmko6Tvobyk66TJCisrpKKk5KTKpN+k7KSkICNKTiCkoaTjpMqk36XspaQKKyukoqTmICNKTiCkoqTmCisrpKKk5iAjVDM1IKSipOYKKyukoqTmICNUMzUgsL4KKyukoqTmpOKkyqG8ICNKTiCkoqTmpeKlyqG8CisrpKKk6KTNICNUMzUgpKKk6KTNCisrpKKk6SAjUzVyILnTpOkKKyukoqTppKKkraSkICNUMzUgpaKl6aG8pa2hvAorK6SipOmkr6TsICNKTiCkoqTppK+k7AorK6SipOmkr6TspO+kw6S3pOekpCAjSk4gpKKk6aSvpOyl76XDpbel56WkCisrpKKk6aS1obwgI1QzNSC506S1obwKKyukoqTppLWkoiAjVDM1ILnTpLWhvAorK6SipOmktyAjVDM1ILnTpOmktworK6SipOmktyAjVDM1ILnTpOm74QorK6SipOmktyAjVDM1ILnTu+EKKyukoqTppLcgI1QzNSC/t7vhCisrpKKk6aS3ICNUMzUgzfIKKyukoqTppLekpKTppKQgI1QzMCC506TppLewzc3qCisrpKKk6aS3pKSk6aSkICNUMzUgudOk6aS3sM3N6gorK6SipOmkt6SzpMakpCAjVDMwILnTpOmkt7jHxOoKKyukoqTppLeks6TGpKQgI1QzNSC506TppLe4x8TqCisrpKKk6aS3pL2kpqS0pKaku6TzpL+hvCAjSk4gudOk6aS3we2556W7pfOlv6G8CisrpKKk6aS5ICNTNXIgudOk6QorK6SipOmk06SipLSkoqTppLcgI1QzNSCloqXppdOlorjsudOk6aS3CisrpKKk6aTkpMAgI0NKIKSipOmk5KTACisrpKKk6aTkpMAgI0pOICihrKfVoawpoeOkoqTppOSkwKGqCisrpKKk6aTkpMAgI0pOIKSipOmk5KTACisrpKKk6aTkpMCkq6TzpLyk86S/pKQgI0pOIKSipOmk5KTAtLDBtMLOCisrpKKk6qSoobyk6yAjQ0ogpaKl6qWoobyl6worK6SipOqkqKG8pOsgI1QzNSCloqXqpaihvKXrCisrpKKk6qSoobyk6yAjVDM1II6xjtiOtI6wjtkKKyukoqTqpKikqKTrICNUMzUgpaKl6qWoobyl6worK6SipOqkqKSopOsgI1QzNSCOsY7YjrSOsI7ZCisrpKKk6qSspMikpiAjSk4gpKKk6qSspMikpgorK6SipOqkuSAjSk4gpKKk6qS5CisrpKKk66SrpOKkyqS6pLGkpKTgpLek5yAjSk4gpaKl66WrpeKlyqW6t7rMs73qCisrpKKk66SvpK2kzqSzICNKTiDK4qSvpa2lzqWzCisrpKKk66SvpOEgI0pOIMripK+y6gorK6SipOyk86S4ICNKTiCloqXspfOluAorK6SipO2kqKTqobykyiAjSk4gpaKl7aWopeqhvKXKCisrpKKk86SspMikyqTiobwgI0pOIKSipPOkrKTIpcql4qG8CisrpKKk86SwpOkgI1QzNSCloqXzpbCl6QorK6SipPOksaTzpLWkxCAjSk4gsMWhprf1oaa7pgorK6SipPOkt6TjpLmkzaSzICNKTiCloqXzpbel46W5x60KKyukoqTzpL+krKTKobwgI0pOIKWipfOlv6WspcqhvAorK6SipPOkv6TipM2hvCAjSk4gpaKl86W/peKlzaG8CisrpKKk86TAobyksKTppKak86TJICNUMzUgpaKl86XAobylsKXppaal86XJCisrpKKk86TBpMeko6SkpMako6SkICNUMzUgpaKl86XBRFQKKyukoqTzpMqkq6TPpOukyiAjQ04gsMLD5r+6zL4KKyukoqTzpMqkq6TPpOukyiAjVDM1ILDCw+a/usy+CisrpKOk56SlICNKTiCko6TnpKUKKyukpCAjQzVyIMDCCisrpKShvKS4pKQgI1QzNSCjxczsCisrpKShvKTaobyks6G8ICNKTiClpKG8pdqhvKWzobwKKyukpKG8pPOkuKTjpMqkpKTOICNKTiCkpKG8pPOkuKTjpMqkpKTOCisrpKSkpCAjQ0ogICiOpaLPjqUpjrKOsiEhCisrpKSkpCAjQ0ogIKHKoaaiz6GmoculpKWkISEKKyukpKSkICNDSiAgocqhpqLPoaahy46yjrIhIQorK6SkpKQgI0NKIKWkpaQKKyukpKSkpKKkuKTjpPMgI0pOIKSkpKSkoqS4pOOk8worK6SkpKSkuKTeICNUMzUgyNPF6AorK6SkpKSkv6SkpMCksaTBpOOkpqTzpKukyCAjQ0oguMCkpKS/pKSkwKSxpMGk46SmpPOkq6TIoaMKKyukpKSkpMAgI1QzNSDI08XECisrpKSkqKSkpLOk6SAjVDM1ILDkscals6XpCisrpKSkqKTPpOSkyaTHpOKkrKTDpLek5aSvpLik56THpOKkzaSnpL4gI1QzNSCyyKTPvcmkx6Tiuee9yb3qpMek4qTNpKekvqGqCisrpKSkqyAjVDM1IKSkpKsKKyukpKSrpKykyqTipM6kqyAjSk4gjrKOto62jt6OxY7TjsmOtgorK6SkpKukr6S7pKggI0NKIKSkpKukr6S7obwKKyukpKSrpLek56SmpOqk46SvICNDSiChyrDKsry+ys6sCisrpKSkq6S3pOekpqTqpOOkryAjQ0ogsMqyvL7KzqwKKyukpKSrpOqkzqSkpN6kzqSmpMEgI0pOIMXcpOqkzqWkpd6lzqWmpcEKKyukpKSrpOqk8qTWpMSksaTrpOKkyqG8ICNKTiDF3KTqpPKk1qTEpLGk66XipcqhvAorK6SkpK2kuKTrpLekrqTlpKaky6TlpKYgI0pOIMDCsPW17cb9CisrpKSkraTOpKSkpKSupLOkpqTqICNKTiDAwqStpM6kpKSkpa6ls8fkpOoKKyukpKStpM6kpKSkpMuku6SupLMgI0pOIMDCpK2kzs7JpKS1tqWupbMKKyukpKSvICNDNXIgwMKkrworK6SkpK+kyqSkICNDSiClpKWvpcqlpKGqoaoKKyukpKSvpMqkpCAjQ0ogjrKOuI7FjrIhIQorK6SkpLGkzKTeICNUMzUgw9O+wgorK6SkpLGkzaG8pOggI0pOIKWkpbGlzaG8pegKKyukpKSxpOGk8yAjVDM1IMPTzM0KKyukpKSxpOGk86SmpPOksyAjSk4gpKSksaThpPOlpqXzpbMKKyukpKSzobykr6SzpMakyqG8pLOk4qTSpOMgI0pOIKWkpbOhvKWvoaals6XGpcqhvKGmpbOl4qXSpeMKKyukpKSzpKqk66TQpKsgI1QzNSClpKWzobyl66XQpasKKyukpKSzpK+krqSzICNKTiCw27nxtby4xQorK6SkpLekq6TvICNUMzUgwNDA7gorK6SkpLekq6TvpMOkxqSmpPOks6S5pOukziAjQ0ogwNDA7qTDpMalpqXzpbOkuaTrpM6hqQorK6SkpLek4yAjVDM1ILDlvNQKKyukpKS3pOSkraSkpOKkpqTqICNKTiDA0L7GpKSk4sfkpOoKKyukpKS4pOGkyqSkobykx6TNICNKTiClpKW4oaal4aGmpcqlpKXHobylzQorK6SkpLik56SmpLiktaSvpLikqKTzpMekt6S/ICNDSiAojqWiz46lKY6yjryO3o6ujrOOvI7ejruOuI68jt6OtI7djsOO3o68jsAKKyukpKS4pOekpqS4pLWkr6S4pKik86THpLekvyAjQ0ogocqhpqLPoaahy46yjryO3o6ujrOOvI7ejruOuI68jt6OtI7djsOO3o68jsAKKyukpKS5ICNUMzUgsNi70gorK6SkpLmkyaTzICNUMzUgpaSluaXJpfMKKyukpKS/ICNUMzUgyMQKKyukpKS/pKQgI1QzNSCw5MLOCisrpKSkv6SrpPMgI1QzNSDEy7TJCisrpKSkv6SspKqkwaTrICNDSiDIxKSsze6kwaTrCisrpKSkv6SspK0gI0tLIMTLsu61tAorK6SkpL+krKStICNUMzUgxMuy7rW0CisrpKSkv6SspMik1iAjQ0ogyMSkrMj0pNYKKyukpKS/pK+kzaG8pOggI0pOIKWkpb+lr6XNobyl6AorK6SkpL+ks6SmpL+kpKS5pLEgI1QzNSDIxLmxwuC99QorK6SkpL+ktKTQpK8gI1QzMCDIxLjtx/oKKyukpKS/pMGkrCAjVzVyIMjEsOMKKyukpKS/pMGkrKSkICNUMzUgyMSw46SkCisrpKSkv6TIpNCktyAjVDM1IMjEpMik0KS3CisrpKSkv6TLpKSksSAjQ0ogyMSky8DCpLGhqgorK6SkpL+k4aSkICNUMzUgyMTMvgorK6SkpL+k66TqpKKk6qTGpKMgI1QzNSCkpKS/pOul6qWipeqlxqWjCisrpKSkwSAjVDM1IDEKKyukpKTBpKQgI0pOUyC71LDmCisrpKSkwaSkICNUMzUgu9Sw5gorK6SkpMGktKS7pPOkvaSmICNUMzUg5/XA78HoCisrpKSkwaS0pN6kq6SkICNUMzUg5/XL4rOmCisrpKSkwaS1pPMgI0pOIKOxpLWk8worK6SkpMGktaTzpM6kqqSrpKKktaTepNggI0NKIDGktaTzpM6kqsrszc2k2AorK6SkpMGktaTzpM6ktKSmpKukr6TPpMOk1KTnpKYgI0pOIKOxpLWk86TOueezysivyb0KKyukpKTBpLWk86TypMik6qTepK+kvaSmpKuk86S6ICNKTiCjsaS1pPOk8rzopOq0rKSvweq02L/eCisrpKSkwaS1pPOk8qTIpOqk3qSvpL2kpqSrpPOkuiAjVDM1IKOxpLWk86TyvOik6rSspK/B6rTYv94KKyukpKTBpMOkxqSmpLakpKTopM0gI0pOIKOxpMOkxqSmpLakpKTopM2hwQorK6SkpMGkzqTEpKakwaTSpOekpiAjSk4go7GkzsTMw87JvQorK6SkpMGkzqTPpKsgI0pOIKOxpM7K6AorK6SkpMGkz6TPpOSkr6S3pM0gI0pOIKOxpM/B4aSvu+CkzaGqoaoKKyukpKTBpNOkw6TIpLWk0CAjVDM1IDFiaXS7qgorK6SkpMGk4qS4pMWkxKTEpK+kw6TGpNWk5KS3pL+koqS5pK2hvKSiobykyCAjSk4gsOzKuLv6pLqkxKTVpOSkt6TGuu6kw6S/o8GjwQorK6SkpMOkraSzpKYgI1QzNSCw7LT8ubsKKyukpKTDpL+k86SzpOqk86S6ICNKTiCOso6vjsCO3Y66jtiO3Y69jt4KKyukpKTDpMGk46TDpMakr6TApLWkpCAjSk4gwMKkw6TBpOOkw6TGpK+kwKS1pKQKKyukpKTDpMGk46TzICNDSiAxY2gKKyukpKTDpMGk46TzICNDSiAxY2gudHYKKyukpKTDpMGk46TzICNDSiCjsaTBpOOk8worK6SkpMOkwaTjpPMgI1QzNSAxY2gKKyukpKTDpMGk46TzICNUMzUgMWNoLnR2CisrpKSkw6TBpOOk8yAjVDM1IKOxpMGk46TzCisrpKSkw6TBpOOk86TNpOsgI0NKIDFjaAorK6SkpMOkwaTjpPOkzaTrICNDSiAxY2gudHYKKyukpKTDpMGk46TzpM2k6yAjQ0ogo7GkwaTjpPMKKyukpKTDpMGk46TzpM2k6yAjVDM1IDFjaAorK6SkpMOkwaTjpPOkzaTrICNUMzUgMWNoLnR2CisrpKSkw6TBpOOk86TNpOsgI1QzNSCjsaTBpOOk8worK6SkpMOkxqSvpOsgI0NKIMDCpMOkxqSvpOsKKyukpKTDpMakr6TrICNreHVydSDAwqTDpMakr6TrCisrpKSkw6TGpOiktyAjQ0ogpKOkw6bTpOemyQorK6SkpMOkxqTopLcgI0NKIMDCpMOkxqTopLcKKyukpKTDpMak6KS3pLOkrKS/pNKks6SmpMakpCAjSk4gwMKkw6TGpOikt76ut7/I9LnUxPoKKyukpKTDpMak6KS3pMuk86TGpKSkpKSkpPOkq6SkICNKTiDAwqTDpMak6KS3x6fE6rDRsPey8QorK6SkpMOkxqTopLeky6TzpMakpKSkpKSk86SrpKQgI0pOIMDCpMOkxqTopLfHp8TqsNGw97LxIAorK6SkpMOkxqTopLkgI0NKIMDCpMOkxqXopbkKKyukpKTDpMikpqS4pOek5qSmICNUMzUgsOzF+b33zaUKKyukpKTDpNGkxKTApLGkyqTppLSkt6TjICNDSiCw7MivpMCksaTKpOm47bzNCisrpKSkw6TRpPOkraTjpK8gI1QzNSCw7MjMtdIKKyukpKTDpNGk86S4pPMgI1QzNSCw7MjMv80KKyukpKTEpOKks6SzpKuk6SAjSk4gpKSkxKTipLOks6SrpOkKKyukpKTGpPOkt6TepLekvyAjQ0ogsNzFvqS3pN6kt6S/CisrpKSkxqTzpLek3qS3pL8gI1QzNSCw3MW+pLek3qS3pL8KKyukpKTHpNukvSAjSk4gxcHA4rXwv8COso7Djt6Ozo6/CisrpKSkx6TbpL0gI0pOII6yjsOO3o7Ojr8KKyukpKTIpKakr6TzICNKTiCwy8ajt68KKyukpKTIpKakr6TzICNKTiCwy8ajt68gCisrpKSkyqSrpOKkyqG8ICNKTiDFxLzLpeKlyqG8CisrpKSkyqSspK2k4aTzpNChvCAjVDM1ILDws8Cl4aXzpdChvAorK6SkpMqkrKStpOGk86TQpKIgI1QzNSCw8LPApeGl86XQobwKKyukpKTKpLQgI1QzNSAxNzUKKyukpKTKpLQgI1QzNSClpKXKpbQKKyukpKTKpLQgI1QzNSDp+worK6SkpMukzaSzICNKTiBpbmmkzaSzCisrpKSkzCAjQ04guKQKKyukpKTMICNLSyC4pAorK6SkpMwgI1QzNSC4pAorK6SkpMyks6SmpNykpiAjSk4guKS4+Mu+CisrpKSkzKS7pPOku6SkICNUMzUguKTA6MC4CisrpKSkzKTBpOWkpiAjVDM1ILikv98KKyukpKTMpOSk3qTQpLcgI0pOILiku7O2tgorK6SkpM6kqKTipPMgI1QzNSCkpKTOpKik4qTzCisrpKSkzqSspLek6aG8ICNKTiClpKXOpaylt6XpobwKKyukpKTOpK2kuaTsICNUMzUgw/bM2qW5pewKKyukpKTOpK2kzqTHpPOk7yAjSk4gpKSkzqStpM7Fxc/DCisrpKSkzqSxpPMgI0pOIKWkpc6lsaXzCisrpKSkzqTBpM6kx6TzpO8gI0pOIKSkpM6kwaTOxcXPwworK6SkpNCkt6TnpM2hvKToICNKTiC1777sveqlzaG8pegKKyukpKTRobykpCAjVDE1IKWkpdGhvKWkCisrpKSk0aG8pKQgI1QzNSClpKXRobylpAorK6SkpN6kpKSwpPOkwKTzICNKTiC6o7Dmt7PDxAorK6SkpN6kpKTipMqhvCAjSk4guqOw5qXipcqhvAorK6SkpN6kqqSrpOKkyqG8ICNKTiClpKXepaqlq6XipcqhvAorK6SkpN6kqqSrpOKkyqG8ICNUMzUgpaSl3qWqpaul4qXKobwKKyukpKTepKqkq6TipMqkoiAjVDM1IKWkpd6lqqWrpeKlyqG8CisrpKSk3qS9pKuk6iAjQ0ogpKSk3qS9pKuk6gorK6SkpN6kzqSmpMEgI0pOIKWkpd6lzqWmpcEKKyukpKTepM6kpqTBpKqky6SupOqk0KG8pLik56TzICNKTiClpKXepc6lpqXBoaakqqTLpK6k6qXQobyluKXnpfMKKyukpKTepM6kpqTBpNSkq6ShICNKTiCOso7PjsmOs47BpdSlq6WhIQorK6SkpOGkzKTPpLikrSAjVDM1IGltZS5udcPGpK0KKyukpKTiICNDTiCw8gorK6SkpOIgI1QzNSCw8gorK6SkpOKkpqTIICNUMzUgy+UKKyukpKTkpLeksaSkICNKTiDM/qS3t88KKyukpKTkpMmk8yAjQ0ogocqhpqPBoaahy46yjtSOxI7ejt0hIQorK6SkpOSk3qTDpL+kryAjSk4gqKzPr8C4CisrpKSk5KTepMOkv6SvICNKTiCOqI6sjs+Or47AjrgKKyukpKTopKYgI0pOIKSjpOekpQorK6SkpOikpiAjSk4gpaSk56SlCisrpKSk6aTKpKSk7yAjSk4gpaSl6aXKpaSl7worK6SkpOmkzSAjSk4gocqO3635jt+hy46yjteOyAorK6SkpOmkzSAjSk4gjrKO147ICisrpKSk6aTNobyk6CAjSk4gpaSl6aXNobyl6AorK6SkpOmkzaG8pOikq6S5pL+k4CAjSk4gpaSl6aXNobyl6KWrpbmlv6XgCisrpKSk6aTNobyk6yAjSk4gpaSl6aXNobyl6worK6SkpOmkzaS4pOWky6SiICNKTiClpKXppc2luKXlpculogorK6SkpOqkoqS1pPMgI0pOIElyaWGktaTzCisrpKSk66TNICNKTiChyo7fp9iO3ymOso7ZjsgKKyukpKTrpM0gI0pOII6yjtmOyAorK6SkpOuk06TNICNUMzUgpKSk66TTpM0KKyukpKTspLCkpCAjVDM1IMb+pOy29KSkCisrpKSk7aTBpPOkwKTzICNUMzUgv6fEwcPECisrpKSk86SzpKukpKS4pPMgI0pOIKWkpfOls7L4v80KKyukpKTzpLOkq6SkpLik8yAjVDM1IKWkpfOls7L4v80KKyukpKTzpLcgI1QzNSCw/LvgCisrpKSk86TUpKogI1QzNSClpKXzpdSlqgorK6SkpPOk3KSmICNUMzUgsaLLxQorK6SmoaukoaG8ICNDSiCl9KWhobwKKyukpqGrpKGhvCAjQ0ogpfSloqG8CisrpKahq6ShpKSk6aS5ICNUMzUgpfSloaWkpemluQorK6SmoaukoaSrICNUMzUgpfSloaWrCisrpKahq6ShpKukwCAjS0sgpfSloaWrwswKKyukpqGrpKGkq6TAICNUMzUgpfSloaWrwswKKyukpqGrpKMgI0pOIKPWCisrpKahq6SjpK+kyKTqobykvqTLpMOkryAjSk4gpfSlo6Wvpcil6qG8pb6ly6XDpa8KKyukpqGrpKOkuKTlpKSkvyAjVDM1IKX0paOluKXlyMQKKyukpqGrpKOk6qSkICNUMzUgdmlyaWkKKyukpqSjpMogI1QzNSClpqWjpcoKKyukpqSjpPOkqKTgpKikw6SvpLkgI1QzNSBXaW5NWAorK6SmpKOk86THpKMgI1QzNSBXaW5keQorK6SmpKOk86TJpKWhvKSvICNUMzUgd2luZHVrZQorK6SmpKOk86TJpKakuiAjVDM1IFdpbmRvegorK6SmpKcgI0pOILOqCisrpKakpyAjSk4gjrOOqgorK6SmpKekpKTIICNUMzUgd2FpdAorK6SmpKekqKTPpMOkz6TDpM8gI0NKIKWmpaehvKGipc+lw6XPpcOlzyAKKyukpqSnpLahvKTqpN2hvKTIICNKTiClpqWnpbahvKGmpeql3aG8pcgKKyukpqSopM6kr6TqpMukw6SvpM6kqqTIpLMgI1QzNSC+5czupa+l6qXLpcOlr6TOw8sKKyukpqSppKwgI1QzNSClpqWppawKKyukpqSqobyk8yAjVDM1IKSmpKqhvKTzCisrpKakqqSqpPMgI1QzNSCkpqSqobyk8worK6SmpKqkyqTzpKukuaS0pKSkyKSzpO2ky6TepOikpKSzpPOkuKTepMOkv6S+pLSk66ShICNKTiCkpqSqoaqkyqTzpKukuaS0pKSkyKSzpO2ky8zCpKS5/qTzpLik3qTDpL+kvqW0peuloaGqCisrpKakqqTKpPOkq6S5pLSkpKTIpLOk7aTLpN6k6KSkpLOk86S4pN6kw6S/pL6ktKTrpKEgI0pOIKSmpKqhqqTKpPOkq6S5pLSkpKTIpLOk7aTLzMKkpLn+pPOkuKTepMOkv6S+jrqO3o7ZjqehqiAKKyukpqS1pN6hvCAjSk4gKI7fp9WO3ymOs467js+OsAorK6SmpLWk3qG8ICNKTiCzu3wKKyukpqS1pN6hvCAjSk4gjrOOu47Pod0KKyukpqS2ICNLWVQgpKaktgorK6SmpLakrKStICNUMzUgpaaltqWspa0KKyukpqS3pKqk86TKICNKTiC17b33CisrpKakvKG8ICNKTiAoYLuuoa0pjrOOvo7ejrAKKyukpqS8obwgI0pOIKWmpbyhvAorK6SmpLyhvCAjSk4gjrOOvo7ejrAKKyukpqS8obyk6CAjSk4gpaalvKG8pegKKyukpqS8pKcgI0NKIKSmpLykpworK6SmpLykp6G8ICNDSiB1emVlZWUhCisrpKakvKSnpK2kqKTtICNKTiClpqW8paekraSopO2hpqGmoaYKKyukpqS9pLOhvCAjSk4gpaalvaWzobwhCisrpKakvaSzobwgI0pOII6zjr+Ouo6wIQorK6SmpL2kz6SmpL2kx6SipOukyKTfpMyksaTrpNKkyKTHpMqkpKTIICNDSiCkpqS9pM+kpqS9pMekoqTrpMi4q8i0pLGk67/NpMekyqSkpMgKKyukpqS9pOQgI1QzNSCxs7KwCisrpKakv6TLpMSkw6SzpPOkx6SvpOwgI0pOILLOpMulxKXDpbOk86THpK+k7AorK6SmpMGk5aSmpKukpKTPpMQgI1QzMCCxp8Pos6vIrworK6SmpMGk5aSmpKukpKTPpMQgI1QzNSCxp8Pos6vIrworK6SmpMGk5aSmpOSk0KSkICNDSiCxp8PopeSl0KWkCisrpKakw6S1pKQgI0pOIKWmpcOltaWkCisrpKakw6S1pKSkz6SyICNDSiCkpqTDpLWkpKXPpbIKKyukpqTDpL+kqKTrpOqkoqTrpOKkyqG8ICNKTiDByqSopOul6qWipeul4qXKobwKKyukpqTEpKakvyAjVDM1IN21ss4KKyukpqTEpKik4qTzICNKTiCkpqTEpail4qXzCisrpKakxKTAICNLSyDdtcLHCisrpKakxKTAICNUMzUg3bXCxworK6SmpMSkwKS3pM6kpiAjQ0ogpKakxKTApLekzqSmCisrpKakxKTApLekzqSmICNDSiCk88LHpMSkwLvhx74gCisrpKakxKTApLekzqSmICNDSiDdtaTAu+GkzqSmCisrpKakxKTApLekzqSmICNDSiDdtaTAvcHHuyAKKyukpqTEpMCkt6TOpKYgI0NKIN21wse77ce5IAorK6SmpMSkwKS3pM6kpiAjQ0og3bXCzLvhx74gCisrpKakxKTkpK0gI0pOIN21vsakrQorK6SmpMaktyAjVDM1IKWmpcaltworK6SmpMggI1QzNSClpqXICisrpKakyqG8ICNKTiCiuiiO36H9jt8poruOs47FjrAKKyukpqTKobwgI0pOII6zjsWOsAorK6SmpMsgI1QzNSClpqXLCisrpKaky6SvpO0gI1QzNSClpqXLpa+l7QorK6SmpMukr6TtICNUMzUgpaaly7n1CisrpKaky6TjobwgI0pOIKSmpMuk46HBCisrpKaky6TlpKYgI0pOIKSmpMuk5aSmCisrpKak0qTnobwgI0pOIKWmpdKl56G8CisrpKak0qTnpLmk7CAjVDM1IKWmpdKl56W5pewKKyukpqTXICNUMzAgpKaj8AorK6SmpNcgI1QzMCCkpqTXCisrpKak1yAjVDM1IHVwCisrpKak1yAjVDM1IKSmpNcKKyukpqTXpLek56SvpMuk8yAjVDM1IKSmo/C/pr/NCisrpKak3KShobwgI0pOIKHKjt+npY7focuOs47Ojt6Op46wCisrpKak3KShobwgI0pOIKWmpdyloaG8CisrpKak3qG8ICNDSiAojt+n1Y7fKY6zjs+OsAorK6SmpN6hvCAjQ0ogocqhrKfVoayhy6Wmpd6hvAorK6SmpN6hvCAjQ0ogocqhrKfVoayhy46zjs+OsAorK6SmpN6hvCAjQ0ogpaal3qG8CisrpKak3qG8ICNKTiAojt+n1Y7fKY6zjs+OsAorK6SmpN6hvCAjSk4gjrOOz46wCisrpKak3qSiICNDSiClpqXeobwKKyukpqTepKSk3KSmICNKTiCkpqTepKSk3KSmCisrpKak3qSkpNykpiAjS0sgpKak3qSky8AKKyukpqTepKSk3KSmICNUMzUgpKak3qSky8AKKyukpqTepMqk6iAjVDM1IMfPzOkKKyukpqTipKak6KTqpOKkq6TrpK+kwaTipKuk6KTDpMakpKTKpKQgI0NKILGpzNOk6KTqpOK32qSvoaK37KTixMykw6TGpKSkyqSkCisrpKak4qSpobwgI0pOIKWmpeKlqaG8CisrpKak4qSpobwgI0pOII6zjtOOq46wCisrpKak6CAjVDM1IKWmpegKKyukpqTopMOkxqTrICNUMzUgsabN46TDpMak6worK6SmpOmkoqSqICNUMzUgzqLAxAorK6SmpOmkoqSvpN6kwaTnpKakuKTzICNUMzUgzqKwrcvixLa/zQorK6SmpOmkqKTtICNUMzUgpaal6aWope0KKyukpqTppMukwaTjpPMgI0tLIM6io7KkwaTjpPMKKyukpqTppMukwaTjpPMgI1QzNSDOojKkwaTjpPMKKyukpqTppMukwaTjpPMgI1QzNSDOoqOypMGk46TzCisrpKak6aTPpOkgI1QzNSDOosqiCisrpKak6aTcpPMgI1QzNSDOosveCisrpKak6aTcpPMgI1QzNSDOosvfCisrpKak6aTcpPMgI1QzNSDis832y98KKyukpqTppOmhvCAjSk4gpaal6aXpobwKKyukpqTqpLikyqTrICNUMzUgpaal6qW4pcql6worK6SmpOqkyqTpICNUMzUgpaal6qXKpekKKyukpqTqpMqk6aS1pKSk0KG8pMak7aTApPMgI0pOIKWmpeqlyqXppbWlpKXQobylxqXtw8QKKyukpqTqpMqk6aS1pKSk0KG8pMak7aTApPMgI0pOII6zjtiOxY7XjruOso7Kjt6OsI7DjtvDxAorK6SmpOqkyqTppLWkpKTQobykxqTtpMCk8yAjSk4gjrOO2I7FjteOu46yjsqO3o6wjsOO28PEoaEKKyukpqTrpLWkpKTPpKikwKTKpKIgI0pOIKSmpOuktaSkx+ikwKTKpKEKKyukpqTrpLuhvKTQpKsgI0pOIKSmpOuku6G8x8+8r6GqCisrpKak66S7pKik0KSrICNDSiCkpqTrpLuhvMfPvK8KKyukpqTrpMik6aTepL0gI0pOII6zjtmOxI7Xjs+OvworK6SmpOuk3qTppN6k8yAjSk4gpaal66Xepeml3qXzCisrpKak66TipOmk3qTzICNKTiClpqXrpeKl6aXepfMKKyukpqTtobyk8yAjSk4gpaal7aG8pfMKKyukpqTvpKGkoaTzICNDSiClpqXvpaGloaXzCisrpKak76ShpKGk8yAjQ0ogjrOO3I6njqeO3QorK6SmpO+kyqTLICNDSiCkpqTvoaKkyqTLoakKKyukpqTzpLMgI1QzNSClpqXzu9IKKyukpqTzpLOhvCAjSk4gpaal86WzobwhCisrpKak86SzobwgI0pOII6zjt2Ouo6wIQorK6SmpPOks6SkpL8gI0NOIKWmpfOls8jECisrpKak86SzpKSkvyAjVDM1IKWmpfOls8jECisrpKak86SzpMekraS/pOihvCAjSk4gpaal86WzpMekraS/pOihvKGqoaoKKyukqKG8ICNKTiClqKG8CisrpKihvKSoobwgI1QzNSCjwaPBCisrpKihvKS4pOOkyqSkpKsgI1QzNSCk8X6kwqTjpMqk8KSrCisrpKikoqSopMOkuKSspOEgI0pOIGFpckgijraO3o7SCisrpKikoqTApPMgI1QzNSClqKWipcCl8worK6SopKSkqKTzICNUMzUgpKikpKSopPMKKyukqKSkpK6k56SmpOKkyqG8ICNKTiCxxLbIpeKlyqG8CisrpKikpKSxpMukuaTIICNUMzUgpailpKWxpculuaXICisrpKikpKS7pKQgI1QzNSCxysDCCisrpKikpKTBpMako6G8pKik4KSopOukqyAjVDMwIGh0bWyyvQorK6SopKSkwaTGpKOkxqSjpNSko6TsobyktqG8ICNKTiBodHRwpeyhvKW2obwKKyukqKSkpNmkw6SvpL0gI0tLIKWopaSl2aXDpa+lvQorK6SopKSk2aTDpK+kvSAjS0sgpailpKXZpcPKtQorK6SopKSk6qSmpO+koaShpPMgI0pOIKWopaSl6qWmpe+loqWhpfMKKyukqKSkpOqkpqTvpKGkoaTzICNKTiCOtI6yjtiOs47cjrGOp47dCisrpKikpKTqpKak76ShpKGk8yAjSk4gjrSOso7YjrOO3I6xjqeO3SAKKyukqKSopLik46TKpKSkqyAjVDM1IKTxfqTCpOOkyqTwpKsKKyukqKStpNmkvSAjQ04gpailraXZpb0KKyukqKStpNmkvSAjVDM1IKWopa2l2aW9CisrpKikraTZpPMgI0NOILHVytgKKyukqKStpNmk8yAjQ04gsdbK2AorK6SopK2k2aTzICNDTiCx2MrbCisrpKikraTZpPMgI1QzNSCx1crYCisrpKikraTZpPMgI1QzNSCx1srYCisrpKikraTZpPMgI1QzNSCx2MrbCisrpKikraTZpPOkwKSkpKykryAjQ04gsdjK28Lns9gKKyukqKStpNmk86TApKSkrKSvICNUMzUgsdjK28Lns9gKKyukqKSvpLehvKTJpK6k66S5ICNKTiClqKWvpbehvKXJpa6l66W5CisrpKikr6S5pNek7aSkpMakw6TJICNKTiBleHBsb2l0ZWQKKyukqKSwpLykzaSzICNKTiBleGWkzaSzCisrpKikuKTqpL+k8yAjSk4gpailwqXqpL+k8worK6SopLmkqKTgpKSkpCAjVDM1ICRNRQorK6SopLmkq6TspL+hvCAjVDM1IKWopbmlq6Xspb+hvAorK6SopLmkyKS3obyk4qSipKKk6aS3ICNKTiClqKW5pcilt6G8peKlornTpOmktworK6SopMCksqTzpMogI0NKILvezNOk86TKCisrpKikw6SvpLmkrqSzICNKTiBYpa6ls6GhCisrpKikxKSzICNKTiClqKXEpbMKKyukqKTIpKYgI0pOILm+xtoKKyukqKTIpKYgI0pOUyC5vsbaCisrpKikyKTzICNKTiC5vsbaCisrpKikyKTzICNKTlMgub7G2gorK6SopMqk6iAjSk4gpKikyqTqCisrpKikyqTqpKukuqStICNKTiCkqKTKpOqkq6S6pK0KKyukqKTLpK+kvSAjS0sgpaily6Wvpb0KKyukqKTLpK+kvSAjVDM1IKWopculr6W9CisrpKikzKS4pKSk76SipMkgI1QzNSBOR6XvobylyQorK6SopMykuaTGICNUMzUgo86luaXGCisrpKikzKTLpMGk66SmpOsgI1QzNSBuxvyl66G8pesKKyukqKTMpO+kpKTBpOWkpiAjVDM1IG55v98KKyukqKTSpOEgI0NOILCmybIKKyukqKTTpNWk6aSkpO+kw6S3pOekpCAjSk4gpail06XVpemlpKXvpcOlt6XnpaShqqGqCisrpKik1aSopKQgI0NKIEZBCisrpKik1aSopKQgI0NKIEZBPworK6SopNWk6aTzpK8gI1QzNSBGpeml86WvCisrpKik1qG8pKQgI1QzNSCkqKTWobykpAorK6SopNakpqSkICNUMzUgpKik1qG8pKQKKyukqKTfpOUgI1QzNSCkqKTfpOUKKyukqKTgpKikqKSvpLkgI0tLIKWopeClqKG8pa+luQorK6SopOCkqKSopK+kuSAjS0sgjrSO0Y60jrCOuI69CisrpKik4KSopMOkr6S5ICNUMzUgTVgKKyukqKTgpKikw6SvpLmktaTzICNKTiCjzaPYpLWk8worK6SopOCkqKTDpK+kuaS1pPOkyKSzpN6k6yAjSk4go82j2KS1pPOkyKWzpd6l6worK6SopOCkqKTDpK+kuaTBpOWkpiAjVDM1IE1Yv98KKyukqKTgpKik4KSipKKk6yAjVDM1IE1NUgorK6SopOCkqKTgpKKkoqTrpLOk1KTaICNDSiBNTVKls6XUpdoKKyukqKTgpLmkxiAjVDM1IE2luaXGCisrpKik4KTWpMGk56SmICNKTiCjzcn0xLkKKyukqKTipOkgI0pOIKXxpeKl6QorK6SopOogI0pOILbfCisrpKik6iAjVDM1ILbfCisrpKik6qTBpPMgI0pOIKWopeqlxKWjpfMKKyukqKTqpMSko6TzICNKTiCkqKTqxMEKKyukqKTspK+kvSAjVDM1IKWopezKtQorK6SopOykr6S9ICNUMzUgpail7Mq1obyl8worK6SopOykr6S9pKqk8yAjVDM1IKWopezKtQorK6SopOykr6S9pKqk8yAjVDM1IKWopezKtaG8pfMKKyukqKTtpKik7aS7pPOkv6SkpLqk6qS7pPOkuKTjpKIgI1QzNSClqKXtpail7cDvwuKluqXqpbul86W4peOhvAorK6SopO2ksiAjVDMwIKWope2lsgorK6SopO2ksiAjVDM1IKWope2lsgorK6SopO2ksqSqpL+kpKTEpMSkzqTBpKukpCAjVDM1IKWope2lsqWqpb+jtaTEpM7AwKSkCisrpKik7aSypPKkv6TcpK+k4aTEpKak86TJpKakqyAjS0sgpail7aWypfKlv8vQzMexv8awssgKKyukqKTtpLKk86SsobwgI1QzNSClqKXtpbKl86WsobwKKyukqKTtpLKk86SspKIgI1QzNSClqKXtpbKl86WsobwKKyukqKTtpLqk6qG8ICNKTiClqKXtpbql6qG8CisrpKik7aTDpK+kuSAjVDM1IGVyb3gKKyukqKTtpNykryAjS0sgpail7cvQCisrpKik86SkobwgI1QzMCCkqKTzpKShvAorK6SopPOkpKG8ICNUMzUgpKik86SkobwKKyukqKTzpKSkpCAjVDM1IKSopPOkpKG8CisrpKik86SrpKukt6TlpLeko6TBpOOk8yAjSk4gsemyzrLOvOqkt6SjpMGk46TzCisrpKik86SzpKakySAjVDM1ILHnuPKh7gorK6SopPOkuKTzpKqkpiAjSk4gpail86W4pfOypgorK6SqobykqKSkpMGk1KG8ICNUMzUgo8+jyKPQCisrpKqkoqSkpL2k5qG8pNuhvCAjSk4gpKqkoqSkpL2l5qG8pduhvAorK6SqpKSkqqSkpMuk5aG8pLmk36S/ICNDSiCkqqSkpKqkpKGipcul5aG8pbm4q6S/oakKKyukqqSkpKqk3qSopOkgI0NKIKSqpKShoqSqwbCk6QorK6SqpKSkuaS/obyktaSvpLuk8yAjVDM1IKWqpaSluaW/oby67sDvCisrpKqkpKS5pL+koqS1pK+ku6TzICNUMzUgpaqlpKW5pb+hvLruwO8KKyukqqSkpMqk6qTipMqhvCAjSk4gpKqkpKTKpOql4qXKobwKKyukqqSkpOAgI1QzNSClqqWkpeAKKyukqqSkpOkgI1QzNSCkqqSkpOkKKyukqqSmpLSk86TBpOWkpiAjVDM1ILKrtuK/3worK6SqpKakyaSmpOGkrKTfICNLSyCypsa7vfe/wAorK6SqpKqkrqSzpNakwaTnpKYgI0pOIMLnpa6ls8n0xLkKKyukqqSqpLOk36TfpM+k86TGpPMgI0pOIMLnvq68qsjTxbkKKyukqqSqpMMgI0pOII61jrWlw6GqCisrpKqkqqTEpK0gI0pOIKWqpaqlxKWtCisrpKqkqqTEpK0gI0pOII61jrWOwo63CisrpKqkqqTHpKOkqKTzpLkgI1QzNSClqqG8pcelo6WopfOluQorK6SqpKqkyKSzpPOk16TqpKSkyCAjVDM1IKWqobylyKWzpfOl16XqobylyAorK6SqpKqkyKTqICNLSyDLsQorK6SqpKqkyKTqICNUMzUgy7EKKyukqqSqpN+k36TipMqhvCAjSk4gwue8qqXipcqhvAorK6SqpKqk36TfpOKkyqTfICNKTiDC57yqy6jG4Mj+CisrpKqkqqTfpN+k4qTppOmhvCAjSk4gwue8qqXipeml6aG8CisrpKqkqqTipOqks6SkpPMgI1QzNSDC57+5pbOlpKXzCisrpKqkq6SupLOkraTnpKakuKTlICNKTiClqqWrpa6ls7a1vPgKKyukqqSrpLekpKTHpLmk6KSrpMakuKTKpLWk8yAjQ0ogpKqkq6S3pKSkx6S5pOihqqWrpcaluKXKpLWk86GqoaoKKyukqqSrpN8gI0pOIKSqpKuk3worK6SqpKuk5KTzICNKTiC1ttTdoaEKKyukqqSrpOSk8yAjSk4gjrWOto7Ujt2hoQorK6SqpKuk7KS5ICNUMzUgsqyl7KW5CisrpKqkrKTvICNUMzUgvq7A7gorK6SqpK8gI1QzNSCx/AorK6SqpK+k7KS5ICNUMzUgw9ml7KW5CisrpKqksKTqICNUMzUgvq63qgorK6SqpLGkpKTPpPMgI0pOIKSqpLGkpKTPpPMKKyukqqSxpKSkz6TzICNUMzUgpKqksaSkpM+k8worK6SqpLKk3qTzICNUMzUgpaqlsqXepfMKKyukqqSzpM6k36S4pOekpqTmICNKTiCkqrmlpN++38z9CisrpKqktaS3pN+k4qTKobwgI0pOIKSqpLWkt6TfpeKlyqG8CisrpKqktaTVpM2hvKTopKukw6SzpKako6S6pOKkxqTNobyk6KTIpLikq6TDpLMgI0pOIKWqpbWl1aXNobyl6KHKd2l0aKGhpeKlxqXNobyl6KHLCisrpKqktaTepNOk86TppMeko6TzICNKTiClqqW1pd6l06Xzpemlx6WjpfMKKyukqqS1pOmhvCAjSk4gpKq7rqG8CisrpKqktaTpobwgI0pOIKSqu66hvCAKKyukqqS1pOwgI1QzMCClqqW1pewKKyukqqS2pO+k4qTKpKsgI0pOIL6uwvSl4qXKpasKKyukqqS3pKikxqSvpPMgI1QzNSC2taSopMa3rworK6SqpLekqiAjSk4gpKqx9gorK6SqpLekqiAjVDM1IKSqsfYKKyukqqS3pOqkuSAjSk4gpaqlt6XqpbkKKyukqqS3pOqk2qTzpNqk8yAjQ0ogpaqlt6Xqpdql86XapfMhIAorK6SqpLek6qTapPOk2qTzICNDSiCOtY68jtiOzY7fjt2OzY7fjt0hIAorK6SqpLek6qTypKqkrKTgpKSkpKTzpKukpCAjSk4gofqh+qH6pKq/rKTyx9Kk4LDRsPey8aH6ofqh+gorK6SqpLek6qTypKqkrKTgpKSkpKTzpKukpCAjSk4gofqh+qH6pKq/rKTyx9Kk4LDRsPey8aH6ofqh+iAKKyukqqS4pOOk3qS4pOcgI0pOIKSqpbil48vivfcKKyukqqS4pPOkrKG8pLykw6TIICNKTiClqqW4pfOlrKG8WgorK6SqpLik86SspKKkvKTDpMggI0pOIKWqpbil86WsobxaCisrpKqkuaSuICNUMzUgpKq/+QorK6SqpLuhvKTtICNDSiCkqqS7obyk7QorK6SqpLukqKTtICNDSiCkqqS7obyk7QorK6SqpLuk7aTHpOKkt6TopKak6CAjQ0ogpaqlu6XtpMek4qS3pOikpqToCisrpKqkvaTspLkgI1QzNSDD2aXspbkKKyukqqS/pKyk6iAjVDM1IKWqpb+87aTqCisrpKqkv6StpOWkpiAjS0sgpfKlv7XeCisrpKqkv6StpOWkpiAjVDM1IKXypb+13gorK6SqpL+kt6TlpKYgI1QzNSClqqW/va0KKyukqqS/pMCkpKS3pOWkpqS0pKYgI0pOIKWqpb/C5724uecKKyukqqS/pOukw6SvICNUMzUgpaqlv6XrpcOlrworK6SqpMCkrqTqpOKkyqG8ICNKTiClqqXApa6l6qXipcqhvAorK6SqpMGk46TOpN4gI0pOIKSqw+OkzrTWCisrpKqkw6TIobykwaTjpPMgI0pOIKWqpcOlyKG8pMGk46TzCisrpKqkxCAjVDM1ILK1CisrpKqkxKSrpKQgI0tLILK1svEKKyukqqTEpKuk7KG8ICNDSiCytaWrpeyhvAorK6SqpMSkq6TsobwgI1QzNSCytaWrpeyhvAorK6SqpMSkq6TspKggI1QzNSCytaWrpeyhvAorK6SqpMSkyKSrpKSkw6S/pOSkxKS3pM0gI0NKILK1pMikq7jApMOkv8Xbu+CkzQorK6SqpMWk6SAjSk4gpaqlxaXpCisrpKqkx6S4obykySAjSk4gpaqlx6W4obylyQorK6SqpMek8yAjVDM1IKSqpMek8worK6SqpMek86TepPMgI0pOIKSqpMek86XepfMKKyukqqTHpPOk3qTzICNUMzUgpKqkx6TzpN6k8worK6SqpMihvKTBpOOk86TcpMOkraS3pOekpqSspKQgI0pOIKSqpMihvKTBpOOk88vWta++47OyCisrpKqkyKSmpNUgI0pOIKSqpMikpqTVCisrpKqkyKSzpMmk8yAjVDM1ILTB0KcKKyukqqTIpLik4yAjVDM1IMTvvNQKKyukqqTIpL+ksSAjSk4go9rJ8AorK6SqpMikv6SxICNKTlMgpaqlyKW/pbEKKyukqqTIpL+ksSAjVDM1IKPavLAKKyukqqTIpL+ksSAjVDM1IKPayfAKKyukqqTIpL+ksaSkICNKTiClqqXIpb+3ugorK6SqpMikv6SxpKQgI1QzMCClqqXIpb+3ugorK6SqpMikv6SxpKQgI1QzNSClqqXIpb+3ugorK6SqpMikv6SxpLKk86S5pKQgI0pOIKWqpcilv6WxuLW/4worK6SqpMikyiAjVDM1IKTypMikygorK6SqpMikyqTOpK6ks6SupLOkvyAjSk4gwue/zaTOtby4xaWupbPCwAorK6SqpMik3qTrICNKTiCj2rTdCisrpKqkyKThICNUMzUgtMG99worK6SqpMmk6iAjVDM1IKSqpMmk6gorK6SqpMogI0NKIKSqpMoKKyukqqTKobykyyAjVDMwIKWqpcqhvKXLCisrpKqkyqG8pMsgI1QzMCCOtY7FjrCOxgorK6SqpMqkrKSkpLek3qS5ICNDSiCkqqTKpKykpKS3pN6kuQorK6SqpMqkrKSkpLek3qS5ICNKTiCkqqTKpKykpKS3pN6kuaGhCisrpKqkyqS3pOWk3yAjQ0ogpKqkyrzxzKMKKyukqqTKpLek5aTfICNUMzUgpKqkyrzxzKMKKyukqqTKpMuhvCAjVDMwIKWqpcqly6G8CisrpKqkyqTLpKSkuaTsICNUMzUgpaqlyqXLobyluaXsCisrpKqkyqTLpLmkyCAjVDM1IKWqpcqly6W5pcgKKyukqqTKpMyhvCAjVDMwIKWqpcqlzKG8CisrpKqkyqTMobwgI1QzMCCOtY7FjseOsAorK6SqpMukpKTLpO+kw6TBpOekpCAjSk4gpKqky6G8pMul76XDpcGl56WkCisrpKqky6SupOogI0pOIKSqpMukrqTqCisrpKqky6SupOqkpqTApKSkuKTzICNKTiCkqqTLpK6k6rGmwue/wworK6SqpMukrqTqpKykyqG8ICNKTiCkqqTLpK6k6qWspcqhvAorK6SqpMukrqTqpLikpKS1pPMgI0pOIKSqpMukrqTqpLikpKS1pPMKKyukqqTLpK6k6qS4pOOkriAjSk4gpKqky6SupOqluKXjpa4KKyukqqTLpK6k6qS5pOmkpKTgICNKTiCkqqTLpK6k6qW5pemlpKXgCisrpKqky6SupOqku6SkpMggI0pOIKSqpMukrqTqwLjFzAorK6SqpMukrqTqpLuk86TopKakoqTDpKykpCAjSk4gpKqky6SupOrA7M3RpaKlw6WspaQKKyukqqTLpK6k6qS/pOKk6iAjSk4gpKqky6SupOqlv6H7peoKKyukqqTLpK6k6qTApPMgI0pOIKSqpMukrqTqw8QKKyukqqTLpK6k6qTGpPOktyAjSk4gpKqky6SupOrFt7vICisrpKqky6SupOqkyKSmICNKTiCkqqTLpK6k6sXeCisrpKqky6SupOqkyKSmICNKTiCkqqTLpK6k6sXeIAorK6SqpMukrqTqpNCk86TJICNKTiCkqqTLpK6k6qXQpfOlyQorK6SqpMukrqTqpNKkw6StobwgI0pOIKSqpMukrqTqpdKlw6WtobwKKyukqqTLpK6k6qTbpPOk3SAjSk4gpKqky6SupOrL3MreCisrpKqky6SupOqk4KStpOCkrSAjSk4gpKqky6SupOql4KWtpeClrQorK6SqpMukrqTqpOKkyqG8ICNKTiCkqqTLpK6k6qXipcqhvAorK6SqpMukrqTqpO+kw6TBpOekpCAjSk4gpaqly6Wupeql76XDpcGl56WkCisrpKqky6TvpOqhvKTKICNUMzUgpaqly6XvpeqhvKXKCisrpKqky6TvpOqkpKTKICNUMzUgpaqly6XvpeqhvKXKCisrpKqkzSAjVDM1IKSqpM0KKyukqqTNpKSktaTzICNUMzUgpKqkzaSkpLWk8worK6SqpM+kyqTQpL+ksSAjVDM1IKSqstbIqgorK6SqpM+k6KSmpLik5yAjVDM1IKSqpM+k56Slpsmhq6TnIAorK6SqpNCkwaTjpPMgI1QzNSCOtY7Kjt6OwY6sjt0KKyukqqTQpMGk46TzICNUMzUgpaql0KXBpeOl8worK6SqpNCkwaTlpKYgI1QzNSCkqqTQv98KKyukqqTQpMGk5aSmICNUMzUgpaql0L/fCisrpKqk0aG8pKQgI1QzNSClqqXRobylpAorK6SqpNGkoqSkICNUMzUgpaql0aG8paQKKyukqqTTpL+ky6TdpMOkyCAjSk4gwtPDq6XdpcOlyAorK6SqpNWkq6SkICNUMzAgpaql1bLxCisrpKqk1aTppKSk86TTpOWhvKTvICNLSyClqqXVpemlpKXzpdOl5aG8pe8KKyukqqTWpMQgI1QzNSCx+MqqCisrpKqk2aTkpOqhvKTKICNUMzUgpaql2aXkpeqhvKXKCisrpKqk2aTkpOqkpKTKICNUMzUgpaql2aXkpeqhvKXKCisrpKqk2aTppOqhvKTKICNUMzUgpaql2aXppeqhvKXKCisrpKqk2aTppOqkpKTKICNUMzUgpaql2aXppeqhvKXKCisrpKqk2aTzpMikpqSmpKSk86TKpKIgI1QzNSCkqsrbxfalpqWkpfOlyqG8CisrpKqk3qG8pOkgI1QzNSCkqqTeobyk6QorK6SqpN6kpKTqICNKTiCkqruypOoKKyukqqTepKikq6TLobwgI0pOIKWqpd6lqKWrpcuhvAorK6SqpN6kqKSspMak26TzpPKk36S7pO2k6CAjQ0ogpKrBsKSsvOrL3KTyuKuku6TtpOihyqH3o/e50worK6SqpN6kqKSspMqhvCAjSk4gpaql3qWopaylyqG8CisrpKqk3qSopK+k3qG8ICNKTiClqqXepailr6XeobwKKyukqqTepKikt6TNobwgI0pOIKWqpd6lqKW3pc2hvAorK6SqpN6kqKS4pOOkrKG8ICNKTiClqqXepailuKXjpayhvAorK6SqpN6kqKS4pOOkrKG8ICNKTiClqqXepailuKXjpayhvCAKKyukqqTepKikuKTjpM2hvKS+ICNKTiClqqXepailuKXjpc2hvKW+CisrpKqk3qSopMCksSAjSk4gpaql3qWopcClsQorK6SqpN6kqKTApLEgI0pOIKWqpd6lqKXApbEouObBsML7KQorK6SqpN6kqKTApLEgI0pOILjmwbDC+worK6SqpN6kqKTApMqhvCAjSk4gpKqk3qSopMCkyqG8CisrpKqk3qSopMCkyyAjSk4gpaql3qWow6sKKyukqqTepKikz6S/pPOk7aTzpKsgI0NKIKSqwbCkz6W/pfOhpqXtpfOkq6GpCisrpKqk3qSopOKkq6G8ICNKTiClqqXepail4qWrobwKKyukqqTepKik4qTCpOOhvCAjSk4gpaql3qWopeKlwqXjobwKKyukqqTepKik4qTKobwgI0NKIKWqpd6lqKXipcqhvAorK6SqpN6kqKTipMqhvKTPpPMgI0pOIKWqpd6lqKXipcqhvLTACisrpKqk3qSopOKkyqSiICNDSiClqqXepail4qXKobwKKyukqqTepKik4qTKpLSkpiAjSk4gT01BRU1PTkG55gorK6SqpN6kqKTipMuk46G8ICNKTiCkqqTepKik4qTLpOOhvAorK6SqpN6kqKTipNKk4yAjSk4gpaql3qWopeKl0qXjCisrpKqk3qTzpLik5aSmICNUMzUgpKrxvcasCisrpKqk36SipKSkuaTrpOKk6aTpobwgI0pOIKSquKu556SkpLmk66Xipeml6aG8CisrpKqk36TIpO2k8yAjVDM1IKWqpd+lyKXtpfMKKyukqqTgpLmk0yAjSk4gpKqk4KS5pNMKKyukqqThobyk6SAjVDM1IKSqpOGhvKTpCisrpKqk4aSkpNCk86SrpKQgI0NKILH4zL7I1LLzCisrpKqk4aSsICNUMzUgpaql4aWsCisrpKqk4aSspKKk6aS3ICNUMzUgpti506TppLcKKyukqqThpKykwaTzICNUMzUgptjEwQorK6SqpOKk1SAjQ0ogu9ek1QorK6SqpOKk6aS/pKuk0qTtICNKTiDI+KXipenOtLmwCisrpKqk4qTvpOwgI0NKILvXpO+k7KGjCisrpKqk4qTvpOwgI1QzNSC716TvpOwKKyukqqTkpLOk2qTzpK6k8yAjSk4gv8a70qXapfOlrqXzCisrpKqk6iAjS0sg3aMKKyukqqTqICNUMzUg3aMKKyukqqTqpK0gI1QzNSClqqXqpa0KKyukqqTqpMWk6zE0pN6k86TQpNek7aS4pKekr6TIICNDSiDA3qTqxOExNMv8saml16Xtpbilp6WvpcgKKyukqqTqpM+k6aTWpOkgI1QzNSDA3ri2pdal6QorK6SqpOqk2aTtpNOhvCAjVDM1IL+lyfSl7aXTobwKKyukqqTqpNmk7aTTpKQgI1QzNSC/pcn0pe2l06G8CisrpKqk6qTnpKak6qSqpM2kqKS1pPMgI0pOIKSqzsHN/aSqu9CktaTzCisrpKqk66S5pMakw6TJICNKTiClqqXrpbmlxqXDpckKKyukqqTspKqk86TKICNUMzUgsra99worK6SqpOyktaTeICNUMzUgsrbNzQorK6SqpOyktaTepOikpqS3pKqk6iAjVDM1ILK2zc3N0aS3pKqk6gorK6SqpOykwKG8ICNKTiCytqTAobwKKyukqqTspMuktaTvpLCkqqTVICNUMzUgsraky8H7pLClqqXVCisrpKqk7KTPpN6kwaSspKSkyqSvpKSkw6TRpPOkuKTzICNUMzUgsrakz7TWsOOkpKTKpK+w7MjMv80KKyukqqTspOKkyqG8ICNDSiClqqXspeKlyqG8CisrpKqk7KTipOyk4iAjVDM1ILK2z7Ok7KTiCisrpKqk76TDpL+kyiAjSk4gKKGmobyhpqHLjrWO3I6vjsCOxY6ljqWOpQorK6SqpO+kw6S/pMogI0pOIKWqpe+lw6W/pcqhpqGmoaYKKyukqqTvpMOkv6TKICNKTiCOtY7cjq+OwI7FjqWOpY6lCisrpKqk86S/pKQgI1QzNSCyucLTCisrpKqk86S/pKQgI1QzNSC45sLnCisrpKqk86TfpOekpqS4ICNKTiCxos3bu9UKKyukqqTzpOqkqKTzICNUMzUgT25saWVuCisrpKsgI1I1ciC87QorK6SrobykyaStpOOk16S/obyk4qTKobwgI0pOIENDpeKlyqG8CisrpKukpKSzpLek5aSuICNUMzUgsvu4xbzntcEKKyukq6SkpLuk8yAjVDM1IOHO4f0KKyukq6SkpLuk86StpMOkxqSvpNOkxKTDpMakt6TNICNDSiCy88D+wNqkw6TGvPPE36TDpMa74aTNCisrpKukpKS7pPOkraTDpMakr6TTpMSkw6TGpLekzSAjSk4gsvPA/sDapMOkxrzzxN+kw6TGu+GkzQorK6SrpKSkxqStpNak6aSmpLahvCAjS0sgsvfFrKXWpemlpqW2obwKKyukq6SkpMmkpiAjS0sgsvHGsQorK6SrpKSkyaSmICNLSyCy+Ma4CisrpKukpKTJpKYgI0tLILO5xrsKKyukq6SkpMmkpiAjVDM1ILLxxrEKKyukq6SkpMmkpiAjVDM1ILL4xrgKKyukq6SkpMmkpiAjVDM1ILO5xrsKKyukq6SkpNWkr6S5pNGkuaTRpOKkyqG8pKykryAjSk4gsvPJ/KW5pdGluaXRpeKlyqG8s9gKKyukq6SkpNikpKS1pPMgI0pOILOrysSktaTzCisrpKukpKTvpOwgI1QzNSClq6Wkpe+l7AorK6SrpKggI0NKIKSrpKgKKyukq6SopMek5KTEpOkgI1QzNSCkq6SopMek5KTEpOkKKyukq6SopOwgI0NKICiOpaLPjqUpjraOtI7aIQorK6SrpKik7CAjQ0ogocqhpqLPoaahy462jrSO2iEKKyukq6SopOwgI0NKIKWrpail7AorK6SrpKik7CAjQ0ogpaulqKXsIQorK6SrpKik7CAjQ0ogjraOtI7aIQorK6SrpKik7CAjVDM1IKWrpail7AorK6SrpKqk4qS4ICNUMzUgtOnKuLv6CisrpKukqqTipLiktaSvpLukpKSkpOmkpCAjVDMwILTpyri7+rruwK6wzc3qCisrpKukrKTkICNLNXIgtbEKKyukq6SspOSksSAjQ0ogtbGksQorK6SrpKyk5KSxICNUMzUgtbGksQorK6SrpKyk7yAjVDM1ILnhwO4KKyukq6StpLMgI001ciC98aStuf4KKyukq6StpLMgI1QzMCClq6WtpbMKKyukq6StpOekpqSkpPOkzqTqpKKkraTIpM+k86SrpMGkzqTBpOekpqS7pPOkuKTnpKYgI0pOILLWtf6xocW1zMCkyKXPpfOlq6XBpM7EqcDvvvUKKyukq6SuICNLSyC4sAorK6SrpK4gI1QzNSC4sAorK6SrpK6kw6SzICNUMzUguLCkw7vSCisrpKukr6TJpMikqyAjQ0ogs9HF2aTIpKsKKyukq6SvpMukpKS/ICNDTiCz0bzRyMQKKyukq6SvpNik8yAjVDMwILPOytEKKyukq6SvpNik8yAjVDM1ILPOytEKKyukq6SvpOikpiAjVDM1IMThwusKKyukq6SvpOogI1QzMCCz1s6lCisrpKukr6TqpKSkvyAjQ04gs9bOpcjECisrpKukr6TqpKSkvyAjVDM1ILPWzqXIxAorK6SrpK+k6qSkpL+kzqSrpK+k6qSkpL8gI1QzNSCz1s6lyMSkzrPWzqXIxAorK6SrpLCktyAjVDM1ILnhtvG71QorK6SrpLIgI1QzNSBrYWdlCisrpKuks6SkICNLWSClq6WzpaQKKyukq6SzpKSkpCAjVDM1IKWrpbOlpKWkCisrpKuks6TtpLAgI1QzNSCy4bXupe2lsAorK6SrpLOk76TrICNLWSClq6Wzpe+l6worK6SrpLOk76TrpKQgI1QzNSClq6Wzpe+l66WkCisrpKuktCAjSk4gpKKkpKTcpPMKKyukq6S0ICNKTiCyw7juCisrpKuktSAjSk4gu7EKKyukq6S1ICNUMzUgu7EKKyukq6S1obyk6iAjSk4gpaultaG8peoKKyukq6S1pKuktSAjSk4gpaultaWrpbUKKyukq6S3pO+k4qG8pMEgI0pOIKWrpbel76XiobylwQorK6SrpLmkxqTrICNLSyClq6W5pcal6worK6SrpLmkxqTrICNUMzUgpauluaXGpesKKyukq6S6ICNUMzUgv/SiqgorK6SrpLqkuKS1pPMgI1QzNSC/9Lv6pLWk8worK6SrpLqk5KS4pOuktyAjVDM1IL/0oqoKKyukq6S7pK2kuaTsICNUMzUgsr3A0KW5pewKKyukq6S9pKSkvyAjVDM1ILLhwcLIxAorK6SrpL2kpqTipMqhvCAjSk4gstDB8qXipcqhvAorK6SrpL8gI1I1IPHZCisrpKukvyAjUjVyIPHZCisrpKukv6SspMEgI1QzMCDK0qWspcEKKyukq6S/pOSkqiAjVDMwIMrSpeSlqgorK6SrpL+k6iAjVDM1IPHZpOoKKyukq6S/pO+k6aG8ICNKTiClq6W/pe+l6aG8CisrpKukwaSwpN+k6aSkpPMgI1QzNSC+ocHIpN+l6aWkpfMKKyukq6TBpOWhvKS3pOMgI0tLIKSrpMGk5aHBpLek4worK6SrpMGk5aG8pLek4yAjVDM1IKSrpMGk5aHBpLek4worK6SrpMGk5aG8pLek46S1pPMgI0pOIKSrpMGk5aHBpLek46S1pPMKKyukq6TBpOWkpqS3pOMgI1QzNSCkq6TBpOWhwaS3pOMKKyukq6TBpOekpiAjVDM1ILLdxLkKKyukq6TDpLGhvCAjQ0ogpKukw6SxobwKKyukq6TDpLGhvCAjVDM1IKSrpMOksaG8CisrpKukw6SxpKggI0NKIKSrpMOksaG8CisrpKukw6SzpKSkpCAjVDM1IKWrpcOls6WkpaQKKyukq6TDpMik4qTKobwgI0pOIKWrpcOlyKXipcqhvAorK6SrpMOk0SAjS0sgss/GuAorK6SrpMOk0SAjVDM1ILLPxrgKKyukq6TDpNGkuKTjpMqkpKToICNKTiClq6XDpdGkuKTjpMqkpKToCisrpKukw6TRpMOk0aG8ICNKTiClq6XDpdGlw6XRobwKKyukq6TEICNKTiC57gorK6SrpMQgI1QzNSC57gorK6SrpMSk3qS/ICNUMzUgvqHL8worK6SrpMSk8yAjVDM1IKWrpcSl8worK6SrpMaktKTqICNUMzUgpaulxqW0peoKKyukq6TIpKakuKTlpOogI0pOILLDxqOluKXlpeoKKyukq6TIpKakuKTnpOakpiAjVDM1ILK8xfm9982lCisrpKukyKSmpOakqyAjSk4gssPGo82zueEKKyukq6TJpN6k76TzICNLSyClq6XJpd6l76XzCisrpKukyaTepO+k8yAjVDM1IKWrpcml3qXvpfMKKyukq6TKobwgI0pOIKWrpcqhvAorK6SrpMsgI0tLILOqCisrpKukyyAjVDM1ILOqCisrpKuky6TQpOsgI0pOICihpsb5oaYpCisrpKuky6TQpOsgI0pOIKWrpcul0KXrCisrpKukzaTNobyk6CAjSk4gpaulzaXNobyl6AorK6SrpNOkqqTLpK6k6iAjS0sgpaul06WqpculrqXqCisrpKuk06SqpMukrqTqICNUMzUgpaul06WqpculrqXqCisrpKuk06TzpL+k8yAjSk4gstbJ06S/pPMKKyukq6TVpKehvCAjSk4gpaul1aWnobwKKyukq6TWICNSNSCkq6TWCisrpKuk1qS3pK2krKSkpLek46TkpKqkraTzICNLSyCz9LywsvG80qXkpaqlraXzCisrpKuk1qS3pK2krKSkpLek46TkpKqkraTzICNUMzUgs/S8sLLxvNKl5KWqpa2l8worK6SrpNakyKTgpLcgI1QzNSClq6XWpcil4KW3CisrpKuk16G8pOukpKS/ICNDTiClq6XXobyl68jECisrpKuk16G8pOukpKS/ICNUMzUgpaul16G8pevIxAorK6SrpNehvKTrpKSkvyAjVDM1II62jsyO346wjtnIxAorK6SrpNekpqTrpKSkvyAjVDM1IKWrpdehvKXryMQKKyukq6TXpKak66SkpL8gI1QzNSCOto7Mjt+OsI7ZyMQKKyukq6TXpPOksyAjSk4gKI6los+OpSmlzqGhCisrpKuk16TzpLMgI0pOIKWrpdel86WzoaoKKyukq6TZICNUMzUgyskKKyukq6TepMmkpqTepKKk6aS3ICNKTiClq6XepcmlpqXeudOk6aS3CisrpKuk3yAjSk4gu+YKKyukq6TfICNUMzUgv8AKKyukq6TfpKukvKTIpMOks6SmpL+kpCAjSk4gv8DJ98bDubbC4gorK6SrpN+ks6SmpOqk8yAjVDM1IL/Aud/O1worK6SrpN+ktaSvpKwgI1QzNSC/wLrusugKKyukq6TfpMqk6qSwpOuhvKTXICNKTiDN66WwpeuhvKXXCisrpKuk36TKpOqksKTrobyk1yAjVDM1IM3rpbCl66G8pdcKKyukq6TfpMqk6qSwpOukpqTXICNUMzUgzeulsKXrobyl1worK6SrpN+kzqS4pKSkxqSjpKSkqqSmICNUMzUgv8CkzkdUTworK6SrpN+kzqTKpOSk36TPpOqhvKTWpMukuKTlpKakpKTBICNKTiDIsaTOx7qk36TPpeqhvKXWo7KjsQorK6SrpOEgI1QzNSC1tQorK6SrpOEgI1QzNSC1taXepd4KKyukq6ThpN6k3iAjVDM1ILW1pd6l3gorK6SrpOGk4qTKobwgI0pOIKWrpeGl4qXKobwKKyukq6ThpOKkyqG8pLCk7KG8pMggI0pOIKWrpeGl4qXKobylsKXsobylyAorK6SrpOGk7KS5ICNUMzUgtbWl7KW5CisrpKuk4aTzpOmkpKTAobykoqSupLMgI0pOILK+zMyl6aWkpcChvKWipa6lsworK6SrpOGk86TppKSkwKG8pKKkrqSzICNKTiCyvszMpemlpKXAobyloqWupbMgCisrpKuk4aTzpOmkpKTAobykoqTepL6k8yAjSk4gsr7MzKXppaSlwKG8paKl3qW+pfMKKyukq6ThpPOk6aSkpMChvKSupOukuSAjSk4gsr7MzKXppaSlwKG8pa6l66W5CisrpKuk4aTzpOmkpKTAobykrqTrpLkgI0pOILK+zMyl6aWkpcChvKWupeuluSAKKyukq6ThpPOk6aSkpMChvKS0pOukoaTDpK8gI0pOILK+zMyl6aWkpcChvEdPTEFDSworK6SrpOGk86TppKSkwKG8pLeko6S5pOqhvCAjSk4gsr7MzKXppaSlwKG8pLeko6OzCisrpKuk4aTzpOmkpKTAobykt6SjpLmk6qG8ICNKTiCyvszMpemlpKXAobykt6Sjo7MgCisrpKuk4aTzpOmkpKTAobykt6SjpLmk6qG8pKikw6SvpLkgI0pOILK+zMyl6aWkpcChvKS3pKOjs6Hdo9gKKyukq6ThpPOk6aSkpMChvKS3pKOkuaTqobykqKTDpK+kuSAjSk4gsr7MzKXppaSlwKG8pLeko6Ozod2j2CAKKyukq6ThpPOk6aSkpMChvKS5pMik7aTzpKyhvCAjSk4gsr7MzKXppaSlwKG8pbmlyKXtpfOlrKG8CisrpKuk4aTzpOmkpKTAobyk4qSmpMogI0pOILK+zMyl6aWkpcChvKXipaalygorK6SrpOKkuSAjUzUgvvqkuQorK6SrpOKk4SAjVDM1ILKqCisrpKuk6aSipK6k46TzpLAgI1QzNSClq6XpobylrqXjpfOlsAorK6SrpOmkoqSyICNUMzUgxeLNyKSyCisrpKuk6aStpN6kt6S/ICNDSiCkq6Tpzeik3qS3pL8KKyukq6TppLkgI0pOILGoCisrpKuk66S/pPMgI0pOIKWrpeulv6XzCisrpKuk7KG8pNGkvaTepL0gI0pOIKWrpeyhvKXRpb2l3qW9CisrpKuk7KG8pNGk86TepPMgI0pOIKWrpeyhvKXRpfOl3qXzCisrpKuk7KG8pNGk86TepPMgI0pOII62jtqOsI7Kjt+O3Y7Pjt0KKyukq6TspKSkt6TlpKakv6TApOikpiAjQ0ogssPO8L2tybqkpgorK6SrpOykzyAjVDM1ILjPzdUKKyukq6TvpLWkriAjVDM1IMDuur61vQorK6SrpO+kt6TepKKkxaTfICNKTiDA7sXnz8LExbzCCisrpKuk8yAjVDM1ILSwCisrpKuk86SrpPOkyaSmpOqkxCAjS0sgtNi02MaxzqkKKyukq6TzpKuk86TJpKak6qTEICNUMzUgtNi02MaxzqkKKyukq6TzpKykr6S0pK2k1qTqICNKTiC02LPYpbSlraXWpeoKKyukq6TzpKyk66G8pOKkyqG8ICNKTiClq6Xzpayl66G8peKlyqG8CisrpKuk86SvpO2kpiAjSk4gpaul86O5o7YKKyukq6TzpK+k7aSmICNKTiC0qrbsz6sKKyukq6TzpK+k7aSmICNUMzUgpaul86O5o7YKKyukq6TzpK+k7aSmICNUMzUgtKq27M+rCisrpKuk86SzICNSNSClq6XzpbMKKyukq6TzpLMgI1I1ciClq6XzpbMKKyukq6TzpLOkryAjS0sgtK+58QorK6SrpPOks6SvICNLSyC0r7nzCisrpKuk86SzpK8gI0tLINWhufEKKyukq6TzpLOkryAjVDM1ILSvufEKKyukq6TzpLOkryAjVDM1ILSvufMKKyukq6TzpLOkryAjVDM1INWhufEKKyukq6TzpLOkr6TIpOogI1QzNSC02rnxpMik6gorK6SrpPOks6SvpMik6iAjVDM1ILTaufGkyKTqIAorK6SrpPOks6TDpK8gI0tLIKWrpfOls6XDpa8KKyukq6TzpLOkw6SvICNUMzUgpaul86WzpcOlrworK6SrpPOks6TJpOogI0pOILTXuMXEuworK6SrpPOktaSkpNWkoaSkpNakuaS/pKIgI1QzNSC02MC+pdWloaWkpdaluaW/obwKKyukq6TzpLWk86TIpLekv6THpPOkt6TjICNKTiC017u2pMikt6S/xcW81gorK6SrpPOkt6TjpM+k4KTLpMAgI0NKILS2vNWlz6XgpculwAorK6SrpPOkuKTvpOukpCAjVDM1ILS2pLiwraSkCisrpKuk86TBpOekr6TLpPMgI1QzNSC0ycS+v80KKyukq6TzpMakpKS3ICNUMzUgtNXE6rvOCisrpKuk86TGpKSkuaTsICNUMzUgtNXE6qW5pewKKyukq6TzpMakpKTIpOqkqiAjVDM1ILTVxOqlyKXqpaoKKyukq6TzpMakpKTLpPOkr6TfpKKkpCAjVDM1ILTVxOq/zcHIuecKKyukq6TzpMakpKTopKaktCAjVDM1ILTVxOrN0bjsCisrpKuk86TIpKakz6TApKukq6SkICNKTiC02MXszeey8QorK6SrpPOkyKTzICNLSyClq6Xzpcil8worK6SrpPOkyKTzICNUMzUgpaul86XIpfMKKyukq6TzpMqkqqTIICNKTiC0r8S+v80KKyukq6TzpMqkqqTIICNKTiC0r8y+srsKKyukq6TzpMqkqqTIICNKTiC02sS+v80KKyukq6TzpMqkqqTIICNKTiC/+8S+v80KKyukq6TzpMqkqqTIICNUMzUgtK/Evr/NCisrpKuk86TKpKqkyCAjVDM1ILSvzL6yuworK6SrpPOkyqSqpMggI1QzNSC02sS+v80KKyukq6TzpMqkqqTIICNUMzUgv/vEvr/NCisrpKuk86TNpKSks6SmpM8gI0pOILTFx6u2vcfGCisrpKuk86TepPOku6SkpMggI0pOILSzy/7AuMXMCisrpKuk86TqpLek46S1pPOkx6S5pKsgI0NKILTJzf281KS1pPOkx6S5pKuhqaP3CisrpKuk86TqpMuk86TVpKGk5KTkICNUMzUgJnF1b3Q7tMnN/SZxdW90O7/NpdWloaXkpeQKKyukq6TzpOyk86S5pOykw6TJICNUMzUgtNjPoqW5peylw6XJCisrpKuk86TspPOk6qTzpK8gI1QzNSC02M+ipeql86WvCisrpKyhvKTzICNDSiClrKisqKyorKHKX6elXzuhy6isqKyl86GqCisrpKyhvKTzICNKTiClrKG8pfMKKyukrKG8pPMgI0pOIKWsqKyorKHKjt+npY7fOymorKispfOhqgorK6Ssobyk8yAjSk4gprKhyo7fp9WO32xsbKHLjraO3o6wjt0KKyukrKSkpKSks6TIpPKkpKTDpL8gI0NKIKSspKSkpKSzpMik8rjApMOkvworK6SspKSkraTBICNUMzUgpaylpKWtpcEKKyukrKSkpLek5aTEICNUMzUgpKykpKS3pOWkxAorK6SspKSkt6TlpMQgI1QzNSCzsL3QCisrpKykpKS3pOWkxKStpMOkySAjSk4gtPu90KWtpcOlyQorK6SspKSkt6TlpMSkr6TzICNKTiClrKWkpbel5aXEt68KKyukrKSkpL8gI1QzNSClrMjECisrpKykpKTJpOmkpKTKpKIgI1QzNSClrKWkpcml6aWkpcqhvAorK6SspKSkyaTppKSk86SkpL8gI1QzNSClrKWkpcml6aWkpfPIxAorK6SspK+krKSvpNak66TWpOsgI0NKIKWspa+lrKWvpdal66XWpesKKyukrKSvpKykr6TWpOuk1qTrICNDSiCOto7ejriOto7ejriOzI7ejtmOzI7ejtkKKyukrKSvpKykr6TWpOuk1qTrICNUMzAgpaylr6Wspa+l1qXrpdal6worK6SspK+krKSvpNak66TWpOukraTnpKaks6SmpOqk8yAjVDMwIKWspa+lrKWvpdal66XWpeu2tbnfztcKKyukrKSvpOykraSipLak6aS3ICNUMzUgs9jO8qWipbal6aW3CisrpKykr6TspK2kuKTlpPOkpCAjVDM1ILPYzvK957DMCisrpKykr6TspK2kwaTlpKakyaSvpLek4yAjVDM1ILPYzvLD5sbHvNQKKyukrKSvpOykraTtpPOkwKTqpPOksCAjVDM1ILPYzvKl7aXzpcCl6qXzpbAKKyukrKSzpM6kuaTspMukraTnpKak36TypOKkw6S/pOikpqTHpLkgI0NKIKSspLOkzqW5peyky7a9zKOk8rv9pMOkv6TopKakx6S5CisrpKykvqSmpKKkw6TXpO2hvKTAICNUMzUgsujB/KWipcOl16XtobylwAorK6SspMEgI1QzMCClrKXBCisrpKykwSAjVDM1IKWspcEKKyukrKTBpOOk1KTzICNKTiClrKXBpeOl1KXzCisrpKykw6SvpLcgI0NKIKGyfKGxfKH7CisrpKykw6SvpLcgI0NKIG9yegorK6SspMOkr6S3ICNDSiBfbm8KKyukrKTDpK+ktyAjQ0ogT1RMCisrpKykw6SvpLcgI0NKIE9UWgorK6SspMOkr6S3ICNDSiBKVE8KKyukrKTDpLcgI0pOIKWspcOltworK6SspMOkt6TlpK+kuKTnICNUMzUguee9yb3qCisrpKykw6TBpOWk8yAjVDM1IKSspMOkwaTlpPOh+QorK6SspMOkxCAjS0sgpaylw6XECisrpKykw6TEICNUMzUgpaylw6XECisrpKykyqG8ICNKTiClrKXKobwKKyukrKTKobykq6TDpLOkuKTEpOikpqSspL+kq6TDpLOkyKS4pOsgI0pOIKWspcqhvKHKvMLN0be/ocsKKyukrKTKobykv6SkpMakpCAjSk4gpaylyqG8wufE6worK6SspMqhvKS/pKSkxqSkICNKTiClrKXKobzC58TrIAorK6SspMqksiAjQ0ogpaylyqWyCisrpKykyqSyICNDSiCOto7ejsWOuY7eCisrpKykzqS/ICNUMzUgpaylzqW/CisrpKykz6SvICNUMzUgsujH7AorK6SspOGktaTQICNLSyC1tbuqCisrpKyk4aS1pNAgI1QzNSC1tbuqCisrpKyk6qSspOqkr6TzICNUMzUgpayl6qWspeq3rworK6SspOqk2aTzICNKTiClrKXqytkKKyukrKTqpNmk86TipOmk6aG8ICNKTiCkrKTqytml4qXppemhvAorK6SspPOkrKTrICNSNXIgpKyk86SspOsKKyukrKTzpKyk6yAjVDM1IKWspfOlrKXrCisrpKyk86TQpOuk4qTKobwgI0pOIKWspfOl0KXrpeKlyqG8CisrpKyk86TcICNSNSCkrKTzpNwKKyukrKTzpNwgI1I1ciCkrKTzpNwKKyukrKTzpOCkz6TzpMmk66TNpKik4KTipPOkwKSkICNUMzUgvcbMtEhOzOTC6gorK6StpKQgI0tLILiwCisrpK2kpKTGpKKk7aSopOqhvKTKICNDSiCkraSkpMaloqXtpail6qG8pcqi9gorK6StpKSkxqSipO2kqKTqobykyiAjVDM1IKStpKSkxqWipe2lqKXqobylyqL2CisrpK2kpKTLpLekrSAjVDM1IKWtobyly6W3pa0KKyukraSkpO0gI1QzNSCyq7+nCisrpK2kpqSkICNUMzUgpa2lpqWkCisrpK2kqKSkpNykuaTspLiksaTzICNUMzUgpa2lqKG8pdyluaXsu/a37worK6StpKsgI0pOILWisr0KKyukraSrpKSkq6SxpKSk26SmICNKTiC1obOjsr232crzCisrpK2krKG8ICNKTiClraWsobwKKyukraStobyk8yAjSk4gpa2lraG8pfMKKyukraSvICNUMzUgtcYKKyukraSxpKSkqqTLpK6k6iAjSk4gtPG3waSqpMukrqTqCisrpK2ksaSkpOKk6aTpobwgI0pOILTxt8Gl4qXppemhvAorK6StpLSkyqTTICNLSyClrqWzpcql0worK6StpLWk3qS0pMikraSspMikyqTfpPKkq6S/pOukyiAjSk4gta7NzcehpK2krKXIpcql36TyuOyk66TKCisrpK2ktaTepLik46TKobwgI0pOIKWtpbWl3qW4peOlyqG8CisrpK2kt6TjICNUMzUgta281AorK6StpLek5aSkpL2k86TipLggI1QzNSC1obzvsM3CuMq4u/oKKyukraS3pOWkpKS+pPOk4qS4ICNUMzUgtaG877DNwrjKuLv6CisrpK2kt6TlpKYgI1QzMCC08b2xCisrpK2kt6TlpKYgI1QzNSC08b2xCisrpK2kt6TlpMQgI1QzNSC0+73QCisrpK2kt6TnICNDSiClraW3pecKKyukraS3pOcgI0tZVCClraW3pecKKyukraS3pOekpCAjVDM1IKWtpbel56WkCisrpK2kt6TnpKqkvyAjVDM1IKWtpbel56Wqpb8KKyukraS3pOek8qS/ICNUMzUgpa2lt6XnpfKlvworK6StpL+hvCAjQ0ogpa2lv6isqKyorKisqKyorKisqKwooayiz6GsKaisqKyorKisqKyorKisqKyorKGqoaoKKyukraS/obwgI0NKIKWtpb+orKisqKyorKisqKyorKisKI7fos+O3ymorKisqKyorKisqKyorKisqKyhqqGqCisrpK2kv6G8ICNDSiCOt47AqKyorKisqKwooayiz6GsouEooayiz6GsouGhrKLPoawpouGhrKLPoawpqKyorKisqKwhISEKKyukraS/obwgI0NKII63jsCorKisqKyorKisqKyorKisKI7fos+O3ymorKisqKyorKisqKyorKisqKwhISEKKyukraS/obwgI0pOIKWtpb+hvCEhISEKKyukraS/obwgI0pOII63jsCorKisqKyorKisKI7fos+O3ymorKisqKyorKisISEhIQorK6StpL+koiAjQ0ogpa2lv6G8CisrpK2kv6SiICNDSiCOt47AjrAKKyukraS/pKSkoqSyICNUMzUgtPzC1GFnZQorK6StpL+kraTlpKYgI1QzNSDLzKPRCisrpK2kv6S1pNCkuKTApKQgI1QzNSDLzLuqu/7C5QorK6StpL+kwaTnpPMgI1QzNSDLzKXBpeel8worK6StpL+kzaG8pOggI0pOIKWtpb+lzaG8pegKKyukraS/pM2hvKTzpMCk6CAjSk4gpa2lv6XNobyl86XApegKKyukraS/pM2kw6TIICNLSyDLzKXNpcOlyAorK6StpL+k4qTqICNLSyDLzL+5CisrpK2kv6TipOogI1QzNSDLzL+5CisrpK2kwCAjS0sgzNrFxAorK6StpMAgI1QzNSDM2sXECisrpK2kwSAjVDM1IKWtpcEKKyukraTBICNUMzUgtPDDzworK6StpMGhvKTqICNKTiClraXBobyl6gorK6StpMGhvKTqICNKTiCl4KWrobylx6HapOCkq6G8pMeh28rMzL6lraXBobyl6gorK6StpMGkrKSkICNUMzUgpa2lwaWspaQKKyukraTBpKykpCAjVDM1ILTww8+zsAorK6StpMGkrKSkICNUMzUgtPDDz7OyCisrpK2kwaSspKSksaSkpNukpiAjSk4gtPDDz7Owt9nK8worK6StpMGkrKSkpLGkpKTbpKYgI1QzNSClraXBpaylpLfZyvMKKyukraTDpLOhvKTepL0gI0pOIKWtpcOls6G8pd6lvQorK6StpMOkwaTzICNUMzUgpa2lw6XBpfMKKyukraTGpKMgI1QzNSClraXGpaMKKyukraTGpKOkraTlpKYgI1QzNSClraXGpaO13gorK6StpMakyqSkICNKTiCOt47DjsWOsgorK6StpMakyqSkICNKTiCOt47DjsWOsqisqKyorKisqKyorKHKjt9fjt+hy6isqKyorKisqKyorCEhISEhCisrpK2kyKG8ICNKTiClraXIobwKKyukraTLpKSk6aTNobyk6CAjSk4gpa2ly6WkpemlzaG8pegKKyukraTLpLekyqSkICNKTiChyo7fpsWO36HLjreOxo68jsWOsiEhCisrpK2ky6S3pMqkpCAjSk4gpa2ly6W3pcqlpCEhCisrpK2ky6S3pMqkpCAjSk4gjreOxo68jsWOsiEhCisrpK2kzKSmpOmk6qTzpKukpKTGpMSkyaSmICNKTiCw4bG6ztezpMW0xrsKKyukraTNpPOkq6StpLMgI1QzMCC1rcewpaulraWzCisrpK2kzaTzpKukraSzICNUMzUgta3HsKWrpa2lsworK6StpM2k86TRpNSksyAjVDM1ILWtx7Cl0aXUpbMKKyukraTNpPOk3qStpLMgI1QzNSC1rcew4sO1qrvSCisrpK2kzqSzICNUMzUgpa2lzqWzCisrpK2kzqSzICNUMzUgwvsKKyukraTOpLuhvKTLpOMgI0pOIKGhoaEoobyn17DsKQorK6StpM6ku6G8pMuk4yAjSk4gpa2lzqW7obyly6XjCisrpK2kz6TSpOOkr6TLpLik5aSmICNKTiClraXPo7GjsqOwCisrpK2k0KTzICNUMzUgzNrI1gorK6StpNyhvKTzICNDSiCkraTcobyk8worK6StpNyhvKTzICNUMzUgpK2k3KG8pPMKKyukraTcpPMgI0NKIKStpNyk8worK6StpNyk8yAjQ0ogpa2l3KXzCisrpK2k3KTzpMwgI0NKIKStpNyk86TMCisrpK2k3KTzpMwgI0NKIKWtpdyl86XMCisrpK2k36TPpO+kwKS1pPOktKTOpN8gI0NKILevpM+l76XApbWl87mlpN8KKyukraTgICNLSyCkraTgCisrpK2k4CAjS1kgpK2k4AorK6StpOCksyAjVDM1IKWtpeClsworK6StpOCktaTvICNLSyClraXgwvQKKyukraTgpLWk7yAjVDM1IKWtpeDC9AorK6StpOCktaTvICNUMzUgyqfC9AorK6StpOCkwSAjSk4gpa2l4KXBCisrpK2k4KTBICNUMzUgpa2l4KXBCisrpK2k4KTBpOKk8yAjSk4gpa2l4KXBpeKl8worK6StpOCk6KTzpLik8yAjSk4gtuKxy++vCisrpK2k4KTopPOkuKTzICNUMzUgtuKxy++vCisrpK2k4iAjS1lUIKWtpeIKKyukraTipKQgI1QzNSClraXipaQKKyukraTipMGkpKSkpLOkyKS3pOikpiAjQ0ogtaS7/aTBpKSkpKSzpMikt6TopKYKKyukraTjpMOkyKStpOmhvCAjSk4gpa2l46XDpcilraXpobwKKyukraTjpMOkyKStpOmhvCAjVDM1IKWtpeOlw6XIpa2l6aG8CisrpK2k46TDpMikraTppKIgI1QzNSClraXjpcOlyKWtpemhvAorK6StpOOkw6TPpLqkq6S3ICNKTiClraXjpcOhoqXPpbqlq6W3CisrpK2k46TDpM+kuqSrpLcgI0pOII63jqyOr6GijsqOvY7ejraOvKHKLY7JjsmhyworK6StpOOkw6TXICNUMzUgpa2l46XDpdcKKyukraTjpMOk16TipOwgI1QzNSClraXjpcOl18+zpOwKKyukraTjpM8gI1QzNSCh+QorK6StpOOk1KSkICNDSiClraXjpdShvAorK6StpOOk16TGpL0gI0pOIKWtpeOl16XGpb0KKyukraTjpNekxqS9ICNUMzUgpa2l46XXpcalvQorK6StpOOk16TGpL0gI1QzNSCOt46sjsyO347Djr8KKyukraTjpOmkz6TzICNUMzUgpa2l46Xppc+l8worK6StpOWkpiAjVDM1IFEKKyukraTlpKaktaSkpKukpCAjVDM1ILXfutGy8QorK6StpOWkpqS3ICNKTiC167vFCisrpK2k5aSmpLek5aSmICNUMzUgtdu8/QorK6StpOWkpqS3pOWkpiAjVDM1ILXevbEKKyukraTlpKakuaTsICNUMzUgteyluaXsCisrpK2k5aSmpMCkpCAjVDM1IFHC5worK6StpOWkpqTBpOOk86TNpOsgI1QzNSC25aXBpeOl86XNpesKKyukraTlpKakxqSjpKQgI1QzNSBRVAorK6StpOWkpqTGpKQgI0tLILXsxOsKKyukraTlpKakxqSkICNUMzUgtdzE7gorK6StpOWkpqTGpKQgI1QzNSC17MTrCisrpK2k5aSmpMak86SkpMGktKS4pLGk8yAjVDM1IDmhpjE1u/a37worK6StpOWkpqTGpPOkraTlpKak1KTzpK+krKTYpPMgI1QzNSA5oaY5cGlua6SsytEKKyukraTlpKaky6StpM6kraTnpKakpKSvpOmk86S+pKYgI1QzNSC17MbztPykzra1sOmhps30wqS4+M6poaa58bj4zqnM67TWyfQKKyukraTlpKak3qTDpK+kpKS/ICNDTiC17KPNo+Gj48jECisrpK2k5aSmpN6kw6SvpKSkvyAjVDM1ILXso82j4aPjyMQKKyukraTlpKak7aSvICNLSyC17M+7CisrpK2k5aSmpO2kryAjVDM1ILXsz7sKKyukraTmICNKTiClraXmCisrpK2k5iAjVDM1IKWtpeYKKyukraTmpOGkpKSypPMgI0pOIKWtpebMwrjACisrpK2k56SmICNUMzUgtqcKKyukraTnpKakrqTlpKak06TnpKakt6TzpLik4yAjVDM1ILa4te3Jwr+uvNQKKyukraTnpKaktaTzICNUMzUgtq+7wAorK6StpOekpqS1pPOkt6TlpK4gI1QzNSC2uLu0vOe1wQorK6StpOekpqS1pPOkt6TlpK4gI1QzNSC2uLu6vOe1wQorK6StpOekpqS7pKSkoqSkpMeko6SkICNUMzUgtq/AqUlECisrpK2k56SmpLukpKS3pOWkpqTqpOekpiAjSk4gtq/Aqb2qzrsKKyukraTnpKakwKSkpM6k26S0pLek4yAjSk4gocqhpqG8oaahy47doaMKKyukraTnpKakwKSkpM6k26S0pLek4yAjSk4gt7vE76TOyt247rzUCisrpK2k56SmpMCkpKTipMqhvCAjSk4gt7vE76XipcqhvAorK6StpOekpqTApKSk4qTKobykzqTPpM8gI0pOILe7xO+l4qXKobykzsrsCisrpK2k56SmpMikpqS7pPOku6SkICNKTiC2tcaswOjAuAorK6StpOekpqTIpLGk8yAjQ04gtf7F1LipCisrpK2k56SmpMiksaTzICNDTlMgtf7F1LipCisrpK2k56SmpMiksaTzICNUMzUgtf7F1LipCisrpK2k56SmpMikt6SqpKqkxKSvICNDTiC1/sXUu9TC58TFtugKKyukraTnpKakyKS3pKqkqqTEpK8gI0NOUyC1/sXUu9TC58TFtugKKyukraTnpKakyKS3pKqkqqTEpK8gI1QzNSC1/sXUu9TC58TFtugKKyukraTnpKakyKTspPOkuKTjobwgI0pOILX+xdSl7KXzpbil46G8CisrpK2k56SmpM+k8yAjVDM1ILampc+l8worK6StpOekpqTmpKakraTjpMOk1yAjVDM1ILamza2lraXjpcOl1worK6StpOekpqTmpKaks6TGpM+k8yAjVDM1ILamza2ls6XGpc+l8worK6StpOekpqTmpKakyKTqpMOk1yAjVDM1ILamza2lyKXqpcOl1worK6StpOekuKTzICNUMzUgtfW/0AorK6StpOekwKSkpLGkpKS4pNCk8yAjVDM1ILXwwue3x7yoyMQKKyukraTnpMCkpKSxpKSkuKTQpPOksKTzICNUMzUgtfDC57fHvKjIxLeyCisrpK2k56TfpN+k4qTKobwgI0pOILXwvKql4qXKobwKKyukraTppOogI0pOIKHKobGhvCuhsaHLjreO147YCisrpK2k6aTqICNKTiClraXppeoKKyukraTppOogI0pOII63jteO2AorK6StpOqks6TfpL+kpKTBpOekpiAjSk4gwNq5/sLixLkKKyukraTqpLOk36S/pKSkwaTnpKakyKTSpO2k5qStICNKTiDA2rn+wuLEuaTIpNKk7aTmpK0KKyukraTqpNCk8yAjVDM1IKWtpeql0KXzCisrpK2k6qTQpPMgI1QzNSClraXqyNYKKyukraTqpNCk86SypMOkv6G8ICNUMzUgpa2l6sjWpbKlw6W/obwKKyukraTqpNCk86SypMOkv6SiICNUMzUgpa2l6sjWpbKlw6W/obwKKyukraTzICNUMzUgtuIKKyukraTzpK2kuKTJpKYgI0pOILbhtaa7+ca4CisrpK2k86StpLikyaSmICNUMzUgtuG1prv5xrgKKyukraTzpLCk4qTKpOqkvqTzICNKTiClraXzpbCl4qXKpeqlvqXzCisrpK2k86SwpOykqqTipOqk6KS3pO2kpiAjSk4gpa2l86Wwpeylqr+5wbHPrworK6StpPOkwKSkICNUMzUgtuHC5QorK6StpPOk3qTzpLMgI0pOIKWtpfOl3qXzpbMKKyukraTzpN6k86SzICNUMzUgpa2l86XepfOlsworK6StpPOk3qTzpLOkraTnpKYgI0tLIKWtpfOl3qXzpbO2tQorK6StpPOk3qTzpLOkraTnpKYgI1QzNSClraXzpd6l86WztrUKKyukrqSsICNKTiClrqWsCisrpK6krKThpLkgI0pOIKWupayl4aW5CisrpK6ksyAjQ0ogpa6lsworK6SupLMgI0pOIKWupbMKKyukrqSzobyksCAjSk4gpa6ls6G8pbAKKyukrqSzpKKkpKS5ICNKTiClrqWzpaKlpKW5CisrpK6ks6SkpMwgI0pOIKWupbO4pAorK6SupLOkpqS1ICNKTiClrqWzpaaltQorK6SupLOkqKTipPMgI0pOIKWupbOkqKTipPMKKyukrqSzpKik6yAjSk4gpa6ls6WopesKKyukrqSzpKuk76TApPOktyAjSk4gpa6ls8Duw8y71gorK6SupLOkrKSopOsgI0pOIKWupbOlrKWopesKKyukrqSzpK2k56SmpLik5SAjSk4gpa6ls7a1vPgKKyukrqSzpK6ksyAjQ0ogpa6ls6WupbMKKyukrqSzpK6ks6S5pLEgI0pOILW8uMWlrqWzvfUKKyukrqSzpK6ks6S/ICNKTiC1vLjFpa6ls8LACisrpK6ks6SvpLUgI0pOIKWupbPB8AorK6SupLOksaTzpK2k5aSmpKSk8yAjSk4gpa6ls7imteaw9worK6SupLOksyAjSk4goaGhoaKspeKlyrvSodqk4qTKpLOh26GhoaGhoaGhoaGhoaGhoaGhoaKspa6ls7vSCisrpK6ks6SzICNKTiClrqWzu9IKKyukrqSzpLikyaSmpLek46SspMOks6SmICNKTiClrqWzvKvGsLzWs9i5uworK6SupLOkuaS/obyksKTzICNKTiClrqWzpbmlv6G8t7MKKyukrqSzpLmkv6G8pLCk8yAjSk4gjreO3o66jr2OwI6wt7MKKyukrqSzpLmkv6G8pLCk8yAjSk4gjtOOxY6wjtGOsI7dt7MKKyukrqSzpLuk86TIpKakpKTzICNKTiClrqWzwO/GrrD3CisrpK6ks6S/pK8gI0pOIKWupbOlv6WvCisrpK6ks6S/pN6ksyAjSk4gtby4xbbMu9IKKyukrqSzpMGk46TzpOKkyqTBpOOk8yAjSk4gpa6ls6TBpOOk86XipcqkwaTjpPMKKyukrqSzpMGk5aSmICNKTiClrqWzpcGl5aWmCisrpK6ks6TBpOWkpiAjSk4gpa6ls7/fCisrpK6ks6TEpOqhvCAjSk4gpa6ls6XEpeqhvAorK6SupLOkxqTzpKqkqqSupOogI0pOIKWupbPFwKGhwue07s34oaEKKyukrqSzpMqk0yAjS0sgpa6ls6XKpdMKKyukrqSzpMqk0yAjVDM1IKWupbOlyqXTCisrpK6ks6TNpLMgI0pOIKWupbOlzaWzCisrpK6ks6TNpLMgI0pOIKWupbPHrQorK6SupLOkzaSzICNKTiClrqWzx62hoQorK6SupLOkzaSzICNUMzUgpa6ls8etCisrpK6ks6TNpLOk6qTnpMCk86SipMOkyKTApPOkwaTnobwgI0pOIKWupbPHrc65w8Sh98PExLkKKyukrqSzpM6ku6TzpL4gI0pOIKWupbOkzsDowcQKKyukrqSzpM+kwSAjSk4gpa6ls8itCisrpK6ks6TPpMuk46G8pPMgI0NKIKWupbOlz6XLpeOhvKXzCisrpK6ks6TPpMuk46G8pPMgI0pOIKWupbOlz6XLpeOhvKXzCisrpK6ks6TPpM+kzyAjQ0ogpa6ls6XPpc+lzworK6SupLOk0aTtICNKTiClrqWzpdGl7QorK6SupLOk0aTtICNLSyClrqWzpdGl7QorK6SupLOk0aTtICNUMzUgpa6ls6XRpe0KKyukrqSzpNWkpqTVICNKTiC1vLjFydfJ2AorK6SupLOk1aS1pOqkqqTrpLek56SmpLCk8yAjSk4gpa6ls6GmpdWltaXqpaql676tt7MKKyukrqSzpNmhvKTAobwgI0pOIKWupbOl2aG8pcChvAorK6SupLOk2iAjS0sgpa6ls6XaCisrpK6ks6TaICNUMzUgpa6ls6XaCisrpK6ks6TepOuktaTzpKKkpKSopLkgI0pOIEc1MDNpcworK6SupLOk3yAjSk4gpa6ls6XfCisrpK6ktKTBpOOk86TipMqkwaTjpPMgI0pOIKWupbOkwaTjpPOl4qXKpMGk46TzCisrpK6kuKTzpKuko6TnpKUgI0pOILW8v82yvaSjpOekpQorK6SupLik86SrpLiktaSvpLikqKTzICNKTiC1vL/Nsr2luKW1pa+luKWopfMKKyukrqS4pPOkq6TipOmk6aG8ICNKTiC1vL/Nsr2l4qXppemhvAorK6SupMOks6S3pKek66TVICNLSyClrqXDpbOlt6Wnpeul1QorK6SupMOks6TqICNDSiClrqXDpbOl6gorK6SupM6ksyAjSk4gpa6lzqWzCisrpK6kzqSzICNKTiClrqXOpbMgCisrpK6k46SvpK6k7KTfpLqkq6SxpOKkyqG8ICNKTiC11aWupey/5bPdpLGl4qXKobwKKyukrqTjpK+krqTspN+kuqSrpLGk4qTKobyk0aG8pNWkp6SvpMik0KTzICNKTiC11aWupey/5bPdpLGl4qXKobyl0aG8pdWlp6WvpcjIxworK6SupOOkr6S1pMSkwaTlpKYgI1QzNSC11Lumv98KKyukrqTjpK+ktaTEpMGk8yAjVDM1ILXUu6bEwQorK6SupOOkr6S/pKSkrqTjpK+ktaTEpKKkuaStpKSkoqSipMggI1QzNSC11MLUoaa11LumQUEKKyukrqTjpK+kv6SkpLek56SvpMuk8yAjVDM1ILXUwtS/pr/NCisrpK6k46SvpL+kpKS5pOwgI1QzNSC11MLUpbml7AorK6SupOOkr6TPpMSkyaSmICNUMzAgtdXIr8awCisrpK6k46TzICNKTiClrqXjpfMKKyukrqTnpK+k5KTtpKYgI1QzNSClrqXnpa/M7s+6CisrpK6k66ShpOKkyiAjSk4gpa6l66WhpeKlygorK6SupOuky6TjobykziAjSk4gpa6l66XLpeOhwaXOCisrpK6k7aTzpKuk86S9pKakuaTspMOkySAjVDM1ILXEz8ChprS2wduluaXspcOlyQorK6SupO2k86S5pK2hvCAjVDM1IKWupe2l86W5pa2hvAorK6SupO2k86S5pK2kpCAjVDM1IKWupe2l86W5pa2hvAorK6SupPOkqKTzpN6k86S7pKggI1QzNSC25LH2y/y60AorK6SvpKSkuqTfpOqk4qTNpKIgI0pOIKHwofCh8KHwpa+lpKW6oaal36XqpeKlzaWiofCh8KHwofAKKyukr6SmpK0gI1QzNSC29bWkCisrpK+kpqStpLOkxqSkICNUMzUgtvW1pLjHxOoKKyukr6SmpK2k6KThpMakzaG8pOggI0pOIKWvpaalraXopeGlxqXNobyl6AorK6SvpKakuKTnpKak4qTKpL+k7aSmICNKTiC29b7ypeKlysLAz7oKKyukr6SmpLik56SmpOKkyqTqobyk8yAjSk4gtvW+8qXipcql6qG8pfMKKyukr6SmpMakpKTipMqhvCAjSk4gtvXE8qXipcqhvAorK6SvpKqkqSAjQ0ogpK+kqqSpCisrpK+ktSAjVDM1IKWvpbUKKyukr6S1ICNUMzUgwfAKKyukr6S1obwgI0pOIKHKjt+n147focuOuI67jrAKKyukr6S1obwgI0pOIKWvpbWhvAorK6SvpLWhvCAjSk4gjriOu46wCisrpK+ktaSkpL+k3iAjVDM1IKWvpbWlpKW/pd4KKyukr6S1pMGk5aG8pLQgI0tLIKWvpbWlwaXloby47AorK6SvpLWkwaTlobyktCAjVDM1IKWvpbWlwaXloby47AorK6SvpLWkwaTlpKaktCAjVDM1IKWvpbWlwaXloby47AorK6SvpLcgI1QzNSC2+gorK6SvpLektqS3pKqkzaSopLWk8yAjSk4gtvq7yaS3pKq70KS1pPMKKyukr6S7pKSkuKSkpKSkwaS+pK8gI1QzNSClr6W7paSluKG8sOzCsgorK6SvpL2ksqG8pOKkyqG8ICNKTiClr6W9pbKhvKXipcqhvAorK6SvpL2ks6TGICNUMzUgyrWls6XGCisrpK+kvaS1pPOk06TjpK+kyKTzICNKTiBLdVNvMzAwdCAKKyukr6S9pLmk7CAjVDM1IKWvpb2luaXsCisrpK+kvaS5pOwgI1QzNSDKtaW5pewKKyukr6S9pLmk7KSqpMiksyAjSk4gpa+lvaW5pezDyworK6SvpL2kuaTspKukpKS3pOWkpqSupOekpqS3pOMgI0pOIMq1pbml7LLzvP22yLzUCisrpK+kvaS5pOyksaTzpLukxKSkpKSk86SrpKQgI1QzNSDKtaW5pey3+sDfsNGw97LxCisrpK+kvaS5pOykt6S5pKak26SmpLOkr6SkpKSk86SrpKQgI0pOIMq1pbml7LvYv/TK87nwsNGw97LxCisrpK+kvaS5pOykt6TzICNKTiClr6W9pbml7L/ACisrpK+kvaS5pOykzyAjSk4gyrWluaXspM/OqaTGpPOkyqTDpMa4wKTDpL+k7aSmpKyl9KWppbGkrKG8obyhqgorK6SvpL2kuaTspOKkyqG8ICNKTiClr6W9pbml7KXipcqhvAorK6SvpL2kuaTspO+kw6S3pOekpCAjSk4gpa+lvaW5peyl76XDpbel56WkCisrpK+kvaTBpOWkpqTcpKakx6TzpNGkwKSzpOqk4yAjSk4gyrW/38u8xcXHyKTApLOk6qTjoaoKKyukr6S9pMekq6SkpKKkuaStobykoqG8pMggI0pOIMq1pMekq6Sko8GjwQorK6SvpL2k0KSzICNUMzUgyrXIogorK6SvpL2k3KTDpK+kuSAjVDM1IMq1pdylw6WvpbkKKyukr6S9pOqk16TIICNUMzUgpa+lvaXqpdelyAorK6SvpL2k7KS5ICNUMzAgyrWl7KW5CisrpK+kvaTspLkgI1QzNSDKtaXspbkKKyukr6TApLekxCAjVDM1IKSvpMC8wQorK6SvpMCk6aTKpKSkt6TEpOKk8yAjVDM1IKSvpMCk6aTKpKS8wczkCisrpK+kwKTppMqkpKS3pMSk4qTzpLmk7CAjVDM1IKSvpMCk6aTKpKS8wczkpbml7AorK6SvpMCk6aTNobyk6CAjSk4gpa+lwKXppc2hvKXoCisrpK+kwaSvpMEgI1QzNSC4/bj9CisrpK+kwaTTpOuksiAjVDM1IKWvpcGl06XrpbIKKyukr6TDpK2hvCAjVDM1IKWvpcOlraG8CisrpK+kw6StpKQgI1QzNSClr6XDpa2hvAorK6SvpMOkr6TrpMmkpaTJpKWkyaSlICNKTiCOuI6vjriO2Y7Ejt6OqY7Ejt6OqY7Ejt6OqQorK6SvpMmkpqTipMogI0pOILmpxqOl4qXKCisrpK+ky6SqICNKTk0gpa+ly6XyCisrpK+ky6SqICNUMzUgpa+ly6XyCisrpK+ky6SqpK+k86SvpO2kuaSrpPOkyKTqobyk2KTzICNKTiCkr6TLpKqkr6Tzpa+l7aW5paul86XIpeqhvMrUoaEKKyukr6TLpLWk76TNpMOkyKTLpKSksSAjQ0oga3VuaXNhd2EubmV0pMvAwqSxCisrpK+k06TEpOqkrqSzICNKTiC888TfpOqlrqWzCisrpK+k3qS1pPOks6SqpLkgI1QzNSCkr6TepLWk86WzobyluQorK6SvpOGhvKTrICNUMzUgt6mhvKXrCisrpK+k4aSopOsgI1QzNSC3qaG8pesKKyukr6ThpOKkyqG8ICNKTiC3qaXipcqhvAorK6SvpOkgI1QzNSDB0gorK6SvpOkgI1QzNSDCogorK6SvpOmkpKS/ICNUMzUgpa+l6cjECisrpK+k6aSopM+kpKTWpOqkuSAjSk4gpK+k6aSopc+lpKXWpeqluQorK6SvpOmkryAjVDMwIKWvpemlrworK6SvpOmksiAjVDM1IKWvpemlsgorK6SvpOmksiAjVDM1ILOkt+4KKyukr6TppMOkq6G8ICNUMzUgpa+l6aXDpauhvAorK6SvpOmkw6SrpKIgI1QzNSClr6XppcOlq6G8CisrpK+k6aTDpK8gI1QzMCClr6XppcOlrworK6SvpOmk6aSspL+kw6S/ICNKTiClr6XppemkrM6ppMOkvworK6SvpOmk8qS/ICNUMzUgpa+l6aXypb8KKyukr6Tqobyk86TSpMOkyCAjVDMwIKWvpeqhvKXzpdKlw6XICisrpK+k6qSzICNKTiCkr6Tqu9IKKyukr6TqpMGk5aSmICNUMzUgt6q/3worK6SvpOykoqTppLek6yAjS0sgpa+l7KWipemlt6XrCisrpK+k7KSkpLikpKS0pKakuaTIICNUMzUgpa+l7KWkpbihvKW0obyluaXICisrpK+k7KSvpOykr6TzICNUMzUgpK+k7KSvpOy3rworK6SvpOykr6TspMGk5aSmpNykpqTcpK+k4aTEpLmkpKS3pPOkpKSkpPOkq6SkICNKTiCkr6TspK+k7L/fy7zL0MzHv+S/yrDRsPey8QorK6SvpO2kt6TnpKakvqSvICNUMzUgufXB9cKrCisrpK+k7aS3pOekpqS+pK+kqqTVICNUMzUgufXB9cKrT0ZGCisrpK+k7aTepOmk6aG8ICNKTiC59aXepeml6aG8CisrpK+k7aTfpN+k4qTKobwgI0pOILn1vKql4qXKobwKKyukr6TtpOCkxCAjVDM1ILn1peClxAorK6SvpO+k6SAjQ0ogpa+l76XpCisrpK+k76TpICNDSiCOuI7cjtcKKyuksCAjVDM1ILbxCisrpLCkoqTvpLsgI1QzNSC28bnnpO+kuworK6SwpMOkuKTnpNYgI0NKIKWwpcOluKXnpdYKKyuksKTDpLik56TWICNDSiCOuI7ejq+OvI7ejq6OzI7eCisrpLCkw6TJpNWko6SkpOqk86SwICNDSiClsKXDpcml1aWjobyl6qXzpbAKKyuksKTipMOkwaTlpKSkpKTzICNUMzUgpbCl4qXDpcGl5aWkobyl8worK6SwpOqhvKTzICNUMzUgpbCl6qG8pb0KKyuksKTqobyk8yAjVDM1IKWwpeqhvKXzCisrpLCk6qSkpPOkzaSopLWk8yAjVDM1IKWwpeqhvKXzsLmktaTzCisrpLCk6qSkpPOkzaSopLWk8yAjVDM1IKWwpeqhvKXzu9CktaTzCisrpLCk7KG8pMikrKTzpNCk66TipMqhvCAjSk4gpbCl7KG8pcilrKXzpdCl66XipcqhvAorK6SwpOykwaTjpPMgI0pOIKWwpeykwaTjpPMgCisrpLCk7SAjVDM1IKWwpe0KKyuksKTzpMikpqSupLMgI0pOILezxeGlrqWzCisrpLCk86TepLGk8yAjQ04gt7LHz7ipCisrpLGhvCAjVDM1IKPLCisrpLGhvKStpOSk3aTzpMkgI0pOIKWxobylrbKwofIKKyuksaSkpKqkpiAjVDM1IEtPCisrpLGkpKStpOWkpiAjVDM1IEtRCisrpLGkpKSzpK+k1qTzICNUMzUgt9m58Mq4CisrpLGkpKS3pMGk56SmICNKTiC32bvrxKMKKyuksaSkpLik0KTzICNUMzUgt8e8qMjECisrpLGkpKS4pNCk86SkpMGk6aTzICNUMzUgt8e8qMjEsOzN9worK6SxpKSkuKTQpPOkyKTDpNek2CAjQ0ogt8e8qMjEpcilw6XXpNgKKyuksaSkpL+kpKTHpPOk76TipMqhvCAjSk4gt8jC08XFz8Ol4qXKobwKKyuksaSspMsgI0pOIMzTpKykyworK6SxpLOhvKTzICNUMzAgpbGls6G8pfMKKyuksaSzobyk8yAjVDMwII65jrqOsI7dCisrpLGkw6SzpPMgI1QzMCC367qnCisrpLGkw6TapK0gI1QzNSC36crKCisrpLGkw6TapK2kr6TzICNUMzUgt+nKyrevCisrpLGkxKSspPMgI1QzNSDKx7TkCisrpLGkxKSyICNUMzUgpLGkxMzTCisrpLGkxqTrICNDSiCksaTGpOsKKyuksaTtpNShvCAjSk4gpbGl7aTUobwKKyuksaTtpOqk86SypOuk06TIpKYgI1QzNSClsaXtpeql86WypevI+MajCisrpLGk8yAjSk5NIKSxpPMKKyuksaTzpKukz6TkpOGkxiAjSk4gpLGk86SrpM+k5KThpMahyqH8oa2hvKGuofyhyworK6SxpPOkq6TzpMGk5aSmICNUMzUgt/m02r/fCisrpLGk86SxpPOkq6TzpMGk5aSmICNUMzUgt/m3+bTav98KKyuksqG8pM+hvKSkpL8gI0NOIKWyobylz6G8yMQKKyuksqStpKak6aS4pOekpqTbpKYgI1QzNSC3486ivvDK8worK6SypK2kuKTnpKYgI1QzNSC34L7sCisrpLKkuaTIpLKkuaTIICNDSiBndWVzdGd1ZXN0CisrpLKkvaSqpL0gI1QzNSClsqW9paqlvQorK6SypL2kqqS9ICNUMzUgjrmO3o6/jrWOvworK6SypMOks6SmICNUMzUgt+649worK6SypMOkv6G8pOKkyqTepN4gI0pOIKWypcOlv6G8peKlyqXepd4KKyuksqTDpMQgI1QzNSClsqXDpcQKKyuksqTDpNehvCAjSk4gpbKlw6XXobwKKyuksqTJpKaku6TzpLukpCAjSk4gs7DGu8DowLgKKyuksqTpICNKTiClsqXpCisrpLKk6SAjSk4gpbKl6aXpobwKKyuksqTppOmhvCAjSk4gpbKl6QorK6SypOmk6aG8ICNKTiClsqXppemhvAorK6SypO2kpKS/ICNDTiClsqXtyMQKKyuksqTtpKSkvyAjVDM1IKWype3IxAorK6SypO2k4qTKobwgI0pOIKWype2l4qXKobwKKyuksqTzpKqk8yAjVDM1IKWypb2lqqW9CisrpLKk86SqpPMgI1QzNSCOuY7ejr+OtY6/CisrpLKk86S3pKqkpiAjSk4guLa70rKmCisrpLKk86S3pNCkr6TApPMgI0pOILi2u9LH+sPGCisrpLKk86S4pPMgI1QzNSC4tr/NCisrpLOhvKTbobwgI1QzNSCls6G8pduhvAorK6Szobyk26G8ICNUMzUguarK8gorK6Szobyk26G8ICNUMzUgueLK8gorK6SzpKKk6iAjVDM1ILvStcIKKyuks6SkpMGkuKSrpPOkyKSkpMSk4aS/pKQgI0NKIL6usOy7/rTWzOSkpKTEpOGkv6SkCisrpLOkpqGrpKEgI1QzNSCls6X0paEKKyuks6SmoaukoaSkpL8gI0NOIKWzpfSlocjECisrpLOkpqGrpKGkpKS/ICNUMzUgpbOl9KWhyMQKKyuks6SmpKikpKTYpKQgI0pOILnIsdLKvAorK6SzpKakq6SkpLek56SxpKQgI1QzNSC4+LOrvei3ugorK6SzpKakq6TzpMGk5aSmICNUMzUguaW02r/fCisrpLOkpqSwpLcgI1QzNSC5qbbxu9UKKyuks6SmpLCktyAjVDM1ILnhtvG71QorK6SzpKaks6SvpMGk5aSmpNykpiAjVDM1ILmtufC/38u8CisrpLOkpqSzpK+k6KSxICNUMzUgua258L38pLEKKyuks6SmpLWkr6SkpPMgI1QzNSC5qbrusPcKKyuks6SmpLekraS7pMOkxqSkICNUMzUguPi8sMDfxOoKKyuks6SmpL+kpKS3pLWk3iAjSk4gucTCwLvSzc0KKyuks6SmpMCk86SupLMgI0pOILnWw8y1vLjFCisrpLOkpqTBpOekpqS3ICNUMzUgpLOkpqTBpOekpqS3CisrpLOkpqTEpKakpKTPpPOkzqTipN+ksaS3pKukvyAjS0sguPLEzLDjyL+kztnmpN++w6S3yv0KKyuks6SmpMqkw6TGpOukz6S6pKyks6SmpMqkw6TGpOuk86THpLkgI0NKIKSzpKakyqTDpMak66TPpLqkrKGipLOkpqTKpMOkxqTrpPOkx6S5oaMKKyuks6SmpM6k6KSmpNikpCAjSk4gub6kzs3DyrwKKyuks6SmpM6k6KSmpNikpCAjVDM1ILm+pM7Nw8q8CisrpLOkpqTQpLcgI0tZILnhpNCktworK6SzpKak0KS3ICNLWW1pILnhpNCktworK6SzpKak2SAjS0sgvPMKKyuks6SmpNkgI1QzNSC88worK6SzpKak26SmICNUMzUgpbOhvKXbobwKKyuks6SmpNukpiAjVDM1ILmqyvIKKyuks6SmpNukpiAjVDM1ILniyvIKKyuks6SmpNykpiAjVDM1ILmpy7wKKyuks6SmpOKk6qTipMqhvCAjSk4gpbOlpqXipeql4qXKobwKKyuks6SmpOKk86SkpMOkxqTopLcgI0NKIObqzOfAwqTDpMak6KS3CisrpLOkpqTqpMSkwaTlpKYgI1QzNSC4+M6pw+4KKyuks6SmpOqk8yAjVDMwILj3ztcKKyuks6SmpOqk8yAjVDMwILnfztcKKyuks6SvpOqkxKSopK2k2aTzpKuk1iAjVDM1ILnxzqmx2Mrbocqz9KHLCisrpLOkr6TqpMSkz6SmpMSkr6S3pKSkt6TqpMSkz6TfpMukr6SkICNDSiC58c6ppM/I/qS3pKShor+sxMWkz725pKQKKyuks6SvpOyk86TKpMqkt6S1pPMgI1QzNSC58c+ipMrArqS3pLWk8worK6SzpLOkx6SipLIgI0NKIKSzpLOkx6SipLIKKyuks6SzpM+ktKS4pOOhvKS5pMqkuaTspMOkyaTApOggI0pOICihpqLPoaYpjrqOuo7KjrqO3o68jt6OrI6wjr2OxY69jtqOr47Ejt6OwI7ejtYKKyuks6SzpM+ktKS4pOOhvKS5pMqkuaTspMOkyaTApOggI0pOIKWzpbOlz6W0pbil46G8pbmlyqW5peylw6XJpcCl6AorK6SzpLOkz6S0pLik46G8pLmkyqS5pOykw6TJpMCk6CAjSk4gjrqOuo7KjrqO3o68jt6OrI6wjr2OxY69jtqOr47Ejt6OwI7ejtYKKyuks6SzpM+kyaSzpLik4yAjSk4gpLOks6TPpMmks6S4pOMKKyuks6SzpM+kyaSzpLik4yAjSk4gpbOls6XPpcmls6W4peMKKyuks6SzpM+kyaSzpLik4yAjSk4gjrqOuo7KjsSO3o66jryO3o6sCisrpLOks6TPpNKkyaSkpKSk86S/pKKkzaTDpMikx6S5pM0gI0NKIKSzpLOkz6TSpMmkpKWkpfOlv6G8pc2lw6XIpMekuaTNCisrpLOks6TPpO+ku6TApLik46TKpKSk6CAjQ0ogpLOks6TPweGw8MXEpLik46TKpKSk6AorK6SzpLOkz6TvpOukpKSkpPOkv6SipM2kw6TIpMekuaTNICNDSiCks6SzpM+wraSkpaSl86W/obylzaXDpcikx6S5pM0KKyuks6SzpN6kx6TopPOkwCAjQ0ogLS0tLS0tLS2ks6SzpN6kx8bJpPOkwC0tLS0tLS0KKyuks6S3pKogI1QzNSC+rrH2CisrpLOkt6TMpLEgI0tLILn4yLSksQorK6SzpLekzKSxICNUMzUgufjItKSxCisrpLOkuKStpOKkyqG8ICNKTiC48L+ppeKlyqG8CisrpLOkuaTXpOykxqTzICNUMzUgpbOluaXXpezFuQorK6SzpL6kpiAjSk4gvq7BzgorK6SzpL6kpiAjVDM1IL6uwc4KKyuks6TDpK+k4qTppOmhvCAjSk4gpbOlw6WvpeKl6aXpobwKKyuks6TDpL2k6qS1pPMgI0pOIKSzpMOkvaTqpLWk8worK6SzpMYgI1QzNSCls6XGCisrpLOkxqSkICNUMzUguMfE6gorK6SzpMakpKS/pL+krSAjVDMwILjHxOrDoaStCisrpLOkxqSkpM+k86TJpOsgI1QzNSC4x8Tqpc+l86XJpesKKyuks6TGpKSkz6TzpMmk66S5pOykw6TJICNUMzUguMfE6qXPpfOlyaXrpbml7KXDpckKKyuks6TGpKSk1aShpPMgI1QzNSC4x8TqpdWloaXzCisrpLOkxqTPpPMgI1QzNSCls6XGpc+l8worK6SzpMakz6TzpKuhvKTLpNCk6yAjVDM1IKWzpcalz6XzpauhvKXLpdCl6worK6SzpMakz6TzpKukoqTLpNCk6yAjVDM1IKWzpcalz6XzpauhvKXLpdCl6worK6SzpMakz6TzpLmk7KTDpMkgI1QzNSCls6XGpc+l86W5peylw6XJCisrpLOkyaTipMqhvCAjSk4gpLOkyaXipcqhvAorK6SzpMqktyAjVDM1ILvSzfwKKyuks6TLobwgI1QzNSCls6XLobwKKyuks6TLpKQgI1QzNSCls6XLobwKKyuks6TOpKakw6S/pKikz6TepKSky6TBpLekxqSkpK+kxKTipOqkx6S5ICNDSiCks6TOwcqkqKTPy+jG/KS3pMakpKSvpMSk4qTqpMekuQorK6SzpM6kuaTspM+kqKTtpKSkyiAjQ0ogpLOkzqW5peykz6Wope2kpKTKCisrpLOkzqS/pLMgI0pOIKSzpM6lv466CisrpLOkzqTkpO2kpiAjQ0ogpLOkzszuz7qhqgorK6SzpNSk2iAjVDMwIKWzpdSl2gorK6SzpNSk2qSipOmktyAjVDM1IKWzpdSl2rnTpOmktworK6SzpNSk2qSmpLYgI0tZVCCls6XUpdqkpqS2CisrpLOk1KTapMGk5aSmICNUMzUgpbOl1KXav98KKyuks6TUpNqkz6SrpMGk5aG8pLek46THpKKk3KG8pPOkwKToICNKTiCks6TUpNqkz6SrpMGk5aHBpLek46THpKKk3KHBpPOkwKToCisrpLOk3KTmpK2hvCAjSk4gocqO0qGmpPOhpqHLCisrpLOk3KTmpK2hvCAjSk4gpbOl3KXmpa2hvAorK6SzpN6kxKTQpOmks6SmpLOkpiAjS0sgvq6+vri2ueK5uworK6SzpN6kxKTQpOmks6SmpLOkpiAjVDM1IL6uvr64trniubsKKyuks6TepOsgI0pOIKWzpd6l6worK6SzpN+ksSAjS0sgpbOl36WxCisrpLOk36TRICNLSyCks6TfpdEKKyuks6TfpNEgI1QzNSCks6TfpdEKKyuks6TfpN+k4qTKobwgI0pOIL6uvKql4qXKobwKKyuks6ThICNUMzUgoqgKKyuks6ThpLekqiAjS0sgysax9gorK6SzpOGkt6SqICNUMzUgysax9gorK6SzpOGkuKSqICNLSyDKxrH2CisrpLOk4aS4pKogI1QzNSDKxrH2CisrpLOk6SAjUlQgpbOl6QorK6SzpOkgI1QzNSCls6XpCisrpLOk6qTjpN6hvCAjQ04gpbOl6qXjpd6hvAorK6SzpOqk46TeobwgI1QzNSCls6XqpeOl3qG8CisrpLOk6qTjpN6koiAjVDM1IKWzpeql46XeobwKKyuks6TqpPOkuiAjSk4gpbOl6qXzpboKKyuks6TqpPOkuqSipOmktyAjSk4gpbOl6qXzpbq506TppLehoQorK6SzpOqk86S6pK2k6aG8ICNKTiCls6XqpfOluqWtpemhvAorK6SzpOqk86S6pMChvKSvICNKTiCls6XqpfOluqXAobylrworK6SzpOykqqTipO2kpCAjQ0ogpLOk7KSqpOKk7aSkoaoKKyuks6TspM+kt6TlpKaku6SkpLWk7KTrpM0gI0NKIKSzpOykz72kwLCktaTspOukzXd3d3cKKyuks6TtpMOksSAjVDM1IKWzpe2lw6WxCisrpLOk7aTDpLGktaSkICNUMzUgpbOl7aXDpbG61worK6SzpO2kw6SxpO+kw6S3pOekpCAjSk4gpbOl7aXDpbGl76XDpbel56WkCisrpLOk7aTMICNDSiAgpbOl7aXMCisrpLOk7aTMICNDSiCls6XtpcwKKyuks6TtpMwgI041IKWzpe2lzAorK6SzpO+kpKSzpO+kpKTSobwgI0NKIKWzpe+lpKWzpe+lpKXSobwKKyuks6TzpLek5aSmpM6k06TDpK+k6qTJpMOkraTqpL6kzCAjSk4guqO9taTOpdOlw6WvpeqlyaXDpa2l6qS+pMwKKyuks6TzpMmhvKTgpN6k6aTpobwgI0pOIKWzpfOlyaG8peCl3qXppemhvAorK6SzpPOkzqSmICNUMzUguq7HvgorK6S0obwgI0tLIKW0obwKKyuktKG8pLShvKTLobyk1qTzpLek5yAjVDM1IDU1Msq4vfEKKyuktKG8pLShvKTLobyk4qTzpLik5yAjVDM1IDU1Msq4vfEKKyuktKSkpPOkraTnICNUMzUguOaxo7XvCisrpLSkpqTBpPOkraTjpOmktaTzpMuk86SwpN8gI0pOILnsxMClraXjpem7sL/NwcgKKyuktKSmpMGk86StpOOk6aS1pPOky6TzpLCk36SrpMOks6TApKSktaTzpK2kyKS4pKukw6SzICNKTiC57MTApa2l46Xpu7C/zcHIocrC6LuwtPyhyworK6S0pKakwaTzpK2k46TppLWk86TLpPOksKTfpKukw6SzpMCkpKTLpK2kyKS4pKukw6SzICNKTiC57MTApa2l46Xpu7C/zcHIocrC6MbztPyhyworK6S0pKakz6TpICNKTlMgtsjKogorK6S0pKakz6TpICNUMzUgtsjKogorK6S0pKakz6TppOKkyqG8ICNKTiCltKHKsMqyvM6socul4qXKobwgCisrpLSkpqTepOuktaTzpOmkpqTzpLggI1QzNSA1MDOl6aWmpfOluAorK6S0pK2k1qTqpMOkxCAjSk4gpbSlraXWpeqlw6XECisrpLSkraTWpOqkw6TEICNLSyCltKWtpdal6qXDpcQKKyuktKStpNak6qTDpMQgI1QzNSCltKWtpdal6qXDpcQKKyuktKStpNak6qTopLOkz6TepLik8yAjSk4gpbSlraXWpeqyo8nNv80KKyuktKStpO2kqiAjVDM1IKW0pa2l7aG8CisrpLSkrqSzpLWhvKTGpKOhvKTzICNKTiCltKWupbOjsaOzCisrpLSkr6SmICNUMzUguOe29QorK6S0pK+k1qTIpNCkpKTWobwgI1QzNSC2y8LApdClpKXWobyhqqGqCisrpLSktaTzpLEgI1QzNSC45ruwssgKKyuktKS4pOOhvKS5pN6k6aTpobwgI0pOIKW0pbil46G8pbml3qXppemhvAorK6S0pLik46G8pLmk4qTppOmhvCAjSk4gpbSluKXjobyluaXipeml6aG8CisrpLSkuaTpICNKTiCltKW5pekKKyuktKTDpMmkz6TzpMkgI1QzNSCltKXDpcmlz6XzpckKKyuktKTLpOOkoiAjSk4gpLSky6TjpKIKKyuktKTLpOOkoiAjSk4gpbSly6XjpaIKKyuktKTQpK8gI1QzNSC47cf6CisrpLSk0KSvpKKk6aS3ICNUMzUguO3H+rnTpOmktworK6S0pNCkr6S5pN6kvSAjQ0oguO3H+qW5pd6lvQorK6S0pN6k4qTJpK0gI0pOIKW0pd6k4qTJpK0KKyuktKTfpNCksyAjVDM1IKW0pd/IogorK6S0pN+k8yAjVDM1IKS0pN+k8worK6S0pOGkvSAjQ0ogpbSl4aW9CisrpLSk6aG8ICNKTiCltKXpobwKKyuktKTppKEgI0pOIKHUjt+npY7fodWOuo7ejteOp46njqeOp46njqeOp46njqeOp46njqeOp46xISEhISEKKyuktKTppKEgI0pOIKW0pemloQorK6S0pOqk56SmpOKkqCAjVDM1ILjmzu7LqAorK6S0pOukoSAjQ0ogKI7fp6WO3ymOuo7ejtmOp6GqCisrpLSk66ShICNDSiCltKXrpaEKKyuktKTrpKEgI0NKIKW0peuloSEKKyuktKTrpKEgI0NKII66jt6O2Y6noaoKKyuktKTrpKEgI0pOICChsygqoa6npaGtKaXOjrqO3o7ZjqcKKyuktKTrpKEgI0pOICiO36eljt8pjrqO3o7ZjqcKKyuktKTrpKEgI0pOIKW0peuloQorK6S0pOukoSAjSk4gjrqO3o7ZjqcKKyuktKTrpKEgI1QzNSBnb2x1YWghCisrpLSk66ShpMik6aTepPMgI0pOIKW0peuloaXIpeml3qXzCisrpLSk66SiICNDSiCltKXrpaEhCisrpLSk7aTtpKYgI1QzNSCltKXtpe2hvAorK6S1obyk0KSrpPOkt6S4pOcgI1QzNSCltaG8pdC0xrvrveoKKyuktaG8pNCkwKSkpK2k8yAjVDM1IKW1obyl0MLltuIKKyuktaSipKSks6SmpKsgI0pOIKS1pKKhxaGhwMKks6SmpKuhxaHFCisrpLWkoqSypKik4KTOpM+kuKTepOqkx6S5ICNDSiCktaSipbKhvKXgpM67z6TepOqkx6S5CisrpLWkoqS1pKKkqqStpOOkr6S1pPOkrKSvpOuk6CAgI0pOIKS1pKKktaSioaKkqrXSpLWk86Sszeik66ToISEhIAorK6S1pKKktaSipKqkraTjpK+ktaTzpKykr6TrpOggI0pOIKS1pKKktaSioaKkqrXSpLWk86Sszeik66ToISEhCisrpLWkpKSzpKYgI1QzNSC6x7niCisrpLWkpKSzpKakraTnpKYgI1QzNSC6x7nitrUKKyuktaSkpLOkpqS8obyk6CAjSk4gpbWlpKWzpaalvKG8pegKKyuktaSkpLOk1aTDpLWhvKTrICNKTiCltaWkpbOhpqXVpcOltaG8pesKKyuktaSkpLek86TspLkgI1QzNSC6x7+3peyluQorK6S1pKSkvKTzpLuk86SvpPMgI1QzNSC6x8GwwP63rworK6S1pKSkv6TeICNKTiCktaSkpL+k3gorK6S1pKSkv6TeICNUMzUgpLWkpKS/pN4KKyuktaSkpMCkpKStpOWkpqStpMGkrKSkpLGkpKTbpKYgI0pOILrHwue16aWtpcGlrKWkt9nK8worK6S1pKSkyaTqpK2kpKTBICNKTiC6uLDmuM3Oz7DsCisrpLWkpKTQobykqKG8pLikp6TzpMggI0tLIKW1paSl0KG8paihvKW4pael86XICisrpLWkpKTipKikyKG8pMqk4aTzpMggI1QzNSC6x8uopcihvKXKpeGl86XICisrpLWkpKTipKikyKSmpMqk4aTzpMggI1QzNSC6x8uopcihvKXKpeGl86XICisrpLWkq6G8pMogI0pOIKW1pauhvKXKCisrpLWkq6StpNCk6aS7pKSkyCAjVDM1ILzytbTprOmvwLvFzQorK6S1pKukyiAjSk4gtfsKKyuktaSrpMogI1QzNSC1+worK6S1pKuky6TDpN0gI1QzNSCktaSrpMukw6TdCisrpLWkrKSxpPOktaSspLekuKTlpKakyqTKpLWkpCAjSk4gurSy7LipurSy7LvUvb28t7rQCisrpLWkr6S4pOcgI1QzMCC67738CisrpLWkr6S4pOekpKTppKQgI1QzMCC67738sM3N6gorK6S1pK+kuKTnpKSk6aSkICNUMzUguu+9/LDNzeoKKyuktaSvpLik56SspKSkyaTppKSk8yAjVDM1ILrvvfylrKWkpcml6aWkpfMKKyuktaSvpLik56TLpPMgI1QzNSC67738v80KKyuktaSvpLukpKSkpOmkpCAjVDMwILruwK6wzc3qCisrpLWkr6S/pPMgI1QzNSCltaWvpL+k8worK6S1pK+kxaSxICNUMzAgpLWkr6TFpLEKKyuktaSvpMWksSAjVDMwIKW1pa+luqSxCisrpLWkr6TppKykqqSrpKykr6SopPMgI0tLILr5tdaz2LHgCisrpLWkr6TppKykqqSrpLOkpqSzpKYgI0tLILr5tda54rm7CisrpLWkr6TppKykqqSrpMGk5aSmpKykw6SzpKYgI0tLILr5tdbD5rPYubsKKyuktaSvpOmkv6TzpKuk6iAjVDM1IKS1pK+k6aS/pPOhyrK+ocsKKyuktaSvpOmkv6TzpMGk5aSmICNUMzUgpLWkr6TppL+k87/fCisrpLWkr6TppMGk5aSmICNUMzUguvm/3worK6S1pK+k6aTDpMEgI1QzNSCltaWvpemkw6TBCisrpLWkr6TppMOkwSAjVDM1ILr52cfD1worK6S1pK+k6aTLpLMgI0pOIKS1pK+k6aXLpbMKKyuktaSvpOmkzaTDpMggI0tLIKS1pK+k6aTNpMOkyAorK6S1pK+k6aThpPOkyCAjSk4gpbWlr6XppeGl86XICisrpLWksaTIpK6ks6TIpM+ky6Tjobyk86TIICNKTiC88qTIpa6ls6TIpM+ky6Tjobyk86TICisrpLWksaTLpK6k6qTvpMOkt6TnpKQgI0pOILr6pMukrqTqpe+lw6W3peelpAorK6S1pLIgI0tTIHNhZ2UKKyuktaSyICNLU3IgpLWksgorK6S1pLIgI1QzNSBzYWdlCisrpLWksqSipKqk6iAjVDM1IHNhZ2XA+qTqCisrpLWksqSipOmktyAjVDM1IHNhZ2W506TppLcKKyuktaSypLek86SzpKYgI1QzMCCktaSyv8q51AorK6S1pLKkt6TzpLOkpiAjVDM1IHNhZ2W/yrnUCisrpLWksqTDpMakoyAjSk4gc2FnZY6vjsOOqAorK6S1pLKk7KS5ICNUMzAgc2FnZaXspbkKKyuktaSzpMQgI0pOIKW1ufwKKyuktaS1pK2ksaTzpLmksSAjSk4gurShuczat/Ky8AorK6S1pLakqKS1pPMgI0pOIKW1pbalqKS1pPMKKyuktaS2pKiktaTzICNKTiCltaW2paiktaTzoaEKKyuktaS5pLWkuSAjSk4gpLWkuaS1pLkKKyuktaS/pPMgI0pOIKW1pb+l8worK6S1pL+k8yAjSk4gjruOwI7dCisrpLWkw6TBobyk3qTEpOogI1QzNSCltaXDpcGhvLrXpOoKKyuktaTDpMGk5aSmpLakpKS0pLik46G8pLkgI0pOILumv9+63qW0pbil46G8pbkKKyuktaTDpN2k7SAjQ04gu6aOzo7fjtsKKyuktaTDpN2k7SAjS0sgu6al3aXtCisrpLWkw6TdpO0gI1QzNSC7pqXdpe0KKyuktaTDpN2k7SAjVDM1ILumjs6O347bCisrpLWkxKSopKSkraTzpLcgI1QzNSC7o7HGtti73worK6S1pMik6aTsICNUMzUgpbWlyKXppewKKyuktaTQICNUMzUgu6oKKyuktaTQpKqkwSAjVDMwILuqze6kwQorK6S1pNCkrKSqpMGk6yAjQ0ogu6qkrM3upMGk6worK6S1pNCkrKTIpNYgI0NKILuqpKzI9KTWCisrpLWk1qTQpMOkr6SopKSkwaTGpKOhvKSopOCkqKTrICNUMzUgc3ViYmFjay5odG1sCisrpLWk4aS4pN6kuKSxpPMgI1QzNSC7rcXnu/a37worK6S1pOggI1QzNSCltaXoCisrpLWk6KTDpMak6yAjVDM1ILq4zeOkw6TGpOsKKyuktaTopPOk3CAjVDM1IKW1peil86XcCisrpLWk6aS3pKKksiAjS1NyIKS1pOmkt2FnZQorK6S1pOmkt6SipLIgI0tTciCktaTppLekoqSyCisrpLWk6aS3pKKksiAjS1NyILuvpLdhZ2UKKyuktaTppLekoqSyICNUMzUgU0FMQaS3YWdlCisrpLWk6aS3pKKksiAjVDM1IFNBTEG7xb7lpLIKKyuktaTppLekoqSyICNUMzUgo9OjwaPMo8G7xb7lpLIKKyuktaTppLekoqSyICNUMzUgpLWk6aS3YWdlCisrpLWk6aS3pKKksiAjVDM1ILuvpLdhZ2UKKyuktaTppLekoqSypOKkyqG8ICNKTiC7r6S3vuWksqXipcqhvAorK6S1pOmk1qTspMOkyCAjSk4gpbWl6aXWpeylw6XICisrpLWk6aTWpOykw6TJICNKTiCltaXppdal7KXDpckKKyuktaTrpLakyKSmICNUMzUgse66vcX8CisrpLWk66TZobykuCAjVDMwIKW1peul2aG8pbgKKyuktaTspMSk3iAjVDM1IKS1pOy6ygorK6S1pOykxaTeICNUMzUgpLWk7LrKCisrpLWk76S/pOqk3qSzpMikz6TvpKykpKTOpMEgI0NKIML0xc+/v7bXpM+y5qSszL8KKyuktaTvpOSkqyAjSk4gwdak5KSroaoKKyuktaTzpKykxKSmpLWkriAjSk4go7O37qWmpbWlrgorK6S1pPOkraTjpK8gI0tLILuwtdMKKyuktaTzpK2k46SvICNUMzUgu7C10worK6S1pPOkr6S5pLMgI0NKIKW1pfOlr6W5pbMKKyuktaTzpK+kuaSzICNDSiCOu47djriOvY66CisrpLWk86SxobwgI0pOIKW1pfOlsaG8CisrpLWk86Sxobykt6TzpNak8yAjVDM1IKOzo8u/t8q5CisrpLWk86SypMOkyCAjSk4go7OlsqXDpcikqaSppKmkqaGqoaoKKyuktaTzpLQgI1QzNSC7ubjqCisrpLWk86S6pM6kq6TvICNKTiC7sMXTpM7A7gorK6S1pPOkv6TipMukqyAjSk4gpbWl86W/oeGl4qXLpasKKyuktaTzpMCk86TipMqhvCAjSk4go7PDyqXipeml6aG8CisrpLWk86TJpKSkw6TBICNKTiCltaXzpcmlpKXDpcEKKyuktaTzpOGhvKTIpOukzqSmpMGk5aSmpLik8yAjSk4go7Oj7aTOsafD6L/NoaEKKyuktaTzpOKkuKS1pK+krCAjVDM1ILuwyri7+rrusugKKyuktqG8pNyk8yAjSk4gpbahvKXcpfMKKyuktqSipOGk86S/pKSkt6TEICNUMzUgpbahvMzMws68wQorK6S2pKSkoqS9ICNKTiCltqWkpaKlvQorK6S2pKSkoqS9ICNKTiCltqWkpaKlvSAKKyuktqSkpLMgI0pOIKW2paS70gorK6S2pKSks6S3pOek6qTPpPMgI0pOILrfuMu96M39yMkKKyuktqSkpMukwaSkpLek7KTDpMkgI1QzNSC638b8sOW71VJFRAorK6S2pKSky6TBpMuk86TGpKQgI1QzMCC638b8x6fE6gorK6S2pKSk6qTnpKak1qTDpLukpKSkpL8gI0NOILrgzsHKqsCtyMQKKyuktqSkpOqk56SmpNakw6S7pKSkpKS/ICNUMzUguuDOwcqqwK3IxAorK6S2pK0gI1QzNSCltqWtCisrpLakw6S3pOWku6TzpLukpCAjSk4gu6i878DowLgKKyuktqTEpMCk86SzpMakpCAjVDM1ILuow8y4x8TqCisrpLak1qTIpPOkoqTppLcgI0pOIKS2pNakyKTzudOk6aS3CisrpLak76S2pO8gI1QzMCCktqTvpLak7worK6S3ICNNNSCktworK6S3ICNONSCktworK6S3ICNONSC71AorK6S3ICNONSC74QorK6S3ICNSNSCktworK6S3obyky6TjpPMgI0pOIKS3obyky6TjpPMKKyukt6Siobyk6yAjS0sgpLdSCisrpLekoqG8pOsgI1QzNSCkt1IKKyukt6SipKKk6yAjVDM1IKS3UgorK6S3pKKk76S7pLWk86TXICNKTiC5rKS7u7bJ2worK6S3pKMgI0pOIKS3pKMKKyukt6SjICNUMzUgpLekoworK6S3pKOkoiAjSk4gpLeko6SiCisrpLeko6SkpKSk86TBpOekpiAjSk4gpLeko7DRsPfEuQorK6S3pKOkq6TBpOOk8yAjSk4gpLeko6SrpMGk46TzCisrpLeko6S4pOekraTnpKakuKTlICNKTiCkt6SjvfW2tbz4CisrpLeko6S5pOqhvKTepL+hvKTqICNKTiCkt6Sjo7PPwLDYCisrpLeko6S5pOqhvKTepL+hvKTqICNKTiCkt6Sjo7OOz47AjrCO2AorK6S3pKOkv6SxICNKTiCkt6SjpL+ksQorK6S3pKOkv6SxICNKTiCkt6SjpL+ksSAKKyukt6SjpNKk4SAjSk4gpLeko8mxCisrpLeko6TSpO2k1aTfICNKTiCkt6Sjzc7KuAorK6S3pKOk3qTeICNKTiCkt6Sjpd6l3gorK6S3pKSktaSiICNUMzUgpbehvKW1obwKKyukt6SkpL+ksSAjVDM1IKS3pKSkv6SxCisrpLekqKTzICNUMzUgu9mx5worK6S3pKogI0pOILH2CisrpLekqiAjVDM1ILH2CisrpLekqqSrpPMgI0tLIKS3pKq02gorK6S3pKqkq6TzICNUMzUgpLekqrTaCisrpLekqqS/ICNUMzUgsfbFxAorK6S3pKqky6TBICNUMzUgsfbG/AorK6S3pKukryAjS0sgu82z0QorK6S3pKukryAjVDM1IKKjCisrpLekq6SvpLekq6SvICNUMzUgoqKiogorK6S3pKukr6S3pPOkuKTjICNUMzUgu82z0b+uvNQKKyukt6SspLWkryAjVDM1ILyisuy67gorK6S3pK2krKTfpLSk6aShICNKTiC8sL/AjrqO3o7XjqcKKyukt6StpKyk36TKpOGkr6S4ICNKTiC8sL/A6d3qoQorK6S3pLGk86SrpPMgI0pOILvuuLO0yQorK6S3pLKk8iAjSk5NIKW3pbKl8gorK6S3pLKk8iAjVDM1IKW3pbKl8gorK6S3pLOkryAjQ04gu+C58QorK6S3pLOkryAjVDM1ILvgufEKKyukt6SzpL+k26TvpKIgI0NKIKW3pbOlv6Xbpe+hvAorK6S3pLik3yAjVDM1IKW3pbil3worK6S3pLmkv6G8pLahvKTcpPMgI0pOIKW3pbmlv6G8pbahvKXcpfMKKyukt6S5pNek6iAjS0sgpbeluaXXpeoKKyukt6S5pNek6iAjVDM1IKW3pbml16XqCisrpLekv6SkpKykvqSmICNUMzUgu+DCzrLowfwKKyukt6S/pOmk0KSvpPMgI0pOIKS3pL+k6aTQt6+hyrK+ocsKKyukt6S/pOmk0KSzpKakxKSmpOSks6SmpLOkpqS9pK+k0KS5ICNKTiCkt6S/pOmk0LjyxMzM67nUueLCrqXQpbkKKyukt6S/pOmk0KTKobwgI0pOIKW3pb+l6aXQpcqhvAorK6S3pMGkuKTlpKakryAjVDM1ILy3vcW27AorK6S3pMGky6TzpM6ktaTWICNUMzUgvLe/zaTOpbWl1gorK6S3pMOkv6SrICNUMzUgw86kw6S/pKsKKyukt6TDpL+kq6SvpPMgI1QzNSDDzqTDpL+kq7evCisrpLekw6S/pKukwaTlpKak3KSmICNUMzUgw86kw6S/pKu/38u8CisrpLekw6TGpOukyqTppMqkvKS3pMakraS3pMakr6TspMqkq6TDpL+kzqTHpLmkqyAjQ0ogw86kw6TGpOukyqTpoaKkyqS8u9jFpqS3pMakr6TspMqkq6TDpL+kzqTHpLmkq6GpCisrpLekyKTLpOmkwaTjpKik6yAjSk4gu8jFzKXLpemlwaXjpail6worK6S3pMogI0NKIKW3pcoKKyukt6TKobwgI0pOIKW3pcqhvAorK6S3pMqkoiAjVDM1IKW3pcqhvAorK6S3pMqkvaTQpOSkzqS1pM6k4qTKobwgI0pOILvZxuG2vsf+srCkzrq0zO6l4qXKobwKKyukt6TKpM2hvKToICNKTiC74aXKpc2hvKXoCisrpLeky6SspN+kyKTqpMOk16SqpNakx6S5ICNKTiC74L/Apcil6qXDpdelqqXWpceluQorK6S3pMukrKTfpN+kyqTppKSkt6SnpOqhvCAjSk4gu+C/wLirvayhoaW3pael6qG8CisrpLeky6SspN+k36TKpOmkpKS3pKek6qG8ICNKTiC74L/AuKu9rKW3pael6qG8CisrpLekzSAjQ0ogpLekzQorK6S3pM0gI0NKILvUpM0KKyukt6TNICNDSiC74aTNCisrpLekzaG8pOggI0pOILvhpc2hvKXoCisrpLekzaTQobwgI0pOIKW3pc2l0KG8CisrpLekzaTQobwgI0pOIKXBpc2l0KG8CisrpLekzaTopKqk4aG8pOkgI0pOILvhpM2k6KSqpOGhvKTpCisrpLekzqTWpOmkpKTzICNUMzUgx6al6aWkpfMKKyukt6TQpKSkzCAjVDM1ILzGuKQKKyukt6TQpLGk8yAjVDM1ILzGuKQKKyukt6TQpLkgI1QzNSC74KXQpbkKKyukt6TWpLWk76S1pPMgI0pOIL3C37ektaTzCisrpLek26S9ICNUMzUgpLel26W9CisrpLek26TzICNUMzUgpLel26XzCisrpLek3KSmpLik5aSmICNKTiChymApos8ooa2hy6HKoa0pp6UoYKHLCisrpLek3KSmpLik5aSmICNKTiC76cvDvcMKKyukt6TgpOKkyqG8ICNKTiClt6Xgoaal4qXKobwKKyukt6ThpLggI1QzNSAojt+n1Y7fKY68jtKOvI7eCisrpLek4aTEpLGkwaSrpPOk06SkpOAgI1QzNSDE+aThydWkscPUtMGl06G8peAKKyukt6TipMSktyAjSk4gpbel4qXEpbcKKyukt6TipMggI1QzNSClt6XipcgKKyukt6TipMggI1QzNSCOvI7TjsQKKyukt6TjpKGku6TzpOikpqSupLOk86SwpMikrKTzpOKkyiAjSk4gpbel46WhwOzN0aWupbOl86WwpMilrKXzpeKlygorK6S3pOOkoqS7pPOk6KSmpKSkvyAjQ04gpbel46WiwOzN0cjECisrpLek46SipLuk86TopKakpKS/ICNUMzUgpbel46WiwOzN0cjECisrpLek46SkpKKkuKTzICNUMzUgpbel46WkpaK/zQorK6S3pOOkpKTzICNUMzUgpbel46WkpfMKKyukt6TjpK2kpKTzICNDSiAooa6OpabYjqWhrSmOvI6sjreOsI7dCisrpLek46StpKSk8yAjQ0ogpbel46Wtobyl8worK6S3pOOkr6TspK2k6qS3pL+k8yAjVDM1IKW3peOlr6Xspa2l6qW3pb+l8worK6S3pOOkt6TnpKYgI0pOILzWvrgKKyukt6TjpNCkpKTOpKkgI0NKIKW3peOl0KWkpc6lqQorK6S3pOOk0KSkpM6kqSAjQ0ogjryOrI7Kjt6Oso7JjqsKKyukt6TjpNCkvqSmICNUMzUgpbel46XQwf4KKyukt6TjpNmk66TEpK+kqCAjSk4gpLek46TZpOu0+QorK6S3pOOk86TGpKMgI0pOIKHKjqWiz46locuOvI6sjt2Ow46oovYKKyukt6TjpPOkxqSjICNKTiClt6XjpfOlxqWjCisrpLek5KSiICNUMzUgpLenwQorK6S3pOWkpiAjSk4gpLek5aSlCisrpLek5aSmpKuk86SipLmkraG8ICNLSyC9tbSppaKluaWtobwKKyukt6TlpKakraTnpKYgI1QzNSC9oba1CisrpLek5aSmpLWkpKTipOmk6aG8ICNKTiC9qLrNpeKl6aXpobwKKyukt6TlpKakyKSmICNUMzAgvarF3worK6S3pOWkpqTIpKYgI1QzNSC9qsXfCisrpLek5aSmpNWk5iAjVDMwIL2qxd8KKyukt6TlpKak1aTmICNUMzUgvarF3worK6S3pOWkpqTppK8gI1QzNSCkt6TlpKak6aSvocq9sM3uocsKKyukt6TlpKak6qTnpKYgI0NKIC0tLS0tLS0tvarOuy0tLS0tLS0KKyukt6TlpKak6qTnpKYgI0NKIKHhoeGh4aHhoeGh4b2qzruh4aHhoeGh4aHhoeEKKyukt6TlpKak6qTnpKYgI1QzMCC9qs67CisrpLek5aSmpOqk56SmpMGk5aSmpNykpiAjVDM1IL2qzru/38u8CisrpLek5aS3ICNUMzUgvPG73QorK6S3pOWkt6TlICNKTiCkt6TlpLek5QorK6S3pOWkuKSkICNUMzUgvOe8o7DlCisrpLek5aTDpMGk56SmICNUMzAgvdDEpQorK6S3pOWk1KSkpPOkt6TjICNUMzUgpbel5aXUobyl87zUCisrpLek56G8pOKkyqG8ICNKTiClt6Xnobyl4qXKobwKKyukt6Tnobyk4qTKobwgI0pOIKW3peehvKXipcqhvCAKKyukt6Tnobyk5qTNpK+kuaTIICNLSyClt6Xnobyl5qXNpa+luaXICisrpLek56SmpKuk8yAjVDMwIL6ktK0KKyukt6TnpKakq6TzICNUMzAgvqS01AorK6S3pOekpqSspMmkraTlpPMgI1QzNSDAuNWqRFFOCisrpLek56SmpLCk86S1pN4gI1QzNSC+rbezzc0KKyukt6TnpKakuKStpLmk3qTzpKukw6S/ICNDSiDAtcS+oaKluaXepfOlq6XDpb8KKyukt6TnpKakuKStpLmk3qTzpKukw6S/ICNDSiDAtcS+oaKluaXepfOlq6XDpb+hqgorK6S3pOekpqTBpOWkpiAjVDM1IMC1v98KKyukt6TnpKak3KSmICNUMzUgvsPLyQorK6S3pOekpqTcpKakpKS/ICNUMzUgvsPLycjECisrpLek56SmpOaku6TzpLekraTDpLOkpqTepL0gI1QzNSC+38z9wO+7zqWtpcOls6G8pd6lvQorK6S3pOekpqTmpLuk86S3pK2kw6SzpKak3qTzICNUMzUgvt/M/cDvu86lraXDpbOhvKXepb0KKyukt6TnpKak5qTKpNekraTzICNUMzUgvt/M/aXKpdelraXzCisrpLek56SmpOakzaSvpLmkyCAjVDM1IKW3peehvKXmpc2lr6W5pcgKKyukt6TnpK+ky6TzICNUMzUgv6a/zQorK6S3pOekr6TLpPOktaTzICNUMzUgv6a/zaS1pPMKKyukt6TnpK+kzaG8pOggI0pOIL+mpc2hvKXoCisrpLek56SvpOikpqTipMqhvCAjSk4gv6nN0aXipcqhvAorK6S3pOekuKTnpK2k6aG8pKKk2aTrICNKTiC96L33pa2l6aG8paKl2aXrCisrpLek56S/ICNUMzUgpbel56W/CisrpLek56S/pLOk8yAjVDM1IKW3peelv6WzpfMKKyukt6TnpMCkpKS1pPOkyaSkpMOkwSAjSk4gvenC5aW1pfOlyaWkpcOlwQorK6S3pOekwKSkpLekzaTQobwgI0pOIL3pwuWlt6XNpdChvAorK6S3pOekwKSkpN6kuKTspLmk3qTzICNKTiC96cLlpd6luKXspbml3qXzCisrpLek56TApKSk4qTKobwgI0pOIL3pwuWl4qXKobwKKyukt6TnpMCkpKTipM2hvCAjSk4gvenC5aXipc2hvAorK6S3pOek3CAjSk4gpbel56XcCisrpLek56TcICNKTiCOvI6ujs6O3gorK6S3pOek3KG8pPMgI0NKII68jq6Ozo7ejrCO3QorK6S3pOek3KG8pPMgI0pOICihraGmptihpmAppbel56Xcobyl8worK6S3pOek3KG8pPMgI0pOICihrY6lptiOpWApjryOro7Ojt6OsI7dCisrpLek56Tcobyk8yAjSk4gpbel56XcLaXzCisrpLek56Tcobyk8yAjSk4gjryOro7Ojt4tjt0KKyukt6TnpNykqqTzICNDSiClt6XnpdyhvKXzCisrpLek56TcpKqk8yAjQ0ogjryOro7Ojt6OsI7dCisrpLek56TcpK6ksyAjSk4gjryOro7Ojt6Ot47ejroKKyukt6TnpOmkzaG8pOggI0pOIKW3peel6aXNobyl6AorK6S3pOikqqSmpOggI1NVQyClt6XoobylpqXoCisrpLek6KSqpKak6CAjU1VDII68jtaOsI6zjtYKKyukt6TppMqkpKTvICNKTiClt6XppcqlpKXvCisrpLek6aTNobyk6CAjSk4gpbel6aXNobyl6AorK6S3pOmkzaSopOggI1QzNSClt6Xppc2hvKXoCisrpLek6aTNpM6kqqTtpMEgI0pOIKW3pemlzaXOpaql7aXBCisrpLek6aTSobyksiAjSk4gpbel6aXSobylsgorK6S3pOogI1QzNSC/rAorK6S3pOqkxCAjVDM1IL+sxMUKKyukt6TqpMik6qSkpL8gI1QzNSCkt6TqpMik6sjECisrpLek6qTIpOqktqTgpOmkpCAjSk4gpLek6qTIpOq7+AorK6S3pOsgI1NVQyCkt6TrCisrpLek6yAjU1VDIL3BCisrpLek7aSmpMiky6TPpKqkuaS5pOGkx6StpMqkpCAjQ0ogwce/zaTLpM+kqsGmpOG90M3opMqkpKGjCisrpLek7aTNpLMgI0tLIMfyx60KKyukt6TtpM2ksyAjVDM1IMfyx60KKyukt6TtpOCkxCAjVDM1IMfypeClxAorK6S3pPOkq6ThpOKkyqG8ICNKTiC/v6Gmpaul4aXipcqhvKGhCisrpLek86StpO2kr6S/pMOku6SkpMuk86TGpKSkt6TnpKYgI0pOIL+3ta3Pv8OjwK7Hp8TqvtoKKyukt6TzpLGkpKS7pKQgI1QzNSC/wLfQwK0KKyukt6TzpLak86TPpKukq6S6pMukz6TzpMikt6TtpOCkw6TGpO0gI0NKIL+3u7Kkz73xpKukuqTLyL7Hr6PSo8+jzaTDpMak7QorK6S3pPOktyAjVDM1IL/Cu84KKyukt6TzpLek5aTOMaS1pPMgI0pOIL+3vO+kzqOxpLWk8worK6S3pPOkuKTEpKukr6TJICNUMzUgv7+8wrPRxdkKKyukt6TzpLik4yAjVDM1IL+uvNQKKyukt6TzpLik5aSvpLSkuKTlpKYgI1QzNSC/t73JNTAKKyukt6TzpLik5aSvpN+kyqTfpLCkwaSupOWkpqTLpOWkpqS9pNWkyKSvpOqhvKTgpM6kzaSopMGk46TzICNKTiC/t73Jxu64/aHWte3G/aW9pdWlyKWvpeqhvKXgodekzqTNpKikwaTjpPMKKyukt6TzpLmk7CAjVDM1IL+3pbml7AorK6S3pPOkuaTspKqk4aTHpMikpqS0pLakpKTeobykuSAjSk4gocChyqGwoqahsKHLob+/t6W5peykqqThpMekyKSmpLSktqSkpN6h3aS5ovYKKyukt6TzpLmk7KSqpOGkx6TIpKaktKS2pKSk3qG8pLkgI0pOIL+3pbml7KSqpOGkx6TIpKaktKS2pKSk3qHdpLkKKyukt6TzpLmk7KTDpMmkuaTIpMOk0aG8ICNUMzUgv7+hpqW5peylw6XJpbmlyKXDpdGhvAorK6S3pPOkuaTspMOkyaS5pMikw6TRpKIgI1QzNSC/v6Gmpbml7KXDpcmluaXIpcOl0aG8CisrpLek86S7pKQgI1BSRSC/v8CtCisrpLek86S7pKQgI1QzNSC/v8CtCisrpLek86S7pKSkwaTlpKak3KSmICNUMzUgv7/Arb/fy7wKKyukt6TzpLuk8yAjVDM1IL+3wa8KKyukt6TzpL2ks6TJpKakx6TipKQgI0tZIL+0xOykyaSmpMek4qSkCisrpLek86S9pLOkyaSmpMek4qSkICNLWSC/tMTspMmkpqTHpOLOySAKKyukt6TzpL2ks6TJpKakx6TipOggI0tZIL+0xOykyaSmpMek4s7JIAorK6S3pPOkwaTnpKakuaTsICNLSyC/yMS5pbml7AorK6S3pPOkwaTnpKakuaTsICNUMzUgv8jEuaW5pewKKyukt6TzpMkgI1QzNSC/vMXZCisrpLek86TLpMGkqqS/ICNUMzUgv7fG/KWqpb8KKyukt6TzpM2hvKTopKqk1qTNobyk6CAjSk4gv7+hpqXNobyl6KGmpaql1qGmpc2hvKXoCisrpLihvCAjVDM1IKPHCisrpLihvKSopOAgI1QzNSCjx6PNCisrpLihvKS1pK+kyKS4pKehvKTzICNKTiBHuu6kyKW4paehvKXzCisrpLihvKS1pK+kyKS4pKehvKTzICNKTiBHuu6kyKW4paehvKXzocrDscLOpMCkyLK/pMCkq8i9pOmkyqSkpM6kx6OyyaSOvo6vjsShyyAKKyukuKG8pLWkr6TIpLikp6G8pPMgI0pOIKHKoaaiz6GmocuhoaHKoaaiz6Gmoumi6QorK6S4pKMgI0pOIKS4pKMKKyukuKSkpLMgI1QzNSC8q7DWuMUKKyukuKSnpKSkpqTopK8gI1QzNSBKsabN4worK6S4pKekpKTTpKSk06SkpKikuSAjVDM1IEpCQlMKKyukuKSnpM6ktaSkpMmkq6TDpL+hvCAjSk4gpbilp6XOpbWlpKXJpaulw6W/obwKKyukuKSnpPOkyKTrpOKkyiAjSk4gpbilp6Xzpcil66XipcoKKyukuKSnpPOkyKTrpOKk6aTpobykyKSupLMgI0pOIKW4pael86XIpeul4qXppemhvKTIpa6lsworK6S4pKikpKSrpPOkqKTppKQgI0NKIKW4pailpKWrpfOlqKXppaQKKyukuKSopKSkq6TzpKik6aSkICNDSiCOvI7ejrSOso62jt2OtI7XjrIKKyukuKSqICNLSyCluKWqCisrpLikqiAjS0sgsfYKKyukuKSqICNUMzUgpbilqgorK6S4pKogI1QzNSCx9gorK6S4pK+kpqTepKqkpiAjSk4gu/629cvisqYKKyukuKSypPMgI0pOILyhuLUKKyukuKS0pKakuKTIpK8gI0pOICihraLPoa4pjryO3o66jt6Os468jt6OxI6wjrgKKyukuKS0pKakuKTIpK8gI0pOIKW4pbSlpqW4pcilrworK6S4pLSkr6TOpLSkpqSrICNKTiDDz7n2pM62yLLQCisrpLiktaSvpLikqKG8pPMgI0pOIKW4pbWlr6W4paihvKXzCisrpLiktaSvpLikqKTzICNKTiAojqWiz46lKY68jt6Ou464jryO3o60jrCO3QorK6S4pLWkr6S4pKik8yAjSk4goc6hyqGmos+hpqHLoc8KKyukuKS1pK+kuKSopPMgI0pOIKW4pbWlr6W4pail8worK6S4pLWkr6S4pKik8yAjSk4gpbiltaWvpbix3worK6S4pLWkr6S4pKik8yAjSk4gjrWOxo6wjsGOrI7dKCqhpqLPoaYqKY60jq+OwY6wISEKKyukuKS1pK+kuKSopPMgI1QzMCBRUVFRCisrpLiktaSvpLikqKTzICNUMzAgvKu67ryrsekKKyukuKS1pK+kuKSopPMgI1QzNSCluKW1pa+luKWopfMKKyukuKS1pK+kuKSopPMgI1QzNSC8q7ruvKux6QorK6S4pLWkr6S4pLuk8yAjSk4gocqhpsDpoaahyworK6S4pLWkr6S4pLuk8yAjSk4gpbiltaWvpbilu6XzCisrpLiktaSvpLiku6TzICNKTiC83ru4vN6+3QorK6S4pLWkr6S4pLuk8yAjSk4gjryO3o67jriOvI7ejr6O3QorK6S4pLWkxKS4pKik8yAjSk4gocotu+EtocsKKyukuKS1pMSkuKSopPMgI0pOIKW4pbWlxKW4pail8worK6S4pLWkxKS4pKik8yAjSk4gvN67wrzetN0KKyukuKS1pMSkuKSopPMgI0pOII68jt6Ou47CjryO3o60jt0KKyukuKS3pPOku6SkpMggI0pOIMPPv8zAuMXMCisrpLikt6TzpMAgI0NKILyrv66kwKGqoaqhqqGqCisrpLikt6TzpMAgI0NKIMPPv8ykwKGqoaqhqqGqCisrpLiku6SkpMqkyaStpKukyqSkpMMgI0NKILyrwKmkyqTJzfikq6TKpKSkwworK6S4pMGkuaTsICNUMzUgvKu8o6W5pewKKyukuKTBpMGk5aSmICNUMzUgvKu8o7/fCisrpLikwaTzpLWkpCAjVDM1IMPPxMO61worK6S4pMOkraTnpKakuaTsICNUMzUgvMK2t6W5pewKKyukuKTDpNGk0qTIpKuk6qSyICNKTiCluKXDpdGl0qXIpaul6qWyCisrpLikxKTvpPKkq6SvpMqkyKSipOyk26TJICNDSiC8ws/DpPK98aSvpMqkyKSipOyk26TJocQKKyukuKTJpKakqqSmpMCkvaSmpMEgI1QzNSC8q8awsqXCx8H1w9YKKyukuKTPpKKkySAjVDM1IKW4pc+hvKXJCisrpLik0KSvICNUMzUgvKvH+gorK6S4pNKk46SvpLikqKTzICNKTiChyqGmybShpqHLCisrpLik0qTjpK+kuKSopPMgI0pOIKW4pdKl46WvpbilqKXzCisrpLik0qTjpK+kuKSopPMgI0pOII68jt6Oy46sjriOvI7ejrSO3QorK6S4pNekt6G8ICNUMzUgpbil16W3obwKKyukuKTXpLekpCAjVDM1IKW4pdelt6G8CisrpLik2KSkpN2k8yAjS0sgvKvKxKTdpPMKKyukuKTYpKSk3aTzICNUMzUgvKvKxKTdpPMKKyukuKTfpPOkyKSmpOKkyqG8ICNKTiC8q8yxxd6l4qXKod0KKyukuKTfpPOkyKSmpOKkyqG8ICNKTiC8q8yxxd6l4qXKod0gCisrpLik4CAjSk4gR00KKyukuKThpPOk8qSqpOiksKSupLMgI0pOIMPPzMyk8rHLpLClrqWzCisrpLik46G8pMuhvCAjSk4gpbil46G8pcuhvAorK6S4pOOkrKTipMqhvCAjSk4gpLik46SspeKlyqG8CisrpLik46S3pPMgI1QzNSC82b/ACisrpLik46TDpKuk6yAjVDM1IKW4peOlw6WrpesKKyukuKTjpMOkraG8ICNKTiCluKXjpcOlraG8CisrpLik46TDpK2hvCAjVDM1IKW4peOlw6WtobwKKyukuKTjpMOkraSkICNUMzUgpbil46XDpa2hvAorK6S4pOOky6SkICNUMzUgvNi3uworK6S4pOOky6SkICNUMzUgvNm3uworK6S4pOOk0yAjSk4gjryO3o6sjsuO3gorK6S4pOOk3qS1pK0gI1QzNSC82cviuuoKKyukuKTjpN+k7aSvpKQgI0pOIKW4peOl36Xtpa+lpAorK6S4pOOk6yAjVDM1IEpBpc5MCisrpLik46TzpKyk6qSipPOkz6TgpLmkv6G8ICNKTiCluKXjpfOlrKXqpaKl86XPpeCluaW/obwKKyukuKTjpPOkr6SvpOmkw6Srobykr6TppMOkt6TjobwgI0pOIKW4peOl86Wvoaalr6XppcOlq6G8oaalr6XppcOlt6XjobwKKyukuKTjpPOksKTrpN2ksaTDpMikzqTBpMGkz6TVpLikraS7pK0gI0NKIKW4peOl86Wwpeul3aWxpcOlyKTOyeOkz6XVpbilraW7pa0KKyukuKTlpKakt6TnpK8gI0pOIL27v6YKKyukuKTlpKakt6TnpK8gI1QzNSC9u7+mCisrpLik5aSmpMqkyqS5pK+k6qTXpMggI1QzNSAxN6W5pa+l6qXXpcgKKyukuKTlpKaky6TzICNUMzUgvbu/zQorK6S4pOWkpqTPpMGkuKTLpLik5aSmpLik4qTzpMCkpCAjVDM1IDE4u/6hpjIwu/7M5MLqCisrpLik5aSmpNWkr6S5pOwgI1QzNSC9xcqjpbml7AorK6S4pOWkpqTVpK+kuaTspMOkySAjVDM1IL3FyqOluaXspckKKyukuKTlpKak3qTzpKik8yAjSk4graqhoQorK6S4pOWkpqTepPOkqKTzICNKTiC9vcv8sd8KKyukuKTlpKak36TzICNUMzUgvbvMsQorK6S4pOWkpqTopPMgI0pOIKOxo7QKKyukuKTlpKukpCAjQ04gvPmzpAorK6S4pOWkq6SkICNUMzUgvPmzpAorK6S4pOWkxqG8pOAgI0pOIKW4peWlxqG8peAKKyukuKTlpPOkq6SkICNUMzAgveSy8worK6S4pOWk86StpPOkpKS/ICNDTiC947biyMQKKyukuKTlpPOkraTzpKSkvyAjVDM1IL3jtuLIxAorK6S4pOakpqTypN+krqTGpMukoqSkpMqk6aTSpMCk6qTGpMsgI0pOIKW4pealpqXypd+lrqXGpculoqWkpcql6aXSpcCl6qXGpcsKKyukuKTmpKak8qTfpK6kxqTLpKKkpKTKpOmk0qTApOqkxqTLICNKTiC83tWzptC33sPGsbLF18vA3tjDxgorK6S4pOakpqTypN+krqTGpMukoqSkpMqk6aTSpMCk6qTGpMsgI0pOII68jt6O1Y6zjqaO0I63jt6Ow47GjrGOso7FjteOy47Ajt6O2I7DjsYKKyukuKTnpKSkw6TGICNLUyBKT1mkw6TGCisrpLik56SmpK2kqqSmICNKTiC++LWksqYKKyukuKTnpKakwaTlpKYgI1QzMCC+78PzCisrpLik56SmpMikpqS4pOek5qSmICNUMzUgvuXF+b33zaUKKyukuKTnpKakyKTBpOWkpiAjVDM1IL75xc+/3worK6S4pOekpqTspPMgI1QzNSC+78+iCisrpLik56S7pNWkyKSipNakyaSlpOsgI0pOIKW4peelu6XVpMiloqX0pcmlpaXrCisrpLik56TGpKQgI1QzNSC998TrCisrpLik56TGpKSkqKS5pKuk6qG8pMwgI0pOIL33xOulqKW5paul6qG8pcwKKyukuKTnpMuhvCAjSk4gpbil56XLobwKKyukuKTnpPMgI0pOIKW4peel8worK6S4pOek8yAjVDM1IKW4peel8worK6S4pOek86S4pOcgI0pOIKW4peel86W4pecKKyukuKTnpPOk1aG8pPMgI0pOIKW4peel86GmpdWhvKXzCisrpLik6aSkICNUMzUgw8/N6worK6S4pOmkpKSypPOkt6TnpOqkt6TjICNKTiDDz83ruLa96M39vNYKKyukuKTppM2hvKToICNKTiCluKXppc2hvKXoCisrpLik7KS5ICNUMzAgvKul7KW5CisrpLik8yAjU1VDIL/QCisrpLik86S4pOOhvCAjSk4gpbil86W4peOhvAorK6S4pPOky6SvICNUMzUgv83G+QorK6S4pPOky6SvICNUMzUgv83G+bvUvuwKKyukuKTzpMukr6SkpMGk0CAjVDM1IL/NxvkKKyukuKTzpMukr6SkpMGk0CAjVDM1IL/Nxvm71L7sCisrpLik86TfpPOksKTzpLCk86SrpPMgI0pOIL/NzLG3s7eztLEKKyukuKTzpOGk86S0pK2k1qTqpMOkxCAjSk4gv83MzKW0pa2l1qXqpcOlxAorK6S5obyk0aG8pLSk6qSqICNKTiCluaG8pdGhvKW0peqlqgorK6S5obyk0aG8pOKkyqSupLOkv6SkpLuk8yAjSk4gpbmhvKXRobyl4qXKpa6ls8LnwO8KKyukuaG8pNGhvKTqpKKk66TBpOWkpqTcpKYgI1QzNSCluaG8pdGhvKXqpaKl67/fy7wKKyukuaSkpLuk86SrpPOkuaTsICNLSyC/5cD2tMmluaXsCisrpLmkpKS7pPOkq6TzpLmk7CAjVDM1IL/lwPa0yaW5pewKKyukuaSkpL2kpiAjVDM1IL/lweUKKyukuaSkpL+ko6TnpKUgI0pOILXbpKSkv6SjpOekpaGhCisrpLmkpKS/pKSk6KSmICNKTiC126SkpL+ko6TnpKWhoQorK6S5pKak0aSipM6kpqGrpKEgI1QzNSCluaG8pdGhvKXOpfSloQorK6S5pKak0aSipM+kq6SiICNUMzUgpbmhvKXRobylz6WrobwKKyukuaSmpNGkoqTqpKKk66TBpOWkpqTcpKYgI1QzNSCluaG8pdGhvKXqpaKl67/fy7wKKyukuaSmpOKkuKTipLikuqTEpMSkr6TDpMak1aTkpLekv6SipLmkraG8pKKhvKTIICNKTiC/9Mq4u/qkuqTEwf2k5KS3pMa67qTDpL+jwaPBCisrpLmkqKTDpLMgI0pOIMv2pMO70gorK6S5pKikw6SzICNUMzUgy/akw7vSCisrpLmkqyAjVDM1IL/cssMKKyukuaSrpKSk6aG8pK+kvKTzpNYgI0NKIKW5paulpKXpobylr8G0yfQKKyukuaSrpOmkoqTPICNUMzUgpbmlq6XpobzHyAorK6S5pK4gI1NVQyC/+QorK6S5pK+kpqSnpKIgI1QzNSCioworK6S5pK+kpqSnpKKk26TzpLek4yAjSk4gpbmlr6WmpaelosvcvNIKKyukuaSvpL2k16TIICNUMzUgpbmlr6W9pdelyAorK6S5pK+kxCAjVDM1IKS5pK+kxAorK6S5pK+k6qTXpMggI1QzNSCluaWvpeql16XICisrpLmktKTepLikpCAjQ0ogpLmktKTepLikpAorK6S5pLaksaTrpMogI0NKIKS5pLaksaTrpMqhqgorK6S5pLmkuiAjVDM1IKW5pbmlugorK6S5pLqkraTgpM2kqqTHpLekvyAjSk4gocqhpqLPoaahy87rzNq9ocPLjsOO3o68jsAKKyukuaS6pK2k4KTNpKqkx6S3pL8gI0pOIM7rzNq9ocPLpcelt6W/CisrpLmkuqStpOCkzaSqpMekt6S/ICNKTiDO68zavaHDy47Djt6OvI7ACisrpLmkv6G8pN6k8yAjSk4gpbmlv6G8pd6l8worK6S5pL+kuKSqpMukwaTjpPOkzaTrpM+kuKTepOuk6CAjSk4gpbmlv6W4paoyY2i7z6TepOuk6KL2CisrpLmkwaS6ICNKTiDBx8PPv94KKyukuaTBpLogI1QzNSDBx8PPv94KKyukuaTDpLSkr6SrpO+kpKSkpOKkyqG8ICNKTiCh+aS5pMOktKSvofmkq6TvpKSkpCheb14ppeKlyqG8CisrpLmkw6TJpOwgI0pOIKHKoaaiz6GmocuOvY6vjsSO3o7aIQorK6S5pMOkyaTsICNKTiCluaXDpcml7AorK6S5pMOkyaTsICNKTiCOvY6vjsSO3o7aCisrpLmkw6TJpOwgI1QzNSCluaXDpcml7AorK6S5pMakraS/pKSk4CAjVDM1IKW5pcalraW/paSl4AorK6S5pMakz6TzICNUMzUgvM6kxqXPpfMKKyukuaTIobykq6ThpLMgI1QzNSCluaXIobylq6XhpbMKKyukuaTIpKakq6ThpLMgI1QzNSCluaXIobylq6XhpbMKKyukuaTIpOqkw6TXICNUMzUgwcelyKXqpcOl1worK6S5pMqkpKTXICNUMzAgpbmlyqWkpdcKKyukuaTKpKuksaTQpNCkoiAjSk4gur2kq6Sxx8wKKyukuaTNpKukuKTqICNUMzUgpbmlzaSrpLik6gorK6S5pM6hvCAjVDM1IKPTo86jz6PXCisrpLmkzqSmICNUMzUgU05PVworK6S5pNEgI0tTIKW5pdEKKyukuaTRobykr6TipMqhvCAjSk4gpbml0aG8pa+l4qXKobwKKyukuaTRpLehvKTcICNUMzUgocqhpqLPoaahy6W5pdGlt6G8pdwhIaHpIAorK6S5pNGkt6G8pNwgI1QzNSChyqGmos+hpqHLjr2Oyo7fjryOsI7Ojt4hIaHpIAorK6S5pNGkt6G8pNwgI1QzNSCluaXRpbehvKXcCisrpLmk0aS3obyk3CAjVDM1II69jsqO3468jrCOzo7eCisrpLmk0aS3obyk3KSzpKakqyAjVDM1IKW5pdGlt6G8pdy4+rLMCisrpLmk0aS3pKSk3CAjVDM1IKHKoaaiz6GmocuOvY7Kjt+OvI6wjs6O3iEhoekgCisrpLmk0aS3pKSk3CAjVDM1II69jsqO3468jrCOzo7eCisrpLmk0aS3pKSk3KSzpKakqyAjVDM1IKW5pdGlt6G8pdy4+rLMCisrpLmk0aTBpOWkpiAjVDM1IKW5pdG/3worK6S5pNGk4CAjVDMwIKW5pdGl4AorK6S5pNGk4CAjVDM1IHNwYW0KKyukuaTRpOAgI1QzNSCluaXRpeAKKyukuaTRpPMgI0pOIFNQQU4KKyukuaTUpN6kuSAjVDM1IKW5pdSl3qW5CisrpLmk1aSjpPOkr6S5ICNKTiCluaXVpaOl86WvpbmhoQorK6S5pNakv6TzICNUMzUgpbml1qW/pfMKKyukuaTapOmk86SrobwgI0tLIKW5pdql6aXzpauhvAorK6S5pNqk6aTzpKuhvCAjVDM1IKW5pdql6aXzpauhvAorK6S5pNqk6aTzpKukoiAjVDM1IKW5pdql6aXzpauhvAorK6S5pN4gI0pOIL/cy+EKKyukuaTeICNUMzUgv9zL4QorK6S5pN6kvSAjQ0ogpbml3qW9CisrpLmk4KTppMOkyCAjVDM1IFNNQVJUCisrpLmk4KTppMOkyCAjVDM1IKPTo82j0qPBo9QKKyukuaToICNKTiCluaXoCisrpLmk6aSkpOAgI0pOIKW5pemlpKXgCisrpLmk66TDpMikwaTjpPMgI0pOIKW5peulw6XIpMGk46TzCisrpLmk7CAjVDM1IKW5pewKKyukuaTspLSk0KSvICNUMzAgpbml7Ljtx/oKKyukuaTspLWkr6S4pOcgI1QzMCCluaXsuu+9/AorK6S5pOykuaTIICNUMzUgpbml7KW5pcgKKyukuaTspL+kpCAjVDM1IKW5peylv6WkCisrpLmk7KTBpKykpCAjVDM1IKW5peyw46SkCisrpLmk7KTDpMkgI1QzNSCkuaTspMOkyQorK6S5pOykw6TJICNUMzUgpbml7KXDpckKKyukuaTspMOkyaSipMOkt6TlpK8gI1QzMCCluaXspcOlybC1vcwKKyukuaTspMOkyaSipMOkt6TlpK8gI1QzNSCluaXspcOlybC1vcwKKyukuaTspMOkyaSkpMGk6aTzICNUMzUgpbml7KXDpcmw7M33CisrpLmk7KTDpMmkuaTIpMOk0aG8ICNUMzUgpbml7KXDpcmluaXIpcOl0aG8CisrpLmk7KTDpMmkuaTIpMOk0aG8pLmkxqG8pLek56TzICNKTiCluaXspcOlyaW5pcilw6XRobyluaXGobylt6XnpfMKKyukuaTspMOkyaS5pMikw6TRpKIgI1QzNSCluaXspcOlyaW5pcilw6XRobwKKyukuaTspMOkyaTSpOekpqSrpMuk86TGpKSkpKSkpPOkq6SkICNKTiCluaXspcOlycm+ssHHp8TqsNGw97LxCisrpLmk7KTDpMmk1aTtobykyKTbpKakt6StICNUMzUgpbml7KXDpcml1aXtobylyMr9vLAKKyukuaTspMOkyaTVpO2kpqTIpNukpqS3pK0gI1QzNSCluaXspcOlyaXVpe2hvKXIyv28sAorK6S5pOykw6TJpOykpKTXICNUMzAgpbml7KXDpcml7KWkpdcKKyukuaTspMuk86TGpKSkt6TnpKYgI0pOIKW5pezHp8TqvtoKKyukuaTspNKk56SmpKukuKTnpKYgI0pOIKW5pezJvrLBvu4KKyukuaTspPKk6KS0ICNTNSCluaXspPKx+AorK6S5pOyk8qTopLSkuSAjQ0ogpbml7KTysfikuQorK6S5pO2kw6TIpKqk3KSopL+kxqTHICNDSiCluaXtpcOlyLPQpKikv6TGpMcKKyukuaTzpLmk86S5pKak8yAjQ0ogKKGmos+hpimOvY7djr2O3Y69jrCO3aL2CisrpLmk86S5pPOkuaSmpPMgI0NKIKW5pfOluaXzpbmhvKXzovYKKyukuaTzpN6kvSAjQ0ogpLmk86TepL0KKyukuqS0pKqk3qSwICNKTiCluqGmpbSlqqXeoaalsAorK6S6pLWkrqSzICNKTiCluqW2pa6lsworK6S6pLakyqTepM+ksqS1pN4gI0pOIKHKpbqltqHLpcql3qXPpbLNzQorK6S6pOmk6aG8ICNKTiCluqXppemhvAorK6S6pOqku6S9ICNUMzUgpbql6qW7pfMKKyukuqTrpKSkqqTzpMogI0tLIKS6pOukpL33CisrpLqk66SkpKqk86TKICNUMzUgpLqk66SkvfcKKyukuqTsICNUMzUgpbql7AorK6S6pOykrKS5pK+kyqSkpM6kx6S3pOWkpqS7pKSkt6TGpKqkraTepLekvyAjSk4gpbql7KSsvq6ktaSkpM6kx72kwLWkt6TGpKqkraTepLekv6GjCisrpLqk7KSspLmkr6TKpKSkzqTHpLek5aSmpLukpKS3pN6kt6S/ICNKTiCluqXspKy+r6TKpKSkzqTHvaTAtaS3pN6kt6S/CisrpLqk7KSspLmkr6TKpKSkzqTHpLek5aSmpLukpKS3pN6kuSAjSk4gpbql7KSsvq+kyqSkpM6kx72kwLWkt6TepLkKKyuku6G8pOmk4KSqpKaks6SvICNKTiCku6G8pOmk4KSqpKaks6SvCisrpLukpKSrpKQgI1QzNSDArbL0CisrpLukpKSupLMgI0pOIKW7paSlrqWzCisrpLukpKSupLMgI0pOIKW7paSlrqWzIAorK6S7pKSktCAjSk5NIMCsuOMKKyuku6SkpLSkpiAjSk4gwK256worK6S7pKSktKSmICNUMzUgwK256worK6S7pKSkt6TlpPMgI0pOIMDEvdUKKyuku6SkpLek86TGpK2k1qTppK+k6SAjVDM1IMC6v8DFqqXWpemlr6XpCisrpLukpKS7pPOkt6TnpK+k0qTzpOKk6aTepLUgI0pOIMC4wa+/qcnKpeKl6aXepbUKKyuku6SkpL2kpqTBpOWkpiAjVDM1IMC2wd2/3worK6S7pKSkwSAjVDM1IMC7w88KKyuku6SkpMggI0pOIMC4xcwKKyuku6SkpMggI0pOIMC4xcyhqQorK6S7pKSkyDIgI0pOIMC4xcyj1qPlo/KjsgorK6S7pKSkyDMgI0pOIMC4xcyj1qPlo/KjsworK6S7pKSkyKSkpOmkzaG8pOggI0pOIMC4xcylpKXppc2hvKXoCisrpLukpKTIpKaktyAjSk4gwLjFzLXtCisrpLukpKTIpKukqqTApLEgI0pOICihqKGtp6Whrimhv8DowLihqqGmoaahpqGmCisrpLukpKTIpKukqqTApLEgI0pOIMC4xcy06aTApLEKKyuku6SkpMiktaSkpLek56SmICNKTiDAuMXMuse+rgorK6S7pKSkyKS4pKqk86SwICNKTiDAuMXMpbilqqXzpbAKKyuku6SkpMikuKTlpKak7aSvpK+k8yAjSk4gwLjFzKOxo7a3rworK6S7pKSkyKS5pNWko6TzpK+kuSAjSk4gwLjFzKW5pdWlo6Xzpa+luQorK6S7pKSkyKS6pLSkqqTepLAgI0pOIMC4xcyluqGmpbSlqqXeoaalsAorK6S7pKSkyKTApKSkpKTBpNWkw6S1obyk6yAjSk4gwLjFzMLosOyl1aXDpbWhvKXrCisrpLukpKTIpMCkpKSkpMGk1aTDpLWhvKTrpNChvKS4pOek8zIgI0pOIMC4xczC6LDspdWlw6W1obyl63ZlcqOyCisrpLukpKTIpMCkpKSkpMGk1aTDpLWhvKTrpNChvKS4pOek8zMgI0pOIMC4xczC6LDspdWlw6W1obyl63ZlcqOzCisrpLukpKTIpM6kziAjSk4gwLjFzKTOpM4KKyuku6SkpMikz6TppN6kraTQobykuKTnpPMxICNKTiDAuMXMyqK0rKSto9aj5aPyo7EKKyuku6SkpMikz6TppN6kraTQobykuKTnpPMyICNKTiDAuMXMyqK0rKSto9aj5aPyo7IKKyuku6SkpMik1aG8pPMgI0pOIMC4xcyk1aG8pPMKKyuku6SkpMik1aS1pNakxCAjSk4gwLjFzKTVpLWk1qTECisrpLukpKTIpNakxKTWpMQgI0pOIMC4xcyk1qTEpNakxAorK6S7pKSkyKTWpMSk1qTEpLik5aSmpO2kr6SvpPMgI0pOIMC4xcyk1qTEpNakxKOxo7a3rworK6S7pKSkyKTWpMSk1qTEpMmkpqToICNKTiDAuMXMpNakxKTWpMSkyaSmpOgKKyuku6SkpMik1qTEpNakxKTJpKak6KTQobykuKTnpPMyICNKTiDAuMXMpNakxKTWpMSkyaSmpOij1qPlo/KjsgorK6S7pKSkyKTgpMOkryAjSk4gwLjFzKXgpcOlrworK6S7pKSkyKThpL+k6aG8pNChvKS4pOek8zEgI0pOIMC4xcyl4aW/pemhvHZlcqOxCisrpLukpKTIpOGkv6Tpobyk0KG8pLik56TzMiAjSk4gwLjFzKXhpb+l6aG8dmVyo7IKKyuku6SkpMik6aTHpKOk8yAjSk4gwLjFzKXppcelo6XzCisrpLukpKTIpOykq6TgpMGk46TDpKuk36S9pMGk86TPpKakuSAjSk4gwLjFzKXsoaakq6TgpMGk46TDpKuk36S9xMGlz6WmpbkKKyuku6SkpMik86G8ICNKTiDAuMXMpPOhwaGqoakKKyuku6SkpOqk5aSmICNUMzUgwLbC7QorK6S7pKukpKS7pNWkr6TypL+kr6TppOCk4qTppOmhvCAjSk4gwKSzpqHWwKmh18n+pPK066TgpeKl6aXpobwKKyuku6SspLek86S4pOMgI1QzNSClu6Wsv6681AorK6S7pKyk06G8ICNUMzUgpbulrEIKKyuku6SspO8gI1QzNSClu8jpCisrpLukraS5pKQgI0tLIMDRv+UKKyuku6StpLmkpCAjVDM1IMDRv+UKKyuku6StpLqkpKTPpPOkt6TjpOykuSAjVDMwIMDUv/HIv7zNpeyluQorK6S7pK2kuqSkpM+k86S3pOOk7KS5ICNUMzUgwNS/8ci/vM2l7KW5CisrpLukr6G8pLkgI0NOIKW7pa+hvKW5CisrpLukr6G8pLkgI1QzMCClu6WvobyluQorK6S7pK+hvKS5ICNUMzUgpbulr6G8pbkKKyuku6TfpLWk86SzpKqkuSAjVDM1IKW7pd+ktaTzpbOhvKW5CisrpLuk66SypKik4CAjVDM1IKW7peulsqG8peAKKyuku6TzICNUMzUgMTAwMAorK6S7pPOkpKSvpL+k06TLpKSkv6TypMak86TGpPOkyKS5pOukuaTspMOkySAjVDM1IDEwMDC51KSvpL+k06TLyMSk8sW+obmkyKS5pOuluaXspcOlyQorK6S7pPOkpKTBICNUMzUgMTAwMQorK6S7pPOks6SmpLek4yAjSk4gwOi4+LzUCisrpLuk86SzpKakt6TjICNKTiDA6LnUvNQKKyuku6TzpLOkpqS3pOMgI1QzNSDA6LnUvNQKKyuku6TzpLek5aSmpKykw6SzpKYgI1QzNSDA7L2ks9i5uworK6S7pPOkuaSkpKuk86S5pOwgI1QzNSDA+L/ltM+luaXsCisrpLuk86S7pKQgI0pOIMDowLgKKyuku6TzpLukpKS/pLmksaTGICNKTiDA6MC4oaq99aSxpMahqgorK6S7pPOku6SkpNWktaTWpMQgI0pOIMDowLik1aS1pNakxAorK6S7pPOku6SkpNakxKTWpMQgI0pOIMDowLik1qTEpNakxAorK6S7pPOkvaSmICNUMzUgMTAwMMHoCisrpLuk86TOpKakt6TlpKakq6SkICNUMzUgwPbHvr24svEKKyuku6TzpOKk86SkpL8gI1QzNSDA7MznyMQKKyukvKTDpMikrSAjSk4go9q0+gorK6S8pMOkyKS3pK0gI1QzNSCj2rywCisrpLykw6TIpL+ksSAjVDM1IKPayfAKKyukvKTDpMikwaTjpPOkzaTrpKak86SopKSkuKTzICNKTiBaY2ixv7HEv9gKKyukvKTVpKGhvKSipPOkwaTjpPMgI0pOIKW8pdWloaG8pKKk86TBpOOk8worK6S8pO0gI1QzNSAwCisrpLyk7aTvpPMgI1QzNSDO7bDtCisrpLyk86TEpKYgI1QzMCDBtMTMCisrpLyk86TEpKYgI1QzNSDBtMTMCisrpLyk86TpICNUMzUgwbTN5worK6S8pPOk6aS/pKQgI1QzNSDBtM3nwuIKKyukvaG8pLkgI1QzNSClvaG8pbkKKyukvaG8pLmkzyAjQ0ogpb2hvKW5pM+hqQorK6S9obykx6TipMqkpKToICNKTiCkvaG8pMek4qTKpKSk6AorK6S9obykyqTOICNKTiClvaG8pcqlzgorK6S9pKSkvyAjQ04gpL3IxAorK6S9pKSkvyAjVDM1IKS9yMQKKyukvaSmpKsgI1QzNSDB2LK9CisrpL2kpqSvpMQgI1QzNSDB47eiCisrpL2kpqSxpKQgI0tLIMHht8QKKyukvaSmpLGkpCAjVDM1IMHht8QKKyukvaSmpLGkpKS4pOekpqTBICNUMzUgweG3xL7lw9IKKyukvaSmpLMgI1QzNSDB0rjLCisrpL2kpqSzpKSkrSAjQ0ogwdK4y8DCpK0KKyukvaSmpLOkpKStICNUMzUgwdK4y7nUpK0KKyukvaSmpLOkpiAjSk4gweK5vworK6S9pKaks6TQpPMgI1QzNSDB0rjLyNYKKyukvaSmpLSkpqS5pOykw6TJICNUMzUgwe2556W5peylw6XJCisrpL2kpqS1pKQgI1QzNSDB7brbCisrpL2kpqS3pOekryAjVDMwIMH1vv4KKyukvaSmpLik8yAjSk4gweK/zgorK6S9pKakuSAjVDM1IKW9obyluQorK6S9pKakwaTnpKak7KS5ICNUMzAgweHEq6XspbkKKyukvaSmpMek4qTKpKSk6CAjQ0ogpL2kpqTHpOKkyqSkpOgKKyukvaSmpMek4qTKpKSk6CAjSk4gpL2kpqTHpOKkyqSkpOgKKyukvaSmpMikpiAjVDM1IMHtxf0KKyukvaSmpM+kpKSrpPOktqStICNDSiCkvaSmpM+kpL/AuuoKKyukvaSmpOqkvaSmpOqk46SvICNUMzUgwc/N+MHPzqwKKyukvaSrpKQgI1QzMCDBwrOrCisrpL2kr6S3ICNUMzUgwqi74AorK6S9pK+kt6S5pOwgI1QzNSDCqLvgpbml7AorK6S9pK+kt6TPpPOkxqSkICNUMzUgwqi74Mi9xOoKKyukvaSvpNukpiAjQ0ogwq7K86GqCisrpL2kr6TspLkgI1QzMCDCqKXspbkKKyukvaSvpOykuSAjVDM1IMKopeyluQorK6S9pMuhvKS/pKSk3qG8ICNUMzUgpb2ly6G8pb+lpKXeobwKKyukvaTLpKSkv6SkpN6koiAjVDM1IKW9pcuhvKW/paSl3qG8CisrpL2kzKStpOWkpqTTpPMgI0pOIKW+pcy13srYCisrpL2kziAjSk4gpL2kzgorK6S9pM6ksyAjSk4gsfG70gorK6S9pM6kxKSvpKukpKS3pOMgI1QzNSCh1qS9odekzqTEpK+y8bzSCisrpL2k0KTQpNChvKTzICNKTiClvaXQpdCl0C2l8yEhIQorK6S9pNCk0KTQobyk8yAjSk4gjr+Oyo7ejsqO3o7Kjt4tjt0hISEKKyukvaTQpNCk0KG8pPMgI0pOII6/jsqO3o7Kjt6Oyo7ejrCO3SEhISEKKyukvaTTpKikyCAjSk4gpb2l06WopcgKKyukvaTVpN6kw6TXICNKTiClvaXVpd6lw6XXoaEKKyukvaTcpK+kyqSupOKhvKTzICNDSiDBx8vRpMqkrqTiobyk8worK6S9pN6k6qTkpKykpKS5pOmk4KTLpL2k3qTqpOQgI0NKIKW9pd6l6qXkpKylpKW5peml4KTLpL2k3qTqpOQKKyukvaTppKSk4CAjSk4gpb2l6aWkpeAKKyukvaTppMqkpKTvICNKTiClvaXppcqlpKXvCisrpL2k6aTNobykx6ToICNKTiClvaXppc2hvKXHpegKKyukvaTppM2hvKToICNKTiClvaXppc2hvKXoCisrpL2k6aTNobyk6KSrpPOkpKTQpPMgI0pOIKW9pemlzaG8pei0yrDXyMcKKyukvaTppN+kv6SzpMikqyAjSk4gpL2k6birpL+ks6TIpKsKKyukvaTqpMOkyaTipMqhvKSvICNKTiClvaXqpcOlyaGmpeKlyqG8pa8KKyukvaTspKykyqTLpKsgI0pOIKW9peylrKXKoeGly6WrCisrpL2k8yAjSk5TIMK5CisrpL2k86S0pK+kpiAjVDM1IMK5uOe29QorK6S9pPOkt6TOpM+kv6S4pOuktyAjSk4gwrm70qTOtPqw9QorK6S9pPOkyqTOpLekw6TBpOek7KSuICNKTiCkvaTzpMqkzsPOpMOlwaXnpeylrgorK6S9pPOkyqTQpMqkyqSupLMgI0pOIKS9pPOkyqXQpcqlyqWupbMKKyukvaTzpN6ktaTopLcgI0pOIMK5wLW1wQorK6S+pKSkyaSkpL8gI0NOIKW+paSlycjECisrpL6kpKTJpKSkvyAjVDM1IKW+paSlycjECisrpL6kuSAjQ0ogpb6luQorK6S+pMukw6SvICNKTiCkvqTLpMOkrworK6S+pMukw6SvpMCk86S3pOOkryAjSk4gpL6ky6TDpK/Dy7zfCisrpL6ky6TDpK+kwKTzpLek46SvpKKk66TVpKEgI0pOIKS+pMukw6Svw8u836bBCisrpL6ky6TDpK+kwKTzpLek46SvpKahq6SjpK+kyKTqobwgI0pOIKS+pMukw6Svw8u831YKKyukvqTMICNKTiCkvqTMCisrpL6kzCAjSk4gpb6lzAorK6S+pMwgI1QzNSCkvqTMCisrpL6kzKG8pNShvCAjSk4gpb6lzKG8pdShvAorK6S+pMyktqThpKSkv6TzpMakpCAjSk4gpL6kzKGmpbahpszCw7XE5QorK6S+pMykt6TjpMGk56SmICNKTiCkvqTMvNLEuQorK6S+pMykw6TGpOsgI0NKIKS+pMykw6TGpOsKKyukvqTMpNaktyAjVDM1IKS+pMzJ+gorK6S+pMyk3qS3pPMgI0pOIKS+pMyl3qW3pfMKKyukvqTNICNUMzUgpL6kzQorK6S+pOAgI0pOIKW+peAKKyukvqTtpNCk8yAjVDM1IKW+pe2l0KXzCisrpL8gI0s1IL/mCisrpL8gI0tKIL/mCisrpL+hvKTzICNKTiCOwI6wjt0KKyukv6SkICNKTiDC5AorK6S/pKQgI1QzNSDC5AorK6S/pKShvKTbICNDSiClv6WkqKyorKisqKx8fKa1fCh8oa18p6V8YHwpfKa1fHyorKisqKyorKXbCisrpL+kpKG8pNsgI0NKIKW/paSorKisqKyorKHDocOmtaHDocqhw6GsocOiz6HDoayhw6HLocOmtaHDocOorKisqKyorKXboaqhqqGqCisrpL+kpKG8pNsgI0NKII7AjrKorKisqKyorHx8prV8KHyO33yiz3yO33wpfKa1fHyorKisqKyorI7OISEhCisrpL+kpKStICNUMzUgwue1pAorK6S/pKSkt6SrpPMgI1QzNSDC57vItNsKKyukv6SkpLek56SmpLek56SmpO+krqSzICNKTiDC58C1vrzPwrW8uMUKKyukv6SkpMGk56SmICNDSiDC4sS5oaoKKyukv6SkpMik66TQpMqhvCAjVDM1IKW/paSlyKXrpdClyqG8CisrpL+kpKTgICNUMzUgVElNRQorK6S/pKSk4KTRpOmkyaTDpK+kuSAjVDM1IKW/paSl4KXRpemlyaXDpa+luQorK6S/pKSk76TzICNUMzUgpb+lpLikCisrpL+kq6SspN2k86S1pOykyaTdpPMgI0NKIKS/pKukrKXdpfOktaTspMml3aXzCisrpL+kq6S1pK2k36TvICNKTiC54rrqyP7PwiAKKyukv6SrpLWk8yAjSk5NIKW/pauktaTzCisrpL+kq6S1pPMgI1QzNSClv6WrpLWk8worK6S/pKukt6SvpPOkuKSxpPMgI0tLIKS/pKukt7evu/a37worK6S/pKukt6SvpPOkuKSxpPMgI1QzNSCkv6SrpLe3r7v2t+8KKyukv6SrpL+kt6TjpMGk56SmICNKTlMgpL+kq6S/vNLEuQorK6S/pKukv6S3pOOkwaTnpKYgI0pOU1VDIKS/pKukv7zSxLkKKyukv6SrpM+kt6TopLcgI1QzNSC54ra2zbMKKyukv6SrpOmkrqSzICNKTiClv6WrpemlrqWzCisrpL+kr6SipPOk4qTKobwgI0pOIKS/pK+koqTzpeKlyqG8CisrpL+kr6StpOWkpiAjVDM1IMLwteUKKyukv6SwpMGky6TDpK0gI1QzNSDFxLj9xvy1rQorK6S/pLGkt6SvpPMgI0pOTSCkv6SxpLe3rworK6S/pLGkwKStpL6kzCAjSk4gyfDFxLWzpL6kzAorK6S/pLGkwKStpNAgI0pOIMnwxcS1s8fPCisrpL+ksaTApK2k0KSwpPOkwKTzICNUMzUgyfDFxLWzx8+3s8PECisrpL+ksaTVpLikzqS3obykqKTgICNKTiDJ8MnZu86kzqPDo80KKyukv6SzpLWk0CAjVDM1IHRha2+7qgorK6S/pLOkzaSzICNKTiClv6WzpM2ksworK6S/pLOkzaSzICNKTiClv6WzpM2ksyAKKyukv6S3pO0gI0pOUyDFxMLlCisrpL+kt6TtICNUMzUgxcTC5QorK6S/pLek7aTDpK8gI0tLIKW/pbel7aXDpa8KKyukv6S3pO2k26SmICNUMzUgxcTC5cukCisrpL+kt6TtpN6ktaS3ICNKTiDFxMLlpN6ktaS3IAorK6S/pLek7aTepMSk6iAjVDM1IMXEwuW616TqCisrpL+kuKTlpKYgI1QzMCDCv73FCisrpL+kuKTlpKakyKSmpLOkpiAjVDMwIMK/vcXF6rnGCisrpL+kuaSjpO2kuSAjVDM1IKW/pbmlo6XtpbkKKyukv6S9pKyk7CAjS0sgw6/I4AorK6S/pL2krKTsICNUMzUgw6/I4AorK6S/pL2kvaStobykvSAjQ0ogpb+lvaW9pa2hvKW9CisrpL+kvaS9pK2hvKS9ICNDSiCOwI6/jr+Ot46wjr8KKyukv6S9pL2kraG8pL0gI0pOICiO36LPjt8pjsCOv46/jreOsI6/CisrpL+kvaS9pK2hvKS9ICNKTiClv6W9pb2lraG8pb0gCisrpL+kvaS9pK2hvKS9ICNKTiCOwI6/jr+Ot46wjr8gCisrpL+kvyAjSzVyIMOhCisrpL+kv6StICNUMzUgw6GkrQorK6S/pL+kryAjSzVyIMOhpK8KKyukv6TApK2kwaS1pPMgI0pOIMPptciktaTzCisrpL+kwKStpMGktaTzICNKTiDD6bXIpLWk8yAKKyukv6TApM4gI1QzNSBURE4KKyukv6TApPOkr6S3ICNUMzUgwr/Dyrb6CisrpL+kw6StpOWkpiAjVDM1IMLwteUKKyukv6TGpKKk6aS3ICNUMzUgzqmkxrnTpOmktworK6S/pMakyqSqpLcgI1QzNSDOqaTGxL6ktworK6S/pMaky6SyICNUMzAgzqmkxsaopLIKKyukv6TGpOik3yAjVDM1IL3Exsmk3worK6S/pMqkqyAjSk4gxcTD5gorK6S/pMqkqyAjSk5TIMXEw+YKKyukv6TKpKuk1aShpPOkv6S4pKQgI1QzNSDFxMPmpdWloaXzpb+luKG8CisrpL+kyqSrpOKkyqTkICNKTiDFxMPmpeKlyszpCisrpL+kyqTQpL+kqKTJpKak7aSmpOKkyqG8ICNKTiC8t828s6ikyaSmpO2kpqXipcqhvAorK6S/pMuktqTvpMmkpqTWpMSk06TnpKakpKTzICNUMzUgw6vft8awyqrJwrGhCisrpL+kzSAjVDM1ILzvCisrpL+kzaTBpOWkpiAjVDM1ILzvv98KKyukv6TNpMqktyAjSk4gvO/MtaS3CisrpL+kzaTKpLcgI1QzNSC878y1pLcKKyukv6TQICNLSyDCqworK6S/pNAgI1QzNSDCqworK6S/pNCkuKTnpKaku6TzICNUMzUgwqu+5cD+CisrpL+k3qS0ICNUMzUgtsy70gorK6S/pN6kwaTjpPMgI0pOIKW/pd6kwaTjpPMKKyukv6TfpOQgI0tLIKW/pd+l5AorK6S/pOCk6aTqpOekpqSzICNKTiDFxMK8zry70gorK6TApOGk3SAjQ0ogobJ8obF8ofsKKyukwKThpN0gI0NKIG9yegorK6TApOGk3SAjQ0ogX25vCisrpL+k4qTqICNKTiClv6XipeoKKyukv6TpICNLSyDDrQorK6S/pOkgI1QzNSDDrQorK6S/pOmksyAjVDM1IKW/pemlsworK6S/pOqkraTBpOOk8yAjVDM1IMK+zs+kwaTjpPMKKyukv6TqpNCk8yAjQ04gpb+l6sjECisrpL+k6qTQpPMgI1QzNSClv6XqyMQKKyukv6TqpNCk86S/pO2kpiAjVDM1IKW/peql0KXzwsDPugorK6S/pOuksaSoICNUMzUgpb+l66WxobwKKyukv6TspN+k36TipMqhvCAjSk4gpL+k7LyqpeKlyqG8CisrpL+k7aSmICNTVUMgwsDPugorK6S/pO2kpiAjVDM1IKH7ofvCwM+6CisrpL+k76TpICNUMzUgVEFXQVJBCisrpL+k8yAjU1VDIKW/pfMKKyukv6TzICNTVUMgjsCO3QorK6S/pPOkraTlobwgI0NKIKW/pfOlraXlobwKKyukv6TzpK2k5aG8ICNDSiCOwI7djreOrY6wCisrpL+k86StpOWkpiAjQ0ogpb+l86WtpeWhvAorK6S/pPOkraTlpKYgI0NKII7Ajt2Ot46tjrAKKyukv6TzpL2kraG8pPMgI0NKICihpqLPoaYppb+l86W9pa2hvKXzIAorK6S/pPOkvaStobyk8yAjQ0ogKKGmos+hpimOwI7djr+Ot46wjt0gCisrpL+k86S9pK2hvKTzICNDSiAooayiz6GsKaW/pb2lvaWtobylvSAKKyukv6TzpL2kraG8pPMgI0NKICiO36LPjt8pjsCOv46/jreOsI6/IAorK6S/pPOkvaStobyk8yAjQ0ogpb+l86W9pa2hvKXzIAorK6S/pPOkvaStobyk8yAjQ0ogjsCO3Y6/jreOsI7dIAorK6S/pPOkvaStobyk8yAjSk4gKKGmos+hpimOwI7djr+Ot46wjt0KKyukv6TzpL2kraG8pPMgI0pOIKW/pfOlvaWtobyl8yAKKyukv6TzpL2kraG8pPMgI0pOIMDdv7ew3QorK6S/pPOkvaStobyk8yAjSk4gjsCO3Y6/jreOsI7dIAorK6S/pPOkvaSvpOSkr6S2ICNKTiDDu8KtjtSOuI67jt4KKyukv6TzpN2k3aS9pPOktyAjSk4gs/e4+LHRwrq71QorK6TAobyk5KS5ICNKTiClwKG8peSluQorK6TAobyk5KS5ICNUMzUgpcChvKXkpbkKKyukwKG8pOSkuaStpM6ksyAjSk4gpcChvKXkpbmlraXOpbMKKyukwKSipOSkuSAjSk4gpcChvKXkpbkKKyukwKSkpKqkpqTSpLWk3iAjVDM1IMLnsqbI3s3NCisrpMCkpKSrpPOksqTzICNUMzUgwue01Li1CisrpMCkpKS1pK8gI0pOIMLnuu4KKyukwKSkpLek5aTqpOekpqStpPOksKS+obykzCAjSk4gwue8887Opa2l86Wwpb6hvKXMCisrpMCkpKS3pPOkq6TzpLOk6qTzpLogI0pOIMLnv8C0saWzpeql86W6CisrpMCkpKS3pPOkq6TzpMakyqG8ICNKTiDC57/AtLGlxqXKobwKKyukwKSkpLek86SrpPOk4qTSpOMgI0pOIMLnv8C0saXipdKl4worK6TApKSku6TzpLukpCAjVDM1IMLnwOjAuAorK6TApKSkyKSmpKKkxqSkpLOkryAjS0sgwufF7LChxOu58QorK6TApKSkyKSmpKKkxqSkpLOkryAjVDM1IMLnxeywocTrufEKKyukwKSkpMukwaTlpKak3KSmpKSkvyAjVDM1IMLoMr/fy7zIxAorK6TApKSky6TBpOWkpqTcpKakpKS/ICNUMzUgwuijsr/fy7zIxAorK6TApKSk0KSvpM+kxCAjSk4gwufH+sivCisrpMCkpqS9ICNUMzAgpcClpqW9CisrpMCkpqS9ICNUMzUgpcClpqW9CisrpMCkpqTzICNUMzAgpcClpqW9CisrpMCkpqTzICNUMzUgpcClpqW9CisrpMCkpqTzICNUMzUgpcClpqXzCisrpMCkrKS9pOykrKSkpKQgI0NKIKTApKykvaTspKykpKSkCisrpMCksaTJICNTVUMgpMCksaTJCisrpMCksaTJpMqky6SrpLekxKTipPOkoqTrICNDSiCkwKSxpMmhorK/pKu8wczkpKKk66GpCisrpMCksaTPpKuk86TZpPOkt6TGpK+kwKS1pKQgI0NKIKTApLGkz7Sqytukt6TGpK+kwKS1pKQKKyukwKS1pKSkv6TeICNUMzUgpcCltaWkpb+l3gorK6TApLmk2aSnpMAgI0pOIL3QpLmk2aSnwsAKKyukwKS5pOwgI1QzNSDCzKW5pewKKyukwKS5pOykt6TlpKak6KSmpLik5yAjVDM1IMLMpbml7Lz9zca96gorK6TApLuhvKToICNKTiClwKW7obyl6AorK6TApL2kyiAjSk4gpcClvaXKCisrpMCkw6SzpMGk5aSmICNUMzUgpMCkw6Szv98KKyukwKTDpMikpKStICNDSiBkYXTAwqStCisrpMCkw6TIpKSkraS1pOak6iAjSk4gREFUwMKkrbq0zbTN/QorK6TApMOkyKSqpMEgI0NKIGRhdM3upMEKKyukwKTWpOukpKSrpOSkraS9pNAgI0pOIKXApdal66SkpKu+xqStpL2k0AorK6TApNak66TeobykwSAjVDM1IKPXo82jwaPSo8OjyAorK6TApN6kt6S5pOwgI1QzNSDx2aS3pbml7AorK6TApN6k7KSzpL6kpiAjSk4gpcCl3qXspbOlvqWmCisrpMCk36SipPMgI1QzNSClwKXfpaKlvQorK6TApN+koqTzICNUMzUgpcCl36WipfMKKyukwKTfpKKk8yAjVDM1IKXApd+l5KW9CisrpMCk4CAjSk4gorqhyqGmptihpqHLorsKKyukwKTgICNKTiDCzMy1CisrpMCk4CAjVDM1IMLMzLQKKyukwKTgICNUMzUgwszMtQorK6TApOGkq6G8ICNDSiDCzMzcpKuhvAorK6TApOGkq6SiICNDSiDCzMzcpKuhvAorK6TApOGkuaTspMOkyaSrpPOk6qStpLOkpiAjSk4gwszM3I69jtqOr47Ejt60yc39taG5vQorK6TApOGkyqTkpMSkz6TKpMuk8qTkpMOkxqTApOEgI0NKIKTApOGkyqTkpMSkz7K/pPKk5KTDpMak4sLMzNwKKyukwKThpMqk5KTEpM+kyqTLpPKk5KTDpMak4qTApOEgI0NKIKTApOGkysXbpM+yv6TypOSkw6TGpOKkwKThCisrpMCk4aTKpOSkxKTPpMqky6TypOSkw6TGpOKkwKThICNKTiCkwKThpMrF26TPsr+k8qTkpMOkxqTipMCk4QorK6TApOGk0KSzICNUMzUgpcCl4ciiCisrpMCk4aTcpMOkr6S5ICNUMzUgpcCl4aXcpcOlr6W5CisrpMCk6KTipPMgI1QzNSCkwKTopOKk8worK6TApOuk3qTipMqhvCAjSk4gpMCk66TepeKlyqG8CisrpMCk66TepOKkyqG8ICNKTiCkwKTrpN6l4qXKobwgCisrpMCk7KSkpOSkzaTzICNKTiDCxM7usrDHsKGhCisrpMCk7KS5ICNUMzUgwsyl7KW5CisrpMCk7KTipKSkyqSkpLmk7KTSpMik6qTcpMOkwSAjQ0ogw6+k4qSkpMqkpKW5peyho6TSpMik6qTcpMOkwQorK6TBobykuqSxobykrSAjSk4gjsGOsI69jt6OuY6wjrcgCisrpMGhvKTgpMukwaTjpPOkzaTrICNLSyClwaG8peCjsqTBpOOk86TNpOsKKyukwaSjpOKkyqG8ICNKTiCkwaSjpeKlyqG8CisrpMGkp6StpMogI1QzNSClwaWnpa2lygorK6TBpKekwaSnpPMgI1QzNSClwaWnpcGlp6XzCisrpMGkp6TDICNKTiChpaGloaUooa2nqaGuocuOwY6qjq8KKyukwaSnpMMgI0pOIKTBpKekwworK6TBpKukr6TYpPOkyaSmICNUMzAgw8+zzMrRxrAKKyukwaSrpK+k2KTzpMmkpiAjVDM1IMPPs8zK0cawCisrpMGkq6SyICNKTk0gpcGlq6WyCisrpMGkq6SyICNKTk0gt+yxxgorK6TBpKuksiAjSk5NIMb9scYKKyukwaSrpLIgI1QzNSClwaWrpbIKKyukwaSrpLIgI1QzNSC37LHGCisrpMGkq6SyICNUMzUgxv2xxgorK6TBpKukuaTsICNUMzUgw8+yvKW5pewKKyukwaSrpPMgI1QzNSDD1LTBCisrpMGkq6TzpMekw6TBpKKksiAjVDM1IMPUtMGkx6TDpMG+5aSyCisrpMGkraTzpOyhvKS5ICNUMzUgpcGlraXzpeyhvKW5CisrpMGkraTzpOykqKS5ICNUMzUgpcGlraXzpeyhvKW5CisrpMGksqG8pOggI0pOIKXBpbKhvKXoCisrpMGktKSkpM0gI0NKIKXBpbSlpKXNCisrpMGkt6TnpKYgI1QzNSDD077CCisrpMGkuiAjVDM1IMPPv94KKyukwaS/pM2hvKToICNKTiClwaW/pc2hvKXoCisrpMGkwaTnpPOk3qTzpMEgI0pOIKTBpMGk56TzpN6k86TBCisrpMGkw6TRpPMgI0tLIKTBpMOk0aTzCisrpMGkxqSkICNLSyDDz8TsCisrpMGkxqSkICNUMzUgw8/E7AorK6TBpMakpKTipMogI0pOIMPPxOyk4qTKCisrpMGkzaTQobwgI0pOIKXBpc2l0KG8CisrpMGk0KSypPOkuKTzICNUMzUgwOnN1bi2v80KKyukwaTQpLekt6TjICNUMzUgw9THzbvgvNQKKyukwaTQpMik36TzICNUMzUgwOnN1cXUzLEKKyukwaTQpOmkrSAjQ04gpcGl0KXppa0KKyukwaTQpOmkrSAjVDM1IKXBpdCl6aWtCisrpMGk0KTppK4gI0NOIKXBpdCl6aWuCisrpMGk0KTppK4gI1QzNSClwaXQpemlrgorK6TBpNOkrqSzICNKTiCkwaTTpa6lsworK6TBpNOkrqSzpNak6iAjSk4gpMGk06WupbOl1qXqCisrpMGk06S3pKMgI0pOIKTBpNOkt6SjCisrpMGk06TVpLUgI0pOIKXBpdOl1aW1CisrpMGk06TipOmk6aG8ICNKTiClwaXTpeKl6aXpobwKKyukwaThpKQgI1QzNSDDz8y+CisrpMGk46SkICNKTiChoaGhLC5fLiyhoQorK6TBpOOkpCAjSk4gjsGOrI6yoaEKKyukwaTjpNakwKSkICNKTiCkwaTjpNbC5gorK6TBpOOk1qTApKQgI0pOIKi1qKyotQorK6TBpOOk1qTApKSkpKTJpKYgI0pOIKTBpOOk1sLmsNzGsAorK6TBpOOk4CAjSk4gpcGl46XgCisrpMGk46TgICNUMzUgpcGl46XgCisrpMGk46TzpLMgI0pOIKXBpeOl86WzCisrpMGk46TzpLOk3qS5pMAgI1QzNSClwaXjpfOls8H9xcQKKyukwaTjpPOks6TtICNUMzUgpcGl46XzpbOl7QorK6TBpOOk86S1pN4gI1NVQyCkwaTjpPPNzQorK6TBpOOk86S1pN4gI1QzNSCkwaTjpPPNzQorK6TBpOWhvKTBpOWhvKS9pPOksCAjS0sgpMGk5aG8pMGk5aG8pb2l86WwCisrpMGk5aG8pNyhvCAjSk4gpcGl5aG8oaal3KG8CisrpMGk5aG8pNyhvKTHpLmk6CAjSk4gpcGl5aG8pdyhvKTHpLmk6KGqCisrpMGk5aSmICNUMzUgv98KKyukwaTlpKakq6TqpOekpqTqpO2k3KS7pPOks6SmpLek4yAjSk4gw+ay2s7Bzf2l7aXcwOi51LzUCisrpMGk5aSmpKykr6S7pKSkwaTPpOsgI1QzNSDD5rPYwLikwaTPpOsKKyukwaTlpKaksaSkICNUMzAgw+a30QorK6TBpOWkpqSxpPMgI0pOIMPmt/gKKyukwaTlpKaksaTzICNUMzUgw+a3+AorK6TBpOWkpqSzpKqk86TKICNUMzUgw+a4xb33CisrpMGk5aSmpMGk5aSmpL2k86SwICNUMzUgpMGk5aG8pMGk5aG8pb2l86WwCisrpMGk5aSmpNak66SqpPOkyiAjVDM1IMPmuMW99worK6TBpOWkpqTcpKYgI1QzNSC/38u8CisrpMGk5aSmpNykpqSwpPOkwKTzICNUMzUgv9/LvLezw8QKKyukwaTlpKak3KSmpOqky6TlpKak6qTnpK8gI0tLIL/fy7zOpcb9v6kKKyukwaTlpNcgI1QzNSClwaXlpdcKKyukwaTlpNekv6TzICNUMzUgpcGl5aXXpb+l8worK6TBpOWk16S/pPMgI1QzNSCOwY6tjsyO347Ajt0KKyukwaTmICNKTiCkwaTmCisrpMGk5qTipMogI0pOIKTBpOak4qTKCisrpMGk56SkpM6k6iAjVDM1IKXBpeelpKXOpeoKKyukwaTnpKakqqTspLCk66TeICNKTiDEtrK2vNYKKyukwaTnpKaku6SkpMmkw6TIICNKTiAuCisrpMGk56SmpLukpKTJpMOkyCAjSk4gxLTAsKXJpcOlyAorK6TBpOekpqS7pPOkt6TjICNKTiDEqcDvvNQKKyukwaTnpKaku6TzpLukpCAjSk4gxLbA6MC4CisrpMGk56SmpLuk86S7pKQgI1QzNSDEtsDowLgKKyukwaTnpKaky6TBpLek86TWpPMgI0tLIKTBpOekpqTLpMG/t8q5CisrpMGk56SmpMukwaS3pPOk1qTzICNUMzUgpMGk56SmpMukwb+3yrkKKyukwaTnpKak1aSvpLmk7CAjVDM1IL3FyqOluaXsCisrpMGk56SmpNWkr6S5pOykw6TJICNUMzUgvcXKo6W5peylyQorK6TBpOekpqTWpPOk7KS5ICNUMzUgxLnKuKXspbkKKyukwaTnpKak7KS5ICNUMzUgxLml7KW5CisrpMGk56SmpO2kpiAjSk4gxLnPtworK6TBpOekpqTtpKYgI1QzNSDEuc+3CisrpMGk56SvpOqk8yAjVDMwIMS+peql8worK6TBpOekr6TqpPOkryAjVDMwIMS+peql86WvCisrpMGk56S3pOWktaTzICNUMzUgpcGl56W3peWltaXzCisrpMGk56S3pOWktaTzICNUMzUgjsGOro68jq2Ou47dCisrpMGk56S9ICNUMzUgpcGl56W9CisrpMGk56S9ICNUMzUgjsGOro6/CisrpMGk56TDpNGk6iAjVDM1IKXBpeelw6XRpeoKKyukwaTnpOmkzaG8pOggI0pOIKXBpeel6aXNobyl6AorK6TBpOek7KSupLWk6aTAICNKTiClwaXnpeylrqW1pemlwAorK6TBpOek8yAjVDM1IKXBpeel8worK6TBpOek8yAjVDM1II7Bjq6O3QorK6TBpOek86SkpOukt6TzpNak8yAjS0sgpcGl56XzpaSl67+3yrkKKyukwaTnpPOkpKTrpLek86TWpPMgI1QzNSClwaXnpfOlpKXrv7fKuQorK6TBpOek86TKICNDSiClwaXnpfOkygorK6TBpOmkzaG8pOggI0pOIKXBpemlzaG8peihoQorK6TBpOykuSAjVDMwIMPZpeyluQorK6TBpOykuSAjVDM1IMPZpeyluQorK6TBpPMgI1QzNSDEvworK6TBpPMgI1QzNSDEwQorK6TBpPOkq6SzpN+kwKTzICNUMzUgxMGwz8PECisrpMGk86SyICNKTiClwaXzpbIKKyukwaTzpLIgI1QzNSClwaXzpbIKKyukwaTzpLOkqqTzpMkgI1QzNSCkwaTzpLOyu8asCisrpMGk86SzpOCkrqTlobwgI0NKIKTBpPOks6TgpK6k5aG8CisrpMGk86SzpOCkrqTlpKYgI0NKIKTBpPOks6TgpK6k5aG8CisrpMGk86S3pOMgI1QzNSDEwbzWCisrpMGk86S4pOcgI1QzNSDEwb33CisrpMGk86S9pKYgI1QzMCDEwcHVCisrpMGk86S9pKakoqTppLcgI0pOIMTBwfa506TppLcKKyukwaTzpL2kpqS4pPMgI1QzNSDEwcHVv80KKyukwaTzpL2kpqTApPMgI1QzNSDEwcHVw8QKKyukwaTzpL2kpqTApPMgI1QzNSDEwcH2w8QKKyukwaTzpL2kpqTJICNUMzUgxMHB1cXbCisrpMGk86S9pKak2aTzpLik5yAjVDM1IMTBwdXK2L3qCisrpMGk86S9pKak4qTppOmhvCAjSk4gxMLB9qXipeml6aG8CisrpMGk86THpKOkpCAjVDM1IMTBRAorK6TBpPOk0KTzICNUMzUgxMHI1worK6TBpPOk16SmICNLSyDEwcn3CisrpMGk86TXpKYgI0tLIMTEyeWlpgorK6TBpPOk16SmICNUMzUgxMHJ9worK6TBpPOk16SmICNUMzUgxMTJ5aWmCisrpMGk86TXpK8gI1QzNSDEwcn+CisrpMGk86TdobwgI0pOIKHKoaaiz6GmocuOwY7djs6O346wISEKKyukwaTzpN2hvCAjSk4gwd3O3yEKKyukwaTzpN2hvCAjSk4gjsGO3Y7Ojt+OsCEhCisrpMGk86TdpLSkraTWpOogI0pOIKXBpfOl3aW0pa2l1qXqCisrpMGk86TdpMCk8yAjVDM1IMTByuLDxAorK6TCpOOk8yAjSk4gpcKl46XzCisrpMKk86SupOcgI0pOIKTCpPO1+worK6TDpMakpKSmpKukpqGrpKGkqyAjQ0ogpMOkxqSkpKakq6GipfSloaWroakKKyukw6TGpKSkpqSrpKahq6ShpKsgI0NKIKTDpMakpKSmpKuhoo6zjt6Op462oakKKyukw6TGpKSkpqSrpKahq6ShpKsgI0NKIKTDpMakpKSmpKuhoo6zjt6Op462oak+PgorK6TEICAjUjVyIMTgCisrpMQgI1I1IMTgCisrpMShq6S1pK+kxKGrpKikvSAjSk4gKD+izz8pCisrpMShq6S1pK+kxKGrpKikvSAjSk4gpcWltaWvpcWlqKW9CisrpMShq6S1pK+kxKGrpKikvSAjSk4gjsKO3o67jriOwo7ejrSOvworK6TEobwgI0pOIKTEobwKKyukxKG8pKsgI0NKIKTEobykqworK6TEobykq6SrpLOk7aSwpOik4SAjSk4gpMShvKSrsuG17qXtpbDGyaThCisrpMSkpqGrpKGkpCAjSk4gpcSl9KWhpaQKKyukxKSmpLik56SmpM6ktaTzpNCkpCAjQ0ogxMy+76TOo7PH3AorK6TEpKakuKTnpKakzqS1pPOk0KSkICNUMzUgxMy+76TOo7PH3AorK6TEpKak26SmpLek3qS5pL8gI1QzNSDEzMrzpLek3qS5pL8KKyukxKSrICNLSyDEzQorK6TEpKsgI1QzNSDEzQorK6TEpK0gI1QzNSC37gorK6TEpK2kwaTlpKYgI1QzNSC37r/fCisrpMSkraTOpM+kt6S6pK8gI0pOIKTEpK2kzqTPpLekuqSvCisrpMSkraTSpOEgI0tLILfuybEKKyukxKS4ICNUMzUgpM6kzqS/pPMKKyukxKS4ICNUMzUgxNQKKyukxKS4obyk8yAjSk4gxNShvKTzCisrpMSkuKG8pPMgI1QzNSDE1KG8pPMKKyukxKS4pKSk8yAjVDM1IMTUobyk8worK6TEpLikqKStICNKTiDE1LHYCisrpMSkzqTipMqhvCAjSk4gpMSkzqXipcqhvAorK6TEpNwgI0NOIMTbCisrpMSk3CAjVDM1IMTaCisrpMSk3CAjVDM1IMTbCisrpMSk3KTepLik86TfpMukyqTLpOek6qG8pMogI0pOIMTby+K/zaGmjtCOxo7FjsaOro7YjrCOxQorK6TEpN6k86TNICNDSiClxKXepfOlzQorK6TEpOIgI0pOIKXEpeIKKyukxKTmpNKkvyAjVDM1IKTEpOak0qS/CisrpMSk6aSkpLOkyKTypKqk4qSmpOKk6aTpobwgI0pOIL/JpKSks6TIpPK716SmpeKl6aXpobwKKyukxKTqICNUMzUgxOCk6gorK6TEpOqktyAjVDM1IMTgpOq71QorK6TEpOuk2aS4pLGk8yAjVDM1IMThydO79rfvCisrpMSk7KS/ICNUMzUgxOCk7KS/CisrpMWhvCAjSk4gpMWhvAorK6TGpKOhvCAjSk4go/ShoQorK6TGpKOhvKTAICNKTiClxqWjobylwAorK6TGpKOkpKTHpKOkpKSopMwgI1QzNSBURE4KKyukxqSjpKuksiAjSk5NIKXGpaOlq6WyCisrpMako6SrpLIgI1QzNSClxqWjpaulsgorK6TGpKOkraTjobyksiAjVDM1IKXGpaOlraXjobylsgorK6TGpKOkraTjpKKksiAjVDM1IKXGpaOlraXjobylsgorK6TGpKOk0CAjVDM1IKXGpaOl0AorK6TGpKOk0CAjVDM1II7DjqiOyo7eCisrpMako6TgpN0gI1QzNSClxqWjpeCl3QorK6TGpKOk4KTdpM6k76SupOogI1QzNSClxqWjpeCl3aTOztjA2qTqCisrpMako6TgpN2kzqTvpK6k6iAjVDM1II7DjqiO0Y7Ojt+kzs7YwNqk6gorK6TGpKOk4KTdpNOk6yAjVDM1IKXGpaOl4KXdpdOl6worK6TGpKOk86TdICNUMzUgpcalo6Xzpd0KKyukxqSkpK2ksaTzICNUMzUgxOq0/Lf0CisrpMakpKStpOekpiAjVDM1IMTjtrgKKyukxqSkpLOkr6ThpKSkySAjSk4gxOvUosy9xdMKKyukxqSkpLek5aSrpPOk0aSvpOKkyqG8ICNKTiDE4rzntNjH8qXipcqhvAorK6TGpKSku6TEICNUMzUgxOrA4gorK6TGpKSkyaTSpK8gI0tZVCDE+MXZxOMKKyukxqSrpOqk1qS/ICNUMzUgpcalq6XqxtoKKyukxqStpLik5yAjVDMwIKTGpK2kuKTnCisrpMakraTIICNKTiClxqWtpcgKKyukxqSvpOIgI0tLILzqw9jp4QorK6TGpK+k4iAjVDM1ILzqw9jp4QorK6TGpLmkxqS5ICNDSiCkxqS5pMakuQorK6TGpL0gI0pOIKXGpb0KKyukxqS9ICNKTiCOw46/CisrpMakvSAjVDM1IKXGpb0KKyukxqS9ICNUMzUgjsOOvworK6TGpMOks6SmpLcgI1QzNSClxqXDpbOlpqW3CisrpMakw6S7pPOkq6SkICNLSyDvxMDw0PIKKyukxqTDpLuk86SrpKQgI1QzNSDvxMDw0PIKKyukxqTDpMakpKSzpKaku6TzpLuk86SypPMgI0pOIMWwxOy5s8DvwOu4wAorK6TGpMQgI1QzNSDFtAorK6TGpMSkqqS/pLykw6TIpL+ksaSipMOkyKThpKSkxqTEICNKTiDFtKXypb+j2snwQKbMxbQKKyukxqTEpKqkv6S8pMOkyKS/pLGk4aSkpMakxCAjSk4gxbSl8qW/o9rJ8ECmzMW0CisrpMakxKTOpKqkraTGICNUMzUgxbSkztndCisrpMakxqS3ICNUMzUgpMakxqS3CisrpMakyqG8ICNKTiClxqXKobwKKyukxqTVpMak1SAjSk4gpMak1aTGpNUgCisrpMak4aSnpOKkyqG8ICNKTiClxqXhpael4qXKobwKKyukxqTrpK+kz6TOpOsgI1QzNSCkxqTrpK+kz6TOpOsKKyukxqTspNsgI1QzNSClxqXspdsKKyukxqTspNukt6TlpKak6qTnpKYgI1QzMCClxqXspdu9qs67CisrpMak7KTbpN6k8yAjSk4gpcal7KXbpd6l8worK6TGpOyk26TppMOkt6TlICNUMzUgpcal7KXbpemlw6W3peUKKyukxqTtpKik6qG8pMogI0pOIKXGpe2lqKXqobylygorK6TGpPOkt6SopPMgI0NKIMW3u8ix6gorK6TGpPOkt6SopPMgI1QzNSDFt7vIseoKKyukxqTzpM6kpiAjSk4gxbe5xAorK6TGpPOk16TsICNUMzUgpcal86XXpewKKyukxqTzpN2kw6TGICNLUyClxqXzpd2kw6TGCisrpMekoqTrpKsgI0NKIKTHoaKkoqTrpKsKKyukx6SjICNKTiCkx6SjCisrpMeko6G8pLikp6G8pOKkyqG8ICNKTiCjxKPKpeKlyqG8oaEKKyukx6Sjobyk3SAjVDM1IKPEpd0KKyukx6SjpKKkyqS1pN4gI0pOIKXHpaOloqXKzc0KKyukx6SjpKqk4qTppPOkyaG8ICNKTiClx6WjpaqhpqXipeml86XJobwKKyukx6SjpKqk86SwpPMgI1QzNSBESU9Ot7MKKyukx6SjpOuk7KSmoaukoaTzpKyhvCAjSk4gpcelo6Xrpeyl9KWhpfOlrKG8CisrpMeko6TrpOykpqGrpKGk86SspKIgI0pOIKXHpaOl66XspfSloaXzpayhvAorK6THpKSkyKSkpOykwKG8ICNUMzUgpcelpKXIpaSl7KXAobwKKyukx6SkpMikpKTspMCkoiAjVDM1IKXHpaSlyKWkpeylwKG8CisrpMekpqGrICNKTiBERVZVCisrpMekpqGrICNKTiCk4KS3pOOk4KS3pOOhyqGhoa2hy6elocqhrqHLCisrpMekqKTzpNGk36TzpL6kryAjVDM1IKXHobyl86XRpd+l86W+pa8KKyukx6SopPOk0aTfpPOkvqSvICNUMzUgjsOO3o6wjt2Oyo7fjtCO3Y6/jt6OuAorK6THpKukwaTnpKakoqTzpMmkq6S6ICNKTiClx6WrxLmh9aWrpboKKyukx6SspO8gI0pOUyC90MDuCisrpMekrKTvICNUMzUgvdDA7gorK6THpKyk76TSpMOkt6TApOKkvSAjVDM1IL3QwO7JrLvgpcCl4qW9oaoKKyukx6SzICNKTiDGzAorK6THpLMgI1QzNSDGzAorK6THpLik4qTKpMakpKTeobykuqTtpLQgI0pOIKXHpbil4qXKpcalpKXeobyluqXtpbQKKyukx6S5ICNTVUMgREVBVEgKKyukx6S5ICNTVUMgpceluQorK6THpLmkr6TIpMOk16SzpKakq6SkpLmk7CAjVDM1IKXHpbmlr6XIpcOl17j4s6uluaXsCisrpMekuaSxpMmkyqTLpKsgI0NKIKTHpLmksaTJoaKyv6SroakKKyukx6S5pMekuSAjQ0ogpMekuaTHpLkKKyukx6S5pMik7aSkpLWk3iAjSk4gpceluaXIpe2lpM3NCisrpMekvaTRICNUMzUgpcelvaXRCisrpMek1aSppOukyKTKpMqktyAjVDM1IKXHpdWlqaXrpcjMvsy1pLcKKyukx6TWpKqkvyAjVDM1IKXHpdal8qW/CisrpMek1qStpPMgI0pOIKXHpdalraXzCisrpMek1qTApMqhvCAjSk4gpcel1qXApcqhvAorK6THpNak7aTzpLIgI1QzNSClx6XWpe2l86WyCisrpMek1qTypL8gI1QzNSClx6XWpfKlvworK6THpNak8qS/pNKkw6StobwgI1QzNSClx6XWpfKlv6XSpcOlraG8CisrpMek1qTypL+k0qTDpK2kpCAjVDM1IKXHpdal8qW/pdKlw6WtobwKKyukx6TYpOmhvCAjSk4gpcel2KXpobwKKyukx6TcpLmkuqThICNKTiClx6XcpLmkuqThCisrpMek3qTBICNUMzAgvdDErgorK6THpN6kwSAjVDM1IL3QxK4KKyukx6TopO2kt6SkpKsgI0NKIKTHpOik7aS3pKSkqworK6THpOogI1I1IKXHpeoKKyukx6TqpKuktyAjSk4gpcel6qHKoa2n12Chy6WrpbcKKyukx6TzpK2kqqSmICNKTiDFxbWksqYKKyukx6TzpLKkraTQpMGk0KTBICNKTiCkx6TzpLKkraXQpcGl0KXBCisrpMek86S3pOOkpqS3ICNKTiDFxbzWte0KKyukx6TzpLek46SspKKk6yAjVDM1IMXFvNalrKG8pesKKyukx6TzpLek46SupOWkpiAjSk4gxcW81rXtCisrpMek86S7pMSkraTnpLik86SkpMek26S9ICNKTiDFwcDitfC/wI6yjsOO3o7Ojr8KKyukx6TzpL+k3iAjVDM1IMXEtswKKyukx6TzpMSkpiAjVDM1IMXFMgorK6THpPOkyCAjVDM1IMXExdQKKyukx6TzpMmk7SAjVDM1IMXExaUKKyukx6TzpMsgI1QzNSDFxTIKKyukx6TzpNEgI1QzNSClx6XzpdEKKyukx6TzpNEgI1QzNSDFxcfICisrpMek86TRpKqkz6TKpNCkv6SxpKSkvyAjVDM1IMXFx8ihpqSqstbIqsjECisrpMek86TRpK2kt6TjICNUMzUgxcXHyLWtvNQKKyukx6TzpNGkraTjpOkgI1QzNSDFxcfIpa2l46XpCisrpMek86TRpMGk56SmpLWkpKTzpOKkyqG8ICNKTiDFxcfIxLS6urD3peKlyqG8CisrpMek86TRpMiktyAjVDM1IMXFx8jF1LvUCisrpMek86TRpMukwaTjpPMgI1QzNSDFxcfIMmNoCisrpMek86TRpMukwaTjpPOkzaTrICNUMzUgxcXHyDKkwaTjpPOkzaTrCisrpMek86TRpOKk6aTpobwgI0pOIMXFx8il4qXppemhvAorK6THpPOk0aTppKSkv6SiICNUMzUgxcXHyKXppaSlv6G8CisrpMek86TRpPKkvyAjVDM1IMXFx8il8qW/CisrpMggI1NVQyCkyKGjCisrpMihvKTbpLAgI0NOIKXIobyl26WwCisrpMihvKTbpLAgI1QzNSClyKG8pdulsAorK6TIpKSkpqSzpMiky6S3pL+kpKTOpMekuaTNICNDSiCkyKSkpKaks6TIpMukt6S/pKSkzqTHpLmkzQorK6TIpKSkpqSzpMiky6S3pL+kpKTOpMekuaTNICNDSiCkyKSkpKaks6TIpMukt6S/pKSkzqTHpLmkzaGjOikKKyukyKSkpMOkxqSqpK+krqTqICNDSiCkyLjApMOkxqSqpK+1wc39CisrpMikpKTDpMak36TrpMakuaTIICNDSiCkyLjApMOkxqTfpOulxqW5pcgKKyukyKSlpLakpqGrpKOkr6TIpOqhvCAjSk4gpcilpaW2pfSlo6Wvpcil6qG8CisrpMikpiAjVDM1IMXjCisrpMikpqSrpKQgI0NOIMXdsvUKKyukyKSmpKukpCAjQ04gxeyzpAorK6TIpKakq6SkICNLSyDF3bL1CisrpMikpqSrpKQgI1QzNSDF3bL1CisrpMikpqSrpKQgI1QzNSDF7LOkCisrpMikpqStpOWkpqTBpOWkpiAjVDM1IMXstd6/3worK6TIpKakraTnpKYgI0pOIMXstf4KKyukyKSmpK2k56SmICNUMzUgxey1/gorK6TIpKakraTnpKakoqSvpLukuSAjS0sgxey1/qWipa+lu6W5CisrpMikpqStpOekpqStpMako6SkICNUMzUgxey1/mtpdHR5ocqh96P3udMKKyukyKSmpK2k56SmpLikqKTzICNKTiClyKWmpa2l56WmpbilqKXzCisrpMikpqStpOekpqS7pKSkt6TzpNOk56SmpKSk8yAjSk4gxey1/sC6v8DJwrGhoaEKKyukyKSmpK2k56SmpMiku6SkpL2kpqStpOekryAjSk4gxey1/sXUwLbB3bbJCisrpMikpqStpOekpqTIpOqkxKTepMSktqTvpNOk56SmpKSk8yAjSk4gxey1/sXUzqm+vsL0ycKxoQorK6TIpKaktaTzICNUMzAgyeOktaTzCisrpMikpqS4pOekpqS7pPMgI1QzNSDCq77lwP4KKyukyKSmpMCkpKSqpMEgI1QzNSDF7MLnze6kwQorK6TIpKakz6TIICNLSyDF7Mi3CisrpMikpqTPpMggI1QzNSDF7Mi3CisrpMikpqTWpMGk5aSmICNUMzUgxezJ8L/fCisrpMikpqTWpNikw6TJICNUMzUgxqzJ9KXYpcOlyQorK6TIpKak26SwICNUMzUgpcihvKXbpbAKKyukyKSmpOGkpKSipNyhvKTzICNUMzAgxqnMwKSipNyhvKTzCisrpMikpqThpKSkoqTcpKqk8yAjVDMwIMapzMCkoqTcobyk8worK6TIpKak6KSzpMikw6StpOWkpqTPpN6kpKTLpMGk3KTtpKSkwSAjQ0ogxeyyo8bDtd6kz8voxvyl3KXtu9QhCisrpMikqKSkpNCkuSAjSk4gxdSxxKXQpbkKKyukyKSqpOKk76TsICNDSiCkyLvXpO+k7KGjCisrpMikqqTipO+k7KThICNDSiCkyLvXpe+l7KXhCisrpMikraTlpPMgI1QzNSCkyKWtpeWl8worK6TIpK+kwKSzpKakpKTBICNKTiDGwcXEucyw7AorK6TIpK+kxqSkpOqk56SrpK8gI1QzNSDGw8Tqzrm10gorK6TIpK+ky6TzpK6k56SmpLukpKS3pOektyAjSk4gxsPHp7nUwK+98bvOCisrpMikr6TLpPOkrqTnpKaku6SkpLek56S3ICNLSyDGw8enudTAr73xu84KKyukyKSvpOGkpCAjVDM1IMa/zL4KKyukyKSvpOGkpKSvpLcgI1QzNSDGv8y+tvoKKyukyKSvpOGkpKSxpKSkuKTQpPMgI1QzNSDGv8y+t8e8qMjECisrpMiksaTNobyk6CAjSk4gocqhrKbHoayhy6GhpcilsaXNobyl6AorK6TIpLGkzaG8pOggI0pOIKXIpbGlzaG8pegKKyukyKSzpO2kxyAjQ0ogpMiks6TtpMcKKyukyKSzpO2k86TIpMGk46TqpNSkq6ShICNKTiClyKWzpe2l86XIpcGl46XqpdSlq6WhoaoKKyukyKS3ICNUMzUgxdS71AorK6TIpMCkyiAjVDM1ILjNw6oKKyukyKTDpK2k5aSmpL6kzKS0pKYgI0pOIMbDtd6kvqTMueYKKyukyKTDpMak4qS/pOGky6TKpOukqqTPpMqktyAjSk4gpMikw6TGpOKkv6ThpMukyqTrpKrPwworK6TIpMOkyKTIpKSkr6SqICNKTiCkyKTDpMikyMDCydcKKyukyKTEpLKkrSAjVDM1IMbNt+IKKyukyKTEpLKkraSypMOkv6G8pLogI0pOILfjxs2lsqXDpb+hvKW6CisrpMikxKSypK2kwaTlpKYgI1QzNSDGzbfiv98KKyukyKTKpKukpCAjSk4gjsSOxY62jrIKKyukyKTTpLmkraG8pOShvKTipMqhvCAjSk4gyPSk06W5pa2hvKXkobyl4qXKobwKKyukyKTUICNUMzUgpcil1AorK6TIpN6kyCAjVDM1IHRvbWF0bworK6TIpOAgI0pOIKXIpeAKKyukyKThICNUMzUgpcil4QorK6TIpOKk6KTipMqhvCAjSk4gw87ApKXipcqhvAorK6TIpOSk3iAjVDM1IKXIpeTL4gorK6TIpOSk3iAjVDM1II7EjtTL4gorK6TIpOSk3qTzpLMgI1QzNSClyKXkpd6l86WzCisrpMik5KTepPOksyAjVDM1II7EjtSOz47djroKKyukyKTopM+kt6S3pN+k8yAjVDM1IMuttra71MyxCisrpMik6aSmpN6hvCAjSk4gKHx8jt+npY7fKY7EjteOs47PjrAKKyukyKTppKak3qG8ICNKTiClyKXppaal3qG8CisrpMik6aSmpN6hvCAjSk4gjsSO146zjs+OsAorK6TIpOmkr6TzpKKk86TJpKuk16SvpPMgI0pOIKTIpOmkr6TzofWkq6TXpK+k8worK6TIpOmkr6TzpKKk86TJpKuk16SvpPMgI0pOIKTIpOmkr6TzofWkq6TXpK+k8yAKKyukyKTppOmhvCAjSk4gpcil6aXpobwKKyukyKTqICNDTiDEuworK6TIpOogI0NOIMbTCisrpMik6iAjS0sgxtMKKyukyKTqICNUMzUgxLsKKyukyKTqICNUMzUgxtMKKyukyKTqpLOk4SAjQ04gvOik6rn+pOEKKyukyKTqpLOk4SAjQ04gxLvKxgorK6TIpOqks6ThICNUMzUgvOik6rn+pOEKKyukyKTqpLOk4SAjVDM1IMS7ysYKKyukyKTqpLWk8yAjSk4gpcil6qS1pPMKKyukyKTqpMOk1yAjVDM1IKXIpeqlw6XXCisrpMik6qTIpMik86THpKSk66TipOmk6aG8ICNKTiDEu6TIyPSk86THpKSk66Xipeml6aG8CisrpMik6qTPpOAgI1QzNSDEu6TPpOAKKyukyKTspKuk4SAjVDM1IKXIpeylq6XhCisrpMik8yAjVDM1IK3FCisrpMik86StpPMgI0NOIKXIpfOlraXzCisrpMik86StpPMgI1QzNSClyKXzpa2l8worK6TIpPOkwaTjpOKk8yAjS0sgpcil86XBpeOl4qXzCisrpMik86TBpOOk4qTzICNUMzUgpcil86XBpeOl4qXzCisrpMik86TJpOsgI0NKIKXIpfOlyaXrCisrpMik86TJpOsgI0NKIK3FrcsKKyukyKTzpMmk6yAjSk4grcWtyworK6TIpPOk2qSkICNUMzUgpcil86XapaQKKyukyaG8pOKkr6TzICNUMzUgpMmhvKTit68KKyukyaSkpKggI0pOIKXJpaSlqAorK6TJpKSkqCAjUjUgpcmlpKWoCisrpMmkpKSoICNUMzUgpcmlpKWoCisrpMmkpKTEpOKkyqG8ICNKTiClyaWkpcSl4qXKobwKKyukyaSmpLekt6TjpLSkraTWpOogI0pOIMaxu9a80qW0pa2l1qXqCisrpMmkpqS4pPMgI1QzNSDGsb/NCisrpMmkpqS4pPOkqqTzpMogI1QzNSDGsb/NvfcKKyukyaSmpMakpCAjVDM1IMa4xOcKKyukyaSmpMek4qSkpKSky6TAICNKTiCkyaSmpMek4qSkpKSly6XACisrpMmkpqTHpOKkpKSkpOShvCAjSk4gpcmlpqXHpeKlpKWkpeShvAorK6TJpKakx6TipKSkpKTkpL2k86TKpLOkyCAjSk4gpMmkpqTHpOKkpKSkpOShoqS9pPOkyqSzpMihqgorK6TJpKakx6TipKSkpKToICNKTiCkyaSmpMek4qSkpKSk6AorK6TJpKak4qS5pN+k3qS7pPMgI0pOIKXJpaal4qW5pd+l3qW7pfMKKyukyaSmpOKkuaTfpN6ku6TzICNKTiCOxI7ejrOO0469jtCOz46+jt0KKyukyaSmpOggI0NKIKTJpKak6AorK6TJpKak6CAjU1VDIKTJpKak6AorK6TJpKak7aS4pOekpqTbpKak0qTnpKakuKTQpPMgI0pOIMa7z6m+8Mrzyb28qMjECisrpMmkqaG8obyk8yAjSk4gpcmlqaG8obyl86GqoaqhqgorK6TJpKmhvKG8pPMyICNKTiClyaWpobyhvKXzoaqhqqGqo7IKKyukyaStpOWkvSAjVDM1IERRUworK6TJpK2k5aS9ICNUMzUgpcmlraXlpb0KKyukyaStpOWkvaSqpKaks6SvpMukw6TdpPMgI0pOIKXJpa2l5aW9sqa58cb8y9wKKyukyaStpOWkvaSqpKaks6SvpMukw6TdpPMgI0pOII7Ejt6Ot46tjr+yprnxxvzL3AorK6TJpK2k5aS9pMGk46TzICNKTiCOxI7ejreOrY6/pMGk46TzCisrpMmkraTlpOIgI0tLIKXJpa2l5aXiCisrpMmkraTlpOIgI1QzNSClyaWtpeWl4gorK6TJpK2k5aTzICNUMzUgREpOCisrpMmkraTlpPMgI1QzNSCjxKPRo84KKyukyaStpOWk8yAjVDM1IKXJpa2l5aXzCisrpMmkraTlpPOkyqSrpKSkt6TjICNUMzUgpcmlraXlpfOkyrLxvNIKKyukyaSvpKqkyKSzICNUMzUgxsfDyworK6TJpK+kt6TzpMakpKSqpKYgI0pOIMbIv8jE67KmCisrpMmkr6S4pL8gI1QzNSCkyaSvpLikvworK6TJpK+kvSAjVDM1IMbHwccKKyukyaSvpMikpiAjQ04gxsjF5worK6TJpK+kyKSmICNUMzUgxsjF5worK6TJpK+kyKTrpN6k6SAjSk4gpcmlr6XIpetNCisrpMmks6TUobwgI1QzNSClyaWzo9AKKyukyaSzpNSkpCAjVDM1IKXJpbNQCisrpMmkuaSmICNUMzUgxdm/9AorK6TJpLukpKS1pPMgI0pOIMXawLGktaTzCisrpMmkxqTBpOWhvCAjVDM1IKXJpcalwaXlobwKKyukyaTGpMGk5aSmICNUMzUgpcmlxqXBpeWhvAorK6TJpNakzaS6pN8gI1QzNSC5wsHNCisrpMmk4CAjVDM1IKPEo8+jzQorK6TJpOGk66TJICNKTiClyaXhpeulyQorK6TJpOkgI0pOIKXJpekKKyukyaTppKik4qTzpNWkr6TipMik1aSpobyk4CAjSk4gpcml6aSopOKk88qhy9yl1aWpobyl4AorK6TJpOmktKTzICNUMzUgpcml6aW0pfMKKyukyaTppLSk86SqpKikuaTIICNUMzUgpcml6aW0pfOlqqWopbmlyAorK6TJpOmktKTzpLmkyKTDpNcgI1QzNSClyaXppbSl86W5pcilw6XXCisrpMmk6aTDpK2kyqG8ICNKTiClyaXppcOlraXKobwKKyukyaTqpMGk8yAjVDM1IKXJpeqlwaXzCisrpMmk6qTrpMGk86TBpPMgI1QzNSClyaXqpeukwaTzpMGk8worK6TJpOukqKTgpKSkpCAjVDM1ICRNRQorK6TKpKKkuaSmpKOkw6TBpLOk4KSupMGk46TzICNUMzUgpcqhvKW5paalo6XDpcG+rsf+pMGk46TzCisrpMqkpKS5pMqk2KTDpMmk1aSppPMgI1QzNSClyqWkpbmkyqXYpcOlyaXVpaml86GqCisrpMqkqCAjS1MgsOCkqCAKKyukyqSoICNUMzUgsOCkqCAKKyukyqSopMqkpKTvICNKTiClyqWopcqlpKXvCisrpMqkqqTqpPMgI1QzNSCkyqSqpOqk8worK6TKpKukpqTppO+kzqTbpLcgI1QzNSDD5rG6z8KkzsCxCisrpMqkq6S4obyk1KG8ICNUMzUgpMqkq0dQCisrpMqkq6S4pKSk1KSkICNUMzUgpMqkq0dQCisrpMqkq6S/pLMgI0pOIKTKpKukv6SzCisrpMqkq6S/pLMgI1QzNSCkyqSrpL+ksworK6TKpKukv6TepLQgI1QzNSCkyqSrzfEKKyukyqSrpMCktyAjVDMwIMPmxcS74QorK6TKpKukxKSupKsgI1QzNSDD5rfRpK6y3QorK6TKpKukzqTSpMggI1QzNSDD5qTOv80KKyukyqSspLekvaSmpOGk8yAjSk4gzq6kt6S9pKak4aTzCisrpMqkrKTWpPOkzqSrpPOkvaSmpOKkuKTspLmk5qSmpMmkpqSipLmkraG8pKKhvKTIICNKTiDEucq4pM60tsHbyri7+qXspbnNtsazo8GjwQorK6TKpLCkwaTjpPOkzaTrICNUMzUgpMqksKTBpOOk86TNpOsKKyukyqSypLmkxqTrpOKkyqG8ICNKTiDF6qSyvM6kxqTrpeKlyqG8CisrpMqktKTkpLGk8yAjVDM1IMy+uMWysLipCisrpMqkt6TApKQgI1QzNSDMtcLnCisrpMqkvqTOpLukpKThpKSkv6SkICNKTiDG5qTOwLjMv8LOCisrpMqkvqTOpMuk26TzpLik8yAjSk4gxuakzsb8y9y/zQorK6TKpMOkwSAjSk4gocqh/KGtobyhrqH8ocsKKyukyqTDpMEgI0pOIKTKpMOkwQorK6TKpMOkwSAjVDM1IKTKpMOkwQorK6TKpMOkwSAjVDM1ILDCx9wKKyukyqTDpMGkoqTqpKykyKSmICNDSiCkyqTDpMGkoqTqpKykyKSmKKH8oa2hvKGuofwpCisrpMqkw6TBpOKkyqG8ICNKTiCkyqTDpMGl4qXKobwKKyukyqTDpMGk5SAjVDM1IKTKpMOkwaTlCisrpMqkw6TBpOWkpiAjVDM1IMe8v98KKyukyqTEpMGk5aSmICNUMzUgssa/3worK6TKpMSkwaTlpKak3KSmICNUMzUgssa/38u8CisrpMqkxKTcpKYgI1QzNSCyxsu8CisrpMqkxKThICNKTiClyqXEpeEKKyukyqTKpLWk8yAjSk4go7ektaTzCisrpMqkyqS3pLWk8yAjVDM1IMy+zLWkt6S1pPMKKyukyqTKpLektaTzpNek6aS6pN4gI0pOIMy+zLWkt6S1pPOl16Xppbql3gorK6TKpMqk4aSmpKggI1QzNSC80KThvuUKKyukyqTKpOGkq6TDpLOkz6TzpMCkr6TGpPOkv6G8pPOkqKG8pM+k86TApK+kxqTzpKukw6SzpMikuKTKpMqk4aTXpOukw6TRpNuktyAjSk4gocAooayiz6GsKaG/pdel66XDpdGh+QorK6TKpMqk4aSrpMOks6TPpPOkwKSvpMak86S/obyk86Soobykz6TzpMCkr6TGpPOkq6TDpLOkyKS4pMqkyqThpNek66TDpNGk26S3ICNKTiChwCiO36LPjt8pob+OzI7fjtmOr47Kjt+h+QorK6TKpMukpKTDpMak66TVpOGkpCAjQ0ogsr+4wKTDpMak68nUzMAKKyukyqTLpKsgI0tLILK/pKsKKyukyqTLpKsgI1QzNSCyv6SrCisrpMqky6SrpKKk6yAjQ0ogpMqky6SrpKKk66GpCisrpMqky6SrpMukqqTTpKik66SupLMgI0pOICgooaiO36eljt8pjraO3o64jraO3o64jsyO3o7ZjsyO3o7ZCisrpMqky6SrpMukqqTTpKik66SupLMgI0pOILK/pKuky7axpKik66WupbMKKyukyqTLpLWk3iAjSk4gsr/NzSAKKyukyqTLpLWk3iAjVDM1ILK/zc0KKyukyqTLpN+kxqTzpMCk6KS1pOsgI0pOILK/uKukxqTzpMCk6LHuCisrpMqky6TnpOqhvKTKICNKTiCOxY7Gjq6O2I6wjsUKKyukyqTOpOkgI1NVQyCkyqTOpOkKKyukyqTOpOmkoiAjQ0ogpMqkzqTpocEKKyukyqTepKKkpKTUpKQgI1QzNSDAuElQCisrpMqk3qSipL+kv6SrpK+k36TepOKk6yAjQ0ogpMqk3sPIpKukr7irvOmk6worK6TKpN6ksyAjVDM1IKTKpN6ksworK6TKpN6ks6TXpOykpCAjVDM1IKTKpN6ks6XXpeylpAorK6TKpN6k4qTOICNUMzUgpcql3qXipc4KKyukyqTfpKuk7CAjQ0ogpcql36WrpewKKyukyqTfpMCkx6TepKikrKTfpKik3qS7pPMgI0NKIM7epMfBsKSsuKukqKTepLuk86GqCisrpMqk4CAjSk4gpcql4gorK6TKpOGkr6S4ICNKTiClyqXhpa+luAorK6TKpOSk36S5pK6k66TIpM+ksqTrICNUMzUgx7qk36S5pK6k66TIxsWksqTrCisrpMqk5qStpLCk66TeICNKTiDMvsDjvNYKKyukyqTqpK2k6qS5pOwgI1QzNSCkyqTqpK2k6qW5pewKKyukyqTqpLmk3iAjUzVyIKTKpOqkuaTeCisrpMqk6qS/pMikw6TXpO2kqqTJICNKTiCkyqTqpL+kyKTDpNek7aSqpMkKKyukyqTqpL+kyKTDpNek7aSqpMkgI0pOIKTKpOqkv6TIpMOk16TtpKqkySAKKyukyqTqpNCk8yAjVDM1IKXKpeql0KXzCisrpMqk7KSiICNXNSDG66TsuecKKyukyqTspKKkpCAjVDM1IMbrpOy556SkCisrpMqk7SAjQ0ogpMqk7QorK6TKpPOkrKTzpMakpKStpKKkxCAjSk4gxu6038TjtaSwtQorK6TKpPOksaSkpNAgI1QzNSCkyqTztqXHzworK6TKpPOkwKSrpMqhvKSipPOkyaS1pKSks6G8pMAgI0pOIKXKpfOlwKWrpcqhvKH1pbWlpKWzobylwAorK6TKpPOkwKSrpPOkwCAjQ0ogpMqk86TApKuk86TAIAorK6TKpPOkxKTDpL+k6qS3pMYgI0NKIKTKpPOkxKTDpL+k6qS3pMYKKyukyqTzpMikpKSmpLOkyKTHpLek56SmICNDSiCkyqTzpMikpKSmpLOkyKTHpLek56SmCisrpMqk86TQpKKkuaSvpKak6yAjVDM1IKXKpfOl0KG8pbmlr6G8pesKKyukyqTzpN+k8yAjVDM1IMbxzLEKKyukyqTzpN+k86SkpL8gI1QzNSDG8cyxyMQKKyukyqTzpOKkuKThpPKkv6TGpOik36S5pOukziAjQ0ogsr/KuLv6zNyk8r3Exsmk36S5pOukzqGpCisrpMsgI1QzMCC9qsXfCisrpMsgI1QzNSAyCisrpMsgI1QzNSC9qsXfCisrpMuhvCAjSk4gpcuhvAorK6TLobykpKTBpOik86S4pLGk8yAjVDM1IKOyoaajsaO0u/a37worK6TLpKSkwaTlpKYgI1QzNSBueb/fCisrpMukpKTDpNSk56SmICNDSiCky7DsybwKKyuky6StpLOkpiAjVDM1IMbztPy5uworK6TLpK2k06SspMekraS/pOKkyqG8ICNKTiCly6WtpdOkrL3Qzeikv6XipcqhvAorK6TLpK+ks6TDpNek86SvpKggI0NKIKXLpa+ls6XDpdel86WvpaghCisrpMukr6SzpMOk16TzpK+kqCAjQ0ogjsaOuI66jq+OzI7fjt2OuI60IQorK6TLpK+ks6TDpNek86SvpKggI0pOIKXLpa+ls6XDpdel86WvpaghCisrpMukr6SzpMOk16TzpK+kqCAjSk4gjsaOuI66jq+OzI7fjt2OuI60IQorK6TLpK+ks6TXobyk8yAjQ0ogKKGmos+hpimly6WvpbOl16G8pfMgCisrpMukr6SzpNehvKTzICNDSiAojqWiz46lKY7GjriOuo7Mjt+OsI7dIAorK6TLpK+ks6TXobyk8yAjQ0ogpculr6WzpdehvKXzCisrpMukr6SzpNehvKTzICNDSiCOxo64jrqOzI7fjrCO3QorK6TLpK+ks6TXobyk8yAjSk4gKI6los+OpSmOxo64jrqOzI7fjrCO3QorK6TLpK+ks6TXobyk8yAjSk4gpculr6WzpdehvKXzCisrpMukr6SzpNehvKTzICNKTiCOxo64jrqOzI7fjrCO3QorK6TLpK+kz6TzpMuk4yAjS0sgxvnIzLzjCisrpMukr6TPpPOky6TjICNUMzUgxvnIzLzjCisrpMukr6TZpPOkrSAjVDM1IMb5yti07worK6TLpLKkw6TIICNKTiAypbKlw6XICisrpMuksqTGpKeky6SypMakp6TLpLKkxqSnpM+k5KSvpMuksqTGpKekwyAjSk4gxqiksqTGpKfGqKSypMakp8aopLKkxqSnweGkr8aopLKkxqSnpcOhqgorK6TLpLOk7KTDpMggI0pOIKXLpbOl7KXDpcgKKyuky6S3ICNKTiDG87vgCisrpMuktyAjSk5TIMbzu+AKKyuky6S3ICNUMzUgxvO74AorK6TLpLekv6TzICNKTiDG87vgpb+l8worK6TLpLekv6TzICNUMzUgxvO74KW/pfMKKyuky6S3pMakxKTQpLmkuKTjpMOkr6S4pLGk8yAjS0sgwL7FtKXQpbmluKXjpcOlr7v2t+8KKyuky6S3pMakxKTQpLmkuKTjpMOkr6S4pLGk8yAjVDM1IMC+xbSl0KW5pbil46XDpa+79rfvCisrpMukt6TlpKakzaTzpKSk2aTzpMggI1QzNSCjsrz+x6+lpKXZpfOlyAorK6TLpLiksqTzICNUMzUgxvO8obi1CisrpMukuKSypPOkqqS/ICNUMzUgxvO8obi1paqlvworK6TLpLiksqTzpPKkvyAjVDM1IMbzvKG4taXypb8KKyuky6S4pOWkpiAjVDM1IDIwCisrpMukuKTlpKakyqTKpLekraSvpL2kuaTspK+kwaSvpMakpCAjSk4gMje8sMq1pbml7Lbuw+DE+gorK6TLpLik5aTDpMikpqS3pPMgI1QzNSAyMMauv8AKKyuky6S4pOekpqSspO+k6aTOpOmkr6S3pOcgI1QzNSDG877yss+4tqTOze698QorK6TLpLukoqTmICNUMzUgtbakoqTmCisrpMuku6TPpOukyqSipPOkyaSmpMuk5aSmpOqhvKTKICNKTiC1tr3Vutqh9aSmpMuk5aSmpeqhvKXKCisrpMuku6ThpMOkuyAjVDM1ILW2peGlw6W7CisrpMuku6TipMqhvCAjSk4gtbal4qXKobwKKyuky6S7pPOkzqTvpLYgI0NKIDIwMDCkzrW7CisrpMukwKG8ICNKTiCly6XAobwKKyuky6TAobwgI0pOII7GjsCO3o6wCisrpMukwKG8pL+kpKSkICNKTiCly6XAobzC57DTCisrpMukwKG8pMGk5yAjSk4gpculwKG8pcGl5worK6TLpMCkwKG8ICNKTiCly6XApcChvAorK6TLpMCkwKG8ICNKTiCly6XApcChvCAKKyuky6TBpOOk8yAjQ0ogMmNoCisrpMukwaTjpPMgI0NKIKOypMGk46TzCisrpMukwaTjpPMgI1QzNSAyY2gKKyuky6TBpOOk8yAjVDM1IKOypMGk46TzCisrpMukwaTjpPOktaTQpKukw6TGpMqkq6TzpLekuKTnICNUMzUgMmNou6q+obzqpMq0xrvrveoKKyuky6TBpOOk86TGpK2ky6TPICNDSiCjsqPjo+jFqqTLpM8KKyuky6TBpOOk86TGpK2k0qTnpKakqyAjVDM1IKOyo+Oj6MWqyb6ywQorK6TLpMGk46TzpM2k66SvpL2kuaTspMOkyaTEpKSk26SmpLuk86S7pPMgI0pOIKOypMGk46TzpM2k68q1pbml7KXDpcnEycr8wO/A/gorK6TLpMGk46TzpM2k66SwpPOk3aSmpKykpKSuICNKTiCjsqPjo+i3s8uhsvG1xAorK6TLpMGk46TzpM2k66S1pN2hvKTIpLuk86S/obwgI0pOIKOypMGk46TzpM2k66W1pd2hvKXIpbul86W/obwKKyuky6TBpOOk86TNpOukvKTzpKSkv6TLpPOkraTIpKakyqThpPOkyCAjVDM1IDKkwaTjpPOkzaTrwbTIxL/NtaSlyKG8pcql4aXzpcgKKyuky6TBpOOk86TNpOukv6SipNwgI1QzNSAypMGk46TzpM2k66W/obyl3AorK6TLpMGk46TzpM2k66TEpKYgI1QzNSAyY2gyCisrpMukwaTjpPOkzaTrpMSkpiAjVDM1IDKkwaTjpPOkzaTrMgorK6TLpMGk46TzpM2k66TKpMqkwaTlpKakpKS/ICNDSiCjsqTBpOOk86TNpOu8t7/fyMQKKyuky6TBpOOk86TNpOukyqTKpMGk5aSmpKSkvyAjVDM1IKOypMGk46TzpM2k67y3v9/IxAorK6TLpMGk46TzpM2k66TLICNUMzUgMmNoMgorK6TLpMGk46TzpM2k66TLICNUMzUgMqTBpOOk86TNpOsyCisrpMukwaTjpPOkzaTrpM6kz6TzpNak86TPpM2kv6THpMekraTGpKSk3qS5ICNDSiAypMGk46TzpM2k66TOyL7KrKTPpc2lv6THpMekraTGpKSk3qS5CisrpMukwaTjpPOkzaTrpNOk5aSmpKIgI1QzNSAypMGk46TzpM2k66XTpeWhvKWiCisrpMukwaTjpPOkzaTrpNak6aSmpLYgI1QzNSAypMGk46TzpM2k66XWpemlpqW2CisrpMukwaTjpPOk1qTtpLAgI1QzNSAyY2gtQmxvZworK6TLpMGk46TzpNek7aTQpKSkwKSiICNUMzUgMmNopdel7aXQpaSlwKG8CisrpMukwaTjpPOk7KTzpOGkpCAjSk4gMqTBpOOk88+izMEKKyuky6TDpK0gI0pOIMb8ta0KKyuky6TDpK0gI1QzNSDG/LWtCisrpMukw6StobwgI0pOIKXLpcOlraG8CisrpMukw6SvpLek86S7pKQgI1QzMCCly6XDpa+/vcDBCisrpMukw6S7pKQgI1QzNSCly6XDpbulpAorK6TLpMOku6SkICNUMzUgxvzAwgorK6TLpMOk3aTzpM+kz6TzpLukpKS3pOsgI0NKIMb8y9ykz8i/vsqkt6TroaoKKyuky6TIpKakuKTnpOakpiAjVDM1IMbzxfm9982lCisrpMukyKSmpNikpCAjSk4gxvPF+cq8CisrpMukyKSmpNikpCAjVDM1IMbzxfnKvAorK6TLpMukwaTjpPOkrKSipMOkv6TppLek6qG8pLogI1NVQyCky6OypMGk46TzpKykoqTDpL+k6aW3peqhvKW6CisrpMuky6TBpOOk86SspKKkw6S/pOmkt6TqobykuiAjVDM1IKTLo7KkwaTjpPOkrKSipMOkv6Tppbel6qG8pboKKyuky6TLpMGk46TzpKykoqTDpL+k6aS3pOqkpKS6ICNUMzUgpMujsqTBpOOk86SspKKkw6S/pOmlt6XqobylugorK6TLpM+k76TppMOkvyAjQ0ogpMukz77QpMOkv6GqCisrpMuk26TzpLWk86StpOekpqTApKSkrKSvICNUMzUgxvzL3KOztf7C57PYCisrpMuk26TzpLukpKThpKQgI0tLIMb8y9zAuMy/CisrpMuk26TzpMGk46TzICNLSyCly6XbpfOkwaTjpPMKKyuky6TbpPOkwaTjpPMgI1QzNSCly6XbpfOkwaTjpPMKKyuky6TjpKYgI0pOIKTLpOOkpqGhCisrpMuk5KTLpOQgI0NKIKXLpeSly6XkCisrpMuk5KTqICNDSiChyqGxobyhsaHLpcul5KXqCisrpMuk5KTqICNDSiCly6XkpeoKKyuky6TkpOqkwyAjQ0ogocqhsaG8obGhy6XLpeSl6qXDIAorK6TLpOSk6qTDICNDSiChyqGxobyhsaHLjsaO1I7Yjq8gCisrpMuk5KTqpMMgI0pOIKHKobGhvKGxocuOxo7UjtiOrworK6TLpOSk6qTDICNKTiCly6XkpeqlwworK6TLpOSk6qTDICNKTiCOxo7UjtiOrworK6TLpOWhvKS5pLmkxqG8pLek56TzICNLSyCly6XlobyluaW5pcahvKW3peel8worK6TLpOWkpqS5pL2kr6TbpKak16TppLkgI1QzNSCly6XlobylucKuyvMrCisrpMuk5aSmpL2kr6TXpOmkuaStpLek4yAjVDM1IKXLpeWhvMKuK7WtvNQKKyuky6TnICNSVCCky6TnCisrpMuk56SkpKykvyAjVDM1IKXLpeelpLPjCisrpMuk56SkpKykvyAjVDM1II7Gjq6OsrPjCisrpMuk56Ssobyk8yAjQ0ogKI7fp9WO3ymOxo6ujraO3o6wjt0KKyuky6TnpKyhvKTzICNDSiCly6XnpayhvKXzCisrpMuk56Ssobyk8yAjQ0ogjsaOro62jt6OsI7dCisrpMuk56TBpPOkwKTzICNUMzUgvffEwcPECisrpMuk6aSkpOAgI0pOIKXLpemlpKXgCisrpMuk6aTBpOOkqKTrpLukpKTQobwgI0pOIKXLpemlwaXjpail66W7paSl0KG8CisrpMuk6aTBpOOkxaTeICNKTiCly6Xpw+O6ygorK6TLpOmkwaTjpM2ksyAjSk4gpcul6cPjx60KKyuky6TppMGk46TgpLmk4SAjSk4gpcul6cPjzLwKKyuky6TppOCktyAjSk4gpcul6cPuCisrpMuk66TPobyky6TjpPMgI0pOIKTLpOukz6G8pMuk46TzCisrpMuk76SrICNUMzUgpcul76WrCisrpMuk76SrpOmkt6TqobykuiAjQ04gxO2kq6Tppbel6qG8pboKKyuky6TvpKuk6aS3pOqhvKS6ICNUMzUgxO2kq6Tppbel6qG8pboKKyuky6TvpKuk6aS3pOqkpKS6ICNUMzUgxO2kq6Tppbel6qG8pboKKyuky6TzpKSkv6TzICNKTiDHpLDVpL+k8worK6TLpPOkt6TzICNLSyDHpb+xCisrpMuk86S3pPMgI1QzNSDHpb+xCisrpMuk86S4pOMgI0pOIKXLpfOluKXjCisrpMuk86TGpPOkyaSmpKukpKSwpPOks6SmpK+kpqS/pKQgI1QzNSDHpMW3xrKzpLezudK29cLiCisrpMuk86TppKSk8yAjVDM1IMempemlpKXzCisrpMyhvKTrICNUMzUgpcyhvKXrCisrpMykpqSspL8gI0NOIKTMpKakrKS/CisrpMykpqSspL8gI1QzNSCkzKSmpKykvworK6TMpKak6yAjVDM1IKXMobyl6worK6TMpK2kyqTfICNGMDQgpMykraTKpN8KKyukzKStpMqk3yAjVDM1IKTMpK2kyqTfCisrpMykw6TYpMOk26G8ICNDSiClzKXDpdilw6XbobwKKyukzKTDpNikw6TbobwgI0pOICiOpaLPjqWiz46lKY7Hjq+OzY6vjs6OsAorK6TMpMOk2KTDpNuhvCAjSk4gpMykw6TYpMOk26G8CisrpMykw6TYpMOk26G8ICNKTiClzKXDpdilw6XbobwKKyukzKTDpNikw6TbobwgI0pOII7Hjq+OzY6vjs6OsAorK6TMpMOk2KTDpNuhvCAjVDM1ICihpqLPoaaiz6GmKaXMpcOl2KXDpduhvAorK6TMpMOk2KTDpNuhvCAjVDM1ICiOpaLPjqWiz46lKY7Hjq+OzY6vjs6OsAorK6TMpMOk3aTzICNUMzUgpcylw6XdpfMKKyukzKTepMOkrSAjS0sgpMyk3qTDpK0KKyukzKTepMOkrSAjVDM1IKTMpN6kw6StCisrpMyk6qSrpNmk4qTKobwgI0pOIKTMpOrKyaXipcqhvAorK6TMpOsgI0tZIKXMpesKKyukzKTrpN0gI1QzNSCkzKTrpN0KKyukzSAjQ0ogbmWhqgorK6TNobykziAjSk4gpc2hvKXOCisrpM2hvKTopKqk1qTNobyk6CAjSk4gpc2hvKXooaalqqXWoaalzaG8pegKKyukzaG8pOikyaSmpOGkpCAjSk4gpc2hvKXoxrHMwQorK6TNpKggI0pOIKTNpKgKKyukzaSopM2kqCAjQ0ogpM2kp6TNpKcKKyukzaSopNykr6S5pLSkpKTHpLek5yAjSk4gpM2kqKTcpK+kuaS0pKSkx6S3pOcKKyukzaSqpKakpqTtpPOkwaTjICNUMzUgpc2lqrGozrbD4worK6TNpKqkv6SkpMakpCAjSk4gpc2lqsLnxOsKKyukzaSqpOCkrqTBpOMgI0pOIKXNpaqk4KSuw+MKKyukzaSqpOCkrqTBpOMgI0pOIKXNparH/sPjCisrpM2kq6TeICNUMzAgpc2lq6XeCisrpM2kq6TeICNUMzUgpc2lq6XeCisrpM2kriAjQ04gpM2krgorK6TNpK4gI0NOIKXNpa4KKyukzaSuICNUMzUgpM2krgorK6TNpK4gI1QzNSClzaWuCisrpM2kr6TtpN6k6aTpobwgI0pOIKXNpa+l7aXepeml6aG8CisrpM2ks6TApKSkuaStICNDSiCkzaSzwue5paStCisrpM2ks6TkpLekrSAjQ04gx62ysMnfCisrpM2ks6TkpLekrSAjVDM1IMetsrDJ3worK6TNpLkgI0pOIKXNpbkKKyukzaS5pLGkt6TzpLik4yAjVDM1IKXNpbmlsb+uvNQKKyukzaS5pOKkyqG8ICNKTiClzaW5peKlyqG8CisrpM2kuqTfpKqkyKSzICNKTiClzaW6pd/DyworK6TNpLqk36TPpOmk5qSmpLak8yAjSk4gwc24ts26u7AKKyukzaS/ICNUMzUgpc2lvworK6TNpL+kt6TnpK+ky6TzpLmk7CAjVDM1IKXNpb+/pr/Npbml7AorK6TNpL+kuaTsICNUMzUgpc2lv6W5pewKKyukzaS/pMCk7SAjQ0ogpc2lv6TApO2hqQorK6TNpL+k0KTppLekwaTlpKYgI1QzNSClzaW/pNCk6aS3v98KKyukzaTBpLGkw6TIpLikpKS1pPMgI0pOIKXNpcGlsaXDpcikuKSkpLWk86GhCisrpM2kwaS6pPMgI1QzNSClzaXBpbql8worK6TNpMGkuqTzICNUMzUg2dSlwaW6pfMKKyukzaTBpOWkpiAjVDM1IKXNv98KKyukzaTBpPMgI1QzNSClzcTBCisrpM2kw6TIpMGk8yAjVDM1IE5ldMTBCisrpM2kw6TIpNek7KSkpOSkoiAjVDM1IKXNpcOlyKXXpeylpKXkobwKKyukzaTDpMik6aTzpMqkoiAjS0sgpc2lw6XIpeml86XKobwKKyukzaTKpNkgI1QzNSClzaXKpdkKKyukzaTLpMGk6qG8pPMgI0pOIKHKoaaiz6GmocuOyI7GjsGO2I6wjt0KKyukzaTLpMGk6qG8pPMgI0pOIKXNpculwaXqobyl8worK6TNpMukwaTqobyk8yAjVDM1IKXNpculwaXqobyl8worK6TNpOGk86TKICNDSiCkzaThpPOkygorK6TNpOmkoiAjVDM1IKXNpemhvAorK6TNpOmk86TBpOWkpiAjVDM1IKXNpeml87/fCisrpM2k7CAjQ0ogv7Kk7AorK6TNpPOkwaTjpK8gI1QzNSDHtMPlCisrpM2k86TBpOOkr6SvpPMgI1QzNSDHtMPlt68KKyukzaTzpNakxKS3pOWkpqTIpKak36SrpKQgI0tLIMewyqm9ocXPs6Sy8QorK6TNpPOk1qTEpLek5aSmpMikpqTfpKukpCAjVDM1IMewyqm9ocXPs6Sy8QorK6TNpPOk6qTnpKYgI1QzNSDHs87BCisrpM6hvKTBpOOk8yAjSk4gpM6hvKTBpOOk8worK6TOobykzSAjSk4gpc6hvKXNCisrpM6koqSqpL8gI1QzNSClzqWipaqlvworK6TOpKSkw6TRpPOkxqStpMqkyKSvpMGk56SmICNTVUMgpM6w7MjMxaqkysbDxKcKKyukzqSmpKsgI0pOIMfAssgKKyukzqSmpK2k56SmICNUMzUgx8C2qAorK6TOpKakyqSkICNUMzUgx77G4gorK6TOpKakyqSkpKKk3KG8pPMgI1QzMCDHvsbipKKk3KG8pPMKKyukzqSqpMik86S7pPOku6SkICNUMzUgpc6hvKXIpfPA6MC4CisrpM6kqqTIpPOkyKTppMOk1yAjVDM1IKXOobylyKXzpcil6aXDpdcKKyukzqSrICNDSiCkzqSrCisrpM6kqyAjU1VDIKTOpKsKKyukzqSrobwgI0pOIKXOpauhvAorK6TOpLCkvSAjVDM1IE5HUworK6TOpLmkv6TrpM8gI1QzNSClzqW5pb+l68fICisrpM6kzqS9obyk6iAjSk4gpM6kzsHtzf0KKyukzqTOpL+k8yAjSk4gpM6kzqS/pPMKKyukzqTOpL+k8yAjVDM1IKTOpM6kv6TzCisrpM6kzqS/pPMgI1QzNSDE1AorK6TOpNMgI0tTciC/raTTCisrpM6k06TOpNOkt6S/pOSkxCAjSk4gpM6k06TOpNOkt6S/peSlxAorK6TOpNOk56TfpOWkoqSipOAgI0pOIKXOpdOl56XfpeWloqWhpeAKKyukzqTTpOek36TlpKKkoqTgICNKTiCOyY7Ljt6Oro7Qjq2OsY6njtEKKyukzqTWpOSk3CAjVDM1IKTOpNak5KTcCisrpM6k6KSrpPMgI0NKIKTOzb20tiEhCisrpM6k6aTKpMOkwSAjSk4gzO7OyaTKpMOkwQorK6TOpOmkzaSzICNKTiDM7s7Jx60KKyukzqTqICNUMzUgs6TC3QorK6TOpOqk8iAjVDM1IKXOpeql8gorK6TOpO2kpKTepKKkuSAjQ0ogvPak3qG8pLkKKyukzqTtpL6kpiAjVDM1IKTOpO2kvqSmCisrpM6k86S5pMYgI1QzNSClzqXzpbmlxgorK6TPICNLSyDN1QorK6TPICNUMzUgzdUKKyukz6ShICNDSiClz6WhoakKKyukz6ShICNKTiChyqHrp6Wh6ymOyo6noakKKyukz6ShICNKTiClz6WhPworK6TPpKGkz6ShICNDSiAoO6Gtp6Whrimlz6Whpc+loSAKKyukz6ShpM+koSAjQ0ogKDuhraeloa4pjsqOp47KjqcgCisrpM+koaTPpKEgI0NKIKXPpaGlz6WhCisrpM+koaTPpKEgI0NKII7KjqeOyo6nCisrpM+koaTPpKEgI0pOICg7oa2npaGuKY7KjqeOyo6nCisrpM+koaTPpKEgI0pOIKXPpaGlz6WhCisrpM+koaTPpKEgI0pOII7KjqeOyo6nCisrpM+koaTPpKEgI1QzMCClz6Whpc+loQorK6TPpKGkz6ShICNUMzAgjsqOp47KjqcKKyukz6ShpM+koaTKpPOkxqTHpK2kyqSkpOggI0NKII7KjqeOyo6npMqk86TGvdDN6KTKpKSk6KHECisrpM+koaTPpKGkyqTzpMakx6StpMqkpKToICNKTiClz6Whpc+loaTKpPOkxr3QzeikyqSkpOihxAorK6TPpKGkz6ShpMqk86TGpMekraTKpKSk6CAjSk4gjsqOp47KjqekyqTzpMa90M3opMqkpKToocQKKyukz6SiICNDSiCkz6ShoakKKyukz6SiICNKTiChyqHrp6Wh6ymOyo6noakKKyukz6SipM+koiAjQ0ogpc+loaXPpaEKKyukz6SkpK2k5yAjQ04gx9HU0gorK6TPpKSkraTnICNUMzUgx9HU0gorK6TPpKSkuaS0pKSkuaS0pKQgI0pOIKGzocyO36eljt+hzdCojsqOso69jrqO3o6yjr2Ouo7ejrIKKyukz6SkpLmktKSkpLmktKSkICNKTiClz6WkpbmltKWkpbmltKWkCisrpM+kpKS5pLSkpKS5pLSkpCAjSk4gjsqOso69jrqO3o6yjr2Ouo7ejrIKKyukz6SkpL2kyqS7pOyk1qTLpN6kv6SkpMOk3SAjQ0ogpc+lpKW9pMqlu6Xspdaky6TepL+w7MrituGkxaStpN6kt6S/pMekuaGjCisrpM+kpKTDpKSkvaSmICNDSiDG/qTDpKSkvaSmCisrpM+kpKTJICNKTiCkz6SkpMkKKyukz6SkpMkgI1QzNSCkz6SkpMkKKyukz6SkpOCkxCAjVDM1ILOlpeClxAorK6TPpKuhvCAjVDM1IKXPpauhvAorK6TPpKuhvCAjVDM1IMroobwKKyukz6SrpKIgI1QzNSClz6WrobwKKyukz6SrpKIgI1QzNSDK6KG8CisrpM+kq6SuICNLSyDN1biwCisrpM+kq6SupKSkvyAjQ04gzdW4sMjECisrpM+kq6SupKSkvyAjVDM1IM3VuLDIxAorK6TPpKukrqSkpL+ktaSkpOKkqKSqpMiks6TIobykyqThpPOkyCAjVDM1IM3VuLDIxLrHx7OkqMPLpcihvKXKpeGl86XICisrpM+kq6SupKSkv6S1pKSk4qSopMihvKTKpOGk86TIICNLSyDN1biwyMS6x8uopcihvKXKpeGl86XICisrpM+kq6SupKSkv6S1pKSk4qSopMihvKTKpOGk86TIICNUMzUgzdW4sMjEusfLqKXIobylyqXhpfOlyAorK6TPpKukrqS7pPOkvaSmICNUMzUgzdW4sMDvwegKKyukz6SrpK6kwaTlpKYgI1QzNSDN1biwv98KKyukz6SrpK6kw6SzICNUMzUgzdW4sKTDu9IKKyukz6StpOWkpqTzICNDSiBIUU4KKyukz6SupKSkvyAjQ04gx+vIxAorK6TPpK6kpKS/ICNUMzUgx+vIxAorK6TPpK6k76TpICNDSiAox+u4tgorK6TPpK6k76TpICNDSiDH67i2CisrpM+kryAjVDMwIKXPpa8KKyukz6SvpL2k6qG8pMqk2CAjSk4gpM+kr6S9peqhvKXKpNgKKyukz6SvpMCkxKTBpOWkpiAjVDM1IMftw6W/3worK6TPpK+kwSAjVDM1IMfyw9QKKyukz6SwpK0gI0pOILv1t9QKKyukz6SwpK0gI1QzNSC79bfUCisrpM+ksKTrpN6kqqSmICNKTiC79bzWsqYKKyukz6SwpOuk3qTvpPOkwaSnpPMgI0pOILv1vNal76XzpcGlp6XzCisrpM+ksKTrpN6k76TzpMGkp6TzICNKTiC79bzWpe+l86XBpael86HKsr6+zqHLCisrpM+ksKTspMqk3qSzICNUMzUgpM+ksKTspMqk3qSzCisrpM+ksaG8pPMgI1QzMCClz6Wxobyl8worK6TPpLGhvKTzICNUMzAgjsqOuY6wjt0KKyukz6SyICNUMzUgu7OyvAorK6TPpLKkt6SvpK+kzqSkpMEgI0pOILfjpLekr6Svpc6w7AorK6TPpLKkt6SvpMCk36G8ICNKTiC346S3pK+lwKXfobwKKyukz6SypLekr6TJpKWkpKSoICNDSiC346S3pK+lyaWlpaSlqKGqCisrpM+ksqS3pK+kyaSmpKQgI0NKILfjpLekr8axsNWhqgorK6TPpLKkt6SvpMmkpqTSICNDSiC346S3pK/Gscj0oaoKKyukz6SypLekr6TLpOekpqSkICNDSiC346S3pK/HorDVoaogCisrpM+ksqS3pK+ky6TzpLik4yAjSk4gt+Okt6Svx6a81AorK6TPpLKkt6SvpNKk56SmpKQgI0NKILfjpLekr9jhsM2hqgorK6TPpLKkyaSmICNDSiCkz6SypMmkpgorK6TPpLKkyaSmICNDSiDGxcaxCisrpM+ksqTJpKYgI1QzMCCkz6SypMmkpgorK6TPpLKkyaSmICNUMzAgxsXGsQorK6TPpLKk4qTKobwgI0pOIGhhZ2Wl4qXKobwKKyukz6SypPOk6qS3pOWkriAjVDM1IM3VuLbN/bzntcEKKyukz6SzpLOkx6S5pKsgI0NKIKTPpLOks6THpLmkq6GpCisrpM+ks6SzpMekuaSrICNTVUMgpM+ks6SzpMekuaSroakKKyukz6S3pOuk86THpLkgI1QzNSDB9qXrpfOkx6S5CisrpM+kuKTDpLMgI1QzNSDD0aTDu9IKKyukz6S4pOukuSAjVDM1IKTPpLik66S5CisrpM+kuSAjVDM1IM+hCisrpM+kuaSzpOkgI1QzNSDPoaWzpekKKyukz6S6ICNUMzUgpc+lugorK6TPpMGkpKTBpLSkuKSxpPMgI1QzNSCjuKOxo7W79rfvCisrpM+kwaSspMSkraStICNUMzUgo7i37rTttaEKKyukz6TBpLik56SmpLik3qS4pKuk86SrpPOk6qS7pPOkv6G8ICNKTiDIrL7mxee7/rTWtMnN/aW7pfOlv6G8CisrpM+kwaTBpMEgI1QzNSCkz6TBpMGkwQorK6TPpMGkyKSmpLek86TOICNSVCCjuMasv8ikzqGhCisrpM+kwaTIpKakt6TzpM6k3qTrpN6k6yAjSk4go7jGrL/IpM6h+6H7oaEKKyukz6TDpKuhvCAjVDM1IKXPpcOlq6G8CisrpM+kw6SrpKIgI1QzNSClz6XDpauhvAorK6TPpMOkr6TppKSkvyAjQ04gpc+lw6WvpenIxAorK6TPpMOkr6TppKSkvyAjVDM1IKXPpcOlr6XpyMQKKyukz6TDpLek5SAjVDM1IKXPpcOlt6XlCisrpM+kw6S7pPOkwaTlpKYgI1QzNSA4MDAwv98KKyukz6TDpMGk46SxpMaksKSlICNDSiCkz6TDpMGk46SxpMalsKWlCisrpM+kw6TGpPMgI1QzNSBoYXR0ZW4KKyukz6TDpMak8yAjVDM1IKXPpcOlxqXzCisrpM+kw6TGpPOkr6TzICNKTiBoYXR0ZW63rworK6TPpMOkxqTzpLekzaG8pOggI0pOIMivxbilt6XNobyl6AorK6TPpMOkyKSmpLek86SqpMukrqTqpOKkyqG8ICNKTiCjuMX5v8ikqqTLpK6k6qXipcqhvAorK6TPpMOkyKSmpLek86SupLMgI0pOIMisxqy/yKWupbMKKyukz6TDpMikpqS3pPOku6TzpOikpqSspK+k5KSmpOmks6S/pMQgI0pOIMisxqy/yMDszdGz2rKwzqLf2d/9CisrpM+kw6TIpKakt6TzpOGk86TJpK+ku6SnICNKTiDIrMasv8iO0o7djsSO3o64jr6OqgorK6TPpMOkyKSmpLek86TipMqhvCAjSk4go7jGrL/IpeKlyqG8CisrpM+kw6TIpKakt6TzpOKkyqG8pK+k8yAjSk4go7ikyKSmpLek86XipcqhvaSvpPMKKyukz6TDpMikpqS3pPOk8qTbpO2k3KS5pMuku6SkpMGktaTzICNKTiCjuMasv8ik8szHpNykubW2o7GktaTzCisrpM+kw6TRICNUMzUgzdWkw8fJCisrpM+kw6TRpL+kpCAjSk4gpM+kw6TRwuIKKyukz6TDpNSkpKTEpOqkpKTVpOyk86S6ICNUMzUgSGFwcHlUcmVlRnJpZW5kcworK6TPpMSkt6TQpOqkw6SvICNUMzUgvem8x6XqpcOlrworK6TPpMSkyaSmICNUMzAgyK/GsAorK6TPpMSk0qTOpMekwaTzpL2kpiAjVDMwIL3pxvykzr3QofnEwcH2CisrpM+kx6S5pOGk86TQobwgI0tLIKXPpceluaXhpfOl0KG8CisrpM+kx6S5pOGk86TQobwgI1QzNSClz6XHpbml4aXzpdChvAorK6TPpMekuaThpPOk0KSiICNUMzUgpc+lx6W5peGl86XQobwKKyukz6TIICNKTiDItworK6TPpMggI1QzNSDItworK6TPpMikoqTLICNKTiDIt7e7CisrpM+kyKSipMsgI1QzNSDIt7e7CisrpM+kyKSqpMikpqTIICNKTiDIt8TvCisrpM+kyKSqpMikpqTIICNUMzUgyLfE7worK6TPpMik5KTepOakraSqICNKTiDIt7uzzbO1qsnXCisrpM+kyaSmpNukpiAjSk4gx8jGsMukCisrpM+kyiAjVDM1ILLaCisrpM+kyqSyICNKTiDJoczTCisrpM+kyqSyICNUMzUgyaHM0worK6TPpMqk3KSmpLcgI0pOILLWy7m70gorK6TPpMuk46TzpL6kpiAjSk4gpc+ly6XjpfPCogorK6TPpM2kwCAjVDM1IMS3pM2kwAorK6TPpN4gI1QzNSCkz6TeCisrpM+k3iAjVDM1IKXPpd4KKyukz6TepN6kxKTqICNUMzUgpM+k3rrXpOoKKyukz6TgICNLSyC4+AorK6TPpOAgI1QzNSC4+AorK6TPpOCksyAjSk5NIKXPpeC70gorK6TPpOCksyAjVDM1IKXPpeC70gorK6TPpOCkuaS/obwgI0pOIKGhoaGhoaHKLKHLoaGhoaGhoaGhwSgioaYpCisrpM+k4KS5pL+hvCAjSk4gpc+l4KW5pb+hvAorK6TPpOCkv6TtpKYgI0pOIKXPpeDCwM+6CisrpM+k4KTKpNekyKTpICNKTiClz6Xgpcql16XIpekKKyukz6TkpK+koqTkpN6k7KToICNDSiDB4aSvvNWk7KToCisrpM+k5KTfpN6kuaTfICNKTiDCrr/lv7/AoQorK6TPpOmkt6TeICNUMzUgpc+l6aW3pd4KKyukz6TppLek3qTzICNUMzUgpc+l6aW3pd6l8worK6TPpOqhvKTdpMOkv6G8pMik2KTJpKako6SwICNKTiClz6XqobyhpqXdpcOlv6G8pMil2KXJpaalo6WwCisrpM+k66SkpMGk0KTzICNKTiC91bDsyNYKKyukz6TrpKSkwaTQpPMgI1QzNSC91bDsyNYKKyukz6TrpKsgI1QzNSClz6XrpasKKyukz6TrpMGk5aSmICNUMzUgvdW/3worK6TPpOuk5KTeICNKTlMgvdW7sworK6TPpO+k6aTDpL8gI0NKIKTPvtCkw6S/oaoKKyukz6TvpOmkw6S/ICNTVUMgpM++0KTDpL+hqgorK6TPpPOkq6SvICNUMzUgpM+k86SrpK8KKyukz6TzpKukr6SrpMogI1QzNSDIvrPRpaulygorK6TPpPOkq6SvpKukyqSkpL8gI1QzNSDIvrPRpKukysjECisrpM+k86SrpK+ky6S4pLKk86SkpL8gI1QzNSDIvrPRxvO8obi1yMQKKyukz6TzpKukr6TipLik7KTEICNUMzUgyL6z0cq4u/rO8worK6TPpPOkq6SvpOKkuKTspMSkpKS/ICNDTiDIvrPRyri7+s7zyMQKKyukz6TzpKukr6TipLik7KTEpKSkvyAjS0sgyL6z0cq4u/rO88jECisrpM+k86SrpK+k4qS4pOykxKSkpL8gI1QzNSDIvrPRyri7+s7zyMQKKyukz6TzpK2k5aSmICNLSyDIvrXZCisrpM+k86StpOWkpiAjS0sgyL615QorK6TPpPOkraTlpKYgI1QzNSDIvrXZCisrpM+k86StpOWkpiAjVDM1IMi+teUKKyukz6TzpK2k5aSmpM+kuiAjVDM1IMjIteeOyo69jt4KKyukz6TzpLCk66SkpL+kwKSkpKSkwaTbpKakvaSvICNUMzUgpc+l86WwpevIxMLosOzLocKnCisrpM+k86SzpKak6KSzpK8gI1QzMCDIyLnUzb258AorK6TPpPOks6SmpOiks6SvpLmk7CAjVDM1IMjIudTNvbnwpbml7AorK6TPpPOkt6TzpMCkpKS3pPOktaSkpM+k76TppKikvyAjQ0oguuW/wMLnv8y60qTPvtCkqKS/oaoKKyukz6TzpLik46SkpLek4yAjVDM1IMjIuuG81AorK6TPpPOkuqTcpPOktyAjVDM1IMi+pbql3KXzu+EKKyukz6TzpLukpKS3pOukqqS4pLWk8yAjSk4gyL++yqS3pOukqqS4pLWk8worK6TPpPOku6SkpLek66SqpLiktaTzICNUMzUgyL++yqS3pOukqqS4pLWk8worK6TPpPOkvaSmpKqhvKTrpLmkv6G8ICNKTiDIwsH3paqhvKXrpbmlv6G8CisrpM+k86TBpPMgI1QzNSDIyMTBCisrpM+k86TIpKYgI1QzNSDIvsXnCisrpM+k86TJpOsgI1QzNSClz6Xzpcml6worK6TPpPOkyaTrpM2hvKTgICNUMzUgpc+l86XJpeulzaG8peAKKyukz6TzpMmk66TNpKik4CAjVDM1IKXPpfOlyaXrpc2hvKXgCisrpM+k86TLpOMgI1NVQyDIzLzjCisrpM+k86TLpOOkt6TzpK6k56SmICNKTiDIzLzjv7S30AorK6TPpPOkzqSmICNUMzUgyL7HvgorK6TQobwgI0pOIEJBUgorK6TQobwgI1QzNSCl0KG8CisrpNChvKS4pPOkraTpobykoqTZpOsgI0pOIL3ovfelraXpobyloqXZpesKKyuk0KG8pL+k7CAjVDM1IKXQobylv6XsCisrpNChvKTBpOOkzaTDpMikoqSkpMmk66TLpLek4KTppNKk7aSzMTKktaSkICNKTiCl0KG8pcGl46Xrpc2lw6XIpaKlpKXJpevAvsK8x+670qOxo7K60AorK6TQobykwaTjpOukzaTDpMikoqSkpMmk66SopOukqKTrpKik6yAjSk4gpdChvKXBpeOl66XNpcOlyKWipaSlyaXrTExMCisrpNChvKTcpMOkyCAjSk4gpdChvKXcpcOlyAorK6TQobyk5CAjSk4gpdChvKXkCisrpNChvKTkICNUMzUgpdChvKXkCisrpNCkoiAjVDM1IKXQobwKKyuk0KSipL+k7CAjVDM1IKXQobylv6XsCisrpNCkoqTkICNUMzUgpdChvKXkCisrpNCkpKSrpK+k4qS4ICNUMzUgx9yz0cq4u/oKKyuk0KSkpK+k7KG8pLkgI1QzNSCl0KWkpa+l7KG8pbkKKyuk0KSkpNCkpCAjSk4gyt6yyt6yCisrpNCkpKTQpKQgI0pOII7Kjt6Oso7Kjt6OsgorK6TQpKSk7aTzpOKk7KTOICNUMzUgpdClpKXtpfOhpqXipeylzgorK6TQpKuhvCAjSk4gjsqO3o62jrAKKyuk0KSrobwgI0pOII7Kjt6Oto6wobQojt+n1Y7fKY7JoasKKyuk0KSrpKak6CAjSk4gpdClq6WmpegKKyuk0KSrpK6kw6SzICNUMzUgpdC4sKTDu9IKKyuk0KSrpMAgI1QzNSCl0KWrxcQKKyuk0KSrpMukz6SzpNSk2qTHpK2kyqSkICNDSiCmwqbBpsqmwaTLpM+ls6XUpdqkx6StpMqkpAorK6TQpKuk6aTtpKYgI1QzNSCl0KWrpeml7aWmCisrpNCkq6TtpOqhvKS/ICNUMzUgpdCtyqW/CisrpNCkq6TtpOqhvKS/ICNUMzUgjsqO3q3KjsAKKyuk0KSrpO2k6qG8pL+k6aTqpMOkyKTrICNDSiCl0K3Kpb+l6a3ICisrpNCkq6TtpOqhvKS/pOmk6qTDpMik6yAjQ0ogjsqO3q3KjsCO163ICisrpNCkq6TtpOqkpKS/ICNUMzUgjsqO3q3KjsAopdClq6XtpeqhvKW/KQorK6TQpKuk7aTqpKSkv6TppOqkw6TIpOsgI0NKII7Kjt6tyo7AjtetyAorK6TQpKuk86SzpK8gI0NOIKXQtNq58QorK6TQpKuk86SzpK8gI1QzNSCl0LTaufEKKyuk0KStpOWhvKTgpKuhvCAjSk4gpdClraXlobyl4KWrobwKKyuk0KSvpLKkrSAjVDM1IMf6t+IKKyuk0KSvpLik46TDpK+kuKSxpPMgI0tLIKXQpbmluKXjpcOlr7v2t+8KKyuk0KSvpMCk86TNpLqk3yAjSk4gx/rDxqXNpbql3worK6TQpK+kwaTlobyk4qTzpMCkpCAjSk4gx/qlwaXlobzM5MLqCisrpNCksCAjSk4gpdClsAorK6TQpLWk7aS5pOwgI1QzNSCl0KW1pe2luaXsCisrpNCkuaS4pOOkw6SvICNUMzAgpdCluaW4peOlw6WvCisrpNCkuqG8pKukrqSzICNKTiCl0KW6obylq6WupbMKKyuk0KTDpLWkpKTkICNKTiDIsrrOsrAKKyuk0KTEICNKTiD6pQorK6TQpMSk0KSzICNUMzUgod/IogorK6TQpMSk3KTDpK+kuSAjVDM1IKHfpdylw6WvpbkKKyuk0KTIpOmhvCAjSk4gpdClyKXpobwKKyuk0KTIpO2k76S5pOwgI0pOIKXQpcil7aXvpbml7AorK6TQpNCkoSAjSk4gx8yloQorK6TQpNMgI1I1IKXQpdMKKyuk0KTTpOqkxqSjICNUMzUgpdCl06XqpcaloworK6TQpNOk66TLpLsgI0tLIKXQpdOl67W2CisrpNCk06TrpMukuyAjVDM1IKXQpdOl67W2CisrpNCk6aSzpKYgI0NOIKXQpem54gorK6TQpOmks6SmICNUMzUgpdCl6bniCisrpNCk6aTBpL0gI1QzNSCl0KXppcGlvQorK6TQpOmkwaS9ICNUMzUgjsqO3o7XjsGOvworK6TQpOukq6TzpO+kw6S3pOekpCAjSk4gpdCl66WrpfOhpqXvpcOlt6XnpaQKKyuk0KTzICNUMzUgyMcKKyuk0KTzpMCkpCAjVDM1IMjWwuYKKyuk0KTzpMGk56SmICNKTiDI1sS5CisrpNCk86TBpOekpiAjVDM1IMjWxLkKKyuk0aSkpNGkpCAjVDM1IKbQobkKKyuk0aSkpNGk86StpOekpqTApKQgI0pOIKXRpaSl0aXzt7vE7worK6TRpK+k6iAjVDM1IMvRzfsKKyuk0aS9pLOk86StpOWkpqStpOWkpqTQpLmkv6SipLogI1QzNSCl0aW9pbOl87Xftd6l0KW5pb+hvKW6CisrpNGkw6TIICNUMzUgUGF0CisrpNGkxiAjS0sgpdGlxgorK6TRpMYgI1QzNSCl0aXGCisrpNGkyCAjS1MgpdGlyAorK6TRpMggI1I1IKXRpcgKKyuk0aTIICNUMzUgUGF0CisrpNGk1KSzICNUMzUgpdGl1KWzCisrpNGk2qTDpMik3qTapMOkyCAjSk4gpdGl2qXDpcil3qXapcOlyAorK6TRpOSkqiAjVDM1IKXRpeSlqgorK6TRpOmktaSkpMik1KTopN+hvCAjSk4goaEojt9vjt+iv6HBfn4KKyuk0aTppLWkpKTIpNSk6KTfobwgI0pOIKXRpemltaWkpcil1KXopd+hvAorK6TRpOmktaSkpMik1KTopN+hvCAjSk4gpdGl6aW1paSlyKXUpeil36G8IAorK6TRpOmkwKSkpLmksaSkpLakpCAjVDM1IKXRpemlwKWkpbm30LrRCisrpNGk6aTipOqk3qTEpOogI1QzNSCl0aXpv7m616TqCisrpNGk7KG8pMkgI0pOIKXRpeyhvKXJCisrpNGk7aTfpM6kr6TzICNKTiCl0aXtpd+lzrevCisrpNGk86TGpKOk6SAjVDM1IKXRpfOlxqWjpekKKyuk0aTzpNGkqyAjVDM1IKXRpfOl0aWrCisrpNGk86TRpPMgI1QzNSCl0aXzpdGl86GqCisrpNIgI1QzNSDI5gorK6TSobyky6TLobyky6TTpMOkr6TqICNKTiCl0qG8pculy6G8pcuhqgorK6TSpKSkq6TqpOOkryAjVDM1IKTSocqwyrK8zqyhyworK6TSpKuk6aTTpMmk8yAjVDM1IKTSpKuk6aTT0KcKKyuk0qSrpOqkxKSmpLek8yAjS0sguPfEzL+uCisrpNKkq6TrICNUMzUgpdKlq6XrCisrpNKkrKSvpPMgI1QzNSDI5rLFt68KKyuk0qSspLcgI0pOUyC0s7Lbu9IKKyuk0qSspLcgI1QzNSC0s7Lbu9IKKyuk0qSspLekq6S/pOKkyqS5pLEgI0pOIMXsyv2l4qXKvfUKKyuk0qStpLMgI1QzNSCl0qWtpbMKKyuk0qStpLOhvKTipOogI0pOIKXSpa2ls6G8peKl6gorK6TSpK2ks6TiICNSNXIgpNKkraSzpOIKKyuk0qStpLOk4iAjUjVyILD6pK3kxqTiCisrpNKkraSzpOKk6aTpobwgI0pOIKXSpa2ls6Xipeml6aG8CisrpNKkraSzpOKk6qSzpN6k6yAjSk4gpdKlraWzv7mls6XepesKKyuk0qStpOOkryAjVDM1IMj0tdMKKyuk0qSvpL2k8yAjSk4gpdKlr6W9pfMKKyuk0qSyICNKTiCl0qWyCisrpNKksiAjSk4gyaYKKyuk0qSyICNUMzUgpdKlsgorK6TSpLKk4KS3ICNUMzUgpNKksqTgpLcKKyuk0qS1pPOkyjEgI1QzNSDI4bu0pMqjsQorK6TSpLWk86TKpKSkwSAjSk4gyOG7tKTKo7EKKyuk0qS1pPOkyqSkpMEgI1QzNSDI4bu0pMoxCisrpNKkt6TApMogI1QzNSDI6bvppMCkygorK6TSpLek56SmpLGkpKTJpKakuKTzICNLSyDI9ObGt8/Gsb/NCisrpNKkt6TnpKaksaSkpMmkpqS4pPMgI1QzNSDI9ObGt8/Gsb/NCisrpNKkuqTfICNKTiDPxAorK6TSpL2k0qTsICNUMzUgpNKkvaTSpOwKKyuk0qTDpK2hvCAjSk4gpdKlw6WtobwKKyuk0qTDpK2hvCAjSk4gpdKlw6WtobwgCisrpNKkw6StobwgI1QzNSCk0qTDpK2hvAorK6TSpMOkraG8ICNUMzUgpdKlw6WtobwKKyuk0qTDpK2kpCAjVDM1IKXSpcOlraG8CisrpNKkw6S3pMCkyiAjQ0ogyay74KTApMoKKyuk0qTDpLekwKTKICNUMzUgyay74KTApMoKKyuk0qTDpL+k6iAjVDM1IKTSpMOkv6TqCisrpNKkxKS4ICNUMzUgzdMKKyuk0qTEpOikpqSipK+kzqTQpKukuaTGpNAgI1QzNSDJrM3XsK2kzsfPvK+8zqTGvuwKKyuk0qTHpKek5CAjSk4gpNKkx6SnpOQKKyuk0qTHpOmk7CAjS1MgSElERaTppOwKKyuk0qTIpKqkqqS5pK4gI1QzNSC/zcLnv/kKKyuk0qTIpK+kpKSqpKqk36TfICNKTiC/zb+ppKTC57yqCisrpNKkyKTQpLek6SAjVDM1IL/Nw+wKKyuk0qTIpN+kwaTjpPMgI0pOIMa3pMGk46TzCisrpNKkyKTqpOikpqStpOOkw6TXICNUMzUgpNKkyKTqzdGlraXjpcOl1worK6TSpMmkpqTJpKakxqSkICNUMzUgyPPGu8a4xOcKKyuk0qTKpPOkuKTnICNUMzUgyPLG8b3qCisrpNKkyqTzpLik56TmpKakyaSmpK6ksyAjSk4gyPLG8b3qzbbGs6WupbMKKyuk0qTOpMekwaTnpKYgI1QzNSDG/L3QxK4KKyuk0qTPpPOk6KSmpNykpiAjVDM1IMjjyL3N18u+CisrpNKk0qTSpNIgI0NKIKXSpdKl0qXSCisrpNKk0qTSpNKk0iAjQ0ogpdKl0qXSpdKl0gorK6TSpNWk36SvpMCk8yAjVDM1IKOxo7Kjs6O5w8oKKyuk0qTZICNUMzUgaGliZQorK6TSpNkgI1QzNSCl0qXZCisrpNKk3qTNobyk6CAjSk4gpdKl3qXNobyl6AorK6TSpOOkr6S1pLKkz6SkpMGkoqSypMukt6SrpLogI0NKIMm0pLWksqTPsOykoqSypMukt6SrpLoKKyuk0qTjpK+ktaTzpLik5aSmpMuky6TzpOGkzqS9pLmkpqS1pPMgI1QzNSAxMzK/zczcpM7Bx7/0pLWk8worK6TSpOOkr6S3pOekpqTIpLcgI1QzNSDJtMCrxdS71AorK6TSpOOkr6S4pOWkpqStpOWkpqSxpKSkx6TzpLek4yAjSk4gMTE5t8/FxbzWCisrpNKk46SvpMukuKTlpKakz6TDpMikpqS3pPOk4qTKobwgI0pOIDEyOMasv8il4qXKobwKKyuk0qTjpMOk26SmICNDSiCl0qXjpcOl26G8CisrpNKk46TDpNukpiAjQ0ogjsuOrI6vjs6OsAorK6TSpOiksyAjSk4gpdKl6KWzCisrpNKk6KS3pMGk5aSmICNUMzUgxvy1yL/fCisrpNKk6aSspMogI0pOIKTSpOmkrKTKCisrpNKk6aSspMogI1QzNSCk0qTppKykygorK6TSpOmkrKTKpMek5aG8pK8gI0pOIKS6pKOks6S0pKykp6SqpKykuKSipK+kraSupLKkqqSspKWks6S5oeOwyrK8zqyh5CAKKyuk0qTppKykyqTHpOWhvKSvICNKTiCk0qTppKykykRVS0UKKyuk0qTppN+k36TipMqhvCAjSk4gyr+8qqXipcqhvAorK6TSpOmk36TfpOKk6aTpobwgI0pOIMq/vKql4qXppemhvAorK6TSpOqk46SvICNUMzUgpNKhys6socsKKyuk0qTtpLektaTeICNKTk0gx+7NzQorK6TSpO2kt6S1pN4gI1QzNSDH7s3NCisrpNKk7aTSpMggI0pOIKXSpe2l0qXICisrpNKk7aTSpMggI1QzNSCl0qXtpdKlyAorK6TSpO2k3aTzICNKTiCk0qTtpN2k8worK6TSpO2k5qStICNKTiCk0qTtpOakrQorK6TSpO2k5qStICNKTk0gpNKk7aTmpK0KKyuk0qTtpOakrSAjVDM1IKTSpO2k5qStCisrpNKk7aTmpK2kq6TzpMGk56SvpMuk8yAjSk4gpNKk7aTmpK2h97TJxL6/zQorK6TSpO2k5qStpKuk86TBpOekr6TLpPMgI0pOIKTSpO2k5qStofe0ycS+v80gCisrpNKk7aTmpK2kq6TzpMqkqqTIICNKTk0gpNKk7aTmpK2h97/7xL6/zQorK6TSpO2k5qStpLOkpqTLpPOk1aShpPOkr6TppNYgI0tLIKTSpO2k5qStuPjHp6XVpaGl86Wvpeml1gorK6TSpO2k5qStpMOk3aSkpM4gI0pOIKTSpO2k5qStpMOk3aSkpM4KKyuk0qTtpOaks6SrpPOkyqSqpMggI0pOTSCk0qTtpOa70qH3v/vEvr/NCisrpNKk86TUpOekpqSrpKQgI1QzMCDJysm+svEKKyuk0qTzpNSk56SmpKukpCAjVDM1IMnKyb6y8QorK6TTobwgI1QzNSCjwgorK6TTobyksKTrICNKTiCl06G8pbCl6worK6TTobyksKTrpKKk6aS3ICNKTiCl06G8pbCl67nTpOmktworK6TTobykwaSvICNUMzUgQsPPtugKKyuk06SjICNKTiCk06SjCisrpNOkpKSwpOukoqTppLcgI1QzNSCl06G8pbCl67nTpOmktworK6TTpK2k46SvICNKTiDI/rXTIAorK6TTpLek56SmpLik56S7pPOkt6S7obyk6aG8pNWhvKTzICNKTiDI/r6vvffA77vOpbuhvKXpobyk1aG8pPMKKyuk06S3pOekpqS4pOeky6TzpMakpCAjVDMwIMj+vq+998enxOoKKyuk06S4ICNUMzUgpdOluAorK6TTpLikzaS5pMuk5aSmpLmk16TppLkgI1QzNSCl06W4pc2luaXLpeWhvKW5odwKKyuk06S5pLGkv6TzICNUMzUgpdOluaWxpL+k8worK6TUobyksyAjVDMwIKXUobylsworK6TUobyks6TkpO2kpiAjVDM1IKXUobyls8zuz7oKKyuk1KSkICNUMzUgUAorK6TUpKukwaTlobwgI0pOIKXUpaulwaXlobwgCisrpNSkq6TBpOWkpiAjSk4gpdSlq6XBpeWlpgorK6TUpKukwaTlpKYgI0pOIKXUpau/3worK6TUpKukxKG8ICNLSyCl1KWrpcShvAorK6TUpK+k36S9ICNKTiCl1KWvpd+lvQorK6TUpK+k36TzICNKTiCl1KWvpd+l8worK6TUpLMgI1QzNSCl1KWzCisrpNSk56TzpNSk56TzICNKTiCl1KXnpfOl1KXnpfMKKyuk1KTtICNKTiCl1KXtpbMKKyuk1KTtICNUMzUgpdSl7QorK6TUpO0gI1QzNSCl1KXtpbMKKyuk1KTtpLMgI0pOIKXUpe0KKyuk1KTtpLMgI1QzNSCl1KXtCisrpNSk7aSzICNUMzUgpdSl7aWzCisrpNSk86StobwgI0pOIKXUpfOlraG8CisrpNSk86SvpL+k76SipMmkw6TIpLOk4CAjVDM1IHBpbmt0b3dlci5jb20KKyuk1KTzpK+kwaTjpPOkzaTrICNUMzUgUGlua6TBpOOk86TNpOsKKyuk1KTzpN2k86TApMOkt6TlICNUMzAgpdSl86XdpfOlwKXDpbel5QorK6TVobyk8yAjQ0ogpNWhvKTzCisrpNWhvKTzICNKTiCk1aG8pPOhoQorK6TVobyk86StpOekpqTApKQgI0pOIKTVobyk87e7xO8KKyuk1aShobykuaTIpK6ks6SopOKk8yAjSk4gpdWloaG8pbmlyKGmpa6ls6WopeKl8worK6TVpKGhvKS5pMikrqSzpN8gI0pOIKXVpaGhvKW5pcihpqWupbOl3worK6TVpKGkpKTKpOukoqTzpLWkoiAjQ0ogRkEKKyuk1aShpKSkyqTrpKKk86S1pKIgI0NKIEZBPworK6TVpKGkpKTKpOukoqTzpLWkoiAjQ0ogpdWloaWkpcql66WipfOltaG8oakKKyuk1aShpKSkyqTrpL+k1qSmICNUMzUgpdWloaWkpcql66W/pdahvAorK6TVpKGkpKTKpOuk1aShpPOkv6S6pKMgI1QzNSBGSU5BTKGhRkFOVEFaWQorK6TVpKGkw6SvpOahvCAjSk4gpdWloaXDpa+l5qG8CisrpNWkoaTDpK+k5qSmpNakwaSzpO2kuaS+ICNDSiBGdWNooaFZb3WhoaTWpMG7pqS5pL4KKyuk1aShpNOk5yAjS1MgpdWloaXTpecKKyuk1aShpNOk56TzICNUMzUgpdWloaXTpeel8worK6TVpKGk6aSqICNKTiCl1aWhpemlqgorK6TVpKGk86S/pLihvCAjVDM1IKXVpaGl86W/pbihvAorK6TVpKGk86S/pLikpCAjVDM1IKXVpaGl86W/pbihvAorK6TVpKOhvKTNpOKkqCAjSk4gpdWlo6G8pc3LqKSoCisrpNWko6TDpLek46G8pN6k8yAjSk4gpdWlo6XDpbel46G8pd6l8worK6TVpKOk66S/ICNUMzAgpdWlo6Xrpb8KKyuk1aSjpOukv6G8ICNUMzUgpdWlo6Xrpb+hvAorK6TVpKakraSkpKSk8yAjVDM1IMn3taqw0bD3CisrpNWkpqTWpMSktyAjVDM1IKTVpKak1qTEpLcKKyuk1aSmpPMgI0NKIKXVobyl8worK6TVpKak8yAjQ0ogjsyOsI7dCisrpNWkp6TpobykwaTnICNKTiCl1aWnpemhvKXBpecKKyuk1aSnpOmhvKTBpOek1aShpN+k6qG8ICNKTiCl1aWnpemhvKXBpeel1aWhpd+l6qG8CisrpNWkp6TppM2hvKToICNKTiCl1aWnpemlzaG8pegKKyuk1aSppKakySAjVDM1IDRyZAorK6TVpKmk6aTNobyk6CAjSk4gpdWlqaXppc2hvKXoCisrpNWkq6TfpKikpKSkpMGk7aSmICNKTiC/vL/lsdGw7M+6CisrpNWkq6TvpOqk56SmICNKTiCk1aSrpO+k6qTnpKYKKyuk1aSuobwgI0pOIKXVpa6hvAorK6TVpK6kpCAjVDM1IKXVpa6hvAorK6TVpK+kt6TnpKYgI0pOIMn7vq0KKyuk1aSvpLek56SmICNUMzUgyfu+rQorK6TVpK+kuaSmpLmk7CAjVDM1IMqjv/SluaXsCisrpNWkr6S5pKakuaTspMOkySAjVDM1IMqjv/SluaXspcOlyQorK6TVpK+kuaSxICNUMzUgo7Kjub31CisrpNWkr6TspK0gI1QzNSDKpM7yCisrpNWksCAjVDM1ILLPxtoKKyuk1aSwpOqk6aG8ICNKTiCl1aWwpeql6aG8CisrpNWktaSqICNKTiCl1aW1ydcKKyuk1aS1pKogI0pOTSCk1aS1pKoKKyuk1aS1pK6ksyAjSk4gpdWltaWupbMKKyuk1aS1pK6ks6SzpKak3KTypM6k36S5pK6kv6TVpLWkrqSzICNKTiCl1aW1pa6ls7nayuyk8rD7pN+y4aSupL+l1aW1pa6lsworK6TVpLWkrqSzpN6k86TApPMgI0pOIKXVpbWlrqWzzKHDzAorK6TVpLekoqTKpLWk8yAjVDMwIGZ1c2lhbmFzYW4KKyuk1aS3pKKkyqS1pPOkyKTppMOk1yAjVDM1IGZ1c2lhbmFzYW6lyKXppcOl1worK6TVpLik56SmICNUMzAgyeK+5QorK6TVpLik56S3ICNUMzUgyeW997vSCisrpNWkwaTlpKaksaSkpOCkt6TnICNKTiDJ3MPmt7rMs73qCisrpNWkw6StpOQgI1QzNSDJ/LWisrAKKyuk1aTDpLWhvKTrpL+kpKS1ICNKTiCl1aXDpbWhvKXrwue6tAorK6TVpMOktaTrpMik06TVpLWkuaSxICNKTiCl1aXDse7I9KXVpbW99QorK6TVpMOktaTrpMik06TVpLWkuaSxICNKTiCOzI6vse7I9I7Mjru99QorK6TVpMOktaTsICNKTiCOzI6vjruO2gorK6TVpMikuaSxICNKTk0gwsDK5QorK6TVpMikuaSxICNUMzUgwsDK5QorK6TVpMik3qS3ICNKTiCl1aXIpd6ltworK6TVpMik3qS3ICNLWSDCwKTepLcKKyuk1aTIpN6kt6SkpLukpKTIICNKTiDCwKTepLekpMC4xcwKKyuk1aTIpN6kt6SkpLukpKTIICNKTiDCwKTepLekpMC4xcwgCisrpNWkyKTepLekpKTepOmk6aG8ICNKTiDCwKTepLekpKXepeml6aG8CisrpNWkyKTepLekpKTipMqhvCAjSk4gwsCk3qS3pKSl4qXKobwKKyuk1aTJpKak36TNICNUMzUgydTGsMr2CisrpNWky6SvICNUMzUgyeXG+QorK6TVpOWkpqS4pOOkzaSkpLak8yAjVDM1IKXVpeWhvKW4peOlzaWkpbal8worK6TVpOWkpqS4pOOkzaSkpLek46TzICNUMzUgpdWl5aG8pbil46XNpaSlt6XjpfMKKyuk1aTmpLek0KSxpPMgI0pOIMXfvMa4pAorK6TVpOakt6TQpLGk8yAjVDM1IMXfvMa4pAorK6TVpOakwaTlpKYgI1QzNSDF37/fCisrpNWk6aSwpKykvyAjVDUgpdWl6aWwpKzOqQorK6TVpOmkw6S3pOWk3qTzICNKTiCl1aXppcOlt6Xlpd6l8worK6TVpOmkw6TIpLmk6qSjICNUMzUgpdWl6aXDpcgzCisrpNWk6aTzpLmk0aTzICNUMzUgpdWl6aW9pbml0aXzCisrpNWk6aTzpLmk0aTzICNUMzUgjsyO146/jr2Oyo7fjt0KKyuk1aTqobyk1aSpobyk6yAjSk4gRlJFRUZBTEwKKyuk1aTqpKukqKTqpOKkyqSrICNKTiC/tqTqytak6qXipcqlqworK6TVpOqk86TBpOOk8yAjVDM1IMnUztGkwaTjpPMKKyuk1aTrpKahq6SnpPMgI0pOIKXVpeul9KWnpfMKKyuk1aTrpKahq6SnpPMgI1QzNSCl1aXrpfSlp6XzCisrpNWk7KTDpMSk7aTcICNKTiCl1aXspcOlxKXtpdwKKyuk1qSkICNKTiAgyfSwzAorK6TWpKQgI0pOIMnwsNIKKyuk1qSkICNUMzUgyfCw0gorK6TWpKQgI1QzNSDJ9LDMCisrpNakr6TepK8gI1QzMCCl1qWvpd6lrworK6TWpLWkpKSzICNUMzUgpdaltaWkpbMKKyuk1qS1pOikryAjSk4gpdaltaXopa8KKyuk1qS1pOikryAjVDM1IKXWpbWl6KWvCisrpNakvyAjSk4gxtoKKyuk1qS/ICNUMzUgxtoKKyuk1qTBICNUMzUg3rwKKyuk1qTBpLMgI0pOIKTWpMGksworK6TWpMGksyAjVDM1IKTWpMGksworK6TWpMOkryAjVDM1IKXWpcOlrworK6TWpMOkr6TeobykryAjVDMwIKXWpcOlr6XeobylrworK6TWpMOkt6TEICNUMzUgyqq8wQorK6TWpMOkwCAjVDM1IKXWpcOlwAorK6TWpMSkwKTzICNUMzUgyqnDxQorK6TWpMmkpqTipMqhvCAjSk4gyfLGuqXipcqhvAorK6TWpMykuSAjVDM1IKXWpcyluQorK6TWpNOkwaTlpKYgI1QzNSCl1qXTv98KKyuk1qTopK8gI1QzNSCl1qXopa8KKyuk1qTpICNUMzUgpdal6QorK6TWpOmkpqS2pK+k6aTDpLek4yAjVDM1IKXWpemlpqW2obylr6XppcOlt6XjCisrpNak6aSmpLakr6TppMOkt6TjobwgI1QzNSCl1qXppaaltqG8pa+l6aXDpbel46G8CisrpNak6aSvpOkgI1QzNSCl1qXppa+l6QorK6TWpOmkr6TpICNUMzUgyfTN7qTpCisrpNak6aSvpOmkwaSnpMOkqyAjVDM1IKXWpemlr6XppcGlp6XDpasKKyuk1qTppK+k6aTBpKekw6SrobwgI1QzNSCl1qXppa+l6aXBpaelw6WrobwKKyuk1qTppMOkr6TbpKqk6yAjVDM1IKXWpemlw6WvpduhvKXrCisrpNak66SqpL8gI1QzNSCl1qXrpfKlvworK6TWpOukyaTDpK+kvaG8pLkgI0tLIKXWpeulyaXDpa+lvaG8pbkKKyuk1qTspKSkuiAjVDM1IMy1zum/3gorK6TWpOykpKTzpKwgI0pOIKXWpeylpKXzpawKKyuk1qTtobykyaTQpPOkyaTrobykvyAjVDM1IKXWpe2hvKXJpdCl86XJpeuhvKW/CisrpNak7aG8pMmk0KTzpMmk66G8pL+hvCAjVDM1IKXWpe2hvKXJpdCl86XJpeuhvKW/obwKKyuk1qTtpMOkr6S5ICNUMzUgpNak7aTDpK+kuQorK6TXpKSkvyAjQ04gpdfIxAorK6TXpKSkvyAjVDM1IKXXyMQKKyuk16S5pKOksyAjSk4gpNekuaSju9IKKyuk16TDICNDSiCk16TDCisrpNekwyAjQ0ogpdelwworK6TXpMMgI0NKII7Mjt+OrworK6TXpMMgI0pOIKHKoa0sX6G1oa6hy47Mjt+OrworK6TXpMMgI0pOII7Mjt+OrworK6TXpMOk16SvpNehvCAjSk4gpNekw6TXpK+k16G8CisrpNekyyAjVDM1IKTXpMsKKyuk16TLICNUMzUgpdelyworK6TXpMuk6yAjVDM1IKXXpcul6worK6TXpMuk66TBpOWkpiAjVDM1IKXXpcul67/fCisrpNek6aTKpOqkoiAjSk4gpdel6aXKpeqlogorK6TXpOqkpqTzpLMgI1QzNSCk16TqpKak86SzCisrpNek6qTXpOqk0aTDpNEgI0pOIKXXpeql16XqpdGlw6XRCisrpNek6qTrpMqk6aSkpN6kzqSmpMEgI0NKIKXXpeql66XKpemlpKXepc6lpqXBCisrpNek6qTrpMqk6aSkpN6kzqSmpMEgI0NKII7Mjt+O2I7ZjsWO146yjs+OyY6zjsEKKyuk16TqpOukyqTppKSk3qTOpKakwSAjSk4gpdel6qXrpcql6aWkpd6lzqWmpcEKKyuk16TqpOukyqTppKSk3qTOpKakwSAjSk4gjsyO347YjtmOxY7XjrKOz47JjrOOwQorK6TXpOqk86SipL+k3iAjVDM1IKXXpeql88asCisrpNek66SupLMgI0pOIKXXpeulrqWzCisrpNek66TipMogI0pOIKXXpeul4qXKCisrpNek7aStpLekraS7pKQgI1QzNSCj0KPSo8+j2KPZtazAqQorK6TXpO2kr6S3ICNUMzUgpdel7aWvpbcKKyuk16TtpLek36TzICNUMzUgpdel7bvUzLEKKyuk16TtpLikp6SvpMikqKTDpK+kuSAjS0sgpdel7aW4paelr6XIo9gKKyuk16TtpLikp6SvpMikqKTDpK+kuSAjVDM1IKXXpe2luKWnpa+lyFgKKyuk16TtpLikp6SvpMikqKTDpK+kuSAjVDM1IKXXpe2luKWnpa+lyKPYCisrpNek7aS4pKekr6TIpLGhvCAjS0sgpdel7aW4paelr6XIo8sKKyuk16TtpLikp6SvpMiksaG8ICNUMzUgpdel7aW4paelr6XIo8sKKyuk16TtpLikp6SvpMiksaSoICNUMzUgpdel7aW4paelr6XISworK6TXpO2k0KSspPOkwKSzpKYgI1QzNSCl16XtpdGlrKXzpcC5uworK6TXpO2k0aSspPOkwKS/pO+koiAjVDM1IKXXpe2l0aWspfOlwKW/pe+hvAorK6TYobyk4qTKobwgI0pOIKTYobyl4qXKobwKKyuk2KSkpKKk8yAjSk4gyr+wwgorK6TYpKSkoqTzICNUMzUgyr+wwgorK6TYpKSktaS7pMQgI1QzNSDKxLq/wOIKKyuk2KSnpKggI0NKICihrY6los+OpWAppNikp6G8CisrpNikp6SoICNDSiCk2KSnocEKKyuk2KSopKikraTfpOmkpKTApKKky6TKpMOkv6TQpMOkq6TqpMqk86TAICNDSiCk2KSooby3r6XppaSlwKG8pMukyqTDpL+k0KTDpKuk6qTKpPOkwAorK6TYpLMgI1QzNSCx+gorK6TYpMSksCAjQ0ogPj6h+6H7pNi58KSwCisrpNikyqSuICNKTlMgpNikyqSuCisrpNikyqSuICNUMzUgpNikyqSuCisrpNikzqTYpM6k4qTYpLggI0pOIKTYpM6k2KTOpOKk2KS4CisrpNik3KTzICNUMzUgpNik3KTzCisrpNik86TKpKakvyAjVDM1IMrRpMqyzgorK6TZpMOkvaSmICNUMzUgyszB8QorK6TZpNOkt6SjICNKTiCl2aXTpLekoworK6TZpOukwKTzpMeko6G8pKKk6aS3ICNKTiCl2aXrpcCl86XHpaOhvLnTpOmktworK6TZpOyk4qTpICNKTiCl2aXspeKl6QorK6TZpPOkrSAjVDM1IMrYtO8KKyuk2aTzpLik56TOpOmkr6SspK0gI1QzNSDK2L3qpM7N7r3xpK0KKyuk2aTzpLyk86SrpPMgI0pOIKXZpfOlvKXztMQKKyuk2qG8pLik06TlobwgI1QzNSCl2qG8pbil06XlobwKKyuk2qSxpNCksyAjVDM1IKXapbHIogorK6TapLGk3KTDpK+kuSAjVDM1IKXapbGl3KXDpa+luQorK6TapLOk6iAjQ0ogpNqks6TqCisrpNqkwyAjQ0ogpNqkwworK6TapMOkyCAjVDM1IKXapcOlyAorK6TapMOkyKTcpMik6yAjVDM1IKXapcOlyKXcpcil6worK6TapMkgI1QzNSCl2qXJCisrpNqkyaTVpKOk6qSiICNUMzUgpNqkyaTVpKOk6qSiCisrpNqkyaTVpKOk6qSiICNUMzUgpdqlyaXVpaOl6qWiCisrpNqk5KTzpLAgI0pOIKXapeSl86WwCisrpNqk5KTzpLAgI1QzNSCl2qXkpfOlsAorK6TapOqkqyAjVDM1IKXapeqlqworK6TbobykuaSvpOmkw6S3pOOhvCAjSk4gpduhvKW5pa+l6aXDpbel46G8CisrpNuhvKS5pK+k6aTDpLek46G8ICNUMzUgpduhvKW5pa+l6aXDpbel46G8CisrpNukpSAjSk4gocqO36Lyjt+hyworK6TbpKUgI0pOII7OjqkKKyuk26SmICNUMzUgy6QKKyuk26SmpKikpKTVpPOkqKTzpO2kryAjVDM1IMr1scrKrrHsz70KKyuk26SmpLGkpCAjQ04gyvG31AorK6TbpKaksaSkICNUMzUgyvG31AorK6TbpKakuKTnpKak4qTKpOsgI0pOIMvM2+ql4qXKpesKKyuk26SmpLmkr6TppMOkt6TjpKIgI1QzNSCl26G8pbmlr6XppcOlt6XjobwKKyuk26SmpL2kr6SrpKSk0iAjVDM1IMuhwqey88jyCisrpNukpqTBICNUMzAgyvzD1gorK6TbpKakxqSkICNKTiDLocTuCisrpNukq6TzICNUMzAgyt20yQorK6TbpK+kyKS3pPOksaTzpMek5KTppOyk66TipMqhvCAjSk4gy8zFzb/At/2kx7umpOmk7KTrpeKlyqG8CisrpNukr6TbpK+ktaTEpLWkxCAjQ04gy8zLzLulu6UKKyuk26SvpNukr6S1pMSktaTEICNUMzUgy8zLzLulu6UKKyuk26SwpMCkpCAjVDM1IKTbpLCkwKSkCisrpNuktyAjVDM1IMCxCisrpNukt6SvpPMgI0pOIKH5pK+k8worK6TbpLek5SAjVDMwIMrdvOkKKyuk26S3pOWkz6SipOmktyAjQ0ogyt286aTPudOk6aS3CisrpNukuaSjICNDSiCl26W5paOhpqGmoaYKKyuk26S5pKMgI0NKII7Ojr2OqI6ljqWOpQorK6TbpLmkoyAjSk4gpduluaWjCisrpNukvKTzICNUMzAgyt3BtAorK6TbpMOktaTvICNUMzUgyqfC9AorK6TbpMOkyKS+pMwgI0tLIKXbpcOlyKW+pcwKKyuk26TDpMikvqTMICNUMzUgpdulw6XIpb6lzAorK6TbpM0gI0pOILn8oaEKKyuk26TNpKqkpiAjVDM1ILn8sqYKKyuk26TOpKqkzqSzpN4gI1QzNSCx6qTOpbOl3gorK6TbpOCkpqTppPMgI1QzNSCl26Xgobyl6aXzCisrpNuk4KSmpOmk86SmpL+k7KTGICNDSiCl26Xgobyl6aXzwsekv6TspMahxAorK6TbpOGk0aSyICNUMzUgpdul4aXRpbIKKyuk26TppOggI0NKIKTbpOmk6AorK6TbpO+kpKTIpNmhvKS5pKuk86StpOekpiAjSk4gpdul76Wkpcil2aG8pbm0z7a2CisrpNuk8yAjVDM1IMvcCisrpNuk86SxpMqksCAjSk4gy9yyyKTKpLAKKyuk26TzpLekxCAjVDM1IMvcvMEKKyuk26TzpLmk7CAjVDM1IMvcpbml7AorK6TbpPOkuaTspLWk86StpOekpqTApKQgI0pOIMvcpbml7Luwt7vE7worK6TbpPOkuaTspM6kz6S/ICNKTiDL3KW5peykzrT6CisrpNyhvKTJpKSkwaTppPMgI1QzNSCl3KG8pcmw7M33CisrpNykpiAjVDM1IMu8CisrpNykpqTAICNUMzUgy8DCzAorK6TcpKak4aSkICNUMzUgy7TMvworK6TcpKqk66S6ICNKTiCl3KG8peulugorK6TcpK2k8yAjVDMwIKTcpK2k8worK6TcpK+kqqTzpMogI1QzNSDLzb33CisrpNykr6TBpPOkq6TvpKSkwaTlpK6kwKTvpPMgI0pOIKTcpK+kwaTzoaKkq6TvpKSkwaTlpK6kwKXvpfOhqgorK6TcpK+kyKSmICNKTiDM2sXhCisrpNykr6TIpKYgI1QzNSDM2sXhCisrpNykr6TOpKKkxKSzpL+k8yAjSk4gy82kzqSipMSks6S/pPOhqgorK6TcpK+kzqSipMSks6S/pPMgI0pOIMvNpM6koqTEpLOkv6TzoaqhsyihraG8YCmOyQorK6TcpK+kzqSzpKak4qTzpOKk2KSkpLWktaTspL2kpqTHpLkgI0NKIKXcpa+kzubqzOek4srEur+ktaTspL2kpqTHpLkKKyuk3KSxpKcgI0NKIKXcpbGlpworK6TcpLMgI1I1ILH6CisrpNykwCAjVDM1IMrowswKKyuk3KTDpK2koqSyICNKTiChsyhgp6WhrSmlzqXcpcOlraWipbIKKyuk3KTDpK2koqSyICNKTiChsyhgp6WhrSmOyY7Ojt6Or463jrGOuY7eCisrpNykw6StpKKksiAjSk4gpdylw6WtpaKlsiAKKyuk3KTDpK2koqSyICNKTiCOzo7ejq+Ot46xjrmO3iAKKyuk3KTDpK2koqSyICNUMzUgpdylw6WtpaKlsgorK6TcpMOkraTGpPOktyAjVDM1IMvWta/Ft7vICisrpNykw6StpMmk6aSopOKk8yAjSk4gpNykw6Stpcml6aSopOKk86GhCisrpNykw6S3pOWhvKTIICNKTiCl3KXDpbel5aG8pcgKKyuk3KTHpKOkpKS6pNOkpKTIICNUMzUgpdylx6WjobyluqXTobylyAorK6TcpNyk8yAjVDM1IKXcy98KKyuk3KTcpPMgI1QzNSDL0KXcobyl8worK6TcpNyk8yAjVDM1IMvQpdyl8worK6TcpNyk86S5pOwgI1QzNSCl3KXcpfOluaXsCisrpNyk36TnpKYgI0NKIKTcpN+k56G8CisrpNyk36TnpKYgI1QzNSCk3KTfpOehvAorK6TcpOukuKTnpKIgI0pOIKTcpOukuKTnpKKioXlCRW5jY2tGT1UKKyuk3KTzpK+k6aS5ICNUMzUgpdyl86WvpemluQorK6TcpPOktaSkICNUMzUgy9+6zworK6TcpPOktaSkpLuk86S7pKQgI1QzNSDL37rPwOjAuAorK6TcpPOkwaTlpKYgI1QzNSDL37/fCisrpN0gI0NKIKTdCisrpN2hvKSrpPMgI0pOIKHKofu4/aH7KqHLjs6O346wjraO3QorK6Tdobykq6TzICNKTiCl3aG8paul8worK6Tdobyk66TepPMgI0pOIKXdobyl66XepfMKKyuk3aSiICNUMzUgpd2logorK6TdpKSkuqTzICNUMzUgpd2lpKW6pfMKKyuk3aSkpLqk86S5pOwgI1QzNSCl3aWkpbql86W5pewKKyuk3aSopL+k8yAjSk4gpd2lqKS/pPMKKyuk3aSopL+k8yAjVDM1IKXdpaikv6TzCisrpN2kq6G8pPMgI0NKICihrKfVoawppd2lq6G8pfMKKyuk3aSrobyk8yAjQ0ogKI7fp9WO3ymOzo7fjraOsI7dCisrpN2kq6G8pPMgI0NKIKXdpauhvKXzCisrpN2kq6G8pPMgI0NKII7Ojt+Oto6wjt0KKyuk3aSrobyk8yAjSk4gKI7fp9WO3ymOzo7fjraOsI7dCisrpN2kq6G8pPMgI0pOIKXdpauhvKXzCisrpN2kq6G8pPMgI0pOII7Ojt+Oto6wjt0KKyuk3aSzobyk6iAjQ0ogpd2ls6G8peoKKyuk3aSzobyk6iAjQ0ogjs6O3466jrCO2AorK6TdpLmkyKS1pPMgI0pOIKXdpbmlyKS1pPMKKyuk3aTDpN0gI0pOIKTdpMOk3QorK6TdpMOk3SAjSk4gpd2lw6XdCisrpN2kw6TdICNUMzUgpN2kw6TdCisrpN2kw6TdICNUMzUgpd2lw6XdCisrpN2k6qS0pPOk4qTKobwgI0pOIKGhoaGhoaXdpeqltKXzpeKlyqG8CisrpN2k6qS0pPOk4qTKobwgI0pOIKXdpeqltKXzpeKlyqG8CisrpN2k66TIpKyk66S0ICNUMzUgyfLGurLnuOwKKyuk3aTsICNUMzUgpd2l7AorK6TdpPOkraTzpKuk8yAjQ04gpd2l86WtpfOlq6XzCisrpN2k86StpPOkq6TzICNUMzUgpd2l86WtpfOlq6XzCisrpN2k86TApKQgI0NOIKXdpfPC5worK6TdpPOkwKSkICNUMzUgpd2l88LnCisrpN2k86TQpLcgI0NOIKXdpfO2tgorK6TdpPOk0KS3ICNUMzUgpd2l87a2CisrpN4gI0pOIMviCisrpN4gI1QzNSDL4gorK6TeobykrKTspMOkyKSipPOkyaTVpOmk86S9pO8gI0pOIKXeobylrKXspcOlyKH1pdWl6aXzpb2l7worK6Teobykt6G8ICNKTiCl3qG8pbehvAorK6TeobykuqTkICNKTiCjzaPBo9Kj07KwCisrpN6hvKTBICNLSyCl3qG8pcEKKyuk3qShpKahq6S1pLIgI1QzNSChsyhgp6WhrSmlzqXepaGl9KW1pbIKKyuk3qShpKahq6S1pLIgI1QzNSChsyhgp6WhrSmOyY7PjqeOs47ejruOuY7eCisrpN6koqSqpMGkxKSxICNDSiCk3qSize6kwcPlpLEKKyuk3qSipKqk86S/pKSkwKS3ICNDSiCk3qSiuObC56TApLcKKyuk3qSipMEgI1QzNSCl3qG8pcEKKyuk3qSkpKahvCAjVDM1IKXepaSlpqG8CisrpN6kpKSupOekryAjVDM1IKPNo/m2zAorK6TepKSkr6S9pL2k1aTIICNUMzUgpd6lpMq1pb2l1aXICisrpN6kpKS/ICNDTiCl3sjECisrpN6kpKS/ICNUMzUgpd7IxAorK6TepKSkv6TzpNqk86SupPMgI0pOIKTepKSkv6Tzpdql86WupfMKKyuk3qSkpMukw6TBICNKTiCl3qWkpculw6XBoaEKKyuk3qSkpNOkpKTgICNUMzUgpd6lpKXTobyl4AorK6TepKSk86TJpK+k6aTDpLek46SiICNUMzUgpd6lpKXzpcmlr6XppcOlt6XjobwKKyuk3qSmICNKTiCl3qWmCisrpN6kpiAjVDM1IKXepaYKKyuk3qSmpLmk0aTDpMggI1QzNSCl3qWmpbml0aXDpcgKKyuk3qSopLmk7CAjVDM1IMGwpbml7AorK6TepKikwKSxpKSkuCAjSk4gwbDFxLfEvKEKKyuk3qSqobwgI0pOIKXepaqhvAorK6TepKqkpqTipMqk1aShobwgI0pOIMvisqal4qXKpdWloaG8CisrpN6kq6G8ICNUMzUgpd6lq6G8CisrpN6kq6SiICNUMzUgpd6lq6G8CisrpN6kq6SkICNUMzUgy+KzpgorK6TepKukxCAjSzUgpN6kq6TECisrpN6kq6TEpK+kw6TGpKSkpqSrpK2k4qSkICNDSiCk3qSrpMSkr6TDpMakpKSmpKulraXipaQKKyuk3qStpLMgI0pOTSCl3qWtpbMKKyuk3qStpLMgI0pOTSDL4rW0u9IKKyuk3qStpLMgI1QzNSCl3qWtpbMKKyuk3qStpLMgI1QzNSDL4rW0u9IKKyuk3qStpM6k66StICNKTiDL0szuzrHJsQorK6TepLCk3qSwICNLSyCk3qSwpN6ksAorK6TepLCk7SAjVDM1IMvuCisrpN6ksaSkpMwgI1QzNSDJ6aSxuKQKKyuk3qSzpMQgI1QzNSDL4rn8CisrpN6ks6TIICNKTiC/vworK6TepLOk1KG8ICNKTiCk3qSzpNShvAorK6TepLOk1KG8ICNUMzUgpN6ks6TUobwKKyuk3qSzpNSkpCAjVDM1IKTepLOk1KG8CisrpN6ks6TUpLmkyCAjVDM1IKTepLOk1KS5pMgKKyuk3qS1pKogI0pOTSCk3qS1pKoKKyuk3qS1pKogI0pOTSCl3qW1paoKKyuk3qS1pKogI0pOTSDAtcPLCisrpN6ktaSqICNUMzUgpN6ktaSqCisrpN6ktaSqICNUMzUgpd6ltaWqCisrpN6ktaSqICNUMzUgwLXDyworK6TepLWk4KTNobyk6KSrpMOks6SmpKOkuqTKpKikyqSkpO+kyKS4pKukw6SzICNKTiCl3qW1peClzaG8peihyndpdGihoaXKpailyqWkpe+hyworK6TepLWk5CAjSk5NIKXepbWl5AorK6TepLWk5CAjVDM1IKXepbWl5AorK6TepLWk6KS3ICNKTk0gwLW1wQorK6TepLehvKTWICNUMzUgpd6lt6G8pdYKKyuk3qS3pKSk1iAjVDM1IKXepbehvKXWCisrpN6kt6TqpMggI0pOIKXepbel6qXICisrpN6kt6TqpMggI1QzNSCl3qW3peqlyAorK6TepLek86SkpOmkzaSkpMChvCAjSk4gpd6lt6XzpaSl6aXNpaSlwKG8CisrpN6kt6TzpLWk8yAjQ0ogpN6kt6TzpLWk86GmoaahpgorK6TepLik4aTApMqhvCAjSk4gpd6luKXhpcClyqG8CisrpN6kuKTspLkgI1QzMCCl3qW4peyluQorK6TepLik7KS5pN6k8yAjSk4gpd6luKXspbml3qXzCisrpN6kuKTypL8gI1QzNSCl3qW4pfKlvworK6TepLmkqiAjSk5NIKXepbmlqgorK6TepLmkqiAjVDM1IKXepbmlqgorK6TepLmktKTfICNUMzUgpd6luaW0pd8KKyuk3qS5pL8gI1NVQyCk3qS5pL8KKyuk3qS5pL+hvKSkpMSk4qTOpL+kzqTgICNDSiCl3qW5pb+hvKGipKSkxKTipM6kv6TOpOAKKyuk3qS6pKYgI0NKIKXepbqhvAorK6TepLqkpiAjQ0ogjs+OvY7ejrAKKyuk3qS6pLik5aG8ICNUMzUgpN6kuqW4peWhvAorK6TepL2ksyAjVDM1IKXepb2lsworK6TepL8gI0NKIKTepL+hqQorK6TepL+hvKTqICNUMzAgpd6lv6G8peoKKyuk3qS/obyk6iAjVDMwIKXepb+hwaXqCisrpN6kv6G8pOqkraTjpOmkrqTjpK+ktaTEpMikpiAjS0sgpd6lv6G8peqlraXjpem11Lumxd4KKyuk3qS/obyk6qStpOOk6aSupOOkr6S1pMSkyKSmpKKk6aS3ICNKTiCl3qW/obyl6qWtpeOl6bXUu6bF3rnTpOmktworK6TepL+hvKTqpK2k46TppK6k46SvpLWkxKTIpKakvaSmpLmkpCAjSk4gpd6lv6G8peqlraXjpem11Lumxd7B7b/jCisrpN6kv6G8pOqktKSmICNKTiBNQVRBQVJJueYKKyuk3qS/obyk6qTKpOSkt6TnpK+k8qTEpK+k7aSmICNKTiCl3qG8pb+l6qTKzOu/qaTyuu6k7aSmCisrpN6kv6G8pOqk4aTApOsgI0pOIKXepb+hvKXqpeGlwKXrCisrpN6kv6G8pOqk4aTApOsgI0pOII7PjsCOsI7YjtKOwI7ejtkKKyuk3qS/pKKk6qS5pOwgI1QzNSCl3qW/obyl6qW5pewKKyuk3qS/pKKk6qTBpOWkpiAjVDM1IKXepb+hvKXqv98KKyuk3qS/pKqkqqS1pKukqyAjQ0ogpN6kv8LnuuWkqworK6TepL+kqqSqpLWkq6TkICNDSiCk3qS/wue65aTkCisrpN6kv6TKpKykv6S5pOykqyAjQ0ogpN6kv7HKxcSluaXspKsKKyuk3qTApOAgI0pOIKXepcCl4AorK6TepMGk06G8pNOhvKSopLkgI0tLIKTepMFCQlMKKyuk3qTBpNOkpKTTpKSkqKS5ICNUMzUgpN6kwUJCUworK6TepMOkv6TqICNUMzAgIKXepcOlv6XqCisrpN6kw6S/pOogI1QzMCCk3qTDpL+k6gorK6TepMOkwaTnpOKkyqG8ICNKTiCl3qXDpcGl56XipcqhvAorK6TepMSkpCAjVDM1IL6+sOYKKyuk3qTEpL+ksaSzICNKTiC+vqS/pLG70gorK6TepMSkwKSkpOkgI1QzNSC+vsq/CisrpN6kxKTApL+kq6TIICNKTiC+vsXEt7y/zQorK6TepMSk6iAjVDM1ILrXpOoKKyuk3qTEpOqkoqStpL8gI0pOILrXpOrLsKStpL8KKyuk3qTEpOqkwKTIpMSksqStpMAgI0pOILrXpOqkwKL2xs234qTAoaoKKyuk3qTFICNUMzUgpd6lxQorK6TepMik0KTVpN+kqiAjSk4gxaq+7Mq4w8sKKyuk3qTJpKsgI1QzNSCl3qXJpasKKyuk3qTJpMSkq6SkICNUMzUgweu7yKSkCisrpN6ky6G8ICNKTiCl3qXLobyhoQorK6TepMuhvKSvpN6kw6S3pOWk66G8pOAgI0pOIKXepcuhvKWvpd6lw6W3peWl66G8peAKKyuk3qTLobykr6TepMOkt6TlpOuhvKTgICNKTiCl3qXLobylr6XepcOlt6XlpeuhvKXgIAorK6TepNKko6SiICNKTiCl3qXSpaOlogorK6TepNKko6SiICNKTiCOz47LjqiOsQorK6TepNKko6SiICNUMzUgpd6l0qWjpaIKKyuk3qTSpKOkoqSjpOekpSAjSk4gpd6l0qWjpaKko6TnpKUKKyuk3qTSpKOkoqSjpOekpSAjSk4gjs+Oy46ojrGko6TnpKUKKyuk3qTbpKakxKSrpKQgI1QzNSDL4suhu8ikpAorK6TepNyk8yAjVDM1IMv1pdyhvKXzCisrpN6k3KTzICNUMzUgy/Wl3KXzCisrpN6k3aG8pOkgI0NKIKXepd2hvKXpCisrpN6k3iAjQ0ogocqhrafVoa6hy6Xepd6hpqGmoaYKKyuk3qTeICNDSiChyqGtp9WhrqHLjs+Oz6GmoaahpgorK6TepN4gI0pOIKHKoa2n1aGuocul3qXeoaahpqGmCisrpN6k3iAjSk4gocqhrafVoa6hy47Pjs+hpqGmoaYKKyuk3qTepLSk8yAjVDM1IKXepd6ltKXzCisrpN6k3qTipMqhvKS7pKSkwaTnpKakuiAjSk4gpd6l3qXipcqhvMCuxLm/3gorK6TepN6k8yAjSk4gpd6l3qXzCisrpN6k3qTzICNUMzUgpd6l3qXzCisrpN6k4KSzICNUMzUgpd6l4KWzCisrpN6k4SAjVDM1IMamCisrpN6k6aSkpKKk8yAjSk4gpd6l6aWkpaKl8worK6TepOmkuaS/obwgI0pOIKXepemhpqW5pb+hvAorK6TepOmkzaG8pOggI0pOIKXepemlzaG8pegKKyuk3qTppNykpiAjSk4gpd6l6cu3CisrpN6k6aTfICNKTiCl3qXpyP4KKyuk3qTppOmhvCAjSk4gpd6l6aXpobwKKyuk3qTppOmhvKTApPOktaG8pLogI0pOIKXepeml6aG8pcCl86W1obylugorK6TepOmk6aTJpM4gI0pOIKXepeml6cXCCisrpN6k6aTqobyk3qTzICNKTiCl3qXppeqhvKXepfMKKyuk3qTqpOIgI0pOIN3cwfQKKyuk3qTqpOIgI1QzNSCk3qTqpOIKKyuk3qTrpKSksaSkICNUMzUgtN2w5rfPCisrpN6k66S5pOQgI0pOIKPNo8Gj0qPTsrAKKyuk3qTrpMEgI0pOIKXepeulwQorK6TepOukwSAjVDM1IKXepeulwQorK6TepOukwaTdpLmkyCAjVDMwIKXepeulwaXdpbmlyAorK6TepOuk3yAjSk4gsd/I/gorK6TepOuk36TfpOKkyqG8ICNKTiC03byqpeKlyqG8CisrpN6k7aTzICNUMzUgpd6l7aXzCisrpN6k76S3pK6ksyAjSk4gpN6k76S3pa6lsworK6TepPMgI1QzNSDL/gorK6TepPOkpKTzpMek86S3pOMgI0pOIMv+sPfFxbzWCisrpN6k86SspM2kv6S5pOwgI1QzNSDMobLopc2lv6W5pewKKyuk3qTzpK2k86SopLCkvCAjVDM1IKXepfOlraXzRVhFCisrpN6k86SupOOk6yAjVDM1IKXepfOlrqXjpesKKyuk3qTzpLqk6iAjVDM1INLEpbql6gorK6TepPOku6G8ICNDSiCl3qXzpbuhvAorK6TepPOku6G8pOGhvKS/obwgI1QzNSCl3qXzpbuhvKXhobylv6G8CisrpN6k86S7pKik4aSopL+koiAjVDM1IKXepfOlu6G8peGhvKW/obwKKyuk3qTzpMmkr6S7pKggI0NKIKXepfOlyaWvpbuhvAorK6TepPOk3KSmICNKTiCl3qXzpdylpgorK6TfobykyKTcobyk6yAjSk4gpd+hvKXIpdyhvKXrCisrpN+kpKTLpOOkoqS/pPMgI1QzNSCl36G8xvOl46G8pL+k8worK6TfpKakyiAjSk4gpN+kpqTKCisrpN+kq6SrICNLSyCk36SrpKsKKyuk36SrpKsgI1QzNSCk36SrpKsKKyuk36SrpMmkoqTzICNKTiCk36SrpMmwwworK6TfpKukyaSipPOkyqSkpNYgI0pOIKTfpKukybDDxuLJ9AorK6TfpK2hvKSqICNKTiCl36WtobylqgorK6TfpK6kxqTHpKukraTepLekvyAjQ0ogsaa86qTHvfGkraTepLekvworK6TfpK6k0qSyICNUMzUgsaak0qSyCisrpN+ks6TfpLOkyqSipLkgI0tLINbgvfek36SzpcqhvKW5CisrpN+ktaSrpKukqqTqICNUMzUgyP665LnhzqQKKyuk36S3pOOk4qTKobwgI0pOIMj+vNOl4qXKobwKKyuk36S3pOekr6SvpPMgI1QzNSDMpL+pt68KKyuk36S5pLqk4qTKobwgI0pOILTRzuul4qXKobwKKyuk36S5pL+hvKTbpKUgI0pOIE1yLo7OjqkKKyuk36S6pLSk6qTpICNKTiC/5aW0peql6QorK6TfpLqktKTqpOkgI1QzNSC/5aW0peql6QorK6TfpL6kzaS6pN8gI0pOILnCwc0KKyuk36S+pM2kuqTfICNUMzUgucLBzQorK6TfpL+k6aSkpNKk7aStICNUMzUguOa86sD2yti07worK6TfpMGk5SAjSk4gKConLScqKQorK6TfpMGk5SAjSk4gpN+kwaTlCisrpN+kw6S3obwgI0pOIKTfpMOkt6G8CisrpN+kw6S3obwgI1QzNSCk36TDpLehvAorK6TfpMOkt6SkICNUMzUgpN+kw6S3obwKKyuk36TDpNWko6G8pKqk5KSzICNKTiCl36XDpdWlo6G8v8a70gorK6TfpMSktKTtICNUMzUgo7OjsqO1o7YKKyuk36TEpN8gI1QzNSCjs6Oyo7MKKyuk36TEpN+k4qTKobwgI0pOIKOzo7Kjs6XipcqhvAorK6TfpMmkzaSoICNUMzUgpd+lybC5CisrpN+kyaTqpKykqKTrICNUMzUgztCzvworK6TfpMqhvCAjSk4gpd+lyqG8CisrpN+kyqS7pMqk5qStICNKTiC/5cClzL7A4worK6TfpMqku6TKpOakrSAjVDM1IL/lwKXMvsDjCisrpN+kyqTFpK2kuKTnpKak26SmpNqhvKS4ICNLSyC/5cy1t+6+8MrzpdqhvKW4CisrpN+kyqTdpPMgI1QzNSCk36TKpN2k8worK6TfpMqk36TBpOek8yAjVDM1IMbupcGl56XzCisrpN+kyqTfpOKk6qTepMEgI0tLIMbuv7nErgorK6TfpMqk36TipOqk3qTBICNUMzUgxu6/ucSuCisrpN+kyqTipMggI1QzNSCl36XKpOKkyAorK6TfpMqk4qTIpLWk8yAjSk4guLuktaTzCisrpN+ky6SupLMgI0pOIKXfpculrqWzCisrpN+ky6TipOkgI0pOIKXfpcul4qXpCisrpN+kzqTvICNUMzUgzKfO2AorK6TfpN+kuqTkpLWk8yAjVDM1IKXfpd+lurKwpLWk8worK6TfpN+kyqS3pOKkyqG8ICNKTiC8qqTKpLel4qXKobwKKyuk36TgpOkgI0pOUyC7sMK8CisrpN+k4KTpICNUMzUgu7DCvAorK6TfpOOkoqTApKQgI1QzNSCk36TjocHC5worK6TfpOOkw6SvICNKTiCl36XjpcOlrworK6TfpOekpSAjSk4gpN+k56SlCisrpN+k6KSmICNKTiCk36TnpKUKKyuk36TppKSky6TDpK0gI1QzNSDMpM3oxvy1rQorK6TfpOukr6SrpNWkpyAjVDM1IKXfpeulr6WrpdWlpworK6TfpPOkySAjVDM1IMyxxdkKKyuk36TzpMqhvKSqpMGksaTEobwgI0pOIKTfpPOkyqG8pKqkwaSxpMShvAorK6TfpPOkyqSrpOmkzqSqpM2krKSkICNUMzUgpN+k86TKpKuk6aTOpKqkzaSspKQKKyuk4KSkpL8gI0NOIKXgyMQKKyuk4KSlICNKTiCk4KSlCisrpOCkq6G8pMcgI0pOIKXgpauhvKXHCisrpOCkq6TEpK+kzaTzICNKTiCl4KWrpMSkr8ewCisrpOCkrqTlobwgI0pOIKXgpa6l5aG8CisrpOCksaTpobwgI0pOIKXgpbGl6aG8CisrpOCkt6SrpLQgI1QzNSDD7uTGCisrpOCkt6TQobwgI0pOIKXgpbel0KG8CisrpOCkt6TlpKYgI1QzNSDMtb2tCisrpOCkt6TnpK8gI1QzNSDMtb+mCisrpOCkuKTrpLcgI1QzNSDMtbD1CisrpOCkuaG8pMuk5yAjSk4gpeCluaG8pcul5worK6TgpLmkqyAjVDM1IKXgpbmlqworK6TgpMOkryAjSk4gpeClw6WvCisrpOCkzaSqICNKTk0gpeClzaWqCisrpOCkzaSqICNUMzUgpeClzaWqCisrpOCkzaSqpM+kpqS5ICNUMzUgpeClzaWqpc+lpqW5CisrpOCkzaTyICNKTiCl4KXNpfIKKyuk4KTNpPIgI0pOTSCl4KXNpfIKKyuk4KTNpPIgI1QzNSCl4KXNpfIKKyuk4KTPpKEgI0pOIKHKjt+npY7foaGhy6Xgpc+loQorK6TgpM+koSAjSk4gpeClz6WhCisrpOCk6aS1pK0gI0pOILvnCisrpOCk6aS1pK0gI1QzNSC75worK6TgpOmktaStpMAgI0NKILvnpMAKKyuk4KTppM6kt6TzpNyk6yAjSk4gwrykzqW3pfOl3KXrCisrpOCk6qTAobyk6CAjSk4gpeCl6qXAobyl6AorK6TgpOqkwKG8pOggI0pOII7RjtiOwI7ejrCO1gorK6Thobyk66TcpOAgI1QzNSCl4aG8peul3KXgCisrpOGkoqTqpKMgI1QzNSCl4aWipeqlo6GiobqloqXqpaMKKyuk4aSipOqko6TOpM2kxKS+pKak7KS5ICNUMzUgpeGloqXqpaOkztnUwqSl7KW5oaKhuqWipeqlo6TO2dTCpKXspbkKKyuk4aSkpLggI0NOIMzAvKMKKyuk4aSkpLggI1QzNSCt7QorK6ThpKSkuaTsICNUMzUgzL6luaXsCisrpOGkpKS5pOykzqSqpKuk8yAjQ0ogzL6luaXspM6wrbSoCisrpOGkpKS5pOykzqTopKuk8yAjQ0ogzL6luaXspM7NvbS2CisrpOGkpKTGpMQgI1QzNSDMwsW0CisrpOGkpKTMpOykzqTopKuk8yAjQ0ogs8alzKXspM7Mt7S2CisrpOGkpKTXpOukt6TtpMOk1yAjVDM1IE1hcGxlU3lydXAKKyuk4aSkpOik2KTzpLik56SmICNDSiDMvs3Ayta+5QorK6ThpKSk66TcpOAgI1QzNSCl4aG8peul3KXgCisrpOGkqKTGpOukuaTsICNUMzUgpeGhvKXGpeuluaXsCisrpOGkq6G8ICNKTiCO0o62jrAKKyuk4aSrpKSk6KSmICNKTiCl4aWrpKOk56SlCisrpOGkq6SmpN6hvCAjSk4gjtKOto6zjs+OsKHKjtKOto6wocsKKyuk4aSrpKqkyKS/pLEgI0pOIKXhpatayfAKKyuk4aSrpKqky6SupOogI0pOIKXhpaukqqTLpK6k6gorK6ThpKukq6ThpOKkyqG8ICNKTiCl4aWrpaul4aXipcqhvAorK6ThpKukrqSzICNKTiCl4aWrpa6lsworK6ThpKuksqTppOmhvCAjSk4gpeGlq6Wypeml6aG8CisrpOGkq6S3pOmkzaG8pOggI0pOIKXhpault6Xppc2hvKXoCisrpOGkq6S4pKik8yAjSk4gW6Gmu66hpqGnXQorK6ThpKukuKSopPMgI0pOII7SjraOvI7ejrSO3QorK6ThpKuku6SkpMggI0pOIKXhpavAuMXMCisrpOGkq6S9pKakx6TipMqkpKToICNKTiCl4aWrpL2kpqTHpOKkyqSkpOgKKyuk4aSrpL2k6aTNobyk6CAjSk4gpeGlq6W9pemlzaG8pegKKyuk4aSrpL6kzCAjSk4gpeGlq6S+pMwKKyuk4aSrpMiksaTNobyk6CAjSk4gWzqO3y98jt86XY7EjrmOyI6wjtYKKyuk4aSrpMiksaTNobyk6CAjSk4gpeGlq6XIpbGlzaG8pegKKyuk4aSrpNWkp6TpobykwaTnICNKTiCl4aWrpdWlp6XpobylwaXnCisrpOGkq6TipKaks6TNpKek6CAjSk4gpeGlq47TjrOOuo7IjqqO1iEKKyuk4aSrpOKkyqG8ICNKTiCl4aWrpeKlyqG8CisrpOGkrKSopOsgI0pOIKXhpaylqKXrCisrpOGkrKTTICNLSyCl4aWspdMKKyuk4aSspNMgI1QzNSCl4aWspdMKKyuk4aSspN8gI1QzNSC997/ACisrpOGkrqTOpKykxyAjSk4gpeGhpqWupc6lrKGmpccKKyuk4aSxICNUMzUgpOGksQorK6ThpLGkwyAjVDM1IKThpLGkwworK6ThpLGk8qTfpMik4aTrICNDSiCk4aSxpPLHp6ThpOsKKyuk4aS3pMCkpCAjVDM1IKThpLfC5worK6ThpLmk1qS/ICNUMzUgu/PG2gorK6ThpL2k0KG8ICNUMzUgpeGlvaXQobwKKyuk4aS9pNCkoiAjVDM1IKXhpb2l0KG8CisrpOGkvqS3pOOhvKTqobwgI0tLIKXhpb6lt6Xjobyl6qG8CisrpOGkvqS3pOOhvKTqobwgI1QzNSCl4aW+pbel46G8peqhvAorK6ThpL6kt6TjpKKk6qSkICNUMzUgpeGlvqW3peOhvKXqobwKKyuk4aS/pOqkqyAjVDM1IKXhpb+l6qWrCisrpOGkv6TqpMOkryAjS0sgpOGkv6TqpMOkrworK6ThpMCk3iAjVDM1IMzctswKKyuk4aTHpMahvKToICNKTiCl4aXHpcahvKXoCisrpOGkyqS3ICNKTiDM3KTKpLcKKyuk4aTgpNChvCAjVDM1IKXhpeCl0KG8CisrpOGk4qTpobwgI0pOIKXhpeKl6aG8CisrpOGk6qSxpPOkxqTzpLektaTpICNKTiCl4aXqpbGl88W3u8ih+aW1pemhqgorK6ThpOqk66S3pKOk66TQobyk0KG8pLAgI0pOIKXhpeql66GmpLeko6XrpdChvKXQobylsAorK6ThpOuk2KTzICNUMzUgpeGl66XYpfMKKyuk4aTrpNik86SkpL8gI1QzNSCl4aXrpdil88jECisrpOGk66TepKwgI1QzNSCl4aXrpd6lrAorK6ThpO2kuaTRobwgI1QzNSCl4aXtpbml0aG8CisrpOGk7aS5pNGkoiAjVDM1IKXhpe2luaXRobwKKyuk4aTtpPMgI1QzNSCl4aXtpfMKKyuk4aTzICNUMzUgzM0KKyuk4aTzpL+k66TYpOukuaSkpL8gI1QzNSCl4aXzpb+l66XYpeulucjECisrpOGk86TGICNUMzAgpeGl86XGCisrpOGk86TJpK+ku6SnICNKTiCl4aXzpcmlr6W7pacKKyuk4aTzpMmkr6S7pKeku6SkpMggI0pOII7Sjt2OxI7ejriOvo6qwLjFzAorK6ThpPOk0KG8ICNUMzUgpeGl86XQobwKKyuk4aTzpNCkoiAjVDM1IKXhpfOl0KG8CisrpOGk86TYpOmkoiAjVDM1IKXhpfOl2KXpobwKKyuk4aTzpNik66SkpL8gI1QzNSCl4aXzpdil68jECisrpOGk86TcpKYgI1QzNSCk4aTzpNykpgorK6TiobykpKS/ICNDTiCl4qG8yMQKKyuk4qG8pKSkvyAjVDM1IKXiobzIxAorK6Tiobyks6G8ICNDTiCl4qG8pbOhvAorK6Tiobyks6G8ICNUMzUgpeKhvKWzobwKKyuk4qG8pMuk86SwpLOhvKTSobwgI0NOIKXiobyly6XzpbCls6G8pdKhvAorK6Tiobyky6TzpLCks6G8pNKhvCAjS0sgpeKhvKXLpfOlsKWzobyl0qG8CisrpOKhvKTLpPOksKTgpLmk4SAjSk4gpeKhvKXLpfOlsMy8oaMKKyuk4qG8pMuk86SwpOCkuaThpKSkvyAjQ04gpeKhvKXLpfOlsMy8oaPIxAorK6TipKKk6iAjVDM1IMH0za0KKyuk4qSkpL8gI0NOIKXiyMQKKyuk4qSkpL8gI1QzNSCl4sjECisrpOKkpqSkpL8gI1QzNSCl4qG8yMQKKyuk4qSmpKqks6TDpL+kvqSmICNKTiCk4qSmxdykw6S/pb6lpgorK6TipKaksqTzICNUMzUgzNG4wAorK6TipKaks6SmICNUMzUgpeKhvKWzobwKKyuk4qSmpLOkzaSopOggICNKTiChsyhgp6WhrSmOyaTipKbN6KTNpKik6AorK6TipKaks6TNpKik6CAjQ0ogobMoYKeloa0ppc6k4qSmzeikzaSopOihqgorK6TipKaks6TNpKik6CAjQ0ogobMoYKeloa0ppc6k4qSmzeikzaSopOihqqWmpe+loaWhpfMgCisrpOKkpqSzpM2kqKToICNDSiChsyhgp6WhrSmOyaTipKbN6KTNpKik6KGqCisrpOKkpqSzpM2kqKToICNDSiChsyhgp6WhrSmOyaTipKbN6KTNpKik6KGqjrOO3I6njqeO3SAKKyuk4qSmpLOkzaSopOggI0NKIKTipKbN6KTNpKik6KGqCisrpOKkpqSzpM2kqKToICNKTiChsyhgp6WhrSmlzqTipKbN6KTNpKik6KGqpaal76WhpaGl8yAKKyuk4qSmpLOkzaSopOggI0pOIKGzKGCnpaGtKY7JpOKkps3opM2kqKTooaqOs47cjqeOp47dIAorK6TipKaks6TNpKik6CAjSk4gpeKlpqWzpc2lqKXoISGlpqXvpaGloaXzIaXipaals6XNpail6CEhpaal76WhpaGl8yGl4qWmpbOlzaWopeghIaWmpe+loaWhpfMhCisrpOKkpqSzpM2kqKToICNKTiCO046zjrqOyI60jtYhIY6zjtyOp46njt0hjtOOs466jsiOtI7WISGOs47cjqeOp47dIY7TjrOOuo7IjrSO1iEhjrOO3I6njqeO3SEKKyuk4qSmpLOkzaSopOikpqTvpKGkoaTzICAjSk4gobMoYKeloa0pjsmk4qSmzeikzaSopOihqo6zjtyOp46njt0gCisrpOKkpqS9pKakvaSmICNDSiCk4qSmpL2kpqS9pKYKKyuk4qSmpL+koqSqpMiksyAjVDM1IKXiobylv6G8w8sKKyuk4qSmpL+koqS1pKSkr6TrICNUMzUgpeKhvKW/obyltaWkpa+l6worK6TipKakv6TNpN0gI0NKIKTipKakv6TNpN0KKyuk4qSmpMCk4aTdICNDSiCk4qSmpMCk4aTdCisrpOKkpqTApOGk3SAjVDM1IKTipKakwKThpN0KKyuk4qSmpMuk86SwpLOkpqTSpKQgI1QzNSCl4qG8pcul86WwpbOhvKXSobwKKyuk4qSmpN+kuqTdICNDSiCk4qSmpN+kuqTdCisrpOKkpqTfpLqk3SAjVDM1IKTipKak36S6pN0KKyuk4qSmpOKkpiAjQ0ogpOKhvKTiobwKKyuk4qSoICNLUyDLqKSoCisrpOKkqCAjVDM1IMuopKgKKyuk4qSqpM6krSAjVDM1IKXipaqlzqWtCisrpOKkq6G8ICNKTiCl4qWrobwKKyuk4qSspOykv6SvpPMgI0pOIKXipayl7KW/t68KKyuk4qSvpLKkraTJpK2k5aTzICNLSyDM3LfipcmlraXlpfMKKyuk4qSxpLEgI0pOIKXipbGlsQorK6TipLGksSAjSk4gjtOOuY65CisrpOKks6S/ICNKTiCk4qSzwsAKKyuk4qS3pL2kpqTqICNKTlMgv7nB7c39CisrpOKkt6S9pKak6iAjSk5TVUMgv7nB7c39CisrpOKkuKTspLkgI1QzNSDKuLv6peyluQorK6TipLmk6aG8ICNKTiCl4qW5pemhvAorK6TipLsgI1QzNSCk4qS7CisrpOKku6SiICNUMzUgpOKku6SiCisrpOKkv6SqICNUMzUgpeKlv8PLCisrpOKkw6SzpOqhvKTKICNKTiCl4qXDpbOl6qG8pcoKKyuk4qTDpMGhvCAjSk4gpeKlw6XBobwKKyuk4qTDpMGhvCAjVDM1IKXipcOlwaG8CisrpOKkw6TBpKQgI1QzNSCk4qTDpMGhvAorK6TipMOkwaSkICNUMzUgpeKlw6XBobwKKyuk4qTGpM2hvKToICNKTiCl4qXGpc2hvKXoCisrpOKkyKSrpKSkvqSvpM6kxKTqpK2kwaS1pKuhvKTKICNKTiC4tbOkwrGkzsTgpOq08MPPpbWlq6G8pcoKKyuk4qTIpKukpKS+pK+kzqTEpOqkraTBpLWkq6G8pMqkyKS9pM6ks6TWpPOkv6TBICNKTiC4tbOkwrGkzsTgpOq08MPPpbWlq6G8pcqkyKS9pM670sqspL+kwSAKKyuk4qTKobwgI0pOIKXipcqhvAorK6TipMqhvKSmobyk3qTzICNKTiCl4qXKobylpqG8pd6l8worK6TipMqhvKSrobykySAjSk4gpeKlyqG8pauhvKXJCisrpOKkyqG8pKuk86SzpKYgI0tLIKXipcqhvLTRuPcKKyuk4qTKobykr6SopLmkyCAjS0sgpeKlyqG8pa+lqKW5pcgKKyuk4qTKobykr6SopLmkyCAjVDM1IKXipcqhvKWvpailuaXICisrpOKkyqG8pK+kw6StpPOksCAjSk4gpeKlyqG8pa+lw6WtpfOlsAorK6TipMqhvKSxpPOkuaSxICNKTiCl4qXKoby38rLwCisrpOKkyqG8pLGk86S5pLGkpCAjSk4gpeKlyqG8t/KkubfZCisrpOKkyqG8pLek5aTWpPOk16S6ICNKTiCl4qXKoby878qsydu/3gorK6TipMqhvKS3pOWk1qTzpNekuqTipMqhvKTipOmk6aG8pNCk8yAjSk4gpeKlyqG8vO/KrMnbv96l4qXKobyhpqXipeml6aG8yMcKKyuk4qTKobykt6TlpNak86TrpKSkuqSxpMOkxqSkpNCk8yAjSk4gpeKlyqG8vO/KrM7gv9636MTqyMcKKyuk4qTKobykt6TlpNak86TrpKSkuqS+pMukw6SvpNCk8yAjSk4gpeKlyqG8vO/KrM7gv96hoaW+pculw6WvyMcKKyuk4qTKobykt6TlpNak86TrpKSkuqS+pMukw6SvpNCk8yAjSk4gpeKlyqG8vO/KrM7gv96lvqXLpcOlr8jHCisrpOKkyqG8pLek56SmpOGkxCAjSk4gpeKlyqG8vsPMxworK6TipMqhvKS4pL6kpiAjSk4gpeKlyqG8w8/CogorK6TipMqhvKS4pOWkpqTopPOku6SkICNKTiCl4qXKobyjsaO0wKQKKyuk4qTKobykvqSvpK2k5aSmpK2k56SvpKqkpqSupOKk6aTpobykyaTppKSk0KG8ICNKTiCl4qXKobzCsqGmtea2y7H8tcGhpqXipeml6aG8pcml6aWkpdChvAorK6TipMqhvKS/pPOkuKTnpKakzqTSpN+kxCAjSk4gpeKlyqG8w8LAuKTOyOvMqQorK6TipMqhvKTHpKSkq6TqpPKk1qTEpLGk66S5pOyks6SvpLWkpKS4pOekpqTkpK+kuKTlpMOkq6S4pOekpiAjSk4gpeKlyqG8pMfF3KTqpPKk1qTEpLGk66W5pey58brdvvLM8729pfa+8gorK6TipMqhvKTIpK6ks6TOpLKhvKTgpLek56TDpNcgI0pOIKXipcqhvKTIpa6ls6TOpbKhvKXgpbel56XDpdcKKyuk4qTKobykzqSkpMGky6TBICNKTiCl4qXKobykzrDsxvwKKyuk4qTKobykzqSrpM6kuKTnICNKTiCl4qXKobykzsjgvfcKKyuk4qTKobykzqSrpM6kuKTnICNKTiCl4qXKobykzsjgvfehyrjOv82hyyAKKyuk4qTKobykzqS7pPOkviAjSk4gpeKlyqG8pM7A6MHECisrpOKkyqG8pM+k6KSmpMGkt6TNpOggI0pOIKXipcqhvKTPzcTD1aGju+CkzaToCisrpOKkyqG8pNCk86TJICNKTiCl4qXKobyl0KXzpckKKyuk4qTKobyk1aTDpKukxCAjSk4gpeKlyqG8yfyz6AorK6TipMqhvKTepPMgI0pOIKXipcqhvKXepfMKKyuk4qTKobyk3qTzICNKTiCO047FjrCOz47dCisrpOKkyqG8pOChvKTzpLCk8yAjSk4gpeKlyqG8peChvKXzt7MKKyuk4qTKobyk4KG8pPOksKTzICNKTiCOt47ejrqOvY7AjrC3sworK6TipMqhvKTgobyk86SwpPMgI0pOII7TjsWOsI7RjrCO3bezCisrpOKkyqG8pOGkv6TrpNCk86TJICNKTiCl4qXKobyl4aW/peul0KXzpckKKyuk4qTKobyk6qS2ICNKTiCl4qXKobyl6qW2CisrpOKkyqSiICNUMzUgpeKlyqG8CisrpOKkyqSipKuk86SzpKYgI1QzNSCl4qXKoby00bj3CisrpOKkyqSipK+kqKS5pMggI1QzNSCl4qXKobylr6WopbmlyAorK6TipMqkoqS2pOmktyAjSk4gpeKlyqWipbal6aW3oaEKKyuk4qTKpKKk6aTWICNUMzUgpeKlyqHBpOmk1gorK6TipMqkpKSipPMgI0pOIKXipcqlpKWipfMKKyuk4qTKpKggI0pOIKXipem73gorK6TipMqkqKTApLuk86S7pKQgI0pOIKXipcq73sDowLgKKyuk4qTKpKik4qTzICNKTiCl4qXKpKik4qTzCisrpOKkyqSqpKYgI0pOIKXipcqypgorK6TipMqkqyAjSk4gpeKlyqWrCisrpOKkyqSrICNKTiCl4qXKpasgCisrpOKkyqSrICNKTlMgpeKlyqWrCisrpOKkyqSrICNUMzUgpeKlyqWrCisrpOKkyqSrICNUMzUgusfD5gorK6TipMqkq6SrpPOkzqTzICNKTiCl4qXKpau00bK7CisrpOKkyqSrpLIgI0pOIKXipcqxxgorK6TipMqkq6SyICNKTiCO047FscYKKyuk4qTKpKukwaTjpPMgI0pOIKXipcqkq6TBpOOk8worK6TipMqkq6TzpM6k8yAjSk4gpeKlyrTRsrsKKyuk4qTKpKuk86TOpPMgI0pOIMzQzL600bK7CisrpOKkyqSupLOku6StpOakrKS9pOqk86S5pL+k86TJICNKTiCl4qXKpa6ls8DQzP2lrKW9peql86W5pb+l86XJCisrpOKkyqSupLOk1aSjpOukz6G8pOKky6G8pKuk86SypPOkrKSvpMCk8yAjSk4gpeKlyqWupbOl1aWjpeulz6G8peKly6G8tMm4ubPaw8QKKyuk4qTKpK+k7aTXpLkgI0pOIKPNo8+jzqPBo8OjzKPPo9Cj0worK6TipMqkr6TtpPMgI0pOIKXipcqlr6XtpfMKKyuk4qTKpLCk6aSopOogICNKTiCl4qXKwqK3w86kCisrpOKkyqSwpOmkqKTqICNKTiCl4qXKwqK3w86kCisrpOKkyqSzICNKTiCl4qXKu9IKKyuk4qTKpLOk8yAjSk4gpeKlyqWzpfMKKyuk4qTKpLWk86SxpKSkyqG8ICNKTiCl4qXKpbWl86GmpbGlpKXKobwKKyuk4qTKpLakpKSzICNKTiCl4qXKpbalpLvSCisrpOKkyqS4pL6kpiAjSk4gpeKlysPPwqIKKyuk4qTKpLik6SAjS0sgpeKlyqW4pekKKyuk4qTKpLik6aG8ICNLSyCl4qXKpbil6aG8CisrpOKkyqS4pOmkoqSkpMeko6G8ICNUMzUgbW9uYXppbGxhSUQKKyuk4qTKpLik6aSqpOuksKTvpOkgI1QzNSBtb25hemlsbGEub3JnKHcKKyuk4qTKpLuk86TLpPMgI0pOIKXipcrA57/NCisrpOKkyqS9pKakt6StICNKTiCl4qXKwfK8sAorK6TipMqkyKTtpNCkuKG8pMqkv6SkpKQgI0pOIKXipcqlyKXtoaal0KW4obylysLnsNMKKyuk4qTKpMuhvCAjSk4gpeKlyqXLobwKKyuk4qTKpM6k6qStpOWkpiAjSk4gpeKlyqXOoaHN+LXZCisrpOKkyqTaICNLSyCl4qXKpdoKKyuk4qTKpNogI1QzNSCl4qXKpdoKKyuk4qTKpNsgI0pOIKXipcql2worK6TipMqk3KTzICNKTiCl4qXKpdyl8worK6TipMqk3aTspKqk86TipMqk0aTrpMkgI0pOIKXipcql3aXspaql86HhpeKlyqXRpeulyQorK6TipMqk3qS4pPMgI0pOIKXipcrL4r/ACisrpOKkyqTfpM+k86S/obwgI0pOIKXipcql36Gmpc+l86W/obwKKyuk4qTKpOCktyAjSk4gpeKlysPuCisrpOKkyqTqpKukuqStICNKTiCl4qXKpOqkq6S6pK0KKyuk4qTKpOykpCAjSk4gpeKlys7uCisrpOKkyqTspKQgI0pOIKXipcrO7iAKKyuk4qTLobwgI0pOIKXipcuhvAorK6TipMukqyAjSk4gpeKly6WroaaxpgorK6TipMuk46G8pK+k8yAjSk4gpeKly6Xjoby3rworK6TipMuk46G8pK+k8yAjSk4gpeKly6Xjoby3ryAKKyuk4qTLpOcgI1I1IKTipMuk5worK6TipM2hvCAjSk4gpeKlzaG8CisrpOKkzaG8pOsgI0pOIKXipc2hvKXrCisrpOKkzaS5ICNKTiCl4qXNpbkKKyuk4qTOpK+k7aG8pOAgI0pOIKXipc6hpqWvpe2hvKXgCisrpOKkzqS5pLSkpKSkpK2kqqSkpMcgI0NKIKTipM6kuaS0pKTAqqSkpMcKKyuk4qTOpNukt6S2pKqkpqTqICNKTiDKqrSzpLe0yMfkpOoKKyuk4qTRpKKk6SAjVDM1IKXipdGhvKXpCisrpOKk1aShpNik1aShICNKTiCl4qXVpaGk2KXVpaEKKyuk4qTeobwgI0pOIKXipd6hvAorK6TipN+kqqSrICNUMzUgpeKl37KsCisrpOKk36SqpKsgI1QzNSDZ5rKsCisrpOKk4qSkpO2ktaTzpMehvKSvpOqhvKTgpLmk2qS3pOOk6yAjSk4gxe2/p6W1pfOlx6G8pa+l6qG8peBTUAorK6TipOKkpqSkICNUMzUgpeKl4qG8paQKKyuk4qTipKqkpCAjVDM1IKXipeKhvKWkCisrpOKk4qTBpOOk8yAjSk4gxe2kwaTjpPMKKyuk4qTipPOk6aG8ICNKTiCl4qXipfOl6aG8CisrpOKk5KS3ICNUMzUgpeKl5KW3CisrpOKk6SAjSk4gpOKk6aL2CisrpOKk6aG8pN6k8yAjSk4gpOKk6aG8pd6l8worK6TipOmkqKTipPMgI0pOIKXipemkqKTipPMKKyuk4qTppKqk86TXICNKTiCk4qTpovYKKyuk4qTppLMgI0pOIKXipem70gorK6TipOmkv6SkpLcgI0pOIKXipenC57vICisrpOKk6aTBpOOkqKTrICNKTiCl4qXppcGl46WopesKKyuk4qTppNKk46SvICNKTiCl4qXpybQKKyuk4qTppN6kuKTzICNKTiCl4qXpy+K/wAorK6TipOmk3qTzICNKTiCk4qTppd6l8worK6TipOmk6KS3pKuksiAjSk4gpeKl6bXIscYKKyuk4qTppOkgI0pOIKTipOmk6QorK6TipOmk6aG8ICNKTiCl4qXppemhvAorK6TipOmk6aG8pKKk6aS3ICNKTiCl4qXppemhvLnTpOmktworK6TipOmk6aG8pKukwaTnpKYgI0pOIKXipeml6aG8st3EuQorK6TipOmk6aG8pLWk86S4pOWkpqS3ICNKTiCl4qXppemhvLuwvca7zgorK6TipOmk6aG8pMGk56SmpKuk8yAjSk4gpeKl6aXpobzEubSxCisrpOKk6aTpobykxqSjobykwCAjSk4gpeKl6aXpobylxqWjobylwAorK6TipOmk6aG8pNWkqaG8ICNKTiCl4qXppemhvDQKKyuk4qTppOmhvKTWpMGk56SmICNKTiCl4qXppemhvMn0xLkKKyuk4qTppOmhvKTepN4gI0pOIKXipeml6aG8pd6l3gorK6TipOmk6aSopOsgI0pOIKXipeml6aWopesKKyuk4qTppOmkyKTOICNKTiCl4qXppenFwgorK6TipOmk6aTIpM4gI0pOII7TjteO18XCCisrpOKk6aTppMikzqTIpOKkyqSrpLIgI0pOII7TjteO18XCocq6uKHLpMiO047FscahyrGmocsKKyuk4qTppOogI0pOIKXipeml6qGmurgKKyuk4qTqICNUMzUgv7kKKyuk4qTqpKKkrKTDpMak3qSkpOqk3qS3pL8gI0NKIMC5pOq+5aSspMOkxqTepKSk6qTepLekvworK6TipOqkwaTlpKYgI1QzNSDAub/fCisrpOKk6yAjSk4gpeKl6worK6TipOukoSAjSk4gKI7fjtuO3ymO047ZjqchIQorK6TipOukoSAjSk4gpeKl66WhCisrpOKk7CAjVDM1IM+zpOwKKyuk4qTspK+ktyAjVDM1IM+zpOy2+gorK6TipO2kz6TOpMSk66SuICNDSiC99L/PpM639aGjCisrpOKk86StpKSkt6TlpKykoiAjVDM1IKXipfOlraG8pbel5aWsobwKKyuk4qTzpK+koqTrICNDSiDKuLbnpKKk66GpCisrpOKk86TrpKQgI1QzMCDM5c7eCisrpOQgI1NVQyCk5AorK6TkpKogI1QzMCCl5KWqCisrpOSkqqSkICNUMzUgpOSkqqSkCisrpOSkqqStpPMgI0tLIKXkpaqlraXzCisrpOSkqqStpPMgI1QzNSCl5KWqpa2l8worK6TkpKqkz6SyICNUMzUgpeSlqsbFpLIKKyuk5KSqpNAgI1QzNSCysKWqpdAKKyuk5KSqpNWkryAjS0sgpeSlqqXVpa8KKyuk5KStpKSk4iAjVDM1IKTkpK2kpKTiCisrpOSkraTEpLGk0CAjVDM1IL7GydWksb/PCisrpOSkraTEpLGk5KSkpNAgI1QzNSC+xsnVpLG/zworK6TkpK2kyKTqICNLSyC+xqStxLsKKyuk5KStpMik6iAjVDM1IL7GpK3EuworK6TkpK2kyqSqpLukx6SqpN6kqKTOpKKkv6TepOKk5KStpMqkqqS7ICNDSiC+xqStpMqkqqS7oaKkx6GipKrBsKTOxqyk4r7GpK2kyqSqpLsKKyuk5KStpPMgI0pOIMzrttAKKyuk5KStpPMgI0pOIMzrttCh+gorK6TkpK+ktiAjSk4gpeSlr6W2CisrpOSkr6TrpMQgI1QzNSCl5KWvpeulxAorK6TkpK+k66TEpLekoyAjSk4gpeSlr6XrpcSkt6SjCisrpOSksKTDpMGk56TqobykyiAjSk4gpeSlsKXDpcGl56XqobylygorK6TkpLWkt6TfICNKTiDNpaS3pN8KKyuk5KS3ICNUMzUgueG28bvVCisrpOSkt6SspMsgI1QzMCCl5KW3paylyworK6TkpLek4yAjVDM1IMzrurUKKyuk5KS4pOukt6TBpOWkpiAjVDM1IMzwsPW/3worK6TkpLmkwKS5pOykw6TJICNDTiDK3cXEpbml7KXDpckKKyuk5KS5pMCkuaTspMOkySAjVDM1IMrdxcSluaXspcOlyQorK6TkpLmk6iAjVDM1IO/MCisrpOSkvaTeobwgI0pOIKXkpb2l3qG8CisrpOSkvaTeobyk7aS0pKSk6iAjSk4gpeSlvaXeobwope2ltMb+pOopCisrpOSkwKTipPMgI0pOIKXkpcCl4qXzCisrpOSkw6TbobwgI0NOIKXkpcOl26G8CisrpOSkw6TbobwgI0tLIKXkpcOl26G8CisrpOSkw6TbobwgI1QzNSCl5KXDpduhvAorK6TkpMOk26SqICNUMzUgpeSlw6XbobwKKyuk5KTEICNKTiCl5KXECisrpOSkxCAjVDM1IKXkpcQKKyuk5KTKpKykt6TvICNKTlMgpOSkyqSspLek7worK6TkpMqkrKS3pO8gI1QzNSCk5KTKpKykt6TvCisrpOSkyqSupLWk76TipMqhvCAjSk4gpeSlyqWupbWl76XipcqhvAorK6TkpNUgI0tLIKXkpdUKKyuk5KTVpKYgI0NOIMzwyfcKKyuk5KTVpKYgI1QzNSDM8Mn3CisrpOSk1aSqpK8gI0tLIKXkpdWlqqWvCisrpOSk1aSqpK8gI1QzNSCl5KXVpaqlrworK6TkpNaky6TppN+k4qTppOmhvCAjSk4g6a6ky6TppN+l4qXppemhvAorK6TkpN6ktqStpMik6aTDpNcgI1QzNSC7s7rqpcil6aXDpdcKKyuk5KTepLakraTvpL+k6yAjVDM1ILuzuuq+xCheXikKKyuk5KTepMAgI0pOILuzxcQKKyuk5KThpMakv6TipOwgI0NKIKTkpOGkxqS/pOKk7AorK6TkpOGk7CAjQ0ogpOSk4aTsCisrpOSk6aTKpKSkqyAjQ0ogpOSk6aTKpKSkqworK6TkpOqkuaSupK+k8yAjSk4gpOSk6qS5pK63rworK6TkpOukraTKpLcgI1QzNSCk5KTrtaSkyqS3oaoKKyuk5KTrpL4gI0pOIKTkpOukvqGqoaoKKyuk5KTrpMOkxqTWpLcgI0NKIKTkpOukw6TGwOEKKyuk5KTtpKqkpqToICNDSiCl5KXtobylpqXoCisrpOSk7aSqpKak6CAjQ0ogjtSO246wjrOO1gorK6TkpO+k6aTBpOOk8yAjSk5NIKXkpe+l6aTBpOOk8worK6TkpPOkuKTjpPMgI0tLIKXkpfOluKXjpfMKKyuk5KTzpLik46TzICNUMzUgpeSl86W4peOl8worK6TkpPOk5KTzICNDSiCk5KTzpOSk8worK6TkpPOk5KTzICNUMzUgpOSk86TkpPMKKyuk5qG8pKikuaTTobyksaG8pNak66THpK+k06TEpMOkxqS3pM0gI0NKIFVTQqWxobyl1qXrpMe888TfpMOkxrvhpM0KKyuk5qG8pLihvCAjVDM1IKPVo8cKKyuk5qG8pOahvCAjSk4gpeahvKXmobwKKyuk5qSmpKSkwSAjSk4gzbSjsQorK6TmpKakq6TzICNKTiDNvLSpCisrpOakpqStpKykyqSvpMak36TspMqkpKSspL6kpqSrpKSku6TEpLmk7CAjVDM1IM2mtaSkrMy1pK+kxrirpOykyqSksujB/LLywOKluaXsIAorK6TmpKaksyAjVDM1IKTmpKaksworK6TmpKakt6TjICNUMzUgzaa81AorK6TmpKakt6TjpOKkyqG8ICNKTiDNprzUpeKlyqG8CisrpOakpqS3pOOk4qTKpL8gI0pOIM2mvNSl4qXKwsAKKyuk5qSmpMeko6SkpNek7aS4pKekr6TIICNUMzUgVUSl16Xtpbilp6WvpcgKKyuk5qSmpMmkpiAjVDMwIM22xrMKKyuk5qSmpMqk86TepMSk6iAjVDM1IKTmpKakyqTzutek6gorK6TmpKakz6TIpK+kxqSkpLWk7KTepLmkvyAjQ0ogWU9VpM/Gw8TqpLWk7KTepLmkvworK6TmpKak06TzpOakpqS7pKSkpKS/ICNDSiDNucrYoabNucCvyMQKKyuk5qSmpNOk86TmpKaku6SkpKSkvyAjQ04gzbnK2KGmzbnAr8jECisrpOakpqTTpPOk5qSmpLukpKSkpL8gI1QzNSDNucrYoabNucCvyMQKKyuk5qSmpNykpiAjSk4gbSgtXy1tKaHBjrOO147SjryO1I6wCisrpOakpqTcpKYgI0pOIKTmpKbLtworK6TmpKak4aSkpLOkxqSkICNUMzUgza3MvrjHxOoKKyuk5qSmpOqk56SmpKsgI1QzMCDNrc7Bsr0KKyuk5qSspN8gI1QzNSDPxAorK6TmpK2kqqTLpK6k6qTApOuk3iAjSk4gwOOkqqTLpK6k6qTApOuk3gorK6TmpK2kuKTrpLcgI1QzNSDAwrD1CisrpOakraS4pOukt6SupOWkpqTLpOWkpiAjSk4gwMKw9bXtxv0KKyuk5qTDpK2hvCAjSk4gpealw6WtobwKKyuk5qTDpK2hvCAjVDM1IKXmpcOlraG8CisrpOakw6StpKQgI1QzNSCl5qXDpa2hvAorK6TmpMekwKSrpOkgI1QzNSCk5qTHpMCkq6TpoaahpqGmCisrpOaky6TDpK+kuaTVpOmkw6S3pOUgI1QzNSB1bml4pdWl6aXDpbel5QorK6TmpNakvyAjVDM1IMz9xtoKKyuk5qTzICNKTiCk5qTzCisrpOak86SrobykuSAjSk4gpeal86WrobyluQorK6TmpPOkq6G8pLkgI1QzNSCl5qXzpauhvKW5CisrpOak86SrpKKkuSAjVDM1IKXmpfOlq6G8pbkKKyuk5qTzpOak8yAjQ0ogpOak86TmpPMKKyuk5qTzpOak8yAjVDM1IKTmpPOk5qTzCisrpOggI0NKIFlPoaoKKyuk6CAjQ0ogeW+hqgorK6ToICNDSiB5cAorK6TopKKkyyAjVDM1IMLlpaKlyworK6TopKShvKS3pOek4qTKobwgI0pOIKXopaShvKW3peel4qXKobwKKyuk6KSkobykt6TnpOKkyqG8ICNKTiCO1o6yjrCOvI6ujtOOxY6wCisrpOikpqSvpLcgI1QzNSDNzrb6CisrpOikpqS3pNGk0aTIpK+k4qTqpL+kzqTzpLik46SmpL6kpiAjQ0ogpOihvKS3pdGl0cbDwLnN6qTzpLik46SmpL6hvAorK6TopKakuKTnICNUMzUgpOekpabJjt6k5worK6TopKakuKTnpOakpqSrpKQgI0pOIKTnpKWmyaGrpOek5aSlpfWkoworK6TopKaku6SkICNUMzUgzcXAugorK6TopKakwaSopPOkq6TppMekyqSqpLekxqSzpKQgI1QzNSDNxKGhw9WhobHgoaGkq6GhpOmhob3QoaHEvqGhpLehoaTGoaGks6GhpKQgCisrpOikpqTBpPOkwKTzICNUMzUgzc7EwcPECisrpOikqSAjQ0ogWU+hqgorK6TopKkgI0NKIHlvoaoKKyuk6KSpICNDSiB5cAorK6TopKmhvKS8pNUgI0pOIKXopamhvKW8pdUKKyuk6KSpobykvKTVpKukw6SzpKukt6TnpKakq6TDpLOkyKS4ICNKTiCl6KWpobylvKXVKLK+vs4pCisrpOikq6G8pPMgI0pOIKXopauhvKXzCisrpOikr6TWpKukqqSmICNKTiAooa1Woa4podYKKyuk6KSvpNakq6SqpKYgI0pOIM3fv7yypgorK6TopK+k4iAjSk4gocqmqKfVpqihy47WjriO046ljqWOpQorK6TopK+k4iAjSk4gpeilr6XioaahpqGmCisrpOikr6TiICNKTiCO1o64jtOOpY6ljqUKKyuk6KSzpM+k4SAjQ04gpeils6XPpeEKKyuk6KSzpM+k4SAjVDM1IKXopbOlz6XhCisrpOiks6TkpN6ktaTzpLSkr6S3ICNUMzUgsqO7s7uwufG71gorK6TopLSk7CAjVDM1IKXopbSl7AorK6TopLSk7CAjVDM1ILH4pOwKKyuk6KS3pMAgI0pOIFlvc2hpZGEKKyuk6KS3pM6k5KSzpNSk2iAjVDM1ILXIzO6yyKWzpdSl2gorK6TopLek5qStICNUMzUgpOikt6TmpK0KKyuk6KS3pOiktyAjSk4gocqhoaGop6WhqKHLobOhyqGto/ahrqGhocuO1o68jtaOvAorK6TopLek6KS3ICNKTiCk6KS3pOiktworK6TopLykyyAjVDM1IMLlpbylyworK6TopL2kpqTOpMqkyqThpKakqCAjVDM1IM29wdukzrzQpOG+5QorK6TopMGk7KS5ICNUMzUgzb3DzqXspbkKKyuk6KTDpK2k5aTzICNKTiCk6KTDpK2k5aTzCisrpOikw6StpOWk8yAjVDM1IKTopMOkraTlpPMKKyuk6KTDpLmko6TipMqhvCAjSk4gpOikw6S5pKOl4qXKobwKKyuk6KTKobwgI0pOIKXopcqhvAorK6TopM0gI1QzNSCiqAorK6TopM2hvCAjSk4gpeilzaG8CisrpOik36G8pOogI0pOIKXopd+hvKXqCisrpOik4SAjQ0ogsscKKyuk6KTrpM6kqqSrpLogI1QzNSDM66TOpKqkq6S6CisrpOik8yAjVDM1ID4+NAorK6TopPOkyKSmpLek86TLpOmkpKTgICNKTiC7zcasv8ily6XppaSl4AorK6TopPOk3qTrpOik8yAjVDM1IDQwNAorK6TopPOk6KTzICNDSiCk6KTzpOik8worK6TopPOk6KTzICNUMzUgpOik86TopPMKKyuk6aG8ICNUMzUgo9KjwaPSCisrpOmhvKS4pKikpKTqpKak76ShpKGk8yAjSk4gpektpbilqKWkpeqlpqXvpaGloaXzCisrpOmhvKS4pKikpKTqpKak76ShpKGk8yAjSk4gjtctjryO3o60jrKO2I6zjtyOp46njt0KKyuk6aG8pOGk8yAjVDM1IKXpobyl4aXzCisrpOmhvKThpPOkrqSzICNKTiCl6aG8peGl86WupbMKKyuk6aG8pOGk86SupLOkoqTzpMmk4qTKobwgI0pOIKXpobyl4aXzpa6ls6H1peKlyqG8CisrpOmhvKThpPOk4qTKobwgI0pOIKXpobyl4aXzpeKlyqG8CisrpOmkoiAjVDM1IFJBUgorK6TppKShvKToobwgI1QzNSAojqWiz46lKY7XjrKOsI7WjrAhIQorK6TppKShvKToobwgI1QzNSChyqGmos+hpqHLpemlpKG8peihvCEhCisrpOmkpKG8pOihvCAjVDM1IKHKoaaiz6GmocuO146yjrCO1o6wISEKKyuk6aSkpKKkw6TIICNLSyCl6aW4ofcKKyuk6aSkpL8gI0NOIKXpyMQKKyuk6aSkpMGk56SmICNLSyDN68S7CisrpOmkpKTBpOekpiAjVDM1IM3rxLsKKyuk6aSkpMwgI1QzNSCl6aWkpcwKKyuk6aSkpMwgI1QzNSCl6bikCisrpOmkpKTMICNUMzUgjte4pAorK6TppKSkzCAjVDM1II7XjrKOxworK6TppKahvKS4ICNUMzUgpemlpqG8pbgKKyuk6aSmpOGkuSAjSk4gpemlpqXhpbkKKyuk6aSmpOGkuSAjVDM1IKXppaal4aW5CisrpOmkpqTzpLggI0NOIKXppaal86W4CisrpOmkpqTzpLggI1QzNSCl6aWmpfOluAorK6TppKak86S4pKqk1aSrpKQgI1QzMCCl6aWmpfOluKWqpdWy8QorK6TppKak86S4pKsgI1QzMCCl6aWmpfOluLK9CisrpOmkpqTzpLik0qTKpPOkuKTnICNUMzUgpemlpqXzpbjI8sbxveoKKyuk6aSmpPOkuKTjICNUMzUgpemlpqXzpbil4worK6TppKak86S4pOOhvCAjVDM1IKXppaal86W4peOhvAorK6TppKak86S4pOOkoiAjVDM1IKXppaal86W4peOhvAorK6TppKak86S4pOOkoqTNpK4gI1QzNSCl6aWmpfOluKXjobzHrAorK6TppK2hvKTepPMgI0pOIKXppa2hvKXepfMKKyuk6aStobyk3qTzICNKTiCl6aWtobyl3qXzIAorK6TppLikoqTDpMggI0tLIKXppbih9worK6TppLmk3KS5pM+kqKS5pMikt6G8pOKkoiAjQ0ogpemluaXcpbmkz6WopbmlyKW3obyl4qWiCisrpOmkw6StobykwaTzpNAgI1QzNSCl6aXDpa2hvMTBx88KKyuk6aTDpMikraTpobwgI0pOIKXppcOlyKWtpemhvAorK6TppMak86SipNKk4yAjSk4gpemlxqXzpaKl0qXjCisrpOmkx6SjpL0gI1QzNSCl6aXHpaOlvQorK6TppMqhvCAjSk4gpemlyqG8CisrpOmk6qTppOogI1QzNSCl6aXqpeml6gorK6TppOqk6aTqICNUMzUgjteO2I7XjtgKKyuk6aTrpK+kvSAjSk4gpeml66Wvpb0KKyuk6aTrpK+kvSAjVDM1IKXppeulr6W9CisrpOmk7aG8ICNTVUMgpOmk7aG8CisrpOmk7aSmICNTVUMgpOmk7aG8CisrpOqhvKS8pPOkyCAjSk4gpeqhvMGwxdMKKyuk6qG8pNWkyKSmpLWkryAjVDM1IKXqobyl1cXwuu4KKyuk6qG8pN6k8yAjSk4gpeqhvKXepfMKKyuk6qG8pN6k8yAjVDMwIKXqobyl3qXzCisrpOqhvKTqpMOk0iAjSk4graGl6qG8peqlw6XSCisrpOqhvKTqpMOk0qS4pOWky6SiICNKTiCtoqXqobyl6qXDpdKjyqPyCisrpOqhvKTqpMOk0qTLpLukpCAjSk4graOl6qG8peqlw6XSxvPApAorK6TqpKKkvaS3pOmkzaG8pOggI0pOIKXqpaKl66W9pemlzaG8pegKKyuk6qSipMGk5aSmICNUMzUgpeqlor/fCisrpOqkoqTrICNUMzUgpeqloqXrCisrpOqkoqTrpKKkvaTRpL2k3qS9ICNKTiCl6qWipeuloqW9pdGlvaXepb0KKyuk6qSipOukoqS9pNGkvaTepL0gI0pOIKXqpaKl646xjr+Oyo7fjr+Oz46/CisrpOqkoqTrpKKkw6S9obwgI0pOIKXqpaKl66SipMOkvaG8CisrpOqkoqTrpKOk56SlICNKTiCl6qWipeuko6TnpKUKKyuk6qSipOuko6TnpKWk4qSzpOKks6TQobykuKTnpPMgI0pOIKXqpaKl66SjpOekpaHKpOKks6TipLOl0KG8pbil56XzocsKKyuk6qSipOukpKTppM2hvKToICNKTiCl6qWipeulpKXppc2hvKXoCisrpOqkoqTrpKakxCAjSk4gpeqloqXr3bUKKyuk6qSipOukqqTepKikr6TeobwgI0pOIKXqpaKl66Wqpd6lqKWvpd6hvAorK6TqpKKk66SqpN6kqKTipMqhvCAjSk4gpeqloqXrpaql3qWopeKlyqG8CisrpOqkoqTrpKuktaG8pOogI0pOIKXqpaKl66WrpbWhvKXqCisrpOqkoqTrpK2kv6G8obwgI0pOIKXqpaKl66Wtpb+hvAorK6TqpKKk66StpMGkrKSkpLGkpKTbpKYgI0pOIKXqpaKl67Tww8+zsLfZyvMKKyuk6qSipOukrqSzICNKTiCl6qWipeulrqWzCisrpOqkoqTrpLSkv6SkpNWk3qTzpL6kryAjSk4gpeqloqXruN7CzsnUy/7CrQorK6TqpKKk66S3pKMgI0pOIKXqpaKl66S3pKMKKyuk6qSipOukt6TNpNChvCAjSk4gpeqloqXrpbelzaXQobwKKyuk6qSipOukt6TnpKak3KSmICNUMzUgpeqloqXrvsPLyQorK6TqpKKk66S3pOmkzaG8pOggI0pOIKXqpaKl66W3pemlzaG8pegKKyuk6qSipOukt6TppM2hvKToMiAjSk4gpeqloqXrpbel6aXNobyl6KOyCisrpOqkoqTrpLiktaSvpLikqKTzICNKTiCl6qWipeuluKW1pa+luKWopfMKKyuk6qSipOukuKS1pK+kuKSopPMgI0pOIKXqpaKl6468jt6Ou464jryO3o60jt0KKyuk6qSipOukuKTjpMqkpKSrpOmkr6S9ICNDSiCl6qWipeukuKTjpMqkpKSrpOmlr6W9CisrpOqkoqTrpLik56TzpLik56S1pPMgI0pOIKXqpaKl66W4peel86W4peektaTzCisrpOqkoqTrpLmkw6TJpOwgI0pOIKXqpaKl6469jq+OxI7ejtoKKyuk6qSipOukuaTVpKOk86SvpLkgI0pOIKXqpaKl66W5pdWlo6Xzpa+luQorK6TqpKKk66S9pKakx6TipMqkpKToICNKTiCl6qWipeukvaSmpMek4qTKpKSk6AorK6TqpKKk66S9pOmkzaG8pOggI0pOIKXqpaKl66W9pemlzaG8pegKKyuk6qSipOukvaTspKykyqTLpKsgI0pOIKXqpaKl66W9peylrKXKoeGly6WrCisrpOqkoqTrpL+kpKTgICNUMzUgpeqloqXrpb+lpKXgCisrpOqkoqTrpMGk5aSmpNykpiAjVDM1IKXqpaKl67/fy7wKKyuk6qSipOukyqSqpMukrqTqpOKkyqG8ICNKTiCl6qWipeukyqSqpMukrqTqpeKlyqG8CisrpOqkoqTrpMqkqqTLpK6k6qTipMqhvKSkpMEgI0pOIKXqpaKl66TKpKqky6SupOql4qXKobyjsQorK6TqpKKk66TKpKqky6SupOqk4qTKobykyyAjSk4gpeqloqXrpMqkqqTLpK6k6qXipcqhvKOyCisrpOqkoqTrpMqksaTzICNKTiCl6qWipeukyqWxpfMKKyuk6qSipOukyqTDpMEgI0pOIKXqpaKl66TKpMOkwQorK6TqpKKk66TKpMmku6SkpLWk8yAjSk4gpeqloqXrpMrF2sCxpLWk8worK6TqpKKk66TKpM2kuaTipMqhvCAjSk4gpeqloqXrpMqlzaW5peKlyqG8CisrpOqkoqTrpMukwKG8ICNKTiCl6qWipeuly6XAobwKKyuk6qSipOukz6ShICNKTiCl6qWipeulz6WhoakKKyuk6qSipOuk0qTtpOakrSAjSk4gpeqloqXrpNKk7aTmpK0KKyuk6qSipOuk1aSnpOmhvKTBpOcgI0pOIKXqpaKl66XVpael6aG8pcGl5worK6TqpKKk66TbpL2k4SAjSk4gpeqloqXrutnM3AorK6TqpKKk66TepMChvCAjSk4gpeqloqXrpd6lwKG8CisrpOqkoqTrpN6ky6G8ICNKTiCl6qWipeul3sbzod0KKyuk6qSipOuk4KTDpK8gI0pOIKXqpaKl66XgpcOlrworK6TqpKKk66TipKaks6TNpKik6CAjSk4gpeqloqXrpeKlpqWzpc2lqKXoCisrpOqkoqTrpOKkyqG8ICNKTiCl6qWipeul4qXKobwKKyuk6qSipOuk5KTApOKk8yAjSk4gpeqloqXrpeSlwKXipfMKKyuk6qSipOuk6KS3pMako6G8ICNKTiCl6qWipeuk6KS3pcalo6G8CisrpOqkoqTrpOqkoqTqpMakoyAjVDM1IKXqpaKl66XqpaKl6qXGpaMKKyuk6qSipOuk7KTipMogI0pOIKXqpaKl66XspeKlygorK6TqpKSkwSAjVDM1IHJlYWNoCisrpOqkpKTJpLekpKS4pKSkoqSkICNUMzUgcmVhZC5jZ2kKKyuk6qSrpMGk46TzICNUMzUgzqSywqTBpOOk8worK6TqpK2kt6TspMekoyAjVDM1IKXqpa2lt6XspceloworK6TqpK2kw6TJpOKk6aG8pK8gI0pOIKXqpa2lw6XJoaal4qXpobylrworK6TqpK8gI1QzNSDOpgorK6TqpLikp6TzpOqk4yAjSk4gzfu38s7JCisrpOqkw6TEICNUMzUgpeqlw6XECisrpOqkw6TEpKykpKTrpLUgI0pOIKXqpcOlxKSspKSk66S1CisrpOqkw6TdpKakv6SkICNKTiDOqcr9ws4KKyuk6qTGpMqkoiAjVDM1IKXqpcalyqG8CisrpOqkyKTrpKikpKTqpKak76ShpKGk8yAjSk4gpeqlyKXrpailpKXqpaaloaWhpfMKKyuk6qTIpOukqKSkpOqkpqTvpKGkoaTzICNKTiCO2I7EjtmOtI6yjtiOs46njqeO3QorK6TqpNykw6TIICNUMzUgpeql3KXDpcgKKyuk6qTcpOuk0KG8pLmk3qTzpKukw6S/ICNKTiCl6qXcpeul0KG8oaaluaXepfOlq6XDpb8KKyuk6qTcpOuk0KG8pLmk3qTzpKukw6S/ICNKTiCl6qXcpeul9KWhobyhpqW5pd6l86WrpcOlvworK6TqpNyk8yAjVDM1IKXqpdyl8worK6TqpNyk86TXpOykpCAjVDMwIKXqpdyl86XXpeylpAorK6TqpOKhvKTIpNukuaTIICNUMzUgpeql4qG8pcil26W5pcgKKyuk6qTipNsgI1QzNSCl6qXipdsKKyuk6qTjpK8gI1QzNSAocnkKKyuk6qTjpK8gI1QzNSByeQorK6TqpOOkryAjVDM1IKHKo/Kj+QorK6TqpOOkr6S3pK2kuKTBpPOktaSkICNUMzUgzqy8sMPPxMO61worK6TqpOekpqS5pOykqqTIpLMgI0pOIM7Jpbml7MPLCisrpOqk56SmpLmk7KTOpOikq6TzICNDSiDOyaW5peykzs29tLYKKyuk6qTnpKakzqSmICNUMzUgzr7HvgorK6TqpOuksyAjSk4gpeql67vSCisrpOqk7aG8pMkgI1QzMCCl6qXtobylyQorK6TqpO2kqqTJpLmk7KTDpMkgI1QzNSCl6qXtobylyaW5peylw6XJCisrpOqk7aS5pOwgI1QzNSCl6qXtpbml7AorK6TqpPOktKTEpKukpCAjVDM1IKXqpfOltLvIpKQKKyuk66SkICNUMzUgcnVpCisrpOuk0aTzpNWk6aTDpLek5SAjVDM1IKXrpdGl86XVpemlw6W3peUKKyuk7KG8ICNKTiCl7KG8CisrpOykpKStpOWkpqS3pOMgI0pOIM7u28281gorK6TspKSkryAjSk4gpeylpKWvCisrpOykpKS1pOAgI1QzNSDO5LSoCisrpOykpKS+pKaksyAjVDM1IM7kwqK4yworK6TspLCkzaTDpLuk4CAjVDM1IFJlZ25lc3NlbQorK6TspLKhvCAjVDM1IKXspbKhvAorK6TspLKhvKSkpL8gI0NOIKXspbKhvMjECisrpOyksqG8pKSkvyAjVDM1IKXspbKhvMjECisrpOykuCAjVDM1IKXspbgKKyuk7KS5ICNUMzAgpeyluQorK6TspLmktaSvpLik5yAjVDMwIKXspbm67738CisrpOykuaS5pOyktKTQpK8gI1QzMCCl7KW5pbml7Ljtx/oKKyuk7KS5pL+kxqS0pNCkryAjVDMwIKXspbnOqaTGuO3H+gorK6TspLmk0KTzpLSkpiAjVDM1IKXspbnI1rnmCisrpOykw6TIpKYgI0tLIM70xqwKKyuk7KTDpMmk1qTDpK+kpKTPpPMgI0NKIKXspcOlyaXWpcOlr7DjyL+hqqGipeylw6XJpauhvKXJoaoKKyuk7KTEpK6k56TZpKSk2aG8pLehvKTepKSk2KG8ICNDSiCk7KTEpK6k56GqpNmkpKTZobyhoaS3obyk3qSkpNihvKL2CisrpOykxKSupOek2aSkpNmhvKS3obyk3qSkpNihvCAjVDM1IKTspMSkrqTnoaqk2aSkpNmhvKGhpLehvKTepKSk2KG8ovYKKyuk7KTHpKOkpKS5pLWk3iAjVDM1IKXspcelo6G8pbnNzQorK6TspNmk66TSpK8gI0tZIKXspdml68TjCisrpOyk4qTKICNKTiCl7KXipcoKKyuk7KTipMogI0pOIKXspeKlyiAKKyuk7KTipMqkuaTsICNDTiCl7KXipcqluaXsCisrpOyk4qTKpLmk7KTOpOKk6aTpobwgI0pOIKXspeKlyqW5peykzqXipeml6aG8CisrpOyk4qTppOKhvKTKICNKTiCl7KXipeml4qG8pcoKKyuk7KTspNsgI1QzNSCl7KXspdsKKyuk7KTzpKwgI1QzNSCl7KXzpawKKyuk7SAjVDM1IM+nCisrpO2hvKSrpOuk66G8pOsgI1QzNSCl7aG8paul66Xrobyl6worK6TtpKSk4qTKpNmk6yAjSk4gpe2lpKGmpeKlyqXZpesKKyuk7aSwICNUMzUgpe2lsAorK6TtpLGkw6TIpMekxKStpMyksaTrICNDSiCl7aWxpcOlyKTHxs2krci0pLGk6worK6TtpLQgI1QzNSCl7aW0CisrpO2kw6SvpLekxqSjICNKTiCl7aXDpa+lt6XGpaMKKyuk7aTDpK+k4qTKobwgI0pOIKXtpcOlr6XipcqhvAorK6TtpMOk3aTzpL6hvCAjSk4gpO2kw6TdpPOkvqG8CisrpO2kw6TdpPOkvqG8ICNUMzUgpO2kw6TdpPOkvqG8CisrpO2kxqSopPMgI1QzNSCl7aXGobyl8worK6TtpMakqKTzICNUMzUgjtuOw46wjt0KKyuk7aTTpOGkuSAjSk4gpe2l06XhpbkKKyuk7aTTpOGkuSAjVDM1IKXtpdOl4aW5CisrpO2k06TpobwgI1QzNSCl7aXTpemhvAorK6TtpNWkyKTXpOmkuaTvpPMgI0NOIKXtpdWlyKXXpemluaXvpfMKKyuk7aTgICNLUyBST00KKyuk7aTgICNSNSCj0qPPo80KKyuk7aTgICNUMzUgUkBNCisrpO2k4CAjVDM1IFJPTQorK6TtpOAgI1QzNSCj0qPPo80KKyuk7aTqICNUMzUgpe2l6gorK6TtpOqks6TzICNUMzUgpe2l6qWzpfMKKyuk7aTqpNqkySAjVDM1IKXtpeql2qXJCisrpO2k6yAjQ0ogKGxvbAorK6TtpOwgI0tLIKXtpewKKyuk7aTtICNKTiCl7aXtCisrpO2k7SAjVDM1IKXtpe0KKyuk7aTzpLIgI1QzNSCl7aXzzNMKKyuk76G8pOKkyqG8ICNKTiCk76G8pOKkyqG8CisrpO+kpKTHpLmk6KTzpLik5aSmICNKTiCl76Wkpcahq6W5o7SjsAorK6TvpKSk06G8pNOhvKTbpKakwaTfpPMgI1QzNSCj2aPCo8LK/MPWzLEKKyuk76SrpKqkryAjVDM1IKTvpKukqqSvCisrpO+kq6TOpM+kyiAjVDM1IFdBS0FOT0hBTkEKKyuk76SrpOEgI1QzNSCk76SrpOEKKyuk76SxpO+kq6TppPMgI0pOIKXvpbGl76Wrpeml8worK6TvpLWk0yAjVDM1IKXvpbWl0worK6TvpLikqiAjQ04gz8Kx9gorK6TvpLikqiAjS0sgz8Kx9gorK6TvpLikqiAjVDM1IM/CsfYKKyuk76S7pMCkqKStICNKTiDB4bDwxcSx2AorK6TvpL+kyqTZICNUMzUgxc/K1QorK6TvpL+kyqTZpOKkyqG8ICNKTiCl76W/pcql2aXipcqhvAorK6TvpL+kyqTZpOKkyqG8ICNKTiCl76W/pcql2aXipcqhvCAKKyuk76TKICNUMzUg5qsKKyuk76TKobwgI0pOIKXvpcqhvAorK6TvpOkgI0NKICAoz84KKyuk76TpICNDSiAodworK6TvpOkgI0NKICij9worK6TvpOkgI0NKICil76XpCisrpO+k6SAjQ0ogKNzXCisrpO+k6SAjQ0ogKI7cjtcKKyuk76TpICNDSiB3CisrpO+k6SAjQ0ogpO+k6SAKKyuk76TpICNDSiCl76XpCisrpO+k6SAjQ0ogz84gCisrpO+k6TEgI0pOIKXvpekxCisrpO+k6TEgI0pOII7cjtcxCisrpO+k6aSjICNDSiCl76XppaMKKyuk76TppL8gI0NKIKXvpemlvworK6TvpOmkvyAjQ0ogjtyO147ACisrpO+k6aTTICNUMzUgocrPzworK6TvpOmk76S7pOukyiAjQ0ogpe+l6aXvpbul66XKCisrpO+k6aTvpLuk66TKICNDSiCO3I7XjtyOvo7ZjsUKKyuk76TqpKogI1QzNSCl76XqpaoKKyuk76TrpOwgI1I1IKTvpOuk7AorK6TvpOyktqG8ICNUMzUgpe+l7KW2obwKKyuk76TspLakwaTlpKak3KSmICNUMzUgpe+l7KW2v9/LvAorK6TvpOykuiAjVDM1IKXvpeylugorK6TvpOyk4qTOICNLSyCk76TspOKkzgorK6TvpOyk4qTOICNUMzUgpO+k7KTipM4KKyuk76TspOKkziAjVDM1ILPkpOzKqgorK6TvpO2kvyAjQ0ogpe+l7aW/CisrpO+k86TAobwgI1QzNSBXT05ERVIKKyuk8qSrpK2ks6TgpLmk7KTApOggI0NKIKTyvfGkrbn+pOCluaXspMCk6KGqoaoKKyuk8qSrpK2ks6TgpLmk7KTApOggI0pOIKHKoaaiz6GmocsKKyuk8qS/ICNKTiCl8qW/CisrpPKkvyAjVDM1IKXypb8KKyuk8qS/pLeky6TKpN6k66TepOsgI0pOII6mjsA0MjcwMAorK6TypL+kv6S/pK0gI1QzNSCl8qW/w6GkrQorK6TypL+kv6S/pK2k8qS/ICNUMzUgpfKlv8OhpK2l8qW/CisrpPKkv6TBpKekw6SvICNUMzAgpfKlv6XBpaelw6WvCisrpPKkv6TBpKekw6SvpKKky6TypL+k2KTzICNKTiCl8qW/pcGlp6XDpa+hyqWipcul8qW/ytShyworK6TypL+k6aG8ICNKTiCl8qW/pemhvAorK6TypL+k6aG8ICNKTiCOpo7AjteOsAorK6TypMEgI1QzMCCl8qXBCisrpPKkwaSkpL8gI0NOIKXypcHIxAorK6TypMGkpKS/ICNUMzUgpfKlwcjECisrpPKkw6TBICNUMzAgpfKlw6XBCisrpPKkw6TBpKSkvyAjQ04gpfKlw6XByMQKKyuk8qTDpMGkpKS/ICNUMzUgpfKlw6XByMQKKyuk8qTwICNUMzUgpPKk8AorK6TzobwgI0pOIKTzocGhqqGpCisrpPOkrKTzpLAgI0NKIKTzpKyk86SwCisrpPOkuKTjICNDSiCk86S4pOOhqgorK6TzpMCk6CAjSk4gpfOlwKXoCisrpPOkwKTzpMAgI0NKIKTzpMCk86TACisrpPOkxyAjSk4gpPOkx6GhCisrpPOkyqSzpL+koqTKpKQgI0NKIKTzpMqks6S/obykyqSkCisrpPOkyqTvpLGkzaG8pOggI0pOIKTzpMqk76Sxpc2hvKXoCisrpPOk3iAjSk4gKGCmxi6hrSmh46TzpN4hCisrpPOk3iAjSk4gpPOk3qGqCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FudGh5L2FudGh5L25hdGl2ZS1oZWxwZXJzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hbnRoeS9hbnRoeS9uYXRpdmUtaGVscGVycy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTFiNjZiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hbnRoeS9hbnRoeS9uYXRpdmUtaGVscGVycy5wYXRjaApAQCAtMCwwICsxLDUwIEBACit1cHN0cmVhbTogbm90IGFwcGxpY2FibGUKK2F1dGhvcjogcEg1Citjb21tZW50OiBTdGFnZSB0aGUgbmF0aXZlIGFudGh5IGhlbHBlcnMgbWtmaWxlZGljLCBta2RlcGdyYXBoLCBta3dvcmRkaWMsIAorY29tbWVudDogY2FsY3RyYW5zIGFuZCBwcm9jY29ycHVzLgorCistLS0gYW50aHktNzgxMS9ta2FudGh5ZGljL01ha2VmaWxlLmFtfgkyMDA2LTA1LTEzIDE4OjI4OjM1LjAwMDAwMDAwMCArMDkwMAorKysrIGFudGh5LTc4MTEvbWthbnRoeWRpYy9NYWtlZmlsZS5hbQkyMDA2LTA2LTE4IDEwOjU2OjI1Ljc3MDAwMDAwMCArMDkwMAorQEAgLTMsNyArMyw3IEBACisgQ0xFQU5GSUxFUyA9IGFudGh5LmRpYworIElOQ0xVREVTID0gLUkkKHRvcF9zcmNkaXIpL2luY2x1ZGUgLURTUkNESVI9XCIkKHNyY2RpcilcIgorIAorLW5vaW5zdF9QUk9HUkFNUyA9IG1rZmlsZWRpYworK2Jpbl9QUk9HUkFNUyA9IG1rZmlsZWRpYworIG1rZmlsZWRpY19TT1VSQ0VTID0gbWtmaWxlZGljLmMKKyBta2ZpbGVkaWNfTERBREQgPSAuLi9zcmMtZGljbGliL2xpYmRpY2xpYi5sYQorIAorLS0tIGFudGh5LTc4MTEvZGVwZ3JhcGgvTWFrZWZpbGUuYW1+CTIwMDYtMDYtMDIgMDA6MjA6NTQuMDAwMDAwMDAwICswOTAwCisrKysgYW50aHktNzgxMS9kZXBncmFwaC9NYWtlZmlsZS5hbQkyMDA2LTA2LTE4IDEwOjU3OjE5LjQyMDAwMDAwMCArMDkwMAorQEAgLTksNyArOSw3IEBACisgRVhUUkFfRElTVCA9IGluZGVwd29yZC50eHQgJChERVBXT1JEUykKKyAKKyAjIEdlbmVyYXRlIHRoZSBkaWN0aW9uYXJ5Cistbm9pbnN0X1BST0dSQU1TID0gbWtkZXBncmFwaAorK2Jpbl9QUk9HUkFNUyA9IG1rZGVwZ3JhcGgKKyBta2RlcGdyYXBoX1NPVVJDRVMgPSBta2RlcGdyYXBoLmMKKyBta2RlcGdyYXBoX0xEQUREID0gIC4uL3NyYy1tYWluL2xpYmFudGh5LmxhIC4uL3NyYy13b3JkZGljL2xpYmFudGh5ZGljLmxhCisgCistLS0gYW50aHktNzgxMS9ta3dvcmRkaWMvTWFrZWZpbGUuYW1+CTIwMDYtMDUtMTMgMTg6Mjk6MDcuMDAwMDAwMDAwICswOTAwCisrKysgYW50aHktNzgxMS9ta3dvcmRkaWMvTWFrZWZpbGUuYW0JMjAwNi0wNi0xOCAxMToyMTo1Ni4zMDAwMDAwMDAgKzA5MDAKK0BAIC0xNiw3ICsxNiw4IEBACisgIHVkaWN0IGRpY3QuYXJncy5pbgorIAorICMgR2VuZXJhdGUgdGhlIGRpY3Rpb25hcnkKKy1ub2luc3RfUFJPR1JBTVMgPSBta3dvcmRkaWMKKysjbm9pbnN0X1BST0dSQU1TID0gbWt3b3JkZGljCisrYmluX1BST0dSQU1TID0gbWt3b3JkZGljCisgbWt3b3JkZGljX1NPVVJDRVMgPSBta2RpYy5jIHdyaXRld29yZHMuYyBta3VkaWMuYyBjYWxjZnJlcS5jIG1rZGljLmgKKyBta3dvcmRkaWNfTERBREQgPSAuLi9zcmMtd29yZGRpYy9saWJhbnRoeWRpYy5sYQorCistLS0gYW50aHktOTEwMGUub3JpZy9jYWxjdHJhbnMvTWFrZWZpbGUuYW0JMjAwOC0wNS0wOCAxNTowNDoxMy4wMDAwMDAwMDAgKzAyMDAKKysrKyBhbnRoeS05MTAwZS9jYWxjdHJhbnMvTWFrZWZpbGUuYW0JMjAwOC0wNS0wOCAxNTowNDoyNC4wMDAwMDAwMDAgKzAyMDAKK0BAIC0zLDcgKzMsNyBAQAorICBjb3JwdXMuMy50eHQgY29ycHVzLjQudHh0IGNvcnB1cy41LnR4dFwKKyAgY29ycHVzX2luZm8gd2Vha193b3JkcworIAorLW5vaW5zdF9QUk9HUkFNUyA9IGNhbGN0cmFucyBwcm9jY29ycHVzCisrYmluX1BST0dSQU1TID0gY2FsY3RyYW5zIHByb2Njb3JwdXMKKyBJTkNMVURFUyA9IC1JJCh0b3Bfc3JjZGlyKS8KKyAKKyBjYWxjdHJhbnNfU09VUkNFUyA9IGNhbGN0cmFucy5jIGlucHV0X3NldC5jIGlucHV0X3NldC5oIGNvcnB1cy5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FudGh5L2FudGh5L25vdF9idWlsZF9lbGMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FudGh5L2FudGh5L25vdF9idWlsZF9lbGMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmY3NDhmMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYW50aHkvYW50aHkvbm90X2J1aWxkX2VsYy5wYXRjaApAQCAtMCwwICsxLDE2IEBACit1cHN0cmVhbTogbm90IGFwcGxpY2FibGUKK3NvdXJjZTogc3RvbGVuIGZyb20gZGViaWFuCisKK2RpZmYgLU5hdXIgYW50aHktNzgxMS9zcmMtdXRpbC5vcmlnL01ha2VmaWxlLmFtIGFudGh5LTc4MTEvc3JjLXV0aWwvTWFrZWZpbGUuYW0KKy0tLSBhbnRoeS03ODExL3NyYy11dGlsLm9yaWcvTWFrZWZpbGUuYW0JMjAwNi0wNi0xOCAxMDo0Nzo1NS43OTAwMDAwMDAgKzA5MDAKKysrKyBhbnRoeS03ODExL3NyYy11dGlsL01ha2VmaWxlLmFtCTIwMDYtMDYtMTggMTA6NDg6MjMuODYwMDAwMDAwICswOTAwCitAQCAtNiw3ICs2LDggQEAKKyAgYW50aHktaXNlYXJjaC5lbCBhbnRoeS1hemlrLmVsIGFudGh5LWt5dXJpLmVsCisgRVhUUkFfRElTVCA9ICQoRUxJU1BfRklMRVMpIHR5cGV0YWIgZGljLXRvb2wtdXNhZ2UudHh0IHJjc2l6ZS5yYgorIGJpbl9QUk9HUkFNUyA9IGFudGh5LWRpYy10b29sIGFudGh5LWFnZW50IGFudGh5LW1vcnBob2xvZ2ljYWwtYW5hbHl6ZXIKKy1FTENGSUxFUyA9IGFudGh5LmVsYyBhbnRoeS1kaWMuZWxjIGFudGh5LWF6aWsuZWxjIGFudGh5LWNvbmYuZWxjIGFudGh5LWlzZWFyY2guZWxjIGFudGh5LWt5dXJpLmVsYyBsZWltLWxpc3QuZWxjCisrI0VMQ0ZJTEVTID0gYW50aHkuZWxjIGFudGh5LWRpYy5lbGMgYW50aHktYXppay5lbGMgYW50aHktY29uZi5lbGMgYW50aHktaXNlYXJjaC5lbGMgYW50aHkta3l1cmkuZWxjIGxlaW0tbGlzdC5lbGMKKytFTENGSUxFUyA9IAorIGlmIEVMSVNQCisgbGlzcF9MSVNQID0gJChFTElTUF9GSUxFUykKKyBlbmRpZgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hbnRoeS9hbnRoeS90YXJnZXQtaGVscGVycy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYW50aHkvYW50aHkvdGFyZ2V0LWhlbHBlcnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDIyYzM1NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYW50aHkvYW50aHkvdGFyZ2V0LWhlbHBlcnMucGF0Y2gKQEAgLTAsMCArMSwxMTEgQEAKK2RpZmYgLU51cnAgYW50aHktOTEwMGgub3JnL2NhbGN0cmFucy9NYWtlZmlsZS5hbSBhbnRoeS05MTAwaC9jYWxjdHJhbnMvTWFrZWZpbGUuYW0KKy0tLSBhbnRoeS05MTAwaC5vcmcvY2FsY3RyYW5zL01ha2VmaWxlLmFtCTIwMDctMTAtMjcgMjM6MDI6NTkuMDAwMDAwMDAwICswOTAwCisrKysgYW50aHktOTEwMGgvY2FsY3RyYW5zL01ha2VmaWxlLmFtCTIwMTQtMTEtMTEgMTc6MTQ6NDIuMTUyOTk5OTkxICswOTAwCitAQCAtMTUsMzEgKzE1LDMxIEBAIGRpY3Rfc291cmNlX2ZpbGVzID0gYW50aHkuY2FuZF9pbmZvIGFudGgKKyAKKyB1cGRhdGVfcGFyYW1zOgorIAlybSAtZiBwYXJzZWRfZGF0YTIKKy0JLi9wcm9jY29ycHVzICQoc3JjZGlyKS9jb3JwdXMuPy50eHQgPiBwYXJzZWRfZGF0YQorLQkuL2NhbGN0cmFucyBwYXJzZWRfZGF0YSAtbyAkKHNyY2RpcikvY29ycHVzX2luZm8KKy0JLi9jYWxjdHJhbnMgcGFyc2VkX2RhdGEgLWUgLW8gJChzcmNkaXIpL3dlYWtfd29yZHMKKysJcHJvY2NvcnB1cyAkKHNyY2RpcikvY29ycHVzLj8udHh0ID4gcGFyc2VkX2RhdGEKKysJY2FsY3RyYW5zIHBhcnNlZF9kYXRhIC1vICQoc3JjZGlyKS9jb3JwdXNfaW5mbworKwljYWxjdHJhbnMgcGFyc2VkX2RhdGEgLWUgLW8gJChzcmNkaXIpL3dlYWtfd29yZHMKKyAJbWFrZSBkb191cGRhdGVfcGFyYW1zCisgCisgdXBkYXRlX3BhcmFtczA6CisgCXJtIC1mIHBhcnNlZF9kYXRhMgorLQkuL3Byb2Njb3JwdXMgJChzcmNkaXIpL2NvcnB1cy4wLnR4dCA+IHBhcnNlZF9kYXRhCistCS4vY2FsY3RyYW5zIHBhcnNlZF9kYXRhIC1vICQoc3JjZGlyKS9jb3JwdXNfaW5mbworLQkuL2NhbGN0cmFucyBwYXJzZWRfZGF0YSAtZSAtbyAkKHNyY2Rpcikvd2Vha193b3JkcworKwlwcm9jY29ycHVzICQoc3JjZGlyKS9jb3JwdXMuMC50eHQgPiBwYXJzZWRfZGF0YQorKwljYWxjdHJhbnMgcGFyc2VkX2RhdGEgLW8gJChzcmNkaXIpL2NvcnB1c19pbmZvCisrCWNhbGN0cmFucyBwYXJzZWRfZGF0YSAtZSAtbyAkKHNyY2Rpcikvd2Vha193b3JkcworIAltYWtlIGRvX3VwZGF0ZV9wYXJhbXMKKyAKKyB1cGRhdGVfcGFyYW1zMjoKKy0JLi9wcm9jY29ycHVzICQoc3JjZGlyKS9jb3JwdXMuPy50eHQgPj4gcGFyc2VkX2RhdGEyCistCS4vY2FsY3RyYW5zIHBhcnNlZF9kYXRhIHBhcnNlZF9kYXRhMiAtbyAkKHNyY2RpcikvY29ycHVzX2luZm8KKy0JLi9jYWxjdHJhbnMgcGFyc2VkX2RhdGEgcGFyc2VkX2RhdGEyIC1lIC1vICQoc3JjZGlyKS93ZWFrX3dvcmRzCisrCXByb2Njb3JwdXMgJChzcmNkaXIpL2NvcnB1cy4/LnR4dCA+PiBwYXJzZWRfZGF0YTIKKysJY2FsY3RyYW5zIHBhcnNlZF9kYXRhIHBhcnNlZF9kYXRhMiAtbyAkKHNyY2RpcikvY29ycHVzX2luZm8KKysJY2FsY3RyYW5zIHBhcnNlZF9kYXRhIHBhcnNlZF9kYXRhMiAtZSAtbyAkKHNyY2Rpcikvd2Vha193b3JkcworIAltYWtlIGRvX3VwZGF0ZV9wYXJhbXMKKyAKKyBkb191cGRhdGVfcGFyYW1zOgorLQkuL2NhbGN0cmFucyAtYyAkKHNyY2RpcikvY29ycHVzX2luZm8KKysJY2FsY3RyYW5zIC1jICQoc3JjZGlyKS9jb3JwdXNfaW5mbworIAlybSAtZiAkKGRpY3Rfc291cmNlX2ZpbGVzKQorIAltYWtlICQoZGljdF9zb3VyY2VfZmlsZXMpCisgCistJChkaWN0X3NvdXJjZV9maWxlcyk6ICQoc3JjZGlyKS9jb3JwdXNfaW5mbyAkKHNyY2Rpcikvd2Vha193b3JkcyBjYWxjdHJhbnMKKy0JLi9jYWxjdHJhbnMgLWMgJChzcmNkaXIpL2NvcnB1c19pbmZvICQoc3JjZGlyKS93ZWFrX3dvcmRzCisrJChkaWN0X3NvdXJjZV9maWxlcyk6ICQoc3JjZGlyKS9jb3JwdXNfaW5mbyAkKHNyY2Rpcikvd2Vha193b3JkcworKwljYWxjdHJhbnMgLWMgJChzcmNkaXIpL2NvcnB1c19pbmZvICQoc3JjZGlyKS93ZWFrX3dvcmRzCisgCisgbm9pbnN0X0RBVEEgPSAkKGRpY3Rfc291cmNlX2ZpbGVzKQorIENMRUFORklMRVMgPSAkKGRpY3Rfc291cmNlX2ZpbGVzKSBwYXJzZWRfZGF0YSBwYXJzZWRfZGF0YTIgYW50aHkuZmVhdHVyZV9pbmZvCitkaWZmIC1OdXJwIGFudGh5LTkxMDBoLm9yZy9kZXBncmFwaC9NYWtlZmlsZS5hbSBhbnRoeS05MTAwaC9kZXBncmFwaC9NYWtlZmlsZS5hbQorLS0tIGFudGh5LTkxMDBoLm9yZy9kZXBncmFwaC9NYWtlZmlsZS5hbQkyMDA4LTExLTI5IDIxOjQ2OjE0LjAwMDAwMDAwMCArMDkwMAorKysrIGFudGh5LTkxMDBoL2RlcGdyYXBoL01ha2VmaWxlLmFtCTIwMTQtMTEtMTEgMTc6MTI6MDMuODEzOTk5OTkxICswOTAwCitAQCAtOSwxMSArOSwxMSBAQCBDTEVBTkZJTEVTID0gYW50aHkuZGVwCisgRVhUUkFfRElTVCA9IGluZGVwd29yZC50eHQgJChERVBXT1JEUykKKyAKKyAjIEdlbmVyYXRlIHRoZSBkaWN0aW9uYXJ5Cistbm9pbnN0X1BST0dSQU1TID0gbWtkZXBncmFwaAorLW1rZGVwZ3JhcGhfU09VUkNFUyA9IG1rZGVwZ3JhcGguYworLW1rZGVwZ3JhcGhfTERBREQgPSAgLi4vc3JjLW1haW4vbGliYW50aHkubGEgLi4vc3JjLXdvcmRkaWMvbGliYW50aHlkaWMubGEKKysjbm9pbnN0X1BST0dSQU1TID0gbWtkZXBncmFwaAorKyNta2RlcGdyYXBoX1NPVVJDRVMgPSBta2RlcGdyYXBoLmMKKysjbWtkZXBncmFwaF9MREFERCA9ICAuLi9zcmMtbWFpbi9saWJhbnRoeS5sYSAuLi9zcmMtd29yZGRpYy9saWJhbnRoeWRpYy5sYQorIAorLWFudGh5LmRlcCA6IG1rZGVwZ3JhcGggJChERVBXT1JEUykKKy0JLi9ta2RlcGdyYXBoCisrYW50aHkuZGVwIDogJChERVBXT1JEUykKKysJbWtkZXBncmFwaAorIAorIG5vaW5zdF9EQVRBID0gYW50aHkuZGVwCitkaWZmIC1OdXJwIGFudGh5LTkxMDBoLm9yZy9ta2FudGh5ZGljL01ha2VmaWxlLmFtIGFudGh5LTkxMDBoL21rYW50aHlkaWMvTWFrZWZpbGUuYW0KKy0tLSBhbnRoeS05MTAwaC5vcmcvbWthbnRoeWRpYy9NYWtlZmlsZS5hbQkyMDA3LTA0LTE0IDE4OjAxOjEwLjAwMDAwMDAwMCArMDkwMAorKysrIGFudGh5LTkxMDBoL21rYW50aHlkaWMvTWFrZWZpbGUuYW0JMjAxNC0xMS0xMSAxNzoxMDozNC43OTI5OTk5OTEgKzA5MDAKK0BAIC0zLDEyICszLDEyIEBAIG5vaW5zdF9TQ1JJUFRTID0KKyBDTEVBTkZJTEVTID0gYW50aHkuZGljCisgSU5DTFVERVMgPSAtSSQodG9wX3NyY2RpcikvIC1EU1JDRElSPVwiJChzcmNkaXIpXCIKKyAKKy1ub2luc3RfUFJPR1JBTVMgPSBta2ZpbGVkaWMKKy1ta2ZpbGVkaWNfU09VUkNFUyA9IG1rZmlsZWRpYy5jCistbWtmaWxlZGljX0xEQUREID0gLi4vc3JjLWRpY2xpYi9saWJkaWNsaWIubGEKKysjbm9pbnN0X1BST0dSQU1TID0gbWtmaWxlZGljCisrI21rZmlsZWRpY19TT1VSQ0VTID0gbWtmaWxlZGljLmMKKysjbWtmaWxlZGljX0xEQUREID0gLi4vc3JjLWRpY2xpYi9saWJkaWNsaWIubGEKKyAKKy1hbnRoeS5kaWMgOiBta2ZpbGVkaWMgLi4vbWt3b3JkZGljL2FudGh5LndkaWMgLi4vZGVwZ3JhcGgvYW50aHkuZGVwIC4uL2NhbGN0cmFucy9hbnRoeS5jYW5kX2luZm8gLi4vY2FsY3RyYW5zL2FudGh5LnRyYW5zX2luZm8gLi4vY2FsY3RyYW5zL2FudGh5LmNvcnB1c19hcnJheSAuLi9jYWxjdHJhbnMvYW50aHkuY29ycHVzX2J1Y2tldAorLQkuL21rZmlsZWRpYworK2FudGh5LmRpYyA6IC4uL21rd29yZGRpYy9hbnRoeS53ZGljIC4uL2RlcGdyYXBoL2FudGh5LmRlcCAuLi9jYWxjdHJhbnMvYW50aHkuY2FuZF9pbmZvIC4uL2NhbGN0cmFucy9hbnRoeS50cmFuc19pbmZvIC4uL2NhbGN0cmFucy9hbnRoeS5jb3JwdXNfYXJyYXkgLi4vY2FsY3RyYW5zL2FudGh5LmNvcnB1c19idWNrZXQKKysJbWtmaWxlZGljCisgCisgCisgIyBUbyBpbnN0YWxsIAorZGlmZiAtTnVycCBhbnRoeS05MTAwaC5vcmcvbWt3b3JkZGljL01ha2VmaWxlLmFtIGFudGh5LTkxMDBoL21rd29yZGRpYy9NYWtlZmlsZS5hbQorLS0tIGFudGh5LTkxMDBoLm9yZy9ta3dvcmRkaWMvTWFrZWZpbGUuYW0JMjAwOS0wMS0yMyAxMjozMTozMS4wMDAwMDAwMDAgKzA5MDAKKysrKyBhbnRoeS05MTAwaC9ta3dvcmRkaWMvTWFrZWZpbGUuYW0JMjAxNC0xMS0xMSAxNzoxMzozMS45NDY5OTk5OTIgKzA5MDAKK0BAIC0yNiwxNCArMjYsMTQgQEAgRElDX0ZJTEVTID0gQHRvcF9zcmNkaXJAL2FsdC1jYW5uYWRpYy9nYworIAkgICAgQHRvcF9zcmNkaXJAL21rd29yZGRpYy91ZGljdAorIAorICMgR2VuZXJhdGUgdGhlIGRpY3Rpb25hcnkKKy1ub2luc3RfUFJPR1JBTVMgPSBta3dvcmRkaWMKKy1ta3dvcmRkaWNfU09VUkNFUyA9IG1rZGljLmMgd3JpdGV3b3Jkcy5jIG1rdWRpYy5jIGNhbGNmcmVxLmMgbWtkaWMuaAorLW1rd29yZGRpY19MREFERCA9IC4uL3NyYy13b3JkZGljL2xpYmFudGh5ZGljLmxhCisrI25vaW5zdF9QUk9HUkFNUyA9IG1rd29yZGRpYworKyNta3dvcmRkaWNfU09VUkNFUyA9IG1rZGljLmMgd3JpdGV3b3Jkcy5jIG1rdWRpYy5jIGNhbGNmcmVxLmMgbWtkaWMuaAorKyNta3dvcmRkaWNfTERBREQgPSAuLi9zcmMtd29yZGRpYy9saWJhbnRoeWRpYy5sYQorIAorIG5vaW5zdF9EQVRBID0gYW50aHkud2RpYworIAorLWFudGh5LndkaWMgOiBta3dvcmRkaWMgJChESUNfRklMRVMpCistCSAgIC4vbWt3b3JkZGljIC1mIC4vZGljdC5hcmdzCisrYW50aHkud2RpYyA6ICQoRElDX0ZJTEVTKQorKwkgICBta3dvcmRkaWMgLWYgLi9kaWN0LmFyZ3MKKyAKKyAKKyAjIFRvIGluc3RhbGwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYW50aHkvYW50aHlfOTEwMGguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FudGh5L2FudGh5XzkxMDBoLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUxMjFiNDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FudGh5L2FudGh5XzkxMDBoLmJiCkBAIC0wLDAgKzEsNDIgQEAKK0RFU0NSSVBUSU9OPSJBbnRoeSBpcyBhIHN5c3RlbSBmb3IgSmFwYW5lc2UgaW5wdXQgbWV0aG9kLiBJdCBjb252ZXJ0cyBIaXJhZ2FuYSB0ZXh0IHRvIEthbmEgS2FuamkgbWl4ZWQgdGV4dC4iCitBVVRIT1IgPSAiQW50aHkgRGV2ZWxvcGVycyA8YW50aHktZGV2QGxpc3RzLnNvdXJjZWZvcmdlLmpwPiIKK0hPTUVQQUdFID0gImh0dHA6Ly9hbnRoeS5zb3VyY2Vmb3JnZS5qcCIKKworTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTExZjM4NDA3NGQ4ZTkzZTI2M2I1NjY0ZWYwOGE0MTFhIgorCitTUkNfVVJJID0gImh0dHA6Ly9vc2RuLmRsLnNvdXJjZWZvcmdlLmpwL2FudGh5LzM3NTM2L2FudGh5LTkxMDBoLnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9ub3RfYnVpbGRfZWxjLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzJjaF90LnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICJmaWxlOi8vdGFyZ2V0LWhlbHBlcnMucGF0Y2giCitTUkNfVVJJX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiZmlsZTovL25hdGl2ZS1oZWxwZXJzLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMWY1NThmZjdlZDI5Njc4N2I1NWJiMWM2Y2YxMzExMDgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDI1NmYwNzVmMDE4YjRhM2NiMGQxNjVlZDYxNTFmZGE0YmE3ZGIxNjIxNzI3ZTBlYjU0NTY5YjZlMjI3NTU0NyIKKworREVQRU5EU19jbGFzcy10YXJnZXQgPSAiYW50aHktbmF0aXZlIgorUkRFUEVORFNfJHtQTn1fY2xhc3MtdGFyZ2V0ID0gImxpYmFudGh5MCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1BBQ0tBR0VTICs9ICIke1BOfS1lbCBsaWJhbnRoeTAgbGliYW50aHktZGV2IgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS8uZGVidWciCitGSUxFU19saWJhbnRoeTAgPSAiJHtsaWJkaXJ9L2xpYmFudGh5LnNvLiogIFwKKwkJICAgJHtsaWJkaXJ9L2xpYmFudGh5ZGljLnNvLiogICBcCisJCSAgICR7bGliZGlyfS9saWJhbnRoeWlucHV0LnNvLioiCisKK0ZJTEVTX2xpYmFudGh5LWRldiA9ICIke2xpYmRpcn0vbGliYW50aHkqLmxhIFwKKwkJICAgICAgJHtsaWJkaXJ9L2xpYmFudGh5Ki5hIFwKKwkJICAgICAgJHtsaWJkaXJ9L2xpYmFudGh5Ki5zbyBcCisJCSAgICAgICR7aW5jbHVkZWRpcn0vYW50aHkgICBcCisJCSAgICAgICR7bGliZGlyfS9wa2djb25maWcvYW50aHkucGMiCisKK0ZJTEVTXyR7UE59LWVsID0gIiR7ZGF0YWRpcn0vZW1hY3MvKiIKK0ZJTEVTXyR7UE59ID0gIiR7ZGF0YWRpcn0vKiBcCisJICAgICAgICR7YmluZGlyfS8qIFwKKwkgICAgICAgJHtzeXNjb25mZGlyfS9hbnRoeS1jb25mIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXBjdXBzZC9hcGN1cHNkXzMuMTQuMTAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FwY3Vwc2QvYXBjdXBzZF8zLjE0LjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1Yzg5MWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FwY3Vwc2QvYXBjdXBzZF8zLjE0LjEwLmJiCkBAIC0wLDAgKzEsNDIgQEAKK1NVTU1BUlkgPSAiQXBjdXBzZCBhIGRhZW1vbiBmb3IgY29udHJvbGxpbmcgQVBDIFVQU2VzIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YzEyODUzY2M3ZmRmMjBkMTdiNGZkZGVmZDI2Yjc4MDIiCisKK1NSQ19VUkkgPSAiaHR0cDovL2dhcnIuZGwuc291cmNlZm9yZ2UubmV0L3Byb2plY3QvYXBjdXBzZC9hcGN1cHNkJTIwLSUyMFN0YWJsZS8zLjE0LjEwL2FwY3Vwc2QtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjU5Mjg4MjJkODU1YzVjZjdhYzI5NjU1ZTNlMGI4YzIzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA3MDdiNWVjOTkxNmZiZGU5ZTQ0ZWI4ZDE4MDM3YzhkOGY3NWRmZDZhZWVmNTFhYmE1NDg3ZTE4OWVlZjIwMzIiCisKK1BOQkxBQ0tMSVNUW2FwY3Vwc2RdID89ICJCUk9LRU46IGRvZXNuJ3QgYnVpbGQgd2l0aCBCIT1TIgorCitpbmhlcml0IGF1dG90b29scworCitMRCA9ICIke0NYWH0iCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGhvdXQteCBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtdXNiIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtZGlzdG5hbWU9JHtESVNUUk99IgorCitkb19jb25maWd1cmUoKSB7CisgICAgZXhwb3J0IHRvcGRpcj0ke1N9CisgICAgY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgLXYgJHtTfS9hdXRvY29uZi9jb25maWd1cmUuaW4gJHtTfQorCisgICAgaWYgISBbIC1kICR7U30vcGxhdGZvcm1zLyR7RElTVFJPfSBdIDsgdGhlbgorICAgICAgICBjcCAtUiAtLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bW9kZSxsaW5rcyAtdiAke1N9L3BsYXRmb3Jtcy91bmtub3duICR7U30vcGxhdGZvcm1zLyR7RElTVFJPfSAKKyAgICBmaQorCisgICAgZ251LWNvbmZpZ2l6ZSAtLWZvcmNlCisgICAgIyBpbnN0YWxsIC0taGVscCBzYXlzICctYycgaXMgYW4gaWdub3JlZCBvcHRpb24sIGJ1dCBpdCB0dXJucyBvdXQgdGhhdCB0aGUgYXJndW1lbnQgdG8gLWMgaXNuJ3QgaWdub3JlZCwgc28gZHJvcCB0aGUgY29tcGxldGUgJy1jIHBhdGgvdG8vc3RyaXAnIGxpbmUKKyAgICBzZWQgLWkgLWUgJ3M6JChJTlNUQUxMX1BST0dSQU0pICQoU1RSSVApOiQoSU5TVEFMTF9QUk9HUkFNKTpnJyAke1N9L2F1dG9jb25mL3RhcmdldHMubWFrCisgICAgIyBTZWFyY2hpbmcgaW4gaG9zdCBkaXJzIHRyaWdnZXJzIHRoZSBRQSBjaGVja3MKKyAgICBzZWQgLWkgLWUgJ3M6LUkvdXNyL2xvY2FsL2luY2x1ZGU6OmcnIC1lICdzOi1ML3Vzci9sb2NhbC9saWI2NDo6ZycgLWUgJ3M6LUwvdXNyL2xvY2FsL2xpYjo6ZycgJHtTfS9jb25maWd1cmUKKworICAgICMgbTQgbWFjcm9zIGFyZSBtaXNzaW5nLCB1c2luZyBhdXRvdG9vbHNfZG9fY29uZmlndXJlIGxlYWRzIHRvIGxpbmtpbmcgZXJyb3JzIHdpdGggZ2V0aG9zdG5hbWVfcmUKKyAgICBvZV9ydW5jb25mCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIHJtICR7RH0ke2RhdGFkaXJ9L2hhbCAtcmYKK30KKworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FzaW8vYXNpby5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FzaW8vYXNpby5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWNlYTgyNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXNpby9hc2lvLmluYwpAQCAtMCwwICsxLDE1IEBACitERVNDUklQVElPTiA9ICJBc2lvIGlzIGEgY3Jvc3MtcGxhdGZvcm0gQysrIGxpYnJhcnkgZm9yIG5ldHdvcmsgYW5kIGxvdy1sZXZlbCBcCisgICAgICAgIEkvTyBwcm9ncmFtbWluZyB0aGF0IHByb3ZpZGVzIGRldmVsb3BlcnMgd2l0aCBhIGNvbnNpc3RlbnQgYXN5bmNocm9ub3VzIFwKKyAgICAgICAgbW9kZWwgdXNpbmcgYSBtb2Rlcm4gQysrIGFwcHJvYWNoLiIKK0FVVEhPUiA9ICJDaHJpc3RvcGhlciBNLiBLb2hsaG9mZiAoY2hyaXMgYXQga29obGhvZmYgZG90IGNvbSkiCitIT01FUEFHRSA9ICJodHRwOi8vdGhpbmstYXN5bmMuY29tL0FzaW8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkJTTC0xLjAiCisKK0RFUEVORFMgPSAiYm9vc3QiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2FzaW8vJHtCUH0udGFyLmJ6MiIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXNpby9hc2lvXzEuMTAuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXNpby9hc2lvXzEuMTAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZGZhYWY2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hc2lvL2FzaW9fMS4xMC4xLmJiCkBAIC0wLDAgKzEsNiBAQAorcmVxdWlyZSBhc2lvLmluYworCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xMTNmODAwYWE1MjJkOWUzOGMzMzA5Yzk4ZWM1M2FkZSIKKworU1JDX1VSSVttZDVzdW1dID0gIjRkNTA4Yzk5NDc0MDRmZWU0MDk0NTM3NWI4YTVmZDMyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjgyMGE1ZGFkM2M1NmE0ZjNlOTM3ZjJiOWFlMDU5YWIyNjk2YzYwNTgzNDVkNzFiN2E4YjA3MmEwZjJmY2JkOTkiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcC9maXgtcGVybWlzc2lvbnMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcC9maXgtcGVybWlzc2lvbnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWU3NDE5OQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL2ZpeC1wZXJtaXNzaW9ucy5wYXRjaApAQCAtMCwwICsxLDUyIEBACitVcGRhdGUgcGVybWlzc2lvbnMgb2YgZXhlY3V0YWJsZSBmaWxlcyB0aGF0IHJlbW92ZSBzZXR1aWQgYml0IGFuZCBtYWtlIGV2ZXJ5b25lCitjb3VsZCByZWFkLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IGE2NWI5YjYuLjIxZDk4MjggMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC02Niw3ICs2Niw3IEBAIHN5c3RlbWRpbnN0YWxsOglnZW5lcmljaW5zdGFsbAorIAkJY2htb2QgMDY0NCAgICAgICAgICAgICQoREVTVERJUikkKFNZU0RQQVRIKS9hdG9wYWNjdC5zZXJ2aWNlCisgCQljcCBhdG9wLmNyb25zeXN0ZW1kICAgJChERVNURElSKSQoQ1JOUEFUSCkvYXRvcAorIAkJY3AgYXRvcC1wbS5zaCAgICAgICAgICQoREVTVERJUikkKFBNUEFUSEQpCistCQljaG1vZCAwNzExICAgICAgICAgICAgJChERVNURElSKSQoUE1QQVRIRCkvYXRvcC1wbS5zaAorKwkJY2htb2QgMDc1NSAgICAgICAgICAgICQoREVTVERJUikkKFBNUEFUSEQpL2F0b3AtcG0uc2gKKyAJCSMKKyAJCSMgb25seSB3aGVuIG1ha2luZyBvbiB0YXJnZXQgc3lzdGVtOgorIAkJIworQEAgLTkxLDExICs5MSwxMSBAQCBzeXN2aW5zdGFsbDoJZ2VuZXJpY2luc3RhbGwKKyAJCSMKKyAJCWlmIFsgICAtZCAkKERFU1RESVIpJChQTVBBVEgxKSBdOyAJCQlcCisgCQl0aGVuCWNwIDQ1YXRvcHBtICQoREVTVERJUikkKFBNUEFUSDEpOyAJCVwKKy0JCQljaG1vZCAwNzExICAkKERFU1RESVIpJChQTVBBVEgxKS80NWF0b3BwbTsJXAorKwkJCWNobW9kIDA3NTUgICQoREVTVERJUikkKFBNUEFUSDEpLzQ1YXRvcHBtOwlcCisgCQlmaQorIAkJaWYgWyAtZCAkKERFU1RESVIpJChQTVBBVEgyKSBdOyAJCQlcCisgCQl0aGVuCWNwIDQ1YXRvcHBtICQoREVTVERJUikkKFBNUEFUSDIpOwkJXAorLQkJCWNobW9kIDA3MTEgICQoREVTVERJUikkKFBNUEFUSDIpLzQ1YXRvcHBtOwlcCisrCQkJY2htb2QgMDc1NSAgJChERVNURElSKSQoUE1QQVRIMikvNDVhdG9wcG07CVwKKyAJCWZpCisgCQkjCisgCQkjCitAQCAtMTM5LDcgKzEzOSw3IEBAIGdlbmVyaWNpbnN0YWxsOglhdG9wIGF0b3BhY2N0ZAorIAkJIworIAkJY3AgYXRvcCAgIAkJJChERVNURElSKSQoQklOUEFUSCkvYXRvcAorIAkJY2hvd24gcm9vdAkJJChERVNURElSKSQoQklOUEFUSCkvYXRvcAorLQkJY2htb2QgMDQ3MTEgCQkkKERFU1RESVIpJChCSU5QQVRIKS9hdG9wCisrCQljaG1vZCAwNzU1IAkJJChERVNURElSKSQoQklOUEFUSCkvYXRvcAorIAkJbG4gLXNmIGF0b3AgICAgICAgICAgICAgJChERVNURElSKSQoQklOUEFUSCkvYXRvcHNhcgorIAkJY3AgYXRvcGFjY3RkICAJCSQoREVTVERJUikkKFNCSU5QQVRIKS9hdG9wYWNjdGQKKyAJCWNob3duIHJvb3QJCSQoREVTVERJUikkKFNCSU5QQVRIKS9hdG9wYWNjdGQKK0BAIC0xNDcsNyArMTQ3LDcgQEAgZ2VuZXJpY2luc3RhbGw6CWF0b3AgYXRvcGFjY3RkCisgCQljcCBhdG9wICAgCQkkKERFU1RESVIpJChCSU5QQVRIKS9hdG9wLSQoVkVSUykKKyAJCWxuIC1zZiBhdG9wLSQoVkVSUykgICAgICQoREVTVERJUikkKEJJTlBBVEgpL2F0b3BzYXItJChWRVJTKQorIAkJY3AgYXRvcC5kYWlseSAgICAJJChERVNURElSKSQoU0NSUEFUSCkKKy0JCWNobW9kIDA3MTEgCSAJJChERVNURElSKSQoU0NSUEFUSCkvYXRvcC5kYWlseQorKwkJY2htb2QgMDc1NSAJIAkkKERFU1RESVIpJChTQ1JQQVRIKS9hdG9wLmRhaWx5CisgCQljcCBtYW4vYXRvcC4xICAgIAkkKERFU1RESVIpJChNQU4xUEFUSCkKKyAJCWNwIG1hbi9hdG9wc2FyLjEgCSQoREVTVERJUikkKE1BTjFQQVRIKQorIAkJY3AgbWFuL2F0b3ByYy41ICAJJChERVNURElSKSQoTUFONVBBVEgpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcC9yZW1vdmUtYmFzaGlzbXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcC9yZW1vdmUtYmFzaGlzbXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjFmY2JmZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL3JlbW92ZS1iYXNoaXNtcy5wYXRjaApAQCAtMCwwICsxLDMzIEBACitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorZGlmZiAtLWdpdCBhL2F0b3AtcG0uc2ggYi9hdG9wLXBtLnNoCitpbmRleCA3ZjQxYTg2Li4zZmY0YWI1IDEwMDc1NQorLS0tIGEvYXRvcC1wbS5zaAorKysrIGIvYXRvcC1wbS5zaAorQEAgLTEsNCArMSw0IEBACistIyEvYmluL2Jhc2gKKysjIS9iaW4vc2gKKyAKKyBjYXNlICIkMSIgaW4KKyAJcHJlKQkvdXNyL2Jpbi9zeXN0ZW1jdGwgc3RvcCBhdG9wCitkaWZmIC0tZ2l0IGEvYXRvcC5kYWlseSBiL2F0b3AuZGFpbHkKK2luZGV4IDI0ZDMzYmQuLmYyOWJkOTQgMTAwNzU1CistLS0gYS9hdG9wLmRhaWx5CisrKysgYi9hdG9wLmRhaWx5CitAQCAtMSw0ICsxLDQgQEAKKy0jIS9iaW4vYmFzaAorKyMhL2Jpbi9zaAorIAorIENVUkRBWT1gZGF0ZSArJVklbSVkYAorIExPR1BBVEg9L3Zhci9sb2cvYXRvcAorQEAgLTE2LDcgKzE2LDcgQEAgdGhlbgorIAorIAl3aGlsZSBwcyAtcCBgY2F0ICRQSURGSUxFYCA+IC9kZXYvbnVsbAorIAlkbworLQkJbGV0IENOVCs9MQorKwkJQ05UPSQoKENOVCsxKSkKKyAKKyAJCWlmIFsgJENOVCAtZ3QgNSBdCisgCQl0aGVuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcC9zeXN2aW5pdC1pbXBsZW1lbnQtc3RhdHVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3Avc3lzdmluaXQtaW1wbGVtZW50LXN0YXR1cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OTk0ZDNlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3Avc3lzdmluaXQtaW1wbGVtZW50LXN0YXR1cy5wYXRjaApAQCAtMCwwICsxLDI3IEBACitJbXBsZW1lbnQgdGhlIHN1Yi1jb21tYW5kIHN0YXR1cy4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorLS0tCitkaWZmIC0tZ2l0IGEvYXRvcC5pbml0IGIvYXRvcC5pbml0CitpbmRleCAxMDhiZGM1Li45Zjg5ZmFkIDEwMDc1NQorLS0tIGEvYXRvcC5pbml0CisrKysgYi9hdG9wLmluaXQKK0BAIC0xOCw2ICsxOCw4IEBACisgIyBDaGVjayBleGlzdGFuY2Ugb2YgYmluYXJpZXMgCisgWyAtZiAvdXNyL2Jpbi9hdG9wIF0gfHwgZXhpdCAwCisgCisrWyAtZiAvZXRjL2luaXQuZC9mdW5jdGlvbnMgXSAmJiAuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworKworIFBJREZJTEU9L3Zhci9ydW4vYXRvcC5waWQKKyBSRVRWQUw9MAorIAorQEAgLTYzLDYgKzY1LDcgQEAgY2FzZSAiJDEiIGluCisgCTs7CisgCisgICBzdGF0dXMpCisrCXN0YXR1cyBhdG9wCisgCTs7CisgCisgICByZWxvYWQpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcC92b2xhdGlsZXMuOTlfYXRvcCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL3ZvbGF0aWxlcy45OV9hdG9wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0ZWEzZjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcC92b2xhdGlsZXMuOTlfYXRvcApAQCAtMCwwICsxIEBACitkIHJvb3Qgcm9vdCAwNzU1IC92YXIvdm9sYXRpbGUvbG9nL2F0b3Agbm9uZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3Avdm9sYXRpbGVzLmF0b3AuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL3ZvbGF0aWxlcy5hdG9wLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmYyMzAwMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL3ZvbGF0aWxlcy5hdG9wLmNvbmYKQEAgLTAsMCArMSBAQAorZCAgICAgICAgICAgICAgIC92YXIvdm9sYXRpbGUvbG9nL2F0b3AgICAgICAgICAgICAgICAtICAgICAgIC0gICAgICAgLSAgICAgICAtCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcF8yLjIuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wXzIuMi4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxMzExZTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcF8yLjIuMy5iYgpAQCAtMCwwICsxLDYyIEBACitTVU1NQVJZID0gIk1vbml0b3IgZm9yIHN5c3RlbSByZXNvdXJjZXMgYW5kIHByb2Nlc3MgYWN0aXZpdHkiCitERVNDUklQVElPTiA9ICJBdG9wIGlzIGFuIEFTQ0lJIGZ1bGwtc2NyZWVuIHBlcmZvcm1hbmNlIG1vbml0b3IgZm9yIExpbnV4IHRoYXQgXAoraXMgY2FwYWJsZSBvZiByZXBvcnRpbmcgdGhlIGFjdGl2aXR5IG9mIGFsbCBwcm9jZXNzZXMgKGV2ZW4gaWYgcHJvY2Vzc2VzIGhhdmUgXAorZmluaXNoZWQgZHVyaW5nIHRoZSBpbnRlcnZhbCksIGRhaWx5IGxvZ2dpbmcgb2Ygc3lzdGVtIGFuZCBwcm9jZXNzIGFjdGl2aXR5IGZvciBcCitsb25nLXRlcm0gYW5hbHlzaXMsIGhpZ2hsaWdodGluZyBvdmVybG9hZGVkIHN5c3RlbSByZXNvdXJjZXMgYnkgdXNpbmcgY29sb3JzLCBcCitldGMuIEF0IHJlZ3VsYXIgaW50ZXJ2YWxzLCBpdCBzaG93cyBzeXN0ZW0tbGV2ZWwgYWN0aXZpdHkgcmVsYXRlZCB0byB0aGUgQ1BVLCBcCittZW1vcnksIHN3YXAsIGRpc2tzIChpbmNsdWRpbmcgTFZNKSBhbmQgbmV0d29yayBsYXllcnMsIGFuZCBmb3IgZXZlcnkgcHJvY2VzcyBcCisoYW5kIHRocmVhZCkgaXQgc2hvd3MgZS5nLiB0aGUgQ1BVIHV0aWxpemF0aW9uLCBtZW1vcnkgZ3Jvd3RoLCBkaXNrIFwKK3V0aWxpemF0aW9uLCBwcmlvcml0eSwgdXNlcm5hbWUsIHN0YXRlLCBhbmQgZXhpdCBjb2RlLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuYXRvcHRvb2wubmwiCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zOTNhNWNhNDQ1ZjY5NjU4NzNlY2EwMjU5YTE3ZjgzMyIKKworREVQRU5EUyA9ICJuY3Vyc2VzIHpsaWIiCisKK0FUT1BfVkVSID0gIiR7QCctJy5qb2luKGQuZ2V0VmFyKCdQVicsIFRydWUpLnJzcGxpdCgnLicsIDEpKX0iCisKK1NSQ19VUkkgPSAiIFwKKyAgICBodHRwOi8vd3d3LmF0b3B0b29sLm5sL2Rvd25sb2FkLyR7QlBOfS0ke0FUT1BfVkVSfS50YXIuZ3ogXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICdmaWxlOi8vdm9sYXRpbGVzLmF0b3AuY29uZicsICdmaWxlOi8vdm9sYXRpbGVzLjk5X2F0b3AnLCBkKX0gXAorICAgIGZpbGU6Ly9yZW1vdmUtYmFzaGlzbXMucGF0Y2ggXAorICAgIGZpbGU6Ly9maXgtcGVybWlzc2lvbnMucGF0Y2ggXAorICAgIGZpbGU6Ly9zeXN2aW5pdC1pbXBsZW1lbnQtc3RhdHVzLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjAzNGRjMTU0NGYyZWM0ZTRkMmM3MzlkMzIwZGMzMjZkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM3ODViOGEyMzU1YmUyOGIzZGU2YjU4YThlYTRjNGZjYWI4ZmFkZWFhNTdhOTlhZmViMDNjNjZmYWM4ZTA1NWQiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0tJHtBVE9QX1ZFUn0iCisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSBhbGwKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICBtYWtlIERFU1RESVI9JHtEfSBWRVJTPSR7QVRPUF9WRVJ9IFNZU0RQQVRIPSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0gXAorICAgICAgICAgICAgUE1QQVRIRD0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLXNsZWVwIHN5c3RlbWRpbnN0YWxsCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZAorICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L3ZvbGF0aWxlcy5hdG9wLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC9hdG9wLmNvbmYKKyAgICAgICAgcm0gLWYgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vYXRvcGFjY3Quc2VydmljZQorICAgIGVsc2UKKyAgICAgICAgbWFrZSBERVNURElSPSR7RH0gVkVSUz0ke0FUT1BfVkVSfSBzeXN2aW5zdGFsbAorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzCisgICAgICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vdm9sYXRpbGVzLjk5X2F0b3AgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvOTlfYXRvcAorICAgICAgICBybSAtZiAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvYXRvcGFjY3QKKyAgICBmaQorCisgICAgIyByZW1vdmUgYXRvcGFjY3QgcmVsYXRlZCBmaWxlcworICAgIHJtIC1yZiAke0R9JHtzYmluZGlyfSAke0R9JHttYW5kaXJ9L21hbjgKK30KKworaW5oZXJpdCBzeXN0ZW1kCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJhdG9wLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCisKK0ZJTEVTXyR7UE59ICs9ICIke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLXNsZWVwIgorCitSREVQRU5EU18ke1BOfSA9ICJwcm9jcHMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Nhbm9uaWNhbC1tdWx0aXRvdWNoL2ZyYW1lXzIuNS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jYW5vbmljYWwtbXVsdGl0b3VjaC9mcmFtZV8yLjUuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lY2M5NTI0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jYW5vbmljYWwtbXVsdGl0b3VjaC9mcmFtZV8yLjUuMC5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIkZyYW1lIGhhbmRsZXMgc2ltdWx0YW5lb3VzIHRvdWNoZXMiCisKK0hPTUVQQUdFID0gImh0dHBzOi8vbGF1bmNocGFkLm5ldC9mcmFtZSIKKworTElDRU5TRSA9ICJHUEx2MyAmIExHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiIFwKKyAgICBmaWxlOi8vQ09QWUlORzttZDU9ZTZhNjAwZmQ1ZTFkOWNiZGUyZDk4MzY4MDIzM2FkMDIgXAorICAgIGZpbGU6Ly9DT1BZSU5HLkdQTDM7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IFwKKyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9sYXVuY2hwYWQubmV0LyR7QlBOfS90cnVuay92JHtQVn0vK2Rvd25sb2FkLyR7QlBOfS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiMDJiYWE5NDEwOTFjNWQxOThjZDE2MjNiM2FkMzZlNjgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiY2ZiOWFiNTJjZGNjZDkyNmYxODIyYTQ1NzI2NGQwMDE0YzdlYjlmNDYwMGE3MjYyNjA2M2RkMDczYjI2MjU2ZiIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3gxMScsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiLS1lbmFibGUteDExLCAtLWRpc2FibGUteDExLCBsaWJ4aSB4ZXh0IHZpcnR1YWwveHNlcnZlciIKKworUEFDS0FHRV9CRUZPUkVfUE4gKz0gIiR7UE59LXRlc3QiCitGSUxFU18ke1BOfS10ZXN0ID0gIiR7YmluZGlyfS9mcmFtZS10ZXN0KiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY2Fub25pY2FsLW11bHRpdG91Y2gvZ2Vpc18yLjIuMTcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Nhbm9uaWNhbC1tdWx0aXRvdWNoL2dlaXNfMi4yLjE3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjODgxNDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Nhbm9uaWNhbC1tdWx0aXRvdWNoL2dlaXNfMi4yLjE3LmJiCkBAIC0wLDAgKzEsNTQgQEAKK1NVTU1BUlkgPSAiQW4gaW1wbGVtZW50YXRpb24gb2YgdGhlIEdFSVMgaW50ZXJmYWNlIgorREVTQ1JJUFRJT04gPSAiQW4gaW1wbGVtZW50YXRpb24gb2YgdGhlIEdFSVMgKEdlc3R1cmUgRW5naW5lIEludGVyZmFjZSBhbmQgU3VwcG9ydCkgXAoraW50ZXJmYWNlXAorR0VJUyBpcyBhIGxpYnJhcnkgZm9yIGFwcGxpY2F0aW9ucyBhbmQgdG9vbGtpdCBwcm9ncmFtbWVycyB3aGljaCBcCitwcm92aWRlcyBhIGNvbnNpc3RlbnQgcGxhdGZvcm0gaW5kZXBlbmRlbnQgaW50ZXJmYWNlIGZvciBhbnkgXAorc3lzdGVtLXdpZGUgaW5wdXQgZ2VzdHVyZSByZWNvZ25pdGlvbiBtZWNoYW5pc20uIgorCitIT01FUEFHRSA9ICJodHRwczovL2xhdW5jaHBhZC5uZXQvZ2VpcyIKKworTElDRU5TRSA9ICJHUEx2MyAmIExHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiIFwKKyAgICBmaWxlOi8vQ09QWUlORzttZDU9NmE2YThlMDIwODM4YjIzNDA2YzgxYjE5YzFkNDZkZjYgXAorICAgIGZpbGU6Ly9DT1BZSU5HLkdQTDttZDU9ZjI3ZGVmZTFlOTZjMmUxZWNkNGUwYzliZTg5Njc5NDkgXAorIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgcHl0aG9uM25hdGl2ZSBsaWJfcGFja2FnZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworREVQRU5EUyArPSAiZ3JhaWwgZGJ1cy1nbGliIHB5dGhvbjMgdmlydHVhbC9saWJ4MTEgbGlieGV4dCBsaWJ4aSBsaWJ4Y2IgZGJ1cyBmcmFtZSIKKworU1JDX1VSSSA9ICJodHRwczovL2xhdW5jaHBhZC5uZXQvJHtCUE59L3RydW5rLyR7UFZ9Lytkb3dubG9hZC8ke0JQTn0tJHtQVn0udGFyLnh6IgorU1JDX1VSSVttZDVzdW1dID0gIjJmZjlkNzZhM2VhNTc5NDUxNmJiMDJjOWQxOTI0ZmFmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhhNjBmNTY4Mzg1MjA5NDAzODkwNGU2OTBkMjNjYzVhOTBhOTgwZmM1MmRhNjdmMGYyODg5MGJhYTI1YzcwZWIiCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtaW50ZWdyYXRpb24tdGVzdHMiCisKK0ZJTEVTXyR7UE59LWJpbiA9ICIke2JpbmRpcn0iCitSREVQRU5EU18ke1BOfS1iaW4gPSAiIFwKKyAgICBweXRob24zLWNvbXByZXNzaW9uIFwKKyAgICBweXRob24zLWNvcmUgXAorICAgIHB5dGhvbjMtY3J5cHQgXAorICAgIHB5dGhvbjMtY3R5cGVzIFwKKyAgICBweXRob24zLWZjbnRsIFwKKyAgICBweXRob24zLW1pc2MgXAorICAgIHB5dGhvbjMtcGlja2xlIFwKKyAgICBweXRob24zLXNoZWxsIFwKKyAgICBweXRob24zLXN0cmluZ29sZCBcCisgICAgcHl0aG9uMy1zdWJwcm9jZXNzIFwKKyAgICBweXRob24zLXRleHR1dGlscyBcCisgICAgcHl0aG9uMy10aHJlYWRpbmcgXAorIgorCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAke2RhdGFkaXJ9L2dlaXN2aWV3IFwKKyAgICAke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL2dlaXMqIFwKKyAgICAke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL18qLnNvIFwKKyIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzLy5kZWJ1ZyIKKworRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL18qLmxhIgorCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvXyouYSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY2Fub25pY2FsLW11bHRpdG91Y2gvZ3JhaWxfMy4xLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Nhbm9uaWNhbC1tdWx0aXRvdWNoL2dyYWlsXzMuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlYTEwZDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Nhbm9uaWNhbC1tdWx0aXRvdWNoL2dyYWlsXzMuMS4wLmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiR2VzdHVyZSBSZWNvZ25pdGlvbiBBbmQgSW5zdGFudGlhdGlvbiBMaWJyYXJ5IgorCitIT01FUEFHRSA9ICJodHRwczovL2xhdW5jaHBhZC5uZXQvZ3JhaWwiCisKK0xJQ0VOU0UgPSAiR1BMdjMgJiBMR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gIiBcCisgICAgZmlsZTovL0NPUFlJTkc7bWQ1PWU2YTYwMGZkNWUxZDljYmRlMmQ5ODM2ODAyMzNhZDAyIFwKKyAgICBmaWxlOi8vQ09QWUlORy5HUEwzO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCBcCisiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitERVBFTkRTID0gImZyYW1lIgorCitTUkNfVVJJID0gImh0dHBzOi8vbGF1bmNocGFkLm5ldC8ke0JQTn0vdHJ1bmsvJHtQVn0vK2Rvd25sb2FkLyR7QlBOfS0ke1BWfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gIjJhYzU2YWY1ZjZmNDY2YjQzM2M5OWNhMTJmMzRjMzRmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImMyNmRjZWQxYjNmNDMxN2VjZjZhZjM2ZGIwZTkwMjk0ZDg3ZTQzOTY2ZDU2YWVjYzRlOTdiNjUzNjhhYjc4YjkiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICd4MTEnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0td2l0aC14MTEsIC0td2l0aG91dC14MTEsIGxpYnhpIgorCitQQUNLQUdFX0JFRk9SRV9QTiArPSAiJHtQTn0tdGVzdCIKK0ZJTEVTXyR7UE59LXRlc3QgPSAiJHtiaW5kaXJ9L2dyYWlsLXRlc3QqIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jY2lkL2NjaWQvbm8tZGVwLW9uLWxpYmZsLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jY2lkL2NjaWQvbm8tZGVwLW9uLWxpYmZsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3N2NjMzEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NjaWQvY2NpZC9uby1kZXAtb24tbGliZmwucGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorTm8gbmVlZCB0byBsaW5rIHdpdGggbGliZmwuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogSmFjb2IgS3Jvb24gPGphY29iLmtyb29uQG1pa3JvZGlkYWt0LnNlPgorCitJbmRleDogY2NpZC0xLjQuOC9zcmMvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjY2lkLTEuNC44Lm9yaWcvc3JjL01ha2VmaWxlLmFtCisrKysgY2NpZC0xLjQuOC9zcmMvTWFrZWZpbGUuYW0KK0BAIC01Myw3ICs1Myw3IEBAIFBST1ZJREVEX0JZX1BDU0MgPSBkZWJ1Zy5jCisgZW5kaWYKKyAKKyBsaWJjY2lkX2xhX1NPVVJDRVMgPSAkKENPTU1PTikgJChVU0IpICQoVE9LRU5fUEFSU0VSKSAkKFBST1ZJREVEX0JZX1BDU0MpICQoVDEpCistbGliY2NpZF9sYV9MSUJBREQgPSAkKExFWExJQikgJChMSUJVU0JfTElCUykgJChQVEhSRUFEX0xJQlMpCisrbGliY2NpZF9sYV9MSUJBREQgPSAkKExJQlVTQl9MSUJTKSAkKFBUSFJFQURfTElCUykKKyBsaWJjY2lkX2xhX0NGTEFHUyA9ICQoUENTQ19DRkxBR1MpICQoTElCVVNCX0NGTEFHUykgJChQVEhSRUFEX0NGTEFHUykgXAorIAkkKFNZTUJPTF9WSVNJQklMSVRZKSAtRCQoQ0NJRF9WRVJTSU9OKSAtRFNJTUNMSVNUX05PX0RVTVBSRVNUT1JFCisgbGliY2NpZF9sYV9MREZMQUdTID0gLWF2b2lkLXZlcnNpb24KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY2NpZC9jY2lkXzEuNC4xOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY2NpZC9jY2lkXzEuNC4xOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNzdlMDY5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jY2lkL2NjaWRfMS40LjE5LmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiR2VuZXJpYyBVU0IgQ0NJRCBzbWFydCBjYXJkIHJlYWRlciBkcml2ZXIiCitIT01FUEFHRSA9ICJodHRwOi8vcGNzY2xpdGUuYWxpb3RoLmRlYmlhbi5vcmcvY2NpZC5odG1sIgorTElDRU5TRSA9ICJMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yZDUwMjVkNGFhMzQ5NWJlZmVmOGYxNzIwNmE1YjBhMSIKKworREVQRU5EUyA9ICJ2aXJ0dWFsL2xpYnVzYjAgcGNzYy1saXRlIgorUkRFUEVORFNfJHtQTn0gPSAicGNzYy1saXRlIgorCitTUkNfVVJJID0gImh0dHBzOi8vYWxpb3RoLmRlYmlhbi5vcmcvZnJzL2Rvd25sb2FkLnBocC9maWxlLzQxMzIvY2NpZC0ke1BWfS50YXIuYnoyIFwKKwkgICBmaWxlOi8vbm8tZGVwLW9uLWxpYmZsLnBhdGNoICIKKworU1JDX1VSSVttZDVzdW1dID0gImQxZWVkOTk1YmE5YTJlYjM5NWE2NWE4YTc4MDkwZjUyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImNjY2IyYzJiYjRlNTY2ODllZmUzNDU1OWY3MTMxMDJkOTJmOTQ3MzU1NDJlNThkM2U0MzM0ZTE0NTllOTM0ZTEiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3Bjc2MvIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vcGNzYy9kcml2ZXJzLyovKi8qLy5kZWJ1ZyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY2tlcm1pdC9ja2VybWl0XzMwMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY2tlcm1pdC9ja2VybWl0XzMwMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODdhNTdlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ja2VybWl0L2NrZXJtaXRfMzAyLmJiCkBAIC0wLDAgKzEsNjAgQEAKK0RFU0NSSVBUSU9OID0gIkMtS2VybWl0IGlzIGEgY29tYmluZWQgc2VyaWFsIGFuZCBuZXR3b3JrIGNvbW11bmljYXRpb24gXAorc29mdHdhcmUgcGFja2FnZSBvZmZlcmluZyBhIGNvbnNpc3RlbnQsIG1lZGl1bS1pbmRlcGVuZGVudCwgXAorY3Jvc3MtcGxhdGZvcm0gYXBwcm9hY2ggdG8gY29ubmVjdGlvbiBlc3RhYmxpc2htZW50LCB0ZXJtaW5hbCBcCitzZXNzaW9ucywgZmlsZSB0cmFuc2ZlciwgY2hhcmFjdGVyLXNldCB0cmFuc2xhdGlvbiwgYW5kIGF1dG9tYXRpb24gXAorb2YgY29tbXVuaWNhdGlvbiB0YXNrcy4iCitIT01FUEFHRSA9ICJ3d3cua2VybWl0cHJvamVjdC5vcmcvY2s5MC5odG1sIgorU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuVFhUO21kNT05MzJjYTU0MmQ2YzZjYjhhNTlhMGJjZDc2YWI2N2NjMyIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lmtlcm1pdHByb2plY3Qub3JnL2Z0cC9rZXJtaXQvYXJjaGl2ZXMvY2t1JHtQVn0udGFyLmd6O3N1YmRpcj0ke0JQTn0tJHtQVn0iCitTUkNfVVJJW21kNXN1bV0gPSAiZWFjNGRiZjE4YjQ1Nzc1ZTRjZGVlNWE3Yzc0NzYyYjAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGQ1ZjJjZDEyYmRhYjk0MDFiNGM4MzY4NTRlYmJmMjQxNjc1MDUxODc1NTU3NzgzYzMzMmE2YTQwZGFjMDcxMSIKKworCitleHBvcnQgQ0MyID0gIiR7Q0N9IgorZXhwb3J0IEJJTkRJUiA9ICIke2JpbmRpcn0iCitleHBvcnQgTUFORElSID0gIiR7bWFuZGlyfS9tYW4xIgorZXhwb3J0IElORk9ESVIgPSAiJHtpbmZvZGlyfSIKKworRVhUUkFfT0VNQUtFID0gIi1lIE1BS0VGTEFHUz0iCisKKyMgQWRkaXRpb25hbCBmbGFncy4gRm9yIHVjbGliYyB3ZSBhZGQgLUROT0FSUk9XS0VZUyB3aGljaCBzdG9wcyBja2VybWl0CisjIHRyeWluZyB0byBsb29rIGluc2lkZSB0aGUgc3RkaW8gaGVhZGVycy4KK0NLRVJNSVRfQURESVRJT05BTCA9ICIiCitDS0VSTUlUX0FERElUSU9OQUxfbGliYy11Y2xpYmMgPSAiLUROT0FSUk9XS0VZUyIKKworVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCisKK2RvX2NvbXBpbGUgKCkgeworICAgICMgVGhlIG9yaWdpbmFsIG1ha2VmaWxlIGRvZXNuJ3QgZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIENDIGFuZCBDQ19GT1JfQlVJTEQsCisgICAgIyBzbyB3ZSBidWlsZCB3YXJ0IG1hbnVhbGx5LiBOb3RlIHRoYXQgeW91IG5lZWQgYSBja3dhcnQubyB3aXRoIHRoZSBwcm9wZXIKKyAgICAjIHRpbWVzdGFtcCB0byBtYWtlIHRoaXMgaGFjayB3b3JrOgorICAgICR7QlVJTERfQ0N9IC1jIGNrd2FydC5jCisgICAgJHtCVUlMRF9DQ30gLW8gd2FydCBja3dhcnQubworICAgIC4vd2FydCBja2Nwcm8udyBja2Nwcm8uYworCisgICAgIyByZWFkICR7U30vY2tjY2ZnLnR4dCB0byB1bmRlcnN0YW5kIHRoaXMgOi0pCisgICAgb2VfcnVubWFrZSB3ZXJtaXQgQ0ZMQUdTPSIke0NGTEFHU30gLURMSU5VWCAtRENLX1BPU0lYX1NJRyBcCisgICAgICAgIC1ETk9UQ1BPUFRTIC1ETElOVVhGU1NUTkQgLUROT0NPVEZNQyAtRFBPU0lYIC1EVVNFX1NUUkVSUk9SIFwKKyAgICAgICAgLUROT1NZU0xPRyAtREhBVkVfUFRNWCAtRE5PX0ROU19TUlYgLUROT0dGVElNRVIgXAorICAgICAgICAtRE5PQl81MCAtRE5PQl83NSAtRE5PQl8xMzQgLUROT0JfMTUwIC1ETk9CXzIwMCBcCisgICAgICAgIC1ETk9CXzE4MDAgLUROT0JfMzYwMCAtRE5PQl83MjAwIC1ETk9CXzc2SyAtRE5PQl8yMzBLIFwKKyAgICAgICAgLUROT0JfNDYwSyAtRE5PQl85MjFLIFwKKyAgICAgICAgLUROT0NTRVRTIC1ETk9ORVQgLUROT1VOSUNPREUgLUROT0hFTFAgLUROT0RFQlVHIFwKKyAgICAgICAgLUROT0ZSSUxMUyAtRE5PRlRQIC1ETk9ESUFMIC1ETk9QVVNIIC1ETk9JS1NEIC1ETk9IVFRQIC1ETk9GTE9BVCBcCisgICAgICAgIC1ETk9TRVJWRVIgLUROT1NFWFAgLUROT1JMT0dJTiAtRE5PT0xETU9ERU1TIC1ETk9TU0ggLUROT0xJU1RFTiBcCisgICAgICAgIC1ETk9SRVNFTkQgLUROT0FVVE9ETCAtRE5PU1RSRUFNSU5HIC1ETk9ISU5UUyAtRE5PQ0tYWVogLUROT0xFQVJOIFwKKyAgICAgICAgLUROT01LRElSIC1ETk9QRVJNUyAtRE5PQ0tUSU1FUlMgLUROT0NLUkVHRVggLUROT1JFQUxQQVRIIFwKKyAgICAgICAgLURDS19TTUFMTCAtRE5PTE9HRElBTCAtRE5PUkVOQU1FIC1ETk9XSEFUQU1JIFwKKyAgICAgICAgJHtDS0VSTUlUX0FERElUSU9OQUx9IgorfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke0JJTkRJUn0gJHtEfSR7TUFORElSfSAke0R9JHtJTkZPRElSfQorICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAorICAgICMgRml4IHVwIGRhbmdsaW5nIHN5bWxpbmsKKyAgICBybSAke0R9JHtCSU5ESVJ9L2tlcm1pdC1zc2hzdWIKKyAgICAoY2QgJHtEfSR7QklORElSfSAmJiBsbiAtcyAke0JJTkRJUn0va2VybWl0IGtlcm1pdC1zc2h1c2IpCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwdWZyZXF1dGlscy9jcHVmcmVxdXRpbHMvMDAwMS1kb250LXVuc2V0LWNmbGFncy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3B1ZnJlcXV0aWxzL2NwdWZyZXF1dGlscy8wMDAxLWRvbnQtdW5zZXQtY2ZsYWdzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiMmYwN2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwdWZyZXF1dGlscy9jcHVmcmVxdXRpbHMvMDAwMS1kb250LXVuc2V0LWNmbGFncy5wYXRjaApAQCAtMCwwICsxLDMwIEBACistLS0gZ2l0Lm9sZC9NYWtlZmlsZQkyMDEyLTA0LTE3IDEzOjI5OjQ2LjI4MDQzNTM0MCArMDIwMAorKysrIGdpdC9NYWtlZmlsZQkyMDEyLTA0LTE3IDEzOjMxOjEzLjY2NDQzMzQ3MCArMDIwMAorQEAgLTc3LDE3ICs3Nyw3IEBAIElOU1RBTExfUFJPR1JBTSA9ICR7SU5TVEFMTH0KKyBJTlNUQUxMX0RBVEEgID0gJHtJTlNUQUxMfSAtbSA2NDQKKyBJTlNUQUxMX1NDUklQVCA9ICR7SU5TVEFMTF9QUk9HUkFNfQorIAorLSMgSWYgeW91IGFyZSBydW5uaW5nIGEgY3Jvc3MgY29tcGlsZXIsIHlvdSBtYXkgd2FudCB0byBzZXQgdGhpcworLSMgdG8gc29tZXRoaW5nIG1vcmUgaW50ZXJlc3RpbmcsIGxpa2UgImFybS1saW51eC0iLiAgSWYgeW91IHdhbnQKKy0jIHRvIGNvbXBpbGUgdnMgdUNsaWJjLCB0aGF0IGNhbiBiZSBkb25lIGhlcmUgYXMgd2VsbC4KKy1DUk9TUyA9ICMvdXNyL2kzODYtbGludXgtdWNsaWJjL3Vzci9iaW4vaTM4Ni11Y2xpYmMtCistQ0MgPSAkKENST1NTKWdjYworLUxEID0gJChDUk9TUylnY2MKKy1BUiA9ICQoQ1JPU1MpYXIKKy1TVFJJUCA9ICQoQ1JPU1Mpc3RyaXAKKy1SQU5MSUIgPSAkKENST1NTKXJhbmxpYgorLUhPU1RDQyA9IGdjYworLQorK0hPU1RDQyA9ICQoQlVJTERfQ0MpCisgCisgIyBOb3cgd2Ugc2V0IHVwIHRoZSBidWlsZCBzeXN0ZW0KKyAjCitAQCAtOTUsNyArODUsNyBAQCBIT1NUQ0MgPSBnY2MKKyAjIHNldCB1cCBQV0Qgc28gdGhhdCBvbGRlciB2ZXJzaW9ucyBvZiBtYWtlIHdpbGwgd29yayB3aXRoIG91ciBidWlsZC4KKyBQV0QgPSAkKHNoZWxsIHB3ZCkKKyAKKy1leHBvcnQgQ1JPU1MgQ0MgQVIgU1RSSVAgUkFOTElCIENGTEFHUyBMREZMQUdTIExJQl9PQkpTCisrZXhwb3J0IENGTEFHUyBMREZMQUdTIExJQl9PQkpTCisgCisgIyBjaGVjayBpZiBjb21waWxlciBvcHRpb24gaXMgc3VwcG9ydGVkCisgY2Mtc3VwcG9ydHMgPSAke3NoZWxsIGlmICQoQ0MpICR7MX0gLVMgLW8gL2Rldi9udWxsIC14YyAvZGV2L251bGwgPiAvZGV2L251bGwgMj4mMTsgdGhlbiBlY2hvICIkKDEpIjsgZmk7fQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHVmcmVxdXRpbHMvY3B1ZnJlcXV0aWxzXzAwOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3B1ZnJlcXV0aWxzL2NwdWZyZXF1dGlsc18wMDguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODhmY2MwMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3B1ZnJlcXV0aWxzL2NwdWZyZXF1dGlsc18wMDguYmIKQEAgLTAsMCArMSwzNyBAQAorREVTQ1JJUFRJT04gPSAiVG8gbWFrZSBhY2Nlc3MgdG8gdGhlIExpbnV4IGtlcm5lbCBjcHVmcmVxIHN1YnN5c3RlbSBlYXNpZXIgZm9yIHVzZXJzIGFuZCBjcHVmcmVxIHVzZXJzcGFjZSB0b29scywgYSBjcHVmcmVxdXRpbHMgcGFja2FnZSB3YXMgY3JlYXRlZCIKKworaW5oZXJpdCBnZXR0ZXh0CisKK0RFUEVORFMgPSAibGlidG9vbC1jcm9zcyIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitTUkNSRVYgPSAiYTJmMGMzOWQ1ZjIxNTk2YmI5ZjUyMjNlODk1YzBmZjIxMGIyNjVkMCIKKyMgU1JDX1VSSSA9ICJnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL3V0aWxzL2tlcm5lbC9jcHVmcmVxL2NwdWZyZXF1dGlscy5naXQKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2VtYWdpaS9jcHVmcmVxdXRpbHMuZ2l0IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZG9udC11bnNldC1jZmxhZ3MucGF0Y2ggXAorIgorCitFWFRSQV9PRU1BS0VfYXBwZW5kID0gIiAke0BbJycsICdOTFM9ZmFsc2UnXVsnJHtVU0VfTkxTfScgPT0gJ25vJ119ICIKKworUFIgPSAicjUiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK1RBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgorCitFWFRSQV9PRU1BS0UgPSAiVj0xIENST1NTPSR7VEFSR0VUX1BSRUZJWH0gTElCVE9PTD0nJHtIT1NUX1NZU30tbGlidG9vbCAtLXRhZyBjYycgU1RSSVBDTUQ9ZWNobyAnQ1A9Y3AnIgorCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIC1lIGluc3RhbGwgREVTVERJUj0ke0R9CisgICAgcm0gLWYgJHtEfSR7bGliZGlyfS9saWJjcHVmcmVxLnNvLjAgJHtEfSR7bGliZGlyfS9saWJjcHVmcmVxLnNvCisgICAgbG4gLXMgbGliY3B1ZnJlcS5zby4wLjAuMCAke0R9JHtsaWJkaXJ9L2xpYmNwdWZyZXEuc28uMAorICAgIGxuIC1zIGxpYmNwdWZyZXEuc28uMC4wLjAgJHtEfSR7bGliZGlyfS9saWJjcHVmcmVxLnNvCit9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3J5cHRzZXR1cC9jcnlwdHNldHVwXzEuNy4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcnlwdHNldHVwL2NyeXB0c2V0dXBfMS43LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTZjMjFkMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3J5cHRzZXR1cC9jcnlwdHNldHVwXzEuNy4wLmJiCkBAIC0wLDAgKzEsMzMgQEAKK1NVTU1BUlkgPSAiTWFuYWdlIHBsYWluIGRtLWNyeXB0IGFuZCBMVUtTIGVuY3J5cHRlZCB2b2x1bWVzIgorREVTQ1JJUFRJT04gPSAiQ3J5cHRzZXR1cCBpcyB1c2VkIHRvIGNvbnZlbmllbnRseSBzZXR1cCBkbS1jcnlwdCBtYW5hZ2VkIFwKK2RldmljZS1tYXBwZXIgbWFwcGluZ3MuIFRoZXNlIGluY2x1ZGUgcGxhaW4gZG0tY3J5cHQgdm9sdW1lcyBhbmQgXAorTFVLUyB2b2x1bWVzLiBUaGUgZGlmZmVyZW5jZSBpcyB0aGF0IExVS1MgdXNlcyBhIG1ldGFkYXRhIGhlYWRlciBcCithbmQgY2FuIGhlbmNlIG9mZmVyIG1vcmUgZmVhdHVyZXMgdGhhbiBwbGFpbiBkbS1jcnlwdC4gT24gdGhlIG90aGVyIFwKK2hhbmQsIHRoZSBoZWFkZXIgaXMgdmlzaWJsZSBhbmQgdnVsbmVyYWJsZSB0byBkYW1hZ2UuIgorSE9NRVBBR0UgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2NyeXB0c2V0dXAvIgorU0VDVElPTiA9ICJjb25zb2xlIgorTElDRU5TRSA9ICJHUEwtMi4wLXdpdGgtT3BlblNTTC1leGNlcHRpb24iCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zMjEwN2RkMjgzYjFkZmViNjZjOWIzZTZiZTMxMjMyNiIKKworREVQRU5EUyA9ICJ1dGlsLWxpbnV4IGx2bTIgcG9wdCBsaWJnY3J5cHQiCisKK1NSQ19VUkkgPSAiJHtLRVJORUxPUkdfTUlSUk9SfS9saW51eC91dGlscy8ke0JQTn0vdjEuNy8ke0JQfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiNTZjMzg1ZmU4N2ZjMmI2ODczZGY0YjdmODkyMDJkMGYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDc1NTI0YTdjYzBkYjM2ZDEyMTE5ZmE3OTExNjc1MGFjY2IxYzZjODgyNWQ1ZmFhMjUzNGI3NGI4Y2UzZDE0OCIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcKKworIyBVc2Ugb3BlbnNzbCBiZWNhdXNlIGxpYmdjcnlwdCBkcm9wcyByb290IHByaXZpbGVnZXMKKyMgaWYgbGliZ2NyeXB0IGlzIGxpbmtlZCB3aXRoIGxpYmNhcCBzdXBwb3J0CitQQUNLQUdFQ09ORklHID8/PSAib3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLWNyeXB0b19iYWNrZW5kPW9wZW5zc2wsLG9wZW5zc2wiCitQQUNLQUdFQ09ORklHW2djcnlwdF0gPSAiLS13aXRoLWNyeXB0b19iYWNrZW5kPWdjcnlwdCwsbGliZ2NyeXB0IgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJrZXJuZWwtbW9kdWxlLWFlcy1nZW5lcmljIFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtZG0tY3J5cHQgXAorICAgICAgICAgICAgICAgICAgICAga2VybmVsLW1vZHVsZS1tZDUgXAorICAgICAgICAgICAgICAgICAgICAga2VybmVsLW1vZHVsZS1jYmMgXAorICAgICAgICAgICAgICAgICAgICAga2VybmVsLW1vZHVsZS1zaGEyNTYtZ2VuZXJpYyBcCisiCisKK0VYVFJBX09FQ09ORiA9ICItLWVuYWJsZS1zdGF0aWMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2N0YXBpLWNvbW1vbi9jdGFwaS1jb21tb25fMS4xLTExLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jdGFwaS1jb21tb24vY3RhcGktY29tbW9uXzEuMS0xMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hM2I2N2Y3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jdGFwaS1jb21tb24vY3RhcGktY29tbW9uXzEuMS0xMS5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIkNvbW1vbiBmaWxlcyBhbmQgcGFja2FnaW5nIGluZnJhc3RydWN0dXJlIGZvciBDVC1BUEkgbW9kdWxlcyIKK0hPTUVQQUdFID0gImh0dHA6Ly9mZWRvcmFwcm9qZWN0Lm9yZy8iCitTRUNUSU9OID0gIlN5c3RlbSBFbnZpcm9ubWVudC9MaWJyYXJpZXMiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLy4uL2N0YXBpLWNvbW1vbi5MSUNFTlNFO21kNT04NzQ0Y2Q1MjU0NWVjYjQ1YmVmZWJkMGRhNmY3MGYwYSIKKworU1JDX1VSSSA9ICJodHRwOi8vZnRwLnJpa2VuLmpwL0xpbnV4L2ZlZG9yYS9yZWxlYXNlcy8yMC9GZWRvcmEvc291cmNlL1NSUE1TL2MvJHtCUE59LSR7UFZ9LmZjMjAuc3JjLnJwbTtleHRyYWN0PWN0YXBpLWNvbW1vbi5MSUNFTlNFIFwKKyAgICAgICAgICAgaHR0cDovL2Z0cC5yaWtlbi5qcC9MaW51eC9mZWRvcmEvcmVsZWFzZXMvMjAvRmVkb3JhL3NvdXJjZS9TUlBNUy9jLyR7QlBOfS0ke1BWfS5mYzIwLnNyYy5ycG07ZXh0cmFjdD1jdGFwaS1jb21tb24uUkVBRE1FIgorU1JDX1VSSVttZDVzdW1dID0gImYwMmU2NzQ4N2M0ODMxOTM3NjgwMDU2M2EyNjU5NTAyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjMyMzk5ODE5YjBhMWNhYzFhYmIyYjhmMGYxODBjNTcyYzkzODA5ZmFhZDM2YzQ2ODI1ZGQ1MzZlNDg0NGM3Y2YiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgaW5zdGFsbCAtcG0gNjQ0ICR7V09SS0RJUn0vY3RhcGktY29tbW9uLkxJQ0VOU0UgTElDRU5TRQorICAgIGluc3RhbGwgLXBtIDY0NCAke1dPUktESVJ9L2N0YXBpLWNvbW1vbi5SRUFETUUgUkVBRE1FCisgICAgZWNobyAke2xpYmRpcn0vY3RhcGkgPiBjdGFwaS5jb25mCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtRHBtIDY0NCBjdGFwaS5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L2xkLnNvLmNvbmYuZC9jdGFwaS0ke1RBUkdFVF9BUkNIfS5jb25mCisgICAgaW5zdGFsbCAtZG0gNzU1ICR7RH0ke2xpYmRpcn0vY3RhcGkKK30KKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9jdGFwaSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGFlbW9uaXplL2RhZW1vbml6ZV9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RhZW1vbml6ZS9kYWVtb25pemVfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiMTU5MWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RhZW1vbml6ZS9kYWVtb25pemVfZ2l0LmJiCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAiQSB0b29sIHRvIHJ1biBhIGNvbW1hbmQgYXMgYSBkYWVtb24iCitIT01FUEFHRSA9ICJodHRwOi8vc29mdHdhcmUuY2xhcHBlci5vcmcvZGFlbW9uaXplLyIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5tZDttZDU9M2NmOTA4NGZhYTg4YmM4NTU0YTkxMzlkOGQ3ZGQzNWYiCitQViA9ICIxLjcuMytnaXQke1NSQ1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworU1JDUkVWID0gImE0YWM2NGEyNDNhZjkxZGM0MzRiN2EzOTE1ZjQzNDgyZDUyOGEyYjEiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vYm1jL2RhZW1vbml6ZS5naXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0VYVFJBX0FVVE9SRUNPTkYgKz0gIi0tZXhjbHVkZT1hdXRvaGVhZGVyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kYWVtb250b29scy9kYWVtb250b29scy8wMDAxLWVycm9yLmgtaW5jbHVkZS1lcnJuby5oLWluc3RlYWQtb2YtZXh0ZXJuLWludC5kaWZmIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kYWVtb250b29scy9kYWVtb250b29scy8wMDAxLWVycm9yLmgtaW5jbHVkZS1lcnJuby5oLWluc3RlYWQtb2YtZXh0ZXJuLWludC5kaWZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlMTk1OTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RhZW1vbnRvb2xzL2RhZW1vbnRvb2xzLzAwMDEtZXJyb3IuaC1pbmNsdWRlLWVycm5vLmgtaW5zdGVhZC1vZi1leHRlcm4taW50LmRpZmYKQEAgLTAsMCArMSwyNSBAQAorRnJvbSBkM2U3NjUxZTJmMjQ5MmRkMTAzMWQwOWE5OTcxMzY0NGI2MDRjYWI1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogR2Vycml0IFBhcGUgPHBhcGVAc21hcmRlbi5vcmc+CitEYXRlOiBXZWQsIDEyIERlYyAyMDA3IDEzOjQ0OjE1ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIGVycm9yLmg6ICcjaW5jbHVkZSA8ZXJybm8uaD4nIGluc3RlYWQgb2YgJ2V4dGVybiBpbnQgZXJybm87JworCistLS0KKyBkYWVtb250b29scy0wLjc2L3NyYy9lcnJvci5oIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGRhZW1vbnRvb2xzLTAuNzYub3JpZy9zcmMvZXJyb3IuaCBkYWVtb250b29scy0wLjc2L3NyYy9lcnJvci5oCitpbmRleCAwODZmYjU1Li5mN2U4MjczIDEwMDY0NAorLS0tIGRhZW1vbnRvb2xzLTAuNzYub3JpZy9zcmMvZXJyb3IuaAorKysrIGRhZW1vbnRvb2xzLTAuNzYvc3JjL2Vycm9yLmgKK0BAIC0zLDcgKzMsNyBAQAorICNpZm5kZWYgRVJST1JfSAorICNkZWZpbmUgRVJST1JfSAorIAorLWV4dGVybiBpbnQgZXJybm87CisrI2luY2x1ZGUgPGVycm5vLmg+CisgCisgZXh0ZXJuIGludCBlcnJvcl9pbnRyOworIGV4dGVybiBpbnQgZXJyb3Jfbm9tZW07CistLSAKKzEuNS40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kYWVtb250b29scy9kYWVtb250b29scy8wMDAyLXN1cGVydmlzZS5jLS4tc3VwZXJ2aXNlLW1heS1iZS1hLXN5bWxpbmstaWYtaXQtcy1kYS5kaWZmIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kYWVtb250b29scy9kYWVtb250b29scy8wMDAyLXN1cGVydmlzZS5jLS4tc3VwZXJ2aXNlLW1heS1iZS1hLXN5bWxpbmstaWYtaXQtcy1kYS5kaWZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczZGNlOTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RhZW1vbnRvb2xzL2RhZW1vbnRvb2xzLzAwMDItc3VwZXJ2aXNlLmMtLi1zdXBlcnZpc2UtbWF5LWJlLWEtc3ltbGluay1pZi1pdC1zLWRhLmRpZmYKQEAgLTAsMCArMSw0NyBAQAorRnJvbSA3ZWU1ODVjYWIxZDViNjhmODA0YTU2MDFhNjZhZTg3Nzk5YzhhN2MzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogR2Vycml0IFBhcGUgPHBhcGVAc21hcmRlbi5vcmc+CitEYXRlOiBTdW4sIDI0IEZlYiAyMDA4IDEwOjU0OjI2ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIHN1cGVydmlzZS5jOiAuL3N1cGVydmlzZSBtYXkgYmUgYSBzeW1saW5rLCBpZiBpdCdzIGRhbmdsaW5nLCBjcmVhdGUgbGluayB0YXJnZXQKKworLS0tCisgZGFlbW9udG9vbHMtMC43Ni9zcmMvc3VwZXJ2aXNlLmMgfCAgIDE3ICsrKysrKysrKysrKysrKystCisgMSBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGRhZW1vbnRvb2xzLTAuNzYub3JpZy9zcmMvc3VwZXJ2aXNlLmMgZGFlbW9udG9vbHMtMC43Ni9zcmMvc3VwZXJ2aXNlLmMKK2luZGV4IDI0ODJhZDIuLmY0M2NhYmYgMTAwNjQ0CistLS0gZGFlbW9udG9vbHMtMC43Ni5vcmlnL3NyYy9zdXBlcnZpc2UuYworKysrIGRhZW1vbnRvb2xzLTAuNzYvc3JjL3N1cGVydmlzZS5jCitAQCAtMjA4LDYgKzIwOCw4IEBAIHZvaWQgZG9pdCh2b2lkKQorIGludCBtYWluKGludCBhcmdjLGNoYXIgKiphcmd2KQorIHsKKyAgIHN0cnVjdCBzdGF0IHN0OworKyAgaW50IHI7CisrICBjaGFyIGJ1ZlsyNTZdOworIAorICAgZGlyID0gYXJndlsxXTsKKyAgIGlmICghZGlyIHx8IGFyZ3ZbMl0pCitAQCAtMjMyLDcgKzIzNCwyMCBAQCBpbnQgbWFpbihpbnQgYXJnYyxjaGFyICoqYXJndikKKyAgICAgaWYgKGVycm5vICE9IGVycm9yX25vZW50KQorICAgICAgIHN0cmVycl9kaWU0c3lzKDExMSxGQVRBTCwidW5hYmxlIHRvIHN0YXQgIixkaXIsIi9kb3duOiAiKTsKKyAKKy0gIG1rZGlyKCJzdXBlcnZpc2UiLDA3MDApOworKyAgaWYgKG1rZGlyKCJzdXBlcnZpc2UiLDA3MDApID09IC0xKSB7CisrICAgIGlmICgociA9IHJlYWRsaW5rKCJzdXBlcnZpc2UiLCBidWYsIDI1NikpICE9IC0xKSB7CisrICAgICAgaWYgKHIgPT0gMjU2KSB7CisrICAgICAgICBlcnJubyA9IEVPVkVSRkxPVzsKKysgICAgICAgIHN0cmVycl9kaWUxc3lzKDExMSwidW5hYmxlIHRvIHJlYWRsaW5rIC4vc3VwZXJ2aXNlOiAiKTsKKysgICAgICB9CisrICAgICAgYnVmW3JdID0gMDsKKysgICAgICBta2RpcihidWYsIDA3MDApOworKyAgICB9CisrICAgIGVsc2UgeworKyAgICAgIGlmICgoZXJybm8gIT0gRU5PRU5UKSAmJiAoZXJybm8gIT0gRUlOVkFMKSkKKysgICAgICAgIHN0cmVycl9kaWUxc3lzKDExMSwgInVuYWJsZSB0byByZWFkbGluayAuL3N1cGVydmlzZTogIik7CisrICAgIH0KKysgIH0KKyAgIGZkbG9jayA9IG9wZW5fYXBwZW5kKCJzdXBlcnZpc2UvbG9jayIpOworICAgaWYgKChmZGxvY2sgPT0gLTEpIHx8IChsb2NrX2V4bmIoZmRsb2NrKSA9PSAtMSkpCisgICAgIHN0cmVycl9kaWU0c3lzKDExMSxGQVRBTCwidW5hYmxlIHRvIGFjcXVpcmUgIixkaXIsIi9zdXBlcnZpc2UvbG9jazogIik7CistLSAKKzEuNS40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kYWVtb250b29scy9kYWVtb250b29scy9jcm9zcy1jb21waWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kYWVtb250b29scy9kYWVtb250b29scy9jcm9zcy1jb21waWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxNjRjMmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RhZW1vbnRvb2xzL2RhZW1vbnRvb2xzL2Nyb3NzLWNvbXBpbGUucGF0Y2gKQEAgLTAsMCArMSw0NSBAQAorbWFrZSBzdXJlIGl0IGNhbiBiZSBjb21waWxlZCBmb3IgY3Jvc3MgdGFyZ2V0CisKKzEuIG5ldmVyIHRyeSB0byBjb21waWxlIHRhcmdldCBiaW5hcnkgYnkgbmF0aXZlIGdjYworMi4gdGFyZ2V0J3MgY2hrc2hzZ3IgZG9lc24ndCB3b3JrIG9uIG5hdGl2ZS4KKzMuIGl0J3Mgd3JvbmcgdG8gZG8gdGFyZ2V0IHRlc3RzIG9uIG5hdGl2ZS4KKworU2lnbmVkLW9mZi1ieTogQmlhbiBOYWltZW5nIDxiaWFubm1AY24uZnVqaXRzdS5jb20+CisKK2RpZmYgLU51cnAgZGFlbW9udG9vbHMtMC43Ni5vcmlnL3NyYy9jb25mLWNjIGRhZW1vbnRvb2xzLTAuNzYvc3JjL2NvbmYtY2MKKy0tLSBkYWVtb250b29scy0wLjc2Lm9yaWcvc3JjL2NvbmYtY2MJMjAwMS0wNy0xMyAwMDo0OTo0OS4wMDAwMDAwMDAgKzA4MDAKKysrKyBkYWVtb250b29scy0wLjc2L3NyYy9jb25mLWNjCTIwMTQtMTEtMjYgMDk6MzQ6MzguODI4ODEyMTYyICswODAwCitAQCAtMSwzICsxLDMgQEAKKy1nY2MgLU8yIC1XaW1wbGljaXQgLVd1bnVzZWQgLVdjb21tZW50IC1XY2hhci1zdWJzY3JpcHRzIC1XdW5pbml0aWFsaXplZCAtV3NoYWRvdyAtV2Nhc3QtcXVhbCAtV2Nhc3QtYWxpZ24gLVd3cml0ZS1zdHJpbmdzCisrJHtDQ30gLU8yIC1XaW1wbGljaXQgLVd1bnVzZWQgLVdjb21tZW50IC1XY2hhci1zdWJzY3JpcHRzIC1XdW5pbml0aWFsaXplZCAtV3NoYWRvdyAtV2Nhc3QtcXVhbCAtV2Nhc3QtYWxpZ24gLVd3cml0ZS1zdHJpbmdzCisgCisgVGhpcyB3aWxsIGJlIHVzZWQgdG8gY29tcGlsZSAuYyBmaWxlcy4KK2RpZmYgLU51cnAgZGFlbW9udG9vbHMtMC43Ni5vcmlnL3NyYy9jb25mLWxkIGRhZW1vbnRvb2xzLTAuNzYvc3JjL2NvbmYtbGQKKy0tLSBkYWVtb250b29scy0wLjc2Lm9yaWcvc3JjL2NvbmYtbGQJMjAwMS0wNy0xMyAwMDo0OTo0OS4wMDAwMDAwMDAgKzA4MDAKKysrKyBkYWVtb250b29scy0wLjc2L3NyYy9jb25mLWxkCTIwMTQtMTEtMjYgMDk6MzQ6NDkuODgwODExNzMwICswODAwCitAQCAtMSwzICsxLDMgQEAKKy1nY2MgLXMKKyske0NDfQorIAorIFRoaXMgd2lsbCBiZSB1c2VkIHRvIGxpbmsgLm8gZmlsZXMgaW50byBhbiBleGVjdXRhYmxlLgorZGlmZiAtTnVycCBkYWVtb250b29scy0wLjc2Lm9yaWcvc3JjL01ha2VmaWxlIGRhZW1vbnRvb2xzLTAuNzYvc3JjL01ha2VmaWxlCistLS0gZGFlbW9udG9vbHMtMC43Ni5vcmlnL3NyYy9NYWtlZmlsZQkyMDAxLTA3LTEzIDAwOjQ5OjQ5LjAwMDAwMDAwMCArMDgwMAorKysrIGRhZW1vbnRvb2xzLTAuNzYvc3JjL01ha2VmaWxlCTIwMTQtMTEtMjYgMDk6Mzg6NDcuMTIwODAyNDU5ICswODAwCitAQCAtMTY1LDcgKzE2NSw3IEBAIGhhc3NncHJtLmg6IGNob29zZSBjb21waWxlIGhhc3NncHJtLmgxIGgKKyAKKyBoYXNzaHNnci5oOiBjaGtzaHNnciBjaG9vc2UgY29tcGlsZSBoYXNzaHNnci5oMSBoYXNzaHNnci5oMiBsb2FkIFwKKyB0cnlzaHNnci5jIHdhcm4tc2hzZ3IKKy0JLi9jaGtzaHNnciB8fCAoIGNhdCB3YXJuLXNoc2dyOyBleGl0IDEgKQorKwljaGtzaHNnciB8fCAoIGNhdCB3YXJuLXNoc2dyOyBleGl0IDEgKQorIAkuL2Nob29zZSBjbHIgdHJ5c2hzZ3IgaGFzc2hzZ3IuaDEgaGFzc2hzZ3IuaDIgPiBoYXNzaHNnci5oCisgCisgaGFzd2FpdHAuaDogY2hvb3NlIGNvbXBpbGUgaGFzd2FpdHAuaDEgaGFzd2FpdHAuaDIgbG9hZCB0cnl3YWl0cC5jCitAQCAtMjY1LDcgKzI2NSw3IEBAIHJlYWRwcm9jdGl0bGUubzogY29tcGlsZSBlcnJvci5oIHJlYWRwcm8KKyBydHM6IGVudmRpciBlbnZ1aWRnaWQgZmdoYWNrIG1hdGNodGVzdCBtdWx0aWxvZyBwZ3JwaGFjayBcCisgcmVhZHByb2N0aXRsZSBydHMudGVzdHMgc2V0bG9jayBzZXR1aWRnaWQgc29mdGxpbWl0IHN1cGVydmlzZSBzdmMgXAorIHN2b2sgc3ZzY2FuIHN2c2NhbmJvb3Qgc3ZzdGF0IHRhaTY0biB0YWk2NG5sb2NhbAorLQllbnYgLSAvYmluL3NoIHJ0cy50ZXN0cyAyPiYxIHwgY2F0IC12ID4gcnRzCisrCWVjaG8gIldhcm5pbmc6IFdlIGNhbiBub3QgcnVuIHRlc3Qgb24gY3Jvc3MgdGFyZ2V0LiIKKyAKKyBzY2FuX3Vsb25nLm86IGNvbXBpbGUgc2Nhbi5oIHNjYW5fdWxvbmcuYworIAkuL2NvbXBpbGUgc2Nhbl91bG9uZy5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RhZW1vbnRvb2xzL2RhZW1vbnRvb2xzXzAuNzYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RhZW1vbnRvb2xzL2RhZW1vbnRvb2xzXzAuNzYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTYxZjkyZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGFlbW9udG9vbHMvZGFlbW9udG9vbHNfMC43Ni5iYgpAQCAtMCwwICsxLDQ3IEBACitTVU1NQVJZID0gIkRKQiBkYWVtb250b29scyIKK0RFU0NSSVBUSU9OID0gInN1cGVydmlzZSBtb25pdG9ycyBhIHNlcnZpY2UuIEl0IHN0YXJ0cyB0aGUgc2VydmljZSBhbmQgcmVzdGFydHMgdGhlIFwKK3NlcnZpY2UgaWYgaXQgZGllcy4gVGhlIGNvbXBhbmlvbiBzdmMgcHJvZ3JhbSBzdG9wcywgcGF1c2VzLCBvciByZXN0YXJ0cyBcCit0aGUgc2VydmljZSBvbiBzeXNhZG1pbiByZXF1ZXN0LiBUaGUgc3ZzdGF0IHByb2dyYW0gcHJpbnRzIGEgb25lLWxpbmUgXAorc3RhdHVzIHJlcG9ydC4gXAorbXVsdGlsb2cgc2F2ZXMgZXJyb3IgbWVzc2FnZXMgdG8gb25lIG9yIG1vcmUgbG9ncy4gIEl0IG9wdGlvbmFsbHkgdGltZXN0YW1wcyBcCitlYWNoIGxpbmUgYW5kLCBmb3IgZWFjaCBsb2csIGluY2x1ZGVzIG9yIGV4Y2x1ZGVzIGxpbmVzIG1hdGNoaW5nIHNwZWNpZmllZCBcCitwYXR0ZXJucy4gIEl0IGF1dG9tYXRpY2FsbHkgcm90YXRlcyBsb2dzIHRvIGxpbWl0IHRoZSBhbW91bnQgb2YgZGlzayBzcGFjZSBcCit1c2VkLiAgSWYgdGhlIGRpc2sgZmlsbHMgdXAsIGl0IHBhdXNlcyBhbmQgdHJpZXMgYWdhaW4sIHdpdGhvdXQgbG9zaW5nIGFueSBcCitkYXRhLiIKKworU0VDVElPTiA9ICJTeXN0ZW0vU2VydmVycyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT01NT05fTElDRU5TRV9ESVJ9L1BEO21kNT1iMzU5N2QxMjk0Njg4MWUxM2NiM2I1NDhkMTE3Mzg1MSIKK0xJQ0VOU0UgPSAiUEQiCisKK1NSQ19VUkkgPSAiaHR0cDovL2NyLnlwLnRvL2RhZW1vbnRvb2xzLyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1lcnJvci5oLWluY2x1ZGUtZXJybm8uaC1pbnN0ZWFkLW9mLWV4dGVybi1pbnQuZGlmZiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLXN1cGVydmlzZS5jLS4tc3VwZXJ2aXNlLW1heS1iZS1hLXN5bWxpbmstaWYtaXQtcy1kYS5kaWZmICIKKworU1JDX1VSSV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gImZpbGU6Ly9jcm9zcy1jb21waWxlLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMTg3MWFmMjQ1M2Q2ZTQ2NDAzNDk2OGEwZmJjYjJiZmMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTU1NTM1MDEyYjJiZTdhNTJkY2Q5ZWNjYWJiOWExOThiMTNiZTUwZDAzODQxNDNiZDNiMzJiODcxMGRmNGMxZiIKKworUyA9ICIke1dPUktESVJ9L2FkbWluLyR7QlBOfS0ke1BWfSIKKworREVQRU5EUyArPSAiZGFlbW9udG9vbHMtbmF0aXZlIgorREVQRU5EU19jbGFzcy1uYXRpdmUgPSAiIgorCitkb19jb21waWxlKCkgeworICAgIC4vcGFja2FnZS9jb21waWxlCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9LyR7YmluZGlyfQorfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisgICAgaW5zdGFsbCAtbSA3NTUgJHtTfS9jb21waWxlL2Noa3Noc2dyICR7RH0vJHtiaW5kaXJ9Cit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKKyAgICBpbnN0YWxsIC1tNzU1ICR7U30vY29tbWFuZC8qICR7RH0vJHtiaW5kaXJ9Cit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kZXZpY2VraXQvZGV2aWNla2l0LXBvd2VyXzAxNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGV2aWNla2l0L2RldmljZWtpdC1wb3dlcl8wMTQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzJiN2U2NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGV2aWNla2l0L2RldmljZWtpdC1wb3dlcl8wMTQuYmIKQEAgLTAsMCArMSwzMCBAQAorU1VNTUFSWSA9ICJEZXZpY2VraXQgcG93ZXIiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzU2Y2Y5Nzg3MWY3NzIzMzYzODkzN2RhMjFiMDI1ZDMiCisKK0RFUEVORFMgPSAibGlidXNiLWNvbXBhdCBsaWJ1c2IxIHVkZXYgZ2xpYi0yLjAgZGJ1cy1nbGliIHBvbGtpdCBpbnRsdG9vbC1uYXRpdmUgbGliZ3VkZXYiCisKK1NSQ19VUkkgPSAiaHR0cDovL3Vwb3dlci5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvRGV2aWNlS2l0LXBvd2VyLSR7UFZ9LnRhci5nejtuYW1lPWFyY2hpdmUiCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI5MzVkMzdmMWUxNGIzYzhhMWQ2ZGFiY2Q5YTM4ZDNjYSIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImFkM2U5YThiZDk1MjVkNjZmYWRjN2ZhNTNlZjk5ZTA2MzJhYThjY2E4ZmQ1YmMyNzQ4Mzk1NjI2MTE1M2IzNzMiCisKK1MgPSAiJHtXT1JLRElSfS9EZXZpY2VLaXQtcG93ZXItJHtQVn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiIC0td2l0aC1iYWNrZW5kPWxpbnV4IgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgLWUgczotbm9uZXQ6XDpnICR7U30vZG9jL21hbi9NYWtlZmlsZS5hbQorICAgIHNlZCAtaSAtZSAnczogZG9jIDogOmcnICR7U30vTWFrZWZpbGUuYW0KK30gICAgCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RidXMtMS8gXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vcG9sa2l0LTEvIFwKKyAgICAgICAgICAgICAgICAke2Jhc2VfbGliZGlyfS91ZGV2LyogXAorIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7YmFzZV9saWJkaXJ9L3VkZXYvLmRlYnVnIgorCisKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kZXZtZW0yL2Rldm1lbTIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Rldm1lbTIvZGV2bWVtMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNDhjYzkyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kZXZtZW0yL2Rldm1lbTIuYmIKQEAgLTAsMCArMSwyMiBAQAorU1VNTUFSWSA9ICJTaW1wbGUgcHJvZ3JhbSB0byByZWFkL3dyaXRlIGZyb20vdG8gYW55IGxvY2F0aW9uIGluIG1lbW9yeSIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZGV2bWVtMi5jO2VuZGxpbmU9Mjg7bWQ1PWRkNjhmMmIwYTUxODRiM2RiM2RjMjVjOTllMGJkMGNkIgorUFIgPSAicjciCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5sYXJ0bWFrZXIubmwvbGFydHdhcmUvcG9ydC9kZXZtZW0yLmMgXAorICAgICAgICAgICBmaWxlOi8vZGV2bWVtMi1maXh1cHMtMi5wYXRjaDthcHBseT15ZXM7c3RyaXBsZXZlbD0wIgorUyA9ICIke1dPUktESVJ9IgorCitDRkxBR1MgKz0gIi1ERk9SQ0VfU1RSSUNUX0FMSUdOTUVOVCIKKworZG9fY29tcGlsZSgpIHsKKyAgICAke0NDfSAtbyBkZXZtZW0yIGRldm1lbTIuYyAke0NGTEFHU30gJHtMREZMQUdTfQorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgZGV2bWVtMiAke0R9JHtiaW5kaXJ9Cit9CisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiZTEyYzAxMzJhMWFlMTE4Y2JmNWU3OWQ5ODQyN2MxZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlYzM4MmM5MGFmM2VmMmY0OTY5NWZmMTRhNGQ2NTIxZTU4YWM0ODJjNGUyOWQ2YzllYmNhODc2OGY2OTljMTkxIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kZXZtZW0yL2Rldm1lbTIvZGV2bWVtMi1maXh1cHMtMi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGV2bWVtMi9kZXZtZW0yL2Rldm1lbTItZml4dXBzLTIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDUxNzc5NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGV2bWVtMi9kZXZtZW0yL2Rldm1lbTItZml4dXBzLTIucGF0Y2gKQEAgLTAsMCArMSw5MSBAQAorLS0tIGRldm1lbTIuYwkyMDA0LTA4LTA1IDAxOjU1OjI1LjAwMDAwMDAwMCArMDIwMAorKysrIGRldm1lbTJfbW9kaWYuYwkyMDExLTAxLTEzIDE1OjQ4OjM3Ljc5ODc5OTc4NCArMDEwMAorQEAgLTQ1LDEyICs0NSwxNiBAQAorICNkZWZpbmUgTUFQX1NJWkUgNDA5NlVMCisgI2RlZmluZSBNQVBfTUFTSyAoTUFQX1NJWkUgLSAxKQorIAorK3N0YXRpYyBpbmxpbmUgdm9pZCAqZml4dXBfYWRkcih2b2lkICphZGRyLCBzaXplX3Qgc2l6ZSk7CisrCisgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisgICAgIGludCBmZDsKKyAgICAgdm9pZCAqbWFwX2Jhc2UsICp2aXJ0X2FkZHI7IAorLQl1bnNpZ25lZCBsb25nIHJlYWRfcmVzdWx0LCB3cml0ZXZhbDsKKysJdW5zaWduZWQgbG9uZyByZWFkX3Jlc3VsdCwgd3JpdGVfdmFsOworIAlvZmZfdCB0YXJnZXQ7CisgCWludCBhY2Nlc3NfdHlwZSA9ICd3JzsKKysJY2hhciBmbXRfc3RyWzEyOF07CisrCXNpemVfdCBkYXRhX3NpemU7CisgCQorIAlpZihhcmdjIDwgMikgeworIAkJZnByaW50ZihzdGRlcnIsICJcblVzYWdlOlx0JXMgeyBhZGRyZXNzIH0gWyB0eXBlIFsgZGF0YSBdIF1cbiIKK0BAIC03OSwzOCArODMsNTEgQEAKKyAgICAgdmlydF9hZGRyID0gbWFwX2Jhc2UgKyAodGFyZ2V0ICYgTUFQX01BU0spOworICAgICBzd2l0Y2goYWNjZXNzX3R5cGUpIHsKKyAJCWNhc2UgJ2InOgorKwkJCWRhdGFfc2l6ZSA9IHNpemVvZih1bnNpZ25lZCBjaGFyKTsKKysJCQl2aXJ0X2FkZHIgPSBmaXh1cF9hZGRyKHZpcnRfYWRkciwgZGF0YV9zaXplKTsKKyAJCQlyZWFkX3Jlc3VsdCA9ICooKHVuc2lnbmVkIGNoYXIgKikgdmlydF9hZGRyKTsKKyAJCQlicmVhazsKKyAJCWNhc2UgJ2gnOgorKwkJCWRhdGFfc2l6ZSA9IHNpemVvZih1bnNpZ25lZCBzaG9ydCk7CisrCQkJdmlydF9hZGRyID0gZml4dXBfYWRkcih2aXJ0X2FkZHIsIGRhdGFfc2l6ZSk7CisgCQkJcmVhZF9yZXN1bHQgPSAqKCh1bnNpZ25lZCBzaG9ydCAqKSB2aXJ0X2FkZHIpOworIAkJCWJyZWFrOworIAkJY2FzZSAndyc6CisrCQkJZGF0YV9zaXplID0gc2l6ZW9mKHVuc2lnbmVkIGxvbmcpOworKwkJCXZpcnRfYWRkciA9IGZpeHVwX2FkZHIodmlydF9hZGRyLCBkYXRhX3NpemUpOworIAkJCXJlYWRfcmVzdWx0ID0gKigodW5zaWduZWQgbG9uZyAqKSB2aXJ0X2FkZHIpOworIAkJCWJyZWFrOworIAkJZGVmYXVsdDoKKyAJCQlmcHJpbnRmKHN0ZGVyciwgIklsbGVnYWwgZGF0YSB0eXBlICclYycuXG4iLCBhY2Nlc3NfdHlwZSk7CisgCQkJZXhpdCgyKTsKKyAJfQorLSAgICBwcmludGYoIlZhbHVlIGF0IGFkZHJlc3MgMHglWCAoJXApOiAweCVYXG4iLCB0YXJnZXQsIHZpcnRfYWRkciwgcmVhZF9yZXN1bHQpOyAKKysJc3ByaW50ZihmbXRfc3RyLCAiUmVhZCBhdCBhZGRyZXNzICAweCUlMDhsWCAoJSVwKTogMHglJTAlZGxYXG4iLCAyKmRhdGFfc2l6ZSk7CisrICAgIHByaW50ZihmbXRfc3RyLCAodW5zaWduZWQgbG9uZyl0YXJnZXQsIHZpcnRfYWRkciwgcmVhZF9yZXN1bHQpOworICAgICBmZmx1c2goc3Rkb3V0KTsKKyAKKyAJaWYoYXJnYyA+IDMpIHsKKy0JCXdyaXRldmFsID0gc3RydG91bChhcmd2WzNdLCAwLCAwKTsKKysJCXdyaXRlX3ZhbCA9IHN0cnRvdWwoYXJndlszXSwgMCwgMCk7CisgCQlzd2l0Y2goYWNjZXNzX3R5cGUpIHsKKyAJCQljYXNlICdiJzoKKy0JCQkJKigodW5zaWduZWQgY2hhciAqKSB2aXJ0X2FkZHIpID0gd3JpdGV2YWw7CisrCQkJCXZpcnRfYWRkciA9IGZpeHVwX2FkZHIodmlydF9hZGRyLCBzaXplb2YodW5zaWduZWQgY2hhcikpOworKwkJCQkqKCh1bnNpZ25lZCBjaGFyICopIHZpcnRfYWRkcikgPSB3cml0ZV92YWw7CisgCQkJCXJlYWRfcmVzdWx0ID0gKigodW5zaWduZWQgY2hhciAqKSB2aXJ0X2FkZHIpOworIAkJCQlicmVhazsKKyAJCQljYXNlICdoJzoKKy0JCQkJKigodW5zaWduZWQgc2hvcnQgKikgdmlydF9hZGRyKSA9IHdyaXRldmFsOworKwkJCQl2aXJ0X2FkZHIgPSBmaXh1cF9hZGRyKHZpcnRfYWRkciwgc2l6ZW9mKHVuc2lnbmVkIHNob3J0KSk7CisrCQkJCSooKHVuc2lnbmVkIHNob3J0ICopIHZpcnRfYWRkcikgPSB3cml0ZV92YWw7CisgCQkJCXJlYWRfcmVzdWx0ID0gKigodW5zaWduZWQgc2hvcnQgKikgdmlydF9hZGRyKTsKKyAJCQkJYnJlYWs7CisgCQkJY2FzZSAndyc6CistCQkJCSooKHVuc2lnbmVkIGxvbmcgKikgdmlydF9hZGRyKSA9IHdyaXRldmFsOworKwkJCQl2aXJ0X2FkZHIgPSBmaXh1cF9hZGRyKHZpcnRfYWRkciwgc2l6ZW9mKHVuc2lnbmVkIGxvbmcpKTsKKysJCQkJKigodW5zaWduZWQgbG9uZyAqKSB2aXJ0X2FkZHIpID0gd3JpdGVfdmFsOworIAkJCQlyZWFkX3Jlc3VsdCA9ICooKHVuc2lnbmVkIGxvbmcgKikgdmlydF9hZGRyKTsKKyAJCQkJYnJlYWs7CisgCQl9CistCQlwcmludGYoIldyaXR0ZW4gMHglWDsgcmVhZGJhY2sgMHglWFxuIiwgd3JpdGV2YWwsIHJlYWRfcmVzdWx0KTsgCisrCQlzcHJpbnRmKGZtdF9zdHIsICJXcml0ZSBhdCBhZGRyZXNzIDB4JSUwOGxYICglJXApOiAweCUlMCVkbFgsICIKKysJCQkicmVhZGJhY2sgMHglJTAlZGxYXG4iLAkyKmRhdGFfc2l6ZSwgMipkYXRhX3NpemUpOworKwkJcHJpbnRmKGZtdF9zdHIsICh1bnNpZ25lZCBsb25nKXRhcmdldCwgdmlydF9hZGRyLAorKwkJCXdyaXRlX3ZhbCwgcmVhZF9yZXN1bHQpOworIAkJZmZsdXNoKHN0ZG91dCk7CisgCX0KKyAJCitAQCAtMTE5LDMgKzEzNiwxMiBAQAorICAgICByZXR1cm4gMDsKKyB9CisgCisrc3RhdGljIGlubGluZSB2b2lkICpmaXh1cF9hZGRyKHZvaWQgKmFkZHIsIHNpemVfdCBzaXplKQorK3sKKysjaWZkZWYgRk9SQ0VfU1RSSUNUX0FMSUdOTUVOVAorKwl1bnNpZ25lZCBsb25nIGFsaWduZWRfYWRkciA9ICh1bnNpZ25lZCBsb25nKWFkZHI7CisrCWFsaWduZWRfYWRkciAmPSB+KHNpemUgLSAxKTsKKysJYWRkciA9ICh2b2lkICopYWxpZ25lZF9hZGRyOworKyNlbmRpZgorKwlyZXR1cm4gYWRkcjsKKyt9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RmdS11dGlsL2RmdS11dGlsLW5hdGl2ZV8wLjkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RmdS11dGlsL2RmdS11dGlsLW5hdGl2ZV8wLjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E3YTY2MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGZ1LXV0aWwvZGZ1LXV0aWwtbmF0aXZlXzAuOS5iYgpAQCAtMCwwICsxLDE2IEBACityZXF1aXJlIGRmdS11dGlsXyR7UFZ9LmJiCisKK2luaGVyaXQgbmF0aXZlIGRlcGxveQorCitERVBFTkRTID0gImxpYnVzYjEtbmF0aXZlIgorCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1SZXZlcnQtTWFrZWZpbGUuYW0tRHJvcC1zdGF0aWMtZGZ1LXV0aWwucGF0Y2giCisKK2RvX2RlcGxveVtzc3RhdGUtb3V0cHV0ZGlyc10gPSAiJHtERVBMT1lfRElSX1RPT0xTfSIKK2RvX2RlcGxveSgpIHsKKyAgICBpbnN0YWxsIC1kICR7REVQTE9ZX0RJUl9UT09MU30KKyAgICBpbnN0YWxsIC1tIDA3NTUgc3JjL2RmdS11dGlsX3N0YXRpYyAke0RFUExPWV9ESVJfVE9PTFN9L2RmdS11dGlsLSR7UFZ9CisgICAgcm0gLWYgJHtERVBMT1lfRElSX1RPT0xTfS9kZnUtdXRpbAorICAgIGxuIC1zZiAuL2RmdS11dGlsLSR7UFZ9ICR7REVQTE9ZX0RJUl9UT09MU30vZGZ1LXV0aWwKK30KK2FkZHRhc2sgZGVwbG95IGJlZm9yZSBkb19wYWNrYWdlIGFmdGVyIGRvX2luc3RhbGwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGZ1LXV0aWwvZGZ1LXV0aWwvMDAwMS1SZXZlcnQtTWFrZWZpbGUuYW0tRHJvcC1zdGF0aWMtZGZ1LXV0aWwucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RmdS11dGlsL2RmdS11dGlsLzAwMDEtUmV2ZXJ0LU1ha2VmaWxlLmFtLURyb3Atc3RhdGljLWRmdS11dGlsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjNmFkMDgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RmdS11dGlsL2RmdS11dGlsLzAwMDEtUmV2ZXJ0LU1ha2VmaWxlLmFtLURyb3Atc3RhdGljLWRmdS11dGlsLnBhdGNoCkBAIC0wLDAgKzEsNjggQEAKK0Zyb20gYzJhYWIzYjlhZTFmZWJjYjZiNGM2NTYxYTU5ZGYxOTMwYTU3YjM5NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYU1hIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogVGh1LCAxMSBBdWcgMjAxMSAxMToxOTo1MiArMDIwMAorU3ViamVjdDogW1BBVENIXSBSZXZlcnQgIk1ha2VmaWxlLmFtOiBEcm9wIHN0YXRpYyBkZnUtdXRpbCIKKworVGhpcyByZXZlcnRzIGNvbW1pdCBmZTA0MjZkZGMwNGY1MDNkMTQ4YzVlNWY5MzFmMTZiOGY2NzRmMDcxLgorCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFNYSBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyAgICB8ICAyICstCisgc3JjL01ha2VmaWxlLmFtIHwgMjIgKysrKysrKysrKysrKysrKysrKysrLQorIDIgZmlsZXMgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggZjVhNDNiOC4uNmEzNzU3ZSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMjEsNyArMjEsNyBAQCBBU19JRihbdGVzdCB4JG5hdGl2ZV9saWJ1c2IgPSB4bm9dLCBbCisgICAgICAgICBBQ19NU0dfRVJST1IoWyoqKiBSZXF1aXJlZCBsaWJ1c2ItMS4wID49IDEuMC4wIG5vdCBpbnN0YWxsZWQgKioqXSkpCisgXSkKKyAKKy1MSUJTPSIkTElCUyAkVVNCX0xJQlMiCisrTElCUz0iJExJQlMgJFVTQl9MSUJTIC1scHRocmVhZCIKKyBDRkxBR1M9IiRDRkxBR1MgJFVTQl9DRkxBR1MiCisgCisgIyBDaGVja3MgZm9yIGhlYWRlciBmaWxlcy4KK2RpZmYgLS1naXQgYS9zcmMvTWFrZWZpbGUuYW0gYi9zcmMvTWFrZWZpbGUuYW0KK2luZGV4IDcwMTc5YzQuLmU4NzM2ZWUgMTAwNjQ0CistLS0gYS9zcmMvTWFrZWZpbGUuYW0KKysrKyBiL3NyYy9NYWtlZmlsZS5hbQorQEAgLTEsNiArMSw2IEBACisgQU1fQ0ZMQUdTID0gLVdhbGwgLVdleHRyYQorIAorLWJpbl9QUk9HUkFNUyA9IGRmdS11dGlsIGRmdS1zdWZmaXggZGZ1LXByZWZpeAorK2Jpbl9QUk9HUkFNUyA9IGRmdS11dGlsIGRmdS11dGlsX3N0YXRpYyBkZnUtc3VmZml4IGRmdS1wcmVmaXgKKyBkZnVfdXRpbF9TT1VSQ0VTID0gbWFpbi5jIFwKKyAJCXBvcnRhYmxlLmggXAorIAkJZGZ1X2xvYWQuYyBcCitAQCAtMTksNiArMTksMjYgQEAgZGZ1X3V0aWxfU09VUkNFUyA9IG1haW4uYyBcCisgCQlxdWlya3MuYyBcCisgCQlxdWlya3MuaAorIAorK2RmdV91dGlsX3N0YXRpY19TT1VSQ0VTID0gbWFpbi5jIFwKKysJCXBvcnRhYmxlLmggXAorKwkJZGZ1X2xvYWQuYyBcCisrCQlkZnVfbG9hZC5oIFwKKysJCWRmdV91dGlsLmMgXAorKwkJZGZ1X3V0aWwuaCBcCisrCQlkZnVzZS5jIFwKKysJCWRmdXNlLmggXAorKwkJZGZ1c2VfbWVtLmMgXAorKwkJZGZ1c2VfbWVtLmggXAorKwkJZGZ1LmMgXAorKwkJZGZ1LmggXAorKwkJdXNiX2RmdS5oIFwKKysJCWRmdV9maWxlLmMgXAorKwkJZGZ1X2ZpbGUuaCBcCisrCQlxdWlya3MuYyBcCisrCQlxdWlya3MuaAorKworK2RmdV91dGlsX3N0YXRpY19MREZMQUdTID0gLXN0YXRpYworKworIGRmdV9zdWZmaXhfU09VUkNFUyA9IHN1ZmZpeC5jIFwKKyAJCWRmdV9maWxlLmggXAorIAkJZGZ1X2ZpbGUuYworLS0gCisyLjcuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RmdS11dGlsL2RmdS11dGlsXzAuOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGZ1LXV0aWwvZGZ1LXV0aWxfMC45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxYmNhMjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RmdS11dGlsL2RmdS11dGlsXzAuOS5iYgpAQCAtMCwwICsxLDE0IEBACitERVNDUklQVElPTiA9ICJVU0IgRGV2aWNlIEZpcm13YXJlIFVwZ3JhZGUgdXRpbGl0eSIKK1NFQ1RJT04gPSAiZGV2ZWwiCitBVVRIT1IgPSAiSGFyYWxkIFdlbHRlIDxsYWZvcmdlQG9wZW5tb2tvLm9yZz4iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK1NSQ19VUkkgPSAiaHR0cDovL2RmdS11dGlsLmdudW1vbmtzLm9yZy9yZWxlYXNlcy8ke0JQfS50YXIuZ3oiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitERVBFTkRTID0gImxpYnVzYjEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyMzNiYjFlMDhlZjRiNDA1MDYyNDQ1ZDg0ZTI4ZmRlNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzNjQyOGM2YTZjYjMwODhjYWQ1YTM1OTI5MzMzODUyNTNkYTVmMjlmMmVmZmE2MTUxOGVlNTk5MWVhMzhmODMzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kaWdpdGVtcC9kaWdpdGVtcC9tYWtlZmlsZS1maXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RpZ2l0ZW1wL2RpZ2l0ZW1wL21ha2VmaWxlLWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMGQ1NTJkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kaWdpdGVtcC9kaWdpdGVtcC9tYWtlZmlsZS1maXgucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorZGlnaXRlbXA6IGFsbG93IG92ZXJyaWRlIG9mIENDIGFuZCBDRkxBR1MgdmFycworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgorCistLS0gYS9NYWtlZmlsZQkyMDA4LTA4LTI4IDIxOjM3OjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGIvTWFrZWZpbGUJMjAxMS0xMS0yNCAyMjoyMjozOS44ODI1MTEyNzIgKzAwMDAKK0BAIC0xMSw4ICsxMSw5IEBACisgCisgVkVSU0lPTiA9IDMuNi4wCisgCistQ0MJPSBnY2MKKy1DRkxBR1MJPSAtSS4vc3JjIC1JLi91c2VyaWFsIC1PMiAtV2FsbCAjIC1nCisrQ0MJPz0gZ2NjCisrQ0ZMQUdTCT89ICAtTzIgLVdhbGwgIyAtZworK0NGTEFHUyArPSAtSS4vc3JjIC1JLi91c2VyaWFsCisgCisgT0JKUwkJPQlzcmMvZGlnaXRlbXAubyBzcmMvZGV2aWNlX25hbWUubyBzcmMvZHMyNDM4Lm8KKyBIRFJTCQk9IAlzcmMvZGlnaXRlbXAuaCBzcmMvZGV2aWNlX25hbWUuaApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kaWdpdGVtcC9kaWdpdGVtcF8zLjYuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGlnaXRlbXAvZGlnaXRlbXBfMy42LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjU4MjgyMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGlnaXRlbXAvZGlnaXRlbXBfMy42LjAuYmIKQEAgLTAsMCArMSwyNyBAQAorU1VNTUFSWSA9ICJyZWFkIHRlbXBlcmF0dXJlIHNlbnNvcnMgaW4gYSAxLVdpcmUgbmV0IgorU0VDVElPTiA9ICJ1dGlsIgorREVQRU5EUyA9ICJsaWJ1c2IxIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTQ0ZmVlODJhMWQyZWQwNjc2Y2YzNTQ3ODI4M2UwYWEwIgorCitQUiA9ICJyMiIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmRpZ2l0ZW1wLmNvbS9zb2Z0d2FyZS9saW51eC9kaWdpdGVtcC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vbWFrZWZpbGUtZml4LnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gIjliZTJlNDhkYjM3OTIwZjIxOTI1YWU2ZTg4ZjgzYjg0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjE0Y2ZjNTg0Y2QzNzE0ZmU4YzlhMmNkYzgzODhiZTQ5ZTA4YjVlMzk1ZDk1ZTZiY2QxMWQ0NDEwZTI1MDVjYTIiCisKK0VYVFJBX09FTUFLRSA9ICJkczkwOTcgZHM5MDk3dSBcCisgICAgICAgICAgICAgICAgU1lTVFlQRT0nTGludXgnIFwKKyIKKyMgRml4IEdOVV9IQVNIIFFBIGVycm9ycworVEFSR0VUX0NDX0FSQ0ggKz0gIiR7Q0ZMQUdTfSAke0xERkxBR1N9IgorCitkb19jb25maWd1cmUoKSB7CisgICAgcm0gLWYgZGlnaXRlbXBfKgorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0KKyAgICBpbnN0YWxsIGRpZ2l0ZW1wXyogJHtEfSR7c2JpbmRpcn0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZHN0YXQvZHN0YXRfMC43LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RzdGF0L2RzdGF0XzAuNy4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzZjE4MTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RzdGF0L2RzdGF0XzAuNy4yLmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAidmVyc2F0aWxlIHJlc291cmNlIHN0YXRpY3MgdG9vbCIKK0RFU0NSSVBUSU9OID0gIkRzdGF0IGlzIGEgdmVyc2F0aWxlIHJlcGxhY2VtZW50IGZvciB2bXN0YXQsIGlvc3RhdCwgbmV0c3RhdCBhbmQgaWZzdGF0LiBcCitEc3RhdCBvdmVyY29tZXMgc29tZSBvZiB0aGVpciBsaW1pdGF0aW9ucyBhbmQgYWRkcyBzb21lIGV4dHJhIGZlYXR1cmVzLCBtb3JlIGNvdW50ZXJzIFwKK2FuZCBmbGV4aWJpbGl0eS4gRHN0YXQgaXMgaGFuZHkgZm9yIG1vbml0b3Jpbmcgc3lzdGVtcyBkdXJpbmcgcGVyZm9ybWFuY2UgdHVuaW5nIHRlc3RzLCBcCitiZW5jaG1hcmtzIG9yIHRyb3VibGVzaG9vdGluZy4iCitIT01FUEFHRSA9ICJodHRwOi8vZGFnLndpZWUucnMvaG9tZS1tYWRlL2RzdGF0IgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2RhZ3dpZWVycy9kc3RhdC5naXQiCitTUkNfVVJJW21kNXN1bV0gPSAiNzk4ZTA1MGUyZTAyNGYwOGEyNzJkZDRiMGUxZWJhNDEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTZkMWU2ZWEyNDM0ZTQ3N2ZhOTczMjJkOTI3NzhmNjg0NThkN2U1N2JjNTViYzRmNzJlMjk0NjdhNTJjZmZkMSIKKworU1JDUkVWID0gIjUyNTEzOTdlYjhkM2IyODRhOTBiZmRmYWVjMGM4ZTEyMTAxNDZlM2YiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICAjdW5kbyB0aGUgc3RlcCAibWFrZSBkb2NzIgorICAgIHNlZCAtaSAtZSAncy8kKE1BS0UpIC1DIGRvY3MgZG9jcy8jICQoTUFLRSkgLUMgZG9jcyBkb2NzLzsnICR7U30vTWFrZWZpbGUKK30KK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VkYWMtdXRpbHMvZWRhYy11dGlsc19naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VkYWMtdXRpbHMvZWRhYy11dGlsc19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzBhZDY2NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZWRhYy11dGlscy9lZGFjLXV0aWxzX2dpdC5iYgpAQCAtMCwwICsxLDM0IEBACitTVU1NQVJZID0gIlVzZXJzcGFjZSBoZWxwZXIgZm9yIExpbnV4IGtlcm5lbCBFREFDIGRyaXZlcnMiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vZ3JvbmRvL2VkYWMtdXRpbHMiCitTRUNUSU9OID0gIkFwcGxpY2F0aW9ucy9TeXN0ZW0iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK0RFUEVORFMgPSAiIHN5c2ZzdXRpbHMiCisKK1NSQ1JFViA9ICJmOWFhOTYyMDVmNjEwZGUzOWE3OWZmNDNjNzQ3OGI3ZWYwMmUzMTM4IgorUFYgPSAiMC4xOCtnaXQke1NSQ1BWfSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2dyb25kby9lZGFjLXV0aWxzIFwKKyAgICBmaWxlOi8vbWFrZS1pbml0LXNjcmlwdC1iZS1hYmxlLXRvLWF1dG9tYXRpY2FsbHktbG9hZC1FREFDLS5wYXRjaCBcCisgICAgZmlsZTovL2FkZC1yZXN0YXJ0LXRvLWluaXRzY3JpcHQucGF0Y2ggXAorIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgIHRvdWNoICR7U30vQ2hhbmdlTG9nCisgICAgJHtTfS9ib290c3RyYXAKK30KKworUkRFUEVORFNfJHtQTn1feDg2ID0gImRtaWRlY29kZSIKK1JERVBFTkRTXyR7UE59X3g4Ni02NCA9ICJkbWlkZWNvZGUiCitSREVQRU5EU18ke1BOfV9hcm0gPSAiZG1pZGVjb2RlIgorUkRFUEVORFNfJHtQTn1fYWFyY2g2NCA9ICJkbWlkZWNvZGUiCitSREVQRU5EU18ke1BOfV9wb3dlcnBjID0gImRtaWRlY29kZSIKK1JERVBFTkRTXyR7UE59X3Bvd2VycGM2NCA9ICJkbWlkZWNvZGUiCitSREVQRU5EU18ke1BOfV9hcHBlbmQgPSAiIFwKKyAgICBwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIHBlcmwtbW9kdWxlLWZpbGUtZmluZCBwZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyBwZXJsLW1vZHVsZS1wb3NpeCBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VkYWMtdXRpbHMvZmlsZXMvYWRkLXJlc3RhcnQtdG8taW5pdHNjcmlwdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZWRhYy11dGlscy9maWxlcy9hZGQtcmVzdGFydC10by1pbml0c2NyaXB0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3MDUxZGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VkYWMtdXRpbHMvZmlsZXMvYWRkLXJlc3RhcnQtdG8taW5pdHNjcmlwdC5wYXRjaApAQCAtMCwwICsxLDMzIEBACitGcm9tIDNhZGU4MzdmNjRkZTBjZmUyYWVkNWJjNTJmNzkxOTc2MGYzNTA1MzEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBXZW56b25nIEZhbiA8d2Vuem9uZy5mYW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IEZyaSwgNyBNYXIgMjAxNCAwMDo1NzoxMiAtMDUwMAorU3ViamVjdDogW1BBVENIXSBlZGFjOiBhZGQgcmVzdGFydCB0byBpbml0c2NyaXB0CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBXZW56b25nIEZhbiA8d2Vuem9uZy5mYW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIHNyYy9ldGMvZWRhYy5pbml0LmluIHwgICAgNiArKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvZXRjL2VkYWMuaW5pdC5pbiBiL3NyYy9ldGMvZWRhYy5pbml0LmluCitpbmRleCBhZGY3NmVlLi4wMDdhNTE5IDEwMDY0NAorLS0tIGEvc3JjL2V0Yy9lZGFjLmluaXQuaW4KKysrKyBiL3NyYy9ldGMvZWRhYy5pbml0LmluCitAQCAtMTU1LDggKzE1NSwxMiBAQCBjYXNlICIkMSIgaW4KKyAgIHN0YXR1cykKKyAgICAgc2VydmljZV9zdGF0dXMKKyAgICAgOzsKKysgIHJlc3RhcnQpCisrICAgIHNlcnZpY2Vfc3RvcAorKyAgICBzZXJ2aWNlX3N0YXJ0CisrICAgIDs7CisgICAqKQorLSAgICBDT01NQU5EUz0ic3RhcnR8c3RvcHxzdGF0dXMiCisrICAgIENPTU1BTkRTPSJzdGFydHxzdG9wfHN0YXR1c3xyZXN0YXJ0IgorICAgICBlY2hvICJVc2FnZTogJDAgeyR7Q09NTUFORFN9fSIKKyAgICAgZXhpdCAyCisgICAgIDs7CistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lZGFjLXV0aWxzL2ZpbGVzL21ha2UtaW5pdC1zY3JpcHQtYmUtYWJsZS10by1hdXRvbWF0aWNhbGx5LWxvYWQtRURBQy0ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VkYWMtdXRpbHMvZmlsZXMvbWFrZS1pbml0LXNjcmlwdC1iZS1hYmxlLXRvLWF1dG9tYXRpY2FsbHktbG9hZC1FREFDLS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZGRjMjVmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lZGFjLXV0aWxzL2ZpbGVzL21ha2UtaW5pdC1zY3JpcHQtYmUtYWJsZS10by1hdXRvbWF0aWNhbGx5LWxvYWQtRURBQy0ucGF0Y2gKQEAgLTAsMCArMSw5OCBAQAorbWFrZSBpbml0IHNjcmlwdCBiZSBhYmxlIHRvIGF1dG9tYXRpY2FsbHkgbG9hZCBFREFDIG1vZHVsZS4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogUm95LkxpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2V0Yy9lZGFjLmluaXQuaW4gfCAgIDQ5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgNDcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9ldGMvZWRhYy5pbml0LmluIGIvc3JjL2V0Yy9lZGFjLmluaXQuaW4KK2luZGV4IDdhNTFkYTkuLjViNTY4YzQgMTAwNjQ0CistLS0gYS9zcmMvZXRjL2VkYWMuaW5pdC5pbgorKysrIGIvc3JjL2V0Yy9lZGFjLmluaXQuaW4KK0BAIC00Miw3ICs0Miw2IEBAIGZvciBkaXIgaW4gIiRzeXNjb25mZGlyL2RlZmF1bHQiICIkc3lzY29uZmRpci9zeXNjb25maWciOyBkbworICAgWyAtZiAiJGRpci8kU0VSVklDRSIgXSAmJiAuICIkZGlyLyRTRVJWSUNFIgorIGRvbmUKKyAKKy0KKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgCisgc2VydmljZV9zdGFydCAoKQorQEAgLTUyLDYgKzUxLDQ2IEBAIHNlcnZpY2Vfc3RhcnQgKCkKKyAjIEFzc3VtZSB0aGF0IGlmIEVEQUNfRFJJVkVSIGlzIG5vdCBzZXQsIHRoZW4gRURBQyBpcyBjb25maWd1cmVkCisgIyAgYXV0b21hdGljYWxseSwgdGh1cyByZXR1cm4gc3VjY2Vzc2Z1bGx5LCBidXQgZG9uJ3QgZG8gYW55dGhpbmcuCisgIworKyAgICBpZiBbICEgLWYgL2V0Yy9lZGFjL2VkYWMtZHJpdmVyIF07IHRoZW4KKysgICAgICAgICBbIC1kIC9zeXMvYnVzL2VkYWMvZGV2aWNlcy9tYy9tYzAgXSAmJiBcCisrICAgICAgICAgZWNobyBgbHNtb2QgfCBncmVwIF9lZGFjIHwgY3V0IC1kIiAiIC1mMWAgPiAvZXRjL2VkYWMvZWRhYy1kcml2ZXIKKysgICAgZmkKKysKKysgICAgWyAtZiAvZXRjL2VkYWMvZWRhYy1kcml2ZXIgXSAmJiBFREFDX0RSSVZFUj1gY2F0IC9ldGMvZWRhYy9lZGFjLWRyaXZlcmAKKysKKysgICAgaWYgWyAteiAiJEVEQUNfRFJJVkVSIiBdOyB0aGVuCisrCisrICAgICAgICBEUklWRVJfUEFUSD0vbGliL21vZHVsZXMvYHVuYW1lIC1yYC9rZXJuZWwvZHJpdmVycy9lZGFjCisrICAgICAgICBvbGRwYXRoPWBwd2RgCisrICAgICAgICBpZiBbIC1kICREUklWRVJfUEFUSCBdOyB0aGVuCisrCisrICAgICAgICAgICAgY2QgJERSSVZFUl9QQVRICisrCisrICAgICAgICAgICAgZm9yIGkgaW4gJCgvYmluL2xzIHwgL3Vzci9iaW4vY3V0IC1kLiAtZjEpIDsgZG8KKysgICAgICAgICAgICAgICAgL3NiaW4vbW9kcHJvYmUgJGkgMj4vZGV2L251bGwKKysgICAgICAgICAgICAgICAgaWYgWyAtZCAvc3lzL2J1cy9lZGFjL2RldmljZXMvbWMvbWMwIF07IHRoZW4KKysgICAgICAgICAgICAgICAgICAgIGVjaG8gJGk+IC9ldGMvZWRhYy9lZGFjLWRyaXZlcgorKyAgICAgICAgICAgICAgICAgICAgRURBQ19EUklWRVI9JGkKKysgICAgICAgICAgICAgICAgICAgIGJyZWFrCisrICAgICAgICAgICAgICAgIGZpCisrICAgICAgICAgICAgICAgIC9zYmluL21vZHByb2JlIC1yICRpIDI+L2Rldi9udWxsCisrICAgICAgICAgICAgZG9uZQorKworKyAgICAgICAgICAgIGNkICIkb2xkcGF0aCIKKysKKysKKysgICAgICAgICAgICBpZiBbIC16ICIkRURBQ19EUklWRVIiIF07IHRoZW4KKysgICAgICAgICAgICAgICAgZWNobyAiVGhpcyBib2FyZCBtYXkgbm90IHN1cHBvcnQgRURBQywgb3IgRURBQyBtb2R1bGUgbWF5IG5vdCBiZSBjb21waWxlZCBpbiIKKysgICAgICAgICAgICAgICAgZXhpdAorKyAgICAgICAgICAgIGZpCisrCisrICAgICAgICBlbHNlCisrICAgICAgICAgICAgZWNobyAiVGhpcyBib2FyZCBtYXkgbm90IHN1cHBvcnQgRURBQywgb3IgRURBQyBtb2R1bGUgbWF5IG5vdCBiZSBjb21waWxlZCBpbiIKKysgICAgICAgICAgICBleGl0CisrICAgICAgICBmaQorKworKyAgICBmaQorKworICAgaWYgWyAtbiAiJEVEQUNfRFJJVkVSIiBdOyB0aGVuCisgICAgICBlY2hvIC1uICJTdGFydGluZyAke1NFUlZJQ0V9OiAiCisgICAgICBtb2Rwcm9iZSAkRURBQ19EUklWRVIKK0BAIC03NiwxMiArMTE1LDE1IEBAIHNlcnZpY2Vfc3RhcnQgKCkKKyBzZXJ2aWNlX3N0b3AgKCkKKyB7CisgICBlY2hvIC1uICJEaXNhYmxpbmcgJHtTRVJWSUNFfTogIgorKworKyAgWyAtZiAvZXRjL2VkYWMvZWRhYy1kcml2ZXIgXSAmJiBFREFDX0RSSVZFUj1gY2F0IC9ldGMvZWRhYy9lZGFjLWRyaXZlcmAKKysKKyAgIGlmIFsgLW4gIiRFREFDX0RSSVZFUiIgXTsgdGhlbgorICAgICBtb2Rwcm9iZSAtciAkRURBQ19EUklWRVIKKyAgICAgU1RBVFVTPSQ/CisgICAgIFsgJFNUQVRVUyAtZXEgMCBdICYmIGVjaG8gc3VjY2VzcyB8fCBlY2hvIGZhaWx1cmUKKyAgIGVsc2UKKy0gICAgZWNobyAiTm90IHN1cHBvcnRlZCBmb3IgdGhpcyBjb25maWd1cmF0aW9uLiIKKysgICAgZWNobyAiTm90IHN1cHBvcnRlZCBmb3IgdGhpcyBjb25maWd1cmF0aW9uLCBvciBFREFDIE1vZHVsZSBpcyBub3QgbG9hZGVkLiIKKyAgICAgU1RBVFVTPTYKKyAgIGZpCisgfQorQEAgLTkyLDYgKzEzNCw5IEBAIHNlcnZpY2Vfc3RhdHVzICgpCisgeworICMgUHJpbnQgdGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSBzZXJ2aWNlLiAgUmVxdWlyZWQgYnkgTFNCLgorICMKKysgIFsgLWYgL2V0Yy9lZGFjL2VkYWMtZHJpdmVyIF0gJiYgRURBQ19EUklWRVI9YGNhdCAvZXRjL2VkYWMvZWRhYy1kcml2ZXJgCisrICBbIC16ICIkRURBQ19EUklWRVIiIF0gJiYgU1RBVFVTPTEgJiYgZXhpdAorKworICAgZWRhYy1jdGwgLS1zdGF0dXMKKyAgIFNUQVRVUz0wCisgfQorLS0gCisxLjcuMTAuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VqZWN0L2VqZWN0L2VqZWN0LTIuMS4xLXZlcmJvc2UucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VqZWN0L2VqZWN0L2VqZWN0LTIuMS4xLXZlcmJvc2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzQwMzYwNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZWplY3QvZWplY3QvZWplY3QtMi4xLjEtdmVyYm9zZS5wYXRjaApAQCAtMCwwICsxLDE5IEBACitLZXB0IHRvIGhlbHAgd2l0aCBkZWJ1Z2dpbmcKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IE1vcmdhbiBMaXR0bGUgPG1vcmdhbi5saXR0bGVAd2luZHJpdmVyLmNvbT4KKworLS0tIGVqZWN0LTIuMS4xL2VqZWN0LmMudG4JMjAwNS0wOC0yNCAxMToyNzo0Mi4wMDAwMDAwMDAgKzAyMDAKKysrKyBlamVjdC0yLjEuMS9lamVjdC5jCTIwMDUtMDgtMjQgMTE6MzM6MDUuMDAwMDAwMDAwICswMjAwCitAQCAtNjM4LDcgKzYzOCw5IEBACisgCXVuc2lnbmVkIGNoYXIgc2Vuc2VfYnVmZmVyWzMyXTsKKyAKKyAJaWYgKChpb2N0bChmZCwgU0dfR0VUX1ZFUlNJT05fTlVNLCAmaykgPCAwKSB8fCAoayA8IDMwMDAwKSkgeworLQkgIHByaW50Zigibm90IGFuIHNnIGRldmljZSwgb3Igb2xkIHNnIGRyaXZlclxuIik7CisrCSAgaWYgKHZfb3B0aW9uKSB7CisrCQkgIHByaW50ZihfKCJub3QgYW4gc2cgZGV2aWNlLCBvciBvbGQgc2cgZHJpdmVyXG4iKSk7CisrCSAgfQorIAkgIHJldHVybiAwOworIAl9CisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VqZWN0L2VqZWN0L2VqZWN0LTIuMS41LWVycm9yLXJldHVybi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZWplY3QvZWplY3QvZWplY3QtMi4xLjUtZXJyb3ItcmV0dXJuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlMTMwMzYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VqZWN0L2VqZWN0L2VqZWN0LTIuMS41LWVycm9yLXJldHVybi5wYXRjaApAQCAtMCwwICsxLDEyIEBACitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW3RoZSB1cHN0cmVhbSBpcyBubyBsb25nZXIgYWN0aXZlXQorCistLS0gZWplY3QvZWplY3QuYy5vcmlnCTIwMTMtMDktMTEgMTg6MDg6MzYuMDAwMDAwMDAwICswODAwCisrKysgZWplY3QvZWplY3QuYwkyMDEzLTA5LTExIDE4OjA5OjA1LjAwMDAwMDAwMCArMDgwMAorQEAgLTIwNyw3ICsyMDcsNiBAQAorICJJZiBvbWl0dGVkLCBuYW1lIGRlZmF1bHRzIHRvIGAlcycuXG4iCisgIkJ5IGRlZmF1bHQgdHJpZXMgLXIsIC1zLCAtZiwgYW5kIC1xIGluIG9yZGVyIHVudGlsIHN1Y2Nlc3MuXG4iKSwKKyAJCQlERUZBVUxUREVWSUNFKTsKKy0gIGV4aXQoMSk7CisgfQorIAorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lamVjdC9lamVjdC9lamVjdC0yLjEuNS1zcGFjZXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VqZWN0L2VqZWN0L2VqZWN0LTIuMS41LXNwYWNlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMTZjNGIxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lamVjdC9lamVjdC9lamVjdC0yLjEuNS1zcGFjZXMucGF0Y2gKQEAgLTAsMCArMSw2NiBAQAorS2VwdCB0byBoZWxwIHdpdGggc3BhY2VzIGluIHRoZSBtb3VudCBwYXRoCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworTGludXggbWFuZ2xlcyBzcGFjZXMgaW4gbW91bnQgcG9pbnRzIGJ5IGNoYW5naW5nIHRoZW0gdG8gYW4gb2N0YWwgc3RyaW5nCitvZiAnXDA0MCcuICBTbyBsZXRzIHNjYW4gdGhlIG1vdW50IHBvaW50IGFuZCBmaXggaXQgdXAgYnkgcmVwbGFjaW5nIGFsbAorb2NjdXJyZW5jZXMgb2ZmICdcMCMjJyB3aXRoIHRoZSBBU0NJSSB2YWx1ZSBvZiAwIyMuICBSZXF1aXJlcyBhIHdyaXRhYmxlCitzdHJpbmcgYXMgaW5wdXQgYXMgd2UgbWFuZ2xlIGluIHBsYWNlLiAgU29tZSBvZiB0aGlzIHdhcyB0YWtlbiBmcm9tIHRoZQordXRpbC1saW51eCBwYWNrYWdlLgorCitTaWduZWQtb2ZmLWJ5OiBNb3JnYW4gTGl0dGxlIDxtb3JnYW4ubGl0dGxlQHdpbmRyaXZlci5jb20+CistLS0gZWplY3QvZWplY3QuYy5vcmkgICAyMDA3LTA2LTI0IDAwOjA4OjQ0IC0wNzAwCisrKysgZWplY3QvZWplY3QuYyAgICAgICAyMDA3LTA2LTI0IDAwOjEyOjQ0IC0wNzAwCitAQCAtMzcwLDYgKzM3MCwzMCBAQAorIAorIAorIC8qCisrICogTGludXggbWFuZ2xlcyBzcGFjZXMgaW4gbW91bnQgcG9pbnRzIGJ5IGNoYW5naW5nIHRoZW0gdG8gYW4gb2N0YWwgc3RyaW5nCisrICogb2YgJ1wwNDAnLiAgU28gbGV0cyBzY2FuIHRoZSBtb3VudCBwb2ludCBhbmQgZml4IGl0IHVwIGJ5IHJlcGxhY2luZyBhbGwKKysgKiBvY2N1cnJlbmNlcyBvZmYgJ1wwIyMnIHdpdGggdGhlIEFTQ0lJIHZhbHVlIG9mIDAjIy4gIFJlcXVpcmVzIGEgd3JpdGFibGUKKysgKiBzdHJpbmcgYXMgaW5wdXQgYXMgd2UgbWFuZ2xlIGluIHBsYWNlLiAgU29tZSBvZiB0aGlzIHdhcyB0YWtlbiBmcm9tIHRoZQorKyAqIHV0aWwtbGludXggcGFja2FnZS4KKysgKi8KKysjZGVmaW5lIG9jdGFsaWZ5KGEpICgoYSkgJiA3KQorKyNkZWZpbmUgdG9vY3RhbChzKSAoNjQqb2N0YWxpZnkoc1sxXSkgKyA4Km9jdGFsaWZ5KHNbMl0pICsgb2N0YWxpZnkoc1szXSkpCisrI2RlZmluZSBpc29jdGFsKGEpICgoKGEpICYgfjcpID09ICcwJykKKytzdGF0aWMgY2hhciAqRGVNYW5nbGVNb3VudChjaGFyICpzKQorK3sKKysJY2hhciAqdG1wID0gczsKKysJd2hpbGUgKCh0bXAgPSBzdHJjaHIodG1wLCAnXFwnKSkgIT0gTlVMTCkgeworKwkJaWYgKGlzb2N0YWwodG1wWzFdKSAmJiBpc29jdGFsKHRtcFsyXSkgJiYgaXNvY3RhbCh0bXBbM10pKSB7CisrCQkJdG1wWzBdID0gdG9vY3RhbCh0bXApOworKwkJCW1lbW1vdmUodG1wKzEsIHRtcCs0LCBzdHJsZW4odG1wKS0zKTsKKysJCX0KKysJCSsrdG1wOworKwl9CisrCXJldHVybiBzOworK30KKysKKysKKysvKgorICAqIEdpdmVuIG5hbWUsIHN1Y2ggYXMgZm9vLCBzZWUgaWYgYW55IG9mIHRoZSBmb2xsb3dpbmcgZXhpc3Q6CisgICoKKyAgKiBmb28gKGlmIGZvbyBzdGFydHMgd2l0aCAnLicgb3IgJy8nKQorQEAgLTg4NCw4ICs5MDgsOCBAQAorIAkJCWlmICgoKHN0cmNtcChzMSwgbmFtZSkgPT0gMCkgfHwgKHN0cmNtcChzMiwgbmFtZSkgPT0gMCkpIHx8CisgCQkJCSgobWFqICE9IC0xKSAmJiAobWFqID09IG10YWJtYWopICYmIChtaW4gPT0gbXRhYm1pbikpKSB7CisgCQkJCUZDTE9TRShmcCk7CistCQkJCSpkZXZpY2VOYW1lID0gc3RyZHVwKHMxKTsKKy0JCQkJKm1vdW50TmFtZSA9IHN0cmR1cChzMik7CisrCQkJCSpkZXZpY2VOYW1lID0gRGVNYW5nbGVNb3VudChzdHJkdXAoczEpKTsKKysJCQkJKm1vdW50TmFtZSA9IERlTWFuZ2xlTW91bnQoc3RyZHVwKHMyKSk7CisgCQkJCXJldHVybiAxOworIAkJCX0KKyAJCX0KK0BAIC05MjgsOCArOTUyLDggQEAKKyAJCXJjID0gc3NjYW5mKGxpbmUsICIlMTAyM3MgJTEwMjNzIiwgczEsIHMyKTsKKyAJCWlmIChyYyA+PSAyICYmIHMxWzBdICE9ICcjJyAmJiBzdHJjbXAoczIsIG5hbWUpID09IDApIHsKKyAJCQlGQ0xPU0UoZnApOworLQkJCSpkZXZpY2VOYW1lID0gc3RyZHVwKHMxKTsKKy0JCQkqbW91bnROYW1lID0gc3RyZHVwKHMyKTsKKysJCQkqZGV2aWNlTmFtZSA9IERlTWFuZ2xlTW91bnQoc3RyZHVwKHMxKSk7CisrCQkJKm1vdW50TmFtZSA9IERlTWFuZ2xlTW91bnQoc3RyZHVwKHMyKSk7CisgCQkJcmV0dXJuIDE7CisgCQl9CisgCX0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZWplY3QvZWplY3QvZWplY3QtdGltZW91dC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZWplY3QvZWplY3QvZWplY3QtdGltZW91dC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTgxNDZmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lamVjdC9lamVjdC9lamVjdC10aW1lb3V0LnBhdGNoCkBAIC0wLDAgKzEsMTcgQEAKK2FsbG93IGEgbG9uZ2VyIHRpbWVvdXQKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCAKKworU2lnbmVkLW9mZi1ieTogTW9yZ2FuIExpdHRsZSA8bW9yZ2FuLmxpdHRsZUB3aW5kcml2ZXIuY29tPgorCistLS0gZWplY3QvZWplY3QuYy5vcmlnCTIwMDYtMDgtMDcgMTY6MzU6MTUuMDAwMDAwMDAwICswMjAwCisrKysgZWplY3QvZWplY3QuYwkyMDA2LTA4LTA3IDE2OjM1OjU0LjAwMDAwMDAwMCArMDIwMAorQEAgLTcyMyw3ICs3MjMsNyBAQAorIAlpb19oZHIuZHhmZXJfbGVuID0gMDsKKyAJaW9faGRyLmR4ZmVycCA9IGlucUJ1ZmY7CisgCWlvX2hkci5zYnAgPSBzZW5zZV9idWZmZXI7CistCWlvX2hkci50aW1lb3V0ID0gMjAwMDsKKysJaW9faGRyLnRpbWVvdXQgPSAxMDAwMDsKKyAKKyAJaW9faGRyLmNtZHAgPSBhbGxvd1JtQmxrOworIAlzdGF0dXMgPSBpb2N0bChmZCwgU0dfSU8sICh2b2lkICopJmlvX2hkcik7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VqZWN0L2VqZWN0XzIuMS41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lamVjdC9lamVjdF8yLjEuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDQwZjBjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lamVjdC9lamVjdF8yLjEuNS5iYgpAQCAtMCwwICsxLDM1IEBACitERVNDUklQVElPTiA9ICJFamVjdCBhbGxvd3MgcmVtb3ZhYmxlIG1lZGlhICh0eXBpY2FsbHkgYSBDRC1ST00sIGZsb3BweSBkaXNrLCB0YXBlLCBvciBKQVogb3IgWklQIGRpc2spIHRvIGJlIGVqZWN0ZWQgdW5kZXIgc29mdHdhcmUgY29udHJvbC4iCitIT01FUEFHRSA9ICJodHRwOi8vZWplY3Quc291cmNlZm9yZ2UubmV0LyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04Y2E0M2NiYzg0MmMyMzM2ZTgzNTkyNmMyMTY2YzI4YiIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCB1cGRhdGUtYWx0ZXJuYXRpdmVzCisKK1NSQ19VUkkgPSAiaHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZWplY3QtMi4xLjUtZXJyb3ItcmV0dXJuLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2VqZWN0LTIuMS4xLXZlcmJvc2UucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZWplY3QtMi4xLjUtc3BhY2VzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2VqZWN0LXRpbWVvdXQucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYjk2YTZkNDI2MzEyMmYxNzExZGIxMjcwMWQ3OWY3MzgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWY5Zjc5MDY0ODRjZmRlNGJhMjIzYjI2ODJhMzcwNThmOWEzYzdkM2JiMWFkZGE3YTM0YTY3NDAyZTJmZmU1NSIKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfSIKKworUFIgPSAicjEiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICAjIFBPIHN1YmRpciBtdXN0IGJlIGluIGJ1aWxkIGRpcmVjdG9yeQorICAgIGlmIFsgISAke1N9ID0gJHtCfSBdOyB0aGVuCisgICAgICAgIG1rZGlyIC1wICR7Qn0vcG8KKyAgICAgICAgY3AgLXIgJHtTfS9wby8qICR7Qn0vcG8vCisgICAgZmkKK30KKworQUxURVJOQVRJVkVfJHtQTn0gPSAidm9sbmFtZSBlamVjdCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt2b2xuYW1lXSA9ICIke2JpbmRpcn0vdm9sbmFtZSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtlamVjdF0gPSAiJHtiaW5kaXJ9L2VqZWN0IgorQUxURVJOQVRJVkVfUFJJT1JJVFlbdm9sbmFtZV0gPSAiMTAwIgorQUxURVJOQVRJVkVfUFJJT1JJVFlbZWplY3RdID0gIjEwMCIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbWFjcy9lbWFjcy0yMy40L25vc3RkbGliLXVud2luZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW1hY3MvZW1hY3MtMjMuNC9ub3N0ZGxpYi11bndpbmQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDIwMDMwMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW1hY3MvZW1hY3MtMjMuNC9ub3N0ZGxpYi11bndpbmQucGF0Y2gKQEAgLTAsMCArMSwxNiBAQAorRml4IGxpbmtpbmcgcHJvYmxlbToKK3VuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fYWVhYmlfdW53aW5kX2NwcF9wcjAnCit1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX2FlYWJpX3Vud2luZF9jcHBfcHIxJworSW5kZXg6IGVtYWNzL3NyYy9NYWtlZmlsZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGVtYWNzLm9yaWcvc3JjL01ha2VmaWxlLmluCTIwMDgtMDgtMTYgMTQ6MjA6MTguMDAwMDAwMDAwICswMDAwCisrKysgZW1hY3Mvc3JjL01ha2VmaWxlLmluCTIwMDgtMDgtMTYgMTQ6NTE6MjUuMDAwMDAwMDAwICswMDAwCitAQCAtNDQzLDcgKzQ0Myw3IEBACisgICAgYXNrIEdDQyBleHBsaWNpdGx5IHdoZXJlIHRvIGZpbmQgbGliZ2NjLmEuICAqLworIAorICNpZm5kZWYgTElOS0VSCistI2RlZmluZSBMSU5LRVIgJChDQykgLW5vc3RkbGliCisrI2RlZmluZSBMSU5LRVIgJChDQykgLW5vc3RkbGliIC1sZ2NjX3MKKyAjZW5kaWYKKyAKKyAjaWZuZGVmIExJQl9HQ0MKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW1hY3MvZW1hY3MtMjMuNC91c2UtcWVtdS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW1hY3MvZW1hY3MtMjMuNC91c2UtcWVtdS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMTUyMDdhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbWFjcy9lbWFjcy0yMy40L3VzZS1xZW11LnBhdGNoCkBAIC0wLDAgKzEsMTA0IEBACitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitkaWZmIC11TnIgZW1hY3MtMjMuNC9NYWtlZmlsZS5pbiBlbWFjcy0yMy40Lm5ldy9NYWtlZmlsZS5pbgorLS0tIGVtYWNzLTIzLjQvTWFrZWZpbGUuaW4JMjAxMi0wMS0xMSAxMzozNTowMS4wMDAwMDAwMDAgKzAxMDAKKysrKyBlbWFjcy0yMy40Lm5ldy9NYWtlZmlsZS5pbgkyMDEyLTA3LTMxIDAwOjU0OjA3LjIyMzU5MDg2NiArMDIwMAorQEAgLTMzNiw3ICszMzYsNyBAQAorICMgYWxsIHByZWxvYWRlZCBlbGlzcCBmaWxlcywgYW5kIG9ubHkgdGhlbiBkdW1wIHRoZSBhY3R1YWwgc3JjL2VtYWNzLCB3aGljaAorICMgaXMgbm90IHdyb25nLCBidXQgaXMgb3ZlcmtpbGwgaW4gOTkuOTklIG9mIHRoZSBjYXNlcy4KKyBzcmM6IE1ha2VmaWxlIEZSQworLQlib290PWJvb3RzdHJhcC1lbWFjcyQoRVhFRVhUKTsgICAgICAgICAgICAgICAgICAgICAgICAgXAorKwlib290PSR7UUVNVX0gYm9vdHN0cmFwLWVtYWNzJChFWEVFWFQpOyAgICAgICAgICAgICAgICAgICAgICAgICBcCisgCWlmIFsgISAteCAic3JjLyQkYm9vdCIgXTsgdGhlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgCSAgICBjZCAkQDsgJChNQUtFKSBhbGwgJChNRkxBR1MpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgCSAgICAgIENDPScke0NDfScgQ0ZMQUdTPScke0NGTEFHU30nIENQUEZMQUdTPScke0NQUEZMQUdTfScgICAgICAgICBcCitkaWZmIC11TnIgZW1hY3MtMjMuNC9sZWltL01ha2VmaWxlLmluIGVtYWNzLTIzLjQubmV3L2xlaW0vTWFrZWZpbGUuaW4KKy0tLSBlbWFjcy0yMy40L2xlaW0vTWFrZWZpbGUuaW4JMjAxMi0wMS0xMSAxMzozNTowMS4wMDAwMDAwMDAgKzAxMDAKKysrKyBlbWFjcy0yMy40Lm5ldy9sZWltL01ha2VmaWxlLmluCTIwMTItMDctMzEgMDA6NTQ6MDcuMTc5NTkwODY2ICswMjAwCitAQCAtNTEsNyArNTEsNyBAQAorIAorICMgSG93IHRvIHJ1biBFbWFjcy4KKyBSVU4tRU1BQ1MgPSBFTUFDU0xPQURQQVRIPSQoYnVpbGRsaXNwcGF0aCkgTENfQUxMPUMgXAorLQkke0JVSUxULUVNQUNTfSAtYmF0Y2ggLS1uby1pbml0LWZpbGUgLS1uby1zaXRlLWZpbGUgLS1tdWx0aWJ5dGUKKysJJHtRRU1VfSAke0JVSUxULUVNQUNTfSAtYmF0Y2ggLS1uby1pbml0LWZpbGUgLS1uby1zaXRlLWZpbGUgLS1tdWx0aWJ5dGUKKyAKKyAjIFN1YmRpcmVjdG9yaWVzIHRvIGJlIG1hZGUgaWYgJHtzcmNkaXJ9IGlzIGRpZmZlcmVudCBmcm9tIHRoZSBjdXJyZW50CisgIyBkaXJlY3RvcnkuCitkaWZmIC11TnIgZW1hY3MtMjMuNC9saWItc3JjL01ha2VmaWxlLmluIGVtYWNzLTIzLjQubmV3L2xpYi1zcmMvTWFrZWZpbGUuaW4KKy0tLSBlbWFjcy0yMy40L2xpYi1zcmMvTWFrZWZpbGUuaW4JMjAxMi0wMS0xMSAxMzozNTowMS4wMDAwMDAwMDAgKzAxMDAKKysrKyBlbWFjcy0yMy40Lm5ldy9saWItc3JjL01ha2VmaWxlLmluCTIwMTItMDctMzEgMDA6NTQ6MDcuMTgwNTkwODY2ICswMjAwCitAQCAtMjMsNyArMjMsNyBAQAorIFNIRUxMID0gL2Jpbi9zaAorIAorICMgRm9sbG93aW5nIC4uL2xpc3AvTWFrZWZpbGUuaW4uCistRU1BQ1MgPSAuLi9zcmMvZW1hY3MKKytFTUFDUyA9ICR7UUVNVX0gLi4vc3JjL2VtYWNzCisgRU1BQ1NPUFQgPSAtYmF0Y2ggLS1uby1zaXRlLWZpbGUgLS1tdWx0aWJ5dGUKKyAKKyAjID09PT09PT09PT09PT09PT09PT09IFRoaW5ncyBgY29uZmlndXJlJyB3aWxsIGVkaXQgPT09PT09PT09PT09PT09PT09PT0KK0BAIC0zNzIsNyArMzcyLDcgQEAKKyAgICBjbG9iYmVyZWQgdG9vLiAgKi8KKyB0ZXN0LWRpc3RyaWIke0VYRUVYVH06ICR7c3JjZGlyfS90ZXN0LWRpc3RyaWIuYworIAkkKENDKSAke0FMTF9DRkxBR1N9IC1vIHRlc3QtZGlzdHJpYiAke3NyY2Rpcn0vdGVzdC1kaXN0cmliLmMKKy0JLi90ZXN0LWRpc3RyaWIgJHtzcmNkaXJ9L3Rlc3RmaWxlCisrCSR7UUVNVX0gLi90ZXN0LWRpc3RyaWIgJHtzcmNkaXJ9L3Rlc3RmaWxlCisgCisgLyogV2UgbmVlZCB0aGUgZm9sbG93aW5nIGluIG9yZGVyIHRvIGNyZWF0ZSBhIDxnZXRvcHQuaD4gd2hlbiB0aGUgc3lzdGVtCisgICAgZG9lcyBub3QgaGF2ZSBvbmUgdGhhdCB3b3JrcyB3aXRoIHRoZSBnaXZlbiBjb21waWxlci4gICovCitkaWZmIC11TnIgZW1hY3MtMjMuNC9saXNwL01ha2VmaWxlLmluIGVtYWNzLTIzLjQubmV3L2xpc3AvTWFrZWZpbGUuaW4KKy0tLSBlbWFjcy0yMy40L2xpc3AvTWFrZWZpbGUuaW4JMjAxMi0wMS0xMSAxMzozNTowMS4wMDAwMDAwMDAgKzAxMDAKKysrKyBlbWFjcy0yMy40Lm5ldy9saXNwL01ha2VmaWxlLmluCTIwMTItMDctMzEgMDA6NTQ6MDcuMTk1NTkwODY2ICswMjAwCitAQCAtMjYsOCArMjYsNyBAQAorICMgWW91IGNhbiBzcGVjaWZ5IGEgZGlmZmVyZW50IGV4ZWN1dGFibGUgb24gdGhlIG1ha2UgY29tbWFuZCBsaW5lLAorICMgZS5nLiAibWFrZSBFTUFDUz0uLi9zcmMvZW1hY3MgLi4uIi4KKyAKKy1FTUFDUyA9IC4uL3NyYy9lbWFjcworLQorK0VNQUNTID0gIiR7UUVNVX0gLi4vc3JjL2VtYWNzIgorICMgQ29tbWFuZCBsaW5lIGZsYWdzIGZvciBFbWFjcy4gIFRoaXMgbXVzdCBpbmNsdWRlIC0tbXVsdGlieXRlLAorICMgb3RoZXJ3aXNlIHNvbWUgZmlsZXMgd2lsbCBub3QgY29tcGlsZS4KKyAKK2RpZmYgLXVOciBlbWFjcy0yMy40L3NyYy9NYWtlZmlsZS5pbiBlbWFjcy0yMy40Lm5ldy9zcmMvTWFrZWZpbGUuaW4KKy0tLSBlbWFjcy0yMy40L3NyYy9NYWtlZmlsZS5pbgkyMDEyLTAxLTEyIDExOjI3OjU0LjAwMDAwMDAwMCArMDEwMAorKysrIGVtYWNzLTIzLjQubmV3L3NyYy9NYWtlZmlsZS5pbgkyMDEyLTA3LTMxIDAwOjU1OjMwLjM0NDU5Mzg0NyArMDIwMAorQEAgLTQ4Miw3ICs0ODIsNyBAQAorICAgIHRoaXMgd2l0aCB0aGUgc2hlbGwnJ3MgYGBmb3InJyBjb25zdHJ1Y3QuCisgICAgTm90ZSB0aGF0IHNvbWUgcGVvcGxlIGRvIG5vdCBoYXZlICcuJyAgaW4gdGhlaXIgcGF0aHMsIHNvIHdlIG11c3QKKyAgICB1c2UgLi9wcmVmaXgtYXJncy4gICovCistI2RlZmluZSBZTUZfUEFTU19MREZMQUdTKGZsYWdzKSBgLi9wcmVmaXgtYXJncyAtWGxpbmtlciBmbGFnc2AKKysjZGVmaW5lIFlNRl9QQVNTX0xERkxBR1MoZmxhZ3MpIGAke1FFTVV9IC4vcHJlZml4LWFyZ3MgLVhsaW5rZXIgZmxhZ3NgCisgI2Vsc2UKKyAjZGVmaW5lIFlNRl9QQVNTX0xERkxBR1MoZmxhZ3MpIGZsYWdzCisgI2VuZGlmCitAQCAtOTE5LDkgKzkxOSw5IEBACisgICAgJChHTlVMSUJfVkFSKSBMSUJfTUFUSCBMSUJfU1RBTkRBUkQgJChHTlVMSUJfVkFSKQorIAorICNpZmRlZiBIQVZFX1NITQorLVJVTl9URU1BQ1MgPSBgL2Jpbi9wd2RgL3RlbWFjcyAtbmwKKytSVU5fVEVNQUNTID0gJHtRRU1VfSB0ZW1hY3MgLW5sCisgI2Vsc2UKKy1SVU5fVEVNQUNTID0gYC9iaW4vcHdkYC90ZW1hY3MKKytSVU5fVEVNQUNTID0gJHtRRU1VfSB0ZW1hY3MKKyAjZW5kaWYKKyAKKyBhbGw6IGVtYWNzJHtFWEVFWFR9ICQoT1RIRVJfRklMRVMpCitAQCAtOTM2LDcgKzkzNiw3IEBACisgCUA6IFRoaXMgbmV3IEVtYWNzIGlzIGFzIGZ1bmN0aW9uYWwgYW5kIG1vcmUgZWZmaWNpZW50IHRoZW4KKyAJQDogYm9vdHN0cmFwLWVtYWNzLCBzbyBsZXQgdXMgcmVwbGFjZSBpdC4KKyAJLWxuIC1mIGVtYWNzJHtFWEVFWFR9IGJvb3RzdHJhcC1lbWFjcyR7RVhFRVhUfQorLQktLi9lbWFjcyAtcSAtYmF0Y2ggLWYgbGlzdC1sb2FkLXBhdGgtc2hhZG93cworKwktJHtRRU1VfSAuL2VtYWNzIC1xIC1iYXRjaCAtZiBsaXN0LWxvYWQtcGF0aC1zaGFkb3dzCisgI2VuZGlmIC8qICEgZGVmaW5lZCAoQ0FOTk9UX0RVTVApICovCisgCisgLyogV2UgcnVuIG1ha2UtZG9jZmlsZSB0d2ljZSBiZWNhdXNlIHRoZSBjb21tYW5kIGxpbmUgbWF5IGdldCB0b28gbG9uZworQEAgLTk1NCw4ICs5NTQsOCBAQAorICAgIG9ubHkgaW4gb3JkZXIgdG8gcmVkdWNlIHRoZSBjb21tYW5kIGxpbmUgbGVuZ3RoLiAgLS1TdGVmICAqLworICR7ZXRjfURPQzogJHtsaWJzcmN9bWFrZS1kb2NmaWxlJHtFWEVFWFR9ICR7b2JqfSAke2xpc3B9ICR7U09NRV9NQUNISU5FX0xJU1B9CisgCS1ybSAtZiAke2V0Y31ET0MKKy0JJHtsaWJzcmN9bWFrZS1kb2NmaWxlIC1kICR7c3JjZGlyfSAke1NPTUVfTUFDSElORV9PQkpFQ1RTfSAke29ian0gPiAke2V0Y31ET0MKKy0JJHtsaWJzcmN9bWFrZS1kb2NmaWxlIC1hICR7ZXRjfURPQyAtZCAke3NyY2Rpcn0gJHtTT01FX01BQ0hJTkVfTElTUH0gJHtzaG9ydGxpc3B9CisrCSR7UUVNVX0ke2xpYnNyY31tYWtlLWRvY2ZpbGUgLWQgJHtzcmNkaXJ9ICR7U09NRV9NQUNISU5FX09CSkVDVFN9ICR7b2JqfSA+ICR7ZXRjfURPQworKwkke1FFTVV9ICR7bGlic3JjfW1ha2UtZG9jZmlsZSAtYSAke2V0Y31ET0MgLWQgJHtzcmNkaXJ9ICR7U09NRV9NQUNISU5FX0xJU1B9ICR7c2hvcnRsaXNwfQorIAorICR7bGlic3JjfW1ha2UtZG9jZmlsZSR7RVhFRVhUfToKKyAJY2QgJHtsaWJzcmN9OyAke01BS0V9ICR7TUZMQUdTfSBtYWtlLWRvY2ZpbGUke0VYRUVYVH0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW1hY3MvZW1hY3MuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbWFjcy9lbWFjcy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmZiNWM1MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW1hY3MvZW1hY3MuaW5jCkBAIC0wLDAgKzEsMTQ3IEBACitERVNDUklQVElPTiA9ICJFbWFjcyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCitTRUNUSU9OID0gImVkaXRvciIKKyMgYW5kIGl0IG5lZWRzIHRvIHJ1biBzb21lIGdlbmVyYXRlZCBiaW5hcmllcy4uCitERVBFTkRTICs9ICJxZW11LW5hdGl2ZSIKKworREVQRU5EUyArPSIgbGlibG9ja2ZpbGUiCisKK1gxMURFUEVORFMgPSAiIFwKKyAgICBsaWJpY2UgbGlic20gYXRrIGNhaXJvIGRidXMgZXhwYXQgbGliZmZpIGZvbnRjb25maWcgZnJlZXR5cGUgZ2NvbmYgZ2lmbGliIFwKKyAgICBqcGVnIHh6IHBpeG1hbiBsaWJwbmcgbGlicnN2ZyB0aWZmIGxpYmNyb2NvIFwKKyAgICBsaWJ4MTEgbGlieGF1IGxpYnhjb21wb3NpdGUgbGlieGN1cnNvciBsaWJ4ZGFtYWdlIGxpYnhkbWNwIGxpYnhleHQgbGlieGZpeGVzIFwKKyAgICBsaWJ4ZnQgbGlieHBtIGxpYnhyYW5kciBsaWJ4cmVuZGVyIFwKKyAgICBnZGstcGl4YnVmIGdsaWItMi4wIGd0aysgcGFuZ28gbGlieGNiIGhhcmZidXp6IGljdSBcCisiIAorCitFWFRSQV9PRUNPTkYgPSAgIi0td2l0aG91dC1zb3VuZCAtLXdpdGgtY3J0LWRpcj0ke1NUQUdJTkdfTElCRElSfSAiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICd4MTEnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0td2l0aC14LXRvb2xraXQ9Z3RrLC0td2l0aG91dC14IC0td2l0aG91dC1kYnVzLCR7WDExREVQRU5EU30iCisKKworaW5oZXJpdCBhdXRvdG9vbHMKKworUEFDS0FHRVMgPSsgIiR7UE59LWVsIgorCitGSUxFU18ke1BOfS1lbCA9ICIke2RhdGFkaXJ9L2VtYWNzLyovKi8qLmVsLmd6IFwKKyAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZW1hY3MvKi8qLyovKi5lbC5neiIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZW1hY3MgJHtkYXRhZGlyfS9pY29ucyIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmV4ZWNkaXJ9L2VtYWNzLyovKi8uZGVidWcgJHtkYXRhZGlyfS9lbWFjcy8qLyovLmRlYnVnIgorCitUUkVFRElSID0gIiR7V09SS0RJUn0vcWVtdS10cmVlZGlyIgorCitRRU1VQVJDSD0gIiR7VEFSR0VUX0FSQ0h9IgorUUVNVUFSQ0hfeDg2ID0gImkzODYiCisKKyMgTGFyZ2Ugc3RhY2sgaXMgcmVxdWlyZWQgYXQgbGVhc3Qgb24geDg2XzY0IGhvc3QsIG90aGVyd2lzZSByYW5kb20gc2VnZmF1bHRzIGFwcGVhcjoKK1FFTVUgPSAicWVtdS0ke1FFTVVBUkNIfSAke1FFTVVfT1BUSU9OU30gLXMgMTA0ODU3NiAtTCAke1RSRUVESVJ9ICIKKworZXhwb3J0IExPR05BTUUgPSAiJCh3aG9hbWkpIgorCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisgICAgc2VkIC1pICc6MTtzOlwoU1RBUlQuKiBcfExJQl9TVEFOREFSRC4qIFx8TElCRVMuKiBcKS91c3IvbGliOlwxJHtTVEFHSU5HX0xJQkRJUn06O3QxJyAke1N9L3NyYy9zL2dudS1saW51eC5oIGBmaW5kICIke1N9IiAtbmFtZSBNYWtlZmlsZWAKKyAgICBleHBvcnQgTERfTElCUkFSWV9QQVRIPSIkTERfTElCUkFSWV9QQVRIOiR7VE9PTENIQUlOX1BBVEh9LyR7VEFSR0VUX1NZU30vbGliIgorIyBVZ2x5IGhhY2ssIHNlZSBmaWxlcy91c2UtcWVtdS5wYXRjaCBmb3IgbW9yZToKKyAgICBsbiAtc2YgLi4vc3JjL2VtYWNzIGxpc3AvZW1hY3MKKyAgICBsbiAtc2YgLi4vc3JjL2VtYWNzIGxpYi1zcmMvZW1hY3MKKyAgICBsbiAtc2YgLi4vc3JjL2VtYWNzIGxlaW0vZW1hY3MKKyNjb3B5IFNUQUdJTkdfRElSX1RBUkdFVCBhbmQgbGliZ2NjX3Muc28qIHRvIFdPUktESVIvcWVtdS10cmVlZGlyICNjb3BpZWQgY29kZSBmcm9tIGdsaWJjLXBhY2thZ2UuYmJjbGFzcworICAgIHRyZWVkaXI9JHtUUkVFRElSfQorICAgIGlmIFsgLWUgJHRyZWVkaXIgXTt0aGVuCisgICAgICAgIHJtIC1yZiAkdHJlZWRpcgorICAgIGZpCisgICAgCisgICAgbWtkaXIgLXAgJHRyZWVkaXIvJHtiYXNlX2xpYmRpcn0KKworICAgIGlmIFsgLWYgJHtUT09MQ0hBSU5fUEFUSH0vJHtUQVJHRVRfU1lTfS8ke2Jhc2VfbGliZGlyfS9saWJnY2Nfcy5zbyBdOyB0aGVuCisgICAgICAgIGNwIC1wUFIgJHtUT09MQ0hBSU5fUEFUSH0vJHtUQVJHRVRfU1lTfS8ke2Jhc2VfbGliZGlyfS9saWJnY2Nfcy5zbyAkdHJlZWRpci8ke2Jhc2VfbGliZGlyfQorICAgIGZpCisgICAgaWYgWyAtZiAke1RPT0xDSEFJTl9QQVRIfS8ke1RBUkdFVF9TWVN9LyR7YmFzZV9saWJkaXJ9L2xpYmdjY19zLnNvLiogXTsgdGhlbgorICAgICAgICBjcCAtcFBSICR7VE9PTENIQUlOX1BBVEh9LyR7VEFSR0VUX1NZU30vJHtiYXNlX2xpYmRpcn0vbGliZ2NjX3Muc28uKiAkdHJlZWRpci8ke2Jhc2VfbGliZGlyfQorICAgIGZpCisgICAgIyBzdHVwaWQgaGFjaywgYnV0IHdpdGhvdXQgaXQsIGl0IHRyaWVzIHRvIHVzZSAvdXNyL2xpYi9saWJjLnNvIGZyb20gaG9zdCBhbmQgZmFpbHMKKyAgICAjIHRlbWFjczogZXJyb3Igd2hpbGUgbG9hZGluZyBzaGFyZWQgbGlicmFyaWVzOiAvdXNyL2xpYi9saWJjLnNvOiBFTEYgZmlsZSB2ZXJzaW9uIGRvZXMgbm90IG1hdGNoIGN1cnJlbnQgb25lCisgICAgaWYgWyAhIC1mICR0cmVlZGlyLyR7YmFzZV9saWJkaXJ9L2xpYmMuc28gXTsgdGhlbgorICAgICAgICBsbiAtcyBsaWJjLnNvLjYgJHRyZWVkaXIvJHtiYXNlX2xpYmRpcn0vbGliYy5zbworICAgIGZpCisKKyAgICAjIGNvcHkgb25seSBhcyBtdWNoIHN0dWZmIGFzIHdlIG5lZWQKKyAgICAjIGJlZm9yZTogNS41RyAgIC4uLy4uL3FlbXUtdHJlZWRpci8KKyAgICAjIGFmdGVyOiAgIDE3TSAgIC4uLy4uL3FlbXUtdHJlZWRpci8KKyAgICBjcCAtcFBSIFwKKyAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtiYXNlX2xpYmRpcn0vbGQtKiBcCisgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7YmFzZV9saWJkaXJ9L2xpYmMuKiBcCisgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7YmFzZV9saWJkaXJ9L2xpYmMtKiBcCisgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7YmFzZV9saWJkaXJ9L2xpYm0tKiBcCisgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7YmFzZV9saWJkaXJ9L2xpYm0uKiBcCisgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7YmFzZV9saWJkaXJ9L2xpYnRpbmZvLnNvLiogXAorICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2Jhc2VfbGliZGlyfS9saWJyZXNvbHYqIFwKKyAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtiYXNlX2xpYmRpcn0vbGliZGwqIFwKKyAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtiYXNlX2xpYmRpcn0vbGlicnQqIFwKKyAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtiYXNlX2xpYmRpcn0vbGliZ2NjX3Muc28uKiBcCisgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7YmFzZV9saWJkaXJ9L2xpYnB0aHJlYWQqICR0cmVlZGlyLyR7YmFzZV9saWJkaXJ9LworCisgICAgaWYgWyAhIC16ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICd4MTEnLCAneDExJywgJycsIGQpfSIgXSA7IHRoZW4KKyAgICAgICAgZWNobyAiWDExIGJ1aWxkIGVuYWJsZWQiCisgICAgICAgICMgY29weSBvbmx5IGFzIG11Y2ggc3R1ZmYgYXMgd2UgbmVlZAorICAgICAgICAjIGJlZm9yZTogNS41RyAgIC4uLy4uL3FlbXUtdHJlZWRpci8KKyAgICAgICAgIyBhZnRlcjogICA4Nk0gICAuLi8uLi9xZW11LXRyZWVkaXIvCisgICAgICAgIGNwIC1wUFIgXAorICAgICAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtiYXNlX2xpYmRpcn0vbGlidXVpZC5zby4qIFwKKyAgICAgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7YmFzZV9saWJkaXJ9L2xpYnouc28uKiBcCisgICAgICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGliSUNFLnNvLiogXAorICAgICAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYlNNLnNvLiogXAorICAgICAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYmF0ay0xLjAuc28uKiBcCisgICAgICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGliY2Fpcm8uc28uKiBcCisgICAgICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGliZGJ1cy0xLnNvLiogXAorICAgICAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYmRidXMtZ2xpYi0xLnNvLiogXAorICAgICAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYmV4cGF0LnNvLiogXAorICAgICAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYmZmaS5zby4qIFwKKyAgICAgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJmb250Y29uZmlnLnNvLiogXAorICAgICAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYmZyZWV0eXBlLnNvLiogXAorICAgICAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYmdjb25mLTIuc28uKiBcCisgICAgICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGliZ2lmLnNvLiogXAorICAgICAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYmpwZWcuc28uKiBcCisgICAgICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGlibHptYS5zby4qIFwKKyAgICAgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJwaXhtYW4tMS5zby4qIFwKKyAgICAgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJwbmcxKi5zby4qIFwKKyAgICAgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJyc3ZnLTIuc28uKiBcCisgICAgICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGlic3RkYysrLnNvLiogXAorICAgICAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYnRpZmYuc28uKiBcCisgICAgICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGlieG1sMi5zby4qIFwKKyAgICAgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJjcm9jby0wLjYuc28uKiBcCisgICAgICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGliaGFyZmJ1enouc28uKiBcCisgICAgICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGliaWN1bGUuc28uKiBcCisgICAgICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGliaWN1dWMuc28uKiBcCisgICAgICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGliaWN1ZGF0YS5zby4qICR0cmVlZGlyLyR7YmFzZV9saWJkaXJ9LworCisgICAgICAgICMgWDExIFhhdSBYY29tcG9zaXRlIFhjdXJzb3IgWGRhbWFnZSBYZG1jcCBYZXh0IFhmaXhlcyBYZnQgWHBtIFhyYW5kciBYcmVuZGVyCisgICAgICAgIGNwIC1wUFIgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJYKi5zby4qICR0cmVlZGlyLyR7YmFzZV9saWJkaXJ9LworCisgICAgICAgICMgZ2RrLXgxMSBnZGtfcGl4YnVmIGdpbyBnbGliIGdtb2R1bGUgZ29iamVjdCBndGhyZWFkIGd0ay14MTEKKyAgICAgICAgY3AgLXBQUiAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYmcqLTIuMC5zby4qICR0cmVlZGlyLyR7YmFzZV9saWJkaXJ9LworCisgICAgICAgICMgcGFuZ28gcGFuZ29jYWlybyBwYW5nb2Z0MgorICAgICAgICBjcCAtcFBSICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGlicGFuZ28qLTEuMC5zby4qICR0cmVlZGlyLyR7YmFzZV9saWJkaXJ9LworCisgICAgICAgICMgeGNiLXJlbmRlciB4Y2Itc2htIHhjYgorICAgICAgICBjcCAtcFBSICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGlieGNiKi5zby4qICR0cmVlZGlyLyR7YmFzZV9saWJkaXJ9LworICAgIGZpCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgZnJlYWtzIHBhY2thZ2UuYmJjbGFzcyBhbmQgd2hvbGUgYml0YmFrZSBjYWxsIHJldHVybnMgZXJyb3IgY29kZQorICAgICMgRVJST1I6IHJ1bnN0cmlwOiAnJ2FybS1vZS1saW51eC1nbnVlYWJpLXN0cmlwJyAgJy92YXIvbGliL2plbmtpbnMvam9icy9zaHItY29yZS1icmFuY2hlcy93b3Jrc3BhY2Uvc2hyLWNvcmUvdG1wLWVnbGliYy93b3JrL2FybXY0dC1vZS1saW51eC1nbnVlYWJpL2VtYWNzLTIzLjQtcjAvcGFja2FnZS91c3Ivc2hhcmUvZW1hY3MvMjMuNC9ldGMvdHV0b3JpYWxzL1RVVE9SSUFMLmtvJycgc3RyaXAgY29tbWFuZCBmYWlsZWQKKyAgICBtdiAke0R9JHtkYXRhZGlyfS8ke0JQTn0vJHtQVn0vZXRjL3R1dG9yaWFscy9UVVRPUklBTC5rbyAke0R9JHtkYXRhZGlyfS8ke0JQTn0vJHtQVn0vZXRjL3R1dG9yaWFscy9UVVRPUklBTC5LTworICAgICMgSW5mbyBkaXIgbGlzdGluZyBpc24ndCBpbnRlcmVzdGluZyBhdCB0aGlzIHBvaW50IHNvIHJlbW92ZSBpdCBpZiBpdCBleGlzdHMuCisgICAgaWYgWyAtZSAiJHtEfSR7aW5mb2Rpcn0vZGlyIiBdOyB0aGVuCisgICAgICAgIHJtIC1mICR7RH0ke2luZm9kaXJ9L2RpcgorICAgIGZpCit9CisKK0VYVFJBX09FTUFLRSArPSAnUUVNVT0iJHtRRU1VfSInCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VtYWNzL2VtYWNzXzIzLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VtYWNzL2VtYWNzXzIzLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTMyNDgyOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW1hY3MvZW1hY3NfMjMuNC5iYgpAQCAtMCwwICsxLDEyIEBACityZXF1aXJlIGVtYWNzLmluYworCitQUiA9ICJyNCIKKworUE5CTEFDS0xJU1RbZW1hY3NdID89ICJxZW11OiB1bmNhdWdodCB0YXJnZXQgc2lnbmFsIDExIChTZWdtZW50YXRpb24gZmF1bHQpIC0gY29yZSBkdW1wZWQiCisKK1NSQ19VUkkgPSAiJHtHTlVfTUlSUk9SfS9lbWFjcy9lbWFjcy0ke1BWfS50YXIuZ3o7bmFtZT10YXJiYWxsIFwKKyAgICAgICAgICAgZmlsZTovL3VzZS1xZW11LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL25vc3RkbGliLXVud2luZC5wYXRjaCBcCisiCitTUkNfVVJJW3RhcmJhbGwubWQ1c3VtXSA9ICIzNDQwNTE2NWZjZDk3OGZiYzhiMzA0Y2JkOTljY2Y0ZiIKK1NSQ19VUklbdGFyYmFsbC5zaGEyNTZzdW1dID0gImI5YTJiODQzNDA1Mjc3MWY3OTdkMjAzMjc3MmViYTg2MmZmOWFhMTQzMDI5ZWZjNzIyOTUxNzA2MDcyODljMTgiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VuY2EvZW5jYS9jb25maWd1cmUtaGFjay5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW5jYS9lbmNhL2NvbmZpZ3VyZS1oYWNrLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1YWJjZGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VuY2EvZW5jYS9jb25maWd1cmUtaGFjay5wYXRjaApAQCAtMCwwICsxLDEyIEBACistLS0gZW5jYS0xLjkvY29uZmlndXJlLmFjLm9yaWcJMjAwNi0wMi0xNSAwMDo1NzozOS4wMDAwMDAwMDAgLTA4MDAKKysrKyBlbmNhLTEuOS9jb25maWd1cmUuYWMJMjAwNi0wMi0xNSAwMDo1Nzo0Ni4wMDAwMDAwMDAgLTA4MDAKK0BAIC05Miw5ICs5Miw2IEBACisgZG5sIEFuZCBmb3IgZ3RrLWRvYworIGd0a19DSEVDS19HVEtfRE9DCisgCistZG5sIENoZWNrIGZvciBnb29kIHJhbmRvbSBudW1iZXIgc291cmNlcworLUFDX0NIRUNLX0ZJTEVTKC9kZXYvcmFuZG9tIC9kZXYvdXJhbmRvbSAvZGV2L3NyYW5kb20gL2Rldi9hcmFuZG9tKQorLQorIGRubCBEaXJ0eSBwYXRoIGhhY2suICBIZWxwcyBzb21lIHBlb3BsZSB3aXRoIGJhZGx5IHNldCB1cCBzZWFyY2ggcGF0aHMuCisgaWYgdGVzdCAiJHByZWZpeCIgPSAiTk9ORSI7IHRoZW4KKyAgIExERkxBR1M9IiRMREZMQUdTIC1MJGFjX2RlZmF1bHRfcHJlZml4L2xpYiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW5jYS9lbmNhL2NvbmZpZ3VyZS1yZW1vdmUtZHVtYm5lc3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VuY2EvZW5jYS9jb25maWd1cmUtcmVtb3ZlLWR1bWJuZXNzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmNmYzZTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VuY2EvZW5jYS9jb25maWd1cmUtcmVtb3ZlLWR1bWJuZXNzLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKKy0tLSBlbmNhLTEuOS9jb25maWd1cmUuYWMub3JpZwkyMDA2LTA2LTI5IDE1OjMwOjQ0LjAwMDAwMDAwMCArMDEwMAorKysrIGVuY2EtMS45L2NvbmZpZ3VyZS5hYwkyMDA2LTA2LTI5IDE1OjMxOjQxLjAwMDAwMDAwMCArMDEwMAorQEAgLTkyLDE0ICs5MiwxNSBAQAorIGRubCBBbmQgZm9yIGd0ay1kb2MKKyBndGtfQ0hFQ0tfR1RLX0RPQworIAorLWRubCBEaXJ0eSBwYXRoIGhhY2suICBIZWxwcyBzb21lIHBlb3BsZSB3aXRoIGJhZGx5IHNldCB1cCBzZWFyY2ggcGF0aHMuCistaWYgdGVzdCAiJHByZWZpeCIgPSAiTk9ORSI7IHRoZW4KKy0gIExERkxBR1M9IiRMREZMQUdTIC1MJGFjX2RlZmF1bHRfcHJlZml4L2xpYiIKKy0gIENQUEZMQUdTPSIkQ1BQRkxBR1MgLUkkYWNfZGVmYXVsdF9wcmVmaXgvaW5jbHVkZSIKKy1lbHNlCistICBMREZMQUdTPSIkTERGTEFHUyAtTCRwcmVmaXgvbGliIgorLSAgQ1BQRkxBR1M9IiRDUFBGTEFHUyAtSSRwcmVmaXgvaW5jbHVkZSIKKy1maQorKyMgVGhpcyBpcyByZWFsbHkgZHVtYiBjb2RlCisrI2RubCBEaXJ0eSBwYXRoIGhhY2suICBIZWxwcyBzb21lIHBlb3BsZSB3aXRoIGJhZGx5IHNldCB1cCBzZWFyY2ggcGF0aHMuCisrI2lmIHRlc3QgIiRwcmVmaXgiID0gIk5PTkUiOyB0aGVuCisrIyAgTERGTEFHUz0iJExERkxBR1MgLUwkYWNfZGVmYXVsdF9wcmVmaXgvbGliIgorKyMgIENQUEZMQUdTPSIkQ1BQRkxBR1MgLUkkYWNfZGVmYXVsdF9wcmVmaXgvaW5jbHVkZSIKKysjZWxzZQorKyMgIExERkxBR1M9IiRMREZMQUdTIC1MJHByZWZpeC9saWIiCisrIyAgQ1BQRkxBR1M9IiRDUFBGTEFHUyAtSSRwcmVmaXgvaW5jbHVkZSIKKysjZmkKKyAKKyBkbmwgQ2hlY2tzIGZvciBsaWJyYXJpZXMuCisgeWVfQ0hFQ0tfTElCTQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbmNhL2VuY2EvZG9udC1ydW4tdGVzdHMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VuY2EvZW5jYS9kb250LXJ1bi10ZXN0cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMjFkMWU2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbmNhL2VuY2EvZG9udC1ydW4tdGVzdHMucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorSW5kZXg6IGVuY2EtMS45L01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZW5jYS0xLjkub3JpZy9NYWtlZmlsZS5hbQkyMDA1LTExLTI0IDExOjIxOjMyLjAwMDAwMDAwMCArMDEwMAorKysrIGVuY2EtMS45L01ha2VmaWxlLmFtCTIwMDYtMDQtMTEgMTE6MTQ6MjEuODMyNTAyOTA0ICswMjAwCitAQCAtMiw3ICsyLDcgQEAKKyBpZiBNQUlOVEFJTkVSX01PREUKKyBTVUJESVJTID0gdG9vbHMgZGF0YSBzY3JpcHQgbGliIHNyYyBkZXZlbC1kb2NzIHRlc3QKKyBlbHNlCistU1VCRElSUyA9IHRvb2xzIHNjcmlwdCBsaWIgc3JjIGRldmVsLWRvY3MgdGVzdAorK1NVQkRJUlMgPSB0b29scyBzY3JpcHQgbGliIHNyYyBkZXZlbC1kb2NzCisgZW5kaWYKKyBtYW5fTUFOUyA9IG1hbi9lbmNhLjEKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW5jYS9lbmNhL2xpYmVuY2EtMDAzLWljb252LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbmNhL2VuY2EvbGliZW5jYS0wMDMtaWNvbnYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGJmMGZiOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW5jYS9lbmNhL2xpYmVuY2EtMDAzLWljb252LnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0Zyb20gN2UxNDQ0OTUwOTMxODcxNDNhM2QxNTg5Zjc0YzJlYWMzN2U0ZDc5MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1heGltZSBIYWRqaW5saWFuIDxtYXhpbWUuaGFkamlubGlhbkBnbWFpbC5jb20+CitEYXRlOiBTdW4sIDQgTWF5IDIwMTQgMTU6NDk6MjggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gbGliaWNvbnYubTQ6IEZpeCBBTV9JQ09OViBtYWNybyB1c2FnZQorCitUaGlzIHBhdGNoIGNvbWUgc3RyYWlnaHQgZnJvbSB0aGUgQnVpbGRyb290IHNvdXJjZSB0cmVlLgorCitTaWduZWQtb2ZmLWJ5OiBCZXJuZCBLdWhscyA8YmVybmRrdWhsc0Bob3RtYWlsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE1heGltZSBIYWRqaW5saWFuIDxtYXhpbWUuaGFkamlubGlhbkBnbWFpbC5jb20+CistLS0KKyBtNC9saWJpY29udi5tNCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL200L2xpYmljb252Lm00IGIvbTQvbGliaWNvbnYubTQKK2luZGV4IGZjOGM2ZjguLjNhNTk1NDkgMTAwNjQ0CistLS0gYS9tNC9saWJpY29udi5tNAorKysrIGIvbTQvbGliaWNvbnYubTQKK0BAIC0xNyw3ICsxNyw3IEBAIEFDX1JFUVVJUkUoW0FDX0NfQ09OU1RdKWRubAorIGRubAorIAorIGRubCBVc2Ugc3RhbmRhcmQgaWNvbnYgdGVzdAorLUFNX0lDT05WCisrbTRfcGF0dGVybl9hbGxvdyhbQU1fSUNPTlZdKQorIENPTlZFUlRPUl9MSUJTPSIkQ09OVkVSVE9SX0xJQlMgJExJQklDT05WIgorIAorIGRubCBDb21waWxlIGljb252Y2FwLmMgYW5kIHJ1biBpdCB0byBkZXRlcm1pbmUgd2hhdCBlbmNvZGluZ3MgaWNvbnYgYWN0dWFsbHkKKy0tIAorMS45LjMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW5jYS9lbmNhL21ha2VmaWxlLXJlbW92ZS10b29scy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW5jYS9lbmNhL21ha2VmaWxlLXJlbW92ZS10b29scy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hY2NmYmNjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbmNhL2VuY2EvbWFrZWZpbGUtcmVtb3ZlLXRvb2xzLnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKKy0tLSBlbmNhLTEuOS9NYWtlZmlsZS5hbS5vcmlnCTIwMDYtMDYtMjkgMTU6MzQ6NTUuMDAwMDAwMDAwICswMTAwCisrKysgZW5jYS0xLjkvTWFrZWZpbGUuYW0JMjAwNi0wNi0yOSAxNTozNToyMC4wMDAwMDAwMDAgKzAxMDAKK0BAIC0xLDggKzEsOCBAQAorICMgQCgjKSAkSWQ6IE1ha2VmaWxlLmFtLHYgMS4zNSAyMDA1LzExLzI0IDEwOjIxOjMyIHlldGkgRXhwICQKKyBpZiBNQUlOVEFJTkVSX01PREUKKy1TVUJESVJTID0gdG9vbHMgZGF0YSBzY3JpcHQgbGliIHNyYyBkZXZlbC1kb2NzIHRlc3QKKytTVUJESVJTID0gZGF0YSBzY3JpcHQgbGliIHNyYyBkZXZlbC1kb2NzIHRlc3QKKyBlbHNlCistU1VCRElSUyA9IHRvb2xzIHNjcmlwdCBsaWIgc3JjIGRldmVsLWRvY3MKKytTVUJESVJTID0gc2NyaXB0IGxpYiBzcmMgZGV2ZWwtZG9jcworIGVuZGlmCisgbWFuX01BTlMgPSBtYW4vZW5jYS4xCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VuY2EvZW5jYV8xLjkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VuY2EvZW5jYV8xLjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmYxOTg0MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW5jYS9lbmNhXzEuOS5iYgpAQCAtMCwwICsxLDM3IEBACitTVU1NQVJZID0gIkVuY2EgaXMgYW4gRXh0cmVtZWx5IE5haXZlIENoYXJzZXQgQW5hbHlzZXIiCitTRUNUSU9OID0gImxpYnMiCitIT01FUEFHRSA9ICJodHRwOi8vdHJpZmljLmF0aC5jeC9zb2Z0d2FyZS9lbmNhLyIKKworREVQRU5EUyArPSAiZ2V0dGV4dC1uYXRpdmUiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yNGI5NTY5ODMxYzQ2ZDQ4MTg0NTBiNTUyODI0NzZiNCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LnNvdXJjZWZpbGVzLm9yZy9OZXR3b3JraW5nL1Rvb2xzL01pc2NlbGxhbmVub3VzL2VuY2EtJHtQVn0udGFyLmJ6MiBcCisgICAgZmlsZTovL2NvbmZpZ3VyZS1oYWNrLnBhdGNoIFwKKyAgICBmaWxlOi8vZG9udC1ydW4tdGVzdHMucGF0Y2ggXAorICAgIGZpbGU6Ly9jb25maWd1cmUtcmVtb3ZlLWR1bWJuZXNzLnBhdGNoIFwKKyAgICBmaWxlOi8vbWFrZWZpbGUtcmVtb3ZlLXRvb2xzLnBhdGNoIFwKKyAgICBmaWxlOi8vbGliZW5jYS0wMDMtaWNvbnYucGF0Y2ggIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYjM1ODFlMjhkNjhkNDUyMjg2ZmIwYmZlNThiZWQzYjMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDJhY2ZlZjJiMjRhOWM4NDI2MTJkYTQ5MzM4MTM4MzExZjkwOWYxY2QzMzkzMzUyMGMwN2I4YjI2YzQxMGY0ZCIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgIyByZW1vdmUgZmFpbGluZyB0ZXN0IHdoaWNoIGNoZWNrcyBmb3Igc29tZXRoaW5nIHRoYXQgaXNuJ3QgZXZlbiB1c2VkCisgICAgc2VkIC1pIC1lICcveWVfRlVOQ19TQ0FORl9NT0RJRl9TSVpFX1QvZCcgJHtTfS9jb25maWd1cmUuYWMKK30KKworZG9fY29uZmlndXJlX2FwcGVuZCgpIHsKKyAgICBzZWQgLWkgczotSS91c3IvaW5jbHVkZTo6ZyAke0J9L01ha2VmaWxlCisgICAgc2VkIC1pIHM6LUkvdXNyL2luY2x1ZGU6OmcgJHtCfS8qL01ha2VmaWxlCit9CisKK2RvX2NvbXBpbGUoKSB7CisgICAgY2QgJHtTfS90b29scyAmJiAke0JVSUxEX0NDfSAtbyBtYWtlX2hhc2ggbWFrZV9oYXNoLmMKKyAgICBjZCAke0J9CisgICAgb2VfcnVubWFrZQorfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VuZ2luZS1wa2NzMTEvZW5naW5lLXBrY3MxMV8wLjIuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW5naW5lLXBrY3MxMS9lbmdpbmUtcGtjczExXzAuMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyYTIyNTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VuZ2luZS1wa2NzMTEvZW5naW5lLXBrY3MxMV8wLjIuMC5iYgpAQCAtMCwwICsxLDI5IEBACitTVU1NQVJZID0gIkEgUEtDUyIKK0RFU0NSSVBUSU9OID0gIlwKK0VuZ2luZV9wa2NzMTEgaXMgYW4gaW1wbGVtZW50YXRpb24gb2YgYW4gZW5naW5lIGZvciBPcGVuU1NMLiBJdCBjYW4gYmUgXAorbG9hZGVkIHVzaW5nIGNvZGUsIGNvbmZpZyBmaWxlIG9yIGNvbW1hbmQgbGluZSBhbmQgd2lsbCBwYXNzIGFueSBmdW5jdGlvbiBcCitjYWxsIGJ5IG9wZW5zc2wgdG8gYSBQS0NTIGNhcmRzIGFuZCBzb2Z0d2FyZSBmb3IgdXNpbmcgc21hcnQgY2FyZHMgaW4gUEtDUyIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9PcGVuU0MvZW5naW5lX3BrY3MxMSIKK1NFQ1RJT04gPSAiRGV2ZWxvcG1lbnQvTGlicmFyaWVzIgorTElDRU5TRSA9ICJMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9zcmMvZW5naW5lX3BrY3MxMS5oO3N0YXJ0bGluZT0xO2VuZGxpbmU9MjY7bWQ1PTk3M2ExOWY4YTYxMDVkZTA0N2YyYWRmYmJmYzA0YzMzIgorREVQRU5EUyA9ICJvcGVuc3NsIGxpYnAxMSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL09wZW5TQy9lbmdpbmVfcGtjczExLmdpdDtwcm90b2NvbD1odHRwIgorU1JDUkVWID0gIjY5MDlkNjc2MWM4ODIwZTE3NTBmYTBiZjRmYTg1MzJjODJmMzRlMzUiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiXAorICAgIC0tZGlzYWJsZS1zdGF0aWMgXAorICAgIC0tbGliZGlyICR7bGliZGlyfS9vcGVuc3NsIFwKKyIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIHJtIC1mICR7RH0ke2xpYmRpcn0vb3BlbnNzbC9lbmdpbmVzL2xpYnBrY3MxMS5sYQorfQorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L29wZW5zc2wvZW5naW5lcy9saWJwa2NzMTEuc28qIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vb3BlbnNzbC9lbmdpbmVzLy5kZWJ1Zy8qIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lcGVnL2VwZWdfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lcGVnL2VwZWdfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmZTE5YjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VwZWcvZXBlZ19naXQuYmIKQEAgLTAsMCArMSwxMyBAQAorU1VNTUFSWSA9ICJFcGVnIGlzIGEgc21hbGwgbGlicmFyeSBmb3IgaGFuZGxpbmcgdGh1bWJuYWlscyIKK0RFU0NSSVBUSU9OID0gIkluc2FuZWx5IGZhc3QgSlBFRy8gSlBHIHRodW1ibmFpbCBzY2FsaW5nIHdpdGggdGhlIG1pbmltdW0gZnVzcyBhbmQgQ1BVIG92ZXJoZWFkLiBJdCBtYWtlcyB1c2Ugb2YgbGlianBlZyBmZWF0dXJlcyBvZiBiZWluZyBhYmxlIHRvIGxvYWQgYW4gaW1hZ2UgYnkgb25seSBkZWNvZGluZyB0aGUgRENUIGNvZWZmaWNpZW50cyBuZWVkZWQgdG8gcmVjb25zdHJ1Y3QgYW4gaW1hZ2Ugb2YgdGhlIHNpemUgZGVzaXJlZC4iCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWU3NzMyYTkyOTBlYTFlNGIwMzRmZGMxNWNmNDk5NjhkIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkctUExBSU47bWQ1PWY1OWNhY2MwODIzNWE1NDZiMGMzNGE1NDIyMTMzMDM1IgorREVQRU5EUyA9ICJqcGVnIGxpYmV4aWYiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9tYXR0ZXMvZXBlZy5naXQiCitTUkNSRVYgPSAiZDc4YmVjYzU1OGE2ODJmMWJlMGE3OGIxYWY5MGQxYjRhMDhlNWI0ZSIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VzcGVhay9lc3BlYWstZGF0YV8xLjM3LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZXNwZWFrLWRhdGFfMS4zNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTRiZjM2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZXNwZWFrLWRhdGFfMS4zNy5iYgpAQCAtMCwwICsxLDI3IEBACityZXF1aXJlIGVzcGVhay5pbmMKKworaW5oZXJpdCBuYXRpdmUKKworUEFDS0FHRVMgPSAiJHtQTn0iCitGSUxFU18ke1BOfSA9ICIke2xheW91dF9kYXRhZGlyfSIKKworUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKK1RBUkdFVF9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKKworZG9fY29tcGlsZSgpIHsKKyAgICAjIEZpeGluZyBieXRlIG9yZGVyIG9mIHBob25lbWUgZGF0YSBmaWxlcworICAgIGNkICIke1N9L3BsYXRmb3Jtcy9iaWdfZW5kaWFuIgorICAgIHNlZCAtaSAnL14gKkNDICo9L2QnIE1ha2VmaWxlCisgICAgc2VkIC1pICdzL1woLipCWVRFX09SREVSXCkvI3VuZGVmIEJZVEVfT1JERVJcbiNkZWZpbmUgQllURV9PUkRFUiBCSUdfRU5ESUFOXG5cMS8nIGVzcGVhay1waG9uZW1lLWRhdGEuYworICAgIG9lX3J1bm1ha2UKKyAgICAuL2VzcGVhay1waG9uZW1lLWRhdGEgIiR7U30vZXNwZWFrLWRhdGEiCisgICAgY3AgLWYgcGhvbmRhdGEgcGhvbmluZGV4IHBob250YWIgIiR7U30vZXNwZWFrLWRhdGEiCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtsYXlvdXRfZGF0YWRpcn0vZXNwZWFrLWRhdGEKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9lc3BlYWstZGF0YS9waG9uKiAke0R9JHtsYXlvdXRfZGF0YWRpcn0vZXNwZWFrLWRhdGEKK30KKworU1JDX1VSSVttZDVzdW1dID0gIjVjN2IyOTJkMDUzNzIzMjg2OGI0YWMxMzE3ZDc2YzAyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc3ZjQwNmMzNDUzNjIxODVlYzRmMzYyYmY0OWY2MWQyMDJlMDFhYzliOWNkNWMxNGY4MDMxOTVhNTQ0Y2U2ZDMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VzcGVhay9lc3BlYWsuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZXNwZWFrLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OGExNzY1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZXNwZWFrLmluYwpAQCAtMCwwICsxLDEwIEBACitERVNDUklQVElPTiA9ICJlU3BlYWsgaXMgYSBjb21wYWN0IG9wZW4gc291cmNlIHNvZnR3YXJlIHNwZWVjaCBzeW50aGVzaXplciIKK1NFQ1RJT04gPSAiYmFzZSIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MaWNlbnNlLnR4dDttZDU9Y2I3YTIwZWRiNGM5ZjVmNDc4ZGU2NTIzZGNkNzM2MmMiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2VzcGVhay9lc3BlYWstJHtQVn0tc291cmNlLnppcCIKKworUyA9ICIke1dPUktESVJ9L2VzcGVhay0ke1BWfS1zb3VyY2UiCisKK0RFUEVORFMgPSAicG9ydGF1ZGlvLXYxOSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXNwZWFrL2VzcGVha18xLjM3LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZXNwZWFrXzEuMzcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjczZmUzNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXNwZWFrL2VzcGVha18xLjM3LmJiCkBAIC0wLDAgKzEsNDQgQEAKK3JlcXVpcmUgZXNwZWFrLmluYworaW5oZXJpdCBzaXRlaW5mbworCitFWFRSQV9QSE9ORU1FUyA9ICcke0BiYi51dGlscy5jb250YWlucygiU0lURUlORk9fRU5ESUFOTkVTUyIsICJiZSIsICAiZXNwZWFrLWRhdGEgKD0gJHtQVn0pIiwgIiIsIGQpfScKK1JERVBFTkRTXyR7UE59ID0gInBvcnRhdWRpby12MTkgJHtFWFRSQV9QSE9ORU1FU30iCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1YzdiMjkyZDA1MzcyMzI4NjhiNGFjMTMxN2Q3NmMwMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3N2Y0MDZjMzQ1MzYyMTg1ZWM0ZjM2MmJmNDlmNjFkMjAyZTAxYWM5YjljZDVjMTRmODAzMTk1YTU0NGNlNmQzIgorCitDWFhGTEFHUyArPSAiLURVU0VfUE9SVEFVRElPIgorVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2VzcGVhay1kYXRhIgorCitkb19jb25maWd1cmUoKSB7CisgICAgIyAgInNwZWFrIiBiaW5hcnksIGEgVFRTIGVuZ2luZSwgdXNlcyBwb3J0YXVkaW8gaW4gZWl0aGVyIEFQSXMgVjE4IG9yIFYxOSwgdXNlIFYxOQorICAgIGNwICIke1N9L3NyYy9wb3J0YXVkaW8xOS5oIiAiJHtTfS9zcmMvcG9ydGF1ZGlvLmgiCit9CisKK2RvX2NvbXBpbGUoKSB7CisgICAgY2Qgc3JjCisgICAgb2VfcnVubWFrZQorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vZXNwZWFrCisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9lc3BlYWstZGF0YQorCisgICAgIyB3ZSBkbyBub3Qgc2hpcCAic3BlYWsiIGJpbmFyeSB0aG91Z2guCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vc3JjL2VzcGVhayAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjL3NwZWFrX2xpYi5oICR7RH0ke2luY2x1ZGVkaXJ9L2VzcGVhay8KKyAgICBsbiAtc2YgZXNwZWFrL2VzcGVhay5oICR7RH0ke2luY2x1ZGVkaXJ9LworICAgIG9lX2xpYmluc3RhbGwgLXNvIC1DIHNyYyBsaWJlc3BlYWsgJHtEfSR7bGliZGlyfQorCisgICAgaWYgWyAiJHtTSVRFSU5GT19FTkRJQU5ORVNTfSIgPSAiYmUiIF0gOyB0aGVuCisgICAgICAgICMgdGhlIGJpZy1lbmRpYW4gcGhvbiogZmlsZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZSBwYWNrYWdlIGVzcGVhay1kYXRhCisgICAgICAgIHJtIC1mICR7U30vZXNwZWFrLWRhdGEvcGhvbioKKyAgICBmaQorCisgICAgY3AgLXByZiAke1N9L2VzcGVhay1kYXRhLyogJHtEfSR7ZGF0YWRpcn0vZXNwZWFrLWRhdGEKKyAgICBjaG93biAtUiByb290OnJvb3QgJHtEfSR7ZGF0YWRpcn0vZXNwZWFrLWRhdGEKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXZlbnRsb2cvZXZlbnRsb2dfMC4yLjEzLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ldmVudGxvZy9ldmVudGxvZ18wLjIuMTMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzQ5NTA3ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXZlbnRsb2cvZXZlbnRsb2dfMC4yLjEzLmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiUmVwbGFjZW1lbnQgc3lzbG9nIEFQSSIKK0RFU0NSSVBUSU9OID0gIlRoZSBFdmVudExvZyBsaWJyYXJ5IGFpbXMgdG8gYmUgYSByZXBsYWNlbWVudCBvZiB0aGUgXAorICAgICAgICAgICAgICBzaW1wbGUgc3lzbG9nKCkgQVBJIHByb3ZpZGVkIG9uIFVOSVggc3lzdGVtcy4gVGhlIFwKKyAgICAgICAgICAgICAgbWFqb3IgZGlmZmVyZW5jZSBiZXR3ZWVuIEV2ZW50TG9nIGFuZCBzeXNsb2cgaXMgdGhhdCBcCisgICAgICAgICAgICAgIEV2ZW50TG9nIHRyaWVzIHRvIGFkZCBzdHJ1Y3R1cmUgdG8gbWVzc2FnZXMuIEV2ZW50TG9nIFwKKyAgICAgICAgICAgICAgcHJvdmlkZXMgYW4gaW50ZXJmYWNlIHRvIGJ1aWxkLCBmb3JtYXQgYW5kIG91dHB1dCBhbiBcCisgICAgICAgICAgICAgIGV2ZW50IHJlY29yZC4gVGhlIGV4YWN0IGZvcm1hdCBhbmQgb3V0cHV0IG1ldGhvZCBjYW4gXAorICAgICAgICAgICAgICBiZSBjdXN0b21pemVkIGJ5IHRoZSBhZG1pbmlzdHJhdG9yIHZpYSBhIGNvbmZpZ3VyYXRpb24gXAorICAgICAgICAgICAgICBmaWxlLiBoaXMgcGFja2FnZSBpcyB0aGUgcnVudGltZSBwYXJ0IG9mIHRoZSBsaWJyYXJ5LiBcCisiCisKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjhiYThlNzdiY2RhOWE1M2ZhYzBmZTM5ZmU5NTc3NjciCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5iYWxhYml0LmNvbS9kb3dubG9hZHMvZmlsZXMvc3lzbG9nLW5nL29wZW4tc291cmNlLWVkaXRpb24vMy40LjIvc291cmNlLyR7QlBOfV8ke1BWfS50YXIuZ3oiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitTUkNfVVJJW21kNXN1bV0gPSAiNjhlYzhkMWVhM2I5OGZhMzUwMDJiYjc1NjIyN2MzMTUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2NiNGU2ZjMxNmRhZWRlNGZhNTQ1NDczNzFkNWM5ODYzOTUxNzdjMTJkYmRlYzc0YTY2Mjk4ZTY4NGFjOGI4NSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXZ0ZXN0L2V2dGVzdF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2V2dGVzdC9ldnRlc3RfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2ZmVhYjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2V2dGVzdC9ldnRlc3RfZ2l0LmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiU2ltcGxlIHRvb2wgZm9yIGlucHV0IGV2ZW50IGRlYnVnZ2luZyIKK0hPTUVQQUdFID0gImh0dHA6Ly9wZW9wbGUuZnJlZWRlc2t0b3Aub3JnL353aG90L2V2dGVzdC8iCitBVVRIT1IgPSAiVm9qdGVjaCBQYXZsaWsgPHZvanRlY2hAc3VzZS5jej4iCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK0RFUEVORFMgPSAibGlieG1sMiIKKworU1JDUkVWID0gImI4MzQzZWMxMTI0ZGExOGJkYWJjYzA0ODA5YTg3MzFiOWUzOTI5NWQiCitTUkNfVVJJID0gImdpdDovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2V2dGVzdDtwcm90b2NvbD1naXQiCisKK1BWID0gIjEuMzIrJHtTUkNQVn0iCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYXJzaWdodC9mYXJzaWdodDJfMC4wLjIyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYXJzaWdodC9mYXJzaWdodDJfMC4wLjIyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5ODk4NTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZhcnNpZ2h0L2ZhcnNpZ2h0Ml8wLjAuMjIuYmIKQEAgLTAsMCArMSwzMCBAQAorREVTQ1JJUFRJT04gPSAiRmFyU2lnaHQgaXMgYW4gYXVkaW8vdmlkZW8gY29uZmVyZW5jaW5nIGZyYW1ld29yayBzcGVjaWZpY2FsbHkgZGVzaWduZWQgZm9yIEluc3RhbnQgTWVzc2VuZ2Vycy4iCitIT01FUEFHRSA9ICJodHRwOi8vZmFyc2lnaHQuc2YubmV0IgorU1JDX1VSSSA9ICJodHRwOi8vZmFyc2lnaHQuZnJlZWRlc2t0b3Aub3JnL3JlbGVhc2VzL2ZhcnNpZ2h0Mi8ke0JQfS50YXIuZ3oiCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mYmMwOTM5MDE4NTdmY2QxMThmMDY1ZjkwMDk4MmMyNCIKKworUFIgPSAicjMiCisKK0RFUEVORFMgPSAibGlibmljZSBnbGliLTIuMCBsaWJ4bWwyIHpsaWIgZGJ1cyBnc3RyZWFtZXIgZ3N0LXBsdWdpbnMtYmFzZSIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbZ3VwbnBdID0gIi0tZW5hYmxlLWd1cG5wLC0tZGlzYWJsZS1ndXBucCxndXBucC1pZ2QiCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0tZGlzYWJsZS1kZWJ1ZyBcCisgICAgLS1kaXNhYmxlLWd0ay1kb2MgXAorICAgIC0tZGlzYWJsZS1weXRob24gXAorIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9LyovKi5zbyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9LyovKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9LyovKi5hIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vKi8uZGVidWciCisKKworU1JDX1VSSVttZDVzdW1dID0gImUxZjU0MGNmM2ViYWIwNmMzZDdkYjFmNDZiNDRhYzg4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNhZTU5YWE2MWE4MDcxYzlmYWQxMTFlNWZkNjA2YWFiYzI3OTYxZWI0MTkyZjg3Mjk5ODdhMjdkYWU2YjM5NzQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZhcnNpZ2h0L2xpYm5pY2VfMC4wLjEzLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYXJzaWdodC9saWJuaWNlXzAuMC4xMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MjBlZTFmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYXJzaWdodC9saWJuaWNlXzAuMC4xMy5iYgpAQCAtMCwwICsxLDQwIEBACitTVU1NQVJZID0gIkludGVyYWN0aXZlIENvbm5lY3Rpdml0eSBFc3RhYmxpc2htZW50IGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJMaWJuaWNlIGlzIGFuIGltcGxlbWVudGF0aW9uIG9mIHRoZSBJRVRGJ3MgZHJhZnQgSW50ZXJhY3RpdmUgQ29ubmVjdGl2aXR5IEVzdGFibGlzaG1lbnQgc3RhbmRhcmQgKElDRSkuIgorSE9NRVBBR0UgPSAiaHR0cDovL25pY2UuZnJlZWRlc2t0b3Aub3JnL3dpa2kvIgorU1JDX1VSSSA9ICJodHRwOi8vbmljZS5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvbGlibmljZS0ke1BWfS50YXIuZ3oiCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEgJiBNUEx2MS4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OWM0MjMyNTAxNTcwMmZlZGE0ZjRkMmYxOWE1NWI3NjcgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MR1BMO21kNT0yZDUwMjVkNGFhMzQ5NWJlZmVmOGYxNzIwNmE1YjBhMSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLk1QTDttZDU9M2M2MTc3MTBlNTFjZGJlMGZjMDA3MTZmMDU2ZGZiMWEgXAorIgorCitQUiA9ICJyNCIKKworREVQRU5EUyA9ICJnbGliLTIuMCBnc3RyZWFtZXIiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2d1cG5wXSA9ICItLWVuYWJsZS1ndXBucCwtLWRpc2FibGUtZ3VwbnAsZ3VwbnAtaWdkIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ3RrLWRvYworCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLyouc28iCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8qLmxhIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0vZ3N0cmVhbWVyLTAuMTAvKi5hIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZ3N0cmVhbWVyLTAuMTAvLmRlYnVnIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBta2RpciAke1N9L200IHx8IHRydWUKK30KKworZG9fY29tcGlsZV9hcHBlbmQoKSB7CisgICAgZm9yIGkgaW4gJChmaW5kICR7Qn0gLW5hbWUgIioucGMiKSA7IGRvCisgICAgICAgIHNlZCAtaSAtZSBzOiR7U1RBR0lOR19ESVJfVEFSR0VUfTo6ZyBcCisgICAgICAgICAgICAgICAtZSBzOi8ke1RBUkdFVF9TWVN9OjpnIFwKKyAgICAgICAgICAgICAgICAgICRpCisgICAgZG9uZQorfQorCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlNWI5Zjc5OWE1N2NiOTM5ZWEyNjU4ZWMzNTI1M2FiOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkOGRkMjYwYzQ4NmE0NzBhNjA1MmE1MzIzOTIwODc4YTA4NGU0NGExOWRmMDliMTU3MjhiODVjOWUzZDZlZGYwIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldC0yLjEvZmJzZXQtMi4xLWZpeC1tYWtlZmlsZS1kZXAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0LTIuMS9mYnNldC0yLjEtZml4LW1ha2VmaWxlLWRlcC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MWFiOGFmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldC0yLjEvZmJzZXQtMi4xLWZpeC1tYWtlZmlsZS1kZXAucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSAzZGI2NzgyZGUxZGU3Y2E0ZjFiYjllZTc2NTJjNGYyODA4ZTU3NTM5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFRodSwgMTAgSmFuIDIwMTMgMTI6MjQ6MzMgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gZmJzZXQgMi4xIGZpeCBtYWtlZmlsZSBkZXAgbW9kZXMudGFiLmMKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtubyB1cHN0cmVhbV0KKworZml4IHRoZSBlcnJvciBpbiBwYXJhbGxlbCBidWlsZDoKK21ha2U6ICoqKiBObyBydWxlIHRvIG1ha2UgdGFyZ2V0IGBtb2Rlcy50YWIuaCcsIG5lZWRlZCBieSBgbGV4Lnl5Lm8nLiAgU3RvcC4gCisKK1NpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBNYWtlZmlsZSB8ICAgIDIgKy0KKyAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IDYxNTM2YzEuLjA5MTgzZTUgMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0xNSw3ICsxNSw3IEBAIGZic2V0OgkJZmJzZXQubyBtb2Rlcy50YWIubyBsZXgueXkubworIAorIGZic2V0Lm86CWZic2V0LmMgZmJzZXQuaCBmYi5oCisgbW9kZXMudGFiLm86CW1vZGVzLnRhYi5jIGZic2V0LmggZmIuaAorLWxleC55eS5vOglsZXgueXkuYyBmYnNldC5oIG1vZGVzLnRhYi5oCisrbGV4Lnl5Lm86CWxleC55eS5jIGZic2V0LmggbW9kZXMudGFiLmMKKyAKKyBsZXgueXkuYzoJbW9kZXMubAorIAkJJChGTEVYKSBtb2Rlcy5sCistLSAKKzEuNy40LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldC0yLjEvbWFrZWZpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0LTIuMS9tYWtlZmlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MmIxYzYxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldC0yLjEvbWFrZWZpbGUucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIGZic2V0LTIuMS9NYWtlZmlsZS5vcmlnCTIwMDYtMDUtMjggMDQ6MDQ6MjcuNDEyMDk1NDgwICswMjAwCisrKysgZmJzZXQtMi4xL01ha2VmaWxlCTIwMDYtMDUtMjggMDQ6MTQ6MDUuMzc5MjMxMTIwICswMjAwCitAQCAtMiw3ICsyLDcgQEAKKyAjIExpbnV4IEZyYW1lIEJ1ZmZlciBEZXZpY2UgQ29uZmlndXJhdGlvbgorICMKKyAKKy1DQyA9CQlnY2MgLVdhbGwgLU8yIC1JLgorK0NGTEFHUyA9CS1XYWxsIC1PMiAtSS4KKyBCSVNPTiA9CQliaXNvbiAtZAorIEZMRVggPQkJZmxleAorIElOU1RBTEwgPQlpbnN0YWxsCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0LW1vZGVzLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldC1tb2Rlcy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OGY3YTRmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldC1tb2Rlcy5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gIkRlZmF1bHQgZGlzcGxheSB0aW1pbmdzIGFuZCByZXNvbHV0aW9ucyBmb3IgZmJzZXQiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L21ldGEvQ09QWUlORy5NSVQ7bWQ1PTNkYTljZmJjYjc4OGM4MGEwMzg0MzYxYjRkZTIwNDIwIgorCitQViA9ICIwLjEuMCIKK1BSID0gInI2IgorCitTUkNfVVJJID0gImZpbGU6Ly9mYi5tb2RlcyIKK1MgPSAiJHtXT1JLRElSfSIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZmIubW9kZXMgJHtEfSR7c3lzY29uZmRpcn0KK30KKworaW5oZXJpdCBhbGxhcmNoCisKKyMgZmIubW9kZXMgZmlsZSBpcyBNQUNISU5FX0FSQ0gsIGJhc2UuYmJjbGFzcyBjb3JyZWN0bHkgY2hhbmdlcyBpdCB0byBNQUNISU5FX0FSQ0gsIGJ1dCB0b28gbGF0ZSBmb3IgYWxsYXJjaC5iYmNsYXNzCisjIHRvIGRpc2FibGUgImFsbCIgYmVoYXZpb3IgKGZvdW5kIHdoZW4gY29tcGFyaW5nIHFlbXVhcm0gYW5kIHFlbXV4ODYgc2lnbmF0dXJlcykKK1BBQ0tBR0VfQVJDSCA9ICIke01BQ0hJTkVfQVJDSH0iCisKK0NPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L2ZiLm1vZGVzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldC1tb2Rlcy9mYi5tb2RlcyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXQtbW9kZXMvZmIubW9kZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmE1ZTZlZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXQtbW9kZXMvZmIubW9kZXMKQEAgLTAsMCArMSwzIEBACisjIEJ5IGRlZmF1bHQgdGhlcmUgaXMgbm90aGluZyBpbiB0aGlzIGZpbGUganVzdCBhIHJlbWluZGVyIHRvIGRlZmluZSBzb21lCisjIG1vZGVzIGluIE9FCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXQtbW9kZXMvb20tZ3RhMDEvZmIubW9kZXMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0LW1vZGVzL29tLWd0YTAxL2ZiLm1vZGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0NmQyM2QKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0LW1vZGVzL29tLWd0YTAxL2ZiLm1vZGVzCkBAIC0wLDAgKzEsMjkgQEAKKyMgVGltaW5ncyBmb3IgR1RBMDEgVkdBIGFuZCBRVkdBIG1vZGUKKworbW9kZSAiNDgweDY0MCIKKyAgICAjIEQ6IDI2LjAwMCBNSHosIEg6IDQzLjMzNCBrSHosIFY6IDY1LjY1NyBIegorICAgIGdlb21ldHJ5IDQ4MCA2NDAgNDgwIDY0MCAxNgorICAgIHRpbWluZ3MgMzg0NjEgMTA0IDggMiAxNiA4IDIKKyAgICBhY2NlbCBmYWxzZQorZW5kbW9kZQorCittb2RlICJ2Z2EiCisgICAgIyBEOiAyNi4wMDAgTUh6LCBIOiA0My4zMzQga0h6LCBWOiA2NS42NTcgSHoKKyAgICBnZW9tZXRyeSA0ODAgNjQwIDQ4MCA2NDAgMTYKKyAgICB0aW1pbmdzIDM4NDYxIDEwNCA4IDIgMTYgOCAyCisgICAgYWNjZWwgZmFsc2UKK2VuZG1vZGUKKworbW9kZSAiMjQweDMyMCIKKyAgICAjIEQ6IDguNDc1IE1IeiwgSDogMjQuNjM1IGtIeiwgVjogNzUuNTY5IEh6CisgICAgZ2VvbWV0cnkgMjQwIDMyMCAyNDAgMzIwIDE2CisgICAgdGltaW5ncyAxMTgwMDAgODggOCAyIDIgOCAyCisgICAgYWNjZWwgZmFsc2UKK2VuZG1vZGUKKworbW9kZSAicXZnYSIKKyAgICAjIEQ6IDguNDc1IE1IeiwgSDogMjQuNjM1IGtIeiwgVjogNzUuNTY5IEh6CisgICAgZ2VvbWV0cnkgMjQwIDMyMCAyNDAgMzIwIDE2CisgICAgdGltaW5ncyAxMTgwMDAgODggOCAyIDIgOCAyCisgICAgYWNjZWwgZmFsc2UKK2VuZG1vZGUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXQtbW9kZXMvb21hcDMtcGFuZG9yYS9mYi5tb2RlcyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXQtbW9kZXMvb21hcDMtcGFuZG9yYS9mYi5tb2RlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYzg3NDAxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldC1tb2Rlcy9vbWFwMy1wYW5kb3JhL2ZiLm1vZGVzCkBAIC0wLDAgKzEsNiBAQAorbW9kZSAiODAweDQ4MC02NSIKKyAgICAjIEQ6IDM2LjAwMSBNSHosIEg6IDM0LjEyNCBrSHosIFY6IDY0Ljk5OCBIegorICAgIGdlb21ldHJ5IDgwMCA0ODAgODAwIDQ4MCAxNgorICAgIHRpbWluZ3MgMjc3NzcgNDAgMjE0IDEwIDM0IDEgMQorICAgIHJnYmEgNS8xMSw2LzUsNS8wLDAvMAorZW5kbW9kZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldC1tb2Rlcy9xZW11YXJtL2ZiLm1vZGVzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldC1tb2Rlcy9xZW11YXJtL2ZiLm1vZGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjExMTQ1NjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0LW1vZGVzL3FlbXVhcm0vZmIubW9kZXMKQEAgLTAsMCArMSwxNyBAQAorIyBRRU1VIHZlcnNhdGlsZXBiIG1hY2hpbmUsIHFlbXVhcm0gaW4gT0UKKworbW9kZSAidmdhIiAiNjQweDQ4MCIKKyAgICBnZW9tZXRyeSA2NDAgNDgwIDY0MCA0ODAgMTYKK2VuZG1vZGUKKworbW9kZSAidmdhLXBvcnRyYWl0IiAiNDgweDY0MCIKKyAgICBnZW9tZXRyeSA0ODAgNjQwIDQ4MCA2NDAgMTYKK2VuZG1vZGUKKworbW9kZSAicXZnYSIgIjMyMHgyNDAiCisgICAgZ2VvbWV0cnkgMzIwIDI0MCAzMjAgMjQwIDE2CitlbmRtb2RlCisKK21vZGUgInF2Z2EtcG9ydHJhaXQiICIyNDB4MzIwIgorICAgIGdlb21ldHJ5IDI0MCAzMjAgMjQwIDMyMCAxNgorZW5kbW9kZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldC1tb2Rlcy9xZW11bWlwcy9mYi5tb2RlcyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXQtbW9kZXMvcWVtdW1pcHMvZmIubW9kZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTExNDU2NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXQtbW9kZXMvcWVtdW1pcHMvZmIubW9kZXMKQEAgLTAsMCArMSwxNyBAQAorIyBRRU1VIHZlcnNhdGlsZXBiIG1hY2hpbmUsIHFlbXVhcm0gaW4gT0UKKworbW9kZSAidmdhIiAiNjQweDQ4MCIKKyAgICBnZW9tZXRyeSA2NDAgNDgwIDY0MCA0ODAgMTYKK2VuZG1vZGUKKworbW9kZSAidmdhLXBvcnRyYWl0IiAiNDgweDY0MCIKKyAgICBnZW9tZXRyeSA0ODAgNjQwIDQ4MCA2NDAgMTYKK2VuZG1vZGUKKworbW9kZSAicXZnYSIgIjMyMHgyNDAiCisgICAgZ2VvbWV0cnkgMzIwIDI0MCAzMjAgMjQwIDE2CitlbmRtb2RlCisKK21vZGUgInF2Z2EtcG9ydHJhaXQiICIyNDB4MzIwIgorICAgIGdlb21ldHJ5IDI0MCAzMjAgMjQwIDMyMCAxNgorZW5kbW9kZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldC8wMDAxLWZic2V0LWluY2x1ZGluZy1hc20tdHlwZXMuaC1pcy1uZWVkZWQtb24tYWxsLWxpbnV4LXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0LzAwMDEtZmJzZXQtaW5jbHVkaW5nLWFzbS10eXBlcy5oLWlzLW5lZWRlZC1vbi1hbGwtbGludXgtcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZjQ1ZGJlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldC8wMDAxLWZic2V0LWluY2x1ZGluZy1hc20tdHlwZXMuaC1pcy1uZWVkZWQtb24tYWxsLWxpbnV4LXMucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorRnJvbSAwNmVkZDg4ODMzZGE5MzM2MWQ1NDA4Yjg4MGZiYjg5MGRmMzMyNDk3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMTkgSmFuIDIwMTYgMDE6NTU6NDcgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gZmJzZXQ6IGluY2x1ZGluZyBhc20vdHlwZXMuaCBpcyBuZWVkZWQgb24gYWxsIGxpbnV4IHN5c3RlbXMKKworaW5jbHVkaW5nIGFzbS90eXBlcy5oIGlzIG5lZWRlZCB0byBnZXQgTGludXggdHlwZWRlZidzIGxpa2UKK19fczMyIGFuZCBzbyBvbiB3aGljaCBhcmUgaW5kZXBlbmRlbnQgb2YgQyBsaWJyYXJ5IHRoZXJlZm9yZSB0aGlzCitkZWZpbmUgc2hvdWxkIG5vdCBiZSBndWFyZGVkIGJ5IF9fR0xJQkNfXyBidXQgYnkgX19saW51eF9fCisKK0hlbHBzIHRvIGNvbXBpbGUgaXQgb24gbXVzbCBzeXN0ZW1zCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCisgZmJzZXQuaCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2Zic2V0LmggYi9mYnNldC5oCitpbmRleCA5YjFkMmFjLi4wZDhkZWY4IDEwMDY0NAorLS0tIGEvZmJzZXQuaAorKysrIGIvZmJzZXQuaAorQEAgLTE1LDcgKzE1LDcgQEAKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgCistI2lmZGVmIF9fR0xJQkNfXworKyNpZmRlZiBfX2xpbnV4X18KKyAjaW5jbHVkZSA8YXNtL3R5cGVzLmg+CisgI2VuZGlmCisgCistLSAKKzIuNy4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXRfMi4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldF8yLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2JiZTZjYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXRfMi4xLmJiCkBAIC0wLDAgKzEsMzcgQEAKKyMKKyMgQ29weXJpZ2h0IE1hdHRoaWFzIEhlbnRnZXMgPGRldmVsQGhlbnRnZXMubmV0PiAoYykgMjAwNgorIyBMaWNlbnNlOiBNSVQgKHNlZSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocCBmb3IgYSBjb3B5IG9mIHRoZSBsaWNlbnNlKQorIworIyBGaWxlbmFtZTogZmJzZXRfMi4xLmJiCisjIERhdGU6IDI4LU1heS0wNgorCitTVU1NQVJZID0gIlRoZSBmYnNldCBjb25zb2xlIHRvb2wiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZmJzZXQuYztlbmRsaW5lPTE5O21kNT1iZjMyNmY4MmNkZmNhYzM5MWFmMjA4ZjAxOWM1NjAzZiIKK1JSRUNPTU1FTkRTXyR7UE59ID0gImZic2V0LW1vZGVzIgorREVQRU5EUyA9ICJiaXNvbi1uYXRpdmUgZmxleC1uYXRpdmUiCisKK1BSID0gInI0IgorCitTUkNfVVJJID0gImh0dHA6Ly9mdHAuZGViaWFuLm9yZy9kZWJpYW4vcG9vbC9tYWluL2YvZmJzZXQvZmJzZXRfMi4xLm9yaWcudGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL21ha2VmaWxlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2Zic2V0LTIuMS1maXgtbWFrZWZpbGUtZGVwLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZmJzZXQtaW5jbHVkaW5nLWFzbS10eXBlcy5oLWlzLW5lZWRlZC1vbi1hbGwtbGludXgtcy5wYXRjaCBcCisiCisKK2luaGVyaXQgdXBkYXRlLWFsdGVybmF0aXZlcworCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0gJHtEfSR7ZGF0YWRpcn0vbWFuL21hbjggJHtEfSR7ZGF0YWRpcn0vbWFuL21hbjUKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtCfS9mYnNldCAke0R9JHtzYmluZGlyfS9mYnNldC5yZWFsCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7Qn0vKi41ICR7RH0ke2RhdGFkaXJ9L21hbi9tYW41CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7Qn0vKi44ICR7RH0ke2RhdGFkaXJ9L21hbi9tYW44Cit9CisKK0FMVEVSTkFUSVZFX2Zic2V0ID0gImZic2V0IgorQUxURVJOQVRJVkVfTElOS19OQU1FW2Zic2V0XSA9ICIke3NiaW5kaXJ9L2Zic2V0IgorQUxURVJOQVRJVkVfVEFSR0VUW2Zic2V0XSA9ICIke3NiaW5kaXJ9L2Zic2V0LnJlYWwiCitBTFRFUk5BVElWRV9QUklPUklUWVtmYnNldF0gPSAiNTUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0MGVkOTYwOGY0NmQ3ODdiZmI2NWZkMTI2OWY3ZjQ1OSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1MTdmYTA2MmQ3YjJkMzY3ZjkzMWExYzZlYmIyYmVmODQ5MDcwNzdmMGNlM2YwYzg5OWUzNDQ5MGJiZWE5MzM4IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnRlc3QvZmItdGVzdF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZidGVzdC9mYi10ZXN0X2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xM2Y5ZTM3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnRlc3QvZmItdGVzdF9naXQuYmIKQEAgLTAsMCArMSwyMCBAQAorU1VNTUFSWSA9ICJUZXN0IHN1aXRlIGZvciBMaW51eCBmcmFtZWJ1ZmZlciIKKworUFYgPSAiMS4xLjAiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lYjcyM2I2MTUzOWZlZWYwMTNkZTQ3NmU2OGI1YzUwYSIKKworU1JDUkVWID0gIjA2M2VjNjUwOTYwYzJkNzlhYzUxZjVjNWYwMjZjYjA1MzQzYTMzZTIiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcHJwcGxhZ3VlL2ZiLXRlc3QtYXBwLmdpdCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworZG9faW5zdGFsbCgpIHsKKwlpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKwlpbnN0YWxsIC1tIDA3NTUgZmItdGVzdCAke0R9JHtiaW5kaXJ9CisJIyBhdm9pZCBjb2xsaXNpb25zIHdpdGggcGVyZiAocGVyZikgYW5kIG1lc2EtZGVtb3MgKG9mZnNldCkKKwlmb3IgcHJvZyBpbiBwZXJmIHJlY3Qgb2Zmc2V0IDsgZG8KKwkJaW5zdGFsbCAtbSAwNzU1ICRwcm9nICR7RH0ke2JpbmRpcn0vZmItJHByb2cKKwlkb25lCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZmdHcvYmVuY2hmZnRfMy4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mZnR3L2JlbmNoZmZ0XzMuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODU5Mzg2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mZnR3L2JlbmNoZmZ0XzMuMS5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIkZGVFcgYmVuY2htYXJrcyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiR1BMdjIiCisKKyMgc2luZ2xlIHByZWNpc2lvbiBmZnR3IGlzIGNhbGxlZCBmZnR3ZiAKK0RFUEVORFMgPSAidmlydHVhbC9mZnR3IgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZmZ0dy5vcmcvYmVuY2hmZnQvYmVuY2hmZnQtJHtQVn0udGFyLmd6IgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWZvcnRyYW4gLS1lbmFibGUtc2luZ2xlIC0tZW5hYmxlLXNoYXJlZCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgLWUgJ3M6YWxsLXJlY3Vyc2l2ZTokKFJFQ1VSU0lWRV9UQVJHRVRTKTpnJyAke1N9L01ha2VmaWxlCit9CisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5MzU2ZTVlOWRjYjNmMTQ4MTk3NzAwOTcyMGEyY2NmOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxYjRhNWI1ZTQ4YWQ1ZTYxYTIxNTg2YjdiNTlkNWMwYTg4NjkxYTk4MWU3M2UyYzZkYzU4NjgxOTc0NjE3OTFiIgorCitQTkJMQUNLTElTVFtiZW5jaGZmdF0gPz0gImRvZXMgbm90IGJ1aWxkIHdpdGggZGlzdHJvbGVzcyBxZW11YXJtIGFzIHJlcG9ydGVkIGluICdTdGF0ZSBvZiBiaXRiYWtlIHdvcmxkJyB0aHJlYWQsIG5vYm9keSB2b2x1bnRlZXJlZCB0byBmaXggdGhlbSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmZ0dy9mZnR3LmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmZ0dy9mZnR3LmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNTIyZWEwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mZnR3L2ZmdHcuaW5jCkBAIC0wLDAgKzEsMjUgQEAKK0RFU0NSSVBUSU9OID0gIkZGVFciCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIiCisKK1BST1ZJREVTID0gInZpcnR1YWwvZmZ0dyIKKworUlBST1ZJREVTXyR7UE59ICs9ICJsaWJmZnR3MyIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmZmdHcub3JnL2ZmdHctJHtQVn0udGFyLmd6IgorCitTID0gIiR7V09SS0RJUn0vZmZ0dy0ke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtZm9ydHJhbiAtLWVuYWJsZS1zaGFyZWQgLS1lbmFibGUtdGhyZWFkcyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgZWNobyAnQU1fUFJPR19BUycgPj4gJHtTfS9jb25maWd1cmUuYWMgCit9CisKK1BBQ0tBR0VTID0rICJsaWIke0JQTn0iCitGSUxFU19saWIke0JQTn0gPSAiJHtsaWJkaXJ9L2xpYiouc28uKiIKKworIyByZW5hbWUgYmluYXJ5IGluIC9iaW4gYW5kIHVzZSB1LWEgdHBvIGNob29zZSBiZXR3ZWVuIGRpZmZlcmVudCBwcmVjaXNpb24gaW1wbGVtZW50YXRpb25zPwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mZnR3L2ZmdHdfMy4zLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZmdHcvZmZ0d18zLjMuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OTBmMDFlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mZnR3L2ZmdHdfMy4zLjQuYmIKQEAgLTAsMCArMSw2IEBACityZXF1aXJlIGZmdHcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyZWRhYjhjMDZiMjRmZWViM2I4MmJiYjNlYmYzZTdiMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ZjBjZGU5MDkyOWJjMDU1ODdjMzM2OGQyZjE1Y2QwNTMwYTYwYjhhOTkxMmE4ZTI5NzlhNzJkYmU1YWYwOTgyIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmZ0dy9mZnR3Zl8zLjMuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmZ0dy9mZnR3Zl8zLjMuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YTY1OTg2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mZnR3L2ZmdHdmXzMuMy40LmJiCkBAIC0wLDAgKzEsMTEgQEAKK3JlcXVpcmUgZmZ0dy5pbmMKKworIyBjb25mbGljdHMgd2l0aCBmZnR3IGFuZCBmZnR3bAorRVhDTFVERV9GUk9NX1dPUkxEID0gIjEiCisKK0VYVFJBX09FQ09ORiArPSAiLS1lbmFibGUtc2luZ2xlIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICduZW9uJywgJy0tZW5hYmxlLW5lb24nLCAnJywgZCl9IFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjJlZGFiOGMwNmIyNGZlZWIzYjgyYmJiM2ViZjNlN2IzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhmMGNkZTkwOTI5YmMwNTU4N2MzMzY4ZDJmMTVjZDA1MzBhNjBiOGE5OTEyYThlMjk3OWE3MmRiZTVhZjA5ODIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZmdHcvZmZ0d2xfMy4zLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZmdHcvZmZ0d2xfMy4zLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDMyZmYxMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmZ0dy9mZnR3bF8zLjMuNC5iYgpAQCAtMCwwICsxLDkgQEAKK3JlcXVpcmUgZmZ0dy5pbmMKKworIyBjb25mbGljdHMgd2l0aCBmZnR3IGFuZCBmZnR3ZgorRVhDTFVERV9GUk9NX1dPUkxEID0gIjEiCisKK0VYVFJBX09FQ09ORiArPSAiLS1lbmFibGUtbG9uZy1kb3VibGUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyZWRhYjhjMDZiMjRmZWViM2I4MmJiYjNlYmYzZTdiMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ZjBjZGU5MDkyOWJjMDU1ODdjMzM2OGQyZjE1Y2QwNTMwYTYwYjhhOTkxMmE4ZTI5NzlhNzJkYmU1YWYwOTgyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mbGl0ZS9mbGl0ZS1hbHNhLTEuMy9mbGl0ZS0xLjMtYWxzYV9zdXBwb3J0LTEuMi5kaWZmIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mbGl0ZS9mbGl0ZS1hbHNhLTEuMy9mbGl0ZS0xLjMtYWxzYV9zdXBwb3J0LTEuMi5kaWZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzZTRiN2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZsaXRlL2ZsaXRlLWFsc2EtMS4zL2ZsaXRlLTEuMy1hbHNhX3N1cHBvcnQtMS4yLmRpZmYKQEAgLTAsMCArMSw2NjE1IEBACitJbmRleDogbGFuZy91c2VuZ2xpc2gvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBmbGl0ZS0xLjMtcmVsZWFzZS9sYW5nL3VzZW5nbGlzaC9NYWtlZmlsZQkoLi4uL2ZsaXRlLTEuMy1vcmlnKQkocmV2aXNpb24gNykKKysrKyBmbGl0ZS0xLjMtcmVsZWFzZS9sYW5nL3VzZW5nbGlzaC9NYWtlZmlsZQkoLi4uL3JlbGVhc2UtMS4yKQkocmV2aXNpb24gNykKK0BAIC0zOCw2ICszOCw3IEBACisgRElSTkFNRT1sYW5nL3VzZW5nbGlzaAorIEJVSUxEX0RJUlMgPSAKKyBBTExfRElSUz0gCisraW5jbHVkZSAkKFRPUCkvY29uZmlnL2NvbmZpZworIEggPSB1c2VuZ2xpc2guaCB1c19pbnRfYWNjZW50X2NhcnQuaCB1c19pbnRfdG9uZV9jYXJ0LmggdXNfZHVyel9jYXJ0LmggXAorICAgICB1c19mZmVhdHVyZXMuaCB1c19waHJhc2luZ19jYXJ0LmggdXNfdGV4dC5oIHVzX2YwLmggdXNfbnVtc19jYXJ0LmgKKyBTUkNTID0gdXNfaW50X2FjY2VudF9jYXJ0LmMgdXNfaW50X3RvbmVfY2FydC5jIHVzX2YwX21vZGVsLmMgXAorQEAgLTQ1LDcgKzQ2LDExIEBACisgICAgICAgIHVzX3Bob25lc2V0LmMgdXNfZmZlYXR1cmVzLmMgdXNfcGhyYXNpbmdfY2FydC5jIFwKKyAgICAgICAgdXNfZ3Bvcy5jIHVzX3RleHQuYyB1c19leHBhbmQuYyB1c19wb3N0bGV4LmMgXAorICAgICAgICB1c19udW1zX2NhcnQuYyB1c19hc3dkLmMgdXNlbmdsaXNoLmMgCistT0JKUyA9ICQoU1JDUzouYz0ubykKKytpZmRlZiBTSEZMQUdTCisrT0JKUyA6PSAkKFNSQ1M6LmM9Lm9zKQorK2Vsc2UKKytPQkpTIDo9ICQoU1JDUzouYz0ubykKKytlbmRpZgorIFNDTT0KKyBGSUxFUyA9IE1ha2VmaWxlICQoU0NNKSAkKFNSQ1MpICQoSCkKKyBMSUJOQU1FID0gZmxpdGVfdXNlbmdsaXNoCitJbmRleDogbGFuZy9jbXVfdXNfa2FsL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZmxpdGUtMS4zLXJlbGVhc2UvbGFuZy9jbXVfdXNfa2FsL01ha2VmaWxlCSguLi4vZmxpdGUtMS4zLW9yaWcpCShyZXZpc2lvbiA3KQorKysrIGZsaXRlLTEuMy1yZWxlYXNlL2xhbmcvY211X3VzX2thbC9NYWtlZmlsZQkoLi4uL3JlbGVhc2UtMS4yKQkocmV2aXNpb24gNykKK0BAIC00Myw3ICs0MywxMiBAQAorICAgICAgICBjbXVfdXNfa2FsX2xwYy5jIFwKKyAgICAgICAgY211X3VzX2thbF9yZXMuYyBcCisgICAgICAgIGNtdV91c19rYWxfcmVzaWR4LmMKKy1PQkpTID0gJChTUkNTOi5jPS5vKQorK2luY2x1ZGUgJChUT1ApL2NvbmZpZy9jb25maWcKKytpZmRlZiBTSEZMQUdTCisrT0JKUyA6PSAkKFNSQ1M6LmM9Lm9zKQorK2Vsc2UKKytPQkpTIDo9ICQoU1JDUzouYz0ubykKKytlbmRpZgorIFNDTT0KKyBGSUxFUyA9IE1ha2VmaWxlICQoU0NNKSAkKFNSQ1MpICQoSCkKKyBMSUJOQU1FID0gZmxpdGVfY211X3VzX2thbAorSW5kZXg6IGxhbmcvY211X3VzX2thbDE2L01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZmxpdGUtMS4zLXJlbGVhc2UvbGFuZy9jbXVfdXNfa2FsMTYvTWFrZWZpbGUJKC4uLi9mbGl0ZS0xLjMtb3JpZykJKHJldmlzaW9uIDcpCisrKysgZmxpdGUtMS4zLXJlbGVhc2UvbGFuZy9jbXVfdXNfa2FsMTYvTWFrZWZpbGUJKC4uLi9yZWxlYXNlLTEuMikJKHJldmlzaW9uIDcpCitAQCAtNDQsNyArNDQsMTIgQEAKKyAgICAgICAgY211X3VzX2thbDE2X2xwYy5jIFwKKyAgICAgICAgY211X3VzX2thbDE2X3Jlcy5jIFwKKyAgICAgICAgY211X3VzX2thbDE2X3Jlc2lkeC5jCistT0JKUyA9ICQoU1JDUzouYz0ubykKKytpbmNsdWRlICQoVE9QKS9jb25maWcvY29uZmlnCisraWZkZWYgU0hGTEFHUworK09CSlMgOj0gJChTUkNTOi5jPS5vcykKKytlbHNlCisrT0JKUyA6PSAkKFNSQ1M6LmM9Lm8pCisrZW5kaWYKKyBTQ009CisgRklMRVMgPSBNYWtlZmlsZSAkKFNDTSkgJChTUkNTKSAkKEgpCisgTElCTkFNRSA9IGZsaXRlX2NtdV91c19rYWwxNgorSW5kZXg6IGxhbmcvY211X3RpbWVfYXdiL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZmxpdGUtMS4zLXJlbGVhc2UvbGFuZy9jbXVfdGltZV9hd2IvTWFrZWZpbGUJKC4uLi9mbGl0ZS0xLjMtb3JpZykJKHJldmlzaW9uIDcpCisrKysgZmxpdGUtMS4zLXJlbGVhc2UvbGFuZy9jbXVfdGltZV9hd2IvTWFrZWZpbGUJKC4uLi9yZWxlYXNlLTEuMikJKHJldmlzaW9uIDcpCitAQCAtNDUsNyArNDUsMTIgQEAKKyAJY211X3RpbWVfYXdiX21jZXAuYyBcCisgCWNtdV90aW1lX2F3Yl9scGMuYyBcCisgCWNtdV90aW1lX2F3Yl9sZXhfZW50cnkuYworLU9CSlMgPSAkKFNSQ1M6LmM9Lm8pCisraW5jbHVkZSAkKFRPUCkvY29uZmlnL2NvbmZpZworK2lmZGVmIFNIRkxBR1MKKytPQkpTIDo9ICQoU1JDUzouYz0ub3MpCisrZWxzZQorK09CSlMgOj0gJChTUkNTOi5jPS5vKQorK2VuZGlmCisgU0NNPQorIEZJTEVTID0gTWFrZWZpbGUgJChTQ00pICQoU1JDUykgJChIKQorIExJQk5BTUUgPSBmbGl0ZV9jbXVfdGltZV9hd2IKK0luZGV4OiBsYW5nL2NtdWxleC9NYWtlZmlsZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGZsaXRlLTEuMy1yZWxlYXNlL2xhbmcvY211bGV4L01ha2VmaWxlCSguLi4vZmxpdGUtMS4zLW9yaWcpCShyZXZpc2lvbiA3KQorKysrIGZsaXRlLTEuMy1yZWxlYXNlL2xhbmcvY211bGV4L01ha2VmaWxlCSguLi4vcmVsZWFzZS0xLjIpCShyZXZpc2lvbiA3KQorQEAgLTM4LDEzICszOCwyMCBAQAorIERJUk5BTUU9bGFuZy9jbXVsZXgKKyBCVUlMRF9ESVJTID0gCisgQUxMX0RJUlM9IAorKworIEggPSBjbXVfbHRzX21vZGVsLmggY211bGV4LmgKKyBTUkNTID0gY211X2x0c19ydWxlcy5jIGNtdV9sdHNfbW9kZWwuYyBcCisgICAgICAgIGNtdV9sZXguYyBjbXVfbGV4X2VudHJpZXMuYyBjbXVfbGV4X2RhdGEuYworIExFWF9EQVRBX0lOQ0xVREVTID0gY211X2xleF9kYXRhX3Jhdy5jIGNtdV9sZXhfbnVtX2J5dGVzLmMgXAorICAgICAgY211X2xleF9waG9uZXNfaHVmZl90YWJsZS5jIGNtdV9sZXhfZW50cmllc19odWZmX3RhYmxlLmMKKyAKKy1PQkpTID0gJChTUkNTOi5jPS5vKQorK2luY2x1ZGUgJChUT1ApL2NvbmZpZy9jb25maWcKKytpZmRlZiBTSEZMQUdTCisrT0JKUyA6PSAkKFNSQ1M6LmM9Lm9zKQorK2Vsc2UKKytPQkpTIDo9ICQoU1JDUzouYz0ubykKKytlbmRpZgorKworIFNDUklQVFM9bWFrZV9jbXVsZXggIAorIAorIFNDTT0KK0luZGV4OiBjb25maWd1cmUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBmbGl0ZS0xLjMtcmVsZWFzZS9jb25maWd1cmUJKC4uLi9mbGl0ZS0xLjMtb3JpZykJKHJldmlzaW9uIDcpCisrKysgZmxpdGUtMS4zLXJlbGVhc2UvY29uZmlndXJlCSguLi4vcmVsZWFzZS0xLjIpCShyZXZpc2lvbiA3KQorQEAgLTEsMzI0ICsxLDM4IEBACisgIyEgL2Jpbi9zaAorKworICMgR3Vlc3MgdmFsdWVzIGZvciBzeXN0ZW0tZGVwZW5kZW50IHZhcmlhYmxlcyBhbmQgY3JlYXRlIE1ha2VmaWxlcy4KKy0jIEdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41Ny4KKysjIEdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IHVzaW5nIGF1dG9jb25mIHZlcnNpb24gMi4xMyAKKysjIENvcHlyaWdodCAoQykgMTk5MiwgOTMsIDk0LCA5NSwgOTYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgIworLSMgQ29weXJpZ2h0IDE5OTIsIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDIKKy0jIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICMgVGhpcyBjb25maWd1cmUgc2NyaXB0IGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KKyAjIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kIG1vZGlmeSBpdC4KKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBNNHNoIEluaXRpYWxpemF0aW9uLiAgIyMKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKyAKKy0jIEJlIEJvdXJuZSBjb21wYXRpYmxlCistaWYgdGVzdCAtbiAiJHtaU0hfVkVSU0lPTitzZXR9IiAmJiAoZW11bGF0ZSBzaCkgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCistICBlbXVsYXRlIHNoCistICBOVUxMQ01EPToKKy0gICMgWnNoIDMueCBhbmQgNC54IHBlcmZvcm1zIHdvcmQgc3BsaXR0aW5nIG9uICR7MSsiJEAifSwgd2hpY2gKKy0gICMgaXMgY29udHJhcnkgdG8gb3VyIHVzYWdlLiAgRGlzYWJsZSB0aGlzIGZlYXR1cmUuCistICBhbGlhcyAtZyAnJHsxKyIkQCJ9Jz0nIiRAIicKKy1lbGlmIHRlc3QgLW4gIiR7QkFTSF9WRVJTSU9OK3NldH0iICYmIChzZXQgLW8gcG9zaXgpID4vZGV2L251bGwgMj4mMTsgdGhlbgorLSAgc2V0IC1vIHBvc2l4CistZmkKKy0KKy0jIFN1cHBvcnQgdW5zZXQgd2hlbiBwb3NzaWJsZS4KKy1pZiAoRk9PPUZPTzsgdW5zZXQgRk9PKSA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKy0gIGFzX3Vuc2V0PXVuc2V0CistZWxzZQorLSAgYXNfdW5zZXQ9ZmFsc2UKKy1maQorLQorLQorLSMgV29yayBhcm91bmQgYnVncyBpbiBwcmUtMy4wIFVXSU4ga3NoLgorLSRhc191bnNldCBFTlYgTUFJTCBNQUlMUEFUSAorLVBTMT0nJCAnCistUFMyPSc+ICcKKy1QUzQ9JysgJworLQorLSMgTkxTIG51aXNhbmNlcy4KKy1mb3IgYXNfdmFyIGluIFwKKy0gIExBTkcgTEFOR1VBR0UgTENfQUREUkVTUyBMQ19BTEwgTENfQ09MTEFURSBMQ19DVFlQRSBMQ19JREVOVElGSUNBVElPTiBcCistICBMQ19NRUFTVVJFTUVOVCBMQ19NRVNTQUdFUyBMQ19NT05FVEFSWSBMQ19OQU1FIExDX05VTUVSSUMgTENfUEFQRVIgXAorLSAgTENfVEVMRVBIT05FIExDX1RJTUUKKy1kbworLSAgaWYgKHNldCAreDsgdGVzdCAtbiAiYChldmFsICRhc192YXI9QzsgZXhwb3J0ICRhc192YXIpIDI+JjFgIik7IHRoZW4KKy0gICAgZXZhbCAkYXNfdmFyPUM7IGV4cG9ydCAkYXNfdmFyCistICBlbHNlCistICAgICRhc191bnNldCAkYXNfdmFyCistICBmaQorLWRvbmUKKy0KKy0jIFJlcXVpcmVkIHRvIHVzZSBiYXNlbmFtZS4KKy1pZiBleHByIGEgOiAnXChhXCknID4vZGV2L251bGwgMj4mMTsgdGhlbgorLSAgYXNfZXhwcj1leHByCistZWxzZQorLSAgYXNfZXhwcj1mYWxzZQorLWZpCistCistaWYgKGJhc2VuYW1lIC8pID4vZGV2L251bGwgMj4mMSAmJiB0ZXN0ICJYYGJhc2VuYW1lIC8gMj4mMWAiID0gIlgvIjsgdGhlbgorLSAgYXNfYmFzZW5hbWU9YmFzZW5hbWUKKy1lbHNlCistICBhc19iYXNlbmFtZT1mYWxzZQorLWZpCistCistCistIyBOYW1lIG9mIHRoZSBleGVjdXRhYmxlLgorLWFzX21lPWAkYXNfYmFzZW5hbWUgIiQwIiB8fAorLSRhc19leHByIFgvIiQwIiA6ICcuKi9cKFteL11bXi9dKlwpLyokJyBcfCBcCistCSBYIiQwIiA6ICdYXCgvL1wpJCcgXHwgXAorLQkgWCIkMCIgOiAnWFwoL1wpJCcgXHwgXAorLQkgLiAgICAgOiAnXCguXCknIDI+L2Rldi9udWxsIHx8CistZWNobyBYLyIkMCIgfAorLSAgICBzZWQgJy9eLipcL1woW14vXVteL10qXClcLyokL3sgcy8vXDEvOyBxOyB9CistICAJICAvXlhcL1woXC9cL1wpJC97IHMvL1wxLzsgcTsgfQorLSAgCSAgL15YXC9cKFwvXCkuKi97IHMvL1wxLzsgcTsgfQorLSAgCSAgcy8uKi8uLzsgcSdgCistCistCistIyBQQVRIIG5lZWRzIENSLCBhbmQgTElORU5PIG5lZWRzIENSIGFuZCBQQVRILgorLSMgQXZvaWQgZGVwZW5kaW5nIHVwb24gQ2hhcmFjdGVyIFJhbmdlcy4KKy1hc19jcl9sZXR0ZXJzPSdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eicKKy1hc19jcl9MRVRURVJTPSdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWicKKy1hc19jcl9MZXR0ZXJzPSRhc19jcl9sZXR0ZXJzJGFzX2NyX0xFVFRFUlMKKy1hc19jcl9kaWdpdHM9JzAxMjM0NTY3ODknCistYXNfY3JfYWxudW09JGFzX2NyX0xldHRlcnMkYXNfY3JfZGlnaXRzCistCistIyBUaGUgdXNlciBpcyBhbHdheXMgcmlnaHQuCistaWYgdGVzdCAiJHtQQVRIX1NFUEFSQVRPUitzZXR9IiAhPSBzZXQ7IHRoZW4KKy0gIGVjaG8gIiMhIC9iaW4vc2giID5jb25mJCQuc2gKKy0gIGVjaG8gICJleGl0IDAiICAgPj5jb25mJCQuc2gKKy0gIGNobW9kICt4IGNvbmYkJC5zaAorLSAgaWYgKFBBVEg9Ii9ub25leGlzdGVudDsuIjsgY29uZiQkLnNoKSA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKy0gICAgUEFUSF9TRVBBUkFUT1I9JzsnCistICBlbHNlCistICAgIFBBVEhfU0VQQVJBVE9SPToKKy0gIGZpCistICBybSAtZiBjb25mJCQuc2gKKy1maQorLQorLQorLSAgYXNfbGluZW5vXzE9JExJTkVOTworLSAgYXNfbGluZW5vXzI9JExJTkVOTworLSAgYXNfbGluZW5vXzM9YChleHByICRhc19saW5lbm9fMSArIDEpIDI+L2Rldi9udWxsYAorLSAgdGVzdCAieCRhc19saW5lbm9fMSIgIT0gIngkYXNfbGluZW5vXzIiICYmCistICB0ZXN0ICJ4JGFzX2xpbmVub18zIiAgPSAieCRhc19saW5lbm9fMiIgIHx8IHsKKy0gICMgRmluZCB3aG8gd2UgYXJlLiAgTG9vayBpbiB0aGUgcGF0aCBpZiB3ZSBjb250YWluIG5vIHBhdGggYXQgYWxsCistICAjIHJlbGF0aXZlIG9yIG5vdC4KKy0gIGNhc2UgJDAgaW4KKy0gICAgKltcXC9dKiApIGFzX215c2VsZj0kMCA7OworLSAgICAqKSBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCistZm9yIGFzX2RpciBpbiAkUEFUSAorLWRvCistICBJRlM9JGFzX3NhdmVfSUZTCistICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorLSAgdGVzdCAtciAiJGFzX2Rpci8kMCIgJiYgYXNfbXlzZWxmPSRhc19kaXIvJDAgJiYgYnJlYWsKKy1kb25lCistCistICAgICAgIDs7CistICBlc2FjCistICAjIFdlIGRpZCBub3QgZmluZCBvdXJzZWx2ZXMsIG1vc3QgcHJvYmFibHkgd2Ugd2VyZSBydW4gYXMgYHNoIENPTU1BTkQnCistICAjIGluIHdoaWNoIGNhc2Ugd2UgYXJlIG5vdCB0byBiZSBmb3VuZCBpbiB0aGUgcGF0aC4KKy0gIGlmIHRlc3QgIngkYXNfbXlzZWxmIiA9IHg7IHRoZW4KKy0gICAgYXNfbXlzZWxmPSQwCistICBmaQorLSAgaWYgdGVzdCAhIC1mICIkYXNfbXlzZWxmIjsgdGhlbgorLSAgICB7IGVjaG8gIiRhc19tZTogZXJyb3I6IGNhbm5vdCBmaW5kIG15c2VsZjsgcmVydW4gd2l0aCBhbiBhYnNvbHV0ZSBwYXRoIiA+JjIKKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKy0gIGZpCistICBjYXNlICRDT05GSUdfU0hFTEwgaW4KKy0gICcnKQorLSAgICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCistZm9yIGFzX2RpciBpbiAvYmluJFBBVEhfU0VQQVJBVE9SL3Vzci9iaW4kUEFUSF9TRVBBUkFUT1IkUEFUSAorLWRvCistICBJRlM9JGFzX3NhdmVfSUZTCistICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorLSAgZm9yIGFzX2Jhc2UgaW4gc2ggYmFzaCBrc2ggc2g1OyBkbworLQkgY2FzZSAkYXNfZGlyIGluCistCSAvKikKKy0JICAgaWYgKCIkYXNfZGlyLyRhc19iYXNlIiAtYyAnCistICBhc19saW5lbm9fMT0kTElORU5PCistICBhc19saW5lbm9fMj0kTElORU5PCistICBhc19saW5lbm9fMz1gKGV4cHIgJGFzX2xpbmVub18xICsgMSkgMj4vZGV2L251bGxgCistICB0ZXN0ICJ4JGFzX2xpbmVub18xIiAhPSAieCRhc19saW5lbm9fMiIgJiYKKy0gIHRlc3QgIngkYXNfbGluZW5vXzMiICA9ICJ4JGFzX2xpbmVub18yIiAnKSAyPi9kZXYvbnVsbDsgdGhlbgorLQkgICAgICRhc191bnNldCBCQVNIX0VOViB8fCB0ZXN0ICIke0JBU0hfRU5WK3NldH0iICE9IHNldCB8fCB7IEJBU0hfRU5WPTsgZXhwb3J0IEJBU0hfRU5WOyB9CistCSAgICAgJGFzX3Vuc2V0IEVOViB8fCB0ZXN0ICIke0VOVitzZXR9IiAhPSBzZXQgfHwgeyBFTlY9OyBleHBvcnQgRU5WOyB9CistCSAgICAgQ09ORklHX1NIRUxMPSRhc19kaXIvJGFzX2Jhc2UKKy0JICAgICBleHBvcnQgQ09ORklHX1NIRUxMCistCSAgICAgZXhlYyAiJENPTkZJR19TSEVMTCIgIiQwIiAkezErIiRAIn0KKy0JICAgZmk7OworLQkgZXNhYworLSAgICAgICBkb25lCistZG9uZQorLTs7CistICBlc2FjCistCistICAjIENyZWF0ZSAkYXNfbWUubGluZW5vIGFzIGEgY29weSBvZiAkYXNfbXlzZWxmLCBidXQgd2l0aCAkTElORU5PCistICAjIHVuaWZvcm1seSByZXBsYWNlZCBieSB0aGUgbGluZSBudW1iZXIuICBUaGUgZmlyc3QgJ3NlZCcgaW5zZXJ0cyBhCistICAjIGxpbmUtbnVtYmVyIGxpbmUgYmVmb3JlIGVhY2ggbGluZTsgdGhlIHNlY29uZCAnc2VkJyBkb2VzIHRoZSByZWFsCistICAjIHdvcmsuICBUaGUgc2Vjb25kIHNjcmlwdCB1c2VzICdOJyB0byBwYWlyIGVhY2ggbGluZS1udW1iZXIgbGluZQorLSAgIyB3aXRoIHRoZSBudW1iZXJlZCBsaW5lLCBhbmQgYXBwZW5kcyB0cmFpbGluZyAnLScgZHVyaW5nCistICAjIHN1YnN0aXR1dGlvbiBzbyB0aGF0ICRMSU5FTk8gaXMgbm90IGEgc3BlY2lhbCBjYXNlIGF0IGxpbmUgZW5kLgorLSAgIyAoUmFqYSBSIEhhcmluYXRoIHN1Z2dlc3RlZCBzZWQgJz0nLCBhbmQgUGF1bCBFZ2dlcnQgd3JvdGUgdGhlCistICAjIHNlY29uZCAnc2VkJyBzY3JpcHQuICBCbGFtZSBMZWUgRS4gTWNNYWhvbiBmb3Igc2VkJ3Mgc3ludGF4LiAgOi0pCistICBzZWQgJz0nIDwkYXNfbXlzZWxmIHwKKy0gICAgc2VkICcKKy0gICAgICBOCistICAgICAgcywkLC0sCistICAgICAgOiBsb29wCistICAgICAgcyxeXChbJyRhc19jcl9kaWdpdHMnXSpcKVwoLipcKVskXUxJTkVOT1woW14nJGFzX2NyX2FsbnVtJ19dXCksXDFcMlwxXDMsCistICAgICAgdCBsb29wCistICAgICAgcywtJCwsCistICAgICAgcyxeWyckYXNfY3JfZGlnaXRzJ10qXG4sLAorLSAgICAnID4kYXNfbWUubGluZW5vICYmCistICBjaG1vZCAreCAkYXNfbWUubGluZW5vIHx8CistICAgIHsgZWNobyAiJGFzX21lOiBlcnJvcjogY2Fubm90IGNyZWF0ZSAkYXNfbWUubGluZW5vOyByZXJ1biB3aXRoIGEgUE9TSVggc2hlbGwiID4mMgorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorLQorLSAgIyBEb24ndCB0cnkgdG8gZXhlYyBhcyBpdCBjaGFuZ2VzICRbMF0sIGNhdXNpbmcgYWxsIHNvcnQgb2YgcHJvYmxlbXMKKy0gICMgKHRoZSBkaXJuYW1lIG9mICRbMF0gaXMgbm90IHRoZSBwbGFjZSB3aGVyZSB3ZSBtaWdodCBmaW5kIHRoZQorLSAgIyBvcmlnaW5hbCBhbmQgc28gb24uICBBdXRvY29uZiBpcyBlc3BlY2lhbGx5IHNlbnNpYmxlIHRvIHRoaXMpLgorLSAgLiAuLyRhc19tZS5saW5lbm8KKy0gICMgRXhpdCBzdGF0dXMgaXMgdGhhdCBvZiB0aGUgbGFzdCBjb21tYW5kLgorLSAgZXhpdAorLX0KKy0KKy0KKy1jYXNlIGBlY2hvICJ0ZXN0aW5nXGMiOyBlY2hvIDEsMiwzYCxgZWNobyAtbiB0ZXN0aW5nOyBlY2hvIDEsMiwzYCBpbgorLSAgKmMqLC1uKikgRUNIT19OPSBFQ0hPX0M9JworLScgRUNIT19UPScJJyA7OworLSAgKmMqLCogICkgRUNIT19OPS1uIEVDSE9fQz0gRUNIT19UPSA7OworLSAgKikgICAgICAgRUNIT19OPSBFQ0hPX0M9J1xjJyBFQ0hPX1Q9IDs7CistZXNhYworLQorLWlmIGV4cHIgYSA6ICdcKGFcKScgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCistICBhc19leHByPWV4cHIKKy1lbHNlCistICBhc19leHByPWZhbHNlCistZmkKKy0KKy1ybSAtZiBjb25mJCQgY29uZiQkLmV4ZSBjb25mJCQuZmlsZQorLWVjaG8gPmNvbmYkJC5maWxlCistaWYgbG4gLXMgY29uZiQkLmZpbGUgY29uZiQkIDI+L2Rldi9udWxsOyB0aGVuCistICAjIFdlIGNvdWxkIGp1c3QgY2hlY2sgZm9yIERKR1BQOyBidXQgdGhpcyB0ZXN0IGEpIHdvcmtzIGIpIGlzIG1vcmUgZ2VuZXJpYworLSAgIyBhbmQgYykgd2lsbCByZW1haW4gdmFsaWQgb25jZSBESkdQUCBzdXBwb3J0cyBzeW1saW5rcyAoREpHUFAgMi4wNCkuCistICBpZiB0ZXN0IC1mIGNvbmYkJC5leGU7IHRoZW4KKy0gICAgIyBEb24ndCB1c2UgbG4gYXQgYWxsOyB3ZSBkb24ndCBoYXZlIGFueSBsaW5rcworLSAgICBhc19sbl9zPSdjcCAtcCcKKy0gIGVsc2UKKy0gICAgYXNfbG5fcz0nbG4gLXMnCistICBmaQorLWVsaWYgbG4gY29uZiQkLmZpbGUgY29uZiQkIDI+L2Rldi9udWxsOyB0aGVuCistICBhc19sbl9zPWxuCistZWxzZQorLSAgYXNfbG5fcz0nY3AgLXAnCistZmkKKy1ybSAtZiBjb25mJCQgY29uZiQkLmV4ZSBjb25mJCQuZmlsZQorLQorLWlmIG1rZGlyIC1wIC4gMj4vZGV2L251bGw7IHRoZW4KKy0gIGFzX21rZGlyX3A9OgorLWVsc2UKKy0gIGFzX21rZGlyX3A9ZmFsc2UKKy1maQorLQorLWFzX2V4ZWN1dGFibGVfcD0idGVzdCAtZiIKKy0KKy0jIFNlZCBleHByZXNzaW9uIHRvIG1hcCBhIHN0cmluZyBvbnRvIGEgdmFsaWQgQ1BQIG5hbWUuCistYXNfdHJfY3BwPSJzZWQgeSUqJGFzX2NyX2xldHRlcnMlUCRhc19jcl9MRVRURVJTJTtzJVteXyRhc19jcl9hbG51bV0lXyVnIgorLQorLSMgU2VkIGV4cHJlc3Npb24gdG8gbWFwIGEgc3RyaW5nIG9udG8gYSB2YWxpZCB2YXJpYWJsZSBuYW1lLgorLWFzX3RyX3NoPSJzZWQgeSUqKyVwcCU7cyVbXl8kYXNfY3JfYWxudW1dJV8lZyIKKy0KKy0KKy0jIElGUworLSMgV2UgbmVlZCBzcGFjZSwgdGFiIGFuZCBuZXcgbGluZSwgaW4gcHJlY2lzZWx5IHRoYXQgb3JkZXIuCistYXNfbmw9JworLScKKy1JRlM9IiAJJGFzX25sIgorLQorLSMgQ0RQQVRILgorLSRhc191bnNldCBDRFBBVEgKKy0KKy0KKy0jIE5hbWUgb2YgdGhlIGhvc3QuCistIyBob3N0bmFtZSBvbiBzb21lIHN5c3RlbXMgKFNWUjMuMiwgTGludXgpIHJldHVybnMgYSBib2d1cyBleGl0IHN0YXR1cywKKy0jIHNvIHVuYW1lIGdldHMgcnVuIHRvby4KKy1hY19ob3N0bmFtZT1gKGhvc3RuYW1lIHx8IHVuYW1lIC1uKSAyPi9kZXYvbnVsbCB8IHNlZCAxcWAKKy0KKy1leGVjIDY+JjEKKy0KKy0jCistIyBJbml0aWFsaXphdGlvbnMuCistIworKyMgRGVmYXVsdHM6CisrYWNfaGVscD0KKyBhY19kZWZhdWx0X3ByZWZpeD0vdXNyL2xvY2FsCistYWNfY29uZmlnX2xpYm9ial9kaXI9LgorLWNyb3NzX2NvbXBpbGluZz1ubworLXN1YmRpcnM9CistTUZMQUdTPQorLU1BS0VGTEFHUz0KKy1TSEVMTD0ke0NPTkZJR19TSEVMTC0vYmluL3NofQorKyMgQW55IGFkZGl0aW9ucyBmcm9tIGNvbmZpZ3VyZS5pbjoKKythY19oZWxwPSIkYWNfaGVscAorKyAgLS1kaXNhYmxlLXNoYXJlZCAgICAgd2l0aG91dCBzaGFyZWQgbGlicmFyeSBzdXBwb3J0IgorK2FjX2hlbHA9IiRhY19oZWxwCisrICAtLWRpc2FibGUtc29ja2V0cyAgICAgd2l0aG91dCBzb2NrZXQgc3VwcG9ydCIKKythY19oZWxwPSIkYWNfaGVscAorKyAgLS13aXRoLWF1ZGlvICAgICAgICAgIHdpdGggc3BlY2lmaWMgYXVkaW8gc3VwcG9ydCAobm9uZSBsaW51eCBmcmVlYnNkIGV0YykgIgorK2FjX2hlbHA9IiRhY19oZWxwCisrICAtLXdpdGgtbGFuZyAgICAgICAgICAgd2l0aCBsYW5ndWFnZSAiCisrYWNfaGVscD0iJGFjX2hlbHAKKysgIC0td2l0aC12b3ggICAgICAgICAgICB3aXRoIHZveCAiCisrYWNfaGVscD0iJGFjX2hlbHAKKysgIC0td2l0aC1sZXggICAgICAgICAgICB3aXRoIGxleGljb24gIgorIAorLSMgTWF4aW11bSBudW1iZXIgb2YgbGluZXMgdG8gcHV0IGluIGEgc2hlbGwgaGVyZSBkb2N1bWVudC4KKy0jIFRoaXMgdmFyaWFibGUgc2VlbXMgb2Jzb2xldGUuICBJdCBzaG91bGQgcHJvYmFibHkgYmUgcmVtb3ZlZCwgYW5kCistIyBvbmx5IGFjX21heF9zZWRfbGluZXMgc2hvdWxkIGJlIHVzZWQuCistOiAke2FjX21heF9oZXJlX2xpbmVzPTM4fQorLQorLSMgSWRlbnRpdHkgb2YgdGhpcyBwYWNrYWdlLgorLVBBQ0tBR0VfTkFNRT0KKy1QQUNLQUdFX1RBUk5BTUU9CistUEFDS0FHRV9WRVJTSU9OPQorLVBBQ0tBR0VfU1RSSU5HPQorLVBBQ0tBR0VfQlVHUkVQT1JUPQorLQorLWFjX3VuaXF1ZV9maWxlPSJpbmNsdWRlL2ZsaXRlLmgiCistIyBGYWN0b3JpbmcgZGVmYXVsdCBoZWFkZXJzIGZvciBtb3N0IHRlc3RzLgorLWFjX2luY2x1ZGVzX2RlZmF1bHQ9IlwKKy0jaW5jbHVkZSA8c3RkaW8uaD4KKy0jaWYgSEFWRV9TWVNfVFlQRVNfSAorLSMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CistI2VuZGlmCistI2lmIEhBVkVfU1lTX1NUQVRfSAorLSMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KKy0jZW5kaWYKKy0jaWYgU1REQ19IRUFERVJTCistIyBpbmNsdWRlIDxzdGRsaWIuaD4KKy0jIGluY2x1ZGUgPHN0ZGRlZi5oPgorLSNlbHNlCistIyBpZiBIQVZFX1NURExJQl9ICistIyAgaW5jbHVkZSA8c3RkbGliLmg+CistIyBlbmRpZgorLSNlbmRpZgorLSNpZiBIQVZFX1NUUklOR19ICistIyBpZiAhU1REQ19IRUFERVJTICYmIEhBVkVfTUVNT1JZX0gKKy0jICBpbmNsdWRlIDxtZW1vcnkuaD4KKy0jIGVuZGlmCistIyBpbmNsdWRlIDxzdHJpbmcuaD4KKy0jZW5kaWYKKy0jaWYgSEFWRV9TVFJJTkdTX0gKKy0jIGluY2x1ZGUgPHN0cmluZ3MuaD4KKy0jZW5kaWYKKy0jaWYgSEFWRV9JTlRUWVBFU19ICistIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgorLSNlbHNlCistIyBpZiBIQVZFX1NURElOVF9ICistIyAgaW5jbHVkZSA8c3RkaW50Lmg+CistIyBlbmRpZgorLSNlbmRpZgorLSNpZiBIQVZFX1VOSVNURF9ICistIyBpbmNsdWRlIDx1bmlzdGQuaD4KKy0jZW5kaWYiCistCistYWNfc3Vic3RfdmFycz0nU0hFTEwgUEFUSF9TRVBBUkFUT1IgUEFDS0FHRV9OQU1FIFBBQ0tBR0VfVEFSTkFNRSBQQUNLQUdFX1ZFUlNJT04gUEFDS0FHRV9TVFJJTkcgUEFDS0FHRV9CVUdSRVBPUlQgZXhlY19wcmVmaXggcHJlZml4IHByb2dyYW1fdHJhbnNmb3JtX25hbWUgYmluZGlyIHNiaW5kaXIgbGliZXhlY2RpciBkYXRhZGlyIHN5c2NvbmZkaXIgc2hhcmVkc3RhdGVkaXIgbG9jYWxzdGF0ZWRpciBsaWJkaXIgaW5jbHVkZWRpciBvbGRpbmNsdWRlZGlyIGluZm9kaXIgbWFuZGlyIGJ1aWxkX2FsaWFzIGhvc3RfYWxpYXMgdGFyZ2V0X2FsaWFzIERFRlMgRUNIT19DIEVDSE9fTiBFQ0hPX1QgTElCUyBidWlsZCBidWlsZF9jcHUgYnVpbGRfdmVuZG9yIGJ1aWxkX29zIGhvc3QgaG9zdF9jcHUgaG9zdF92ZW5kb3IgaG9zdF9vcyB0YXJnZXQgdGFyZ2V0X2NwdSB0YXJnZXRfdmVuZG9yIHRhcmdldF9vcyBDQyBDRkxBR1MgTERGTEFHUyBDUFBGTEFHUyBhY19jdF9DQyBFWEVFWFQgT0JKRVhUIFJBTkxJQiBhY19jdF9SQU5MSUIgSU5TVEFMTF9QUk9HUkFNIElOU1RBTExfU0NSSVBUIElOU1RBTExfREFUQSBBUiBhY19jdF9BUiBUQVJHRVRfT1MgVEFSR0VUX0NQVSBNNjhLQ0MgTEVYREVGUyBWT1hERUZTIEhPU1RfT1MgSE9TVF9DUFUgT1RIRVJMSUJTIFNIRkxBR1MgTU1BUFRZUEUgU1RESU9UWVBFIENQUCBFR1JFUCBBVURJT0RSSVZFUiBBVURJT0RFRlMgQVVESU9MSUJTIEZMX0xBTkcgRkxfVk9YIEZMX0xFWCBMSUJPQkpTIExUTElCT0JKUycKKy1hY19zdWJzdF9maWxlcz0nJworLQorICMgSW5pdGlhbGl6ZSBzb21lIHZhcmlhYmxlcyBzZXQgYnkgb3B0aW9ucy4KKy1hY19pbml0X2hlbHA9CistYWNfaW5pdF92ZXJzaW9uPWZhbHNlCisgIyBUaGUgdmFyaWFibGVzIGhhdmUgdGhlIHNhbWUgbmFtZXMgYXMgdGhlIG9wdGlvbnMsIHdpdGgKKyAjIGRhc2hlcyBjaGFuZ2VkIHRvIHVuZGVybGluZXMuCistY2FjaGVfZmlsZT0vZGV2L251bGwKKytidWlsZD1OT05FCisrY2FjaGVfZmlsZT0uL2NvbmZpZy5jYWNoZQorIGV4ZWNfcHJlZml4PU5PTkUKKytob3N0PU5PTkUKKyBub19jcmVhdGU9Cisrbm9ub3B0PU5PTkUKKyBub19yZWN1cnNpb249CisgcHJlZml4PU5PTkUKKyBwcm9ncmFtX3ByZWZpeD1OT05FCitAQCAtMzI3LDE1ICs0MSwxMCBAQAorIHNpbGVudD0KKyBzaXRlPQorIHNyY2Rpcj0KKyt0YXJnZXQ9Tk9ORQorIHZlcmJvc2U9CisgeF9pbmNsdWRlcz1OT05FCisgeF9saWJyYXJpZXM9Tk9ORQorLQorLSMgSW5zdGFsbGF0aW9uIGRpcmVjdG9yeSBvcHRpb25zLgorLSMgVGhlc2UgYXJlIGxlZnQgdW5leHBhbmRlZCBzbyB1c2VycyBjYW4gIm1ha2UgaW5zdGFsbCBleGVjX3ByZWZpeD0vZm9vIgorLSMgYW5kIGFsbCB0aGUgdmFyaWFibGVzIHRoYXQgYXJlIHN1cHBvc2VkIHRvIGJlIGJhc2VkIG9uIGV4ZWNfcHJlZml4CistIyBieSBkZWZhdWx0IHdpbGwgYWN0dWFsbHkgY2hhbmdlLgorLSMgVXNlIGJyYWNlcyBpbnN0ZWFkIG9mIHBhcmVucyBiZWNhdXNlIHNoLCBwZXJsLCBldGMuIGFsc28gYWNjZXB0IHRoZW0uCisgYmluZGlyPScke2V4ZWNfcHJlZml4fS9iaW4nCisgc2JpbmRpcj0nJHtleGVjX3ByZWZpeH0vc2JpbicKKyBsaWJleGVjZGlyPScke2V4ZWNfcHJlZml4fS9saWJleGVjJworQEAgLTM0OSw5ICs1OCwxNyBAQAorIGluZm9kaXI9JyR7cHJlZml4fS9pbmZvJworIG1hbmRpcj0nJHtwcmVmaXh9L21hbicKKyAKKysjIEluaXRpYWxpemUgc29tZSBvdGhlciB2YXJpYWJsZXMuCisrc3ViZGlycz0KKytNRkxBR1M9IE1BS0VGTEFHUz0KKytTSEVMTD0ke0NPTkZJR19TSEVMTC0vYmluL3NofQorKyMgTWF4aW11bSBudW1iZXIgb2YgbGluZXMgdG8gcHV0IGluIGEgc2hlbGwgaGVyZSBkb2N1bWVudC4KKythY19tYXhfaGVyZV9saW5lcz0xMgorKworIGFjX3ByZXY9CisgZm9yIGFjX29wdGlvbgorIGRvCisrCisgICAjIElmIHRoZSBwcmV2aW91cyBvcHRpb24gbmVlZHMgYW4gYXJndW1lbnQsIGFzc2lnbiBpdC4KKyAgIGlmIHRlc3QgLW4gIiRhY19wcmV2IjsgdGhlbgorICAgICBldmFsICIkYWNfcHJldj1cJGFjX29wdGlvbiIKK0BAIC0zNTksNTkgKzc2LDU5IEBACisgICAgIGNvbnRpbnVlCisgICBmaQorIAorLSAgYWNfb3B0YXJnPWBleHByICJ4JGFjX29wdGlvbiIgOiAneFtePV0qPVwoLipcKSdgCisrICBjYXNlICIkYWNfb3B0aW9uIiBpbgorKyAgLSo9KikgYWNfb3B0YXJnPWBlY2hvICIkYWNfb3B0aW9uIiB8IHNlZCAncy9bLV9hLXpBLVowLTldKj0vLydgIDs7CisrICAqKSBhY19vcHRhcmc9IDs7CisrICBlc2FjCisgCisgICAjIEFjY2VwdCB0aGUgaW1wb3J0YW50IEN5Z251cyBjb25maWd1cmUgb3B0aW9ucywgc28gd2UgY2FuIGRpYWdub3NlIHR5cG9zLgorIAorLSAgY2FzZSAkYWNfb3B0aW9uIGluCisrICBjYXNlICIkYWNfb3B0aW9uIiBpbgorIAorICAgLWJpbmRpciB8IC0tYmluZGlyIHwgLS1iaW5kaSB8IC0tYmluZCB8IC0tYmluIHwgLS1iaSkKKyAgICAgYWNfcHJldj1iaW5kaXIgOzsKKyAgIC1iaW5kaXI9KiB8IC0tYmluZGlyPSogfCAtLWJpbmRpPSogfCAtLWJpbmQ9KiB8IC0tYmluPSogfCAtLWJpPSopCistICAgIGJpbmRpcj0kYWNfb3B0YXJnIDs7CisrICAgIGJpbmRpcj0iJGFjX29wdGFyZyIgOzsKKyAKKyAgIC1idWlsZCB8IC0tYnVpbGQgfCAtLWJ1aWwgfCAtLWJ1aSB8IC0tYnUpCistICAgIGFjX3ByZXY9YnVpbGRfYWxpYXMgOzsKKysgICAgYWNfcHJldj1idWlsZCA7OworICAgLWJ1aWxkPSogfCAtLWJ1aWxkPSogfCAtLWJ1aWw9KiB8IC0tYnVpPSogfCAtLWJ1PSopCistICAgIGJ1aWxkX2FsaWFzPSRhY19vcHRhcmcgOzsKKysgICAgYnVpbGQ9IiRhY19vcHRhcmciIDs7CisgCisgICAtY2FjaGUtZmlsZSB8IC0tY2FjaGUtZmlsZSB8IC0tY2FjaGUtZmlsIHwgLS1jYWNoZS1maSBcCisgICB8IC0tY2FjaGUtZiB8IC0tY2FjaGUtIHwgLS1jYWNoZSB8IC0tY2FjaCB8IC0tY2FjIHwgLS1jYSB8IC0tYykKKyAgICAgYWNfcHJldj1jYWNoZV9maWxlIDs7CisgICAtY2FjaGUtZmlsZT0qIHwgLS1jYWNoZS1maWxlPSogfCAtLWNhY2hlLWZpbD0qIHwgLS1jYWNoZS1maT0qIFwKKyAgIHwgLS1jYWNoZS1mPSogfCAtLWNhY2hlLT0qIHwgLS1jYWNoZT0qIHwgLS1jYWNoPSogfCAtLWNhYz0qIHwgLS1jYT0qIHwgLS1jPSopCistICAgIGNhY2hlX2ZpbGU9JGFjX29wdGFyZyA7OworKyAgICBjYWNoZV9maWxlPSIkYWNfb3B0YXJnIiA7OworIAorLSAgLS1jb25maWctY2FjaGUgfCAtQykKKy0gICAgY2FjaGVfZmlsZT1jb25maWcuY2FjaGUgOzsKKy0KKyAgIC1kYXRhZGlyIHwgLS1kYXRhZGlyIHwgLS1kYXRhZGkgfCAtLWRhdGFkIHwgLS1kYXRhIHwgLS1kYXQgfCAtLWRhKQorICAgICBhY19wcmV2PWRhdGFkaXIgOzsKKyAgIC1kYXRhZGlyPSogfCAtLWRhdGFkaXI9KiB8IC0tZGF0YWRpPSogfCAtLWRhdGFkPSogfCAtLWRhdGE9KiB8IC0tZGF0PSogXAorICAgfCAtLWRhPSopCistICAgIGRhdGFkaXI9JGFjX29wdGFyZyA7OworKyAgICBkYXRhZGlyPSIkYWNfb3B0YXJnIiA7OworIAorICAgLWRpc2FibGUtKiB8IC0tZGlzYWJsZS0qKQorLSAgICBhY19mZWF0dXJlPWBleHByICJ4JGFjX29wdGlvbiIgOiAneC0qZGlzYWJsZS1cKC4qXCknYAorKyAgICBhY19mZWF0dXJlPWBlY2hvICRhY19vcHRpb258c2VkIC1lICdzLy0qZGlzYWJsZS0vLydgCisgICAgICMgUmVqZWN0IG5hbWVzIHRoYXQgYXJlIG5vdCB2YWxpZCBzaGVsbCB2YXJpYWJsZSBuYW1lcy4KKy0gICAgZXhwciAieCRhY19mZWF0dXJlIiA6ICIuKlteLV8kYXNfY3JfYWxudW1dIiA+L2Rldi9udWxsICYmCistICAgICAgeyBlY2hvICIkYXNfbWU6IGVycm9yOiBpbnZhbGlkIGZlYXR1cmUgbmFtZTogJGFjX2ZlYXR1cmUiID4mMgorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorLSAgICBhY19mZWF0dXJlPWBlY2hvICRhY19mZWF0dXJlIHwgc2VkICdzLy0vXy9nJ2AKKy0gICAgZXZhbCAiZW5hYmxlXyRhY19mZWF0dXJlPW5vIiA7OworKyAgICBpZiB0ZXN0IC1uICJgZWNobyAkYWNfZmVhdHVyZXwgc2VkICdzL1stYS16QS1aMC05X10vL2cnYCI7IHRoZW4KKysgICAgICB7IGVjaG8gImNvbmZpZ3VyZTogZXJyb3I6ICRhY19mZWF0dXJlOiBpbnZhbGlkIGZlYXR1cmUgbmFtZSIgMT4mMjsgZXhpdCAxOyB9CisrICAgIGZpCisrICAgIGFjX2ZlYXR1cmU9YGVjaG8gJGFjX2ZlYXR1cmV8IHNlZCAncy8tL18vZydgCisrICAgIGV2YWwgImVuYWJsZV8ke2FjX2ZlYXR1cmV9PW5vIiA7OworIAorICAgLWVuYWJsZS0qIHwgLS1lbmFibGUtKikKKy0gICAgYWNfZmVhdHVyZT1gZXhwciAieCRhY19vcHRpb24iIDogJ3gtKmVuYWJsZS1cKFtePV0qXCknYAorKyAgICBhY19mZWF0dXJlPWBlY2hvICRhY19vcHRpb258c2VkIC1lICdzLy0qZW5hYmxlLS8vJyAtZSAncy89LiovLydgCisgICAgICMgUmVqZWN0IG5hbWVzIHRoYXQgYXJlIG5vdCB2YWxpZCBzaGVsbCB2YXJpYWJsZSBuYW1lcy4KKy0gICAgZXhwciAieCRhY19mZWF0dXJlIiA6ICIuKlteLV8kYXNfY3JfYWxudW1dIiA+L2Rldi9udWxsICYmCistICAgICAgeyBlY2hvICIkYXNfbWU6IGVycm9yOiBpbnZhbGlkIGZlYXR1cmUgbmFtZTogJGFjX2ZlYXR1cmUiID4mMgorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorLSAgICBhY19mZWF0dXJlPWBlY2hvICRhY19mZWF0dXJlIHwgc2VkICdzLy0vXy9nJ2AKKy0gICAgY2FzZSAkYWNfb3B0aW9uIGluCistICAgICAgKj0qKSBhY19vcHRhcmc9YGVjaG8gIiRhY19vcHRhcmciIHwgc2VkICJzLycvJ1xcXFxcXFxcJycvZyJgOzsKKysgICAgaWYgdGVzdCAtbiAiYGVjaG8gJGFjX2ZlYXR1cmV8IHNlZCAncy9bLV9hLXpBLVowLTldLy9nJ2AiOyB0aGVuCisrICAgICAgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiAkYWNfZmVhdHVyZTogaW52YWxpZCBmZWF0dXJlIG5hbWUiIDE+JjI7IGV4aXQgMTsgfQorKyAgICBmaQorKyAgICBhY19mZWF0dXJlPWBlY2hvICRhY19mZWF0dXJlfCBzZWQgJ3MvLS9fL2cnYAorKyAgICBjYXNlICIkYWNfb3B0aW9uIiBpbgorKyAgICAgICo9KikgOzsKKyAgICAgICAqKSBhY19vcHRhcmc9eWVzIDs7CisgICAgIGVzYWMKKy0gICAgZXZhbCAiZW5hYmxlXyRhY19mZWF0dXJlPSckYWNfb3B0YXJnJyIgOzsKKysgICAgZXZhbCAiZW5hYmxlXyR7YWNfZmVhdHVyZX09JyRhY19vcHRhcmcnIiA7OworIAorICAgLWV4ZWMtcHJlZml4IHwgLS1leGVjX3ByZWZpeCB8IC0tZXhlYy1wcmVmaXggfCAtLWV4ZWMtcHJlZmkgXAorICAgfCAtLWV4ZWMtcHJlZiB8IC0tZXhlYy1wcmUgfCAtLWV4ZWMtcHIgfCAtLWV4ZWMtcCB8IC0tZXhlYy0gXAorQEAgLTQyMCw0NyArMTM3LDk1IEBACisgICAtZXhlYy1wcmVmaXg9KiB8IC0tZXhlY19wcmVmaXg9KiB8IC0tZXhlYy1wcmVmaXg9KiB8IC0tZXhlYy1wcmVmaT0qIFwKKyAgIHwgLS1leGVjLXByZWY9KiB8IC0tZXhlYy1wcmU9KiB8IC0tZXhlYy1wcj0qIHwgLS1leGVjLXA9KiB8IC0tZXhlYy09KiBcCisgICB8IC0tZXhlYz0qIHwgLS1leGU9KiB8IC0tZXg9KikKKy0gICAgZXhlY19wcmVmaXg9JGFjX29wdGFyZyA7OworKyAgICBleGVjX3ByZWZpeD0iJGFjX29wdGFyZyIgOzsKKyAKKyAgIC1nYXMgfCAtLWdhcyB8IC0tZ2EgfCAtLWcpCisgICAgICMgT2Jzb2xldGU7IHVzZSAtLXdpdGgtZ2FzLgorICAgICB3aXRoX2dhcz15ZXMgOzsKKyAKKy0gIC1oZWxwIHwgLS1oZWxwIHwgLS1oZWwgfCAtLWhlIHwgLWgpCistICAgIGFjX2luaXRfaGVscD1sb25nIDs7CistICAtaGVscD1yKiB8IC0taGVscD1yKiB8IC0taGVsPXIqIHwgLS1oZT1yKiB8IC1ociopCistICAgIGFjX2luaXRfaGVscD1yZWN1cnNpdmUgOzsKKy0gIC1oZWxwPXMqIHwgLS1oZWxwPXMqIHwgLS1oZWw9cyogfCAtLWhlPXMqIHwgLWhzKikKKy0gICAgYWNfaW5pdF9oZWxwPXNob3J0IDs7CisrICAtaGVscCB8IC0taGVscCB8IC0taGVsIHwgLS1oZSkKKysgICAgIyBPbWl0IHNvbWUgaW50ZXJuYWwgb3Igb2Jzb2xldGUgb3B0aW9ucyB0byBtYWtlIHRoZSBsaXN0IGxlc3MgaW1wb3NpbmcuCisrICAgICMgVGhpcyBtZXNzYWdlIGlzIHRvbyBsb25nIHRvIGJlIGEgc3RyaW5nIGluIHRoZSBBL1VYIDMuMSBzaC4KKysgICAgY2F0IDw8IEVPRgorK1VzYWdlOiBjb25maWd1cmUgW29wdGlvbnNdIFtob3N0XQorK09wdGlvbnM6IFtkZWZhdWx0cyBpbiBicmFja2V0cyBhZnRlciBkZXNjcmlwdGlvbnNdCisrQ29uZmlndXJhdGlvbjoKKysgIC0tY2FjaGUtZmlsZT1GSUxFICAgICAgIGNhY2hlIHRlc3QgcmVzdWx0cyBpbiBGSUxFCisrICAtLWhlbHAgICAgICAgICAgICAgICAgICBwcmludCB0aGlzIG1lc3NhZ2UKKysgIC0tbm8tY3JlYXRlICAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgb3V0cHV0IGZpbGVzCisrICAtLXF1aWV0LCAtLXNpbGVudCAgICAgICBkbyBub3QgcHJpbnQgXGBjaGVja2luZy4uLicgbWVzc2FnZXMKKysgIC0tdmVyc2lvbiAgICAgICAgICAgICAgIHByaW50IHRoZSB2ZXJzaW9uIG9mIGF1dG9jb25mIHRoYXQgY3JlYXRlZCBjb25maWd1cmUKKytEaXJlY3RvcnkgYW5kIGZpbGUgbmFtZXM6CisrICAtLXByZWZpeD1QUkVGSVggICAgICAgICBpbnN0YWxsIGFyY2hpdGVjdHVyZS1pbmRlcGVuZGVudCBmaWxlcyBpbiBQUkVGSVgKKysgICAgICAgICAgICAgICAgICAgICAgICAgIFskYWNfZGVmYXVsdF9wcmVmaXhdCisrICAtLWV4ZWMtcHJlZml4PUVQUkVGSVggICBpbnN0YWxsIGFyY2hpdGVjdHVyZS1kZXBlbmRlbnQgZmlsZXMgaW4gRVBSRUZJWAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgW3NhbWUgYXMgcHJlZml4XQorKyAgLS1iaW5kaXI9RElSICAgICAgICAgICAgdXNlciBleGVjdXRhYmxlcyBpbiBESVIgW0VQUkVGSVgvYmluXQorKyAgLS1zYmluZGlyPURJUiAgICAgICAgICAgc3lzdGVtIGFkbWluIGV4ZWN1dGFibGVzIGluIERJUiBbRVBSRUZJWC9zYmluXQorKyAgLS1saWJleGVjZGlyPURJUiAgICAgICAgcHJvZ3JhbSBleGVjdXRhYmxlcyBpbiBESVIgW0VQUkVGSVgvbGliZXhlY10KKysgIC0tZGF0YWRpcj1ESVIgICAgICAgICAgIHJlYWQtb25seSBhcmNoaXRlY3R1cmUtaW5kZXBlbmRlbnQgZGF0YSBpbiBESVIKKysgICAgICAgICAgICAgICAgICAgICAgICAgIFtQUkVGSVgvc2hhcmVdCisrICAtLXN5c2NvbmZkaXI9RElSICAgICAgICByZWFkLW9ubHkgc2luZ2xlLW1hY2hpbmUgZGF0YSBpbiBESVIgW1BSRUZJWC9ldGNdCisrICAtLXNoYXJlZHN0YXRlZGlyPURJUiAgICBtb2RpZmlhYmxlIGFyY2hpdGVjdHVyZS1pbmRlcGVuZGVudCBkYXRhIGluIERJUgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgW1BSRUZJWC9jb21dCisrICAtLWxvY2Fsc3RhdGVkaXI9RElSICAgICBtb2RpZmlhYmxlIHNpbmdsZS1tYWNoaW5lIGRhdGEgaW4gRElSIFtQUkVGSVgvdmFyXQorKyAgLS1saWJkaXI9RElSICAgICAgICAgICAgb2JqZWN0IGNvZGUgbGlicmFyaWVzIGluIERJUiBbRVBSRUZJWC9saWJdCisrICAtLWluY2x1ZGVkaXI9RElSICAgICAgICBDIGhlYWRlciBmaWxlcyBpbiBESVIgW1BSRUZJWC9pbmNsdWRlXQorKyAgLS1vbGRpbmNsdWRlZGlyPURJUiAgICAgQyBoZWFkZXIgZmlsZXMgZm9yIG5vbi1nY2MgaW4gRElSIFsvdXNyL2luY2x1ZGVdCisrICAtLWluZm9kaXI9RElSICAgICAgICAgICBpbmZvIGRvY3VtZW50YXRpb24gaW4gRElSIFtQUkVGSVgvaW5mb10KKysgIC0tbWFuZGlyPURJUiAgICAgICAgICAgIG1hbiBkb2N1bWVudGF0aW9uIGluIERJUiBbUFJFRklYL21hbl0KKysgIC0tc3JjZGlyPURJUiAgICAgICAgICAgIGZpbmQgdGhlIHNvdXJjZXMgaW4gRElSIFtjb25maWd1cmUgZGlyIG9yIC4uXQorKyAgLS1wcm9ncmFtLXByZWZpeD1QUkVGSVggcHJlcGVuZCBQUkVGSVggdG8gaW5zdGFsbGVkIHByb2dyYW0gbmFtZXMKKysgIC0tcHJvZ3JhbS1zdWZmaXg9U1VGRklYIGFwcGVuZCBTVUZGSVggdG8gaW5zdGFsbGVkIHByb2dyYW0gbmFtZXMKKysgIC0tcHJvZ3JhbS10cmFuc2Zvcm0tbmFtZT1QUk9HUkFNCisrICAgICAgICAgICAgICAgICAgICAgICAgICBydW4gc2VkIFBST0dSQU0gb24gaW5zdGFsbGVkIHByb2dyYW0gbmFtZXMKKytFT0YKKysgICAgY2F0IDw8IEVPRgorK0hvc3QgdHlwZToKKysgIC0tYnVpbGQ9QlVJTEQgICAgICAgICAgIGNvbmZpZ3VyZSBmb3IgYnVpbGRpbmcgb24gQlVJTEQgW0JVSUxEPUhPU1RdCisrICAtLWhvc3Q9SE9TVCAgICAgICAgICAgICBjb25maWd1cmUgZm9yIEhPU1QgW2d1ZXNzZWRdCisrICAtLXRhcmdldD1UQVJHRVQgICAgICAgICBjb25maWd1cmUgZm9yIFRBUkdFVCBbVEFSR0VUPUhPU1RdCisrRmVhdHVyZXMgYW5kIHBhY2thZ2VzOgorKyAgLS1kaXNhYmxlLUZFQVRVUkUgICAgICAgZG8gbm90IGluY2x1ZGUgRkVBVFVSRSAoc2FtZSBhcyAtLWVuYWJsZS1GRUFUVVJFPW5vKQorKyAgLS1lbmFibGUtRkVBVFVSRVs9QVJHXSAgaW5jbHVkZSBGRUFUVVJFIFtBUkc9eWVzXQorKyAgLS13aXRoLVBBQ0tBR0VbPUFSR10gICAgdXNlIFBBQ0tBR0UgW0FSRz15ZXNdCisrICAtLXdpdGhvdXQtUEFDS0FHRSAgICAgICBkbyBub3QgdXNlIFBBQ0tBR0UgKHNhbWUgYXMgLS13aXRoLVBBQ0tBR0U9bm8pCisrICAtLXgtaW5jbHVkZXM9RElSICAgICAgICBYIGluY2x1ZGUgZmlsZXMgYXJlIGluIERJUgorKyAgLS14LWxpYnJhcmllcz1ESVIgICAgICAgWCBsaWJyYXJ5IGZpbGVzIGFyZSBpbiBESVIKKytFT0YKKysgICAgaWYgdGVzdCAtbiAiJGFjX2hlbHAiOyB0aGVuCisrICAgICAgZWNobyAiLS1lbmFibGUgYW5kIC0td2l0aCBvcHRpb25zIHJlY29nbml6ZWQ6JGFjX2hlbHAiCisrICAgIGZpCisrICAgIGV4aXQgMCA7OworIAorICAgLWhvc3QgfCAtLWhvc3QgfCAtLWhvcyB8IC0taG8pCistICAgIGFjX3ByZXY9aG9zdF9hbGlhcyA7OworKyAgICBhY19wcmV2PWhvc3QgOzsKKyAgIC1ob3N0PSogfCAtLWhvc3Q9KiB8IC0taG9zPSogfCAtLWhvPSopCistICAgIGhvc3RfYWxpYXM9JGFjX29wdGFyZyA7OworKyAgICBob3N0PSIkYWNfb3B0YXJnIiA7OworIAorICAgLWluY2x1ZGVkaXIgfCAtLWluY2x1ZGVkaXIgfCAtLWluY2x1ZGVkaSB8IC0taW5jbHVkZWQgfCAtLWluY2x1ZGUgXAorICAgfCAtLWluY2x1ZCB8IC0taW5jbHUgfCAtLWluY2wgfCAtLWluYykKKyAgICAgYWNfcHJldj1pbmNsdWRlZGlyIDs7CisgICAtaW5jbHVkZWRpcj0qIHwgLS1pbmNsdWRlZGlyPSogfCAtLWluY2x1ZGVkaT0qIHwgLS1pbmNsdWRlZD0qIHwgLS1pbmNsdWRlPSogXAorICAgfCAtLWluY2x1ZD0qIHwgLS1pbmNsdT0qIHwgLS1pbmNsPSogfCAtLWluYz0qKQorLSAgICBpbmNsdWRlZGlyPSRhY19vcHRhcmcgOzsKKysgICAgaW5jbHVkZWRpcj0iJGFjX29wdGFyZyIgOzsKKyAKKyAgIC1pbmZvZGlyIHwgLS1pbmZvZGlyIHwgLS1pbmZvZGkgfCAtLWluZm9kIHwgLS1pbmZvIHwgLS1pbmYpCisgICAgIGFjX3ByZXY9aW5mb2RpciA7OworICAgLWluZm9kaXI9KiB8IC0taW5mb2Rpcj0qIHwgLS1pbmZvZGk9KiB8IC0taW5mb2Q9KiB8IC0taW5mbz0qIHwgLS1pbmY9KikKKy0gICAgaW5mb2Rpcj0kYWNfb3B0YXJnIDs7CisrICAgIGluZm9kaXI9IiRhY19vcHRhcmciIDs7CisgCisgICAtbGliZGlyIHwgLS1saWJkaXIgfCAtLWxpYmRpIHwgLS1saWJkKQorICAgICBhY19wcmV2PWxpYmRpciA7OworICAgLWxpYmRpcj0qIHwgLS1saWJkaXI9KiB8IC0tbGliZGk9KiB8IC0tbGliZD0qKQorLSAgICBsaWJkaXI9JGFjX29wdGFyZyA7OworKyAgICBsaWJkaXI9IiRhY19vcHRhcmciIDs7CisgCisgICAtbGliZXhlY2RpciB8IC0tbGliZXhlY2RpciB8IC0tbGliZXhlY2RpIHwgLS1saWJleGVjZCB8IC0tbGliZXhlYyBcCisgICB8IC0tbGliZXhlIHwgLS1saWJleCB8IC0tbGliZSkKKyAgICAgYWNfcHJldj1saWJleGVjZGlyIDs7CisgICAtbGliZXhlY2Rpcj0qIHwgLS1saWJleGVjZGlyPSogfCAtLWxpYmV4ZWNkaT0qIHwgLS1saWJleGVjZD0qIHwgLS1saWJleGVjPSogXAorICAgfCAtLWxpYmV4ZT0qIHwgLS1saWJleD0qIHwgLS1saWJlPSopCistICAgIGxpYmV4ZWNkaXI9JGFjX29wdGFyZyA7OworKyAgICBsaWJleGVjZGlyPSIkYWNfb3B0YXJnIiA7OworIAorICAgLWxvY2Fsc3RhdGVkaXIgfCAtLWxvY2Fsc3RhdGVkaXIgfCAtLWxvY2Fsc3RhdGVkaSB8IC0tbG9jYWxzdGF0ZWQgXAorICAgfCAtLWxvY2Fsc3RhdGUgfCAtLWxvY2Fsc3RhdCB8IC0tbG9jYWxzdGEgfCAtLWxvY2Fsc3QgXAorQEAgLTQ2OSwxOSArMjM0LDE5IEBACisgICAtbG9jYWxzdGF0ZWRpcj0qIHwgLS1sb2NhbHN0YXRlZGlyPSogfCAtLWxvY2Fsc3RhdGVkaT0qIHwgLS1sb2NhbHN0YXRlZD0qIFwKKyAgIHwgLS1sb2NhbHN0YXRlPSogfCAtLWxvY2Fsc3RhdD0qIHwgLS1sb2NhbHN0YT0qIHwgLS1sb2NhbHN0PSogXAorICAgfCAtLWxvY2Fscz0qIHwgLS1sb2NhbD0qIHwgLS1sb2NhPSogfCAtLWxvYz0qIHwgLS1sbz0qKQorLSAgICBsb2NhbHN0YXRlZGlyPSRhY19vcHRhcmcgOzsKKysgICAgbG9jYWxzdGF0ZWRpcj0iJGFjX29wdGFyZyIgOzsKKyAKKyAgIC1tYW5kaXIgfCAtLW1hbmRpciB8IC0tbWFuZGkgfCAtLW1hbmQgfCAtLW1hbiB8IC0tbWEgfCAtLW0pCisgICAgIGFjX3ByZXY9bWFuZGlyIDs7CisgICAtbWFuZGlyPSogfCAtLW1hbmRpcj0qIHwgLS1tYW5kaT0qIHwgLS1tYW5kPSogfCAtLW1hbj0qIHwgLS1tYT0qIHwgLS1tPSopCistICAgIG1hbmRpcj0kYWNfb3B0YXJnIDs7CisrICAgIG1hbmRpcj0iJGFjX29wdGFyZyIgOzsKKyAKKyAgIC1uZnAgfCAtLW5mcCB8IC0tbmYpCisgICAgICMgT2Jzb2xldGU7IHVzZSAtLXdpdGhvdXQtZnAuCisgICAgIHdpdGhfZnA9bm8gOzsKKyAKKyAgIC1uby1jcmVhdGUgfCAtLW5vLWNyZWF0ZSB8IC0tbm8tY3JlYXQgfCAtLW5vLWNyZWEgfCAtLW5vLWNyZSBcCistICB8IC0tbm8tY3IgfCAtLW5vLWMgfCAtbikKKysgIHwgLS1uby1jciB8IC0tbm8tYykKKyAgICAgbm9fY3JlYXRlPXllcyA7OworIAorICAgLW5vLXJlY3Vyc2lvbiB8IC0tbm8tcmVjdXJzaW9uIHwgLS1uby1yZWN1cnNpbyB8IC0tbm8tcmVjdXJzaSBcCitAQCAtNDk1LDI2ICsyNjAsMjYgQEAKKyAgIC1vbGRpbmNsdWRlZGlyPSogfCAtLW9sZGluY2x1ZGVkaXI9KiB8IC0tb2xkaW5jbHVkZWRpPSogfCAtLW9sZGluY2x1ZGVkPSogXAorICAgfCAtLW9sZGluY2x1ZGU9KiB8IC0tb2xkaW5jbHVkPSogfCAtLW9sZGluY2x1PSogfCAtLW9sZGluY2w9KiB8IC0tb2xkaW5jPSogXAorICAgfCAtLW9sZGluPSogfCAtLW9sZGk9KiB8IC0tb2xkPSogfCAtLW9sPSogfCAtLW89KikKKy0gICAgb2xkaW5jbHVkZWRpcj0kYWNfb3B0YXJnIDs7CisrICAgIG9sZGluY2x1ZGVkaXI9IiRhY19vcHRhcmciIDs7CisgCisgICAtcHJlZml4IHwgLS1wcmVmaXggfCAtLXByZWZpIHwgLS1wcmVmIHwgLS1wcmUgfCAtLXByIHwgLS1wKQorICAgICBhY19wcmV2PXByZWZpeCA7OworICAgLXByZWZpeD0qIHwgLS1wcmVmaXg9KiB8IC0tcHJlZmk9KiB8IC0tcHJlZj0qIHwgLS1wcmU9KiB8IC0tcHI9KiB8IC0tcD0qKQorLSAgICBwcmVmaXg9JGFjX29wdGFyZyA7OworKyAgICBwcmVmaXg9IiRhY19vcHRhcmciIDs7CisgCisgICAtcHJvZ3JhbS1wcmVmaXggfCAtLXByb2dyYW0tcHJlZml4IHwgLS1wcm9ncmFtLXByZWZpIHwgLS1wcm9ncmFtLXByZWYgXAorICAgfCAtLXByb2dyYW0tcHJlIHwgLS1wcm9ncmFtLXByIHwgLS1wcm9ncmFtLXApCisgICAgIGFjX3ByZXY9cHJvZ3JhbV9wcmVmaXggOzsKKyAgIC1wcm9ncmFtLXByZWZpeD0qIHwgLS1wcm9ncmFtLXByZWZpeD0qIHwgLS1wcm9ncmFtLXByZWZpPSogXAorICAgfCAtLXByb2dyYW0tcHJlZj0qIHwgLS1wcm9ncmFtLXByZT0qIHwgLS1wcm9ncmFtLXByPSogfCAtLXByb2dyYW0tcD0qKQorLSAgICBwcm9ncmFtX3ByZWZpeD0kYWNfb3B0YXJnIDs7CisrICAgIHByb2dyYW1fcHJlZml4PSIkYWNfb3B0YXJnIiA7OworIAorICAgLXByb2dyYW0tc3VmZml4IHwgLS1wcm9ncmFtLXN1ZmZpeCB8IC0tcHJvZ3JhbS1zdWZmaSB8IC0tcHJvZ3JhbS1zdWZmIFwKKyAgIHwgLS1wcm9ncmFtLXN1ZiB8IC0tcHJvZ3JhbS1zdSB8IC0tcHJvZ3JhbS1zKQorICAgICBhY19wcmV2PXByb2dyYW1fc3VmZml4IDs7CisgICAtcHJvZ3JhbS1zdWZmaXg9KiB8IC0tcHJvZ3JhbS1zdWZmaXg9KiB8IC0tcHJvZ3JhbS1zdWZmaT0qIFwKKyAgIHwgLS1wcm9ncmFtLXN1ZmY9KiB8IC0tcHJvZ3JhbS1zdWY9KiB8IC0tcHJvZ3JhbS1zdT0qIHwgLS1wcm9ncmFtLXM9KikKKy0gICAgcHJvZ3JhbV9zdWZmaXg9JGFjX29wdGFyZyA7OworKyAgICBwcm9ncmFtX3N1ZmZpeD0iJGFjX29wdGFyZyIgOzsKKyAKKyAgIC1wcm9ncmFtLXRyYW5zZm9ybS1uYW1lIHwgLS1wcm9ncmFtLXRyYW5zZm9ybS1uYW1lIFwKKyAgIHwgLS1wcm9ncmFtLXRyYW5zZm9ybS1uYW0gfCAtLXByb2dyYW0tdHJhbnNmb3JtLW5hIFwKK0BAIC01MzEsNyArMjk2LDcgQEAKKyAgIHwgLS1wcm9ncmFtLXRyYW5zZm89KiB8IC0tcHJvZ3JhbS10cmFuc2Y9KiBcCisgICB8IC0tcHJvZ3JhbS10cmFucz0qIHwgLS1wcm9ncmFtLXRyYW49KiBcCisgICB8IC0tcHJvZ3ItdHJhPSogfCAtLXByb2dyYW0tdHI9KiB8IC0tcHJvZ3JhbS10PSopCistICAgIHByb2dyYW1fdHJhbnNmb3JtX25hbWU9JGFjX29wdGFyZyA7OworKyAgICBwcm9ncmFtX3RyYW5zZm9ybV9uYW1lPSIkYWNfb3B0YXJnIiA7OworIAorICAgLXEgfCAtcXVpZXQgfCAtLXF1aWV0IHwgLS1xdWllIHwgLS1xdWkgfCAtLXF1IHwgLS1xIFwKKyAgIHwgLXNpbGVudCB8IC0tc2lsZW50IHwgLS1zaWxlbiB8IC0tc2lsZSB8IC0tc2lsKQorQEAgLTU0MSw3ICszMDYsNyBAQAorICAgICBhY19wcmV2PXNiaW5kaXIgOzsKKyAgIC1zYmluZGlyPSogfCAtLXNiaW5kaXI9KiB8IC0tc2JpbmRpPSogfCAtLXNiaW5kPSogfCAtLXNiaW49KiBcCisgICB8IC0tc2JpPSogfCAtLXNiPSopCistICAgIHNiaW5kaXI9JGFjX29wdGFyZyA7OworKyAgICBzYmluZGlyPSIkYWNfb3B0YXJnIiA7OworIAorICAgLXNoYXJlZHN0YXRlZGlyIHwgLS1zaGFyZWRzdGF0ZWRpciB8IC0tc2hhcmVkc3RhdGVkaSBcCisgICB8IC0tc2hhcmVkc3RhdGVkIHwgLS1zaGFyZWRzdGF0ZSB8IC0tc2hhcmVkc3RhdCB8IC0tc2hhcmVkc3RhIFwKK0BAIC01NTIsNTcgKzMxNyw1OCBAQAorICAgfCAtLXNoYXJlZHN0YXRlZD0qIHwgLS1zaGFyZWRzdGF0ZT0qIHwgLS1zaGFyZWRzdGF0PSogfCAtLXNoYXJlZHN0YT0qIFwKKyAgIHwgLS1zaGFyZWRzdD0qIHwgLS1zaGFyZWRzPSogfCAtLXNoYXJlZD0qIHwgLS1zaGFyZT0qIHwgLS1zaGFyPSogXAorICAgfCAtLXNoYT0qIHwgLS1zaD0qKQorLSAgICBzaGFyZWRzdGF0ZWRpcj0kYWNfb3B0YXJnIDs7CisrICAgIHNoYXJlZHN0YXRlZGlyPSIkYWNfb3B0YXJnIiA7OworIAorICAgLXNpdGUgfCAtLXNpdGUgfCAtLXNpdCkKKyAgICAgYWNfcHJldj1zaXRlIDs7CisgICAtc2l0ZT0qIHwgLS1zaXRlPSogfCAtLXNpdD0qKQorLSAgICBzaXRlPSRhY19vcHRhcmcgOzsKKysgICAgc2l0ZT0iJGFjX29wdGFyZyIgOzsKKyAKKyAgIC1zcmNkaXIgfCAtLXNyY2RpciB8IC0tc3JjZGkgfCAtLXNyY2QgfCAtLXNyYyB8IC0tc3IpCisgICAgIGFjX3ByZXY9c3JjZGlyIDs7CisgICAtc3JjZGlyPSogfCAtLXNyY2Rpcj0qIHwgLS1zcmNkaT0qIHwgLS1zcmNkPSogfCAtLXNyYz0qIHwgLS1zcj0qKQorLSAgICBzcmNkaXI9JGFjX29wdGFyZyA7OworKyAgICBzcmNkaXI9IiRhY19vcHRhcmciIDs7CisgCisgICAtc3lzY29uZmRpciB8IC0tc3lzY29uZmRpciB8IC0tc3lzY29uZmRpIHwgLS1zeXNjb25mZCB8IC0tc3lzY29uZiBcCisgICB8IC0tc3lzY29uIHwgLS1zeXNjbyB8IC0tc3lzYyB8IC0tc3lzIHwgLS1zeSkKKyAgICAgYWNfcHJldj1zeXNjb25mZGlyIDs7CisgICAtc3lzY29uZmRpcj0qIHwgLS1zeXNjb25mZGlyPSogfCAtLXN5c2NvbmZkaT0qIHwgLS1zeXNjb25mZD0qIHwgLS1zeXNjb25mPSogXAorICAgfCAtLXN5c2Nvbj0qIHwgLS1zeXNjbz0qIHwgLS1zeXNjPSogfCAtLXN5cz0qIHwgLS1zeT0qKQorLSAgICBzeXNjb25mZGlyPSRhY19vcHRhcmcgOzsKKysgICAgc3lzY29uZmRpcj0iJGFjX29wdGFyZyIgOzsKKyAKKyAgIC10YXJnZXQgfCAtLXRhcmdldCB8IC0tdGFyZ2UgfCAtLXRhcmcgfCAtLXRhciB8IC0tdGEgfCAtLXQpCistICAgIGFjX3ByZXY9dGFyZ2V0X2FsaWFzIDs7CisrICAgIGFjX3ByZXY9dGFyZ2V0IDs7CisgICAtdGFyZ2V0PSogfCAtLXRhcmdldD0qIHwgLS10YXJnZT0qIHwgLS10YXJnPSogfCAtLXRhcj0qIHwgLS10YT0qIHwgLS10PSopCistICAgIHRhcmdldF9hbGlhcz0kYWNfb3B0YXJnIDs7CisrICAgIHRhcmdldD0iJGFjX29wdGFyZyIgOzsKKyAKKyAgIC12IHwgLXZlcmJvc2UgfCAtLXZlcmJvc2UgfCAtLXZlcmJvcyB8IC0tdmVyYm8gfCAtLXZlcmIpCisgICAgIHZlcmJvc2U9eWVzIDs7CisgCistICAtdmVyc2lvbiB8IC0tdmVyc2lvbiB8IC0tdmVyc2lvIHwgLS12ZXJzaSB8IC0tdmVycyB8IC1WKQorLSAgICBhY19pbml0X3ZlcnNpb249OiA7OworKyAgLXZlcnNpb24gfCAtLXZlcnNpb24gfCAtLXZlcnNpbyB8IC0tdmVyc2kgfCAtLXZlcnMpCisrICAgIGVjaG8gImNvbmZpZ3VyZSBnZW5lcmF0ZWQgYnkgYXV0b2NvbmYgdmVyc2lvbiAyLjEzIgorKyAgICBleGl0IDAgOzsKKyAKKyAgIC13aXRoLSogfCAtLXdpdGgtKikKKy0gICAgYWNfcGFja2FnZT1gZXhwciAieCRhY19vcHRpb24iIDogJ3gtKndpdGgtXChbXj1dKlwpJ2AKKysgICAgYWNfcGFja2FnZT1gZWNobyAkYWNfb3B0aW9ufHNlZCAtZSAncy8tKndpdGgtLy8nIC1lICdzLz0uKi8vJ2AKKyAgICAgIyBSZWplY3QgbmFtZXMgdGhhdCBhcmUgbm90IHZhbGlkIHNoZWxsIHZhcmlhYmxlIG5hbWVzLgorLSAgICBleHByICJ4JGFjX3BhY2thZ2UiIDogIi4qW14tXyRhc19jcl9hbG51bV0iID4vZGV2L251bGwgJiYKKy0gICAgICB7IGVjaG8gIiRhc19tZTogZXJyb3I6IGludmFsaWQgcGFja2FnZSBuYW1lOiAkYWNfcGFja2FnZSIgPiYyCistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CisrICAgIGlmIHRlc3QgLW4gImBlY2hvICRhY19wYWNrYWdlfCBzZWQgJ3MvWy1fYS16QS1aMC05XS8vZydgIjsgdGhlbgorKyAgICAgIHsgZWNobyAiY29uZmlndXJlOiBlcnJvcjogJGFjX3BhY2thZ2U6IGludmFsaWQgcGFja2FnZSBuYW1lIiAxPiYyOyBleGl0IDE7IH0KKysgICAgZmkKKyAgICAgYWNfcGFja2FnZT1gZWNobyAkYWNfcGFja2FnZXwgc2VkICdzLy0vXy9nJ2AKKy0gICAgY2FzZSAkYWNfb3B0aW9uIGluCistICAgICAgKj0qKSBhY19vcHRhcmc9YGVjaG8gIiRhY19vcHRhcmciIHwgc2VkICJzLycvJ1xcXFxcXFxcJycvZyJgOzsKKysgICAgY2FzZSAiJGFjX29wdGlvbiIgaW4KKysgICAgICAqPSopIDs7CisgICAgICAgKikgYWNfb3B0YXJnPXllcyA7OworICAgICBlc2FjCistICAgIGV2YWwgIndpdGhfJGFjX3BhY2thZ2U9JyRhY19vcHRhcmcnIiA7OworKyAgICBldmFsICJ3aXRoXyR7YWNfcGFja2FnZX09JyRhY19vcHRhcmcnIiA7OworIAorICAgLXdpdGhvdXQtKiB8IC0td2l0aG91dC0qKQorLSAgICBhY19wYWNrYWdlPWBleHByICJ4JGFjX29wdGlvbiIgOiAneC0qd2l0aG91dC1cKC4qXCknYAorKyAgICBhY19wYWNrYWdlPWBlY2hvICRhY19vcHRpb258c2VkIC1lICdzLy0qd2l0aG91dC0vLydgCisgICAgICMgUmVqZWN0IG5hbWVzIHRoYXQgYXJlIG5vdCB2YWxpZCBzaGVsbCB2YXJpYWJsZSBuYW1lcy4KKy0gICAgZXhwciAieCRhY19wYWNrYWdlIiA6ICIuKlteLV8kYXNfY3JfYWxudW1dIiA+L2Rldi9udWxsICYmCistICAgICAgeyBlY2hvICIkYXNfbWU6IGVycm9yOiBpbnZhbGlkIHBhY2thZ2UgbmFtZTogJGFjX3BhY2thZ2UiID4mMgorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorLSAgICBhY19wYWNrYWdlPWBlY2hvICRhY19wYWNrYWdlIHwgc2VkICdzLy0vXy9nJ2AKKy0gICAgZXZhbCAid2l0aF8kYWNfcGFja2FnZT1ubyIgOzsKKysgICAgaWYgdGVzdCAtbiAiYGVjaG8gJGFjX3BhY2thZ2V8IHNlZCAncy9bLWEtekEtWjAtOV9dLy9nJ2AiOyB0aGVuCisrICAgICAgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiAkYWNfcGFja2FnZTogaW52YWxpZCBwYWNrYWdlIG5hbWUiIDE+JjI7IGV4aXQgMTsgfQorKyAgICBmaQorKyAgICBhY19wYWNrYWdlPWBlY2hvICRhY19wYWNrYWdlfCBzZWQgJ3MvLS9fL2cnYAorKyAgICBldmFsICJ3aXRoXyR7YWNfcGFja2FnZX09bm8iIDs7CisgCisgICAtLXgpCisgICAgICMgT2Jzb2xldGU7IHVzZSAtLXdpdGgteC4KK0BAIC02MTMsMTEwICszNzksOTkgQEAKKyAgICAgYWNfcHJldj14X2luY2x1ZGVzIDs7CisgICAteC1pbmNsdWRlcz0qIHwgLS14LWluY2x1ZGVzPSogfCAtLXgtaW5jbHVkZT0qIHwgLS14LWluY2x1ZD0qIHwgLS14LWluY2x1PSogXAorICAgfCAtLXgtaW5jbD0qIHwgLS14LWluYz0qIHwgLS14LWluPSogfCAtLXgtaT0qKQorLSAgICB4X2luY2x1ZGVzPSRhY19vcHRhcmcgOzsKKysgICAgeF9pbmNsdWRlcz0iJGFjX29wdGFyZyIgOzsKKyAKKyAgIC14LWxpYnJhcmllcyB8IC0teC1saWJyYXJpZXMgfCAtLXgtbGlicmFyaWUgfCAtLXgtbGlicmFyaSBcCisgICB8IC0teC1saWJyYXIgfCAtLXgtbGlicmEgfCAtLXgtbGliciB8IC0teC1saWIgfCAtLXgtbGkgfCAtLXgtbCkKKyAgICAgYWNfcHJldj14X2xpYnJhcmllcyA7OworICAgLXgtbGlicmFyaWVzPSogfCAtLXgtbGlicmFyaWVzPSogfCAtLXgtbGlicmFyaWU9KiB8IC0teC1saWJyYXJpPSogXAorICAgfCAtLXgtbGlicmFyPSogfCAtLXgtbGlicmE9KiB8IC0teC1saWJyPSogfCAtLXgtbGliPSogfCAtLXgtbGk9KiB8IC0teC1sPSopCistICAgIHhfbGlicmFyaWVzPSRhY19vcHRhcmcgOzsKKysgICAgeF9saWJyYXJpZXM9IiRhY19vcHRhcmciIDs7CisgCistICAtKikgeyBlY2hvICIkYXNfbWU6IGVycm9yOiB1bnJlY29nbml6ZWQgb3B0aW9uOiAkYWNfb3B0aW9uCistVHJ5IFxgJDAgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iID4mMgorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorKyAgLSopIHsgZWNobyAiY29uZmlndXJlOiBlcnJvcjogJGFjX29wdGlvbjogaW52YWxpZCBvcHRpb247IHVzZSAtLWhlbHAgdG8gc2hvdyB1c2FnZSIgMT4mMjsgZXhpdCAxOyB9CisgICAgIDs7CisgCistICAqPSopCistICAgIGFjX2VudnZhcj1gZXhwciAieCRhY19vcHRpb24iIDogJ3hcKFtePV0qXCk9J2AKKy0gICAgIyBSZWplY3QgbmFtZXMgdGhhdCBhcmUgbm90IHZhbGlkIHNoZWxsIHZhcmlhYmxlIG5hbWVzLgorLSAgICBleHByICJ4JGFjX2VudnZhciIgOiAiLipbXl8kYXNfY3JfYWxudW1dIiA+L2Rldi9udWxsICYmCistICAgICAgeyBlY2hvICIkYXNfbWU6IGVycm9yOiBpbnZhbGlkIHZhcmlhYmxlIG5hbWU6ICRhY19lbnZ2YXIiID4mMgorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorLSAgICBhY19vcHRhcmc9YGVjaG8gIiRhY19vcHRhcmciIHwgc2VkICJzLycvJ1xcXFxcXFxcJycvZyJgCistICAgIGV2YWwgIiRhY19lbnZ2YXI9JyRhY19vcHRhcmcnIgorLSAgICBleHBvcnQgJGFjX2VudnZhciA7OworLQorICAgKikKKy0gICAgIyBGSVhNRTogc2hvdWxkIGJlIHJlbW92ZWQgaW4gYXV0b2NvbmYgMy4wLgorLSAgICBlY2hvICIkYXNfbWU6IFdBUk5JTkc6IHlvdSBzaG91bGQgdXNlIC0tYnVpbGQsIC0taG9zdCwgLS10YXJnZXQiID4mMgorLSAgICBleHByICJ4JGFjX29wdGlvbiIgOiAiLipbXi0uXyRhc19jcl9hbG51bV0iID4vZGV2L251bGwgJiYKKy0gICAgICBlY2hvICIkYXNfbWU6IFdBUk5JTkc6IGludmFsaWQgaG9zdCB0eXBlOiAkYWNfb3B0aW9uIiA+JjIKKy0gICAgOiAke2J1aWxkX2FsaWFzPSRhY19vcHRpb259ICR7aG9zdF9hbGlhcz0kYWNfb3B0aW9ufSAke3RhcmdldF9hbGlhcz0kYWNfb3B0aW9ufQorKyAgICBpZiB0ZXN0IC1uICJgZWNobyAkYWNfb3B0aW9ufCBzZWQgJ3MvWy1hLXowLTkuXS8vZydgIjsgdGhlbgorKyAgICAgIGVjaG8gImNvbmZpZ3VyZTogd2FybmluZzogJGFjX29wdGlvbjogaW52YWxpZCBob3N0IHR5cGUiIDE+JjIKKysgICAgZmkKKysgICAgaWYgdGVzdCAieCRub25vcHQiICE9IHhOT05FOyB0aGVuCisrICAgICAgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiBjYW4gb25seSBjb25maWd1cmUgZm9yIG9uZSBob3N0IGFuZCBvbmUgdGFyZ2V0IGF0IGEgdGltZSIgMT4mMjsgZXhpdCAxOyB9CisrICAgIGZpCisrICAgIG5vbm9wdD0iJGFjX29wdGlvbiIKKyAgICAgOzsKKyAKKyAgIGVzYWMKKyBkb25lCisgCisgaWYgdGVzdCAtbiAiJGFjX3ByZXYiOyB0aGVuCistICBhY19vcHRpb249LS1gZWNobyAkYWNfcHJldiB8IHNlZCAncy9fLy0vZydgCistICB7IGVjaG8gIiRhc19tZTogZXJyb3I6IG1pc3NpbmcgYXJndW1lbnQgdG8gJGFjX29wdGlvbiIgPiYyCistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CisrICB7IGVjaG8gImNvbmZpZ3VyZTogZXJyb3I6IG1pc3NpbmcgYXJndW1lbnQgdG8gLS1gZWNobyAkYWNfcHJldiB8IHNlZCAncy9fLy0vZydgIiAxPiYyOyBleGl0IDE7IH0KKyBmaQorIAorLSMgQmUgc3VyZSB0byBoYXZlIGFic29sdXRlIHBhdGhzLgorLWZvciBhY192YXIgaW4gZXhlY19wcmVmaXggcHJlZml4CistZG8KKy0gIGV2YWwgYWNfdmFsPSRgZWNobyAkYWNfdmFyYAorLSAgY2FzZSAkYWNfdmFsIGluCistICAgIFtcXC8kXSogfCA/OltcXC9dKiB8IE5PTkUgfCAnJyApIDs7CistICAgICopICB7IGVjaG8gIiRhc19tZTogZXJyb3I6IGV4cGVjdGVkIGFuIGFic29sdXRlIGRpcmVjdG9yeSBuYW1lIGZvciAtLSRhY192YXI6ICRhY192YWwiID4mMgorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfTs7CistICBlc2FjCistZG9uZQorK3RyYXAgJ3JtIC1mciBjb25mdGVzdCogY29uZmRlZnMqIGNvcmUgY29yZS4qICouY29yZSAkYWNfY2xlYW5fZmlsZXM7IGV4aXQgMScgMSAyIDE1CisgCistIyBCZSBzdXJlIHRvIGhhdmUgYWJzb2x1dGUgcGF0aHMuCistZm9yIGFjX3ZhciBpbiBiaW5kaXIgc2JpbmRpciBsaWJleGVjZGlyIGRhdGFkaXIgc3lzY29uZmRpciBzaGFyZWRzdGF0ZWRpciBcCistICAgICAgICAgICAgICBsb2NhbHN0YXRlZGlyIGxpYmRpciBpbmNsdWRlZGlyIG9sZGluY2x1ZGVkaXIgaW5mb2RpciBtYW5kaXIKKysjIEZpbGUgZGVzY3JpcHRvciB1c2FnZToKKysjIDAgc3RhbmRhcmQgaW5wdXQKKysjIDEgZmlsZSBjcmVhdGlvbgorKyMgMiBlcnJvcnMgYW5kIHdhcm5pbmdzCisrIyAzIHNvbWUgc3lzdGVtcyBtYXkgb3BlbiBpdCB0byAvZGV2L3R0eQorKyMgNCB1c2VkIG9uIHRoZSBLdWJvdGEgVGl0YW4KKysjIDYgY2hlY2tpbmcgZm9yLi4uIG1lc3NhZ2VzIGFuZCByZXN1bHRzCisrIyA1IGNvbXBpbGVyIG1lc3NhZ2VzIHNhdmVkIGluIGNvbmZpZy5sb2cKKytpZiB0ZXN0ICIkc2lsZW50IiA9IHllczsgdGhlbgorKyAgZXhlYyA2Pi9kZXYvbnVsbAorK2Vsc2UKKysgIGV4ZWMgNj4mMQorK2ZpCisrZXhlYyA1Pi4vY29uZmlnLmxvZworKworK2VjaG8gIlwKKytUaGlzIGZpbGUgY29udGFpbnMgYW55IG1lc3NhZ2VzIHByb2R1Y2VkIGJ5IGNvbXBpbGVycyB3aGlsZQorK3J1bm5pbmcgY29uZmlndXJlLCB0byBhaWQgZGVidWdnaW5nIGlmIGNvbmZpZ3VyZSBtYWtlcyBhIG1pc3Rha2UuCisrIiAxPiY1CisrCisrIyBTdHJpcCBvdXQgLS1uby1jcmVhdGUgYW5kIC0tbm8tcmVjdXJzaW9uIHNvIHRoZXkgZG8gbm90IHBpbGUgdXAuCisrIyBBbHNvIHF1b3RlIGFueSBhcmdzIGNvbnRhaW5pbmcgc2hlbGwgbWV0YWNoYXJhY3RlcnMuCisrYWNfY29uZmlndXJlX2FyZ3M9CisrZm9yIGFjX2FyZworIGRvCistICBldmFsIGFjX3ZhbD0kYGVjaG8gJGFjX3ZhcmAKKy0gIGNhc2UgJGFjX3ZhbCBpbgorLSAgICBbXFwvJF0qIHwgPzpbXFwvXSogKSA7OworLSAgICAqKSAgeyBlY2hvICIkYXNfbWU6IGVycm9yOiBleHBlY3RlZCBhbiBhYnNvbHV0ZSBkaXJlY3RvcnkgbmFtZSBmb3IgLS0kYWNfdmFyOiAkYWNfdmFsIiA+JjIKKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH07OworKyAgY2FzZSAiJGFjX2FyZyIgaW4KKysgIC1uby1jcmVhdGUgfCAtLW5vLWNyZWF0ZSB8IC0tbm8tY3JlYXQgfCAtLW5vLWNyZWEgfCAtLW5vLWNyZSBcCisrICB8IC0tbm8tY3IgfCAtLW5vLWMpIDs7CisrICAtbm8tcmVjdXJzaW9uIHwgLS1uby1yZWN1cnNpb24gfCAtLW5vLXJlY3Vyc2lvIHwgLS1uby1yZWN1cnNpIFwKKysgIHwgLS1uby1yZWN1cnMgfCAtLW5vLXJlY3VyIHwgLS1uby1yZWN1IHwgLS1uby1yZWMgfCAtLW5vLXJlIHwgLS1uby1yKSA7OworKyAgKiIgIip8KiIJIip8KltcW1xdXH5cI1wkXF5cJlwqXChcKVx7XH1cXFx8XDtcPFw+XD9dKikKKysgIGFjX2NvbmZpZ3VyZV9hcmdzPSIkYWNfY29uZmlndXJlX2FyZ3MgJyRhY19hcmcnIiA7OworKyAgKikgYWNfY29uZmlndXJlX2FyZ3M9IiRhY19jb25maWd1cmVfYXJncyAkYWNfYXJnIiA7OworICAgZXNhYworIGRvbmUKKyAKKy0jIFRoZXJlIG1pZ2h0IGJlIHBlb3BsZSB3aG8gZGVwZW5kIG9uIHRoZSBvbGQgYnJva2VuIGJlaGF2aW9yOiBgJGhvc3QnCistIyB1c2VkIHRvIGhvbGQgdGhlIGFyZ3VtZW50IG9mIC0taG9zdCBldGMuCistIyBGSVhNRTogVG8gcmVtb3ZlIHNvbWUgZGF5LgorLWJ1aWxkPSRidWlsZF9hbGlhcworLWhvc3Q9JGhvc3RfYWxpYXMKKy10YXJnZXQ9JHRhcmdldF9hbGlhcworKyMgTkxTIG51aXNhbmNlcy4KKysjIE9ubHkgc2V0IHRoZXNlIHRvIEMgaWYgYWxyZWFkeSBzZXQuICBUaGVzZSBtdXN0IG5vdCBiZSBzZXQgdW5jb25kaXRpb25hbGx5CisrIyBiZWNhdXNlIG5vdCBhbGwgc3lzdGVtcyB1bmRlcnN0YW5kIGUuZy4gTEFORz1DIChub3RhYmx5IFNDTykuCisrIyBGaXhpbmcgTENfTUVTU0FHRVMgcHJldmVudHMgU29sYXJpcyBzaCBmcm9tIHRyYW5zbGF0aW5nIHZhciB2YWx1ZXMgaW4gYHNldCchCisrIyBOb24tQyBMQ19DVFlQRSB2YWx1ZXMgYnJlYWsgdGhlIGN0eXBlIGNoZWNrLgorK2lmIHRlc3QgIiR7TEFORytzZXR9IiAgID0gc2V0OyB0aGVuIExBTkc9QzsgICBleHBvcnQgTEFORzsgICBmaQorK2lmIHRlc3QgIiR7TENfQUxMK3NldH0iID0gc2V0OyB0aGVuIExDX0FMTD1DOyBleHBvcnQgTENfQUxMOyBmaQorK2lmIHRlc3QgIiR7TENfTUVTU0FHRVMrc2V0fSIgPSBzZXQ7IHRoZW4gTENfTUVTU0FHRVM9QzsgZXhwb3J0IExDX01FU1NBR0VTOyBmaQorK2lmIHRlc3QgIiR7TENfQ1RZUEUrc2V0fSIgICAgPSBzZXQ7IHRoZW4gTENfQ1RZUEU9QzsgICAgZXhwb3J0IExDX0NUWVBFOyAgICBmaQorIAorLSMgRklYTUU6IFRvIHJlbW92ZSBzb21lIGRheS4KKy1pZiB0ZXN0ICJ4JGhvc3RfYWxpYXMiICE9IHg7IHRoZW4KKy0gIGlmIHRlc3QgIngkYnVpbGRfYWxpYXMiID0geDsgdGhlbgorLSAgICBjcm9zc19jb21waWxpbmc9bWF5YmUKKy0gICAgZWNobyAiJGFzX21lOiBXQVJOSU5HOiBJZiB5b3Ugd2FudGVkIHRvIHNldCB0aGUgLS1idWlsZCB0eXBlLCBkb24ndCB1c2UgLS1ob3N0LgorLSAgICBJZiBhIGNyb3NzIGNvbXBpbGVyIGlzIGRldGVjdGVkIHRoZW4gY3Jvc3MgY29tcGlsZSBtb2RlIHdpbGwgYmUgdXNlZC4iID4mMgorLSAgZWxpZiB0ZXN0ICJ4JGJ1aWxkX2FsaWFzIiAhPSAieCRob3N0X2FsaWFzIjsgdGhlbgorLSAgICBjcm9zc19jb21waWxpbmc9eWVzCistICBmaQorLWZpCisrIyBjb25mZGVmcy5oIGF2b2lkcyBPUyBjb21tYW5kIGxpbmUgbGVuZ3RoIGxpbWl0cyB0aGF0IERFRlMgY2FuIGV4Y2VlZC4KKytybSAtcmYgY29uZnRlc3QqIGNvbmZkZWZzLmgKKysjIEFJWCBjcHAgbG9zZXMgb24gYW4gZW1wdHkgZmlsZSwgc28gbWFrZSBzdXJlIGl0IGNvbnRhaW5zIGF0IGxlYXN0IGEgbmV3bGluZS4KKytlY2hvID4gY29uZmRlZnMuaAorIAorLWFjX3Rvb2xfcHJlZml4PQorLXRlc3QgLW4gIiRob3N0X2FsaWFzIiAmJiBhY190b29sX3ByZWZpeD0kaG9zdF9hbGlhcy0KKysjIEEgZmlsZW5hbWUgdW5pcXVlIHRvIHRoaXMgcGFja2FnZSwgcmVsYXRpdmUgdG8gdGhlIGRpcmVjdG9yeSB0aGF0CisrIyBjb25maWd1cmUgaXMgaW4sIHdoaWNoIHdlIGNhbiBsb29rIGZvciB0byBmaW5kIG91dCBpZiBzcmNkaXIgaXMgY29ycmVjdC4KKythY191bmlxdWVfZmlsZT1pbmNsdWRlL2ZsaXRlLmgKKyAKKy10ZXN0ICIkc2lsZW50IiA9IHllcyAmJiBleGVjIDY+L2Rldi9udWxsCistCistCisgIyBGaW5kIHRoZSBzb3VyY2UgZmlsZXMsIGlmIGxvY2F0aW9uIHdhcyBub3Qgc3BlY2lmaWVkLgorIGlmIHRlc3QgLXogIiRzcmNkaXIiOyB0aGVuCisgICBhY19zcmNkaXJfZGVmYXVsdGVkPXllcworICAgIyBUcnkgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoaXMgc2NyaXB0LCB0aGVuIGl0cyBwYXJlbnQuCistICBhY19jb25mZGlyPWAoZGlybmFtZSAiJDAiKSAyPi9kZXYvbnVsbCB8fAorLSRhc19leHByIFgiJDAiIDogJ1hcKC4qW14vXVwpLy8qW14vXVteL10qLyokJyBcfCBcCistICAgICAgICAgWCIkMCIgOiAnWFwoLy9cKVteL10nIFx8IFwKKy0gICAgICAgICBYIiQwIiA6ICdYXCgvL1wpJCcgXHwgXAorLSAgICAgICAgIFgiJDAiIDogJ1hcKC9cKScgXHwgXAorLSAgICAgICAgIC4gICAgIDogJ1woLlwpJyAyPi9kZXYvbnVsbCB8fAorLWVjaG8gWCIkMCIgfAorLSAgICBzZWQgJy9eWFwoLipbXi9dXClcL1wvKlteL11bXi9dKlwvKiQveyBzLy9cMS87IHE7IH0KKy0gIAkgIC9eWFwoXC9cL1wpW14vXS4qL3sgcy8vXDEvOyBxOyB9CistICAJICAvXlhcKFwvXC9cKSQveyBzLy9cMS87IHE7IH0KKy0gIAkgIC9eWFwoXC9cKS4qL3sgcy8vXDEvOyBxOyB9CistICAJICBzLy4qLy4vOyBxJ2AKKysgIGFjX3Byb2c9JDAKKysgIGFjX2NvbmZkaXI9YGVjaG8gJGFjX3Byb2d8c2VkICdzJS9bXi9dW14vXSokJSUnYAorKyAgdGVzdCAieCRhY19jb25mZGlyIiA9ICJ4JGFjX3Byb2ciICYmIGFjX2NvbmZkaXI9LgorICAgc3JjZGlyPSRhY19jb25mZGlyCisgICBpZiB0ZXN0ICEgLXIgJHNyY2Rpci8kYWNfdW5pcXVlX2ZpbGU7IHRoZW4KKyAgICAgc3JjZGlyPS4uCitAQCAtNzI2LDQ0MSArNDgxLDEzIEBACisgZmkKKyBpZiB0ZXN0ICEgLXIgJHNyY2Rpci8kYWNfdW5pcXVlX2ZpbGU7IHRoZW4KKyAgIGlmIHRlc3QgIiRhY19zcmNkaXJfZGVmYXVsdGVkIiA9IHllczsgdGhlbgorLSAgICB7IGVjaG8gIiRhc19tZTogZXJyb3I6IGNhbm5vdCBmaW5kIHNvdXJjZXMgKCRhY191bmlxdWVfZmlsZSkgaW4gJGFjX2NvbmZkaXIgb3IgLi4iID4mMgorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorKyAgICB7IGVjaG8gImNvbmZpZ3VyZTogZXJyb3I6IGNhbiBub3QgZmluZCBzb3VyY2VzIGluICRhY19jb25mZGlyIG9yIC4uIiAxPiYyOyBleGl0IDE7IH0KKyAgIGVsc2UKKy0gICAgeyBlY2hvICIkYXNfbWU6IGVycm9yOiBjYW5ub3QgZmluZCBzb3VyY2VzICgkYWNfdW5pcXVlX2ZpbGUpIGluICRzcmNkaXIiID4mMgorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorKyAgICB7IGVjaG8gImNvbmZpZ3VyZTogZXJyb3I6IGNhbiBub3QgZmluZCBzb3VyY2VzIGluICRzcmNkaXIiIDE+JjI7IGV4aXQgMTsgfQorICAgZmkKKyBmaQorLShjZCAkc3JjZGlyICYmIHRlc3QgLXIgLi8kYWNfdW5pcXVlX2ZpbGUpIDI+L2Rldi9udWxsIHx8CistICB7IGVjaG8gIiRhc19tZTogZXJyb3I6IHNvdXJjZXMgYXJlIGluICRzcmNkaXIsIGJ1dCBcYGNkICRzcmNkaXInIGRvZXMgbm90IHdvcmsiID4mMgorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorLXNyY2Rpcj1gZWNobyAiJHNyY2RpciIgfCBzZWQgJ3MlXChbXlxcL11cKVtcXC9dKiQlXDElJ2AKKy1hY19lbnZfYnVpbGRfYWxpYXNfc2V0PSR7YnVpbGRfYWxpYXMrc2V0fQorLWFjX2Vudl9idWlsZF9hbGlhc192YWx1ZT0kYnVpbGRfYWxpYXMKKy1hY19jdl9lbnZfYnVpbGRfYWxpYXNfc2V0PSR7YnVpbGRfYWxpYXMrc2V0fQorLWFjX2N2X2Vudl9idWlsZF9hbGlhc192YWx1ZT0kYnVpbGRfYWxpYXMKKy1hY19lbnZfaG9zdF9hbGlhc19zZXQ9JHtob3N0X2FsaWFzK3NldH0KKy1hY19lbnZfaG9zdF9hbGlhc192YWx1ZT0kaG9zdF9hbGlhcworLWFjX2N2X2Vudl9ob3N0X2FsaWFzX3NldD0ke2hvc3RfYWxpYXMrc2V0fQorLWFjX2N2X2Vudl9ob3N0X2FsaWFzX3ZhbHVlPSRob3N0X2FsaWFzCistYWNfZW52X3RhcmdldF9hbGlhc19zZXQ9JHt0YXJnZXRfYWxpYXMrc2V0fQorLWFjX2Vudl90YXJnZXRfYWxpYXNfdmFsdWU9JHRhcmdldF9hbGlhcworLWFjX2N2X2Vudl90YXJnZXRfYWxpYXNfc2V0PSR7dGFyZ2V0X2FsaWFzK3NldH0KKy1hY19jdl9lbnZfdGFyZ2V0X2FsaWFzX3ZhbHVlPSR0YXJnZXRfYWxpYXMKKy1hY19lbnZfQ0Nfc2V0PSR7Q0Mrc2V0fQorLWFjX2Vudl9DQ192YWx1ZT0kQ0MKKy1hY19jdl9lbnZfQ0Nfc2V0PSR7Q0Mrc2V0fQorLWFjX2N2X2Vudl9DQ192YWx1ZT0kQ0MKKy1hY19lbnZfQ0ZMQUdTX3NldD0ke0NGTEFHUytzZXR9CistYWNfZW52X0NGTEFHU192YWx1ZT0kQ0ZMQUdTCistYWNfY3ZfZW52X0NGTEFHU19zZXQ9JHtDRkxBR1Mrc2V0fQorLWFjX2N2X2Vudl9DRkxBR1NfdmFsdWU9JENGTEFHUworLWFjX2Vudl9MREZMQUdTX3NldD0ke0xERkxBR1Mrc2V0fQorLWFjX2Vudl9MREZMQUdTX3ZhbHVlPSRMREZMQUdTCistYWNfY3ZfZW52X0xERkxBR1Nfc2V0PSR7TERGTEFHUytzZXR9CistYWNfY3ZfZW52X0xERkxBR1NfdmFsdWU9JExERkxBR1MKKy1hY19lbnZfQ1BQRkxBR1Nfc2V0PSR7Q1BQRkxBR1Mrc2V0fQorLWFjX2Vudl9DUFBGTEFHU192YWx1ZT0kQ1BQRkxBR1MKKy1hY19jdl9lbnZfQ1BQRkxBR1Nfc2V0PSR7Q1BQRkxBR1Mrc2V0fQorLWFjX2N2X2Vudl9DUFBGTEFHU192YWx1ZT0kQ1BQRkxBR1MKKy1hY19lbnZfQ1BQX3NldD0ke0NQUCtzZXR9CistYWNfZW52X0NQUF92YWx1ZT0kQ1BQCistYWNfY3ZfZW52X0NQUF9zZXQ9JHtDUFArc2V0fQorLWFjX2N2X2Vudl9DUFBfdmFsdWU9JENQUAorK3NyY2Rpcj1gZWNobyAiJHtzcmNkaXJ9IiB8IHNlZCAncyVcKFteL11cKS8qJCVcMSUnYAorIAorLSMKKy0jIFJlcG9ydCB0aGUgLS1oZWxwIG1lc3NhZ2UuCistIworLWlmIHRlc3QgIiRhY19pbml0X2hlbHAiID0gImxvbmciOyB0aGVuCistICAjIE9taXQgc29tZSBpbnRlcm5hbCBvciBvYnNvbGV0ZSBvcHRpb25zIHRvIG1ha2UgdGhlIGxpc3QgbGVzcyBpbXBvc2luZy4KKy0gICMgVGhpcyBtZXNzYWdlIGlzIHRvbyBsb25nIHRvIGJlIGEgc3RyaW5nIGluIHRoZSBBL1VYIDMuMSBzaC4KKy0gIGNhdCA8PF9BQ0VPRgorLVxgY29uZmlndXJlJyBjb25maWd1cmVzIHRoaXMgcGFja2FnZSB0byBhZGFwdCB0byBtYW55IGtpbmRzIG9mIHN5c3RlbXMuCistCistVXNhZ2U6ICQwIFtPUFRJT05dLi4uIFtWQVI9VkFMVUVdLi4uCistCistVG8gYXNzaWduIGVudmlyb25tZW50IHZhcmlhYmxlcyAoZS5nLiwgQ0MsIENGTEFHUy4uLiksIHNwZWNpZnkgdGhlbSBhcworLVZBUj1WQUxVRS4gIFNlZSBiZWxvdyBmb3IgZGVzY3JpcHRpb25zIG9mIHNvbWUgb2YgdGhlIHVzZWZ1bCB2YXJpYWJsZXMuCistCistRGVmYXVsdHMgZm9yIHRoZSBvcHRpb25zIGFyZSBzcGVjaWZpZWQgaW4gYnJhY2tldHMuCistCistQ29uZmlndXJhdGlvbjoKKy0gIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0CistICAgICAgLS1oZWxwPXNob3J0ICAgICAgICBkaXNwbGF5IG9wdGlvbnMgc3BlY2lmaWMgdG8gdGhpcyBwYWNrYWdlCistICAgICAgLS1oZWxwPXJlY3Vyc2l2ZSAgICBkaXNwbGF5IHRoZSBzaG9ydCBoZWxwIG9mIGFsbCB0aGUgaW5jbHVkZWQgcGFja2FnZXMKKy0gIC1WLCAtLXZlcnNpb24gICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdAorLSAgLXEsIC0tcXVpZXQsIC0tc2lsZW50ICAgZG8gbm90IHByaW50IFxgY2hlY2tpbmcuLi4nIG1lc3NhZ2VzCistICAgICAgLS1jYWNoZS1maWxlPUZJTEUgICBjYWNoZSB0ZXN0IHJlc3VsdHMgaW4gRklMRSBbZGlzYWJsZWRdCistICAtQywgLS1jb25maWctY2FjaGUgICAgICBhbGlhcyBmb3IgXGAtLWNhY2hlLWZpbGU9Y29uZmlnLmNhY2hlJworLSAgLW4sIC0tbm8tY3JlYXRlICAgICAgICAgZG8gbm90IGNyZWF0ZSBvdXRwdXQgZmlsZXMKKy0gICAgICAtLXNyY2Rpcj1ESVIgICAgICAgIGZpbmQgdGhlIHNvdXJjZXMgaW4gRElSIFtjb25maWd1cmUgZGlyIG9yIFxgLi4nXQorLQorLV9BQ0VPRgorLQorLSAgY2F0IDw8X0FDRU9GCistSW5zdGFsbGF0aW9uIGRpcmVjdG9yaWVzOgorLSAgLS1wcmVmaXg9UFJFRklYICAgICAgICAgaW5zdGFsbCBhcmNoaXRlY3R1cmUtaW5kZXBlbmRlbnQgZmlsZXMgaW4gUFJFRklYCistICAgICAgICAgICAgICAgICAgICAgICAgICBbJGFjX2RlZmF1bHRfcHJlZml4XQorLSAgLS1leGVjLXByZWZpeD1FUFJFRklYICAgaW5zdGFsbCBhcmNoaXRlY3R1cmUtZGVwZW5kZW50IGZpbGVzIGluIEVQUkVGSVgKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIFtQUkVGSVhdCistCistQnkgZGVmYXVsdCwgXGBtYWtlIGluc3RhbGwnIHdpbGwgaW5zdGFsbCBhbGwgdGhlIGZpbGVzIGluCistXGAkYWNfZGVmYXVsdF9wcmVmaXgvYmluJywgXGAkYWNfZGVmYXVsdF9wcmVmaXgvbGliJyBldGMuICBZb3UgY2FuIHNwZWNpZnkKKy1hbiBpbnN0YWxsYXRpb24gcHJlZml4IG90aGVyIHRoYW4gXGAkYWNfZGVmYXVsdF9wcmVmaXgnIHVzaW5nIFxgLS1wcmVmaXgnLAorLWZvciBpbnN0YW5jZSBcYC0tcHJlZml4PVwkSE9NRScuCistCistRm9yIGJldHRlciBjb250cm9sLCB1c2UgdGhlIG9wdGlvbnMgYmVsb3cuCistCistRmluZSB0dW5pbmcgb2YgdGhlIGluc3RhbGxhdGlvbiBkaXJlY3RvcmllczoKKy0gIC0tYmluZGlyPURJUiAgICAgICAgICAgdXNlciBleGVjdXRhYmxlcyBbRVBSRUZJWC9iaW5dCistICAtLXNiaW5kaXI9RElSICAgICAgICAgIHN5c3RlbSBhZG1pbiBleGVjdXRhYmxlcyBbRVBSRUZJWC9zYmluXQorLSAgLS1saWJleGVjZGlyPURJUiAgICAgICBwcm9ncmFtIGV4ZWN1dGFibGVzIFtFUFJFRklYL2xpYmV4ZWNdCistICAtLWRhdGFkaXI9RElSICAgICAgICAgIHJlYWQtb25seSBhcmNoaXRlY3R1cmUtaW5kZXBlbmRlbnQgZGF0YSBbUFJFRklYL3NoYXJlXQorLSAgLS1zeXNjb25mZGlyPURJUiAgICAgICByZWFkLW9ubHkgc2luZ2xlLW1hY2hpbmUgZGF0YSBbUFJFRklYL2V0Y10KKy0gIC0tc2hhcmVkc3RhdGVkaXI9RElSICAgbW9kaWZpYWJsZSBhcmNoaXRlY3R1cmUtaW5kZXBlbmRlbnQgZGF0YSBbUFJFRklYL2NvbV0KKy0gIC0tbG9jYWxzdGF0ZWRpcj1ESVIgICAgbW9kaWZpYWJsZSBzaW5nbGUtbWFjaGluZSBkYXRhIFtQUkVGSVgvdmFyXQorLSAgLS1saWJkaXI9RElSICAgICAgICAgICBvYmplY3QgY29kZSBsaWJyYXJpZXMgW0VQUkVGSVgvbGliXQorLSAgLS1pbmNsdWRlZGlyPURJUiAgICAgICBDIGhlYWRlciBmaWxlcyBbUFJFRklYL2luY2x1ZGVdCistICAtLW9sZGluY2x1ZGVkaXI9RElSICAgIEMgaGVhZGVyIGZpbGVzIGZvciBub24tZ2NjIFsvdXNyL2luY2x1ZGVdCistICAtLWluZm9kaXI9RElSICAgICAgICAgIGluZm8gZG9jdW1lbnRhdGlvbiBbUFJFRklYL2luZm9dCistICAtLW1hbmRpcj1ESVIgICAgICAgICAgIG1hbiBkb2N1bWVudGF0aW9uIFtQUkVGSVgvbWFuXQorLV9BQ0VPRgorLQorLSAgY2F0IDw8XF9BQ0VPRgorLQorLVN5c3RlbSB0eXBlczoKKy0gIC0tYnVpbGQ9QlVJTEQgICAgIGNvbmZpZ3VyZSBmb3IgYnVpbGRpbmcgb24gQlVJTEQgW2d1ZXNzZWRdCistICAtLWhvc3Q9SE9TVCAgICAgICBjcm9zcy1jb21waWxlIHRvIGJ1aWxkIHByb2dyYW1zIHRvIHJ1biBvbiBIT1NUIFtCVUlMRF0KKy0gIC0tdGFyZ2V0PVRBUkdFVCAgIGNvbmZpZ3VyZSBmb3IgYnVpbGRpbmcgY29tcGlsZXJzIGZvciBUQVJHRVQgW0hPU1RdCistX0FDRU9GCistZmkKKy0KKy1pZiB0ZXN0IC1uICIkYWNfaW5pdF9oZWxwIjsgdGhlbgorLQorLSAgY2F0IDw8XF9BQ0VPRgorLQorLU9wdGlvbmFsIEZlYXR1cmVzOgorLSAgLS1kaXNhYmxlLUZFQVRVUkUgICAgICAgZG8gbm90IGluY2x1ZGUgRkVBVFVSRSAoc2FtZSBhcyAtLWVuYWJsZS1GRUFUVVJFPW5vKQorLSAgLS1lbmFibGUtRkVBVFVSRVs9QVJHXSAgaW5jbHVkZSBGRUFUVVJFIFtBUkc9eWVzXQorLSAgLS1kaXNhYmxlLXNoYXJlZCAgICAgd2l0aG91dCBzaGFyZWQgbGlicmFyeSBzdXBwb3J0CistICAtLWRpc2FibGUtc29ja2V0cyAgICAgd2l0aG91dCBzb2NrZXQgc3VwcG9ydAorLQorLU9wdGlvbmFsIFBhY2thZ2VzOgorLSAgLS13aXRoLVBBQ0tBR0VbPUFSR10gICAgdXNlIFBBQ0tBR0UgW0FSRz15ZXNdCistICAtLXdpdGhvdXQtUEFDS0FHRSAgICAgICBkbyBub3QgdXNlIFBBQ0tBR0UgKHNhbWUgYXMgLS13aXRoLVBBQ0tBR0U9bm8pCistICAtLXdpdGgtYXVkaW8gICAgICAgICAgd2l0aCBzcGVjaWZpYyBhdWRpbyBzdXBwb3J0IChub25lIGxpbnV4IGZyZWVic2QgZXRjKQorLSAgLS13aXRoLWxhbmcgICAgICAgICAgIHdpdGggbGFuZ3VhZ2UKKy0gIC0td2l0aC12b3ggICAgICAgICAgICB3aXRoIHZveAorLSAgLS13aXRoLWxleCAgICAgICAgICAgIHdpdGggbGV4aWNvbgorLQorLVNvbWUgaW5mbHVlbnRpYWwgZW52aXJvbm1lbnQgdmFyaWFibGVzOgorLSAgQ0MgICAgICAgICAgQyBjb21waWxlciBjb21tYW5kCistICBDRkxBR1MgICAgICBDIGNvbXBpbGVyIGZsYWdzCistICBMREZMQUdTICAgICBsaW5rZXIgZmxhZ3MsIGUuZy4gLUw8bGliIGRpcj4gaWYgeW91IGhhdmUgbGlicmFyaWVzIGluIGEKKy0gICAgICAgICAgICAgIG5vbnN0YW5kYXJkIGRpcmVjdG9yeSA8bGliIGRpcj4KKy0gIENQUEZMQUdTICAgIEMvQysrIHByZXByb2Nlc3NvciBmbGFncywgZS5nLiAtSTxpbmNsdWRlIGRpcj4gaWYgeW91IGhhdmUKKy0gICAgICAgICAgICAgIGhlYWRlcnMgaW4gYSBub25zdGFuZGFyZCBkaXJlY3RvcnkgPGluY2x1ZGUgZGlyPgorLSAgQ1BQICAgICAgICAgQyBwcmVwcm9jZXNzb3IKKy0KKy1Vc2UgdGhlc2UgdmFyaWFibGVzIHRvIG92ZXJyaWRlIHRoZSBjaG9pY2VzIG1hZGUgYnkgYGNvbmZpZ3VyZScgb3IgdG8gaGVscAorLWl0IHRvIGZpbmQgbGlicmFyaWVzIGFuZCBwcm9ncmFtcyB3aXRoIG5vbnN0YW5kYXJkIG5hbWVzL2xvY2F0aW9ucy4KKy0KKy1fQUNFT0YKKy1maQorLQorLWlmIHRlc3QgIiRhY19pbml0X2hlbHAiID0gInJlY3Vyc2l2ZSI7IHRoZW4KKy0gICMgSWYgdGhlcmUgYXJlIHN1YmRpcnMsIHJlcG9ydCB0aGVpciBzcGVjaWZpYyAtLWhlbHAuCistICBhY19wb3BkaXI9YHB3ZGAKKy0gIGZvciBhY19kaXIgaW4gOiAkYWNfc3ViZGlyc19hbGw7IGRvIHRlc3QgIngkYWNfZGlyIiA9IHg6ICYmIGNvbnRpbnVlCistICAgIHRlc3QgLWQgJGFjX2RpciB8fCBjb250aW51ZQorLSAgICBhY19idWlsZGRpcj0uCistCistaWYgdGVzdCAiJGFjX2RpciIgIT0gLjsgdGhlbgorLSAgYWNfZGlyX3N1ZmZpeD0vYGVjaG8gIiRhY19kaXIiIHwgc2VkICdzLF5cLltcXC9dLCwnYAorLSAgIyBBICIuLi8iIGZvciBlYWNoIGRpcmVjdG9yeSBpbiAkYWNfZGlyX3N1ZmZpeC4KKy0gIGFjX3RvcF9idWlsZGRpcj1gZWNobyAiJGFjX2Rpcl9zdWZmaXgiIHwgc2VkICdzLC9bXlxcL10qLC4uLyxnJ2AKKy1lbHNlCistICBhY19kaXJfc3VmZml4PSBhY190b3BfYnVpbGRkaXI9CistZmkKKy0KKy1jYXNlICRzcmNkaXIgaW4KKy0gIC4pICAjIE5vIC0tc3JjZGlyIG9wdGlvbi4gIFdlIGFyZSBidWlsZGluZyBpbiBwbGFjZS4KKy0gICAgYWNfc3JjZGlyPS4KKy0gICAgaWYgdGVzdCAteiAiJGFjX3RvcF9idWlsZGRpciI7IHRoZW4KKy0gICAgICAgYWNfdG9wX3NyY2Rpcj0uCistICAgIGVsc2UKKy0gICAgICAgYWNfdG9wX3NyY2Rpcj1gZWNobyAkYWNfdG9wX2J1aWxkZGlyIHwgc2VkICdzLC8kLCwnYAorLSAgICBmaSA7OworLSAgW1xcL10qIHwgPzpbXFwvXSogKSAgIyBBYnNvbHV0ZSBwYXRoLgorLSAgICBhY19zcmNkaXI9JHNyY2RpciRhY19kaXJfc3VmZml4OworLSAgICBhY190b3Bfc3JjZGlyPSRzcmNkaXIgOzsKKy0gICopICMgUmVsYXRpdmUgcGF0aC4KKy0gICAgYWNfc3JjZGlyPSRhY190b3BfYnVpbGRkaXIkc3JjZGlyJGFjX2Rpcl9zdWZmaXgKKy0gICAgYWNfdG9wX3NyY2Rpcj0kYWNfdG9wX2J1aWxkZGlyJHNyY2RpciA7OworLWVzYWMKKy0jIERvbid0IGJsaW5kbHkgcGVyZm9ybSBhIGBjZCAiJGFjX2RpciIvJGFjX2ZvbyAmJiBwd2RgIHNpbmNlICRhY19mb28gY2FuIGJlCistIyBhYnNvbHV0ZS4KKy1hY19hYnNfYnVpbGRkaXI9YGNkICIkYWNfZGlyIiAmJiBjZCAkYWNfYnVpbGRkaXIgJiYgcHdkYAorLWFjX2Fic190b3BfYnVpbGRkaXI9YGNkICIkYWNfZGlyIiAmJiBjZCAke2FjX3RvcF9idWlsZGRpcn0uICYmIHB3ZGAKKy1hY19hYnNfc3JjZGlyPWBjZCAiJGFjX2RpciIgJiYgY2QgJGFjX3NyY2RpciAmJiBwd2RgCistYWNfYWJzX3RvcF9zcmNkaXI9YGNkICIkYWNfZGlyIiAmJiBjZCAkYWNfdG9wX3NyY2RpciAmJiBwd2RgCistCistICAgIGNkICRhY19kaXIKKy0gICAgIyBDaGVjayBmb3IgZ3Vlc3RlZCBjb25maWd1cmU7IG90aGVyd2lzZSBnZXQgQ3lnbnVzIHN0eWxlIGNvbmZpZ3VyZS4KKy0gICAgaWYgdGVzdCAtZiAkYWNfc3JjZGlyL2NvbmZpZ3VyZS5nbnU7IHRoZW4KKy0gICAgICBlY2hvCistICAgICAgJFNIRUxMICRhY19zcmNkaXIvY29uZmlndXJlLmdudSAgLS1oZWxwPXJlY3Vyc2l2ZQorLSAgICBlbGlmIHRlc3QgLWYgJGFjX3NyY2Rpci9jb25maWd1cmU7IHRoZW4KKy0gICAgICBlY2hvCistICAgICAgJFNIRUxMICRhY19zcmNkaXIvY29uZmlndXJlICAtLWhlbHA9cmVjdXJzaXZlCistICAgIGVsaWYgdGVzdCAtZiAkYWNfc3JjZGlyL2NvbmZpZ3VyZS5hYyB8fAorLSAgICAgICAgICAgdGVzdCAtZiAkYWNfc3JjZGlyL2NvbmZpZ3VyZS5pbjsgdGhlbgorLSAgICAgIGVjaG8KKy0gICAgICAkYWNfY29uZmlndXJlIC0taGVscAorLSAgICBlbHNlCistICAgICAgZWNobyAiJGFzX21lOiBXQVJOSU5HOiBubyBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGlzIGluICRhY19kaXIiID4mMgorLSAgICBmaQorLSAgICBjZCAkYWNfcG9wZGlyCistICBkb25lCistZmkKKy0KKy10ZXN0IC1uICIkYWNfaW5pdF9oZWxwIiAmJiBleGl0IDAKKy1pZiAkYWNfaW5pdF92ZXJzaW9uOyB0aGVuCistICBjYXQgPDxcX0FDRU9GCistCistQ29weXJpZ2h0IDE5OTIsIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDIKKy1GcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy1UaGlzIGNvbmZpZ3VyZSBzY3JpcHQgaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgorLWdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kIG1vZGlmeSBpdC4KKy1fQUNFT0YKKy0gIGV4aXQgMAorLWZpCistZXhlYyA1PmNvbmZpZy5sb2cKKy1jYXQgPiY1IDw8X0FDRU9GCistVGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hpbGUKKy1ydW5uaW5nIGNvbmZpZ3VyZSwgdG8gYWlkIGRlYnVnZ2luZyBpZiBjb25maWd1cmUgbWFrZXMgYSBtaXN0YWtlLgorLQorLUl0IHdhcyBjcmVhdGVkIGJ5ICRhc19tZSwgd2hpY2ggd2FzCistZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU3LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCistCistICAkICQwICRACistCistX0FDRU9GCisteworLWNhdCA8PF9BU1VOQU1FCistIyMgLS0tLS0tLS0tICMjCistIyMgUGxhdGZvcm0uICMjCistIyMgLS0tLS0tLS0tICMjCistCistaG9zdG5hbWUgPSBgKGhvc3RuYW1lIHx8IHVuYW1lIC1uKSAyPi9kZXYvbnVsbCB8IHNlZCAxcWAKKy11bmFtZSAtbSA9IGAodW5hbWUgLW0pIDI+L2Rldi9udWxsIHx8IGVjaG8gdW5rbm93bmAKKy11bmFtZSAtciA9IGAodW5hbWUgLXIpIDI+L2Rldi9udWxsIHx8IGVjaG8gdW5rbm93bmAKKy11bmFtZSAtcyA9IGAodW5hbWUgLXMpIDI+L2Rldi9udWxsIHx8IGVjaG8gdW5rbm93bmAKKy11bmFtZSAtdiA9IGAodW5hbWUgLXYpIDI+L2Rldi9udWxsIHx8IGVjaG8gdW5rbm93bmAKKy0KKy0vdXNyL2Jpbi91bmFtZSAtcCA9IGAoL3Vzci9iaW4vdW5hbWUgLXApIDI+L2Rldi9udWxsIHx8IGVjaG8gdW5rbm93bmAKKy0vYmluL3VuYW1lIC1YICAgICA9IGAoL2Jpbi91bmFtZSAtWCkgMj4vZGV2L251bGwgICAgIHx8IGVjaG8gdW5rbm93bmAKKy0KKy0vYmluL2FyY2ggICAgICAgICAgICAgID0gYCgvYmluL2FyY2gpIDI+L2Rldi9udWxsICAgICAgICAgICAgICB8fCBlY2hvIHVua25vd25gCistL3Vzci9iaW4vYXJjaCAtayAgICAgICA9IGAoL3Vzci9iaW4vYXJjaCAtaykgMj4vZGV2L251bGwgICAgICAgfHwgZWNobyB1bmtub3duYAorLS91c3IvY29udmV4L2dldHN5c2luZm8gPSBgKC91c3IvY29udmV4L2dldHN5c2luZm8pIDI+L2Rldi9udWxsIHx8IGVjaG8gdW5rbm93bmAKKy1ob3N0aW5mbyAgICAgICAgICAgICAgID0gYChob3N0aW5mbykgMj4vZGV2L251bGwgICAgICAgICAgICAgICB8fCBlY2hvIHVua25vd25gCistL2Jpbi9tYWNoaW5lICAgICAgICAgICA9IGAoL2Jpbi9tYWNoaW5lKSAyPi9kZXYvbnVsbCAgICAgICAgICAgfHwgZWNobyB1bmtub3duYAorLS91c3IvYmluL29zbGV2ZWwgICAgICAgPSBgKC91c3IvYmluL29zbGV2ZWwpIDI+L2Rldi9udWxsICAgICAgIHx8IGVjaG8gdW5rbm93bmAKKy0vYmluL3VuaXZlcnNlICAgICAgICAgID0gYCgvYmluL3VuaXZlcnNlKSAyPi9kZXYvbnVsbCAgICAgICAgICB8fCBlY2hvIHVua25vd25gCistCistX0FTVU5BTUUKKy0KKy1hc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCistZm9yIGFzX2RpciBpbiAkUEFUSAorLWRvCistICBJRlM9JGFzX3NhdmVfSUZTCistICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorLSAgZWNobyAiUEFUSDogJGFzX2RpciIKKy1kb25lCistCistfSA+JjUKKy0KKy1jYXQgPiY1IDw8X0FDRU9GCistCistCistIyMgLS0tLS0tLS0tLS0gIyMKKy0jIyBDb3JlIHRlc3RzLiAjIworLSMjIC0tLS0tLS0tLS0tICMjCistCistX0FDRU9GCistCistCistIyBLZWVwIGEgdHJhY2Ugb2YgdGhlIGNvbW1hbmQgbGluZS4KKy0jIFN0cmlwIG91dCAtLW5vLWNyZWF0ZSBhbmQgLS1uby1yZWN1cnNpb24gc28gdGhleSBkbyBub3QgcGlsZSB1cC4KKy0jIFN0cmlwIG91dCAtLXNpbGVudCBiZWNhdXNlIHdlIGRvbid0IHdhbnQgdG8gcmVjb3JkIGl0IGZvciBmdXR1cmUgcnVucy4KKy0jIEFsc28gcXVvdGUgYW55IGFyZ3MgY29udGFpbmluZyBzaGVsbCBtZXRhLWNoYXJhY3RlcnMuCistIyBNYWtlIHR3byBwYXNzZXMgdG8gYWxsb3cgZm9yIHByb3BlciBkdXBsaWNhdGUtYXJndW1lbnQgc3VwcHJlc3Npb24uCistYWNfY29uZmlndXJlX2FyZ3M9CistYWNfY29uZmlndXJlX2FyZ3MwPQorLWFjX2NvbmZpZ3VyZV9hcmdzMT0KKy1hY19zZXA9CistYWNfbXVzdF9rZWVwX25leHQ9ZmFsc2UKKy1mb3IgYWNfcGFzcyBpbiAxIDIKKy1kbworLSAgZm9yIGFjX2FyZworLSAgZG8KKy0gICAgY2FzZSAkYWNfYXJnIGluCistICAgIC1uby1jcmVhdGUgfCAtLW5vLWMqIHwgLW4gfCAtbm8tcmVjdXJzaW9uIHwgLS1uby1yKikgY29udGludWUgOzsKKy0gICAgLXEgfCAtcXVpZXQgfCAtLXF1aWV0IHwgLS1xdWllIHwgLS1xdWkgfCAtLXF1IHwgLS1xIFwKKy0gICAgfCAtc2lsZW50IHwgLS1zaWxlbnQgfCAtLXNpbGVuIHwgLS1zaWxlIHwgLS1zaWwpCistICAgICAgY29udGludWUgOzsKKy0gICAgKiIgIip8KiIJIip8KltcW1xdXH5cI1wkXF5cJlwqXChcKVx7XH1cXFx8XDtcPFw+XD9cIlwnXSopCistICAgICAgYWNfYXJnPWBlY2hvICIkYWNfYXJnIiB8IHNlZCAicy8nLydcXFxcXFxcXCcnL2ciYCA7OworLSAgICBlc2FjCistICAgIGNhc2UgJGFjX3Bhc3MgaW4KKy0gICAgMSkgYWNfY29uZmlndXJlX2FyZ3MwPSIkYWNfY29uZmlndXJlX2FyZ3MwICckYWNfYXJnJyIgOzsKKy0gICAgMikKKy0gICAgICBhY19jb25maWd1cmVfYXJnczE9IiRhY19jb25maWd1cmVfYXJnczEgJyRhY19hcmcnIgorLSAgICAgIGlmIHRlc3QgJGFjX211c3Rfa2VlcF9uZXh0ID0gdHJ1ZTsgdGhlbgorLSAgICAgICAgYWNfbXVzdF9rZWVwX25leHQ9ZmFsc2UgIyBHb3QgdmFsdWUsIGJhY2sgdG8gbm9ybWFsLgorLSAgICAgIGVsc2UKKy0gICAgICAgIGNhc2UgJGFjX2FyZyBpbgorLSAgICAgICAgICAqPSogfCAtLWNvbmZpZy1jYWNoZSB8IC1DIHwgLWRpc2FibGUtKiB8IC0tZGlzYWJsZS0qIFwKKy0gICAgICAgICAgfCAtZW5hYmxlLSogfCAtLWVuYWJsZS0qIHwgLWdhcyB8IC0tZyogfCAtbmZwIHwgLS1uZiogXAorLSAgICAgICAgICB8IC1xIHwgLXF1aWV0IHwgLS1xKiB8IC1zaWxlbnQgfCAtLXNpbCogfCAtdiB8IC12ZXJiKiBcCistICAgICAgICAgIHwgLXdpdGgtKiB8IC0td2l0aC0qIHwgLXdpdGhvdXQtKiB8IC0td2l0aG91dC0qIHwgLS14KQorLSAgICAgICAgICAgIGNhc2UgIiRhY19jb25maWd1cmVfYXJnczAgIiBpbgorLSAgICAgICAgICAgICAgIiRhY19jb25maWd1cmVfYXJnczEiKiIgJyRhY19hcmcnICIqICkgY29udGludWUgOzsKKy0gICAgICAgICAgICBlc2FjCistICAgICAgICAgICAgOzsKKy0gICAgICAgICAgLSogKSBhY19tdXN0X2tlZXBfbmV4dD10cnVlIDs7CistICAgICAgICBlc2FjCistICAgICAgZmkKKy0gICAgICBhY19jb25maWd1cmVfYXJncz0iJGFjX2NvbmZpZ3VyZV9hcmdzJGFjX3NlcCckYWNfYXJnJyIKKy0gICAgICAjIEdldCByaWQgb2YgdGhlIGxlYWRpbmcgc3BhY2UuCistICAgICAgYWNfc2VwPSIgIgorLSAgICAgIDs7CistICAgIGVzYWMKKy0gIGRvbmUKKy1kb25lCistJGFzX3Vuc2V0IGFjX2NvbmZpZ3VyZV9hcmdzMCB8fCB0ZXN0ICIke2FjX2NvbmZpZ3VyZV9hcmdzMCtzZXR9IiAhPSBzZXQgfHwgeyBhY19jb25maWd1cmVfYXJnczA9OyBleHBvcnQgYWNfY29uZmlndXJlX2FyZ3MwOyB9CistJGFzX3Vuc2V0IGFjX2NvbmZpZ3VyZV9hcmdzMSB8fCB0ZXN0ICIke2FjX2NvbmZpZ3VyZV9hcmdzMStzZXR9IiAhPSBzZXQgfHwgeyBhY19jb25maWd1cmVfYXJnczE9OyBleHBvcnQgYWNfY29uZmlndXJlX2FyZ3MxOyB9CistCistIyBXaGVuIGludGVycnVwdGVkIG9yIGV4aXQnZCwgY2xlYW51cCB0ZW1wb3JhcnkgZmlsZXMsIGFuZCBjb21wbGV0ZQorLSMgY29uZmlnLmxvZy4gIFdlIHJlbW92ZSBjb21tZW50cyBiZWNhdXNlIGFueXdheSB0aGUgcXVvdGVzIGluIHRoZXJlCistIyB3b3VsZCBjYXVzZSBwcm9ibGVtcyBvciBsb29rIHVnbHkuCistIyBXQVJOSU5HOiBCZSBzdXJlIG5vdCB0byB1c2Ugc2luZ2xlIHF1b3RlcyBpbiB0aGVyZSwgYXMgc29tZSBzaGVsbHMsCistIyBzdWNoIGFzIG91ciBEVSA1LjAgZnJpZW5kLCB3aWxsIHRoZW4gYGNsb3NlJyB0aGUgdHJhcC4KKy10cmFwICdleGl0X3N0YXR1cz0kPworLSAgIyBTYXZlIGludG8gY29uZmlnLmxvZyBzb21lIGluZm9ybWF0aW9uIHRoYXQgbWlnaHQgaGVscCBpbiBkZWJ1Z2dpbmcuCistICB7CistICAgIGVjaG8KKy0KKy0gICAgY2F0IDw8XF9BU0JPWAorLSMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBDYWNoZSB2YXJpYWJsZXMuICMjCistIyMgLS0tLS0tLS0tLS0tLS0tLSAjIworLV9BU0JPWAorLSAgICBlY2hvCistICAgICMgVGhlIGZvbGxvd2luZyB3YXkgb2Ygd3JpdGluZyB0aGUgY2FjaGUgbWlzaGFuZGxlcyBuZXdsaW5lcyBpbiB2YWx1ZXMsCisteworLSAgKHNldCkgMj4mMSB8CistICAgIGNhc2UgYChhY19zcGFjZT0nIiciJyAnIiciJzsgc2V0IHwgZ3JlcCBhY19zcGFjZSkgMj4mMWAgaW4KKy0gICAgKmFjX3NwYWNlPVwgKikKKy0gICAgICBzZWQgLW4gXAorLSAgICAgICAgInMvJyInIicvJyInIidcXFxcJyInIicnIiciJy9nOworLSAgICAJICBzL15cXChbXyRhc19jcl9hbG51bV0qX2N2X1tfJGFzX2NyX2FsbnVtXSpcXCk9XFwoLipcXCkvXFwxPSciJyInXFwyJyInIicvcCIKKy0gICAgICA7OworLSAgICAqKQorLSAgICAgIHNlZCAtbiBcCistICAgICAgICAicy9eXFwoW18kYXNfY3JfYWxudW1dKl9jdl9bXyRhc19jcl9hbG51bV0qXFwpPVxcKC4qXFwpL1xcMT1cXDIvcCIKKy0gICAgICA7OworLSAgICBlc2FjOworLX0KKy0gICAgZWNobworLQorLSAgICBjYXQgPDxcX0FTQk9YCistIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBPdXRwdXQgdmFyaWFibGVzLiAjIworLSMjIC0tLS0tLS0tLS0tLS0tLS0tICMjCistX0FTQk9YCistICAgIGVjaG8KKy0gICAgZm9yIGFjX3ZhciBpbiAkYWNfc3Vic3RfdmFycworLSAgICBkbworLSAgICAgIGV2YWwgYWNfdmFsPSRgZWNobyAkYWNfdmFyYAorLSAgICAgIGVjaG8gIiRhY192YXI9JyInIickYWNfdmFsJyInIiciCistICAgIGRvbmUgfCBzb3J0CistICAgIGVjaG8KKy0KKy0gICAgaWYgdGVzdCAtbiAiJGFjX3N1YnN0X2ZpbGVzIjsgdGhlbgorLSAgICAgIGNhdCA8PFxfQVNCT1gKKy0jIyAtLS0tLS0tLS0tLS0tICMjCistIyMgT3V0cHV0IGZpbGVzLiAjIworLSMjIC0tLS0tLS0tLS0tLS0gIyMKKy1fQVNCT1gKKy0gICAgICBlY2hvCistICAgICAgZm9yIGFjX3ZhciBpbiAkYWNfc3Vic3RfZmlsZXMKKy0gICAgICBkbworLQlldmFsIGFjX3ZhbD0kYGVjaG8gJGFjX3ZhcmAKKy0gICAgICAgIGVjaG8gIiRhY192YXI9JyInIickYWNfdmFsJyInIiciCistICAgICAgZG9uZSB8IHNvcnQKKy0gICAgICBlY2hvCistICAgIGZpCistCistICAgIGlmIHRlc3QgLXMgY29uZmRlZnMuaDsgdGhlbgorLSAgICAgIGNhdCA8PFxfQVNCT1gKKy0jIyAtLS0tLS0tLS0tLSAjIworLSMjIGNvbmZkZWZzLmguICMjCistIyMgLS0tLS0tLS0tLS0gIyMKKy1fQVNCT1gKKy0gICAgICBlY2hvCistICAgICAgc2VkICIvXiQvZCIgY29uZmRlZnMuaCB8IHNvcnQKKy0gICAgICBlY2hvCistICAgIGZpCistICAgIHRlc3QgIiRhY19zaWduYWwiICE9IDAgJiYKKy0gICAgICBlY2hvICIkYXNfbWU6IGNhdWdodCBzaWduYWwgJGFjX3NpZ25hbCIKKy0gICAgZWNobyAiJGFzX21lOiBleGl0ICRleGl0X3N0YXR1cyIKKy0gIH0gPiY1CistICBybSAtZiBjb3JlIGNvcmUuKiAqLmNvcmUgJiYKKy0gIHJtIC1yZiBjb25mdGVzdCogY29uZmRlZnMqIGNvbmYkJCogJGFjX2NsZWFuX2ZpbGVzICYmCistICAgIGV4aXQgJGV4aXRfc3RhdHVzCistICAgICAnIDAKKy1mb3IgYWNfc2lnbmFsIGluIDEgMiAxMyAxNTsgZG8KKy0gIHRyYXAgJ2FjX3NpZ25hbD0nJGFjX3NpZ25hbCc7IHsgKGV4aXQgMSk7IGV4aXQgMTsgfScgJGFjX3NpZ25hbAorLWRvbmUKKy1hY19zaWduYWw9MAorLQorLSMgY29uZmRlZnMuaCBhdm9pZHMgT1MgY29tbWFuZCBsaW5lIGxlbmd0aCBsaW1pdHMgdGhhdCBERUZTIGNhbiBleGNlZWQuCistcm0gLXJmIGNvbmZ0ZXN0KiBjb25mZGVmcy5oCistIyBBSVggY3BwIGxvc2VzIG9uIGFuIGVtcHR5IGZpbGUsIHNvIG1ha2Ugc3VyZSBpdCBjb250YWlucyBhdCBsZWFzdCBhIG5ld2xpbmUuCistZWNobyA+Y29uZmRlZnMuaAorLQorLSMgUHJlZGVmaW5lZCBwcmVwcm9jZXNzb3IgdmFyaWFibGVzLgorLQorLWNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKy0jZGVmaW5lIFBBQ0tBR0VfTkFNRSAiJFBBQ0tBR0VfTkFNRSIKKy1fQUNFT0YKKy0KKy0KKy1jYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCistI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiRQQUNLQUdFX1RBUk5BTUUiCistX0FDRU9GCistCistCistY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgorLSNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIkUEFDS0FHRV9WRVJTSU9OIgorLV9BQ0VPRgorLQorLQorLWNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKy0jZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIkUEFDS0FHRV9TVFJJTkciCistX0FDRU9GCistCistCistY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgorLSNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiRQQUNLQUdFX0JVR1JFUE9SVCIKKy1fQUNFT0YKKy0KKy0KKy0jIExldCB0aGUgc2l0ZSBmaWxlIHNlbGVjdCBhbiBhbHRlcm5hdGUgY2FjaGUgZmlsZSBpZiBpdCB3YW50cyB0by4KKyAjIFByZWZlciBleHBsaWNpdGx5IHNlbGVjdGVkIGZpbGUgdG8gYXV0b21hdGljYWxseSBzZWxlY3RlZCBvbmVzLgorIGlmIHRlc3QgLXogIiRDT05GSUdfU0lURSI7IHRoZW4KKyAgIGlmIHRlc3QgIngkcHJlZml4IiAhPSB4Tk9ORTsgdGhlbgorQEAgLTExNzEsMTA2ICs0OTgsNDIgQEAKKyBmaQorIGZvciBhY19zaXRlX2ZpbGUgaW4gJENPTkZJR19TSVRFOyBkbworICAgaWYgdGVzdCAtciAiJGFjX3NpdGVfZmlsZSI7IHRoZW4KKy0gICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogbG9hZGluZyBzaXRlIHNjcmlwdCAkYWNfc2l0ZV9maWxlIiA+JjUKKy1lY2hvICIkYXNfbWU6IGxvYWRpbmcgc2l0ZSBzY3JpcHQgJGFjX3NpdGVfZmlsZSIgPiY2O30KKy0gICAgc2VkICdzL14vfCAvJyAiJGFjX3NpdGVfZmlsZSIgPiY1CisrICAgIGVjaG8gImxvYWRpbmcgc2l0ZSBzY3JpcHQgJGFjX3NpdGVfZmlsZSIKKyAgICAgLiAiJGFjX3NpdGVfZmlsZSIKKyAgIGZpCisgZG9uZQorIAorIGlmIHRlc3QgLXIgIiRjYWNoZV9maWxlIjsgdGhlbgorLSAgIyBTb21lIHZlcnNpb25zIG9mIGJhc2ggd2lsbCBmYWlsIHRvIHNvdXJjZSAvZGV2L251bGwgKHNwZWNpYWwKKy0gICMgZmlsZXMgYWN0dWFsbHkpLCBzbyB3ZSBhdm9pZCBkb2luZyB0aGF0LgorLSAgaWYgdGVzdCAtZiAiJGNhY2hlX2ZpbGUiOyB0aGVuCistICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGxvYWRpbmcgY2FjaGUgJGNhY2hlX2ZpbGUiID4mNQorLWVjaG8gIiRhc19tZTogbG9hZGluZyBjYWNoZSAkY2FjaGVfZmlsZSIgPiY2O30KKy0gICAgY2FzZSAkY2FjaGVfZmlsZSBpbgorLSAgICAgIFtcXC9dKiB8ID86W1xcL10qICkgLiAkY2FjaGVfZmlsZTs7CistICAgICAgKikgICAgICAgICAgICAgICAgICAgICAgLiAuLyRjYWNoZV9maWxlOzsKKy0gICAgZXNhYworLSAgZmkKKysgIGVjaG8gImxvYWRpbmcgY2FjaGUgJGNhY2hlX2ZpbGUiCisrICAuICRjYWNoZV9maWxlCisgZWxzZQorLSAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogY3JlYXRpbmcgY2FjaGUgJGNhY2hlX2ZpbGUiID4mNQorLWVjaG8gIiRhc19tZTogY3JlYXRpbmcgY2FjaGUgJGNhY2hlX2ZpbGUiID4mNjt9CistICA+JGNhY2hlX2ZpbGUKKysgIGVjaG8gImNyZWF0aW5nIGNhY2hlICRjYWNoZV9maWxlIgorKyAgPiAkY2FjaGVfZmlsZQorIGZpCisgCistIyBDaGVjayB0aGF0IHRoZSBwcmVjaW91cyB2YXJpYWJsZXMgc2F2ZWQgaW4gdGhlIGNhY2hlIGhhdmUga2VwdCB0aGUgc2FtZQorLSMgdmFsdWUuCistYWNfY2FjaGVfY29ycnVwdGVkPWZhbHNlCistZm9yIGFjX3ZhciBpbiBgKHNldCkgMj4mMSB8CistICAgICAgICAgICAgICAgc2VkIC1uICdzL15hY19lbnZfXChbYS16QS1aXzAtOV0qXClfc2V0PS4qL1wxL3AnYDsgZG8KKy0gIGV2YWwgYWNfb2xkX3NldD1cJGFjX2N2X2Vudl8ke2FjX3Zhcn1fc2V0CistICBldmFsIGFjX25ld19zZXQ9XCRhY19lbnZfJHthY192YXJ9X3NldAorLSAgZXZhbCBhY19vbGRfdmFsPSJcJGFjX2N2X2Vudl8ke2FjX3Zhcn1fdmFsdWUiCistICBldmFsIGFjX25ld192YWw9IlwkYWNfZW52XyR7YWNfdmFyfV92YWx1ZSIKKy0gIGNhc2UgJGFjX29sZF9zZXQsJGFjX25ld19zZXQgaW4KKy0gICAgc2V0LCkKKy0gICAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogXGAkYWNfdmFyJyB3YXMgc2V0IHRvIFxgJGFjX29sZF92YWwnIGluIHRoZSBwcmV2aW91cyBydW4iID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6IFxgJGFjX3Zhcicgd2FzIHNldCB0byBcYCRhY19vbGRfdmFsJyBpbiB0aGUgcHJldmlvdXMgcnVuIiA+JjI7fQorLSAgICAgIGFjX2NhY2hlX2NvcnJ1cHRlZD06IDs7CistICAgICxzZXQpCistICAgICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IFxgJGFjX3Zhcicgd2FzIG5vdCBzZXQgaW4gdGhlIHByZXZpb3VzIHJ1biIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogXGAkYWNfdmFyJyB3YXMgbm90IHNldCBpbiB0aGUgcHJldmlvdXMgcnVuIiA+JjI7fQorLSAgICAgIGFjX2NhY2hlX2NvcnJ1cHRlZD06IDs7CistICAgICwpOzsKKy0gICAgKikKKy0gICAgICBpZiB0ZXN0ICJ4JGFjX29sZF92YWwiICE9ICJ4JGFjX25ld192YWwiOyB0aGVuCistICAgICAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogXGAkYWNfdmFyJyBoYXMgY2hhbmdlZCBzaW5jZSB0aGUgcHJldmlvdXMgcnVuOiIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogXGAkYWNfdmFyJyBoYXMgY2hhbmdlZCBzaW5jZSB0aGUgcHJldmlvdXMgcnVuOiIgPiYyO30KKy0gICAgICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86ICAgZm9ybWVyIHZhbHVlOiAgJGFjX29sZF92YWwiID4mNQorLWVjaG8gIiRhc19tZTogICBmb3JtZXIgdmFsdWU6ICAkYWNfb2xkX3ZhbCIgPiYyO30KKy0gICAgICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86ICAgY3VycmVudCB2YWx1ZTogJGFjX25ld192YWwiID4mNQorLWVjaG8gIiRhc19tZTogICBjdXJyZW50IHZhbHVlOiAkYWNfbmV3X3ZhbCIgPiYyO30KKy0gICAgICAgIGFjX2NhY2hlX2NvcnJ1cHRlZD06CistICAgICAgZmk7OworLSAgZXNhYworLSAgIyBQYXNzIHByZWNpb3VzIHZhcmlhYmxlcyB0byBjb25maWcuc3RhdHVzLgorLSAgaWYgdGVzdCAiJGFjX25ld19zZXQiID0gc2V0OyB0aGVuCistICAgIGNhc2UgJGFjX25ld192YWwgaW4KKy0gICAgKiIgIip8KiIJIip8KltcW1xdXH5cI1wkXF5cJlwqXChcKVx7XH1cXFx8XDtcPFw+XD9cIlwnXSopCistICAgICAgYWNfYXJnPSRhY192YXI9YGVjaG8gIiRhY19uZXdfdmFsIiB8IHNlZCAicy8nLydcXFxcXFxcXCcnL2ciYCA7OworLSAgICAqKSBhY19hcmc9JGFjX3Zhcj0kYWNfbmV3X3ZhbCA7OworLSAgICBlc2FjCistICAgIGNhc2UgIiAkYWNfY29uZmlndXJlX2FyZ3MgIiBpbgorLSAgICAgICoiICckYWNfYXJnJyAiKikgOzsgIyBBdm9pZCBkdXBzLiAgVXNlIG9mIHF1b3RlcyBlbnN1cmVzIGFjY3VyYWN5LgorLSAgICAgICopIGFjX2NvbmZpZ3VyZV9hcmdzPSIkYWNfY29uZmlndXJlX2FyZ3MgJyRhY19hcmcnIiA7OworLSAgICBlc2FjCistICBmaQorLWRvbmUKKy1pZiAkYWNfY2FjaGVfY29ycnVwdGVkOyB0aGVuCistICB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogY2hhbmdlcyBpbiB0aGUgZW52aXJvbm1lbnQgY2FuIGNvbXByb21pc2UgdGhlIGJ1aWxkIiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiBjaGFuZ2VzIGluIHRoZSBlbnZpcm9ubWVudCBjYW4gY29tcHJvbWlzZSB0aGUgYnVpbGQiID4mMjt9CistICB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBydW4gXGBtYWtlIGRpc3RjbGVhbicgYW5kL29yIFxgcm0gJGNhY2hlX2ZpbGUnIGFuZCBzdGFydCBvdmVyIiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiBydW4gXGBtYWtlIGRpc3RjbGVhbicgYW5kL29yIFxgcm0gJGNhY2hlX2ZpbGUnIGFuZCBzdGFydCBvdmVyIiA+JjI7fQorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorLWZpCistCisgYWNfZXh0PWMKKysjIENGTEFHUyBpcyBub3QgaW4gYWNfY3BwIGJlY2F1c2UgLWcsIC1PLCBldGMuIGFyZSBub3QgdmFsaWQgY3BwIG9wdGlvbnMuCisgYWNfY3BwPSckQ1BQICRDUFBGTEFHUycKKy1hY19jb21waWxlPSckQ0MgLWMgJENGTEFHUyAkQ1BQRkxBR1MgY29uZnRlc3QuJGFjX2V4dCA+JjUnCistYWNfbGluaz0nJENDIC1vIGNvbmZ0ZXN0JGFjX2V4ZWV4dCAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTID4mNScKKy1hY19jb21waWxlcl9nbnU9JGFjX2N2X2NfY29tcGlsZXJfZ251CisrYWNfY29tcGlsZT0nJHtDQy1jY30gLWMgJENGTEFHUyAkQ1BQRkxBR1MgY29uZnRlc3QuJGFjX2V4dCAxPiY1JworK2FjX2xpbms9JyR7Q0MtY2N9IC1vIGNvbmZ0ZXN0JHthY19leGVleHR9ICRDRkxBR1MgJENQUEZMQUdTICRMREZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgJExJQlMgMT4mNScKKytjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY2NfY3Jvc3MKKyAKKythY19leGVleHQ9CisrYWNfb2JqZXh0PW8KKytpZiAoZWNobyAidGVzdGluZ1xjIjsgZWNobyAxLDIsMykgfCBncmVwIGMgPi9kZXYvbnVsbDsgdGhlbgorKyAgIyBTdGFyZGVudCBWaXN0cmEgU1ZSNCBncmVwIGxhY2tzIC1lLCBzYXlzIGdoYXppQGNhaXAucnV0Z2Vycy5lZHUuCisrICBpZiAoZWNobyAtbiB0ZXN0aW5nOyBlY2hvIDEsMiwzKSB8IHNlZCBzLy1uL3huLyB8IGdyZXAgeG4gPi9kZXYvbnVsbDsgdGhlbgorKyAgICBhY19uPSBhY19jPScKKysnIGFjX3Q9JwknCisrICBlbHNlCisrICAgIGFjX249LW4gYWNfYz0gYWNfdD0KKysgIGZpCisrZWxzZQorKyAgYWNfbj0gYWNfYz0nXGMnIGFjX3Q9CisrZmkKKyAKKyAKKyAKKy0KKy0KKy0KKy0KKy0KKy0KKy0KKy0KKy0KKy0KKy0KKy0KKy0KKy0KKy0KKy0KKyBhY19hdXhfZGlyPQorIGZvciBhY19kaXIgaW4gJHNyY2RpciAkc3JjZGlyLy4uICRzcmNkaXIvLi4vLi47IGRvCisgICBpZiB0ZXN0IC1mICRhY19kaXIvaW5zdGFsbC1zaDsgdGhlbgorQEAgLTEyODEsNzQwICs1NDQsMzEyIEBACisgICAgIGFjX2F1eF9kaXI9JGFjX2RpcgorICAgICBhY19pbnN0YWxsX3NoPSIkYWNfYXV4X2Rpci9pbnN0YWxsLnNoIC1jIgorICAgICBicmVhaworLSAgZWxpZiB0ZXN0IC1mICRhY19kaXIvc2h0b29sOyB0aGVuCistICAgIGFjX2F1eF9kaXI9JGFjX2RpcgorLSAgICBhY19pbnN0YWxsX3NoPSIkYWNfYXV4X2Rpci9zaHRvb2wgaW5zdGFsbCAtYyIKKy0gICAgYnJlYWsKKyAgIGZpCisgZG9uZQorIGlmIHRlc3QgLXogIiRhY19hdXhfZGlyIjsgdGhlbgorLSAgeyB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogY2Fubm90IGZpbmQgaW5zdGFsbC1zaCBvciBpbnN0YWxsLnNoIGluICRzcmNkaXIgJHNyY2Rpci8uLiAkc3JjZGlyLy4uLy4uIiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiBjYW5ub3QgZmluZCBpbnN0YWxsLXNoIG9yIGluc3RhbGwuc2ggaW4gJHNyY2RpciAkc3JjZGlyLy4uICRzcmNkaXIvLi4vLi4iID4mMjt9CistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CisrICB7IGVjaG8gImNvbmZpZ3VyZTogZXJyb3I6IGNhbiBub3QgZmluZCBpbnN0YWxsLXNoIG9yIGluc3RhbGwuc2ggaW4gJHNyY2RpciAkc3JjZGlyLy4uICRzcmNkaXIvLi4vLi4iIDE+JjI7IGV4aXQgMTsgfQorIGZpCistYWNfY29uZmlnX2d1ZXNzPSIkU0hFTEwgJGFjX2F1eF9kaXIvY29uZmlnLmd1ZXNzIgorLWFjX2NvbmZpZ19zdWI9IiRTSEVMTCAkYWNfYXV4X2Rpci9jb25maWcuc3ViIgorLWFjX2NvbmZpZ3VyZT0iJFNIRUxMICRhY19hdXhfZGlyL2NvbmZpZ3VyZSIgIyBUaGlzIHNob3VsZCBiZSBDeWdudXMgY29uZmlndXJlLgorK2FjX2NvbmZpZ19ndWVzcz0kYWNfYXV4X2Rpci9jb25maWcuZ3Vlc3MKKythY19jb25maWdfc3ViPSRhY19hdXhfZGlyL2NvbmZpZy5zdWIKKythY19jb25maWd1cmU9JGFjX2F1eF9kaXIvY29uZmlndXJlICMgVGhpcyBzaG91bGQgYmUgQ3lnbnVzIGNvbmZpZ3VyZS4KKyAKKy0jIE1ha2Ugc3VyZSB3ZSBjYW4gcnVuIGNvbmZpZy5zdWIuCistJGFjX2NvbmZpZ19zdWIgc3VuNCA+L2Rldi9udWxsIDI+JjEgfHwKKy0gIHsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IGNhbm5vdCBydW4gJGFjX2NvbmZpZ19zdWIiID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6IGNhbm5vdCBydW4gJGFjX2NvbmZpZ19zdWIiID4mMjt9CistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CisgCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfYnVpbGQrc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CistZWxzZQorLSAgYWNfY3ZfYnVpbGRfYWxpYXM9JGJ1aWxkX2FsaWFzCistdGVzdCAteiAiJGFjX2N2X2J1aWxkX2FsaWFzIiAmJgorLSAgYWNfY3ZfYnVpbGRfYWxpYXM9YCRhY19jb25maWdfZ3Vlc3NgCistdGVzdCAteiAiJGFjX2N2X2J1aWxkX2FsaWFzIiAmJgorLSAgeyB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogY2Fubm90IGd1ZXNzIGJ1aWxkIHR5cGU7IHlvdSBtdXN0IHNwZWNpZnkgb25lIiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiBjYW5ub3QgZ3Vlc3MgYnVpbGQgdHlwZTsgeW91IG11c3Qgc3BlY2lmeSBvbmUiID4mMjt9CistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CistYWNfY3ZfYnVpbGQ9YCRhY19jb25maWdfc3ViICRhY19jdl9idWlsZF9hbGlhc2AgfHwKKy0gIHsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6ICRhY19jb25maWdfc3ViICRhY19jdl9idWlsZF9hbGlhcyBmYWlsZWQiID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6ICRhY19jb25maWdfc3ViICRhY19jdl9idWlsZF9hbGlhcyBmYWlsZWQiID4mMjt9CistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CisrIyBEbyBzb21lIGVycm9yIGNoZWNraW5nIGFuZCBkZWZhdWx0aW5nIGZvciB0aGUgaG9zdCBhbmQgdGFyZ2V0IHR5cGUuCisrIyBUaGUgaW5wdXRzIGFyZToKKysjICAgIGNvbmZpZ3VyZSAtLWhvc3Q9SE9TVCAtLXRhcmdldD1UQVJHRVQgLS1idWlsZD1CVUlMRCBOT05PUFQKKysjCisrIyBUaGUgcnVsZXMgYXJlOgorKyMgMS4gWW91IGFyZSBub3QgYWxsb3dlZCB0byBzcGVjaWZ5IC0taG9zdCwgLS10YXJnZXQsIGFuZCBub25vcHQgYXQgdGhlCisrIyAgICBzYW1lIHRpbWUuCisrIyAyLiBIb3N0IGRlZmF1bHRzIHRvIG5vbm9wdC4KKysjIDMuIElmIG5vbm9wdCBpcyBub3Qgc3BlY2lmaWVkLCB0aGVuIGhvc3QgZGVmYXVsdHMgdG8gdGhlIGN1cnJlbnQgaG9zdCwKKysjICAgIGFzIGRldGVybWluZWQgYnkgY29uZmlnLmd1ZXNzLgorKyMgNC4gVGFyZ2V0IGFuZCBidWlsZCBkZWZhdWx0IHRvIG5vbm9wdC4KKysjIDUuIElmIG5vbm9wdCBpcyBub3Qgc3BlY2lmaWVkLCB0aGVuIHRhcmdldCBhbmQgYnVpbGQgZGVmYXVsdCB0byBob3N0LgorIAorKyMgVGhlIGFsaWFzZXMgc2F2ZSB0aGUgbmFtZXMgdGhlIHVzZXIgc3VwcGxpZWQsIHdoaWxlICRob3N0IGV0Yy4KKysjIHdpbGwgZ2V0IGNhbm9uaWNhbGl6ZWQuCisrY2FzZSAkaG9zdC0tLSR0YXJnZXQtLS0kbm9ub3B0IGluCisrTk9ORS0tLSotLS0qIHwgKi0tLU5PTkUtLS0qIHwgKi0tLSotLS1OT05FKSA7OworKyopIHsgZWNobyAiY29uZmlndXJlOiBlcnJvcjogY2FuIG9ubHkgY29uZmlndXJlIGZvciBvbmUgaG9zdCBhbmQgb25lIHRhcmdldCBhdCBhIHRpbWUiIDE+JjI7IGV4aXQgMTsgfSA7OworK2VzYWMKKysKKysKKysjIE1ha2Ugc3VyZSB3ZSBjYW4gcnVuIGNvbmZpZy5zdWIuCisraWYgJHtDT05GSUdfU0hFTEwtL2Jpbi9zaH0gJGFjX2NvbmZpZ19zdWIgc3VuNCA+L2Rldi9udWxsIDI+JjE7IHRoZW4gOgorK2Vsc2UgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiBjYW4gbm90IHJ1biAkYWNfY29uZmlnX3N1YiIgMT4mMjsgZXhpdCAxOyB9CisgZmkKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3ZfYnVpbGQiID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19jdl9idWlsZCIgPiY2CistYnVpbGQ9JGFjX2N2X2J1aWxkCistYnVpbGRfY3B1PWBlY2hvICRhY19jdl9idWlsZCB8IHNlZCAncy9eXChbXi1dKlwpLVwoW14tXSpcKS1cKC4qXCkkL1wxLydgCistYnVpbGRfdmVuZG9yPWBlY2hvICRhY19jdl9idWlsZCB8IHNlZCAncy9eXChbXi1dKlwpLVwoW14tXSpcKS1cKC4qXCkkL1wyLydgCistYnVpbGRfb3M9YGVjaG8gJGFjX2N2X2J1aWxkIHwgc2VkICdzL15cKFteLV0qXCktXChbXi1dKlwpLVwoLipcKSQvXDMvJ2AKKyAKKytlY2hvICRhY19uICJjaGVja2luZyBob3N0IHN5c3RlbSB0eXBlIiIuLi4gJGFjX2MiIDE+JjYKKytlY2hvICJjb25maWd1cmU6NTg1OiBjaGVja2luZyBob3N0IHN5c3RlbSB0eXBlIiA+JjUKKyAKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZSIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBob3N0IHN5c3RlbSB0eXBlLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfaG9zdCtzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKy1lbHNlCistICBhY19jdl9ob3N0X2FsaWFzPSRob3N0X2FsaWFzCistdGVzdCAteiAiJGFjX2N2X2hvc3RfYWxpYXMiICYmCistICBhY19jdl9ob3N0X2FsaWFzPSRhY19jdl9idWlsZF9hbGlhcworLWFjX2N2X2hvc3Q9YCRhY19jb25maWdfc3ViICRhY19jdl9ob3N0X2FsaWFzYCB8fAorLSAgeyB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogJGFjX2NvbmZpZ19zdWIgJGFjX2N2X2hvc3RfYWxpYXMgZmFpbGVkIiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiAkYWNfY29uZmlnX3N1YiAkYWNfY3ZfaG9zdF9hbGlhcyBmYWlsZWQiID4mMjt9CistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CisraG9zdF9hbGlhcz0kaG9zdAorK2Nhc2UgIiRob3N0X2FsaWFzIiBpbgorK05PTkUpCisrICBjYXNlICRub25vcHQgaW4KKysgIE5PTkUpCisrICAgIGlmIGhvc3RfYWxpYXM9YCR7Q09ORklHX1NIRUxMLS9iaW4vc2h9ICRhY19jb25maWdfZ3Vlc3NgOyB0aGVuIDoKKysgICAgZWxzZSB7IGVjaG8gImNvbmZpZ3VyZTogZXJyb3I6IGNhbiBub3QgZ3Vlc3MgaG9zdCB0eXBlOyB5b3UgbXVzdCBzcGVjaWZ5IG9uZSIgMT4mMjsgZXhpdCAxOyB9CisrICAgIGZpIDs7CisrICAqKSBob3N0X2FsaWFzPSRub25vcHQgOzsKKysgIGVzYWMgOzsKKytlc2FjCisgCistZmkKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3ZfaG9zdCIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2N2X2hvc3QiID4mNgorLWhvc3Q9JGFjX2N2X2hvc3QKKy1ob3N0X2NwdT1gZWNobyAkYWNfY3ZfaG9zdCB8IHNlZCAncy9eXChbXi1dKlwpLVwoW14tXSpcKS1cKC4qXCkkL1wxLydgCistaG9zdF92ZW5kb3I9YGVjaG8gJGFjX2N2X2hvc3QgfCBzZWQgJ3MvXlwoW14tXSpcKS1cKFteLV0qXCktXCguKlwpJC9cMi8nYAorLWhvc3Rfb3M9YGVjaG8gJGFjX2N2X2hvc3QgfCBzZWQgJ3MvXlwoW14tXSpcKS1cKFteLV0qXCktXCguKlwpJC9cMy8nYAorK2hvc3Q9YCR7Q09ORklHX1NIRUxMLS9iaW4vc2h9ICRhY19jb25maWdfc3ViICRob3N0X2FsaWFzYAorK2hvc3RfY3B1PWBlY2hvICRob3N0IHwgc2VkICdzL15cKFteLV0qXCktXChbXi1dKlwpLVwoLipcKSQvXDEvJ2AKKytob3N0X3ZlbmRvcj1gZWNobyAkaG9zdCB8IHNlZCAncy9eXChbXi1dKlwpLVwoW14tXSpcKS1cKC4qXCkkL1wyLydgCisraG9zdF9vcz1gZWNobyAkaG9zdCB8IHNlZCAncy9eXChbXi1dKlwpLVwoW14tXSpcKS1cKC4qXCkkL1wzLydgCisrZWNobyAiJGFjX3QiIiRob3N0IiAxPiY2CisgCisrZWNobyAkYWNfbiAiY2hlY2tpbmcgdGFyZ2V0IHN5c3RlbSB0eXBlIiIuLi4gJGFjX2MiIDE+JjYKKytlY2hvICJjb25maWd1cmU6NjA2OiBjaGVja2luZyB0YXJnZXQgc3lzdGVtIHR5cGUiID4mNQorIAorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyB0YXJnZXQgc3lzdGVtIHR5cGUiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgdGFyZ2V0IHN5c3RlbSB0eXBlLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfdGFyZ2V0K3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorLWVsc2UKKy0gIGFjX2N2X3RhcmdldF9hbGlhcz0kdGFyZ2V0X2FsaWFzCistdGVzdCAieCRhY19jdl90YXJnZXRfYWxpYXMiID0gIngiICYmCistICBhY19jdl90YXJnZXRfYWxpYXM9JGFjX2N2X2hvc3RfYWxpYXMKKy1hY19jdl90YXJnZXQ9YCRhY19jb25maWdfc3ViICRhY19jdl90YXJnZXRfYWxpYXNgIHx8CistICB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiAkYWNfY29uZmlnX3N1YiAkYWNfY3ZfdGFyZ2V0X2FsaWFzIGZhaWxlZCIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogJGFjX2NvbmZpZ19zdWIgJGFjX2N2X3RhcmdldF9hbGlhcyBmYWlsZWQiID4mMjt9CistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CisrdGFyZ2V0X2FsaWFzPSR0YXJnZXQKKytjYXNlICIkdGFyZ2V0X2FsaWFzIiBpbgorK05PTkUpCisrICBjYXNlICRub25vcHQgaW4KKysgIE5PTkUpIHRhcmdldF9hbGlhcz0kaG9zdF9hbGlhcyA7OworKyAgKikgdGFyZ2V0X2FsaWFzPSRub25vcHQgOzsKKysgIGVzYWMgOzsKKytlc2FjCisgCistZmkKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3ZfdGFyZ2V0IiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfY3ZfdGFyZ2V0IiA+JjYKKy10YXJnZXQ9JGFjX2N2X3RhcmdldAorLXRhcmdldF9jcHU9YGVjaG8gJGFjX2N2X3RhcmdldCB8IHNlZCAncy9eXChbXi1dKlwpLVwoW14tXSpcKS1cKC4qXCkkL1wxLydgCistdGFyZ2V0X3ZlbmRvcj1gZWNobyAkYWNfY3ZfdGFyZ2V0IHwgc2VkICdzL15cKFteLV0qXCktXChbXi1dKlwpLVwoLipcKSQvXDIvJ2AKKy10YXJnZXRfb3M9YGVjaG8gJGFjX2N2X3RhcmdldCB8IHNlZCAncy9eXChbXi1dKlwpLVwoW14tXSpcKS1cKC4qXCkkL1wzLydgCisrdGFyZ2V0PWAke0NPTkZJR19TSEVMTC0vYmluL3NofSAkYWNfY29uZmlnX3N1YiAkdGFyZ2V0X2FsaWFzYAorK3RhcmdldF9jcHU9YGVjaG8gJHRhcmdldCB8IHNlZCAncy9eXChbXi1dKlwpLVwoW14tXSpcKS1cKC4qXCkkL1wxLydgCisrdGFyZ2V0X3ZlbmRvcj1gZWNobyAkdGFyZ2V0IHwgc2VkICdzL15cKFteLV0qXCktXChbXi1dKlwpLVwoLipcKSQvXDIvJ2AKKyt0YXJnZXRfb3M9YGVjaG8gJHRhcmdldCB8IHNlZCAncy9eXChbXi1dKlwpLVwoW14tXSpcKS1cKC4qXCkkL1wzLydgCisrZWNobyAiJGFjX3QiIiR0YXJnZXQiIDE+JjYKKyAKKytlY2hvICRhY19uICJjaGVja2luZyBidWlsZCBzeXN0ZW0gdHlwZSIiLi4uICRhY19jIiAxPiY2CisrZWNobyAiY29uZmlndXJlOjYyNDogY2hlY2tpbmcgYnVpbGQgc3lzdGVtIHR5cGUiID4mNQorIAorLSMgVGhlIGFsaWFzZXMgc2F2ZSB0aGUgbmFtZXMgdGhlIHVzZXIgc3VwcGxpZWQsIHdoaWxlICRob3N0IGV0Yy4KKy0jIHdpbGwgZ2V0IGNhbm9uaWNhbGl6ZWQuCistdGVzdCAtbiAiJHRhcmdldF9hbGlhcyIgJiYKKytidWlsZF9hbGlhcz0kYnVpbGQKKytjYXNlICIkYnVpbGRfYWxpYXMiIGluCisrTk9ORSkKKysgIGNhc2UgJG5vbm9wdCBpbgorKyAgTk9ORSkgYnVpbGRfYWxpYXM9JGhvc3RfYWxpYXMgOzsKKysgICopIGJ1aWxkX2FsaWFzPSRub25vcHQgOzsKKysgIGVzYWMgOzsKKytlc2FjCisrCisrYnVpbGQ9YCR7Q09ORklHX1NIRUxMLS9iaW4vc2h9ICRhY19jb25maWdfc3ViICRidWlsZF9hbGlhc2AKKytidWlsZF9jcHU9YGVjaG8gJGJ1aWxkIHwgc2VkICdzL15cKFteLV0qXCktXChbXi1dKlwpLVwoLipcKSQvXDEvJ2AKKytidWlsZF92ZW5kb3I9YGVjaG8gJGJ1aWxkIHwgc2VkICdzL15cKFteLV0qXCktXChbXi1dKlwpLVwoLipcKSQvXDIvJ2AKKytidWlsZF9vcz1gZWNobyAkYnVpbGQgfCBzZWQgJ3MvXlwoW14tXSpcKS1cKFteLV0qXCktXCguKlwpJC9cMy8nYAorK2VjaG8gIiRhY190IiIkYnVpbGQiIDE+JjYKKysKKyt0ZXN0ICIkaG9zdF9hbGlhcyIgIT0gIiR0YXJnZXRfYWxpYXMiICYmCisgICB0ZXN0ICIkcHJvZ3JhbV9wcmVmaXgkcHJvZ3JhbV9zdWZmaXgkcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZSIgPSBcCisgICAgIE5PTkVOT05Fcyx4LHgsICYmCisgICBwcm9ncmFtX3ByZWZpeD0ke3RhcmdldF9hbGlhc30tCistYWNfZXh0PWMKKy1hY19jcHA9JyRDUFAgJENQUEZMQUdTJworLWFjX2NvbXBpbGU9JyRDQyAtYyAkQ0ZMQUdTICRDUFBGTEFHUyBjb25mdGVzdC4kYWNfZXh0ID4mNScKKy1hY19saW5rPSckQ0MgLW8gY29uZnRlc3QkYWNfZXhlZXh0ICRDRkxBR1MgJENQUEZMQUdTICRMREZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgJExJQlMgPiY1JworLWFjX2NvbXBpbGVyX2dudT0kYWNfY3ZfY19jb21waWxlcl9nbnUKKy1pZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCistICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9Z2NjIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KKy1zZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1nY2M7IGFjX3dvcmQ9JDIKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfQ0Mrc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CistZWxzZQorLSAgaWYgdGVzdCAtbiAiJENDIjsgdGhlbgorLSAgYWNfY3ZfcHJvZ19DQz0iJENDIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KKy1lbHNlCistYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorLWZvciBhc19kaXIgaW4gJFBBVEgKKy1kbworLSAgSUZTPSRhc19zYXZlX0lGUworLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKy0gIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworLSAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKy0gICAgYWNfY3ZfcHJvZ19DQz0iJHthY190b29sX3ByZWZpeH1nY2MiCistICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKy0gICAgYnJlYWsgMgorLSAgZmkKKy1kb25lCistZG9uZQorIAorLWZpCistZmkKKy1DQz0kYWNfY3ZfcHJvZ19DQworLWlmIHRlc3QgLW4gIiRDQyI7IHRoZW4KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRDQyIgPiY1CistZWNobyAiJHtFQ0hPX1R9JENDIiA+JjYKKy1lbHNlCistICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CistZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorLWZpCistCistZmkKKy1pZiB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19DQyI7IHRoZW4KKy0gIGFjX2N0X0NDPSRDQworLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJnY2MiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorKyMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiZ2NjIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KKyBzZXQgZHVtbXkgZ2NjOyBhY193b3JkPSQyCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0X0NDK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorK2VjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfd29yZCIiLi4uICRhY19jIiAxPiY2CisrZWNobyAiY29uZmlndXJlOjY0OTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKytpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfcHJvZ19DQycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisrICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKy0gIGlmIHRlc3QgLW4gIiRhY19jdF9DQyI7IHRoZW4KKy0gIGFjX2N2X3Byb2dfYWNfY3RfQ0M9IiRhY19jdF9DQyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCistZWxzZQorLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKy1mb3IgYXNfZGlyIGluICRQQVRICistZG8KKy0gIElGUz0kYXNfc2F2ZV9JRlMKKy0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCistICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKy0gIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCistICAgIGFjX2N2X3Byb2dfYWNfY3RfQ0M9ImdjYyIKKy0gICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorLSAgICBicmVhayAyCistICBmaQorLWRvbmUKKy1kb25lCistCistZmkKKy1maQorLWFjX2N0X0NDPSRhY19jdl9wcm9nX2FjX2N0X0NDCistaWYgdGVzdCAtbiAiJGFjX2N0X0NDIjsgdGhlbgorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N0X0NDIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfY3RfQ0MiID4mNgorLWVsc2UKKy0gIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKKy1lY2hvICIke0VDSE9fVH1ubyIgPiY2CistZmkKKy0KKy0gIENDPSRhY19jdF9DQworLWVsc2UKKy0gIENDPSIkYWNfY3ZfcHJvZ19DQyIKKy1maQorLQorLWlmIHRlc3QgLXogIiRDQyI7IHRoZW4KKy0gIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKy0gICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1jYyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCistc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9Y2M7IGFjX3dvcmQ9JDIKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfQ0Mrc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CistZWxzZQorICAgaWYgdGVzdCAtbiAiJENDIjsgdGhlbgorICAgYWNfY3ZfcHJvZ19DQz0iJENDIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KKyBlbHNlCistYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorLWZvciBhc19kaXIgaW4gJFBBVEgKKy1kbworLSAgSUZTPSRhc19zYXZlX0lGUworLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKy0gIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworLSAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKy0gICAgYWNfY3ZfcHJvZ19DQz0iJHthY190b29sX3ByZWZpeH1jYyIKKy0gICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorLSAgICBicmVhayAyCistICBmaQorLWRvbmUKKy1kb25lCistCisrICBJRlM9IiR7SUZTPSAJfSI7IGFjX3NhdmVfaWZzPSIkSUZTIjsgSUZTPSI6IgorKyAgYWNfZHVtbXk9IiRQQVRIIgorKyAgZm9yIGFjX2RpciBpbiAkYWNfZHVtbXk7IGRvCisrICAgIHRlc3QgLXogIiRhY19kaXIiICYmIGFjX2Rpcj0uCisrICAgIGlmIHRlc3QgLWYgJGFjX2Rpci8kYWNfd29yZDsgdGhlbgorKyAgICAgIGFjX2N2X3Byb2dfQ0M9ImdjYyIKKysgICAgICBicmVhaworKyAgICBmaQorKyAgZG9uZQorKyAgSUZTPSIkYWNfc2F2ZV9pZnMiCisgZmkKKyBmaQorLUNDPSRhY19jdl9wcm9nX0NDCisrQ0M9IiRhY19jdl9wcm9nX0NDIgorIGlmIHRlc3QgLW4gIiRDQyI7IHRoZW4KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRDQyIgPiY1CistZWNobyAiJHtFQ0hPX1R9JENDIiA+JjYKKysgIGVjaG8gIiRhY190IiIkQ0MiIDE+JjYKKyBlbHNlCistICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CistZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorKyAgZWNobyAiJGFjX3QiIm5vIiAxPiY2CisgZmkKKyAKKy1maQorLWlmIHRlc3QgLXogIiRhY19jdl9wcm9nX0NDIjsgdGhlbgorLSAgYWNfY3RfQ0M9JENDCistICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgImNjIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KKy1zZXQgZHVtbXkgY2M7IGFjX3dvcmQ9JDIKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfQ0Mrc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CistZWxzZQorLSAgaWYgdGVzdCAtbiAiJGFjX2N0X0NDIjsgdGhlbgorLSAgYWNfY3ZfcHJvZ19hY19jdF9DQz0iJGFjX2N0X0NDIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KKy1lbHNlCistYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorLWZvciBhc19kaXIgaW4gJFBBVEgKKy1kbworLSAgSUZTPSRhc19zYXZlX0lGUworLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKy0gIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworLSAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKy0gICAgYWNfY3ZfcHJvZ19hY19jdF9DQz0iY2MiCistICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKy0gICAgYnJlYWsgMgorLSAgZmkKKy1kb25lCistZG9uZQorLQorLWZpCistZmkKKy1hY19jdF9DQz0kYWNfY3ZfcHJvZ19hY19jdF9DQworLWlmIHRlc3QgLW4gIiRhY19jdF9DQyI7IHRoZW4KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdF9DQyIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2N0X0NDIiA+JjYKKy1lbHNlCistICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CistZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorLWZpCistCistICBDQz0kYWNfY3RfQ0MKKy1lbHNlCistICBDQz0iJGFjX2N2X3Byb2dfQ0MiCistZmkKKy0KKy1maQorIGlmIHRlc3QgLXogIiRDQyI7IHRoZW4KKyAgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiY2MiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorIHNldCBkdW1teSBjYzsgYWNfd29yZD0kMgorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19DQytzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKytlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQiIi4uLiAkYWNfYyIgMT4mNgorK2VjaG8gImNvbmZpZ3VyZTo2Nzk6IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CisraWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3Byb2dfQ0MnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorKyAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBpZiB0ZXN0IC1uICIkQ0MiOyB0aGVuCisgICBhY19jdl9wcm9nX0NDPSIkQ0MiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorIGVsc2UKKysgIElGUz0iJHtJRlM9IAl9IjsgYWNfc2F2ZV9pZnM9IiRJRlMiOyBJRlM9IjoiCisgICBhY19wcm9nX3JlamVjdGVkPW5vCistYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorLWZvciBhc19kaXIgaW4gJFBBVEgKKy1kbworLSAgSUZTPSRhc19zYXZlX0lGUworLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKy0gIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworLSAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKy0gICAgaWYgdGVzdCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPSAiL3Vzci91Y2IvY2MiOyB0aGVuCistICAgICAgIGFjX3Byb2dfcmVqZWN0ZWQ9eWVzCistICAgICAgIGNvbnRpbnVlCistICAgICBmaQorLSAgICBhY19jdl9wcm9nX0NDPSJjYyIKKy0gICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorLSAgICBicmVhayAyCistICBmaQorLWRvbmUKKy1kb25lCistCisrICBhY19kdW1teT0iJFBBVEgiCisrICBmb3IgYWNfZGlyIGluICRhY19kdW1teTsgZG8KKysgICAgdGVzdCAteiAiJGFjX2RpciIgJiYgYWNfZGlyPS4KKysgICAgaWYgdGVzdCAtZiAkYWNfZGlyLyRhY193b3JkOyB0aGVuCisrICAgICAgaWYgdGVzdCAiJGFjX2Rpci8kYWNfd29yZCIgPSAiL3Vzci91Y2IvY2MiOyB0aGVuCisrICAgICAgICBhY19wcm9nX3JlamVjdGVkPXllcworKwljb250aW51ZQorKyAgICAgIGZpCisrICAgICAgYWNfY3ZfcHJvZ19DQz0iY2MiCisrICAgICAgYnJlYWsKKysgICAgZmkKKysgIGRvbmUKKysgIElGUz0iJGFjX3NhdmVfaWZzIgorIGlmIHRlc3QgJGFjX3Byb2dfcmVqZWN0ZWQgPSB5ZXM7IHRoZW4KKyAgICMgV2UgZm91bmQgYSBib2dvbiBpbiB0aGUgcGF0aCwgc28gbWFrZSBzdXJlIHdlIG5ldmVyIHVzZSBpdC4KKyAgIHNldCBkdW1teSAkYWNfY3ZfcHJvZ19DQworICAgc2hpZnQKKy0gIGlmIHRlc3QgJCMgIT0gMDsgdGhlbgorKyAgaWYgdGVzdCAkIyAtZ3QgMDsgdGhlbgorICAgICAjIFdlIGNob3NlIGEgZGlmZmVyZW50IGNvbXBpbGVyIGZyb20gdGhlIGJvZ3VzIG9uZS4KKyAgICAgIyBIb3dldmVyLCBpdCBoYXMgdGhlIHNhbWUgYmFzZW5hbWUsIHNvIHRoZSBib2dvbiB3aWxsIGJlIGNob3NlbgorICAgICAjIGZpcnN0IGlmIHdlIHNldCBDQyB0byBqdXN0IHRoZSBiYXNlbmFtZTsgdXNlIHRoZSBmdWxsIGZpbGUgbmFtZS4KKyAgICAgc2hpZnQKKy0gICAgYWNfY3ZfcHJvZ19DQz0iJGFzX2Rpci8kYWNfd29yZCR7MSsnICd9JEAiCisrICAgIHNldCBkdW1teSAiJGFjX2Rpci8kYWNfd29yZCIgIiRAIgorKyAgICBzaGlmdAorKyAgICBhY19jdl9wcm9nX0NDPSIkQCIKKyAgIGZpCisgZmkKKyBmaQorIGZpCistQ0M9JGFjX2N2X3Byb2dfQ0MKKytDQz0iJGFjX2N2X3Byb2dfQ0MiCisgaWYgdGVzdCAtbiAiJENDIjsgdGhlbgorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJENDIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kQ0MiID4mNgorKyAgZWNobyAiJGFjX3QiIiRDQyIgMT4mNgorIGVsc2UKKy0gIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKKy1lY2hvICIke0VDSE9fVH1ubyIgPiY2CisrICBlY2hvICIkYWNfdCIibm8iIDE+JjYKKyBmaQorIAorLWZpCistaWYgdGVzdCAteiAiJENDIjsgdGhlbgorLSAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgorLSAgZm9yIGFjX3Byb2cgaW4gY2wKKy0gIGRvCistICAgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJGFjX3Rvb2xfcHJlZml4JGFjX3Byb2ciLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorLXNldCBkdW1teSAkYWNfdG9vbF9wcmVmaXgkYWNfcHJvZzsgYWNfd29yZD0kMgorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19DQytzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKysgIGlmIHRlc3QgLXogIiRDQyI7IHRoZW4KKysgICAgY2FzZSAiYHVuYW1lIC1zYCIgaW4KKysgICAgKndpbjMyKiB8ICpXSU4zMiopCisrICAgICAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJjbCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCisrc2V0IGR1bW15IGNsOyBhY193b3JkPSQyCisrZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY193b3JkIiIuLi4gJGFjX2MiIDE+JjYKKytlY2hvICJjb25maWd1cmU6NzMwOiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9wcm9nX0NDJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKysgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgaWYgdGVzdCAtbiAiJENDIjsgdGhlbgorICAgYWNfY3ZfcHJvZ19DQz0iJENDIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KKyBlbHNlCistYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorLWZvciBhc19kaXIgaW4gJFBBVEgKKy1kbworLSAgSUZTPSRhc19zYXZlX0lGUworLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKy0gIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworLSAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKy0gICAgYWNfY3ZfcHJvZ19DQz0iJGFjX3Rvb2xfcHJlZml4JGFjX3Byb2ciCistICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKy0gICAgYnJlYWsgMgorLSAgZmkKKy1kb25lCistZG9uZQorLQorKyAgSUZTPSIke0lGUz0gCX0iOyBhY19zYXZlX2lmcz0iJElGUyI7IElGUz0iOiIKKysgIGFjX2R1bW15PSIkUEFUSCIKKysgIGZvciBhY19kaXIgaW4gJGFjX2R1bW15OyBkbworKyAgICB0ZXN0IC16ICIkYWNfZGlyIiAmJiBhY19kaXI9LgorKyAgICBpZiB0ZXN0IC1mICRhY19kaXIvJGFjX3dvcmQ7IHRoZW4KKysgICAgICBhY19jdl9wcm9nX0NDPSJjbCIKKysgICAgICBicmVhaworKyAgICBmaQorKyAgZG9uZQorKyAgSUZTPSIkYWNfc2F2ZV9pZnMiCisgZmkKKyBmaQorLUNDPSRhY19jdl9wcm9nX0NDCisrQ0M9IiRhY19jdl9wcm9nX0NDIgorIGlmIHRlc3QgLW4gIiRDQyI7IHRoZW4KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRDQyIgPiY1CistZWNobyAiJHtFQ0hPX1R9JENDIiA+JjYKKysgIGVjaG8gIiRhY190IiIkQ0MiIDE+JjYKKyBlbHNlCistICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CistZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorKyAgZWNobyAiJGFjX3QiIm5vIiAxPiY2CisgZmkKKy0KKy0gICAgdGVzdCAtbiAiJENDIiAmJiBicmVhaworLSAgZG9uZQorLWZpCistaWYgdGVzdCAteiAiJENDIjsgdGhlbgorLSAgYWNfY3RfQ0M9JENDCistICBmb3IgYWNfcHJvZyBpbiBjbAorLWRvCistICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiRhY19wcm9nIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KKy1zZXQgZHVtbXkgJGFjX3Byb2c7IGFjX3dvcmQ9JDIKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfQ0Mrc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CistZWxzZQorLSAgaWYgdGVzdCAtbiAiJGFjX2N0X0NDIjsgdGhlbgorLSAgYWNfY3ZfcHJvZ19hY19jdF9DQz0iJGFjX2N0X0NDIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KKy1lbHNlCistYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorLWZvciBhc19kaXIgaW4gJFBBVEgKKy1kbworLSAgSUZTPSRhc19zYXZlX0lGUworLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKy0gIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworLSAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKy0gICAgYWNfY3ZfcHJvZ19hY19jdF9DQz0iJGFjX3Byb2ciCistICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKy0gICAgYnJlYWsgMgorKyA7OworKyAgICBlc2FjCisgICBmaQorLWRvbmUKKy1kb25lCistCisrICB0ZXN0IC16ICIkQ0MiICYmIHsgZWNobyAiY29uZmlndXJlOiBlcnJvcjogbm8gYWNjZXB0YWJsZSBjYyBmb3VuZCBpbiBcJFBBVEgiIDE+JjI7IGV4aXQgMTsgfQorIGZpCistZmkKKy1hY19jdF9DQz0kYWNfY3ZfcHJvZ19hY19jdF9DQworLWlmIHRlc3QgLW4gIiRhY19jdF9DQyI7IHRoZW4KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdF9DQyIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2N0X0NDIiA+JjYKKy1lbHNlCistICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CistZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorLWZpCisgCistICB0ZXN0IC1uICIkYWNfY3RfQ0MiICYmIGJyZWFrCistZG9uZQorK2VjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgKCRDQyAkQ0ZMQUdTICRMREZMQUdTKSB3b3JrcyIiLi4uICRhY19jIiAxPiY2CisrZWNobyAiY29uZmlndXJlOjc2MjogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciAoJENDICRDRkxBR1MgJExERkxBR1MpIHdvcmtzIiA+JjUKKyAKKy0gIENDPSRhY19jdF9DQworLWZpCisrYWNfZXh0PWMKKysjIENGTEFHUyBpcyBub3QgaW4gYWNfY3BwIGJlY2F1c2UgLWcsIC1PLCBldGMuIGFyZSBub3QgdmFsaWQgY3BwIG9wdGlvbnMuCisrYWNfY3BwPSckQ1BQICRDUFBGTEFHUycKKythY19jb21waWxlPScke0NDLWNjfSAtYyAkQ0ZMQUdTICRDUFBGTEFHUyBjb25mdGVzdC4kYWNfZXh0IDE+JjUnCisrYWNfbGluaz0nJHtDQy1jY30gLW8gY29uZnRlc3Qke2FjX2V4ZWV4dH0gJENGTEFHUyAkQ1BQRkxBR1MgJExERkxBR1MgY29uZnRlc3QuJGFjX2V4dCAkTElCUyAxPiY1JworK2Nyb3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jY19jcm9zcworIAorLWZpCisrY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PCBFT0YKKyAKKysjbGluZSA3NzMgImNvbmZpZ3VyZSIKKysjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKy10ZXN0IC16ICIkQ0MiICYmIHsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IG5vIGFjY2VwdGFibGUgQyBjb21waWxlciBmb3VuZCBpbiBcJFBBVEgKKy1TZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzLiIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogbm8gYWNjZXB0YWJsZSBDIGNvbXBpbGVyIGZvdW5kIGluIFwkUEFUSAorLVNlZSBcYGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMuIiA+JjI7fQorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorLQorLSMgUHJvdmlkZSBzb21lIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjb21waWxlci4KKy1lY2hvICIkYXNfbWU6JExJTkVOTzoiIFwKKy0gICAgICJjaGVja2luZyBmb3IgQyBjb21waWxlciB2ZXJzaW9uIiA+JjUKKy1hY19jb21waWxlcj1gc2V0IFggJGFjX2NvbXBpbGU7IGVjaG8gJDJgCisteyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZXIgLS12ZXJzaW9uIDwvZGV2L251bGwgPiY1XCIiKSA+JjUKKy0gIChldmFsICRhY19jb21waWxlciAtLXZlcnNpb24gPC9kZXYvbnVsbCA+JjUpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0KKy17IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlciAtdiA8L2Rldi9udWxsID4mNVwiIikgPiY1CistICAoZXZhbCAkYWNfY29tcGlsZXIgLXYgPC9kZXYvbnVsbCA+JjUpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0KKy17IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlciAtViA8L2Rldi9udWxsID4mNVwiIikgPiY1CistICAoZXZhbCAkYWNfY29tcGlsZXIgLVYgPC9kZXYvbnVsbCA+JjUpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0KKy0KKy1jYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKy0KKy1pbnQKKy1tYWluICgpCisteworLQorLSAgOworLSAgcmV0dXJuIDA7CistfQorLV9BQ0VPRgorLWFjX2NsZWFuX2ZpbGVzX3NhdmU9JGFjX2NsZWFuX2ZpbGVzCistYWNfY2xlYW5fZmlsZXM9IiRhY19jbGVhbl9maWxlcyBhLm91dCBhLmV4ZSBiLm91dCIKKy0jIFRyeSB0byBjcmVhdGUgYW4gZXhlY3V0YWJsZSB3aXRob3V0IC1vIGZpcnN0LCBkaXNyZWdhcmQgYS5vdXQuCistIyBJdCB3aWxsIGhlbHAgdXMgZGlhZ25vc2UgYnJva2VuIGNvbXBpbGVycywgYW5kIGZpbmRpbmcgb3V0IGFuIGludHVpdGlvbgorLSMgb2YgZXhlZXh0LgorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dC4uLiAkRUNIT19DIiA+JjYKKy1hY19saW5rX2RlZmF1bHQ9YGVjaG8gIiRhY19saW5rIiB8IHNlZCAncy8gLW8gKmNvbmZ0ZXN0W14gXSovLydgCistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfbGlua19kZWZhdWx0XCIiKSA+JjUKKy0gIChldmFsICRhY19saW5rX2RlZmF1bHQpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IHRoZW4KKy0gICMgRmluZCB0aGUgb3V0cHV0LCBzdGFydGluZyBmcm9tIHRoZSBtb3N0IGxpa2VseS4gIFRoaXMgc2NoZW1lIGlzCistIyBub3Qgcm9idXN0IHRvIGp1bmsgaW4gYC4nLCBoZW5jZSBnbyB0byB3aWxkY2FyZHMgKGEuKikgb25seSBhcyBhIGxhc3QKKy0jIHJlc29ydC4KKy0KKy0jIEJlIGNhcmVmdWwgdG8gaW5pdGlhbGl6ZSB0aGlzIHZhcmlhYmxlLCBzaW5jZSBpdCB1c2VkIHRvIGJlIGNhY2hlZC4KKy0jIE90aGVyd2lzZSBhbiBvbGQgY2FjaGUgdmFsdWUgb2YgYG5vJyBsZWQgdG8gYEVYRUVYVCA9IG5vJyBpbiBhIE1ha2VmaWxlLgorLWFjX2N2X2V4ZWV4dD0KKy0jIGIub3V0IGlzIGNyZWF0ZWQgYnkgaTk2MCBjb21waWxlcnMuCistZm9yIGFjX2ZpbGUgaW4gYV9vdXQuZXhlIGEuZXhlIGNvbmZ0ZXN0LmV4ZSBhLm91dCBjb25mdGVzdCBhLiogY29uZnRlc3QuKiBiLm91dAorLWRvCistICB0ZXN0IC1mICIkYWNfZmlsZSIgfHwgY29udGludWUKKy0gIGNhc2UgJGFjX2ZpbGUgaW4KKy0gICAgKi4kYWNfZXh0IHwgKi54Y29mZiB8ICoudGRzIHwgKi5kIHwgKi5wZGIgfCAqLnhTWU0gfCAqLmJiIHwgKi5iYmcgfCAqLm8gfCAqLm9iaiApCistICAgICAgICA7OworLSAgICBjb25mdGVzdC4kYWNfZXh0ICkKKy0gICAgICAgICMgVGhpcyBpcyB0aGUgc291cmNlIGZpbGUuCistICAgICAgICA7OworLSAgICBbYWJdLm91dCApCistICAgICAgICAjIFdlIGZvdW5kIHRoZSBkZWZhdWx0IGV4ZWN1dGFibGUsIGJ1dCBleGVleHQ9JycgaXMgbW9zdAorLSAgICAgICAgIyBjZXJ0YWlubHkgcmlnaHQuCistICAgICAgICBicmVhazs7CistICAgICouKiApCistICAgICAgICBhY19jdl9leGVleHQ9YGV4cHIgIiRhY19maWxlIiA6ICdbXi5dKlwoXC4uKlwpJ2AKKy0gICAgICAgICMgRklYTUU6IEkgYmVsaWV2ZSB3ZSBleHBvcnQgYWNfY3ZfZXhlZXh0IGZvciBMaWJ0b29sLAorLSAgICAgICAgIyBidXQgaXQgd291bGQgYmUgY29vbCB0byBmaW5kIG91dCBpZiBpdCdzIHRydWUuICBEb2VzIGFueWJvZHkKKy0gICAgICAgICMgbWFpbnRhaW4gTGlidG9vbD8gLS1ha2ltLgorLSAgICAgICAgZXhwb3J0IGFjX2N2X2V4ZWV4dAorLSAgICAgICAgYnJlYWs7OworLSAgICAqICkKKy0gICAgICAgIGJyZWFrOzsKKy0gIGVzYWMKKy1kb25lCistZWxzZQorLSAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CistCisteyB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogQyBjb21waWxlciBjYW5ub3QgY3JlYXRlIGV4ZWN1dGFibGVzCistU2VlIFxgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscy4iID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6IEMgY29tcGlsZXIgY2Fubm90IGNyZWF0ZSBleGVjdXRhYmxlcworLVNlZSBcYGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMuIiA+JjI7fQorLSAgIHsgKGV4aXQgNzcpOyBleGl0IDc3OyB9OyB9CistZmkKKy0KKy1hY19leGVleHQ9JGFjX2N2X2V4ZWV4dAorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19maWxlIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfZmlsZSIgPiY2CistCistIyBDaGVjayB0aGUgY29tcGlsZXIgcHJvZHVjZXMgZXhlY3V0YWJsZXMgd2UgY2FuIHJ1bi4gIElmIG5vdCwgZWl0aGVyCistIyB0aGUgY29tcGlsZXIgaXMgYnJva2VuLCBvciB3ZSBjcm9zcyBjb21waWxlLgorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4gJEVDSE9fQyIgPiY2CistIyBGSVhNRTogVGhlc2UgY3Jvc3MgY29tcGlsZXIgaGFja3Mgc2hvdWxkIGJlIHJlbW92ZWQgZm9yIEF1dG9jb25mIDMuMAorLSMgSWYgbm90IGNyb3NzIGNvbXBpbGluZywgY2hlY2sgdGhhdCB3ZSBjYW4gcnVuIGEgc2ltcGxlIHByb2dyYW0uCistaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgIT0geWVzOyB0aGVuCistICBpZiB7IGFjX3RyeT0nLi8kYWNfZmlsZScKKy0gIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CistICAoZXZhbCAkYWNfdHJ5KSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCistICAgIGNyb3NzX2NvbXBpbGluZz1ubworK21haW4oKXtyZXR1cm4oMCk7fQorK0VPRgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6Nzc4OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKysgIGFjX2N2X3Byb2dfY2Nfd29ya3M9eWVzCisrICAjIElmIHdlIGNhbid0IHJ1biBhIHRyaXZpYWwgcHJvZ3JhbSwgd2UgYXJlIHByb2JhYmx5IHVzaW5nIGEgY3Jvc3MgY29tcGlsZXIuCisrICBpZiAoLi9jb25mdGVzdDsgZXhpdCkgMj4vZGV2L251bGw7IHRoZW4KKysgICAgYWNfY3ZfcHJvZ19jY19jcm9zcz1ubworICAgZWxzZQorLSAgICBpZiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiA9IG1heWJlOyB0aGVuCistCWNyb3NzX2NvbXBpbGluZz15ZXMKKy0gICAgZWxzZQorLQl7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBjYW5ub3QgcnVuIEMgY29tcGlsZWQgcHJvZ3JhbXMuCistSWYgeW91IG1lYW50IHRvIGNyb3NzIGNvbXBpbGUsIHVzZSBcYC0taG9zdCcuCistU2VlIFxgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscy4iID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6IGNhbm5vdCBydW4gQyBjb21waWxlZCBwcm9ncmFtcy4KKy1JZiB5b3UgbWVhbnQgdG8gY3Jvc3MgY29tcGlsZSwgdXNlIFxgLS1ob3N0Jy4KKy1TZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzLiIgPiYyO30KKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKy0gICAgZmkKKysgICAgYWNfY3ZfcHJvZ19jY19jcm9zcz15ZXMKKyAgIGZpCisrZWxzZQorKyAgZWNobyAiY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKysgIGNhdCBjb25mdGVzdC4kYWNfZXh0ID4mNQorKyAgYWNfY3ZfcHJvZ19jY193b3Jrcz1ubworIGZpCistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogeWVzIiA+JjUKKy1lY2hvICIke0VDSE9fVH15ZXMiID4mNgorK3JtIC1mciBjb25mdGVzdCoKKythY19leHQ9YworKyMgQ0ZMQUdTIGlzIG5vdCBpbiBhY19jcHAgYmVjYXVzZSAtZywgLU8sIGV0Yy4gYXJlIG5vdCB2YWxpZCBjcHAgb3B0aW9ucy4KKythY19jcHA9JyRDUFAgJENQUEZMQUdTJworK2FjX2NvbXBpbGU9JyR7Q0MtY2N9IC1jICRDRkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgMT4mNScKKythY19saW5rPScke0NDLWNjfSAtbyBjb25mdGVzdCR7YWNfZXhlZXh0fSAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTIDE+JjUnCisrY3Jvc3NfY29tcGlsaW5nPSRhY19jdl9wcm9nX2NjX2Nyb3NzCisgCistcm0gLWYgYS5vdXQgYS5leGUgY29uZnRlc3QkYWNfY3ZfZXhlZXh0IGIub3V0CistYWNfY2xlYW5fZmlsZXM9JGFjX2NsZWFuX2ZpbGVzX3NhdmUKKy0jIENoZWNrIHRoZSBjb21waWxlciBwcm9kdWNlcyBleGVjdXRhYmxlcyB3ZSBjYW4gcnVuLiAgSWYgbm90LCBlaXRoZXIKKy0jIHRoZSBjb21waWxlciBpcyBicm9rZW4sIG9yIHdlIGNyb3NzIGNvbXBpbGUuCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZyIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gJEVDSE9fQyIgPiY2CistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGNyb3NzX2NvbXBpbGluZyIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGNyb3NzX2NvbXBpbGluZyIgPiY2CistCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAkRUNIT19DIiA+JjYKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19saW5rXCIiKSA+JjUKKy0gIChldmFsICRhY19saW5rKSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9OyB0aGVuCistICAjIElmIGJvdGggYGNvbmZ0ZXN0LmV4ZScgYW5kIGBjb25mdGVzdCcgYXJlIGBwcmVzZW50JyAod2VsbCwgb2JzZXJ2YWJsZSkKKy0jIGNhdGNoIGBjb25mdGVzdC5leGUnLiAgRm9yIGluc3RhbmNlIHdpdGggQ3lnd2luLCBgbHMgY29uZnRlc3QnIHdpbGwKKy0jIHdvcmsgcHJvcGVybHkgKGkuZS4sIHJlZmVyIHRvIGBjb25mdGVzdC5leGUnKSwgd2hpbGUgaXQgd29uJ3Qgd2l0aAorLSMgYHJtJy4KKy1mb3IgYWNfZmlsZSBpbiBjb25mdGVzdC5leGUgY29uZnRlc3QgY29uZnRlc3QuKjsgZG8KKy0gIHRlc3QgLWYgIiRhY19maWxlIiB8fCBjb250aW51ZQorLSAgY2FzZSAkYWNfZmlsZSBpbgorLSAgICAqLiRhY19leHQgfCAqLnhjb2ZmIHwgKi50ZHMgfCAqLmQgfCAqLnBkYiB8ICoueFNZTSB8ICouYmIgfCAqLmJiZyB8ICoubyB8ICoub2JqICkgOzsKKy0gICAgKi4qICkgYWNfY3ZfZXhlZXh0PWBleHByICIkYWNfZmlsZSIgOiAnW14uXSpcKFwuLipcKSdgCistICAgICAgICAgIGV4cG9ydCBhY19jdl9leGVleHQKKy0gICAgICAgICAgYnJlYWs7OworLSAgICAqICkgYnJlYWs7OworLSAgZXNhYworLWRvbmUKKy1lbHNlCistICB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBjYW5ub3QgY29tcHV0ZSBzdWZmaXggb2YgZXhlY3V0YWJsZXM6IGNhbm5vdCBjb21waWxlIGFuZCBsaW5rCistU2VlIFxgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscy4iID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6IGNhbm5vdCBjb21wdXRlIHN1ZmZpeCBvZiBleGVjdXRhYmxlczogY2Fubm90IGNvbXBpbGUgYW5kIGxpbmsKKy1TZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzLiIgPiYyO30KKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKytlY2hvICIkYWNfdCIiJGFjX2N2X3Byb2dfY2Nfd29ya3MiIDE+JjYKKytpZiB0ZXN0ICRhY19jdl9wcm9nX2NjX3dvcmtzID0gbm87IHRoZW4KKysgIHsgZWNobyAiY29uZmlndXJlOiBlcnJvcjogaW5zdGFsbGF0aW9uIG9yIGNvbmZpZ3VyYXRpb24gcHJvYmxlbTogQyBjb21waWxlciBjYW5ub3QgY3JlYXRlIGV4ZWN1dGFibGVzLiIgMT4mMjsgZXhpdCAxOyB9CisgZmkKKytlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyICgkQ0MgJENGTEFHUyAkTERGTEFHUykgaXMgYSBjcm9zcy1jb21waWxlciIiLi4uICRhY19jIiAxPiY2CisrZWNobyAiY29uZmlndXJlOjgwNDogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciAoJENDICRDRkxBR1MgJExERkxBR1MpIGlzIGEgY3Jvc3MtY29tcGlsZXIiID4mNQorK2VjaG8gIiRhY190IiIkYWNfY3ZfcHJvZ19jY19jcm9zcyIgMT4mNgorK2Nyb3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jY19jcm9zcworIAorLXJtIC1mIGNvbmZ0ZXN0JGFjX2N2X2V4ZWV4dAorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9leGVleHQiID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19jdl9leGVleHQiID4mNgorLQorLXJtIC1mIGNvbmZ0ZXN0LiRhY19leHQKKy1FWEVFWFQ9JGFjX2N2X2V4ZWV4dAorLWFjX2V4ZWV4dD0kRVhFRVhUCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3Zfb2JqZXh0K3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorK2VjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIEdOVSBDIiIuLi4gJGFjX2MiIDE+JjYKKytlY2hvICJjb25maWd1cmU6ODA5OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyBHTlUgQyIgPiY1CisraWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3Byb2dfZ2NjJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKysgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorLSAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCistCistaW50CistbWFpbiAoKQorLXsKKy0KKy0gIDsKKy0gIHJldHVybiAwOworLX0KKy1fQUNFT0YKKy1ybSAtZiBjb25mdGVzdC5vIGNvbmZ0ZXN0Lm9iagorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IHRoZW4KKy0gIGZvciBhY19maWxlIGluIGAobHMgY29uZnRlc3QubyBjb25mdGVzdC5vYmo7IGxzIGNvbmZ0ZXN0LiopIDI+L2Rldi9udWxsYDsgZG8KKy0gIGNhc2UgJGFjX2ZpbGUgaW4KKy0gICAgKi4kYWNfZXh0IHwgKi54Y29mZiB8ICoudGRzIHwgKi5kIHwgKi5wZGIgfCAqLnhTWU0gfCAqLmJiIHwgKi5iYmcgKSA7OworLSAgICAqKSBhY19jdl9vYmpleHQ9YGV4cHIgIiRhY19maWxlIiA6ICcuKlwuXCguKlwpJ2AKKy0gICAgICAgYnJlYWs7OworLSAgZXNhYworLWRvbmUKKysgIGNhdCA+IGNvbmZ0ZXN0LmMgPDxFT0YKKysjaWZkZWYgX19HTlVDX18KKysgIHllczsKKysjZW5kaWYKKytFT0YKKytpZiB7IGFjX3RyeT0nJHtDQy1jY30gLUUgY29uZnRlc3QuYyc7IHsgKGV2YWwgZWNobyBjb25maWd1cmU6ODE4OiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfTsgfSB8IGVncmVwIHllcyA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKysgIGFjX2N2X3Byb2dfZ2NjPXllcworIGVsc2UKKy0gIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorLQorLXsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IGNhbm5vdCBjb21wdXRlIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXM6IGNhbm5vdCBjb21waWxlCistU2VlIFxgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscy4iID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6IGNhbm5vdCBjb21wdXRlIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXM6IGNhbm5vdCBjb21waWxlCistU2VlIFxgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscy4iID4mMjt9CistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CisrICBhY19jdl9wcm9nX2djYz1ubworIGZpCistCistcm0gLWYgY29uZnRlc3QuJGFjX2N2X29iamV4dCBjb25mdGVzdC4kYWNfZXh0CisgZmkKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3Zfb2JqZXh0IiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfY3Zfb2JqZXh0IiA+JjYKKy1PQkpFWFQ9JGFjX2N2X29iamV4dAorLWFjX29iamV4dD0kT0JKRVhUCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlciIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9jX2NvbXBpbGVyX2dudStzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKy1lbHNlCistICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyAKKy1pbnQKKy1tYWluICgpCisteworLSNpZm5kZWYgX19HTlVDX18KKy0gICAgICAgY2hva2UgbWUKKy0jZW5kaWYKKytlY2hvICIkYWNfdCIiJGFjX2N2X3Byb2dfZ2NjIiAxPiY2CisgCistICA7CistICByZXR1cm4gMDsKKy19CistX0FDRU9GCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKy0gICAgICAgICB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworLSAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKy0gIChldmFsICRhY190cnkpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKy0gIGFjX2NvbXBpbGVyX2dudT15ZXMKKytpZiB0ZXN0ICRhY19jdl9wcm9nX2djYyA9IHllczsgdGhlbgorKyAgR0NDPXllcworIGVsc2UKKy0gIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorLQorLWFjX2NvbXBpbGVyX2dudT1ubworKyAgR0NDPQorIGZpCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CistYWNfY3ZfY19jb21waWxlcl9nbnU9JGFjX2NvbXBpbGVyX2dudQorIAorLWZpCistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X2NfY29tcGlsZXJfZ251IiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfY3ZfY19jb21waWxlcl9nbnUiID4mNgorLUdDQz1gdGVzdCAkYWNfY29tcGlsZXJfZ251ID0geWVzICYmIGVjaG8geWVzYAorLWFjX3Rlc3RfQ0ZMQUdTPSR7Q0ZMQUdTK3NldH0KKy1hY19zYXZlX0NGTEFHUz0kQ0ZMQUdTCistQ0ZMQUdTPSItZyIKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgd2hldGhlciAkQ0MgYWNjZXB0cyAtZyIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyB3aGV0aGVyICRDQyBhY2NlcHRzIC1nLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19jY19nK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorK2FjX3Rlc3RfQ0ZMQUdTPSIke0NGTEFHUytzZXR9IgorK2FjX3NhdmVfQ0ZMQUdTPSIkQ0ZMQUdTIgorK0NGTEFHUz0KKytlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyICR7Q0MtY2N9IGFjY2VwdHMgLWciIi4uLiAkYWNfYyIgMT4mNgorK2VjaG8gImNvbmZpZ3VyZTo4Mzc6IGNoZWNraW5nIHdoZXRoZXIgJHtDQy1jY30gYWNjZXB0cyAtZyIgPiY1CisraWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3Byb2dfY2NfZycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisrICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKy0gIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworLQorLWludAorLW1haW4gKCkKKy17CistCistICA7CistICByZXR1cm4gMDsKKy19CistX0FDRU9GCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKy0gICAgICAgICB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworLSAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKy0gIChldmFsICRhY190cnkpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKysgIGVjaG8gJ3ZvaWQgZigpe30nID4gY29uZnRlc3QuYworK2lmIHRlc3QgLXogImAke0NDLWNjfSAtZyAtYyBjb25mdGVzdC5jIDI+JjFgIjsgdGhlbgorICAgYWNfY3ZfcHJvZ19jY19nPXllcworIGVsc2UKKy0gIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorKyAgYWNfY3ZfcHJvZ19jY19nPW5vCisrZmkKKytybSAtZiBjb25mdGVzdCoKKyAKKy1hY19jdl9wcm9nX2NjX2c9bm8KKyBmaQorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorLWZpCistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X3Byb2dfY2NfZyIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2N2X3Byb2dfY2NfZyIgPiY2CisrCisrZWNobyAiJGFjX3QiIiRhY19jdl9wcm9nX2NjX2ciIDE+JjYKKyBpZiB0ZXN0ICIkYWNfdGVzdF9DRkxBR1MiID0gc2V0OyB0aGVuCistICBDRkxBR1M9JGFjX3NhdmVfQ0ZMQUdTCisrICBDRkxBR1M9IiRhY19zYXZlX0NGTEFHUyIKKyBlbGlmIHRlc3QgJGFjX2N2X3Byb2dfY2NfZyA9IHllczsgdGhlbgorICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KKyAgICAgQ0ZMQUdTPSItZyAtTzIiCitAQCAtMjAyOCwzMDQgKzg2MywzNyBAQAorICAgICBDRkxBR1M9CisgICBmaQorIGZpCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkQ0Mgb3B0aW9uIHRvIGFjY2VwdCBBTlNJIEMiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRDQyBvcHRpb24gdG8gYWNjZXB0IEFOU0kgQy4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfY2Nfc3RkYytzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKy1lbHNlCistICBhY19jdl9wcm9nX2NjX3N0ZGM9bm8KKy1hY19zYXZlX0NDPSRDQworLWNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworLSNpbmNsdWRlIDxzdGRhcmcuaD4KKy0jaW5jbHVkZSA8c3RkaW8uaD4KKy0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+CistI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CistLyogTW9zdCBvZiB0aGUgZm9sbG93aW5nIHRlc3RzIGFyZSBzdG9sZW4gZnJvbSBSQ1MgNS43J3Mgc3JjL2NvbmYuc2guICAqLworLXN0cnVjdCBidWYgeyBpbnQgeDsgfTsKKy1GSUxFICogKCpyY3NvcGVuKSAoc3RydWN0IGJ1ZiAqLCBzdHJ1Y3Qgc3RhdCAqLCBpbnQpOworLXN0YXRpYyBjaGFyICplIChwLCBpKQorLSAgICAgY2hhciAqKnA7CistICAgICBpbnQgaTsKKy17CistICByZXR1cm4gcFtpXTsKKy19Cistc3RhdGljIGNoYXIgKmYgKGNoYXIgKiAoKmcpIChjaGFyICoqLCBpbnQpLCBjaGFyICoqcCwgLi4uKQorLXsKKy0gIGNoYXIgKnM7CistICB2YV9saXN0IHY7CistICB2YV9zdGFydCAodixwKTsKKy0gIHMgPSBnIChwLCB2YV9hcmcgKHYsaW50KSk7CistICB2YV9lbmQgKHYpOworLSAgcmV0dXJuIHM7CistfQorLWludCB0ZXN0IChpbnQgaSwgZG91YmxlIHgpOworLXN0cnVjdCBzMSB7aW50ICgqZikgKGludCBhKTt9OworLXN0cnVjdCBzMiB7aW50ICgqZikgKGRvdWJsZSBhKTt9OworLWludCBwYWlybmFtZXMgKGludCwgY2hhciAqKiwgRklMRSAqKCopKHN0cnVjdCBidWYgKiwgc3RydWN0IHN0YXQgKiwgaW50KSwgaW50LCBpbnQpOworLWludCBhcmdjOworLWNoYXIgKiphcmd2OworLWludAorLW1haW4gKCkKKy17CistcmV0dXJuIGYgKGUsIGFyZ3YsIDApICE9IGFyZ3ZbMF0gIHx8ICBmIChlLCBhcmd2LCAxKSAhPSBhcmd2WzFdOworLSAgOworLSAgcmV0dXJuIDA7CistfQorLV9BQ0VPRgorLSMgRG9uJ3QgdHJ5IGdjYyAtYW5zaTsgdGhhdCB0dXJucyBvZmYgdXNlZnVsIGV4dGVuc2lvbnMgYW5kCistIyBicmVha3Mgc29tZSBzeXN0ZW1zJyBoZWFkZXIgZmlsZXMuCistIyBBSVgJCQktcWxhbmdsdmw9YW5zaQorLSMgVWx0cml4IGFuZCBPU0YvMQktc3RkMQorLSMgSFAtVVggMTAuMjAgYW5kIGxhdGVyCS1BZQorLSMgSFAtVVggb2xkZXIgdmVyc2lvbnMJLUFhIC1EX0hQVVhfU09VUkNFCistIyBTVlI0CQkJLVhjIC1EX19FWFRFTlNJT05TX18KKy1mb3IgYWNfYXJnIGluICIiIC1xbGFuZ2x2bD1hbnNpIC1zdGQxIC1BZSAiLUFhIC1EX0hQVVhfU09VUkNFIiAiLVhjIC1EX19FWFRFTlNJT05TX18iCistZG8KKy0gIENDPSIkYWNfc2F2ZV9DQyAkYWNfYXJnIgorLSAgcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKy0gICAgICAgICB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworLSAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKy0gIChldmFsICRhY190cnkpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKy0gIGFjX2N2X3Byb2dfY2Nfc3RkYz0kYWNfYXJnCistYnJlYWsKKy1lbHNlCistICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKyAKKy1maQorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQKKy1kb25lCistcm0gLWYgY29uZnRlc3QuJGFjX2V4dCBjb25mdGVzdC4kYWNfb2JqZXh0CistQ0M9JGFjX3NhdmVfQ0MKKy0KKy1maQorLQorLWNhc2UgIngkYWNfY3ZfcHJvZ19jY19zdGRjIiBpbgorLSAgeHx4bm8pCistICAgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vbmUgbmVlZGVkIiA+JjUKKy1lY2hvICIke0VDSE9fVH1ub25lIG5lZWRlZCIgPiY2IDs7CistICAqKQorLSAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3ZfcHJvZ19jY19zdGRjIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfY3ZfcHJvZ19jY19zdGRjIiA+JjYKKy0gICAgQ0M9IiRDQyAkYWNfY3ZfcHJvZ19jY19zdGRjIiA7OworLWVzYWMKKy0KKy0jIFNvbWUgcGVvcGxlIHVzZSBhIEMrKyBjb21waWxlciB0byBjb21waWxlIEMuICBTaW5jZSB3ZSB1c2UgYGV4aXQnLAorLSMgaW4gQysrIHdlIG5lZWQgdG8gZGVjbGFyZSBpdC4gIEluIGNhc2Ugc29tZW9uZSB1c2VzIHRoZSBzYW1lIGNvbXBpbGVyCistIyBmb3IgYm90aCBjb21waWxpbmcgQyBhbmQgQysrIHdlIG5lZWQgdG8gaGF2ZSB0aGUgQysrIGNvbXBpbGVyIGRlY2lkZQorLSMgdGhlIGRlY2xhcmF0aW9uIG9mIGV4aXQsIHNpbmNlIGl0J3MgdGhlIG1vc3QgZGVtYW5kaW5nIGVudmlyb25tZW50LgorLWNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNpZm5kZWYgX19jcGx1c3BsdXMKKy0gIGNob2tlIG1lCistI2VuZGlmCistX0FDRU9GCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKy0gICAgICAgICB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworLSAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKy0gIChldmFsICRhY190cnkpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKy0gIGZvciBhY19kZWNsYXJhdGlvbiBpbiBcCistICAgJydcCistICAgJyNpbmNsdWRlIDxzdGRsaWIuaD4nIFwKKy0gICAnZXh0ZXJuICJDIiB2b2lkIHN0ZDo6ZXhpdCAoaW50KSB0aHJvdyAoKTsgdXNpbmcgc3RkOjpleGl0OycgXAorLSAgICdleHRlcm4gIkMiIHZvaWQgc3RkOjpleGl0IChpbnQpOyB1c2luZyBzdGQ6OmV4aXQ7JyBcCistICAgJ2V4dGVybiAiQyIgdm9pZCBleGl0IChpbnQpIHRocm93ICgpOycgXAorLSAgICdleHRlcm4gIkMiIHZvaWQgZXhpdCAoaW50KTsnIFwKKy0gICAndm9pZCBleGl0IChpbnQpOycKKy1kbworLSAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCistI2luY2x1ZGUgPHN0ZGxpYi5oPgorLSRhY19kZWNsYXJhdGlvbgorLWludAorLW1haW4gKCkKKy17CistZXhpdCAoNDIpOworLSAgOworLSAgcmV0dXJuIDA7CistfQorLV9BQ0VPRgorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKy0gIChldmFsICRhY19jb21waWxlKSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCistICAgICAgICAgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKy0gIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CistICAoZXZhbCAkYWNfdHJ5KSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCistICA6CisrIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJyYW5saWIiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorK3NldCBkdW1teSByYW5saWI7IGFjX3dvcmQ9JDIKKytlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQiIi4uLiAkYWNfYyIgMT4mNgorK2VjaG8gImNvbmZpZ3VyZTo4NzE6IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CisraWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3Byb2dfUkFOTElCJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKysgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorLSAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CistCistY29udGludWUKKy1maQorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorLSAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCistJGFjX2RlY2xhcmF0aW9uCistaW50CistbWFpbiAoKQorLXsKKy1leGl0ICg0Mik7CistICA7CistICByZXR1cm4gMDsKKy19CistX0FDRU9GCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKy0gICAgICAgICB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworLSAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKy0gIChldmFsICRhY190cnkpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKy0gIGJyZWFrCistZWxzZQorLSAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CistCistZmkKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKy1kb25lCistcm0gLWYgY29uZnRlc3QqCistaWYgdGVzdCAtbiAiJGFjX2RlY2xhcmF0aW9uIjsgdGhlbgorLSAgZWNobyAnI2lmZGVmIF9fY3BsdXNwbHVzJyA+PmNvbmZkZWZzLmgKKy0gIGVjaG8gJGFjX2RlY2xhcmF0aW9uICAgICAgPj5jb25mZGVmcy5oCistICBlY2hvICcjZW5kaWYnICAgICAgICAgICAgID4+Y29uZmRlZnMuaAorLWZpCistCistZWxzZQorLSAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CistCistZmkKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKy1hY19leHQ9YworLWFjX2NwcD0nJENQUCAkQ1BQRkxBR1MnCistYWNfY29tcGlsZT0nJENDIC1jICRDRkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgPiY1JworLWFjX2xpbms9JyRDQyAtbyBjb25mdGVzdCRhY19leGVleHQgJENGTEFHUyAkQ1BQRkxBR1MgJExERkxBR1MgY29uZnRlc3QuJGFjX2V4dCAkTElCUyA+JjUnCistYWNfY29tcGlsZXJfZ251PSRhY19jdl9jX2NvbXBpbGVyX2dudQorLQorLWlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKy0gICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1yYW5saWIiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorLXNldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fXJhbmxpYjsgYWNfd29yZD0kMgorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19SQU5MSUIrc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CistZWxzZQorICAgaWYgdGVzdCAtbiAiJFJBTkxJQiI7IHRoZW4KKyAgIGFjX2N2X3Byb2dfUkFOTElCPSIkUkFOTElCIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KKyBlbHNlCistYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorLWZvciBhc19kaXIgaW4gJFBBVEgKKy1kbworLSAgSUZTPSRhc19zYXZlX0lGUworLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKy0gIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworLSAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKy0gICAgYWNfY3ZfcHJvZ19SQU5MSUI9IiR7YWNfdG9vbF9wcmVmaXh9cmFubGliIgorLSAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CistICAgIGJyZWFrIDIKKy0gIGZpCistZG9uZQorLWRvbmUKKy0KKysgIElGUz0iJHtJRlM9IAl9IjsgYWNfc2F2ZV9pZnM9IiRJRlMiOyBJRlM9IjoiCisrICBhY19kdW1teT0iJFBBVEgiCisrICBmb3IgYWNfZGlyIGluICRhY19kdW1teTsgZG8KKysgICAgdGVzdCAteiAiJGFjX2RpciIgJiYgYWNfZGlyPS4KKysgICAgaWYgdGVzdCAtZiAkYWNfZGlyLyRhY193b3JkOyB0aGVuCisrICAgICAgYWNfY3ZfcHJvZ19SQU5MSUI9InJhbmxpYiIKKysgICAgICBicmVhaworKyAgICBmaQorKyAgZG9uZQorKyAgSUZTPSIkYWNfc2F2ZV9pZnMiCisrICB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19SQU5MSUIiICYmIGFjX2N2X3Byb2dfUkFOTElCPSI6IgorIGZpCisgZmkKKy1SQU5MSUI9JGFjX2N2X3Byb2dfUkFOTElCCisrUkFOTElCPSIkYWNfY3ZfcHJvZ19SQU5MSUIiCisgaWYgdGVzdCAtbiAiJFJBTkxJQiI7IHRoZW4KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRSQU5MSUIiID4mNQorLWVjaG8gIiR7RUNIT19UfSRSQU5MSUIiID4mNgorKyAgZWNobyAiJGFjX3QiIiRSQU5MSUIiIDE+JjYKKyBlbHNlCistICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CistZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorKyAgZWNobyAiJGFjX3QiIm5vIiAxPiY2CisgZmkKKyAKKy1maQorLWlmIHRlc3QgLXogIiRhY19jdl9wcm9nX1JBTkxJQiI7IHRoZW4KKy0gIGFjX2N0X1JBTkxJQj0kUkFOTElCCistICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgInJhbmxpYiIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCistc2V0IGR1bW15IHJhbmxpYjsgYWNfd29yZD0kMgorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9SQU5MSUIrc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CistZWxzZQorLSAgaWYgdGVzdCAtbiAiJGFjX2N0X1JBTkxJQiI7IHRoZW4KKy0gIGFjX2N2X3Byb2dfYWNfY3RfUkFOTElCPSIkYWNfY3RfUkFOTElCIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KKy1lbHNlCistYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorLWZvciBhc19kaXIgaW4gJFBBVEgKKy1kbworLSAgSUZTPSRhc19zYXZlX0lGUworLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKy0gIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworLSAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKy0gICAgYWNfY3ZfcHJvZ19hY19jdF9SQU5MSUI9InJhbmxpYiIKKy0gICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorLSAgICBicmVhayAyCistICBmaQorLWRvbmUKKy1kb25lCistCistICB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19hY19jdF9SQU5MSUIiICYmIGFjX2N2X3Byb2dfYWNfY3RfUkFOTElCPSI6IgorLWZpCistZmkKKy1hY19jdF9SQU5MSUI9JGFjX2N2X3Byb2dfYWNfY3RfUkFOTElCCistaWYgdGVzdCAtbiAiJGFjX2N0X1JBTkxJQiI7IHRoZW4KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdF9SQU5MSUIiID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19jdF9SQU5MSUIiID4mNgorLWVsc2UKKy0gIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKKy1lY2hvICIke0VDSE9fVH1ubyIgPiY2CistZmkKKy0KKy0gIFJBTkxJQj0kYWNfY3RfUkFOTElCCistZWxzZQorLSAgUkFOTElCPSIkYWNfY3ZfcHJvZ19SQU5MSUIiCistZmkKKy0KKyAjIEZpbmQgYSBnb29kIGluc3RhbGwgcHJvZ3JhbS4gIFdlIHByZWZlciBhIEMgcHJvZ3JhbSAoZmFzdGVyKSwKKyAjIHNvIG9uZSBzY3JpcHQgaXMgYXMgZ29vZCBhcyBhbm90aGVyLiAgQnV0IGF2b2lkIHRoZSBicm9rZW4gb3IKKyAjIGluY29tcGF0aWJsZSB2ZXJzaW9uczoKK0BAIC0yMzMzLDMwNiArOTAxLDE1OCBAQAorICMgU3VuT1MgL3Vzci9ldGMvaW5zdGFsbAorICMgSVJJWCAvc2Jpbi9pbnN0YWxsCisgIyBBSVggL2Jpbi9pbnN0YWxsCistIyBBbWlnYU9TIC9DL2luc3RhbGwsIHdoaWNoIGluc3RhbGxzIGJvb3RibG9ja3Mgb24gZmxvcHB5IGRpc2NzCisgIyBBSVggNCAvdXNyL2Jpbi9pbnN0YWxsYnNkLCB3aGljaCBkb2Vzbid0IHdvcmsgd2l0aG91dCBhIC1nIGZsYWcKKyAjIEFGUyAvdXNyL2Fmc3dzL2Jpbi9pbnN0YWxsLCB3aGljaCBtaXNoYW5kbGVzIG5vbmV4aXN0ZW50IGFyZ3MKKyAjIFNWUjQgL3Vzci91Y2IvaW5zdGFsbCwgd2hpY2ggdHJpZXMgdG8gdXNlIHRoZSBub25leGlzdGVudCBncm91cCAic3RhZmYiCisgIyAuL2luc3RhbGwsIHdoaWNoIGNhbiBiZSBlcnJvbmVvdXNseSBjcmVhdGVkIGJ5IG1ha2UgZnJvbSAuL2luc3RhbGwuc2guCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAkRUNIT19DIiA+JjYKKytlY2hvICRhY19uICJjaGVja2luZyBmb3IgYSBCU0QgY29tcGF0aWJsZSBpbnN0YWxsIiIuLi4gJGFjX2MiIDE+JjYKKytlY2hvICJjb25maWd1cmU6OTEwOiBjaGVja2luZyBmb3IgYSBCU0QgY29tcGF0aWJsZSBpbnN0YWxsIiA+JjUKKyBpZiB0ZXN0IC16ICIkSU5TVEFMTCI7IHRoZW4KKy1pZiB0ZXN0ICIke2FjX2N2X3BhdGhfaW5zdGFsbCtzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKytpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfcGF0aF9pbnN0YWxsJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKysgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorLSAgYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorLWZvciBhc19kaXIgaW4gJFBBVEgKKy1kbworLSAgSUZTPSRhc19zYXZlX0lGUworLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKy0gICMgQWNjb3VudCBmb3IgcGVvcGxlIHdobyBwdXQgdHJhaWxpbmcgc2xhc2hlcyBpbiBQQVRIIGVsZW1lbnRzLgorLWNhc2UgJGFzX2Rpci8gaW4KKy0gIC4vIHwgLi8vIHwgL2NDLyogfCBcCistICAvZXRjLyogfCAvdXNyL3NiaW4vKiB8IC91c3IvZXRjLyogfCAvc2Jpbi8qIHwgL3Vzci9hZnN3cy9iaW4vKiB8IFwKKy0gIC91c3IvdWNiLyogKSA7OworLSAgKikKKy0gICAgIyBPU0YxIGFuZCBTQ08gT0RUIDMuMCBoYXZlIHRoZWlyIG93biBuYW1lcyBmb3IgaW5zdGFsbC4KKy0gICAgIyBEb24ndCB1c2UgaW5zdGFsbGJzZCBmcm9tIE9TRiBzaW5jZSBpdCBpbnN0YWxscyBzdHVmZiBhcyByb290CistICAgICMgYnkgZGVmYXVsdC4KKy0gICAgZm9yIGFjX3Byb2cgaW4gZ2luc3RhbGwgc2NvaW5zdCBpbnN0YWxsOyBkbworLSAgICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworLSAgICAgICAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfcHJvZyRhY19leGVjX2V4dCI7IHRoZW4KKy0gICAgICAgICAgaWYgdGVzdCAkYWNfcHJvZyA9IGluc3RhbGwgJiYKKy0gICAgICAgICAgICBncmVwIGRzcG1zZyAiJGFzX2Rpci8kYWNfcHJvZyRhY19leGVjX2V4dCIgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCistICAgICAgICAgICAgIyBBSVggaW5zdGFsbC4gIEl0IGhhcyBhbiBpbmNvbXBhdGlibGUgY2FsbGluZyBjb252ZW50aW9uLgorLSAgICAgICAgICAgIDoKKy0gICAgICAgICAgZWxpZiB0ZXN0ICRhY19wcm9nID0gaW5zdGFsbCAmJgorLSAgICAgICAgICAgIGdyZXAgcHdwbHVzICIkYXNfZGlyLyRhY19wcm9nJGFjX2V4ZWNfZXh0IiA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKy0gICAgICAgICAgICAjIHByb2dyYW0tc3BlY2lmaWMgaW5zdGFsbCBzY3JpcHQgdXNlZCBieSBIUCBwd3BsdXMtLWRvbid0IHVzZS4KKy0gICAgICAgICAgICA6CistICAgICAgICAgIGVsc2UKKy0gICAgICAgICAgICBhY19jdl9wYXRoX2luc3RhbGw9IiRhc19kaXIvJGFjX3Byb2ckYWNfZXhlY19leHQgLWMiCistICAgICAgICAgICAgYnJlYWsgMworLSAgICAgICAgICBmaQorLSAgICAgICAgZmkKKysgICAgSUZTPSIke0lGUz0gCX0iOyBhY19zYXZlX0lGUz0iJElGUyI7IElGUz0iOiIKKysgIGZvciBhY19kaXIgaW4gJFBBVEg7IGRvCisrICAgICMgQWNjb3VudCBmb3IgcGVvcGxlIHdobyBwdXQgdHJhaWxpbmcgc2xhc2hlcyBpbiBQQVRIIGVsZW1lbnRzLgorKyAgICBjYXNlICIkYWNfZGlyLyIgaW4KKysgICAgL3wuL3wuLy98L2V0Yy8qfC91c3Ivc2Jpbi8qfC91c3IvZXRjLyp8L3NiaW4vKnwvdXNyL2Fmc3dzL2Jpbi8qfC91c3IvdWNiLyopIDs7CisrICAgICopCisrICAgICAgIyBPU0YxIGFuZCBTQ08gT0RUIDMuMCBoYXZlIHRoZWlyIG93biBuYW1lcyBmb3IgaW5zdGFsbC4KKysgICAgICAjIERvbid0IHVzZSBpbnN0YWxsYnNkIGZyb20gT1NGIHNpbmNlIGl0IGluc3RhbGxzIHN0dWZmIGFzIHJvb3QKKysgICAgICAjIGJ5IGRlZmF1bHQuCisrICAgICAgZm9yIGFjX3Byb2cgaW4gZ2luc3RhbGwgc2NvaW5zdCBpbnN0YWxsOyBkbworKyAgICAgICAgaWYgdGVzdCAtZiAkYWNfZGlyLyRhY19wcm9nOyB0aGVuCisrCSAgaWYgdGVzdCAkYWNfcHJvZyA9IGluc3RhbGwgJiYKKysgICAgICAgICAgICBncmVwIGRzcG1zZyAkYWNfZGlyLyRhY19wcm9nID4vZGV2L251bGwgMj4mMTsgdGhlbgorKwkgICAgIyBBSVggaW5zdGFsbC4gIEl0IGhhcyBhbiBpbmNvbXBhdGlibGUgY2FsbGluZyBjb252ZW50aW9uLgorKwkgICAgOgorKwkgIGVsc2UKKysJICAgIGFjX2N2X3BhdGhfaW5zdGFsbD0iJGFjX2Rpci8kYWNfcHJvZyAtYyIKKysJICAgIGJyZWFrIDIKKysJICBmaQorKwlmaQorICAgICAgIGRvbmUKKy0gICAgZG9uZQorLSAgICA7OworLWVzYWMKKy1kb25lCisrICAgICAgOzsKKysgICAgZXNhYworKyAgZG9uZQorKyAgSUZTPSIkYWNfc2F2ZV9JRlMiCisgCistCisgZmkKKyAgIGlmIHRlc3QgIiR7YWNfY3ZfcGF0aF9pbnN0YWxsK3NldH0iID0gc2V0OyB0aGVuCistICAgIElOU1RBTEw9JGFjX2N2X3BhdGhfaW5zdGFsbAorKyAgICBJTlNUQUxMPSIkYWNfY3ZfcGF0aF9pbnN0YWxsIgorICAgZWxzZQorICAgICAjIEFzIGEgbGFzdCByZXNvcnQsIHVzZSB0aGUgc2xvdyBzaGVsbCBzY3JpcHQuICBXZSBkb24ndCBjYWNoZSBhCisgICAgICMgcGF0aCBmb3IgSU5TVEFMTCB3aXRoaW4gYSBzb3VyY2UgZGlyZWN0b3J5LCBiZWNhdXNlIHRoYXQgd2lsbAorICAgICAjIGJyZWFrIG90aGVyIHBhY2thZ2VzIHVzaW5nIHRoZSBjYWNoZSBpZiB0aGF0IGRpcmVjdG9yeSBpcworICAgICAjIHJlbW92ZWQsIG9yIGlmIHRoZSBwYXRoIGlzIHJlbGF0aXZlLgorLSAgICBJTlNUQUxMPSRhY19pbnN0YWxsX3NoCisrICAgIElOU1RBTEw9IiRhY19pbnN0YWxsX3NoIgorICAgZmkKKyBmaQorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRJTlNUQUxMIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kSU5TVEFMTCIgPiY2CisrZWNobyAiJGFjX3QiIiRJTlNUQUxMIiAxPiY2CisgCisgIyBVc2UgdGVzdCAteiBiZWNhdXNlIFN1bk9TNCBzaCBtaXNoYW5kbGVzIGJyYWNlcyBpbiAke3Zhci12YWx9LgorICMgSXQgdGhpbmtzIHRoZSBmaXJzdCBjbG9zZSBicmFjZSBlbmRzIHRoZSB2YXJpYWJsZSBzdWJzdGl0dXRpb24uCisgdGVzdCAteiAiJElOU1RBTExfUFJPR1JBTSIgJiYgSU5TVEFMTF9QUk9HUkFNPScke0lOU1RBTEx9JworIAorLXRlc3QgLXogIiRJTlNUQUxMX1NDUklQVCIgJiYgSU5TVEFMTF9TQ1JJUFQ9JyR7SU5TVEFMTH0nCisrdGVzdCAteiAiJElOU1RBTExfU0NSSVBUIiAmJiBJTlNUQUxMX1NDUklQVD0nJHtJTlNUQUxMX1BST0dSQU19JworIAorIHRlc3QgLXogIiRJTlNUQUxMX0RBVEEiICYmIElOU1RBTExfREFUQT0nJHtJTlNUQUxMfSAtbSA2NDQnCisgCistaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgorLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fWFyIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KKytpZiB0ZXN0ICRob3N0ICE9ICRidWlsZDsgdGhlbgorKyAgYWNfdG9vbF9wcmVmaXg9JHtob3N0X2FsaWFzfS0KKytlbHNlCisrICBhY190b29sX3ByZWZpeD0KKytmaQorKworKyMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1hciIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCisgc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9YXI7IGFjX3dvcmQ9JDIKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfQVIrc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CisrZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY193b3JkIiIuLi4gJGFjX2MiIDE+JjYKKytlY2hvICJjb25maWd1cmU6OTcxOiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9wcm9nX0FSJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKysgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgaWYgdGVzdCAtbiAiJEFSIjsgdGhlbgorICAgYWNfY3ZfcHJvZ19BUj0iJEFSIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KKyBlbHNlCistYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorLWZvciBhc19kaXIgaW4gJFBBVEgKKy1kbworLSAgSUZTPSRhc19zYXZlX0lGUworLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKy0gIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworLSAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKy0gICAgYWNfY3ZfcHJvZ19BUj0iJHthY190b29sX3ByZWZpeH1hciIKKy0gICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorLSAgICBicmVhayAyCistICBmaQorLWRvbmUKKy1kb25lCistCisrICBJRlM9IiR7SUZTPSAJfSI7IGFjX3NhdmVfaWZzPSIkSUZTIjsgSUZTPSI6IgorKyAgYWNfZHVtbXk9IiRQQVRIIgorKyAgZm9yIGFjX2RpciBpbiAkYWNfZHVtbXk7IGRvCisrICAgIHRlc3QgLXogIiRhY19kaXIiICYmIGFjX2Rpcj0uCisrICAgIGlmIHRlc3QgLWYgJGFjX2Rpci8kYWNfd29yZDsgdGhlbgorKyAgICAgIGFjX2N2X3Byb2dfQVI9IiR7YWNfdG9vbF9wcmVmaXh9YXIiCisrICAgICAgYnJlYWsKKysgICAgZmkKKysgIGRvbmUKKysgIElGUz0iJGFjX3NhdmVfaWZzIgorKyAgdGVzdCAteiAiJGFjX2N2X3Byb2dfQVIiICYmIGFjX2N2X3Byb2dfQVI9ImFyIgorIGZpCisgZmkKKy1BUj0kYWNfY3ZfcHJvZ19BUgorK0FSPSIkYWNfY3ZfcHJvZ19BUiIKKyBpZiB0ZXN0IC1uICIkQVIiOyB0aGVuCistICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkQVIiID4mNQorLWVjaG8gIiR7RUNIT19UfSRBUiIgPiY2CisrICBlY2hvICIkYWNfdCIiJEFSIiAxPiY2CisgZWxzZQorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorLWVjaG8gIiR7RUNIT19UfW5vIiA+JjYKKysgIGVjaG8gIiRhY190IiJubyIgMT4mNgorIGZpCisgCistZmkKKy1pZiB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19BUiI7IHRoZW4KKy0gIGFjX2N0X0FSPSRBUgorLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJhciIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCistc2V0IGR1bW15IGFyOyBhY193b3JkPSQyCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0X0FSK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorLWVsc2UKKy0gIGlmIHRlc3QgLW4gIiRhY19jdF9BUiI7IHRoZW4KKy0gIGFjX2N2X3Byb2dfYWNfY3RfQVI9IiRhY19jdF9BUiIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCistZWxzZQorLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKy1mb3IgYXNfZGlyIGluICRQQVRICistZG8KKy0gIElGUz0kYXNfc2F2ZV9JRlMKKy0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCistICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKy0gIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCistICAgIGFjX2N2X3Byb2dfYWNfY3RfQVI9ImFyIgorLSAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CistICAgIGJyZWFrIDIKKy0gIGZpCistZG9uZQorLWRvbmUKKyAKKy1maQorLWZpCistYWNfY3RfQVI9JGFjX2N2X3Byb2dfYWNfY3RfQVIKKy1pZiB0ZXN0IC1uICIkYWNfY3RfQVIiOyB0aGVuCistICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3RfQVIiID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19jdF9BUiIgPiY2CistZWxzZQorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorLWVjaG8gIiR7RUNIT19UfW5vIiA+JjYKKy1maQorIAorLSAgQVI9JGFjX2N0X0FSCisrZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhlciBieXRlIG9yZGVyaW5nIGlzIGJpZ2VuZGlhbiIiLi4uICRhY19jIiAxPiY2CisrZWNobyAiY29uZmlndXJlOjEwMDE6IGNoZWNraW5nIHdoZXRoZXIgYnl0ZSBvcmRlcmluZyBpcyBiaWdlbmRpYW4iID4mNQorK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9jX2JpZ2VuZGlhbicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisrICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKy0gIEFSPSIkYWNfY3ZfcHJvZ19BUiIKKy1maQorLQorLQorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyB3aGV0aGVyIGJ5dGUgb3JkZXJpbmcgaXMgYmlnZW5kaWFuIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIHdoZXRoZXIgYnl0ZSBvcmRlcmluZyBpcyBiaWdlbmRpYW4uLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9jX2JpZ2VuZGlhbitzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKy1lbHNlCistICAjIFNlZSBpZiBzeXMvcGFyYW0uaCBkZWZpbmVzIHRoZSBCWVRFX09SREVSIG1hY3JvLgorLWNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworKyAgYWNfY3ZfY19iaWdlbmRpYW49dW5rbm93bgorKyMgU2VlIGlmIHN5cy9wYXJhbS5oIGRlZmluZXMgdGhlIEJZVEVfT1JERVIgbWFjcm8uCisrY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorKyNsaW5lIDEwMDggImNvbmZpZ3VyZSIKKysjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgorK2ludCBtYWluKCkgeworIAorLWludAorLW1haW4gKCkKKy17CisgI2lmICFCWVRFX09SREVSIHx8ICFCSUdfRU5ESUFOIHx8ICFMSVRUTEVfRU5ESUFOCisgIGJvZ3VzIGVuZGlhbiBtYWNyb3MKKyAjZW5kaWYKKy0KKy0gIDsKKy0gIHJldHVybiAwOworLX0KKy1fQUNFT0YKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CistICAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorLSAgICAgICAgIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQnCistICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorLSAgKGV2YWwgJGFjX3RyeSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorKzsgcmV0dXJuIDA7IH0KKytFT0YKKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEwMTk6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKysgIHJtIC1yZiBjb25mdGVzdCoKKyAgICMgSXQgZG9lczsgbm93IHNlZSB3aGV0aGVyIGl0IGRlZmluZWQgdG8gQklHX0VORElBTiBvciBub3QuCistY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCisrY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorKyNsaW5lIDEwMjMgImNvbmZpZ3VyZSIKKysjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgorK2ludCBtYWluKCkgeworIAorLWludAorLW1haW4gKCkKKy17CisgI2lmIEJZVEVfT1JERVIgIT0gQklHX0VORElBTgorICBub3QgYmlnIGVuZGlhbgorICNlbmRpZgorLQorLSAgOworLSAgcmV0dXJuIDA7CistfQorLV9BQ0VPRgorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKy0gIChldmFsICRhY19jb21waWxlKSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCistICAgICAgICAgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKy0gIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CistICAoZXZhbCAkYWNfdHJ5KSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCisrOyByZXR1cm4gMDsgfQorK0VPRgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTAzNDogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorKyAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY3ZfY19iaWdlbmRpYW49eWVzCisgZWxzZQorLSAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CistCistYWNfY3ZfY19iaWdlbmRpYW49bm8KKysgIGVjaG8gImNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CisrICBjYXQgY29uZnRlc3QuJGFjX2V4dCA+JjUKKysgIHJtIC1yZiBjb25mdGVzdCoKKysgIGFjX2N2X2NfYmlnZW5kaWFuPW5vCisgZmkKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKytybSAtZiBjb25mdGVzdCoKKyBlbHNlCistICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKy0KKy0jIEl0IGRvZXMgbm90OyBjb21waWxlIGEgdGVzdCBwcm9ncmFtLgorLWlmIHRlc3QgIiRjcm9zc19jb21waWxpbmciID0geWVzOyB0aGVuCistICAjIHRyeSB0byBndWVzcyB0aGUgZW5kaWFubmVzcyBieSBncmVwcGluZyB2YWx1ZXMgaW50byBhbiBvYmplY3QgZmlsZQorLSAgYWNfY3ZfY19iaWdlbmRpYW49dW5rbm93bgorLSAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCistc2hvcnQgYXNjaWlfbW1bXSA9IHsgMHg0MjQ5LCAweDQ3NjUsIDB4NkU0NCwgMHg2OTYxLCAweDZFNTMsIDB4Nzk1MywgMCB9OworLXNob3J0IGFzY2lpX2lpW10gPSB7IDB4Njk0QywgMHg1NDU0LCAweDY1NkMsIDB4NkU0NSwgMHg2OTQ0LCAweDZFNjEsIDAgfTsKKy12b2lkIF9hc2NpaSAoKSB7IGNoYXIgKnMgPSAoY2hhciAqKSBhc2NpaV9tbTsgcyA9IChjaGFyICopIGFzY2lpX2lpOyB9Cistc2hvcnQgZWJjZGljX2lpW10gPSB7IDB4ODlEMywgMHhFM0UzLCAweDg1OTMsIDB4OTVDNSwgMHg4OUM0LCAweDk1ODEsIDAgfTsKKy1zaG9ydCBlYmNkaWNfbW1bXSA9IHsgMHhDMkM5LCAweEM3ODUsIDB4OTVDNCwgMHg4OTgxLCAweDk1RTIsIDB4QThFMiwgMCB9OworLXZvaWQgX2ViY2RpYyAoKSB7IGNoYXIgKnMgPSAoY2hhciAqKSBlYmNkaWNfbW07IHMgPSAoY2hhciAqKSBlYmNkaWNfaWk7IH0KKy1pbnQKKy1tYWluICgpCisteworLSBfYXNjaWkgKCk7IF9lYmNkaWMgKCk7CistICA7CistICByZXR1cm4gMDsKKy19CistX0FDRU9GCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKy0gICAgICAgICB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworLSAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKy0gIChldmFsICRhY190cnkpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKy0gIGlmIGdyZXAgQklHZW5EaWFuU3lTIGNvbmZ0ZXN0LiRhY19vYmpleHQgPi9kZXYvbnVsbCA7IHRoZW4KKy0gIGFjX2N2X2NfYmlnZW5kaWFuPXllcworKyAgZWNobyAiY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKysgIGNhdCBjb25mdGVzdC4kYWNfZXh0ID4mNQorIGZpCistaWYgZ3JlcCBMaVRUbGVFbkRpYW4gY29uZnRlc3QuJGFjX29iamV4dCA+L2Rldi9udWxsIDsgdGhlbgorLSAgaWYgdGVzdCAiJGFjX2N2X2NfYmlnZW5kaWFuIiA9IHVua25vd247IHRoZW4KKy0gICAgYWNfY3ZfY19iaWdlbmRpYW49bm8KKy0gIGVsc2UKKy0gICAgIyBmaW5kaW5nIGJvdGggc3RyaW5ncyBpcyB1bmxpa2VseSB0byBoYXBwZW4sIGJ1dCB3aG8ga25vd3M/CistICAgIGFjX2N2X2NfYmlnZW5kaWFuPXVua25vd24KKy0gIGZpCistZmkKKytybSAtZiBjb25mdGVzdCoKKytpZiB0ZXN0ICRhY19jdl9jX2JpZ2VuZGlhbiA9IHVua25vd247IHRoZW4KKytpZiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiA9IHllczsgdGhlbgorKyAgICB7IGVjaG8gImNvbmZpZ3VyZTogZXJyb3I6IGNhbiBub3QgcnVuIHRlc3QgcHJvZ3JhbSB3aGlsZSBjcm9zcyBjb21waWxpbmciIDE+JjI7IGV4aXQgMTsgfQorIGVsc2UKKy0gIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorLQorLWZpCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CistZWxzZQorLSAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCistaW50CistbWFpbiAoKQorLXsKKysgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKysjbGluZSAxMDU0ICJjb25maWd1cmUiCisrI2luY2x1ZGUgImNvbmZkZWZzLmgiCisrbWFpbiAoKSB7CisgICAvKiBBcmUgd2UgbGl0dGxlIG9yIGJpZyBlbmRpYW4/ICBGcm9tIEhhcmJpc29uJlN0ZWVsZS4gICovCisgICB1bmlvbgorICAgeworQEAgLTI2NDIsNTIgKzEwNjIsMzEgQEAKKyAgIHUubCA9IDE7CisgICBleGl0ICh1LmNbc2l6ZW9mIChsb25nKSAtIDFdID09IDEpOworIH0KKy1fQUNFT0YKKy1ybSAtZiBjb25mdGVzdCRhY19leGVleHQKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19saW5rXCIiKSA+JjUKKy0gIChldmFsICRhY19saW5rKSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9ICYmIHsgYWNfdHJ5PScuL2NvbmZ0ZXN0JGFjX2V4ZWV4dCcKKy0gIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CistICAoZXZhbCAkYWNfdHJ5KSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCisrRU9GCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDY3OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH0gJiYgKC4vY29uZnRlc3Q7IGV4aXQpIDI+L2Rldi9udWxsCisrdGhlbgorICAgYWNfY3ZfY19iaWdlbmRpYW49bm8KKyBlbHNlCistICBlY2hvICIkYXNfbWU6IHByb2dyYW0gZXhpdGVkIHdpdGggc3RhdHVzICRhY19zdGF0dXMiID4mNQorLWVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorLQorLSggZXhpdCAkYWNfc3RhdHVzICkKKy1hY19jdl9jX2JpZ2VuZGlhbj15ZXMKKysgIGVjaG8gImNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CisrICBjYXQgY29uZnRlc3QuJGFjX2V4dCA+JjUKKysgIHJtIC1mciBjb25mdGVzdCoKKysgIGFjX2N2X2NfYmlnZW5kaWFuPXllcworIGZpCistcm0gLWYgY29yZSBjb3JlLiogKi5jb3JlIGdtb24ub3V0IGJiLm91dCBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0Cisrcm0gLWZyIGNvbmZ0ZXN0KgorIGZpCisrCisgZmkKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKyBmaQorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9jX2JpZ2VuZGlhbiIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2N2X2NfYmlnZW5kaWFuIiA+JjYKKy1jYXNlICRhY19jdl9jX2JpZ2VuZGlhbiBpbgorLSAgeWVzKQorIAorLWNhdCA+PmNvbmZkZWZzLmggPDxcX0FDRU9GCisrZWNobyAiJGFjX3QiIiRhY19jdl9jX2JpZ2VuZGlhbiIgMT4mNgorK2lmIHRlc3QgJGFjX2N2X2NfYmlnZW5kaWFuID0geWVzOyB0aGVuCisrICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCistX0FDRU9GCistIDs7CistICBubykKKy0gICAgIDs7CistICAqKQorLSAgICB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiB1bmtub3duIGVuZGlhbm5lc3MKKy1wcmVzZXR0aW5nIGFjX2N2X2NfYmlnZW5kaWFuPW5vIChvciB5ZXMpIHdpbGwgaGVscCIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogdW5rbm93biBlbmRpYW5uZXNzCistcHJlc2V0dGluZyBhY19jdl9jX2JpZ2VuZGlhbj1ubyAob3IgeWVzKSB3aWxsIGhlbHAiID4mMjt9CistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9IDs7CistZXNhYworK0VPRgorIAorK2ZpCisgCisrCisgaWYgdGVzdCAieCRHQ0MiID0gInh5ZXMiOyB0aGVuCisgCUNGTEFHUz0iJENGTEFHUyAtV2FsbCIKKyBmaQorQEAgLTI2OTcsMTQgKzEwOTYsMTMgQEAKKyAgIGNhc2UgIiR7ZW5hYmxldmFsfSIgaW4KKyAgICAgICAgICAgICAgICAgIHllcykgc2hhcmVkPXRydWUgOzsKKyAgICAgICAgICAgICAgICAgIG5vKSBzaGFyZWQ9ZmFsc2UgOzsKKy0gICAgICAgICAgICAgICAgICopIHsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IGJhZCB2YWx1ZSAke2VuYWJsZXZhbH0gZm9yIHNoYXJlZCBvcHRpb25zIiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiBiYWQgdmFsdWUgJHtlbmFibGV2YWx9IGZvciBzaGFyZWQgb3B0aW9ucyIgPiYyO30KKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0gOzsKKysgICAgICAgICAgICAgICAgICopIHsgZWNobyAiY29uZmlndXJlOiBlcnJvcjogYmFkIHZhbHVlICR7ZW5hYmxldmFsfSBmb3Igc2hhcmVkIG9wdGlvbnMiIDE+JjI7IGV4aXQgMTsgfSA7OworICAgICAgICAgICAgICAgICAgZXNhYworIGVsc2UKKyAgIHNoYXJlZD1mYWxzZQorLWZpOworK2ZpCisgCisrCisgY2FzZSAiJHRhcmdldF9jcHUiIGluCisgICAgICBpMzg2fGk0ODZ8aTU4NnxpNjg2KQorIAlUQVJHRVRfQ1BVPWkzODYKK0BAIC0yNzEyLDcgKzExMTAsNyBAQAorICAgICAgKikKKyAgICAgICAgIFRBUkdFVF9DUFU9JHRhcmdldF9jcHUKKyAgICAgIDs7CistZXNhYworK2VzYWMgICAgIAorIFRBUkdFVF9PUz0kdGFyZ2V0X29zCisgCisgTTY4S0NDPQorQEAgLTI3MjYsNyArMTEyNCw3IEBACisgCQlNNjhLQ0M9L3Vzci9tNjhrLXBhbG1vcy9iaW4vZ2NjCisgCQkjIEdlbmVyaWMgYnVpbGQgaXMgQVJNIG9yIE02OEsgKHByb2JhYmx5IEFSTSB0aG91Z2gpCisgICAgICAgICAgICAgICAgIENDPSIvdXNyLyRUQVJHRVRfQ1BVLXBhbG1vcy9iaW4vZ2NjIgorLQkJaWYgdGVzdCAiJHRhcmdldF9jcHUiID0gImFybSIKKysJCWlmIHRlc3QgIiR0YXJnZXRfY3B1IiA9ICJhcm0iIAorICAgICAgICAgICAgICAgICB0aGVuCisgICAgICAgICAgICAgICAgICAgIENDPSIkQ0MgLWZQSUMgLW1hcmNoPWFybXY0dCIKKyAgICAgICAgICAgICAgICAgZmkKK0BAIC0yNzYyLDcgKzExNjAsNyBAQAorICAgICAgKikKKyAgICAgICAgIEhPU1RfQ1BVPSRob3N0X2NwdQorICAgICAgOzsKKy1lc2FjCisrZXNhYyAgICAgCisgSE9TVF9PUz0kaG9zdF9vcworIAorIAorQEAgLTI4MDAsMTM4ICsxMTk4LDkxIEBACisgICBjYXNlICIke2VuYWJsZXZhbH0iIGluCisgICAgICAgICAgICAgICAgICB5ZXMpIHNvY2tldHM9dHJ1ZSA7OworICAgICAgICAgICAgICAgICAgbm8pIHNvY2tldHM9ZmFsc2UgOzsKKy0gICAgICAgICAgICAgICAgICopIHsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IGJhZCB2YWx1ZSAke2VuYWJsZXZhbH0gZm9yIHNvY2tldHMgb3B0aW9ucyIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogYmFkIHZhbHVlICR7ZW5hYmxldmFsfSBmb3Igc29ja2V0cyBvcHRpb25zIiA+JjI7fQorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfSA7OworKyAgICAgICAgICAgICAgICAgKikgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiBiYWQgdmFsdWUgJHtlbmFibGV2YWx9IGZvciBzb2NrZXRzIG9wdGlvbnMiIDE+JjI7IGV4aXQgMTsgfSA7OworICAgICAgICAgICAgICAgICAgZXNhYworIGVsc2UKKyAgIHNvY2tldHM9dHJ1ZQorLWZpOworK2ZpCisrCisgaWYgdGVzdCAiJHNvY2tldHMiID0gZmFsc2U7IHRoZW4KKy0gICBjYXQgPj5jb25mZGVmcy5oIDw8XF9BQ0VPRgorKyAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorICNkZWZpbmUgQ1NUX05PX1NPQ0tFVFMgMQorLV9BQ0VPRgorK0VPRgorIAorIGZpCisgCistY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCisrY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorKyNsaW5lIDEyMTYgImNvbmZpZ3VyZSIKKysjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKy1pbnQKKy1tYWluICgpCisteworK2ludCBtYWluKCkgeworICBzdHJ1Y3QgYSB7IHVuaW9uIHsgZmxvYXQgYjsgaW50IGM7IH0gZDsgfTsKKy0gICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBhIGUgPSB7IC5kPXsgLmI9My4xNCB9IH07CistICA7CistICByZXR1cm4gMDsKKy19CistX0FDRU9GCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKy0gICAgICAgICB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworLSAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKy0gIChldmFsICRhY190cnkpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKysgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBhIGUgPSB7IC5kPXsgLmI9My4xNCB9IH07IAorKzsgcmV0dXJuIDA7IH0KKytFT0YKKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEyMjQ6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKysgIHJtIC1yZiBjb25mdGVzdCoKKyAgIHVuaW9uaW5pdD15ZXMKKyBlbHNlCistICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKy0KKy11bmlvbmluaXQ9bm8KKysgIGVjaG8gImNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CisrICBjYXQgY29uZnRlc3QuJGFjX2V4dCA+JjUKKysgIHJtIC1yZiBjb25mdGVzdCoKKysgIHVuaW9uaW5pdD1ubworIGZpCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0Cisrcm0gLWYgY29uZnRlc3QqCisgaWYgdGVzdCAiJHVuaW9uaW5pdCIgPSBubzsgdGhlbgorLSAgIGNhdCA+PmNvbmZkZWZzLmggPDxcX0FDRU9GCisrICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisgI2RlZmluZSBOT19VTklPTl9JTklUSUFMSVpBVElPTiAxCistX0FDRU9GCisrRU9GCisgCisgZmkKKyAKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIG1tYXAiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIG1tYXAuLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9mdW5jX21tYXArc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CisrZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIG1tYXAiIi4uLiAkYWNfYyIgMT4mNgorK2VjaG8gImNvbmZpZ3VyZToxMjQyOiBjaGVja2luZyBmb3IgbW1hcCIgPiY1CisraWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2Z1bmNfbW1hcCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisrICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKy0gIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworKyAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorKyNsaW5lIDEyNDcgImNvbmZpZ3VyZSIKKysjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCistICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgbW1hcCAoKTsgYmVsb3cuCistICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKKy0gICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KKy0jaWZkZWYgX19TVERDX18KKy0jIGluY2x1ZGUgPGxpbWl0cy5oPgorLSNlbHNlCistIyBpbmNsdWRlIDxhc3NlcnQuaD4KKy0jZW5kaWYKKysgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBtbWFwKCk7IGJlbG93LiAgKi8KKysjaW5jbHVkZSA8YXNzZXJ0Lmg+CisgLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KKy0jaWZkZWYgX19jcGx1c3BsdXMKKy1leHRlcm4gIkMiCisteworLSNlbmRpZgorIC8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKKy0gICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLworLWNoYXIgbW1hcCAoKTsKKysgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KKytjaGFyIG1tYXAoKTsKKysKKytpbnQgbWFpbigpIHsKKysKKyAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCisgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCisgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLworICNpZiBkZWZpbmVkIChfX3N0dWJfbW1hcCkgfHwgZGVmaW5lZCAoX19zdHViX19fbW1hcCkKKyBjaG9rZSBtZQorICNlbHNlCistY2hhciAoKmYpICgpID0gbW1hcDsKKyttbWFwKCk7CisgI2VuZGlmCistI2lmZGVmIF9fY3BsdXNwbHVzCistfQorLSNlbmRpZgorIAorLWludAorLW1haW4gKCkKKy17CistcmV0dXJuIGYgIT0gbW1hcDsKKy0gIDsKKy0gIHJldHVybiAwOworLX0KKy1fQUNFT0YKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0JGFjX2V4ZWV4dAorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2xpbmtcIiIpID4mNQorLSAgKGV2YWwgJGFjX2xpbmspIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKy0gICAgICAgICB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdCRhY19leGVleHQnCistICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorLSAgKGV2YWwgJGFjX3RyeSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorLSAgYWNfY3ZfZnVuY19tbWFwPXllcworKzsgcmV0dXJuIDA7IH0KKytFT0YKKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEyNzA6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorKyAgcm0gLXJmIGNvbmZ0ZXN0KgorKyAgZXZhbCAiYWNfY3ZfZnVuY19tbWFwPXllcyIKKyBlbHNlCistICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKy0KKy1hY19jdl9mdW5jX21tYXA9bm8KKysgIGVjaG8gImNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CisrICBjYXQgY29uZnRlc3QuJGFjX2V4dCA+JjUKKysgIHJtIC1yZiBjb25mdGVzdCoKKysgIGV2YWwgImFjX2N2X2Z1bmNfbW1hcD1ubyIKKyBmaQorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QkYWNfZXhlZXh0IGNvbmZ0ZXN0LiRhY19leHQKKytybSAtZiBjb25mdGVzdCoKKyBmaQorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9mdW5jX21tYXAiID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19jdl9mdW5jX21tYXAiID4mNgorLWlmIHRlc3QgJGFjX2N2X2Z1bmNfbW1hcCA9IHllczsgdGhlbgorKworK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJGFjX2N2X2Z1bmNfJ21tYXBgXCIgPSB5ZXMiOyB0aGVuCisrICBlY2hvICIkYWNfdCIieWVzIiAxPiY2CisgICBNTUFQVFlQRT1wb3NpeAorK2Vsc2UKKysgIGVjaG8gIiRhY190IiJubyIgMT4mNgorIGZpCisgCisgCitAQCAtMjk1NiwxMDI4ICsxMzA3LDI2NiBAQAorIAorIAorIEFVRElPRFJJVkVSPW5vbmUKKy1hY19leHQ9YworLWFjX2NwcD0nJENQUCAkQ1BQRkxBR1MnCistYWNfY29tcGlsZT0nJENDIC1jICRDRkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgPiY1JworLWFjX2xpbms9JyRDQyAtbyBjb25mdGVzdCRhY19leGVleHQgJENGTEFHUyAkQ1BQRkxBR1MgJExERkxBR1MgY29uZnRlc3QuJGFjX2V4dCAkTElCUyA+JjUnCistYWNfY29tcGlsZXJfZ251PSRhY19jdl9jX2NvbXBpbGVyX2dudQorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3NvciIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3Nvci4uLiAkRUNIT19DIiA+JjYKKytlY2hvICRhY19uICJjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3NvciIiLi4uICRhY19jIiAxPiY2CisrZWNobyAiY29uZmlndXJlOjEzMTI6IGNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29yIiA+JjUKKyAjIE9uIFN1bnMsIHNvbWV0aW1lcyAkQ1BQIG5hbWVzIGEgZGlyZWN0b3J5LgorIGlmIHRlc3QgLW4gIiRDUFAiICYmIHRlc3QgLWQgIiRDUFAiOyB0aGVuCisgICBDUFA9CisgZmkKKyBpZiB0ZXN0IC16ICIkQ1BQIjsgdGhlbgorLSAgaWYgdGVzdCAiJHthY19jdl9wcm9nX0NQUCtzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKytpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfcHJvZ19DUFAnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorKyAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCistICAgICAgIyBEb3VibGUgcXVvdGVzIGJlY2F1c2UgQ1BQIG5lZWRzIHRvIGJlIGV4cGFuZGVkCistICAgIGZvciBDUFAgaW4gIiRDQyAtRSIgIiRDQyAtRSAtdHJhZGl0aW9uYWwtY3BwIiAiL2xpYi9jcHAiCistICAgIGRvCistICAgICAgYWNfcHJlcHJvY19vaz1mYWxzZQorLWZvciBhY19jX3ByZXByb2Nfd2Fybl9mbGFnIGluICcnIHllcworLWRvCistICAjIFVzZSBhIGhlYWRlciBmaWxlIHRoYXQgY29tZXMgd2l0aCBnY2MsIHNvIGNvbmZpZ3VyaW5nIGdsaWJjCistICAjIHdpdGggYSBmcmVzaCBjcm9zcy1jb21waWxlciB3b3Jrcy4KKy0gICMgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQorLSAgIyA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuCisrICAgICMgVGhpcyBtdXN0IGJlIGluIGRvdWJsZSBxdW90ZXMsIG5vdCBzaW5nbGUgcXVvdGVzLCBiZWNhdXNlIENQUCBtYXkgZ2V0CisrICAjIHN1YnN0aXR1dGVkIGludG8gdGhlIE1ha2VmaWxlIGFuZCAiJHtDQy1jY30iIHdpbGwgY29uZnVzZSBtYWtlLgorKyAgQ1BQPSIke0NDLWNjfSAtRSIKKyAgICMgT24gdGhlIE5lWFQsIGNjIC1FIHJ1bnMgdGhlIGNvZGUgdGhyb3VnaCB0aGUgY29tcGlsZXIncyBwYXJzZXIsCistICAjIG5vdCBqdXN0IHRocm91Z2ggY3BwLiAiU3ludGF4IGVycm9yIiBpcyBoZXJlIHRvIGNhdGNoIHRoaXMgY2FzZS4KKy0gIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworLSNpZmRlZiBfX1NURENfXworLSMgaW5jbHVkZSA8bGltaXRzLmg+CistI2Vsc2UKKy0jIGluY2x1ZGUgPGFzc2VydC5oPgorLSNlbmRpZgorLSAgICAgICAgICAgICAgICAgICAgIFN5bnRheCBlcnJvcgorLV9BQ0VPRgorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0XCIiKSA+JjUKKy0gIChldmFsICRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCkgMj5jb25mdGVzdC5lcjEKKy0gIGFjX3N0YXR1cz0kPworLSAgZ3JlcCAtdiAnXiAqKycgY29uZnRlc3QuZXIxID5jb25mdGVzdC5lcnIKKy0gIHJtIC1mIGNvbmZ0ZXN0LmVyMQorLSAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9ID4vZGV2L251bGw7IHRoZW4KKy0gIGlmIHRlc3QgLXMgY29uZnRlc3QuZXJyOyB0aGVuCistICAgIGFjX2NwcF9lcnI9JGFjX2NfcHJlcHJvY193YXJuX2ZsYWcKKy0gIGVsc2UKKy0gICAgYWNfY3BwX2Vycj0KKy0gIGZpCistZWxzZQorLSAgYWNfY3BwX2Vycj15ZXMKKy1maQorLWlmIHRlc3QgLXogIiRhY19jcHBfZXJyIjsgdGhlbgorKyAgIyBub3QganVzdCB0aHJvdWdoIGNwcC4KKysgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKysjbGluZSAxMzI3ICJjb25maWd1cmUiCisrI2luY2x1ZGUgImNvbmZkZWZzLmgiCisrI2luY2x1ZGUgPGFzc2VydC5oPgorK1N5bnRheCBFcnJvcgorK0VPRgorK2FjX3RyeT0iJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0ID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQiCisreyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMzMzOiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfQorK2FjX2Vycj1gZ3JlcCAtdiAnXiAqKycgY29uZnRlc3Qub3V0IHwgZ3JlcCAtdiAiXmNvbmZ0ZXN0LiR7YWNfZXh0fVwkImAKKytpZiB0ZXN0IC16ICIkYWNfZXJyIjsgdGhlbgorICAgOgorIGVsc2UKKy0gIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorLQorLSAgIyBCcm9rZW46IGZhaWxzIG9uIHZhbGlkIGlucHV0LgorLWNvbnRpbnVlCistZmkKKy1ybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX2V4dAorLQorLSAgIyBPSywgd29ya3Mgb24gc2FuZSBjYXNlcy4gIE5vdyBjaGVjayB3aGV0aGVyIG5vbi1leGlzdGVudCBoZWFkZXJzCistICAjIGNhbiBiZSBkZXRlY3RlZCBhbmQgaG93LgorLSAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCistI2luY2x1ZGUgPGFjX25vbmV4aXN0ZW50Lmg+CistX0FDRU9GCistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHRcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0KSAyPmNvbmZ0ZXN0LmVyMQorLSAgYWNfc3RhdHVzPSQ/CistICBncmVwIC12ICdeICorJyBjb25mdGVzdC5lcjEgPmNvbmZ0ZXN0LmVycgorLSAgcm0gLWYgY29uZnRlc3QuZXIxCistICBjYXQgY29uZnRlc3QuZXJyID4mNQorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gPi9kZXYvbnVsbDsgdGhlbgorLSAgaWYgdGVzdCAtcyBjb25mdGVzdC5lcnI7IHRoZW4KKy0gICAgYWNfY3BwX2Vycj0kYWNfY19wcmVwcm9jX3dhcm5fZmxhZworLSAgZWxzZQorLSAgICBhY19jcHBfZXJyPQorLSAgZmkKKy1lbHNlCistICBhY19jcHBfZXJyPXllcworLWZpCistaWYgdGVzdCAteiAiJGFjX2NwcF9lcnIiOyB0aGVuCistICAjIEJyb2tlbjogc3VjY2VzcyBvbiBpbnZhbGlkIGlucHV0LgorLWNvbnRpbnVlCistZWxzZQorLSAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CistCistICAjIFBhc3NlcyBib3RoIHRlc3RzLgorLWFjX3ByZXByb2Nfb2s9OgorLWJyZWFrCistZmkKKy1ybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX2V4dAorLQorLWRvbmUKKy0jIEJlY2F1c2Ugb2YgYGJyZWFrJywgX0FDX1BSRVBST0NfSUZFTFNFJ3MgY2xlYW5pbmcgY29kZSB3YXMgc2tpcHBlZC4KKy1ybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX2V4dAorLWlmICRhY19wcmVwcm9jX29rOyB0aGVuCistICBicmVhaworLWZpCistCistICAgIGRvbmUKKy0gICAgYWNfY3ZfcHJvZ19DUFA9JENQUAorLQorLWZpCistICBDUFA9JGFjX2N2X3Byb2dfQ1BQCistZWxzZQorLSAgYWNfY3ZfcHJvZ19DUFA9JENQUAorLWZpCistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJENQUCIgPiY1CistZWNobyAiJHtFQ0hPX1R9JENQUCIgPiY2CistYWNfcHJlcHJvY19vaz1mYWxzZQorLWZvciBhY19jX3ByZXByb2Nfd2Fybl9mbGFnIGluICcnIHllcworLWRvCistICAjIFVzZSBhIGhlYWRlciBmaWxlIHRoYXQgY29tZXMgd2l0aCBnY2MsIHNvIGNvbmZpZ3VyaW5nIGdsaWJjCistICAjIHdpdGggYSBmcmVzaCBjcm9zcy1jb21waWxlciB3b3Jrcy4KKy0gICMgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQorLSAgIyA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuCistICAjIE9uIHRoZSBOZVhULCBjYyAtRSBydW5zIHRoZSBjb2RlIHRocm91Z2ggdGhlIGNvbXBpbGVyJ3MgcGFyc2VyLAorLSAgIyBub3QganVzdCB0aHJvdWdoIGNwcC4gIlN5bnRheCBlcnJvciIgaXMgaGVyZSB0byBjYXRjaCB0aGlzIGNhc2UuCistICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKy0jaWZkZWYgX19TVERDX18KKy0jIGluY2x1ZGUgPGxpbWl0cy5oPgorLSNlbHNlCistIyBpbmNsdWRlIDxhc3NlcnQuaD4KKy0jZW5kaWYKKy0gICAgICAgICAgICAgICAgICAgICBTeW50YXggZXJyb3IKKy1fQUNFT0YKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dFwiIikgPiY1CistICAoZXZhbCAkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQpIDI+Y29uZnRlc3QuZXIxCistICBhY19zdGF0dXM9JD8KKy0gIGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0LmVyMSA+Y29uZnRlc3QuZXJyCistICBybSAtZiBjb25mdGVzdC5lcjEKKy0gIGNhdCBjb25mdGVzdC5lcnIgPiY1CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfSA+L2Rldi9udWxsOyB0aGVuCistICBpZiB0ZXN0IC1zIGNvbmZ0ZXN0LmVycjsgdGhlbgorLSAgICBhY19jcHBfZXJyPSRhY19jX3ByZXByb2Nfd2Fybl9mbGFnCistICBlbHNlCistICAgIGFjX2NwcF9lcnI9CistICBmaQorLWVsc2UKKy0gIGFjX2NwcF9lcnI9eWVzCistZmkKKy1pZiB0ZXN0IC16ICIkYWNfY3BwX2VyciI7IHRoZW4KKysgIGVjaG8gIiRhY19lcnIiID4mNQorKyAgZWNobyAiY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKysgIGNhdCBjb25mdGVzdC4kYWNfZXh0ID4mNQorKyAgcm0gLXJmIGNvbmZ0ZXN0KgorKyAgQ1BQPSIke0NDLWNjfSAtRSAtdHJhZGl0aW9uYWwtY3BwIgorKyAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorKyNsaW5lIDEzNDQgImNvbmZpZ3VyZSIKKysjaW5jbHVkZSAiY29uZmRlZnMuaCIKKysjaW5jbHVkZSA8YXNzZXJ0Lmg+CisrU3ludGF4IEVycm9yCisrRU9GCisrYWNfdHJ5PSIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dCIKKyt7IChldmFsIGVjaG8gY29uZmlndXJlOjEzNTA6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9CisrYWNfZXJyPWBncmVwIC12ICdeICorJyBjb25mdGVzdC5vdXQgfCBncmVwIC12ICJeY29uZnRlc3QuJHthY19leHR9XCQiYAorK2lmIHRlc3QgLXogIiRhY19lcnIiOyB0aGVuCisgICA6CisgZWxzZQorLSAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CistCistICAjIEJyb2tlbjogZmFpbHMgb24gdmFsaWQgaW5wdXQuCistY29udGludWUKKy1maQorLXJtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfZXh0CistCistICAjIE9LLCB3b3JrcyBvbiBzYW5lIGNhc2VzLiAgTm93IGNoZWNrIHdoZXRoZXIgbm9uLWV4aXN0ZW50IGhlYWRlcnMKKy0gICMgY2FuIGJlIGRldGVjdGVkIGFuZCBob3cuCistICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKy0jaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KKy1fQUNFT0YKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dFwiIikgPiY1CistICAoZXZhbCAkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQpIDI+Y29uZnRlc3QuZXIxCistICBhY19zdGF0dXM9JD8KKy0gIGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0LmVyMSA+Y29uZnRlc3QuZXJyCistICBybSAtZiBjb25mdGVzdC5lcjEKKy0gIGNhdCBjb25mdGVzdC5lcnIgPiY1CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfSA+L2Rldi9udWxsOyB0aGVuCistICBpZiB0ZXN0IC1zIGNvbmZ0ZXN0LmVycjsgdGhlbgorLSAgICBhY19jcHBfZXJyPSRhY19jX3ByZXByb2Nfd2Fybl9mbGFnCistICBlbHNlCistICAgIGFjX2NwcF9lcnI9CistICBmaQorLWVsc2UKKy0gIGFjX2NwcF9lcnI9eWVzCistZmkKKy1pZiB0ZXN0IC16ICIkYWNfY3BwX2VyciI7IHRoZW4KKy0gICMgQnJva2VuOiBzdWNjZXNzIG9uIGludmFsaWQgaW5wdXQuCistY29udGludWUKKy1lbHNlCistICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKy0KKy0gICMgUGFzc2VzIGJvdGggdGVzdHMuCistYWNfcHJlcHJvY19vaz06CistYnJlYWsKKy1maQorLXJtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfZXh0CistCistZG9uZQorLSMgQmVjYXVzZSBvZiBgYnJlYWsnLCBfQUNfUFJFUFJPQ19JRkVMU0UncyBjbGVhbmluZyBjb2RlIHdhcyBza2lwcGVkLgorLXJtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfZXh0CistaWYgJGFjX3ByZXByb2Nfb2s7IHRoZW4KKysgIGVjaG8gIiRhY19lcnIiID4mNQorKyAgZWNobyAiY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKysgIGNhdCBjb25mdGVzdC4kYWNfZXh0ID4mNQorKyAgcm0gLXJmIGNvbmZ0ZXN0KgorKyAgQ1BQPSIke0NDLWNjfSAtbm9sb2dvIC1FIgorKyAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorKyNsaW5lIDEzNjEgImNvbmZpZ3VyZSIKKysjaW5jbHVkZSAiY29uZmRlZnMuaCIKKysjaW5jbHVkZSA8YXNzZXJ0Lmg+CisrU3ludGF4IEVycm9yCisrRU9GCisrYWNfdHJ5PSIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dCIKKyt7IChldmFsIGVjaG8gY29uZmlndXJlOjEzNjc6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9CisrYWNfZXJyPWBncmVwIC12ICdeICorJyBjb25mdGVzdC5vdXQgfCBncmVwIC12ICJeY29uZnRlc3QuJHthY19leHR9XCQiYAorK2lmIHRlc3QgLXogIiRhY19lcnIiOyB0aGVuCisgICA6CisgZWxzZQorLSAgeyB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogQyBwcmVwcm9jZXNzb3IgXCIkQ1BQXCIgZmFpbHMgc2FuaXR5IGNoZWNrCistU2VlIFxgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscy4iID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6IEMgcHJlcHJvY2Vzc29yIFwiJENQUFwiIGZhaWxzIHNhbml0eSBjaGVjaworLVNlZSBcYGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMuIiA+JjI7fQorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorKyAgZWNobyAiJGFjX2VyciIgPiY1CisrICBlY2hvICJjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorKyAgY2F0IGNvbmZ0ZXN0LiRhY19leHQgPiY1CisrICBybSAtcmYgY29uZnRlc3QqCisrICBDUFA9L2xpYi9jcHAKKyBmaQorLQorLWFjX2V4dD1jCistYWNfY3BwPSckQ1BQICRDUFBGTEFHUycKKy1hY19jb21waWxlPSckQ0MgLWMgJENGTEFHUyAkQ1BQRkxBR1MgY29uZnRlc3QuJGFjX2V4dCA+JjUnCistYWNfbGluaz0nJENDIC1vIGNvbmZ0ZXN0JGFjX2V4ZWV4dCAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTID4mNScKKy1hY19jb21waWxlcl9nbnU9JGFjX2N2X2NfY29tcGlsZXJfZ251CistCistCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBlZ3JlcCIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgZWdyZXAuLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9wcm9nX2VncmVwK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorLWVsc2UKKy0gIGlmIGVjaG8gYSB8IChncmVwIC1FICcoYXxiKScpID4vZGV2L251bGwgMj4mMQorLSAgICB0aGVuIGFjX2N2X3Byb2dfZWdyZXA9J2dyZXAgLUUnCistICAgIGVsc2UgYWNfY3ZfcHJvZ19lZ3JlcD0nZWdyZXAnCistICAgIGZpCisrcm0gLWYgY29uZnRlc3QqCisgZmkKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3ZfcHJvZ19lZ3JlcCIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2N2X3Byb2dfZWdyZXAiID4mNgorLSBFR1JFUD0kYWNfY3ZfcHJvZ19lZ3JlcAorLQorLQorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRlciBmaWxlcyIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRlciBmaWxlcy4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X2hlYWRlcl9zdGRjK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorLWVsc2UKKy0gIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworLSNpbmNsdWRlIDxzdGRsaWIuaD4KKy0jaW5jbHVkZSA8c3RkYXJnLmg+CistI2luY2x1ZGUgPHN0cmluZy5oPgorLSNpbmNsdWRlIDxmbG9hdC5oPgorLQorLWludAorLW1haW4gKCkKKy17CistCistICA7CistICByZXR1cm4gMDsKKy19CistX0FDRU9GCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKy0gICAgICAgICB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworLSAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKy0gIChldmFsICRhY190cnkpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKy0gIGFjX2N2X2hlYWRlcl9zdGRjPXllcworLWVsc2UKKy0gIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorLQorLWFjX2N2X2hlYWRlcl9zdGRjPW5vCistZmkKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKy0KKy1pZiB0ZXN0ICRhY19jdl9oZWFkZXJfc3RkYyA9IHllczsgdGhlbgorLSAgIyBTdW5PUyA0Lnggc3RyaW5nLmggZG9lcyBub3QgZGVjbGFyZSBtZW0qLCBjb250cmFyeSB0byBBTlNJLgorLSAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCistI2luY2x1ZGUgPHN0cmluZy5oPgorLQorLV9BQ0VPRgorLWlmIChldmFsICIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQiKSAyPiY1IHwKKy0gICRFR1JFUCAibWVtY2hyIiA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKy0gIDoKKy1lbHNlCistICBhY19jdl9oZWFkZXJfc3RkYz1ubworLWZpCisgcm0gLWYgY29uZnRlc3QqCistCisgZmkKKy0KKy1pZiB0ZXN0ICRhY19jdl9oZWFkZXJfc3RkYyA9IHllczsgdGhlbgorLSAgIyBJU0MgMi4wLjIgc3RkbGliLmggZG9lcyBub3QgZGVjbGFyZSBmcmVlLCBjb250cmFyeSB0byBBTlNJLgorLSAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCistI2luY2x1ZGUgPHN0ZGxpYi5oPgorLQorLV9BQ0VPRgorLWlmIChldmFsICIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQiKSAyPiY1IHwKKy0gICRFR1JFUCAiZnJlZSIgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCistICA6CistZWxzZQorLSAgYWNfY3ZfaGVhZGVyX3N0ZGM9bm8KKy1maQorIHJtIC1mIGNvbmZ0ZXN0KgorLQorKyAgYWNfY3ZfcHJvZ19DUFA9IiRDUFAiCisgZmkKKy0KKy1pZiB0ZXN0ICRhY19jdl9oZWFkZXJfc3RkYyA9IHllczsgdGhlbgorLSAgIyAvYmluL2NjIGluIElyaXgtNC4wLjUgZ2V0cyBub24tQU5TSSBjdHlwZSBtYWNyb3MgdW5sZXNzIHVzaW5nIC1hbnNpLgorLSAgaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgPSB5ZXM7IHRoZW4KKy0gIDoKKysgIENQUD0iJGFjX2N2X3Byb2dfQ1BQIgorIGVsc2UKKy0gIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworLSNpbmNsdWRlIDxjdHlwZS5oPgorLSNpZiAoKCcgJyAmIDB4MEZGKSA9PSAweDAyMCkKKy0jIGRlZmluZSBJU0xPV0VSKGMpICgnYScgPD0gKGMpICYmIChjKSA8PSAneicpCistIyBkZWZpbmUgVE9VUFBFUihjKSAoSVNMT1dFUihjKSA/ICdBJyArICgoYykgLSAnYScpIDogKGMpKQorLSNlbHNlCistIyBkZWZpbmUgSVNMT1dFUihjKSBcCistICAgICAgICAgICAgICAgICAgICgoJ2EnIDw9IChjKSAmJiAoYykgPD0gJ2knKSBcCistICAgICAgICAgICAgICAgICAgICAgfHwgKCdqJyA8PSAoYykgJiYgKGMpIDw9ICdyJykgXAorLSAgICAgICAgICAgICAgICAgICAgIHx8ICgncycgPD0gKGMpICYmIChjKSA8PSAneicpKQorLSMgZGVmaW5lIFRPVVBQRVIoYykgKElTTE9XRVIoYykgPyAoKGMpIHwgMHg0MCkgOiAoYykpCistI2VuZGlmCistCistI2RlZmluZSBYT1IoZSwgZikgKCgoZSkgJiYgIShmKSkgfHwgKCEoZSkgJiYgKGYpKSkKKy1pbnQKKy1tYWluICgpCisteworLSAgaW50IGk7CistICBmb3IgKGkgPSAwOyBpIDwgMjU2OyBpKyspCistICAgIGlmIChYT1IgKGlzbG93ZXIgKGkpLCBJU0xPV0VSIChpKSkKKy0gICAgICAgIHx8IHRvdXBwZXIgKGkpICE9IFRPVVBQRVIgKGkpKQorLSAgICAgIGV4aXQoMik7CistICBleGl0ICgwKTsKKy19CistX0FDRU9GCistcm0gLWYgY29uZnRlc3QkYWNfZXhlZXh0CistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfbGlua1wiIikgPiY1CistICAoZXZhbCAkYWNfbGluaykgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJiB7IGFjX3RyeT0nLi9jb25mdGVzdCRhY19leGVleHQnCistICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorLSAgKGV2YWwgJGFjX3RyeSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorLSAgOgorLWVsc2UKKy0gIGVjaG8gIiRhc19tZTogcHJvZ3JhbSBleGl0ZWQgd2l0aCBzdGF0dXMgJGFjX3N0YXR1cyIgPiY1CistZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CistCistKCBleGl0ICRhY19zdGF0dXMgKQorLWFjX2N2X2hlYWRlcl9zdGRjPW5vCisrICBhY19jdl9wcm9nX0NQUD0iJENQUCIKKyBmaQorLXJtIC1mIGNvcmUgY29yZS4qICouY29yZSBnbW9uLm91dCBiYi5vdXQgY29uZnRlc3QkYWNfZXhlZXh0IGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorLWZpCistZmkKKy1maQorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9oZWFkZXJfc3RkYyIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2N2X2hlYWRlcl9zdGRjIiA+JjYKKy1pZiB0ZXN0ICRhY19jdl9oZWFkZXJfc3RkYyA9IHllczsgdGhlbgorK2VjaG8gIiRhY190IiIkQ1BQIiAxPiY2CisgCistY2F0ID4+Y29uZmRlZnMuaCA8PFxfQUNFT0YKKy0jZGVmaW5lIFNURENfSEVBREVSUyAxCistX0FDRU9GCistCistZmkKKy0KKy0jIE9uIElSSVggNS4zLCBzeXMvdHlwZXMgYW5kIGludHR5cGVzLmggYXJlIGNvbmZsaWN0aW5nLgorLQorLQorLQorLQorLQorLQorLQorLQorLQorLWZvciBhY19oZWFkZXIgaW4gc3lzL3R5cGVzLmggc3lzL3N0YXQuaCBzdGRsaWIuaCBzdHJpbmcuaCBtZW1vcnkuaCBzdHJpbmdzLmggXAorLSAgICAgICAgICAgICAgICAgIGludHR5cGVzLmggc3RkaW50LmggdW5pc3RkLmgKKy1kbworLWFzX2FjX0hlYWRlcj1gZWNobyAiYWNfY3ZfaGVhZGVyXyRhY19oZWFkZXIiIHwgJGFzX3RyX3NoYAorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX2hlYWRlciIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX2hlYWRlci4uLiAkRUNIT19DIiA+JjYKKy1pZiBldmFsICJ0ZXN0IFwiXCR7JGFzX2FjX0hlYWRlcitzZXR9XCIgPSBzZXQiOyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorK2FjX3NhZmU9YGVjaG8gInN5cy9zb3VuZGNhcmQuaCIgfCBzZWQgJ3klLi8rLSVfX3BfJSdgCisrZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIHN5cy9zb3VuZGNhcmQuaCIiLi4uICRhY19jIiAxPiY2CisrZWNobyAiY29uZmlndXJlOjEzOTM6IGNoZWNraW5nIGZvciBzeXMvc291bmRjYXJkLmgiID4mNQorK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9oZWFkZXJfJGFjX3NhZmUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorKyAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCistICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKy0kYWNfaW5jbHVkZXNfZGVmYXVsdAorLQorLSNpbmNsdWRlIDwkYWNfaGVhZGVyPgorLV9BQ0VPRgorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKy0gIChldmFsICRhY19jb21waWxlKSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCistICAgICAgICAgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKy0gIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CistICAoZXZhbCAkYWNfdHJ5KSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCistICBldmFsICIkYXNfYWNfSGVhZGVyPXllcyIKKy1lbHNlCistICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKy0KKy1ldmFsICIkYXNfYWNfSGVhZGVyPW5vIgorLWZpCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CistZmkKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBgZXZhbCBlY2hvICckeyckYXNfYWNfSGVhZGVyJ30nYCIgPiY1CistZWNobyAiJHtFQ0hPX1R9YGV2YWwgZWNobyAnJHsnJGFzX2FjX0hlYWRlcid9J2AiID4mNgorLWlmIHRlc3QgYGV2YWwgZWNobyAnJHsnJGFzX2FjX0hlYWRlcid9J2AgPSB5ZXM7IHRoZW4KKy0gIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKy0jZGVmaW5lIGBlY2hvICJIQVZFXyRhY19oZWFkZXIiIHwgJGFzX3RyX2NwcGAgMQorLV9BQ0VPRgorLQorLWZpCistCistZG9uZQorLQorLQorLWlmIHRlc3QgIiR7YWNfY3ZfaGVhZGVyX3N5c19zb3VuZGNhcmRfaCtzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBzeXMvc291bmRjYXJkLmgiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIHN5cy9zb3VuZGNhcmQuaC4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X2hlYWRlcl9zeXNfc291bmRjYXJkX2grc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CistZmkKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3ZfaGVhZGVyX3N5c19zb3VuZGNhcmRfaCIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2N2X2hlYWRlcl9zeXNfc291bmRjYXJkX2giID4mNgorLWVsc2UKKy0gICMgSXMgdGhlIGhlYWRlciBjb21waWxhYmxlPworLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBzeXMvc291bmRjYXJkLmggdXNhYmlsaXR5IiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIHN5cy9zb3VuZGNhcmQuaCB1c2FiaWxpdHkuLi4gJEVDSE9fQyIgPiY2CistY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCistJGFjX2luY2x1ZGVzX2RlZmF1bHQKKysgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKysjbGluZSAxMzk4ICJjb25maWd1cmUiCisrI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2luY2x1ZGUgPHN5cy9zb3VuZGNhcmQuaD4KKy1fQUNFT0YKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CistICAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorLSAgICAgICAgIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQnCistICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorLSAgKGV2YWwgJGFjX3RyeSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorLSAgYWNfaGVhZGVyX2NvbXBpbGVyPXllcworK0VPRgorK2FjX3RyeT0iJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0ID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQiCisreyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNDAzOiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfQorK2FjX2Vycj1gZ3JlcCAtdiAnXiAqKycgY29uZnRlc3Qub3V0IHwgZ3JlcCAtdiAiXmNvbmZ0ZXN0LiR7YWNfZXh0fVwkImAKKytpZiB0ZXN0IC16ICIkYWNfZXJyIjsgdGhlbgorKyAgcm0gLXJmIGNvbmZ0ZXN0KgorKyAgZXZhbCAiYWNfY3ZfaGVhZGVyXyRhY19zYWZlPXllcyIKKyBlbHNlCistICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKy0KKy1hY19oZWFkZXJfY29tcGlsZXI9bm8KKysgIGVjaG8gIiRhY19lcnIiID4mNQorKyAgZWNobyAiY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKysgIGNhdCBjb25mdGVzdC4kYWNfZXh0ID4mNQorKyAgcm0gLXJmIGNvbmZ0ZXN0KgorKyAgZXZhbCAiYWNfY3ZfaGVhZGVyXyRhY19zYWZlPW5vIgorIGZpCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2hlYWRlcl9jb21waWxlciIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2hlYWRlcl9jb21waWxlciIgPiY2CistCistIyBJcyB0aGUgaGVhZGVyIHByZXNlbnQ/CistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIHN5cy9zb3VuZGNhcmQuaCBwcmVzZW5jZSIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBzeXMvc291bmRjYXJkLmggcHJlc2VuY2UuLi4gJEVDSE9fQyIgPiY2CistY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCistI2luY2x1ZGUgPHN5cy9zb3VuZGNhcmQuaD4KKy1fQUNFT0YKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dFwiIikgPiY1CistICAoZXZhbCAkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQpIDI+Y29uZnRlc3QuZXIxCistICBhY19zdGF0dXM9JD8KKy0gIGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0LmVyMSA+Y29uZnRlc3QuZXJyCistICBybSAtZiBjb25mdGVzdC5lcjEKKy0gIGNhdCBjb25mdGVzdC5lcnIgPiY1CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfSA+L2Rldi9udWxsOyB0aGVuCistICBpZiB0ZXN0IC1zIGNvbmZ0ZXN0LmVycjsgdGhlbgorLSAgICBhY19jcHBfZXJyPSRhY19jX3ByZXByb2Nfd2Fybl9mbGFnCistICBlbHNlCistICAgIGFjX2NwcF9lcnI9CistICBmaQorLWVsc2UKKy0gIGFjX2NwcF9lcnI9eWVzCisrcm0gLWYgY29uZnRlc3QqCisgZmkKKy1pZiB0ZXN0IC16ICIkYWNfY3BwX2VyciI7IHRoZW4KKy0gIGFjX2hlYWRlcl9wcmVwcm9jPXllcworLWVsc2UKKy0gIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorLQorLSAgYWNfaGVhZGVyX3ByZXByb2M9bm8KKy1maQorLXJtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfZXh0CistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2hlYWRlcl9wcmVwcm9jIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfaGVhZGVyX3ByZXByb2MiID4mNgorLQorLSMgU28/ICBXaGF0IGFib3V0IHRoaXMgaGVhZGVyPworLWNhc2UgJGFjX2hlYWRlcl9jb21waWxlcjokYWNfaGVhZGVyX3ByZXByb2MgaW4KKy0gIHllczpubyApCistICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IFdBUk5JTkc6IHN5cy9zb3VuZGNhcmQuaDogYWNjZXB0ZWQgYnkgdGhlIGNvbXBpbGVyLCByZWplY3RlZCBieSB0aGUgcHJlcHJvY2Vzc29yISIgPiY1CistZWNobyAiJGFzX21lOiBXQVJOSU5HOiBzeXMvc291bmRjYXJkLmg6IGFjY2VwdGVkIGJ5IHRoZSBjb21waWxlciwgcmVqZWN0ZWQgYnkgdGhlIHByZXByb2Nlc3NvciEiID4mMjt9CistICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IFdBUk5JTkc6IHN5cy9zb3VuZGNhcmQuaDogcHJvY2VlZGluZyB3aXRoIHRoZSBwcmVwcm9jZXNzb3IncyByZXN1bHQiID4mNQorLWVjaG8gIiRhc19tZTogV0FSTklORzogc3lzL3NvdW5kY2FyZC5oOiBwcm9jZWVkaW5nIHdpdGggdGhlIHByZXByb2Nlc3NvcidzIHJlc3VsdCIgPiYyO30KKy0gICAgKAorLSAgICAgIGNhdCA8PFxfQVNCT1gKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBSZXBvcnQgdGhpcyB0byBidWctYXV0b2NvbmZAZ251Lm9yZy4gIyMKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy1fQVNCT1gKKy0gICAgKSB8CistICAgICAgc2VkICJzL14vJGFzX21lOiBXQVJOSU5HOiAgICAgLyIgPiYyCistICAgIDs7CistICBubzp5ZXMgKQorLSAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBXQVJOSU5HOiBzeXMvc291bmRjYXJkLmg6IHByZXNlbnQgYnV0IGNhbm5vdCBiZSBjb21waWxlZCIgPiY1CistZWNobyAiJGFzX21lOiBXQVJOSU5HOiBzeXMvc291bmRjYXJkLmg6IHByZXNlbnQgYnV0IGNhbm5vdCBiZSBjb21waWxlZCIgPiYyO30KKy0gICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogV0FSTklORzogc3lzL3NvdW5kY2FyZC5oOiBjaGVjayBmb3IgbWlzc2luZyBwcmVyZXF1aXNpdGUgaGVhZGVycz8iID4mNQorLWVjaG8gIiRhc19tZTogV0FSTklORzogc3lzL3NvdW5kY2FyZC5oOiBjaGVjayBmb3IgbWlzc2luZyBwcmVyZXF1aXNpdGUgaGVhZGVycz8iID4mMjt9CistICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IFdBUk5JTkc6IHN5cy9zb3VuZGNhcmQuaDogcHJvY2VlZGluZyB3aXRoIHRoZSBwcmVwcm9jZXNzb3IncyByZXN1bHQiID4mNQorLWVjaG8gIiRhc19tZTogV0FSTklORzogc3lzL3NvdW5kY2FyZC5oOiBwcm9jZWVkaW5nIHdpdGggdGhlIHByZXByb2Nlc3NvcidzIHJlc3VsdCIgPiYyO30KKy0gICAgKAorLSAgICAgIGNhdCA8PFxfQVNCT1gKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBSZXBvcnQgdGhpcyB0byBidWctYXV0b2NvbmZAZ251Lm9yZy4gIyMKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy1fQVNCT1gKKy0gICAgKSB8CistICAgICAgc2VkICJzL14vJGFzX21lOiBXQVJOSU5HOiAgICAgLyIgPiYyCistICAgIDs7CistZXNhYworLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3Igc3lzL3NvdW5kY2FyZC5oIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBzeXMvc291bmRjYXJkLmguLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9oZWFkZXJfc3lzX3NvdW5kY2FyZF9oK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorLWVsc2UKKy0gIGFjX2N2X2hlYWRlcl9zeXNfc291bmRjYXJkX2g9JGFjX2hlYWRlcl9wcmVwcm9jCistZmkKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3ZfaGVhZGVyX3N5c19zb3VuZGNhcmRfaCIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2N2X2hlYWRlcl9zeXNfc291bmRjYXJkX2giID4mNgorLQorLWZpCistaWYgdGVzdCAkYWNfY3ZfaGVhZGVyX3N5c19zb3VuZGNhcmRfaCA9IHllczsgdGhlbgorK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJGFjX2N2X2hlYWRlcl8nJGFjX3NhZmVgXCIgPSB5ZXMiOyB0aGVuCisrICBlY2hvICIkYWNfdCIieWVzIiAxPiY2CisgICBBVURJT0RSSVZFUj0ib3NzIgorICAgICAgICAgICAgICAgIEFVRElPREVGUz0tRENTVF9BVURJT19MSU5VWAorK2Vsc2UKKysgIGVjaG8gIiRhY190IiJubyIgMT4mNgorIGZpCisgCistCistaWYgdGVzdCAiJHthY19jdl9oZWFkZXJfbWFjaGluZV9zb3VuZGNhcmRfaCtzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBtYWNoaW5lL3NvdW5kY2FyZC5oIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBtYWNoaW5lL3NvdW5kY2FyZC5oLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfaGVhZGVyX21hY2hpbmVfc291bmRjYXJkX2grc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CistZmkKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3ZfaGVhZGVyX21hY2hpbmVfc291bmRjYXJkX2giID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19jdl9oZWFkZXJfbWFjaGluZV9zb3VuZGNhcmRfaCIgPiY2CisrYWNfc2FmZT1gZWNobyAibWFjaGluZS9zb3VuZGNhcmQuaCIgfCBzZWQgJ3klLi8rLSVfX3BfJSdgCisrZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIG1hY2hpbmUvc291bmRjYXJkLmgiIi4uLiAkYWNfYyIgMT4mNgorK2VjaG8gImNvbmZpZ3VyZToxNDI3OiBjaGVja2luZyBmb3IgbWFjaGluZS9zb3VuZGNhcmQuaCIgPiY1CisraWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hlYWRlcl8kYWNfc2FmZScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisrICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKy0gICMgSXMgdGhlIGhlYWRlciBjb21waWxhYmxlPworLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBtYWNoaW5lL3NvdW5kY2FyZC5oIHVzYWJpbGl0eSIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBtYWNoaW5lL3NvdW5kY2FyZC5oIHVzYWJpbGl0eS4uLiAkRUNIT19DIiA+JjYKKy1jYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKy0kYWNfaW5jbHVkZXNfZGVmYXVsdAorKyAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorKyNsaW5lIDE0MzIgImNvbmZpZ3VyZSIKKysjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjaW5jbHVkZSA8bWFjaGluZS9zb3VuZGNhcmQuaD4KKy1fQUNFT0YKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CistICAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorLSAgICAgICAgIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQnCistICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorLSAgKGV2YWwgJGFjX3RyeSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorLSAgYWNfaGVhZGVyX2NvbXBpbGVyPXllcworK0VPRgorK2FjX3RyeT0iJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0ID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQiCisreyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNDM3OiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfQorK2FjX2Vycj1gZ3JlcCAtdiAnXiAqKycgY29uZnRlc3Qub3V0IHwgZ3JlcCAtdiAiXmNvbmZ0ZXN0LiR7YWNfZXh0fVwkImAKKytpZiB0ZXN0IC16ICIkYWNfZXJyIjsgdGhlbgorKyAgcm0gLXJmIGNvbmZ0ZXN0KgorKyAgZXZhbCAiYWNfY3ZfaGVhZGVyXyRhY19zYWZlPXllcyIKKyBlbHNlCistICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKy0KKy1hY19oZWFkZXJfY29tcGlsZXI9bm8KKysgIGVjaG8gIiRhY19lcnIiID4mNQorKyAgZWNobyAiY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKysgIGNhdCBjb25mdGVzdC4kYWNfZXh0ID4mNQorKyAgcm0gLXJmIGNvbmZ0ZXN0KgorKyAgZXZhbCAiYWNfY3ZfaGVhZGVyXyRhY19zYWZlPW5vIgorIGZpCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2hlYWRlcl9jb21waWxlciIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2hlYWRlcl9jb21waWxlciIgPiY2CistCistIyBJcyB0aGUgaGVhZGVyIHByZXNlbnQ/CistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIG1hY2hpbmUvc291bmRjYXJkLmggcHJlc2VuY2UiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgbWFjaGluZS9zb3VuZGNhcmQuaCBwcmVzZW5jZS4uLiAkRUNIT19DIiA+JjYKKy1jYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKy0jaW5jbHVkZSA8bWFjaGluZS9zb3VuZGNhcmQuaD4KKy1fQUNFT0YKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dFwiIikgPiY1CistICAoZXZhbCAkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQpIDI+Y29uZnRlc3QuZXIxCistICBhY19zdGF0dXM9JD8KKy0gIGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0LmVyMSA+Y29uZnRlc3QuZXJyCistICBybSAtZiBjb25mdGVzdC5lcjEKKy0gIGNhdCBjb25mdGVzdC5lcnIgPiY1CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfSA+L2Rldi9udWxsOyB0aGVuCistICBpZiB0ZXN0IC1zIGNvbmZ0ZXN0LmVycjsgdGhlbgorLSAgICBhY19jcHBfZXJyPSRhY19jX3ByZXByb2Nfd2Fybl9mbGFnCistICBlbHNlCistICAgIGFjX2NwcF9lcnI9CistICBmaQorLWVsc2UKKy0gIGFjX2NwcF9lcnI9eWVzCisrcm0gLWYgY29uZnRlc3QqCisgZmkKKy1pZiB0ZXN0IC16ICIkYWNfY3BwX2VyciI7IHRoZW4KKy0gIGFjX2hlYWRlcl9wcmVwcm9jPXllcworLWVsc2UKKy0gIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorLQorLSAgYWNfaGVhZGVyX3ByZXByb2M9bm8KKy1maQorLXJtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfZXh0CistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2hlYWRlcl9wcmVwcm9jIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfaGVhZGVyX3ByZXByb2MiID4mNgorLQorLSMgU28/ICBXaGF0IGFib3V0IHRoaXMgaGVhZGVyPworLWNhc2UgJGFjX2hlYWRlcl9jb21waWxlcjokYWNfaGVhZGVyX3ByZXByb2MgaW4KKy0gIHllczpubyApCistICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IFdBUk5JTkc6IG1hY2hpbmUvc291bmRjYXJkLmg6IGFjY2VwdGVkIGJ5IHRoZSBjb21waWxlciwgcmVqZWN0ZWQgYnkgdGhlIHByZXByb2Nlc3NvciEiID4mNQorLWVjaG8gIiRhc19tZTogV0FSTklORzogbWFjaGluZS9zb3VuZGNhcmQuaDogYWNjZXB0ZWQgYnkgdGhlIGNvbXBpbGVyLCByZWplY3RlZCBieSB0aGUgcHJlcHJvY2Vzc29yISIgPiYyO30KKy0gICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogV0FSTklORzogbWFjaGluZS9zb3VuZGNhcmQuaDogcHJvY2VlZGluZyB3aXRoIHRoZSBwcmVwcm9jZXNzb3IncyByZXN1bHQiID4mNQorLWVjaG8gIiRhc19tZTogV0FSTklORzogbWFjaGluZS9zb3VuZGNhcmQuaDogcHJvY2VlZGluZyB3aXRoIHRoZSBwcmVwcm9jZXNzb3IncyByZXN1bHQiID4mMjt9CistICAgICgKKy0gICAgICBjYXQgPDxcX0FTQk9YCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistIyMgUmVwb3J0IHRoaXMgdG8gYnVnLWF1dG9jb25mQGdudS5vcmcuICMjCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistX0FTQk9YCistICAgICkgfAorLSAgICAgIHNlZCAicy9eLyRhc19tZTogV0FSTklORzogICAgIC8iID4mMgorLSAgICA7OworLSAgbm86eWVzICkKKy0gICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogV0FSTklORzogbWFjaGluZS9zb3VuZGNhcmQuaDogcHJlc2VudCBidXQgY2Fubm90IGJlIGNvbXBpbGVkIiA+JjUKKy1lY2hvICIkYXNfbWU6IFdBUk5JTkc6IG1hY2hpbmUvc291bmRjYXJkLmg6IHByZXNlbnQgYnV0IGNhbm5vdCBiZSBjb21waWxlZCIgPiYyO30KKy0gICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogV0FSTklORzogbWFjaGluZS9zb3VuZGNhcmQuaDogY2hlY2sgZm9yIG1pc3NpbmcgcHJlcmVxdWlzaXRlIGhlYWRlcnM/IiA+JjUKKy1lY2hvICIkYXNfbWU6IFdBUk5JTkc6IG1hY2hpbmUvc291bmRjYXJkLmg6IGNoZWNrIGZvciBtaXNzaW5nIHByZXJlcXVpc2l0ZSBoZWFkZXJzPyIgPiYyO30KKy0gICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogV0FSTklORzogbWFjaGluZS9zb3VuZGNhcmQuaDogcHJvY2VlZGluZyB3aXRoIHRoZSBwcmVwcm9jZXNzb3IncyByZXN1bHQiID4mNQorLWVjaG8gIiRhc19tZTogV0FSTklORzogbWFjaGluZS9zb3VuZGNhcmQuaDogcHJvY2VlZGluZyB3aXRoIHRoZSBwcmVwcm9jZXNzb3IncyByZXN1bHQiID4mMjt9CistICAgICgKKy0gICAgICBjYXQgPDxcX0FTQk9YCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistIyMgUmVwb3J0IHRoaXMgdG8gYnVnLWF1dG9jb25mQGdudS5vcmcuICMjCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistX0FTQk9YCistICAgICkgfAorLSAgICAgIHNlZCAicy9eLyRhc19tZTogV0FSTklORzogICAgIC8iID4mMgorLSAgICA7OworLWVzYWMKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIG1hY2hpbmUvc291bmRjYXJkLmgiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIG1hY2hpbmUvc291bmRjYXJkLmguLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9oZWFkZXJfbWFjaGluZV9zb3VuZGNhcmRfaCtzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKy1lbHNlCistICBhY19jdl9oZWFkZXJfbWFjaGluZV9zb3VuZGNhcmRfaD0kYWNfaGVhZGVyX3ByZXByb2MKKy1maQorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9oZWFkZXJfbWFjaGluZV9zb3VuZGNhcmRfaCIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2N2X2hlYWRlcl9tYWNoaW5lX3NvdW5kY2FyZF9oIiA+JjYKKy0KKy1maQorLWlmIHRlc3QgJGFjX2N2X2hlYWRlcl9tYWNoaW5lX3NvdW5kY2FyZF9oID0geWVzOyB0aGVuCisraWYgZXZhbCAidGVzdCBcImBlY2hvICckYWNfY3ZfaGVhZGVyXyckYWNfc2FmZWBcIiA9IHllcyI7IHRoZW4KKysgIGVjaG8gIiRhY190IiJ5ZXMiIDE+JjYKKyAgIEFVRElPRFJJVkVSPSJvc3MiCisgICAgICAgICAgICAgICAgQVVESU9ERUZTPS1EQ1NUX0FVRElPX0ZSRUVCU0QKKytlbHNlCisrICBlY2hvICIkYWNfdCIibm8iIDE+JjYKKyBmaQorIAorLQorLWlmIHRlc3QgIiR7YWNfY3ZfaGVhZGVyX3N5c19hdWRpb2lvX2grc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3Igc3lzL2F1ZGlvaW8uaCIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3Igc3lzL2F1ZGlvaW8uaC4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X2hlYWRlcl9zeXNfYXVkaW9pb19oK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorLWZpCistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X2hlYWRlcl9zeXNfYXVkaW9pb19oIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfY3ZfaGVhZGVyX3N5c19hdWRpb2lvX2giID4mNgorK2FjX3NhZmU9YGVjaG8gInN5cy9hdWRpb2lvLmgiIHwgc2VkICd5JS4vKy0lX19wXyUnYAorK2VjaG8gJGFjX24gImNoZWNraW5nIGZvciBzeXMvYXVkaW9pby5oIiIuLi4gJGFjX2MiIDE+JjYKKytlY2hvICJjb25maWd1cmU6MTQ2MTogY2hlY2tpbmcgZm9yIHN5cy9hdWRpb2lvLmgiID4mNQorK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9oZWFkZXJfJGFjX3NhZmUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorKyAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCistICAjIElzIHRoZSBoZWFkZXIgY29tcGlsYWJsZT8KKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgc3lzL2F1ZGlvaW8uaCB1c2FiaWxpdHkiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgc3lzL2F1ZGlvaW8uaCB1c2FiaWxpdHkuLi4gJEVDSE9fQyIgPiY2CistY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCistJGFjX2luY2x1ZGVzX2RlZmF1bHQKKysgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKysjbGluZSAxNDY2ICJjb25maWd1cmUiCisrI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2luY2x1ZGUgPHN5cy9hdWRpb2lvLmg+CistX0FDRU9GCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKy0gICAgICAgICB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworLSAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKy0gIChldmFsICRhY190cnkpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKy0gIGFjX2hlYWRlcl9jb21waWxlcj15ZXMKKytFT0YKKythY190cnk9IiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0IgorK3sgKGV2YWwgZWNobyBjb25maWd1cmU6MTQ3MTogXCIkYWNfdHJ5XCIpIDE+JjU7IChldmFsICRhY190cnkpIDI+JjU7IH0KKythY19lcnI9YGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0Lm91dCB8IGdyZXAgLXYgIl5jb25mdGVzdC4ke2FjX2V4dH1cJCJgCisraWYgdGVzdCAteiAiJGFjX2VyciI7IHRoZW4KKysgIHJtIC1yZiBjb25mdGVzdCoKKysgIGV2YWwgImFjX2N2X2hlYWRlcl8kYWNfc2FmZT15ZXMiCisgZWxzZQorLSAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CistCistYWNfaGVhZGVyX2NvbXBpbGVyPW5vCisrICBlY2hvICIkYWNfZXJyIiA+JjUKKysgIGVjaG8gImNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CisrICBjYXQgY29uZnRlc3QuJGFjX2V4dCA+JjUKKysgIHJtIC1yZiBjb25mdGVzdCoKKysgIGV2YWwgImFjX2N2X2hlYWRlcl8kYWNfc2FmZT1ubyIKKyBmaQorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19oZWFkZXJfY29tcGlsZXIiID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19oZWFkZXJfY29tcGlsZXIiID4mNgorLQorLSMgSXMgdGhlIGhlYWRlciBwcmVzZW50PworLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBzeXMvYXVkaW9pby5oIHByZXNlbmNlIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIHN5cy9hdWRpb2lvLmggcHJlc2VuY2UuLi4gJEVDSE9fQyIgPiY2CistY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCistI2luY2x1ZGUgPHN5cy9hdWRpb2lvLmg+CistX0FDRU9GCistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHRcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0KSAyPmNvbmZ0ZXN0LmVyMQorLSAgYWNfc3RhdHVzPSQ/CistICBncmVwIC12ICdeICorJyBjb25mdGVzdC5lcjEgPmNvbmZ0ZXN0LmVycgorLSAgcm0gLWYgY29uZnRlc3QuZXIxCistICBjYXQgY29uZnRlc3QuZXJyID4mNQorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gPi9kZXYvbnVsbDsgdGhlbgorLSAgaWYgdGVzdCAtcyBjb25mdGVzdC5lcnI7IHRoZW4KKy0gICAgYWNfY3BwX2Vycj0kYWNfY19wcmVwcm9jX3dhcm5fZmxhZworLSAgZWxzZQorLSAgICBhY19jcHBfZXJyPQorLSAgZmkKKy1lbHNlCistICBhY19jcHBfZXJyPXllcworK3JtIC1mIGNvbmZ0ZXN0KgorIGZpCistaWYgdGVzdCAteiAiJGFjX2NwcF9lcnIiOyB0aGVuCistICBhY19oZWFkZXJfcHJlcHJvYz15ZXMKKy1lbHNlCistICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKy0KKy0gIGFjX2hlYWRlcl9wcmVwcm9jPW5vCistZmkKKy1ybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX2V4dAorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19oZWFkZXJfcHJlcHJvYyIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2hlYWRlcl9wcmVwcm9jIiA+JjYKKy0KKy0jIFNvPyAgV2hhdCBhYm91dCB0aGlzIGhlYWRlcj8KKy1jYXNlICRhY19oZWFkZXJfY29tcGlsZXI6JGFjX2hlYWRlcl9wcmVwcm9jIGluCistICB5ZXM6bm8gKQorLSAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBXQVJOSU5HOiBzeXMvYXVkaW9pby5oOiBhY2NlcHRlZCBieSB0aGUgY29tcGlsZXIsIHJlamVjdGVkIGJ5IHRoZSBwcmVwcm9jZXNzb3IhIiA+JjUKKy1lY2hvICIkYXNfbWU6IFdBUk5JTkc6IHN5cy9hdWRpb2lvLmg6IGFjY2VwdGVkIGJ5IHRoZSBjb21waWxlciwgcmVqZWN0ZWQgYnkgdGhlIHByZXByb2Nlc3NvciEiID4mMjt9CistICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IFdBUk5JTkc6IHN5cy9hdWRpb2lvLmg6IHByb2NlZWRpbmcgd2l0aCB0aGUgcHJlcHJvY2Vzc29yJ3MgcmVzdWx0IiA+JjUKKy1lY2hvICIkYXNfbWU6IFdBUk5JTkc6IHN5cy9hdWRpb2lvLmg6IHByb2NlZWRpbmcgd2l0aCB0aGUgcHJlcHJvY2Vzc29yJ3MgcmVzdWx0IiA+JjI7fQorLSAgICAoCistICAgICAgY2F0IDw8XF9BU0JPWAorLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIFJlcG9ydCB0aGlzIHRvIGJ1Zy1hdXRvY29uZkBnbnUub3JnLiAjIworLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLV9BU0JPWAorLSAgICApIHwKKy0gICAgICBzZWQgInMvXi8kYXNfbWU6IFdBUk5JTkc6ICAgICAvIiA+JjIKKy0gICAgOzsKKy0gIG5vOnllcyApCistICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IFdBUk5JTkc6IHN5cy9hdWRpb2lvLmg6IHByZXNlbnQgYnV0IGNhbm5vdCBiZSBjb21waWxlZCIgPiY1CistZWNobyAiJGFzX21lOiBXQVJOSU5HOiBzeXMvYXVkaW9pby5oOiBwcmVzZW50IGJ1dCBjYW5ub3QgYmUgY29tcGlsZWQiID4mMjt9CistICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IFdBUk5JTkc6IHN5cy9hdWRpb2lvLmg6IGNoZWNrIGZvciBtaXNzaW5nIHByZXJlcXVpc2l0ZSBoZWFkZXJzPyIgPiY1CistZWNobyAiJGFzX21lOiBXQVJOSU5HOiBzeXMvYXVkaW9pby5oOiBjaGVjayBmb3IgbWlzc2luZyBwcmVyZXF1aXNpdGUgaGVhZGVycz8iID4mMjt9CistICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IFdBUk5JTkc6IHN5cy9hdWRpb2lvLmg6IHByb2NlZWRpbmcgd2l0aCB0aGUgcHJlcHJvY2Vzc29yJ3MgcmVzdWx0IiA+JjUKKy1lY2hvICIkYXNfbWU6IFdBUk5JTkc6IHN5cy9hdWRpb2lvLmg6IHByb2NlZWRpbmcgd2l0aCB0aGUgcHJlcHJvY2Vzc29yJ3MgcmVzdWx0IiA+JjI7fQorLSAgICAoCistICAgICAgY2F0IDw8XF9BU0JPWAorLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIFJlcG9ydCB0aGlzIHRvIGJ1Zy1hdXRvY29uZkBnbnUub3JnLiAjIworLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLV9BU0JPWAorLSAgICApIHwKKy0gICAgICBzZWQgInMvXi8kYXNfbWU6IFdBUk5JTkc6ICAgICAvIiA+JjIKKy0gICAgOzsKKy1lc2FjCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBzeXMvYXVkaW9pby5oIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBzeXMvYXVkaW9pby5oLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfaGVhZGVyX3N5c19hdWRpb2lvX2grc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CistZWxzZQorLSAgYWNfY3ZfaGVhZGVyX3N5c19hdWRpb2lvX2g9JGFjX2hlYWRlcl9wcmVwcm9jCistZmkKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3ZfaGVhZGVyX3N5c19hdWRpb2lvX2giID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19jdl9oZWFkZXJfc3lzX2F1ZGlvaW9faCIgPiY2CistCistZmkKKy1pZiB0ZXN0ICRhY19jdl9oZWFkZXJfc3lzX2F1ZGlvaW9faCA9IHllczsgdGhlbgorK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJGFjX2N2X2hlYWRlcl8nJGFjX3NhZmVgXCIgPSB5ZXMiOyB0aGVuCisrICBlY2hvICIkYWNfdCIieWVzIiAxPiY2CisgICBBVURJT0RSSVZFUj0ic3VuIgorICAgICAgICAgICAgICAgIEFVRElPREVGUz0tRENTVF9BVURJT19TVU5PUworK2Vsc2UKKysgIGVjaG8gIiRhY190IiJubyIgMT4mNgorIGZpCisgCistCistaWYgdGVzdCAiJHthY19jdl9oZWFkZXJfbW1zeXN0ZW1faCtzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBtbXN5c3RlbS5oIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBtbXN5c3RlbS5oLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfaGVhZGVyX21tc3lzdGVtX2grc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CistZmkKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3ZfaGVhZGVyX21tc3lzdGVtX2giID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19jdl9oZWFkZXJfbW1zeXN0ZW1faCIgPiY2CisrIGFjX3NhZmU9YGVjaG8gImFsc2EvYXNvdW5kbGliLmgiIHwgc2VkICd5JS4vKy0lX19wXyUnYAorK2VjaG8gJGFjX24gImNoZWNraW5nIGZvciBhbHNhL2Fzb3VuZGxpYi5oIiIuLi4gJGFjX2MiIDE+JjYKKytlY2hvICJjb25maWd1cmU6MTQ5NTogY2hlY2tpbmcgZm9yIGFsc2EvYXNvdW5kbGliLmgiID4mNQorK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9oZWFkZXJfJGFjX3NhZmUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorKyAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCistICAjIElzIHRoZSBoZWFkZXIgY29tcGlsYWJsZT8KKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgbW1zeXN0ZW0uaCB1c2FiaWxpdHkiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgbW1zeXN0ZW0uaCB1c2FiaWxpdHkuLi4gJEVDSE9fQyIgPiY2CistY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCistJGFjX2luY2x1ZGVzX2RlZmF1bHQKKy0jaW5jbHVkZSA8bW1zeXN0ZW0uaD4KKy1fQUNFT0YKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CistICAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorLSAgICAgICAgIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQnCistICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorLSAgKGV2YWwgJGFjX3RyeSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorLSAgYWNfaGVhZGVyX2NvbXBpbGVyPXllcworKyAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorKyNsaW5lIDE1MDAgImNvbmZpZ3VyZSIKKysjaW5jbHVkZSAiY29uZmRlZnMuaCIKKysjaW5jbHVkZSA8YWxzYS9hc291bmRsaWIuaD4KKytFT0YKKythY190cnk9IiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0IgorK3sgKGV2YWwgZWNobyBjb25maWd1cmU6MTUwNTogXCIkYWNfdHJ5XCIpIDE+JjU7IChldmFsICRhY190cnkpIDI+JjU7IH0KKythY19lcnI9YGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0Lm91dCB8IGdyZXAgLXYgIl5jb25mdGVzdC4ke2FjX2V4dH1cJCJgCisraWYgdGVzdCAteiAiJGFjX2VyciI7IHRoZW4KKysgIHJtIC1yZiBjb25mdGVzdCoKKysgIGV2YWwgImFjX2N2X2hlYWRlcl8kYWNfc2FmZT15ZXMiCisgZWxzZQorLSAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CistCistYWNfaGVhZGVyX2NvbXBpbGVyPW5vCisrICBlY2hvICIkYWNfZXJyIiA+JjUKKysgIGVjaG8gImNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CisrICBjYXQgY29uZnRlc3QuJGFjX2V4dCA+JjUKKysgIHJtIC1yZiBjb25mdGVzdCoKKysgIGV2YWwgImFjX2N2X2hlYWRlcl8kYWNfc2FmZT1ubyIKKyBmaQorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19oZWFkZXJfY29tcGlsZXIiID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19oZWFkZXJfY29tcGlsZXIiID4mNgorLQorLSMgSXMgdGhlIGhlYWRlciBwcmVzZW50PworLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBtbXN5c3RlbS5oIHByZXNlbmNlIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIG1tc3lzdGVtLmggcHJlc2VuY2UuLi4gJEVDSE9fQyIgPiY2CistY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCistI2luY2x1ZGUgPG1tc3lzdGVtLmg+CistX0FDRU9GCistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHRcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0KSAyPmNvbmZ0ZXN0LmVyMQorLSAgYWNfc3RhdHVzPSQ/CistICBncmVwIC12ICdeICorJyBjb25mdGVzdC5lcjEgPmNvbmZ0ZXN0LmVycgorLSAgcm0gLWYgY29uZnRlc3QuZXIxCistICBjYXQgY29uZnRlc3QuZXJyID4mNQorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gPi9kZXYvbnVsbDsgdGhlbgorLSAgaWYgdGVzdCAtcyBjb25mdGVzdC5lcnI7IHRoZW4KKy0gICAgYWNfY3BwX2Vycj0kYWNfY19wcmVwcm9jX3dhcm5fZmxhZworLSAgZWxzZQorLSAgICBhY19jcHBfZXJyPQorLSAgZmkKKy1lbHNlCistICBhY19jcHBfZXJyPXllcworK3JtIC1mIGNvbmZ0ZXN0KgorIGZpCistaWYgdGVzdCAteiAiJGFjX2NwcF9lcnIiOyB0aGVuCistICBhY19oZWFkZXJfcHJlcHJvYz15ZXMKKytpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyRhY19jdl9oZWFkZXJfJyRhY19zYWZlYFwiID0geWVzIjsgdGhlbgorKyAgZWNobyAiJGFjX3QiInllcyIgMT4mNgorKyAgQVVESU9EUklWRVI9ImFsc2EiCisrCSAgICAgICBBVURJT0RFRlM9LURDU1RfQVVESU9fQUxTQQorKyAgICAgICAgICAgICAgIEFVRElPTElCUz0tbGFzb3VuZAorIGVsc2UKKy0gIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorLQorLSAgYWNfaGVhZGVyX3ByZXByb2M9bm8KKysgIGVjaG8gIiRhY190IiJubyIgMT4mNgorIGZpCistcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19leHQKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfaGVhZGVyX3ByZXByb2MiID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19oZWFkZXJfcHJlcHJvYyIgPiY2CisgCistIyBTbz8gIFdoYXQgYWJvdXQgdGhpcyBoZWFkZXI/CistY2FzZSAkYWNfaGVhZGVyX2NvbXBpbGVyOiRhY19oZWFkZXJfcHJlcHJvYyBpbgorLSAgeWVzOm5vICkKKy0gICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogV0FSTklORzogbW1zeXN0ZW0uaDogYWNjZXB0ZWQgYnkgdGhlIGNvbXBpbGVyLCByZWplY3RlZCBieSB0aGUgcHJlcHJvY2Vzc29yISIgPiY1CistZWNobyAiJGFzX21lOiBXQVJOSU5HOiBtbXN5c3RlbS5oOiBhY2NlcHRlZCBieSB0aGUgY29tcGlsZXIsIHJlamVjdGVkIGJ5IHRoZSBwcmVwcm9jZXNzb3IhIiA+JjI7fQorLSAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBXQVJOSU5HOiBtbXN5c3RlbS5oOiBwcm9jZWVkaW5nIHdpdGggdGhlIHByZXByb2Nlc3NvcidzIHJlc3VsdCIgPiY1CistZWNobyAiJGFzX21lOiBXQVJOSU5HOiBtbXN5c3RlbS5oOiBwcm9jZWVkaW5nIHdpdGggdGhlIHByZXByb2Nlc3NvcidzIHJlc3VsdCIgPiYyO30KKy0gICAgKAorLSAgICAgIGNhdCA8PFxfQVNCT1gKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBSZXBvcnQgdGhpcyB0byBidWctYXV0b2NvbmZAZ251Lm9yZy4gIyMKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy1fQVNCT1gKKy0gICAgKSB8CistICAgICAgc2VkICJzL14vJGFzX21lOiBXQVJOSU5HOiAgICAgLyIgPiYyCistICAgIDs7CistICBubzp5ZXMgKQorLSAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBXQVJOSU5HOiBtbXN5c3RlbS5oOiBwcmVzZW50IGJ1dCBjYW5ub3QgYmUgY29tcGlsZWQiID4mNQorLWVjaG8gIiRhc19tZTogV0FSTklORzogbW1zeXN0ZW0uaDogcHJlc2VudCBidXQgY2Fubm90IGJlIGNvbXBpbGVkIiA+JjI7fQorLSAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBXQVJOSU5HOiBtbXN5c3RlbS5oOiBjaGVjayBmb3IgbWlzc2luZyBwcmVyZXF1aXNpdGUgaGVhZGVycz8iID4mNQorLWVjaG8gIiRhc19tZTogV0FSTklORzogbW1zeXN0ZW0uaDogY2hlY2sgZm9yIG1pc3NpbmcgcHJlcmVxdWlzaXRlIGhlYWRlcnM/IiA+JjI7fQorLSAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBXQVJOSU5HOiBtbXN5c3RlbS5oOiBwcm9jZWVkaW5nIHdpdGggdGhlIHByZXByb2Nlc3NvcidzIHJlc3VsdCIgPiY1CistZWNobyAiJGFzX21lOiBXQVJOSU5HOiBtbXN5c3RlbS5oOiBwcm9jZWVkaW5nIHdpdGggdGhlIHByZXByb2Nlc3NvcidzIHJlc3VsdCIgPiYyO30KKy0gICAgKAorLSAgICAgIGNhdCA8PFxfQVNCT1gKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBSZXBvcnQgdGhpcyB0byBidWctYXV0b2NvbmZAZ251Lm9yZy4gIyMKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy1fQVNCT1gKKy0gICAgKSB8CistICAgICAgc2VkICJzL14vJGFzX21lOiBXQVJOSU5HOiAgICAgLyIgPiYyCistICAgIDs7CistZXNhYworLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgbW1zeXN0ZW0uaCIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgbW1zeXN0ZW0uaC4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X2hlYWRlcl9tbXN5c3RlbV9oK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorK2FjX3NhZmU9YGVjaG8gIm1tc3lzdGVtLmgiIHwgc2VkICd5JS4vKy0lX19wXyUnYAorK2VjaG8gJGFjX24gImNoZWNraW5nIGZvciBtbXN5c3RlbS5oIiIuLi4gJGFjX2MiIDE+JjYKKytlY2hvICJjb25maWd1cmU6MTUzMDogY2hlY2tpbmcgZm9yIG1tc3lzdGVtLmgiID4mNQorK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9oZWFkZXJfJGFjX3NhZmUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorKyAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCistICBhY19jdl9oZWFkZXJfbW1zeXN0ZW1faD0kYWNfaGVhZGVyX3ByZXByb2MKKysgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKysjbGluZSAxNTM1ICJjb25maWd1cmUiCisrI2luY2x1ZGUgImNvbmZkZWZzLmgiCisrI2luY2x1ZGUgPG1tc3lzdGVtLmg+CisrRU9GCisrYWNfdHJ5PSIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dCIKKyt7IChldmFsIGVjaG8gY29uZmlndXJlOjE1NDA6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9CisrYWNfZXJyPWBncmVwIC12ICdeICorJyBjb25mdGVzdC5vdXQgfCBncmVwIC12ICJeY29uZnRlc3QuJHthY19leHR9XCQiYAorK2lmIHRlc3QgLXogIiRhY19lcnIiOyB0aGVuCisrICBybSAtcmYgY29uZnRlc3QqCisrICBldmFsICJhY19jdl9oZWFkZXJfJGFjX3NhZmU9eWVzIgorK2Vsc2UKKysgIGVjaG8gIiRhY19lcnIiID4mNQorKyAgZWNobyAiY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKysgIGNhdCBjb25mdGVzdC4kYWNfZXh0ID4mNQorKyAgcm0gLXJmIGNvbmZ0ZXN0KgorKyAgZXZhbCAiYWNfY3ZfaGVhZGVyXyRhY19zYWZlPW5vIgorIGZpCistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X2hlYWRlcl9tbXN5c3RlbV9oIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfY3ZfaGVhZGVyX21tc3lzdGVtX2giID4mNgorLQorK3JtIC1mIGNvbmZ0ZXN0KgorIGZpCistaWYgdGVzdCAkYWNfY3ZfaGVhZGVyX21tc3lzdGVtX2ggPSB5ZXM7IHRoZW4KKytpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyRhY19jdl9oZWFkZXJfJyRhY19zYWZlYFwiID0geWVzIjsgdGhlbgorKyAgZWNobyAiJGFjX3QiInllcyIgMT4mNgorICAgQVVESU9EUklWRVI9IndpbmNlIgorIAkgICAgICAgQVVESU9ERUZTPS1EQ1NUX0FVRElPX1dJTkNFCisgCSAgICAgICBBVURJT0xJQlM9LWx3aW5tbQorK2Vsc2UKKysgIGVjaG8gIiRhY190IiJubyIgMT4mNgorIGZpCisgCisgCistCistCisgIyBDaGVjayB3aGV0aGVyIC0td2l0aC1hdWRpbyBvciAtLXdpdGhvdXQtYXVkaW8gd2FzIGdpdmVuLgorIGlmIHRlc3QgIiR7d2l0aF9hdWRpbytzZXR9IiA9IHNldDsgdGhlbgorICAgd2l0aHZhbD0iJHdpdGhfYXVkaW8iCistICBBVURJT0RSSVZFUj0kd2l0aF9hdWRpbworLWZpOworKyAgQVVESU9EUklWRVI9JHdpdGhfYXVkaW8gCisrZmkKKyAKKysKKyBpZiB0ZXN0ICJ4JEFVRElPREVGUyIgPSB4OyB0aGVuCisgICAgIGNhc2UgIiRBVURJT0RSSVZFUiIgaW4KKyAJbGludXh8b3NzKQorQEAgLTQwMDYsMzQgKzE1OTUsMzQgQEAKKyAKKyAKKyAKKy0KKyAjIENoZWNrIHdoZXRoZXIgLS13aXRoLWxhbmcgb3IgLS13aXRob3V0LWxhbmcgd2FzIGdpdmVuLgorIGlmIHRlc3QgIiR7d2l0aF9sYW5nK3NldH0iID0gc2V0OyB0aGVuCisgICB3aXRodmFsPSIkd2l0aF9sYW5nIgorLSAgRkxfTEFORz0kd2l0aF9sYW5nCistZmk7CisrICBGTF9MQU5HPSR3aXRoX2xhbmcgCisrZmkKKysKKyBpZiB0ZXN0ICJ4JHdpdGhfbGFuZyIgPSAieCI7IHRoZW4KKyAgICAgICAgIEZMX0xBTkc9InVzZW5nbGlzaCIKKyBmaQorIAorIAorLQorICMgQ2hlY2sgd2hldGhlciAtLXdpdGgtdm94IG9yIC0td2l0aG91dC12b3ggd2FzIGdpdmVuLgorIGlmIHRlc3QgIiR7d2l0aF92b3grc2V0fSIgPSBzZXQ7IHRoZW4KKyAgIHdpdGh2YWw9IiR3aXRoX3ZveCIKKy0gIEZMX1ZPWD0kd2l0aF92b3gKKy1maTsKKysgIEZMX1ZPWD0kd2l0aF92b3ggCisrZmkKKysKKyBpZiB0ZXN0ICJ4JHdpdGhfdm94IiA9ICJ4IjsgdGhlbgorICAgICAgICAgRkxfVk9YPSJjbXVfdXNfa2FsIgorIGZpCisgCisgCistCisgIyBDaGVjayB3aGV0aGVyIC0td2l0aC1sZXggb3IgLS13aXRob3V0LWxleCB3YXMgZ2l2ZW4uCisgaWYgdGVzdCAiJHt3aXRoX2xleCtzZXR9IiA9IHNldDsgdGhlbgorICAgd2l0aHZhbD0iJHdpdGhfbGV4IgorLSAgRkxfTEVYPSR3aXRoX2xleAorLWZpOworKyAgRkxfTEVYPSR3aXRoX2xleCAKKytmaQorKworIGlmIHRlc3QgIngkd2l0aF9sZXgiID0gIngiOyB0aGVuCisgICAgICAgICBGTF9MRVg9ImNtdWxleCIKKyBmaQorQEAgLTQwNDEsOTIxICsxNjMwLDMwMCBAQAorIAorIAorIAorLSAgICAgICAgICAgICAgICAgICAgYWNfY29uZmlnX2ZpbGVzPSIkYWNfY29uZmlnX2ZpbGVzIGNvbmZpZy9jb25maWcgY29uZmlnL3N5c3RlbS5tYWsiCistY2F0ID5jb25mY2FjaGUgPDxcX0FDRU9GCisrdHJhcCAnJyAxIDIgMTUKKytjYXQgPiBjb25mY2FjaGUgPDxcRU9GCisgIyBUaGlzIGZpbGUgaXMgYSBzaGVsbCBzY3JpcHQgdGhhdCBjYWNoZXMgdGhlIHJlc3VsdHMgb2YgY29uZmlndXJlCisgIyB0ZXN0cyBydW4gb24gdGhpcyBzeXN0ZW0gc28gdGhleSBjYW4gYmUgc2hhcmVkIGJldHdlZW4gY29uZmlndXJlCistIyBzY3JpcHRzIGFuZCBjb25maWd1cmUgcnVucywgc2VlIGNvbmZpZ3VyZSdzIG9wdGlvbiAtLWNvbmZpZy1jYWNoZS4KKy0jIEl0IGlzIG5vdCB1c2VmdWwgb24gb3RoZXIgc3lzdGVtcy4gIElmIGl0IGNvbnRhaW5zIHJlc3VsdHMgeW91IGRvbid0CistIyB3YW50IHRvIGtlZXAsIHlvdSBtYXkgcmVtb3ZlIG9yIGVkaXQgaXQuCisrIyBzY3JpcHRzIGFuZCBjb25maWd1cmUgcnVucy4gIEl0IGlzIG5vdCB1c2VmdWwgb24gb3RoZXIgc3lzdGVtcy4KKysjIElmIGl0IGNvbnRhaW5zIHJlc3VsdHMgeW91IGRvbid0IHdhbnQgdG8ga2VlcCwgeW91IG1heSByZW1vdmUgb3IgZWRpdCBpdC4KKyAjCistIyBjb25maWcuc3RhdHVzIG9ubHkgcGF5cyBhdHRlbnRpb24gdG8gdGhlIGNhY2hlIGZpbGUgaWYgeW91IGdpdmUgaXQKKy0jIHRoZSAtLXJlY2hlY2sgb3B0aW9uIHRvIHJlcnVuIGNvbmZpZ3VyZS4KKysjIEJ5IGRlZmF1bHQsIGNvbmZpZ3VyZSB1c2VzIC4vY29uZmlnLmNhY2hlIGFzIHRoZSBjYWNoZSBmaWxlLAorKyMgY3JlYXRpbmcgaXQgaWYgaXQgZG9lcyBub3QgZXhpc3QgYWxyZWFkeS4gIFlvdSBjYW4gZ2l2ZSBjb25maWd1cmUKKysjIHRoZSAtLWNhY2hlLWZpbGU9RklMRSBvcHRpb24gdG8gdXNlIGEgZGlmZmVyZW50IGNhY2hlIGZpbGU7IHRoYXQgaXMKKysjIHdoYXQgY29uZmlndXJlIGRvZXMgd2hlbiBpdCBjYWxscyBjb25maWd1cmUgc2NyaXB0cyBpbgorKyMgc3ViZGlyZWN0b3JpZXMsIHNvIHRoZXkgc2hhcmUgdGhlIGNhY2hlLgorKyMgR2l2aW5nIC0tY2FjaGUtZmlsZT0vZGV2L251bGwgZGlzYWJsZXMgY2FjaGluZywgZm9yIGRlYnVnZ2luZyBjb25maWd1cmUuCisrIyBjb25maWcuc3RhdHVzIG9ubHkgcGF5cyBhdHRlbnRpb24gdG8gdGhlIGNhY2hlIGZpbGUgaWYgeW91IGdpdmUgaXQgdGhlCisrIyAtLXJlY2hlY2sgb3B0aW9uIHRvIHJlcnVuIGNvbmZpZ3VyZS4KKyAjCistIyBgYWNfY3ZfZW52X2ZvbycgdmFyaWFibGVzIChzZXQgb3IgdW5zZXQpIHdpbGwgYmUgb3ZlcnJpZGRlbiB3aGVuCistIyBsb2FkaW5nIHRoaXMgZmlsZSwgb3RoZXIgKnVuc2V0KiBgYWNfY3ZfZm9vJyB3aWxsIGJlIGFzc2lnbmVkIHRoZQorLSMgZm9sbG93aW5nIHZhbHVlcy4KKy0KKy1fQUNFT0YKKy0KKytFT0YKKyAjIFRoZSBmb2xsb3dpbmcgd2F5IG9mIHdyaXRpbmcgdGhlIGNhY2hlIG1pc2hhbmRsZXMgbmV3bGluZXMgaW4gdmFsdWVzLAorICMgYnV0IHdlIGtub3cgb2Ygbm8gd29ya2Fyb3VuZCB0aGF0IGlzIHNpbXBsZSwgcG9ydGFibGUsIGFuZCBlZmZpY2llbnQuCisgIyBTbywgZG9uJ3QgcHV0IG5ld2xpbmVzIGluIGNhY2hlIHZhcmlhYmxlcycgdmFsdWVzLgorICMgVWx0cml4IHNoIHNldCB3cml0ZXMgdG8gc3RkZXJyIGFuZCBjYW4ndCBiZSByZWRpcmVjdGVkIGRpcmVjdGx5LAorICMgYW5kIHNldHMgdGhlIGhpZ2ggYml0IGluIHRoZSBjYWNoZSBmaWxlIHVubGVzcyB3ZSBhc3NpZ24gdG8gdGhlIHZhcnMuCisteworLSAgKHNldCkgMj4mMSB8CistICAgIGNhc2UgYChhY19zcGFjZT0nICc7IHNldCB8IGdyZXAgYWNfc3BhY2UpIDI+JjFgIGluCistICAgICphY19zcGFjZT1cICopCistICAgICAgIyBgc2V0JyBkb2VzIG5vdCBxdW90ZSBjb3JyZWN0bHksIHNvIGFkZCBxdW90ZXMgKGRvdWJsZS1xdW90ZQorLSAgICAgICMgc3Vic3RpdHV0aW9uIHR1cm5zIFxcXFwgaW50byBcXCwgYW5kIHNlZCB0dXJucyBcXCBpbnRvIFwpLgorLSAgICAgIHNlZCAtbiBcCistICAgICAgICAicy8nLydcXFxcJycvZzsKKy0gICAgCSAgcy9eXFwoW18kYXNfY3JfYWxudW1dKl9jdl9bXyRhc19jcl9hbG51bV0qXFwpPVxcKC4qXFwpL1xcMT0nXFwyJy9wIgorLSAgICAgIDs7CistICAgICopCistICAgICAgIyBgc2V0JyBxdW90ZXMgY29ycmVjdGx5IGFzIHJlcXVpcmVkIGJ5IFBPU0lYLCBzbyBkbyBub3QgYWRkIHF1b3Rlcy4KKy0gICAgICBzZWQgLW4gXAorLSAgICAgICAgInMvXlxcKFtfJGFzX2NyX2FsbnVtXSpfY3ZfW18kYXNfY3JfYWxudW1dKlxcKT1cXCguKlxcKS9cXDE9XFwyL3AiCistICAgICAgOzsKKy0gICAgZXNhYzsKKy19IHwKKy0gIHNlZCAnCistICAgICB0IGNsZWFyCistICAgICA6IGNsZWFyCistICAgICBzL15cKFtePV0qXCk9XCguKlt7fV0uKlwpJC90ZXN0ICIke1wxK3NldH0iID0gc2V0IHx8ICYvCistICAgICB0IGVuZAorLSAgICAgL15hY19jdl9lbnYvIXMvXlwoW149XSpcKT1cKC4qXCkkL1wxPSR7XDE9XDJ9LworLSAgICAgOiBlbmQnID4+Y29uZmNhY2hlCistaWYgZGlmZiAkY2FjaGVfZmlsZSBjb25mY2FjaGUgPi9kZXYvbnVsbCAyPiYxOyB0aGVuIDo7IGVsc2UKKysoc2V0KSAyPiYxIHwKKysgIGNhc2UgYChhY19zcGFjZT0nICc7IHNldCB8IGdyZXAgYWNfc3BhY2UpIDI+JjFgIGluCisrICAqYWNfc3BhY2U9XCAqKQorKyAgICAjIGBzZXQnIGRvZXMgbm90IHF1b3RlIGNvcnJlY3RseSwgc28gYWRkIHF1b3RlcyAoZG91YmxlLXF1b3RlIHN1YnN0aXR1dGlvbgorKyAgICAjIHR1cm5zIFxcXFwgaW50byBcXCwgYW5kIHNlZCB0dXJucyBcXCBpbnRvIFwpLgorKyAgICBzZWQgLW4gXAorKyAgICAgIC1lICJzLycvJ1xcXFwnJy9nIiBcCisrICAgICAgLWUgInMvXlxcKFthLXpBLVowLTlfXSpfY3ZfW2EtekEtWjAtOV9dKlxcKT1cXCguKlxcKS9cXDE9XCR7XFwxPSdcXDInfS9wIgorKyAgICA7OworKyAgKikKKysgICAgIyBgc2V0JyBxdW90ZXMgY29ycmVjdGx5IGFzIHJlcXVpcmVkIGJ5IFBPU0lYLCBzbyBkbyBub3QgYWRkIHF1b3Rlcy4KKysgICAgc2VkIC1uIC1lICdzL15cKFthLXpBLVowLTlfXSpfY3ZfW2EtekEtWjAtOV9dKlwpPVwoLipcKS9cMT0ke1wxPVwyfS9wJworKyAgICA7OworKyAgZXNhYyA+PiBjb25mY2FjaGUKKytpZiBjbXAgLXMgJGNhY2hlX2ZpbGUgY29uZmNhY2hlOyB0aGVuCisrICA6CisrZWxzZQorICAgaWYgdGVzdCAtdyAkY2FjaGVfZmlsZTsgdGhlbgorLSAgICB0ZXN0ICJ4JGNhY2hlX2ZpbGUiICE9ICJ4L2Rldi9udWxsIiAmJiBlY2hvICJ1cGRhdGluZyBjYWNoZSAkY2FjaGVfZmlsZSIKKy0gICAgY2F0IGNvbmZjYWNoZSA+JGNhY2hlX2ZpbGUKKysgICAgZWNobyAidXBkYXRpbmcgY2FjaGUgJGNhY2hlX2ZpbGUiCisrICAgIGNhdCBjb25mY2FjaGUgPiAkY2FjaGVfZmlsZQorICAgZWxzZQorICAgICBlY2hvICJub3QgdXBkYXRpbmcgdW53cml0YWJsZSBjYWNoZSAkY2FjaGVfZmlsZSIKKyAgIGZpCisgZmkKKyBybSAtZiBjb25mY2FjaGUKKyAKKyt0cmFwICdybSAtZnIgY29uZnRlc3QqIGNvbmZkZWZzKiBjb3JlIGNvcmUuKiAqLmNvcmUgJGFjX2NsZWFuX2ZpbGVzOyBleGl0IDEnIDEgMiAxNQorKworIHRlc3QgIngkcHJlZml4IiA9IHhOT05FICYmIHByZWZpeD0kYWNfZGVmYXVsdF9wcmVmaXgKKyAjIExldCBtYWtlIGV4cGFuZCBleGVjX3ByZWZpeC4KKyB0ZXN0ICJ4JGV4ZWNfcHJlZml4IiA9IHhOT05FICYmIGV4ZWNfcHJlZml4PScke3ByZWZpeH0nCisgCistIyBWUEFUSCBtYXkgY2F1c2UgdHJvdWJsZSB3aXRoIHNvbWUgbWFrZXMsIHNvIHdlIHJlbW92ZSAkKHNyY2RpciksCistIyAke3NyY2Rpcn0gYW5kIEBzcmNkaXJAIGZyb20gVlBBVEggaWYgc3JjZGlyIGlzICIuIiwgc3RyaXAgbGVhZGluZyBhbmQKKy0jIHRyYWlsaW5nIGNvbG9ucyBhbmQgdGhlbiByZW1vdmUgdGhlIHdob2xlIGxpbmUgaWYgVlBBVEggYmVjb21lcyBlbXB0eQorLSMgKGFjdHVhbGx5IHdlIGxlYXZlIGFuIGVtcHR5IGxpbmUgdG8gcHJlc2VydmUgbGluZSBudW1iZXJzKS4KKysjIEFueSBhc3NpZ25tZW50IHRvIFZQQVRIIGNhdXNlcyBTdW4gbWFrZSB0byBvbmx5IGV4ZWN1dGUKKysjIHRoZSBmaXJzdCBzZXQgb2YgZG91YmxlLWNvbG9uIHJ1bGVzLCBzbyByZW1vdmUgaXQgaWYgbm90IG5lZWRlZC4KKysjIElmIHRoZXJlIGlzIGEgY29sb24gaW4gdGhlIHBhdGgsIHdlIG5lZWQgdG8ga2VlcCBpdC4KKyBpZiB0ZXN0ICJ4JHNyY2RpciIgPSB4LjsgdGhlbgorLSAgYWNfdnBzdWI9Jy9eWyAJXSpWUEFUSFsgCV0qPS97Cistcy86KlwkKHNyY2Rpcik6Ki86LzsKKy1zLzoqXCR7c3JjZGlyfToqLzovOworLXMvOipAc3JjZGlyQDoqLzovOworLXMvXlwoW149XSo9WyAJXSpcKToqL1wxLzsKKy1zLzoqJC8vOworLXMvXltePV0qPVsgCV0qJC8vOworLX0nCisrICBhY192cHN1Yj0nL15bIAldKlZQQVRIWyAJXSo9W146XSokL2QnCisgZmkKKyAKKyt0cmFwICdybSAtZiAkQ09ORklHX1NUQVRVUyBjb25mdGVzdCo7IGV4aXQgMScgMSAyIDE1CisrCisgIyBUcmFuc2Zvcm0gY29uZmRlZnMuaCBpbnRvIERFRlMuCisgIyBQcm90ZWN0IGFnYWluc3Qgc2hlbGwgZXhwYW5zaW9uIHdoaWxlIGV4ZWN1dGluZyBNYWtlZmlsZSBydWxlcy4KKyAjIFByb3RlY3QgYWdhaW5zdCBNYWtlZmlsZSBtYWNybyBleHBhbnNpb24uCistIworLSMgSWYgdGhlIGZpcnN0IHNlZCBzdWJzdGl0dXRpb24gaXMgZXhlY3V0ZWQgKHdoaWNoIGxvb2tzIGZvciBtYWNyb3MgdGhhdAorLSMgdGFrZSBhcmd1bWVudHMpLCB0aGVuIHdlIGJyYW5jaCB0byB0aGUgcXVvdGUgc2VjdGlvbi4gIE90aGVyd2lzZSwKKy0jIGxvb2sgZm9yIGEgbWFjcm8gdGhhdCBkb2Vzbid0IHRha2UgYXJndW1lbnRzLgorLWNhdCA+Y29uZmRlZjJvcHQuc2VkIDw8XF9BQ0VPRgorLXQgY2xlYXIKKy06IGNsZWFyCistcyxeWyAJXSojWyAJXSpkZWZpbmVbIAldWyAJXSpcKFteIAkoXVteIAkoXSooW14pXSopXClbIAldKlwoLipcKSwtRFwxPVwyLGcKKy10IHF1b3RlCistcyxeWyAJXSojWyAJXSpkZWZpbmVbIAldWyAJXSpcKFteIAldW14gCV0qXClbIAldKlwoLipcKSwtRFwxPVwyLGcKKy10IHF1b3RlCistZAorLTogcXVvdGUKKy1zLFsgCWB+IyReJiooKXt9XFx8OyciPD4/XSxcXCYsZworLXMsXFssXFwmLGcKKy1zLFxdLFxcJixnCistcyxcJCwkJCxnCistcAorLV9BQ0VPRgorLSMgV2UgdXNlIGVjaG8gdG8gYXZvaWQgYXNzdW1pbmcgYSBwYXJ0aWN1bGFyIGxpbmUtYnJlYWtpbmcgY2hhcmFjdGVyLgorLSMgVGhlIGV4dHJhIGRvdCBpcyB0byBwcmV2ZW50IHRoZSBzaGVsbCBmcm9tIGNvbnN1bWluZyB0cmFpbGluZworLSMgbGluZS1icmVha3MgZnJvbSB0aGUgc3ViLWNvbW1hbmQgb3V0cHV0LiAgQSBsaW5lLWJyZWFrIHdpdGhpbgorLSMgc2luZ2xlLXF1b3RlcyBkb2Vzbid0IHdvcmsgYmVjYXVzZSwgaWYgdGhpcyBzY3JpcHQgaXMgY3JlYXRlZCBpbiBhCistIyBwbGF0Zm9ybSB0aGF0IHVzZXMgdHdvIGNoYXJhY3RlcnMgZm9yIGxpbmUtYnJlYWtzIChlLmcuLCBET1MpLCB0cgorLSMgd291bGQgYnJlYWsuCistYWNfTEZfYW5kX0RPVD1gZWNobzsgZWNobyAuYAorLURFRlM9YHNlZCAtbiAtZiBjb25mZGVmMm9wdC5zZWQgY29uZmRlZnMuaCB8IHRyICIkYWNfTEZfYW5kX0RPVCIgJyAuJ2AKKy1ybSAtZiBjb25mZGVmMm9wdC5zZWQKKytjYXQgPiBjb25mdGVzdC5kZWZzIDw8XEVPRgorK3MlI2RlZmluZSBcKFtBLVphLXpfXVtBLVphLXowLTlfXSpcKSAqXCguKlwpJS1EXDE9XDIlZworK3MlWyAJYH4jJF4mKigpe31cXHw7JyI8Pj9dJVxcJiVnCisrcyVcWyVcXCYlZworK3MlXF0lXFwmJWcKKytzJVwkJSQkJWcKKytFT0YKKytERUZTPWBzZWQgLWYgY29uZnRlc3QuZGVmcyBjb25mZGVmcy5oIHwgdHIgJ1wwMTInICcgJ2AKKytybSAtZiBjb25mdGVzdC5kZWZzCisgCisgCistYWNfbGlib2Jqcz0KKy1hY19sdGxpYm9ianM9CistZm9yIGFjX2kgaW4gOiAkTElCT0JKUzsgZG8gdGVzdCAieCRhY19pIiA9IHg6ICYmIGNvbnRpbnVlCistICAjIDEuIFJlbW92ZSB0aGUgZXh0ZW5zaW9uLCBhbmQgJFUgaWYgYWxyZWFkeSBpbnN0YWxsZWQuCistICBhY19pPWBlY2hvICIkYWNfaSIgfAorLSAgICAgICAgIHNlZCAncy9cJFVcLi8uLztzL1wubyQvLztzL1wub2JqJC8vJ2AKKy0gICMgMi4gQWRkIHRoZW0uCistICBhY19saWJvYmpzPSIkYWNfbGlib2JqcyAkYWNfaVwkVS4kYWNfb2JqZXh0IgorLSAgYWNfbHRsaWJvYmpzPSIkYWNfbHRsaWJvYmpzICRhY19pIickVS5sbycKKy1kb25lCistTElCT0JKUz0kYWNfbGlib2JqcworLQorLUxUTElCT0JKUz0kYWNfbHRsaWJvYmpzCistCistCistCisrIyBXaXRob3V0IHRoZSAiLi8iLCBzb21lIHNoZWxscyBsb29rIGluIFBBVEggZm9yIGNvbmZpZy5zdGF0dXMuCisgOiAke0NPTkZJR19TVEFUVVM9Li9jb25maWcuc3RhdHVzfQorLWFjX2NsZWFuX2ZpbGVzX3NhdmU9JGFjX2NsZWFuX2ZpbGVzCistYWNfY2xlYW5fZmlsZXM9IiRhY19jbGVhbl9maWxlcyAkQ09ORklHX1NUQVRVUyIKKy17IGVjaG8gIiRhc19tZTokTElORU5POiBjcmVhdGluZyAkQ09ORklHX1NUQVRVUyIgPiY1CistZWNobyAiJGFzX21lOiBjcmVhdGluZyAkQ09ORklHX1NUQVRVUyIgPiY2O30KKy1jYXQgPiRDT05GSUdfU1RBVFVTIDw8X0FDRU9GCistIyEgJFNIRUxMCistIyBHZW5lcmF0ZWQgYnkgJGFzX21lLgorKworK2VjaG8gY3JlYXRpbmcgJENPTkZJR19TVEFUVVMKKytybSAtZiAkQ09ORklHX1NUQVRVUworK2NhdCA+ICRDT05GSUdfU1RBVFVTIDw8RU9GCisrIyEgL2Jpbi9zaAorKyMgR2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgYnkgY29uZmlndXJlLgorICMgUnVuIHRoaXMgZmlsZSB0byByZWNyZWF0ZSB0aGUgY3VycmVudCBjb25maWd1cmF0aW9uLgorKyMgVGhpcyBkaXJlY3Rvcnkgd2FzIGNvbmZpZ3VyZWQgYXMgZm9sbG93cywKKysjIG9uIGhvc3QgYChob3N0bmFtZSB8fCB1bmFtZSAtbikgMj4vZGV2L251bGwgfCBzZWQgMXFgOgorKyMKKysjICQwICRhY19jb25maWd1cmVfYXJncworKyMKKyAjIENvbXBpbGVyIG91dHB1dCBwcm9kdWNlZCBieSBjb25maWd1cmUsIHVzZWZ1bCBmb3IgZGVidWdnaW5nCistIyBjb25maWd1cmUsIGlzIGluIGNvbmZpZy5sb2cgaWYgaXQgZXhpc3RzLgorKyMgY29uZmlndXJlLCBpcyBpbiAuL2NvbmZpZy5sb2cgaWYgaXQgZXhpc3RzLgorIAorLWRlYnVnPWZhbHNlCistYWNfY3NfcmVjaGVjaz1mYWxzZQorLWFjX2NzX3NpbGVudD1mYWxzZQorLVNIRUxMPVwke0NPTkZJR19TSEVMTC0kU0hFTEx9CistX0FDRU9GCistCistY2F0ID4+JENPTkZJR19TVEFUVVMgPDxcX0FDRU9GCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistIyMgTTRzaCBJbml0aWFsaXphdGlvbi4gICMjCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistCistIyBCZSBCb3VybmUgY29tcGF0aWJsZQorLWlmIHRlc3QgLW4gIiR7WlNIX1ZFUlNJT04rc2V0fSIgJiYgKGVtdWxhdGUgc2gpID4vZGV2L251bGwgMj4mMTsgdGhlbgorLSAgZW11bGF0ZSBzaAorLSAgTlVMTENNRD06CistICAjIFpzaCAzLnggYW5kIDQueCBwZXJmb3JtcyB3b3JkIHNwbGl0dGluZyBvbiAkezErIiRAIn0sIHdoaWNoCistICAjIGlzIGNvbnRyYXJ5IHRvIG91ciB1c2FnZS4gIERpc2FibGUgdGhpcyBmZWF0dXJlLgorLSAgYWxpYXMgLWcgJyR7MSsiJEAifSc9JyIkQCInCistZWxpZiB0ZXN0IC1uICIke0JBU0hfVkVSU0lPTitzZXR9IiAmJiAoc2V0IC1vIHBvc2l4KSA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKy0gIHNldCAtbyBwb3NpeAorLWZpCistCistIyBTdXBwb3J0IHVuc2V0IHdoZW4gcG9zc2libGUuCistaWYgKEZPTz1GT087IHVuc2V0IEZPTykgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCistICBhc191bnNldD11bnNldAorLWVsc2UKKy0gIGFzX3Vuc2V0PWZhbHNlCistZmkKKy0KKy0KKy0jIFdvcmsgYXJvdW5kIGJ1Z3MgaW4gcHJlLTMuMCBVV0lOIGtzaC4KKy0kYXNfdW5zZXQgRU5WIE1BSUwgTUFJTFBBVEgKKy1QUzE9JyQgJworLVBTMj0nPiAnCistUFM0PScrICcKKy0KKy0jIE5MUyBudWlzYW5jZXMuCistZm9yIGFzX3ZhciBpbiBcCistICBMQU5HIExBTkdVQUdFIExDX0FERFJFU1MgTENfQUxMIExDX0NPTExBVEUgTENfQ1RZUEUgTENfSURFTlRJRklDQVRJT04gXAorLSAgTENfTUVBU1VSRU1FTlQgTENfTUVTU0FHRVMgTENfTU9ORVRBUlkgTENfTkFNRSBMQ19OVU1FUklDIExDX1BBUEVSIFwKKy0gIExDX1RFTEVQSE9ORSBMQ19USU1FCisrYWNfY3NfdXNhZ2U9IlVzYWdlOiAkQ09ORklHX1NUQVRVUyBbLS1yZWNoZWNrXSBbLS12ZXJzaW9uXSBbLS1oZWxwXSIKKytmb3IgYWNfb3B0aW9uCisgZG8KKy0gIGlmIChzZXQgK3g7IHRlc3QgLW4gImAoZXZhbCAkYXNfdmFyPUM7IGV4cG9ydCAkYXNfdmFyKSAyPiYxYCIpOyB0aGVuCistICAgIGV2YWwgJGFzX3Zhcj1DOyBleHBvcnQgJGFzX3ZhcgorLSAgZWxzZQorLSAgICAkYXNfdW5zZXQgJGFzX3ZhcgorLSAgZmkKKysgIGNhc2UgIlwkYWNfb3B0aW9uIiBpbgorKyAgLXJlY2hlY2sgfCAtLXJlY2hlY2sgfCAtLXJlY2hlYyB8IC0tcmVjaGUgfCAtLXJlY2ggfCAtLXJlYyB8IC0tcmUgfCAtLXIpCisrICAgIGVjaG8gInJ1bm5pbmcgXCR7Q09ORklHX1NIRUxMLS9iaW4vc2h9ICQwICRhY19jb25maWd1cmVfYXJncyAtLW5vLWNyZWF0ZSAtLW5vLXJlY3Vyc2lvbiIKKysgICAgZXhlYyBcJHtDT05GSUdfU0hFTEwtL2Jpbi9zaH0gJDAgJGFjX2NvbmZpZ3VyZV9hcmdzIC0tbm8tY3JlYXRlIC0tbm8tcmVjdXJzaW9uIDs7CisrICAtdmVyc2lvbiB8IC0tdmVyc2lvbiB8IC0tdmVyc2lvIHwgLS12ZXJzaSB8IC0tdmVycyB8IC0tdmVyIHwgLS12ZSB8IC0tdikKKysgICAgZWNobyAiJENPTkZJR19TVEFUVVMgZ2VuZXJhdGVkIGJ5IGF1dG9jb25mIHZlcnNpb24gMi4xMyIKKysgICAgZXhpdCAwIDs7CisrICAtaGVscCB8IC0taGVscCB8IC0taGVsIHwgLS1oZSB8IC0taCkKKysgICAgZWNobyAiXCRhY19jc191c2FnZSI7IGV4aXQgMCA7OworKyAgKikgZWNobyAiXCRhY19jc191c2FnZSI7IGV4aXQgMSA7OworKyAgZXNhYworIGRvbmUKKyAKKy0jIFJlcXVpcmVkIHRvIHVzZSBiYXNlbmFtZS4KKy1pZiBleHByIGEgOiAnXChhXCknID4vZGV2L251bGwgMj4mMTsgdGhlbgorLSAgYXNfZXhwcj1leHByCistZWxzZQorLSAgYXNfZXhwcj1mYWxzZQorLWZpCisrYWNfZ2l2ZW5fc3JjZGlyPSRzcmNkaXIKKythY19naXZlbl9JTlNUQUxMPSIkSU5TVEFMTCIKKyAKKy1pZiAoYmFzZW5hbWUgLykgPi9kZXYvbnVsbCAyPiYxICYmIHRlc3QgIlhgYmFzZW5hbWUgLyAyPiYxYCIgPSAiWC8iOyB0aGVuCistICBhc19iYXNlbmFtZT1iYXNlbmFtZQorLWVsc2UKKy0gIGFzX2Jhc2VuYW1lPWZhbHNlCistZmkKKyt0cmFwICdybSAtZnIgYGVjaG8gImNvbmZpZy9jb25maWcgY29uZmlnL3N5c3RlbS5tYWsiIHwgc2VkICJzLzpbXiBdKi8vZyJgIGNvbmZ0ZXN0KjsgZXhpdCAxJyAxIDIgMTUKKytFT0YKKytjYXQgPj4gJENPTkZJR19TVEFUVVMgPDxFT0YKKyAKKysjIFByb3RlY3QgYWdhaW5zdCBiZWluZyBvbiB0aGUgcmlnaHQgc2lkZSBvZiBhIHNlZCBzdWJzdCBpbiBjb25maWcuc3RhdHVzLgorK3NlZCAncy8lQC9AQC87IHMvQCUvQEAvOyBzLyVnXCQvQGcvOyAvQGdcJC9zL1tcXFxcJiVdL1xcXFwmL2c7CisrIHMvQEAvJUAvOyBzL0BAL0AlLzsgcy9AZ1wkLyVnLycgPiBjb25mdGVzdC5zdWJzIDw8XFxDRU9GCisrJGFjX3Zwc3ViCisrJGV4dHJhc3ViCisrcyVAU0hFTExAJSRTSEVMTCVnCisrcyVAQ0ZMQUdTQCUkQ0ZMQUdTJWcKKytzJUBDUFBGTEFHU0AlJENQUEZMQUdTJWcKKytzJUBDWFhGTEFHU0AlJENYWEZMQUdTJWcKKytzJUBGRkxBR1NAJSRGRkxBR1MlZworK3MlQERFRlNAJSRERUZTJWcKKytzJUBMREZMQUdTQCUkTERGTEFHUyVnCisrcyVATElCU0AlJExJQlMlZworK3MlQGV4ZWNfcHJlZml4QCUkZXhlY19wcmVmaXglZworK3MlQHByZWZpeEAlJHByZWZpeCVnCisrcyVAcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZUAlJHByb2dyYW1fdHJhbnNmb3JtX25hbWUlZworK3MlQGJpbmRpckAlJGJpbmRpciVnCisrcyVAc2JpbmRpckAlJHNiaW5kaXIlZworK3MlQGxpYmV4ZWNkaXJAJSRsaWJleGVjZGlyJWcKKytzJUBkYXRhZGlyQCUkZGF0YWRpciVnCisrcyVAc3lzY29uZmRpckAlJHN5c2NvbmZkaXIlZworK3MlQHNoYXJlZHN0YXRlZGlyQCUkc2hhcmVkc3RhdGVkaXIlZworK3MlQGxvY2Fsc3RhdGVkaXJAJSRsb2NhbHN0YXRlZGlyJWcKKytzJUBsaWJkaXJAJSRsaWJkaXIlZworK3MlQGluY2x1ZGVkaXJAJSRpbmNsdWRlZGlyJWcKKytzJUBvbGRpbmNsdWRlZGlyQCUkb2xkaW5jbHVkZWRpciVnCisrcyVAaW5mb2RpckAlJGluZm9kaXIlZworK3MlQG1hbmRpckAlJG1hbmRpciVnCisrcyVAaG9zdEAlJGhvc3QlZworK3MlQGhvc3RfYWxpYXNAJSRob3N0X2FsaWFzJWcKKytzJUBob3N0X2NwdUAlJGhvc3RfY3B1JWcKKytzJUBob3N0X3ZlbmRvckAlJGhvc3RfdmVuZG9yJWcKKytzJUBob3N0X29zQCUkaG9zdF9vcyVnCisrcyVAdGFyZ2V0QCUkdGFyZ2V0JWcKKytzJUB0YXJnZXRfYWxpYXNAJSR0YXJnZXRfYWxpYXMlZworK3MlQHRhcmdldF9jcHVAJSR0YXJnZXRfY3B1JWcKKytzJUB0YXJnZXRfdmVuZG9yQCUkdGFyZ2V0X3ZlbmRvciVnCisrcyVAdGFyZ2V0X29zQCUkdGFyZ2V0X29zJWcKKytzJUBidWlsZEAlJGJ1aWxkJWcKKytzJUBidWlsZF9hbGlhc0AlJGJ1aWxkX2FsaWFzJWcKKytzJUBidWlsZF9jcHVAJSRidWlsZF9jcHUlZworK3MlQGJ1aWxkX3ZlbmRvckAlJGJ1aWxkX3ZlbmRvciVnCisrcyVAYnVpbGRfb3NAJSRidWlsZF9vcyVnCisrcyVAQ0NAJSRDQyVnCisrcyVAUkFOTElCQCUkUkFOTElCJWcKKytzJUBJTlNUQUxMX1BST0dSQU1AJSRJTlNUQUxMX1BST0dSQU0lZworK3MlQElOU1RBTExfU0NSSVBUQCUkSU5TVEFMTF9TQ1JJUFQlZworK3MlQElOU1RBTExfREFUQUAlJElOU1RBTExfREFUQSVnCisrcyVAQVJAJSRBUiVnCisrcyVAVEFSR0VUX09TQCUkVEFSR0VUX09TJWcKKytzJUBUQVJHRVRfQ1BVQCUkVEFSR0VUX0NQVSVnCisrcyVATTY4S0NDQCUkTTY4S0NDJWcKKytzJUBMRVhERUZTQCUkTEVYREVGUyVnCisrcyVAVk9YREVGU0AlJFZPWERFRlMlZworK3MlQEhPU1RfT1NAJSRIT1NUX09TJWcKKytzJUBIT1NUX0NQVUAlJEhPU1RfQ1BVJWcKKytzJUBPVEhFUkxJQlNAJSRPVEhFUkxJQlMlZworK3MlQFNIRkxBR1NAJSRTSEZMQUdTJWcKKytzJUBNTUFQVFlQRUAlJE1NQVBUWVBFJWcKKytzJUBTVERJT1RZUEVAJSRTVERJT1RZUEUlZworK3MlQENQUEAlJENQUCVnCisrcyVAQVVESU9EUklWRVJAJSRBVURJT0RSSVZFUiVnCisrcyVAQVVESU9ERUZTQCUkQVVESU9ERUZTJWcKKytzJUBBVURJT0xJQlNAJSRBVURJT0xJQlMlZworK3MlQEZMX0xBTkdAJSRGTF9MQU5HJWcKKytzJUBGTF9WT1hAJSRGTF9WT1glZworK3MlQEZMX0xFWEAlJEZMX0xFWCVnCisrcyVARVhFRVhUQCUkRVhFRVhUJWcKKyAKKy0jIE5hbWUgb2YgdGhlIGV4ZWN1dGFibGUuCistYXNfbWU9YCRhc19iYXNlbmFtZSAiJDAiIHx8CistJGFzX2V4cHIgWC8iJDAiIDogJy4qL1woW14vXVteL10qXCkvKiQnIFx8IFwKKy0JIFgiJDAiIDogJ1hcKC8vXCkkJyBcfCBcCistCSBYIiQwIiA6ICdYXCgvXCkkJyBcfCBcCistCSAuICAgICA6ICdcKC5cKScgMj4vZGV2L251bGwgfHwKKy1lY2hvIFgvIiQwIiB8CistICAgIHNlZCAnL14uKlwvXChbXi9dW14vXSpcKVwvKiQveyBzLy9cMS87IHE7IH0KKy0gIAkgIC9eWFwvXChcL1wvXCkkL3sgcy8vXDEvOyBxOyB9CistICAJICAvXlhcL1woXC9cKS4qL3sgcy8vXDEvOyBxOyB9CistICAJICBzLy4qLy4vOyBxJ2AKKytDRU9GCisrRU9GCisgCisrY2F0ID4+ICRDT05GSUdfU1RBVFVTIDw8XEVPRgorIAorLSMgUEFUSCBuZWVkcyBDUiwgYW5kIExJTkVOTyBuZWVkcyBDUiBhbmQgUEFUSC4KKy0jIEF2b2lkIGRlcGVuZGluZyB1cG9uIENoYXJhY3RlciBSYW5nZXMuCistYXNfY3JfbGV0dGVycz0nYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXonCistYXNfY3JfTEVUVEVSUz0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVonCistYXNfY3JfTGV0dGVycz0kYXNfY3JfbGV0dGVycyRhc19jcl9MRVRURVJTCistYXNfY3JfZGlnaXRzPScwMTIzNDU2Nzg5JworLWFzX2NyX2FsbnVtPSRhc19jcl9MZXR0ZXJzJGFzX2NyX2RpZ2l0cworLQorLSMgVGhlIHVzZXIgaXMgYWx3YXlzIHJpZ2h0LgorLWlmIHRlc3QgIiR7UEFUSF9TRVBBUkFUT1Irc2V0fSIgIT0gc2V0OyB0aGVuCistICBlY2hvICIjISAvYmluL3NoIiA+Y29uZiQkLnNoCistICBlY2hvICAiZXhpdCAwIiAgID4+Y29uZiQkLnNoCistICBjaG1vZCAreCBjb25mJCQuc2gKKy0gIGlmIChQQVRIPSIvbm9uZXhpc3RlbnQ7LiI7IGNvbmYkJC5zaCkgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCistICAgIFBBVEhfU0VQQVJBVE9SPSc7JworKyMgU3BsaXQgdGhlIHN1YnN0aXR1dGlvbnMgaW50byBiaXRlLXNpemVkIHBpZWNlcyBmb3Igc2VkcyB3aXRoCisrIyBzbWFsbCBjb21tYW5kIG51bWJlciBsaW1pdHMsIGxpa2Ugb24gRGlnaXRhbCBPU0YvMSBhbmQgSFAtVVguCisrYWNfbWF4X3NlZF9jbWRzPTkwICMgTWF4aW11bSBudW1iZXIgb2YgbGluZXMgdG8gcHV0IGluIGEgc2VkIHNjcmlwdC4KKythY19maWxlPTEgIyBOdW1iZXIgb2YgY3VycmVudCBmaWxlLgorK2FjX2JlZz0xICMgRmlyc3QgbGluZSBmb3IgY3VycmVudCBmaWxlLgorK2FjX2VuZD0kYWNfbWF4X3NlZF9jbWRzICMgTGluZSBhZnRlciBsYXN0IGxpbmUgZm9yIGN1cnJlbnQgZmlsZS4KKythY19tb3JlX2xpbmVzPToKKythY19zZWRfY21kcz0iIgorK3doaWxlICRhY19tb3JlX2xpbmVzOyBkbworKyAgaWYgdGVzdCAkYWNfYmVnIC1ndCAxOyB0aGVuCisrICAgIHNlZCAiMSwke2FjX2JlZ31kOyAke2FjX2VuZH1xIiBjb25mdGVzdC5zdWJzID4gY29uZnRlc3QucyRhY19maWxlCisgICBlbHNlCistICAgIFBBVEhfU0VQQVJBVE9SPToKKysgICAgc2VkICIke2FjX2VuZH1xIiBjb25mdGVzdC5zdWJzID4gY29uZnRlc3QucyRhY19maWxlCisgICBmaQorLSAgcm0gLWYgY29uZiQkLnNoCistZmkKKy0KKy0KKy0gIGFzX2xpbmVub18xPSRMSU5FTk8KKy0gIGFzX2xpbmVub18yPSRMSU5FTk8KKy0gIGFzX2xpbmVub18zPWAoZXhwciAkYXNfbGluZW5vXzEgKyAxKSAyPi9kZXYvbnVsbGAKKy0gIHRlc3QgIngkYXNfbGluZW5vXzEiICE9ICJ4JGFzX2xpbmVub18yIiAmJgorLSAgdGVzdCAieCRhc19saW5lbm9fMyIgID0gIngkYXNfbGluZW5vXzIiICB8fCB7CistICAjIEZpbmQgd2hvIHdlIGFyZS4gIExvb2sgaW4gdGhlIHBhdGggaWYgd2UgY29udGFpbiBubyBwYXRoIGF0IGFsbAorLSAgIyByZWxhdGl2ZSBvciBub3QuCistICBjYXNlICQwIGluCistICAgICpbXFwvXSogKSBhc19teXNlbGY9JDAgOzsKKy0gICAgKikgYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorLWZvciBhc19kaXIgaW4gJFBBVEgKKy1kbworLSAgSUZTPSRhc19zYXZlX0lGUworLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKy0gIHRlc3QgLXIgIiRhc19kaXIvJDAiICYmIGFzX215c2VsZj0kYXNfZGlyLyQwICYmIGJyZWFrCistZG9uZQorLQorLSAgICAgICA7OworLSAgZXNhYworLSAgIyBXZSBkaWQgbm90IGZpbmQgb3Vyc2VsdmVzLCBtb3N0IHByb2JhYmx5IHdlIHdlcmUgcnVuIGFzIGBzaCBDT01NQU5EJworLSAgIyBpbiB3aGljaCBjYXNlIHdlIGFyZSBub3QgdG8gYmUgZm91bmQgaW4gdGhlIHBhdGguCistICBpZiB0ZXN0ICJ4JGFzX215c2VsZiIgPSB4OyB0aGVuCistICAgIGFzX215c2VsZj0kMAorLSAgZmkKKy0gIGlmIHRlc3QgISAtZiAiJGFzX215c2VsZiI7IHRoZW4KKy0gICAgeyB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogY2Fubm90IGZpbmQgbXlzZWxmOyByZXJ1biB3aXRoIGFuIGFic29sdXRlIHBhdGgiID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6IGNhbm5vdCBmaW5kIG15c2VsZjsgcmVydW4gd2l0aCBhbiBhYnNvbHV0ZSBwYXRoIiA+JjI7fQorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorLSAgZmkKKy0gIGNhc2UgJENPTkZJR19TSEVMTCBpbgorLSAgJycpCistICAgIGFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKy1mb3IgYXNfZGlyIGluIC9iaW4kUEFUSF9TRVBBUkFUT1IvdXNyL2JpbiRQQVRIX1NFUEFSQVRPUiRQQVRICistZG8KKy0gIElGUz0kYXNfc2F2ZV9JRlMKKy0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCistICBmb3IgYXNfYmFzZSBpbiBzaCBiYXNoIGtzaCBzaDU7IGRvCistCSBjYXNlICRhc19kaXIgaW4KKy0JIC8qKQorLQkgICBpZiAoIiRhc19kaXIvJGFzX2Jhc2UiIC1jICcKKy0gIGFzX2xpbmVub18xPSRMSU5FTk8KKy0gIGFzX2xpbmVub18yPSRMSU5FTk8KKy0gIGFzX2xpbmVub18zPWAoZXhwciAkYXNfbGluZW5vXzEgKyAxKSAyPi9kZXYvbnVsbGAKKy0gIHRlc3QgIngkYXNfbGluZW5vXzEiICE9ICJ4JGFzX2xpbmVub18yIiAmJgorLSAgdGVzdCAieCRhc19saW5lbm9fMyIgID0gIngkYXNfbGluZW5vXzIiICcpIDI+L2Rldi9udWxsOyB0aGVuCistCSAgICAgJGFzX3Vuc2V0IEJBU0hfRU5WIHx8IHRlc3QgIiR7QkFTSF9FTlYrc2V0fSIgIT0gc2V0IHx8IHsgQkFTSF9FTlY9OyBleHBvcnQgQkFTSF9FTlY7IH0KKy0JICAgICAkYXNfdW5zZXQgRU5WIHx8IHRlc3QgIiR7RU5WK3NldH0iICE9IHNldCB8fCB7IEVOVj07IGV4cG9ydCBFTlY7IH0KKy0JICAgICBDT05GSUdfU0hFTEw9JGFzX2Rpci8kYXNfYmFzZQorLQkgICAgIGV4cG9ydCBDT05GSUdfU0hFTEwKKy0JICAgICBleGVjICIkQ09ORklHX1NIRUxMIiAiJDAiICR7MSsiJEAifQorLQkgICBmaTs7CistCSBlc2FjCistICAgICAgIGRvbmUKKy1kb25lCistOzsKKy0gIGVzYWMKKy0KKy0gICMgQ3JlYXRlICRhc19tZS5saW5lbm8gYXMgYSBjb3B5IG9mICRhc19teXNlbGYsIGJ1dCB3aXRoICRMSU5FTk8KKy0gICMgdW5pZm9ybWx5IHJlcGxhY2VkIGJ5IHRoZSBsaW5lIG51bWJlci4gIFRoZSBmaXJzdCAnc2VkJyBpbnNlcnRzIGEKKy0gICMgbGluZS1udW1iZXIgbGluZSBiZWZvcmUgZWFjaCBsaW5lOyB0aGUgc2Vjb25kICdzZWQnIGRvZXMgdGhlIHJlYWwKKy0gICMgd29yay4gIFRoZSBzZWNvbmQgc2NyaXB0IHVzZXMgJ04nIHRvIHBhaXIgZWFjaCBsaW5lLW51bWJlciBsaW5lCistICAjIHdpdGggdGhlIG51bWJlcmVkIGxpbmUsIGFuZCBhcHBlbmRzIHRyYWlsaW5nICctJyBkdXJpbmcKKy0gICMgc3Vic3RpdHV0aW9uIHNvIHRoYXQgJExJTkVOTyBpcyBub3QgYSBzcGVjaWFsIGNhc2UgYXQgbGluZSBlbmQuCistICAjIChSYWphIFIgSGFyaW5hdGggc3VnZ2VzdGVkIHNlZCAnPScsIGFuZCBQYXVsIEVnZ2VydCB3cm90ZSB0aGUKKy0gICMgc2Vjb25kICdzZWQnIHNjcmlwdC4gIEJsYW1lIExlZSBFLiBNY01haG9uIGZvciBzZWQncyBzeW50YXguICA6LSkKKy0gIHNlZCAnPScgPCRhc19teXNlbGYgfAorLSAgICBzZWQgJworLSAgICAgIE4KKy0gICAgICBzLCQsLSwKKy0gICAgICA6IGxvb3AKKy0gICAgICBzLF5cKFsnJGFzX2NyX2RpZ2l0cyddKlwpXCguKlwpWyRdTElORU5PXChbXickYXNfY3JfYWxudW0nX11cKSxcMVwyXDFcMywKKy0gICAgICB0IGxvb3AKKy0gICAgICBzLC0kLCwKKy0gICAgICBzLF5bJyRhc19jcl9kaWdpdHMnXSpcbiwsCistICAgICcgPiRhc19tZS5saW5lbm8gJiYKKy0gIGNobW9kICt4ICRhc19tZS5saW5lbm8gfHwKKy0gICAgeyB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogY2Fubm90IGNyZWF0ZSAkYXNfbWUubGluZW5vOyByZXJ1biB3aXRoIGEgUE9TSVggc2hlbGwiID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6IGNhbm5vdCBjcmVhdGUgJGFzX21lLmxpbmVubzsgcmVydW4gd2l0aCBhIFBPU0lYIHNoZWxsIiA+JjI7fQorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorLQorLSAgIyBEb24ndCB0cnkgdG8gZXhlYyBhcyBpdCBjaGFuZ2VzICRbMF0sIGNhdXNpbmcgYWxsIHNvcnQgb2YgcHJvYmxlbXMKKy0gICMgKHRoZSBkaXJuYW1lIG9mICRbMF0gaXMgbm90IHRoZSBwbGFjZSB3aGVyZSB3ZSBtaWdodCBmaW5kIHRoZQorLSAgIyBvcmlnaW5hbCBhbmQgc28gb24uICBBdXRvY29uZiBpcyBlc3BlY2lhbGx5IHNlbnNpYmxlIHRvIHRoaXMpLgorLSAgLiAuLyRhc19tZS5saW5lbm8KKy0gICMgRXhpdCBzdGF0dXMgaXMgdGhhdCBvZiB0aGUgbGFzdCBjb21tYW5kLgorLSAgZXhpdAorLX0KKy0KKy0KKy1jYXNlIGBlY2hvICJ0ZXN0aW5nXGMiOyBlY2hvIDEsMiwzYCxgZWNobyAtbiB0ZXN0aW5nOyBlY2hvIDEsMiwzYCBpbgorLSAgKmMqLC1uKikgRUNIT19OPSBFQ0hPX0M9JworLScgRUNIT19UPScJJyA7OworLSAgKmMqLCogICkgRUNIT19OPS1uIEVDSE9fQz0gRUNIT19UPSA7OworLSAgKikgICAgICAgRUNIT19OPSBFQ0hPX0M9J1xjJyBFQ0hPX1Q9IDs7CistZXNhYworLQorLWlmIGV4cHIgYSA6ICdcKGFcKScgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCistICBhc19leHByPWV4cHIKKy1lbHNlCistICBhc19leHByPWZhbHNlCistZmkKKy0KKy1ybSAtZiBjb25mJCQgY29uZiQkLmV4ZSBjb25mJCQuZmlsZQorLWVjaG8gPmNvbmYkJC5maWxlCistaWYgbG4gLXMgY29uZiQkLmZpbGUgY29uZiQkIDI+L2Rldi9udWxsOyB0aGVuCistICAjIFdlIGNvdWxkIGp1c3QgY2hlY2sgZm9yIERKR1BQOyBidXQgdGhpcyB0ZXN0IGEpIHdvcmtzIGIpIGlzIG1vcmUgZ2VuZXJpYworLSAgIyBhbmQgYykgd2lsbCByZW1haW4gdmFsaWQgb25jZSBESkdQUCBzdXBwb3J0cyBzeW1saW5rcyAoREpHUFAgMi4wNCkuCistICBpZiB0ZXN0IC1mIGNvbmYkJC5leGU7IHRoZW4KKy0gICAgIyBEb24ndCB1c2UgbG4gYXQgYWxsOyB3ZSBkb24ndCBoYXZlIGFueSBsaW5rcworLSAgICBhc19sbl9zPSdjcCAtcCcKKysgIGlmIHRlc3QgISAtcyBjb25mdGVzdC5zJGFjX2ZpbGU7IHRoZW4KKysgICAgYWNfbW9yZV9saW5lcz1mYWxzZQorKyAgICBybSAtZiBjb25mdGVzdC5zJGFjX2ZpbGUKKyAgIGVsc2UKKy0gICAgYXNfbG5fcz0nbG4gLXMnCisrICAgIGlmIHRlc3QgLXogIiRhY19zZWRfY21kcyI7IHRoZW4KKysgICAgICBhY19zZWRfY21kcz0ic2VkIC1mIGNvbmZ0ZXN0LnMkYWNfZmlsZSIKKysgICAgZWxzZQorKyAgICAgIGFjX3NlZF9jbWRzPSIkYWNfc2VkX2NtZHMgfCBzZWQgLWYgY29uZnRlc3QucyRhY19maWxlIgorKyAgICBmaQorKyAgICBhY19maWxlPWBleHByICRhY19maWxlICsgMWAKKysgICAgYWNfYmVnPSRhY19lbmQKKysgICAgYWNfZW5kPWBleHByICRhY19lbmQgKyAkYWNfbWF4X3NlZF9jbWRzYAorICAgZmkKKy1lbGlmIGxuIGNvbmYkJC5maWxlIGNvbmYkJCAyPi9kZXYvbnVsbDsgdGhlbgorLSAgYXNfbG5fcz1sbgorLWVsc2UKKy0gIGFzX2xuX3M9J2NwIC1wJworLWZpCistcm0gLWYgY29uZiQkIGNvbmYkJC5leGUgY29uZiQkLmZpbGUKKy0KKy1pZiBta2RpciAtcCAuIDI+L2Rldi9udWxsOyB0aGVuCistICBhc19ta2Rpcl9wPToKKy1lbHNlCistICBhc19ta2Rpcl9wPWZhbHNlCistZmkKKy0KKy1hc19leGVjdXRhYmxlX3A9InRlc3QgLWYiCistCistIyBTZWQgZXhwcmVzc2lvbiB0byBtYXAgYSBzdHJpbmcgb250byBhIHZhbGlkIENQUCBuYW1lLgorLWFzX3RyX2NwcD0ic2VkIHklKiRhc19jcl9sZXR0ZXJzJVAkYXNfY3JfTEVUVEVSUyU7cyVbXl8kYXNfY3JfYWxudW1dJV8lZyIKKy0KKy0jIFNlZCBleHByZXNzaW9uIHRvIG1hcCBhIHN0cmluZyBvbnRvIGEgdmFsaWQgdmFyaWFibGUgbmFtZS4KKy1hc190cl9zaD0ic2VkIHklKislcHAlO3MlW15fJGFzX2NyX2FsbnVtXSVfJWciCistCistCistIyBJRlMKKy0jIFdlIG5lZWQgc3BhY2UsIHRhYiBhbmQgbmV3IGxpbmUsIGluIHByZWNpc2VseSB0aGF0IG9yZGVyLgorLWFzX25sPScKKy0nCistSUZTPSIgCSRhc19ubCIKKy0KKy0jIENEUEFUSC4KKy0kYXNfdW5zZXQgQ0RQQVRICistCistZXhlYyA2PiYxCistCistIyBPcGVuIHRoZSBsb2cgcmVhbCBzb29uLCB0byBrZWVwIFwkWzBdIGFuZCBzbyBvbiBtZWFuaW5nZnVsLCBhbmQgdG8KKy0jIHJlcG9ydCBhY3R1YWwgaW5wdXQgdmFsdWVzIG9mIENPTkZJR19GSUxFUyBldGMuIGluc3RlYWQgb2YgdGhlaXIKKy0jIHZhbHVlcyBhZnRlciBvcHRpb25zIGhhbmRsaW5nLiAgTG9nZ2luZyAtLXZlcnNpb24gZXRjLiBpcyBPSy4KKy1leGVjIDU+PmNvbmZpZy5sb2cKKy17CistICBlY2hvCistICBzZWQgJ2g7cy8uLy0vZztzL14uLi4vIyMgLztzLy4uLiQvICMjLztwO3g7cDt4JyA8PF9BU0JPWAorLSMjIFJ1bm5pbmcgJGFzX21lLiAjIworLV9BU0JPWAorLX0gPiY1CistY2F0ID4mNSA8PF9DU0VPRgorLQorLVRoaXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkgJGFzX21lLCB3aGljaCB3YXMKKy1nZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTcuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKKy0KKy0gIENPTkZJR19GSUxFUyAgICA9ICRDT05GSUdfRklMRVMKKy0gIENPTkZJR19IRUFERVJTICA9ICRDT05GSUdfSEVBREVSUworLSAgQ09ORklHX0xJTktTICAgID0gJENPTkZJR19MSU5LUworLSAgQ09ORklHX0NPTU1BTkRTID0gJENPTkZJR19DT01NQU5EUworLSAgJCAkMCAkQAorLQorLV9DU0VPRgorLWVjaG8gIm9uIGAoaG9zdG5hbWUgfHwgdW5hbWUgLW4pIDI+L2Rldi9udWxsIHwgc2VkIDFxYCIgPiY1CistZWNobyA+JjUKKy1fQUNFT0YKKy0KKy0jIEZpbGVzIHRoYXQgY29uZmlnLnN0YXR1cyB3YXMgbWFkZSBmb3IuCistaWYgdGVzdCAtbiAiJGFjX2NvbmZpZ19maWxlcyI7IHRoZW4KKy0gIGVjaG8gImNvbmZpZ19maWxlcz1cIiRhY19jb25maWdfZmlsZXNcIiIgPj4kQ09ORklHX1NUQVRVUworLWZpCistCistaWYgdGVzdCAtbiAiJGFjX2NvbmZpZ19oZWFkZXJzIjsgdGhlbgorLSAgZWNobyAiY29uZmlnX2hlYWRlcnM9XCIkYWNfY29uZmlnX2hlYWRlcnNcIiIgPj4kQ09ORklHX1NUQVRVUworLWZpCistCistaWYgdGVzdCAtbiAiJGFjX2NvbmZpZ19saW5rcyI7IHRoZW4KKy0gIGVjaG8gImNvbmZpZ19saW5rcz1cIiRhY19jb25maWdfbGlua3NcIiIgPj4kQ09ORklHX1NUQVRVUworLWZpCistCistaWYgdGVzdCAtbiAiJGFjX2NvbmZpZ19jb21tYW5kcyI7IHRoZW4KKy0gIGVjaG8gImNvbmZpZ19jb21tYW5kcz1cIiRhY19jb25maWdfY29tbWFuZHNcIiIgPj4kQ09ORklHX1NUQVRVUworLWZpCistCistY2F0ID4+JENPTkZJR19TVEFUVVMgPDxcX0FDRU9GCistCistYWNfY3NfdXNhZ2U9IlwKKy1cYCRhc19tZScgaW5zdGFudGlhdGVzIGZpbGVzIGZyb20gdGVtcGxhdGVzIGFjY29yZGluZyB0byB0aGUKKy1jdXJyZW50IGNvbmZpZ3VyYXRpb24uCistCistVXNhZ2U6ICQwIFtPUFRJT05TXSBbRklMRV0uLi4KKy0KKy0gIC1oLCAtLWhlbHAgICAgICAgcHJpbnQgdGhpcyBoZWxwLCB0aGVuIGV4aXQKKy0gIC1WLCAtLXZlcnNpb24gICAgcHJpbnQgdmVyc2lvbiBudW1iZXIsIHRoZW4gZXhpdAorLSAgLXEsIC0tcXVpZXQgICAgICBkbyBub3QgcHJpbnQgcHJvZ3Jlc3MgbWVzc2FnZXMKKy0gIC1kLCAtLWRlYnVnICAgICAgZG9uJ3QgcmVtb3ZlIHRlbXBvcmFyeSBmaWxlcworLSAgICAgIC0tcmVjaGVjayAgICB1cGRhdGUgJGFzX21lIGJ5IHJlY29uZmlndXJpbmcgaW4gdGhlIHNhbWUgY29uZGl0aW9ucworLSAgLS1maWxlPUZJTEVbOlRFTVBMQVRFXQorLSAgICAgICAgICAgICAgICAgICBpbnN0YW50aWF0ZSB0aGUgY29uZmlndXJhdGlvbiBmaWxlIEZJTEUKKy0KKy1Db25maWd1cmF0aW9uIGZpbGVzOgorLSRjb25maWdfZmlsZXMKKy0KKy1SZXBvcnQgYnVncyB0byA8YnVnLWF1dG9jb25mQGdudS5vcmc+LiIKKy1fQUNFT0YKKy0KKy1jYXQgPj4kQ09ORklHX1NUQVRVUyA8PF9BQ0VPRgorLWFjX2NzX3ZlcnNpb249IlxcCistY29uZmlnLnN0YXR1cworLWNvbmZpZ3VyZWQgYnkgJDAsIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41NywKKy0gIHdpdGggb3B0aW9ucyBcXCJgZWNobyAiJGFjX2NvbmZpZ3VyZV9hcmdzIiB8IHNlZCAncy9bXFwiIlxgXCRdL1xcXFwmL2cnYFxcIgorLQorLUNvcHlyaWdodCAxOTkyLCAxOTkzLCAxOTk0LCAxOTk1LCAxOTk2LCAxOTk4LCAxOTk5LCAyMDAwLCAyMDAxCistRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCistVGhpcyBjb25maWcuc3RhdHVzIHNjcmlwdCBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCistZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSwgZGlzdHJpYnV0ZSBhbmQgbW9kaWZ5IGl0LiIKKy1zcmNkaXI9JHNyY2RpcgorLUlOU1RBTEw9IiRJTlNUQUxMIgorLV9BQ0VPRgorLQorLWNhdCA+PiRDT05GSUdfU1RBVFVTIDw8XF9BQ0VPRgorLSMgSWYgbm8gZmlsZSBhcmUgc3BlY2lmaWVkIGJ5IHRoZSB1c2VyLCB0aGVuIHdlIG5lZWQgdG8gcHJvdmlkZSBkZWZhdWx0CistIyB2YWx1ZS4gIEJ5IHdlIG5lZWQgdG8ga25vdyBpZiBmaWxlcyB3ZXJlIHNwZWNpZmllZCBieSB0aGUgdXNlci4KKy1hY19uZWVkX2RlZmF1bHRzPToKKy13aGlsZSB0ZXN0ICQjICE9IDAKKy1kbworLSAgY2FzZSAkMSBpbgorLSAgLS0qPSopCistICAgIGFjX29wdGlvbj1gZXhwciAieCQxIiA6ICd4XChbXj1dKlwpPSdgCistICAgIGFjX29wdGFyZz1gZXhwciAieCQxIiA6ICd4W149XSo9XCguKlwpJ2AKKy0gICAgYWNfc2hpZnQ9OgorLSAgICA7OworLSAgLSopCistICAgIGFjX29wdGlvbj0kMQorLSAgICBhY19vcHRhcmc9JDIKKy0gICAgYWNfc2hpZnQ9c2hpZnQKKy0gICAgOzsKKy0gICopICMgVGhpcyBpcyBub3QgYW4gb3B0aW9uLCBzbyB0aGUgdXNlciBoYXMgcHJvYmFibHkgZ2l2ZW4gZXhwbGljaXQKKy0gICAgICMgYXJndW1lbnRzLgorLSAgICAgYWNfb3B0aW9uPSQxCistICAgICBhY19uZWVkX2RlZmF1bHRzPWZhbHNlOzsKKy0gIGVzYWMKKy0KKy0gIGNhc2UgJGFjX29wdGlvbiBpbgorLSAgIyBIYW5kbGluZyBvZiB0aGUgb3B0aW9ucy4KKy1fQUNFT0YKKy1jYXQgPj4kQ09ORklHX1NUQVRVUyA8PFxfQUNFT0YKKy0gIC1yZWNoZWNrIHwgLS1yZWNoZWNrIHwgLS1yZWNoZWMgfCAtLXJlY2hlIHwgLS1yZWNoIHwgLS1yZWMgfCAtLXJlIHwgLS1yKQorLSAgICBhY19jc19yZWNoZWNrPTogOzsKKy0gIC0tdmVyc2lvbiB8IC0tdmVycyogfCAtViApCistICAgIGVjaG8gIiRhY19jc192ZXJzaW9uIjsgZXhpdCAwIDs7CistICAtLWhlIHwgLS1oKQorLSAgICAjIENvbmZsaWN0IGJldHdlZW4gLS1oZWxwIGFuZCAtLWhlYWRlcgorLSAgICB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBhbWJpZ3VvdXMgb3B0aW9uOiAkMQorLVRyeSBcYCQwIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiBhbWJpZ3VvdXMgb3B0aW9uOiAkMQorLVRyeSBcYCQwIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIiA+JjI7fQorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfTs7CistICAtLWhlbHAgfCAtLWhlbCB8IC1oICkKKy0gICAgZWNobyAiJGFjX2NzX3VzYWdlIjsgZXhpdCAwIDs7CistICAtLWRlYnVnIHwgLS1kKiB8IC1kICkKKy0gICAgZGVidWc9OiA7OworLSAgLS1maWxlIHwgLS1maWwgfCAtLWZpIHwgLS1mICkKKy0gICAgJGFjX3NoaWZ0CistICAgIENPTkZJR19GSUxFUz0iJENPTkZJR19GSUxFUyAkYWNfb3B0YXJnIgorLSAgICBhY19uZWVkX2RlZmF1bHRzPWZhbHNlOzsKKy0gIC0taGVhZGVyIHwgLS1oZWFkZSB8IC0taGVhZCB8IC0taGVhICkKKy0gICAgJGFjX3NoaWZ0CistICAgIENPTkZJR19IRUFERVJTPSIkQ09ORklHX0hFQURFUlMgJGFjX29wdGFyZyIKKy0gICAgYWNfbmVlZF9kZWZhdWx0cz1mYWxzZTs7CistICAtcSB8IC1xdWlldCB8IC0tcXVpZXQgfCAtLXF1aWUgfCAtLXF1aSB8IC0tcXUgfCAtLXEgXAorLSAgfCAtc2lsZW50IHwgLS1zaWxlbnQgfCAtLXNpbGVuIHwgLS1zaWxlIHwgLS1zaWwgfCAtLXNpIHwgLS1zKQorLSAgICBhY19jc19zaWxlbnQ9OiA7OworLQorLSAgIyBUaGlzIGlzIGFuIGVycm9yLgorLSAgLSopIHsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IHVucmVjb2duaXplZCBvcHRpb246ICQxCistVHJ5IFxgJDAgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6IHVucmVjb2duaXplZCBvcHRpb246ICQxCistVHJ5IFxgJDAgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iID4mMjt9CistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9IDs7CistCistICAqKSBhY19jb25maWdfdGFyZ2V0cz0iJGFjX2NvbmZpZ190YXJnZXRzICQxIiA7OworLQorLSAgZXNhYworLSAgc2hpZnQKKyBkb25lCistCistYWNfY29uZmlndXJlX2V4dHJhX2FyZ3M9CistCistaWYgJGFjX2NzX3NpbGVudDsgdGhlbgorLSAgZXhlYyA2Pi9kZXYvbnVsbAorLSAgYWNfY29uZmlndXJlX2V4dHJhX2FyZ3M9IiRhY19jb25maWd1cmVfZXh0cmFfYXJncyAtLXNpbGVudCIKKytpZiB0ZXN0IC16ICIkYWNfc2VkX2NtZHMiOyB0aGVuCisrICBhY19zZWRfY21kcz1jYXQKKyBmaQorK0VPRgorIAorLV9BQ0VPRgorLWNhdCA+PiRDT05GSUdfU1RBVFVTIDw8X0FDRU9GCistaWYgXCRhY19jc19yZWNoZWNrOyB0aGVuCistICBlY2hvICJydW5uaW5nICRTSEVMTCAkMCAiICRhY19jb25maWd1cmVfYXJncyBcJGFjX2NvbmZpZ3VyZV9leHRyYV9hcmdzICIgLS1uby1jcmVhdGUgLS1uby1yZWN1cnNpb24iID4mNgorLSAgZXhlYyAkU0hFTEwgJDAgJGFjX2NvbmZpZ3VyZV9hcmdzIFwkYWNfY29uZmlndXJlX2V4dHJhX2FyZ3MgLS1uby1jcmVhdGUgLS1uby1yZWN1cnNpb24KKy1maQorK2NhdCA+PiAkQ09ORklHX1NUQVRVUyA8PEVPRgorIAorLV9BQ0VPRgorLQorLQorLQorLQorLQorLWNhdCA+PiRDT05GSUdfU1RBVFVTIDw8XF9BQ0VPRgorLWZvciBhY19jb25maWdfdGFyZ2V0IGluICRhY19jb25maWdfdGFyZ2V0cworLWRvCistICBjYXNlICIkYWNfY29uZmlnX3RhcmdldCIgaW4KKy0gICMgSGFuZGxpbmcgb2YgYXJndW1lbnRzLgorLSAgImNvbmZpZy9jb25maWciICkgQ09ORklHX0ZJTEVTPSIkQ09ORklHX0ZJTEVTIGNvbmZpZy9jb25maWciIDs7CistICAiY29uZmlnL3N5c3RlbS5tYWsiICkgQ09ORklHX0ZJTEVTPSIkQ09ORklHX0ZJTEVTIGNvbmZpZy9zeXN0ZW0ubWFrIiA7OworLSAgKikgeyB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogaW52YWxpZCBhcmd1bWVudDogJGFjX2NvbmZpZ190YXJnZXQiID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6IGludmFsaWQgYXJndW1lbnQ6ICRhY19jb25maWdfdGFyZ2V0IiA+JjI7fQorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfTs7CisrQ09ORklHX0ZJTEVTPVwke0NPTkZJR19GSUxFUy0iY29uZmlnL2NvbmZpZyBjb25maWcvc3lzdGVtLm1hayJ9CisrRU9GCisrY2F0ID4+ICRDT05GSUdfU1RBVFVTIDw8XEVPRgorK2ZvciBhY19maWxlIGluIC4uICRDT05GSUdfRklMRVM7IGRvIGlmIHRlc3QgIngkYWNfZmlsZSIgIT0geC4uOyB0aGVuCisrICAjIFN1cHBvcnQgIm91dGZpbGVbOmluZmlsZVs6aW5maWxlLi4uXV0iLCBkZWZhdWx0aW5nIGluZmlsZT0ib3V0ZmlsZS5pbiIuCisrICBjYXNlICIkYWNfZmlsZSIgaW4KKysgICo6KikgYWNfZmlsZV9pbj1gZWNobyAiJGFjX2ZpbGUifHNlZCAncyVbXjpdKjolJSdgCisrICAgICAgIGFjX2ZpbGU9YGVjaG8gIiRhY19maWxlInxzZWQgJ3MlOi4qJSUnYCA7OworKyAgKikgYWNfZmlsZV9pbj0iJHthY19maWxlfS5pbiIgOzsKKyAgIGVzYWMKKy1kb25lCisgCistIyBJZiB0aGUgdXNlciBkaWQgbm90IHVzZSB0aGUgYXJndW1lbnRzIHRvIHNwZWNpZnkgdGhlIGl0ZW1zIHRvIGluc3RhbnRpYXRlLAorLSMgdGhlbiB0aGUgZW52dmFyIGludGVyZmFjZSBpcyB1c2VkLiAgU2V0IG9ubHkgdGhvc2UgdGhhdCBhcmUgbm90LgorLSMgV2UgdXNlIHRoZSBsb25nIGZvcm0gZm9yIHRoZSBkZWZhdWx0IGFzc2lnbm1lbnQgYmVjYXVzZSBvZiBhbiBleHRyZW1lbHkKKy0jIGJpemFycmUgYnVnIG9uIFN1bk9TIDQuMS4zLgorLWlmICRhY19uZWVkX2RlZmF1bHRzOyB0aGVuCistICB0ZXN0ICIke0NPTkZJR19GSUxFUytzZXR9IiA9IHNldCB8fCBDT05GSUdfRklMRVM9JGNvbmZpZ19maWxlcworLWZpCisrICAjIEFkanVzdCBhIHJlbGF0aXZlIHNyY2RpciwgdG9wX3NyY2RpciwgYW5kIElOU1RBTEwgZm9yIHN1YmRpcmVjdG9yaWVzLgorIAorLSMgSGF2ZSBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgZm9yIGNvbnZlbmllbmNlLiAgTWFrZSBpdCBpbiB0aGUgYnVpbGQgdHJlZQorLSMgc2ltcGx5IGJlY2F1c2UgdGhlcmUgaXMgbm8gcmVhc29uIHRvIHB1dCBpdCBoZXJlLCBhbmQgaW4gYWRkaXRpb24sCistIyBjcmVhdGluZyBhbmQgbW92aW5nIGZpbGVzIGZyb20gL3RtcCBjYW4gc29tZXRpbWVzIGNhdXNlIHByb2JsZW1zLgorLSMgQ3JlYXRlIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSwgYW5kIGhvb2sgZm9yIGl0cyByZW1vdmFsIHVubGVzcyBkZWJ1Z2dpbmcuCistJGRlYnVnIHx8CisteworLSAgdHJhcCAnZXhpdF9zdGF0dXM9JD87IHJtIC1yZiAkdG1wICYmIGV4aXQgJGV4aXRfc3RhdHVzJyAwCistICB0cmFwICd7IChleGl0IDEpOyBleGl0IDE7IH0nIDEgMiAxMyAxNQorLX0KKy0KKy0jIENyZWF0ZSBhIChzZWN1cmUpIHRtcCBkaXJlY3RvcnkgZm9yIHRtcCBmaWxlcy4KKy0KKy17CistICB0bXA9YCh1bWFzayAwNzcgJiYgbWt0ZW1wIC1kIC1xICIuL2NvbmZzdGF0WFhYWFhYIikgMj4vZGV2L251bGxgICYmCistICB0ZXN0IC1uICIkdG1wIiAmJiB0ZXN0IC1kICIkdG1wIgorLX0gIHx8CisteworLSAgdG1wPS4vY29uZnN0YXQkJC0kUkFORE9NCistICAodW1hc2sgMDc3ICYmIG1rZGlyICR0bXApCistfSB8fAorLXsKKy0gICBlY2hvICIkbWU6IGNhbm5vdCBjcmVhdGUgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5IGluIC4iID4mMgorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfQorLX0KKy0KKy1fQUNFT0YKKy0KKy1jYXQgPj4kQ09ORklHX1NUQVRVUyA8PF9BQ0VPRgorLQorLSMKKy0jIENPTkZJR19GSUxFUyBzZWN0aW9uLgorLSMKKy0KKy0jIE5vIG5lZWQgdG8gZ2VuZXJhdGUgdGhlIHNjcmlwdHMgaWYgdGhlcmUgYXJlIG5vIENPTkZJR19GSUxFUy4KKy0jIFRoaXMgaGFwcGVucyBmb3IgaW5zdGFuY2Ugd2hlbiAuL2NvbmZpZy5zdGF0dXMgY29uZmlnLmgKKy1pZiB0ZXN0IC1uICJcJENPTkZJR19GSUxFUyI7IHRoZW4KKy0gICMgUHJvdGVjdCBhZ2FpbnN0IGJlaW5nIG9uIHRoZSByaWdodCBzaWRlIG9mIGEgc2VkIHN1YnN0IGluIGNvbmZpZy5zdGF0dXMuCistICBzZWQgJ3MvLEAvQEAvOyBzL0AsL0BALzsgcy8sO3QgdFwkL0A7dCB0LzsgL0A7dCB0XCQvcy9bXFxcXCYsXS9cXFxcJi9nOworLSAgIHMvQEAvLEAvOyBzL0BAL0AsLzsgcy9AO3QgdFwkLyw7dCB0LycgPlwkdG1wL3N1YnMuc2VkIDw8XFxDRU9GCistcyxAU0hFTExALCRTSEVMTCw7dCB0CistcyxAUEFUSF9TRVBBUkFUT1JALCRQQVRIX1NFUEFSQVRPUiw7dCB0CistcyxAUEFDS0FHRV9OQU1FQCwkUEFDS0FHRV9OQU1FLDt0IHQKKy1zLEBQQUNLQUdFX1RBUk5BTUVALCRQQUNLQUdFX1RBUk5BTUUsO3QgdAorLXMsQFBBQ0tBR0VfVkVSU0lPTkAsJFBBQ0tBR0VfVkVSU0lPTiw7dCB0CistcyxAUEFDS0FHRV9TVFJJTkdALCRQQUNLQUdFX1NUUklORyw7dCB0CistcyxAUEFDS0FHRV9CVUdSRVBPUlRALCRQQUNLQUdFX0JVR1JFUE9SVCw7dCB0CistcyxAZXhlY19wcmVmaXhALCRleGVjX3ByZWZpeCw7dCB0CistcyxAcHJlZml4QCwkcHJlZml4LDt0IHQKKy1zLEBwcm9ncmFtX3RyYW5zZm9ybV9uYW1lQCwkcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZSw7dCB0CistcyxAYmluZGlyQCwkYmluZGlyLDt0IHQKKy1zLEBzYmluZGlyQCwkc2JpbmRpciw7dCB0CistcyxAbGliZXhlY2RpckAsJGxpYmV4ZWNkaXIsO3QgdAorLXMsQGRhdGFkaXJALCRkYXRhZGlyLDt0IHQKKy1zLEBzeXNjb25mZGlyQCwkc3lzY29uZmRpciw7dCB0CistcyxAc2hhcmVkc3RhdGVkaXJALCRzaGFyZWRzdGF0ZWRpciw7dCB0CistcyxAbG9jYWxzdGF0ZWRpckAsJGxvY2Fsc3RhdGVkaXIsO3QgdAorLXMsQGxpYmRpckAsJGxpYmRpciw7dCB0CistcyxAaW5jbHVkZWRpckAsJGluY2x1ZGVkaXIsO3QgdAorLXMsQG9sZGluY2x1ZGVkaXJALCRvbGRpbmNsdWRlZGlyLDt0IHQKKy1zLEBpbmZvZGlyQCwkaW5mb2Rpciw7dCB0CistcyxAbWFuZGlyQCwkbWFuZGlyLDt0IHQKKy1zLEBidWlsZF9hbGlhc0AsJGJ1aWxkX2FsaWFzLDt0IHQKKy1zLEBob3N0X2FsaWFzQCwkaG9zdF9hbGlhcyw7dCB0CistcyxAdGFyZ2V0X2FsaWFzQCwkdGFyZ2V0X2FsaWFzLDt0IHQKKy1zLEBERUZTQCwkREVGUyw7dCB0CistcyxARUNIT19DQCwkRUNIT19DLDt0IHQKKy1zLEBFQ0hPX05ALCRFQ0hPX04sO3QgdAorLXMsQEVDSE9fVEAsJEVDSE9fVCw7dCB0CistcyxATElCU0AsJExJQlMsO3QgdAorLXMsQGJ1aWxkQCwkYnVpbGQsO3QgdAorLXMsQGJ1aWxkX2NwdUAsJGJ1aWxkX2NwdSw7dCB0CistcyxAYnVpbGRfdmVuZG9yQCwkYnVpbGRfdmVuZG9yLDt0IHQKKy1zLEBidWlsZF9vc0AsJGJ1aWxkX29zLDt0IHQKKy1zLEBob3N0QCwkaG9zdCw7dCB0CistcyxAaG9zdF9jcHVALCRob3N0X2NwdSw7dCB0CistcyxAaG9zdF92ZW5kb3JALCRob3N0X3ZlbmRvciw7dCB0CistcyxAaG9zdF9vc0AsJGhvc3Rfb3MsO3QgdAorLXMsQHRhcmdldEAsJHRhcmdldCw7dCB0CistcyxAdGFyZ2V0X2NwdUAsJHRhcmdldF9jcHUsO3QgdAorLXMsQHRhcmdldF92ZW5kb3JALCR0YXJnZXRfdmVuZG9yLDt0IHQKKy1zLEB0YXJnZXRfb3NALCR0YXJnZXRfb3MsO3QgdAorLXMsQENDQCwkQ0MsO3QgdAorLXMsQENGTEFHU0AsJENGTEFHUyw7dCB0CistcyxATERGTEFHU0AsJExERkxBR1MsO3QgdAorLXMsQENQUEZMQUdTQCwkQ1BQRkxBR1MsO3QgdAorLXMsQGFjX2N0X0NDQCwkYWNfY3RfQ0MsO3QgdAorLXMsQEVYRUVYVEAsJEVYRUVYVCw7dCB0CistcyxAT0JKRVhUQCwkT0JKRVhULDt0IHQKKy1zLEBSQU5MSUJALCRSQU5MSUIsO3QgdAorLXMsQGFjX2N0X1JBTkxJQkAsJGFjX2N0X1JBTkxJQiw7dCB0CistcyxASU5TVEFMTF9QUk9HUkFNQCwkSU5TVEFMTF9QUk9HUkFNLDt0IHQKKy1zLEBJTlNUQUxMX1NDUklQVEAsJElOU1RBTExfU0NSSVBULDt0IHQKKy1zLEBJTlNUQUxMX0RBVEFALCRJTlNUQUxMX0RBVEEsO3QgdAorLXMsQEFSQCwkQVIsO3QgdAorLXMsQGFjX2N0X0FSQCwkYWNfY3RfQVIsO3QgdAorLXMsQFRBUkdFVF9PU0AsJFRBUkdFVF9PUyw7dCB0CistcyxAVEFSR0VUX0NQVUAsJFRBUkdFVF9DUFUsO3QgdAorLXMsQE02OEtDQ0AsJE02OEtDQyw7dCB0CistcyxATEVYREVGU0AsJExFWERFRlMsO3QgdAorLXMsQFZPWERFRlNALCRWT1hERUZTLDt0IHQKKy1zLEBIT1NUX09TQCwkSE9TVF9PUyw7dCB0CistcyxASE9TVF9DUFVALCRIT1NUX0NQVSw7dCB0CistcyxAT1RIRVJMSUJTQCwkT1RIRVJMSUJTLDt0IHQKKy1zLEBTSEZMQUdTQCwkU0hGTEFHUyw7dCB0CistcyxATU1BUFRZUEVALCRNTUFQVFlQRSw7dCB0CistcyxAU1RESU9UWVBFQCwkU1RESU9UWVBFLDt0IHQKKy1zLEBDUFBALCRDUFAsO3QgdAorLXMsQEVHUkVQQCwkRUdSRVAsO3QgdAorLXMsQEFVRElPRFJJVkVSQCwkQVVESU9EUklWRVIsO3QgdAorLXMsQEFVRElPREVGU0AsJEFVRElPREVGUyw7dCB0CistcyxAQVVESU9MSUJTQCwkQVVESU9MSUJTLDt0IHQKKy1zLEBGTF9MQU5HQCwkRkxfTEFORyw7dCB0CistcyxARkxfVk9YQCwkRkxfVk9YLDt0IHQKKy1zLEBGTF9MRVhALCRGTF9MRVgsO3QgdAorLXMsQExJQk9CSlNALCRMSUJPQkpTLDt0IHQKKy1zLEBMVExJQk9CSlNALCRMVExJQk9CSlMsO3QgdAorLUNFT0YKKy0KKy1fQUNFT0YKKy0KKy0gIGNhdCA+PiRDT05GSUdfU1RBVFVTIDw8XF9BQ0VPRgorLSAgIyBTcGxpdCB0aGUgc3Vic3RpdHV0aW9ucyBpbnRvIGJpdGUtc2l6ZWQgcGllY2VzIGZvciBzZWRzIHdpdGgKKy0gICMgc21hbGwgY29tbWFuZCBudW1iZXIgbGltaXRzLCBsaWtlIG9uIERpZ2l0YWwgT1NGLzEgYW5kIEhQLVVYLgorLSAgYWNfbWF4X3NlZF9saW5lcz00OAorLSAgYWNfc2VkX2ZyYWc9MSAjIE51bWJlciBvZiBjdXJyZW50IGZpbGUuCistICBhY19iZWc9MSAjIEZpcnN0IGxpbmUgZm9yIGN1cnJlbnQgZmlsZS4KKy0gIGFjX2VuZD0kYWNfbWF4X3NlZF9saW5lcyAjIExpbmUgYWZ0ZXIgbGFzdCBsaW5lIGZvciBjdXJyZW50IGZpbGUuCistICBhY19tb3JlX2xpbmVzPToKKy0gIGFjX3NlZF9jbWRzPQorLSAgd2hpbGUgJGFjX21vcmVfbGluZXM7IGRvCistICAgIGlmIHRlc3QgJGFjX2JlZyAtZ3QgMTsgdGhlbgorLSAgICAgIHNlZCAiMSwke2FjX2JlZ31kOyAke2FjX2VuZH1xIiAkdG1wL3N1YnMuc2VkID4kdG1wL3N1YnMuZnJhZworLSAgICBlbHNlCistICAgICAgc2VkICIke2FjX2VuZH1xIiAkdG1wL3N1YnMuc2VkID4kdG1wL3N1YnMuZnJhZworLSAgICBmaQorLSAgICBpZiB0ZXN0ICEgLXMgJHRtcC9zdWJzLmZyYWc7IHRoZW4KKy0gICAgICBhY19tb3JlX2xpbmVzPWZhbHNlCistICAgIGVsc2UKKy0gICAgICAjIFRoZSBwdXJwb3NlIG9mIHRoZSBsYWJlbCBhbmQgb2YgdGhlIGJyYW5jaGluZyBjb25kaXRpb24gaXMgdG8KKy0gICAgICAjIHNwZWVkIHVwIHRoZSBzZWQgcHJvY2Vzc2luZyAoaWYgdGhlcmUgYXJlIG5vIGBAJyBhdCBhbGwsIHRoZXJlCistICAgICAgIyBpcyBubyBuZWVkIHRvIGJyb3dzZSBhbnkgb2YgdGhlIHN1YnN0aXR1dGlvbnMpLgorLSAgICAgICMgVGhlc2UgYXJlIHRoZSB0d28gZXh0cmEgc2VkIGNvbW1hbmRzIG1lbnRpb25lZCBhYm92ZS4KKy0gICAgICAoZWNobyAnOnQKKy0gIC9AW2EtekEtWl9dW2EtekEtWl8wLTldKkAvIWInICYmIGNhdCAkdG1wL3N1YnMuZnJhZykgPiR0bXAvc3Vicy0kYWNfc2VkX2ZyYWcuc2VkCistICAgICAgaWYgdGVzdCAteiAiJGFjX3NlZF9jbWRzIjsgdGhlbgorLSAgCWFjX3NlZF9jbWRzPSJzZWQgLWYgJHRtcC9zdWJzLSRhY19zZWRfZnJhZy5zZWQiCistICAgICAgZWxzZQorLSAgCWFjX3NlZF9jbWRzPSIkYWNfc2VkX2NtZHMgfCBzZWQgLWYgJHRtcC9zdWJzLSRhY19zZWRfZnJhZy5zZWQiCistICAgICAgZmkKKy0gICAgICBhY19zZWRfZnJhZz1gZXhwciAkYWNfc2VkX2ZyYWcgKyAxYAorLSAgICAgIGFjX2JlZz0kYWNfZW5kCistICAgICAgYWNfZW5kPWBleHByICRhY19lbmQgKyAkYWNfbWF4X3NlZF9saW5lc2AKKy0gICAgZmkKKy0gIGRvbmUKKy0gIGlmIHRlc3QgLXogIiRhY19zZWRfY21kcyI7IHRoZW4KKy0gICAgYWNfc2VkX2NtZHM9Y2F0CisrICAjIFJlbW92ZSBsYXN0IHNsYXNoIGFuZCBhbGwgdGhhdCBmb2xsb3dzIGl0LiAgTm90IGFsbCBzeXN0ZW1zIGhhdmUgZGlybmFtZS4KKysgIGFjX2Rpcj1gZWNobyAkYWNfZmlsZXxzZWQgJ3MlL1teL11bXi9dKiQlJSdgCisrICBpZiB0ZXN0ICIkYWNfZGlyIiAhPSAiJGFjX2ZpbGUiICYmIHRlc3QgIiRhY19kaXIiICE9IC47IHRoZW4KKysgICAgIyBUaGUgZmlsZSBpcyBpbiBhIHN1YmRpcmVjdG9yeS4KKysgICAgdGVzdCAhIC1kICIkYWNfZGlyIiAmJiBta2RpciAiJGFjX2RpciIKKysgICAgYWNfZGlyX3N1ZmZpeD0iL2BlY2hvICRhY19kaXJ8c2VkICdzJV5cLi8lJSdgIgorKyAgICAjIEEgIi4uLyIgZm9yIGVhY2ggZGlyZWN0b3J5IGluICRhY19kaXJfc3VmZml4LgorKyAgICBhY19kb3RzPWBlY2hvICRhY19kaXJfc3VmZml4fHNlZCAncyUvW14vXSolLi4vJWcnYAorKyAgZWxzZQorKyAgICBhY19kaXJfc3VmZml4PSBhY19kb3RzPQorICAgZmkKKy1maSAjIHRlc3QgLW4gIiRDT05GSUdfRklMRVMiCisgCistX0FDRU9GCistY2F0ID4+JENPTkZJR19TVEFUVVMgPDxcX0FDRU9GCistZm9yIGFjX2ZpbGUgaW4gOiAkQ09ORklHX0ZJTEVTOyBkbyB0ZXN0ICJ4JGFjX2ZpbGUiID0geDogJiYgY29udGludWUKKy0gICMgU3VwcG9ydCAib3V0ZmlsZVs6aW5maWxlWzppbmZpbGUuLi5dXSIsIGRlZmF1bHRpbmcgaW5maWxlPSJvdXRmaWxlLmluIi4KKy0gIGNhc2UgJGFjX2ZpbGUgaW4KKy0gIC0gfCAqOi0gfCAqOi06KiApICMgaW5wdXQgZnJvbSBzdGRpbgorLSAgICAgICAgY2F0ID4kdG1wL3N0ZGluCistICAgICAgICBhY19maWxlX2luPWBlY2hvICIkYWNfZmlsZSIgfCBzZWQgJ3MsW146XSo6LCwnYAorLSAgICAgICAgYWNfZmlsZT1gZWNobyAiJGFjX2ZpbGUiIHwgc2VkICdzLDouKiwsJ2AgOzsKKy0gICo6KiApIGFjX2ZpbGVfaW49YGVjaG8gIiRhY19maWxlIiB8IHNlZCAncyxbXjpdKjosLCdgCistICAgICAgICBhY19maWxlPWBlY2hvICIkYWNfZmlsZSIgfCBzZWQgJ3MsOi4qLCwnYCA7OworLSAgKiApICAgYWNfZmlsZV9pbj0kYWNfZmlsZS5pbiA7OworKyAgY2FzZSAiJGFjX2dpdmVuX3NyY2RpciIgaW4KKysgIC4pICBzcmNkaXI9LgorKyAgICAgIGlmIHRlc3QgLXogIiRhY19kb3RzIjsgdGhlbiB0b3Bfc3JjZGlyPS4KKysgICAgICBlbHNlIHRvcF9zcmNkaXI9YGVjaG8gJGFjX2RvdHN8c2VkICdzJS8kJSUnYDsgZmkgOzsKKysgIC8qKSBzcmNkaXI9IiRhY19naXZlbl9zcmNkaXIkYWNfZGlyX3N1ZmZpeCI7IHRvcF9zcmNkaXI9IiRhY19naXZlbl9zcmNkaXIiIDs7CisrICAqKSAjIFJlbGF0aXZlIHBhdGguCisrICAgIHNyY2Rpcj0iJGFjX2RvdHMkYWNfZ2l2ZW5fc3JjZGlyJGFjX2Rpcl9zdWZmaXgiCisrICAgIHRvcF9zcmNkaXI9IiRhY19kb3RzJGFjX2dpdmVuX3NyY2RpciIgOzsKKyAgIGVzYWMKKyAKKy0gICMgQ29tcHV0ZSBAc3JjZGlyQCwgQHRvcF9zcmNkaXJALCBhbmQgQElOU1RBTExAIGZvciBzdWJkaXJlY3Rvcmllcy4KKy0gIGFjX2Rpcj1gKGRpcm5hbWUgIiRhY19maWxlIikgMj4vZGV2L251bGwgfHwKKy0kYXNfZXhwciBYIiRhY19maWxlIiA6ICdYXCguKlteL11cKS8vKlteL11bXi9dKi8qJCcgXHwgXAorLSAgICAgICAgIFgiJGFjX2ZpbGUiIDogJ1hcKC8vXClbXi9dJyBcfCBcCistICAgICAgICAgWCIkYWNfZmlsZSIgOiAnWFwoLy9cKSQnIFx8IFwKKy0gICAgICAgICBYIiRhY19maWxlIiA6ICdYXCgvXCknIFx8IFwKKy0gICAgICAgICAuICAgICA6ICdcKC5cKScgMj4vZGV2L251bGwgfHwKKy1lY2hvIFgiJGFjX2ZpbGUiIHwKKy0gICAgc2VkICcvXlhcKC4qW14vXVwpXC9cLypbXi9dW14vXSpcLyokL3sgcy8vXDEvOyBxOyB9CistICAJICAvXlhcKFwvXC9cKVteL10uKi97IHMvL1wxLzsgcTsgfQorLSAgCSAgL15YXChcL1wvXCkkL3sgcy8vXDEvOyBxOyB9CistICAJICAvXlhcKFwvXCkuKi97IHMvL1wxLzsgcTsgfQorLSAgCSAgcy8uKi8uLzsgcSdgCistICB7IGlmICRhc19ta2Rpcl9wOyB0aGVuCistICAgIG1rZGlyIC1wICIkYWNfZGlyIgorLSAgZWxzZQorLSAgICBhc19kaXI9IiRhY19kaXIiCistICAgIGFzX2RpcnM9CistICAgIHdoaWxlIHRlc3QgISAtZCAiJGFzX2RpciI7IGRvCistICAgICAgYXNfZGlycz0iJGFzX2RpciAkYXNfZGlycyIKKy0gICAgICBhc19kaXI9YChkaXJuYW1lICIkYXNfZGlyIikgMj4vZGV2L251bGwgfHwKKy0kYXNfZXhwciBYIiRhc19kaXIiIDogJ1hcKC4qW14vXVwpLy8qW14vXVteL10qLyokJyBcfCBcCistICAgICAgICAgWCIkYXNfZGlyIiA6ICdYXCgvL1wpW14vXScgXHwgXAorLSAgICAgICAgIFgiJGFzX2RpciIgOiAnWFwoLy9cKSQnIFx8IFwKKy0gICAgICAgICBYIiRhc19kaXIiIDogJ1hcKC9cKScgXHwgXAorLSAgICAgICAgIC4gICAgIDogJ1woLlwpJyAyPi9kZXYvbnVsbCB8fAorLWVjaG8gWCIkYXNfZGlyIiB8CistICAgIHNlZCAnL15YXCguKlteL11cKVwvXC8qW14vXVteL10qXC8qJC97IHMvL1wxLzsgcTsgfQorLSAgCSAgL15YXChcL1wvXClbXi9dLioveyBzLy9cMS87IHE7IH0KKy0gIAkgIC9eWFwoXC9cL1wpJC97IHMvL1wxLzsgcTsgfQorLSAgCSAgL15YXChcL1wpLioveyBzLy9cMS87IHE7IH0KKy0gIAkgIHMvLiovLi87IHEnYAorLSAgICBkb25lCistICAgIHRlc3QgISAtbiAiJGFzX2RpcnMiIHx8IG1rZGlyICRhc19kaXJzCistICBmaSB8fCB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBjYW5ub3QgY3JlYXRlIGRpcmVjdG9yeSBcIiRhY19kaXJcIiIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgXCIkYWNfZGlyXCIiID4mMjt9CistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9OyB9CisrICBjYXNlICIkYWNfZ2l2ZW5fSU5TVEFMTCIgaW4KKysgIFsvJF0qKSBJTlNUQUxMPSIkYWNfZ2l2ZW5fSU5TVEFMTCIgOzsKKysgICopIElOU1RBTEw9IiRhY19kb3RzJGFjX2dpdmVuX0lOU1RBTEwiIDs7CisrICBlc2FjCisgCistICBhY19idWlsZGRpcj0uCistCistaWYgdGVzdCAiJGFjX2RpciIgIT0gLjsgdGhlbgorLSAgYWNfZGlyX3N1ZmZpeD0vYGVjaG8gIiRhY19kaXIiIHwgc2VkICdzLF5cLltcXC9dLCwnYAorLSAgIyBBICIuLi8iIGZvciBlYWNoIGRpcmVjdG9yeSBpbiAkYWNfZGlyX3N1ZmZpeC4KKy0gIGFjX3RvcF9idWlsZGRpcj1gZWNobyAiJGFjX2Rpcl9zdWZmaXgiIHwgc2VkICdzLC9bXlxcL10qLC4uLyxnJ2AKKy1lbHNlCistICBhY19kaXJfc3VmZml4PSBhY190b3BfYnVpbGRkaXI9CistZmkKKy0KKy1jYXNlICRzcmNkaXIgaW4KKy0gIC4pICAjIE5vIC0tc3JjZGlyIG9wdGlvbi4gIFdlIGFyZSBidWlsZGluZyBpbiBwbGFjZS4KKy0gICAgYWNfc3JjZGlyPS4KKy0gICAgaWYgdGVzdCAteiAiJGFjX3RvcF9idWlsZGRpciI7IHRoZW4KKy0gICAgICAgYWNfdG9wX3NyY2Rpcj0uCistICAgIGVsc2UKKy0gICAgICAgYWNfdG9wX3NyY2Rpcj1gZWNobyAkYWNfdG9wX2J1aWxkZGlyIHwgc2VkICdzLC8kLCwnYAorLSAgICBmaSA7OworLSAgW1xcL10qIHwgPzpbXFwvXSogKSAgIyBBYnNvbHV0ZSBwYXRoLgorLSAgICBhY19zcmNkaXI9JHNyY2RpciRhY19kaXJfc3VmZml4OworLSAgICBhY190b3Bfc3JjZGlyPSRzcmNkaXIgOzsKKy0gICopICMgUmVsYXRpdmUgcGF0aC4KKy0gICAgYWNfc3JjZGlyPSRhY190b3BfYnVpbGRkaXIkc3JjZGlyJGFjX2Rpcl9zdWZmaXgKKy0gICAgYWNfdG9wX3NyY2Rpcj0kYWNfdG9wX2J1aWxkZGlyJHNyY2RpciA7OworLWVzYWMKKy0jIERvbid0IGJsaW5kbHkgcGVyZm9ybSBhIGBjZCAiJGFjX2RpciIvJGFjX2ZvbyAmJiBwd2RgIHNpbmNlICRhY19mb28gY2FuIGJlCistIyBhYnNvbHV0ZS4KKy1hY19hYnNfYnVpbGRkaXI9YGNkICIkYWNfZGlyIiAmJiBjZCAkYWNfYnVpbGRkaXIgJiYgcHdkYAorLWFjX2Fic190b3BfYnVpbGRkaXI9YGNkICIkYWNfZGlyIiAmJiBjZCAke2FjX3RvcF9idWlsZGRpcn0uICYmIHB3ZGAKKy1hY19hYnNfc3JjZGlyPWBjZCAiJGFjX2RpciIgJiYgY2QgJGFjX3NyY2RpciAmJiBwd2RgCistYWNfYWJzX3RvcF9zcmNkaXI9YGNkICIkYWNfZGlyIiAmJiBjZCAkYWNfdG9wX3NyY2RpciAmJiBwd2RgCistCistCistICBjYXNlICRJTlNUQUxMIGluCistICBbXFwvJF0qIHwgPzpbXFwvXSogKSBhY19JTlNUQUxMPSRJTlNUQUxMIDs7CistICAqKSBhY19JTlNUQUxMPSRhY190b3BfYnVpbGRkaXIkSU5TVEFMTCA7OworKyAgZWNobyBjcmVhdGluZyAiJGFjX2ZpbGUiCisrICBybSAtZiAiJGFjX2ZpbGUiCisrICBjb25maWd1cmVfaW5wdXQ9IkdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGZyb20gYGVjaG8gJGFjX2ZpbGVfaW58c2VkICdzJS4qLyUlJ2AgYnkgY29uZmlndXJlLiIKKysgIGNhc2UgIiRhY19maWxlIiBpbgorKyAgKk1ha2VmaWxlKikgYWNfY29tc3ViPSIxaVxcCisrIyAkY29uZmlndXJlX2lucHV0IiA7OworKyAgKikgYWNfY29tc3ViPSA7OworICAgZXNhYworIAorLSAgaWYgdGVzdCB4IiRhY19maWxlIiAhPSB4LTsgdGhlbgorLSAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBjcmVhdGluZyAkYWNfZmlsZSIgPiY1CistZWNobyAiJGFzX21lOiBjcmVhdGluZyAkYWNfZmlsZSIgPiY2O30KKy0gICAgcm0gLWYgIiRhY19maWxlIgorLSAgZmkKKy0gICMgTGV0J3Mgc3RpbGwgcHJldGVuZCBpdCBpcyBgY29uZmlndXJlJyB3aGljaCBpbnN0YW50aWF0ZXMgKGkuZS4sIGRvbid0CistICAjIHVzZSAkYXNfbWUpLCBwZW9wbGUgd291bGQgYmUgc3VycHJpc2VkIHRvIHJlYWQ6CistICAjICAgIC8qIGNvbmZpZy5oLiAgR2VuZXJhdGVkIGJ5IGNvbmZpZy5zdGF0dXMuICAqLworLSAgaWYgdGVzdCB4IiRhY19maWxlIiA9IHgtOyB0aGVuCistICAgIGNvbmZpZ3VyZV9pbnB1dD0KKy0gIGVsc2UKKy0gICAgY29uZmlndXJlX2lucHV0PSIkYWNfZmlsZS4gICIKKy0gIGZpCistICBjb25maWd1cmVfaW5wdXQ9JGNvbmZpZ3VyZV9pbnB1dCJHZW5lcmF0ZWQgZnJvbSBgZWNobyAkYWNfZmlsZV9pbiB8CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlZCAncywuKi8sLCdgIGJ5IGNvbmZpZ3VyZS4iCisrICBhY19maWxlX2lucHV0cz1gZWNobyAkYWNfZmlsZV9pbnxzZWQgLWUgInMlXiUkYWNfZ2l2ZW5fc3JjZGlyLyUiIC1lICJzJTolICRhY19naXZlbl9zcmNkaXIvJWciYAorKyAgc2VkIC1lICIkYWNfY29tc3ViCisrcyVAY29uZmlndXJlX2lucHV0QCUkY29uZmlndXJlX2lucHV0JWcKKytzJUBzcmNkaXJAJSRzcmNkaXIlZworK3MlQHRvcF9zcmNkaXJAJSR0b3Bfc3JjZGlyJWcKKytzJUBJTlNUQUxMQCUkSU5TVEFMTCVnCisrIiAkYWNfZmlsZV9pbnB1dHMgfCAoZXZhbCAiJGFjX3NlZF9jbWRzIikgPiAkYWNfZmlsZQorK2ZpOyBkb25lCisrcm0gLWYgY29uZnRlc3QucyoKKyAKKy0gICMgRmlyc3QgbG9vayBmb3IgdGhlIGlucHV0IGZpbGVzIGluIHRoZSBidWlsZCB0cmVlLCBvdGhlcndpc2UgaW4gdGhlCistICAjIHNyYyB0cmVlLgorLSAgYWNfZmlsZV9pbnB1dHM9YElGUz06CistICAgIGZvciBmIGluICRhY19maWxlX2luOyBkbworLSAgICAgIGNhc2UgJGYgaW4KKy0gICAgICAtKSBlY2hvICR0bXAvc3RkaW4gOzsKKy0gICAgICBbXFwvJF0qKQorLSAgICAgICAgICMgQWJzb2x1dGUgKGNhbid0IGJlIERPUy1zdHlsZSwgYXMgSUZTPTopCistICAgICAgICAgdGVzdCAtZiAiJGYiIHx8IHsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IGNhbm5vdCBmaW5kIGlucHV0IGZpbGU6ICRmIiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiBjYW5ub3QgZmluZCBpbnB1dCBmaWxlOiAkZiIgPiYyO30KKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKy0gICAgICAgICBlY2hvICRmOzsKKy0gICAgICAqKSAjIFJlbGF0aXZlCistICAgICAgICAgaWYgdGVzdCAtZiAiJGYiOyB0aGVuCistICAgICAgICAgICAjIEJ1aWxkIHRyZWUKKy0gICAgICAgICAgIGVjaG8gJGYKKy0gICAgICAgICBlbGlmIHRlc3QgLWYgIiRzcmNkaXIvJGYiOyB0aGVuCistICAgICAgICAgICAjIFNvdXJjZSB0cmVlCistICAgICAgICAgICBlY2hvICRzcmNkaXIvJGYKKy0gICAgICAgICBlbHNlCistICAgICAgICAgICAjIC9kZXYvbnVsbCB0cmVlCistICAgICAgICAgICB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBjYW5ub3QgZmluZCBpbnB1dCBmaWxlOiAkZiIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogY2Fubm90IGZpbmQgaW5wdXQgZmlsZTogJGYiID4mMjt9CistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CistICAgICAgICAgZmk7OworLSAgICAgIGVzYWMKKy0gICAgZG9uZWAgfHwgeyAoZXhpdCAxKTsgZXhpdCAxOyB9CistX0FDRU9GCistY2F0ID4+JENPTkZJR19TVEFUVVMgPDxfQUNFT0YKKy0gIHNlZCAiJGFjX3Zwc3ViCistJGV4dHJhc3ViCistX0FDRU9GCistY2F0ID4+JENPTkZJR19TVEFUVVMgPDxcX0FDRU9GCistOnQKKy0vQFthLXpBLVpfXVthLXpBLVpfMC05XSpALyFiCistcyxAY29uZmlndXJlX2lucHV0QCwkY29uZmlndXJlX2lucHV0LDt0IHQKKy1zLEBzcmNkaXJALCRhY19zcmNkaXIsO3QgdAorLXMsQGFic19zcmNkaXJALCRhY19hYnNfc3JjZGlyLDt0IHQKKy1zLEB0b3Bfc3JjZGlyQCwkYWNfdG9wX3NyY2Rpciw7dCB0CistcyxAYWJzX3RvcF9zcmNkaXJALCRhY19hYnNfdG9wX3NyY2Rpciw7dCB0CistcyxAYnVpbGRkaXJALCRhY19idWlsZGRpciw7dCB0CistcyxAYWJzX2J1aWxkZGlyQCwkYWNfYWJzX2J1aWxkZGlyLDt0IHQKKy1zLEB0b3BfYnVpbGRkaXJALCRhY190b3BfYnVpbGRkaXIsO3QgdAorLXMsQGFic190b3BfYnVpbGRkaXJALCRhY19hYnNfdG9wX2J1aWxkZGlyLDt0IHQKKy1zLEBJTlNUQUxMQCwkYWNfSU5TVEFMTCw7dCB0CistIiAkYWNfZmlsZV9pbnB1dHMgfCAoZXZhbCAiJGFjX3NlZF9jbWRzIikgPiR0bXAvb3V0CistICBybSAtZiAkdG1wL3N0ZGluCistICBpZiB0ZXN0IHgiJGFjX2ZpbGUiICE9IHgtOyB0aGVuCistICAgIG12ICR0bXAvb3V0ICRhY19maWxlCistICBlbHNlCistICAgIGNhdCAkdG1wL291dAorLSAgICBybSAtZiAkdG1wL291dAorLSAgZmkKKytFT0YKKytjYXQgPj4gJENPTkZJR19TVEFUVVMgPDxFT0YKKyAKKy1kb25lCistX0FDRU9GCisrRU9GCisrY2F0ID4+ICRDT05GSUdfU1RBVFVTIDw8XEVPRgorIAorLWNhdCA+PiRDT05GSUdfU1RBVFVTIDw8XF9BQ0VPRgorLQorLXsgKGV4aXQgMCk7IGV4aXQgMDsgfQorLV9BQ0VPRgorK2V4aXQgMAorK0VPRgorIGNobW9kICt4ICRDT05GSUdfU1RBVFVTCistYWNfY2xlYW5fZmlsZXM9JGFjX2NsZWFuX2ZpbGVzX3NhdmUKKytybSAtZnIgY29uZmRlZnMqICRhY19jbGVhbl9maWxlcworK3Rlc3QgIiRub19jcmVhdGUiID0geWVzIHx8ICR7Q09ORklHX1NIRUxMLS9iaW4vc2h9ICRDT05GSUdfU1RBVFVTIHx8IGV4aXQgMQorIAorLQorLSMgY29uZmlndXJlIGlzIHdyaXRpbmcgdG8gY29uZmlnLmxvZywgYW5kIHRoZW4gY2FsbHMgY29uZmlnLnN0YXR1cy4KKy0jIGNvbmZpZy5zdGF0dXMgZG9lcyBpdHMgb3duIHJlZGlyZWN0aW9uLCBhcHBlbmRpbmcgdG8gY29uZmlnLmxvZy4KKy0jIFVuZm9ydHVuYXRlbHksIG9uIERPUyB0aGlzIGZhaWxzLCBhcyBjb25maWcubG9nIGlzIHN0aWxsIGtlcHQgb3BlbgorLSMgYnkgY29uZmlndXJlLCBzbyBjb25maWcuc3RhdHVzIHdvbid0IGJlIGFibGUgdG8gd3JpdGUgdG8gaXQ7IGl0cworLSMgb3V0cHV0IGlzIHNpbXBseSBkaXNjYXJkZWQuICBTbyB3ZSBleGVjIHRoZSBGRCB0byAvZGV2L251bGwsCistIyBlZmZlY3RpdmVseSBjbG9zaW5nIGNvbmZpZy5sb2csIHNvIGl0IGNhbiBiZSBwcm9wZXJseSAocmUpb3BlbmVkIGFuZAorLSMgYXBwZW5kZWQgdG8gYnkgY29uZmlnLnN0YXR1cy4gIFdoZW4gY29taW5nIGJhY2sgdG8gY29uZmlndXJlLCB3ZQorLSMgbmVlZCB0byBtYWtlIHRoZSBGRCBhdmFpbGFibGUgYWdhaW4uCistaWYgdGVzdCAiJG5vX2NyZWF0ZSIgIT0geWVzOyB0aGVuCistICBhY19jc19zdWNjZXNzPToKKy0gIGFjX2NvbmZpZ19zdGF0dXNfYXJncz0KKy0gIHRlc3QgIiRzaWxlbnQiID0geWVzICYmCistICAgIGFjX2NvbmZpZ19zdGF0dXNfYXJncz0iJGFjX2NvbmZpZ19zdGF0dXNfYXJncyAtLXF1aWV0IgorLSAgZXhlYyA1Pi9kZXYvbnVsbAorLSAgJFNIRUxMICRDT05GSUdfU1RBVFVTICRhY19jb25maWdfc3RhdHVzX2FyZ3MgfHwgYWNfY3Nfc3VjY2Vzcz1mYWxzZQorLSAgZXhlYyA1Pj5jb25maWcubG9nCistICAjIFVzZSB8fCwgbm90ICYmLCB0byBhdm9pZCBleGl0aW5nIGZyb20gdGhlIGlmIHdpdGggJD8gPSAxLCB3aGljaAorLSAgIyB3b3VsZCBtYWtlIGNvbmZpZ3VyZSBmYWlsIGlmIHRoaXMgaXMgdGhlIGxhc3QgaW5zdHJ1Y3Rpb24uCistICAkYWNfY3Nfc3VjY2VzcyB8fCB7IChleGl0IDEpOyBleGl0IDE7IH0KKy1maQorLQorSW5kZXg6IGNvbmZpZ3VyZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGZsaXRlLTEuMy1yZWxlYXNlL2NvbmZpZ3VyZS5pbgkoLi4uL2ZsaXRlLTEuMy1vcmlnKQkocmV2aXNpb24gNykKKysrKyBmbGl0ZS0xLjMtcmVsZWFzZS9jb25maWd1cmUuaW4JKC4uLi9yZWxlYXNlLTEuMikJKHJldmlzaW9uIDcpCitAQCAtMjA2LDEwICsyMDYsMTAgQEAKKyBBQ19DSEVDS19IRUFERVIoc3lzL2F1ZGlvaW8uaCwKKyAgICAgICAgICAgICAgIFtBVURJT0RSSVZFUj0ic3VuIgorICAgICAgICAgICAgICAgIEFVRElPREVGUz0tRENTVF9BVURJT19TVU5PU10pCistZG5sIEFDX0NIRUNLX0hFQURFUihzeXMvYXNvdW5kbGliLmgsCistZG5sICAgICAgICAgICAgICBbQVVESU9EUklWRVI9ImFsc2EiCistZG5sCSAgICAgICBBVURJT0RFRlM9LURDU1RfQVVESU9fQUxTQQorLWRubCAgICAgICAgICAgICAgIEFVRElPTElCUz0tbGFzb3VuZF0pCisrIEFDX0NIRUNLX0hFQURFUihhbHNhL2Fzb3VuZGxpYi5oLAorKyAgICAgICAgICAgICAgW0FVRElPRFJJVkVSPSJhbHNhIgorKwkgICAgICAgQVVESU9ERUZTPS1EQ1NUX0FVRElPX0FMU0EKKysgICAgICAgICAgICAgICBBVURJT0xJQlM9LWxhc291bmRdKQorIEFDX0NIRUNLX0hFQURFUihtbXN5c3RlbS5oLAorIAkgICAgICBbQVVESU9EUklWRVI9IndpbmNlIgorIAkgICAgICAgQVVESU9ERUZTPS1EQ1NUX0FVRElPX1dJTkNFCitJbmRleDogc3JjL2hyZy9NYWtlZmlsZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGZsaXRlLTEuMy1yZWxlYXNlL3NyYy9ocmcvTWFrZWZpbGUJKC4uLi9mbGl0ZS0xLjMtb3JpZykJKHJldmlzaW9uIDcpCisrKysgZmxpdGUtMS4zLXJlbGVhc2Uvc3JjL2hyZy9NYWtlZmlsZQkoLi4uL3JlbGVhc2UtMS4yKQkocmV2aXNpb24gNykKK0BAIC0zOSw5ICszOSwxNCBAQAorIEJVSUxEX0RJUlMgPSAKKyBBTExfRElSUz0gCisgSCA9IAorK2luY2x1ZGUgJChUT1ApL2NvbmZpZy9jb25maWcKKyBTUkNTID0gY3N0X3V0dGVyYW5jZS5jIGNzdF9yZWxhdGlvbi5jIGNzdF9pdGVtLmMgY3N0X2ZmZWF0dXJlLmMgXAorICAgICAgICBjc3RfcmVsX2lvLmMKKy1PQkpTID0gJChTUkNTOi5jPS5vKQorK2lmZGVmIFNIRkxBR1MKKytPQkpTIDo9ICQoU1JDUzouYz0ub3MpCisrZWxzZQorK09CSlMgOj0gJChTUkNTOi5jPS5vKQorK2VuZGlmCisgRklMRVMgPSBNYWtlZmlsZSAkKEgpICQoU1JDUykKKyBMSUJOQU1FID0gZmxpdGUKKyAKK0luZGV4OiBzcmMvdXRpbHMvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBmbGl0ZS0xLjMtcmVsZWFzZS9zcmMvdXRpbHMvTWFrZWZpbGUJKC4uLi9mbGl0ZS0xLjMtb3JpZykJKHJldmlzaW9uIDcpCisrKysgZmxpdGUtMS4zLXJlbGVhc2Uvc3JjL3V0aWxzL01ha2VmaWxlCSguLi4vcmVsZWFzZS0xLjIpCShyZXZpc2lvbiA3KQorQEAgLTQ0LDggKzQ0LDEzIEBACisgICAgICAgIGNzdF90b2tlbnN0cmVhbS5jIGNzdF92YWwuYyBjc3RfZmVhdHVyZXMuYyBcCisgICAgICAgIGNzdF9lbmRpYW4uYyBjc3Rfc29ja2V0LmMgY3N0X3ZhbF9jb25zdC5jIFwKKyAgICAgICAgY3N0X3ZhbF91c2VyLmMgY3N0X2FyZ3MuYyAKKytpZmRlZiBTSEZMQUdTCisrT0JKUyA6PSAkKFNSQ1M6LmM9Lm9zKSAkKE1NQVBUWVBFOiU9Y3N0X21tYXBfJS5vcykgXAorKyAgICAgICAgJChTVERJT1RZUEU6JT1jc3RfZmlsZV8lLm9zKQorK2Vsc2UKKyBPQkpTIDo9ICQoU1JDUzouYz0ubykgJChNTUFQVFlQRTolPWNzdF9tbWFwXyUubykgXAorICAgICAgICAgJChTVERJT1RZUEU6JT1jc3RfZmlsZV8lLm8pCisrZW5kaWYKKyBGSUxFUyA9IE1ha2VmaWxlICQoSCkgJChTUkNTKSBcCisgCWNzdF9tbWFwX3Bvc2l4LmMgY3N0X21tYXBfd2luMzIuYyBjc3RfbW1hcF9ub25lLmMgXAorIAljc3RfZmlsZV9zdGRpby5jIGNzdF9maWxlX3dpbmNlLmMgY3N0X2ZpbGVfcGFsbW9zLmMKK0luZGV4OiBzcmMvYXVkaW8vYXVfYWxzYS5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZmxpdGUtMS4zLXJlbGVhc2Uvc3JjL2F1ZGlvL2F1X2Fsc2EuYwkoLi4uL2ZsaXRlLTEuMy1vcmlnKQkocmV2aXNpb24gMCkKKysrKyBmbGl0ZS0xLjMtcmVsZWFzZS9zcmMvYXVkaW8vYXVfYWxzYS5jCSguLi4vcmVsZWFzZS0xLjIpCShyZXZpc2lvbiA3KQorQEAgLTAsMCArMSwzMTEgQEAKKysvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKysvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKysvKiAgICAgICAgICAgICAgICAgIExhbmd1YWdlIFRlY2hub2xvZ2llcyBJbnN0aXR1dGUgICAgICAgICAgICAgICAgICAgICAgKi8KKysvKiAgICAgICAgICAgICAgICAgICAgIENhcm5lZ2llIE1lbGxvbiBVbml2ZXJzaXR5ICAgICAgICAgICAgICAgICAgICAgICAgKi8KKysvKiAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAoYykgMjAwMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKysvKiAgICAgICAgICAgICAgICAgICAgICAgIEFsbCBSaWdodHMgUmVzZXJ2ZWQuICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKysvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKysvKiAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIHVzZSBhbmQgZGlzdHJpYnV0ZSAgKi8KKysvKiAgdGhpcyBzb2Z0d2FyZSBhbmQgaXRzIGRvY3VtZW50YXRpb24gd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nICAgKi8KKysvKiAgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCAgKi8KKysvKiAgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoaXMgd29yaywgYW5kIHRvICAgICAgKi8KKysvKiAgcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGlzIHdvcmsgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvICAgKi8KKysvKiAgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKysvKiAgIDEuIFRoZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgICAgKi8KKysvKiAgICAgIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gICAgICAgICAgICAgICAgICAgICAgICAgKi8KKysvKiAgIDIuIEFueSBtb2RpZmljYXRpb25zIG11c3QgYmUgY2xlYXJseSBtYXJrZWQgYXMgc3VjaC4gICAgICAgICAgICAgICAgKi8KKysvKiAgIDMuIE9yaWdpbmFsIGF1dGhvcnMnIG5hbWVzIGFyZSBub3QgZGVsZXRlZC4gICAgICAgICAgICAgICAgICAgICAgICAgKi8KKysvKiAgIDQuIFRoZSBhdXRob3JzJyBuYW1lcyBhcmUgbm90IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzICAgKi8KKysvKiAgICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiAgICAgICAgKi8KKysvKiAgICAgIHBlcm1pc3Npb24uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKysvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKysvKiAgQ0FSTkVHSUUgTUVMTE9OIFVOSVZFUlNJVFkgQU5EIFRIRSBDT05UUklCVVRPUlMgVE8gVEhJUyBXT1JLICAgICAgICAgKi8KKysvKiAgRElTQ0xBSU0gQUxMIFdBUlJBTlRJRVMgV0lUSCBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSwgSU5DTFVESU5HICAgICAgKi8KKysvKiAgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MsIElOIE5PIEVWRU5UICAgKi8KKysvKiAgU0hBTEwgQ0FSTkVHSUUgTUVMTE9OIFVOSVZFUlNJVFkgTk9SIFRIRSBDT05UUklCVVRPUlMgQkUgTElBQkxFICAgICAgKi8KKysvKiAgRk9SIEFOWSBTUEVDSUFMLCBJTkRJUkVDVCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgICAgKi8KKysvKiAgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOICAgKi8KKysvKiAgQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgICAgICAgICAgKi8KKysvKiAgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgICAgICAgKi8KKysvKiAgVEhJUyBTT0ZUV0FSRS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKysvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKysvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KKysvKiAgICAgICAgICAgICBBdXRob3I6ICBMdWthcyBMb2VocmVyICggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKysvKiAgICAgICAgICAgICAgIERhdGU6ICBKYW51YXJ5IDIwMDUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKysvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKysvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKysvKiAgTmF0aXZlIGFjY2VzcyB0byBhbHNhIGF1ZGlvIGRldmljZXMgb24gTGludXggICAgICAgICAgICAgICAgICAgICAgICAgKi8KKysvKiAgVGVzdGVkIHdpdGggbGliYXNvdW5kIHZlcnNpb24gMS4wLjEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKysvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKysKKysjaW5jbHVkZSA8c3RkbGliLmg+CisrI2luY2x1ZGUgPHVuaXN0ZC5oPgorKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKysjaW5jbHVkZSA8YXNzZXJ0Lmg+CisrI2luY2x1ZGUgPGVycm5vLmg+CisrCisrI2luY2x1ZGUgImNzdF9zdHJpbmcuaCIKKysjaW5jbHVkZSAiY3N0X3dhdmUuaCIKKysjaW5jbHVkZSAiY3N0X2F1ZGlvLmgiCisrCisrI2luY2x1ZGUgPGFsc2EvYXNvdW5kbGliLmg+CisrCisrCisrLypzdGF0aWMgY2hhciAqcGNtX2Rldl9uYW1lID0gImh3OjAsMCI7ICovCisrc3RhdGljIGNoYXIgKnBjbV9kZXZfbmFtZSA9ImRlZmF1bHQiOworKworK3N0YXRpYyBpbmxpbmUgdm9pZCBwcmludF9wY21fc3RhdGUoc25kX3BjbV90ICpoYW5kbGUsIGNoYXIgKm1zZykKKyt7CisrICBmcHJpbnRmKHN0ZGVyciwgIlBDTSBzdGF0ZSBhdCAlcyA9ICVzXG4iLCBtc2csCisrCQkgIHNuZF9wY21fc3RhdGVfbmFtZShzbmRfcGNtX3N0YXRlKGhhbmRsZSkpKTsKKyt9CisrCisrY3N0X2F1ZGlvZGV2ICphdWRpb19vcGVuX2Fsc2EoaW50IHNwcywgaW50IGNoYW5uZWxzLCBjc3RfYXVkaW9mbXQgZm10KQorK3sKKysgIGNzdF9hdWRpb2RldiAqYWQ7CisrICB1bnNpZ25lZCAJaW50IHJlYWxfcmF0ZTsKKysgIGludCBlcnI7CisrCisrICAvKiBhbHNhIHNwZWNpZmljIHN0dWZmICovCisrICBzbmRfcGNtX3QgKnBjbV9oYW5kbGU7ICAgICAgICAgIAorKyAgc25kX3BjbV9zdHJlYW1fdCBzdHJlYW0gPSBTTkRfUENNX1NUUkVBTV9QTEFZQkFDSzsKKysgIHNuZF9wY21faHdfcGFyYW1zX3QgKmh3cGFyYW1zOworKyAgc25kX3BjbV9mb3JtYXRfdCBmb3JtYXQ7CisrICBzbmRfcGNtX2FjY2Vzc190IGFjY2VzcyA9IFNORF9QQ01fQUNDRVNTX1JXX0lOVEVSTEVBVkVEOworKworKyAgLyogQWxsb2NhdGUgdGhlIHNuZF9wY21faHdfcGFyYW1zX3Qgc3RydWN0dXJlIG9uIHRoZSBzdGFjay4gKi8KKysgIHNuZF9wY21faHdfcGFyYW1zX2FsbG9jYSgmaHdwYXJhbXMpOworKworKyAgLyogT3BlbiBwY20gZGV2aWNlICovCisrICBlcnIgPSBzbmRfcGNtX29wZW4oJnBjbV9oYW5kbGUsIHBjbV9kZXZfbmFtZSwgc3RyZWFtLCAwKTsKKysgIGlmIChlcnIgPCAwKSAKKysgIHsKKysJY3N0X2Vycm1zZygiYXVkaW9fb3Blbl9hbHNhOiBmYWlsZWQgdG8gb3BlbiBhdWRpbyBkZXZpY2UgJXMuICVzXG4iLAorKwkJCSAgIHBjbV9kZXZfbmFtZSwgc25kX3N0cmVycm9yKGVycikpOworKwlyZXR1cm4gTlVMTDsKKysgIH0KKysKKysgIC8qIEluaXQgaHdwYXJhbXMgd2l0aCBmdWxsIGNvbmZpZ3VyYXRpb24gc3BhY2UgKi8KKysgIGVyciA9IHNuZF9wY21faHdfcGFyYW1zX2FueShwY21faGFuZGxlLCBod3BhcmFtcyk7CisrICBpZiAoZXJyIDwgMCkgCisrICB7CisrCXNuZF9wY21fY2xvc2UocGNtX2hhbmRsZSk7CisrCWNzdF9lcnJtc2coImF1ZGlvX29wZW5fYWxzYTogZmFpbGVkIHRvIGdldCBoYXJkd2FyZSBwYXJhbWV0ZXJzIGZyb20gYXVkaW8gZGV2aWNlLiAlc1xuIiwgc25kX3N0cmVycm9yKGVycikpOworKwlyZXR1cm4gTlVMTDsKKysgIH0KKysKKysgIC8qIFNldCBhY2Nlc3MgbW9kZSAqLworKyAgZXJyID0gc25kX3BjbV9od19wYXJhbXNfc2V0X2FjY2VzcyhwY21faGFuZGxlLCBod3BhcmFtcywgYWNjZXNzKTsKKysgIGlmIChlcnIgPCAwKSAKKysgIHsKKysJc25kX3BjbV9jbG9zZShwY21faGFuZGxlKTsKKysJY3N0X2Vycm1zZygiYXVkaW9fb3Blbl9hbHNhOiBmYWlsZWQgdG8gc2V0IGFjY2VzcyBtb2RlLiAlcy5cbiIsIHNuZF9zdHJlcnJvcihlcnIpKTsKKysJcmV0dXJuIE5VTEw7CisrICB9CisrCisrICAvKiBEZXRlcm1pbmUgbWF0Y2hpbmcgYWxzYSBzYW1wbGUgZm9ybWF0ICovCisrICAvKiBUaGlzIGNvdWxkIGJlIGltcGxlbWVudGVkIGluIGEgbW9yZSAqLworKyAgLyogZmxleGlibGUgd2F5IChieXRlIG9yZGVyIGNvbnZlcnNpb24pLiAqLworKyAgc3dpdGNoIChmbXQpCisrICB7CisrICBjYXNlIENTVF9BVURJT19MSU5FQVIxNjoKKysJaWYgKENTVF9MSVRUTEVfRU5ESUFOKQorKwkgIGZvcm1hdCA9IFNORF9QQ01fRk9STUFUX1MxNl9MRTsKKysJZWxzZQorKwkgIGZvcm1hdCA9IFNORF9QQ01fRk9STUFUX1MxNl9CRTsKKysJYnJlYWs7CisrICBjYXNlIENTVF9BVURJT19MSU5FQVI4OgorKwlmb3JtYXQgPSBTTkRfUENNX0ZPUk1BVF9VODsKKysJYnJlYWs7CisrICBjYXNlIENTVF9BVURJT19NVUxBVzoKKysJZm9ybWF0ID0gU05EX1BDTV9GT1JNQVRfTVVfTEFXOworKwlicmVhazsKKysgIGRlZmF1bHQ6CisrCXNuZF9wY21fY2xvc2UocGNtX2hhbmRsZSk7CisrCWNzdF9lcnJtc2coImF1ZGlvX29wZW5fYWxzYTogZmFpbGVkIHRvIGZpbmQgc3VpdGFibGUgZm9ybWF0LlxuIik7CisrCXJldHVybiBOVUxMOworKwlicmVhazsKKysgIH0KKysKKysgIC8qIFNldCBzYW1ibGUgZm9ybWF0ICovCisrICBlcnIgPSBzbmRfcGNtX2h3X3BhcmFtc19zZXRfZm9ybWF0KHBjbV9oYW5kbGUsIGh3cGFyYW1zLCBmb3JtYXQpOworKyAgaWYgKGVyciA8MCkgCisrICB7CisrCXNuZF9wY21fY2xvc2UocGNtX2hhbmRsZSk7CisrCWNzdF9lcnJtc2coImF1ZGlvX29wZW5fYWxzYTogZmFpbGVkIHRvIHNldCBmb3JtYXQuICVzLlxuIiwgc25kX3N0cmVycm9yKGVycikpOworKwlyZXR1cm4gTlVMTDsKKysgIH0KKysKKysgIC8qIFNldCBzYW1wbGUgcmF0ZSBuZWFyIHRoZSBkaXNpcmVkIHJhdGUgKi8KKysgIHJlYWxfcmF0ZSA9IHNwczsKKysgIGVyciA9IHNuZF9wY21faHdfcGFyYW1zX3NldF9yYXRlX25lYXIocGNtX2hhbmRsZSwgaHdwYXJhbXMsICZyZWFsX3JhdGUsIDApOworKyAgaWYgKGVyciA8IDApICAgCisrICB7CisrCXNuZF9wY21fY2xvc2UocGNtX2hhbmRsZSk7CisrCWNzdF9lcnJtc2coImF1ZGlvX29wZW5fYWxzYTogZmFpbGVkIHRvIHNldCBzYW1wbGUgcmF0ZSBuZWFyICVkLiAlcy5cbiIsIHNwcywgc25kX3N0cmVycm9yKGVycikpOworKwlyZXR1cm4gTlVMTDsKKysgIH0KKysgIC8qRklYTUU6ICBUaGlzIGlzIHByb2JhYmx5IHRvbyBzdHJpY3QgKi8KKysgIGFzc2VydChzcHMgPT0gcmVhbF9yYXRlKTsKKysKKysgIC8qIFNldCBudW1iZXIgb2YgY2hhbm5lbHMgKi8KKysgIGFzc2VydChjaGFubmVscyA+MCk7CisrICBlcnIgPSBzbmRfcGNtX2h3X3BhcmFtc19zZXRfY2hhbm5lbHMocGNtX2hhbmRsZSwgaHdwYXJhbXMsIGNoYW5uZWxzKTsKKysgIGlmIChlcnIgPCAwKSAKKysgIHsKKysJc25kX3BjbV9jbG9zZShwY21faGFuZGxlKTsKKysJY3N0X2Vycm1zZygiYXVkaW9fb3Blbl9hbHNhOiBmYWlsZWQgdG8gc2V0IG51bWJlciBvZiBjaGFubmVscyB0byAlZC4gJXMuXG4iLCBjaGFubmVscywgc25kX3N0cmVycm9yKGVycikpOworKwlyZXR1cm4gTlVMTDsKKysgIH0KKysKKysgIC8qIENvbW1pdCBoYXJkd2FyZSBwYXJhbWV0ZXJzICovCisrICBlcnIgPSBzbmRfcGNtX2h3X3BhcmFtcyhwY21faGFuZGxlLCBod3BhcmFtcyk7CisrICBpZiAoZXJyIDwgMCkgCisrICB7CisrCXNuZF9wY21fY2xvc2UocGNtX2hhbmRsZSk7CisrCWNzdF9lcnJtc2coImF1ZGlvX29wZW5fYWxzYTogZmFpbGVkIHRvIHNldCBodyBwYXJhbWV0ZXJzLiAlcy5cbiIsIHNuZF9zdHJlcnJvcihlcnIpKTsKKysJcmV0dXJuIE5VTEw7CisrICB9CisrCisrICAvKiBNYWtlIHN1cmUgdGhlIGRldmljZSBpcyByZWFkeSB0byBhY2NlcHQgZGF0YSAqLworKyAgYXNzZXJ0KHNuZF9wY21fc3RhdGUocGNtX2hhbmRsZSkgPT0gU05EX1BDTV9TVEFURV9QUkVQQVJFRCk7CisrCisrICAvKiBXcml0ZSBoYXJkd2FyZSBwYXJhbWV0ZXJzIHRvIGZsaXRlIGF1ZGlvIGRldmljZSBkYXRhIHN0cnVjdHVyZSAqLworKyAgYWQgPSBjc3RfYWxsb2MoY3N0X2F1ZGlvZGV2LCAxKTsKKysgIGFzc2VydChhZCAhPSBOVUxMKTsKKysgIGFkLT5yZWFsX3NwcyA9IGFkLT5zcHMgPSBzcHM7CisrICBhZC0+cmVhbF9jaGFubmVscyA9IGFkLT5jaGFubmVscyA9IGNoYW5uZWxzOworKyAgYWQtPnJlYWxfZm10ID0gYWQtPmZtdCA9IGZtdDsKKysgIGFkLT5wbGF0Zm9ybV9kYXRhID0gKHZvaWQgKikgcGNtX2hhbmRsZTsKKysKKysgIHJldHVybiBhZDsKKyt9CisrCisraW50IGF1ZGlvX2Nsb3NlX2Fsc2EoY3N0X2F1ZGlvZGV2ICphZCkKKyt7CisrICBpbnQgcmVzdWx0OworKyAgc25kX3BjbV90ICpwY21faGFuZGxlOworKworKyAgaWYgKGFkID09IE5VTEwpCisrCXJldHVybiAwOworKworKyAgcGNtX2hhbmRsZSA9IChzbmRfcGNtX3QgKikgYWQtPnBsYXRmb3JtX2RhdGE7CisrICByZXN1bHQgPSBzbmRfcGNtX2Nsb3NlKHBjbV9oYW5kbGUpOworKyAgaWYgKHJlc3VsdCA8IDApCisrICB7CisrCWNzdF9lcnJtc2coImF1ZGlvX2Nsb3NlX2Fsc2E6IEVycm9yOiAlcy5cbiIsIHNuZF9zdHJlcnJvcihyZXN1bHQpKTsKKysgIH0KKysgIGNzdF9mcmVlKGFkKTsKKysgIHJldHVybiByZXN1bHQ7CisrfQorKworKy8qIFJldHVybnMgemVybyBpZiByZWNvdmVyeSB3YXMgc3VjY2Vzc2Z1bC4gKi8KKytzdGF0aWMgaW50IHJlY292ZXJfZnJvbV9lcnJvcihzbmRfcGNtX3QgKnBjbV9oYW5kbGUsIHNzaXplX3QgcmVzKQorK3sKKysgIGlmIChyZXMgPT0gLUVQSVBFKSAvKiB4cnVuICovCisrICB7CisrCXJlcyA9IHNuZF9wY21fcHJlcGFyZShwY21faGFuZGxlKTsKKysJaWYgKHJlcyA8IDApIAorKwl7CisrCSAgLyogRmFpbGVkIHRvIHJlY292ZXIgZnJvbSB4cnVuICovCisrCSAgY3N0X2Vycm1zZygicmVjb3Zlcl9mcm9tX3dyaXRlX2Vycm9yOiBmYWlsZWQgdG8gcmVjb3ZlciBmcm9tIHhydW4uICVzXG4uIiwgc25kX3N0cmVycm9yKHJlcykpOworKwkgIHJldHVybiByZXM7CisrCX0KKysgIH0gCisrICBlbHNlIGlmIChyZXMgPT0gLUVTVFJQSVBFKSAvKiBTdXNwZW5kICovCisrICB7CisrCXdoaWxlICgocmVzID0gc25kX3BjbV9yZXN1bWUocGNtX2hhbmRsZSkpID09IC1FQUdBSU4pIAorKwl7CisrCSAgc25kX3BjbV93YWl0KHBjbV9oYW5kbGUsIDEwMDApOworKwl9CisrCWlmIChyZXMgPCAwKSAKKysJeworKwkgIHJlcyA9IHNuZF9wY21fcHJlcGFyZShwY21faGFuZGxlKTsKKysJICBpZiAocmVzIDwwKSAKKysJICB7CisrCQkvKiBSZXN1bWUgZmFpbGVkICovCisrCQljc3RfZXJybXNnKCJhdWRpb19yZWNvdmVyX2Zyb21fd3JpdGVfZXJyb3I6IGZhaWxlZCB0byByZXN1bWUgYWZ0ZXIgc3VzcGVuZC4gJXNcbi4iLCBzbmRfc3RyZXJyb3IocmVzKSk7CisrCQlyZXR1cm4gcmVzOworKwkgIH0KKysJfQorKyAgfSAKKysgIGVsc2UgaWYgKHJlcyA8IDApIAorKyAgeworKwkvKiBVbmtub3duIGZhaWx1cmUgKi8KKysJY3N0X2Vycm1zZygiYXVkaW9fcmVjb3Zlcl9mcm9tX3dyaXRlX2Vycm9yOiAlcy5cbiIsIHNuZF9zdHJlcnJvcihyZXMpKTsKKysJcmV0dXJuIHJlczsKKysgIH0KKysgIHJldHVybiAwOworK30KKysKKytpbnQgYXVkaW9fd3JpdGVfYWxzYShjc3RfYXVkaW9kZXYgKmFkLCB2b2lkICpzYW1wbGVzLCBpbnQgbnVtX2J5dGVzKQorK3sKKysgIHNpemVfdCBmcmFtZV9zaXplOworKyAgc3NpemVfdCBudW1fZnJhbWVzLCByZXM7CisrICBzbmRfcGNtX3QgKnBjbV9oYW5kbGU7CisrICBjaGFyICpidWYgPSAoY2hhciAqKSBzYW1wbGVzOworKworKyAgLyogRGV0ZXJtaW5lIGZyYW1lIHNpemUgaW4gYnl0ZXMgKi8KKysgIGZyYW1lX3NpemUgID0gYXVkaW9fYnBzKGFkLT5yZWFsX2ZtdCkgKiBhZC0+cmVhbF9jaGFubmVsczsKKysgIC8qIFJlcXVpcmUgdGhhdCBvbmx5IGNvbXBsZXRlIGZyYW1lcyBhcmUgaGFuZGVkIGluICovCisrICBhc3NlcnQoKG51bV9ieXRlcyAlIGZyYW1lX3NpemUpID09IDApOworKyAgbnVtX2ZyYW1lcyA9IG51bV9ieXRlcyAvIGZyYW1lX3NpemU7CisrICBwY21faGFuZGxlID0gKHNuZF9wY21fdCAqKSBhZC0+cGxhdGZvcm1fZGF0YTsKKysKKysgIHdoaWxlIChudW1fZnJhbWVzID4gMCkgCisrICB7CisrCXJlcyA9IHNuZF9wY21fd3JpdGVpKHBjbV9oYW5kbGUsIGJ1ZiwgbnVtX2ZyYW1lcyk7CisrCWlmIChyZXMgIT0gbnVtX2ZyYW1lcykgCisrCXsKKysJICBpZiAocmVzID09IC1FQUdBSU4gfHwgKHJlcyA+IDAgJiYgcmVzIDwgbnVtX2ZyYW1lcykpIAorKwkgIHsKKysJCXNuZF9wY21fd2FpdChwY21faGFuZGxlLCAxMDApOworKwkgIH0KKysJICBlbHNlIGlmIChyZWNvdmVyX2Zyb21fZXJyb3IocGNtX2hhbmRsZSwgcmVzKSA8IDApIAorKwkgIHsKKysJCXJldHVybiAtMTsKKysJICB9CisrCX0KKysKKysJaWYgKHJlcyA+MCkgCisrCXsKKysJICBudW1fZnJhbWVzIC09IHJlczsKKysJICBidWYgKz0gcmVzICogZnJhbWVfc2l6ZTsKKysJfQorKyAgfQorKyAgcmV0dXJuIG51bV9ieXRlczsKKyt9CisrCisraW50IGF1ZGlvX2ZsdXNoX2Fsc2EoY3N0X2F1ZGlvZGV2ICphZCkKKyt7CisrICBpbnQgcmVzdWx0OworKyAgcmVzdWx0ID0gc25kX3BjbV9kcmFpbigoc25kX3BjbV90ICopIGFkLT5wbGF0Zm9ybV9kYXRhKTsKKysgIGlmIChyZXN1bHQgPCAwKQorKyAgeworKwljc3RfZXJybXNnKCJhdWRpb19mbHVzaF9hbHNhOiBFcnJvcjogJXMuXG4iLCBzbmRfc3RyZXJyb3IocmVzdWx0KSk7CisrICB9CisrCS8qIFByZXBhcmUgZGV2aWNlIGZvciBtb3JlIGRhdGEgKi8KKysgIHJlc3VsdCA9IHNuZF9wY21fcHJlcGFyZSgoc25kX3BjbV90ICopIGFkLT5wbGF0Zm9ybV9kYXRhKTsKKytpZiAocmVzdWx0IDwgMCkKKysgIHsKKysJY3N0X2Vycm1zZygiYXVkaW9fZmx1c2hfYWxzYTogRXJyb3I6ICVzLlxuIiwgc25kX3N0cmVycm9yKHJlc3VsdCkpOworKyAgfQorKyAgcmV0dXJuIHJlc3VsdDsKKyt9CisrCisraW50IGF1ZGlvX2RyYWluX2Fsc2EoY3N0X2F1ZGlvZGV2ICphZCkKKyt7CisrICBpbnQgcmVzdWx0OworKyAgcmVzdWx0ID0gc25kX3BjbV9kcm9wKChzbmRfcGNtX3QgKikgYWQtPnBsYXRmb3JtX2RhdGEpOworKyAgaWYgKHJlc3VsdCA8IDApCisrICB7CisrCWNzdF9lcnJtc2coImF1ZGlvX2RyYWluX2Fsc2E6IEVycm9yOiAlcy5cbiIsIHNuZF9zdHJlcnJvcihyZXN1bHQpKTsKKysgIH0KKysvKiBQcmVwYXJlIGRldmljZSBmb3IgbW9yZSBkYXRhICovCisrICByZXN1bHQgPSBzbmRfcGNtX3ByZXBhcmUoKHNuZF9wY21fdCAqKSBhZC0+cGxhdGZvcm1fZGF0YSk7CisraWYgKHJlc3VsdCA8IDApCisrICB7CisrCWNzdF9lcnJtc2coImF1ZGlvX2RyYWluX2Fsc2E6IEVycm9yOiAlcy5cbiIsIHNuZF9zdHJlcnJvcihyZXN1bHQpKTsKKysgIH0KKysgIHJldHVybiByZXN1bHQ7CisrfQorSW5kZXg6IHNyYy9hdWRpby9NYWtlZmlsZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGZsaXRlLTEuMy1yZWxlYXNlL3NyYy9hdWRpby9NYWtlZmlsZQkoLi4uL2ZsaXRlLTEuMy1vcmlnKQkocmV2aXNpb24gNykKKysrKyBmbGl0ZS0xLjMtcmVsZWFzZS9zcmMvYXVkaW8vTWFrZWZpbGUJKC4uLi9yZWxlYXNlLTEuMikJKHJldmlzaW9uIDcpCitAQCAtNDMsOSArNDMsMTMgQEAKKyAKKyBCQVNFU1JDUyA9IGF1Y2xpZW50LmMgYXVzZXJ2ZXIuYyBhdWRpby5jIAorIFNSQ1MgPSAkKEJBU0VTUkNTKSAkKEFVRElPRFJJVkVSOiU9YXVfJS5jKQorLU9CSlMgPSAkKFNSQ1M6LmM9Lm8pCisraWZkZWYgU0hGTEFHUworK09CSlMgOj0gJChTUkNTOi5jPS5vcykKKytlbHNlCisrT0JKUyA6PSAkKFNSQ1M6LmM9Lm8pCisrZW5kaWYKKyBGSUxFUyA9IE1ha2VmaWxlICQoSCkgJChCQVNFU1JDUykgYXVfY29tbWFuZC5jIGF1X25vbmUuYyBcCistCWF1X29zcy5jIGF1X3N1bi5jIGF1X3dpbmNlLmMgYXVfcGFsbW9zLmMKKysJYXVfb3NzLmMgYXVfc3VuLmMgYXVfd2luY2UuYyBhdV9wYWxtb3MuYyBhdV9hbHNhLmMKKyBMSUJOQU1FID0gZmxpdGUKKyAKKyBMT0NBTF9JTkNMVURFUyA9IC1JLiAkKEFVRElPREVGUykKK0luZGV4OiBzcmMvbGV4aWNvbi9NYWtlZmlsZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGZsaXRlLTEuMy1yZWxlYXNlL3NyYy9sZXhpY29uL01ha2VmaWxlCSguLi4vZmxpdGUtMS4zLW9yaWcpCShyZXZpc2lvbiA3KQorKysrIGZsaXRlLTEuMy1yZWxlYXNlL3NyYy9sZXhpY29uL01ha2VmaWxlCSguLi4vcmVsZWFzZS0xLjIpCShyZXZpc2lvbiA3KQorQEAgLTM4LDggKzM4LDEzIEBACisgRElSTkFNRT1zcmMvbGV4aWNvbgorIEJVSUxEX0RJUlMgPSAKKyBBTExfRElSUz0gCisraW5jbHVkZSAkKFRPUCkvY29uZmlnL2NvbmZpZworIFNSQ1MgPSBjc3RfbGV4aWNvbi5jIGNzdF9sdHMuYyBjc3RfbHRzX3Jld3JpdGVzLmMKKy1PQkpTID0gJChTUkNTOi5jPS5vKQorK2lmZGVmIFNIRkxBR1MKKytPQkpTIDo9ICQoU1JDUzouYz0ub3MpCisrZWxzZQorK09CSlMgOj0gJChTUkNTOi5jPS5vKQorK2VuZGlmCisgRklMRVMgPSBNYWtlZmlsZSAkKFNSQ1MpCisgTElCTkFNRSA9IGZsaXRlCisgCitJbmRleDogc3JjL3N5bnRoL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZmxpdGUtMS4zLXJlbGVhc2Uvc3JjL3N5bnRoL01ha2VmaWxlCSguLi4vZmxpdGUtMS4zLW9yaWcpCShyZXZpc2lvbiA3KQorKysrIGZsaXRlLTEuMy1yZWxlYXNlL3NyYy9zeW50aC9NYWtlZmlsZQkoLi4uL3JlbGVhc2UtMS4yKQkocmV2aXNpb24gNykKK0BAIC0zOCw5ICszOCwxNCBAQAorIERJUk5BTUU9c3JjL3N5bnRoCisgQlVJTERfRElSUyA9IAorIEFMTF9ESVJTPSAKKytpbmNsdWRlICQoVE9QKS9jb25maWcvY29uZmlnCisgU1JDUyA9IGNzdF9zeW50aC5jIGNzdF91dHRfdXRpbHMuYyBjc3Rfdm9pY2UuYyBjc3RfcGhvbmVzZXQuYyBcCisgICAgICAgIGZsaXRlLmMgCistT0JKUyA9ICQoU1JDUzouYz0ubykKKytpZmRlZiBTSEZMQUdTCisrT0JKUyA6PSAkKFNSQ1M6LmM9Lm9zKQorK2Vsc2UKKytPQkpTIDo9ICQoU1JDUzouYz0ubykKKytlbmRpZgorIEZJTEVTID0gTWFrZWZpbGUgJChTUkNTKQorIExJQk5BTUUgPSBmbGl0ZQorIAorSW5kZXg6IHNyYy9zcGVlY2gvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBmbGl0ZS0xLjMtcmVsZWFzZS9zcmMvc3BlZWNoL01ha2VmaWxlCSguLi4vZmxpdGUtMS4zLW9yaWcpCShyZXZpc2lvbiA3KQorKysrIGZsaXRlLTEuMy1yZWxlYXNlL3NyYy9zcGVlY2gvTWFrZWZpbGUJKC4uLi9yZWxlYXNlLTEuMikJKHJldmlzaW9uIDcpCitAQCAtMzksOSArMzksMTQgQEAKKyBCVUlMRF9ESVJTID0gCisgQUxMX0RJUlM9IAorIEggPSAKKytpbmNsdWRlICQoVE9QKS9jb25maWcvY29uZmlnCisgU1JDUyA9IGNzdF93YXZlLmMgY3N0X3dhdmVfaW8uYyBjc3RfdHJhY2suYyBjc3RfdHJhY2tfaW8uYyBcCisgICAgICAgIGNzdF93YXZlX3V0aWxzLmMgY3N0X2xwY3Jlcy5jIHJhdGVjb252LmMKKy1PQkpTID0gJChTUkNTOi5jPS5vKQorK2lmZGVmIFNIRkxBR1MKKytPQkpTIDo9ICQoU1JDUzouYz0ub3MpCisrZWxzZQorK09CSlMgOj0gJChTUkNTOi5jPS5vKQorK2VuZGlmCisgRklMRVMgPSBNYWtlZmlsZSAkKEgpICQoU1JDUykKKyBMSUJOQU1FID0gZmxpdGUKKyAKK0luZGV4OiBzcmMvd2F2ZXN5bnRoL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZmxpdGUtMS4zLXJlbGVhc2Uvc3JjL3dhdmVzeW50aC9NYWtlZmlsZQkoLi4uL2ZsaXRlLTEuMy1vcmlnKQkocmV2aXNpb24gNykKKysrKyBmbGl0ZS0xLjMtcmVsZWFzZS9zcmMvd2F2ZXN5bnRoL01ha2VmaWxlCSguLi4vcmVsZWFzZS0xLjIpCShyZXZpc2lvbiA3KQorQEAgLTM4LDkgKzM4LDE0IEBACisgRElSTkFNRT1zcmMvd2F2ZXN5bnRoCisgQlVJTERfRElSUyA9IAorIEFMTF9ESVJTPQorK2luY2x1ZGUgJChUT1ApL2NvbmZpZy9jb25maWcKKyBTUkNTID0gY3N0X3VuaXRzLmMgY3N0X3NpZ3ByLmMgY3N0X2NsdW5pdHMuYyBjc3RfZGlwaG9uZS5jIFwKKyAgICAgICAgY3N0X3NpZ3ByRlAuYyBjc3Rfc3RzLmMgY3N0X3JlZmxwYy5jCistT0JKUyA9ICQoU1JDUzouYz0ubykKKytpZmRlZiBTSEZMQUdTCisrT0JKUyA6PSAkKFNSQ1M6LmM9Lm9zKQorK2Vsc2UKKytPQkpTIDo9ICQoU1JDUzouYz0ubykKKytlbmRpZgorIExJQk5BTUUgPSBmbGl0ZQorIEZJTEVTID0gTWFrZWZpbGUgJChTUkNTKQorIAorSW5kZXg6IHNyYy9yZWdleC9NYWtlZmlsZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGZsaXRlLTEuMy1yZWxlYXNlL3NyYy9yZWdleC9NYWtlZmlsZQkoLi4uL2ZsaXRlLTEuMy1vcmlnKQkocmV2aXNpb24gNykKKysrKyBmbGl0ZS0xLjMtcmVsZWFzZS9zcmMvcmVnZXgvTWFrZWZpbGUJKC4uLi9yZWxlYXNlLTEuMikJKHJldmlzaW9uIDcpCitAQCAtNDIsOCArNDIsMTMgQEAKKyBESVJOQU1FPXNyYy9yZWdleAorIEJVSUxEX0RJUlMgPSAKKyBBTExfRElSUz0gCisraW5jbHVkZSAkKFRPUCkvY29uZmlnL2NvbmZpZworIFNSQ1MgPSBjc3RfcmVnZXguYyByZWdleHAuYyByZWdzdWIuYworLU9CSlMgPSAkKFNSQ1M6LmM9Lm8pCisraWZkZWYgU0hGTEFHUworK09CSlMgOj0gJChTUkNTOi5jPS5vcykKKytlbHNlCisrT0JKUyA6PSAkKFNSQ1M6LmM9Lm8pCisrZW5kaWYKKyBGSUxFUyA9IE1ha2VmaWxlICQoSCkgJChTUkNTKQorIExJQk5BTUUgPSBmbGl0ZQorIAorSW5kZXg6IHNyYy9zdGF0cy9NYWtlZmlsZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGZsaXRlLTEuMy1yZWxlYXNlL3NyYy9zdGF0cy9NYWtlZmlsZQkoLi4uL2ZsaXRlLTEuMy1vcmlnKQkocmV2aXNpb24gNykKKysrKyBmbGl0ZS0xLjMtcmVsZWFzZS9zcmMvc3RhdHMvTWFrZWZpbGUJKC4uLi9yZWxlYXNlLTEuMikJKHJldmlzaW9uIDcpCitAQCAtMzksOCArMzksMTMgQEAKKyBCVUlMRF9ESVJTID0gCisgQUxMX0RJUlM9IAorIEggPSAKKytpbmNsdWRlICQoVE9QKS9jb25maWcvY29uZmlnCisgU1JDUyA9IGNzdF9jYXJ0LmMgY3N0X3ZpdGVyYmkuYyBjc3Rfc3MuYworLU9CSlMgPSAkKFNSQ1M6LmM9Lm8pCisraWZkZWYgU0hGTEFHUworK09CSlMgOj0gJChTUkNTOi5jPS5vcykKKytlbHNlCisrT0JKUyA6PSAkKFNSQ1M6LmM9Lm8pCisrZW5kaWYKKyBGSUxFUyA9IE1ha2VmaWxlICQoSCkgJChTUkNTKQorIExJQk5BTUUgPSBmbGl0ZQorIAorSW5kZXg6IGNvbmZpZy9jb21tb25fbWFrZV9ydWxlcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGZsaXRlLTEuMy1yZWxlYXNlL2NvbmZpZy9jb21tb25fbWFrZV9ydWxlcwkoLi4uL2ZsaXRlLTEuMy1vcmlnKQkocmV2aXNpb24gNykKKysrKyBmbGl0ZS0xLjMtcmVsZWFzZS9jb25maWcvY29tbW9uX21ha2VfcnVsZXMJKC4uLi9yZWxlYXNlLTEuMikJKHJldmlzaW9uIDcpCitAQCAtNzMsMTIgKzczLDEzIEBACisgaWZkZWYgU0hGTEFHUworIFNPT0JKUyA9ICQoT0JKUzoubz0ub3MpCisgRlVMTFNIT0JKUyA9ICQoU09PQkpTOiU9JChPQkpESVIpLyUpCistaWZkZWYgTElCTkFNRQorLUFMTCArPSAkKE9CSkRJUikvLmJ1aWxkX3NvCisrI2lmZGVmIExJQk5BTUUKKysjQUxMICs9ICQoT0JKRElSKS8uYnVpbGRfc28KKysjZW5kaWYKKyBlbmRpZgorLWVuZGlmCisgaWZkZWYgTElCTkFNRQorIEFMTCArPSAkKE9CSkRJUikvLmJ1aWxkX2xpYgorK0FMTCArPSAkKE9CSkRJUikvLmJ1aWxkX3NvCisgZW5kaWYKKyAjIE9ubHkgZG8gc29tZSBkaXJlY3RvcmllcyB3aGVuIHlvdSBhcmUgbm90IGNyb3NzIGNvbXBpbGluZworIGlmZXEgKCQoSE9TVF9QTEFURk9STSksJChUQVJHRVRfUExBVEZPUk0pKQorQEAgLTExNywxNCArMTE4LDE3IEBACisgCUAgdG91Y2ggJChPQkpESVIpLy5idWlsZF9zbworIAorICMgVXNlZCBpbiB0aGUgbGliLyBkaXJlY3RvcnkgYW5kIGluIGJ1aWxkaW5nIG5ldyB2b2ljZXMKKy0kKE9CSkRJUikvJS5zbzogJS5zaGFyZWQuYQorKyMkKE9CSkRJUikvJS5zbzogJS5zaGFyZWQuYQorKyUuc286ICUuc2hhcmVkLmEKKyAJQCBlY2hvIG1ha2luZyAkQAorIAlAIHJtIC1yZiBzaGFyZWRfb3MgJiYgbWtkaXIgc2hhcmVkX29zCisgCUAgcm0gLWYgJEAgJChMSUJESVIpLyRALiR7UFJPSkVDVF9WRVJTSU9OfSAkKExJQkRJUikvJEAuJHtQUk9KRUNUX1NITElCX1ZFUlNJT059IAorIAlAIChjZCBzaGFyZWRfb3MgJiYgYXIgeCAuLi8kPCkKKyAJQCAoY2Qgc2hhcmVkX29zICYmICQoQ0MpIC1zaGFyZWQgLVdsLC1zb25hbWUsJEAuJHtQUk9KRUNUX1NITElCX1ZFUlNJT059IC1vIC4uLyRALiR7UFJPSkVDVF9WRVJTSU9OfSAqLm9zKQorLQlAIGxuIC1zICQoTElCRElSKS8kQC4ke1BST0pFQ1RfVkVSU0lPTn0gJChMSUJESVIpLyRALiR7UFJPSkVDVF9TSExJQl9WRVJTSU9OfQorLQlAIGxuIC1zICQoTElCRElSKS8kQC4ke1BST0pFQ1RfU0hMSUJfVkVSU0lPTn0gJChMSUJESVIpLyRACisrCSNAIGxuIC1zICQoTElCRElSKS8kQC4ke1BST0pFQ1RfVkVSU0lPTn0gJChMSUJESVIpLyRALiR7UFJPSkVDVF9TSExJQl9WRVJTSU9OfQorKwkjQCBsbiAtcyAkKExJQkRJUikvJEAuJHtQUk9KRUNUX1NITElCX1ZFUlNJT059ICQoTElCRElSKS8kQAorKwlAIGxuIC1zICRALiR7UFJPSkVDVF9WRVJTSU9OfSAkQC4ke1BST0pFQ1RfU0hMSUJfVkVSU0lPTn0KKysJQCBsbiAtcyAkQC4ke1BST0pFQ1RfU0hMSUJfVkVSU0lPTn0gJEAKKyAJQCBybSAtcmYgc2hhcmVkX29zCisgCisgJChPQkpESVIpLy5tYWtlX2J1aWxkX2RpcnM6CitJbmRleDogbGliL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZmxpdGUtMS4zLXJlbGVhc2UvbGliL01ha2VmaWxlCSguLi4vZmxpdGUtMS4zLW9yaWcpCShyZXZpc2lvbiAwKQorKysrIGZsaXRlLTEuMy1yZWxlYXNlL2xpYi9NYWtlZmlsZQkoLi4uL3JlbGVhc2UtMS4yKQkocmV2aXNpb24gNykKK0BAIC0wLDAgKzEsNzAgQEAKKysjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKysjIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMKKysjIyAgICAgICAgICAgICAgICAgIExhbmd1YWdlIFRlY2hub2xvZ2llcyBJbnN0aXR1dGUgICAgICAgICAgICAgICAgICAgICAgIyMKKysjIyAgICAgICAgICAgICAgICAgICAgIENhcm5lZ2llIE1lbGxvbiBVbml2ZXJzaXR5ICAgICAgICAgICAgICAgICAgICAgICAgIyMKKysjIyAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAoYykgMTk5OSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMKKysjIyAgICAgICAgICAgICAgICAgICAgICAgIEFsbCBSaWdodHMgUmVzZXJ2ZWQuICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMKKysjIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMKKysjIyAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIHVzZSBhbmQgZGlzdHJpYnV0ZSAgIyMKKysjIyAgdGhpcyBzb2Z0d2FyZSBhbmQgaXRzIGRvY3VtZW50YXRpb24gd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nICAgIyMKKysjIyAgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCAgIyMKKysjIyAgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoaXMgd29yaywgYW5kIHRvICAgICAgIyMKKysjIyAgcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGlzIHdvcmsgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvICAgIyMKKysjIyAgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMKKysjIyAgIDEuIFRoZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgICAgIyMKKysjIyAgICAgIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gICAgICAgICAgICAgICAgICAgICAgICAgIyMKKysjIyAgIDIuIEFueSBtb2RpZmljYXRpb25zIG11c3QgYmUgY2xlYXJseSBtYXJrZWQgYXMgc3VjaC4gICAgICAgICAgICAgICAgIyMKKysjIyAgIDMuIE9yaWdpbmFsIGF1dGhvcnMnIG5hbWVzIGFyZSBub3QgZGVsZXRlZC4gICAgICAgICAgICAgICAgICAgICAgICAgIyMKKysjIyAgIDQuIFRoZSBhdXRob3JzJyBuYW1lcyBhcmUgbm90IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzICAgIyMKKysjIyAgICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiAgICAgICAgIyMKKysjIyAgICAgIHBlcm1pc3Npb24uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMKKysjIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMKKysjIyAgQ0FSTkVHSUUgTUVMTE9OIFVOSVZFUlNJVFkgQU5EIFRIRSBDT05UUklCVVRPUlMgVE8gVEhJUyBXT1JLICAgICAgICAgIyMKKysjIyAgRElTQ0xBSU0gQUxMIFdBUlJBTlRJRVMgV0lUSCBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSwgSU5DTFVESU5HICAgICAgIyMKKysjIyAgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MsIElOIE5PIEVWRU5UICAgIyMKKysjIyAgU0hBTEwgQ0FSTkVHSUUgTUVMTE9OIFVOSVZFUlNJVFkgTk9SIFRIRSBDT05UUklCVVRPUlMgQkUgTElBQkxFICAgICAgIyMKKysjIyAgRk9SIEFOWSBTUEVDSUFMLCBJTkRJUkVDVCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgICAgIyMKKysjIyAgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOICAgIyMKKysjIyAgQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgICAgICAgICAgIyMKKysjIyAgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgICAgICAgIyMKKysjIyAgVEhJUyBTT0ZUV0FSRS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMKKysjIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMKKysjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKysjIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMKKysjIyAgICBGTElURSBsaWJyYXJpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMKKysjIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMKKysjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKytUT1A9Li4KKytESVJOQU1FPWxpYgorK0JVSUxEX0RJUlMgPSAKKytBTExfRElSUz0KKytGSUxFUyA9IE1ha2VmaWxlCisrTElCTkFNRVMgPSBmbGl0ZSBmbGl0ZV9jbXVsZXggZmxpdGVfdXNlbmdsaXNoIFwKKysgICAgICAgICAgIGZsaXRlX2NtdV91c19rYWwgZmxpdGVfY211X3VzX2thbDE2IGZsaXRlX2NtdV90aW1lX2F3YgorKworK1NUQVRJQ0xJQlM9ICQoTElCTkFNRVM6JT1saWIlLmEpCisrU0hBUkVEQVJMSUJTPSAkKExJQk5BTUVTOiU9bGliJS5zaGFyZWQuYSkKKysjU0hBUkVETElCUyA9ICQoTElCTkFNRVM6JT1saWIlLnNvKQorK1NIQVJFRExJQlMgPSAkKFNIQVJFREFSTElCUzolLnNoYXJlZC5hPSUuc28pCisrVkVSU0lPTlNIQVJFRExJQlMgPSAkKFNIQVJFRExJQlM6JT0lLiR7UFJPSkVDVF9WRVJTSU9OfSkgXAorKyAgICAgICAgICAgICAgICAgICAgJChTSEFSRURMSUJTOiU9JS4ke1BST0pFQ1RfU0hMSUJfVkVSU0lPTn0pCisrQUxMX0xJQlMgPSAkKFNUQVRJQ0xJQlMpICQoU0hBUkVETElCUykgJChWRVJTSU9OU0hBUkVETElCUykKKysKKytBTEwgPSBzaGFyZWRfbGlicworKworK0xPQ0FMX0NMRUFOPSouYSAqLnNvICouc28uJHtQUk9KRUNUX1ZFUlNJT059ICouc28uJHtQUk9KRUNUX1NITElCX1ZFUlNJT059CisrCisraW5jbHVkZSAkKFRPUCkvY29uZmlnL2NvbW1vbl9tYWtlX3J1bGVzCisrCisraWZkZWYgU0hGTEFHUworK3NoYXJlZF9saWJzOiAkKFNIQVJFRExJQlMpCisrZWxzZQorK3NoYXJlZF9saWJzOiBub3RoaW5nCisrZW5kaWYKKysKKytpbnN0YWxsOgorKwlAIGNwIC12ZiAkKExJQkRJUikvKiAuCisrCUAgJChNQUtFKSBzaGFyZWRfbGlicworKwlAIGVjaG8gQVJMSUJTOiAkKFNIQVJFREFSTElCUykKKysJQCBlY2hvIFNIQVJMSUJTOiAkKFNIQVJFRExJQlMpCisrCUAgdGFyIGN2ZiAtICQoQUxMX0xJQlMpIHwgKCBjZCAkKElOU1RBTExMSUJESVIpICYmIHRhciB4ZiAtKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mbGl0ZS9mbGl0ZS1hbHNhLTEuMy9mbGl0ZS1hbHNhLTEuMy1jb25maWd1cmUtd2l0aC1hdWRpby5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmxpdGUvZmxpdGUtYWxzYS0xLjMvZmxpdGUtYWxzYS0xLjMtY29uZmlndXJlLXdpdGgtYXVkaW8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTFlN2FlZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmxpdGUvZmxpdGUtYWxzYS0xLjMvZmxpdGUtYWxzYS0xLjMtY29uZmlndXJlLXdpdGgtYXVkaW8ucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorLS0tIGZsaXRlLTEuMy1yZWxlYXNlL2NvbmZpZ3VyZS5pbi5vbGQJMjAwOC0wMS0wNiAwMjoxNzo0Ny4wMDAwMDAwMDAgLTA2MDAKKysrKyBmbGl0ZS0xLjMtcmVsZWFzZS9jb25maWd1cmUuaW4JMjAwOC0wMS0wNiAwMjoxOTo1Ni4wMDAwMDAwMDAgLTA2MDAKK0BAIC0yMjAsNyArMjIwLDggQEAgZG5sIGFsbG93IHRoZSB1c2VyIHRvIG92ZXJyaWRlIHRoZSBvbmUgZAorIGRubAorIEFDX0FSR19XSVRIKCBhdWRpbywKKyAJWyAgLS13aXRoLWF1ZGlvICAgICAgICAgIHdpdGggc3BlY2lmaWMgYXVkaW8gc3VwcG9ydCAobm9uZSBsaW51eCBmcmVlYnNkIGV0YykgXSwKKy0gICAgICAgIEFVRElPRFJJVkVSPSR3aXRoX2F1ZGlvICkKKysgICAgICAgIFtBVURJT0RSSVZFUj0kd2l0aF9hdWRpbworKyAgICAgICAgIEFVRElPREVGUz1dKQorIAorIGlmIHRlc3QgIngkQVVESU9ERUZTIiA9IHg7IHRoZW4KKyAgICAgY2FzZSAiJEFVRElPRFJJVkVSIiBpbgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mbGl0ZS9mbGl0ZS1hbHNhXzEuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmxpdGUvZmxpdGUtYWxzYV8xLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTEwMTJlNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmxpdGUvZmxpdGUtYWxzYV8xLjMuYmIKQEAgLTAsMCArMSwxMiBAQAorcmVxdWlyZSBmbGl0ZS5pbmMKKworUFIgPSAicjEiCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtYXVkaW89YWxzYSAtLWVuYWJsZS1zaGFyZWQiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5zcGVlY2guY3MuY211LmVkdS9mbGl0ZS9wYWNrZWQvZmxpdGUtJHtQVn0vZmxpdGUtJHtQVn0tcmVsZWFzZS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZmxpdGUtMS4zLWFsc2Ffc3VwcG9ydC0xLjIuZGlmZiBcCisgICAgICAgICAgIGZpbGU6Ly9mbGl0ZS1hbHNhLTEuMy1jb25maWd1cmUtd2l0aC1hdWRpby5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gImFlMGFjYTFjYjdiNDgwMWY0MzcyZjNhNzVhOWU1MmI1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjkyMjIyNWY3MDAxZTU3YTBmYmFjZTg4MzNiMGE0ODc5MGE2OGY2YzdiNDkxZjJkNDdjNzhhZDUzN2FiNzhhOGIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZsaXRlL2ZsaXRlLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmxpdGUvZmxpdGUuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlZjgyYzAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZsaXRlL2ZsaXRlLmluYwpAQCAtMCwwICsxLDMzIEBACitERVNDUklQVElPTiA9ICJmbGl0ZSAtIHRoZSBmZXN0aXZhbCBsaWdodCBzcGVlY2ggc3ludGhlc2l6ZXIiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnNwZWVjaC5jcy5jbXUuZWR1L2ZsaXRlLyIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0xJQ0VOU0UgPSAiZmxpdGUiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT02OGExNmIxZWU0OWM5NmMzNmYyMzJjY2RjZDI4NzY1MCIKK0RFUEVORFMgPSAiYWxzYS1vc3MiCisKK1BBUkFMTEVMX01BS0UgPSAiIgorCitTID0gIiR7V09SS0RJUn0vZmxpdGUtJHtQVn0tcmVsZWFzZSIKKworQ0ZMQUdTICs9ICIgLWxhc291bmQgIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworUEFDS0FHRVMgKz0gImxpYiR7UE59IGxpYiR7UE59LXZveDggbGliJHtQTn0tdm94MTYiCisKK0ZJTEVTXyR7UE59ID0gIiR7YmluZGlyfSIKKworRklMRVNfbGliJHtQTn0gPSIke2xpYmRpcn0vbGliZmxpdGUuc28uKiBcCisgICAgJHtsaWJkaXJ9L2xpYmZsaXRlX2NtdV90aW1lX2F3Yi5zby4qIFwKKyAgICAke2xpYmRpcn0vbGliZmxpdGVfY211bGV4LnNvLiogXAorICAgICR7bGliZGlyfS9saWJmbGl0ZV91c2VuZ2xpc2guc28uKiIKKworRklMRVNfbGliJHtQTn0tdm94OCA9ICIke2xpYmRpcn0vbGliZmxpdGVfY211X3VzX2thbC5zby4qIgorCitGSUxFU19saWIke1BOfS12b3gxNiA9ICIke2xpYmRpcn0vbGliZmxpdGVfY211X3VzX2thbDE2LnNvLioiCisKK0xFQURfU09OQU1FID0gImxpYmZsaXRlLnNvIgorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgSU5TVEFMTEJJTkRJUj0iJHtEfSR7YmluZGlyfSIgSU5TVEFMTExJQkRJUj0iJHtEfSR7bGliZGlyfSIgSU5TVEFMTElOQ0RJUj0iJHtEfSR7aW5jbHVkZWRpcn0iIGluc3RhbGwKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmx0ay9mbHRrL2Rpc2FibGVfdGVzdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmx0ay9mbHRrL2Rpc2FibGVfdGVzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjVmZDI1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mbHRrL2ZsdGsvZGlzYWJsZV90ZXN0LnBhdGNoCkBAIC0wLDAgKzEsMTEgQEAKKy0tLSBhL01ha2VmaWxlLm9yaWcJMjAxNS0xMS0yNiAxNTozNTozMS40ODUzNTc4NjIgKzA4MDAKKysrKyBiL01ha2VmaWxlCTIwMTUtMTEtMjYgMTU6MzU6MzcuMDM3MzU3NzY0ICswODAwCitAQCAtMTgsNyArMTgsNyBAQAorIAorIGluY2x1ZGUgbWFrZWluY2x1ZGUKKyAKKy1ESVJTID0gJChJTUFHRURJUlMpIHNyYyAkKENBSVJPRElSKSBmbHVpZCB0ZXN0IGRvY3VtZW50YXRpb24KKytESVJTID0gJChJTUFHRURJUlMpIHNyYyAkKENBSVJPRElSKSBmbHVpZCBkb2N1bWVudGF0aW9uCisgCisgYWxsOiBtYWtlaW5jbHVkZSBmbHRrLWNvbmZpZworIAlmb3IgZGlyIGluICQoRElSUyk7IGRvXApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mbHRrL2ZsdGsvZml4LWJvb2xlYW4taXNzdWUtd2l0aC1qcGVnOS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmx0ay9mbHRrL2ZpeC1ib29sZWFuLWlzc3VlLXdpdGgtanBlZzkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDE0MTg0ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmx0ay9mbHRrL2ZpeC1ib29sZWFuLWlzc3VlLXdpdGgtanBlZzkucGF0Y2gKQEAgLTAsMCArMSw0MCBAQAorRnJvbSAxNGMyMjM5OGY4MzcwZTMzYTc5ODM2MGVkMGRhZDUxM2FmOGYxNDcwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxicmVjaHRTIDxBbGJyZWNodFNAZWE0MWVkNTItZDJlZS0wMzEwLWE5YzEtZTZiMThkMzNlMTIxPgorRGF0ZTogU3VuLCAxNSBNYXIgMjAxNSAxOTozMjozMyArMDAwMAorU3ViamVjdDogW1BBVENIXSBGaXggJ2Jvb2xlYW4nIGlzc3VlIHdpdGgganBlZy05IGxpYnJhcnkgY29tcGF0aWJpbGl0eSAoU1RSCisgIzI5MjApLgorCitBY2NvcmRpbmcgdG8gY29tbWVudHMgaW4gU1RSICMyOTIwIGFuZCBteSBvd24gdGVzdHMgdGhpcyBpcyBhbHNvCitjb21wYXRpYmxlIHdpdGggb2xkZXIganBlZyBsaWJyYXJpZXMgKGF0IGxlYXN0IGpwZWctOCkuCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworLS0tCisgc3JjL0ZsX0pQRUdfSW1hZ2UuY3h4IHwgICAgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9GbF9KUEVHX0ltYWdlLmN4eCBiL3NyYy9GbF9KUEVHX0ltYWdlLmN4eAoraW5kZXggNDcxMjBhNy4uNmNlYmU4OCAxMDA2NDQKKy0tLSBhL3NyYy9GbF9KUEVHX0ltYWdlLmN4eAorKysrIGIvc3JjL0ZsX0pQRUdfSW1hZ2UuY3h4CitAQCAtMTU1LDcgKzE1NSw3IEBAIEZsX0pQRUdfSW1hZ2U6OkZsX0pQRUdfSW1hZ2UoY29uc3QgY2hhciAqZmlsZW5hbWUpCS8vIEkgLSBGaWxlIHRvIGxvYWQKKyAgIAorICAganBlZ19jcmVhdGVfZGVjb21wcmVzcygmZGluZm8pOworICAganBlZ19zdGRpb19zcmMoJmRpbmZvLCBmcCk7CistICBqcGVnX3JlYWRfaGVhZGVyKCZkaW5mbywgMSk7CisrICBqcGVnX3JlYWRfaGVhZGVyKCZkaW5mbywgVFJVRSk7CisgICAKKyAgIGRpbmZvLnF1YW50aXplX2NvbG9ycyAgICAgID0gKGJvb2xlYW4pRkFMU0U7CisgICBkaW5mby5vdXRfY29sb3Jfc3BhY2UgICAgICA9IEpDU19SR0I7CitAQCAtMzM3LDcgKzMzNyw3IEBAIEZsX0pQRUdfSW1hZ2U6OkZsX0pQRUdfSW1hZ2UoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSkKKyAgIAorICAganBlZ19jcmVhdGVfZGVjb21wcmVzcygmZGluZm8pOworICAganBlZ19tZW1fc3JjKCZkaW5mbywgZGF0YSk7CistICBqcGVnX3JlYWRfaGVhZGVyKCZkaW5mbywgMSk7CisrICBqcGVnX3JlYWRfaGVhZGVyKCZkaW5mbywgVFJVRSk7CisgICAKKyAgIGRpbmZvLnF1YW50aXplX2NvbG9ycyAgICAgID0gKGJvb2xlYW4pRkFMU0U7CisgICBkaW5mby5vdXRfY29sb3Jfc3BhY2UgICAgICA9IEpDU19SR0I7CistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mbHRrL2ZsdGsvZmx0ay1uby1mcmVldHlwZS1jb25maWcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZsdGsvZmx0ay9mbHRrLW5vLWZyZWV0eXBlLWNvbmZpZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZDEzZmZjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mbHRrL2ZsdGsvZmx0ay1uby1mcmVldHlwZS1jb25maWcucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorLS0tIGEvY29uZmlndXJlLmluLm9yaWcJMjAxNS0xMS0yNiAxNDozMDoxNy44OTM0MjY5NjYgKzA4MDAKKysrKyBiL2NvbmZpZ3VyZS5pbgkyMDE1LTExLTI2IDE0OjMzOjAwLjI4NTQyNDA5OSArMDgwMAorQEAgLTk2OSwxMiArOTY5LDEyIEBAIGNhc2UgJGhvc3Rfb3NfZ3VpIGluCisgICAgICAgICBBQ19BUkdfRU5BQkxFKHhmdCwgWyAgLS1lbmFibGUteGZ0ICAgICAgICAgICAgdHVybiBvbiBYZnQgc3VwcG9ydCBbW2RlZmF1bHQ9eWVzXV1dKQorIAorIAlpZiB0ZXN0IHgkZW5hYmxlX3hmdCAhPSB4bm87IHRoZW4KKy0gICAgICAgICAgICBBQ19QQVRIX1BST0coRlRDT05GSUcsZnJlZXR5cGUtY29uZmlnKQorKyAgICAgICAgICAgIEFDX1BBVEhfUFJPRyhQS0dDT05GSUcscGtnLWNvbmZpZykKKyAKKy0JICAgIGlmIHRlc3QgIngkRlRDT05GSUciICE9IHg7IHRoZW4KKy0JICAgICAgICBDUFBGTEFHUz0iYCRGVENPTkZJRyAtLWNmbGFnc2AgJENQUEZMQUdTIgorLQkgICAgICAgIENGTEFHUz0iYCRGVENPTkZJRyAtLWNmbGFnc2AgJENGTEFHUyIKKy0JICAgICAgICBDWFhGTEFHUz0iYCRGVENPTkZJRyAtLWNmbGFnc2AgJENYWEZMQUdTIgorKwkgICAgaWYgdGVzdCAieCRQS0dDT05GSUciICE9IHg7IHRoZW4KKysJICAgICAgICBDUFBGTEFHUz0iYCRQS0dDT05GSUcgLS1jZmxhZ3MgeGZ0YCAkQ1BQRkxBR1MiCisrCSAgICAgICAgQ0ZMQUdTPSJgJFBLR0NPTkZJRyAtLWNmbGFncyB4ZnRgICRDRkxBR1MiCisrCSAgICAgICAgQ1hYRkxBR1M9ImAkUEtHQ09ORklHIC0tY2ZsYWdzIHhmdGAgJENYWEZMQUdTIgorIAorIAkgICAgICAgIEFDX0NIRUNLX0xJQihmb250Y29uZmlnLCBGY1BhdHRlcm5DcmVhdGUpCisgCQlBQ19DSEVDS19IRUFERVIoWDExL1hmdC9YZnQuaCwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmx0ay9mbHRrXzEuMy4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mbHRrL2ZsdGtfMS4zLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTE3ZWNjMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmx0ay9mbHRrXzEuMy4zLmJiCkBAIC0wLDAgKzEsNDkgQEAKK1NVTU1BUlkgPSAiRkxUSyBpcyBhIGNyb3NzLXBsYXRmb3JtIEMrKyBHVUkgdG9vbGtpdCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZmx0ay5vcmciCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEx2MiAmIEZMVEsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mNmIyNjM0NGEyNGE5NDFhMDFhNWIwODI2ZTgwYjVjYSIKKworREVQRU5EUyA9ICJhbHNhLWxpYiB6bGliIGpwZWcgbGlicG5nIGxpYnhleHQgbGlieGZ0IgorCitTUkNfVVJJID0gImh0dHA6Ly9mbHRrLm9yZy9wdWIvZmx0ay8ke1BWfS8ke0JQfS1zb3VyY2UudGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2Rpc2FibGVfdGVzdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9mbHRrLW5vLWZyZWV0eXBlLWNvbmZpZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtYm9vbGVhbi1pc3N1ZS13aXRoLWpwZWc5LnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjljY2RiMGQxOWRjMTA0Yjg3MTc5YmQ5ZmQxMDgyMmUzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImY4Mzk4ZDk4ZDcyMjFkNDBlNzdiYzdiMTllNzYxYWRhZjJmMWVmOGJiMGMzMGVjZWI3YmViNGYyMjczZDBkOTciCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBiaW5jb25maWcgcGtnY29uZmlnIGxpYl9wYWNrYWdlCisKK1RBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IC1EWEZUX01BSk9SPTIiCisKK0VYVFJBX09FQ09ORiA9ICItLWVuYWJsZS1zaGFyZWQgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLXRocmVhZHMgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLXhkYmUgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLXhmdCBcCisiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ29wZW5nbCcsICdvcGVuZ2wnLCAnJywgZCl9IgorCitQQUNLQUdFQ09ORklHW29wZW5nbF0gPSAiLS1lbmFibGUtZ2wsLS1kaXNhYmxlLWdsLHZpcnR1YWwvbGliZ2wiCitQQUNLQUdFQ09ORklHW3hpbmVyYW1hXSA9ICItLWVuYWJsZS14aW5lcmFtYSwtLWRpc2FibGUteGluZXJhbWEsbGlieGluZXJhbWEiCitQQUNLQUdFQ09ORklHW3hmaXhlc10gPSAiLS1lbmFibGUteGZpeGVzLC0tZGlzYWJsZS14Zml4ZXMsbGlieGZpeGVzIgorUEFDS0FHRUNPTkZJR1t4Y3Vyc29yXSA9ICItLWVuYWJsZS14Y3Vyc29yLC0tZGlzYWJsZS14Y3Vyc29yLGxpYnhjdXJzb3IiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBvZV9ydW5jb25mCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKKyAgICBzZWQgLWkgLWUgJ3MsJHtTVEFHSU5HX0RJUl9IT1NUfSwsZycgJHtEfSR7YmluZGlyfS9mbHRrLWNvbmZpZworfQorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgaWYgKGQuZ2V0VmFyKCdERUJJQU5fTkFNRVMnLCAxKSk6CisgICAgICAgIGQuc2V0VmFyKCdQS0dfJHtCUE59JywgJ2xpYmZsdGske1BWfScpCit9CisKK0xFQURfU09OQU1FID0gImxpYmZsdGsuc28iCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZnJlZXJkcC9mcmVlcmRwLzAwMDEtRmluZEdTdHJlYW1lcl8xXzAtZml4LWJ1aWxkLWZhaWx1cmUtZm9yLW5ldy1nc3RyZWFtZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZnJlZXJkcC9mcmVlcmRwLzAwMDEtRmluZEdTdHJlYW1lcl8xXzAtZml4LWJ1aWxkLWZhaWx1cmUtZm9yLW5ldy1nc3RyZWFtZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNWY2NDg1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mcmVlcmRwL2ZyZWVyZHAvMDAwMS1GaW5kR1N0cmVhbWVyXzFfMC1maXgtYnVpbGQtZmFpbHVyZS1mb3ItbmV3LWdzdHJlYW1lLnBhdGNoCkBAIC0wLDAgKzEsNzEgQEAKK0Zyb20gYmVhMjdmZDkxOWI2NGVlOGQ5Nzk5NjQwOWUyNzllMWU4M2QxMzU5NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEplYW4tTG91aXMgRHVwb25kIDxqZWFuLWxvdWlzQGR1cG9uZC5iZT4KK0RhdGU6IFN1biwgNCBPY3QgMjAxNSAxODoxNzozMyArMDIwMAorU3ViamVjdDogW1BBVENIXSBGaW5kR1N0cmVhbWVyXzFfMDogZml4IGJ1aWxkIGZhaWx1cmUgZm9yIG5ldyBnc3RyZWFtZXIKKyB2ZXJzaW9ucworCistLS0KKyBjbWFrZS9GaW5kR1N0cmVhbWVyXzFfMC5jbWFrZSB8IDMwICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NtYWtlL0ZpbmRHU3RyZWFtZXJfMV8wLmNtYWtlIGIvY21ha2UvRmluZEdTdHJlYW1lcl8xXzAuY21ha2UKK2luZGV4IGY3YmY5OTAuLjNhYThmYzYgMTAwNjQ0CistLS0gYS9jbWFrZS9GaW5kR1N0cmVhbWVyXzFfMC5jbWFrZQorKysrIGIvY21ha2UvRmluZEdTdHJlYW1lcl8xXzAuY21ha2UKK0BAIC01MywxNyArNTMsMTcgQEAgc2V0KEdTVFJFQU1FUl8xXzBfTUlOSU1VTV9WRVJTSU9OIDEuMC41KQorICMgSGVscGVyIG1hY3JvIHRvIGZpbmQgYSBHc3RyZWFtZXIgcGx1Z2luIChvciBHc3RyZWFtZXIgaXRzZWxmKQorICMgICBfY29tcG9uZW50X3ByZWZpeCBpcyBwcmVwZW5kZWQgdG8gdGhlIF9JTkNMVURFX0RJUlMgYW5kIF9MSUJSQVJJRVMgdmFyaWFibGVzIChlZy4gIkdTVFJFQU1FUl8xXzBfQVVESU8iKQorICMgICBfcGtnY29uZmlnX25hbWUgaXMgdGhlIGNvbXBvbmVudCdzIHBrZy1jb25maWcgbmFtZSAoZWcuICJnc3RyZWFtZXItMS4wIiwgb3IgImdzdHJlYW1lci12aWRlby0xLjAiKS4KKy0jICAgX2hlYWRlciBpcyB0aGUgY29tcG9uZW50J3MgaGVhZGVyLCByZWxhdGl2ZSB0byB0aGUgZ3N0cmVhbWVyLTEuMCBkaXJlY3RvcnkgKGVnLiAiZ3N0L2dzdC5oIikuCisgIyAgIF9saWJyYXJ5IGlzIHRoZSBjb21wb25lbnQncyBsaWJyYXJ5IG5hbWUgKGVnLiAiZ3N0cmVhbWVyLTEuMCIgb3IgImdzdHZpZGVvLTEuMCIpCistbWFjcm8oRklORF9HU1RSRUFNRVJfQ09NUE9ORU5UIF9jb21wb25lbnRfcHJlZml4IF9wa2djb25maWdfbmFtZSBfaGVhZGVyIF9saWJyYXJ5KQorK21hY3JvKEZJTkRfR1NUUkVBTUVSX0NPTVBPTkVOVCBfY29tcG9uZW50X3ByZWZpeCBfcGtnY29uZmlnX25hbWUgX2xpYnJhcnkpCisgICAgICMgRklYTUU6IFRoZSBRVUlFVCBrZXl3b3JkIGNhbiBiZSB1c2VkIG9uY2Ugd2UgcmVxdWlyZSBDTWFrZSAyLjguMi4KKy0gICAgcGtnX2NoZWNrX21vZHVsZXMoUENfJHtfY29tcG9uZW50X3ByZWZpeH0gJHtfcGtnY29uZmlnX25hbWV9KQorIAorLSAgICBmaW5kX3BhdGgoJHtfY29tcG9uZW50X3ByZWZpeH1fSU5DTFVERV9ESVJTCistICAgICAgICBOQU1FUyAke19oZWFkZXJ9CistICAgICAgICBISU5UUyAke1BDXyR7X2NvbXBvbmVudF9wcmVmaXh9X0lOQ0xVREVfRElSU30gJHtQQ18ke19jb21wb25lbnRfcHJlZml4fV9JTkNMVURFRElSfQorLSAgICAgICAgUEFUSF9TVUZGSVhFUyBnc3RyZWFtZXItMS4wCistICAgICkKKysgICAgc3RyaW5nKFJFR0VYIE1BVENIICIoLiopPj0oLiopIiBfZHVtbXkgIiR7X3BrZ2NvbmZpZ19uYW1lfSIpCisrICAgIGlmICgiJHtDTUFLRV9NQVRDSF8yfSIgU1RSRVFVQUwgIiIpCisrICAgICAgICBwa2dfY2hlY2tfbW9kdWxlcyhQQ18ke19jb21wb25lbnRfcHJlZml4fSAiJHtfcGtnY29uZmlnX25hbWV9ID49ICR7R1N0cmVhbWVyX0ZJTkRfVkVSU0lPTn0iKQorKyAgICBlbHNlICgpCisrICAgICAgICBwa2dfY2hlY2tfbW9kdWxlcyhQQ18ke19jb21wb25lbnRfcHJlZml4fSAke19wa2djb25maWdfbmFtZX0pCisrICAgIGVuZGlmICgpCisrICAgIHNldCgke19jb21wb25lbnRfcHJlZml4fV9JTkNMVURFX0RJUlMgJHtQQ18ke19jb21wb25lbnRfcHJlZml4fV9JTkNMVURFX0RJUlN9KQorIAorICAgICBmaW5kX2xpYnJhcnkoJHtfY29tcG9uZW50X3ByZWZpeH1fTElCUkFSSUVTCisgICAgICAgICBOQU1FUyAke19saWJyYXJ5fSBnc3RyZWFtZXJfYW5kcm9pZAorQEAgLTc4LDggKzc4LDggQEAgZW5kbWFjcm8oKQorICMgMS4xLiBGaW5kIGhlYWRlcnMgYW5kIGxpYnJhcmllcworIHNldChHTElCX1JPT1RfRElSICR7R1NUUkVBTUVSXzFfMF9ST09UX0RJUn0pCisgZmluZF9wYWNrYWdlKEdsaWIgUkVRVUlSRUQpCistRklORF9HU1RSRUFNRVJfQ09NUE9ORU5UKEdTVFJFQU1FUl8xXzAgZ3N0cmVhbWVyLTEuMCBnc3QvZ3N0LmggZ3N0cmVhbWVyLTEuMCkKKy1GSU5EX0dTVFJFQU1FUl9DT01QT05FTlQoR1NUUkVBTUVSXzFfMF9CQVNFIGdzdHJlYW1lci1iYXNlLTEuMCBnc3QvZ3N0LmggZ3N0YmFzZS0xLjApCisrRklORF9HU1RSRUFNRVJfQ09NUE9ORU5UKEdTVFJFQU1FUl8xXzAgZ3N0cmVhbWVyLTEuMCBnc3RyZWFtZXItMS4wKQorK0ZJTkRfR1NUUkVBTUVSX0NPTVBPTkVOVChHU1RSRUFNRVJfMV8wX0JBU0UgZ3N0cmVhbWVyLWJhc2UtMS4wIGdzdGJhc2UtMS4wKQorIAorICMgMS4yLiBDaGVjayBHc3RyZWFtZXIgdmVyc2lvbgorIGlmIChHU1RSRUFNRVJfMV8wX0lOQ0xVREVfRElSUykKK0BAIC0xMTAsMTEgKzExMCwxMSBAQCBlbmRpZiAoKQorICMgMi4gRmluZCBHc3RyZWFtZXIgcGx1Z2lucworICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIAorLUZJTkRfR1NUUkVBTUVSX0NPTVBPTkVOVChHU1RSRUFNRVJfMV8wX0FQUCBnc3RyZWFtZXItYXBwLTEuMCBnc3QvYXBwL2dzdGFwcHNpbmsuaCBnc3RhcHAtMS4wKQorLUZJTkRfR1NUUkVBTUVSX0NPTVBPTkVOVChHU1RSRUFNRVJfMV8wX0FVRElPIGdzdHJlYW1lci1hdWRpby0xLjAgZ3N0L2F1ZGlvL2F1ZGlvLmggZ3N0YXVkaW8tMS4wKQorLUZJTkRfR1NUUkVBTUVSX0NPTVBPTkVOVChHU1RSRUFNRVJfMV8wX0ZGVCBnc3RyZWFtZXItZmZ0LTEuMCBnc3QvZmZ0L2dzdGZmdC5oIGdzdGZmdC0xLjApCistRklORF9HU1RSRUFNRVJfQ09NUE9ORU5UKEdTVFJFQU1FUl8xXzBfUEJVVElMUyBnc3RyZWFtZXItcGJ1dGlscy0xLjAgZ3N0L3BidXRpbHMvcGJ1dGlscy5oIGdzdHBidXRpbHMtMS4wKQorLUZJTkRfR1NUUkVBTUVSX0NPTVBPTkVOVChHU1RSRUFNRVJfMV8wX1ZJREVPIGdzdHJlYW1lci12aWRlby0xLjAgZ3N0L3ZpZGVvL3ZpZGVvLmggZ3N0dmlkZW8tMS4wKQorK0ZJTkRfR1NUUkVBTUVSX0NPTVBPTkVOVChHU1RSRUFNRVJfMV8wX0FQUCBnc3RyZWFtZXItYXBwLTEuMCBnc3RhcHAtMS4wKQorK0ZJTkRfR1NUUkVBTUVSX0NPTVBPTkVOVChHU1RSRUFNRVJfMV8wX0FVRElPIGdzdHJlYW1lci1hdWRpby0xLjAgZ3N0YXVkaW8tMS4wKQorK0ZJTkRfR1NUUkVBTUVSX0NPTVBPTkVOVChHU1RSRUFNRVJfMV8wX0ZGVCBnc3RyZWFtZXItZmZ0LTEuMCBnc3RmZnQtMS4wKQorK0ZJTkRfR1NUUkVBTUVSX0NPTVBPTkVOVChHU1RSRUFNRVJfMV8wX1BCVVRJTFMgZ3N0cmVhbWVyLXBidXRpbHMtMS4wIGdzdHBidXRpbHMtMS4wKQorK0ZJTkRfR1NUUkVBTUVSX0NPTVBPTkVOVChHU1RSRUFNRVJfMV8wX1ZJREVPIGdzdHJlYW1lci12aWRlby0xLjAgZ3N0dmlkZW8tMS4wKQorIAorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyAzLiBQcm9jZXNzIHRoZSBDT01QT05FTlRTIHBhc3NlZCB0byBGSU5EX1BBQ0tBR0UKKy0tIAorMi42LjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mcmVlcmRwL2ZyZWVyZHAvd2lucHItbWFrZWNlcnQtQnVpbGQtd2l0aC1pbnN0YWxsLVJQQVRILnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mcmVlcmRwL2ZyZWVyZHAvd2lucHItbWFrZWNlcnQtQnVpbGQtd2l0aC1pbnN0YWxsLVJQQVRILnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyNzlkNmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZyZWVyZHAvZnJlZXJkcC93aW5wci1tYWtlY2VydC1CdWlsZC13aXRoLWluc3RhbGwtUlBBVEgucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSAyNTNlYWZjOGM4ZGE4M2ZjMmIxYTk5YTllNDM4MjRlZmM2MTA1YzdhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFudWVsIEJhY2htYW5uIDxtYW51ZWwuYmFjaG1hbm5AaW90LmJ6aD4KK0RhdGU6IFN1biwgNCBPY3QgMjAxNSAxMDo0NDo0OSArMDIwMAorU3ViamVjdDogW1BBVENIXSB3aW5wci1tYWtlY2VydDogQnVpbGQgd2l0aCBpbnN0YWxsIFJQQVRICisKK0FzIHdlIGFyZSBpbnN0YWxsaW5nICJ3aW5wci1tYWtlY2VydCIgbWFudWFsbHksIHdlIGRvIHdhbnQKK3RvIHJlZmVyIHRvIHRoZSBsaWJyYXJ5IGluIERFU1RESVIsIG5vdCB0aGUgb25lIHJlc3RpbmcgaW4KK3RoZSBidWlsZCB0cmVlLgorCitTaWduZWQtb2ZmLWJ5OiBNYW51ZWwgQmFjaG1hbm4gPG1hbnVlbC5iYWNobWFubkBpb3QuYnpoPgorLS0tCisgd2lucHIvdG9vbHMvbWFrZWNlcnQvY2xpL0NNYWtlTGlzdHMudHh0IHwgNCArKysrCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvd2lucHIvdG9vbHMvbWFrZWNlcnQvY2xpL0NNYWtlTGlzdHMudHh0IGIvd2lucHIvdG9vbHMvbWFrZWNlcnQvY2xpL0NNYWtlTGlzdHMudHh0CitpbmRleCAxNzk1NGM0Li45MGM0NDZiIDEwMDY0NAorLS0tIGEvd2lucHIvdG9vbHMvbWFrZWNlcnQvY2xpL0NNYWtlTGlzdHMudHh0CisrKysgYi93aW5wci90b29scy9tYWtlY2VydC9jbGkvQ01ha2VMaXN0cy50eHQKK0BAIC00NSw1ICs0NSw5IEBAIHNldCgke01PRFVMRV9QUkVGSVh9X0xJQlMgd2lucHItbWFrZWNlcnQtdG9vbCkKKyAKKyB0YXJnZXRfbGlua19saWJyYXJpZXMoJHtNT0RVTEVfTkFNRX0gJHske01PRFVMRV9QUkVGSVh9X0xJQlN9KQorIAorK3NldF90YXJnZXRfcHJvcGVydGllcygke01PRFVMRV9OQU1FfSBQUk9QRVJUSUVTIAorKwlCVUlMRF9XSVRIX0lOU1RBTExfUlBBVEggMSkKKysKKyBzZXRfcHJvcGVydHkoVEFSR0VUICR7TU9EVUxFX05BTUV9IFBST1BFUlRZIEZPTERFUiAiV2luUFIvVG9vbHMiKQorIAorKworLS0gCisxLjguMy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZnJlZXJkcC9mcmVlcmRwX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZnJlZXJkcC9mcmVlcmRwX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMzlhMDUzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mcmVlcmRwL2ZyZWVyZHBfZ2l0LmJiCkBAIC0wLDAgKzEsOTAgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDEwLTIwMTIgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlCisKK0RFU0NSSVBUSU9OID0gIkZyZWVSRFAgUkRQIGNsaWVudCAmIHNlcnZlciBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mcmVlcmRwLmNvbSIKK0RFUEVORFMgPSAib3BlbnNzbCBhbHNhLWxpYiBwY3NjLWxpdGUiCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTNiODNlZjk2Mzg3ZjE0NjU1ZmM4NTRkZGMzYzZiZDU3IgorCitpbmhlcml0IHBrZ2NvbmZpZyBjbWFrZSBnaXRwa2d2CisKK1BWID0gIjEuMi41K2dpdHIke1NSQ1BWfSIKK1BLR1YgPSAiJHtHSVRQS0dWVEFHfSIKKworU1JDUkVWID0gIjYyZGE5ZDI4YzY3NDgxNGM4MWMyNDVjMWM3ODgyZWIwZGE3YmU3NmIiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vRnJlZVJEUC9GcmVlUkRQLmdpdCBcCisgICAgZmlsZTovL3dpbnByLW1ha2VjZXJ0LUJ1aWxkLXdpdGgtaW5zdGFsbC1SUEFUSC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDEtRmluZEdTdHJlYW1lcl8xXzAtZml4LWJ1aWxkLWZhaWx1cmUtZm9yLW5ldy1nc3RyZWFtZS5wYXRjaCBcCisiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0VYVFJBX09FQ01BS0UgKz0gIiBcCisgICAgLURXSVRIX0FMU0E9T04gXAorICAgIC1EV0lUSF9QQ1NDPU9OIFwKKyAgICAtRFdJVEhfRkZNUEVHPU9GRiBcCisgICAgLURXSVRIX0NVTklUPU9GRiBcCisgICAgLURXSVRIX05FT049T0ZGIFwKKyAgICAtREJVSUxEX1NUQVRJQ19MSUJTPU9GRiBcCisgICAgLURDTUFLRV9QT1NJVElPTl9JTkRFUEVOREFOVF9DT0RFPU9OIFwKKyAgICAtRFdJVEhfTUFOUEFHRVM9T0ZGIFwKKyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiAgXAorICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3gxMScsICcnLCBkKX1cCisgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd3YXlsYW5kJywgJ3dheWxhbmQnLCAnJywgZCl9XAorICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnZGlyZWN0ZmInLCAnZGlyZWN0ZmInLCAnJywgZCl9XAorICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ3BhbScsICcnLCBkKX1cCisgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwdWxzZWF1ZGlvJywgJ3B1bHNlYXVkaW8nLCAnJywgZCl9XAorICAgICAgICAgICAgICAgIGdzdHJlYW1lciBjdXBzIFwKKyAgICAgICAgICAgICAgICAiCisKK1gxMV9ERVBTID0gInZpcnR1YWwvbGlieDExIGxpYnhpbmVyYW1hIGxpYnhleHQgbGlieGN1cnNvciBsaWJ4diBsaWJ4aSBsaWJ4cmVuZGVyIGxpYnhmaXhlcyBsaWJ4ZGFtYWdlIGxpYnhyYW5kciBsaWJ4a2JmaWxlIgorUEFDS0FHRUNPTkZJR1t4MTFdID0gIi1EV0lUSF9YMTE9T04gLURXSVRIX1hJTkVSQU1BPU9OIC1EV0lUSF9YRVhUPU9OIC1EV0lUSF9YQ1VSU09SPU9OIC1EV0lUSF9YVj1PTiAtRFdJVEhfWEk9T04gLURXSVRIX1hSRU5ERVI9T04gLURXSVRIX1hGSVhFUz1PTiAtRFdJVEhfWERBTUFHRT1PTiAtRFdJVEhfWFJBTkRSPU9OIC1EV0lUSF9YS0JGSUxFPU9OLC1EV0lUSF9YMTE9T0ZGLCR7WDExX0RFUFN9IgorUEFDS0FHRUNPTkZJR1t3YXlsYW5kXSA9ICItRFdJVEhfV0FZTEFORD1PTiwtRFdJVEhfV0FZTEFORD1PRkYsd2F5bGFuZCIKK1BBQ0tBR0VDT05GSUdbZGlyZWN0ZmJdID0gIi1EV0lUSF9ESVJFQ1RGQj1PTiwtRFdJVEhfRElSRUNURkI9T0ZGLGRpcmVjdGZiIgorUEFDS0FHRUNPTkZJR1twYW1dID0gIi1EV0lUSF9QQU09T04sLURXSVRIX1BBTT1PRkYsbGlicGFtIgorUEFDS0FHRUNPTkZJR1twdWxzZWF1ZGlvXSA9ICItRFdJVEhfUFVMU0VBVURJTz1PTiwtRFdJVEhfUFVMU0VBVURJTz1PRkYscHVsc2VhdWRpbyIKK1BBQ0tBR0VDT05GSUdbZ3N0cmVhbWVyXSA9ICItRFdJVEhfR1NUUkVBTUVSXzFfMD1PTiwtRFdJVEhfR1NUUkVBTUVSXzFfMD1PRkYsZ3N0cmVhbWVyMS4wIGdzdHJlYW1lcjEuMC1wbHVnaW5zLWJhc2UiCitQQUNLQUdFQ09ORklHW2N1cHNdID0gIi1EV0lUSF9DVVBTPU9OLC1EV0lUSF9DVVBTPU9GRixjdXBzIgorCitQQUNLQUdFUyA9KyAibGliZnJlZXJkcCIKKworTEVBRF9TT05BTUUgPSAibGliZnJlZXJkcC5zbyIKK0ZJTEVTX2xpYmZyZWVyZHAgPSAiJHtsaWJkaXJ9L2xpYioke1NPTElCU30iCisKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl5saWJmcmVlcmRwLXBsdWdpbi0uKiIKKworIyB3ZSB3aWxsIG5lZWQgd2lucHItbWFrZWNlcnQgdG8gZ2VuZXJhdGUgVExTIGNlcnRpZmljYXRlcworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW03NTUgd2lucHIvdG9vbHMvbWFrZWNlcnQvY2xpL3dpbnByLW1ha2VjZXJ0ICR7RH0ke2JpbmRpcn0KKyAgICBybSAtcmYgJHtEfSR7bGliZGlyfS9jbWFrZQorICAgIHJtIC1yZiAke0R9JHtsaWJkaXJ9L2ZyZWVyZHAKK30KKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgeworICAgIGZyZWVyZHBfcm9vdCA9IGQuZXhwYW5kKCcke2xpYmRpcn0vZnJlZXJkcCcpCisKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBmcmVlcmRwX3Jvb3QsICdeKGF1ZGluXy4qKVwuc28kJywKKyAgICAgICAgb3V0cHV0X3BhdHRlcm49J2xpYmZyZWVyZHAtcGx1Z2luLSVzJywKKyAgICAgICAgZGVzY3JpcHRpb249J0ZyZWVSRFAgcGx1Z2luICVzJywKKyAgICAgICAgcHJlcGVuZD1UcnVlLCBleHRyYV9kZXBlbmRzPSdsaWJmcmVlcmRwLXBsdWdpbi1hdWRpbicpCisKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBmcmVlcmRwX3Jvb3QsICdeKHJkcHNuZF8uKilcLnNvJCcsCisgICAgICAgIG91dHB1dF9wYXR0ZXJuPSdsaWJmcmVlcmRwLXBsdWdpbi0lcycsCisgICAgICAgIGRlc2NyaXB0aW9uPSdGcmVlUkRQIHBsdWdpbiAlcycsCisgICAgICAgIHByZXBlbmQ9VHJ1ZSwgZXh0cmFfZGVwZW5kcz0nbGliZnJlZXJkcC1wbHVnaW4tcmRwc25kJykKKworICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGZyZWVyZHBfcm9vdCwgJ14odHNtZl8uKilcLnNvJCcsCisgICAgICAgIG91dHB1dF9wYXR0ZXJuPSdsaWJmcmVlcmRwLXBsdWdpbi0lcycsCisgICAgICAgIGRlc2NyaXB0aW9uPSdGcmVlUkRQIHBsdWdpbiAlcycsCisgICAgICAgIHByZXBlbmQ9VHJ1ZSwgZXh0cmFfZGVwZW5kcz0nbGliZnJlZXJkcC1wbHVnaW4tdHNtZicpCisKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBmcmVlcmRwX3Jvb3QsICdeKFteLV0qKVwuc28kJywKKyAgICAgICAgb3V0cHV0X3BhdHRlcm49J2xpYmZyZWVyZHAtcGx1Z2luLSVzJywKKyAgICAgICAgZGVzY3JpcHRpb249J0ZyZWVSRFAgcGx1Z2luICVzJywKKyAgICAgICAgcHJlcGVuZD1UcnVlLCBleHRyYV9kZXBlbmRzPScnKQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nZC9nZF8yLjEuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ2QvZ2RfMi4xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODVjN2U2YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ2QvZ2RfMi4xLjEuYmIKQEAgLTAsMCArMSw0NyBAQAorU1VNTUFSWSA9ICJnZCBpcyBhIGxpYnJhcnkgdXNlZCB0byBjcmVhdGUgUE5HLCBKUEVHLCBvciBXQk1QIGltYWdlcyIKK0RFU0NSSVBUSU9OID0gIlRoZSBnZCBncmFwaGljcyBsaWJyYXJ5IGFsbG93cyB5b3VyIGNvZGUgdG8gcXVpY2tseSBkcmF3IGltYWdlcyBcCitjb21wbGV0ZSB3aXRoIGxpbmVzLCBhcmNzLCB0ZXh0LCBtdWx0aXBsZSBjb2xvcnMsIGN1dCBhbmQgcGFzdGUgZnJvbSBvdGhlciBcCitpbWFnZXMsIGFuZCBmbG9vZCBmaWxscywgYW5kIHRvIHdyaXRlIG91dCB0aGUgcmVzdWx0IGFzIGEgUE5HIG9yIEpQRUcgZmlsZS4gXAorVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGluIFdlYiBhcHBsaWNhdGlvbnMsIHdoZXJlIFBORyBhbmQgSlBFRyBhcmUgdHdvIFwKK29mIHRoZSBmb3JtYXRzIGFjY2VwdGVkIGZvciBpbmxpbmUgaW1hZ2VzIGJ5IG1vc3QgYnJvd3NlcnMuIE5vdGUgdGhhdCBnZCBpcyBub3QgXAorYSBwYWludCBwcm9ncmFtLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9saWJnZC5iaXRidWNrZXQub3JnLyIKKworU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJHRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM5NzYzOGNhZmQzNTgxZWI4N2FiZDM3MzMyMTM3NjY5IgorREVQRU5EUyA9ICJmcmVldHlwZSBsaWJwbmcganBlZyB6bGliIHRpZmYiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9iaXRidWNrZXQub3JnL2xpYmdkL2dkLWxpYmdkL2Rvd25sb2Fkcy9saWJnZC0ke1BWfS50YXIuYnoyIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJkM2YxYTk5MmFjOWM1NTBlYmM2ZGE4OWMxNDdmODlhZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4OTVlYTljNmZjYWIxODdiMGE5MDhhZTNlOWU2YjA2NDIzNzU2ZjhhNjQzZDM2MjM0OWIwY2FhYjQwMTRiZDBkIgorCitTID0gIiR7V09SS0RJUn0vbGliZ2QtJHtQVn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIGJpbmNvbmZpZyBnZXR0ZXh0IHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgKz0gIiAtLWRpc2FibGUtcnBhdGggXAorICAgICAgICAgICAgICAgICAgLS13aXRoLWpwZWc9JHtTVEFHSU5HX0xJQkRJUn0vLi4gXAorICAgICAgICAgICAgICAgICAgLS13aXRoLWZyZWV0eXBlPXllcyBcCisgICAgICAgICAgICAgICAgICAtLXdpdGhvdXQtZm9udGNvbmZpZyBcCisgICAgICAgICAgICAgICAgICAtLXdpdGhvdXQteHBtIFwKKyAgICAgICAgICAgICAgICAgIC0td2l0aG91dC14IFwKKyAgICAgICAgICAgICAgICAgIC0td2l0aG91dC12cHggXAorICAgICAgICAgICAgICAgICIKKworRVhUUkFfT0VNQUtFID0gJ0xERkxBR1M9IiR7TERGTEFHU30iJworCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKwkjIGNsZWFudXAgYnVpbGRwYXRocyBmcm9tIGdkbGliLnBjCisJc2VkIC1pIC1lICdzIyR7U1RBR0lOR19ESVJfSE9TVH0jI2cnICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL2dkbGliLnBjCit9CisKK1BBQ0tBR0VTICs9ICIke1BOfS10b29scyIKKworRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYioke1NPTElCU30iCitGSUxFU18ke1BOfS10b29scyA9ICIke2JpbmRpcn0vKiIKKworUFJPVklERVMgKz0gIiR7UE59LXRvb2xzIgorUlBST1ZJREVTXyR7UE59LXRvb2xzID0gIiR7UE59LXRvb2xzIgorUkRFUEVORFNfJHtQTn0tdG9vbHMgPSAicGVybCBwZXJsLW1vZHVsZS1zdHJpY3QiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dsb2cvZ2xvZy5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dsb2cvZ2xvZy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGExZmI0MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ2xvZy9nbG9nLmluYwpAQCAtMCwwICsxLDExIEBACitERVNDUklQVElPTiA9ICJUaGUgZ2xvZyBsaWJyYXJ5IGltcGxlbWVudHMgYXBwbGljYXRpb24tbGV2ZWwgbG9nZ2luZy4gVGhpcyBcCitsaWJyYXJ5IHByb3ZpZGVzIGxvZ2dpbmcgQVBJcyBiYXNlZCBvbiBDKystc3R5bGUgc3RyZWFtcyBhbmQgdmFyaW91cyBoZWxwZXIgXAorbWFjcm9zLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvZ29vZ2xlLWdsb2cvIgorCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWRjOWRiMzYwZTBiYmQ0ZTQ2NjcyZjNmZDkxZGQ2YzRiIgorCitERVBFTkRTID0gImxpYnVud2luZCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dsb2cvZ2xvZ18wLjMuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ2xvZy9nbG9nXzAuMy4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlM2YwNzYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dsb2cvZ2xvZ18wLjMuMy5iYgpAQCAtMCwwICsxLDYgQEAKK3JlcXVpcmUgZ2xvZy5pbmMKKworU1JDX1VSSSA9ICJodHRwOi8vZ29vZ2xlLWdsb2cuZ29vZ2xlY29kZS5jb20vZmlsZXMvZ2xvZy0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhNmZkMmMyMmY4OTk2ODQ2ZTM0Yzc2MzQyMjcxN2MxOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmYmY5MGMyMjg1YmEwNTYxZGI3YTQwZjhhNGVlZmI5YWE5NjNlN2QzOTliZDQ1MDM2M2U5NTk5MjlmZTg0OWQwIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nbnVsaWIvZ251bGliX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ251bGliL2dudWxpYl9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzY2ZTQxYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ251bGliL2dudWxpYl9naXQuYmIKQEAgLTAsMCArMSwzNCBAQAorU1VNTUFSWSA9ICJUaGUgR05VIHBvcnRhYmlsaXR5IGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJBIGNvbGxlY3Rpb24gb2Ygc29mdHdhcmUgc3Vicm91dGluZXMgd2hpY2ggYXJlIGRlc2lnbmVkIHRvIFwKK2JlIHVzYWJsZSBvbiBtYW55IG9wZXJhdGluZyBzeXN0ZW1zLiBUaGUgZ29hbCBvZiB0aGUgcHJvamVjdCBcCitpcyB0byBtYWtlIGl0IGVhc3kgZm9yIGZyZWUgc29mdHdhcmUgYXV0aG9ycyB0byBtYWtlIHRoZWlyIFwKK3NvZnR3YXJlIHJ1biBvbiBtYW55IG9wZXJhdGluZyBzeXN0ZW1zLiBTaW5jZSBzb3VyY2UgaXMgZGVzaWduZWQgXAordG8gYmUgY29waWVkIGZyb20gZ251bGliLCBpdCBpcyBub3QgYSBsaWJyYXJ5IHBlci1zZSwgYXMgbXVjaCBcCithcyBhIGNvbGxlY3Rpb24gb2YgcG9ydGFibGUgaWRpb21zIHRvIGJlIHVzZWQgaW4gb3RoZXIgcHJvamVjdHMuIgorCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZ251bGliLyIKK1NFQ1RJT04gPSAiZGV2ZWwiCitMSUNFTlNFID0gIkxHUEx2MisiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWU0Y2YzODEwZjMzYTA2N2VhN2NjZDJjZDg4OWZlZDIxIgorU1JDUkVWID0gIjI0Mzc5YTkyMTdmYTRiZDYyNjg1Nzk1YWFhYTAxMGZkOTBjZWQ5ZTMiCitTUkNfVVJJID0gImdpdDovL2dpdC5zdi5nbnUub3JnL2dudWxpYjtwcm90b2NvbD1naXQgXAorIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworZG9faW5zdGFsbCAoKSB7CisgICAgY2QgJHtTfQorICAgIGdpdCBjaGVja291dCBtYXN0ZXIKKyAgICBnaXQgY2xvbmUgJHtTfSAke0R9LyR7ZGF0YWRpcn0vZ251bGliCit9CisKK2RvX3BhdGNoW25vZXhlY10gPSAiMSIKK2RvX2NvbmZpZ3VyZVtub2V4ZWNdID0gIjEiCitkb19jb21waWxlW25vZXhlY10gPSAiMSIKK2RvX3BhY2thZ2Vbbm9leGVjXSA9ICIxIgorZG9fcGFja2FnZWRhdGFbbm9leGVjXSA9ICIxIgorZG9fcGFja2FnZV93cml0ZV9pcGtbbm9leGVjXSA9ICIxIgorZG9fcGFja2FnZV93cml0ZV9kZWJbbm9leGVjXSA9ICIxIgorZG9fcGFja2FnZV93cml0ZV9ycG1bbm9leGVjXSA9ICIxIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3BlcmZ0b29scy9ncGVyZnRvb2xzXzIuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3BlcmZ0b29scy9ncGVyZnRvb2xzXzIuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDhlMmE5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncGVyZnRvb2xzL2dwZXJmdG9vbHNfMi40LmJiCkBAIC0wLDAgKzEsMTIgQEAKK1NVTU1BUlkgPSAiRmFzdCwgbXVsdGktdGhyZWFkZWQgbWFsbG9jKCkgYW5kIG5pZnR5IHBlcmZvcm1hbmNlIGFuYWx5c2lzIHRvb2xzIgorSE9NRVBBR0UgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2dwZXJmdG9vbHMvIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NjI3MzI3NDJjNzNkYzZjN2ZiZTg2MzJmMDZjMDU5YSIKK0RFUEVORFMgPSAibGlidW53aW5kIgorCitTUkNfVVJJID0gImh0dHA6Ly9wa2dzLmZlZG9yYXByb2plY3Qub3JnL3JlcG8vcGtncy9ncGVyZnRvb2xzL2dwZXJmdG9vbHMtMi40LnRhci5nei8yMTcxY2VhM2JiZTA1MzAzNmZiNWQ1ZDI1MTc2YTE2MC9ncGVyZnRvb2xzLTIuNC50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyMTcxY2VhM2JiZTA1MzAzNmZiNWQ1ZDI1MTc2YTE2MCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5ODJhMzcyMjZlYjQyZjQwNzE0ZTI2YjgwNzY4MTVkNWVhNjc3YTQyMmZiNTJmZjhiZmNhMzcwNGQ5YzMwYTJkIgorCitpbmhlcml0IGF1dG90b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncG0vZ3BtLTEuOTkuNy9lZ2xpYmMtMi4xNy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3BtL2dwbS0xLjk5LjcvZWdsaWJjLTIuMTcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTQzYmRjYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3BtL2dwbS0xLjk5LjcvZWdsaWJjLTIuMTcucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKKy0tLSBncG0tMS45OS43Lm9yaWcvc3JjL2RhZW1vbi9vcGVuX2NvbnNvbGUuYwkyMDA4LTA3LTI0IDEyOjMzOjA1LjAwMDAwMDAwMCArMDIwMAorKysrIGdwbS0xLjk5Ljcvc3JjL2RhZW1vbi9vcGVuX2NvbnNvbGUuYwkyMDEzLTAxLTEwIDEyOjM5OjQ3Ljk3NTQ2MTk0NyArMDEwMAorQEAgLTIzLDYgKzIzLDcgQEAKKyAjaW5jbHVkZSA8ZmNudGwuaD4gICAgICAgICAgICAgIC8qIG9wZW4gYW5kIGNvLiAgKi8KKyAjaW5jbHVkZSA8c3lzL3N0YXQuaD4gICAgICAgICAgIC8qIHN0YXQoKSAqLworICNpbmNsdWRlIDxzeXMvaW9jdGwuaD4gICAgICAgICAgLyogaW9jdGwoKSAqLworKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4gICAgICAgICAgLyogbWFqb3IoKSAqLworIAorIC8qIExpbnV4IHNwZWNpZmljICh0byBiZSBvdXRzb3VyY2VkIGluIGdwbTIgKi8KKyAjaW5jbHVkZSA8bGludXgvc2VyaWFsLmg+ICAgICAgIC8qIGZvciBzZXJpYWwgY29uc29sZSBjaGVjayAqLwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncG0vZ3BtLTEuOTkuNy9pbml0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncG0vZ3BtLTEuOTkuNy9pbml0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkY2Y5YWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dwbS9ncG0tMS45OS43L2luaXQKQEAgLTAsMCArMSwzMiBAQAorIyEgL2Jpbi9zaCAgCisKKyMgR3JhYiB0aGUgY29tbW9uIGZ1bmN0aW9ucworIy4gL2V0Yy9pbml0LmQvZnVuY3Rpb25zCisKKyMgRklYTUU6IAorIyBBZGQgYSBjb25maWd1cmF0aW9uIGZpbGUgZm9yIEdQTSBoZXJlCisKK3Rlc3QgLXggL3Vzci9zYmluL2dwbSB8fCBleGl0IDAKKworY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorICAgIGlmIFsgISAtcCAvZGV2L2dwbWRhdGEgXTsgdGhlbgorICAgICAgICBta2ZpZm8gL2Rldi9ncG1kYXRhCisgICAgZmkKKworICAgIGVjaG8gIlN0YXJ0aW5nIEdQTToiIAorICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC1TIC14IC91c3Ivc2Jpbi9ncG0gLS0gLVIgLW0gL2Rldi9wc2F1eCAtdCBwczIKKyAgICA7OworICBzdG9wKQorICAgIGVjaG8gIlN0b3BwaW5nIEdQTToiIAorICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC1LIC14IC91c3Ivc2Jpbi9ncG0KKyAgICA7OworICByZXN0YXJ0fGZvcmNlLXJlbG9hZCkgCisgICAgJDAgc3RvcAorICAgICQwIHN0YXJ0CisgICAgOzsKKyAgKikKKyAgICB1c2FnZSAvZXRjL2luaXQuZC9ncG0KK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dwbS9ncG0tMS45OS43L25vLWRvY3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dwbS9ncG0tMS45OS43L25vLWRvY3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjEwMjE3YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3BtL2dwbS0xLjk5Ljcvbm8tZG9jcy5wYXRjaApAQCAtMCwwICsxLDE4IEBACisKKyMKKyMgUGF0Y2ggbWFuYWdlZCBieSBodHRwOi8vd3d3Lm1uLWxvZ2lzdGlrLmRlL3Vuc3VwcG9ydGVkL3B4YTI1MC9wYXRjaGVyCisjCisKK0luZGV4OiBncG0tMS45OS43L01ha2VmaWxlLmluCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ3BtLTEuOTkuNy5vcmlnL01ha2VmaWxlLmluCTIwMDgtMDctMjQgMDM6MzY6MzUuMDAwMDAwMDAwIC0wNzAwCisrKysgZ3BtLTEuOTkuNy9NYWtlZmlsZS5pbgkyMDEwLTA2LTIyIDE4OjI4OjQ1LjI2OTUwNzAwMSAtMDcwMAorQEAgLTE5LDcgKzE5LDcgQEAKKyAjIHVzZXItb3ZlcnJpZGFibGUgZmxhZ3MsIGJ1dCBpdCdzIGFsc28gYWxsIHRoZSBpbXBsaWNpdCBydWxlIGxvb2tzIGF0LgorICMgbWlzc2luZyA/CisgCistU1VCRElSUyA9IHNyYyBkb2MgY29udHJpYiBncG0yCisrU1VCRElSUyA9IHNyYworIAorIAorICMjIyBzaW1wbGUsIGJ1dCBlZmZlY3RpdmUgcnVsZXMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3BtL2dwbS0xLjk5LjcvcHJvY2Vzc2NyZWRzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncG0vZ3BtLTEuOTkuNy9wcm9jZXNzY3JlZHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDY0N2VjYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3BtL2dwbS0xLjk5LjcvcHJvY2Vzc2NyZWRzLnBhdGNoCkBAIC0wLDAgKzEsMTIgQEAKK0luZGV4OiBncG0tMS45OS43L3NyYy9kYWVtb24vcHJvY2Vzc2Nvbm4uYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdwbS0xLjk5Ljcub3JpZy9zcmMvZGFlbW9uL3Byb2Nlc3Njb25uLmMJMjAxMC0wOS0yOSAxNzozNjoxOC41NzE3ODI5NTEgKzA0MDAKKysrKyBncG0tMS45OS43L3NyYy9kYWVtb24vcHJvY2Vzc2Nvbm4uYwkyMDEwLTA5LTI5IDE3OjQyOjQ0LjY1OTk5MTc1OCArMDQwMAorQEAgLTIwLDYgKzIwLDcgQEAKKyAgKgorICAqKioqKioqKi8KKyAKKysjZGVmaW5lIF9HTlVfU09VUkNFCisgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4gICAgICAgICAvKiBhY2NlcHQgKi8KKyAjaW5jbHVkZSA8c3RkbGliLmg+ICAgICAgICAgICAgIC8qIG1hbGxvYyAqLworICNpbmNsdWRlIDx1bmlzdGQuaD4gICAgICAgICAgICAgLyogY2xvc2UgKi8KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3BtL2dwbV8xLjk5LjcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dwbS9ncG1fMS45OS43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwMjIwNTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dwbS9ncG1fMS45OS43LmJiCkBAIC0wLDAgKzEsNTIgQEAKK0RFU0NSSVBUSU9OID0gIkdQTSAoR2VuZXJhbCBQdXJwb3NlIE1vdXNlKSBpcyBhIG1vdXNlIHNlcnZlciBcCitmb3IgdGhlIGNvbnNvbGUgYW5kIHh0ZXJtLCB3aXRoIHNhbXBsZSBjbGllbnRzIGluY2x1ZGVkIFwKKyhlbWFjcywgZXRjKS4iCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2dwbTIvY29yZS9tYWluLmM7ZW5kbGluZT0xOTttZDU9NjZkM2MyMDVjNGU3ZWU1NzA0YjJlZTM1MWRmZWQ3MmYiCisKK1BSID0gInIyIgorCitERVBFTkRTID0gIm5jdXJzZXMiCisKK1NSQ19VUkkgPSAiZnRwOi8vYXJjYW5hLmxpbnV4Lml0L3B1Yi9ncG0vZ3BtLSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vbm8tZG9jcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9wcm9jZXNzY3JlZHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZWdsaWJjLTIuMTcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vaW5pdCIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHVwZGF0ZS1yYy5kCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJncG0iCitJTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyIKKworI2V4cG9ydCBMSUJTID0gIi1sbSIKKworIyBhbGwgZmllbGRzIGFyZSAvKiBGSVhNRTogZ3BtIDEuOTkuMTMgKi8KKyMgZ3BtLTEuOTkuNy9zcmMvbGliL2xpYmhpZ2guYzoxNzE6NDM6IGVycm9yOiBwYXJhbWV0ZXIgJ2NsaWVudGRhdGEnIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtcGFyYW1ldGVyXQorIyBncG0tMS45OS43L3NyYy9saWIvcmVwb3J0LWxpYi5jOjI4OjIxOiBlcnJvcjogcGFyYW1ldGVyICdsaW5lJyBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXBhcmFtZXRlcl0KKyMgZ3BtLTEuOTkuNy9zcmMvbGliL3JlcG9ydC1saWIuYzoyODozMzogZXJyb3I6IHBhcmFtZXRlciAnZmlsZScgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC1wYXJhbWV0ZXJdCisjIGdwbS0xLjk5Ljcvc3JjL2RyaXZlcnMvZW1wdHkvaS5jOjI2OjIzOiBlcnJvcjogcGFyYW1ldGVyICdmZCcgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC1wYXJhbWV0ZXJdCisjIGdwbS0xLjk5Ljcvc3JjL2RyaXZlcnMvZW1wdHkvaS5jOjI2OjQyOiBlcnJvcjogcGFyYW1ldGVyICdmbGFncycgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC1wYXJhbWV0ZXJdCisjIGdwbS0xLjk5Ljcvc3JjL2RyaXZlcnMvZXRvdWNoL2kuYzozNDo0MzogZXJyb3I6IHBhcmFtZXRlciAnZmxhZ3MnIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtcGFyYW1ldGVyXQorIyBncG0tMS45OS43L3NyYy9kcml2ZXJzL21zYy9yLmM6MzI6MTI6IGVycm9yOiB2YXJpYWJsZSAnZHknIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCisjIGdwbS0xLjk5Ljcvc3JjL2RyaXZlcnMvbXNjL3IuYzozMjo4OiBlcnJvcjogdmFyaWFibGUgJ2R4JyBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQorIyBjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycworQ0ZMQUdTICs9ICItV25vLWV4dHJhIC1Xbm8tZXJyb3I9dW51c2VkLWJ1dC1zZXQtcGFyYW1ldGVyIC1Xbm8tZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGUiCisKKyMgdHdpZGRsZXIgaXMgV0lQIGluIDEuOTkuNyBhbmQgcHJvYmFibHkgbm90IHdvcnRoIGZpeGluZyAoYSBsb3Qgb2YgY2hhbmdlcyBpbiBncG0tMi1kZXYgYWZ0ZXIgMS45OS43CisjIGdwbS0xLjk5Ljcvc3JjL2RyaXZlcnMvdHdpZC90d2lkZGxlci5jOjUwMzoxNDogZXJyb3I6IGNhc3QgdG8gcG9pbnRlciBmcm9tIGludGVnZXIgb2YgZGlmZmVyZW50IHNpemUgWy1XZXJyb3I9aW50LXRvLXBvaW50ZXItY2FzdF0KKyMgL2dwbS0xLjk5Ljcvc3JjL21pY2UuYzoyMjE6NTogZXJyb3I6IChuZWFyIGluaXRpYWxpemF0aW9uIGZvciAnbWljZVszMl0uaW5pdCcpIFstV2Vycm9yXQorQ0ZMQUdTICs9ICItV25vLWVycm9yPWludC10by1wb2ludGVyLWNhc3QgLVduby1lcnJvciIKKworZG9faW5zdGFsbCAoKSB7CisgICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCisgICAgaW5zdGFsbCAtbSAwNjQ0IHNyYy9oZWFkZXJzL2dwbS5oICR7RH0ke2luY2x1ZGVkaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vaW5pdCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kL2dwbQorICAgIGNkICR7RH0ke2xpYmRpcn0gJiYgbG4gLXNmIGxpYmdwbS5zby4xLjE5LjAgbGliZ3BtLnNvLjEKK30KK1NSQ19VUklbbWQ1c3VtXSA9ICI5ZmRkZGY1ZjUzY2IxMWQ0MGJiMmJiNjcxZDNhYzU0NCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2MDcxMzc4YjI0NDk0ZTM2Y2EzZWY2Mzc3NjA2ZTdlNTY1MDQwNDEzYzg2NzA0NzUzYTE2MmQyMTgwYWYzMmVlIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9lbWFjcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3JhZG0vZ3JhZG0vMDAwMS1NYWtlZmlsZS1yZW1vdmUtc3RyaXAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dyYWRtL2dyYWRtLzAwMDEtTWFrZWZpbGUtcmVtb3ZlLXN0cmlwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwYzY5N2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dyYWRtL2dyYWRtLzAwMDEtTWFrZWZpbGUtcmVtb3ZlLXN0cmlwLnBhdGNoCkBAIC0wLDAgKzEsNjEgQEAKK0Zyb20gZmJmN2I5ZTVhOGUyOTc4YWNkNWIwYTdhODMxMTkxMmEwODBlZTliOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFFpYW4gTGVpIDxxaWFubC5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogVGh1LCAxOCBEZWMgMjAxNCAxMTowOTowMSArMDgwMAorU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZTogcmVtb3ZlIHN0cmlwCisKK0F2b2lkIFFBIGVycm9yIGJ5IHJlbW92aW5nIHN0cmlwIGZyb20gTWFrZWZpbGUKKworWy4uLl0KK0VSUk9SOiBRQSBJc3N1ZTogRmlsZSAnL3NiaW4vZ3JhZG0nIGZyb20gZ3JhZG0gd2FzIGFscmVhZHkgc3RyaXBwZWQsCit0aGlzIHdpbGwgcHJldmVudCBmdXR1cmUgZGVidWdnaW5nISBbYWxyZWFkeS1zdHJpcHBlZF0KK0VSUk9SOiBRQSBJc3N1ZTogRmlsZSAnL3NiaW4vZ3JsZWFybicgZnJvbSBncmFkbSB3YXMgYWxyZWFkeSBzdHJpcHBlZCwKK3RoaXMgd2lsbCBwcmV2ZW50IGZ1dHVyZSBkZWJ1Z2dpbmchIFthbHJlYWR5LXN0cmlwcGVkXQorWy4uLl0KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFFpYW4gTGVpIDxxaWFubC5mbnN0QGNuLmZ1aml0c3UuY29tPgorCistLS0KKyBNYWtlZmlsZSB8IDcgKystLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCA2YzMzZmVlLi4zNTcwYTRlIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtMjQsNyArMjQsNiBAQCBNS05PRD0vYmluL21rbm9kCisgI0NDPS91c3IvYmluL2RpZXQgL3Vzci9iaW4vZ2NjCisgQ0M9L3Vzci9iaW4vZ2NjCisgRklORD0vdXNyL2Jpbi9maW5kCistU1RSSVA9L3Vzci9iaW4vc3RyaXAKKyBMSUJTIDo9ICQoc2hlbGwgaWYgWyAiYHVuYW1lIC1tYCIgIT0gInNwYXJjNjQiIC1hICJgdW5hbWUgLW1gIiAhPSAieDg2XzY0IiBdOyB0aGVuIGVjaG8gIi1sZmwiIDsgZWxzZSBlY2hvICIiIDsgZmkpCisgT1BUX0ZMQUdTIDo9IC1PMgorICMgZm9yIG9sZGVyIHZlcnNpb25zIG9mIGdyc2VjdXJpdHksIGNvbW1lbnQgdGhlIGFib3ZlIGxpbmUgYW5kIHVuY29tbWVudCB0aGUgYmVsb3c6CitAQCAtMTQwLDE1ICsxMzksMTIgQEAgaW5zdGFsbDogJChHUkFETV9CSU4pIGdyYWRtLjggcG9saWN5IGdybGVhcm4KKyAJQG1rZGlyIC1wICQoREVTVERJUikvc2JpbgorIAlAZWNobyAiSW5zdGFsbGluZyBncmFkbS4uLiIKKyAJQCQoSU5TVEFMTCkgLW0gMDc1NSAkKEdSQURNX0JJTikgJChERVNURElSKS9zYmluCistCUAkKFNUUklQKSAkKERFU1RESVIpL3NiaW4vJChHUkFETV9CSU4pCisgCUBpZiBbIC1mICQoR1JBRE1fUEFNKSBdIDsgdGhlbiBcCisgCQllY2hvICJJbnN0YWxsaW5nIGdyYWRtX3BhbS4uLiIgOyBcCisJCSQoSU5TVEFMTCkgLW0gNDc1NSAkKEdSQURNX1BBTSkgJChERVNURElSKS9zYmluIDsgXAorLQkJJChTVFJJUCkgJChERVNURElSKS9zYmluLyQoR1JBRE1fUEFNKSA7IFwKKyAJZmkKKyAJQGVjaG8gIkluc3RhbGxpbmcgZ3JsZWFybi4uLiIKKyAJQCQoSU5TVEFMTCkgLW0gMDcwMCBncmxlYXJuICQoREVTVERJUikvc2JpbgorLQlAJChTVFJJUCkgJChERVNURElSKS9zYmluL2dybGVhcm4KKyAJQG1rZGlyIC1wIC1tIDcwMCAkKERFU1RESVIpJChHUlNFQ19ESVIpCisgCUBpZiBbICEgLWYgJChERVNURElSKSQoR1JTRUNfRElSKS9wb2xpY3kgXSA7IHRoZW4gXAorIAkJaWYgWyAtZiAkKERFU1RESVIpJChHUlNFQ19ESVIpL2FjbCBdIDsgdGhlbiBcCitAQCAtMTY4LDYgKzE2NCw3IEBAIGluc3RhbGw6ICQoR1JBRE1fQklOKSBncmFkbS44IHBvbGljeSBncmxlYXJuCisgCQkJJChNS05PRCkgLW0gMDYyMiAkKERFU1RESVIpL2Rldi9ncnNlYyBjIDEgMTMgOyBcCisgCQlmaSBcCisgCWZpCisrCUBta2RpciAtcCAkKERFU1RESVIpL2V0Yy91ZGV2L3J1bGVzLmQKKyAJQGlmIFsgLWQgJChERVNURElSKS9ldGMvdWRldi9ydWxlcy5kIF0gOyB0aGVuIFwKKyAJCWVjaG8gIkFDVElPTiE9XCJhZGR8Y2hhbmdlXCIsIEdPVE89XCJwZXJtaXNzaW9uc19lbmRcIiIgPiAkKERFU1RESVIpL2V0Yy91ZGV2L3J1bGVzLmQvODAtZ3JzZWMucnVsZXMgOyBcCisgCQllY2hvICJLRVJORUw9PVwiZ3JzZWNcIiwgICAgICAgICAgTU9ERT1cIjA2MjJcIiIgPj4gJChERVNURElSKS9ldGMvdWRldi9ydWxlcy5kLzgwLWdyc2VjLnJ1bGVzIDsgXAorLS0gCisxLjguMy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3JhZG0vZ3JhZG1fMy4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncmFkbS9ncmFkbV8zLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjUyYjE5ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3JhZG0vZ3JhZG1fMy4xLmJiCkBAIC0wLDAgKzEsNTAgQEAKK1NVTU1BUlkgPSAiQWRtaW5pc3RyYXRpb24gcHJvZ3JhbSBmb3IgdGhlIGdyc2VjdXJpdHkgUkJBQyBzeXN0ZSIKK0RFU0NSSVBUSU9OID0gIlwKK2dyYWRtIGlzIHRoZSB1c2Vyc3BhY2UgUkJBQyBwYXJzaW5nIGFuZCBhdXRoZW50aWNhdGlvbiBwcm9ncmFtIGZvciBcCitncnNlY3VyaXR5IGdyc2VjdXJpdHkgYWltcyB0byBiZSBhIGNvbXBsZXRlIHNlY3VyaXR5IHN5c3RlbS4gZ3JhZG0gXAorcGVyZm9ybXMgc2V2ZXJhbCB0YXNrcyBmb3IgdGhlIFJCQUMgc3lzdGVtIGluY2x1ZGluZyBhdXRoZW50aWNhdGVkIFwKK3ZpYSBhIHBhc3N3b3JkIHRvIHRoZSBrZXJuZWwgYW5kIHBhcnNpbmcgcnVsZXMgdG8gYmUgcGFzc2VkIHRvIHRoZSBcCitrZXJuZWwiCitIT01FUEFHRSA9ICJodHRwOi8vZ3JzZWN1cml0eS5uZXQvaW5kZXgucGhwIgorU0VDVElPTiA9ICJhZG1pbiIKK0xJQ0VOU0UgPSAiR1BMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTQ2NDFlOTRlYzk2Zjk4ZmFiYzU2ZmY5Y2M0OGJlMTRiIgorREVQRU5EUyA9ICJmbGV4LW5hdGl2ZSBiaXNvbi1uYXRpdmUgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnbGlicGFtJywgJycsIGQpfSIKKworU1JDX1VSSSA9ICJodHRwOi8vZ3JzZWN1cml0eS5uZXQvc3RhYmxlLyR7QlB9LTIwMTUwNzE5MTY1Mi50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1NYWtlZmlsZS1yZW1vdmUtc3RyaXAucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiZWNlYzcyZDNhOWI2ZDg0YzAwZWRhOTc5NTdiNzA3YjYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmYxNGMzNTdiZjA0NTllNTAyYTRlMTA4Yjc2YzNmNjI0MGFhNDg0NzYyZDA3YmIxNjg3Nzk2YjliOTI5N2E1MCIKKworUyA9ICIke1dPUktESVJ9L2dyYWRtIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworZG9fY29tcGlsZSgpIHsKKyAgICBvZV9ydW5tYWtlICdDQz0ke0NDfScgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgJ09QVF9GTEFHUz0ke0NGTEFHU30nICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAnTExFWD0ke1NUQUdJTkdfQklORElSX05BVElWRX0vbGV4JyAgICAgIFwKKyAgICAgICAgICAgICAgICdGTEVYPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9mbGV4JyAgICAgXAorICAgICAgICAgICAgICAgJ0JJU09OPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9iaXNvbicgICBcCisgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICcgJywgJ25vcGFtJywgZCl9Cit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSAnQ0M9JHtDQ30nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICdERVNURElSPSR7RH0nICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgJ0xMRVg9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2xleCcgICAgICBcCisgICAgICAgICAgICAgICAnRkxFWD0ke1NUQUdJTkdfQklORElSX05BVElWRX0vZmxleCcgICAgIFwKKyAgICAgICAgICAgICAgICdCSVNPTj0ke1NUQUdJTkdfQklORElSX05BVElWRX0vYmlzb24nICAgXAorICAgICAgICAgICAgICAgaW5zdGFsbAorCisgICAgIyBUaGUgZGV2aWNlIG5vZGVzIGFyZSBnZW5lcmF0ZWQgYnkgcG9zdGluc3RhbGwgb3IgdWRldgorICAgIHJtIC1yZiAke0R9L2RldgorfQorCitwa2dfcG9zdGluc3RfJHtQTn0oKSB7CisgICAgIyBtYWtlIHN1cmUgcnVubmluZyBvbiB0aGUgdGFyZ2V0CisgICAgaWYgWyB4IiREIiAhPSAieCIgXTsgdGhlbgorICAgICAgICBleGl0IDEKKyAgICBmaQorICAgIC9iaW4vbWtub2QgLW0gMDYyMiAvZGV2L2dyc2VjIGMgMSAxMworfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nc2wvZ3NsLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3NsL2dzbC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDA2MTM5MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3NsL2dzbC5pbmMKQEAgLTAsMCArMSw5IEBACitERVNDUklQVElPTiA9ICJHTlUgU2NpZW50aWZpYyBMaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2dzbC8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBiaW5jb25maWcKKworTEVBRF9TT05BTUUgPSAibGliZ3NsLnNvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nc2wvZ3NsXzEuMTUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dzbC9nc2xfMS4xNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MjBlNzgwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nc2wvZ3NsXzEuMTUuYmIKQEAgLTAsMCArMSw3IEBACitpbmNsdWRlIGdzbC5pbmMKKworU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9L2dzbC9nc2wtJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDk0ZmZlZmQ5MGVlZjRhZGE2NzhjMzA2YmFiNDAzMGIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODViOTA3ZTU3OTAyZTJiNzYwNmVmM2FlZjk2MDMwMmZmZGQxM2JkOWRjNWI4ZmNiZmE3NWU0ZjBiZjM0MGVhMyIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nc29hcC9nc29hcF8yLjguMTIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dzb2FwL2dzb2FwXzIuOC4xMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZGEwOGFjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nc29hcC9nc29hcF8yLjguMTIuYmIKQEAgLTAsMCArMSw0MiBAQAorREVTQ1JJUFRJT04gPSAiVGhlIGdTT0FQIHRvb2xraXQgcHJvdmlkZXMgYSB1bmlxdWUgU09BUC10by1DL0MrKyBsYW5ndWFnZSBiaW5kaW5nIFwKK2ZvciB0aGUgZGV2ZWxvcG1lbnQgb2YgU09BUCBXZWIgU2VydmljZXMgYW5kIGNsaWVudHMuIgorU0VDVElPTiA9ICJkZXZlbCIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9YjMzOGIwOGIxYjYxZTAyOGUwZjM5OWE0ZGUyNWU1OGYiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9LyR7QlBOfTIvJHtCUE59XyR7UFZ9LnppcCIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1NzAwZDI2ZmM2ZmUzMDczZDAzODM0OWUxOWMzNjQwZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1MWVlZjExODU0NGZhODQ2ZjRkMmRlYTJlZWRmOTFjODRjNDZhMWFiZWFmYzVlZWUzZGNmZjc4M2Y0MDE1YTAwIgorCitpbmhlcml0IGF1dG90b29scworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworUFIgPSAicjEiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0tMi44IgorCitQQVJBTExFTF9NQUtFID0gIiIKKworRVhUUkFfT0VNQUtFX2NsYXNzLXRhcmdldCA9ICJTT0FQPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9zb2FwY3BwMiIKKworREVQRU5EUyA9ICJvcGVuc3NsIHpsaWIgZmxleCBiaXNvbiIKK0RFUEVORFNfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgZ3NvYXAtbmF0aXZlIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0KKyAgICBmb3IgbGliIGluIGxpYmdzb2Fwc3NsIGxpYmdzb2Fwc3NsKysgbGliZ3NvYXAgbGliZ3NvYXBjaysrIGxpYmdzb2FwKysgbGliZ3NvYXBjaworICAgIGRvCisgICAgICAgIG9lX2xpYmluc3RhbGwgLUMgZ3NvYXAgJGxpYiAke0R9JHtsaWJkaXJ9CisgICAgZG9uZQorfQorCitkb19pbnN0YWxsX2NsYXNzLW5hdGl2ZSgpIHsKKyAgICBvZV9ydW5tYWtlIERFU1RESVI9JHtEfSBCSU5ESVI9JHtEfSR7YmluZGlyfSBpbnN0YWxsCit9CisKK0ZJTEVTXyR7UE59ID0gIiR7YmluZGlyfS93c2RsMmggJHtiaW5kaXJ9L3NvYXBjcHAyIgorRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0iCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9IgorRklMRVNfJHtQTn0tZGV2ID0gIiR7aW5jbHVkZWRpcn0iCitSUkVDT01NRU5EU18ke1BOfS1kZXYgPSAiJHtQTn0tc3RhdGljZGV2IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGR0ZW1wL2hkZHRlbXAvaGRkdGVtcC0wLjMtYmV0YTE1LWF1dG9kZXRlY3QtNzE3NDc5LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGR0ZW1wL2hkZHRlbXAvaGRkdGVtcC0wLjMtYmV0YTE1LWF1dG9kZXRlY3QtNzE3NDc5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5ZjgzODAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZHRlbXAvaGRkdGVtcC9oZGR0ZW1wLTAuMy1iZXRhMTUtYXV0b2RldGVjdC03MTc0NzkucGF0Y2gKQEAgLTAsMCArMSw5MCBAQAorQXV0by1kZXRlY3QgZGlza3MgaWYgbm9uZSBzcGVjaWZpZWQKKworUmVmZXIgdG86CitodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTcxNzQ3OQorCitkaWZmIC11cCBoZGR0ZW1wLTAuMy1iZXRhMTUvZG9jL2hkZHRlbXAuOH4gaGRkdGVtcC0wLjMtYmV0YTE1L2RvYy9oZGR0ZW1wLjgKKy0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUvZG9jL2hkZHRlbXAuOH4JMjAxMS0wOC0xOCAwMDozNjowNS42ODkwMDE0NzAgKzAzMDAKKysrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvZG9jL2hkZHRlbXAuOAkyMDExLTA4LTE4IDAwOjQ0OjQ2Ljc1MzAwNjI1MyArMDMwMAorQEAgLTE5LDcgKzE5LDcgQEAKKyBoZGR0ZW1wIFwtIFV0aWxpdHkgdG8gbW9uaXRvciBoYXJkIGRyaXZlIHRlbXBlcmF0dXJlCisgLlNIIFNZTk9QU0lTCisgLkIgaGRkdGVtcAorLS5SSSBbIG9wdGlvbnMgXSAiIFt0eXBlOl1kaXNrIiAuLi4KKysuUkkgWyBvcHRpb25zIF0gIiBbW3R5cGU6XWRpc2tdIiAuLi4KKyAuU0ggIkRFU0NSSVBUSU9OIgorIC5QUAorIC5CIGhkZHRlbXAgCitAQCAtMzUsNyArMzUsOCBAQCBZb3UgY2FuIHNwZWNpZnkgb25lIG9yIG1vcmUgZGV2aWNlIGRyaXZlCisgd2l0aCBhCisgLkIgdHlwZQorIGxpa2UgUEFUQSwgU0FUQSBvciBTQ1NJIHRvIGZvcmNlIGhkZHRlbXAgdG9vIHVzZSBvbmUgb2YgdGhlc2UgdHlwZQorLShiZWNhdXNlIGRldGVjdGlvbiBjYW4gZmFpbCkuCisrKGJlY2F1c2UgZGV0ZWN0aW9uIGNhbiBmYWlsKS4gSWYgbm8gcGF0aHMgYXJlIHNwZWNpZmllZCwgYXV0b2RldGVjdGlvbiBvZgorK2luc3RhbGxlZCBkcml2ZXMgaXMgYXR0ZW1wdGVkLgorIAorIAorIC5TSCAiT1BUSU9OUyIKK2RpZmYgLXVwIGhkZHRlbXAtMC4zLWJldGExNS9zcmMvaGRkdGVtcC5jfiBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL2hkZHRlbXAuYworLS0tIGhkZHRlbXAtMC4zLWJldGExNS9zcmMvaGRkdGVtcC5jfgkyMDExLTA4LTE4IDAwOjM2OjA1LjYzODk5Njg2MSArMDMwMAorKysrIGhkZHRlbXAtMC4zLWJldGExNS9zcmMvaGRkdGVtcC5jCTIwMTEtMDgtMTggMDA6MzU6NTUuNDg1MDYwNzk4ICswMzAwCitAQCAtNTQsNiArNTQsNyBAQAorICNpbmNsdWRlIDxsaW51eC9oZHJlZy5oPgorICNpbmNsdWRlIDxjdHlwZS5oPgorICNpbmNsdWRlIDxhc3NlcnQuaD4KKysjaW5jbHVkZSA8Z2xvYi5oPgorIAorIC8vIEFwcGxpY2F0aW9uIHNwZWNpZmljIGluY2x1ZGVzCisgI2luY2x1ZGUgImF0YS5oIgorQEAgLTI1NSw2ICsyNTYsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKSB7CisgICBpbnQgCQlyZXQgPSAwOworICAgaW50ICAgICAgICAgICBzaG93X2RiOworICAgc3RydWN0ICAgICAgICBkaXNrICogbGRpc2tzOworKyAgZ2xvYl90ICAgICAgICBkaXNrZ2xvYjsKKyAKKyAgIGJhY2t0cmFjZV9zaWdzZWd2KCk7CisgICBiYWNrdHJhY2Vfc2lnaWxsKCk7CitAQCAtNDE5LDExICs0MjEsNiBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKSB7CisgICAgICBleGl0KDApOworICAgfQorICAgCistICBpZihhcmdjIC0gb3B0aW5kIDw9IDApIHsKKy0gICAgZnByaW50ZihzdGRlcnIsIF8oIlRvbyBmZXcgYXJndW1lbnRzOiB5b3UgbXVzdCBzcGVjaWZ5IG9uZSBkcml2ZSwgYXQgbGVhc3QuXG4iKSk7CistICAgIGV4aXQoMSk7CistICB9CistCisgICBpZihkZWJ1ZykgeworICAgICAvKiAgICBhcmdjID0gb3B0aW5kICsgMTsqLworICAgICBxdWlldCA9IDE7CitAQCAtNDM0LDYgKzQzMSwyMyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKSB7CisgICAgIGV4aXQoMSk7CisgICB9CisgCisrICBtZW1zZXQoJmRpc2tnbG9iLCAwLCBzaXplb2YoZ2xvYl90KSk7CisrICBpZihhcmdjIC0gb3B0aW5kIDw9IDApIHsKKysgICAgaWYoZ2xvYigiL2Rldi9baHNdZFthLXpdIiwgMCwgTlVMTCwgJmRpc2tnbG9iKSA9PSAwKSB7CisrICAgICAgYXJnYyA9IGRpc2tnbG9iLmdsX3BhdGhjOworKyAgICAgIGFyZ3YgPSBkaXNrZ2xvYi5nbF9wYXRodjsKKysgICAgICBvcHRpbmQgPSAwOworKyAgICB9IGVsc2UgeworKyAgICAgIGFyZ2MgPSAwOworKyAgICB9CisrICB9CisrCisrICBpZihhcmdjIC0gb3B0aW5kIDw9IDApIHsKKysgICAgZ2xvYmZyZWUoJmRpc2tnbG9iKTsKKysgICAgZnByaW50ZihzdGRlcnIsIF8oIlRvbyBmZXcgYXJndW1lbnRzOiB5b3UgbXVzdCBzcGVjaWZ5IG9uZSBkcml2ZSwgYXQgbGVhc3QuXG4iKSk7CisrICAgIGV4aXQoMSk7CisrICB9CisrCisgICBpbml0X2J1c190eXBlcygpOworIAorICAgLyogY29sbGVjdCBkaXNrcyBpbmZvcm1hdGlvbnMgKi8KK0BAIC01MjcsNiArNTQxLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkgeworICAgZWxzZSB7CisgICAgIGRvX2RpcmVjdF9tb2RlKGxkaXNrcyk7CisgICB9CisrICBnbG9iZnJlZSgmZGlza2dsb2IpOworIAorICAgcmV0dXJuIHJldDsKKyB9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZHRlbXAvaGRkdGVtcC9oZGR0ZW1wLW5vLW5scy1zdXBwb3J0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGR0ZW1wL2hkZHRlbXAvaGRkdGVtcC1uby1ubHMtc3VwcG9ydC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZjZiOWMzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGR0ZW1wL2hkZHRlbXAvaGRkdGVtcC1uby1ubHMtc3VwcG9ydC5wYXRjaApAQCAtMCwwICsxLDY2IEBACitkaWZmIC1ydSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9jb25maWd1cmUuaW4gaGRkdGVtcC0wLjMtYmV0YTE1L2NvbmZpZ3VyZS5pbgorLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL2NvbmZpZ3VyZS5pbgkyMDA1LTEwLTE3IDIwOjE0OjE5LjAwMDAwMDAwMCArMDEwMAorKysrIGhkZHRlbXAtMC4zLWJldGExNS9jb25maWd1cmUuaW4JMjAwOC0wNi0yNyAwMDowMDo0Ni4wMDAwMDAwMDAgKzAxMDAKK0BAIC0xNyw2ICsxNyw3IEBACisgIyBhcHBlbmQgdGhlIGhvc3QgYWxpYXMgdG8gdGhlIHRvb2xzIGZvciBjcm9zcyBjb21waWxpbmcKKyBBQ19IRUFERVJfU1REQworIEFDX0NIRUNLX0hFQURFUlMoZmNudGwuaCkKKytBQ19DSEVDS19IRUFERVJTKGljb252LmgpCisgQUNfQ0hFQ0tfSEVBREVSUyhuZXRpbmV0L2luLmgpCisgQUNfQ0hFQ0tfVFlQRShpbl9hZGRyX3QsICxbQUNfREVGSU5FX1VOUVVPVEVEKFtpbl9hZGRyX3RdLCBbdWludDMyX3RdLCBbRGVmaW5lIHRvICd1aW50MzJfdCcgaWYgPG5ldGluZXQvaW4uaD4gZG9lcyBub3QgZGVmaW5lLl0pXSwgWyNpbmNsdWRlIDxuZXRpbmV0L2luLmg+XSkKKyAKK0BAIC0yOSw2ICszMCw4IEBACisgQU1fR05VX0dFVFRFWFQKKyAjQU1fR05VX0dFVFRFWFQoW2V4dGVybmFsXSkKKyAKKytBQ19DSEVDS19GVU5DUyhbYmluZHRleHRkb21haW4gdGV4dGRvbWFpbiBpY29udl0pCisrCisgZG5sIHJlYXNvbmFibGUgZ3Vlc3NlcyBmb3Igd2hlcmUgc3R1ZmYgaXMgaW5zdGFsbGVkCisgZG5sIGlmIHdlIGRvbid0IGRvIHRoYXQgbm93LCB0aGUgY29uZmlnLmggd2lsbCB1c2UgJHtwcmVmaXh9CisgZG5sIGZvciBERUZBVUxUX0RBVEFCQVNFX1BBVEguCitkaWZmIC1ydSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9zcmMvaGRkdGVtcC5jIGhkZHRlbXAtMC4zLWJldGExNS9zcmMvaGRkdGVtcC5jCistLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvc3JjL2hkZHRlbXAuYwkyMDA2LTA0LTE5IDAzOjM3OjM1LjAwMDAwMDAwMCArMDEwMAorKysrIGhkZHRlbXAtMC4zLWJldGExNS9zcmMvaGRkdGVtcC5jCTIwMDgtMDYtMjYgMjM6NTk6NDAuMDAwMDAwMDAwICswMTAwCitAQCAtMjc2LDggKzI3NiwxMiBAQAorICAgYmFja3RyYWNlX3NpZ2J1cygpOworIAorICAgc2V0bG9jYWxlIChMQ19BTEwsICIiKTsKKysjaWZkZWYgSEFWRV9CSU5EVEVYVERPTUFJTgorICAgYmluZHRleHRkb21haW4gKFBBQ0tBR0UsIExPQ0FMRURJUik7CisrI2VuZGlmCisrI2lmZGVmIEhBVkVfVEVYVERPTUFJTgorICAgdGV4dGRvbWFpbiAoUEFDS0FHRSk7CisrI2VuZGlmCisgICAKKyAgIHNob3dfZGIgPSBkZWJ1ZyA9IG51bWVyaWMgPSBxdWlldCA9IHdha2V1cCA9IGFmX2hpbnQgPSBzeXNsb2dfaW50ZXJ2YWwgPSAwOworICAgdW5pdCA9IERFRkFVTFQ7CitkaWZmIC1ydSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9zcmMvdXRmOC5jIGhkZHRlbXAtMC4zLWJldGExNS9zcmMvdXRmOC5jCistLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvc3JjL3V0ZjguYwkyMDA2LTA0LTE5IDAzOjM3OjAyLjAwMDAwMDAwMCArMDEwMAorKysrIGhkZHRlbXAtMC4zLWJldGExNS9zcmMvdXRmOC5jCTIwMDgtMDYtMjcgMDA6MDI6MTUuMDAwMDAwMDAwICswMTAwCitAQCAtMjMsNyArMjMsOSBAQAorIAorIC8vIFN0YW5kYXJkIGluY2x1ZGVzCisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorKyNpZmRlZiBIQVZFX0lDT05WX0gKKyAjaW5jbHVkZSA8aWNvbnYuaD4KKysjZW5kaWYKKyAjaW5jbHVkZSA8bGFuZ2luZm8uaD4KKyAjaW5jbHVkZSA8bG9jYWxlLmg+CisgI2luY2x1ZGUgPHN0cmluZy5oPgorQEAgLTM0LDYgKzM2LDcgQEAKKyAKKyBzdGF0aWMgY2hhciAqaWNvbnZfZnJvbV91dGY4X3RvX2xvY2FsZShjb25zdCBjaGFyICpzdHJpbmcsIGNvbnN0IGNoYXIqIGZhbGxiYWNrX3N0cmluZykKKyB7CisrI2lmZGVmIEhBVkVfSUNPTlYKKyAgIGNvbnN0IHNpemVfdCBidWZmZXJfaW5jID0gODA7CS8vIEluY3JlbWVudCBidWZmZXIgc2l6ZSBpbiA4MCBieXRlcyBzdGVwCisgICBjb25zdCBjaGFyICpjaGFyc2V0OworICAgaWNvbnZfdCBjZDsKK0BAIC05Myw2ICs5Niw4IEBACisgICBpZiAoZGVzdF9idWZmZXIgIT0gTlVMTCkKKyAgICAgZnJlZShkZXN0X2J1ZmZlcik7ICAJCS8vIGZyZWUgYnVmZmVyCisgICBmcmVlKHNyY19idWZmZXIpOwkJCS8vIGZyZWUgc3RyaW5nCisrI2VuZGlmCisrCisgICByZXR1cm4gc3RyZHVwKGZhbGxiYWNrX3N0cmluZyk7IAkvLyBhbmQgcmV0dXJuIGZhbGxiYWNrIHN0cmluZworIH0KKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRkdGVtcC9oZGR0ZW1wL2hkZHRlbXAuZGIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZHRlbXAvaGRkdGVtcC9oZGR0ZW1wLmRiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiMGNiZDkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZHRlbXAvaGRkdGVtcC9oZGR0ZW1wLmRiCkBAIC0wLDAgKzEsNTMxIEBACisjCisjIEluc2VydCBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBmb3Igc3VwcG9ydCBvZiB0aGUgbW9kZWwgb3IgdGhlIHNlcmllIG9mIHlvdXIgaGFyZCBkcml2ZS4KKyMgSWYgeW91IGRvbid0IGtub3cgd2hhdCB0byBwdXQgaW4gdGhlIHNlY29uZCBmaWVsZCwgcHV0IHRoZSBudW1iZXIKKyMgdGhhdCBhcHBlYXJzIG1vc3Qgb2Z0ZW4gZm9yIHlvdXIgYnJhbmQgOm8pCisjIEEgdmFsdWUgb2YgemVybyBtZWVucyB0aGF0IHdlIGtub3cgdGhhdCB0aGUgZHJpdmUgZG9lc24ndCBoYXZlCisjIGEgdGVtcGVyYXR1cmUgc2Vuc29yICh5b3UgY2FuIHNldCB0aGUgdW5pdCB0byBDIG9yIEYpLgorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBUaGUgZm9sbG93aW5nIGxpc3Qgd2FzIGZvdW5kIGF0IChodHRwOi8vd3d3LmFsbWljby5jb20vZm9ydW1oYXJkZGlza3MucGhwKQorIyBJZiB5b3VyIGRyaXZlIGlzIGluIHRoZSBsaXN0IHNlbmQgbWUgYSBtYWlsLgorIworIyBNYW51ZmFjdHVyZXIJIE1vZGVsCSBTaXplCU5vdGVzCisjIEZVSklUU1UgRlVKSVRTVSBNUEYzMTAyQUggMTAuMEdCCisjIEZVSklUU1UgRlVKSVRTVSBNUEczMjA0QUggRSAyMC4wR0IKKyMgRlVKSVRTVSBGVUpJVFNVIE1QRzMzMDdBVCAzMC4wR0IKKyMgRlVKSVRTVSBGVUpJVFNVIE1QRzM0MDlBSCA0MC4wR0IKKyMgRlVKSVRTVSBGVUpJVFNVIE1QRzM0MDlBSCBFRiA0MC4wR0IKKyMgSElUQUNISSBISVRBQ0hJX0RLMjNDQS0xMCA5LjhHQgorIyBISVRBQ0hJIEhJVEFDSElfREsyM0NBLTE1IDE0LjdHQgorIyBTQU1TVU5HIFNBTVNVTkcgU1YzMDEySCAyOS40R0IKKyMgU0VBR0FURSBTVDMxMDIxMEEgMTAuMEdCCisjIFNFQUdBVEUgU1QzMTAyMTFBIDkuOEdCCisjIFNFQUdBVEUgU1QzMTAyMTVBIDEwLjBHQgorIyBTRUFHQVRFIFNUMzE1MzIwQSAxNC45R0IKKyMgU0VBR0FURSBTVDMyMDQxMEEgMTkuNkdCCisjIFNFQUdBVEUgU1QzMjA0MTNBIDE5LjZHQgorIyBTRUFHQVRFIFNUMzIwNDIwQSAxOS45R0IKKyMgU0VBR0FURSBTVDMzMDYxMEEgMjkuM0dCCisjIFNFQUdBVEUgU1QzMzA2MjBBIDI5LjNHQgorIyBTRUFHQVRFIFNUMzMwNjIxQSAyOS4zR0IKKyMgU0VBR0FURSBTVDMzMDYzMEEgMjkuOUdCCisjIFNFQUdBVEUgU1QzNDAwMTZBIDM5LjFHQgorIyBTRUFHQVRFIFNUMzQwODEwQUNFIDM5LjFHQgorIyBTRUFHQVRFIFNUMzgwMDIwQUNFIDc4LjJHQgorIyBXRVNURVJOIERJR0lUQUwgV0RDIEFDMjEwMjAwRCAxMC4wR0IKKyMgV0VTVEVSTiBESUdJVEFMIFdEQyBBQzI5MTAwRCA4LjlHQgorIyBXRVNURVJOIERJR0lUQUwgV0RDIEFDNDIwNDAwRCAxOS45R0IKKyMgV0VTVEVSTiBESUdJVEFMIFdEQyBXRDEwMkFBIDEwLjBHQgorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyMjIyMjIyMjIEV4Y2VsU3RvciBkcml2ZXMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgIkV4Y2VsU3RvciBUZWNobm9sb2d5IENUMjE1IgkgID8/PyA/ICJFeGNlbFN0b3IgQ1QyMTUiCisiRXhjZWxTdG9yIFRlY2hub2xvZ3kgSjMuMCIgMTk0IEMgIkV4Y2VsU3RvciBUZWNobm9sb2d5IDN4eSAoeHkgR0IpIgorIkV4Y2VsU3RvciBUZWNobm9sb2d5IEo2LjAiIDE5NCBDICJFeGNlbFN0b3IgVGVjaG5vbG9neSA2eHkgKHh5IEdCKSIKKyJFeGNlbFN0b3IgVGVjaG5vbG9neSBKNjgwIiAxOTQgQyAiRXhjZWxTdG9yIFRlY2hub2xvZ3kgSjY4MCAoODAgR0IpIgorIkV4Y2VsU3RvciBUZWNobm9sb2d5IEo4NjAiIDE5NCBDICJFeGNlbFN0b3IgVGVjaG5vbG9neSBKODYwICg2MCBHQikiCisiRXhjZWxTdG9yIFRlY2hub2xvZ3kgSjg4MCIgMTk0IEMgIkV4Y2VsU3RvciBUZWNobm9sb2d5IEo4ODAgKDgwIEdCKSIKKworCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMgRnVqaXRzdSBkcml2ZXMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyJGVUpJVFNVIE1ITTIxMDBBVCIJCTAgICAgQwkiRnVqaXRzdSBNSE0yMTAwQVQiCisKKyJGVUpJVFNVIE1ITjIxNTBBVCIJCTE5NCAgQwkiRnVqaXRzdSBNSE4yMTUwQVQiCisiRlVKSVRTVSBNSE4yMjAwQVQiCQkxOTQgIEMJIkZ1aml0c3UgTUhOMjIwMEFUIgorIkZVSklUU1UgTUhOMjMwMEFUIgkJMTk0ICBDCSJGdWppdHN1IE1ITjIzMDBBVCIKKworIkZVSklUU1UgTUhSMjAyMEFUIgkJMTk0ICBDCSJGdWppdHN1IE1IUjIwMjBBVCIKKyJGVUpJVFNVIE1IUjIwMzBBVCIJCTE5NCAgQwkiRnVqaXRzdSBNSFIyMDMwQVQiCisKKyJGVUpJVFNVIE1IUzIwMzBBVCIJCTE5NCAgQwkiRnVqaXRzdSBNSFMyMDMwQVQiCisiRlVKSVRTVSBNSFMyMDQwQVQiCQkxOTQgIEMJIkZ1aml0c3UgTUhTMjA0MEFUIgorIkZVSklUU1UgTUhTMjA2MEFUIgkJMTk0ICBDCSJGdWppdHN1IE1IUzIwNjBBVCAoQXBwbGUgUG93ZXJCb29rIEc0KSIKKworIkZVSklUU1UgTUhUMjAzMEFDIgkJMTk0ICBDCSJGdWppdHN1IE1vYmlsZSAzMEdCLCAyTUIsIDQyMDBSUE0gKGF1dG9tb3RpdmUpIgorCisiRlVKSVRTVSBNSFQyMDMwQVQiCQkxOTQgIEMJIkZ1aml0c3UgTUhUMjAzMEFUIgorIkZVSklUU1UgTUhUMjA0MEFIIgkJMTk0ICBDCSJGdWppdHN1IE1IVDIwNDBBSCIKKyJGVUpJVFNVIE1IVDIwNDBBVCIJCTE5NCAgQwkiRnVqaXRzdSBNSFQyMDQwQVQiCisiRlVKSVRTVSBNSFQyMDYwQUgiCQkxOTQgIEMJIkZ1aml0c3UgTUhUMjA2MEFIIgorIkZVSklUU1UgTUhUMjA2MEFUIgkJMTk0ICBDCSJGdWppdHN1IE1IVDIwNjBBVCIKKyJGVUpJVFNVIE1IVDIwODBBSCIJCTE5NCAgQwkiRnVqaXRzdSBNSFQyMDgwQUgiCisKKyJGVUpJVFNVIE1IVTIxMDBBVCIJCTE5NCAgQwkiRnVqaXRzdSBNSFUyMTAwQVQgMTAwR0IsIDhNQiAoNDIwMFJQTSkiCisKKyJGVUpJVFNVIE1IVjIxMDBBSCIJCTE5NCAgQwkiRlVKSVRTVSBNSFYyMTAwQUgiIAorIkZVSklUU1UgTUhWMjEwMEFUIgkJMTk0ICBDCSJGVUpJVFNVIE1IVjIxMDBBVCIgCisiRlVKSVRTVSBNSFYyMTAwQkgiCQkxOTQgIEMgICJGVUpJVFNVIE1IVjIxMDBCSCIgCisiRlVKSVRTVSBNSFYyMDYwQUgiCQkxOTQgIEMgICJGVUpJVFNVIE1IVjIwNjBBSCIKKyJGVUpJVFNVIE1IVjIwODBbQUJdSCIJCTE5NCAgQwkiRlVKSVRTVSBNSFYyMDgwQUgiCisKKyJGVUpJVFNVIE1QRjMyMDRBSCIJCTE5NCAgQwkiRnVqaXRzdSBNUEYzMjA0QUgiCisKKyJGVUpJVFNVIE1QRzMyMDRBVC4qIgkJMTk0ICBDCSJGdWppdHN1IE1QRzMyMDRBVCIKKyJGVUpJVFNVIE1QRzMzMDdBVCIJCTE5NCAgQwkiRnVqaXRzdSBNUEczMzA3QVQiCisiRlVKSVRTVSBNUEczNDA5QVQuKiIJCTE5NCAgQwkiRnVqaXRzdSBNUEczNDA5QVQgRSIKKyJGVUpJVFNVIE1QRzM0MDlBSC4qIgkJMTk0ICBDCSJGdWppdHN1IE1QRzM0MDlBSCBFIgorIkZVSklUU1UgTVBHMzIwNEFIIgkJMTk0ICBDCSJGdWppdHN1IE1QRzMyMDRBSCIKKyJGVUpJVFNVIE1QRzMxMDJBVCBFIgkJMTk0ICBDCSJGVUpJVFNVIE1QRzMxMDJBVCBFIgorCisKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyBIaXRhY2hpIGRyaXZlcworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIkhJVEFDSElfREsxM0ZBLTQwQiIJCQkxOTQgIEMJIkhpdGFjaGkgREsxM0ZBLTQwQiIKKyJISVRBQ0hJX0RLMjI4QS02NSIJCQkwICAgIEMJIkhpdGFjaGkgREsyMjhBLTY1IgorIkhJVEFDSElfREsyM0NBLSgxNXwyMHwzMHwzMEJ8NzUpIgkxOTQgIEMJIkhpdGFjaGkgREsyM0NBIHNlcmllcyIKKyJISVRBQ0hJX0RLMjNEQS1bMjM0XTAiCQkJMTk0ICBDCSJIaXRhY2hpIERLMjNEQSBzZXJpZXMiCisiSElUQUNISV9ESzIzRUEtWzIzNDZdMCIJCTE5NCAgQwkiSGl0YWNoaSBESzIzRUEgc2VyaWVzIgorIkhJVEFDSElfREsyM0VCLTQwIgkJCTE5NCAgQwkiSGl0YWNoaSBESzIzRUIgc2VyaWVzIgorIkhJVEFDSElfREsyM0ZBLVs0NjhdMCIJCQkxOTQgIEMJIkhpdGFjaGkgREsyM0ZBIHNlcmllcyIKKyJISVRBQ0hJX0RLMjNGQi1bNDZdMCIJCQkxOTQgIEMJIkhpdGFjaGkgREsyM0ZCIHNlcmllcyIKKworIkhEUzcyMjUxNlZMQVRbMjhdMCIJCTE5NCAgQwkiSGl0YWNoaSBEZXNrc3RhciA3SzI1MCAxNjBHQiAyLzhNQiBjYWNoZSIKKyJIRFM3MjI1MjVWTEFUODAiCQkxOTQgIEMJIkhpdGFjaGkgRGVza3N0YXIgN0syNTAgMjAwLzI1MEdCLCA3MjAwUlBNLCA4TUIsIFBhcmFsbGVsLUFUQSIKKyJIRFM3MjI1MTJWTEFUODAiCQkxOTQgIEMJIkhpdGFjaGkgRGVza3N0YXIgN0syNTAgODBHQiIKKyJIRFM3MjI1NDBWTEFUMjAiCQkxOTQgIEMJIkhpdGFjaGkgRGVza3N0YXIgN0syNTAsIDQwR0IsIDcyMDBSUE0sIDJNQiBjYWNoZSIKKyJIRFM3MjI1ODBWTEFUMjAiCQkxOTQgIEMJIkRlc2tzdGFyIDdLMjUwIDYwR0IiCisiSERTNzI0MDQwS0xTQTgwIgkJMTk0ICBDCSJIaXRhY2hpIERlc2tzdGFyIDdLMjUwIDQwMEdCLCA3MjAwUlBNLCA4TUIsIFNlcmlhbC1BVEEiCisiSERTNzI4MDgwUExBVDIwIgkJMTk0ICBDCSJIaXRhY2hpIERlc2tzdGFyIDdLODAgODBHQiIKKworIkhEUzcyMjUyNVZMU0E4MCIJCTE5NCAgQwkiSGl0YWNoaSBEZXNrc3RhciA3SzI1MCAyNTBHQiwgNzIwMFJQTSwgOE1CLCBTQVRBIgorIkhEUzcyMjUxNlZMU0E4MCIgICAgICAgICAgICAgICAxOTQgIEMgICJIaXRhY2hpIERlc2tzdGFyIDdLMjUwIDE2MEdCIDhNbyBjYWNoZSBTQVRBIgorIkhEUzcyMjU4MFZMU0E4MCIJCTE5NCAgQwkiSGl0YWNoaSBEZXNrc3RhciA3SzI1MCA4MEdCIFNBVEEiCisiSERTNzI4MDQwUExBVDIwIgkJMTk0ICBDCSJIaXRhY2hpIERlc2tzdGFyIDdLODAgNDBHQiIKKworIkhEUzcyNDA0MEtMQVQ4MCIgICAgICAgICAgICAgICAxOTQgIEMgICJIaXRhY2hpIERlc2tzdGFyIDdLNDAwICA0MDBHQiA4TW8gY2FjaGUgUEFUQSIKKworIkhEVDcyMjUoMTZ8MjUpRExBVDgwIgkJMTk0ICBDCSJIaXRhY2hpIERlc2tzdGFyIFQ3SzI1MCBzZXJpZXMsIDcyMDBSUE0sIDhNQiwgUEFUQSIKKyJIRFQ3MjI1MTZETEEzODAgVjQzTyIJCTE5NCAgQwkiSGl0YWNoaSBUN0syNTAgU0FUQSIKKyJIRFQ3MjI1MjVETEEzODAiICAgICAgICAgICAgICAgMTk0ICBDICAiSGl0YWNoaSBEZXNrc3RhciBUN0syNTAgMjUwR0IgOE1vIGNhY2hlIFNBVEFJSSIKKyJIRFQ3MjUwNTBWTEEzNjAiICAgICAgICAgICAgICAgMTk0ICBDICAiSGl0YWNoaSBEZXNrc3RhciBUN0s1MDAgNTAwR0IsIDcyMDBSUE0sIDE2TUIsIFNBVEEgSUkiCisKKyJIVEU3MjEwMTBHOUFUMDAiCQkxOTQgIEMJIkhpdGFjaGkgVHJhdmVsc3RhciAxMDBHQiAoNzIwMFJQTSkiCisiSFRFNzI2MDYwTTlBVDAwIgkJMTk0ICBDCSJIaXRhY2hpIFRyYXZlbHN0YXIgNjBHQiAoNzIwMFJQTSkiCisiSFRTNDI0MDMwTTlBVDAwIgkJMTk0ICBDCSJIaXRhY2hpIFRyYXZlbHN0YXIgMzBHQiAoNDIwMFJQTSkiCisiSFRTNDI0MDQwTTlBVDAwIgkJMTk0ICBDCSJIaXRhY2hpIFRyYXZlbHN0YXIgNEs0MCA0MEdCIDJNQiBjYWNoZSAoNDIwMFJQTSkiCisiSFRTNTQxMDEwRzlTQTAwIgkJMTk0ICBDICAiSGl0YWNoaSBUcmF2ZWxzdGFyIDEwMEdCIFNBVEEiCisiSFRTNTQxMDQwRzlBVDAwIgkJMTk0ICBDCSJIaXRhY2hpIFRyYXZlbHN0YXIgNDBHQiAoNTQwMFJQTSkiCisiSFRTNTQxMDgwRzlBVDAwIgkJMTk0ICBDCSJIaXRhY2hpIFRyYXZlbHN0YXIgODBHQiAoNTQwMFJQTSkiCisiSFRTNTQ4MDIwTTlBVDAwIgkJMTk0ICBDCSJIaXRhY2hpIFRyYXZlbHN0YXIgMjBHQiAoNTQwMFJQTSkiCisiSFRTNTQ4MDMwTTlBVDAwIgkJMTk0ICBDCSJIaXRhY2hpIFRyYXZlbHN0YXIgMzBHQiAoNTQwMFJQTSkiCisiSFRTNTQ4MDQwTTlBVDAwIgkJMTk0ICBDCSJIaXRhY2hpIFRyYXZlbHN0YXIgNDBHQiAoNTQwMFJQTSkiCisiSFRTNTQ4MDYwTTlBVDAwIgkJMTk0ICBDCSJIaXRhY2hpIFRyYXZlbHN0YXIgNjBHQiAoNTQwMFJQTSkiCisiSFRTNTQ4MDgwTTlBVDAwIgkJMTk0ICBDCSJIaXRhY2hpIFRyYXZlbHN0YXIgODBHQiAoNTQwMFJQTSkiCisiSFRTNzIxMDgwRzlBVDAwIgkJMTk0ICBDCSJIaXRhY2hpIFRyYXZlbHN0YXIgN0sxMDAgODBHQiAoNzIwMFJQTSkiCisiSFRTNzI2MDYwTTlBVDAwIgkJMTk0ICBDCSJIaXRhY2hpIFRyYXZlbHN0YXIgNjBHQiIKKworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyMjIyMjIyMjIElCTSBkcml2ZXMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworIyBESlNBIHNlcmllIGlzIHVzaW5nIEYwaCBjb21tYW5kIHRvIHJlcG9ydCB0ZW1wZXJhdHVyZSBhbmQgYWxzbyBoYXZlCisjIFNNQVJUIGNhcGFiaWx0aWVzIGJ1dCBpdCB3YXMgcmVwb3J0ZWQgbm90IHRvIHdvcmsuCisjICJESlNBLTIoMzB8MzJ8MTB8MjB8MDUpIgkwICAgIEMJIklCTSBUcmF2ZWxzdGFyIDIwR04sIDMyR0gsIDMwR1Qgc2VyaWVzIgorCisiSUJNLURBUkEtMjEyMDAwIgkJMCAgICBDCSJJQk0gVHJhdmVsc3RhciAxMkdOIgorIklCTS1EVFRBLTM1KiIJCQkwICAgIEMJIklCTSBEZXNrc3RhciAxNkdQIHNlcmllIgorCisjIGFjY29yZGluZyB0byBzcGVjaWZpY2F0aW9ucyB0aGV5IGRvIG5vdCBzZWVtcyB0byBoYXZlIHNlbnNvcgorIyBidXQgSSBwcmVmZXIgd2FpdGluZyBmb3IgYSByZXBvcnQKKyMiSUJNLURUVEEtMzcqIgkJCTAgICAgQwkiSUJNIERlc2tzdGFyIDE0R1hQIHNlcmllIgorCisiSUJNLURKTkEtMzUuKiIJCQkyMzEgIEMJIklCTSBEZXNrc3RhciAyNSBHUCBzZXJpZSIKKyJJQk0tREpOQS0zNy4qIgkJCTIzMSAgQwkiSUJNIERlc2tzdGFyIDIyIEdYUCBzZXJpZSIKKyJJQk0tREhFQS0oMzQzMzB8MzY0ODApIgkwICAgIEMJIklCTSBEZXNrc3RhciA1IHNlcmllIgorIklCTS1ESEVBLSgzNDMzMXwzNjQ4MXwzODQ1MSkiCTAgICAgQwkiSUJNIERlc2tzdGFyIDggc2VyaWUiCisiSUJNLURQVEEtMzcuKiIJCQkyMzEgIEMJIklCTSBEZXNrc3RhciAzNEdYUCBzZXJpZSIKKyJJQk0tRFBUQS0zNS4qIgkJCTIzMSAgQwkiSUJNIERlc2tzdGFyIDM3R1Agc2VyaWUiCisiSUJNLURUTEEtMzBbNTddMFsxMjM0NjddWzA1XSIJMTk0ICBDCSJJQk0gRGVza3N0YXIgNDBHViAmIDc1R1hQIHNlcmllcyIKKyJJQzI1TjBbMTIzNF0wQVRDUzA0LTAiCQkxOTQgIEMJIklCTSBUcmF2ZWxzdGFyIDQwR04gc2VyaWUiCisiSUMyNU4wWzI0XTBBVENbU1hdMDUtMCIJMTk0ICBDCSJJQk0gVHJhdmVsc3RhciA0MEdOWCBzZXJpZSIKKyJJQzI1TjAoMTB8MTV8MjB8MzApQVREQTA0LTAiCTE5NCAgQwkiSUJNIFRyYXZlbHN0YXIgMzBHTiBzZXJpZSIKKyJJQzI1TjBbMjM0NjhdMEFUTVIwNCoiCQkxOTQgIEMJIkhpdGFjaGkgVHJhdmVsc3RhciA4MEdOIgorIklDMjVUMDQ4QVREQTA1LTAiCQkxOTQgIEMJIklCTSBUcmF2ZWxzdGFyIDQ4R0ggc2VyaWUiCisiSUMyNVQwNjBBVENbU1hdMDUtMCIJCTE5NCAgQwkiSUJNIFRyYXZlbHN0YXIgNjBHSCBzZXJpZSIKKyJJQzM1TDBbMTIzNDZdMEFWRVIwNyIJCTE5NCAgQwkiSUJNIERlc2tzdGFyIDYwR1hQIHNlcmllIgorIklDMzVMWzAxXVswMjQ2OF0wQVZWW0FOXTA3KiIJMTk0ICBDCSJJQk0gRGVza3N0YXIgMTIwR1hQIHNlcmllIiAgCisiSUMzNUxbMDFdWzIzNjg5XTBBVlYyMDcqIgkxOTQgIEMJIklCTSBEZXNrc3RhciAxODBHWFAgc2VyaWUiCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMgTWF4dG9yIGRyaXZlcworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyJNYXh0b3IgMkIwWzAxMl1bMDQ1NjhdSDEiCQkJCT8/PyAgQwkiTWF4dG9yIEZpcmViYWxsIDU0MURYIgorIk1heHRvciAyRjBbMjM0XTBbTEpdMCIJCQkJCTE5NCAgQwkiTWF4dG9yIEZpcmViYWxsIDMiIAorIyB3aGljaCBvbmUgbXVzdCBJIHRydXN0ID8KKyMiTWF4dG9yIDREMDQwSDIiCQkJCQk5ICAgIEMJIk1heHRvciBEaWFtb25kTWF4IEQ1NDBYLTREIgorIyJNYXh0b3IgNEQwNDBIMiIJCQkJCTAgICAgQwkiTWF4dG9yIDREMDQwSDIiCisjIk1heHRvciA0RDA4MEg0IgkJCQkJMTIgICBDCSJNYXh0b3IgRGlhbW9uZE1heCBENTQwWC00RCIKKyMiTWF4dG9yIDREMDYwSDMiCQkJCQkxMiAgIEMJIk1heHRvciBEaWFtb25kTWF4IEQ1NDBYLTREIgorIyJNYXh0b3IgNEQwODBINCIJCQkJCTkgICAgQwkiTWF4dG9yIERpYW1vbmRNYXggRDU0MFgtNEQiCisiTUFYVE9SIDRLMFs0NjhdMEhbMjM0XSIJCQkJMTk0ICBDCSJNYXh0b3IgRGlhbW9uZE1heCBENTQwWCBzZXJpZSIKKyJNQVhUT1IgNEswMjBIMSIJCQkJCTE5NCAgQwkiTWF4dG9yIDRLMDIwSDEiCisiTWF4dG9yIDRBMzAwSjAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgQyAgIk1heHRvciBNYXhMaW5lIElJIDMwMEdCIDU0MDBSUE0iCisiTWF4dG9yIDRbUkFdKDI1fDE2fDEyfDA4fDA2KTBbTEpdMCIJCQkxOTQgIEMJIk1heHRvciBEaWFtb25kTWF4IDE2IgorIk1heHRvciA1KDEwMjR8MTM2OXwyMDQ5fDI3MzJ8MzA3M3w0MDk4KVUoMnwzfDR8Nnw4KSIJMCAgICBDCSJNYXh0b3IgRGlhbW9uZE1heCBQbHVzIDQwIgorIk1heHRvciA1QTI1MEowIgkJCQkJMTk0ICBDCSJNYXh0b3IgTWFYbGluZSBJSSAyNTBHQiA1NDAwUlBNIgorIk1heHRvciA1QTMwMEowIgkJCQkJMTk0ICBDCSJNYXh0b3IgNUEzMDBKMCIKKyJNYXh0b3IgNVQwWzI0XTBIWzI0XSIJCQkJCTAgICAgQwkiTWF4dG9yIERpYW1vbmRNYXggUGx1cyA2MCIKKyJNYXh0b3IgNkUwWzIzNF0wTDAiCQkJCQkxOTQgIEMJIk1heHRvciBEaWFtb25kTWF4IFBsdXMgOCIKKyJNQVhUT1IgNkwwWzI0NjhdMFtMSl1bMTIzNF0iCQkJCTE5NCAgQwkiTWF4dG9yIERpYW1vbmRNYXggUGx1cyBENzQwWCBmYW1pbHkiCisiTWF4dG9yIDZWMzIwRjAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZCBNYXggMTAgU0FUQSBJSSAzMjAgR0IiCisiTWF4dG9yIDZZKDA2fDA4fDEyfDE2fDIwfDI1KTBbTFBNXTAiCQkJMTk0ICBDCSJNYXh0b3IgRGlhbW9uZE1heCBQbHVzIDkiIAorIk1heHRvciA3TDMwMFtSU10wIgkJCQkJMTk0ICBDICAiTWF4dG9yIDdMMzAwUjAgTWF4TGluZStJSUkgMzAwR0IgNzIwMHJwbSIKKyJNYXh0b3IgN1kyNTBbUE1dMCIJCQkJCTE5NCAgQwkiTWF4dG9yIE1hWExpbmUgUGx1cyBJSSAyNTBHQiA3MjAwUlBNIgorIk1heHRvciA5NDA5OFU4IgkJCQkJMTEgICBDCSJNYXh0b3IgRGlhbW9uZE1heCA0MCA5NDA5OFU4IgorCisjIk1heHRvciA2KEJ8TCkoMDh8MTJ8MTZ8MjB8MjV8MzApMFtSU1BNXTAiCQkxOTQgIEMJIk1heHRvciBEaWFtb25kTWF4IFBsdXMgMTAiCisiTWF4dG9yIDZCMDgwTTAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCA4MEdCIDhNQiBTQVRBIgorIk1heHRvciA2QjEyME0wIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgMTIwR0IgOE1CIFNBVEEiCisiTWF4dG9yIDZCMTYwTTAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCAxNjBHQiA4TUIgU0FUQSIKKyJNYXh0b3IgNkIxNjBQMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDE2MEdCIDhNQiBBVEEvMTMzIgorIk1heHRvciA2QjIwME0wIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgMjAwR0IgOE1CIFNBVEEiCisiTWF4dG9yIDZCMjAwUDAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCAyMDBHQiA4TUIgQVRBLzEzMyIKKyJNYXh0b3IgNkIyNTBSMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDI1MEdCIDE2TUIgQVRBLzEzMyIKKyJNYXh0b3IgNkIyNTBTMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDI1MEdCIDE2TUIgU0FUQSIKKyJNYXh0b3IgNkIzMDBSMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDMwMEdCIDE2TUIgQVRBLzEzMyIKKyJNYXh0b3IgNkIzMDBTMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDMwMEdCIDE2TUIgU0FUQSIKKyJNYXh0b3IgNkwwODBMMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDgwR0IgMk1CIEFUQS8xMzMgUm9IUyIKKyJNYXh0b3IgNkwwODBNMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDgwR0IgOE1CIFNBVEEgUm9IUyIKKyJNYXh0b3IgNkwwODBQMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDgwR0IgOE1CIEFUQS8xMzMgUm9IUyIKKyJNYXh0b3IgNkwxMjBNMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDEyMEdCIDhNQiBTQVRBIFJvSFMiCisiTWF4dG9yIDZMMTIwUDAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCAxMjBHQiA4TUIgQVRBLzEzMyBSb0hTIgorIk1heHRvciA2TDE2ME0wIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgMTYwR0IgOE1CIFNBVEEgUm9IUyIKKyJNYXh0b3IgNkwxNjBQMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDE2MEdCIDhNQiBBVEEvMTMzIFJvSFMiCisiTWF4dG9yIDZMMjAwTTAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCAyMDBHQiA4TUIgU0FUQSBSb0hTIgorIk1heHRvciA2TDIwMFAwIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgMjAwR0IgOE1CIEFUQS8xMzMgUm9IUyIKKyJNYXh0b3IgNkwyNTBSMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDI1MEdCIDE2TUIgQVRBLzEzMyBSb0hTIgorIk1heHRvciA2TDI1MFMwIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgMjUwR0IgMTZNQiBTQVRBIFJvSFMiCisiTWF4dG9yIDZMMzAwUjAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCAzMDBHQiAxNk1CIEFUQS8xMzMgUm9IUyIKKyJNYXh0b3IgNkwzMDBTMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDMwMEdCIDE2TUIgU0FUQSBSb0hTIgorIk1heHRvciA2VjA4MEUwIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgODBHQiA4TUIgU0FUQUlJIFJvSFMiCisiTWF4dG9yIDZWMTYwRTAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCAxNjBHQiA4TUIgU0FUQUlJIFJvSFMiCisiTWF4dG9yIDZWMjAwRTAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCAyMDBHQiA4TUIgU0FUQUlJIFJvSFMiCisiTWF4dG9yIDZWMjUwRjAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCAyNTBHQiAxNk1CIFNBVEFJSSBSb0hTIgorIk1heHRvciA2VjMwMEYwIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgMzAwR0IgMTZNQiBTQVRBSUkgUm9IUyIKKworCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMgUXVhbnR1bSBkcml2ZXMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyJRVUFOVFVNIEZJUkVCQUxMUCBBUzQwLjAiCQkwICBDICAiUXVhbnR1bSBGaXJlYmFsbCBBUzQwIgorIlFVQU5UVU0gRklSRUJBTEwgQ1gxMC4yQSIJCTAgIEMgICJRdWFudHVtIEZpcmViYWxsIENYMTAuMkEiCisjIlFVQU5UVU0gRklSRUJBTExsY3QxMCAyMCIJCTQgIEMgICJRdWFudHVtIEZpcmViYWxsIENUMTAgMjBHQiIKKyMgSSBzdXNwZWN0IHRoZSBRVUFOVFVNIEZJUkVCQUxMX1RNMjExMEEgdG8gaGF2ZSBhIHNlbnNvciBpbiBmaWVsZCA5Li4uCisjICJRVUFOVFVNIEZJUkVCQUxMX1RNMjExMEEiCQk5ICBDICAiUXVhbnR1bSBGaXJlYmFsbCBUTTIxMTBBIgorCisKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyBTYW1zdW5nIGRyaXZlcworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBzb21lbm9uZSByZXBvcnRlZCBhIHByb2JsZW0gd2l0aCB0aGUgU1A4MDA0SCB3aGljaCByZXBvcnRzIGEgdGVtcGVyYXR1cmUKKyMgMTCwQyBiZWxvdyB0aGUgYW1iaWVudCB0ZW1wZXJhdHVyZQorIlNBTVNVTkcgSEEoMjAwfDI1MClKQyIJCQkJCTE5NCAgQwkiU2Ftc3VuZyBTcGluUG9pbnQgVjEyMENFIHNlcmllcyIKKyJTQU1TVU5HIEhEMTYwSkoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICBDICAiU2Ftc3VuZyAxNjBHQiwgNzIwMFJQTSwgOE1CIGNhY2hlLCBTQVRBIiAKKyJTQU1TVU5HIEhEMTYwSkovUCIJCQkJCTE5NCAgQwkiU2Ftc3VuZyBTcGluUG9pbnQgUDgwIFNEIDE2MEdCICg3MjAwUlBNLCA4TUIgY2FjaGUpIgorIlNBTVNVTkcgSERbMzB8MzJ8NDBdWzAxXUxbREpdIiAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgIEMgICJTYW1zdW5nIFNwaW5Qb2ludCBUMTMzIHNlcmllcyAoMzAwLTQwME1CKSIKKyJTQU1TVU5HIEhEMjUwS0QiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICBDICAiU2Ftc3VuZyBTcGluUG9pbnQgVDEzMyBzZXJpZXMgKDI1MCBNQiBQQVRBKSIKKyJTQU1TVU5HIEhEMzIxS0oiCQkJCQkxOTQgIEMgICJTYW1zdW5nIFNwaW5wb2ludCBUMTY2ICg3MjAwUlBNLCAxNk1CIGNhY2hlKSAtIFNBVEEiCisiU0FNU1VORyBIRDUwMUxKIgkJCQkJMTk0ICBDICAiU2Ftc3VuZyBIRDUwMUxKIgorIlNBTVNVTkcgTVAwKDMwMnw0MDJ8NjAzfDgwNClIIgkJCQkxOTQgIEMJIlNhbXN1bmcgU3BpblBvaW50IE00MCAyLjVpbmNoIgorIlNBTVNVTkcgU1cwNDM0QSIJCQkJCTAgICAgQwkiU2Ftc3VuZyBTVzA0MzRBIgorIlNBTVNVTkcgU1AoMjAwMXw0MDAyfDYwMDN8ODAwNHw0MEEyKUgiCQkJMTk0ICBDCSJTYW1zdW5nIFNwaW5Qb2ludCBQNDAgc2VyaWUiCisiU0FNU1VORyBTUCgwNjEyfDA4MDJ8MTIwM3wxNjA0fDA4MTJ8MTIxM3wxNjE0KU4iCTE5NCAgQwkiU2Ftc3VuZyBTcGluUG9pbnQgUDgwIHNlcmllIgorIlNBTVNVTkcgU1AoMDYxMnwwODAyfDEyMDN8MTYwNHwwODEyfDEyMTN8MTYxNClDIgkxOTQgIEMJIlNhbXN1bmcgU3BpblBvaW50IFA4MCBzZXJpZXMgLSBTQVRBIgorIlNBTVNVTkcgU1AwNDExTiIJCQkJCTE5NCAgQwkiU2Ftc3VuZyBTcGluUG9pbnQgUEw0MCBzZXJpZSIKKyJTQU1TVU5HIFNQMDgyMk4iCQkJCQkxOTQgIEMJIlNhbXN1bmcgU1AwODIyTiIKKyJTQU1TVU5HIFNQKDA4MTJ8MTIxM3wxNjE0KUMiCQkJCTE5NCAgQwkiU2Ftc3VuZyBTcGlucG9pbnQgMTYwRyBTQVRBIgorIlNBTVNVTkcgU1AyWzA1XTE0TiIJCQkJCTE5NCAgQwkiU2Ftc3VuZyBTcGluUG9pbnQgUDEyMCBzZXJpZXMgKDcyMDBSUE0sIDhNQiBjYWNoZSkiCisiU0FNU1VORyBTUDJbMDVdMDRDIgkJCQkJMTk0ICBDCSJTYW1zdW5nIFNwaW5Qb2ludCBQMTIwIHNlcmllcyAtIFNBVEEiCisiU0FNU1VORyBTVjA0MzJBIgkJCQkJMCAgICBDCSJTYW1zdW5nIFNWMDQzMkEiCisiU0FNU1VORyBTVjMwMDJIIgkJCQkJMCAgICBDCSJTYW1zdW5nIFNwaW5Qb2ludCBWMzAgc2VyaWUiCisiU0FNU1VORyBTVigyMDAxfDQwMDJ8NDAxMnw2MDAzfDgwMDQpSCIJCQkxOTQgIEMJIlNhbXN1bmcgU3BpblBvaW50IFY0MCBzZXJpZSIKKyMiU0FNU1VORyBTVigwMjIxfDA2MDJ8MDgxM3wxMjA0KUgiCQkJOSAgICBDCSJTYW1zdW5nIFNwaW5Qb2ludCBWNjAgc2VyaWUiCisjIlNBTVNVTkcgU1YxMjA0SCIJCQkJCTE5NCAgQwkiU2Ftc3VuZyAxMjBHIgorIlNBTVNVTkcgU1YoMDQwMXwwODAyfDEyMDN8MTYwNClOIgkJCTE5NCAgQwkiU2Ftc3VuZyBTcGluUG9pbnQgVjgwIHNlcmllIgorIlNBTVNVTkcgU1Y0MDEySCIJCQkJCTE5NCAgQwkiU2Ftc3VuZyA0MEdCLCA1NDAwUlBNLCAyTUIgY2FjaGUiCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMgU2VhZ2F0ZSBkcml2ZXMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyJTZWFnYXRlIFRlY2hub2xvZ3kgMTI3NU1CIC0gU1QzMTI3NkEiCTAgICAgQwkiU2VhZ2F0ZSBTVDMxMjc2QSIKKyJTVDM0MTJBIgkJCQkwICAgIEMJIlNlYWdhdGUgU1QzNDEyQSIKKyJTVDM4NjQxQSIJCQkJMCAgICBDCSJTZWFnYXRlIFNUMzg2NDFBIgorIlNUMzEwMDE0QSIJCQkJMTk0ICBDCSJTZWFnYXRlIFNUMzEwMDE0QSIKKyJTVDMxMDIxMEEiCQkJCTAgICAgQwkiU2VhZ2F0ZSBTVDMxMDIxMEEiCisiU1QzMTAyMTFBIgkJCQkxOTQgIEMJIlNlYWdhdGUgU1QzMTAyMTFBIgorIlNUMzEwMjIwQSIJCQkJMCAgICBDCSJTZWFnYXRlIFNUMzEwMjIwQSIKKyMgU0VBR0FURSBTVDMxMzAyMUEgMTMuMEdCCisiU1QzMTMwMjFBIgkJCQkwICAgIEMJIlNlYWdhdGUgVTggU1QzMTMwMjFBIgorIlNUMzEwMjQwQSIJCQkJMCAgICBDCSJTZWFnYXRlIE1lZGFsaXN0IDEwMjQwIFVsdHJhIEFUQS0zIgorIlNUMzE1MzIwQSIJCQkJMTk0ICBDCSJTZWFnYXRlIFNUMzE1MzIwQSIKKyJTVDMyMDQyM0EiCQkJCTAgICAgQwkiU2VhZ2F0ZSBVMTAgMjA0MjMsIFVsdHJhIEFUQS82NiIKKyJTVDMyMDAxMUEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBTVDMyMDAxMUEiCisiU1QzMjAwMTRBIgkJCQkxOTQgIEMJIlNlYWdhdGUgU1QzMjAwMTRBICg1NDAwIHJwbSwgMjBHYikiCisiU1QzMjA0MTBBIgkJCQkxOTQgIEMJIlNlYWdhdGUgU1QzMjA0MTBBIgorIlNUMzIwNDEzQSIJCQkJMTk0ICBDCSJTZWFnYXRlIFNUMzIwNDEzQSIKKyJTVDMyMDQxNEEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBTVDMyMDQxNEEiCisiU1QzMjA0MjBBIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIElJIFNUMzIwNDIwQSIKKyJTVDMzMDAxM0EiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBTVDMzMDAxM0EgQmFycmFjdWRhIEFUQSBWIDMwR0IsIDcyMDAgcnBtIgorIlNUMzMwNjIwQSIJCQkJMTk0ICBDCSJTZWFnYXRlIFNUMzMwNjIwQSIKKyJTVDMzMDYyMUEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBTVDMzMDYyMUEiCisiU1QzMzA2MzBBIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIFNUMzMwNjMwQSIKKyJTVDM0MDAxNEEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC43IDQwR2IiCisiU1QzNDAwMTVBIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIDU0MDAuMSA0MEdCIiAKKyJTVDM0MDAxNkEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBTVDM0MDAxNkEiCisiU1QzNDA4MTBBIgkJCQkxOTQgIEMJIlNlYWdhdGUgVSBTZXJpZXMgNDA4MTAgKDQwR2IsIFVsdHJhIEFUQS8xMDAsIDU0MDAgcnBtKSIKKyJTVDM0MDgyM0EiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBVIFNlcmllcyA1IDQwODIzIgorIlNUMzQwODI0QSIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSBJSUkiCisiU1QzNjAwMTVBIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIFYgU1QzNjAwMTVBIgorIlNUMzYwMDIwQSIJCQkJMTk0ICBDCSJTZWFnYXRlIFUgU2VyaWVzIDYwMDIwIgorIlNUMzYwMDIxQSIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSBJViBTVDM2MDAyMUEiCisiU1QzODAwMTFBIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuNyA4MEdCIgorIlNUMzgwMDEyQSIJCQkJMTk0ICBDCSJTZWFnYXRlIFNUMzgwMDEyQSA4MEdCIgorIlNUMzgwMDEzQSIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjcgODBHQiIgCisiU1QzODAwMTNBUyIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjcgODBHQiAoU2VyaWFsIEFUQSkiCisiU1QzODAwMjBBIgkJCQkxOTQgIEMJIlNlYWdhdGUgVSBTZXJpZXMgODAwMjAgKDgwR2IsIFVsdHJhIEFUQS8xMDAsIDU0MDAgcnBtKSIKKyJTVDM4MDAyMUEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgSVYgU1QzODAwMjFBIgorIlNUMzgwMDIyQSIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSBVNyA4MDAyMiwgVWx0cmEgQVRBLzEwMCIKKyJTVDM4MDAyM0EiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgViBTVDM4MDAyM0EiCisiU1QzODA4MTdBUyIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjcgODBHQiAtIFNBVEEiCisiU1QzOTExMUEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBTVDM5MTExQSAoZnJvbSBTdW4gVWx0cmEpIgorIlNUMzEyMDAyMEEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBTVDMxMjAwMjBBIgorIlNUMzEyMDAyMkEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJhY2N1ZGEgNzIwMC43IDEyMEdCIgorIlNUMzEyMDAyM0EiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgViBTVDMxMjAwMjNBIgorIlNUMzEyMDAyNEEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgViBTVDMxMjAwMjRBIgorIlNUMzEyMDAyNUFDRSIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSBWIFNUMzEyMDAyNUFDRSIKKyJTVDMxMjAwMjZBIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIFYgU1QzMTIwMDI2QSIKKyJTVDMxNjAwMjFBIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuNyAtIFNUMzE2MDAyMUEiCisiU1QzMTYwMDIzKEF8QVMpIgkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgViBTVDMxNjAwMjNBIGFuZCBBUyAoMTYwR2IsIEFUQTEwMCBvciBTZXJpYWwgQVRBKSIKKyJTVDMxNjA4MVsxMl0oQXxBUykiCQkJMTk0ICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC45IDE2MEdCIiAKKyJTVDMxNjA4MjdBUyIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjcgMTYwR0IgKFNlcmlhbCBBVEEpIiAKKyJTVDMyMDAwMjFBIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuNyBQbHVzIDIwMEdCIgorIlNUMzIwMDgyMihBfEFTKSIJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuNyBQbHVzIDIwMEdCIChQQVRBIG9yIFNBVEEpIgorIlNUMzIwMDgyNkEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC44IDIwMEdCIgorIlNUMzI1MDYyM0EiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC4xNiAyNTBHQiIKKyJTVDMyNTA2MjRBUyIJCQkJMTk0ICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC45IDI1MEdCIFNBVEEiCisiU1QzMjUwNjI0TlMiCQkJCTE5NCAgQyAgIlNlYWdhdGUgTkwzNSBTQVRBIChSQUlELUVkaXRpb24pIDcyMDAgMjUwR0IiCisiU1QzMjUwODIzQSIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjggMjUwR0IiCisiU1QzMjUwODIzQSIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjcgUGx1cyAyNTBHQiIKKyJTVDMyNTA4MjNOUyIJCQkJMTk0ICBDCSJTZWFnYXRlIE5MMzUgU0FUQSAoUkFJRC1FZGl0aW9uKSA3MjAwIDI1MEdCIgorIlNUMzMwMDgzMUEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSAzMDBHQiBTVDMzMDA4MzFBIgorIlNUMzQwMDgzMkEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC44IFBsdXMgNDAwR0IiCisiU1QzNDAwNjMzKEF8QVMpIiAgICAgICAgICAgICAgICAgICAgICAgMTk0ICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC43IDQwMCBHQiIKKyJTVDM1MDA2MzBOUyIJCQkJMTk0ICBDICAiU2VhZ2F0ZSIKKyJTVDM0MDA2MzJOUyIJCQkJMTk0ICBDCSJTZWFnYXRlIgorIlNUMzgwWzI4XTExMChBfEFTKSIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjkgODAgR0IiCisiU1Q5MTAwMjFBIgkJCQkxOTQgIEMJIlNlYWdhdGUgTW9tZW50dXMgNzIwMC4xIDEwMEdCIiAKKyJTVDkxMDA4MlszNV1BIgkJCQkxOTQgIEMJIlNlYWdhdGUgTW9tZW50dXMgNTQwMC4yIDEwMEdCIgorIlNUOTEyMDgyMUEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBNb21lbnR1cyA1NDAwLjIgMTIwR0IiCisiU1Q5NDAxOUEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBTVDk0MDE5QSIKKyJTVDk0ODEzQSIJCQkJMTk0ICBDCSJTZWFnYXRlIE1vbWVudHVzIDU0MDAuMiA0MEdCIgorIlNUOTRbMDhdMTFBIgkJCQkxOTQgIEMJIlNlYWdhdGUgU1Q5NDAxMUEiCisiU1Q5NjA4MjFBIgkJCQkxOTQgIEMJIlNlYWdhdGUgU1Q5NjA4MjFBIgorIlNUOTYwODIyQSIJCQkJMTk0ICBDCSJTZWFnYXRlIE1vbWVudHVzIDU0MDAuMiA2MEdCIgorIlNUOTY4MTJBUyIJCQkJMTk0ICBDCSJTZWFnYXRlIE1vbWVudHVzIDU0MDAuMiA2MEdCIFNBVEEiCisiU1Q5ODA4MjExQSIJCQkJMTk0ICBDCSJTZWFnYXRlIE1vbWVudHVzIDU0MDAuMiA4MEdCIgorIlNUOTg4MjNBUyIJCQkJMTk0ICBDICAiU2VhZ2F0ZSBNb21lbnR1cyA1NDAwLjIgODBHQiBTQVRBIgorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyMjIyMjIyMjIFRPU0hJQkEgTGFwdG9wcworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIk1LNDMxM01BVCIJCQkJMjIwICBDCSJUb3NoaWJhIE1LNDMxM01BVCIKKyJUT1NISUJBIE1LMTAzMkdBWCIJCQkxOTQgIEMJIlRvc2hpYmEgTUsxMDMyR0FYIgorIlRPU0hJQkEgTUsxMDMyR1NYIgkJCTE5NCAgQyAgIlRvc2hpYmEgTUsxMDMyR1NYIgorIlRPU0hJQkEgTUsxNTE3R0FQIgkJCTAgICAgQwkiVG9zaGliYSBNSzE1MTdHQVAiCisiVE9TSElCQSBNSzIwMThHQVMiCQkJMjI2ICBGCSJUb3NoaWJhIE1LMjAxOEdBUyIKKyJUT1NISUJBIE1LMjAyM0dBUyIJCQkxOTQgIEMJIlRvc2hpYmEgTUsyMDIzR0FTIgorCisiVE9TSElCQSBNSzMwMTdHQVAiCQkJMCAgICBDCSJUb3NoaWJhIE1LMzAxN0dBUCIKKyJUT1NISUJBIE1LMzAyMUdBUyIJCQkxOTQgIEMJIlRvc2hpYmEgTUszMDIxR0FTIgorIlRPU0hJQkEgTUszMDI1R0FTIgkJCTE5NCAgQwkiVG9zaGliYSBNSzMwMjVHQVMiIAorCisjIlRPU0hJQkEgTUs0MDE5R0FYIgkJCTIyMiAgQwkiVG9zaGliYSBNSzQwMTlHQVgiCisiVE9TSElCQSBNSzQwMjFHQVMiCQkJMTk0ICBDCSJUb3NoaWJhIE1LNDAyMUdBUyIKKyJUT1NISUJBIE1LNDAyNUdBUyIJCQkxOTQgIEMJIlRvc2hpYmEgTUs0MDI1R0FTIDQwIEdvIgorIlRPU0hJQkEgTUs0MDI2R0FTIgkJCTE5NCAgQwkiVG9zaGliYSBNSzQwMjZHQVMgNDAgR28iCisiVE9TSElCQSBNSzQwMzJHQVgiCQkJMTk0ICBDCSJUb3NoaWJhIE1LNDAzMkdBWCIgCisKKyJUT1NISUJBIE1LNjAyMUdBUyIJCQkxOTQgIEMJIlRvc2hpYmEgTUs2MDIxR0FTIgorIlRPU0hJQkEgTUs2MDIyR0FYIgkJCTE5NCAgQwkiVG9zaGliYSBNSzYwMjJHQVgiCisiVE9TSElCQSBNSzYwMjVHQVMiCQkJMTk0ICBDCSJUb3NoaWJhIE1LNjAyNUdBUyIKKyJUT1NISUJBIE1LNjAyNkdBWCIJCQkxOTQgIEMJIlRvc2hpYmEgTUs2MDI2R0FYIiAKKyJUT1NISUJBIE1LODAyNUdBUyIJCQkxOTQgIEMJIlRvc2hpYmEgTUs4MDI1R0FTIgorIlRPU0hJQkEgTUs4MDI2R0FYIgkJCTE5NCAgQwkiVG9zaGliYSBNSzgwMjZHQVgiIAorIlRPU0hJQkEgTUs4MDMyR1NYIgkJCTE5NCAgQyAgIlRvc2hpYmEgTUs4MDMyR1NYIiAKKworIk1LNDAyNUdBUyIJCQkJMTk0ICBDCSJUb3NoaWJhIE1LNDAyNUdBUyIKKworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyMjIyMjIyMjIFdlc3Rlcm4gRGlnaXRhbCBkcml2ZXMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgV0RDIEFDMzEwMTAwQiBhbmQgV0RDIEFDMjg1MEYgYXJlIHJlcG9ydGVkIG5vdCB3b3JraW5nCisjIG5vIG1vcmUgaW5mb3JtYXRpb25zIHdlcmUgZ2l2ZW4KKyJXREMgQUMyMjAwMEwiCQkJCQkJCSAgMCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIEFDMjIwMDAiCisiV0RDIEFDNDIwNDAwRCIJCQkJCQkJMjMxIEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgQUM0MjA0MDBEIgorIldEQyBBQzQxODAwMEQiCQkJCQkJCTIzMSBDICJXZXN0ZXJuIERpZ2l0YWwgQUM0MTgwMDBEIgorIldEQyBXRDEzNUJBIgkJCQkJCQkyMzEgQyAiV2VzdGVybiBEaWdpdGFsIFdEMTM1QkEiCisKKyJXREMgV0QxMDBFQi0wMEJIRjAiCQkJCQkJICAwIEMgIldlc3Rlcm4gRGlnaXRhbCAxMDBFQi0wMEJIRjAiCisiV0RDIFdEMjAwQkItMDBBVUExIgkJCQkJCSAgMCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIFdEMjAwQkIiCisjIldEQyBXRDIwMEJCLTYwREdBMCIJCQkJCQkgIDAgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciBXRDIwMEJCIgorIldEQyBXRDMwMEJCLTAwQ0FBMCIJCQkJCQkgIDAgQyAiV2VzdGVybiBEaWdpdGFsIFdEMzAwQkIiCisiV0RDIFdEMzYwR0QtMDBGTkEwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgU0FUQSBSYXB0b3IgMzYuN0dCIgorIldEQyBXRDQwMEJCLTAwQ0FBMCIJCQkJCQkgIDAgQyAiV2VzdGVybiBEaWdpdGFsIDQwMEJCLTAwQ0FBMCIKKyJXREMgV0Q0MDBCQi0wMFtESl1bS0hdQTAiCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciBXRDQwMEJCIgorIldEQyBXRDQwMEJCLTIzSkhDMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIDIzSkhDMCIKKyMiV0RDIFdENDAwQkItMDBHRkEwIgkJCQkJCSAgMCBDICIiCisiV0RDIFdENDAwQkItNTVIRUEwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIFdENDAwQkIiCisiV0RDIFdENDAwQkItKDE4Q0F8MDBERSlBMCIJCQkJCSAgMCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIFdENDAwQkIiCisiV0RDIFdENDAwQkItNzVGSkExIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIFdENDAwQkIiCisiV0RDIFdENDAwRUItMDBDUEYwIgkJCQkJCSAgMCBDICJXZXN0ZXJuIERpZ2l0YWwgNDAwRUItMDBDUEYwIgorIldEQyBXRDQwMEpCLTAwKEpKfEZNfEZTKUEwIgkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgNDBHQiBTcGVjaWFsIEVkaXRpb24gOE1CIgorIldEQyBXRDQwMEpCLTAwRVRBMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIDQwMEpCLTAwRVRBMCIKKyJXREMgV0Q0MDBKQi0wMEpKQzAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCA0MDBKQi0wMEpKQzAgNDBHQiIKKyJXREMgV0Q0MDBMQi0wMEROQTAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCA0MDBMQi0wMEROQTAiCisiV0RDIFdENDAwVUUtMjJIQ1QwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgNDBHQiBOb3RlYm9vayBIREQiCisiV0RDIFdENDAwVkUtNzVIRFQxIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgU2NvcnBpbyA0MEdCIgorIldEQyBXRDYwMEJCLTMyQlNBMCIJCQkJCQkgIDAgQyAiV2VzdGVybiBEaWdpdGFsIDYwMEJCLTMyQlNBMCIKKyJXREMgV0Q2MDBKQi0wMEVUQTAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCA2MDBKQi0wMEVUQTAiCisiV0RDIFdENjAwTEItMDBETkEwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgNjBHQiIKKyJXREMgV0Q2MDBWRS03NUhEVDAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCA2MDBWRS03NUhEVDAiCisiV0RDIFdENjAwVkUtMDBIRFQwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgNjAwVkUtMDBIRFQwIgorIldEQyBXRDc0MEdELTAwRkwyMS4wIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgU0FUQSBSYXB0b3IiCisiV0RDIFdENzQwR0QtKFswNV0wRkxbQUNdWzAxXXw3NUZMQTEpIgkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIFNBVEEgUmFwdG9yIDc0R0IgOE1CIgorIldEQyBXRDgwMEJCLTAwQ0FBMSIJCQkJCQkgIDAgQyAiV2VzdGVybiBEaWdpdGFsIFdEODAwQkItMDBDQUExIgorIldEQyBXRDgwMEJCLSgwMHwyMilES0EwIgkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBXRDgwMEJCIDgwIEdvIgorIldEQyBXRDgwMEJCLTMyQ0NCMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIDgwMEJCLTMyQ0NCMCIKKyJXREMgV0Q4MDBCQi01NUhFQTAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCA4MDBCQi01NUhFQTAiCisiV0RDIFdEODAwQkItMDBKSEEwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgODAwQkItMDBKSEEwIiAKKyJXREMgV0Q4MDBCQi0wMEpLQTAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCA4MDBCQi0wMEpLQTAiIAorIldEQyBXRDgwMEJCLTU1SktBMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIDgwMEJCLTU1SktBMCIgCisiV0RDIFdEODAwQkItNzVGUkEwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIFdEODAwQkIiCQkJCQorIldEQyBXRDgwMEpCLTAwQ1JBMSIJCQkJCQkgIDAgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciBXRDgwMEpCIgorIldEQyBXRDgwMEpCLTAwKEVUfEZNfEZTKUEwIgkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgODBHQiBTcGVjaWFsIEVkaXRpb24gOE1CIgorIldEQyBXRDgwMEpCLTAwSkpbQUNdMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIFdEODAwSkIiCisiV0RDIFdEODAwSkQtKDAwfDU1fDc1KShIS3xKUnxKTilbQUNdMCIJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBTQVRBIDgwR0IsIDhNQiBDYWNoZSIKKyJXREMgV0Q4MDBMQi0oMDB8NTUpRE5BMCIJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIFdEODAwTEIgODAgR28gQVRBLTEwMCIKKyJXREMgV0Q4MDBWRS0wN0hEVDAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCA4MDBWRS0wN0hEVDAiCisiV0RDIFdEMTIwMEJCLTAwKEZUQXxHVUEpMCIJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIEVJREUgMk1CIENhY2hlIgorIldEQyBXRDEyMDBKQi0wMChFVnxGVXxHVnxSRSlBMCIJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgMTIwR0IgU3BlY2lhbCBFZGl0aW9uIDhNQiIgCisiV0RDIFdEMTIwMEpCLTIyR1ZBMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciAxMjBHQiIKKyJXREMgV0QxMjAwSkQtMDAoRllCfEdCQnxIQkMpMCIJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgV0QxMjAwSkQiCisiV0RDIFdEMTIwMExCLTU1RURBMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIFdEMTIyMExCIgorIldEQyBXRDEyMDBTQi0wMUtCW0FDXTAiCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciBSRSAoUmFpZCBFZGl0aW9uKSAxMjAgR0IiCisiV0RDIFdEMTYwMEJCLTAwRFdBMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciBXRDE2MDBCQiIKKyJXREMgV0QxNjAwSkItKDAwRVZ8MDBGVXwwMEdWfDIyR1Z8NzVHVilBMCIJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciAxNjBHQiBTcGVjaWFsIEVkaXRpb24gOE1CIgorIldEQyBXRDIwMDBCQi0wMEZUQTAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBXRDIwMDBCQiIKKyJXREMgV0QyMDAwSkItKDAwRVZ8MzJFVnwzNEVWfDAwRlV8MDBHVnw1NUdWfDk4R1Z8MDBLRilBMCIJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgMjAwR0IgU3BlY2lhbCBFZGl0aW9uIDhNQiIKKyJXREMgV0QyMDAwSkItMDBHVkMwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgV0QyMDAwSkIiCisiV0RDIFdEMjAwMEpELTAwRllCMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIFdEMjAwMEpEIgorIldEQyBXRDIwMDBKUy0wME1IQjEiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBTQVRBIDIwMEdCIgorIldEQyBXRDI1MDBKQi0oMDBSRXwwMEVWfDAwRlV8MzJGVXwwMEdWfDU1R1YpQTAiCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciAyNTBHQiBTcGVjaWFsIEVkaXRpb24gOE1CIgorIldEQyBXRDI1MDBKQi0wMEdWQzAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCAyNTBHQiIKKyJXREMgV0QyNTAwSkQtKDAwR3wzMkh8NzVIKUJCMCIJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgU0FUQSBDYXZpYXIgMjUwR0IgU3BlY2lhbCBFZGl0aW9uIDhNQiIKKyJXREMgV0QyNTAwSkQtNDBIQkMwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgV0QyNTAwSkQtNDBIQkMwIiAKKyJXREMgV0QyNTAwUEItOThGQkEwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIDI1MEdCIFNwZWNpYWwgRWRpdGlvbiA4TUIiCisiV0RDIFdEMjUwMFBELTAwRlpCMSIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIFdEMjUwMFBELTAwRlpCMSIgCisiV0RDIFdEMjUwMFNELTAxS0NCMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciBSRSAyNTBHQiA4TUIiCisiV0RDIFdEMzAwMEpCLTAwS0ZBMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIFdEMzAwMEpCIgorIldEQyBXRDMyMDBKQi0wMEtGQTAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgMzIwR0IgOE1CIgorIldEQyBXRDQwMDBLRC0wME5BQjAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgU0UxNiA0MDBHQiAxNk1CIgorIldEQyBXRDQwMDBZUi0wMVBMQjAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgUkUyIDQwMEdCIDE2TUIiCisiV0Q0MDAwWVMtMDFNUEIwIgkJCQkJCTE5NCAgQyAgIldlc3Rlcm4gRGlnaXRhbCBSRTIgNzIwMCBTQVRBIElJIDQwMCBHQiIKKworIyBub3Qgc3VyZSBmb3IgbmV4dAorIyAiV0RDIFdEMTIwMEpCLTAwQ1JBMSIJCTkgICBDICJXZXN0ZXJuIERpZ2l0YWwgMTIwMEpCLTAwQ1JBMSIKKyMgIldEQyBXRDI3M0JBIgkJCTkgICBDICJXZXN0ZXJuIERpZ2l0YWwgV0QyNzNCQSIKKworCisKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworIlNUMzc1MDY0MEFTIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC4xMCBTQVRBIDc1MEdCIgorIlNUMzc1MDg0MEFTIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC4xMCBTQVRBIDc1MEdCIgorIlNUMzUwMDYzMEFTIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC4xMCBTQVRBIDUwMEdCIgorIlNUMzUwMDgzMEFTIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC4xMCBTQVRBIDUwMEdCIgorIlNUMzQwMDYyMEFTIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC4xMCBTQVRBIDQwMEdCIgorIlNUMzQwMDYyMEEiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC4xMCA0MDBHQiIKKyJTVDM0MDA4MjBBUyIgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgICAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuMTAgU0FUQSA0MDBHQiIKKyJTVDMzMjA2MjBBUyIgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgICAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuMTAgU0FUQSAzMjBHQiIKKyJTVDMzMjA4MjBBUyIgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgICAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuMTAgU0FUQSAzMjBHQiIKKyJTVDMzMDA2MjBBUyIgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgICAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuMTAgU0FUQSAzMDBHQiIKKyJTVDMzMDA4MjBBUyIgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgICAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuMTAgU0FUQSAzMDBHQiIKKyJTVDMyNTA2MjBBUyIgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgICAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuMTAgU0FUQSAyNTBHQiIKKyJTVDMyNTA4MjBBUyIgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgICAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuMTAgU0FUQSAyNTBHQiIKKyJTVDMyNTA0MTBBUyIgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgICAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuMTAgU0FUQSAyNTBHQiIKKyJTVDMyNTAzMTBBUyIgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgICAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuMTAgU0FUQSAyNTBHQiIKKyJTVDMyMDA4MjBBUyIgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgICAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuMTAgU0FUQSAyMDBHQiIKKyJTVDMxNjA4MTVBUyIgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgICAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuMTAgU0FUQSAxNjBHQiIKKyJTVDMxNjAyMTVBUyIgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgICAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuMTAgU0FUQSAxNjBHQiIKKyJTVDMxMjA4MTVBUyIgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgICAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuMTAgU0FUQSAxMjBHQiIKKyJTVDMxMjAyMTVBUyIgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgICAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuMTAgU0FUQSAxMjBHQiIKKyJTVDM4MDgxNUFTIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgICAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuMTAgU0FUQSA4MEdCIgorIlNUMzgwMjE1QVMiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC4xMCBTQVRBIDgwR0IiCisiU1QzNDA4MTVBUyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICAgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjEwIFNBVEEgNDBHQiIKKyJTVDM0MDIxNUFTIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgICAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuMTAgU0FUQSA0MEdCIgorIlNUMzMwMDYyMkFTIgkJCQkxOTQgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjkgU0FUQTIuNSAzMDBHQiIKKyJTVDMzMDA4MzFBIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuOCBQQVRBIDMwMEdCIgorCisiTWF4dG9yIDcoTHxWKTI1MChGfFJ8UykwIgkJMTk0IEMgIk1heHRvciBNYVhMaW5lIElJSSAyNTBHQiA3MjAwcnBtIgorIk1heHRvciA3KEx8VikzMDAoRnxSfFMpMCIJCTE5NCBDICJNYXh0b3IgTWFYTGluZSBJSUkgMzAwR0IgNzIwMHJwbSIKKyJNQVhUT1IgU1RNMzMyMDYyMEFTIgkJCTE5NCBDICIiCisKKyJXREMgV0QxNTAwQURGRC0wME5MUlswMV0iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgQyAiV2VzdGVybiBEaWdpdGFsIFJhcHRvciAxNTBHQiIKKyJXREMgV0QxNjAwSlMtMDBOQ0IxIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIDE2MDBKUyAxNjBHQiBTYXRhIgorIldEQyBXRDE2MDBTRC0wMUtDQzAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgUkUgU2VyaWFsIEFUQSBzZXJpZXMiCisiV0RDIFdEMjUwMEpELTU3SEJDMCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgU0UgKFNlcmlhbCBBVEEpIDI1MCBHQiIKKyJXREMgV0QyNTAwSlMiCQkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgV0QyNTAwSlMiCisiV0RDIFdEMjUwMEpTLTQxTVZCMSIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIFNBVEFJSSBDYXZpYXIgMjUwR0IgU3BlY2lhbCBFZGl0aW9uIDhNQiIKKyJXREMgV0QyNTAwSkQtMDBIQkIwIgkJCQkJCTE5NCBDICAgIldlc3Rlcm4gRGlnaXRhbCBTQVRBIDI1MEdCIiAKKyJXREMgV0QyNTAwS1MtMDBNSkIwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgU0FUQS1JSSBDYXZpYXIgMjUwR0IgU3BlY2lhbCBFZGl0aW9uIDE2TUIiCisiV0RDIFdEMjUwMFlELTAxTlZCMSIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciBSRSAyNTBHQiAxNk1CIgorIldEQyBXRDMwMDBKUy0wMFBEQjAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBXRDMwMDBKUyIKKyJXREMgV0QzMjAwS1MtMDBQRkIwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIDMyMEdCIDE2TUIiCisiV0RDIFdEMzIwMEpELTIyS0xCMCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgU0UgMzIwR0IgOE1CIiAKKyJXREMgV0QzMjAwU0QtMDFLTkIwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIFJFIDMyMEdCIFNBVEEgOE1CIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGR0ZW1wL2hkZHRlbXAvaGRkdGVtcF8wLjMtYmV0YTE1LTUyLmRpZmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZHRlbXAvaGRkdGVtcC9oZGR0ZW1wXzAuMy1iZXRhMTUtNTIuZGlmZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjFjMTY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGR0ZW1wL2hkZHRlbXAvaGRkdGVtcF8wLjMtYmV0YTE1LTUyLmRpZmYKQEAgLTAsMCArMSwyMjU2IEBACitNZWdhcGF0Y2ggZnJvbSBkZWJpYW4KKworT3JpZ2luYWwgVVJMOiBodHRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wvbWFpbi9oL2hkZHRlbXAvaGRkdGVtcF8wLjMtYmV0YTE1LTUyLmRpZmYuZ3oKKworRmlsdGVyZWQgd2l0aDoKKyAgZmlsdGVyZGlmZiAtcDEgLXggUkVBRE1FIC14ICdkZWJpYW4vKicKKworCitVcHN0cmVhbS1TdGF0dXM6IHVubWFpbnRhaW5lZAorCistLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvZG9jL2hkZHRlbXAuOAorKysrIGhkZHRlbXAtMC4zLWJldGExNS9kb2MvaGRkdGVtcC44CitAQCAtNTgsNiArNTgsMTAgQEAKKyAuQiBcLWYsIFwtXC1maWxlPVxmSWZpbGVcZkkKKyBTcGVjaWZ5IHRoZSBkYXRhYmFzZSBmaWxlIHRvIHVzZS4KKyAuVFAKKysuQiBcLUYsIFwtXC1mb3JlZ3JvdW5kCisrRG9uJ3QgZm9yayBpbnRvIHRoZSBiYWNrZ3JvdW5kIGV2ZW4gaW4gZGFlbW9uIG1vZGUuICBUaGlzIGlzIHVzZWZ1bAorK3doZW4gcnVubmluZyB1bmRlciBhIHByb2Nlc3Mgc3VwZXJ2aXNvci4KKysuVFAKKyAuQiBcLWwsIFwtXC1saXN0ZW49XGZJYWRkclxmUgorIExpc3RlbiBvbiBhIHNwZWNpZmljIGFkZHJlc3MuICBcZklhZGRyXGZSIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYQorIGhvc3QgbmFtZSBvciBhIG51bWVyaWMgaG9zdCBhZGRyZXNzIHN0cmluZy4gIFRoZSBudW1lcmljIGhvc3QgYWRkcmVzcworQEAgLTgwLDYgKzg0LDkgQEAKKyAuQiBcLXEsIFwtXC1xdWlldAorIERvbid0IGNoZWNrIGlmIHRoZSBkcml2ZSBpcyBzdXBwb3J0ZWQuCisgLlRQCisrLkIgXC11LCBcLVwtdW5pdD1cZklDfEZcZlIKKytGb3JjZSBvdXRwdXQgdGVtcGVyYXR1cmUgZWl0aGVyIGluIENlbHNpdXMgb3IgRmFocmVuaGVpdC4KKysuVFAKKyAuQiBcLXYsIFwtXC12ZXJzaW9uCisgRGlzcGxheSBoZGR0ZW1wIHZlcnNpb24gbnVtYmVyLgorIC5UUAorQEAgLTk2LDcgKzEwMyw3IEBACisgLlNIICJEUklWRSBEQVRBQkFTRSIKKyBJZiB5b3Uga25vdyB5b3VyIGRyaXZlIGhhcyBhIHRlbXBlcmF0dXJlIHNlbnNvciBidXQgaXQgaXMgYmVpbmcKKyByZXBvcnRlZCB1bnN1cHBvcnRlZCwgdGVsbCBtZSB3aGljaCBtb2RlbCBhbmQgd2hpY2ggbWFudWZhY3R1cmVyIGl0CistaXMsIGFuZC9vciBqdXN0IGFkZCBhIG5ldyBlbnRyeSBpbiAvdXNyL3NoYXJlL21pc2MvaGRkdGVtcC5kYi4gIEVhY2gKKytpcywgYW5kL29yIGp1c3QgYWRkIGEgbmV3IGVudHJ5IGluIC9ldGMvaGRkdGVtcC5kYi4gIEVhY2gKKyBsaW5lIG9mIGhkZHRlbXAuZGIgaXMgZWl0aGVyIGEgY29tbWVudCwgYSBibGFuayBsaW5lIG9yIGEgbGluZQorIGNvbnRhaW5pbmc6CisgLlRQCitAQCAtMTEyLDcgKzExOSw3IEBACisgRmVlZGJhY2sgaXMgd2VsY29tZSAoc2VlIHRoZSBSRVBPUlQgc2VjdGlvbiBiZWxvdykuCisgCisgLlNIICJUQ1AvSVAgREFFTU9OIE1PREUiCistRXhlbXBsZSBvZiB0eXBlIGZvcmNpbmc6CisrRXhhbXBsZSBvZiB0eXBlIGZvcmNpbmc6CisgLlBQCisgIyBoZGR0ZW1wIFNBVEE6L2Rldi9zZGEgUEFUQTovZGV2L2hkYQorIC5QUAorQEAgLTEyMCw3ICsxMjcsNyBAQAorIC5CIGhkZHRlbXAKKyBpbiBkYWVtb24gbW9kZSwgc3RhcnQgaXQgbGlrZSB0aGlzOgorIC5QUAorLSMgaGRkdGVtcCAtZCAvZGV2L2hkW2FiY2RdCisrIyBoZGR0ZW1wIFwtZCAvZGV2L2hkW2FiY2RdCisgLlBQCisgLlBQCisgYW5kIHVzZQorQEAgLTE2NSw4ICsxNzIsOCBAQAorIGludmVzdGlnYXRpb24gdGhleSBkbyBub3QuICBCdXQgZmllbGRzIDE5NCAod2hpY2ggaXMgdGhlIHN0YW5kYXJkCisgZmllbGQgZm9yIHRlbXBlcmF0dXJlKSBhbmQgMjMxIGFyZSBnb29kIGNhbmRpZGF0ZXMuCisgLlBQCistVGhlbiwgeW91IGNhbiBzZW5kIG1lIGEgcmVwb3J0IHdpdGggb3V0cHV0cyBmcm9tIGBoZGR0ZW1wIC0tZGVidWcgLi4uJywKKy1gc21hcnRjdGwnIG9yIGBoZHBhcm0gLWkgLi4uJywgYW5kL29yIGFkZCBhbiBlbnRyeSBpbiBoZGR0ZW1wLmRiCisrVGhlbiwgeW91IGNhbiBzZW5kIG1lIGEgcmVwb3J0IHdpdGggb3V0cHV0cyBmcm9tIGBoZGR0ZW1wIFwtXC1kZWJ1ZyAuLi4nLAorK2BzbWFydGN0bCcgb3IgYGhkcGFybSBcLWkgLi4uJywgYW5kL29yIGFkZCBhbiBlbnRyeSBpbiBoZGR0ZW1wLmRiCisgeW91cnNlbGYuCisgCisgLlNIICJCVUdTIgorQEAgLTE4Myw1ICsxOTAsNSBAQAorIC5QUAorIEVtbWFudWVsIFZhcmFnbmF0IChoZGR0ZW1wQGd1enUubmV0KS4KKyAuUFAKKy1UaGlzIG1hbnVhbCBwYWdlIHdhcyBvcmlnaW5hbHkgd3JpdHRlbiBieSBBdXJlbGllbiBKYXJubyA8YXVyZWwzMkBkZWJpYW4ub3JnPiwKKytUaGlzIG1hbnVhbCBwYWdlIHdhcyBvcmlnaW5hbGx5IHdyaXR0ZW4gYnkgQXVyZWxpZW4gSmFybm8gPGF1cmVsMzJAZGViaWFuLm9yZz4sCisgZm9yIHRoZSBEZWJpYW4gR05VL0xpbnV4IHN5c3RlbSAoYnV0IG1heSBiZSB1c2VkIGJ5IG90aGVycykuCistLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvcG8vZnIucG8KKysrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvcG8vZnIucG8KK0BAIC03LDkgKzcsOSBAQAorIG1zZ2lkICIiCisgbXNnc3RyICIiCisgIlByb2plY3QtSWQtVmVyc2lvbjogZnJcbiIKKy0iUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGhkZHRlbXBAZ3V6dS5uZXRcbiIKKy0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDUtMDItMjUgMjI6NDMrMDEwMFxuIgorLSJQTy1SZXZpc2lvbi1EYXRlOiAyMDAzLTA2LTAzIDAwOjU4R01UKzFcbiIKKysiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgorKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNi0wNi0yOSAxNjoyNCswMjAwXG4iCisrIlBPLVJldmlzaW9uLURhdGU6IDIwMTEtMDgtMzAgMTY6MzgrMDIwMFxuIgorICJMYXN0LVRyYW5zbGF0b3I6IEF1cmVsaWVuIEphcm5vIDxhdXJlbGllbkBhdXJlbDMyLm5ldD5cbiIKKyAiTGFuZ3VhZ2UtVGVhbTogRlJBTkNBSVMgPGZyQGxpLm9yZz5cbiIKKyAiTUlNRS1WZXJzaW9uOiAxLjBcbiIKK0BAIC0xNywyMyArMTcsNyBAQAorICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisgIlgtR2VuZXJhdG9yOiBLQmFiZWwgMS4wLjFcbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjExMgorLSMsIGMtZm9ybWF0CistbXNnaWQgIiIKKy0iXG4iCistIlJlZ2V4cCVzfCBWYWx1ZSB8IERlc2NyaXB0aW9uXG4iCistIi0tLS0tLSVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCistbXNnc3RyICIiCistIlxuIgorLSJSZWdleHAlc3wgVmFsZXVyIHwgRGVzY3JpcHRpb25cbiIKKy0iLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCistCistIzogc3JjL2hkZHRlbXAuYzoxMTgKKy0jLCBjLWZvcm1hdAorLW1zZ2lkICIlcyVzfCAlNWQgfCAlc1xuIgorLW1zZ3N0ciAiJXMlc3wgICU1ZCB8ICVzXG4iCistCistIzogc3JjL2hkZHRlbXAuYzoxNjEKKysjOiBzcmMvaGRkdGVtcC5jOjE1NgorICMsIGMtZm9ybWF0CisgbXNnaWQgIiIKKyAiXG4iCitAQCAtNDYsNyArMzAsNyBAQAorICJNb2TobGU6ICVzXG4iCisgIlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MTg4CisrIzogc3JjL2hkZHRlbXAuYzoxODkKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIiCisgIldBUk5JTkc6IERyaXZlICVzIGRvZXNuJ3Qgc2VlbSB0byBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIgorQEAgLTYwLDc1ICs0NCw2MCBAQAorICJuZXQpLlxuIgorICJBVFRFTlRJT04gOiBWb2lyIGxlcyBvcHRpb25zIC0taGVscCwgLS1kZWJ1ZyBldCAtLWRyaXZlYmFzZS5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjE5MgorKyM6IHNyYy9oZGR0ZW1wLmM6MTk3CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiJXM6ICVzOiAgbm8gc2Vuc29yXG4iCisgbXNnc3RyICIlczogJXMgOiAgcGFzIGRlIGNhcHRldXJcbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjE5NworLSMsIGMtZm9ybWF0CistbXNnaWQgIiIKKy0iV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBhcHBlYXIgaW4gdGhlIGRhdGFiYXNlIG9mIHN1cHBvcnRlZCBkcml2ZXNcbiIKKy0iV0FSTklORzogQnV0IHVzaW5nIGEgY29tbW9uIHZhbHVlLCBpdCByZXBvcnRzIHNvbWV0aGluZy5cbiIKKy0iV0FSTklORzogTm90ZSB0aGF0IHRoZSB0ZW1wZXJhdHVyZSBzaG93biBjb3VsZCBiZSB3cm9uZy5cbiIKKy0iV0FSTklORzogU2VlIC0taGVscCwgLS1kZWJ1ZyBhbmQgLS1kcml2ZWJhc2Ugb3B0aW9ucy5cbiIKKy0iV0FSTklORzogQW5kIGRvbid0IGZvcmdldCB5b3UgY2FuIGFkZCB5b3VyIGRyaXZlIHRvIGhkZHRlbXAuZGJcbiIKKy1tc2dzdHIgIiIKKy0iQVRURU5USU9OIDogTGUgbGVjdGV1ciAlcyBuJ2FwcGFyYWl0IHBhcyBkYW5zIGxhIGJhc2UgZGUgZG9ubullcyBkZXMgIgorLSJsZWN0ZXVycyBzdXBwb3J06XNcbiIKKy0iQVRURU5USU9OIDogTWFpcyBlbiB1dGlsaXNhbnQgdW5lIHZhbGV1ciBjb3VyYW50ZSwgaWwgcmVudm9pZSBxdWVscXVlICIKKy0iY2hvc2UuXG4iCistIkFUVEVOVElPTiA6IE5vdGV6IHF1ZSBsYSB0ZW1w6XJhdHVyZSByZW52b3npZSBwZXV0IOp0cmUgZXJyb27pZS5cbiIKKy0iQVRURU5USU9OIDogVm9pciBsZXMgb3B0aW9ucyAtLWhlbHAsIC0tZGVidWcgZXQgLS1kcml2ZWJhc2UuXG4iCistIkFUVEVOVElPTiA6IEV0IG4nb3VibGlleiBwYXMgZCdham91dGVyIHZvdHJlIGxlY3RldXIgYXUgZmljaGllciBoZGR0ZW1wLmRiXG4iCistCistIzogc3JjL2hkZHRlbXAuYzoyMDIKKysjOiBzcmMvaGRkdGVtcC5jOjIxMQorICMsIGMtZm9ybWF0CisgbXNnaWQgIiVzOiAlczogICVkJXNDIG9yICVzRlxuIgorIG1zZ3N0ciAiJXM6ICVzIDogICVkJXNDIG91ICVzRlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MjE0CisrIzogc3JjL2hkZHRlbXAuYzoyMzUKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIlczogJXM6IGRyaXZlIGlzIHNsZWVwaW5nXG4iCisgbXNnc3RyICIlczogJXMgOiBsZSBsZWN0ZXVyIGVzdCBlbiB2ZWlsbGVcbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjIxNworKyM6IHNyYy9oZGR0ZW1wLmM6MjQyCisgIywgYy1mb3JtYXQKKy1tc2dpZCAiJXM6ICVzOiAga25vd24gZHJpdmUsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCisrbXNnaWQgIiVzOiAlczogIGRyaXZlIHN1cHBvcnRlZCwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKKyBtc2dzdHIgIiIKKyAiJXM6ICVzOiAgbGVjdGV1ciBjb25udSwgbWFpcyBpbCBuZSBwb3Nz6GRlIHBhcyBkZSBjYXB0ZXVyIGRlIHRlbXDpcmF0dXJlLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MjIwCisrIzogc3JjL2hkZHRlbXAuYzoyNDYKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogJXM6ICVzOiB1bmtub3duIHJldHVybmVkIHN0YXR1c1xuIgorIG1zZ3N0ciAiRVJSRVVSIDogJXMgOiAlcyA6IHN0YXR1cyBpbmNvbm51XG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoyMzUKKysjOiBzcmMvaGRkdGVtcC5jOjI2MQorICMsIGMtZm9ybWF0CisgbXNnaWQgIiIKKyAiXG4iCisgIklmIG9uZSBvZiB0aGUgZmllbGQgdmFsdWUgc2VlbXMgdG8gbWF0Y2ggdGhlIHRlbXBlcmF0dXJlLCBiZSBzdXJlIHRvIHJlYWRcbiIKKy0idGhlIGhkZHRlbXAgbWFuIHBhZ2UgYmVmb3JlIHNlbmRpbmcgbWUgYSByZXBvcnQgKHNlY3Rpb24gUkVQT1JUKS4gVGhhbmtzLlxuIgorKyJ0aGUgaGRkdGVtcCBtYW4gcGFnZSBiZWZvcmUgc2VuZGluZyBhIHJlcG9ydCAoc2VjdGlvbiBSRVBPUlQpLiBUaGFua3MuXG4iCisgbXNnc3RyICIiCisgCistIzogc3JjL2hkZHRlbXAuYzozMDgKKysjOiBzcmMvaGRkdGVtcC5jOjMzOAorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiBpbnZhbGlkIHNlcGFyYXRvci5cbiIKKyBtc2dzdHIgIkVSUkVVUiA6IHPpcGFyYXRldXIgaW52YWxpZGUuXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzozMTkKKysjOiBzcmMvaGRkdGVtcC5jOjM0OQorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiBpbnZhbGlkIHBvcnQgbnVtYmVyLlxuIgorIG1zZ3N0ciAiRVJSRVVSIDogbnVt6XJvIGRlIHBvcnQgaW52YWxpZGUuXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzozMjkKKy0jLCBmdXp6eSwgYy1mb3JtYXQKKysjOiBzcmMvaGRkdGVtcC5jOjM3MQorKyMsIGMtZm9ybWF0CisgbXNnaWQgIiIKKy0iIFVzYWdlOiBoZGR0ZW1wIFtPUFRJT05TXSBESVNLMSBbRElTSzJdLi4uXG4iCisrIiBVc2FnZTogaGRkdGVtcCBbT1BUSU9OU10gW1RZUEU6XURJU0sxIFtbVFlQRTpdRElTSzJdLi4uXG4iCisgIlxuIgorICIgICBoZGR0ZW1wIGRpc3BsYXlzIHRoZSB0ZW1wZXJhdHVyZSBvZiBkcml2ZXMgc3VwcGxpZWQgaW4gYXJndW1lbnQuXG4iCisgIiAgIERyaXZlcyBtdXN0IHN1cHBvcnQgUy5NLkEuUi5ULlxuIgorICJcbiIKKysiICBUWVBFIGNvdWxkIGJlIFNBVEEsIFBBVEEgb3IgU0NTSS4gSWYgb21pdHRlZCBoZGR0ZW1wIHdpbGwgdHJ5IHRvIGd1ZXNzLlxuIgorKyJcbiIKKyAiICAtYiAgIC0tZHJpdmViYXNlICAgOiAgZGlzcGxheSBkYXRhYmFzZSBmaWxlIGNvbnRlbnQgdGhhdCBhbGxvdyBoZGR0ZW1wIHRvXG4iCisgIiAgICAgICAgICAgICAgICAgICAgICAgIHJlY29nbml6ZSBzdXBwb3J0ZWQgZHJpdmVzLlxuIgorICIgIC1EICAgLS1kZWJ1ZyAgICAgICA6ICBkaXNwbGF5IHZhcmlvdXMgUy5NLkEuUi5ULiBmaWVsZHMgYW5kIHRoZWlyIHZhbHVlcy5cbiIKK0BAIC0xMzgsNiArMTA3LDcgQEAKKyAiICAtZCAgIC0tZGFlbW9uICAgICAgOiAgcnVuIGhkZHRlbXAgaW4gVENQL0lQIGRhZW1vbiBtb2RlIChwb3J0ICVkIGJ5ICIKKyAiZGVmYXVsdC4pXG4iCisgIiAgLWYgICAtLWZpbGU9RklMRSAgIDogIHNwZWNpZnkgZGF0YWJhc2UgZmlsZSB0byB1c2UuXG4iCisrIiAgLUYgICAtLWZvcmVncm91bmQgIDogIGRvbid0IGRhZW1vbml6ZSwgc3RheSBpbiBmb3JlZ3JvdW5kLlxuIgorICIgIC1sICAgLS1saXN0ZW49YWRkciA6ICBsaXN0ZW4gb24gYSBzcGVjaWZpYyBpbnRlcmZhY2UgKGluIFRDUC9JUCBkYWVtb24gIgorICJtb2RlKS5cbiIKKyAiICAtbiAgIC0tbnVtZXJpYyAgICAgOiAgcHJpbnQgb25seSB0aGUgdGVtcGVyYXR1cmUuXG4iCitAQCAtMTQ1LDYgKzExNSw4IEBACisgIiAgLXMgICAtLXNlcGFyYXRvcj1DIDogIHNlcGFyYXRvciB0byB1c2UgYmV0d2VlbiBmaWVsZHMgKGluIFRDUC9JUCBkYWVtb24gIgorICJtb2RlKS5cbiIKKyAiICAtUyAgIC0tc3lzbG9nPXMgICAgOiAgbG9nIHRlbXBlcmF0dXJlIHRvIHN5c2xvZyBldmVyeSBzIHNlY29uZHMuXG4iCisrIiAgLXUgICAtLXVuaXQ9W0N8Rl0gIDogIGZvcmNlIG91dHB1dCB0ZW1wZXJhdHVyZSBlaXRoZXIgaW4gQ2Vsc2l1cyBvciAiCisrIkZhaHJlbmhlaXQuXG4iCisgIiAgLXEgICAtLXF1aWV0ICAgICAgIDogIGRvIG5vdCBjaGVjayBpZiB0aGUgZHJpdmUgaXMgc3VwcG9ydGVkLlxuIgorICIgIC12ICAgLS12ZXJzaW9uICAgICA6ICBkaXNwbGF5IGhkZHRlbXAgdmVyc2lvbiBudW1iZXIuXG4iCisgIiAgLXcgICAtLXdha2UtdXAgICAgIDogIHdha2UtdXAgdGhlIGRyaXZlIGlmIG5lZWQuXG4iCitAQCAtMTUzLDExICsxMjUsMTQgQEAKKyAiXG4iCisgIlJlcG9ydCBidWdzIG9yIG5ldyBkcml2ZXMgdG8gPGhkZHRlbXBAZ3V6dS5uZXQ+LlxuIgorIG1zZ3N0ciAiIgorLSIgVXRpbGlzYXRpb246IGhkZHRlbXAgW09QVElPTlNdIERJU1FVRTEgW0RJU1FVRTJdLi4uXG4iCisrIiBVdGlsaXNhdGlvbjogaGRkdGVtcCBbT1BUSU9OU10gW1RZUEU6XURJU1FVRTEgW1tUWVBFOl1ESVNRVUUyXS4uLlxuIgorICJcbiIKKyAiICAgaGRkdGVtcCBhZmZpY2hlIGxhIHRlbXDpcmF0dXJlIGRlcyBsZWN0ZXVycyBwYXNz6XMgZW4gYXJndW1lbnQuXG4iCisgIiAgIExlcyBsZWN0ZXVycyBkb2l2ZW50IGF2b2lyIGxlIHN1cHBvcnQgUy5NLkEuUi5ULlxuIgorICJcbiIKKysiICBUWVBFIHBldXQg6nRyZSBTQVRBLCBQQVRBIG91IFNDU0kuIFNpIGxlIHR5cGUgZXN0IG9taXMsIGhkZHRlbXAgZXNzYWllcmFcbiIKKysiICBkZSBsZSBkZXZpbmVyLlxuIgorKyJcbiIKKyAiICAtYiAgIC0tZHJpdmViYXNlICAgOiAgYWZmaWNoZSBsZSBjb250ZW51IGR1IGZpY2hpZXIgZGUgYmFzZSBkZSBkb25u6WUgIgorICJxdWkgXG4iCisgIiAgICAgICAgICAgICAgICAgICAgICAgIHBlcm1ldCDgIGhkZHRlbXAgZGUgcmVjb25uYe50cmUgbGVzIGxlY3RldXJzICIKK0BAIC0xNzIsNiArMTQ3LDcgQEAKKyAiZOlmYXV0KS5cbiIKKyAiICAtZiAgIC0tZmlsZT1GSUxFICAgOiAgc3BlY2lmaWUgbGUgZmljaGllciDgIHV0aWxpc2VyIGNvbW1lIGJhc2UgZGUgIgorICJkb25u6WVzLlxuIgorKyIgIC1GICAgLS1mb3JlZ3JvdW5kICA6ICBuZSBwYXMgZOltb25pc2VyLCByZXN0ZXIgYXUgcHJlbWllciBwbGFuLlxuIgorICIgIC1sICAgLS1saXN0ZW49YWRkciA6ICDpY291dGUgc3VyIHVuZSBpbnRlcmZhY2Ugc3DpY2lmaXF1ZSAoZW4gbW9kZSBk6W1vbiAiCisgIlRDUC9JUCkuXG4iCisgIiAgLW4gICAtLW51bWVyaWMgICAgIDogIGFmZmljaGUgc2V1bGVtZW50IGxhIHRlbXDpcmF0dXJlLlxuIgorQEAgLTE4MCw2ICsxNTYsOCBAQAorICJk6W1vbiBUQ1AvSVApLlxuIgorICIgIC1TICAgLS1zeXNsb2c9cyAgICA6ICBlbnJlZ2lzdHJlIGxhIHRlbXDpcmF0dXJlIGRhbnMgc3lzbG9nIHRvdXMgbGVzIHMgIgorICJzZWNvbmRlcy5cbiIKKysiICAtdSAgIC0tdW5pdD1bQ3xGXSAgOiAgYWZmaWNoZSBsYSB0ZW1w6XJhdHVyZSBlbiBkZWdy6XMgQ2Vsc2l1cyBvdSAiCisrIkZhaHJlbmhlaXQuXG4iCisgIiAgLXEgICAtLXF1aWV0ICAgICAgIDogIG5lIHbpcmlmaWUgcGFzIHNpIGxlIGxlY3RldXIgZXN0IHN1cHBvcnTpLlxuIgorICIgIC12ICAgLS12ZXJzaW9uICAgICA6ICBhZmZpY2hlIGxhIHZlcnNpb24gZGUgaGRkdGVtcC5cbiIKKyAiICAtdyAgIC0td2FrZS11cCAgICAgOiAgcul2ZWlsbGVyIGxlIGxlY3RldXIgc2kgbuljZXNzYWlyZS5cbiIKK0BAIC0xODgsNjIgKzE2Niw5NSBAQAorICJcbiIKKyAiUmVwb3J0IGJ1Z3Mgb3IgbmV3IGRyaXZlcyB0byA8aGRkdGVtcEBndXp1Lm5ldD4uXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzo1MjIKKysjOiBzcmMvaGRkdGVtcC5jOjQwMgorICMsIGMtZm9ybWF0CisgbXNnaWQgImhkZHRlbXAgdmVyc2lvbiAlc1xuIgorIG1zZ3N0ciAiaGRkdGVtcCB2ZXJzaW9uICVzXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzo1NDcKKysjOiBzcmMvaGRkdGVtcC5jOjQxOAorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiBpbnZhbGlkIGludGVydmFsLlxuIgorIG1zZ3N0ciAiRVJSRVVSIDogaW50ZXJ2YWxsZSBpbnZhbGlkZS5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjU0NworKyM6IHNyYy9oZGR0ZW1wLmM6NDM4CisrIywgYy1mb3JtYXQKKyBtc2dpZCAiVG9vIGZldyBhcmd1bWVudHM6IHlvdSBtdXN0IHNwZWNpZnkgb25lIGRyaXZlLCBhdCBsZWFzdC5cbiIKKyBtc2dzdHIgIlRyb3AgcGV1IGQnYXJndW1lbnRzIDogdm91cyBkZXZleiBzcOljaWZpZXIgYXUgbW9pbnMgdW4gbGVjdGV1ci5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjU1NworKyM6IHNyYy9oZGR0ZW1wLmM6NDQ4CisrIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6IGNhbid0IHVzZSAtLWRlYnVnIGFuZCAtLWRhZW1vbiBvciAtLXN5c2xvZyBvcHRpb25zIHRvZ2V0aGVyLlxuIgorIG1zZ3N0ciAiIgorICJFUlJFVVI6IGltcG9zc2libGUgZCd1dGlsaXNlciBsZXMgb3B0aW9ucyAtLWRlYnVnIGV0IC0tZGFlbW9uIG91IC0tc3lzbG9nIGVuICIKKyAibeptZSB0ZW1wcy5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjU4MworKyM6IHNyYy9oZGR0ZW1wLmM6NTA1CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6ICVzOiBjYW4ndCBkZXRlcm1pbmUgYnVzIHR5cGUgKG9yIHRoaXMgYnVzIHR5cGUgaXMgdW5rbm93bilcbiIKKyBtc2dzdHIgIiIKKyAiRVJSRVVSOiAlczogaW1wb3NzaWJsZSBkZSBk6XRlcm1pbmVyIGxlIHR5cGUgZGUgYnVzIChvdSBjZSB0eXBlIGRlIGJ1cyBlc3QgIgorICJpbmNvbm51KVxuIgorIAorLSM6IHNyYy9hdGEuYzo2NiBzcmMvc2NzaS5jOjY4CisrIzogc3JjL2F0YS5jOjY2IHNyYy9zY3NpLmM6NjQKKyBtc2dpZCAidW5rbm93biIKKyBtc2dzdHIgImluY29ubnUiCisgCistIzogc3JjL2F0YS5jOjk4CisrIzogc3JjL2F0YS5jOjg1IHNyYy9hdGEuYzoxMDQgc3JjL3Njc2kuYzo5MQorICMsIGMtZm9ybWF0CistbXNnaWQgImZpZWxkKCVkKVx0ID0gJWRcbiIKKy1tc2dzdHIgImNoYW1wKCVkKVx0ID0gJWRcbiIKKy0KKy0jOiBzcmMvYXRhLmM6MTY3CisgbXNnaWQgIlMuTS5BLlIuVC4gbm90IGF2YWlsYWJsZSIKKyBtc2dzdHIgIlMuTS5BLlIuVC4gbm9uIGRpc3BvbmlibGUiCisgCistIzogc3JjL2RiLmM6MTgwCisrIzogc3JjL2RiLmM6MTE1CisrIywgYy1mb3JtYXQKKyttc2dpZCAiIgorKyJcbiIKKysiUmVnZXhwJXN8IFZhbHVlIHwgRGVzY3JpcHRpb25cbiIKKysiLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyttc2dzdHIgIiIKKysiXG4iCisrIlJlZ2V4cCVzfCBWYWxldXIgfCBEZXNjcmlwdGlvblxuIgorKyItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKysKKysjOiBzcmMvZGIuYzoxMjEKKysjLCBjLWZvcm1hdAorK21zZ2lkICIlcyVzfCAlNWQgfCAlc1xuIgorK21zZ3N0ciAiJXMlc3wgICU1ZCB8ICVzXG4iCisrCisrIzogc3JjL2RiLmM6MjM2CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiaGRkdGVtcDogY2FuJ3Qgb3BlbiAlMSRzOiAlMiRzXG4iCisgbXNnc3RyICJoZGR0ZW1wOiBuZSBwZXV0IG91dnJpciAlMSRzOiAlMiRzXG4iCisgCistIzogc3JjL2RiLmM6MTk0CisrIzogc3JjL2RiLmM6MjUwCisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6IHN5bnRheCBlcnJvciBhdCBsaW5lICUxJGQgaW4gJTIkc1xuIgorIG1zZ3N0ciAiRVJSRVVSOiBlcnJldXIgZGUgc3ludGF4ZSDgIGxhIGxpZ25lICUxJGQ6ICUyJHNcbiIKKyAKKy0jOiBzcmMvZGIuYzoyMDEKKysjOiBzcmMvZGIuYzoyNTcKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIgIEVSUk9SOiBsaW5lIGV4Y2VlZCAlMSRkIGNoYXJhY3RlcnMgaW4gJTIkcy5cbiIKKyBtc2dzdHIgIiAgRVJSRVVSOiBsaWduZSBleOljZGFudCAlMSRkIGNhcmFjdOhyZXMgZGFucyAlMiRzLlxuIgorIAorLSM6IHNyYy9zY3NpLmM6MTEyIHNyYy9zY3NpLmM6MTMwCisrIzogc3JjL3Njc2kuYzoxMTEgc3JjL3Njc2kuYzoxMjkKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJsb2cgc2Vuc2UgZmFpbGVkIDogJXMiCisgbXNnc3RyICJlY2hlYyBkZSAnbG9nIHNlbnNlJyA6ICVzICIKKysKKysjfiBtc2dpZCAiIgorKyN+ICJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IGFwcGVhciBpbiB0aGUgZGF0YWJhc2Ugb2Ygc3VwcG9ydGVkIGRyaXZlc1xuIgorKyN+ICJXQVJOSU5HOiBCdXQgdXNpbmcgYSBjb21tb24gdmFsdWUsIGl0IHJlcG9ydHMgc29tZXRoaW5nLlxuIgorKyN+ICJXQVJOSU5HOiBOb3RlIHRoYXQgdGhlIHRlbXBlcmF0dXJlIHNob3duIGNvdWxkIGJlIHdyb25nLlxuIgorKyN+ICJXQVJOSU5HOiBTZWUgLS1oZWxwLCAtLWRlYnVnIGFuZCAtLWRyaXZlYmFzZSBvcHRpb25zLlxuIgorKyN+ICJXQVJOSU5HOiBBbmQgZG9uJ3QgZm9yZ2V0IHlvdSBjYW4gYWRkIHlvdXIgZHJpdmUgdG8gaGRkdGVtcC5kYlxuIgorKyN+IG1zZ3N0ciAiIgorKyN+ICJBVFRFTlRJT04gOiBMZSBsZWN0ZXVyICVzIG4nYXBwYXJhaXQgcGFzIGRhbnMgbGEgYmFzZSBkZSBkb25u6WVzIGRlcyAiCisrI34gImxlY3RldXJzIHN1cHBvcnTpc1xuIgorKyN+ICJBVFRFTlRJT04gOiBNYWlzIGVuIHV0aWxpc2FudCB1bmUgdmFsZXVyIGNvdXJhbnRlLCBpbCByZW52b2llIHF1ZWxxdWUgIgorKyN+ICJjaG9zZS5cbiIKKysjfiAiQVRURU5USU9OIDogTm90ZXogcXVlIGxhIHRlbXDpcmF0dXJlIHJlbnZveellIHBldXQg6nRyZSBlcnJvbullLlxuIgorKyN+ICJBVFRFTlRJT04gOiBWb2lyIGxlcyBvcHRpb25zIC0taGVscCwgLS1kZWJ1ZyBldCAtLWRyaXZlYmFzZS5cbiIKKysjfiAiQVRURU5USU9OIDogRXQgbidvdWJsaWV6IHBhcyBkJ2Fqb3V0ZXIgdm90cmUgbGVjdGV1ciBhdSBmaWNoaWVyIGhkZHRlbXAuIgorKyN+ICJkYlxuIgorKworKyN+IG1zZ2lkICJmaWVsZCglZClcdCA9ICVkXG4iCisrI34gbXNnc3RyICJjaGFtcCglZClcdCA9ICVkXG4iCistLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvcG8vcnUucG8KKysrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvcG8vcnUucG8KK0BAIC02LDggKzYsOCBAQAorIG1zZ2lkICIiCisgbXNnc3RyICIiCisgIlByb2plY3QtSWQtVmVyc2lvbjogaGRkdGVtcCAwLjMtYmV0YTNcbiIKKy0iUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGhkZHRlbXBAZ3V6dS5uZXRcbiIKKy0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDUtMDItMjUgMjI6NDMrMDEwMFxuIgorKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCisrIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA2LTA2LTI5IDE2OjI0KzAyMDBcbiIKKyAiUE8tUmV2aXNpb24tRGF0ZTogMjAwMy0wMy0wOCAxNjo0MiswMzAwXG4iCisgIkxhc3QtVHJhbnNsYXRvcjogTWljaGFlbCBTaGlnb3JpbiA8bWlrZUBhbHRsaW51eC5ydT5cbiIKKyAiTGFuZ3VhZ2UtVGVhbTogUnVzc2lhbiA8cnVAbGkub3JnPlxuIgorQEAgLTE1LDIzICsxNSw3IEBACisgIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1rb2k4LXJcbiIKKyAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MTEyCistIywgYy1mb3JtYXQKKy1tc2dpZCAiIgorLSJcbiIKKy0iUmVnZXhwJXN8IFZhbHVlIHwgRGVzY3JpcHRpb25cbiIKKy0iLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKy1tc2dzdHIgIiIKKy0iXG4iCistIvLFx9zL0yVzfCD6zsHeLiB8IO/QydPBzsnFICAgXG4iCistIi0tLS0tLSVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCistCistIzogc3JjL2hkZHRlbXAuYzoxMTgKKy0jLCBjLWZvcm1hdAorLW1zZ2lkICIlcyVzfCAlNWQgfCAlc1xuIgorLW1zZ3N0ciAiIgorLQorLSM6IHNyYy9oZGR0ZW1wLmM6MTYxCisrIzogc3JjL2hkZHRlbXAuYzoxNTYKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIiCisgIlxuIgorQEAgLTQwLDcgKzI0LDcgQEAKKyAiXG4iCisgbXNnc3RyICIiCisgCistIzogc3JjL2hkZHRlbXAuYzoxODgKKysjOiBzcmMvaGRkdGVtcC5jOjE4OQorICMsIGMtZm9ybWF0CisgbXNnaWQgIiIKKyAiV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBzZWVtIHRvIGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCitAQCAtNTMsNzIgKzM3LDU5IEBACisgIvfu6e3h7unlOiDl08zJINfZINTP3s7PINrOwcXUxSwg3tTPIMTB1N7JyyDF09TYLCDOwdDJ28nUxSBoZGR0ZW1wQGd1enUubmV0XG4iCisgIvfu6e3h7unlOiAo080uIM/Qw8nJIC0taGVscCwgLS1kZWJ1ZyDJIC0tZHJpdmViYXNlKS5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjE5MgorKyM6IHNyYy9oZGR0ZW1wLmM6MTk3CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiJXM6ICVzOiAgbm8gc2Vuc29yXG4iCisgbXNnc3RyICIlczogJXM6ICDOxdQgxMHU3snLwVxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MTk3CistIywgYy1mb3JtYXQKKy1tc2dpZCAiIgorLSJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IGFwcGVhciBpbiB0aGUgZGF0YWJhc2Ugb2Ygc3VwcG9ydGVkIGRyaXZlc1xuIgorLSJXQVJOSU5HOiBCdXQgdXNpbmcgYSBjb21tb24gdmFsdWUsIGl0IHJlcG9ydHMgc29tZXRoaW5nLlxuIgorLSJXQVJOSU5HOiBOb3RlIHRoYXQgdGhlIHRlbXBlcmF0dXJlIHNob3duIGNvdWxkIGJlIHdyb25nLlxuIgorLSJXQVJOSU5HOiBTZWUgLS1oZWxwLCAtLWRlYnVnIGFuZCAtLWRyaXZlYmFzZSBvcHRpb25zLlxuIgorLSJXQVJOSU5HOiBBbmQgZG9uJ3QgZm9yZ2V0IHlvdSBjYW4gYWRkIHlvdXIgZHJpdmUgdG8gaGRkdGVtcC5kYlxuIgorLW1zZ3N0ciAiIgorLSL37unt4e7p5Tog5MnTyyAlcyDOxSDXy8zA3sXOINcgwsHa1SDEwc7O2cgg0M/ExMXS1snXwcXN2cgg0NLJ18/Ez9cuXG4iCistIvfu6e3h7unlOiDuzyDTIMnT0M/M2NrP18HOycXNINLB09DSz9PU0sHOxc7O2cgg0MHSwc3F1NLP1yDPziDe1M8t1M8g19nEwcXULlxuIgorLSL37unt4e7p5Tog+sHNxdTY1MUsIN7UzyDQz8vB2sHOzsHRINTFzdDF0sHU1dLBIM3P1sXUINTBy8/Xz8ogzsUg0dfM0dTY09EuXG4iCistIvfu6e3h7unlOiDzzS4gz9DDyckgLS1oZWxwLCAtLWRlYnVnIMkgLS1kcml2ZWJhc2UuXG4iCistIvfu6e3h7unlOiDpIM7FINrBwtXE2NTFLCDe1M8gzc/Wzs8gxM/CwdfJ1Ngg0NLJ18/EINcgaGRkdGVtcC5kYlxuIgorLQorLSM6IHNyYy9oZGR0ZW1wLmM6MjAyCisrIzogc3JjL2hkZHRlbXAuYzoyMTEKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIlczogJXM6ICAlZCVzQyBvciAlc0ZcbiIKKyBtc2dzdHIgIiVzOiAlczogICVkJXNDIMnMySAlc0ZcbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjIxNAorKyM6IHNyYy9oZGR0ZW1wLmM6MjM1CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiJXM6ICVzOiBkcml2ZSBpcyBzbGVlcGluZ1xuIgorIG1zZ3N0ciAiJXM6ICVzOiAgzsXUIMTB1N7Jy8FcbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjIxNworLSMsIGMtZm9ybWF0CistbXNnaWQgIiVzOiAlczogIGtub3duIGRyaXZlLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIgorKyM6IHNyYy9oZGR0ZW1wLmM6MjQyCisrIywgZnV6enksIGMtZm9ybWF0CisrbXNnaWQgIiVzOiAlczogIGRyaXZlIHN1cHBvcnRlZCwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKKyBtc2dzdHIgIiVzOiAlczogIMna18XT1M7ZyiDEydPLLCDOxSDTz8TF0tbB3cnKIMTB1N7Jy8Eg1MXN0MXSwdTV0tkuXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoyMjAKKysjOiBzcmMvaGRkdGVtcC5jOjI0NgorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiAlczogJXM6IHVua25vd24gcmV0dXJuZWQgc3RhdHVzXG4iCisgbXNnc3RyICLv++ni6+E6ICVzOiAlczogzsXJ2tfF09TO2cog09TB1NXTINfP2tfSwdTBXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoyMzUKKysjOiBzcmMvaGRkdGVtcC5jOjI2MQorICMsIGMtZm9ybWF0CisgbXNnaWQgIiIKKyAiXG4iCisgIklmIG9uZSBvZiB0aGUgZmllbGQgdmFsdWUgc2VlbXMgdG8gbWF0Y2ggdGhlIHRlbXBlcmF0dXJlLCBiZSBzdXJlIHRvIHJlYWRcbiIKKy0idGhlIGhkZHRlbXAgbWFuIHBhZ2UgYmVmb3JlIHNlbmRpbmcgbWUgYSByZXBvcnQgKHNlY3Rpb24gUkVQT1JUKS4gVGhhbmtzLlxuIgorKyJ0aGUgaGRkdGVtcCBtYW4gcGFnZSBiZWZvcmUgc2VuZGluZyBhIHJlcG9ydCAoc2VjdGlvbiBSRVBPUlQpLiBUaGFua3MuXG4iCisgbXNnc3RyICIiCisgCistIzogc3JjL2hkZHRlbXAuYzozMDgKKysjOiBzcmMvaGRkdGVtcC5jOjMzOAorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiBpbnZhbGlkIHNlcGFyYXRvci5cbiIKKyBtc2dzdHIgIu/76eLr4TogzsXXxdLO2cog0sHaxMXMydTFzNguXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzozMTkKKysjOiBzcmMvaGRkdGVtcC5jOjM0OQorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiBpbnZhbGlkIHBvcnQgbnVtYmVyLlxuIgorIG1zZ3N0ciAi7/3p4uvhOiDOxdfF0s7ZyiDOz83F0iDQz9LUwS5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjMyOQorKyM6IHNyYy9oZGR0ZW1wLmM6MzcxCisgIywgZnV6enksIGMtZm9ybWF0CisgbXNnaWQgIiIKKy0iIFVzYWdlOiBoZGR0ZW1wIFtPUFRJT05TXSBESVNLMSBbRElTSzJdLi4uXG4iCisrIiBVc2FnZTogaGRkdGVtcCBbT1BUSU9OU10gW1RZUEU6XURJU0sxIFtbVFlQRTpdRElTSzJdLi4uXG4iCisgIlxuIgorICIgICBoZGR0ZW1wIGRpc3BsYXlzIHRoZSB0ZW1wZXJhdHVyZSBvZiBkcml2ZXMgc3VwcGxpZWQgaW4gYXJndW1lbnQuXG4iCisgIiAgIERyaXZlcyBtdXN0IHN1cHBvcnQgUy5NLkEuUi5ULlxuIgorICJcbiIKKysiICBUWVBFIGNvdWxkIGJlIFNBVEEsIFBBVEEgb3IgU0NTSS4gSWYgb21pdHRlZCBoZGR0ZW1wIHdpbGwgdHJ5IHRvIGd1ZXNzLlxuIgorKyJcbiIKKyAiICAtYiAgIC0tZHJpdmViYXNlICAgOiAgZGlzcGxheSBkYXRhYmFzZSBmaWxlIGNvbnRlbnQgdGhhdCBhbGxvdyBoZGR0ZW1wIHRvXG4iCisgIiAgICAgICAgICAgICAgICAgICAgICAgIHJlY29nbml6ZSBzdXBwb3J0ZWQgZHJpdmVzLlxuIgorICIgIC1EICAgLS1kZWJ1ZyAgICAgICA6ICBkaXNwbGF5IHZhcmlvdXMgUy5NLkEuUi5ULiBmaWVsZHMgYW5kIHRoZWlyIHZhbHVlcy5cbiIKK0BAIC0xMjgsNiArOTksNyBAQAorICIgIC1kICAgLS1kYWVtb24gICAgICA6ICBydW4gaGRkdGVtcCBpbiBUQ1AvSVAgZGFlbW9uIG1vZGUgKHBvcnQgJWQgYnkgIgorICJkZWZhdWx0LilcbiIKKyAiICAtZiAgIC0tZmlsZT1GSUxFICAgOiAgc3BlY2lmeSBkYXRhYmFzZSBmaWxlIHRvIHVzZS5cbiIKKysiICAtRiAgIC0tZm9yZWdyb3VuZCAgOiAgZG9uJ3QgZGFlbW9uaXplLCBzdGF5IGluIGZvcmVncm91bmQuXG4iCisgIiAgLWwgICAtLWxpc3Rlbj1hZGRyIDogIGxpc3RlbiBvbiBhIHNwZWNpZmljIGludGVyZmFjZSAoaW4gVENQL0lQIGRhZW1vbiAiCisgIm1vZGUpLlxuIgorICIgIC1uICAgLS1udW1lcmljICAgICA6ICBwcmludCBvbmx5IHRoZSB0ZW1wZXJhdHVyZS5cbiIKK0BAIC0xMzUsNiArMTA3LDggQEAKKyAiICAtcyAgIC0tc2VwYXJhdG9yPUMgOiAgc2VwYXJhdG9yIHRvIHVzZSBiZXR3ZWVuIGZpZWxkcyAoaW4gVENQL0lQIGRhZW1vbiAiCisgIm1vZGUpLlxuIgorICIgIC1TICAgLS1zeXNsb2c9cyAgICA6ICBsb2cgdGVtcGVyYXR1cmUgdG8gc3lzbG9nIGV2ZXJ5IHMgc2Vjb25kcy5cbiIKKysiICAtdSAgIC0tdW5pdD1bQ3xGXSAgOiAgZm9yY2Ugb3V0cHV0IHRlbXBlcmF0dXJlIGVpdGhlciBpbiBDZWxzaXVzIG9yICIKKysiRmFocmVuaGVpdC5cbiIKKyAiICAtcSAgIC0tcXVpZXQgICAgICAgOiAgZG8gbm90IGNoZWNrIGlmIHRoZSBkcml2ZSBpcyBzdXBwb3J0ZWQuXG4iCisgIiAgLXYgICAtLXZlcnNpb24gICAgIDogIGRpc3BsYXkgaGRkdGVtcCB2ZXJzaW9uIG51bWJlci5cbiIKKyAiICAtdyAgIC0td2FrZS11cCAgICAgOiAgd2FrZS11cCB0aGUgZHJpdmUgaWYgbmVlZC5cbiIKK0BAIC0xNjgsNTkgKzE0Miw5MCBAQAorICJcbiIKKyAi88/Pwt3FzsnRIM/CIM/bycLLwcggySDEwc7O2cUgxMzRIMTJ08vP1yDP1NDSwdfM0crUxSDOwSA8aGRkdGVtcEBndXp1Lm5ldD4uXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzo1MjIKKysjOiBzcmMvaGRkdGVtcC5jOjQwMgorICMsIGMtZm9ybWF0CisgbXNnaWQgImhkZHRlbXAgdmVyc2lvbiAlc1xuIgorIG1zZ3N0ciAi98XS08nRIGhkZHRlbXA6ICVzXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzo1NDcKKysjOiBzcmMvaGRkdGVtcC5jOjQxOAorICMsIGZ1enp5LCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogaW52YWxpZCBpbnRlcnZhbC5cbiIKKyBtc2dzdHIgIu/76eLr4TogzsXXxdLO2cog0sHaxMXMydTFzNguXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzo1NDcKKysjOiBzcmMvaGRkdGVtcC5jOjQzOAorKyMsIGMtZm9ybWF0CisgbXNnaWQgIlRvbyBmZXcgYXJndW1lbnRzOiB5b3UgbXVzdCBzcGVjaWZ5IG9uZSBkcml2ZSwgYXQgbGVhc3QuXG4iCisgbXNnc3RyICIiCisgCistIzogc3JjL2hkZHRlbXAuYzo1NTcKKy0jLCBmdXp6eQorKyM6IHNyYy9oZGR0ZW1wLmM6NDQ4CisrIywgZnV6enksIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiBjYW4ndCB1c2UgLS1kZWJ1ZyBhbmQgLS1kYWVtb24gb3IgLS1zeXNsb2cgb3B0aW9ucyB0b2dldGhlci5cbiIKKyBtc2dzdHIgIu/76eLr4Togz8TOz9fSxc3Fzs7PxSDJ09DPzNjaz9fBzsnFIC0tZGVidWcgySAtLWRhZW1vbiDOxcTP0NXT1MnNzy5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjU4MworKyM6IHNyYy9oZGR0ZW1wLmM6NTA1CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6ICVzOiBjYW4ndCBkZXRlcm1pbmUgYnVzIHR5cGUgKG9yIHRoaXMgYnVzIHR5cGUgaXMgdW5rbm93bilcbiIKKyBtc2dzdHIgIu/76eLr4TogJXM6IM7F18/azc/Wzs8gz9DSxcTFzMnU2CDUydAg28nO2VxuIgorIAorLSM6IHNyYy9hdGEuYzo2NiBzcmMvc2NzaS5jOjY4CisrIzogc3JjL2F0YS5jOjY2IHNyYy9zY3NpLmM6NjQKKyBtc2dpZCAidW5rbm93biIKKyBtc2dzdHIgIs7FydrXLiIKKyAKKy0jOiBzcmMvYXRhLmM6OTgKKysjOiBzcmMvYXRhLmM6ODUgc3JjL2F0YS5jOjEwNCBzcmMvc2NzaS5jOjkxCisgIywgYy1mb3JtYXQKKy1tc2dpZCAiZmllbGQoJWQpXHQgPSAlZFxuIgorLW1zZ3N0ciAi0M/MxSglZClcdCA9ICVkXG4iCistCistIzogc3JjL2F0YS5jOjE2NworIG1zZ2lkICJTLk0uQS5SLlQuIG5vdCBhdmFpbGFibGUiCisgbXNnc3RyICJTLk0uQS5SLlQuIM7FxM/T1NXQxc4iCisgCistIzogc3JjL2RiLmM6MTgwCisrIzogc3JjL2RiLmM6MTE1CisrIywgYy1mb3JtYXQKKyttc2dpZCAiIgorKyJcbiIKKysiUmVnZXhwJXN8IFZhbHVlIHwgRGVzY3JpcHRpb25cbiIKKysiLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyttc2dzdHIgIiIKKysiXG4iCisrIvLFx9zL0yVzfCD6zsHeLiB8IO/QydPBzsnFICAgXG4iCisrIi0tLS0tLSVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisrCisrIzogc3JjL2RiLmM6MTIxCisrIywgYy1mb3JtYXQKKyttc2dpZCAiJXMlc3wgJTVkIHwgJXNcbiIKKyttc2dzdHIgIiIKKysKKysjOiBzcmMvZGIuYzoyMzYKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJoZGR0ZW1wOiBjYW4ndCBvcGVuICUxJHM6ICUyJHNcbiIKKyBtc2dzdHIgImhkZHRlbXA6IM7FIM3Px9Ugz9TL0tnU2CAlMSRzOiAlMiRzXG4iCisgCistIzogc3JjL2RiLmM6MTk0CisrIzogc3JjL2RiLmM6MjUwCisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6IHN5bnRheCBlcnJvciBhdCBsaW5lICUxJGQgaW4gJTIkc1xuIgorIG1zZ3N0ciAi88nO1MHL08nexdPLwdEg7/vp4uvhINcg09TSz8vFICUxJGQgxsHKzMEgJTIkc1xuIgorIAorLSM6IHNyYy9kYi5jOjIwMQorKyM6IHNyYy9kYi5jOjI1NworICMsIGMtZm9ybWF0CisgbXNnaWQgIiAgRVJST1I6IGxpbmUgZXhjZWVkICUxJGQgY2hhcmFjdGVycyBpbiAlMiRzLlxuIgorIG1zZ3N0ciAi7/vp4uvhOiDT1NLPy8EgxMzJzs7FxSAlMSRkINPJzdfPzM/XINcgJTIkcy5cbiIKKyAKKy0jOiBzcmMvc2NzaS5jOjExMiBzcmMvc2NzaS5jOjEzMAorKyM6IHNyYy9zY3NpLmM6MTExIHNyYy9zY3NpLmM6MTI5CisgIywgYy1mb3JtYXQKKyBtc2dpZCAibG9nIHNlbnNlIGZhaWxlZCA6ICVzIgorIG1zZ3N0ciAiIgorKworKyN+IG1zZ2lkICIiCisrI34gIldBUk5JTkc6IERyaXZlICVzIGRvZXNuJ3QgYXBwZWFyIGluIHRoZSBkYXRhYmFzZSBvZiBzdXBwb3J0ZWQgZHJpdmVzXG4iCisrI34gIldBUk5JTkc6IEJ1dCB1c2luZyBhIGNvbW1vbiB2YWx1ZSwgaXQgcmVwb3J0cyBzb21ldGhpbmcuXG4iCisrI34gIldBUk5JTkc6IE5vdGUgdGhhdCB0aGUgdGVtcGVyYXR1cmUgc2hvd24gY291bGQgYmUgd3JvbmcuXG4iCisrI34gIldBUk5JTkc6IFNlZSAtLWhlbHAsIC0tZGVidWcgYW5kIC0tZHJpdmViYXNlIG9wdGlvbnMuXG4iCisrI34gIldBUk5JTkc6IEFuZCBkb24ndCBmb3JnZXQgeW91IGNhbiBhZGQgeW91ciBkcml2ZSB0byBoZGR0ZW1wLmRiXG4iCisrI34gbXNnc3RyICIiCisrI34gIvfu6e3h7unlOiDkydPLICVzIM7FINfLzMDexc4g1yDCwdrVIMTBzs7ZyCDQz8TExdLWydfBxc3ZyCDQ0snXz8TP1y5cbiIKKysjfiAi9+7p7eHu6eU6IO7PINMgydPQz8zY2s/Xwc7Jxc0g0sHT0NLP09TSwc7Fzs7ZyCDQwdLBzcXU0s/XIM/OIN7Uzy3UzyAiCisrI34gItfZxMHF1C5cbiIKKysjfiAi9+7p7eHu6eU6IPrBzcXU2NTFLCDe1M8g0M/LwdrBzs7B0SDUxc3QxdLB1NXSwSDNz9bF1CDUwcvP18/KIM7FICIKKysjfiAi0dfM0dTY09EuXG4iCisrI34gIvfu6e3h7unlOiDzzS4gz9DDyckgLS1oZWxwLCAtLWRlYnVnIMkgLS1kcml2ZWJhc2UuXG4iCisrI34gIvfu6e3h7unlOiDpIM7FINrBwtXE2NTFLCDe1M8gzc/Wzs8gxM/CwdfJ1Ngg0NLJ18/EINcgaGRkdGVtcC5kYlxuIgorKworKyN+IG1zZ2lkICJmaWVsZCglZClcdCA9ICVkXG4iCisrI34gbXNnc3RyICLQz8zFKCVkKVx0ID0gJWRcbiIKKy0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9wby9zdi5wbworKysrIGhkZHRlbXAtMC4zLWJldGExNS9wby9zdi5wbworQEAgLTYsOCArNiw4IEBACisgbXNnaWQgIiIKKyBtc2dzdHIgIiIKKyAiUHJvamVjdC1JZC1WZXJzaW9uOiBoZGR0ZW1wIDAuMy1iZXRhMTQtNFxuIgorLSJSZXBvcnQtTXNnaWQtQnVncy1UbzogaGRkdGVtcEBndXp1Lm5ldFxuIgorLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNS0wMi0yNSAyMjo0MyswMTAwXG4iCisrIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKKysiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDYtMDYtMjkgMTY6MjQrMDIwMFxuIgorICJQTy1SZXZpc2lvbi1EYXRlOiAyMDA1LTExLTAyIDE5OjAzKzAxMDBcbiIKKyAiTGFzdC1UcmFuc2xhdG9yOiBEYW5pZWwgTnlsYW5kZXIgPHBvQGRhbmllbG55bGFuZGVyLnNlPlxuIgorICJMYW5ndWFnZS1UZWFtOiBTd2VkaXNoIDxzdkBsaS5vcmc+XG4iCitAQCAtMTcsMjMgKzE3LDcgQEAKKyAiWC1Qb2VkaXQtTGFuZ3VhZ2U6IHN3ZVxuIgorICJYLVBvZWRpdC1Db3VudHJ5OiBzd2VcbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjExMgorLSMsIGMtZm9ybWF0CistbXNnaWQgIiIKKy0iXG4iCistIlJlZ2V4cCVzfCBWYWx1ZSB8IERlc2NyaXB0aW9uXG4iCistIi0tLS0tLSVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCistbXNnc3RyICIiCistIlxuIgorLSJSZWdleHAlc3wgVuRyZGUgfCBCZXNrcml2bmluZ1xuIgorLSItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorLQorLSM6IHNyYy9oZGR0ZW1wLmM6MTE4CistIywgYy1mb3JtYXQKKy1tc2dpZCAiJXMlc3wgJTVkIHwgJXNcbiIKKy1tc2dzdHIgIiVzJXN8ICU1ZCB8ICVzXG4iCistCistIzogc3JjL2hkZHRlbXAuYzoxNjEKKysjOiBzcmMvaGRkdGVtcC5jOjE1NgorICMsIGMtZm9ybWF0CisgbXNnaWQgIiIKKyAiXG4iCitAQCAtNDYsNyArMzAsNyBAQAorICJNb2RlbGw6ICVzXG4iCisgIlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MTg4CisrIzogc3JjL2hkZHRlbXAuYzoxODkKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIiCisgIldBUk5JTkc6IERyaXZlICVzIGRvZXNuJ3Qgc2VlbSB0byBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIgorQEAgLTYwLDc2ICs0NCw2MyBAQAorICJuZXQpLlxuIgorICJWQVJOSU5HOiBTZSAtLWhlbHAsIC0tZGVidWcgb2NoIC0tZHJpdmViYXNlIGZsYWdnb3JuYS5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjE5MgorKyM6IHNyYy9oZGR0ZW1wLmM6MTk3CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiJXM6ICVzOiAgbm8gc2Vuc29yXG4iCisgbXNnc3RyICIlczogJXM6ICBpbmdlbiBzZW5zb3JcbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjE5NworLSMsIGMtZm9ybWF0CistbXNnaWQgIiIKKy0iV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBhcHBlYXIgaW4gdGhlIGRhdGFiYXNlIG9mIHN1cHBvcnRlZCBkcml2ZXNcbiIKKy0iV0FSTklORzogQnV0IHVzaW5nIGEgY29tbW9uIHZhbHVlLCBpdCByZXBvcnRzIHNvbWV0aGluZy5cbiIKKy0iV0FSTklORzogTm90ZSB0aGF0IHRoZSB0ZW1wZXJhdHVyZSBzaG93biBjb3VsZCBiZSB3cm9uZy5cbiIKKy0iV0FSTklORzogU2VlIC0taGVscCwgLS1kZWJ1ZyBhbmQgLS1kcml2ZWJhc2Ugb3B0aW9ucy5cbiIKKy0iV0FSTklORzogQW5kIGRvbid0IGZvcmdldCB5b3UgY2FuIGFkZCB5b3VyIGRyaXZlIHRvIGhkZHRlbXAuZGJcbiIKKy1tc2dzdHIgIiIKKy0iVkFSTklORzogRGlza2VuICVzIHZlcmthciBpbnRlIGZpbm5hcyBpIGRhdGFiYXNlbiD2dmVyIGRpc2thciBzb20gc3T2ZHNcbiIKKy0iVkFSTklORzogTWVuIGFuduRuZGVyIG1hbiBldHQgdmFubGlndCB25HJkZSByYXBwb3J0ZXJhciBkZW4gbuVnb3QuXG4iCistIlZBUk5JTkc6IE5vdGVyYSBhdHQgdGVtcGVyYXR1cmVuIHNvbSB2aXNhcyBrYW4gdmFyYSBmZWxha3RpZy5cbiIKKy0iVkFSTklORzogU2UgLS1oZWxwLCAtLWRlYnVnIG9jaCAtLWRyaXZlYmFzZSBmbGFnZ29ybmEuXG4iCistIlZBUk5JTkc6IE9jaCBnbPZtIGludGUgYXR0IGR1IGthbiBs5GdnYSB0aWxsIGRpbiBkaXNrIHRpbGwgaGRkdGVtcC5kYlxuIgorLQorLSM6IHNyYy9oZGR0ZW1wLmM6MjAyCisrIzogc3JjL2hkZHRlbXAuYzoyMTEKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIlczogJXM6ICAlZCVzQyBvciAlc0ZcbiIKKyBtc2dzdHIgIiVzOiAlczogICVkJXNDIGVsbGVyICVzRlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MjE0CisrIzogc3JjL2hkZHRlbXAuYzoyMzUKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIlczogJXM6IGRyaXZlIGlzIHNsZWVwaW5nXG4iCisgbXNnc3RyICIlczogJXM6IGRpc2tlbiBzb3ZlclxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MjE3CistIywgYy1mb3JtYXQKKy1tc2dpZCAiJXM6ICVzOiAga25vd24gZHJpdmUsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCisrIzogc3JjL2hkZHRlbXAuYzoyNDIKKysjLCBmdXp6eSwgYy1mb3JtYXQKKyttc2dpZCAiJXM6ICVzOiAgZHJpdmUgc3VwcG9ydGVkLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIgorIG1zZ3N0ciAiJXM6ICVzOiAga+RuZCBkaXNrIG1lbiBkZW4gaGFyIGluZ2VuIHRlbXBlcmF0dXJzZW5zb3IuXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoyMjAKKysjOiBzcmMvaGRkdGVtcC5jOjI0NgorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiAlczogJXM6IHVua25vd24gcmV0dXJuZWQgc3RhdHVzXG4iCisgbXNnc3RyICJGRUw6ICVzOiAlczogb2vkbmQgcmV0dXJuZXJhZCBzdGF0dXNcbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjIzNQorLSMsIGMtZm9ybWF0CisrIzogc3JjL2hkZHRlbXAuYzoyNjEKKysjLCBmdXp6eSwgYy1mb3JtYXQKKyBtc2dpZCAiIgorICJcbiIKKyAiSWYgb25lIG9mIHRoZSBmaWVsZCB2YWx1ZSBzZWVtcyB0byBtYXRjaCB0aGUgdGVtcGVyYXR1cmUsIGJlIHN1cmUgdG8gcmVhZFxuIgorLSJ0aGUgaGRkdGVtcCBtYW4gcGFnZSBiZWZvcmUgc2VuZGluZyBtZSBhIHJlcG9ydCAoc2VjdGlvbiBSRVBPUlQpLiBUaGFua3MuXG4iCisrInRoZSBoZGR0ZW1wIG1hbiBwYWdlIGJlZm9yZSBzZW5kaW5nIGEgcmVwb3J0IChzZWN0aW9uIFJFUE9SVCkuIFRoYW5rcy5cbiIKKyBtc2dzdHIgIiIKKyAiXG4iCisgIk9tIGV0dCBhdiBm5Gx0duRyZGVuYSB2ZXJrYXIgbWF0Y2hhIHRlbXBlcmF0dXJlbiwgdmFyIHPka2VyIHDlIGF0dCBkdVxuIgorICJs5HN0IG1hbnVhbHNpZGFuIGb2ciBoZGR0ZW1wIGb2cmUgZHUgc2tpY2thciBlbiByYXBwb3J0IHRpbGwgbWlnIChzZWt0aW9uZW5cbiIKKyAiUkVQT1JUKS4gVGFjay5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjMwOAorKyM6IHNyYy9oZGR0ZW1wLmM6MzM4CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6IGludmFsaWQgc2VwYXJhdG9yLlxuIgorIG1zZ3N0ciAiRkVMOiBvZ2lsdGlnIHNlcGFyYXRvci5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjMxOQorKyM6IHNyYy9oZGR0ZW1wLmM6MzQ5CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6IGludmFsaWQgcG9ydCBudW1iZXIuXG4iCisgbXNnc3RyICJGRUw6IG9naWx0aWd0IHBvcnRudW1tZXIuXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzozMjkKKy0jLCBjLWZvcm1hdAorKyM6IHNyYy9oZGR0ZW1wLmM6MzcxCisrIywgZnV6enksIGMtZm9ybWF0CisgbXNnaWQgIiIKKy0iIFVzYWdlOiBoZGR0ZW1wIFtPUFRJT05TXSBESVNLMSBbRElTSzJdLi4uXG4iCisrIiBVc2FnZTogaGRkdGVtcCBbT1BUSU9OU10gW1RZUEU6XURJU0sxIFtbVFlQRTpdRElTSzJdLi4uXG4iCisgIlxuIgorICIgICBoZGR0ZW1wIGRpc3BsYXlzIHRoZSB0ZW1wZXJhdHVyZSBvZiBkcml2ZXMgc3VwcGxpZWQgaW4gYXJndW1lbnQuXG4iCisgIiAgIERyaXZlcyBtdXN0IHN1cHBvcnQgUy5NLkEuUi5ULlxuIgorICJcbiIKKysiICBUWVBFIGNvdWxkIGJlIFNBVEEsIFBBVEEgb3IgU0NTSS4gSWYgb21pdHRlZCBoZGR0ZW1wIHdpbGwgdHJ5IHRvIGd1ZXNzLlxuIgorKyJcbiIKKyAiICAtYiAgIC0tZHJpdmViYXNlICAgOiAgZGlzcGxheSBkYXRhYmFzZSBmaWxlIGNvbnRlbnQgdGhhdCBhbGxvdyBoZGR0ZW1wIHRvXG4iCisgIiAgICAgICAgICAgICAgICAgICAgICAgIHJlY29nbml6ZSBzdXBwb3J0ZWQgZHJpdmVzLlxuIgorICIgIC1EICAgLS1kZWJ1ZyAgICAgICA6ICBkaXNwbGF5IHZhcmlvdXMgUy5NLkEuUi5ULiBmaWVsZHMgYW5kIHRoZWlyIHZhbHVlcy5cbiIKK0BAIC0xMzksNiArMTEwLDcgQEAKKyAiICAtZCAgIC0tZGFlbW9uICAgICAgOiAgcnVuIGhkZHRlbXAgaW4gVENQL0lQIGRhZW1vbiBtb2RlIChwb3J0ICVkIGJ5ICIKKyAiZGVmYXVsdC4pXG4iCisgIiAgLWYgICAtLWZpbGU9RklMRSAgIDogIHNwZWNpZnkgZGF0YWJhc2UgZmlsZSB0byB1c2UuXG4iCisrIiAgLUYgICAtLWZvcmVncm91bmQgIDogIGRvbid0IGRhZW1vbml6ZSwgc3RheSBpbiBmb3JlZ3JvdW5kLlxuIgorICIgIC1sICAgLS1saXN0ZW49YWRkciA6ICBsaXN0ZW4gb24gYSBzcGVjaWZpYyBpbnRlcmZhY2UgKGluIFRDUC9JUCBkYWVtb24gIgorICJtb2RlKS5cbiIKKyAiICAtbiAgIC0tbnVtZXJpYyAgICAgOiAgcHJpbnQgb25seSB0aGUgdGVtcGVyYXR1cmUuXG4iCitAQCAtMTQ2LDYgKzExOCw4IEBACisgIiAgLXMgICAtLXNlcGFyYXRvcj1DIDogIHNlcGFyYXRvciB0byB1c2UgYmV0d2VlbiBmaWVsZHMgKGluIFRDUC9JUCBkYWVtb24gIgorICJtb2RlKS5cbiIKKyAiICAtUyAgIC0tc3lzbG9nPXMgICAgOiAgbG9nIHRlbXBlcmF0dXJlIHRvIHN5c2xvZyBldmVyeSBzIHNlY29uZHMuXG4iCisrIiAgLXUgICAtLXVuaXQ9W0N8Rl0gIDogIGZvcmNlIG91dHB1dCB0ZW1wZXJhdHVyZSBlaXRoZXIgaW4gQ2Vsc2l1cyBvciAiCisrIkZhaHJlbmhlaXQuXG4iCisgIiAgLXEgICAtLXF1aWV0ICAgICAgIDogIGRvIG5vdCBjaGVjayBpZiB0aGUgZHJpdmUgaXMgc3VwcG9ydGVkLlxuIgorICIgIC12ICAgLS12ZXJzaW9uICAgICA6ICBkaXNwbGF5IGhkZHRlbXAgdmVyc2lvbiBudW1iZXIuXG4iCisgIiAgLXcgICAtLXdha2UtdXAgICAgIDogIHdha2UtdXAgdGhlIGRyaXZlIGlmIG5lZWQuXG4iCitAQCAtMTg0LDYxICsxNTgsOTEgQEAKKyAiXG4iCisgIlJhcHBvcnRlcmEgYnVnZ2FyIGVsbGVyIG55YSBo5XJkZGlza2FyIHRpbGwgPGhkZHRlbXBAZ3V6dS5uZXQ+LlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6NTIyCisrIzogc3JjL2hkZHRlbXAuYzo0MDIKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJoZGR0ZW1wIHZlcnNpb24gJXNcbiIKKyBtc2dzdHIgImhkZHRlbXAgdmVyc2lvbiAlc1xuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6NTQ3CisrIzogc3JjL2hkZHRlbXAuYzo0MTgKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogaW52YWxpZCBpbnRlcnZhbC5cbiIKKyBtc2dzdHIgIkZFTDogb2dpbHRpZ3QgaW50ZXJ2YWxsLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6NTQ3CisrIzogc3JjL2hkZHRlbXAuYzo0MzgKKysjLCBjLWZvcm1hdAorIG1zZ2lkICJUb28gZmV3IGFyZ3VtZW50czogeW91IG11c3Qgc3BlY2lmeSBvbmUgZHJpdmUsIGF0IGxlYXN0LlxuIgorIG1zZ3N0ciAiRvZyIGblIGFyZ3VtZW50OiBkdSBt5XN0ZSBzcGVjaWZpY2VyYSDldG1pbnN0b25lIGVuIGRpc2suXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzo1NTcKKysjOiBzcmMvaGRkdGVtcC5jOjQ0OAorKyMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiBjYW4ndCB1c2UgLS1kZWJ1ZyBhbmQgLS1kYWVtb24gb3IgLS1zeXNsb2cgb3B0aW9ucyB0b2dldGhlci5cbiIKKyBtc2dzdHIgIiIKKyAiRkVMOiBrYW4gaW50ZSBhbnbkbmRhIC0tZGVidWcgb2NoIC0tZGFlbW9uIGVsbGVyIC0tc3lzbG9nIGZsYWdnb3JuYSAiCisgInRpbGxzYW1tYW5zLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6NTgzCisrIzogc3JjL2hkZHRlbXAuYzo1MDUKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogJXM6IGNhbid0IGRldGVybWluZSBidXMgdHlwZSAob3IgdGhpcyBidXMgdHlwZSBpcyB1bmtub3duKVxuIgorIG1zZ3N0ciAiIgorICJGRUw6ICVzOiBrYW4gaW50ZSBmYXN0c3TkbGxhIGJ1c3N0eXAgKGVsbGVyIHPlIORyIGRlbm5hIGJ1c3N0eXAgb2vkbmQpXG4iCisgCistIzogc3JjL2F0YS5jOjY2IHNyYy9zY3NpLmM6NjgKKysjOiBzcmMvYXRhLmM6NjYgc3JjL3Njc2kuYzo2NAorIG1zZ2lkICJ1bmtub3duIgorIG1zZ3N0ciAib2vkbmQiCisgCistIzogc3JjL2F0YS5jOjk4CisrIzogc3JjL2F0YS5jOjg1IHNyYy9hdGEuYzoxMDQgc3JjL3Njc2kuYzo5MQorICMsIGMtZm9ybWF0CistbXNnaWQgImZpZWxkKCVkKVx0ID0gJWRcbiIKKy1tc2dzdHIgImbkbHQoJWQpXHQgPSAlZFxuIgorLQorLSM6IHNyYy9hdGEuYzoxNjcKKyBtc2dpZCAiUy5NLkEuUi5ULiBub3QgYXZhaWxhYmxlIgorIG1zZ3N0ciAiUy5NLkEuUi5ULiDkciBpbnRlIHRpbGxn5G5nbGlnIgorIAorLSM6IHNyYy9kYi5jOjE4MAorKyM6IHNyYy9kYi5jOjExNQorKyMsIGMtZm9ybWF0CisrbXNnaWQgIiIKKysiXG4iCisrIlJlZ2V4cCVzfCBWYWx1ZSB8IERlc2NyaXB0aW9uXG4iCisrIi0tLS0tLSVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisrbXNnc3RyICIiCisrIlxuIgorKyJSZWdleHAlc3wgVuRyZGUgfCBCZXNrcml2bmluZ1xuIgorKyItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorKworKyM6IHNyYy9kYi5jOjEyMQorKyMsIGMtZm9ybWF0CisrbXNnaWQgIiVzJXN8ICU1ZCB8ICVzXG4iCisrbXNnc3RyICIlcyVzfCAlNWQgfCAlc1xuIgorKworKyM6IHNyYy9kYi5jOjIzNgorICMsIGMtZm9ybWF0CisgbXNnaWQgImhkZHRlbXA6IGNhbid0IG9wZW4gJTEkczogJTIkc1xuIgorIG1zZ3N0ciAiaGRkdGVtcDoga2FuIGludGUg9nBwbmEgJTEkczogJTIkc1xuIgorIAorLSM6IHNyYy9kYi5jOjE5NAorKyM6IHNyYy9kYi5jOjI1MAorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiBzeW50YXggZXJyb3IgYXQgbGluZSAlMSRkIGluICUyJHNcbiIKKyBtc2dzdHIgIkZFTDogc3ludGF4ZmVsIHDlIHJhZCAlMSRkIGkgJTIkc1xuIgorIAorLSM6IHNyYy9kYi5jOjIwMQorKyM6IHNyYy9kYi5jOjI1NworICMsIGMtZm9ybWF0CisgbXNnaWQgIiAgRVJST1I6IGxpbmUgZXhjZWVkICUxJGQgY2hhcmFjdGVycyBpbiAlMiRzLlxuIgorIG1zZ3N0ciAiIEZFTDogcmFkZW4g9nZlcnN0aWdlciAlMSRkIHRlY2tlbiBpICUyJHMuXG4iCisgCistIzogc3JjL3Njc2kuYzoxMTIgc3JjL3Njc2kuYzoxMzAKKysjOiBzcmMvc2NzaS5jOjExMSBzcmMvc2NzaS5jOjEyOQorICMsIGMtZm9ybWF0CisgbXNnaWQgImxvZyBzZW5zZSBmYWlsZWQgOiAlcyIKKyBtc2dzdHIgImlnZW5r5G5uaW5nIGF2IGxvZ2cgbWlzc2x5Y2thZGVzIDogJXMiCisrCisrI34gbXNnaWQgIiIKKysjfiAiV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBhcHBlYXIgaW4gdGhlIGRhdGFiYXNlIG9mIHN1cHBvcnRlZCBkcml2ZXNcbiIKKysjfiAiV0FSTklORzogQnV0IHVzaW5nIGEgY29tbW9uIHZhbHVlLCBpdCByZXBvcnRzIHNvbWV0aGluZy5cbiIKKysjfiAiV0FSTklORzogTm90ZSB0aGF0IHRoZSB0ZW1wZXJhdHVyZSBzaG93biBjb3VsZCBiZSB3cm9uZy5cbiIKKysjfiAiV0FSTklORzogU2VlIC0taGVscCwgLS1kZWJ1ZyBhbmQgLS1kcml2ZWJhc2Ugb3B0aW9ucy5cbiIKKysjfiAiV0FSTklORzogQW5kIGRvbid0IGZvcmdldCB5b3UgY2FuIGFkZCB5b3VyIGRyaXZlIHRvIGhkZHRlbXAuZGJcbiIKKysjfiBtc2dzdHIgIiIKKysjfiAiVkFSTklORzogRGlza2VuICVzIHZlcmthciBpbnRlIGZpbm5hcyBpIGRhdGFiYXNlbiD2dmVyIGRpc2thciBzb20gc3T2ZHNcbiIKKysjfiAiVkFSTklORzogTWVuIGFuduRuZGVyIG1hbiBldHQgdmFubGlndCB25HJkZSByYXBwb3J0ZXJhciBkZW4gbuVnb3QuXG4iCisrI34gIlZBUk5JTkc6IE5vdGVyYSBhdHQgdGVtcGVyYXR1cmVuIHNvbSB2aXNhcyBrYW4gdmFyYSBmZWxha3RpZy5cbiIKKysjfiAiVkFSTklORzogU2UgLS1oZWxwLCAtLWRlYnVnIG9jaCAtLWRyaXZlYmFzZSBmbGFnZ29ybmEuXG4iCisrI34gIlZBUk5JTkc6IE9jaCBnbPZtIGludGUgYXR0IGR1IGthbiBs5GdnYSB0aWxsIGRpbiBkaXNrIHRpbGwgaGRkdGVtcC5kYlxuIgorKworKyN+IG1zZ2lkICJmaWVsZCglZClcdCA9ICVkXG4iCisrI34gbXNnc3RyICJm5Gx0KCVkKVx0ID0gJWRcbiIKKy0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9wby9wdC5wbworKysrIGhkZHRlbXAtMC4zLWJldGExNS9wby9wdC5wbworQEAgLTcsNyArNyw3IEBACisgbXNnc3RyICIiCisgIlByb2plY3QtSWQtVmVyc2lvbjogaGRkdGVtcCAwLjMtYmV0YTE0XG4iCisgIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKKy0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDUtMDItMjUgMjI6NDMrMDEwMFxuIgorKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNi0wNi0yOSAxNjoyNCswMjAwXG4iCisgIlBPLVJldmlzaW9uLURhdGU6IDIwMDYtMDMtMjkgMjM6MjIrMDAwMFxuIgorICJMYXN0LVRyYW5zbGF0b3I6IE1pZ3VlbCBGaWd1ZWlyZWRvIDxlbG1pZ0BkZWJpYW5wLm9yZz5cbiIKKyAiTGFuZ3VhZ2UtVGVhbTogUG9ydHVndWVzZSA8dHJhZHV6QGRlYmlhbnB0Lm9yZz5cbiIKK0BAIC0xNSwyMyArMTUsNyBAQAorICJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKKyAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MTEyCistIywgYy1mb3JtYXQKKy1tc2dpZCAiIgorLSJcbiIKKy0iUmVnZXhwJXN8IFZhbHVlIHwgRGVzY3JpcHRpb25cbiIKKy0iLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKy1tc2dzdHIgIiIKKy0iXG4iCistIlJlZ2V4cCVzfCBWYWxvciB8IERlc2NyacOnw6NvXG4iCistIi0tLS0tLSVzLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorLQorLSM6IHNyYy9oZGR0ZW1wLmM6MTE4CistIywgYy1mb3JtYXQKKy1tc2dpZCAiJXMlc3wgJTVkIHwgJXNcbiIKKy1tc2dzdHIgIiVzJXN8ICU1ZCB8ICVzXG4iCistCistIzogc3JjL2hkZHRlbXAuYzoxNjEKKysjOiBzcmMvaGRkdGVtcC5jOjE1NgorICMsIGMtZm9ybWF0CisgbXNnaWQgIiIKKyAiXG4iCitAQCAtNDQsNyArMjgsNyBAQAorICJNb2RlbG86ICVzXG4iCisgIlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MTg4CisrIzogc3JjL2hkZHRlbXAuYzoxODkKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIiCisgIldBUk5JTkc6IERyaXZlICVzIGRvZXNuJ3Qgc2VlbSB0byBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIgorQEAgLTU0LDc5ICszOCw2OCBAQAorIG1zZ3N0ciAiIgorICJBVklTTzogTyBkaXNjbyAlcyBuw6NvIHBhcmVjZSB0ZXIgdW0gc2Vuc29yIGRlIHRlbXBlcmF0dXJhLlxuIgorICJBVklTTzogSXN0byBuw6NvIHNpZ25pZmljYSBxdWUgbsOjbyB0ZW0gbmVuaHVtLlxuIgorLSJBVklTTzogU2UgdGVtIGEgY2VydGV6YSBxdWUgdGVtIHVtLCBwb3IgZmF2b3IgY29udGFjdGUtbWUgKGhkZHRlbXBAZ3V6dS5uZXQpLlxuIgorKyJBVklTTzogU2UgdGVtIGEgY2VydGV6YSBxdWUgdGVtIHVtLCBwb3IgZmF2b3IgY29udGFjdGUtbWUgKGhkZHRlbXBAZ3V6dS4iCisrIm5ldCkuXG4iCisgIkFWSVNPOiBWZWphIGFzIG9ww6fDtWVzIC0taGVscCwgLS1kZWJ1ZyBlIC0tZHJpdmViYXNlLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MTkyCisrIzogc3JjL2hkZHRlbXAuYzoxOTcKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIlczogJXM6ICBubyBzZW5zb3JcbiIKKyBtc2dzdHIgIiVzOiAlczogc2VtIHNlbnNvclxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MTk3CistIywgYy1mb3JtYXQKKy1tc2dpZCAiIgorLSJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IGFwcGVhciBpbiB0aGUgZGF0YWJhc2Ugb2Ygc3VwcG9ydGVkIGRyaXZlc1xuIgorLSJXQVJOSU5HOiBCdXQgdXNpbmcgYSBjb21tb24gdmFsdWUsIGl0IHJlcG9ydHMgc29tZXRoaW5nLlxuIgorLSJXQVJOSU5HOiBOb3RlIHRoYXQgdGhlIHRlbXBlcmF0dXJlIHNob3duIGNvdWxkIGJlIHdyb25nLlxuIgorLSJXQVJOSU5HOiBTZWUgLS1oZWxwLCAtLWRlYnVnIGFuZCAtLWRyaXZlYmFzZSBvcHRpb25zLlxuIgorLSJXQVJOSU5HOiBBbmQgZG9uJ3QgZm9yZ2V0IHlvdSBjYW4gYWRkIHlvdXIgZHJpdmUgdG8gaGRkdGVtcC5kYlxuIgorLW1zZ3N0ciAiIgorLSJBVklTTzogTyBkaXNjbyAlcyBuw6NvIHBhcmVjZSBlc3RhciBuYSBiYXNlIGRlIGRhZG9zIGRlIGRpc2NvcyBzdXBvcnRhZG9zXG4iCistIkFWSVNPOiBNYXMgYW8gdXRpbGl6YXIgdW0gdmFsb3IgdXN1YWwsIHJlbGF0YSBhbGd1bWEgY29pc2EuXG4iCistIkFWSVNPOiBOb3RlIHF1ZSBhIHRlbXBlcmF0dXJhIG1vc3RyYWRhIHBvZGUgZXN0YXIgZXJyYWRhLlxuIgorLSJBVklTTzogVmVqYSBhcyBvcMOnw7VlcyAtLWhlbHAsIC0tZGVidWcgZSAtLWZyaXZlYmFzZS5cbiIKKy0iQVZJU086IEUgbsOjbyBzZSBlc3F1ZcOnYSBkZSBhZGljaW9uYXIgbyBzZXUgZGlzY28gYSBoZGR0ZW1wLmRiXG4iCistCistIzogc3JjL2hkZHRlbXAuYzoyMDIKKysjOiBzcmMvaGRkdGVtcC5jOjIxMQorICMsIGMtZm9ybWF0CisgbXNnaWQgIiVzOiAlczogICVkJXNDIG9yICVzRlxuIgorIG1zZ3N0ciAiJXM6ICVzOiAlZCVzQyBvdSAlc0ZcbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjIxNAorKyM6IHNyYy9oZGR0ZW1wLmM6MjM1CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiJXM6ICVzOiBkcml2ZSBpcyBzbGVlcGluZ1xuIgorIG1zZ3N0ciAiJXM6ICVzOiBvIGRpc2NvIGVzdMOhIGFkb3JtZWNpZG9cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjIxNworLSMsIGMtZm9ybWF0CistbXNnaWQgIiVzOiAlczogIGtub3duIGRyaXZlLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIgorKyM6IHNyYy9oZGR0ZW1wLmM6MjQyCisrIywgZnV6enksIGMtZm9ybWF0CisrbXNnaWQgIiVzOiAlczogIGRyaXZlIHN1cHBvcnRlZCwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKKyBtc2dzdHIgIiVzOiAlczogZGlzY28gY29uaGVjaWRvLCBtYXMgbsOjbyB0ZW0gdW0gc2Vuc29yIGRlIHRlbXBlcmF0dXJhLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MjIwCisrIzogc3JjL2hkZHRlbXAuYzoyNDYKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogJXM6ICVzOiB1bmtub3duIHJldHVybmVkIHN0YXR1c1xuIgorIG1zZ3N0ciAiRVJSTzogJXM6ICVzOiBlc3RhZG8gZGV2b2x2aWRvIGRlc2NvbmhlY2lkb1xuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MjM1CistIywgYy1mb3JtYXQKKysjOiBzcmMvaGRkdGVtcC5jOjI2MQorKyMsIGZ1enp5LCBjLWZvcm1hdAorIG1zZ2lkICIiCisgIlxuIgorICJJZiBvbmUgb2YgdGhlIGZpZWxkIHZhbHVlIHNlZW1zIHRvIG1hdGNoIHRoZSB0ZW1wZXJhdHVyZSwgYmUgc3VyZSB0byByZWFkXG4iCistInRoZSBoZGR0ZW1wIG1hbiBwYWdlIGJlZm9yZSBzZW5kaW5nIG1lIGEgcmVwb3J0IChzZWN0aW9uIFJFUE9SVCkuIFRoYW5rcy5cbiIKKysidGhlIGhkZHRlbXAgbWFuIHBhZ2UgYmVmb3JlIHNlbmRpbmcgYSByZXBvcnQgKHNlY3Rpb24gUkVQT1JUKS4gVGhhbmtzLlxuIgorIG1zZ3N0ciAiIgorICJcbiIKKy0iU2UgdW0gZG9zIGNhbXBvcyBkZSB2YWxvcmVzIHBhcmVjZXIgY29pbmNpZGlyIGNvbSBhIHRlbXBlcmF0dXJhLCBhc3NlZ3VyZS1zZVxuIgorKyJTZSB1bSBkb3MgY2FtcG9zIGRlIHZhbG9yZXMgcGFyZWNlciBjb2luY2lkaXIgY29tIGEgdGVtcGVyYXR1cmEsIGFzc2VndXJlLSIKKysic2VcbiIKKyAicXVlIGzDqiBhIHDDoWdpbmEgZG8gbWFudWFsIGhkZHRlbXAgYW50ZXMgZGUgbWUgZW52aWFyIHVtIHJlbGF0w7NyaW8gKHNlY8Onw6NvXG4iCisgIlJFUE9SVCkuIE9icmlnYWRvLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MzA4CisrIzogc3JjL2hkZHRlbXAuYzozMzgKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogaW52YWxpZCBzZXBhcmF0b3IuXG4iCisgbXNnc3RyICJFUlJPOiBzZXBhcmFkb3IgaW52w6FsaWRvLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MzE5CisrIzogc3JjL2hkZHRlbXAuYzozNDkKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogaW52YWxpZCBwb3J0IG51bWJlci5cbiIKKyBtc2dzdHIgIkVSUk86IG7Dum1lcm8gZGUgcG9ydCBpbnbDoWxpZG9cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjMyOQorLSMsIGMtZm9ybWF0CisrIzogc3JjL2hkZHRlbXAuYzozNzEKKysjLCBmdXp6eSwgYy1mb3JtYXQKKyBtc2dpZCAiIgorLSIgVXNhZ2U6IGhkZHRlbXAgW09QVElPTlNdIERJU0sxIFtESVNLMl0uLi5cbiIKKysiIFVzYWdlOiBoZGR0ZW1wIFtPUFRJT05TXSBbVFlQRTpdRElTSzEgW1tUWVBFOl1ESVNLMl0uLi5cbiIKKyAiXG4iCisgIiAgIGhkZHRlbXAgZGlzcGxheXMgdGhlIHRlbXBlcmF0dXJlIG9mIGRyaXZlcyBzdXBwbGllZCBpbiBhcmd1bWVudC5cbiIKKyAiICAgRHJpdmVzIG11c3Qgc3VwcG9ydCBTLk0uQS5SLlQuXG4iCisgIlxuIgorKyIgIFRZUEUgY291bGQgYmUgU0FUQSwgUEFUQSBvciBTQ1NJLiBJZiBvbWl0dGVkIGhkZHRlbXAgd2lsbCB0cnkgdG8gZ3Vlc3MuXG4iCisrIlxuIgorICIgIC1iICAgLS1kcml2ZWJhc2UgICA6ICBkaXNwbGF5IGRhdGFiYXNlIGZpbGUgY29udGVudCB0aGF0IGFsbG93IGhkZHRlbXAgdG9cbiIKKyAiICAgICAgICAgICAgICAgICAgICAgICAgcmVjb2duaXplIHN1cHBvcnRlZCBkcml2ZXMuXG4iCisgIiAgLUQgICAtLWRlYnVnICAgICAgIDogIGRpc3BsYXkgdmFyaW91cyBTLk0uQS5SLlQuIGZpZWxkcyBhbmQgdGhlaXIgdmFsdWVzLlxuIgorQEAgLTEzNiw2ICsxMDksNyBAQAorICIgIC1kICAgLS1kYWVtb24gICAgICA6ICBydW4gaGRkdGVtcCBpbiBUQ1AvSVAgZGFlbW9uIG1vZGUgKHBvcnQgJWQgYnkgIgorICJkZWZhdWx0LilcbiIKKyAiICAtZiAgIC0tZmlsZT1GSUxFICAgOiAgc3BlY2lmeSBkYXRhYmFzZSBmaWxlIHRvIHVzZS5cbiIKKysiICAtRiAgIC0tZm9yZWdyb3VuZCAgOiAgZG9uJ3QgZGFlbW9uaXplLCBzdGF5IGluIGZvcmVncm91bmQuXG4iCisgIiAgLWwgICAtLWxpc3Rlbj1hZGRyIDogIGxpc3RlbiBvbiBhIHNwZWNpZmljIGludGVyZmFjZSAoaW4gVENQL0lQIGRhZW1vbiAiCisgIm1vZGUpLlxuIgorICIgIC1uICAgLS1udW1lcmljICAgICA6ICBwcmludCBvbmx5IHRoZSB0ZW1wZXJhdHVyZS5cbiIKK0BAIC0xNDMsNiArMTE3LDggQEAKKyAiICAtcyAgIC0tc2VwYXJhdG9yPUMgOiAgc2VwYXJhdG9yIHRvIHVzZSBiZXR3ZWVuIGZpZWxkcyAoaW4gVENQL0lQIGRhZW1vbiAiCisgIm1vZGUpLlxuIgorICIgIC1TICAgLS1zeXNsb2c9cyAgICA6ICBsb2cgdGVtcGVyYXR1cmUgdG8gc3lzbG9nIGV2ZXJ5IHMgc2Vjb25kcy5cbiIKKysiICAtdSAgIC0tdW5pdD1bQ3xGXSAgOiAgZm9yY2Ugb3V0cHV0IHRlbXBlcmF0dXJlIGVpdGhlciBpbiBDZWxzaXVzIG9yICIKKysiRmFocmVuaGVpdC5cbiIKKyAiICAtcSAgIC0tcXVpZXQgICAgICAgOiAgZG8gbm90IGNoZWNrIGlmIHRoZSBkcml2ZSBpcyBzdXBwb3J0ZWQuXG4iCisgIiAgLXYgICAtLXZlcnNpb24gICAgIDogIGRpc3BsYXkgaGRkdGVtcCB2ZXJzaW9uIG51bWJlci5cbiIKKyAiICAtdyAgIC0td2FrZS11cCAgICAgOiAgd2FrZS11cCB0aGUgZHJpdmUgaWYgbmVlZC5cbiIKK0BAIC0xNTYsMTkgKzEzMiwyMyBAQAorICIgICBoZGR0ZW1wIG1vc3RyYSBhIHRlbXBlcmF0dXJhIGRvcyBkaXNjb3MgaW5kaWNhZG9zIG5vIGFyZ3VtZW50by5cbiIKKyAiICAgT3MgZGlzY29zIHTDqm0gZGUgc3Vwb3J0YXIgUy5NLkEuUi5ULlxuIgorICJcbiIKKy0iICAtYgkgLS1kcml2ZWJhc2UgICA6ICBtb3N0cmFyIG8gY29udGXDumRvIGRvIGZpY2hlaXJvIGRlIGJhc2UgZGUgZGFkb3MgcXVlXG4iCisrIiAgLWJcdCAtLWRyaXZlYmFzZSAgIDogIG1vc3RyYXIgbyBjb250ZcO6ZG8gZG8gZmljaGVpcm8gZGUgYmFzZSBkZSBkYWRvcyBxdWVcbiIKKyAiICAgICAgICAgICAgICAgICAgICAgICAgcGVybWl0ZSBhbyBoZGR0ZW1wIHJlY29uaGVjZXIgb3MgZGlzY29zIHN1cG9ydGFkb3MuXG4iCistIiAgLUQJIC0tZGVidWcgICAgICAgOiAgbW9zdHJhciB2w6FyaW9zIGNhbXBvcyBTLk0uQS5SLlQuIGUgb3Mgc2V1cyB2YWxvcmVzLlxuIgorLSIgICAgICAgICAgICAgICAgICAgICAgICDDmnRpbCBwYXJhIGVuY29udHJhciB1bSB2YWxvciBxdWUgcGFyZcOnYSBjb2luY2lkaXIgY29tICIKKy0iICAgICAgICAgICAgICAgICAgICAgICAgYSB0ZW1wZXJhdHVyYSBlL291IHBhcmEgbWUgZW52aWFyIHVtIHJlbGF0w7NyaW8uXG4iCisrIiAgLURcdCAtLWRlYnVnICAgICAgIDogIG1vc3RyYXIgdsOhcmlvcyBjYW1wb3MgUy5NLkEuUi5ULiBlIG9zIHNldXMgdmFsb3Jlcy5cbiIKKysiICAgICAgICAgICAgICAgICAgICAgICAgw5p0aWwgcGFyYSBlbmNvbnRyYXIgdW0gdmFsb3IgcXVlIHBhcmXDp2EgY29pbmNpZGlyICIKKysiY29tICAgICAgICAgICAgICAgICAgICAgICAgIGEgdGVtcGVyYXR1cmEgZS9vdSBwYXJhIG1lIGVudmlhciB1bSByZWxhdMOzcmlvLlxuIgorICIgICAgICAgICAgICAgICAgICAgICAgICAoZmVpdG8gcGFyYSBjYWRhIGRpc2NvIGluZGljYWRvKS5cbiIKKy0iICAtZCAgIC0tZGFlbW9uICAgICAgOiAgY29ycmVyIG8gaGRkdGVtcCBubyBtb2RvIGRhZW1vbiBUQ1AvSVBcbiAocG9ydG8gJWQgcG9yIG9taXNzw6NvLilcbiIKKysiICAtZCAgIC0tZGFlbW9uICAgICAgOiAgY29ycmVyIG8gaGRkdGVtcCBubyBtb2RvIGRhZW1vbiBUQ1AvSVBcbiIKKysiIChwb3J0byAlZCBwb3Igb21pc3PDo28uKVxuIgorICIgIC1mICAgLS1maWxlPUZJTEUgICA6ICBlc3BlY2lmaWNhciBvIGZpY2hlaXJvIGRlIGJhc2UgZGUgZGFkb3MgYSB1dGlsaXphci5cbiIKKy0iICAtbCAgIC0tbGlzdGVuPWFkZHIgOiAgZXNjdXRhciB1bSBpbnRlcmZhY2UgZXNwZWPDrWZpY28gKG5vIG1vZG8gZGFlbW9uIFRDUC9JUCkuXG4iCisrIiAgLWwgICAtLWxpc3Rlbj1hZGRyIDogIGVzY3V0YXIgdW0gaW50ZXJmYWNlIGVzcGVjw61maWNvIChubyBtb2RvIGRhZW1vbiBUQ1AvIgorKyJJUCkuXG4iCisgIiAgLW4gICAtLW51bWVyaWMgICAgIDogIGVzY3JldmVyIGFwZW5hcyBhIHRlbXBlcmF0dXJhLlxuIgorICIgIC1wICAgLS1wb3J0PSMgICAgICA6ICBwb3J0IHBhcmEgZXNjdXRhciAobm8gbW9kbyBkYWVtb24gVENQL0lQKS5cbiIKKy0iICAtcyAgIC0tc2VwYXJhdG9yPUMgOiAgc2VwYXJhZG9yIGEgdXRpbGl6YXIgZW50cmUgY2FtcG9zIChubyBtb2RvIGRhZW1vbiBUQ1AvSVApLlxuIgorLSIgIC1TICAgLS1zeXNsb2c9cyAgICA6ICByZWdpc3RhciBhIHRlbXBlcmF0dXJhIHBhcmEgbyBzeXNsb2cgYSBjYWRhIHMgc2VndW5kb3MuXG4iCisrIiAgLXMgICAtLXNlcGFyYXRvcj1DIDogIHNlcGFyYWRvciBhIHV0aWxpemFyIGVudHJlIGNhbXBvcyAobm8gbW9kbyBkYWVtb24gIgorKyJUQ1AvSVApLlxuIgorKyIgIC1TICAgLS1zeXNsb2c9cyAgICA6ICByZWdpc3RhciBhIHRlbXBlcmF0dXJhIHBhcmEgbyBzeXNsb2cgYSBjYWRhIHMgIgorKyJzZWd1bmRvcy5cbiIKKyAiICAtcSAgIC0tcXVpZXQgICAgICAgOiAgbsOjbyB2ZXJpZmljYXIgc2UgbyBkaXNjbyDDqSBzdXBvcnRhZG8uXG4iCisgIiAgLXYgICAtLXZlcnNpb24gICAgIDogIG1vc3RyYXIgbyBuw7ptZXJvIGRhIHZlcnPDo28gZG8gaGRkdGVtcC5cbiIKKyAiICAtdyAgIC0td2FrZS11cCAgICAgOiAgYWNvcmRhciBvIGRpc2NvIHNlIG5lY2Vzc8OhcmlvLlxuIgorQEAgLTE3Nyw1OCArMTU3LDkzIEBACisgIlxuIgorICJSZWxhdGFyIGJ1Z3Mgb3Ugbm92b3MgZGlzY29zIHBhcmEgPGhkZHRlbXBAZ3V6dS5uZXQ+LlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6NTIyCisrIzogc3JjL2hkZHRlbXAuYzo0MDIKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJoZGR0ZW1wIHZlcnNpb24gJXNcbiIKKyBtc2dzdHIgImhkZHRlbXAgdmVyc8OjbyAlc1xuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6NTQ3CisrIzogc3JjL2hkZHRlbXAuYzo0MTgKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogaW52YWxpZCBpbnRlcnZhbC5cbiIKKyBtc2dzdHIgIkVSUk86IGludGVydmFsbyBpbnbDoWxpZG8uXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzo1NDcKKysjOiBzcmMvaGRkdGVtcC5jOjQzOAorKyMsIGMtZm9ybWF0CisgbXNnaWQgIlRvbyBmZXcgYXJndW1lbnRzOiB5b3UgbXVzdCBzcGVjaWZ5IG9uZSBkcml2ZSwgYXQgbGVhc3QuXG4iCistbXNnc3RyICJOw7ptZXJvIGRlIGFyZ3VtZW50b3MgaW5zdWZpY2llbnRlOiB0ZW0gZGUgZXNwZWNpZmljYXIgcGVsbyBtZW5vcyB1bSBkaXNjby5cbiIKKyttc2dzdHIgIiIKKysiTsO6bWVybyBkZSBhcmd1bWVudG9zIGluc3VmaWNpZW50ZTogdGVtIGRlIGVzcGVjaWZpY2FyIHBlbG8gbWVub3MgdW0gZGlzY28uXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzo1NTcKKysjOiBzcmMvaGRkdGVtcC5jOjQ0OAorKyMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiBjYW4ndCB1c2UgLS1kZWJ1ZyBhbmQgLS1kYWVtb24gb3IgLS1zeXNsb2cgb3B0aW9ucyB0b2dldGhlci5cbiIKKy1tc2dzdHIgIkVSUk86IG7Do28gcG9kZSB1dGlsaXphciBlbSBjb25qdW50byBhcyBvcMOnw7VlcyAtLWRlYnVnIGUgLS1kYWVtb24gb3UgLS1zeXNsb2cuXG4iCisrbXNnc3RyICIiCisrIkVSUk86IG7Do28gcG9kZSB1dGlsaXphciBlbSBjb25qdW50byBhcyBvcMOnw7VlcyAtLWRlYnVnIGUgLS1kYWVtb24gb3UgLS0iCisrInN5c2xvZy5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjU4MworKyM6IHNyYy9oZGR0ZW1wLmM6NTA1CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6ICVzOiBjYW4ndCBkZXRlcm1pbmUgYnVzIHR5cGUgKG9yIHRoaXMgYnVzIHR5cGUgaXMgdW5rbm93bilcbiIKKy1tc2dzdHIgIkVSUk86ICVzOiBuw6NvIMOpIHBvc3PDrXZlbCBkZXRlcm1pbmFyIG8gdGlwbyBkbyBidXMgKG91IGVzdGUgdGlwbyBkZSBidXMgw6kgZGVzY29uaGVjaWRvKVxuIgorK21zZ3N0ciAiIgorKyJFUlJPOiAlczogbsOjbyDDqSBwb3Nzw612ZWwgZGV0ZXJtaW5hciBvIHRpcG8gZG8gYnVzIChvdSBlc3RlIHRpcG8gZGUgYnVzIMOpICIKKysiZGVzY29uaGVjaWRvKVxuIgorIAorLSM6IHNyYy9hdGEuYzo2NiBzcmMvc2NzaS5jOjY4CisrIzogc3JjL2F0YS5jOjY2IHNyYy9zY3NpLmM6NjQKKyBtc2dpZCAidW5rbm93biIKKyBtc2dzdHIgImRlc2NvbmhlY2lkbyIKKyAKKy0jOiBzcmMvYXRhLmM6OTgKKysjOiBzcmMvYXRhLmM6ODUgc3JjL2F0YS5jOjEwNCBzcmMvc2NzaS5jOjkxCisgIywgYy1mb3JtYXQKKy1tc2dpZCAiZmllbGQoJWQpXHQgPSAlZFxuIgorLW1zZ3N0ciAiY2FtcG8oJWQpXHQgPSAlZFxuIgorLQorLSM6IHNyYy9hdGEuYzoxNjcKKyBtc2dpZCAiUy5NLkEuUi5ULiBub3QgYXZhaWxhYmxlIgorIG1zZ3N0ciAiUy5NLkEuUi5ULiBuw6NvIGVzdMOhIGRpc3BvbsOtdmVsIgorIAorLSM6IHNyYy9kYi5jOjE4MAorKyM6IHNyYy9kYi5jOjExNQorKyMsIGMtZm9ybWF0CisrbXNnaWQgIiIKKysiXG4iCisrIlJlZ2V4cCVzfCBWYWx1ZSB8IERlc2NyaXB0aW9uXG4iCisrIi0tLS0tLSVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisrbXNnc3RyICIiCisrIlxuIgorKyJSZWdleHAlc3wgVmFsb3IgfCBEZXNjcmnDp8Ojb1xuIgorKyItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKysKKysjOiBzcmMvZGIuYzoxMjEKKysjLCBjLWZvcm1hdAorK21zZ2lkICIlcyVzfCAlNWQgfCAlc1xuIgorK21zZ3N0ciAiJXMlc3wgJTVkIHwgJXNcbiIKKysKKysjOiBzcmMvZGIuYzoyMzYKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJoZGR0ZW1wOiBjYW4ndCBvcGVuICUxJHM6ICUyJHNcbiIKKyBtc2dzdHIgImhkZHRlbXA6IG7Do28gcG9kZSBhYnJpciAlMSRzOiAlMiRzXG4iCisgCistIzogc3JjL2RiLmM6MTk0CisrIzogc3JjL2RiLmM6MjUwCisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6IHN5bnRheCBlcnJvciBhdCBsaW5lICUxJGQgaW4gJTIkc1xuIgorIG1zZ3N0ciAiRVJSTzogZXJybyBkZSBzaW50YXhlIG5hIGxpbmhhICUxJGQgZW0gJTIkc1xuIgorIAorLSM6IHNyYy9kYi5jOjIwMQorKyM6IHNyYy9kYi5jOjI1NworICMsIGMtZm9ybWF0CisgbXNnaWQgIiAgRVJST1I6IGxpbmUgZXhjZWVkICUxJGQgY2hhcmFjdGVycyBpbiAlMiRzLlxuIgorIG1zZ3N0ciAiICBFUlJPOiBhIGxpbmhhIGV4ZWNlZGV1ICUxJGQgY2FyYWN0ZXJlcyBlbSAlMiRzLlxuIgorIAorLSM6IHNyYy9zY3NpLmM6MTEyIHNyYy9zY3NpLmM6MTMwCisrIzogc3JjL3Njc2kuYzoxMTEgc3JjL3Njc2kuYzoxMjkKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJsb2cgc2Vuc2UgZmFpbGVkIDogJXMiCisgbXNnc3RyICJkZXRlY8Onw6NvIGRlIGxvZyBmYWxob3U6ICVzIgorKworKyN+IG1zZ2lkICIiCisrI34gIldBUk5JTkc6IERyaXZlICVzIGRvZXNuJ3QgYXBwZWFyIGluIHRoZSBkYXRhYmFzZSBvZiBzdXBwb3J0ZWQgZHJpdmVzXG4iCisrI34gIldBUk5JTkc6IEJ1dCB1c2luZyBhIGNvbW1vbiB2YWx1ZSwgaXQgcmVwb3J0cyBzb21ldGhpbmcuXG4iCisrI34gIldBUk5JTkc6IE5vdGUgdGhhdCB0aGUgdGVtcGVyYXR1cmUgc2hvd24gY291bGQgYmUgd3JvbmcuXG4iCisrI34gIldBUk5JTkc6IFNlZSAtLWhlbHAsIC0tZGVidWcgYW5kIC0tZHJpdmViYXNlIG9wdGlvbnMuXG4iCisrI34gIldBUk5JTkc6IEFuZCBkb24ndCBmb3JnZXQgeW91IGNhbiBhZGQgeW91ciBkcml2ZSB0byBoZGR0ZW1wLmRiXG4iCisrI34gbXNnc3RyICIiCisrI34gIkFWSVNPOiBPIGRpc2NvICVzIG7Do28gcGFyZWNlIGVzdGFyIG5hIGJhc2UgZGUgZGFkb3MgZGUgZGlzY29zIHN1cG9ydGFkb3NcbiIKKysjfiAiQVZJU086IE1hcyBhbyB1dGlsaXphciB1bSB2YWxvciB1c3VhbCwgcmVsYXRhIGFsZ3VtYSBjb2lzYS5cbiIKKysjfiAiQVZJU086IE5vdGUgcXVlIGEgdGVtcGVyYXR1cmEgbW9zdHJhZGEgcG9kZSBlc3RhciBlcnJhZGEuXG4iCisrI34gIkFWSVNPOiBWZWphIGFzIG9ww6fDtWVzIC0taGVscCwgLS1kZWJ1ZyBlIC0tZnJpdmViYXNlLlxuIgorKyN+ICJBVklTTzogRSBuw6NvIHNlIGVzcXVlw6dhIGRlIGFkaWNpb25hciBvIHNldSBkaXNjbyBhIGhkZHRlbXAuZGJcbiIKKysKKysjfiBtc2dpZCAiZmllbGQoJWQpXHQgPSAlZFxuIgorKyN+IG1zZ3N0ciAiY2FtcG8oJWQpXHQgPSAlZFxuIgorLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL3BvL2RlLnBvCisrKysgaGRkdGVtcC0wLjMtYmV0YTE1L3BvL2RlLnBvCitAQCAtMCwwICsxLDI1MCBAQAorKyMgR2VybWFuIHRyYW5zbGF0aW9uIG9mIGhkZHRlbXAuCisrIyBDb3B5cmlnaHQgKEMpIDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgaGRkdGVtcCBwYWNrYWdlLgorKyMgVmluemVueiBWaWV0emtlIDx2aW56QHYxbnoub3JnPiwgMjAwOC4KKysjICwKKysjCisrIworK21zZ2lkICIiCisrbXNnc3RyICIiCisrIlByb2plY3QtSWQtVmVyc2lvbjogaGRkdGVtcCAwLjMtYmV0YTE1LTQ0XG4iCisrIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBoZGR0ZW1wQHBhY2thZ2VzLmRlYmlhbi5vcmdcbiIKKysiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDYtMDYtMjkgMTY6MjQrMDIwMFxuIgorKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDExLTA4LTMwIDE2OjQwKzAyMDBcbiIKKysiTGFzdC1UcmFuc2xhdG9yOiBWaW56ZW56IFZpZXR6a2UgPHZpbnpAdjFuei5vcmc+XG4iCisrIkxhbmd1YWdlLVRlYW06IDxkZWJpYW4tbDEwbi1nZXJtYW5AbGlzdHMuZGViaWFuLm9yZz5cbiIKKysiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKysiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCisrIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQiCisrCisrIzogc3JjL2hkZHRlbXAuYzoxNTYKKysjLCBjLWZvcm1hdAorK21zZ2lkICIiCisrIlxuIgorKyI9PT09PT09PT09PT09PT09PSBoZGR0ZW1wICVzID09PT09PT09PT09PT09PT09PVxuIgorKyJNb2RlbDogJXNcbiIKKysiXG4iCisrbXNnc3RyICIiCisrIlxuIgorKyI9PT09PT09PT09PT09PT09PSBoZGR0ZW1wICVzID09PT09PT09PT09PT09PT09PVxuIgorKyJNb2RlbGw6ICVzXG4iCisrIlxuIgorKworKyM6IHNyYy9oZGR0ZW1wLmM6MTg5CisrIywgYy1mb3JtYXQKKyttc2dpZCAiIgorKyJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IHNlZW0gdG8gaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKKysiV0FSTklORzogVGhpcyBkb2Vzbid0IG1lYW4gaXQgaGFzbid0IGdvdCBvbmUuXG4iCisrIldBUk5JTkc6IElmIHlvdSBhcmUgc3VyZSBpdCBoYXMgb25lLCBwbGVhc2UgY29udGFjdCBtZSAoaGRkdGVtcEBndXp1LiIKKysibmV0KS5cbiIKKysiV0FSTklORzogU2VlIC0taGVscCwgLS1kZWJ1ZyBhbmQgLS1kcml2ZWJhc2Ugb3B0aW9ucy5cbiIKKyttc2dzdHIgIiIKKysiV0FSTlVORzogTGF1ZndlcmsgJXMgc2NoZWludCBrZWluZW4gVGVtcGVyYXR1ci1TZW5zb3IgenUgaGFiZW4uXG4iCisrIldBUk5VTkc6IERhcyBiZWRldXRldCBuaWNodCwgZGFzcyBlcyBrZWluZW4gYmVzaXR6dC5cbiIKKysiV0FSTlVORzogRmFsbHMgU2llIHNpY2hlciBzaW5kLCBkYXNzIGVzIGVpbmVuIGJlc2l0enQsIGtvbnRha3RpZXJlbiBTaWUgIgorKyJtaWNoIGJpdHRlIChoZGR0ZW1wQGd1enUubmV0KS5cbiIKKysiV0FSTlVORzogU2llaGUgT3B0aW9uZW4gLS1oZWxwLCAtLWRlYnVnIHVuZCAtLWRyaXZlYmFzZS5cbiIKKysKKysjOiBzcmMvaGRkdGVtcC5jOjE5NworKyMsIGMtZm9ybWF0CisrbXNnaWQgIiVzOiAlczogIG5vIHNlbnNvclxuIgorK21zZ3N0ciAiJXM6ICVzOiBrZWluIFNlbnNvclxuIgorKworKyM6IHNyYy9oZGR0ZW1wLmM6MjExCisrIywgYy1mb3JtYXQKKyttc2dpZCAiJXM6ICVzOiAgJWQlc0Mgb3IgJXNGXG4iCisrbXNnc3RyICIlczogJXM6ICAlZCVzwrBDIG9kZXIgJXPCsEZcbiIKKysKKysjOiBzcmMvaGRkdGVtcC5jOjIzNQorKyMsIGMtZm9ybWF0CisrbXNnaWQgIiVzOiAlczogZHJpdmUgaXMgc2xlZXBpbmdcbiIKKyttc2dzdHIgIiVzOiAlczogTGF1Zndlcmsgc2NobMOkZnRcbiIKKysKKysjOiBzcmMvaGRkdGVtcC5jOjI0MgorKyMsIGMtZm9ybWF0CisrbXNnaWQgIiVzOiAlczogIGRyaXZlIHN1cHBvcnRlZCwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKKyttc2dzdHIgIiIKKysiJXM6ICVzOiAgTGF1ZndlcmsgdW50ZXJzdMO8dHp0LCBhYmVyIGVzIGhhdCBrZWluZW4gVGVtcGVyYXR1ci1TZW5zb3IuXG4iCisrCisrIzogc3JjL2hkZHRlbXAuYzoyNDYKKysjLCBjLWZvcm1hdAorK21zZ2lkICJFUlJPUjogJXM6ICVzOiB1bmtub3duIHJldHVybmVkIHN0YXR1c1xuIgorK21zZ3N0ciAiRkVITEVSOiAlczogJXM6IHp1csO8Y2tnZWdlYmVuZXIgU3RhdHVzIHVuYmVrYW5udFxuIgorKworKyM6IHNyYy9oZGR0ZW1wLmM6MjYxCisrIywgYy1mb3JtYXQKKyttc2dpZCAiIgorKyJcbiIKKysiSWYgb25lIG9mIHRoZSBmaWVsZCB2YWx1ZSBzZWVtcyB0byBtYXRjaCB0aGUgdGVtcGVyYXR1cmUsIGJlIHN1cmUgdG8gcmVhZFxuIgorKyJ0aGUgaGRkdGVtcCBtYW4gcGFnZSBiZWZvcmUgc2VuZGluZyBhIHJlcG9ydCAoc2VjdGlvbiBSRVBPUlQpLiBUaGFua3MuXG4iCisrbXNnc3RyICIiCisrIlxuIgorKyJGYWxscyBlaW5lciBkZXIgRmVsZHdlcnRlIGRlciBUZW1wZXJhdHVyIHp1IGVudHNwcmVjaGVuIHNjaGVpbnQsIHN0ZWxsZW4gIgorKyJTaWVcbiIKKysic2ljaGVyLCBkaWUgaGRkdGVtcC1IYW5kYnVjaHNlaXRlIGdlbGVzZW4genUgaGFiZW4sIGJldm9yIFNpZSBlaW5lbiAiCisrIkJlcmljaHRcbiIKKysic2VuZGVuIChBYnNjaG5pdHQgQkVSSUNIVCkuIERhbmtlLlxuIgorKworKyM6IHNyYy9oZGR0ZW1wLmM6MzM4CisrIywgYy1mb3JtYXQKKyttc2dpZCAiRVJST1I6IGludmFsaWQgc2VwYXJhdG9yLlxuIgorK21zZ3N0ciAiRkVITEVSOiB1bmfDvGx0aWdlcyBUcmVubnplaWNoZW4uXG4iCisrCisrIzogc3JjL2hkZHRlbXAuYzozNDkKKysjLCBjLWZvcm1hdAorK21zZ2lkICJFUlJPUjogaW52YWxpZCBwb3J0IG51bWJlci5cbiIKKyttc2dzdHIgIkZFSExFUjogdW5nw7xsdGlnZSBQb3J0bnVtbWVyLlxuIgorKworKyM6IHNyYy9oZGR0ZW1wLmM6MzcxCisrIywgYy1mb3JtYXQKKyttc2dpZCAiIgorKyIgVXNhZ2U6IGhkZHRlbXAgW09QVElPTlNdIFtUWVBFOl1ESVNLMSBbW1RZUEU6XURJU0syXS4uLlxuIgorKyJcbiIKKysiICAgaGRkdGVtcCBkaXNwbGF5cyB0aGUgdGVtcGVyYXR1cmUgb2YgZHJpdmVzIHN1cHBsaWVkIGluIGFyZ3VtZW50LlxuIgorKyIgICBEcml2ZXMgbXVzdCBzdXBwb3J0IFMuTS5BLlIuVC5cbiIKKysiXG4iCisrIiAgVFlQRSBjb3VsZCBiZSBTQVRBLCBQQVRBIG9yIFNDU0kuIElmIG9taXR0ZWQgaGRkdGVtcCB3aWxsIHRyeSB0byBndWVzcy5cbiIKKysiXG4iCisrIiAgLWIgICAtLWRyaXZlYmFzZSAgIDogIGRpc3BsYXkgZGF0YWJhc2UgZmlsZSBjb250ZW50IHRoYXQgYWxsb3cgaGRkdGVtcCAiCisrInRvXG4iCisrIiAgICAgICAgICAgICAgICAgICAgICAgIHJlY29nbml6ZSBzdXBwb3J0ZWQgZHJpdmVzLlxuIgorKyIgIC1EICAgLS1kZWJ1ZyAgICAgICA6ICBkaXNwbGF5IHZhcmlvdXMgUy5NLkEuUi5ULiBmaWVsZHMgYW5kIHRoZWlyICIKKysidmFsdWVzLlxuIgorKyIgICAgICAgICAgICAgICAgICAgICAgICBVc2VmdWwgdG8gZmluZCBhIHZhbHVlIHRoYXQgc2VlbXMgdG8gbWF0Y2ggdGhlXG4iCisrIiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBlcmF0dXJlIGFuZC9vciB0byBzZW5kIG1lIGEgcmVwb3J0LlxuIgorKyIgICAgICAgICAgICAgICAgICAgICAgICAoZG9uZSBmb3IgZXZlcnkgZHJpdmUgc3VwcGxpZWQpLlxuIgorKyIgIC1kICAgLS1kYWVtb24gICAgICA6ICBydW4gaGRkdGVtcCBpbiBUQ1AvSVAgZGFlbW9uIG1vZGUgKHBvcnQgJWQgYnkgIgorKyJkZWZhdWx0LilcbiIKKysiICAtZiAgIC0tZmlsZT1GSUxFICAgOiAgc3BlY2lmeSBkYXRhYmFzZSBmaWxlIHRvIHVzZS5cbiIKKysiICAtRiAgIC0tZm9yZWdyb3VuZCAgOiAgZG9uJ3QgZGFlbW9uaXplLCBzdGF5IGluIGZvcmVncm91bmQuXG4iCisrIiAgLWwgICAtLWxpc3Rlbj1hZGRyIDogIGxpc3RlbiBvbiBhIHNwZWNpZmljIGludGVyZmFjZSAoaW4gVENQL0lQIGRhZW1vbiAiCisrIm1vZGUpLlxuIgorKyIgIC1uICAgLS1udW1lcmljICAgICA6ICBwcmludCBvbmx5IHRoZSB0ZW1wZXJhdHVyZS5cbiIKKysiICAtcCAgIC0tcG9ydD0jICAgICAgOiAgcG9ydCB0byBsaXN0ZW4gdG8gKGluIFRDUC9JUCBkYWVtb24gbW9kZSkuXG4iCisrIiAgLXMgICAtLXNlcGFyYXRvcj1DIDogIHNlcGFyYXRvciB0byB1c2UgYmV0d2VlbiBmaWVsZHMgKGluIFRDUC9JUCBkYWVtb24gIgorKyJtb2RlKS5cbiIKKysiICAtUyAgIC0tc3lzbG9nPXMgICAgOiAgbG9nIHRlbXBlcmF0dXJlIHRvIHN5c2xvZyBldmVyeSBzIHNlY29uZHMuXG4iCisrIiAgLXUgICAtLXVuaXQ9W0N8Rl0gIDogIGZvcmNlIG91dHB1dCB0ZW1wZXJhdHVyZSBlaXRoZXIgaW4gQ2Vsc2l1cyBvciAiCisrIkZhaHJlbmhlaXQuXG4iCisrIiAgLXEgICAtLXF1aWV0ICAgICAgIDogIGRvIG5vdCBjaGVjayBpZiB0aGUgZHJpdmUgaXMgc3VwcG9ydGVkLlxuIgorKyIgIC12ICAgLS12ZXJzaW9uICAgICA6ICBkaXNwbGF5IGhkZHRlbXAgdmVyc2lvbiBudW1iZXIuXG4iCisrIiAgLXcgICAtLXdha2UtdXAgICAgIDogIHdha2UtdXAgdGhlIGRyaXZlIGlmIG5lZWQuXG4iCisrIiAgLTQgICAgICAgICAgICAgICAgIDogIGxpc3RlbiBvbiBJUHY0IHNvY2tldHMgb25seS5cbiIKKysiICAtNiAgICAgICAgICAgICAgICAgOiAgbGlzdGVuIG9uIElQdjYgc29ja2V0cyBvbmx5LlxuIgorKyJcbiIKKysiUmVwb3J0IGJ1Z3Mgb3IgbmV3IGRyaXZlcyB0byA8aGRkdGVtcEBndXp1Lm5ldD4uXG4iCisrbXNnc3RyICIiCisrIiBWZXJ3ZW5kdW5nOiBoZGR0ZW1wIFtPUFRJT05FTl0gW1RZUDpdTEFVRldFUksxIFtbVFlQOl1MQVVGV0VSSzJdLi4uXG4iCisrIlxuIgorKyIgIGhkZHRlbXAgemVpZ3QgZGllIFRlbXBlcmF0dXIgZGVyIHZpYSBBcmd1bWVudCBhbmdlZ2ViZW4gTGF1ZndlcmtlLlxuIgorKyIgIExhdWZ3ZXJrZSBtw7xzc2VuIFMuTS5BLlIuVC4gdW50ZXJzdMO8dHplbi5cbiIKKysiXG4iCisrIiAgVFlQIGthbm4gU0FUQSwgUEFUQSBvZGVyIFNDU0kgc2Vpbi4gRmFsbHMgYXVzZ2VsYXNzZW4sIHdpcmQgaGRkdGVtcCBcbiIKKysiICB2ZXJzdWNoZW4sIGRpZXNlbiB6dSBlcnJhdGVuLlxuIgorKyJcbiIKKysiICAtYiAgIC0tZHJpdmViYXNlICAgOiAgRGF0ZW5iYW5rLURhdGVpLUluaGFsdCBhbnplaWdlbiwgZGVyIGhkZHRlbXAgIgorKyJlcmxhdWJ0XG4iCisrIiAgICAgICAgICAgICAgICAgICAgICAgIHVudGVyc3TDvHR6dGUgTGF1ZndlcmtlIHp1IGVya2VubmVuLlxuIgorKyIgIC1EICAgLS1kZWJ1ZyAgICAgICA6ICB2ZXJzY2hpZWRlbmUgUy5NLkEuUi5ULi1GZWxkZXIgdW5kIGRlcmVuIFdlcnRlICIKKysiYW56ZWlnZW4uXG4iCisrIiAgICAgICAgICAgICAgICAgICAgICAgTsO8dHpsaWNoLCB1bSBXZXJ0ZSB6dSBmaW5kZW4sIGRpZSBkZXIgVGVtcGVyYXR1ciAiCisrImVudHNwcmVjaGVuXG4iCisrIiAgICAgICAgICAgICAgICAgICAgICAgdW5kL29kZXIgdW0gbWlyIGVpbmVuIEJlcmljaHQgenUgc2VuZGVuLlxuIgorKyIgICAgICAgICAgICAgICAgICAgICAgIChiZXJlaXRzIGVybGVkaWd0IGbDvHIgamVkZXMgYmVyZWl0Z2VzdGVsbHRlICIKKysiTGF1ZndlcmspLlxuIgorKyIgIC1kICAgLS1kYWVtb24gICAgICA6ICBoZGR0ZW1wIGltIFRDUC9JUC1EYWVtb24tTW9kdXMgYXVzZsO8aHJlbiAiCisrIihTdGFuZGFyZG3DpMOfaWcgUG9ydCAlZClcbiIKKysiICAtZiAgIC0tZmlsZT1EQVRFSSAgOiAgenUgdmVyd2VuZGVuZGUgRGF0ZW5iYW5rLURhdGVpIGZlc3RsZWdlbi5cbiIKKysiICAtRiAgIC0tZm9yZWdyb3VuZCAgOiAgbmljaHQgZGFlbW9uaXNpZXJlbiwgaW0gVm9yZGVyZ3J1bmQgYmxlaWJlbi5cbiIKKysiICAtbCAgIC0tbGlzdGVuPWFkZHIgOiAgYXVmIGVpbmVyIGJlc3RpbW10ZW4gU2Nobml0dHN0ZWxsZSBhdWYgQW5mcmFnZW4gIgorKyJ3YXJ0ZW4gKGltIFRDUC9JUC1EYWVtb24tTW9kdXMpLlxuIgorKyIgIC1uICAgLS1udW1lcmljICAgICA6ICBudXIgZGllIFRlbXBlcmF0dXIgYXVzZ2ViZW4uXG4iCisrIiAgLXAgICAtLXBvcnQ9IyAgICAgIDogIFBvcnQsIGF1ZiBkZW0gYXVmIEFuZnJhZ2VuIGdld2FydGV0IHdlcmRlbiBzb2xsICIKKysiKGltIFRDUC9JUC1EYWVtb24tTW9kdXMpLlxuIgorKyIgIC1zICAgLS1zZXBhcmF0b3I9QyA6ICBUcmVubnplaWNoZW4genVyIFZlcndlbmR1bmcgendpc2NoZW4gRmVsZGVybiAoaW0gIgorKyJUQ1AvSVAtRGFlbW9uLU1vZHVzKS5cbiIKKysiICAtUyAgIC0tc3lzbG9nPXMgICAgOiAgVGVtcGVyYXR1ciBhbGxlIHMgU2VrdW5kZW4gaW4gZGFzIHN5c2xvZyAiCisrImVpbnRyYWdlbi5cbiIKKysiICAtdSAgIC0tdW5pdD1bQ3xGXSAgOiAgQXVzZ2FiZSBkZXIgVGVtcGVyYXR1ciBlbnR3ZWRlciBpbiBDZWxzaXVzIG9kZXIgIgorKyJGYWhyZW5oZWl0IGVyendpbmdlbi5cbiIKKysiICAtcSAgIC0tcXVpZXQgICAgICAgOiAgbmljaHQgcHLDvGZlbiwgb2IgZGFzIExhdWZ3ZXJrIHVudGVyc3TDvHR6dCB3aXJkLlxuIgorKyIgIC12ICAgLS12ZXJzaW9uICAgICA6ICBWZXJzaW9uc251bW1lciB2b24gaGRkdGVtcCBhbnplaWdlbi5cbiIKKysiICAtdyAgIC0td2FrZS11cCAgICAgOiAgTGF1ZndlcmsgYmVpIEJlZGFyZiBhdWZ3ZWNrZW4uXG4iCisrIiAgLTQgICAgICAgICAgICAgICAgIDogIG51ciBhdWYgSVB2NC1Tb2NrZXRzIGF1ZiBBbmZyYWdlbiB3YXJ0ZW4uXG4iCisrIiAgLTYgICAgICAgICAgICAgICAgIDogIG51ciBhdWYgSVB2Ni1Tb2NrZXRzIGF1ZiBBbmZyYWdlbiB3YXJ0ZW4uXG4iCisrIlxuIgorKyJGZWhsZXIgb2RlciBuZXVlIExhdWZ3ZXJrZSBhbiA8aGRkdGVtcEBndXp1Lm5ldD4gbWVsZGVuLlxuIgorKworKyM6IHNyYy9oZGR0ZW1wLmM6NDAyCisrIywgYy1mb3JtYXQKKyttc2dpZCAiaGRkdGVtcCB2ZXJzaW9uICVzXG4iCisrbXNnc3RyICJoZGR0ZW1wIFZlcnNpb24gJXNcbiIKKysKKysjOiBzcmMvaGRkdGVtcC5jOjQxOAorKyMsIGMtZm9ybWF0CisrbXNnaWQgIkVSUk9SOiBpbnZhbGlkIGludGVydmFsLlxuIgorK21zZ3N0ciAiRkVITEVSOiB1bmfDvGx0aWdlcyBJbnRlcnZhbGwuXG4iCisrCisrIzogc3JjL2hkZHRlbXAuYzo0MzgKKysjLCBjLWZvcm1hdAorK21zZ2lkICJUb28gZmV3IGFyZ3VtZW50czogeW91IG11c3Qgc3BlY2lmeSBvbmUgZHJpdmUsIGF0IGxlYXN0LlxuIgorK21zZ3N0ciAiWnUgd2VuaWdlIEFyZ3VtZW50ZTogU2llIG3DvHNzZW4gbWluZGVzdGVucyBlaW4gTGF1ZndlcmsgYW5nZWJlbi5cbiIKKysKKysjOiBzcmMvaGRkdGVtcC5jOjQ0OAorKyMsIGMtZm9ybWF0CisrbXNnaWQgIkVSUk9SOiBjYW4ndCB1c2UgLS1kZWJ1ZyBhbmQgLS1kYWVtb24gb3IgLS1zeXNsb2cgb3B0aW9ucyB0b2dldGhlci5cbiIKKyttc2dzdHIgIiIKKysiRkVITEVSOiBrYW5uIE9wdGlvbmVuIC0tZGVidWcgdW5kIC0tZGFlbW9uIG9kZXIgLS1zeXNsb2cgbmljaHQgenVzYW1tZW4gIgorKyJ2ZXJ3ZW5kZW4uXG4iCisrCisrIzogc3JjL2hkZHRlbXAuYzo1MDUKKysjLCBjLWZvcm1hdAorK21zZ2lkICJFUlJPUjogJXM6IGNhbid0IGRldGVybWluZSBidXMgdHlwZSAob3IgdGhpcyBidXMgdHlwZSBpcyB1bmtub3duKVxuIgorK21zZ3N0ciAiIgorKyJGRUhMRVI6ICVzOiBrYW5uIEJ1cy1UeXAgbmljaHQgZXJtaXR0ZWxuIChvZGVyIGRpZXNlciBCdXMtVHlwIGlzdCAiCisrInVuYmVrYW5udClcbiIKKysKKysjOiBzcmMvYXRhLmM6NjYgc3JjL3Njc2kuYzo2NAorK21zZ2lkICJ1bmtub3duIgorK21zZ3N0ciAidW5iZWthbm50IgorKworKyM6IHNyYy9hdGEuYzo4NSBzcmMvYXRhLmM6MTA0IHNyYy9zY3NpLmM6OTEKKysjLCBjLWZvcm1hdAorK21zZ2lkICJTLk0uQS5SLlQuIG5vdCBhdmFpbGFibGUiCisrbXNnc3RyICJTLk0uQS5SLlQuIG5pY2h0IHZlcmbDvGdiYXIiCisrCisrIzogc3JjL2RiLmM6MTE1CisrIywgYy1mb3JtYXQKKyttc2dpZCAiIgorKyJcbiIKKysiUmVnZXhwJXN8IFZhbHVlIHwgRGVzY3JpcHRpb25cbiIKKysiLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyttc2dzdHIgIiIKKysiXG4iCisrIlJlZ2V4cCVzfCBXZXJ0IHwgQmVzY2hyZWlidW5nXG4iCisrIi0tLS0tLSVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisrCisrIzogc3JjL2RiLmM6MTIxCisrIywgYy1mb3JtYXQKKyttc2dpZCAiJXMlc3wgJTVkIHwgJXNcbiIKKyttc2dzdHIgIiVzJXN8ICU1ZCB8ICVzXG4iCisrCisrIzogc3JjL2RiLmM6MjM2CisrIywgYy1mb3JtYXQKKyttc2dpZCAiaGRkdGVtcDogY2FuJ3Qgb3BlbiAlMSRzOiAlMiRzXG4iCisrbXNnc3RyICJoZGR0ZW1wOiBrYW5uICUxJHMgbmljaHQgw7ZmZm5lbjogJTIkc1xuIgorKworKyM6IHNyYy9kYi5jOjI1MAorKyMsIGMtZm9ybWF0CisrbXNnaWQgIkVSUk9SOiBzeW50YXggZXJyb3IgYXQgbGluZSAlMSRkIGluICUyJHNcbiIKKyttc2dzdHIgIkZFSExFUjogU3ludGF4ZmVobGVyIGluIFplaWxlICUxJGQgaW4gJTIkc1xuIgorKworKyM6IHNyYy9kYi5jOjI1NworKyMsIGMtZm9ybWF0CisrbXNnaWQgIiAgRVJST1I6IGxpbmUgZXhjZWVkICUxJGQgY2hhcmFjdGVycyBpbiAlMiRzLlxuIgorK21zZ3N0ciAiICBGRUhMRVI6IFplaWxlIMO8YmVyc2NocmVpdGV0ICUxJGQgWmVpY2hlbiBpbiAlMiRzLlxuIgorKworKyM6IHNyYy9zY3NpLmM6MTExIHNyYy9zY3NpLmM6MTI5CisrIywgYy1mb3JtYXQKKyttc2dpZCAibG9nIHNlbnNlIGZhaWxlZCA6ICVzIgorK21zZ3N0ciAiUHJvdG9rb2xsLUVya2VubnVuZyBmZWhsZ2VzY2hsYWdlbiA6ICVzIgorLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL3BvL0xJTkdVQVMKKysrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvcG8vTElOR1VBUworQEAgLTEsMiArMSwyIEBACisgIyBTZXQgb2YgYXZhaWxhYmxlIGxhbmd1YWdlcy4KKy1mciBwdCBydSBzdiAKKytkZSBmciBwdCBydSBzdiAKKy0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9wby9oZGR0ZW1wLnBvdAorKysrIGhkZHRlbXAtMC4zLWJldGExNS9wby9oZGR0ZW1wLnBvdAorQEAgLTEsMzUgKzEsMjIgQEAKKy0KKy0jIENvcHlyaWdodCAoQykgMjAwNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy0jIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSAnaGRkdGVtcCcgcGFja2FnZS4KKy0jIEVtbWFudWVsIFZBUkFHTkFUIDxoZGR0ZW1wQGd1enUubmV0PiwgMjAwNi4KKysjIFNPTUUgREVTQ1JJUFRJVkUgVElUTEUuCisrIyBDb3B5cmlnaHQgKEMpIFlFQVIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgUEFDS0FHRSBwYWNrYWdlLgorKyMgRklSU1QgQVVUSE9SIDxFTUFJTEBBRERSRVNTPiwgWUVBUi4KKyAjCisgIywgZnV6enkKKyBtc2dpZCAiIgorIG1zZ3N0ciAiIgorICJQcm9qZWN0LUlkLVZlcnNpb246IFBBQ0tBR0UgVkVSU0lPTlxuIgorLSJSZXBvcnQtTXNnaWQtQnVncy1UbzogaGRkdGVtcEBndXp1Lm5ldFxuIgorLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNS0wMi0yNSAyMjo0MyswMTAwXG4iCisrIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKKysiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDYtMDYtMjkgMTY6MjQrMDIwMFxuIgorICJQTy1SZXZpc2lvbi1EYXRlOiBZRUFSLU1PLURBIEhPOk1JK1pPTkVcbiIKKy0iTGFzdC1UcmFuc2xhdG9yOiBFbW1hbnVlbCBWYXJhZ25hdCA8aGRkdGVtcEBndXp1Lm5ldD5cbiIKKysiTGFzdC1UcmFuc2xhdG9yOiBGVUxMIE5BTUUgPEVNQUlMQEFERFJFU1M+XG4iCisgIkxhbmd1YWdlLVRlYW06IExBTkdVQUdFIDxMTEBsaS5vcmc+XG4iCisgIk1JTUUtVmVyc2lvbjogMS4wXG4iCisgIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1DSEFSU0VUXG4iCisgIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjExMgorLSMsIGMtZm9ybWF0CistbXNnaWQgIiIKKy0iXG4iCistIlJlZ2V4cCVzfCBWYWx1ZSB8IERlc2NyaXB0aW9uXG4iCistIi0tLS0tLSVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCistbXNnc3RyICIiCistCistIzogc3JjL2hkZHRlbXAuYzoxMTgKKy0jLCBjLWZvcm1hdAorLW1zZ2lkICIlcyVzfCAlNWQgfCAlc1xuIgorLW1zZ3N0ciAiIgorLQorLSM6IHNyYy9oZGR0ZW1wLmM6MTYxCisrIzogc3JjL2hkZHRlbXAuYzoxNTYKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIiCisgIlxuIgorQEAgLTM4LDcgKzI1LDcgQEAKKyAiXG4iCisgbXNnc3RyICIiCisgCistIzogc3JjL2hkZHRlbXAuYzoxODgKKysjOiBzcmMvaGRkdGVtcC5jOjE4OQorICMsIGMtZm9ybWF0CisgbXNnaWQgIiIKKyAiV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBzZWVtIHRvIGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCitAQCAtNDcsNjcgKzM0LDU5IEBACisgIldBUk5JTkc6IFNlZSAtLWhlbHAsIC0tZGVidWcgYW5kIC0tZHJpdmViYXNlIG9wdGlvbnMuXG4iCisgbXNnc3RyICIiCisgCistIzogc3JjL2hkZHRlbXAuYzoxOTIKKy0jLCBjLWZvcm1hdAorLW1zZ2lkICIlczogJXM6ICBubyBzZW5zb3JcbiIKKy1tc2dzdHIgIiIKKy0KKyAjOiBzcmMvaGRkdGVtcC5jOjE5NworICMsIGMtZm9ybWF0CistbXNnaWQgIiIKKy0iV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBhcHBlYXIgaW4gdGhlIGRhdGFiYXNlIG9mIHN1cHBvcnRlZCBkcml2ZXNcbiIKKy0iV0FSTklORzogQnV0IHVzaW5nIGEgY29tbW9uIHZhbHVlLCBpdCByZXBvcnRzIHNvbWV0aGluZy5cbiIKKy0iV0FSTklORzogTm90ZSB0aGF0IHRoZSB0ZW1wZXJhdHVyZSBzaG93biBjb3VsZCBiZSB3cm9uZy5cbiIKKy0iV0FSTklORzogU2VlIC0taGVscCwgLS1kZWJ1ZyBhbmQgLS1kcml2ZWJhc2Ugb3B0aW9ucy5cbiIKKy0iV0FSTklORzogQW5kIGRvbid0IGZvcmdldCB5b3UgY2FuIGFkZCB5b3VyIGRyaXZlIHRvIGhkZHRlbXAuZGJcbiIKKyttc2dpZCAiJXM6ICVzOiAgbm8gc2Vuc29yXG4iCisgbXNnc3RyICIiCisgCistIzogc3JjL2hkZHRlbXAuYzoyMDIKKysjOiBzcmMvaGRkdGVtcC5jOjIxMQorICMsIGMtZm9ybWF0CisgbXNnaWQgIiVzOiAlczogICVkJXNDIG9yICVzRlxuIgorIG1zZ3N0ciAiIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MjE0CisrIzogc3JjL2hkZHRlbXAuYzoyMzUKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIlczogJXM6IGRyaXZlIGlzIHNsZWVwaW5nXG4iCisgbXNnc3RyICIiCisgCistIzogc3JjL2hkZHRlbXAuYzoyMTcKKysjOiBzcmMvaGRkdGVtcC5jOjI0MgorICMsIGMtZm9ybWF0CistbXNnaWQgIiVzOiAlczogIGtub3duIGRyaXZlLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIgorK21zZ2lkICIlczogJXM6ICBkcml2ZSBzdXBwb3J0ZWQsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCisgbXNnc3RyICIiCisgCistIzogc3JjL2hkZHRlbXAuYzoyMjAKKysjOiBzcmMvaGRkdGVtcC5jOjI0NgorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiAlczogJXM6IHVua25vd24gcmV0dXJuZWQgc3RhdHVzXG4iCisgbXNnc3RyICIiCisgCistIzogc3JjL2hkZHRlbXAuYzoyMzUKKysjOiBzcmMvaGRkdGVtcC5jOjI2MQorICMsIGMtZm9ybWF0CisgbXNnaWQgIiIKKyAiXG4iCisgIklmIG9uZSBvZiB0aGUgZmllbGQgdmFsdWUgc2VlbXMgdG8gbWF0Y2ggdGhlIHRlbXBlcmF0dXJlLCBiZSBzdXJlIHRvIHJlYWRcbiIKKy0idGhlIGhkZHRlbXAgbWFuIHBhZ2UgYmVmb3JlIHNlbmRpbmcgbWUgYSByZXBvcnQgKHNlY3Rpb24gUkVQT1JUKS4gVGhhbmtzLlxuIgorKyJ0aGUgaGRkdGVtcCBtYW4gcGFnZSBiZWZvcmUgc2VuZGluZyBhIHJlcG9ydCAoc2VjdGlvbiBSRVBPUlQpLiBUaGFua3MuXG4iCisgbXNnc3RyICIiCisgCistIzogc3JjL2hkZHRlbXAuYzozMDgKKysjOiBzcmMvaGRkdGVtcC5jOjMzOAorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiBpbnZhbGlkIHNlcGFyYXRvci5cbiIKKyBtc2dzdHIgIiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjMxOQorKyM6IHNyYy9oZGR0ZW1wLmM6MzQ5CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6IGludmFsaWQgcG9ydCBudW1iZXIuXG4iCisgbXNnc3RyICIiCisgCistIzogc3JjL2hkZHRlbXAuYzozMjkKKysjOiBzcmMvaGRkdGVtcC5jOjM3MQorICMsIGMtZm9ybWF0CisgbXNnaWQgIiIKKy0iIFVzYWdlOiBoZGR0ZW1wIFtPUFRJT05TXSBESVNLMSBbRElTSzJdLi4uXG4iCisrIiBVc2FnZTogaGRkdGVtcCBbT1BUSU9OU10gW1RZUEU6XURJU0sxIFtbVFlQRTpdRElTSzJdLi4uXG4iCisgIlxuIgorICIgICBoZGR0ZW1wIGRpc3BsYXlzIHRoZSB0ZW1wZXJhdHVyZSBvZiBkcml2ZXMgc3VwcGxpZWQgaW4gYXJndW1lbnQuXG4iCisgIiAgIERyaXZlcyBtdXN0IHN1cHBvcnQgUy5NLkEuUi5ULlxuIgorICJcbiIKKysiICBUWVBFIGNvdWxkIGJlIFNBVEEsIFBBVEEgb3IgU0NTSS4gSWYgb21pdHRlZCBoZGR0ZW1wIHdpbGwgdHJ5IHRvIGd1ZXNzLlxuIgorKyJcbiIKKyAiICAtYiAgIC0tZHJpdmViYXNlICAgOiAgZGlzcGxheSBkYXRhYmFzZSBmaWxlIGNvbnRlbnQgdGhhdCBhbGxvdyBoZGR0ZW1wIHRvXG4iCisgIiAgICAgICAgICAgICAgICAgICAgICAgIHJlY29nbml6ZSBzdXBwb3J0ZWQgZHJpdmVzLlxuIgorICIgIC1EICAgLS1kZWJ1ZyAgICAgICA6ICBkaXNwbGF5IHZhcmlvdXMgUy5NLkEuUi5ULiBmaWVsZHMgYW5kIHRoZWlyIHZhbHVlcy5cbiIKK0BAIC0xMTcsNiArOTYsNyBAQAorICIgIC1kICAgLS1kYWVtb24gICAgICA6ICBydW4gaGRkdGVtcCBpbiBUQ1AvSVAgZGFlbW9uIG1vZGUgKHBvcnQgJWQgYnkgIgorICJkZWZhdWx0LilcbiIKKyAiICAtZiAgIC0tZmlsZT1GSUxFICAgOiAgc3BlY2lmeSBkYXRhYmFzZSBmaWxlIHRvIHVzZS5cbiIKKysiICAtRiAgIC0tZm9yZWdyb3VuZCAgOiAgZG9uJ3QgZGFlbW9uaXplLCBzdGF5IGluIGZvcmVncm91bmQuXG4iCisgIiAgLWwgICAtLWxpc3Rlbj1hZGRyIDogIGxpc3RlbiBvbiBhIHNwZWNpZmljIGludGVyZmFjZSAoaW4gVENQL0lQIGRhZW1vbiAiCisgIm1vZGUpLlxuIgorICIgIC1uICAgLS1udW1lcmljICAgICA6ICBwcmludCBvbmx5IHRoZSB0ZW1wZXJhdHVyZS5cbiIKK0BAIC0xMjQsNiArMTA0LDggQEAKKyAiICAtcyAgIC0tc2VwYXJhdG9yPUMgOiAgc2VwYXJhdG9yIHRvIHVzZSBiZXR3ZWVuIGZpZWxkcyAoaW4gVENQL0lQIGRhZW1vbiAiCisgIm1vZGUpLlxuIgorICIgIC1TICAgLS1zeXNsb2c9cyAgICA6ICBsb2cgdGVtcGVyYXR1cmUgdG8gc3lzbG9nIGV2ZXJ5IHMgc2Vjb25kcy5cbiIKKysiICAtdSAgIC0tdW5pdD1bQ3xGXSAgOiAgZm9yY2Ugb3V0cHV0IHRlbXBlcmF0dXJlIGVpdGhlciBpbiBDZWxzaXVzIG9yICIKKysiRmFocmVuaGVpdC5cbiIKKyAiICAtcSAgIC0tcXVpZXQgICAgICAgOiAgZG8gbm90IGNoZWNrIGlmIHRoZSBkcml2ZSBpcyBzdXBwb3J0ZWQuXG4iCisgIiAgLXYgICAtLXZlcnNpb24gICAgIDogIGRpc3BsYXkgaGRkdGVtcCB2ZXJzaW9uIG51bWJlci5cbiIKKyAiICAtdyAgIC0td2FrZS11cCAgICAgOiAgd2FrZS11cCB0aGUgZHJpdmUgaWYgbmVlZC5cbiIKK0BAIC0xMzMsNTggKzExNSw2OSBAQAorICJSZXBvcnQgYnVncyBvciBuZXcgZHJpdmVzIHRvIDxoZGR0ZW1wQGd1enUubmV0Pi5cbiIKKyBtc2dzdHIgIiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjUyMgorKyM6IHNyYy9oZGR0ZW1wLmM6NDAyCisgIywgYy1mb3JtYXQKKyBtc2dpZCAiaGRkdGVtcCB2ZXJzaW9uICVzXG4iCisgbXNnc3RyICIiCisgCistIzogc3JjL2hkZHRlbXAuYzo1NDcKKysjOiBzcmMvaGRkdGVtcC5jOjQxOAorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiBpbnZhbGlkIGludGVydmFsLlxuIgorIG1zZ3N0ciAiIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6NTQ3CisrIzogc3JjL2hkZHRlbXAuYzo0MzgKKysjLCBjLWZvcm1hdAorIG1zZ2lkICJUb28gZmV3IGFyZ3VtZW50czogeW91IG11c3Qgc3BlY2lmeSBvbmUgZHJpdmUsIGF0IGxlYXN0LlxuIgorIG1zZ3N0ciAiIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6NTU3CisrIzogc3JjL2hkZHRlbXAuYzo0NDgKKysjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogY2FuJ3QgdXNlIC0tZGVidWcgYW5kIC0tZGFlbW9uIG9yIC0tc3lzbG9nIG9wdGlvbnMgdG9nZXRoZXIuXG4iCisgbXNnc3RyICIiCisgCistIzogc3JjL2hkZHRlbXAuYzo1ODMKKysjOiBzcmMvaGRkdGVtcC5jOjUwNQorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiAlczogY2FuJ3QgZGV0ZXJtaW5lIGJ1cyB0eXBlIChvciB0aGlzIGJ1cyB0eXBlIGlzIHVua25vd24pXG4iCisgbXNnc3RyICIiCisgCistIzogc3JjL2F0YS5jOjY2IHNyYy9zY3NpLmM6NjgKKysjOiBzcmMvYXRhLmM6NjYgc3JjL3Njc2kuYzo2NAorIG1zZ2lkICJ1bmtub3duIgorIG1zZ3N0ciAiIgorIAorLSM6IHNyYy9hdGEuYzo5OAorKyM6IHNyYy9hdGEuYzo4NSBzcmMvYXRhLmM6MTA0IHNyYy9zY3NpLmM6OTEKKyAjLCBjLWZvcm1hdAorLW1zZ2lkICJmaWVsZCglZClcdCA9ICVkXG4iCisrbXNnaWQgIlMuTS5BLlIuVC4gbm90IGF2YWlsYWJsZSIKKyBtc2dzdHIgIiIKKyAKKy0jOiBzcmMvYXRhLmM6MTY3CistbXNnaWQgIlMuTS5BLlIuVC4gbm90IGF2YWlsYWJsZSIKKysjOiBzcmMvZGIuYzoxMTUKKysjLCBjLWZvcm1hdAorK21zZ2lkICIiCisrIlxuIgorKyJSZWdleHAlc3wgVmFsdWUgfCBEZXNjcmlwdGlvblxuIgorKyItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorK21zZ3N0ciAiIgorKworKyM6IHNyYy9kYi5jOjEyMQorKyMsIGMtZm9ybWF0CisrbXNnaWQgIiVzJXN8ICU1ZCB8ICVzXG4iCisgbXNnc3RyICIiCisgCistIzogc3JjL2RiLmM6MTgwCisrIzogc3JjL2RiLmM6MjM2CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiaGRkdGVtcDogY2FuJ3Qgb3BlbiAlMSRzOiAlMiRzXG4iCisgbXNnc3RyICIiCisgCistIzogc3JjL2RiLmM6MTk0CisrIzogc3JjL2RiLmM6MjUwCisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6IHN5bnRheCBlcnJvciBhdCBsaW5lICUxJGQgaW4gJTIkc1xuIgorIG1zZ3N0ciAiIgorIAorLSM6IHNyYy9kYi5jOjIwMQorKyM6IHNyYy9kYi5jOjI1NworICMsIGMtZm9ybWF0CisgbXNnaWQgIiAgRVJST1I6IGxpbmUgZXhjZWVkICUxJGQgY2hhcmFjdGVycyBpbiAlMiRzLlxuIgorIG1zZ3N0ciAiIgorIAorLSM6IHNyYy9zY3NpLmM6MTEyIHNyYy9zY3NpLmM6MTMwCisrIzogc3JjL3Njc2kuYzoxMTEgc3JjL3Njc2kuYzoxMjkKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJsb2cgc2Vuc2UgZmFpbGVkIDogJXMiCisgbXNnc3RyICIiCistLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvc3JjL3NhdGEuYworKysrIGhkZHRlbXAtMC4zLWJldGExNS9zcmMvc2F0YS5jCitAQCAtMTE4LDExICsxMTgsMjIgQEAKKyAgIGludCAgICAgICAgICAgICAgaTsKKyAgIHUxNiAqICAgICAgICAgICAgcDsKKyAKKy0gIGlmKGRzay0+ZGJfZW50cnkgJiYgZHNrLT5kYl9lbnRyeS0+YXR0cmlidXRlX2lkID09IDApIHsKKysgIGlmKGRzay0+ZGJfZW50cnktPmF0dHJpYnV0ZV9pZCA9PSAwKSB7CisgICAgIGNsb3NlKGRzay0+ZmQpOworICAgICBkc2stPmZkID0gLTE7CisgICAgIHJldHVybiBHRVRURU1QX05PU0VOU09SOworICAgfQorKworKyAgc3dpdGNoKGF0YV9nZXRfcG93ZXJtb2RlKGRzay0+ZmQpKSB7CisrICBjYXNlIFBXTV9TVEFOREJZOgorKyAgY2FzZSBQV01fU0xFRVBJTkc6CisrICAgIGlmICghd2FrZXVwKQorKyAgICAgIHJldHVybiBHRVRURU1QX0RSSVZFX1NMRUVQOworKyAgY2FzZSBQV01fVU5LTk9XTjoKKysgIGNhc2UgUFdNX0FDVElWRTogLyogYWN0aXZlIG9yIGlkbGUgKi8KKysgIGRlZmF1bHQ6CisrICAgIGJyZWFrOworKyAgfQorICAgCisgICAvKiBnZXQgU01BUlQgdmFsdWVzICovCisgICBpZihzYXRhX2VuYWJsZV9zbWFydChkc2stPmZkKSAhPSAwKSB7CitAQCAtMTU0LDI0ICsxNjUsMTUgQEAKKyAgIH0KKyAKKyAgIC8qIHRlbXBlcmF0dXJlICovCistICBpZihkc2stPmRiX2VudHJ5ICYmIGRzay0+ZGJfZW50cnktPmF0dHJpYnV0ZV9pZCA+IDApCistICAgIGZpZWxkID0gc2F0YV9zZWFyY2hfdGVtcGVyYXR1cmUodmFsdWVzLCBkc2stPmRiX2VudHJ5LT5hdHRyaWJ1dGVfaWQpOworLSAgZWxzZQorLSAgICBmaWVsZCA9IHNhdGFfc2VhcmNoX3RlbXBlcmF0dXJlKHZhbHVlcywgREVGQVVMVF9BVFRSSUJVVEVfSUQpOworKyAgZmllbGQgPSBzYXRhX3NlYXJjaF90ZW1wZXJhdHVyZSh2YWx1ZXMsIGRzay0+ZGJfZW50cnktPmF0dHJpYnV0ZV9pZCk7CisgCisgICBpZihmaWVsZCkKKyAgICAgZHNrLT52YWx1ZSA9ICooZmllbGQrMyk7CisgCisgICBpZihkc2stPmRiX2VudHJ5ICYmIGRzay0+dmFsdWUgIT0gLTEpCisgICAgIHJldHVybiBHRVRURU1QX0tOT1dOOworLSAgZWxzZSB7CistICAgIGlmKGRzay0+dmFsdWUgIT0gLTEpIHsKKy0gICAgICByZXR1cm4gR0VUVEVNUF9HVUVTUzsKKy0gICAgfQorLSAgICBlbHNlIHsKKy0gICAgICByZXR1cm4gR0VUVEVNUF9VTktOT1dOOworLSAgICB9CistICB9CisrICBlbHNlCisrICAgIHJldHVybiBHRVRURU1QX1VOS05PV047CisgCisgICAvKiBuZXZlciByZWFjaGVkICovCisgfQorLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL3NyYy9zYXRhY21kcy5jCisrKysgaGRkdGVtcC0wLjMtYmV0YTE1L3NyYy9zYXRhY21kcy5jCitAQCAtMzksNyArMzksNyBAQAorICNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyAjaW5jbHVkZSA8c2NzaS9zZy5oPgorICNpbmNsdWRlIDxsaW51eC9oZHJlZy5oPgorLSNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CisrI2luY2x1ZGUgPGJ5dGVzd2FwLmg+CisgCisgLy8gQXBwbGljYXRpb24gc3BlY2lmaWMgaW5jbHVkZXMKKyAjaW5jbHVkZSAic2F0YWNtZHMuaCIKK0BAIC04MCw4ICs4MCw4IEBACisgCisgICByZXQgPSBzY3NpX1NHX0lPKGRldmljZSwgY2RiLCBzaXplb2YoY2RiKSwgYnVmZmVyLCBjbWRbM10gKiA1MTIsIHNlbnNlLCBzaXplb2Yoc2Vuc2UpLCBkeGZlcl9kaXJlY3Rpb24pOworICAKKy0gIC8qIFZlcmlmeSBTQVRBIG1hZ2ljcyAqLworLSAgaWYgKHNlbnNlWzBdICE9IDB4NzIgfHwgc2Vuc2VbN10gIT0gMHgwZSB8fCBzZW5zZVs5XSAhPSAweDBlIHx8IHNlbnNlWzEwXSAhPSAweDAwKQorKyAgLyogVmVyaWZ5IFNBVEEgbWFnaWMgKi8KKysgIGlmIChzZW5zZVswXSAhPSAweDcyKQorICAgICByZXR1cm4gMTsJCSAgCisgICBlbHNlIAorICAgICByZXR1cm4gcmV0OworQEAgLTk1LDEwICs5NSwxMCBAQAorICAgcCA9IHM7CisgICBlbmQgPSAmc1tieXRlY291bnQgJiB+MV07IC8qIGJ5dGVjb3VudCBtdXN0IGJlIGV2ZW4gKi8KKyAKKy0gIC8qIGNvbnZlcnQgZnJvbSBiaWctZW5kaWFuIHRvIGhvc3QgYnl0ZSBvcmRlciAqLworKyAgLyogY29udmVydCBmcm9tIGJpZy1lbmRpYW4gdG8gc3RyaW5nIG9yZGVyICovCisgICBmb3IgKHAgPSBlbmQgOyBwICE9IHM7KSB7CisgICAgIHVuc2lnbmVkIHNob3J0ICpwcCA9ICh1bnNpZ25lZCBzaG9ydCAqKSAocCAtPSAyKTsKKy0gICAgKnBwID0gbnRvaHMoKnBwKTsKKysgICAgKnBwID0gYnN3YXBfMTYoKnBwKTsKKyAgIH0KKyAKKyAgIC8qIHN0cmlwIGxlYWRpbmcgYmxhbmtzICovCistLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvc3JjL2JhY2t0cmFjZS5jCisrKysgaGRkdGVtcC0wLjMtYmV0YTE1L3NyYy9iYWNrdHJhY2UuYworQEAgLTE2LDkgKzE2LDEwIEBACisgICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAgKi8KKyAKKysjZGVmaW5lIF9HTlVfU09VUkNFCisgI2luY2x1ZGUgPGZlYXR1cmVzLmg+CisgCistI2lmIGRlZmluZWQoX19pMzg2X18pICYmIGRlZmluZWQoX19HTElCQ19fKQorKyNpZiAoZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSkgJiYgZGVmaW5lZChfX0dMSUJDX18pCisgCisgI2luY2x1ZGUgPGV4ZWNpbmZvLmg+CisgCitAQCAtMzEsOCArMzIsMTIgQEAKKyAjaW5jbHVkZSA8Yml0cy9zaWdjb250ZXh0Lmg+CisgI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgorIAorLSNkZWZpbmUgX19VU0VfR05VCisgI2luY2x1ZGUgPHVjb250ZXh0Lmg+CisrI2lmIGRlZmluZWQoX19pMzg2X18pCisrIyAgZGVmaW5lIFJFR19JUCBSRUdfRUlQCisrI2VsaWYgZGVmaW5lZChfX3g4Nl82NF9fKQorKyMgIGRlZmluZSBSRUdfSVAgUkVHX1JJUAorKyNlbmRpZgorIAorICNkZWZpbmUgTUFYX0JUU0laRSA2NAorIAorQEAgLTQyLDcgKzQ3LDYgQEAKKyAgIHN0YXRpYyBjaGFyICoqbWVzc2FnZXMgPSBOVUxMOworICAgc3RhdGljIHNpemVfdCBidHNpemUgPSAwOworICAgc3RhdGljIHNpemVfdCBpOworLSAgc3RhdGljIHVuc2lnbmVkIGludCBvbGRfZWlwLCBvbGRfZWJwOworICAgc3RhdGljIGNoYXIgKnN0cmVyciA9ICI/Pz8iOworICAgc3RhdGljIEZJTEUgKmZzdHJtOworIAorQEAgLTYxLDEwICs2NSwxMCBAQAorICAgICAgIFNJQ19DQVNFKFNFR1ZfTUFQRVJSKTsKKyAgICAgICBTSUNfQ0FTRShTRUdWX0FDQ0VSUik7CisgICAgIH0KKy0gICAgZnByaW50Zihmc3RybSwgIj09PSBTRUdGQVVMVCAoJXMpIDogaW52YWxpZCBhY2Nlc3MgdG8gJXAsIGluIDB4JTA4eFxuIiwKKysgICAgZnByaW50Zihmc3RybSwgIj09PSBTRUdGQVVMVCAoJXMpIDogaW52YWxpZCBhY2Nlc3MgdG8gJXAsIGluICVwXG4iLAorIAkgICAgc3RyZXJyLAorIAkgICAgaXN0LT5zaV9hZGRyLAorLQkgICAgcHVjLT51Y19tY29udGV4dC5ncmVnc1tSRUdfRUlQXSk7CisrCSAgICAodm9pZCopcHVjLT51Y19tY29udGV4dC5ncmVnc1tSRUdfSVBdKTsKKyAgICAgYnJlYWs7CisgICBjYXNlIFNJR0lMTDoKKyAgICAgc3dpdGNoKGlzdC0+c2lfY29kZSkgeworQEAgLTc3LDEwICs4MSwxMCBAQAorICAgICAgIFNJQ19DQVNFKElMTF9DT1BST0MpOworICAgICAgIFNJQ19DQVNFKElMTF9CQURTVEspOworICAgICB9CistICAgIGZwcmludGYoZnN0cm0sICI9PT0gSUxMRUdBTCBJTlNUUiAoJXMpIDogaW52YWxpZCBhY2Nlc3MgdG8gJXAsIGluIDB4JTA4eFxuIiwKKysgICAgZnByaW50Zihmc3RybSwgIj09PSBJTExFR0FMIElOU1RSICglcykgOiBpbnZhbGlkIGFjY2VzcyB0byAlcCwgaW4gJXBcbiIsCisgCSAgICBzdHJlcnIsCisgCSAgICBpc3QtPnNpX2FkZHIsCistCSAgICBwdWMtPnVjX21jb250ZXh0LmdyZWdzW1JFR19FSVBdKTsKKysJICAgICh2b2lkKilwdWMtPnVjX21jb250ZXh0LmdyZWdzW1JFR19JUF0pOworICAgICBicmVhazsKKyAgIGNhc2UgU0lHQlVTOgorICAgICBzd2l0Y2goaXN0LT5zaV9jb2RlKSB7CitAQCAtODgsMTAgKzkyLDEwIEBACisgICAgICAgU0lDX0NBU0UoQlVTX0FEUkVSUik7CisgICAgICAgU0lDX0NBU0UoQlVTX09CSkVSUik7CisgICAgIH0KKy0gICAgZnByaW50Zihmc3RybSwgIj09PSBCVVMgRVJST1IgKCVwKSA6IGludmFsaWQgYWNjZXNzIHRvICVwLCBpbiAweCUwOHhcbiIsCisrICAgIGZwcmludGYoZnN0cm0sICI9PT0gQlVTIEVSUk9SICglcCkgOiBpbnZhbGlkIGFjY2VzcyB0byAlcCwgaW4gJXBcbiIsCisgCSAgICBzdHJlcnIsCisgCSAgICBpc3QtPnNpX2FkZHIsCistCSAgICBwdWMtPnVjX21jb250ZXh0LmdyZWdzW1JFR19FSVBdKTsKKysJICAgICh2b2lkKilwdWMtPnVjX21jb250ZXh0LmdyZWdzW1JFR19JUF0pOworICAgICBicmVhazsKKyAgIH0KKyAgIGZmbHVzaChmc3RybSk7CitAQCAtMTAxLDcgKzEwNSw3IEBACisgICAvKgorICAgICBvbGRfZWlwID0gKih1bnNpZ25lZCBpbnQqKSgodm9pZCopJm4tNCk7CisgICAgIG9sZF9lYnAgPSAqKHVuc2lnbmVkIGludCopKCh2b2lkKikmbi04KTsKKy0gICAgKih1bnNpZ25lZCBpbnQqKSgodm9pZCopJm4tNCkgPSBwdWMtPnVjX21jb250ZXh0LmdyZWdzW1JFR19FSVBdOworKyAgICAqKHVuc2lnbmVkIGludCopKCh2b2lkKikmbi00KSA9IHB1Yy0+dWNfbWNvbnRleHQuZ3JlZ3NbUkVHX0lQXTsKKyAgICAgKih1bnNpZ25lZCBpbnQqKSgodm9pZCopJm4tOCkgPSBwdWMtPnVjX21jb250ZXh0LmdyZWdzW1JFR19FQlBdOyAgICAKKyAgICAgCisgICAgIGJ0c2l6ZSA9IGJhY2t0cmFjZShidGluZm8sIE1BWF9CVFNJWkUpOworQEAgLTExMSwxNCArMTE1LDE0IEBACisgICAqLworICAgCisgICBidHNpemUgPSBiYWNrdHJhY2UoYnRpbmZvLCBNQVhfQlRTSVpFKTsKKy0gIGJ0aW5mb1sxXSA9ICh2b2lkKikgcHVjLT51Y19tY29udGV4dC5ncmVnc1tSRUdfRUlQXTsKKysgIGJ0aW5mb1sxXSA9ICh2b2lkKikgcHVjLT51Y19tY29udGV4dC5ncmVnc1tSRUdfSVBdOworIAorICAgbWVzc2FnZXMgPSBiYWNrdHJhY2Vfc3ltYm9scyhidGluZm8sIGJ0c2l6ZSk7CisgCisgICBmb3IoaSA9IDE7CisgICAgICAgaSA8IGJ0c2l6ZTsKKyAgICAgICBpKyspCistICAgIGZwcmludGYoZnN0cm0sICJbJWRdICMlZDogJXNcbiIsIGdldHBpZCgpLCBpLCBtZXNzYWdlc1tpXSk7CisrICAgIGZwcmludGYoZnN0cm0sICJbJWRdICMlenU6ICVzXG4iLCBnZXRwaWQoKSwgaSwgbWVzc2FnZXNbaV0pOworICAgZmZsdXNoKGZzdHJtKTsKKyAgIGZjbG9zZShmc3RybSk7CisgCistLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvc3JjL2RhZW1vbi5jCisrKysgaGRkdGVtcC0wLjMtYmV0YTE1L3NyYy9kYWVtb24uYworQEAgLTE2MywxOSArMTYzLDE2IEBACisgCisgICAgIHN3aXRjaChkc2stPnJldCkgeworICAgICBjYXNlIEdFVFRFTVBfTk9UX0FQUExJQ0FCTEU6CistICAgICAgbiA9IHNucHJpbnRmKG1zZywgc2l6ZW9mKG1zZyksICIlcyVjJXMlYyVzJWMlYyIsCisrICAgICAgbiA9IHNucHJpbnRmKG1zZywgc2l6ZW9mKG1zZyksICIlcyVjJXMlY05BJWMqIiwKKyAgICAgICAgICAgICAgICAgICAgZHNrLT5kcml2ZSwgc2VwYXJhdG9yLAorICAgICAgICAgICAgICAgICAgICBkc2stPm1vZGVsLCBzZXBhcmF0b3IsCistICAgICAgICAgICAgICAgICAgICJOQSIsICAgICAgIHNlcGFyYXRvciwKKy0gICAgICAgICAgICAgICAgICAgJyonKTsKKysgICAgICAgICAgICAgICAgICAgc2VwYXJhdG9yKTsKKyAgICAgICBicmVhazsKKy0gICAgY2FzZSBHRVRURU1QX0dVRVNTOgorICAgICBjYXNlIEdFVFRFTVBfVU5LTk9XTjoKKy0gICAgICBuID0gc25wcmludGYobXNnLCBzaXplb2YobXNnKSwgIiVzJWMlcyVjJXMlYyVjIiwKKysgICAgICBuID0gc25wcmludGYobXNnLCBzaXplb2YobXNnKSwgIiVzJWMlcyVjVU5LJWMqIiwKKyAgICAgICAgICAgICAgICAgICAgZHNrLT5kcml2ZSwgc2VwYXJhdG9yLAorLSAgICAgICAgICAgICAgICAgICBkc2stPm1vZGVsLCBzZXBhcmF0b3IsCistICAgICAgICAgICAgICAgICAgICJVTksiLCAgICAgc2VwYXJhdG9yLAorLSAgICAgICAgICAgICAgICAgICAnKicpOworKyAgICAgICAgICAgICAgICAgICBkc2stPm1vZGVsLCBzZXBhcmF0b3IsIAorKwkJICAgc2VwYXJhdG9yKTsKKyAgICAgICBicmVhazsKKyAgICAgY2FzZSBHRVRURU1QX0tOT1dOOgorICAgICAgIG4gPSBzbnByaW50Zihtc2csIHNpemVvZihtc2cpLCAiJXMlYyVzJWMlZCVjJWMiLAorQEAgLTE4NSwyNiArMTgyLDIzIEBACisgICAgICAgICAgICAgICAgICAgIGdldF91bml0KGRzaykpOworICAgICAgIGJyZWFrOworICAgICBjYXNlIEdFVFRFTVBfTk9TRU5TT1I6CistICAgICAgbiA9IHNucHJpbnRmKG1zZywgc2l6ZW9mKG1zZyksICIlcyVjJXMlYyVzJWMlYyIsCisrICAgICAgbiA9IHNucHJpbnRmKG1zZywgc2l6ZW9mKG1zZyksICIlcyVjJXMlY05PUyVjKiIsCisgICAgICAgICAgICAgICAgICAgIGRzay0+ZHJpdmUsIHNlcGFyYXRvciwKKyAgICAgICAgICAgICAgICAgICAgZHNrLT5tb2RlbCwgc2VwYXJhdG9yLAorLSAgICAgICAgICAgICAgICAgICAiTk9TIiwgICAgICBzZXBhcmF0b3IsCistICAgICAgICAgICAgICAgICAgICcqJyk7CisrICAgICAgICAgICAgICAgICAgIHNlcGFyYXRvcik7CisgICAgICAgYnJlYWs7CisgICAgIGNhc2UgR0VUVEVNUF9EUklWRV9TTEVFUDoKKy0gICAgICBuID0gc25wcmludGYobXNnLCBzaXplb2YobXNnKSwgIiVzJWMlcyVjJXMlYyVjIiwKKysgICAgICBuID0gc25wcmludGYobXNnLCBzaXplb2YobXNnKSwgIiVzJWMlcyVjU0xQJWMqIiwKKyAgICAgICAgICAgICAgICAgICAgZHNrLT5kcml2ZSwgc2VwYXJhdG9yLAorICAgICAgICAgICAgICAgICAgICBkc2stPm1vZGVsLCBzZXBhcmF0b3IsCistICAgICAgICAgICAgICAgICAgICJTTFAiLCAgICAgIHNlcGFyYXRvciwKKy0gICAgICAgICAgICAgICAgICAgJyonKTsKKysgICAgICAgICAgICAgICAgICAgc2VwYXJhdG9yKTsKKyAgICAgICBicmVhazsKKyAgICAgY2FzZSBHRVRURU1QX0VSUk9SOgorICAgICBkZWZhdWx0OgorLSAgICAgIG4gPSBzbnByaW50Zihtc2csIHNpemVvZihtc2cpLCAiJXMlYyVzJWMlcyVjJWMiLAorKyAgICAgIG4gPSBzbnByaW50Zihtc2csIHNpemVvZihtc2cpLCAiJXMlYyVzJWNFUlIlYyoiLAorICAgICAgICAgICAgICAgICAgICBkc2stPmRyaXZlLCAgICAgICAgICAgICAgICAgICAgICAgIHNlcGFyYXRvciwKKyAgICAgICAgICAgICAgICAgICAgKGRzay0+bW9kZWwpID8gZHNrLT5tb2RlbCA6ICI/Pz8iLCBzZXBhcmF0b3IsCistICAgICAgICAgICAgICAgICAgICJFUlIiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VwYXJhdG9yLAorLSAgICAgICAgICAgICAgICAgICAnKicpOworKyAgICAgICAgICAgICAgICAgICBzZXBhcmF0b3IpOworICAgICAgIGJyZWFrOworICAgICB9CisgICAgIHdyaXRlKGNmZCwmc2VwYXJhdG9yLCAxKTsKK0BAIC0yMjIsMTQgKzIxNiwxMSBAQAorICAgZm9yKGRzayA9IGxkaXNrczsgZHNrOyBkc2sgPSBkc2stPm5leHQpIHsKKyAgICAgc3dpdGNoKGRzay0+cmV0KSB7CisgICAgIGNhc2UgR0VUVEVNUF9LTk9XTjoKKy0gICAgY2FzZSBHRVRURU1QX0dVRVNTOgorLSAgICAgIHZhbHVlX3RvX3VuaXQoZHNrKTsKKy0KKyAgICAgICBzeXNsb2coTE9HX0lORk8sICIlczogJXM6ICVkICVjIiwgCisgICAgICAgICAgICAgIGRzay0+ZHJpdmUsCisgCSAgICAgZHNrLT5tb2RlbCwKKy0JICAgICBkc2stPnZhbHVlLAorLQkgICAgIGRzay0+ZGJfZW50cnktPnVuaXQpOworKwkgICAgIHZhbHVlX3RvX3VuaXQoZHNrKSwKKysJICAgICBnZXRfdW5pdChkc2spKTsKKyAgICAgICBicmVhazsKKyAgICAgY2FzZSBHRVRURU1QX0RSSVZFX1NMRUVQOgorICAgICAgIHN5c2xvZyhMT0dfV0FSTklORywgXygiJXM6ICVzOiBkcml2ZSBpcyBzbGVlcGluZyIpLCAKK0BAIC0yNzAsMjggKzI2MSwzMCBAQAorICAgZmRfc2V0ICAgICAgICAgICAgIGRlZmZkczsKKyAgIHRpbWVfdCAgICAgICAgICAgICBuZXh0X3RpbWU7CisgCistICBzd2l0Y2goZm9yaygpKSB7CistICBjYXNlIC0xOgorLSAgICBwZXJyb3IoImZvcmsiKTsKKy0gICAgZXhpdCgyKTsKKy0gICAgYnJlYWs7CistICBjYXNlIDA6CistICAgIGJyZWFrOworLSAgZGVmYXVsdDoKKy0gICAgZXhpdCgwKTsKKy0gIH0KKy0gIAorLSAgc2V0c2lkKCk7CistICAKKy0gIHN3aXRjaChmb3JrKCkpIHsKKy0gIGNhc2UgLTE6CistICAgIHBlcnJvcigiZm9yayIpOworLSAgICBleGl0KDIpOworLSAgICBicmVhazsKKy0gIGNhc2UgMDoKKy0gICAgYnJlYWs7CistICBkZWZhdWx0OgorLSAgICBleGl0KDApOworK2lmICghZm9yZWdyb3VuZCkgeworKyAgICBzd2l0Y2goZm9yaygpKSB7CisrICAgIGNhc2UgLTE6CisrICAgICAgcGVycm9yKCJmb3JrIik7CisrICAgICAgZXhpdCgyKTsKKysgICAgICBicmVhazsKKysgICAgY2FzZSAwOgorKyAgICAgIGJyZWFrOworKyAgICBkZWZhdWx0OgorKyAgICAgIGV4aXQoMCk7CisrICAgIH0KKysKKysgICAgc2V0c2lkKCk7CisrCisrICAgIHN3aXRjaChmb3JrKCkpIHsKKysgICAgY2FzZSAtMToKKysgICAgICBwZXJyb3IoImZvcmsiKTsKKysgICAgICBleGl0KDIpOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIDA6CisrICAgICAgYnJlYWs7CisrICAgIGRlZmF1bHQ6CisrICAgICAgZXhpdCgwKTsKKysgICAgfQorICAgfQorICAgY2hkaXIoIi8iKTsKKyAgIHVtYXNrKDApOworLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL3NyYy9oZGR0ZW1wLmMKKysrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL2hkZHRlbXAuYworQEAgLTc1LDcgKzc1LDcgQEAKKyBjaGFyICAgICAgICAgICAgICAgc2VwYXJhdG9yID0gU0VQQVJBVE9SOworIAorIHN0cnVjdCBidXN0eXBlICogICBidXNbQlVTX1RZUEVfTUFYXTsKKy1pbnQgICAgICAgICAgICAgICAgdGNwX2RhZW1vbiwgZGVidWcsIHF1aWV0LCBudW1lcmljLCB3YWtldXAsIGFmX2hpbnQ7CisraW50ICAgICAgICAgICAgICAgIHRjcF9kYWVtb24sIGRlYnVnLCBxdWlldCwgbnVtZXJpYywgd2FrZXVwLCBmb3JlZ3JvdW5kLCBhZl9oaW50OworIAorIHN0YXRpYyBlbnVtIHsgREVGQVVMVCwgQ0VMU0lVUywgRkFIUkVOSEVJVCB9IHVuaXQ7CisgCitAQCAtMTk0LDIzICsxOTQsNyBAQAorICAgICBpZiAobnVtZXJpYyAmJiBxdWlldCkKKyAgICAgICBwcmludGYoIjBcbiIpOyAgICAgIAorICAgICBlbHNlCistICAgICAgcHJpbnRmKF8oIiVzOiAlczogIG5vIHNlbnNvclxuIiksIGRzay0+ZHJpdmUsIGRzay0+bW9kZWwpOworLQorLSAgICBicmVhazsKKy0gIGNhc2UgR0VUVEVNUF9HVUVTUzoKKy0KKy0gICAgaWYoIXF1aWV0KQorLSAgICAgIGZwcmludGYoc3RkZXJyLAorLQkgICAgICBfKCJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IGFwcGVhciBpbiB0aGUgZGF0YWJhc2Ugb2Ygc3VwcG9ydGVkIGRyaXZlc1xuIgorLQkJIldBUk5JTkc6IEJ1dCB1c2luZyBhIGNvbW1vbiB2YWx1ZSwgaXQgcmVwb3J0cyBzb21ldGhpbmcuXG4iCistCQkiV0FSTklORzogTm90ZSB0aGF0IHRoZSB0ZW1wZXJhdHVyZSBzaG93biBjb3VsZCBiZSB3cm9uZy5cbiIKKy0JCSJXQVJOSU5HOiBTZWUgLS1oZWxwLCAtLWRlYnVnIGFuZCAtLWRyaXZlYmFzZSBvcHRpb25zLlxuIgorLQkJIldBUk5JTkc6IEFuZCBkb24ndCBmb3JnZXQgeW91IGNhbiBhZGQgeW91ciBkcml2ZSB0byBoZGR0ZW1wLmRiXG4iKSwgZHNrLT5kcml2ZSk7CistCistICAgIGlmICghIG51bWVyaWMpCistICAgICAgcHJpbnRmKF8oIiVzOiAlczogICVkJXNDIG9yICVzRlxuIiksIGRzay0+ZHJpdmUsIGRzay0+bW9kZWwsIGRzay0+dmFsdWUsIGRlZ3JlZSwgZGVncmVlKTsKKy0gICAgZWxzZQorLSAgICAgIHByaW50ZigiJWRcbiIsIHZhbHVlX3RvX3VuaXQoZHNrKSk7CisrICAgICAgZnByaW50ZihzdGRlcnIsIF8oIiVzOiAlczogIG5vIHNlbnNvclxuIiksIGRzay0+ZHJpdmUsIGRzay0+bW9kZWwpOworIAorICAgICBicmVhazsKKyAgIGNhc2UgR0VUVEVNUF9LTk9XTjoKK0BAIC0yMzIsMTQgKzIxNiwxNCBAQAorICAgICBpZiAobnVtZXJpYyAmJiBxdWlldCkKKyAgICAgICBwcmludGYoIjBcbiIpOyAgICAgIAorICAgICBlbHNlCistICAgICAgcHJpbnRmKF8oIiVzOiAlczogZHJpdmUgaXMgc2xlZXBpbmdcbiIpLCBkc2stPmRyaXZlLCBkc2stPm1vZGVsKTsKKysgICAgICBmcHJpbnRmKHN0ZGVyciwgXygiJXM6ICVzOiBkcml2ZSBpcyBzbGVlcGluZ1xuIiksIGRzay0+ZHJpdmUsIGRzay0+bW9kZWwpOworIAorICAgICBicmVhazsKKyAgIGNhc2UgR0VUVEVNUF9OT1NFTlNPUjoKKyAgICAgaWYgKG51bWVyaWMgJiYgcXVpZXQpCisgICAgICAgcHJpbnRmKCIwXG4iKTsgICAgICAKKyAgICAgZWxzZQorLSAgICAgIHByaW50ZihfKCIlczogJXM6ICBkcml2ZSBzdXBwb3J0ZWQsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iKSwgZHNrLT5kcml2ZSwgZHNrLT5tb2RlbCk7CisrICAgICAgZnByaW50ZihzdGRlcnIsIF8oIiVzOiAlczogIGRyaXZlIHN1cHBvcnRlZCwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIpLCBkc2stPmRyaXZlLCBkc2stPm1vZGVsKTsKKyAgICAgICAKKyAgICAgYnJlYWs7CisgICBkZWZhdWx0OgorQEAgLTI2OCw4ICsyNTIsOSBAQAorIAorIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pIHsKKyAgIGludCAgICAgICAgICAgaSwgYywgbGluZGV4ID0gMCwgZGJfbG9hZGVkID0gMDsKKysgIGludCAJCXJldCA9IDA7CisgICBpbnQgICAgICAgICAgIHNob3dfZGI7CistICBzdHJ1Y3QgZGlzayAqIGxkaXNrczsKKysgIHN0cnVjdCAgICAgICAgZGlzayAqIGxkaXNrczsKKyAKKyAgIGJhY2t0cmFjZV9zaWdzZWd2KCk7CisgICBiYWNrdHJhY2Vfc2lnaWxsKCk7CitAQCAtMjc5LDcgKzI2NCw3IEBACisgICBiaW5kdGV4dGRvbWFpbiAoUEFDS0FHRSwgTE9DQUxFRElSKTsKKyAgIHRleHRkb21haW4gKFBBQ0tBR0UpOworICAgCistICBzaG93X2RiID0gZGVidWcgPSBudW1lcmljID0gcXVpZXQgPSB3YWtldXAgPSBhZl9oaW50ID0gc3lzbG9nX2ludGVydmFsID0gMDsKKysgIHNob3dfZGIgPSBkZWJ1ZyA9IG51bWVyaWMgPSBxdWlldCA9IHdha2V1cCA9IGFmX2hpbnQgPSBzeXNsb2dfaW50ZXJ2YWwgPSBmb3JlZ3JvdW5kID0gMDsKKyAgIHVuaXQgPSBERUZBVUxUOworICAgcG9ydG51bSA9IFBPUlRfTlVNQkVSOworICAgbGlzdGVuX2FkZHIgPSBOVUxMOworQEAgLTI5NCw2ICsyNzksNyBAQAorICAgICAgIHsiZHJpdmViYXNlIiwgIDAsIE5VTEwsICdiJ30sCisgICAgICAgeyJkZWJ1ZyIsICAgICAgMCwgTlVMTCwgJ0QnfSwKKyAgICAgICB7ImZpbGUiLCAgICAgICAxLCBOVUxMLCAnZid9LAorKyAgICAgIHsiZm9yZWdyb3VuZCIsIDAsIE5VTEwsICdGJ30sCisgICAgICAgeyJsaXN0ZW4iLCAgICAgMSwgTlVMTCwgJ2wnfSwKKyAgICAgICB7InZlcnNpb24iLCAgICAwLCBOVUxMLCAndid9LAorICAgICAgIHsicG9ydCIsICAgICAgIDEsIE5VTEwsICdwJ30sCitAQCAtMzA1LDcgKzI5MSw3IEBACisgICAgICAgezAsIDAsIDAsIDB9CisgICAgIH07CisgIAorLSAgICBjID0gZ2V0b3B0X2xvbmcgKGFyZ2MsIGFyZ3YsICJiRGRmOmw6aHA6cXM6dTp2bnc0NlM6IiwgbG9uZ19vcHRpb25zLCAmbGluZGV4KTsKKysgICAgYyA9IGdldG9wdF9sb25nIChhcmdjLCBhcmd2LCAiYkRkZjpsOmhwOnFzOnU6dm53NDZGUzoiLCBsb25nX29wdGlvbnMsICZsaW5kZXgpOworICAgICBpZiAoYyA9PSAtMSkKKyAgICAgICBicmVhazsKKyAgICAgCitAQCAtMzgyLDEyICszNjgsMTMgQEAKKyAJCSAiICAgICAgICAgICAgICAgICAgICAgICAgKGRvbmUgZm9yIGV2ZXJ5IGRyaXZlIHN1cHBsaWVkKS5cbiIKKyAJCSAiICAtZCAgIC0tZGFlbW9uICAgICAgOiAgcnVuIGhkZHRlbXAgaW4gVENQL0lQIGRhZW1vbiBtb2RlIChwb3J0ICVkIGJ5IGRlZmF1bHQuKVxuIgorIAkJICIgIC1mICAgLS1maWxlPUZJTEUgICA6ICBzcGVjaWZ5IGRhdGFiYXNlIGZpbGUgdG8gdXNlLlxuIgorKwkJICIgIC1GICAgLS1mb3JlZ3JvdW5kICA6ICBkb24ndCBkYWVtb25pemUsIHN0YXkgaW4gZm9yZWdyb3VuZC5cbiIKKyAJCSAiICAtbCAgIC0tbGlzdGVuPWFkZHIgOiAgbGlzdGVuIG9uIGEgc3BlY2lmaWMgaW50ZXJmYWNlIChpbiBUQ1AvSVAgZGFlbW9uIG1vZGUpLlxuIgorICAgICAgICAgICAgICAgICAgIiAgLW4gICAtLW51bWVyaWMgICAgIDogIHByaW50IG9ubHkgdGhlIHRlbXBlcmF0dXJlLlxuIgorIAkJICIgIC1wICAgLS1wb3J0PSMgICAgICA6ICBwb3J0IHRvIGxpc3RlbiB0byAoaW4gVENQL0lQIGRhZW1vbiBtb2RlKS5cbiIKKyAJCSAiICAtcyAgIC0tc2VwYXJhdG9yPUMgOiAgc2VwYXJhdG9yIHRvIHVzZSBiZXR3ZWVuIGZpZWxkcyAoaW4gVENQL0lQIGRhZW1vbiBtb2RlKS5cbiIKKyAJCSAiICAtUyAgIC0tc3lzbG9nPXMgICAgOiAgbG9nIHRlbXBlcmF0dXJlIHRvIHN5c2xvZyBldmVyeSBzIHNlY29uZHMuXG4iCistICAgICAgICAgICAgICAgICAiICAtdSAgIC0tdW5pdD1bQ3xGXSAgOiAgZm9yY2Ugb3V0cHV0IHRlbXBlcmF0dXJlIGVpdGhlciBpbiBDZWxpdXMgb3IgRmFocmVuaGVpdC5cbiIKKysgICAgICAgICAgICAgICAgICIgIC11ICAgLS11bml0PVtDfEZdICA6ICBmb3JjZSBvdXRwdXQgdGVtcGVyYXR1cmUgZWl0aGVyIGluIENlbHNpdXMgb3IgRmFocmVuaGVpdC5cbiIKKyAJCSAiICAtcSAgIC0tcXVpZXQgICAgICAgOiAgZG8gbm90IGNoZWNrIGlmIHRoZSBkcml2ZSBpcyBzdXBwb3J0ZWQuXG4iCisgCQkgIiAgLXYgICAtLXZlcnNpb24gICAgIDogIGRpc3BsYXkgaGRkdGVtcCB2ZXJzaW9uIG51bWJlci5cbiIKKyAJCSAiICAtdyAgIC0td2FrZS11cCAgICAgOiAgd2FrZS11cCB0aGUgZHJpdmUgaWYgbmVlZC5cbiIKK0BAIC00MTgsNiArNDA1LDkgQEAKKyAJICB9CisgICAgICAgICB9CisgCWJyZWFrOworKyAgICAgIGNhc2UgJ0YnOgorKyAgICAgICAgZm9yZWdyb3VuZCA9IDE7CisrCWJyZWFrOworICAgICAgIGRlZmF1bHQ6CisgCWV4aXQoMSk7CisgICAgICAgfQorQEAgLTQ4OSw2ICs0NzksNyBAQAorICAgICBpZiggKGRzay0+ZmQgPSBvcGVuKGRzay0+ZHJpdmUsIE9fUkRPTkxZIHwgT19OT05CTE9DSykpIDwgMCkgeworICAgICAgIHNucHJpbnRmKGRzay0+ZXJyb3Jtc2csIE1BWF9FUlJPUk1TR19TSVpFLCAib3BlbjogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7CisgICAgICAgZHNrLT50eXBlID0gRVJST1I7CisrICAgICAgcmV0ID0gMTsKKyAgICAgICBjb250aW51ZTsKKyAgICAgfQorIAorQEAgLTUwMSw2ICs0OTIsNyBAQAorIAorICAgICAgIGxkaXNrcyA9IGRzay0+bmV4dDsKKyAgICAgICBmcmVlKGRzayk7CisrICAgICAgcmV0ID0gMTsKKyAgICAgICBjb250aW51ZTsKKyAgICAgfQorIAorQEAgLTUxNCwxMSArNTA2LDE3IEBACisgCWRiX2xvYWRlZCA9IDE7CisgICAgICAgfSAgICAgIAorIAorKyAgICAgIGRzay0+ZGJfZW50cnkgPSAoc3RydWN0IGhhcmRkcml2ZV9lbnRyeSAqKW1hbGxvYyhzaXplb2Yoc3RydWN0IGhhcmRkcml2ZV9lbnRyeSkpOworICAgICAgIGRiZSA9IGlzX2Ffc3VwcG9ydGVkX2RyaXZlKGRzay0+bW9kZWwpOworLSAgICAgIGlmKGRiZSkgeworLQlkc2stPmRiX2VudHJ5ID0gKHN0cnVjdCBoYXJkZHJpdmVfZW50cnkgKiltYWxsb2Moc2l6ZW9mKHN0cnVjdCBoYXJkZHJpdmVfZW50cnkpKTsKKysgICAgICBpZihkYmUpCisgCW1lbWNweShkc2stPmRiX2VudHJ5LCBkYmUsIHNpemVvZihzdHJ1Y3QgaGFyZGRyaXZlX2VudHJ5KSk7CistICAgICAgfQkKKysgICAgICBlbHNlIHsKKysgICAgICAgIGRzay0+ZGJfZW50cnktPnJlZ2V4cCAgICAgICA9ICIiOworKyAgICAgICAgZHNrLT5kYl9lbnRyeS0+ZGVzY3JpcHRpb24gID0gIiI7CisrICAgICAgICBkc2stPmRiX2VudHJ5LT5hdHRyaWJ1dGVfaWQgPSBERUZBVUxUX0FUVFJJQlVURV9JRDsKKysgICAgICAgIGRzay0+ZGJfZW50cnktPnVuaXQgICAgICAgICA9ICdDJzsKKysgICAgICAgIGRzay0+ZGJfZW50cnktPm5leHQgICAgICAgICA9IE5VTEw7CisrICAgICAgfQorICAgICB9CisgICB9CisgCitAQCAtNTMwLDUgKzUyOCw1IEBACisgICAgIGRvX2RpcmVjdF9tb2RlKGxkaXNrcyk7CisgICB9CisgCistICByZXR1cm4gMDsKKysgIHJldHVybiByZXQ7CisgfQorLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL3NyYy9hdGEuYworKysrIGhkZHRlbXAtMC4zLWJldGExNS9zcmMvYXRhLmMKK0BAIC03NSw3ICs3NSw3IEBACisgICBpbnQgICAgICAgICAgICAgIGk7CisgICB1MTYgKiAgICAgICAgICAgIHA7CisgCistICBpZihkc2stPmRiX2VudHJ5ICYmIGRzay0+ZGJfZW50cnktPmF0dHJpYnV0ZV9pZCA9PSAwKSB7CisrICBpZihkc2stPmRiX2VudHJ5LT5hdHRyaWJ1dGVfaWQgPT0gMCkgeworICAgICBjbG9zZShkc2stPmZkKTsKKyAgICAgZHNrLT5mZCA9IC0xOworICAgICByZXR1cm4gR0VUVEVNUF9OT1NFTlNPUjsKK0BAIC0xNDAsMjQgKzE0MCwxNSBAQAorICAgKi8KKyAKKyAgIC8qIHRlbXBlcmF0dXJlICovCistICBpZihkc2stPmRiX2VudHJ5ICYmIGRzay0+ZGJfZW50cnktPmF0dHJpYnV0ZV9pZCA+IDApCistICAgIGZpZWxkID0gYXRhX3NlYXJjaF90ZW1wZXJhdHVyZSh2YWx1ZXMsIGRzay0+ZGJfZW50cnktPmF0dHJpYnV0ZV9pZCk7CistICBlbHNlCistICAgIGZpZWxkID0gYXRhX3NlYXJjaF90ZW1wZXJhdHVyZSh2YWx1ZXMsIERFRkFVTFRfQVRUUklCVVRFX0lEKTsKKysgIGZpZWxkID0gYXRhX3NlYXJjaF90ZW1wZXJhdHVyZSh2YWx1ZXMsIGRzay0+ZGJfZW50cnktPmF0dHJpYnV0ZV9pZCk7CisgCisgICBpZihmaWVsZCkKKyAgICAgZHNrLT52YWx1ZSA9ICooZmllbGQrMyk7CisgCistICBpZihkc2stPmRiX2VudHJ5ICYmIGRzay0+dmFsdWUgIT0gLTEpCisrICBpZihkc2stPnZhbHVlICE9IC0xKQorICAgICByZXR1cm4gR0VUVEVNUF9LTk9XTjsKKy0gIGVsc2UgeworLSAgICBpZihkc2stPnZhbHVlICE9IC0xKSB7CistICAgICAgcmV0dXJuIEdFVFRFTVBfR1VFU1M7CistICAgIH0KKy0gICAgZWxzZSB7CistICAgICAgcmV0dXJuIEdFVFRFTVBfVU5LTk9XTjsKKy0gICAgfQorLSAgfQorKyAgZWxzZQorKyAgICByZXR1cm4gR0VUVEVNUF9VTktOT1dOOworIAorICAgLyogbmV2ZXIgcmVhY2hlZCAqLworIH0KKy0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9zcmMvaGRkdGVtcC5oCisrKysgaGRkdGVtcC0wLjMtYmV0YTE1L3NyYy9oZGR0ZW1wLmgKK0BAIC0zOSw4ICszOSw2IEBACisgICBHRVRURU1QX0VSUk9SLCAgICAgICAgICAgIC8qIEVycm9yICovCisgICBHRVRURU1QX05PVF9BUFBMSUNBQkxFLCAgIC8qICovCisgICBHRVRURU1QX1VOS05PV04sICAgICAgICAgIC8qIERyaXZlIGlzIG5vdCBpbiBkYXRhYmFzZSAqLworLSAgR0VUVEVNUF9HVUVTUywgICAgICAgICAgICAvKiBOb3QgaW4gZGF0YWJhc2UsIGJ1dCBzb21ldGhpbmcgd2FzIGd1ZXNzZWQsIHVzZXIgbXVzdAorLQkJCSAgICAgICBjaGVjayB0aGF0IHRoZSB0ZW1wZXJhdHVyZSByZXR1cm5lZCBpcyBjb3JyZWN0ICovCisgICBHRVRURU1QX0tOT1dOLCAgICAgICAgICAgIC8qIERyaXZlIGFwcGVhciBpbiBkYXRhYmFzZSAqLworICAgR0VUVEVNUF9OT1NFTlNPUiwgICAgICAgICAvKiBEcml2ZSBhcHBlYXIgaW4gZGF0YWJhc2UgYnV0IGlzIGtub3duIHRvIGhhdmUgbm8gc2Vuc29yICovCisgICBHRVRURU1QX0RSSVZFX1NMRUVQICAgICAgIC8qIERyaXZlIGlzIHNsZWVwaW5nICovCitAQCAtNzgsNyArNzYsNyBAQAorIAorIGV4dGVybiBzdHJ1Y3QgYnVzdHlwZSAqICAgYnVzW0JVU19UWVBFX01BWF07CisgZXh0ZXJuIGNoYXIgICAgICAgICAgICAgICBlcnJvcm1zZ1tNQVhfRVJST1JNU0dfU0laRV07CistZXh0ZXJuIGludCAgICAgICAgICAgICAgICB0Y3BfZGFlbW9uLCBkZWJ1ZywgcXVpZXQsIHdha2V1cCwgYWZfaGludDsKKytleHRlcm4gaW50ICAgICAgICAgICAgICAgIHRjcF9kYWVtb24sIGRlYnVnLCBxdWlldCwgd2FrZXVwLCBhZl9oaW50LCBmb3JlZ3JvdW5kOworIGV4dGVybiBjaGFyICAgICAgICAgICAgICAgc2VwYXJhdG9yOworIGV4dGVybiBsb25nICAgICAgICAgICAgICAgcG9ydG51bSwgc3lzbG9nX2ludGVydmFsOworIGV4dGVybiBjaGFyICogICAgICAgICAgICAgbGlzdGVuX2FkZHI7CistLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvc3JjL3Njc2ljbWRzLmMKKysrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL3Njc2ljbWRzLmMKK0BAIC0xNDcsNiArMTQ3LDcgQEAKKyAgICAgcmV0dXJuIDE7CisgICBlbHNlIHsKKyAgICAgc2NzaV9maXhzdHJpbmcoYnVmZmVyICsgOCwgMjQpOworKyAgICBidWZmZXJbMzJdID0gMDsKKyAgICAgcmV0dXJuIDA7CisgICB9CisgfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGR0ZW1wL2hkZHRlbXAvaW5pdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRkdGVtcC9oZGR0ZW1wL2luaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGRmOGY2NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRkdGVtcC9oZGR0ZW1wL2luaXQKQEAgLTAsMCArMSwxMDAgQEAKKyMhL2Jpbi9zaAorIworIyBza2VsZXRvbiAgICAgICAgZXhhbXBsZSBmaWxlIHRvIGJ1aWxkIC9ldGMvaW5pdC5kLyBzY3JpcHRzLgorIyAgICAgICAgICAgICAgICBUaGlzIGZpbGUgc2hvdWxkIGJlIHVzZWQgdG8gY29uc3RydWN0IHNjcmlwdHMgZm9yIC9ldGMvaW5pdC5kLgorIworIyAgICAgICAgICAgICAgICBXcml0dGVuIGJ5IE1pcXVlbCB2YW4gU21vb3JlbmJ1cmcgPG1pcXVlbHNAY2lzdHJvbi5ubD4uCisjICAgICAgICAgICAgICAgIE1vZGlmaWVkIGZvciBEZWJpYW4gR05VL0xpbnV4CisjICAgICAgICAgICAgICAgIGJ5IElhbiBNdXJkb2NrIDxpbXVyZG9ja0BnbnUuYWkubWl0LmVkdT4uCisjCisjIFZlcnNpb246ICAgICAgICBAKCMpc2tlbGV0b24gIDEuOCAgMDMtTWFyLTE5OTggIG1pcXVlbHNAY2lzdHJvbi5ubAorIworCisjIyMgQkVHSU4gSU5JVCBJTkZPCisjIFByb3ZpZGVzOiAgICAgICAgICBoZGR0ZW1wCisjIFJlcXVpcmVkLVN0YXJ0OiAgICAkcmVtb3RlX2ZzICRzeXNsb2cgJG5ldHdvcmsKKyMgUmVxdWlyZWQtU3RvcDogICAgICRyZW1vdGVfZnMgJHN5c2xvZyAkbmV0d29yaworIyBEZWZhdWx0LVN0YXJ0OiAgICAgMiAzIDQgNQorIyBEZWZhdWx0LVN0b3A6ICAgICAgMCAxIDYKKyMgU2hvcnQtRGVzY3JpcHRpb246IGRpc2sgdGVtcGVyYXR1cmUgbW9uaXRvcmluZyBkYWVtb24KKyMgRGVzY3JpcHRpb246ICAgICAgIGhkZHRlbXAgaXMgYSBkaXNrIHRlbXBlcmF0dXJlIG1vbml0b3JpbmcgZGFlbW9uCisjIyMgRU5EIElOSVQgSU5GTworCitQQVRIPS91c3IvbG9jYWwvc2JpbjovdXNyL2xvY2FsL2Jpbjovc2JpbjovYmluOi91c3Ivc2JpbjovdXNyL2JpbgorTkFNRT1oZGR0ZW1wCitEQUVNT049L3Vzci9zYmluLyROQU1FCitERVNDPSJkaXNrIHRlbXBlcmF0dXJlIG1vbml0b3JpbmcgZGFlbW9uIgorCitESVNLUz0iL2Rldi9oZFthLXpdIC9kZXYvaGRbYS16XVthLXpdIgorRElTS1M9IiRESVNLUyAvZGV2L3NkW2Etel0gL2Rldi9zZFthLXpdW2Etel0iCitESVNLUz0iJERJU0tTIC9kZXYvc3JbYS16XSAvZGV2L3NyW2Etel1bYS16XSIKK0lOVEVSRkFDRT0iMC4wLjAuMCIKK1BPUlQ9Ijc2MzQiCitTRVBBUkFUT1I9InwiCitSVU5fU1lTTE9HPSIwIgorCisjIFJlYWRzIGNvbmZpZyBmaWxlICh3aWxsIG92ZXJyaWRlIGRlZmF1bHRzIGFib3ZlKQorWyAtciAvZXRjL2RlZmF1bHQvaGRkdGVtcCBdICYmIC4gL2V0Yy9kZWZhdWx0L2hkZHRlbXAKKworaWYgWyAtbiAiJFJVTl9TWVNMT0ciIF0gJiYgWyAiJFJVTl9TWVNMT0ciICE9ICIwIiBdIDsgdGhlbgorICBTWVNMT0dfQVJHPSItUyAkUlVOX1NZU0xPRyIKK2ZpCisKK2lmIFsgIiRSVU5fREFFTU9OIiA9ICJ0cnVlIiBdIHx8IFsgIiRSVU5fREFFTU9OIiA9ICJ5ZXMiIF0gOyB0aGVuCisgIERBRU1PTl9BUkc9Ii1kIC1sICRJTlRFUkZBQ0UgLXAgJFBPUlQgLXMgJFNFUEFSQVRPUiIKK2ZpCisKK1sgLXggIiREQUVNT04iIF0gfHwgZXhpdCAwCisKKy4gL2xpYi9sc2IvaW5pdC1mdW5jdGlvbnMKKworY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorICAgICMgbWFzdGVyIHN3aXRjaAorICAgIGlmIFsgLW4gIiREQUVNT05fQVJHIiBdIHx8IFsgLW4gIiRTWVNMT0dfQVJHIiBdIDsgdGhlbgorICAgICAgbG9nX2RhZW1vbl9tc2cgIlN0YXJ0aW5nICRERVNDIiAiJE5BTUU6IgorICAgICAgQ0RST01TX0xJU1Q9JChzZWQgLW5lICdzL15kcml2ZSBuYW1lOlx0XCtcKC4qXCkkLyBcL2RldlwvXDEvcCcgL3Byb2Mvc3lzL2Rldi9jZHJvbS9pbmZvIDI+L2Rldi9udWxsKSB8fCA6CisgICAgICBDRFJPTVNfTElTVD0iJENEUk9NU19MSVNUICQoZ3JlcCAtc2wgJ15pZGUtc2NzaSAnIC9wcm9jL2lkZS9oZCovZHJpdmVyIHwgYXdrIC1GIC8gJ3sgcHJpbnQgIi9kZXYvIiQ0IH0nKSIKKyAgICAgIGZvciBkaXNrIGluICRESVNLUyA7IGRvCisgICAgICAgIGVjaG8gJENEUk9NU19MSVNUIHwgZ3JlcCAtd3EgJGRpc2sgJiYgY29udGludWUKKyAgICAgICAgZWNobyAkRElTS1NfTk9QUk9CRSB8IGdyZXAgLXdxICRkaXNrICYmIGNvbnRpbnVlCisgICAgICAgIGlmICREQUVNT04gLXduICRPUFRJT05TICRkaXNrIDI+L2Rldi9udWxsIHwgZ3JlcCAtcSAnXlswLTldXCskJyA7IHRoZW4KKyAgICAgICAgICBESVNLU19MSVNUPSIkRElTS1NfTElTVCAkZGlzayI7CisgICAgICAgIGZpCisgICAgICBkb25lCisgICAgICBpZiBbIC1uICIkRElTS1NfTElTVCIgXSB8fCBbIC1uICIkRElTS1NfTk9QUk9CRSIgXSA7IHRoZW4KKyAgICAgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tZXhlYyAkREFFTU9OIC0tICREQUVNT05fQVJHICRTWVNMT0dfQVJHICRPUFRJT05TICRESVNLU19OT1BST0JFICRESVNLU19MSVNUCisgICAgICAgIHJldD0kPworICAgICAgICBsb2dfcHJvZ3Jlc3NfbXNnICIkRElTS1NfTk9QUk9CRSRESVNLU19MSVNUIgorICAgICAgICBsb2dfZW5kX21zZyAkcmV0CisgICAgICBlbHNlCisgICAgICAgIGxvZ19wcm9ncmVzc19tc2cgIm5vIGRpc2tzIHdpdGggbW9uaXRvcmluZyBjYXBhYmlsaXR5IHdlcmUgZm91bmQuIgorICAgICAgICBsb2dfZW5kX21zZyAwCisgICAgICBmaQorICAgIGZpCisgICAgOzsKKyAgc3RvcCkKKyAgICAjIG1hc3RlciBzd2l0Y2gKKyAgICBpZiBbICIkUlVOX0RBRU1PTiIgPSAidHJ1ZSIgXSB8fCBbICIkUlVOX0RBRU1PTiIgPSAieWVzIiBdIHx8IFsgIiRSVU5fU1lTTE9HIiAhPSAiMCIgXSA7IHRoZW4KKyAgICAgIGxvZ19kYWVtb25fbXNnICJTdG9wcGluZyAkREVTQyIgIiROQU1FIgorICAgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tb2tub2RvIC0tZXhlYyAkREFFTU9OIC0tcmV0cnkgMzAKKyAgICAgIGxvZ19lbmRfbXNnICQ/CisgICAgZmkKKyAgICA7OworICBmb3JjZS1yZWxvYWR8cmVsb2FkKQorICAgIGV4aXQgMworICAgIDs7CisgIHJlc3RhcnQpCisgICAgJDAgc3RvcCAmJiAkMCBzdGFydAorICAgIDs7CisgIHN0YXR1cykKKyAgICBzdGF0dXNfb2ZfcHJvYyAkREFFTU9OICROQU1FCisgICAgZXhpdCAkPworICAgIDs7CisgICopCisgICAgZWNobyAiVXNhZ2U6IC9ldGMvaW5pdC5kLyROQU1FIHtzdGFydHxzdG9wfHJlc3RhcnR8c3RhdHVzfSIgPiYyCisgICAgZXhpdCAxCisgICAgOzsKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZHRlbXAvaGRkdGVtcF8wLjMtYmV0YTE1LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGR0ZW1wL2hkZHRlbXBfMC4zLWJldGExNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MDFiN2IxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGR0ZW1wL2hkZHRlbXBfMC4zLWJldGExNS5iYgpAQCAtMCwwICsxLDMyIEBACitTVU1NQVJZID0gIkhhcmQgZGlzayB0ZW1wZXJhdHVyZSBtb25pdG9yIGRhZW1vbiIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorTElDRU5TRSA9ICJHUEx2MisiCisKK1BSID0gInIxIgorCitTUkNfVVJJID0gIiR7U0FWQU5OQUhfTk9OR05VX01JUlJPUn0vaGRkdGVtcC9oZGR0ZW1wLTAuMy1iZXRhMTUudGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9oZGR0ZW1wLW5vLW5scy1zdXBwb3J0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2hkZHRlbXBfMC4zLWJldGExNS01Mi5kaWZmIFwKKyAgICAgICAgICAgZmlsZTovL2hkZHRlbXAtMC4zLWJldGExNS1hdXRvZGV0ZWN0LTcxNzQ3OS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9oZGR0ZW1wLmRiIFwKKyAgICAgICAgICAgZmlsZTovL2luaXQgXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOGI4MjkzMzllMWFlOWRmNzAxNjg0ZWMyMzkwMjFiYjgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjE4NTQxNTg0MDU0MDkzZDUzYmU4YTJkOWU4MWM5NzE3NGYzMGYwMGFmOTFjYjg3MDBhOTdlNDQyZDc5ZWY1YiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vR1BMLTI7bWQ1PWViNzIzYjYxNTM5ZmVlZjAxM2RlNDc2ZTY4YjVjNTBhIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHVwZGF0ZS1yYy5kCisKK0ZJTEVTXyR7UE59ICs9ICIvdXNyL3NoYXJlL21pc2MvaGRkdGVtcC5kYiIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9L3Vzci9zaGFyZS9taXNjLworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2hkZHRlbXAuZGIgJHtEfS91c3Ivc2hhcmUvbWlzYy9oZGR0ZW1wLmRiCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9oZGR0ZW1wCit9CisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJoZGR0ZW1wIgorSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgOTkgMiAzIDQgNSAuIHN0b3AgMjAgMCAxIDYgLiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGlkYXBpL2hpZGFwaV9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hpZGFwaS9oaWRhcGlfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzNDc5N2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hpZGFwaS9oaWRhcGlfZ2l0LmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiTXVsdGktcGxhdGZvcm0gbGlicmFyeSB0byBpbnRlcmZhY2Ugd2l0aCBVU0IgYW5kIEJsdWV0b290aCBISUQtQ2xhc3MgZGV2aWNlcyIKK0FVVEhPUiA9ICJBbGFuIE90dCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuc2lnbmFsMTEudXMvb3NzL2hpZGFwaS8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSB8IEdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PTdjMzk0OWE2MzEyNDBjYjZjMzFjNTBmM2ViNjk2MDc3IgorREVQRU5EUyA9ICJsaWJ1c2IgdWRldiIKK1BWID0gIjAuNy45OSswLjguMC1yYzErZ2l0JHtTUkNQVn0iCisKK1NSQ1JFViA9ICJkMTdkYjU3YjlkNDM1NDc1MmUwYWY0MmY1ZjMzMDA3YTQyZWYyOTA2IgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3NpZ25hbDExL2hpZGFwaS5naXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9odG9wL2h0b3BfMS4wLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2h0b3AvaHRvcF8xLjAuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZTQ0NWM4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9odG9wL2h0b3BfMS4wLjMuYmIKQEAgLTAsMCArMSwyMiBAQAorU1VNTUFSWSA9ICJodG9wIHByb2Nlc3MgbW9uaXRvciIKK0hPTUVQQUdFID0gImh0dHA6Ly9odG9wLnNmLm5ldCIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0xJQ0VOU0UgPSAiR1BMdjIiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWMzMTI2NTM1MzJlOGU2NjlmMzBlNWVjOGJkYzIzYmUzIgorCitERVBFTkRTID0gIm5jdXJzZXMiCitSREVQRU5EU18ke1BOfSA9ICJuY3Vyc2VzLXRlcm1pbmZvIgorCitTUkNfVVJJID0gImh0dHA6Ly9oaXNoYW0uaG0vaHRvcC9yZWxlYXNlcy8ke1BWfS9odG9wLSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gImU3NjhiOWI1NWMwMzNkOWMxZGZmZGE3MmRiM2E2YWM3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA1NWM1NzkyN2Y3NTg0N2ZkYzIyMmI1MjU4YjA3OWE5NTQyODExYTlkY2Y1NDIxYzYxNWM3ZTE3ZjU1ZDE4MjkiCisKK0xERkxBR1NfYXBwZW5kX2xpYmMtdWNsaWJjID0gIiAtbHViYWNrdHJhY2UiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKwlybSAtcmYgJHtTfS9jb25maWcuaAorfQorCitpbmhlcml0IGF1dG90b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9odW5zcGVsbC9odW5zcGVsbF8xLjMuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaHVuc3BlbGwvaHVuc3BlbGxfMS4zLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWU2Zjc3NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaHVuc3BlbGwvaHVuc3BlbGxfMS4zLjMuYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSA9ICJBIHNwZWxsIGNoZWNrZXIgYW5kIG1vcnBob2xvZ2ljYWwgYW5hbHl6ZXIgbGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly9odW5zcGVsbC5zb3VyY2Vmb3JnZS5uZXQvIgorTElDRU5TRSA9ICJMR1BMdjIuMSB8IEdQTHYyIHwgTVBMdjEuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiIFwKKyAgICBmaWxlOi8vQ09QWUlORzttZDU9ZWQzYTM3YjNiYTZkNmJlM2UwOGFiNDU5ODdjZjFiODggXAorICAgIGZpbGU6Ly9DT1BZSU5HLkxHUEw7bWQ1PWQ4MDQ1ZjNiOGY5MjljMWNiMjlhMWUzZmQ3MzdiNDk5IFwKKyAgICBmaWxlOi8vQ09QWUlORy5NUEw7bWQ1PWJmZTFmNzVkNjA2OTEyYTQxMTFjOTA3NDNkNmM3MzI1IFwKKyIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcHJvamVjdC8ke0JQTn0vSHVuc3BlbGwvJHtQVn0vJHtCUE59LSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI0OTY3ZGE2MGIyMzQxMzYwNGM5ZTU2M2JlYWNjNjNiNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhN2IyYzBkZTBlMmNlMTc0MjY4MjFkYzFhYzhlYjExNTAyOTk1OWIzYWRhOWQ4MGE4MTczOWZhMTkzNzMyNDZjIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dAorCitSREVQRU5EU18ke1BOfSA9ICJwZXJsIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaHdkYXRhL2h3ZGF0YV8wLjI4OC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaHdkYXRhL2h3ZGF0YV8wLjI4OC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzE5OWU5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9od2RhdGEvaHdkYXRhXzAuMjg4LmJiCkBAIC0wLDAgKzEsMjEgQEAKK0RFU0NSSVBUSU9OID0gIkhhcmR3YXJlIGlkZW50aWZpY2F0aW9uIGFuZCBjb25maWd1cmF0aW9uIGRhdGEiCitIT01FUEFHRSA9ICJodHRwOi8vZ2l0LmZlZG9yYWhvc3RlZC5vcmcvZ2l0L2h3ZGF0YS5naXQiCitTRUNUSU9OID0gIlN5c3RlbS9CYXNlIgorCitMSUNFTlNFID0gIkdQTC0yLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MTU1NjU0NzcxMWU4MjQ2OTkyYjk5OWVkZDk0NDVhNTciCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0LmZlZG9yYWhvc3RlZC5vcmcvY2dpdC8ke0JQTn0uZ2l0L3NuYXBzaG90LyR7QlB9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gImYzZmExYzVlZGI2NmNlNWIzNzZkOTVlNzcyYjJkMzAzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU2ZmMyNjI3NWIxMDJlNTM4ZmNmY2Y5YzEwOTNhMDlmNDc2YTFlYThkNGUwYzczM2QzYzU3ODQ0MjkyMzY5M2QiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICAke1N9L2NvbmZpZ3VyZSAtLWRhdGFkaXI9JHtkYXRhZGlyfSAtLWxpYmRpcj0ke2xpYmRpcn0KK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9Cit9CisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS8qIFwKKyAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vKiAiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2lrc2VtZWwvaWtzZW1lbC0xLjQvcjI1LmRpZmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2lrc2VtZWwvaWtzZW1lbC0xLjQvcjI1LmRpZmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY2NmNlMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaWtzZW1lbC9pa3NlbWVsLTEuNC9yMjUuZGlmZgpAQCAtMCwwICsxLDMyIEBACitUYWtlbiBmcm9tIHVwc3RyZWFtIHN1YnZlcnNpb24gcmVwb3NpdG9yeToKKworaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2lrc2VtZWwvc291cmNlL2RldGFpbD9yPTI1CisKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLQorIGNvbmZpZ3VyZS5hYyB8ICAgMTAgKysrKysrKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworLS0tIGlrc2VtZWwtMS40Lm9yaWcvY29uZmlndXJlLmFjCisrKysgaWtzZW1lbC0xLjQvY29uZmlndXJlLmFjCitAQCAtNDMsMTEgKzQzLDE5IEBAIEFNX0NPTkRJVElPTkFMKERPX1BPU0lYLCB0ZXN0ICJ4JGRlZmlvIgorIGRubCBDaGVja3MgZm9yIGxpYnJhcnkgZnVuY3Rpb25zCisgQUNfU0VBUkNIX0xJQlMocmVjdixzb2NrZXQpCisgQUNfQ0hFQ0tfRlVOQ1MoZ2V0b3B0X2xvbmcpCisgQUNfQ0hFQ0tfRlVOQ1MoZ2V0YWRkcmluZm8pCisgCistQU1fUEFUSF9MSUJHTlVUTFMoLEFDX0RFRklORShIQVZFX0dOVVRMUywsIlVzZSBsaWJnbnV0bHMiKSkKKytkbmwgQ2hlY2sgR05VIFRMUworK1BLR19DSEVDS19NT0RVTEVTKEdOVVRMUywgZ251dGxzID49IDIuMC4wLCBoYXZlX2dudXRscz15ZXMsIGhhdmVfZ251dGxzPW5vKQorK2lmIHRlc3QgIngkaGF2ZV9nbnV0bHMiID0gInh5ZXMiOyB0aGVuCisrICBMSUJHTlVUTFNfQ0ZMQUdTPSIkR05VVExTX0NGTEFHUyIKKysgIExJQkdOVVRMU19MSUJTPSIkR05VVExTX0xJQlMiCisrICBBQ19TVUJTVChMSUJHTlVUTFNfQ0ZMQUdTKQorKyAgQUNfU1VCU1QoTElCR05VVExTX0xJQlMpCisrICBBQ19ERUZJTkUoSEFWRV9HTlVUTFMsIDEsIFt3aGV0aGVyIHRvIHVzZSBHbnVUU0wgc3VwcG9ydC5dKQorK2ZpCisgCisgZG5sIENoZWNrIC1XYWxsIGZsYWcgb2YgR0NDCisgaWYgdGVzdCAieCRHQ0MiID0gInh5ZXMiOyB0aGVuCisgICBpZiB0ZXN0IC16ICJgZWNobyAiJENGTEFHUyIgfCBncmVwICJcLVdhbGwiIDI+IC9kZXYvbnVsbGAiIDsgdGhlbgorICAgICBDRkxBR1M9IiRDRkxBR1MgLVdhbGwiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2lrc2VtZWwvaWtzZW1lbF8xLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2lrc2VtZWwvaWtzZW1lbF8xLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjEyNzZmOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaWtzZW1lbC9pa3NlbWVsXzEuNC5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIkZhc3QgYW5kIHBvcnRhYmxlIFhNTCBwYXJzZXIgYW5kIEphYmJlciBwcm90b2NvbCBsaWJyYXJ5IgorQVVUSE9SID0gIkd1cmVyIE96ZW4gPG1lZHVrZXR0byBhdCBnbWFpbC5jb20+IgorSE9NRVBBR0UgPSAiaHR0cDovL2lrc2VtZWwuZ29vZ2xlY29kZS5jb20iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDgwNDVmM2I4ZjkyOWMxY2IyOWExZTNmZDczN2I0OTkiCitERVBFTkRTID0gImdudXRscyIKKworUFIgPSAicjEiCisKKyMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzI1ODI1LworUE5CTEFDS0xJU1RbaWtzZW1lbF0gPz0gIk5vdCBjb21wYXRpYmxlIHdpdGggZ251dGxzIHZlcnNpb24gMy40IGN1cnJlbnRseSBpbiBvZS1jb3JlIgorCitTUkNfVVJJID0gImh0dHA6Ly9pa3NlbWVsLmdvb2dsZWNvZGUuY29tL2ZpbGVzLyR7QlB9LnRhci5nejtuYW1lPWFyY2hpdmUgXAorICAgICAgICAgICBmaWxlOi8vcjI1LmRpZmYiCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI1MzJlNzcxODE2OTRmODdhZDVlYjU5NDM1ZDExYzFjYSIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjQ1OGMxYjhmYjMzNDkwNzZhNmNlY2YyNmMyOWRiMWQ1NjEzMTVkODRlMTZiZmNmYmE0MTlmMzI3ZjUwMmUyNDQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9pbWFnZW1hZ2ljay9pbWFnZW1hZ2lja182LjkuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaW1hZ2VtYWdpY2svaW1hZ2VtYWdpY2tfNi45LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTlmMDEzNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaW1hZ2VtYWdpY2svaW1hZ2VtYWdpY2tfNi45LjIuYmIKQEAgLTAsMCArMSw4OSBAQAorU1VNTUFSWSA9ICJJbWFnZU1hZ2ljayBpcyBhbiBpbWFnZSBjb252ZXJ0aW9uIHRvb2xzIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJJbWFnZU1hZ2ljayIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTA4ODdiNjcwYmU3ZWYwYzNjYjM3MDkyYjY0ZDU3NTE0IgorIyBGSVhNRTogVGhlcmUgYXJlIG1hbnkgbW9yZSBjaGVja2VkIGxpYnJhcmllcy4gQWxsIHNob3VsZCBiZSBhZGRlZCBvciBleHBsaWNpdGx5IGRpc2FibGVkIHRvIGdldCBjb25zaXN0ZW50IHJlc3VsdHMuCitERVBFTkRTID0gImxjbXMgYnppcDIganBlZyBsaWJwbmcgbGlicnN2ZyB0aWZmIHpsaWIgdmlydHVhbC9mZnR3IGZyZWV0eXBlIgorCisjIEltcG9ydGFudCBub3RlOiB0YXJiYWxscyBmb3IgYWxsIHBhdGNoc2V0cyB3aXRoaW4gYSB2ZXJzaW9uIGFyZSBkZWxldGVkIHdoZW4KKyMgYSBuZXcgcGFjaHNldCBpcyBjcmVhdGVkLiBUbyBhdm9pZCBtdWx0aXBsZSBwYXRjaGVzIGZvciBlYWNoIHBhdGNoc2V0LCB0cnkgdG8KKyMgdXBkYXRlIHRvIHRoZSBsYXN0IHBhY2hzZXQgb2YgYSB2ZXJzaW9uCitQQVRDSFNFVCA9ICIwIgorU1JDX1VSSSA9ICJodHRwOi8vd3d3LmltYWdlbWFnaWNrLm9yZy9kb3dubG9hZC9yZWxlYXNlcy9JbWFnZU1hZ2ljay0ke1BWfS0ke1BBVENIU0VUfS50YXIueHogXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjk5NDcxYzhjM2YzOGM5MjY0ZmFmNWM0Y2E3YTMxMjg3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA3YTJkZTI4ZjdmOWFiODg4ZWY0N2MwMmViN2UxMGNjM2UwZGQwZTk3OTdjNWQ3MWQ2ZTcxZDE5Zjg0MjM5OWUiCisKK1MgPSAiJHtXT1JLRElSfS9JbWFnZU1hZ2ljay0ke1BWfS0ke1BBVENIU0VUfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHVwZGF0ZS1hbHRlcm5hdGl2ZXMKKworIyB4bWwgZGlzYWJsZWQgYmVjYXVzZSBpdCdzIHVzaW5nIHhtbDItY29uZmlnIC0tcHJlZml4IHRvIGRldGVybWluZSBwcmVmaXggd2hpY2ggcmV0dXJucyBqdXN0IC91c3Igd2l0aCBvdXIgbGlieG1sMgorIyBpZiBzb21lb25lIG5lZWRzIHhtbCBzdXBwb3J0IHRoZW4gZml4IGl0IGZpcnN0CitFWFRSQV9PRUNPTkYgPSAiLS1wcm9ncmFtLXByZWZpeD0gLS1wcm9ncmFtLXN1ZmZpeD0uaW02IC0td2l0aG91dC1wZXJsIC0tZGlzYWJsZS1vcGVubXAgLS13aXRob3V0LXhtbCAtLWRpc2FibGUtb3BlbmNsIgorCitDQUNIRURfQ09ORklHVVJFVkFSUyA9ICJhY19jdl9zeXNfZmlsZV9vZmZzZXRfYml0cz15ZXMiCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAneDExJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdbanAyXSA9ICItLXdpdGgtanAyLCxqYXNwZXIiCitQQUNLQUdFQ09ORklHW2x6bWFdID0gIi0td2l0aC1sem1hLC0td2l0aG91dC1sem1hLHh6IgorUEFDS0FHRUNPTkZJR1tvcGVuanBlZ10gPSAiLS13aXRoLW9wZW5qcDIsLS13aXRob3V0LW9wZW5qcDIsb3BlbmpwZWciCitQQUNLQUdFQ09ORklHW3BhbmdvXSA9ICItLXdpdGgtcGFuZ28sLS13aXRob3V0LXBhbmdvLHBhbmdvIGNhaXJvIgorUEFDS0FHRUNPTkZJR1t3ZWJwXSA9ICItLXdpdGgtd2VicCwtLXdpdGhvdXQtd2VicCxsaWJ3ZWJwIgorUEFDS0FHRUNPTkZJR1t3bWZdID0gIi0td2l0aC13bWYsLS13aXRob3V0LXdtZixsaWJ3bWYiCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiLS13aXRoLXgsLS13aXRob3V0LXgsdmlydHVhbC9saWJ4MTEgbGlieGV4dCBsaWJ4dCIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9JbWFnZU1hZ2ljay0ke1BWfS9tb2R1bGVzLVExNi8qLyouc28gXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS9JbWFnZU1hZ2ljay0ke1BWfS9tb2R1bGVzLVExNi8qLyoubGEgXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS9JbWFnZU1hZ2ljay0ke1BWfS9tb2R1bGVzLVExNi9maWx0ZXJzIFwKKyAgICAgICAgICAgICAgICAke2xpYmRpcn0vSW1hZ2VNYWdpY2stJHtQVn0vbW9kdWxlcy1RMTYvY29kZXJzIFwKKyAgICAgICAgICAgICAgICAke2xpYmRpcn0vSW1hZ2VNYWdpY2stJHtQVn0vY29uZmlnLVExNiBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9JbWFnZU1hZ2ljay02ICIKKworRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vSW1hZ2VNYWdpY2stJHtQVn0vbW9kdWxlcy1RMTYvKi8qLmEiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L0ltYWdlTWFnaWNrLSR7UFZ9L21vZHVsZXMtUTE2LyovLmRlYnVnLyoiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitBTFRFUk5BVElWRV9QUklPUklUWSA9ICIxMDAiCisKK0FMVEVSTkFUSVZFXyR7UE59ID0gImFuaW1hdGUgY29tcGFyZSBjb21wb3NpdGUgY29uanVyZSBjb252ZXJ0IGRpc3BsYXkgXAorICAgIGlkZW50aWZ5IGltcG9ydCBtb2dyaWZ5IG1vbnRhZ2Ugc3RyZWFtIgorCitBTFRFUk5BVElWRV9UQVJHRVRbYW5pbWF0ZV0gPSAiJHtiaW5kaXJ9L2FuaW1hdGUuaW02IgorQUxURVJOQVRJVkVfVEFSR0VUW2NvbXBhcmVdID0gIiR7YmluZGlyfS9jb21wYXJlLmltNiIKK0FMVEVSTkFUSVZFX1RBUkdFVFtjb21wb3NpdGVdID0gIiR7YmluZGlyfS9jb21wb3NpdGUuaW02IgorQUxURVJOQVRJVkVfVEFSR0VUW2Nvbmp1cmVdID0gIiR7YmluZGlyfS9jb25qdXJlLmltNiIKK0FMVEVSTkFUSVZFX1RBUkdFVFtjb252ZXJ0XSA9ICIke2JpbmRpcn0vY29udmVydC5pbTYiCitBTFRFUk5BVElWRV9UQVJHRVRbZGlzcGxheV0gPSAiJHtiaW5kaXJ9L2Rpc3BsYXkuaW02IgorQUxURVJOQVRJVkVfVEFSR0VUW2lkZW50aWZ5XSA9ICIke2JpbmRpcn0vaWRlbnRpZnkuaW02IgorQUxURVJOQVRJVkVfVEFSR0VUW2ltcG9ydF0gPSAiJHtiaW5kaXJ9L2ltcG9ydC5pbTYiCitBTFRFUk5BVElWRV9UQVJHRVRbbW9ncmlmeV0gPSAiJHtiaW5kaXJ9L21vZ3JpZnkuaW02IgorQUxURVJOQVRJVkVfVEFSR0VUW21vbnRhZ2VdID0gIiR7YmluZGlyfS9tb250YWdlLmltNiIKK0FMVEVSTkFUSVZFX1RBUkdFVFtzdHJlYW1dID0gIiR7YmluZGlyfS9zdHJlYW0uaW02IgorCitBTFRFUk5BVElWRV8ke1BOfS1kb2MgPSAiYW5pbWF0ZS4xIGNvbXBhcmUuMSBjb21wb3NpdGUuMSBjb25qdXJlLjEgXAorICAgIGNvbnZlcnQuMSBkaXNwbGF5LjEgaWRlbnRpZnkuMSBpbXBvcnQuMSBtb2dyaWZ5LjEgbW9udGFnZS4xIHN0cmVhbS4xIgorCitBTFRFUk5BVElWRV9MSU5LX05BTUVbYW5pbWF0ZS4xXSA9ICIke21hbmRpcn0vbWFuMS9hbmltYXRlLjEiCitBTFRFUk5BVElWRV9UQVJHRVRbYW5pbWF0ZS4xXSA9ICIke21hbmRpcn0vbWFuMS9hbmltYXRlLmltNi4xIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2NvbXBhcmUuMV0gPSAiJHttYW5kaXJ9L21hbjEvY29tcGFyZS4xIgorQUxURVJOQVRJVkVfVEFSR0VUW2NvbXBhcmUuMV0gPSAiJHttYW5kaXJ9L21hbjEvY29tcGFyZS5pbTYuMSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtjb21wb3NpdGUuMV0gPSAiJHttYW5kaXJ9L21hbjEvY29tcG9zaXRlLjEiCitBTFRFUk5BVElWRV9UQVJHRVRbY29tcG9zaXRlLjFdID0gIiR7bWFuZGlyfS9tYW4xL2NvbXBvc2l0ZS5pbTYuMSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtjb25qdXJlLjFdID0gIiR7bWFuZGlyfS9tYW4xL2Nvbmp1cmUuMSIKK0FMVEVSTkFUSVZFX1RBUkdFVFtjb25qdXJlLjFdID0gIiR7bWFuZGlyfS9tYW4xL2Nvbmp1cmUuaW02LjEiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbY29udmVydC4xXSA9ICIke21hbmRpcn0vbWFuMS9jb252ZXJ0LjEiCitBTFRFUk5BVElWRV9UQVJHRVRbY29udmVydC4xXSA9ICIke21hbmRpcn0vbWFuMS9jb252ZXJ0LmltNi4xIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2Rpc3BsYXkuMV0gPSAiJHttYW5kaXJ9L21hbjEvZGlzcGxheS4xIgorQUxURVJOQVRJVkVfVEFSR0VUW2Rpc3BsYXkuMV0gPSAiJHttYW5kaXJ9L21hbjEvZGlzcGxheS5pbTYuMSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtpZGVudGlmeS4xXSA9ICIke21hbmRpcn0vbWFuMS9pZGVudGlmeS4xIgorQUxURVJOQVRJVkVfVEFSR0VUW2lkZW50aWZ5LjFdID0gIiR7bWFuZGlyfS9tYW4xL2lkZW50aWZ5LmltNi4xIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2ltcG9ydC4xXSA9ICIke21hbmRpcn0vbWFuMS9pbXBvcnQuMSIKK0FMVEVSTkFUSVZFX1RBUkdFVFtpbXBvcnQuMV0gPSAiJHttYW5kaXJ9L21hbjEvaW1wb3J0LmltNi4xIgorQUxURVJOQVRJVkVfTElOS19OQU1FW21vZ3JpZnkuMV0gPSAiJHttYW5kaXJ9L21hbjEvbW9ncmlmeS4xIgorQUxURVJOQVRJVkVfVEFSR0VUW21vZ3JpZnkuMV0gPSAiJHttYW5kaXJ9L21hbjEvbW9ncmlmeS5pbTYuMSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVttb250YWdlLjFdID0gIiR7bWFuZGlyfS9tYW4xL21vbnRhZ2UuMSIKK0FMVEVSTkFUSVZFX1RBUkdFVFttb250YWdlLjFdID0gIiR7bWFuZGlyfS9tYW4xL21vbnRhZ2UuaW02LjEiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbc3RyZWFtLjFdID0gIiR7bWFuZGlyfS9tYW4xL3N0cmVhbS4xIgorQUxURVJOQVRJVkVfVEFSR0VUW3N0cmVhbS4xXSA9ICIke21hbmRpcn0vbWFuMS9zdHJlYW0uaW02LjEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2luaWgvbGliaW5paF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2luaWgvbGliaW5paF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTAzMGM3OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaW5paC9saWJpbmloX2dpdC5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIkMgYW5kIEMrKyBJTkkgTGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9pbmloLyIKK1BWID0gIjAuMCtnaXRyJHtTUkNQVn0iCitQS0dWID0gIiR7R0lUUEtHVlRBR30iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWRhZTI4Y2JmMjgyMDc0MjVlMGQwYjNlYjgzNWY0YmRlIgorCitQUiA9ICJyMyIKKworIyBUaGUgZ2l0aHViIHJlcG9zaXRvcnkgcHJvdmlkZXMgYSBjbWFrZSBhbmQgcGtnLWNvbmZpZyBpbnRlZ3JhdGlvbgorU1JDUkVWID0gIjI1MDc4ZjcxNTZlYjg2NDdiM2IzNWRkMjVmOWFlNmY4YzRlZTA1ODkiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vT1NTeXN0ZW1zL2luaWguZ2l0IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGdpdHBrZ3YgY21ha2UKKworIyBXZSBkb24ndCBoYXZlIGxpYmluaWggc2luY2Ugd2Ugb25seSBoYXZlIHN0YXRpYyBsaWJyYXJpZXMKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2lwbWl1dGlsL2lwbWl1dGlsL2ZpeF9zeXN0ZW1kX3BhdGgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2lwbWl1dGlsL2lwbWl1dGlsL2ZpeF9zeXN0ZW1kX3BhdGgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmZhN2M2OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaXBtaXV0aWwvaXBtaXV0aWwvZml4X3N5c3RlbWRfcGF0aC5wYXRjaApAQCAtMCwwICsxLDMxOCBAQAorYWxsb3cgc3lzdGVtZCBwYXRoIHRvIGJlIGRlZmluZWQgYnkgY29uZmlndXJlIG9wdGlvbi4KKworVGhlIGNvbmZpZ3VyZSBwcm9iZXMgdGhlIGhvc3QgZm9yIHN5c3RlbWQgcGF0aCBpbmZvcm1hdGlvbi4KKworVXBzdHJlYW0gU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtFbWJlZGRlZF0KKworU2lnbmVkLW9mZi1CeTogQXJtaW4gS3VzdGVyIDxha3VzdGVyQG12aXN0YS5jb20+CisKK0luZGV4OiBpcG1pdXRpbC0yLjkuNi9jb25maWd1cmUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBpcG1pdXRpbC0yLjkuNi5vcmlnL2NvbmZpZ3VyZQorKysrIGlwbWl1dGlsLTIuOS42L2NvbmZpZ3VyZQorQEAgLTc5Miw3ICs3OTIsNiBAQCBMVExJQk9CSlMKKyBMSUJPQkpTCisgcGtnY29uZmlnZGlyCisgU0hSX0xJTksKKy1TWVNURU1EX0RJUgorIENST1NTX0xGTEFHUworIENST1NTX0NGTEFHUworIFNVQkRJUl9TCitAQCAtOTk5LDcgKzk5OCw3IEBAIHBzZGlyPScke2RvY2Rpcn0nCisgbGliZGlyPScke2V4ZWNfcHJlZml4fS9saWInCisgbG9jYWxlZGlyPScke2RhdGFyb290ZGlyfS9sb2NhbGUnCisgbWFuZGlyPScke2RhdGFyb290ZGlyfS9tYW4nCistCisrc3lzdGVtZGRpcj0nJHtkYXRhcm9vdGRpcn0vaXBtaXV0aWwnCisgYWNfcHJldj0KKyBhY19kYXNoZGFzaD0KKyBmb3IgYWNfb3B0aW9uCitAQCAtMTU5NCw3ICsxNTkzLDEwIEBAIE9wdGlvbmFsIEZlYXR1cmVzOgorICAgLS1lbmFibGUtc3RhbmRhbG9uZSAgICBidWlsZCBzdGFuZGFsb25lLCB3aXRoIG5vIEdQTCBvciBMYW5QbHVzIGxpYnMuCisgICAtLWVuYWJsZS1saWJzZW5zb3JzCSBidWlsZCBsaWJpcG1pdXRpbCB3aXRoIHNlbnNvciBtb2R1bGVzIFtkZWZhdWx0PW5vXQorICAgLS1lbmFibGUtZ3BsICAgICAgICAgICBidWlsZCB3aXRoIHNvbWUgR1BMIGNvZGUgW2RlZmF1bHQ9bm9dCistICAtLWVuYWJsZS1zeXN0ZW1kICAgICAgIGVuYWJsZSBzeXN0ZW1kIHNlcnZpY2UgdHlwZT1ub3RpZnkgc3VwcG9ydCBhbmQgJV91bml0ZGlyIFtkZWZhdWx0PWRpc2FibGVkXQorKyAgLS1lbmFibGUtc3lzdGVtZFs9c3lzdGVtZGRpcl0gICAgICBpbnN0YWxsIHN5c3RlbWQgdW5pdCBmaWxlLiAgSWYgJ3llcycKKysgICAgICAgICAgICAgICAgcHJvYmUgdGhlIHN5c3RlbSBmb3IgdW5pdCBkaXJlY3RvcnkuCisrICAgICAgICAgICAgICAgIElmIGEgcGF0aCBpcyBzcGVjaWZpZWQsIGFzc3VtZSB0aGF0CisrICAgICAgICAgICAgICAgIGlzIGEgdmFsaWQgaW5zdGFsbCBwYXRoLiAgW2RlZmF1bHQ9ZGlzYWJsZWRdCisgCisgT3B0aW9uYWwgUGFja2FnZXM6CisgICAtLXdpdGgtUEFDS0FHRVs9QVJHXSAgICB1c2UgUEFDS0FHRSBbQVJHPXllc10KK0BAIC0xMjk4MCw3ICsxMjk4Miw2IEBAIENST1NTX0xGTEFHUz0iIgorIENST1NTX0NGTEFHUz0iIgorIExJQlNFTlNPUlM9IiIKKyBTQU0yT0JKPSJpc2Vuc29yMi5vIGlldmVudHMyLm8iCistU1lTVEVNRF9ESVI9L3Vzci9zaGFyZS9pcG1pdXRpbAorIAorICMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS11c2VmbGFncyB3YXMgZ2l2ZW4uCisgaWYgdGVzdCAiJHtlbmFibGVfdXNlZmxhZ3Mrc2V0fSIgPSBzZXQ7IHRoZW4KK0BAIC0xMzAzMiwzMSArMTMwMzMsNDMgQEAgaWYgdGVzdCAiJHtlbmFibGVfZ3BsK3NldH0iID0gc2V0OyB0aGVuCisgICAgIGZpCisgCisgZmkKKy0KKysjCisrIyBDaGVjayBmb3Igc3lzdGVtZCB1bml0IGZpbGVzIGRpcmVlY3RvcnkgZXhpc3RzIGlmIHVuaXQgZmlsZSBpbnN0YWxsYXRpb24KKysjIGlzIHJlcXVlc3RlZAorKyMKKyAKKyAjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtc3lzdGVtZCB3YXMgZ2l2ZW4uCistaWYgdGVzdCAiJHtlbmFibGVfc3lzdGVtZCtzZXR9IiA9IHNldDsgdGhlbgorLSAgZW5hYmxldmFsPSRlbmFibGVfc3lzdGVtZDsKKy1maQorLQorLWlmIHRlc3QgIngkZW5hYmxlX3N5c3RlbWQiID0gInh5ZXMiOyB0aGVuCistICAgR1BMX0NGTEFHUz0iJEdQTF9DRkxBR1MgLURFTkFCTEVfU1lTVEVNRCIKKy0gICAjIGlmIHN5c3RlbWQgZW5hYmxlZCwgaW5zdGFsbCBzZXJ2aWNlIHNjcmlwdHMgaW4gdW5pdGRpcgorLSAgIFNZU1RFTURfRElSPWBycG0gLS1ldmFsICIle191bml0ZGlyfSJgCistZWxzZQorLSAgICMgb3RoZXJ3aXNlIGluc3RhbGwgdGhlIHN5c3RlbWQgc2VydmljZSBzY3JpcHRzIGluIHRoZSBkYXRhIGRpcgorLSAgaWYgdGVzdCAgIngkc3lzbmFtZSIgPSAieERhcndpbiIgOyB0aGVuCistICAgICMgTWFjT1MgJ3doaWNoJyBjb21tYW5kIHJldHVybnMgMCBhbHdheXMKKy0gICAgU1lTVEVNRF9ESVI9L3Vzci9zaGFyZS9pcG1pdXRpbAorLSAgZWxzZQorK2lmIHRlc3QgIiR7ZW5hYmxlX3N5c3RlbWQrc2V0fSIgPSBzZXQ7IHRoZW4gOgorKyAgd2l0aHZhbD0kZW5hYmxlX3N5c3RlbWQ7IGlmIHRlc3QgIiR3aXRodmFsIiA9IHllczsgdGhlbgorKyAgR1BMX0NGTEFHUz0iJEdQTF9DRkxBR1MgLURFTkFCTEVfU1lTVEVNRCIKKysgIGlmIHRlc3QgLXogIiRzeXN0ZW1kZGlyIjsgdGhlbgorKyAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGxvY2F0aW9uIG9mIHRoZSBzeXN0ZW1kIHVuaXQgZmlsZXMgZGlyZWN0b3J5IiA+JjUKKyskYXNfZWNob19uICJjaGVja2luZyBsb2NhdGlvbiBvZiB0aGUgc3lzdGVtZCB1bml0IGZpbGVzIGRpcmVjdG9yeS4uLiAiID4mNjsgfQorKyAgICBfcnBtZGlyID0gIiIKKyAgICAgd2hpY2ggcnBtID4vZGV2L251bGwgMj4mMQorICAgICBpZiB0ZXN0ICAkPyAtZXEgMCA7IHRoZW4KKy0gICAgICAgZGF0YWQ9YHJwbSAtLWV2YWwgIiV7X2RhdGFkaXJ9ImAKKy0gICAgICAgU1lTVEVNRF9ESVI9JHtkYXRhZH0vaXBtaXV0aWwKKy0gICAgZWxzZQorLSAgICAgICBTWVNURU1EX0RJUj0vdXNyL3NoYXJlL2lwbWl1dGlsCisrICAgICAgX3JwbWRpciA9IGBycG0gLS1ldmFsICIle191bml0ZGlyfSJgCisgICAgIGZpCisrICAgIGZvciBzeXN0ZW1kX2QgaW4gJHtkYXRhZGlyfS91c3Ivc2hhcmUvaXBtaXV0aWwgJHtfcnBtZGlyfSAvdXNyL3NoYXJlL2lwbWl1dGlsOyBkbworKyAgICAgIGlmIHRlc3QgLXogIiRzeXN0ZW1kZGlyIjsgdGhlbgorKyAgICAgICAgaWYgdGVzdCAtZCAiJHN5c3RlbWRfZCI7IHRoZW4KKysgICAgICAgICAgc3lzdGVtZGRpcj0iJHN5c3RlbWRfZCIKKysgICAgICAgIGZpCisrICAgICAgZmkKKysgICAgZG9uZQorICAgZmkKKysgIGlmIHRlc3QgLW4gIiRzeXN0ZW1kZGlyIjsgdGhlbgorKyAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJHN5c3RlbWRkaXIiID4mNQorKyRhc19lY2hvICIkc3lzdGVtZGRpciIgPiY2OyB9CisrICBlbHNlCisrICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBub3QgZm91bmQiID4mNQorKyRhc19lY2hvICJub3QgZm91bmQiID4mNjsgfQorKyBmaQorK2Vsc2UKKysgaWYgdGVzdCAiJHdpdGh2YWwiICE9IG5vOyB0aGVuCisrICBzeXN0ZW1kZGlyPSR3aXRodmFsCisrIGZpCisrZmkKKyBmaQorIAorIGNhc2UgIiRhcmNobSIgaW4KK0luZGV4OiBpcG1pdXRpbC0yLjkuNi9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBpcG1pdXRpbC0yLjkuNi5vcmlnL2NvbmZpZ3VyZS5hYworKysrIGlwbWl1dGlsLTIuOS42L2NvbmZpZ3VyZS5hYworQEAgLTE0MCw3ICsxNDAsNiBAQCBDUk9TU19MRkxBR1M9IiIKKyBDUk9TU19DRkxBR1M9IiIKKyBMSUJTRU5TT1JTPSIiCisgU0FNMk9CSj0iaXNlbnNvcjIubyBpZXZlbnRzMi5vIgorLVNZU1RFTURfRElSPS91c3Ivc2hhcmUvaXBtaXV0aWwKKyAKKyBBQ19BUkdfRU5BQkxFKFt1c2VmbGFnc10sCisgICAgIFsgIC0tZW5hYmxlLXVzZWZsYWdzICAgIGluY2x1ZGUgZW52aXJvbm1lbnQgQ0ZMQUdTIGFuZCBMREZMQUdTLl0sCitAQCAtMTkxLDI1ICsxOTAsNDIgQEAgQUNfQVJHX0VOQUJMRShbZ3BsXSwKKyAKKyBkbmwgRG9lcyB0aGlzIExpbnV4IGhhdmUgc3lzdGVtZCBlbmFibGVkPyAgT3RoZXJ3aXNlIHVzZSBzeXN2IGluaXQuCisgQUNfQVJHX0VOQUJMRShbc3lzdGVtZF0sCistICAgIFsgIC0tZW5hYmxlLXN5c3RlbWQgICAgICAgZW5hYmxlIHN5c3RlbWQgc2VydmljZSB0eXBlPW5vdGlmeSBzdXBwb3J0IGFuZCAlX3VuaXRkaXIgW1tkZWZhdWx0PWRpc2FibGVkXV1dLCkKKy1pZiB0ZXN0ICJ4JGVuYWJsZV9zeXN0ZW1kIiA9ICJ4eWVzIjsgdGhlbgorLSAgIEdQTF9DRkxBR1M9IiRHUExfQ0ZMQUdTIC1ERU5BQkxFX1NZU1RFTUQiCistICAgIyBpZiBzeXN0ZW1kIGVuYWJsZWQsIGluc3RhbGwgc2VydmljZSBzY3JpcHRzIGluIHVuaXRkaXIKKy0gICBTWVNURU1EX0RJUj1gcnBtIC0tZXZhbCAiJXtfdW5pdGRpcn0iYAorKyAgICBbICAtLWVuYWJsZS1zeXN0ZW1kWz1zeXN0ZW1kZGlyXSAgICAgIGluc3RhbGwgc3lzdGVtZCB1bml0IGZpbGUuICBJZiAneWVzJworKyAgICAgICAgcHJvYmUgdGhlIHN5c3RlbSBmb3IgdW5pdCBkaXJlY3RvcnkuCisrICAgICAgICBJZiBhIHBhdGggaXMgc3BlY2lmaWVkLCBhc3N1bWUgdGhhdAorKyAgICAgICAgaXMgYSB2YWxpZCBpbnN0YWxsIHBhdGguIFtbZGVmYXVsdD1kaXNhYmxlZF1dXSwpCisrIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLXN5c3RlbWQgd2FzIGdpdmVuLgorK2lmIHRlc3QgIiR7ZW5hYmxlX3N5c3RlbWQrc2V0fSIgPSBzZXQ7IHRoZW4gOgorKwl3aXRodmFsPSRlbmFibGVfc3lzdGVtZDsgaWYgdGVzdCAiJHdpdGh2YWwiID0geWVzOyB0aGVuCisrCUdQTF9DRkxBR1M9IiRHUExfQ0ZMQUdTIC1ERU5BQkxFX1NZU1RFTUQiCisrCWlmIHRlc3QgLXogIiRzeXN0ZW1kZGlyIjsgdGhlbgorKwkJeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBsb2NhdGlvbiBvZiB0aGUgc3lzdGVtZCB1bml0IGZpbGVzIGRpcmVjdG9yeSIgPiY1CisrCQkkYXNfZWNob19uICJjaGVja2luZyBsb2NhdGlvbiBvZiB0aGUgc3lzdGVtZCB1bml0IGZpbGVzIGRpcmVjdG9yeS4uLiAiID4mNjsgfQorKwkJX3JwbWRpciA9ICIiCisrCQl3aGljaCBycG0gPi9kZXYvbnVsbCAyPiYxCisrCQlpZiB0ZXN0ICAkPyAtZXEgMCA7IHRoZW4KKysJCQlfcnBtZGlyID0gYHJwbSAtLWV2YWwgIiV7X3VuaXRkaXJ9ImAKKysJCWZpCisrCQlmb3Igc3lzdGVtZF9kIGluICR7ZGF0YWRpcn0vdXNyL3NoYXJlL2lwbWl1dGlsICR7X3JwbWRpcn0gL3Vzci9zaGFyZS9pcG1pdXRpbDsgZG8KKysJCQlpZiB0ZXN0IC16ICIkc3lzdGVtZGRpciI7IHRoZW4KKysJCQkJaWYgdGVzdCAtZCAiJHN5c3RlbWRfZCI7IHRoZW4KKysJCQkJCXN5c3RlbWRkaXI9IiRzeXN0ZW1kX2QiCisrCQkJCWZpCisrCQkJZmkKKysJCWRvbmUKKysJZmkKKysJaWYgdGVzdCAtbiAiJHN5c3RlbWRkaXIiOyB0aGVuCisrCQl7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJHN5c3RlbWRkaXIiID4mNQorKwkJJGFzX2VjaG8gIiRzeXN0ZW1kZGlyIiA+JjY7IH0KKysJZWxzZQorKwkJeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vdCBmb3VuZCIgPiY1CisrCQkkYXNfZWNobyAibm90IGZvdW5kIiA+JjY7IH0KKysJZmkKKyBlbHNlCistICAgIyBvdGhlcndpc2UgaW5zdGFsbCB0aGUgc3lzdGVtZCBzZXJ2aWNlIHNjcmlwdHMgaW4gdGhlIGRhdGEgZGlyCistICBpZiB0ZXN0ICAieCRzeXNuYW1lIiA9ICJ4RGFyd2luIiA7IHRoZW4KKy0gICAgIyBNYWNPUyAnd2hpY2gnIGNvbW1hbmQgcmV0dXJucyAwIGFsd2F5cworLSAgICBTWVNURU1EX0RJUj0vdXNyL3NoYXJlL2lwbWl1dGlsCistICBlbHNlCistICAgIHdoaWNoIHJwbSA+L2Rldi9udWxsIDI+JjEKKy0gICAgaWYgdGVzdCAgJD8gLWVxIDAgOyB0aGVuCistICAgICAgIGRhdGFkPWBycG0gLS1ldmFsICIle19kYXRhZGlyfSJgCistICAgICAgIFNZU1RFTURfRElSPSR7ZGF0YWR9L2lwbWl1dGlsCistICAgIGVsc2UKKy0gICAgICAgU1lTVEVNRF9ESVI9L3Vzci9zaGFyZS9pcG1pdXRpbAorLSAgICBmaQorLSAgZmkKKysJaWYgdGVzdCAiJHdpdGh2YWwiICE9IG5vOyB0aGVuCisrCQlzeXN0ZW1kZGlyPSR3aXRodmFsCisrCWZpCisrZmkKKyBmaQorIAorIGRubCBzdGFydCBtYWluIGxvZ2ljCitAQCAtNDgxLDcgKzQ5Nyw3IEBAIEFDX1NVQlNUKElOU19MSUIpCisgQUNfU1VCU1QoU1VCRElSX1MpCisgQUNfU1VCU1QoQ1JPU1NfQ0ZMQUdTKQorIEFDX1NVQlNUKENST1NTX0xGTEFHUykKKy1BQ19TVUJTVChTWVNURU1EX0RJUikKKytBQ19TVUJTVChzeXN0ZW1kZGlyKQorIEFDX1NVQlNUKFNIUl9MSU5LKQorIEFDX1NVQlNUKHBrZ2NvbmZpZ2RpcikKKyAKK0luZGV4OiBpcG1pdXRpbC0yLjkuNi9NYWtlZmlsZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGlwbWl1dGlsLTIuOS42Lm9yaWcvTWFrZWZpbGUuaW4KKysrKyBpcG1pdXRpbC0yLjkuNi9NYWtlZmlsZS5pbgorQEAgLTE4Miw3ICsxODIsNyBAQCBTSEVMTCA9IEBTSEVMTEAKKyBTSFJfTElOSyA9IEBTSFJfTElOS0AKKyBTVFJJUCA9IEBTVFJJUEAKKyBTVUJESVJfUyA9IEBTVUJESVJfU0AKKy1TWVNURU1EX0RJUiA9IEBTWVNURU1EX0RJUkAKKytTWVNURU1EX0RJUiA9IEBzeXN0ZW1kZGlyQAorIFZFUlNJT04gPSBAVkVSU0lPTkAKKyBhYnNfYnVpbGRkaXIgPSBAYWJzX2J1aWxkZGlyQAorIGFic19zcmNkaXIgPSBAYWJzX3NyY2RpckAKK0BAIC0yMzMsNiArMjMzLDcgQEAgc2JpbmRpciA9IEBzYmluZGlyQAorIHNoYXJlZHN0YXRlZGlyID0gQHNoYXJlZHN0YXRlZGlyQAorIHNyY2RpciA9IEBzcmNkaXJACisgc3lzY29uZmRpciA9IEBzeXNjb25mZGlyQAorK3N5c3RlbWRkaXIgPSBAc3lzdGVtZGRpckAKKyB0YXJnZXRfYWxpYXMgPSBAdGFyZ2V0X2FsaWFzQAorIHRvcF9idWlsZF9wcmVmaXggPSBAdG9wX2J1aWxkX3ByZWZpeEAKKyB0b3BfYnVpbGRkaXIgPSBAdG9wX2J1aWxkZGlyQAorSW5kZXg6IGlwbWl1dGlsLTIuOS42L3NjcmlwdHMvTWFrZWZpbGUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBpcG1pdXRpbC0yLjkuNi5vcmlnL3NjcmlwdHMvTWFrZWZpbGUuaW4KKysrKyBpcG1pdXRpbC0yLjkuNi9zY3JpcHRzL01ha2VmaWxlLmluCitAQCAtMTI2LDcgKzEyNiw3IEBAIFNIRUxMID0gQFNIRUxMQAorIFNIUl9MSU5LID0gQFNIUl9MSU5LQAorIFNUUklQID0gQFNUUklQQAorIFNVQkRJUl9TID0gQFNVQkRJUl9TQAorLVNZU1RFTURfRElSID0gQFNZU1RFTURfRElSQAorK1NZU1RFTURfRElSID0gQHN5c3RlbWRkaXJACisgVkVSU0lPTiA9IEBWRVJTSU9OQAorIGFic19idWlsZGRpciA9IEBhYnNfYnVpbGRkaXJACisgYWJzX3NyY2RpciA9IEBhYnNfc3JjZGlyQAorQEAgLTE5NSw3ICsxOTUsOCBAQCBjcm9udG8gPSAke0RFU1RESVJ9JHtldGNkaXJ9L2Nyb24uZGFpbHkKKyBzYmludG8gPSAke0RFU1RESVJ9JHtzYmluZGlyfQorIHZhcnRvID0gJHtERVNURElSfS92YXIvbGliL2lwbWl1dGlsCisgaW5pdHRvID0gJHtERVNURElSfUBJTklUX0RJUkAKKy1zeXNkdG8gPSAke0RFU1RESVJ9QFNZU1RFTURfRElSQAorK3N5c2R0byA9ICR7REVTVERJUn1Ac3lzdGVtZGRpckAKKytzeXN0ZW1kZGlyID0gQHN5c3RlbWRkaXJACisgc3lzdmluaXQgPSAke2RhdGF0b30KKyBzYmluZmxzID0gaWFsYXJtcyBpaGVhbHRoIGlmcnUgaWdldGV2ZW50IGlyZXNldCBpY21kIGlzb2wgaWxhbiBpc2Vuc29yIGlzZWwgaXNlcmlhbCBpd2R0IGljb25maWcgaXBpY21nIGlmaXJld2FsbCBpZnd1bSBpaHBtCisgYWxsOiBhbGwtYW0KK0BAIC0zOTgsMTEgKzM5OSwxNCBAQCBpbnN0YWxsOgorIAkke0lOU1RBTExfU0NSSVBUX1NIfSBldnQuc2ggICAgICAgJHtkYXRhdG99CisgCWlmIFsgLWYgL2V0Yy9kZWJpYW5fdmVyc2lvbiBdOyB0aGVuIFwKKyAJICAgc3lzdmluaXQ9JHtpbml0dG99OyBmaQorLQkke0lOU1RBTExfU0NSSVBUX1NIfSBpcG1pdXRpbF93ZHQgJHtzeXN2aW5pdH0vaXBtaXV0aWxfd2R0CistCSR7SU5TVEFMTF9TQ1JJUFRfU0h9IGlwbWl1dGlsX2FzeSAke3N5c3Zpbml0fS9pcG1pdXRpbF9hc3kKKy0JJHtJTlNUQUxMX1NDUklQVF9TSH0gaXBtaXV0aWxfZXZ0ICR7c3lzdmluaXR9L2lwbWl1dGlsX2V2dAorLQkke0lOU1RBTExfU0NSSVBUX1NIfSBpcG1pX3BvcnQuc2ggJHtzeXN2aW5pdH0vaXBtaV9wb3J0CistCSR7SU5TVEFMTF9TQ1JJUFRfU0h9IGlwbWlfaW5mbyAgICAke3N5c3Zpbml0fS9pcG1pX2luZm8KKysJaWYgWyAhIC16ICIke3N5c3RlbWRkaXJ9IiBdOyB0aGVuIFwKKysJCSQoTUtESVIpICR7c3lzZHRvfTsgXAorKwkJJHtJTlNUQUxMX1NDUklQVF9TSH0gaXBtaXV0aWxfd2R0ICR7c3lzdmluaXR9L2lwbWl1dGlsX3dkdDsgXAorKwkJJHtJTlNUQUxMX1NDUklQVF9TSH0gaXBtaXV0aWxfYXN5ICR7c3lzdmluaXR9L2lwbWl1dGlsX2FzeTsgXAorKwkJJHtJTlNUQUxMX1NDUklQVF9TSH0gaXBtaXV0aWxfZXZ0ICR7c3lzdmluaXR9L2lwbWl1dGlsX2V2dDsgXAorKwkJJHtJTlNUQUxMX1NDUklQVF9TSH0gaXBtaV9wb3J0LnNoICR7c3lzdmluaXR9L2lwbWlfcG9ydDsgXAorKwkJJHtJTlNUQUxMX1NDUklQVF9TSH0gaXBtaV9pbmZvICAgICR7c3lzdmluaXR9L2lwbWlfaW5mbzsgXAorKwlmaQorIAkke0lOU1RBTExfU0NSSVBUX1NIfSBjaGVja3NlbCAgICAgJHtkYXRhdG99CisgCSR7SU5TVEFMTF9EQVRBX1NIfSBpcG1pdXRpbF93ZHQuc2VydmljZSAke3N5c2R0b30KKyAJJHtJTlNUQUxMX0RBVEFfU0h9IGlwbWl1dGlsX2FzeS5zZXJ2aWNlICR7c3lzZHRvfQorSW5kZXg6IGlwbWl1dGlsLTIuOS42L3NjcmlwdHMvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBpcG1pdXRpbC0yLjkuNi5vcmlnL3NjcmlwdHMvTWFrZWZpbGUuYW0KKysrKyBpcG1pdXRpbC0yLjkuNi9zY3JpcHRzL01ha2VmaWxlLmFtCitAQCAtMTcsNyArMTcsOCBAQCBjcm9udG8gPSAke0RFU1RESVJ9JHtldGNkaXJ9L2Nyb24uZGFpbHkKKyBzYmludG8gPSAke0RFU1RESVJ9JHtzYmluZGlyfQorIHZhcnRvICA9ICR7REVTVERJUn0vdmFyL2xpYi9pcG1pdXRpbAorIGluaXR0byA9ICR7REVTVERJUn1ASU5JVF9ESVJACistc3lzZHRvID0gJHtERVNURElSfUBTWVNURU1EX0RJUkAKKytzeXNkdG8gPSAke0RFU1RESVJ9QHN5c3RlbWRkaXJACisrc3lzdGVtZGRpciA9IEBzeXN0ZW1kZGlyQAorIHN5c3Zpbml0ID0gJHtkYXRhdG99Cisgc2JpbmZscyA9IGlhbGFybXMgaWhlYWx0aCBpZnJ1IGlnZXRldmVudCBpcmVzZXQgaWNtZCBpc29sIGlsYW4gaXNlbnNvciBpc2VsIGlzZXJpYWwgaXdkdCBpY29uZmlnIGlwaWNtZyBpZmlyZXdhbGwgaWZ3dW0gaWhwbQorIAorQEAgLTQ3LDEwICs0OCwxNCBAQCBpbnN0YWxsOgorIAkke0lOU1RBTExfU0NSSVBUX1NIfSBpcG1pX3BvcnQuc2ggJHtzeXN2aW5pdH0vaXBtaV9wb3J0CisgCSR7SU5TVEFMTF9TQ1JJUFRfU0h9IGlwbWlfaW5mbyAgICAke3N5c3Zpbml0fS9pcG1pX2luZm8KKyAJJHtJTlNUQUxMX1NDUklQVF9TSH0gY2hlY2tzZWwgICAgICR7ZGF0YXRvfQorLQkke0lOU1RBTExfREFUQV9TSH0gaXBtaXV0aWxfd2R0LnNlcnZpY2UgJHtzeXNkdG99CistCSR7SU5TVEFMTF9EQVRBX1NIfSBpcG1pdXRpbF9hc3kuc2VydmljZSAke3N5c2R0b30KKy0JJHtJTlNUQUxMX0RBVEFfU0h9IGlwbWl1dGlsX2V2dC5zZXJ2aWNlICR7c3lzZHRvfQorLQkke0lOU1RBTExfREFUQV9TSH0gaXBtaV9wb3J0LnNlcnZpY2UgICAgJHtzeXNkdG99CisrCQorKwlpZiBbICEgLXogIiR7c3lzdGVtZGRpcn0iIF07IHRoZW4gXAorKwkJJChNS0RJUikgJHtzeXNkdG99OyBcCisrCQkke0lOU1RBTExfREFUQV9TSH0gaXBtaXV0aWxfd2R0LnNlcnZpY2UgJHtzeXNkdG99OyBcCisrCQkke0lOU1RBTExfREFUQV9TSH0gaXBtaXV0aWxfYXN5LnNlcnZpY2UgJHtzeXNkdG99OyBcCisrCQkke0lOU1RBTExfREFUQV9TSH0gaXBtaXV0aWxfZXZ0LnNlcnZpY2UgJHtzeXNkdG99OyBcCisrCQkke0lOU1RBTExfREFUQV9TSH0gaXBtaV9wb3J0LnNlcnZpY2UgICAgJHtzeXNkdG99OyBcCisrCWZpCisgCSR7SU5TVEFMTF9TQ1JJUFRfU0h9IGlwbWl1dGlsLmVudiAgICAgJHtkYXRhdG99CisgCSR7SU5TVEFMTF9TQ1JJUFRfU0h9IGlwbWl1dGlsLnByZSAgICAgJHtkYXRhdG99CisgCSR7SU5TVEFMTF9TQ1JJUFRfU0h9IGlwbWl1dGlsLnNldHVwICAgJHtkYXRhdG99CitJbmRleDogaXBtaXV0aWwtMi45LjYvbGliL01ha2VmaWxlLmluCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gaXBtaXV0aWwtMi45LjYub3JpZy9saWIvTWFrZWZpbGUuaW4KKysrKyBpcG1pdXRpbC0yLjkuNi9saWIvTWFrZWZpbGUuaW4KK0BAIC0xMjgsNyArMTI4LDcgQEAgU0hFTEwgPSBAU0hFTExACisgU0hSX0xJTksgPSBAU0hSX0xJTktACisgU1RSSVAgPSBAU1RSSVBACisgU1VCRElSX1MgPSBAU1VCRElSX1NACistU1lTVEVNRF9ESVIgPSBAU1lTVEVNRF9ESVJACisrU1lTVEVNRF9ESVIgPSBAc3lzdGVtZGRpckAKKyBWRVJTSU9OID0gQFZFUlNJT05ACisgYWJzX2J1aWxkZGlyID0gQGFic19idWlsZGRpckAKKyBhYnNfc3JjZGlyID0gQGFic19zcmNkaXJACitJbmRleDogaXBtaXV0aWwtMi45LjYvbGliL2xhbnBsdXMvTWFrZWZpbGUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBpcG1pdXRpbC0yLjkuNi5vcmlnL2xpYi9sYW5wbHVzL01ha2VmaWxlLmluCisrKysgaXBtaXV0aWwtMi45LjYvbGliL2xhbnBsdXMvTWFrZWZpbGUuaW4KK0BAIC0xNzcsNyArMTc3LDggQEAgU0hFTEwgPSBAU0hFTExACisgU0hSX0xJTksgPSBAU0hSX0xJTktACisgU1RSSVAgPSBAU1RSSVBACisgU1VCRElSX1MgPSBAU1VCRElSX1NACistU1lTVEVNRF9ESVIgPSBAU1lTVEVNRF9ESVJACisrU1lTVEVNRF9ESVIgPSBAc3lzdGVtZGRpckAKKytzeXN0ZW1kZGlyID0gQHN5c3RlbWRkaXJACisgVkVSU0lPTiA9IEBWRVJTSU9OQAorIGFic19idWlsZGRpciA9IEBhYnNfYnVpbGRkaXJACisgYWJzX3NyY2RpciA9IEBhYnNfc3JjZGlyQApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9pcG1pdXRpbC9pcG1pdXRpbF8yLjkuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaXBtaXV0aWwvaXBtaXV0aWxfMi45LjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTQyNzNmYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaXBtaXV0aWwvaXBtaXV0aWxfMi45LjYuYmIKQEAgLTAsMCArMSw2MCBAQAorU1VNTUFSWSA9ICJpcG1pdXRpbCBpcyBhbiBlYXN5LXRvLXVzZSBzZXQgb2YgSVBNSSBzZXJ2ZXIgbWFuYWdlbWVudCB1dGlsaXRpZXMuXAorSXQgY2FuIGdldC9zZXQgc2Vuc29yIHRocmVzaG9sZHMsIGF1dG9tYXRlIFNFTCBtYW5hZ2VtZW50LCBkbyBTT0wgY29uc29sZSwgZXRjLiIKKworREVTQ1JJUFRJT04gPSAiVGhlIElQTUkgTWFuYWdlbWVudCBVdGlsaXRpZXMgY3VycmVudGx5IHdvcmsgd2l0aCBwbGF0Zm9ybXMgdGhhdCBcCitzdXBwb3J0IHRoZSBJUE1JIDEuNSBvciAyLjAgc3BlY2lmaWNhdGlvbi4gICBJUE1JIHNlcnZlcnMgY2FuIGJlIG1hbmFnZWRcCitsb2NhbGx5LCBvciByZW1vdGVseSB2aWEgSVBNSSBMQU4sIGV2ZW4gd2hlbiB0aGUgT1Mgb3IgbWFpbiBDUFUgaXMgbm90XAorZnVuY3Rpb25hbC5cbiBcCitUaGUgaXBtaXV0aWwgdXRpbGl0aWVzIHdpbGwgdXNlIGFuIElQTUkgRHJpdmVyLCBlaXRoZXIgdGhlIEludGVsIElQTUkgcGFja2FnZSBcCisoaXBtaWRydnIsIC9kZXYvaW1iKSwgTW9udGFWaXN0YSBPcGVuSVBNSSAoL2Rldi9pcG1pMCksIHRoZSB2YWxpbnV4IElQTUkgXAorRHJpdmVyICgvZGV2L2lwbWlrY3MpLCBvciB0aGUgTEFORGVzayBsZGlwbWkgZGFlbW9uLiAgVGhlIGlwbWl1dGlsIHV0aWxpdGllcyBcCitjYW4gYWxzbyB1c2UgZGlyZWN0IHVzZXItc3BhY2UgSS9PcyBpbiBMaW51eCBvciBGcmVlQlNEIGlmIG5vIElQTUkgZHJpdmVyIFwKK2lzIGRldGVjdGVkLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL2lwbWl1dGlsLnNvdXJjZWZvcmdlLm5ldCIKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NWY5MzcyNDkzNDAxZjMwOWU2MTQ5ZGQyY2UwYTA0NGIiCisKKyNQQVJBTExFTF9NQUtFID0gIiIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vaXBtaXV0aWwvaXBtaXV0aWwtJHtQVn0udGFyLmd6IFwKKyAgICBmaWxlOi8vZml4X3N5c3RlbWRfcGF0aC5wYXRjaCAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0NjIwODc5OTVmMDVmYTllNjkyZWQ3ZjU1Yzg0MGY3MSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ODRjMWYzZDhiZmIwYjMzYzMwMzk3M2QyODZjMzE2NmY1YTUzNzk3NjQ1MWEwMzEyZTM1MjRhZjU0NzcxNTE5IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIHN5c3RlbWQKKworUEFDS0FHRUNPTkZJRyA/PSAibGFucGx1cyBncGwiCitQQUNLQUdFQ09ORklHICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAnc3lzdGVtZCcsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0tZW5hYmxlLXN5c3RlbWQ9JHtkYXRhZGlyfS8ke0JQTn0sIC0tZW5hYmxlLXN5c3RlbWQ9bm8iCitQQUNLQUdFQ09ORklHW3NoYTI1Nl0gPSAiLS1lbmFibGUtc2hhMjU2LCAtLWVuYWJsZS1zaGEyNTY9bm8sIG9wZW5zc2wtbmF0aXZlLCBvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tsYW5wbHVzXSA9ICItLWVuYWJsZS1sYW5wbHVzLCAtLWVuYWJsZS1sYW5wbHVzPW5vLCBvcGVuc3NsLW5hdGl2ZSwgb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbbGFuZGVza10gPSAiLS1lbmFibGUtbGFuZGVzaywgLS1lbmFibGUtbGFuZGVzaz1ubyIKK1BBQ0tBR0VDT05GSUdbc2Vuc29yc10gPSAiLS1lbmFibGUtbGlic2Vuc29ycywgLS1lbmFibGUtbGlic2Vuc29ycz1ubyIgCisKKyNidWlsZCB3aXRoIHNvbWUgR1BMIGNvZGUKK1BBQ0tBR0VDT05GSUdbZ3BsXSA9ICItLWVuYWJsZS1ncGwsIC0tZW5hYmxlLWdwbD1ubyIKKyNubyBHUEwgb3IgTGFuUGx1cyBsaWJzCitQQUNLQUdFQ09ORklHW3N0YW5kYWxvbmVdID0gIi0tZW5hYmxlLXN0YW5kYWxvbmUsIC0tZW5hYmxlLXN0YW5kYWxvbmU9bm8iCisKK0NGTEFHUyArPSAiLUkke1NUQUdJTkdfSU5DRElSfSIKK0xERkxBR1MgKz0gIi1MJHtTVEFHSU5HX0xJQkRJUn0iCisKK2RvX2NvbmZpZ3VyZSAoKSB7CisgICAgYWNsb2NhbAorICAgIGxpYnRvb2xpemUgLS1hdXRvbWFrZSAtLWNvcHkgLS1mb3JjZQorICAgIGF1dG9oZWFkZXIKKyAgICBhdXRvbWFrZSAtLWZvcmVpZ24gLS1hZGQtbWlzc2luZyAtLWNvcHkKKworICAgIGFjbG9jYWwKKyAgICBhdXRvY29uZgorICAgIGF1dG9tYWtlIC0tZm9yZWlnbgorICAgIC4vY29uZmlndXJlICR7Q09ORklHVVJFT1BUU30gJHtFWFRSQV9PRUNPTkZ9Cit9CisKK2RvX2luc3RhbGwgKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KK30KKworQ09NUEFUSUJMRV9IT1NUID0gJyh4ODZfNjR8aS44NikuKi1saW51eCcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvam9lL2pvZV8zLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2pvZS9qb2VfMy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiOWE5ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2pvZS9qb2VfMy4xLmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK1NVTU1BUlkgPSAiQ29uc29sZSB0ZXh0IGVkaXRvciB3aXRoIGdvb2QgZnVuY3Rpb25hbGl0eSwgZ29vZCBjaG9pY2UgZm9yIHZpLWhhdGVycyIKK0hPTUVQQUdFID0gImh0dHA6Ly9qb2UtZWRpdG9yLnNvdXJjZWZvcmdlLm5ldC8iCitMSUNFTlNFID0gIkdQTHYxIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZGExMGVkN2NmODAzODk4MWM1ODBlMTFjMWQzZThmYjYiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2pvZS1lZGl0b3Ivam9lLSR7UFZ9LnRhci5neiIKKworUEFDS0FHRUNPTkZJRyA/Pz0gImN1cnNlcyIKK1BBQ0tBR0VDT05GSUdbY3Vyc2VzXSA9ICItLWVuYWJsZS1jdXJzZXMsLS1kaXNhYmxlLWN1cnNlcyxuY3Vyc2VzLG5jdXJzZXMtdGVybWluZm8iCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyYTZlZjAxODg3MGZjYTliN2RmODU0MDE5OTRmYjBlMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyNTIzOTBlNGJjNjg3OTU3ZjA5ZjMzNDA5NTkwNGM4Y2M1M2IzOWM3YjY2M2VkNDc4NjFhZTFkMTFhZWY1OTQ2IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sY21zL2xjbXNfMi43LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sY21zL2xjbXNfMi43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyY2NiMjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xjbXMvbGNtc18yLjcuYmIKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJMaXR0bGUgY21zIGlzIGEgc21hbGwtZm9vdHByaW50LCBzcGVlZCBvcHRpbWl6ZWQgY29sb3IgbWFuYWdlbWVudCBlbmdpbmUiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTZjNzg2YzNiN2E0YWZiZDNjOTkwZjFiODEyNjFkNTE2IgorU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vbGNtcy9sY21zMi0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiMDZjMTYyNmY2MjU0MjRhODExZmI0YjVlYjA3MDgzOWQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDUyNDIzNGFlN2RlMTg1ZTZiNmRhNWQzMWQ2ODc1MDg1YjIxOThiYzYzYjEyMTFmN2RkZTZlMmQxOTdkNmE1MyIKKworREVQRU5EUyA9ICJ0aWZmIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworUyA9ICIke1dPUktESVJ9L2xjbXMyLSR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sY292L2xjb3ZfMS4xMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGNvdi9sY292XzEuMTEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWYzYjg4OQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGNvdi9sY292XzEuMTEuYmIKQEAgLTAsMCArMSwyOCBAQAorU1VNTUFSWSA9ICJBIGdyYXBoaWNhbCBmcm9udC1lbmQgZm9yIGdjb3YiCitIT01FUEFHRSA9ICJodHRwOi8vbHRwLnNvdXJjZWZvcmdlLm5ldC9jb3ZlcmFnZS9sY292LnBocCIKK0RFU0NSSVBUSU9OID0gIkxDT1YgaXMgYSBncmFwaGljYWwgZnJvbnQtZW5kIGZvciBHQ0MncyBjb3ZlcmFnZSB0ZXN0aW5nIFwKK3Rvb2wgZ2Nvdi4gSXQgY29sbGVjdHMgZ2NvdiBkYXRhIGZvciBtdWx0aXBsZSBzb3VyY2UgZmlsZXMgYW5kIGNyZWF0ZXMgXAorSFRNTCBwYWdlcyBjb250YWluaW5nIHRoZSBzb3VyY2UgY29kZSBhbm5vdGF0ZWQgd2l0aCBjb3ZlcmFnZSBpbmZvcm1hdGlvbi4gXAorSXQgYWxzbyBhZGRzIG92ZXJ2aWV3IHBhZ2VzIGZvciBlYXN5IG5hdmlnYXRpb24gd2l0aGluIHRoZSBmaWxlIHN0cnVjdHVyZS4gXAorTENPViBzdXBwb3J0cyBzdGF0ZW1lbnQsIGZ1bmN0aW9uIGFuZCBicmFuY2ggY292ZXJhZ2UgbWVhc3VyZW1lbnQuIiAKK0xJQ0VOU0UgPSAiR1BMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorCitSREVQRU5EU18ke1BOfSArPSAiIFwKKyAgICBnY292IFwKKyAgICBwZXJsIFwKKyAgICBwZXJsLW1vZHVsZS1maWxlaGFuZGxlIFwKKyAgICBwZXJsLW1vZHVsZS1nZXRvcHQtc3RkIFwKKyAgICBwZXJsLW1vZHVsZS1kaWdlc3Qtc2hhIFwKKyIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9sdHAvJHtCUH0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZTc5Yjc5OWFlM2NlMTQ5YWE5MjRjNzUyMGU5OTMwMjQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzI4MmRlOGQ2NzhlY2JmZGEzMmNlNGI1Yzg1ZmMwMmY3N2MyYTM5YTA2MmYwNjhiZDhlNzc0ZDI5ZGRjOWJmOCIKKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgUFJFRklYPSR7RH0KKyAgICBzZWQgLWkgLWUgJzFzLCMhLipwZXJsLCMhICR7VVNSQklOUEFUSH0vZW52IHBlcmwsJyAke0R9JHtiaW5kaXJ9LyoKK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJhdGFzbWFydC9saWJhdGFzbWFydF8wLjE5LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJhdGFzbWFydC9saWJhdGFzbWFydF8wLjE5LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2NjU3YjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmF0YXNtYXJ0L2xpYmF0YXNtYXJ0XzAuMTkuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJBVEEgUy5NLkEuUi5ULiBSZWFkaW5nIGFuZCBQYXJzaW5nIExpYnJhcnkiCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTEdQTDttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEiCisKK0RFUEVORFMgPSAidWRldiIKKworU1JDUkVWID0gImRlNjI1ODk0MDk2MDQ0MzAzOGI0YzE2NTFkZmRhMzYyMDA3NWU4NzAiCitTUkNfVVJJID0gImdpdDovL2dpdC4wcG9pbnRlci5kZS9saWJhdGFzbWFydC5naXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGxpYl9wYWNrYWdlIHBrZ2NvbmZpZworCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBzZWQgLWkgLWUgczovLzovOmcgLWUgJ3M6PSR7bGliZGlyfS9saWJ1ZGV2LmxhOi1sdWRldjpnJyAke0R9JHtsaWJkaXJ9L2xpYmF0YXNtYXJ0LmxhCit9CisKK1BBQ0tBR0VTID0rICIke1BOfS1kZXYtdmFsYSIKK0ZJTEVTXyR7UE59LWRldi12YWxhID0gIiR7ZGF0YWRpcn0vdmFsYSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliY2FuYmVycmEvZmlsZXMvMDAwMS1idWlsZC1ndGstYW5kLWd0azMtdmVyc2lvbi1mb3ItY2FuYmVycmFfZ3RrX3BsYXkucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmNhbmJlcnJhL2ZpbGVzLzAwMDEtYnVpbGQtZ3RrLWFuZC1ndGszLXZlcnNpb24tZm9yLWNhbmJlcnJhX2d0a19wbGF5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlMDk4NGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmNhbmJlcnJhL2ZpbGVzLzAwMDEtYnVpbGQtZ3RrLWFuZC1ndGszLXZlcnNpb24tZm9yLWNhbmJlcnJhX2d0a19wbGF5LnBhdGNoCkBAIC0wLDAgKzEsOTIgQEAKK0Zyb20gNGE4OWRkZmZiYjE0ZDc0N2FkYmUzMzY1YWNlNGRiODdkZTUyYmEzOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMTYgU2VwIDIwMTMgMTY6MDg6MjggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gYnVpbGQgZ3RrLSBhbmQgZ3RrMy12ZXJzaW9uIGZvciBjYW5iZXJyYV9ndGtfcGxheQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBzcmMvTWFrZWZpbGUuYW0gfCAgIDI1ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL01ha2VmaWxlLmFtIGIvc3JjL01ha2VmaWxlLmFtCitpbmRleCA1NmVkOTZkLi5mYzcyZTFmIDEwMDY0NAorLS0tIGEvc3JjL01ha2VmaWxlLmFtCisrKysgYi9zcmMvTWFrZWZpbGUuYW0KK0BAIC0zMTksOSArMzE5LDYgQEAgZW5kaWYKKyAKKyBpZiBIQVZFX0dUS19BTlkKKyAKKy1iaW5fUFJPR1JBTVMgKz0gXAorLQljYW5iZXJyYS1ndGstcGxheQorLQorIGluY2x1ZGVfSEVBREVSUyArPSBcCisgCWNhbmJlcnJhLWd0ay5oCisgCitAQCAtMzI5LDYgKzMyNiw5IEBAIGVuZGlmCisgCisgaWYgSEFWRV9HVEszCisgCisrYmluX1BST0dSQU1TICs9IFwKKysJY2FuYmVycmEtZ3RrMy1wbGF5CisrCisgbGliX0xUTElCUkFSSUVTICs9IFwKKyAJbGliY2FuYmVycmEtZ3RrMy5sYQorIAorQEAgLTM2Nyw2ICszNjcsOSBAQCBlbmRpZgorIAorIGlmIEhBVkVfR1RLCisgCisrYmluX1BST0dSQU1TICs9IFwKKysJY2FuYmVycmEtZ3RrLXBsYXkKKysKKyBsaWJfTFRMSUJSQVJJRVMgKz0gXAorIAlsaWJjYW5iZXJyYS1ndGsubGEKKyAKK0BAIC0zOTksMTQgKzQwMiwxNyBAQCBlbmRpZgorIAorIGlmIEhBVkVfR1RLMworIAorLWNhbmJlcnJhX2d0a19wbGF5X0xEQUREID0gXAorK2NhbmJlcnJhX2d0azNfcGxheV9MREFERCA9IFwKKyAJJChHVEszX0xJQlMpIFwKKyAJbGliY2FuYmVycmEubGEgXAorIAlsaWJjYW5iZXJyYS1ndGszLmxhCistY2FuYmVycmFfZ3RrX3BsYXlfQ0ZMQUdTID0gXAorK2NhbmJlcnJhX2d0azNfcGxheV9DRkxBR1MgPSBcCisgCSQoR1RLM19DRkxBR1MpCisgCistZWxzZQorK2NhbmJlcnJhX2d0azNfcGxheV9TT1VSQ0VTID0gXAorKwljYW5iZXJyYS1ndGstcGxheS5jCisrCisrZW5kaWYKKyBpZiBIQVZFX0dUSworIAorIGNhbmJlcnJhX2d0a19wbGF5X0xEQUREID0gXAorQEAgLTQxNiw3ICs0MjIsOSBAQCBjYW5iZXJyYV9ndGtfcGxheV9MREFERCA9IFwKKyBjYW5iZXJyYV9ndGtfcGxheV9DRkxBR1MgPSBcCisgCSQoR1RLX0NGTEFHUykKKyAKKy1lbmRpZgorK2NhbmJlcnJhX2d0a19wbGF5X1NPVVJDRVMgPSBcCisrCWNhbmJlcnJhLWd0ay1wbGF5LmMKKysKKyBlbmRpZgorIAorIGlmIEhBVkVfR1RLX0FOWQorQEAgLTQyNCw5ICs0MzIsNiBAQCBpZiBIQVZFX0dUS19BTlkKKyBkaXN0X2dzZGd0a21vZHVsZXNfREFUQSA9IFwKKyAJY2FuYmVycmEtZ3RrLW1vZHVsZS5kZXNrdG9wCisgCistY2FuYmVycmFfZ3RrX3BsYXlfU09VUkNFUyA9IFwKKy0JY2FuYmVycmEtZ3RrLXBsYXkuYworLQorIEVYVFJBX0RJU1QgKz0gXAorIAlsaWJjYW5iZXJyYS1sb2dpbi1zb3VuZC5kZXNrdG9wLmluIFwKKyAJbGliY2FuYmVycmEtcmVhZHktc291bmQuZGVza3RvcC5pbiBcCistLSAKKzEuNy42LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJjYW5iZXJyYS9saWJjYW5iZXJyYV8wLjMwLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJjYW5iZXJyYS9saWJjYW5iZXJyYV8wLjMwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0NzM3NzUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmNhbmJlcnJhL2xpYmNhbmJlcnJhXzAuMzAuYmIKQEAgLTAsMCArMSw2MyBAQAorU1VNTUFSWSA9ICJJbXBsZW1lbnRhdGlvbiBvZiBYREcgU291bmQgVGhlbWUgYW5kIE5hbWUgU3BlY2lmaWNhdGlvbnMiCitERVNDUklQVElPTiA9ICJMaWJjYW5iZXJyYSBpcyBhbiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgWERHIFNvdW5kIFRoZW1lIGFuZCBOYW1lIFNwZWNpZmljYXRpb25zLCBmb3IgZ2VuZXJhdGluZyBldmVudCBzb3VuZHMgb24gZnJlZSBkZXNrdG9wcy4iCitMSUNFTlNFID0gIkxHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xHUEw7bWQ1PTJkNTAyNWQ0YWEzNDk1YmVmZWY4ZjE3MjA2YTViMGExIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9jYW5iZXJyYS5oO2JlZ2lubGluZT03O2VuZGxpbmU9MjQ7bWQ1PWM2MTZjNjg3Y2Y4ZGE1NDBhMTRmOTE3ZTBkMjNhYjAzIgorCitERVBFTkRTID0gImxpYnRvb2wgbGlidm9yYmlzIgorCitpbmhlcml0IGF1dG90b29scyBndGstZG9jCisKK1NSQ19VUkkgPSAiIFwKKyAgICBodHRwOi8vMHBvaW50ZXIuZGUvbGVubmFydC9wcm9qZWN0cy8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci54eiBcCisgICAgZmlsZTovLzAwMDEtYnVpbGQtZ3RrLWFuZC1ndGszLXZlcnNpb24tZm9yLWNhbmJlcnJhX2d0a19wbGF5LnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICIzNGNiN2U0NDMwYWZhZjZmNDQ3YzRlYmRiOWI0MjA3MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjMmI2NzFlNjdlMGMyODhhNjlmYzMzZGMxYjZmMWI1MzRkMDc4ODJjMmFjZWVkMzcwMDRiZjQ4YzYwMWFmYTcyIgorCitFWFRSQV9PRUNPTkYgPSAiXAorICAgIC0tZW5hYmxlLW51bGwgXAorICAgIC0tZGlzYWJsZS1vc3MgXAorICAgIC0tZGlzYWJsZS10ZGIgXAorICAgIC0tZGlzYWJsZS1seW54IFwKKyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdhbHNhJywnYWxzYScsJycsZCl9IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywncHVsc2VhdWRpbycsJ3B1bHNlYXVkaW8nLCcnLGQpfSBcCisgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3gxMScsJ2d0ayBndGszJywnJyxkKX0gXAorIgorUEFDS0FHRUNPTkZJR1thbHNhXSA9ICItLWVuYWJsZS1hbHNhLCAtLWRpc2FibGUtYWxzYSwgYWxzYS1saWIiCitQQUNLQUdFQ09ORklHW3B1bHNlYXVkaW9dID0gIi0tZW5hYmxlLXB1bHNlLCAtLWRpc2FibGUtcHVsc2UsIHB1bHNlYXVkaW8iCitQQUNLQUdFQ09ORklHW2dzdHJlYW1lcl0gPSAiLS1lbmFibGUtZ3N0cmVhbWVyLCAtLWRpc2FibGUtZ3N0cmVhbWVyLCBnc3RyZWFtZXIxLjAiCitQQUNLQUdFQ09ORklHW2d0a10gPSAiLS1lbmFibGUtZ3RrLCAtLWRpc2FibGUtZ3RrLCBndGsrIgorUEFDS0FHRUNPTkZJR1tndGszXSA9ICItLWVuYWJsZS1ndGszLCAtLWRpc2FibGUtZ3RrMywgZ3RrKzMiCisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kKCkgeworICAgIHBsdWdpbmRpciA9IGQuZXhwYW5kKCcke2xpYmRpcn0vJHtCUE59LSR7UFZ9LycpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcGx1Z2luZGlyLCAnXmxpYmNhbmJlcnJhLSguKilcLnNvJCcsICdsaWJjYW5iZXJyYS0lcycsICclcyBzdXBwb3J0IGxpYnJhcnknLCBleHRyYV9kZXBlbmRzPScnICkKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwbHVnaW5kaXIsICdebGliY2FuYmVycmEtKC4qKVwubGEkJywgJ2xpYmNhbmJlcnJhLSVzJywgJyVzIHN1cHBvcnQgbGlicmFyeScsIGV4dHJhX2RlcGVuZHM9JycgKQorfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tZ25vbWUgJHtQTn0tZ3RrMiAke1BOfS1ndGszICR7UE59LXN5c3RlbWQiCitQQUNLQUdFU19EWU5BTUlDICs9ICJebGliY2FuYmVycmEtLioiCisKK0ZJTEVTXyR7UE59ID0gIiR7YmluZGlyfS8gJHtsaWJkaXJ9LyR7QlBOfS5zby4qIgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7ZGF0YWRpcn0vdmFsYS92YXBpICR7bGliZGlyfS8qL21vZHVsZXMvKi5sYSAke2xpYmRpcn0vKi8qLmxhIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS8ke0JQTn0tJHtQVn0vLmRlYnVnICR7bGliZGlyfS9ndGstKi9tb2R1bGVzLy5kZWJ1ZyIKKworRklMRVNfJHtQTn0tZ3RrMiA9ICIke2xpYmRpcn0vJHtCUE59LWd0ay5zby4qIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2d0ay0yLjAvbW9kdWxlcy8qLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2NhbmJlcnJhLWd0ay1wbGF5IgorCisjIC1ndGszIHNoaXBzIGEgc3ltbGluayB0byBhIC5zbworSU5TQU5FX1NLSVBfJHtQTn0tZ3RrMyA9ICJkZXYtc28iCitGSUxFU18ke1BOfS1ndGszID0gIiR7bGliZGlyfS8ke0JQTn0tZ3RrMy5zby4qIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2d0ay0zLjAvbW9kdWxlcy8qLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2NhbmJlcnJhLWd0azMtcGxheSIKKworRklMRVNfJHtQTn0tZ25vbWUgPSAiJHtsaWJkaXJ9L2dub21lLXNldHRpbmdzLWRhZW1vbi0zLjAvIFwKKyAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZ2RtLyAke2RhdGFkaXJ9L2dub21lLyIKKworRklMRVNfJHtQTn0tc3lzdGVtZCA9ICIke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLyouc2VydmljZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZGJpL2xpYmRiaS1kcml2ZXJzLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZGJpL2xpYmRiaS1kcml2ZXJzLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTA5NTMyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJkYmkvbGliZGJpLWRyaXZlcnMuaW5jCkBAIC0wLDAgKzEsNTEgQEAKKyMgbGliZGJpLWRyaXZlcnMgT0UgYnVpbGQgZmlsZQorIyBDb3B5cmlnaHQgKEMpIDIwMDUsIEtvbmlua2xpamtlIFBoaWxpcHMgRWxlY3Ryb25pY3MgTlYuICBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIHBhY2thZ2VzL0NPUFlJTkcpCisKK0RFU0NSSVBUSU9OID0gIkRhdGFiYXNlIERyaXZlcnMgZm9yIGxpYmRiaSIKK0hPTUVQQUdFID0gImh0dHA6Ly9saWJkYmktZHJpdmVycy5zb3VyY2Vmb3JnZS5uZXQvIgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQ4MDQ1ZjNiOGY5MjljMWNiMjlhMWUzZmQ3MzdiNDk5IgorU0VDVElPTiA9ICJsaWJzIgorCitQUk9WSURFUyA9ICJsaWJkYmQtc3FsaXRlIgorREVQRU5EUyA9ICJsaWJkYmkgc3FsaXRlIHNxbGl0ZTMgbXlzcWw1IHBvc3RncmVzcWwiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2xpYmRiaS1kcml2ZXJzL2xpYmRiaS1kcml2ZXJzLSR7UFZ9LnRhci5neiIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworUEFDS0FHRVMgKz0gImxpYmRiZC1zcWxpdGUzIGxpYmRiZC1zcWxpdGUgbGliZGJkLXBnc3FsIGxpYmRiZC1teXNxbCIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC1kYmktaW5jZGlyPSR7U1RBR0lOR19JTkNESVJ9IFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtZGJpLWxpYmRpcj0ke1NUQUdJTkdfTElCRElSfSBcCisgICAgICAgICAgICAgICAgLS13aXRoLXNxbGl0ZSBcCisgICAgICAgICAgICAgICAgLS13aXRoLXNxbGl0ZTMgXAorICAgICAgICAgICAgICAgIC0td2l0aC1wZ3NxbCBcCisgICAgICAgICAgICAgICAgLS13aXRoLW15c3FsIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtc3FsaXRlLWxpYmRpcj0ke1NUQUdJTkdfTElCRElSfSBcCisgICAgICAgICAgICAgICAgLS13aXRoLXNxbGl0ZS1pbmNkaXI9JHtTVEFHSU5HX0lOQ0RJUn0gXAorICAgICAgICAgICAgICAgIC0td2l0aC1zcWxpdGUzLWluY2Rpcj0ke1NUQUdJTkdfSU5DRElSfSBcCisgICAgICAgICAgICAgICAgLS13aXRoLXNxbGl0ZTMtbGliZGlyPSR7U1RBR0lOR19MSUJESVJ9IFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtbXlzcWwtaW5jZGlyPSR7U1RBR0lOR19JTkNESVJ9IFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtbXlzcWwtbGliZGlyPSR7U1RBR0lOR19MSUJESVJ9IFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtcGdzcWwtaW5jZGlyPSR7U1RBR0lOR19JTkNESVJ9IFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtcGdzcWwtbGliZGlyPSR7U1RBR0lOR19MSUJESVJ9IFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtZG9jcyIKKworRklMRVNfJHtQTn0tZGJnICs9ICIgJHtsaWJkaXJ9L2RiZC8uZGVidWcvKi5zbyIKK0ZJTEVTXyR7UE59LWRldiArPSAiICR7bGliZGlyfS9kYmQvKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiICR7bGliZGlyfS9kYmQvKi5hIgorCitERVNDUklQVElPTl9saWJkYmQtc3FsaXRlID0gIlNRTGl0ZSBkYXRhYmFzZSBkcml2ZXIgZm9yIGxpYmRiaSIKK0ZJTEVTX2xpYmRiZC1zcWxpdGUgPSAiJHtsaWJkaXJ9L2RiZC9saWJkYmRzcWxpdGUuc28iCisKK0RFU0NSSVBUSU9OX2xpYmRiZC1zcWxpdGUzID0gICJTUUxpdGUzIGRhdGFiYXNlIGRyaXZlciBmb3IgbGliZGJpIgorRklMRVNfbGliZGJkLXNxbGl0ZTMgPSAiJHtsaWJkaXJ9L2RiZC9saWJkYmRzcWxpdGUzLnNvIgorCitERVNDUklQVElPTl9saWJkYmQtbXlzcWwgPSAiTXlTUUw0IGRhdGFiYXNlIGRyaXZlciBmb3IgbGliZGJpIgorRklMRVNfbGliZGJkLW15c3FsID0gIiR7bGliZGlyfS9kYmQvbGliZGJkbXlzcWwuc28iCisKK0RFU0NSSVBUSU9OX2xpYmRiZC1wc3FsID0gIlBvc3RncmVzIFNRTCBkYXRhYmFzZSBkcml2ZXIgZm9yIGxpYmRiaSIKK0ZJTEVTX2xpYmRiZC1wZ3NxbCA9ICIke2xpYmRpcn0vZGJkL2xpYmRiZHBnc3FsLnNvIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmRiaS9saWJkYmktZHJpdmVyc18wLjguMy0xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJkYmkvbGliZGJpLWRyaXZlcnNfMC44LjMtMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYzg2OWM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJkYmkvbGliZGJpLWRyaXZlcnNfMC44LjMtMS5iYgpAQCAtMCwwICsxLDggQEAKK3JlcXVpcmUgJHtQTn0uaW5jCisKKworU1JDX1VSSVttZDVzdW1dID0gIjRkZTc5YjMyMzE2MmE1YTc2NTJiNjViNjA4ZWNhNmNkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRhYjk5NDQzOThjZTc2OWMwZGVlYjY0ZDJmNzM1NTVjNjdiYzI1Y2NkMmFkZTFjY2Y1NTIyMjZjN2IyYWNmNzIiCisKKyMgbGliZGJpLWRyaXZlcnMtMC44LjMtMS9kcml2ZXJzL215c3FsL2RiZF9teXNxbC5jOjIzMjo1OiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdkYmRfZ290b19yb3cnCitQTkJMQUNLTElTVFtsaWJkYmktZHJpdmVyc10gPz0gIkJST0tFTjogZmFpbHMgdG8gYnVpbGQgd2l0aCBnY2MtNSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZGJpL2xpYmRiaS5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmRiaS9saWJkYmkuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlYTI4MzgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmRiaS9saWJkYmkuaW5jCkBAIC0wLDAgKzEsMTcgQEAKKyMgbGliZGJpIE9FIGJ1aWxkIGZpbGUKKyMgQ29weXJpZ2h0IChDKSAyMDA1LCBLb25pbmtsaWprZSBQaGlsaXBzIEVsZWN0cm9uaWNzIE5WLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBwYWNrYWdlcy9DT1BZSU5HKQorCitERVNDUklQVElPTiA9ICJEYXRhYmFzZSBJbmRlcGVuZGVudCBBYnN0cmFjdGlvbiBMYXllciBmb3IgQyIKK0hPTUVQQUdFID0gImh0dHA6Ly9saWJkYmkuc291cmNlZm9yZ2UubmV0LyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kODA0NWYzYjhmOTI5YzFjYjI5YTFlM2ZkNzM3YjQ5OSIKK1NFQ1RJT04gPSAibGlicyIKKworSU5DX1BSID0gInIwIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9saWJkYmkvbGliZGJpLSR7UFZ9LnRhci5neiIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1kb2NzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJkYmkvbGliZGJpXzAuOS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJkYmkvbGliZGJpXzAuOS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0ZWFlMjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmRiaS9saWJkYmlfMC45LjAuYmIKQEAgLTAsMCArMSw2IEBACityZXF1aXJlICR7UE59LmluYworCitQUiA9ICIke0lOQ19QUn0uMCIKKworU1JDX1VSSVttZDVzdW1dID0gIjA1ZTJjZWVhYzRiYzg1ZmJlNDBkZThiNGIyMmQ5YWIzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImRhZmI2Y2RjYTUyNGM2MjhkZjgzMmI2ZGQwYmY4ZmFiY2ViMTAzMjQ4ZWRiMjE3NjJjMDJkMzA2OGZjYTQ1MDMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVlL2xpYmVlLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZWUvbGliZWUuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1NmZhMDUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVlL2xpYmVlLmluYwpAQCAtMCwwICsxLDM5IEBACitTVU1NQVJZID0gIkFuIEV2ZW50IEV4cHJlc3Npb24gTGlicmFyeSBpbnNwaXJlZCBieSBDRUUiCitERVNDUklQVElPTiA9ICJUaGUgY29yZSBpZGVhIG9mIGxpYmVlIGlzIHRvIHByb3ZpZGUgYSBzbWFsbCBcCitidXQgaG9wZWZ1bGx5IGNvbnZlbmllbnQgQVBJIGxheWVyIGFib3ZlIHRoZSBDRUUgc3RhbmRhcmQuIgorCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmxpYmVlLm9yZyIKK1NFQ1RJT04gPSAiYmFzZSIKKworTElDRU5TRSA9ICJMR1BMLTIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xYzI2ODdkZTM1ZTM2YmEzYjk5OTEzNjIzNmE2NmNkNiIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmxpYmVlLm9yZy9kb3dubG9hZC9maWxlcy9kb3dubG9hZC8ke0JQTn0tJHtQVn0udGFyLmd6XAorICAgICAgICAgICBmaWxlOi8vbGliZWUtcGFyYWxsZWwtbWFrZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICAgICBmaWxlOi8vZXphcGkxLnNoIFwKKyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcHRlc3QgcGtnY29uZmlnCisKK0RFUEVORFMgKz0gImxpYmVzdHIiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3B0ZXN0JywgJ3Rlc3RiZW5jaCcsICcnLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbZGVidWddID0gIi0tZW5hYmxlLWRlYnVnLC0tZGlzYWJsZS1kZWJ1ZywsIgorUEFDS0FHRUNPTkZJR1t0ZXN0YmVuY2hdID0gIi0tZW5hYmxlLXRlc3RiZW5jaCwtLWRpc2FibGUtdGVzdGJlbmNoLCwiCisKK1RFU1RESVIgPSAidGVzdHMiCisKKyMgV2UgcHJlc3VtZSB0aGUgdGVzdHMgd2UgYXJlIGdvaW5nIHRvIGluc3RhbGwgc28ganVzdCBidWlsZCB0aGVtIGRpcmVjdGx5LgorIworZG9fY29tcGlsZV9wdGVzdCgpIHsKKwlvZV9ydW5tYWtlIC1DICR7VEVTVERJUn0gZ2VuZmlsZSBlemFwaTEKK30KKworZG9faW5zdGFsbF9wdGVzdCgpIHsKKwlpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9CisJaW5zdGFsbCAtbSAwNzU1ICR7Qn0vJHtURVNURElSfS9nZW5maWxlICR7RH0ke1BURVNUX1BBVEh9CisJaW5zdGFsbCAtbSAwNzU1ICR7Qn0vJHtURVNURElSfS8ubGlicy9lemFwaTEgJHtEfSR7UFRFU1RfUEFUSH0KKwlpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9lemFwaTEuc2ggJHtEfSR7UFRFU1RfUEFUSH0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZWUvbGliZWUvZXphcGkxLnNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJlZS9saWJlZS9lemFwaTEuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTlkYjVlNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZWUvbGliZWUvZXphcGkxLnNoCkBAIC0wLDAgKzEsMTQgQEAKKyMhL2Jpbi9zaAorIworZWNobyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2VjaG8gQSB2ZXJ5IGJhc2ljIHRlc3QgZm9yIHRoZSBldmVudCBjbGFzcworZWNobyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK3JtIC1mIGluZmlsZQorLi9nZW5maWxlIDEwMCA+IGluZmlsZQorLi9lemFwaTEgLWlpbmZpbGUKK2lmIFsgJD8gLW5lIDAgXSA7IHRoZW4KKyAgIGVjaG8gIkZBSUw6ICQwIgorICAgZXhpdCAxCitmaQorZWNobyAiUEFTUzogJDAiCitybSAtZiBpbmZpbGUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZWUvbGliZWUvbGliZWUtcGFyYWxsZWwtbWFrZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZWUvbGliZWUvbGliZWUtcGFyYWxsZWwtbWFrZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNWU1YzZhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJlZS9saWJlZS9saWJlZS1wYXJhbGxlbC1tYWtlLnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKK2ZpeCBwYXJhbGxlbCBjb21waWxpbmcgcHJvYmxlbQorCit3aXRob3V0IHNwZWNpZnlpbmcgbGliZWVfY29udmVydF9ERVBFTkRFTkNJRVMgPSBsaWJlZS5sYSwgbGliZWVfY29udmVydAorY2FuJ3QgZmluZCBsaWJlZS5sYSB3aGVuIGxpbmtpbmcgYXMgbGliZWUgaXMgbm90IGdlbmVyYXRlZCB5ZXQuCisgCitVcHN0cmVhbS1TdGF0dXM6IHBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogWWFvIFpoYW8gPHlhby56aGFvQHdpbmRyaXZlci5jb20+CistLS0KK2RpZmYgLS1naXQgYS9zcmMvTWFrZWZpbGUuYW0gYi9zcmMvTWFrZWZpbGUuYW0KK2luZGV4IDA4YWFhOWUuLmYwYzc4ZjcgMTAwNjQ0CistLS0gYS9zcmMvTWFrZWZpbGUuYW0KKysrKyBiL3NyYy9NYWtlZmlsZS5hbQorQEAgLTQ2LDUgKzQ2LDYgQEAgbGliZWVfbGFfTERGTEFHUyA9IC12ZXJzaW9uLWluZm8gMDowOjAKKyBsaWJlZV9jb252ZXJ0X1NPVVJDRVMgPSBjb252ZXJ0LmMKKyBsaWJlZV9jb252ZXJ0X0NQUEZMQUdTID0gIC1JJCh0b3Bfc3JjZGlyKSAkKExJQkVFX0NGTEFHUykgJChMSUJFU1RSX0NGTEFHUykgJChMSUJYTUwyX0NGTEFHUykKKyBsaWJlZV9jb252ZXJ0X0xEQUREID0gJChMSUJFRV9MSUJTKSAkKExJQlhNTDJfTElCUykgJChMSUJFU1RSX0xJQlMpCisrbGliZWVfY29udmVydF9ERVBFTkRFTkNJRVMgPSBsaWJlZS5sYQorIAorIGluY2x1ZGVfSEVBREVSUyA9IApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJlZS9saWJlZS9ydW4tcHRlc3QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVlL2xpYmVlL3J1bi1wdGVzdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zY2I2NjA3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJlZS9saWJlZS9ydW4tcHRlc3QKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKKyMKKy4vZXphcGkxLnNoCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVlL2xpYmVlXzAuNC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJlZS9saWJlZV8wLjQuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZjJjMjBkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJlZS9saWJlZV8wLjQuMS5iYgpAQCAtMCwwICsxLDQgQEAKK3JlcXVpcmUgJHtCUE59LmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiN2JiZjQxNjA4NzZjMTJkYjYxOTNjMDZlMmJhZGVkYjIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzBkYWMwMTkzODU5M2RlZWUwNmMzZDE2MWU0ZWRhNGVjYzBmZDczMTdlMTMyMWJkOTZlMzAxYWNlYjdmYjAyNyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZWlnZW4vbGliZWlnZW4vMDAwMS1DTWFrZUxpc3RzLnR4dC1pbnN0YWxsLUZpbmRFaWdlbjMuY21ha2Utc2NyaXB0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJlaWdlbi9saWJlaWdlbi8wMDAxLUNNYWtlTGlzdHMudHh0LWluc3RhbGwtRmluZEVpZ2VuMy5jbWFrZS1zY3JpcHQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzYxZGFkYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZWlnZW4vbGliZWlnZW4vMDAwMS1DTWFrZUxpc3RzLnR4dC1pbnN0YWxsLUZpbmRFaWdlbjMuY21ha2Utc2NyaXB0LnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0Zyb20gZmQ4YmM2NmVmYWMxMDU5YzEwNjhmODA0NzQ2YjAxYjkwMTc3YzMzMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEx1a2FzIEJ1bHdhaG4gPGx1a2FzLmJ1bHdhaG5Ab3NzLmJtdy1jYXJpdC5kZT4KK0RhdGU6IFN1biwgMTggT2N0IDIwMTUgMTY6NTI6MjUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gQ01ha2VMaXN0cy50eHQ6IGluc3RhbGwgRmluZEVpZ2VuMy5jbWFrZSBzY3JpcHQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEx1a2FzIEJ1bHdhaG4gPGx1a2FzLmJ1bHdhaG5Ab3NzLmJtdy1jYXJpdC5kZT4KKy0tLQorIENNYWtlTGlzdHMudHh0IHwgMiArKworIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKK2luZGV4IDc2YTExYjkuLmVjNmM2ZWEgMTAwNjQ0CistLS0gYS9DTWFrZUxpc3RzLnR4dAorKysrIGIvQ01ha2VMaXN0cy50eHQKK0BAIC0zNDIsNiArMzQyLDggQEAgaWYoRUlHRU5fQlVJTERfUEtHQ09ORklHKQorICAgICAgICAgKQorIGVuZGlmKEVJR0VOX0JVSUxEX1BLR0NPTkZJRykKKyAKKytpbnN0YWxsKEZJTEVTICIke1BST0pFQ1RfU09VUkNFX0RJUn0vY21ha2UvRmluZEVpZ2VuMy5jbWFrZSIgREVTVElOQVRJT04gIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9L3NoYXJlL2NtYWtlL01vZHVsZXMiKQorKworIGFkZF9zdWJkaXJlY3RvcnkoRWlnZW4pCisgCisgYWRkX3N1YmRpcmVjdG9yeShkb2MgRVhDTFVERV9GUk9NX0FMTCkKKy0tIAorMS45LjMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJlaWdlbi9saWJlaWdlbl8zLjIuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZWlnZW4vbGliZWlnZW5fMy4yLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODlhMjVhOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZWlnZW4vbGliZWlnZW5fMy4yLjYuYmIKQEAgLTAsMCArMSwyMyBAQAorREVTQ1JJUFRJT04gPSAiRWlnZW4gaXMgYSBDKysgdGVtcGxhdGUgbGlicmFyeSBmb3IgbGluZWFyIGFsZ2VicmE6IG1hdHJpY2VzLCB2ZWN0b3JzLCBudW1lcmljYWwgc29sdmVycywgYW5kIHJlbGF0ZWQgYWxnb3JpdGhtcy4iCitBVVRIT1IgPSAiQmVub8OudCBKYWNvYiBhbmQgR2HDq2wgR3Vlbm5lYmF1ZCBhbmQgb3RoZXJzIgorSE9NRVBBR0UgPSAiaHR0cDovL2VpZ2VuLnR1eGZhbWlseS5vcmcvIgorTElDRU5TRSA9ICJNUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5NUEwyO21kNT04MTVjYTU5OWM5ZGYyNDdhMGM3ZjYxOWJhYjEyM2RhZCIKKworU1JDX1VSSSA9ICJodHRwOi8vYml0YnVja2V0Lm9yZy9laWdlbi9laWdlbi9nZXQvJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUNNYWtlTGlzdHMudHh0LWluc3RhbGwtRmluZEVpZ2VuMy5jbWFrZS1zY3JpcHQucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiODcyNzQ5NjY3NDVkMmQzZTc5NjRmY2M2NTRkMGEyNGIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGEzMzUyZjlhNTM2MWZlOTBlNDUxYTczMDVmYjE4OTZmYzdmNzcxZGMxNmNjMGVkZDhlNmIxNTdmNTJjMzQzZSIKKworUyA9ICIke1dPUktESVJ9L2VpZ2VuLWVpZ2VuLWM1ODAzOGM1NjkyMyIKKworaW5oZXJpdCBjbWFrZQorCitFWFRSQV9PRUNNQUtFICs9ICItRHBrZ19jb25maWdfbGliZGlyPSR7bGliZGlyfSIKKworRklMRVNfJHtQTn0gPSAiJHtpbmNsdWRlZGlyfSAke2xpYmRpcn0iCitGSUxFU18ke1BOfS1kZXYgPSAiJHtkYXRhZGlyfS9jbWFrZS9Nb2R1bGVzIgorCisjICR7UE59IGlzIGVtcHR5IHNvIHdlIG5lZWQgdG8gdHdlYWsgLWRldiBhbmQgLWRiZyBwYWNrYWdlIGRlcGVuZGVuY2llcworUkRFUEVORFNfJHtQTn0tZGV2ID0gIiIKK1JSRUNPTU1FTkRTXyR7UE59LWRiZyA9ICIke1BOfS1kZXYgKD0gJHtFWFRFTkRQS0dWfSkiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVzdHIvbGliZXN0cl8wLjEuMTAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVzdHIvbGliZXN0cl8wLjEuMTAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWJmZjRmMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZXN0ci9saWJlc3RyXzAuMS4xMC5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gInNvbWUgZXNzZW50aWFscyBmb3Igc3RyaW5nIGhhbmRsaW5nIChhbmQgYSBiaXQgbW9yZSkiCitIT01FUEFHRSA9ICJodHRwOi8vbGliZXN0ci5hZGlzY29uLmNvbS8iCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OWQ2Yzk5MzQ4NmMxODI2MmFmYmE0Y2E1YmNiODk0ZDAiCisKK1NSQ19VUkkgPSAiaHR0cDovL2xpYmVzdHIuYWRpc2Nvbi5jb20vZmlsZXMvZG93bmxvYWQvJHtCUH0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjRjOTE2NWEyMzU4N2U3N2Y3ZWZlNjVkNjc2ZDVlOGUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYmQ2NTVlMTI2ZTc1MGVkZDE4NTQ0Yjg4ZWIxNTY4ZDIwMGE0MjRhMGMyM2Y2NjVlYjE0YmJlY2UwN2FjNzAzYyIKKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZXRwYW4vbGliZXRwYW4tMC41Ny9saWJldHBhbi1hdXRvcmVjb25mLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJldHBhbi9saWJldHBhbi0wLjU3L2xpYmV0cGFuLWF1dG9yZWNvbmYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDA1OTY3ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZXRwYW4vbGliZXRwYW4tMC41Ny9saWJldHBhbi1hdXRvcmVjb25mLnBhdGNoCkBAIC0wLDAgKzEsMTIgQEAKK0luZGV4OiBsaWJldHBhbi0wLjU3L2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGxpYmV0cGFuLTAuNTcub3JpZy9jb25maWd1cmUuYWMJMjAwOC0xMC0wOCAxOTo1NDoyMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBsaWJldHBhbi0wLjU3L2NvbmZpZ3VyZS5hYwkyMDA4LTExLTExIDE2OjM0OjMzLjAwMDAwMDAwMCArMDAwMAorQEAgLTEwNiw2ICsxMDYsNyBAQAorIAorICMgQ2hlY2sgdGhlIEMgY29tcGlsZXIuCisgQUNfUFJPR19DQworK0FDX1BST0dfQ1hYCisgCisgIyBDb21waWxlciBmbGFncy4KKyBBQ19BUkdfRU5BQkxFKGRlYnVnLCAgIFsgIC0tZW5hYmxlLWRlYnVnICAgICAgICAgIHNldHVwIGZsYWdzIChnY2MpIGZvciBkZWJ1Z2dpbmcgKGRlZmF1bHQ9bm8pXSwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZXRwYW4vbGliZXRwYW4tMC41Ny9saWJldHBhbi1sZGZsYWdzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJldHBhbi9saWJldHBhbi0wLjU3L2xpYmV0cGFuLWxkZmxhZ3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDM4ZjQ0ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZXRwYW4vbGliZXRwYW4tMC41Ny9saWJldHBhbi1sZGZsYWdzLnBhdGNoCkBAIC0wLDAgKzEsMTEgQEAKKy0tLSBsaWJldHBhbi0wLjU3L2NvbmZpZ3VyZS5hY34JMjAwOS0wOS0yMSAyMzozMTo0Mi4wMDAwMDAwMDAgKzAyMDAKKysrKyBsaWJldHBhbi0wLjU3L2NvbmZpZ3VyZS5hYwkyMDA5LTA5LTIxIDIzOjMxOjQyLjAwMDAwMDAwMCArMDIwMAorQEAgLTQ1Nyw3ICs0NTcsNyBAQAorICAgICAgIExERkxBR1M9Ii0kZmxhZyAkTERGTEFHUyIKKyAgICAgICBBQ19UUllfTElOSyhbXSwgW3B0aHJlYWRfY3JlYXRlKCk7XSwgCisgICAgICAgICAgICAgICAgICAgICAgIFtwdGhmbGFnPXllczsgY2hlY2twdGhyZWFkPW5vXSwgCistICAgICAgICAgICAgICAgICAgICAgIFtwdGhmbGFnPW5vOyBMREZMQUdTPSIkT0xEQ0ZMQUdTIl0pCisrICAgICAgICAgICAgICAgICAgICAgIFtwdGhmbGFnPW5vOyBMREZMQUdTPSIkT0xERkxBR1MiXSkKKyAgICAgICBBQ19NU0dfUkVTVUxUKCRwdGhmbGFnKQorICAgICBmaQorICAgZG9uZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJldHBhbi9saWJldHBhbi0wLjU3L3NlcGJ1aWxkLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJldHBhbi9saWJldHBhbi0wLjU3L3NlcGJ1aWxkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmMDE2MTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmV0cGFuL2xpYmV0cGFuLTAuNTcvc2VwYnVpbGQucGF0Y2gKQEAgLTAsMCArMSwxNiBAQAorSW5kZXg6IGxpYmV0cGFuLTAuNTcvcnVsZXMubWsKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsaWJldHBhbi0wLjU3Lm9yaWcvcnVsZXMubWsKKysrKyBsaWJldHBhbi0wLjU3L3J1bGVzLm1rCitAQCAtMTM0LDkgKzEzNCw5IEBAIHByZXBhcmUtYW06IHByZXBhcmUtbG9jYWwKKyAJICAgICAgICAgaWYgdGVzdCAtZSAuLi8uLi8kKHN1YmRpcikvJCR7aGRyfTsgdGhlbiBcCisgCSAgICAgICAgICAgZWNobyAiJChMTl9TKSAtZiAuLi8uLi8kKHN1YmRpcikvJCR7aGRyfSAuIjsgXAorIAkgICAgICAgICAgICQoTE5fUykgLWYgLi4vLi4vJChzdWJkaXIpLyQke2hkcn0gLjsgXAorICAgICAgICAgICAgICBlbHNlIFwKKy0JICAgICAgICAgICBlY2hvICIkKExOX1MpIC1mIC4uLy4uLyQoc3ViZGlyKS8kKHNyY2RpcikvJCR7aGRyfSAuIjsgXAorLQkgICAgICAgICAgICQoTE5fUykgLWYgLi4vLi4vJChzdWJkaXIpLyQoc3JjZGlyKS8kJHtoZHJ9IC47IFwKKysJICAgICAgICAgICBlY2hvICIkKExOX1MpIC1mICQoc3JjZGlyKS8kJHtoZHJ9IC4iOyBcCisrCSAgICAgICAgICAgJChMTl9TKSAtZiAkKHNyY2RpcikvJCR7aGRyfSAuOyBcCisgICAgICAgICAgICAgIGZpOyBcCisgICAgICAgICAgICBmaTsgXAorIAkgICAgIGRvbmU7IFwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZXRwYW4vbGliZXRwYW5fMC41Ny5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZXRwYW4vbGliZXRwYW5fMC41Ny5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMDkxYmIwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJldHBhbi9saWJldHBhbl8wLjU3LmJiCkBAIC0wLDAgKzEsMzAgQEAKK0RFU0NSSVBUSU9OID0gImxpYmV0cGFuIGlzIGEgbGlicmFyeSBmb3IgY29tbXVuaWNhdGluZyB3aXRoIG1haWwgYW5kIG5ld3Mgc2VydmVycy4gXAorSXQgc3VwcG9ydHMgdGhlIHByb3RvY29scyBTTVRQLCBQT1AzLCBJTUFQIGFuZCBOTlRQLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZXRwYW4ub3JnIgorU0VDVElPTiA9ICJsaWJzIgorREVQRU5EUyA9ICJnbnV0bHMgbGlibG9ja2ZpbGUgY3VybCIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWVJJR0hUO21kNT1mMThlYmU3ZTQ1MjcwOGMyNmY4Mzk1NGY4MTA2MmJhNyIKKworUFIgPSAicjEiCisKKyMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzI1ODIzLworUE5CTEFDS0xJU1RbbGliZXRwYW5dID89ICJOb3QgY29tcGF0aWJsZSB3aXRoIGdudXRscyB2ZXJzaW9uIDMuNCBjdXJyZW50bHkgaW4gb2UtY29yZSIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vbGliZXRwYW4vbGliZXRwYW4tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2xpYmV0cGFuLWF1dG9yZWNvbmYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbGliZXRwYW4tbGRmbGFncy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zZXBidWlsZC5wYXRjaCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdldHRleHQgYmluY29uZmlnCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGhvdXQtb3BlbnNzbCAtLXdpdGhvdXQtc2FzbCAtLXdpdGgtZ251dGxzIC0tZGlzYWJsZS1kYiIKKworUEFSQUxMRUxfTUFLRSA9ICIiCisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS9saWIqLnNvLioiCitGSUxFU18ke1BOfS1kZXYgPSAiJHtiaW5kaXJ9ICR7aW5jbHVkZWRpcn0gJHtsaWJkaXJ9L2xpYiouc28gJHtsaWJkaXJ9LyoubGEgJHtsaWJkaXJ9LyouYSAke2xpYmRpcn0vcGtnY29uZmlnIgorCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4Y2U4YzZjMDcxZTgxODg0YTQ3NWIxMmI3ZjlhOWNjMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxZjNmZGE1YzllMjk2MWQxYTYyOThkYzhhYWRhZTMyMTQ5M2QzNzcyN2Q4ZGI0NWJjMmU4ZDU4ZjIwNTQ3MDExIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJmdGRpL2xpYmZ0ZGlfMS4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJmdGRpL2xpYmZ0ZGlfMS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliMjkwZmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmZ0ZGkvbGliZnRkaV8xLjIuYmIKQEAgLTAsMCArMSwzMSBAQAorREVTQ1JJUFRJT04gPSAibGliZnRkaSBpcyBhIGxpYnJhcnkgdG8gdGFsayB0byBGVERJIGNoaXBzLlwKK0ZUMjMyQk0vMjQ1Qk0sIEZUMjIzMkMvRCBhbmQgRlQyMzIvMjQ1UiB1c2luZyBsaWJ1c2IsXAoraW5jbHVkaW5nIHRoZSBwb3B1bGFyIGJpdGJhbmcgbW9kZS4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmludHJhMm5ldC5jb20vZW4vZGV2ZWxvcGVyL2xpYmZ0ZGkvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xICYgR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNPSAiXAorICAgIGZpbGU6Ly9DT1BZSU5HLkdQTDttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUgXAorICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9ZGI5Nzk4MDRmMDI1Y2Y1NWFhYmVjNzEyOWNiNjcxZWQgXAorIgorCitERVBFTkRTID0gImxpYnVzYjEiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5pbnRyYTJuZXQuY29tL2VuL2RldmVsb3Blci8ke0JQTn0vZG93bmxvYWQvJHtCUE59MS0ke1BWfS50YXIuYnoyIgorCitTUkNfVVJJW21kNXN1bV0gPSAiODlkZmY4MDJkODljNGMwZDU1ZDhiNDY2NWZkNTJkMGIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTZlYTc5NWM4MjkyMTkwMTVlYjM3MmIwMzAwODM1MWNlZTNmYjM5ZjY4NGJmZjNiZjhhNDYyMGI1NTg0ODhkNiIKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfTEtJHtQVn0iCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2NwcC13cmFwcGVyXSA9ICItREZURElfQlVJTERfQ1BQPW9uIC1ERlRESVBQPW9uLC1ERlRESV9CVUlMRF9DUFA9b2ZmIC1ERlRESVBQPW9mZixib29zdCIKKworaW5oZXJpdCBjbWFrZSBiaW5jb25maWcgcGtnY29uZmlnCisKK0VYVFJBX09FQ01BS0UgPSAiLURMSUJfU1VGRklYPSR7QGQuZ2V0VmFyKCdiYXNlbGliJywgVHJ1ZSkucmVwbGFjZSgnbGliJywgJycpfSIKKworRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vY21ha2UiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJqcy9saWJqcy1qcXVlcnlfMS43LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmpzL2xpYmpzLWpxdWVyeV8xLjcuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYzhmMzYwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJqcy9saWJqcy1qcXVlcnlfMS43LjIuYmIKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSA9ICJKYXZhU2NyaXB0IGxpYnJhcnkgZm9yIGR5bmFtaWMgd2ViIGFwcGxpY2F0aW9ucyIKK0xJQ0VOU0UgPSAiTUlUIHwgQlNEIHwgR1BMLTIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly91c3Ivc2hhcmUvZG9jL2xpYmpzLWpxdWVyeS9jb3B5cmlnaHQ7bWQ1PTVkMWVjNmY5NWUwYTkxZDM4ZTJmNzFkZTkzZGRiMDBlIgorCitTUkNfVVJJID0gImh0dHA6Ly9rci5hcmNoaXZlLnVidW50dS5jb20vdWJ1bnR1L3Bvb2wvbWFpbi9qL2pxdWVyeS8ke0JQTn1fJHtQVn0rZGViaWFuLTF1YnVudHUxfnVidW50dTEyLjA0LjFfYWxsLmRlYjtzdWJkaXI9JHtCUH0iCitTUkNfVVJJW21kNXN1bV0gPSAiZmE1MTFhYjY3ZjZlOTYwYzViNmQzOWE0ZDY2NWU0N2YiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTkwY2ExOGE3MWUzNWM4YWIyYmE3M2ZlNWJlM2M3Y2M2MDFmZTIwYjQ1NzA5ZDgwMTExMDgxOGYxYjYwMmNjMSIKKworSlFVRVJZRElSID0gIiR7ZGF0YWRpcn0vamF2YXNjcmlwdC9qcXVlcnkiCitKUVVFUllET0NESVIgPSAiJHtkb2NkaXJ9L2xpYmpzLWpxdWVyeSIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kIC1tIDA3NTUgJHtEfSR7SlFVRVJZRElSfQorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9JHtKUVVFUllESVJ9L2pxdWVyeS5qcyAke0R9JHtKUVVFUllESVJ9LworICAgIGluc3RhbGwgLW0gMDY0NCAke1N9JHtKUVVFUllESVJ9L2pxdWVyeS5taW4uanMgJHtEfSR7SlFVRVJZRElSfS8KKworICAgIGxuIC1zZiBqcXVlcnkubWluLmpzICR7RH0ke0pRVUVSWURJUn0vanF1ZXJ5LmxpdGUuanMKKyAgICBsbiAtc2YganF1ZXJ5Lm1pbi5qcyAke0R9JHtKUVVFUllESVJ9L2pxdWVyeS5wYWNrLmpzCisKKyAgICBpbnN0YWxsIC1kIC1tIDA2NDQgJHtEfSR7SlFVRVJZRE9DRElSfQorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9JHtKUVVFUllET0NESVJ9L2NvcHlyaWdodCAke0R9JHtKUVVFUllET0NESVJ9LworfQorCitGSUxFU18ke1BOfSA9ICIvdXNyL3NoYXJlL2phdmFzY3JpcHQvanF1ZXJ5IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJqcy9saWJqcy1zaXp6bGVfMS4xMC4xOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlianMvbGlianMtc2l6emxlXzEuMTAuMTguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTJhYjMxZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlianMvbGlianMtc2l6emxlXzEuMTAuMTguYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSA9ICJQdXJlLUphdmFTY3JpcHQgQ1NTIHNlbGVjdG9yIGVuZ2luZSIKK0xJQ0VOU0UgPSAiR1BMLTIuMCAmIE1JVCAmIEFGTC0yLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9NSVQtTElDRU5TRS50eHQ7bWQ1PWU0M2FhNDM3YTZhMWJhNDIxNjUzYmQ1MDM0MzMzYmY5IgorCitTUkNfVVJJID0gImh0dHA6Ly9rci5hcmNoaXZlLnVidW50dS5jb20vdWJ1bnR1L3Bvb2wvdW5pdmVyc2Uvcy9zaXp6bGUvc2l6emxlXzEuMTAuMTgub3JpZy50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiOTE0NzdjMWVkZWVmOWY4MTAwZmZkNmM0ZDMxNzI1YjUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGUwNGFiODRiYjc0YjJlMzM4ZGZmYzYzY2QyZTUyYjAwN2YxZDhhZjAxYjNkMjVkYTRkMmUwN2YyYjU4OTBmOCIKKworUyA9ICIke1dPUktESVJ9L3NpenpsZS0ke1BWfSIKKworU0laWkxFRElSID0gIiR7U30vZGlzdCIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kIC1tIDA3NTUgJHtEfS8ke2RhdGFkaXJ9L2phdmFzY3JpcHQvc2l6emxlLworICAgIGluc3RhbGwgLW0gMDY0NCAke1NJWlpMRURJUn0vKi5qcyAke0R9LyR7ZGF0YWRpcn0vamF2YXNjcmlwdC9zaXp6bGUvCit9CisKK0ZJTEVTXyR7UE59ID0gIiR7ZGF0YWRpcn0vamF2YXNjcmlwdC9zaXp6bGUvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJsaW5lYnJlYWsvbGlibGluZWJyZWFrXzEuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlibGluZWJyZWFrL2xpYmxpbmVicmVha18xLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDA0NjNhNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlibGluZWJyZWFrL2xpYmxpbmVicmVha18xLjIuYmIKQEAgLTAsMCArMSwxMSBAQAorREVTQ1JJUFRJT04gPSAiTGlibGluZWJyZWFrIGlzIGFuIGltcGxlbWVudGF0aW9uIG9mIHRoZSBsaW5lIGJyZWFraW5nIGFsZ29yaXRobSBhcyBkZXNjcmliZWQgaW4gVW5pY29kZSA1LjEuMCBTdGFuZGFyZCBBbm5leCAxNCwgUmV2aXNpb24gMjIiCitIT01FUEFHRSA9ICJodHRwOi8vdmltZ2FkZ2V0cy5zb3VyY2Vmb3JnZS5uZXQvbGlibGluZWJyZWFrLyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiWmxpYiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOQ0U7bWQ1PTM3MTUxOTFkYTYyYmFmYjVjZmM0ZmYzNjE5NWIyZWMzIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9wcm9qZWN0L3ZpbWdhZGdldHMvbGlibGluZWJyZWFrLyR7UFZ9L2xpYmxpbmVicmVhay0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZDE4MDM5MjU5MDAxY2NiMjRiNWRkNDY0OGM0OWM1YWQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOWVmY2IwY2IxYWZjNzVhZDFlOTJkMmIyZGJmNGQ5Yzc3YjA3MmQ2NjU2YzVmMWExNTBhZjhiNzE4ZDBjN2I3NiIKKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlibWNyeXB0L2xpYm1jcnlwdF8yLjUuOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlibWNyeXB0L2xpYm1jcnlwdF8yLjUuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYTEzM2M2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJtY3J5cHQvbGlibWNyeXB0XzIuNS44LmJiCkBAIC0wLDAgKzEsMTIgQEAKK1NVTU1BUlkgPSAiUmVwbGFjZW1lbnQgZm9yIHRoZSBvbGQgY3J5cHQoKSBwYWNrYWdlIGFuZCBjcnlwdCgxKSBjb21tYW5kLCB3aXRoIGV4dGVuc2lvbnMiCitIT01FUEFHRSA9ICJodHRwOi8vbWNyeXB0LnNvdXJjZWZvcmdlLm5ldC8iCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PWJiYjQ2MTIxMWEzM2IxMzRkNDJlZDVlZTgwMmIzN2ZmIgorREVQRU5EUyA9ICJsaWJ0b29sIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9wcm9qZWN0L21jcnlwdC9MaWJtY3J5cHQvJHtQVn0vbGlibWNyeXB0LSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjA4MjE4MzBkOTMwYTg2YTVjNjkxMTA4MzdjNTViN2RhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU0ZWI2YzA3NGJiYWIxNjhhYzQ3Yjk0N2MxOTVmZjhjZWY5ZDUxYTIxMWNkZDE4Y2E5YzllZjM0ZDI3YTM3M2UiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBnZXR0ZXh0IGJpbmNvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJtaWNyb2h0dHBkL2xpYm1pY3JvaHR0cGRfMC45LjM0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJtaWNyb2h0dHBkL2xpYm1pY3JvaHR0cGRfMC45LjM0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0YTBmMzgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYm1pY3JvaHR0cGQvbGlibWljcm9odHRwZF8wLjkuMzQuYmIKQEAgLTAsMCArMSwyNyBAQAorREVTQ1JJUFRJT04gPSAiQSBzbWFsbCBDIGxpYnJhcnkgdGhhdCBpcyBzdXBwb3NlZCB0byBtYWtlIGl0IGVhc3kgdG8gcnVuIGFuIEhUVFAgc2VydmVyIGFzIHBhcnQgb2YgYW5vdGhlciBhcHBsaWNhdGlvbiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9saWJtaWNyb2h0dHBkLyIKK0xJQ0VOU0UgPSAiTEdQTC0yLjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTMzMTE4NmY0ZjgwZGI3ZGEwZTcyNGJkZDY1NTRlZTUiCitTRUNUSU9OID0gIm5ldCIKK0RFUEVORFMgPSAibGliZ2NyeXB0IGdudXRscyBmaWxlIgorCitTUkNfVVJJID0gImh0dHA6Ly9mdHAuZ251Lm9yZy9nbnUvbGlibWljcm9odHRwZC8ke0JQTn0tJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjI5NDdlZWUxM2MyYzhhZmZiOTUwMjNhMGNiNmZkYTBjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI5YTJiZmQ0ZmQyZGRmNjBjNzU2YjhjMjgzMjkxYTEzNDg5OGUzY2MxNDM4NDNiZTQyMWEwNDBiZTFiMjVhODgiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGxpYl9wYWNrYWdlCisKKyMgZGlzYWJsZSBzcGR5LCBiZWNhdXNlIGl0IGRlcGVuZHMgb24gb3BlbnNzbAorRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtc3RhdGljIC0td2l0aC1nbnV0bHM9JHtTVEFHSU5HX0xJQkRJUn0vLi4vIC0tZGlzYWJsZS1zcGR5IgorCitQQUNLQUdFQ09ORklHID89ICJjdXJsIgorUEFDS0FHRUNPTkZJR19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIlwKKyAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsYXJnZWZpbGUnLCAnbGFyZ2VmaWxlJywgJycsIGQpfSBcCisiCitQQUNLQUdFQ09ORklHW2xhcmdlZmlsZV0gPSAiLS1lbmFibGUtbGFyZ2VmaWxlLC0tZGlzYWJsZS1sYXJnZWZpbGUsLCIKK1BBQ0tBR0VDT05GSUdbY3VybF0gPSAiLS1lbmFibGUtY3VybCwtLWRpc2FibGUtY3VybCxjdXJsLCIKKworZG9fY29tcGlsZV9hcHBlbmQoKSB7CisJc2VkIC1pIHM6LUwke1NUQUdJTkdfTElCRElSfTo6ZyBsaWJtaWNyb2h0dHBkLnBjCit9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlib2F1dGgvbGlib2F1dGhfMS4wLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYm9hdXRoL2xpYm9hdXRoXzEuMC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMzMTFkYTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYm9hdXRoL2xpYm9hdXRoXzEuMC4zLmJiCkBAIC0wLDAgKzEsMTYgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIENPUFlJTkcuTUlUIGZvciB0aGUgdGVybXMpCisKK0RFU0NSSVBUSU9OID0gIkMgbGlicmFyeSBpbXBsZW1lbnRpbmcgT0F1dGggQ29yZSBSRkMgNTg0OSIKK0hPTUVQQUdFID0gImh0dHA6Ly9saWJvYXV0aC5zb3VyY2Vmb3JnZS5uZXQiCitMSUNFTlNFID0gIk1JVHxHUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5NSVQ7bWQ1PTYyNjY3MThhNTI0MWMwNDVjODA5OWQ5YmU0ODgxN2RmIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuR1BMO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyIKK1NFQ1RJT04gPSAibGlicyIKK0RFUEVORFMgPSAiY3VybCBvcGVuc3NsIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9wcm9qZWN0LyR7QlBOfS8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiNjg5YjQ2YzJiM2FiMWEzOTczNWFjMzNmNzE0YzRmN2YiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGRmNjAxNTdiMDUyZjBlNzc0YWRlOGE4YmFjNTlkNmU4ZDRiNDY0MDU4Y2M1NWY5MjA4ZDcyZTQxMTU2ODExZiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYm9sL2xpYm9sL2NvbmZpZ3VyZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlib2wvbGlib2wvY29uZmlndXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3Njk1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYm9sL2xpYm9sL2NvbmZpZ3VyZS5wYXRjaApAQCAtMCwwICsxLDE0IEBACitJbmRleDogbGlib2wtMC4zLjE4L2NvbmZpZ3VyZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGxpYm9sLTAuMy4xOC5vcmlnL2NvbmZpZ3VyZS5pbgkyMDA2LTAzLTI3IDE0OjQ0OjUyLjAwMDAwMDAwMCArMDAwMAorKysrIGxpYm9sLTAuMy4xOC9jb25maWd1cmUuaW4JMjAxNC0wNy0xOCAwNzowNTo1Ni4wMjk0ODEzNzIgKzAwMDAKK0BAIC0xLDcgKzEsNyBAQAorIGRubCBQcm9jZXNzIHRoaXMgZmlsZSB3aXRoIGF1dG9jb25mIHRvIHByb2R1Y2UgYSBjb25maWd1cmUgc2NyaXB0LgorLUFDX0lOSVQoc3JjL2Fic3RyYWN0X2lvLmMpCisrQUNfSU5JVChsaWJvbCwgIjAuMy4xOCIpCisgCistQU1fSU5JVF9BVVRPTUFLRShsaWJvbCwgIjAuMy4xOCIsIDEpCisrQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbl0pCisgaWYgdGVzdCAtbiAiJFNOQVBTSE9UX1ZFUlNJT04iOyB0aGVuCisgICAgICAgICBWRVJTSU9OPSRWRVJTSU9OKyRTTkFQU0hPVF9WRVJTSU9OCisgZmkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlib2wvbGlib2xfMC4zLjE4LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJvbC9saWJvbF8wLjMuMTguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzMxZjQ4MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlib2wvbGlib2xfMC4zLjE4LmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiQSB0aW55IEMgc3VwcG9ydCBsaWJyYXJ5IgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM5M2MwNTUwYmQzMTczZjQ1MDRiMmNiZDg5OTFlNTBiIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuYmFsYWJpdC5jb20vZG93bmxvYWRzL2ZpbGVzL2xpYm9sLzAuMy8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gImNiYWRmNGI3ZWEyNzZkZmE4NWFjYzM4YTFjYzVmZjE3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjlkZTNiZjEzMjk3ZmY4ODJlMDJhMWU2ZTVmNmJmNzYwYTU0NGFmZjkyYTlkOGExY2Y0MzI4YTMyMDA1Y2VmZTciCisKK2luaGVyaXQgYXV0b3Rvb2xzIGJpbmNvbmZpZworCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisgICAgaW5zdGFsbCAke1N9L3V0aWxzL21ha2VfY2xhc3MuaW4gJHtCfS91dGlscworfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBybSAtZnIgJHtEfSR7YmluZGlyfQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJwMTEvbGlicDExXzAuMy4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJwMTEvbGlicDExXzAuMy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5N2JmYzYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnAxMS9saWJwMTFfMC4zLjAuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJMaWJyYXJ5IGZvciB1c2luZyBQS0NTIgorREVTQ1JJUFRJT04gPSAiXAorTGlicDExIGlzIGEgbGlicmFyeSBpbXBsZW1lbnRpbmcgYSBzbWFsbCBsYXllciBvbiB0b3Agb2YgUEtDUyBcCittYWtlIHVzaW5nIFBLQ1MiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm9wZW5zYy1wcm9qZWN0Lm9yZy9saWJwMTEiCitTRUNUSU9OID0gIkRldmVsb3BtZW50L0xpYnJhcmllcyIKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZhZDliMzMzMmJlODk0YmFiOWJjNTAxNTcyODY0YjI5IgorREVQRU5EUyA9ICJsaWJ0b29sIG9wZW5zc2wiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9PcGVuU0MvbGlicDExLmdpdDtwcm90b2NvbD1odHRwIgorU1JDUkVWID0gIjZmNzEyNDA5OTFhYTgzMWY2ZmMyY2M1NDMxZmFmNmViZWM2MjdlZDIiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXN0YXRpYyIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIHJtIC1yZiAke0R9JHtsaWJkaXJ9LyoubGEKKyAgICBybSAtcmYgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlicmF3MTM5NC9saWJyYXcxMzk0XzIuMS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJyYXcxMzk0L2xpYnJhdzEzOTRfMi4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODExODI5ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlicmF3MTM5NC9saWJyYXcxMzk0XzIuMS4wLmJiCkBAIC0wLDAgKzEsMTEgQEAKK1NVTU1BUlkgPSAiYmFzZSBsaWJyYXJ5IGZvciBsb3ctbGV2ZWwgSUVFRSAxMzk0IGFjY2Vzc2VzIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9pZWVlMTM5NC53aWtpLmtlcm5lbC5vcmcvaW5kZXgucGhwL0xpYnJhcmllcyNsaWJyYXcxMzk0IgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJMR1BMLTIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTElCO21kNT1kODA0NWYzYjhmOTI5YzFjYjI5YTFlM2ZkNzM3YjQ5OSIKKworU1JDX1VSSSA9ICJodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC9saWJzL2llZWUxMzk0LyR7QlBOfS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZDA2Y2NjYjc3NmIyNDBiNmFiNWVmZGVlMzNiODdhZjIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTgzY2ZmMTZmYjg4ODU4MzFiYzI5ZDdkMTdmM2M1NzBkYzM5MjUxZDg5ZTIwNzk1YzA4ZTg3NzIwZGUwYmE3MCIKKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic2RsLXR0Zi9maWxlcy91c2UucGtnLWNvbmZpZy5mb3IuZnJlZXR5cGUyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzZGwtdHRmL2ZpbGVzL3VzZS5wa2ctY29uZmlnLmZvci5mcmVldHlwZTIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGExMWY2NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic2RsLXR0Zi9maWxlcy91c2UucGtnLWNvbmZpZy5mb3IuZnJlZXR5cGUyLnBhdGNoCkBAIC0wLDAgKzEsNTcgQEAKK2ZyZWV0eXBlLWNvbmZpZyB3YXMgcmVtb3ZlZCBmcm9tIG9lLWNvcmUgaW4KKworY29tbWl0IDU4NzBiZDI3MmIwYjA3N2QwODI2ZmI5MDBiMjUxODg0YzFjMDUwNjEKK0F1dGhvcjogUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+CitEYXRlOiAgIFRodSBNYXkgMjIgMTA6NTk6MzMgMjAxNCArMDEwMAorCisgICAgYmluY29uZmlnLWRpc2FibGVkOiBBZGQgY2xhc3MgYW5kIHVzZQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCitpbmRleCA0MDhlOGQ2Li41ZjllNzMwIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmluCisrKysgYi9jb25maWd1cmUuaW4KK0BAIC04NiwzOSArODYsMTEgQEAgY2FzZSAiJGhvc3QiIGluCisgZXNhYworIEFNX0NPTkRJVElPTkFMKFVTRV9WRVJTSU9OX1JDLCB0ZXN0IHgkdXNlX3ZlcnNpb25fcmMgPSB4dHJ1ZSkKKyAKKy1kbmwgQ2hlY2sgZm9yIHRoZSBGcmVlVHlwZSAyIGxpYnJhcnkKKy1kbmwKKy1kbmwgR2V0IHRoZSBjZmxhZ3MgYW5kIGxpYnJhcmllcyBmcm9tIHRoZSBmcmVldHlwZS1jb25maWcgc2NyaXB0CistZG5sCistQUNfQVJHX1dJVEgoZnJlZXR5cGUtcHJlZml4LFsgIC0td2l0aC1mcmVldHlwZS1wcmVmaXg9UEZYICAgUHJlZml4IHdoZXJlIEZSRUVUWVBFIGlzIAorLWluc3RhbGxlZCAob3B0aW9uYWwpXSwKKy0gICAgICAgICAgICBmcmVldHlwZV9wcmVmaXg9IiR3aXRodmFsIiwgZnJlZXR5cGVfcHJlZml4PSIiKQorLUFDX0FSR19XSVRIKGZyZWV0eXBlLWV4ZWMtcHJlZml4LFsgIC0td2l0aC1mcmVldHlwZS1leGVjLXByZWZpeD1QRlggRXhlYyBwcmVmaXggCistd2hlcmUgRlJFRVRZUEUgaXMgaW5zdGFsbGVkIChvcHRpb25hbCldLAorLSAgICAgICAgICAgIGZyZWV0eXBlX2V4ZWNfcHJlZml4PSIkd2l0aHZhbCIsIGZyZWV0eXBlX2V4ZWNfcHJlZml4PSIiKQorLQorLWlmIHRlc3QgeCRmcmVldHlwZV9leGVjX3ByZWZpeCAhPSB4IDsgdGhlbgorLSAgICAgZnJlZXR5cGVfYXJncz0iJGZyZWV0eXBlX2FyZ3MgLS1leGVjLXByZWZpeD0kZnJlZXR5cGVfZXhlY19wcmVmaXgiCistICAgICBpZiB0ZXN0IHgke0ZSRUVUWVBFX0NPTkZJRytzZXR9ICE9IHhzZXQgOyB0aGVuCistICAgICAgICBGUkVFVFlQRV9DT05GSUc9JGZyZWV0eXBlX2V4ZWNfcHJlZml4L2Jpbi9mcmVldHlwZS1jb25maWcKKy0gICAgIGZpCistZmkKKy1pZiB0ZXN0IHgkZnJlZXR5cGVfcHJlZml4ICE9IHggOyB0aGVuCistICAgICBmcmVldHlwZV9hcmdzPSIkZnJlZXR5cGVfYXJncyAtLXByZWZpeD0kZnJlZXR5cGVfcHJlZml4IgorLSAgICAgaWYgdGVzdCB4JHtGUkVFVFlQRV9DT05GSUcrc2V0fSAhPSB4c2V0IDsgdGhlbgorLSAgICAgICAgRlJFRVRZUEVfQ09ORklHPSRmcmVldHlwZV9wcmVmaXgvYmluL2ZyZWV0eXBlLWNvbmZpZworLSAgICAgZmkKKy1maQorLUFDX1BBVEhfUFJPRyhGUkVFVFlQRV9DT05GSUcsIGZyZWV0eXBlLWNvbmZpZywgbm8pCistbm9fZnJlZXR5cGU9IiIKKy1pZiB0ZXN0ICIkRlJFRVRZUEVfQ09ORklHIiA9ICJubyIgOyB0aGVuCistICAgIEFDX01TR19FUlJPUihbCistKioqIFVuYWJsZSB0byBmaW5kIEZyZWVUeXBlMiBsaWJyYXJ5IChodHRwOi8vd3d3LmZyZWV0eXBlLm9yZy8pCistXSkKKy1lbHNlCistICAgIENGTEFHUz0iJENGTEFHUyBgJEZSRUVUWVBFX0NPTkZJRyAkZnJlZXR5cGVjb25mX2FyZ3MgLS1jZmxhZ3NgIgorLSAgICBMSUJTPSIkTElCUyBgJEZSRUVUWVBFX0NPTkZJRyAkZnJlZXR5cGVjb25mX2FyZ3MgLS1saWJzYCIKKy1maQorK1BLR19DSEVDS19NT0RVTEVTKEZSRUVUWVBFMiwgZnJlZXR5cGUyLCAKKysgICAgQ0ZMQUdTPSIkQ0ZMQUdTICRGUkVFVFlQRTJfQ0ZMQUdTIgorKyAgICBMSUJTPSIkTElCUyAkRlJFRVRZUEUyX0xJQlMiLAorKyAgICBBQ19NU0dfRVJST1IoWyoqKiBVbmFibGUgdG8gZmluZCBGcmVlVHlwZTIgbGlicmFyeSAoaHR0cDovL3d3dy5mcmVldHlwZS5vcmcvKV0pCisrKQorIAorIGRubCBDaGVjayBmb3IgU0RMCisgU0RMX1ZFUlNJT049Mi4wLjAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic2RsLXR0Zi9saWJzZGwtdHRmXzIuMC4xMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic2RsLXR0Zi9saWJzZGwtdHRmXzIuMC4xMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMjQ5YWJlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzZGwtdHRmL2xpYnNkbC10dGZfMi4wLjExLmJiCkBAIC0wLDAgKzEsMjcgQEAKK1NVTU1BUlkgPSAiU2ltcGxlIERpcmVjdE1lZGlhIExheWVyIHRydWV0eXBlIGZvbnQgbGlicmFyeSIKK1NFQ1RJT04gPSAibGlicyIKK0RFUEVORFMgPSAidmlydHVhbC9saWJzZGwgZnJlZXR5cGUiCitMSUNFTlNFID0gIlpsaWIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yMjgwMGQxYjM3MDEzNzdhYWUwYjYxZWUzNmY1YzMwMyIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmxpYnNkbC5vcmcvcHJvamVjdHMvU0RMX3R0Zi9yZWxlYXNlL1NETF90dGYtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3VzZS5wa2ctY29uZmlnLmZvci5mcmVldHlwZTIucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjYxZTI5YmQ5ZGE4ZDI0NWJjMjQ3MWQxYjJjZTU5MWFhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjcyNGNkODk1ZWNmNGRhMzE5YTNlZjE2NDg5MmI3MjA3OGJkOTI2MzJhNWQ4MTIxMTEyNjFjZGUyNDhlYmNkYjciCisKK1MgPSAiJHtXT1JLRElSfS9TRExfdHRmLSR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scworCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAjIG1ha2UgYXV0b3JlY29uZiBoYXBweQorICAgIHRvdWNoICR7U30vTkVXUyAke1N9L0FVVEhPUlMgJHtTfS9DaGFuZ2VMb2cKKworICAgICMgUmVtb3ZpbmcgdGhlc2UgZmlsZXMgZml4ZXMgYSBsaWJ0b29sIHZlcnNpb24gbWlzbWF0Y2guCisgICAgTUFDUk9TPSJsaWJ0b29sLm00IGx0fm9ic29sZXRlLm00IGx0b3B0aW9ucy5tNCBsdHN1Z2FyLm00IGx0dmVyc2lvbi5tNCIKKworICAgIGZvciBpIGluICR7TUFDUk9TfTsgZG8KKyAgICAgICAgcm0gLWYgJHtTfS9hY2luY2x1ZGUvJGkKKyAgICBkb25lCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNkbC10dGYvbGlic2RsMi10dGZfMi4wLjE0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzZGwtdHRmL2xpYnNkbDItdHRmXzIuMC4xNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZjVhNTVjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzZGwtdHRmL2xpYnNkbDItdHRmXzIuMC4xNC5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIlNpbXBsZSBEaXJlY3RNZWRpYSBMYXllciB0cnVldHlwZSBmb250IGxpYnJhcnkiCitTRUNUSU9OID0gImxpYnMiCitERVBFTkRTID0gInZpcnR1YWwvbGlic2RsMiBmcmVldHlwZSIKK0xJQ0VOU0UgPSAiWmxpYiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcudHh0O21kNT1jYjMzZTdjNGRmOWZiZGUzODlmMTQ5YWQ2YmM5M2NlNSIKKworU1JDX1VSSSA9ICIgXAorICAgIGh0dHA6Ly93d3cubGlic2RsLm9yZy9wcm9qZWN0cy9TRExfdHRmL3JlbGVhc2UvU0RMMl90dGYtJHtQVn0udGFyLmd6IFwKKyAgICBmaWxlOi8vdXNlLnBrZy1jb25maWcuZm9yLmZyZWV0eXBlMi5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiZTUzYzA1ZTFlN2YxMzgyYzMxNmFmZDZjNzYzMzg4YjEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzRkYjVlMjBiY2Y2NGU3MDcxZmU5YWUyNWFjYWE3ZDcyYmRjNGYxMWFiM2NlNTlhY2M3NjhhYjYyZmUzOTI3NiIKKworUyA9ICIke1dPUktESVJ9L1NETDJfdHRmLSR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scworCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICB0b3VjaCAke1N9L05FV1MgJHtTfS9SRUFETUUgJHtTfS9BVVRIT1JTICR7U30vQ2hhbmdlTG9nCisKKyAgICAjIFJlbW92aW5nIHRoZXNlIGZpbGVzIGZpeGVzIGEgbGlidG9vbCB2ZXJzaW9uIG1pc21hdGNoLgorICAgIE1BQ1JPUz0ibGlidG9vbC5tNCBsdH5vYnNvbGV0ZS5tNCBsdG9wdGlvbnMubTQgbHRzdWdhci5tNCBsdHZlcnNpb24ubTQiCisKKyAgICBmb3IgaSBpbiAke01BQ1JPU307IGRvCisgICAgICAgIHJtIC1mICR7U30vYWNpbmNsdWRlLyRpCisgICAgZG9uZQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzbWkvbGlic21pL2xpYnNtaS1maXgtdGhlLXRlc3QtZHVtcC1maWxlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic21pL2xpYnNtaS9saWJzbWktZml4LXRoZS10ZXN0LWR1bXAtZmlsZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTM0YThiYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic21pL2xpYnNtaS9saWJzbWktZml4LXRoZS10ZXN0LWR1bXAtZmlsZXMucGF0Y2gKQEAgLTAsMCArMSwyNzcgQEAKK0Zyb20gNDYwZDNhNWVmNDUwYzMwYjM0YTY2M2EwNzNlZTUzMzI5NDQxZWY2ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDIzIEZlYiAyMDE2IDE2OjM0OjM4ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGxpYnNtaTogZml4IHRoZSB0ZXN0IGR1bXAgZmlsZXMKKworVGhlc2UgdGVzdCBkdW1wIGZpbGVzIHdlcmUgZ2VuZXJhdGVkIGJ5IHNtaWR1bXAgMC40LjUKK3doaWNoIHdvdWxkIG5vdCBtYXRjaCB3aXRoIHRoZSBvbmVzIGdlbmVyYXRlZCBieSAwLjQuOCwKK3NvIHVwZGF0ZSB0aGVtIHdpdGggdGhlIG9uZXMgZm9yIDAuNC44LgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIHRlc3QvZHVtcHMvY20vTUFVLU1JQiAgICAgICB8ICA4ICsrKystLS0tCisgdGVzdC9kdW1wcy9jbS9STU9OMi1NSUIgICAgIHwgIDYgKysrLS0tCisgdGVzdC9kdW1wcy9zbWluZy9JRi1NSUIgICAgIHwgMjIgKysrKysrKysrKysrKy0tLS0tLS0tLQorIHRlc3QvZHVtcHMvc21pbmcvTUFVLU1JQiAgICB8IDE5ICsrKysrKysrKysrLS0tLS0tLS0KKyB0ZXN0L2R1bXBzL3NtaW5nL1JNT04yLU1JQiAgfCA0MCArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tCisgdGVzdC9kdW1wcy9zbWluZy9TTk1QdjItTUlCIHwgMTEgKysrKysrKy0tLS0KKyA2IGZpbGVzIGNoYW5nZWQsIDYyIGluc2VydGlvbnMoKyksIDQ0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdGVzdC9kdW1wcy9jbS9NQVUtTUlCIGIvdGVzdC9kdW1wcy9jbS9NQVUtTUlCCitpbmRleCAwZDk3Mjg0Li4wY2ZkNGUxIDEwMDY0NAorLS0tIGEvdGVzdC9kdW1wcy9jbS9NQVUtTUlCCisrKysgYi90ZXN0L2R1bXBzL2NtL01BVS1NSUIKK0BAIC01Myw3ICs1Myw3IEBACisgICA8YXR0cmlidXRlIG5hbWU9InRleHQiPgorICAgICA8Y29tcG9zaXRlIHR5cGU9InRleHQiPgorICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ic3RyaW5nIj4KKy0gICAgICAgIDxzdHJpbmc+I0NvbmNlcHR1YWwgbW9kZWwgb2YgTUFVLU1JQiAtIGdlbmVyYXRlZCBieSBzbWlkdW1wIDAuNC41Izwvc3RyaW5nPgorKyAgICAgICAgPHN0cmluZz4jQ29uY2VwdHVhbCBtb2RlbCBvZiBNQVUtTUlCIC0gZ2VuZXJhdGVkIGJ5IHNtaWR1bXAgMC40LjgjPC9zdHJpbmc+CisgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJmb250Ij4KKyAgICAgICAgIDxmb250IG5hbWU9IkNvdXJpZXIiLz4KK0BAIC0xMjk0LDcgKzEyOTQsNyBAQAorICAgICAgICAgPHBvaW50IHZhbD0iMjkuNTIsNDkuMTgiLz4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ib2JqX2JiIj4KKy0gICAgICAgPHJlY3RhbmdsZSB2YWw9IjI4LjY3LDMyLjkzOzMwLjM3LDM0LjYzIi8+CisrICAgICAgIDxyZWN0YW5nbGUgdmFsPSIyOC42NywzMi45MzszMC4zNywzNC42MiIvPgorICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICA8YXR0cmlidXRlIG5hbWU9Im9ydGhfcG9pbnRzIj4KKyAgICAgICAgPHBvaW50IHZhbD0iMjkuNTIsNDkuMTgiLz4KK0BAIC0xNjc4LDcgKzE2NzgsNyBAQAorICAgICAgICAgPHBvaW50IHZhbD0iMzcuNjgsNDkuMTgiLz4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ib2JqX2JiIj4KKy0gICAgICAgPHJlY3RhbmdsZSB2YWw9IjI4LjY3LDMyLjkzOzMwLjM3LDM0LjYzIi8+CisrICAgICAgIDxyZWN0YW5nbGUgdmFsPSIyOC42NywzMi45MzszMC4zNywzNC42MiIvPgorICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICA8YXR0cmlidXRlIG5hbWU9Im9ydGhfcG9pbnRzIj4KKyAgICAgICAgPHBvaW50IHZhbD0iMzcuNjgsNDkuMTgiLz4KK0BAIC0xNzM3LDcgKzE3MzcsNyBAQAorICAgICAgICAgPHBvaW50IHZhbD0iMjkuNTIsMzUuNzgiLz4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ib2JqX2JiIj4KKy0gICAgICAgPHJlY3RhbmdsZSB2YWw9IjI4LjY3LDMyLjkzOzMwLjM3LDM0LjYzIi8+CisrICAgICAgIDxyZWN0YW5nbGUgdmFsPSIyOC42NywzMi45MzszMC4zNywzNC42MiIvPgorICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICA8YXR0cmlidXRlIG5hbWU9Im9ydGhfcG9pbnRzIj4KKyAgICAgICAgPHBvaW50IHZhbD0iMjkuNTIsMzUuNzgiLz4KK2RpZmYgLS1naXQgYS90ZXN0L2R1bXBzL2NtL1JNT04yLU1JQiBiL3Rlc3QvZHVtcHMvY20vUk1PTjItTUlCCitpbmRleCAzMGFlOGRkLi4xYjlkMjY4IDEwMDY0NAorLS0tIGEvdGVzdC9kdW1wcy9jbS9STU9OMi1NSUIKKysrKyBiL3Rlc3QvZHVtcHMvY20vUk1PTjItTUlCCitAQCAtNTMsNyArNTMsNyBAQAorICAgPGF0dHJpYnV0ZSBuYW1lPSJ0ZXh0Ij4KKyAgICAgPGNvbXBvc2l0ZSB0eXBlPSJ0ZXh0Ij4KKyAgICAgICA8YXR0cmlidXRlIG5hbWU9InN0cmluZyI+CistICAgICAgICA8c3RyaW5nPiNDb25jZXB0dWFsIG1vZGVsIG9mIFJNT04yLU1JQiAtIGdlbmVyYXRlZCBieSBzbWlkdW1wIDAuNC41Izwvc3RyaW5nPgorKyAgICAgICAgPHN0cmluZz4jQ29uY2VwdHVhbCBtb2RlbCBvZiBSTU9OMi1NSUIgLSBnZW5lcmF0ZWQgYnkgc21pZHVtcCAwLjQuOCM8L3N0cmluZz4KKyAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICA8YXR0cmlidXRlIG5hbWU9ImZvbnQiPgorICAgICAgICAgPGZvbnQgbmFtZT0iQ291cmllciIvPgorQEAgLTI4NDEsOCArMjg0MSw4IEBACisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ib3J0aF9wb2ludHMiPgorICAgICAgICA8cG9pbnQgdmFsPSIxOC44MCw1NS40NSIvPgorLSAgICAgICA8cG9pbnQgdmFsPSIxOC44MCw2OC42MyIvPgorLSAgICAgICA8cG9pbnQgdmFsPSIyMi44MCw2OC42MyIvPgorKyAgICAgICA8cG9pbnQgdmFsPSIxOC44MCw2OC42MiIvPgorKyAgICAgICA8cG9pbnQgdmFsPSIyMi44MCw2OC42MiIvPgorICAgICAgICA8cG9pbnQgdmFsPSIyMi44MCw4MS44MCIvPgorICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJvcnRoX29yaWVudCI+CitkaWZmIC0tZ2l0IGEvdGVzdC9kdW1wcy9zbWluZy9JRi1NSUIgYi90ZXN0L2R1bXBzL3NtaW5nL0lGLU1JQgoraW5kZXggMjE0MzJjYi4uYzJmZmMwNiAxMDA2NDQKKy0tLSBhL3Rlc3QvZHVtcHMvc21pbmcvSUYtTUlCCisrKysgYi90ZXN0L2R1bXBzL3NtaW5nL0lGLU1JQgorQEAgLTEsMTYgKzEsMTggQEAKKyAvLworLS8vIFRoaXMgbW9kdWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBzbWlkdW1wIDAuNC41LiBEbyBub3QgZWRpdC4KKysvLyBUaGlzIG1vZHVsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgc21pZHVtcCAwLjQuOC4gRG8gbm90IGVkaXQuCisgLy8KKyBtb2R1bGUgSUYtTUlCIHsKKyAKKy0gIGltcG9ydCBJQU5BaWZUeXBlLU1JQiAgICAgICAoSUFOQWlmVHlwZSk7CistICBpbXBvcnQgSVJURi1OTVJHLVNNSU5HICAgICAgKENvdW50ZXIzMiwgQ291bnRlcjY0LCAKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheVN0cmluZzI1NSwgR2F1Z2UzMiwgCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBoeXNBZGRyZXNzLCBUaW1lU3RhbXAsIFRpbWVUaWNrcywgCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRydXRoVmFsdWUpOworLSAgaW1wb3J0IElSVEYtTk1SRy1TTUlORy1TTk1QIChBdXRvbm9tb3VzVHlwZSwgUm93U3RhdHVzLCAKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVzdEFuZEluY3IsIG1pYi0yKTsKKy0gIGltcG9ydCBTTk1QdjItTUlCICAgICAgICAgICAoc25tcFRyYXBzKTsKKysgIGltcG9ydCBTTk1QdjItU01JICAgICAoTU9EVUxFLUlERU5USVRZLCBPQkpFQ1QtVFlQRSwgQ291bnRlcjMyLCAKKysgICAgICAgICAgICAgICAgICAgICAgICAgR2F1Z2UzMiwgQ291bnRlcjY0LCBJbnRlZ2VyMzIsIFRpbWVUaWNrcywgCisrICAgICAgICAgICAgICAgICAgICAgICAgIG1pYi0yLCBOT1RJRklDQVRJT04tVFlQRSk7CisrICBpbXBvcnQgU05NUHYyLVRDICAgICAgKFRFWFRVQUwtQ09OVkVOVElPTiwgRGlzcGxheVN0cmluZywgCisrICAgICAgICAgICAgICAgICAgICAgICAgIFBoeXNBZGRyZXNzLCBUcnV0aFZhbHVlLCBSb3dTdGF0dXMsIAorKyAgICAgICAgICAgICAgICAgICAgICAgICBUaW1lU3RhbXAsIEF1dG9ub21vdXNUeXBlLCBUZXN0QW5kSW5jcik7CisrICBpbXBvcnQgU05NUHYyLUNPTkYgICAgKE1PRFVMRS1DT01QTElBTkNFLCBPQkpFQ1QtR1JPVVAsIAorKyAgICAgICAgICAgICAgICAgICAgICAgICBOT1RJRklDQVRJT04tR1JPVVApOworKyAgaW1wb3J0IFNOTVB2Mi1NSUIgICAgIChzbm1wVHJhcHMpOworKyAgaW1wb3J0IElBTkFpZlR5cGUtTUlCIChJQU5BaWZUeXBlKTsKKyAKKyAvLworIC8vIE1PRFVMRSBNRVRBIElORk9STUFUSU9OCitAQCAtNzksNiArODEsNyBAQCBtb2R1bGUgSUYtTUlCIHsKKyAgIHR5cGVkZWYgSW50ZXJmYWNlSW5kZXggeworICAgICB0eXBlICAgICAgICAgICAgSW50ZWdlcjMyICgxLi4yMTQ3NDgzNjQ3KTsKKyAgICAgZm9ybWF0ICAgICAgICAgICJkIjsKKysgICAgc3RhdHVzICAgICAgICAgIGN1cnJlbnQ7CisgICAgIGRlc2NyaXB0aW9uICAgICAKKyAgICAgICAgIkEgdW5pcXVlIHZhbHVlLCBncmVhdGVyIHRoYW4gemVybywgZm9yIGVhY2ggaW50ZXJmYWNlIG9yCisgICAgICAgICBpbnRlcmZhY2Ugc3ViLWxheWVyIGluIHRoZSBtYW5hZ2VkIHN5c3RlbS4gIEl0IGlzCitAQCAtOTEsNiArOTQsNyBAQCBtb2R1bGUgSUYtTUlCIHsKKyAgIHR5cGVkZWYgSW50ZXJmYWNlSW5kZXhPclplcm8geworICAgICB0eXBlICAgICAgICAgICAgSW50ZWdlcjMyICgwLi4yMTQ3NDgzNjQ3KTsKKyAgICAgZm9ybWF0ICAgICAgICAgICJkIjsKKysgICAgc3RhdHVzICAgICAgICAgIGN1cnJlbnQ7CisgICAgIGRlc2NyaXB0aW9uICAgICAKKyAgICAgICAgIlRoaXMgdGV4dHVhbCBjb252ZW50aW9uIGlzIGFuIGV4dGVuc2lvbiBvZiB0aGUKKyAgICAgICAgIEludGVyZmFjZUluZGV4IGNvbnZlbnRpb24uICBUaGUgbGF0dGVyIGRlZmluZXMgYSBncmVhdGVyCitkaWZmIC0tZ2l0IGEvdGVzdC9kdW1wcy9zbWluZy9NQVUtTUlCIGIvdGVzdC9kdW1wcy9zbWluZy9NQVUtTUlCCitpbmRleCAyY2ZmZDk5Li42NGNmNzE0IDEwMDY0NAorLS0tIGEvdGVzdC9kdW1wcy9zbWluZy9NQVUtTUlCCisrKysgYi90ZXN0L2R1bXBzL3NtaW5nL01BVS1NSUIKK0BAIC0xLDE1ICsxLDE4IEBACisgLy8KKy0vLyBUaGlzIG1vZHVsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgc21pZHVtcCAwLjQuNS4gRG8gbm90IGVkaXQuCisrLy8gVGhpcyBtb2R1bGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHNtaWR1bXAgMC40LjguIERvIG5vdCBlZGl0LgorIC8vCisgbW9kdWxlIE1BVS1NSUIgeworIAorLSAgaW1wb3J0IElBTkEtTUFVLU1JQiAgICAgICAgIChJQU5BaWZKYWNrVHlwZSwgCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElBTkFpZk1hdUF1dG9OZWdDYXBCaXRzLCAKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSUFOQWlmTWF1TWVkaWFBdmFpbGFibGUsIAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJQU5BaWZNYXVUeXBlTGlzdEJpdHMpOworLSAgaW1wb3J0IElGLU1JQiAgICAgICAgICAgICAgIChJbnRlcmZhY2VJbmRleCk7CistICBpbXBvcnQgSVJURi1OTVJHLVNNSU5HICAgICAgKENvdW50ZXIzMiwgQ291bnRlcjY0LCBUcnV0aFZhbHVlKTsKKy0gIGltcG9ydCBJUlRGLU5NUkctU01JTkctU05NUCAoQXV0b25vbW91c1R5cGUsIG1pYi0yKTsKKysgIGltcG9ydCBTTk1QdjItU01JICAgKENvdW50ZXIzMiwgSW50ZWdlcjMyLCBDb3VudGVyNjQsIE9CSkVDVC1UWVBFLCAKKysgICAgICAgICAgICAgICAgICAgICAgIE1PRFVMRS1JREVOVElUWSwgTk9USUZJQ0FUSU9OLVRZUEUsIG1pYi0yKTsKKysgIGltcG9ydCBTTk1QdjItVEMgICAgKFRydXRoVmFsdWUsIEF1dG9ub21vdXNUeXBlLCAKKysgICAgICAgICAgICAgICAgICAgICAgIFRFWFRVQUwtQ09OVkVOVElPTik7CisrICBpbXBvcnQgU05NUHYyLUNPTkYgIChPQkpFQ1QtR1JPVVAsIE1PRFVMRS1DT01QTElBTkNFLCAKKysgICAgICAgICAgICAgICAgICAgICAgIE5PVElGSUNBVElPTi1HUk9VUCk7CisrICBpbXBvcnQgSUYtTUlCICAgICAgIChJbnRlcmZhY2VJbmRleCk7CisrICBpbXBvcnQgSUFOQS1NQVUtTUlCIChJQU5BaWZNYXVUeXBlTGlzdEJpdHMsIAorKyAgICAgICAgICAgICAgICAgICAgICAgSUFOQWlmTWF1TWVkaWFBdmFpbGFibGUsIAorKyAgICAgICAgICAgICAgICAgICAgICAgSUFOQWlmTWF1QXV0b05lZ0NhcEJpdHMsIElBTkFpZkphY2tUeXBlKTsKKyAKKyAvLworIC8vIE1PRFVMRSBNRVRBIElORk9STUFUSU9OCitkaWZmIC0tZ2l0IGEvdGVzdC9kdW1wcy9zbWluZy9STU9OMi1NSUIgYi90ZXN0L2R1bXBzL3NtaW5nL1JNT04yLU1JQgoraW5kZXggNDIzYjliYy4uMDQ3NjNlNSAxMDA2NDQKKy0tLSBhL3Rlc3QvZHVtcHMvc21pbmcvUk1PTjItTUlCCisrKysgYi90ZXN0L2R1bXBzL3NtaW5nL1JNT04yLU1JQgorQEAgLTEsMjMgKzEsMjYgQEAKKyAvLworLS8vIFRoaXMgbW9kdWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBzbWlkdW1wIDAuNC41LiBEbyBub3QgZWRpdC4KKysvLyBUaGlzIG1vZHVsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgc21pZHVtcCAwLjQuOC4gRG8gbm90IGVkaXQuCisgLy8KKyBtb2R1bGUgUk1PTjItTUlCIHsKKyAKKy0gIGltcG9ydCBJRi1NSUIgICAgICAgICAgICAgICAoaWZJbmRleCk7CistICBpbXBvcnQgSVJURi1OTVJHLVNNSU5HICAgICAgKENvdW50ZXIzMiwgRGlzcGxheVN0cmluZzI1NSwgCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdhdWdlMzIsIElwQWRkcmVzcywgVGltZVN0YW1wLCAKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGltZVRpY2tzKTsKKy0gIGltcG9ydCBJUlRGLU5NUkctU01JTkctU05NUCAoUm93U3RhdHVzLCBtaWItMik7CistICBpbXBvcnQgUk1PTi1NSUIgICAgICAgICAgICAgKE93bmVyU3RyaW5nLCBjaGFubmVsRW50cnksIAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldGhlclN0YXRzRW50cnksIGZpbHRlciwgCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlckVudHJ5LCBoaXN0b3J5LCAKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlzdG9yeUNvbnRyb2xFbnRyeSwgCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvc3RDb250cm9sRW50cnksIGhvc3RzLCBtYXRyaXgsIAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRyaXhDb250cm9sRW50cnksIHN0YXRpc3RpY3MpOworLSAgaW1wb3J0IFRPS0VOLVJJTkctUk1PTi1NSUIgIChyaW5nU3RhdGlvbkNvbnRyb2xFbnRyeSwgCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZVJvdXRpbmdTdGF0c0VudHJ5LCAKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW5SaW5nLCB0b2tlblJpbmdNTFN0YXRzRW50cnksIAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2tlblJpbmdQU3RhdHNFbnRyeSk7CisrICBpbXBvcnQgU05NUHYyLVNNSSAgICAgICAgICAoTU9EVUxFLUlERU5USVRZLCBPQkpFQ1QtVFlQRSwgCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ291bnRlcjMyLCBJbnRlZ2VyMzIsIEdhdWdlMzIsIAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElwQWRkcmVzcywgVGltZVRpY2tzLCBtaWItMik7CisrICBpbXBvcnQgU05NUHYyLVRDICAgICAgICAgICAoVEVYVFVBTC1DT05WRU5USU9OLCBSb3dTdGF0dXMsIAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXlTdHJpbmcsIFRpbWVTdGFtcCk7CisrICBpbXBvcnQgU05NUHYyLUNPTkYgICAgICAgICAoTU9EVUxFLUNPTVBMSUFOQ0UsIE9CSkVDVC1HUk9VUCk7CisrICBpbXBvcnQgSUYtTUlCICAgICAgICAgICAgICAoaWZJbmRleCk7CisrICBpbXBvcnQgUk1PTi1NSUIgICAgICAgICAgICAoT3duZXJTdHJpbmcsIHN0YXRpc3RpY3MsIGhpc3RvcnksIAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvc3RzLCBtYXRyaXgsIGZpbHRlciwgCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXRoZXJTdGF0c0VudHJ5LCAKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaXN0b3J5Q29udHJvbEVudHJ5LCAKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBob3N0Q29udHJvbEVudHJ5LCAKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRyaXhDb250cm9sRW50cnksIGZpbHRlckVudHJ5LCAKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFubmVsRW50cnkpOworKyAgaW1wb3J0IFRPS0VOLVJJTkctUk1PTi1NSUIgKHRva2VuUmluZywgdG9rZW5SaW5nTUxTdGF0c0VudHJ5LCAKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2tlblJpbmdQU3RhdHNFbnRyeSwgCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmluZ1N0YXRpb25Db250cm9sRW50cnksIAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZVJvdXRpbmdTdGF0c0VudHJ5KTsKKyAKKyAvLworIC8vIE1PRFVMRSBNRVRBIElORk9STUFUSU9OCitAQCAtMTY3LDYgKzE3MCw3IEBAIG1vZHVsZSBSTU9OMi1NSUIgeworIAorICAgdHlwZWRlZiBaZXJvQmFzZWRDb3VudGVyMzIgeworICAgICB0eXBlICAgICAgICAgICAgR2F1Z2UzMjsKKysgICAgc3RhdHVzICAgICAgICAgIGN1cnJlbnQ7CisgICAgIGRlc2NyaXB0aW9uICAgICAKKyAgICAgICAgIlRoaXMgVEMgZGVzY3JpYmVzIGFuIG9iamVjdCB0aGF0IGNvdW50cyBldmVudHMgd2l0aCB0aGUKKyAgICAgICAgIGZvbGxvd2luZyBzZW1hbnRpY3M6IG9iamVjdHMgb2YgdGhpcyB0eXBlIHdpbGwgYmUgc2V0IHRvCitAQCAtMTg4LDYgKzE5Miw3IEBAIG1vZHVsZSBSTU9OMi1NSUIgeworIAorICAgdHlwZWRlZiBMYXN0Q3JlYXRlVGltZSB7CisgICAgIHR5cGUgICAgICAgICAgICBUaW1lVGlja3M7CisrICAgIHN0YXR1cyAgICAgICAgICBjdXJyZW50OworICAgICBkZXNjcmlwdGlvbiAgICAgCisgICAgICAgICJUaGlzIFRDIGRlc2NyaWJlcyBhbiBvYmplY3QgdGhhdCBzdG9yZXMgdGhlIHZhbHVlIG9mIHRoZQorICAgICAgICAgc3lzVXBUaW1lIG9iamVjdCBhdCB0aGUgbGFzdCB0aW1lIGl0cyBlbnRyeSB3YXMgY3JlYXRlZC4KK0BAIC0yMDgsNiArMjEzLDcgQEAgbW9kdWxlIFJNT04yLU1JQiB7CisgCisgICB0eXBlZGVmIFRpbWVGaWx0ZXIgeworICAgICB0eXBlICAgICAgICAgICAgVGltZVRpY2tzOworKyAgICBzdGF0dXMgICAgICAgICAgY3VycmVudDsKKyAgICAgZGVzY3JpcHRpb24gICAgIAorICAgICAgICAiVG8gYmUgdXNlZCBmb3IgdGhlIGluZGV4IHRvIGEgdGFibGUuICBBbGxvd3MgYW4gYXBwbGljYXRpb24KKyAgICAgICAgIHRvIGRvd25sb2FkIG9ubHkgdGhvc2Ugcm93cyBjaGFuZ2VkIHNpbmNlIGEgcGFydGljdWxhciB0aW1lLgorQEAgLTQyNCw2ICs0MzAsNyBAQCBtb2R1bGUgUk1PTjItTUlCIHsKKyAKKyAgIHR5cGVkZWYgRGF0YVNvdXJjZSB7CisgICAgIHR5cGUgICAgICAgICAgICBPYmplY3RJZGVudGlmaWVyOworKyAgICBzdGF0dXMgICAgICAgICAgY3VycmVudDsKKyAgICAgZGVzY3JpcHRpb24gICAgIAorICAgICAgICAiSWRlbnRpZmllcyB0aGUgc291cmNlIG9mIHRoZSBkYXRhIHRoYXQgdGhlIGFzc29jaWF0ZWQKKyAgICAgICAgIGZ1bmN0aW9uIGlzIGNvbmZpZ3VyZWQgdG8gYW5hbHl6ZS4gIFRoaXMgc291cmNlIGNhbiBiZSBhbnkKK0BAIC00MzksNiArNDQ2LDcgQEAgbW9kdWxlIFJNT04yLU1JQiB7CisgCisgICB0eXBlZGVmIENvbnRyb2xTdHJpbmcgeworICAgICB0eXBlICAgICAgICAgICAgT2N0ZXRTdHJpbmcgKDAuLjI1NSk7CisrICAgIHN0YXR1cyAgICAgICAgICBjdXJyZW50OworICAgICBkZXNjcmlwdGlvbiAgICAgCisgICAgICAgICJUaGlzIGRhdGEgdHlwZSBpcyB1c2VkIHRvIGNvbW11bmljYXRlIHdpdGggYSBtb2RlbSBvciBhCisgICAgICAgICAKK2RpZmYgLS1naXQgYS90ZXN0L2R1bXBzL3NtaW5nL1NOTVB2Mi1NSUIgYi90ZXN0L2R1bXBzL3NtaW5nL1NOTVB2Mi1NSUIKK2luZGV4IGNhMzU1YzguLjBjODg5MzkgMTAwNjQ0CistLS0gYS90ZXN0L2R1bXBzL3NtaW5nL1NOTVB2Mi1NSUIKKysrKyBiL3Rlc3QvZHVtcHMvc21pbmcvU05NUHYyLU1JQgorQEAgLTEsMTEgKzEsMTQgQEAKKyAvLworLS8vIFRoaXMgbW9kdWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBzbWlkdW1wIDAuNC41LiBEbyBub3QgZWRpdC4KKysvLyBUaGlzIG1vZHVsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgc21pZHVtcCAwLjQuOC4gRG8gbm90IGVkaXQuCisgLy8KKyBtb2R1bGUgU05NUHYyLU1JQiB7CisgCistICBpbXBvcnQgSVJURi1OTVJHLVNNSU5HICAgICAgKENvdW50ZXIzMiwgRGlzcGxheVN0cmluZzI1NSwgCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRpbWVTdGFtcCwgVGltZVRpY2tzLCBzbm1wTW9kdWxlcyk7CistICBpbXBvcnQgSVJURi1OTVJHLVNNSU5HLVNOTVAgKFRlc3RBbmRJbmNyLCBtaWItMik7CisrICBpbXBvcnQgU05NUHYyLVNNSSAgKE1PRFVMRS1JREVOVElUWSwgT0JKRUNULVRZUEUsIAorKyAgICAgICAgICAgICAgICAgICAgICBOT1RJRklDQVRJT04tVFlQRSwgVGltZVRpY2tzLCBDb3VudGVyMzIsIAorKyAgICAgICAgICAgICAgICAgICAgICBzbm1wTW9kdWxlcywgbWliLTIpOworKyAgaW1wb3J0IFNOTVB2Mi1UQyAgIChEaXNwbGF5U3RyaW5nLCBUZXN0QW5kSW5jciwgVGltZVN0YW1wKTsKKysgIGltcG9ydCBTTk1QdjItQ09ORiAoTU9EVUxFLUNPTVBMSUFOQ0UsIE9CSkVDVC1HUk9VUCwgCisrICAgICAgICAgICAgICAgICAgICAgIE5PVElGSUNBVElPTi1HUk9VUCk7CisgCisgLy8KKyAvLyBNT0RVTEUgTUVUQSBJTkZPUk1BVElPTgorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNtaS9saWJzbWkvc21pLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNtaS9saWJzbWkvc21pLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2U0ZGE4NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic21pL2xpYnNtaS9zbWkuY29uZgpAQCAtMCwwICsxLDQ4IEBACisjCisjIHNtaS5jb25mIC0gR2xvYmFsL1VzZXIgU01JIGNvbmZpZ3VyYXRpb24gZmlsZS4gKEVYQU1QTEUpCisjCisjIENvcHlyaWdodCAoYykgMjAwMCBGcmFuayBTdHJhdXNzLCBUZWNobmljYWwgVW5pdmVyc2l0eSBvZiBCcmF1bnNjaHdlaWcuCisjCisjIFNlZSB0aGUgZmlsZSAiQ09QWUlORyIgZm9yIGluZm9ybWF0aW9uIG9uIHVzYWdlIGFuZCByZWRpc3RyaWJ1dGlvbgorIyBvZiB0aGlzIGZpbGUsIGFuZCBmb3IgYSBESVNDTEFJTUVSIE9GIEFMTCBXQVJSQU5USUVTLgorIworIyBAKCMpICRJZDogc21pLmNvbmYtZXhhbXBsZSAxMTM0IDIwMDEtMDYtMTEgMDk6NTk6MTNaIHN0cmF1c3MgJAorIworIworIyBTZWUgc21pX2NvbmZpZygzKSBmb3IgZGV0YWlsZWQgaW5mb3JtYXRpb24gb24gY29uZmlndXJhdGlvbiBmaWxlcy4KKyMKKworIyBFeHRlbmQgKG5vdGUgdGhlIHNlbWljb2xvbikgdGhlIGxpYnNtaSBkZWZhdWx0IG1vZHVsZSBzZWFyY2ggcGF0aC4KK3BhdGggOi91c3Ivc2hhcmUvbWlicy9pYW5hCitwYXRoIDovdXNyL3NoYXJlL21pYnMvaWV0ZgorcGF0aCA6L3Vzci9zaGFyZS9taWJzL2lydGYKK3BhdGggOi91c3Ivc2hhcmUvbWlicy90dWJzCisKKyMgRVhQRVJJTUVOVEFMOiBBZGQgYSBjYWNoaW5nIG1ldGhvZCAod29ya3Mgb25seSBvbiBVTklYIHN5c3RlbXMpLgorIyBOT1RFOiB0aGUgY2FjaGUgZGlyZWN0b3J5IG11c3QgZXhpc3QgYW5kIHBlcm1pc3Npb25zIG11c3QgYmUKKyMgaGFuZGxlZCBhcHByb3ByaWF0ZWx5LiBBIHNpbXBsZSBidXQgaW5zZWN1cmUgd2F5IGlzIHRvIGFwcGx5CisjIGEgdG1wIGZsYWcgdG8gdGhlIGRpcmVjdG9yeSAoY2htb2QgMTc3NyAvdXNyL2xvY2FsL3NoYXJlL21pYnMvY2FjaGUpLgorI2NhY2hlIC91c3IvbG9jYWwvc2hhcmUvbWlicy9jYWNoZSAvdXNyL2xvY2FsL2Jpbi9zbWljYWNoZSAtZCAvdXNyL2xvY2FsL3NoYXJlL21pYnMvY2FjaGUgLXAgaHR0cDovL3d3dy5pYnIuY3MudHUtYnMuZGUvcHJvamVjdHMvbGlic21pL3NtaWNhY2hlLworCisjIERvbid0IHNob3cgYW55IGVycm9ycyBieSBkZWZhdWx0LgorbGV2ZWwgMAorCisjIFByZWxvYWQgc29tZSBiYXNpYyBTTUl2MiBtb2R1bGVzLgorbG9hZCBTTk1QdjItU01JCitsb2FkIFNOTVB2Mi1UQworbG9hZCBTTk1QdjItQ09ORgorCisjIE1ha2Ugc21pbGludCBzaG91dCBsb3VkIHRvIHJlcG9ydCBhbGwgZXJyb3JzIGFuZCB3YXJuaW5ncy4KK3NtaWxpbnQ6IGxldmVsIDkKKworIyBCdXQgcGxlYXNlIGRvbid0IGNsYWltIGFib3V0IGFueSBuYW1lcyBsb25nZXIgdGhhbiAzMiBjaGFycy4KKyMgKG5vdGU6IHRoaXMgaXMgdGhlIHByZWZpeCBvZiBlcnJvcnMgYG5hbWVsZW5ndGgtMzItbW9kdWxlLAorIyAgLXR5cGUsIC1vYmplY3QsIC1lbnVtZXJhdGlvbiwgYW5kIC1iaXQpCitzbWlsaW50OiBoaWRlIG5hbWVsZW5ndGgtMzIKKworIyBQcmVsb2FkaW5nIHNvbWUgbW9yZSBtb2R1bGVzIGZvciBzcGVjaWFsIGFwcGxpY2F0aW9ucy4KK3RjcGR1bXA6IGxvYWQgRElTTUFOLVNDUklQVC1NSUIKK3RjcGR1bXA6IGxvYWQgSUYtTUlCCisKK3NtaXF1ZXJ5OiBsb2FkIElGLU1JQgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNtaS9saWJzbWlfMC41LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNtaS9saWJzbWlfMC41LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjA0OTA2NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic21pL2xpYnNtaV8wLjUuMC5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gIkEgTGlicmFyeSB0byBBY2Nlc3MgU01JIE1JQiBJbmZvcm1hdGlvbiIKK0hPTUVQQUdFID0gImh0dHBzOi8vd3d3Lmlici5jcy50dS1icy5kZS9wcm9qZWN0cy9saWJzbWkiCisKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9M2FkMzA3NmY5MzMyMzQzYTIxNjM2Y2ZkMzUxZjA1YjciCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly93d3cuaWJyLmNzLnR1LWJzLmRlL3Byb2plY3RzLyR7QlBOfS9kb3dubG9hZC8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vc21pLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vbGlic21pLWZpeC10aGUtdGVzdC1kdW1wLWZpbGVzLnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0YmY0NzQ4M2MwNmM5ZjA3ZDFiMTBmYmM3NGVkZGYxMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmMjFhY2NkYWRiMWJiMzI4ZWEzZjhhMTNmYzM0ZDcxNWJhYWM2ZTJkYjY2MDY1ODk4MzQ2MzIyYzcyNTc1NGQzIgorCitpbmhlcml0IGF1dG90b29scworCitFWFRSQV9PRUNPTkYgPSAiYWNfY3ZfcGF0aF9TSD0ke2Jhc2VfYmluZGlyfS9zaCIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9zbWkuY29uZiAke0R9JHtzeXNjb25mZGlyfS9zbWkuY29uZgorfQorCitQQUNLQUdFUyArPSAiJHtQTn0tbWlicyAke1BOfS1waWJzICR7UE59LXlhbmciCisKK0ZJTEVTXyR7UE59LW1pYnMgKz0gIiR7ZGF0YWRpcn0vbWlicyIKK0ZJTEVTXyR7UE59LXBpYnMgKz0gIiR7ZGF0YWRpcn0vcGlicyIKK0ZJTEVTXyR7UE59LXlhbmcgKz0gIiR7ZGF0YWRpcn0veWFuZyIKKworUlJFQ09NTUVORFNfJHtQTn0gPSAiJHtCUE59LW1pYnMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNvYy9saWJzb2NfMC43LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNvYy9saWJzb2NfMC43LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTExZTBiYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic29jL2xpYnNvY18wLjcuMS5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIkxpYnJhcnkgZm9yIGludGVyZmFjaW5nIHdpdGggY29tbW9uIFNvQyBwZXJpcGhlcmFscyIKK0RFU0NSSVBUSU9OID0gImxpYnNvYyBpcyBhIEMgbGlicmFyeSB0byBpbnRlcmZhY2Ugd2l0aCBjb21tb24gcGVyaXBoZXJhbHMgKGdwaW8sIGkyYywgc3BpLCBwd20pIFwKKyAgICAgICAgICAgICAgIGZvdW5kIGluIFNvQyAoU3lzdGVtIG9uIENoaXBzKSB0aHJvdWdoIGdlbmVyaWMgTGludXggS2VybmVsIGludGVyZmFjZXMuIgorCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vamFja21pdGNoL2xpYnNvYyIKKworTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWUwYmZlYmVhMTJhNzE4OTIyMjI1YmE5ODdiMjEyNmE1IgorCitpbmhlcml0IGF1dG90b29scworCitTUkNSRVYgPSAiMjkxOWMzNWU3MDZmZTdjMzExZjgzZjkzNDM4NjU0MjBmYTRiMzdmZSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9qYWNrbWl0Y2gvbGlic29jLmdpdCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworUkRFUEVORFNfJHtQTn0gPSAibGliZ2NjIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzb2RpdW0vbGlic29kaXVtXzEuMC44LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzb2RpdW0vbGlic29kaXVtXzEuMC44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyZWVmNGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNvZGl1bS9saWJzb2RpdW1fMS4wLjguYmIKQEAgLTAsMCArMSwxMSBAQAorU1VNTUFSWSA9ICJUaGUgU29kaXVtIGNyeXB0byBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL2xpYnNvZGl1bS5vcmcvIgorTElDRU5TRSA9ICJJU0MiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0wOTJhMDliNzhjM2JlNDg2ZmFjODA3NDM1YmYxN2I3YSIKKworU1JDX1VSSSA9ICJodHRwczovL2Rvd25sb2FkLmxpYnNvZGl1bS5vcmcvbGlic29kaXVtL3JlbGVhc2VzLyR7QlBOfS0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwYTY2Yjg2ZmQzYWFiM2ZlNGM4NThlZGNkMjc3Mjc2MCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjMGYxOTFkMjUyNzg1MjY0MWUwYTk5NmI3YjEwNmQyZTA0Y2JjNzZlYTUwNzMxYjJkMGJhYmQzNDA5MzAxOTI2IgorCitpbmhlcml0IGF1dG90b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzc2gvbGlic3NoXzAuNy4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzc2gvbGlic3NoXzAuNy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3MWUxYWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNzaC9saWJzc2hfMC43LjEuYmIKQEAgLTAsMCArMSwzMyBAQAorU1VNTUFSWSA9ICJNdWx0aXBsYXRmb3JtIEMgbGlicmFyeSBpbXBsZW1lbnRpbmcgdGhlIFNTSHYyIGFuZCBTU0h2MSBwcm90b2NvbCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubGlic3NoLm9yZyIKK1NFQ1RJT04gPSAibGlicyIKKworREVQRU5EUyA9ICJ6bGliIG9wZW5zc2wgbGliZ2NyeXB0IgorCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9Mzg4YTRmYjFkZWE4Y2VhZTBiZTc4YmE5YjAxZmMxMzkiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LmxpYnNzaC5vcmcvcHJvamVjdHMvbGlic3NoLmdpdDticmFuY2g9djAtNyIKK1NSQ1JFViA9ICIwNTNmNzJjNjcxYTgzYjMyMjM4ZGMwMWI1NmE2Njc1MmZiMTViN2VjIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworRVhUUkFfT0VDTUFLRSA9ICIgXAorICAgIC1EV0lUSF9HQ1JZUFQ9MSBcCisgICAgLURXSVRIX1BDQVA9MSBcCisgICAgLURXSVRIX1NGVFA9MSBcCisgICAgLURXSVRIX1pMSUI9MSBcCisgICAgLURMSUJfU1VGRklYPSR7QGQuZ2V0VmFyKCdiYXNlbGliJywgVHJ1ZSkucmVwbGFjZSgnbGliJywgJycpfSBcCisgICAgIgorCitQQUNLQUdFQ09ORklHID8/PSIiCitQQUNLQUdFQ09ORklHW2dzc2FwaV0gPSAiLURXSVRIX0dTU0FQST0xLCAtRFdJVEhfR1NTQVBJPTAsIGtyYjUsICIKKworaW5oZXJpdCBjbWFrZQorCitkb19jb25maWd1cmVfcHJlcGVuZCAoKSB7CisgICAgIyBEaXNhYmxlIGJ1aWxkaW5nIG9mIGV4YW1wbGVzCisgICAgc2VkIC1pIC1lICcvYWRkX3N1YmRpcmVjdG9yeShleGFtcGxlcykvcy9eLyNET05PVFdBTlQvJyAke1N9L0NNYWtlTGlzdHMudHh0IFwKKyAgICAgICAgfHwgYmJmYXRhbCAiRmFpbGVkIHRvIGRpc2FibGUgZXhhbXBsZXMiCit9CisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2NtYWtlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzc2gyL2xpYnNzaDJfMS42LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNzaDIvbGlic3NoMl8xLjYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNDMxNjRlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzc2gyL2xpYnNzaDJfMS42LjAuYmIKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSA9ICJBIGNsaWVudC1zaWRlIEMgbGlicmFyeSBpbXBsZW1lbnRpbmcgdGhlIFNTSDIgcHJvdG9jb2wiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmxpYnNzaDIub3JnLyIKK1NFQ1RJT04gPSAibGlicyIKKworREVQRU5EUyA9ICJ6bGliIgorCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM1Y2YzNGZjMGFjYjQ0YjA4MmVmNTBlZjVlNDM1NGNhIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubGlic3NoMi5vcmcvZG93bmxvYWQvJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjAwYWFiZDZlNzE0YTVmNDJhNGZiODJhY2UyMGRiMWRkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVhMjAyOTQzYTM0YTFkODJhMWMzMWY3NDA5NGYyNDUzYzIwN2JmOTkzNjA5Mzg2N2Y0MTQxNDk2OGM4ZTgyMTUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgKz0gIlwKKyAgICAgICAgICAgICAgICAgLS13aXRoLWxpYnogXAorICAgICAgICAgICAgICAgICAtLXdpdGgtbGliei1wcmVmaXg9JHtTVEFHSU5HX0xJQkRJUn0gXAorICAgICAgICAgICAgICAgICIKKworIyBvbmx5IG9uZSBvZiBvcGVuc3NsIGFuZCBnY3J5cHQgY291bGQgYmUgc2V0CitQQUNLQUdFQ09ORklHID8/PSAib3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLW9wZW5zc2wgLS13aXRoLWxpYnNzbC1wcmVmaXg9JHtTVEFHSU5HX0xJQkRJUn0sLS13aXRob3V0LW9wZW5zc2wsb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbZ2NyeXB0XSA9ICItLXdpdGgtbGliZ2NyeXB0IC0td2l0aC1saWJnY3J5cHQtcHJlZml4PSR7U1RBR0lOR19FWEVDUFJFRklYRElSfSwtLXdpdGhvdXQtbGliZ2NyeXB0LGxpYmdjcnlwdCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidGlueXhtbC9saWJ0aW55eG1sL2VuZm9yY2UtdXNlLXN0bC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidGlueXhtbC9saWJ0aW55eG1sL2VuZm9yY2UtdXNlLXN0bC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OGM5NjJiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ0aW55eG1sL2xpYnRpbnl4bWwvZW5mb3JjZS11c2Utc3RsLnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKK0Rlc2NyaXB0aW9uOiBUaW55WG1sIGlzIGJ1aWx0IHdpdGggVElYTUxfVVNFX1NUTCwgc28gd2UgaGF2ZSB0bworIGVuZm9yY2UgaXQgd2hlbiB0aGUgbGlicmFyeSBpcyB1c2VkLgorQXV0aG9yOiBGZWxpeCBHZXllciA8ZGViZngtcGtnQGZvYm9zLmRlPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworZGlmZiAtTnVyIHRpbnl4bWwtMi41LjMvdGlueXhtbC5oIHRpbnl4bWwtMi41LjMucGF0Y2gvdGlueXhtbC5oCistLS0gdGlueXhtbC0yLjUuMy90aW55eG1sLmgJMjAwNy0wNS0wNyAwMDo0MToyMy4wMDAwMDAwMDAgKzAyMDAKKysrKyB0aW55eG1sLTIuNS4zLnBhdGNoL3Rpbnl4bWwuaAkyMDA5LTA3LTA4IDIyOjMyOjAzLjAwMDAwMDAwMCArMDIwMAorQEAgLTI2LDYgKzI2LDEwIEBACisgI2lmbmRlZiBUSU5ZWE1MX0lOQ0xVREVECisgI2RlZmluZSBUSU5ZWE1MX0lOQ0xVREVECisgCisrI2lmbmRlZiBUSVhNTF9VU0VfU1RMCisrCSNkZWZpbmUgVElYTUxfVVNFX1NUTAorKyNlbmRpZgorKworICNpZmRlZiBfTVNDX1ZFUgorICNwcmFnbWEgd2FybmluZyggcHVzaCApCisgI3ByYWdtYSB3YXJuaW5nKCBkaXNhYmxlIDogNDUzMCApCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnRpbnl4bWwvbGlidGlueXhtbC9lbnRpdHktZW5jb2RpbmcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnRpbnl4bWwvbGlidGlueXhtbC9lbnRpdHktZW5jb2RpbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjgwMTUwNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidGlueXhtbC9saWJ0aW55eG1sL2VudGl0eS1lbmNvZGluZy5wYXRjaApAQCAtMCwwICsxLDYyIEBACitEZXNjcmlwdGlvbjogVGlueVhNTCBpbmNvcnJlY3RseSBlbmNvZGVzIHRleHQgZWxlbWVudCBjb250YWluaW5nCisgYW4gYW1wZXJzYW5kIGZvbGxvd2VkIGJ5IGVpdGhlciB4IG9yICMuCisKK09yaWdpbjogaHR0cDovL3NvdXJjZWZvcmdlLm5ldC90cmFja2VyL2luZGV4LnBocD9mdW5jPWRldGFpbCZhaWQ9MzAzMTgyOCZncm91cF9pZD0xMzU1OSZhdGlkPTMxMzU1OQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworZGlmZiAtdSAtcjEuMTA1IHRpbnl4bWwuY3BwCistLS0gYS90aW55eG1sLmNwcAorKysrIGIvdGlueXhtbC5jcHAKK0BAIC01NywzMCArNTcsNyBAQAorIAl7CisgCQl1bnNpZ25lZCBjaGFyIGMgPSAodW5zaWduZWQgY2hhcikgc3RyW2ldOworIAorLQkJaWYgKCAgICBjID09ICcmJyAKKy0JCSAgICAgJiYgaSA8ICggKGludClzdHIubGVuZ3RoKCkgLSAyICkKKy0JCQkgJiYgc3RyW2krMV0gPT0gJyMnCistCQkJICYmIHN0cltpKzJdID09ICd4JyApCistCQl7CistCQkJLy8gSGV4YWRlY2ltYWwgY2hhcmFjdGVyIHJlZmVyZW5jZS4KKy0JCQkvLyBQYXNzIHRocm91Z2ggdW5jaGFuZ2VkLgorLQkJCS8vICYjeEE5OwktLSBjb3B5cmlnaHQgc3ltYm9sLCBmb3IgZXhhbXBsZS4KKy0JCQkvLworLQkJCS8vIFRoZSAtMSBpcyBhIGJ1ZyBmaXggZnJvbSBSb2IgTGF2ZWF1eC4gSXQga2VlcHMKKy0JCQkvLyBhbiBvdmVyZmxvdyBmcm9tIGhhcHBlbmluZyBpZiB0aGVyZSBpcyBubyAnOycuCistCQkJLy8gVGhlcmUgYXJlIGFjdHVhbGx5IDIgd2F5cyB0byBleGl0IHRoaXMgbG9vcCAtCistCQkJLy8gd2hpbGUgZmFpbHMgKGVycm9yIGNhc2UpIGFuZCBicmVhayAoc2VtaWNvbG9uIGZvdW5kKS4KKy0JCQkvLyBIb3dldmVyLCB0aGVyZSBpcyBubyBtZWNoYW5pc20gKGN1cnJlbnRseSkgZm9yCistCQkJLy8gdGhpcyBmdW5jdGlvbiB0byByZXR1cm4gYW4gZXJyb3IuCistCQkJd2hpbGUgKCBpPChpbnQpc3RyLmxlbmd0aCgpLTEgKQorLQkJCXsKKy0JCQkJb3V0U3RyaW5nLT5hcHBlbmQoIHN0ci5jX3N0cigpICsgaSwgMSApOworLQkJCQkrK2k7CistCQkJCWlmICggc3RyW2ldID09ICc7JyApCistCQkJCQlicmVhazsKKy0JCQl9CistCQl9CistCQllbHNlIGlmICggYyA9PSAnJicgKQorKwkJaWYgKCBjID09ICcmJyApCisgCQl7CisgCQkJb3V0U3RyaW5nLT5hcHBlbmQoIGVudGl0eVswXS5zdHIsIGVudGl0eVswXS5zdHJMZW5ndGggKTsKKyAJCQkrK2k7CitkaWZmIC11IC1yMS44OSB4bWx0ZXN0LmNwcAorLS0tIGEveG1sdGVzdC5jcHAKKysrKyBiL3htbHRlc3QuY3BwCitAQCAtMTM0MCw2ICsxMzQwLDE2IEBACisgCQl9Ki8KKyAJfQorIAorKwkjaWZkZWYgVElYTUxfVVNFX1NUTAorKwl7CisrCQlUaVhtbERvY3VtZW50IHhtbDsKKysJCXhtbC5QYXJzZSgiPGZvbz5mb28mYW1wOyN4YStiYXI8L2Zvbz4iKTsKKysJCXN0ZDo6c3RyaW5nIHN0cjsKKysJCXN0ciA8PCB4bWw7CisrCQlYbWxUZXN0KCAiRW50aXR5IGVzY2FwaW5nIiwgIjxmb28+Zm9vJmFtcDsjeGErYmFyPC9mb28+Iiwgc3RyLmNfc3RyKCkgKTsKKysJfQorKwkjZW5kaWYKKysKKyAJLyogIDE0MTc3MTcgZXhwZXJpbWVudAorIAl7CisgCQlUaVhtbERvY3VtZW50IHhtbDsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidGlueXhtbC9saWJ0aW55eG1sXzIuNi4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ0aW55eG1sL2xpYnRpbnl4bWxfMi42LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTA5YTUzOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidGlueXhtbC9saWJ0aW55eG1sXzIuNi4yLmJiCkBAIC0wLDAgKzEsNDUgQEAKKyMgKGMpIENvcHlyaWdodCAyMDEyICBIZXdsZXR0LVBhY2thcmQgRGV2ZWxvcG1lbnQgQ29tcGFueSwgTC5QLiAKKworU1VNTUFSWSA9ICJhIHNpbXBsZSwgc21hbGwsIG1pbmltYWwsIEMrKyBYTUwgcGFyc2VyIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvdGlueXhtbCIKK0xJQ0VOU0UgPSAiWmxpYiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3JlYWRtZS50eHQ7bWQ1PWY4ZjM2NmYzMzcwZGRhODg5ZjYwZmFhN2RiMTYyY2Y0IgorU0VDVElPTiA9ICJsaWJzIgorCitQUiA9ICJyNSIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vdGlueXhtbC90aW55eG1sXyR7QCcke1BWfScucmVwbGFjZSgnLicsICdfJyl9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9lbmZvcmNlLXVzZS1zdGwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZW50aXR5LWVuY29kaW5nLnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gImMxYjg2NGM5NjgwNGExMDUyNjU0MGM2NjRhZGU2N2YwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjE1YmRmZGNlYzU4YTdkYTMwYWRjODdhYzJiMDc4ZTQ0MTdkYmU1MzkyZjNhZmI3MTlmOWJhNmQwNjI2NDU1OTMiCisKK1MgPSAiJHtXT1JLRElSfS90aW55eG1sIgorCitFWFRSQV9DWFhGTEFHUyA9ICItSS4gLWZQSUMiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgJHtDWFh9ICR7Q1hYRkxBR1N9ICR7RVhUUkFfQ1hYRkxBR1N9IC1jIC1vIHRpbnl4bWwubyB0aW55eG1sLmNwcAorICAgICR7Q1hYfSAke0NYWEZMQUdTfSAke0VYVFJBX0NYWEZMQUdTfSAtYyAtbyB0aW55eG1sZXJyb3IubyB0aW55eG1sZXJyb3IuY3BwCisgICAgJHtDWFh9ICR7Q1hYRkxBR1N9ICR7RVhUUkFfQ1hYRkxBR1N9IC1jIC1vIHRpbnl4bWxwYXJzZXIubyB0aW55eG1scGFyc2VyLmNwcAorICAgICR7Q1hYfSAke0NYWEZMQUdTfSBcCisgICAgICAgICAgICAtc2hhcmVkIFwKKyAgICAgICAgICAgIC1XbCwtc29uYW1lLGxpYnRpbnl4bWwuc28uJHtQVn0gXAorICAgICAgICAgICAgLW8gbGlidGlueXhtbC5zby4ke1BWfSBcCisgICAgICAgICAgICAke0xERkxBR1N9IFwKKyAgICAgICAgICAgIHRpbnl4bWwubyBcCisgICAgICAgICAgICB0aW55eG1scGFyc2VyLm8gXAorICAgICAgICAgICAgdGlueXhtbGVycm9yLm8KKworfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L2xpYnRpbnl4bWwuc28uJHtQVn0gJHtEfSR7bGliZGlyfQorICAgIGxuIC1zZiBsaWJ0aW55eG1sLnNvLiR7UFZ9ICR7RH0ke2xpYmRpcn0vbGlidGlueXhtbC5zbworCisgICAgaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfQorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3Rpbnl4bWwuaCAke0R9JHtpbmNsdWRlZGlyfQorfQorCitCQkNMQVNTRVhURU5EICs9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnRpbnl4bWwyL2xpYnRpbnl4bWwyXzMuMC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ0aW55eG1sMi9saWJ0aW55eG1sMl8zLjAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZjBiNzg1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ0aW55eG1sMi9saWJ0aW55eG1sMl8zLjAuMC5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIlRpbnlYTUwtMiBpcyBhIHNpbXBsZSwgc21hbGwsIGVmZmljaWVudCwgQysrIFhNTCBwYXJzZXIgdGhhdCBjYW4gYmUgZWFzaWx5IGludGVncmF0aW5nIGludG8gb3RoZXIgcHJvZ3JhbXMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmdyaW5uaW5nbGl6YXJkLmNvbS90aW55eG1sMi8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIlpsaWIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly90aW55eG1sMi5jcHA7ZW5kbGluZT0yMjttZDU9YzE5MjIxZGJkOGE2NmFkMzA5MDQ2MmFmNGM1ZGU1ZTciCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9sZWV0aG9tYXNvbi90aW55eG1sMi5naXQiCisKK1NSQ1JFViA9ICIxOTc3YTcyNThjYzY2ZmQ0ZGE3ZjFlOWRhMDVhNDkzMzY0NmE3ODAzIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGNtYWtlCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2JnL2xpYnVzYmcvMDAwMS1GaXgtb3V0LW9mLXRyZWUtYnVpbGRzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2JnL2xpYnVzYmcvMDAwMS1GaXgtb3V0LW9mLXRyZWUtYnVpbGRzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiZTQ5ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnVzYmcvbGlidXNiZy8wMDAxLUZpeC1vdXQtb2YtdHJlZS1idWlsZHMucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorRnJvbSA2MTE4YzZlYzEyOTFhNWM3MzFhYThkNGYwYzFlYjhjY2U0M2Q0N2FkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KK0RhdGU6IE1vbiwgNCBBdWcgMjAxNCAwOTowNDowOCArMDIwMAorU3ViamVjdDogW1BBVENIXSBGaXggb3V0LW9mLXRyZWUgYnVpbGRzCisKK1RoZSBpbmNsdWRlIGZsYWcgc2hvdWxkIHBvaW50IHRvIHRoZSBzb3VyY2UgZGlyZWN0b3J5LCBub3QgdGhlIGJ1aWxkCitkaXJlY3RvcnkuCisKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitVcHN0cmVhbS1zdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL2xpYnVzYmcvbGlidXNiZy9wdWxsLzldCistLS0KKyBleGFtcGxlcy9NYWtlZmlsZS5hbSB8IDIgKy0KKyBzcmMvTWFrZWZpbGUuYW0gICAgICB8IDIgKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2V4YW1wbGVzL01ha2VmaWxlLmFtIGIvZXhhbXBsZXMvTWFrZWZpbGUuYW0KK2luZGV4IGY5Zjk0MDcuLmVmNGY4MWUgMTAwNjQ0CistLS0gYS9leGFtcGxlcy9NYWtlZmlsZS5hbQorKysrIGIvZXhhbXBsZXMvTWFrZWZpbGUuYW0KK0BAIC0xLDUgKzEsNSBAQAorIGJpbl9QUk9HUkFNUyA9IHNob3ctZ2FkZ2V0cyBnYWRnZXQtYWNtLWVjbSAKKyBnYWRnZXRfYWNtX2VjbV9TT1VSQ0VTID0gZ2FkZ2V0LWFjbS1lY20uYworIHNob3dfZ2FkZ2V0c19TT1VSQ0VTID0gc2hvdy1nYWRnZXRzLmMKKy1BTV9DUFBGTEFHUz0tSS4uL2luY2x1ZGUvCisrQU1fQ1BQRkxBR1M9LUkkKHRvcF9zcmNkaXIpL2luY2x1ZGUvCisgQU1fTERGTEFHUz0tTC4uL3NyYy8gLWx1c2JnCitkaWZmIC0tZ2l0IGEvc3JjL01ha2VmaWxlLmFtIGIvc3JjL01ha2VmaWxlLmFtCitpbmRleCBkOTU1YTRjLi4yZjcxMzY2IDEwMDY0NAorLS0tIGEvc3JjL01ha2VmaWxlLmFtCisrKysgYi9zcmMvTWFrZWZpbGUuYW0KK0BAIC0xLDQgKzEsNCBAQAorIGxpYl9MVExJQlJBUklFUyA9IGxpYnVzYmcubGEKKyBsaWJ1c2JnX2xhX1NPVVJDRVMgPSB1c2JnLmMKKyBsaWJ1c2JnX2xhX0xERkxBR1MgPSAtdmVyc2lvbi1pbmZvIDA6MTowCistQU1fQ1BQRkxBR1M9LUkuLi9pbmNsdWRlLworK0FNX0NQUEZMQUdTPS1JJCh0b3Bfc3JjZGlyKS9pbmNsdWRlLworLS0gCisxLjkuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnVzYmcvbGlidXNiZ19naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnVzYmcvbGlidXNiZ19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTdkNjBhNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiZy9saWJ1c2JnX2dpdC5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIlVTQiBHYWRnZXQgQ29uZmlnZnMgTGlicmFyeSIKKworTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MR1BMO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworUFYgPSAiMC4xLjAiCitTUkNSRVYgPSAiYTgyNmQxMzZlMGU4ZmE1MzgxNWYxYmEwNTg5M2U2ZGQ3NDIwOGMxNSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9saWJ1c2JnL2xpYnVzYmcuZ2l0IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LW91dC1vZi10cmVlLWJ1aWxkcy5wYXRjaCBcCisgICAgICAgICAgIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnV0ZW1wdGVyL2xpYnV0ZW1wdGVyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1dGVtcHRlci9saWJ1dGVtcHRlci5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMjgyYmE1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1dGVtcHRlci9saWJ1dGVtcHRlci5iYgpAQCAtMCwwICsxLDM5IEBACitTVU1NQVJZID0gIkEgcHJpdmlsZWdlZCBoZWxwZXIgZm9yIHV0bXAvd3RtcCB1cGRhdGVzIgorREVTQ1JJUFRJT04gPSAiXAorVGhpcyBsaWJyYXJ5IHByb3ZpZGVzIGludGVyZmFjZSBmb3IgdGVybWluYWwgZW11bGF0b3JzIHN1Y2ggYXMgXAorc2NyZWVuIGFuZCB4dGVybSB0byByZWNvcmQgdXNlciBzZXNzaW9ucyB0byB1dG1wIGFuZCB3dG1wIGZpbGVzLiIKK0hPTUVQQUdFID0gImZ0cDovL2Z0cC5hbHRsaW51eC5vcmcvcHViL3Blb3BsZS9sZHYvdXRlbXB0ZXIiCitTRUNUSU9OID0gIlN5c3RlbSBFbnZpcm9ubWVudC9MaWJyYXJpZXMiCitMSUNFTlNFID0gIkdQTHYyICYgR1BMdjIrICYgTEdQTHYyICYgTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEiCisKK1NSQ1JFViA9ICIzZWY3NGZmZjMxMGYwOWUyNjAxZTI0MWI5ZjA0MmNkMzlkNTkxMDE4IgorUFYgPSAiMS4xLjYtYWx0MitnaXQke1NSQ1BWfSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQuYWx0bGludXgub3JnL3Blb3BsZS9sZHYvcGFja2FnZXMvbGlidXRlbXB0ZXIuZ2l0IFwKKyAgICBmaWxlOi8vMDAwMS1GaXgtbWFjcm8tZXJyb3IucGF0Y2giCisKK1MgPSAiJHtXT1JLRElSfS9naXQvJHtCUE59IgorCitDRkxBR1MgKz0gIi1ETElCRVhFQ0RJUj0ke2xpYmV4ZWNkaXJ9IgorCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBsaWJkaXI9JHtsaWJkaXJ9ICAgICAgICAgICAgXAorICAgICAgICBsaWJleGVjZGlyPSR7bGliZXhlY2Rpcn0KK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgICAgICAgICAgICAgIFwKKyAgICAgICAgREVTVERJUj0ke0R9ICAgICAgICAgICAgICAgIFwKKyAgICAgICAgbGliZGlyPSIke2xpYmRpcn0iICAgICAgICAgIFwKKyAgICAgICAgbGliZXhlY2Rpcj0iJHtsaWJleGVjZGlyfSIgIFwKKyAgICAgICAgaW5jbHVkZWRpcj0ke2luY2x1ZGVkaXJ9ICAgIFwKKyAgICAgICAgbWFuZGlyPSR7bWFuZGlyfQorCisgICAgcm0gLWYgJHtEfSR7bGliZGlyfS8qLmEKK30KKworRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9Lyouc28uKiIKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmV4ZWNkaXJ9L3V0ZW1wdGVyL3V0ZW1wdGVyIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmV4ZWNkaXJ9L3V0ZW1wdGVyLy5kZWJ1Zy91dGVtcHRlciIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXRlbXB0ZXIvbGlidXRlbXB0ZXIvMDAwMS1GaXgtbWFjcm8tZXJyb3IucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnV0ZW1wdGVyL2xpYnV0ZW1wdGVyLzAwMDEtRml4LW1hY3JvLWVycm9yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxNDBlYTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnV0ZW1wdGVyL2xpYnV0ZW1wdGVyLzAwMDEtRml4LW1hY3JvLWVycm9yLnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gZmMyYmQ1OTJhZDE3ZDFjMmEyYTk4OTc1MGU2OWRmYWVkYzI4YzYzMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFFpYW4gTGVpIDxxaWFubC5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogRnJpLCA5IEphbiAyMDE1IDEwOjQwOjI5ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBtYWNybyBlcnJvcgorCitjb21waWxlIGVycm9yIHdoZW4gYnVpbGQgb24gYWxtb3N0IGFsbCBhcmNoaXRlY3R1cmVzLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IFFpYW4gTGVpIDxxaWFubC5mbnN0QGNuLmZ1aml0c3UuY29tPgorLS0tCisgaWZhY2UuYyB8IDkgKysrKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvaWZhY2UuYyBiL2lmYWNlLmMKK2luZGV4IDU5NTFkODEuLjI3NzkzZjAgMTAwNjQ0CistLS0gYS9pZmFjZS5jCisrKysgYi9pZmFjZS5jCitAQCAtNDMsNyArNDMsMTQgQEAKKyAgICAgICAgX19yZXN1bHQ7IH0pKQorICNlbmRpZgorIAorLSNkZWZpbmUJVVRFTVBURVJfREVGQVVMVF9QQVRITkFNRQlMSUJFWEVDRElSICIvdXRlbXB0ZXIvdXRlbXB0ZXIiCisrI2lmZGVmICBMSUJFWEVDRElSCisrIyAgZGVmaW5lIENBVF9QQVRIKERJUjEsRElSMikgICAgICAgICAgIERJUjEjI0RJUjIKKysjICBkZWZpbmUgUkFXX1VURU1QVEVSX1BBVEggICAgICAgICAgICAgQ0FUX1BBVEgoTElCRVhFQ0RJUiwvdXRlbXB0ZXIvdXRlbXB0ZXIpCisrI2Vsc2UKKysjICBkZWZpbmUgUkFXX1VURU1QVEVSX1BBVEggICAgICAgICAgICAgL3Vzci9saWIvbGlidGVtcHRlci91dGVtcHRlci91dGVtcHRlcgorKyNlbmRpZgorKyNkZWZpbmUgU1RSX1BBVEgoUkFXX1NUUikgICAgICAgICAgICAgICAjUkFXX1NUUgorKyNkZWZpbmUgVVRFTVBURVJfREVGQVVMVF9QQVRITkFNRSAgICAgICBTVFJfUEFUSChSQVdfVVRFTVBURVJfUEFUSCkKKyAKKyBzdGF0aWMgY29uc3QgY2hhciAqdXRlbXB0ZXJfcGF0aG5hbWU7Cisgc3RhdGljIGludCBzYXZlZF9mZCA9IC0xOworLS0gCisxLjguMy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlua3MvZmlsZXMvYWMtcHJvZy1jeHgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpbmtzL2ZpbGVzL2FjLXByb2ctY3h4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxYzM4MjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpbmtzL2ZpbGVzL2FjLXByb2ctY3h4LnBhdGNoCkBAIC0wLDAgKzEsMTEgQEAKKy0tLSBsaW5rcy0yLjFwcmUyMC9jb25maWd1cmUuaW4ub3JpZwkyMDA1LTEyLTIxIDE1OjIzOjQ5LjAwMDAwMDAwMCArMDAwMAorKysrIGxpbmtzLTIuMXByZTIwL2NvbmZpZ3VyZS5pbgkyMDA1LTEyLTIxIDE1OjIzOjU5LjAwMDAwMDAwMCArMDAwMAorQEAgLTE4LDcgKzE4LDcgQEAKKyBkbmwgQ2hlY2tzIGZvciBwcm9ncmFtcy4KKyBBQ19QUk9HX0NDCisgCistI0FDX1BST0dfQ1hYCisrQUNfUFJPR19DWFgKKyAjQUNfUFJPR19BV0sKKyAjQU1fUFJPR19MRVgKKyAjQUNfUFJPR19ZQUNDCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpbmtzL2ZpbGVzL2xpbmtzMi5kZXNrdG9wIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saW5rcy9maWxlcy9saW5rczIuZGVza3RvcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMDViY2UxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saW5rcy9maWxlcy9saW5rczIuZGVza3RvcApAQCAtMCwwICsxLDE0IEBACitbRGVza3RvcCBFbnRyeV0KK0VuY29kaW5nPVVURi04CitOYW1lPUxpbmtzCitDb21tZW50PUxpbmtzIGlzIGEgYnJvd3NlciB2ZXJ5IHNpbWlsYXIgdG8gbHlueAorQ29tbWVudFtlc109RWwgbGlua3MgZXMgdW4gYnJvd3NlciBwYXJhIG1vZG8gdGV4dG8sIHNpbWlsYXIgYSBseW54CitDb21tZW50W3BsXT1MaW5rcyBqZXN0IHByemVnbMSFZGFya8SFIHBvZG9ibsSFIGRvIGx5bmtzYQorQ29tbWVudFtwdF09TyBsaW5rcyDDqSB1bSBicm93c2VyIHBhcmEgbW9kbyB0ZXh0bywgc2ltaWxhciBhbyBseW54CitDb21tZW50W3B0X0JSXT1PIGxpbmtzIMOpIHVtIGJyb3dzZXIgcGFyYSBtb2RvIHRleHRvLCBzaW1pbGFyIGFvIGx5bngKK0V4ZWM9bGlua3MgLWcKK1Rlcm1pbmFsPXRydWUKK0ljb249bGlua3MyCitUeXBlPUFwcGxpY2F0aW9uCitDYXRlZ29yaWVzPUFwcGxpY2F0aW9uO0NvbnNvbGVPbmx5O05ldHdvcms7V2ViQnJvd3NlcjsKKyMgdmk6IGVuY29kaW5nPXV0Zi04CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpbmtzL2xpbmtzLXgxMV8yLjcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpbmtzL2xpbmtzLXgxMV8yLjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmFlMTFhYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlua3MvbGlua3MteDExXzIuNy5iYgpAQCAtMCwwICsxLDMxIEBACityZXF1aXJlIGxpbmtzLmluYworCitERVBFTkRTICs9ICJ2aXJ0dWFsL2xpYngxMSIKK1JDT05GTElDVFNfJHtQTn0gPSAibGlua3MiCisKK2luaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisjIGRlcGVuZHMgb24gdmlydHVhbC9saWJ4MTEKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK1NSQ19VUkkgKz0gIiBmaWxlOi8vbGlua3MyLmRlc2t0b3AgXAorICAgICAgICAgICAgIGh0dHA6Ly93d3cueG9yYS5vcmcudWsvb2UvbGlua3MyLnBuZztuYW1lPWljb24iCisKK1MgPSAiJHtXT1JLRElSfS9saW5rcy0ke1BWfSIKKworRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLWdyYXBoaWNzIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtc3NsPSR7U1RBR0lOR19MSUJESVJ9Ly4uIC0td2l0aC1saWJqcGVnIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtbGlidGlmZiAtLXdpdGhvdXQtc3ZnYWxpYiAtLXdpdGhvdXQtZmIgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1kaXJlY3RmYiAtLXdpdGhvdXQtcG1zaGVsbCAtLXdpdGhvdXQtYXRoZW9zIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgteCAtLXdpdGhvdXQtZ3BtIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9saW5rczIuZGVza3RvcCAke0R9LyR7ZGF0YWRpcn0vYXBwbGljYXRpb25zCisgICAgaW5zdGFsbCAtZCAke0R9LyR7ZGF0YWRpcn0vcGl4bWFwcworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2xpbmtzMi5wbmcgJHtEfS8ke2RhdGFkaXJ9L3BpeG1hcHMKK30KKworU1JDX1VSSVttZDVzdW1dID0gImQwNmFhNmUxNGIyMTcyZDczMTg4ODcxYTUzNTcxODVhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBjMTgyYjFjYmNkZmQ1Y2RjZDJmNzVhNjAzMmQxYTRiNjYwZDA3YzEyMjVjMWUwNzc1N2NlYzgxZDMzMDIxMzAiCitTUkNfVVJJW2ljb24ubWQ1c3VtXSA9ICI0NzdlODc4NzkyN2M2MzQ2MTRiYWMwMWI0NDM1NWEzMyIKK1NSQ19VUklbaWNvbi5zaGEyNTZzdW1dID0gImVkZGNkOGI4Yzg2OThhYTYyMWQxYTQ1Mzk0Mzg5MmQ3N2I3MmVkNDkyZTBkMTRlMGRiYWM1YzZhNTdlNTJmNDciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpbmtzL2xpbmtzLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlua3MvbGlua3MuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwNzI0MDgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpbmtzL2xpbmtzLmluYwpAQCAtMCwwICsxLDE3IEBACitERVNDUklQVElPTiA9ICJMaW5rcyBpcyBncmFwaGljcyBhbmQgdGV4dCBtb2RlIFdXVyBcCiticm93c2VyLCBzaW1pbGFyIHRvIEx5bnguIgorSE9NRVBBR0UgPSAiaHR0cDovL2xpbmtzLnR3aWJyaWdodC5jb20vIgorU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NjVlNzM1YmUyZTA1ZDU5NDM4MDMzNDQxNDhmNTc2MDMiCitERVBFTkRTID0gImpwZWcgbGlicG5nIGZsZXggb3BlbnNzbCB6bGliIgorCitTUkNfVVJJID0gImh0dHA6Ly9saW5rcy50d2licmlnaHQuY29tL2Rvd25sb2FkL2xpbmtzLSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vYWMtcHJvZy1jeHgucGF0Y2ggXAorIgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tiemlwMl0gPSAiLS13aXRoLWJ6aXAyLC0td2l0aG91dC1iemlwMixiemlwMiIKK1BBQ0tBR0VDT05GSUdbbHptYV0gPSAiLS13aXRoLWx6bWEsLS13aXRob3V0LWx6bWEseHoiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saW5rcy9saW5rc18yLjcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpbmtzL2xpbmtzXzIuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODBkZDdiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saW5rcy9saW5rc18yLjcuYmIKQEAgLTAsMCArMSwxMyBAQAorcmVxdWlyZSBsaW5rcy5pbmMKKworREVQRU5EUyArPSAiZ3BtIgorUkNPTkZMSUNUU18ke1BOfSA9ICJsaW5rcy14MTEiCisKK0VYVFJBX09FQ09ORiA9ICItLWVuYWJsZS1ncmFwaGljcyBcCisgICAgICAgICAgICAgICAgLS13aXRoLXNzbD0ke1NUQUdJTkdfTElCRElSfS8uLiAtLXdpdGgtbGlianBlZyBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LWxpYnRpZmYgLS13aXRob3V0LXN2Z2FsaWIgLS13aXRoLWZiIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtZGlyZWN0ZmIgLS13aXRob3V0LXBtc2hlbGwgLS13aXRob3V0LWF0aGVvcyBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LXgiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkMDZhYTZlMTRiMjE3MmQ3MzE4ODg3MWE1MzU3MTg1YSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwYzE4MmIxY2JjZGZkNWNkY2QyZjc1YTYwMzJkMWE0YjY2MGQwN2MxMjI1YzFlMDc3NTdjZWM4MWQzMzAyMTMwIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saW8tdXRpbHMvbGlvLXV0aWxzXzQuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlvLXV0aWxzL2xpby11dGlsc180LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzViYTE2MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlvLXV0aWxzL2xpby11dGlsc180LjEuYmIKQEAgLTAsMCArMSw2MCBAQAorU1VNTUFSWSA9ICJsaW8tdXRpbHMiCitERVNDUklQVElPTiA9ICJhIHNpbXBsZSBsb3ctbGV2ZWwgY29uZmlndXJhdGlvbiB0b29sIHNldCBmb3IgdGhlIFRhcmdldCtpU0NTSSAoTElPKSIKK0hPTUVQQUdFID0gImh0dHA6Ly9saW51eC1pc2NzaS5vcmcvaW5kZXgucGhwL0xpby11dGlscyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kZWJpYW4vY29weXJpZ2h0O21kNT1jM2VhMjMxYTMyNjM1Y2JiNWRlYmVkZjNlODhhYTNkZiIKKworUFYgPSAiNC4xK2dpdCR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL3Jpc2luZ3RpZGVzeXN0ZW1zLmNvbS9saW8tdXRpbHMuZ2l0IgorU1JDUkVWID0gIjI4YmQ5Mjg2NTViZGM3YmQzY2YzODBmMDE5NjYzMDY5MGM1MWUwNWYiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGRpc3R1dGlscworCitFWFRSQV9PRU1BS0UgKz0gIkRFU1RESVI9JHtEfSIKKworZG9fY29tcGlsZSgpIHsKKyAgICBjZCAke1N9L3RjbS1weQorICAgIGRpc3R1dGlsc19kb19jb21waWxlCisKKyAgICBjZCAke1N9L2xpby1weQorICAgIGRpc3R1dGlsc19kb19jb21waWxlCisKKyAgICBpZiB0ZXN0IC1kICR7U30vdG9vbHM7IHRoZW4KKyAgICAgICAgb2VfcnVubWFrZSAtQyAke1N9L3Rvb2xzCisgICAgZmkKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBjZCAke1N9L3RjbS1weQorICAgIGRpc3R1dGlsc19kb19pbnN0YWxsCisKKyAgICBjZCAke1N9L2xpby1weQorICAgIGRpc3R1dGlsc19kb19pbnN0YWxsCisKKyAgICBTSVRFX1BBQ0tBR0VTPSR7RH0vJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0KKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzYmluZGlyfQorICAgIGZvciB2YXIgaW4gdGNtX25vZGUgdGNtX2R1bXAgdGNtX2xvb3AgdGNtX2ZhYnJpYyBsaW9fZHVtcCBsaW9fbm9kZTsgZG8KKyAgICAgICAgaWYgWyAhIC1oICR7RH0vJHtzYmluZGlyfS8ke3Zhcn0gXTt0aGVuCisgICAgICAgICAgICBjaG1vZCBhK3ggJHtTSVRFX1BBQ0tBR0VTfS8ke3Zhcn0ucHkKKyAgICAgICAgICAgIGxuIC1zICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyR7dmFyfS5weSAke0R9LyR7c2JpbmRpcn0vJHt2YXJ9CisgICAgICAgIGZpCisgICAgZG9uZQorCisgICAgaWYgdGVzdCAtZCAke1N9L3Rvb2xzOyB0aGVuCisgICAgICAgIG9lX3J1bm1ha2UgLUMgJHtTfS90b29scyBpbnN0YWxsCisgICAgZmkKKworICAgIGluc3RhbGwgLWQgJHtEfS9ldGMvdGFyZ2V0LworICAgIGluc3RhbGwgLWQgJHtEfS9ldGMvaW5pdC5kLworICAgIGluc3RhbGwgLW0gNzU1ICR7U30vc2NyaXB0cy9yYy50YXJnZXQgJHtEfS9ldGMvaW5pdC5kLworICAgIGluc3RhbGwgLW0gNzU1ICR7U30vY29uZi90Y21fc3RhcnQuZGVmYXVsdCAke0R9L2V0Yy90YXJnZXQvdGNtX3N0YXJ0LnNoCisgICAgaW5zdGFsbCAtbSA3NTUgJHtTfS9jb25mL2xpb19zdGFydC5kZWZhdWx0ICR7RH0vZXRjL3RhcmdldC9saW9fc3RhcnQuc2gKK30KKworUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbi1zdHJpbmdvbGQgcHl0aG9uLXN1YnByb2Nlc3MgcHl0aG9uLXNoZWxsIFwKKyAgICBweXRob24tZGF0ZXRpbWUgcHl0aG9uLXRleHR1dGlscyBweXRob24tY3J5cHQgcHl0aG9uLW5ldGNsaWVudCBweXRob24tZW1haWwgXAorICAgIGJhc2giCisKK0ZJTEVTXyR7UE59ICs9ICIke3NiaW5kaXJ9LyogL2V0Yy9pbml0LmQvKiAvZXRjL3RhcmdldC8qIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sbV9zZW5zb3JzL2xtc2Vuc29ycy1jb25maWcvZmFuY29udHJvbCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG1fc2Vuc29ycy9sbXNlbnNvcnMtY29uZmlnL2ZhbmNvbnRyb2wKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWYwM2EyYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG1fc2Vuc29ycy9sbXNlbnNvcnMtY29uZmlnL2ZhbmNvbnRyb2wKQEAgLTAsMCArMSwyIEBACisjIGZhbmNvbnRyb2wgY29uZmlndXJhdGlvbiBmaWxlLgorIyBQbGFjZSB5b3VyIGRldmljZSBzcGVjaWZpYyBjb25maWd1cmF0aW9uIGluIHRoaXMgZmlsZS4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG1fc2Vuc29ycy9sbXNlbnNvcnMtY29uZmlnL3NlbnNvcmQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xtX3NlbnNvcnMvbG1zZW5zb3JzLWNvbmZpZy9zZW5zb3JkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1ODM2MmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xtX3NlbnNvcnMvbG1zZW5zb3JzLWNvbmZpZy9zZW5zb3JkCkBAIC0wLDAgKzEsMTYgQEAKKyMgY29uZmlndXJhdGlvbiBmb3IgaGFyZHdhcmUgc2Vuc29ycyBtb25pdG9yaW5nIGRhZW1vbgorIyBpbiBpbnRlcnZhbHMgdXNlIHN1ZmZpeCAibSIgZm9yIG1pbnV0ZXMsICJzIiBmb3Igc2Vjb25kcywgImgiIGZvciBob3VycworIyAwIG1lYW5zIHR1cm5pbmcgZmFjaWxpdHkgb2ZmCisKKyMgaW50ZXJ2YWwgYmV0d2VlbiBzY2FubmluZyBhbGFybXMKK0lOVEVSVkFMPTFtCisKKyMgaW50ZXJ2YWwgYmV0d2VlbiBsb2dnaW5nCitMT0dfSU5URVJWQUw9MjBtCisKKyMgaW50ZXJ2YWwgYmV0d2VlbiBSUkQgbG9nZ2luZworIyBSUkRfSU5URVJWQUw9MW0KKworIyBSUkQgZGIgbG9jYXRpb24KKyMgUlJEX0xPR0ZJTEU9L3Zhci9sb2cvc2Vuc29ycy5ycmQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sbV9zZW5zb3JzL2xtc2Vuc29ycy1jb25maWcvc2Vuc29yZC5jZ2kgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xtX3NlbnNvcnMvbG1zZW5zb3JzLWNvbmZpZy9zZW5zb3JkLmNnaQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMWFhZDA1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sbV9zZW5zb3JzL2xtc2Vuc29ycy1jb25maWcvc2Vuc29yZC5jZ2kKQEAgLTAsMCArMSwxMCBAQAorIyEvdXNyL2Jpbi9ycmRjZ2kKKworPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5zZW5zb3JkPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorR2VuZXJhdGUgYSB2YWxpZCBzZW5zb3JkLmNnaSBzY3JpcHQgYW5kIGluc3RhbGwgaXQgaW4geW91ciBCU1AuCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xtX3NlbnNvcnMvbG1zZW5zb3JzLWNvbmZpZy9zZW5zb3JkLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xtX3NlbnNvcnMvbG1zZW5zb3JzLWNvbmZpZy9zZW5zb3JkLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmI0OGNmNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG1fc2Vuc29ycy9sbXNlbnNvcnMtY29uZmlnL3NlbnNvcmQuY29uZgpAQCAtMCwwICsxLDE2IEBACisjIERlZmF1bHQgc2Vuc29yZCBjb25maWd1cmF0aW9uIGZpbGUKKyMgU3ludGF4OiBzZW5zb3JkIHtvcHRpb25zfSB7Y2hpcHN9CisjIC1pLCAtLWludGVydmFsIDx0aW1lPiAgICAgLS0gaW50ZXJ2YWwgYmV0d2VlbiBzY2FubmluZyBhbGFybXMgKGRlZmF1bHQgNjBzKQorIyAtbCwgLS1sb2ctaW50ZXJ2YWwgPHRpbWU+IC0tIGludGVydmFsIGJldHdlZW4gbG9nZ2luZyBzZW5zb3JzIChkZWZhdWx0IDMwbSkKKyMgLXQsIC0tcnJkLWludGVydmFsIDx0aW1lPiAtLSBpbnRlcnZhbCBiZXR3ZWVuIHVwZGF0aW5nIFJSRCBmaWxlIChkZWZhdWx0IDVtKQorIyAtVCwgLS1ycmQtbm8tYXZlcmFnZSAgICAgIC0tIHN3aXRjaCBSUkQgaW4gbm9uLWF2ZXJhZ2UgbW9kZQorIyAtciwgLS1ycmQtZmlsZSA8ZmlsZT4gICAgIC0tIFJSRCBmaWxlIChkZWZhdWx0IDxub25lPikKKyMgLWMsIC0tY29uZmlnLWZpbGUgPGZpbGU+ICAtLSBjb25maWd1cmF0aW9uIGZpbGUKKyMgLXAsIC0tcGlkLWZpbGUgPGZpbGU+ICAgICAtLSBQSUQgZmlsZSAoZGVmYXVsdCAvdmFyL3J1bi9zZW5zb3JkLnBpZCkKKyMgLWYsIC0tc3lzbG9nLWZhY2lsaXR5IDxmPiAtLSBzeXNsb2cgZmFjaWxpdHkgdG8gdXNlIChkZWZhdWx0IGxvY2FsNCkKKyMgLWcsIC0tcnJkLWNnaSA8aW1nLWRpcj4gICAtLSBvdXRwdXQgYW4gUlJEIENHSSBzY3JpcHQgYW5kIGV4aXQKKyMgLWEsIC0tbG9hZC1hdmVyYWdlICAgICAgICAtLSBpbmNsdWRlIGxvYWQgYXZlcmFnZSBpbiBSUkQgZmlsZQorIyAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICAgIC0tIGRpc3BsYXkgc29tZSBkZWJ1ZyBpbmZvcm1hdGlvbgorIyAtdiwgLS12ZXJzaW9uICAgICAgICAgICAgIC0tIGRpc3BsYXkgdmVyc2lvbiBhbmQgZXhpdAorIyAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIC0tIGRpc3BsYXkgaGVscCBhbmQgZXhpdAorU0VOU09SRF9BUkdTPSItaTYwcyAtbDMwbSAtdDFtIC1yL3Zhci9saWIvc2Vuc29yZC5ycmQgLWEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xtX3NlbnNvcnMvbG1zZW5zb3JzLWNvbmZpZy9zZW5zb3JzLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xtX3NlbnNvcnMvbG1zZW5zb3JzLWNvbmZpZy9zZW5zb3JzLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmI4YzkzZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG1fc2Vuc29ycy9sbXNlbnNvcnMtY29uZmlnL3NlbnNvcnMuY29uZgpAQCAtMCwwICsxLDIgQEAKKyMgc2Vuc29ycyBjb25maWd1cmF0aW9uIGZpbGUuCisjIFBsYWNlIHlvdXIgZGV2aWNlIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gaW4gdGhpcyBmaWxlLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sbV9zZW5zb3JzL2xtc2Vuc29ycy1jb25maWdfMS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sbV9zZW5zb3JzL2xtc2Vuc29ycy1jb25maWdfMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2MzgwMTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xtX3NlbnNvcnMvbG1zZW5zb3JzLWNvbmZpZ18xLjAuYmIKQEAgLTAsMCArMSw2MyBAQAorU1VNTUFSWSA9ICJsbV9zZW5zb3JzIGNvbmZpZ3VyYXRpb24gZmlsZXMiCitERVNDUklQVElPTiA9ICJIYXJkd2FyZSBoZWFsdGggbW9uaXRvcmluZyBjb25maWd1cmF0aW9uIGZpbGVzIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5sbS1zZW5zb3JzLm9yZy8iCitMSUNFTlNFID0gIk1JVC1YIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9DT1BZSU5HLk1JVDttZDU9M2RhOWNmYmNiNzg4YzgwYTAzODQzNjFiNGRlMjA0MjAiCisKK1BBQ0tBR0VfQVJDSCA9ICIke01BQ0hJTkVfQVJDSH0iCisKK1NSQ19VUkkgPSAiZmlsZTovL2ZhbmNvbnRyb2wgXAorICAgICAgICAgICBmaWxlOi8vc2Vuc29yZC5jZ2kgXAorICAgICAgICAgICBmaWxlOi8vc2Vuc29yZC5jb25mIFwKKyAgICAgICAgICAgZmlsZTovL3NlbnNvcnMuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly9zZW5zb3JkIFwKKyIKK1MgPSAiJHtXT1JLRElSfSIKKworUkRFUEVORFNfJHtQTn0tZGV2ID0gIiIKKworZG9faW5zdGFsbCgpIHsKKyAgICAjIEluc3RhbGwgZmFuY29udHJvbCBjb25maWd1cmF0aW9uIGZpbGUKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3N5c2NvbmZpZworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2ZhbmNvbnRyb2wgJHtEfSR7c3lzY29uZmRpcn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9zZW5zb3JkICR7RH0ke3N5c2NvbmZkaXJ9L3N5c2NvbmZpZworICAgICMgSW5zdGFsbCBsaWJzZW5zb3JzIGNvbmZpZ3VyYXRpb24gZmlsZQorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vc2Vuc29ycy5kCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vc2Vuc29ycy5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3NlbnNvcnMuZAorCisgICAgIyBJbnN0YWxsIHNlbnNvcmQgY29uZmlndXJhdGlvbiBmaWxlCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vc2Vuc29yZC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9CisKKyAgICAjIEluc3RhbGwgc2Vuc29yZC5jZ2kgc2NyaXB0IGFuZCBjcmVhdGUgd29ybGQtd3JpdGFibGUKKyAgICAjIHdlYi1hY2Nlc3NpYmxlIHNlbnNvcmQgZGlyZWN0b3J5CisgICAgaW5zdGFsbCAtZCAke0R9L3d3dy9wYWdlcy9jZ2ktYmluCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vc2Vuc29yZC5jZ2kgJHtEfS93d3cvcGFnZXMvY2dpLWJpbgorICAgIGluc3RhbGwgLWQgLW0gYT1yd3hzICR7RH0vd3d3L3BhZ2VzL3NlbnNvcmQKK30KKworIyBsaWJzZW5zb3JzIGNvbmZpZ3VyYXRpb24KK1BBQ0tBR0VTID0rICIke1BOfS1saWJzZW5zb3JzIgorCisjIHNlbnNvcmQgbG9nZ2luZyBkYWVtb24gY29uZmlndXJhdGlvbgorUEFDS0FHRVMgPSsgIiR7UE59LXNlbnNvcmQiCisKKyMgZmFuY29udHJvbCBzY3JpcHQgY29uZmlndXJhdGlvbgorUEFDS0FHRVMgPSsgIiR7UE59LWZhbmNvbnRyb2wiCisKKyMgc2Vuc29yZCB3ZWIgY2dpIHN1cHBvcnQKK1BBQ0tBR0VTID0rICIke1BOfS1jZ2kiCitSUkVDT01NRU5EU18ke1BOfS1jZ2kgPSAibGlnaHR0cGQgbGlnaHR0cGQtbW9kdWxlLWNnaSIKK1JERVBFTkRTXyR7UE59LWNnaSA9ICIke1BOfS1zZW5zb3JkIHJyZHRvb2wiCitGSUxFU18ke1BOfS1jZ2kgPSAiL3d3dy8qIiAKKworIyBsaWJzZW5zb3JzIGNvbmZpZ3VyYXRpb24gZmlsZQorRklMRVNfJHtQTn0tbGlic2Vuc29ycyA9ICIke3N5c2NvbmZkaXJ9L3NlbnNvcnMuZC9zZW5zb3JzLmNvbmYiCisKKyMgc2Vuc29yZCBsb2dnaW5nIGRhZW1vbiBjb25maWd1cmF0aW9uIGZpbGVzCitGSUxFU18ke1BOfS1zZW5zb3JkID0gIlwKKyAgICAke3N5c2NvbmZkaXJ9L3NlbnNvcmQuY29uZiBcCisgICAgJHtzeXNjb25mZGlyfS9zeXNjb25maWcvc2Vuc29yZCBcCisiCisKKyMgZmFuY29udHJvbCBzY3JpcHQgY29uZmlndXJhdGlvbiBmaWxlCitGSUxFU18ke1BOfS1mYW5jb250cm9sID0gIiR7c3lzY29uZmRpcn0vZmFuY29udHJvbCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG1fc2Vuc29ycy9sbXNlbnNvcnMvZmFuY29udHJvbC5pbml0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sbV9zZW5zb3JzL2xtc2Vuc29ycy9mYW5jb250cm9sLmluaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDQzMzAyMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG1fc2Vuc29ycy9sbXNlbnNvcnMvZmFuY29udHJvbC5pbml0CkBAIC0wLDAgKzEsNDcgQEAKKyMhL2Jpbi9zaAorIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogICAgICAgICAgZmFuY29udHJvbAorIyBSZXF1aXJlZC1TdGFydDogICAgJGxvY2FsX2ZzCisjIFNob3VsZC1TdGFydDoKKyMgUmVxdWlyZWQtU3RvcDogICAgICRsb2NhbF9mcworIyBTaG91bGQtU3RvcDoKKyMgRGVmYXVsdC1TdGFydDogICAgIDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAgICAgIDAgMSA2CisjIFNob3J0LURlc2NyaXB0aW9uOiBmYW5jb250cm9sIGluaXRzY3JpcHQKKyMgRGVzY3JpcHRpb246ICAgICAgIFN0YXJ0cyBhbmQgY29udHJvbHMgdGhlIGZhbmNvbnRyb2wgZGFlbW9uCisjIyMgRU5EIElOSVQgSU5GTworCitQQVRIPS9zYmluOi91c3Ivc2JpbjovYmluOi91c3IvYmluCisKK0RFU0M9ImZhbiBjb250cm9sIGRhZW1vbiIKK05BTUU9ImZhbmNvbnRyb2wiCitGQU5DT05UUk9MPWB3aGljaCAkTkFNRWAKK1BJREZJTEU9Ii92YXIvcnVuL2ZhbmNvbnRyb2wucGlkIgorCisjIEV4aXQgaWYgdGhlIHBhY2thZ2UgaXMgbm90IGluc3RhbGxlZAorWyAteCAiJEZBTkNPTlRST0wiIF0gfHwgZXhpdCAwCisKK2Nhc2UgIiQxIiBpbgorICAgIHN0YXJ0KQorICAgICAgICBlY2hvIC1uICJTdGFydGluZyAkREVTQzogJE5BTUUuLi4gIgorICAgICAgICBzdGFydC1zdG9wLWRhZW1vbiAtUyAtcCAkUElERklMRSAtYiAteCAkRkFOQ09OVFJPTAorICAgICAgICBlY2hvICJkb25lLiIKKyAgICAgICAgOzsKKyAgICBzdG9wKQorICAgICAgICBlY2hvIC1uICJTdG9wcGluZyAkREVTQzogJE5BTUUuLi4gIgorICAgICAgICBzdGFydC1zdG9wLWRhZW1vbiAtSyAtcCAkUElERklMRQorICAgICAgICBlY2hvICJkb25lLiIKKyAgICAgICAgOzsKKyAgICByZXN0YXJ0KQorICAgICAgICBlY2hvICJSZXN0YXJ0aW5nICRERVNDOiAkTkFNRS4uLiAiCisgICAgICAgICQwIHN0b3AKKyAgICAgICAgJDAgc3RhcnQKKyAgICAgICAgZWNobyAiZG9uZS4iCisgICAgICAgIDs7CisgICAgKikKKyAgICAgICAgZWNobyAiVXNhZ2U6ICQwIHtzdGFydHxzdG9wfHJlc3RhcnR9IgorICAgICAgICBleGl0IDEKKyAgICAgICAgOzsKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xtX3NlbnNvcnMvbG1zZW5zb3JzL3NlbnNvcmQuaW5pdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG1fc2Vuc29ycy9sbXNlbnNvcnMvc2Vuc29yZC5pbml0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhMDljZDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xtX3NlbnNvcnMvbG1zZW5zb3JzL3NlbnNvcmQuaW5pdApAQCAtMCwwICsxLDQ5IEBACisjISAvYmluL3NoCisjIyMgQkVHSU4gSU5JVCBJTkZPCisjIFByb3ZpZGVzOiAgICAgICAgICBzZW5zb3JkCisjIFJlcXVpcmVkLVN0YXJ0OiAgICAkbG9jYWxfZnMKKyMgU2hvdWxkLVN0YXJ0OgorIyBSZXF1aXJlZC1TdG9wOiAgICAgJGxvY2FsX2ZzCisjIFNob3VsZC1TdG9wOgorIyBEZWZhdWx0LVN0YXJ0OiAgICAgMiAzIDQgNQorIyBEZWZhdWx0LVN0b3A6ICAgICAgMCAxIDYKKyMgU2hvcnQtRGVzY3JpcHRpb246IHNlbnNvcmQgaW5pdHNjcmlwdAorIyBEZXNjcmlwdGlvbjogICAgICAgU3RhcnRzIHRoZSBzZW5zb3JkIGxvZ2dpbmcgZGFlbW9uCisjIyMgRU5EIElOSVQgSU5GTworCitQQVRIPS9zYmluOi91c3Ivc2JpbjovYmluOi91c3IvYmluCisKK0RFU0M9InNlbnNvcnMgbG9nZ2luZyBkYWVtb24iCitOQU1FPSJzZW5zb3JkIgorU0VOU09SRD1gd2hpY2ggJE5BTUVgCisKKy4gL2V0Yy9pbml0LmQvZnVuY3Rpb25zIHx8IGV4aXQgMQorLiAvZXRjL3NlbnNvcmQuY29uZiB8fCBleGl0IDEKKworIyBFeGl0IGlmIHRoZSBwYWNrYWdlIGlzIG5vdCBpbnN0YWxsZWQKK1sgLXggIiRTRU5TT1JEIiBdIHx8IGV4aXQgMAorCitjYXNlICIkMSIgaW4KKyAgICBzdGFydCkKKyAgICAgICAgZWNobyAtbiAiU3RhcnRpbmcgJERFU0M6ICROQU1FLi4uICIKKyAgICAgICAgc3RhcnQtc3RvcC1kYWVtb24gLVMgLXggJFNFTlNPUkQgLS0gJFNFTlNPUkRfQVJHUworICAgICAgICBlY2hvICJkb25lLiIKKyAgICAgICAgOzsKKyAgICBzdG9wKQorICAgICAgICBlY2hvIC1uICJTdG9wcGluZyAkREVTQzogJE5BTUUuLi4gIgorICAgICAgICBzdGFydC1zdG9wLWRhZW1vbiAtSyAteCAkU0VOU09SRAorICAgICAgICBlY2hvICJkb25lLiIKKyAgICAgICAgOzsKKyAgICByZXN0YXJ0KQorICAgICAgICBlY2hvICJSZXN0YXJ0aW5nICRERVNDOiAkTkFNRS4uLiAiCisgICAgICAgICQwIHN0b3AKKyAgICAgICAgJDAgc3RhcnQKKyAgICAgICAgZWNobyAiZG9uZS4iCisgICAgICAgIDs7CisgICAgKikKKyAgICAgICAgZWNobyAiVXNhZ2U6ICQwIHtzdGFydHxzdG9wfHJlc3RhcnR9IgorICAgICAgICBleGl0IDEKKyAgICAgICAgOzsKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xtX3NlbnNvcnMvbG1zZW5zb3JzXzMuNC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sbV9zZW5zb3JzL2xtc2Vuc29yc18zLjQuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NTdhNTdiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sbV9zZW5zb3JzL2xtc2Vuc29yc18zLjQuMC5iYgpAQCAtMCwwICsxLDEzMyBAQAorU1VNTUFSWSA9ICJsbV9zZW5zb3JzIgorREVTQ1JJUFRJT04gPSAiSGFyZHdhcmUgaGVhbHRoIG1vbml0b3JpbmcgYXBwbGljYXRpb25zIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5sbS1zZW5zb3JzLm9yZy8iCitMSUNFTlNFID0gIkdQTHYyKyAmIExHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEdQTDttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCisKK0RFUEVORFMgPSAic3lzZnN1dGlscyB2aXJ0dWFsL2xpYmljb252IGJpc29uLW5hdGl2ZSBmbGV4LW5hdGl2ZSBycmR0b29sIgorCitTUkNfVVJJID0gImh0dHA6Ly9kbC5sbS1zZW5zb3JzLm9yZy9sbS1zZW5zb3JzL3JlbGVhc2VzL2xtX3NlbnNvcnMtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9mYW5jb250cm9sLmluaXQgXAorICAgICAgICAgICBmaWxlOi8vc2Vuc29yZC5pbml0IFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJjMDM2NzVhZTlkNDNkNjAzMjIxMTBjNjc5NDE2OTAxYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlMDU3OTAxNjA4MWEyNjJkZDIzZWFmZTFkMjJiNDFlYmRlNzg5MjFlNzNhMWRjZWY3MWUwNWU0MjQzNDAwNjFmIgorCitpbmhlcml0IHVwZGF0ZS1yYy5kIHN5c3RlbWQKKworUkRFUEVORFNfJHtQTn0tZGV2ID0gIiIKKworSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfS1mYW5jb250cm9sICR7UE59LXNlbnNvcmQiCitJTklUU0NSSVBUX05BTUVfJHtQTn0tZmFuY29udHJvbCA9ICJmYW5jb250cm9sIgorSU5JVFNDUklQVF9OQU1FXyR7UE59LXNlbnNvcmQgPSAic2Vuc29yZCIKK0lOSVRTQ1JJUFRfUEFSQU1TXyR7UE59LWZhbmNvbnRyb2wgPSAiZGVmYXVsdHMgNjYiCitJTklUU0NSSVBUX1BBUkFNU18ke1BOfS1zZW5zb3JkID0gImRlZmF1bHRzIDY3IgorCitTWVNURU1EX1BBQ0tBR0VTID0gIiR7UE59LXNlbnNvcmQiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0tc2Vuc29yZCA9ICJzZW5zb3JkLnNlcnZpY2UgbG1fc2Vuc29ycy5zZXJ2aWNlIGZhbmNvbnRyb2wuc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworUyA9ICIke1dPUktESVJ9L2xtX3NlbnNvcnMtJHtQVn0iCisKK0VYVFJBX09FTUFLRSA9ICdFWExERkxBR1M9IiR7TERGTEFHU30iIFwKKyAgICAgICAgTUFDSElORT0ke1RBUkdFVF9BUkNIfSBQUkVGSVg9JHtwcmVmaXh9IE1BTkRJUj0ke21hbmRpcn0gXAorICAgICAgICBMSUJESVI9JHtsaWJkaXJ9IFwKKyAgICAgICAgQ0M9IiR7Q0N9IiBBUj0iJHtBUn0iJworCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UgdXNlciBQUk9HX0VYVFJBPSJzZW5zb3JzIHNlbnNvcmQiCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSB1c2VyX2luc3RhbGwgREVTVERJUj0ke0R9CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vcHJvZy9zZW5zb3JkL3NlbnNvcmQgJHtEfSR7c2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9wcm9nL3NlbnNvcmQvc2Vuc29yZC44ICR7RH0ke21hbmRpcn0vbWFuOAorCisgICAgIyBJbnN0YWxsIGRpcmVjdG9yeQorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisKKyAgICAjIEluc3RhbGwgZmFuY29udHJvbCBpbml0IHNjcmlwdAorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2ZhbmNvbnRyb2wuaW5pdCBcCisgICAgICAgICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9mYW5jb250cm9sCisKKyAgICAjIEluc3RhbGwgc2Vuc29yZCBpbml0IHNjcmlwdAorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3NlbnNvcmQuaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvc2Vuc29yZAorCisgICAgIyBJbnNhbGwgc2Vuc29yZCBzZXJ2aWNlIHNjcmlwdAorICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9wcm9nL2luaXQvKi5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgZmkKK30KKworIyBsaWJzZW5zb3JzIHBhY2thZ2VzCitQQUNLQUdFUyA9KyAiJHtQTn0tbGlic2Vuc29ycyAke1BOfS1saWJzZW5zb3JzLWRiZyAke1BOfS1saWJzZW5zb3JzLWRldiAke1BOfS1saWJzZW5zb3JzLXN0YXRpY2RldiAke1BOfS1saWJzZW5zb3JzLWRvYyIKKworIyBzZW5zb3JzIGNvbW1hbmQgcGFja2FnZXMKK1BBQ0tBR0VTID0rICIke1BOfS1zZW5zb3JzICR7UE59LXNlbnNvcnMtZGJnICR7UE59LXNlbnNvcnMtZG9jIgorCisjIHNlbnNvcmQgbG9nZ2luZyBkYWVtb24KK1BBQ0tBR0VTID0rICIke1BOfS1zZW5zb3JkICR7UE59LXNlbnNvcmQtZGJnICR7UE59LXNlbnNvcmQtZG9jIgorCisjIGZhbmNvbnRyb2wgc2NyaXB0CitQQUNLQUdFUyA9KyAiJHtQTn0tZmFuY29udHJvbCAke1BOfS1mYW5jb250cm9sLWRvYyIKKworIyBzZW5zb3JzLWRldGVjdCBzY3JpcHQKK1BBQ0tBR0VTID0rICIke1BOfS1zZW5zb3JzZGV0ZWN0ICR7UE59LXNlbnNvcnNkZXRlY3QtZG9jIgorCisjIHNlbnNvcnMtY29uZi1jb252ZXJ0IHNjcmlwdAorUEFDS0FHRVMgPSsgIiR7UE59LXNlbnNvcnNjb25mY29udmVydCAke1BOfS1zZW5zb3JzY29uZmNvbnZlcnQtZG9jIgorCisjIHB3bWNvbmZpZyBzY3JpcHQKK1BBQ0tBR0VTID0rICIke1BOfS1wd21jb25maWcgJHtQTn0tcHdtY29uZmlnLWRvYyIKKworIyBpc2FkdW1wIGFuZCBpc2FzZXQgaGVscGVyIHByb2dyYW0KK1BBQ0tBR0VTID0rICIke1BOfS1pc2F0b29scyAke1BOfS1pc2F0b29scy1kYmcgJHtQTn0taXNhdG9vbHMtZG9jIgorCisjIGxpYnNlbnNvcnMgZmlsZXMKK0ZJTEVTXyR7UE59LWxpYnNlbnNvcnMgPSAiJHtsaWJkaXJ9L2xpYnNlbnNvcnMuc28uKiAke3N5c2NvbmZkaXJ9L3NlbnNvcnMzLmNvbmYgJHtzeXNjb25mZGlyfS9zZW5zb3JzLmQiCitGSUxFU18ke1BOfS1saWJzZW5zb3JzLWRiZyA9ICIke2xpYmRpcn0vLmRlYnVnICR7cHJlZml4fS9zcmMvZGVidWciCitGSUxFU18ke1BOfS1saWJzZW5zb3JzLWRldiA9ICIke2xpYmRpcn0vbGlic2Vuc29ycy5zbyAke2luY2x1ZGVkaXJ9IgorRklMRVNfJHtQTn0tbGlic2Vuc29ycy1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2xpYnNlbnNvcnMuYSIKK0ZJTEVTXyR7UE59LWxpYnNlbnNvcnMtZG9jID0gIiR7bWFuZGlyfS9tYW4zIgorUlJFQ09NTUVORFNfJHtQTn0tbGlic2Vuc29ycyA9ICJsbXNlbnNvcnMtY29uZmlnLWxpYnNlbnNvcnMiCisKKyMgc2Vuc29ycyBjb21tYW5kIGZpbGVzCitGSUxFU18ke1BOfS1zZW5zb3JzID0gIiR7YmluZGlyfS9zZW5zb3JzIgorRklMRVNfJHtQTn0tc2Vuc29ycy1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9zZW5zb3JzIgorRklMRVNfJHtQTn0tc2Vuc29ycy1kb2MgPSAiJHttYW5kaXJ9L21hbjEgJHttYW5kaXJ9L21hbjUiCitSREVQRU5EU18ke1BOfS1zZW5zb3JzID0gIiR7UE59LWxpYnNlbnNvcnMiCisKKyMgc2Vuc29yZCBsb2dnaW5nIGRhZW1vbgorRklMRVNfJHtQTn0tc2Vuc29yZCA9ICIke3NiaW5kaXJ9L3NlbnNvcmQgJHtzeXNjb25mZGlyfS9pbml0LmQvc2Vuc29yZCAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3NlbnNvcmQuc2VydmljZSIKK0ZJTEVTXyR7UE59LXNlbnNvcmQtZGJnID0gIiR7YmluZGlyfS8uZGVidWcvc2Vuc29yZCIKK0ZJTEVTXyR7UE59LXNlbnNvcmQtZG9jID0gIiR7bWFuZGlyfS9tYW44L3NlbnNvcmQuOCIKK1JERVBFTkRTXyR7UE59LXNlbnNvcmQgPSAiJHtQTn0tc2Vuc29ycyBycmR0b29sIgorUlJFQ09NTUVORFNfJHtQTn0tc2Vuc29yZCA9ICJsbXNlbnNvcnMtY29uZmlnLXNlbnNvcmQiCisKKyMgZmFuY29udHJvbCBzY3JpcHQgZmlsZXMKK0ZJTEVTXyR7UE59LWZhbmNvbnRyb2wgPSAiJHtzYmluZGlyfS9mYW5jb250cm9sICR7c3lzY29uZmRpcn0vaW5pdC5kL2ZhbmNvbnRyb2wiCitGSUxFU18ke1BOfS1mYW5jb250cm9sLWRvYyA9ICIke21hbmRpcn0vbWFuOC9mYW5jb250cm9sLjgiCitSREVQRU5EU18ke1BOfS1mYW5jb250cm9sID0gImJhc2giCitSUkVDT01NRU5EU18ke1BOfS1mYW5jb250cm9sID0gImxtc2Vuc29ycy1jb25maWctZmFuY29udHJvbCIKKworIyBzZW5zb3JzLWRldGVjdCBzY3JpcHQgZmlsZXMKK0ZJTEVTXyR7UE59LXNlbnNvcnNkZXRlY3QgPSAiJHtzYmluZGlyfS9zZW5zb3JzLWRldGVjdCIKK0ZJTEVTXyR7UE59LXNlbnNvcnNkZXRlY3QtZG9jID0gIiR7bWFuZGlyfS9tYW44L3NlbnNvcnMtZGV0ZWN0LjgiCitSREVQRU5EU18ke1BOfS1zZW5zb3JzZGV0ZWN0ID0gIiR7UE59LXNlbnNvcnMgcGVybCBwZXJsLW1vZHVsZXMiCisKKyMgc2Vuc29ycy1jb25mLWNvbnZlcnQgc2NyaXB0IGZpbGVzCitGSUxFU18ke1BOfS1zZW5zb3JzY29uZmNvbnZlcnQgPSAiJHtiaW5kaXJ9L3NlbnNvcnMtY29uZi1jb252ZXJ0IgorRklMRVNfJHtQTn0tc2Vuc29yc2NvbmZjb252ZXJ0LWRvYyA9ICIke21hbmRpcn0vbWFuOC9zZW5zb3JzLWNvbmYtY29udmVydC44IgorUkRFUEVORFNfJHtQTn0tc2Vuc29yc2NvbmZjb252ZXJ0ID0gIiR7UE59LXNlbnNvcnMgcGVybCBwZXJsLW1vZHVsZXMiCisKKyMgcHdtY29uZmlnIHNjcmlwdCBmaWxlcworRklMRVNfJHtQTn0tcHdtY29uZmlnID0gIiR7c2JpbmRpcn0vcHdtY29uZmlnIgorRklMRVNfJHtQTn0tcHdtY29uZmlnLWRvYyA9ICIke21hbmRpcn0vbWFuOC9wd21jb25maWcuOCIKK1JERVBFTkRTXyR7UE59LXB3bWNvbmZpZyA9ICIke1BOfS1mYW5jb250cm9sIgorCisjIGlzYWR1bXAgYW5kIGlzYXNldCBoZWxwZXIgcHJvZ3JhbSBmaWxlcworRklMRVNfJHtQTn0taXNhdG9vbHMgPSAiJHtzYmluZGlyfS9pc2EqIgorRklMRVNfJHtQTn0taXNhdG9vbHMtZGJnID0gIiR7c2JpbmRpcn0vLmRlYnVnL2lzYSoiCitGSUxFU18ke1BOfS1pc2F0b29scy1kb2MgPSAiJHttYW5kaXJ9L21hbjgvaXNhKiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9ja2Rldi9sb2NrZGV2X2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9ja2Rldi9sb2NrZGV2X2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMjNiOWE3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2NrZGV2L2xvY2tkZXZfZ2l0LmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiTG9ja2luZyBkZXZpY2VzIGxpYnJhcnkiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTT0iZmlsZTovL0NPUFlJTkc7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIgorCitQViA9ICIxLjAuMytnaXQke1NSQ1BWfSIKKworU1JDUkVWID0gIjE2Yjg5OTY0NWQzMjAxMmNjOTRjYzkyMzJmNjRkNGRkYWFmMGI3OTUiCitTUkNfVVJJID0gImdpdDovL2Fub25zY20uZGViaWFuLm9yZy9sb2NrZGV2L2xvY2tkZXYuZ2l0IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGxpYl9wYWNrYWdlIGF1dG90b29scy1icm9rZW5zZXAKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgIC4vc2NyaXB0cy9naXQtdmVyc2lvbiA+IFZFUlNJT04KKworICAgICMgTWFrZSBhdXRvbWFrZSBoYXBweQorICAgIHRvdWNoIENoYW5nZUxvZworfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2c0Yy9sb2c0Yy9maXhfY29uZmlndXJlX3dpdGgtZXhwYXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvZzRjL2xvZzRjL2ZpeF9jb25maWd1cmVfd2l0aC1leHBhdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ODcyZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2c0Yy9sb2c0Yy9maXhfY29uZmlndXJlX3dpdGgtZXhwYXQucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorVGhlIG9yaWdpbmFsIHVzZSBvZiBBQ19BUkdfV0lUSCBpcyBidWdneSBhbmQgY2F1c2VzIGV4cGF0IHN1cHBvcnQKK3RvIGJlICpkaXNhYmxlZCogaWYgIi0td2l0aC1leHBhdCIgaXMgcGFzc2VkIHRvIGNvbmZpZ3VyZS4KKworVXBzdHJlYW0gc3RhdHVzOiBwZW5kaW5nCisKK0luZGV4OiBsb2c0Yy0xLjIuNC9jb25maWd1cmUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsb2c0Yy0xLjIuNC5vcmlnL2NvbmZpZ3VyZS5pbgorKysrIGxvZzRjLTEuMi40L2NvbmZpZ3VyZS5pbgorQEAgLTIxNyw5ICsyMTcsOSBAQCBBQ19BUkdfV0lUSChleHBhdCwKKyAgICAgICAgICAgICAgICAgICAgIGhhdmUgYW55IGVmZmVjdCBhbmQgTG9nNEMgdXNlcyBzb21lIGJ1bmRsZWQgeWFjYy9sZXggY29kZQorICAgICAgICAgICAgICAgICAgICAgZm9yIHBhcnNpbmcgaXQncyBjb25maWd1cmF0aW9uIGZpbGUuCisgICAgICAgICAgICAgICAgICAgICBdKSwKKy0gICAgICAgICAgICAgICAgICAgIHdpdGhfZXhwYXQ9bm8sCisrICAgICAgICAgICAgICAgICAgICBbXSwKKyAgICAgICAgICAgICAgICAgICAgIHdpdGhfZXhwYXQ9eWVzKQorLWlmIHRlc3QgeCR3aXRoX2V4cGF0ID0geHllcyA7IHRoZW4KKytpZiB0ZXN0IHgkd2l0aF9leHBhdCAhPSB4bm8gOyB0aGVuCisgIHVzZV9leHBhdD15ZXMKKyAgQU1fUEFUSF9FWFBBVCgxLjk1LjEpCisgZmkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9nNGMvbG9nNGNfMS4yLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvZzRjL2xvZzRjXzEuMi40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyODZiMDgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvZzRjL2xvZzRjXzEuMi40LmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiTG9nNGMgaXMgYSBDIGxpYnJhcnkgZm9yIGZsZXhpYmxlIGxvZ2dpbmcgdG8gZmlsZXMsIHN5c2xvZyBhbmQgb3RoZXIgZGVzdGluYXRpb25zIgorSE9NRVBBR0UgPSAiaHR0cDovL2xvZzRjLnNvdXJjZWZvcmdlLm5ldCIKK0xJQ0VOU0UgPSAiTEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9LyR7QlBOfS8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZml4X2NvbmZpZ3VyZV93aXRoLWV4cGF0LnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMGQ5NDkxOTEzNmUxZDE2YjY4NDI3NTYyZTc0Y2IzZGQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTk5MTAyMDE5MmY1MmNjNDBmYTg1MmZiZjZiYmY1YmQ1ZGI1ZDVkMDBhYTk5MDVjNjdmNmYwZWFkZWVkNDhlYSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gImV4cGF0IgorUEFDS0FHRUNPTkZJR1tleHBhdF0gPSAiLS13aXRoLWV4cGF0LC0td2l0aG91dC1leHBhdCxleHBhdCIKKworQklOQ09ORklHID0gIiR7YmluZGlyfS9sb2c0Yy1jb25maWciCisKK2luaGVyaXQgYXV0b3Rvb2xzIGJpbmNvbmZpZy1kaXNhYmxlZApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2c0Y3BwL2ZpbGVzL2ZpeC1wYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9nNGNwcC9maWxlcy9maXgtcGMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjhmYjQyZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9nNGNwcC9maWxlcy9maXgtcGMucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorZGlmZiAtTnVyZCAuL2xvZzRjcHAub3JpZy9jb25maWd1cmUuaW4gLi9sb2c0Y3BwL2NvbmZpZ3VyZS5pbgorLS0tIC4vbG9nNGNwcC5vcmlnL2NvbmZpZ3VyZS5pbgkyMDA5LTA5LTA3IDE2OjU3OjQ2LjAwMDAwMDAwMCAtMDQwMAorKysrIC4vbG9nNGNwcC9jb25maWd1cmUuaW4JMjAxNi0wMi0yMyAxMjo1NzoxMS41NjcyNDAwMTggLTA1MDAKK0BAIC0xMzAsNyArMTMwLDYgQEAKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAKKyBBQ19DT05GSUdfTElCQ09ORklHX0lOKFtsb2c0Y3BwXSkKKy1BQ19DT05GSUdfUEtHQ09ORklHX0lOKFtsb2c0Y3BwXSwgW0MrKyBsaWJyYXJ5IGZvciBmbGV4aWJsZSBsb2dnaW5nLCBtb2RlbGVkIGFmdGVyIExvZzRqXSkKKyAKKyBBQ19DT05GSUdfRklMRVMoWworIE1ha2VmaWxlCitkaWZmIC1OdXJkIC4vbG9nNGNwcC5vcmlnL2xvZzRjcHAucGMuaW4gLi9sb2c0Y3BwL2xvZzRjcHAucGMuaW4KKy0tLSAuL2xvZzRjcHAub3JpZy9sb2c0Y3BwLnBjLmluCTIwMDQtMDEtMjcgMDU6MjQ6MjUuMDAwMDAwMDAwIC0wNTAwCisrKysgLi9sb2c0Y3BwL2xvZzRjcHAucGMuaW4JMjAxNi0wMi0yMiAxNTowNjo1NS43NjkzMjc0OTEgLTA1MDAKK0BAIC03LDQgKzcsNCBAQAorIERlc2NyaXB0aW9uOiBDKysgbGlicmFyeSBmb3IgZmxleGlibGUgbG9nZ2luZywgbW9kZWxlZCBhZnRlciBMb2c0agorIFZlcnNpb246IEBWRVJTSU9OQAorIExpYnM6IC1MJHtsaWJkaXJ9IEBsb2c0Y3BwX2xpYnNACistQ2ZsYWdzOiAtSSR7aW5jbHVkZWRpcn0gQGxvZzRjcHBfY2ZsYWdzQAorK0NmbGFnczogLUkke2luY2x1ZGVkaXJ9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvZzRjcHAvbG9nNGNwcF8xLjEuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9nNGNwcC9sb2c0Y3BwXzEuMS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3YmYyODgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvZzRjcHAvbG9nNGNwcF8xLjEuMS5iYgpAQCAtMCwwICsxLDIzIEBACitERVNDUklQVElPTiA9ICJBIGxpYnJhcnkgb2YgQysrIGNsYXNzZXMgZm9yIGZsZXhpYmxlIGxvZ2dpbmcgdG8gZmlsZXMsIHN5c2xvZywgSURTQSBhbmQgb3RoZXIgZGVzdGluYXRpb25zLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbG9nNGNwcC8iCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9N2ZiYzMzODMwOWFjMzhmZWZjZDY0YjA0YmI5MDNlMzQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxZTE3M2RmOGVlOTcyMDVmNDEyZmY4NGFhOTNiOGZiZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzNWFiZjMzMjYzMGE2ODA5Yzk2OTI3NmIxZDYwYjkwYzgxYTk1ZGFmMjRjODZjZmQ3ODY2ZmZlZjcyZjliZWQwIgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZHMuc291cmNlZm9yZ2UubmV0LyR7QlBOfS8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZml4LXBjLnBhdGNoO3N0cmlwbGV2ZWw9MiBcCisgICAgICAgICAgIgorCitTID0gIiR7V09SS0RJUn0vJHtCUE59IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworRVhUUkFfT0VDT05GID0gIlwKKyAgICAtLWVuYWJsZS1kb3h5Z2VuPW5vIFwKKyAgICAtLWVuYWJsZS1kb3Q9bm8gXAorICAgIC0tZW5hYmxlLWh0bWwtZG9jcz1ubyBcCisgICAgLS1lbmFibGUtbGF0ZXgtZG9jcz1ubyBcCisgICAgTERGTEFHUz0tcHRocmVhZCBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2E1ZTFjNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yLmluYwpAQCAtMCwwICsxLDY4IEBACitTRUNUSU9OID0gInV0aWxzIgorREVTQ1JJUFRJT04gPSAiTFZNMiBpcyBhIHNldCBvZiB1dGlsaXRpZXMgdG8gbWFuYWdlIGxvZ2ljYWwgdm9sdW1lcyBpbiBMaW51eC4iCitERVBFTkRTID0gInVkZXYiCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PWZiYzA5MzkwMTg1N2ZjZDExOGYwNjVmOTAwOTgyYzI0IgorCitTUkNfVVJJID0gImZ0cDovL3NvdXJjZXMucmVkaGF0LmNvbS9wdWIvbHZtMi9vbGQvTFZNMi4ke1BWfS50Z3ogXAorICAgICAgICAgICBmaWxlOi8vbHZtLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1pbXBsZW1lbnQtbGliYy1zcGVjaWZpYy1fcmVvcGVuX3N0cmVhbS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLXVzZS1QVEhSRUFEX01VVEVYX1JFQ1VSU0lWRS1pbnN0ZWFkLW9mLVBUSFJFQURfTVVURVgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1HdWFyZC11c2Utb2YtbWFsbGluZm8td2l0aC1fX0dMSUJDX18ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1pbmNsdWRlLWZjbnRsLmgtZm9yLU9fLWRlZmluZXMtYW5kLWZjbnRsLXNpZ25hdHVyZS5wYXRjaCBcCisgICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9L0xWTTIuJHtQVn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcgc3lzdGVtZAorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzZWxpbnV4JywgJ3NlbGludXgnLCAnJywgZCl9IgorCitQQUNLQUdFQ09ORklHW3JlYWRsaW5lXSA9ICItLWVuYWJsZS1yZWFkbGluZSwtLWRpc2FibGUtcmVhZGxpbmUscmVhZGxpbmUiCitQQUNLQUdFQ09ORklHW3NlbGludXhdID0gIi0tZW5hYmxlLXNlbGludXgsLS1kaXNhYmxlLXNlbGludXgsbGlic2VsaW51eCIKKworIyBVbnNldCB1c2VyL2dyb3VwIHRvIHVuYnJlYWsgaW5zdGFsbC4KK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtdXNlcj0gXAorICAgICAgICAgICAgICAgIC0td2l0aC1ncm91cD0gXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1vX2RpcmVjdCBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtcmVhbHRpbWUgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWFwcGxpYiBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtY21kbGliIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS11ZGV2X3N5bmMgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLXVkZXZfcnVsZXMgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLXBrZ2NvbmZpZyBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtZG1ldmVudGQgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWx2bWV0YWQgXAorICAgICAgICAgICAgICAgIC0td2l0aC11ZGV2LXByZWZpeD0gXAorICAgICAgICAgICAgICAgIC0td2l0aC11c3JsaWJkaXI9JHtsaWJkaXJ9IFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfSBcCisiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgSW5zdGFsbCBtYWNoaW5lIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZmlsZQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2x2bS5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L2x2bS9sdm0uY29uZgorICAgIHNlZCAtaSAtZSAnczpAbGliZGlyQDoke2xpYmRpcn06ZycgJHtEfSR7c3lzY29uZmRpcn0vbHZtL2x2bS5jb25mCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgorICAgICAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwgaW5zdGFsbF9zeXN0ZW1kX3VuaXRzCisgICAgICAgIHNlZCAtaSAtZSAnczovdXNyL2Jpbi90cnVlOiR7YmFzZV9iaW5kaXJ9L3RydWU6ZycgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vYmxrLWF2YWlsYWJpbGl0eS5zZXJ2aWNlCisgICAgZWxzZQorICAgICAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwgaW5zdGFsbF9pbml0c2NyaXB0cworICAgICAgICBtdiAke0R9JHtzeXNjb25mZGlyfS9yYy5kL2luaXQuZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICAgICAgcm0gLXJmICR7RH0ke3N5c2NvbmZkaXJ9L3JjLmQKKyAgICBmaQorfQorCitTWVNURU1EX1BBQ0tBR0VTID0gIiR7UE59IgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImx2bTItbW9uaXRvci5zZXJ2aWNlIGRtLWV2ZW50LnNvY2tldCBkbS1ldmVudC5zZXJ2aWNlIGx2bTItbHZtZXRhZC5zb2NrZXQgXAorICAgICAgICAgICAgICAgICAgICAgICAgIGx2bTItcHZzY2FuQC5zZXJ2aWNlIGJsay1hdmFpbGFiaWxpdHkuc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vZGV2aWNlLW1hcHBlci8qLnNvICR7YmFzZV9saWJkaXJ9L3VkZXYiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9kZXZpY2UtbWFwcGVyLy5kZWJ1ZyIKKworUkRFUEVORFNfJHtQTn0gPSAiYmFzaCIKKworQ09ORkZJTEVTXyR7UE59ICs9ICIke3N5c2NvbmZkaXJ9L2x2bS9sdm0uY29uZiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yLzAwMDEtaW1wbGVtZW50LWxpYmMtc3BlY2lmaWMtX3Jlb3Blbl9zdHJlYW0ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi8wMDAxLWltcGxlbWVudC1saWJjLXNwZWNpZmljLV9yZW9wZW5fc3RyZWFtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwYjRlNzEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi8wMDAxLWltcGxlbWVudC1saWJjLXNwZWNpZmljLV9yZW9wZW5fc3RyZWFtLnBhdGNoCkBAIC0wLDAgKzEsMTM5IEBACitGcm9tIDA4OWM5YzcwMWExYjY4YjcyMWY0NzlkZmMwYzU4YzM1YjlkZDQxNzUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogV2VkLCAyMCBKYW4gMjAxNiAwNDozOTo1MyArMDAwMAorU3ViamVjdDogW1BBVENIIDEvNF0gaW1wbGVtZW50IGxpYmMgc3BlY2lmaWMgX3Jlb3Blbl9zdHJlYW0KKworbXVzbCBkZWZpbmVzIHN0ZGluL3N0ZGlvL3N0ZGVyciBhcyBjb25zdGFudCB0eXBlcyB3aGljaCBtZWFucword2UgY2FuIG5vdCBhc3NpZ24gdG8gdGhlbSBhcyB3ZSBhcmUgZG9pbmcgaGVyZSBidXQgd29ya3Mgb2sgd2l0aCBnbGliYwordGhlcmVmb3JlIGFic3RyYWN0IG91dCB0aGUgX3Jlb3Blbl9zdHJlYW0gZGVmaW5pdGlvbiBkZXBlbmRpbmcgdXBvbiBpZgord2UgYXJlIHVzaW5nIGdsaWJjIG9yIG90aGVyd2lzZQorCitPcmlnaW46CitodHRwOi8vZ2l0LmFscGluZWxpbnV4Lm9yZy9jZ2l0L2Fwb3J0cy90cmVlL21haW4vbHZtMi9maXgtc3RkaW8tdXNhZ2UucGF0Y2gKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKKyBsaWIvY29tbWFuZHMvdG9vbGNvbnRleHQuYyB8IDIyICsrKysrKysrKysrLS0tLS0tLS0tLS0KKyB0b29scy9sdm1jbWRsaW5lLmMgICAgICAgICB8ICA2ICsrKy0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWIvY29tbWFuZHMvdG9vbGNvbnRleHQuYyBiL2xpYi9jb21tYW5kcy90b29sY29udGV4dC5jCitpbmRleCBhMmYyMWI4Li43Zjc5NmU0IDEwMDY0NAorLS0tIGEvbGliL2NvbW1hbmRzL3Rvb2xjb250ZXh0LmMKKysrKyBiL2xpYi9jb21tYW5kcy90b29sY29udGV4dC5jCitAQCAtMTYzNyw3ICsxNjM3LDEwIEBAIHN0YXRpYyB2b2lkIF9pbml0X2dsb2JhbHMoc3RydWN0IGNtZF9jb250ZXh0ICpjbWQpCisgLyoKKyAgKiBDbG9zZSBhbmQgcmVvcGVuIHN0cmVhbSBvbiBmaWxlIGRlc2NyaXB0b3IgZmQuCisgICovCistc3RhdGljIGludCBfcmVvcGVuX3N0cmVhbShGSUxFICpzdHJlYW0sIGludCBmZCwgY29uc3QgY2hhciAqbW9kZSwgY29uc3QgY2hhciAqbmFtZSwgRklMRSAqKm5ld19zdHJlYW0pCisrI2lmZGVmIF9fR0xJQkNfXworKyNkZWZpbmUgX3Jlb3Blbl9zdHJlYW0oc3RyZWFtLCBmZCwgbW9kZSwgbmFtZSkgX19yZW9wZW5fc3RyZWFtKHN0cmVhbSwgZmQsIG1vZGUsIG5hbWUsICZzdHJlYW0pCisrCisrc3RhdGljIGludCBfX3Jlb3Blbl9zdHJlYW0oRklMRSAqc3RyZWFtLCBpbnQgZmQsIGNvbnN0IGNoYXIgKm1vZGUsIGNvbnN0IGNoYXIgKm5hbWUsIEZJTEUgKipuZXdfc3RyZWFtKQorIHsKKyAJaW50IGZkX2NvcHksIG5ld19mZDsKKyAKK0BAIC0xNjY0LDYgKzE2NjcsOSBAQCBzdGF0aWMgaW50IF9yZW9wZW5fc3RyZWFtKEZJTEUgKnN0cmVhbSwgaW50IGZkLCBjb25zdCBjaGFyICptb2RlLCBjb25zdCBjaGFyICpuYQorIAorIAlyZXR1cm4gMTsKKyB9CisrI2Vsc2UKKysjZGVmaW5lIF9yZW9wZW5fc3RyZWFtKHN0cmVhbSwgZmQsIG1vZGUsIG5hbWUpIChmcmVvcGVuKE5VTEwsIG1vZGUsIHN0cmVhbSkgIT0gTlVMTCkKKysjZW5kaWYKKyAKKyBzdGF0aWMgaW50IF9pbml0X2x2bWV0YWQoc3RydWN0IGNtZF9jb250ZXh0ICpjbWQpCisgeworQEAgLTE3NDEsNyArMTc0Nyw2IEBAIHN0cnVjdCBjbWRfY29udGV4dCAqY3JlYXRlX3Rvb2xjb250ZXh0KHVuc2lnbmVkIGlzX2xvbmdfbGl2ZWQsCisgCQkJCSAgICAgICB1bnNpZ25lZCBzZXRfZmlsdGVycykKKyB7CisgCXN0cnVjdCBjbWRfY29udGV4dCAqY21kOworLQlGSUxFICpuZXdfc3RyZWFtOworIAlpbnQgZmxhZ3M7CisgCisgI2lmZGVmIE1fTU1BUF9NQVgKK0BAIC0xNzkxLDkgKzE3OTYsOCBAQCBzdHJ1Y3QgY21kX2NvbnRleHQgKmNyZWF0ZV90b29sY29udGV4dCh1bnNpZ25lZCBpc19sb25nX2xpdmVkLAorIAkJaWYgKGlzX3ZhbGlkX2ZkKFNURElOX0ZJTEVOTykgJiYKKyAJCSAgICAoKGZsYWdzID0gZmNudGwoU1RESU5fRklMRU5PLCBGX0dFVEZMKSkgPiAwKSAmJgorIAkJICAgIChmbGFncyAmIE9fQUNDTU9ERSkgIT0gT19XUk9OTFkpIHsKKy0JCQlpZiAoIV9yZW9wZW5fc3RyZWFtKHN0ZGluLCBTVERJTl9GSUxFTk8sICJyIiwgInN0ZGluIiwgJm5ld19zdHJlYW0pKQorKwkJCWlmICghX3Jlb3Blbl9zdHJlYW0oc3RkaW4sIFNURElOX0ZJTEVOTywgInIiLCAic3RkaW4iKSkKKyAJCQkJZ290b19vdXQ7CistCQkJc3RkaW4gPSBuZXdfc3RyZWFtOworIAkJCWlmIChzZXR2YnVmKHN0ZGluLCBjbWQtPmxpbmVidWZmZXIsIF9JT0xCRiwgbGluZWJ1ZmZlcl9zaXplKSkgeworIAkJCQlsb2dfc3lzX2Vycm9yKCJzZXR2YnVmIiwgIiIpOworIAkJCQlnb3RvIG91dDsKK0BAIC0xODAzLDkgKzE4MDcsOCBAQCBzdHJ1Y3QgY21kX2NvbnRleHQgKmNyZWF0ZV90b29sY29udGV4dCh1bnNpZ25lZCBpc19sb25nX2xpdmVkLAorIAkJaWYgKGlzX3ZhbGlkX2ZkKFNURE9VVF9GSUxFTk8pICYmCisgCQkgICAgKChmbGFncyA9IGZjbnRsKFNURE9VVF9GSUxFTk8sIEZfR0VURkwpKSA+IDApICYmCisgCQkgICAgKGZsYWdzICYgT19BQ0NNT0RFKSAhPSBPX1JET05MWSkgeworLQkJCWlmICghX3Jlb3Blbl9zdHJlYW0oc3Rkb3V0LCBTVERPVVRfRklMRU5PLCAidyIsICJzdGRvdXQiLCAmbmV3X3N0cmVhbSkpCisrCQkJaWYgKCFfcmVvcGVuX3N0cmVhbShzdGRvdXQsIFNURE9VVF9GSUxFTk8sICJ3IiwgInN0ZG91dCIpKQorIAkJCQlnb3RvX291dDsKKy0JCQlzdGRvdXQgPSBuZXdfc3RyZWFtOworIAkJCWlmIChzZXR2YnVmKHN0ZG91dCwgY21kLT5saW5lYnVmZmVyICsgbGluZWJ1ZmZlcl9zaXplLAorIAkJCQkgICAgIF9JT0xCRiwgbGluZWJ1ZmZlcl9zaXplKSkgeworIAkJCQlsb2dfc3lzX2Vycm9yKCJzZXR2YnVmIiwgIiIpOworQEAgLTIxMzEsNyArMjEzNCw2IEBAIGludCByZWZyZXNoX3Rvb2xjb250ZXh0KHN0cnVjdCBjbWRfY29udGV4dCAqY21kKQorIHZvaWQgZGVzdHJveV90b29sY29udGV4dChzdHJ1Y3QgY21kX2NvbnRleHQgKmNtZCkKKyB7CisgCXN0cnVjdCBkbV9jb25maWdfdHJlZSAqY2Z0X2NtZGxpbmU7CistCUZJTEUgKm5ld19zdHJlYW07CisgCWludCBmbGFnczsKKyAKKyAJaWYgKGNtZC0+ZHVtcF9maWx0ZXIgJiYgY21kLT5maWx0ZXIgJiYgY21kLT5maWx0ZXItPmR1bXAgJiYKK0BAIC0yMTY3LDggKzIxNjksNyBAQCB2b2lkIGRlc3Ryb3lfdG9vbGNvbnRleHQoc3RydWN0IGNtZF9jb250ZXh0ICpjbWQpCisgCQlpZiAoaXNfdmFsaWRfZmQoU1RESU5fRklMRU5PKSAmJgorIAkJICAgICgoZmxhZ3MgPSBmY250bChTVERJTl9GSUxFTk8sIEZfR0VURkwpKSA+IDApICYmCisgCQkgICAgKGZsYWdzICYgT19BQ0NNT0RFKSAhPSBPX1dST05MWSkgeworLQkJCWlmIChfcmVvcGVuX3N0cmVhbShzdGRpbiwgU1RESU5fRklMRU5PLCAiciIsICJzdGRpbiIsICZuZXdfc3RyZWFtKSkgeworLQkJCQlzdGRpbiA9IG5ld19zdHJlYW07CisrCQkJaWYgKF9yZW9wZW5fc3RyZWFtKHN0ZGluLCBTVERJTl9GSUxFTk8sICJyIiwgInN0ZGluIikpIHsKKyAJCQkJc2V0bGluZWJ1ZihzdGRpbik7CisgCQkJfSBlbHNlCisgCQkJCWNtZC0+bGluZWJ1ZmZlciA9IE5VTEw7CS8qIExlYXZlIGJ1ZmZlciBpbiBwbGFjZSAoZGVsaWJlcmF0ZSBsZWFrKSAqLworQEAgLTIxNzcsOCArMjE3OCw3IEBAIHZvaWQgZGVzdHJveV90b29sY29udGV4dChzdHJ1Y3QgY21kX2NvbnRleHQgKmNtZCkKKyAJCWlmIChpc192YWxpZF9mZChTVERPVVRfRklMRU5PKSAmJgorIAkJICAgICgoZmxhZ3MgPSBmY250bChTVERPVVRfRklMRU5PLCBGX0dFVEZMKSkgPiAwKSAmJgorIAkJICAgIChmbGFncyAmIE9fQUNDTU9ERSkgIT0gT19SRE9OTFkpIHsKKy0JCQlpZiAoX3Jlb3Blbl9zdHJlYW0oc3Rkb3V0LCBTVERPVVRfRklMRU5PLCAidyIsICJzdGRvdXQiLCAmbmV3X3N0cmVhbSkpIHsKKy0JCQkJc3Rkb3V0ID0gbmV3X3N0cmVhbTsKKysJCQlpZiAoX3Jlb3Blbl9zdHJlYW0oc3Rkb3V0LCBTVERPVVRfRklMRU5PLCAidyIsICJzdGRvdXQiKSkgeworIAkJCQlzZXRsaW5lYnVmKHN0ZG91dCk7CisgCQkJfSBlbHNlCisgCQkJCWNtZC0+bGluZWJ1ZmZlciA9IE5VTEw7CS8qIExlYXZlIGJ1ZmZlciBpbiBwbGFjZSAoZGVsaWJlcmF0ZSBsZWFrKSAqLworZGlmZiAtLWdpdCBhL3Rvb2xzL2x2bWNtZGxpbmUuYyBiL3Rvb2xzL2x2bWNtZGxpbmUuYworaW5kZXggNjU3Nzk3Ny4uYTMzMjU4YSAxMDA2NDQKKy0tLSBhL3Rvb2xzL2x2bWNtZGxpbmUuYworKysrIGIvdG9vbHMvbHZtY21kbGluZS5jCitAQCAtMTc0NCw3ICsxNzQ0LDcgQEAgc3RhdGljIGludCBfY2hlY2tfc3RhbmRhcmRfZmRzKHZvaWQpCisgCWludCBlcnIgPSBpc192YWxpZF9mZChTVERFUlJfRklMRU5PKTsKKyAKKyAJaWYgKCFpc192YWxpZF9mZChTVERJTl9GSUxFTk8pICYmCistCSAgICAhKHN0ZGluID0gZm9wZW4oX1BBVEhfREVWTlVMTCwgInIiKSkpIHsKKysJICAgICFmcmVvcGVuKF9QQVRIX0RFVk5VTEwsICJyIiwgc3RkaW4pKSB7CisgCQlpZiAoZXJyKQorIAkJCXBlcnJvcigic3RkaW4gc3RyZWFtIG9wZW4iKTsKKyAJCWVsc2UKK0BAIC0xNzU0LDcgKzE3NTQsNyBAQCBzdGF0aWMgaW50IF9jaGVja19zdGFuZGFyZF9mZHModm9pZCkKKyAJfQorIAorIAlpZiAoIWlzX3ZhbGlkX2ZkKFNURE9VVF9GSUxFTk8pICYmCistCSAgICAhKHN0ZG91dCA9IGZvcGVuKF9QQVRIX0RFVk5VTEwsICJ3IikpKSB7CisrCSAgICAhZnJlb3BlbihfUEFUSF9ERVZOVUxMLCAidyIsIHN0ZG91dCkpIHsKKyAJCWlmIChlcnIpCisgCQkJcGVycm9yKCJzdGRvdXQgc3RyZWFtIG9wZW4iKTsKKyAJCS8qIGVsc2Ugbm8gc3Rkb3V0ICovCitAQCAtMTc2Miw3ICsxNzYyLDcgQEAgc3RhdGljIGludCBfY2hlY2tfc3RhbmRhcmRfZmRzKHZvaWQpCisgCX0KKyAKKyAJaWYgKCFpc192YWxpZF9mZChTVERFUlJfRklMRU5PKSAmJgorLQkgICAgIShzdGRlcnIgPSBmb3BlbihfUEFUSF9ERVZOVUxMLCAidyIpKSkgeworKwkgICAgIWZyZW9wZW4oX1BBVEhfREVWTlVMTCwgInciLCBzdGRlcnIpKSB7CisgCQlwcmludGYoInN0ZGVyciBzdHJlYW0gb3BlbjogJXNcbiIsCisgCQkgICAgICAgc3RyZXJyb3IoZXJybm8pKTsKKyAJCXJldHVybiAwOworLS0gCisyLjcuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi8wMDAyLXVzZS1QVEhSRUFEX01VVEVYX1JFQ1VSU0lWRS1pbnN0ZWFkLW9mLVBUSFJFQURfTVVURVgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi8wMDAyLXVzZS1QVEhSRUFEX01VVEVYX1JFQ1VSU0lWRS1pbnN0ZWFkLW9mLVBUSFJFQURfTVVURVgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTY5YTE1MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yLzAwMDItdXNlLVBUSFJFQURfTVVURVhfUkVDVVJTSVZFLWluc3RlYWQtb2YtUFRIUkVBRF9NVVRFWC5wYXRjaApAQCAtMCwwICsxLDQ0IEBACitGcm9tIGM4YTFiNjY5Y2JmZjNlZWUzNjdmZDRkYjMzODllMzM3YmM0Yzk4YmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogV2VkLCAyMCBKYW4gMjAxNiAwNDo0NjoyNiArMDAwMAorU3ViamVjdDogW1BBVENIIDIvNF0gdXNlIFBUSFJFQURfTVVURVhfUkVDVVJTSVZFIGluc3RlYWQgb2YKKyBQVEhSRUFEX01VVEVYX1JFQ1VSU0lWRV9OUAorCitQVEhSRUFEX01VVEVYX1JFQ1VSU0lWRV9OUCB3YXMgdXNlZCBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG9sZCBnbGliYy4KK0FsdGhvdWdoIGR1ZSB0byB0aGVfR05VX1NPVVJDRVMgZGVmaW5lIHRoZSBwb3J0YWJsZSwKK1BUSFJFQURfTVVURVhfUkVDVVJTSVZFIHdpbGwgYmUgYXZhaWxhYmxlIGZvciBMaW51eGVzIHNpbmNlIGF0IGxlYXN0CisxOTk4LiBTaW1wbGlmeSB0aGluZ3MgZ2l2aW5nIHVzIGNvbXBhdGliaWxpdHkgd2l0aCBtdXNsIHdoaWNoCithcHBhcmVudGx5IGRvZXMgbm90IHByb3ZpZGUgdGhlIG5vbi1wb3J0YWJsZSBkZWZpbmUuCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCisgZGFlbW9ucy9sdm1ldGFkL2x2bWV0YWQtY29yZS5jIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2RhZW1vbnMvbHZtZXRhZC9sdm1ldGFkLWNvcmUuYyBiL2RhZW1vbnMvbHZtZXRhZC9sdm1ldGFkLWNvcmUuYworaW5kZXggN2FmOWJkZS4uNjM3MDdjMiAxMDA2NDQKKy0tLSBhL2RhZW1vbnMvbHZtZXRhZC9sdm1ldGFkLWNvcmUuYworKysrIGIvZGFlbW9ucy9sdm1ldGFkL2x2bWV0YWQtY29yZS5jCitAQCAtMzAwLDcgKzMwMCw3IEBAIHN0YXRpYyBzdHJ1Y3QgZG1fY29uZmlnX3RyZWUgKmxvY2tfdmcobHZtZXRhZF9zdGF0ZSAqcywgY29uc3QgY2hhciAqaWQpIHsKKyAJaWYgKCEodmcgPSBkbV9oYXNoX2xvb2t1cChzLT5sb2NrLnZnLCBpZCkpKSB7CisgCQlpZiAoISh2ZyA9IG1hbGxvYyhzaXplb2YocHRocmVhZF9tdXRleF90KSkpIHx8CisgCQkgICAgcHRocmVhZF9tdXRleGF0dHJfaW5pdCgmcmVjKSB8fAorLQkJICAgIHB0aHJlYWRfbXV0ZXhhdHRyX3NldHR5cGUoJnJlYywgUFRIUkVBRF9NVVRFWF9SRUNVUlNJVkVfTlApIHx8CisrCQkgICAgcHRocmVhZF9tdXRleGF0dHJfc2V0dHlwZSgmcmVjLCBQVEhSRUFEX01VVEVYX1JFQ1VSU0lWRSkgfHwKKyAJCSAgICBwdGhyZWFkX211dGV4X2luaXQodmcsICZyZWMpKQorIAkJCWdvdG8gYmFkOworIAkJaWYgKCFkbV9oYXNoX2luc2VydChzLT5sb2NrLnZnLCBpZCwgdmcpKSB7CitAQCAtMjg5MCw3ICsyODkwLDcgQEAgc3RhdGljIGludCBpbml0KGRhZW1vbl9zdGF0ZSAqcykKKyAJbHMtPmxvZyA9IHMtPmxvZzsKKyAKKyAJcHRocmVhZF9tdXRleGF0dHJfaW5pdCgmcmVjKTsKKy0JcHRocmVhZF9tdXRleGF0dHJfc2V0dHlwZSgmcmVjLCBQVEhSRUFEX01VVEVYX1JFQ1VSU0lWRV9OUCk7CisrCXB0aHJlYWRfbXV0ZXhhdHRyX3NldHR5cGUoJnJlYywgUFRIUkVBRF9NVVRFWF9SRUNVUlNJVkUpOworIAlwdGhyZWFkX211dGV4X2luaXQoJmxzLT5sb2NrLnB2aWRfdG9fcHZtZXRhLCAmcmVjKTsKKyAJcHRocmVhZF9tdXRleF9pbml0KCZscy0+bG9jay52Z2lkX3RvX21ldGFkYXRhLCAmcmVjKTsKKyAJcHRocmVhZF9tdXRleF9pbml0KCZscy0+bG9jay5wdmlkX3RvX3ZnaWQsIE5VTEwpOworLS0gCisyLjcuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi8wMDAzLUd1YXJkLXVzZS1vZi1tYWxsaW5mby13aXRoLV9fR0xJQkNfXy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yLzAwMDMtR3VhcmQtdXNlLW9mLW1hbGxpbmZvLXdpdGgtX19HTElCQ19fLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkNzE3NjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi8wMDAzLUd1YXJkLXVzZS1vZi1tYWxsaW5mby13aXRoLV9fR0xJQkNfXy5wYXRjaApAQCAtMCwwICsxLDMwIEBACitGcm9tIGUwMThkMDU1NjAzMzg5YjIyY2JjM2JkNjhiMTUyNWYzMDQ4ZWJlZTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogV2VkLCAyMCBKYW4gMjAxNiAwNDo1MDoyNiArMDAwMAorU3ViamVjdDogW1BBVENIIDMvNF0gR3VhcmQgdXNlIG9mIG1hbGxpbmZvKCkgd2l0aCBfX0dMSUJDX18KKworVGhpcyBBUEkgaXMgZ2xpYmMtb25seQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworIGxpYi9tbS9tZW1sb2NrLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9saWIvbW0vbWVtbG9jay5jIGIvbGliL21tL21lbWxvY2suYworaW5kZXggOTY5ZjFkNy4uNDA1YTdjMCAxMDA2NDQKKy0tLSBhL2xpYi9tbS9tZW1sb2NrLmMKKysrKyBiL2xpYi9tbS9tZW1sb2NrLmMKK0BAIC0xNDUsNyArMTQ1LDcgQEAgc3RhdGljIHZvaWQgX3RvdWNoX21lbW9yeSh2b2lkICptZW0sIHNpemVfdCBzaXplKQorIAorIHN0YXRpYyB2b2lkIF9hbGxvY2F0ZV9tZW1vcnkodm9pZCkKKyB7CistI2lmbmRlZiBWQUxHUklORF9QT09MCisrI2lmICFkZWZpbmVkKFZBTEdSSU5EX1BPT0wpICYmIGRlZmluZWQoX19HTElCQ19fKQorIAl2b2lkICpzdGFja19tZW07CisgCXN0cnVjdCBybGltaXQgbGltaXQ7CisgCWludCBpLCBhcmVhID0gMCwgbWlzc2luZyA9IF9zaXplX21hbGxvY190bXAsIG1heF9hcmVhcyA9IDMyLCBoYmxrczsKKy0tIAorMi43LjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIvMDAwNC1pbmNsdWRlLWZjbnRsLmgtZm9yLU9fLWRlZmluZXMtYW5kLWZjbnRsLXNpZ25hdHVyZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yLzAwMDQtaW5jbHVkZS1mY250bC5oLWZvci1PXy1kZWZpbmVzLWFuZC1mY250bC1zaWduYXR1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmEzYjg0MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yLzAwMDQtaW5jbHVkZS1mY250bC5oLWZvci1PXy1kZWZpbmVzLWFuZC1mY250bC1zaWduYXR1cmUucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorRnJvbSA5Yjc5M2Q1YjRhZGM1ZDhiMzY4NGU3ZjY2OTQzZTIzNmVhZTdjMmRiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMjAgSmFuIDIwMTYgMDQ6NTI6NTkgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCA0LzRdIGluY2x1ZGUgZmNudGwuaCBmb3IgT18qIGRlZmluZXMgYW5kIGZjbnRsKCkgc2lnbmF0dXJlCisKK09uIGdsaWJjIF9zb21laG93XyB0aGlzIGhlYWRlciBnZXRzIHB1bGxlZCBpbiBpbmRpcmVjdGx5CisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCisgbGliZGFlbW9uL3NlcnZlci9kYWVtb24tc2VydmVyLmMgfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL2xpYmRhZW1vbi9zZXJ2ZXIvZGFlbW9uLXNlcnZlci5jIGIvbGliZGFlbW9uL3NlcnZlci9kYWVtb24tc2VydmVyLmMKK2luZGV4IGQ5ZDYwZDEuLjQzM2QxMDAgMTAwNjQ0CistLS0gYS9saWJkYWVtb24vc2VydmVyL2RhZW1vbi1zZXJ2ZXIuYworKysrIGIvbGliZGFlbW9uL3NlcnZlci9kYWVtb24tc2VydmVyLmMKK0BAIC0xOCw2ICsxOCw3IEBACisgI2luY2x1ZGUgImRhZW1vbi1zZXJ2ZXIuaCIKKyAjaW5jbHVkZSAiZGFlbW9uLWxvZy5oIgorIAorKyNpbmNsdWRlIDxmY250bC5oPgorICNpbmNsdWRlIDxkbGZjbi5oPgorICNpbmNsdWRlIDxlcnJuby5oPgorICNpbmNsdWRlIDxwdGhyZWFkLmg+CistLSAKKzIuNy4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yL2x2bS5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIvbHZtLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWUzYjVmZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yL2x2bS5jb25mCkBAIC0wLDAgKzEsMzI2IEBACisjIFRoaXMgaXMgYW4gZXhhbXBsZSBjb25maWd1cmF0aW9uIGZpbGUgZm9yIHRoZSBMVk0yIHN5c3RlbS4KKyMgSXQgY29udGFpbnMgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhhdCB3b3VsZCBiZSB1c2VkIGlmIHRoZXJlIHdhcyBubworIyAvZXRjL2x2bS9sdm0uY29uZiBmaWxlLgorIworIyBSZWZlciB0byAnbWFuIGx2bS5jb25mJyBmb3IgZnVydGhlciBpbmZvcm1hdGlvbiBpbmNsdWRpbmcgdGhlIGZpbGUgbGF5b3V0LgorIworIyBUbyBwdXQgdGhpcyBmaWxlIGluIGEgZGlmZmVyZW50IGRpcmVjdG9yeSBhbmQgb3ZlcnJpZGUgL2V0Yy9sdm0gc2V0CisjIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBMVk1fU1lTVEVNX0RJUiBiZWZvcmUgcnVubmluZyB0aGUgdG9vbHMuCisKKworIyBUaGlzIHNlY3Rpb24gYWxsb3dzIHlvdSB0byBjb25maWd1cmUgd2hpY2ggYmxvY2sgZGV2aWNlcyBzaG91bGQKKyMgYmUgdXNlZCBieSB0aGUgTFZNIHN5c3RlbS4KK2RldmljZXMgeworCisgICAgIyBXaGVyZSBkbyB5b3Ugd2FudCB5b3VyIHZvbHVtZSBncm91cHMgdG8gYXBwZWFyID8KKyAgICBkaXIgPSAiL2RldiIKKworICAgICMgQW4gYXJyYXkgb2YgZGlyZWN0b3JpZXMgdGhhdCBjb250YWluIHRoZSBkZXZpY2Ugbm9kZXMgeW91IHdpc2gKKyAgICAjIHRvIHVzZSB3aXRoIExWTTIuCisgICAgc2NhbiA9IFsgIi9kZXYiIF0KKworICAgICMgQSBmaWx0ZXIgdGhhdCB0ZWxscyBMVk0yIHRvIG9ubHkgdXNlIGEgcmVzdHJpY3RlZCBzZXQgb2YgZGV2aWNlcy4KKyAgICAjIFRoZSBmaWx0ZXIgY29uc2lzdHMgb2YgYW4gYXJyYXkgb2YgcmVndWxhciBleHByZXNzaW9ucy4gIFRoZXNlCisgICAgIyBleHByZXNzaW9ucyBjYW4gYmUgZGVsaW1pdGVkIGJ5IGEgY2hhcmFjdGVyIG9mIHlvdXIgY2hvaWNlLCBhbmQKKyAgICAjIHByZWZpeGVkIHdpdGggZWl0aGVyIGFuICdhJyAoZm9yIGFjY2VwdCkgb3IgJ3InIChmb3IgcmVqZWN0KS4KKyAgICAjIFRoZSBmaXJzdCBleHByZXNzaW9uIGZvdW5kIHRvIG1hdGNoIGEgZGV2aWNlIG5hbWUgZGV0ZXJtaW5lcyBpZgorICAgICMgdGhlIGRldmljZSB3aWxsIGJlIGFjY2VwdGVkIG9yIHJlamVjdGVkIChpZ25vcmVkKS4gIERldmljZXMgdGhhdAorICAgICMgZG9uJ3QgbWF0Y2ggYW55IHBhdHRlcm5zIGFyZSBhY2NlcHRlZC4KKworICAgICMgQmUgY2FyZWZ1bCBpZiB0aGVyZSB0aGVyZSBhcmUgc3ltYm9saWMgbGlua3Mgb3IgbXVsdGlwbGUgZmlsZXN5c3RlbSAKKyAgICAjIGVudHJpZXMgZm9yIHRoZSBzYW1lIGRldmljZSBhcyBlYWNoIG5hbWUgaXMgY2hlY2tlZCBzZXBhcmF0ZWx5IGFnYWluc3QKKyAgICAjIHRoZSBsaXN0IG9mIHBhdHRlcm5zLiAgVGhlIGVmZmVjdCBpcyB0aGF0IGlmIGFueSBuYW1lIG1hdGNoZXMgYW55ICdhJworICAgICMgcGF0dGVybiwgdGhlIGRldmljZSBpcyBhY2NlcHRlZDsgb3RoZXJ3aXNlIGlmIGFueSBuYW1lIG1hdGNoZXMgYW55ICdyJworICAgICMgcGF0dGVybiBpdCBpcyByZWplY3RlZDsgb3RoZXJ3aXNlIGl0IGlzIGFjY2VwdGVkLgorCisgICAgIyBEb24ndCBoYXZlIG1vcmUgdGhhbiBvbmUgZmlsdGVyIGxpbmUgYWN0aXZlIGF0IG9uY2U6IG9ubHkgb25lIGdldHMgdXNlZC4KKworICAgICMgUnVuIHZnc2NhbiBhZnRlciB5b3UgY2hhbmdlIHRoaXMgcGFyYW1ldGVyIHRvIGVuc3VyZSB0aGF0CisgICAgIyB0aGUgY2FjaGUgZmlsZSBnZXRzIHJlZ2VuZXJhdGVkIChzZWUgYmVsb3cpLgorICAgICMgSWYgaXQgZG9lc24ndCBkbyB3aGF0IHlvdSBleHBlY3QsIGNoZWNrIHRoZSBvdXRwdXQgb2YgJ3Znc2NhbiAtdnZ2dicuCisKKworICAgICMgQnkgZGVmYXVsdCB3ZSBhY2NlcHQgZXZlcnkgYmxvY2sgZGV2aWNlOgorICAgIGZpbHRlciA9IFsgImEvLiovIiBdCisKKyAgICAjIEV4Y2x1ZGUgdGhlIGNkcm9tIGRyaXZlCisgICAgIyBmaWx0ZXIgPSBbICJyfC9kZXYvY2Ryb218IiBdCisKKyAgICAjIFdoZW4gdGVzdGluZyBJIGxpa2UgdG8gd29yayB3aXRoIGp1c3QgbG9vcGJhY2sgZGV2aWNlczoKKyAgICAjIGZpbHRlciA9IFsgImEvbG9vcC8iLCAici8uKi8iIF0KKworICAgICMgT3IgbWF5YmUgYWxsIGxvb3BzIGFuZCBpZGUgZHJpdmVzIGV4Y2VwdCBoZGM6CisgICAgIyBmaWx0ZXIgPVsgImF8bG9vcHwiLCAicnwvZGV2L2hkY3wiLCAiYXwvZGV2L2lkZXwiLCAicnwuKnwiIF0KKworICAgICMgVXNlIGFuY2hvcnMgaWYgeW91IHdhbnQgdG8gYmUgcmVhbGx5IHNwZWNpZmljCisgICAgIyBmaWx0ZXIgPSBbICJhfF4vZGV2L2hkYTgkfCIsICJyLy4qLyIgXQorCisgICAgIyBUaGUgcmVzdWx0cyBvZiB0aGUgZmlsdGVyaW5nIGFyZSBjYWNoZWQgb24gZGlzayB0byBhdm9pZAorICAgICMgcmVzY2FubmluZyBkdWQgZGV2aWNlcyAod2hpY2ggY2FuIHRha2UgYSB2ZXJ5IGxvbmcgdGltZSkuICBCeQorICAgICMgZGVmYXVsdCB0aGlzIGNhY2hlIGZpbGUgaXMgaGlkZGVuIGluIHRoZSAvZXRjL2x2bSBkaXJlY3RvcnkuCisgICAgIyBJdCBpcyBzYWZlIHRvIGRlbGV0ZSB0aGlzIGZpbGU6IHRoZSB0b29scyByZWdlbmVyYXRlIGl0LgorICAgIGNhY2hlID0gIi9ldGMvbHZtLy5jYWNoZSIKKworICAgICMgWW91IGNhbiB0dXJuIG9mZiB3cml0aW5nIHRoaXMgY2FjaGUgZmlsZSBieSBzZXR0aW5nIHRoaXMgdG8gMC4KKyAgICB3cml0ZV9jYWNoZV9zdGF0ZSA9IDEKKworICAgICMgQWR2YW5jZWQgc2V0dGluZ3MuCisKKyAgICAjIExpc3Qgb2YgcGFpcnMgb2YgYWRkaXRpb25hbCBhY2NlcHRhYmxlIGJsb2NrIGRldmljZSB0eXBlcyBmb3VuZCAKKyAgICAjIGluIC9wcm9jL2RldmljZXMgd2l0aCBtYXhpbXVtIChub24temVybykgbnVtYmVyIG9mIHBhcnRpdGlvbnMuCisgICAgIyB0eXBlcyA9IFsgImZkIiwgMTYgXQorCisgICAgIyBJZiBzeXNmcyBpcyBtb3VudGVkICgyLjYga2VybmVscykgcmVzdHJpY3QgZGV2aWNlIHNjYW5uaW5nIHRvIAorICAgICMgdGhlIGJsb2NrIGRldmljZXMgaXQgYmVsaWV2ZXMgYXJlIHZhbGlkLgorICAgICMgMSBlbmFibGVzOyAwIGRpc2FibGVzLgorICAgIHN5c2ZzX3NjYW4gPSAxCQorCisgICAgIyBCeSBkZWZhdWx0LCBMVk0yIHdpbGwgaWdub3JlIGRldmljZXMgdXNlZCBhcyBjb21wb25lbnRzIG9mCisgICAgIyBzb2Z0d2FyZSBSQUlEIChtZCkgZGV2aWNlcyBieSBsb29raW5nIGZvciBtZCBzdXBlcmJsb2Nrcy4KKyAgICAjIDEgZW5hYmxlczsgMCBkaXNhYmxlcy4KKyAgICBtZF9jb21wb25lbnRfZGV0ZWN0aW9uID0gMQorfQorCisjIFRoaXMgc2VjdGlvbiB0aGF0IGFsbG93cyB5b3UgdG8gY29uZmlndXJlIHRoZSBuYXR1cmUgb2YgdGhlCisjIGluZm9ybWF0aW9uIHRoYXQgTFZNMiByZXBvcnRzLgorbG9nIHsKKworICAgICMgQ29udHJvbHMgdGhlIG1lc3NhZ2VzIHNlbnQgdG8gc3Rkb3V0IG9yIHN0ZGVyci4KKyAgICAjIFRoZXJlIGFyZSB0aHJlZSBsZXZlbHMgb2YgdmVyYm9zaXR5LCAzIGJlaW5nIHRoZSBtb3N0IHZlcmJvc2UuCisgICAgdmVyYm9zZSA9IDAKKworICAgICMgU2hvdWxkIHdlIHNlbmQgbG9nIG1lc3NhZ2VzIHRocm91Z2ggc3lzbG9nPworICAgICMgMSBpcyB5ZXM7IDAgaXMgbm8uCisgICAgc3lzbG9nID0gMQorCisgICAgIyBTaG91bGQgd2UgbG9nIGVycm9yIGFuZCBkZWJ1ZyBtZXNzYWdlcyB0byBhIGZpbGU/CisgICAgIyBCeSBkZWZhdWx0IHRoZXJlIGlzIG5vIGxvZyBmaWxlLgorICAgICNmaWxlID0gIi92YXIvbG9nL2x2bTIubG9nIgorCisgICAgIyBTaG91bGQgd2Ugb3ZlcndyaXRlIHRoZSBsb2cgZmlsZSBlYWNoIHRpbWUgdGhlIHByb2dyYW0gaXMgcnVuPworICAgICMgQnkgZGVmYXVsdCB3ZSBhcHBlbmQuCisgICAgb3ZlcndyaXRlID0gMAorCisgICAgIyBXaGF0IGxldmVsIG9mIGxvZyBtZXNzYWdlcyBzaG91bGQgd2Ugc2VuZCB0byB0aGUgbG9nIGZpbGUgYW5kL29yIHN5c2xvZz8KKyAgICAjIFRoZXJlIGFyZSA2IHN5c2xvZy1saWtlIGxvZyBsZXZlbHMgY3VycmVudGx5IGluIHVzZSAtIDIgdG8gNyBpbmNsdXNpdmUuCisgICAgIyA3IGlzIHRoZSBtb3N0IHZlcmJvc2UgKExPR19ERUJVRykuCisgICAgbGV2ZWwgPSAwCisgICAgCisgICAgIyBGb3JtYXQgb2Ygb3V0cHV0IG1lc3NhZ2VzCisgICAgIyBXaGV0aGVyIG9yIG5vdCAoMSBvciAwKSB0byBpbmRlbnQgbWVzc2FnZXMgYWNjb3JkaW5nIHRvIHRoZWlyIHNldmVyaXR5CisgICAgaW5kZW50ID0gMQorCisgICAgIyBXaGV0aGVyIG9yIG5vdCAoMSBvciAwKSB0byBkaXNwbGF5IHRoZSBjb21tYW5kIG5hbWUgb24gZWFjaCBsaW5lIG91dHB1dAorICAgIGNvbW1hbmRfbmFtZXMgPSAwCisKKyAgICAjIEEgcHJlZml4IHRvIHVzZSBiZWZvcmUgdGhlIG1lc3NhZ2UgdGV4dCAoYnV0IGFmdGVyIHRoZSBjb21tYW5kIG5hbWUsCisgICAgIyBpZiBzZWxlY3RlZCkuICBEZWZhdWx0IGlzIHR3byBzcGFjZXMsIHNvIHlvdSBjYW4gc2VlL2dyZXAgdGhlIHNldmVyaXR5CisgICAgIyBvZiBlYWNoIG1lc3NhZ2UuCisgICAgcHJlZml4ID0gIiAgIgorCisgICAgIyBUbyBtYWtlIHRoZSBtZXNzYWdlcyBsb29rIHNpbWlsYXIgdG8gdGhlIG9yaWdpbmFsIExWTSB0b29scyB1c2U6CisgICAgIyAgIGluZGVudCA9IDAKKyAgICAjICAgY29tbWFuZF9uYW1lcyA9IDEKKyAgICAjICAgcHJlZml4ID0gIiAtLSAiCisKKyAgICAjIFNldCB0aGlzIGlmIHlvdSB3YW50IGxvZyBtZXNzYWdlcyBkdXJpbmcgYWN0aXZhdGlvbi4KKyAgICAjIERvbid0IHVzZSB0aGlzIGluIGxvdyBtZW1vcnkgc2l0dWF0aW9ucyAoY2FuIGRlYWRsb2NrKS4KKyAgICAjIGFjdGl2YXRpb24gPSAwCit9CisKKyMgQ29uZmlndXJhdGlvbiBvZiBtZXRhZGF0YSBiYWNrdXBzIGFuZCBhcmNoaXZpbmcuICBJbiBMVk0yIHdoZW4gd2UKKyMgdGFsayBhYm91dCBhICdiYWNrdXAnIHdlIG1lYW4gbWFraW5nIGEgY29weSBvZiB0aGUgbWV0YWRhdGEgZm9yIHRoZQorIyAqY3VycmVudCogc3lzdGVtLiAgVGhlICdhcmNoaXZlJyBjb250YWlucyBvbGQgbWV0YWRhdGEgY29uZmlndXJhdGlvbnMuCisjIEJhY2t1cHMgYXJlIHN0b3JlZCBpbiBhIGh1bWFuIHJlYWRlYWJsZSB0ZXh0IGZvcm1hdC4KK2JhY2t1cCB7CisKKyAgICAjIFNob3VsZCB3ZSBtYWludGFpbiBhIGJhY2t1cCBvZiB0aGUgY3VycmVudCBtZXRhZGF0YSBjb25maWd1cmF0aW9uID8KKyAgICAjIFVzZSAxIGZvciBZZXM7IDAgZm9yIE5vLgorICAgICMgVGhpbmsgdmVyeSBoYXJkIGJlZm9yZSB0dXJuaW5nIHRoaXMgb2ZmIQorICAgIGJhY2t1cCA9IDEKKworICAgICMgV2hlcmUgc2hhbGwgd2Uga2VlcCBpdCA/CisgICAgIyBSZW1lbWJlciB0byBiYWNrIHVwIHRoaXMgZGlyZWN0b3J5IHJlZ3VsYXJseSEKKyAgICBiYWNrdXBfZGlyID0gIi9ldGMvbHZtL2JhY2t1cCIKKworICAgICMgU2hvdWxkIHdlIG1haW50YWluIGFuIGFyY2hpdmUgb2Ygb2xkIG1ldGFkYXRhIGNvbmZpZ3VyYXRpb25zLgorICAgICMgVXNlIDEgZm9yIFllczsgMCBmb3IgTm8uCisgICAgIyBPbiBieSBkZWZhdWx0LiAgVGhpbmsgdmVyeSBoYXJkIGJlZm9yZSB0dXJuaW5nIHRoaXMgb2ZmLgorICAgIGFyY2hpdmUgPSAxCisKKyAgICAjIFdoZXJlIHNob3VsZCBhcmNoaXZlZCBmaWxlcyBnbyA/CisgICAgIyBSZW1lbWJlciB0byBiYWNrIHVwIHRoaXMgZGlyZWN0b3J5IHJlZ3VsYXJseSEKKyAgICBhcmNoaXZlX2RpciA9ICIvZXRjL2x2bS9hcmNoaXZlIgorICAgIAorICAgICMgV2hhdCBpcyB0aGUgbWluaW11bSBudW1iZXIgb2YgYXJjaGl2ZSBmaWxlcyB5b3Ugd2lzaCB0byBrZWVwID8KKyAgICByZXRhaW5fbWluID0gMTAKKworICAgICMgV2hhdCBpcyB0aGUgbWluaW11bSB0aW1lIHlvdSB3aXNoIHRvIGtlZXAgYW4gYXJjaGl2ZSBmaWxlIGZvciA/CisgICAgcmV0YWluX2RheXMgPSAzMAorfQorCisjIFNldHRpbmdzIGZvciB0aGUgcnVubmluZyBMVk0yIGluIHNoZWxsIChyZWFkbGluZSkgbW9kZS4KK3NoZWxsIHsKKworICAgICMgTnVtYmVyIG9mIGxpbmVzIG9mIGhpc3RvcnkgdG8gc3RvcmUgaW4gfi8ubHZtX2hpc3RvcnkKKyAgICBoaXN0b3J5X3NpemUgPSAxMDAKK30KKworCisjIE1pc2NlbGxhbmVvdXMgZ2xvYmFsIExWTTIgc2V0dGluZ3MKK2dsb2JhbCB7CisgICAgCisgICAgIyBUaGUgZmlsZSBjcmVhdGlvbiBtYXNrIGZvciBhbnkgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIGNyZWF0ZWQuCisgICAgIyBJbnRlcnByZXRlZCBhcyBvY3RhbCBpZiB0aGUgZmlyc3QgZGlnaXQgaXMgemVyby4KKyAgICB1bWFzayA9IDA3NworCisgICAgIyBBbGxvdyBvdGhlciB1c2VycyB0byByZWFkIHRoZSBmaWxlcworICAgICN1bWFzayA9IDAyMgorCisgICAgIyBFbmFibGluZyB0ZXN0IG1vZGUgbWVhbnMgdGhhdCBubyBjaGFuZ2VzIHRvIHRoZSBvbiBkaXNrIG1ldGFkYXRhCisgICAgIyB3aWxsIGJlIG1hZGUuICBFcXVpdmFsZW50IHRvIGhhdmluZyB0aGUgLXQgb3B0aW9uIG9uIGV2ZXJ5CisgICAgIyBjb21tYW5kLiAgRGVmYXVsdHMgdG8gb2ZmLgorICAgIHRlc3QgPSAwCisKKyAgICAjIFdoZXRoZXIgb3Igbm90IHRvIGNvbW11bmljYXRlIHdpdGggdGhlIGtlcm5lbCBkZXZpY2UtbWFwcGVyLgorICAgICMgU2V0IHRvIDAgaWYgeW91IHdhbnQgdG8gdXNlIHRoZSB0b29scyB0byBtYW5pcHVsYXRlIExWTSBtZXRhZGF0YSAKKyAgICAjIHdpdGhvdXQgYWN0aXZhdGluZyBhbnkgbG9naWNhbCB2b2x1bWVzLgorICAgICMgSWYgdGhlIGRldmljZS1tYXBwZXIga2VybmVsIGRyaXZlciBpcyBub3QgcHJlc2VudCBpbiB5b3VyIGtlcm5lbAorICAgICMgc2V0dGluZyB0aGlzIHRvIDAgc2hvdWxkIHN1cHByZXNzIHRoZSBlcnJvciBtZXNzYWdlcy4KKyAgICBhY3RpdmF0aW9uID0gMQorCisgICAgIyBJZiB3ZSBjYW4ndCBjb21tdW5pY2F0ZSB3aXRoIGRldmljZS1tYXBwZXIsIHNob3VsZCB3ZSB0cnkgcnVubmluZyAKKyAgICAjIHRoZSBMVk0xIHRvb2xzPworICAgICMgVGhpcyBvcHRpb24gb25seSBhcHBsaWVzIHRvIDIuNCBrZXJuZWxzIGFuZCBpcyBwcm92aWRlZCB0byBoZWxwIHlvdQorICAgICMgc3dpdGNoIGJldHdlZW4gZGV2aWNlLW1hcHBlciBrZXJuZWxzIGFuZCBMVk0xIGtlcm5lbHMuCisgICAgIyBUaGUgTFZNMSB0b29scyBuZWVkIHRvIGJlIGluc3RhbGxlZCB3aXRoIC5sdm0xIHN1ZmZpY2VzCisgICAgIyBlLmcuIHZnc2Nhbi5sdm0xIGFuZCB0aGV5IHdpbGwgc3RvcCB3b3JraW5nIGFmdGVyIHlvdSBzdGFydCB1c2luZworICAgICMgdGhlIG5ldyBsdm0yIG9uLWRpc2sgbWV0YWRhdGEgZm9ybWF0LgorICAgICMgVGhlIGRlZmF1bHQgdmFsdWUgaXMgc2V0IHdoZW4gdGhlIHRvb2xzIGFyZSBidWlsdC4KKyAgICAjIGZhbGxiYWNrX3RvX2x2bTEgPSAwCisKKyAgICAjIFRoZSBkZWZhdWx0IG1ldGFkYXRhIGZvcm1hdCB0aGF0IGNvbW1hbmRzIHNob3VsZCB1c2UgLSAibHZtMSIgb3IgImx2bTIiLgorICAgICMgVGhlIGNvbW1hbmQgbGluZSBvdmVycmlkZSBpcyAtTTEgb3IgLU0yLgorICAgICMgRGVmYXVsdHMgdG8gImx2bTEiIGlmIGNvbXBpbGVkIGluLCBlbHNlICJsdm0yIi4KKyAgICAjIGZvcm1hdCA9ICJsdm0xIgorCisgICAgIyBMb2NhdGlvbiBvZiBwcm9jIGZpbGVzeXN0ZW0KKyAgICBwcm9jID0gIi9wcm9jIgorCisgICAgIyBUeXBlIG9mIGxvY2tpbmcgdG8gdXNlLiBEZWZhdWx0cyB0byBmaWxlLWJhc2VkIGxvY2tpbmcgKDEpLgorICAgICMgVHVybiBsb2NraW5nIG9mZiBieSBzZXR0aW5nIHRvIDAgKGRhbmdlcm91czogcmlza3MgbWV0YWRhdGEgY29ycnVwdGlvbgorICAgICMgaWYgTFZNMiBjb21tYW5kcyBnZXQgcnVuIGNvbmN1cnJlbnRseSkuCisgICAgbG9ja2luZ190eXBlID0gMQorCisgICAgIyBMb2NhbCBub24tTFYgZGlyZWN0b3J5IHRoYXQgaG9sZHMgZmlsZS1iYXNlZCBsb2NrcyB3aGlsZSBjb21tYW5kcyBhcmUKKyAgICAjIGluIHByb2dyZXNzLiAgQSBkaXJlY3RvcnkgbGlrZSAvdG1wIHRoYXQgbWF5IGdldCB3aXBlZCBvbiByZWJvb3QgaXMgT0suCisgICAgbG9ja2luZ19kaXIgPSAiL3Zhci9sb2NrL2x2bSIKKworICAgICMgT3RoZXIgZW50cmllcyBjYW4gZ28gaGVyZSB0byBhbGxvdyB5b3UgdG8gbG9hZCBzaGFyZWQgbGlicmFyaWVzCisgICAgIyBlLmcuIGlmIHN1cHBvcnQgZm9yIExWTTEgbWV0YWRhdGEgd2FzIGNvbXBpbGVkIGFzIGEgc2hhcmVkIGxpYnJhcnkgdXNlCisgICAgIyAgIGZvcm1hdF9saWJyYXJpZXMgPSAibGlibHZtMmZvcm1hdDEuc28iIAorICAgICMgRnVsbCBwYXRobmFtZXMgY2FuIGJlIGdpdmVuLgorCisgICAgIyBTZWFyY2ggdGhpcyBkaXJlY3RvcnkgZmlyc3QgZm9yIHNoYXJlZCBsaWJyYXJpZXMuCisgICAgIyAgIGxpYnJhcnlfZGlyID0gIi9saWIiCit9CisKK2FjdGl2YXRpb24geworICAgICMgRGV2aWNlIHVzZWQgaW4gcGxhY2Ugb2YgbWlzc2luZyBzdHJpcGVzIGlmIGFjdGl2YXRpbmcgaW5jb21wbGV0ZSB2b2x1bWUuCisgICAgIyBGb3Igbm93LCB5b3UgbmVlZCB0byBzZXQgdGhpcyB1cCB5b3Vyc2VsZiBmaXJzdCAoZS5nLiB3aXRoICdkbXNldHVwJykKKyAgICAjIEZvciBleGFtcGxlLCB5b3UgY291bGQgbWFrZSBpdCByZXR1cm4gSS9PIGVycm9ycyB1c2luZyB0aGUgJ2Vycm9yJyAKKyAgICAjIHRhcmdldCBvciBtYWtlIGl0IHJldHVybiB6ZXJvcy4KKyAgICBtaXNzaW5nX3N0cmlwZV9maWxsZXIgPSAiL2Rldi9pb2Vycm9yIgorCisgICAgIyBTaXplIChpbiBLQikgb2YgZWFjaCBjb3B5IG9wZXJhdGlvbiB3aGVuIG1pcnJvcmluZworICAgIG1pcnJvcl9yZWdpb25fc2l6ZSA9IDUxMgorCisgICAgIyBIb3cgbXVjaCBzdGFjayAoaW4gS0IpIHRvIHJlc2VydmUgZm9yIHVzZSB3aGlsZSBkZXZpY2VzIHN1c3BlbmRlZAorICAgIHJlc2VydmVkX3N0YWNrID0gMjU2CisKKyAgICAjIEhvdyBtdWNoIG1lbW9yeSAoaW4gS0IpIHRvIHJlc2VydmUgZm9yIHVzZSB3aGlsZSBkZXZpY2VzIHN1c3BlbmRlZAorICAgIHJlc2VydmVkX21lbW9yeSA9IDgxOTIKKworICAgICMgTmljZSB2YWx1ZSB1c2VkIHdoaWxlIGRldmljZXMgc3VzcGVuZGVkCisgICAgcHJvY2Vzc19wcmlvcml0eSA9IC0xOAorCisgICAgIyBJZiB2b2x1bWVfbGlzdCBpcyBkZWZpbmVkLCBlYWNoIExWIGlzIG9ubHkgYWN0aXZhdGVkIGlmIHRoZXJlIGlzIGEKKyAgICAjIG1hdGNoIGFnYWluc3QgdGhlIGxpc3QuCisgICAgIyAgICJ2Z25hbWUiIGFuZCAidmduYW1lL2x2bmFtZSIgYXJlIG1hdGNoZWQgZXhhY3RseS4KKyAgICAjICAgIkB0YWciIG1hdGNoZXMgYW55IHRhZyBzZXQgaW4gdGhlIExWIG9yIFZHLgorICAgICMgICAiQCoiIG1hdGNoZXMgaWYgYW55IHRhZyBkZWZpbmVkIG9uIHRoZSBob3N0IGlzIGFsc28gc2V0IGluIHRoZSBMViBvciBWRworICAgICMKKyAgICAjIHZvbHVtZV9saXN0ID0gWyAidmcxIiwgInZnMi9sdm9sMSIsICJAdGFnMSIsICJAKiIgXQorfQorCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEFkdmFuY2VkIHNlY3Rpb24gIworIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworIyBNZXRhZGF0YSBzZXR0aW5ncworIworIyBtZXRhZGF0YSB7CisgICAgIyBEZWZhdWx0IG51bWJlciBvZiBjb3BpZXMgb2YgbWV0YWRhdGEgdG8gaG9sZCBvbiBlYWNoIFBWLiAgMCwgMSBvciAyLgorICAgICMgWW91IG1pZ2h0IHdhbnQgdG8gb3ZlcnJpZGUgaXQgZnJvbSB0aGUgY29tbWFuZCBsaW5lIHdpdGggMCAKKyAgICAjIHdoZW4gcnVubmluZyBwdmNyZWF0ZSBvbiBuZXcgUFZzIHdoaWNoIGFyZSB0byBiZSBhZGRlZCB0byBsYXJnZSBWR3MuCisKKyAgICAjIHB2bWV0YWRhdGFjb3BpZXMgPSAxCisKKyAgICAjIEFwcHJveGltYXRlIGRlZmF1bHQgc2l6ZSBvZiBvbi1kaXNrIG1ldGFkYXRhIGFyZWFzIGluIHNlY3RvcnMuCisgICAgIyBZb3Ugc2hvdWxkIGluY3JlYXNlIHRoaXMgaWYgeW91IGhhdmUgbGFyZ2Ugdm9sdW1lIGdyb3VwcyBvcgorICAgICMgeW91IHdhbnQgdG8gcmV0YWluIGEgbGFyZ2Ugb24tZGlzayBoaXN0b3J5IG9mIHlvdXIgbWV0YWRhdGEgY2hhbmdlcy4KKworICAgICMgcHZtZXRhZGF0YXNpemUgPSAyNTUKKworICAgICMgTGlzdCBvZiBkaXJlY3RvcmllcyBob2xkaW5nIGxpdmUgY29waWVzIG9mIHRleHQgZm9ybWF0IG1ldGFkYXRhLgorICAgICMgVGhlc2UgZGlyZWN0b3JpZXMgbXVzdCBub3QgYmUgb24gbG9naWNhbCB2b2x1bWVzIQorICAgICMgSXQncyBwb3NzaWJsZSB0byB1c2UgTFZNMiB3aXRoIGEgY291cGxlIG9mIGRpcmVjdG9yaWVzIGhlcmUsCisgICAgIyBwcmVmZXJhYmx5IG9uIGRpZmZlcmVudCAobm9uLUxWKSBmaWxlc3lzdGVtcywgYW5kIHdpdGggbm8gb3RoZXIgCisgICAgIyBvbi1kaXNrIG1ldGFkYXRhIChwdm1ldGFkYXRhY29waWVzID0gMCkuIE9yIHRoaXMgY2FuIGJlIGluCisgICAgIyBhZGRpdGlvbiB0byBvbi1kaXNrIG1ldGFkYXRhIGFyZWFzLgorICAgICMgVGhlIGZlYXR1cmUgd2FzIG9yaWdpbmFsbHkgYWRkZWQgdG8gc2ltcGxpZnkgdGVzdGluZyBhbmQgaXMgbm90CisgICAgIyBzdXBwb3J0ZWQgdW5kZXIgbG93IG1lbW9yeSBzaXR1YXRpb25zIC0gdGhlIG1hY2hpbmUgY291bGQgbG9jayB1cC4KKyAgICAjCisgICAgIyBOZXZlciBlZGl0IGFueSBmaWxlcyBpbiB0aGVzZSBkaXJlY3RvcmllcyBieSBoYW5kIHVubGVzcyB5b3UKKyAgICAjIHlvdSBhcmUgYWJzb2x1dGVseSBzdXJlIHlvdSBrbm93IHdoYXQgeW91IGFyZSBkb2luZyEgVXNlCisgICAgIyB0aGUgc3VwcGxpZWQgdG9vbHNldCB0byBtYWtlIGNoYW5nZXMgKGUuZy4gdmdjZmdyZXN0b3JlKS4KKworICAgICMgZGlycyA9IFsgIi9ldGMvbHZtL21ldGFkYXRhIiwgIi9tbnQvZGlzazIvbHZtL21ldGFkYXRhMiIgXQorI30KKworIyBFdmVudCBkYWVtb24KKyMKK2RtZXZlbnRkIHsKKyAgICAjIG1pcnJvcl9saWJyYXJ5IGlzIHRoZSBsaWJyYXJ5IHVzZWQgd2hlbiBtb25pdG9yaW5nIGEgbWlycm9yIGRldmljZS4KKyAgICAjCisgICAgIyAibGliZGV2bWFwcGVyLWV2ZW50LWx2bTJtaXJyb3Iuc28iIGF0dGVtcHRzIHRvIHJlY292ZXIgZnJvbQorICAgICMgZmFpbHVyZXMuICBJdCByZW1vdmVzIGZhaWxlZCBkZXZpY2VzIGZyb20gYSB2b2x1bWUgZ3JvdXAgYW5kCisgICAgIyByZWNvbmZpZ3VyZXMgYSBtaXJyb3IgYXMgbmVjZXNzYXJ5LiBJZiBubyBtaXJyb3IgbGlicmFyeSBpcworICAgICMgcHJvdmlkZWQsIG1pcnJvcnMgYXJlIG5vdCBtb25pdG9yZWQgdGhyb3VnaCBkbWV2ZW50ZC4KKworICAgIG1pcnJvcl9saWJyYXJ5ID0gIkBsaWJkaXJAL2RldmljZS1tYXBwZXIvbGliZGV2bWFwcGVyLWV2ZW50LWx2bTJtaXJyb3Iuc28iCisKKyAgICAjIHNuYXBzaG90X2xpYnJhcnkgaXMgdGhlIGxpYnJhcnkgdXNlZCB3aGVuIG1vbml0b3JpbmcgYSBzbmFwc2hvdCBkZXZpY2UuCisgICAgIworICAgICMgImxpYmRldm1hcHBlci1ldmVudC1sdm0yc25hcHNob3Quc28iIG1vbml0b3JzIHRoZSBmaWxsaW5nIG9mCisgICAgIyBzbmFwc2hvdHMgYW5kIGVtaXRzIGEgd2FybmluZyB0aHJvdWdoIHN5c2xvZyB3aGVuIHRoZSB1c2Ugb2YKKyAgICAjIHRoZSBzbmFwc2hvdCBleGNlZWRzIDgwJS4gVGhlIHdhcm5pbmcgaXMgcmVwZWF0ZWQgd2hlbiA4NSUsIDkwJSBhbmQKKyAgICAjIDk1JSBvZiB0aGUgc25hcHNob3QgaXMgZmlsbGVkLgorCisgICAgc25hcHNob3RfbGlicmFyeSA9ICJAbGliZGlyQC9kZXZpY2UtbWFwcGVyL2xpYmRldm1hcHBlci1ldmVudC1sdm0yc25hcHNob3Quc28iCisKKyAgICAjIHRoaW5fbGlicmFyeSBpcyB0aGUgbGlicmFyeSB1c2VkIHdoZW4gbW9uaXRvcmluZyBhIHRoaW4gZGV2aWNlLgorICAgICMKKyAgICAjICJsaWJkZXZtYXBwZXItZXZlbnQtbHZtMnRoaW4uc28iIG1vbml0b3JzIHRoZSBmaWxsaW5nIG9mCisgICAgIyBwb29sIGFuZCBlbWl0cyBhIHdhcm5pbmcgdGhyb3VnaCBzeXNsb2cgd2hlbiB0aGUgdXNlIG9mCisgICAgIyB0aGUgcG9vbCBleGNlZWRzIDgwJS4gVGhlIHdhcm5pbmcgaXMgcmVwZWF0ZWQgd2hlbiA4NSUsIDkwJSBhbmQKKyAgICAjIDk1JSBvZiB0aGUgcG9vbCBpcyBmaWxsZWQuCisKKyAgICB0aGluX2xpYnJhcnkgPSAiQGxpYmRpckAvZGV2aWNlLW1hcHBlci9saWJkZXZtYXBwZXItZXZlbnQtbHZtMnRoaW4uc28iCisKKyAgICAjIEZ1bGwgcGF0aCBvZiB0aGUgZG1ldmVudGQgYmluYXJ5LgorICAgICMKKyAgICAjIGV4ZWN1dGFibGUgPSAiQERNRVZFTlREX1BBVEhAIgorfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMl8yLjAyLjEzOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yXzIuMDIuMTM4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzYTg2NmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMl8yLjAyLjEzOC5iYgpAQCAtMCwwICsxLDQgQEAKK3JlcXVpcmUgbHZtMi5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gImM2NjBlMDJhZDQ1ODZhMWQyOTdiNmJlZmJlODU1NTZkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjkzODc4YTRiYTRmNzBkOWYyZDBkOTE5ZWI4NWJjNTE2NTJhNTg3NzZiNTQyOGVjOGU3ZTMyNzY5ZDMzMmY1OTYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x6aXAvbHppcF8xLjE2LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9semlwL2x6aXBfMS4xNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZjBiNmFlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9semlwL2x6aXBfMS4xNi5iYgpAQCAtMCwwICsxLDQxIEBACitTVU1NQVJZID0gIkxvc3NsZXNzIGRhdGEgY29tcHJlc3NvciBiYXNlZCBvbiB0aGUgTFpNQSBhbGdvcml0aG0iCitIT01FUEFHRSA9ICJodHRwOi8vbHppcC5ub25nbnUub3JnL2x6aXAuaHRtbCIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzZkNmUzMDBmZmQ4ZmI5ZDE4YmQ5YjEzNmE5YmJhMTMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZGVjb2Rlci5jYztlbmRsaW5lPTE2O21kNT0wODA5MTI4YWMzMjE2MzI1Mjg0NmUwOWE3MGM4YjgwYiIKKworU1JDX1VSSSA9ICIke1NBVkFOTkFIX0dOVV9NSVJST1J9L2x6aXAvbHppcC0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3MTZhOTg3NmRjNTk1ZWM1MmQ0ZjNiZGE4MWU0MjQ3MSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxMjhjYzI1YmFmOTJjOGI2OTcwMDgzMWU2Zjk4NGQ5NTQwMTYzMThjYzc4ZWRjYTg3ODcwZDBjMDMzMTEyNzUxIgorCitDT05GSUdVUkVPUFRTID0gIlwKKyAgICAnLS1zcmNkaXI9JHtTfScgXAorICAgICctLXByZWZpeD0ke3ByZWZpeH0nIFwKKyAgICAnLS1leGVjLXByZWZpeD0ke2V4ZWNfcHJlZml4fScgXAorICAgICctLWJpbmRpcj0ke2JpbmRpcn0nIFwKKyAgICAnLS1kYXRhZGlyPSR7ZGF0YWRpcn0nIFwKKyAgICAnLS1pbmZvZGlyPSR7aW5mb2Rpcn0nIFwKKyAgICAnLS1zeXNjb25mZGlyPSR7c3lzY29uZmRpcn0nIFwKKyAgICAnQ1hYPSR7Q1hYfScgXAorICAgICdDUFBGTEFHUz0ke0NQUEZMQUdTfScgXAorICAgICdDWFhGTEFHUz0ke0NYWEZMQUdTfScgXAorICAgICdMREZMQUdTPSR7TERGTEFHU30nIFwKKyIKK0VYVFJBX09FTUFLRSA9ICIiCisKK0IgPSAiJHtTfS9vYmoiCitkb19jb25maWd1cmUgKCkgeworICAgICR7U30vY29uZmlndXJlICR7Q09ORklHVVJFT1BUU30KK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCisgICAgIyBJbmZvIGRpciBsaXN0aW5nIGlzbid0IGludGVyZXN0aW5nIGF0IHRoaXMgcG9pbnQgc28gcmVtb3ZlIGl0IGlmIGl0IGV4aXN0cy4KKyAgICBpZiBbIC1lICIke0R9JHtpbmZvZGlyfS9kaXIiIF07IHRoZW4KKyAgICAgICAgcm0gLWYgJHtEfSR7aW5mb2Rpcn0vZGlyCisgICAgZmkKK30KKworQkJDTEFTU0VYVEVORCArPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWFpbGNhcC9tYWlsY2FwXzIuMS40NS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWFpbGNhcC9tYWlsY2FwXzIuMS40NS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTEzNjBmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tYWlsY2FwL21haWxjYXBfMi4xLjQ1LmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiSGVscGVyIGFwcGxpY2F0aW9uIGFuZCBNSU1FIHR5cGUgYXNzb2NpYXRpb25zIGZvciBmaWxlIHR5cGVzIgorREVTQ1JJUFRJT04gPSAiVGhlIG1haWxjYXAgZmlsZSBpcyB1c2VkIGJ5IHRoZSBtZXRhbWFpbCBwcm9ncmFtLiBNZXRhbWFpbCByZWFkcyB0aGUgXAorbWFpbGNhcCBmaWxlIHRvIGRldGVybWluZSBob3cgaXQgc2hvdWxkIGRpc3BsYXkgbm9uLXRleHQgb3IgbXVsdGltZWRpYSBcCittYXRlcmlhbC4gQmFzaWNhbGx5LCBtYWlsY2FwIGFzc29jaWF0ZXMgYSBwYXJ0aWN1bGFyIHR5cGUgb2YgZmlsZSBcCit3aXRoIGEgcGFydGljdWxhciBwcm9ncmFtIHRoYXQgYSBtYWlsIGFnZW50IG9yIG90aGVyIHByb2dyYW0gY2FuIGNhbGwgXAoraW4gb3JkZXIgdG8gaGFuZGxlIHRoZSBmaWxlLiBNYWlsY2FwIHNob3VsZCBiZSBpbnN0YWxsZWQgdG8gYWxsb3cgXAorY2VydGFpbiBwcm9ncmFtcyB0byBiZSBhYmxlIHRvIGhhbmRsZSBub24tdGV4dCBmaWxlcy4gXAorXAorQWxzbyBpbmNsdWRlZCBpbiB0aGlzIHBhY2thZ2UgaXMgdGhlIG1pbWUudHlwZXMgZmlsZSB3aGljaCBjb250YWlucyBhIFwKK2xpc3Qgb2YgTUlNRSB0eXBlcyBhbmQgdGhlaXIgZmlsZW5hbWUgZXh0ZW5zaW9uIGFzc29jaWF0aW9ucywgdXNlZCAgXAorYnkgc2V2ZXJhbCBhcHBsaWNhdGlvbnMgZS5nLiB0byBkZXRlcm1pbmUgTUlNRSB0eXBlcyBmb3IgZmlsZW5hbWVzLiIKKworU0VDVElPTiA9ICJTeXN0ZW0gRW52aXJvbm1lbnQvQmFzZSIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdC5mZWRvcmFob3N0ZWQub3JnL2NnaXQvJHtCUE59LmdpdC9zbmFwc2hvdC8ke0JQTn0tcjItMS00NS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiMjMyMGE3N2IyZmM4MjA3OGM5ZDZhNTliMjkyMzRiYzgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTczZTJmOTM2MjU0NzUwMTQwNjZmNDE0ODczY2I5ZjBhNGIxMTg5OTQyZDk0ZmFkZTlhMDNlNTliZTM3NDViNyIKK0xJQ0VOU0UgPSAiUEQgJiBNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xMDBmY2ZiODQ1MTJjY2MwM2ZmYzdkODlhYzM5MTMwNSIKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0tcjItMS00NSIKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfSBzeXNjb25mZGlyPSR7c3lzY29uZmRpcn0gbWFuZGlyPSR7bWFuZGlyfQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tYnVmZmVyL21idWZmZXJfMjAxNDAzMTAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21idWZmZXIvbWJ1ZmZlcl8yMDE0MDMxMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNDY3ZDI4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tYnVmZmVyL21idWZmZXJfMjAxNDAzMTAuYmIKQEAgLTAsMCArMSwyMyBAQAorREVTQ1JJUFRJT04gPSAibWJ1ZmZlciBpcyBhIHRvb2wgZm9yIGJ1ZmZlcmluZyBkYXRhIHN0cmVhbXMgd2l0aCBhIGxhcmdlIHNldCBvZiB1bmlxdWUgZmVhdHVyZXMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5tYWllci1rb21vci5kZS9tYnVmZmVyLmh0bWwiCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKKworU1JDX1VSSSA9ICIgXAorICAgIGh0dHA6Ly93d3cubWFpZXIta29tb3IuZGUvc29mdHdhcmUvbWJ1ZmZlci9tYnVmZmVyLTIwMTQwMzEwLnRneiBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5OTM3ZDdmNjY2YzE5YTJlNmIyNDk5YjA0ZGJlY2M0NCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhYjkwYjZmZGNlMTZkYjJiZjA4YmNkYTBiYzVkMmJmYjA1M2E5YTE2M2QyYTI0Zjk1ZmJmMjQ2NDYwNTQ5Yjk5IgorCitpbmhlcml0IGF1dG90b29scworCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1ttZDVdID0gIi0tZW5hYmxlLW1kNSwtLWRpc2FibGUtbWQ1LG9wZW5zc2wiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICAoIGNkICR7U307IGdudS1jb25maWdpemUgKQorICAgIG9lX3J1bmNvbmYKK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tY2Vsb2cvbWNlLWluamVjdF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21jZWxvZy9tY2UtaW5qZWN0X2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODc2MTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tY2Vsb2cvbWNlLWluamVjdF9naXQuYmIKQEAgLTAsMCArMSwyMCBAQAorU1VNTUFSWSA9ICJMaW51eCBtYWNoaW5lIGNoZWNrIGluamVjdG9yIHRvb2wiCitERVNDUklQVElPTiA9ICJtY2UtaW5qZWN0IGFsbG93cyB0byBpbmplY3QgbWFjaGluZSBjaGVjayBlcnJvcnMgb24gdGhlIFwKK3NvZnR3YXJlIGxldmVsIGludG8gYSBydW5uaW5nIExpbnV4IGtlcm5lbC4gVGhpcyBpcyBpbnRlbmRlZCBmb3IgXAordmFsaWRhdGlvbiBvZiB0aGUga2VybmVsIG1hY2hpbmUgY2hlY2sgaGFuZGxlci4iCitTRUNUSU9OID0gIlN5c3RlbSBFbnZpcm9ubWVudC9CYXNlIgorCitTUkNfVVJJID0gImdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vdXRpbHMvY3B1L21jZS9tY2UtaW5qZWN0LmdpdCIKKworU1JDUkVWID0gIjRjYmU0NjMyMWI0YTgxMzY1ZmYzYWFmYWZlNjM5NjcyNjRkYmZlYzUiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTMwO21kNT05NGMxODc1NTA4MmEyZGE5YzljZjk3Y2JhM2FkNDdkNiIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworQ09NUEFUSUJMRV9IT1NUID0gJyh4ODZfNjQuKnxpLjg2LiopLWxpbnV4JworCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworRVhUUkFfT0VNQUtFID0gImRlc3RkaXI9JHtEfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWNlbG9nL21jZWxvZy9tY2Vsb2ctZGViYXNoLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tY2Vsb2cvbWNlbG9nL21jZWxvZy1kZWJhc2gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmVhMmY2MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWNlbG9nL21jZWxvZy9tY2Vsb2ctZGViYXNoLnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gOGY1N2QzNTc0N2EzYjNmYWJjMzM0NjY1NjMwNzczNzMwOTBmODY5YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAyIFNlcCAyMDE0IDA3OjA1OjE1IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIGNhY2hlLWVycm9yLXRyaWdnZXI6IHJlbW92ZSBiYXNoaXNtCisKK1VzZSAiJChjYXQgJEYpIiB0byBpbnN0ZWFkIG9mICIkKDwgJEYpIiB0byBkZWJhc2guCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIHRyaWdnZXJzL2NhY2hlLWVycm9yLXRyaWdnZXIgfCAgICA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdHJpZ2dlcnMvY2FjaGUtZXJyb3ItdHJpZ2dlciBiL3RyaWdnZXJzL2NhY2hlLWVycm9yLXRyaWdnZXIKK2luZGV4IGUzMmJmZDYuLjc4NTUyNmYgMTAwNzU1CistLS0gYS90cmlnZ2Vycy9jYWNoZS1lcnJvci10cmlnZ2VyCisrKysgYi90cmlnZ2Vycy9jYWNoZS1lcnJvci10cmlnZ2VyCitAQCAtMSw0ICsxLDQgQEAKKy0jIS9iaW4vYmFzaAorKyMhL2Jpbi9zaAorICMgY2FjaGUgZXJyb3IgdHJpZ2dlci4gVGhpcyBzaGVsbCBzY3JpcHQgaXMgZXhlY3V0ZWQgYnkgbWNlbG9nIGluIGRhZW1vbiBtb2RlCisgIyB3aGVuIGEgQ1BVIHJlcG9ydHMgZXhjZXNzaXZlIGNvcnJlY3RlZCBjYWNoZSBlcnJvcnMuIFRoaXMgY291bGQgYmUgYSBpbmRpY2F0aW9uCisgIyBmb3IgZnV0dXJlIHVuY29ycmVjdGVkIGVycm9ycy4KK0BAIC0yOCw3ICsyOCw3IEBAIGZvciBpIGluICRBRkZFQ1RFRF9DUFVTIDsgZG8KKyAJbG9nZ2VyIC1zIC1wIGRhZW1vbi5jcml0IC10IG1jZWxvZyAiT2ZmbGluaW5nIENQVSAkaSBkdWUgdG8gY2FjaGUgZXJyb3IgdGhyZXNob2xkIgorIAlGPSQocHJpbnRmICIvc3lzL2RldmljZXMvc3lzdGVtL2NwdS9jcHUlZC9vbmxpbmUiICRpKQorIAllY2hvIDAgPiAkRgorLQlpZiBbICIkKDwgJEYpIiAhPSAiMCIgXSA7IHRoZW4KKysJaWYgWyAiJChjYXQgJEYpIiAhPSAiMCIgXSA7IHRoZW4KKyAJCWxvZ2dlciAtcyAtcCBkYWVtb24ud2FybiAtdCBtY2Vsb2cgIk9mZmxpbmluZyBDUFUgJGkgZmFpbGVkIgorIAkJRVhJVD0xCisgCWZpCistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tY2Vsb2cvbWNlbG9nL3J1bi1wdGVzdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWNlbG9nL21jZWxvZy9ydW4tcHRlc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmE3YTJjNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWNlbG9nL21jZWxvZy9ydW4tcHRlc3QKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKKworbWFrZSAtQyB0ZXN0cyB0ZXN0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21jZWxvZy9tY2Vsb2dfMS4wOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWNlbG9nL21jZWxvZ18xLjA5LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0MmIyYmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21jZWxvZy9tY2Vsb2dfMS4wOS5iYgpAQCAtMCwwICsxLDM2IEBACitTVU1NQVJZID0gIm1jZWxvZyBkYWVtb24gYWNjb3VudHMgbWVtb3J5IGFuZCBzb21lIG90aGVyIGVycm9ycyBpbiB2YXJpb3VzIHdheXMuIgorREVTQ1JJUFRJT04gPSAibWNlbG9nIGlzIHJlcXVpcmVkIGJ5IGJvdGggMzJiaXQgeDg2IExpbnV4IGtlcm5lbHMgKHNpbmNlIDIuNi4zMCkgXAorYW5kIDY0Yml0IExpbnV4IGtlcm5lbHMgKHNpbmNlIGVhcmx5IDIuNiBrZXJuZWwgcmVsZWFzZXMpIHRvIGxvZyBtYWNoaW5lIGNoZWNrcyBcCithbmQgc2hvdWxkIHJ1biBvbiBhbGwgTGludXggc3lzdGVtcyB0aGF0IG5lZWQgZXJyb3IgaGFuZGxpbmcuIgorSE9NRVBBR0UgPSAiaHR0cDovL21jZWxvZy5vcmcvIgorU0VDVElPTiA9ICJTeXN0ZW0gRW52aXJvbm1lbnQvQmFzZSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL3V0aWxzL2NwdS9tY2UvbWNlbG9nLmdpdCBcCisgICAgZmlsZTovL21jZWxvZy1kZWJhc2gucGF0Y2ggXAorICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorIgorCitTUkNSRVYgPSAiMGZjOWY3MDIyMzJjYjJkOTk2OTkxNmY4OTljNjdjM2U2NGRlZWRkYSIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTttZDU9M2ViNzZjYTY0ZmEwN2FkNTNlYmIwZWJiNWI0YzhlZGUiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwdGVzdAorCitDT01QQVRJQkxFX0hPU1QgPSAnKHg4Nl82NC4qfGkuODYuKiktbGludXgnCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vY3Jvbi5ob3VybHkKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9tY2Vsb2cuY3JvbiAke0R9JHtzeXNjb25mZGlyfS9jcm9uLmhvdXJseS8KKyAgICBzZWQgLWkgJ3MvYmFzaC9zaC8nICR7RH0ke3N5c2NvbmZkaXJ9L2Nyb24uaG91cmx5L21jZWxvZy5jcm9uCit9CisKK2RvX2luc3RhbGxfcHRlc3QoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfQorICAgIGNwIC1yICR7U30vdGVzdHMgJHtTfS9pbnB1dCAke0R9JHtQVEVTVF9QQVRIfQorICAgIHNlZCAtaSAncyMuLi8uLi9tY2Vsb2cjbWNlbG9nIycgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMvdGVzdAorfQorCitSREVQRU5EU18ke1BOfS1wdGVzdCArPSAiJHtQTn0gbWFrZSBiYXNoIG1jZS1pbmplY3QiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21nL2ZpbGVzL3JlbW92ZV9uY3Vyc2VzX2NoZWNrLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tZy9maWxlcy9yZW1vdmVfbmN1cnNlc19jaGVjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNjEzN2RhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tZy9maWxlcy9yZW1vdmVfbmN1cnNlc19jaGVjay5wYXRjaApAQCAtMCwwICsxLDM2IEBACitkaWZmIC11d3IgbWctMjAxMTA5MDUvY29uZmlndXJlIG1nLTIwMTEwOTA1LWNoYW5nZWQvY29uZmlndXJlCistLS0gbWctMjAxMTA5MDUvY29uZmlndXJlCTIwMTEtMDktMDUgMTM6MzY6MTYuMDAwMDAwMDAwIC0wNTAwCisrKysgbWctMjAxMTA5MDUtY2hhbmdlZC9jb25maWd1cmUJMjAxNC0wOC0xNCAxMDo0NjoxNC4xNjg3MTU0MjUgLTA1MDAKK0BAIC0xNjMsMzIgKzE2Myw2IEBACisgICAgIGVjaG8gJ0ZhaWxzLicKKyBmaQorIAorLQorLWlmIFsgISAtciAvdXNyL2luY2x1ZGUvdGVybS5oIF07IHRoZW4KKy0gICAgbm90ZSAndGVybS5oJworLSAgICBpZiBbIC1yIC91c3IvaW5jbHVkZS9uY3Vyc2VzL3Rlcm0uaCBdOyB0aGVuCistCWVjaG8gIkZvdW5kIGluIC91c3IvaW5jbHVkZS9uY3Vyc2VzIgorLQlleHRyYWZsYWdzPSIkZXh0cmFmbGFncyAtSS91c3IvaW5jbHVkZS9uY3Vyc2VzIgorLSAgICBlbHNlCistCWZvciBpIGluIHBrZyBsb2NhbDsgZG8KKy0JICAgIGlmIFsgLXIgL3Vzci8kaS9pbmNsdWRlL3Rlcm0uaCBdOyB0aGVuCistCQllY2hvICJGb3VuZCBpbiAvdXNyLyRpL2luY2x1ZGUiCistCQlleHRyYWxpYnM9IiRleHRyYWxpYnMgLUwvdXNyLyRpL2xpYiIKKy0JCWV4dHJhZmxhZ3M9IiRleHRyYWZsYWdzIC1JL3Vzci8kaS9pbmNsdWRlIgorLQkJYnJlYWsKKy0JICAgIGVsc2UKKy0JCWZhbHNlCistCSAgICBmaQorLQlkb25lIHx8CistCXsKKy0JICAgIGVjaG8gJ05vdCBmb3VuZCEnID4mMgorLQkgICAgZWNobyAnRG8geW91IGhhdmUgdGhlIG5jdXJzZXMgZGV2ZWwgcGFja2FnZSBpbnN0YWxsZWQ/JyA+JjIKKy0JICAgIGVjaG8gJ0lmIHlvdSBrbm93IHdoZXJlIHRlcm0uaCBpcywgcGxlYXNlIGVtYWlsIHRoZSBhdXRob3IhJyA+JjIKKy0JICAgIGV4aXQgMQorLQl9CistICAgIGZpCistZmkKKy0KKyBub3RlICdiYXNlIGFuZCBkaXJuYW1lJworIGlmIGdjY19kZWZpbmVzICJfX0dMSUJDX18iIHx8IGdjY19kZWZpbmVzICJfX0NZR1dJTl9fIiA7IHRoZW4KKyAgICAgZWNobyAnTm90IHByZXNlbnQsIGFkZGluZy4nCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21nL21nXzIwMTEwOTA1LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tZy9tZ18yMDExMDkwNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTI0YmJkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tZy9tZ18yMDExMDkwNS5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIkEgcG9ydGFibGUgdmVyc2lvbiBvZiB0aGUgbWcgbWFpbnRhaW5lZCBieSB0aGUgT3BlbkJTRCB0ZWFtIgorSE9NRVBBR0UgPSAiaHR0cDovL2hvbWVwYWdlLmJvZXRlcy5vcmcvc29mdHdhcmUvbWcvIgorTElDRU5TRSA9ICJQRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3ZlcnNpb24uYzttZDU9ODExZTFiNjdhNWNkNjBjMTJiMjE4YTJiN2MxYWRiZjIiCitERVBFTkRTID0gIm5jdXJzZXMiCitTRUNUSU9OID0gImNvbnNvbGUvZWRpdG9ycyIKKworU1JDX1VSSSA9ICJodHRwOi8vaG9tZXBhZ2UuYm9ldGVzLm9yZy9zb2Z0d2FyZS9tZy9tZy0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vcmVtb3ZlX25jdXJzZXNfY2hlY2sucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyZGUzNTMxNmZhOGViYWZlNjAwM2VmYWFlNzBiNzIzZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxY2QzN2Q3ZTZhM2VlY2M4OTBhNTcxOGMzOGI4ZjM4NDk1MDU3YmE5Mzg1Njc2MmE3NTZjY2VlMmY5NjE4MjI5IgorCitFWFRSQV9PRU1BS0UgPSAiLWUgTUFLRUZMQUdTPSIKKworZG9fY29uZmlndXJlICgpIHsKKyAgICBzZWQgLWkgTWFrZWZpbGUuaW4gLWUgJ3MsXnByZWZpeD0uKixwcmVmaXg9JHtwcmVmaXh9LCcKKyAgICAuL2NvbmZpZ3VyZQorfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21pbWUtc3VwcG9ydC9taW1lLXN1cHBvcnRfMy40OC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWltZS1zdXBwb3J0L21pbWUtc3VwcG9ydF8zLjQ4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2MTdiNjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21pbWUtc3VwcG9ydC9taW1lLXN1cHBvcnRfMy40OC5iYgpAQCAtMCwwICsxLDU4IEBACitTRUNUSU9OID0gImJhc2UiCitTVU1NQVJZID0gIk1JTUUgZmlsZXMgJ21pbWUudHlwZXMnICYgJ21haWxjYXAnLCBhbmQgc3VwcG9ydCBwcm9ncmFtcyIKK0xJQ0VOU0UgPSAiUEQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kZWJpYW4vUkVBRE1FO21kNT0zNmJiZTJhY2UwYTA1YzNmYjY4NGI3MzIwOGZiZjMwYiIKKworREVQRU5EUyA9ICJmaWxlIgorUkRFUEVORFNfJHtQTn0gPSAicGVybCIKK1JSRUNPTU1FTkRTXyR7UE59ID0gImZpbGUiCisKK1NSQ19VUkkgPSAiJHtERUJJQU5fTUlSUk9SfS9tYWluL20vbWltZS1zdXBwb3J0L21pbWUtc3VwcG9ydF8ke1BWfS0xLnRhci5neiIKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0iCisKK0ZJTEVTXyR7UE59ICs9ICIgJHtsaWJkaXJ9L21pbWUiCisKK2RvY2Rpcl9hcHBlbmQgPSAiLyR7QlBOfSIKKworZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9taW1lL3BhY2thZ2VzCisgICAgaW5zdGFsbCAtZCAke0R9JHtkb2NkaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHtzYmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7bWFuZGlyfS9tYW4xCisgICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjUKKyAgICBpbnN0YWxsIC1kICR7RH0ke21hbmRpcn0vbWFuOAorICAgIGluc3RhbGwgLW0gNjQ0IG1pbWUudHlwZXMgICAgICAgICAke0R9JHtzeXNjb25mZGlyfS8KKyAgICBpbnN0YWxsIC1tIDY0NCBtYWlsY2FwICAgICAgICAgICAgJHtEfSR7bGliZGlyfS9taW1lLworICAgIGluc3RhbGwgLW0gNjQ0IG1haWxjYXAub3JkZXIgICAgICAgICAgICR7RH0ke3N5c2NvbmZkaXJ9LworICAgIGluc3RhbGwgLW0gNjQ0IG1haWxjYXAubWFuICAgICAgICAke0R9JHttYW5kaXJ9L21hbjUvbWFpbGNhcC41CisgICAgaW5zdGFsbCAtbSA2NDQgbWFpbGNhcC5vcmRlci5tYW4gICAgJHtEfSR7bWFuZGlyfS9tYW41L21haWxjYXAub3JkZXIuNQorIyAgICBpbnN0YWxsIC1tIDc1NSBpbnN0YWxsLW1pbWUgICAgICAgICR7RH0ke3NiaW5kaXJ9LworIyAgICBpbnN0YWxsIC1tIDY0NCBpbnN0YWxsLW1pbWUubWFuICAgICAgICAke0R9JHttYW5kaXJ9L21hbjgvaW5zdGFsbC1taW1lLjgKKyAgICBpbnN0YWxsIC1tIDc1NSB1cGRhdGUtbWltZSAgICAgICAgJHtEfSR7c2JpbmRpcn0vCisgICAgaW5zdGFsbCAtbSA2NDQgdXBkYXRlLW1pbWUubWFuICAgICAgICAke0R9JHttYW5kaXJ9L21hbjgvdXBkYXRlLW1pbWUuOAorICAgIGluc3RhbGwgLW0gNzU1IHJ1bi1tYWlsY2FwICAgICAgICAke0R9JHtiaW5kaXJ9LworICAgIGluc3RhbGwgLW0gNjQ0IHJ1bi1tYWlsY2FwLm1hbiAgICAgICAgJHtEfSR7bWFuZGlyfS9tYW4xL3J1bi1tYWlsY2FwLjEKKyMgICAgaW5zdGFsbCAtbSA2NDQgcmZjcy8qICAgICAgICAgICAgJHtEfSR7ZG9jZGlyfS8KKyAgICBpbnN0YWxsIC1tIDY0NCBkZWJpYW4vY2hhbmdlbG9nICAgICAgICAke0R9JHtkb2NkaXJ9L2NoYW5nZWxvZy5EZWJpYW4KKyAgICBpbnN0YWxsIC1tIDY0NCBkZWJpYW4vUkVBRE1FICAgICAgICAke0R9JHtkb2NkaXJ9L2NvcHlyaWdodAorICAgIGluc3RhbGwgLW0gNzU1IGRlYmlhbi12aWV3ICAgICAgICAke0R9JHtsaWJkaXJ9L21pbWUvCisgICAgaW5zdGFsbCAtbSA3NTUgcGxheWF1ZGlvICAgICAgICAke0R9JHtsaWJkaXJ9L21pbWUvCisgICAgaW5zdGFsbCAtbSA3NTUgcGxheWRzcCAgICAgICAgICAgICR7RH0ke2xpYmRpcn0vbWltZS8KKyAgICBpbnN0YWxsIC1tIDY0NCBtYWlsY2FwLmVudHJpZXMgICAgICAgICR7RH0ke2xpYmRpcn0vbWltZS9wYWNrYWdlcy9taW1lLXN1cHBvcnQKKyAgICBjZCAke0R9JHttYW5kaXJ9OyBnemlwIC05ZnYgKi8qCisgICAgY2QgJHtEfSR7ZG9jZGlyfTsgZ3ppcCAtOXYgKgorICAgIGNkICR7RH0ke2RvY2Rpcn07IGd1bnppcCBjb3B5cmlnaHQuZ3oKKyAgICBjZCAke0R9JHtiaW5kaXJ9OyBsbiAtcyBydW4tbWFpbGNhcCBzZWUKKyAgICBjZCAke0R9JHtiaW5kaXJ9OyBsbiAtcyBydW4tbWFpbGNhcCBlZGl0CisgICAgY2QgJHtEfSR7YmluZGlyfTsgbG4gLXMgcnVuLW1haWxjYXAgY29tcG9zZQorICAgIGNkICR7RH0ke2JpbmRpcn07IGxuIC1zIHJ1bi1tYWlsY2FwIHByaW50CisgICAgY2QgJHtEfSR7bWFuZGlyfS9tYW4xOyBsbiAtcyBydW4tbWFpbGNhcC4xLmd6IHNlZS4xLmd6CisgICAgY2QgJHtEfSR7bWFuZGlyfS9tYW4xOyBsbiAtcyBydW4tbWFpbGNhcC4xLmd6IGVkaXQuMS5negorICAgIGNkICR7RH0ke21hbmRpcn0vbWFuMTsgbG4gLXMgcnVuLW1haWxjYXAuMS5neiBjb21wb3NlLjEuZ3oKKyAgICBjZCAke0R9JHttYW5kaXJ9L21hbjE7IGxuIC1zIHJ1bi1tYWlsY2FwLjEuZ3ogcHJpbnQuMS5negorfQorCitTUkNfVVJJW21kNXN1bV0gPSAiZDZlNWQ3MTVlMzMxMTQ3MzUyYzUwYzE1OGRiZGVjNmQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTUyOWM3ODkyY2I3ODZmNTE0YWY3MWY0Y2E1YTRjM2ViYzU4YjUzOGE0OWZmOTU5YzBkOTc1OTJkMzhmMDQwYSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWluaS1pY29udi9taW5pLWljb252LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9taW5pLWljb252L21pbmktaWNvbnYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGYxNTQ4YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWluaS1pY29udi9taW5pLWljb252LmJiCkBAIC0wLDAgKzEsMjAgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDEyIEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIENPUFlJTkcuTUlUIGZvciB0aGUgdGVybXMpCisKK1NVTU1BUlkgPSAiQSBtaW5pbWFsIGljb252IGltcGxlbWVudGF0aW9uIHcvIHN1cHBvcnQgZm9yIFVURi04LCBBU0NJSSwgSVNPLTg4NTktMSIKK0hPTUVQQUdFID0gImh0dHA6Ly90aW5kZXJib3guZGV2LmdlbnRvby5vcmcvcG9ydGFnZS9sb2NhbC9taXNjL21pbmktaWNvbnYvIgorTElDRU5TRSA9ICJNUEwtMS4xIgorU0VDVElPTiA9ICJsaWJzIgorREVQRU5EUyA9ICIiCitQUk9WSURFUyA9ICJ2aXJ0dWFsL2xpYmljb252IgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vaWNvbnYuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTY7bWQ1PTM1YWY5ZDk5MjQzMjdmZThhMGExZmUzYTJjYjQ1NGM4IgorU1JDX1VSSSA9ICJodHRwOi8vbWlycm9yLm1lbGVld2ViLm5ldC9wdWIvbGludXgvZ2VudG9vL2Rpc3RmaWxlcy9taW5pLWljb252LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiODQ0MTIyMjFlMjY1MDVhMmIzODU1ZDRhMWNkY2QwZTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzU1MjI2MmJmMWJjZjhlODU5YTJhM2E3YWRmYjAzNjdhZjg1OTMzODNlNzMwYzQ5MmU5ODE0NzdhYWMwYTBkNCIKKworCitTID0gIiR7V09SS0RJUn0vJHtQTn0iCisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfSBQUkVGSVg9JHtwcmVmaXh9IExJQj0ke2Jhc2VfbGliZGlyfQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9taW5pbmkvbWluaW5pXzEuMi5iLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9taW5pbmkvbWluaW5pXzEuMi5iLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2MDdkZDgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21pbmluaS9taW5pbmlfMS4yLmIuYmIKQEAgLTAsMCArMSwzOSBAQAorU1VNTUFSWSA9ICJBIG1pbmltYWwgSU5JIGZpbGUgcGFyc2VyIgorREVTQ1JJUFRJT04gPSAibWluSW5pIGlzIGEgcHJvZ3JhbW1lcidzIGxpYnJhcnkgdG8gcmVhZCBhbmQgd3JpdGUgSU5JIGZpbGVzIGluIFwKK2VtYmVkZGVkIHN5c3RlbXMuIG1pbkluaSB0YWtlcyBsaXR0bGUgcmVzb3VyY2VzLCBoYXMgYSBkZXRlcm1pbmlzdGljIG1lbW9yeSBcCitmb290cHJpbnQgYW5kIGNhbiBiZSBjb25maWd1cmVkIGZvciB2YXJpb3VzIGtpbmRzIG9mIGZpbGUgSS9PIGxpYnJhcmllcy4gbWluSW5pIFwKK3Byb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgZm9yIHJlYWRpbmcsIHdyaXRpbmcgYW5kIGRlbGV0aW5nIGtleXMgZnJvbSBhbiBJTkkgZmlsZSwgXAorYWxsIGluIDgzMCBsaW5lcyBvZiAoY29tbWVudGVkKSBzb3VyY2UgY29kZSAodmVyc2lvbiAxLjIpIGluIEMgKHRoZSBjb2RlIGFsc28gXAorY29tcGlsZXMgaW4gQysrIGFuZCBjb21lcyB3aXRoIGEgd3JhcHBlciBjbGFzcykuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9taW5pbmkvIgorCisjIExpY2Vuc2UgaXMgQXBhY2hlIDIuMCB3aXRoIGFuIGV4Y2VwdGlvbiB0byBhbGxvdyBvYmplY3QgY29kZSBidWlsdCBmcm9tCisjIHVubW9kaWZpZWQgb3JpZ2luYWwgc291cmNlcyB0byBiZSBkaXN0cmlidXRlZCBtb3JlIGZyZWVseS4gU2VlIExJQ0VOU0UKKyMgZmlsZSBmb3IgZGV0YWlscy4KKworTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZWIyMTQ4MWFkNDVjNTU3OGFlOGM4ZDM3YjhjOGQ3NmQiCisKK1NSQ19VUkkgPSAiaHR0cDovL21pbmluaS5nb29nbGVjb2RlLmNvbS9maWxlcy9taW5JbmlfMTJiLnppcDtzdWJkaXI9JHtCUH0iCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzMjc0MDYyMTA5OGUzZjBhMzIxYzdjMjNmNGJjYmM1ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiMDg4MzlhZjc0YWNiMzYwNjFmYjc2ZTExMjNiZjU2NzExYmM1Y2Y3YTA4YjMyZTE4OWIwYWQ3OGEyZTg4OGUyIgorCitkb19jb25maWd1cmVbbm9leGVjXSA9ICIxIgorCitkb19jb21waWxlKCkgeworICAgICR7Q0N9ICR7Q0ZMQUdTfSAtZlBJQyAtYyBtaW5JbmkuYyAtbyBtaW5JbmkubworICAgICR7Q0N9ICR7TERGTEFHU30gLXNoYXJlZCAtV2wsLXNvbmFtZSxsaWJtaW5pbmkuc28uMCBtaW5JbmkubyAtbyBsaWJtaW5pbmkuc28uMC4wCit9CisKK2RvX2luc3RhbGwgKCkgeworCisgICAgaW5zdGFsbCAtZCAke0R9JHtsaWJkaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0IGxpYm1pbmluaS5zby4wLjAgJHtEfSR7bGliZGlyfS8KKyAgICBsbiAtcyBsaWJtaW5pbmkuc28uMC4wICR7RH0ke2xpYmRpcn0vbGlibWluaW5pLnNvCisgICAgbG4gLXMgbGlibWluaW5pLnNvLjAuMCAke0R9JHtsaWJkaXJ9L2xpYm1pbmluaS5zby4wCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9L21pbmluaQorICAgIGluc3RhbGwgLW0gMDY0NCBtaW5JbmkuaCAke0R9JHtpbmNsdWRlZGlyfS9taW5pbmkvCisgICAgaW5zdGFsbCAtbSAwNjQ0IG1pbkdsdWUtc3RkaW8uaCAke0R9JHtpbmNsdWRlZGlyfS9taW5pbmkvbWluR2x1ZS5oCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21vbmdvZGIvbW9uZ29kYi8wMDAxLVRlbGwtc2NvbnMtdG8tdXNlLWJ1aWxkLXNldHRpbmdzLWZyb20tZW52aXJvbm1lbnQtdmEucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21vbmdvZGIvbW9uZ29kYi8wMDAxLVRlbGwtc2NvbnMtdG8tdXNlLWJ1aWxkLXNldHRpbmdzLWZyb20tZW52aXJvbm1lbnQtdmEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDlkNDlkMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbW9uZ29kYi9tb25nb2RiLzAwMDEtVGVsbC1zY29ucy10by11c2UtYnVpbGQtc2V0dGluZ3MtZnJvbS1lbnZpcm9ubWVudC12YS5wYXRjaApAQCAtMCwwICsxLDY3IEBACitGcm9tIDUzMzY4ZDNmNGFkYzA5ZGQ4NDIzNGE5YWYzMTc3MWJjZDhjYTI3NTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBTdmVuIEViZW5mZWxkIDxzdmVuLmViZW5mZWxkQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMTUgSmFuIDIwMTYgMjI6NDE6MjggKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gVGVsbCBzY29ucyB0byB1c2UgYnVpbGQgc2V0dGluZ3MgZnJvbSBlbnZpcm9ubWVudCB2YXJpYWJsZXMKKworU2lnbmVkLW9mZi1ieTogU3ZlbiBFYmVuZmVsZCA8c3Zlbi5lYmVuZmVsZEBnbWFpbC5jb20+CistLS0KKyBTQ29uc3RydWN0ICAgICAgICAgICAgICAgIHwgOCArKysrKystLQorIHNyYy9tb25nby91dGlsL1NDb25zY3JpcHQgfCAyICsrCisgMiBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9TQ29uc3RydWN0IGIvU0NvbnN0cnVjdAoraW5kZXggNTA4MmE0Yi4uMzM3MGY3MCAxMDA2NDQKKy0tLSBhL1NDb25zdHJ1Y3QKKysrKyBiL1NDb25zdHJ1Y3QKK0BAIC01MDcsNiArNTA3LDcgQEAgZGVmIHZhcmlhYmxlX2FyY2hfY29udmVydGVyKHZhbCk6CisgICAgICAgICAnYW1kNjQnOiAgJ3g4Nl82NCcsCisgICAgICAgICAnZW10NjQnOiAgICd4ODZfNjQnLAorICAgICAgICAgJ3g4Nic6ICAgICdpMzg2JywKKysgICAgICAgICdhYXJjaDY0JzogJ2FybTY0JywKKyAgICAgfQorICAgICB2YWwgPSB2YWwubG93ZXIoKQorIAorQEAgLTU2OCw3ICs1NjksOCBAQCBlbnZfdmFycy5BZGQoJ0FSRkxBR1MnLAorICAgICBjb252ZXJ0ZXI9dmFyaWFibGVfc2hsZXhfY29udmVydGVyKQorIAorIGVudl92YXJzLkFkZCgnQ0MnLAorLSAgICBoZWxwPSdTZWxlY3QgdGhlIEMgY29tcGlsZXIgdG8gdXNlJykKKysgICAgaGVscD0nU2VsZWN0IHRoZSBDIGNvbXBpbGVyIHRvIHVzZScsCisrICAgIGRlZmF1bHQ9b3MuZ2V0ZW52KCdDQycpKQorIAorIGVudl92YXJzLkFkZCgnQ0NGTEFHUycsCisgICAgIGhlbHA9J1NldHMgZmxhZ3MgZm9yIHRoZSBDIGFuZCBDKysgY29tcGlsZXInLAorQEAgLTU4OCw3ICs1OTAsOCBAQCBlbnZfdmFycy5BZGQoJ0NQUFBBVEgnLAorICAgICBjb252ZXJ0ZXI9dmFyaWFibGVfc2hsZXhfY29udmVydGVyKQorIAorIGVudl92YXJzLkFkZCgnQ1hYJywKKy0gICAgaGVscD0nU2VsZWN0IHRoZSBDKysgY29tcGlsZXIgdG8gdXNlJykKKysgICAgaGVscD0nU2VsZWN0IHRoZSBDKysgY29tcGlsZXIgdG8gdXNlJywKKysgICAgZGVmYXVsdD1vcy5nZXRlbnYoJ0NYWCcpKQorIAorIGVudl92YXJzLkFkZCgnQ1hYRkxBR1MnLAorICAgICBoZWxwPSdTZXRzIGZsYWdzIGZvciB0aGUgQysrIGNvbXBpbGVyJywKK0BAIC04MTgsNiArODIxLDcgQEAgZW52RGljdCA9IGRpY3QoQlVJTERfUk9PVD1idWlsZERpciwKKyAgICAgICAgICAgICAgICApCisgCisgZW52ID0gRW52aXJvbm1lbnQodmFyaWFibGVzPWVudl92YXJzLCAqKmVudkRpY3QpCisrZW52LlByZXBlbmRFTlZQYXRoKCdQQVRIJywgb3MuZ2V0ZW52KCdQQVRIJykpCisgZGVsIGVudkRpY3QKKyAKKyBlbnYuQWRkTWV0aG9kKGVudl9vc19pc193cmFwcGVyLCAnVGFyZ2V0T1NJcycpCitkaWZmIC0tZ2l0IGEvc3JjL21vbmdvL3V0aWwvU0NvbnNjcmlwdCBiL3NyYy9tb25nby91dGlsL1NDb25zY3JpcHQKK2luZGV4IDZhZGQ2MDIuLjhkMDVhNjIgMTAwNjQ0CistLS0gYS9zcmMvbW9uZ28vdXRpbC9TQ29uc2NyaXB0CisrKysgYi9zcmMvbW9uZ28vdXRpbC9TQ29uc2NyaXB0CitAQCAtMjUxLDYgKzI1MSw4IEBAIGlmIGdldF9vcHRpb24oJ2FsbG9jYXRvcicpID09ICd0Y21hbGxvYyc6CisgICAgICAgICAgICAgICAgICdNT05HT19IQVZFX0dQRVJGVE9PTFNfR0VUX1RIUkVBRF9DQUNIRV9TSVpFJworICAgICAgICAgICAgIF0KKyAgICAgICAgICkKKysgICAgaWYgbm90IHVzZV9zeXN0ZW1fdmVyc2lvbl9vZl9saWJyYXJ5KCd2YWxncmluZCcpOgorKyAgICAgICAgdGNtc3BFbnYuSW5qZWN0VGhpcmRQYXJ0eUluY2x1ZGVQYXRocygndmFsZ3JpbmQnKQorIAorICAgICB0Y21zcEVudi5MaWJyYXJ5KAorICAgICAgICAgdGFyZ2V0PSd0Y21hbGxvY19zZXRfcGFyYW1ldGVyJywKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tb25nb2RiL21vbmdvZGJfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tb25nb2RiL21vbmdvZGJfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1MjJhNjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21vbmdvZGIvbW9uZ29kYl9naXQuYmIKQEAgLTAsMCArMSw1NyBAQAorU1VNTUFSWSA9ICJtb25nb2RiIgorTElDRU5TRSA9ICJBR1BMLTMuMCAmIEFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9HTlUtQUdQTC0zLjAudHh0O21kNT03M2YxZWIyMDUxN2M1NWJmOTQ5M2I3ZGQ2ZTQ4MDc4OCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9BUEFDSEUtMi4wLnR4dDttZDU9M2I4M2VmOTYzODdmMTQ2NTVmYzg1NGRkYzNjNmJkNTciCisKK0RFUEVORFMgPSAib3BlbnNzbCBsaWJwY3JlIGxpYnBjYXAgemxpYiIKKworaW5oZXJpdCBzY29ucworCitQViA9ICIzLjMuMCtnaXQke1NSQ1BWfSIKK1NSQ1JFViA9ICJhYWNkMjMxYmUwNjI2YTIwNGNiNDA5MDhhZmRmNjJjNGI2N2JiMGFkIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL21vbmdvZGIvbW9uZ28uZ2l0O2JyYW5jaD1tYXN0ZXIgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1UZWxsLXNjb25zLXRvLXVzZS1idWlsZC1zZXR0aW5ncy1mcm9tLWVudmlyb25tZW50LXZhLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCisjIFdpcmVkdGlnZXIgc3VwcG9ydHMgb25seSA2NC1iaXQgcGxhdGZvcm1zCitQQUNLQUdFQ09ORklHX3g4Ni02NCA/Pz0gInRjbWFsbG9jIHdpcmVkdGlnZXIiCitQQUNLQUdFQ09ORklHX2FhcmNoNjQgPz89ICJ0Y21hbGxvYyB3aXJlZHRpZ2VyIgorUEFDS0FHRUNPTkZJRyA/Pz0gInRjbWFsbG9jIgorIyBncGVyZnRvb2xzIGNvbXBpbGF0aW9uIGZhaWxzIGZvciBhcm0gYmVsb3cgdjcgYmVjYXVzZSBvZiBtaXNzaW5nIHN1cHBvcnQgb2YKKyMgZG1iIG9wZXJhdGlvbi4gU28gd2UgdXNlIHN5c3RlbS1hbGxvY2F0b3IgaW5zdGVhZCBvZiB0Y21hbGxvYworUEFDS0FHRUNPTkZJR19yZW1vdmVfYXJtdjYgPSAidGNtYWxsb2MiCisKKyNzdGQ6OmN1cnJlbnRfZXhjZXB0aW9uIGlzIHVuZGVmaW5lZCBmb3IgYXJtIDwgdjYKK0NPTVBBVElCTEVfTUFDSElORV9hcm12NCA9ICIoIS4qYXJtdjQpLioiCitDT01QQVRJQkxFX01BQ0hJTkVfYXJtdjUgPSAiKCEuKmFybXY1KS4qIgorQ09NUEFUSUJMRV9NQUNISU5FX21pcHM2NCA9ICIoIS4qbWlwczY0KS4qIgorCitQQUNLQUdFQ09ORklHW3RjbWFsbG9jXSA9ICItLXVzZS1zeXN0ZW0tdGNtYWxsb2MsLS1hbGxvY2F0b3I9c3lzdGVtLGdwZXJmdG9vbHMsIgorUEFDS0FHRUNPTkZJR1t3aXJlZHRpZ2VyXSA9ICItLXdpcmVkdGlnZXI9b24sLS13aXJlZHRpZ2VyPW9mZiwsIgorCitFWFRSQV9PRVNDT05TID0gIi0tcHJlZml4PSR7RH0ke3ByZWZpeH0gXAorICAgICAgICAgICAgICAgICBMSUJQQVRIPSR7U1RBR0lOR19MSUJESVJ9IFwKKyAgICAgICAgICAgICAgICAgTElOS0ZMQUdTPScke0xERkxBR1N9JyBcCisgICAgICAgICAgICAgICAgIENYWEZMQUdTPScke0NYWEZMQUdTfScgXAorICAgICAgICAgICAgICAgICBUQVJHRVRfQVJDSD0ke1RBUkdFVF9BUkNIfSBcCisgICAgICAgICAgICAgICAgIC0tc3NsIFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXdhcm5pbmdzLWFzLWVycm9ycyBcCisgICAgICAgICAgICAgICAgIC0tdXNlLXN5c3RlbS1wY3JlIFwKKyAgICAgICAgICAgICAgICAgLS11c2Utc3lzdGVtLXpsaWIgXAorICAgICAgICAgICAgICAgICAtLWpzLWVuZ2luZT1ub25lIFwKKyAgICAgICAgICAgICAgICAgLS1ub3N0cmlwIFwKKyAgICAgICAgICAgICAgICAgJHtFWFRSQV9PRUNPTkZ9IFwKKyAgICAgICAgICAgICAgICAgbW9uZ29kIG1vbmdvcyIKK0RJU0FCTEVfU1RBVElDID0gIiIKKworc2NvbnNfZG9fY29tcGlsZSgpIHsKKyAgICAgICAgJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3Njb25zICR7UEFSQUxMRUxfTUFLRX0gJHtFWFRSQV9PRVNDT05TfSB8fCBcCisgICAgICAgIGRpZSAic2NvbnMgYnVpbGQgZXhlY3V0aW9uIGZhaWxlZC4iCit9CisKK3Njb25zX2RvX2luc3RhbGwoKSB7CisgICAgICAgICR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9zY29ucyBpbnN0YWxsICR7RVhUUkFfT0VTQ09OU318fCBcCisgICAgICAgIGRpZSAic2NvbnMgaW5zdGFsbCBleGVjdXRpb24gZmFpbGVkLiIKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMDEtbXVsdGlwYXRoZC5zZXJ2aWNlLUVycm9yLWZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMDEtbXVsdGlwYXRoZC5zZXJ2aWNlLUVycm9yLWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZTQ4ZTFjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAwMS1tdWx0aXBhdGhkLnNlcnZpY2UtRXJyb3ItZml4LnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gNzRmZjVlMWNmOGVmODNkYWJjZjZlNmI5MmY4N2Q2NzYxZjdmNGQ1MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExpIHhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IFR1ZSwgNyBKdWwgMjAxNSAxMTozNDozNiArMDkwMAorU3ViamVjdDogW1BBVENIXSBtdWx0aXBhdGhkLnNlcnZpY2U6IEVycm9yIGZpeAorCitGYWlsZWQgdG8gc3RhcnQgRGV2aWNlLU1hcHBlciBNdWx0aXBhdGggRGV2aWNlIENvbnRyb2xsZXIuCisKK1Vwc3RyZWFtLVN0YXR1czogcGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBMaSBYaW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CistLS0KKyBtdWx0aXBhdGhkL211bHRpcGF0aGQuc2VydmljZSB8IDUgKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbXVsdGlwYXRoZC9tdWx0aXBhdGhkLnNlcnZpY2UgYi9tdWx0aXBhdGhkL211bHRpcGF0aGQuc2VydmljZQoraW5kZXggYmUzYmEzZi4uYjhkM2VjZCAxMDA2NDQKKy0tLSBhL211bHRpcGF0aGQvbXVsdGlwYXRoZC5zZXJ2aWNlCisrKysgYi9tdWx0aXBhdGhkL211bHRpcGF0aGQuc2VydmljZQorQEAgLTYsMTEgKzYsMTIgQEAgRGVmYXVsdERlcGVuZGVuY2llcz1ubworIENvbmZsaWN0cz1zaHV0ZG93bi50YXJnZXQKKyAKKyBbU2VydmljZV0KKy1UeXBlPW5vdGlmeQorK1R5cGU9Zm9ya2luZworIE5vdGlmeUFjY2Vzcz1tYWluCisgTGltaXRDT1JFPWluZmluaXR5CisrUElERmlsZT0vdmFyL3J1bi9tdWx0aXBhdGhkLnBpZAorIEV4ZWNTdGFydFByZT0vc2Jpbi9tb2Rwcm9iZSBkbS1tdWx0aXBhdGgKKy1FeGVjU3RhcnQ9L3NiaW4vbXVsdGlwYXRoZCAtZCAtcworK0V4ZWNTdGFydD0vc2Jpbi9tdWx0aXBhdGhkCisgRXhlY1JlbG9hZD0vc2Jpbi9tdWx0aXBhdGhkIHJlY29uZmlndXJlCisgCisgW0luc3RhbGxdCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvYWx3YXlzLXVzZS1saWJkZXZtYXBwZXIta3BhcnR4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvYWx3YXlzLXVzZS1saWJkZXZtYXBwZXIta3BhcnR4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExNmE4NTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy9hbHdheXMtdXNlLWxpYmRldm1hcHBlci1rcGFydHgucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorQWx3YXlzIHVzZSBkZXZtYXBwZXIgZm9yIGtwYXJ0eAorCitEbyBub3QgdHJ5IHRvIGNvbXB1dGUgdGhlIExJQkRNX0FQSV9DT09LSUUgbWFrZSB2YXJpYWJsZQorZnJvbSBob3N0IGluZm9ybWF0aW9uIHdoZW4gY3Jvc3MtY29tcGlsaW5nLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBBd3MgSXNtYWlsIDxhd3MuaXNtYWlsQHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBKb2UgU2xhdGVyIDxqb2Uuc2xhdGVyQHdpbmRyaXZlci5jb20+CisKK2RpZmYgLS1naXQgYS9rcGFydHgvTWFrZWZpbGUgYi9rcGFydHgvTWFrZWZpbGUKK2luZGV4IDJhMDczMzQuLjI0YmRhYmMgMTAwNjQ0CistLS0gYS9rcGFydHgvTWFrZWZpbGUKKysrKyBiL2twYXJ0eC9NYWtlZmlsZQorQEAgLTQsMTMgKzQsNyBAQAorICMKKyBpbmNsdWRlIC4uL01ha2VmaWxlLmluYworIAorLUNGTEFHUyArPSAtSS4gLURfTEFSR0VGSUxFNjRfU09VUkNFIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQKKy0KKy1MSUJETV9BUElfQ09PS0lFID0gJChzaGVsbCBncmVwIC1FY3MgJ15bYS16XSpbWzpzcGFjZTpdXStkbV90YXNrX3NldF9jb29raWUnIC91c3IvaW5jbHVkZS9saWJkZXZtYXBwZXIuaCkKKy0KKy1pZm5lcSAoJChzdHJpcCAkKExJQkRNX0FQSV9DT09LSUUpKSwwKQorLQlDRkxBR1MgKz0gLURMSUJETV9BUElfQ09PS0lFCistZW5kaWYKKytDRkxBR1MgKz0gLUkuIC1EX0xBUkdFRklMRTY0X1NPVVJDRSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1ETElCRE1fQVBJX0NPT0tJRQorIAorIExERkxBR1MgPSAtbGRldm1hcHBlcgorIE9CSlMgPSBic2QubyBkb3MubyBrcGFydHgubyBzb2xhcmlzLm8gdW5peHdhcmUubyBkYXNkLm8gc3VuLm8gXApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvYWx3YXlzLXVzZS1saWJkZXZtYXBwZXIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy9hbHdheXMtdXNlLWxpYmRldm1hcHBlci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OWQyMzUyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvYWx3YXlzLXVzZS1saWJkZXZtYXBwZXIucGF0Y2gKQEAgLTAsMCArMSw0NCBAQAorQWx3YXlzIHVzZSBkZXZtYXBwZXIKKworRG8gbm90IHRyeSB0byBjb21wdXRlIHNldmVyYWwgX0FQSV8gbWFrZSB2YXJpYWJsZXMKK2Zyb20gaG9zdCBpbmZvcm1hdGlvbiB3aGVuIGNyb3NzLWNvbXBpbGluZy4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQXdzIElzbWFpbCA8YXdzLmlzbWFpbEB3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogSm9lIFNsYXRlciA8am9lLnNsYXRlckB3aW5kcml2ZXIuY29tPgorCitkaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL01ha2VmaWxlIGIvbGlibXVsdGlwYXRoL01ha2VmaWxlCitpbmRleCBlNWIwNmIzLi5lZmQ2Y2Y2IDEwMDY0NAorLS0tIGEvbGlibXVsdGlwYXRoL01ha2VmaWxlCisrKysgYi9saWJtdWx0aXBhdGgvTWFrZWZpbGUKK0BAIC0xNywyMyArMTcsMTggQEAgT0JKUyA9IG1lbW9yeS5vIHBhcnNlci5vIHZlY3Rvci5vIGRldm1hcHBlci5vIFwKKyAgICAgICAgbG9nLm8gY29uZmlndXJlLm8gc3RydWN0c192ZWMubyBzeXNmcy5vIHByaW8ubyBjaGVja2Vycy5vIFwKKyAgICAgICAgbG9jay5vIHdhaXRlci5vIGZpbGUubyB3d2lkcy5vCisgCistTElCRE1fQVBJX0ZMVVNIID0gJChzaGVsbCBncmVwIC1FY3MgJ15bYS16XSpbWzpzcGFjZTpdXStkbV90YXNrX25vX2ZsdXNoJyAvdXNyL2luY2x1ZGUvbGliZGV2bWFwcGVyLmgpCisgCistaWZuZXEgKCQoc3RyaXAgJChMSUJETV9BUElfRkxVU0gpKSwwKQorKyNpZm5lcSAoJChzdHJpcCAkKExJQkRNX0FQSV9GTFVTSCkpLDApCisgCUNGTEFHUyArPSAtRExJQkRNX0FQSV9GTFVTSCAtRF9HTlVfU09VUkNFCistZW5kaWYKKysjZW5kaWYKKyAKKy1MSUJETV9BUElfQ09PS0lFID0gJChzaGVsbCBncmVwIC1FY3MgJ15bYS16XSpbWzpzcGFjZTpdXStkbV90YXNrX3NldF9jb29raWUnIC91c3IvaW5jbHVkZS9saWJkZXZtYXBwZXIuaCkKKy0KKy1pZm5lcSAoJChzdHJpcCAkKExJQkRNX0FQSV9DT09LSUUpKSwwKQorKyNpZm5lcSAoJChzdHJpcCAkKExJQkRNX0FQSV9DT09LSUUpKSwwKQorIAlDRkxBR1MgKz0gLURMSUJETV9BUElfQ09PS0lFCistZW5kaWYKKy0KKy1MSUJVREVWX0FQSV9SRUNWQlVGID0gJChzaGVsbCBncmVwIC1FY3MgJ15bYS16XSpbWzpzcGFjZTpdXSt1ZGV2X21vbml0b3Jfc2V0X3Jlc29sdmVfYnVmZmVyX3NpemUnIC91c3IvaW5jbHVkZS9saWJ1ZGV2LmgpCisrI2VuZGlmCisgCistaWZuZXEgKCQoc3RyaXAgJChMSUJVREVWX0FQSV9SRUNWQlVGKSksMCkKKysjaWZuZXEgKCQoc3RyaXAgJChMSUJVREVWX0FQSV9SRUNWQlVGKSksMCkKKyAJQ0ZMQUdTICs9IC1ETElCVURFVl9BUElfUkVDVkJVRgorLWVuZGlmCisrI2VuZGlmCisgCisgCisgYWxsOiAkKExJQlMpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy9kby1ub3QtbGluay1saWJtcGF0aHBlcnNpc3QtdG8tVE1QRElSLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvZG8tbm90LWxpbmstbGlibXBhdGhwZXJzaXN0LXRvLVRNUERJUi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NmQ1ZTBlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvZG8tbm90LWxpbmstbGlibXBhdGhwZXJzaXN0LXRvLVRNUERJUi5wYXRjaApAQCAtMCwwICsxLDMwIEBACitGcm9tIGZlNjVhYzhmYWNlM2M4OGQ5ZDRlMTI4MTFmNDRlNjNhZDcyYzU5YWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBCaWFuIE5haW1lbmcgPGJpYW5ubUBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IFRodSwgMTggSnVuIDIwMTUgMTI6MjU6MjUgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gZml4IGJ1aWxkIHdhcm5pbmcKKworICBOT1RFOiBFeGVjdXRpbmcgUnVuUXVldWUgVGFza3MKKyAgV0FSTklORzogUUEgSXNzdWU6IFN5bWxpbmsgL2xpYi9saWJtcGF0aHBlcnNpc3Quc28gaW4gbXVsdGlwYXRoLXRvb2xzLWRldiBwb2ludHMgdG8gVE1QRElSIFtzeW1saW5rLXRvLXN5c3Jvb3RdCisgIE5PVEU6IFRhc2tzIFN1bW1hcnk6IEF0dGVtcHRlZCAxNjA0IHRhc2tzIG9mIHdoaWNoIDE1OTEgZGlkbid0IG5lZWQgdG8gYmUgcmVydW4gYW5kIGFsbCBzdWNjZWVkZWQuCisKK1NpZ25lZC1vZmYtYnk6IEJpYW4gTmFpbWVuZyA8Ymlhbm5tQGNuLmZ1aml0c3UuY29tPgorLS0tCisgbGlibXBhdGhwZXJzaXN0L01ha2VmaWxlIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbGlibXBhdGhwZXJzaXN0L01ha2VmaWxlIGIvbGlibXBhdGhwZXJzaXN0L01ha2VmaWxlCitpbmRleCBjNGVjMWM1Li42MjAyMmViIDEwMDY0NAorLS0tIGEvbGlibXBhdGhwZXJzaXN0L01ha2VmaWxlCisrKysgYi9saWJtcGF0aHBlcnNpc3QvTWFrZWZpbGUKK0BAIC0zMiw3ICszMiw3IEBAIGluc3RhbGw6ICQoTElCUykKKyAJJChJTlNUQUxMX1BST0dSQU0pIC1tIDc1NSAtZCAkKERFU1RESVIpJChtYW4zZGlyKQorIAkkKElOU1RBTExfUFJPR1JBTSkgLW0gNzU1IC1kICQoREVTVERJUikvdXNyL2luY2x1ZGUvCisgCSQoSU5TVEFMTF9QUk9HUkFNKSAtbSA3NTUgLWQgJChERVNURElSKS91c3Ivc2hhcmUvZG9jL21wYXRocGVyc2lzdC8KKy0JbG4gLXNmICQoREVTVERJUikkKHN5c2xpYmRpcikvJChMSUJTKSAkKERFU1RESVIpJChzeXNsaWJkaXIpLyQoREVWTElCKQorKwlsbiAtc2YgJChzeXNsaWJkaXIpLyQoTElCUykgJChERVNURElSKSQoc3lzbGliZGlyKS8kKERFVkxJQikKKyAJaW5zdGFsbCAtbSA2NDQgbXBhdGhfcGVyc2lzdGVudF9yZXNlcnZlX2luLjMuZ3ogJChERVNURElSKSQobWFuM2RpcikJCisgCWluc3RhbGwgLW0gNjQ0IG1wYXRoX3BlcnNpc3RlbnRfcmVzZXJ2ZV9vdXQuMy5neiAkKERFU1RESVIpJChtYW4zZGlyKQkKKyAJaW5zdGFsbCAtbSA2NDQgbXBhdGhfcGVyc2lzdC5oICQoREVTVERJUikvdXNyL2luY2x1ZGUvCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvbWFrZWZpbGVfaW5jLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvbWFrZWZpbGVfaW5jLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxOTYzZTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy9tYWtlZmlsZV9pbmMucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorbXVsdGlwYXRoLXRvb2xzOiBtb2RpZnkgTWFrZWZpbGUuaW5jIGZvciBjcm9zcy1jb21waWxhdGlvbgorCitEbyBub3QgbG9vayBmb3Igc3lzdGVtZCBpbmZvIG9uIHRoZSBob3N0LCBhbmQgYWxsb3cgdXMgdG8gcGFzcyBpbiBDRkxBR1MKK3VzaW5nIHRoZSBPUFRGTEFHUyB2YXJpYWJsZS4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogSm9lIFNsYXRlciA8am9lLnNsYXRlckB3aW5kcml2ZXIuY29tPgorCitVcGRhdGUgZm9yIHZlcnNpb24gMC41LjAtMTQ0LWc3NzBlNmQwCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorCistLS0gYS9NYWtlZmlsZS5pbmMKKysrKyBiL01ha2VmaWxlLmluYworQEAgLTIxLDEyICsyMSw2IEBAIGlmbmRlZiBMSUIKKyAJZW5kaWYKKyBlbmRpZgorIAorLWlmbmRlZiBTWVNURU1ECistCWlmZXEgKCQoc2hlbGwgc3lzdGVtY3RsIC0tdmVyc2lvbiA+IC9kZXYvbnVsbCAyPiYxICYmIGVjaG8gMSksIDEpCistCQlTWVNURU1EID0gJChzaGVsbCBzeXN0ZW1jdGwgLS12ZXJzaW9uIDI+IC9kZXYvbnVsbCB8ICBzZWQgLW4gJ3Mvc3lzdGVtZCBcKFswLTldKlwpL1wxL3AnKQorLQllbmRpZgorLWVuZGlmCistCisgaWZuZGVmIFNZU1RFTURQQVRICisgCVNZU1RFTURQQVRIPXVzci9saWIKKyBlbmRpZgorQEAgLTUzLDcgKzQ3LDEwIEBAIGlmbmRlZiBSUE1fT1BUX0ZMQUdTCisgCVJQTV9PUFRfRkxBR1MgPSAtTzIgLWcgLXBpcGUgLVdmb3JtYXQtc2VjdXJpdHkgLVdhbGwgLVdwLC1EX0ZPUlRJRllfU09VUkNFPTIgLWZleGNlcHRpb25zIC1mc3RhY2stcHJvdGVjdG9yIC0tcGFyYW09c3NwLWJ1ZmZlci1zaXplPTQKKyBlbmRpZgorIAorK2lmbmRlZiBPUFRGTEFHUworIE9QVEZMQUdTICAgICA9ICQoUlBNX09QVF9GTEFHUykgLVd1bnVzZWQgLVdzdHJpY3QtcHJvdG90eXBlcworK2VuZGlmCisrCisgQ0ZMQUdTCSAgICAgPSAkKE9QVEZMQUdTKSAtZlBJQyAtRExJQl9TVFJJTkc9XCIke0xJQn1cIgorIFNIQVJFRF9GTEFHUyA9IC1zaGFyZWQKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzL211bHRpcGF0aGQub2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy9tdWx0aXBhdGhkLm9lCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNiZGY4NzUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy9tdWx0aXBhdGhkLm9lCkBAIC0wLDAgKzEsMTQ2IEBACisjIS9iaW4vYmFzaAorIworIyBtdWx0aXBhdGhkCVN0YXJ0cyB0aGUgbXVsdGlwYXRoIGRhZW1vbgorIworIyBjaGtjb25maWc6IC0gMDYgODcKKyMgZGVzY3JpcHRpb246IE1hbmFnZXMgZGV2aWNlLW1hcHBlciBtdWx0aXBhdGggZGV2aWNlcworCisjIyMgQkVHSU4gSU5JVCBJTkZPCisjIFByb3ZpZGVzOiBtdWx0aXBhdGhkCisjIFJlcXVpcmVkLVN0YXJ0OgorIyBSZXF1aXJlZC1TdG9wOgorIyBEZWZhdWx0LVN0YXJ0OgorIyBEZWZhdWx0LVN0b3A6CisjIFNob3J0LURlc2NyaXB0aW9uOiBDb250cm9sIG11bHRpcGF0aGQKKyMgRGVzY3JpcHRpb246IFRoaXMgc2VydmljZSBtb25pdG9ycyBhbmQgbWFuYWdlcworIyAgICAgICAgICAgICAgZGV2aWNlLW1hcHBlciBtdWx0aXBhdGggZGV2aWNlcworIyMjIEVORCBJTklUIElORk8KKworREFFTU9OPS9zYmluL211bHRpcGF0aGQKK3Byb2c9YGJhc2VuYW1lICREQUVNT05gCitpbml0ZGlyPS9ldGMvaW5pdC5kCitsb2NrZGlyPS92YXIvbG9jay9zdWJzeXMKK3N5c2NvbmZpZz0vZXRjL3N5c2NvbmZpZworc3lzcGF0aD0vc3lzL2Jsb2NrCisKK1JFVFZBTD0wCisKK3RlYXJkb3duX3NsYXZlcygpCit7CitwdXNoZCAkMSA+IC9kZXYvbnVsbAoraWYgWyAtZCAic2xhdmVzIiBdOyB0aGVuCitmb3Igc2xhdmUgaW4gc2xhdmVzLyo7CitkbworCWlmIFsgIiRzbGF2ZSIgPSAic2xhdmVzLyoiIF07IHRoZW4KKwkJcmVhZCBkZXYgPCAgJDEvZGV2CisJCXRhYmxlbmFtZT1gZG1zZXR1cCB0YWJsZSAtLXRhcmdldCBtdWx0aXBhdGggfCBzZWQgLW4gInMvXCguKlwpOiAuKiAkZGV2IC4qL1wxL3AiYAorCQlpZiAhIFsgLXogJHRhYmxlbmFtZSBdOyB0aGVuCisJCQllY2hvICJSb290IGlzIG9uIGEgbXVsdGlwYXRoZWQgZGV2aWNlLCBtdWx0aXBhdGhkIGNhbiBub3QgYmUgc3RvcHBlZCIKKwkJCWV4aXQgMQorCQlmaQorCWVsc2UKKwkJbG9jYWxfc2xhdmU9YHJlYWRsaW5rIC1mICRzbGF2ZWA7CisJCXRlYXJkb3duX3NsYXZlcyAkbG9jYWxfc2xhdmU7CisJZmkKKwlkb25lCisKK2Vsc2UKKwkJcmVhZCBkZXYgPCAgJDEvZGV2CisJCXRhYmxlbmFtZT1gZG1zZXR1cCB0YWJsZSAtLXRhcmdldCBtdWx0aXBhdGggfCBzZWQgLW4gInMvXCguKlwpOiAuKiAkZGV2IC4qL1wxL3AiYAorCQlpZiAhIFsgLXogJHRhYmxlbmFtZSBdOyB0aGVuCisJCQllY2hvICJSb290IGlzIG9uIGEgbXVsdGlwYXRoZWQgZGV2aWNlLCBtdWx0aXBhdGhkIGNhbiBub3QgYmUgc3RvcHBlZCIKKwkJCWV4aXQgMQorCQlmaQorZmkKK3BvcGQgPiAvZGV2L251bGwKK30KKworIworIyBTZWUgaG93IHdlIHdlcmUgY2FsbGVkLgorIworCitzdGFydCgpIHsKKwl0ZXN0IC14ICREQUVNT04gfHwgZXhpdCA1CisJZWNobyAtbiAkIlN0YXJ0aW5nICRwcm9nIGRhZW1vbjogIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLS1xdWlldCAtLWV4ZWMgJERBRU1PTgorCVJFVFZBTD0kPworCVsgJFJFVFZBTCAtZXEgMCBdICYmIHRvdWNoICRsb2NrZGlyLyRwcm9nCisJZWNobworfQorCitmb3JjZV9zdG9wKCkgeworCWVjaG8gLW4gJCJTdG9wcGluZyAkcHJvZyBkYWVtb246ICIKKwlraWxsYWxsICREQUVNT04KKwlSRVRWQUw9JD8KKwlbICRSRVRWQUwgLWVxIDAgXSAmJiBybSAtZiAkbG9ja2Rpci8kcHJvZworCWVjaG8KK30KKworc3RvcCgpIHsKKyAgICAgICAgcm9vdF9kZXY9JChhd2sgJ3sgaWYgKCQxICF+IC9eWyBcdF0qIy8gJiYgJDIgPT0gIi8iKSB7IHByaW50ICQxOyB9fScgL2V0Yy9tdGFiKQorCWRtX251bT1gZG1zZXR1cCBpbmZvIC1jIC0tbm9oZWFkaW5ncyAtbyBtaW5vciAkcm9vdF9kZXYgMj4gL2Rldi9udWxsYAorCWlmIFsgJD8gLWVxIDAgXTsgdGhlbgorCQlyb290X2RtX2RldmljZT0iZG0tJGRtX251bSIKKwkJWyAtZCAkc3lzcGF0aC8kcm9vdF9kbV9kZXZpY2UgXSAmJiB0ZWFyZG93bl9zbGF2ZXMgJHN5c3BhdGgvJHJvb3RfZG1fZGV2aWNlCisJZmkKKworCWZvcmNlX3N0b3AKK30KKworcmVzdGFydCgpIHsKKwlzdG9wCisJc3RhcnQKK30KKworZm9yY2VfcmVzdGFydCgpIHsKKwlmb3JjZV9zdG9wCisJc3RhcnQKK30KKworcmVsb2FkKCkgeworCWVjaG8gLW4gIlJlbG9hZGluZyAkcHJvZzogIgorCXRyYXAgIiIgU0lHSFVQCisJa2lsbGFsbCAkREFFTU9OIC1zIFNJR0hVUCAtdgorCVJFVFZBTD0kPworCWVjaG8KK30JCisKK2Nhc2UgIiQxIiBpbgorc3RhcnQpCisJc3RhcnQKKwk7Oworc3RvcCkKKwlzdG9wCisJOzsKK2ZvcmNlLXN0b3ApCisJZm9yY2Vfc3RvcAorCTs7Citmb3JjZS1yZWxvYWR8cmVsb2FkKQorCXJlbG9hZAorCTs7CityZXN0YXJ0KQorCXJlc3RhcnQKKwk7OworZm9yY2UtcmVzdGFydCkKKwlmb3JjZV9yZXN0YXJ0CisJOzsKK2NvbmRyZXN0YXJ0fHRyeS1yZXN0YXJ0KQorCWlmIFsgLWYgJGxvY2tkaXIvJHByb2cgXTsgdGhlbgorCSAgICByZXN0YXJ0CisJZmkKKwk7Oworc3RhdHVzKQorICAgIGlmIHBpZG9mIC1vICVQUElEICREQUVNT04gPiAvZGV2L251bGw7IHRoZW4KKyAgICAgICAgZWNobyAiUnVubmluZyIKKyAgICAgICAgUkVUVkFMPTAKKyAgICBlbHNlCisgICAgICAgIGVjaG8gIk5vdCBydW5uaW5nIgorICAgICAgICBSRVRWQUw9MQorICAgIGZpCisJOzsKKyopCisJZWNobyAkIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxmb3JjZS1zdG9wfHN0YXR1c3xyZXN0YXJ0fGZvcmNlLXJlc3RhcnR8Y29uZHJlc3RhcnR8cmVsb2FkfSIKKwlSRVRWQUw9MgorZXNhYworCitleGl0ICRSRVRWQUwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL211bHRpcGF0aC10b29sc19naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9tdWx0aXBhdGgtdG9vbHNfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3YjVmZWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9tdWx0aXBhdGgtdG9vbHNfZ2l0LmJiCkBAIC0wLDAgKzEsNzYgQEAKK1NVTU1BUlkgPSAiVGhlIHVwc3RyZWFtIHByb2plY3QgdXNlZCB0byBkcml2ZSB0aGUgRGV2aWNlIE1hcHBlciBtdWx0aXBhdGhpbmcgZHJpdmVyIgorCitERVBFTkRTID0gImx2bTIgbGliYWlvIHJlYWRsaW5lIHVkZXYiCisKK0xJQ0VOU0UgPSAiTEdQTHYyIgorCitTUkNfVVJJID0gImdpdDovL2dpdC5vcGVuc3ZjLmNvbS9tdWx0aXBhdGgtdG9vbHMvLmdpdDtwcm90b2NvbD1odHRwIFwKKyAgICAgICAgICAgZmlsZTovL211bHRpcGF0aGQub2UgXAorICAgICAgICAgICBmaWxlOi8vbWFrZWZpbGVfaW5jLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2Fsd2F5cy11c2UtbGliZGV2bWFwcGVyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2Fsd2F5cy11c2UtbGliZGV2bWFwcGVyLWtwYXJ0eC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kby1ub3QtbGluay1saWJtcGF0aHBlcnNpc3QtdG8tVE1QRElSLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbXVsdGlwYXRoZC5zZXJ2aWNlLUVycm9yLWZpeC5wYXRjaCBcCisgICAgICAgICAgICIKKyMgMC41LjAKKyMKKyNTUkNSRVYgPSAiODJmMzkxZTc4N2RjMDJlOWQ5Mjk0YWEzOTExMzdhYjQyNGJiODNjNCIKKyNMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03YmUyODczYjYyNzBlNDVhYmFjYzUwM2FiYmUyYWEzZCIKKworIyAwLjUuMCArIGNvbW1pdHMgdGhydSA3LzE4LzIwMTQKKyMKKyNTUkNSRVYgPSAiMGQ3MmY0NmMxMjIwN2E2YjdiODlmNWVmNGY1YWI1Zjg3ZWQ4YmM5MCIKKyNMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMDY2OTBlN2E5NWMxNjZlZWZlMDE5OWIzOTExOGViMSIKKworIyAwLjUuMCArIGNvbW1pdHMgdGhydSA5LzEyLzIwMTQKKyMKKyMgICAgaW5jbHVkZXMgaW1wb3J0YW50IHN5c3RlbWQgcmVsYXRlZCBzdHJ1Y3R1cmUgc2l6ZSBmaXgKKyMKKyNTUkNSRVYgPSAiYWVjNjhhYjIxN2ZkMjk1NjQ0M2IyN2NlZWI5N2RkNjQ3NTI2Nzc4OSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIwNjY5MGU3YTk1YzE2NmVlZmUwMTk5YjM5MTE4ZWIxIgorCisjIDAuNS4wICsgY29tbWl0cyB0aHJ1IDIvMTYvMjAxNQorU1JDUkVWID0gIjc3MGU2ZDBkYTAzNWRlYWNlZDgyODg1OTM5MTYxYzJiNjkyMjVlMTAiCisKK2luaGVyaXQgc3lzdGVtZAorCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK1BWID0gIjAuNS4wK2dpdCR7QCcke1NSQ1BWfScuc3BsaXQoJysnKVstMV19IgorCisjIFRoZSBleGFjdCB2ZXJzaW9uIG9mIFNZU1RFTUQgZG9lcyBub3QgbWF0dGVyIGJ1dCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIDIwOS4KKyMKK0VYVFJBX09FTUFLRSA9ICdNVUxUSVBBVEhfVkVSU0lPTj0ke1BWfSBERVNURElSPSR7RH0gc3lzbGliZGlyPSR7YmFzZV9saWJkaXJ9IFwKKyAgICAgICAgICAgICAgICBPUFRGTEFHUz0iJHtDRkxBR1N9IiBcCisgICAgICAgICAgICAgICAgTElCPSR7YmFzZV9saWJkaXJ9IGxpYmRpcj0ke2Jhc2VfbGliZGlyfS9tdWx0aXBhdGggXAorICAgICAgICAgICAgICAgIHVuaXRkaXI9L2xpYi9zeXN0ZW1kL3N5c3RlbSBcCisgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJzeXN0ZW1kIiwgIlNZU1RFTUQ9MjE2IiwgIiIsIGQpfSBcCisgICAgICAgICAgICAgICAnCisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsCisKKyAgICAjIENvcHkgYSBzYW1wbGUgY29uZiBmaWxlLCBidXQgZG8gbm90IHJlbmFtZSBpdCBtdWx0aXBhdGguY29uZi4KKyAgICAjCisgICAgY3AgbXVsdGlwYXRoLmNvbmYuZGVmYXVsdHMgJHtEfSR7c3lzY29uZmRpcn0KKworICAgICMgV2UgY29weSBhbiBpbml0c2NyaXB0LCBidXQgZG8gbm90IHN0YXJ0IG11bHRpcGF0aGQgYXQgaW5pdCB0aW1lLgorICAgICMKKyAgICBjcCAke1dPUktESVJ9L211bHRpcGF0aGQub2UgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL211bHRpcGF0aGQKKworfQorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7YmFzZV9saWJkaXJ9L211bHRpcGF0aC8uZGVidWciCisKKyMgc3lzdGVtZCBhbmQgdWRldiBzdHVmZiBhbHdheXMgZ29lcyB1bmRlciAvbGliIQorIworRklMRVNfJHtQTn0gKz0gIiR7YmFzZV9saWJkaXJ9L211bHRpcGF0aCBcCisgICAgICAgICAgICAgICAgL2xpYi9zeXN0ZW1kIgorCitQQUNLQUdFUyA9KyAia3BhcnR4IgorRklMRVNfa3BhcnR4ID0gIiR7YmFzZV9zYmluZGlyfS9rcGFydHggXAorICAgICAgICAgICAgICAgIC91c3IvbGliL3VkZXYva3BhcnR4X2lkIFwKKyAgICAgICAgICAgICAgICIKKworUkRFUEVORFNfJHtQTn0gKz0gImtwYXJ0eCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi1uYXRpdmVfNS41LjQ2LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiLW5hdGl2ZV81LjUuNDYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGNlOTYwZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi1uYXRpdmVfNS41LjQ2LmJiCkBAIC0wLDAgKzEsMTkgQEAKK3JlcXVpcmUgbWFyaWFkYi5pbmMKK2luaGVyaXQgbmF0aXZlCisKK1BST1ZJREVTICs9ICJteXNxbDUtbmF0aXZlIgorREVQRU5EUyA9ICJuY3Vyc2VzLW5hdGl2ZSB6bGliLW5hdGl2ZSBiaXNvbi1uYXRpdmUiCisKK1JERVBFTkRTXyR7UE59ID0gIiIKK1BBQ0tBR0VTID0gIiIKK0VYVFJBX09FTUFLRSA9ICIiCisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgc3FsL2dlbl9sZXhfaGFzaCAke0R9JHtiaW5kaXJ9LworICAgIGluc3RhbGwgLW0gMDc1NSBleHRyYS9jb21wX2VyciAke0R9JHtiaW5kaXJ9LworICAgIGluc3RhbGwgLW0gMDc1NSBzY3JpcHRzL2NvbXBfc3FsICR7RH0ke2JpbmRpcn0vCit9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4MDFmZmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIuaW5jCkBAIC0wLDAgKzEsMjg2IEBACitTVU1NQVJZID0gIkEgcm9idXN0LCBzY2FsYWJsZSwgYW5kIHJlbGlhYmxlIFNRTCBzZXJ2ZXIiCitIT01FUEFHRSA9ICJodHRwOi8vbWFyaWFkYi5vcmciCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK1NSQ19VUkkgPSAiaHR0cDovL2FyY2hpdmUubWFyaWFkYi5vcmcvbWFyaWFkYi0ke1BWfS9zb3VyY2UvbWFyaWFkYi0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZml4LWNtYWtlLW1vZHVsZS1wYXRoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3JlbW92ZS1iYWQtcGF0aC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtbXlzcWxjbGllbnQtci12ZXJzaW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL215LmNuZiBcCisgICAgICAgICAgIGZpbGU6Ly9teXNxbGQuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9pbnN0YWxsX2RiLnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vaW5zdGFsbF9kYiBcCisgICAgICAgICAgIGZpbGU6Ly9teXNxbC1zeXN0ZW1kLXN0YXJ0IFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS5jbWFrZS1maXgtdmFsZ3JpbmQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZml4LWEtYnVpbGRpbmctZmFpbHVyZS5wYXRjaCBcCisgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOTJmNjgyYjAwZWIxMzdhZjAxZTU5ZWE5M2Y3ZTMxZjciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDViNjZiN2FkYzg3Y2FkMzJlNTUzZGYxZDUyMTFlNWI2NDI2Yjc4YTNiYzMxOGE1Y2NkZTA4OGJmOTNlNmUxMCIKKworUyA9ICIke1dPUktESVJ9L21hcmlhZGItJHtQVn0iCisKK0JJTkNPTkZJR19HTE9CID0gIm15c3FsX2NvbmZpZyIKKworaW5oZXJpdCBjbWFrZSBnZXR0ZXh0IGJpbmNvbmZpZyB1cGRhdGUtcmMuZCB1c2VyYWRkIHN5c3RlbWQKKworSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfS1zZXJ2ZXIgJHtQTn0tc2V0dXBkYiIKK0lOSVRTQ1JJUFRfTkFNRV8ke1BOfS1zZXJ2ZXIgPSAibXlzcWxkIgorSU5JVFNDUklQVF9QQVJBTVNfJHtQTn0tc2VydmVyID89ICJzdGFydCA0NSA1IC4gc3RvcCA0NSAwIDYgMSAuIgorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59LXNlcnZlciIKK1VTRVJBRERfUEFSQU1fJHtQTn0tc2VydmVyID0gIi0tc3lzdGVtIC0taG9tZS1kaXIgL3Zhci9teXNxbCAtZyBteXNxbCAtLXNoZWxsIC9iaW4vZmFsc2UgbXlzcWwiCitHUk9VUEFERF9QQVJBTV8ke1BOfS1zZXJ2ZXIgPSAiLS1zeXN0ZW0gbXlzcWwiCisKK0lOSVRTQ1JJUFRfTkFNRV8ke1BOfS1zZXR1cGRiID0gImluc3RhbGxfZGIiCitJTklUU0NSSVBUX1BBUkFNU18ke1BOfS1zZXR1cGRiID89ICJkZWZhdWx0cyA0NCA0NCIKKworU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfS1zZXJ2ZXIgJHtQTn0tc2V0dXBkYiIKK1NZU1RFTURfU0VSVklDRV8ke1BOfS1zZXJ2ZXIgPSAibXlzcWxkLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFXyR7UE59LXNlcnZlciA/PSAiZGlzYWJsZSIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59LXNldHVwZGIgPSAiaW5zdGFsbF9kYi5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRV8ke1BOfS1zZXR1cGRiID89ICJlbmFibGUiCitBTExPV19FTVBUWV8ke1BOfS1zZXR1cGRiID89ICIxIgorRklMRVNfJHtQTn0tc2V0dXBkYiA9ICIke3N5c2NvbmZkaXJ9L2luaXQuZC9pbnN0YWxsX2RiIgorCitFWFRSQV9PRU1BS0UgPSAiJ0dFTl9MRVhfSEFTSD0ke1NUQUdJTkdfQklORElSX05BVElWRX0vZ2VuX2xleF9oYXNoJyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ3BhbScsICcnLCBkKX0gc2V0dXBkYiIKK1BBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID0gIiIKK1BBQ0tBR0VDT05GSUdbcGFtXSA9ICIsLURXSVRIT1VUX0FVVEhfUEFNPVRSVUUsbGlicGFtIgorUEFDS0FHRUNPTkZJR1t2YWxncmluZF0gPSAiLURXSVRIX1ZBTEdSSU5EPVRSVUUsLURXSVRIX1ZBTEdSSU5EPUZBTFNFLHZhbGdyaW5kIgorUEFDS0FHRUNPTkZJR1tsaWJlZGl0XSA9ICItRExJQkVESVRfSU5URVJGQUNFPVRSVUUsLURMSUJFRElUX0lOVEVSRkFDRT1GQUxTRSxsaWJlZGl0IgorUEFDS0FHRUNPTkZJR1trcmI1XSA9ICIsICxrcmI1IgorUEFDS0FHRUNPTkZJR1tzZXR1cGRiXSA9ICIsICwsJHtQTn0tc2V0dXBkYiIKKworIyBNYXJpYURCIGRvZXNuJ3QgbGluayBwcm9wZXJseSB3aXRoIGdvbGQKKyMgaHR0cHM6Ly9tYXJpYWRiLmF0bGFzc2lhbi5uZXQvYnJvd3NlL01ERVYtNTk4MgorVEFSR0VUX0NGTEFHUyArPSAiLWZ1c2UtbGQ9YmZkIgorCitCVUlMRF9DRkxBR1MgKz0gIi1mdXNlLWxkPWJmZCIKK0JVSUxEX0NYWEZMQUdTICs9ICItZnVzZS1sZD1iZmQiCisKK0VYVFJBX09FQ01BS0UgPSAiLURXSVRIX0VNQkVEREVEX1NFUlZFUj1PTiBcCisgICAgICAgICAgICAgICAgIC1EV0lUSF9KRU1BTExPQz1ubyBcCisgICAgICAgICAgICAgICAgIC1EV0lUSE9VVF9UT0tVREI9VFJVRSBcCisgICAgICAgICAgICAgICAgIC1EQ01BS0VfRElTQUJMRV9GSU5EX1BBQ0tBR0VfQm9vc3Q9VFJVRSBcCisgICAgICAgICAgICAgICAgIC1ER1JPRkY9RkFMU0UgXAorICAgICAgICAgICAgICAgICAtRE5ST0ZGPUZBTFNFIFwKKyAgICAgICAgICAgICAgICAgLURFTkFCTEVfRFRSQUNFPUZBTFNFIFwKKyAgICAgICAgICAgICAgICAgLURXSVRIX1BJQz1PTiBcCisgICAgICAgICAgICAgICAgIC1ESU5TVEFMTF9MQVlPVVQ9UlBNIFwKKyAgICAgICAgICAgICAgICAgLURJTlNUQUxMX0RPQ0RJUjpQQVRIPSR7ZGF0YWRpcn0vZG9jLyR7QlBOfSBcCisgICAgICAgICAgICAgICAgIC1ESU5TVEFMTF9MSUJESVI6UEFUSD0ke2Jhc2VsaWJ9IFwKKyAgICAgICAgICAgICAgICAgLURJTlNUQUxMX1BMVUdJTkRJUjpQQVRIPSR7YmFzZWxpYn0vcGx1Z2luIFwKKyAgICAgICAgICAgICAgICAgLURJTlNUQUxMX1NZU0NPTkZESVI6UEFUSD0ke3N5c2NvbmZkaXJ9IFwKKyAgICAgICAgICAgICAgICAgLURNWVNRTF9EQVRBRElSOlBBVEg9L3Zhci9teXNxbCBcCisgICAgICAgICAgICAgICAgIC1EQ0FUX0VYRUNVVEFCTEU9YHdoaWNoIGNhdGAgXAorICAgICAgICAgICAgICAgICAtRENNQUtFX0FSOkZJTEVQQVRIPSR7QVJ9IgorCitkb19jb25maWd1cmVfYXBwZW5kKCkgeworICAgICMgaGFuZGxlIGRpc3Ryb3Mgd2l0aCBkaWZmZXJlbnQgdmFsdWVzIG9mICR7bGliZXhlY2Rpcn0KKyAgICBsaWJleGVjZGlyMj1gZWNobyAke2xpYmV4ZWNkaXJ9IHwgc2VkIC1lICdzKy91c3IvKytnJ2AKKyAgICBzZWQgLWkgLWUgInM6L2xpYmV4ZWM6LyRsaWJleGVjZGlyMjpnIiAke1N9L3NjcmlwdHMvbXlzcWxfaW5zdGFsbF9kYi5zaAorICAgIHNlZCAtaSAtZSAiczpteXNxbGQgbGliZXhlYzpteXNxbGQgJGxpYmV4ZWNkaXIyOmciICR7U30vc2NyaXB0cy9teXNxbF9pbnN0YWxsX2RiLnNoCisgICAgc2VkIC1pIC1lICJzOi9saWJleGVjOi8kbGliZXhlY2RpcjI6ZyIgJHtTfS9zY3JpcHRzL215c3FsZF9zYWZlLnNoCit9CisKK2RvX2dlbmVyYXRlX3Rvb2xjaGFpbl9maWxlX2FwcGVuZF9jbGFzcy1uYXRpdmUgKCkgeworICAgICMgSWYgdGhlc2UgYXJlIHNldCBjbWFrZSB3aWxsIGFzc3VtZSB3ZSdyZSBjcm9zcy1jb21waWxpbmcsIHdoaWNoIHdpbGwKKyAgICAjIHJlc3VsdCBpbiBjZXJ0YWluIHRoaW5ncyB3ZSB3YW50IGJlaW5nIGRpc2FibGVkCisgICAgc2VkIC1pICIvc2V0KCBDTUFLRV9TWVNURU1fTkFNRS9kIiAke1dPUktESVJ9L3Rvb2xjaGFpbi5jbWFrZQorICAgIHNlZCAtaSAiL3NldCggQ01BS0VfU1lTVEVNX1BST0NFU1NPUi9kIiAke1dPUktESVJ9L3Rvb2xjaGFpbi5jbWFrZQorfQorCitkb19jb21waWxlX3ByZXBlbmRfY2xhc3MtdGFyZ2V0ICgpIHsKKyAgICAjIFRoZXNlIG5lZWQgdG8gYmUgaW4tdHJlZSBvciBtYWtlIHdpbGwgdGhpbmsgdGhleSBuZWVkIHRvIGJlIGJ1aWx0LAorICAgICMgYW5kIHNpbmNlIHdlJ3JlIGNyb3NzLWNvbXBpbGluZyB0aGF0IGlzIGRpc2FibGVkCisgICAgY3AgJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2NvbXBfZXJyICR7U30vZXh0cmEKKyAgICBjcCAke1NUQUdJTkdfQklORElSX05BVElWRX0vY29tcF9zcWwgJHtTfS9zY3JpcHRzCisKKyAgICBpZiBbICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdrcmI1JywgJ3llcycsICdubycsIGQpfSIgPSAibm8iIF07IHRoZW4KKyAgICAgICAgaWYgISBbIC1lICR7Qn0vaW5jbHVkZS9vcGVuc3NsL2tzc2wuaCBdIDsgdGhlbgorICAgICAgICAgICAgbWtkaXIgLXAgJHtCfS9pbmNsdWRlL29wZW5zc2wKKyAgICAgICAgICAgIGVjaG8gIiNpZm5kZWYgS1NTTF9IIiA+JHtCfS9pbmNsdWRlL29wZW5zc2wva3NzbC5oCisgICAgICAgICAgICBlY2hvICIjZGVmaW5lIEtTU0xfSCIgPj4ke0J9L2luY2x1ZGUvb3BlbnNzbC9rc3NsLmgKKyAgICAgICAgICAgIGVjaG8gIiNpbmNsdWRlIDxvcGVuc3NsL29wZW5zc2xjb25mLmg+Ij4+JHtCfS9pbmNsdWRlL29wZW5zc2wva3NzbC5oCisgICAgICAgICAgICBlY2hvICIjZW5kaWYiID4+JHtCfS9pbmNsdWRlL29wZW5zc2wva3NzbC5oCisgICAgICAgIGZpCisgICAgZmkKK30KKworU1lTUk9PVF9QUkVQUk9DRVNTX0ZVTkNTICs9ICJtYXJpYWRiX3N5c3Jvb3RfcHJlcHJvY2VzcyIKKworIyBXZSBuZWVkIHRvIGFwcGVuZCB0aGlzIHNvIGl0IHJ1bnMgKmFmdGVyKiBiaW5jb25maWcncyBwcmVwcm9jZXNzIGZ1bmN0aW9uCisjCisjIFdlIHJlYWxseSBkb24ndCBjYXJlIGV4YWN0bHkgd2hhdCB0aGUgZGlyZWN0b3JpZXMgd2VyZSBzZXQgdG8gb3JpZ2luYWxseS4KKyMgcGx1Z2luZGlyIGlzIG5vdCBmaXhlZCwgYnV0IHdlIGRvbid0IGNyZWF0ZSBhbnkgcGx1Z2lucy4KKyMKK21hcmlhZGJfc3lzcm9vdF9wcmVwcm9jZXNzICgpIHsKKyAgICBzZWQgLWkgLWVzLF5wa2dpbmNsdWRlZGlyPS4qLHBrZ2luY2x1ZGVkaXI9XCcke1NUQUdJTkdfSU5DRElSfS9teXNxbFwnLCAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9L215c3FsX2NvbmZpZworICAgIHNlZCAtaSAtZXMsXnBrZ2xpYmRpcj0uKixwa2dsaWJkaXI9XCcke1NUQUdJTkdfTElCRElSfVwnLCAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9L215c3FsX2NvbmZpZworfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAorCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbXkuY25mICR7RH0vJHtzeXNjb25mZGlyfS8KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9pbnN0YWxsX2RiICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvCisgICAgbXYgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZC9teXNxbCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kL215c3FsZAorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L215c3FsZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vaW5zdGFsbF9kYi5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgc2VkIC1pIC1lICdzLEBCSU5ESVJALCR7YmluZGlyfSxnJyAtZSAncyxAUFJFRklYQCwke3ByZWZpeH0sZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vbXlzcWxkLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2luc3RhbGxfZGIuc2VydmljZQorCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQKKwllY2hvICJmIC92YXIvbG9nL215c3FsZC5lcnIgMDY0MCBteXNxbCBteXNxbCAtIiBcCisgICAgICAgICAgICA+ICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvOTktbXlzcWxkLmNvbmYKKyAgICBmaQorICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1ICR7V09SS0RJUn0vbXlzcWwtc3lzdGVtZC1zdGFydCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9kb2MvJHtQTn0KKyAgICBpZiBbIC1mICR7RH0ke2RhdGFkaXJ9L2RvYy9SRUFETUUgXTsgdGhlbgorICAgICAgICBtdiAke0R9JHtkYXRhZGlyfS9kb2MvUkVBRE1FICR7RH0ke2RhdGFkaXJ9L2RvYy8ke1BOfS8KKyAgICBmaQorfQorCitQQUNLQUdFUyA9ICIke1BOfS1kYmcgJHtQTn0gXAorICAgIGxpYm15c3FsY2xpZW50LXIgbGlibXlzcWxjbGllbnQtci1kZXYgbGlibXlzcWxjbGllbnQtci1zdGF0aWNkZXYgbGlibXlzcWxjbGllbnQtci1kYmcgXAorICAgIGxpYm15c3FsY2xpZW50IGxpYm15c3FsY2xpZW50LWRldiBsaWJteXNxbGNsaWVudC1zdGF0aWNkZXYgbGlibXlzcWxjbGllbnQtZGJnIFwKKyAgICBsaWJteXNxbGQgbGlibXlzcWxkLWRldiAke1BOfS1jbGllbnQgJHtQTn0tc2VydmVyICR7UE59LXNldHVwZGIgJHtQTn0tbGVmdG92ZXJzIgorQ09ORkZJTEVTXyR7UE59LXNlcnZlciArPSAiJHtzeXNjb25mZGlyfS9teS5jbmYgJHtzeXNjb25mZGlyfS9teS5jbmYuZC9zZXJ2ZXIuY25mIgorQ09ORkZJTEVTXyR7UE59LWNsaWVudCArPSAiJHtzeXNjb25mZGlyfS9teS5jbmYuZC9teXNxbC1jbGllbnRzLmNuZiIKK0NPTkZGSUxFU19saWJteXNxbGNsaWVudCArPSAiJHtzeXNjb25mZGlyfS9teS5jbmYuZC9jbGllbnQuY25mIgorCitGSUxFU18ke1BOfSA9ICIgIgorUkRFUEVORFNfJHtQTn0gPSAiJHtQTn0tY2xpZW50ICR7UE59LXNlcnZlciIKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCisKK1JERVBFTkRTXyR7UE59LWNsaWVudCA9ICJwZXJsIHBlcmwtbW9kdWxlLWdldG9wdC1sb25nIHBlcmwtbW9kdWxlLWZpbGUtdGVtcCBcCisgICAgcGVybC1tb2R1bGUtZmNudGwgcGVybC1tb2R1bGUtc3lzLWhvc3RuYW1lIHBlcmwtbW9kdWxlLWlwYy1vcGVuMyBcCisgICAgcGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU18ke1BOfS1zZXJ2ZXIgPSAicGVybCBwZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyBwZXJsLW1vZHVsZS1kYXRhLWR1bXBlciBcCisgICAgcGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSBwZXJsLW1vZHVsZS1maWxlLXBhdGggcGVybC1tb2R1bGUtc3lzLWhvc3RuYW1lIFwKKyAgICBwZXJsLW1vZHVsZS1maWxlLWNvcHkgcGVybC1tb2R1bGUtZmlsZS10ZW1wIHBlcmwtbW9kdWxlLXBvc2l4IFwKKyAgICAke1BOfS1jbGllbnQiCitSREVQRU5EU18ke1BOfS1sZWZ0b3ZlcnMgPSAicGVybCBwZXJsLW1vZHVsZS1jd2QgcGVybC1tb2R1bGUtYmVuY2htYXJrIHBlcmwtbW9kdWxlLWdldG9wdC1sb25nIFwKKyAgICBwZXJsLW1vZHVsZS1wb3NpeCBwZXJsLW1vZHVsZS1kYXRhLWR1bXBlciBwZXJsLW1vZHVsZS1zaWd0cmFwIHBlcmwtbW9kdWxlLXRocmVhZHMgXAorICAgIHBlcmwtbW9kdWxlLXRocmVhZHMtc2hhcmVkIHBlcmwtbW9kdWxlLWlvLXNvY2tldCBwZXJsLW1vZHVsZS1zeXMtaG9zdG5hbWUgcGVybC1tb2R1bGUtZmlsZS1jb3B5IFwKKyAgICBwZXJsLW1vZHVsZS1maWxlLXNwZWMgcGVybC1tb2R1bGUtZmlsZS1maW5kIHBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUgcGVybC1tb2R1bGUtZmlsZS1wYXRoIFwKKyAgICBwZXJsLW1vZHVsZS1jb25zdGFudCBwZXJsLW1vZHVsZS1saWIgcGVybC1tb2R1bGUtZmlsZS10ZW1wIHBlcmwtbW9kdWxlLWZpbGUtc3BlYy1mdW5jdGlvbnMgXAorICAgIHBlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0IHBlcmwtbW9kdWxlLWlvLXNlbGVjdCIKKworIyBBbGxvdyBvbGQgY29kZSB0byBsaW5rIHRvIHRoZSBiYWNrd2FyZCBjb21wYXRpYmxlIGxpYnJhcnkKK1JERVBFTkRTX2xpYm15c3FsY2xpZW50LWRldiA9ICJsaWJteXNxbGNsaWVudC1yLWRldiIKKworRklMRVNfbGlibXlzcWxjbGllbnQgPSAiXAorICAgICR7bGliZGlyfS9saWJteXNxbGNsaWVudC5zby4qIFwKKyAgICAke3N5c2NvbmZkaXJ9L215LmNuZi5kL2NsaWVudC5jbmYiCitGSUxFU19saWJteXNxbGNsaWVudC1kZXYgPSAiIFwKKyAgICAke2luY2x1ZGVkaXJ9L215c3FsLyBcCisgICAgJHtsaWJkaXJ9L2xpYm15c3FsY2xpZW50LnNvIFwKKyAgICAke3N5c2NvbmZkaXJ9L2FjbG9jYWwgXAorICAgICR7YmluZGlyfS9teXNxbF9jb25maWciCitGSUxFU19saWJteXNxbGNsaWVudC1zdGF0aWNkZXYgPSAiXAorICAgICR7bGliZGlyfS8qLmEiCitGSUxFU19saWJteXNxbGNsaWVudC1kYmcgPSAiJHtsaWJkaXJ9L3BsdWdpbi8uZGVidWcvIFwKKyAgICAke2RhdGFkaXJ9L215c3FsLXRlc3QvbGliL015L1NhZmVQcm9jZXNzLy5kZWJ1Zy9teV9zYWZlX3Byb2Nlc3MiCisKKyMgQXZvaWQgd2FybmluZ3MgYWJvdXQgaGFfeHRyYWRiLnNvLjAuMC4wIGFuZCBoYV9pbm5vZGJfcGx1Z2luLnNvLjAuMC4wCisjIHdoaWNoIGFyZSBpbnRlbnRpb25hbGx5IG5vbi1QSUMgb24gMzItYml0IHg4NiAoc2VlIGUuZy4KKyMgc3RvcmFnZS94dHJhZGIvcGx1Zy5pbiBpbiB0aGUgc291cmNlKQorSU5TQU5FX1NLSVBfbGlibXlzcWxjbGllbnRfYXBwZW5kX3g4NiA9ICIgdGV4dHJlbCIKKworRklMRVNfbGlibXlzcWxjbGllbnQtciA9ICIke2xpYmRpcn0vbGlibXlzcWxjbGllbnRfci5zby4qIgorRklMRVNfbGlibXlzcWxjbGllbnQtci1kZXYgPSAiXAorICAgICR7bGliZGlyfS9saWJteXNxbGNsaWVudF9yLnNvIgorRklMRVNfbGlibXlzcWxjbGllbnQtci1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2xpYm15c3FsY2xpZW50X3IuYSIKK0ZJTEVTX2xpYm15c3FsY2xpZW50LXItZGJnID0gIiR7bGliZGlyfS9wbHVnaW4vLmRlYnVnbGlibXlzcWxjbGllbnRfci5zby4qIgorCitGSUxFU19saWJteXNxbGQgPSAiXAorICAgICR7bGliZGlyfS9saWJteXNxbGQuc28uKiIKK0ZJTEVTX2xpYm15c3FsZC1kZXYgPSAiXAorICAgICR7bGliZGlyfS9saWJteXNxbGQuc28iCisKK0ZJTEVTXyR7UE59LWNsaWVudCA9ICJcCisgICAgJHtiaW5kaXJ9L215aXNhbV9mdGR1bXAgXAorICAgICR7YmluZGlyfS9teXNxbCBcCisgICAgJHtiaW5kaXJ9L215c3FsX2NsaWVudF90ZXN0IFwKKyAgICAke2JpbmRpcn0vbXlzcWxfY2xpZW50X3Rlc3RfZW1iZWRkZWQgXAorICAgICR7YmluZGlyfS9teXNxbF9maW5kX3Jvd3MgXAorICAgICR7YmluZGlyfS9teXNxbF9maXhfZXh0ZW5zaW9ucyBcCisgICAgJHtiaW5kaXJ9L215c3FsX3dhaXRwaWQgXAorICAgICR7YmluZGlyfS9teXNxbGFjY2VzcyBcCisgICAgJHtiaW5kaXJ9L215c3FsYWRtaW4gXAorICAgICR7YmluZGlyfS9teXNxbGJ1ZyBcCisgICAgJHtiaW5kaXJ9L215c3FsY2hlY2sgXAorICAgICR7YmluZGlyfS9teXNxbGR1bXAgXAorICAgICR7YmluZGlyfS9teXNxbGR1bXBzbG93IFwKKyAgICAke2JpbmRpcn0vbXlzcWxpbXBvcnQgXAorICAgICR7YmluZGlyfS9teXNxbHNob3cgXAorICAgICR7YmluZGlyfS9teXNxbHNsYXAgXAorICAgICR7YmluZGlyfS9teXNxbHRlc3RfZW1iZWRkZWQgXAorICAgICR7bGliZXhlY2Rpcn0vbXlzcWxtYW5hZ2VyIFwKKyAgICAke3N5c2NvbmZkaXJ9L215LmNuZi5kL215c3FsLWNsaWVudHMuY25mIgorCitGSUxFU18ke1BOfS1zZXJ2ZXIgPSAiXAorICAgICR7YmluZGlyfS9jb21wX2VyciBcCisgICAgJHtiaW5kaXJ9L2lzYW1jaGsgXAorICAgICR7YmluZGlyfS9pc2FtbG9nIFwKKyAgICAke2JpbmRpcn0vbXNxbDJteXNxbCBcCisgICAgJHtiaW5kaXJ9L215X3ByaW50X2RlZmF1bHRzIFwKKyAgICAke2JpbmRpcn0vbXlpc2FtY2hrIFwKKyAgICAke2JpbmRpcn0vbXlpc2FtbG9nIFwKKyAgICAke2JpbmRpcn0vbXlpc2FtcGFjayBcCisgICAgJHtiaW5kaXJ9L215c3FsX2NvbnZlcnRfdGFibGVfZm9ybWF0IFwKKyAgICAke2JpbmRpcn0vbXlzcWxfZml4X3ByaXZpbGVnZV90YWJsZXMgXAorICAgICR7YmluZGlyfS9teXNxbF9pbnN0YWxsX2RiIFwKKyAgICAke2JpbmRpcn0vbXlzcWxfc2VjdXJlX2luc3RhbGxhdGlvbiBcCisgICAgJHtiaW5kaXJ9L215c3FsX3NldHBlcm1pc3Npb24gXAorICAgICR7YmluZGlyfS9teXNxbC1zeXN0ZW1kLXN0YXJ0IFwKKyAgICAke2JpbmRpcn0vbXlzcWxfdHppbmZvX3RvX3NxbCBcCisgICAgJHtiaW5kaXJ9L215c3FsX3VwZ3JhZGUgXAorICAgICR7YmluZGlyfS9teXNxbF9wbHVnaW4gXAorICAgICR7YmluZGlyfS9teXNxbF96YXAgXAorICAgICR7YmluZGlyfS9teXNxbGJpbmxvZyBcCisgICAgJHtiaW5kaXJ9L215c3FsZF9tdWx0aSBcCisgICAgJHtiaW5kaXJ9L215c3FsZF9zYWZlIFwKKyAgICAke2JpbmRpcn0vbXlzcWxob3Rjb3B5IFwKKyAgICAke2JpbmRpcn0vbXlzcWx0ZXN0IFwKKyAgICAke2JpbmRpcn0vbmRiX2RlbGV0ZV9hbGwgXAorICAgICR7YmluZGlyfS9uZGJfZGVzYyBcCisgICAgJHtiaW5kaXJ9L25kYl9kcm9wX2luZGV4IFwKKyAgICAke2JpbmRpcn0vbmRiX2Ryb3BfdGFibGUgXAorICAgICR7YmluZGlyfS9uZGJfbWdtIFwKKyAgICAke2JpbmRpcn0vbmRiX3Jlc3RvcmUgXAorICAgICR7YmluZGlyfS9uZGJfc2VsZWN0X2FsbCBcCisgICAgJHtiaW5kaXJ9L25kYl9zZWxlY3RfY291bnQgXAorICAgICR7YmluZGlyfS9uZGJfc2hvd190YWJsZXMgXAorICAgICR7YmluZGlyfS9uZGJfd2FpdGVyIFwKKyAgICAke2JpbmRpcn0vcGFja19pc2FtIFwKKyAgICAke2JpbmRpcn0vcGVycm9yIFwKKyAgICAke2JpbmRpcn0vcmVwbGFjZSBcCisgICAgJHtiaW5kaXJ9L3Jlc29sdmVfc3RhY2tfZHVtcCBcCisgICAgJHtiaW5kaXJ9L3Jlc29sdmVpcCBcCisgICAgJHtsaWJleGVjZGlyfS9teXNxbGQgXAorICAgICR7c2JpbmRpcn0vbXlzcWxkIFwKKyAgICAke3NiaW5kaXJ9L25kYl9jcGNkIFwKKyAgICAke3NiaW5kaXJ9L25kYmQgXAorICAgICR7c2JpbmRpcn0vbmRiX21nbWQgXAorICAgICR7bGliZGlyfS9wbHVnaW4vKi5zbyBcCisgICAgJHtkYXRhZGlyfS9teXNxbC8gXAorICAgICR7bG9jYWxzdGF0ZWRpcn0vbXlzcWwvIFwKKyAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9teXNxbGQgXAorICAgICR7c3lzY29uZmRpcn0vbXkuY25mIFwKKyAgICAke3N5c2NvbmZkaXJ9L215LmNuZi5kL3NlcnZlci5jbmYgXAorICAgICR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZCIKKworREVTQ1JJUFRJT05fJHtQTn0tbGVmdG92ZXJzID0gInVucGFja2FnZWQgYW5kIHByb2JhYmx5IHVubmVlZGVkIGZpbGVzIGZvciAke1BOfSIKK0ZJTEVTXyR7UE59LWxlZnRvdmVycyA9ICIvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL2NvbmZpZ3VyZS5jbWFrZS1maXgtdmFsZ3JpbmQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvY29uZmlndXJlLmNtYWtlLWZpeC12YWxncmluZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTdkZWY2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL2NvbmZpZ3VyZS5jbWFrZS1maXgtdmFsZ3JpbmQucGF0Y2gKQEAgLTAsMCArMSw0MSBAQAorRnJvbSA1ZWZmYmEwZDdkNDcwNzFhM2YxYmNhNTY4MjMxOTBkNWE5NWJiMWE2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgMTIgTm92IDIwMTQgMDM6MDk6MTAgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlLmNtYWtlOiBmaXggdmFsZ3JpbmQKKworQ2hlY2sgdmFsZ3JpbmQgaGVhZGVycyBvbmx5IGlmIFdJVEhfVkFMR1JJTkQgaXMgc2V0LgorCittYXJpYWRiIHVzZXMgdHdvIG1hY3JvcyBmb3IgdmFsZ3JpbmQgY29tcGlsYXRpb25zOgorSEFWRV92YWxncmluZCAtIHZhbGdyaW5kIGlzIGluc3RhbGxlZCBhbmQgY2FuIGJlIHNldCBieSBjb25maWd1cmUgb3B0aW9uIC1EV0lUSF9WQUxHUklORAorSEFWRV9WQUxHUklORCAtIHZhbGdyaW5kIGRlYnVnIGxpYnJhcmllcyBpcyBpbnN0YWxsZWQsIHNldCBieSBhdXRvIGNoZWNrCisKK1dlIHdvdWxkIGxpa2UgdG8gc2V0IHRoZW0gYm90aCBieSB0aGUgY29uZmlndXJlIG9wdGlvbiBzbyB0aGF0IHdlIGNhbiB1c2UKK1BBQ0tBR0VDT05GSUcgdG8gZGVjaWRlIGlmIHZhbGdyaW5kIGlzIG5lZWRlZCBvciBub3QuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2Ugc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBjb25maWd1cmUuY21ha2UgfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmNtYWtlIGIvY29uZmlndXJlLmNtYWtlCitpbmRleCAwYmQ3YmJlLi41MWEwOThmIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmNtYWtlCisrKysgYi9jb25maWd1cmUuY21ha2UKK0BAIC0xMDQ3LDEwICsxMDQ3LDEwIEBAIE1BUktfQVNfQURWQU5DRUQoV0lUSF9BVE9NSUNfTE9DS1MgTVlfQVRPTUlDX01PREVfUldMT0NLIE1ZX0FUT01JQ19NT0RFX0RVTU1ZKQorIAorIElGKFdJVEhfVkFMR1JJTkQpCisgICBTRVQoSEFWRV92YWxncmluZCAxKQorKyAgQ0hFQ0tfSU5DTFVERV9GSUxFUygidmFsZ3JpbmQvbWVtY2hlY2suaDt2YWxncmluZC92YWxncmluZC5oIgorKyAgSEFWRV9WQUxHUklORCkKKyBFTkRJRigpCisgCistQ0hFQ0tfSU5DTFVERV9GSUxFUygidmFsZ3JpbmQvbWVtY2hlY2suaDt2YWxncmluZC92YWxncmluZC5oIiAKKy0gIEhBVkVfVkFMR1JJTkQpCisgCisgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBDaGVjayBmb3IgSVB2NiBzdXBwb3J0CistLSAKKzIuMC4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9maXgtYS1idWlsZGluZy1mYWlsdXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL2ZpeC1hLWJ1aWxkaW5nLWZhaWx1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGM0ZTEwMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9maXgtYS1idWlsZGluZy1mYWlsdXJlLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK1tQQVRDSF0gZml4IGEgYnVpbGRpbmcgZmFpbHVyZQorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK2J1aWxkaW5nIGZhaWxlZCBzaW5jZSBuYXRpdmUgZG9lcyBub3QgZ2VuZXJhdGUgaW1wb3J0X2V4ZWN1dGFibGVzLmNtYWtlCitJbiBmYWN0LCBvdXIgYnVpbGRpbmcgc3lzdGVtIHdpbGwgZXhwb3J0IHRoZSBuZWVkZWQgY29tbWFuZHMKKworU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgQ01ha2VMaXN0cy50eHQgfCA1IC0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CitpbmRleCBjMWNlMWM1Li44M2IzYTdlIDEwMDY0NAorLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrKyBiL0NNYWtlTGlzdHMudHh0CitAQCAtMzUwLDExICszNTAsNiBAQCBNWVNRTF9DSEVDS19SRUFETElORSgpCisgCisgQ0hFQ0tfSkVNQUxMT0MoKQorIAorLUlGKENNQUtFX0NST1NTQ09NUElMSU5HKQorLSAgU0VUKElNUE9SVF9FWEVDVVRBQkxFUyAiSU1QT1JURklMRS1OT1RGT1VORCIgQ0FDSEUgRklMRVBBVEggIlBhdGggdG8gaW1wb3J0X2V4ZWN1dGFibGVzLmNtYWtlIGZyb20gYSBuYXRpdmUgYnVpbGQiKQorLSAgSU5DTFVERSgke0lNUE9SVF9FWEVDVVRBQkxFU30pCistRU5ESUYoKQorLQorICMKKyAjIFNldHVwIG1haW50YWluZXIgbW9kZSBvcHRpb25zIGJ5IHRoZSBlbmQuIFBsYXRmb3JtIGNoZWNrcyBhcmUKKyAjIG5vdCBydW4gd2l0aCB0aGUgd2FybmluZyBvcHRpb25zIGFzIHRvIG5vdCBwZXJ0dXJiIGZyYWdpbGUgY2hlY2tzCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9maXgtY21ha2UtbW9kdWxlLXBhdGgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvZml4LWNtYWtlLW1vZHVsZS1wYXRoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkOWY1NTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvZml4LWNtYWtlLW1vZHVsZS1wYXRoLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0F2b2lkIENNQUtFX01PRFVMRV9QQVRIIGJlaW5nIG92ZXJ3cml0dGVuCisKK09FLUNvcmUncyBzZXR0aW5nIG9mIENNQUtFX01PRFVMRV9QQVRIIHN0b21wcyBvbiBNYXJpYURCJ3MgdmFsdWUgdW5sZXNzCit3ZSBzZXQgaXQgYWZ0ZXIgc2V0dGluZyB0aGUgcHJvamVjdCBuYW1lLgorCitTaWduZWQtb2ZmLWJ5OiBQYXVsIEVnZ2xldG9uIDxwYXVsLmVnZ2xldG9uQGxpbnV4LmludGVsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFt3b3JraW5nIGFyb3VuZCBPRS1Db3JlIGJ1Z10KKworLS0tIG1hcmlhZGIvQ01ha2VMaXN0cy50eHQJMjAxNC0wNy0xNyAxMTowMTowNy42NzYzNTMwNDcgKzAxMDAKKysrKyBtYXJpYWRiL0NNYWtlTGlzdHMudHh0CTIwMTQtMDctMTcgMTE6MDE6MzEuMjk5MzUzMTA3ICswMTAwCitAQCAtMjgsOCArMjgsNiBAQAorIAorIE1FU1NBR0UoU1RBVFVTICJSdW5uaW5nIGNtYWtlIHZlcnNpb24gJHtDTUFLRV9WRVJTSU9OfSIpCisgCistU0VUKENNQUtFX01PRFVMRV9QQVRIICR7Q01BS0VfTU9EVUxFX1BBVEh9ICR7Q01BS0VfU09VUkNFX0RJUn0vY21ha2UpCistCisgIyBEaXN0aW5ndWlzaCBiZXR3ZWVuIGNvbW11bml0eSBhbmQgbm9uLWNvbW11bml0eSBidWlsZHMsIHdpdGggdGhlCisgIyBkZWZhdWx0IGJlaW5nIGEgY29tbXVuaXR5IGJ1aWxkLiBUaGlzIGRvZXMgbm90IGltcGFjdCB0aGUgZmVhdHVyZQorICMgc2V0IHRoYXQgd2lsbCBiZSBjb21waWxlZCBpbjsgaXQncyBtZXJlbHkgcHJvdmlkZWQgYXMgYSBoaW50IHRvCitAQCAtNzcsNiArNzUsOCBAQAorIEVORElGKCkKKyBQUk9KRUNUKCR7TVlTUUxfUFJPSkVDVF9OQU1FfSkKKyAKKytTRVQoQ01BS0VfTU9EVUxFX1BBVEggJHtDTUFLRV9NT0RVTEVfUEFUSH0gJHtDTUFLRV9TT1VSQ0VfRElSfS9jbWFrZSkKKysKKyBJRihCVUlMRF9DT05GSUcpCisgICBJTkNMVURFKAorICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9jbWFrZS9idWlsZF9jb25maWd1cmF0aW9ucy8ke0JVSUxEX0NPTkZJR30uY21ha2UpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvZml4LW15c3FsY2xpZW50LXItdmVyc2lvbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9maXgtbXlzcWxjbGllbnQtci12ZXJzaW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1MTY2MTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvZml4LW15c3FsY2xpZW50LXItdmVyc2lvbi5wYXRjaApAQCAtMCwwICsxLDE2MSBAQAorRnJvbSA2ZGIyYTYwNjE5NmZiMzhhNmQxMDZkYzQwOWVlZTFjYjlhNDBhNDQwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogVG9yIERpZHJpa3NlbiA8dG9yLmRpZHJpa3NlbkBvcmFjbGUuY29tPgorRGF0ZTogTW9uLCAyNCBKdW4gMjAxMyAxNzoxNTozNSArMDIwMAorU3ViamVjdDogW1BBVENIXSBCdWcjMTY4MDkwNTUgTVlTUUwgNS42IEFORCA1LjcgU1RJTEwgVVNFIExJQk1ZU1FMQ0xJRU5ULlNPLjE4CisKK1dpdGggdGhpcyBwYXRjaCwgdGhlIGxpYm15c3FsLyBkaXJlY3RvcnkgY29udGFpbnM6CitsaWJteXNxbGNsaWVudC5hCitsaWJteXNxbGNsaWVudF9yLmEgLT4gbGlibXlzcWxjbGllbnQuYQorbGlibXlzcWxjbGllbnRfci5zbyAtPiBsaWJteXNxbGNsaWVudC5zbyoKK2xpYm15c3FsY2xpZW50X3Iuc28uMTggLT4gbGlibXlzcWxjbGllbnQuc28uMTgqCitsaWJteXNxbGNsaWVudF9yLnNvLjE4LjEuMCAtPiBsaWJteXNxbGNsaWVudC5zby4xOC4xLjAqCitsaWJteXNxbGNsaWVudC5zbyAtPiBsaWJteXNxbGNsaWVudC5zby4xOCoKK2xpYm15c3FsY2xpZW50LnNvLjE4IC0+IGxpYm15c3FsY2xpZW50LnNvLjE4LjEuMCoKK2xpYm15c3FsY2xpZW50LnNvLjE4LjEuMCoKKworVGhpcyBmaXhlcyBsaWJteXNxbGNsaWVudF9yIHN5bWxpbmtzIHBvaW50aW5nIHRvIHRoZSB1bnZlcnNpb25lZAorbGlibXlzcWxjbGllbnQuc28gc3ltbGluayAobGVhZGluZyB0byBwYWNrYWdlIFFBIGVycm9ycyBzaW5jZSB0aGUKK2xpYm15c3FsY2xpZW50LXIgcGFja2FnZSBlbmRzIHVwIGRlcGVuZGluZyBvbiBsaWJteXNxbGNsaWVudC1kZXYpLgorCitCb3Jyb3dlZCBmcm9tIE15U1FMIDUuNiB0cmVlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9wZXJjb25hL215c3FsLworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogUGF1bCBFZ2dsZXRvbiA8cGF1bC5lZ2dsZXRvbkBsaW51eC5pbnRlbC5jb20+CisKKy0tLQorIGNtYWtlL2luc3RhbGxfbWFjcm9zLmNtYWtlIHwgMjUgKysrKysrKysrKysrKysrLS0tLS0tLS0tLQorIGNtYWtlL215c3FsX3ZlcnNpb24uY21ha2UgIHwgIDMgKystCisgbGlibXlzcWwvQ01ha2VMaXN0cy50eHQgICAgfCAzNiArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDQ1IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY21ha2UvaW5zdGFsbF9tYWNyb3MuY21ha2UgYi9jbWFrZS9pbnN0YWxsX21hY3Jvcy5jbWFrZQoraW5kZXggYjhlZmRmOC4uYTBkMGU2OCAxMDA2NDQKKy0tLSBhL2NtYWtlL2luc3RhbGxfbWFjcm9zLmNtYWtlCisrKysgYi9jbWFrZS9pbnN0YWxsX21hY3Jvcy5jbWFrZQorQEAgLTEsNCArMSw0IEBACistIyBDb3B5cmlnaHQgKGMpIDIwMDksIDIwMTEsIE9yYWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrIyBDb3B5cmlnaHQgKGMpIDIwMDksIDIwMTMsIE9yYWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgIyAKKyAjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorQEAgLTExMSwyOCArMTExLDMzIEBAIEZVTkNUSU9OKElOU1RBTExfU0NSSVBUKQorIEVOREZVTkNUSU9OKCkKKyAKKyAjIEluc3RhbGwgc3ltYm9saWMgbGluayB0byBDTWFrZSB0YXJnZXQuIAorLSMgdGhlIGxpbmsgaXMgY3JlYXRlZCBpbiB0aGUgc2FtZSBkaXJlY3RvcnkgYXMgdGFyZ2V0CistIyBhbmQgZXh0ZW5zaW9uIHdpbGwgYmUgdGhlIHNhbWUgYXMgZm9yIHRhcmdldCBmaWxlLgorLU1BQ1JPKElOU1RBTExfU1lNTElOSyBsaW5rbmFtZSB0YXJnZXQgZGVzdGluYXRpb24gY29tcG9uZW50KQorKyMgV2UgZG8gJ2NkIHBhdGg7IGxuIC1zIHRhcmdldF9uYW1lIGxpbmtfbmFtZScKKysjIFdlIGFsc28gYWRkIGFuIElOU1RBTEwgdGFyZ2V0IGZvciAiJHtwYXRofS8ke2xpbmtfbmFtZX0iCisrTUFDUk8oSU5TVEFMTF9TWU1MSU5LIHRhcmdldCB0YXJnZXRfbmFtZSBsaW5rX25hbWUgZGVzdGluYXRpb24gY29tcG9uZW50KQorIElGKFVOSVgpCisgICBHRVRfVEFSR0VUX1BST1BFUlRZKGxvY2F0aW9uICR7dGFyZ2V0fSBMT0NBVElPTikKKyAgIEdFVF9GSUxFTkFNRV9DT01QT05FTlQocGF0aCAke2xvY2F0aW9ufSBQQVRIKQorLSAgR0VUX0ZJTEVOQU1FX0NPTVBPTkVOVChuYW1lICR7bG9jYXRpb259IE5BTUUpCistICBTRVQob3V0cHV0ICR7cGF0aH0vJHtsaW5rbmFtZX0pCisrICBNRVNTQUdFKFNUQVRVUyAidGFyZ2V0ICR7dGFyZ2V0fSIpCisrICBNRVNTQUdFKFNUQVRVUyAibGlua19uYW1lICR7bGlua19uYW1lfSIpCisrICBNRVNTQUdFKFNUQVRVUyAidGFyZ2V0X25hbWUgJHt0YXJnZXRfbmFtZX0iKQorKyAgTUVTU0FHRShTVEFUVVMgInBhdGggJHtwYXRofSIpCisrICBNRVNTQUdFKFNUQVRVUyAiIikKKysKKysgIFNFVChvdXRwdXQgJHtwYXRofS8ke2xpbmtfbmFtZX0pCisgICBBRERfQ1VTVE9NX0NPTU1BTkQoCisgICAgIE9VVFBVVCAke291dHB1dH0KKyAgICAgQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IEFSR1MgLUUgcmVtb3ZlIC1mICR7b3V0cHV0fQorICAgICBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gQVJHUyAtRSBjcmVhdGVfc3ltbGluayAKKy0gICAgICAke25hbWV9IAorLSAgICAgICR7bGlua25hbWV9CisrICAgICAgJHt0YXJnZXRfbmFtZX0gCisrICAgICAgJHtsaW5rX25hbWV9CisgICAgIFdPUktJTkdfRElSRUNUT1JZICR7cGF0aH0KKyAgICAgREVQRU5EUyAke3RhcmdldH0KKyAgICAgKQorICAgCistICBBRERfQ1VTVE9NX1RBUkdFVChzeW1saW5rXyR7bGlua25hbWV9CisrICBBRERfQ1VTVE9NX1RBUkdFVChzeW1saW5rXyR7bGlua19uYW1lfQorICAgICBBTEwKKyAgICAgREVQRU5EUyAke291dHB1dH0pCistICBTRVRfVEFSR0VUX1BST1BFUlRJRVMoc3ltbGlua18ke2xpbmtuYW1lfSBQUk9QRVJUSUVTIENMRUFOX0RJUkVDVF9PVVRQVVQgMSkKKysgIFNFVF9UQVJHRVRfUFJPUEVSVElFUyhzeW1saW5rXyR7bGlua19uYW1lfSBQUk9QRVJUSUVTIENMRUFOX0RJUkVDVF9PVVRQVVQgMSkKKyAgIElGKENNQUtFX0dFTkVSQVRPUiBNQVRDSEVTICJYY29kZSIpCisgICAgICMgRm9yIFhjb2RlLCByZXBsYWNlIHByb2plY3QgY29uZmlnIHdpdGggaW5zdGFsbCBjb25maWcKKyAgICAgU1RSSU5HKFJFUExBQ0UgIiR7Q01BS0VfQ0ZHX0lOVERJUn0iIAorZGlmZiAtLWdpdCBhL2xpYm15c3FsL0NNYWtlTGlzdHMudHh0IGIvbGlibXlzcWwvQ01ha2VMaXN0cy50eHQKK2luZGV4IGJlNTc2MGYuLjk2Mjg2ZmYgMTAwNjQ0CistLS0gYS9saWJteXNxbC9DTWFrZUxpc3RzLnR4dAorKysrIGIvbGlibXlzcWwvQ01ha2VMaXN0cy50eHQKK0BAIC0xODAsNiArMTgwLDEyIEBAIElGKE1TVkMpCisgIElOU1RBTExfREVCVUdfVEFSR0VUKG15c3FsY2xpZW50IERFU1RJTkFUSU9OICR7SU5TVEFMTF9MSUJESVJ9L2RlYnVnKQorIEVORElGKCkKKyAKKytNQUNSTyhHRVRfVEFSR0VUX05BTUUgdGFyZ2V0IG91dF9uYW1lKQorKyAgR0VUX1RBUkdFVF9QUk9QRVJUWShsb2NhdGlvbiAke3RhcmdldH0gTE9DQVRJT04pCisrICBHRVRfRklMRU5BTUVfQ09NUE9ORU5UKG5hbWUgJHtsb2NhdGlvbn0gTkFNRSkKKysgIFNFVCgke291dF9uYW1lfSAke25hbWV9KQorK0VORE1BQ1JPKCkKKysKKyBJRihVTklYKQorICAgTUFDUk8oR0VUX1ZFUlNJT05FRF9MSUJOQU1FIExJQk5BTUUgRVhURU5TSU9OIFZFUlNJT04gT1VUTkFNRSkKKyAgICAgU0VUKERPVF9WRVJTSU9OICIuJHtWRVJTSU9OfSIpCitAQCAtMTkyLDcgKzE5OCwxMyBAQCBJRihVTklYKQorICAgICAgIFNFVCgke09VVE5BTUV9ICR7TElCTkFNRX0ke0VYVEVOU0lPTn0ke0RPVF9WRVJTSU9OfSkKKyAgICAgRU5ESUYoKSAKKyAgIEVORE1BQ1JPKCkKKy0gIElOU1RBTExfU1lNTElOSygke0NNQUtFX1NUQVRJQ19MSUJSQVJZX1BSRUZJWH1teXNxbGNsaWVudF9yLmEgbXlzcWxjbGllbnQgJHtJTlNUQUxMX0xJQkRJUn0gRGV2ZWxvcG1lbnQpCisrRU5ESUYoKQorKworK0lGKFVOSVgpCisrICBHRVRfVEFSR0VUX05BTUUobXlzcWxjbGllbnQgbGliX25hbWUpCisrICBJTlNUQUxMX1NZTUxJTksobXlzcWxjbGllbnQKKysgICAgJHtsaWJfbmFtZX0gJHtDTUFLRV9TVEFUSUNfTElCUkFSWV9QUkVGSVh9bXlzcWxjbGllbnRfci5hCisrICAgICR7SU5TVEFMTF9MSUJESVJ9IERldmVsb3BtZW50KQorIEVORElGKCkKKyAKKyBJRihOT1QgRElTQUJMRV9TSEFSRUQpCitAQCAtMjA1LDEwICsyMTcsOSBAQCBJRihOT1QgRElTQUJMRV9TSEFSRUQpCisgICAgICMgbGlidG9vbCBjb21wYXRhYmlsaXR5CisgICAgIElGKENNQUtFX1NZU1RFTV9OQU1FIE1BVENIRVMgIkZyZWVCU0QiIE9SIEFQUExFKQorICAgICAgIFNFVChPU19TSEFSRURfTElCX1ZFUlNJT04gIiR7U0hBUkVEX0xJQl9NQUpPUl9WRVJTSU9OfSIpCistICAgIEVMU0VJRihDTUFLRV9TWVNURU1fTkFNRSBNQVRDSEVTICJIUC1VWCIpCistICAgICAgU0VUKE9TX1NIQVJFRF9MSUJfVkVSU0lPTiAiJHtTSEFSRURfTElCX01BSk9SX1ZFUlNJT059LjAiKQorICAgICBFTFNFKCkKKy0gICAgICBTRVQoT1NfU0hBUkVEX0xJQl9WRVJTSU9OICIke1NIQVJFRF9MSUJfTUFKT1JfVkVSU0lPTn0uMC4wIikKKysgICAgICBTRVQoT1NfU0hBUkVEX0xJQl9WRVJTSU9OCisrICAgICAgICAiJHtTSEFSRURfTElCX01BSk9SX1ZFUlNJT059LiR7U0hBUkVEX0xJQl9NSU5PUl9WRVJTSU9OfS4wIikKKyAgICAgRU5ESUYoKQorICAgICAjIE5hbWUgb2Ygc2hhcmVkIGxpYnJhcnkgaXMgbXlzcWxjbGllbnQgb24gVW5peAorICAgICBTRVRfVEFSR0VUX1BST1BFUlRJRVMobGlibXlzcWwgUFJPUEVSVElFUyAKK0BAIC0yMzksOCArMjUwLDEzIEBAIElGKE5PVCBESVNBQkxFX1NIQVJFRCkKKyAgICAgICAiJHtDTUFLRV9TSEFSRURfTElCUkFSWV9TVUZGSVh9IgorICAgICAgICIiCisgICAgICAgbGlua25hbWUpCistICAgIElOU1RBTExfU1lNTElOSygke2xpbmtuYW1lfSBsaWJteXNxbCAke0lOU1RBTExfTElCRElSfSBTaGFyZWRMaWJyYXJpZXMpCistICAgIFNFVChPU19TSEFSRURfTElCX1NZTUxJTktTICIke1NIQVJFRF9MSUJfTUFKT1JfVkVSU0lPTn0iICIke09TX1NIQVJFRF9MSUJfVkVSU0lPTn0iKQorKyAgICBHRVRfVEFSR0VUX05BTUUobGlibXlzcWwgbGliX25hbWUpCisrICAgIEdFVF9GSUxFTkFNRV9DT01QT05FTlQobGliX25hbWVfd2UgJHtsaWJfbmFtZX0gTkFNRV9XRSkKKysgICAgSU5TVEFMTF9TWU1MSU5LKGxpYm15c3FsCisrICAgICAgJHtsaWJfbmFtZX0gJHtsaW5rbmFtZX0KKysgICAgICAke0lOU1RBTExfTElCRElSfSBTaGFyZWRMaWJyYXJpZXMpCisrICAgIFNFVChPU19TSEFSRURfTElCX1NZTUxJTktTCisrICAgICAgIiR7U0hBUkVEX0xJQl9NQUpPUl9WRVJTSU9OfSIgIiR7T1NfU0hBUkVEX0xJQl9WRVJTSU9OfSIpCisgICAgIExJU1QoUkVNT1ZFX0RVUExJQ0FURVMgT1NfU0hBUkVEX0xJQl9TWU1MSU5LUykKKyAgICAgRk9SRUFDSCh2ZXIgJHtPU19TSEFSRURfTElCX1NZTUxJTktTfSkKKyAgICAgICBHRVRfVkVSU0lPTkVEX0xJQk5BTUUoCitAQCAtMjQ4LDcgKzI2NCwxMSBAQCBJRihOT1QgRElTQUJMRV9TSEFSRUQpCisgICAgICAgICAiJHtDTUFLRV9TSEFSRURfTElCUkFSWV9TVUZGSVh9IgorICAgICAgICAgIiR7dmVyfSIKKyAgICAgICAgIGxpbmtuYW1lKQorLSAgICAgIElOU1RBTExfU1lNTElOSygke2xpbmtuYW1lfSBsaWJteXNxbCAke0lOU1RBTExfTElCRElSfSBTaGFyZWRMaWJyYXJpZXMpCisrICAgICAgR0VUX1ZFUlNJT05FRF9MSUJOQU1FKAorKyAgICAgICAgJHtsaWJfbmFtZV93ZX0gIiR7Q01BS0VfU0hBUkVEX0xJQlJBUllfU1VGRklYfSIgIiR7dmVyfSIgbGliX25hbWVfdmVyKQorKyAgICAgIElOU1RBTExfU1lNTElOSyhsaWJteXNxbAorKyAgICAgICAgJHtsaWJfbmFtZV92ZXJ9ICR7bGlua25hbWV9CisrICAgICAgICAke0lOU1RBTExfTElCRElSfSBTaGFyZWRMaWJyYXJpZXMpCisgICAgIEVOREZPUkVBQ0goKQorICAgRU5ESUYoKQorIEVORElGKCkKKy0tIAorMi4wLjMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL2luc3RhbGxfZGIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvaW5zdGFsbF9kYgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41MTJhN2RhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL2luc3RhbGxfZGIKQEAgLTAsMCArMSwxMyBAQAorIyEgL2Jpbi9zaAorY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorCWVjaG8gIlN0YXJ0aW5nIHRvIGluc3RhbGwgZGF0YWJhc2UgZm9yIG1hcmlhZGIiCisJL3Vzci9iaW4vbXlzcWwtc3lzdGVtZC1zdGFydCBwcmUKKyAgICAgICAgZWNobyAiZG9uZS4iCisJOzsKKyAgKikKKwllY2hvICJVc2FnZTogL2V0Yy9pbml0LmQvaW5zdGFsbF9kYiBzdGFydCIKKwlleGl0IDEKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvaW5zdGFsbF9kYi5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL2luc3RhbGxfZGIuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jODM2OWY1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL2luc3RhbGxfZGIuc2VydmljZQpAQCAtMCwwICsxLDE3IEBACisjCisjIFNpbXBsZSBpbnN0YWxsIE15U1FMIGRhdGFiYXNlIHNlcnZpY2UgZmlsZQorIyBJdCBzaG91bGIgYmUgZG9uZSBiZWZvcmUgbXlzcWxkLnNlcnZpY2UKKworW1VuaXRdCitEZXNjcmlwdGlvbj1JbnN0YWxsIE15U1FMIENvbW11bml0eSBTZXJ2ZXIgRGF0YWJhc2UKK0FmdGVyPW5ldHdvcmsudGFyZ2V0CitBZnRlcj1zeXNsb2cudGFyZ2V0CitCZWZvcmU9bXlzcWxkLnNlcnZpY2UKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9b25lc2hvdAorRXhlY1N0YXJ0PUBCSU5ESVJAL215c3FsLXN5c3RlbWQtc3RhcnQgcHJlCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9teS5jbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvbXkuY25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjNGMxNzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvbXkuY25mCkBAIC0wLDAgKzEsMjUgQEAKK1tjbGllbnRdCisjcGFzc3dvcmQJCQkJCT0gcGFzc3dvcmQKK3BvcnQJCQkJCQk9IDMzMDYKK3NvY2tldAkJCQkJCT0gL3Zhci9saWIvbXlzcWwvbXlzcWwuc29jaworCitbbXlzcWxkX3NhZmVdCisKK1tteXNxbGRdCit1c2VyIAkJCQkJCT0gbXlzcWwKK3BvcnQgCQkJCQkJPSAzMzA2Citzb2NrZXQgCQkJCQkJPSAvdmFyL2xpYi9teXNxbC9teXNxbC5zb2NrCitwaWQtZmlsZSAJCQkJCT0gL3Zhci9saWIvbXlzcWwvbXlzcWxkLnBpZAorbG9nLWVycm9yIAkJCQkJPSAvdmFyL2xvZy9teXNxbGQuZXJyCitiYXNlZGlyIAkJCQkJPSAvdXNyCitkYXRhZGlyIAkJCQkJPSAvdmFyL2xpYi9teXNxbAorc2tpcC1leHRlcm5hbC1sb2NraW5nCitza2lwLW5ldHdvcmtpbmcKK2lnbm9yZS1idWlsdGluLWlubm9kYgorZGVmYXVsdC1zdG9yYWdlLWVuZ2luZQkJCQk9IG15aXNhbQorYmluZC1hZGRyZXNzCQkJCQk9IGxvY2FsaG9zdAorCisjCisjIGluY2x1ZGUgYWxsIGZpbGVzIGZyb20gdGhlIGNvbmZpZyBkaXJlY3RvcnkKKyMKKyFpbmNsdWRlZGlyIC9ldGMvbXkuY25mLmQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9teXNxbC1zeXN0ZW1kLXN0YXJ0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL215c3FsLXN5c3RlbWQtc3RhcnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTg5YzAyMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9teXNxbC1zeXN0ZW1kLXN0YXJ0CkBAIC0wLDAgKzEsNjYgQEAKKyMhIC9iaW4vc2gKKyMKKyMgTmVlZGVkIGFyZ3VtZW50OiBwcmUgfCBwb3N0CisjCisjIHByZSBtb2RlICA6ICB0cnkgdG8gcnVuIG15c3FsX2luc3RhbGxfZGIgYW5kIGZpeCBwZXJtcyBhbmQgU0VMaW51eCBjb250ZXh0cworIyBwb3N0IG1vZGUgOiAgcGluZyBzZXJ2ZXIgdW50aWwgYW5zd2VyIGlzIHJlY2VpdmVkCisjCisKK2dldF9vcHRpb24gKCkgeworICAgIGxvY2FsIHNlY3Rpb249JDEKKyAgICBsb2NhbCBvcHRpb249JDIKKyAgICBsb2NhbCBkZWZhdWx0PSQzCisgICAgcmV0PSQoL3Vzci9iaW4vbXlfcHJpbnRfZGVmYXVsdHMgJHNlY3Rpb24gfCBncmVwICdeLS0nJHtvcHRpb259Jz0nIHwgY3V0IC1kPSAtZjItKQorICAgIFsgLXogJHJldCBdICYmIHJldD0kZGVmYXVsdAorICAgIGVjaG8gJHJldAorfQorCitpbnN0YWxsX2RiICgpIHsKKyAgICAjIE5vdGU6IHNvbWV0aGluZyBkaWZmZXJlbnQgdGhhbiBkYXRhZGlyPS92YXIvbGliL215c3FsIHJlcXVpcmVzIFNFTGludXggcG9saWN5IGNoYW5nZXMgKGluIGVuZm9yY2luZyBtb2RlKQorICAgIGRhdGFkaXI9JChnZXRfb3B0aW9uIG15c3FsZCBkYXRhZGlyICIvdmFyL2xpYi9teXNxbCIpCisKKyAgICAjIFJlc3RvcmUgbG9nLCBkaXIsIHBlcm1zIGFuZCBTRUxpbnV4IGNvbnRleHRzCisgICAgWyAtZCAiJGRhdGFkaXIiIF0gfHwgaW5zdGFsbCAtZCAtbSAwNzU1IC1vbXlzcWwgLWdteXNxbCAiJGRhdGFkaXIiIHx8IGV4aXQgMQorICAgIGxvZz0vdmFyL2xvZy9teXNxbGQubG9nCisgICAgWyAtZSAkbG9nIF0gfHwgdG91Y2ggJGxvZworICAgIGNobW9kIDA2NDAgJGxvZworICAgIGNob3duIG15c3FsOm15c3FsICRsb2cgfHwgZXhpdCAxCisgICAgaWYgWyAteCAvdXNyL3NiaW4vcmVzdG9yZWNvbiBdOyB0aGVuCisgICAgICAgIC91c3Ivc2Jpbi9yZXN0b3JlY29uICIkZGF0YWRpciIKKyAgICAgICAgL3Vzci9zYmluL3Jlc3RvcmVjb24gJGxvZworICAgIGZpCisKKyAgICAjIElmIHNwZWNpYWwgbXlzcWwgZGlyIGlzIGluIHBsYWNlLCBza2lwIGRiIGluc3RhbGwKKyAgICBbIC1kICIkZGF0YWRpci9teXNxbCIgXSAmJiBleGl0IDAKKworICAgICMgQ3JlYXRlIGluaXRpYWwgZGIKKyAgICAvdXNyL2Jpbi9teXNxbF9pbnN0YWxsX2RiIC0tcnBtIC0tZGF0YWRpcj0iJGRhdGFkaXIiIC0tdXNlcj1teXNxbAorICAgIGV4aXQgMAorfQorCitwaW5nZXIgKCkgeworICAgICMgV2FpdCBmb3IgcGluZyB0byBhbnN3ZXIgdG8gc2lnbmFsIHN0YXJ0dXAgY29tcGxldGVkLAorICAgICMgbWlnaHQgdGFrZSBhIHdoaWxlIGluIGNhc2Ugb2YgZS5nLiBjcmFzaCByZWNvdmVyeQorICAgICMgTXlTUUwgc3lzdGVtZCBzZXJ2aWNlIHdpbGwgdGltZW91dCBzY3JpcHQgaWYgbm8gYW5zd2VyCisgICAgZGF0YWRpcj0kKGdldF9vcHRpb24gbXlzcWxkIGRhdGFkaXIgIi92YXIvbGliL215c3FsIikKKyAgICBzb2NrZXQ9JChnZXRfb3B0aW9uICBteXNxbGQgc29ja2V0ICIkZGF0YWRpci9teXNxbC5zb2NrIikKKyAgICBjYXNlICRzb2NrZXQgaW4KKyAgICAgICAgLyopIGFkbWluc29ja2V0PSIkc29ja2V0IiA7OworICAgICAgICAqKSBhZG1pbnNvY2tldD0iJGRhdGFkaXIvJHNvY2tldCIgOzsKKyAgICBlc2FjCisKKyAgICB3aGlsZSAvYmluL3RydWUgOyBkbworICAgICAgICBzbGVlcCAxCisgICAgICAgIG15c3FsYWRtaW4gLS1uby1kZWZhdWx0cyAtLXNvY2tldD0iJGFkbWluc29ja2V0IiAtLXVzZXI9VU5LTk9XTl9NWVNRTF9VU0VSIHBpbmcgPi9kZXYvbnVsbCAyPiYxICYmIGJyZWFrCisgICAgZG9uZQorICAgIGV4aXQgMAorfQorCisjIG1haW4KK2Nhc2UgJDEgaW4KKyAgICAicHJlIikgaW5zdGFsbF9kYiA7OworICAgICJwb3N0IikgcGluZ2VyIDs7Citlc2FjCisKK2V4aXQgMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvbXlzcWxkLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvbXlzcWxkLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDg4MzYxNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9teXNxbGQuc2VydmljZQpAQCAtMCwwICsxLDI1IEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPU1hcmlhREIgZGF0YWJhc2Ugc2VydmVyCitBZnRlcj1zeXNsb2cudGFyZ2V0CitBZnRlcj1uZXR3b3JrLnRhcmdldAorCitbU2VydmljZV0KK1BJREZpbGU9L3Zhci9saWIvbXlzcWwvbXlzcWxkLnBpZAorVHlwZT1zaW1wbGUKK1VzZXI9bXlzcWwKK0dyb3VwPW15c3FsCisKKyMgRXhlY3V0ZSBwb3N0IHNjcmlwdHMgYXMgcm9vdAorUGVybWlzc2lvbnNTdGFydE9ubHk9dHJ1ZQorCisjIFN0YXJ0IG1haW4gc2VydmljZQorRXhlY1N0YXJ0PUBCSU5ESVJAL215c3FsZF9zYWZlIC0tYmFzZWRpcj1AUFJFRklYQAorCisjIERvbid0IHNpZ25hbCBzdGFydHVwIHN1Y2Nlc3MgYmVmb3JlIGEgcGluZyB3b3JrcworRXhlY1N0YXJ0UG9zdD1AQklORElSQC9teXNxbC1zeXN0ZW1kLXN0YXJ0IHBvc3QKKworVGltZW91dFNlYz0zMDAKK1ByaXZhdGVUbXA9dHJ1ZQorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvcmVtb3ZlLWJhZC1wYXRoLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL3JlbW92ZS1iYWQtcGF0aC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZjI2YjBiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL3JlbW92ZS1iYWQtcGF0aC5wYXRjaApAQCAtMCwwICsxLDE4IEBACitSZW1vdmUgaG9zdCBwYXRoIGZyb20gaW5jbHVkZSBkaXJlY3RvcmllcworCitOYXR1cmFsbHkgdGhpcyBicmVha3MgY3Jvc3MtY29tcGlsYXRpb24gaWYgcHJlc2VudC4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFBhdWwgRWdnbGV0b24gPHBhdWwuZWdnbGV0b25AbGludXguaW50ZWwuY29tPgorCistLS0gbWFyaWFkYi01LjUuMzgvc3RvcmFnZS90b2t1ZGIvZnQtaW5kZXgvQ01ha2VMaXN0cy50eHQJMjAxNC0wNy0xNyAxNDozNzowNC41MjkzMjc5OTggKzAxMDAKKysrKyBtYXJpYWRiLTUuNS4zOC9zdG9yYWdlL3Rva3VkYi9mdC1pbmRleC9DTWFrZUxpc3RzLnR4dAkyMDE0LTA3LTE3IDE0OjQzOjU2Ljk5MTMzNzg5NSArMDEwMAorQEAgLTM5LDcgKzM5LDYgQEAKKyAKKyAjIyBkZWZhdWx0IGluY2x1ZGVzIGFuZCBsaWJyYXJpZXMKKyBpbmNsdWRlX2RpcmVjdG9yaWVzKFNZU1RFTQorLSAgL3Vzci9sb2NhbC9pbmNsdWRlCisgICAke1pMSUJfSU5DTFVERV9ESVJTfQorICAgKQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiXzUuNS40Ni5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYl81LjUuNDYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGY5OThhMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYl81LjUuNDYuYmIKQEAgLTAsMCArMSwyNyBAQAorcmVxdWlyZSBtYXJpYWRiLmluYworCitFWFRSQV9PRUNNQUtFICs9ICItRFNUQUNLX0RJUkVDVElPTj0tMSIKKworREVQRU5EUyArPSAibWFyaWFkYi1uYXRpdmUgbmN1cnNlcyB6bGliIHJlYWRsaW5lIGxpYmFpbyBsaWJldmVudCIKKworUFJPVklERVMgKz0gIm15c3FsNSIKKworUlBST1ZJREVTXyR7UE59ICs9ICJteXNxbDUiCitSUkVQTEFDRVNfJHtQTn0gKz0gIm15c3FsNSIKK1JDT05GTElDVFNfJHtQTn0gKz0gIm15c3FsNSIKKworUlBST1ZJREVTXyR7UE59LWRiZyArPSAibXlzcWw1LWRiZyIKK1JSRVBMQUNFU18ke1BOfS1kYmcgKz0gIm15c3FsNS1kYmciCitSQ09ORkxJQ1RTXyR7UE59LWRiZyArPSAibXlzcWw1LWRiZyIKKworUlBST1ZJREVTXyR7UE59LWxlZnRvdmVycyArPSAibXlzcWw1LWxlZnRvdmVycyIKK1JSRVBMQUNFU18ke1BOfS1sZWZ0b3ZlcnMgKz0gIm15c3FsNS1sZWZ0b3ZlcnMiCitSQ09ORkxJQ1RTXyR7UE59LWxlZnRvdmVycyArPSAibXlzcWw1LWxlZnRvdmVycyIKKworUlBST1ZJREVTXyR7UE59LWNsaWVudCArPSAibXlzcWw1LWNsaWVudCIKK1JSRVBMQUNFU18ke1BOfS1jbGllbnQgKz0gIm15c3FsNS1jbGllbnQiCitSQ09ORkxJQ1RTXyR7UE59LWNsaWVudCArPSAibXlzcWw1LWNsaWVudCIKKworUlBST1ZJREVTXyR7UE59LXNlcnZlciArPSAibXlzcWw1LXNlcnZlciIKK1JSRVBMQUNFU18ke1BOfS1zZXJ2ZXIgKz0gIm15c3FsNS1zZXJ2ZXIiCitSQ09ORkxJQ1RTXyR7UE59LXNlcnZlciArPSAibXlzcWw1LXNlcnZlciIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbXlzcWwtcHl0aG9uXzEuMi41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9teXNxbC1weXRob25fMS4yLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWMwZGY0ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbXlzcWwtcHl0aG9uXzEuMi41LmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiUHl0aG9uIGludGVyZmFjZSB0byBNeVNRTCIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9mYXJjZXBlc3QvTXlTUUxkYjEiCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9HUEwtMi4wO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworREVQRU5EUyA9ICJteXNxbDUiCisKK1NSQ05BTUUgPSAiTXlTUUwtcHl0aG9uIgorCitTUkNfVVJJID0gImh0dHBzOi8vcHlwaS5weXRob24ub3JnL3BhY2thZ2VzL3NvdXJjZS9NLyR7U1JDTkFNRX0vJHtTUkNOQU1FfS0ke1BWfS56aXAiCitTUkNfVVJJW21kNXN1bV0gPSAiNjU0Zjc1YjMwMmRiNmVkOGRjNWE4OThjNjI1ZTAzMGMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODExMDQwYjY0N2U1ZDU2ODZmODRkYjQxNWVmZDY5N2U2MjUwMDA4YjExMmI2OTA5YmE3N2FjMDU5ZTE0MGM3NCIKKworUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0tJHtQVn0iCisKK2luaGVyaXQgc2V0dXB0b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9uYW5vL25hbm8tMi4yLjUvbmN1cnNlc3cuaW5jbHVkZWRpci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbmFuby9uYW5vLTIuMi41L25jdXJzZXN3LmluY2x1ZGVkaXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGYyMjRiZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbmFuby9uYW5vLTIuMi41L25jdXJzZXN3LmluY2x1ZGVkaXIucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorZGlmZiAtdU5yIG5hbm8tMi4yLjUub3JpZy8vY29uZmlndXJlLmFjIG5hbm8tMi4yLjUvY29uZmlndXJlLmFjCistLS0gbmFuby0yLjIuNS5vcmlnLy9jb25maWd1cmUuYWMJMjAxMC0wOC0wNiAwMzowMDo1MS4wMDAwMDAwMDAgKzAyMDAKKysrKyBuYW5vLTIuMi41L2NvbmZpZ3VyZS5hYwkyMDEwLTA4LTEwIDE0OjExOjUyLjAwMDAwMDAwMCArMDIwMAorQEAgLTQ0Miw3ICs0NDIsNyBAQAorICAgICBBQ19DSEVDS19IRUFERVJTKG5jdXJzZXMuaCkKKyAKKyAgICAgaWYgdGVzdCB4JGVuYWJsZV91dGY4ICE9IHhubzsgdGhlbgorLQlBQ19DSEVDS19MSUIobmN1cnNlc3csIGdldF93Y2gsIFtDVVJTRVNfTElCPSItbG5jdXJzZXN3IiBDUFBGTEFHUz0iLUkvdXNyL2luY2x1ZGUvbmN1cnNlc3cgJENQUEZMQUdTIiBDVVJTRVNfTElCX05BTUU9bmN1cnNlc3cgQ1VSU0VTX0xJQl9XSURFPXllc10pCisrCUFDX0NIRUNLX0xJQihuY3Vyc2VzdywgZ2V0X3djaCwgW0NVUlNFU19MSUI9Ii1sbmN1cnNlc3ciIENVUlNFU19MSUJfTkFNRT1uY3Vyc2VzdyBDVVJTRVNfTElCX1dJREU9eWVzXSkKKyAgICAgZmkKKyAKKyAgICAgaWYgZXZhbCAidGVzdCB4JENVUlNFU19MSUJfTkFNRSA9IHgiOyB0aGVuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L25hbm8vbmFuby5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L25hbm8vbmFuby5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmRlZmU5YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbmFuby9uYW5vLmluYwpAQCAtMCwwICsxLDE5IEBACitERVNDUklQVElPTiA9ICJHTlUgbmFubyAoTmFubydzIEFOT3RoZXIgZWRpdG9yLCBvciBcCitOb3QgQU5PdGhlciBlZGl0b3IpIGlzIGFuIGVuaGFuY2VkIGNsb25lIG9mIHRoZSBcCitQaWNvIHRleHQgZWRpdG9yLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubmFuby1lZGl0b3Iub3JnLyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mMjdkZWZlMWU5NmMyZTFlY2Q0ZTBjOWJlODk2Nzk0OSIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0RFUEVORFMgPSAibmN1cnNlcyIKK1JERVBFTkRTXyR7UE59ID0gIm5jdXJzZXMtdGVybWluZm8iCisKK0lOQ19QUiA9ICJyMyIKKworUFZfTUFKT1IgPSAiJHtAZC5nZXRWYXIoJ1BWJywxKS5zcGxpdCgnLicpWzBdfS4ke0BkLmdldFZhcignUFYnLDEpLnNwbGl0KCcuJylbMV19IgorCitTUkNfVVJJID0gImZ0cDovL25hbm8tZWRpdG9yLm9yZy9wdWIvbmFuby92JHtQVl9NQUpPUn0vbmFuby0ke1BWfS50YXIuZ3oiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQKKworUEFDS0FHRUNPTkZJR1t0aW55XSA9ICItLWVuYWJsZS10aW55LC0tZW5hYmxlLWFsbCwiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L25hbm8vbmFub18yLjIuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbmFuby9uYW5vXzIuMi41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2NTZmNDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L25hbm8vbmFub18yLjIuNS5iYgpAQCAtMCwwICsxLDggQEAKK2luY2x1ZGUgbmFuby5pbmMKKworUFIgPSAiJHtJTkNfUFJ9LjAiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9uY3Vyc2Vzdy5pbmNsdWRlZGlyLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzdhMTBhNDk1ODlmOTc1Y2U5ODM1MGE0NTI3YTJlYmYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTAxNTk0NWQxYmFkYWJiYWRhMjAzYjM3YzQ3NzlkM2RkMTA2NjIzNDIzNWM3MTRkZWI0Mzk5ODljNWNkN2Q5ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbmUxMC9uZTEwXzEuMi4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9uZTEwL25lMTBfMS4yLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGU5Nzk4MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbmUxMC9uZTEwXzEuMi4xLmJiCkBAIC0wLDAgKzEsNDIgQEAKK0RFU0NSSVBUSU9OID0gIkxpYnJhcnkgY29udGFpbmluZyBORU9OLW9wdGltaXplZCBpbXBsZW1lbnRhdGlvbnMgZm9yIGEgY29tbW9uIHNldCBvZiBmdW5jdGlvbnMiCitIT01FUEFHRSA9ICJodHRwOi8vcHJvamVjdG5lMTAuZ2l0aHViLmlvL05lMTAvIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT00NjNhYzBhN2Q2NGVkYzJiNzg3YzQyMDY2MzVjYTJiMSIKK1NFQ1RJT04gPSAibGlicyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3Byb2plY3ROZTEwL05lMTAuZ2l0IgorU1JDUkVWID0gImEwOGIyOWQ4OGUzYzk0ZDMyYjViOGY4MjdlN2ZjZjBiYzJiMzRhYzIiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgY21ha2UKKworTkUxMF9UQVJHRVRfQVJDSCA9ICIiCitFWFRSQV9PRUNNQUtFID0gJy1ER05VTElOVVhfUExBVEZPUk09T04gLURORTEwX0JVSUxEX1NIQVJFRD1PTiAtRE5FMTBfTElOVVhfVEFSR0VUX0FSQ0g9IiR7TkUxMF9UQVJHRVRfQVJDSH0iJworCitDT01QQVRJQkxFX01BQ0hJTkVfYWFyY2g2NCA9ICIoLiopIgorQ09NUEFUSUJMRV9NQUNISU5FX2FybXY3YSA9ICIoLiopIgorCitweXRob24gKCkgeworICAgIGlmIGFueSh0LnN0YXJ0c3dpdGgoJ2FybXY3JykgZm9yIHQgaW4gZC5nZXRWYXIoJ1RVTkVfRkVBVFVSRVMnLCBUcnVlKS5zcGxpdCgpKToKKyAgICAgICAgZC5zZXRWYXIoJ05FMTBfVEFSR0VUX0FSQ0gnLCAnYXJtdjcnKQorICAgICAgICBiYi5kZWJ1ZygyLCAnQnVpbGRpbmcgTmUxMCBmb3IgYXJtdjcnKQorICAgIGVsaWYgYW55KHQuc3RhcnRzd2l0aCgnYWFyY2g2NCcpIGZvciB0IGluIGQuZ2V0VmFyKCdUVU5FX0ZFQVRVUkVTJywgVHJ1ZSkuc3BsaXQoKSk6CisgICAgICAgIGQuc2V0VmFyKCdORTEwX1RBUkdFVF9BUkNIJywgJ2FhcmNoNjQnKQorICAgICAgICBiYi5kZWJ1ZygyLCAnQnVpbGRpbmcgTmUxMCBmb3IgYWFyY2g2NCcpCisgICAgZWxzZToKKyAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFBhY2thZ2UoIkluY29tcGF0aWJsZSB3aXRoIGFyY2hzIG90aGVyIHRoYW4gYXJtdjcgYW5kIGFhcmNoNjQiKQorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9pbmMvTkUxMCouaCAke0R9JHtpbmNsdWRlZGlyfS8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtCfS9tb2R1bGVzL2xpYk5FMTAuYSAke0R9JHtsaWJkaXJ9LworICAgIGluc3RhbGwgLW0gMDc1NSAke0J9L21vZHVsZXMvbGliTkUxMC5zby4qICR7RH0ke2xpYmRpcn0vCisgICAgY3AgLWEgJHtCfS9tb2R1bGVzL2xpYk5FMTAuc28gJHtEfSR7bGliZGlyfS8KK30KKworIyBFUlJPUjogUUEgSXNzdWU6IEVMRiBiaW5hcnkgJ25lMTAvMS4yLjEtcjAvcGFja2FnZXMtc3BsaXQvbmUxMC91c3IvbGliL2xpYk5FMTAuc28uMTAnIGhhcyByZWxvY2F0aW9ucyBpbiAudGV4dCBbdGV4dHJlbF0KKyMgRVJST1I6IFFBIElzc3VlOiBFTEYgYmluYXJ5ICduZTEwLzEuMi4xLXIwL3BhY2thZ2VzLXNwbGl0L25lMTAvdXNyL2xpYi9saWJORTEwLnNvLjEwJyBoYXMgcmVsb2NhdGlvbnMgaW4gLnRleHQgW3RleHRyZWxdCitJTlNBTkVfU0tJUF8ke1BOfSArPSAidGV4dHJlbCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbm1vbi9ubW9uXzEzZy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbm1vbi9ubW9uXzEzZy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjc1MTg5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ubW9uL25tb25fMTNnLmJiCkBAIC0wLDAgKzEsMjkgQEAKK1NVTU1BUlkgPSAibm1vbiBwZXJmb3JtYW5jZSBtb25pdG9yIgorSE9NRVBBR0UgPSAiaHR0cDovL25tb24uc2YubmV0IgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7V09SS0RJUn0vRG9jdW1lbnRhdGlvbi50eHQ7bWQ1PWRiYjEzNjU4Y2Y1NWQ2ODdjNGYyZmY3NzFhNjk2ZDRhIgorREVQRU5EUyA9ICJuY3Vyc2VzIgorUFIgPSAicjIiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L25tb24vbG1vbjEzZy5jO25hbWU9bG1vbiBcCisgICAgICAgICAgICR7U09VUkNFRk9SR0VfTUlSUk9SfS9ubW9uL0RvY3VtZW50YXRpb24udHh0O25hbWU9ZG9jIFwKKyIKKworU1JDX1VSSVtsbW9uLm1kNXN1bV0gPSAiYjFiOGU2YzAxMjNhZDIzMjM5NDk5MWYyZDRmNDA0OTQiCitTUkNfVVJJW2xtb24uc2hhMjU2c3VtXSA9ICI0NTZhYjJhMzQyYjMxZDFhMzUyZDBkOTQwYWY1OTYyZmE2NWExMmFlODc1N2ZmNzNlNmU3MzIxMDgzMmFlOGI1IgorU1JDX1VSSVtkb2MubWQ1c3VtXSA9ICJkYmIxMzY1OGNmNTVkNjg3YzRmMmZmNzcxYTY5NmQ0YSIKK1NSQ19VUklbZG9jLnNoYTI1NnN1bV0gPSAiMWY3ZjgzYWZlNjJhNzIxMGJlNWU4M2NkMjQxNTdhZGI4NTRjMTQ1OTllZmUwYjM3N2E3ZWNjYTkzMzg2OTI3OCIKKworQ0ZMQUdTICs9ICItRCBKRlMgLUQgR0VUVVNFUiAtV2FsbCAtRCBMQVJHRU1FTSIKK0xERkxBR1MgKz0gIi1sdGluZm8gLWxuY3Vyc2VzdyIKK0FTTkVFREVEX3BuLW5tb24gPSAiIgorCitkb19jb21waWxlKCkgeworICAgICR7Q0N9ICR7Q0ZMQUdTfSAke0xERkxBR1N9ICR7V09SS0RJUn0vbG1vbjEzZy5jIC1vIG5tb24KK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgbm1vbiAke0R9JHtiaW5kaXJ9Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L251bWFjdGwvbnVtYWN0bC8wMDAxLWRlZmluZS1ydW4tdGVzdC10YXJnZXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L251bWFjdGwvbnVtYWN0bC8wMDAxLWRlZmluZS1ydW4tdGVzdC10YXJnZXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzhmZmIyMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbnVtYWN0bC9udW1hY3RsLzAwMDEtZGVmaW5lLXJ1bi10ZXN0LXRhcmdldC5wYXRjaApAQCAtMCwwICsxLDMyIEBACityZW5hbWUgdGVzdCB0YXJnZXQgYXMgcnVuLXRlc3QKKworVXBzdHJlYW0tU3RhdHVlOiBQZW5kaW5nCisKK3Rlc3QgdGFyZ2V0IG5vdCBvbmx5IGNvbXBpbGUgdGhlIHRlc3QgZmlsZXMsIGJ1dCBhbHNvIHJ1biB0aGVtLCB3aGljaCBpcworbm90IHN1aXRhYmxlIGZvciBjcm9zcy1jb21waWxlIGVudmlyb25tZW50LCBzbyByZW5hbWUgaXQgYXMgcnVuLXRlc3QuCisKK2FuZCBkZWZpbmUgdGVzdCB0YXJnZXQgdG8gY29tcGlsZSB0aGUgdGVzdCBmaWxlcy4KKworU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgTWFrZWZpbGUuYW0gfCA0ICsrKy0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZS5hbSBiL01ha2VmaWxlLmFtCitpbmRleCBiNmRiMzM5Li5kZTE3NmM0IDEwMDY0NAorLS0tIGEvTWFrZWZpbGUuYW0KKysrKyBiL01ha2VmaWxlLmFtCitAQCAtMTI0LDcgKzEyNCw5IEBAIHJlZ3Jlc3MyOiAkKGNoZWNrX1BST0dSQU1TKQorIHRlc3RfbnVtYWRlbW86IG51bWFkZW1vCisgCS4vbnVtYWRlbW8gLXQgLWUgMTBNCisgCistdGVzdDogYWxsICQoY2hlY2tfUFJPR1JBTVMpIHJlZ3Jlc3MxIHJlZ3Jlc3MyIHRlc3RfbnVtYWRlbW8KKyt0ZXN0OiBhbGwgJChjaGVja19QUk9HUkFNUykKKysKKytydW4tdGVzdDogYWxsICQoY2hlY2tfUFJPR1JBTVMpIHJlZ3Jlc3MxIHJlZ3Jlc3MyIHRlc3RfbnVtYWRlbW8KKyAKKyBURVNUU19FTlZJUk9OTUVOVCA9IGJ1aWxkZGlyPSckKGJ1aWxkZGlyKSc7IGV4cG9ydCBidWlsZGRpcjsKKyAKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9udW1hY3RsL251bWFjdGwvRml4LXRoZS10ZXN0LW91dHB1dC1mb3JtYXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L251bWFjdGwvbnVtYWN0bC9GaXgtdGhlLXRlc3Qtb3V0cHV0LWZvcm1hdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ODEyZWNjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9udW1hY3RsL251bWFjdGwvRml4LXRoZS10ZXN0LW91dHB1dC1mb3JtYXQucGF0Y2gKQEAgLTAsMCArMSw2NCBAQAorRnJvbSA1OWZkNzUwYTg0YmJlNTg3NGRlYzkzNmQyYmVlOWVmMTFhMWI2NTA1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogVHVlLCAyMSBKdWwgMjAxNSAwMjowMToyMiArMDkwMAorU3ViamVjdDogW1BBVENIXSBGaXggdGhlIHRlc3Qgb3V0cHV0IGZvcm1hdAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogTGkgWGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorLS0tCisgdGVzdC9yZWdyZXNzICB8ICA2ICsrKy0tLQorIHRlc3QvcmVncmVzczIgfCAxMSArKysrKy0tLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdGVzdC9yZWdyZXNzIGIvdGVzdC9yZWdyZXNzCitpbmRleCAyY2UxNzA1Li5kMDg2YTQ3IDEwMDc1NQorLS0tIGEvdGVzdC9yZWdyZXNzCisrKysgYi90ZXN0L3JlZ3Jlc3MKK0BAIC03NCw2ICs3NCw3IEBAIHByb2JlX2hhcmR3YXJlKCkKKyAJaWYgWyAkbnVtbm9kZXMgLWx0IDIgXSA7IHRoZW4KKyAJICAgIGVjaG8gIm5lZWQgYXQgbGVhc3QgdHdvIG5vZGVzIHdpdGggYXQgbGVhc3QgJE5FRURQQUdFUyBlYWNoIG9mIgorIAkgICAgZWNobyAiZnJlZSBtZW1vcnkgZm9yIG1lbXBvbGljeSByZWdyZXNzaW9uIHRlc3RzIgorKwkgICAgZWNobyAiRkFJTDogbnVtYSByZWdyZXNzIgorCSAgICBleGl0IDc3ICAjIFNraXAgdGVzdAorIAlmaQorIH0KK0BAIC0yMDcsMTAgKzIwOCw5IEBAIG1haW4oKQorIAlybSBBIEIKKyAKKyAJaWYgWyAiJEVYSVQiID0gMCBdIDsgdGhlbgorLQkJZWNobyAnPT09PT09PT1TVUNDRVNTJworKwkJZWNobyAnUEFTUzogbnVtYWN0bCByZWdyZXNzJworIAllbHNlCistCQllY2hvICc9PT09PT09PUZBSUxVUkUnCistCQlleGl0IDEKKysJCWVjaG8gJ0ZBSUw6IG51bWFjdGwgcmVncmVzcycKKyAJZmkKKyB9CisgCitkaWZmIC0tZ2l0IGEvdGVzdC9yZWdyZXNzMiBiL3Rlc3QvcmVncmVzczIKK2luZGV4IGFhNmVhNDEuLjQ1MGM1MTAgMTAwNzU1CistLS0gYS90ZXN0L3JlZ3Jlc3MyCisrKysgYi90ZXN0L3JlZ3Jlc3MyCitAQCAtOSwxMiArOSwxMSBAQCB0ZXN0ZGlyPWBkaXJuYW1lICIkMCJgCisgZXhwb3J0IFBBVEg9JHtidWlsZGRpcn06JFBBVEgKKyAKKyBUKCkgeworLSAgICAgICBlY2hvICIkQCIgCistICAgICAgIGlmICEgJFZBTEdSSU5EICIkQCIgOyAgdGhlbgorLQkgIGVjaG8JJDEgRkFJTEVEISEhIQorLQkgIGV4aXQgMQorLSAgICAgICBmaQorLSAgICAgICBlY2hvCisrCWlmICEgJFZBTEdSSU5EICIkQCIgMj4mMSAxPi9kZXYvbnVsbDsgIHRoZW4KKysJICAgZWNobyAgIkZBSUw6ICQxIgorKwllbHNlCisrCSAgIGVjaG8gIlBBU1M6ICQxIgorKwlmaQorIH0KKyAKKyAjIHN0aWxsIGJyb2tlbgorLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbnVtYWN0bC9udW1hY3RsL01ha2VmaWxlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9udW1hY3RsL251bWFjdGwvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWE1MTM0YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbnVtYWN0bC9udW1hY3RsL01ha2VmaWxlCkBAIC0wLDAgKzEsNyBAQAorLlBIT05ZOiByZWdyZXNzMSByZWdyZXNzMgorCityZWdyZXNzMToKKwljZCB0ZXN0IDsgLi9yZWdyZXNzCisKK3JlZ3Jlc3MyOgorCWNkIHRlc3QgOyAuL3JlZ3Jlc3MyCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L251bWFjdGwvbnVtYWN0bC9maXgtbnVsbC1wb2ludGVyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9udW1hY3RsL251bWFjdGwvZml4LW51bGwtcG9pbnRlci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Mzk1MmFlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9udW1hY3RsL251bWFjdGwvZml4LW51bGwtcG9pbnRlci5wYXRjaApAQCAtMCwwICsxLDI4IEBACitbUEFUQ0hdIHJldHVybiAwIGlmIGRpc3RhbmNlX3RhYmxlIGlzIE5VTEwKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK3JlYWRfZGlzdGFuY2VfdGFibGUoKSBtYXliZSByZXR1cm4gMCwgYnV0IGRpc3RhbmNlX3RhYmxlIGlzIG5vdCBzZXQsCitpZiBkaXN0YW5jZV90YWJsZSBpcyB1c2VkLCBhbmQgd2lsbCBsZWFkIHRvIFNFR0ZBVUxUCisKK1NpZ25lZC1vZmYtYnk6IFJveSBMaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIGRpc3RhbmNlLmMgfCAgICAyICsrCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvZGlzdGFuY2UuYyBiL2Rpc3RhbmNlLmMKK2luZGV4IDRhMjY5NzIuLmM2Y2EwMjEgMTAwNzU1CistLS0gYS9kaXN0YW5jZS5jCisrKysgYi9kaXN0YW5jZS5jCitAQCAtMTEzLDYgKzExMyw4IEBAIGludCBudW1hX2Rpc3RhbmNlKGludCBhLCBpbnQgYikKKyAJCWludCBlcnIgPSByZWFkX2Rpc3RhbmNlX3RhYmxlKCk7CisgCQlpZiAoZXJyIDwgMCkKKyAJCQlyZXR1cm4gMDsKKysJCWlmICghZGlzdGFuY2VfdGFibGUpCisrCQkJcmV0dXJuIDA7CisgCX0KKyAJcmV0dXJuIGRpc3RhbmNlX3RhYmxlW2EgKiBkaXN0YW5jZV9udW1ub2RlcyArIGJdOworIH0KKy0tIAorMS43LjEwLjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9udW1hY3RsL251bWFjdGwvcnVuLXB0ZXN0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9udW1hY3RsL251bWFjdGwvcnVuLXB0ZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIxNWY3YzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L251bWFjdGwvbnVtYWN0bC9ydW4tcHRlc3QKQEAgLTAsMCArMSw5IEBACisjIS9iaW4vc2gKK21ha2UgcmVncmVzczEKK21ha2UgcmVncmVzczIKK2lmICBudW1hZGVtbyAtdCAtZSAxME07IHRoZW4KKwllY2hvICJQQVNTOiBudW1hZGVtbyIKK2Vsc2UKKwllY2hvICJGQUlMOiBudW1hZGVtbyIKK2ZpCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbnVtYWN0bC9udW1hY3RsXzIuMC4xMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbnVtYWN0bC9udW1hY3RsXzIuMC4xMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOTk3MjZmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9udW1hY3RsL251bWFjdGxfMi4wLjExLmJiCkBAIC0wLDAgKzEsNTcgQEAKK1NVTU1BUlkgPSAiRGV2ZWxvcG1lbnQgcGFja2FnZSBmb3IgYnVpbGRpbmcgQXBwbGljYXRpb25zIHRoYXQgdXNlIG51bWEiCitERVNDUklQVElPTiA9ICJTaW1wbGUgTlVNQSBwb2xpY3kgc3VwcG9ydC4gSXQgY29uc2lzdHMgb2YgYSBudW1hY3RsIHByb2dyYW0gXAordG8gcnVuIG90aGVyIHByb2dyYW1zIHdpdGggYSBzcGVjaWZpYyBOVU1BIHBvbGljeSBhbmQgYSBsaWJudW1hIHRvIGRvIFwKK2FsbG9jYXRpb25zIHdpdGggTlVNQSBwb2xpY3kgaW4gYXBwbGljYXRpb25zLiIKK0xJQ0VOU0UgPSAiR1BMLTIuMCAmIExHUEwtMi4xIgorU0VDVElPTiA9ICJhcHBzIgorUkRFUEVORFNfJHtQTn0gPSAicGVybCIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHB0ZXN0CisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9MTk7ZW5kbGluZT0zMjttZDU9NTY0NGNjMzg1MWNiMjQ5OWY2YzQ4ZTUyZmUxOThiZDkiCisKK1NSQ19VUkkgPSAiZnRwOi8vb3NzLnNnaS5jb20vd3d3L3Byb2plY3RzL2xpYm51bWEvZG93bmxvYWQvJHtCUE59LSR7UFZ9LnRhci5neiBcCisJICAgZmlsZTovL2ZpeC1udWxsLXBvaW50ZXIucGF0Y2ggXAorCSAgIGZpbGU6Ly9GaXgtdGhlLXRlc3Qtb3V0cHV0LWZvcm1hdC5wYXRjaCBcCisJICAgZmlsZTovL01ha2VmaWxlIFwKKwkgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKwkgICBmaWxlOi8vMDAwMS1kZWZpbmUtcnVuLXRlc3QtdGFyZ2V0LnBhdGNoIFwKKyAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiZDNiYzg4YjdkZGI5ZjA2ZDYwODk4ZjQ4MTZhZTkxMjciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDUwYzA5MTIzNWY4OTFlZTg3NGE4NjUxYjE3OWMzMGY1N2ExMzkxY2E1YzQ2NzMzNTQ3NDBiYTY1ZTUyNzg2MSIKKworIyBBUk0gZG9lcyBub3QgY3VycmVudGx5IHN1cHBvcnQgTlVNQQorQ09NUEFUSUJMRV9IT1NUID0gIl4oKD8hYXJtKS4qKSQiCisKK2RvX2luc3RhbGwoKSB7CisgICAgICAgIG9lX3J1bm1ha2UgREVTVERJUj0ke0R9IHByZWZpeD0ke0R9L3VzciBpbnN0YWxsCisJI3JlbW92ZSB0aGUgZW1wdHkgbWFuMiBkaXJlY3RvcnkKKwlybSAtciAke0R9JHttYW5kaXJ9L21hbjIKK30KKworZG9fY29tcGlsZV9wdGVzdCgpIHsKKwlvZV9ydW5tYWtlIHRlc3QKK30KKworZG9faW5zdGFsbF9wdGVzdCgpIHsKKwkjaW5zdGFsbCB0ZXN0cyBiaW5hcmllcworICAgICAgICBsb2NhbCB0ZXN0X2JpbmFyaWVzPSJkaXN0YW5jZSBmdG9rIG1iaW5kX21pZ19wYWdlcyBtaWdyYXRlX3BhZ2VzIG1vdmVfcGFnZXMgXAorCQlteW5vZGUJbm9kZW1hcCBub2RlLXBhcnNlIHBhZ2VzaXplIHByZWZlcmVkIHJhbmRtYXAgcmVhbGxvY190ZXN0IFwKKwkJdGJpdG1hcCB0c2hhcmVkIgorCisJWyAhIC1kICR7RH0vJHtQVEVTVF9QQVRIfS90ZXN0IF0gJiYgbWtkaXIgLXAgJHtEfS8ke1BURVNUX1BBVEh9L3Rlc3QKKwlmb3IgaSBpbiAkdGVzdF9iaW5hcmllczsgZG8KKwkJaW5zdGFsbCAtbSAwNzU1ICR7Qn0vdGVzdC8ubGlicy8kaSAke0R9JHtQVEVTVF9QQVRIfS90ZXN0CisJZG9uZQorCisJbG9jYWwgdGVzdF9zY3JpcHRzPSJjaGVja3RvcG9sb2d5IGNoZWNrYWZmaW5pdHkgcHJpbnRjcHUgcmVncmVzcyByZWdyZXNzMiBcCisJCQlzaG10ZXN0ICBydW5sdHAgYmluZF9yYW5nZSIKKwlmb3IgaSBpbiAkdGVzdF9zY3JpcHRzOyBkbworCQlpbnN0YWxsIC1tIDA3NTUgJHtCfS90ZXN0LyRpICR7RH0ke1BURVNUX1BBVEh9L3Rlc3QKKwlkb25lCisKKwlpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9NYWtlZmlsZSAke0R9JHtQVEVTVF9QQVRIfS8KKwlpbnN0YWxsIC1tIDA3NTUgJHtCfS8ubGlicy9udW1hY3RsICR7RH0ke1BURVNUX1BBVEh9LworfQorCitSREVQRU5EU18ke1BOfS1wdGVzdCA9ICJiYXNoIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vZGUvb2RlL2NvbmZpZ3VyZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb2RlL29kZS9jb25maWd1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjQ2YjJlMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb2RlL29kZS9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorSW5kZXg6IG9kZS0wLjEzL2xpYmNjZC9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBvZGUtMC4xMy5vcmlnL2xpYmNjZC9jb25maWd1cmUuYWMJMjAxMy0wOC0xOSAxNzo0ODowMy4wMDAwMDAwMDAgKzAwMDAKKysrKyBvZGUtMC4xMy9saWJjY2QvY29uZmlndXJlLmFjCTIwMTQtMDctMTcgMjI6MDQ6MTYuNTgwNTk1NjkwICswMDAwCitAQCAtNSw3ICs1LDcgQEAKKyBBQ19JTklUKFtsaWJjY2RdLCBbMS4wXSwgW2RhbmZpc0BkYW5maXMuY3pdKQorIEFDX0NPTkZJR19TUkNESVIoW3NyYy9jY2QuY10pCisgQUNfQ09ORklHX0hFQURFUlMoW3NyYy9jb25maWcuaF0pCistQU1fSU5JVF9BVVRPTUFLRQorK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ25dKQorIAorICMgQ2hlY2tzIGZvciBwcm9ncmFtcy4KKyBBQ19QUk9HX0NYWApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vZGUvb2RlL2luc3RhbGwucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29kZS9vZGUvaW5zdGFsbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZjZjZGIwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vZGUvb2RlL2luc3RhbGwucGF0Y2gKQEAgLTAsMCArMSwyMyBAQAorLS0tIG9kZS0wLjkub3JpZy9NYWtlZmlsZS5hbQkyMDA3LTAyLTIxIDE1OjU0OjU0LjAwMDAwMDAwMCArMDEwMAorKysrIG9kZS0wLjkvTWFrZWZpbGUuYW0JMjAxMC0wOC0yMSAxNjoxNTo1NS4wMDAwMDAwMDAgKzAyMDAKK0BAIC0yNSwxMyArMjUsMTMgQEAKKyAKKyBpZiBVU0VfU09OQU1FCisgaW5zdGFsbC1leGVjLWhvb2s6CistCWxuIC1zICQobGliZGlyKS9AT0RFX1NPTkFNRUAuQE9ERV9SRVZJU0lPTkAuQE9ERV9BR0VAIFwKKy0JJChsaWJkaXIpL2xpYm9kZS5zbworLQlsbiAtcyAkKGxpYmRpcikvQE9ERV9TT05BTUVALkBPREVfUkVWSVNJT05ALkBPREVfQUdFQCBcCistCSQobGliZGlyKS9AT0RFX1NPTkFNRUAKKy0JbG4gLXMgJChsaWJkaXIpL0BPREVfU09OQU1FQC5AT0RFX1JFVklTSU9OQC5AT0RFX0FHRUAgXAorLQkkKGxpYmRpcikvQE9ERV9TT05BTUVALkBPREVfUkVWSVNJT05ACistCS9zYmluL2xkY29uZmlnCisrCWxuIC1zIEBPREVfU09OQU1FQC5AT0RFX1JFVklTSU9OQC5AT0RFX0FHRUAgXAorKwkkKERFU1RESVIpLyQobGliZGlyKS9saWJvZGUuc28KKysJbG4gLXMgQE9ERV9TT05BTUVALkBPREVfUkVWSVNJT05ALkBPREVfQUdFQCBcCisrCSQoREVTVERJUikvJChsaWJkaXIpL0BPREVfU09OQU1FQAorKwlsbiAtcyBAT0RFX1NPTkFNRUAuQE9ERV9SRVZJU0lPTkAuQE9ERV9BR0VAIFwKKysJJChERVNURElSKS8kKGxpYmRpcikvQE9ERV9TT05BTUVALkBPREVfUkVWSVNJT05ACisrCWVjaG8gL3NiaW4vbGRjb25maWcKKyBlbHNlCisgaW5zdGFsbC1leGVjLWhvb2s6CisgZW5kaWYKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb2RlL29kZV8wLjEzLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vZGUvb2RlXzAuMTMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmRjODJhOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb2RlL29kZV8wLjEzLmJiCkBAIC0wLDAgKzEsMjggQEAKK1NVTU1BUlkgPSAiT0RFIGlzIGFuIE9wZW4gU291cmNlIFBoeXNpY3MgRW5naW5lIgorU0VDVElPTiA9ICJsaWJzIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5vZGUub3JnIgorTElDRU5TRSA9ICJMR1BMdjIuMSAmIEJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiIFwKKyAgICBmaWxlOi8vQ09QWUlORzttZDU9MWRlOTA2ZWU5NjgwOGQ5Nzc2ZGQ3MmE1ZjlhNzlhMjIgXAorICAgIGZpbGU6Ly9MSUNFTlNFLlRYVDttZDU9NzcxNzgyY2I2MjQ1YzdmYmJlNzRiYzBlYzA1OWJlZmYgXAorIgorIyBMSUNFTlNFLUJTRC5UWFQgaXMgbWlzc2luZyBpbiAwLjEzIHRhcmJhbGwsIGJ1dCBDT1BZSU5HIHN0aWxsIHNheXMgaXQncyBkdWFsIGxpY2Vuc2VkCisjIGFuZCBzdm4gcmVwbyBzdGlsbCBjb250YWlucyBMSUNFTlNFLUJTRC5UWFQgc28gbWF5YmUgaXQgd2lsbCByZXR1cm4gaW4gbmV4dCB0YXJiYWxsCisjIGZpbGU6Ly9MSUNFTlNFLUJTRC5UWFQ7bWQ1PWM3NGU2MzA0YTc3MjExN2UwNTk0NThmYjk3NjNhOTI4CisKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vb3BlbmRlL29kZS0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICIwNGIzMmM5NjQ1YzE0N2UxOGNhZmY3YTU5N2ExOWY4NCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzNGNlM2UyMzZlMzEzYmYxMDlhMGNiNTU0NmQyZmNhNDYyYWVkOTlmMjlhNDJlNjJiYzE0NjNiODAzYzMxZWY5IgorCitpbmhlcml0IGF1dG90b29scyBiaW5jb25maWcKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1kZW1vcyAtLWVuYWJsZS1zb25hbWUiCisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS9saWIqJHtTT0xJQlN9IgorCitQQUNLQUdFQ09ORklHID89ICIiCisjIGlmIGl0IGlzbid0IGV4cGxpY2l0bHkgc2VsZWN0ZWQgYW5kICIkYnVpbGRfb3MiID09ICIkdGFyZ2V0X29zIiwgdGhlbiBjb25maWd1cmUgd2lsbCBydW4KKyMgc2VyaWVzIG9mIEFDX1RSWV9SVU4gd2hpY2ggd29uJ3Qgd29yayBmb3IgY3Jvc3MtY29tcGlsYXRpb24gYW5kIGNvbmZpZ3VyZSBmYWlscworUEFDS0FHRUNPTkZJR1tkb3VibGUtcHJlY2lzaW9uXSA9ICItLWVuYWJsZS1kb3VibGUtcHJlY2lzaW9uLC0tZGlzYWJsZS1kb3VibGUtcHJlY2lzaW9uIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vbmlnL2ZpbGVzL2NvbmZpZ3VyZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb25pZy9maWxlcy9jb25maWd1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWZhNzAwZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb25pZy9maWxlcy9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorSW5kZXg6IG9uaWctNS45LjMvY29uZmlndXJlLmluCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gb25pZy01LjkuMy5vcmlnL2NvbmZpZ3VyZS5pbgkyMDEyLTEwLTI2IDA3OjA2OjE0LjAwMDAwMDAwMCArMDAwMAorKysrIG9uaWctNS45LjMvY29uZmlndXJlLmluCTIwMTQtMDctMTggMDg6MDI6NTIuNzAxNTc0NDg0ICswMDAwCitAQCAtMyw3ICszLDcgQEAKKyAKKyBBQ19DT05GSUdfTUFDUk9fRElSKFttNF0pCisgCistQU1fSU5JVF9BVVRPTUFLRQorK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ25dKQorIEFDX0NPTkZJR19IRUFERVIoY29uZmlnLmgpCisgCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29uaWcvZmlsZXMvZG8tbm90LXVzZS1zeXN0ZW0taGVhZGVycy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb25pZy9maWxlcy9kby1ub3QtdXNlLXN5c3RlbS1oZWFkZXJzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5MzYwMmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29uaWcvZmlsZXMvZG8tbm90LXVzZS1zeXN0ZW0taGVhZGVycy5wYXRjaApAQCAtMCwwICsxLDQ0IEBACitBdXRob3I6IE1hcmNpbiBKdXN6a2lld2ljeiA8bWFyY2luLmp1c3praWV3aWN6QGxpbmFyby5vcmc+CisKK1doZW4gYnVpbGQgb24gaG9zdCB3aXRoIG9sZGVyIGVnbGliYyAoVWJ1bnR1IDEyLjA0KSBidWlsZCBmYWlscyB3aXRoOgorCisvdG1wL09FL2J1aWxkL3RtcC1lZ2xpYmMvc3lzcm9vdHMvZ2VuZXJpY2FybXY4L3Vzci9pbmNsdWRlL2JpdHMvcHJlZGVmcy5oOjIzOjM6IGVycm9yOiAjZXJyb3IgIk5ldmVyIHVzZSA8Yml0cy9wcmVkZWZzLmg+IGRpcmVjdGx5OyBpbmNsdWRlIDxzdGRjLXByZWRlZi5oPiBpbnN0ZWFkLiIKKworU2lnbmVkLW9mZi1ieTogTWFyY2luIEp1c3praWV3aWN6IDxtYXJjaW4uanVzemtpZXdpY3pAbGluYXJvLm9yZz4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworLS0tCisgTWFrZWZpbGUuYW0gICAgICAgIHwgICAgMiArLQorIHNhbXBsZS9NYWtlZmlsZS5hbSB8ICAgIDIgKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworLS0tIG9uaWctNS45LjMub3JpZy9NYWtlZmlsZS5hbQorKysrIG9uaWctNS45LjMvTWFrZWZpbGUuYW0KK0BAIC00LDExICs0LDExIEBAIHNhbXBsZWRpciA9ICQodG9wX3NyY2Rpcikvc2FtcGxlCisgbGlibmFtZSA9IGxpYm9uaWcubGEKKworIEFDTE9DQUxfQU1GTEFHUyA9IC1JIG00CisgI0FNX0NGTEFHUyA9IC1ETk9UX1JVQlkKKyBBTV9DRkxBR1MgPQorLUlOQ0xVREVTICA9IC1JJCh0b3Bfc3JjZGlyKSAtSSQoaW5jbHVkZWRpcikKKytJTkNMVURFUyAgPSAtSSQodG9wX3NyY2RpcikKKworIFNVQkRJUlMgPSAuIHNhbXBsZQorCisgaW5jbHVkZV9IRUFERVJTID0gb25pZ3VydW1hLmggb25pZ2dudS5oIG9uaWdwb3NpeC5oCisgbGliX0xUTElCUkFSSUVTID0gJChsaWJuYW1lKQorLS0tIG9uaWctNS45LjMub3JpZy9zYW1wbGUvTWFrZWZpbGUuYW0KKysrKyBvbmlnLTUuOS4zL3NhbXBsZS9NYWtlZmlsZS5hbQorQEAgLTEsMTAgKzEsMTAgQEAKKyBub2luc3RfUFJPR1JBTVMgPSBlbmNvZGUgbGlzdGNhcCBuYW1lcyBwb3NpeCBzaW1wbGUgc3FsIHN5bnRheCBjcm5sCisKKyBsaWJuYW1lID0gJCh0b3BfYnVpbGRkaXIpL2xpYm9uaWcubGEKKyBMREFERCAgID0gJChsaWJuYW1lKQorLUlOQ0xVREVTICA9IC1JJCh0b3Bfc3JjZGlyKSAtSSQoaW5jbHVkZWRpcikKKytJTkNMVURFUyAgPSAtSSQodG9wX3NyY2RpcikKKworIGVuY29kZV9TT1VSQ0VTICA9IGVuY29kZS5jCisgbGlzdGNhcF9TT1VSQ0VTID0gbGlzdGNhcC5jCisgbmFtZXNfU09VUkNFUyAgID0gbmFtZXMuYworIHBvc2l4X1NPVVJDRVMgICA9IHBvc2l4LmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb25pZy9vbmlnXzUuOS4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vbmlnL29uaWdfNS45LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjJkYjc4YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb25pZy9vbmlnXzUuOS4zLmJiCkBAIC0wLDAgKzEsMTcgQEAKK0RFU0NSSVBUSU9OID0gIlJlZ3VsYXIgZXhwcmVzc2lvbnMgbGlicmFyeS4gVGhlIGNoYXJhY3RlcmlzdGljcyBvZiB0aGlzIFwKK2xpYnJhcnkgaXMgdGhhdCBkaWZmZXJlbnQgY2hhcmFjdGVyIGVuY29kaW5nIGZvciBldmVyeSByZWd1bGFyIGV4cHJlc3Npb24gXAorb2JqZWN0IGNhbiBiZSBzcGVjaWZpZWQuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nZW9jaXRpZXMuanAva29zYWtvMy9vbmlndXJ1bWEvIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wZDQ4NjFiNWJjMGMzOTJhNWFhOTBkOWQ3NmViZDg2ZiIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lmdlb2NpdGllcy5qcC9rb3Nha28zL29uaWd1cnVtYS9hcmNoaXZlL29uaWctJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2RvLW5vdC11c2Utc3lzdGVtLWhlYWRlcnMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMGQ0ZWRhMjA2NmQzYzkyOTcwODQyYTY3OTBjZTg5N2EiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzNiYmE2NmIyYTg0NzYwZTY1ODJjNDA4ODFkYjk3YzgzOWQ5NGYzMjc4NzAwMDk3MjRiYjhiNGQwYzA1MWYyYSIKKworREVQRU5EUyA9ICJsaWJldmVudCIKKworaW5oZXJpdCBhdXRvdG9vbHMgYmluY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW4tdmNkaWZmL29wZW4tdmNkaWZmXzAuOC40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuLXZjZGlmZi9vcGVuLXZjZGlmZl8wLjguNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjk0MmQwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuLXZjZGlmZi9vcGVuLXZjZGlmZl8wLjguNC5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIkFuIGVuY29kZXIvZGVjb2RlciBmb3IgdGhlIFZDRElGRiAoUkZDMzI4NCkgZm9ybWF0IgorREVTQ1JJUFRJT04gPSAiQSBsaWJyYXJ5IHdpdGggYSBzaW1wbGUgQVBJIGlzIGluY2x1ZGVkLCBhcyB3ZWxsIGFzIGEgXAorICAgICAgICAgICAgICAgY29tbWFuZC1saW5lIGV4ZWN1dGFibGUgdGhhdCBjYW4gYXBwbHkgdGhlIGVuY29kZXIgYW5kIFwKKyAgICAgICAgICAgICAgIGRlY29kZXIgdG8gc291cmNlLCB0YXJnZXQsIGFuZCBkZWx0YSBmaWxlcy4gXAorICAgICAgICAgICAgICAgQSBzbGlnaHQgdmFyaWF0aW9uIGZyb20gdGhlIGRyYWZ0IHN0YW5kYXJkIGlzIGRlZmluZWQgXAorICAgICAgICAgICAgICAgdG8gYWxsb3cgY2h1bmstYnktY2h1bmsgZGVjb2Rpbmcgd2hlbiBvbmx5IGEgcGFydGlhbCBcCisgICAgICAgICAgICAgICBkZWx0YSBmaWxlIHdpbmRvdyBpcyBhdmFpbGFibGUuIgorSE9NRVBBR0UgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL29wZW4tdmNkaWZmLyIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKKworTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZmY4MjBkNGRkYzFiYTA1YjZmZDM3YjQxYTIxNTA2ZjkiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9kcml2ZS5nb29nbGUuY29tL3VjP2lkPTBCNVdwSWkyZlFVMWFOR0p3VkU5aFVqVTVjbFUmZXhwb3J0PWRvd25sb2FkO2Rvd25sb2FkZmlsZW5hbWU9JHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjVjMGQzNzhkOTA3YmViYzM4YjUxYzNkN2U0MTE3MDExIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJiMTQyYjEwMjdmYjBhNjJjNDEzNDc2MDBlMDFhNTNmYTI3NGRhZDE1NDQ1YTdkYTQ4MDgzYzgzMGMzMTM4YjMiCisKK2luaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdC9vcGVuY3QvZXRjLW9wZW5jdC51ZGV2LmluLWRpc2FibGVQUk9HUkFNLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Qvb3BlbmN0L2V0Yy1vcGVuY3QudWRldi5pbi1kaXNhYmxlUFJPR1JBTS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDVmOTIzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Qvb3BlbmN0L2V0Yy1vcGVuY3QudWRldi5pbi1kaXNhYmxlUFJPR1JBTS5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIGUwZDNlMGJiMWUzOGZmODUxNjk2YTdkODgyNmU2NTFkMzY0YWQ4Y2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMaSB4aW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CitEYXRlOiBGcmksIDUgRGVjIDIwMTQgMDI6MDA6NTcgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSCAxLzJdIGV0Yy9vcGVuY3QudWRldi5pbjogZGlzYWJsZVBST0dSQU0KKworQnVnIGZpeDogaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0yODc4NzEKKworVXBzdHJlYW0tc3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IExpIFhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KKy0tLQorIGV0Yy9vcGVuY3QudWRldi5pbiB8IDMgKystCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZXRjL29wZW5jdC51ZGV2LmluIGIvZXRjL29wZW5jdC51ZGV2LmluCitpbmRleCBkMTFkMGUxLi40ODA4M2M5IDEwMDY0NAorLS0tIGEvZXRjL29wZW5jdC51ZGV2LmluCisrKysgYi9ldGMvb3BlbmN0LnVkZXYuaW4KK0BAIC0yMiw3ICsyMiw4IEBAIEFDVElPTiE9ImFkZCIsIEdPVE89Im9wZW5jdF91c2JfcnVsZXNfZW5kIgorICMgMjAxMC0wMS0wNiByZW1vdmVkLCBhcyBsYXRlc3QgdWRldiBkb2Vzbid0IGtub3cgV0FJVF9GT1JfQVRUUiBhbnkgbW9yZS4KKyAKKyAjIHNsZWVwIGZvciAxMDBtcyAtIHRoZSB3YWl0X2Zvcl9zeXNmcyBtaWdodCBub3QgYmUgZW5vdWdoCistUFJPR1JBTT0iL2Jpbi9zbGVlcCAwLjEiCisrIyBEaXNhYmxlZCBpbiB0aGlzIHBhY2thZ2UgLSBzZWUgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tLzI4Nzg3MQorKyMgUFJPR1JBTT0iL2Jpbi9zbGVlcCAwLjEiCisgCisgIyBjY2lkCisgQVRUUntiSW50ZXJmYWNlQ2xhc3N9PT0iMGIiLCBBVFRSe2JJbnRlcmZhY2VTdWJDbGFzc309PSIwMCIsIEFUVFJ7YkludGVyZmFjZVByb3RvY29sfT09IjAwIiwgQVRUUlN7aWRWZW5kb3J9PT0iPyoiICBSVU4rPSJAdWRldmRpckAvb3BlbmN0X3VzYiAvZGV2LyRwYXJlbnQiCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Qvb3BlbmN0L2V0Yy1vcGVuY3RfdXNiLmluLW1vZGlmeS1VREVWSU5GTy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN0L29wZW5jdC9ldGMtb3BlbmN0X3VzYi5pbi1tb2RpZnktVURFVklORk8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDVlM2ZlNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN0L29wZW5jdC9ldGMtb3BlbmN0X3VzYi5pbi1tb2RpZnktVURFVklORk8ucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorRnJvbSBkOTM5ODVhMTM3YjU1M2IyNzIzMjM1ZDAzYmRhMzQxZGFiMTQwNjRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogRnJpLCA1IERlYyAyMDE0IDAyOjA0OjAzICswOTAwCitTdWJqZWN0OiBbUEFUQ0ggMi8yXSBldGMvb3BlbmN0X3VzYi5pbjogbW9kaWZ5IFVERVZJTkZPCisKK3RoaXMgcGF0Y2ggaXMgZnJvbSBGZWRvcmEKKworVXBzdHJlYW0tc3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IExpIFhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KKy0tLQorIGV0Yy9vcGVuY3RfdXNiLmluIHwgNiArKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZXRjL29wZW5jdF91c2IuaW4gYi9ldGMvb3BlbmN0X3VzYi5pbgoraW5kZXggMzJmOTFhYS4uOTE3NDY3ZCAxMDA2NDQKKy0tLSBhL2V0Yy9vcGVuY3RfdXNiLmluCisrKysgYi9ldGMvb3BlbmN0X3VzYi5pbgorQEAgLTE1LDEwICsxNSwxMCBAQCBpZiBbIC16ICIkREVWTkFNRSIgXTsgdGhlbgorIAkjIEd1ZXNzIHVkZXYgaW5mbyBpbnRlcmZhY2UuCisgCSMgTmV3ZXIgdWRldiB1c2VzIHVkZXZhZG0KKyAJIworLQlpZiB3aGljaCB1ZGV2aW5mbyA+IC9kZXYvbnVsbCAyPiYxOyB0aGVuCistCQlVREVWSU5GTz0idWRldmluZm8iCistCWVsc2UKKysJaWYgd2hpY2ggdWRldmFkbSA+IC9kZXYvbnVsbCAyPiYxOyB0aGVuCisgCQlVREVWSU5GTz0idWRldmFkbSBpbmZvIgorKwllbHNlCisrCQlVREVWSU5GTz0idWRldmluZm8iCisgCWZpCisgCURFVk5BTUU9L2Rldi8kKCRVREVWSU5GTyAtLXF1ZXJ5PW5hbWUgLS1wYXRoPSQoZGlybmFtZSAkREVWUEFUSCkpCisgZmkKKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdC9vcGVuY3Qvb3BlbmN0LmluaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdC9vcGVuY3Qvb3BlbmN0LmluaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzY4OTYwOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN0L29wZW5jdC9vcGVuY3QuaW5pdApAQCAtMCwwICsxLDg5IEBACisjIS9iaW4vc2gKKyMKKyMgb3BlbmN0ICAgICAgIFRoaXMgc2hlbGwgc2NyaXB0IHRha2VzIGNhcmUgb2Ygc3RhcnRpbmcgYW5kIHN0b3BwaW5nIE9wZW5DVC4KKyMKKyMgY2hrY29uZmlnOiAgIDIzNDUgMjQgODkKKyMgZGVzY3JpcHRpb246IE9wZW5DVCBpcyBhIG1pZGRsZXdhcmUgZnJhbWV3b3JrIGZvciBzbWFydCBjYXJkIHRlcm1pbmFscy4KKyMKKyMgcHJvY2Vzc25hbWU6IGlmZGhhbmRsZXIKKyMgY29uZmlnOiAgICAgIC9ldGMvb3BlbmN0LmNvbmYKKworIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogb3BlbmN0CisjIERlZmF1bHQtU3RhcnQ6IDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAwIDEgNgorIyBTaG91bGQtU3RhcnQ6ICRzeXNsb2cgJG5ldHdvcmsKKyMgU2hvdWxkLVN0b3A6ICRzeXNsb2cgJG5ldHdvcmsKKyMgU2hvcnQtRGVzY3JpcHRpb246IE1pZGRsZXdhcmUgZnJhbWV3b3JrIGZvciBzbWFydCBjYXJkIHRlcm1pbmFscworIyBEZXNjcmlwdGlvbjogVGhpcyBzdGFydHMvc3RvcHMgdGhlIE9wZW5DVCBtaWRkbGV3YXJlIGZyYW1ld29yayBzdXBwb3J0CisjICAgICAgICAgICAgICBmb3Igc21hcnQgY2FyZCB0ZXJtaW5hbHMuCisjIyMgRU5EIElOSVQgSU5GTworCisuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworCitleGVjPSIvdXNyL3NiaW4vb3BlbmN0LWNvbnRyb2wiCitwcm9nPW9wZW5jdAorcHJvYz1pZmRoYW5kbGVyCisKK09QRU5DVF9PUFRJT05TPQorWyAtZSAvZXRjL3N5c2NvbmZpZy8kcHJvZyBdICYmIC4gL2V0Yy9zeXNjb25maWcvJHByb2cKKworbG9ja2ZpbGU9L3Zhci9sb2NrL3N1YnN5cy8kcHJvZworCitzdGFydCgpIHsKKyAgICByZXR2YWw9MAorICAgIGlmICEgc3RhdHVzICRwcm9jID4vZGV2L251bGwgMj4mMSA7IHRoZW4KKyAgICAgICAgYWN0aW9uICQiSW5pdGlhbGl6aW5nIE9wZW5DVCBzbWFydCBjYXJkIHRlcm1pbmFsczogIiBcCisgICAgICAgICAgICAkZXhlYyAkT1BFTkNUX09QVElPTlMgaW5pdAorICAgICAgICByZXR2YWw9JD8KKyAgICAgICAgWyAkcmV0dmFsIC1lcSAwIF0gJiYgdG91Y2ggJGxvY2tmaWxlCisgICAgZmkKKyAgICByZXR1cm4gJHJldHZhbAorfQorCitzdG9wKCkgeworICAgIGlmIHN0YXR1cyAkcHJvYyA+L2Rldi9udWxsIDI+JjEgOyB0aGVuCisgICAgICAgIGFjdGlvbiAkIlN0b3BwaW5nIE9wZW5DVCBzbWFydCBjYXJkIHRlcm1pbmFsczogIiBcCisgICAgICAgICAgICAkZXhlYyAkT1BFTkNUX09QVElPTlMgc2h1dGRvd24KKyAgICBmaQorICAgIHJldHZhbD0kPworICAgIGlmIFsgJHJldHZhbCAtZXEgMCBdIDsgdGhlbgorICAgICAgICBybSAtZiAvdmFyL3J1bi9vcGVuY3Qvc3RhdHVzCisgICAgICAgIHJtIC1mICRsb2NrZmlsZQorICAgIGZpCisgICAgcmV0dXJuICRyZXR2YWwKK30KKworcmVzdGFydCgpIHsKKyAgICBzdG9wCisgICAgc3RhcnQKK30KKworb2N0X3N0YXR1cygpIHsKKyAgICBzdGF0dXMgJHByb2MKKyAgICByZXR2YWw9JD8KKyAgICBpZiBbIC1lIC92YXIvcnVuL29wZW5jdC9zdGF0dXMgXSA7IHRoZW4KKyAgICAgICAgJGV4ZWMgJE9QRU5DVF9PUFRJT05TIHN0YXR1cworICAgICAgICBbIC1lIC92YXIvcnVuL29wZW5jdC9zdGF0dXMgXSAmJiBcCisgICAgICAgICAgICBlY2hvICQiV2FpdGluZyBmb3IgcmVhZGVyIGF0dGFjaC9kZXRhY2ggZXZlbnRzLi4uIgorICAgIGZpCisgICAgcmV0dXJuICRyZXR2YWwKK30KKworY2FzZSAiJDEiIGluCisgICAgc3RhcnR8c3RvcHxyZXN0YXJ0KQorICAgICAgICAkMQorICAgICAgICA7OworICAgIHJlbG9hZHxmb3JjZS1yZWxvYWQpCisgICAgICAgIHJlc3RhcnQKKyAgICAgICAgOzsKKyAgICBzdGF0dXMpCisgICAgICAgIG9jdF9zdGF0dXMKKyAgICAgICAgOzsKKyAgICB0cnktcmVzdGFydHxjb25kcmVzdGFydCkKKyAgCVsgISAtZiAkbG9ja2ZpbGUgXSB8fCByZXN0YXJ0CisJOzsKKyAgICAqKQorICAgICAgICBlY2hvICQiVXNhZ2U6ICQwIHtzdGFydHxzdG9wfHN0YXR1c3xyZXN0YXJ0fHRyeS1yZXN0YXJ0fHJlbG9hZHxmb3JjZS1yZWxvYWR9IgorICAgICAgICBleGl0IDIKK2VzYWMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN0L29wZW5jdC9vcGVuY3Quc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN0L29wZW5jdC9vcGVuY3Quc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOWVjNDk3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Qvb3BlbmN0L29wZW5jdC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTMgQEAKK1tVbml0XQorRGVzY3JpcHRpb249T3BlbmN0IE1pZGRsZXdhcmUgZnJhbWV3b3JrIGZvciBzbWFydCBjYXJkIHRlcm1pbmFscworQWZ0ZXI9c3lzbG9nLnRhcmdldCBuZXR3b3JrLnRhcmdldAorCitbU2VydmljZV0KK0Vudmlyb25tZW50RmlsZT0tL2V0Yy9zeXNjb25maWcvb3BlbmN0CitFeGVjU3RhcnQ9L3Vzci9zYmluL29wZW5jdC1jb250cm9sICRPUEVOQ1RfT1BUSU9OUyBpbml0IAorRXhlY1N0b3A9L3Vzci9zYmluL29wZW5jdC1jb250cm9sICRPUEVOQ1RfT1BUSU9OUyBzaHV0ZG93bgorUmVtYWluQWZ0ZXJFeGl0PXllcworS2lsbE1vZGU9bm9uZQorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdC9vcGVuY3Qvb3BlbmN0LnN5c2NvbmZpZyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN0L29wZW5jdC9vcGVuY3Quc3lzY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmYzI3MDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdC9vcGVuY3Qvb3BlbmN0LnN5c2NvbmZpZwpAQCAtMCwwICsxLDUgQEAKKyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0qLSBzaCAtKi0KKyMgRXh0cmEgb3B0aW9ucyB0byBwYXNzIHRvIG9wZW5jdC1jb250cm9sLgorIyBDb25zdWx0ICIvdXNyL3NiaW4vb3BlbmN0LWNvbnRyb2wgLWgiIGZvciBhdmFpbGFibGUgb3B0aW9ucy4KKyMKK09QRU5DVF9PUFRJT05TPSIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdC9vcGVuY3RfMC42LjIwLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Qvb3BlbmN0XzAuNi4yMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZjFmZjU3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Qvb3BlbmN0XzAuNi4yMC5iYgpAQCAtMCwwICsxLDkyIEBACitTdW1tYW5yeSA9ICJNaWRkbGV3YXJlIGZyYW1ld29yayBmb3Igc21hcnQgY2FyZCB0ZXJtaW5hbHMiCitERVNDUklQVElPTiA9ICIgXAorT3BlbkNUIGltcGxlbWVudHMgZHJpdmVycyBmb3Igc2V2ZXJhbCBzbWFydCBjYXJkIHJlYWRlcnMuIFwKK0l0IGNvbWVzIGFzIGRyaXZlciBpbiBpZmRoYW5kbGVyIGZvcm1hdCBmb3IgUEMvU0MtTGl0ZSwgXAorYXMgQ1QtQVBJIGRyaXZlciwgb3IgYXMgYSBzbWFsbCBhbmQgbGVhbiBtaWRkbGV3YXJlLCBcCitzbyBhcHBsaWNhdGlvbnMgY2FuIHVzZSBpdCB3aXRoIG1pbmltYWwgb3ZlcmhlYWQuIFwKK09wZW5DVCBhbHNvIGhhcyBhIHByaW1pdGl2ZSBtZWNoYW5pc20gdG8gZXhwb3J0IHNtYXJ0IGNhcmQgXAorcmVhZGVycyB0byByZW1vdGUgbWFjaGluZXMgdmlhIFRDUC9JUC4iCisKK0RFUEVORFMgKz0gImxpYnRvb2wgcGNzYy1saXRlIGxpYnVzYi1jb21wYXQiCisKK1NSQ19VUkkgPSAiIFwKKyAgICAke0RFQklBTl9NSVJST1J9L21haW4vby8ke0JQTn0vJHtCUE59XyR7UFZ9Lm9yaWcudGFyLmd6IFwKKyAgICBmaWxlOi8vZXRjLW9wZW5jdC51ZGV2LmluLWRpc2FibGVQUk9HUkFNLnBhdGNoIFwKKyAgICBmaWxlOi8vZXRjLW9wZW5jdF91c2IuaW4tbW9kaWZ5LVVERVZJTkZPLnBhdGNoIFwKKyAgICBmaWxlOi8vb3BlbmN0LmluaXQgXAorICAgIGZpbGU6Ly9vcGVuY3Quc3lzY29uZmlnIFwKKyAgICBmaWxlOi8vb3BlbmN0LnNlcnZpY2UgXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYTFkYTMzNThhYjc5OGYxY2I5MjMyZjFkYmFiYWJjMjEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmNkM2UyOTMzZDI5ZWIxZjg3NWM4MzhlZTU4YjgwNzFmZDYxZjBlYzhlZDU5MjJhODZjMDFjODA1ZDE4MWE2OCIKKworTElDRU5TRSA9ICJMR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTEdQTC0yLjE7bWQ1PTJkNTAyNWQ0YWEzNDk1YmVmZWY4ZjE3MjA2YTViMGExIgorCitpbmhlcml0ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdWSVJUVUFMLVJVTlRJTUVfaW5pdF9tYW5hZ2VyJywnc3lzdGVtZCcsJ3N5c3RlbWQnLCcnLCBkKX0KK1NZU1RFTURfU0VSVklDRV8ke1BOfSArPSAib3BlbmN0LnNlcnZpY2UgIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJlbmFibGUiCisKK0VYVFJBX09FQ09ORj0iIFwKKyAgICAtLWRpc2FibGUtc3RhdGljIFwKKyAgICAtLWVuYWJsZS11c2IgXAorICAgIC0tZW5hYmxlLXBjc2MgXAorICAgIC0tZW5hYmxlLWRvYyBcCisgICAgLS1lbmFibGUtYXBpLWRvYyBcCisgICAgLS13aXRoLXVkZXY9L2xpYi91ZGV2IFwKKyAgICAtLXdpdGgtYnVuZGxlPSR7bGliZGlyfS9wY3NjL2RyaXZlcnMgXAorIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtsaWJkaXJ9L2N0YXBpIFwKKyAgICAvbGliL3VkZXYgXAorICAgICR7bGliZGlyfS9vcGVuY3QtaWZkLnNvIFwKKyAgICAke2xpYmRpcn0vcGNzYyBcCisgICAgL3J1bi9vcGVuY3Qvc3RhdHVzIFwKKyIKKworRklMRVNfJHtQTn0tZGJnICs9ICIgXAorICAgICR7bGliZGlyfS9jdGFwaS8uZGVidWcgXAorICAgICR7bGliZGlyfS9wY3NjL2RyaXZlcnMvb3BlbmN0LWlmZC5idW5kbGUvQ29udGVudHMvTGludXgvLmRlYnVnIFwKKyIKKworSU5TQU5FX1NLSVBfJHtQTn0gKz0gImRldi1kZXBzIgorCisKK2RvX2luc3RhbGwgKCkgeworICAgIHJtIC1yZiAke0R9CisgICAgaW5zdGFsbCAtZCAke0R9L2V0YworICAgIGluc3RhbGwgLWRtIDc1NSAke0R9L2xpYi91ZGV2CisgICAgIyBmaXggdXAgaGFyZGNvZGVkIHBhdGhzCisgICAgc2VkIC1pIC1lICdzLC9ldGMvLCR7c3lzY29uZmRpcn0vLCcgLWUgJ3MsL3Vzci9zYmluLywke3NiaW5kaXJ9LywnIFwKKyAgICAgICAgJHtXT1JLRElSfS9vcGVuY3Quc2VydmljZSAke1dPUktESVJ9L29wZW5jdC5pbml0CisKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9CisgICAgaW5zdGFsbCAtZG0gNzU1ICR7RH0ke2xpYmRpcn0vY3RhcGkvCisgICAgbXYgJHtEfSR7bGliZGlyfS9saWJvcGVuY3RhcGkuc28gJHtEfSR7bGliZGlyfS9jdGFwaS8KKyAgICBpbnN0YWxsIC1EcG0gNjQ0IGV0Yy9vcGVuY3QudWRldiAke0R9L2V0Yy91ZGV2L3J1bGVzLmQvNjAtb3BlbmN0LnJ1bGVzCisgICAgaW5zdGFsbCAtcG0gNjQ0IGV0Yy9vcGVuY3QuY29uZiAke0R9L2V0Yy9vcGVuY3QuY29uZgorCisgICAgaW5zdGFsbCAtRHBtIDc1NSAke1dPUktESVJ9L29wZW5jdC5pbml0ICR7RH0vZXRjL2luaXQuZC9vcGVuY3QKKyAgICBpbnN0YWxsIC1EcG0gNjQ0ICR7V09SS0RJUn0vb3BlbmN0LnN5c2NvbmZpZyAke0R9L2V0Yy9zeXNjb25maWcvb3BlbmN0CisKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3RydWUnLCdmYWxzZScsZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vb3BlbmN0LnNlcnZpY2UgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgZmkKKworICAgIHNvPSQoZmluZCAke0R9IC1uYW1lIFwqLnNvIHwgc2VkICJzfF4ke0R9fHwiKQorICAgIHNlZCAtaSAtZSAnc3xcXChMSUJQQVRIXFxzKlxcKS4qfFxcMSRzb3wnIGV0Yy9yZWFkZXIuY29uZgorICAgIGluc3RhbGwgLURwbSA2NDQgZXRjL3JlYWRlci5jb25mICR7RH0vZXRjL3JlYWRlci5jb25mLmQvb3BlbmN0LmNvbmYKKworICAgIGluc3RhbGwgLWRtIDc1NSAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4vb3BlbmN0CisgICAgdG91Y2ggJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuL29wZW5jdC9zdGF0dXMKKyAgICBjaG1vZCA2NDQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuL29wZW5jdC9zdGF0dXMKK30KKworcGtnX3Bvc3RpbnN0XyR7UE59ICgpIHsKKyAgICBsbiAtc2YgY3RhcGkvbGlib3BlbmN0YXBpLnNvICR7bGliZGlyfS9saWJvcGVuY3RhcGkuc28KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN2L29wZW5jdi1zYW1wbGVzXzIuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN2L29wZW5jdi1zYW1wbGVzXzIuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lY2FhZTRjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2LXNhbXBsZXNfMi40LmJiCkBAIC0wLDAgKzEsNDEgQEAKK1NVTU1BUlkgPSAiT3BlbmN2IDogVGhlIE9wZW4gQ29tcHV0ZXIgVmlzaW9uIExpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8vb3BlbmN2LndpbGxvd2dhcmFnZS5jb20vd2lraS8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkJTRCIKKworREVQRU5EUyA9ICJvcGVuY3YiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2luY2x1ZGUvb3BlbmN2Mi9vcGVuY3YuaHBwO2VuZGxpbmU9NDE7bWQ1PTZkNjkwZDg0ODhhNmZjYTdhMmMxOTI5MzI0NjZiYjE0IFwKKyIKK1NSQ1JFViA9ICI2ZmFlMDdiYTg4NjdiOGZkMmM1MzM0NGE3NzRhYWI2NjlhZmE3YzVlIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL0l0c2Vlei9vcGVuY3YuZ2l0O2JyYW5jaD0yLjQgXAorICAgICAgICAgICIKK1BWID0gIjIuNC4zK2dpdCR7U1JDUFZ9IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19pbnN0YWxsKCkgeworICAgIGNkIHNhbXBsZXMvYworICAgIGluc3RhbGwgLWQgJHtEfS8ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0vJHtkYXRhZGlyfS9vcGVuY3Yvc2FtcGxlcworCisgICAgY3AgKiAke0R9LyR7ZGF0YWRpcn0vb3BlbmN2L3NhbXBsZXMgfHwgdHJ1ZQorCisgICAgZm9yIGkgaW4gKi5jOyBkbworICAgICAgICBlY2hvICJjb21waWxpbmcgJGkiCisgICAgICAgICR7Q1hYfSAke0NGTEFHU30gJHtMREZMQUdTfSAtZ2dkYiBgcGtnLWNvbmZpZyAtLWNmbGFncyBvcGVuY3ZgIC1vIGBiYXNlbmFtZSAkaSAuY2AgJGkgYHBrZy1jb25maWcgLS1saWJzIG9wZW5jdmAgfHwgdHJ1ZQorICAgICAgICBpbnN0YWxsIC1tIDA3NTUgYGJhc2VuYW1lICRpIC5jYCAke0R9LyR7YmluZGlyfSB8fCB0cnVlCisgICAgICAgIHJtICR7RH0vJHtkYXRhZGlyfS9vcGVuY3Yvc2FtcGxlcy9gYmFzZW5hbWUgJGkgLmNgIHx8IHRydWUKKyAgICBkb25lCisgICAgZm9yIGkgaW4gKi5jcHA7IGRvCisgICAgICAgIGVjaG8gImNvbXBpbGluZyAkaSIKKyAgICAgICAgJHtDWFh9ICR7Q0ZMQUdTfSAke0xERkxBR1N9IC1nZ2RiIGBwa2ctY29uZmlnIC0tY2ZsYWdzIG9wZW5jdmAgLW8gYGJhc2VuYW1lICRpIC5jcHBgICRpIGBwa2ctY29uZmlnIC0tbGlicyBvcGVuY3ZgIHx8IHRydWUKKyAgICAgICAgaW5zdGFsbCAtbSAwNzU1IGBiYXNlbmFtZSAkaSAuY3BwYCAke0R9LyR7YmluZGlyfSB8fCB0cnVlCisgICAgICAgIHJtICR7RH0vJHtkYXRhZGlyfS9vcGVuY3Yvc2FtcGxlcy9gYmFzZW5hbWUgJGkgLmNwcGAgfHwgdHJ1ZQorICAgIGRvbmUKK30KKworRklMRVNfJHtQTn0tZGV2ICs9ICIke2RhdGFkaXJ9L29wZW5jdi9zYW1wbGVzLyouYyogJHtkYXRhZGlyfS9vcGVuY3Yvc2FtcGxlcy8qLnZjcCogJHtkYXRhZGlyfS9vcGVuY3Yvc2FtcGxlcy9idWlsZCoiIAorRklMRVNfJHtQTn0gKz0gIiR7YmluZGlyfSAke2RhdGFkaXJ9L29wZW5jdiIKKworUE5CTEFDS0xJU1Rbb3BlbmN2LXNhbXBsZXNdID89ICJEZXBlbmRzIG9uIGJsYWNrbGlzdGVkIG9wZW5jdiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN2L29wZW5jdi8wMDAxLTNyZHBhcnR5LWlwcGljdi1Vc2UtcHJlLWRvd25sb2FkZWQtaXBwLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2LzAwMDEtM3JkcGFydHktaXBwaWN2LVVzZS1wcmUtZG93bmxvYWRlZC1pcHAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDU2ODAxOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN2L29wZW5jdi8wMDAxLTNyZHBhcnR5LWlwcGljdi1Vc2UtcHJlLWRvd25sb2FkZWQtaXBwLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0Zyb20gMDQ5ZjkzMTIwNzYzMWFhNTRhZjU1YTI5MTczMThkMDMyYjJlZjNmYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJpY2FyZG8gUmliYWxkYSBEZWxnYWRvIDxyaWNhcmRvLnJpYmFsZGFAZ21haWwuY29tPgorRGF0ZTogVGh1LCAzMSBNYXIgMjAxNiAwMDoyMDoxNSArMDIwMAorU3ViamVjdDogW1BBVENIXSAzcmRwYXJ0eS9pcHBpY3Y6IFVzZSBwcmUtZG93bmxvYWRlZCBpcHAKKworU2lnbmVkLW9mZi1ieTogUmljYXJkbyBSaWJhbGRhIERlbGdhZG8gPHJpY2FyZG8ucmliYWxkYUBnbWFpbC5jb20+CistLS0KKyAzcmRwYXJ0eS9pcHBpY3YvZG93bmxvYWRlci5jbWFrZSB8IDIgKysKKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS8zcmRwYXJ0eS9pcHBpY3YvZG93bmxvYWRlci5jbWFrZSBiLzNyZHBhcnR5L2lwcGljdi9kb3dubG9hZGVyLmNtYWtlCitpbmRleCBhNjAxNmRiZTEwYmMuLmFmNDA2MmM4ZTk1ZSAxMDA2NDQKKy0tLSBhLzNyZHBhcnR5L2lwcGljdi9kb3dubG9hZGVyLmNtYWtlCisrKysgYi8zcmRwYXJ0eS9pcHBpY3YvZG93bmxvYWRlci5jbWFrZQorQEAgLTMxLDggKzMxLDEwIEBAIGZ1bmN0aW9uKF9pY3ZfZG93bmxvYWRlcikKKyAgICAgcmV0dXJuKCkgIyBOb3Qgc3VwcG9ydGVkCisgICBlbmRpZigpCisgCisrICBpZihOT1QgREVGSU5FRCBPUEVOQ1ZfSUNWX1BBVEgpCisgICBzZXQoT1BFTkNWX0lDVl9VTlBBQ0tfUEFUSCAiJHtDTUFLRV9DVVJSRU5UX0xJU1RfRElSfS91bnBhY2siKQorICAgc2V0KE9QRU5DVl9JQ1ZfUEFUSCAiJHtPUEVOQ1ZfSUNWX1VOUEFDS19QQVRIfSR7T1BFTkNWX0lDVl9QQUNLQUdFX1NVQkRJUn0iKQorKyAgZW5kaWYoKQorIAorICAgaWYoREVGSU5FRCBPUEVOQ1ZfSUNWX1BBQ0tBR0VfRE9XTkxPQURFRAorICAgICAgICBBTkQgT1BFTkNWX0lDVl9QQUNLQUdFX0RPV05MT0FERUQgU1RSRVFVQUwgT1BFTkNWX0lDVl9QQUNLQUdFX0hBU0gKKy0tIAorMi44LjAucmMzCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN2L29wZW5jdi8wMDAxLVVzZS1fX3ZlY3Rvci1pbnN0ZWFkLW9mLXZlY3Rvci1hcy1zdWdnZXN0cy1FaWdlbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN2L29wZW5jdi8wMDAxLVVzZS1fX3ZlY3Rvci1pbnN0ZWFkLW9mLXZlY3Rvci1hcy1zdWdnZXN0cy1FaWdlbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZjgwOWJjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2LzAwMDEtVXNlLV9fdmVjdG9yLWluc3RlYWQtb2YtdmVjdG9yLWFzLXN1Z2dlc3RzLUVpZ2VuLnBhdGNoCkBAIC0wLDAgKzEsNDkgQEAKK0Zyb20gNzExZjA3YTM0Y2ViNTA0ZThmNzVlOTc4NjkyMjAxZWZhNTgyNjhjYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IERpbmFyIFZhbGVldiA8ZHZhbGVldkBzdXNlLmNvbT4KK0RhdGU6IFRodSwgMTYgSmFuIDIwMTQgMjE6NTM6NDkgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gVXNlIF9fdmVjdG9yIGluc3RlYWQgb2YgdmVjdG9yIGFzIHN1Z2dlc3RzIEVpZ2VuCisKK1RoaXMgZml4ZXMgYnVpbGQgb24gUG93ZXJQQyB3aGVyZSBFaWdlbiB1bnNldHMgdmVjdG9yLCBib29sIGFuZCBwaXhlbAorCitTaWduZWQtb2ZmLWJ5OiBEaW5hciBWYWxlZXYgPGR2YWxlZXZAc3VzZS5jb20+CisKK1RoaXMgcGF0Y2ggaXMgYWxyZWFkeSBwYXJ0IG9mIE9wZW5DViB2My4wLiBUaGUgcGF0Y2ggY2FuIGJlIG9idGFpbmVkCitmcm9tOgorCisgIGh0dHBzOi8vZ2l0aHViLmNvbS9JdHNlZXovb3BlbmN2L2NvbW1pdC83MTFmMDdhMzRjZWI1MDRlOGY3NWU5Nzg2OTIyMDFlZmE1ODI2OGNhLnBhdGNoCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2NvbW1pdCA3MTFmMDdhMzRjLCBwYXJ0IG9mIHZlcnNpb24gMy4wXQorCitTaWduZWQtb2ZmLWJ5OiBMdWthcyBCdWx3YWhuIDxsdWthcy5idWx3YWhuQG9zcy5ibXctY2FyaXQuZGU+CistLS0KKyAzcmRwYXJ0eS9pbmNsdWRlL29wZW5jbC8xLjIvQ0wvY2xfcGxhdGZvcm0uaCB8IDE0ICsrKysrKystLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhLzNyZHBhcnR5L2luY2x1ZGUvb3BlbmNsLzEuMi9DTC9jbF9wbGF0Zm9ybS5oIGIvM3JkcGFydHkvaW5jbHVkZS9vcGVuY2wvMS4yL0NML2NsX3BsYXRmb3JtLmgKK2luZGV4IGU5NDk0OWEuLjQyYzM1ZDUgMTAwNjQ0CistLS0gYS8zcmRwYXJ0eS9pbmNsdWRlL29wZW5jbC8xLjIvQ0wvY2xfcGxhdGZvcm0uaAorKysrIGIvM3JkcGFydHkvaW5jbHVkZS9vcGVuY2wvMS4yL0NML2NsX3BsYXRmb3JtLmgKK0BAIC0zMzIsMTMgKzMzMiwxMyBAQCB0eXBlZGVmIHVuc2lnbmVkIGludCBjbF9HTGVudW07CisgLyogRGVmaW5lIGJhc2ljIHZlY3RvciB0eXBlcyAqLworICNpZiBkZWZpbmVkKCBfX1ZFQ19fICkKKyAgICAjaW5jbHVkZSA8YWx0aXZlYy5oPiAgIC8qIG1heSBiZSBvbWl0dGVkIGRlcGVuZGluZyBvbiBjb21waWxlci4gQWx0aVZlYyBzcGVjIHByb3ZpZGVzIG5vIHdheSB0byBkZXRlY3Qgd2hldGhlciB0aGUgaGVhZGVyIGlzIHJlcXVpcmVkLiAqLworLSAgIHR5cGVkZWYgdmVjdG9yIHVuc2lnbmVkIGNoYXIgICAgIF9fY2xfdWNoYXIxNjsKKy0gICB0eXBlZGVmIHZlY3RvciBzaWduZWQgY2hhciAgICAgICBfX2NsX2NoYXIxNjsKKy0gICB0eXBlZGVmIHZlY3RvciB1bnNpZ25lZCBzaG9ydCAgICBfX2NsX3VzaG9ydDg7CistICAgdHlwZWRlZiB2ZWN0b3Igc2lnbmVkIHNob3J0ICAgICAgX19jbF9zaG9ydDg7CistICAgdHlwZWRlZiB2ZWN0b3IgdW5zaWduZWQgaW50ICAgICAgX19jbF91aW50NDsKKy0gICB0eXBlZGVmIHZlY3RvciBzaWduZWQgaW50ICAgICAgICBfX2NsX2ludDQ7CistICAgdHlwZWRlZiB2ZWN0b3IgZmxvYXQgICAgICAgICAgICAgX19jbF9mbG9hdDQ7CisrICAgdHlwZWRlZiBfX3ZlY3RvciB1bnNpZ25lZCBjaGFyICAgICBfX2NsX3VjaGFyMTY7CisrICAgdHlwZWRlZiBfX3ZlY3RvciBzaWduZWQgY2hhciAgICAgICBfX2NsX2NoYXIxNjsKKysgICB0eXBlZGVmIF9fdmVjdG9yIHVuc2lnbmVkIHNob3J0ICAgIF9fY2xfdXNob3J0ODsKKysgICB0eXBlZGVmIF9fdmVjdG9yIHNpZ25lZCBzaG9ydCAgICAgIF9fY2xfc2hvcnQ4OworKyAgIHR5cGVkZWYgX192ZWN0b3IgdW5zaWduZWQgaW50ICAgICAgX19jbF91aW50NDsKKysgICB0eXBlZGVmIF9fdmVjdG9yIHNpZ25lZCBpbnQgICAgICAgIF9fY2xfaW50NDsKKysgICB0eXBlZGVmIF9fdmVjdG9yIGZsb2F0ICAgICAgICAgICAgIF9fY2xfZmxvYXQ0OworICAgICNkZWZpbmUgIF9fQ0xfVUNIQVIxNl9fICAxCisgICAgI2RlZmluZSAgX19DTF9DSEFSMTZfXyAgIDEKKyAgICAjZGVmaW5lICBfX0NMX1VTSE9SVDhfXyAgMQorLS0gCisxLjkuMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3YvZml4cGtnY29uZmlnLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2L2ZpeHBrZ2NvbmZpZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWVkYTdkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2L2ZpeHBrZ2NvbmZpZy5wYXRjaApAQCAtMCwwICsxLDI5IEBACitkaWZmIC0tZ2l0IGEvY21ha2UvT3BlbkNWR2VuUGtnY29uZmlnLmNtYWtlIGIvY21ha2UvT3BlbkNWR2VuUGtnY29uZmlnLmNtYWtlCitpbmRleCBiOGNiODc3N2MwNmIuLjc1MjgxZWU5NjRmZCAxMDA2NDQKKy0tLSBhL2NtYWtlL09wZW5DVkdlblBrZ2NvbmZpZy5jbWFrZQorKysrIGIvY21ha2UvT3BlbkNWR2VuUGtnY29uZmlnLmNtYWtlCitAQCAtMjcsNyArMjcsNyBAQCBtYWNybyhmaXhfcHJlZml4IGxzdCBpc293bikKKyAgICAgICBnZXRfZmlsZW5hbWVfY29tcG9uZW50KGxpYmRpciAiJHtpdGVtfSIgUEFUSCkKKyAgICAgICBnZXRfZmlsZW5hbWVfY29tcG9uZW50KGxpYm5hbWUgIiR7aXRlbX0iIE5BTUVfV0UpCisgICAgICAgc3RyaW5nKFJFR0VYIFJFUExBQ0UgIl5saWIoLiopIiAiXFwxIiBsaWJuYW1lICIke2xpYm5hbWV9IikKKy0gICAgICBsaXN0KEFQUEVORCBfbHN0ICItTCR7bGliZGlyfSIgIi1sJHtsaWJuYW1lfSIpCisrICAgICAgbGlzdChBUFBFTkQgX2xzdCAiLWwke2xpYm5hbWV9IikKKyAgICAgZWxzZSgpCisgICAgICAgbGlzdChBUFBFTkQgX2xzdCAiLWwke2l0ZW19IikKKyAgICAgZW5kaWYoKQorQEAgLTY2LDEwICs2NiwxNCBAQCBvY3ZfbGlzdF91bmlxdWUoXzNyZHBhcnR5KQorIAorIHNldChPUEVOQ1ZfUENfTElCUworICAgIi1MXCR7ZXhlY19wcmVmaXh9LyR7T1BFTkNWX0xJQl9JTlNUQUxMX1BBVEh9IgorKyAgIi1MXCR7ZXhlY19wcmVmaXh9LyR7T1BFTkNWXzNQX0xJQl9JTlNUQUxMX1BBVEh9IgorICAgIiR7X21vZHVsZXN9IgorICkKKyBpZiAoQlVJTERfU0hBUkVEX0xJQlMpCistICBzZXQoT1BFTkNWX1BDX0xJQlNfUFJJVkFURSAiJHtfZXh0cmF9IikKKysgIHNldChPUEVOQ1ZfUENfTElCU19QUklWQVRFCisrICAgICItTFwke2V4ZWNfcHJlZml4fS8ke09QRU5DVl9MSUJfSU5TVEFMTF9QQVRIfSIKKysgICAgIiR7X2V4dHJhfSIKKysgICkKKyBlbHNlKCkKKyAgIHNldChPUEVOQ1ZfUENfTElCU19QUklWQVRFCisgICAgICItTFwke2V4ZWNfcHJlZml4fS8ke09QRU5DVl8zUF9MSUJfSU5TVEFMTF9QQVRIfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN2L29wZW5jdl8yLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3ZfMi40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViMzhhNWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3ZfMi40LmJiCkBAIC0wLDAgKzEsMTA4IEBACitTVU1NQVJZID0gIk9wZW5jdiA6IFRoZSBPcGVuIENvbXB1dGVyIFZpc2lvbiBMaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL29wZW5jdi5vcmcvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2luY2x1ZGUvb3BlbmN2Mi9vcGVuY3YuaHBwO2VuZGxpbmU9NDE7bWQ1PTZkNjkwZDg0ODhhNmZjYTdhMmMxOTI5MzI0NjZiYjE0IgorCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgorCitERVBFTkRTID0gInB5dGhvbi1udW1weSBsaWJ0b29sIHN3aWcgc3dpZy1uYXRpdmUgcHl0aG9uIGJ6aXAyIHpsaWIgZ2xpYi0yLjAiCisKK1NSQ1JFViA9ICIyYzk1NDdlMzE0Nzc3OTAwMTgxMWQwMTkzNmFlZDM4ZjU2MDkyOWZjIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL0l0c2Vlei9vcGVuY3YuZ2l0O2JyYW5jaD0yLjQgXAorICBmaWxlOi8vMDAwMS1Vc2UtX192ZWN0b3ItaW5zdGVhZC1vZi12ZWN0b3ItYXMtc3VnZ2VzdHMtRWlnZW4ucGF0Y2giCisKK1BWID0gIjIuNC4xMStnaXQke1NSQ1BWfSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworIyBEbyBhbiBvdXQtb2YtdHJlZSBidWlsZAorT0VDTUFLRV9TT1VSQ0VQQVRIID0gIiR7U30iCitPRUNNQUtFX0JVSUxEUEFUSCA9ICIke1dPUktESVJ9L2J1aWxkLSR7VEFSR0VUX0FSQ0h9IgorCitFWFRSQV9PRUNNQUtFID0gIi1EUFlUSE9OX05VTVBZX0lOQ0xVREVfRElSOlBBVEg9JHtTVEFHSU5HX0xJQkRJUn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL251bXB5L2NvcmUvaW5jbHVkZSBcCisgICAgICAgICAgICAgICAgIC1EQlVJTERfUFlUSE9OX1NVUFBPUlQ9T04gXAorICAgICAgICAgICAgICAgICAtRFdJVEhfR1NUUkVBTUVSPU9GRiBcCisgICAgICAgICAgICAgICAgIC1EV0lUSF8xMzk0PU9GRiBcCisgICAgICAgICAgICAgICAgIC1EQ01BS0VfU0tJUF9SUEFUSD1PTiBcCisgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUQVJHRVRfQ0NfQVJDSCIsICItbXNzZTMiLCAiLURFTkFCTEVfU1NFPTEgLURFTkFCTEVfU1NFMj0xIC1ERU5BQkxFX1NTRTM9MSAtREVOQUJMRV9TU1NFMz0xIiwgIiIsIGQpfSBcCisgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUQVJHRVRfQ0NfQVJDSCIsICItbXNzZTQuMSIsICItREVOQUJMRV9TU0U9MSAtREVOQUJMRV9TU0UyPTEgLURFTkFCTEVfU1NFMz0xIC1ERU5BQkxFX1NTU0UzPTEgLURFTkFCTEVfU1NFNDE9MSIsICIiLCBkKX0gXAorICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygiVEFSR0VUX0NDX0FSQ0giLCAiLW1zc2U0LjIiLCAiLURFTkFCTEVfU1NFPTEgLURFTkFCTEVfU1NFMj0xIC1ERU5BQkxFX1NTRTM9MSAtREVOQUJMRV9TU1NFMz0xIC1ERU5BQkxFX1NTRTQxPTEgLURFTkFCTEVfU1NFNDI9MSIsICIiLCBkKX0gXAorICAgICAgICAgICAgICAgICAke0BiYXNlX2NvbmRpdGlvbmFsKCJsaWJkaXIiLCAiL3Vzci9saWI2NCIsICItRExJQl9TVUZGSVg9NjQiLCAiIiwgZCl9IFwKKyAgICAgICAgICAgICAgICAgJHtAYmFzZV9jb25kaXRpb25hbCgibGliZGlyIiwgIi91c3IvbGliMzIiLCAiLURMSUJfU1VGRklYPTMyIiwgIiIsIGQpfSBcCisiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJlaWdlbiBqcGVnIHBuZyB0aWZmIHY0bCBsaWJ2NGwgXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAieDExIiwgImd0ayIsICIiLCBkKX0gXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJMSUNFTlNFX0ZMQUdTX1dISVRFTElTVCIsICJjb21tZXJjaWFsIiwgImxpYmF2IiwgIiIsIGQpfSIKKworUEFDS0FHRUNPTkZJR1tlaWdlbl0gPSAiLURXSVRIX0VJR0VOPU9OLC1EV0lUSF9FSUdFTj1PRkYsbGliZWlnZW4sIgorUEFDS0FHRUNPTkZJR1tndGtdID0gIi1EV0lUSF9HVEs9T04sLURXSVRIX0dUSz1PRkYsZ3RrKywiCitQQUNLQUdFQ09ORklHW2phc3Blcl0gPSAiLURXSVRIX0pBU1BFUj1PTiwtRFdJVEhfSkFTUEVSPU9GRixqYXNwZXIsIgorUEFDS0FHRUNPTkZJR1tqcGVnXSA9ICItRFdJVEhfSlBFRz1PTiwtRFdJVEhfSlBFRz1PRkYsanBlZywiCitQQUNLQUdFQ09ORklHW2xpYmF2XSA9ICItRFdJVEhfRkZNUEVHPU9OLC1EV0lUSF9GRk1QRUc9T0ZGLGxpYmF2LCIKK1BBQ0tBR0VDT05GSUdbbGlidjRsXSA9ICItRFdJVEhfTElCVjRMPU9OLC1EV0lUSF9MSUJWNEw9T0ZGLHY0bC11dGlscywiCitQQUNLQUdFQ09ORklHW3BuZ10gPSAiLURXSVRIX1BORz1PTiwtRFdJVEhfUE5HPU9GRixsaWJwbmcsIgorUEFDS0FHRUNPTkZJR1t0aWZmXSA9ICItRFdJVEhfVElGRj1PTiwtRFdJVEhfVElGRj1PRkYsdGlmZiwiCitQQUNLQUdFQ09ORklHW3Y0bF0gPSAiLURXSVRIX1Y0TD1PTiwtRFdJVEhfVjRMPU9GRix2NGwtdXRpbHMsIgorCitpbmhlcml0IGRpc3R1dGlscy1iYXNlIHBrZ2NvbmZpZyBjbWFrZQorCitleHBvcnQgQlVJTERfU1lTCitleHBvcnQgSE9TVF9TWVMKK2V4cG9ydCBQWVRIT05fQ1NQRUM9Ii1JJHtTVEFHSU5HX0lOQ0RJUn0vJHtQWVRIT05fRElSfSIKK2V4cG9ydCBQWVRIT049IiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9weXRob24iCisKK1RBUkdFVF9DQ19BUkNIICs9ICItSSR7U30vaW5jbHVkZSAiCisKK1BBQ0tBR0VTICs9ICIke1BOfS1hcHBzIHB5dGhvbi1vcGVuY3YiCisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpIHsKKyAgICBjdl9saWJkaXIgPSBkLmV4cGFuZCgnJHtsaWJkaXJ9JykKKyAgICBjdl9saWJkaXJfZGJnID0gZC5leHBhbmQoJyR7bGliZGlyfS8uZGVidWcnKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGN2X2xpYmRpciwgJ15saWIoLiopXC5zbyQnLCAnbGliJXMtZGV2JywgJ09wZW5DViAlcyBkZXZlbG9wbWVudCBwYWNrYWdlJywgZXh0cmFfZGVwZW5kcz0nJHtQTn0tZGV2JywgYWxsb3dfbGlua3M9VHJ1ZSkKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBjdl9saWJkaXIsICdebGliKC4qKVwubGEkJywgJ2xpYiVzLWRldicsICdPcGVuQ1YgJXMgZGV2ZWxvcG1lbnQgcGFja2FnZScsIGV4dHJhX2RlcGVuZHM9JyR7UE59LWRldicpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgY3ZfbGliZGlyLCAnXmxpYiguKilcLmEkJywgJ2xpYiVzLWRldicsICdPcGVuQ1YgJXMgZGV2ZWxvcG1lbnQgcGFja2FnZScsIGV4dHJhX2RlcGVuZHM9JyR7UE59LWRldicpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgY3ZfbGliZGlyLCAnXmxpYiguKilcLnNvXC4qJywgJ2xpYiVzJywgJ09wZW5DViAlcyBsaWJyYXJ5JywgZXh0cmFfZGVwZW5kcz0nJywgYWxsb3dfbGlua3M9VHJ1ZSkKKworICAgIHBuID0gZC5nZXRWYXIoJ1BOJywgMSkKKyAgICBtZXRhcGtnID0gIHBuICsgJy1kZXYnCisgICAgZC5zZXRWYXIoJ0FMTE9XX0VNUFRZXycgKyBtZXRhcGtnLCAiMSIpCisgICAgYmxhY2tsaXN0ID0gWyBtZXRhcGtnIF0KKyAgICBtZXRhcGtnX3JkZXBlbmRzID0gWyBdIAorICAgIHBhY2thZ2VzID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJywgMSkuc3BsaXQoKQorICAgIGZvciBwa2cgaW4gcGFja2FnZXNbMTpdOgorICAgICAgICBpZiBub3QgcGtnIGluIGJsYWNrbGlzdCBhbmQgbm90IHBrZyBpbiBtZXRhcGtnX3JkZXBlbmRzIGFuZCBwa2cuZW5kc3dpdGgoJy1kZXYnKToKKyAgICAgICAgICAgIG1ldGFwa2dfcmRlcGVuZHMuYXBwZW5kKHBrZykKKyAgICBkLnNldFZhcignUlJFQ09NTUVORFNfJyArIG1ldGFwa2csICcgJy5qb2luKG1ldGFwa2dfcmRlcGVuZHMpKQorfQorCitQQUNLQUdFU19EWU5BTUlDICs9ICJebGlib3BlbmN2LS4qIgorCitGSUxFU18ke1BOfSA9ICIiCitGSUxFU18ke1BOfS1hcHBzID0gIiR7YmluZGlyfS8qICR7ZGF0YWRpcn0vT3BlbkNWIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vLmRlYnVnIgorRklMRVNfJHtQTn0tZGV2ID0gIiR7aW5jbHVkZWRpcn0gJHtsaWJkaXJ9L3BrZ2NvbmZpZyIKK0ZJTEVTXyR7UE59LWRvYyA9ICIke2RhdGFkaXJ9L09wZW5DVi9kb2MiCisKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCisKK1NVTU1BUllfcHl0aG9uLW9wZW5jdiA9ICJQeXRob24gYmluZGluZ3MgdG8gb3BlbmN2IgorRklMRVNfcHl0aG9uLW9wZW5jdiA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qIgorUkRFUEVORFNfcHl0aG9uLW9wZW5jdiA9ICJweXRob24tY29yZSBweXRob24tbnVtcHkiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGNwICR7U30vaW5jbHVkZS9vcGVuY3YvKi5oICR7RH0ke2luY2x1ZGVkaXJ9L29wZW5jdi8KKyAgICBzZWQgLWkgJy9ibG9idHJhY2svZCcgJHtEfSR7aW5jbHVkZWRpcn0vb3BlbmN2L2N2YXV4LmgKKworICAgICMgTW92ZSBQeXRob24gZmlsZXMgaW50byBjb3JyZWN0IGxpYnJhcnkgZm9sZGVyIChmb3IgbXVsdGlsaWIgYnVpbGQpCisgICAgaWYgWyAiJGxpYmRpciIgIT0gIi91c3IvbGliIiBdOyB0aGVuCisgICAgICAgIG12ICR7RH0vdXNyL2xpYi8qICR7RH0vJHtsaWJkaXJ9LworICAgICAgICBybSAtcmYgJHtEfS91c3IvbGliCisgICAgZmkKK30KKworIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvNDA2NjAvCitQTkJMQUNLTElTVFtvcGVuY3ZdID89ICJOb3QgY29tcGF0aWJsZSB3aXRoIGN1cnJlbnRseSB1c2VkIGZmbXBlZyAzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2XzMuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN2L29wZW5jdl8zLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzg5NTEyZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN2L29wZW5jdl8zLjEuYmIKQEAgLTAsMCArMSwxNDkgQEAKK1NVTU1BUlkgPSAiT3BlbmN2IDogVGhlIE9wZW4gQ29tcHV0ZXIgVmlzaW9uIExpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8vb3BlbmN2Lm9yZy8iCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MGVhOTBkMjhiNGRlODgzZDdhZjVlNjcxMWYxNGY3YmYiCisKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgorQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCisKK0RFRkFVTFRfUFJFRkVSRU5DRSA9ICItMSIKKworREVQRU5EUyA9ICJweXRob24tbnVtcHkgbGlidG9vbCBzd2lnIHN3aWctbmF0aXZlIHB5dGhvbiBiemlwMiB6bGliIGdsaWItMi4wIGxpYndlYnAgbGliZ3Bob3RvMiBwcm90b2J1ZiBwcm90b2J1Zi1uYXRpdmUiCisKK1NSQ1JFVl9vcGVuY3YgPSAiOTIzODdiMWVmOGZhZDE1MTk2ZGQ1ZjdmYjQ5MzE0NDRhNjhiYzkzYSIKK1NSQ1JFVl9jb250cmliID0gIjU0MDlkNWFkNTYwNTIzYzg1YzY3OTZjYzVhMDA5MzQ3MDcyZDg4M2MiCitTUkNSRVZfcGFydHkzID0gIjgxYTY3NjAwMWNhODA3NWFkYTQ5ODU4M2U0MTY2MDc5ZTU3NDQ2NjgiCitJUFBfTUQ1ID0gIjgwOGI3OTFhNmVhYzllZDc4ZDMyYTc2NjY4MDQzMjBlIgorCitTUkNSRVZfRk9STUFUID0gIm9wZW5jdiIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9JdHNlZXovb3BlbmN2LmdpdDtuYW1lPW9wZW5jdiBcCisgICAgICAgICAgICBnaXQ6Ly9naXRodWIuY29tL0l0c2Vlei9vcGVuY3ZfY29udHJpYi5naXQ7ZGVzdHN1ZmZpeD1jb250cmliO25hbWU9Y29udHJpYiBcCisgICAgICAgICAgICBnaXQ6Ly9naXRodWIuY29tL0l0c2Vlei9vcGVuY3ZfM3JkcGFydHkuZ2l0O2JyYW5jaD1pcHBpY3YvbWFzdGVyXzIwMTUxMjAxO2Rlc3RzdWZmaXg9cGFydHkzO25hbWU9cGFydHkzIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAxLTNyZHBhcnR5LWlwcGljdi1Vc2UtcHJlLWRvd25sb2FkZWQtaXBwLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9maXhwa2djb25maWcucGF0Y2giCisKK1BWID0gIjMuMStnaXQke1NSQ1BWfSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworZG9fdW5wYWNrX2V4dHJhKCkgeworICAgIHRhciB4emYgJHtXT1JLRElSfS9wYXJ0eTMvaXBwaWN2L2lwcGljdl9saW51eF8yMDE1MTIwMS50Z3ogLUMgJHtXT1JLRElSfQorfQorYWRkdGFzayB1bnBhY2tfZXh0cmEgYWZ0ZXIgZG9fdW5wYWNrIGJlZm9yZSBkb19wYXRjaAorCitFWFRSQV9PRUNNQUtFID0gIi1EUFlUSE9OMl9OVU1QWV9JTkNMVURFX0RJUlM6UEFUSD0ke1NUQUdJTkdfTElCRElSfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvbnVtcHkvY29yZS9pbmNsdWRlIFwKKwkJIC1ET1BFTkNWX0VYVFJBX01PRFVMRVNfUEFUSD0ke1dPUktESVJ9L2NvbnRyaWIvbW9kdWxlcyBcCisgICAgICAgICAgICAgICAgIC1EV0lUSF8xMzk0PU9GRiBcCisgICAgICAgICAgICAgICAgIC1EQ01BS0VfU0tJUF9SUEFUSD1PTiBcCisgICAgICAgICAgICAgICAgIC1ET1BFTkNWX0lDVl9QQUNLQUdFX0RPV05MT0FERUQ9JHtJUFBfTUQ1fSBcCisgICAgICAgICAgICAgICAgIC1ET1BFTkNWX0lDVl9QQVRIPSR7V09SS0RJUn0vaXBwaWN2X2xueCBcCisgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUQVJHRVRfQ0NfQVJDSCIsICItbXNzZTMiLCAiLURFTkFCTEVfU1NFPTEgLURFTkFCTEVfU1NFMj0xIC1ERU5BQkxFX1NTRTM9MSAtREVOQUJMRV9TU1NFMz0xIiwgIiIsIGQpfSBcCisgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUQVJHRVRfQ0NfQVJDSCIsICItbXNzZTQuMSIsICItREVOQUJMRV9TU0U9MSAtREVOQUJMRV9TU0UyPTEgLURFTkFCTEVfU1NFMz0xIC1ERU5BQkxFX1NTU0UzPTEgLURFTkFCTEVfU1NFNDE9MSIsICIiLCBkKX0gXAorICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygiVEFSR0VUX0NDX0FSQ0giLCAiLW1zc2U0LjIiLCAiLURFTkFCTEVfU1NFPTEgLURFTkFCTEVfU1NFMj0xIC1ERU5BQkxFX1NTRTM9MSAtREVOQUJMRV9TU1NFMz0xIC1ERU5BQkxFX1NTRTQxPTEgLURFTkFCTEVfU1NFNDI9MSIsICIiLCBkKX0gXAorICAgICAgICAgICAgICAgICAke0BiYXNlX2NvbmRpdGlvbmFsKCJsaWJkaXIiLCAiL3Vzci9saWI2NCIsICItRExJQl9TVUZGSVg9NjQiLCAiIiwgZCl9IFwKKyAgICAgICAgICAgICAgICAgJHtAYmFzZV9jb25kaXRpb25hbCgibGliZGlyIiwgIi91c3IvbGliMzIiLCAiLURMSUJfU1VGRklYPTMyIiwgIiIsIGQpfSBcCisiCitFWFRSQV9PRUNNQUtFX2FwcGVuZF94ODYgPSAiIC1EWDg2PU9OIgorCitQQUNLQUdFQ09ORklHID8/PSAiZWlnZW4ganBlZyBwbmcgdGlmZiB2NGwgbGlidjRsIGdzdHJlYW1lciBzYW1wbGVzIHRiYiBcCisgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJ4MTEiLCAiZ3RrIiwgIiIsIGQpfSBcCisJCSAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJMSUNFTlNFX0ZMQUdTX1dISVRFTElTVCIsICJjb21tZXJjaWFsIiwgImxpYmF2IiwgIiIsIGQpfSIKKworUEFDS0FHRUNPTkZJR1thbWRibGFzXSA9ICItRFdJVEhfT1BFTkNMQU1EQkxBUz1PTiwtRFdJVEhfT1BFTkNMQU1EQkxBUz1PRkYsbGliY2xhbWRibGFzLCIKK1BBQ0tBR0VDT05GSUdbYW1kZmZ0XSA9ICItRFdJVEhfT1BFTkNMQU1ERkZUPU9OLC1EV0lUSF9PUEVOQ0xBTURGRlQ9T0ZGLGxpYmNsYW1kZmZ0LCIKK1BBQ0tBR0VDT05GSUdbZWlnZW5dID0gIi1EV0lUSF9FSUdFTj1PTiwtRFdJVEhfRUlHRU49T0ZGLGxpYmVpZ2VuLCIKK1BBQ0tBR0VDT05GSUdbZ3N0cmVhbWVyXSA9ICItRFdJVEhfR1NUUkVBTUVSPU9OLC1EV0lUSF9HU1RSRUFNRVI9T0ZGLGdzdHJlYW1lcjEuMCBnc3RyZWFtZXIxLjAtcGx1Z2lucy1iYXNlLCIKK1BBQ0tBR0VDT05GSUdbZ3RrXSA9ICItRFdJVEhfR1RLPU9OLC1EV0lUSF9HVEs9T0ZGLGd0ayszLCIKK1BBQ0tBR0VDT05GSUdbamFzcGVyXSA9ICItRFdJVEhfSkFTUEVSPU9OLC1EV0lUSF9KQVNQRVI9T0ZGLGphc3BlciwiCitQQUNLQUdFQ09ORklHW2pwZWddID0gIi1EV0lUSF9KUEVHPU9OLC1EV0lUSF9KUEVHPU9GRixqcGVnLCIKK1BBQ0tBR0VDT05GSUdbbGliYXZdID0gIi1EV0lUSF9GRk1QRUc9T04sLURXSVRIX0ZGTVBFRz1PRkYsbGliYXYsIgorUEFDS0FHRUNPTkZJR1tsaWJ2NGxdID0gIi1EV0lUSF9MSUJWNEw9T04sLURXSVRIX0xJQlY0TD1PRkYsdjRsLXV0aWxzLCIKK1BBQ0tBR0VDT05GSUdbb3BlbmNsXSA9ICItRFdJVEhfT1BFTkNMPU9OLC1EV0lUSF9PUEVOQ0w9T0ZGLG9wZW5jbC1oZWFkZXJzLCIKK1BBQ0tBR0VDT05GSUdbb3JhY2xlLWphdmFdID0gIi1ESkFWQV9JTkNMVURFX1BBVEg9JHtKQVZBX0hPTUV9L2luY2x1ZGUgLURKQVZBX0lOQ0xVREVfUEFUSDI9JHtKQVZBX0hPTUV9L2luY2x1ZGUvbGludXggLURKQVZBX0FXVF9JTkNMVURFX1BBVEg9JHtKQVZBX0hPTUV9L2luY2x1ZGUgLURKQVZBX0FXVF9MSUJSQVJZPSR7SkFWQV9IT01FfS9saWIvYW1kNjQvbGliamF3dC5zbyAtREpBVkFfSlZNX0xJQlJBUlk9JHtKQVZBX0hPTUV9L2xpYi9hbWQ2NC9zZXJ2ZXIvbGlianZtLnNvLCxhbnQtbmF0aXZlIG9yYWNsZS1qc2UtamRrIG9yYWNsZS1qc2UtamRrLW5hdGl2ZSwiCitQQUNLQUdFQ09ORklHW3BuZ10gPSAiLURXSVRIX1BORz1PTiwtRFdJVEhfUE5HPU9GRixsaWJwbmcsIgorUEFDS0FHRUNPTkZJR1tzYW1wbGVzXSA9ICItREJVSUxEX0VYQU1QTEVTPU9OIC1ESU5TVEFMTF9QWVRIT05fRVhBTVBMRVM9T04sLURCVUlMRF9FWEFNUExFUz1PRkYsLCIKK1BBQ0tBR0VDT05GSUdbdGJiXSA9ICItRFdJVEhfVEJCPU9OLC1EV0lUSF9UQkI9T0ZGLHRiYiwiCitQQUNLQUdFQ09ORklHW3RpZmZdID0gIi1EV0lUSF9USUZGPU9OLC1EV0lUSF9USUZGPU9GRix0aWZmLCIKK1BBQ0tBR0VDT05GSUdbdjRsXSA9ICItRFdJVEhfVjRMPU9OLC1EV0lUSF9WNEw9T0ZGLHY0bC11dGlscywiCisKK2luaGVyaXQgZGlzdHV0aWxzLWJhc2UgcGtnY29uZmlnIGNtYWtlCisKK2V4cG9ydCBCVUlMRF9TWVMKK2V4cG9ydCBIT1NUX1NZUworZXhwb3J0IFBZVEhPTl9DU1BFQz0iLUkke1NUQUdJTkdfSU5DRElSfS8ke1BZVEhPTl9ESVJ9IgorZXhwb3J0IFBZVEhPTj0iJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3B5dGhvbiIKK2V4cG9ydCBKQVZBX0hPTUU9IiR7U1RBR0lOR19ESVJfTkFUSVZFfS91c3IvYmluL2phdmEiCitleHBvcnQgQU5UX0RJUj0iJHtTVEFHSU5HX0RJUl9OQVRJVkV9L3Vzci9zaGFyZS9hbnQvIgorCitUQVJHRVRfQ0NfQVJDSCArPSAiLUkke1N9L2luY2x1ZGUgIgorCitQQUNLQUdFUyArPSAiJHtQTn0tc2FtcGxlcy1kYmcgJHtQTn0tc2FtcGxlcyAke1BOfS1hcHBzIHB5dGhvbi1vcGVuY3YgXAorICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ29yYWNsZS1qYXZhJywgJyR7UE59LWphdmEtZGJnICR7UE59LWphdmEnLCAnJywgZCl9IgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgY3ZfbGliZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfScpCisgICAgY3ZfbGliZGlyX2RiZyA9IGQuZXhwYW5kKCcke2xpYmRpcn0vLmRlYnVnJykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBjdl9saWJkaXIsICdebGliKC4qKVwuc28kJywgJ2xpYiVzLWRldicsICdPcGVuQ1YgJXMgZGV2ZWxvcG1lbnQgcGFja2FnZScsIGV4dHJhX2RlcGVuZHM9JyR7UE59LWRldicsIGFsbG93X2xpbmtzPVRydWUpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgY3ZfbGliZGlyLCAnXmxpYiguKilcLmxhJCcsICdsaWIlcy1kZXYnLCAnT3BlbkNWICVzIGRldmVsb3BtZW50IHBhY2thZ2UnLCBleHRyYV9kZXBlbmRzPScke1BOfS1kZXYnKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGN2X2xpYmRpciwgJ15saWIoLiopXC5hJCcsICdsaWIlcy1kZXYnLCAnT3BlbkNWICVzIGRldmVsb3BtZW50IHBhY2thZ2UnLCBleHRyYV9kZXBlbmRzPScke1BOfS1kZXYnKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGN2X2xpYmRpciwgJ15saWIoLiopXC5zb1wuKicsICdsaWIlcycsICdPcGVuQ1YgJXMgbGlicmFyeScsIGV4dHJhX2RlcGVuZHM9JycsIGFsbG93X2xpbmtzPVRydWUpCisKKyAgICBwbiA9IGQuZ2V0VmFyKCdQTicsIDEpCisgICAgbWV0YXBrZyA9ICBwbiArICctZGV2JworICAgIGQuc2V0VmFyKCdBTExPV19FTVBUWV8nICsgbWV0YXBrZywgIjEiKQorICAgIGJsYWNrbGlzdCA9IFsgbWV0YXBrZyBdCisgICAgbWV0YXBrZ19yZGVwZW5kcyA9IFsgXQorICAgIHBhY2thZ2VzID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJywgMSkuc3BsaXQoKQorICAgIGZvciBwa2cgaW4gcGFja2FnZXNbMTpdOgorICAgICAgICBpZiBub3QgcGtnIGluIGJsYWNrbGlzdCBhbmQgbm90IHBrZyBpbiBtZXRhcGtnX3JkZXBlbmRzIGFuZCBwa2cuZW5kc3dpdGgoJy1kZXYnKToKKyAgICAgICAgICAgIG1ldGFwa2dfcmRlcGVuZHMuYXBwZW5kKHBrZykKKyAgICBkLnNldFZhcignUlJFQ09NTUVORFNfJyArIG1ldGFwa2csICcgJy5qb2luKG1ldGFwa2dfcmRlcGVuZHMpKQorCisgICAgbWV0YXBrZyA9ICBwbgorICAgIGJsYWNrbGlzdCA9IFsgbWV0YXBrZyBdCisgICAgbWV0YXBrZ19yZGVwZW5kcyA9IFsgXQorICAgIGZvciBwa2cgaW4gcGFja2FnZXNbMTpdOgorICAgICAgICBpZiBub3QgcGtnIGluIGJsYWNrbGlzdCBhbmQgbm90IHBrZyBpbiBtZXRhcGtnX3JkZXBlbmRzIGFuZCBub3QgcGtnLmVuZHN3aXRoKCctZGV2JykgYW5kIG5vdCBwa2cuZW5kc3dpdGgoJy1kYmcnKSBhbmQgbm90IHBrZy5lbmRzd2l0aCgnLWRvYycpIGFuZCBub3QgcGtnLmVuZHN3aXRoKCctbG9jYWxlJyk6CisgICAgICAgICAgICBtZXRhcGtnX3JkZXBlbmRzLmFwcGVuZChwa2cpCisgICAgYmIuZGF0YS5zZXRWYXIoJ1JERVBFTkRTXycgKyBtZXRhcGtnLCAnICcuam9pbihtZXRhcGtnX3JkZXBlbmRzKSwgZCkKKworfQorCitQQUNLQUdFU19EWU5BTUlDICs9ICJebGlib3BlbmN2LS4qIgorCitGSUxFU18ke1BOfSA9ICIiCitGSUxFU18ke1BOfS1hcHBzID0gIiR7YmluZGlyfS8qICR7ZGF0YWRpcn0vT3BlbkNWIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vLmRlYnVnIgorRklMRVNfJHtQTn0tZGV2ID0gIiR7aW5jbHVkZWRpcn0gJHtsaWJkaXJ9L3BrZ2NvbmZpZyIKK0ZJTEVTXyR7UE59LWRvYyA9ICIke2RhdGFkaXJ9L09wZW5DVi9kb2MiCitGSUxFU18ke1BOfS1qYXZhID0gIiR7ZGF0YWRpcn0vT3BlbkNWL2phdmEiCitGSUxFU18ke1BOfS1qYXZhLWRiZyA9ICIke2RhdGFkaXJ9L09wZW5DVi9qYXZhLy5kZWJ1Zy8iCitGSUxFU18ke1BOfS1zYW1wbGVzID0gIiR7ZGF0YWRpcn0vT3BlbkNWL3NhbXBsZXMvIgorRklMRVNfJHtQTn0tc2FtcGxlcy1kYmcgPSAiJHtkYXRhZGlyfS9PcGVuQ1Yvc2FtcGxlcy9iaW4vLmRlYnVnIgorCitJTlNBTkVfU0tJUF8ke1BOfS1hcHBzID0gInN0YXRpY2RldiIKK0lOU0FORV9TS0lQXyR7UE59LWphdmEgPSAibGliZGlyIgorSU5TQU5FX1NLSVBfJHtQTn0tamF2YS1kYmcgPSAibGliZGlyIgorCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorCitTVU1NQVJZX3B5dGhvbi1vcGVuY3YgPSAiUHl0aG9uIGJpbmRpbmdzIHRvIG9wZW5jdiIKK0ZJTEVTX3B5dGhvbi1vcGVuY3YgPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKiIKK1JERVBFTkRTX3B5dGhvbi1vcGVuY3YgPSAicHl0aG9uLWNvcmUgcHl0aG9uLW51bXB5IgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBjcCAke1N9L2luY2x1ZGUvb3BlbmN2LyouaCAke0R9JHtpbmNsdWRlZGlyfS9vcGVuY3YvCisgICAgc2VkIC1pICcvYmxvYnRyYWNrL2QnICR7RH0ke2luY2x1ZGVkaXJ9L29wZW5jdi9jdmF1eC5oCisKKyAgICAjIE1vdmUgUHl0aG9uIGZpbGVzIGludG8gY29ycmVjdCBsaWJyYXJ5IGZvbGRlciAoZm9yIG11bHRpbGliIGJ1aWxkKQorICAgIGlmIFsgIiRsaWJkaXIiICE9ICIvdXNyL2xpYiIgXTsgdGhlbgorICAgICAgICBtdiAke0R9L3Vzci9saWIvKiAke0R9LyR7bGliZGlyfS8KKyAgICAgICAgcm0gLXJmICR7RH0vdXNyL2xpYgorICAgIGZpCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L09wZW5DVi9zYW1wbGVzL2Jpbi8KKyAgICBjcCAtZiBiaW4vKi10dXRvcmlhbC0qIGJpbi8qLWV4YW1wbGUtKiAke0R9JHtkYXRhZGlyfS9PcGVuQ1Yvc2FtcGxlcy9iaW4vCit9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXAvaW5pdHNjcmlwdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXAvaW5pdHNjcmlwdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOGQxMDY3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC9pbml0c2NyaXB0CkBAIC0wLDAgKzEsMzUgQEAKKyMhIC9iaW4vc2gKKyMKKyMgVGhpcyBpcyBhbiBpbml0IHNjcmlwdCBmb3Igb3BlbmVtYmVkZGVkCisjIENvcHkgaXQgdG8gL2V0Yy9pbml0LmQvb3BlbmxkYXAgYW5kIHR5cGUKKyMgPiB1cGRhdGUtcmMuZCBvcGVubGRhcCBkZWZhdWx0cyA2MAorIworCisjIFNvdXJjZSBmdW5jdGlvbiBsaWJyYXJ5LgorLiAvZXRjL2luaXQuZC9mdW5jdGlvbnMKKworc2xhcGQ9L3Vzci9zYmluL3NsYXBkCit0ZXN0IC14ICIkc2xhcGQiIHx8IGV4aXQgMAorCisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKyAgICBlY2hvIC1uICJTdGFydGluZyBPcGVuTERBUDogIgorICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLS1xdWlldCAtLWV4ZWMgJHNsYXBkCisgICAgZWNobyAiLiIKKyAgICA7OworICBzdG9wKQorICAgIGVjaG8gLW4gIlN0b3BwaW5nIE9wZW5MREFQOiAiCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tcXVpZXQgLS1waWRmaWxlIC92YXIvcnVuL3NsYXBkLnBpZAorICAgIGVjaG8gIi4iCisgICAgOzsKKyAgc3RhdHVzKQorICAgIHN0YXR1cyAkc2xhcGQ7CisgICAgZXhpdCAkPworICAgIDs7CisgICopCisgICAgZWNobyAiVXNhZ2U6IC9ldGMvaW5pdC5kL29wZW5sZGFwIHtzdGFydHxzdG9wfHN0YXR1c30iCisgICAgZXhpdCAxCitlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC9pbnN0YWxsLXN0cmlwLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC9pbnN0YWxsLXN0cmlwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5OTJiNzAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwL2luc3RhbGwtc3RyaXAucGF0Y2gKQEAgLTAsMCArMSwxNCBAQAorIyBUaGlzIHBhdGNoIGVuc3VyZXMgdGhhdCB0aGUgaW5zdGFsbCBvcGVyYXRpb25zIHdoaWNoIHN0cmlwCisjIHByb2dyYW1zIGFuZCBsaWJyYXJpZXMgKExUSU5TVEFMTCkgd29yayBpbiBhIGNyb3NzIGJ1aWxkCisjIGVudmlyb25tZW50LgorLS0tIG9wZW5sZGFwLTIuMi4yNC8ucGMvaW5zdGFsbC1zdHJpcC5wYXRjaC9idWlsZC90b3AubWsJMjAwNS0wMS0yMCAwOTowMDo1NS4wMDAwMDAwMDAgLTA4MDAKKysrKyBvcGVubGRhcC0yLjIuMjQvYnVpbGQvdG9wLm1rCTIwMDUtMDQtMTYgMTM6NDg6MjAuNTM2NzEwMzc2IC0wNzAwCitAQCAtMTE2LDcgKzExNiw3IEBACisgTFRMSU5LX01PRCA9ICQoTElCVE9PTCkgJChMVE9OTFlfTU9EKSAtLW1vZGU9bGluayBcCisgCSQoQ0MpICQoTFRfQ0ZMQUdTKSAkKExERkxBR1MpICQoTFRGTEFHU19NT0QpCisgCistTFRJTlNUQUxMID0gJChMSUJUT09MKSAtLW1vZGU9aW5zdGFsbCAkKElOU1RBTEwpIAorK0xUSU5TVEFMTCA9IFNUUklQUFJPRz0iIiAkKExJQlRPT0wpIC0tbW9kZT1pbnN0YWxsICQodG9wX3NyY2RpcikvY29udHJpYi9sZGFwYysrL2luc3RhbGwtc2ggLWMKKyBMVEZJTklTSCA9ICQoTElCVE9PTCkgLS1tb2RlPWZpbmlzaAorIAorICMgTWlzYyBVTklYIGNvbW1hbmRzIHVzZWQgaW4gYnVpbGQgZW52aXJvbm1lbnQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXAva2lsbC1pY3UucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwL2tpbGwtaWN1LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjZjU0MTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwL2tpbGwtaWN1LnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK0Zyb206IE1hcmNpbiBKdXN6a2lld2ljeiA8bWFyY2luLmp1c3praWV3aWN6QGxpbmFyby5vcmc+CisKK3NsYXBkIGRlcGVuZHMgb24gSUNVIGlmIGl0IHdhcyBidWlsdCBmaXJzdC4KKworVXBzdHJlYW0tc3RhdHVzOiBpbmFwcHJvcGlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorLS0tCisgY29uZmlndXJlLmluIHwgICAgOCAtLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA4IGRlbGV0aW9ucygtKQorCistLS0gb3BlbmxkYXAtMi40LjIzLm9yaWcvY29uZmlndXJlLmluCisrKysgb3BlbmxkYXAtMi40LjIzL2NvbmZpZ3VyZS5pbgorQEAgLTIwNDUsMTggKzIwNDUsMTAgQEAgaWYgdGVzdCAkb2xfZW5hYmxlX25kYiAhPSBubyA7IHRoZW4KKyAJCVNMQVBEX0xJQlM9IiRTTEFQRF9MSUJTIFwkKFNMQVBEX05EQl9MSUJTKSIKKyAJZmkKKyBmaQorIAorIGRubCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistZG5sIEludGVybmF0aW9uYWwgQ29tcG9uZW50cyBmb3IgVW5pY29kZQorLU9MX0lDVQorLWlmIHRlc3QgIiRvbF9pY3UiID0gbm8gOyB0aGVuCistCUFDX01TR19XQVJOKFtJQ1Ugbm90IGF2YWlsYWJsZV0pCistZWxzZQorLQlJQ1VfTElCUz0iJG9sX2ljdSIKKy1maQorLWRubCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgZG5sCisgZG5sIENoZWNrIGZvciBDeXJ1cyBTQVNMCisgZG5sCisgV0lUSF9TQVNMPW5vCisgb2xfbGlua19zYXNsPW5vCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwL29wZW5sZGFwLTIuNC4yOC1nbnV0bHMtZ2NyeXB0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC9vcGVubGRhcC0yLjQuMjgtZ251dGxzLWdjcnlwdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jN2IxNTUyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC9vcGVubGRhcC0yLjQuMjgtZ251dGxzLWdjcnlwdC5wYXRjaApAQCAtMCwwICsxLDE3IEBACitGcm9tIGh0dHA6Ly9zb3VyY2VzLmdlbnRvby5vcmcvY2dpLWJpbi92aWV3dmMuY2dpL2dlbnRvby14ODYvbmV0LW5kcy9vcGVubGRhcC9maWxlcy8KKworVXBzdHJlYW0tc3RhdHVzOiBVbmtub3duCisKKy0tCisKKy0tLSBvcGVubGRhcC0yLjQuMjgvY29uZmlndXJlLmluLm9yaWcJMjAxMi0wMi0xMSAyMjo0MDozNi4wMDQzNjA3OTUgKzAwMDAKKysrKyBvcGVubGRhcC0yLjQuMjgvY29uZmlndXJlLmluCTIwMTItMDItMTEgMjI6NDA6MTMuNDEwOTg2ODUxICswMDAwCitAQCAtMTIxNCw3ICsxMjE0LDcgQEAKKyAJCQkJb2xfd2l0aF90bHM9Z251dGxzCisgCQkJCW9sX2xpbmtfdGxzPXllcworIAorLQkJCQlUTFNfTElCUz0iLWxnbnV0bHMiCisrCQkJCVRMU19MSUJTPSItbGdudXRscyAtbGdjcnlwdCIKKyAKKyAJCQkJQUNfREVGSU5FKEhBVkVfR05VVExTLCAxLCAKKyAJCQkJCVtkZWZpbmUgaWYgeW91IGhhdmUgR05VdGxzXSkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXAvb3BlbmxkYXAtbTQtcHRocmVhZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXAvb3BlbmxkYXAtbTQtcHRocmVhZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjY5YjcyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC9vcGVubGRhcC1tNC1wdGhyZWFkLnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKKy0tLSBvcGVubGRhcC0yLjMuMTEvYnVpbGQvb3BlbmxkYXAubTQub3JpZwkyMDA1LTExLTExIDAwOjExOjE4LjYwNDMyMjU5MCAtMDgwMAorKysrIG9wZW5sZGFwLTIuMy4xMS9idWlsZC9vcGVubGRhcC5tNAkyMDA1LTExLTExIDAwOjI2OjIxLjYyMTE0NTg1NiAtMDgwMAorQEAgLTc4OCw3ICs3ODgsNyBAQCBBQ19ERUZVTihbT0xfUFRIUkVBRF9URVNUX0ZVTkNUSU9OXSxbWworIF1dKQorIAorIEFDX0RFRlVOKFtPTF9QVEhSRUFEX1RFU1RfUFJPR1JBTV0sCistQUNfTEFOR19TT1VSQ0UoW09MX1BUSFJFQURfVEVTVF9JTkNMVURFUworK1tBQ19MQU5HX1NPVVJDRShbW09MX1BUSFJFQURfVEVTVF9JTkNMVURFUworIAorIGludCBtYWluKGFyZ2MsIGFyZ3YpCisgCWludCBhcmdjOworQEAgLTc5Niw3ICs3OTYsNyBAQCBpbnQgbWFpbihhcmdjLCBhcmd2KQorIHsKKyBPTF9QVEhSRUFEX1RFU1RfRlVOQ1RJT04KKyB9CistXSkpCisrXV0pXSkKKyBkbmwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBBQ19ERUZVTihbT0xfUFRIUkVBRF9UUlldLCBbIyBQdGhyZWFkIHRyeSBsaW5rOiAkMSAoJDIpCisgaWYgdGVzdCAiJG9sX2xpbmtfdGhyZWFkcyIgPSBubyA7IHRoZW4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXAvc2xhcGQuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXAvc2xhcGQuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNWY4M2ZkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC9zbGFwZC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTAgQEAKK1tVbml0XQorRGVzY3JpcHRpb249U3RhbmRhbG9uZSBMREFQIERhZW1vbgorQWZ0ZXI9c3lzbG9nLnRhcmdldCBuZXR3b3JrLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworRXhlY1N0YXJ0PUBTQklORElSQC9zbGFwZAorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwL3RocmVhZF9zdHViLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC90aHJlYWRfc3R1Yi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDBiYTRhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC90aHJlYWRfc3R1Yi5wYXRjaApAQCAtMCwwICsxLDIwIEBACitvcGVubGRhcDogc2V0IHBvaW50ZXIKKworV2hlbiB0aGUgZnVuY3Rpb24gbGRhcF9wdnRfdGhyZWFkX3Bvb2xfZ2V0a2V5KCkgc3VjY2VlZHMsIGl0CittdXN0IHNldCB0aGUgdmFsdWUgb2YgKmRhdGEgc2luY2UgdGhlIGNhbGxlciBtYXkgdHJ5IHRvIHVzZSBpdC4KKworVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEpvZSBTbGF0ZXIgPGpzbGF0ZXJAd2luZHJpdmVyLmNvbT4KKworCistLS0gYS9saWJyYXJpZXMvbGlibGRhcF9yL3Rocl9zdHViLmMKKysrKyBiL2xpYnJhcmllcy9saWJsZGFwX3IvdGhyX3N0dWIuYworQEAgLTIxNyw2ICsyMTcsNyBAQCBsZGFwX3B2dF90aHJlYWRfcG9vbF91bmlkbGUgKCBsZGFwX3B2dF90CisgaW50IGxkYXBfcHZ0X3RocmVhZF9wb29sX2dldGtleSAoCisgCXZvaWQgKmN0eCwgdm9pZCAqa2V5LCB2b2lkICoqZGF0YSwgbGRhcF9wdnRfdGhyZWFkX3Bvb2xfa2V5ZnJlZV90ICoqa2ZyZWUgKQorIHsKKysJaWYgKGRhdGEpICpkYXRhID0gTlVMTDsgIC8qIGF2b2lkIHByb2JsZW1zIHdpdGggdW5pbml0aWFsaXplZCAqZGF0YSAqLworIAlyZXR1cm4oMCk7CisgfQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC91c2UtdXJhbmRvbS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXAvdXNlLXVyYW5kb20ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTdiOTg4ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXAvdXNlLXVyYW5kb20ucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorb3BlbmxkYXA6IGFzc3VtZSAvZGV2L3VyYW5kb20gZXhpc3RzCisKK1doZW4gd2UgYXJlIGNyb3NzLWNvbXBpbGluZywgd2Ugd2FudCB0byBhc3N1bWUKK3RoYXQgL2Rldi91cmFuZG9tIGV4aXN0cy4gIFdlIGNvdWxkIGNoYW5nZSB0aGUgc291cmNlCitjb2RlIHRvIGxvb2sgZm9yIGl0LCBidXQgdGhpcyBpcyB0aGUgZWFzeSB3YXkgb3V0LgorCitVcHN0cmVhbS1TdGF0dXM6IHBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSm9lIFNsYXRlciA8anNsYXRlckB3aW5kcml2ZXIuY29tPgorCisKKy0tLSBhL2NvbmZpZ3VyZS5pbgorKysrIGIvY29uZmlndXJlLmluCitAQCAtMjE0Miw4ICsyMTQyLDggQEAgZmkKKyAKKyBkbmwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGRubCBDaGVjayBmb3IgZW50cm9weSBzb3VyY2VzCisrZGV2PW5vCisgaWYgdGVzdCAkY3Jvc3NfY29tcGlsaW5nICE9IHllcyAmJiB0ZXN0ICIkYWNfY3ZfbWluZ3czMiIgIT0geWVzIDsgdGhlbgorLQlkZXY9bm8KKyAJaWYgdGVzdCAtciAvZGV2L3VyYW5kb20gOyB0aGVuCisgCQlkZXY9Ii9kZXYvdXJhbmRvbSI7CisgCWVsaWYgdGVzdCAtciAvaWRldi91cmFuZG9tIDsgdGhlbgorQEAgLTIxNTYsOSArMjE1NiwxMSBAQCBpZiB0ZXN0ICRjcm9zc19jb21waWxpbmcgIT0geWVzICYmIHRlc3QgCisgCQlkZXY9Ii9pZGV2L3JhbmRvbSI7CisgCWZpCisgCistCWlmIHRlc3QgJGRldiAhPSBubyA7IHRoZW4KKy0JCUFDX0RFRklORV9VTlFVT1RFRChVUkFORE9NX0RFVklDRSwiJGRldiIsW3NldCB0byB1cmFuZG9tIGRldmljZV0pCistCWZpCisrZWxpZiB0ZXN0ICRjcm9zc19jb21waWxpbmcgPT0geWVzIDsgdGhlbgorKwlkZXY9Ii9kZXYvdXJhbmRvbSI7CisrZmkKKytpZiB0ZXN0ICRkZXYgIT0gbm8gOyB0aGVuCisrCUFDX0RFRklORV9VTlFVT1RFRChVUkFORE9NX0RFVklDRSwiJGRldiIsW3NldCB0byB1cmFuZG9tIGRldmljZV0pCisgZmkKKyAKKyBkbmwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcF8yLjQuNDMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwXzIuNC40My5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NjE4MzY1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcF8yLjQuNDMuYmIKQEAgLTAsMCArMSwyNTQgQEAKKyMgT3BlbkxEQVAsIGEgbGljZW5zZSBmcmVlIChzZWUgaHR0cDovL3d3dy5PcGVuTERBUC5vcmcvbGljZW5zZS5odG1sKQorIworU1VNTUFSWSA9ICJPcGVuTERBUCBEaXJlY3RvcnkgU2VydmljZSIKK0RFU0NSSVBUSU9OID0gIk9wZW5MREFQIFNvZnR3YXJlIGlzIGFuIG9wZW4gc291cmNlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBMaWdodHdlaWdodCBEaXJlY3RvcnkgQWNjZXNzIFByb3RvY29sLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuT3BlbkxEQVAub3JnL2xpY2Vuc2UuaHRtbCIKKyMgVGhlIE9wZW5MREFQIFB1YmxpYyBMaWNlbnNlIC0gc2VlIHRoZSBIT01FUEFHRSAtIGRlZmluZXMKKyMgdGhlIGxpY2Vuc2UuICB3d3cub3BlbmxkYXAub3JnIGNsYWltcyB0aGlzIGlzIE9wZW4gU291cmNlCisjIChzZWUgaHR0cDovL3d3dy5vcGVubGRhcC5vcmcpLCB0aGUgbGljZW5zZSBhcHBlYXJzIHRvIGJlCisjIGJhc2ljYWxseSBCU0QuICBvcGVuc291cmNlLm9yZyBkb2VzIG5vdCByZWNvcmQgdGhpcyBsaWNlbnNlCisjIGF0IHByZXNlbnQgKHNvIGl0IGlzIGFwcGFyZW50bHkgbm90IE9TSSBjZXJ0aWZpZWQpLgorTElDRU5TRSA9ICJPcGVuTERBUCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlSSUdIVDttZDU9OWQ4NDVhMjVhZWY5N2RhNzUzMTQ0ZjFkYWNiZjY4MGMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vTElDRU5TRTttZDU9MTUzZDA3ZWYwNTJjNGEzN2E4ZmFjMjNiYzYwMzE5NzIgXAorIgorU0VDVElPTiA9ICJsaWJzIgorCitMREFQX1ZFUiA9ICIke0AnLicuam9pbihkLmdldFZhcignUFYnLDEpLnNwbGl0KCcuJylbMDoyXSl9IgorCitTUkNfVVJJID0gImZ0cDovL2Z0cC5vcGVubGRhcC5vcmcvcHViL09wZW5MREFQL29wZW5sZGFwLXJlbGVhc2UvJHtCUH0udGd6IFwKKyAgICBmaWxlOi8vb3BlbmxkYXAtbTQtcHRocmVhZC5wYXRjaCBcCisgICAgZmlsZTovL2tpbGwtaWN1LnBhdGNoIFwKKyAgICBmaWxlOi8vb3BlbmxkYXAtMi40LjI4LWdudXRscy1nY3J5cHQucGF0Y2ggXAorICAgIGZpbGU6Ly91c2UtdXJhbmRvbS5wYXRjaCBcCisgICAgZmlsZTovL2luaXRzY3JpcHQgXAorICAgIGZpbGU6Ly9zbGFwZC5zZXJ2aWNlIFwKKyAgICBmaWxlOi8vdGhyZWFkX3N0dWIucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDljYTY1ZTI3ODkxZmNmOTc3ZDc4YzEwZjA3M2M3MDUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzRkNzhlNTU5OGEyYjAzNjBkMjZhOTA1MGZjZGJiZTE5OGM2NTQ5M2IwMTNiYjYwNzgzOWQ1NTk4YjY5NzhjOCIKKworREVQRU5EUyA9ICJ1dGlsLWxpbnV4IGdyb2ZmLW5hdGl2ZSIKKworIyBUaGUgb3JpZ2luYWwgdG9wLm1rIHVzZWQgSU5TVEFMTCwgbm90IElOU1RBTExfU1RSSVBfUFJPR1JBTSB3aGVuCisjIGluc3RhbGxpbmcgLnNvIGFuZCBleGVjdXRhYmxlcywgdGhpcyBmYWlscyBpbiBjcm9zcyBjb21waWxhdGlvbgorIyBlbnZpcm9ubWVudHMKK1NSQ19VUkkgKz0gImZpbGU6Ly9pbnN0YWxsLXN0cmlwLnBhdGNoIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgdXBkYXRlLXJjLmQgc3lzdGVtZAorCisjIENWIFNFVFRJTkdTCisjIFJlcXVpcmVkIHRvIHdvcmsgcm91bmQgQUNfRlVOQ19NRU1DTVAgd2hpY2ggZ2V0cyB0aGUgd3JvbmcgYW5zd2VyCisjIHdoZW4gY3Jvc3MgY29tcGlsaW5nIChzaG91bGQgYmUgaW4gc2l0ZT8pCitFWFRSQV9PRUNPTkYgKz0gImFjX2N2X2Z1bmNfbWVtY21wX3dvcmtpbmc9eWVzIgorCisjIENPTkZJRyBERUZJTklUSU9OUworIyBUaGUgZm9sbG93aW5nIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIGl0IGNhbm5vdCBiZSBkZXRlcm1pbmVkIGZvciBhCisjIGNyb3NzIGNvbXBpbGUgYXV0b21hZ2ljYWxseS4gIFNlbGVjdCBzaG91bGQgeWllbGQgZmluZSBvbiBhbGwgT0UKKyMgc3lzdGVtcy4uLgorRVhUUkFfT0VDT05GICs9ICItLXdpdGgteWllbGRpbmctc2VsZWN0PXllcyIKKyMgU2hhcmVkIGxpYnJhcmllcyBhcmUgbmljZS4uLgorRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS1keW5hbWljIgorCitQQUNLQUdFQ09ORklHID8/PSAiZ251dGxzIG1vZHVsZXMgXAorICAgICAgICAgICAgICAgICAgIGxkYXAgbWV0YSBtb25pdG9yIG51bGwgcGFzc3dkIHNoZWxsIHByb3h5Y2FjaGUgZG5zc3J2IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCAnaXB2NicsICcnLCBkKX0gXAorIgorIy0td2l0aC10bHMgICAgICAgICAgICAgIHdpdGggVExTL1NTTCBzdXBwb3J0IGF1dG98b3BlbnNzbHxnbnV0bHMgW2F1dG9dCitQQUNLQUdFQ09ORklHW2dudXRsc10gPSAiLS13aXRoLXRscz1nbnV0bHMsLGdudXRscyBsaWJnY3J5cHQiCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC10bHM9b3BlbnNzbCwsb3BlbnNzbCIKKworUEFDS0FHRUNPTkZJR1tzYXNsXSA9ICItLXdpdGgtY3lydXMtc2FzbCwtLXdpdGhvdXQtY3lydXMtc2FzbCxjeXJ1cy1zYXNsIgorUEFDS0FHRUNPTkZJR1ttb2R1bGVzXSA9ICJsdF9jdl9kbG9wZW5fc2VsZj15ZXMgLS1lbmFibGUtbW9kdWxlcywtLWRpc2FibGUtbW9kdWxlcyxsaWJ0b29sIgorUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2IgorCisjIFNMQVBEIG9wdGlvbnMKKyMKKyMgVU5JWCBjcnlwdCgzKSBwYXNzd2Qgc3VwcG9ydDoKK0VYVFJBX09FQ09ORiArPSAiLS1lbmFibGUtY3J5cHQiCisKKyMgU0xBUEQgQkFDS0VORAorIworIyBUaGUgYmFja2VuZCBtdXN0IGJlIHNldCBieSB0aGUgY29uZmlndXJhdGlvbi4gIFRoaXMgY29udHJvbHMgdGhlCisjIHJlcXVpcmVkIGRhdGFiYXNlLiAKKyMKKyMgQmFja2VuZHM9ImJkYiBkbnNzcnYgaGRiIGxkYXAgbWRiIG1ldGEgbW9uaXRvciBuZGIgbnVsbCBwYXNzd2QgcGVybCByZWxheSBzaGVsbCBzb2NrIHNxbCIKKyMKKyMgTm90ZSB0aGF0IG11bHRpcGxlIGJhY2tlbmRzIGNhbiBiZSBidWlsdC4gIFRoZSBsZGJtIGJhY2tlbmQgcmVxdWlyZXMgYQorIyBidWlsZC10aW1lIGNob2ljZSBvZiBkYXRhYmFzZSBBUEkuICBUaGUgYmRiIGJhY2tlbmQgZm9yY2VzIHRoaXMgdG8gYmUKKyMgREI0LiAgVG8gdXNlIHRoZSBnZGJtIChvciBvdGhlcikgQVBJIHRoZSBCZXJrZWx5IGRhdGFiYXNlIG1vZHVsZSBtdXN0CisjIGJlIHJlbW92ZWQgZnJvbSB0aGUgYnVpbGQuCittZCA9ICIke2xpYmV4ZWNkaXJ9L29wZW5sZGFwIgorIworIy0tZW5hYmxlLWJkYiAgICAgICAgICBlbmFibGUgQmVya2VsZXkgREIgYmFja2VuZCBub3x5ZXN8bW9kIHllcworIyBUaGUgQmVya2VseSBEQiBpcyB0aGUgc3RhbmRhcmQgY2hvaWNlLiAgVGhpcyB2ZXJzaW9uIG9mIE9wZW5MREFQIHJlcXVpcmVzCisjIHRoZSB2ZXJzaW9uIDQgaW1wbGVtZW50YXRpb24gb3IgYmV0dGVyLgorUEFDS0FHRUNPTkZJR1tiZGJdID0gIi0tZW5hYmxlLWJkYj15ZXMsLS1lbmFibGUtYmRiPW5vLGRiIgorCisjLS1lbmFibGUtZG5zc3J2ICAgICAgIGVuYWJsZSBkbnNzcnYgYmFja2VuZCBub3x5ZXN8bW9kIG5vCitQQUNLQUdFQ09ORklHW2Ruc3Nydl0gPSAiLS1lbmFibGUtZG5zc3J2PW1vZCwtLWVuYWJsZS1kbnNzcnY9bm8iCisKKyMtLWVuYWJsZS1oZGIgICAgICAgICAgZW5hYmxlIEhpZXJhcmNoaWNhbCBEQiBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KK1BBQ0tBR0VDT05GSUdbaGRiXSA9ICItLWVuYWJsZS1oZGI9eWVzLC0tZW5hYmxlLWhkYj1ubyxkYiIKKworIy0tZW5hYmxlLWxkYXAgICAgICAgICBlbmFibGUgbGRhcCBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KK1BBQ0tBR0VDT05GSUdbbGRhcF0gPSAiLS1lbmFibGUtbGRhcD1tb2QsLS1lbmFibGUtbGRhcD1ubywiCisKKyMtLWVuYWJsZS1tZGIgICAgICAgICAgZW5hYmxlIG1kYiBkYXRhYmFzZSBiYWNrZW5kIG5vfHllc3xtb2QgW3llc10KK1BBQ0tBR0VDT05GSUdbbWRiXSA9ICItLWVuYWJsZS1tZGI9bW9kLC0tZW5hYmxlLW1kYj1ubywiCisKKyMtLWVuYWJsZS1tZXRhICAgICAgICAgZW5hYmxlIG1ldGFkaXJlY3RvcnkgYmFja2VuZCBub3x5ZXN8bW9kIG5vCitQQUNLQUdFQ09ORklHW21ldGFdID0gIi0tZW5hYmxlLW1ldGE9bW9kLC0tZW5hYmxlLW1ldGE9bm8sIgorCisjLS1lbmFibGUtbW9uaXRvciAgICAgIGVuYWJsZSBtb25pdG9yIGJhY2tlbmQgbm98eWVzfG1vZCB5ZXMKK1BBQ0tBR0VDT05GSUdbbW9uaXRvcl0gPSAiLS1lbmFibGUtbW9uaXRvcj1tb2QsLS1lbmFibGUtbW9uaXRvcj1ubywiCisKKyMtLWVuYWJsZS1uZGIgICAgICAgICAgZW5hYmxlIE15U1FMIE5EQiBDbHVzdGVyIGJhY2tlbmQgbm98eWVzfG1vZCBbbm9dCitQQUNLQUdFQ09ORklHW25kYl0gPSAiLS1lbmFibGUtbmRiPW1vZCwtLWVuYWJsZS1uZGI9bm8sIgorCisjLS1lbmFibGUtbnVsbCAgICAgICAgIGVuYWJsZSBudWxsIGJhY2tlbmQgbm98eWVzfG1vZCBubworUEFDS0FHRUNPTkZJR1tudWxsXSA9ICItLWVuYWJsZS1udWxsPW1vZCwtLWVuYWJsZS1udWxsPW5vLCIKKworIy0tZW5hYmxlLXBhc3N3ZCAgICAgICBlbmFibGUgcGFzc3dkIGJhY2tlbmQgbm98eWVzfG1vZCBubworUEFDS0FHRUNPTkZJR1twYXNzd2RdID0gIi0tZW5hYmxlLXBhc3N3ZD1tb2QsLS1lbmFibGUtcGFzc3dkPW5vLCIKKworIy0tZW5hYmxlLXBlcmwgICAgICAgICBlbmFibGUgcGVybCBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KKyMgIFRoaXMgcmVxdWlyZXMgYSBsb2FkYWJsZSBwZXJsIGR5bmFtaWMgbGlicmFyeSwgaWYgZW5hYmxlZCB3aXRob3V0CisjICBkb2luZyBzb21ldGhpbmcgYXBwcm9wcmlhdGUgKGJ1aWxkaW5nIHBlcmw/KSB0aGUgYnVpbGQgd2lsbCBwaWNrCisjICB1cCB0aGUgYnVpbGQgbWFjaGluZSBwZXJsIC0gbm90IGdvb2QgKGluaGVyaXQgcGVybG5hdGl2ZT8pCitQQUNLQUdFQ09ORklHW3BlcmxdID0gIi0tZW5hYmxlLXBlcmw9bW9kLC0tZW5hYmxlLXBlcmw9bm8scGVybCIKKworIy0tZW5hYmxlLXJlbGF5ICAgICAgICBlbmFibGUgcmVsYXkgYmFja2VuZCBub3x5ZXN8bW9kIFt5ZXNdCitQQUNLQUdFQ09ORklHW3JlbGF5XSA9ICItLWVuYWJsZS1yZWxheT1tb2QsLS1lbmFibGUtcmVsYXk9bm8sIgorCisjLS1lbmFibGUtc2hlbGwgICAgICAgIGVuYWJsZSBzaGVsbCBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KKyMgY29uZmlndXJlOiBXQVJOSU5HOiBVc2Ugb2YgLS13aXRob3V0LXRocmVhZHMgaXMgcmVjb21tZW5kZWQgd2l0aCBiYWNrLXNoZWxsCitQQUNLQUdFQ09ORklHW3NoZWxsXSA9ICItLWVuYWJsZS1zaGVsbD1tb2QgLS13aXRob3V0LXRocmVhZHMsLS1lbmFibGUtc2hlbGw9bm8sIgorCisjLS1lbmFibGUtc29jayAgICAgICAgIGVuYWJsZSBzb2NrIGJhY2tlbmQgbm98eWVzfG1vZCBbbm9dCitQQUNLQUdFQ09ORklHW3NvY2tdID0gIi0tZW5hYmxlLXNvY2s9bW9kLC0tZW5hYmxlLXNvY2s9bm8sIgorCisjLS1lbmFibGUtc3FsICAgICAgICAgIGVuYWJsZSBzcWwgYmFja2VuZCBub3x5ZXN8bW9kIG5vCisjIHNxbCByZXF1aXJlcyBzb21lIHNxbCBiYWNrZW5kIHdoaWNoIHByb3ZpZGVzIHNxbC5oLCBzcWxpdGUqIHByb3ZpZGVzCisjIHNxbGl0ZS5oICh3aGljaCBtYXkgYmUgY29tcGF0aWJsZSBidXQgaGFzbid0IGJlZW4gdHJpZWQuKQorUEFDS0FHRUNPTkZJR1tzcWxdID0gIi0tZW5hYmxlLXNxbD1tb2QsLS1lbmFibGUtc3FsPW5vLHNxbGl0ZTMiCisKKyMtLWVuYWJsZS1keW5ncm91cCAgICAgRHluYW1pYyBHcm91cCBvdmVybGF5IG5vfHllc3xtb2Qgbm8KKyMgIFRoaXMgaXMgYSBkZW1vLCBQcm94eSBDYWNoZSBkZWZpbmVzIGluaXRfbW9kdWxlIHdoaWNoIGNvbmZsaWN0cyB3aXRoIHRoZQorIyAgc2FtZSBzeW1ib2wgaW4gZHluZ3JvdXAKK1BBQ0tBR0VDT05GSUdbZHluZ3JvdXBdID0gIi0tZW5hYmxlLWR5bmdyb3VwPW1vZCwtLWVuYWJsZS1keW5ncm91cD1ubywiCisKKyMtLWVuYWJsZS1wcm94eWNhY2hlICAgUHJveHkgQ2FjaGUgb3ZlcmxheSBub3x5ZXN8bW9kIG5vCitQQUNLQUdFQ09ORklHW3Byb3h5Y2FjaGVdID0gIi0tZW5hYmxlLXByb3h5Y2FjaGU9bW9kLC0tZW5hYmxlLXByb3h5Y2FjaGU9bm8sIgorRklMRVNfJHtQTn0tb3ZlcmxheS1wcm94eWNhY2hlID0gIiR7bWR9L3BjYWNoZS0qLnNvLioiCitQQUNLQUdFUyArPSAiJHtQTn0tb3ZlcmxheS1wcm94eWNhY2hlIgorCisjIEFwcGVuZCBVUkFORE9NX0RFVklDRT0nL2Rldi91cmFuZG9tJyB0byBDUFBGTEFHUzoKKyMgVGhpcyBhbGxvd3MgdGxzIHRvIG9idGFpbiByYW5kb20gYml0cyBmcm9tIC9kZXYvdXJhbmRvbSwgYnkgZGVmYXVsdAorIyBpdCB3YXMgZGlzYWJsZWQgZm9yIGNyb3NzLWNvbXBpbGluZy4KK0NQUEZMQUdTX2FwcGVuZCA9ICIgLURfR05VX1NPVVJDRSAtRFVSQU5ET01fREVWSUNFPVwnL2Rldi91cmFuZG9tXCciCisKK0xERkxBR1MgKz0gIi1wdGhyZWFkIgorCitkb19jb25maWd1cmUoKSB7CisgICAgY3AgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9saWJ0b29sL2J1aWxkLWF1eC9sdG1haW4uc2ggJHtTfS9idWlsZAorICAgIHJtIC1mICR7U30vbGlidG9vbAorICAgIGFjbG9jYWwKKyAgICBsaWJ0b29saXplIC0tZm9yY2UgLS1jb3B5CisgICAgZ251LWNvbmZpZ2l6ZQorICAgIGF1dG9jb25mCisgICAgb2VfcnVuY29uZgorfQorCitMRUFEX1NPTkFNRSA9ICJsaWJsZGFwLSR7TERBUF9WRVJ9LnNvLioiCisKKyMgVGhlIGV4ZWN1dGFibGVzIGdvIGluIGEgc2VwYXJhdGUgcGFja2FnZS4gIFRoaXMgYWxsb3dzIHRoZQorIyBpbnN0YWxsYXRpb24gb2YgdGhlIGxpYnJhcmllcyB3aXRoIG5vIGRhZW1vbiBzdXBwb3J0LgorIyBFYWNoIG1vZHVsZSBhbHNvIGhhcyBpdHMgb3duIHBhY2thZ2UgLSBzZWUgYWJvdmUuCitQQUNLQUdFUyArPSAiJHtQTn0tc2xhcGQgJHtQTn0tc2x1cnBkICR7UE59LWJpbiIKKworIyBQYWNrYWdlIGNvbnRlbnRzIC0gc2hpZnQgbW9zdCBzdGFuZGFyZCBjb250ZW50cyB0byAtYmluCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vbGliKi5zby4qICR7c3lzY29uZmRpcn0vb3BlbmxkYXAvbGRhcC4qICR7bG9jYWxzdGF0ZWRpcn0vJHtCUE59L2RhdGEiCitGSUxFU18ke1BOfS1zbGFwZCA9ICIke3N5c2NvbmZkaXJ9L2luaXQuZCAke2xpYmV4ZWNkaXJ9L3NsYXBkICR7c2JpbmRpcn0gJHtsb2NhbHN0YXRlZGlyfS9ydW4gJHtsb2NhbHN0YXRlZGlyfS92b2xhdGlsZS9ydW4gXAorICAgICR7c3lzY29uZmRpcn0vb3BlbmxkYXAvc2xhcGQuKiAke3N5c2NvbmZkaXJ9L29wZW5sZGFwL3NjaGVtYSBcCisgICAgJHtzeXNjb25mZGlyfS9vcGVubGRhcC9EQl9DT05GSUcuZXhhbXBsZSAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLyoiCitGSUxFU18ke1BOfS1zbHVycGQgPSAiJHtsaWJleGVjZGlyfS9zbHVycGQgJHtsb2NhbHN0YXRlZGlyfS9vcGVubGRhcC1zbHVycCAke2xvY2Fsc3RhdGVkaXJ9L3J1biAke2xvY2Fsc3RhdGVkaXJ9L3ZvbGF0aWxlL3J1biIKK0ZJTEVTXyR7UE59LWJpbiA9ICIke2JpbmRpcn0iCitGSUxFU18ke1BOfS1kZXYgPSAiJHtpbmNsdWRlZGlyfSAke2xpYmRpcn0vbGliKi5zbyAke2xpYmRpcn0vKi5sYSAke2xpYmRpcn0vKi5hICR7bGliZXhlY2Rpcn0vb3BlbmxkYXAvKi5hICR7bGliZXhlY2Rpcn0vb3BlbmxkYXAvKi5sYSAke2xpYmV4ZWNkaXJ9L29wZW5sZGFwLyouc28iCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZXhlY2Rpcn0vb3BlbmxkYXAvLmRlYnVnIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGNhdCAke1dPUktESVJ9L2luaXRzY3JpcHQgPiAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvb3BlbmxkYXAKKyAgICBjaG1vZCA3NTUgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL29wZW5sZGFwCisgICAgIyBUaGlzIGlzIGR1cGxpY2F0ZWQgaW4gL2V0Yy9vcGVubGRhcCBhbmQgaXMgZm9yIHNsYXBkCisgICAgcm0gLWYgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vb3BlbmxkYXAtZGF0YS9EQl9DT05GSUcuZXhhbXBsZQorCisgICAgIyBJbnN0YWxsaW5nIHNsYXBkIHVuZGVyICR7c2Jpbn0gaXMgbW9yZSBGSFMgYW5kIExTQiBjb21wbGlhbmNlCisgICAgbXYgJHtEfSR7bGliZXhlY2Rpcn0vc2xhcGQgJHtEfS8ke3NiaW5kaXJ9L3NsYXBkCisgICAgU0xBUFRPT0xTPSJzbGFwYWRkIHNsYXBjYXQgc2xhcGRuIHNsYXBpbmRleCBzbGFwcGFzc3dkIHNsYXB0ZXN0IHNsYXBhdXRoIHNsYXBhY2wgc2xhcHNjaGVtYSIKKyAgICBjZCAke0R9LyR7c2JpbmRpcn0vCisgICAgcm0gLWYgJHtTTEFQVE9PTFN9CisgICAgZm9yIGkgaW4gJHtTTEFQVE9PTFN9OyBkbyBsbiAtc2Ygc2xhcGQgJGk7IGRvbmUKKworICAgIHJtZGlyICIke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4iCisgICAgcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9IgorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9zbGFwZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLworICAgIHNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8qLnNlcnZpY2UKKworICAgICMgVXNlcyBtZG0gYXMgdGhlIGRhdGFiYXNlCisgICAgIyAgYW5kIGxvY2Fsc3RhdGVkaXIgYXMgZGF0YSBkaXJlY3RvcnkgLi4uCisgICAgc2VkIC1lICdzLyMgbW9kdWxlcGF0aC9tb2R1bGVwYXRoLycgXAorICAgICAgICAtZSAncy8jIG1vZHVsZWxvYWRccypiYWNrX2JkYi4qL21vZHVsZWxvYWQgICAgYmFja19tZGIvJyBcCisgICAgICAgIC1lICdzL2RhdGFiYXNlXHMqYmRiL2RhdGFiYXNlICAgICAgICBtZGIvJyBcCisgICAgICAgIC1lICdzJV5kaXJlY3RvcnlccyouKiVkaXJlY3RvcnkgICAke2xvY2Fsc3RhdGVkaXJ9LyR7QlBOfS9kYXRhLyUnIFwKKyAgICAgICAgLWkgJHtEfSR7c3lzY29uZmRpcn0vb3BlbmxkYXAvc2xhcGQuY29uZgorCisgICAgbWtkaXIgLXAgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vJHtCUE59L2RhdGEKKworCit9CisKK0lOSVRTQ1JJUFRfUEFDS0FHRVMgPSAiJHtQTn0tc2xhcGQiCitJTklUU0NSSVBUX05BTUVfJHtQTn0tc2xhcGQgPSAib3BlbmxkYXAiCitJTklUU0NSSVBUX1BBUkFNU18ke1BOfS1zbGFwZCA9ICJkZWZhdWx0cyIKK1NZU1RFTURfU0VSVklDRV8ke1BOfS1zbGFwZCA9ICJob3N0YXBkLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFXyR7UE59LXNsYXBkID89ICJkaXNhYmxlIgorCisKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl4ke1BOfS1iYWNrZW5kcy4qIF4ke1BOfS1iYWNrZW5kLS4qIgorCisjIFRoZSBtb2R1bGVzIHJlcXVpcmUgdGhlaXIgLnNvIHRvIGJlIGR5bmFtaWNhbHkgbG9hZGVkCitJTlNBTkVfU0tJUF8ke1BOfS1iYWNrZW5kLWRuc3NydiAgKz0gImRldi1zbyIKK0lOU0FORV9TS0lQXyR7UE59LWJhY2tlbmQtbGRhcCAgICArPSAiZGV2LXNvIgorSU5TQU5FX1NLSVBfJHtQTn0tYmFja2VuZC1tZXRhICAgICs9ICJkZXYtc28iCitJTlNBTkVfU0tJUF8ke1BOfS1iYWNrZW5kLW1kYiAgICAgKz0gImRldi1zbyIKK0lOU0FORV9TS0lQXyR7UE59LWJhY2tlbmQtbW9uaXRvciArPSAiZGV2LXNvIgorSU5TQU5FX1NLSVBfJHtQTn0tYmFja2VuZC1udWxsICAgICs9ICJkZXYtc28iCitJTlNBTkVfU0tJUF8ke1BOfS1iYWNrZW5kLXBhc3N3ZCAgKz0gImRldi1zbyIKK0lOU0FORV9TS0lQXyR7UE59LWJhY2tlbmQtc2hlbGwgICArPSAiZGV2LXNvIgorCisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpIHsKKyAgICBiYWNrZW5kX2RpciAgICA9IGQuZXhwYW5kKCcke2xpYmV4ZWNkaXJ9L29wZW5sZGFwJykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBiYWNrZW5kX2RpciwgJ2JhY2tfKFthLXpdKilcLnNvJCcsICdvcGVubGRhcC1iYWNrZW5kLSVzJywgJ09wZW5MREFQICVzIGJhY2tlbmQnLCBwcmVwZW5kPVRydWUsIGV4dHJhX2RlcGVuZHM9JycsIGFsbG93X2xpbmtzPVRydWUpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgYmFja2VuZF9kaXIsICdiYWNrXyhbYS16XSopXC0uKlwuc29cLi4qJCcsICdvcGVubGRhcC1iYWNrZW5kLSVzJywgJ09wZW5MREFQICVzIGJhY2tlbmQnLCBleHRyYV9kZXBlbmRzPScnLCBhbGxvd19saW5rcz1UcnVlKQorCisgICAgbWV0YXBrZyA9ICIke1BOfS1iYWNrZW5kcyIKKyAgICBkLnNldFZhcignQUxMT1dfRU1QVFlfJyArIG1ldGFwa2csICIxIikKKyAgICBkLnNldFZhcignRklMRVNfJyArIG1ldGFwa2csICIiKQorICAgIG1ldGFwa2dfcmRlcGVuZHMgPSBbXQorICAgIHBhY2thZ2VzID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJywgMSkuc3BsaXQoKQorICAgIGZvciBwa2cgaW4gcGFja2FnZXNbMTpdOgorICAgICAgICBpZiBwa2cuY291bnQoIm9wZW5sZGFwLWJhY2tlbmQtIikgYW5kIG5vdCBwa2cgaW4gbWV0YXBrZ19yZGVwZW5kcyBhbmQgbm90IHBrZy5jb3VudCgiLWRldiIpIGFuZCBub3QgcGtnLmNvdW50KCItZGJnIikgYW5kIG5vdCBwa2cuY291bnQoInN0YXRpYyIpIGFuZCBub3QgcGtnLmNvdW50KCJsb2NhbGUiKToKKyAgICAgICAgICAgIG1ldGFwa2dfcmRlcGVuZHMuYXBwZW5kKHBrZykKKyAgICBkLnNldFZhcignUkRFUEVORFNfJyArIG1ldGFwa2csICcgJy5qb2luKG1ldGFwa2dfcmRlcGVuZHMpKQorICAgIGQuc2V0VmFyKCdERVNDUklQVElPTl8nICsgbWV0YXBrZywgJ09wZW5MREFQIGJhY2tlbmRzIG1ldGEgcGFja2FnZScpCisgICAgcGFja2FnZXMuYXBwZW5kKG1ldGFwa2cpCisgICAgZC5zZXRWYXIoJ1BBQ0tBR0VTJywgJyAnLmpvaW4ocGFja2FnZXMpKQorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3Blbm1vdGlmL29wZW5tb3RpZi9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5tb3RpZi9vcGVubW90aWYvY29uZmlndXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4NjhlODAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5tb3RpZi9vcGVubW90aWYvY29uZmlndXJlLnBhdGNoCkBAIC0wLDAgKzEsMTUgQEAKKy0tLSBhL2NvbmZpZ3VyZS5hY34JMjAwOS0xMC0yNyAxNDoxMDoyMy4wMDAwMDAwMDAgLTAyMDAKKysrKyBiL2NvbmZpZ3VyZS5hYwkyMDExLTA1LTMxIDEwOjUxOjAwLjIwNzIzMjAzNiAtMDMwMAorQEAgLTMsMTIgKzMsNiBAQAorIEFDX0NPTkZJR19TUkNESVIoW2xpYi9YbS9Gb3JtLmNdKQorIEFDX1BSRVJFUSgyLjUyKQorIEFDX0NPTkZJR19BVVhfRElSKC4pCistQUNfQ0hFQ0tfRklMRSgvdXNyL1gvaW5jbHVkZS9YMTEvWC5oLAorLSAgQUNfUFJFRklYX0RFRkFVTFQoL3Vzci9YKSwKKy0gIEFDX1BSRUZJWF9ERUZBVUxUKC91c3IpKQorLUFDX0NIRUNLX0ZJTEUoL3Vzci9YMTFSNi9pbmNsdWRlL1gxMS9YLmgsCistICBBQ19QUkVGSVhfREVGQVVMVCgvdXNyL1gxMVI2KSwKKy0gIEFDX1BSRUZJWF9ERUZBVUxUKC91c3IpKQorIAorIGRubCBBTV9NQUlOVEFJTkVSX01PREUKKyBBQ19DQU5PTklDQUxfVEFSR0VUCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5tb3RpZi9vcGVubW90aWZfMi4zLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5tb3RpZi9vcGVubW90aWZfMi4zLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmJhZWRhMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3Blbm1vdGlmL29wZW5tb3RpZl8yLjMuMy5iYgpAQCAtMCwwICsxLDQ4IEBACitTRUNUSU9OID0gImxpYnMiCitTVU1NQVJZID0gIk9TTS9Nb3RpZiBpbXBsZW1lbnRhdGlvbiIKK0xJQ0VOU0UgPSAiT0dQTCIKK0RFUEVORFMgPSAieGJpdG1hcHMgdmlydHVhbC9saWJ4MTEgbGlieHQgbGlieGZ0IHhwcm90byIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MTRmNjkyYzgyNDkxZGIzZDUyNDE5OTI5ZDJmM2IzNDMiCisKK1BSID0gInIzIgorCitQTkJMQUNLTElTVFtvcGVubW90aWZdID89ICJCUk9LRU46IGRvZXNuJ3QgYnVpbGQgd2l0aCBCIT1TIgorCitTUkNfVVJJID0gImh0dHA6Ly9tb3RpZi5pY3MuY29tL3NpdGVzL2RlZmF1bHQvZmlsZXMvb3Blbm1vdGlmLTIuMy4zLnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUucGF0Y2g7cGF0Y2g9MSIKKworU1JDX1VSSVttZDVzdW1dID0gImZkMjdjZDMzNjlkNmM3ZDVlZjc5ZWNjYmE1MjRmN2JlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM4NWY1NTQ1ZTIxOGZhMGM1OWEzNzg5MTkyMTMyZDQ3MmZjNWEzM2U5MTRhMjIxYTU2OGVlZTRmYzEwY2QxMDMiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2pwZWddID0gIi0tZW5hYmxlLWpwZWcsLS1kaXNhYmxlLWpwZWcsanBlZyIKK1BBQ0tBR0VDT05GSUdbcG5nXSA9ICItLWVuYWJsZS1wbmcsLS1kaXNhYmxlLXBuZyxsaWJwbmciCisKK0VYVFJBX09FQ09ORiA9ICJYX0NGTEFHUz0tSSR7U1RBR0lOR19JTkNESVJ9IC0tZGlzYWJsZS1wcmludGluZyIKKworUEFDS0FHRVMgKz0gIiR7UE59LWJpbiIKKworRklMRVNfJHtQTn0tYmluID0gIiR7YmluZGlyfSIKKworZG9fY29tcGlsZSgpIHsKKyAgICAoCisgICAgICAgICMgSEFDSzogYnVpbGQgYSBuYXRpdmUgYmluYXJpZXMgbmVlZCBkdXJpbmcgdGhlIGJ1aWxkCisgICAgICAgIHVuc2V0IENDIExEIENYWCBDQ0xEIENGTEFHUworICAgICAgICBvZV9ydW5tYWtlIC1DIGNvbmZpZy91dGlsIENDPSIke0JVSUxEX0NDfSIgTEQ9IiR7QlVJTERfTER9IiBDWFg9IiR7QlVJTERfQ1hYfSIgTElCUz0iIiBtYWtlc3RycworICAgICkKKyAgICBpZiBbICIkPyIgIT0gIjAiIF07IHRoZW4KKyAgICAgICAgZXhpdCAxCisgICAgZmkKKyAgICBvZV9ydW5tYWtlIC1DIGxpYgorICAgIG9lX3J1bm1ha2UgLUMgaW5jbHVkZQorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgREVTVERJUj0ke0R9IC1DIGxpYiBpbnN0YWxsCisgICAgb2VfcnVubWFrZSBERVNURElSPSR7RH0gLUMgaW5jbHVkZSBpbnN0YWxsCit9CisKK0xFQURfU09OQU1FID0gImxpYlhtLnNvLjQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5zYy9vcGVuc2NfMC4xNS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuc2Mvb3BlbnNjXzAuMTUuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMTFiM2Q4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuc2Mvb3BlbnNjXzAuMTUuMC5iYgpAQCAtMCwwICsxLDQ1IEBACitTVU1NQVJZID0gIlNtYXJ0IGNhcmQgbGlicmFyeSBhbmQgYXBwbGljYXRpb25zIgorREVTQ1JJUFRJT04gPSAiT3BlblNDIGlzIGEgdG9vbCBmb3IgYWNjZXNzaW5nIHNtYXJ0IGNhcmQgZGV2aWNlcy4gQmFzaWNcCitmdW5jdGlvbmFsaXR5IChlLmcuIFNFTEVDVCBGSUxFLCBSRUFEIEJJTkFSWSkgc2hvdWxkIHdvcmsgb24gYW55IElTT1wKKzc4MTYtNCBjb21wYXRpYmxlIHNtYXJ0IGNhcmQuIEVuY3J5cHRpb24gYW5kIGRlY3J5cHRpb24gdXNpbmcgcHJpdmF0ZVwKK2tleXMgb24gdGhlIHNtYXJ0IGNhcmQgaXMgcG9zc2libGUgd2l0aCBQS0NTXAorc3VjaCBhcyB0aGUgRklORUlEIChGaW5uaXNoIEVsZWN0cm9uaWMgSURlbnRpdHkpIGNhcmQuIFN3ZWRpc2ggUG9zdGVuXAorZUlEIGNhcmRzIGhhdmUgYWxzbyBiZWVuIGNvbmZpcm1lZCB0byB3b3JrLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5vcGVuc2MtcHJvamVjdC5vcmcvb3BlbnNjLyIKK1NFQ1RJT04gPSAiU3lzdGVtIEVudmlyb25tZW50L0xpYnJhcmllcyIKKworU1JDX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vby8ke0JQTn0vJHtCUE59XyR7UFZ9Lm9yaWcudGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjI2NjAyNGU1YTk2MzA4MjFmZmEwYWMxNGY3MmUzNjkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGY4ZjhjZjUyZTAyNTIzMzRlNGRmZGNjY2E4MjliODc2YTNkZTYzNDBkZWI3NzJhYTBiZmUwYzBjYzEwZWFmNSIKKworUyA9ICIke1dPUktESVJ9L09wZW5TQy0ke1BWfSIKK0RFUEVORFMgPSAib3BlbmN0IHBjc2MtbGl0ZSB2aXJ0dWFsL2xpYmljb252IG9wZW5zc2wiCisKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTdmYmMzMzgzMDlhYzM4ZmVmY2Q2NGIwNGJiOTAzZTM0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS1kaXNhYmxlLXN0YXRpYyBcCisgICAgLS1lbmFibGUtb3BlbmN0IFwKKyAgICAtLWRpc2FibGUtcGNzYyBcCisgICAgLS1kaXNhYmxlLWN0YXBpIFwKKyAgICAtLWRpc2FibGUtZG9jIFwKKyIKK0VYVFJBX09FTUFLRSA9ICJERVNURElSPSR7RH0iCisKK1JERVBFTkRTXyR7UE59ID0gInJlYWRsaW5lIgorCitGSUxFU18ke1BOfSArPSAiXAorICAgICR7bGliZGlyfS9vcGVuc2MtcGtjczExLnNvIFwKKyAgICAke2xpYmRpcn0vb25lcGluLW9wZW5zYy1wa2NzMTEuc28gXAorICAgICR7bGliZGlyfS9wa2NzMTEtc3B5LnNvIFwKKyIKK0ZJTEVTXyR7UE59LWRldiArPSAiXAorICAgICR7bGliZGlyfS9wa2NzMTEvb3BlbnNjLXBrY3MxMS5zbyBcCisgICAgJHtsaWJkaXJ9L3BrY3MxMS9vbmVwaW4tb3BlbnNjLXBrY3MxMS5zbyBcCisgICAgJHtsaWJkaXJ9L3BrY3MxMS9wa2NzMTEtc3B5LnNvIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbnN5bmMvbGlic3luY21sXzAuNS40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuc3luYy9saWJzeW5jbWxfMC41LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWJmNjVjNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbnN5bmMvbGlic3luY21sXzAuNS40LmJiCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAiTGlic3luY21sIGlzIGFuIGltcGxlbWVudGF0aW9uIG9mIHRoZSBTeW5jTUwgcHJvdG9jb2wiCitIT01FUEFHRSA9ICJodHRwczovL2xpYnN5bmNtbC5vcGVuc3luYy5vcmcvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZhZDliMzMzMmJlODk0YmFiOWJjNTAxNTcyODY0YjI5IgorCitERVBFTkRTID0gImxpYnhtbDIgZ2xpYi0yLjAgbGlic291cC0yLjQgb3Blbm9iZXggd2J4bWwyIgorCisjIERlcGVuZHMgb24gb3Blbm9iZXgKK1BOQkxBQ0tMSVNUW2xpYnN5bmNtbF0gPz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYmx1ZXo1JywgJ2JsdWV6NSBjb25mbGljdHMgd2l0aCBibHVlejQgYW5kIGJsdWV6NSBpcyBzZWxlY3RlZCBpbiBESVNUUk9fRkVBVFVSRVMnLCAnJywgZCl9IgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9saWJzeW5jbWwvbGlic3luY21sLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI4NDg3OWVkN2NiOTQ2MTg1MzBmYmNiODAxYTFhNGY5NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwNWQ2NTEzNjM3YWRiMTMwMGEzYTU4YjZlMjlkNTNhYjYzNzNjOGYzNzA4MDdkMGQ5MjViYWU3MmIyOTIwZTUzIgorCitpbmhlcml0IGNtYWtlIHBrZ2NvbmZpZworCitQQUNLQUdFUyArPSAiJHtQTn0tdG9vbHMiCisKK0ZJTEVTXyR7UE59LXRvb2xzID0gIiR7YmluZGlyfSIKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS8qLnNvLioiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5zeW5jL3dieG1sMl8wLjEwLjguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5zeW5jL3dieG1sMl8wLjEwLjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmQxNWJiYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbnN5bmMvd2J4bWwyXzAuMTAuOC5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIldCWE1MIHBhcnNpbmcgYW5kIGVuY29kaW5nIGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8vbGlid2J4bWwub3BlbnN5bmMub3JnLyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YzExMjhlZTUzNDFjY2Q1OTI3ZDhiYWZlNGI2MjY2ZTEiCisKK0RFUEVORFMgPSAiZXhwYXQiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2xpYndieG1sL2xpYndieG1sLSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gImY1MDMxZTlmNzMwZmZkOWRjNmEyZDFkZWQ1ODVlMWQxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImEwNTdkYWEwOThmMTI4MzhlYjRlNjM1YmIyODQxMzAyN2YxYjczODE5ODcyYzNmYmY2NGUzMjA3NzkwYTNmN2QiCisKK1MgPSAiJHtXT1JLRElSfS9saWJ3YnhtbC0ke1BWfSIKKworaW5oZXJpdCBjbWFrZSBwa2djb25maWcKKworRVhUUkFfT0VDTUFLRSA9ICItRExJQl9TVUZGSVg9JHtAZC5nZXRWYXIoJ2Jhc2VsaWInLCBUcnVlKS5yZXBsYWNlKCdsaWInLCAnJyl9IgorCitQQUNLQUdFUyArPSAiJHtQTn0tdG9vbHMiCisKK0ZJTEVTXyR7UE59LXRvb2xzID0gIiR7YmluZGlyfSIKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS8qLnNvLioiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW53YmVtL29wZW53YmVtL2NoZWNrc2VydmVya2V5IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVud2JlbS9vcGVud2JlbS9jaGVja3NlcnZlcmtleQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iY2ZhMzYxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVud2JlbS9vcGVud2JlbS9jaGVja3NlcnZlcmtleQpAQCAtMCwwICsxLDIwIEBACisjIS9iaW4vYmFzaAorCitpZiBbICEgLWYgIi9ldGMvb3BlbndiZW0vc2VydmVya2V5LnBlbSIgXTsgdGhlbgorCWlmIFsgLWYgIi9ldGMvc3NsL3NlcnZlcmNlcnRzL3NlcnZlcmNlcnQucGVtIiBcCisJICAgICAtYSAtZiAiL2V0Yy9zc2wvc2VydmVyY2VydHMvc2VydmVya2V5LnBlbSIgXTsgdGhlbgorCQllY2hvICJVc2luZyBjb21tb24gc2VydmVyIGNlcnRpZmljYXRlIC9ldGMvc3NsL3NlcnZlcmNlcnRzL3NlcnZlcmNlcnQucGVtIgorCQlsbiAtcyAvZXRjL3NzbC9zZXJ2ZXJjZXJ0cy9zZXJ2ZXJ7Y2VydCxrZXl9LnBlbSAvZXRjL29wZW53YmVtLworCWVsc2UKKwkJZWNobyAiRkFJTEVEOiBTdGFydGluZyBPcGVuV0JFTSBzZXJ2ZXIiCisJCWVjaG8gIlRoZXJlIGlzIG5vIHNzbCBzZXJ2ZXIga2V5IGF2YWlsYWJsZSBmb3IgT3BlbldCRU0gc2VydmVyIHRvIHVzZS4iCisJCWVjaG8gLWUgIlBsZWFzZSBnZW5lcmF0ZSBvbmUgd2l0aCB0aGUgZm9sbG93aW5nIHNjcmlwdCBhbmQgc3RhcnQgdGhlIE9wZW5XQkVNIHNlcnZpY2UgYWdhaW46XG4iCisJCWVjaG8gIiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMiCisJCWVjaG8gIi9ldGMvb3BlbndiZW0vb3dnZW5jZXJ0IgorCQllY2hvICI9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iCisKKwkJZWNobyAiTk9URTogVGhlIHNjcmlwdCB1c2VzIC9kZXYvcmFuZG9tIGRldmljZSBmb3IgZ2VuZXJhdGluZyBzb21lIHJhbmRvbSBiaXRzIHdoaWxlIGdlbmVyYXRpbmcgdGhlIHNlcnZlciBrZXkuIgorCQllY2hvICIgICAgICBJZiB0aGlzIHRha2VzIHRvbyBsb25nLCB5b3UgY2FuIHJlcGxhY2UgdGhlIHZhbHVlIG9mIFwiUkFOREZJTEVcIiBpbiAvZXRjL29wZW53c21hbi9zc2xlYXkuY25mIHdpdGggL2Rldi91cmFuZG9tLiBQbGVhc2UgdW5kZXJzdGFuZCB0aGUgaW1wbGljYXRpb25zIgorCQlleGl0IDEKKwlmaQorZmkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbndiZW0vb3BlbndiZW0vbG9hZG1vZi5zaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbndiZW0vb3BlbndiZW0vbG9hZG1vZi5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZDg3ODExCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVud2JlbS9vcGVud2JlbS9sb2FkbW9mLnNoCkBAIC0wLDAgKzEsMTE4IEBACisjIS9iaW4vc2gKKyMgCisjIG9wdGlvbnM6CisjIGxvYWRtb2Yuc2ggPE1PRl9QQVRIPiA8TkFNRVNQQUNFPiA8RklMRVM+CisjCisjIC0gb3IgLQorIworIyBvcHRpb25zOgorIyBsb2FkbW9mLnNoIC1uIDxOQU1FU1BBQ0U+IDxGSUxFUz4gWy4uLl0KKyMKKyMgVGhlIGZvcm1lciBpcyBwcmVzZXJ2ZWQgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBQZWdhc3VzIGFuZCAKKyMgc2JsaW0gcHJvdmlkZXJzLiAgVGhlIGxhdHRlciBpcyBwcmVmZXJyZWQuICBJZiAkMSBpcyAiLW4iLAorIyB0aGUgbGF0dGVyIGNvZGUgcGF0aCBpcyBleGVjdXRlZC4gIE90aGVyd2lzZSB0aGUgZm9ybWVyIGlzIAorIyBleGVjdXRlZC4KKworaWYgWyAieCQxIiAhPSAieC1uIiAtYSAieCQxIiAhPSAieC12IiBdOyB0aGVuCisjIE9MRCBTVFlMRQoraWYgWyAtZiAiL2V0Yy9pbml0LmQvb3djaW1vbWQiIF07IHRoZW4KKyAgICAvZXRjL2luaXQuZC9vd2NpbW9tZCBzdGF0dXMgMT4mMiA+IC9kZXYvbnVsbAorICAgIGlmIFsgJD8gPSAiMCIgXTsgdGhlbgorICAgICAgICBDSU1PTV9SVU5OSU5HPSJ0cnVlIgorICAgIGVsc2UKKyAgICAgICAgQ0lNT01fUlVOTklORz0iZmFsc2UiCisgICAgZmkKK2Vsc2UKKyAgICBleGl0IDEKK2ZpCitpZiBbICIkWUFTVF9JU19SVU5OSU5HIiA9ICJpbnN0c3lzIiBdOyB0aGVuCisgIENJTU9NX1JVTk5JTkc9ImZhbHNlIgorZmkKKworQ0lNT009JDEKK3NoaWZ0CitjYXNlICIkQ0lNT00iIGluCisgICAgcGVnYXN1cykKKyAgICAgICAgZXhpdCAwCisgICAgOzsKK2VzYWMKK01PRl9QQVRIPSQxCitzaGlmdAorTlM9JDEKK3NoaWZ0CisKK1JFUE9TSVRPUlk9Ii92YXIvbGliL29wZW53YmVtIgorI3RtcF9kaXI9YG1rdGVtcCAtZCAtcCAvdG1wIG9wZW53YmVtLlhYWFhYWGAKK2Nhc2UgIiRDSU1PTV9SVU5OSU5HIiBpbiAKKyAgICB0cnVlfGZhbHNlKQorICAgIHdoaWxlIFsgIiQjIiAtZ3QgMCBdCisgICAgZG8KKyAgICAgICAgZWNobyAiTG9hZGluZyAkTU9GX1BBVEgvJDEiCisgICAgICAgICNzZWQgInMvY21waTovY21waTo6L2ciICRNT0ZfUEFUSC8kMSA+ICR0bXBfZGlyLyQxCisgICAgICAgIC91c3IvYmluL293bW9mYyAtYyAtbiAgJE5TIC1kICRSRVBPU0lUT1JZICRNT0ZfUEFUSC8kMSA+IC9kZXYvbnVsbCAyPiYxCisgICAgICAgIHNoaWZ0CisgICAgZG9uZQorICAgIDs7Citlc2FjCisjcm0gLXJmICR0bXBfZGlyCisjIEVORCBPTEQgU1RZTEUKKworZWxzZQorIyBORVcgU1RZTEUKK2lmIFsgIngkMyIgPSAieCIgXTsgdGhlbgorICAgIGVjaG8gIlVzYWdlOiAkMCAtbiA8TkFNRVNQQUNFPiA8RklMRVM+IFsuLi5dIgorICAgIGV4aXQgMQorZmkKKworaWYgWyAieCQxIiA9ICJ4LXYiIF07IHRoZW4KKyAgVkVSQk9TRT0xCisgIHNoaWZ0CitmaQorCisjIGdldCByaWQgb2YgIi1uIiBhcmcKK3NoaWZ0IAorCitOUz0iJDEiCisKK3NoaWZ0IAorCitEQkRJUj0vdmFyL2xpYi9vcGVud2JlbQorTE9HRklMRT0kREJESVIvbG9hZG1vZi5sb2cKK0NJTU9NX0lOSVQ9L2V0Yy9pbml0LmQvb3djaW1vbWQKK2lmIFsgIiRZQVNUX0lTX1JVTk5JTkciICE9ICJpbnN0c3lzIiBdIDsgdGhlbgorICAgICRDSU1PTV9JTklUIHN0YXR1cyA+IC9kZXYvbnVsbCAyPiYxCisgICAgQ0lNT01fUlVOTklORz0kPworZmkKK2lmIFsgIngkQ0lNT01fUlVOTklORyIgPSAieDAiICBdOyB0aGVuCisgICRDSU1PTV9JTklUIHN0b3AgPiAvZGV2L251bGwgMj4mMQorZmkKK2JrcGRpcj0kREJESVIvYmFja3VwLSQkCitta2RpciAkYmtwZGlyCitjcCAtYSAkREJESVIvKi57ZGF0LG5keCxsb2NrfSAkYmtwZGlyLworcm0gLWYgJExPR0ZJTEUuOQorZm9yIGkgaW4gOCA3IDYgNSA0IDMgMiAxIDA7IGRvCisgIGxldCBuZXdJPSRpKzEKKyAgaWYgWyAtZiAkTE9HRklMRS4kaSBdOyB0aGVuCisgICAgbXYgJExPR0ZJTEUuJGkgJExPR0ZJTEUuJG5ld0kKKyAgZmkKK2RvbmUKK2lmIFsgLWYgJExPR0ZJTEUgXTsgdGhlbgorICBtdiAkTE9HRklMRSAkTE9HRklMRS4wCitmaQoraWYgWyAieCRWRVJCT1NFIiA9ICJ4MSIgXTsgdGhlbgorICAvdXNyL2Jpbi9vd21vZmMgLWMgLW4gJE5TIC1kICREQkRJUiAtcyAvdXNyL3NoYXJlL21vZi9jaW0tY3VycmVudCAiJEAiIDI+JjEgfCB0ZWUgJExPR0ZJTEUKK2Vsc2UKKyAgL3Vzci9iaW4vb3dtb2ZjIC1jIC1uICROUyAtZCAkREJESVIgLXMgL3Vzci9zaGFyZS9tb2YvY2ltLWN1cnJlbnQgIiRAIiA+ICRMT0dGSUxFIDI+JjEKK2ZpCitSVkFMPSQ/CitpZiBbICJ4JFJWQUwiICE9ICJ4MCIgXTsgdGhlbgorICBlY2hvICJNT0YgaW1wb3J0IGZhaWxlZCEgIENoZWNrICRMT0dGSUxFIGZvciBkZXRhaWxzLiIKKyAgbXYgJGJrcGRpci8qICREQkRJUi8KK2ZpCitybSAtcmYgJGJrcGRpcgoraWYgWyAieCRDSU1PTV9SVU5OSU5HIiA9ICJ4MCIgIF07IHRoZW4KKyAgJENJTU9NX0lOSVQgc3RhcnQgPiAvZGV2L251bGwgMj4mMQorZmkKK2V4aXQgJFJWQUwKK2ZpCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbndiZW0vb3BlbndiZW0vbm92ZWxsLW9wZW53YmVtLXJvb3QtYWNsLm1vZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbndiZW0vb3BlbndiZW0vbm92ZWxsLW9wZW53YmVtLXJvb3QtYWNsLm1vZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTk3MGM3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVud2JlbS9vcGVud2JlbS9ub3ZlbGwtb3BlbndiZW0tcm9vdC1hY2wubW9mCkBAIC0wLDAgKzEsMjEgQEAKKyNwcmFnbWEgbmFtZXNwYWNlKCJyb290L3NlY3VyaXR5IikKKworaW5zdGFuY2Ugb2YgT3BlbldCRU1fTmFtZXNwYWNlQUNMCit7CisJbnNwYWNlID0gInJvb3QiOworCWNhcGFiaWxpdHkgPSAiIjsKK307CisKK2luc3RhbmNlIG9mIE9wZW5XQkVNX05hbWVzcGFjZUFDTAoreworCW5zcGFjZSA9ICJyb290L2NpbXYyIjsKKwljYXBhYmlsaXR5ID0gIiI7Cit9OworCitpbnN0YW5jZSBvZiBPcGVuV0JFTV9Vc2VyQUNMCit7CisJbnNwYWNlID0gInJvb3QvY2ltdjIiOworCXVzZXJuYW1lID0gInJvb3QiOworCWNhcGFiaWxpdHkgPSAicnciOworfTsKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVud2JlbS9vcGVud2JlbS9vcGVud2JlbS1ldGNfcGFtLmRfb3BlbndiZW0gYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW53YmVtL29wZW53YmVtL29wZW53YmVtLWV0Y19wYW0uZF9vcGVud2JlbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMzc4NWFhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVud2JlbS9vcGVud2JlbS9vcGVud2JlbS1ldGNfcGFtLmRfb3BlbndiZW0KQEAgLTAsMCArMSw3IEBACisjJVBBTS0xLjAKK2F1dGggICAgICAgcmVxdWlyZWQJcGFtX3VuaXgyLnNvCW51bGxvaworYXV0aCAgICAgICByZXF1aXJlZAlwYW1fbm9sb2dpbi5zbworYWNjb3VudCAgICByZXF1aXJlZAlwYW1fdW5peDIuc28KK3Bhc3N3b3JkICAgcmVxdWlyZWQJcGFtX3B3Y2hlY2suc28JbnVsbG9rCitwYXNzd29yZCAgIHJlcXVpcmVkCXBhbV91bml4Mi5zbwludWxsb2sgdXNlX2ZpcnN0X3Bhc3MgdXNlX2F1dGh0b2sKK3Nlc3Npb24gICAgcmVxdWlyZWQJcGFtX3VuaXgyLnNvCW5vbmUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbndiZW0vb3BlbndiZW0vb3BlbndiZW0tb3djaW1vbWQuaW5pdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbndiZW0vb3BlbndiZW0vb3BlbndiZW0tb3djaW1vbWQuaW5pdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40N2ZhOGE3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVud2JlbS9vcGVud2JlbS9vcGVud2JlbS1vd2NpbW9tZC5pbml0CkBAIC0wLDAgKzEsMTMxIEBACisjIS9iaW4vc2gKKyMKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6IG93Y2ltb21kCisjIFJlcXVpcmVkLVN0YXJ0OiAkbmV0d29yaworIyBSZXF1aXJlZC1TdG9wOiAkbmV0d29yaworIyBEZWZhdWx0LVN0YXJ0OiAyIDMgNCA1CisjIERlZmF1bHQtU3RvcDogMCAxIDYgCisjIFNob3J0LURlc2NyaXB0aW9uOiBPcGVuV0JFTSBDSU1PTSBEYWVtb24KKyMgRGVzY3JpcHRpb246IG93Y2ltb21kCisjICAgICAgIFN0YXJ0L1N0b3AgdGhlIE9wZW5XQkVNIENJTU9NIERhZW1vbgorIyMjIEVORCBJTklUIElORk8KKyMKKyMKKyMgY2hrY29uZmlnOiAyMzQ1IDM2IDY0CisjIGRlc2NyaXB0aW9uOiBPcGVuV0JFTSBDSU1PTSBEYWVtb24KKyMgcHJvY2Vzc25hbWU6IG93Y2ltb21kCisKK05BTUU9b3djaW1vbWQKK0RBRU1PTj0vdXNyL3NiaW4vJE5BTUUKK09QVElPTlM9CitQSURGSUxFPS92YXIvcnVuLyROQU1FLnBpZAorCitpZiBbICRFVUlEICE9IDAgXTsgdGhlbgorIGVjaG8gIlRoaXMgc2NyaXB0IG11c3QgYmUgcnVuIGFzIHJvb3QuIgorIGV4aXQgMTsKK2ZpCisKK2lmIFsgIiRERVNDUklQVElWRSIgPSAiIiBdOyB0aGVuCisgREVTQ1JJUFRJVkU9Ik9wZW5XQkVNIENJTU9NIERhZW1vbiIKK2ZpCisKK2xvY2tmaWxlPSR7U1ZJbG9jazotL3Zhci9sb2NrL3N1YnN5cy8kTkFNRX0KKworWyAteCAkREFFTU9OIF0gfHwgZXhpdCAwCisKKyMgU2VlIGhvdyB3ZSB3ZXJlIGNhbGxlZC4KKy4gL2V0Yy9pbml0LmQvZnVuY3Rpb25zCisKK3N0YXJ0KCkgeworICAgIGlmIFsgISAtZiAiL2V0Yy9vcGVud2JlbS9zZXJ2ZXJrZXkucGVtIiBdOyB0aGVuCisgICAgICAgIGlmIFsgLWYgIi9ldGMvc3NsL3NlcnZlcmNlcnRzL3NlcnZlcmNlcnQucGVtIiBcCisgICAgICAgICAgICAgICAgLWEgLWYgIi9ldGMvc3NsL3NlcnZlcmNlcnRzL3NlcnZlcmtleS5wZW0iIF07IHRoZW4KKyAgICAgICAgICAgIGVjaG8gIlVzaW5nIGNvbW1vbiBzZXJ2ZXIgY2VydGlmaWNhdGUgL2V0Yy9zc2wvc2VydmVyY2VydHMvc2VydmVyY2VydC5wZW0iCisgICAgICAgICAgICBsbiAtcyAvZXRjL3NzbC9zZXJ2ZXJjZXJ0cy9zZXJ2ZXJ7Y2VydCxrZXl9LnBlbSAvZXRjL29wZW53YmVtLworICAgICAgICBlbHNlCisgICAgICAgICAgICBlY2hvICJHZW5lcmF0aW5nIE9wZW5XQkVNIHNlcnZlciBwdWJsaWMgY2VydGlmaWNhdGUgYW5kIHByaXZhdGUga2V5IgorICAgICAgICAgICAgRlFETj1gaG9zdG5hbWUgLS1mcWRuYAorICAgICAgICAgICAgaWYgWyAieCR7RlFETn0iID0gIngiIF07IHRoZW4KKyAgICAgICAgICAgICAgICBGUUROPWxvY2FsaG9zdC5sb2NhbGRvbWFpbgorICAgICAgICAgICAgZmkKK2NhdCA8PCBFT0YgfCBzaCAvZXRjL29wZW53YmVtL293Z2VuY2VydCA+IC9kZXYvbnVsbCAyPiYxCistLQorU29tZVN0YXRlCitTb21lQ2l0eQorU29tZU9yZ2FuaXphdGlvbgorU29tZU9yZ2FuaXphdGlvbmFsVW5pdAorJHtGUUROfQorcm9vdEAke0ZRRE59CitFT0YKKyAgICAgICAgZmkKKyAgICBmaQorCisgICAgIyBTdGFydCBkYWVtb25zLgorICAgIGVjaG8gLW4gIlN0YXJ0aW5nIHRoZSAkREVTQ1JJUFRJVkUiCisgICAgZGFlbW9uICREQUVNT04gJE9QVElPTlMgPiAvZGV2L251bGwgMj4mMSAKKyAgICBSRVRWQUw9JD8KKworICAgIGlmIFsgJFJFVFZBTCAtZXEgMCBdOyB0aGVuCisgICAgICAgIHRvdWNoICRsb2NrZmlsZQorICAgICAgICBzdWNjZXNzCisgICAgZmkKKworICAgIGVjaG8KKyAgICByZXR1cm4gJFJFVFZBTAorfQorCitzdG9wKCkgeworICAgICMgU3RvcCBkYWVtb25zLgorICAgIGVjaG8gLW4gIlNodXR0aW5nIGRvd24gJERFU0NSSVBUSVZFIgorICAgIGtpbGxwcm9jICREQUVNT04KKyAgICBSRVRWQUw9JD8KKworICAgIGlmIFsgJFJFVFZBTCAtZXEgMCBdOyB0aGVuCisgICAgICAgIHJtIC1mICRsb2NrZmlsZQorICAgICAgICBzdWNjZXNzCisgICAgZWxzZQorICAgICAgICBmYWlsdXJlCisgICAgZmkKKyAgICBlY2hvCisgICAgcmV0dXJuICRSRVRWQUwKK30KKworcmVzdGFydCgpIHsKKyAgICBzdG9wCisgICAgc3RhcnQKK30KKworY2FzZSAiJDEiIGluCisgICAgc3RhcnQpCisgICAgc3RhcnQKKyAgICA7OworCisgICAgc3RvcCkKKyAgICBzdG9wCisgICAgOzsKKworICAgIHJlc3RhcnR8Zm9yY2UtcmVsb2FkKQorICAgIHJlc3RhcnQKKyAgICA7OworCisgICAgcmVsb2FkKQorICAgIGVjaG8gLW4gIlJlbG9hZCBzZXJ2aWNlICRERVNDUklQVElWRSIKKyAgICBraWxscHJvYyAtcCAkUElERklMRSAgLUhVUCAkREFFTU9OCisgICAgUkVUVkFMPSQ/CisgICAgZWNobworICAgIGV4aXQgJFJFVFZBTAorICAgIDs7CisKKyAgICBzdGF0dXMpCisgICAgZWNobyAtbiAiQ2hlY2tpbmcgZm9yIHNlcnZpY2UgJERFU0NSSVBUSVZFIgorICAgIHN0YXR1cyAkREFFTU9OCisgICAgUkVUVkFMPSQ/CisgICAgZXhpdCAkUkVUVkFMCisgICAgOzsKKworICAgICopCisgICAgZWNobyAiVXNhZ2U6ICQwIHtyZXN0YXJ0fHN0YXJ0fHN0b3B8cmVsb2FkfGZvcmNlLXJlbG9hZHxzdGF0dXN9IgorZXNhYworCitleGl0ICRSRVRWQUwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbndiZW0vb3BlbndiZW0vb3BlbndiZW0tcnBtbGludHJjIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVud2JlbS9vcGVud2JlbS9vcGVud2JlbS1ycG1saW50cmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzg1ZTMyYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbndiZW0vb3BlbndiZW0vb3BlbndiZW0tcnBtbGludHJjCkBAIC0wLDAgKzEsMiBAQAorYWRkRmlsdGVyKCJkZXZlbC1maWxlLWluLW5vbi1kZXZlbC1wYWNrYWdlIC4qL2xpYi4qXC5zbyIpCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbndiZW0vb3BlbndiZW0vb3djaW1vbWQuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbndiZW0vb3BlbndiZW0vb3djaW1vbWQuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjY5NGI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVud2JlbS9vcGVud2JlbS9vd2NpbW9tZC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTIgQEAKK1tVbml0XQorRGVzY3JpcHRpb249V2ViIEJhc2VkIEVudGVycHJpc2UgTWFuYWdlbWVudCAoV0JFTSkgSW1wbGVtZW50YXRpb24KK0FmdGVyPXN5c2xvZy50YXJnZXQKKworW1NlcnZpY2VdCitUeXBlPWZvcmtpbmcKK0V4ZWNTdGFydD0vdXNyL3NiaW4vb3djaW1vbWQKK0V4ZWNTdGFydFByZT0vZXRjL29wZW53YmVtL2NoZWNrc2VydmVya2V5CitQSURGaWxlPS92YXIvcnVuL293Y2ltb21kLnBpZAorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW53YmVtL29wZW53YmVtL3JtbW9mLnNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVud2JlbS9vcGVud2JlbS9ybW1vZi5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDk1NDE1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVud2JlbS9vcGVud2JlbS9ybW1vZi5zaApAQCAtMCwwICsxLDUzIEBACisjIS9iaW4vc2gKKyMgCisjIG9wdGlvbnM6CisjIHJtbW9mLnNoIDxNT0ZfUEFUSD4gPE5BTUVTUEFDRT4gPEZJTEVTPgorIworIyAtIG9yIC0KKyMKKyMgb3B0aW9uczoKKyMgbG9hZG1vZi5zaCAtbiA8TkFNRVNQQUNFPiA8RklMRVM+IFsuLi5dCisjCisjIFRoZSBmb3JtZXIgaXMgcHJlc2VydmVkIGZvciBjb21wYXRpYmlsaXR5IHdpdGggUGVnYXN1cyBhbmQgCisjIHNibGltIHByb3ZpZGVycy4gIFRoZSBsYXR0ZXIgaXMgcHJlZmVycmVkLiAgSWYgJDEgaXMgIi1uIiwKKyMgdGhlIGxhdHRlciBjb2RlIHBhdGggaXMgZXhlY3V0ZWQuICBPdGhlcndpc2UgdGhlIGZvcm1lciBpcyAKKyMgZXhlY3V0ZWQuCisKK2lmIFsgIngkMyIgPSAieCIgXTsgdGhlbgorICAgIGVjaG8gIlVzYWdlOiAkMCAtbiA8TkFNRVNQQUNFPiA8RklMRVM+IFsuLi5dIgorICAgIGV4aXQgMQorZmkKKworIyBnZXQgcmlkIG9mICItbiIgYXJnCitzaGlmdCAKKworTlM9IiQxIgorCitzaGlmdCAKKworREJESVI9L3Zhci9saWIvb3BlbndiZW0KK0NJTU9NX0lOSVQ9L2V0Yy9pbml0LmQvb3djaW1vbWQKK2lmIFsgIiRZQVNUX0lTX1JVTk5JTkciICE9ICJpbnN0c3lzIiBdIDsgdGhlbgorICAgICRDSU1PTV9JTklUIHN0YXR1cworICAgIENJTU9NX1JVTk5JTkc9JD8KK2ZpCitpZiBbICJ4JENJTU9NX1JVTk5JTkciID0gIngwIiAgXTsgdGhlbgorICAkQ0lNT01fSU5JVCBzdG9wCitmaQorYmtwZGlyPS90bXAvb3dyZXAuYmtwLSQkCitta2RpciAkYmtwZGlyCitjcCAtYSAkREJESVIgJGJrcGRpci8KK2VjaG8gIkNvbXBpbGluZyBNT0YgZmlsZXMiCisvdXNyL2Jpbi9vd21vZmMgLXIgLW4gJE5TIC1kICREQkRJUiAiJEAiID4gL2Rldi9udWxsIDI+JjEKK1JWQUw9JD8KK2lmIFsgIngkUlZBTCIgIT0gIngwIiBdOyB0aGVuCisgIGVjaG8gIk1PRiBpbXBvcnQgZmFpbGVkISIKKyAgcm0gLXJmICREQkRJUgorICBtdiAkYmtwZGlyL29wZW53YmVtICREQkRJUgorZmkKK3JtIC1yZiAkYmtwZGlyCitpZiBbICJ4JENJTU9NX1JVTk5JTkciID0gIngwIiAgXTsgdGhlbgorICAkQ0lNT01fSU5JVCBzdGFydAorZmkKK2V4aXQgJFJWQUwKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVud2JlbS9vcGVud2JlbV8zLjIuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbndiZW0vb3BlbndiZW1fMy4yLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWQ4ZWYyNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbndiZW0vb3BlbndiZW1fMy4yLjMuYmIKQEAgLTAsMCArMSwxMTIgQEAKK1NVTU1BUlkgPSAiV2ViIEJhc2VkIEVudGVycHJpc2UgTWFuYWdlbWVudCAoV0JFTSkgSW1wbGVtZW50YXRpb24iCitERVNDUklQVElPTiA9ICJPcGVuV0JFTSBpcyBhIHNldCBvZiBzb2Z0d2FyZSBjb21wb25lbnRzIHRoYXQgaGVscCBmYWNpbGl0YXRlIFwKK2RlcGxveW1lbnQgb2YgdGhlIENvbW1vbiBJbmZvcm1hdGlvbiBNb2RlbCAoQ0lNKSBhbmQgV2ViLUJhc2VkIFwKK0VudGVycHJpc2UgTWFuYWdlbWVudCAoV0JFTSkgdGVjaG5vbG9naWVzIG9mIHRoZSBEaXN0cmlidXRlZCBNYW5hZ2VtZW50IFwKK1Rhc2sgRm9yY2UgKERNVEYpLiBcCisgXAorV2ViLUJhc2VkIEVudGVycHJpc2UgTWFuYWdlbWVudCAoV0JFTSkgaXMgYSBzZXQgb2YgbWFuYWdlbWVudCBhbmQgXAorSW50ZXJuZXQgc3RhbmRhcmQgdGVjaG5vbG9naWVzIGRldmVsb3BlZCB0byB1bmlmeSB0aGUgbWFuYWdlbWVudCBvZiBcCitkaXN0cmlidXRlZCBjb21wdXRpbmcgZW52aXJvbm1lbnRzLiBXQkVNIHByb3ZpZGVzIHRoZSBhYmlsaXR5IGZvciB0aGUgXAoraW5kdXN0cnkgdG8gZGVsaXZlciBhIHdlbGwtaW50ZWdyYXRlZCBzZXQgb2Ygc3RhbmRhcmRzLWJhc2VkIG1hbmFnZW1lbnQgXAordG9vbHMsIGZhY2lsaXRhdGluZyB0aGUgZXhjaGFuZ2Ugb2YgZGF0YSBhY3Jvc3Mgb3RoZXJ3aXNlIGRpc3BhcmF0ZSBcCit0ZWNobm9sb2dpZXMgYW5kIHBsYXRmb3Jtcy4gXAorIFwKK0ZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IERNVEYgYW5kIGl0cyB0ZWNobm9sb2dpZXMsIHZpc2l0IFwKK2h0dHA6Ly93d3cuZG10Zi5vcmcvc3RhbmRhcmRzLiAiCitTRUNUSU9OID0gIlN5c3RlbS9NYW5hZ2VtZW50IgorSE9NRVBBR0UgPSAiaHR0cDovL29wZW53YmVtLnNvdXJjZWZvcmdlLm5ldC8iCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcKKworU09VUkNFMT0ibm92ZWxsLW9wZW53YmVtLXJvb3QtYWNsLm1vZiIKK1NPVVJDRTI9ImxvYWRtb2Yuc2giCitTT1VSQ0UzPSJybW1vZi5zaCIKK1NPVVJDRTQ9Im9wZW53YmVtLW93Y2ltb21kLmluaXQiCitTT1VSQ0U1PSJvcGVud2JlbS1ldGNfcGFtLmRfb3BlbndiZW0iCitTT1VSQ0U2PSJvcGVud2JlbS1ycG1saW50cmMiCisKK1NSQ19VUkkgPSAiIFwKKyAgIGdpdDovL2dpdGh1Yi5jb20va2thZW1wZi9vcGVud2JlbS5naXQgXAorICAgZmlsZTovLyR7U09VUkNFMX0gXAorICAgZmlsZTovLyR7U09VUkNFMn0gXAorICAgZmlsZTovLyR7U09VUkNFM30gXAorICAgZmlsZTovLyR7U09VUkNFNH0gXAorICAgZmlsZTovLyR7U09VUkNFNX0gXAorICAgZmlsZTovLyR7U09VUkNFNn0gXAorICAgZmlsZTovL2NoZWNrc2VydmVya2V5IFwKKyAgIGZpbGU6Ly9vd2NpbW9tZC5zZXJ2aWNlIFwKKyIKK1NSQ1JFViA9ICI1YzY4OGVlZmMxZjhlMzVhNGIxYzU4NTI5YWFlNWYxMTRjMjVjMmE4IgorUyA9ICIke1dPUktESVJ9L2dpdCIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA1MDRhMmViODVlMDFhYTkyYzllZmQ0MTI1YTM0NjYwIgorSU5TQU5FX1NLSVBfJHtQTn0gPSAiZGV2LXNvIgorREVQRU5EUyArPSAib3BlbnNzbCBsaWJwYW0gYmFzaCIKK1JERVBFTkRTXyR7UE59ICs9ICJiYXNoIgorRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS1wcmVmaXg9L3VzciBcCisgICAgLS1zeXNjb25mZGlyPS9ldGMgXAorICAgIC0tbGliZGlyPSR7bGliZGlyfSBcCisgICAgLS1sb2NhbHN0YXRlZGlyPS92YXIvbGliIFwKKyAgICAtLWxpYmV4ZWNkaXI9JHtsaWJkaXJ9L29wZW53YmVtL2JpbiBcCisgICAgLS1tYW5kaXI9L3Vzci9zaGFyZS9tYW4gXAorICAgIC0tZW5hYmxlLXRocmVhZHMtcnVuLWFzLXVzZXIgXAorIgorZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgYXV0b3JlY29uZiAtLWZvcmNlIC0taW5zdGFsbAorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgREVTVERJUj0ke0R9IGluc3RhbGwKKyAgICBpbnN0YWxsIC1kICR7RH0vZXRjL29wZW53YmVtL29wZW53YmVtLmNvbmYuZAorICAgIGluc3RhbGwgLWQgJHtEfS92YXIvYWRtL2ZpbGx1cC10ZW1wbGF0ZXMKKyAgICBpbnN0YWxsIC1tIDY0NCBldGMvc3lzY29uZmlnL2RhZW1vbnMvb3djaW1vbWQgJHtEfS92YXIvYWRtL2ZpbGx1cC10ZW1wbGF0ZXMvc3lzY29uZmlnLm93Y2ltb21kCisgICAgCisgICAgIyBmaXggdXAgaGFyZGNvZGVkIHBhdGhzCisgICAgc2VkIC1pIC1lICdzLC91c3Ivc2Jpbi8sJHtzYmluZGlyfS8sJyAke1dPUktESVJ9L293Y2ltb21kLnNlcnZpY2UKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3RydWUnLCdmYWxzZScsZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vb3djaW1vbWQuc2VydmljZSAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICAgICAgaW5zdGFsbCAtbSA3NTUgJHtXT1JLRElSfS9jaGVja3NlcnZlcmtleSAke0R9JHtzeXNjb25mZGlyfS9vcGVud2JlbS8KKyAgICBmaQorCisgICAgaW5zdGFsbCAtZCAke0R9L2V0Yy9pbml0LmQKKyAgICBsbiAtc2YgLi4vLi4vZXRjL2luaXQuZC9vd2NpbW9tZCAke0R9L3Vzci9zYmluL3Jjb3djaW1vbWQKKyAgICBpbnN0YWxsIC1tIDc1NSAke1dPUktESVJ9LyR7U09VUkNFNH0gJHtEfS9ldGMvaW5pdC5kL293Y2ltb21kCisgICAgaW5zdGFsbCAtZCAke0R9JHtzYmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfS91c3IvYmluCisgICAgaW5zdGFsbCAtZCAke0R9L2V0Yy9wYW0uZAorICAgIGluc3RhbGwgLWQgJHtEfS8ke2xpYmRpcn0vb3BlbndiZW0vY21waXByb3ZpZGVycworICAgIGluc3RhbGwgLW0gNjQ0IGV0Yy9wYW0uZC9vcGVud2JlbSAke0R9L2V0Yy9wYW0uZAorICAgIGluc3RhbGwgLWQgJHtEfS8ke2xpYmRpcn0vb3BlbndiZW0vYysrcHJvdmlkZXJzCisgICAgaW5zdGFsbCAtZCAke0R9L3Zhci9saWIvb3BlbndiZW0KKyAgICBpbnN0YWxsIC1tIDc1NSAke1dPUktESVJ9LyR7U09VUkNFMn0gJHtEfS91c3IvYmluL293LWxvYWRtb2Yuc2gKKyAgICBpbnN0YWxsIC1tIDc1NSAke1dPUktESVJ9LyR7U09VUkNFM30gJHtEfS91c3IvYmluL293LXJtbW9mLnNoCisgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS8ke1NPVVJDRTV9ICR7RH0vZXRjL3BhbS5kL29wZW53YmVtCisKKyAgICBNT0ZQQVRIPSR7RH0vdXNyL3NoYXJlL21vZi9vcGVud2JlbQorICAgIGluc3RhbGwgLWQgJE1PRlBBVEgKKyAgICBtdiAke0R9L3Vzci9zaGFyZS9vcGVud2JlbS8qICRNT0ZQQVRILworICAgIHJtZGlyICR7RH0vdXNyL3NoYXJlL29wZW53YmVtCisgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS8ke1NPVVJDRTF9ICRNT0ZQQVRILworCisgICAgdG91Y2ggJHtEfS92YXIvbGliL29wZW53YmVtL3tjbGFzc2Fzc29jaWF0aW9uLGluc3RhbmNlcyxpbnN0YXNzb2NpYXRpb24sbmFtZXNwYWNlcyxzY2hlbWF9LntkYXQsbmR4LGxvY2t9Cit9CisKK2luaGVyaXQgJHtAYmIudXRpbHMuY29udGFpbnMoJ1ZJUlRVQUwtUlVOVElNRV9pbml0X21hbmFnZXInLCdzeXN0ZW1kJywnc3lzdGVtZCcsJycsIGQpfQorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIm93Y2ltb21kLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAke2xpYmRpcn0gXAorICAgICR7ZGF0YWRpcn0vbW9mIFwKKyAgICAke3N5c3RlbWRfdW5pdGRpcn0gXAorIgorRklMRVNfJHtQTn0tZGJnICs9ICIgXAorICAgICR7bGliZGlyfS9vcGVud2JlbS9jKytwcm92aWRlcnMvLmRlYnVnIFwKKyAgICAke2xpYmRpcn0vb3BlbndiZW0vcHJvdmlmY3MvLmRlYnVnIFwKKyAgICAke2xpYmRpcn0vb3BlbndiZW0vYmluL29wZW53YmVtLy5kZWJ1ZyBcCisiCitGSUxFU18ke1BOfS1kZXYgPSAiIFwKKyAgICAke2luY2x1ZGVkaXJ9IFwKKyAgICAke2RhdGFkaXJ9L2FjbG9jYWwvb3BlbndiZW0ubTQgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wOTEwbmQvcDkxMG5kL2ZpeC12YXItbG9jay5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcDkxMG5kL3A5MTBuZC9maXgtdmFyLWxvY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWE4NGUxOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcDkxMG5kL3A5MTBuZC9maXgtdmFyLWxvY2sucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorVXNlIC92YXIvbG9jayBpbnN0ZWFkIG9mIC92YXIvbG9jay9zdWJzeXMKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitJbmRleDogcDkxMG5kL3A5MTBuZC44Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcDkxMG5kLm9yaWcvcDkxMG5kLjgJMjAxMS0xMS0xNCAyMjo0MTo0MS45MDQ2MTU4NzkgKzAxMDAKKysrKyBwOTEwbmQvcDkxMG5kLjgJMjAxMS0xMS0xNCAyMjo0OTo1Mi4yOTkwNDc2MDcgKzAxMDAKK0BAIC04Myw3ICs4Myw3IEBACisgLlNIICJTRUUgQUxTTyIKKyBwcmludGNhcCg1KSwgaG9zdHNfYWNjZXNzKDUpCisgLlNIIEZJTEVTCistL3Zhci9ydW4vcDkxMDBkLnBpZCwgL3Zhci9sb2NrL3N1YnN5cy9wOTEwMGQsIC9ldGMvaG9zdHMuYWxsb3csIC9ldGMvaG9zdHMuZGVueQorKy92YXIvcnVuL3A5MTAwZC5waWQsIC92YXIvbG9jay9wOTEwMGQsIC9ldGMvaG9zdHMuYWxsb3csIC9ldGMvaG9zdHMuZGVueQorIC5TSCBDT1BZUklHSFQKKyAuSSBwOTEwbmQKKyBpcyB1bmRlciB0aGUgR05VIFB1YmxpYyBMaWNlbnNlIFZlcnNpb24gMgorSW5kZXg6IHA5MTBuZC9wOTEwbmQuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHA5MTBuZC5vcmlnL3A5MTBuZC5jCTIwMTEtMTEtMTQgMjI6NDc6NDEuOTg2NDAxNDIwICswMTAwCisrKysgcDkxMG5kL3A5MTBuZC5jCTIwMTEtMTEtMTQgMjI6NDk6MjcuMjc0OTIzNTI0ICswMTAwCitAQCAtMTIyLDcgKzEyMiw3IEBACisgI2lmZGVmCQlMT0NLRklMRV9ESVIKKyAjZGVmaW5lCQlMT0NLRklMRQlMT0NLRklMRV9ESVIgIi9wOTEwJWNkIgorICNlbHNlCistI2RlZmluZQkJTE9DS0ZJTEUJIi92YXIvbG9jay9zdWJzeXMvcDkxMCVjZCIKKysjZGVmaW5lCQlMT0NLRklMRQkiL3Zhci9sb2NrL3A5MTAlY2QiCisgI2VuZGlmCisgI2lmbmRlZgkJUFJJTlRFUkZJTEUKKyAjZGVmaW5lICAgICAgICAgUFJJTlRFUkZJTEUgICAgICIvZGV2L2xwJWMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3A5MTBuZC9wOTEwbmRfMC45NS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcDkxMG5kL3A5MTBuZF8wLjk1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlYmJiMjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3A5MTBuZC9wOTEwbmRfMC45NS5iYgpAQCAtMCwwICsxLDIyIEBACitERVNDUklQVElPTiA9ICJBIHNtYWxsIG5ldHdvcmsgcHJpbnRlciBkYWVtb24gZm9yIGVtYmVkZGVkIHNpdHVhdGlvbnMgdGhhdCBwYXNzZXMgdGhlIGpvYiBkaXJlY3RseSB0byB0aGUgcHJpbnRlciIKK0hPTUVQQUdFID0gImh0dHA6Ly9wOTEwbmQuc291cmNlZm9yZ2UubmV0LyIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04Y2E0M2NiYzg0MmMyMzM2ZTgzNTkyNmMyMTY2YzI4YiIKKworUFIgPSAicjIiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3A5MTBuZC9wOTEwbmQtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtdmFyLWxvY2sucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjN2FjNmFmZGY3NzMwYWM4Mzg3YThlODcxOThkNDQ5MSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3ZDc4NjQyYzg2ZGMyNDdmYmRlZjFmZjg1YzU2NjI5ZGNkYzZiMmE0NTdjNzg2NDIwMjk5ZTI4NGZmZmNiMDI5IgorCitkb19jb21waWxlICgpIHsKKyAgICAke0NDfSAke0xERkxBR1N9IC1vIHA5MTBuZCBwOTEwbmQuYworfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1EIC1tIDA3NTUgJHtTfS9wOTEwbmQgJHtEfSR7c2JpbmRpcn0vcDkxMG5kCisgICAgaW5zdGFsbCAtRCAtbSAwNjQ0ICR7U30vcDkxMG5kLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vcDkxMG5kLmNvbmYKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGFtLXBhc3N3ZHFjL2ZpbGVzLzEwMDBwYXRjaC0yMTkyMDEucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BhbS1wYXNzd2RxYy9maWxlcy8xMDAwcGF0Y2gtMjE5MjAxLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2NmQ0NjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BhbS1wYXNzd2RxYy9maWxlcy8xMDAwcGF0Y2gtMjE5MjAxLnBhdGNoCkBAIC0wLDAgKzEsMTU2IEBACitkaWZmIC11ck5wIHBhbV9wYXNzd2RxYy0xLjAuNS1vcmlnL3BhbV9wYXNzd2RxYy5jIHBhbV9wYXNzd2RxYy0xLjAuNS9wYW1fcGFzc3dkcWMuYworLS0tIHBhbV9wYXNzd2RxYy0xLjAuNS1vcmlnL3BhbV9wYXNzd2RxYy5jCTIwMDgtMDItMTIgMTU6MTE6MTMuMDAwMDAwMDAwIC0wNTAwCisrKysgcGFtX3Bhc3N3ZHFjLTEuMC41L3BhbV9wYXNzd2RxYy5jCTIwMDktMDktMjggMTI6MTA6MzIuMTcxNjk2Njk0IC0wNDAwCitAQCAtNzAsNiArNzAsOCBAQCB0eXBlZGVmIHN0cnVjdCB7CisgCXBhc3N3ZHFjX3BhcmFtc190IHFjOworIAlpbnQgZmxhZ3M7CisgCWludCByZXRyeTsKKysJY2hhciBvbGRwYXNzX3Byb21wdF9maWxlW0ZJTEVfTEVOKzFdOworKwljaGFyIG5ld3Bhc3NfcHJvbXB0X2ZpbGVbRklMRV9MRU4rMV07CisgfSBwYXJhbXNfdDsKKyAKKyBzdGF0aWMgcGFyYW1zX3QgZGVmYXVsdHMgPSB7CitAQCAtNzksMTAgKzgxLDEzIEBAIHN0YXRpYyBwYXJhbXNfdCBkZWZhdWx0cyA9IHsKKyAJCTMsCQkJCS8qIHBhc3NwaHJhc2Vfd29yZHMgKi8KKyAJCTQsCQkJCS8qIG1hdGNoX2xlbmd0aCAqLworIAkJMSwJCQkJLyogc2ltaWxhcl9kZW55ICovCistCQk0MgkJCQkvKiByYW5kb21fYml0cyAqLworKwkJNDIsCQkJCS8qIHJhbmRvbV9iaXRzICovCisrCQkxCQkJCS8qIGZpcnN0dXBwZXJfbGFzdGRpZ2l0X2NoZWNrICovCisgCX0sCisgCUZfRU5GT1JDRV9FVkVSWU9ORSwJCQkvKiBmbGFncyAqLworLQkzCQkJCQkvKiByZXRyeSAqLworKwkzLAkJCQkJLyogcmV0cnkgKi8KKysJIiIsCQkJCQkvKiBvbGRwYXNzX3Byb21wdF9maWxlICovCisrCSIiCQkJCQkvKiBuZXdwYXNzX3Byb21wdF9maWxlICovCisgfTsKKyAKKyAjZGVmaW5lIFBST01QVF9PTERQQVNTIFwKK0BAIC0zNjEsNiArMzY2LDM3IEBAIHN0YXRpYyBpbnQgcGFyc2UocGFyYW1zX3QgKnBhcmFtcywgcGFtX2gKKyAJCWlmICghc3RyY21wKCphcmd2LCAidXNlX2F1dGh0b2siKSkgeworIAkJCXBhcmFtcy0+ZmxhZ3MgfD0gRl9VU0VfQVVUSFRPSzsKKyAJCX0gZWxzZQorKwkJaWYgKCFzdHJjbXAoKmFyZ3YsICJkaXNhYmxlX2ZpcnN0dXBwZXJfbGFzdGRpZ2l0X2NoZWNrIikpIHsKKysJCQlwYXJhbXMtPnFjLmZpcnN0dXBwZXJfbGFzdGRpZ2l0X2NoZWNrID0gMDsKKysJCX0gZWxzZQorKwkJaWYgKCFzdHJuY21wKCphcmd2LCAib2xkcGFzc19wcm9tcHRfZmlsZT0iLCAyMCkpIHsKKysJCQlpbnQgbjsKKysJCQlGSUxFICpmcCA9IGZvcGVuKCphcmd2ICsgMjAsICJyIik7CisrCQkJaWYgKGZwKSB7CisrCQkJCW49ZnJlYWQocGFyYW1zLT5vbGRwYXNzX3Byb21wdF9maWxlLCBzaXplb2YoY2hhciksIEZJTEVfTEVOLCBmcCk7CisrCQkJCWlmICgwPT1uIHx8IGZlcnJvcihmcCkhPTAgKSB7CisrCQkJCQltZW1zZXQocGFyYW1zLT5vbGRwYXNzX3Byb21wdF9maWxlLCAnXDAnLCBGSUxFX0xFTisxKTsKKysJCQkJfQorKwkJCQllbHNlIHsKKysJCQkJCWZlb2YoZnApPyAocGFyYW1zLT5vbGRwYXNzX3Byb21wdF9maWxlW24tMV09J1wwJyk6IChwYXJhbXMtPm9sZHBhc3NfcHJvbXB0X2ZpbGVbbl09J1wwJyk7CisrCQkJCX0KKysJCQkJZmNsb3NlKGZwKTsKKysJCQl9CisrCQl9IGVsc2UKKysJCWlmICghc3RybmNtcCgqYXJndiwgIm5ld3Bhc3NfcHJvbXB0X2ZpbGU9IiwgMjApKSB7CisrCQkJaW50IG47CisrCQkJRklMRSAqZnAgPSBmb3BlbigqYXJndiArIDIwLCAiciIpOworKwkJCWlmIChmcCkgeworKwkJCQluPWZyZWFkKHBhcmFtcy0+bmV3cGFzc19wcm9tcHRfZmlsZSwgc2l6ZW9mKGNoYXIpLCBGSUxFX0xFTiwgZnApOworKwkJCQlpZiAoMD09biB8fCBmZXJyb3IoZnApIT0wICkgeworKwkJCQkJbWVtc2V0KHBhcmFtcy0+bmV3cGFzc19wcm9tcHRfZmlsZSwgJ1wwJywgRklMRV9MRU4rMSk7CisrCQkJCX0KKysJCQkJZWxzZSB7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZlb2YoZnApPyAocGFyYW1zLT5uZXdwYXNzX3Byb21wdF9maWxlW24tMV09J1wwJyk6IChwYXJhbXMtPm5ld3Bhc3NfcHJvbXB0X2ZpbGVbbl09J1wwJyk7CisrCQkJCX0KKysJCQkJZmNsb3NlKGZwKTsKKysJCQl9CisrCQl9IGVsc2UKKyAJCQlicmVhazsKKyAJCWFyZ2MtLTsgYXJndisrOworIAl9CitAQCAtNDA2LDcgKzQ0Miw3IEBAIFBBTV9FWFRFUk4gaW50IHBhbV9zbV9jaGF1dGh0b2socGFtX2hhbmQKKyAKKyAJaWYgKGFza19vbGRhdXRodG9rICYmICFhbV9yb290KHBhbWgpKSB7CisgCQlzdGF0dXMgPSBjb252ZXJzZShwYW1oLCBQQU1fUFJPTVBUX0VDSE9fT0ZGLAorLQkJICAgIFBST01QVF9PTERQQVNTLCAmcmVzcCk7CisrCQkgICAgc3RybGVuKHBhcmFtcy5vbGRwYXNzX3Byb21wdF9maWxlKSA/IHBhcmFtcy5vbGRwYXNzX3Byb21wdF9maWxlIDogUFJPTVBUX09MRFBBU1MsICZyZXNwKTsKKyAKKyAJCWlmIChzdGF0dXMgPT0gUEFNX1NVQ0NFU1MpIHsKKyAJCQlpZiAocmVzcCAmJiByZXNwLT5yZXNwKSB7CitAQCAtNTQwLDggKzU3Niw3IEBAIHJldHJ5OgorIAkJICAgIE1FU1NBR0VfUkFORE9NRkFJTEVEIDogTUVTU0FHRV9NSVNDT05GSUdVUkVEKTsKKyAJCXJldHVybiBQQU1fQVVUSFRPS19FUlI7CisgCX0KKy0KKy0Jc3RhdHVzID0gY29udmVyc2UocGFtaCwgUEFNX1BST01QVF9FQ0hPX09GRiwgUFJPTVBUX05FV1BBU1MxLCAmcmVzcCk7CisrCXN0YXR1cyA9IGNvbnZlcnNlKHBhbWgsIFBBTV9QUk9NUFRfRUNIT19PRkYsIHN0cmxlbihwYXJhbXMubmV3cGFzc19wcm9tcHRfZmlsZSkgPyBwYXJhbXMubmV3cGFzc19wcm9tcHRfZmlsZSA6IFBST01QVF9ORVdQQVNTMSwgJnJlc3ApOworIAlpZiAoc3RhdHVzID09IFBBTV9TVUNDRVNTICYmICghcmVzcCB8fCAhcmVzcC0+cmVzcCkpCisgCQlzdGF0dXMgPSBQQU1fQVVUSFRPS19FUlI7CisgCitkaWZmIC11ck5wIHBhbV9wYXNzd2RxYy0xLjAuNS1vcmlnL3Bhc3N3ZHFjX2NoZWNrLmMgcGFtX3Bhc3N3ZHFjLTEuMC41L3Bhc3N3ZHFjX2NoZWNrLmMKKy0tLSBwYW1fcGFzc3dkcWMtMS4wLjUtb3JpZy9wYXNzd2RxY19jaGVjay5jCTIwMDgtMDItMTIgMTQ6MzE6NTIuMDAwMDAwMDAwIC0wNTAwCisrKysgcGFtX3Bhc3N3ZHFjLTEuMC41L3Bhc3N3ZHFjX2NoZWNrLmMJMjAwOS0wOS0yNSAyMjo0NToxNi4wODA4NDI0MjUgLTA0MDAKK0BAIC05MCwxMCArOTAsMTIgQEAgc3RhdGljIGludCBpc19zaW1wbGUocGFzc3dkcWNfcGFyYW1zX3QgKgorIAorIC8qIFVwcGVyIGNhc2UgY2hhcmFjdGVycyBhbmQgZGlnaXRzIHVzZWQgaW4gY29tbW9uIHdheXMgZG9uJ3QgaW5jcmVhc2UgdGhlCisgICogc3RyZW5ndGggb2YgYSBwYXNzd29yZCAqLworLQljID0gKHVuc2lnbmVkIGNoYXIpbmV3cGFzc1swXTsKKy0JaWYgKHVwcGVycyAmJiBpc2FzY2lpKGMpICYmIGlzdXBwZXIoYykpIHVwcGVycy0tOworLQljID0gKHVuc2lnbmVkIGNoYXIpbmV3cGFzc1tsZW5ndGggLSAxXTsKKy0JaWYgKGRpZ2l0cyAmJiBpc2FzY2lpKGMpICYmIGlzZGlnaXQoYykpIGRpZ2l0cy0tOworKwlpZiAocGFyYW1zLT5maXJzdHVwcGVyX2xhc3RkaWdpdF9jaGVjaykgeworKwkJYyA9ICh1bnNpZ25lZCBjaGFyKW5ld3Bhc3NbMF07CisrCQlpZiAodXBwZXJzICYmIGlzYXNjaWkoYykgJiYgaXN1cHBlcihjKSkgdXBwZXJzLS07CisrCQljID0gKHVuc2lnbmVkIGNoYXIpbmV3cGFzc1tsZW5ndGggLSAxXTsKKysJCWlmIChkaWdpdHMgJiYgaXNhc2NpaShjKSAmJiBpc2RpZ2l0KGMpKSBkaWdpdHMtLTsKKysJfQorIAorIC8qIENvdW50IHRoZSBudW1iZXIgb2YgZGlmZmVyZW50IGNoYXJhY3RlciBjbGFzc2VzIHdlJ3ZlIHNlZW4uICBXZSBhc3N1bWUKKyAgKiB0aGF0IHRoZXJlIGFyZSBubyBub24tQVNDSUkgY2hhcmFjdGVycyBmb3IgZGlnaXRzLiAqLworZGlmZiAtdXJOcCBwYW1fcGFzc3dkcWMtMS4wLjUtb3JpZy9wYXNzd2RxYy5oIHBhbV9wYXNzd2RxYy0xLjAuNS9wYXNzd2RxYy5oCistLS0gcGFtX3Bhc3N3ZHFjLTEuMC41LW9yaWcvcGFzc3dkcWMuaAkyMDA4LTAyLTEyIDE0OjMwOjAwLjAwMDAwMDAwMCAtMDUwMAorKysrIHBhbV9wYXNzd2RxYy0xLjAuNS9wYXNzd2RxYy5oCTIwMDktMDktMjUgMTQ6MDg6NTYuMjE0Njk1ODU4IC0wNDAwCitAQCAtNywxMiArNywxNSBAQAorIAorICNpbmNsdWRlIDxwd2QuaD4KKyAKKysjZGVmaW5lIEZJTEVfTEVOCQk0MDk2CS8qIE1heCBmaWxlIGxlbiA9IDQwOTYgKi8KKysKKyB0eXBlZGVmIHN0cnVjdCB7CisgCWludCBtaW5bNV0sIG1heDsKKyAJaW50IHBhc3NwaHJhc2Vfd29yZHM7CisgCWludCBtYXRjaF9sZW5ndGg7CisgCWludCBzaW1pbGFyX2Rlbnk7CisgCWludCByYW5kb21fYml0czsKKysJaW50IGZpcnN0dXBwZXJfbGFzdGRpZ2l0X2NoZWNrOworIH0gcGFzc3dkcWNfcGFyYW1zX3Q7CisgCisgZXh0ZXJuIGNoYXIgX3Bhc3N3ZHFjX3dvcmRzZXRfNGtbMHgxMDAwXVs2XTsKK2RpZmYgLXVyTnAgcGFtX3Bhc3N3ZHFjLTEuMC41LW9yaWcvUkVBRE1FIHBhbV9wYXNzd2RxYy0xLjAuNS9SRUFETUUKKy0tLSBwYW1fcGFzc3dkcWMtMS4wLjUtb3JpZy9SRUFETUUJMjAwOC0wMi0xMiAxNDo0MzozMy4wMDAwMDAwMDAgLTA1MDAKKysrKyBwYW1fcGFzc3dkcWMtMS4wLjUvUkVBRE1FCTIwMDktMDktMjggMTI6MTI6NDAuMjUxMDE2NDIzIC0wNDAwCitAQCAtNDEsOSArNDEsMTIgQEAgd29yZHMgKHNlZSB0aGUgInBhc3NwaHJhc2UiIG9wdGlvbiBiZWxvdworIE4zIGFuZCBONCBhcmUgdXNlZCBmb3IgcGFzc3dvcmRzIGNvbnNpc3Rpbmcgb2YgY2hhcmFjdGVycyBmcm9tIHRocmVlCisgYW5kIGZvdXIgY2hhcmFjdGVyIGNsYXNzZXMsIHJlc3BlY3RpdmVseS4KKyAKKysJZGlzYWJsZV9maXJzdHVwcGVyX2xhc3RkaWdpdF9jaGVjawlbXQorKworIFdoZW4gY2FsY3VsYXRpbmcgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXIgY2xhc3NlcywgdXBwZXItY2FzZSBsZXR0ZXJzCisgdXNlZCBhcyB0aGUgZmlyc3QgY2hhcmFjdGVyIGFuZCBkaWdpdHMgdXNlZCBhcyB0aGUgbGFzdCBjaGFyYWN0ZXIgb2YgYQorLXBhc3N3b3JkIGFyZSBub3QgY291bnRlZC4KKytwYXNzd29yZCBhcmUgbm90IGNvdW50ZWQuIFRvIGRpc2FibGUgdGhpcywgeW91IGNhbiBzcGVjaWZ5IAorKyJkaXNhYmxlX2ZpcnN0dXBwZXJfbGFzdGRpZ2l0X2NoZWNrIi4KKyAKKyBJbiBhZGRpdGlvbiB0byBiZWluZyBzdWZmaWNpZW50bHkgbG9uZywgcGFzc3dvcmRzIGFyZSByZXF1aXJlZCB0bworIGNvbnRhaW4gZW5vdWdoIGRpZmZlcmVudCBjaGFyYWN0ZXJzIGZvciB0aGUgY2hhcmFjdGVyIGNsYXNzZXMgYW5kCitAQCAtMTQyLDYgKzE0NSwxNCBAQCBUaGlzIGRpc2FibGVzIHVzZXIgaW50ZXJhY3Rpb24gd2l0aGluIHBhCisgdGhlIG9ubHkgZGlmZmVyZW5jZSBiZXR3ZWVuICJ1c2VfZmlyc3RfcGFzcyIgYW5kICJ1c2VfYXV0aHRvayIgaXMgdGhhdAorIHRoZSBmb3JtZXIgaXMgaW5jb21wYXRpYmxlIHdpdGggImFza19vbGRhdXRodG9rIi4KKyAKKysJb2xkcGFzc19wcm9tcHRfZmlsZT1hYnNvbHV0ZS1maWxlLXBhdGgJW10KKysJbmV3cGFzc19wcm9tcHRfZmlsZT1hYm9zdWx0ZS1maWxlLXBhdGgJW10KKysKKytUaGUgb3B0aW9ucyAib2xkcGFzc19wcm9tcHRfZmlsZSIgYW5kICJuZXdwYXNzX3Byb21wdF9maWxlIiBjYW4gYmUgdXNlZAorK3RvIG92ZXJyaWRlIHByb21wdHMgd2hpbGUgcmVxdWVzdGluZyBvbGQgcGFzc3dvcmQgYW5kIG5ldyBwYXNzd29yZCwgCisrcmVzcGVjdGl2ZWx5LiBUaGUgbWF4aW11bSBzaXplIG9mIHRoZSBwcm9tcHQgZmlsZXMgY2FuIGJlIDQwOTYgCisrY2hhcmFjdGVycyBhdCBwcmVzZW50LiBJZiB0aGUgZmlsZSBzaXplIGlzIG1vcmUgdGhhbiA0MDk2IGNoYXJhY3RlcnMsIHRoZQorK291dHB1dCB3aWxsIGJlIHRydW5jYXRlZCB0byA0MDk2IGNoYXJhY3RlcnMuCisgLS0gCisgU29sYXIgRGVzaWduZXIgPHNvbGFyIGF0IG9wZW53YWxsLmNvbT4KKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGFtLXBhc3N3ZHFjL2ZpbGVzLzcwMDBNYWtlZmlsZS1maXgtQ0MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BhbS1wYXNzd2RxYy9maWxlcy83MDAwTWFrZWZpbGUtZml4LUNDLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzNmZiYTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BhbS1wYXNzd2RxYy9maWxlcy83MDAwTWFrZWZpbGUtZml4LUNDLnBhdGNoCkBAIC0wLDAgKzEsMTEgQEAKKy0tLSBwYW1fcGFzc3dkcWMtMS4wLjUvTWFrZWZpbGUub3JpZwkyMDEyLTEwLTAyIDIwOjUzOjU1LjQ0MzU5Mjg4NiArMDkwMAorKysrIHBhbV9wYXNzd2RxYy0xLjAuNS9NYWtlZmlsZQkyMDEyLTEwLTAyIDIwOjU0OjE5LjA3NjEwODAwMSArMDkwMAorQEAgLTIsNyArMiw3IEBACisgIyBDb3B5cmlnaHQgKGMpIDIwMDAtMjAwMywyMDA1IGJ5IFNvbGFyIERlc2lnbmVyLiAgU2VlIExJQ0VOU0UuCisgIworIAorLUNDID0gZ2NjCisrI0NDID0gZ2NjCisgTEQgPSAkKENDKQorIFJNID0gcm0gLWYKKyBNS0RJUiA9IG1rZGlyIC1wCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BhbS1wYXNzd2RxYy9wYW0tcGFzc3dkcWNfMS4wLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BhbS1wYXNzd2RxYy9wYW0tcGFzc3dkcWNfMS4wLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGU4YjdkOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGFtLXBhc3N3ZHFjL3BhbS1wYXNzd2RxY18xLjAuNS5iYgpAQCAtMCwwICsxLDM1IEBACitTVU1NQVJZID0gIlBsdWdnYWJsZSBwYXNzd29yZCBxdWFsaXR5LWNvbnRyb2wgbW9kdWxlLiIKK0RFU0NSSVBUSU9OID0gInBhbV9wYXNzd2RxYyBpcyBhIHNpbXBsZSBwYXNzd29yZCBzdHJlbmd0aCBjaGVja2luZyBtb2R1bGUgZm9yIFwKK1BBTS1hd2FyZSBwYXNzd29yZCBjaGFuZ2luZyBwcm9ncmFtcywgc3VjaCBhcyBwYXNzd2QoMSkuIEluIGFkZGl0aW9uIFwKK3RvIGNoZWNraW5nIHJlZ3VsYXIgcGFzc3dvcmRzLCBpdCBvZmZlcnMgc3VwcG9ydCBmb3IgcGFzc3BocmFzZXMgYW5kIFwKK2NhbiBwcm92aWRlIHJhbmRvbWx5IGdlbmVyYXRlZCBwYXNzd29yZHMuIEFsbCBmZWF0dXJlcyBhcmUgb3B0aW9uYWwgXAorYW5kIGNhbiBiZSAocmUtKWNvbmZpZ3VyZWQgd2l0aG91dCByZWJ1aWxkaW5nLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5vcGVud2FsbC5jb20vcGFzc3dkcWMvIgorU0VDVElPTiA9ICJTeXN0ZW0gRW52aXJvbm1lbnQvQmFzZSIKKworTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1lMjg0ZDAxM2VmMDhlNjZkNDczN2Y0NDZjNTg5MDU1MCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lm9wZW53YWxsLmNvbS9wYW0vbW9kdWxlcy9wYW1fcGFzc3dkcWMvcGFtX3Bhc3N3ZHFjLTEuMC41LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8xMDAwcGF0Y2gtMjE5MjAxLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzcwMDBNYWtlZmlsZS1maXgtQ0MucGF0Y2ggXAorICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJjZDljMDE0ZjczNjE1OGIxYTYwMzg0YThlMmJkYzI4YSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzMjUyOGRkZjdkODIxOWM3ODhiNmU3NzAyMzYxNjExZmYxNmM2MzQwYjZkYzBmNDE4ZmYxNjRhYWRjNGE0YTg4IgorCisKK1MgPSAiJHtXT1JLRElSfS9wYW1fcGFzc3dkcWMtJHtQVn0iCisKK0RFUEVORFMgPSAibGlicGFtIgorCitFWFRSQV9PRU1BS0UgPSAiQ0ZMQUdTPSIke0NGTEFHU30gLVdhbGwgLWZQSUMgLURIQVZFX1NIQURPVyIgXAorICAgICAgICAgICAgICAgIFNFQ1VSRURJUj0ke2Jhc2VfbGliZGlyfS9zZWN1cml0eSIKKworZG9faW5zdGFsbCgpIHsKKwlvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9Cit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2Jhc2VfbGliZGlyfS9zZWN1cml0eS9wYW1fcGFzc3dkcWMuc28iCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7YmFzZV9saWJkaXJ9L3NlY3VyaXR5Ly5kZWJ1ZyIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wY3NjLWxpdGUvcGNzYy1saXRlXzEuOC4xMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGNzYy1saXRlL3Bjc2MtbGl0ZV8xLjguMTMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2M3MjU0OQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGNzYy1saXRlL3Bjc2MtbGl0ZV8xLjguMTMuYmIKQEAgLTAsMCArMSwzMyBAQAorU1VNTUFSWSA9ICJQQy9TQyBMaXRlIHNtYXJ0IGNhcmQgZnJhbWV3b3JrIGFuZCBhcHBsaWNhdGlvbnMiCitIT01FUEFHRSA9ICJodHRwOi8vcGNzY2xpdGUuYWxpb3RoLmRlYmlhbi5vcmcvIgorTElDRU5TRSA9ICJCU0QgJiBHUEx2MysiCitMSUNFTlNFXyR7UE59LWRldiA9ICJHUEx2MysiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iY2ZiZDg1MjMwYWMzYzU4NmZiMjk0YzhiNjI3Y2YzMiIKK0RFUEVORFMgPSAidWRldiIKKworU1JDX1VSSSA9ICJodHRwczovL2FsaW90aC5kZWJpYW4ub3JnL2Zycy9kb3dubG9hZC5waHAvZmlsZS80MTI2L3Bjc2MtbGl0ZS0ke1BWfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gIjRkY2QyMmQyMGE2ZGY4ODEwZmFjNTQ4MGNjMzIwYjZkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImYzMTUwNDdlODA4ZDYzYTMyNjJjNGEwNDBmNzc1NDhhZjJlMDRkMWZkNzA3ZTBjMjc1OTM2OWI5MjZmYmJjM2IiCisKKworaW5oZXJpdCBhdXRvdG9vbHMgc3lzdGVtZCBwa2djb25maWcKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS1kaXNhYmxlLWxpYnVzYiBcCisgICAgLS1lbmFibGUtbGlidWRldiBcCisgICAgLS1lbmFibGUtdXNiZHJvcGRpcj0ke2xpYmRpcn0vcGNzYy9kcml2ZXJzIFwKKyIKKworUyA9ICIke1dPUktESVJ9L3Bjc2MtbGl0ZS0ke1BWfSIKKworUEFDS0FHRVMgPSsgIiR7UE59LWxpYiIKKworUlJFQ09NTUVORFNfJHtQTn0gPSAiY2NpZCIKKworRklMRVNfJHtQTn0tbGliID0gIiR7bGliZGlyfS9saWIqJHtTT0xJQlN9IgorCitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInBjc2NkLnNvY2tldCIKK1JERVBFTkRTXyR7UE59ICs9InB5dGhvbiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGljb2NvbS9waWNvY29tXzEuNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGljb2NvbS9waWNvY29tXzEuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYmVlNjU2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWNvY29tL3BpY29jb21fMS43LmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiTGlnaHR3ZWlnaHQgYW5kIG1pbmltYWwgKH4yMEspIGR1bWItdGVybWluYWwgZW11bGF0aW9uIHByb2dyYW0iCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFID0gIkdQTHYyKyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9waWNvY29tLyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT0zOTNhNWNhNDQ1ZjY5NjU4NzNlY2EwMjU5YTE3ZjgzMyIKKworU1JDX1VSSSA9ICJodHRwOi8vcGljb2NvbS5nb29nbGVjb2RlLmNvbS9maWxlcy9waWNvY29tLSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjhlYWJhMWQzMTQwN2U4NDA4Njc0ZDZlNTdhZjQ0N2VmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQwZjMxYzhmN2EyMTVhNzY5MjJkMzBjODFhNTJiOWEyMzQ4Yzg5ZTAyYTg0OTM1NTE3MDAyYjNiYzJjMTEyOWUiCisKK0NQUEZMQUdTX2FwcGVuZCA9ICctRFZFUlNJT05fU1RSPVxcIiR7UFZ9XFwiIC1EVVVDUF9MT0NLX0RJUj1cXCIvdmFyL2xvY2tcXCIgLURISUdIX0JBVUQnCisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke0JQTn0gcGNhc2MgcGN4bSBwY3ltIHBjem0gJHtEfSR7YmluZGlyfS8KK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWRnaW4vbGlib3RyL2ZpeF9xYS1pc3N1ZV9pbmNsdWRlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWRnaW4vbGlib3RyL2ZpeF9xYS1pc3N1ZV9pbmNsdWRlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3ODY2MzMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpZGdpbi9saWJvdHIvZml4X3FhLWlzc3VlX2luY2x1ZGUucGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorbGlib3RyOiBGaXggUUEtaXNzdWUgd2hlcmUgYWxzbyBmaWxlcyBmcm9tIGJ1aWxkaG9zdCB3b3VsZCBiZSBpbmNsdWRlZAorCitXYXJuaW5nIHdhczoKK2NjMTogd2FybmluZzogaW5jbHVkZSBsb2NhdGlvbiAiL3Vzci9pbmNsdWRlIiBpcyB1bnNhZmUgZm9yCitjcm9zcy1jb21waWxhdGlvbiBbLVdwb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzXQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSmFrb2IgRHJleGVsIDxqYWtlNDJAcm9tbWVsLnN0dy51bmktZXJsYW5nZW4uZGU+CisKKy0tLSBhL3Rvb2xraXQvTWFrZWZpbGUuYW0JMjAxMi0wNS0wMyAxNTo1MjoyMi4wMDAwMDAwMDAgKzAyMDAKKysrKyBiL3Rvb2xraXQvTWFrZWZpbGUuYW0JMjAxNC0wMS0xMyAxMjoxMjoyNi4wMzAzNjkzNTcgKzAxMDAKK0BAIC0xLDQgKzEsNCBAQAorLUlOQ0xVREVTID0gLUkkKGluY2x1ZGVkaXIpIC1JLi4vc3JjIEBMSUJHQ1JZUFRfQ0ZMQUdTQAorK0lOQ0xVREVTID0gLUkuLi9zcmMgQExJQkdDUllQVF9DRkxBR1NACisgCisgbm9pbnN0X0hFQURFUlMgPSBhZXMuaCBjdHJtb2RlLmggcGFyc2UuaCBzZXNza2V5cy5oIHJlYWRvdHIuaCBzaGExaG1hYy5oCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpZGdpbi9saWJvdHIvc2VwYnVpbGQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpZGdpbi9saWJvdHIvc2VwYnVpbGQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjY2ZTUyOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGlkZ2luL2xpYm90ci9zZXBidWlsZC5wYXRjaApAQCAtMCwwICsxLDE2IEBACitGaXggYnVpbGRzIHdpdGggJHtCfSAhPSAke1N9CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitSUCAyMDE0LzcvMTcKKworSW5kZXg6IGxpYm90ci00LjAuMC90b29sa2l0L01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGlib3RyLTQuMC4wLm9yaWcvdG9vbGtpdC9NYWtlZmlsZS5hbQkyMDE0LTA3LTE2IDE4OjA5OjU5Ljc3Nzg1ODAyMiArMDAwMAorKysrIGxpYm90ci00LjAuMC90b29sa2l0L01ha2VmaWxlLmFtCTIwMTQtMDctMTcgMDY6Mjg6NTEuMzU5MDY2MTU1ICswMDAwCitAQCAtMSw0ICsxLDQgQEAKKy1JTkNMVURFUyA9IC1JLi4vc3JjIEBMSUJHQ1JZUFRfQ0ZMQUdTQAorK0lOQ0xVREVTID0gLUkkKHRvcF9zcmNkaXIpL3NyYyBATElCR0NSWVBUX0NGTEFHU0AKKyAKKyBub2luc3RfSEVBREVSUyA9IGFlcy5oIGN0cm1vZGUuaCBwYXJzZS5oIHNlc3NrZXlzLmggcmVhZG90ci5oIHNoYTFobWFjLmgKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGlkZ2luL2xpYm90cl80LjAuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGlkZ2luL2xpYm90cl80LjAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZDllZWFiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWRnaW4vbGlib3RyXzQuMC4wLmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiKE9UUikgTWVzc2FnaW5nIGFsbG93cyB5b3UgdG8gaGF2ZSBwcml2YXRlIGNvbnZlcnNhdGlvbnMgb3ZlciBpbnN0YW50IG1lc3NhZ2luZyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuY3lwaGVycHVua3MuY2Evb3RyLyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05MmZlMTc0YmFkNmRhMzc2M2Y2ZTllOWVhZmY2ZGYyNCIKK0RFUEVORFMgPSAibGliZ2NyeXB0IGxpYmdwZy1lcnJvciIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmN5cGhlcnB1bmtzLmNhL290ci8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZml4X3FhLWlzc3VlX2luY2x1ZGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc2VwYnVpbGQucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDA5NzlkY2E4MmQ3MDM4M2ZjZDFiMDFmMzk3NDM2M2MiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2Y5MTE5OTQ0MDk4OThlNzQ1Mjc3MzA3NDVlZjM1ZWQ3NWMzNTJjNjk1YTE4MjJhNjc3YTM0YjJjZjAyOTNiNCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpZGdpbi9waWRnaW4tb3RyL2lnbm9yZV9leHRyYS1wb3J0YWJpbGl0eV93YXJuaW5ncy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGlkZ2luL3BpZGdpbi1vdHIvaWdub3JlX2V4dHJhLXBvcnRhYmlsaXR5X3dhcm5pbmdzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiMGFkODcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpZGdpbi9waWRnaW4tb3RyL2lnbm9yZV9leHRyYS1wb3J0YWJpbGl0eV93YXJuaW5ncy5wYXRjaApAQCAtMCwwICsxLDE5IEBACitwaWRnaW4tb3RyOiBTaWxlbmNlIG5vLWV4dHJhLXBvcnRhYmlsaXR5IHdhcm5pbmdzCisKK01ha2UgaXQgYnVpbGQgd2l0aCBPRSwgd2FzIG5vdCBidWlsZGluZyB3aXRoIHdhcm5pbmcgdHVybmVkIG9uCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBKYWtvYiBEcmV4ZWwgPGpha2U0MkByb21tZWwuc3R3LnVuaS1lcmxhbmdlbi5kZT4KKworLS0tIGEvY29uZmlndXJlLmFjCTIwMTItMDktMDEgMTc6MDM6MTkuMDAwMDAwMDAwICswMjAwCisrKysgYi9jb25maWd1cmUuYWMJMjAxNC0wMS0xMiAyMTo1OToyNC45MjAzMDAyMTUgKzAxMDAKK0BAIC00LDcgKzQsNyBAQAorIAorIEFNX0NPTkZJR19IRUFERVIoY29uZmlnLmgpCisgCistQU1fSU5JVF9BVVRPTUFLRShbLVdhbGwgLVdlcnJvcl0pCisrQU1fSU5JVF9BVVRPTUFLRShbLVdhbGwgLVdlcnJvciAtV25vLWV4dHJhLXBvcnRhYmlsaXR5XSkKKyAKKyBBQ19QUk9HX0NDCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpZGdpbi9waWRnaW4tb3RyXzQuMC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWRnaW4vcGlkZ2luLW90cl80LjAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iODg0YjVhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWRnaW4vcGlkZ2luLW90cl80LjAuMC5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIihPVFIpIE1lc3NhZ2luZyBhbGxvd3MgeW91IHRvIGhhdmUgcHJpdmF0ZSBjb252ZXJzYXRpb25zIG92ZXIgaW5zdGFudCBtZXNzYWdpbmciCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmN5cGhlcnB1bmtzLmNhL290ci8iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTJmZTE3NGJhZDZkYTM3NjNmNmU5ZTllYWZmNmRmMjQiCitERVBFTkRTID0gImxpYmdjcnlwdCBsaWJvdHIgcGlkZ2luIGludGx0b29sLW5hdGl2ZSIKKworUE5CTEFDS0xJU1RbcGlkZ2luLW90cl0gPz0gImRlcGVuZHMgb24gYmxhY2tsaXN0ZWQgcGlkZ2luIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuY3lwaGVycHVua3MuY2Evb3RyLyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9pZ25vcmVfZXh0cmEtcG9ydGFiaWxpdHlfd2FybmluZ3MucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZWFkYjk1MzM3NmFjYzQ3NGU1NjA0MWQ0YzEyYWEyYzgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDU2YjNmMDkyZGJlOWVlNjU5NzY0MWM3ZDJkZDI5NDg4NGRjMDRiYTQ3YWFmNGVjNTcxY2Q1NDk3N2RmNDY5MSIKKworCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vcGlkZ2luLyoiCitGSUxFU18ke1BOfS1kYmcgPSAiJHtsaWJkaXJ9L3BpZGdpbi8uZGVidWciCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9waWRnaW4vLmRlYnVnL3BpZGdpbi1vdHIuc28iCitGSUxFU18ke1BOfS1kYmcgKz0gIi91c3Ivc3JjL2RlYnVnL3BpZGdpbi1vdHIvJHtQVn0tJHtQUn0vJHtQfS8qIgoraW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpZGdpbi9waWRnaW4vcGlkZ2luLWNyb3NzLXB5dGhvbi0yNjUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpZGdpbi9waWRnaW4vcGlkZ2luLWNyb3NzLXB5dGhvbi0yNjUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJiZjRlZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGlkZ2luL3BpZGdpbi9waWRnaW4tY3Jvc3MtcHl0aG9uLTI2NS5wYXRjaApAQCAtMCwwICsxLDM0IEBACitVc2UgcGtnLWNvbmZpZyBpbnN0ZWFkIG9mICR7UFlUSE9OfS1jb25maWcgdG8gZmluZCBweXRob24KKworZGlmZiAtdU5yIHBpZGdpbi0yLjEwLjEyLm9yaWcvY29uZmlndXJlLmFjIHBpZGdpbi0yLjEwLjEyL2NvbmZpZ3VyZS5hYworLS0tIHBpZGdpbi0yLjEwLjEyLm9yaWcvY29uZmlndXJlLmFjCTIwMTYtMDEtMDEgMDA6MTk6NDAuMDAwMDAwMDAwICswMTAwCisrKysgcGlkZ2luLTIuMTAuMTIvY29uZmlndXJlLmFjCTIwMTYtMDUtMDUgMTY6NTU6MTMuMjU4OTQ1OTI1ICswMjAwCitAQCAtMTU4NSwyMCArMTU4NSwxNSBAQAorIGRubCBDaGVjayBmb3IgUHl0aG9uIGhlYWRlcnMgKGN1cnJlbnRseSB1c2VmdWwgb25seSBmb3IgbGliZ250KQorIGRubCAoVGhhbmtzIHRvIFhDaGF0KQorIGlmIHRlc3QgIngkZW5hYmxlX2NvbnNvbGV1aSIgPSAieHllcyIgLWEgISAteiAiJFBZVEhPTiIgLWEgeCIkUFlUSE9OIiAhPSB4Im5vIiA7IHRoZW4KKy0JQUNfTVNHX0NIRUNLSU5HKGZvciBQeXRob24gY29tcGlsZSBmbGFncykKKy0JaWYgdGVzdCAtZiAke1BZVEhPTn0tY29uZmlnOyB0aGVuCistCQlQWV9DRkxBR1M9YCR7UFlUSE9OfS1jb25maWcgLS1pbmNsdWRlc2AKKy0JCVBZX0xJQlM9YCR7UFlUSE9OfS1jb25maWcgLS1saWJzYAorLQkJQUNfREVGSU5FKFVTRV9QWVRIT04sIFsxXSwgW0RlZmluZSBpZiBweXRob24gaGVhZGVycyBhcmUgYXZhaWxhYmxlLl0pCistCQlBQ19NU0dfUkVTVUxUKG9rKQorLQllbHNlCistCQlBQ19NU0dfUkVTVUxUKFtDYW5ub3QgZmluZCAke1BZVEhPTn0tY29uZmlnXSkKKy0JCVBZX0NGTEFHUz0iIgorLQkJUFlfTElCUz0iIgorLQlmaQorKyAgICAgICAgQUNfTVNHX0NIRUNLSU5HKGZvciBQeXRob24gY29tcGlsZSBmbGFncykKKysgICAgICAgIFBLR19DSEVDS19NT0RVTEVTKFBZLCBweXRob24sIFsKKysgICAgICAgICAgICAgICAgQUNfU1VCU1QoUFlfQ0ZMQUdTKQorKyAgICAgICAgICAgICAgICBBQ19TVUJTVChQWV9MSUJTKQorKyAgICAgICAgXSwgWworKyAgICAgICAgICAgICAgICBBQ19NU0dfUkVTVUxUKG5vKQorKyAgICAgICAgICAgICAgICBBQ19NU0dfRVJST1IoW0Nhbid0IGZpbmQgcHl0aG9uXSkKKysgICAgICAgIF0pCisgZmkKKy1BQ19TVUJTVChQWV9DRkxBR1MpCistQUNfU1VCU1QoUFlfTElCUykKKyAKKyBkbmwgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyBkbmwgIyBDaGVjayBmb3IgTW9ubyBzdXBwb3J0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpZGdpbi9waWRnaW4vcHVycGxlLU9FLWJyYW5kaW5nLTI1LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWRnaW4vcGlkZ2luL3B1cnBsZS1PRS1icmFuZGluZy0yNS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTNlZjcwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWRnaW4vcGlkZ2luL3B1cnBsZS1PRS1icmFuZGluZy0yNS5wYXRjaApAQCAtMCwwICsxLDE2IEBACitJbmRleDogcGlkZ2luLTIuNS4wL2xpYnB1cnBsZS9wcm90b2NvbHMvaXJjL2lyYy5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcGlkZ2luLTIuNS4wLm9yaWcvbGlicHVycGxlL3Byb3RvY29scy9pcmMvaXJjLmgJMjAwOC0wOC0xOSAwMTo1MzozOC4wMDAwMDAwMDAgKzAwMDAKKysrKyBwaWRnaW4tMi41LjAvbGlicHVycGxlL3Byb3RvY29scy9pcmMvaXJjLmgJMjAwOC0wOC0yNyAxMToxNTo1OC4wMDAwMDAwMDAgKzAwMDAKK0BAIC0zNiw5ICszNiw5IEBACisgCisgI2RlZmluZSBJUkNfREVGQVVMVF9DSEFSU0VUICJVVEYtOCIKKyAjZGVmaW5lIElSQ19ERUZBVUxUX0FVVE9ERVRFQ1QgRkFMU0UKKy0jZGVmaW5lIElSQ19ERUZBVUxUX0FMSUFTICJwdXJwbGUiCisrI2RlZmluZSBJUkNfREVGQVVMVF9BTElBUyAiT0UtdXNlciIKKyAKKy0jZGVmaW5lIElSQ19ERUZBVUxUX1FVSVQgIkxlYXZpbmcuIgorKyNkZWZpbmUgSVJDX0RFRkFVTFRfUVVJVCAiUG93ZXJlZCBieSBPRTogd3d3Lm9wZW5lbWJlZGRlZC5vcmciCisgCisgI2RlZmluZSBJUkNfSU5JVElBTF9CVUZTSVpFIDEwMjQKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGlkZ2luL3BpZGdpbi9zYW5pdGl6ZS1jb25maWd1cmUuYWMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpZGdpbi9waWRnaW4vc2FuaXRpemUtY29uZmlndXJlLmFjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3N2Q2NGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpZGdpbi9waWRnaW4vc2FuaXRpemUtY29uZmlndXJlLmFjLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKKy0tLSAvdG1wL2NvbmZpZ3VyZS5hYwkyMDA3LTA1LTA4IDE3OjI5OjAyLjAwMDAwMDAwMCArMDIwMAorKysrIHBpZGdpbi0yLjAuMC9jb25maWd1cmUuYWMJMjAwNy0wNS0wOCAxNzozMDozMC4zMjUyNTEwMDAgKzAyMDAKK0BAIC00NzIsNyArNDcyLDcgQEAKKyAJaWYgdGVzdCAieCRlbmFibGVfY29uc29sZXVpIiA9ICJ4eWVzIjsgdGhlbgorIAkJZG5sICMgU29tZSBkaXN0cm9zIHB1dCB0aGUgaGVhZGVycyBpbiBuY3Vyc2Vzdy8sIHNvbWUgZG9uJ3QKKyAJCWZvdW5kX25jdXJzZXNfaD1ubworLQkJZm9yIGxvY2F0aW9uIGluICRhY19uY3Vyc2VzX2luY2x1ZGVzICROQ1VSU0VTX0hFQURFUlMgL3Vzci9pbmNsdWRlL25jdXJzZXN3IC91c3IvaW5jbHVkZQorKwkJZm9yIGxvY2F0aW9uIGluICRhY19uY3Vyc2VzX2luY2x1ZGVzICROQ1VSU0VTX0hFQURFUlMgCisgCQlkbworIAkJCWY9IiRsb2NhdGlvbi9uY3Vyc2VzLmgiCisgCQkJQUNfQ0hFQ0tfSEVBREVSKCRmLFsKK0BAIC0xODYwLDEwICsxODYwLDYgQEAKKyAJCQlLUkI0X0NGTEFHUz0iJEtSQjRfQ0ZMQUdTIC1JJHtrZXJiZXJvc30vaW5jbHVkZS9rZXJiZXJvc0lWIgorIAkJZmkKKyAJCUtSQjRfTERGTEFHUz0iLUwke2tlcmJlcm9zfS9saWIiCistCWVsaWYgdGVzdCAtZCAvdXNyL2xvY2FsL2luY2x1ZGUva2VyYmVyb3NJViA7IHRoZW4KKy0JCUtSQjRfQ0ZMQUdTPSItSS91c3IvbG9jYWwvaW5jbHVkZS9rZXJiZXJvc0lWIgorLQllbGlmIHRlc3QgLWQgL3Vzci9pbmNsdWRlL2tlcmJlcm9zSVYgOyB0aGVuCistCQlLUkI0X0NGTEFHUz0iLUkvdXNyL2luY2x1ZGUva2VyYmVyb3NJViIKKyAJZmkKKyAJQUNfREVGSU5FKFpFUEhZUl9VU0VTX0tFUkJFUk9TLCAxLCBbRGVmaW5lIGlmIGtlcmJlcm9zIHNob3VsZCBiZSB1c2VkIGluIFplcGh5ci5dKQorIAorQEAgLTE4OTYsMTAgKzE4OTIsNiBAQAorIAkJWkVQSFlSX0xERkxBR1M9Ii1MJHt6ZXBoeXJ9L2xpYiIKKyAJZWxpZiB0ZXN0IC1kIC91c3IvYXRoZW5hL2luY2x1ZGUvemVwaHlyIDsgdGhlbgorIAkJWkVQSFlSX0NGTEFHUz0iLUkvdXNyL2F0aGVuYS9pbmNsdWRlIgorLQllbGlmIHRlc3QgLWQgL3Vzci9pbmNsdWRlL3plcGh5ciA7IHRoZW4KKy0JCVpFUEhZUl9DRkxBR1M9Ii1JL3Vzci9pbmNsdWRlIgorLQllbGlmIHRlc3QgLWQgL3Vzci9sb2NhbC9pbmNsdWRlL3plcGh5ciA7IHRoZW4KKy0JCVpFUEhZUl9DRkxBR1M9Ii1JL3Vzci9sb2NhbC9pbmNsdWRlIgorIAlmaQorIAlBQ19ERUZJTkUoTElCWkVQSFlSX0VYVCwgMSAsIFtEZWZpbmUgaWYgZXh0ZXJuYWwgbGliemVwaHlyIHNob3VsZCBiZSB1c2VkLl0pCisgCUFNX0NPTkRJVElPTkFMKEVYVEVSTkFMX0xJQlpFUEhZUiwgdGVzdCAieCR6ZXBoeXIiICE9ICJ4bm8iKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWRnaW4vcGlkZ2luXzIuMTAuMTIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpZGdpbi9waWRnaW5fMi4xMC4xMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZDQ2MTQwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWRnaW4vcGlkZ2luXzIuMTAuMTIuYmIKQEAgLTAsMCArMSwxMjAgQEAKK0RFU0NSSVBUSU9OID0gIm11bHRpLXByb3RvY29sIGluc3RhbnQgbWVzc2FnaW5nIGNsaWVudCIKK1NFQ1RJT04gPSAieDExL25ldHdvcmsiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCitERVBFTkRTID0gInB5dGhvbiB2aXJ0dWFsL2xpYmludGwgaW50bHRvb2wtbmF0aXZlIGxpYnhtbDIgZ2NvbmYiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnIGdjb25mIHBlcmxuYXRpdmUKKworU1JDX1VSSSA9ICJcCisgICAgJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3BpZGdpbi9waWRnaW4tJHtQVn0udGFyLmJ6MiBcCisgICAgZmlsZTovL3Nhbml0aXplLWNvbmZpZ3VyZS5hYy5wYXRjaCBcCisgICAgZmlsZTovL3B1cnBsZS1PRS1icmFuZGluZy0yNS5wYXRjaCBcCisgICAgZmlsZTovL3BpZGdpbi1jcm9zcy1weXRob24tMjY1LnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjE0ZTBmNWNmYjJlZDA2NWU0ZGM4MDM5MWE4MDZhYzc2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJjNzUyM2YwZmVmZTg5NzQ5YzAzYjJiNzM4YWI5ZjdiZDE4NmRhNDM1YmU0NzYyZjE0ODdlZWUzMWU3N2ZmZGQiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJnbnV0bHMgY29uc29sZXVpIGF2YWhpIGRidXMgaWRuIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICd4MTEgZ3RrIHN0YXJ0dXAtbm90aWZpY2F0aW9uJywgJycsIGQpfSBcCisiCitQQUNLQUdFQ09ORklHW2ZhcnNpZ2h0Ml0gPSAiLS1lbmFibGUtZmFyc3RyZWFtLC0tZGlzYWJsZS1mYXJzdHJlYW0sZmFyc2lnaHQyIgorIyAgLS1kaXNhYmxlLWdzdHJlYW1lciAgICAgY29tcGlsZSB3aXRob3V0IEdTdHJlYW1lciBhdWRpbyBzdXBwb3J0CisjICAtLWRpc2FibGUtZ3N0cmVhbWVyLXZpZGVvCisjICAgICAgICAgICAgICAgICAgICAgICAgICBjb21waWxlIHdpdGhvdXQgR1N0cmVhbWVyIDEuMCBWaWRlbyBPdmVybGF5IHN1cHBvcnQKKyMgIC0tZGlzYWJsZS1nc3RyZWFtZXItaW50ZXJmYWNlcworIyAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGlsZSB3aXRob3V0IEdTdHJlYW1lciAwLjEwIGludGVyZmFjZSBzdXBwb3J0CisjICAtLXdpdGgtZ3N0cmVhbWVyPTx2ZXJzaW9uPgorIyAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGlsZSB3aXRoIEdTdHJlYW1lciAwLjEwIG9yIDEuMCBpbnRlcmZhY2UKK1BBQ0tBR0VDT05GSUdbZ3N0cmVhbWVyXSA9ICItLWVuYWJsZS1nc3RyZWFtZXIsLS1kaXNhYmxlLWdzdHJlYW1lcixnc3RyZWFtZXIiCitQQUNLQUdFQ09ORklHW3Z2XSA9ICItLWVuYWJsZS12diwtLWRpc2FibGUtdnYsZ3N0cmVhbWVyIgorUEFDS0FHRUNPTkZJR1tpZG5dID0gIi0tZW5hYmxlLWlkbiwtLWRpc2FibGUtaWRuLGxpYmlkbiIKK1BBQ0tBR0VDT05GSUdbZ3RrXSA9ICItLWVuYWJsZS1ndGt1aSwtLWRpc2FibGUtZ3RrdWksZ3RrKyIKK1BBQ0tBR0VDT05GSUdbeDExXSA9ICItLXdpdGgteD15ZXMgLS14LWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IC0teC1saWJyYXJpZXM9JHtTVEFHSU5HX0xJQkRJUn0sLS13aXRoLXg9bm8sdmlydHVhbC9saWJ4MTEiCitQQUNLQUdFQ09ORklHW3N0YXJ0dXAtbm90aWZpY2F0aW9uXSA9ICItLWVuYWJsZS1zdGFydHVwLW5vdGlmaWNhdGlvbiwtLWRpc2FibGUtc3RhcnR1cC1ub3RpZmljYXRpb24sc3RhcnR1cC1ub3RpZmljYXRpb24iCitQQUNLQUdFQ09ORklHW2NvbnNvbGV1aV0gPSAiLS1lbmFibGUtY29uc29sZXVpIC0td2l0aC1uY3Vyc2VzLWhlYWRlcnM9JHtTVEFHSU5HX0lOQ0RJUn0sLS1kaXNhYmxlLWNvbnNvbGV1aSxuY3Vyc2VzIgorUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi0tZW5hYmxlLWdudXRscyAtLXdpdGgtZ251dGxzLWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IC0td2l0aC1nbnV0bHMtbGlicz0ke1NUQUdJTkdfTElCRElSfSwtLWRpc2FibGUtZ251dGxzLGdudXRscyIKK1BBQ0tBR0VDT05GSUdbZGJ1c10gPSAiLS1lbmFibGUtZGJ1cywtLWRpc2FibGUtZGJ1cyxkYnVzIGRidXMtZ2xpYiIKK1BBQ0tBR0VDT05GSUdbYXZhaGldID0gIi0tZW5hYmxlLWF2YWhpLC0tZGlzYWJsZS1hdmFoaSxhdmFoaSIKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS1kaXNhYmxlLXBlcmwgXAorICAgIC0tZGlzYWJsZS10Y2wgXAorICAgIC0tZGlzYWJsZS1nZXZvbHV0aW9uIFwKKyAgICAtLWRpc2FibGUtc2NoZW1hcy1pbnN0YWxsIFwKKyAgICAtLWRpc2FibGUtZ3Rrc3BlbGwgXAorICAgIC0tZGlzYWJsZS1tZWFud2hpbGUgXAorICAgIC0tZGlzYWJsZS1ubSBcCisgICAgLS1kaXNhYmxlLXNjcmVlbnNhdmVyIFwKKyAgICAtLWVuYWJsZS1uc3M9bm8gXAorIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICB0b3VjaCAke1N9L3BvL01ha2VmaWxlCisgICAgc2VkIC1pICJzI1BZX1ZFUlNJT049YCRQWVRIT04gLWMgJ2ltcG9ydCBzeXMgOyBwcmludCBzeXMudmVyc2lvblswOjNdJ2AjUFlfVkVSU0lPTj0ke1BZVEhPTl9CQVNFVkVSU0lPTn0jZyIgJHtTfS9jb25maWd1cmUuYWMKK30KKworT0VfTFRfUlBBVEhfQUxMT1c9Ijoke2xpYmRpcn0vcHVycGxlLTI6IgorT0VfTFRfUlBBVEhfQUxMT1dbZXhwb3J0XT0iMSIKKworUEFDS0FHRVMgPSsgImxpYnB1cnBsZS1kYmcgbGlicHVycGxlLWRldiBsaWJwdXJwbGUgbGliZ250LWRiZyBsaWJnbnQgbGliZ250LWRldiBmaW5jaC1kYmcgZmluY2ggZmluY2gtZGV2ICR7UE59LWRhdGEiCisKK0xFQURfU09OQU1FID0gImxpYnB1cnBsZS5zby4wIgorRklMRVNfbGlicHVycGxlICAgICA9ICIke2xpYmRpcn0vbGlicHVycGxlKi5zby4qICR7bGliZGlyfS9wdXJwbGUtMiAke2JpbmRpcn0vcHVycGxlLSogJHtzeXNjb25mZGlyfS9nY29uZi9zY2hlbWFzL3B1cnBsZSogJHtkYXRhZGlyfS9wdXJwbGUvY2EtY2VydHMiCitGSUxFU19saWJwdXJwbGUtZGV2ID0gIiR7bGliZGlyfS9saWJwdXJwbGUqLmxhIFwKKyAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYnB1cnBsZSouc28gXAorICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcHVycGxlLTIvKi5sYSBcCisgICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wdXJwbGUtMi9saWJqYWJiZXIuc28gXAorICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcHVycGxlLTIvbGlib3NjYXIuc28gXAorICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcHVycGxlLTIvbGlieW1zZy5zbyBcCisgICAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vYWNsb2NhbCIKK0ZJTEVTX2xpYnB1cnBsZS1kYmcgKz0gIiR7bGliZGlyfS8uZGVidWcvbGlicHVycGxlKiBcCisgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcHVycGxlLTIvLmRlYnVnIgorRklMRVNfbGliZ250ICAgICAgICAgPSAiJHtsaWJkaXJ9L2xpYmdudC5zby4qICR7bGliZGlyfS9nbnQvKi5zbyIgCitGSUxFU19saWJnbnQtZGV2ICAgICA9ICIke2xpYmRpcn0vZ250LyoubGEiIAorRklMRVNfbGliZ250LWRiZyAgICAgPSAiJHtsaWJkaXJ9L2dudC8uZGVidWciCitGSUxFU19maW5jaCAgICAgICAgICA9ICIke2JpbmRpcn0vZmluY2giCitGSUxFU19maW5jaC1kZXYgICAgICA9ICIke2xpYmRpcn0vZmluY2gvKi5sYSIKK0ZJTEVTX2ZpbmNoLWRiZyAgICAgID0gIiR7YmluZGlyfS8uZGVidWcvZmluY2ggXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2ZpbmNoLy5kZWJ1ZyIKKworRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9ICR7ZGF0YWRpcn0vJHtQTn0gJHtsaWJkaXJ9LyR7UE59Lyouc28gXAorICAgICAgICAgICAke2RhdGFkaXJ9L2FwcGxpY2F0aW9ucyIKK1JSRUNPTU1FTkRTXyR7UE59ID0gIiR7UE59LWRhdGEgbGlicHVycGxlLXBsdWdpbi1zc2wtZ251dGxzIGxpYnB1cnBsZS1wcm90b2NvbC1pcmMgbGlicHVycGxlLXByb3RvY29sLXhtcHAiCisKK0ZJTEVTXyR7UE59LWRhdGEgPSAiJHtkYXRhZGlyfS9waXhtYXBzICR7ZGF0YWRpcn0vc291bmRzICR7ZGF0YWRpcn0vaWNvbnMgJHtkYXRhZGlyfS9hcHBkYXRhIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vJHtQTn0vKi5sYSIKKworUEFDS0FHRVNfRFlOQU1JQyArPSAiXmxpYnB1cnBsZS1wcm90b2NvbC0uKiBebGlicHVycGxlLXBsdWdpbi0uKiBecGlkZ2luLXBsdWdpbi0uKiBeZmluY2gtcGx1Z2luLS4qIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgcGlkZ3Jvb3QgPSBkLmV4cGFuZCgnJHtsaWJkaXJ9L3BpZGdpbicpCisgICAgcHVycGxlICAgPSBkLmV4cGFuZCgnJHtsaWJkaXJ9L3B1cnBsZS0yJykKKyAgICBmaW5jaCAgICA9IGQuZXhwYW5kKCcke2xpYmRpcn0vZmluY2gnKQorCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcGlkZ3Jvb3QsICdeKFtebF1bXmldW15iXS4qKVwuc28kJywKKyAgICAgICAgb3V0cHV0X3BhdHRlcm49J3BpZGdpbi1wbHVnaW4tJXMnLAorICAgICAgICBkZXNjcmlwdGlvbj0nUGlkZ2luIHBsdWdpbiAlcycsCisgICAgICAgIHByZXBlbmQ9VHJ1ZSwgZXh0cmFfZGVwZW5kcz0nJykKKworICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHB1cnBsZSwgJ15saWIoLiopXC5zbyQnLAorICAgICAgICBvdXRwdXRfcGF0dGVybj0nbGlicHVycGxlLXByb3RvY29sLSVzJywKKyAgICAgICAgZGVzY3JpcHRpb249J0xpYnB1cnBsZSBwcm90b2NvbCBwbHVnaW4gZm9yICVzJywKKyAgICAgICAgcHJlcGVuZD1UcnVlLCBleHRyYV9kZXBlbmRzPScnKQorCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcHVycGxlLCAnXihzc2wtLiopXC5zbyQnLAorICAgICAgICBvdXRwdXRfcGF0dGVybj0nbGlicHVycGxlLXBsdWdpbi0lcycsCisgICAgICAgIGRlc2NyaXB0aW9uPSdsaWJwdXJwbGUgcGx1Z2luICVzJywKKyAgICAgICAgcHJlcGVuZD1UcnVlLCBleHRyYV9kZXBlbmRzPSdsaWJwdXJwbGUtcGx1Z2luLXNzbCcpCisKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwdXJwbGUsICdeKFtebF1bXmldW15iXS4qKVwuc28kJywKKyAgICAgICAgb3V0cHV0X3BhdHRlcm49J2xpYnB1cnBsZS1wbHVnaW4tJXMnLAorICAgICAgICBkZXNjcmlwdGlvbj0nbGlicHVycGxlIHBsdWdpbiAlcycsCisgICAgICAgIHByZXBlbmQ9VHJ1ZSwgZXh0cmFfZGVwZW5kcz0nJykKKworICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGZpbmNoLCAnXihbXmxdW15pXVteYl0uKilcLnNvJCcsCisgICAgICAgIG91dHB1dF9wYXR0ZXJuPSdmaW5jaC1wbHVnaW4tJXMnLAorICAgICAgICBkZXNjcmlwdGlvbj0nRmluY2ggcGx1Z2luICVzJywKKyAgICAgICAgcHJlcGVuZD1UcnVlLCBleHRyYV9kZXBlbmRzPScnKQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wa2NzMTEtaGVscGVyL3BrY3MxMS1oZWxwZXJfMS4xMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGtjczExLWhlbHBlci9wa2NzMTEtaGVscGVyXzEuMTEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGI3MWJkMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGtjczExLWhlbHBlci9wa2NzMTEtaGVscGVyXzEuMTEuYmIKQEAgLTAsMCArMSwyOSBAQAorU1VNTUFSWSA9ICJBIGxpYnJhcnkgZm9yIHVzaW5nIFBLQ1MiCitERVNDUklQVElPTiA9ICJwa2NzMTEtaGVscGVyIGlzIGEgbGlicmFyeSB0aGF0IHNpbXBsaWZpZXMgdGhlIGludGVyYWN0aW9uIHdpdGggUEtDUyBcCitwcm92aWRlcnMgZm9yIGVuZC11c2VyIGFwcGxpY2F0aW9ucyB1c2luZyBhIHNpbXBsZSBBUEkgYW5kIG9wdGlvbmFsIE9wZW5TU0wgXAorZW5naW5lLiBUaGUgbGlicmFyeSBhbGxvd3MgdXNpbmcgbXVsdGlwbGUgUEtDUyBlbnVtZXJhdGluZyBhdmFpbGFibGUgdG9rZW4gXAorY2VydGlmaWNhdGVzLCBvciBzZWxlY3RpbmcgYSBjZXJ0aWZpY2F0ZSBkaXJlY3RseSBieSBzZXJpYWxpemVkIGlkLCBoYW5kbGluZyBcCitjYXJkIHJlbW92YWwgYW5kIGNhcmQgaW5zZXJ0IGV2ZW50cywgaGFuZGxpbmcgY2FyZCBpZS1pbnNlcnQgdG8gYSBkaWZmZXJlbnQgXAorc2xvdCwgc3VwcG9ydGluZyBzZXNzaW9uIGV4cGlyYXRpb24gYW5kIG11Y2ggbW9yZSBhbGwgdXNpbmcgYSBzaW1wbGUgQVBJLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5vcGVuc2MtcHJvamVjdC5vcmcvcGtjczExLWhlbHBlci8iCitTRUNUSU9OID0gIkRldmVsb3BtZW50L0xpYnJhcmllcyIKKworTElDRU5TRSA9ICJHUEx2MiAmIEJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiIFwKKyAgICBmaWxlOi8vQ09QWUlORzttZDU9NDk0ODgxMDYzMWJjYWMxNDJhZjUzZDMyZGY1YjZlZTEgXAorICAgIGZpbGU6Ly9DT1BZSU5HLkdQTDttZDU9OGE3MWQwNDc1ZDA4ZWVlNzZkOGI2ZDBjNmRiZWM1NDMgXAorICAgIGZpbGU6Ly9DT1BZSU5HLkJTRDttZDU9Zjc5ZjkwZWE3YTEwNjc5NmFmODBiNWQwNWYxZjhkYTEgXAorIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL09wZW5TQy8ke0JQTn0uZ2l0IgorU1JDX1VSSVttZDVzdW1dID0gIjlmNjJhZjlmNDc1OTAxYjg5MzU1MjY2MTQxMzA2NjczIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ5NGVjNTljOTNlN2M1NmM1MjhmMzM1ZDkzNTM4NDllMmU3Yzk0YTZiMWI0MWM4OTYwNDY5NGU3MzgxMTMzODYiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCitTUkNSRVYgPSAiZTdhZGY4ZjM1YmUyMzJhNGYwNGM1M2I0YWM0MDliZTUyNzkyMDkzZSIKKworREVQRU5EUyA9ICJ6bGliIG5ldHRsZSBnbnV0bHMgZ21wIG9wZW5zc2wgbnNzIG5zcHIiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXN0YXRpYyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG5nY2hlY2svcG5nY2hlY2tfMi4zLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BuZ2NoZWNrL3BuZ2NoZWNrXzIuMy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1MjNiN2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BuZ2NoZWNrL3BuZ2NoZWNrXzIuMy4wLmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAicG5nY2hlY2sgdmVyaWZpZXMgdGhlIGludGVncml0eSBvZiBQTkcsIEpORyBhbmQgTU5HIGZpbGVzIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5saWJwbmcub3JnL3B1Yi9wbmcvYXBwcy9wbmdjaGVjay5odG1sIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2dwbC9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKK0RFUEVORFMgPSAiemxpYiBsaWJwbmciCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3Byb2plY3QvcG5nLW1uZy8ke0JQTn0vJHtQVn0vJHtCUE59LSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjk4MGJkNmQ5YTM4MzBmZGNlNzQ2ZDdmZTNjOTE2NmVlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc3ZjBhMDM5YWM2NGRmNTVmYmQwNmFmNmY4NzJmZGJhZDRmNjM5ZDAwOWJiYjVjZDVjYmU0ZGIyNTY5MGYzNWYiCisKK0VYVFJBX09FTUFLRSA9ICItZSBNQUtFRkxBR1M9IgorCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UgLWYgTWFrZWZpbGUudW54IElOQ1M9LUkke1NUQUdJTkdfRElSX0hPU1R9JHtpbmNkaXJ9IExJQlM9JHtTVEFHSU5HX0RJUl9IT1NUfSR7bGliZGlyfS9saWJ6LmEKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIHBuZ2NoZWNrICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIHBuZy1maXgtSURBVC13aW5kb3dzaXplICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIHBuZ3NwbGl0ICR7RH0ke2JpbmRpcn0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9jby9wb2NvL3J1bi1wdGVzdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9jby9wb2NvL3J1bi1wdGVzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNDc5ZjdhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb2NvL3BvY28vcnVuLXB0ZXN0CkBAIC0wLDAgKzEsOSBAQAorIyEvYmluL3NoCit3aGlsZSByZWFkIHJ1bm5lcjsgZG8KKyAgcHVzaGQgLiA+L2Rldi9udWxsCisgIGNkIGJpbgorICBlY2hvIFRlc3RpbmcgJHJ1bm5lcgorICAuLyRydW5uZXItdGVzdHJ1bm5lciAtYWxsCisgIHBvcGQgPi9kZXYvbnVsbAorZG9uZSA8IHRlc3RydW5uZXJzCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9jby9wb2NvXzEuNy4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb2NvL3BvY29fMS43LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTM1ZDJhYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9jby9wb2NvXzEuNy4xLmJiCkBAIC0wLDAgKzEsMTA3IEBACitTVU1NQVJZID0gIk1vZGVybiwgcG93ZXJmdWwgb3BlbiBzb3VyY2UgY3Jvc3MtcGxhdGZvcm0gQysrIGNsYXNzIGxpYnJhcmllcyIKK0RFU0NSSVBUSU9OID0gIk1vZGVybiwgcG93ZXJmdWwgb3BlbiBzb3VyY2UgQysrIGNsYXNzIGxpYnJhcmllcyBhbmQgZnJhbWV3b3JrcyBmb3IgYnVpbGRpbmcgbmV0d29yay0gYW5kIGludGVybmV0LWJhc2VkIGFwcGxpY2F0aW9ucyB0aGF0IHJ1biBvbiBkZXNrdG9wLCBzZXJ2ZXIsIG1vYmlsZSBhbmQgZW1iZWRkZWQgc3lzdGVtcy4iCitTRUNUSU9OID0gImxpYnMiCitIT01FUEFHRSA9ICJodHRwOi8vcG9jb3Byb2plY3Qub3JnLyIKK0xJQ0VOU0UgPSAiQlNMLTEuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTQyNjdmNDhmYzczOGY1MDM4MGNiZWViNzZmOTVjZWJjIgorCisjIFRoZXNlIGRlcGVuZGVuY2llcyBhcmUgcmVxdWlyZWQgYnkgRm91bmRhdGlvbgorREVQRU5EUyA9ICJsaWJwY3JlIHpsaWIiCisKK2luaGVyaXQgY21ha2UgcHRlc3QKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK1NSQ19VUkkgPSAiIFwKKyAgICBodHRwczovL2dpdGh1Yi5jb20vcG9jb3Byb2plY3QvcG9jby9hcmNoaXZlL3BvY28tJHtQVn0tcmVsZWFzZS50YXIuZ3ogXAorICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYTRiNzU1ZDQ3MzAzYjIwYTBlMjU4NmYyODFkMDVhMzYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmRiYmMyMDE4OTEyYWQ5YWY2YWY5NmY2MDU5MzNlZDkxMzU0YTFlNzQyM2U1ZGJkMDRkOGU5YTJiMmQxNWMwNSIKKworUyA9ICIke1dPUktESVJ9L3BvY28tcG9jby0ke1BWfS1yZWxlYXNlIgorCitFWFRSQV9PRUNNQUtFID0gIi1EQ01BS0VfQlVJTERfVFlQRT1SZWxXaXRoRGViSW5mbyAtRFBPQ09fVU5CVU5ETEVEPU9OIFwKKyAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BURVNUX0VOQUJMRUQnLCAnMScsICctREVOQUJMRV9URVNUUz1PTiAnLCAnJywgZCl9IgorCisjIEZvciB0aGUgbmF0aXZlIGJ1aWxkIHdlIHdhbnQgdG8gdXNlIHRoZSBidW5kbGVkIHZlcnNpb24KK0VYVFJBX09FQ01BS0VfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgLURQT0NPX1VOQlVORExFRD1PRkYiCisKKyMgZG8gbm90IHVzZSBycGF0aAorRVhUUkFfT0VDTUFLRV9hcHBlbmQgPSAiIC1EQ01BS0VfU0tJUF9SUEFUSD1PTiIKKworIyBCeSBkZWZhdWx0IHRoZSBtb3N0IGNvbW1vbmx5IHVzZWQgcG9jbyBjb21wb25lbnRzIGFyZSBidWlsdAorIyBGb3VuZGF0aW9uIGlzIGJ1aWx0IGFueXdheSBhbmQgZG9lc24ndCBuZWVkIHRvIGJlIGxpc3RlZCBleHBsaWNpdGx5CisjIHRoZXNlIGRvbid0IGhhdmUgZGVwZW5kZW5jaWVzIG91dHNpZGUgb2UtY29yZQorUEFDS0FHRUNPTkZJRyA/Pz0gIlhNTCBKU09OIE1vbmdvREIgUERGIFV0aWwgTmV0IE5ldFNTTCBDcnlwdG8gRGF0YSBEYXRhU1FMaXRlIFppcCIKKworUEFDS0FHRUNPTkZJR1tYTUxdID0gIi1ERU5BQkxFX1hNTD1PTiwtREVOQUJMRV9YTUw9T0ZGLGV4cGF0IgorUEFDS0FHRUNPTkZJR1tKU09OXSA9ICItREVOQUJMRV9KU09OPU9OLC1ERU5BQkxFX0pTT049T0ZGIgorUEFDS0FHRUNPTkZJR1tNb25nb0RCXSA9ICItREVOQUJMRV9NT05HT0RCPU9OLC1ERU5BQkxFX01PTkdPREI9T0ZGIgorUEFDS0FHRUNPTkZJR1tQREZdID0gIi1ERU5BQkxFX1BERj1PTiwtREVOQUJMRV9QREY9T0ZGLHpsaWIiCitQQUNLQUdFQ09ORklHW1V0aWxdID0gIi1ERU5BQkxFX1VUSUw9T04sLURFTkFCTEVfVVRJTD1PRkYiCitQQUNLQUdFQ09ORklHW05ldF0gPSAiLURFTkFCTEVfTkVUPU9OLC1ERU5BQkxFX05FVD1PRkYiCitQQUNLQUdFQ09ORklHW05ldFNTTF0gPSAiLURFTkFCTEVfTkVUU1NMPU9OLC1ERU5BQkxFX05FVFNTTD1PRkYsb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbQ3J5cHRvXSA9ICItREVOQUJMRV9DUllQVE89T04sLURFTkFCTEVfQ1JZUFRPPU9GRixvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tEYXRhXSA9ICItREVOQUJMRV9EQVRBPU9OLC1ERU5BQkxFX0RBVEE9T0ZGIgorUEFDS0FHRUNPTkZJR1tEYXRhU1FMaXRlXSA9ICItREVOQUJMRV9EQVRBX1NRTElURT1PTiwtREVOQUJMRV9EQVRBX1NRTElURT1PRkYsc3FsaXRlMyIKK1BBQ0tBR0VDT05GSUdbWmlwXSA9ICItREVOQUJMRV9aSVA9T04sLURFTkFCTEVfWklQPU9GRiIKKworIyBBZGRpdGlvbmFsIGNvbXBvbmVudHMgbm90IGJ1aWxkIGJ5IGRlZmF1bHQsCisjIHRoZXkgbWlnaHQgaGF2ZSBkZXBlbmRlbmNpZXMgbm90IGluY2x1ZGVkIGluIG9lLWNvcmUKKyMgb3IgdGhleSBkb24ndCB3b3JrIG9uIGFsbCBhcmNoaXRlY3R1cmVzCitQQUNLQUdFQ09ORklHW21vZF9wb2NvXSA9ICItREVOQUJMRV9BUEFDSEVDT05ORUNUT1I9T04sLURFTkFCTEVfQVBBQ0hFQ09OTkVDVE9SPU9GRixhcHIgYXBhY2hlMiIKK1BBQ0tBR0VDT05GSUdbQ3BwUGFyc2VyXSA9ICItREVOQUJMRV9DUFBQQVJTRVI9T04sLURFTkFCTEVfQ1BQUEFSU0VSPU9GRiIKK1BBQ0tBR0VDT05GSUdbRGF0YU15U1FMXSA9ICItREVOQUJMRV9EQVRBX01ZU1FMPU9OLC1ERU5BQkxFX0RBVEFfTVlTUUw9T0ZGLG1hcmlhZGIiCitQQUNLQUdFQ09ORklHW0RhdGFPREJDXSA9ICItREVOQUJMRV9EQVRBX09EQkM9T04sLURFTkFCTEVfREFUQV9PREJDPU9GRixsaWJpb2RiYyIKK1BBQ0tBR0VDT05GSUdbUGFnZUNvbXBpbGVyXSA9ICItREVOQUJMRV9QQUdFQ09NUElMRVI9T04sLURFTkFCTEVfUEFHRUNPTVBJTEVSPU9GRiIKK1BBQ0tBR0VDT05GSUdbUGFnZUNvbXBpbGVyRmlsZTJQYWdlXSA9ICItREVOQUJMRV9QQUdFQ09NUElMRVJfRklMRTJQQUdFPU9OLC1ERU5BQkxFX1BBR0VDT01QSUxFUl9GSUxFMlBBR0U9T0ZGIgorUEFDS0FHRUNPTkZJR1tTZXZlblppcF0gPSAiLURFTkFCTEVfU0VWRU5aSVA9T04sLURFTkFCTEVfU0VWRU5aSVA9T0ZGIgorCisjIE1ha2UgYSBwYWNrYWdlIGZvciBlYWNoIGxpYnJhcnkKK1BBQ0tBR0VTID0gIiR7UE59LWRiZyAke1BPQ09fUEFDS0FHRVN9IgorcHl0aG9uIF9fYW5vbnltb3VzICgpIHsKKyAgICBwYWNrYWdlcyA9IFtdCisgICAgdGVzdHJ1bm5lcnMgPSBbXQorICAgIGNvbXBvbmVudHMgPSBkLmdldFZhcigiUEFDS0FHRUNPTkZJRyIsIFRydWUpLnNwbGl0KCkKKyAgICBjb21wb25lbnRzLmFwcGVuZCgiRm91bmRhdGlvbiIpCisgICAgZm9yIGxpYiBpbiBjb21wb25lbnRzOgorICAgICAgICBwa2cgPSAoInBvY28tJXMiICUgbGliLmxvd2VyKCkpLnJlcGxhY2UoIl8iLCIiKQorICAgICAgICBwYWNrYWdlcy5hcHBlbmQocGtnKQorICAgICAgICBpZiBub3QgZC5nZXRWYXIoIkZJTEVTXyVzIiAlIHBrZywgVHJ1ZSk6CisgICAgICAgICAgICBkLnNldFZhcigiRklMRVNfJXMiICUgcGtnLCAiJHtsaWJkaXJ9L2xpYlBvY28lcy5zby4qIiAlIGxpYikKKyAgICAgICAgdGVzdHJ1bm5lcnMuYXBwZW5kKCIlcyIgJSBsaWIpCisKKyAgICBkLnNldFZhcigiUE9DT19QQUNLQUdFUyIsICIgIi5qb2luKHBhY2thZ2VzKSkKKyAgICBkLnNldFZhcigiUE9DT19URVNUUlVOTkVSUyIsICJcbiIuam9pbih0ZXN0cnVubmVycykpCit9CisKKyMgInBvY28iIGlzIGEgbWV0YXBhY2thZ2Ugd2hpY2ggcHVsbHMgaW4gYWxsIFBvY28gY29tcG9uZW50cworUEFDS0FHRVMgKz0gIiR7UE59IgorUlJFQ09NTUVORFNfJHtQTn0gKz0gIiR7UE9DT19QQUNLQUdFU30iCitSUkVDT01NRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiIgorQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKKworIyAtZGV2IGxhc3QgdG8gcGljayB1cCB0aGUgcmVtYWluaW5nIHN0dWZmCitQQUNLQUdFUyArPSAiJHtQTn0tZGV2ICR7UE59LXN0YXRpY2RldiIKK0ZJTEVTXyR7UE59LWRldiA9ICIke2luY2x1ZGVkaXJ9ICR7bGliZGlyfS9saWJQb2NvKi5zbyAke2xpYmRpcn0vY21ha2UiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2xpYlBvY28qLmEiCisKKyMgcHRlc3Qgc3VwcG9ydAorRklMRVNfJHtQTn0tZGJnICs9ICIke1BURVNUX1BBVEh9L2Jpbi8uZGVidWciCisKKyMgY3BwdW5pdCBpcyBvbmx5IGJ1aWx0IGlmIHRlc3RzIGFyZSBlbmFibGVkCitQQUNLQUdFUyArPSAiJHtQTn0tY3BwdW5pdCIKK0ZJTEVTXyR7UE59LWNwcHVuaXQgKz0gIiR7bGliZGlyfS9saWJDcHBVbml0LnNvKiIKK0FMTE9XX0VNUFRZXyR7UE59LWNwcHVuaXQgPSAiMSIKKworUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIiR7UE59LWNwcHVuaXQiCisKK2RvX2luc3RhbGxfcHRlc3QgKCkgeworICAgICAgIGNwIC1yZiAke0J9L2Jpbi8gJHtEfSR7UFRFU1RfUEFUSH0KKyAgICAgICBjcCAtZiAke0J9L2xpYi9saWJDcHBVbml0LnNvKiAke0R9JHtsaWJkaXJ9CisgICAgICAgY3AgLXJmICR7Qn0vKi90ZXN0c3VpdGUvZGF0YSAke0R9JHtQVEVTVF9QQVRIfS9iaW4vCisgICAgICAgZmluZCAiJHtEfSR7UFRFU1RfUEFUSH0iIC1leGVjdXRhYmxlIC1leGVjIGNocnBhdGggLWQge30gXDsKKyAgICAgICBlY2hvICIke1BPQ09fVEVTVFJVTk5FUlN9IiA+ICIke0R9JHtQVEVTVF9QQVRIfS90ZXN0cnVubmVycyIKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyLWRhdGFfMC40LjcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcHBsZXIvcG9wcGxlci1kYXRhXzAuNC43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1MzBhNDgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcHBsZXIvcG9wcGxlci1kYXRhXzAuNC43LmJiCkBAIC0wLDAgKzEsMzYgQEAKK1NVTU1BUlkgPSAiRW5jb2RpbmcgZmlsZXMgZm9yIFBvcHBsZXIiCitERVNDUklQVElPTiA9ICJFbmNvZGluZyBmaWxlcyBmb3IgdXNlIHdpdGggcG9wcGxlciB0aGF0IGVuYWJsZSBwb3BwbGVyIHRvIFwKKyAgICAgICAgICAgICAgIGNvcnJlY3RseSByZW5kZXIgQ0pLIGFuZCBDeXJyaWxpYy4iCitMSUNFTlNFID0gIkJTRCAmIEdQTHYyICYgR1BMdjMrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NDg3MGI5ODM0M2YwYmJiMjVmYTQzYjlkMmJhNTk0NDggXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5hZG9iZTttZDU9NjNjNmE4YTlkZjIwNGMwMDQ2MWZhNWYxNjNkOGE2NjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5ncGwyO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSBcCisiCisKK2luaGVyaXQgYWxsYXJjaAorCitJTkhJQklUX0RFRkFVTFRfREVQUyA9ICIxIgorCitDTUFQX1JFU09VUkNFU19CQVNFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9hZG9iZS10eXBlLXRvb2xzL2NtYXAtcmVzb3VyY2VzL3Jhdy8wNTYxZWJjYTAzNTgxM2VkMDRjMzQ4NWJjYTYzNmEwYWE3YWJkYzFkL2NtYXByZXNvdXJjZXNfaWRlbnRpdHktMC9DTWFwIgorCitTUkNfVVJJID0gImh0dHA6Ly9wb3BwbGVyLmZyZWVkZXNrdG9wLm9yZy8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICAke0NNQVBfUkVTT1VSQ0VTX0JBU0V9L0lkZW50aXR5LUg7bmFtZT1pZGggXAorICAgICAgICAgICAke0NNQVBfUkVTT1VSQ0VTX0JBU0V9L0lkZW50aXR5LVY7bmFtZT1pZHYiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2MzZhOGYyYjlmNmRmOWU3Y2VkOGVjMDk0Njk2MWVhZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlNzUyYjBkODhhN2FiYTU0NTc0MTUyMTQzZTdiZjc2NDM2YTdlZjUxOTc3YzU1ZDZiZDlhNDhkY2NkZTNhN2RlIgorU1JDX1VSSVtpZGgubWQ1c3VtXSA9ICIwMDljOTNjZjAxNDFhYjdiZDZhY2I3ZWVhMTQzMDZjYyIKK1NSQ19VUklbaWRoLnNoYTI1NnN1bV0gPSAiYWU3MDJjMjAzYTgyZWExMjRlOWI5NjU5MGY4MjFkYjZmYmY4NzU0ZTJjNDU0N2E5ZGJhMGU4MmY5NDczOWU5NSIKK1NSQ19VUklbaWR2Lm1kNXN1bV0gPSAiMmYzMmE0NWQ0M2QwMDFjMjZlZWFjNmI4Nzg4NTVmYmYiCitTUkNfVVJJW2lkdi5zaGEyNTZzdW1dID0gIjg5YTg1ZGFmNzAzMWU5M2M4ODNlNzZiOTE2OGEyMjZkZmQ1ODViZjU1MDZlOWUxOTU2NzcyMTYzZjE1Y2IwODIiCisKK2RvX2NvbXBpbGUoKSB7Cit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfSBwcmVmaXg9JHtwcmVmaXh9IGRhdGFkaXI9JHtkYXRhZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vcG9wcGxlci9jTWFwCisgICAgaW5zdGFsbCAtbTY0NCAke1dPUktESVJ9L0lkZW50aXR5LSogJHtEfSR7ZGF0YWRpcn0vcG9wcGxlci9jTWFwLworfQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyLzAwMDEtQ29tcGlsZS13aXRoLUMtMTEtY29tcGlsZXJzLXRoYXQtZG9uLXQtZGVmaW5lLWlzaW5maS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyLzAwMDEtQ29tcGlsZS13aXRoLUMtMTEtY29tcGlsZXJzLXRoYXQtZG9uLXQtZGVmaW5lLWlzaW5maS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNWMzNGE2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3BwbGVyL3BvcHBsZXIvMDAwMS1Db21waWxlLXdpdGgtQy0xMS1jb21waWxlcnMtdGhhdC1kb24tdC1kZWZpbmUtaXNpbmZpLnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKK0Zyb20gYThlMzM5OTQ4NzI1OGU1M2RmMGZkNGE3OWM1NzBjOGQ3MTE4OGJlZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFRha2FoaXJvIEhhc2hpbW90byA8a2VueWE4ODguZW5AZ21haWwuY29tPgorRGF0ZTogV2VkLCAyNyBBcHIgMjAxNiAwMDoxNjo1MiArMDIwMAorU3ViamVjdDogW1BBVENIXSBDb21waWxlIHdpdGggQysrMTEgY29tcGlsZXJzIHRoYXQgZG9uJ3QgZGVmaW5lIGlzaW5maW5pdGUKKworQnVnICM5NDc2MQorLS0tCisgcG9wcGxlci9TcGxhc2hPdXRwdXREZXYuY2MgfCA4ICsrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvcG9wcGxlci9TcGxhc2hPdXRwdXREZXYuY2MgYi9wb3BwbGVyL1NwbGFzaE91dHB1dERldi5jYworaW5kZXggMTNkMDkwYy4uMGU1MDcwMiAxMDA2NDQKKy0tLSBhL3BvcHBsZXIvU3BsYXNoT3V0cHV0RGV2LmNjCisrKysgYi9wb3BwbGVyL1NwbGFzaE91dHB1dERldi5jYworQEAgLTM2LDYgKzM2LDcgQEAKKyAvLyBDb3B5cmlnaHQgKEMpIDIwMTQgUmljaGFyZCBQQUxPIDxyaWNoYXJkQG5ldGJzZC5vcmc+CisgLy8gQ29weXJpZ2h0IChDKSAyMDE1IFRhbWFzIFN6ZWtlcmVzIDxzemVrZXJlc3RAZ21haWwuY29tPgorIC8vIENvcHlyaWdodCAoQykgMjAxNSBLZW5qaSBVbm8gPGt1QGRpZ2l0YWxkb2xwaGlucy5qcD4KKysvLyBDb3B5cmlnaHQgKEMpIDIwMTYgVGFrYWhpcm8gSGFzaGltb3RvIDxrZW55YTg4OC5lbkBnbWFpbC5jb20+CisgLy8KKyAvLyBUbyBzZWUgYSBkZXNjcmlwdGlvbiBvZiB0aGUgY2hhbmdlcyBwbGVhc2Ugc2VlIHRoZSBDaGFuZ2Vsb2cgZmlsZSB0aGF0CisgLy8gY2FtZSB3aXRoIHlvdXIgdGFyYmFsbCBvciB0eXBlIG1ha2UgQ2hhbmdlTG9nIGlmIHlvdSBhcmUgYnVpbGRpbmcgZnJvbSBnaXQKK0BAIC05NCw2ICs5NSwxMyBAQCBleHRlcm4gIkMiIGludCB1bmxpbmsoY2hhciAqZmlsZW5hbWUpOworICNlbmRpZgorICNlbmRpZgorIAorKyNpZiBfX2NwbHVzcGx1cyA+IDE5OTcxMUwKKysjaW5jbHVkZSA8Y21hdGg+CisrI2lmbmRlZiBpc2Zpbml0ZQorKyNkZWZpbmUgaXNmaW5pdGUoeCkgc3RkOjppc2Zpbml0ZSh4KQorKyNlbmRpZgorKyNlbmRpZgorKworIHN0YXRpYyBpbmxpbmUgdm9pZCBjb252ZXJ0R2Z4Q29sb3IoU3BsYXNoQ29sb3JQdHIgZGVzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNwbGFzaENvbG9yTW9kZSBjb2xvck1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZnhDb2xvclNwYWNlICpjb2xvclNwYWNlLAorLS0gCisyLjguMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcHBsZXIvcG9wcGxlci8wMDAxLWFkZC1tYW5hZGF0b3J5LW9wdGlvbnMtdG8tZmluZC1xdDQtcXQ1LW1vYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyLzAwMDEtYWRkLW1hbmFkYXRvcnktb3B0aW9ucy10by1maW5kLXF0NC1xdDUtbW9jLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2MGIwNzMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcHBsZXIvcG9wcGxlci8wMDAxLWFkZC1tYW5hZGF0b3J5LW9wdGlvbnMtdG8tZmluZC1xdDQtcXQ1LW1vYy5wYXRjaApAQCAtMCwwICsxLDkxIEBACitGcm9tIDkxYjYyNzVmMGU5MWMyNWJlYjA0MGI0ZWY5NDg0MDUzYWUzMDVkODYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBUdWUsIDI2IE1heSAyMDE1IDEyOjQ1OjQ3ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGFkZCBtYW5hZGF0b3J5IG9wdGlvbnMgdG8gZmluZCBxdDQvcXQ1IG1vYworTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBjb25maWd1cmUuYWMgfCA1NSArKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNDcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDY3NTk5YzAuLjQwZmE1OTYgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTYyMiwyNSArNjIyLDEwIEBAIEFDX1NVQlNUKFBPUFBMRVJfUVQ0X0xJQlMpCisgQUNfU1VCU1QoUE9QUExFUl9RVDRfVEVTVF9MSUJTKQorIAorIGlmIHRlc3QgeCRlbmFibGVfcG9wcGxlcl9xdDQgPSB4eWVzOyB0aGVuCistICBBQ19DSEVDS19UT09MKE1PQ1FUNCwgbW9jKQorLSAgQUNfTVNHX0NIRUNLSU5HKFtmb3IgUXQ0IG1vY10pCistICBtb2N2ZXJzaW9uPWAkTU9DUVQ0IC12IDI+JjFgCistICBtb2N2ZXJzaW9uZ3JlcD1gZWNobyAkbW9jdmVyc2lvbiB8IGdyZXAgIlF0IDQiYAorLSAgaWYgdGVzdCB4IiRtb2N2ZXJzaW9uZ3JlcCIgIT0geCIkbW9jdmVyc2lvbiI7IHRoZW4KKy0gICAgQUNfTVNHX1JFU1VMVChbbm9dKQorLSAgICAjIG1vYyB3YXMgbm90IHRoZSBxdDQgb25lLCB0cnkgd2l0aCBtb2MtcXQ0CistICAgIEFDX0NIRUNLX1RPT0woTU9DUVQ0MiwgbW9jLXF0NCkKKy0gICAgQUNfTVNHX0NIRUNLSU5HKFtmb3IgUXQ0IG1vYy1xdDRdKQorLSAgICBtb2N2ZXJzaW9uPWAkTU9DUVQ0MiAtdiAyPiYxYAorLSAgICBtb2N2ZXJzaW9uZ3JlcD1gZWNobyAkbW9jdmVyc2lvbiB8IGdyZXAgIlF0IDQiYAorLSAgICBpZiB0ZXN0IHgiJG1vY3ZlcnNpb25ncmVwIiAhPSB4IiRtb2N2ZXJzaW9uIjsgdGhlbgorLSAgICAgICMgbm8gdmFsaWQgbW9jIGZvdW5kCistICAgICAgZW5hYmxlX3BvcHBsZXJfcXQ0PW5vOworLSAgICAgIE1PQ1FUND0ibm90IGZvdW5kIgorLSAgICBlbHNlCistICAgICAgTU9DUVQ0PSRNT0NRVDQyCistICAgIGZpCistICBmaQorKyAgQUNfQVJHX1dJVEgoW21vYy1xdDRdLAorKyAgICAgICAgICAgICAgQVNfSEVMUF9TVFJJTkcoWy0td2l0aC1tb2MtcXQ0XSwgW1NldCBsb2NhdGlvbiBvZiBxdDQgbW9jXSksCisrICAgICAgICAgICAgICBbTU9DUVQ0PSR3aXRodmFsXQorKyAgKQorICAgQUNfU1VCU1QoTU9DUVQ0KQorICAgQUNfTVNHX1JFU1VMVChbJE1PQ1FUNF0pCisgZmkKK0BAIC02NzksMzQgKzY2NCwxMCBAQCBBQ19TVUJTVChQT1BQTEVSX1FUNV9MSUJTKQorIEFDX1NVQlNUKFBPUFBMRVJfUVQ1X1RFU1RfTElCUykKKyAKKyBpZiB0ZXN0IHgkZW5hYmxlX3BvcHBsZXJfcXQ1ID0geHllczsgdGhlbgorLSAgQUNfQ0hFQ0tfVE9PTChNT0NRVDUsIG1vYykKKy0gIEFDX01TR19DSEVDS0lORyhbZm9yIFF0NSBtb2NdKQorLSAgbW9jdmVyc2lvbj1gJE1PQ1FUNSAtdiAyPiYxYAorLSAgbW9jdmVyc2lvbmdyZXA9YGVjaG8gJG1vY3ZlcnNpb24gfCBncmVwICJRdCA1XHxtb2MgNSJgCistICBpZiB0ZXN0IHgiJG1vY3ZlcnNpb25ncmVwIiAhPSB4IiRtb2N2ZXJzaW9uIjsgdGhlbgorLSAgICBBQ19NU0dfUkVTVUxUKFtub10pCistICAgICMgbW9jIHdhcyBub3QgdGhlIHF0NSBvbmUsIHRyeSB3aXRoIG1vYy1xdDUKKy0gICAgQUNfQ0hFQ0tfVE9PTChNT0NRVDUyLCBtb2MtcXQ1KQorLSAgICBBQ19NU0dfQ0hFQ0tJTkcoW2ZvciBRdDUgbW9jLXF0NV0pCistICAgIG1vY3ZlcnNpb249YCRNT0NRVDUyIC12IDI+JjFgCistICAgIG1vY3ZlcnNpb25ncmVwPWBlY2hvICRtb2N2ZXJzaW9uIHwgZ3JlcCAiUXQgNVx8bW9jLXF0NSA1XHxtb2MgNSJgCistICAgIGlmIHRlc3QgeCIkbW9jdmVyc2lvbmdyZXAiICE9IHgiJG1vY3ZlcnNpb24iOyB0aGVuCistICAgICAgQUNfQ0hFQ0tfVE9PTChRVENIT09TRVIsIHF0Y2hvb3NlcikKKy0gICAgICBBQ19NU0dfQ0hFQ0tJTkcoW2ZvciBxdGNob29zZXJdKQorLSAgICAgIHF0NXRvb2xkaXI9YFFUX1NFTEVDVD1xdDUgcXRjaG9vc2VyIC1wcmludC1lbnYgfCBncmVwIFFUVE9PTERJUiB8IGN1dCAtZCAnPScgLWYgMiB8IGN1dCAtZCBcIiAtZiAyYAorLSAgICAgIG1vY3ZlcnNpb249YCRxdDV0b29sZGlyL21vYyAtdiAyPiYxYAorLSAgICAgIG1vY3ZlcnNpb25ncmVwPWBlY2hvICRtb2N2ZXJzaW9uIHwgZ3JlcCAiUXQgNVx8bW9jIDUiYAorLSAgICAgIGlmIHRlc3QgeCIkbW9jdmVyc2lvbmdyZXAiICE9IHgiJG1vY3ZlcnNpb24iOyB0aGVuCistICAgICAgICAjIG5vIHZhbGlkIG1vYyBmb3VuZAorLSAgICAgICAgZW5hYmxlX3BvcHBsZXJfcXQ1PW5vOworLSAgICAgICAgTU9DUVQ1PSJub3QgZm91bmQiCistICAgICAgZWxzZQorLSAgICAgICAgTU9DUVQ1PSRxdDV0b29sZGlyL21vYworLSAgICAgIGZpCistICAgIGVsc2UKKy0gICAgICBNT0NRVDU9JE1PQ1FUNTIKKy0gICAgZmkKKy0gIGZpCisrICBBQ19BUkdfV0lUSChbbW9jLXF0NV0sCisrICAgICAgICAgICAgICBBU19IRUxQX1NUUklORyhbLS13aXRoLW1vYy1xdDVdLCBbU2V0IGxvY2F0aW9uIG9mIHF0NSBtb2NdKSwKKysgICAgICAgICAgICAgIFtNT0NRVDU9JHdpdGh2YWxdCisrICApCisgICBBQ19TVUJTVChNT0NRVDUpCisgICBBQ19NU0dfUkVTVUxUKFskTU9DUVQ1XSkKKyBmaQorLS0gCisxLjkuMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcHBsZXIvcG9wcGxlcl8wLjQxLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcHBsZXIvcG9wcGxlcl8wLjQxLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjdjYzA3NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyXzAuNDEuMC5iYgpAQCAtMCwwICsxLDU1IEBACitTVU1NQVJZID0gIlBvcHBsZXIgaXMgYSBQREYgcmVuZGVyaW5nIGxpYnJhcnkgYmFzZWQgb24gdGhlIHhwZGYtMy4wIGNvZGUgYmFzZSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKKworU1JDX1VSSSA9ICIgXAorICAgIGh0dHA6Ly9wb3BwbGVyLmZyZWVkZXNrdG9wLm9yZy8ke0JQfS50YXIueHogXAorICAgIGZpbGU6Ly8wMDAxLWFkZC1tYW5hZGF0b3J5LW9wdGlvbnMtdG8tZmluZC1xdDQtcXQ1LW1vYy5wYXRjaCBcCisgICAgZmlsZTovLzAwMDEtQ29tcGlsZS13aXRoLUMtMTEtY29tcGlsZXJzLXRoYXQtZG9uLXQtZGVmaW5lLWlzaW5maS5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiODQ5YThiZDZhZjU3OTRlZmI5NjFiNzA0MTg0MTRlNWEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDIwYWJhYWI2M2NhZWQ5ZTFlZTI4OTY0YTBiYTIxNmQxOTc5NTA2NzI2MTY0YmM5OWFkNWFkZTI4OTE5MmExYiIKKworREVQRU5EUyA9ICJmb250Y29uZmlnIHpsaWIgY2Fpcm8gbGNtcyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGd0ay1kb2MgZ29iamVjdC1pbnRyb3NwZWN0aW9uCisKK1BBQ0tBR0VDT05GSUcgPz89ICJqcGVnIG9wZW5qcGVnIHBuZyB0aWZmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdCQkZJTEVfQ09MTEVDVElPTlMnLCAncXQ1LWxheWVyJywgJ3F0NScsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHW2pwZWddID0gIi0tZW5hYmxlLWxpYmpwZWcsLS1kaXNhYmxlLWxpYmpwZWcsanBlZyIKK1BBQ0tBR0VDT05GSUdbcG5nXSA9ICItLWVuYWJsZS1saWJwbmcsLS1kaXNhYmxlLWxpYnBuZyxsaWJwbmciCitQQUNLQUdFQ09ORklHW3RpZmZdID0gIi0tZW5hYmxlLWxpYnRpZmYsLS1kaXNhYmxlLWxpYnRpZmYsdGlmZiIKK1BBQ0tBR0VDT05GSUdbY3VybF0gPSAiLS1lbmFibGUtbGliY3VybCwtLWRpc2FibGUtbGliY3VybCxjdXJsIgorUEFDS0FHRUNPTkZJR1tvcGVuanBlZ10gPSAiLS1lbmFibGUtbGlib3BlbmpwZWc9b3BlbmpwZWcyLC0tZGlzYWJsZS1saWJvcGVuanBlZyxvcGVuanBlZyIKK1BBQ0tBR0VDT05GSUdbcXQ1XSA9ICItLWVuYWJsZS1wb3BwbGVyLXF0NSAtLXdpdGgtbW9jLXF0NT0ke1NUQUdJTkdfQklORElSX05BVElWRX0vcXQ1L21vYywtLWRpc2FibGUtcG9wcGxlci1xdDUscXRiYXNlIgorUEFDS0FHRUNPTkZJR1txdDRlXSA9ICItLWVuYWJsZS1wb3BwbGVyLXF0NCAtLXdpdGgtbW9jLXF0ND0ke1NUQUdJTkdfQklORElSX05BVElWRX0vbW9jNCwtLWRpc2FibGUtcG9wcGxlci1xdDQscXQ0LWVtYmVkZGVkIgorCisjIE5lZWRlZCBmb3IgcXQ1CitDWFhGTEFHUyArPSAiLS1zdGQ9YysrMTEiCisKK0VYVFJBX09FQ09ORiA9ICJcCisgICAgLS1lbmFibGUteHBkZi1oZWFkZXJzIFwKKyAgICAtLWRpc2FibGUtZ3RrLXRlc3QgXAorICAgIC0tZW5hYmxlLXpsaWIgXAorIgorCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisgICAgICAgIGV4cG9ydCBHSVJfRVhUUkFfTElCU19QQVRIPSIke0J9L3BvcHBsZXIvLmxpYnMiCit9CisKKyMgQWRqdXN0IGxpYnJhcnkgbmFtZXMgd2hlbiBidWlsZGluZyBmb3IgUVQ0ZQorUVQ0RV9QQVRDSEVTID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3F0NGUnLCAnZmlsZTovL2ZpeC1xdDRlLWxpYnJhcnktZGVwZW5kZW5jaWVzLnBhdGNoJywgJycsIGQpfSIKK1NSQ19VUklfYXBwZW5kID0gIiR7UVQ0RV9QQVRDSEVTfSIKKworIyBjaGVjayBmb3IgVEFSR0VUX0ZQVT1zb2Z0IGFuZCBpbmZvcm0gY29uZmlndXJlIG9mIHRoZSByZXN1bHQgc28gaXQgY2FuIGRpc2FibGUgc29tZSBmbG9hdGluZyBwb2ludHMKK2RlZiBnZXRfcG9wcGxlcl9mcHVfc2V0dGluZyhiYiwgZCk6CisgICAgaWYgZC5nZXRWYXIoJ1RBUkdFVF9GUFUnLCAxKSBpbiBbICdzb2Z0JyBdOgorICAgICAgICByZXR1cm4gIi0tZW5hYmxlLWZpeGVkcG9pbnQiCisgICAgcmV0dXJuICIiCisKK0VYVFJBX09FQ09ORiArPSAiJHtAZ2V0X3BvcHBsZXJfZnB1X3NldHRpbmcoYmIsIGQpfSIKKworUEFDS0FHRVMgPSsgImxpYnBvcHBsZXIgbGlicG9wcGxlci1nbGliIgorRklMRVNfbGlicG9wcGxlciA9ICIke2xpYmRpcn0vbGlicG9wcGxlci5zby4qIgorRklMRVNfbGlicG9wcGxlci1nbGliID0gIiR7bGliZGlyfS9saWJwb3BwbGVyLWdsaWIuc28uKiIKKworUkRFUEVORFNfbGlicG9wcGxlciA9ICJwb3BwbGVyLWRhdGEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcnRhdWRpby9wb3J0YXVkaW8tdjE5X3N2bi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9ydGF1ZGlvL3BvcnRhdWRpby12MTlfc3ZuLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4ZDczNzgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcnRhdWRpby9wb3J0YXVkaW8tdjE5X3N2bi5iYgpAQCAtMCwwICsxLDMyIEBACitTVU1NQVJZID0gIkEgcG9ydGFibGUgYXVkaW8gbGlicmFyeSIKK1NFQ1RJT04gPSAibGlicy9tdWx0aW1lZGlhIgorTElDRU5TRSA9ICJQb3J0QXVkaW8iCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9MjYxMDc3MzJjMmFiNjM3YzU3MTA0NDZmY2ZhZjAyZGYiCisKK1BWID0gInYxOStzdm5yJHtTUkNQVn0iCisKK1NSQ1JFViA9ICIxMzg3IgorU1JDX1VSSSA9ICJzdm46Ly9zdWJ2ZXJzaW9uLmFzc2VtYmxhLmNvbS9zdm4vcG9ydGF1ZGlvL3BvcnRhdWRpbzttb2R1bGU9dHJ1bms7cHJvdG9jb2w9aHR0cCIKK1MgPSAiJHtXT1JLRElSfS90cnVuayIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1BBQ0tBR0VDT05GSUcgPz89ICJhbHNhIGphY2siCitQQUNLQUdFQ09ORklHW2Fsc2FdID0gIi0td2l0aC1hbHNhLCAtLXdpdGhvdXQtYWxzYSwgYWxzYS1saWIsIgorUEFDS0FHRUNPTkZJR1tqYWNrXSA9ICItLXdpdGgtamFjaywgLS13aXRob3V0LWphY2ssIGphY2ssIgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRob3V0LW9zcyIKKworVEVTVFMgPSAiICBwYV9kZXZzIHBhdGVzdDEgICAgICBwYXRlc3RfaGFuZyBwYXRlc3RfbWFueSAgICAgICAgICAgICAgICAgICBwYXRlc3RfcHJpbWUgcGF0ZXN0X3NpbmUgcGF0ZXN0X3N0b3AgICAgIHBhdGVzdF93cml0ZV9zaW5lICAgICAgICBcCitwYV9mdXp6ICAgIHBhdGVzdF9idWZmZXIgICAgICAgIHBhdGVzdF9pbl9vdmVyZmxvdyAgcGF0ZXN0X21heHNpbmVzICAgICAgIHBhdGVzdF9yZWFkX3JlY29yZCAgcGF0ZXN0X3NpbmU4ICAgICAgICAgcGF0ZXN0X3N5bmMgICAgICAgICAgICAgIFwKK3BhX21pbmxhdCAgcGF0ZXN0X2NhbGxiYWNrc3RvcCAgcGF0ZXN0X2xhdGVuY3kgICAgICBwYXRlc3RfbXVsdGlfc2luZSAgICAgcGF0ZXN0X3JlY29yZCAgICAgICBwYXRlc3Rfc2luZV9mb3JtYXRzICBwYXRlc3RfdG9vbWFueXNpbmVzICAgICAgXAorcGFxYV9kZXZzICBwYXRlc3RfY2xpcCAgICAgICAgICBwYXRlc3RfbGVmdHJpZ2h0ICAgIHBhdGVzdF9vdXRfdW5kZXJmbG93ICBwYXRlc3RfcmluZ21peCAgICAgIHBhdGVzdF9zaW5lX3RpbWUgICAgIHBhdGVzdF91bmRlcmZsb3cgICAgICAgICBcCitwYXFhX2VycnMgIHBhdGVzdF9kaXRoZXIgICAgICAgIHBhdGVzdF9sb25nc2luZSAgICAgcGF0ZXN0X3BpbmsgICAgICAgICAgIHBhdGVzdF9zYXcgICAgICAgICAgcGF0ZXN0X3N0YXJ0X3N0b3AgICAgcGF0ZXN0X3dpcmUiCisKKyMgREVGSU5FUyA9IFBBX1VTRV9PU1M9MSBIQVZFX0xJQlBUSFJFQUQ9MQorIyBERUZJTkVTICs9IFBBX0xJVFRMRV9FTkRJQU4KKworIyBJTkNMVURFUEFUSCA9IC4uL3BhX2NvbW1vbgorCitQQUNLQUdFUyArPSAicG9ydGF1ZGlvLWV4YW1wbGVzIgorRklMRVNfcG9ydGF1ZGlvLWV4YW1wbGVzID0gIiR7YmluZGlyfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9maWxlcy8wMDAxLVVzZS1wa2ctY29uZmlnLWZvci1saWJ4bWwyLWRldGVjdGlvbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9maWxlcy8wMDAxLVVzZS1wa2ctY29uZmlnLWZvci1saWJ4bWwyLWRldGVjdGlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMDhlYzZhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL2ZpbGVzLzAwMDEtVXNlLXBrZy1jb25maWctZm9yLWxpYnhtbDItZGV0ZWN0aW9uLnBhdGNoCkBAIC0wLDAgKzEsNDMgQEAKK0Zyb20gZDUyZTMzMGJlODk1YmI4YzVmMGZiM2UyODg0NzY2YWNiZDk0MmE4NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFBoaWxpcCBCYWxpc3RlciA8cGhpbGlwQGJhbGlzdGVyLm9yZz4KK0RhdGU6IFR1ZSwgMSBKdWwgMjAxNCAwOTo0MDo0NCAtMDQwMAorU3ViamVjdDogW1BBVENIXSBVc2UgcGtnLWNvbmZpZyBmb3IgbGlieG1sMiBkZXRlY3Rpb24uCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworeG1sMi1jb25maWcgZG9lcyBub3Qgd29yay4gVXNlIHBrZ2NvbmZpZyB0byBzZXQgQ1BQRkxBR1MgYW5kIExJQlMuCisKK1NpZ25lZC1vZmYtYnk6IFBoaWxpcCBCYWxpc3RlciA8cGhpbGlwQGJhbGlzdGVyLm9yZz4KKy0tLQorIGNvbmZpZ3VyZS5pbiB8IDE1ICsrLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCitpbmRleCBmOGJmNDY2Li4xZjRmYWJmIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmluCisrKysgYi9jb25maWd1cmUuaW4KK0BAIC03MzQsMTkgKzczNCw4IEBAIFBHQUNfQVJHX0JPT0wod2l0aCwgbGlieG1sLCBubywgW2J1aWxkIHdpdGggWE1MIHN1cHBvcnRdLAorICAgICAgICAgICAgICAgW0FDX0RFRklORShbVVNFX0xJQlhNTF0sIDEsIFtEZWZpbmUgdG8gMSB0byBidWlsZCB3aXRoIFhNTCBzdXBwb3J0LiAoLS13aXRoLWxpYnhtbCldKV0pCisgCisgaWYgdGVzdCAiJHdpdGhfbGlieG1sIiA9IHllcyA7IHRoZW4KKy0gIEFDX0NIRUNLX1BST0dTKFhNTDJfQ09ORklHLCB4bWwyLWNvbmZpZykKKy0gIGlmIHRlc3QgLW4gIiRYTUwyX0NPTkZJRyI7IHRoZW4KKy0gICAgZm9yIHBnYWNfb3B0aW9uIGluIGAkWE1MMl9DT05GSUcgLS1jZmxhZ3NgOyBkbworLSAgICAgIGNhc2UgJHBnYWNfb3B0aW9uIGluCistICAgICAgICAtSSp8LUQqKSBDUFBGTEFHUz0iJENQUEZMQUdTICRwZ2FjX29wdGlvbiI7OworLSAgICAgIGVzYWMKKy0gICAgZG9uZQorLSAgICBmb3IgcGdhY19vcHRpb24gaW4gYCRYTUwyX0NPTkZJRyAtLWxpYnNgOyBkbworLSAgICAgIGNhc2UgJHBnYWNfb3B0aW9uIGluCistICAgICAgICAtTCopIExERkxBR1M9IiRMREZMQUdTICRwZ2FjX29wdGlvbiI7OworLSAgICAgIGVzYWMKKy0gICAgZG9uZQorLSAgZmkKKysgIENQUEZMQUdTPSIkQ1BQRkxBR1MgYHBrZy1jb25maWcgLS1zaG9ydC1lcnJvcnMgLS1wcmludC1lcnJvcnMgLS1jZmxhZ3MgImxpYnhtbC0yLjAiIDI+JjFgIgorKyAgTElCUz0iYHBrZy1jb25maWcgLS1zaG9ydC1lcnJvcnMgLS1wcmludC1lcnJvcnMgLS1saWJzICJsaWJ4bWwtMi4wIiAyPiYxYCAkTElCUyIKKyBmaQorIAorIEFDX1NVQlNUKHdpdGhfbGlieG1sKQorLS0gCisxLjguMy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9maWxlcy9ub3QtY2hlY2stbGlicGVybC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9maWxlcy9ub3QtY2hlY2stbGlicGVybC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMTk5ZjM5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL2ZpbGVzL25vdC1jaGVjay1saWJwZXJsLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK1tQQVRDSF0gbm90IGNoZWNrIGxpYnBlcmwgdW5kZXIgY3Jvc3MgY29tcGlsaW5nCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworbGlicGVybCBsZGZsYWdzIHJldHVybmVkIGJ5IFBHQUNfQ0hFQ0tfUEVSTF9FTUJFRF9MREZMQUdTIGFyZSBuYXRpdmUsCitjYW4gbm90IGJlIHVzZWQgdG8gY2hlY2sgdGFyZ2V0IGxpYnJhcnkuCisKK3Bvc3RwcmVzcWwgaGFzIHRoZSBkZXBlbmRlbmN5IG9uIHBlcmwsIHNvIG5vdCBuZWVkIHRvIGNoZWNrIGxpYnBlcmwKK2FnYWluLCBsaWtlIGluIHBvc3RncmVzcWwtOS4yLjQgCisKK1NpZ25lZC1vZmYtYnk6IFJveSBMaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5pbiB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgoraW5kZXggYWUxYTVhMC4uOWEwOTcwZCAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5pbgorKysrIGIvY29uZmlndXJlLmluCitAQCAtMTg3Nyw3ICsxODc3LDcgQEAgaWYgdGVzdCAiJHdpdGhfdGNsIiA9IHllczsgdGhlbgorIGZpCisgCisgIyBjaGVjayBmb3IgPHBlcmwuaD4KKy1pZiB0ZXN0ICIkd2l0aF9wZXJsIiA9IHllczsgdGhlbgorK2lmIHRlc3QgIiR3aXRoX3BlcmwiID0geWVzICYmIHRlc3QgIiRjcm9zc19jb21waWxpbmciID0gbm87IHRoZW4KKyAgIGFjX3NhdmVfQ1BQRkxBR1M9JENQUEZMQUdTCisgICBDUFBGTEFHUz0iJENQUEZMQUdTIC1JJHBlcmxfYXJjaGxpYmV4cC9DT1JFIgorICAgQUNfQ0hFQ0tfSEVBREVSKHBlcmwuaCwgW10sIFtBQ19NU0dfRVJST1IoW2hlYWRlciBmaWxlIDxwZXJsLmg+IGlzIHJlcXVpcmVkIGZvciBQZXJsXSldLAorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC1DVkUtMjAxNi0wNzY2LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL2ZpbGVzL3Bvc3RncmVzcWwtQ1ZFLTIwMTYtMDc2Ni5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZjg5ZWIwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL2ZpbGVzL3Bvc3RncmVzcWwtQ1ZFLTIwMTYtMDc2Ni5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9tIGY0YWEzYTE4YTIwZDUxNTc1NTYyNTIwNzU0YWEzNzZiM2IwOGIyZDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBOb2FoIE1pc2NoIDxub2FoQGxlYWRib2F0LmNvbT4KK0RhdGU6IEZyaSwgNSBGZWIgMjAxNiAyMDoyMjo1MSAtMDUwMAorU3ViamVjdDogW1BBVENIXSBGb3JjZSBjZXJ0YWluICJwbGphdmEiIGN1c3RvbSBHVUNzIHRvIGJlIFBHQ19TVVNFVC4KKworRnV0dXJlIFBML0phdmEgdmVyc2lvbnMgd2lsbCBjbG9zZSBDVkUtMjAxNi0wNzY2IGJ5IG1ha2luZyB0aGVzZSBHVUNzCitQR0NfU1VTRVQuICBUaGlzIFBvc3RncmVTUUwgY2hhbmdlIGluZGVwZW5kZW50bHkgbWl0aWdhdGVzIHRoYXQgUEwvSmF2YQordnVsbmVyYWJpbGl0eSwgaGVscGluZyBzaXRlcyB0aGF0IHVwZGF0ZSBQb3N0Z3JlU1FMIG1vcmUgZnJlcXVlbnRseSB0aGFuCitQTC9KYXZhLiAgQmFjay1wYXRjaCB0byA5LjEgKGFsbCBzdXBwb3J0ZWQgdmVyc2lvbnMpLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1NpZ25lZC1vZmYtYnk6IE5vYWggTWlzY2ggPG5vYWhAbGVhZGJvYXQuY29tPgorSW5kZXg6IHBvc3RncmVzcWwtOS40LjQvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWMuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHBvc3RncmVzcWwtOS40LjQub3JpZy9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Yy5jCTIwMTUtMDYtMTAgMDM6Mjk6MzguMDAwMDAwMDAwICswODAwCisrKysgcG9zdGdyZXNxbC05LjQuNC9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Yy5jCTIwMTYtMDMtMDQgMTU6NTg6MjYuNDU5MjY2OTUxICswODAwCitAQCAtNzA3Miw2ICs3MDcyLDE3IEBACisgCQkhcHJvY2Vzc19zaGFyZWRfcHJlbG9hZF9saWJyYXJpZXNfaW5fcHJvZ3Jlc3MpCisgCQllbG9nKEZBVEFMLCAiY2Fubm90IGNyZWF0ZSBQR0NfUE9TVE1BU1RFUiB2YXJpYWJsZXMgYWZ0ZXIgc3RhcnR1cCIpOworIAorKwkvKgorKwkgKiBCZWZvcmUgcGxqYXZhIGNvbW1pdCAzOThmM2I4NzZlZDQwMmJkYWVjOGJjODA0ZjI5ZTJiZTk1Yzc1MTM5CisrCSAqICgyMDE1LTEyLTE1KSwgdHdvIG9mIHRoYXQgbW9kdWxlJ3MgUEdDX1VTRVJTRVQgdmFyaWFibGVzIGZhY2lsaXRhdGVkCisrCSAqIHRyaXZpYWwgZXNjYWxhdGlvbiB0byBzdXBlcnVzZXIgcHJpdmlsZWdlcy4gIFJlc3RyaWN0IHRoZSB2YXJpYWJsZXMgdG8KKysJICogcHJvdGVjdCBzaXRlcyB0aGF0IGhhdmUgeWV0IHRvIHVwZ3JhZGUgcGxqYXZhLgorKwkgKi8KKysJaWYgKGNvbnRleHQgPT0gUEdDX1VTRVJTRVQgJiYKKysJCShzdHJjbXAobmFtZSwgInBsamF2YS5jbGFzc3BhdGgiKSA9PSAwIHx8CisrCQkgc3RyY21wKG5hbWUsICJwbGphdmEudm1vcHRpb25zIikgPT0gMCkpCisrCQljb250ZXh0ID0gUEdDX1NVU0VUOworKworIAlnZW4gPSAoc3RydWN0IGNvbmZpZ19nZW5lcmljICopIGd1Y19tYWxsb2MoRVJST1IsIHN6KTsKKyAJbWVtc2V0KGdlbiwgMCwgc3opOworIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL2ZpbGVzL3Bvc3RncmVzcWwtQ1ZFLTIwMTYtMDc3My5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9maWxlcy9wb3N0Z3Jlc3FsLUNWRS0yMDE2LTA3NzMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGZjOTA4MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9maWxlcy9wb3N0Z3Jlc3FsLUNWRS0yMDE2LTA3NzMucGF0Y2gKQEAgLTAsMCArMSwyMjIgQEAKK0Zyb20gM2JiM2Y0MmYzNzQ5ZDQwYjhkNGRlNjU4NzFlOGQ4MjhiMThkNGE0NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFRvbSBMYW5lIDx0Z2xAc3NzLnBnaC5wYS51cz4KK0RhdGU6IE1vbiwgOCBGZWIgMjAxNiAxMDoyNTo0MCAtMDUwMAorU3ViamVjdDogW1BBVENIXSBGaXggc29tZSByZWdleCBpc3N1ZXMgd2l0aCBvdXQtb2YtcmFuZ2UgY2hhcmFjdGVycyBhbmQgbGFyZ2UKKyBjaGFyIHJhbmdlcy4KKworUHJldmlvdXNseSwgb3VyIHJlZ2V4IGNvZGUgZGVmaW5lZCBDSFJfTUFYIGFzIDB4ZmZmZmZmZmUsIHdoaWNoIGlzIGEKK2JhZCBjaG9pY2UgYmVjYXVzZSBpdCBpcyBvdXRzaWRlIHRoZSByYW5nZSBvZiB0eXBlICJjZWx0IiAoaW50MzIpLgorQ2hhcmFjdGVycyBhcHByb2FjaGluZyB0aGF0IGxpbWl0IGNvdWxkIGxlYWQgdG8gaW5maW5pdGUgbG9vcHMgaW4gbG9naWMKK3N1Y2ggYXMgImZvciAoYyA9IGE7IGMgPD0gYjsgYysrKSIgd2hlcmUgYyBpcyBvZiB0eXBlIGNlbHQgYnV0IHRoZQorcmFuZ2UgYm91bmRzIGFyZSBjaHIuICBTdWNoIGxvb3BzIHdpbGwgd29yayBzYWZlbHkgb25seSBpZiBDSFJfTUFYKzEKK2lzIHJlcHJlc2VudGFibGUgaW4gY2VsdCwgc2luY2UgYyBtdXN0IGFkdmFuY2UgdG8gYmV5b25kIGIgYmVmb3JlIHRoZQorbG9vcCB3aWxsIGV4aXQuCisKK0ZvcnR1bmF0ZWx5LCB0aGVyZSBzZWVtcyBubyByZWFzb24gbm90IHRvIHJlc3RyaWN0IENIUl9NQVggdG8gMHg3ZmZmZmZmZS4KK0l0J3MgaGlnaGx5IHVubGlrZWx5IHRoYXQgVW5pY29kZSB3aWxsIGV2ZXIgYXNzaWduIGNvZGVzIHRoYXQgaGlnaCwgYW5kCitub25lIG9mIG91ciBvdGhlciBiYWNrZW5kIGVuY29kaW5ncyBuZWVkIGNoYXJhY3RlcnMgYmV5b25kIHRoYXQgZWl0aGVyLgorCitJbiBhZGRpdGlvbiB0byBtb2RpZnlpbmcgdGhlIG1hY3JvLCB3ZSBoYXZlIHRvIGV4cGxpY2l0bHkgZW5mb3JjZSBjaGFyYWN0ZXIKK3JhbmdlIHJlc3RyaWN0aW9ucyBvbiB0aGUgdmFsdWVzIG9mIFx1LCBcVSwgYW5kIFx4IGVzY2FwZSBzZXF1ZW5jZXMsIGVsc2UKK3RoZSBsaW1pdCBpcyB0cml2aWFsbHkgYnlwYXNzZWQuCisKK0Fsc28sIHRoZSBjb2RlIGZvciBleHBhbmRpbmcgY2FzZS1pbmRlcGVuZGVudCBjaGFyYWN0ZXIgcmFuZ2VzIGluIGJyYWNrZXQKK2V4cHJlc3Npb25zIGhhZCBhIHBvdGVudGlhbCBpbnRlZ2VyIG92ZXJmbG93IGluIGl0cyBjYWxjdWxhdGlvbiBvZiB0aGUKK251bWJlciBvZiBjaGFyYWN0ZXJzIGl0IGNvdWxkIGdlbmVyYXRlLCB3aGljaCBjb3VsZCBsZWFkIHRvIGFsbG9jYXRpbmcgdG9vCitzbWFsbCBhIGNoYXJhY3RlciB2ZWN0b3IgYW5kIHRoZW4gb3ZlcndyaXRpbmcgbWVtb3J5LiAgQW4gYXR0YWNrZXIgd2l0aCB0aGUKK2FiaWxpdHkgdG8gc3VwcGx5IGFyYml0cmFyeSByZWdleCBwYXR0ZXJucyBjb3VsZCBlYXNpbHkgY2F1c2UgdHJhbnNpZW50IERPUwordmlhIHNlcnZlciBjcmFzaGVzLCBhbmQgdGhlIHBvc3NpYmlsaXR5IGZvciBwcml2aWxlZ2UgZXNjYWxhdGlvbiBoYXMgbm90CitiZWVuIHJ1bGVkIG91dC4KKworUXVpdGUgYXNpZGUgZnJvbSB0aGUgaW50ZWdlci1vdmVyZmxvdyBwcm9ibGVtLCB0aGUgcmFuZ2UgZXhwYW5zaW9uIGNvZGUgd2FzCit1bm5lY2Vzc2FyaWx5IGluZWZmaWNpZW50IGluIHRoYXQgaXQgYWx3YXlzIHByb2R1Y2VkIGEgcmVzdWx0IGNvbnNpc3Rpbmcgb2YKK2luZGl2aWR1YWwgY2hhcmFjdGVycywgYWJhbmRvbmluZyB0aGUga25vd2xlZGdlIHRoYXQgd2UgaGFkIGEgcmFuZ2UgdG8KK3N0YXJ0IHdpdGguICBJZiB0aGUgaW5wdXQgcmFuZ2UgaXMgbGFyZ2UsIHRoaXMgcmVxdWlyZXMgZXhjZXNzaXZlIG1lbW9yeS4KK0NoYW5nZSBpdCBzbyB0aGF0IHRoZSBvcmlnaW5hbCByYW5nZSBpcyByZXBvcnRlZCBhcy1pcywgYW5kIHRoZW4gd2UgYWRkIG9uCithbnkgY2FzZS1lcXVpdmFsZW50IGNoYXJhY3RlcnMgdGhhdCBhcmUgb3V0c2lkZSB0aGF0IHJhbmdlLiAgV2l0aCB0aGlzCithcHByb2FjaCwgd2UgY2FuIGJvdW5kIHRoZSBudW1iZXIgb2YgaW5kaXZpZHVhbCBjaGFyYWN0ZXJzIGFsbG93ZWQgd2l0aG91dAorc2FjcmlmaWNpbmcgbXVjaC4gIFRoaXMgcGF0Y2ggYWxsb3dzIGF0IG1vc3QgMTAwMDAwIGluZGl2aWR1YWwgY2hhcmFjdGVycywKK3doaWNoIEkgYmVsaWV2ZSB0byBiZSBtb3JlIHRoYW4gdGhlIG51bWJlciBvZiBjYXNlIHBhaXJzIGV4aXN0aW5nIGluCitVbmljb2RlLCBzbyB0aGF0IHRoZSByZXN0cmljdGlvbiB3aWxsIG5ldmVyIGJlIGhpdCBpbiBwcmFjdGljZS4KKworSXQncyBzdGlsbCBwb3NzaWJsZSBmb3IgcmFuZ2UoKSB0byB0YWtlIGF3aGlsZSBnaXZlbiBhIGxhcmdlIGNoYXJhY3RlciBjb2RlCityYW5nZSwgc28gYWxzbyBhZGQgc3RhdGVtZW50LWNhbmNlbCBkZXRlY3Rpb24gdG8gaXRzIGxvb3AuICBUaGUgZG93bnN0cmVhbQorZnVuY3Rpb24gZG92ZWMoKSBhbHNvIGxhY2tlZCBjYW5jZWwgZGV0ZWN0aW9uLCBhbmQgY291bGQgdGFrZSBhIGxvbmcgdGltZQorZ2l2ZW4gYSBsYXJnZSBvdXRwdXQgZnJvbSByYW5nZSgpLgorCitQZXIgZnV6eiB0ZXN0aW5nIGJ5IEdyZWcgU3RhcmsuICBCYWNrLXBhdGNoIHRvIGFsbCBzdXBwb3J0ZWQgYnJhbmNoZXMuCisKK1NlY3VyaXR5OiBDVkUtMjAxNi0wNzczCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworU2lnbmVkLW9mZi1ieTogVG9tIExhbmUgPHRnbEBzc3MucGdoLnBhLnVzPgorU2lnbmVkLW9mZi1ieTogWmhpeGlvbmcgQ2hpIDx6aGl4aW9uZy5jaGlAd2luZHJpdmVyLmNvbT4KKworSW5kZXg6IHBvc3RncmVzcWwtOS40LjUvc3JjL2JhY2tlbmQvcmVnZXgvcmVnY19sZXguYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHBvc3RncmVzcWwtOS40LjUub3JpZy9zcmMvYmFja2VuZC9yZWdleC9yZWdjX2xleC5jCTIwMTUtMTAtMDYgMDM6MTI6MDYuMDAwMDAwMDAwICswODAwCisrKysgcG9zdGdyZXNxbC05LjQuNS9zcmMvYmFja2VuZC9yZWdleC9yZWdjX2xleC5jCTIwMTYtMDMtMTAgMTA6Mjk6NTcuMDQ1Nzg0MzE3ICswODAwCitAQCAtNzkyLDEzICs3OTIsMTMgQEAKKyAJCQlicmVhazsKKyAJCWNhc2UgQ0hSKCd1Jyk6CisgCQkJYyA9IGxleGRpZ2l0cyh2LCAxNiwgNCwgNCk7CistCQkJaWYgKElTRVJSKCkpCisrCQkJaWYgKElTRVJSKCkgfHwgYyA8IENIUl9NSU4gfHwgYyA+IENIUl9NQVgpCisgCQkJCUZBSUxXKFJFR19FRVNDQVBFKTsKKyAJCQlSRVRWKFBMQUlOLCBjKTsKKyAJCQlicmVhazsKKyAJCWNhc2UgQ0hSKCdVJyk6CisgCQkJYyA9IGxleGRpZ2l0cyh2LCAxNiwgOCwgOCk7CistCQkJaWYgKElTRVJSKCkpCisrCQkJaWYgKElTRVJSKCkgfHwgYyA8IENIUl9NSU4gfHwgYyA+IENIUl9NQVgpCisgCQkJCUZBSUxXKFJFR19FRVNDQVBFKTsKKyAJCQlSRVRWKFBMQUlOLCBjKTsKKyAJCQlicmVhazsKK0BAIC04MTYsNyArODE2LDcgQEAKKyAJCWNhc2UgQ0hSKCd4Jyk6CisgCQkJTk9URShSRUdfVVVOUE9SVCk7CisgCQkJYyA9IGxleGRpZ2l0cyh2LCAxNiwgMSwgMjU1KTsJCS8qIFJFcyA+MjU1IGxvbmcgb3V0c2lkZSBzcGVjICovCistCQkJaWYgKElTRVJSKCkpCisrCQkJaWYgKElTRVJSKCkgfHwgYyA8IENIUl9NSU4gfHwgYyA+IENIUl9NQVgpCisgCQkJCUZBSUxXKFJFR19FRVNDQVBFKTsKKyAJCQlSRVRWKFBMQUlOLCBjKTsKKyAJCQlicmVhazsKK0BAIC04NzIsNiArODcyLDkgQEAKKyAKKyAvKgorICAqIGxleGRpZ2l0cyAtIHNsdXJwIHVwIGRpZ2l0cyBhbmQgcmV0dXJuIGNociB2YWx1ZQorKyAqCisrICogVGhpcyBkb2VzIG5vdCBhY2NvdW50IGZvciBvdmVyZmxvdzsgY2FsbGVycyBzaG91bGQgcmFuZ2UtY2hlY2sgdGhlIHJlc3VsdAorKyAqIGlmIG1heGxlbiBpcyBsYXJnZSBlbm91Z2ggdG8gbWFrZSB0aGF0IHBvc3NpYmxlLgorICAqLworIHN0YXRpYyBjaHIJCQkJCQkvKiBjaHIgdmFsdWU7IGVycm9ycyBzaWduYWxsZWQgdmlhIEVSUiAqLworIGxleGRpZ2l0cyhzdHJ1Y3QgdmFycyAqIHYsCitJbmRleDogcG9zdGdyZXNxbC05LjQuNS9zcmMvYmFja2VuZC9yZWdleC9yZWdjX2xvY2FsZS5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcG9zdGdyZXNxbC05LjQuNS5vcmlnL3NyYy9iYWNrZW5kL3JlZ2V4L3JlZ2NfbG9jYWxlLmMJMjAxNS0xMC0wNiAwMzoxMjowNi4wMDAwMDAwMDAgKzA4MDAKKysrKyBwb3N0Z3Jlc3FsLTkuNC41L3NyYy9iYWNrZW5kL3JlZ2V4L3JlZ2NfbG9jYWxlLmMJMjAxNi0wMy0xMCAxMDozNDoyOC43NTc3ODE3MjYgKzA4MDAKK0BAIC00MDgsOCArNDA4LDcgQEAKKyAJaW50CQkJbmNocnM7CisgCXN0cnVjdCBjdmVjICpjdjsKKyAJY2VsdAkJYywKKy0JCQkJbGMsCistCQkJCXVjOworKwkJCQljYzsKKyAKKyAJaWYgKGEgIT0gYiAmJiAhYmVmb3JlKGEsIGIpKQorIAl7CitAQCAtNDI3LDI0ICs0MjYsNDggQEAKKyAKKyAJLyoKKyAJICogV2hlbiBjYXNlLWluZGVwZW5kZW50LCBpdCdzIGhhcmQgdG8gZGVjaWRlIHdoZW4gY3ZlYyByYW5nZXMgYXJlIHVzYWJsZSwKKy0JICogc28gZm9yIG5vdyBhdCBsZWFzdCwgd2Ugd29uJ3QgdHJ5LiAgV2UgYWxsb2NhdGUgZW5vdWdoIHNwYWNlIGZvciB0d28KKy0JICogY2FzZSB2YXJpYW50cyBwbHVzIGEgbGl0dGxlIGV4dHJhIGZvciB0aGUgdHdvIHRpdGxlIGNhc2UgdmFyaWFudHMuCisrCSAqIHNvIGZvciBub3cgYXQgbGVhc3QsIHdlIHdvbid0IHRyeS4gIFdlIHVzZSBhIHJhbmdlIGZvciB0aGUgb3JpZ2luYWxseQorKwkgKiBzcGVjaWZpZWQgY2hycyBhbmQgdGhlbiBhZGQgb24gYW55IGNhc2UtZXF1aXZhbGVudHMgdGhhdCBhcmUgb3V0c2lkZQorKwkgKiB0aGF0IHJhbmdlIGFzIGluZGl2aWR1YWwgY2hycy4KKysJICoKKysJICogVG8gZW5zdXJlIHNhbmUgYmVoYXZpb3IgaWYgc29tZW9uZSBzcGVjaWZpZXMgYSB2ZXJ5IGxhcmdlIHJhbmdlLCBsaW1pdAorKwkgKiB0aGUgYWxsb2NhdGlvbiBzaXplIHRvIDEwMDAwMCBjaHJzIChhcmJpdHJhcnkpIGFuZCBjaGVjayBmb3Igb3ZlcnJ1bgorKwkgKiBpbnNpZGUgdGhlIGxvb3AgYmVsb3cuCisgCSAqLworIAorLQluY2hycyA9IChiIC0gYSArIDEpICogMiArIDQ7CistCistCWN2ID0gZ2V0Y3ZlYyh2LCBuY2hycywgMCk7CisrCWN2ID0gZ2V0Y3ZlYyh2LCBuY2hycywgMSk7CisgCU5PRVJSTigpOworKwlhZGRyYW5nZShjdiwgYSwgYik7CisgCisgCWZvciAoYyA9IGE7IGMgPD0gYjsgYysrKQorIAl7CistCQlhZGRjaHIoY3YsIGMpOworLQkJbGMgPSBwZ193Y190b2xvd2VyKChjaHIpIGMpOworLQkJaWYgKGMgIT0gbGMpCistCQkJYWRkY2hyKGN2LCBsYyk7CistCQl1YyA9IHBnX3djX3RvdXBwZXIoKGNocikgYyk7CistCQlpZiAoYyAhPSB1YykKKy0JCQlhZGRjaHIoY3YsIHVjKTsKKysJCWNjID0gcGdfd2NfdG9sb3dlcigoY2hyKSBjKTsKKysJCWlmIChjYyAhPSBjICYmCisrCQkJKGJlZm9yZShjYywgYSkgfHwgYmVmb3JlKGIsIGNjKSkpCisrCQl7CisrCQkJaWYgKGN2LT5uY2hycyA+PSBjdi0+Y2hyc3BhY2UpCisrCQkJeworKwkJCQlFUlIoUkVHX0VUT09CSUcpOworKwkJCQlyZXR1cm4gTlVMTDsKKysJCQl9CisrCQkJYWRkY2hyKGN2LCBjYyk7CisrCQl9CisrCQljYyA9IHBnX3djX3RvdXBwZXIoKGNocikgYyk7CisrCQlpZiAoY2MgIT0gYyAmJgorKwkJCShiZWZvcmUoY2MsIGEpIHx8IGJlZm9yZShiLCBjYykpKQorKwkJeworKwkJCWlmIChjdi0+bmNocnMgPj0gY3YtPmNocnNwYWNlKQorKwkJCXsKKysJCQkJRVJSKFJFR19FVE9PQklHKTsKKysJCQkJcmV0dXJuIE5VTEw7CisrCQkJfQorKwkJCWFkZGNocihjdiwgY2MpOworKwkJfQorKwkJaWYgKENBTkNFTF9SRVFVRVNURUQodi0+cmUpKQorKwkJeworKwkJCUVSUihSRUdfQ0FOQ0VMKTsKKysJCQlyZXR1cm4gTlVMTDsKKysJCX0KKyAJfQorIAorIAlyZXR1cm4gY3Y7CitJbmRleDogcG9zdGdyZXNxbC05LjQuNS9zcmMvYmFja2VuZC9yZWdleC9yZWdjb21wLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBwb3N0Z3Jlc3FsLTkuNC41Lm9yaWcvc3JjL2JhY2tlbmQvcmVnZXgvcmVnY29tcC5jCTIwMTUtMTAtMDYgMDM6MTI6MDYuMDAwMDAwMDAwICswODAwCisrKysgcG9zdGdyZXNxbC05LjQuNS9zcmMvYmFja2VuZC9yZWdleC9yZWdjb21wLmMJMjAxNi0wMy0xMCAxMDozNToyNS4zOTc3ODExODUgKzA4MDAKK0BAIC0xNTY5LDYgKzE1NjksNyBAQAorIAl7CisgCQljaCA9ICpwOworIAkJbmV3YXJjKHYtPm5mYSwgUExBSU4sIHN1YmNvbG9yKHYtPmNtLCBjaCksIGxwLCBycCk7CisrCQlOT0VSUigpOworIAl9CisgCisgCS8qIGFuZCB0aGUgcmFuZ2VzICovCitAQCAtMTU3OCw2ICsxNTc5LDcgQEAKKyAJCXRvID0gKihwICsgMSk7CisgCQlpZiAoZnJvbSA8PSB0bykKKyAJCQlzdWJyYW5nZSh2LCBmcm9tLCB0bywgbHAsIHJwKTsKKysJCU5PRVJSKCk7CisgCX0KKyB9CisgCitJbmRleDogcG9zdGdyZXNxbC05LjQuNS9zcmMvaW5jbHVkZS9yZWdleC9yZWdjdXN0b20uaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHBvc3RncmVzcWwtOS40LjUub3JpZy9zcmMvaW5jbHVkZS9yZWdleC9yZWdjdXN0b20uaAkyMDE1LTEwLTA2IDAzOjEyOjA2LjAwMDAwMDAwMCArMDgwMAorKysrIHBvc3RncmVzcWwtOS40LjUvc3JjL2luY2x1ZGUvcmVnZXgvcmVnY3VzdG9tLmgJMjAxNi0wMy0xMCAxMDozNzowOS45ODk3ODAxODggKzA4MDAKK0BAIC02NSw3ICs2NSw4IEBACisgI2RlZmluZSBESUdJVFZBTChjKSAoKGMpLScwJykJLyogdHVybiBjaHIgZGlnaXQgaW50byBpdHMgdmFsdWUgKi8KKyAjZGVmaW5lIENIUkJJVFMgMzIJCQkJLyogYml0cyBpbiBhIGNocjsgbXVzdCBub3QgdXNlIHNpemVvZiAqLworICNkZWZpbmUgQ0hSX01JTiAweDAwMDAwMDAwCQkvKiBzbWFsbGVzdCBhbmQgbGFyZ2VzdCBjaHI7IHRoZSB2YWx1ZSAqLworLSNkZWZpbmUgQ0hSX01BWCAweGZmZmZmZmZlCQkvKiBDSFJfTUFYLUNIUl9NSU4rMSBzaG91bGQgZml0IGluIHVjaHIgKi8KKysjZGVmaW5lIENIUl9NQVggMHg3ZmZmZmZmZQkJLyogQ0hSX01BWC1DSFJfTUlOKzEgbXVzdCBmaXQgaW4gYW4gaW50LCBhbmQKKysJCQkJCQkJCSAqIENIUl9NQVgrMSBtdXN0IGZpdCBpbiBib3RoIGNociBhbmQgY2VsdCAqLworIAorIC8qIGZ1bmN0aW9ucyBvcGVyYXRpbmcgb24gY2hyICovCisgI2RlZmluZSBpc2NhbG51bSh4KSBwZ193Y19pc2FsbnVtKHgpCitJbmRleDogcG9zdGdyZXNxbC05LjQuNS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3JlZ2V4Lm91dAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHBvc3RncmVzcWwtOS40LjUub3JpZy9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3JlZ2V4Lm91dAkyMDE1LTEwLTA2IDAzOjEyOjA2LjAwMDAwMDAwMCArMDgwMAorKysrIHBvc3RncmVzcWwtOS40LjUvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9yZWdleC5vdXQJMjAxNi0wMy0xMCAxMDozODoyOC44MjE3Nzk0MzYgKzA4MDAKK0BAIC0yMjIsMyArMjIyLDUgQEAKKyAgdAorICgxIHJvdykKKyAKKytzZWxlY3QgJ2EnIH4gJ1x4N2ZmZmZmZmYnOyAgLS0gaW52YWxpZCBjaHIgY29kZQorK0VSUk9SOiAgaW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgZXNjYXBlIFwgc2VxdWVuY2UKK0luZGV4OiBwb3N0Z3Jlc3FsLTkuNC41L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3JlZ2V4LnNxbAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHBvc3RncmVzcWwtOS40LjUub3JpZy9zcmMvdGVzdC9yZWdyZXNzL3NxbC9yZWdleC5zcWwJMjAxNS0xMC0wNiAwMzoxMjowNi4wMDAwMDAwMDAgKzA4MDAKKysrKyBwb3N0Z3Jlc3FsLTkuNC41L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3JlZ2V4LnNxbAkyMDE2LTAzLTEwIDEwOjM4OjU3Ljg0NTc3OTE1OSArMDgwMAorQEAgLTU3LDMgKzU3LDQgQEAKKyBzZWxlY3QgJ2EnIH4gJy4uICgpfFwxJzsKKyBzZWxlY3QgJ2EnIH4gJygpKlwxJzsKKyBzZWxlY3QgJ2EnIH4gJygpK1wxJzsKKytzZWxlY3QgJ2EnIH4gJ1x4N2ZmZmZmZmYnOyAgLS0gaW52YWxpZCBjaHIgY29kZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL2ZpbGVzL3Bvc3RncmVzcWwtYmFzaHByb2ZpbGUgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC1iYXNocHJvZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYzkzMWYzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL2ZpbGVzL3Bvc3RncmVzcWwtYmFzaHByb2ZpbGUKQEAgLTAsMCArMSw0IEBACitbIC1mIC9ldGMvcHJvZmlsZSBdICYmIHNvdXJjZSAvZXRjL3Byb2ZpbGUKKworUEdEQVRBPS92YXIvbGliL3Bvc3RncmVzcWwvZGF0YQorZXhwb3J0IFBHREFUQQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL2ZpbGVzL3Bvc3RncmVzcWwtc2V0dXAgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC1zZXR1cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NWJiMDFlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL2ZpbGVzL3Bvc3RncmVzcWwtc2V0dXAKQEAgLTAsMCArMSw3MyBAQAorIyEvYmluL3NoCisjCisjIHBvc3RncmVzcWwtc2V0dXAgICAgICBJbml0aWFsaXphdGlvbiBvcGVyYXRpb24gZm9yIFBvc3RncmVTUUwKKworIyBGb3IgU0VMaW51eCB3ZSBuZWVkIHRvIHVzZSAncnVudXNlcicgbm90ICdzdScKK2lmIFsgLXggL3NiaW4vcnVudXNlciBdCit0aGVuCisgICAgU1U9cnVudXNlcgorZWxzZQorICAgIFNVPXN1CitmaQorCitQR0VOR0lORT0vdXNyL2JpbgorUEdEQVRBPS92YXIvbGliL3Bvc3RncmVzcWwvZGF0YQorUEdMT0c9L3Zhci9saWIvcG9zdGdyZXNxbC9wZ3N0YXJ0dXAubG9nCitzY3JpcHRfcmVzdWx0PTAKKworaW5pdGRiKCl7CisgICAgaWYgWyAtZiAiJFBHREFUQS9QR19WRVJTSU9OIiBdCisgICAgdGhlbgorCWVjaG8gLW4gIkRhdGEgZGlyZWN0b3J5IGlzIG5vdCBlbXB0eSEiCisJZWNobyAtbiAiIFtGQUlMRURdICIKKwllY2hvCisJc2NyaXB0X3Jlc3VsdD0xCisgICAgZWxzZQorCWVjaG8gLW4gIkluaXRpYWxpemluZyBkYXRhYmFzZTogIgorCWlmIFsgISAtZSAiJFBHREFUQSIgLWEgISAtaCAiJFBHREFUQSIgXQorCXRoZW4KKwkJbWtkaXIgLXAgIiRQR0RBVEEiIHx8IGV4aXQgMQorCQljaG93biBwb3N0Z3Jlczpwb3N0Z3JlcyAiJFBHREFUQSIKKwkJY2htb2QgZ28tcnd4ICIkUEdEQVRBIgorCWZpCisJIyBDbGVhbiB1cCBTRUxpbnV4IHRhZ2dpbmcgZm9yIFBHREFUQQorCVsgLXggL3NiaW4vcmVzdG9yZWNvbiBdICYmIC9zYmluL3Jlc3RvcmVjb24gIiRQR0RBVEEiCisKKwkjIE1ha2Ugc3VyZSB0aGUgc3RhcnR1cC10aW1lIGxvZyBmaWxlIGlzIE9LLCB0b28KKwlpZiBbICEgLWUgIiRQR0xPRyIgLWEgISAtaCAiJFBHTE9HIiBdCisJdGhlbgorCQl0b3VjaCAiJFBHTE9HIiB8fCBleGl0IDEKKwkJY2hvd24gcG9zdGdyZXM6cG9zdGdyZXMgIiRQR0xPRyIKKwkJY2htb2QgZ28tcnd4ICIkUEdMT0ciCisJCVsgLXggL3NiaW4vcmVzdG9yZWNvbiBdICYmIC9zYmluL3Jlc3RvcmVjb24gIiRQR0xPRyIKKwlmaQorCisJIyBJbml0aWFsaXplIHRoZSBkYXRhYmFzZQorCSRTVSAtbCBwb3N0Z3JlcyAtYyAiJFBHRU5HSU5FL2luaXRkYiAtLXBnZGF0YT0nJFBHREFUQScgLS1hdXRoPSdpZGVudCciID4+ICIkUEdMT0ciIDI+JjEgPCAvZGV2L251bGwKKworCSMgQ3JlYXRlIGRpcmVjdG9yeSBmb3IgcG9zdG1hc3RlciBsb2cKKwlta2RpciAiJFBHREFUQS9wZ19sb2ciCisJY2hvd24gcG9zdGdyZXM6cG9zdGdyZXMgIiRQR0RBVEEvcGdfbG9nIgorCWNobW9kIGdvLXJ3eCAiJFBHREFUQS9wZ19sb2ciCisKKwlpZiBbIC1mICIkUEdEQVRBL1BHX1ZFUlNJT04iIF0KKwl0aGVuCisJICAgIGVjaG8gLW4gIiBbIE9LIF0gIgorCWVsc2UKKwkgICAgZWNobyAtbiAiIFtGQUlMRURdICIKKwkgICAgc2NyaXB0X3Jlc3VsdD0xCisJZmkKKwllY2hvCisgICAgZmkKK30KKworY2FzZSAiJDEiIGluCisgIGluaXRkYikKKwlpbml0ZGIKKwk7OworICAqKQorCWVjaG8gIlVzYWdlOiAkMCBpbml0ZGIiCisJZXhpdCAyCitlc2FjCisKK2V4aXQgJHNjcmlwdF9yZXN1bHQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9maWxlcy9wb3N0Z3Jlc3FsLmluaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC5pbml0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhNGYwY2QKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC5pbml0CkBAIC0wLDAgKzEsMTkzIEBACisjIS9iaW4vc2gKKyMKKyMgcG9zdGdyZXNxbAlUaGlzIGlzIHRoZSBpbml0IHNjcmlwdCBmb3Igc3RhcnRpbmcgdXAgdGhlIFBvc3RncmVTUUwKKyMJCXNlcnZlci4KKyMKKyMgY2hrY29uZmlnOiAtIDY0IDM2CisjIGRlc2NyaXB0aW9uOiBQb3N0Z3JlU1FMIGRhdGFiYXNlIHNlcnZlci4KKyMgcHJvY2Vzc25hbWU6IHBvc3RtYXN0ZXIKKyMgcGlkZmlsZTogL3Zhci9ydW4vcG9zdG1hc3Rlci5QT1JULnBpZAorCisjIFRoaXMgc2NyaXB0IGlzIHNsaWdodGx5IHVudXN1YWwgaW4gdGhhdCB0aGUgbmFtZSBvZiB0aGUgZGFlbW9uIChwb3N0bWFzdGVyKQorIyBpcyBub3QgdGhlIHNhbWUgYXMgdGhlIG5hbWUgb2YgdGhlIHN1YnN5c3RlbSAocG9zdGdyZXNxbCkKKworIyBQR1ZFUlNJT04gaXMgdGhlIGZ1bGwgcGFja2FnZSB2ZXJzaW9uLCBlLmcuLCA4LjQuMAorIyBOb3RlOiB0aGUgc3BlY2ZpbGUgaW5zZXJ0cyB0aGUgY29ycmVjdCB2YWx1ZSBkdXJpbmcgcGFja2FnZSBidWlsZAorUEdWRVJTSU9OPTkuMi40CisjIFBHTUFKT1JWRVJTSU9OIGlzIG1ham9yIHZlcnNpb24sIGUuZy4sIDguNCAodGhpcyBzaG91bGQgbWF0Y2ggUEdfVkVSU0lPTikKK1BHTUFKT1JWRVJTSU9OPWBlY2hvICIkUEdWRVJTSU9OIiB8IHNlZCAncy9eXChbMC05XSpcLlswLTldKlwpLiokL1wxLydgCisKKyMgU291cmNlIGZ1bmN0aW9uIGxpYnJhcnkuCisuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworCisjIEZpbmQgdGhlIG5hbWUgb2YgdGhlIHNjcmlwdAorTkFNRT1gYmFzZW5hbWUgJDBgCitpZiBbICR7TkFNRTowOjF9ID0gIlMiIC1vICR7TkFNRTowOjF9ID0gIksiIF0KK3RoZW4KKwlOQU1FPSR7TkFNRTozfQorZmkKKworIyBGb3IgU0VMaW51eCB3ZSBuZWVkIHRvIHVzZSAncnVudXNlcicgbm90ICdzdScKK2lmIFsgLXggL3NiaW4vcnVudXNlciBdCit0aGVuCisgICAgU1U9cnVudXNlcgorZWxzZQorICAgIFNVPXN1CitmaQorCisKKyMgU2V0IGRlZmF1bHRzIGZvciBjb25maWd1cmF0aW9uIHZhcmlhYmxlcworUEdFTkdJTkU9L3Vzci9iaW4KK1BHUE9SVD01NDMyCitQR0RBVEE9L3Zhci9saWIvcG9zdGdyZXNxbC9kYXRhCitQR0xPRz0vdmFyL2xpYi9wb3N0Z3Jlc3FsL3Bnc3RhcnR1cC5sb2cKKyMgVmFsdWUgdG8gc2V0IGFzIHBvc3RtYXN0ZXIgcHJvY2VzcydzIG9vbV9hZGoKK1BHX09PTV9BREo9LTE3CisKKyMgT3ZlcnJpZGUgZGVmYXVsdHMgZnJvbSAvZXRjL3N5c2NvbmZpZy9wb3N0Z3Jlc3FsIGlmIGZpbGUgaXMgcHJlc2VudAorWyAtZiAvZXRjL2RlZmF1bHQvcG9zdGdyZXNxbC8ke05BTUV9IF0gJiYgLiAvZXRjL2RlZmF1bHQvcG9zdGdyZXNxbC8ke05BTUV9CisKK2V4cG9ydCBQR0RBVEEKK2V4cG9ydCBQR1BPUlQKKworbG9ja2ZpbGU9Ii92YXIvbG9jay9zdWJzeXMvJHtOQU1FfSIKK3BpZGZpbGU9Ii92YXIvcnVuL3Bvc3RtYXN0ZXIuJHtQR1BPUlR9LnBpZCIKKworc2NyaXB0X3Jlc3VsdD0wCisKK3N0YXJ0KCl7CisJWyAteCAiJFBHRU5HSU5FL3Bvc3RtYXN0ZXIiIF0gfHwgZXhpdCA1CisKKwlQU1FMX1NUQVJUPSQiU3RhcnRpbmcgJHtOQU1FfSBzZXJ2aWNlOiAiCisKKwkjIE1ha2Ugc3VyZSBzdGFydHVwLXRpbWUgbG9nIGZpbGUgaXMgdmFsaWQKKwlpZiBbICEgLWUgIiRQR0xPRyIgLWEgISAtaCAiJFBHTE9HIiBdCisJdGhlbgorCQl0b3VjaCAiJFBHTE9HIiB8fCBleGl0IDQKKwkJY2hvd24gcG9zdGdyZXM6cG9zdGdyZXMgIiRQR0xPRyIKKwkJY2htb2QgZ28tcnd4ICIkUEdMT0ciCisJCVsgLXggL3NiaW4vcmVzdG9yZWNvbiBdICYmIC9zYmluL3Jlc3RvcmVjb24gIiRQR0xPRyIKKwlmaQorCisJIyBDaGVjayBmb3IgdGhlIFBHREFUQSBzdHJ1Y3R1cmUKKwlpZiBbIC1mICIkUEdEQVRBL1BHX1ZFUlNJT04iIF0gJiYgWyAtZCAiJFBHREFUQS9iYXNlIiBdCisJdGhlbgorCQkjIENoZWNrIHZlcnNpb24gb2YgZXhpc3RpbmcgUEdEQVRBCisJCWlmIFsgeGBjYXQgIiRQR0RBVEEvUEdfVkVSU0lPTiJgICE9IHgiJFBHTUFKT1JWRVJTSU9OIiBdCisJCXRoZW4KKwkJCVNZU0RPQ0RJUj0iKFlvdXIgU3lzdGVtJ3MgZG9jdW1lbnRhdGlvbiBkaXJlY3RvcnkpIgorCQkJaWYgWyAtZCAiL3Vzci9kb2MvcG9zdGdyZXNxbC0kUEdWRVJTSU9OIiBdCisJCQl0aGVuCisJCQkJU1lTRE9DRElSPS91c3IvZG9jCisJCQlmaQorCQkJaWYgWyAtZCAiL3Vzci9zaGFyZS9kb2MvcG9zdGdyZXNxbC0kUEdWRVJTSU9OIiBdCisJCQl0aGVuCisJCQkJU1lTRE9DRElSPS91c3Ivc2hhcmUvZG9jCisJCQlmaQorCQkJaWYgWyAtZCAiL3Vzci9kb2MvcGFja2FnZXMvcG9zdGdyZXNxbC0kUEdWRVJTSU9OIiBdCisJCQl0aGVuCisJCQkJU1lTRE9DRElSPS91c3IvZG9jL3BhY2thZ2VzCisJCQlmaQorCQkJaWYgWyAtZCAiL3Vzci9zaGFyZS9kb2MvcGFja2FnZXMvcG9zdGdyZXNxbC0kUEdWRVJTSU9OIiBdCisJCQl0aGVuCisJCQkJU1lTRE9DRElSPS91c3Ivc2hhcmUvZG9jL3BhY2thZ2VzCisJCQlmaQorCQkJZWNobworCQkJZWNobyAkIkFuIG9sZCB2ZXJzaW9uIG9mIHRoZSBkYXRhYmFzZSBmb3JtYXQgd2FzIGZvdW5kLiIKKwkJCWVjaG8gJCJZb3UgbmVlZCB0byB1cGdyYWRlIHRoZSBkYXRhIGZvcm1hdCBiZWZvcmUgdXNpbmcgUG9zdGdyZVNRTC4iCisJCQllY2hvICQiU2VlICRTWVNET0NESVIvcG9zdGdyZXNxbC0kUEdWRVJTSU9OL1JFQURNRS5ycG0tZGlzdCBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCisJCQlleGl0IDEKKwkJZmkKKwllbHNlCisJCSMgTm8gZXhpc3RpbmcgUEdEQVRBISBXYXJuIHRoZSB1c2VyIHRvIGluaXRkYiBpdC4KKwkJZWNobworICAgICAgICAgICAgICAgIGVjaG8gIiRQR0RBVEEgaXMgbWlzc2luZy4gVXNlIFwicG9zdGdyZXNxbC1zZXR1cCBpbml0ZGJcIiB0byBpbml0aWFsaXplIHRoZSBjbHVzdGVyIGZpcnN0LiIKKwkJZWNobyAtbiAiIFtGQUlMRURdICIKKwkJZWNobworCQlleGl0IDEKKwlmaQorCisJZWNobyAtbiAiJFBTUUxfU1RBUlQiCisJdGVzdCB4IiRQR19PT01fQURKIiAhPSB4ICYmIGVjaG8gIiRQR19PT01fQURKIiA+IC9wcm9jL3NlbGYvb29tX3Njb3JlX2FkagorCSRTVSAtbCBwb3N0Z3JlcyAtYyAiJFBHRU5HSU5FL3Bvc3RtYXN0ZXIgLXAgJyRQR1BPUlQnIC1EICckUEdEQVRBJyAke1BHT1BUU30gJiIgPj4gIiRQR0xPRyIgMj4mMSA8IC9kZXYvbnVsbAorCXNsZWVwIDIKKwlwaWQ9YGhlYWQgLW4gMSAiJFBHREFUQS9wb3N0bWFzdGVyLnBpZCIgMj4vZGV2L251bGxgCisJaWYgWyAieCRwaWQiICE9IHggXQorCXRoZW4KKwkJZWNobyAtbiAiIFsgT0sgXSIKKwkJdG91Y2ggIiRsb2NrZmlsZSIKKwkJZWNobyAkcGlkID4gIiRwaWRmaWxlIgorCQllY2hvCisJZWxzZQorCQllY2hvIC1uICAiIFtGQUlMRURdIgorCQllY2hvCisJCXNjcmlwdF9yZXN1bHQ9MQorCWZpCit9CisKK3N0b3AoKXsKKwllY2hvIC1uICQiU3RvcHBpbmcgJHtOQU1FfSBzZXJ2aWNlOiAiCisJaWYgWyAtZSAiJGxvY2tmaWxlIiBdCisJdGhlbgorCSAgICAkU1UgLWwgcG9zdGdyZXMgLWMgIiRQR0VOR0lORS9wZ19jdGwgc3RvcCAtRCAnJFBHREFUQScgLXMgLW0gZmFzdCIgPiAvZGV2L251bGwgMj4mMSA8IC9kZXYvbnVsbAorCSAgICByZXQ9JD8KKwkgICAgaWYgWyAkcmV0IC1lcSAwIF0KKwkgICAgdGhlbgorCQllY2hvIC1uICIgWyBPSyBdICIKKwkJcm0gLWYgIiRwaWRmaWxlIgorCQlybSAtZiAiJGxvY2tmaWxlIgorCSAgICBlbHNlCisJCWVjaG8gLW4gIiBbRkFJTEVEXSAiCisJCXNjcmlwdF9yZXN1bHQ9MQorCSAgICBmaQorCWVsc2UKKwkgICAgIyBub3QgcnVubmluZzsgcGVyIExTQiBzdGFuZGFyZHMgdGhpcyBpcyAib2siCisJICAgIGVjaG8gLW4gIiBbIE9LIF0gIgorCWZpCisJZWNobworfQorCityZXN0YXJ0KCl7CisgICAgc3RvcAorICAgIHN0YXJ0Cit9CisKK2NvbmRyZXN0YXJ0KCl7CisgICAgWyAtZSAiJGxvY2tmaWxlIiBdICYmIHJlc3RhcnQgfHwgOgorfQorCityZWxvYWQoKXsKKyAgICAkU1UgLWwgcG9zdGdyZXMgLWMgIiRQR0VOR0lORS9wZ19jdGwgcmVsb2FkIC1EICckUEdEQVRBJyAtcyIgPiAvZGV2L251bGwgMj4mMSA8IC9kZXYvbnVsbAorfQorCisKKyMgU2VlIGhvdyB3ZSB3ZXJlIGNhbGxlZC4KK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKwlzdGFydAorCTs7CisgIHN0b3ApCisJc3RvcAorCTs7CisgIHN0YXR1cykKKwlzdGF0dXMgcG9zdG1hc3RlcgorCXNjcmlwdF9yZXN1bHQ9JD8KKwk7OworICByZXN0YXJ0KQorCXJlc3RhcnQKKwk7OworICBjb25kcmVzdGFydHx0cnktcmVzdGFydCkKKwljb25kcmVzdGFydAorCTs7CisgIHJlbG9hZCkKKwlyZWxvYWQKKwk7OworICBmb3JjZS1yZWxvYWQpCisJcmVzdGFydAorCTs7CisgICopCisJZWNobyAkIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxzdGF0dXN8cmVzdGFydHxjb25kcmVzdGFydHx0cnktcmVzdGFydHxyZWxvYWR8Zm9yY2UtcmVsb2FkfSIKKwlleGl0IDIKK2VzYWMKKworZXhpdCAkc2NyaXB0X3Jlc3VsdApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL2ZpbGVzL3Bvc3RncmVzcWwucGFtIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL2ZpbGVzL3Bvc3RncmVzcWwucGFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiNmZkYzUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC5wYW0KQEAgLTAsMCArMSw0IEBACisjJVBBTS0xLjAKK2F1dGggICAgICAgICAgICBpbmNsdWRlICAgICAgICAgY29tbW9uLWF1dGgKK2FjY291bnQgICAgICAgICBpbmNsdWRlICAgICAgICAgY29tbW9uLWFjY291bnQKK3Bhc3N3b3JkICAgICAgICBpbmNsdWRlICAgICAgICAgY29tbW9uLXBhc3N3b3JkCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL2ZpbGVzL3Bvc3RncmVzcWwuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZWM5NTllCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL2ZpbGVzL3Bvc3RncmVzcWwuc2VydmljZQpAQCAtMCwwICsxLDI3IEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPVBvc3RncmVTUUwgZGF0YWJhc2Ugc2VydmVyCitBZnRlcj1uZXR3b3JrLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworVXNlcj1wb3N0Z3JlcworR3JvdXA9cG9zdGdyZXMKKworIyBQb3J0IG51bWJlciBmb3Igc2VydmVyIHRvIGxpc3RlbiBvbgorRW52aXJvbm1lbnQ9UEdQT1JUPTU0MzIKKworIyBMb2NhdGlvbiBvZiBkYXRhYmFzZSBkaXJlY3RvcnkKK0Vudmlyb25tZW50PVBHREFUQT0vdmFyL2xpYi9wb3N0Z3Jlc3FsL2RhdGEKKworIyBEaXNhYmxlIE9PTSBraWxsIG9uIHRoZSBwb3N0bWFzdGVyCitPT01TY29yZUFkanVzdD0tMTcKKworRXhlY1N0YXJ0PUBCSU5ESVJAL3BnX2N0bCBzdGFydCAtRCAke1BHREFUQX0gLXMgLW8gIi1wICR7UEdQT1JUfSIgLXcgLXQgMzAwCitFeGVjU3RvcD1AQklORElSQC9wZ19jdGwgc3RvcCAtRCAke1BHREFUQX0gLXMgLW0gZmFzdAorRXhlY1JlbG9hZD1AQklORElSQC9wZ19jdGwgcmVsb2FkIC1EICR7UEdEQVRBfSAtcworCisjIEdpdmUgYSByZWFzb25hYmxlIGFtb3VudCBvZiB0aW1lIGZvciB0aGUgc2VydmVyIHRvIHN0YXJ0IHVwL3NodXQgZG93bgorVGltZW91dFNlYz0zMDAKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL2ZpbGVzL3JlbW92ZS5hdXRvY29uZi52ZXJzaW9uLmNoZWNrLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL2ZpbGVzL3JlbW92ZS5hdXRvY29uZi52ZXJzaW9uLmNoZWNrLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlMjNmZDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcmVtb3ZlLmF1dG9jb25mLnZlcnNpb24uY2hlY2sucGF0Y2gKQEAgLTAsMCArMSwxNiBAQAorSW5kZXg6IHBvc3RncmVzcWwtOS4yLjQvY29uZmlndXJlLmluCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcG9zdGdyZXNxbC05LjIuNC5vcmlnL2NvbmZpZ3VyZS5pbgorKysrIHBvc3RncmVzcWwtOS4yLjQvY29uZmlndXJlLmluCitAQCAtMTksMTAgKzE5LDYgQEAgbTRfcGF0dGVybl9mb3JiaWQoXlBHQUNfKWRubCB0byBjYXRjaCB1bgorIAorIEFDX0lOSVQoW1Bvc3RncmVTUUxdLCBbOS40LjJdLCBbcGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZ10pCisgCistbTRfaWYobTRfZGVmbihbbTRfUEFDS0FHRV9WRVJTSU9OXSksIFsyLjY5XSwgW10sIFttNF9mYXRhbChbQXV0b2NvbmYgdmVyc2lvbiAyLjY5IGlzIHJlcXVpcmVkLgorLVVudGVzdGVkIGNvbWJpbmF0aW9ucyBvZiAnYXV0b2NvbmYnIGFuZCBQb3N0Z3JlU1FMIHZlcnNpb25zIGFyZSBub3QKKy1yZWNvbW1lbmRlZC4gIFlvdSBjYW4gcmVtb3ZlIHRoZSBjaGVjayBmcm9tICdjb25maWd1cmUuaW4nIGJ1dCBpdCBpcyB0aGVuCisteW91ciByZXNwb25zaWJpbGl0eSB3aGV0aGVyIHRoZSByZXN1bHQgd29ya3Mgb3Igbm90Ll0pXSkKKyBBQ19DT1BZUklHSFQoW0NvcHlyaWdodCAoYykgMTk5Ni0yMDE0LCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cF0pCisgQUNfQ09ORklHX1NSQ0RJUihbc3JjL2JhY2tlbmQvYWNjZXNzL2NvbW1vbi9oZWFwdHVwbGUuY10pCisgQUNfQ09ORklHX0FVWF9ESVIoY29uZmlnKQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvcG9zdGdyZXNxbC5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvcG9zdGdyZXNxbC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjg4YTJkMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9wb3N0Z3Jlc3FsLmluYwpAQCAtMCwwICsxLDM5MSBAQAorU1VNTUFSWSA9ICJQb3N0Z3JlU1FMIGlzIGEgcG93ZXJmdWwsIG9wZW4gc291cmNlIHJlbGF0aW9uYWwgZGF0YWJhc2Ugc3lzdGVtLiIKK0RFU0NSSVBUSU9OID0gIlwKKyAgICBQb3N0Z3JlU1FMIGlzIGFuIGFkdmFuY2VkIE9iamVjdC1SZWxhdGlvbmFsIGRhdGFiYXNlIG1hbmFnZW1lbnQgc3lzdGVtIFwKKyAgICAoREJNUykgdGhhdCBzdXBwb3J0cyBhbG1vc3QgYWxsIFNRTCBjb25zdHJ1Y3RzIChpbmNsdWRpbmcgXAorICAgIHRyYW5zYWN0aW9ucywgc3Vic2VsZWN0cyBhbmQgdXNlci1kZWZpbmVkIHR5cGVzIGFuZCBmdW5jdGlvbnMpLiBUaGUgXAorICAgIHBvc3RncmVzcWwgcGFja2FnZSBpbmNsdWRlcyB0aGUgY2xpZW50IHByb2dyYW1zIGFuZCBsaWJyYXJpZXMgdGhhdCBcCisgICAgeW91J2xsIG5lZWQgdG8gYWNjZXNzIGEgUG9zdGdyZVNRTCBEQk1TIHNlcnZlci4gIFRoZXNlIFBvc3RncmVTUUwgXAorICAgIGNsaWVudCBwcm9ncmFtcyBhcmUgcHJvZ3JhbXMgdGhhdCBkaXJlY3RseSBtYW5pcHVsYXRlIHRoZSBpbnRlcm5hbCBcCisgICAgc3RydWN0dXJlIG9mIFBvc3RncmVTUUwgZGF0YWJhc2VzIG9uIGEgUG9zdGdyZVNRTCBzZXJ2ZXIuIFRoZXNlIGNsaWVudCBcCisgICAgcHJvZ3JhbXMgY2FuIGJlIGxvY2F0ZWQgb24gdGhlIHNhbWUgbWFjaGluZSB3aXRoIHRoZSBQb3N0Z3JlU1FMIFwKKyAgICBzZXJ2ZXIsIG9yIG1heSBiZSBvbiBhIHJlbW90ZSBtYWNoaW5lIHdoaWNoIGFjY2Vzc2VzIGEgUG9zdGdyZVNRTCBcCisgICAgc2VydmVyIG92ZXIgYSBuZXR3b3JrIGNvbm5lY3Rpb24uIFRoaXMgcGFja2FnZSBjb250YWlucyB0aGUgZG9jcyBcCisgICAgaW4gSFRNTCBmb3IgdGhlIHdob2xlIHBhY2thZ2UsIGFzIHdlbGwgYXMgY29tbWFuZC1saW5lIHV0aWxpdGllcyBmb3IgXAorICAgIG1hbmFnaW5nIFBvc3RncmVTUUwgZGF0YWJhc2VzIG9uIGEgUG9zdGdyZVNRTCBzZXJ2ZXIuIFwKKyAgICBcCisgICAgSWYgeW91IHdhbnQgdG8gbWFuaXB1bGF0ZSBhIFBvc3RncmVTUUwgZGF0YWJhc2Ugb24gYSBsb2NhbCBvciByZW1vdGUgXAorICAgIFBvc3RncmVTUUwgc2VydmVyLCB5b3UgbmVlZCB0aGlzIHBhY2thZ2UuIFlvdSBhbHNvIG5lZWQgdG8gaW5zdGFsbCBcCisgICAgdGhpcyBwYWNrYWdlIGlmIHlvdSdyZSBpbnN0YWxsaW5nIHRoZSBwb3N0Z3Jlc3FsLXNlcnZlciBwYWNrYWdlLiBcCisiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnBvc3RncmVzcWwuY29tIgorTElDRU5TRSA9ICJCU0QiCitERVBFTkRTID0gInpsaWIgcmVhZGxpbmUgdHpjb2RlLW5hdGl2ZSIKK0lOQ19QUiA9ICJyMCIKKworQVJNX0lOU1RSVUNUSU9OX1NFVCA9ICJhcm0iCisKK1NSQ19VUkkgPSAiaHR0cDovL2Z0cC5wb3N0Z3Jlc3FsLm9yZy9wdWIvc291cmNlL3Yke1BWfS8ke0JQfS50YXIuYnoyIFwKKyAgICBmaWxlOi8vcG9zdGdyZXNxbC5pbml0IFwKKyAgICBmaWxlOi8vcG9zdGdyZXNxbC1iYXNocHJvZmlsZSBcCisgICAgZmlsZTovL3Bvc3RncmVzcWwucGFtIFwKKyAgICBmaWxlOi8vcG9zdGdyZXNxbC1zZXR1cCBcCisgICAgZmlsZTovL3Bvc3RncmVzcWwuc2VydmljZSBcCisgICAgZmlsZTovLzAwMDEtVXNlLXBrZy1jb25maWctZm9yLWxpYnhtbDItZGV0ZWN0aW9uLnBhdGNoIFwKKyAgICBmaWxlOi8vcG9zdGdyZXNxbC1DVkUtMjAxNi0wNzY2LnBhdGNoIFwKKyAgICBmaWxlOi8vcG9zdGdyZXNxbC1DVkUtMjAxNi0wNzczLnBhdGNoIFwKKyIKKworTEVBRF9TT05BTUUgPSAibGlicHEuc28iCisKKyMgTERGTEFHUyBmb3Igc2hhcmVkIGxpYnJhcmllcworZXhwb3J0IExERkxBR1NfU0wgPSAiJHtMREZMQUdTfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHBlcmxuYXRpdmUgcHl0aG9ubmF0aXZlIHVzZXJhZGQgdXBkYXRlLXJjLmQgc3lzdGVtZAorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAicG9zdGdyZXNxbC5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRV8ke1BOfSA9ICJkaXNhYmxlIgorCitERVBFTkRTX2FwcGVuZCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3N5c3RlbWQtc3lzdGVtY3RsLW5hdGl2ZScsICcnLCBkKX0iCitwa2dfcG9zdGluc3RfJHtQTn0gKCkgeworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCBzeXN2aW5pdCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgIGlmIFsgLW4gIiREIiBdOyB0aGVuCisgICAgICAgICAgICBPUFRTPSItLXJvb3Q9JEQiCisgICAgICAgIGZpCisgICAgICAgIHN5c3RlbWN0bCAkT1BUUyBtYXNrIHBvc3RncmVzcWwtc2VydmVyLnNlcnZpY2UKKyAgICBmaQorfQorCitlbmFibGVfcGFtID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ3BhbScsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHID8/PSAiJHtlbmFibGVfcGFtfSBvcGVuc3NsIHB5dGhvbiB1dWlkIGxpYnhtbCB0Y2wgbmxzIGxpYnhtbCBwZXJsIgorUEFDS0FHRUNPTkZJR1twYW1dID0gIi0td2l0aC1wYW0sLS13aXRob3V0LXBhbSxsaWJwYW0sIgorUEFDS0FHRUNPTkZJR1tvcGVuc3NsXSA9ICItLXdpdGgtb3BlbnNzbCwtLXdpdGhvdXQtb3BlbnNzbCxvcGVuc3NsLCIKK1BBQ0tBR0VDT05GSUdbcHl0aG9uXSA9ICItLXdpdGgtcHl0aG9uLC0td2l0aG91dC1weXRob24scHl0aG9uLHB5dGhvbiIKK1BBQ0tBR0VDT05GSUdbdXVpZF0gPSAiLS13aXRoLW9zc3AtdXVpZCwtLXdpdGhvdXQtb3NzcC11dWlkLG9zc3AtdXVpZCwiCisjIHdoZW4gdGNsIG5hdGl2ZSBwYWNrYWdlICBpcyBmaXhlZCBjaGFuZ2UgV09SS0RJUiB0byBTVEFHSU5HX0JJTkRJUl9DUk9TUworUEFDS0FHRUNPTkZJR1t0Y2xdID0gIi0td2l0aC10Y2wgLS13aXRoLXRjbGNvbmZpZz0ke1NUQUdJTkdfQklORElSX0NST1NTfSwtLXdpdGhvdXQtdGNsLHRjbCwiCitQQUNLQUdFQ09ORklHW25sc10gPSAiLS1lbmFibGUtbmxzLC0tZGlzYWJsZS1ubHMsLCIKK1BBQ0tBR0VDT05GSUdbbGlieG1sXSA9ICItLXdpdGgtbGlieG1sLC0td2l0aG91dC1saWJ4bWwsbGlieG1sMixsaWJ4bWwyIgorUEFDS0FHRUNPTkZJR1twZXJsXSA9ICItLXdpdGgtcGVybCwtLXdpdGhvdXQtcGVybCxwZXJsLHBlcmwiCisKK0VYVFJBX09FQ09ORiArPSAiLS1lbmFibGUtdGhyZWFkLXNhZmV0eSAtLWRpc2FibGUtcnBhdGggXAorICAgIC0tZGF0YWRpcj0ke2RhdGFkaXJ9LyR7QlBOfSBcCisgICAgLS1zeXNjb25mZGlyPSR7c3lzY29uZmRpcn0vJHtCUE59IFwKKyIKK0VYVFJBX09FQ09ORl9zaDQgKz0gIi0tZGlzYWJsZS1zcGlubG9ja3MiCitFWFRSQV9PRUNPTkZfYWFyY2g2NCArPSAiLS1kaXNhYmxlLXNwaW5sb2NrcyIKKworUEFDS0FHRVNfRFlOQU1JQyArPSAiXiR7UE59LXBscGVybCBeJHtQTn0tcGxwZXJsLWRiZyBcCisgICAgXiR7UE59LXBsdGNsIF4ke1BOfS1wbHRjbC1kYmcgXAorICAgIF4ke1BOfS1wbHB5dGhvbiBeJHtQTn0tcGxweXRob24tZGJnIFwKKyIKKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQoKSB7CisKKyAgICBkZWYgZmlsbF9tb3JlKG5hbWUsIGRiZz1UcnVlKToKKyAgICAgICAgaWYgbmFtZSBpcyBOb25lIG9yIG5hbWUuc3RyaXAoKSA9PSAiIjoKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIGZwYWNrPWQuZ2V0VmFyKCdQQUNLQUdFUycsIEZhbHNlKSBvciAiIgorICAgICAgICBmcGFjaz0iJHtQTn0tIiArIG5hbWUgKyAiICIgKyBmcGFjaworICAgICAgICBpZiBkYmc6CisgICAgICAgICAgICBmcGFjaz0iJHtQTn0tIiArIG5hbWUgKyAiLWRiZyIgKyAiICIgKyBmcGFjaworICAgICAgICBkLnNldFZhcignUEFDS0FHRVMnLCBmcGFjaykKKworICAgIGNvbmY9KGQuZ2V0VmFyKCdQQUNLQUdFQ09ORklHJywgVHJ1ZSkgb3IgIiIpLnNwbGl0KCkKKyAgICBwYWNrPWQuZ2V0VmFyKCdQQUNLQUdFUycsIEZhbHNlKSBvciAiIgorICAgIGJiLmRlYnVnKDEsICJQQUNLQUdFQ09ORklHPSVzIiAlIGNvbmYpCisgICAgYmIuZGVidWcoMSwgIlBBQ0tBR0VTMT0lcyIgJSBwYWNrICkKKworICAgIGlmICJwZXJsIiBpbiBjb25mIDoKKyAgICAgICAgZmlsbF9tb3JlKCJwbHBlcmwiKQorCisgICAgaWYgInRjbCIgaW4gY29uZjoKKyAgICAgICAgZmlsbF9tb3JlKCJwbHRjbCIpCisKKyAgICBpZiAicHl0aG9uIiBpbiBjb25mOgorICAgICAgICBmaWxsX21vcmUoInBscHl0aG9uIikKKworICAgIHBhY2s9ZC5nZXRWYXIoJ1BBQ0tBR0VTJywgVHJ1ZSkgb3IgIiIKKyAgICBiYi5kZWJ1ZygxLCAiUEFDS0FHRVMyPSVzIiAlIHBhY2spCisKK30KKworZG9fY29uZmlndXJlKCkgeworICAgICMgZG9fY29uZmlndXJlX3ByZXBlbmQKKyAgICAjIG1ha2Ugc3VyZSBjb25maWd1cmUgZmluZHMgcHl0aG9uIGluY2x1ZGRpcnMgd2l0aCB0aGVzZSBlbnZzCisgICAgZXhwb3J0IEJVSUxEX1NZUz0ke0JVSUxEX1NZU30gSE9TVF9TWVM9JHtIT1NUX1NZU30gXAorICAgICAgICAgICBTVEFHSU5HX0lOQ0RJUj0ke1NUQUdJTkdfSU5DRElSfSBcCisgICAgICAgICAgIFNUQUdJTkdfTElCRElSPSR7U1RBR0lOR19MSUJESVJ9CisKKyAgICAjIGRvX2NvbmZpZ3VyZQorICAgIGF1dG90b29sc19kb19jb25maWd1cmUKKworICAgICMgZG9fY29uZmlndXJlX2FwcGVuZAorICAgICMgd29ya2Fyb3VuZCBwZXJsIHBhY2thZ2UgcmVsYXRlZCBidWdzCisgICAgc2VkIC1pIC1lICJzOi1ML3Vzci9sb2NhbC9saWI6LUw9L3Vzci9sb2NhbC9saWI6ZyIgXAorICAgICAgICAke0J9L3NyYy9NYWtlZmlsZS5nbG9iYWwKKyAgICBMSUJQTkE9Ilwke1NUQUdJTkdfTElCRElSX05BVElWRX0vcGVybC1uYXRpdmUiCisgICAgTElCTkE9Ilwke1NUQUdJTkdfTElCRElSX05BVElWRX0iCisgICAgQkxJQk5BPSJcJHtTVEFHSU5HX0JBU0VfTElCRElSX05BVElWRX0iCisgICAgc2VkIC1pIC1lICIvXnBlcmxfYXJjaGxpYmV4cC9zOiR7TElCUE5BfToke1NUQUdJTkdfTElCRElSfTpnIiBcCisgICAgICAgICR7Qn0vc3JjL01ha2VmaWxlLmdsb2JhbAorICAgIHNlZCAtaSAtZSAiL15wZXJsX3ByaXZsaWJleHAvczoke0xJQlBOQX06JHtTVEFHSU5HX0xJQkRJUn06ZyIgXAorICAgICAgICAke0J9L3NyYy9NYWtlZmlsZS5nbG9iYWwKKyAgICAjIHJlbW92ZSB0aGUgcnBhdGgsIHJlcGxhY2Ugd2l0aCBjb3JyZWN0IGxpYiBwYXRoCisgICAgc2VkIC1pIFwKKyAgICAgICAgLWUgIi9ecGVybF9lbWJlZF9sZGZsYWdzL3M6LVdsLC1ycGF0aCwke0xJQk5BfTo6ZyIgXAorICAgICAgICAtZSAiL15wZXJsX2VtYmVkX2xkZmxhZ3MvczotV2wsLXJwYXRoLCR7QkxJQk5BfTo6ZyIgXAorICAgICAgICAtZSAiL15wZXJsX2VtYmVkX2xkZmxhZ3MvczotV2wsLXJwYXRoLWxpbmssJHtMSUJOQX06OmciIFwKKyAgICAgICAgLWUgIi9ecGVybF9lbWJlZF9sZGZsYWdzL3M6LVdsLC1ycGF0aC1saW5rLCR7QkxJQk5BfTo6ZyIgXAorICAgICAgICAtZSAiL15wZXJsX2VtYmVkX2xkZmxhZ3Mvczoke0xJQlBOQX06JHtTVEFHSU5HX0xJQkRJUn06ZyIgXAorICAgICAgICAtZSAiL15wZXJsX2VtYmVkX2xkZmxhZ3Mvczoke0xJQk5BfToke1NUQUdJTkdfTElCRElSfTpnIiAgXAorICAgICAgICAtZSAiL15wZXJsX2VtYmVkX2xkZmxhZ3Mvczoke0JMSUJOQX06JHtTVEFHSU5HX0JBU0VMSUJESVJ9OmciIFwKKyAgICAgICAgLWUgIi9eVENMU0gvczo9Lio6PSAke2JpbmRpcn0vdGNsc2g6ZyIgXAorICAgICR7Qn0vc3JjL01ha2VmaWxlLmdsb2JhbAorCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncGVybCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgICMgd29ya2Fyb3VuZCBwZXJsIHBhY2thZ2UncyBsaWJwZXJsLnNvIHByb2JsZW0KKyAgICAgICAgIyB3ZSBhcmUgdXNpbmcgcGVybG5hdGl2ZSBzbyB0aGlzIHBlcmwgc2hvdWxkIGhhdmUgc2FtZSB2ZXJzaW9uCisgICAgICAgIHBlcmxfdmVyc2lvbj1gcGVybCAtdiAyPi9kZXYvbnVsbCB8IFwKKyAgICAgICAgICAgIHNlZCAtbiAncy9UaGlzIGlzIHBlcmwuKnZbYS16IF0qXChbMC05XVwuWzAtOV1bMC05Ll0qXCkuKiQvXDEvcCdgCisgICAgICAgIGlmIFsgISAtaCAiJHtTVEFHSU5HX0xJQkRJUn0vcGVybC8kcGVybF92ZXJzaW9uL0NPUkUvbGlicGVybC5zbyIgLWEgXAorICAgICAgICAgICAgICEgLWggIiR7U1RBR0lOR19MSUJESVJ9L2xpYnBlcmwuc28iIF07IHRoZW4KKyAgICAgICAgICAgIGxuIC1zZiAuLi8uLi8uLi9saWJwZXJsLnNvLjUgXAorICAgICAgICAgICAgICAgICR7U1RBR0lOR19MSUJESVJ9L3BlcmwvJHBlcmxfdmVyc2lvbi9DT1JFL2xpYnBlcmwuc28KKyAgICAgICAgZmkKKyAgICBmaQorfQorCitkb19jb21waWxlX2FwcGVuZCgpIHsKKyAgICBvZV9ydW5tYWtlIC1DIGNvbnRyaWIgYWxsCit9CisKKyMgc2VydmVyIG5lZWRzIHRvIGNvbmZpZ3VyZSB1c2VyIGFuZCBncm91cAordXNlcm51bSA9ICIyOCIKK2dyb3VwbnVtID0gIjI4IgorVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKK1VTRVJBRERfUEFSQU1fJHtQTn0gPSAiLU0gLWcgcG9zdGdyZXMgLW8gLXIgLWQgJHtsb2NhbHN0YXRlZGlyfS9saWIvJHtCUE59IFwKKyAgICAtcyAvYmluL2Jhc2ggLWMgJ1Bvc3RncmVTUUwgU2VydmVyJyAtdSAke3VzZXJudW19IHBvc3RncmVzIgorR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAiLWcgJHtncm91cG51bX0gLW8gLXIgcG9zdGdyZXMiCisKK0lOSVRTQ1JJUFRfUEFDS0FHRVMgPSAiJHtQTn0iCitJTklUU0NSSVBUX05BTUUgPSAiJHtCUE59LXNlcnZlciIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDY0IC4gc3RvcCAzNiAwIDEgMiAzIDQgNSA2IC4iCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgaW5zdGFsbCBjb250cmliCisgICAgb2VfcnVubWFrZSBERVNURElSPSR7RH0gLUMgY29udHJpYiBpbnN0YWxsCisgICAgIyBpbnN0YWxsIHR1dG9yaWFsCisgICAgaW5zdGFsbCAtZCAtbSAwNzU1ICR7RH0ke2xpYmRpcn0vJHtCUE59L3R1dG9yaWFsCisgICAgaW5zdGFsbCAke0J9L3NyYy90dXRvcmlhbC8qICR7RH0ke2xpYmRpcn0vJHtCUE59L3R1dG9yaWFsCisKKyAgICAjIGluc3RhbGwgQ09QWVJJR0hUIFJFQURNRSBISVNUT1JZCisgICAgaW5zdGFsbCAtZCAtbSAwNzU1ICR7RH0ke2RvY2Rpcn0vJHtCUE59CisgICAgZm9yIGkgaW4gJHtCfS97Q09QWVJJR0hULFJFQURNRSxISVNUT1JZfSAke0J9L2RvYy97S05PV05fQlVHUyxNSVNTSU5HX0ZFQVRVUkVTLFJFQURNRSosYnVnLnRlbXBsYXRlfTsgZG8KKyAgICAgICAgWyAtZiAkaSBdICYmIGluc3RhbGwgJGkgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KKyAgICBkb25lCisKKyAgICAjIGluc3RhbGwgZGlycyBhbmQgc2VydmVyIGluaXQKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9LyR7QlBOfS5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC8ke0JQTn0tc2VydmVyCisgICAgc2VkIC1pIC1lICJzL15QR1ZFUlNJT049LiokL1BHVkVSU0lPTj0ke1BWfS9nIiAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvJHtCUE59LXNlcnZlcgorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9LyR7QlBOfS1zZXR1cCAke0R9JHtiaW5kaXJ9LyR7QlBOfS1zZXR1cAorICAgIGluc3RhbGwgLWQgLW0gNzAwICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi8ke0JQTn0vZGF0YQorICAgIGluc3RhbGwgLWQgLW0gNzAwICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi8ke0JQTn0vYmFja3VwcworICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vJHtCUE59LWJhc2hwcm9maWxlICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi8ke0JQTn0vLmJhc2hfcHJvZmlsZQorICAgIGNob3duIC1SIHBvc3RncmVzOnBvc3RncmVzICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi8ke0JQTn0KKyAgICAjIG11bHRpcGxlIHNlcnZlciBjb25maWcgZGlyZWN0b3J5CisgICAgaW5zdGFsbCAtZCAtbSA3MDAgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC8ke0JQTn0KKworICAgIGlmIFsgIiR7QGQuZ2V0VmFyKCdlbmFibGVfcGFtJywgVHJ1ZSl9IiA9ICJwYW0iIF07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9wYW0uZAorICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L3Bvc3RncmVzcWwucGFtICR7RH0ke3N5c2NvbmZkaXJ9L3BhbS5kL3Bvc3RncmVzcWwKKyAgICBmaQorCisgICAgIyBJbnN0YWxsIHN5c3RlbWQgdW5pdCBmaWxlcworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9wb3N0Z3Jlc3FsLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBzZWQgLWkgLWUgJ3MsQEJJTkRJUkAsJHtiaW5kaXJ9LGcnIFwKKyAgICAgICAgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcG9zdGdyZXNxbC5zZXJ2aWNlCit9CisKK1NTVEFURV9TQ0FOX0ZJTEVTICs9ICJNYWtlZmlsZS5nbG9iYWwiCisKK1BBQ0tBR0VTID0rICIke1BOfS1jbGllbnQgJHtQTn0tc2VydmVyLWRldiAke1BOfS10aW1lem9uZSBcCisgICAgbGliZWNwZy1jb21wYXQtZGJnIGxpYmVjcGctY29tcGF0IGxpYmVjcGctY29tcGF0LWRldiBcCisgICAgbGliZWNwZy1kYmcgbGliZWNwZyBsaWJlY3BnLWRldiBsaWJlY3BnLXN0YXRpY2RldiBsaWJlY3BnLWRvYyBcCisgICAgbGlicHEtZGJnIGxpYnBxIGxpYnBxLWRldiBsaWJwcS1zdGF0aWNkZXYgXAorICAgIGxpYnBndHlwZXMtZGJnIGxpYnBndHlwZXMgbGlicGd0eXBlcy1zdGF0aWNkZXYgbGlicGd0eXBlcy1kZXYgXAorICAgICR7UE59LWNvbnRyaWIgJHtQTn0tY29udHJpYi1kYmcgXAorIgorCitGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfS9pbml0LmQvJHtCUE59LXNlcnZlciBcCisgICAgJHtsb2NhbHN0YXRlZGlyfS9saWIvJHtCUE59L2RhdGEgJHtsb2NhbHN0YXRlZGlyfS9saWIvJHtCUE59L2JhY2t1cHMgXAorICAgICR7bG9jYWxzdGF0ZWRpcn0vbGliLyR7QlBOfS8uYmFzaF9wcm9maWxlICR7c3lzY29uZmRpcn0vZGVmYXVsdC8ke0JQTn0gXAorICAgICR7bGliZGlyfS8ke0JQTn0vZGljdF9zbm93YmFsbC5zbyAke2xpYmRpcn0vJHtCUE59L3BscGdzcWwuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vZXVjMjAwNF9zamlzMjAwNC5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS9saWJwcXdhbHJlY2VpdmVyLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59LypfYW5kXyouc28gXAorICAgICR7QCcke3N5c2NvbmZkaXJ9L3BhbS5kL3Bvc3RncmVzcWwnIFwKKyAgICAgICBpZiAncGFtJyA9PSBkLmdldFZhcignZW5hYmxlX3BhbScsIFRydWUpIFwKKyAgICAgICBlbHNlICcnfSBcCisiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL2RpY3Rfc25vd2JhbGwuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL3BscGdzcWwuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL2V1YzIwMDRfc2ppczIwMDQuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL2xpYnBxd2FscmVjZWl2ZXIuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnLypfYW5kXyouc28gXAorIgorCitGSUxFU18ke1BOfS1jbGllbnQgPSAiJHtiaW5kaXJ9L2NsdXN0ZXJkYiBcCisgICAgJHtiaW5kaXJ9L2NyZWF0ZWRiIFwKKyAgICAke2JpbmRpcn0vY3JlYXRlbGFuZyBcCisgICAgJHtiaW5kaXJ9L2NyZWF0ZXVzZXIgXAorICAgICR7YmluZGlyfS9kcm9wZGIgXAorICAgICR7YmluZGlyfS9kcm9wbGFuZyBcCisgICAgJHtiaW5kaXJ9L2Ryb3B1c2VyIFwKKyAgICAke2JpbmRpcn0vcGdfZHVtcCBcCisgICAgJHtiaW5kaXJ9L3BnX2R1bXBhbGwgXAorICAgICR7YmluZGlyfS9wZ19yZXN0b3JlIFwKKyAgICAke2JpbmRpcn0vcHNxbCBcCisgICAgJHtiaW5kaXJ9L3JlaW5kZXhkYiBcCisgICAgJHtiaW5kaXJ9L3ZhY3V1bWRiIFwKKyAgICAke2JpbmRpcn0vdmFjdXVtbG8gXAorICAgICR7ZGF0YWRpcn0vJHtCUE59L3BzcWxyYy5zYW1wbGUgXAorIgorRklMRVNfJHtQTn0tY2xpZW50LWRvYyA9ICIke21hbmRpcn0vbWFuMS9jbHVzdGVyZGIuKiBcCisgICAgJHttYW5kaXJ9L21hbjEvY3JlYXRlZGIuKiAgICR7bWFuZGlyfS9tYW4xL2NyZWF0ZWxhbmcuKiBcCisgICAgJHttYW5kaXJ9L21hbjEvY3JlYXRldXNlci4qICR7bWFuZGlyfS9tYW4xL2Ryb3BkYi4qIFwKKyAgICAke21hbmRpcn0vbWFuMS9kcm9wbGFuZy4qICAgJHttYW5kaXJ9L21hbjEvZHJvcHVzZXIuKiBcCisgICAgJHttYW5kaXJ9L21hbjEvcGdfZHVtcC4qICAgICR7bWFuZGlyfS9tYW4xL3BnX2R1bXBhbGwuKiBcCisgICAgJHttYW5kaXJ9L21hbjEvcGdfcmVzdG9yZS4qICR7bWFuZGlyfS9tYW4xL3BzcWwuKiBcCisgICAgJHttYW5kaXJ9L21hbjEvcmVpbmRleGRiLiogICR7bWFuZGlyfS9tYW4xL3ZhY3V1bWRiLiogXAorICAgICR7bWFuZGlyfS9tYW43LyogXAorIgorRklMRVNfJHtQTn0tZG9jICs9ICIke2RvY2Rpcn0vJHtCUE59L2h0bWwgJHtsaWJkaXJ9LyR7QlBOfS90dXRvcmlhbC8gXAorICAgICR7bWFuZGlyfS9tYW4xL2luaXRkYi4qICR7bWFuZGlyfS9tYW4xL3BnX2NvbnRyb2xkYXRhLiogXAorICAgICR7bWFuZGlyfS9tYW4xL3BnX2N0bC4qICR7bWFuZGlyfS9tYW4xL3BnX3Jlc2V0eGxvZy4qIFwKKyAgICAke21hbmRpcn0vbWFuMS9wb3N0Z3Jlcy4qICR7bWFuZGlyfS9tYW4xL3Bvc3RtYXN0ZXIuKiBcCisiCitGSUxFU18ke1BOfS10aW1lem9uZSA9ICIke2RhdGFkaXJ9LyR7QlBOfS90aW1lem9uZSBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vdGltZXpvbmVzZXRzIFwKKyIKK1JERVBFTkRTXyR7UE59ICs9ICIke1BOfS10aW1lem9uZSIKK0ZJTEVTXyR7UE59LXNlcnZlci1kZXYgPSAiJHtpbmNsdWRlZGlyfS8ke0JQTn0vc2VydmVyIgorCitGSUxFU19saWJlY3BnID0gIiR7bGliZGlyfS9saWJlY3BnKiR7U09MSUJTfSIKK0ZJTEVTX2xpYmVjcGctZGJnID0gIiR7bGliZGlyfS8uZGVidWcvbGliZWNwZyoiCitGSUxFU19saWJlY3BnLWRldiA9ICIke2xpYmRpcn0vbGliZWNwZyoke1NPTElCU0RFVn0gXAorICAgICR7bGliZGlyfS9saWJwZ3R5cGVzKiR7U09MSUJTREVWfSBcCisgICAgJHtpbmNsdWRlZGlyfS9lY3BnKi5oICR7aW5jbHVkZWRpcn0vJHtCUE59L2VjcGcqLmggXAorICAgICR7aW5jbHVkZWRpcn0vcGd0eXBlcyouaCAke2luY2x1ZGVkaXJ9LyR7QlBOfS9pbmZvcm1peCBcCisgICAgJHtpbmNsdWRlZGlyfS9zcWwzdHlwZXMuaCAke2luY2x1ZGVkaXJ9L3NxbGNhLmggXAorIgorRklMRVNfbGliZWNwZy1kb2MgPSAiJHttYW5kaXJ9L21hbjEvZWNwZy4qIgorRklMRVNfbGliZWNwZy1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2xpYmVjcGcqLmEiCitTRUNUSU9OX2xpYmVjcGctc3RhdGljZGV2ID0gImRldmVsIgorUkRFUEVORFNfbGliZWNwZy1zdGF0aWNkZXYgPSAibGliZWNwZy1kZXYgKD0gJHtFWFRFTkRQS0dWfSkiCisKK0ZJTEVTX2xpYnBxID0gIiR7bGliZGlyfS9saWJwcSoke1NPTElCU30iCitGSUxFU19saWJwcS1kYmcgPSAiJHtsaWJkaXJ9Ly5kZWJ1Zy9saWJwcSogJHtsaWJkaXJ9LyR7QlBOfS9wZ3hzL3NyYy90ZXN0L3JlZ3Jlc3MvLmRlYnVnLyoiCitGSUxFU19saWJwcS1kZXYgPSAiJHtsaWJkaXJ9L2xpYnBxKiR7U09MSUJTREVWfSBcCisgICAgJHtpbmNsdWRlZGlyfSBcCisiCitGSUxFU19saWJwcS1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2xpYnBxKi5hICR7bGliZGlyfS9saWJwZ3BvcnQuYSIKK1NFQ1RJT05fbGlicHEtc3RhdGljZGV2ID0gImRldmVsIgorUkRFUEVORFNfbGlicHEtc3RhdGljZGV2ID0gImxpYnBxLWRldiAoPSAke0VYVEVORFBLR1Z9KSIKKworRklMRVNfbGliZWNwZy1jb21wYXQgPSAiJHtsaWJkaXJ9L2xpYmVjcGdfY29tcGF0KiR7U09MSUJTfSIKK0ZJTEVTX2xpYmVjcGctY29tcGF0LWRiZyA9ICIke2xpYmRpcn0vLmRlYnVnL2xpYmVjcGdfY29tcGF0KiIKK0ZJTEVTX2xpYmVjcGctY29tcGF0LWRldiA9ICIke2xpYmRpcn0vbGliZWNwZ19jb21wYXQqJHtTT0xJQlN9IgorRklMRVNfbGlicGd0eXBlcyA9ICIke2xpYmRpcn0vbGlicGd0eXBlcyoke1NPTElCU30iCitGSUxFU19saWJwZ3R5cGVzLWRiZyA9ICIke2xpYmRpcn0vLmRlYnVnL2xpYnBndHlwZXMqIgorRklMRVNfbGlicGd0eXBlcy1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2xpYnBndHlwZXMqLmEiCitGSUxFU19saWJwZ3R5cGVzLWRldiA9ICIke2xpYmRpcn0vbGlicGd0eXBlcyoke1NPTElCU30gJHtpbmNsdWRlZGlyfS9wZ3R5cGVzKi5oIgorCitGSUxFU18ke1BOfS1jb250cmliID0gIiAke2JpbmRpcn0vb2lkMm5hbWUgJHtiaW5kaXJ9L3BnX3N0YW5kYnkgXAorICAgICR7YmluZGlyfS9wZ2JlbmNoICR7YmluZGlyfS92YWN1dW1sbyBcCisgICAgJHtTfS9jb250cmliL3NwaS8qLmV4YW1wbGUgXAorICAgICR7bGliZGlyfS8ke0JQTn0vX2ludC5zbyAke2xpYmRpcn0vJHtCUE59L2FkbWlucGFjay5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS9hdXRvaW5jLnNvICR7bGliZGlyfS8ke0JQTn0vYXV0b19leHBsYWluLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59L2F1dGhfZGVsYXkuc28gJHtsaWJkaXJ9LyR7QlBOfS9idHJlZV9naW4uc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vYnRyZWVfZ2lzdC5zbyAke2xpYmRpcn0vJHtCUE59Ly5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS9jaGtwYXNzLnNvICR7bGliZGlyfS8ke0JQTn0vY2l0ZXh0LnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59L2N1YmUuc28gJHtsaWJkaXJ9LyR7QlBOfS9kYmxpbmsuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vZGljdF9pbnQuc28gJHtsaWJkaXJ9LyR7QlBOfS9kaWN0X3hzeW4uc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vZHVtbXlfc2VjbGFiZWwuc28gJHtsaWJkaXJ9LyR7QlBOfS9lYXJ0aGRpc3RhbmNlLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59L2ZpbGVfZmR3LnNvICR7bGliZGlyfS8ke0JQTn0vZnV6enlzdHJtYXRjaC5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS9oc3RvcmUuc28gJHtsaWJkaXJ9LyR7QlBOfS9pbnNlcnRfdXNlcm5hbWUuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vaXNuLnNvICR7bGliZGlyfS8ke0JQTn0vbG8uc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vbHRyZWUuc28gJHtsaWJkaXJ9LyR7QlBOfS9tb2RkYXRldGltZS5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS9wYWdlaW5zcGVjdC5zbyAke2xpYmRpcn0vJHtCUE59L3BnX2J1ZmZlcmNhY2hlLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59L3BnX2ZyZWVzcGFjZW1hcC5zbyAke2xpYmRpcn0vJHtCUE59L3BnX3RyZ20uc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vcGdjcnlwdG8uc28gJHtsaWJkaXJ9LyR7QlBOfS9wZ3Jvd2xvY2tzLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59L3Bnc3RhdHR1cGxlLnNvICR7bGliZGlyfS8ke0JQTn0vcGdfc3RhdF9zdGF0ZW1lbnRzLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59L3JlZmludC5zbyAke2xpYmRpcn0vJHtCUE59L3NlZy5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS9zc2xpbmZvLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59L3RhYmxlZnVuYy5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS90ZXN0X3BhcnNlci5zbyAke2xpYmRpcn0vJHtCUE59L3RpbWV0cmF2ZWwuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vdHNlYXJjaDIuc28gJHtsaWJkaXJ9LyR7QlBOfS91dWlkLW9zc3Auc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vcGd4bWwuc28gJHtsaWJkaXJ9LyR7QlBOfS9wYXNzd29yZGNoZWNrLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59L3BnX3VwZ3JhZGVfc3VwcG9ydC5zbyAke2xpYmRpcn0vJHtCUE59Ly5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS91bmFjY2VudC5zbyBcCisiCitGSUxFU18ke1BOfS1jb250cmliLWRiZyA9ICIgXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL19pbnQuc28gJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvYWRtaW5wYWNrLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9hdXRvaW5jLnNvICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL2F1dG9fZXhwbGFpbi5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvYXV0aF9kZWxheS5zbyAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9idHJlZV9naW4uc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL2J0cmVlX2dpc3Quc28gJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9jaGtwYXNzLnNvICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL2NpdGV4dC5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvY3ViZS5zbyAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9kYmxpbmsuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL2RpY3RfaW50LnNvICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL2RpY3RfeHN5bi5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvZHVtbXlfc2VjbGFiZWwuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL2VhcnRoZGlzdGFuY2Uuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL2ZpbGVfZmR3LnNvICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL2Z1enp5c3RybWF0Y2guc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL2hzdG9yZS5zbyAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9pbnNlcnRfdXNlcm5hbWUuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL2lzbi5zbyAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9sby5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvbHRyZWUuc28gJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvbW9kZGF0ZXRpbWUuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL3BhZ2VpbnNwZWN0LnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9wZ19idWZmZXJjYWNoZS5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvcGdfZnJlZXNwYWNlbWFwLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9wZ190cmdtLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9wZ2NyeXB0by5zbyAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9wZ3Jvd2xvY2tzLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9wZ3N0YXR0dXBsZS5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvcGdfc3RhdF9zdGF0ZW1lbnRzLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9yZWZpbnQuc28gJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvc2VnLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9zc2xpbmZvLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy90YWJsZWZ1bmMuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL3Rlc3RfcGFyc2VyLnNvICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL3RpbWV0cmF2ZWwuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL3RzZWFyY2gyLnNvICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL3V1aWQtb3NzcC5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvcGd4bWwuc28gJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvcGFzc3dvcmRjaGVjay5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvcGdfdXBncmFkZV9zdXBwb3J0LnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy91bmFjY2VudC5zbyBcCisiCitERVNDUklQVElPTl8ke1BOfS1jb250cmliID0gIlRoZSBwb3N0Z3Jlc3FsLWNvbnRyaWIgcGFja2FnZSBjb250YWlucyBcCisgICAgY29udHJpYnV0ZWQgcGFja2FnZXMgdGhhdCBhcmUgaW5jbHVkZWQgaW4gdGhlIFBvc3RncmVTUUwgZGlzdHJpYnV0aW9uLiIKKworRklMRVNfJHtQTn0tcGx0Y2wgPSAiJHtsaWJkaXJ9LyR7QlBOfS9wbHRjbC5zbyAke2JpbmRpcn0vcGx0Y2xfZGVsbW9kIFwKKyAgICAke2JpbmRkaXJ9L3BsdGNsX2xpc3Rtb2QgJHtiaW5kaXJ9L3BsdGNsX2xvYWRtb2QgIFwKKyAgICAke2RhdGFkaXJ9LyR7QlBOfS91bmtub3duLnBsdGNsIgorRklMRVNfJHtQTn0tcGx0Y2wtZGJnID0gIiR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL3BsdGNsLnNvIgorU1VNTUFSWV8ke1BOfS1wbHRjbCA9ICJUaGUgVGNsIHByb2NlZHVyYWwgbGFuZ3VhZ2UgZm9yIFBvc3RncmVTUUwiCitERVNDUklQVElPTl8ke1BOfS1wbHRjbCA9ICJQb3N0Z3JlU1FMIGlzIGFuIGFkdmFuY2VkIE9iamVjdC1SZWxhdGlvbmFsIFwKKyAgICBkYXRhYmFzZSBtYW5hZ2VtZW50IHN5c3RlbS4gIFRoZSBwb3N0Z3Jlc3FsLXBsdGNsIHBhY2thZ2UgY29udGFpbnMgdGhlIFBML1RjbCBcCisgICAgcHJvY2VkdXJhbCBsYW5ndWFnZSBmb3IgdGhlIGJhY2tlbmQuIgorCitGSUxFU18ke1BOfS1wbHBlcmwgPSAiJHtsaWJkaXJ9LyR7QlBOfS9wbHBlcmwuc28iCitGSUxFU18ke1BOfS1wbHBlcmwtZGJnID0gIiR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL3BscGVybC5zbyIKK1NVTU1BUllfJHtQTn0tcGxwZXJsID0gIlRoZSBQZXJsIHByb2NlZHVyYWwgbGFuZ3VhZ2UgZm9yIFBvc3RncmVTUUwiCitERVNDUklQVElPTl8ke1BOfS1wbHBlcmwgPSAiUG9zdGdyZVNRTCBpcyBhbiBhZHZhbmNlZCBPYmplY3QtUmVsYXRpb25hbCBcCisgICAgZGF0YWJhc2UgbWFuYWdlbWVudCBzeXN0ZW0uICBUaGUgcG9zdGdyZXNxbC1wbHBlcmwgcGFja2FnZSBjb250YWlucyB0aGUgXAorICAgIFBML1BlcmwgcHJvY2VkdXJhbCBsYW5ndWFnZSBmb3IgdGhlIGJhY2tlbmQuIgorCisjIEluIHZlcnNpb24gOCwgaXQgd2lsbCBiZSBwbHB5dGhvbi5zbworIyBJbiB2ZXJzaW9uIDksIGl0IG1pZ2h0IGJlIHBscHl0aG9uezIsM30uc28gZGVwZW5kaW5nIG9uIHB5dGhvbjIgb3IgMworRklMRVNfJHtQTn0tcGxweXRob24gPSAiJHtsaWJkaXJ9LyR7QlBOfS9wbHB5dGhvbiouc28iCitGSUxFU18ke1BOfS1wbHB5dGhvbi1kYmcgPSAiJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvcGxweXRob24qLnNvIgorU1VNTUFSWV8ke1BOfS1wbHB5dGhvbiA9ICJUaGUgUHl0aG9uIHByb2NlZHVyYWwgbGFuZ3VhZ2UgZm9yIFBvc3RncmVTUUwiCitERVNDUklQVElPTl8ke1BOfS1wbHB5dGhvbiA9ICJQb3N0Z3JlU1FMIGlzIGFuIGFkdmFuY2VkIE9iamVjdC1SZWxhdGlvbmFsIFwKKyAgICBkYXRhYmFzZSBtYW5hZ2VtZW50IHN5c3RlbS4gIFRoZSBwb3N0Z3Jlc3FsLXBscHl0aG9uIHBhY2thZ2UgY29udGFpbnMgXAorICAgIHRoZSBQTC9QeXRob24gcHJvY2VkdXJhbCBsYW5ndWFnZSBmb3IgdGhlIGJhY2tlbmQuIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL3Bvc3RncmVzcWxfOS40LjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvcG9zdGdyZXNxbF85LjQuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NGI2NjBlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL3Bvc3RncmVzcWxfOS40LjUuYmIKQEAgLTAsMCArMSwxNCBAQAorcmVxdWlyZSBwb3N0Z3Jlc3FsLmluYworCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZUklHSFQ7bWQ1PTdkODQ3YTliNDQ2ZGRmZTE4N2FjZmFjNjY0MTg5NjcyIgorCitQUiA9ICIke0lOQ19QUn0uMCIKKworU1JDX1VSSSArPSAiXAorICAgIGZpbGU6Ly9yZW1vdmUuYXV0b2NvbmYudmVyc2lvbi5jaGVjay5wYXRjaCBcCisgICAgZmlsZTovL25vdC1jaGVjay1saWJwZXJsLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjhiMmUzNDcyYThkYzc4NjY0OWI0ZDAyZDAyZTAzOWEwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImI4N2M1MGM2NmI2ZWE0MmE5NzEyYjVmNjI4NDc5NGZhYmFkMDYxNmU2YWU0MjBjZjBmMTA1MjNiZTZkOTRhMzkiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHBzLXRvb2xzL3Bwcy10b29sc19naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bwcy10b29scy9wcHMtdG9vbHNfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczYzQ2ZWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bwcy10b29scy9wcHMtdG9vbHNfZ2l0LmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiVXNlci1zcGFjZSB0b29scyBmb3IgTGludXhQUFMiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKKworUFYgPSAiMC4wLjArZ2l0JHtTUkNQVn0iCitTUkNSRVYgPSAiMGRlYjljN2UxMzVlOTM4MGE2ZDA5ZTlkMmU5MzhhMTQ2YmI2OThjOCIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9hZ28vcHBzLXRvb2xzLmdpdCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworZG9faW5zdGFsbCgpIHsKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9ICR7RH0ke2luY2x1ZGVkaXJ9IFwKKyAgICAgICAgICAgICAgICAgICAke0R9JHtpbmNsdWRlZGlyfS9zeXMKKyAgICAgICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Byb2NtYWlsL3Byb2NtYWlsL2Zyb20tZGViaWFuLXRvLWZpeC1jb21waWxlLWVycm9ycy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHJvY21haWwvcHJvY21haWwvZnJvbS1kZWJpYW4tdG8tZml4LWNvbXBpbGUtZXJyb3JzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzNDFhOGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Byb2NtYWlsL3Byb2NtYWlsL2Zyb20tZGViaWFuLXRvLWZpeC1jb21waWxlLWVycm9ycy5wYXRjaApAQCAtMCwwICsxLDYwNiBAQAorRnJvbSA4OThlOTUxNGJjODg5YjRhNTQwZjY2N2VmZWQ5NWE1YWYxMDFjODI0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogVHVlLCAyIERlYyAyMDE0IDA3OjAwOjM2ICswOTAwCitTdWJqZWN0OiBbUEFUQ0ggMS8zXSBGcm9tIGRlYmlhbiB0byBmaXggY29tcGlsZSBlcnJvcnMKKworU2lnbmVkLW9mZi1ieTogTGkgWGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorLS0tCisgc3JjL01ha2VmaWxlLjAgIHwgIDcgKysrLS0tLQorIHNyYy9hdXRvY29uZiAgICB8IDY0ICsrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgc3JjL2NvbXNhdC5jICAgIHwgNjUgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgc3JjL2ZpZWxkcy5jICAgIHwgIDYgKysrLS0tCisgc3JjL2ZvbGRpbmZvLmggIHwgIDIgKy0KKyBzcmMvZm9ybWFpbC5jICAgfCAgNiArKystLS0KKyBzcmMvZm9ybWlzYy5jICAgfCAgMiArLQorIHNyYy9mb3JtaXNjLmggICB8ICAyICstCisgc3JjL21haWxmb2xkLmMgIHwgMTQgKysrKysrKysrKy0tLQorIHNyYy9tYW5jb25mLmMgICB8ICAyICstCisgc3JjL21lbWJsay5jICAgIHwgMjQgKysrKysrKysrKy0tLS0tLS0tLS0tCisgc3JjL21lbWJsay5oICAgIHwgIDIgKy0KKyBzcmMvbmV0d29yay5oICAgfCAxMCArKy0tLS0tLS0KKyBzcmMvcGlwZXMuYyAgICAgfCAxMCArKysrLS0tLS0KKyBzcmMvcHJvY21haWwuYyAgfCAgMyArLS0KKyBzcmMvcmVjb21tZW5kLmMgfCAgMiArLQorIDE2IGZpbGVzIGNoYW5nZWQsIDgxIGluc2VydGlvbnMoKyksIDE0MCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZS4wIGIvc3JjL01ha2VmaWxlLjAKK2luZGV4IDZlYjViNTEuLjE1YTIwMzkgMTAwNjQ0CistLS0gYS9zcmMvTWFrZWZpbGUuMAorKysrIGIvc3JjL01ha2VmaWxlLjAKK0BAIC00MCw3ICs0MCw3IEBAIG11bHRpZ3JhbTogbXVsdGlncmFtLiQoTykgJChNR19PQkopIHNldGlkCisgCUBjZCAuLjsgJChNQUtFKSBjb25maWcuY2hlY2sKKyAKKyBfYXV0b3RzdDogX2F1dG90c3QuJChPKSBzdWJsaWIuYyBzdWJsaWIuaAorLQkkKENDKSAkKENGTEFHUykgJEAuJChPKSAtbyAkQCAkKExERkxBR1MpCisrCWdjYyAkQC4kKE8pIC1vICRAICQoTERGTEFHUykKKyAKKyAuLi9hdXRvY29uZi5oOiBhdXRvY29uZiBNYWtlZmlsZSAuLi9wYXRjaGxldmVsLmgKKyAJQGVjaG8gTm8gdGhpcyB3YXMgbm90IG1ha2UgLW4gPm1ha2VfbgorQEAgLTE3NSwxNyArMTc1LDE2IEBAIHJlY29tbWVuZDogcmVjb21tZW5kLiQoTykgc3VibGliLiQoTykKKyAKKyAuLi9tYW4vbWFuLnNlZDogbWFuY29uZi5jIC4uL2F1dG9jb25mLmggLi4vY29uZmlnLmggaW5jbHVkZXMuaCBwcm9jbWFpbC5oCisgLi4vbWFuL21hbi5zZWQ6IC4uL3BhdGNobGV2ZWwuaAorLQlAJChDQykgJChDRkxBR1MpICItREJJTkRJUj1cIiQoVklTSUJMRV9CSU5ESVIpXCIiIC1vIF9hdXRvdHN0IFwKKysJZ2NjICItREJJTkRJUj1cIiQoVklTSUJMRV9CSU5ESVIpXCIiIC1vIF9hdXRvdHN0IFwKKyAgbWFuY29uZi5jICQoTERGTEFHUykKKyAJQC4vX2F1dG90c3QgJEAKKyAJQGVjaG8gSG91c2VrZWVwaW5nIGZpbGUgPiRACistCUAkKFJNKSBfYXV0b3RzdAorIAorIGNsZWFuOgorIAkkKFJNKSAtciBfbG9ja3Rlc3QKKyAJJChSTSkgcHJvY21haWwuJChPKSAkKFBNX09CSikgbG9ja2ZpbGUuJChPKSAkKExGX09CSikgZm9ybWFpbC4kTyBcCisgICQoRk1fT0JKKSBtdWx0aWdyYW0uJChPKSAkKE1HX09CSikgJChCSU5TUykgbXVsdGlncmFtIC4uL2F1dG9jb25mLmggXAorLSBfYXV0b3RzdCogbG9va2ZvciBfbG9ja3RzdCogZ3JlcGZvciByZWNvbW1lbmQgcmVjb21tZW5kLiQoTykgbWFuY29uZiBcCisrICBsb29rZm9yIF9sb2NrdHN0KiBncmVwZm9yIHJlY29tbWVuZCByZWNvbW1lbmQuJChPKSBtYW5jb25mIFwKKyAgX01ha2VmaWxlIGxvY2subG9nICpjb3JlKiB0YXJnZXRkaXIuaCBzZXRpZCBzZXRpZC4kKE8pIGdldGhvbWUgXAorICBnZXRob21lLiQoTykgbWFrZV9uIHJlYWxsb2MubG9nCisgCitkaWZmIC0tZ2l0IGEvc3JjL2F1dG9jb25mIGIvc3JjL2F1dG9jb25mCitpbmRleCAxY2I0YzQyLi5mZjc4MDQ4IDEwMDc1NQorLS0tIGEvc3JjL2F1dG9jb25mCisrKysgYi9zcmMvYXV0b2NvbmYKK0BAIC02OCw4ICs2OCw2IEBACisgIwkjZGVmaW5lIE5PZnN5bmMKKyAjT2sJI2RlZmluZSBlbmRwd2VudCgpCisgI09rCSNkZWZpbmUgZW5kZ3JlbnQoKQorLSNPawkjZGVmaW5lIGVuZGhvc3RlbnQoKQorLSNPawkjZGVmaW5lIGVuZHNlcnZlbnQoKQorICNPawkjZGVmaW5lIGVuZHByb3RvZW50KCkKKyAjCSNkZWZpbmUgaF8wYWRkcl9saXN0IGhfYWRkcgorICNPawkjZGVmaW5lIE5PcHdfcGFzc3dkCitAQCAtODk2LDcgKzg5NCw3IEBAIGludCBtYWluKCl7aW50IGk9MDsKKyAge3VpZF90IHZ1aWRfdDtpKz12dWlkX3Q9MTt9CisgIHtnaWRfdCB2Z2lkX3Q7aSs9dmdpZF90PTE7fQorICNpZm5kZWYgTk9fQ09NU0FUCistIHtzdHJ1Y3QgaG9zdGVudCB2aG9zdGVudDtpKz0hKHZob3N0ZW50LmhfYWRkcl9saXN0PTApO30KKysge3N0cnVjdCBhZGRyaW5mbyByZXM7IGkrPSEocmVzLmFpX3NvY2t0eXBlPTApO30KKyAjZW5kaWYKKyAjaWZuZGVmIE5PdW5hbWUKKyAge3N0cnVjdCB1dHNuYW1lIHZ1dHNuYW1lO2krPSEoKnZ1dHNuYW1lLm5vZGVuYW1lPSdcMCcpO30KK0BAIC05MTcsOCArOTE1LDYgQEAgZG8KKyAgIHRlc3QgLXogIiRpMyIgJiYgZ3JlcGZvciBtb2RlX3QgJ3R5cGVkZWYgaW50IG1vZGVfdDsnICYmIGkzPUkKKyAgIHRlc3QgLXogIiRpNCIgJiYgZ3JlcGZvciB1aWRfdCAndHlwZWRlZiBpbnQgdWlkX3Q7JyAmJiBpND1JCisgICB0ZXN0IC16ICIkaTUiICYmIGdyZXBmb3IgZ2lkX3QgJ3R5cGVkZWYgaW50IGdpZF90OycgJiYgaTU9SQorLSAgdGVzdCAteiAiJGk2IiAmJiBncmVwZm9yIGhfYWRkcl9saXN0ICcjZGVmaW5lIGhfMGFkZHJfbGlzdCBoX2FkZHInICYmIGk2PUkKKy0gIHRlc3QgLXogIiRpNiIgJiYgZ3JlcGZvciBob3N0ZW50ICcjZGVmaW5lIGhfMGFkZHJfbGlzdCBoX2FkZHInICYmIGk2PUkKKyAgIHRlc3QgLXogIiRpNiIgJiYgZ3JlcGZvciBtZW1iZXIgJyNkZWZpbmUgaF8wYWRkcl9saXN0IGhfYWRkcicgJiYgaTY9SQorICAgdGVzdCAteiAiJGk3IiAmJiBncmVwZm9yIHV0c25hbWUgIiNkZWZpbmUgTk91bmFtZQkJCSAgICAgIFwKKyAvKiA8c3lzL3V0c25hbWUuaD4gaXMgdGhlcmUsIGJ1dCBlbXB0eSAqLyIgJiYgaTc9SQorQEAgLTEwNDgsOCArMTA0NCwxMiBAQCBpbnQgbWFpbigpe2NoYXIgYVsyXTsKKyAge3N0cnVjdCB1dHNuYW1lIGI7dW5hbWUoJmIpO30KKyAjZW5kaWYKKyAjaWZuZGVmIE5PX0NPTVNBVAorLSBnZXRob3N0YnluYW1lKCIwIik7Z2V0cHJvdG9ieW5hbWUoQ09NU0FUcHJvdG9jb2wpO2VuZGhvc3RlbnQoKTtlbmRzZXJ2ZW50KCk7CistIGVuZHByb3RvZW50KCk7CisrIHsKKysgc3RydWN0IGFkZHJpbmZvICpyZXMsIGhpbnRzOworKyBtZW1zZXQoJmhpbnRzLCAnXDAnLCBzaXplb2YoaGludHMpKTsKKysgaWYoZ2V0YWRkcmluZm8oQ09NU0FUaG9zdCxCSUZGX3NlcnZpY2Vwb3J0LCZoaW50cywmcmVzKSkKKysgCWZyZWVhZGRyaW5mbyhyZXMpOworKyB9CisgI2VuZGlmCisgIF9leGl0KDApOworICByZXR1cm4gMDt9CitAQCAtMTEwMywxNCArMTEwMyw5IEBAIGdyZXBmb3IgdW5hbWUgIlwKKyAvKiA8c3lzL3V0c25hbWUuaD4gZGVmaW5lcyBpdCwgdGhlIGxpYnJhcmllcyBkb24ndCAqLyIKKyBncmVwZm9yIGVuZHB3ZW50ICcjZGVmaW5lIGVuZHB3ZW50KCknCisgZ3JlcGZvciBlbmRncmVudCAnI2RlZmluZSBlbmRncmVudCgpJworLWlmIGdyZXBmb3IgZ2V0aG9zdGJ5bmFtZSAnI2RlZmluZSBOT19DT01TQVQnCisraWYgZ3JlcGZvciBnZXRhZGRyaW5mbyAnI2RlZmluZSBOT19DT01TQVQnCisgdGhlbgorIDoKKy1lbHNlCistICBncmVwZm9yIGdldHByb3RvYnluYW1lICcjZGVmaW5lIFVEUF9wcm90b2NvbG5vIDE3JworLSAgZ3JlcGZvciBlbmRob3N0ZW50ICcjZGVmaW5lIGVuZGhvc3RlbnQoKScKKy0gIGdyZXBmb3IgZW5kc2VydmVudCAnI2RlZmluZSBlbmRzZXJ2ZW50KCknCistICBncmVwZm9yIGVuZHByb3RvZW50ICcjZGVmaW5lIGVuZHByb3RvZW50KCknCisgZmkKKyBncmVwZm9yIHN0cnN0ciAnI2RlZmluZSBTTE9Xc3Ryc3RyJyB8fAorICBncmVwZm9yIGNsb2NrICcjZGVmaW5lIFNMT1dzdHJzdHInCitAQCAtMTIzOSwzOSArMTIzNCw5IEBAIGludCBtYWluKGFyZ2MsYXJndilpbnQgYXJnYztjb25zdCBjaGFyKmFyZ3ZbXTsKKyAJcHJpbnRmKCIvKiBJbnN1ZmZpY2llbnQgbWVtb3J5IHRvIHBlcmZvcm0gdGhlIGJlbmNobWFyayEgKi9cbiIpOworICNlbmRpZiAvKiBTTE9Xc3Ryc3RyICovCisgI2lmbmRlZiBOT19DT01TQVQKKy0jaWZuZGVmIFVEUF9wcm90b2NvbG5vCistICAgICA7eyBjb25zdCBzdHJ1Y3QgcHJvdG9lbnQqcDsKKy0JaWYocD1nZXRwcm90b2J5bmFtZShDT01TQVRwcm90b2NvbCkpCistCSB7IHByaW50ZigiI2RlZmluZSBVRFBfcHJvdG9jb2xubyAlZFxuIixwLT5wX3Byb3RvKTsKKy0jZWxzZQorLSAgICAgO3sgaWYoMSkKKy0JIHsKKy0jZW5kaWYKKy0JICAgO3sgY29uc3Qgc3RydWN0IHNlcnZlbnQqc2VydjsKKy0JICAgICAgaWYoc2Vydj1nZXRzZXJ2YnluYW1lKENPTVNBVHNlcnZpY2UsQ09NU0FUcHJvdG9jb2wpKQorLQkJIHByaW50ZigiI2RlZmluZSBCSUZGX3NlcnZpY2Vwb3J0IFwiJWRcIlxuIiwKKy0JCSAgbnRvaHMoc2Vydi0+c19wb3J0KSk7CistCSAgICB9CistI2lmZGVmIEFGX0lORVQKKy0JICAgO3sgY29uc3Qgc3RydWN0IGhvc3RlbnQqaG9zdDsKKy0JICAgICAgaWYoIXN0cmNtcCgibG9jYWxob3N0IixDT01TQVRob3N0KSYmCistCSAgICAgICAoaG9zdD1nZXRob3N0YnluYW1lKENPTVNBVGhvc3QpKSYmCistCSAgICAgICBob3N0LT5oXzBhZGRyX2xpc3QmJmhvc3QtPmhfYWRkcnR5cGU9PUFGX0lORVQmJgorLQkgICAgICAgaG9zdC0+aF9sZW5ndGgpCistCSAgICAgICB7IGludCBqPWhvc3QtPmhfbGVuZ3RoOworLQkJIGNvbnN0IHVuc2lnbmVkIGNoYXIqYWQ9KHZvaWQqKWhvc3QtPmhfMGFkZHJfbGlzdDsKKy0JCSBwcmludGYoIiNkZWZpbmUgSVBfbG9jYWxob3N0IHsiKTsKKy0JCSBwcmludGYoIiVkIiwqYWQrKyk7CistCQkgd2hpbGUoLS1qKQorLQkJICAgIHByaW50ZigiLCVkIiwqYWQrKyk7CistCQkgcHV0cygifSIpOworLQkgICAgICAgfQorLQkgICAgfQorKyNpZm5kZWYgQUZfSU5FVAorKwlwdXRzKCIjZGVmaW5lIE5PX0NPTVNBVCIpOworICNlbmRpZiAvKiBBRl9JTkVUICovCistCSB9CistCWVsc2UKKy0JICAgcHV0cygiI2RlZmluZSBOT19DT01TQVQiKTsKKy0gICAgICB9CisgI2VuZGlmIC8qIE5PX0NPTVNBVCAqLworICAgICAgO3sgdW5zaWduZWQgbG9uZyBzPShzaXplX3QpfjA7aW50IGJpdHM7CisgCWZvcihiaXRzPTE7cz4+PTE7Yml0cysrKTsKK0BAIC0xNDcwLDE1ICsxNDM1LDE0IEBAIGNhdCAvdXNyL2xpYi9zZW5kbWFpbC5jZiAvZXRjL3NlbmRtYWlsLmNmIC9ldGMvbWFpbC9zZW5kbWFpbC5jZiAyPiRERVZOVUxMIHwKKyAgZ3JlcCAnTWxvY2FsLipwcm9jbWFpbCcgPiRERVZOVUxMIHx8CisgIGVjaG8gJyNkZWZpbmUgQ0Zfbm9fcHJvY21haWxfeWV0JyA+PiRBQ09ORgorIAorLWNhdCAvdXNyL2xpYi9zZW5kbWFpbC5jZiAvZXRjL3NlbmRtYWlsLmNmIC9ldGMvbWFpbC9zZW5kbWFpbC5jZiAyPiRERVZOVUxMIHwKKy0gZ3JlcCAnXlYnID4kREVWTlVMTCB8fAorLSBlY2hvICcjZGVmaW5lIGJ1Z2d5X1NFTkRNQUlMJyA+PiRBQ09ORgorKyMgY2F0IC91c3IvbGliL3NlbmRtYWlsLmNmIC9ldGMvc2VuZG1haWwuY2YgL2V0Yy9tYWlsL3NlbmRtYWlsLmNmIDI+JERFVk5VTEwgfAorKyMgIGdyZXAgJ15WJyA+JERFVk5VTEwgfHwKKysjICBlY2hvICcjZGVmaW5lIGJ1Z2d5X1NFTkRNQUlMJyA+PiRBQ09ORgorIAorIGxwYXRoPScvYmluJworIGJpbnM9Ii9iaW4iCisgCistZm9yIG5ld2QgaW4gL3Vzci9iaW4gL3Vzci91Y2IgL3Vzci81YmluICRCSU5ESVIgL2xvY2FsL2JpbiAvdXNyL2xvY2FsL2JpbiBcCistIC9nbG9iYWwvYmluIC91c3IvYmluL1gxMSAvdXNyL1gqL2JpbgorK2ZvciBuZXdkIGluIC91c3IvYmluICRCSU5ESVIgL3Vzci9iaW4vWDExIC91c3IvWCovYmluCisgZG8KKyAgIGlmIHRlc3QgLWQgJG5ld2QKKyAgIHRoZW4KK2RpZmYgLS1naXQgYS9zcmMvY29tc2F0LmMgYi9zcmMvY29tc2F0LmMKK2luZGV4IDc3ZGJhMzQuLjUwODJiMTYgMTAwNjQ0CistLS0gYS9zcmMvY29tc2F0LmMKKysrKyBiL3NyYy9jb21zYXQuYworQEAgLTI3LDcgKzI3LDggQEAgc3RhdGljIC8qY29uc3QqL2NoYXIgcmNzaWRbXT0KKyAjaW5jbHVkZSAiY29tc2F0LmgiCisgCisgc3RhdGljIGludCBjc3ZhbGlkOwkJICAgICAvKiBpcyBpdCB0dXJuZWQgb24gd2l0aCBhIGdvb2QgYWRkcmVzcz8gKi8KKy1zdGF0aWMgc3RydWN0IHNvY2thZGRyX2luIGNzYWRkcjsKKytzdGF0aWMgc3RydWN0IGFkZHJpbmZvIGNhaTsKKytzdGF0aWMgc3RydWN0IHNvY2thZGRyICpjc2FkZHI7Cisgc3RhdGljIGNoYXIqY3NsYXN0ZiwqY3NsZ25hbWU7CisgCisgdm9pZCBzZXRsZmNzKGZvbGRlciljb25zdCBjaGFyKmZvbGRlcjsJCS8qIHNldCBsYXN0Zm9sZGVyIGZvciBjb21zYXQgKi8KK0BAIC02Miw1NiArNjMsMzIgQEAgdm9pZCBzZXRsZ2NzKG5hbWUpY29uc3QgY2hhcipuYW1lOwkJICAgLyogc2V0IGxvZ25hbWUgZm9yIGNvbXNhdCAqLworIH0KKyAKKyBpbnQgc2V0Y29tc2F0KGNocCljb25zdCBjaGFyKmNocDsKKy17IGNoYXIqY2hhZDtpbnQgbmV3dmFsaWQ7IHN0cnVjdCBzb2NrYWRkcl9pbiBuZXdhZGRyOworK3sgY2hhcipjaGFkO2ludCBuZXd2YWxpZDsgc3RydWN0IGFkZHJpbmZvICpyZXMsIGhpbnRzOworICAgY2hhZD1zdHJjaHIoY2hwLFNFUlZfQUREUnNlcCk7CQkJICAgICAvKiBAIHNlcGFyYXRvcj8gKi8KKyAgIGlmKCFjaGFkJiYhcmVudmludCgtMUwsY2hwKSkKKyAgICAgIHJldHVybiBjc3ZhbGlkPTA7CQkJCQkvKiB0dXJuZWQgb2ZmIGNvbXNhdCAqLworICAgbmV3dmFsaWQ9MTsKKyAgIGlmKGNoYWQpCisgICAgICAqY2hhZCsrPSdcMCc7CQkJCSAgICAgIC8qIHNwbGl0IHRoZSBzcGVjaWZpZXIgKi8KKysgIGlmKCFjaGFkfHwhKmNocCkJCQkJCSAgICAgICAvKiBubyBzZXJ2aWNlICovCisrICAgICBjaHA9QklGRl9zZXJ2aWNlcG9ydDsJCQkJLyogbmV3IGJhbGxzIHBsZWFzZSEgKi8KKyAgIGlmKCFjaGFkfHwhKmNoYWQpCQkJCQkJICAvKiBubyBob3N0ICovCistI2lmbmRlZiBJUF9sb2NhbGhvc3QJCQkgICAgICAvKiBJcyAibG9jYWxob3N0IiBwcmVyZXNvbHZlZD8gKi8KKyAgICAgIGNoYWQ9Q09NU0FUaG9zdDsJCQkJCS8qIG5vcGUsIHVzZSBkZWZhdWx0ICovCistI2Vsc2UgLyogSVBfbG9jYWxob3N0ICovCistICAgeyBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBpcF9sb2NhbGhvc3RbXT1JUF9sb2NhbGhvc3Q7CistICAgICBuZXdhZGRyLnNpbl9mYW1pbHk9QUZfSU5FVDsKKy0gICAgIHRtZW1tb3ZlKCZuZXdhZGRyLnNpbl9hZGRyLGlwX2xvY2FsaG9zdCxzaXplb2YgaXBfbG9jYWxob3N0KTsKKy0gICB9CistICBlbHNlCistI2VuZGlmIC8qIElQX2xvY2FsaG9zdCAqLworLSAgIHsgY29uc3Qgc3RydWN0IGhvc3RlbnQqaG9zdDsJCSAgICAgIC8qIHdoYXQgaG9zdD8gIHBhcmFub2lkIGNoZWNrcyAqLworLSAgICAgaWYoIShob3N0PWdldGhvc3RieW5hbWUoY2hhZCkpfHwhaG9zdC0+aF8wYWRkcl9saXN0KQorLSAgICAgIHsgYmJ6ZXJvKCZuZXdhZGRyLnNpbl9hZGRyLHNpemVvZiBuZXdhZGRyLnNpbl9hZGRyKTsKKy0JbmV3dmFsaWQ9MDsJCQkgICAgIC8qIGhvc3QgY2FuJ3QgYmUgZm91bmQsIHRvbyBiYWQgKi8KKy0gICAgICB9CistICAgICBlbHNlCistICAgICAgeyBuZXdhZGRyLnNpbl9mYW1pbHk9aG9zdC0+aF9hZGRydHlwZTsJICAgICAvKiBhZGRyZXNzIG51bWJlciBmb3VuZCAqLworLQl0bWVtbW92ZSgmbmV3YWRkci5zaW5fYWRkcixob3N0LT5oXzBhZGRyX2xpc3QsaG9zdC0+aF9sZW5ndGgpOworLSAgICAgIH0KKy0gICAgIGVuZGhvc3RlbnQoKTsKKy0gICB9CistICBpZihuZXd2YWxpZCkJCQkJCQkgIC8qIHNvIGZhciwgc28gZ29vZCAqLworLSAgIHsgaW50IHM7CistICAgICBpZighKmNocCkJCQkJCQkgICAgICAgLyogbm8gc2VydmljZSAqLworLQljaHA9QklGRl9zZXJ2aWNlcG9ydDsJCQkJLyogbmV3IGJhbGxzIHBsZWFzZSEgKi8KKy0gICAgIHM9c3RydG9sKGNocCwmY2hhZCwxMCk7CistICAgICBpZihjaHAhPWNoYWQpCQkJICAgICAgIC8qIHRoZSBzZXJ2aWNlIGlzIG5vdCBudW1lcmljICovCistCW5ld2FkZHIuc2luX3BvcnQ9aHRvbnMoKHNob3J0KXMpOwkJICAgIC8qIG5ldHdvcmsgb3JkZXIgKi8KKy0gICAgIGVsc2UKKy0gICAgICB7IGNvbnN0IHN0cnVjdCBzZXJ2ZW50KnNlcnY7CistCXNlcnY9Z2V0c2VydmJ5bmFtZShjaHAsQ09NU0FUcHJvdG9jb2wpOwkJICAgLyogc28gZ2V0IGl0cyBuby4gKi8KKy0JaWYoc2VydikKKy0JICAgbmV3YWRkci5zaW5fcG9ydD1zZXJ2LT5zX3BvcnQ7CistCWVsc2UKKy0JIHsgbmV3YWRkci5zaW5fcG9ydD1odG9ucygoc2hvcnQpMCk7CQkgIC8qIG5vIHN1Y2ggc2VydmljZSAqLworLQkgICBuZXd2YWxpZD0wOworLQkgfQorLQllbmRzZXJ2ZW50KCk7CistICAgICAgfQorLSAgIH0KKysgIGJ6ZXJvKCZoaW50cyxzaXplb2YoaGludHMpKTsKKysgIGhpbnRzLmFpX3NvY2t0eXBlPVNPQ0tfREdSQU07CisrICBoaW50cy5haV9mbGFncz1BSV9BRERSQ09ORklHOworKyAgaWYoZ2V0YWRkcmluZm8oY2hhZCxjaHAsJmhpbnRzLCZyZXMpKQorKyAgICAgbmV3dmFsaWQ9MDsKKysgIAorICAgb25ndWFyZCgpOwkJCQkgICAgLyogdXBkYXRlIHRoZSBhZGRyZXNzIGF0b21pY2FsbHkgKi8KKyAgIGlmKGNzdmFsaWQ9bmV3dmFsaWQpCistICAgICB0bWVtbW92ZSgmY3NhZGRyLCZuZXdhZGRyLHNpemVvZihuZXdhZGRyKSk7CisrICAgeyBpZihjc2FkZHIpCisrICAgICAgICBmcmVlKGNzYWRkcik7CisrICAgICBjc2FkZHI9bWFsbG9jKHJlcy0+YWlfYWRkcmxlbik7CisrICAgICB0bWVtbW92ZShjc2FkZHIscmVzLT5haV9hZGRyLHJlcy0+YWlfYWRkcmxlbik7CisrICAgICB0bWVtbW92ZSgmY2FpLHJlcyxzaXplb2YoY2FpKSk7CisrICAgICBmcmVlYWRkcmluZm8ocmVzKTsKKysgICB9CisgICBvZmZndWFyZCgpOworICAgcmV0dXJuIG5ld3ZhbGlkOworIH0KK0BAIC0xMjAsNyArOTcsNyBAQCB2b2lkIHNlbmRjb21zYXQoZm9sZGVyKWNvbnN0IGNoYXIqZm9sZGVyOworIHsgaW50IHM7Y29uc3QgY2hhcipwOworICAgaWYoIWNzdmFsaWR8fCFidWYpCQkgIC8qIGlzIGNvbWF0IG9uIGFuZCBzZXQgdG8gYSB2YWxpZCBhZGRyZXNzPyAqLworICAgICAgcmV0dXJuOworLSAgaWYoISpjc2xnbmFtZXx8c3RybGVuKGNzbGduYW1lKSsyPmxpbmVidWYpCSAgICAgICAvKiBpcyAkTE9HTkFNRSBib2d1cz8gKi8KKysgIGlmKCFjc2xnbmFtZXx8ISpjc2xnbmFtZXx8c3RybGVuKGNzbGduYW1lKSsyPmxpbmVidWYpLyogaXMgJExPR05BTUUgYm9ndXM/ICovCisgICAgICByZXR1cm47CisgICBpZighKHA9Zm9sZGVyP2ZvbGRlcjpjc2xhc3RmKSkJCSAgICAgLyogZG8gd2UgaGF2ZSBhIGZvbGRlcj8gKi8KKyAgICAgIHJldHVybjsKK0BAIC0xMzIsOCArMTA5LDggQEAgdm9pZCBzZW5kY29tc2F0KGZvbGRlciljb25zdCBjaGFyKmZvbGRlcjsKKyAgICB9CisgICBzdHJsY2F0KGJ1ZixDT01TQVR4dHJzZXAsbGluZWJ1Zik7CQkJIC8qIGN1c3RvbSBzZXBlcmF0b3IgKi8KKyAgIHN0cmxjYXQoYnVmLHAsbGluZWJ1Zik7CQkJICAvKiB3aGVyZSB3YXMgaXQgZGVsaXZlcmVkPyAqLworLSAgaWYoKHM9c29ja2V0KEFGX0lORVQsU09DS19ER1JBTSxVRFBfcHJvdG9jb2xubykpPj0wKQorLSAgIHsgc2VuZHRvKHMsYnVmLHN0cmxlbihidWYpLDAsKHN0cnVjdCBzb2NrYWRkciopJmNzYWRkcixzaXplb2YoY3NhZGRyKSk7CisrICBpZigocz1zb2NrZXQoY2FpLmFpX2ZhbWlseSxjYWkuYWlfc29ja3R5cGUsY2FpLmFpX3Byb3RvY29sKSk+PTApCisrICAgeyBzZW5kdG8ocyxidWYsc3RybGVuKGJ1ZiksMCxjc2FkZHIsY2FpLmFpX2FkZHJsZW4pOworICAgICAgcmNsb3NlKHMpOworICAgICAgeWVsbCgiTm90aWZpZWQgY29tc2F0OiIsYnVmKTsKKyAgICB9CitkaWZmIC0tZ2l0IGEvc3JjL2ZpZWxkcy5jIGIvc3JjL2ZpZWxkcy5jCitpbmRleCBhMmJkNzdmLi4zN2VkMTU0IDEwMDY0NAorLS0tIGEvc3JjL2ZpZWxkcy5jCisrKysgYi9zcmMvZmllbGRzLmMKK0BAIC0xMTAsMTYgKzExMCwxNiBAQCB2b2lkIGRpc3BmaWVsZChwKXJlZ2lzdGVyIGNvbnN0IHN0cnVjdCBmaWVsZCpwOworIAkJICAgIC8qIHRyeSBhbmQgYXBwZW5kIG9uZSB2YWxpZCBmaWVsZCB0byByZGhlYWRlciBmcm9tIHN0ZGluICovCisgaW50IHJlYWRoZWFkIFAoKHZvaWQpKQorIHsgaW50IGlkbGVuOworLSAgZ2V0bGluZSgpOworKyAgZ2V0X2xpbmUoKTsKKyAgIGlmKChpZGxlbj1icmVha2ZpZWxkKGJ1ZixidWZmaWxsZWQpKTw9MCkgLyogbm90IHRoZSBzdGFydCBvZiBhIHZhbGlkIGZpZWxkICovCisgICAgICByZXR1cm4gMDsKKyAgIGlmKGlkbGVuPT1TVFJMRU4oRlJPTSkmJmVxRnJvbV8oYnVmKSkJCQkvKiBpdCdzIGEgRnJvbV8gbGluZSAqLworICAgIHsgaWYocmRoZWFkZXIpCisgCXJldHVybiAwOwkJCSAgICAgICAvKiB0aGUgRnJvbV8gbGluZSB3YXMgYSBmYWtlISAqLworLSAgICAgZm9yKDtidWZsYXN0PT0nPic7Z2V0bGluZSgpKTsJICAgIC8qIGdhdGhlciBjb250aW51ZWQgPkZyb21fIGxpbmVzICovCisrICAgICBmb3IoO2J1Zmxhc3Q9PSc+JztnZXRfbGluZSgpKTsJICAgIC8qIGdhdGhlciBjb250aW51ZWQgPkZyb21fIGxpbmVzICovCisgICAgfQorICAgZWxzZQorLSAgICAgZm9yKDs7Z2V0bGluZSgpKQkJICAgICAgLyogZ2V0IHRoZSByZXN0IG9mIHRoZSBjb250aW51ZWQgZmllbGQgKi8KKysgICAgIGZvcig7O2dldF9saW5lKCkpCQkgICAgICAvKiBnZXQgdGhlIHJlc3Qgb2YgdGhlIGNvbnRpbnVlZCBmaWVsZCAqLworICAgICAgIHsgc3dpdGNoKGJ1Zmxhc3QpCQkJICAgICAvKiB3aWxsIHRoaXMgbGluZSBiZSBjb250aW51ZWQ/ICovCisgCSB7IGNhc2UgJyAnOmNhc2UgJ1x0JzoJCQkJICAvKiB5ZXAsIGl0IHN1cmUgaXMgKi8KKyAJICAgICAgY29udGludWU7CitkaWZmIC0tZ2l0IGEvc3JjL2ZvbGRpbmZvLmggYi9zcmMvZm9sZGluZm8uaAoraW5kZXggOWU0ZWJiNi4uNzk3ZjliZSAxMDA2NDQKKy0tLSBhL3NyYy9mb2xkaW5mby5oCisrKysgYi9zcmMvZm9sZGluZm8uaAorQEAgLTEwLDcgKzEwLDcgQEAKKyAKKyAjZGVmaW5lIGZ0X2xvY2sodHlwZSkJICAgKCh0eXBlKT5mdF9NQUlMRElSKQkJICAgLyoga2VybmVsIGxvY2sgZmQgKi8KKyAjZGVmaW5lIGZ0X2F0aW1lKHR5cGUpCSAgICgodHlwZSk9PWZ0X0ZJTEUpCSAgICAgIC8qIGZvcmNlIGF0aW1lIDwgbXRpbWUgKi8KKy0jZGVmaW5lIGZ0X2RvdGxvY2sodHlwZSkgICAoKHR5cGUpPT1mdF9GSUxFKQkJIC8qIGRvdGxvY2sgJERFRkFVTFQgKi8KKysjZGVmaW5lIGZ0X2RvdGxvY2sodHlwZSkgICAoKHR5cGUpPmZ0X01BSUxESVIpCQkgLyogZG90bG9jayAkREVGQVVMVCAqLworICNkZWZpbmUgZnRfZGVsaW0odHlwZSkJICAgKCh0eXBlKT09ZnRfRklMRSkJCSAgIC8qIGFkZCBNTURGIGRlbGltICovCisgI2RlZmluZSBmdF9jaGVja2Nsb3Nlcih0eXBlKSAoKHR5cGUpPmZ0X01IKQorICNkZWZpbmUgZnRfZm9yY2VibGFuayh0eXBlKSAoKHR5cGUpIT1mdF9NQUlMRElSKSAgLyogZm9yY2UgYmxhbmsgbGluZSBhdCBlbmQgKi8KK2RpZmYgLS1naXQgYS9zcmMvZm9ybWFpbC5jIGIvc3JjL2Zvcm1haWwuYworaW5kZXggZmU1ZTZiZS4uMWY1YzlkZCAxMDA2NDQKKy0tLSBhL3NyYy9mb3JtYWlsLmMKKysrKyBiL3NyYy9mb3JtYWlsLmMKK0BAIC03NTgsOSArNzU4LDkgQEAgc3RhcnRvdmVyOgorIAlscHV0c3NuKGJ1ZixidWZmaWxsZWQpLGN0bGVuZ3RoLT1idWZmaWxsZWQsYnVmZmlsbGVkPWxubD0wOworICAgICAgO3sgaW50IHRibD1idWZsYXN0LGx3cj0nXG4nOworIAl3aGlsZSgtLWN0bGVuZ3RoPj0wJiZ0YmwhPUVPRikJICAgICAgIC8qIHNraXAgQ29udGVudC1MZW5ndGg6IGJ5dGVzICovCistCSAgIGxubD1sd3I9PXRibCYmbHdyPT0nXG4nLHB1dGNzKGx3cj10YmwpLHRibD1nZXRjaGFyKCk7CisrCSAgIGxubD1sd3I9PXRibCYmbHdyPT0nXG4nLGxwdXRjcyhsd3I9dGJsKSx0Ymw9Z2V0Y2hhcigpOworIAlpZigoYnVmbGFzdD10YmwpPT0nXG4nJiZsd3IhPXRibCkJLyoganVzdCBiZWZvcmUgYSBsaW5lIGJyZWFrPyAqLworLQkgICBwdXRjcygnXG4nKSxidWZsYXN0PWdldGNoYXIoKTsJCS8qIHdyYXAgdXAgbG9vc2UgZW5kICovCisrCSAgIGxwdXRjcygnXG4nKSxidWZsYXN0PWdldGNoYXIoKTsJCS8qIHdyYXAgdXAgbG9vc2UgZW5kICovCisgICAgICAgfQorICAgICAgaWYoIXF1aWV0JiZjdGxlbmd0aD4wKQorICAgICAgIHsgY2hhck5VTShudW0sY3RsZW5ndGgpOworQEAgLTgxOSw3ICs4MTksNyBAQCBzcGxpdGl0OiAgICAgICB7IGlmKCFsbmwpICAgLyogZGlkIHRoZSBwcmV2aW91cyBtYWlsIGVuZCB3aXRoIGFuIGVtcHR5IGxpbmU/ICovCisgICAgICAgeyBpZihzcGxpdCkJCSAgICAgICAvKiBnb2JibGUgdXAgdGhlIG5leHQgc3RhcnQgc2VwYXJhdG9yICovCisgCSB7IGJ1ZmZpbGxlZD0wOworICNpZmRlZiBzTUFJTEJPWF9TRVBBUkFUT1IKKy0JICAgZ2V0bGluZSgpO2J1ZmZpbGxlZD0wOwkJIC8qIGJ1dCBvbmx5IGlmIGl0J3MgZGVmaW5lZCAqLworKwkgICBnZXRfbGluZSgpO2J1ZmZpbGxlZD0wOwkJIC8qIGJ1dCBvbmx5IGlmIGl0J3MgZGVmaW5lZCAqLworICNlbmRpZgorIAkgICBpZihidWZsYXN0IT1FT0YpCQkJCQkgICAvKiBpZiBhbnkgKi8KKyAJICAgICAgZ290byBzcGxpdGl0OworZGlmZiAtLWdpdCBhL3NyYy9mb3JtaXNjLmMgYi9zcmMvZm9ybWlzYy5jCitpbmRleCBkNmNhYjkwLi4zMzg3MzNiIDEwMDY0NAorLS0tIGEvc3JjL2Zvcm1pc2MuYworKysrIGIvc3JjL2Zvcm1pc2MuYworQEAgLTExNSw3ICsxMTUsNyBAQCB2b2lkIGxvYWRjaGFyKGMpY29uc3QgaW50IGM7CQkgICAgICAvKiBhcHBlbmQgb25lIGNoYXJhY3RlciB0byBidWYgKi8KKyAgIGJ1ZltidWZmaWxsZWQrK109YzsKKyB9CisgCistaW50IGdldGxpbmUgUCgodm9pZCkpCQkJICAgLyogcmVhZCBhIG5ld2xpbmUtdGVybWluYXRlZCBsaW5lICovCisraW50IGdldF9saW5lIFAoKHZvaWQpKQkJCSAgIC8qIHJlYWQgYSBuZXdsaW5lLXRlcm1pbmF0ZWQgbGluZSAqLworIHsgaWYoYnVmbGFzdD09RU9GKQkJCSAvKiBhdCB0aGUgZW5kIG9mIG91ciBMYXRpbiBhbHJlYWR5PyAqLworICAgIHsgbG9hZGNoYXIoJ1xuJyk7CQkJCQkgIC8qIGZha2UgZW1wdHkgbGluZSAqLworICAgICAgcmV0dXJuIEVPRjsJCQkJCSAgLyogc3ByZWFkIHRoZSB3b3JkICovCitkaWZmIC0tZ2l0IGEvc3JjL2Zvcm1pc2MuaCBiL3NyYy9mb3JtaXNjLmgKK2luZGV4IDFjNGNhMjAuLmYyNTIxMWMgMTAwNjQ0CistLS0gYS9zcmMvZm9ybWlzYy5oCisrKysgYi9zcmMvZm9ybWlzYy5oCitAQCAtMTcsNCArMTcsNCBAQCB2b2lkCisgY2hhcioKKyAgc2tpcHdvcmRzIFAoKGNoYXIqc3RhcnQpKTsKKyBpbnQKKy0gZ2V0bGluZSBQKCh2b2lkKSk7CisrIGdldF9saW5lIFAoKHZvaWQpKTsKK2RpZmYgLS1naXQgYS9zcmMvbWFpbGZvbGQuYyBiL3NyYy9tYWlsZm9sZC5jCitpbmRleCA5MTdiNTAyLi42YzhiY2Y0IDEwMDY0NAorLS0tIGEvc3JjL21haWxmb2xkLmMKKysrKyBiL3NyYy9tYWlsZm9sZC5jCitAQCAtMzAsNiArMzAsNyBAQCBzdGF0aWMgLypjb25zdCovY2hhciByY3NpZFtdPQorIAorIGludCBsb2dvcGVuZWQscmF3bm9ubDsKKyBvZmZfdCBsYXN0dGVsbDsKKytzdGF0aWMgaW50IHRydW5jZWQ7Cisgc3RhdGljIGxvbmcgbGFzdGR1bXA7Cisgc3RhdGljIHZvbGF0aWxlIGludCBtYWlscmVhZDsJLyogaWYgdGhlIG1haWwgaXMgY29tcGxldGVseSByZWFkIGluIGFscmVhZHkgKi8KKyBzdGF0aWMgc3RydWN0IGR5bmFfYXJyYXkgY29uZmllbGQ7CQkgIC8qIGVzY2FwZXMsIGNvbmNhdGVuYXRpb25zICovCitAQCAtODEsNiArODIsNyBAQCBsb25nIGR1bXAocyx0eXBlLHNvdXJjZSxsZW4pY29uc3QgaW50IHMsdHlwZTtjb25zdCBjaGFyKnNvdXJjZTsKKyAgbG9uZyBsZW47CisgeyBpbnQgaTtsb25nIHBhcnQ7CisgICBsYXN0dGVsbD1pPSAtMTtTRVRlcnJubyhFQkFERik7CisrICB0cnVuY2VkPTA7CisgICBpZihzPj0wKQorICAgIHsgaWYoZnRfbG9jayh0eXBlKSYmKGxzZWVrKHMsKG9mZl90KTAsU0VFS19FTkQpLGZkbG9jayhzKSkpCisgCW5sb2coIktlcm5lbC1sb2NrIGZhaWxlZFxuIik7CitAQCAtMTIwLDEzICsxMjIsMTggQEAgamluOgl3aGlsZShwYXJ0JiYoaT1yd3JpdGUocyxzb3VyY2UsQkxLU0laPHBhcnQ/QkxLU0laOihpbnQpcGFydCkpKQorICAgICAgIH0KKyB3cml0ZWZpbjoKKyAgICAgIGk9dHlwZSE9ZnRfUElQRSYmZnN5bmMocykmJmVycm5vIT1FSU5WQUw7CSAgLyogRUlOVkFMID0+IHdhc24ndCBhIGZpbGUgKi8KKysgICAgIGlmICgoaXx8bGVuKSYmbGFzdHRlbGw+PTApCisrICAgICAgeyBpbnQgc2Vycm5vPWVycm5vOworKwlpZighZnRydW5jYXRlKHMsbGFzdHRlbGwpKSB0cnVuY2VkPTE7CisrCVNFVGVycm5vKHNlcnJubyk7CisrICAgICAgfQorICAgICAgaWYoZnRfbG9jayh0eXBlKSkKKyAgICAgICB7IGludCBzZXJybm89ZXJybm87CQkgICAgICAgLyogc2F2ZSBhbnkgZXJyb3IgaW5mb3JtYXRpb24gKi8KKyAJaWYoZmR1bmxvY2soKSkKKyAJICAgbmxvZygiS2VybmVsLXVubG9jayBmYWlsZWRcbiIpOworIAlTRVRlcnJubyhzZXJybm8pOworICAgICAgIH0KKy0gICAgIGk9cmNsb3NlKHMpfHxpOworKyAgICAgaT1yY2xvc2Uocyl8fGk7IC8qIGlmIHRoaXMgZmFpbHMsIHdlIHNob3VsZCB0cnVuY2F0ZSwgYnV0IGl0J3MgdG9vIGxhdGUgKi8KKyAgICB9CQkJICAgLyogcmV0dXJuIGFuIGVycm9yIGV2ZW4gaWYgbm90aGluZyB3YXMgdG8gYmUgc2VudCAqLworICAgcmV0dXJuIGkmJiFsZW4/LTE6bGVuOworIH0KK0BAIC0yMzcsNyArMjQ0LDcgQEAgZHVtcGY6CSB7IHN3aXRjaChlcnJubykKKyAjZW5kaWYKKyAJICAgICAgZGVmYXVsdDp3cml0ZWVycihidWYpOworIAkgICAgfQorLQkgICBpZihsYXN0dGVsbD49MCYmIXRydW5jYXRlKGJveG5hbWUsbGFzdHRlbGwpJiYobG9nb3BlbmVkfHx2ZXJib3NlKSkKKysJICAgaWYobGFzdHRlbGw+PTAmJnRydW5jZWQmJihsb2dvcGVuZWR8fHZlcmJvc2UpKQorIAkgICAgICBubG9nKCJUcnVuY2F0ZWQgZmlsZSB0byBmb3JtZXIgc2l6ZVxuIik7CSAgICAvKiB1bmRvIGdhcmJhZ2UgKi8KKyByZXQwOgkgICByZXR1cm4gMDsKKyAJIH0KK0BAIC0zNzgsNyArMzg1LDggQEAgdm9pZCByZWFkbWFpbChyaGVhZCx0b2Jlc2VudCljb25zdCBsb25nIHRvYmVzZW50OworIAlkZmlsbGVkPW1haWxyZWFkPTA7CisgICAgICBlbHNlIGlmKHJoZWFkKQkJCQkvKiBvbmx5IHJlYWQgaW4gYSBuZXcgaGVhZGVyICovCisgICAgICAgeyBtZW1ibGsgbmV3OworLQlkZmlsbGVkPW1haWxyZWFkPTA7bWFrZWJsb2NrKCZuZXcsMCk7cmVhZGR5bigmbmV3LCZkZmlsbGVkLDApOworKwlkZmlsbGVkPW1haWxyZWFkPTA7bWFrZWJsb2NrKCZuZXcsMCk7CisrCXJlYWRkeW4oJm5ldywmZGZpbGxlZCx0aGVib2R5LXRoZW1haWwucCk7CisgCWlmKHRvYmVzZW50PmRmaWxsZWQmJmlzcHJpdmF0ZSkJCSAgICAgLyogcHV0IGl0IGluIHBsYWNlIGhlcmUgKi8KKyAJIHsgdG1lbW1vdmUodGhlbWFpbC5wK2RmaWxsZWQsdGhlYm9keSxmaWxsZWQtPXRvYmVzZW50KTsKKyAJICAgdG1lbW1vdmUodGhlbWFpbC5wLG5ldy5wLGRmaWxsZWQpOworZGlmZiAtLWdpdCBhL3NyYy9tYW5jb25mLmMgYi9zcmMvbWFuY29uZi5jCitpbmRleCBhOWU5ZjFjLi41YzhlYzM2IDEwMDY0NAorLS0tIGEvc3JjL21hbmNvbmYuYworKysrIGIvc3JjL21hbmNvbmYuYworQEAgLTIzMyw3ICsyMzMsNyBAQCBhIHNlY3VyaXR5IHZpb2xhdGlvbiB3YXMgZm91bmQgKGUuZy4gXDEuQiBcMi1AUFJFU0VSVk9QVEBcMW9yIHZhcmlhYmxlXAorICBcMi1AUFJFU0VSVk9QVEBcMWFuZFwxLkJSIFwyLUBGUk9NV0hPUFRAIC5cMSIpOworICAgcGMoIkxNVFBPUFQiLExNVFBPUFQpOworICNlbHNlCistICBwcygiTE1UUE9QVGRlc2MiLCIiKTtwcygiTE1UUHVzYWdlIiwiIik7CisrICBwcygiTE1UUE9QVGRlc2MiLCIiKTtwcygiTE1UUHVzYWdlIiwiXDEiKTsKKyAjZW5kaWYKKyAgIHBuYW1lKCJJTklUX1VNQVNLIiwwKTtwcmludGYoIjAlbG8vZ1xuIiwodW5zaWduZWQgbG9uZylJTklUX1VNQVNLKTtsaW5lcy0tOworICAgcG4oIkRFRmxpbmVidWYiLERFRmxpbmVidWYpOworZGlmZiAtLWdpdCBhL3NyYy9tZW1ibGsuYyBiL3NyYy9tZW1ibGsuYworaW5kZXggZTJmMTNmMC4uOTdlMDJkMyAxMDA2NDQKKy0tLSBhL3NyYy9tZW1ibGsuYworKysrIGIvc3JjL21lbWJsay5jCitAQCAtNTEsMTEgKzUxLDExIEBAIHZvaWQgbG9ja2Jsb2NrKG1iKW1lbWJsaypjb25zdCBtYjsKKyB7CisgI2lmZGVmIFVTRV9NTUFQCisgICBpZihtYi0+ZmQ+PTApCistICAgeyBsb25nIGxlbj1tYi0+bGVuKzE7CistICAgICBpZihtdW5tYXAobWItPnAsbGVuKSkKKy0JbW1hcGZhaWxlZChsZW4pOwkJICAgICAgLyogZG9uJ3Qgd2FudCB0byBjb250aW51ZSBoZXJlICovCistICAgICBpZigobWItPnA9bW1hcCgwLGxlbixQUk9UX1JFQUQsTUFQX1BSSVZBVEUsbWItPmZkLChvZmZfdCkwKSk9PU1BUF9GQUlMRUQpCistCW1tYXBmYWlsZWQobGVuKTsKKysgICB7IGxvbmcgbWxlbj1tYi0+bGVuKzE7CisrICAgICBpZihtdW5tYXAobWItPnAsbWxlbikpCisrCW1tYXBmYWlsZWQobWxlbik7CQkgICAgICAvKiBkb24ndCB3YW50IHRvIGNvbnRpbnVlIGhlcmUgKi8KKysgICAgIGlmKChtYi0+cD1tbWFwKDAsbWxlbixQUk9UX1JFQUQsTUFQX1BSSVZBVEUsbWItPmZkLChvZmZfdCkwKSk9PU1BUF9GQUlMRUQpCisrCW1tYXBmYWlsZWQobWxlbik7CisgICAgICBjbG9zZShtYi0+ZmQpOworICAgICAgbWItPmZkPXJvcGVuKGRldm51bGwsT19SRFdSLDApOwkJLyogWFhYIFBlcmhhcHMgLTEgaXMgYmV0dGVyPyAqLworICAgIH0KK0BAIC03Nyw4ICs3Nyw4IEBAIGludCByZXNpemVibG9jayhtYixsZW4sbm9uZmF0YWwpbWVtYmxrKmNvbnN0IG1iO2NvbnN0IGxvbmcgbGVuOworICAgICAgc3RyY3B5KGZpbGVuYW1lLE1NQVBfRElSKTsKKyAgICAgIGlmKHVuaXF1ZShmaWxlbmFtZSxzdHJjaHIoZmlsZW5hbWUsJ1wwJyksTU1BUF9GSUxFX0xFTixNTUFQX1BFUk0sMCwwKSYmCisgCShtYi0+ZmQ9cm9wZW4oZmlsZW5hbWUsT19SRFdSLE1NQVBfUEVSTSksdW5saW5rKGZpbGVuYW1lKSxtYi0+ZmQ+PTApKQorLSAgICAgIHsgbWItPmZpbGVsZW49bGVuOworLQlpZihsc2VlayhtYi0+ZmQsbWItPmZpbGVsZW4tMSxTRUVLX1NFVCk8MHx8MSE9cndyaXRlKG1iLT5mZCxlbXB0eSwxKSkKKysgICAgICB7IG1iLT5maWxlbGVuPWxlbisxOworKwlpZihsc2VlayhtYi0+ZmQsbGVuLFNFRUtfU0VUKTwwfHwxIT1yd3JpdGUobWItPmZkLGVtcHR5LDEpKQorIGRyb3BmOgkgeyBjbG9zZShtYi0+ZmQpO21iLT5mZD0gLTE7CisgCSAgIGlmKHZlcmJvc2UpbmxvZygiVW5hYmxlIHRvIGV4dGVuZCBvciB1c2UgdGVtcGZpbGUiKTsKKyAJIH0KK0BAIC05OCw5ICs5OCw5IEBAIGRyb3BmOgkgeyBjbG9zZShtYi0+ZmQpO21iLT5mZD0gLTE7CisgICAgICAgfQorICAgIH0KKyAgIGlmKG1iLT5mZD49MCkKKy0gICB7IGlmKGxlbj5tYi0+ZmlsZWxlbikJCQkJICAvKiBuZWVkIHRvIGV4dGVuZD8gKi8KKy0gICAgICB7IG1iLT5maWxlbGVuPWxlbjsKKy0JaWYobHNlZWsobWItPmZkLG1iLT5maWxlbGVuLTEsU0VFS19TRVQpPDB8fDEhPXJ3cml0ZShtYi0+ZmQsZW1wdHksMSkpCisrICAgeyBpZihsZW4+PW1iLT5maWxlbGVuKQkJCQkgIC8qIG5lZWQgdG8gZXh0ZW5kPyAqLworKyAgICAgIHsgbWItPmZpbGVsZW49bGVuKzE7CisrCWlmKGxzZWVrKG1iLT5mZCxsZW4sU0VFS19TRVQpPDB8fDEhPXJ3cml0ZShtYi0+ZmQsZW1wdHksMSkpCisgCSB7IGNoYXIqcD1tYWxsb2MobGVuKzEpOwkgICAvKiBjYW4ndCBleHRlbmQsIHN3aXRjaCB0byBtYWxsb2MgKi8KKyAJICAgdG1lbW1vdmUocCxtYi0+cCxtYi0+bGVuKTsKKyAJICAgbXVubWFwKG1iLT5wLG1iLT5sZW4rMSk7CitAQCAtMTI0LDkgKzEyNCw5IEBAIG1tYXA6CWlmKChtYi0+cD1tbWFwKDAsbGVuKzEsUF9SVyxNQVBfU0hBUkVELG1iLT5mZCwob2ZmX3QpMCkpPT1NQVBfRkFJTEVEKQorICAgIH0KKyAgIGVsc2UKKyAgICAgIG1iLT5wPXJlYWxsb2MobWItPnAsbGVuKzEpOworLSAgbWItPmxlbj1sZW4rMTsKKy0gIG1iLT5wW2xlbl09J1wwJzsKKysgIG1iLT5sZW49bGVuOworIHJldDE6CisrICBtYi0+cFtsZW5dPSdcMCc7CisgICByZXR1cm4gMTsKKyB9CisgCitkaWZmIC0tZ2l0IGEvc3JjL21lbWJsay5oIGIvc3JjL21lbWJsay5oCitpbmRleCA2ZmQxZDFkLi5iNTdmMzY5IDEwMDY0NAorLS0tIGEvc3JjL21lbWJsay5oCisrKysgYi9zcmMvbWVtYmxrLmgKK0BAIC0xLDYgKzEsNiBAQAorIHR5cGVkZWYgc3RydWN0IG1lbWJsayB7CisgICAgIGNoYXIqcDsJCQkJCQkgIC8qIHdoZXJlIGl0IHN0YXJ0cyAqLworLSAgICBsb25nIGxlbjsJCQkJCSAvKiBjdXJyZW50bHkgYWxsb2NhdGVkIHNpemUgKi8KKysgICAgbG9uZyBsZW47CQkJIC8qIGN1cnJlbnQgc2l6ZSwgbm90IGluY2x1ZGluZyB0cmFpbGluZyBOVUwgKi8KKyAjaWZkZWYgVVNFX01NQVAKKyAgICAgb2ZmX3QgZmlsZWxlbjsJCQkJICAgICAvKiBob3cgbG9uZyBpcyB0aGUgZmlsZSAqLworICAgICBpbnQgZmQ7CQkJCQkgICAvKiBmaWxlIHdoaWNoIGlzIG1tYXAoKWVkICovCitkaWZmIC0tZ2l0IGEvc3JjL25ldHdvcmsuaCBiL3NyYy9uZXR3b3JrLmgKK2luZGV4IGQ3ZDA4ZjIuLmIwOWI2YzQgMTAwNjQ0CistLS0gYS9zcmMvbmV0d29yay5oCisrKysgYi9zcmMvbmV0d29yay5oCitAQCAtMSwxOSArMSwxMyBAQAorIC8qJElkOiBuZXR3b3JrLmgsdiAxLjcgMTk5Ny8wNC8wMiAwMzoxNTo0MSBzcmIgRXhwICQqLworIAorLSNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CQkJLyogc29ja2V0KCkgc2VuZHRvKCkgQUZfSU5FVAorKyNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CQkJLyogc29ja2V0KCkgc2VuZHRvKCkgKi8KKyAJCQkJCS8qIFNPQ0tfREdSQU0gKi8KKy0jaW5jbHVkZSA8bmV0ZGIuaD4JCQkvKiBnZXRob3N0YnluYW1lKCkgZ2V0c2VydmJ5bmFtZSgpCistCQkJCQkvKiBnZXRwcm90b2J5bmFtZSgpICovCistI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4JCQkvKiBodG9ucygpIHN0cnVjdCBzb2NrYWRkcl9pbiAqLworKyNpbmNsdWRlIDxuZXRkYi5oPgkJCS8qIGdldGFkZHJpbmZvKCkgKi8KKyAKKyAjaWZuZGVmIEJJRkZfc2VydmljZXBvcnQKKyAjZGVmaW5lIEJJRkZfc2VydmljZXBvcnQJQ09NU0FUc2VydmljZQorICNlbmRpZgorIAorLSNpZm5kZWYgaF8wYWRkcl9saXN0CistI2RlZmluZSBoXzBhZGRyX2xpc3QJaF9hZGRyX2xpc3RbMF0JCSAgICAgIC8qIFBPU0lYIHN0cnVjdCBtZW1iZXIgKi8KKy0jZW5kaWYKKy0KKyAjaWZuZGVmIE5PX2NvbnN0ICAgICAgLyogc2luY2UgbmV0d29yay5oIGlzIG91dHNpZGUgdGhlIGF1dG9jb25mIGNvbnN0IGNoZWNrICovCisgI2lmZGVmIGNvbnN0CQkgICAgLyogbG9vcCwgd2UgbmVlZCB0aGlzIGJhY2tjaGVjayBmb3Igc29tZSBzeXN0ZW1zICovCisgI3VuZGVmIGNvbnN0CitkaWZmIC0tZ2l0IGEvc3JjL3BpcGVzLmMgYi9zcmMvcGlwZXMuYworaW5kZXggMWZkYjllNi4uNzc1NDMwMCAxMDA2NDQKKy0tLSBhL3NyYy9waXBlcy5jCisrKysgYi9zcmMvcGlwZXMuYworQEAgLTE0NSw3ICsxNDUsOSBAQCBpbnQgcGlwdGhyb3VnaChsaW5lLHNvdXJjZSxsZW4pY2hhcipsaW5lLCpzb3VyY2U7Y29uc3QgbG9uZyBsZW47CisgICBpZihTdGRvdXQpCisgICAgeyAqKGVxPXN0cmNocihTdGRvdXQsJ1wwJyktMSk9J1wwJzsJCQkgICAgIC8qIGNob3AgdGhlICc9JyAqLworICAgICAgaWYoIShiYWNrYmxvY2s9Z2V0ZW52KFN0ZG91dCkpKQkJCS8qIG5vIGN1cnJlbnQgdmFsdWU/ICovCistCVBSREI9UFdSQj0gLTE7CisrICAgICAgeyBQUkRCPVBXUkI9IC0xOworKwliYWNrbGVuPTA7CisrICAgICAgfQorICAgICAgZWxzZQorICAgICAgIHsgYmFja2xlbj1zdHJsZW4oYmFja2Jsb2NrKTsKKyAJZ290byBwaXA7CitAQCAtMTU1LDkgKzE1Nyw3IEBAIGludCBwaXB0aHJvdWdoKGxpbmUsc291cmNlLGxlbiljaGFyKmxpbmUsKnNvdXJjZTtjb25zdCBsb25nIGxlbjsKKyBwaXA6IHJwaXBlKHBiYWNrZmQpOworICAgcnBpcGUocGluZmQpOwkJCQkJCSAvKiBtYWluIHBpcGVzIHNldHVwICovCisgICBpZighKHBpZGNoaWxkPXNmb3JrKCkpKQkJCS8qIGNyZWF0ZSBhIHNlbmRpbmcgcHJvY21haWwgKi8KKy0gICB7IGlmKFN0ZG91dCYmYmFja2Jsb2NrKQorLQliYWNrbGVuPXN0cmxlbihiYWNrYmxvY2spOworLSAgICAgZWxzZQorKyAgIHsgaWYoIVN0ZG91dCkKKyAJYmFja2Jsb2NrPXNvdXJjZSxiYWNrbGVuPWxlbjsKKyAgICAgIGNoaWxkc2V0dXAoKTtyY2xvc2UoUFJESSk7cmNsb3NlKFBSREIpOworICAgICAgcnBpcGUocG91dGZkKTtyY2xvc2UoU1RET1VUKTsKK0BAIC0xOTQsNyArMTk0LDcgQEAgcGVycjoJICAgICAgcHJvZ2VycihsaW5lLGV4Y29kZSxwd2FpdD09NCk7ICAvKiBJJ20gZ29pbmcgdG8gdGVsbCBteSBtb21teSEgKi8KKyAgICAgIG1ha2VibG9jaygmdGVtcCxTdGRmaWxsZWQpOworICAgICAgdG1lbW1vdmUodGVtcC5wLFN0ZG91dCxTdGRmaWxsZWQpOworICAgICAgcmVhZGR5bigmdGVtcCwmU3RkZmlsbGVkLFN0ZGZpbGxlZCtiYWNrbGVuKzEpOworLSAgICAgU3Rkb3V0PXJlYWxsb2MoU3Rkb3V0LCZTdGRmaWxsZWQrMSk7CisrICAgICBTdGRvdXQ9cmVhbGxvYyhTdGRvdXQsU3RkZmlsbGVkKzEpOworICAgICAgdG1lbW1vdmUoU3Rkb3V0LHRlbXAucCxTdGRmaWxsZWQrMSk7CisgICAgICBmcmVlYmxvY2soJnRlbXApOworICAgICAgcmV0U3Rkb3V0KFN0ZG91dCxwd2FpdCYmcGlwdywhYmFja2Jsb2NrKTsKK2RpZmYgLS1naXQgYS9zcmMvcHJvY21haWwuYyBiL3NyYy9wcm9jbWFpbC5jCitpbmRleCA0YTIzMmYyLi4yYmI0NDliIDEwMDY0NAorLS0tIGEvc3JjL3Byb2NtYWlsLmMKKysrKyBiL3NyYy9wcm9jbWFpbC5jCitAQCAtNjUyLDggKzY1Miw3IEBAIGNvbW1pbnQ6ZG8gc2tpcHNwYWNlKCk7CQkJCQkgIC8qIHNraXAgd2hpdGVzcGFjZSAqLworIAkgICAgICBucmNvbmQ9IC0xOworIAkgICBpZih0b2xvY2spCQkgLyogY2xlYXIgdGVtcG9yYXJ5IGJ1ZmZlciBmb3IgbG9ja2ZpbGUgbmFtZSAqLworIAkgICAgICBmcmVlKHRvbG9jayk7CistCSAgIGZvcihpPW1heGluZGV4KGZsYWdzKTtpO2ktLSkJCQkgIC8qIGNsZWFyIHRoZSBmbGFncyAqLworLQkgICAgICBmbGFnc1tpXT0wOworKwkgICBiYnplcm8oZmxhZ3Msc2l6ZW9mKGZsYWdzKSk7CQkgIC8qIGNsZWFyIHRoZSBmbGFncyAqLworIAkgICBmb3IodG9sb2NrPTAsbG9ja25leHQ9MDs7KQorIAkgICAgeyBjaHA9c2twc3BhY2UoY2hwKTsKKyAJICAgICAgc3dpdGNoKGk9ICpjaHArKykKK2RpZmYgLS1naXQgYS9zcmMvcmVjb21tZW5kLmMgYi9zcmMvcmVjb21tZW5kLmMKK2luZGV4IDVkNDFlMDEuLjkwMDIyNjggMTAwNjQ0CistLS0gYS9zcmMvcmVjb21tZW5kLmMKKysrKyBiL3NyYy9yZWNvbW1lbmQuYworQEAgLTQ3LDcgKzQ3LDcgQEAgaW50IG1haW4oYXJnYyxhcmd2KWNvbnN0IGludCBhcmdjO2NvbnN0IGNoYXIqY29uc3QgYXJndltdOworICAgICAgcHJpbnRmKCJjaG1vZCAlbG8gJXNcbiIsKHVuc2lnbmVkIGxvbmcpKHNnaWR8UEVSTUlTKSxhcmd2WzJdKTsKKyAgIGVsc2UgaWYoY2htZGlyPT0xKQorICAgICAgZ290byBub2djaG1vZDsKKy0gIGlmKGNobWRpcikKKysgIGlmKDApCisgICAgICBwcmludGYoImNobW9kICVjK3cgJXMvLlxuIixjaG1kaXI9PTE/J2cnOidhJyxtYWlsc3Bvb2xkaXIpOworIG5vZ2NobW9kOgorICAgcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Byb2NtYWlsL3Byb2NtYWlsL2Zyb20tZGViaWFuLXRvLWZpeC1tYW4tZmlsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHJvY21haWwvcHJvY21haWwvZnJvbS1kZWJpYW4tdG8tZml4LW1hbi1maWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiM2M2NDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Byb2NtYWlsL3Byb2NtYWlsL2Zyb20tZGViaWFuLXRvLWZpeC1tYW4tZmlsZS5wYXRjaApAQCAtMCwwICsxLDgzIEBACitGcm9tIDNjYmM1ZTZlNjI0MjM1ZjliYTQwY2ZkNWEyYjE4YzExYmUzNzEzOTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMaSB4aW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CitEYXRlOiBUdWUsIDIgRGVjIDIwMTQgMDc6MDI6MDEgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSCAyLzNdIEZyb20gZGViaWFuIHRvIGZpeCBtYW4gZmlsZQorCitTaWduZWQtb2ZmLWJ5OiBMaSBYaW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CistLS0KKyBtYW4vcHJvY21haWwubWFuICAgfCAyNCArKysrKysrKysrKysrKysrKy0tLS0tLS0KKyBtYW4vcHJvY21haWxyYy5tYW4gfCAgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL21hbi9wcm9jbWFpbC5tYW4gYi9tYW4vcHJvY21haWwubWFuCitpbmRleCAxNzUwNDNhLi4xMjc0Y2U4IDEwMDY0NAorLS0tIGEvbWFuL3Byb2NtYWlsLm1hbgorKysrIGIvbWFuL3Byb2NtYWlsLm1hbgorQEAgLTQ0LDExICs0NCwxMSBAQCBhdCB0aGUgZW5kLgorIHNob3VsZCBiZSBpbnZva2VkIGF1dG9tYXRpY2FsbHkgb3ZlciB0aGUKKyAuQiBARE9UX0ZPUldBUkRACisgZmlsZSBtZWNoYW5pc20gYXMgc29vbiBhcyBtYWlsIGFycml2ZXMuICBBbHRlcm5hdGl2ZWx5LCB3aGVuIGluc3RhbGxlZCBieQorLWEgc3lzdGVtIGFkbWluaXN0cmF0b3IsIGl0IGNhbiBiZSBpbnZva2VkIGZyb20gd2l0aGluIHRoZSBtYWlsZXIgaW1tZWRpYXRlbHkuCistV2hlbiBpbnZva2VkLCBpdCBmaXJzdCBzZXRzIHNvbWUgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIGRlZmF1bHQgdmFsdWVzLAorLXJlYWRzIHRoZSBtYWlsIG1lc3NhZ2UgZnJvbSBzdGRpbiB1bnRpbCBhbiBFT0YsIHNlcGFyYXRlcyB0aGUgYm9keSBmcm9tIHRoZQorLWhlYWRlciwgYW5kIHRoZW4sIGlmIG5vIGNvbW1hbmQgbGluZSBhcmd1bWVudHMgYXJlIHByZXNlbnQsIGl0IHN0YXJ0cyB0byBsb29rCistZm9yIGEgZmlsZSBuYW1lZAorK2Egc3lzdGVtIGFkbWluaXN0cmF0b3IgKGFuZCBpbiB0aGUgc3RhbmRhcmQgUmVkIEhhdCBMaW51eCBjb25maWd1cmF0aW9uKSwgaXQKKytjYW4gYmUgaW52b2tlZCBmcm9tIHdpdGhpbiB0aGUgbWFpbGVyIGltbWVkaWF0ZWx5LiAgV2hlbiBpbnZva2VkLCBpdAorK2ZpcnN0IHNldHMgc29tZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gZGVmYXVsdCB2YWx1ZXMsIHJlYWRzIHRoZSBtYWlsIG1lc3NhZ2UgZnJvbQorK3N0ZGluIHVudGlsIGFuIEVPRiwgc2VwYXJhdGVzIHRoZSBib2R5IGZyb20gdGhlIGhlYWRlciwgYW5kIHRoZW4sIGlmIG5vIGNvbW1hbmQgbGluZQorK2FyZ3VtZW50cyBhcmUgcHJlc2VudCwgaXQgc3RhcnRzIHRvIGxvb2sgZm9yIGEgZmlsZSBuYW1lZAorIC5CUiBAUFJPQ01BSUxSQ0AgLgorIEFjY29yZGluZyB0byB0aGUgcHJvY2Vzc2luZyByZWNpcGVzIGluIHRoaXMgZmlsZSwKKyB0aGUgbWFpbCBtZXNzYWdlIHRoYXQganVzdCBhcnJpdmVkIGdldHMgZGlzdHJpYnV0ZWQgaW50byB0aGUgcmlnaHQgZm9sZGVyCitAQCAtMTY2LDcgKzE2Niw4IEBAIG11c3QgYmUgc3BlY2lmaWVkIG9uIHRoZSBjb21tYW5kIGxpbmUuICBBZnRlciB0aGUgcmNmaWxlLCBwcm9jbWFpbCB3aWxsCisgYWNjZXB0IGFuIHVubGltaXRlZCBudW1iZXIgb2YgYXJndW1lbnRzLkBFVENSQ1NfZGVzY0AKKyBGb3Igc29tZSBhZHZhbmNlZCB1c2FnZSBvZiB0aGlzIG9wdGlvbiB5b3Ugc2hvdWxkIGxvb2sgaW4gdGhlCisgLkIgRVhBTVBMRVMKKy1zZWN0aW9uIGJlbG93LkBMTVRQT1BUZGVzY0AuU0ggQVJHVU1FTlRTCisrc2VjdGlvbiBiZWxvdy5ATE1UUE9QVGRlc2NACisrLlNIIEFSR1VNRU5UUworIEFueSBhcmd1bWVudHMgY29udGFpbmluZyBhbiAnPScgYXJlIGNvbnNpZGVyZWQgdG8gYmUgZW52aXJvbm1lbnQgdmFyaWFibGUKKyBhc3NpZ25tZW50cywgdGhleSB3aWxsCisgLkkgYWxsCitAQCAtNzIzLDYgKzcyNCwxNSBAQCBwYXRoLkBGV19jb21tZW50QAorIC5maQorIC5hZAorIC5QUAorK1NvbWUgbWFpbGVycyAobm90YWJseSBleGltKSBkbyBub3QgY3VycmVudGx5IGFjY2VwdCB0aGUgYWJvdmUgc3ludGF4LgorK0luIHN1Y2ggY2FzZSB1c2UgdGhpcyBpbnN0ZWFkOgorKy5QUAorKy5uYQorKy5uZgorK3wvdXNyL2Jpbi9wcm9jbWFpbAorKy5maQorKy5hZAorKy5QUAorIFByb2NtYWlsIGNhbiBhbHNvIGJlIGludm9rZWQgdG8gcG9zdHByb2Nlc3MgYW4gYWxyZWFkeSBmaWxsZWQgc3lzdGVtCisgbWFpbGJveC4gIFRoaXMgY2FuIGJlIHVzZWZ1bCBpZiB5b3UgZG9uJ3Qgd2FudCB0byBvciBjYW4ndCB1c2UgYQorICRIT01FL0BET1RfRk9SV0FSREAgZmlsZSAoaW4gd2hpY2ggY2FzZSB0aGUgZm9sbG93aW5nIHNjcmlwdCBjb3VsZAorQEAgLTc1NCw3ICs3NjQsNyBAQCBleGl0IDAKKyAuU1MgIkEgc2FtcGxlIHNtYWxsIEBQUk9DTUFJTFJDQDoiCisgLm5hCisgLm5mCistUEFUSD0vYmluOi91c3IvYmluOkBCSU5ESVJACisrUEFUSD0vdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluCisgTUFJTERJUj0kSE9NRS9NYWlsICAgICAgI3lvdSdkIGJldHRlciBtYWtlIHN1cmUgaXQgZXhpc3RzCisgREVGQVVMVD0kTUFJTERJUi9tYm94ICAgI2NvbXBsZXRlbHkgb3B0aW9uYWwKKyBMT0dGSUxFPSRNQUlMRElSL2Zyb20gICAjcmVjb21tZW5kZWQKK2RpZmYgLS1naXQgYS9tYW4vcHJvY21haWxyYy5tYW4gYi9tYW4vcHJvY21haWxyYy5tYW4KK2luZGV4IDQ3MjAzNWYuLjdiZjA4ZGQgMTAwNjQ0CistLS0gYS9tYW4vcHJvY21haWxyYy5tYW4KKysrKyBiL21hbi9wcm9jbWFpbHJjLm1hbgorQEAgLTc3OSw3ICs3NzksNyBAQCBvbmUgdHJhaWxpbmcgbmV3bGluZSB3aWxsIGJlIHN0cmlwcGVkLgorIC5QUAorIFNvbWUgbm9uLW9wdGltYWwgYW5kIG5vbi1vYnZpb3VzIHJlZ2V4cHMgc2V0IE1BVENIIHRvIGFuIGluY29ycmVjdAorIHZhbHVlLiAgVGhlIHJlZ2V4cCBjYW4gYmUgbWFkZSB0byB3b3JrIGJ5IHJlbW92aW5nIG9uZSBvciBtb3JlIHVubmVlZGVkCistJyonLCAnKycsIG9yICc/JyBvcGVyYXRvciBvbiB0aGUgbGVmdC1oYW5kIHNpZGUgb2YgdGhlIFxlLyB0b2tlbi4KKytcJicqJywgJysnLCBvciAnPycgb3BlcmF0b3Igb24gdGhlIGxlZnQtaGFuZCBzaWRlIG9mIHRoZSBcZS8gdG9rZW4uCisgLlNIIE1JU0NFTExBTkVPVVMKKyBJZiB0aGUgcmVndWxhciBleHByZXNzaW9uIGNvbnRhaW5zIGBcZkJAVE9fa2V5QFxmUCcgaXQgd2lsbCBiZSBzdWJzdGl0dXRlZCBieQorIC5uYQorLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHJvY21haWwvcHJvY21haWwvZnJvbS1kZWJpYW4tdG8tbW9kaWZ5LXBhcmFtZXRlcnMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Byb2NtYWlsL3Byb2NtYWlsL2Zyb20tZGViaWFuLXRvLW1vZGlmeS1wYXJhbWV0ZXJzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5NGU0MzYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Byb2NtYWlsL3Byb2NtYWlsL2Zyb20tZGViaWFuLXRvLW1vZGlmeS1wYXJhbWV0ZXJzLnBhdGNoCkBAIC0wLDAgKzEsMTI3IEBACitGcm9tIDk1Yzc0MjI0Mjc2OTcyMWY5NjNjNTA3MDJlMTQ0NWZiNzBjNmE0NWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMaSB4aW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CitEYXRlOiBUdWUsIDIgRGVjIDIwMTQgMDc6MDc6MzMgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSCAzLzNdIEZyb20gZGViaWFuIHRvIG1vZGlmeSBwYXJhbWV0ZXJzCisKK1NpZ25lZC1vZmYtYnk6IExpIFhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KKy0tLQorIE1ha2VmaWxlIHwgMTYgKysrKysrKystLS0tLS0tLQorIGNvbmZpZy5oIHwgMTMgKysrKysrKy0tLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCAxZTk1NjhjLi45ZTQ4MjAxIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtMjMsNyArMjMsNyBAQCBNQU41RElSCQk9ICQoTUFORElSKS9tYW4kKE1BTjVTVUZGSVgpCisgCisgIyBVbmNvbW1lbnQgdG8gaW5zdGFsbCBjb21wcmVzc2VkIG1hbiBwYWdlcyAocG9zc2libHkgYWRkIGV4dHJhIHN1ZmZpeAorICMgdG8gdGhlIGRlZmluaXRpb25zIG9mIE1BTj9ESVIgYW5kL29yIE1BTj9TVUZGSVggYnkgaGFuZCkKKy0jTUFOQ09NUFJFU1MgPSBjb21wcmVzcworKyMgTUFOQ09NUFJFU1MgPSBjb21wcmVzcworIAorICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMqIworICMgVGhpbmdzIHRoYXQgY2FuIGJlIG1hZGUgYXJlOgorQEAgLTU1LDcgKzU1LDcgQEAgTUFONURJUgkJPSAkKE1BTkRJUikvbWFuJChNQU41U1VGRklYKQorIAorIExPQ0tJTkdURVNUPV9fZGVmYXVsdHNfXworIAorLSNMT0NLSU5HVEVTVD0vdG1wIC4JIyBVbmNvbW1lbnQgYW5kIGFkZCBhbnkgZGlyZWN0b3JpZXMgeW91IHNlZSBmaXQuCisrTE9DS0lOR1RFU1Q9L3RtcCAuCSMgVW5jb21tZW50IGFuZCBhZGQgYW55IGRpcmVjdG9yaWVzIHlvdSBzZWUgZml0LgorICMJCQlJZiBMT0NLSU5HVEVTVCBpcyBkZWZpbmVkLCBhdXRvY29uZiB3aWxsIE5PVAorICMJCQlwcm9tcHQgeW91IHRvIGVudGVyIGFkZGl0aW9uYWwgZGlyZWN0b3JpZXMuCisgIwkJCVNlZSBJTlNUQUxMIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZQorQEAgLTY1LDcgKzY1LDcgQEAgTE9DS0lOR1RFU1Q9X19kZWZhdWx0c19fCisgIyBPbmx5IGVkaXQgYmVsb3cgdGhpcyBsaW5lIGlmIHlvdSAqdGhpbmsqIHlvdSBrbm93IHdoYXQgeW91IGFyZSBkb2luZyAjCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgCistI0xPQ0tJTkdURVNUPTEwMAkjIFVuY29tbWVudCAoYW5kIGNoYW5nZSkgaWYgeW91IHRoaW5rIHlvdSBrbm93CisrTE9DS0lOR1RFU1Q9MTAwCSMgVW5jb21tZW50IChhbmQgY2hhbmdlKSBpZiB5b3UgdGhpbmsgeW91IGtub3cKKyAjCQkJaXQgYmV0dGVyIHRoYW4gdGhlIGF1dG9jb25mIGxvY2tpbmd0ZXN0cy4KKyAjCQkJVGhpcyB3aWxsIGNhdXNlIHRoZSBsb2NraW5ndGVzdHMgdG8gYmUgaG90d2lyZWQuCisgIwkJCTEwMAl0byBlbmFibGUgZmNudGwoKQorQEAgLTc0LDIwICs3NCwyMCBAQCBMT0NLSU5HVEVTVD1fX2RlZmF1bHRzX18KKyAjCQkJT3IgdGhlbSB0b2dldGhlciB0byBnZXQgdGhlIGRlc2lyZWQgY29tYmluYXRpb24uCisgCisgIyBPcHRpb25hbCBzeXN0ZW0gbGlicmFyaWVzIHdlIHNlYXJjaCBmb3IKKy1TRUFSQ0hMSUJTID0gLWxtIC1sZGlyIC1seCAtbHNvY2tldCAtbG5ldCAtbGluZXQgLWxuc2xfcyAtbG5zbF9pIC1sbnNsIC1sc3VuIFwKKy0gLWxnZW4gLWxzb2NrZG5zIC1sZGwKKytTRUFSQ0hMSUJTID0gLWxtIC1sZGlyIC1seCAtbHNvY2tldCAtbG5ldCAtbGluZXQgLWxuc2xfcyAtbG5zbF9pIC1sc3VuIFwKKysgLWxnZW4gLWxzb2NrZG5zCisgIwkJCS1scmVzb2x2CSMgbm90IHJlYWxseSBuZWVkZWQsIGlzIGl0PworIAorICMgSW5mb3JtYWwgbGlzdCBvZiBkaXJlY3RvcmllcyB3aGVyZSB3ZSBsb29rIGZvciB0aGUgbGlicmFyaWVzIGluIFNFQVJDSExJQlMKKy1MSUJQQVRIUz0vbGliIC91c3IvbGliIC91c3IvbG9jYWwvbGliCisrTElCUEFUSFM9L2xpYiAvdXNyL2xpYgorIAorIEdDQ19XQVJOSU5HUyA9IC1PMiAtcGVkYW50aWMgLVdyZXR1cm4tdHlwZSAtV3VudXNlZCAtV2Zvcm1hdCAtV3RyYWRpdGlvbmFsIFwKKyAgLVdwb2ludGVyLWFyaXRoIC1XY29udmVyc2lvbiAtV2FnZ3JlZ2F0ZS1yZXR1cm4gXAorICAjLVdpbXBsaWNpdCAtV3NoYWRvdyAtV2lkLWNsYXNoLTYgIy1XdW5pbml0aWFsaXplZAorIAorICMgVGhlIHBsYWNlIHRvIHB1dCB5b3VyIGZhdm91cml0ZSBleHRyYSBjYyBmbGFnCistQ0ZMQUdTMCA9IC1PICMkKEdDQ19XQVJOSU5HUykKKy1MREZMQUdTMD0gLXMKKytDRkxBR1MwID0gJChSUE1fT1BUX0ZMQUdTKSAjJChHQ0NfV0FSTklOR1MpCisrTERGTEFHUzA9IAorICMgUmVhZCBteSBsaWJzIDotKQorIExJQlM9CisgCitkaWZmIC0tZ2l0IGEvY29uZmlnLmggYi9jb25maWcuaAoraW5kZXggYzQxMzVhOS4uYTA3NDUzZiAxMDA2NDQKKy0tLSBhL2NvbmZpZy5oCisrKysgYi9jb25maWcuaAorQEAgLTM1LDcgKzM1LDggQEAKKyAgKi8KKyAvKiNkZWZpbmUgREVGU1BBVEgJIlBBVEg9L2JpbjovdXNyL2JpbiIJCQkvKiAqLworIC8qI2RlZmluZSBERUZQQVRICSJQQVRIPSRIT01FL2JpbjovYmluOi91c3IvYmluIgkJLyogKi8KKy0KKysjZGVmaW5lIERFRlBBVEgJIlBBVEg9JEhPTUUvYmluOi9iaW46L3Vzci9iaW46L3NiaW46L3Vzci9zYmluOi91c3IvbG9jYWwvYmluOi91c3IvWDExUjYvYmluIgkJLyogKi8KKysgCisgLyogZXZlcnkgZW52aXJvbm1lbnQgdmFyaWFibGUgYXBwZWFyaW5nIGluIFBSRVNURU5WIHdpbGwgYmUgc2V0IG9yIHdpcGVkCisgICogb3V0IG9mIHRoZSBlbnZpcm9ubWVudCAodmFyaWFibGVzIHdpdGhvdXQgYW4gJz0nIHNpZ24gd2lsbCBiZSB0aHJvd24KKyAgKiBvdXQpLCBlLmcuIHlvdSBjb3VsZCBkZWZpbmUgUFJFU1RFTlYgYXMgZm9sbG93czoKK0BAIC00NiwxMyArNDcsMTMgQEAKKyAgKi8KKyAjZGVmaW5lIFBSRVNURU5WCXsiSUZTIiwiRU5WIiwiUFdEIiwwfQorIAorLS8qI2RlZmluZSBHUk9VUF9QRVJfVVNFUgkJCS8qIHVuY29tbWVudCB0aGlzIGlmIGVhY2gKKysjZGVmaW5lIEdST1VQX1BFUl9VU0VSCQkJLyogdW5jb21tZW50IHRoaXMgaWYgZWFjaAorIAkJCQkJCSAgIHVzZXIgaGFzIGhpcyBvciBoZXIgb3duCisgCWdyb3VwIGFuZCBwcm9jbWFpbCBjYW4gdGhlcmVmb3JlIHRydXN0IGEgJEhPTUUvLnByb2NtYWlscmMgdGhhdAorIAlpcyBncm91cCB3cml0YWJsZSBvciBjb250YWluZWQgaW4gYSBncm91cCB3cml0YWJsZSBob21lIGRpcmVjdG9yeQorIAlpZiB0aGUgZ3JvdXAgaW52b2x2ZWQgaXMgdGhlIHVzZXIncyBkZWZhdWx0IGdyb3VwLiAqLworIAorLS8qI2RlZmluZSBMTVRQCQkJCQkvKiB1bmNvbW1lbnQgdGhpcyBpZiB5b3UKKysjZGVmaW5lIExNVFAJCQkJCS8qIHVuY29tbWVudCB0aGlzIGlmIHlvdQorIAkJCQkJCSAgIHdhbnQgdG8gdXNlIHByb2NtYWlsCisgCWFzIGFuIExNVFAgKHJmYzIwMzMpIHNlcnZlciwgcHJlc3VtYWJseSBmb3IgaW52b2NhdGlvbiBieSBhbiBNVEEuCisgCVRoZSBmaWxlIGV4YW1wbGVzL2xvY2FsX3Byb2NtYWlsX2xtdHAubTQgY29udGFpbnMgaW5mbyBvbiBob3cgdG8KK0BAIC03OSw3ICs4MCw3IEBACisgCisgLyojZGVmaW5lIE5PX2ZjbnRsX0xPQ0sJCS8qIHVuY29tbWVudCBhbnkgb2YgdGhlc2UgdGhyZWUgaWYgeW91CSAgICAgKi8KKyAvKiNkZWZpbmUgTk9fbG9ja2ZfTE9DSwkJLyogZGVmaW5pdGVseSBkbyBub3Qgd2FudCBwcm9jbWFpbCB0byBtYWtlICAgKi8KKy0vKiNkZWZpbmUgTk9fZmxvY2tfTE9DSwkJLyogdXNlIG9mIHRob3NlIGtlcm5lbC1sb2NraW5nIG1ldGhvZHMJICAgICAqLworKyNkZWZpbmUgTk9fZmxvY2tfTE9DSwkJLyogdXNlIG9mIHRob3NlIGtlcm5lbC1sb2NraW5nIG1ldGhvZHMJICAgICAqLworIAkJCQkvKiBJZiB5b3Ugc2V0IExPQ0tJTkdURVNUIHRvIGEgYmluYXJ5IG51bWJlcgorIAl0aGFuIHRoZXJlJ3Mgbm8gbmVlZCB0byBzZXQgdGhlc2UuICBUaGVzZSAjZGVmaW5lcyBhcmUgb25seSB1c2VmdWwKKyAJaWYgeW91IHdhbnQgdG8gZGlzYWJsZSBwYXJ0aWN1bGFyIGxvY2tpbmcgc3R5bGVzIGJ1dCBhcmUgdW5zdXJlIHdoaWNoCitAQCAtOTEsMTQgKzkyLDE0IEBACisgCXJlc3RyaWN0aW9uIGRvZXMgbm90IGFwcGx5IHRvIHRoZSAvZXRjL3Byb2NtYWlscmMgYW5kCisgCS9ldGMvcHJvY21haWxyY3MgZmlsZXMpICovCisgCistLyojZGVmaW5lIE5PX05GU19BVElNRV9IQUNLCS8qIHVuY29tbWVudCBpZiB5b3UncmUgZGVmaW5pdGVseSBub3QgdXNpbmcKKysjZGVmaW5lIE5PX05GU19BVElNRV9IQUNLCS8qIHVuY29tbWVudCBpZiB5b3UncmUgZGVmaW5pdGVseSBub3QgdXNpbmcKKyAJCQkJICAgTkZTIG1vdW50ZWQgZmlsZXN5c3RlbXMgYW5kIGNhbid0IGFmZm9yZAorIAlwcm9jbWFpbCB0byBzbGVlcCBmb3IgMSBzZWMuIGJlZm9yZSB3cml0aW5nIHRvIGFuIGVtcHR5IHJlZ3VsYXIKKyAJbWFpbGJveC4gIFRoaXMgbGV0cyBwcm9ncmFtcyBjb3JyZWN0bHkganVkZ2Ugd2hldGhlciB0aGVyZSBpcyB1bnJlYWQKKyAJbWFpbCBwcmVzZW50LiAgcHJvY21haWwgYXV0b21hdGljYWxseSBzdXBwcmVzc2VzIHRoaXMgd2hlbiBpdCBpc24ndAorIAluZWVkZWQgb3IgdW5kZXIgaGVhdnkgbG9hZC4gKi8KKyAKKy0vKiNkZWZpbmUgREVGc2VuZG1haWwJIi91c3Ivc2Jpbi9zZW5kbWFpbCIJLyogdW5jb21tZW50IGFuZC9vciBjaGFuZ2UgaWYKKysjZGVmaW5lIERFRnNlbmRtYWlsCSIvdXNyL3NiaW4vc2VuZG1haWwiCS8qIHVuY29tbWVudCBhbmQvb3IgY2hhbmdlIGlmCisgCQkJCQkJICAgdGhlIGF1dG9jb25maWd1cmVkIGRlZmF1bHQKKyAJU0VORE1BSUwgaXMgbm90IHN1aXRhYmxlLiAgVGhpcyBwcm9ncmFtIHNob3VsZCBxdWFjayBsaWtlIGEgc2VuZG1haWw6CisgCWl0IHNob3VsZCBhY2NlcHQgdGhlIC1vaSBmbGFnICh0byB0ZWxsIGl0IHRvIF9ub3RfIHRyZWF0IGEgbGluZQorLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHJvY21haWwvcHJvY21haWwvbWFuLWZpbGUtbWFpbHN0YXQuMS1mcm9tLWRlYmlhbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHJvY21haWwvcHJvY21haWwvbWFuLWZpbGUtbWFpbHN0YXQuMS1mcm9tLWRlYmlhbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NmQ5NzNlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wcm9jbWFpbC9wcm9jbWFpbC9tYW4tZmlsZS1tYWlsc3RhdC4xLWZyb20tZGViaWFuLnBhdGNoCkBAIC0wLDAgKzEsNjAgQEAKK0Zyb20gOGFjNTYxMDhlNWYwYTcyZDFiZWMwZmI0ZjFmYTQ3NjNhMjQ3OTMzMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExpIHhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IFR1ZSwgMiBEZWMgMjAxNCAwNjo1NjoxNCArMDkwMAorU3ViamVjdDogW1BBVENIXSBtYW4gZmlsZSBtYWlsc3RhdC4xIGZyb20gZGViaWFuCisKK1NpZ25lZC1vZmYtYnk6IExpIFhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KKy0tLQorIGRlYmlhbi9tYWlsc3RhdC4xIHwgNDAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA0MCBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGRlYmlhbi9tYWlsc3RhdC4xCisKK2RpZmYgLS1naXQgYS9kZWJpYW4vbWFpbHN0YXQuMSBiL2RlYmlhbi9tYWlsc3RhdC4xCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uZjEzMjY1YQorLS0tIC9kZXYvbnVsbAorKysrIGIvZGViaWFuL21haWxzdGF0LjEKK0BAIC0wLDAgKzEsNDAgQEAKKysuVEggTUFJTFNUQVQgMQorKy5TSCBOQU1FCisrbWFpbHN0YXQgXC0gc2hvd3MgbWFpbC1hcnJpdmFsIHN0YXRpc3RpY3MKKysuU0ggU1lOT1BTSVMKKysuQiBtYWlsc3RhdAorK1tcLWtsbW90c10gW2xvZ2ZpbGVdCisrLlNIIERFU0NSSVBUSU9OCisrLkIgbWFpbHN0YXQKKytwYXJzZXMgYSBwcm9jbWFpbC1nZW5lcmF0ZWQgJExPR0ZJTEUgYW5kIGRpc3BsYXlzCisrYSBzdW1tYXJ5IGFib3V0IHRoZSBtZXNzYWdlcyBkZWxpdmVyZWQgdG8gYWxsIGZvbGRlcnMKKysodG90YWwgc2l6ZSwgYXZlcmFnZSBzaXplLCBuciBvZiBtZXNzYWdlcykuCisrVGhlICRMT0dGSUxFIGlzIHRydW5jYXRlZCB0byB6ZXJvIGxlbmd0aCwgdW5sZXNzIHRoZQorKy5CIC1rCisrb3B0aW9uIGlzIHVzZWQuCisrRXhpdCBjb2RlIDAgaWYgbWFpbCBhcnJpdmVkLCAxIGlmIG5vIG1haWwgYXJyaXZlZC4KKysuU0ggT1BUSU9OUworKy5UUAorKy5JIFwtaworK2tlZXAgbG9nZmlsZSBpbnRhY3QKKysuVFAKKysuSSBcLWwKKytsb25nIGRpc3BsYXkgZm9ybWF0CisrLlRQCisrLkkgXC1tCisrbWVyZ2UgYW55IGVycm9ycyBpbnRvIG9uZSBsaW5lCisrLlRQCisrLkkgXC1vCisrdXNlIHRoZSBvbGQgbG9nZmlsZQorKy5UUAorKy5JIFwtdAorK3RlcnNlIGRpc3BsYXkgZm9ybWF0CisrLlRQCisrLkkgXC1zCisrc2lsZW50IGluIGNhc2Ugb2Ygbm8gbWFpbAorKy5TSCBOT1RFUworK0N1c3RvbWlzZSB0byB5b3VyIGhlYXJ0J3MgY29udGVudCwgdGhpcyBwcm9ncmFtIGlzIG9ubHkgcHJvdmlkZWQgYXMgYQorK2d1aWRlbGluZS4KKysuU0ggQVVUSE9SCisrVGhpcyBtYW51YWwgcGFnZSB3YXMgd3JpdHRlbiBieSBTYW50aWFnbyBWaWxhIDxzYW52aWxhQGRlYmlhbi5vcmc+CisrZm9yIHRoZSBEZWJpYW4gR05VL0xpbnV4IGRpc3RyaWJ1dGlvbiAoYnV0IG1heSBiZSB1c2VkIGJ5IG90aGVycykuCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wcm9jbWFpbC9wcm9jbWFpbF8zLjIyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wcm9jbWFpbC9wcm9jbWFpbF8zLjIyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwNjM2NTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Byb2NtYWlsL3Byb2NtYWlsXzMuMjIuYmIKQEAgLTAsMCArMSw0NCBAQAorU1VNTUFSWSA9ICJNYWlsIHByb2Nlc3NpbmcgcHJvZ3JhbSIKK0RFU0NSSVBUSU9OID0gIlByb2NtYWlsIGNhbiBiZSB1c2VkIHRvIGNyZWF0ZSBtYWlsLXNlcnZlcnMsIG1haWxpbmcgbGlzdHMsIHNvcnQgeW91clwKK2luY29taW5nIG1haWwgaW50byBzZXBhcmF0ZSBmb2xkZXJzL2ZpbGVzIChyZWFsIGNvbnZlbmllbnQgd2hlbiBzdWJzY3JpYmluZ1wKK3RvIG9uZSBvciBtb3JlIG1haWxpbmcgbGlzdHMgb3IgZm9yIHByaW9yaXRpc2luZyB5b3VyIG1haWwpLCBwcmVwcm9jZXNzXAoreW91ciBtYWlsLCBzdGFydCBhbnkgcHJvZ3JhbXMgdXBvbiBtYWlsIGFycml2YWwgKGUuZy4gdG8gZ2VuZXJhdGUgZGlmZmVyZW50XAorY2hpbWVzIG9uIHlvdXIgd29ya3N0YXRpb24gZm9yIGRpZmZlcmVudCB0eXBlcyBvZiBtYWlsKSBvciBzZWxlY3RpdmVseVwKK2ZvcndhcmQgY2VydGFpbiBpbmNvbWluZyBtYWlsIGF1dG9tYXRpY2FsbHkgdG8gc29tZW9uZS4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnByb2NtYWlsLm9yZy8iCitTRUNUSU9OID0gIkFwcGxpY2F0aW9ucy9TeXN0ZW0iCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5yaW5nLmdyLmpwL2FyY2hpdmVzL25ldC9tYWlsLyR7QlBOfS8ke0JQfS50YXIuZ3ogXAorICAgIGZpbGU6Ly9mcm9tLWRlYmlhbi10by1maXgtY29tcGlsZS1lcnJvcnMucGF0Y2ggXAorICAgIGZpbGU6Ly9mcm9tLWRlYmlhbi10by1tb2RpZnktcGFyYW1ldGVycy5wYXRjaCBcCisgICAgZmlsZTovL2Zyb20tZGViaWFuLXRvLWZpeC1tYW4tZmlsZS5wYXRjaCBcCisgICAgZmlsZTovL21hbi1maWxlLW1haWxzdGF0LjEtZnJvbS1kZWJpYW4ucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiMTY3OGVhOTliOTczZWI3N2VkYTRlY2Y2YWNhZTUzZjEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDg3Yzc1YjM0ZGQzM2Q4YjlkZjVhZmU5ZTQyODAxYzkzOTVmNGJmMzczYTc4NGQ5YmM5NzE1M2IwMDYyZTExNyIKKworTElDRU5TRSA9ICJHUEwtMi4wICYgQXJ0aXN0aWMtMS4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTcxZTUwZTE5N2E5OTJjODYyMzc5ZTU3NmU2Njk3NTcgXAorICAgIGZpbGU6Ly9BcnRpc3RpYzttZDU9NTA1ZTAwZDAzYzM0MjhjZGUyMWIxN2IyYTM4NjU5MGUiCisKK0RFUEVORFMgPSAibGlibmV0IgoraW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCitkb19jb25maWd1cmUoKSB7CisgICAgZmluZCBleGFtcGxlcyAtdHlwZSBmIHwgeGFyZ3MgY2htb2QgNjQ0CisgICAgZXhwb3J0IENDPSIke0JVSUxEX0NDfSIKKyAgICBleHBvcnQgTEQ9IiR7QlVJTERfTER9IgorICAgIGV4cG9ydCBDRkxBR1M9IiR7QlVJTERfQ0ZMQUdTfSIKKyAgICBleHBvcnQgQVI9IiR7QlVJTERfQVJ9IgorICAgIGV4cG9ydCBBUz0iJHtCVUlMRF9BU30iCisgICAgbWFrZSBUQVJHRVRfQ0ZMQUdTPSIkVEFSR0VUX0NGTEFHUyAtRF9MQVJHRUZJTEVfU09VUkNFIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQiIGF1dG9jb25mLmgKK30KKworZG9fY29tcGlsZSgpIHsKKyAgICBvZV9ydW5tYWtlIC1pIFRBUkdFVF9DRkxBR1M9IiRUQVJHRVRfQ0ZMQUdTIC1Xbm8tY29tbWVudHMgLURfTEFSR0VGSUxFX1NPVVJDRSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IgorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7bWFuZGlyfS9tYW57MSw1fQorICAgIG9lX3J1bm1ha2UgLWkgQkFTRU5BTUU9JHtEfS91c3IgTUFORElSPSR7RH0ke21hbmRpcn0gaW5zdGFsbAorICAgIGluc3RhbGwgLW0gMDY0NCBkZWJpYW4vbWFpbHN0YXQuMSAke0R9JHttYW5kaXJ9L21hbjEKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHYvcHZfMS41LjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3B2L3B2XzEuNS4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlM2RkNjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3B2L3B2XzEuNS4zLmJiCkBAIC0wLDAgKzEsMTEgQEAKK1NVTU1BUlkgPSAiVGVybWluYWwtYmFzZWQgdG9vbCBmb3IgbW9uaXRvcmluZyB0aGUgcHJvZ3Jlc3Mgb2YgZGF0YSB0aHJvdWdoIGEgcGlwZWxpbmUiCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZG9jL0NPUFlJTkc7bWQ1PTljNTBkYjI1ODllZTNlZjEwYTliN2IyZTUwY2UxZDAyIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuaXZhcmNoLmNvbS9wcm9ncmFtcy9zb3VyY2VzL3B2LSR7UFZ9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiZWZlOGU5ZTRjYWQ1ZjMyNjRhMzIyNThhNjNiZjJjOGUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzZmMzk5OWIxYzNiMzAyNzE2M2RjZTZlZjY2N2NkZjhkYWZiNzUyMThlZTI1ZTU0YTAzYmZlNTkwNDc4ZjkwZSIKKworaW5oZXJpdCBhdXRvdG9vbHMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9weGFyZWdzL3B4YXJlZ3MtMS4xNC9NYWtlZmlsZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHhhcmVncy9weGFyZWdzLTEuMTQvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDBiN2Q1MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHhhcmVncy9weGFyZWdzLTEuMTQvTWFrZWZpbGUKQEAgLTAsMCArMSwzIEBACisKKworYWxsOiBweGFyZWdzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3B4YXJlZ3MvcHhhcmVncy0xLjE0L2kyYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHhhcmVncy9weGFyZWdzLTEuMTQvaTJjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2OTgzZWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3B4YXJlZ3MvcHhhcmVncy0xLjE0L2kyYy5wYXRjaApAQCAtMCwwICsxLDE1IEBACitJbmRleDogcHhhcmVncy0xLjE0L3B4YXJlZ3MuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHB4YXJlZ3MtMS4xNC5vcmlnL3B4YXJlZ3MuYworKysrIHB4YXJlZ3MtMS4xNC9weGFyZWdzLmMKK0BAIC0yMSwxMCArMjEsNiBAQAorICNpbmNsdWRlIDxmY250bC5oPgorICNpbmNsdWRlIDxjdHlwZS5oPgorIAorLSNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKy0jaW5jbHVkZSA8bGludXgvaTJjLWRldi5oPgorLQorLQorIC8vIGZkIGZvciAvZGV2L21lbQorIHN0YXRpYyBpbnQgZmQgPSAtMTsKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHhhcmVncy9weGFyZWdzLTEuMTQvbXVubWFwLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9weGFyZWdzL3B4YXJlZ3MtMS4xNC9tdW5tYXAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTljNGI5NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHhhcmVncy9weGFyZWdzLTEuMTQvbXVubWFwLnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKK0luZGV4OiBweGFyZWdzLTEuMTQvcHhhcmVncy5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcHhhcmVncy0xLjE0Lm9yaWcvcHhhcmVncy5jCisrKysgcHhhcmVncy0xLjE0L3B4YXJlZ3MuYworQEAgLTE3OTQsNyArMTc5NCw3IEBAIHN0YXRpYyBpbnQgZ2V0bWVtKHUzMiBhZGRyKQorICAgIHJlZ2FkZHIgPSBtYXAgKyAoYWRkciAmIE1BUF9NQVNLKTsKKyAKKyAgICB2YWwgPSAqKHUzMiopIHJlZ2FkZHI7CistICAgbXVubWFwKDAsTUFQX1NJWkUpOworKyAgIG11bm1hcChtYXAsTUFQX1NJWkUpOworIAorICAgIHJldHVybiB2YWw7CisgfQorQEAgLTE4MjksNyArMTgyOSw3IEBAIHN0YXRpYyB2b2lkIHB1dG1lbSh1MzIgYWRkciwgdTMyIHZhbCkKKyAgICByZWdhZGRyID0gbWFwICsgKGFkZHIgJiBNQVBfTUFTSyk7CisgCisgICAgKih1MzIqKSByZWdhZGRyID0gdmFsOworLSAgIG11bm1hcCgwLE1BUF9TSVpFKTsKKysgICBtdW5tYXAobWFwLE1BUF9TSVpFKTsKKyB9CisgCisgc3RhdGljIHUzMiBsYXN0YWRkciA9IDA7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3B4YXJlZ3MvcHhhcmVncy0xLjE0L3B4YXJlZ3MuYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHhhcmVncy9weGFyZWdzLTEuMTQvcHhhcmVncy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2MmU3NTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3B4YXJlZ3MvcHhhcmVncy0xLjE0L3B4YXJlZ3MuYwpAQCAtMCwwICsxLDE5NzUgQEAKKy8qCisgKiBweGFyZWdzIC0gdG9vbCB0byBkaXNwbGF5IGFuZCBtb2RpZnkgUFhBMjUwJ3MgcmVnaXN0ZXJzIGF0IHJ1bnRpbWUKKyAqCisgKiAoYykgQ29weXJpZ2h0IDIwMDIgYnkgTSZOIExvZ2lzdGlrLUzDtnN1bmdlbiBPbmxpbmUgR21iSAorICogc2V0IHVuZGVyIHRoZSBHUEx2MgorICoKKyAqICRJZDogcHhhcmVncy5jLHYgMS4xNCAyMDAzLzExLzEyIDEzOjE0OjQzIHNjaHVyaWcgRXhwICQKKyAqCisgKiBQbGVhc2Ugc2VuZCBwYXRjaGVzIHRvIGguc2NodXJpZywgd29ya2luZyBhdCBtbi1sb2dpc3Rpay5kZQorICogLSBhZGRlZCBmaXggZnJvbSBCZXJuaGFyZCBOZW1lYworICogLSBpMmMgcmVnaXN0ZXJzIGZyb20gU3RlZmFuIEVsZXR6aG9mZXIKKyovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN5cy9tbWFuLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisKKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMtZGV2Lmg+CisKKworLy8gZmQgZm9yIC9kZXYvbWVtCitzdGF0aWMgaW50IGZkID0gLTE7CisKK3R5cGVkZWYgdW5zaWduZWQgaW50IHUzMjsKKworc3RydWN0IHJlZ19pbmZvIHsKKyAgIGNoYXIgKm5hbWU7CisgICB1MzIgYWRkcjsKKyAgIGludCBzaGlmdDsKKyAgIHUzMiBtYXNrOworICAgY2hhciB0eXBlOworICAgY2hhciAqZGVzYzsKK307CisKKworc3RhdGljIHN0cnVjdCByZWdfaW5mbyByZWdzW10gPSB7Cit7ICJJQk1SIiwgICAgICAweDQwMzAxNjgwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiSTJDIEJ1cyBNb25pdG9yIFJlZ2lzdGVyIiB9LAoreyAiSUJNUl9TREFTIiwgMHg0MDMwMTY4MCwgIDAsIDB4MDAwMDAwMDEsICd4JywgIlNEQSBTdGF0dXMiIH0sCit7ICJJQk1SX1NDTFMiLCAweDQwMzAxNjgwLCAgMSwgMHgwMDAwMDAwMSwgJ3gnLCAiU0RBIFN0YXR1cyIgfSwKKworeyAiSURCUiIsICAgICAgMHg0MDMwMTY4OCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkkyQyBEYXRhIEJ1ZmZlciBSZWdpc3RlciIgfSwKK3sgIklEQlJfSURCIiwgIDB4NDAzMDE2ODgsICAwLCAweDAwMDAwMGZmLCAneCcsICJJMkMgRGF0YSBCdWZmZXIiIH0sCisKK3sgIklDUiIsICAgICAgIDB4NDAzMDE2OTAsICAwLCAweGZmZmZmZmZmLCAneCcsICJJMkMgQ29udHJvbCBSZWdpc3RlciIgfSwKK3sgIklDUl9TVEFSVCIsIDB4NDAzMDE2OTAsICAwLAkxLCAneCcsICAiIHN0YXJ0IGJpdCAiIH0sCit7ICJJQ1JfU1RPUCIsICAweDQwMzAxNjkwLCAgMSwJMSwgJ3gnLCAgIiBzdG9wIGJpdCAiIH0sCit7ICJJQ1JfQUNLTkFLIiwweDQwMzAxNjkwLCAgMiwJMSwgJ3gnLCAgIiBzZW5kIEFDSygwKSBvciBOQUsoMSkiIH0sCit7ICJJQ1JfVEIiLCAgICAweDQwMzAxNjkwLCAgMywJMSwgJ3gnLCAgIiB0cmFuc2ZlciBieXRlIGJpdCAiIH0sCit7ICJJQ1JfTUEiLCAgICAweDQwMzAxNjkwLCAgNCwJMSwgJ3gnLCAgIiBtYXN0ZXIgYWJvcnQgIiB9LAoreyAiSUNSX1NDTEUiLCAgMHg0MDMwMTY5MCwgIDUsCTEsICd4JywgICIgbWFzdGVyIGNsb2NrIGVuYWJsZSAiIH0sCit7ICJJQ1JfSVVFIiwgICAweDQwMzAxNjkwLCAgNiwJMSwgJ3gnLCAgIiB1bml0IGVuYWJsZSAiIH0sCit7ICJJQ1JfR0NEIiwgICAweDQwMzAxNjkwLCAgNywJMSwgJ3gnLCAgIiBnZW5lcmFsIGNhbGwgZGlzYWJsZSAiIH0sCit7ICJJQ1JfSVRFSUUiLCAweDQwMzAxNjkwLCAgOCwJMSwgJ3gnLCAgIiBlbmFibGUgdHggaW50ZXJydXB0cyAiIH0sCit7ICJJQ1JfSVJGSUUiLCAweDQwMzAxNjkwLCAgOSwJMSwgJ3gnLCAgIiBlbmFibGUgcnggaW50ZXJydXB0cyAiIH0sCit7ICJJQ1JfQkVJRSIsICAweDQwMzAxNjkwLCAgMTAsCTEsICd4JywgICIgZW5hYmxlIGJ1cyBlcnJvciBpbnRzICIgfSwKK3sgIklDUl9TU0RJRSIsIDB4NDAzMDE2OTAsICAxMSwJMSwgJ3gnLCAgIiBzbGF2ZSBTVE9QIGRldGVjdGVkIGludCBlbmFibGUgIiB9LAoreyAiSUNSX0FMRElFIiwgMHg0MDMwMTY5MCwgIDEyLAkxLCAneCcsICAiIGVuYWJsZSBhcmJpdHJhdGlvbiBpbnRlcnJ1cHQgIiB9LAoreyAiSUNSX1NBRElFIiwgMHg0MDMwMTY5MCwgIDEzLAkxLCAneCcsICAiIHNsYXZlIGFkZHJlc3MgZGV0ZWN0ZWQgaW50IGVuYWJsZSAiIH0sCit7ICJJQ1JfVVIiLCAgICAweDQwMzAxNjkwLCAgMTQsIDEsICd4JywgICIgdW5pdCByZXNldCAiIH0sCit7ICJJQ1JfRk0iLCAgICAweDQwMzAxNjkwLCAgMTUsIDEsICd4JywgICIgZmFzdCBtb2RlICIgfSwKKworeyAiSVNSIiwgICAgICAgMHg0MDMwMTY5OCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiSTJDIFN0YXR1cyBSZWdpc3RlciIgfSwKK3sgIklTUl9SV00iLCAgIDB4NDAzMDE2OTgsIDAsIDEsICd4JywgIiByZWFkL3dyaXRlIG1vZGUgIiB9LAoreyAiSVNSX0FDS05BSyIsMHg0MDMwMTY5OCwgMSwgMSwgJ3gnLCAiIGFjay9uYWsgc3RhdHVzICIgfSwKK3sgIklTUl9VQiIsICAgIDB4NDAzMDE2OTgsIDIsIDEsICd4JywgIiB1bml0IGJ1c3kgIiB9LAoreyAiSVNSX0lCQiIsICAgMHg0MDMwMTY5OCwgMywgMSwgJ3gnLCAiIGJ1cyBidXN5ICIgfSwKK3sgIklTUl9TU0QiLCAgIDB4NDAzMDE2OTgsIDQsIDEsICd4JywgIiBzbGF2ZSBzdG9wIGRldGVjdGVkICIgfSwKK3sgIklTUl9BTEQiLCAgIDB4NDAzMDE2OTgsIDUsIDEsICd4JywgIiBhcmJpdHJhdGlvbiBsb3NzIGRldGVjdGVkICIgfSwKK3sgIklTUl9JVEUiLCAgIDB4NDAzMDE2OTgsIDYsIDEsICd4JywgIiB0eCBidWZmZXIgZW1wdHkgIiB9LAoreyAiSVNSX0lSRiIsICAgMHg0MDMwMTY5OCwgNywgMSwgJ3gnLCAiIHJ4IGJ1ZmZlciBmdWxsICIgfSwKK3sgIklTUl9HQ0FEIiwgIDB4NDAzMDE2OTgsIDgsIDEsICd4JywgIiBnZW5lcmFsIGNhbGwgYWRkcmVzcyBkZXRlY3RlZCAiIH0sCit7ICJJU1JfU0FEIiwgICAweDQwMzAxNjk4LCA5LCAxLCAneCcsICIgc2xhdmUgYWRkcmVzcyBkZXRlY3RlZCAiIH0sCit7ICJJU1JfQkVEIiwgICAweDQwMzAxNjk4LCAxMCwgMSwgJ3gnLCAiIGJ1cyBlcnJvciBubyBBQ0svTkFLICIgfSwKKworeyAiSVNBUiIsICAgICAgMHg0MDMwMTZBMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkkyQyBTbGF2ZSBBZGRyZXNzIFJlZ2lzdGVyIiB9LAoreyAiSVNBUl9TQSIsICAgMHg0MDMwMTZBMCwgIDAsIDB4MDAwMDAwN2YsICd4JywgIkkyQyBTbGF2ZSBBZGRyZXNzIiB9LAorCit7ICJQTUNSIiwgICAgICAweDQwRjAwMDAwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiUG93ZXIgTWFuYWdlciBDb250cm9sIFJlZ2lzdGVyICgzLTIzKSIgfSwKK3sgIlBNQ1JfSURBRSIsIDB4NDBGMDAwMDAsICAwLCAweDAwMDAwMDAxLCAnZCcsICJQTSBpbXByZWNpc2UgZGF0YSBhYm9ydCBhYm9ydCBzaWduYWwiIH0sCisKK3sgIlBTU1IiLCAgICAgIDB4NDBGMDAwMDQsICAwLCAweGZmZmZmZmZmLCAneCcsICJQb3dlciBNYW5hZ2VyIFNsZWVwIFN0YXR1cyBSZWdpc3RlciAoMy0yOSkiIH0sCit7ICJQU1NSX1NTUyIsICAweDQwRjAwMDA0LCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gY2hpcCB3YXMgaW4gc2xlZXAgYnkgc2V0dGluZyBzbGVlcCBtb2RlIGJpdCIgfSwKK3sgIlBTU1JfQkZTIiwgIDB4NDBGMDAwMDQsICAxLCAweDAwMDAwMDAxLCAnZCcsICJQTSBuQkFUVF9GQVVMVCBoYXMgYmVlbiBhc3NlcnRlZCIgfSwKK3sgIlBTU1JfVkZTIiwgIDB4NDBGMDAwMDQsICAyLCAweDAwMDAwMDAxLCAnZCcsICJQTSBuVkREX0ZBVUxUIHdhcyBhc3NlcnRlZCB3aGlsZSBpbiBSdW4gb3IgSWRsZSIgfSwKK3sgIlBTU1JfUEgiLCAgIDB4NDBGMDAwMDQsICA0LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbnMgYXJlIGhlbGQgaW4gdGhlaXIgc2xlZXAgc3RhdGUiIH0sCit7ICJQU1NSX1JESCIsICAweDQwRjAwMDA0LCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gcmVjZWl2ZXJzIG9mIGFsbCBpbnB1dCBHUElPIGFyZSBkaXNhYmxlZCIgfSwKKworeyAiUFNQUiIsICAgICAgMHg0MEYwMDAwOCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIlBvd2VyIE1hbmFnZXIgU2NyYXRjaCBQYWQgUmVnaXN0ZXIgKDMtMzApIiB9LAorCit7ICJQV0VSIiwgICAgICAweDQwRjAwMDBDLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiUG93ZXIgTWFuYWdlciBXYWtlLVVwIEVuYWJsZSBSZWdpc3RlciAoMy0yNSkiIH0sCit7ICJQV0VSX1dFMCIsICAweDQwRjAwMDBDLCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyAwIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQV0VSX1dFMSIsICAweDQwRjAwMDBDLCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyAxIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQV0VSX1dFMiIsICAweDQwRjAwMDBDLCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyAyIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQV0VSX1dFMyIsICAweDQwRjAwMDBDLCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyAzIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQV0VSX1dFNCIsICAweDQwRjAwMDBDLCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyA0IGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQV0VSX1dFNSIsICAweDQwRjAwMDBDLCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyA1IGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQV0VSX1dFNiIsICAweDQwRjAwMDBDLCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyA2IGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQV0VSX1dFNyIsICAweDQwRjAwMDBDLCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyA3IGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQV0VSX1dFOCIsICAweDQwRjAwMDBDLCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyA4IGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQV0VSX1dFOSIsICAweDQwRjAwMDBDLCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyA5IGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQV0VSX1dFMTAiLCAweDQwRjAwMDBDLCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTzEwIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQV0VSX1dFMTEiLCAweDQwRjAwMDBDLCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTzExIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQV0VSX1dFMTIiLCAweDQwRjAwMDBDLCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTzEyIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQV0VSX1dFMTMiLCAweDQwRjAwMDBDLCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTzEzIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQV0VSX1dFMTQiLCAweDQwRjAwMDBDLCAxNCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTzE0IGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQV0VSX1dFMTUiLCAweDQwRjAwMDBDLCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTzE1IGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQV0VSX1dFUlRDIiwweDQwRjAwMDBDLCAzMSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gUlRDIGFsYXJtIGVuYWJsZWQiIH0sCisKK3sgIlBSRVIiLCAgICAgIDB4NDBGMDAwMTAsICAwLCAweGZmZmZmZmZmLCAneCcsICJQb3dlciBNYW5hZ2VyIFJpc2luZyBFZGdlIERldGVjdCBFbmFibGUgUmVnaXN0ZXIgKDMtMjYpIiB9LAoreyAiUFJFUl9SRTAiLCAgMHg0MEYwMDAxMCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8gMCByaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBSRVJfUkUxIiwgIDB4NDBGMDAwMTAsICAxLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDEgcmlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQUkVSX1JFMiIsICAweDQwRjAwMDEwLCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyAyIHJpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUFJFUl9SRTMiLCAgMHg0MEYwMDAxMCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8gMyByaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBSRVJfUkU0IiwgIDB4NDBGMDAwMTAsICA0LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDQgcmlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQUkVSX1JFNSIsICAweDQwRjAwMDEwLCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyA1IHJpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUFJFUl9SRTYiLCAgMHg0MEYwMDAxMCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8gNiByaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBSRVJfUkU3IiwgIDB4NDBGMDAwMTAsICA3LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDcgcmlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQUkVSX1JFOCIsICAweDQwRjAwMDEwLCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyA4IHJpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUFJFUl9SRTkiLCAgMHg0MEYwMDAxMCwgIDksIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8gOSByaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBSRVJfUkUxMCIsIDB4NDBGMDAwMTAsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPMTAgcmlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQUkVSX1JFMTEiLCAweDQwRjAwMDEwLCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTzExIHJpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUFJFUl9SRTEyIiwgMHg0MEYwMDAxMCwgMTIsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8xMiByaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBSRVJfUkUxMyIsIDB4NDBGMDAwMTAsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPMTMgcmlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQUkVSX1JFMTQiLCAweDQwRjAwMDEwLCAxNCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTzE0IHJpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUFJFUl9SRTE1IiwgMHg0MEYwMDAxMCwgMTUsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8xNSByaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKKworeyAiUEZFUiIsICAgICAgMHg0MEYwMDAxNCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIlBvd2VyIE1hbmFnZXIgRmFsbGluZyBEZXRlY3QgRW5hYmxlIFJlZ2lzdGVyICgzLTI3KSIgfSwKK3sgIlBGRVJfRkUwIiwgIDB4NDBGMDAwMTQsICAwLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDAgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUEZFUl9GRTEiLCAgMHg0MEYwMDAxNCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8gMSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQRkVSX0ZFMiIsICAweDQwRjAwMDE0LCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyAyIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBGRVJfRkUzIiwgIDB4NDBGMDAwMTQsICAzLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDMgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUEZFUl9GRTQiLCAgMHg0MEYwMDAxNCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8gNCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQRkVSX0ZFNSIsICAweDQwRjAwMDE0LCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyA1IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBGRVJfRkU2IiwgIDB4NDBGMDAwMTQsICA2LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDYgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUEZFUl9GRTciLCAgMHg0MEYwMDAxNCwgIDcsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8gNyBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQRkVSX0ZFOCIsICAweDQwRjAwMDE0LCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyA4IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBGRVJfRkU5IiwgIDB4NDBGMDAwMTQsICA5LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDkgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUEZFUl9GRTEwIiwgMHg0MEYwMDAxNCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8xMCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQRkVSX0ZFMTEiLCAweDQwRjAwMDE0LCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTzExIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBGRVJfRkUxMiIsIDB4NDBGMDAwMTQsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPMTIgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUEZFUl9GRTEzIiwgMHg0MEYwMDAxNCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8xMyBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQRkVSX0ZFMTQiLCAweDQwRjAwMDE0LCAxNCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTzE0IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBGRVJfRkUxNSIsIDB4NDBGMDAwMTQsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPMTUgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAorCit7ICJQRURSIiwgICAgICAweDQwRjAwMDE4LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiUG93ZXIgTWFuYWdlciBFZGdlIERldGVjdCBTdGF0dXMgUmVnaXN0ZXIgKDMtMjgpIiB9LAoreyAiUEVEUl9FRDAiLCAgMHg0MEYwMDAxOCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIGVkZ2Ugb24gR1BJTyAwIGRldGVjdGVkIiB9LAoreyAiUEVEUl9FRDEiLCAgMHg0MEYwMDAxOCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIGVkZ2Ugb24gR1BJTyAxIGRldGVjdGVkIiB9LAoreyAiUEVEUl9FRDIiLCAgMHg0MEYwMDAxOCwgIDIsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIGVkZ2Ugb24gR1BJTyAyIGRldGVjdGVkIiB9LAoreyAiUEVEUl9FRDMiLCAgMHg0MEYwMDAxOCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIGVkZ2Ugb24gR1BJTyAzIGRldGVjdGVkIiB9LAoreyAiUEVEUl9FRDQiLCAgMHg0MEYwMDAxOCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIGVkZ2Ugb24gR1BJTyA0IGRldGVjdGVkIiB9LAoreyAiUEVEUl9FRDUiLCAgMHg0MEYwMDAxOCwgIDUsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIGVkZ2Ugb24gR1BJTyA1IGRldGVjdGVkIiB9LAoreyAiUEVEUl9FRDYiLCAgMHg0MEYwMDAxOCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIGVkZ2Ugb24gR1BJTyA2IGRldGVjdGVkIiB9LAoreyAiUEVEUl9FRDciLCAgMHg0MEYwMDAxOCwgIDcsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIGVkZ2Ugb24gR1BJTyA3IGRldGVjdGVkIiB9LAoreyAiUEVEUl9FRDgiLCAgMHg0MEYwMDAxOCwgIDgsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIGVkZ2Ugb24gR1BJTyA4IGRldGVjdGVkIiB9LAoreyAiUEVEUl9FRDkiLCAgMHg0MEYwMDAxOCwgIDksIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIGVkZ2Ugb24gR1BJTyA5IGRldGVjdGVkIiB9LAoreyAiUEVEUl9FRDEwIiwgMHg0MEYwMDAxOCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIGVkZ2Ugb24gR1BJTzEwIGRldGVjdGVkIiB9LAoreyAiUEVEUl9FRDExIiwgMHg0MEYwMDAxOCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIGVkZ2Ugb24gR1BJTzExIGRldGVjdGVkIiB9LAoreyAiUEVEUl9FRDEyIiwgMHg0MEYwMDAxOCwgMTIsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIGVkZ2Ugb24gR1BJTzEyIGRldGVjdGVkIiB9LAoreyAiUEVEUl9FRDEzIiwgMHg0MEYwMDAxOCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIGVkZ2Ugb24gR1BJTzEzIGRldGVjdGVkIiB9LAoreyAiUEVEUl9FRDE0IiwgMHg0MEYwMDAxOCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIGVkZ2Ugb24gR1BJTzE0IGRldGVjdGVkIiB9LAoreyAiUEVEUl9FRDE1IiwgMHg0MEYwMDAxOCwgMTUsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIGVkZ2Ugb24gR1BJTzE1IGRldGVjdGVkIiB9LAorCit7ICJQQ0ZSIiwgICAgICAweDQwRjAwMDFDLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiUG93ZXIgTWFuYWdlciBHZW5lcmFsIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKDMtMjQpIiB9LAoreyAiUENGUl9PUERFIiwgMHg0MEYwMDAxQywgIDAsIDB4MDAwMDAwMDEsICdkJywgIlBNIHN0b3AgMy42ODY0IE1IeiBvc2NpbGxhdG9yIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBDRlJfRlAiLCAgIDB4NDBGMDAwMUMsICAxLCAweDAwMDAwMDAxLCAnZCcsICJQTSBQQ01DSUEgc2lnbmFscyBmbG9hdCBkdXJpbmcgc2xlZXAiIH0sCit7ICJQQ0ZSX0ZTIiwgICAweDQwRjAwMDFDLCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gc3RhdGljIGNoaXAgc2VsZWN0IHNpZ25hbHMgZmxvYXQgZHVyaW5nIHNsZWVwIiB9LAorCit7ICJQR1NSMCIsICAgICAweDQwRjAwMDIwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiUG93ZXIgTWFuYWdlciBHUElPIFNsZWVwIFN0YXRlIFJlZ2lzdGVyIDAgKDMtMzIpIiB9LAoreyAiUEdTUl9TUzAiLCAgMHg0MEYwMDAyMCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDAgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzEiLCAgMHg0MEYwMDAyMCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDEgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzIiLCAgMHg0MEYwMDAyMCwgIDIsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDIgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzMiLCAgMHg0MEYwMDAyMCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDMgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzQiLCAgMHg0MEYwMDAyMCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDQgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzUiLCAgMHg0MEYwMDAyMCwgIDUsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDUgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzYiLCAgMHg0MEYwMDAyMCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDYgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzciLCAgMHg0MEYwMDAyMCwgIDcsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDcgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzgiLCAgMHg0MEYwMDAyMCwgIDgsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDggaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzkiLCAgMHg0MEYwMDAyMCwgIDksIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDkgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzEwIiwgMHg0MEYwMDAyMCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDEwIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MxMSIsIDB4NDBGMDAwMjAsIDExLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAxMSBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMTIiLCAweDQwRjAwMDIwLCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMTIgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzEzIiwgMHg0MEYwMDAyMCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDEzIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MxNCIsIDB4NDBGMDAwMjAsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAxNCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMTUiLCAweDQwRjAwMDIwLCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMTUgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzE2IiwgMHg0MEYwMDAyMCwgMTYsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDE2IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MxNyIsIDB4NDBGMDAwMjAsIDE3LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAxNyBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMTgiLCAweDQwRjAwMDIwLCAxOCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMTggaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzE5IiwgMHg0MEYwMDAyMCwgMTksIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDE5IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MyMCIsIDB4NDBGMDAwMjAsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAyMCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMjEiLCAweDQwRjAwMDIwLCAyMSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMjEgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzIyIiwgMHg0MEYwMDAyMCwgMjIsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDIyIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MyMyIsIDB4NDBGMDAwMjAsIDIzLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAyMyBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMjQiLCAweDQwRjAwMDIwLCAyNCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMjQgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzI1IiwgMHg0MEYwMDAyMCwgMjUsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDI1IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MyNiIsIDB4NDBGMDAwMjAsIDI2LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAyNiBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMjciLCAweDQwRjAwMDIwLCAyNywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMjcgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzI4IiwgMHg0MEYwMDAyMCwgMjgsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDI4IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MyOSIsIDB4NDBGMDAwMjAsIDI5LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAyOSBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMzAiLCAweDQwRjAwMDIwLCAzMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMzAgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzMxIiwgMHg0MEYwMDAyMCwgMzEsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDMxIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKKworeyAiUEdTUjEiLCAgICAgMHg0MEYwMDAyNCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIlBvd2VyIE1hbmFnZXIgR1BJTyBTbGVlcCBTdGF0ZSBSZWdpc3RlciAxICgzLTMyKSIgfSwKK3sgIlBHU1JfU1MzMiIsIDB4NDBGMDAwMjQsICAwLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAzMiBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMzMiLCAweDQwRjAwMDI0LCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMzMgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzM0IiwgMHg0MEYwMDAyNCwgIDIsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDM0IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MzNSIsIDB4NDBGMDAwMjQsICAzLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAzNSBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMzYiLCAweDQwRjAwMDI0LCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMzYgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzM3IiwgMHg0MEYwMDAyNCwgIDUsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDM3IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MzOCIsIDB4NDBGMDAwMjQsICA2LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAzOCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMzkiLCAweDQwRjAwMDI0LCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMzkgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzQwIiwgMHg0MEYwMDAyNCwgIDgsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDQwIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M0MSIsIDB4NDBGMDAwMjQsICA5LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA0MSBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNDIiLCAweDQwRjAwMDI0LCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNDIgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzQzIiwgMHg0MEYwMDAyNCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDQzIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M0NCIsIDB4NDBGMDAwMjQsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA0NCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNDUiLCAweDQwRjAwMDI0LCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNDUgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzQ2IiwgMHg0MEYwMDAyNCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDQ2IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M0NyIsIDB4NDBGMDAwMjQsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA0NyBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNDgiLCAweDQwRjAwMDI0LCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNDggaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzQ5IiwgMHg0MEYwMDAyNCwgMTcsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDQ5IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M1MCIsIDB4NDBGMDAwMjQsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA1MCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNTEiLCAweDQwRjAwMDI0LCAxOSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNTEgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzUyIiwgMHg0MEYwMDAyNCwgMjAsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDUyIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M1MyIsIDB4NDBGMDAwMjQsIDIxLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA1MyBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNTQiLCAweDQwRjAwMDI0LCAyMiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNTQgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzU1IiwgMHg0MEYwMDAyNCwgMjMsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDU1IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M1NiIsIDB4NDBGMDAwMjQsIDI0LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA1NiBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNTciLCAweDQwRjAwMDI0LCAyNSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNTcgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzU4IiwgMHg0MEYwMDAyNCwgMjYsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDU4IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M1OSIsIDB4NDBGMDAwMjQsIDI3LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA1OSBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNjAiLCAweDQwRjAwMDI0LCAyOCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNjAgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzYxIiwgMHg0MEYwMDAyNCwgMjksIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDYxIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M2MiIsIDB4NDBGMDAwMjQsIDMwLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA2MiBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNjMiLCAweDQwRjAwMDI0LCAzMSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNjMgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAorCit7ICJQR1NSMiIsICAgICAweDQwRjAwMDI4LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiUG93ZXIgTWFuYWdlciBHUElPIFNsZWVwIFN0YXRlIFJlZ2lzdGVyIDIgKDMtMzMpIiB9LAoreyAiUEdTUl9TUzY0IiwgMHg0MEYwMDAyOCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDY0IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M2NSIsIDB4NDBGMDAwMjgsICAxLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA2NSBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNjYiLCAweDQwRjAwMDI4LCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNjYgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzY3IiwgMHg0MEYwMDAyOCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDY3IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M2OCIsIDB4NDBGMDAwMjgsICA0LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA2OCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNjkiLCAweDQwRjAwMDI4LCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNjkgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzcwIiwgMHg0MEYwMDAyOCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDcwIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M3MSIsIDB4NDBGMDAwMjgsICA3LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA3MSBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNzIiLCAweDQwRjAwMDI4LCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNzIgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzczIiwgMHg0MEYwMDAyOCwgIDksIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDczIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M3NCIsIDB4NDBGMDAwMjgsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA3NCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNzUiLCAweDQwRjAwMDI4LCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNzUgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzc2IiwgMHg0MEYwMDAyOCwgMTIsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDc2IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M3NyIsIDB4NDBGMDAwMjgsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA3NyBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNzgiLCAweDQwRjAwMDI4LCAxNCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNzggaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzc5IiwgMHg0MEYwMDAyOCwgMTUsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDc5IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M4MCIsIDB4NDBGMDAwMjgsIDE2LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA4MCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCisKK3sgIlJDU1IiLCAgICAgIDB4NDBGMDAwMzAsICAwLCAweGZmZmZmZmZmLCAneCcsICJQb3dlciBNYW5hZ2VyIFJlc2V0IENvbnRyb2xsZXIgU3RhdHVzIFJlZ2lzdGVyICgzLTM0KSIgfSwKK3sgIlJDU1JfSFdSIiwgIDB4NDBGMDAwMzAsICAwLCAweDAwMDAwMDAxLCAnZCcsICJQTSBoYXJkd2FyZSByZXNldCBvY2N1cnJlZCIgfSwKK3sgIlJDU1JfV0RSIiwgIDB4NDBGMDAwMzAsICAxLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YXRjaGRvZyByZXNldCBvY2N1cnJlZCIgfSwKK3sgIlJDU1JfU01SIiwgIDB4NDBGMDAwMzAsICAyLCAweDAwMDAwMDAxLCAnZCcsICJQTSBzbGVlcCBtb2RlIG9jY3VycmVkIiB9LAoreyAiUkNTUl9HRlIiLCAgMHg0MEYwMDAzMCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcmVzZXQgIG9jY3VycmVkIiB9LAorCisvLyBQWEEyNTUKK3sgIlBNRlciLCAgICAgIDB4NDBGMDAwMzQsICAwLCAweGZmZmZmZmZmLCAneCcsICJQb3dlciBNYW5hZ2VyIEZhc3QgU2xlZXAgV2FrZXVwIFJlZ2lzdGVyICgzLTMxKSIgfSwKK3sgIlBNRldfRldBS0UiLDB4NDBGMDAwMzQsICAxLCAweDAwMDAwMDAxLCAneCcsICJGYXN0IFdha2V1cCBFbmFibGUiIH0sCisKK3sgIkNDQ1IiLCAgICAgIDB4NDEzMDAwMDAsICAwLCAweGZmZmZmZmZmLCAneCcsICJDb3JlIENsb2NrIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKDMtMzUpIiB9LAoreyAiQ0NDUl9MIiwgICAgMHg0MTMwMDAwMCwgIDAsIDB4MDAwMDAwMWYsICd4JywgIkNNIGNyeXN0YWwgZnJlcSB0byBtZW1vcnkgZnJlcSBtdWx0aXBsaWVyIiB9LAoreyAiQ0NDUl9NIiwgICAgMHg0MTMwMDAwMCwgIDUsIDB4MDAwMDAwMDMsICd4JywgIkNNIG1lbW9yeSBmcmVxIHRvIHJ1biBtb2RlIGZyZXEgbXVsdGlwbGllciIgfSwKK3sgIkNDQ1JfTiIsICAgIDB4NDEzMDAwMDAsICA3LCAweDAwMDAwMDA3LCAneCcsICJDTSBydW4gbW9kZSBmcmVxIHRvIHR1cmJvIGZyZXEgbXVsdGlwbGllciIgfSwKKworeyAiQ0tFTiIsICAgICAgMHg0MTMwMDAwNCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkNsb2NrIEVuYWJsZSBSZWdpc3RlciAoMy0zNikiIH0sCit7ICJDS0VOXzAiLCAgICAweDQxMzAwMDA0LCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiQ00gUFdNMCBjbG9jayBlbmFibGVkIiB9LAoreyAiQ0tFTl8xIiwgICAgMHg0MTMwMDAwNCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIkNNIFBXTTEgY2xvY2sgZW5hYmxlZCIgfSwKK3sgIkNLRU5fMiIsICAgIDB4NDEzMDAwMDQsICAyLCAweDAwMDAwMDAxLCAnZCcsICJDTSBBQzk3IGNsb2NrIGVuYWJsZWQiIH0sCit7ICJDS0VOXzMiLCAgICAweDQxMzAwMDA0LCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiQ00gU1NQIGNsb2NrIGVuYWJsZWQiIH0sCit7ICJDS0VOXzUiLCAgICAweDQxMzAwMDA0LCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiQ00gU1RVQVJUIGNsb2NrIGVuYWJsZWQiIH0sCit7ICJDS0VOXzYiLCAgICAweDQxMzAwMDA0LCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiQ00gRkZVQVJUIGNsb2NrIGVuYWJsZWQiIH0sCit7ICJDS0VOXzciLCAgICAweDQxMzAwMDA0LCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiQ00gQlRVQVJUIGNsb2NrIGVuYWJsZWQiIH0sCit7ICJDS0VOXzgiLCAgICAweDQxMzAwMDA0LCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiQ00gSTJTIGNsb2NrIGVuYWJsZWQiIH0sCit7ICJDS0VOXzExIiwgICAweDQxMzAwMDA0LCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiQ00gVVNCIGNsb2NrIGVuYWJsZWQiIH0sCit7ICJDS0VOXzEyIiwgICAweDQxMzAwMDA0LCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiQ00gTU1DIGNsb2NrIGVuYWJsZWQiIH0sCit7ICJDS0VOXzEzIiwgICAweDQxMzAwMDA0LCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiQ00gRklQQyBjbG9jayBlbmFibGVkIiB9LAoreyAiQ0tFTl8xNCIsICAgMHg0MTMwMDAwNCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIkNNIEkyQyBjbG9jayBlbmFibGVkIiB9LAoreyAiQ0tFTl8xNiIsICAgMHg0MTMwMDAwNCwgMTYsIDB4MDAwMDAwMDEsICdkJywgIkNNIExDRCBjbG9jayBlbmFibGVkIiB9LAorCit7ICJPU0NDIiwgICAgICAweDQxMzAwMDA4LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiT3NjaWxsYXRvciBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICgzLTM4KSIgfSwKK3sgIk9TQ0NfT09LIiwgIDB4NDEzMDAwMDgsICAwLCAweDAwMDAwMDAxLCAnZCcsICJDTSAzMi43Njgga0h6IG9zY2lsbGF0b3IgZW5hYmxlZCBhbmQgc3RhYmlsaXplZCIgfSwKK3sgIk9TQ0NfT09OIiwgIDB4NDEzMDAwMDgsICAxLCAweDAwMDAwMDAxLCAnZCcsICJDTSAzMi43Njgga0h6IG9zY2lsbGF0b3IgZW5hYmxlZCIgfSwKKworLy8gVE9ETzogQ1AxNC1SZWdpc3RlcnMgKDMtMzcpCisKK3sgIkdQTFIwIiwgICAgMHg0MEUwMDAwMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gUGluIExldmVsIFJlZ2lzdGVyIDAgKDQtNykiIH0sCisjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9SQU1TRVMpCit7ICJHUExSMF8wIiwgIDB4NDBFMDAwMDAsICAwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDAgKG5jKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzEiLCAgMHg0MEUwMDAwMCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMSAoblBGSSkgbGV2ZWwiIH0sCit7ICJHUExSMF8yIiwgIDB4NDBFMDAwMDAsICAyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIgKEJBVF9EQVRBKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzMiLCAgMHg0MEUwMDAwMCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMyAoSVJRX0tFWSkgbGV2ZWwiIH0sCit7ICJHUExSMF80IiwgIDB4NDBFMDAwMDAsICA0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQgKElSUV9FVEgpIGxldmVsIiB9LAoreyAiR1BMUjBfNSIsICAweDQwRTAwMDAwLCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1IChuYykgbGV2ZWwiIH0sCit7ICJHUExSMF82IiwgIDB4NDBFMDAwMDAsICA2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYgKE1NQ19DTEspIGxldmVsIiB9LAoreyAiR1BMUjBfNyIsICAweDQwRTAwMDAwLCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3IChJUlFfR1NNKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzgiLCAgMHg0MEUwMDAwMCwgIDgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gOCAoblBDQ19TMV9DRCkgbGV2ZWwiIH0sCit7ICJHUExSMF85IiwgIDB4NDBFMDAwMDAsICA5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDkgKE1NQ19DRCkgbGV2ZWwiIH0sCit7ICJHUExSMF8xMCIsIDB4NDBFMDAwMDAsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEwIChJUlFfUlRDKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzExIiwgMHg0MEUwMDAwMCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTEgKG5jIDNNNikgbGV2ZWwiIH0sCit7ICJHUExSMF8xMiIsIDB4NDBFMDAwMDAsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEyIChuYykgbGV2ZWwiIH0sCit7ICJHUExSMF8xMyIsIDB4NDBFMDAwMDAsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEzIChJUlFfRE9DSykgbGV2ZWwiIH0sCit7ICJHUExSMF8xNCIsIDB4NDBFMDAwMDAsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE0IChuYykgbGV2ZWwiIH0sCit7ICJHUExSMF8xNSIsIDB4NDBFMDAwMDAsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE1IChuQ1MxKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzE2IiwgMHg0MEUwMDAwMCwgMTYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTYgKFBXTTApIGxldmVsIiB9LAoreyAiR1BMUjBfMTciLCAweDQwRTAwMDAwLCAxNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxNyAoUFdNMSkgbGV2ZWwiIH0sCit7ICJHUExSMF8xOCIsIDB4NDBFMDAwMDAsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE4IChSRFkpIGxldmVsIiB9LAoreyAiR1BMUjBfMTkiLCAweDQwRTAwMDAwLCAxOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxOSAobmMgblBDQ19TMF9JUlEpIGxldmVsIiB9LAoreyAiR1BMUjBfMjAiLCAweDQwRTAwMDAwLCAyMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyMCAobmMpIGxldmVsIiB9LAoreyAiR1BMUjBfMjEiLCAweDQwRTAwMDAwLCAyMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyMSAoQUM5N19JUlEpIGxldmVsIiB9LAoreyAiR1BMUjBfMjIiLCAweDQwRTAwMDAwLCAyMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyMiAoblBDQ19TMV9JUlEpIGxldmVsIiB9LAoreyAiR1BMUjBfMjMiLCAweDQwRTAwMDAwLCAyMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyMyAoVUFSVF9JTlRBKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzI0IiwgMHg0MEUwMDAwMCwgMjQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjQgKFVBUlRfSU5UQikgbGV2ZWwiIH0sCit7ICJHUExSMF8yNSIsIDB4NDBFMDAwMDAsIDI1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI1IChVQVJUX0lOVEMpIGxldmVsIiB9LAoreyAiR1BMUjBfMjYiLCAweDQwRTAwMDAwLCAyNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNiAoVUFSVF9JTlREKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzI3IiwgMHg0MEUwMDAwMCwgMjcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjcgKG5jIENQTERfRlJFRSkgbGV2ZWwiIH0sCit7ICJHUExSMF8yOCIsIDB4NDBFMDAwMDAsIDI4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI4IChBVURfQklUQ0xLKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzI5IiwgMHg0MEUwMDAwMCwgMjksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjkgKEFVRF9TRElOMCkgbGV2ZWwiIH0sCit7ICJHUExSMF8zMCIsIDB4NDBFMDAwMDAsIDMwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMwIChBVURfU0RPVVQpIGxldmVsIiB9LAoreyAiR1BMUjBfMzEiLCAweDQwRTAwMDAwLCAzMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMSAoQVVEX1NZTkMpIGxldmVsIiB9LAorI2Vsc2UKK3sgIkdQTFIwXzAiLCAgMHg0MEUwMDAwMCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMCBsZXZlbCIgfSwKK3sgIkdQTFIwXzEiLCAgMHg0MEUwMDAwMCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMSBsZXZlbCIgfSwKK3sgIkdQTFIwXzIiLCAgMHg0MEUwMDAwMCwgIDIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMiBsZXZlbCIgfSwKK3sgIkdQTFIwXzMiLCAgMHg0MEUwMDAwMCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMyBsZXZlbCIgfSwKK3sgIkdQTFIwXzQiLCAgMHg0MEUwMDAwMCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNCBsZXZlbCIgfSwKK3sgIkdQTFIwXzUiLCAgMHg0MEUwMDAwMCwgIDUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNSBsZXZlbCIgfSwKK3sgIkdQTFIwXzYiLCAgMHg0MEUwMDAwMCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNiBsZXZlbCIgfSwKK3sgIkdQTFIwXzciLCAgMHg0MEUwMDAwMCwgIDcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNyBsZXZlbCIgfSwKK3sgIkdQTFIwXzgiLCAgMHg0MEUwMDAwMCwgIDgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gOCBsZXZlbCIgfSwKK3sgIkdQTFIwXzkiLCAgMHg0MEUwMDAwMCwgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gOSBsZXZlbCIgfSwKK3sgIkdQTFIwXzEwIiwgMHg0MEUwMDAwMCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTAgbGV2ZWwiIH0sCit7ICJHUExSMF8xMSIsIDB4NDBFMDAwMDAsIDExLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDExIGxldmVsIiB9LAoreyAiR1BMUjBfMTIiLCAweDQwRTAwMDAwLCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxMiBsZXZlbCIgfSwKK3sgIkdQTFIwXzEzIiwgMHg0MEUwMDAwMCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTMgbGV2ZWwiIH0sCit7ICJHUExSMF8xNCIsIDB4NDBFMDAwMDAsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE0IGxldmVsIiB9LAoreyAiR1BMUjBfMTUiLCAweDQwRTAwMDAwLCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxNSBsZXZlbCIgfSwKK3sgIkdQTFIwXzE2IiwgMHg0MEUwMDAwMCwgMTYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTYgbGV2ZWwiIH0sCit7ICJHUExSMF8xNyIsIDB4NDBFMDAwMDAsIDE3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE3IGxldmVsIiB9LAoreyAiR1BMUjBfMTgiLCAweDQwRTAwMDAwLCAxOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxOCBsZXZlbCIgfSwKK3sgIkdQTFIwXzE5IiwgMHg0MEUwMDAwMCwgMTksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTkgbGV2ZWwiIH0sCit7ICJHUExSMF8yMCIsIDB4NDBFMDAwMDAsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIwIGxldmVsIiB9LAoreyAiR1BMUjBfMjEiLCAweDQwRTAwMDAwLCAyMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyMSBsZXZlbCIgfSwKK3sgIkdQTFIwXzIyIiwgMHg0MEUwMDAwMCwgMjIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjIgbGV2ZWwiIH0sCit7ICJHUExSMF8yMyIsIDB4NDBFMDAwMDAsIDIzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIzIGxldmVsIiB9LAoreyAiR1BMUjBfMjQiLCAweDQwRTAwMDAwLCAyNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNCBsZXZlbCIgfSwKK3sgIkdQTFIwXzI1IiwgMHg0MEUwMDAwMCwgMjUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjUgbGV2ZWwiIH0sCit7ICJHUExSMF8yNiIsIDB4NDBFMDAwMDAsIDI2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI2IGxldmVsIiB9LAoreyAiR1BMUjBfMjciLCAweDQwRTAwMDAwLCAyNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNyBsZXZlbCIgfSwKK3sgIkdQTFIwXzI4IiwgMHg0MEUwMDAwMCwgMjgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjggbGV2ZWwiIH0sCit7ICJHUExSMF8yOSIsIDB4NDBFMDAwMDAsIDI5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI5IGxldmVsIiB9LAoreyAiR1BMUjBfMzAiLCAweDQwRTAwMDAwLCAzMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMCBsZXZlbCIgfSwKK3sgIkdQTFIwXzMxIiwgMHg0MEUwMDAwMCwgMzEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzEgbGV2ZWwiIH0sCisjZW5kaWYKKworeyAiR1BMUjEiLCAgICAweDQwRTAwMDA0LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBMZXZlbCBSZWdpc3RlciAxICg0LTgpIiB9LAorI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfUkFNU0VTKQoreyAiR1BMUjFfMzIiLCAweDQwRTAwMDA0LCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMiAoQVVEX1NESU4xKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzMzIiwgMHg0MEUwMDAwNCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzMgKG5DUzUpIGxldmVsIiB9LAoreyAiR1BMUjFfMzQiLCAweDQwRTAwMDA0LCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNCAoRkZfUlhEKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzM1IiwgMHg0MEUwMDAwNCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzUgKEZGX0NUUykgbGV2ZWwiIH0sCit7ICJHUExSMV8zNiIsIDB4NDBFMDAwMDQsICA0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM2IChGRl9EQ0QpIGxldmVsIiB9LAoreyAiR1BMUjFfMzciLCAweDQwRTAwMDA0LCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNyAoRkZfRFNSKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzM4IiwgMHg0MEUwMDAwNCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzggKEZGX1JJKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzM5IiwgMHg0MEUwMDAwNCwgIDcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzkgKEZGX1RYRCkgbGV2ZWwiIH0sCit7ICJHUExSMV80MCIsIDB4NDBFMDAwMDQsICA4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQwIChGRl9EVFIpIGxldmVsIiB9LAoreyAiR1BMUjFfNDEiLCAweDQwRTAwMDA0LCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MSAoRkZfUlRTKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzQyIiwgMHg0MEUwMDAwNCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDIgKEJUX1JYRCkgbGV2ZWwiIH0sCit7ICJHUExSMV80MyIsIDB4NDBFMDAwMDQsIDExLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQzIChCVF9UWEQpIGxldmVsIiB9LAoreyAiR1BMUjFfNDQiLCAweDQwRTAwMDA0LCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0NCAoQlRfQ1RTKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzQ1IiwgMHg0MEUwMDAwNCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDUgKEJUX1JUUykgbGV2ZWwiIH0sCit7ICJHUExSMV80NiIsIDB4NDBFMDAwMDQsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ2IChJUl9SWEQpIGxldmVsIiB9LAoreyAiR1BMUjFfNDciLCAweDQwRTAwMDA0LCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0NyAoSVJfVFhEKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzQ4IiwgMHg0MEUwMDAwNCwgMTYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDggKG5QT0UpIGxldmVsIiB9LAoreyAiR1BMUjFfNDkiLCAweDQwRTAwMDA0LCAxNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0OSAoblBXRSkgbGV2ZWwiIH0sCit7ICJHUExSMV81MCIsIDB4NDBFMDAwMDQsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUwIChuUElPUikgbGV2ZWwiIH0sCit7ICJHUExSMV81MSIsIDB4NDBFMDAwMDQsIDE5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUxIChuUElPVykgbGV2ZWwiIH0sCit7ICJHUExSMV81MiIsIDB4NDBFMDAwMDQsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUyIChuUENFMSkgbGV2ZWwiIH0sCit7ICJHUExSMV81MyIsIDB4NDBFMDAwMDQsIDIxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUzIChuUENFMikgbGV2ZWwiIH0sCit7ICJHUExSMV81NCIsIDB4NDBFMDAwMDQsIDIyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU0IChuUEtUU0VMKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzU1IiwgMHg0MEUwMDAwNCwgMjMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTUgKG5QUkVHKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzU2IiwgMHg0MEUwMDAwNCwgMjQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTYgKG5QV0FJVCkgbGV2ZWwiIH0sCit7ICJHUExSMV81NyIsIDB4NDBFMDAwMDQsIDI1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU3IChuSU9JUzE2KSBsZXZlbCIgfSwKK3sgIkdQTFIxXzU4IiwgMHg0MEUwMDAwNCwgMjYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTggKExERDApIGxldmVsIiB9LAoreyAiR1BMUjFfNTkiLCAweDQwRTAwMDA0LCAyNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1OSAoTEREMSkgbGV2ZWwiIH0sCit7ICJHUExSMV82MCIsIDB4NDBFMDAwMDQsIDI4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYwIChMREQyKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzYxIiwgMHg0MEUwMDAwNCwgMjksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjEgKExERDMpIGxldmVsIiB9LAoreyAiR1BMUjFfNjIiLCAweDQwRTAwMDA0LCAzMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MiAoTERENCkgbGV2ZWwiIH0sCit7ICJHUExSMV82MyIsIDB4NDBFMDAwMDQsIDMxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYzIChMREQ1KSBsZXZlbCIgfSwKKyNlbHNlCit7ICJHUExSMV8zMiIsIDB4NDBFMDAwMDQsICAwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMyIGxldmVsIiB9LAoreyAiR1BMUjFfMzMiLCAweDQwRTAwMDA0LCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMyBsZXZlbCIgfSwKK3sgIkdQTFIxXzM0IiwgMHg0MEUwMDAwNCwgIDIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzQgbGV2ZWwiIH0sCit7ICJHUExSMV8zNSIsIDB4NDBFMDAwMDQsICAzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM1IGxldmVsIiB9LAoreyAiR1BMUjFfMzYiLCAweDQwRTAwMDA0LCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNiBsZXZlbCIgfSwKK3sgIkdQTFIxXzM3IiwgMHg0MEUwMDAwNCwgIDUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzcgbGV2ZWwiIH0sCit7ICJHUExSMV8zOCIsIDB4NDBFMDAwMDQsICA2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM4IGxldmVsIiB9LAoreyAiR1BMUjFfMzkiLCAweDQwRTAwMDA0LCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzOSBsZXZlbCIgfSwKK3sgIkdQTFIxXzQwIiwgMHg0MEUwMDAwNCwgIDgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDAgbGV2ZWwiIH0sCit7ICJHUExSMV80MSIsIDB4NDBFMDAwMDQsICA5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQxIGxldmVsIiB9LAoreyAiR1BMUjFfNDIiLCAweDQwRTAwMDA0LCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MiBsZXZlbCIgfSwKK3sgIkdQTFIxXzQzIiwgMHg0MEUwMDAwNCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDMgbGV2ZWwiIH0sCit7ICJHUExSMV80NCIsIDB4NDBFMDAwMDQsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ0IGxldmVsIiB9LAoreyAiR1BMUjFfNDUiLCAweDQwRTAwMDA0LCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0NSBsZXZlbCIgfSwKK3sgIkdQTFIxXzQ2IiwgMHg0MEUwMDAwNCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDYgbGV2ZWwiIH0sCit7ICJHUExSMV80NyIsIDB4NDBFMDAwMDQsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ3IGxldmVsIiB9LAoreyAiR1BMUjFfNDgiLCAweDQwRTAwMDA0LCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0OCBsZXZlbCIgfSwKK3sgIkdQTFIxXzQ5IiwgMHg0MEUwMDAwNCwgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDkgbGV2ZWwiIH0sCit7ICJHUExSMV81MCIsIDB4NDBFMDAwMDQsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUwIGxldmVsIiB9LAoreyAiR1BMUjFfNTEiLCAweDQwRTAwMDA0LCAxOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1MSBsZXZlbCIgfSwKK3sgIkdQTFIxXzUyIiwgMHg0MEUwMDAwNCwgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTIgbGV2ZWwiIH0sCit7ICJHUExSMV81MyIsIDB4NDBFMDAwMDQsIDIxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUzIGxldmVsIiB9LAoreyAiR1BMUjFfNTQiLCAweDQwRTAwMDA0LCAyMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NCBsZXZlbCIgfSwKK3sgIkdQTFIxXzU1IiwgMHg0MEUwMDAwNCwgMjMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTUgbGV2ZWwiIH0sCit7ICJHUExSMV81NiIsIDB4NDBFMDAwMDQsIDI0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU2IGxldmVsIiB9LAoreyAiR1BMUjFfNTciLCAweDQwRTAwMDA0LCAyNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NyBsZXZlbCIgfSwKK3sgIkdQTFIxXzU4IiwgMHg0MEUwMDAwNCwgMjYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTggbGV2ZWwiIH0sCit7ICJHUExSMV81OSIsIDB4NDBFMDAwMDQsIDI3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU5IGxldmVsIiB9LAoreyAiR1BMUjFfNjAiLCAweDQwRTAwMDA0LCAyOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MCBsZXZlbCIgfSwKK3sgIkdQTFIxXzYxIiwgMHg0MEUwMDAwNCwgMjksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjEgbGV2ZWwiIH0sCit7ICJHUExSMV82MiIsIDB4NDBFMDAwMDQsIDMwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYyIGxldmVsIiB9LAoreyAiR1BMUjFfNjMiLCAweDQwRTAwMDA0LCAzMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MyBsZXZlbCIgfSwKKyNlbmRpZgorCit7ICJHUExSMiIsICAgIDB4NDBFMDAwMDgsICAwLCAweGZmZmZmZmZmLCAneCcsICJHUElPIExldmVsIFJlZ2lzdGVyIDIgKDQtOCkiIH0sCisjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9SQU1TRVMpCit7ICJHUExSMl82NCIsIDB4NDBFMDAwMDgsICAwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY0IChMREQ2KSBsZXZlbCIgfSwKK3sgIkdQTFIyXzY1IiwgMHg0MEUwMDAwOCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjUgKExERDcpIGxldmVsIiB9LAoreyAiR1BMUjJfNjYiLCAweDQwRTAwMDA4LCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NiAobmMpIGxldmVsIiB9LAoreyAiR1BMUjJfNjciLCAweDQwRTAwMDA4LCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NyAobmMpIGxldmVsIiB9LAoreyAiR1BMUjJfNjgiLCAweDQwRTAwMDA4LCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2OCAobmMpIGxldmVsIiB9LAoreyAiR1BMUjJfNjkiLCAweDQwRTAwMDA4LCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2OSAobmMpIGxldmVsIiB9LAoreyAiR1BMUjJfNzAiLCAweDQwRTAwMDA4LCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MCAobmMpIGxldmVsIiB9LAoreyAiR1BMUjJfNzEiLCAweDQwRTAwMDA4LCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MSAobmMpIGxldmVsIiB9LAoreyAiR1BMUjJfNzIiLCAweDQwRTAwMDA4LCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MiAobmMpIGxldmVsIiB9LAoreyAiR1BMUjJfNzMiLCAweDQwRTAwMDA4LCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MyAobmMpIGxldmVsIiB9LAoreyAiR1BMUjJfNzQiLCAweDQwRTAwMDA4LCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3NCAoRkNMSykgbGV2ZWwiIH0sCit7ICJHUExSMl83NSIsIDB4NDBFMDAwMDgsIDExLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc1IChMQ0xLKSBsZXZlbCIgfSwKK3sgIkdQTFIyXzc2IiwgMHg0MEUwMDAwOCwgMTIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzYgKFBDTEspIGxldmVsIiB9LAoreyAiR1BMUjJfNzciLCAweDQwRTAwMDA4LCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3NyAoQklBUykgbGV2ZWwiIH0sCit7ICJHUExSMl83OCIsIDB4NDBFMDAwMDgsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc4IChuQ1MyKSBsZXZlbCIgfSwKK3sgIkdQTFIyXzc5IiwgMHg0MEUwMDAwOCwgMTUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzkgKG5DUzMpIGxldmVsIiB9LAoreyAiR1BMUjJfODAiLCAweDQwRTAwMDA4LCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4MCAobkNTNCkgbGV2ZWwiIH0sCit7ICJHUExSMl84MSIsIDB4NDBFMDAwMDgsIDE3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgxIChuYykgbGV2ZWwiIH0sCit7ICJHUExSMl84MiIsIDB4NDBFMDAwMDgsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgyIChuYykgbGV2ZWwiIH0sCit7ICJHUExSMl84MyIsIDB4NDBFMDAwMDgsIDE5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgzIChuYykgbGV2ZWwiIH0sCit7ICJHUExSMl84NCIsIDB4NDBFMDAwMDgsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDg0IChuYykgbGV2ZWwiIH0sCisjZWxzZQoreyAiR1BMUjJfNjQiLCAweDQwRTAwMDA4LCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NCBsZXZlbCIgfSwKK3sgIkdQTFIyXzY1IiwgMHg0MEUwMDAwOCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjUgbGV2ZWwiIH0sCit7ICJHUExSMl82NiIsIDB4NDBFMDAwMDgsICAyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY2IGxldmVsIiB9LAoreyAiR1BMUjJfNjciLCAweDQwRTAwMDA4LCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NyBsZXZlbCIgfSwKK3sgIkdQTFIyXzY4IiwgMHg0MEUwMDAwOCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjggbGV2ZWwiIH0sCit7ICJHUExSMl82OSIsIDB4NDBFMDAwMDgsICA1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY5IGxldmVsIiB9LAoreyAiR1BMUjJfNzAiLCAweDQwRTAwMDA4LCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MCBsZXZlbCIgfSwKK3sgIkdQTFIyXzcxIiwgMHg0MEUwMDAwOCwgIDcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzEgbGV2ZWwiIH0sCit7ICJHUExSMl83MiIsIDB4NDBFMDAwMDgsICA4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcyIGxldmVsIiB9LAoreyAiR1BMUjJfNzMiLCAweDQwRTAwMDA4LCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MyBsZXZlbCIgfSwKK3sgIkdQTFIyXzc0IiwgMHg0MEUwMDAwOCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzQgbGV2ZWwiIH0sCit7ICJHUExSMl83NSIsIDB4NDBFMDAwMDgsIDExLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc1IGxldmVsIiB9LAoreyAiR1BMUjJfNzYiLCAweDQwRTAwMDA4LCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3NiBsZXZlbCIgfSwKK3sgIkdQTFIyXzc3IiwgMHg0MEUwMDAwOCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzcgbGV2ZWwiIH0sCit7ICJHUExSMl83OCIsIDB4NDBFMDAwMDgsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc4IGxldmVsIiB9LAoreyAiR1BMUjJfNzkiLCAweDQwRTAwMDA4LCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3OSBsZXZlbCIgfSwKK3sgIkdQTFIyXzgwIiwgMHg0MEUwMDAwOCwgMTYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODAgbGV2ZWwiIH0sCit7ICJHUExSMl84MSIsIDB4NDBFMDAwMDgsIDE3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgxIGxldmVsIiB9LAoreyAiR1BMUjJfODIiLCAweDQwRTAwMDA4LCAxOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4MiBsZXZlbCIgfSwKK3sgIkdQTFIyXzgzIiwgMHg0MEUwMDAwOCwgMTksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODMgbGV2ZWwiIH0sCit7ICJHUExSMl84NCIsIDB4NDBFMDAwMDgsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDg0IGxldmVsIiB9LAorI2VuZGlmCisKK3sgIkdQRFIwIiwgICAgMHg0MEUwMDAwQywgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gRGlyZWN0aW9uIFJlZ2lzdGVyIDAgKDQtOSkiIH0sCit7ICJHUERSMF8wIiwgIDB4NDBFMDAwMEMsICAwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDAgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfMSIsICAweDQwRTAwMDBDLCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzIiLCAgMHg0MEUwMDAwQywgIDIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMiBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF8zIiwgIDB4NDBFMDAwMEMsICAzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfNCIsICAweDQwRTAwMDBDLCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzUiLCAgMHg0MEUwMDAwQywgIDUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNSBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF82IiwgIDB4NDBFMDAwMEMsICA2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfNyIsICAweDQwRTAwMDBDLCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzgiLCAgMHg0MEUwMDAwQywgIDgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gOCBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF85IiwgIDB4NDBFMDAwMEMsICA5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDkgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfMTAiLCAweDQwRTAwMDBDLCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxMCBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF8xMSIsIDB4NDBFMDAwMEMsIDExLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDExIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzEyIiwgMHg0MEUwMDAwQywgMTIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTIgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfMTMiLCAweDQwRTAwMDBDLCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxMyBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF8xNCIsIDB4NDBFMDAwMEMsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE0IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzE1IiwgMHg0MEUwMDAwQywgMTUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTUgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfMTYiLCAweDQwRTAwMDBDLCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxNiBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF8xNyIsIDB4NDBFMDAwMEMsIDE3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE3IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzE4IiwgMHg0MEUwMDAwQywgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTggaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfMTkiLCAweDQwRTAwMDBDLCAxOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxOSBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF8yMCIsIDB4NDBFMDAwMEMsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIwIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzIxIiwgMHg0MEUwMDAwQywgMjEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjEgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfMjIiLCAweDQwRTAwMDBDLCAyMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyMiBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF8yMyIsIDB4NDBFMDAwMEMsIDIzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIzIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzI0IiwgMHg0MEUwMDAwQywgMjQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjQgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfMjUiLCAweDQwRTAwMDBDLCAyNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNSBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF8yNiIsIDB4NDBFMDAwMEMsIDI2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI2IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzI3IiwgMHg0MEUwMDAwQywgMjcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjcgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfMjgiLCAweDQwRTAwMDBDLCAyOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyOCBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF8yOSIsIDB4NDBFMDAwMEMsIDI5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI5IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzMwIiwgMHg0MEUwMDAwQywgMzAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzAgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfMzEiLCAweDQwRTAwMDBDLCAzMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMSBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCisKK3sgIkdQRFIxIiwgICAgMHg0MEUwMDAxMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gRGlyZWN0aW9uIFJlZ2lzdGVyIDEgKDQtOSkiIH0sCit7ICJHUERSMV8zMiIsIDB4NDBFMDAwMTAsICAwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMyIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzMzIiwgMHg0MEUwMDAxMCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzMgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfMzQiLCAweDQwRTAwMDEwLCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNCBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV8zNSIsIDB4NDBFMDAwMTAsICAzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM1IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzM2IiwgMHg0MEUwMDAxMCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzYgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfMzciLCAweDQwRTAwMDEwLCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNyBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV8zOCIsIDB4NDBFMDAwMTAsICA2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM4IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzM5IiwgMHg0MEUwMDAxMCwgIDcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzkgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfNDAiLCAweDQwRTAwMDEwLCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MCBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV80MSIsIDB4NDBFMDAwMTAsICA5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQxIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzQyIiwgMHg0MEUwMDAxMCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDIgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfNDMiLCAweDQwRTAwMDEwLCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MyBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV80NCIsIDB4NDBFMDAwMTAsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ0IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzQ1IiwgMHg0MEUwMDAxMCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDUgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfNDYiLCAweDQwRTAwMDEwLCAxNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0NiBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV80NyIsIDB4NDBFMDAwMTAsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ3IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzQ4IiwgMHg0MEUwMDAxMCwgMTYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDggaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfNDkiLCAweDQwRTAwMDEwLCAxNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0OSBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV81MCIsIDB4NDBFMDAwMTAsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUwIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzUxIiwgMHg0MEUwMDAxMCwgMTksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTEgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfNTIiLCAweDQwRTAwMDEwLCAyMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1MiBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV81MyIsIDB4NDBFMDAwMTAsIDIxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUzIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzU0IiwgMHg0MEUwMDAxMCwgMjIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTQgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfNTUiLCAweDQwRTAwMDEwLCAyMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NSBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV81NiIsIDB4NDBFMDAwMTAsIDI0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU2IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzU3IiwgMHg0MEUwMDAxMCwgMjUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTcgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfNTgiLCAweDQwRTAwMDEwLCAyNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1OCBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV81OSIsIDB4NDBFMDAwMTAsIDI3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU5IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzYwIiwgMHg0MEUwMDAxMCwgMjgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjAgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfNjEiLCAweDQwRTAwMDEwLCAyOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MSBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV82MiIsIDB4NDBFMDAwMTAsIDMwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYyIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzYzIiwgMHg0MEUwMDAxMCwgMzEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjMgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAorCit7ICJHUERSMiIsICAgIDB4NDBFMDAwMTQsICAwLCAweGZmZmZmZmZmLCAneCcsICJHUElPIERpcmVjdGlvbiBSZWdpc3RlciAyICg0LTkpIiB9LAoreyAiR1BEUjJfNjQiLCAweDQwRTAwMDE0LCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NCBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMl82NSIsIDB4NDBFMDAwMTQsICAxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY1IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIyXzY2IiwgMHg0MEUwMDAxNCwgIDIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjYgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjJfNjciLCAweDQwRTAwMDE0LCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NyBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMl82OCIsIDB4NDBFMDAwMTQsICA0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY4IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIyXzY5IiwgMHg0MEUwMDAxNCwgIDUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjkgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjJfNzAiLCAweDQwRTAwMDE0LCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MCBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMl83MSIsIDB4NDBFMDAwMTQsICA3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcxIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIyXzcyIiwgMHg0MEUwMDAxNCwgIDgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzIgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjJfNzMiLCAweDQwRTAwMDE0LCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MyBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMl83NCIsIDB4NDBFMDAwMTQsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc0IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIyXzc1IiwgMHg0MEUwMDAxNCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzUgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjJfNzYiLCAweDQwRTAwMDE0LCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3NiBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMl83NyIsIDB4NDBFMDAwMTQsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc3IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIyXzc4IiwgMHg0MEUwMDAxNCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzggaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjJfNzkiLCAweDQwRTAwMDE0LCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3OSBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMl84MCIsIDB4NDBFMDAwMTQsIDE2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgwIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIyXzgxIiwgMHg0MEUwMDAxNCwgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODEgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjJfODIiLCAweDQwRTAwMDE0LCAxOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4MiBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMl84MyIsIDB4NDBFMDAwMTQsIDE5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgzIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIyXzg0IiwgMHg0MEUwMDAxNCwgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODQgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAorCit7ICJHUFNSMCIsICAgIDB4NDBFMDAwMTgsICAwLCAweGZmZmZmZmZmLCAneCcsICJHUElPIFNldCBSZWdpc3RlciAwICg0LTEwKSIgfSwKK3sgIkdQU1IwXzAiLCAgMHg0MEUwMDAxOCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMCBzZXQiIH0sCit7ICJHUFNSMF8xIiwgIDB4NDBFMDAwMTgsICAxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEgc2V0IiB9LAoreyAiR1BTUjBfMiIsICAweDQwRTAwMDE4LCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyIHNldCIgfSwKK3sgIkdQU1IwXzMiLCAgMHg0MEUwMDAxOCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMyBzZXQiIH0sCit7ICJHUFNSMF80IiwgIDB4NDBFMDAwMTgsICA0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQgc2V0IiB9LAoreyAiR1BTUjBfNSIsICAweDQwRTAwMDE4LCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1IHNldCIgfSwKK3sgIkdQU1IwXzYiLCAgMHg0MEUwMDAxOCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNiBzZXQiIH0sCit7ICJHUFNSMF83IiwgIDB4NDBFMDAwMTgsICA3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcgc2V0IiB9LAoreyAiR1BTUjBfOCIsICAweDQwRTAwMDE4LCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4IHNldCIgfSwKK3sgIkdQU1IwXzkiLCAgMHg0MEUwMDAxOCwgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gOSBzZXQiIH0sCit7ICJHUFNSMF8xMCIsIDB4NDBFMDAwMTgsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEwIHNldCIgfSwKK3sgIkdQU1IwXzExIiwgMHg0MEUwMDAxOCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTEgc2V0IiB9LAoreyAiR1BTUjBfMTIiLCAweDQwRTAwMDE4LCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxMiBzZXQiIH0sCit7ICJHUFNSMF8xMyIsIDB4NDBFMDAwMTgsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEzIHNldCIgfSwKK3sgIkdQU1IwXzE0IiwgMHg0MEUwMDAxOCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTQgc2V0IiB9LAoreyAiR1BTUjBfMTUiLCAweDQwRTAwMDE4LCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxNSBzZXQiIH0sCit7ICJHUFNSMF8xNiIsIDB4NDBFMDAwMTgsIDE2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE2IHNldCIgfSwKK3sgIkdQU1IwXzE3IiwgMHg0MEUwMDAxOCwgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTcgc2V0IiB9LAoreyAiR1BTUjBfMTgiLCAweDQwRTAwMDE4LCAxOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxOCBzZXQiIH0sCit7ICJHUFNSMF8xOSIsIDB4NDBFMDAwMTgsIDE5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE5IHNldCIgfSwKK3sgIkdQU1IwXzIwIiwgMHg0MEUwMDAxOCwgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjAgc2V0IiB9LAoreyAiR1BTUjBfMjEiLCAweDQwRTAwMDE4LCAyMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyMSBzZXQiIH0sCit7ICJHUFNSMF8yMiIsIDB4NDBFMDAwMTgsIDIyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIyIHNldCIgfSwKK3sgIkdQU1IwXzIzIiwgMHg0MEUwMDAxOCwgMjMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjMgc2V0IiB9LAoreyAiR1BTUjBfMjQiLCAweDQwRTAwMDE4LCAyNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNCBzZXQiIH0sCit7ICJHUFNSMF8yNSIsIDB4NDBFMDAwMTgsIDI1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI1IHNldCIgfSwKK3sgIkdQU1IwXzI2IiwgMHg0MEUwMDAxOCwgMjYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjYgc2V0IiB9LAoreyAiR1BTUjBfMjciLCAweDQwRTAwMDE4LCAyNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNyBzZXQiIH0sCit7ICJHUFNSMF8yOCIsIDB4NDBFMDAwMTgsIDI4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI4IHNldCIgfSwKK3sgIkdQU1IwXzI5IiwgMHg0MEUwMDAxOCwgMjksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjkgc2V0IiB9LAoreyAiR1BTUjBfMzAiLCAweDQwRTAwMDE4LCAzMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMCBzZXQiIH0sCit7ICJHUFNSMF8zMSIsIDB4NDBFMDAwMTgsIDMxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMxIHNldCIgfSwKKworeyAiR1BTUjEiLCAgICAweDQwRTAwMDFDLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBTZXQgUmVnaXN0ZXIgMSAoNC0xMCkiIH0sCit7ICJHUFNSMV8zMiIsIDB4NDBFMDAwMUMsICAwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMyIHNldCIgfSwKK3sgIkdQU1IxXzMzIiwgMHg0MEUwMDAxQywgIDEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzMgc2V0IiB9LAoreyAiR1BTUjFfMzQiLCAweDQwRTAwMDFDLCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNCBzZXQiIH0sCit7ICJHUFNSMV8zNSIsIDB4NDBFMDAwMUMsICAzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM1IHNldCIgfSwKK3sgIkdQU1IxXzM2IiwgMHg0MEUwMDAxQywgIDQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzYgc2V0IiB9LAoreyAiR1BTUjFfMzciLCAweDQwRTAwMDFDLCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNyBzZXQiIH0sCit7ICJHUFNSMV8zOCIsIDB4NDBFMDAwMUMsICA2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM4IHNldCIgfSwKK3sgIkdQU1IxXzM5IiwgMHg0MEUwMDAxQywgIDcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzkgc2V0IiB9LAoreyAiR1BTUjFfNDAiLCAweDQwRTAwMDFDLCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MCBzZXQiIH0sCit7ICJHUFNSMV80MSIsIDB4NDBFMDAwMUMsICA5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQxIHNldCIgfSwKK3sgIkdQU1IxXzQyIiwgMHg0MEUwMDAxQywgMTAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDIgc2V0IiB9LAoreyAiR1BTUjFfNDMiLCAweDQwRTAwMDFDLCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MyBzZXQiIH0sCit7ICJHUFNSMV80NCIsIDB4NDBFMDAwMUMsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ0IHNldCIgfSwKK3sgIkdQU1IxXzQ1IiwgMHg0MEUwMDAxQywgMTMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDUgc2V0IiB9LAoreyAiR1BTUjFfNDYiLCAweDQwRTAwMDFDLCAxNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0NiBzZXQiIH0sCit7ICJHUFNSMV80NyIsIDB4NDBFMDAwMUMsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ3IHNldCIgfSwKK3sgIkdQU1IxXzQ4IiwgMHg0MEUwMDAxQywgMTYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDggc2V0IiB9LAoreyAiR1BTUjFfNDkiLCAweDQwRTAwMDFDLCAxNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0OSBzZXQiIH0sCit7ICJHUFNSMV81MCIsIDB4NDBFMDAwMUMsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUwIHNldCIgfSwKK3sgIkdQU1IxXzUxIiwgMHg0MEUwMDAxQywgMTksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTEgc2V0IiB9LAoreyAiR1BTUjFfNTIiLCAweDQwRTAwMDFDLCAyMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1MiBzZXQiIH0sCit7ICJHUFNSMV81MyIsIDB4NDBFMDAwMUMsIDIxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUzIHNldCIgfSwKK3sgIkdQU1IxXzU0IiwgMHg0MEUwMDAxQywgMjIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTQgc2V0IiB9LAoreyAiR1BTUjFfNTUiLCAweDQwRTAwMDFDLCAyMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NSBzZXQiIH0sCit7ICJHUFNSMV81NiIsIDB4NDBFMDAwMUMsIDI0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU2IHNldCIgfSwKK3sgIkdQU1IxXzU3IiwgMHg0MEUwMDAxQywgMjUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTcgc2V0IiB9LAoreyAiR1BTUjFfNTgiLCAweDQwRTAwMDFDLCAyNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1OCBzZXQiIH0sCit7ICJHUFNSMV81OSIsIDB4NDBFMDAwMUMsIDI3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU5IHNldCIgfSwKK3sgIkdQU1IxXzYwIiwgMHg0MEUwMDAxQywgMjgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjAgc2V0IiB9LAoreyAiR1BTUjFfNjEiLCAweDQwRTAwMDFDLCAyOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MSBzZXQiIH0sCit7ICJHUFNSMV82MiIsIDB4NDBFMDAwMUMsIDMwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYyIHNldCIgfSwKK3sgIkdQU1IxXzYzIiwgMHg0MEUwMDAxQywgMzEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjMgc2V0IiB9LAorCit7ICJHUFNSMiIsICAgIDB4NDBFMDAwMjAsICAwLCAweGZmZmZmZmZmLCAneCcsICJHUElPIFNldCBSZWdpc3RlciAyICg0LTExKSIgfSwKK3sgIkdQU1IyXzY0IiwgMHg0MEUwMDAyMCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjQgc2V0IiB9LAoreyAiR1BTUjJfNjUiLCAweDQwRTAwMDIwLCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NSBzZXQiIH0sCit7ICJHUFNSMl82NiIsIDB4NDBFMDAwMjAsICAyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY2IHNldCIgfSwKK3sgIkdQU1IyXzY3IiwgMHg0MEUwMDAyMCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjcgc2V0IiB9LAoreyAiR1BTUjJfNjgiLCAweDQwRTAwMDIwLCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2OCBzZXQiIH0sCit7ICJHUFNSMl82OSIsIDB4NDBFMDAwMjAsICA1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY5IHNldCIgfSwKK3sgIkdQU1IyXzcwIiwgMHg0MEUwMDAyMCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzAgc2V0IiB9LAoreyAiR1BTUjJfNzEiLCAweDQwRTAwMDIwLCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MSBzZXQiIH0sCit7ICJHUFNSMl83MiIsIDB4NDBFMDAwMjAsICA4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcyIHNldCIgfSwKK3sgIkdQU1IyXzczIiwgMHg0MEUwMDAyMCwgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzMgc2V0IiB9LAoreyAiR1BTUjJfNzQiLCAweDQwRTAwMDIwLCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3NCBzZXQiIH0sCit7ICJHUFNSMl83NSIsIDB4NDBFMDAwMjAsIDExLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc1IHNldCIgfSwKK3sgIkdQU1IyXzc2IiwgMHg0MEUwMDAyMCwgMTIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzYgc2V0IiB9LAoreyAiR1BTUjJfNzciLCAweDQwRTAwMDIwLCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3NyBzZXQiIH0sCit7ICJHUFNSMl83OCIsIDB4NDBFMDAwMjAsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc4IHNldCIgfSwKK3sgIkdQU1IyXzc5IiwgMHg0MEUwMDAyMCwgMTUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzkgc2V0IiB9LAoreyAiR1BTUjJfODAiLCAweDQwRTAwMDIwLCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4MCBzZXQiIH0sCit7ICJHUFNSMl84MSIsIDB4NDBFMDAwMjAsIDE3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgxIHNldCIgfSwKK3sgIkdQU1IyXzgyIiwgMHg0MEUwMDAyMCwgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODIgc2V0IiB9LAoreyAiR1BTUjJfODMiLCAweDQwRTAwMDIwLCAxOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4MyBzZXQiIH0sCit7ICJHUFNSMl84NCIsIDB4NDBFMDAwMjAsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDg0IHNldCIgfSwKKworeyAiR1BDUjAiLCAgICAweDQwRTAwMDI0LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBDbGVhciBSZWdpc3RlciAwICg0LTExKSIgfSwKK3sgIkdQQ1IwXzAiLCAgMHg0MEUwMDAyNCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMCBjbGVhciIgfSwKK3sgIkdQQ1IwXzEiLCAgMHg0MEUwMDAyNCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMSBjbGVhciIgfSwKK3sgIkdQQ1IwXzIiLCAgMHg0MEUwMDAyNCwgIDIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMiBjbGVhciIgfSwKK3sgIkdQQ1IwXzMiLCAgMHg0MEUwMDAyNCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMyBjbGVhciIgfSwKK3sgIkdQQ1IwXzQiLCAgMHg0MEUwMDAyNCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNCBjbGVhciIgfSwKK3sgIkdQQ1IwXzUiLCAgMHg0MEUwMDAyNCwgIDUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNSBjbGVhciIgfSwKK3sgIkdQQ1IwXzYiLCAgMHg0MEUwMDAyNCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNiBjbGVhciIgfSwKK3sgIkdQQ1IwXzciLCAgMHg0MEUwMDAyNCwgIDcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNyBjbGVhciIgfSwKK3sgIkdQQ1IwXzgiLCAgMHg0MEUwMDAyNCwgIDgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gOCBjbGVhciIgfSwKK3sgIkdQQ1IwXzkiLCAgMHg0MEUwMDAyNCwgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gOSBjbGVhciIgfSwKK3sgIkdQQ1IwXzEwIiwgMHg0MEUwMDAyNCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTAgY2xlYXIiIH0sCit7ICJHUENSMF8xMSIsIDB4NDBFMDAwMjQsIDExLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDExIGNsZWFyIiB9LAoreyAiR1BDUjBfMTIiLCAweDQwRTAwMDI0LCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxMiBjbGVhciIgfSwKK3sgIkdQQ1IwXzEzIiwgMHg0MEUwMDAyNCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTMgY2xlYXIiIH0sCit7ICJHUENSMF8xNCIsIDB4NDBFMDAwMjQsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE0IGNsZWFyIiB9LAoreyAiR1BDUjBfMTUiLCAweDQwRTAwMDI0LCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxNSBjbGVhciIgfSwKK3sgIkdQQ1IwXzE2IiwgMHg0MEUwMDAyNCwgMTYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTYgY2xlYXIiIH0sCit7ICJHUENSMF8xNyIsIDB4NDBFMDAwMjQsIDE3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE3IGNsZWFyIiB9LAoreyAiR1BDUjBfMTgiLCAweDQwRTAwMDI0LCAxOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxOCBjbGVhciIgfSwKK3sgIkdQQ1IwXzE5IiwgMHg0MEUwMDAyNCwgMTksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTkgY2xlYXIiIH0sCit7ICJHUENSMF8yMCIsIDB4NDBFMDAwMjQsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIwIGNsZWFyIiB9LAoreyAiR1BDUjBfMjEiLCAweDQwRTAwMDI0LCAyMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyMSBjbGVhciIgfSwKK3sgIkdQQ1IwXzIyIiwgMHg0MEUwMDAyNCwgMjIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjIgY2xlYXIiIH0sCit7ICJHUENSMF8yMyIsIDB4NDBFMDAwMjQsIDIzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIzIGNsZWFyIiB9LAoreyAiR1BDUjBfMjQiLCAweDQwRTAwMDI0LCAyNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNCBjbGVhciIgfSwKK3sgIkdQQ1IwXzI1IiwgMHg0MEUwMDAyNCwgMjUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjUgY2xlYXIiIH0sCit7ICJHUENSMF8yNiIsIDB4NDBFMDAwMjQsIDI2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI2IGNsZWFyIiB9LAoreyAiR1BDUjBfMjciLCAweDQwRTAwMDI0LCAyNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNyBjbGVhciIgfSwKK3sgIkdQQ1IwXzI4IiwgMHg0MEUwMDAyNCwgMjgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjggY2xlYXIiIH0sCit7ICJHUENSMF8yOSIsIDB4NDBFMDAwMjQsIDI5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI5IGNsZWFyIiB9LAoreyAiR1BDUjBfMzAiLCAweDQwRTAwMDI0LCAzMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMCBjbGVhciIgfSwKK3sgIkdQQ1IwXzMxIiwgMHg0MEUwMDAyNCwgMzEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzEgY2xlYXIiIH0sCisKK3sgIkdQQ1IxIiwgICAgMHg0MEUwMDAyOCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gQ2xlYXIgUmVnaXN0ZXIgMSAoNC0xMSkiIH0sCit7ICJHUENSMV8zMiIsIDB4NDBFMDAwMjgsICAwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMyIGNsZWFyIiB9LAoreyAiR1BDUjFfMzMiLCAweDQwRTAwMDI4LCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMyBjbGVhciIgfSwKK3sgIkdQQ1IxXzM0IiwgMHg0MEUwMDAyOCwgIDIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzQgY2xlYXIiIH0sCit7ICJHUENSMV8zNSIsIDB4NDBFMDAwMjgsICAzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM1IGNsZWFyIiB9LAoreyAiR1BDUjFfMzYiLCAweDQwRTAwMDI4LCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNiBjbGVhciIgfSwKK3sgIkdQQ1IxXzM3IiwgMHg0MEUwMDAyOCwgIDUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzcgY2xlYXIiIH0sCit7ICJHUENSMV8zOCIsIDB4NDBFMDAwMjgsICA2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM4IGNsZWFyIiB9LAoreyAiR1BDUjFfMzkiLCAweDQwRTAwMDI4LCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzOSBjbGVhciIgfSwKK3sgIkdQQ1IxXzQwIiwgMHg0MEUwMDAyOCwgIDgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDAgY2xlYXIiIH0sCit7ICJHUENSMV80MSIsIDB4NDBFMDAwMjgsICA5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQxIGNsZWFyIiB9LAoreyAiR1BDUjFfNDIiLCAweDQwRTAwMDI4LCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MiBjbGVhciIgfSwKK3sgIkdQQ1IxXzQzIiwgMHg0MEUwMDAyOCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDMgY2xlYXIiIH0sCit7ICJHUENSMV80NCIsIDB4NDBFMDAwMjgsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ0IGNsZWFyIiB9LAoreyAiR1BDUjFfNDUiLCAweDQwRTAwMDI4LCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0NSBjbGVhciIgfSwKK3sgIkdQQ1IxXzQ2IiwgMHg0MEUwMDAyOCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDYgY2xlYXIiIH0sCit7ICJHUENSMV80NyIsIDB4NDBFMDAwMjgsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ3IGNsZWFyIiB9LAoreyAiR1BDUjFfNDgiLCAweDQwRTAwMDI4LCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0OCBjbGVhciIgfSwKK3sgIkdQQ1IxXzQ5IiwgMHg0MEUwMDAyOCwgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDkgY2xlYXIiIH0sCit7ICJHUENSMV81MCIsIDB4NDBFMDAwMjgsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUwIGNsZWFyIiB9LAoreyAiR1BDUjFfNTEiLCAweDQwRTAwMDI4LCAxOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1MSBjbGVhciIgfSwKK3sgIkdQQ1IxXzUyIiwgMHg0MEUwMDAyOCwgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTIgY2xlYXIiIH0sCit7ICJHUENSMV81MyIsIDB4NDBFMDAwMjgsIDIxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUzIGNsZWFyIiB9LAoreyAiR1BDUjFfNTQiLCAweDQwRTAwMDI4LCAyMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NCBjbGVhciIgfSwKK3sgIkdQQ1IxXzU1IiwgMHg0MEUwMDAyOCwgMjMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTUgY2xlYXIiIH0sCit7ICJHUENSMV81NiIsIDB4NDBFMDAwMjgsIDI0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU2IGNsZWFyIiB9LAoreyAiR1BDUjFfNTciLCAweDQwRTAwMDI4LCAyNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NyBjbGVhciIgfSwKK3sgIkdQQ1IxXzU4IiwgMHg0MEUwMDAyOCwgMjYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTggY2xlYXIiIH0sCit7ICJHUENSMV81OSIsIDB4NDBFMDAwMjgsIDI3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU5IGNsZWFyIiB9LAoreyAiR1BDUjFfNjAiLCAweDQwRTAwMDI4LCAyOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MCBjbGVhciIgfSwKK3sgIkdQQ1IxXzYxIiwgMHg0MEUwMDAyOCwgMjksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjEgY2xlYXIiIH0sCit7ICJHUENSMV82MiIsIDB4NDBFMDAwMjgsIDMwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYyIGNsZWFyIiB9LAoreyAiR1BDUjFfNjMiLCAweDQwRTAwMDI4LCAzMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MyBjbGVhciIgfSwKKworeyAiR1BDUjIiLCAgICAweDQwRTAwMDJDLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBDbGVhciBSZWdpc3RlciAyICg0LTEyKSIgfSwKK3sgIkdQQ1IyXzY0IiwgMHg0MEUwMDAyQywgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjQgY2xlYXIiIH0sCit7ICJHUENSMl82NSIsIDB4NDBFMDAwMkMsICAxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY1IGNsZWFyIiB9LAoreyAiR1BDUjJfNjYiLCAweDQwRTAwMDJDLCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NiBjbGVhciIgfSwKK3sgIkdQQ1IyXzY3IiwgMHg0MEUwMDAyQywgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjcgY2xlYXIiIH0sCit7ICJHUENSMl82OCIsIDB4NDBFMDAwMkMsICA0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY4IGNsZWFyIiB9LAoreyAiR1BDUjJfNjkiLCAweDQwRTAwMDJDLCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2OSBjbGVhciIgfSwKK3sgIkdQQ1IyXzcwIiwgMHg0MEUwMDAyQywgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzAgY2xlYXIiIH0sCit7ICJHUENSMl83MSIsIDB4NDBFMDAwMkMsICA3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcxIGNsZWFyIiB9LAoreyAiR1BDUjJfNzIiLCAweDQwRTAwMDJDLCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MiBjbGVhciIgfSwKK3sgIkdQQ1IyXzczIiwgMHg0MEUwMDAyQywgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzMgY2xlYXIiIH0sCit7ICJHUENSMl83NCIsIDB4NDBFMDAwMkMsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc0IGNsZWFyIiB9LAoreyAiR1BDUjJfNzUiLCAweDQwRTAwMDJDLCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3NSBjbGVhciIgfSwKK3sgIkdQQ1IyXzc2IiwgMHg0MEUwMDAyQywgMTIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzYgY2xlYXIiIH0sCit7ICJHUENSMl83NyIsIDB4NDBFMDAwMkMsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc3IGNsZWFyIiB9LAoreyAiR1BDUjJfNzgiLCAweDQwRTAwMDJDLCAxNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3OCBjbGVhciIgfSwKK3sgIkdQQ1IyXzc5IiwgMHg0MEUwMDAyQywgMTUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzkgY2xlYXIiIH0sCit7ICJHUENSMl84MCIsIDB4NDBFMDAwMkMsIDE2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgwIGNsZWFyIiB9LAoreyAiR1BDUjJfODEiLCAweDQwRTAwMDJDLCAxNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4MSBjbGVhciIgfSwKK3sgIkdQQ1IyXzgyIiwgMHg0MEUwMDAyQywgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODIgY2xlYXIiIH0sCit7ICJHUENSMl84MyIsIDB4NDBFMDAwMkMsIDE5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgzIGNsZWFyIiB9LAoreyAiR1BDUjJfODQiLCAweDQwRTAwMDJDLCAyMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4NCBjbGVhciIgfSwKKworeyAiR1JFUjAiLCAgICAweDQwRTAwMDMwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBSYWlzaW5nIEVkZ2UgRGV0ZWN0IEVuYWJsZSBSZWdpc3RlciAwICg0LTEzKSIgfSwKK3sgIkdSRVIwXzAiLCAgMHg0MEUwMDAzMCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMCByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF8xIiwgIDB4NDBFMDAwMzAsICAxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfMiIsICAweDQwRTAwMDMwLCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzMiLCAgMHg0MEUwMDAzMCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMyByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF80IiwgIDB4NDBFMDAwMzAsICA0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfNSIsICAweDQwRTAwMDMwLCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzYiLCAgMHg0MEUwMDAzMCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNiByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF83IiwgIDB4NDBFMDAwMzAsICA3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfOCIsICAweDQwRTAwMDMwLCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzkiLCAgMHg0MEUwMDAzMCwgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gOSByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF8xMCIsIDB4NDBFMDAwMzAsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEwIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzExIiwgMHg0MEUwMDAzMCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTEgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfMTIiLCAweDQwRTAwMDMwLCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxMiByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF8xMyIsIDB4NDBFMDAwMzAsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEzIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzE0IiwgMHg0MEUwMDAzMCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTQgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfMTUiLCAweDQwRTAwMDMwLCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxNSByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF8xNiIsIDB4NDBFMDAwMzAsIDE2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE2IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzE3IiwgMHg0MEUwMDAzMCwgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTcgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfMTgiLCAweDQwRTAwMDMwLCAxOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxOCByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF8xOSIsIDB4NDBFMDAwMzAsIDE5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE5IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzIwIiwgMHg0MEUwMDAzMCwgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjAgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfMjEiLCAweDQwRTAwMDMwLCAyMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyMSByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF8yMiIsIDB4NDBFMDAwMzAsIDIyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIyIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzIzIiwgMHg0MEUwMDAzMCwgMjMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjMgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfMjQiLCAweDQwRTAwMDMwLCAyNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNCByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF8yNSIsIDB4NDBFMDAwMzAsIDI1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI1IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzI2IiwgMHg0MEUwMDAzMCwgMjYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjYgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfMjciLCAweDQwRTAwMDMwLCAyNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNyByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF8yOCIsIDB4NDBFMDAwMzAsIDI4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI4IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzI5IiwgMHg0MEUwMDAzMCwgMjksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjkgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfMzAiLCAweDQwRTAwMDMwLCAzMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMCByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF8zMSIsIDB4NDBFMDAwMzAsIDMxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMxIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKKworeyAiR1JFUjEiLCAgICAweDQwRTAwMDM0LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBSYWlzaW5nIEVkZ2UgRGV0ZWN0IEVuYWJsZSBSZWdpc3RlciAxICg0LTEzKSIgfSwKK3sgIkdSRVIxXzMyIiwgMHg0MEUwMDAzNCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzIgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfMzMiLCAweDQwRTAwMDM0LCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMyByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV8zNCIsIDB4NDBFMDAwMzQsICAyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM0IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzM1IiwgMHg0MEUwMDAzNCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzUgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfMzYiLCAweDQwRTAwMDM0LCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNiByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV8zNyIsIDB4NDBFMDAwMzQsICA1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM3IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzM4IiwgMHg0MEUwMDAzNCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzggcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfMzkiLCAweDQwRTAwMDM0LCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzOSByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV80MCIsIDB4NDBFMDAwMzQsICA4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQwIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzQxIiwgMHg0MEUwMDAzNCwgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDEgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfNDIiLCAweDQwRTAwMDM0LCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MiByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV80MyIsIDB4NDBFMDAwMzQsIDExLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQzIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzQ0IiwgMHg0MEUwMDAzNCwgMTIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDQgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfNDUiLCAweDQwRTAwMDM0LCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0NSByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV80NiIsIDB4NDBFMDAwMzQsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ2IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzQ3IiwgMHg0MEUwMDAzNCwgMTUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDcgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfNDgiLCAweDQwRTAwMDM0LCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0OCByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV80OSIsIDB4NDBFMDAwMzQsIDE3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ5IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzUwIiwgMHg0MEUwMDAzNCwgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTAgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfNTEiLCAweDQwRTAwMDM0LCAxOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1MSByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV81MiIsIDB4NDBFMDAwMzQsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUyIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzUzIiwgMHg0MEUwMDAzNCwgMjEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTMgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfNTQiLCAweDQwRTAwMDM0LCAyMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NCByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV81NSIsIDB4NDBFMDAwMzQsIDIzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU1IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzU2IiwgMHg0MEUwMDAzNCwgMjQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTYgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfNTciLCAweDQwRTAwMDM0LCAyNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NyByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV81OCIsIDB4NDBFMDAwMzQsIDI2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU4IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzU5IiwgMHg0MEUwMDAzNCwgMjcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTkgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfNjAiLCAweDQwRTAwMDM0LCAyOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MCByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV82MSIsIDB4NDBFMDAwMzQsIDI5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYxIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzYyIiwgMHg0MEUwMDAzNCwgMzAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjIgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfNjMiLCAweDQwRTAwMDM0LCAzMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MyByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCisKK3sgIkdSRVIyIiwgICAgMHg0MEUwMDAzOCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gUmFpc2luZyBFZGdlIERldGVjdCBFbmFibGUgUmVnaXN0ZXIgMiAoNC0xMykiIH0sCit7ICJHUkVSMl82NCIsIDB4NDBFMDAwMzgsICAwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY0IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIyXzY1IiwgMHg0MEUwMDAzOCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjUgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjJfNjYiLCAweDQwRTAwMDM4LCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NiByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMl82NyIsIDB4NDBFMDAwMzgsICAzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY3IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIyXzY4IiwgMHg0MEUwMDAzOCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjggcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjJfNjkiLCAweDQwRTAwMDM4LCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2OSByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMl83MCIsIDB4NDBFMDAwMzgsICA2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcwIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIyXzcxIiwgMHg0MEUwMDAzOCwgIDcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzEgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjJfNzIiLCAweDQwRTAwMDM4LCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MiByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMl83MyIsIDB4NDBFMDAwMzgsICA5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDczIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIyXzc0IiwgMHg0MEUwMDAzOCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzQgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjJfNzUiLCAweDQwRTAwMDM4LCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3NSByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMl83NiIsIDB4NDBFMDAwMzgsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc2IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIyXzc3IiwgMHg0MEUwMDAzOCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzcgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjJfNzgiLCAweDQwRTAwMDM4LCAxNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3OCByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMl83OSIsIDB4NDBFMDAwMzgsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc5IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIyXzgwIiwgMHg0MEUwMDAzOCwgMTYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODAgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjJfODEiLCAweDQwRTAwMDM4LCAxNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4MSByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMl84MiIsIDB4NDBFMDAwMzgsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgyIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIyXzgzIiwgMHg0MEUwMDAzOCwgMTksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODMgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjJfODQiLCAweDQwRTAwMDM4LCAyMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4NCByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCisKK3sgIkdGRVIwIiwgICAgMHg0MEUwMDAzQywgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gRmFsbGluZyBFZGdlIERldGVjdCBFbmFibGUgUmVnaXN0ZXIgMCAoNC0xNCkiIH0sCit7ICJHRkVSMF8wIiwgIDB4NDBFMDAwM0MsICAwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDAgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfMSIsICAweDQwRTAwMDNDLCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzIiLCAgMHg0MEUwMDAzQywgIDIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMiBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF8zIiwgIDB4NDBFMDAwM0MsICAzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfNCIsICAweDQwRTAwMDNDLCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzUiLCAgMHg0MEUwMDAzQywgIDUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF82IiwgIDB4NDBFMDAwM0MsICA2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfNyIsICAweDQwRTAwMDNDLCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzgiLCAgMHg0MEUwMDAzQywgIDgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gOCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF85IiwgIDB4NDBFMDAwM0MsICA5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDkgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfMTAiLCAweDQwRTAwMDNDLCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxMCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF8xMSIsIDB4NDBFMDAwM0MsIDExLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDExIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzEyIiwgMHg0MEUwMDAzQywgMTIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTIgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfMTMiLCAweDQwRTAwMDNDLCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxMyBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF8xNCIsIDB4NDBFMDAwM0MsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE0IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzE1IiwgMHg0MEUwMDAzQywgMTUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTUgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfMTYiLCAweDQwRTAwMDNDLCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxNiBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF8xNyIsIDB4NDBFMDAwM0MsIDE3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE3IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzE4IiwgMHg0MEUwMDAzQywgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTggZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfMTkiLCAweDQwRTAwMDNDLCAxOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxOSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF8yMCIsIDB4NDBFMDAwM0MsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIwIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzIxIiwgMHg0MEUwMDAzQywgMjEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjEgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfMjIiLCAweDQwRTAwMDNDLCAyMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyMiBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF8yMyIsIDB4NDBFMDAwM0MsIDIzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIzIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzI0IiwgMHg0MEUwMDAzQywgMjQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjQgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfMjUiLCAweDQwRTAwMDNDLCAyNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF8yNiIsIDB4NDBFMDAwM0MsIDI2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI2IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzI3IiwgMHg0MEUwMDAzQywgMjcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjcgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfMjgiLCAweDQwRTAwMDNDLCAyOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyOCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF8yOSIsIDB4NDBFMDAwM0MsIDI5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI5IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzMwIiwgMHg0MEUwMDAzQywgMzAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzAgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfMzEiLCAweDQwRTAwMDNDLCAzMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCisKK3sgIkdGRVIxIiwgICAgMHg0MEUwMDA0MCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gRmFsbGluZyBFZGdlIERldGVjdCBFbmFibGUgUmVnaXN0ZXIgMSAoNC0xNCkiIH0sCit7ICJHRkVSMV8zMiIsIDB4NDBFMDAwNDAsICAwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMyIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzMzIiwgMHg0MEUwMDA0MCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzMgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfMzQiLCAweDQwRTAwMDQwLCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV8zNSIsIDB4NDBFMDAwNDAsICAzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM1IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzM2IiwgMHg0MEUwMDA0MCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzYgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfMzciLCAweDQwRTAwMDQwLCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNyBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV8zOCIsIDB4NDBFMDAwNDAsICA2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM4IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzM5IiwgMHg0MEUwMDA0MCwgIDcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzkgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfNDAiLCAweDQwRTAwMDQwLCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV80MSIsIDB4NDBFMDAwNDAsICA5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQxIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzQyIiwgMHg0MEUwMDA0MCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDIgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfNDMiLCAweDQwRTAwMDQwLCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MyBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV80NCIsIDB4NDBFMDAwNDAsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ0IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzQ1IiwgMHg0MEUwMDA0MCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDUgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfNDYiLCAweDQwRTAwMDQwLCAxNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0NiBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV80NyIsIDB4NDBFMDAwNDAsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ3IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzQ4IiwgMHg0MEUwMDA0MCwgMTYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDggZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfNDkiLCAweDQwRTAwMDQwLCAxNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0OSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV81MCIsIDB4NDBFMDAwNDAsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUwIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzUxIiwgMHg0MEUwMDA0MCwgMTksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTEgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfNTIiLCAweDQwRTAwMDQwLCAyMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1MiBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV81MyIsIDB4NDBFMDAwNDAsIDIxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUzIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzU0IiwgMHg0MEUwMDA0MCwgMjIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTQgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfNTUiLCAweDQwRTAwMDQwLCAyMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV81NiIsIDB4NDBFMDAwNDAsIDI0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU2IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzU3IiwgMHg0MEUwMDA0MCwgMjUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTcgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfNTgiLCAweDQwRTAwMDQwLCAyNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1OCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV81OSIsIDB4NDBFMDAwNDAsIDI3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU5IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzYwIiwgMHg0MEUwMDA0MCwgMjgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjAgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfNjEiLCAweDQwRTAwMDQwLCAyOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV82MiIsIDB4NDBFMDAwNDAsIDMwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYyIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzYzIiwgMHg0MEUwMDA0MCwgMzEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjMgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAorCit7ICJHRkVSMiIsICAgIDB4NDBFMDAwNDQsICAwLCAweGZmZmZmZmZmLCAneCcsICJHUElPIEZhbGxpbmcgRWRnZSBEZXRlY3QgRW5hYmxlIFJlZ2lzdGVyIDIgKDQtMTQpIiB9LAoreyAiR0ZFUjJfNjQiLCAweDQwRTAwMDQ0LCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMl82NSIsIDB4NDBFMDAwNDQsICAxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY1IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIyXzY2IiwgMHg0MEUwMDA0NCwgIDIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjYgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjJfNjciLCAweDQwRTAwMDQ0LCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NyBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMl82OCIsIDB4NDBFMDAwNDQsICA0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY4IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIyXzY5IiwgMHg0MEUwMDA0NCwgIDUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjkgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjJfNzAiLCAweDQwRTAwMDQ0LCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMl83MSIsIDB4NDBFMDAwNDQsICA3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcxIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIyXzcyIiwgMHg0MEUwMDA0NCwgIDgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzIgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjJfNzMiLCAweDQwRTAwMDQ0LCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MyBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMl83NCIsIDB4NDBFMDAwNDQsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc0IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIyXzc1IiwgMHg0MEUwMDA0NCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzUgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjJfNzYiLCAweDQwRTAwMDQ0LCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3NiBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMl83NyIsIDB4NDBFMDAwNDQsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc3IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIyXzc4IiwgMHg0MEUwMDA0NCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzggZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjJfNzkiLCAweDQwRTAwMDQ0LCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3OSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMl84MCIsIDB4NDBFMDAwNDQsIDE2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgwIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIyXzgxIiwgMHg0MEUwMDA0NCwgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODEgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjJfODIiLCAweDQwRTAwMDQ0LCAxOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4MiBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMl84MyIsIDB4NDBFMDAwNDQsIDE5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgzIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIyXzg0IiwgMHg0MEUwMDA0NCwgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODQgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAorCit7ICJHRURSMCIsICAgIDB4NDBFMDAwNDgsICAwLCAweGZmZmZmZmZmLCAneCcsICJHUElPIEVkZ2UgRGV0ZWN0IFJlZ2lzdGVyIDAgKDQtMTUpIiB9LAoreyAiR0VEUjBfMCIsICAweDQwRTAwMDQ4LCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAwIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF8xIiwgIDB4NDBFMDAwNDgsICAxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzIiLCAgMHg0MEUwMDA0OCwgIDIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMiBlZGdlIGRldGVjdGVkIiB9LAoreyAiR0VEUjBfMyIsICAweDQwRTAwMDQ4LCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF80IiwgIDB4NDBFMDAwNDgsICA0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzUiLCAgMHg0MEUwMDA0OCwgIDUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNSBlZGdlIGRldGVjdGVkIiB9LAoreyAiR0VEUjBfNiIsICAweDQwRTAwMDQ4LCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF83IiwgIDB4NDBFMDAwNDgsICA3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzgiLCAgMHg0MEUwMDA0OCwgIDgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gOCBlZGdlIGRldGVjdGVkIiB9LAoreyAiR0VEUjBfOSIsICAweDQwRTAwMDQ4LCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA5IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF8xMCIsIDB4NDBFMDAwNDgsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEwIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF8xMSIsIDB4NDBFMDAwNDgsIDExLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDExIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF8xMiIsIDB4NDBFMDAwNDgsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEyIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF8xMyIsIDB4NDBFMDAwNDgsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEzIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF8xNCIsIDB4NDBFMDAwNDgsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE0IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF8xNSIsIDB4NDBFMDAwNDgsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE1IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF8xNiIsIDB4NDBFMDAwNDgsIDE2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE2IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF8xNyIsIDB4NDBFMDAwNDgsIDE3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE3IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF8xOCIsIDB4NDBFMDAwNDgsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE4IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF8xOSIsIDB4NDBFMDAwNDgsIDE5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE5IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF8yMCIsIDB4NDBFMDAwNDgsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIwIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF8yMSIsIDB4NDBFMDAwNDgsIDIxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIxIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF8yMiIsIDB4NDBFMDAwNDgsIDIyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIyIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF8yMyIsIDB4NDBFMDAwNDgsIDIzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIzIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF8yNCIsIDB4NDBFMDAwNDgsIDI0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI0IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF8yNSIsIDB4NDBFMDAwNDgsIDI1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI1IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF8yNiIsIDB4NDBFMDAwNDgsIDI2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI2IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF8yNyIsIDB4NDBFMDAwNDgsIDI3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI3IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF8yOCIsIDB4NDBFMDAwNDgsIDI4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI4IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF8yOSIsIDB4NDBFMDAwNDgsIDI5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI5IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF8zMCIsIDB4NDBFMDAwNDgsIDMwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMwIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF8zMSIsIDB4NDBFMDAwNDgsIDMxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMxIGVkZ2UgZGV0ZWN0ZWQiIH0sCisKK3sgIkdFRFIxIiwgICAgMHg0MEUwMDA0QywgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gRWRnZSBEZXRlY3QgUmVnaXN0ZXIgMSAoNC0xNikiIH0sCit7ICJHRURSMV8zMiIsIDB4NDBFMDAwNEMsICAwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMyIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV8zMyIsIDB4NDBFMDAwNEMsICAxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMzIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV8zNCIsIDB4NDBFMDAwNEMsICAyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM0IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV8zNSIsIDB4NDBFMDAwNEMsICAzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM1IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV8zNiIsIDB4NDBFMDAwNEMsICA0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM2IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV8zNyIsIDB4NDBFMDAwNEMsICA1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM3IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV8zOCIsIDB4NDBFMDAwNEMsICA2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM4IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV8zOSIsIDB4NDBFMDAwNEMsICA3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM5IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV80MCIsIDB4NDBFMDAwNEMsICA4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQwIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV80MSIsIDB4NDBFMDAwNEMsICA5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQxIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV80MiIsIDB4NDBFMDAwNEMsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQyIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV80MyIsIDB4NDBFMDAwNEMsIDExLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQzIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV80NCIsIDB4NDBFMDAwNEMsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ0IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV80NSIsIDB4NDBFMDAwNEMsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ1IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV80NiIsIDB4NDBFMDAwNEMsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ2IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV80NyIsIDB4NDBFMDAwNEMsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ3IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV80OCIsIDB4NDBFMDAwNEMsIDE2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ4IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV80OSIsIDB4NDBFMDAwNEMsIDE3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ5IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV81MCIsIDB4NDBFMDAwNEMsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUwIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV81MSIsIDB4NDBFMDAwNEMsIDE5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUxIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV81MiIsIDB4NDBFMDAwNEMsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUyIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV81MyIsIDB4NDBFMDAwNEMsIDIxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUzIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV81NCIsIDB4NDBFMDAwNEMsIDIyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU0IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV81NSIsIDB4NDBFMDAwNEMsIDIzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU1IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV81NiIsIDB4NDBFMDAwNEMsIDI0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU2IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV81NyIsIDB4NDBFMDAwNEMsIDI1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU3IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV81OCIsIDB4NDBFMDAwNEMsIDI2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU4IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV81OSIsIDB4NDBFMDAwNEMsIDI3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU5IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV82MCIsIDB4NDBFMDAwNEMsIDI4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYwIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV82MSIsIDB4NDBFMDAwNEMsIDI5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYxIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV82MiIsIDB4NDBFMDAwNEMsIDMwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYyIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMV82MyIsIDB4NDBFMDAwNEMsIDMxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYzIGVkZ2UgZGV0ZWN0ZWQiIH0sCisKK3sgIkdFRFIyIiwgICAgMHg0MEUwMDA1MCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gRWRnZSBEZXRlY3QgUmVnaXN0ZXIgMiAoNC0xNikiIH0sCit7ICJHRURSMl82NCIsIDB4NDBFMDAwNTAsICAwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY0IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMl82NSIsIDB4NDBFMDAwNTAsICAxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY1IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMl82NiIsIDB4NDBFMDAwNTAsICAyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY2IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMl82NyIsIDB4NDBFMDAwNTAsICAzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY3IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMl82OCIsIDB4NDBFMDAwNTAsICA0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY4IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMl82OSIsIDB4NDBFMDAwNTAsICA1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY5IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMl83MCIsIDB4NDBFMDAwNTAsICA2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcwIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMl83MSIsIDB4NDBFMDAwNTAsICA3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcxIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMl83MiIsIDB4NDBFMDAwNTAsICA4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcyIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMl83MyIsIDB4NDBFMDAwNTAsICA5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDczIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMl83NCIsIDB4NDBFMDAwNTAsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc0IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMl83NSIsIDB4NDBFMDAwNTAsIDExLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc1IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMl83NiIsIDB4NDBFMDAwNTAsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc2IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMl83NyIsIDB4NDBFMDAwNTAsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc3IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMl83OCIsIDB4NDBFMDAwNTAsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc4IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMl83OSIsIDB4NDBFMDAwNTAsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc5IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMl84MCIsIDB4NDBFMDAwNTAsIDE2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgwIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMl84MSIsIDB4NDBFMDAwNTAsIDE3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgxIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMl84MiIsIDB4NDBFMDAwNTAsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgyIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMl84MyIsIDB4NDBFMDAwNTAsIDE5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgzIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMl84NCIsIDB4NDBFMDAwNTAsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDg0IGVkZ2UgZGV0ZWN0ZWQiIH0sCisKK3sgIkdBRlIwTCIsICAgIDB4NDBFMDAwNTQsICAwLCAweGZmZmZmZmZmLCAneCcsICJHUElPIEFsdGVybmF0ZSBGdW5jdGlvbiBSZWdpc3RlciAwIExvd2VyICg0LTE3KSIgfSwKK3sgIkdBRlIwTF8wIiwgIDB4NDBFMDAwNTQsICAwLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDAgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwTF8xIiwgIDB4NDBFMDAwNTQsICAyLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDEgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwTF8yIiwgIDB4NDBFMDAwNTQsICA0LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDIgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwTF8zIiwgIDB4NDBFMDAwNTQsICA2LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDMgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwTF80IiwgIDB4NDBFMDAwNTQsICA4LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDQgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwTF81IiwgIDB4NDBFMDAwNTQsIDEwLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDUgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwTF82IiwgIDB4NDBFMDAwNTQsIDEyLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDYgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwTF83IiwgIDB4NDBFMDAwNTQsIDE0LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDcgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwTF84IiwgIDB4NDBFMDAwNTQsIDE2LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDggYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwTF85IiwgIDB4NDBFMDAwNTQsIDE4LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDkgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwTF8xMCIsIDB4NDBFMDAwNTQsIDIwLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDEwIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMExfMTEiLCAweDQwRTAwMDU0LCAyMiwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAxMSBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBMXzEyIiwgMHg0MEUwMDA1NCwgMjQsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMTIgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwTF8xMyIsIDB4NDBFMDAwNTQsIDI2LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDEzIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMExfMTQiLCAweDQwRTAwMDU0LCAyOCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAxNCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBMXzE1IiwgMHg0MEUwMDA1NCwgMzAsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMTUgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKKworeyAiR0FGUjBVIiwgICAgMHg0MEUwMDA1OCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gQWx0ZXJuYXRlIEZ1bmN0aW9uIFJlZ2lzdGVyIDAgVXBwZXIgKDQtMTgpIiB9LAoreyAiR0FGUjBVXzE2IiwgMHg0MEUwMDA1OCwgIDAsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMTYgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwVV8xNyIsIDB4NDBFMDAwNTgsICAyLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDE3IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMFVfMTgiLCAweDQwRTAwMDU4LCAgNCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAxOCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBVXzE5IiwgMHg0MEUwMDA1OCwgIDYsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMTkgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwVV8yMCIsIDB4NDBFMDAwNTgsICA4LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDIwIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMFVfMjEiLCAweDQwRTAwMDU4LCAxMCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAyMSBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBVXzIyIiwgMHg0MEUwMDA1OCwgMTIsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMjIgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwVV8yMyIsIDB4NDBFMDAwNTgsIDE0LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDIzIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMFVfMjQiLCAweDQwRTAwMDU4LCAxNiwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAyNCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBVXzI1IiwgMHg0MEUwMDA1OCwgMTgsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMjUgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwVV8yNiIsIDB4NDBFMDAwNTgsIDIwLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDI2IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMFVfMjciLCAweDQwRTAwMDU4LCAyMiwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAyNyBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBVXzI4IiwgMHg0MEUwMDA1OCwgMjQsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMjggYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwVV8yOSIsIDB4NDBFMDAwNTgsIDI2LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDI5IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMFVfMzAiLCAweDQwRTAwMDU4LCAyOCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAzMCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBVXzMxIiwgMHg0MEUwMDA1OCwgMzAsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMzEgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKKworeyAiR0FGUjFMIiwgICAgMHg0MEUwMDA1QywgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gQWx0ZXJuYXRlIEZ1bmN0aW9uIFJlZ2lzdGVyIDEgTG93ZXIgKDQtMTgpIiB9LAoreyAiR0FGUjFMXzMyIiwgMHg0MEUwMDA1QywgIDAsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMzIgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxTF8zMyIsIDB4NDBFMDAwNUMsICAyLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDMzIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMUxfMzQiLCAweDQwRTAwMDVDLCAgNCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAzNCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFMXzM1IiwgMHg0MEUwMDA1QywgIDYsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMzUgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxTF8zNiIsIDB4NDBFMDAwNUMsICA4LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDM2IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMUxfMzciLCAweDQwRTAwMDVDLCAxMCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAzNyBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFMXzM4IiwgMHg0MEUwMDA1QywgMTIsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMzggYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxTF8zOSIsIDB4NDBFMDAwNUMsIDE0LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDM5IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMUxfNDAiLCAweDQwRTAwMDVDLCAxNiwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA0MCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFMXzQxIiwgMHg0MEUwMDA1QywgMTgsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNDEgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxTF80MiIsIDB4NDBFMDAwNUMsIDIwLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDQyIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMUxfNDMiLCAweDQwRTAwMDVDLCAyMiwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA0MyBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFMXzQ0IiwgMHg0MEUwMDA1QywgMjQsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNDQgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxTF80NSIsIDB4NDBFMDAwNUMsIDI2LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDQ1IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMUxfNDYiLCAweDQwRTAwMDVDLCAyOCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA0NiBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFMXzQ3IiwgMHg0MEUwMDA1QywgMzAsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNDcgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKKworeyAiR0FGUjFVIiwgICAgMHg0MEUwMDA2MCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gQWx0ZXJuYXRlIEZ1bmN0aW9uIFJlZ2lzdGVyIDEgVXBwZXIgKDQtMTkpIiB9LAoreyAiR0FGUjFVXzQ4IiwgMHg0MEUwMDA2MCwgIDAsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNDggYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxVV80OSIsIDB4NDBFMDAwNjAsICAyLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDQ5IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMVVfNTAiLCAweDQwRTAwMDYwLCAgNCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA1MCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFVXzUxIiwgMHg0MEUwMDA2MCwgIDYsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNTEgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxVV81MiIsIDB4NDBFMDAwNjAsICA4LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDUyIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMVVfNTMiLCAweDQwRTAwMDYwLCAxMCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA1MyBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFVXzU0IiwgMHg0MEUwMDA2MCwgMTIsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNTQgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxVV81NSIsIDB4NDBFMDAwNjAsIDE0LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDU1IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMVVfNTYiLCAweDQwRTAwMDYwLCAxNiwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA1NiBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFVXzU3IiwgMHg0MEUwMDA2MCwgMTgsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNTcgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxVV81OCIsIDB4NDBFMDAwNjAsIDIwLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDU4IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMVVfNTkiLCAweDQwRTAwMDYwLCAyMiwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA1OSBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFVXzYwIiwgMHg0MEUwMDA2MCwgMjQsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNjAgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxVV82MSIsIDB4NDBFMDAwNjAsIDI2LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDYxIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMVVfNjIiLCAweDQwRTAwMDYwLCAyOCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA2MiBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFVXzYzIiwgMHg0MEUwMDA2MCwgMzAsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNjMgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKKworeyAiR0FGUjJMIiwgICAgMHg0MEUwMDA2NCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gQWx0ZXJuYXRlIEZ1bmN0aW9uIFJlZ2lzdGVyIDIgTG93ZXIgKDQtMTkpIiB9LAoreyAiR0FGUjJMXzY0IiwgMHg0MEUwMDA2NCwgIDAsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNjQgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIyTF82NSIsIDB4NDBFMDAwNjQsICAyLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDY1IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMkxfNjYiLCAweDQwRTAwMDY0LCAgNCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA2NiBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjJMXzY3IiwgMHg0MEUwMDA2NCwgIDYsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNjcgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIyTF82OCIsIDB4NDBFMDAwNjQsICA4LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDY4IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMkxfNjkiLCAweDQwRTAwMDY0LCAxMCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA2OSBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjJMXzcwIiwgMHg0MEUwMDA2NCwgMTIsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNzAgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIyTF83MSIsIDB4NDBFMDAwNjQsIDE0LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDcxIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMkxfNzIiLCAweDQwRTAwMDY0LCAxNiwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA3MiBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjJMXzczIiwgMHg0MEUwMDA2NCwgMTgsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNzMgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIyTF83NCIsIDB4NDBFMDAwNjQsIDIwLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDc0IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMkxfNzUiLCAweDQwRTAwMDY0LCAyMiwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA3NSBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjJMXzc2IiwgMHg0MEUwMDA2NCwgMjQsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNzYgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIyTF83NyIsIDB4NDBFMDAwNjQsIDI2LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDc3IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMkxfNzgiLCAweDQwRTAwMDY0LCAyOCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA3OCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjJMXzc5IiwgMHg0MEUwMDA2NCwgMzAsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNzkgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKKworeyAiR0FGUjJVIiwgICAgMHg0MEUwMDA2OCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gQWx0ZXJuYXRlIEZ1bmN0aW9uIFJlZ2lzdGVyIDIgVXBwZXIgKDQtMTkpIiB9LAoreyAiR0FGUjJVXzgwIiwgMHg0MEUwMDA2OCwgIDAsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gODAgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIyVV84MSIsIDB4NDBFMDAwNjgsICAyLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDgxIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMlVfODIiLCAweDQwRTAwMDY4LCAgNCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA4MiBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjJVXzgzIiwgMHg0MEUwMDA2OCwgIDYsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gODMgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIyVV84NCIsIDB4NDBFMDAwNjgsICA4LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDg0IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCisKK3sgIklDTVIiLCAgICAgIDB4NDBEMDAwMDQsICAwLCAweGZmZmZmZmZmLCAneCcsICJJbnRlcnJ1cHQgQ29udHJvbGxlciBNYXNrIFJlZ2lzdGVyICg0LTIyKSIgfSwKK3sgIklDTVJfSU03IiwgIDB4NDBEMDAwMDQsICA3LCAweDAwMDAwMDAxLCAneCcsICJQZW5kaW5nIElSUSA3IChIV1VBUlQpIHVubWFza2VkPyIgfSwKK3sgIklDTVJfSU04IiwgIDB4NDBEMDAwMDQsICA4LCAweDAwMDAwMDAxLCAneCcsICJQZW5kaW5nIElSUSA4IChHUElPMCkgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNOSIsICAweDQwRDAwMDA0LCAgOSwgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgOSAoR1BJTzEpIHVubWFza2VkIiB9LAoreyAiSUNNUl9JTTEwIiwgMHg0MEQwMDAwNCwgMTAsIDB4MDAwMDAwMDEsICd4JywgIlBlbmRpbmcgSVJRIDEwIChHUElPMl84MCkgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMTEiLCAweDQwRDAwMDA0LCAxMSwgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMTEgKFVTQikgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMTIiLCAweDQwRDAwMDA0LCAxMiwgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMTIgKFBNVSkgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMTMiLCAweDQwRDAwMDA0LCAxMywgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMTMgKEkyUykgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMTQiLCAweDQwRDAwMDA0LCAxNCwgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMTQgKEFDOTcpIHVubWFza2VkIiB9LAoreyAiSUNNUl9JTTE3IiwgMHg0MEQwMDAwNCwgMTcsIDB4MDAwMDAwMDEsICd4JywgIlBlbmRpbmcgSVJRIDE3IChMQ0QpIHVubWFza2VkIiB9LAoreyAiSUNNUl9JTTE4IiwgMHg0MEQwMDAwNCwgMTgsIDB4MDAwMDAwMDEsICd4JywgIlBlbmRpbmcgSVJRIDE4IChJMkMpIHVubWFza2VkIiB9LAoreyAiSUNNUl9JTTE5IiwgMHg0MEQwMDAwNCwgMTksIDB4MDAwMDAwMDEsICd4JywgIlBlbmRpbmcgSVJRIDE5IChJQ1ApIHVubWFza2VkIiB9LAoreyAiSUNNUl9JTTIwIiwgMHg0MEQwMDAwNCwgMjAsIDB4MDAwMDAwMDEsICd4JywgIlBlbmRpbmcgSVJRIDIwIChTVFVBUlQpIHVubWFza2VkIiB9LAoreyAiSUNNUl9JTTIxIiwgMHg0MEQwMDAwNCwgMjEsIDB4MDAwMDAwMDEsICd4JywgIlBlbmRpbmcgSVJRIDIxIChCVFVBUlQpIHVubWFza2VkIiB9LAoreyAiSUNNUl9JTTIyIiwgMHg0MEQwMDAwNCwgMjIsIDB4MDAwMDAwMDEsICd4JywgIlBlbmRpbmcgSVJRIDIyIChGRlVBUlQpIHVubWFza2VkIiB9LAoreyAiSUNNUl9JTTIzIiwgMHg0MEQwMDAwNCwgMjMsIDB4MDAwMDAwMDEsICd4JywgIlBlbmRpbmcgSVJRIDIzIChNTUMpIHVubWFza2VkIiB9LAoreyAiSUNNUl9JTTI0IiwgMHg0MEQwMDAwNCwgMjQsIDB4MDAwMDAwMDEsICd4JywgIlBlbmRpbmcgSVJRIDI0IChTU1ApIHVubWFza2VkIiB9LAoreyAiSUNNUl9JTTI1IiwgMHg0MEQwMDAwNCwgMjUsIDB4MDAwMDAwMDEsICd4JywgIlBlbmRpbmcgSVJRIDI1IChETUEpIHVubWFza2VkIiB9LAoreyAiSUNNUl9JTTI2IiwgMHg0MEQwMDAwNCwgMjYsIDB4MDAwMDAwMDEsICd4JywgIlBlbmRpbmcgSVJRIDI2IChPU01SMCkgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMjciLCAweDQwRDAwMDA0LCAyNywgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMjcgKE9TTVIxKSB1bm1hc2tlZCIgfSwKK3sgIklDTVJfSU0yOCIsIDB4NDBEMDAwMDQsIDI4LCAweDAwMDAwMDAxLCAneCcsICJQZW5kaW5nIElSUSAyOCAoT1NNUjIpIHVubWFza2VkIiB9LAoreyAiSUNNUl9JTTI5IiwgMHg0MEQwMDAwNCwgMjksIDB4MDAwMDAwMDEsICd4JywgIlBlbmRpbmcgSVJRIDI5IChPU01SMykgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMzAiLCAweDQwRDAwMDA0LCAzMCwgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMzAgKFJUQ0NMSykgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMzEiLCAweDQwRDAwMDA0LCAzMSwgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMzEgKFJUQ0FMTSkgdW5tYXNrZWQiIH0sCisKK3sgIklDTFIiLCAgICAgIDB4NDBEMDAwMDgsICAwLCAweGZmZmZmZmZmLCAneCcsICJJbnRlcnJ1cHQgQ29udHJvbGxlciBMZXZlbCBSZWdpc3RlciAoNC0yMykiIH0sCit7ICJJQ0xSX0lMNyIsICAweDQwRDAwMDA4LCAgNywgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDggKEhXVUFSVCkgZ2VuZXJhdGVzIEZJUT8iIH0sCit7ICJJQ0xSX0lMOCIsICAweDQwRDAwMDA4LCAgOCwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDggKEdQSU8wKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDkiLCAgMHg0MEQwMDAwOCwgIDksIDB4MDAwMDAwMDEsICd4JywgIklSUSA5IChHUElPMSkgZ2VuZXJhdGVzIEZJUSIgfSwKK3sgIklDTFJfSUwxMCIsIDB4NDBEMDAwMDgsIDEwLCAweDAwMDAwMDAxLCAneCcsICJJUlEgMTAgKEdQSU8yXzgwKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDExIiwgMHg0MEQwMDAwOCwgMTEsIDB4MDAwMDAwMDEsICd4JywgIklSUSAxMSAoVVNCKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDEyIiwgMHg0MEQwMDAwOCwgMTIsIDB4MDAwMDAwMDEsICd4JywgIklSUSAxMiAoUE1VKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDEzIiwgMHg0MEQwMDAwOCwgMTMsIDB4MDAwMDAwMDEsICd4JywgIklSUSAxMyAoSTJTKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDE0IiwgMHg0MEQwMDAwOCwgMTQsIDB4MDAwMDAwMDEsICd4JywgIklSUSAxNCAoQUM5NykgZ2VuZXJhdGVzIEZJUSIgfSwKK3sgIklDTFJfSUwxNyIsIDB4NDBEMDAwMDgsIDE3LCAweDAwMDAwMDAxLCAneCcsICJJUlEgMTcgKExDRCkgZ2VuZXJhdGVzIEZJUSIgfSwKK3sgIklDTFJfSUwxOCIsIDB4NDBEMDAwMDgsIDE4LCAweDAwMDAwMDAxLCAneCcsICJJUlEgMTggKEkyQykgZ2VuZXJhdGVzIEZJUSIgfSwKK3sgIklDTFJfSUwxOSIsIDB4NDBEMDAwMDgsIDE5LCAweDAwMDAwMDAxLCAneCcsICJJUlEgMTkgKElDUCkgZ2VuZXJhdGVzIEZJUSIgfSwKK3sgIklDTFJfSUwyMCIsIDB4NDBEMDAwMDgsIDIwLCAweDAwMDAwMDAxLCAneCcsICJJUlEgMTAgKFNUVUFSVCkgZ2VuZXJhdGVzIEZJUSIgfSwKK3sgIklDTFJfSUwyMSIsIDB4NDBEMDAwMDgsIDIxLCAweDAwMDAwMDAxLCAneCcsICJJUlEgMjEgKEJUVUFSVCkgZ2VuZXJhdGVzIEZJUSIgfSwKK3sgIklDTFJfSUwyMiIsIDB4NDBEMDAwMDgsIDIyLCAweDAwMDAwMDAxLCAneCcsICJJUlEgMjIgKEZGVUFSVCkgZ2VuZXJhdGVzIEZJUSIgfSwKK3sgIklDTFJfSUwyMyIsIDB4NDBEMDAwMDgsIDIzLCAweDAwMDAwMDAxLCAneCcsICJJUlEgMjMgKE1NQykgZ2VuZXJhdGVzIEZJUSIgfSwKK3sgIklDTFJfSUwyNCIsIDB4NDBEMDAwMDgsIDI0LCAweDAwMDAwMDAxLCAneCcsICJJUlEgMjQgKFNTUCkgZ2VuZXJhdGVzIEZJUSIgfSwKK3sgIklDTFJfSUwyNSIsIDB4NDBEMDAwMDgsIDI1LCAweDAwMDAwMDAxLCAneCcsICJJUlEgMjUgKERNQSkgZ2VuZXJhdGVzIEZJUSIgfSwKK3sgIklDTFJfSUwyNiIsIDB4NDBEMDAwMDgsIDI2LCAweDAwMDAwMDAxLCAneCcsICJJUlEgMjYgKE9TTVIwKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDI3IiwgMHg0MEQwMDAwOCwgMjcsIDB4MDAwMDAwMDEsICd4JywgIklSUSAyNyAoT1NNUjEpIGdlbmVyYXRlcyBGSVEiIH0sCit7ICJJQ0xSX0lMMjgiLCAweDQwRDAwMDA4LCAyOCwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDI4IChPU01SMikgZ2VuZXJhdGVzIEZJUSIgfSwKK3sgIklDTFJfSUwyOSIsIDB4NDBEMDAwMDgsIDI5LCAweDAwMDAwMDAxLCAneCcsICJJUlEgMjkgKE9TTVIzKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDMwIiwgMHg0MEQwMDAwOCwgMzAsIDB4MDAwMDAwMDEsICd4JywgIklSUSAzMCAoUlRDQ0xLKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDMxIiwgMHg0MEQwMDAwOCwgMzEsIDB4MDAwMDAwMDEsICd4JywgIklSUSAzMSAoUlRDQUxNKSBnZW5lcmF0ZXMgRklRIiB9LAorCit7ICJJQ0NSIiwgICAgICAweDQwRDAwMDE0LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiSW50ZXJydXB0IENvbnRyb2xsZXIgQ29udHJvbCBSZWdpc3RlciAoNC0yMykiIH0sCit7ICJJQ0NSX0RJTSIsICAweDQwRDAwMDE0LCAgOCwgMHgwMDAwMDAwMSwgJ3gnLCAiT05MWSBlbmFibGVkIGFuZCB1bm1hc2tlZCBJUlEgYnJpbmcgQ1BVIGZyb20gaWRsZSB0byBydW4iIH0sCisKK3sgIklDSVAiLCAgICAgIDB4NDBEMDAwMDAsICAwLCAweGZmZmZmZmZmLCAneCcsICJJbnRlcnJ1cHQgQ29udHJvbGxlciBJUlEgUGVuZGluZyBSZWdpc3RlciAoNC0yNCkiIH0sCisKK3sgIklDRlAiLCAgICAgIDB4NDBEMDAwMEMsICAwLCAweGZmZmZmZmZmLCAneCcsICJJbnRlcnJ1cHQgQ29udHJvbGxlciBGSVEgUGVuZGluZyBSZWdpc3RlciAoNC0yNCkiIH0sCisKK3sgIklDUFIiLCAgICAgIDB4NDBEMDAwMTAsICAwLCAweGZmZmZmZmZmLCAneCcsICJJbnRlcnJ1cHQgQ29udHJvbGxlciBQZW5kaW5nIFJlZ2lzdGVyICg0LTI1KSIgfSwKK3sgIklDUFJfSVM3IiwgIDB4NDBEMDAwMTAsICA3LCAweDAwMDAwMDAxLCAneCcsICJJUlEgNyAoSFdVQVJUKSBwZW5kaW5nIiB9LAoreyAiSUNQUl9JUzgiLCAgMHg0MEQwMDAxMCwgIDgsIDB4MDAwMDAwMDEsICd4JywgIklSUSA4IChHUElPMCkgcGVuZGluZyIgfSwKK3sgIklDUFJfSVM5IiwgIDB4NDBEMDAwMTAsICA5LCAweDAwMDAwMDAxLCAneCcsICJJUlEgOSAoR1BJTzEpIHBlbmRpbmciIH0sCit7ICJJQ1BSX0lTMTAiLCAweDQwRDAwMDEwLCAxMCwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDEwIChHUElPMl84MCkgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMxMSIsIDB4NDBEMDAwMTAsIDExLCAweDAwMDAwMDAxLCAneCcsICJJUlEgMTEgKFVTQikgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMxMiIsIDB4NDBEMDAwMTAsIDEyLCAweDAwMDAwMDAxLCAneCcsICJJUlEgMTIgKFBNVSkgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMxMyIsIDB4NDBEMDAwMTAsIDEzLCAweDAwMDAwMDAxLCAneCcsICJJUlEgMTMgKEkyUykgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMxNCIsIDB4NDBEMDAwMTAsIDE0LCAweDAwMDAwMDAxLCAneCcsICJJUlEgMTQgKEFDOTcpIHBlbmRpbmciIH0sCit7ICJJQ1BSX0lTMTciLCAweDQwRDAwMDEwLCAxNywgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDE3IChMQ0QpIHBlbmRpbmciIH0sCit7ICJJQ1BSX0lTMTgiLCAweDQwRDAwMDEwLCAxOCwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDE4IChJMkMpIHBlbmRpbmciIH0sCit7ICJJQ1BSX0lTMTkiLCAweDQwRDAwMDEwLCAxOSwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDE5IChJQ1ApIHBlbmRpbmciIH0sCit7ICJJQ1BSX0lTMjAiLCAweDQwRDAwMDEwLCAyMCwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDEwIChTVFVBUlQpIHBlbmRpbmciIH0sCit7ICJJQ1BSX0lTMjEiLCAweDQwRDAwMDEwLCAyMSwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDIxIChCVFVBUlQpIHBlbmRpbmciIH0sCit7ICJJQ1BSX0lTMjIiLCAweDQwRDAwMDEwLCAyMiwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDIyIChGRlVBUlQpIHBlbmRpbmciIH0sCit7ICJJQ1BSX0lTMjMiLCAweDQwRDAwMDEwLCAyMywgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDIzIChNTUMpIHBlbmRpbmciIH0sCit7ICJJQ1BSX0lTMjQiLCAweDQwRDAwMDEwLCAyNCwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDI0IChTU1ApIHBlbmRpbmciIH0sCit7ICJJQ1BSX0lTMjUiLCAweDQwRDAwMDEwLCAyNSwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDI1IChETUEpIHBlbmRpbmciIH0sCit7ICJJQ1BSX0lTMjYiLCAweDQwRDAwMDEwLCAyNiwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDI2IChPU01SMCkgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMyNyIsIDB4NDBEMDAwMTAsIDI3LCAweDAwMDAwMDAxLCAneCcsICJJUlEgMjcgKE9TTVIxKSBwZW5kaW5nIiB9LAoreyAiSUNQUl9JUzI4IiwgMHg0MEQwMDAxMCwgMjgsIDB4MDAwMDAwMDEsICd4JywgIklSUSAyOCAoT1NNUjIpIHBlbmRpbmciIH0sCit7ICJJQ1BSX0lTMjkiLCAweDQwRDAwMDEwLCAyOSwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDI5IChPU01SMykgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMzMCIsIDB4NDBEMDAwMTAsIDMwLCAweDAwMDAwMDAxLCAneCcsICJJUlEgMzAgKFJUQ0NMSykgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMzMSIsIDB4NDBEMDAwMTAsIDMxLCAweDAwMDAwMDAxLCAneCcsICJJUlEgMzEgKFJUQ0FMTSkgcGVuZGluZyIgfSwKKworeyAiUlRUUiIsICAgICAgICAweDQwOTAwMDBDLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiUlRDIFRyaW0gUmVnaXN0ZXIgKDQtMzApIiB9LAoreyAiUlRUUl9DS19ESVYiLCAweDQwOTAwMDBDLCAgMCwgMHgwMDAwZmZmZiwgJ3gnLCAiUlRDIENsb2NrIERpdmlkZXIgQ291bnQiIH0sCit7ICJSVFRSX0RFTCIsICAgIDB4NDA5MDAwMEMsIDE2LCAweDAwMDAwM2ZmLCAneCcsICJSVEMgVHJpbSBkZWxldGUgQ291bnQiIH0sCit7ICJSVFRSX0xDSyIsICAgIDB4NDA5MDAwMEMsIDMxLCAweDAwMDAwMDAxLCAneCcsICJSVEMgTG9ja2luZyBmb3IgUlRUUiIgfSwKKworeyAiUlRBUiIsICAgICAgICAweDQwOTAwMDEwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiUlRDIEFsYXJtIFJlZ2lzdGVyICg0LTMwKSIgfSwKK3sgIlJUQVJfUlRNViIsICAgMHg0MDkwMDAxMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIlJUQyBUYXJnZXQgTWF0Y2ggVmFsdWUiIH0sCisKK3sgIlJDTlIiLCAgICAgICAgMHg0MDkwMDAwMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIlJUQyBDb3VudGVyIFJlZ2lzdGVyICg0LTMxKSIgfSwKK3sgIlJDTlJfUkNWIiwgICAgMHg0MDkwMDAwMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIlJUQyBDb3VudCBWYWx1ZSIgfSwKKworeyAiUlRTUiIsICAgICAgICAweDQwOTAwMDA4LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiUlRDIFN0YXR1cyBSZWdpc3RlciAoNC0zMikiIH0sCit7ICJSVFNSX0FMIiwgICAgIDB4NDA5MDAwMDgsICAwLCAweDAwMDAwMDAxLCAneCcsICJSVEMgQWxhcm0gSW50ZXJydXB0IGRldGVjdGVkIiB9LAoreyAiUlRTUl9IWiIsICAgICAweDQwOTAwMDA4LCAgMSwgMHgwMDAwMDAwMSwgJ3gnLCAiUlRDIEh6IEludGVycnVwdCBkZXRlY3RlZCIgfSwKK3sgIlJUU1JfQUxFIiwgICAgMHg0MDkwMDAwOCwgIDIsIDB4MDAwMDAwMDEsICd4JywgIlJUQyBBbGFybSBJbnRlcnJ1cHQgRW5hYmxlIiB9LAoreyAiUlRTUl9IWkUiLCAgICAweDQwOTAwMDA4LCAgMywgMHgwMDAwMDAwMSwgJ3gnLCAiUlRDIEh6IEludGVycnVwdCBFbmFibGUiIH0sCisKK3sgIk9TTVIwIiwgICAgICAgMHg0MEEwMDAwMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIk9TIFRpbWVyIE1hdGNoIFJlZ2lzdGVyIDAgKDQtMzYpIiB9LAoreyAiT1NNUjEiLCAgICAgICAweDQwQTAwMDA0LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiT1MgVGltZXIgTWF0Y2ggUmVnaXN0ZXIgMSAoNC0zNikiIH0sCit7ICJPU01SMiIsICAgICAgIDB4NDBBMDAwMDgsICAwLCAweGZmZmZmZmZmLCAneCcsICJPUyBUaW1lciBNYXRjaCBSZWdpc3RlciAyICg0LTM2KSIgfSwKK3sgIk9TTVIzIiwgICAgICAgMHg0MEEwMDAwQywgIDAsIDB4ZmZmZmZmZmYsICd4JywgIk9TIFRpbWVyIE1hdGNoIFJlZ2lzdGVyIDMgKDQtMzYpIiB9LAorCit7ICJPSUVSIiwgICAgICAgIDB4NDBBMDAwMUMsICAwLCAweGZmZmZmZmZmLCAneCcsICJPUyBUaW1lciBJbnRlcnJ1cHQgRW5hYmxlIFJlZ2lzdGVyICg0LTM2KSIgfSwKK3sgIk9JRVJfRTAiLCAgICAgMHg0MEEwMDAxQywgIDAsIDB4MDAwMDAwMDEsICd4JywgIk9TIEludGVycnVwdCBmb3IgT1NNUjAgZW5hYmxlZCIgfSwKK3sgIk9JRVJfRTEiLCAgICAgMHg0MEEwMDAxQywgIDEsIDB4MDAwMDAwMDEsICd4JywgIk9TIEludGVycnVwdCBmb3IgT1NNUjEgZW5hYmxlZCIgfSwKK3sgIk9JRVJfRTIiLCAgICAgMHg0MEEwMDAxQywgIDIsIDB4MDAwMDAwMDEsICd4JywgIk9TIEludGVycnVwdCBmb3IgT1NNUjIgZW5hYmxlZCIgfSwKK3sgIk9JRVJfRTMiLCAgICAgMHg0MEEwMDAxQywgIDMsIDB4MDAwMDAwMDEsICd4JywgIk9TIEludGVycnVwdCBmb3IgT1NNUjMgZW5hYmxlZCIgfSwKKworeyAiT1dFUiIsICAgICAgICAweDQwQTAwMDE4LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiT1MgVGltZXIgV2F0Y2hkb2cgTWF0Y2ggRW5hYmxlIFJlZ2lzdGVyICg0LTM3KSIgfSwKK3sgIk9XRVJfV01FIiwgICAgMHg0MEEwMDAxOCwgIDAsIDB4MDAwMDAwMDEsICd4JywgIk9TTVIzIG1hdGNoIGNhdXNlcyBhIHJlc2V0IiB9LAorCit7ICJPU0NSIiwgICAgICAgIDB4NDBBMDAwMTAsICAwLCAweGZmZmZmZmZmLCAneCcsICJPUyBUaW1lciBDb3VudCBSZWdpc3RlciAoNC0zNykiIH0sCit7ICJPU0NSX09TQ1YiLCAgIDB4NDBBMDAwMTAsICAwLCAweGZmZmZmZmZmLCAneCcsICJPUyBUaW1lciBDb3VudCBWYWx1ZSIgfSwKKworeyAiT1NTUiIsICAgICAgICAweDQwQTAwMDE0LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiT1MgVGltZXIgU3RhdHVzIFJlZ2lzdGVyICg0LTM4KSIgfSwKK3sgIk9TU1JfTTAiLCAgICAgMHg0MEEwMDAxNCwgIDAsIDB4MDAwMDAwMDEsICd4JywgIk9TIE9TTVIwIG1hdGNoZWQgT1NDUjAiIH0sCit7ICJPU1NSX00xIiwgICAgIDB4NDBBMDAwMTQsICAxLCAweDAwMDAwMDAxLCAneCcsICJPUyBPU01SMSBtYXRjaGVkIE9TQ1IxIiB9LAoreyAiT1NTUl9NMiIsICAgICAweDQwQTAwMDE0LCAgMiwgMHgwMDAwMDAwMSwgJ3gnLCAiT1MgT1NNUjIgbWF0Y2hlZCBPU0NSMiIgfSwKK3sgIk9TU1JfTTMiLCAgICAgMHg0MEEwMDAxNCwgIDMsIDB4MDAwMDAwMDEsICd4JywgIk9TIE9TTVIzIG1hdGNoZWQgT1NDUjMiIH0sCisKK3sgIlBXTUNUTDAiLCAgICAgICAgICAgICAweDQwQjAwMDAwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiUFdNIENvbnRyb2wgUmVnaXN0ZXIgMCAoNC00MSkiIH0sCit7ICJQV01DVEwwX1BSRVNDQUxFIiwgICAgMHg0MEIwMDAwMCwgIDAsIDB4MDAwMDAwM2YsICdkJywgIlBXTTAgUHJlc2NhbGUgRGl2aXNvciIgfSwKK3sgIlBXTUNUTDBfU0QiLCAgICAgICAgICAweDQwQjAwMDAwLCAgNSwgMHgwMDAwMDAwMSwgJ3gnLCAiUFdNMCBhYnJ1cHQgc2h1dGRvd24iIH0sCisKK3sgIlBXTURVVFkwIiwgICAgICAgICAgICAweDQwQjAwMDA0LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiUFdNIER1dHkgQ3ljbGUgUmVnaXN0ZXIgMCAoNC00MikiIH0sCit7ICJQV01EVVRZMF9EQ1lDTEUiLCAgICAgMHg0MEIwMDAwNCwgIDAsIDB4MDAwMDAzZmYsICdkJywgIlBXTTAgRHV0eSBDeWNsZSIgfSwKK3sgIlBXTURVVFkwX0ZEQ1lDTEUiLCAgICAweDQwQjAwMDA0LCAxMCwgMHgwMDAwMDAwMSwgJ3gnLCAiUFdNX09VVDAgaXMgc2V0IGhpZ2ggYW5kIGRvZXMgbm90IHRvZ2dsZSIgfSwKKworeyAiUFdNUEVSVkFMMCIsICAgICAgICAgIDB4NDBCMDAwMDgsICAwLCAweGZmZmZmZmZmLCAneCcsICJQV00gUGVyaW9kIENvbnRyb2wgUmVnaXN0ZXIgMCAoNC00MykiIH0sCit7ICJQV01QRVJWQUwwX1BWIiwgICAgICAgMHg0MEIwMDAwOCwgIDAsIDB4MDAwMDAzZmYsICdkJywgIlBXTTAgUGVyaW9kIEN5Y2xlIExlbmd0aCIgfSwKKworeyAiUFdNQ1RMMSIsICAgICAgICAgICAgIDB4NDBDMDAwMDAsICAwLCAweGZmZmZmZmZmLCAneCcsICJQV00gQ29udHJvbCBSZWdpc3RlciAxICg0LTQxKSIgfSwKK3sgIlBXTUNUTDFfUFJFU0NBTEUiLCAgICAweDQwQzAwMDAwLCAgMCwgMHgwMDAwMDAzZiwgJ2QnLCAiUFdNMSBQcmVzY2FsZSBEaXZpc29yIiB9LAoreyAiUFdNQ1RMMV9TRCIsICAgICAgICAgIDB4NDBDMDAwMDAsICA1LCAweDAwMDAwMDAxLCAneCcsICJQV00xIGFicnVwdCBzaHV0ZG93biIgfSwKKworeyAiUFdNRFVUWTEiLCAgICAgICAgICAgIDB4NDBDMDAwMDQsICAwLCAweGZmZmZmZmZmLCAneCcsICJQV00gRHV0eSBDeWNsZSBSZWdpc3RlciAxICg0LTQyKSIgfSwKK3sgIlBXTURVVFkxX0RDWUNMRSIsICAgICAweDQwQzAwMDA0LCAgMCwgMHgwMDAwMDNmZiwgJ2QnLCAiUFdNMSBEdXR5IEN5Y2xlIiB9LAoreyAiUFdNRFVUWTFfRkRDWUNMRSIsICAgIDB4NDBDMDAwMDQsIDEwLCAweDAwMDAwMDAxLCAneCcsICJQV01fT1VUMSBpcyBzZXQgaGlnaCBhbmQgZG9lcyBub3QgdG9nZ2xlIiB9LAorCit7ICJQV01QRVJWQUwxIiwgICAgICAgICAgMHg0MEMwMDAwOCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIlBXTSBQZXJpb2QgQ29udHJvbCBSZWdpc3RlciAxICg0LTQzKSIgfSwKK3sgIlBXTVBFUlZBTDFfUFYiLCAgICAgICAweDQwQzAwMDA4LCAgMCwgMHgwMDAwMDNmZiwgJ2QnLCAiUFdNMSBQZXJpb2QgQ3ljbGUgTGVuZ3RoIiB9LAorCisKK3sgIkxDQ1IwIiwgICAgIDB4NDQwMDAwMDAsICAwLCAweGZmZmZmZmZmLCAneCcsICJMQ0QgQ29udHJvbGxlciBDb250cm9sIFJlZ2lzdGVyIDAgKDctMjMpIiB9LAoreyAiTENDUjBfRU5CIiwgMHg0NDAwMDAwMCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIkxDRCBjb250cm9sbGVyIGVuYWJsZSIgfSwKK3sgIkxDQ1IwX0NNUyIsIDB4NDQwMDAwMDAsICAxLCAweDAwMDAwMDAxLCAnZCcsICJMQ0QgbW9ub2Nocm9tZSBvcGVyYXRpb24gZW5hYmxlIiB9LAoreyAiTENDUjBfU0RTIiwgMHg0NDAwMDAwMCwgIDIsIDB4MDAwMDAwMDEsICdkJywgIkxDRCBkdWFsIHBhbmVsIGRpc3BsYXkgZW5hYmxlIiB9LAoreyAiTENDUjBfTERNIiwgMHg0NDAwMDAwMCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIkxDRCBkaXNhYmxlIGRvbmUgSVJRIGRpc2FibGUiIH0sCit7ICJMQ0NSMF9TRk0iLCAweDQ0MDAwMDAwLCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiTENEIHN0YXJ0IG9mIGZyYW1lIElSUSBkaXNhYmxlIiB9LAoreyAiTENDUjBfSVVNIiwgMHg0NDAwMDAwMCwgIDUsIDB4MDAwMDAwMDEsICdkJywgIkxDRCBmaWZvIHVuZGVycnVuIGVycm9yIElSUSBkaXNhYmxlIiB9LAoreyAiTENDUjBfRUZNIiwgMHg0NDAwMDAwMCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIkxDRCBlbmQgb2YgZnJhbWUgSVJRIGRpc2FibGUiIH0sCit7ICJMQ0NSMF9QQVMiLCAweDQ0MDAwMDAwLCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiTENEIGFjdGl2ZSBkaXNwbGF5IGVuYWJsZSIgfSwKK3sgIkxDQ1IwX0RQRCIsIDB4NDQwMDAwMDAsICA5LCAweDAwMDAwMDAxLCAnZCcsICJMQ0Qgc2VuZCA4IHBpeGVsIG9uIExfRERbNzowXSBhdCBlYWNoIGNsb2NrIiB9LAoreyAiTENDUjBfRElTIiwgMHg0NDAwMDAwMCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIkxDRCBjb250cm9sbGVyIGRpc2FibGUiIH0sCit7ICJMQ0NSMF9RRE0iLCAweDQ0MDAwMDAwLCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiTENEIHF1aWNrIGRpc2FibGUgSVJRIGRpc2FibGUiIH0sCit7ICJMQ0NSMF9QREQiLCAweDQ0MDAwMDAwLCAxMiwgMHgwMDAwMDBGRiwgJ2QnLCAiTENEIHBhbGV0dGUgRE1BIHJlcXVlc3QgZGVsYXkiIH0sCit7ICJMQ0NSMF9CTSIsICAweDQ0MDAwMDAwLCAyMCwgMHgwMDAwMDAwMSwgJ2QnLCAiTENEIGJyYW5jaCBzdGFydCBJUlEgZGlzYWJsZSIgfSwKK3sgIkxDQ1IwX09VTSIsIDB4NDQwMDAwMDAsIDIxLCAweDAwMDAwMDAxLCAnZCcsICJMQ0QgZmlmbyB1bmRlcnJ1biBJUlEgZGlzYWJsZSIgfSwKKworeyAiTENDUjEiLCAgICAgMHg0NDAwMDAwNCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkxDRCBDb250cm9sbGVyIENvbnRyb2wgUmVnaXN0ZXIgMSAoNy0yNikiIH0sCit7ICJMQ0NSMV9QUEwiLCAweDQ0MDAwMDA0LCAgMCwgMHgwMDAwMDNmZiwgJ2QnLCAiTENEIHBpeGVscyBwZXIgbGluZSAoKzEpIiB9LAoreyAiTENDUjFfSFNXIiwgMHg0NDAwMDAwNCwgMTAsIDB4MDAwMDAwM2YsICdkJywgIkxDRCBob3Jpem9udGFsIHN5bmMgcHVsc2Ugd2lkdGggKCsxKSIgfSwKK3sgIkxDQ1IxX0VMVyIsIDB4NDQwMDAwMDQsIDE2LCAweDAwMDAwMGZmLCAnZCcsICJMQ0QgZW5kIG9mIGxpbmUgcGl4ZWwgY2xvY2sgd2FpdCBjb3VudCAoKzEpIiB9LAoreyAiTENDUjFfQkxXIiwgMHg0NDAwMDAwNCwgMjQsIDB4MDAwMDAwZmYsICdkJywgIkxDRCBiZWdpbm5pbmcgb2YgbGluZSBwaXhlbCBjbG9jayB3YWl0IGNvdW50ICgrMSkiIH0sCisKK3sgIkxDQ1IyIiwgICAgIDB4NDQwMDAwMDgsICAwLCAweGZmZmZmZmZmLCAneCcsICJMQ0QgQ29udHJvbGxlciBDb250cm9sIFJlZ2lzdGVyIDIgKDctMjgpIiB9LAoreyAiTENDUjJfTFBQIiwgMHg0NDAwMDAwOCwgIDAsIDB4MDAwMDAzZmYsICdkJywgIkxDRCBsaW5lcyBwZXIgcGFuZWwgKCsxKSIgfSwKK3sgIkxDQ1IyX1ZTVyIsIDB4NDQwMDAwMDgsIDEwLCAweDAwMDAwMDNmLCAnZCcsICJMQ0QgdmVydGljYWwgc3luYyBwdWxzZSB3aWR0aCAoKzEpIiB9LAoreyAiTENDUjJfRUZXIiwgMHg0NDAwMDAwOCwgMTYsIDB4MDAwMDAwZmYsICdkJywgIkxDRCBlbmQgb2YgZnJhbWUgbGluZSBjbG9jayB3YWl0IGNvdW50ICgrMSkiIH0sCit7ICJMQ0NSMl9CRlciLCAweDQ0MDAwMDA4LCAyNCwgMHgwMDAwMDBmZiwgJ2QnLCAiTENEIGJlZ2lubmluZyBvZiBmcmFtZSBsaW5lIGNsb2NrIHdhaXQgY291bnQgKCsxKSIgfSwKKworeyAiTENDUjMiLCAgICAgMHg0NDAwMDAwQywgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkxDRCBDb250cm9sbGVyIENvbnRyb2wgUmVnaXN0ZXIgMyAoNy0zMSkiIH0sCit7ICJMQ0NSM19QQ0QiLCAweDQ0MDAwMDBDLCAgMCwgMHgwMDAwMDBmZiwgJ2QnLCAiTENEIHBpeGVsIGNsb2NrIGRpdmlzb3IgKCsxKSIgfSwKK3sgIkxDQ1IzX0FDQiIsIDB4NDQwMDAwMEMsICA4LCAweDAwMDAwMGZmLCAnZCcsICJMQ0QgQUMgYmlhcyBwaW4gZnJlcXVlbmN5ICgrMSkiIH0sCit7ICJMQ0NSM19BUEkiLCAweDQ0MDAwMDBDLCAxNiwgMHgwMDAwMDAwZiwgJ2QnLCAiTENEIEFDIGJpYXMgcGluIHRyYW5zaXRpb25zIHBlciBpbnRlcnJ1cHQiIH0sCit7ICJMQ0NSM19WU1AiLCAweDQ0MDAwMDBDLCAyMCwgMHgwMDAwMDAwMSwgJ2QnLCAiTENEIExfRkNMSyB2ZXJ0aWNhbCBzeW5jIHBvbGFyaXR5IGFjdGl2ZSBsb3ciIH0sCit7ICJMQ0NSM19IU1AiLCAweDQ0MDAwMDBDLCAyMSwgMHgwMDAwMDAwMSwgJ2QnLCAiTENEIExfTENMSyBob3Jpem9udGFsIHN5bmMgcG9sYXJpdHkgYWN0aXZlIGxvdyIgfSwKK3sgIkxDQ1IzX1BDUCIsIDB4NDQwMDAwMEMsIDIyLCAweDAwMDAwMDAxLCAnZCcsICJMQ0QgZGF0YSBzYW1wbGVkIG9uIGZhbGxpbmcgZWRnZSBvZiBMX1BDTEsiIH0sCit7ICJMQ0NSM19PRVAiLCAweDQ0MDAwMDBDLCAyMywgMHgwMDAwMDAwMSwgJ2QnLCAiTENEIExfQklBUyBvdXRwdXQgZW5hYmxlIGFjdGl2ZSBsb3ciIH0sCit7ICJMQ0NSM19CUFAiLCAweDQ0MDAwMDBDLCAyNCwgMHgwMDAwMDAwNywgJzwnLCAiTENEIGJpdHMgcGVyIHBpeGVsIiB9LAoreyAiTENDUjNfRFBDIiwgMHg0NDAwMDAwQywgMjcsIDB4MDAwMDAwMDcsICdkJywgIkxDRCBkb3VibGUgcGl4ZWwgY2xvY2sgcmF0ZSBhdCBMX1BDTEsiIH0sCisKKworeyAiRkJSMCIsICAgICAgMHg0NDAwMDAyMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkZCUjAiIH0sCit7ICJGQlIxIiwgICAgICAweDQ0MDAwMDIwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiRkJSMSIgfSwKK3sgIkxDU1IiLCAgICAgIDB4NDQwMDAwMzgsICAwLCAweGZmZmZmZmZmLCAneCcsICJMQ0QgQ29udHJvbGxlciBTdGF0dXMgUmVnaXN0ZXIgKDctNDApIiB9LAoreyAiTElJRFIiLCAgICAgMHg0NDAwMDAzQywgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkxDRCBDb250cm9sbGVyIEludGVycnVwdCBJRCBSZWdpc3RlciAoNy00MSkiIH0sCisvLyBUT0RPCisKK3sgIlRSR0JCUiIsICAgIDB4NDQwMDAwNDAsICAwLCAweGZmZmZmZmZmLCAneCcsICJUTUVEIFJCRyBTZWVkIFJlZ2lzdGVyICg3LTQyKSIgfSwKK3sgIlRSR0JCUl9UUlMiLDB4NDQwMDAwNDAsICAwLCAweDAwMDAwMGZmLCAneCcsICJSZWQgU2VlZCIgfSwKK3sgIlRSR0JCUl9UR1MiLDB4NDQwMDAwNDAsICA4LCAweDAwMDAwMGZmLCAneCcsICJHcmVlbiBTZWVkIiB9LAoreyAiVFJHQkJSX1RCUyIsMHg0NDAwMDA0MCwgMTYsIDB4MDAwMDAwZmYsICd4JywgIkJsdWUgU2VlZCIgfSwKKworeyAiVENSIiwgICAgICAgMHg0NDAwMDA0NCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIlRNRUQgQ29udHJvbCBSZWdpc3RlciAoNy00NCkiIH0sCit7ICJUQ1JfQ09BTSIsICAweDQ0MDAwMDQ0LCAgMCwgMHgwMDAwMDAwMSwgJ3gnLCAiQ29sb3IgT2Zmc2V0IEFkanVzdGVyIE1hdHJpeCIgfSwKK3sgIlRDUl9GTkFNIiwgIDB4NDQwMDAwNDQsICAxLCAweDAwMDAwMDAxLCAneCcsICJGcmFtZSBOdW1iZXIgQWRqdXN0ZXIgTWF0cml4IiB9LAoreyAiVENSX0NPQUUiLCAgMHg0NDAwMDA0NCwgIDIsIDB4MDAwMDAwMDEsICd4JywgIkNvbG9yIE9mZnNldCBBZGp1c3RlciBFbmFibGUiIH0sCit7ICJUQ1JfRk5BTUUiLCAweDQ0MDAwMDQ0LCAgMywgMHgwMDAwMDAwMSwgJ3gnLCAiRnJhbWUgTnVtYmVyIEFkanVzdGVyIEVuYWJsZSIgfSwKK3sgIlRDUl9UVkJTIiwgIDB4NDQwMDAwNDQsICA0LCAweDAwMDAwMDBmLCAnZCcsICJWZXJ0aWNhbCBCZWF0IFN1cHByZXNzaW9uIiB9LAoreyAiVENSX1RIQlMiLCAgMHg0NDAwMDA0NCwgIDgsIDB4MDAwMDAwMGYsICdkJywgIkhvcml6b250YWwgQmVhdCBTdXBwcmVzc2lvbiIgfSwKK3sgIlRDUl9URUQiLCAgIDB4NDQwMDAwNDQsIDE0LCAweDAwMDAwMDAxLCAneCcsICJFbmVyZ3kgRGlzdHJpYnV0aW9uIE1hdHJpeCBTZWxlY3QiIH0sCisKK3sgIkZEQURSMCIsICAgIDB4NDQwMDAyMDAsICAwLCAweGZmZmZmZmZmLCAneCcsICJGREFEUjAiIH0sCit7ICJGU0FEUjAiLCAgICAweDQ0MDAwMjA0LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiRlNBRFIwIiB9LAoreyAiRklEUjAiLCAgICAgMHg0NDAwMDIwOCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkZPRFIwIiB9LAoreyAiTERDTUQwIiwgICAgMHg0NDAwMDIwQywgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkxEQ01EMCIgfSwKK3sgIkZEQURSMSIsICAgIDB4NDQwMDAyMTAsICAwLCAweGZmZmZmZmZmLCAneCcsICJGREFEUjEiIH0sCit7ICJGU0FEUjEiLCAgICAweDQ0MDAwMjE0LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiRlNBRFIxIiB9LAoreyAiRklEUjEiLCAgICAgMHg0NDAwMDIxOCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkZJRFIxIiB9LAoreyAiTERDTUQxIiwgICAgMHg0NDAwMDIxQywgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkxEQ01EMSIgfSwKKy8vIFRPRE8KKworCisKKworeyAiTURDTkZHIiwgICAgICAgICAweDQ4MDAwMDAwLCAwLCAweGZmZmZmZmZmLCAneCcsICJTRFJBTSBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICg2LTkpIiB9LAoreyAiTURDTkZHX0RFMCIsICAgICAweDQ4MDAwMDAwLCAwLCAweDAwMDAwMDAxLCAnZCcsICJTRFJBTSBlbmFibGUgZm9yIHBhcnRpdGlvbiAwIiB9LAoreyAiTURDTkZHX0RFMSIsICAgICAweDQ4MDAwMDAwLCAxLCAweDAwMDAwMDAxLCAnZCcsICJTRFJBTSBlbmFibGUgZm9yIHBhcnRpdGlvbiAxIiB9LAoreyAiTURDTkZHX0RXSUQwIiwgICAweDQ4MDAwMDAwLCAyLCAweDAwMDAwMDAxLCAnZCcsICJTRFJBTSBkYXRhIHdpZHRoICgwPTMyLCAxPTE2KSIgfSwKK3sgIk1EQ05GR19EQ0FDMCIsICAgMHg0ODAwMDAwMCwgMywgMHgwMDAwMDAwMywgJ2QnLCAiQ29sdW1uIGFkZHJlc3MgYml0cyBmb3IgcGFydGl0aW9uIHBhaXIgMC8xIiB9LAoreyAiTURDTkZHX0RSQUMwIiwgICAweDQ4MDAwMDAwLCA1LCAweDAwMDAwMDAzLCAnZCcsICJSb3cgYWRkcmVzcyBiaXRzIGZvciBwYXJ0aXRpb24gcGFpciAwLzEiIH0sCit7ICJNRENORkdfRE5CMCIsICAgIDB4NDgwMDAwMDAsIDcsIDB4MDAwMDAwMDEsICdkJywgIkJhbmtzIGluIHBhcnRpdGlvbiBwYWlyIDAvMSAoMD0yLCAxPTQpIiB9LAoreyAiTURDTkZHX0RUQzAiLCAgICAweDQ4MDAwMDAwLCA4LCAweDAwMDAwMDAzLCAnZCcsICJUaW1pbmcgQ2F0ZWdvcnkgZm9yIHBhcnRpdGlvbiBwYWlyIDAvMSIgfSwKK3sgIk1EQ05GR19EQUREUjAiLCAgMHg0ODAwMDAwMCwxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiVXNlIGFsdGVybmF0ZSBhZGRyZXNzaW5nIGZvciBwYXJ0aXRpb24gcGFpciAwLzEiIH0sCit7ICJNRENORkdfRExBVENIMCIsIDB4NDgwMDAwMDAsMTEsIDB4MDAwMDAwMDEsICdkJywgIlJldHVybiBkYXRhIGxhdGNoaW5nIHNjaGVtZSBmb3IgcGFydGl0aW9uIHBhaXIgMC8xIiB9LAoreyAiTURDTkZHX0RTQTExMTEwIiwweDQ4MDAwMDAwLDEyLCAweDAwMDAwMDAxLCAnZCcsICJ1c2UgU0ExMTExIGFkZHJlc3MgbXV4aW5nIGZvciBwYXJ0aXRpb24gcGFpciAwLzEiIH0sCit7ICJNRENORkdfREUyIiwgICAgIDB4NDgwMDAwMDAsMTYsIDB4MDAwMDAwMDEsICdkJywgIlNEUkFNIGVuYWJsZSBmb3IgcGFydGl0aW9uIDIiIH0sCit7ICJNRENORkdfREUzIiwgICAgIDB4NDgwMDAwMDAsMTcsIDB4MDAwMDAwMDEsICdkJywgIlNEUkFNIGVuYWJsZSBmb3IgcGFydGl0aW9uIDMiIH0sCit7ICJNRENORkdfRFdJRDIiLCAgIDB4NDgwMDAwMDAsMTgsIDB4MDAwMDAwMDEsICdkJywgIlNEUkFNIGRhdGEgd2lkdGggKDA9MzIsIDE9MTYpIiB9LAoreyAiTURDTkZHX0RDQUMyIiwgICAweDQ4MDAwMDAwLDE5LCAweDAwMDAwMDAzLCAnZCcsICJDb2x1bW4gYWRkcmVzcyBiaXRzIGZvciBwYXJ0aXRpb24gcGFpciAyLzMiIH0sCit7ICJNRENORkdfRFJBQzIiLCAgIDB4NDgwMDAwMDAsMjEsIDB4MDAwMDAwMDMsICdkJywgIlJvdyBhZGRyZXNzIGJpdHMgZm9yIHBhcnRpdGlvbiBwYWlyIDIvMyIgfSwKK3sgIk1EQ05GR19ETkIyIiwgICAgMHg0ODAwMDAwMCwyMywgMHgwMDAwMDAwMSwgJ2QnLCAiQmFua3MgaW4gcGFydGl0aW9uIHBhaXIgMi8zICgwPTIsIDE9NCkiIH0sCit7ICJNRENORkdfRFRDMiIsICAgIDB4NDgwMDAwMDAsMjQsIDB4MDAwMDAwMDMsICdkJywgIlRpbWluZyBDYXRlZ29yeSBmb3IgcGFydGl0aW9uIHBhaXIgMi8zIiB9LAoreyAiTURDTkZHX0RBRERSMiIsICAweDQ4MDAwMDAwLDI2LCAweDAwMDAwMDAxLCAnZCcsICJVc2UgYWx0ZXJuYXRlIGFkZHJlc3NpbmcgZm9yIHBhcnRpdGlvbiBwYWlyIDIvMyIgfSwKK3sgIk1EQ05GR19ETEFUQ0gyIiwgMHg0ODAwMDAwMCwyNywgMHgwMDAwMDAwMSwgJ2QnLCAiUmV0dXJuIGRhdGEgbGF0Y2hpbmcgc2NoZW1lIGZvciBwYXJ0aXRpb24gcGFpciAyLzMiIH0sCit7ICJNRENORkdfRFNBMTExMTIiLDB4NDgwMDAwMDAsMjgsIDB4MDAwMDAwMDEsICdkJywgInVzZSBTQTExMTEgYWRkcmVzcyBtdXhpbmcgZm9yIHBhcnRpdGlvbiBwYWlyIDIvMyIgfSwKKworeyAiTURSRUZSIiwgICAgICAgICAweDQ4MDAwMDA0LCAwLCAweGZmZmZmZmZmLCAneCcsICJTRFJBTSBSZWZyZXNoIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKDYtMTUpIiB9LAoreyAiTURSRUZSX0RSSSIsICAgICAweDQ4MDAwMDA0LCAwLCAweDAwMDAwZmZmLCAneCcsICJTRFJBTSBSZWZyZXNoIGludGVydmFsbCwgYWxsIHBhcml0aW9ucyIgfSwKK3sgIk1EUkVGUl9FMFBJTiIsICAgMHg0ODAwMDAwNCwxMiwgMHgwMDAwMDAwMSwgJ3gnLCAiU0RSQU0gQ2xvY2sgRW5hYmxlIFBpbiAwIExldmVsIiB9LAoreyAiTURSRUZSX0swUlVOIiwgICAweDQ4MDAwMDA0LDEzLCAweDAwMDAwMDAxLCAneCcsICJTRFJBTSBDbG9jayBSdW4gUGluIDAiIH0sCit7ICJNRFJFRlJfSzBEQjIiLCAgIDB4NDgwMDAwMDQsMTQsIDB4MDAwMDAwMDEsICd4JywgIlNEUkFNIENsb2NrIFBpbiAwIERpdmlkZS8yIiB9LAoreyAiTURSRUZSX0UxUElOIiwgICAweDQ4MDAwMDA0LDE1LCAweDAwMDAwMDAxLCAneCcsICJTRFJBTSBDbG9jayBFbmFibGUgUGluIDEgTGV2ZWwiIH0sCit7ICJNRFJFRlJfSzFSVU4iLCAgIDB4NDgwMDAwMDQsMTYsIDB4MDAwMDAwMDEsICd4JywgIlNEUkFNIENsb2NrIFJ1biBQaW4gMSIgfSwKK3sgIk1EUkVGUl9LMURCMiIsICAgMHg0ODAwMDAwNCwxNywgMHgwMDAwMDAwMSwgJ3gnLCAiU0RSQU0gQ2xvY2sgUGluIDEgRGl2aWRlLzIiIH0sCit7ICJNRFJFRlJfSzJSVU4iLCAgIDB4NDgwMDAwMDQsMTgsIDB4MDAwMDAwMDEsICd4JywgIlNEUkFNIENsb2NrIFJ1biBQaW4gMiIgfSwKK3sgIk1EUkVGUl9LMkRCMiIsICAgMHg0ODAwMDAwNCwxOSwgMHgwMDAwMDAwMSwgJ3gnLCAiU0RSQU0gQ2xvY2sgUGluIDIgRGl2aWRlLzIiIH0sCit7ICJNRFJFRlJfQVBEIiwgICAgIDB4NDgwMDAwMDQsMjAsIDB4MDAwMDAwMDEsICd4JywgIlNEUkFNIEF1dG8gUG93ZXIgRG93biBlbmFibGUiIH0sCit7ICJNRFJFRlJfU0xGUlNIIiwgIDB4NDgwMDAwMDQsMjIsIDB4MDAwMDAwMDEsICd4JywgIlNEUkFNIFNlbGYtUmVmcmVzaCIgfSwKK3sgIk1EUkVGUl9LMEZSRUUiLCAgMHg0ODAwMDAwNCwyMywgMHgwMDAwMDAwMSwgJ3gnLCAiU0RSQU0gRnJlZSBSdW5uaW5nIENvbnRyb2wgZm9yIFNEQ0xLMCIgfSwKK3sgIk1EUkVGUl9LMUZSRUUiLCAgMHg0ODAwMDAwNCwyNCwgMHgwMDAwMDAwMSwgJ3gnLCAiU0RSQU0gRnJlZSBSdW5uaW5nIENvbnRyb2wgZm9yIFNEQ0xLMSIgfSwKK3sgIk1EUkVGUl9LMkZSRUUiLCAgMHg0ODAwMDAwNCwyNSwgMHgwMDAwMDAwMSwgJ3gnLCAiU0RSQU0gRnJlZSBSdW5uaW5nIENvbnRyb2wgZm9yIFNEQ0xLMiIgfSwKKworeyAiTVNDMCIsICAgICAgICAgICAweDQ4MDAwMDA4LCAwLCAweGZmZmZmZmZmLCAneCcsICJBc3luY2hyb25vdXMgU3RhdGljIE1lbW9yeSBDb250cm9sIFJlZ2lzdGVyIDAgKDYtNDUpIiB9LAoreyAiTVNDMF9SVDAiLCAgICAgICAweDQ4MDAwMDA4LCAwLCAweDAwMDAwMDA3LCAnZCcsICJuQ1NbMF0gUk9NIFR5cGUiIH0sCit7ICJNU0MwX1JCVzAiLCAgICAgIDB4NDgwMDAwMDgsIDMsIDB4MDAwMDAwMDEsICdkJywgIm5DU1swXSBST00gQnVzIFdpZHRoICgxPTE2Yml0KSIgfSwKK3sgIk1TQzBfUkRGMCIsICAgICAgMHg0ODAwMDAwOCwgNCwgMHgwMDAwMDAwZiwgJ2QnLCAibkNTWzBdIFJPTSBEZWxheSBGaXJzdCBBY2Nlc3MiIH0sCit7ICJNU0MwX1JETjAiLCAgICAgIDB4NDgwMDAwMDgsIDgsIDB4MDAwMDAwMGYsICdkJywgIm5DU1swXSBST00gRGVsYXkgTmV4dCBBY2Nlc3MiIH0sCit7ICJNU0MwX1JSUjAiLCAgICAgIDB4NDgwMDAwMDgsMTIsIDB4MDAwMDAwMDcsICdkJywgIm5DU1swXSBST00vU1JBTSBSZWNvdmVyeSBUaW1lIiB9LAoreyAiTVNDMF9SQlVGRjAiLCAgICAweDQ4MDAwMDA4LDE1LCAweDAwMDAwMDAxLCAnZCcsICJuQ1NbMF0gUmV0dXJuIEJ1ZmZlciBCZWhhdmlvciAoMT1zdHJlYW1pbmcpIiB9LAoreyAiTVNDMF9SVDEiLCAgICAgICAweDQ4MDAwMDA4LDE2LCAweDAwMDAwMDA3LCAnZCcsICJuQ1NbMV0gUk9NIFR5cGUiIH0sCit7ICJNU0MwX1JCVzEiLCAgICAgIDB4NDgwMDAwMDgsMTksIDB4MDAwMDAwMDEsICdkJywgIm5DU1sxXSBST00gQnVzIFdpZHRoICgxPTE2Yml0KSIgfSwKK3sgIk1TQzBfUkRGMSIsICAgICAgMHg0ODAwMDAwOCwyMCwgMHgwMDAwMDAwZiwgJ2QnLCAibkNTWzFdIFJPTSBEZWxheSBGaXJzdCBBY2Nlc3MiIH0sCit7ICJNU0MwX1JETjEiLCAgICAgIDB4NDgwMDAwMDgsMjQsIDB4MDAwMDAwMGYsICdkJywgIm5DU1sxXSBST00gRGVsYXkgTmV4dCBBY2Nlc3MiIH0sCit7ICJNU0MwX1JSUjEiLCAgICAgIDB4NDgwMDAwMDgsMjgsIDB4MDAwMDAwMDcsICdkJywgIm5DU1sxXSBST00vU1JBTSBSZWNvdmVyeSBUaW1lIiB9LAoreyAiTVNDMF9SQlVGRjEiLCAgICAweDQ4MDAwMDA4LDMxLCAweDAwMDAwMDAxLCAnZCcsICJuQ1NbMV0gUmV0dXJuIEJ1ZmZlciBCZWhhdmlvciAoMT1zdHJlYW1pbmcpIiB9LAorCit7ICJNU0MxIiwgICAgICAgICAgIDB4NDgwMDAwMEMsIDAsIDB4ZmZmZmZmZmYsICd4JywgIkFzeW5jaHJvbm91cyBTdGF0aWMgTWVtb3J5IENvbnRyb2wgUmVnaXN0ZXIgMSAoNi00NSkiIH0sCit7ICJNU0MxX1JUMiIsICAgICAgIDB4NDgwMDAwMEMsIDAsIDB4MDAwMDAwMDcsICdkJywgIm5DU1syXSBST00gVHlwZSIgfSwKK3sgIk1TQzFfUkJXMiIsICAgICAgMHg0ODAwMDAwQywgMywgMHgwMDAwMDAwMSwgJ2QnLCAibkNTWzJdIFJPTSBCdXMgV2lkdGggKDE9MTZiaXQpIiB9LAoreyAiTVNDMV9SREYyIiwgICAgICAweDQ4MDAwMDBDLCA0LCAweDAwMDAwMDBmLCAnZCcsICJuQ1NbMl0gUk9NIERlbGF5IEZpcnN0IEFjY2VzcyIgfSwKK3sgIk1TQzFfUkROMiIsICAgICAgMHg0ODAwMDAwQywgOCwgMHgwMDAwMDAwZiwgJ2QnLCAibkNTWzJdIFJPTSBEZWxheSBOZXh0IEFjY2VzcyIgfSwKK3sgIk1TQzFfUlJSMiIsICAgICAgMHg0ODAwMDAwQywxMiwgMHgwMDAwMDAwNywgJ2QnLCAibkNTWzJdIFJPTS9TUkFNIFJlY292ZXJ5IFRpbWUiIH0sCit7ICJNU0MxX1JCVUZGMiIsICAgIDB4NDgwMDAwMEMsMTUsIDB4MDAwMDAwMDEsICdkJywgIm5DU1syXSBSZXR1cm4gQnVmZmVyIEJlaGF2aW9yICgxPXN0cmVhbWluZykiIH0sCit7ICJNU0MxX1JUMyIsICAgICAgIDB4NDgwMDAwMEMsMTYsIDB4MDAwMDAwMDcsICdkJywgIm5DU1szXSBST00gVHlwZSIgfSwKK3sgIk1TQzFfUkJXMyIsICAgICAgMHg0ODAwMDAwQywxOSwgMHgwMDAwMDAwMSwgJ2QnLCAibkNTWzNdIFJPTSBCdXMgV2lkdGggKDE9MTZiaXQpIiB9LAoreyAiTVNDMV9SREYzIiwgICAgICAweDQ4MDAwMDBDLDIwLCAweDAwMDAwMDBmLCAnZCcsICJuQ1NbM10gUk9NIERlbGF5IEZpcnN0IEFjY2VzcyIgfSwKK3sgIk1TQzFfUkROMyIsICAgICAgMHg0ODAwMDAwQywyNCwgMHgwMDAwMDAwZiwgJ2QnLCAibkNTWzNdIFJPTSBEZWxheSBOZXh0IEFjY2VzcyIgfSwKK3sgIk1TQzFfUlJSMyIsICAgICAgMHg0ODAwMDAwQywyOCwgMHgwMDAwMDAwNywgJ2QnLCAibkNTWzNdIFJPTS9TUkFNIFJlY292ZXJ5IFRpbWUiIH0sCit7ICJNU0MxX1JCVUZGMyIsICAgIDB4NDgwMDAwMEMsMzEsIDB4MDAwMDAwMDEsICdkJywgIm5DU1szXSBSZXR1cm4gQnVmZmVyIEJlaGF2aW9yICgxPXN0cmVhbWluZykiIH0sCisKK3sgIk1TQzIiLCAgICAgICAgICAgMHg0ODAwMDAxMCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiQXN5bmNocm9ub3VzIFN0YXRpYyBNZW1vcnkgQ29udHJvbCBSZWdpc3RlciAyICg2LTQ1KSIgfSwKK3sgIk1TQzJfUlQ0IiwgICAgICAgMHg0ODAwMDAxMCwgMCwgMHgwMDAwMDAwNywgJ2QnLCAibkNTWzRdIFJPTSBUeXBlIiB9LAoreyAiTVNDMl9SQlc0IiwgICAgICAweDQ4MDAwMDEwLCAzLCAweDAwMDAwMDAxLCAnZCcsICJuQ1NbNF0gUk9NIEJ1cyBXaWR0aCAoMT0xNmJpdCkiIH0sCit7ICJNU0MyX1JERjQiLCAgICAgIDB4NDgwMDAwMTAsIDQsIDB4MDAwMDAwMGYsICdkJywgIm5DU1s0XSBST00gRGVsYXkgRmlyc3QgQWNjZXNzIiB9LAoreyAiTVNDMl9SRE40IiwgICAgICAweDQ4MDAwMDEwLCA4LCAweDAwMDAwMDBmLCAnZCcsICJuQ1NbNF0gUk9NIERlbGF5IE5leHQgQWNjZXNzIiB9LAoreyAiTVNDMl9SUlI0IiwgICAgICAweDQ4MDAwMDEwLDEyLCAweDAwMDAwMDA3LCAnZCcsICJuQ1NbNF0gUk9NL1NSQU0gUmVjb3ZlcnkgVGltZSIgfSwKK3sgIk1TQzJfUkJVRkY0IiwgICAgMHg0ODAwMDAxMCwxNSwgMHgwMDAwMDAwMSwgJ2QnLCAibkNTWzRdIFJldHVybiBCdWZmZXIgQmVoYXZpb3IgKDE9c3RyZWFtaW5nKSIgfSwKK3sgIk1TQzJfUlQ1IiwgICAgICAgMHg0ODAwMDAxMCwxNiwgMHgwMDAwMDAwNywgJ2QnLCAibkNTWzVdIFJPTSBUeXBlIiB9LAoreyAiTVNDMl9SQlc1IiwgICAgICAweDQ4MDAwMDEwLDE5LCAweDAwMDAwMDAxLCAnZCcsICJuQ1NbNV0gUk9NIEJ1cyBXaWR0aCAoMT0xNmJpdCkiIH0sCit7ICJNU0MyX1JERjUiLCAgICAgIDB4NDgwMDAwMTAsMjAsIDB4MDAwMDAwMGYsICdkJywgIm5DU1s1XSBST00gRGVsYXkgRmlyc3QgQWNjZXNzIiB9LAoreyAiTVNDMl9SRE41IiwgICAgICAweDQ4MDAwMDEwLDI0LCAweDAwMDAwMDBmLCAnZCcsICJuQ1NbNV0gUk9NIERlbGF5IE5leHQgQWNjZXNzIiB9LAoreyAiTVNDMl9SUlI1IiwgICAgICAweDQ4MDAwMDEwLDI4LCAweDAwMDAwMDA3LCAnZCcsICJuQ1NbNV0gUk9NL1NSQU0gUmVjb3ZlcnkgVGltZSIgfSwKK3sgIk1TQzJfUkJVRkY1IiwgICAgMHg0ODAwMDAxMCwzMSwgMHgwMDAwMDAwMSwgJ2QnLCAibkNTWzVdIFJldHVybiBCdWZmZXIgQmVoYXZpb3IgKDE9c3RyZWFtaW5nKSIgfSwKKworeyAiTUVDUiIsICAgICAgICAgICAweDQ4MDAwMDE0LCAwLCAweGZmZmZmZmZmLCAneCcsICJFeHBhbnNpb24gTWVtb3J5IENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKDYtNjEpIiB9LAoreyAiTUVDUl9OT1MiLCAgICAgICAweDQ4MDAwMDE0LCAwLCAweDAwMDAwMDAxLCAneCcsICJOdW1iZXIgb2YgU29ja2V0cyAoMT0yIFNvY2tldHMpIiB9LAoreyAiTUVDUl9DSVQiLCAgICAgICAweDQ4MDAwMDE0LCAxLCAweDAwMDAwMDAxLCAneCcsICJDYXJkIGluc2VydGVkIiB9LAorCit7ICJTWENORkciLCAgICAgICAgIDB4NDgwMDAwMUMsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlN5bmNocm9ub3VzIFN0YXRpYyBNZW1vcnkgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAoNi0zMykiIH0sCit7ICJTWENORkdfU1hFTjAiLCAgIDB4NDgwMDAwMUMsIDAsIDB4MDAwMDAwMDEsICd4JywgIlBhcnRpdGlvbiAwIGVuYWJsZWQgYXMgU1ggbWVtb3J5IiB9LAoreyAiU1hDTkZHX1NYRU4xIiwgICAweDQ4MDAwMDFDLCAxLCAweDAwMDAwMDAxLCAneCcsICJQYXJ0aXRpb24gMSBlbmFibGVkIGFzIFNYIG1lbW9yeSIgfSwKK3sgIlNYQ05GR19TWENMMCIsICAgMHg0ODAwMDAxQywgMiwgMHgwMDAwMDAwNywgJ3gnLCAiUGFydGl0aW9uIDAvMSBDQVMgTGF0ZW5jeSIgfSwKK3sgIlNYQ05GR19TWFJMMCIsICAgMHg0ODAwMDAxQywgNSwgMHgwMDAwMDAwNywgJ3gnLCAiUGFydGl0aW9uIDAvMSBSQVMgTGF0ZW5jeSIgfSwKK3sgIlNYQ05GR19TWFJBMCIsICAgMHg0ODAwMDAxQywgOCwgMHgwMDAwMDAwMywgJ3gnLCAiUGFydGl0aW9uIDAvMSByb3cgYWRkcmVzcyBiaXQgY291bnQiIH0sCit7ICJTWENORkdfU1hDQTAiLCAgIDB4NDgwMDAwMUMsMTAsIDB4MDAwMDAwMDMsICd4JywgIlBhcnRpdGlvbiAwLzEgY29sdW1uIGFkZHJlc3MgYml0IGNvdW50IiB9LAoreyAiU1hDTkZHX1NYVFAwIiwgICAweDQ4MDAwMDFDLDEyLCAweDAwMDAwMDAzLCAneCcsICJQYXJ0aXRpb24gMC8xIG1lbW9yeSB0eXBlIiB9LAoreyAiU1hDTkZHX1NYTEFUQ0gwIiwweDQ4MDAwMDFDLDE0LCAweDAwMDAwMDAxLCAneCcsICJQYXJ0aXRpb24gMC8xIHJldHVybiBkYXRhIHdpdGggcmV0dXJuIGNsb2NrIiB9LAoreyAiU1hDTkZHX1NYRU4yIiwgICAweDQ4MDAwMDFDLDE2LCAweDAwMDAwMDAxLCAneCcsICJQYXJ0aXRpb24gMiBlbmFibGVkIGFzIFNYIG1lbW9yeSIgfSwKK3sgIlNYQ05GR19TWEVOMyIsICAgMHg0ODAwMDAxQywxNywgMHgwMDAwMDAwMSwgJ3gnLCAiUGFydGl0aW9uIDMgZW5hYmxlZCBhcyBTWCBtZW1vcnkiIH0sCit7ICJTWENORkdfU1hDTDIiLCAgIDB4NDgwMDAwMUMsMTgsIDB4MDAwMDAwMDcsICd4JywgIlBhcnRpdGlvbiAyLzMgQ0FTIExhdGVuY3kiIH0sCit7ICJTWENORkdfU1hSTDIiLCAgIDB4NDgwMDAwMUMsMjEsIDB4MDAwMDAwMDcsICd4JywgIlBhcnRpdGlvbiAyLzMgUkFTIExhdGVuY3kiIH0sCit7ICJTWENORkdfU1hSQTIiLCAgIDB4NDgwMDAwMUMsMjQsIDB4MDAwMDAwMDMsICd4JywgIlBhcnRpdGlvbiAyLzMgcm93IGFkZHJlc3MgYml0IGNvdW50IiB9LAoreyAiU1hDTkZHX1NYQ0EyIiwgICAweDQ4MDAwMDFDLDI2LCAweDAwMDAwMDAzLCAneCcsICJQYXJ0aXRpb24gMi8zIGNvbHVtbiBhZGRyZXNzIGJpdCBjb3VudCIgfSwKK3sgIlNYQ05GR19TWFRQMiIsICAgMHg0ODAwMDAxQywyOCwgMHgwMDAwMDAwMywgJ3gnLCAiUGFydGl0aW9uIDIvMyBtZW1vcnkgdHlwZSIgfSwKK3sgIlNYQ05GR19TWExBVENIMiIsMHg0ODAwMDAxQywzMCwgMHgwMDAwMDAwMSwgJ3gnLCAiUGFydGl0aW9uIDIvMyByZXR1cm4gZGF0YSB3aXRoIHJldHVybiBjbG9jayIgfSwKKworeyAiU1hNUlMiLCAgICAgICAgICAweDQ4MDAwMDI0LCAwLCAweGZmZmZmZmZmLCAneCcsICJNUlMgdmFsdWUgdG8gYmUgd3JpdHRlbiB0byBTWCBNZW1vcnkgKDYtMzgpIiB9LAorCit7ICJNQ01FTTAiLCAgICAgICAgIDB4NDgwMDAwMjgsIDAsIDB4ZmZmZmZmZmYsICd4JywgIk1FTSBDb250cm9sIGZvciBQQ01DSUEgU29ja2V0IDAgKDYtNTgpIiB9LAoreyAiTUNNRU0wX1NFVCIsICAgICAweDQ4MDAwMDI4LCAwLCAweDAwMDAwMDdmLCAnZCcsICJBZGRyZXNzIHNldCB0aW1lIiB9LAoreyAiTUNNRU0wX0FTU1QiLCAgICAweDQ4MDAwMDI4LCA3LCAweDAwMDAwMDFmLCAnZCcsICJDb21tYW5kIGFzc2VydGlvbiB0aW1lIiB9LAoreyAiTUNNRU0wX0hPTEQiLCAgICAweDQ4MDAwMDI4LDE0LCAweDAwMDAwMDNmLCAnZCcsICJBZGRyZXNzIGhvbGQgdGltZSIgfSwKKworeyAiTUNNRU0xIiwgICAgICAgICAweDQ4MDAwMDJDLCAwLCAweGZmZmZmZmZmLCAneCcsICJNRU0gQ29udHJvbCBmb3IgUENNQ0lBIFNvY2tldCAxICg2LTU4KSIgfSwKK3sgIk1DTUVNMV9TRVQiLCAgICAgMHg0ODAwMDAyQywgMCwgMHgwMDAwMDA3ZiwgJ2QnLCAiQWRkcmVzcyBzZXQgdGltZSIgfSwKK3sgIk1DTUVNMV9BU1NUIiwgICAgMHg0ODAwMDAyQywgNywgMHgwMDAwMDAxZiwgJ2QnLCAiQ29tbWFuZCBhc3NlcnRpb24gdGltZSIgfSwKK3sgIk1DTUVNMV9IT0xEIiwgICAgMHg0ODAwMDAyQywxNCwgMHgwMDAwMDAzZiwgJ2QnLCAiQWRkcmVzcyBob2xkIHRpbWUiIH0sCisKK3sgIk1DQVRUMCIsICAgICAgICAgMHg0ODAwMDAzMCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiQVRUIENvbnRyb2wgZm9yIFBDTUNJQSBTb2NrZXQgMCAoNi01OSkiIH0sCit7ICJNQ0FUVDBfU0VUIiwgICAgIDB4NDgwMDAwMzAsIDAsIDB4MDAwMDAwN2YsICdkJywgIkFkZHJlc3Mgc2V0IHRpbWUiIH0sCit7ICJNQ0FUVDBfQVNTVCIsICAgIDB4NDgwMDAwMzAsIDcsIDB4MDAwMDAwMWYsICdkJywgIkNvbW1hbmQgYXNzZXJ0aW9uIHRpbWUiIH0sCit7ICJNQ0FUVDBfSE9MRCIsICAgIDB4NDgwMDAwMzAsMTQsIDB4MDAwMDAwM2YsICdkJywgIkFkZHJlc3MgaG9sZCB0aW1lIiB9LAorCit7ICJNQ0FUVDEiLCAgICAgICAgIDB4NDgwMDAwMzQsIDAsIDB4ZmZmZmZmZmYsICd4JywgIkFUVCBDb250cm9sIGZvciBQQ01DSUEgU29ja2V0IDEgKDYtNTkpIiB9LAoreyAiTUNBVFQxX1NFVCIsICAgICAweDQ4MDAwMDM0LCAwLCAweDAwMDAwMDdmLCAnZCcsICJBZGRyZXNzIHNldCB0aW1lIiB9LAoreyAiTUNBVFQxX0FTU1QiLCAgICAweDQ4MDAwMDM0LCA3LCAweDAwMDAwMDFmLCAnZCcsICJDb21tYW5kIGFzc2VydGlvbiB0aW1lIiB9LAoreyAiTUNBVFQxX0hPTEQiLCAgICAweDQ4MDAwMDM0LDE0LCAweDAwMDAwMDNmLCAnZCcsICJBZGRyZXNzIGhvbGQgdGltZSIgfSwKKworeyAiTUNJTzAiLCAgICAgICAgICAweDQ4MDAwMDM4LCAwLCAweGZmZmZmZmZmLCAneCcsICJJL08gQ29udHJvbCBmb3IgUENNQ0lBIFNvY2tldCAwICg2LTU5KSIgfSwKK3sgIk1DSU8wX1NFVCIsICAgICAgMHg0ODAwMDAzOCwgMCwgMHgwMDAwMDA3ZiwgJ2QnLCAiQWRkcmVzcyBzZXQgdGltZSIgfSwKK3sgIk1DSU8wX0FTU1QiLCAgICAgMHg0ODAwMDAzOCwgNywgMHgwMDAwMDAxZiwgJ2QnLCAiQ29tbWFuZCBhc3NlcnRpb24gdGltZSIgfSwKK3sgIk1DSU8wX0hPTEQiLCAgICAgMHg0ODAwMDAzOCwxNCwgMHgwMDAwMDAzZiwgJ2QnLCAiQWRkcmVzcyBob2xkIHRpbWUiIH0sCisKK3sgIk1DSU8xIiwgICAgICAgICAgMHg0ODAwMDAzQywgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiSS9PIENvbnRyb2wgZm9yIFBDTUNJQSBTb2NrZXQgMSAoNi01OSkiIH0sCit7ICJNQ0lPMV9TRVQiLCAgICAgIDB4NDgwMDAwM0MsIDAsIDB4MDAwMDAwN2YsICdkJywgIkFkZHJlc3Mgc2V0IHRpbWUiIH0sCit7ICJNQ0lPMV9BU1NUIiwgICAgIDB4NDgwMDAwM0MsIDcsIDB4MDAwMDAwMWYsICdkJywgIkNvbW1hbmQgYXNzZXJ0aW9uIHRpbWUiIH0sCit7ICJNQ0lPMV9IT0xEIiwgICAgIDB4NDgwMDAwM0MsMTQsIDB4MDAwMDAwM2YsICdkJywgIkFkZHJlc3MgaG9sZCB0aW1lIiB9LAorCit7ICJNRE1SUyIsICAgICAgICAgIDB4NDgwMDAwNDAsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlNEUkFNIE1vZGUgUmVnaXN0ZXIgU2V0IENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKDYtMTIpIiB9LAoreyAiTURNUlNfTURCTDAiLCAgICAweDQ4MDAwMDQwLCAwLCAweDAwMDAwMDA3LCAneCcsICJTRFJBTSBQYXJ0aXRpb24gMC8xIGJ1cnN0IGxlbmd0aCIgfSwKK3sgIk1ETVJTX01EQUREMCIsICAgMHg0ODAwMDA0MCwgMywgMHgwMDAwMDAwMSwgJ3gnLCAiU0RSQU0gUGFydGl0aW9uIDAvMSBidXJzdCB0eXBlIiB9LAoreyAiTURNUlNfTURDTDAiLCAgICAweDQ4MDAwMDQwLCA0LCAweDAwMDAwMDA3LCAneCcsICJTRFJBTSBQYXJ0aXRpb24gMC8xIENBUyBsYXRlbmN5IiB9LAoreyAiTURNUlNfTURNUlMwIiwgICAweDQ4MDAwMDQwLCA3LCAweDAwMDAwMGZmLCAneCcsICJNUlMgdmFsdWUgdG8gYmUgd3JpdHRlbiB0byBTRFJBTSBQYXJ0aXRpb24gMC8xIiB9LAoreyAiTURNUlNfTURCTDIiLCAgICAweDQ4MDAwMDQwLDE2LCAweDAwMDAwMDA3LCAneCcsICJTRFJBTSBQYXJ0aXRpb24gMi8zIGJ1cnN0IGxlbmd0aCIgfSwKK3sgIk1ETVJTX01EQUREMiIsICAgMHg0ODAwMDA0MCwxOSwgMHgwMDAwMDAwMSwgJ3gnLCAiU0RSQU0gUGFydGl0aW9uIDIvMyBidXJzdCB0eXBlIiB9LAoreyAiTURNUlNfTURDTDIiLCAgICAweDQ4MDAwMDQwLDIwLCAweDAwMDAwMDA3LCAneCcsICJTRFJBTSBQYXJ0aXRpb24gMi8zIENBUyBsYXRlbmN5IiB9LAoreyAiTURNUlNfTURNUlMyIiwgICAweDQ4MDAwMDQwLDIzLCAweDAwMDAwMGZmLCAneCcsICJNUlMgdmFsdWUgdG8gYmUgd3JpdHRlbiB0byBTRFJBTSBQYXJ0aXRpb24gMi8zIiB9LAorCit7ICJCT09UREVGIiwgICAgICAgIDB4NDgwMDAwNDQsIDAsIDB4ZmZmZmZmZmYsICd4JywgIkJvb3QgVGltZSBEZWZhdWx0cyAoNi03MykiIH0sCit7ICJCT09UREVGX0JPT1RTRUwiLDB4NDgwMDAwNDQsIDAsIDB4MDAwMDAwMDcsICd4JywgIkJvb3QgQ29uZmlndXJhdGlvbiBhdCBCT09UX1NFTCBwaW5zIiB9LAoreyAiQk9PVERFRl9QS0dUWVBFIiwweDQ4MDAwMDQ0LCAzLCAweDAwMDAwMDAxLCAneCcsICJQcm9jZXNzb3IgdHlwZSwgMSBmb3IgUFhBMjUwIiB9LAorCit7ICJNRE1SU0xQIiwgICAgICAgIDB4NDgwMDAwNTgsIDAsIDB4ZmZmZmZmZmYsICd4JywgIkxvdy1Qb3dlciBTRFJBTSBNb2RlIFJlZ2lzdGVyIFNldCBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICg2LTE0KSIgfSwKKy8vIFRPRE8KKworCisKK3sgIk1NQ19TVFJQQ0wiLAkJCTB4NDExMDAwMDAsIDAsIDB4ZmZmZmZmZmYsICd4JywgIk1NQyBTdGFydC9TdG9wIENsb2NrICgxNS0yMykiIH0sCisKK3sgIk1NQ19TVEFUIiwJCQkweDQxMTAwMDA0LCAwLCAweGZmZmZmZmZmLCAneCcsICJNTUMgU3RhdHVzIFJlZ2lzdGVyICgxNS0yNCkiIH0sCit7ICJNTUNfU1RBVF9SRUFEX1RJTUVfT1VUIiwJMHg0MTEwMDAwNCwgMCwgMHgwMDAwMDAwMSwgJ3gnLCAiUmVhZCBUaW1lIE91dCIgfSwKK3sgIk1NQ19TVEFUX1RJTUVfT1VUX1JFU1AiLAkweDQxMTAwMDA0LCAxLCAweDAwMDAwMDAxLCAneCcsICJUaW1lIE91dCBSZXNwb25zZSIgfSwKK3sgIk1NQ19TVEFUX0NSQ19XUklURV9FUlJPUiIsCTB4NDExMDAwMDQsIDIsIDB4MDAwMDAwMDEsICd4JywgIkNSQyBXcml0ZSBFcnJvciIgfSwKK3sgIk1NQ19TVEFUX0NSQ19SRUFEX0VSUiIsCTB4NDExMDAwMDQsIDMsIDB4MDAwMDAwMDEsICd4JywgIkNSQyBSZWFkIEVycm9yIiB9LAoreyAiTU1DX1NUQVRfU1BJX1JFQURfRVJSX1RLTiIsCTB4NDExMDAwMDQsIDQsIDB4MDAwMDAwMDEsICd4JywgIlNQSSBSZWFkIEVycm9yIFRva2VuIiB9LAoreyAiTU1DX1NUQVRfUkVTX0NSQ19FUlIiLAkweDQxMTAwMDA0LCA1LCAweDAwMDAwMDAxLCAneCcsICJSZXNwb25zZSBDUkMgRXJyb3IiIH0sCit7ICJNTUNfU1RBVF9YTUlUX0ZJRk9fRU1QVFkiLAkweDQxMTAwMDA0LCA2LCAweDAwMDAwMDAxLCAneCcsICJUcmFuc21pdCBGSUZPIEVtcHR5IiB9LAoreyAiTU1DX1NUQVRfUkVDVl9GSUZPX0VNUFRZIiwJMHg0MTEwMDAwNCwgNywgMHgwMDAwMDAwMSwgJ3gnLCAiUmVjZWl2ZSBGSUZPIEVtcHR5IiB9LAoreyAiTU1DX1NUQVRfQ0xLX0VOIiwJCTB4NDExMDAwMDQsIDgsIDB4MDAwMDAwMDEsICd4JywgIkNsb2NrIEVuYWJsZWQiIH0sCit7ICJNTUNfU1RBVF9EQVRBX1RSQU5fRE9ORSIsCTB4NDExMDAwMDQsMTEsIDB4MDAwMDAwMDEsICd4JywgIkRhdGEgVHJhbnNtaXNzaW9uIERvbmUiIH0sCit7ICJNTUNfU1RBVF9QUkdfRE9ORSIsCQkweDQxMTAwMDA0LDEyLCAweDAwMDAwMDAxLCAneCcsICJQcm9ncmFtIERvbmUiIH0sCit7ICJNTUNfU1RBVF9FTkRfQ01EX1JFUyIsCTB4NDExMDAwMDQsMTMsIDB4MDAwMDAwMDEsICd4JywgIkVuZCBDb21tYW5kIFJlc3BvbnNlIiB9LAorCit7ICJNTUNfQ0xLUlQiLAkJCTB4NDExMDAwMDgsIDAsIDB4ZmZmZmZmZmYsICd4JywgIk1NQyBDbG9jayBSZWFkIFRpbWVvdXQgUmVnaXN0ZXIgKDE1LTI2KSIgfSwKK3sgIk1NQ19DTEtfUkFURSIsCQkweDQxMTAwMDA4LCAwLCAweDAwMDAwMDA3LCAneCcsICJSZWFkIFRpbWUgT3V0IGJpdG1hc2siIH0sCisKK3sgIk1NQ19TUEkiLAkJCTB4NDExMDAwMGMsIDAsIDB4ZmZmZmZmZmYsICd4JywgIk1NQyBTUEkgbW9kZSAoMTUtMjcpIiB9LAoreyAiTU1DX1NQSV9FTiIsCQkJMHg0MTEwMDAwYywgMCwgMHgwMDAwMDAwMSwgJ3gnLCAiU1BJIG1vZGUgZW5hYmxlZCIgfSwKK3sgIk1NQ19TUElfQ1JDX09OIiwJCTB4NDExMDAwMGMsIDEsIDB4MDAwMDAwMDEsICd4JywgIkNSQyBnZW5lcmF0aW9uIGVuYWJsZWQiIH0sCit7ICJNTUNfU1BJX0NTX0VOIiwJCTB4NDExMDAwMGMsIDIsIDB4MDAwMDAwMDEsICd4JywgIlNQSSBjaGlwIHNlbGVjdCBlbmFibGVkIiB9LAoreyAiTU1DX1NQSV9DU19BRERSRVNTIiwJCTB4NDExMDAwMGMsIDMsIDB4MDAwMDAwMDEsICd4JywgIkNTMCBlbmFibGVkIiB9LAorCit7ICJNTUNfQ01EQVQiLAkJCTB4NDExMDAwMTAsIDAsIDB4ZmZmZmZmZmYsICd4JywgIk1NQyBDb21tYW5kIERhdGEgKDE1LTI4KSIgfSwKK3sgIk1NQ19DTURBVF9SRiIsCQkweDQxMTAwMDEwLCAwLCAweDAwMDAwMDAzLCAneCcsICJyZXNwb25zZSBmb3JtYXQiIH0sCit7ICJNTUNfQ01EQVRfREFUQV9FTiIsCQkweDQxMTAwMDEwLCAyLCAweDAwMDAwMDAxLCAneCcsICJjdXJyZW50IGNtZCBpbmNsdWRlcyBkYXRhIHRyYW5zZmVyIiB9LAoreyAiTU1DX0NNREFUX1dSSVRFIiwJCTB4NDExMDAwMTAsIDMsIDB4MDAwMDAwMDEsICd4JywgImRhdGEgdHJhbnNmZXIgaXMgYSB3cml0ZSIgfSwKK3sgIk1NQ19DTURBVF9TVFJFQU0iLAkJMHg0MTEwMDAxMCwgNCwgMHgwMDAwMDAwMSwgJ3gnLCAiZGF0YSB0cmFuc2ZlciBpcyBpbiBzdHJlYW0gbW9kZSIgfSwKK3sgIk1NQ19DTURBVF9CVVNZIiwJCTB4NDExMDAwMTAsIDUsIDB4MDAwMDAwMDEsICd4JywgImJ1c3kgc2lnbmFsIGlzIGV4cGVjdGVkIGFmdGVyIGRhdGEgdHJhbnNmZXIiIH0sCit7ICJNTUNfQ01EQVRfSU5JVCIsCQkweDQxMTAwMDEwLCA2LCAweDAwMDAwMDAxLCAneCcsICJwcmVjZWRlIGNtZCB3aXRoIDgwIGNsb2NrcyIgfSwKK3sgIk1NQ19DTURBVF9ETUFfRU4iLAkJMHg0MTEwMDAxMCwgNywgMHgwMDAwMDAwMSwgJ3gnLCAiZW5hYmxlIERNQSBtb2RlIiB9LAorCit7ICJNTUNfUkVTVE8iLAkJCTB4NDExMDAwMTQsIDAsIDB4ZmZmZmZmZmYsICd4JywgIk1NQyBSZXNwb25zZSBUaW1lIE91dCAoMTUtMjkpIiB9LAoreyAiTU1DX1JFU1RPX1RPIiwJCTB4NDExMDAwMTQsIDAsIDB4MDAwMDAwN2YsICdkJywgImNsb2NrcyBiZWZvcmUgYSByZXNwb25zZSB0aW1lIG91dCIgfSwKKworeyAiTU1DX1JEVE8iLAkJCTB4NDExMDAwMTgsIDAsIDB4ZmZmZmZmZmYsICd4JywgIk1NQyBSZWFkIFRpbWUgT3V0ICgxNS0yOSkiIH0sCit7ICJNTUNfUkRUT19UTyIsCQkweDQxMTAwMDE4LCAwLCAweDAwMDBmZmZmLCAnZCcsICJ0aW1lIHVudGlsIHJlYWQgdGltZSBvdXQiIH0sCisKK3sgIk1NQ19CTEtMRU4iLAkJCTB4NDExMDAwMUMsIDAsIDB4ZmZmZmZmZmYsICd4JywgIk1NQyBCbG9jayBMZW4gUmVnaXN0ZXIgKDE1LTMwKSIgfSwKK3sgIk1NQ19CTEtMRU5fTEVOIiwJCTB4NDExMDAwMUMsIDAsIDB4MDAwMDAzZmYsICdkJywgIk51bWJlciBvZiBieXRlcyBpbiB0aGUgYmxvY2siIH0sCisKK3sgIk1NQ19OT0IiLAkJCTB4NDExMDAwMjAsIDAsIDB4ZmZmZmZmZmYsICd4JywgIk1NQyBCbG9jayBOdW1iZXIgUmVnaXN0ZXIgKDE1LTMwKSIgfSwKK3sgIk1NQ19OT0JfTiIsCQkJMHg0MTEwMDAyMCwgMCwgMHgwMDAwZmZmZiwgJ2QnLCAibnVtYmVyIG9mIGJsb2NrcyIgfSwKKworeyAiTU1DX1BSVEJVRiIsCQkJMHg0MTEwMDAyNCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTU1DIFBhcnRpYWwgQnVmZmVyIFJlZ2lzdGVyICgxNS0zMSkiIH0sCit7ICJNTUNfUFJUQlVGX0ZVTEwiLAkJMHg0MTEwMDAyNCwgMCwgMHgwMDAwMDAwMSwgJ3gnLCAiQnVmZmVyIGlzIHBhcnRpYWxseSBmdWxsIiB9LAorCit7ICJNTUNfSU1BU0siLAkJCTB4NDExMDAwMjgsIDAsIDB4ZmZmZmZmZmYsICd4JywgIk1NQyBJbnRlcnJ1cHQgTWFzayBSZWdpc3RlciAoMTUtMzEpIiB9LAoreyAiTU1DX0lNQVNLX0RBVEFUUkFOIiwJCTB4NDExMDAwMjgsIDAsIDB4MDAwMDAwMDEsICd4JywgIkRhdGEgVHJhbnNmZXIgRG9uZSBtYXNrZWQiIH0sCit7ICJNTUNfSU1BU0tfUFJHRE9ORSIsCQkweDQxMTAwMDI4LCAxLCAweDAwMDAwMDAxLCAneCcsICJQcm9ncmFtbWluZyBEb25lIG1hc2tlZCIgfSwKK3sgIk1NQ19JTUFTS19FTkRDTUQiLAkJMHg0MTEwMDAyOCwgMiwgMHgwMDAwMDAwMSwgJ3gnLCAiRW5kIENvbW1hbmQgUmVzcG9uc2UgbWFza2VkIiB9LAoreyAiTU1DX0lNQVNLX1NUT1BDTUQiLAkJMHg0MTEwMDAyOCwgMywgMHgwMDAwMDAwMSwgJ3gnLCAiUmVhZHkgZm9yIFN0b3AgVHJhbnNhY3Rpb24gQ29tbWFuZCBtYXNrZWQiIH0sCit7ICJNTUNfSU1BU0tfQ0xPQ0tPRkYiLAkJMHg0MTEwMDAyOCwgNCwgMHgwMDAwMDAwMSwgJ3gnLCAiQ2xvY2sgSXMgT2ZmIG1hc2tlZCIgfSwKK3sgIk1NQ19JTUFTS19SWEZJRk8iLAkJMHg0MTEwMDAyOCwgNSwgMHgwMDAwMDAwMSwgJ3gnLCAiUmVjZWl2ZSBGSUZPIFJlYWQgUmVxdWVzdCBtYXNrZWQiIH0sCit7ICJNTUNfSU1BU0tfVFhGSUZPIiwJCTB4NDExMDAwMjgsIDYsIDB4MDAwMDAwMDEsICd4JywgIlRyYW5zbWl0IEZJRk8gV3JpdGUgUmVxdWVzdCBtYXNrZWQiIH0sCisKK3sgIk1NQ19JUkVHIiwJCQkweDQxMTAwMDJjLCAwLCAweGZmZmZmZmZmLCAneCcsICJNTUMgSW50ZXJydXB0IFJlZ2lzdGVyICgxNS0zMykiIH0sCit7ICJNTUNfSVJFR19EQVRBVFJBTiIsCQkweDQxMTAwMDJjLCAwLCAweDAwMDAwMDAxLCAneCcsICJEYXRhIFRyYW5zZmVyIERvbmUgb3IgUmVhZCBUaW1lT3V0IG9jY3VyZWQiIH0sCit7ICJNTUNfSVJFR19QUkdET05FIiwJCTB4NDExMDAwMmMsIDEsIDB4MDAwMDAwMDEsICd4JywgIkNhcmQgaGFzIGZpbmlzaGVkIHByb2dyYW1taW5nIiB9LAoreyAiTU1DX0lSRUdfRU5EQ01EIiwJCTB4NDExMDAwMmMsIDIsIDB4MDAwMDAwMDEsICd4JywgIk1NQyBoYXMgcmVjZWl2ZWQgcmVzcG9uc2Ugb3IgUmVzcG9uc2UgVGltZU91dCIgfSwKK3sgIk1NQ19JUkVHX1NUT1BDTUQiLAkJMHg0MTEwMDAyYywgMywgMHgwMDAwMDAwMSwgJ3gnLCAiTU1DIGlzIHJlYWR5IGZvciB0aGUgU3RvcCBUcmFuc2FjdGlvbiBDb21tYW5kIiB9LAoreyAiTU1DX0lSRUdfQ0xPQ0tPRkYiLAkJMHg0MTEwMDAyYywgNCwgMHgwMDAwMDAwMSwgJ3gnLCAiTU1DIGNsb2NrIGhhcyBiZWVuIHR1cm5lZCBvZmYiIH0sCit7ICJNTUNfSVJFR19SWEZJRk8iLAkJMHg0MTEwMDAyYywgNSwgMHgwMDAwMDAwMSwgJ3gnLCAiUmVxdWVzdCBmb3IgZGF0YSByZWFkIGZyb20gcmVjZWl2ZSBGSUZPIiB9LAoreyAiTU1DX0lSRUdfVFhGSUZPIiwJCTB4NDExMDAwMmMsIDYsIDB4MDAwMDAwMDEsICd4JywgIlJlcXVlc3QgdG8gZGF0YSB3cml0ZSB0byB0cmFuc21pdCBGSUZPIiB9LAorCit7ICJNTUNfQ01EIiwJCQkweDQxMTAwMDMwLCAwLCAweGZmZmZmZmZmLCAneCcsICJNTUMgQ29tbWFuZCBSZWdpc3RlciAoMTUtMzQpIiB9LAoreyAiTU1DX0NNRF9JTkRFWCIsCQkweDQxMTAwMDMwLCAwLCAweDAwMDAwMDNmLCAneCcsICJjb21tYW5kIGluZGV4IiB9LAorCit7ICJNTUNfQVJHSCIsCQkJMHg0MTEwMDAzNCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTU1DIEhpZ2hlciBBcmd1bWVudCBSZWdpc3RlciAoMTUtMzYpIiB9LAoreyAiTU1DX0FSR0hfQVJHIiwJCTB4NDExMDAwMzQsIDAsIDB4MDAwMGZmZmYsICd4JywgInVwcGVyIDE2IGJpdHMgb2YgY29tbWFuZCBhcmd1bWVudCIgfSwKKworeyAiTU1DX0FSR0wiLAkJCTB4NDExMDAwMzgsIDAsIDB4ZmZmZmZmZmYsICd4JywgIk1NQyBMb3dlciBBcmd1bWVudCBSZWdpc3RlciAoMTUtMzYpIiB9LAoreyAiTU1DX0FSR0xfQVJHIiwJCTB4NDExMDAwMzgsIDAsIDB4MDAwMGZmZmYsICd4JywgInVwcGVyIDE2IGJpdHMgb2YgY29tbWFuZCBhcmd1bWVudCIgfSwKKworCisjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9QWEFfSURQKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX1JBTVNFUykKKy8vIENTNSsweDAzQzAwMDAwICBDUExECQkweDE0MDAwMDAwCisvLyBDUzEgICAgICAgICAgICAgQWx0LUZsYXNoCTB4MDQwMDAwMDAKKy8vIENTMCAgICAgICAgICAgICBGbGFzaAkweDAwMDAwMDAwCisKK3sgIkNQTERfUFdSIiwJCQkweDE3QzAwMDA0LCAwLCAweDAwMDAwMGZmLCAneCcsICJDUExEX1BFUklQSF9QV1IiIH0sCit7ICJDUExEX1BXUl9DT1JFIiwJCTB4MTdDMDAwMDQsIDAsIDB4MDAwMDAwMDEsICdkJywgIlZhcmlhYmxlIGNvcmUgZW5hYmxlIC0gbGF0Y2ggdmFsdWUgaW4gZmlyc3QiIH0sCisjaWZkZWYgQ09ORklHX0FSQ0hfUFhBX0lEUAoreyAiQ1BMRF9QV1JfTVEiLAkJMHgxN0MwMDAwNCwgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiTVExMTMyIHBvd2VyIHN3aXRjaCIgfSwKKyNlbHNlCit7ICJDUExEX1BXUl9TTDgxMUhTIiwJCTB4MTdDMDAwMDQsIDIsIDB4MDAwMDAwMDEsICdkJywgIlNMODExSFMgcG93ZXIgc3dpdGNoIiB9LAorI2VuZGlmCit7ICJDUExEX1BXUl9QRVIiLAkJMHgxN0MwMDAwNCwgMywgMHgwMDAwMDAwMSwgJ2QnLCAicGVyaXBoZXJhbCBwb3dlciBlbmFibGUiIH0sCit7ICJDUExEX1BXUl9SU1QiLAkJMHgxN0MwMDAwNCwgNCwgMHgwMDAwMDAwMSwgJ2QnLCAicGVyaXBoZXJhbCByZXNldCIgfSwKKworeyAiQ1BMRF9MRUQiLAkJCTB4MTdDMDAwMDgsIDAsIDB4MDAwMDAwZmYsICd4JywgIkNQTERfTEVEX0NPTlRST0wiIH0sCit7ICJDUExEX0xFRF9DSVIiLAkJMHgxN0MwMDAwOCwgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiQ0lSIiB9LAoreyAiQ1BMRF9MRURfSEIiLAkJMHgxN0MwMDAwOCwgNSwgMHgwMDAwMDAwMSwgJ2QnLCAicmVkIExFRCAoMD1vbikiIH0sCit7ICJDUExEX0xFRF9CVVNZIiwJCTB4MTdDMDAwMDgsIDYsIDB4MDAwMDAwMDEsICdkJywgImdyZWVuIExFRCAoMD1vbikiIH0sCit7ICJDUExEX0xFRF9GTEFTSCIsCQkweDE3QzAwMDA4LCA3LCAweDAwMDAwMDAxLCAnZCcsICJyZWQgTEVEIGZsYXNoIGVuYWJsZSIgfSwKKworeyAiQ1BMRF9LQkRfQ09MX0hJR0giLAkJMHgxN0MwMDAwQywgMCwgMHgwMDAwMDBmZiwgJ3gnLCAiQ1BMRCIgfSwKKworeyAiQ1BMRF9LQkRfQ09MX0xPVyIsCQkweDE3QzAwMDEwLCAwLCAweDAwMDAwMGZmLCAneCcsICJDUExEIiB9LAorCit7ICJDUExEX1BDQ0FSRF9FTiIsCQkweDE3QzAwMDE0LCAwLCAweDAwMDAwMGZmLCAneCcsICJDUExEIFBDLUNhcmQgRW5hYmxlIiB9LAoreyAiQ1BMRF9QQ0MwX0VOQUJMRSIsCQkweDE3QzAwMDE0LCAwLCAweDAwMDAwMDAxLCAnZCcsICJQQy1DYXJkIDAgZW5hYmxlIiB9LAoreyAiQ1BMRF9QQ0MxX0VOQUJMRSIsCQkweDE3QzAwMDE0LCAxLCAweDAwMDAwMDAxLCAnZCcsICJQQy1DYXJkIDEgZW5hYmxlIiB9LAoreyAiQ1BMRF9QQ0MwX1JFU0VUIiwJCTB4MTdDMDAwMTQsIDYsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMCByZXNldCIgfSwKK3sgIkNQTERfUENDMV9SRVNFVCIsCQkweDE3QzAwMDE0LCA3LCAweDAwMDAwMDAxLCAnZCcsICJQQy1DYXJkIDEgcmVzZXQiIH0sCisKKy8qCit7ICJDUExEX0dQSU9IX0RJUiIsCQkweDE3QzAwMDE4LCAwLCAweGZmZmZmZmZmLCAneCcsICJDUExEIiB9LAoreyAiQ1BMRF9HUElPSF9WQUxVRSIsCQkweDE3QzAwMDFDLCAwLCAweGZmZmZmZmZmLCAneCcsICJDUExEIiB9LAoreyAiQ1BMRF9HUElPTF9ESVIiLAkJMHgxN0MwMDAyMCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiQ1BMRCIgfSwKK3sgIkNQTERfR1BJT0xfVkFMVUUiLAkJMHgxN0MwMDAyNCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiQ1BMRCIgfSwKKworICAgICAgV0hFTiAiMDAxMTAiID0+CisgICAgICAgIGRhdGEoNykgPD0gbDNfZGF0YV9vdXQ7ICAgICAgICAgLS0gTDMgSUlTIGNvbnRyb2wgYnVzIC0gZGlyZWN0aW9uIG9mIGRhdGEgYml0CisgICAgICAgIGRhdGEoNikgPD0gJzAnOworICAgICAgICBkYXRhKDUpIDw9ICcwJzsKKyAgICAgICAgZGF0YSg0KSA8PSAnMCc7CisgICAgICAgIGRhdGEoMykgPD0gJzAnOworICAgICAgICBkYXRhKDIpIDw9ICcwJzsKKyAgICAgICAgZGF0YSgxKSA8PSBncHNsb3dfb3V0KDEpOyAgICAgICAtLSBkaXJlY3Rpb24gb2YgcGxkX2dwaW9fMDkKKyAgICAgICAgZGF0YSgwKSA8PSBncHNsb3dfb3V0KDApOyAgICAgICAtLSBkaXJlY3Rpb24gb2YgcGxkX2dwaW9fMDgKKworICAgICAgV0hFTiAiMDAxMTEiID0+ICAgICAgICAgICAgICAgICAgIC0tIGdwaW8gb24gYXN5bmMgYnVzCisgICAgICAgIGRhdGEoNykgPD0gbDNfZGF0YV9pbzsgICAgICAgICAgLS0gTDMgSUlTIGNvbnRyb2wgYnVzIC0gYWx3YXlzIHJlYWRzIHBpbgorICAgICAgICBkYXRhKDYpIDw9IGwzX2NsazsgICAgICAgICAgICAgIC0tIEwzIElJUyBjb250cm9sIGJ1cyAtIHJlYWQgYmFjayBjbG9jaworICAgICAgICBkYXRhKDUpIDw9IGwzX21vZGU7ICAgICAgICAgICAgIC0tIEwzIElJUyBjb250cm9sIGJ1cyAtIHJlYWQgYmFjayBtb2RlCisgICAgICAgIGRhdGEoNCkgPD0gJzAnOworICAgICAgICBkYXRhKDMpIDw9ICcwJzsKKyAgICAgICAgZGF0YSgyKSA8PSAnMCc7CisgICAgICAgIGRhdGEoMSkgPD0gZ3BzbG93X2lvKDEpOyAgICAgICAgLS0gZ3BpbyBvbiBhc3luYyBidXMKKyAgICAgICAgZGF0YSgwKSA8PSBncHNsb3dfaW8oMCk7ICAgICAgICAtLSBncGlvIG9uIGFzeW5jIGJ1cworCisgICAgICBXSEVOICIwMTAwMCIgPT4KKyAgICAgICAgZGF0YSA8PSBncF9vdXQ7ICAgICAgICAgICAgICAgICAtLSBkaXJlY3Rpb24gb2YgcGxkX2dwaW9fMDcgdGhyb3VnaCAwMAorCisgICAgICBXSEVOICIwMTAwMSIgPT4gICAgICAgICAgICAgICAgICAgLS0gZ3BpbyBvbiBoaWdoIHNwZWVkIGJ1cworICAgICAgICBkYXRhIDw9IGdwX2lvOworKi8KKworeyAiQ1BMRF9QQ0NBUkRfUFdSIiwJCTB4MTdDMDAwMjgsIDAsIDB4MDAwMDAwZmYsICd4JywgIkNQTEQgUEMtQ2FyZCBQb3dlciIgfSwKK3sgIkNQTERfUENDMF9QV1IwIiwJCTB4MTdDMDAwMjgsIDAsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMCBQd3IgMCIgfSwKK3sgIkNQTERfUENDMF9QV1IxIiwJCTB4MTdDMDAwMjgsIDEsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMCBQd3IgMSIgfSwKK3sgIkNQTERfUENDMF9QV1IyIiwJCTB4MTdDMDAwMjgsIDIsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMCBQd3IgMiIgfSwKK3sgIkNQTERfUENDMF9QV1IzIiwJCTB4MTdDMDAwMjgsIDMsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMCBQd3IgMyIgfSwKK3sgIkNQTERfUENDMV9QV1IwIiwJCTB4MTdDMDAwMjgsIDQsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMSBQd3IgMCIgfSwKK3sgIkNQTERfUENDMV9QV1IxIiwJCTB4MTdDMDAwMjgsIDUsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMSBQd3IgMSIgfSwKK3sgIkNQTERfUENDMV9QV1IyIiwJCTB4MTdDMDAwMjgsIDYsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMSBQd3IgMiIgfSwKK3sgIkNQTERfUENDMV9QV1IzIiwJCTB4MTdDMDAwMjgsIDcsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMSBQd3IgMyIgfSwKKworeyAiQ1BMRF9NSVNDIiwJCQkweDE3QzAwMDJDLCAwLCAweDAwMDAwMGZmLCAneCcsICJDUExEX01JU0NfQ1RSTCIgfSwKK3sgIkNQTERfTUlTQ19TRVIxRU4iLAkJMHgxN0MwMDAyQywgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUlMtMjMyIG9uIEZGIFVBUlQgZW5hYmxlIiB9LAoreyAiQ1BMRF9NSVNDX1NFUjJFTiIsCQkweDE3QzAwMDJDLCAxLCAweDAwMDAwMDAxLCAnZCcsICJSUy0yMzIgb24gQlQgVUFSVCBlbmFibGUiIH0sCit7ICJDUExEX01JU0NfU0VSM0VOIiwJCTB4MTdDMDAwMkMsIDIsIDB4MDAwMDAwMDEsICdkJywgIlJTLTIzMiBvbiBTVCBVQVJUIGVuYWJsZSIgfSwKK3sgIkNQTERfTUlTQ19JUkRBRklSIiwJCTB4MTdDMDAwMkMsIDMsIDB4MDAwMDAwMDEsICdkJywgIklyREEgRklSIGVuYWJsZSIgfSwKK3sgIkNQTERfTUlTQ19JUkRBTUQwIiwJCTB4MTdDMDAwMkMsIDQsIDB4MDAwMDAwMDEsICdkJywgIklyREEgbW9kZSAwIiB9LAoreyAiQ1BMRF9NSVNDX0lSREFNRDEiLAkJMHgxN0MwMDAyQywgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiSXJEQSBtb2RlIDEiIH0sCisjaWZkZWYgQ09ORklHX0FSQ0hfUFhBX0lEUAoreyAiQ1BMRF9NSVNDX0kyU1BXUiIsCQkweDE3QzAwMDJDLCA3LCAweDAwMDAwMDAxLCAnZCcsICJVREExMzQxIHBvd2VyIHN3aXRjaCIgfSwKKyNlbmRpZgorCit7ICJDUExEX0xDRCIsCQkJMHgxN0MwMDAzMCwgMCwgMHgwMDAwMDBmZiwgJ3gnLCAiQ1BMRCBMQ0QgQ29udHJvbCIsIH0sCisjaWZkZWYgQ09ORklHX0FSQ0hfUFhBX0lEUAoreyAiQ1BMRF9MQ0RfUFdSIiwJCTB4MTdDMDAwMzAsIDAsIDB4MDAwMDAwMDEsICdkJywgIkxDRCBQb3dlciIgfSwKK3sgIkNQTERfTENEX0JBQ0tMSUdIVCIsCQkweDE3QzAwMDMwLCAxLCAweDAwMDAwMDAxLCAnZCcsICJMQ0QgQmFja2xpZ2h0IiB9LAoreyAiQ1BMRF9MQ0RfVkxDRCIsCQkweDE3QzAwMDMwLCAyLCAweDAwMDAwMDAxLCAnZCcsICJMQ0QgVkxDRCIgfSwKKyNlbHNlCit7ICJDUExEX0xDRF9WQ0MiLAkJMHgxN0MwMDAzMCwgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiTENEIFZDQyIgfSwKK3sgIkNQTERfTENEX0RJU1BPRkYiLAkJMHgxN0MwMDAzMCwgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiTENEIG5ESVNQT0ZGIiB9LAorI2VuZGlmCisKK3sgIkNQTERfRkxBU0giLAkJCTB4MTdDMDAwMzQsIDAsIDB4MDAwMDAwZmYsICd4JywgIkNQTEQgRmxhc2ggQ29udHJvbCIgfSwKK3sgIkNQTERfRkxBU0hfV0UiLAkJMHgxN0MwMDAzNCwgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiQ1BMRCBTdHJhdGFGbGFzaCBXcml0ZSBFbmFibGUiIH0sCisjaWZkZWYgQ09ORklHX0FSQ0hfUFhBX0lEUAoreyAiQ1BMRF9GTEFTSF9NV0UiLAkJMHgxN0MwMDAzNCwgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiQ1BMRCBNUGx1cyBXcml0ZSBFbmFibGUiIH0sCit7ICJDUExEX0ZMQVNIX01PRSIsCQkweDE3QzAwMDM0LCAyLCAweDAwMDAwMDAxLCAnZCcsICJDUExEIE1QbHVzIE91dHB1dCBFbmFibGUiIH0sCisKK3sgIkNQTERfQ1MiLAkJCTB4MTdDMDAwMzgsIDAsIDB4MDAwMDAwZmYsICd4JywgIkNQTEQgQ2hpcCBTZWxlY3QgUmVnaXN0ZXIiIH0sCit7ICJDUExEX0NTX0NTMEVOIiwJCTB4MTdDMDAwMzgsIDAsIDB4MDAwMDAwMDEsICdkJywgIkNQTEQgQ2hpcCBTZWxlY3QgMCBFbmFibGUiIH0sCit7ICJDUExEX0NTX0NTMUVOIiwJCTB4MTdDMDAwMzgsIDEsIDB4MDAwMDAwMDEsICdkJywgIkNQTEQgQ2hpcCBTZWxlY3QgMSBFbmFibGUiIH0sCit7ICJDUExEX0NTX0NTMkVOIiwJCTB4MTdDMDAwMzgsIDIsIDB4MDAwMDAwMDEsICdkJywgIkNQTEQgQ2hpcCBTZWxlY3QgMiBFbmFibGUiIH0sCit7ICJDUExEX0NTX0NTM0VOIiwJCTB4MTdDMDAwMzgsIDMsIDB4MDAwMDAwMDEsICdkJywgIkNQTEQgQ2hpcCBTZWxlY3QgMyBFbmFibGUiIH0sCit7ICJDUExEX0NTX0NTNEVOIiwJCTB4MTdDMDAwMzgsIDQsIDB4MDAwMDAwMDEsICdkJywgIkNQTEQgQ2hpcCBTZWxlY3QgNCBFbmFibGUiIH0sCisvL3sgIkNQTERfQ1NfQ1M1RU4iLAkJMHgxN0MwMDAzOCwgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiQ1BMRCBDaGlwIFNlbGVjdCA1IEVuYWJsZSIgfSwKKyNlbmRpZgorCit7ICJDUExEX0tCX1JPVyIsCQkweDE3QzAwMDUwLCAwLCAweDAwMDAwMGZmLCAneCcsICJDUExEIiB9LAorCit7ICJDUExEX1BDQ0FSRDBfU1RBVFVTIiwJMHgxN0MwMDA1NCwgMCwgMHgwMDAwMDBmZiwgJ3gnLCAiQ1BMRCBQQy1DYXJkIDAgU3RhdHVzIiB9LAoreyAiQ1BMRF9QQ0MwX1ZTMSIsICAgICAgICAgICAgICAweDE3QzAwMDU0LCAwLCAweDAwMDAwMDAxLCAnZCcsICJQQy1DYXJkIDAgVlMxIiB9LAoreyAiQ1BMRF9QQ0MwX1ZTMiIsICAgICAgICAgICAgICAweDE3QzAwMDU0LCAxLCAweDAwMDAwMDAxLCAnZCcsICJQQy1DYXJkIDAgVlMyIiB9LAoreyAiQ1BMRF9QQ0MwX0JWRDEiLCAgICAgICAgICAgICAweDE3QzAwMDU0LCAyLCAweDAwMDAwMDAxLCAnZCcsICJQQy1DYXJkIDAgQlZEMSIgfSwKK3sgIkNQTERfUENDMF9CVkQyIiwgICAgICAgICAgICAgMHgxN0MwMDA1NCwgMywgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAwIEJWRDIiIH0sCit7ICJDUExEX1BDQzBfSU5QQUNLIiwgICAgICAgICAgIDB4MTdDMDAwNTQsIDQsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMCBJTlBBQ0siIH0sCit7ICJDUExEX1BDQzBfSVJRIiwgICAgICAgICAgICAgIDB4MTdDMDAwNTQsIDUsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMCBJUlEiIH0sCit7ICJDUExEX1BDQzBfU1RSRVNFVCIsICAgICAgICAgIDB4MTdDMDAwNTQsIDYsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMCBSRVNFVCIgfSwKK3sgIkNQTERfUENDMF9XUlBST1QiLCAgICAgICAgICAgMHgxN0MwMDA1NCwgNywgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAwIFdSUFJPVCIgfSwKKworeyAiQ1BMRF9QQ0NBUkQxX1NUQVRVUyIsCTB4MTdDMDAwNTgsIDAsIDB4MDAwMDAwZmYsICd4JywgIkNQTEQgUEMtQ2FyZCAxIFN0YXR1cyIgfSwKK3sgIkNQTERfUENDMV9WUzEiLCAgICAgICAgICAgICAgMHgxN0MwMDA1OCwgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAxIFZTMSIgfSwKK3sgIkNQTERfUENDMV9WUzIiLCAgICAgICAgICAgICAgMHgxN0MwMDA1OCwgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAxIFZTMiIgfSwKK3sgIkNQTERfUENDMV9CVkQxIiwgICAgICAgICAgICAgMHgxN0MwMDA1OCwgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAxIEJWRDEiIH0sCit7ICJDUExEX1BDQzFfQlZEMiIsICAgICAgICAgICAgIDB4MTdDMDAwNTgsIDMsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMSBCVkQyIiB9LAoreyAiQ1BMRF9QQ0MxX0lOUEFDSyIsICAgICAgICAgICAweDE3QzAwMDU4LCA0LCAweDAwMDAwMDAxLCAnZCcsICJQQy1DYXJkIDEgSU5QQUNLIiB9LAoreyAiQ1BMRF9QQ0MxX0lSUSIsICAgICAgICAgICAgICAweDE3QzAwMDU4LCA1LCAweDAwMDAwMDAxLCAnZCcsICJQQy1DYXJkIDEgSVJRIiB9LAoreyAiQ1BMRF9QQ0MxX1NUUkVTRVQiLCAgICAgICAgICAweDE3QzAwMDU4LCA2LCAweDAwMDAwMDAxLCAnZCcsICJQQy1DYXJkIDEgUkVTRVQiIH0sCit7ICJDUExEX1BDQzFfV1JQUk9UIiwgICAgICAgICAgIDB4MTdDMDAwNTgsIDcsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMSBXUlBST1QiIH0sCisKK3sgIkNQTERfTUlTQ19TVEFUVVMiLAkJMHgxN0MwMDA1QywgMCwgMHgwMDAwMDBmZiwgJ3gnLCAiQ1BMRCBNaXNjIFN0YXR1cyIgfSwKK3sgIkNQTERfTUlTQ19VU0JfRF9DT04iLCAgICAgICAgMHgxN0MwMDA1QywgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiQ2hhcmdlIHN0YXR1cyIgfSwKK3sgIkNQTERfTUlTQ19XQUxMX0lOIiwgICAgICAgICAgMHgxN0MwMDA1QywgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiQ2hhcmdlIHN0YXR1cyIgfSwKK3sgIkNQTERfTUlTQ19DSEdfU1RTIiwgICAgICAgICAgMHgxN0MwMDA1QywgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiQ2hhcmdlIHN0YXR1cyIgfSwKK3sgIkNQTERfTUlTQ19NTUNfV1BST1QiLCAgICAgICAgMHgxN0MwMDA1QywgNywgMHgwMDAwMDAwMSwgJ2QnLCAiTU1DIHdyaXRlIHByb3RlY3QiIH0sCisKK3sgIkNQTERfVkVSX1lFQVIiLAkJMHgxN0MwMDA2MCwgMCwgMHgwMDAwMDBmZiwgJ3gnLCAiQ1BMRCBZZWFyIiB9LAoreyAiQ1BMRF9WRVJfTU9OVEgiLAkJMHgxN0MwMDA2NCwgMCwgMHgwMDAwMDBmZiwgJ3gnLCAiQ1BMRCBNb250aCIgfSwKK3sgIkNQTERfVkVSX0RBWSIsCQkweDE3QzAwMDY4LCAwLCAweDAwMDAwMGZmLCAneCcsICJDUExEIERheSIgfSwKK3sgIkNQTERfVkVSX1JFViIsCQkweDE3QzAwMDZDLCAwLCAweDAwMDAwMGZmLCAneCcsICJDUExEIFJldmlzaW9uIiB9LAorCit7ICJDUExEX1ZTVEFUIiwJCQkweDE3QzAwMDdDLCAwLCAweDAwMDAwMGZmLCAneCcsICJDUExEIFZvbHRhZ2UgU3RhdHVzIiB9LAorI2lmZGVmIENPTkZJR19BUkNIX1BYQV9JRFAKK3sgIkNQTERfQlNUQVRfVjNHT09EIiwJCTB4MTdDMDAwN0MsIDAsIDB4MDAwMDAwMDEsICd4JywgInYzZ29vZCIgfSwKKyNlbmRpZgoreyAiQ1BMRF9CU1RBVF9CV0UiLAkJMHgxN0MwMDA3QywgMSwgMHgwMDAwMDAwMSwgJ3gnLCAiYndlIiB9LAorCisjZW5kaWYKKworI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfUkFNU0VTKQoreyAiVUFSVEFfUkhSIiwJCQkweDBDMDAyRTAwLCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEEgUkhSL1RIUiIgfSwKK3sgIlVBUlRBX0lFUiIsCQkJMHgwQzAwMkUwNCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBBIElFUiIgfSwKK3sgIlVBUlRBX0ZDUiIsCQkJMHgwQzAwMkUwOCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBBIEZDUi9JSVIiIH0sCit7ICJVQVJUQV9MQ1IiLAkJCTB4MEMwMDJFMEMsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgQSBMQ1IiIH0sCit7ICJVQVJUQV9NQ1IiLAkJCTB4MEMwMDJFMTAsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgQSBNQ1IiIH0sCit7ICJVQVJUQV9MU1IiLAkJCTB4MEMwMDJFMTQsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgQSBMU1IiIH0sCit7ICJVQVJUQV9NU1IiLAkJCTB4MEMwMDJFMTgsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgQSBNU1IiIH0sCit7ICJVQVJUQV9TUFIiLAkJCTB4MEMwMDJFMUMsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgQSBTUFIiIH0sCisKK3sgIlVBUlRCX1JIUiIsCQkJMHgwQzAwMkQwMCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBCIFJIUi9USFIiIH0sCit7ICJVQVJUQl9JRVIiLAkJCTB4MEMwMDJEMDQsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgQiBJRVIiIH0sCit7ICJVQVJUQl9GQ1IiLAkJCTB4MEMwMDJEMDgsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgQiBGQ1IvSUlSIiB9LAoreyAiVUFSVEJfTENSIiwJCQkweDBDMDAyRDBDLCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEIgTENSIiB9LAoreyAiVUFSVEJfTUNSIiwJCQkweDBDMDAyRDEwLCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEIgTUNSIiB9LAoreyAiVUFSVEJfTFNSIiwJCQkweDBDMDAyRDE0LCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEIgTFNSIiB9LAoreyAiVUFSVEJfTVNSIiwJCQkweDBDMDAyRDE4LCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEIgTVNSIiB9LAoreyAiVUFSVEJfU1BSIiwJCQkweDBDMDAyRDFDLCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEIgU1BSIiB9LAorCit7ICJVQVJURF9SSFIiLAkJCTB4MEMwMDJCMDAsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgQyBSSFIvVEhSIiB9LAoreyAiVUFSVERfSUVSIiwJCQkweDBDMDAyQjA0LCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEMgSUVSIiB9LAoreyAiVUFSVERfRkNSIiwJCQkweDBDMDAyQjA4LCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEMgRkNSL0lJUiIgfSwKK3sgIlVBUlREX0xDUiIsCQkJMHgwQzAwMkIwQywgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBDIExDUiIgfSwKK3sgIlVBUlREX01DUiIsCQkJMHgwQzAwMkIxMCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBDIE1DUiIgfSwKK3sgIlVBUlREX0xTUiIsCQkJMHgwQzAwMkIxNCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBDIExTUiIgfSwKK3sgIlVBUlREX01TUiIsCQkJMHgwQzAwMkIxOCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBDIE1TUiIgfSwKK3sgIlVBUlREX1NQUiIsCQkJMHgwQzAwMkIxQywgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBDIFNQUiIgfSwKKworeyAiVUFSVERfUkhSIiwJCQkweDBDMDAyNzAwLCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEQgUkhSL1RIUiIgfSwKK3sgIlVBUlREX0lFUiIsCQkJMHgwQzAwMjcwNCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBEIElFUiIgfSwKK3sgIlVBUlREX0ZDUiIsCQkJMHgwQzAwMjcwOCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBEIEZDUi9JSVIiIH0sCit7ICJVQVJURF9MQ1IiLAkJCTB4MEMwMDI3MEMsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgRCBMQ1IiIH0sCit7ICJVQVJURF9NQ1IiLAkJCTB4MEMwMDI3MTAsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgRCBNQ1IiIH0sCit7ICJVQVJURF9MU1IiLAkJCTB4MEMwMDI3MTQsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgRCBMU1IiIH0sCit7ICJVQVJURF9NU1IiLAkJCTB4MEMwMDI3MTgsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgRCBNU1IiIH0sCit7ICJVQVJURF9TUFIiLAkJCTB4MEMwMDI3MUMsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgRCBTUFIiIH0sCisKKyNlbmRpZgorCit9OworCisKKworI2RlZmluZSBNQVBfU0laRSA0MDk2CisjZGVmaW5lIE1BUF9NQVNLICggTUFQX1NJWkUgLSAxICkKKworc3RhdGljIGludCBnZXRtZW0odTMyIGFkZHIpCit7CisgICB2b2lkICptYXAsICpyZWdhZGRyOworICAgdTMyIHZhbDsKKworICAgLy9wcmludGYoImdldG1lbSgweCUwOHgpXG4iLCBhZGRyKTsKKworICAgaWYgKGZkID09IC0xKSB7CisgICAgICBmZCA9IG9wZW4oIi9kZXYvbWVtIiwgT19SRFdSIHwgT19TWU5DKTsKKyAgICAgIGlmIChmZDwwKSB7CisgICAgICAgICAgcGVycm9yKCJvcGVuKFwiL2Rldi9tZW1cIikiKTsKKyAgICAgICAgICBleGl0KDEpOworICAgICAgfQorICAgfQorCisgICBtYXAgPSBtbWFwKDAsCisgICAgICAgICAgICAgIE1BUF9TSVpFLAorICAgICAgICAgICAgICBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLAorICAgICAgICAgICAgICBNQVBfU0hBUkVELAorICAgICAgICAgICAgICBmZCwKKyAgICAgICAgICAgICAgYWRkciAmIH5NQVBfTUFTSworICAgICAgICAgICAgICk7CisgICBpZiAobWFwID09ICh2b2lkKiktMSApIHsKKyAgICAgICBwZXJyb3IoIm1tYXAoKSIpOworICAgICAgIGV4aXQoMSk7CisgICB9CisKKyAgIHJlZ2FkZHIgPSBtYXAgKyAoYWRkciAmIE1BUF9NQVNLKTsKKworICAgdmFsID0gKih1MzIqKSByZWdhZGRyOworICAgbXVubWFwKDAsTUFQX1NJWkUpOworCisgICByZXR1cm4gdmFsOworfQorCitzdGF0aWMgdm9pZCBwdXRtZW0odTMyIGFkZHIsIHUzMiB2YWwpCit7CisgICB2b2lkICptYXAsICpyZWdhZGRyOworICAgc3RhdGljIGludCBmZCA9IC0xOworCisgICAvL3ByaW50ZigicHV0bWVtKDB4JTA4eCwgMHglMDh4KVxuIiwgYWRkciwgdmFsKTsKKworICAgaWYgKGZkID09IC0xKSB7CisgICAgICBmZCA9IG9wZW4oIi9kZXYvbWVtIiwgT19SRFdSIHwgT19TWU5DKTsKKyAgICAgIGlmIChmZDwwKSB7CisgICAgICAgICAgcGVycm9yKCJvcGVuKFwiL2Rldi9tZW1cIikiKTsKKyAgICAgICAgICBleGl0KDEpOworICAgICAgfQorICAgfQorCisgICBtYXAgPSBtbWFwKDAsCisgICAgICAgICAgICAgIE1BUF9TSVpFLAorICAgICAgICAgICAgICBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLAorICAgICAgICAgICAgICBNQVBfU0hBUkVELAorICAgICAgICAgICAgICBmZCwKKyAgICAgICAgICAgICAgYWRkciAmIH5NQVBfTUFTSworICAgICAgICAgICAgICk7CisgICBpZiAobWFwID09ICh2b2lkKiktMSApIHsKKyAgICAgICBwZXJyb3IoIm1tYXAoKSIpOworICAgICAgIGV4aXQoMSk7CisgICB9CisKKyAgIHJlZ2FkZHIgPSBtYXAgKyAoYWRkciAmIE1BUF9NQVNLKTsKKworICAgKih1MzIqKSByZWdhZGRyID0gdmFsOworICAgbXVubWFwKDAsTUFQX1NJWkUpOworfQorCitzdGF0aWMgdTMyIGxhc3RhZGRyID0gMDsKK3N0YXRpYyB1MzIgbmV3YWRkciA9IDE7CitzdGF0aWMgdTMyIGRhdGEgPSAwOworc3RhdGljIHUzMiBzaGlmdGRhdGE7CisKKworc3RhdGljIHZvaWQgZHVtcGVudHJ5KGludCBpKQoreworICAgaW50IGo7CisKKyAgIGlmIChyZWdzW2ldLmFkZHIgIT0gbGFzdGFkZHIpIG5ld2FkZHIgPSAxOworICAgaWYgKG5ld2FkZHIpIHsKKyAgICAgICBuZXdhZGRyID0gMDsKKyAgICAgICBsYXN0YWRkciA9IHJlZ3NbaV0uYWRkcjsKKyAgICAgICBkYXRhID0gZ2V0bWVtKGxhc3RhZGRyKTsKKyAgICAgICBwcmludGYoIlxuJXNcbiIsIHJlZ3NbaV0uZGVzYyk7CisgICAgICAgcHJpbnRmKCIlLTI0cyAweCUwOHggICIsIHJlZ3NbaV0ubmFtZSwgZGF0YSk7CisgICAgICAgc2hpZnRkYXRhID0gZGF0YTsKKyAgICAgICBmb3IgKGo9MzI7IGo+MDsgai0tKSB7CisgICAgICAgICAgIHByaW50ZigiJWMiLCBzaGlmdGRhdGEgJiAweDgwMDAwMDAwID8gJzEnIDogJzAnKTsKKyAgICAgICAgICAgc2hpZnRkYXRhID0gc2hpZnRkYXRhIDw8IDE7CisgICAgICAgICAgIGlmIChqPT05IHx8IGo9PTE3IHx8IGo9PTI1KSBwcmludGYoIiAiKTsKKyAgICAgICB9CisKKyAgICAgICBwcmludGYoIlxuIik7CisgICB9CisKKyAgIGlmIChyZWdzW2ldLnNoaWZ0ICE9IDAgIHx8ICByZWdzW2ldLm1hc2sgIT0gMHhmZmZmZmZmZikgeworICAgICAgIHNoaWZ0ZGF0YSA9IChkYXRhID4+IHJlZ3NbaV0uc2hpZnQpICYgcmVnc1tpXS5tYXNrOworICAgICAgIHByaW50ZigiJS0yNXMgICIsIHJlZ3NbaV0ubmFtZSk7CisgICAgICAgc3dpdGNoIChyZWdzW2ldLnR5cGUpIHsKKyAgICAgICAgICBjYXNlICd4JzogcHJpbnRmKCIlOHgiLCBzaGlmdGRhdGEpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICBjYXNlICc8JzogcHJpbnRmKCIlOHUiLCAxIDw8IHNoaWZ0ZGF0YSk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgIHByaW50ZigiJTh1Iiwgc2hpZnRkYXRhKTsKKyAgICAgICB9CisgICAgICAgcHJpbnRmKCIgICVzXG4iLCByZWdzW2ldLmRlc2MpOworICAgfQorfQorCisKK3N0YXRpYyB2b2lkIGR1bXBhbGwodm9pZCkKK3sKKyAgIGludCBpOworICAgaW50IG49c2l6ZW9mKHJlZ3MpL3NpemVvZihzdHJ1Y3QgcmVnX2luZm8pOworCisgICBmb3IgKGk9MDsgaTxuOyBpKyspIHsKKyAgICAgIGR1bXBlbnRyeShpKTsKKyAgIH0KK30KKworCitzdGF0aWMgdm9pZCBkdW1wbWF0Y2hpbmcoY2hhciAqbmFtZSkKK3sKKyAgIGludCBpOworICAgaW50IG49c2l6ZW9mKHJlZ3MpL3NpemVvZihzdHJ1Y3QgcmVnX2luZm8pOworCisKKyAgIGZvciAoaT0wOyBpPG47IGkrKykgeworICAgICAgaWYgKHN0cnN0cihyZWdzW2ldLm5hbWUsIG5hbWUpKQorICAgICAgICAgZHVtcGVudHJ5KGkpOworICAgfQorfQorCisKK3N0YXRpYyB2b2lkIHNldHJlZyhjaGFyICpuYW1lLCB1MzIgdmFsKQoreworICAgaW50IGk7CisgICB1MzIgbWVtOworICAgaW50IGZvdW5kPTA7CisgICBpbnQgY291bnQ9MDsKKyAgIGludCBuPXNpemVvZihyZWdzKS9zaXplb2Yoc3RydWN0IHJlZ19pbmZvKTsKKworCisgICBmb3IgKGk9MDsgaTxuOyBpKyspIHsKKyAgICAgIGlmIChzdHJjbXAocmVnc1tpXS5uYW1lLCBuYW1lKT09MCkgeworICAgICAgICAgZm91bmQgPSBpOworICAgICAgICAgLy9wcmludGYoIk1hdGNoZWQgJXMgd2l0aCAlcywgY291bnQ9JWRcbiIsIHJlZ3NbaV0ubmFtZSwgbmFtZSwgY291bnQpOworICAgICAgICAgY291bnQrKzsKKyAgICAgIH0KKyAgIH0KKyAgIGlmIChjb3VudCE9MSkgeworICAgICAgcHJpbnRmKCJObyBvciBtb3JlIHRoYW4gb25lIG1hdGNoaW5nIHJlZ2lzdGVyIGZvdW5kXG4iKTsKKyAgICAgIGV4aXQoMSk7CisgICB9CisKKyAgIG1lbSA9IGdldG1lbShyZWdzW2ZvdW5kXS5hZGRyKTsKKyAgIC8vcHJpbnRmKCJPbGQgY29udGVudHM6IDB4JTA4eFxuIiwgbWVtKTsKKyAgIG1lbSAmPSB+KHJlZ3NbZm91bmRdLm1hc2sgPDwgcmVnc1tmb3VuZF0uc2hpZnQpOworICAgLy9wcmludGYoIlVubWFza2VkIGNvbnRlbnRzOiAweCUwOHhcbiIsIG1lbSk7CisgICB2YWwgJj0gcmVnc1tmb3VuZF0ubWFzazsKKyAgIC8vcHJpbnRmKCJtYXNrOiAweCUwOHhcbiIsIHJlZ3NbZm91bmRdLm1hc2spOworICAgLy9wcmludGYoIm1hc2tlZCB2YWw6IDB4JTA4eFxuIiwgdmFsKTsKKyAgIG1lbSB8PSB2YWwgPDwgcmVnc1tmb3VuZF0uc2hpZnQ7CisgICAvL3ByaW50ZigiRW1iZWRkZWQgdmFsdWU6IDB4JTA4eFxuIiwgbWVtKTsKKyAgIHB1dG1lbShyZWdzW2ZvdW5kXS5hZGRyLCBtZW0pOworfQorCisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisgICAgY2hhciAqcDsKKyAgICB1MzIgdmFsOworCisgICAgaWYgKGFyZ2MgPT0gMSkgeworICAgICAgIGR1bXBhbGwoKTsKKyAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICAvLyBVcHBlcmNhc2UgZmlyc3QgYXJndW1lbnQKKyAgICBpZiAoYXJnYyA+PSAyKSB7CisgICAgICAgIHAgPSBhcmd2WzFdOworICAgICAgICB3aGlsZSAoKnApIHsKKyAgICAgICAgICAgKnAgPSB0b3VwcGVyKCpwKTsKKyAgICAgICAgICAgcCsrOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKGFyZ2MgPT0gMikgeworICAgICAgIGR1bXBtYXRjaGluZyhhcmd2WzFdKTsKKyAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBpZiAoYXJnYyA9PSAzKSB7CisJc3NjYW5mKGFyZ3ZbMl0sIiVpIiwmdmFsKTsKKwlzZXRyZWcoYXJndlsxXSwgdmFsKTsKKwlyZXR1cm4gMDsKKyAgICB9CisKKyAgICBwcmludGYoIlVzYWdlOiAlcyAgICAgICAgICAgICAgICAtIHRvIGR1bXAgYWxsIGtub3duIHJlZ2lzdGVyc1xuIgorICAgICAgICAgICAiICAgICAgICVzIDxuYW1lPiAgICAgICAgIC0gdG8gZHVtcCBuYW1lZCByZWdpc3RlclxuIgorICAgICAgICAgICAiICAgICAgICVzIDxuYW1lPiA8dmFsdWU+IC0gdG8gc2V0IG5hbWVkIHJlZ2lzdGVyXG4iLAorICAgICAgICAgICBhcmd2WzBdLCBhcmd2WzBdLCBhcmd2WzBdKTsKKyAgICByZXR1cm4gMTsKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHhhcmVncy9weGFyZWdzLTEuMTQvc2VyaWFsLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9weGFyZWdzL3B4YXJlZ3MtMS4xNC9zZXJpYWwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDY4NTM4NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHhhcmVncy9weGFyZWdzLTEuMTQvc2VyaWFsLnBhdGNoCkBAIC0wLDAgKzEsMTQgQEAKK0luZGV4OiBweGFyZWdzLTEuMTQvcHhhcmVncy5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcHhhcmVncy0xLjE0Lm9yaWcvcHhhcmVncy5jCisrKysgcHhhcmVncy0xLjE0L3B4YXJlZ3MuYworQEAgLTc4LDYgKzc4LDkgQEAgc3RhdGljIHN0cnVjdCByZWdfaW5mbyByZWdzW10gPSB7CisgeyAiSVNBUiIsICAgICAgMHg0MDMwMTZBMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkkyQyBTbGF2ZSBBZGRyZXNzIFJlZ2lzdGVyIiB9LAorIHsgIklTQVJfU0EiLCAgIDB4NDAzMDE2QTAsICAwLCAweDAwMDAwMDdmLCAneCcsICJJMkMgU2xhdmUgQWRkcmVzcyIgfSwKKyAKKyt7ICJIV19NQ1IiLCAgICAweDQxNjAwMDEwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiSFdVQVJUIE1vZGVtIENvbnRyb2wgUmVnaXN0ZXIiIH0sCisreyAiSFdfTVNSIiwgICAgMHg0MTYwMDAxOCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkhXVUFSVCBNb2RlbSBTdGF0dXMgUmVnaXN0ZXIiIH0sCisrCisgeyAiUE1DUiIsICAgICAgMHg0MEYwMDAwMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIlBvd2VyIE1hbmFnZXIgQ29udHJvbCBSZWdpc3RlciAoMy0yMykiIH0sCisgeyAiUE1DUl9JREFFIiwgMHg0MEYwMDAwMCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIlBNIGltcHJlY2lzZSBkYXRhIGFib3J0IGFib3J0IHNpZ25hbCIgfSwKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHhhcmVncy9weGFyZWdzLTEuMTQvdXNiLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9weGFyZWdzL3B4YXJlZ3MtMS4xNC91c2IucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTlmMjFmZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHhhcmVncy9weGFyZWdzLTEuMTQvdXNiLnBhdGNoCkBAIC0wLDAgKzEsMTcgQEAKK0luZGV4OiBweGFyZWdzLTEuMTQvcHhhcmVncy5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcHhhcmVncy0xLjE0Lm9yaWcvcHhhcmVncy5jCisrKysgcHhhcmVncy0xLjE0L3B4YXJlZ3MuYworQEAgLTc4LDYgKzc4LDEyIEBAIHN0YXRpYyBzdHJ1Y3QgcmVnX2luZm8gcmVnc1tdID0geworIHsgIklTQVIiLCAgICAgIDB4NDAzMDE2QTAsICAwLCAweGZmZmZmZmZmLCAneCcsICJJMkMgU2xhdmUgQWRkcmVzcyBSZWdpc3RlciIgfSwKKyB7ICJJU0FSX1NBIiwgICAweDQwMzAxNkEwLCAgMCwgMHgwMDAwMDA3ZiwgJ3gnLCAiSTJDIFNsYXZlIEFkZHJlc3MiIH0sCisgCisreyAiVVAyT0NSIiwgICAgMHg0MDYwMDAyMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVTQiBQb3J0IDIgT3V0cHV0IENvbnRyb2wgUmVnaXN0ZXIiIH0sCisreyAiVVAyT0NSX1NFT1MiLCAweDQwNjAwMDIwLCAyNCwgNywgJ3gnLCAiVVNCIFBvcnQgMiBTaW5nbGUtRW5kZWQgT3V0cHV0IFNlbGVjdCIgfSwKKyt7ICJVUDJPQ1JfSFhPRSIsIDB4NDA2MDAwMjAsIDE3LCAxLCAneCcsICJVU0IgUG9ydCAyIFRyYW5jZWl2ZXIgT0UiIH0sCisreyAiVVAyT0NSX0hYUyIsICAweDQwNjAwMDIwLCAxNiwgMSwgJ3gnLCAiVVNCIFBvcnQgMiBUcmFuY2VpdmVyIE91dHB1dCBTZWxlY3QiIH0sCisreyAiVVAyT0NSX0lET04iLCAweDQwNjAwMDIwLCAxMCwgMSwgJ3gnLCAiT1RHIElEIFJlYWQgRW5hYmxlIiB9LAorKworIHsgIkhXX01DUiIsICAgIDB4NDE2MDAwMTAsICAwLCAweGZmZmZmZmZmLCAneCcsICJIV1VBUlQgTW9kZW0gQ29udHJvbCBSZWdpc3RlciIgfSwKKyB7ICJIV19NU1IiLCAgICAweDQxNjAwMDE4LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiSFdVQVJUIE1vZGVtIFN0YXR1cyBSZWdpc3RlciIgfSwKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHhhcmVncy9weGFyZWdzXzEuMTQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3B4YXJlZ3MvcHhhcmVnc18xLjE0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwYzQxZmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3B4YXJlZ3MvcHhhcmVnc18xLjE0LmJiCkBAIC0wLDAgKzEsMjUgQEAKK1NVTU1BUlkgPSAiVG9vbCB0byBkaXNwbGF5IGFuZCBtb2RpZnkgUFhBIHJlZ2lzdGVycyBhdCBydW50aW1lIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3B4YXJlZ3MuYztlbmRsaW5lPTEyO21kNT02NjhkMDYxYjc2MzdhY2M2OGNiODA3MWM5YmUzNzJlNiIKK0FVVEhPUiA9ICJIb2xnZXIgU2NodXJpZyA8aHM0MjMzQG1haWwubW4tc29sdXRpb25zLmRlPiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubW4tbG9naXN0aWsuZGUvdW5zdXBwb3J0ZWQvcHhhMjUwLyIKKworU1JDX1VSSSA9ICJmaWxlOi8vcHhhcmVncy5jIFwKKyAgICAgICAgICAgZmlsZTovL2kyYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9tdW5tYXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc2VyaWFsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3VzYi5wYXRjaCAiCisKK1MgPSAiJHtXT1JLRElSfSIKKworZG9fY29tcGlsZSgpIHsKKyAgICAke0NDfSBweGFyZWdzLmMgLW8gcHhhcmVncyAke0NGTEFHU30gJHtMREZMQUdTfQorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0vCisgICAgaW5zdGFsbCAtbSAwNzU1IHB4YXJlZ3MgJHtEfSR7c2JpbmRpcn0vCit9CisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhNDNiYWE4ODg0MmNkNTkyNmRiZmZiNmZiODc2MjRmNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmMzM5YjkxY2Q4YWIzNDgwNTJjMzZiMzZkMjAwMzNlNGJmZmMzNjY2YmM4MzZmZjcyZDU3MDRmMDI1ZTFjMDU3IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9yZTJjL3JlMmMvY29uZmlndXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9yZTJjL3JlMmMvY29uZmlndXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjYTA5NjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3JlMmMvcmUyYy9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorTW9kZXJuaXNlIGNvbmZpZ3VyZSB0byB3b3JrIHdpdGggbW9kZXJuIGF1dG9tYWtlLgorCitSUCAyMDE0LzcvMTQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK0luZGV4OiByZTJjLTAuMTMuNS9jb25maWd1cmUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSByZTJjLTAuMTMuNS5vcmlnL2NvbmZpZ3VyZS5pbgkyMDA4LTA1LTI1IDE0OjQyOjM0LjAwMDAwMDAwMCArMDAwMAorKysrIHJlMmMtMC4xMy41L2NvbmZpZ3VyZS5pbgkyMDE0LTA3LTE3IDE0OjEwOjQwLjU5NTgyMTI5MiArMDAwMAorQEAgLTEsNiArMSw2IEBACisgQUNfUFJFUkVRKFsyLjU3XSkKKyBBQ19JTklUKHJlMmMsIDAuMTMuNSwgcmUyYy1nZW5lcmFsQGxpc3RzLnNvdXJjZWZvcmdlLm5ldCkKKy1BTV9JTklUX0FVVE9NQUtFKHJlMmMsICRQQUNLQUdFX1ZFUlNJT04pCisrQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbl0pCisgQUNfQ09ORklHX1NSQ0RJUihhY3Rpb25zLmNjKQorIEFNX0NPTkZJR19IRUFERVIoY29uZmlnLmgpCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3JlMmMvcmUyY18wLjEzLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3JlMmMvcmUyY18wLjEzLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGNhYzk0MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmUyYy9yZTJjXzAuMTMuNS5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIlRvb2wgZm9yIHdyaXRpbmcgdmVyeSBmYXN0IGFuZCB2ZXJ5IGZsZXhpYmxlIHNjYW5uZXJzIgorSE9NRVBBR0UgPSAiaHR0cDovL3JlMmMuc291cmNlZm9yZ2UubmV0LyIKK0FVVEhPUiA9ICJNYXJjdXMgQsO2cmdlciA8aGVsbHlAdXNlcnMuc291cmNlZm9yZ2UubmV0PiIKK1NFQ1RJT04gPSAiZGV2ZWwiCitMSUNFTlNFID0gIlBEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT0xODA7bWQ1PTgyMjgzMGEyMjA0YWVmMzUzZjJjNDg5ZjYyZTAyMDg5IgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiNGE5N2Q4Zjc3ZWQ2ZDJjNzZjOGJkODQwYTQzZjU2MzMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjNhOTk1MTM5YWY0NzVlODBhMzAyMDdkMDI3MjhiMWUwMDY1YjBjYWFkZTczNzVlOTc0Y2IxYjE0ODYxNjY4YyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK2luaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3JlYWQtZWRpZC9yZWFkLWVkaWQvMDAwMS1jb25maWd1cmUtcmVtb3ZlLWNoZWNrLWZvci14ODYuaC13ZS1kb24tdC1idWlsZC1nZXQtLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9yZWFkLWVkaWQvcmVhZC1lZGlkLzAwMDEtY29uZmlndXJlLXJlbW92ZS1jaGVjay1mb3IteDg2Lmgtd2UtZG9uLXQtYnVpbGQtZ2V0LS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NDA4MDAyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9yZWFkLWVkaWQvcmVhZC1lZGlkLzAwMDEtY29uZmlndXJlLXJlbW92ZS1jaGVjay1mb3IteDg2Lmgtd2UtZG9uLXQtYnVpbGQtZ2V0LS5wYXRjaApAQCAtMCwwICsxLDI4IEBACitGcm9tIGViNzU5MGNjMmNkZDVjMzU0MDNhZjQ1NjdkODUyNGUwMTcwMTBmMWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorRGF0ZTogU2F0LCAxMSBNYXkgMjAxMyAwNzo1ODoxNyArMDIwMAorU3ViamVjdDogW1BBVENIXSBjb25maWd1cmU6IHJlbW92ZSBjaGVjayBmb3IgeDg2LmgsIHdlIGRvbid0IGJ1aWxkIGdldC1lZGlkCisKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CisKK1Vwc3RyZWFtLXN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Ugc3BlY2lmaWNdCistLS0KKyBjb25maWd1cmUuaW4gfCAyIC0tCisgMSBmaWxlIGNoYW5nZWQsIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KK2luZGV4IGFjODVhMjEuLmY1M2U5MDQgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuaW4KKysrKyBiL2NvbmZpZ3VyZS5pbgorQEAgLTgsOCArOCw2IEBAIGRubCBDaGVja3MgZm9yIHByb2dyYW1zCisgCisgQUNfUFJPR19DQworIAorLUFDX0NIRUNLX0hFQURFUihbbGlieDg2LmhdLCBbXSwgW0FDX01TR19FUlJPUihbbGlieDg2Lmggbm90IGZvdW5kXSldKQorLQorIGRubCBTaW1wbGUsIGh1aD8KKyAKKyBBQ19PVVRQVVQoW01ha2VmaWxlXSkKKy0tIAorMS44LjEuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3JlYWQtZWRpZC9yZWFkLWVkaWRfMi4wLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3JlYWQtZWRpZC9yZWFkLWVkaWRfMi4wLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjAwMjkwNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmVhZC1lZGlkL3JlYWQtZWRpZF8yLjAuMC5iYgpAQCAtMCwwICsxLDIzIEBACitERVNDUklQVElPTiA9ICJyZWFkLWVkaWQgZWx1Y2lkYXRlcyB2YXJpb3VzIHZlcnkgdXNlZnVsIGluZm9ybWF0aW9ucyBmcm9tIGEgY29uZm9ybWluZyBQblAgbW9uaXRvciIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMGJmNzBmYTFlZjgxZmU0NzQxZWMwZTYyMzFkYWRmZCIKKworU1JDX1VSSSA9ICJodHRwOi8vcG9seXB1eC5vcmcvcHJvamVjdHMvcmVhZC1lZGlkL3JlYWQtZWRpZC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUtcmVtb3ZlLWNoZWNrLWZvci14ODYuaC13ZS1kb24tdC1idWlsZC1nZXQtLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNTg2ZTdmYTExNjc3NzNiMjdmNGU1MDVlZGM5MzI3NGIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjQ2ZWMxNGVjNTA5ZTA5YWMyNmZlNjg2MmIxMjA0ODFiMmNjODgxZTJmMTQyYmE0MDg4NmQ2ZWVjMTVlNzdlOCIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworZG9fY29tcGlsZSgpIHsKKyAgICBvZV9ydW5tYWtlIHBhcnNlLWVkaWQKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgcGFyc2UtZWRpZCAke0R9JHtiaW5kaXJ9Cit9CisKK1BBQ0tBR0VTID0rICJwYXJzZS1lZGlkIgorRklMRVNfcGFyc2UtZWRpZCA9ICIke2JpbmRpcn0vcGFyc2UtZWRpZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcnNuYXBzaG90L3JzbmFwc2hvdC9jb25maWd1cmUtZml4LWNtZF9yc3luYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcnNuYXBzaG90L3JzbmFwc2hvdC9jb25maWd1cmUtZml4LWNtZF9yc3luYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NDY2ZGY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9yc25hcHNob3QvcnNuYXBzaG90L2NvbmZpZ3VyZS1maXgtY21kX3JzeW5jLnBhdGNoCkBAIC0wLDAgKzEsNDQgQEAKK0Zyb20gMjZhZDQzMWUxOTc4ODg5OGZiNGVkMTlmZjkxMzkyZThiMjBmMWJhYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFdlbnpvbmcgRmFuIDx3ZW56b25nLmZhbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogVGh1LCAxNiBPY3QgMjAxNCAwNDowNjo1NSAtMDQwMAorU3ViamVjdDogW1BBVENIXSBmaXggY21kX3JzeW5jCisKK0Rvbid0IGJyZWFrIGNvbmZpZ3VyZSBpZiByc3luYyBpcyBub3QgaW5zdGFsbGVkIG9uIGhvc3QuCisKK3JzeW5jIGlzIGEgcnVudGltZSBkZXBlbmRlbmN5IGFuZCB0aGlzIGNoYW5nZSBpcyBvbmx5IHVzZWQgZm9yCitnZW5lcmF0aW5nIHJzbmFwc2hvdC5jb25mLmRlZmF1bHQuIEl0IGFsbG93cyBjbWRfcnN5bmMgdG8gdXNlCitkZWZhdWx0IHBhdGggaWYgb3B0aW9ucyAtLXdpdGhvdXQtcnN5bmMgaXMgc3BlY2ZpZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBXZW56b25nIEZhbiA8d2Vuem9uZy5mYW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8ICAgIDUgKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCBiYzlkZjllLi4yYTMzZDI5IDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC01NSw3ICs1NSw3IEBAIEFDX0FSR19XSVRIKHJzeW5jLAorIAkJCQlBQ19NU0dfRVJST1IocnN5bmMgbm90IGZvdW5kKQorIAkJCWZpCisgCQllbHNlCistCQkJQUNfTVNHX0VSUk9SKHJzeW5jIGlzIHJlcXVpcmVkKQorKwkJCVJTWU5DPW5vCisgCQlmaQorIAldCisgKQorQEAgLTY3LDcgKzY3LDggQEAgaWYgdGVzdCAiJFJTWU5DIiA9ICIiOyB0aGVuCisgZmkKKyBkbmwgYmFpbCBvdXQgaWYgd2UgY2FuJ3QgZmluZCBpdAorIGlmIHRlc3QgIiRSU1lOQyIgPSAibm8iOyB0aGVuCistCUFDX01TR19FUlJPUihyc3luYyBpcyByZXF1aXJlZCkKKysJUlNZTkM9JHtiaW5kaXJ9L3JzeW5jCisrCUFDX1NVQlNUKENNRF9SU1lOQywgImNtZF9yc3luYyAgJFJTWU5DIikKKyBmaQorIAorIAorLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcnNuYXBzaG90L3JzbmFwc2hvdF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3JzbmFwc2hvdC9yc25hcHNob3RfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2ODA1MTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3JzbmFwc2hvdC9yc25hcHNob3RfZ2l0LmJiCkBAIC0wLDAgKzEsNDMgQEAKK1NVTU1BUlkgPSAiQSBmaWxlc3lzdGVtIHNuYXBzaG90IHV0aWxpdHkgYmFzZWQgb24gcnN5bmMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnJzbmFwc2hvdC5vcmciCitCVUdUUkFDS0VSID0gImh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL3JzbmFwc2hvdC8iCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTg5MmY1NjlhNTU1YmE5YzA3YTU2OGE3YzBjNGZhNjNhIgorCitSREVQRU5EU18ke1BOfSA9ICJyc3luYyBcCisgICAgICAgICAgICAgICAgICBwZXJsIFwKKyAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWRpcmhhbmRsZSBcCisgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1jd2QgXAorICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZ2V0b3B0LXN0ZCBcCisgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1maWxlLXBhdGggXAorICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZmlsZS1zdGF0IFwKKyAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXBvc2l4IFwKKyAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWZjbnRsIFwKKyAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWlvLWZpbGUgXAorICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtY29uc3RhbnQgXAorICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtb3ZlcmxvYWRpbmcgXAorICAgICAgICAgICAgICAgICAiCisKK1NSQ1JFViA9ICIxMDQ3Y2JiNTc5MzdjMjkyMzMzODhlMmZjZDg0N2ZlY2QzYmFiZTc0IgorUFYgPSAiMS4zLjErZ2l0JHtTUkNQVn0iCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9Eckh5ZGUvJHtCUE59O2JyYW5jaD1tYXN0ZXI7cHJvdG9jb2w9Z2l0IFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS1maXgtY21kX3JzeW5jLnBhdGNoIFwKKyAgICAgICAgICAiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKKyMgRml4IHJzbmFwc2hvdC5jb25mLmRlZmF1bHQ6CisjIGRvbid0IGluamVjdCB0aGUgaG9zdCBwYXRoIGludG8gdGFyZ2V0IGNvbmZpZ3MuCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aG91dC1jcCBcCisgICAgICAgICAgICAgICAgIC0td2l0aG91dC1ybSBcCisgICAgICAgICAgICAgICAgIC0td2l0aG91dC1kdSBcCisgICAgICAgICAgICAgICAgIC0td2l0aG91dC1zc2ggXAorICAgICAgICAgICAgICAgICAtLXdpdGhvdXQtbG9nZ2VyIFwKKyAgICAgICAgICAgICAgICAgLS13aXRob3V0LXJzeW5jIFwKKyAgICAgICAgICAgICAgICAgYWNfY3ZfcGF0aF9QRVJMPSR7YmluZGlyfS9wZXJsIFwKKyAgICAgICAgICAgICAgICAiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NhbXN1bmctc29jLXV0aWxzL3MzYzI0eHgtZ3Bpb19zdm4uYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NhbXN1bmctc29jLXV0aWxzL3MzYzI0eHgtZ3Bpb19zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDgyZGMwMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2Ftc3VuZy1zb2MtdXRpbHMvczNjMjR4eC1ncGlvX3N2bi5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gIkEgdXNlci1zcGFjZSB0b29sIHRvIHNob3cgYW5kIG1vZGlmeSB0aGUgc3RhdGUgb2YgR1BJT3Mgb24gdGhlIFMzYzI0eHggcGxhdGZvcm0iCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitBVVRIT1IgPSAiV2VybmVyIEFsbWVzYmVyZ2VyIDx3ZXJuZXJAb3Blbm1va28ub3JnPiIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZ3Bpby5jO2VuZGxpbmU9MTI7bWQ1PWNmYjkxYzY4Njg1N2IyZTYwODUyYjQ5MjVkOTBhM2UxIgorU1JDUkVWID0gIjQ5NDkiCitQViA9ICIxLjArc3ZuciR7U1JDUFZ9IgorUFIgPSAicjIiCisKK1NSQ19VUkkgPSAic3ZuOi8vc3ZuLm9wZW5tb2tvLm9yZy90cnVuay9zcmMvdGFyZ2V0O21vZHVsZT1ncGlvO3Byb3RvY29sPWh0dHAiCitTID0gIiR7V09SS0RJUn0vZ3BpbyIKKworQ0xFQU5CUk9LRU4gPSAiMSIKKworZG9fY29tcGlsZSgpIHsKKyAgICAke0NDfSAke0NGTEFHU30gJHtMREZMQUdTfSAtc3RhdGljIC1vICR7UE59IGdwaW8uYworfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtQTn0gJHtEfSR7c2JpbmRpcn0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2Ftc3VuZy1zb2MtdXRpbHMvczNjNjR4eC1ncGlvX3N2bi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2Ftc3VuZy1zb2MtdXRpbHMvczNjNjR4eC1ncGlvX3N2bi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZWQwNTU1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zYW1zdW5nLXNvYy11dGlscy9zM2M2NHh4LWdwaW9fc3ZuLmJiCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAiQSB1c2VyLXNwYWNlIHRvb2wgdG8gc2hvdyBhbmQgbW9kaWZ5IHRoZSBzdGF0ZSBvZiBHUElPcyBvbiB0aGUgUzNjNjR4eCBwbGF0Zm9ybSIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0FVVEhPUiA9ICJXZXJuZXIgQWxtZXNiZXJnZXIgPHdlcm5lckBvcGVubW9rby5vcmc+IgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9ncGlvLXMzYzY0MTAuYztlbmRsaW5lPTEyO21kNT0wNjBjZGExYmU5NDVhZDkxOTQ1OTNmMTFkNTZkNTVjNyIKK1NSQ1JFViA9ICI0OTQ5IgorUFYgPSAiMS4wK3N2bnIke1NSQ1BWfSIKKworU1JDX1VSSSA9ICJzdm46Ly9zdm4ub3Blbm1va28ub3JnL3RydW5rL3NyYy90YXJnZXQ7bW9kdWxlPWdwaW87cHJvdG9jb2w9aHR0cCIKK1MgPSAiJHtXT1JLRElSfS9ncGlvIgorCitDTEVBTkJST0tFTiA9ICIxIgorCitkb19jb21waWxlKCkgeworICAgICR7Q0N9ICR7Q0ZMQUdTfSAke0xERkxBR1N9IC1zdGF0aWMgLW8gJHtQTn0gZ3Bpby1zM2M2NDEwLmMKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7UE59ICR7RH0ke3NiaW5kaXJ9Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NhbXN1bmctc29jLXV0aWxzL3NqZjI0MTAtbGludXgtbmF0aXZlX3N2bi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2Ftc3VuZy1zb2MtdXRpbHMvc2pmMjQxMC1saW51eC1uYXRpdmVfc3ZuLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkNTkzNWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NhbXN1bmctc29jLXV0aWxzL3NqZjI0MTAtbGludXgtbmF0aXZlX3N2bi5iYgpAQCAtMCwwICsxLDMyIEBACitTVU1NQVJZID0gIkpUQUcgdXRpbGl0eSB0byBpbnRlcmZhY2Ugdy8gYSBTM0MyNDEwIGRldmljZSIKK1NFQ1RJT04gPSAiZGV2ZWwiCitBVVRIT1IgPSAiSGFyYWxkIFdlbHRlIDxsYWZvcmdlQG9wZW5tb2tvLm9yZz4iCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3BhcnBvcnQuYztlbmRsaW5lPTE5O21kNT1iNTY4MTA5MWIwZmQ4YzVmNzA2ODgzNWM0NDFiZjBjOCIKK1NSQ1JFViA9ICI0MjY4IgorUFYgPSAiMC4xK3N2bnIke1NSQ1BWfSIKK1BSID0gInIxIgorCitTUkNfVVJJID0gInN2bjovL3N2bi5vcGVubW9rby5vcmcvdHJ1bmsvc3JjL2hvc3QvO21vZHVsZT1zamYyNDEwLWxpbnV4O3Byb3RvY29sPWh0dHAiCitTID0gIiR7V09SS0RJUn0vc2pmMjQxMC1saW51eCIKKworaW5oZXJpdCBuYXRpdmUgZGVwbG95Citkb19kZXBsb3lbc3N0YXRlLW91dHB1dGRpcnNdID0gIiR7REVQTE9ZX0RJUl9UT09MU30iCisKK0NGTEFHUyArPSAiLURMSU5VWF9QUERFViIKKworZG9fY29tcGlsZSgpIHsKKyAgICBvZV9ydW5tYWtlCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9LyR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSBzamYyNDEwICR7RH0vJHtiaW5kaXJ9Cit9CisKK2RvX2RlcGxveSgpIHsKKyAgICBpbnN0YWxsIC1kICR7REVQTE9ZX0RJUl9UT09MU30KKyAgICBpbnN0YWxsIC1tIDA3NTUgc2pmMjQxMCAke0RFUExPWV9ESVJfVE9PTFN9L3NqZjI0MTAtJHtQVn0KK30KKworYWRkdGFzayBkZXBsb3kgYmVmb3JlIGRvX2J1aWxkIGFmdGVyIGRvX2luc3RhbGwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2RwYXJtL2ZpbGVzL21ha2Utc3lzcm9vdC13b3JrLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zZHBhcm0vZmlsZXMvbWFrZS1zeXNyb290LXdvcmsucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTQwNWVkOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2RwYXJtL2ZpbGVzL21ha2Utc3lzcm9vdC13b3JrLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK1tQQVRDSF0gbWFrZSBzeXNyb290IHdvcmsKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK0FkZCA9IGJlZm9yZSB0aGUgaW5jbHVkZWQgZGlyIHRvIG1ha2Ugc3lzcm9vdCB3b3JrCisKK1NpZ25lZC1vZmYtYnk6IFJveS5MaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIHNyYy9NYWtlZmlsZS5hbSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZS5hbSBiL3NyYy9NYWtlZmlsZS5hbQoraW5kZXggYzgzNzg4Yy4uOWY2MjExNSAxMDA2NDQKKy0tLSBhL3NyYy9NYWtlZmlsZS5hbQorKysrIGIvc3JjL01ha2VmaWxlLmFtCitAQCAtMzIsNyArMzIsNyBAQCBzZ2xpYl9TT1VSQ0VTID0JCS4uL2xpYi9zZ19saWIuYyBcCisgCQkJLi4vbGliL3NnX3B0X2NvbW1vbi5jCisgCisgaWYgSEFWRV9TR1VUSUxTCistSU5DTFVERVMgPSAtSS91c3IvaW5jbHVkZS9zY3NpCisrSU5DTFVERVMgPSAtST1AaW5jbHVkZWRpckAvc2NzaQorIHNkcGFybV9MREFERCA9IEBHRVRPUFRfT19GSUxFU0AgQG9zX2xpYnNAIEBTR1VUSUxTX0xJQlNACisgc2RwYXJtX0RFUEVOREVOQ0lFUyA9IEBHRVRPUFRfT19GSUxFU0AKKyBlbHNlCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2RwYXJtL3NkcGFybV8xLjA5LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zZHBhcm0vc2RwYXJtXzEuMDkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2ExMWNhNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2RwYXJtL3NkcGFybV8xLjA5LmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiZmV0Y2ggYW5kIGNoYW5nZSBTQ1NJIG1vZGUgcGFnZXMiCitERVNDUklQVElPTiA9ICJUaGUgc2RwYXJtIHV0aWxpdHkgYWNjZXNzZXMgYW5kIG9wdGlvbmFsbHkgbW9kaWZpZXMgXAorU0NTSSBkZXZpY2VzJyBtb2RlIHBhZ2UgYW5kIGlucXVpcnkgZGF0YS4iCitIT01FUEFHRSA9ICJodHRwOi8vc2cuZGFubnkuY3ovc2cvc2RwYXJtLmh0bWwiCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWVjYWI2YzM2YjdiYTgyYzY3NTU4MWRkMGFmZGUzNmY3IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYi9CU0RfTElDRU5TRTttZDU9MWQ1MmY0YTY2ZjFlMGVkOTY3NzZiZjM1NGFiN2EyZWQiCitERVBFTkRTPSJzZzMtdXRpbHMiCitTUkNfVVJJID0gImh0dHA6Ly9zZy5kYW5ueS5jei9zZy9wLyR7QlBOfS0ke1BWfS50Z3ogXAorICAgICAgICAgICBmaWxlOi8vbWFrZS1zeXNyb290LXdvcmsucGF0Y2ggXAorICAgICAgICAgICAiCisKK1BBQ0tBR0VTID0rICIke1BOfS1zY3JpcHRzIgorUkRFUEVORFNfJHtQTn0tc2NyaXB0cyArPSAiYmFzaCAke1BOfSIKKworU1JDX1VSSVttZDVzdW1dID0gImU1MWIxZmQ0MWMzZTRjOWQxMjc0YTJlNGYwNDZlZWJmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjcyOTRmNDQxNzNhYzA5NDZmMWRlOGFmMDJiMWJkYjBiZDY0ODA3OTI0NTM5NjU4OTM5N2EyYjBkM2FiYzQyZDMiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKKyMgUHV0IHRoZSBiYXNoIHNjcmlwdHMgdG8gJHtQTn0tc2NyaXB0cworRklMRVNfJHtQTn0tc2NyaXB0cyA9ICIke2JpbmRpcn0vc2FzX2Rpc2tfYmxpbmsgJHtiaW5kaXJ9L3Njc2lfY2hfc3dwIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zZXJpYWwtdXRpbHMvcHR5LWZvcndhcmQtbmF0aXZlLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zZXJpYWwtdXRpbHMvcHR5LWZvcndhcmQtbmF0aXZlLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmNTliM2UKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NlcmlhbC11dGlscy9wdHktZm9yd2FyZC1uYXRpdmUuYmIKQEAgLTAsMCArMSwyMCBAQAorU1VNTUFSWSA9ICJSZWNlaXZlIGEgZm9yd2FyZGVkIHNlcmlhbCBmcm9tIHNlcmlhbC1mb3J3YXJkIGFuZCBwcm92aWRlIGEgUFRZIgorQVVUSE9SID0gIkhvbGdlciAnWmVja2UnIEZyZXl0aGVyIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWViYjVjNTBhYjdjYWI0YmFlZmZiYTE0OTc3MDMwYzA3IgorU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCitTUkNSRVYgPSAiMDBkYmVjMjYzNmFlMDM4NWFkMDI4NTg3ZTIwZTQ0NjI3MmZmOTdlYyIKK1BWID0gIjEuMStnaXRyJHtTUkNQVn0iCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9mcmVlc21hcnRwaG9uZS9jb3JudWNvcGlhLmdpdDtwcm90b2NvbD1odHRwcyIKK1MgPSAiJHtXT1JLRElSfS9naXQvdG9vbHMvc2VyaWFsX2ZvcndhcmQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIG5hdGl2ZQorCitkb19kZXBsb3lbc3N0YXRlLW91dHB1dGRpcnNdID0gIiR7REVQTE9ZX0RJUl9JTUFHRX0iCitkb19kZXBsb3koKSB7CisgICAgaW5zdGFsbCAtZCAke0RFUExPWV9ESVJfSU1BR0V9CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7Qn0vc3JjL3B0eV9mb3J3YXJkICR7REVQTE9ZX0RJUl9JTUFHRX0vcHR5LWZvcndhcmQKK30KKworYWRkdGFzayBkZXBsb3kgYmVmb3JlIGRvX3BhY2thZ2UgYWZ0ZXIgZG9faW5zdGFsbApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zZXJpYWwtdXRpbHMvc2VyaWFsLWZvcndhcmRfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zZXJpYWwtdXRpbHMvc2VyaWFsLWZvcndhcmRfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0OTRkZTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NlcmlhbC11dGlscy9zZXJpYWwtZm9yd2FyZF9naXQuYmIKQEAgLTAsMCArMSwxMiBAQAorU1VNTUFSWSA9ICJGb3J3YXJkIGEgc2VyaWFsIHVzaW5nIFRDUC9JUCIKK0FVVEhPUiA9ICJIb2xnZXIgJ1plY2tlJyBGcmV5dGhlciciCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZWJiNWM1MGFiN2NhYjRiYWVmZmJhMTQ5NzcwMzBjMDciCitTRUNUSU9OID0gImNvbnNvbGUvZGV2ZWwiCitTUkNSRVYgPSAiMDBkYmVjMjYzNmFlMDM4NWFkMDI4NTg3ZTIwZTQ0NjI3MmZmOTdlYyIKK1BWID0gIjEuMStnaXRyJHtTUkNQVn0iCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9mcmVlc21hcnRwaG9uZS9jb3JudWNvcGlhLmdpdCIKK1MgPSAiJHtXT1JLRElSfS9naXQvdG9vbHMvc2VyaWFsX2ZvcndhcmQiCisKK2luaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NnMy11dGlscy9zZzMtdXRpbHNfMS40MS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2czLXV0aWxzL3NnMy11dGlsc18xLjQxLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxMjUwZmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NnMy11dGlscy9zZzMtdXRpbHNfMS40MS5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIlV0aWxpdGllcyBmb3Igd29ya2luZyB3aXRoIGdlbmVyaWMgU0NTSSBkZXZpY2VzIgorCitERVNDUklQVElPTiA9ICJUaGlzIHBhY2thZ2UgY29udGFpbnMgbG93IGxldmVsIHV0aWxpdGllcyBmb3IgZGV2aWNlcyB0aGF0IHVzZSB0aGUgU0NTSSBjb21tYW5kIHNldCIKKworSE9NRVBBR0UgPSAiaHR0cDovL3NnLmRhbm55LmN6L3NnL3NnM191dGlscy5odG1sIgorU0VDVElPTiA9ICJjb25zb2xlL2FkbWluIgorCitMSUNFTlNFID0gIkdQTHYyKyAmIEJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWY5MGRhN2ZjNTIxNzI1OTlkYmYwODJkNzYyMGYxOGNhIgorCitTUkNfVVJJID0gImh0dHA6Ly9zZy5kYW5ueS5jei9zZy9wL3NnM191dGlscy0ke1BWfS50Z3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4NmViZTM4ODE1MzVlZTVjNDhmODFiZTViZTQ0YjM2MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjNGUyODkzYzM2ZGYxZWU1YjA3ODQwYWI3YzIyMTI5NTQ0ZjVkYzhhNTVmN2NjODgxNWM5Y2Q4ZTQ0ZWMzMWMwIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworUyA9ICIke1dPUktESVJ9L3NnM191dGlscy0ke1BWfSIKKworUkRFUEVORFNfJHtQTn0gKz0gImJhc2giCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NoYXJ1dGlscy9zaGFydXRpbHMtNC4xNC9maXgtZm9yLWNyb3NzLWNvbXBpbGluZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2hhcnV0aWxzL3NoYXJ1dGlscy00LjE0L2ZpeC1mb3ItY3Jvc3MtY29tcGlsaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2YTdkYTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NoYXJ1dGlscy9zaGFydXRpbHMtNC4xNC9maXgtZm9yLWNyb3NzLWNvbXBpbGluZy5wYXRjaApAQCAtMCwwICsxLDI5IEBACitGcm9tIDk5MDIzNGFmODRhNTM5OTAxN2QxYzRmZTAzYzVjNzU2YThlNTFlMjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25nanVuIFlhbmcgPEhvbmdqdW4uWWFuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAyMCBBdWcgMjAxMyAwOTo0MTo0MyArMDgwMAorU3ViamVjdDogW1BBVENIXSBmaXggY3Jvc3MgY29tcGlsaW5nIGlzc3VlCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBIb25nanVuLllhbmcgPGhvbmdqdW4ueWFuZ0B3aW5kcml2ZXIuY29tPgorCistLS0KKyBjb25maWd1cmUgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKK2luZGV4IDZlZTk4ZTAuLjgwNjdmNTQgMTAwNzU1CistLS0gYS9jb25maWd1cmUKKysrKyBiL2NvbmZpZ3VyZQorQEAgLTI2OTY1LDcgKzI2OTY1LDcgQEAgZmkKKyBpZiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiA9IHllczsgdGhlbiA6CisgICB7IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjUKKyAkYXNfZWNobyAiJGFzX21lOiBlcnJvcjogaW4gXGAkYWNfcHdkJzoiID4mMjt9CistYXNfZm5fZXJyb3IgJD8gImNhbm5vdCBydW4gdGVzdCBwcm9ncmFtIHdoaWxlIGNyb3NzIGNvbXBpbGluZworKyRhc19lY2hvICJjYW5ub3QgcnVuIHRlc3QgcHJvZ3JhbSB3aGlsZSBjcm9zcyBjb21waWxpbmcKKyBTZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzIiAiJExJTkVOTyIgNTsgfQorIGVsc2UKKyAgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy0tIAorMS44LjEuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NoYXJ1dGlscy9zaGFydXRpbHNfNC4xNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2hhcnV0aWxzL3NoYXJ1dGlsc180LjE0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ5OTgxZTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NoYXJ1dGlscy9zaGFydXRpbHNfNC4xNC5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIlRoaXMgaXMgdGhlIHNldCBvZiBHTlUgc2hhciB1dGlsaXRpZXMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL3NoYXJ1dGlscy8iCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFPSJHUEx2MysiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworaW5oZXJpdCBnZXR0ZXh0IGF1dG90b29scy1icm9rZW5zZXAKKworU1JDX1VSSSA9ICJmdHA6Ly9mdHAuZ251Lm9yZy9nbnUvc2hhcnV0aWxzL3NoYXJ1dGlscy00LjE0LnRhci5neiBcCisJICAgZmlsZTovL2ZpeC1mb3ItY3Jvc3MtY29tcGlsaW5nLnBhdGNoIFwKKwkgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjU2ODZjMTExMzFiNGM0YzA4NDFmOGYzZWYzNGQxMzZhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjkwZjUxMDdjMTY3Y2ZkMWIyOTliYjIxMTgyOGQyNTg2NDcxMDg3ODYzZGJlZDY5OGY1MzEwOWNkNWY3MTcyMDgiCisKK2RvX2NvbmZpZ3VyZSAoKSB7CisJb2VfcnVuY29uZgorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zbWVtL3NtZW1fMS40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zbWVtL3NtZW1fMS40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxOTAyMGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NtZW0vc21lbV8xLjQuYmIKQEAgLTAsMCArMSwyNyBAQAorU1VNTUFSWSA9ICJSZXBvcnQgYXBwbGljYXRpb24gbWVtb3J5IHVzYWdlIGluIGEgbWVhbmluZ2Z1bCB3YXkiCitERVNDUklQVElPTiA9ICJzbWVtIGlzIGEgdG9vbCB0aGF0IGNhbiBnaXZlIG51bWVyb3VzIHJlcG9ydHMgb24gbWVtb3J5IHVzYWdlIG9uIExpbnV4IFwKK3N5c3RlbXMuIFVubGlrZSBleGlzdGluZyB0b29scywgc21lbSBjYW4gcmVwb3J0IHByb3BvcnRpb25hbCBzZXQgc2l6ZSAoUFNTKSwgXAord2hpY2ggaXMgYSBtb3JlIG1lYW5pbmdmdWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIGFtb3VudCBvZiBtZW1vcnkgdXNlZCBieSBcCitsaWJyYXJpZXMgYW5kIGFwcGxpY2F0aW9ucyBpbiBhIHZpcnR1YWwgbWVtb3J5IHN5c3RlbS4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnNlbGVuaWMuY29tL3NtZW0vIgorU0VDVElPTiA9ICJBcHBsaWNhdGlvbnMvU3lzdGVtIgorCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuc2VsZW5pYy5jb20vJHtCUE59L2Rvd25sb2FkLyR7QlB9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJmZTc5NDM1YzM5MzAzODliZmRiNTYwMjU1YzgwMjE2MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyZWE5Zjg3OGY0Y2YzYzI3Njc3NGMzZjdlMmE0MTk3N2ExZjJkNjRmOThkMmRjYjZhMTVmMWYzZDg0ZGY2MWVjIgorCitkb19jb21waWxlKCkgeworICAgICAgICAke0NDfSAke0NGTEFHU30gJHtMREZMQUdTfSBzbWVtY2FwLmMgLW8gc21lbWNhcAorfQorCitkb19pbnN0YWxsKCkgeworICAgICAgICBpbnN0YWxsIC1kICR7RH0vJHtiaW5kaXJ9LworICAgICAgICBpbnN0YWxsIC1kICR7RH0vJHttYW5kaXJ9L21hbjgKKyAgICAgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vc21lbSAke0R9JHtiaW5kaXJ9LworICAgICAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9zbWVtY2FwICR7RH0ke2JpbmRpcn0vCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NtZW0uOCAke0R9LyR7bWFuZGlyfS9tYW44LworfQorUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbi10ZXh0dXRpbHMgcHl0aG9uLWNvbXByZXNzaW9uIHB5dGhvbi1zaGVsbCBweXRob24tY29kZWNzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zb2NpL3NvY2kvc29jaV9saWJkaXIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NvY2kvc29jaS9zb2NpX2xpYmRpci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMGExYTVjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zb2NpL3NvY2kvc29jaV9saWJkaXIucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorRGVmaW5lIFNPQ0lfTElCRElSIG9ubHkgaWYgaXRzIG5vdCBwYXNzZWQgdmlhIGVudmlyb25lbW50LiBJbiBPRSB3ZQord2FudCB0byBzZXQgaXQgcGVyIG91ciBjaG9pY2Ugc2luY2Ugd2UgdXNlICdsaWInIGZvciA2NGJpdCB1bmxlc3Mgd2UKK2FyZSB1c2luZyBtdWx0aWxpYgorCistS2hlbQorCitJbmRleDogc29jaS0zLjIuMi9DTWFrZUxpc3RzLnR4dAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHNvY2ktMy4yLjIub3JpZy9DTWFrZUxpc3RzLnR4dAorKysrIHNvY2ktMy4yLjIvQ01ha2VMaXN0cy50eHQKK0BAIC02OSwxMSArNjksMTIgQEAgaW5jbHVkZShTb2NpRGVwZW5kZW5jaWVzKQorICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAjIEluc3RhbGxhdGlvbgorICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy0KKy1pZihBUFBMRSBPUiBDTUFLRV9TSVpFT0ZfVk9JRF9QIEVRVUFMIDQpCistICBzZXQoU09DSV9MSUJESVIgImxpYiIpCistZWxzZSgpCistICBzZXQoU09DSV9MSUJESVIgImxpYjY0IikKKytpZihOT1QgREVGSU5FRCBTT0NJX0xJQkRJUikKKysgIGlmKEFQUExFIE9SIENNQUtFX1NJWkVPRl9WT0lEX1AgRVFVQUwgNCkKKysgICAgc2V0KFNPQ0lfTElCRElSICJsaWIiKQorKyAgZWxzZSgpCisrICAgIHNldChTT0NJX0xJQkRJUiAibGliIikKKysgIGVuZGlmKCkKKyBlbmRpZigpCisgCisgc2V0KEJJTkRJUiAiYmluIiBDQUNIRSBQQVRIICJUaGUgZGlyZWN0b3J5IHRvIGluc3RhbGwgYmluYXJpZXMgaW50by4iKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zb2NpL3NvY2lfMy4yLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NvY2kvc29jaV8zLjIuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjVhNDg1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zb2NpL3NvY2lfMy4yLjIuYmIKQEAgLTAsMCArMSw0OSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTUgS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgQ09QWUlORy5NSVQgZm9yIHRoZSB0ZXJtcykKKworREVTQ1JJUFRJT04gPSAiVGhlIEMrKyBEYXRhYmFzZSBBY2Nlc3MgTGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb2NpLnNvdXJjZWZvcmdlLm5ldCIKK0xJQ0VOU0UgPSAiQlNMLTEuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0VfMV8wLnR4dDttZDU9ZTQyMjRjY2FlY2IxNGQ5NDJjNzFkMzFiZWYyMGQ3OGMiCitTRUNUSU9OID0gImxpYnMiCitERVBFTkRTID0gImJvb3N0IgorCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3Byb2plY3QvJHtCUE59LyR7QlBOfS8ke0JQfS8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vc29jaV9saWJkaXIucGF0Y2ggXAorICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJiYzNjMzVmNmNkM2Y4MGExYmUxOWZlMzBiM2MxMTFiZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzMGVhMmY0ZDI2NjM5ZWY1YjVjZGMyNGZiMzAwYjM4OTY3NDYyNDNkYmI3N2I3NDM1ODJkZTJmZjQ0M2NjYjFjIgorCitURVNUQ09ORklHID0gJy1EU09DSV9URVNUX0VNUFRZX0NPTk5TVFI9ImR1bW15IiAtRFNPQ0lfVEVTVF9TUUxJVEUzX0NPTk5TVFI9InRlc3QuZGIiIFwKKyAgICAgICAgICAgICAgLURTT0NJX1RFU1RfUE9TVEdSRVNRTF9DT05OU1RSOlNUUklORz0iZGJuYW1lPXNvY2lfdGVzdCIgXAorICAgICAgICAgICAgICAtRFNPQ0lfVEVTVF9NWVNRTF9DT05OU1RSOlNUUklORz0iZGI9c29jaV90ZXN0IHVzZXI9b2UgcGFzc3dvcmQ9b2UiJworCitPQkFTRURJUiA/PSAiL29wdC9vcmFjbGUiCitPSU5DRElSID0gInJkYm1zL3B1YmxpYyIKK09MSUJESVIgPSAibGliIgorCitQQUNLQUdFQ09ORklHW3NxbGl0ZTNdID0gIi1EU09DSV9TUUxJVEUzPU9OLC1EU09DSV9TUUxJVEUzPU9GRixzcWxpdGUzLCIKK1BBQ0tBR0VDT05GSUdbbXlzcWxdID0gIi1EU09DSV9NWVNRTD1PTiwtRFNPQ0lfTVlTUUw9T0ZGLG1hcmlhZGIsIgorUEFDS0FHRUNPTkZJR1twb3N0Z3Jlc3FsXSA9ICItRFNPQ0lfUE9TVEdSRVNRTD1PTiwtRFNPQ0lfUE9TVEdSRVNRTD1PRkYscG9zdGdyZXNxbCwiCitQQUNLQUdFQ09ORklHW29kYmNdID0gIi1EU09DSV9PREJDPU9OLC1EU09DSV9PREJDPU9GRiwsIgorUEFDS0FHRUNPTkZJR1tlbXB0eV0gPSAiLURTT0NJX0VNUFRZPU9OLC1EU09DSV9FTVBUWT1PRkYsLCIKK1BBQ0tBR0VDT05GSUdbb3JhY2xlXSA9ICItRFdJVEhfT1JBQ0xFPU9OIC0td2l0aC1vcmFjbGUtaW5jbHVkZT0ke09JTkNESVJ9IC0td2l0aC1vcmFjbGUtbGliPSR7T0xJQkRJUn0sLURXSVRIX09SQUNMRT1PRkYsLCIKK1BBQ0tBR0VDT05GSUdbcHRlc3RdID0gIiR7VEVTVENPTkZJR30sLCwiCisKKyMgZW5hYmxlIHlvdXIgYmFja2VuZCBieSBkZWZhdWx0IHdlIGVuYWJsZSAnZW1wdHknCitQQUNLQUdFQ09ORklHID8/PSAiZW1wdHkiCisKKyMgVGFrZSB0aGUgZmxhZ3MgYWRkZWQgYnkgUEFDS0FHRUNPTkZJRyBhbmQgcGFzcyB0aGVtIHRvIGNtYWtlLgorRVhUUkFfT0VDTUFLRSA9ICIke0VYVFJBX09FQ09ORn0gLURTT0NJX0xJQkRJUj0ke2xpYmRpcn0iCitESVNBQkxFX1NUQVRJQyA9ICIiCisKK2luaGVyaXQgY21ha2UKKworUEFDS0FHRVMgKz0gIiR7UE59LXNxbGl0ZTMgJHtQTn0tbXlzcWwgJHtQTn0tcG9zdGdyZXNxbCAke1BOfS1vZGJjICR7UE59LW9yYWNsZSIKKworRklMRVNfJHtQTn0tc3FsaXRlMyA9ICIke2xpYmRpcn0vbGliJHtCUE59X3NxbGl0ZTMuc28uKiIKK0ZJTEVTXyR7UE59LW15c3FsID0gIiR7bGliZGlyfS9saWIke0JQTn1fbXlzcWwuc28uKiIKK0ZJTEVTXyR7UE59LXBvc3RncmVzcWwgPSAiJHtsaWJkaXJ9L2xpYiR7QlBOfV9wb3N0Z3Jlc3FsLnNvLioiCitGSUxFU18ke1BOfS1vZGJjID0gIiR7bGliZGlyfS9saWIke0JQTn1fb2RiYy5zby4qIgorRklMRVNfJHtQTn0tb3JhY2xlID0gIiR7bGliZGlyfS9saWIke0JQTn1fb3JhY2xlLnNvLioiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NwaXRvb2xzL3NwaXRvb2xzX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3BpdG9vbHMvc3BpdG9vbHNfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkYjY3Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NwaXRvb2xzL3NwaXRvb2xzX2dpdC5iYgpAQCAtMCwwICsxLDE0IEBACitERVNDUklQVElPTiA9ICJUaGlzIHBhY2thZ2UgY29udGFpbnMgc29tZSBzaW1wbGUgY29tbWFuZCBsaW5lIHRvb2xzIHRvIGhlbHAgdXNpbmcgTGludXggc3BpZGV2IGRldmljZXMiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vY3BiLS9zcGktdG9vbHMiCitBVVRIT1IgPSAiQ2hyaXN0b3BoZSBCTEFFU1MiCitMSUNFTlNFPSJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PThjMTY2NjZhZTZjMTU5ODc2YTBiYTYzMDk5NjE0MzgxIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vY3BiLS9zcGktdG9vbHMuZ2l0O3Byb3RvY29sPWdpdCIKKworU1JDUkVWID0gImNjNmE0MWZkY2VjNjA2MTA3MDNiYTZkYjQ4OGM2MjFjNjQ5NTI4OTgiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZS0yLjguMTcvbWFpbm1rX2J1aWxkX2R5bmFtaWMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NxbGl0ZS9zcWxpdGUtMi44LjE3L21haW5ta19idWlsZF9keW5hbWljLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxNDQyMmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NxbGl0ZS9zcWxpdGUtMi44LjE3L21haW5ta19idWlsZF9keW5hbWljLnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK2RpZmYgLXVyTiBzcWxpdGUtMi44LjE3Lm9yaWcvbWFpbi5tayBzcWxpdGUtMi44LjE3L21haW4ubWsKKy0tLSBzcWxpdGUtMi44LjE3Lm9yaWcvbWFpbi5tawkyMDA1LTA0LTIzIDIyOjQzOjIzLjAwMDAwMDAwMCArMDAwMAorKysrIHNxbGl0ZS0yLjguMTcvbWFpbi5tawkyMDA5LTA0LTAyIDIwOjEwOjM2LjAwMDAwMDAwMCArMDAwMAorQEAgLTEzOSw3ICsxMzksNyBAQAorICMgVGhpcyBpcyB0aGUgZGVmYXVsdCBNYWtlZmlsZSB0YXJnZXQuICBUaGUgb2JqZWN0cyBsaXN0ZWQgaGVyZQorICMgYXJlIHdoYXQgZ2V0IGJ1aWxkIHdoZW4geW91IHR5cGUganVzdCAibWFrZSIgd2l0aCBubyBhcmd1bWVudHMuCisgIworLWFsbDoJc3FsaXRlLmggY29uZmlnLmggbGlic3FsaXRlLmEgc3FsaXRlJChFWEUpCisrYWxsOiAgIHNxbGl0ZS5oIGNvbmZpZy5oIGxpYnNxbGl0ZS5zbyBzcWxpdGUkKEVYRSkKKyAKKyAjIEdlbmVyYXRlIHRoZSBmaWxlICJsYXN0X2NoYW5nZSIgd2hpY2ggY29udGFpbnMgdGhlIGRhdGUgb2YgY2hhbmdlCisgIyBvZiB0aGUgbW9zdCByZWNlbnRseSBtb2RpZmllZCBzb3VyY2UgY29kZSBmaWxlCitAQCAtMTQ4LDEzICsxNDgsMTIgQEAKKyAJY2F0ICQoU1JDKSB8IGdyZXAgJyQkSWQ6ICcgfCBzb3J0ICs0IHwgdGFpbCAtMSBcCisgICAgICAgICAgIHwgYXdrICd7cHJpbnQgJCQ1LCQkNn0nID5sYXN0X2NoYW5nZQorIAorLWxpYnNxbGl0ZS5hOgkkKExJQk9CSikKKy0JJChBUikgbGlic3FsaXRlLmEgJChMSUJPQkopCistCSQoUkFOTElCKSBsaWJzcWxpdGUuYQorLQorLXNxbGl0ZSQoRVhFKToJJChUT1ApL3NyYy9zaGVsbC5jIGxpYnNxbGl0ZS5hIHNxbGl0ZS5oCistCSQoVENDWCkgJChSRUFETElORV9GTEFHUykgLW8gc3FsaXRlJChFWEUpICQoVE9QKS9zcmMvc2hlbGwuYyBcCistCQlsaWJzcWxpdGUuYSAkKExJQlJFQURMSU5FKSAkKFRIUkVBRExJQikKKytsaWJzcWxpdGUuc286CSQoTElCT0JKKQorKwkkKENDKSAkKExERkxBR1MpIC1zaGFyZWQgLW8gbGlic3FsaXRlLnNvIC1XbCwtc29uYW1lLGxpYnNxbGl0ZS5zby4wICQoTElCT0JKKQorKworK3NxbGl0ZSQoRVhFKToJJChUT1ApL3NyYy9zaGVsbC5jIGxpYnNxbGl0ZS5zbyBzcWxpdGUuaAorKwkkKFRDQ1gpICQoTERGTEFHUykgJChSRUFETElORV9GTEFHUykgLW8gc3FsaXRlJChFWEUpICQoVE9QKS9zcmMvc2hlbGwuYyBcCisrCQktbHNxbGl0ZSAkKExJQlJFQURMSU5FKSAkKFRIUkVBRExJQikKKyAKKyBzcWxpdGVfYW5hbHl6ZXIkKEVYRSk6CSQoVE9QKS9zcmMvdGNsc3FsaXRlLmMgbGlic3FsaXRlLmEgJChURVNUU1JDKSBcCisgCQkJJChUT1ApL3Rvb2wvc3BhY2VhbmFsLnRjbApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zcWxpdGUvc3FsaXRlLTIuOC4xNy9tYWlubWtfbm9fdGNsLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zcWxpdGUvc3FsaXRlLTIuOC4xNy9tYWlubWtfbm9fdGNsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4NGI2NDgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NxbGl0ZS9zcWxpdGUtMi44LjE3L21haW5ta19ub190Y2wucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorZGlmZiAtYnVyIHNxbGl0ZS0yLjguMTd+b3JpZy9tYWluLm1rIHNxbGl0ZS0yLjguMTcvbWFpbi5taworLS0tIHNxbGl0ZS0yLjguMTd+b3JpZy9tYWluLm1rCTIwMDYtMDItMTMgMDQ6MDk6MzMuMDAwMDAwMDAwIC0wNjAwCisrKysgc3FsaXRlLTIuOC4xNy9tYWluLm1rCTIwMDYtMDItMTMgMDQ6MTU6NDIuMDAwMDAwMDAwIC0wNjAwCitAQCAtNTgsNyArNTgsNyBAQAorICAgICAgICAgIGV4cHIubyBmdW5jLm8gaGFzaC5vIGluc2VydC5vIFwKKyAgICAgICAgICBtYWluLm8gb3Bjb2Rlcy5vIG9zLm8gcGFnZXIubyBwYXJzZS5vIHByYWdtYS5vIHByaW50Zi5vIHJhbmRvbS5vIFwKKyAgICAgICAgICBzZWxlY3QubyB0YWJsZS5vIHRva2VuaXplLm8gdHJpZ2dlci5vIHVwZGF0ZS5vIHV0aWwubyBcCistICAgICAgICAgdmFjdXVtLm8gdmRiZS5vIHZkYmVhdXgubyB3aGVyZS5vIHRjbHNxbGl0ZS5vCisrICAgICAgICAgdmFjdXVtLm8gdmRiZS5vIHZkYmVhdXgubyB3aGVyZS5vCisgCisgIyBBbGwgb2YgdGhlIHNvdXJjZSBjb2RlIGZpbGVzLgorICMKK0BAIC05MSw3ICs5MSw2IEBACisgICAkKFRPUCkvc3JjL3NxbGl0ZS5oLmluIFwKKyAgICQoVE9QKS9zcmMvc3FsaXRlSW50LmggXAorICAgJChUT1ApL3NyYy90YWJsZS5jIFwKKy0gICQoVE9QKS9zcmMvdGNsc3FsaXRlLmMgXAorICAgJChUT1ApL3NyYy90b2tlbml6ZS5jIFwKKyAgICQoVE9QKS9zcmMvdHJpZ2dlci5jIFwKKyAgICQoVE9QKS9zcmMvdXBkYXRlLmMgXApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zcWxpdGUvc3FsaXRlLTIuOC4xNy9zcWxpdGUucGMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NxbGl0ZS9zcWxpdGUtMi44LjE3L3NxbGl0ZS5wYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YmM3NDJlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zcWxpdGUvc3FsaXRlLTIuOC4xNy9zcWxpdGUucGMKQEAgLTAsMCArMSwxMiBAQAorIyBQYWNrYWdlIEluZm9ybWF0aW9uIGZvciBwa2ctY29uZmlnCisKK3ByZWZpeD0vdXNyCitleGVjX3ByZWZpeD0ke3ByZWZpeH0KK2xpYmRpcj0ke2V4ZWNfcHJlZml4fS9saWIKK2luY2x1ZGVkaXI9JHtwcmVmaXh9L2luY2x1ZGUKKworTmFtZTogU1FMaXRlCitEZXNjcmlwdGlvbjogU1FMIGRhdGFiYXNlIGVuZ2luZQorVmVyc2lvbjogMi44LjE3CitMaWJzOiAtTCR7bGliZGlyfSAtbHNxbGl0ZQorQ2ZsYWdzOiAtSSR7aW5jbHVkZWRpcn0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZV8yLjguMTcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NxbGl0ZS9zcWxpdGVfMi44LjE3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2ZTE0YzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NxbGl0ZS9zcWxpdGVfMi44LjE3LmJiCkBAIC0wLDAgKzEsNTkgQEAKK1NVTU1BUlkgPSAiQW4gRW1iZWRkYWJsZSBTUUwgRGF0YWJhc2UgRW5naW5lIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5zcWxpdGUub3JnLyIKK1NFQ1RJT04gPSAibGlicyIKK0RFUEVORFMgPSAicmVhZGxpbmUgbmN1cnNlcyIKK0xJQ0VOU0UgPSAiUEQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9zcmMvbWFpbi5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MTA7bWQ1PWU5ODQ2OWE4ZWZhMDI0YTM4YWQ1YjJlNGI5MmY0YTk2IgorCitQUiA9ICJyNyIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lmh3YWNpLmNvbS9zdy9zcWxpdGUvc3FsaXRlLSR7UFZ9LnRhci5neiBcCisgICAgZmlsZTovL21haW5ta19idWlsZF9keW5hbWljLnBhdGNoIFwKKyAgICBmaWxlOi8vbWFpbm1rX25vX3RjbC5wYXRjaCBcCisgICAgZmlsZTovL3NxbGl0ZS5wYyIKKworU09VUkNFUyA9ICJhdHRhY2gubyBhdXRoLm8gYnRyZWUubyBidHJlZV9yYi5vIGJ1aWxkLm8gY29weS5vIGRhdGUubyBkZWxldGUubyBcCisgICAgICAgICAgIGV4cHIubyBmdW5jLm8gaGFzaC5vIGluc2VydC5vIG1haW4ubyBvcGNvZGVzLm8gb3MubyBwYWdlci5vIFwKKyAgICAgICAgICAgcGFyc2UubyBwcmFnbWEubyBwcmludGYubyByYW5kb20ubyBzZWxlY3QubyB0YWJsZS5vIHRva2VuaXplLm8gXAorICAgICAgICAgICB0cmlnZ2VyLm8gdXBkYXRlLm8gdXRpbC5vIHZhY3V1bS5vIHZkYmUubyB2ZGJlYXV4Lm8gd2hlcmUubyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBlY2hvICJtYWluLm1rIGlzIHBhdGNoZWQsIG5vIG5lZWQgdG8gY29uZmlndXJlIgorICAgICMgbWFrZSBwa2djb25maWcuYmJjbGFzcyBwaWNrIHRoaXMgdXAKKyAgICBjcCAke1dPUktESVJ9L3NxbGl0ZS5wYyAke1N9Cit9CisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSAtZiAke1N9L01ha2VmaWxlLmxpbnV4LWdjYyBcCisgICAgICAgICAgICAgVE9QPSIke1N9IiBcCisgICAgICAgICAgICAgQkNDPSIke0JVSUxEX0NDfSIgXAorICAgICAgICAgICAgIFRDQz0iJHtDQ30iIFwKKyAgICAgICAgICAgICBPUFRTPSItZlBJQyAtRCdJTlRQVFJfVFlQRT1pbnQnIiBcCisgICAgICAgICAgICAgVENMX0ZMQUdTPSBMSUJUQ0w9IFwKKyAgICAgICAgICAgICBSRUFETElORV9GTEFHUz0iLURIQVZFX1JFQURMSU5FPTEgLUkke1NUQUdJTkdfSU5DRElSfSIgXAorICAgICAgICAgICAgIExJQlJFQURMSU5FPSItTC4gLUwke1NUQUdJTkdfTElCRElSfSAtbHJlYWRsaW5lIC1sbmN1cnNlcyIKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0gJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgc3FsaXRlICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgbGlic3FsaXRlLnNvICR7RH0ke2xpYmRpcn0vbGlic3FsaXRlLnNvLjAuOC42CisgICAgbG4gLXNmIGxpYnNxbGl0ZS5zby4wLjguNiAke0R9JHtsaWJkaXJ9L2xpYnNxbGl0ZS5zbworICAgIGxuIC1zZiBsaWJzcWxpdGUuc28uMC44LjYgJHtEfSR7bGliZGlyfS9saWJzcWxpdGUuc28uMAorICAgIGxuIC1zZiBsaWJzcWxpdGUuc28uMC44LjYgJHtEfSR7bGliZGlyfS9saWJzcWxpdGUuc28uMC44CisgICAgaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfQorICAgIGluc3RhbGwgLW0gMDY0NCBzcWxpdGUuaCAke0R9JHtpbmNsdWRlZGlyfS9zcWxpdGUuaAorICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9wa2djb25maWcKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zcWxpdGUucGMgJHtEfSR7bGliZGlyfS9wa2djb25maWcvc3FsaXRlLnBjCit9CisKK1BBQ0tBR0VTICs9ICIke1BOfS1iaW4iCitGSUxFU18ke1BOfS1iaW4gPSAiJHtiaW5kaXJ9LyoiCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vKi5zby4qIgorCitTUkNfVVJJW21kNXN1bV0gPSAiODM4ZGJhYzIwYjU2ZDJjNDI5MmU5ODg0ODUwNWEwNWIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2YzNWViZmI2Nzg2N2ZiNWI1ODNhMDNlNDgwZjkwMDIwNmFmNjM3ZWZlNzE3OWIzMjI5NGE2YTBjZjgwNmYzNyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uLzAwMDEtZHBrZy1zdGFydC1zdG9wLWRhZW1vbi1BY2NlcHQtU0lHLXByZWZpeGVkLXNpZ25hbC1uYS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwMS1kcGtnLXN0YXJ0LXN0b3AtZGFlbW9uLUFjY2VwdC1TSUctcHJlZml4ZWQtc2lnbmFsLW5hLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5ODhlZmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uLzAwMDEtZHBrZy1zdGFydC1zdG9wLWRhZW1vbi1BY2NlcHQtU0lHLXByZWZpeGVkLXNpZ25hbC1uYS5wYXRjaApAQCAtMCwwICsxLDM5IEBACitGcm9tIDY4NTY0NWEyMGUzOWNmMmFiN2RiOGQxZjVlMzY2NmE0MjI4YWJjYTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBJb2FuLUFkcmlhbiBSYXRpdSA8YWRyaWFuLnJhdGl1QG5pLmNvbT4KK0RhdGU6IFdlZCwgOCBKdWwgMjAxNSAwOTo0NDo1NyArMDMwMAorU3ViamVjdDogW1BBVENIIDEvMV0gZHBrZyBzdGFydC1zdG9wLWRhZW1vbjogQWNjZXB0IFNJRyBwcmVmaXhlZCBzaWduYWwgbmFtZXMKKworLS0tCisgdXRpbHMvc3RhcnQtc3RvcC1kYWVtb24uYyB8IDkgKysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvdXRpbHMvc3RhcnQtc3RvcC1kYWVtb24uYyBiL3V0aWxzL3N0YXJ0LXN0b3AtZGFlbW9uLmMKK2luZGV4IDZhZWJlOWIuLmU4MDUwODIgMTAwNjQ0CistLS0gYS91dGlscy9zdGFydC1zdG9wLWRhZW1vbi5jCisrKysgYi91dGlscy9zdGFydC1zdG9wLWRhZW1vbi5jCitAQCAtMTgsNiArMTgsOSBAQAorICAqICAgICAgICAgICAgICAgICBhbmQgQW5kcmVhcyBTY2h1bGRlaSA8YW5kcmVhc0BzY2h1bGRlaS5vcmc+CisgICoKKyAgKiBDaGFuZ2VzIGJ5IElhbiBKYWNrc29uOiBhZGRlZCAtLXJldHJ5IChhbmQgYXNzb2NpYXRlZCByZWFycmFuZ2VtZW50cykuCisrICoKKysgKiBDaGFuZ2VzIGJ5IEhhcmlzIE9rYW5vdmljIDxoYXJpcy5va2Fub3ZpY0BuaS5jb20+IHRvIHN1cHBvcnQgJ1NJRycKKysgKiAgICAgcHJlZml4ZWQgc2lnbmFsIG5hbWVzIHBsYWNlZCBpbiBwdWJsaWMgZG9tYWluIGFzIHdlbGwuCisgICovCisgCisgI2luY2x1ZGUgPGNvbmZpZy5oPgorQEAgLTY2MSw2ICs2NjQsMTIgQEAgcGFyc2Vfc2lnbmFsKGNvbnN0IGNoYXIgKnNpZ19zdHIsIGludCAqc2lnX251bSkKKyAJaWYgKHBhcnNlX3Vuc2lnbmVkKHNpZ19zdHIsIDEwLCBzaWdfbnVtKSA9PSAwKQorIAkJcmV0dXJuIDA7CisgCisrICAgICAgICAvKiBTa2lwIG92ZXIgb3B0aW9uYWwgIlNJRyIgcHJlZml4ICovCisrICAgICAgICBpZiAoc3RybmNtcChzaWdfc3RyLCAiU0lHIiwgMykgPT0gMCkgeworKyAgICAgICAgICAgICAgICB3YXJuaW5nKCJVc2luZyBkZXByZWNhdGVkIHNpZ25hbCBuYW1lICVzLiBEcm9wIHRoZSAnU0lHJyBwcmVmaXguXG4iLCBzaWdfc3RyKTsKKysgICAgICAgICAgICAgICAgc2lnX3N0ciArPSAzOworKyAgICAgICAgfQorKworIAlmb3IgKGkgPSAwOyBpIDwgYXJyYXlfY291bnQoc2lnbGlzdCk7IGkrKykgeworIAkJaWYgKHN0cmNtcChzaWdfc3RyLCBzaWdsaXN0W2ldLm5hbWUpID09IDApIHsKKyAJCQkqc2lnX251bSA9IHNpZ2xpc3RbaV0uc2lnbmFsOworLS0gCisyLjEuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uXzEuMTcuMjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uXzEuMTcuMjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWVlNDQ3MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb25fMS4xNy4yNS5iYgpAQCAtMCwwICsxLDM2IEBACitTVU1NQVJZID0gIkRlYmlhbidzIHN0YXJ0LXN0b3AtZGFlbW9uIHV0aWxpdHkgZXh0cmFjdGVkIGZyb20gdGhlIGRwa2cgXAorcGFja2FnZSIKK0xJQ0VOU0UgPSAiUEQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly91dGlscy9zdGFydC1zdG9wLWRhZW1vbi5jO2VuZGxpbmU9MjE7bWQ1PThmYmQwNDk3YTdkMGIwMWU5OTgyMGJmZmNiNThlOWFkIgorIyBzdGFydC1zdG9wLWRhZW1vbiBpcyB1c3VhbGx5IHNoaXBwZWQgYnkgZHBrZworREVQRU5EUyA9ICJuY3Vyc2VzIgorUkNPTkZMSUNUU18ke1BOfSA9ICJkcGtnIgorCitTUkNfVVJJID0gIiBcCisgICAgJHtERUJJQU5fTUlSUk9SfS9tYWluL2QvZHBrZy9kcGtnXyR7UFZ9LnRhci54eiBcCisgICAgZmlsZTovLzAwMDEtZHBrZy1zdGFydC1zdG9wLWRhZW1vbi1BY2NlcHQtU0lHLXByZWZpeGVkLXNpZ25hbC1uYS5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlNDhmY2ZkYjIxNjJlNzdkNzJjMmE4MzQzMmQ1MzdjYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwNzAxOWQzOGFlOThmYjEwN2M3OWRiYjM2OTBjZmFkZmY4NzdmMTUzYjhjNDk3MGUzYTMwZDJlNTlhYTY2YmFhIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZworCitTID0gIiR7V09SS0RJUn0vZHBrZy0ke1BWfSIKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS13aXRob3V0LWJ6MiBcCisgICAgLS13aXRob3V0LXNlbGludXggXAorIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgIyByZW1vdmUgZXZlcnl0aGluZyB0aGF0IGlzIG5vdCByZWxhdGVkIHRvIHN0YXJ0LXN0b3AtZGFlbW9uLCBzaW5jZSB0aGVyZQorICAgICMgaXMgbm8gZXhwbGljaXQgcnVsZSBmb3Igb25seSBpbnN0YWxsaW5nIHNzZAorICAgIGZpbmQgJHtEfSAtdHlwZSBmIC1ub3QgLW5hbWUgIipzdGFydC1zdG9wLWRhZW1vbioiIC1leGVjIHJtIHt9IFw7CisgICAgZmluZCAke0R9IC1kZXB0aCAtdHlwZSBkIC1lbXB0eSAtZXhlYyBybWRpciB7fSBcOworCisgICAgIyBzdXBwb3J0IGZvciBidWdneSBpbml0LmQgc2NyaXB0cyB0aGF0IHJlZmVyIHRvIGFuIGFsdGVybmF0aXZlCisgICAgIyBleHBsaWNpdCBwYXRoIHRvIHN0YXJ0LXN0b3AtZGFlbW9uCisgICAgbWtkaXIgLXAgJHtEfS9zYmluLworICAgIGxuIC1zZiAvdXNyL3NiaW4vc3RhcnQtc3RvcC1kYWVtb24gJHtEfS9zYmluL3N0YXJ0LXN0b3AtZGFlbW9uCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5bmVyZ3kvc3luZXJneV9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5bmVyZ3kvc3luZXJneV9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTYwNTdmNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3luZXJneS9zeW5lcmd5X2dpdC5iYgpAQCAtMCwwICsxLDM0IEBACitTVU1NQVJZID0gIlN5bmVyZ3kgLSBjb250cm9sIG11bHRpcGxlIGNvbXB1dGVycyB3aXRoIG9uZSBrZXlib2FyZCBhbmQgbW91c2UiCitIT01FUEFHRSA9ICJodHRwOi8vc3luZXJneS1wcm9qZWN0Lm9yZyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTBmMzY2OTQ1YjIwOWM1NTIzZTM5ODg5ZjYzNmFmMDBhIgorTElDRU5TRSA9ICJHUEwtMi4wIgorU0VDVElPTiA9ICJ4MTEvdXRpbHMiCisKK0RFUEVORFMgPSAidmlydHVhbC9saWJ4MTEgbGlieHRzdCBsaWJ4aW5lcmFtYSB1bnppcC1uYXRpdmUgY3VybCBvcGVuc3NsIgorCisjIGRlcGVuZHMgb24gdmlydHVhbC9saWJ4MTEKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9zeW5lcmd5L3N5bmVyZ3kuZ2l0O3Byb3RvY29sPWh0dHAiCisKKyMgVmVyc2lvbiAxLjcuNC1yYzgKK1NSQ1JFViA/PSAiNTg4ZmI0YjgwNWRkNDUyNTU2ZDA1ZGJjMDNmZTI5ZWE1YjRlNDNjMCIKK1BWID0gIjEuNy4zKzEuNy40LXJjOCske1NSQ1BWfSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBjbWFrZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworZG9fdW5wYWNrX2V4dHJhKCkgeworICAgIGNkICR7U30vZXh0CisgICAgZm9yIGZpbGUgaW4gKi56aXA7IGRvCisgICAgICAgIGZuYW1lPSIke2ZpbGUjIyovfSIKKyAgICAgICAgdW56aXAgJGZpbGUgLWQgJHtmbmFtZSUuKn0KKyAgICBkb25lCit9CithZGR0YXNrIHVucGFja19leHRyYSBhZnRlciBkb191bnBhY2sgYmVmb3JlIGRvX3BhdGNoCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9L3Vzci9iaW4KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9iaW4vc3luZXJneSogJHtEfS91c3IvYmluLworfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvRml4LXRoZS1tZW1vcnktbGVhay1wcm9ibGVtLWZvci1tdXRleC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL0ZpeC10aGUtbWVtb3J5LWxlYWstcHJvYmxlbS1mb3ItbXV0ZXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODkwMjJhYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL0ZpeC10aGUtbWVtb3J5LWxlYWstcHJvYmxlbS1mb3ItbXV0ZXgucGF0Y2gKQEAgLTAsMCArMSw1OCBAQAorRml4IHRoZSBtZW1vcnkgbGVhayBwcm9ibGVtIGZvciBtdXRleAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogWHVmZW5nIFpoYW5nIDx4dWZlbmcuemhhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIGxpYi9sb2dxdWV1ZS5jICAgICAgICAgICAgICAgfCAgICAxICsKKyBtb2R1bGVzL2FmZmlsZS9hZmZpbGUtZGVzdC5jIHwgICAgMiArKworIG1vZHVsZXMvZGJwYXJzZXIvZGJwYXJzZXIuYyAgfCAgICAxICsKKyAzIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYi9sb2dxdWV1ZS5jIGIvbGliL2xvZ3F1ZXVlLmMKK2luZGV4IDMzN2EzYzEuLjEwZWRjZjAgMTAwNjQ0CistLS0gYS9saWIvbG9ncXVldWUuYworKysrIGIvbGliL2xvZ3F1ZXVlLmMKK0BAIC0xODgsNiArMTg4LDcgQEAgbG9nX3F1ZXVlX2luaXRfaW5zdGFuY2UoTG9nUXVldWUgKnNlbGYsIGNvbnN0IGdjaGFyICpwZXJzaXN0X25hbWUpCisgdm9pZAorIGxvZ19xdWV1ZV9mcmVlX21ldGhvZChMb2dRdWV1ZSAqc2VsZikKKyB7CisrICBnX3N0YXRpY19tdXRleF9mcmVlKCZzZWxmLT5sb2NrKTsKKyAgIGdfZnJlZShzZWxmLT5wZXJzaXN0X25hbWUpOworICAgZ19mcmVlKHNlbGYpOworIH0KK2RpZmYgLS1naXQgYS9tb2R1bGVzL2FmZmlsZS9hZmZpbGUtZGVzdC5jIGIvbW9kdWxlcy9hZmZpbGUvYWZmaWxlLWRlc3QuYworaW5kZXggYTJiY2RhZC4uY2U3OWY2ZiAxMDA2NDQKKy0tLSBhL21vZHVsZXMvYWZmaWxlL2FmZmlsZS1kZXN0LmMKKysrKyBiL21vZHVsZXMvYWZmaWxlL2FmZmlsZS1kZXN0LmMKK0BAIC0zMDUsNiArMzA1LDcgQEAgYWZmaWxlX2R3X2ZyZWUoTG9nUGlwZSAqcykKKyB7CisgICBBRkZpbGVEZXN0V3JpdGVyICpzZWxmID0gKEFGRmlsZURlc3RXcml0ZXIgKikgczsKKyAgIAorKyAgZ19zdGF0aWNfbXV0ZXhfZnJlZSgmc2VsZi0+bG9jayk7CisgICBsb2dfcGlwZV91bnJlZigoTG9nUGlwZSAqKSBzZWxmLT53cml0ZXIpOworICAgc2VsZi0+d3JpdGVyID0gTlVMTDsKKyAgIGdfZnJlZShzZWxmLT5maWxlbmFtZSk7CitAQCAtNjg3LDYgKzY4OCw3IEBAIGFmZmlsZV9kZF9mcmVlKExvZ1BpcGUgKnMpCisgICAvKiBOT1RFOiB0aGlzIG11c3QgYmUgTlVMTCBhcyBkZWluaXQgaGFzIGZyZWVkIGl0LCBvdGhlcndpc2Ugd2UnZCBoYXZlIGNpcmN1bGFyIHJlZmVyZW5jZXMgKi8KKyAgIGdfYXNzZXJ0KHNlbGYtPnNpbmdsZV93cml0ZXIgPT0gTlVMTCAmJiBzZWxmLT53cml0ZXJfaGFzaCA9PSBOVUxMKTsKKyAKKysgIGdfc3RhdGljX211dGV4X2ZyZWUoJnNlbGYtPmxvY2spOworICAgbG9nX3RlbXBsYXRlX3VucmVmKHNlbGYtPmZpbGVuYW1lX3RlbXBsYXRlKTsKKyAgIGxvZ193cml0ZXJfb3B0aW9uc19kZXN0cm95KCZzZWxmLT53cml0ZXJfb3B0aW9ucyk7CisgICBsb2dfZGVzdF9kcml2ZXJfZnJlZShzKTsKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2RicGFyc2VyL2RicGFyc2VyLmMgYi9tb2R1bGVzL2RicGFyc2VyL2RicGFyc2VyLmMKK2luZGV4IGYxMjQ4YjUuLjk3NzU3MDEgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2RicGFyc2VyL2RicGFyc2VyLmMKKysrKyBiL21vZHVsZXMvZGJwYXJzZXIvZGJwYXJzZXIuYworQEAgLTI4NCw2ICsyODQsNyBAQCBsb2dfZGJfcGFyc2VyX2ZyZWUoTG9nUGlwZSAqcykKKyB7CisgICBMb2dEQlBhcnNlciAqc2VsZiA9IChMb2dEQlBhcnNlciAqKSBzOworIAorKyAgZ19zdGF0aWNfbXV0ZXhfZnJlZSgmc2VsZi0+bG9jayk7CisgICBpZiAoc2VsZi0+ZGIpCisgICAgIHBhdHRlcm5fZGJfZnJlZShzZWxmLT5kYik7CisgCistLSAKKzEuNy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL0ZpeC10aGUtbWVtb3J5LWxlYWstcHJvYmxlbS13aGVuLUhBVkVfRU5WSVJPTi1kZWZpbmVkLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvRml4LXRoZS1tZW1vcnktbGVhay1wcm9ibGVtLXdoZW4tSEFWRV9FTlZJUk9OLWRlZmluZWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmFjOWMwYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL0ZpeC10aGUtbWVtb3J5LWxlYWstcHJvYmxlbS13aGVuLUhBVkVfRU5WSVJPTi1kZWZpbmVkLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK0ZpeCB0aGUgbWVtb3J5IGxlYWsgcHJvYmxlbSB3aGVuIEhBVkVfRU5WSVJPTiBpcyBkZWZpbmVkCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBYdWZlbmcgWmhhbmcgPHh1ZmVuZy56aGFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCistLS0gYS9saWIvZ3Byb2Nlc3MuYworKysrIGIvbGliL2dwcm9jZXNzLmMKK0BAIC0xNDIxLDYgKzE0MjEsMTggQEAKKyB2b2lkCisgZ19wcm9jZXNzX2ZpbmlzaCh2b2lkKQorIHsKKysjaWZkZWYgSEFWRV9FTlZJUk9OCisrICBpbnQgaSA9IDA7CisrCisrICB3aGlsZSAoZW52aXJvbltpXSkgeworKyAgICBnX2ZyZWUoZW52aXJvbltpXSk7CisrICAgICsraTsKKysgIH0KKysgIGlmIChlbnZpcm9uKQorKyAgICBnX2ZyZWUoZW52aXJvbik7CisrICBpZiAocHJvY2Vzc19vcHRzLmFyZ3Zfb3JpZykKKysgICAgZnJlZShwcm9jZXNzX29wdHMuYXJndl9vcmlnKTsKKysjZW5kaWYKKyAgIGdfcHJvY2Vzc19yZW1vdmVfcGlkZmlsZSgpOworIH0KKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2Fmc3FsLWFmc3FsX2RkX2luc2VydF9kYi1yZWZhY3Rvci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2Fmc3FsLWFmc3FsX2RkX2luc2VydF9kYi1yZWZhY3Rvci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MmUxODFiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvYWZzcWwtYWZzcWxfZGRfaW5zZXJ0X2RiLXJlZmFjdG9yLnBhdGNoCkBAIC0wLDAgKzEsNDk0IEBACitGcm9tIDIzZTgwYjc1NTA4MTg3YmFhYTgyM2E2OGVhMDE5YjcyZTBiMjMwNWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBCdWRhaSBMYXN6bG8gPGxidWRhaUBiYWxhYml0Lmh1PgorRGF0ZTogVHVlLCAxMiBOb3YgMjAxMyAxMzoxOTowNCArMDEwMAorU3ViamVjdDogW1BBVENIXSBhZnNxbDogYWZzcWxfZGRfaW5zZXJ0X2RiKCkgcmVmYWN0b3IKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitBIGxvdCBvZiB0aGUgY29kZSB0aGF0IHdhcyBwcmV2aW91c2x5IGluIGFmc3FsX2RkX2luc2VydF9kYigpIGhhdmUgYmVlbgorZXh0cmFjdGVkIHRvIHNtYWxsZXIgZnVuY3Rpb25zLCBhbmQgYWZzcWxfZGRfaW5zZXJ0X2RiKCkgd2FzIHJlYnVpbHQgb24KK3RvcCBvZiB0aGVzZS4gQXQgdGhlIHNhbWUgdGltZSwgbWVtb3J5IGxlYWtzIHdlcmUgcGx1Z2dlZCwgYW5kIGluIGNhc2UKK29mIGEgdHJhbnNhY3Rpb24gZXJyb3IsIGJhY2tsb2cgcmV3aW5kaW5nIGhhcyBiZWVuIGZpeGVkIHRvbywgdG8gbm90Citsb29zZSBtZXNzYWdlcyBzaW5jZSB0aGUgbGFzdCBCRUdJTiBjb21tYW5kLgorCitTaWduZWQtb2ZmLWJ5OiBKdWhhc3ogVmlrdG9yIDxqdmlrdG9yQGJhbGFiaXQuaHU+CitTaWduZWQtb2ZmLWJ5OiBMYXN6bG8gQnVkYWkgPGxidWRhaUBiYWxhYml0Lmh1PgorLS0tCisgbW9kdWxlcy9hZnNxbC9hZnNxbC5jIHwgMzAxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDE5MiBpbnNlcnRpb25zKCspLCAxMDkgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2Fmc3FsL2Fmc3FsLmMgYi9tb2R1bGVzL2Fmc3FsL2Fmc3FsLmMKK2luZGV4IDEyZjZhYWIuLmE2YTgxOTAgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2Fmc3FsL2Fmc3FsLmMKKysrKyBiL21vZHVsZXMvYWZzcWwvYWZzcWwuYworQEAgLTQ1NiwyNCArNDU2LDIxIEBAIGFmc3FsX2RkX2NyZWF0ZV9pbmRleChBRlNxbERlc3REcml2ZXIgKnMKKyAgKgorICAqIE5PVEU6IFRoaXMgZnVuY3Rpb24gY2FuIG9ubHkgYmUgY2FsbGVkIGZyb20gdGhlIGRhdGFiYXNlIHRocmVhZC4KKyAgKiovCistc3RhdGljIEdTdHJpbmcgKgorLWFmc3FsX2RkX3ZhbGlkYXRlX3RhYmxlKEFGU3FsRGVzdERyaXZlciAqc2VsZiwgTG9nTWVzc2FnZSAqbXNnKQorK3N0YXRpYyBnYm9vbGVhbgorK2Fmc3FsX2RkX3ZhbGlkYXRlX3RhYmxlKEFGU3FsRGVzdERyaXZlciAqc2VsZiwgR1N0cmluZyAqdGFibGUpCisgeworLSAgR1N0cmluZyAqcXVlcnlfc3RyaW5nLCAqdGFibGU7CisrICBHU3RyaW5nICpxdWVyeV9zdHJpbmc7CisgICBkYmlfcmVzdWx0IGRiX3JlczsKKyAgIGdib29sZWFuIHN1Y2Nlc3MgPSBGQUxTRTsKKyAgIGdpbnQgaTsKKyAKKy0gIHRhYmxlID0gZ19zdHJpbmdfc2l6ZWRfbmV3KDMyKTsKKy0gIGxvZ190ZW1wbGF0ZV9mb3JtYXQoc2VsZi0+dGFibGUsIG1zZywgJnNlbGYtPnRlbXBsYXRlX29wdGlvbnMsIExUWl9MT0NBTCwgMCwgTlVMTCwgdGFibGUpOworLQorICAgaWYgKHNlbGYtPmZsYWdzICYgQUZTUUxfRERGX0RPTlRfQ1JFQVRFX1RBQkxFUykKKy0gICAgcmV0dXJuIHRhYmxlOworKyAgICByZXR1cm4gVFJVRTsKKyAKKyAgIGFmc3FsX2RkX2NoZWNrX3NxbF9pZGVudGlmaWVyKHRhYmxlLT5zdHIsIFRSVUUpOworIAorICAgaWYgKGdfaGFzaF90YWJsZV9sb29rdXAoc2VsZi0+dmFsaWRhdGVkX3RhYmxlcywgdGFibGUtPnN0cikpCistICAgIHJldHVybiB0YWJsZTsKKysgICAgcmV0dXJuIFRSVUU7CisgCisgICBxdWVyeV9zdHJpbmcgPSBnX3N0cmluZ19zaXplZF9uZXcoMzIpOworICAgZ19zdHJpbmdfcHJpbnRmKHF1ZXJ5X3N0cmluZywgIlNFTEVDVCAqIEZST00gJXMgV0hFUkUgMD0xIiwgdGFibGUtPnN0cik7CitAQCAtNTQ0LDE0ICs1NDEsOSBAQCBhZnNxbF9kZF92YWxpZGF0ZV90YWJsZShBRlNxbERlc3REcml2ZXIgCisgICAgICAgLyogd2UgaGF2ZSBzdWNjZXNzZnVsbHkgY3JlYXRlZC9hbHRlcmVkIHRoZSBkZXN0aW5hdGlvbiB0YWJsZSwgcmVjb3JkIHRoaXMgaW5mb3JtYXRpb24gKi8KKyAgICAgICBnX2hhc2hfdGFibGVfaW5zZXJ0KHNlbGYtPnZhbGlkYXRlZF90YWJsZXMsIGdfc3RyZHVwKHRhYmxlLT5zdHIpLCBHVUlOVF9UT19QT0lOVEVSKFRSVUUpKTsKKyAgICAgfQorLSAgZWxzZQorLSAgICB7CistICAgICAgZ19zdHJpbmdfZnJlZSh0YWJsZSwgVFJVRSk7CistICAgICAgdGFibGUgPSBOVUxMOworLSAgICB9CisgICBnX3N0cmluZ19mcmVlKHF1ZXJ5X3N0cmluZywgVFJVRSk7CisgCistICByZXR1cm4gdGFibGU7CisrICByZXR1cm4gc3VjY2VzczsKKyB9CisgCisgLyoqCitAQCAtNTgxLDYgKzU3MywyMCBAQCBhZnNxbF9kZF9iZWdpbl90eG4oQUZTcWxEZXN0RHJpdmVyICpzZWxmCisgfQorIAorIC8qKgorKyAqIGFmc3FsX2RkX2hhbmRsZV90cmFuc2FjdGlvbl9lcnJvcjoKKysgKgorKyAqIEhhbmRsZSBlcnJvcnMgaW5zaWRlIGR1cmluZyBhIFNRTCB0cmFuc2FjdGlvbiAoZS5nLiBJTlNFUlQgb3IgQ09NTUlUIGZhaWx1cmVzKS4KKysgKgorKyAqIE5PVEU6IFRoaXMgZnVuY3Rpb24gY2FuIG9ubHkgYmUgY2FsbGVkIGZyb20gdGhlIGRhdGFiYXNlIHRocmVhZC4KKysgKiovCisrc3RhdGljIHZvaWQKKythZnNxbF9kZF9oYW5kbGVfdHJhbnNhY3Rpb25fZXJyb3IoQUZTcWxEZXN0RHJpdmVyICpzZWxmKQorK3sKKysgIGxvZ19xdWV1ZV9yZXdpbmRfYmFja2xvZyhzZWxmLT5xdWV1ZSk7CisrICBzZWxmLT5mbHVzaF9saW5lc19xdWV1ZWQgPSAwOworK30KKysKKysvKioKKyAgKiBhZnNxbF9kZF9iZWdpbl90eG46CisgICoKKyAgKiBDb21taXQgU1FMIHRyYW5zYWN0aW9uLgorQEAgLTU5NiwxNCArNjAyLDE0IEBAIGFmc3FsX2RkX2NvbW1pdF90eG4oQUZTcWxEZXN0RHJpdmVyICpzZWwKKyAgIGlmIChzdWNjZXNzKQorICAgICB7CisgICAgICAgbG9nX3F1ZXVlX2Fja19iYWNrbG9nKHNlbGYtPnF1ZXVlLCBzZWxmLT5mbHVzaF9saW5lc19xdWV1ZWQpOworKyAgICAgIHNlbGYtPmZsdXNoX2xpbmVzX3F1ZXVlZCA9IDA7CisgICAgIH0KKyAgIGVsc2UKKyAgICAgeworLSAgICAgIG1zZ19ub3RpY2UoIlNRTCB0cmFuc2FjdGlvbiBjb21taXQgZmFpbGVkLCByZXdpbmRpbmcgYmFja2xvZyBhbmQgc3RhcnRpbmcgYWdhaW4iLAorLSAgICAgICAgICAgICAgICAgTlVMTCk7CistICAgICAgbG9nX3F1ZXVlX3Jld2luZF9iYWNrbG9nKHNlbGYtPnF1ZXVlKTsKKysgICAgICBtc2dfZXJyb3IoIlNRTCB0cmFuc2FjdGlvbiBjb21taXQgZmFpbGVkLCByZXdpbmRpbmcgYmFja2xvZyBhbmQgc3RhcnRpbmcgYWdhaW4iLAorKyAgICAgICAgICAgICAgICBOVUxMKTsKKysgICAgICBhZnNxbF9kZF9oYW5kbGVfdHJhbnNhY3Rpb25fZXJyb3Ioc2VsZik7CisgICAgIH0KKy0gIHNlbGYtPmZsdXNoX2xpbmVzX3F1ZXVlZCA9IDA7CisgICByZXR1cm4gc3VjY2VzczsKKyB9CisgCitAQCAtNjQ0LDEyICs2NTAsMTMgQEAgYWZzcWxfZGRfc2V0X2RiZF9vcHRfbnVtZXJpYyhncG9pbnRlciBrZQorIH0KKyAKKyBzdGF0aWMgZ2Jvb2xlYW4KKy1hZnNxbF9kZF9jb25uZWN0KEFGU3FsRGVzdERyaXZlciAqc2VsZikKKythZnNxbF9kZF9lbnN1cmVfaW5pdGlhbGl6ZWRfY29ubmVjdGlvbihBRlNxbERlc3REcml2ZXIgKnNlbGYpCisgeworICAgaWYgKHNlbGYtPmRiaV9jdHgpCisgICAgIHJldHVybiBUUlVFOworIAorICAgc2VsZi0+ZGJpX2N0eCA9IGRiaV9jb25uX25ldyhzZWxmLT50eXBlKTsKKysKKyAgIGlmICghc2VsZi0+ZGJpX2N0eCkKKyAgICAgeworICAgICAgIG1zZ19lcnJvcigiTm8gc3VjaCBEQkkgZHJpdmVyIiwKK0BAIC02NTksMTAgKzY2NiwxMiBAQCBhZnNxbF9kZF9jb25uZWN0KEFGU3FsRGVzdERyaXZlciAqc2VsZikKKyAgICAgfQorIAorICAgZGJpX2Nvbm5fc2V0X29wdGlvbihzZWxmLT5kYmlfY3R4LCAiaG9zdCIsIHNlbGYtPmhvc3QpOworKworICAgaWYgKHN0cmNtcChzZWxmLT50eXBlLCAibXlzcWwiKSkKKyAgICAgZGJpX2Nvbm5fc2V0X29wdGlvbihzZWxmLT5kYmlfY3R4LCAicG9ydCIsIHNlbGYtPnBvcnQpOworICAgZWxzZQorICAgICBkYmlfY29ubl9zZXRfb3B0aW9uX251bWVyaWMoc2VsZi0+ZGJpX2N0eCwgInBvcnQiLCBhdG9pKHNlbGYtPnBvcnQpKTsKKysKKyAgIGRiaV9jb25uX3NldF9vcHRpb24oc2VsZi0+ZGJpX2N0eCwgInVzZXJuYW1lIiwgc2VsZi0+dXNlcik7CisgICBkYmlfY29ubl9zZXRfb3B0aW9uKHNlbGYtPmRiaV9jdHgsICJwYXNzd29yZCIsIHNlbGYtPnBhc3N3b3JkKTsKKyAgIGRiaV9jb25uX3NldF9vcHRpb24oc2VsZi0+ZGJpX2N0eCwgImRibmFtZSIsIHNlbGYtPmRhdGFiYXNlKTsKK0BAIC02OTEsNiArNzAwLDcgQEAgYWZzcWxfZGRfY29ubmVjdChBRlNxbERlc3REcml2ZXIgKnNlbGYpCisgICAgICAgICAgICAgICAgIGV2dF90YWdfc3RyKCJkYXRhYmFzZSIsIHNlbGYtPmRhdGFiYXNlKSwKKyAgICAgICAgICAgICAgICAgZXZ0X3RhZ19zdHIoImVycm9yIiwgZGJpX2Vycm9yKSwKKyAgICAgICAgICAgICAgICAgTlVMTCk7CisrCisgICAgICAgcmV0dXJuIEZBTFNFOworICAgICB9CisgCitAQCAtNzEzLDEwNCArNzIzLDE0NSBAQCBhZnNxbF9kZF9jb25uZWN0KEFGU3FsRGVzdERyaXZlciAqc2VsZikKKyAgIHJldHVybiBUUlVFOworIH0KKyAKKy1zdGF0aWMgZ2Jvb2xlYW4KKy1hZnNxbF9kZF9pbnNlcnRfZmFpbF9oYW5kbGVyKEFGU3FsRGVzdERyaXZlciAqc2VsZiwgTG9nTWVzc2FnZSAqbXNnLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9nUGF0aE9wdGlvbnMgKnBhdGhfb3B0aW9ucykKKytzdGF0aWMgR1N0cmluZyAqCisrYWZzcWxfZGRfZW5zdXJlX2FjY2Vzc2libGVfZGF0YWJhc2VfdGFibGUoQUZTcWxEZXN0RHJpdmVyICpzZWxmLCBMb2dNZXNzYWdlICptc2cpCisgeworLSAgaWYgKHNlbGYtPmZhaWxlZF9tZXNzYWdlX2NvdW50ZXIgPCBzZWxmLT5udW1fcmV0cmllcyAtIDEpCistICAgIHsKKy0gICAgICBsb2dfcXVldWVfcHVzaF9oZWFkKHNlbGYtPnF1ZXVlLCBtc2csIHBhdGhfb3B0aW9ucyk7CistCistICAgICAgLyogZGF0YWJhc2UgY29ubmVjdGlvbiBzdGF0dXMgc2FuaXR5IGNoZWNrIGFmdGVyIGZhaWxlZCBxdWVyeSAqLworLSAgICAgIGlmIChkYmlfY29ubl9waW5nKHNlbGYtPmRiaV9jdHgpICE9IDEpCistICAgICAgICB7CistICAgICAgICAgIGNvbnN0IGdjaGFyICpkYmlfZXJyb3I7CistCistICAgICAgICAgIGRiaV9jb25uX2Vycm9yKHNlbGYtPmRiaV9jdHgsICZkYmlfZXJyb3IpOworLSAgICAgICAgICBtc2dfZXJyb3IoIkVycm9yLCBubyBTUUwgY29ubmVjdGlvbiBhZnRlciBmYWlsZWQgcXVlcnkgYXR0ZW1wdCIsCistICAgICAgICAgICAgICAgICAgICBldnRfdGFnX3N0cigidHlwZSIsIHNlbGYtPnR5cGUpLAorLSAgICAgICAgICAgICAgICAgICAgZXZ0X3RhZ19zdHIoImhvc3QiLCBzZWxmLT5ob3N0KSwKKy0gICAgICAgICAgICAgICAgICAgIGV2dF90YWdfc3RyKCJwb3J0Iiwgc2VsZi0+cG9ydCksCistICAgICAgICAgICAgICAgICAgICBldnRfdGFnX3N0cigidXNlcm5hbWUiLCBzZWxmLT51c2VyKSwKKy0gICAgICAgICAgICAgICAgICAgIGV2dF90YWdfc3RyKCJkYXRhYmFzZSIsIHNlbGYtPmRhdGFiYXNlKSwKKy0gICAgICAgICAgICAgICAgICAgIGV2dF90YWdfc3RyKCJlcnJvciIsIGRiaV9lcnJvciksCistICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKy0gICAgICAgICAgcmV0dXJuIEZBTFNFOworLSAgICAgICAgfQorKyAgR1N0cmluZyAqdGFibGUgPSBnX3N0cmluZ19zaXplZF9uZXcoMzIpOworKyAgbG9nX3RlbXBsYXRlX2Zvcm1hdChzZWxmLT50YWJsZSwgbXNnLCAmc2VsZi0+dGVtcGxhdGVfb3B0aW9ucywgTFRaX0xPQ0FMLCAwLCBOVUxMLCB0YWJsZSk7CisgCistICAgICAgc2VsZi0+ZmFpbGVkX21lc3NhZ2VfY291bnRlcisrOworLSAgICAgIHJldHVybiBGQUxTRTsKKysgIGlmICghYWZzcWxfZGRfdmFsaWRhdGVfdGFibGUoc2VsZiwgdGFibGUpKQorKyAgICB7CisrICAgICAgLyogSWYgdmFsaWRhdGUgdGFibGUgaXMgRkFMU0UgdGhlbiBjbG9zZSB0aGUgY29ubmVjdGlvbiBhbmQgd2FpdCB0aW1lX3Jlb3BlbiB0aW1lIChuZXh0IGNhbGwpICovCisrICAgICAgbXNnX2Vycm9yKCJFcnJvciBjaGVja2luZyB0YWJsZSwgZGlzY29ubmVjdGluZyBmcm9tIGRhdGFiYXNlLCB0cnlpbmcgYWdhaW4gc2hvcnRseSIsCisrICAgICAgICAgICAgICAgIGV2dF90YWdfaW50KCJ0aW1lX3Jlb3BlbiIsIHNlbGYtPnRpbWVfcmVvcGVuKSwKKysgICAgICAgICAgICAgICAgTlVMTCk7CisrICAgICAgZ19zdHJpbmdfZnJlZSh0YWJsZSwgVFJVRSk7CisrICAgICAgcmV0dXJuIE5VTEw7CisgICAgIH0KKyAKKy0gIG1zZ19lcnJvcigiTXVsdGlwbGUgZmFpbHVyZXMgd2hpbGUgaW5zZXJ0aW5nIHRoaXMgcmVjb3JkIGludG8gdGhlIGRhdGFiYXNlLCBtZXNzYWdlIGRyb3BwZWQiLAorLSAgICAgICAgICAgIGV2dF90YWdfaW50KCJhdHRlbXB0cyIsIHNlbGYtPm51bV9yZXRyaWVzKSwKKy0gICAgICAgICAgICBOVUxMKTsKKy0gIHN0YXRzX2NvdW50ZXJfaW5jKHNlbGYtPmRyb3BwZWRfbWVzc2FnZXMpOworLSAgbG9nX21zZ19kcm9wKG1zZywgcGF0aF9vcHRpb25zKTsKKy0gIHNlbGYtPmZhaWxlZF9tZXNzYWdlX2NvdW50ZXIgPSAwOworLSAgcmV0dXJuIFRSVUU7CisrICByZXR1cm4gdGFibGU7CisgfQorIAorIHN0YXRpYyBHU3RyaW5nICoKKy1hZnNxbF9kZF9jb25zdHJ1Y3RfcXVlcnkoQUZTcWxEZXN0RHJpdmVyICpzZWxmLCBHU3RyaW5nICp0YWJsZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgTG9nTWVzc2FnZSAqbXNnKQorK2Fmc3FsX2RkX2J1aWxkX2luc2VydF9jb21tYW5kKEFGU3FsRGVzdERyaXZlciAqc2VsZiwgTG9nTWVzc2FnZSAqbXNnLCBHU3RyaW5nICp0YWJsZSkKKyB7CistICBHU3RyaW5nICp2YWx1ZTsKKy0gIEdTdHJpbmcgKnF1ZXJ5X3N0cmluZzsKKy0gIGdpbnQgaTsKKysgIEdTdHJpbmcgKmluc2VydF9jb21tYW5kID0gZ19zdHJpbmdfc2l6ZWRfbmV3KDI1Nik7CisrICBHU3RyaW5nICp2YWx1ZSA9IGdfc3RyaW5nX3NpemVkX25ldyg1MTIpOworKyAgZ2ludCBpLCBqOworIAorLSAgdmFsdWUgPSBnX3N0cmluZ19zaXplZF9uZXcoMjU2KTsKKy0gIHF1ZXJ5X3N0cmluZyA9IGdfc3RyaW5nX3NpemVkX25ldyg1MTIpOworKyAgZ19zdHJpbmdfcHJpbnRmKGluc2VydF9jb21tYW5kLCAiSU5TRVJUIElOVE8gJXMgKCIsIHRhYmxlLT5zdHIpOworIAorLSAgZ19zdHJpbmdfcHJpbnRmKHF1ZXJ5X3N0cmluZywgIklOU0VSVCBJTlRPICVzICgiLCB0YWJsZS0+c3RyKTsKKyAgIGZvciAoaSA9IDA7IGkgPCBzZWxmLT5maWVsZHNfbGVuOyBpKyspCisgICAgIHsKKy0gICAgICBnX3N0cmluZ19hcHBlbmQocXVlcnlfc3RyaW5nLCBzZWxmLT5maWVsZHNbaV0ubmFtZSk7CistICAgICAgaWYgKGkgIT0gc2VsZi0+ZmllbGRzX2xlbiAtIDEpCistICAgICAgICBnX3N0cmluZ19hcHBlbmQocXVlcnlfc3RyaW5nLCAiLCAiKTsKKysgICAgICBpZiAoKHNlbGYtPmZpZWxkc1tpXS5mbGFncyAmIEFGU1FMX0ZGX0RFRkFVTFQpID09IDAgJiYgc2VsZi0+ZmllbGRzW2ldLnZhbHVlICE9IE5VTEwpCisrICAgICAgICB7CisrICAgICAgICAgICBnX3N0cmluZ19hcHBlbmQoaW5zZXJ0X2NvbW1hbmQsIHNlbGYtPmZpZWxkc1tpXS5uYW1lKTsKKysKKysgICAgICAgICAgIGogPSBpICsgMTsKKysgICAgICAgICAgIHdoaWxlIChqIDwgc2VsZi0+ZmllbGRzX2xlbiAmJiAoc2VsZi0+ZmllbGRzW2pdLmZsYWdzICYgQUZTUUxfRkZfREVGQVVMVCkgPT0gQUZTUUxfRkZfREVGQVVMVCkKKysgICAgICAgICAgICAgaisrOworKworKyAgICAgICAgICAgaWYgKGogPCBzZWxmLT5maWVsZHNfbGVuKQorKyAgICAgICAgICAgICBnX3N0cmluZ19hcHBlbmQoaW5zZXJ0X2NvbW1hbmQsICIsICIpOworKyAgICAgICAgfQorICAgICB9CistICBnX3N0cmluZ19hcHBlbmQocXVlcnlfc3RyaW5nLCAiKSBWQUxVRVMgKCIpOworKworKyAgZ19zdHJpbmdfYXBwZW5kKGluc2VydF9jb21tYW5kLCAiKSBWQUxVRVMgKCIpOworIAorICAgZm9yIChpID0gMDsgaSA8IHNlbGYtPmZpZWxkc19sZW47IGkrKykKKyAgICAgeworICAgICAgIGdjaGFyICpxdW90ZWQ7CisgCistICAgICAgaWYgKHNlbGYtPmZpZWxkc1tpXS52YWx1ZSA9PSBOVUxMKQorLSAgICAgICAgeworLSAgICAgICAgICAvKiB0aGUgY29uZmlnIHVzZWQgdGhlICdkZWZhdWx0JyB2YWx1ZSBmb3IgdGhpcyBjb2x1bW4gLT4gdGhlIGZpZWxkc1tpXS52YWx1ZSBpcyBOVUxMLCB1c2UgU1FMIGRlZmF1bHQgKi8KKy0gICAgICAgICAgZ19zdHJpbmdfYXBwZW5kKHF1ZXJ5X3N0cmluZywgIkRFRkFVTFQiKTsKKy0gICAgICAgIH0KKy0gICAgICBlbHNlCisrICAgICAgaWYgKChzZWxmLT5maWVsZHNbaV0uZmxhZ3MgJiBBRlNRTF9GRl9ERUZBVUxUKSA9PSAwICYmIHNlbGYtPmZpZWxkc1tpXS52YWx1ZSAhPSBOVUxMKQorICAgICAgICAgeworICAgICAgICAgICBsb2dfdGVtcGxhdGVfZm9ybWF0KHNlbGYtPmZpZWxkc1tpXS52YWx1ZSwgbXNnLCAmc2VsZi0+dGVtcGxhdGVfb3B0aW9ucywgTFRaX1NFTkQsIHNlbGYtPnNlcV9udW0sIE5VTEwsIHZhbHVlKTsKKy0KKyAgICAgICAgICAgaWYgKHNlbGYtPm51bGxfdmFsdWUgJiYgc3RyY21wKHNlbGYtPm51bGxfdmFsdWUsIHZhbHVlLT5zdHIpID09IDApCisgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgZ19zdHJpbmdfYXBwZW5kKHF1ZXJ5X3N0cmluZywgIk5VTEwiKTsKKysgICAgICAgICAgICAgIGdfc3RyaW5nX2FwcGVuZChpbnNlcnRfY29tbWFuZCwgIk5VTEwiKTsKKyAgICAgICAgICAgICB9CisgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICBkYmlfY29ubl9xdW90ZV9zdHJpbmdfY29weShzZWxmLT5kYmlfY3R4LCB2YWx1ZS0+c3RyLCAmcXVvdGVkKTsKKyAgICAgICAgICAgICAgIGlmIChxdW90ZWQpCisgICAgICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgICBnX3N0cmluZ19hcHBlbmQocXVlcnlfc3RyaW5nLCBxdW90ZWQpOworKyAgICAgICAgICAgICAgICAgIGdfc3RyaW5nX2FwcGVuZChpbnNlcnRfY29tbWFuZCwgcXVvdGVkKTsKKyAgICAgICAgICAgICAgICAgICBmcmVlKHF1b3RlZCk7CisgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICAgIGdfc3RyaW5nX2FwcGVuZChxdWVyeV9zdHJpbmcsICInJyIpOworKyAgICAgICAgICAgICAgICAgZ19zdHJpbmdfYXBwZW5kKGluc2VydF9jb21tYW5kLCAiJyciKTsKKyAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgIH0KKy0gICAgICAgIH0KKyAKKy0gICAgICBpZiAoaSAhPSBzZWxmLT5maWVsZHNfbGVuIC0gMSkKKy0gICAgICAgIGdfc3RyaW5nX2FwcGVuZChxdWVyeV9zdHJpbmcsICIsICIpOworKyAgICAgICAgICBqID0gaSArIDE7CisrICAgICAgICAgIHdoaWxlIChqIDwgc2VsZi0+ZmllbGRzX2xlbiAmJiAoc2VsZi0+ZmllbGRzW2pdLmZsYWdzICYgQUZTUUxfRkZfREVGQVVMVCkgPT0gQUZTUUxfRkZfREVGQVVMVCkKKysgICAgICAgICAgICBqKys7CisrICAgICAgICAgIGlmIChqIDwgc2VsZi0+ZmllbGRzX2xlbikKKysgICAgICAgICAgICBnX3N0cmluZ19hcHBlbmQoaW5zZXJ0X2NvbW1hbmQsICIsICIpOworKyAgICAgICAgfQorICAgICB9CistICBnX3N0cmluZ19hcHBlbmQocXVlcnlfc3RyaW5nLCAiKSIpOworKworKyAgZ19zdHJpbmdfYXBwZW5kKGluc2VydF9jb21tYW5kLCAiKSIpOworIAorICAgZ19zdHJpbmdfZnJlZSh2YWx1ZSwgVFJVRSk7CisgCistICByZXR1cm4gcXVlcnlfc3RyaW5nOworKyAgcmV0dXJuIGluc2VydF9jb21tYW5kOworK30KKysKKytzdGF0aWMgaW5saW5lIGdib29sZWFuCisrYWZzcWxfZGRfaXNfdHJhbnNhY3Rpb25faGFuZGxpbmdfZW5hYmxlZChjb25zdCBBRlNxbERlc3REcml2ZXIgKnNlbGYpCisreworKyAgcmV0dXJuIHNlbGYtPmZsdXNoX2xpbmVzX3F1ZXVlZCAhPSAtMTsKKyt9CisrCisrc3RhdGljIGlubGluZSBnYm9vbGVhbgorK2Fmc3FsX2RkX3Nob3VsZF9zdGFydF9uZXdfdHJhbnNhY3Rpb24oY29uc3QgQUZTcWxEZXN0RHJpdmVyICpzZWxmKQorK3sKKysgIHJldHVybiBzZWxmLT5mbHVzaF9saW5lc19xdWV1ZWQgPT0gMDsKKyt9CisrCisrc3RhdGljIGlubGluZSBnYm9vbGVhbgorK2Fmc3FsX2RkX3Nob3VsZF9jb21taXRfdHJhbnNhY3Rpb24oY29uc3QgQUZTcWxEZXN0RHJpdmVyICpzZWxmKQorK3sKKysgIHJldHVybiBhZnNxbF9kZF9pc190cmFuc2FjdGlvbl9oYW5kbGluZ19lbmFibGVkKHNlbGYpICYmIHNlbGYtPmZsdXNoX2xpbmVzX3F1ZXVlZCA9PSBzZWxmLT5mbHVzaF9saW5lczsKKyt9CisrCisrc3RhdGljIGlubGluZSBnYm9vbGVhbgorK2Fmc3FsX2RkX2hhbmRsZV9pbnNlcnRfcm93X2Vycm9yX2RlcGVuZGluZ19vbl9jb25uZWN0aW9uX2F2YWlsYWJpbGl0eShBRlNxbERlc3REcml2ZXIgKnNlbGYsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvZ01lc3NhZ2UgKm1zZywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9nUGF0aE9wdGlvbnMgKnBhdGhfb3B0aW9ucykKKyt7CisrICBjb25zdCBnY2hhciAqZGJpX2Vycm9yLCAqZXJyb3JfbWVzc2FnZTsKKysKKysgIGlmIChkYmlfY29ubl9waW5nKHNlbGYtPmRiaV9jdHgpID09IDEpCisrICAgIHsKKysgICAgICBsb2dfcXVldWVfcHVzaF9oZWFkKHNlbGYtPnF1ZXVlLCBtc2csIHBhdGhfb3B0aW9ucyk7CisrICAgICAgcmV0dXJuIFRSVUU7CisrICAgIH0KKysKKysgIGlmIChhZnNxbF9kZF9pc190cmFuc2FjdGlvbl9oYW5kbGluZ19lbmFibGVkKHNlbGYpKQorKyAgICB7CisrICAgICAgZXJyb3JfbWVzc2FnZSA9ICJTUUwgY29ubmVjdGlvbiBsb3N0IGluIHRoZSBtaWRkbGUgb2YgYSB0cmFuc2FjdGlvbiwiCisrICAgICAgICAgICAgICAgICAgICAgICIgcmV3aW5kaW5nIGJhY2tsb2cgYW5kIHN0YXJ0aW5nIGFnYWluIjsKKysgICAgICBhZnNxbF9kZF9oYW5kbGVfdHJhbnNhY3Rpb25fZXJyb3Ioc2VsZik7CisrICAgIH0KKysgIGVsc2UKKysgICAgeworKyAgICAgIGVycm9yX21lc3NhZ2UgPSAiRXJyb3IsIG5vIFNRTCBjb25uZWN0aW9uIGFmdGVyIGZhaWxlZCBxdWVyeSBhdHRlbXB0IjsKKysgICAgICBsb2dfcXVldWVfcHVzaF9oZWFkKHNlbGYtPnF1ZXVlLCBtc2csIHBhdGhfb3B0aW9ucyk7CisrICAgIH0KKysKKysgIGRiaV9jb25uX2Vycm9yKHNlbGYtPmRiaV9jdHgsICZkYmlfZXJyb3IpOworKyAgbXNnX2Vycm9yKGVycm9yX21lc3NhZ2UsCisrICAgICAgICAgICAgZXZ0X3RhZ19zdHIoInR5cGUiLCBzZWxmLT50eXBlKSwKKysgICAgICAgICAgICBldnRfdGFnX3N0cigiaG9zdCIsIHNlbGYtPmhvc3QpLAorKyAgICAgICAgICAgIGV2dF90YWdfc3RyKCJwb3J0Iiwgc2VsZi0+cG9ydCksCisrICAgICAgICAgICAgZXZ0X3RhZ19zdHIoInVzZXJuYW1lIiwgc2VsZi0+dXNlciksCisrICAgICAgICAgICAgZXZ0X3RhZ19zdHIoImRhdGFiYXNlIiwgc2VsZi0+ZGF0YWJhc2UpLAorKyAgICAgICAgICAgIGV2dF90YWdfc3RyKCJlcnJvciIsIGRiaV9lcnJvciksCisrICAgICAgICAgICAgTlVMTCk7CisrCisrICByZXR1cm4gRkFMU0U7CisgfQorIAorIC8qKgorQEAgLTgyNCw2MSArODc1LDkzIEBAIGFmc3FsX2RkX2NvbnN0cnVjdF9xdWVyeShBRlNxbERlc3REcml2ZXIKKyBzdGF0aWMgZ2Jvb2xlYW4KKyBhZnNxbF9kZF9pbnNlcnRfZGIoQUZTcWxEZXN0RHJpdmVyICpzZWxmKQorIHsKKy0gIEdTdHJpbmcgKnRhYmxlLCAqcXVlcnlfc3RyaW5nOworKyAgR1N0cmluZyAqdGFibGUgPSBOVUxMOworKyAgR1N0cmluZyAqaW5zZXJ0X2NvbW1hbmQgPSBOVUxMOworICAgTG9nTWVzc2FnZSAqbXNnOworICAgZ2Jvb2xlYW4gc3VjY2VzczsKKyAgIExvZ1BhdGhPcHRpb25zIHBhdGhfb3B0aW9ucyA9IExPR19QQVRIX09QVElPTlNfSU5JVDsKKyAKKy0gIGFmc3FsX2RkX2Nvbm5lY3Qoc2VsZik7CisrICBpZiAoIWFmc3FsX2RkX2Vuc3VyZV9pbml0aWFsaXplZF9jb25uZWN0aW9uKHNlbGYpKQorKyAgICByZXR1cm4gRkFMU0U7CisgCistICBzdWNjZXNzID0gbG9nX3F1ZXVlX3BvcF9oZWFkKHNlbGYtPnF1ZXVlLCAmbXNnLCAmcGF0aF9vcHRpb25zLCAoc2VsZi0+ZmxhZ3MgJiBBRlNRTF9EREZfRVhQTElDSVRfQ09NTUlUUyksIEZBTFNFKTsKKysgIC8qIGNvbm5lY3Rpb24gZXN0YWJsaXNoZWQsIHRyeSB0byBpbnNlcnQgYSBtZXNzYWdlICovCisrICBzdWNjZXNzID0gbG9nX3F1ZXVlX3BvcF9oZWFkKHNlbGYtPnF1ZXVlLCAmbXNnLCAmcGF0aF9vcHRpb25zLCBGQUxTRSwgc2VsZi0+ZmxhZ3MgJiBBRlNRTF9EREZfRVhQTElDSVRfQ09NTUlUUyk7CisgICBpZiAoIXN1Y2Nlc3MpCisgICAgIHJldHVybiBUUlVFOworIAorICAgbXNnX3NldF9jb250ZXh0KG1zZyk7CisgCistICB0YWJsZSA9IGFmc3FsX2RkX3ZhbGlkYXRlX3RhYmxlKHNlbGYsIG1zZyk7CisrICB0YWJsZSA9IGFmc3FsX2RkX2Vuc3VyZV9hY2Nlc3NpYmxlX2RhdGFiYXNlX3RhYmxlKHNlbGYsIG1zZyk7CisrCisgICBpZiAoIXRhYmxlKQorICAgICB7CistICAgICAgLyogSWYgdmFsaWRhdGUgdGFibGUgaXMgRkFMU0UgdGhlbiBjbG9zZSB0aGUgY29ubmVjdGlvbiBhbmQgd2FpdCB0aW1lX3Jlb3BlbiB0aW1lIChuZXh0IGNhbGwpICovCistICAgICAgbXNnX2Vycm9yKCJFcnJvciBjaGVja2luZyB0YWJsZSwgZGlzY29ubmVjdGluZyBmcm9tIGRhdGFiYXNlLCB0cnlpbmcgYWdhaW4gc2hvcnRseSIsCistICAgICAgICAgICAgICAgIGV2dF90YWdfaW50KCJ0aW1lX3Jlb3BlbiIsIHNlbGYtPnRpbWVfcmVvcGVuKSwKKy0gICAgICAgICAgICAgICAgTlVMTCk7CistICAgICAgbXNnX3NldF9jb250ZXh0KE5VTEwpOworLSAgICAgIGdfc3RyaW5nX2ZyZWUodGFibGUsIFRSVUUpOworLSAgICAgIHJldHVybiBhZnNxbF9kZF9pbnNlcnRfZmFpbF9oYW5kbGVyKHNlbGYsIG1zZywgJnBhdGhfb3B0aW9ucyk7CisrICAgICAgc3VjY2VzcyA9IEZBTFNFOworKyAgICAgIGdvdG8gb3V0OworICAgICB9CisgCistICBxdWVyeV9zdHJpbmcgPSBhZnNxbF9kZF9jb25zdHJ1Y3RfcXVlcnkoc2VsZiwgdGFibGUsIG1zZyk7CisrICBpZiAoYWZzcWxfZGRfc2hvdWxkX3N0YXJ0X25ld190cmFuc2FjdGlvbihzZWxmKSAmJiAhYWZzcWxfZGRfYmVnaW5fdHhuKHNlbGYpKQorKyAgICB7CisrICAgICAgc3VjY2VzcyA9IEZBTFNFOworKyAgICAgIGdvdG8gb3V0OworKyAgICB9CisgCistICBpZiAoc2VsZi0+Zmx1c2hfbGluZXNfcXVldWVkID09IDAgJiYgIWFmc3FsX2RkX2JlZ2luX3R4bihzZWxmKSkKKy0gICAgcmV0dXJuIEZBTFNFOworKyAgaW5zZXJ0X2NvbW1hbmQgPSBhZnNxbF9kZF9idWlsZF9pbnNlcnRfY29tbWFuZChzZWxmLCBtc2csIHRhYmxlKTsKKysgIHN1Y2Nlc3MgPSBhZnNxbF9kZF9ydW5fcXVlcnkoc2VsZiwgaW5zZXJ0X2NvbW1hbmQtPnN0ciwgRkFMU0UsIE5VTEwpOworIAorLSAgc3VjY2VzcyA9IGFmc3FsX2RkX3J1bl9xdWVyeShzZWxmLCBxdWVyeV9zdHJpbmctPnN0ciwgRkFMU0UsIE5VTEwpOworICAgaWYgKHN1Y2Nlc3MgJiYgc2VsZi0+Zmx1c2hfbGluZXNfcXVldWVkICE9IC0xKQorICAgICB7CisgICAgICAgc2VsZi0+Zmx1c2hfbGluZXNfcXVldWVkKys7CisgCistICAgICAgaWYgKHNlbGYtPmZsdXNoX2xpbmVzICYmIHNlbGYtPmZsdXNoX2xpbmVzX3F1ZXVlZCA9PSBzZWxmLT5mbHVzaF9saW5lcyAmJiAhYWZzcWxfZGRfY29tbWl0X3R4bihzZWxmKSkKKy0gICAgICAgIHJldHVybiBGQUxTRTsKKysgICAgICBpZiAoYWZzcWxfZGRfc2hvdWxkX2NvbW1pdF90cmFuc2FjdGlvbihzZWxmKSAmJiAhYWZzcWxfZGRfY29tbWl0X3R4bihzZWxmKSkKKysgICAgICAgIHsKKysgICAgICAgICAgLyogQXNzdW1pbmcgdGhhdCBpbiBjYXNlIG9mIGVycm9yLCB0aGUgcXVldWUgaXMgcmV3b3VuZCBieSBhZnNxbF9kZF9jb21taXRfdHhuKCkgKi8KKysKKysgICAgICAgICAgZ19zdHJpbmdfZnJlZShpbnNlcnRfY29tbWFuZCwgVFJVRSk7CisrICAgICAgICAgIG1zZ19zZXRfY29udGV4dChOVUxMKTsKKysKKysgICAgICAgICAgcmV0dXJuIEZBTFNFOworKyAgICAgICAgfQorICAgICB9CisgCistICBnX3N0cmluZ19mcmVlKHRhYmxlLCBUUlVFKTsKKy0gIGdfc3RyaW5nX2ZyZWUocXVlcnlfc3RyaW5nLCBUUlVFKTsKKysgb3V0OgorKworKyAgaWYgKHRhYmxlICE9IE5VTEwpCisrICAgIGdfc3RyaW5nX2ZyZWUodGFibGUsIFRSVUUpOworKworKyAgaWYgKGluc2VydF9jb21tYW5kICE9IE5VTEwpCisrICAgIGdfc3RyaW5nX2ZyZWUoaW5zZXJ0X2NvbW1hbmQsIFRSVUUpOworIAorICAgbXNnX3NldF9jb250ZXh0KE5VTEwpOworIAorLSAgaWYgKCFzdWNjZXNzKQorLSAgICByZXR1cm4gYWZzcWxfZGRfaW5zZXJ0X2ZhaWxfaGFuZGxlcihzZWxmLCBtc2csICZwYXRoX29wdGlvbnMpOworKyAgaWYgKHN1Y2Nlc3MpCisrICAgIHsKKysgICAgICBsb2dfbXNnX2Fjayhtc2csICZwYXRoX29wdGlvbnMpOworKyAgICAgIGxvZ19tc2dfdW5yZWYobXNnKTsKKysgICAgICBzdGVwX3NlcXVlbmNlX251bWJlcigmc2VsZi0+c2VxX251bSk7CisrICAgICAgc2VsZi0+ZmFpbGVkX21lc3NhZ2VfY291bnRlciA9IDA7CisrICAgIH0KKysgIGVsc2UKKysgICAgeworKyAgICAgIGlmIChzZWxmLT5mYWlsZWRfbWVzc2FnZV9jb3VudGVyIDwgc2VsZi0+bnVtX3JldHJpZXMgLSAxKQorKyAgICAgICAgeworKyAgICAgICAgICBpZiAoIWFmc3FsX2RkX2hhbmRsZV9pbnNlcnRfcm93X2Vycm9yX2RlcGVuZGluZ19vbl9jb25uZWN0aW9uX2F2YWlsYWJpbGl0eShzZWxmLCBtc2csICZwYXRoX29wdGlvbnMpKQorKyAgICAgICAgICAgIHJldHVybiBGQUxTRTsKKyAKKy0gIC8qIHdlIG9ubHkgQUNLIGlmIGVhY2ggSU5TRVJUIGlzIGEgc2VwYXJhdGUgdHJhbnNhY3Rpb24gKi8KKy0gIGlmICgoc2VsZi0+ZmxhZ3MgJiBBRlNRTF9EREZfRVhQTElDSVRfQ09NTUlUUykgPT0gMCkKKy0gICAgbG9nX21zZ19hY2sobXNnLCAmcGF0aF9vcHRpb25zKTsKKy0gIGxvZ19tc2dfdW5yZWYobXNnKTsKKy0gIHN0ZXBfc2VxdWVuY2VfbnVtYmVyKCZzZWxmLT5zZXFfbnVtKTsKKy0gIHNlbGYtPmZhaWxlZF9tZXNzYWdlX2NvdW50ZXIgPSAwOworKyAgICAgICAgICBzZWxmLT5mYWlsZWRfbWVzc2FnZV9jb3VudGVyKys7CisrICAgICAgICB9CisrICAgICAgZWxzZQorKyAgICAgICAgeworKyAgICAgICAgICBtc2dfZXJyb3IoIk11bHRpcGxlIGZhaWx1cmVzIHdoaWxlIGluc2VydGluZyB0aGlzIHJlY29yZCBpbnRvIHRoZSBkYXRhYmFzZSwgbWVzc2FnZSBkcm9wcGVkIiwKKysgICAgICAgICAgICAgICAgICAgIGV2dF90YWdfaW50KCJhdHRlbXB0cyIsIHNlbGYtPm51bV9yZXRyaWVzKSwKKysgICAgICAgICAgICAgICAgICAgIE5VTEwpOworKyAgICAgICAgICBzdGF0c19jb3VudGVyX2luYyhzZWxmLT5kcm9wcGVkX21lc3NhZ2VzKTsKKysgICAgICAgICAgbG9nX21zZ19kcm9wKG1zZywgJnBhdGhfb3B0aW9ucyk7CisrICAgICAgICAgIHNlbGYtPmZhaWxlZF9tZXNzYWdlX2NvdW50ZXIgPSAwOworKyAgICAgICAgICBzdWNjZXNzID0gVFJVRTsKKysgICAgICAgIH0KKysgICAgfQorIAorLSAgcmV0dXJuIFRSVUU7CisrICByZXR1cm4gc3VjY2VzczsKKyB9CisgCisgc3RhdGljIHZvaWQKK0BAIC04OTUsNyArOTc4LDcgQEAgYWZzcWxfZGRfbWVzc2FnZV9iZWNhbWVfYXZhaWxhYmxlX2luX3RoZQorIHN0YXRpYyB2b2lkCisgYWZzcWxfZGRfd2FpdF9mb3Jfc3VzcGVuc2lvbl93YWtldXAoQUZTcWxEZXN0RHJpdmVyICpzZWxmKQorIHsKKy0gIC8qIHdlIGdvdCBzdXNwZW5kZWQsIHByb2JhYmx5IGJlY2F1c2Ugb2YgYSBjb25uZWN0aW9uIGVycm9yLCAgCisrICAvKiB3ZSBnb3Qgc3VzcGVuZGVkLCBwcm9iYWJseSBiZWNhdXNlIG9mIGEgY29ubmVjdGlvbiBlcnJvciwKKyAgICAqIGR1cmluZyB0aGlzIHRpbWUgd2Ugb25seSBnZXQgd2FrZXVwcyBpZiB3ZSBuZWVkIHRvIGJlCisgICAgKiB0ZXJtaW5hdGVkLiAqLworICAgaWYgKCFzZWxmLT5kYl90aHJlYWRfdGVybWluYXRlKQorQEAgLTk3NCw4ICsxMDU3LDcgQEAgYWZzcWxfZGRfZGF0YWJhc2VfdGhyZWFkKGdwb2ludGVyIGFyZykKKyAKKyAgICAgICBhZnNxbF9kZF9jb21taXRfdHhuKHNlbGYpOworICAgICB9CistCistIGV4aXQ6CisrZXhpdDoKKyAgIGFmc3FsX2RkX2Rpc2Nvbm5lY3Qoc2VsZik7CisgCisgICBtc2dfdmVyYm9zZSgiRGF0YWJhc2UgdGhyZWFkIGZpbmlzaGVkIiwKKy0tIAorMS44LjQuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9jb25maWd1cmUuYWMtYWRkLW9wdGlvbi1lbmFibGUtdGhyZWFkLXRscy10by1tYW5hZ2UtLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvY29uZmlndXJlLmFjLWFkZC1vcHRpb24tZW5hYmxlLXRocmVhZC10bHMtdG8tbWFuYWdlLS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYzhkMTEwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvY29uZmlndXJlLmFjLWFkZC1vcHRpb24tZW5hYmxlLXRocmVhZC10bHMtdG8tbWFuYWdlLS5wYXRjaApAQCAtMCwwICsxLDUwIEBACitjb25maWd1cmUuYWM6IGFkZCBvcHRpb24gLS1lbmFibGUtdGhyZWFkLXRscyB0byBtYW5hZ2UgdGhyZWFkIHNzbCBzdXBwb3J0CisKK0FkZCBvcHRpb24gLS1lbmFibGUtdGhyZWFkLXRscyB0byBtYW5hZ2UgdGhlIGluY2x1ZGluZyBvZiB0aHJlYWQKK2xvY2FsIHN0b3JhZ2UsIHNvIHdlIGNvdWxkIGV4cGxpY2l0bHkgZGlzYWJsZSBpdC4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDE3ICsrKysrKysrKysrLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDQ3NGUwOTQuLmNlZGNhNTQgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTEyMCw2ICsxMjAsOSBAQCBBQ19BUkdfRU5BQkxFKG1lbXRyYWNlLAorIEFDX0FSR19FTkFCTEUoc3NsLAorICAgICAgICAgICAgICAgWyAgLS1lbmFibGUtc3NsICAgICAgICBFbmFibGUgU1NMIHN1cHBvcnQuXSwsZW5hYmxlX3NzbD0iYXV0byIpCisgCisrQUNfQVJHX0VOQUJMRSh0aHJlYWQtdGxzLAorKyAgICAgICAgICAgICAgWyAgLS1lbmFibGUtdGhyZWFkLXRscyAgICAgICAgRW5hYmxlIFRocmVhZCBUcmFuc3BvcnQgTGF5ZXIgU2VjdXJpdHkgc3VwcG9ydC5dLCxlbmFibGVfdGhyZWFkX3Rscz0ibm8iKQorKworIEFDX0FSR19FTkFCTEUoZHluYW1pYy1saW5raW5nLAorICAgICAgICAgICAgICAgWyAgLS1lbmFibGUtZHluYW1pYy1saW5raW5nICAgICAgICBMaW5rIGV2ZXJ5dGhpbmcgZHluYW1pY2FsbHkuXSwsZW5hYmxlX2R5bmFtaWNfbGlua2luZz0iYXV0byIpCisgCitAQCAtMzgxLDEyICszODQsMTQgQEAgZG5sICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIGRubCBJcyB0aGUgX190aHJlYWQga2V5d29yZCBhdmFpbGFibGU/CisgZG5sICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorLUFDX0xJTktfSUZFTFNFKFtBQ19MQU5HX1BST0dSQU0oCistW1sjaW5jbHVkZSA8cHRocmVhZC5oPgorLV9fdGhyZWFkIGludCBhOworLV1dLAorLVthPTA7XSldLAorLVthY19jdl9oYXZlX3Rscz15ZXM7IEFDX0RFRklORV9VTlFVT1RFRChIQVZFX1RIUkVBRF9LRVlXT1JELCAxLCAiV2hldGhlciBUcmFuc3BvcnQgTGF5ZXIgU2VjdXJpdHkgaXMgc3VwcG9ydGVkIGJ5IHRoZSBzeXN0ZW0iKV0pCisraWYgdGVzdCAieCRlbmFibGVfdGhyZWFkX3RscyIgIT0gInhubyI7IHRoZW4KKysgICAgQUNfTElOS19JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTSgKKysgICAgW1sjaW5jbHVkZSA8cHRocmVhZC5oPgorKyAgICBfX3RocmVhZCBpbnQgYTsKKysgICAgXV0sCisrICAgIFthPTA7XSldLAorKyAgICBbYWNfY3ZfaGF2ZV90bHM9eWVzOyBBQ19ERUZJTkVfVU5RVU9URUQoSEFWRV9USFJFQURfS0VZV09SRCwgMSwgIldoZXRoZXIgVHJhbnNwb3J0IExheWVyIFNlY3VyaXR5IGlzIHN1cHBvcnRlZCBieSB0aGUgc3lzdGVtIildKQorK2ZpCisgCisgZG5sICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIGRubCBIb3cgdG8gZG8gc3RhdGljIGxpbmtpbmc/CistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2NvbmZpZ3VyZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2NvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMDlmNThjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvY29uZmlndXJlLnBhdGNoCkBAIC0wLDAgKzEsMjMgQEAKK0luZGV4OiBzeXNsb2ctbmctMy41LjQuMS9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBzeXNsb2ctbmctMy41LjQuMS5vcmlnL2NvbmZpZ3VyZS5hYwkyMDE0LTA3LTE4IDEzOjQ5OjM2Ljc5NDE0MTQ0MSArMDAwMAorKysrIHN5c2xvZy1uZy0zLjUuNC4xL2NvbmZpZ3VyZS5hYwkyMDE0LTA3LTE4IDE0OjIzOjU3LjczODE5NzYwNiArMDAwMAorQEAgLTgsNyArOCw4IEBAIGRubCBTTkFQU0hPVF9WRVJTSU9OICAgLSBzbmFwc2hvdCB2ZXJzaW9uIHRvIGFkZCB0byB2ZXJzaW9uIG51bWJlcgorIGRubCBCSU5BUllfQlJBTkNIICAgICAgLSB0aGUgdmFsdWUgaXMgYWRkZWQgdG8gYWxsIHNvdXJjZS9iaW5hcnkgcGFja2FnZXMKKyBkbmwgU09VUkNFX1JFVklTSU9OICAgIC0gUmV2aXNpb24gb2YgdGhlIHNvdXJjZS10cmVlLCB3aWxsIGFkZGVkIHRvIHRoZSB2ZXJzaW9uIHN0cmluZworIGRubAorLUFDX0lOSVQoc3lzbG9nLW5nL21haW4uYykKKytBQ19JTklUKHN5c2xvZy1uZywgMy41LjQuMSkKKytBQ19DT05GSUdfU1JDRElSKHN5c2xvZy1uZy9tYWluLmMpCisgQUNfQ09ORklHX01BQ1JPX0RJUihbbTRdKQorIG00X2lmZGVmKFtBTV9TSUxFTlRfUlVMRVNdLCBbQU1fU0lMRU5UX1JVTEVTKFt5ZXNdKV0pCisgCitAQCAtNTMsNyArNTQsNyBAQCBlbHNlCisgICAgICAgICBDVVJSREFURT1gZGF0ZSArIiVhLCAlZCAlYiAlWSAlSDolTTolUyAlWiJgCisgZmkKKyAKKy1BTV9JTklUX0FVVE9NQUtFKCRQQUNLQUdFLCAkVkVSU0lPTiwgW2ZvcmVpZ24gbm8tZGVmaW5lIHN1YmRpci1vYmplY3RzXSkKKytBTV9JTklUX0FVVE9NQUtFKFtmb3JlaWduIG5vLWRlZmluZSBzdWJkaXItb2JqZWN0c10pCisgX0FNX1BST0dfVEFSKFt1c3Rhcl0pCisgaWYgdGVzdCAtbiAiJFNOQVBTSE9UX1ZFUlNJT04iOyB0aGVuCisgCVZFUlNJT049JFZFUlNJT04rJFNOQVBTSE9UX1ZFUlNJT04KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2RiaWZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2RiaWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNWRmYjY4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvZGJpZml4LnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKK0luZGV4OiBzeXNsb2ctbmctMy41LjQuMS9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBzeXNsb2ctbmctMy41LjQuMS5vcmlnL2NvbmZpZ3VyZS5hYwkyMDE0LTA3LTE4IDE0OjM1OjAzLjEzNDIxNTc0MCArMDAwMAorKysrIHN5c2xvZy1uZy0zLjUuNC4xL2NvbmZpZ3VyZS5hYwkyMDE0LTA3LTE4IDE1OjMxOjUyLjUxMDMwODY1MyArMDAwMAorQEAgLTU3NiwxMyArNTc2LDE0IEBACisgZG5sICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorIEFDX0NIRUNLX0xJQihkbCwgZGxzeW0sIERMX0xJQlM9Ii1sZGwiKQorK2lmIHRlc3QgIngkZW5hYmxlX3NxbCIgIT0gInhubyI7IHRoZW4KKyBQS0dfQ0hFQ0tfTU9EVUxFUyhMSUJEQkksIGRiaSA+PSAkTElCREJJX01JTl9WRVJTSU9OLCBsaWJkYmlfcGtnY29uZmlnX25vdF9mb3VuZD0iMCIsIGxpYmRiaV9wa2djb25maWdfbm90X2ZvdW5kPSIxIikKKyAKKyBpZiB0ZXN0ICIkbGliZGJpX3BrZ2NvbmZpZ19ub3RfZm91bmQiIC1lcSAxOyB0aGVuCisgCWRubCBpZiBsaWJkYmkgaGFzIG5vIC5wYyBmaWxlLCB0cnkgaXQgd2l0aG91dCBvbmUKKyAJQUNfQ0hFQ0tfTElCKGRiaSwgZGJpX2luaXRpYWxpemUsIExJQkRCSV9MSUJTPSItbGRiaSI7IExJQkRCSV9DRkxBR1M9Ii1JL3Vzci9pbmNsdWRlIikKKyBmaQorLQorK2ZpCisgaWYgdGVzdCAieCRlbmFibGVfc3FsIiA9ICJ4YXV0byI7IHRoZW4KKyAJQUNfTVNHX0NIRUNLSU5HKHdoZXRoZXIgdG8gZW5hYmxlIFNRTCBzdXBwb3J0KQorIAlpZiB0ZXN0ICJ4JExJQkRCSV9MSUJTIiAhPSAieCI7IHRoZW4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2RlaW5pdC10aGUtbmV3LWNvbmZpZy13aGVuLXJldmVydGluZy10by10aGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9kZWluaXQtdGhlLW5ldy1jb25maWctd2hlbi1yZXZlcnRpbmctdG8tdGhlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4NGFmN2UKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9kZWluaXQtdGhlLW5ldy1jb25maWctd2hlbi1yZXZlcnRpbmctdG8tdGhlLnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gODY4NDJkZjhiZmY1Yzk3ZTQ0ZmM1NWQyZmI3ZmM2YzEwZjU2YWI4NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEdlcmdlbHkgTmFneSA8YWxnZXJub25AYmFsYWJpdC5odT4KK0RhdGU6IEZyaSwgMTMgRGVjIDIwMTMgMTM6NDY6MTUgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gbWFpbmxvb3A6IERlaW5pdCB0aGUgbmV3IGNvbmZpZyB3aGVuIHJldmVydGluZyB0byB0aGUgb2xkIG9uZQorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1doZW4gcmVsb2FkaW5nLCBhbmQgdGhlIG5ldyBjb25maWcgZmFpbHMsIGRlaW5pdCBpdCBiZWZvcmUgaW5pdGlhbGl6aW5nCit0aGUgb2xkIGNvbmZpZy4gVGhpcyBpcyBzbyB0aGF0IGNvbmZsaWN0aW5nIHRoaW5ncyBkbyBub3QgcmVtYWluIGhlbGQgYnkKK3RoZSBoYWxmLWluaXRpYWxpemVkIG5ldyBjb25maWcsIHdoaWxlIHRoZSBvbGQgdHJpZXMgdG8gdGFrZSBpdAorb3Zlci4gKEl0IGFsc28gcmVtb3ZlZCBhIGNvdXBsZSBvZiBtZW1vcnkgbGVha3MsIG1vc3QgbGlrZWx5LikKKworVGhlIHJlYXNvbiB3ZSBjYW4gZG8gdGhpcywgaXMgYmVjYXVzZSBjZmdfdHJlZV9zdG9wKCkgKGNhbGxlZCBieQorY2ZnX2RlaW5pdCgpKSBnb2VzIG92ZXIgYWxsIHRoZSBrbm93biBub2RlcywgYW5kIGxvZ19waXBlX2RlaW5pdCgpIGlzCithbHNvIHNtYXJ0IGVub3VnaCB0byBub3QgZGVpbml0IGEgbm9kZSB0aGF0IGhhcyBub3QgYmVlbiBpbml0ZWQgYmVmb3JlLgorCitTaWduZWQtb2ZmLWJ5OiBHZXJnZWx5IE5hZ3kgPGFsZ2Vybm9uQGJhbGFiaXQuaHU+CistLS0KKyBsaWIvbWFpbmxvb3AuYyB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvbGliL21haW5sb29wLmMgYi9saWIvbWFpbmxvb3AuYworaW5kZXggMzQ2NTVmYS4uZTZmYmI1OSAxMDA2NDQKKy0tLSBhL2xpYi9tYWlubG9vcC5jCisrKysgYi9saWIvbWFpbmxvb3AuYworQEAgLTUxMCw2ICs1MTAsNyBAQCBtYWluX2xvb3BfcmVsb2FkX2NvbmZpZ19hcHBseSh2b2lkKQorICAgICB7CisgICAgICAgbXNnX2Vycm9yKCJFcnJvciBpbml0aWFsaXppbmcgbmV3IGNvbmZpZ3VyYXRpb24sIHJldmVydGluZyB0byBvbGQgY29uZmlnIiwgTlVMTCk7CisgICAgICAgY2ZnX3BlcnNpc3RfY29uZmlnX21vdmUobWFpbl9sb29wX25ld19jb25maWcsIG1haW5fbG9vcF9vbGRfY29uZmlnKTsKKysgICAgICBjZmdfZGVpbml0KG1haW5fbG9vcF9uZXdfY29uZmlnKTsKKyAgICAgICBpZiAoIWNmZ19pbml0KG1haW5fbG9vcF9vbGRfY29uZmlnKSkKKyAgICAgICAgIHsKKyAgICAgICAgICAgLyogaG1tLiBobW1tLCBlcnJvciByZWluaXRpYWxpemluZyBvbGQgY29uZmlndXJhdGlvbiwgd2UncmUgaG9zZWQuCistLSAKKzEuOC40LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvZml4LWEtbWVtb3J5LWxlYWstaW4tbG9nX2RyaXZlcl9mcmVlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvZml4LWEtbWVtb3J5LWxlYWstaW4tbG9nX2RyaXZlcl9mcmVlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2MDM0NzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9maXgtYS1tZW1vcnktbGVhay1pbi1sb2dfZHJpdmVyX2ZyZWUucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorRnJvbSBhMjY5NjY5YmEzY2I2ZDFjMDZhMzMyMmI0YTZhMDM1Y2I3ODdkMDg1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogR2VyZ2VseSBOYWd5IDxhbGdlcm5vbkBiYWxhYml0Lmh1PgorRGF0ZTogVHVlLCAxNCBKYW4gMjAxNCAxMzo1ODowNSArMDEwMAorU3ViamVjdDogW1BBVENIXSBkcml2ZXI6IEZpeCBhIG1lbW9yeSBsZWFrIGluIGxvZ19kcml2ZXJfZnJlZSgpCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworQWZ0ZXIgZnJlZWluZyB1cCB0aGUgbWVtYmVycyBvZiBzZWxmLT5wbHVnaW5zLCBmcmVlIHNlbGYtPnBsdWdpbnMgaXRzZWxmCit0b28uCisKK1NpZ25lZC1vZmYtYnk6IEdlcmdlbHkgTmFneSA8YWxnZXJub25AYmFsYWJpdC5odT4KKy0tLQorIGxpYi9kcml2ZXIuYyB8IDQgKysrKworIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2xpYi9kcml2ZXIuYyBiL2xpYi9kcml2ZXIuYworaW5kZXggZDc3ZmU1Ny4uYTY4NjdiOSAxMDA2NDQKKy0tLSBhL2xpYi9kcml2ZXIuYworKysrIGIvbGliL2RyaXZlci5jCitAQCAtOTEsNiArOTEsMTAgQEAgbG9nX2RyaXZlcl9mcmVlKExvZ1BpcGUgKnMpCisgICAgIHsKKyAgICAgICBsb2dfZHJpdmVyX3BsdWdpbl9mcmVlKChMb2dEcml2ZXJQbHVnaW4gKikgbC0+ZGF0YSk7CisgICAgIH0KKysgIGlmIChzZWxmLT5wbHVnaW5zKQorKyAgICB7CisrICAgICAgZ19saXN0X2ZyZWUoc2VsZi0+cGx1Z2lucyk7CisrICAgIH0KKyAgIGlmIChzZWxmLT5ncm91cCkKKyAgICAgZ19mcmVlKHNlbGYtPmdyb3VwKTsKKyAgIGlmIChzZWxmLT5pZCkKKy0tIAorMS44LjQuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9maXgtY29uZmlnLWxpYm5ldC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2ZpeC1jb25maWctbGlibmV0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1NTgwM2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9maXgtY29uZmlnLWxpYm5ldC5wYXRjaApAQCAtMCwwICsxLDY2IEBACitTdWJqZWN0OiBbUEFUQ0hdIGFkZCBsaWJuZXQgZW5hYmxlIG9wdGlvbgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworVGhpcyB3b3VsZCBhdm9pZCBhIGltcGxpY2l0IGF1dG8tZGV0ZWN0aW5nIHJlc3VsdC4KKworU2lnbmVkLW9mZi1ieTogTWluZyBMaXUgPG1pbmcubGl1QHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgICAyNyArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCBiMWUxOGI0Li44ZTEzMDI1IDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC03Myw2ICs3Myw5IEBAIEFDX0NPTkZJR19IRUFERVJTKGNvbmZpZy5oKQorIGRubCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyBkbmwgQXJndW1lbnRzCisgCisrQUNfQVJHX0VOQUJMRShsaWJuZXQsIAorKyAgICAgICAgICAgICAgWyAgLS1lbmFibGUtbGlibmV0ICAgICAgRW5hYmxlIGxpYm5ldCBzdXBwb3J0Ll0sLCBlbmFibGVfbGlibmV0PSJubyIpCisrCisgQUNfQVJHX1dJVEgobGlibmV0LAorICAgIFsgIC0td2l0aC1saWJuZXQ9cGF0aCAgICAgIHVzZSBwYXRoIHRvIGxpYm5ldC1jb25maWcgc2NyaXB0XSwKKyAgICAsCitAQCAtNzY4LDIyICs3NzEsMjYgQEAgZG5sICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIGRubCBsaWJuZXQgaGVhZGVycy9saWJyYXJpZXMKKyBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgQUNfTVNHX0NIRUNLSU5HKGZvciBMSUJORVQpCistaWYgdGVzdCAieCR3aXRoX2xpYm5ldCIgPSAieCI7IHRoZW4KKy0gICAgICAgIExJQk5FVF9DT05GSUc9ImB3aGljaCBsaWJuZXQtY29uZmlnYCIKKy1lbHNlCistICAgICAgICBMSUJORVRfQ09ORklHPSIkd2l0aF9saWJuZXQvbGlibmV0LWNvbmZpZyIKKy1maQorK2lmIHRlc3QgIngkZW5hYmxlX2xpYm5ldCIgPSB4eWVzOyB0aGVuCisrICAgICAgICBpZiB0ZXN0ICJ4JHdpdGhfbGlibmV0IiA9ICJ4IjsgdGhlbgorKyAgICAgICAgICAgICAgICBMSUJORVRfQ09ORklHPSJgd2hpY2ggbGlibmV0LWNvbmZpZ2AiCisrICAgICAgICBlbHNlCisrICAgICAgICAgICAgICAgIExJQk5FVF9DT05GSUc9IiR3aXRoX2xpYm5ldC9saWJuZXQtY29uZmlnIgorKyAgICAgICAgZmkKKysgCisrICAgICAgICBpZiB0ZXN0IC1uICIkTElCTkVUX0NPTkZJRyIgLWEgLXggIiRMSUJORVRfQ09ORklHIjsgdGhlbgorKyAgICAgICAgICAgICAgICBMSUJORVRfQ0ZMQUdTPSJgJExJQk5FVF9DT05GSUcgLS1kZWZpbmVzYCIKKysgICAgICAgICAgICAgICAgTElCTkVUX0xJQlM9ImAkTElCTkVUX0NPTkZJRyAtLWxpYnNgIgorKyAgICAgICAgICAgICAgICBBQ19NU0dfUkVTVUxUKHllcykKKysgICAgICAgIGVsc2UKKysgICAgICAgICAgICAgICAgQUNfTVNHX0VSUk9SKFtDb3VsZCBub3QgZmluZCBsaWJuZXQsIGFuZCBsaWJuZXQgc3VwcG9ydCB3YXMgZXhwbGljaXRseSBlbmFibGVkLl0pCisrICAgICAgICBmaQorIAorLWlmIHRlc3QgLW4gIiRMSUJORVRfQ09ORklHIiAtYSAteCAiJExJQk5FVF9DT05GSUciOyB0aGVuCistICAgICAgICBMSUJORVRfQ0ZMQUdTPSJgJExJQk5FVF9DT05GSUcgLS1kZWZpbmVzYCIKKy0gICAgICAgIExJQk5FVF9MSUJTPSJgJExJQk5FVF9DT05GSUcgLS1saWJzYCIKKy0gICAgICAgIEFDX01TR19SRVNVTFQoeWVzKQorIGVsc2UKKyAgICAgICAgIExJQk5FVF9MSUJTPQorICAgICAgICAgQUNfTVNHX1JFU1VMVChubykKKyBmaQorIAorLQorIGlmIHRlc3QgIngkZW5hYmxlX3Nwb29mX3NvdXJjZSIgPSAieGF1dG8iOyB0aGVuCisgCUFDX01TR19DSEVDS0lORyh3aGV0aGVyIHRvIGVuYWJsZSBzcG9vZiBzb3VyY2Ugc3VwcG9ydCkKKyAgICAgICAgIGlmIHRlc3QgIngkTElCTkVUX0xJQlMiICE9ICJ4IjsgdGhlbgorLS0gCisxLjcuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9maXgtaW52YWxpZC1vd25lcnNoaXAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9maXgtaW52YWxpZC1vd25lcnNoaXAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmFmOTY3MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2ZpeC1pbnZhbGlkLW93bmVyc2hpcC5wYXRjaApAQCAtMCwwICsxLDI4IEBACitzeXNsb2ctbmc6IGZpeCB3cm9uZyBvd25lcnNoaXAgaXNzdWUKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1RoZSBvd25lcnNoaXAgb2YgYnVpbGQgdXNlciBpcyBwcmVzZXJ2ZWQgZm9yIHNvbWUgdGFyZ2V0IGZpbGVzLCBmaXhlZCBpdCBieQorYWRkaW5nIC0tbm8tc2FtZS1vd25lciBvcHRpb24gdG8gdGFyIHdoZW4gZXh0cmFjdGluZyBmaWxlcy4gCisKK1NpZ25lZC1vZmYtYnk6IE1pbmcgTGl1IDxtaW5nLmxpdUB3aW5kcml2ZXIuY29tPgorLS0tCisgc2NsL01ha2VmaWxlLmFtIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc2NsL01ha2VmaWxlLmFtIGIvc2NsL01ha2VmaWxlLmFtCitpbmRleCA1N2ZhZDVkLi4yYTI5Y2E1IDEwMDY0NAorLS0tIGEvc2NsL01ha2VmaWxlLmFtCisrKysgYi9zY2wvTWFrZWZpbGUuYW0KK0BAIC0xNCw3ICsxNCw3IEBAIHNjbC1pbnN0YWxsLWRhdGEtbG9jYWw6CisgCQlmaTsgXAorIAlkb25lCisgCSQobWtpbnN0YWxsZGlycykgJChERVNURElSKS8kKHNjbGRpcikKKy0JKGNkICQoc3JjZGlyKS9zY2w7IHRhciBjZiAtICQoU0NMX1NVQkRJUlMpKSB8IChjZCAkKERFU1RESVIpLyQoc2NsZGlyKSAmJiB0YXIgeGYgLSkKKysJKGNkICQoc3JjZGlyKS9zY2w7IHRhciBjZiAtICQoU0NMX1NVQkRJUlMpKSB8IChjZCAkKERFU1RESVIpLyQoc2NsZGlyKSAmJiB0YXIgeGYgLSAtLW5vLXNhbWUtb3duZXIpCisgCWNobW9kIC1SIHUrcndYICQoREVTVERJUikvJChzY2xkaXIpCisgCisgc2NsLXVuaW5zdGFsbC1sb2NhbDoKKy0tIAorMS43LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvZnJlZS1nbG9iYWwtTG9nVGVtcGxhdGVPcHRpb25zLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvZnJlZS1nbG9iYWwtTG9nVGVtcGxhdGVPcHRpb25zLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0MzlhMjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9mcmVlLWdsb2JhbC1Mb2dUZW1wbGF0ZU9wdGlvbnMucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbSAzZWY2Y2E4MDQ0MjYwYzc3MTE4ZWRjYTZkZWFkODA3YTJlZGNiNWVmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQmFsYXpzIFNjaGVpZGxlciA8YmF6c2lAYmFsYWJpdC5odT4KK0RhdGU6IFRodSwgMzEgT2N0IDIwMTMgMTM6MjA6MTIgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gY2ZnOiBmcmVlIGdsb2JhbCBMb2dUZW1wbGF0ZU9wdGlvbnMKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitUaGlzIGZpeGVzIGEgcG90ZW50aWFsIG1lbW9yeSBsZWFrIHdoZW4gZ2xvYmFsIHRlbXBsYXRlIHNwZWNpZmljCitvcHRpb25zIHdlcmUgc3BlY2lmaWVkLCBzdWNoIGFzIGxvY2FsLXRpbWUtem9uZSgpLCBzZW5kLXRpbWUtem9uZSgpIGV0Yy4KKworU2lnbmVkLW9mZi1ieTogQmFsYXpzIFNjaGVpZGxlciA8YmF6c2lAYmFsYWJpdC5odT4KKy0tLQorIGxpYi9jZmcuYyB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvbGliL2NmZy5jIGIvbGliL2NmZy5jCitpbmRleCA3ZjA0MGI4Li5hZGVhYWY4IDEwMDY0NAorLS0tIGEvbGliL2NmZy5jCisrKysgYi9saWIvY2ZnLmMKK0BAIC00MTEsNiArNDExLDcgQEAgY2ZnX2ZyZWUoR2xvYmFsQ29uZmlnICpzZWxmKQorICAgZ19mcmVlKHNlbGYtPnByb3RvX3RlbXBsYXRlX25hbWUpOyAgCisgICBsb2dfdGVtcGxhdGVfdW5yZWYoc2VsZi0+ZmlsZV90ZW1wbGF0ZSk7CisgICBsb2dfdGVtcGxhdGVfdW5yZWYoc2VsZi0+cHJvdG9fdGVtcGxhdGUpOworKyAgbG9nX3RlbXBsYXRlX29wdGlvbnNfZGVzdHJveSgmc2VsZi0+dGVtcGxhdGVfb3B0aW9ucyk7CisgCisgICBpZiAoc2VsZi0+YmFkX2hvc3RuYW1lX2NvbXBpbGVkKQorICAgICByZWdmcmVlKCZzZWxmLT5iYWRfaG9zdG5hbWUpOworLS0gCisxLjguNC4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2luaXRzY3JpcHQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9pbml0c2NyaXB0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxMDAzMGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9pbml0c2NyaXB0CkBAIC0wLDAgKzEsNjIgQEAKKyMhIC9iaW4vc2gKKyMKKyMgVGhpcyBpcyBhbiBpbml0IHNjcmlwdCBmb3Igb3BlbmVtYmVkZGVkCisjIENvcHkgaXQgdG8gL2V0Yy9pbml0LmQvc3lzbG9nLW5nIGFuZCB0eXBlCisjID4gdXBkYXRlLXJjLmQgc3lzbG9nLW5nIGRlZmF1bHRzIDUKKyMKKworIyBTb3VyY2UgZnVuY3Rpb24gbGlicmFyeQorLiAvZXRjL2luaXQuZC9mdW5jdGlvbnMKKworc3lzbG9nX25nPS91c3Ivc2Jpbi9zeXNsb2ctbmcKK3Rlc3QgLXggIiRzeXNsb2dfbmciIHx8IGV4aXQgMAorCitQSURGSUxFPS92YXIvcnVuL3N5c2xvZy1uZy9zeXNsb2ctbmcucGlkCisKK2NyZWF0ZV94Y29uc29sZSgpIHsKKyAgdGVzdCAtZSAvZGV2L3hjb25zb2xlIHx8IG1rbm9kIC1tIDY0MCAvZGV2L3hjb25zb2xlIHAKKyAgdGVzdCAteCAvc2Jpbi9yZXN0b3JlY29uICYmIC9zYmluL3Jlc3RvcmVjb24gL2Rldi94Y29uc29sZQorfQorCitSRVRWQUw9MAorCitjYXNlICIkMSIgaW4KKyAgc3RhcnQpCisgICAgWyAiJHtWRVJCT1NFfSIgIT0gIm5vIiBdICYmIGVjaG8gLW4gIlN0YXJ0aW5nIHN5c2xvZy1uZzoiCisgICAgY3JlYXRlX3hjb25zb2xlCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tcGlkZmlsZSAkUElERklMRSAtLWV4ZWMgJHN5c2xvZ19uZworICAgIFsgIiR7VkVSQk9TRX0iICE9ICJubyIgXSAmJiBlY2hvICIuIgorICAgIDs7CisgIHN0b3ApCisgICAgWyAiJHtWRVJCT1NFfSIgIT0gIm5vIiBdICYmIGVjaG8gLW4gIlN0b3BwaW5nIHN5c2xvZy1uZzoiCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tcXVpZXQgLS1waWRmaWxlICRQSURGSUxFCisgICAgWyAiJHtWRVJCT1NFfSIgIT0gIm5vIiBdICYmIGVjaG8gIi4iCisgICAgOzsKKyAgcmVsb2FkfGZvcmNlLXJlbG9hZCkKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLXNpZ25hbCAxIC0tZXhlYyAkc3lzbG9nX25nCisgICAgOzsKKyAgcmVzdGFydCkKKyAgICBlY2hvICJTdG9wcGluZyBzeXNsb2ctbmc6IgorICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXF1aWV0IC0tcGlkZmlsZSAkUElERklMRQorICAgIGVjaG8gLW4gIldhaXRpbmcgZm9yIHN5c2xvZy1uZyB0byBkaWUgb2ZmIgorICAgIGZvciBpIGluIDEgMiAzIDsKKyAgICBkbworICAgICAgICBzbGVlcCAxCisgICAgICAgIGVjaG8gLW4gIi4iCisgICAgZG9uZQorICAgIGVjaG8gIiIKKyAgICBlY2hvIC1uICJTdGFydGluZyBzeXNsb2ctbmc6IgorICAgIGNyZWF0ZV94Y29uc29sZQorICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLS1xdWlldCAtLXBpZGZpbGUgJFBJREZJTEUgLS1leGVjICRzeXNsb2dfbmcKKyAgICBlY2hvICIuIgorICAgIDs7CisgIHN0YXR1cykKKyAgICBzdGF0dXMgJHN5c2xvZ19uZworICAgIFJFVFZBTD0kPworICAgIDs7CisgICopCisgICAgZWNobyAiVXNhZ2U6ICQwIHtzdGFydHxzdG9wfHJlbG9hZHxyZXN0YXJ0fGZvcmNlLXJlbG9hZHxzdGF0dXN9IgorICAgIGV4aXQgMQorZXNhYworCitleGl0ICRSRVRWQUwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2xvZ3dyaXRlci1kb250LWFsbG9jYXRlLWEtbmV3LWJ1ZmZlci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2xvZ3dyaXRlci1kb250LWFsbG9jYXRlLWEtbmV3LWJ1ZmZlci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZTNkNjRiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvbG9nd3JpdGVyLWRvbnQtYWxsb2NhdGUtYS1uZXctYnVmZmVyLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK2xvZ3dyaXRlcjogRG9uJ3QgYWxsb2NhdGUgYSBuZXcgYnVmZmVyIGlmIGZhaWxzIHRvIGNvbnN1bWUgY3VycmVudCBpdGVtCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBYdWZlbmcgWmhhbmcgPHh1ZmVuZy56aGFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCistLS0gYS9saWIvbG9nd3JpdGVyLmMKKysrKyBiL2xpYi9sb2d3cml0ZXIuYworQEAgLTEwMTAsNyArMTAxMCw3IEBACisgICAgICAgICB7CisgICAgICAgICAgIHN0YXR1cyA9IGxvZ19wcm90b19jbGllbnRfcG9zdChwcm90bywgKGd1Y2hhciAqKSBzZWxmLT5saW5lX2J1ZmZlci0+c3RyLCBzZWxmLT5saW5lX2J1ZmZlci0+bGVuLCAmY29uc3VtZWQpOworIAorLSAgICAgICAgICBpZiAoY29uc3VtZWQpCisrICAgICAgICAgIGlmIChjb25zdW1lZCAmJiBzdGF0dXMgIT0gTFBTX0VSUk9SKQorICAgICAgICAgICAgIGxvZ193cml0ZXJfcmVhbGxvY19saW5lX2J1ZmZlcihzZWxmKTsKKyAKKyAgICAgICAgICAgaWYgKHN0YXR1cyA9PSBMUFNfRVJST1IpCitAQCAtMTAyOCw3ICsxMDI4LDcgQEAKKyAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgICAgICAgICBjb25zdW1lZCA9IFRSVUU7CisgICAgICAgICB9CistICAgICAgaWYgKGNvbnN1bWVkKQorKyAgICAgIGlmIChjb25zdW1lZCAmJiBzdGF0dXMgIT0gTFBTX0VSUk9SKQorICAgICAgICAgeworICAgICAgICAgICBpZiAobG0tPmZsYWdzICYgTEZfTE9DQUwpCisgICAgICAgICAgICAgc3RlcF9zZXF1ZW5jZV9udW1iZXIoJnNlbGYtPnNlcV9udW0pOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvcmV3cml0ZS1leHByLWdyYW1tYXIueW0tRnJlZS11cC10b2tlbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL3Jld3JpdGUtZXhwci1ncmFtbWFyLnltLUZyZWUtdXAtdG9rZW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTk1MWFmOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL3Jld3JpdGUtZXhwci1ncmFtbWFyLnltLUZyZWUtdXAtdG9rZW4ucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorcmV3cml0ZS1leHByLWdyYW1tYXIueW06IEZyZWUgdXAgdG9rZW4uCisKK1Vwc3RlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitSZXBvcnRlZC1ieTogWHVmZW5nIFpoYW5nIDx4dWZlbmcuemhhbmdAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IFZpa3RvciBUdXNhIDx0dXNhdmlrQGdtYWlsLmNvbT4KKy0tLQorLS0tIGEvbGliL3Jld3JpdGUvcmV3cml0ZS1leHByLWdyYW1tYXIueW0KKysrKyBiL2xpYi9yZXdyaXRlL3Jld3JpdGUtZXhwci1ncmFtbWFyLnltCitAQCAtNzgsNiArNzgsNyBAQAorIAorIAkgICAgJCQgPSBsb2dfdGVtcGxhdGVfbmV3KGNvbmZpZ3VyYXRpb24sICQxKTsKKyAJICAgIENIRUNLX0VSUk9SKGxvZ190ZW1wbGF0ZV9jb21waWxlKCQkLCAkMSwgJmVycm9yKSwgQDEsICJFcnJvciBjb21waWxpbmcgdGVtcGxhdGUgKCVzKSIsIGVycm9yLT5tZXNzYWdlKTsKKysgICAgICAgICAgICBmcmVlKCQxKTsKKyAJICB9CisgCTsKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL3N0aWxsLWZyZWUtdGhlLXVuY29uc3VtZWQtaXRlbS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL3N0aWxsLWZyZWUtdGhlLXVuY29uc3VtZWQtaXRlbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYTE4NjgyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvc3RpbGwtZnJlZS10aGUtdW5jb25zdW1lZC1pdGVtLnBhdGNoCkBAIC0wLDAgKzEsOTAgQEAKK0Zyb20gMzY1MDIwYzVjMDgyM2M5MWE4MDExZTM0NTk3Zjk3MGE3Y2ZiNGZiMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFR1c2EgVmlrdG9yIDx0dXNhdmlrQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMjMgQXByIDIwMTQgMTc6MTA6NTggKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gbG9nd3JpdGVyOiBzdGlsbCBmcmVlIHRoZSB1bmNvbnN1bWVkIGl0ZW0gZHVyaW5nIHJlbG9hZGluZworIGNvbmZpZ3VyYXRpb24KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitPdGhlcndpc2Ugd2UgaGF2ZSBubyBjaGFuY2UgdG8gZnJlZSB0aGlzIHN0dWZmLgorCitSZXBvcnRlZC1ieTogWHVmZW5nIFpoYW5nIDx4dWZlbmcuemhhbmdAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IFR1c2EgVmlrdG9yIDx0dXNhdmlrQGdtYWlsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEdlcmdlbHkgTmFneSA8YWxnZXJub25AbWFkaG91c2UtcHJvamVjdC5vcmc+CistLS0KKyBsaWIvbG9ncHJvdG8vbG9ncHJvdG8tY2xpZW50LmggICAgICB8ICAgIDIgKy0KKyBsaWIvbG9ncHJvdG8vbG9ncHJvdG8tdGV4dC1jbGllbnQuYyB8ICAgMTEgKysrKysrKysrKysKKyBsaWIvbG9nd3JpdGVyLmMgICAgICAgICAgICAgICAgICAgICB8ICAgIDkgKysrKysrKy0tCisgMyBmaWxlcyBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliL2xvZ3Byb3RvL2xvZ3Byb3RvLWNsaWVudC5oIGIvbGliL2xvZ3Byb3RvL2xvZ3Byb3RvLWNsaWVudC5oCitpbmRleCAyNTRlY2Y5Li41YWRjOTE3IDEwMDY0NAorLS0tIGEvbGliL2xvZ3Byb3RvL2xvZ3Byb3RvLWNsaWVudC5oCisrKysgYi9saWIvbG9ncHJvdG8vbG9ncHJvdG8tY2xpZW50LmgKK0BAIC00Nyw3ICs0Nyw2IEBAIHZvaWQgbG9nX3Byb3RvX2NsaWVudF9vcHRpb25zX2RlZmF1bHRzKExvZ1Byb3RvQ2xpZW50T3B0aW9ucyAqb3B0aW9ucyk7Cisgdm9pZCBsb2dfcHJvdG9fY2xpZW50X29wdGlvbnNfaW5pdChMb2dQcm90b0NsaWVudE9wdGlvbnMgKm9wdGlvbnMsIEdsb2JhbENvbmZpZyAqY2ZnKTsKKyB2b2lkIGxvZ19wcm90b19jbGllbnRfb3B0aW9uc19kZXN0cm95KExvZ1Byb3RvQ2xpZW50T3B0aW9ucyAqb3B0aW9ucyk7CisgCistCisgc3RydWN0IF9Mb2dQcm90b0NsaWVudAorIHsKKyAgIExvZ1Byb3RvU3RhdHVzIHN0YXR1czsKK0BAIC0xMDcsNiArMTA2LDcgQEAgbG9nX3Byb3RvX2NsaWVudF9yZXNldF9lcnJvcihMb2dQcm90b0NsaWVudCAqcykKKyBnYm9vbGVhbiBsb2dfcHJvdG9fY2xpZW50X3ZhbGlkYXRlX29wdGlvbnMoTG9nUHJvdG9DbGllbnQgKnNlbGYpOworIHZvaWQgbG9nX3Byb3RvX2NsaWVudF9pbml0KExvZ1Byb3RvQ2xpZW50ICpzLCBMb2dUcmFuc3BvcnQgKnRyYW5zcG9ydCwgY29uc3QgTG9nUHJvdG9DbGllbnRPcHRpb25zICpvcHRpb25zKTsKKyB2b2lkIGxvZ19wcm90b19jbGllbnRfZnJlZShMb2dQcm90b0NsaWVudCAqcyk7Cisrdm9pZCBsb2dfcHJvdG9fY2xpZW50X2ZyZWVfbWV0aG9kKExvZ1Byb3RvQ2xpZW50ICpzKTsKKyAKKyAjZGVmaW5lIERFRklORV9MT0dfUFJPVE9fQ0xJRU5UKHByZWZpeCkgXAorICAgc3RhdGljIGdwb2ludGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKK2RpZmYgLS1naXQgYS9saWIvbG9ncHJvdG8vbG9ncHJvdG8tdGV4dC1jbGllbnQuYyBiL2xpYi9sb2dwcm90by9sb2dwcm90by10ZXh0LWNsaWVudC5jCitpbmRleCAzMjQ4NzU5Li5hNTEwMGYzIDEwMDY0NAorLS0tIGEvbGliL2xvZ3Byb3RvL2xvZ3Byb3RvLXRleHQtY2xpZW50LmMKKysrKyBiL2xpYi9sb2dwcm90by9sb2dwcm90by10ZXh0LWNsaWVudC5jCitAQCAtMTQ2LDEyICsxNDYsMjMgQEAgbG9nX3Byb3RvX3RleHRfY2xpZW50X3Bvc3QoTG9nUHJvdG9DbGllbnQgKnMsIGd1Y2hhciAqbXNnLCBnc2l6ZSBtc2dfbGVuLCBnYm9vbGUKKyB9CisgCisgdm9pZAorK2xvZ19wcm90b190ZXh0X2NsaWVudF9mcmVlKExvZ1Byb3RvQ2xpZW50ICpzKQorK3sKKysgIExvZ1Byb3RvVGV4dENsaWVudCAqc2VsZiA9IChMb2dQcm90b1RleHRDbGllbnQgKilzOworKyAgaWYgKHNlbGYtPnBhcnRpYWxfZnJlZSkKKysgICAgc2VsZi0+cGFydGlhbF9mcmVlKHNlbGYtPnBhcnRpYWwpOworKyAgc2VsZi0+cGFydGlhbCA9IE5VTEw7CisrICBsb2dfcHJvdG9fY2xpZW50X2ZyZWVfbWV0aG9kKHMpOworK307CisrCisrdm9pZAorIGxvZ19wcm90b190ZXh0X2NsaWVudF9pbml0KExvZ1Byb3RvVGV4dENsaWVudCAqc2VsZiwgTG9nVHJhbnNwb3J0ICp0cmFuc3BvcnQsIGNvbnN0IExvZ1Byb3RvQ2xpZW50T3B0aW9ucyAqb3B0aW9ucykKKyB7CisgICBsb2dfcHJvdG9fY2xpZW50X2luaXQoJnNlbGYtPnN1cGVyLCB0cmFuc3BvcnQsIG9wdGlvbnMpOworICAgc2VsZi0+c3VwZXIucHJlcGFyZSA9IGxvZ19wcm90b190ZXh0X2NsaWVudF9wcmVwYXJlOworICAgc2VsZi0+c3VwZXIuZmx1c2ggPSBsb2dfcHJvdG9fdGV4dF9jbGllbnRfZmx1c2g7CisgICBzZWxmLT5zdXBlci5wb3N0ID0gbG9nX3Byb3RvX3RleHRfY2xpZW50X3Bvc3Q7CisrICBzZWxmLT5zdXBlci5mcmVlX2ZuID0gbG9nX3Byb3RvX3RleHRfY2xpZW50X2ZyZWU7CisgICBzZWxmLT5zdXBlci50cmFuc3BvcnQgPSB0cmFuc3BvcnQ7CisgICBzZWxmLT5uZXh0X3N0YXRlID0gLTE7CisgfQorZGlmZiAtLWdpdCBhL2xpYi9sb2d3cml0ZXIuYyBiL2xpYi9sb2d3cml0ZXIuYworaW5kZXggMzI5MmUzMS4uNDcwYmNkYiAxMDA2NDQKKy0tLSBhL2xpYi9sb2d3cml0ZXIuYworKysrIGIvbGliL2xvZ3dyaXRlci5jCitAQCAtMTA2Myw4ICsxMDYzLDEzIEBAIGxvZ193cml0ZXJfZmx1c2goTG9nV3JpdGVyICpzZWxmLCBMb2dXcml0ZXJGbHVzaE1vZGUgZmx1c2hfbW9kZSkKKyAgICAgICAgIH0KKyAgICAgICBlbHNlCisgICAgICAgICB7CistICAgICAgICAgIC8qIHB1c2ggYmFjayB0byB0aGUgcXVldWUgKi8KKy0gICAgICAgICAgbG9nX3F1ZXVlX3B1c2hfaGVhZChzZWxmLT5xdWV1ZSwgbG0sICZwYXRoX29wdGlvbnMpOworKyAgICAgICAgICBpZiAoZmx1c2hfbW9kZSA9PSBMV19GTFVTSF9RVUVVRSkKKysgICAgICAgICAgICBsb2dfbXNnX3VucmVmKGxtKTsKKysgICAgICAgICAgZWxzZQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgIC8qIHB1c2ggYmFjayB0byB0aGUgcXVldWUgKi8KKysgICAgICAgICAgICAgIGxvZ19xdWV1ZV9wdXNoX2hlYWQoc2VsZi0+cXVldWUsIGxtLCAmcGF0aF9vcHRpb25zKTsKKysgICAgICAgICAgICB9CisgICAgICAgICAgIG1zZ19zZXRfY29udGV4dChOVUxMKTsKKyAgICAgICAgICAgbG9nX21zZ19yZWZjYWNoZV9zdG9wKCk7CisgICAgICAgICAgIGJyZWFrOworLS0gCisxLjcuMTAuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9zeXNsb2ctbmctdmVyaWZ5LXRoZS1saXN0LWJlZm9yZS1kZWwucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9zeXNsb2ctbmctdmVyaWZ5LXRoZS1saXN0LWJlZm9yZS1kZWwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTgxMTliOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL3N5c2xvZy1uZy12ZXJpZnktdGhlLWxpc3QtYmVmb3JlLWRlbC5wYXRjaApAQCAtMCwwICsxLDM4IEBACitWZXJpZnkgdGhlIHZhbGlkaXR5IG9mIHRoZSBwb2ludGVyIGJlZm9yZSBkZWxldGUgaXQKKworT3RoZXJ3aXNlLCB3ZSBnb3QgYSBjcmFzaCBhdCBsb2dxdWV1ZS1maWZvLmM6MzQ0CisgIDM0NCBpdl9saXN0X2RlbCgmbm9kZS0+bGlzdCk7CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBYdWZlbmcgWmhhbmcgPHh1ZmVuZy56aGFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCistLS0gYS9saWIvbG9ncXVldWUtZmlmby5jCisrKysgYi9saWIvbG9ncXVldWUtZmlmby5jCitAQCAtMzM5LDE1ICszMzksMTggQEAKKyAgICAgICAqbXNnID0gbm9kZS0+bXNnOworICAgICAgIHBhdGhfb3B0aW9ucy0+YWNrX25lZWRlZCA9IG5vZGUtPmFja19uZWVkZWQ7CisgICAgICAgc2VsZi0+cW92ZXJmbG93X291dHB1dF9sZW4tLTsKKy0gICAgICBpZiAoIXB1c2hfdG9fYmFja2xvZykKKysgICAgICBpZiAoKCZub2RlLT5saXN0KSAmJiAoJm5vZGUtPmxpc3QpLT5uZXh0ICYmICgmbm9kZS0+bGlzdCktPnByZXYpCisgICAgICAgICB7CistICAgICAgICAgIGl2X2xpc3RfZGVsKCZub2RlLT5saXN0KTsKKy0gICAgICAgICAgbG9nX21zZ19mcmVlX3F1ZXVlX25vZGUobm9kZSk7CistICAgICAgICB9CistICAgICAgZWxzZQorLSAgICAgICAgeworLSAgICAgICAgICBpdl9saXN0X2RlbF9pbml0KCZub2RlLT5saXN0KTsKKy0gICAgICAgIH0KKysgICAgICAgICAgaWYgKCFwdXNoX3RvX2JhY2tsb2cpCisrICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgaXZfbGlzdF9kZWwoJm5vZGUtPmxpc3QpOworKyAgICAgICAgICAgICAgbG9nX21zZ19mcmVlX3F1ZXVlX25vZGUobm9kZSk7CisrICAgICAgICAgICAgfQorKyAgICAgICAgICBlbHNlCisrICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgaXZfbGlzdF9kZWxfaW5pdCgmbm9kZS0+bGlzdCk7CisrICAgICAgICAgICAgfQorKyAgICAgICAgfQorICAgICB9CisgICBlbHNlCisgICAgIHsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL3N5c2xvZy1uZy5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvc3lzbG9nLW5nLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjBkYTJiNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL3N5c2xvZy1uZy5jb25mCkBAIC0wLDAgKzEsMTU1IEBACitAdmVyc2lvbjogMy41CisjCisjIFN5c2xvZy1uZyBjb25maWd1cmF0aW9uIGZpbGUsIGNvbXBhdGlibGUgd2l0aCBkZWZhdWx0IERlYmlhbiBzeXNsb2dkCisjIGluc3RhbGxhdGlvbi4gT3JpZ2luYWxseSB3cml0dGVuIGJ5IGFub255bW91cyAoSSBjYW4ndCBmaW5kIGhpcyBuYW1lKQorIyBSZXZpc2VkLCBhbmQgcmV3cml0ZWQgYnkgbWUgKFNaQUxBWSBBdHRpbGEgPHNhc2FAZGViaWFuLm9yZz4pCisKKyMgRmlyc3QsIHNldCBzb21lIGdsb2JhbCBvcHRpb25zLgorb3B0aW9ucyB7IGNoYWluX2hvc3RuYW1lcyhvZmYpOyBmbHVzaF9saW5lcygwKTsgdXNlX2Rucyhubyk7IHVzZV9mcWRuKG5vKTsKKwkgIG93bmVyKCJyb290Iik7IGdyb3VwKCJhZG0iKTsgcGVybSgwNjQwKTsgc3RhdHNfZnJlcSgwKTsKKwkgIGJhZF9ob3N0bmFtZSgiXmdjb25mZCQiKTsKK307CisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBTb3VyY2VzCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgVGhpcyBpcyB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiBzeXNrbG9nZCBwYWNrYWdlCisjIExvZ3MgbWF5IGNvbWUgZnJvbSB1bml4IHN0cmVhbSwgYnV0IG5vdCBmcm9tIGFub3RoZXIgbWFjaGluZS4KKyMKK3NvdXJjZSBzX3NyYyB7IHVuaXgtZGdyYW0oIi9kZXYvbG9nIik7IGludGVybmFsKCk7CisgICAgICAgCSAgICAgZmlsZSgiL3Byb2Mva21zZyIgcHJvZ3JhbV9vdmVycmlkZSgia2VybmVsIikpOworfTsKKworIyBJZiB5b3Ugd2lzaCB0byBnZXQgbG9ncyBmcm9tIHJlbW90ZSBtYWNoaW5lIHlvdSBzaG91bGQgdW5jb21tZW50CisjIHRoaXMgYW5kIGNvbW1lbnQgdGhlIGFib3ZlIHNvdXJjZSBsaW5lLgorIworI3NvdXJjZSBzX25ldCB7IHRjcChpcCgxMjcuMC4wLjEpIHBvcnQoMTAwMCkgYXV0aGVudGljYXRpb24ocmVxdWlyZWQpIGVuY3J5cHQoYWxsb3cpKTsgfTsKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIERlc3RpbmF0aW9ucworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEZpcnN0IHNvbWUgc3RhbmRhcmQgbG9nZmlsZQorIworZGVzdGluYXRpb24gZF9hdXRoIHsgZmlsZSgiL3Zhci9sb2cvYXV0aC5sb2ciKTsgfTsKK2Rlc3RpbmF0aW9uIGRfY3JvbiB7IGZpbGUoIi92YXIvbG9nL2Nyb24ubG9nIik7IH07CitkZXN0aW5hdGlvbiBkX2RhZW1vbiB7IGZpbGUoIi92YXIvbG9nL2RhZW1vbi5sb2ciKTsgfTsKK2Rlc3RpbmF0aW9uIGRfa2VybiB7IGZpbGUoIi92YXIvbG9nL2tlcm4ubG9nIik7IH07CitkZXN0aW5hdGlvbiBkX2xwciB7IGZpbGUoIi92YXIvbG9nL2xwci5sb2ciKTsgfTsKK2Rlc3RpbmF0aW9uIGRfbWFpbCB7IGZpbGUoIi92YXIvbG9nL21haWwubG9nIik7IH07CitkZXN0aW5hdGlvbiBkX3N5c2xvZyB7IGZpbGUoIi92YXIvbG9nL3N5c2xvZyIpOyB9OworZGVzdGluYXRpb24gZF91c2VyIHsgZmlsZSgiL3Zhci9sb2cvdXNlci5sb2ciKTsgfTsKK2Rlc3RpbmF0aW9uIGRfdXVjcCB7IGZpbGUoIi92YXIvbG9nL3V1Y3AubG9nIik7IH07CisKKyMgVGhpcyBmaWxlcyBhcmUgdGhlIGxvZyBjb21lIGZyb20gdGhlIG1haWwgc3Vic3lzdGVtLgorIworZGVzdGluYXRpb24gZF9tYWlsaW5mbyB7IGZpbGUoIi92YXIvbG9nL21haWwvbWFpbC5pbmZvIik7IH07CitkZXN0aW5hdGlvbiBkX21haWx3YXJuIHsgZmlsZSgiL3Zhci9sb2cvbWFpbC9tYWlsLndhcm4iKTsgfTsKK2Rlc3RpbmF0aW9uIGRfbWFpbGVyciB7IGZpbGUoIi92YXIvbG9nL21haWwvbWFpbC5lcnIiKTsgfTsKKworIyBMb2dnaW5nIGZvciBJTk4gbmV3cyBzeXN0ZW0KKyMKK2Rlc3RpbmF0aW9uIGRfbmV3c2NyaXQgeyBmaWxlKCIvdmFyL2xvZy9uZXdzL25ld3MuY3JpdCIpOyB9OworZGVzdGluYXRpb24gZF9uZXdzZXJyIHsgZmlsZSgiL3Zhci9sb2cvbmV3cy9uZXdzLmVyciIpOyB9OworZGVzdGluYXRpb24gZF9uZXdzbm90aWNlIHsgZmlsZSgiL3Zhci9sb2cvbmV3cy9uZXdzLm5vdGljZSIpOyB9OworCisjIFNvbWUgYGNhdGNoLWFsbCcgbG9nZmlsZXMuCisjCitkZXN0aW5hdGlvbiBkX2RlYnVnIHsgZmlsZSgiL3Zhci9sb2cvZGVidWciKTsgfTsKK2Rlc3RpbmF0aW9uIGRfZXJyb3IgeyBmaWxlKCIvdmFyL2xvZy9lcnJvciIpOyB9OworZGVzdGluYXRpb24gZF9tZXNzYWdlcyB7IGZpbGUoIi92YXIvbG9nL21lc3NhZ2VzIik7IH07CisKKyMgVGhlIHJvb3QncyBjb25zb2xlLgorIworZGVzdGluYXRpb24gZF9jb25zb2xlIHsgdXNlcnR0eSgicm9vdCIpOyB9OworCisjIFZpcnR1YWwgY29uc29sZS4KKyMKK2Rlc3RpbmF0aW9uIGRfY29uc29sZV9hbGwgeyBmaWxlKCIvZGV2L3R0eTEwIik7IH07CisKKyMgVGhlIG5hbWVkIHBpcGUgL2Rldi94Y29uc29sZSBpcyBmb3IgdGhlIG5zb2xlJyB1dGlsaXR5LiAgVG8gdXNlIGl0LAorIyB5b3UgbXVzdCBpbnZva2UgbnNvbGUnIHdpdGggdGhlIC1maWxlJyBvcHRpb246CisjCisjICAgICQgeGNvbnNvbGUgLWZpbGUgL2Rldi94Y29uc29sZSBbLi4uXQorIworZGVzdGluYXRpb24gZF94Y29uc29sZSB7IHBpcGUoIi9kZXYveGNvbnNvbGUiKTsgfTsKKworIyBTZW5kIHRoZSBtZXNzYWdlcyB0byBhbiBvdGhlciBob3N0CisjCisjZGVzdGluYXRpb24gZF9uZXQgeyB0Y3AoIjEyNy4wLjAuMSIgcG9ydCgxMDAwKSBhdXRoZW50aWNhdGlvbihvbikgZW5jcnlwdChvbikgbG9nX2ZpZm9fc2l6ZSgxMDAwKSk7IH07CisKKyMgRGViaWFuIG9ubHkKK2Rlc3RpbmF0aW9uIGRfcHBwIHsgZmlsZSgiL3Zhci9sb2cvcHBwLmxvZyIpOyB9OworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgRmlsdGVycworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEhlcmUncyBjb21lIHRoZSBmaWx0ZXIgb3B0aW9ucy4gV2l0aCB0aGlzIHJ1bGVzLCB3ZSBjYW4gc2V0IHdoaWNoCisjIG1lc3NhZ2UgZ28gd2hlcmUuCisKK2ZpbHRlciBmX2RiZyB7IGxldmVsKGRlYnVnKTsgfTsKK2ZpbHRlciBmX2luZm8geyBsZXZlbChpbmZvKTsgfTsKK2ZpbHRlciBmX25vdGljZSB7IGxldmVsKG5vdGljZSk7IH07CitmaWx0ZXIgZl93YXJuIHsgbGV2ZWwod2Fybik7IH07CitmaWx0ZXIgZl9lcnIgeyBsZXZlbChlcnIpOyB9OworZmlsdGVyIGZfY3JpdCB7IGxldmVsKGNyaXQgLi4gZW1lcmcpOyB9OworCitmaWx0ZXIgZl9kZWJ1ZyB7IGxldmVsKGRlYnVnKSBhbmQgbm90IGZhY2lsaXR5KGF1dGgsIGF1dGhwcml2LCBuZXdzLCBtYWlsKTsgfTsKK2ZpbHRlciBmX2Vycm9yIHsgbGV2ZWwoZXJyIC4uIGVtZXJnKSA7IH07CitmaWx0ZXIgZl9tZXNzYWdlcyB7IGxldmVsKGluZm8sbm90aWNlLHdhcm4pIGFuZAorICAgICAgICAgICAgICAgICAgICBub3QgZmFjaWxpdHkoYXV0aCxhdXRocHJpdixjcm9uLGRhZW1vbixtYWlsLG5ld3MpOyB9OworCitmaWx0ZXIgZl9hdXRoIHsgZmFjaWxpdHkoYXV0aCwgYXV0aHByaXYpIGFuZCBub3QgZmlsdGVyKGZfZGVidWcpOyB9OworZmlsdGVyIGZfY3JvbiB7IGZhY2lsaXR5KGNyb24pIGFuZCBub3QgZmlsdGVyKGZfZGVidWcpOyB9OworZmlsdGVyIGZfZGFlbW9uIHsgZmFjaWxpdHkoZGFlbW9uKSBhbmQgbm90IGZpbHRlcihmX2RlYnVnKTsgfTsKK2ZpbHRlciBmX2tlcm4geyBmYWNpbGl0eShrZXJuKSBhbmQgbm90IGZpbHRlcihmX2RlYnVnKTsgfTsKK2ZpbHRlciBmX2xwciB7IGZhY2lsaXR5KGxwcikgYW5kIG5vdCBmaWx0ZXIoZl9kZWJ1Zyk7IH07CitmaWx0ZXIgZl9sb2NhbCB7IGZhY2lsaXR5KGxvY2FsMCwgbG9jYWwxLCBsb2NhbDMsIGxvY2FsNCwgbG9jYWw1LAorICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWw2LCBsb2NhbDcpIGFuZCBub3QgZmlsdGVyKGZfZGVidWcpOyB9OworZmlsdGVyIGZfbWFpbCB7IGZhY2lsaXR5KG1haWwpIGFuZCBub3QgZmlsdGVyKGZfZGVidWcpOyB9OworZmlsdGVyIGZfbmV3cyB7IGZhY2lsaXR5KG5ld3MpIGFuZCBub3QgZmlsdGVyKGZfZGVidWcpOyB9OworZmlsdGVyIGZfc3lzbG9nMyB7IG5vdCBmYWNpbGl0eShhdXRoLCBhdXRocHJpdiwgbWFpbCkgYW5kIG5vdCBmaWx0ZXIoZl9kZWJ1Zyk7IH07CitmaWx0ZXIgZl91c2VyIHsgZmFjaWxpdHkodXNlcikgYW5kIG5vdCBmaWx0ZXIoZl9kZWJ1Zyk7IH07CitmaWx0ZXIgZl91dWNwIHsgZmFjaWxpdHkodXVjcCkgYW5kIG5vdCBmaWx0ZXIoZl9kZWJ1Zyk7IH07CisKK2ZpbHRlciBmX2NuZXdzIHsgbGV2ZWwobm90aWNlLCBlcnIsIGNyaXQpIGFuZCBmYWNpbGl0eShuZXdzKTsgfTsKK2ZpbHRlciBmX2NvdGhlciB7IGxldmVsKGRlYnVnLCBpbmZvLCBub3RpY2UsIHdhcm4pIG9yIGZhY2lsaXR5KGRhZW1vbiwgbWFpbCk7IH07CisKK2ZpbHRlciBmX3BwcCB7IGZhY2lsaXR5KGxvY2FsMikgYW5kIG5vdCBmaWx0ZXIoZl9kZWJ1Zyk7IH07CitmaWx0ZXIgZl9jb25zb2xlIHsgbGV2ZWwod2FybiAuLiBlbWVyZyk7IH07CisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBMb2cgcGF0aHMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworbG9nIHsgc291cmNlKHNfc3JjKTsgZmlsdGVyKGZfYXV0aCk7IGRlc3RpbmF0aW9uKGRfYXV0aCk7IH07Citsb2cgeyBzb3VyY2Uoc19zcmMpOyBmaWx0ZXIoZl9jcm9uKTsgZGVzdGluYXRpb24oZF9jcm9uKTsgfTsKK2xvZyB7IHNvdXJjZShzX3NyYyk7IGZpbHRlcihmX2RhZW1vbik7IGRlc3RpbmF0aW9uKGRfZGFlbW9uKTsgfTsKK2xvZyB7IHNvdXJjZShzX3NyYyk7IGZpbHRlcihmX2tlcm4pOyBkZXN0aW5hdGlvbihkX2tlcm4pOyB9OworbG9nIHsgc291cmNlKHNfc3JjKTsgZmlsdGVyKGZfbHByKTsgZGVzdGluYXRpb24oZF9scHIpOyB9OworbG9nIHsgc291cmNlKHNfc3JjKTsgZmlsdGVyKGZfc3lzbG9nMyk7IGRlc3RpbmF0aW9uKGRfc3lzbG9nKTsgfTsKK2xvZyB7IHNvdXJjZShzX3NyYyk7IGZpbHRlcihmX3VzZXIpOyBkZXN0aW5hdGlvbihkX3VzZXIpOyB9OworbG9nIHsgc291cmNlKHNfc3JjKTsgZmlsdGVyKGZfdXVjcCk7IGRlc3RpbmF0aW9uKGRfdXVjcCk7IH07CisKK2xvZyB7IHNvdXJjZShzX3NyYyk7IGZpbHRlcihmX21haWwpOyBkZXN0aW5hdGlvbihkX21haWwpOyB9OworI2xvZyB7IHNvdXJjZShzX3NyYyk7IGZpbHRlcihmX21haWwpOyBmaWx0ZXIoZl9pbmZvKTsgZGVzdGluYXRpb24oZF9tYWlsaW5mbyk7IH07CisjbG9nIHsgc291cmNlKHNfc3JjKTsgZmlsdGVyKGZfbWFpbCk7IGZpbHRlcihmX3dhcm4pOyBkZXN0aW5hdGlvbihkX21haWx3YXJuKTsgfTsKKyNsb2cgeyBzb3VyY2Uoc19zcmMpOyBmaWx0ZXIoZl9tYWlsKTsgZmlsdGVyKGZfZXJyKTsgZGVzdGluYXRpb24oZF9tYWlsZXJyKTsgfTsKKworbG9nIHsgc291cmNlKHNfc3JjKTsgZmlsdGVyKGZfbmV3cyk7IGZpbHRlcihmX2NyaXQpOyBkZXN0aW5hdGlvbihkX25ld3Njcml0KTsgfTsKK2xvZyB7IHNvdXJjZShzX3NyYyk7IGZpbHRlcihmX25ld3MpOyBmaWx0ZXIoZl9lcnIpOyBkZXN0aW5hdGlvbihkX25ld3NlcnIpOyB9OworbG9nIHsgc291cmNlKHNfc3JjKTsgZmlsdGVyKGZfbmV3cyk7IGZpbHRlcihmX25vdGljZSk7IGRlc3RpbmF0aW9uKGRfbmV3c25vdGljZSk7IH07CisjbG9nIHsgc291cmNlKHNfc3JjKTsgZmlsdGVyKGZfY25ld3MpOyBkZXN0aW5hdGlvbihkX2NvbnNvbGVfYWxsKTsgfTsKKyNsb2cgeyBzb3VyY2Uoc19zcmMpOyBmaWx0ZXIoZl9jb3RoZXIpOyBkZXN0aW5hdGlvbihkX2NvbnNvbGVfYWxsKTsgfTsKKworI2xvZyB7IHNvdXJjZShzX3NyYyk7IGZpbHRlcihmX3BwcCk7IGRlc3RpbmF0aW9uKGRfcHBwKTsgfTsKKworbG9nIHsgc291cmNlKHNfc3JjKTsgZmlsdGVyKGZfZGVidWcpOyBkZXN0aW5hdGlvbihkX2RlYnVnKTsgfTsKK2xvZyB7IHNvdXJjZShzX3NyYyk7IGZpbHRlcihmX2Vycm9yKTsgZGVzdGluYXRpb24oZF9lcnJvcik7IH07Citsb2cgeyBzb3VyY2Uoc19zcmMpOyBmaWx0ZXIoZl9tZXNzYWdlcyk7IGRlc3RpbmF0aW9uKGRfbWVzc2FnZXMpOyB9OworCitsb2cgeyBzb3VyY2Uoc19zcmMpOyBmaWx0ZXIoZl9jb25zb2xlKTsgZGVzdGluYXRpb24oZF9jb25zb2xlX2FsbCk7CisJCQkJICAgIGRlc3RpbmF0aW9uKGRfeGNvbnNvbGUpOyB9OworbG9nIHsgc291cmNlKHNfc3JjKTsgZmlsdGVyKGZfY3JpdCk7IGRlc3RpbmF0aW9uKGRfY29uc29sZSk7IH07CisKKyMgQWxsIG1lc3NhZ2VzIHNlbmQgdG8gYSByZW1vdGUgc2l0ZQorIworI2xvZyB7IHNvdXJjZShzX3NyYyk7IGRlc3RpbmF0aW9uKGRfbmV0KTsgfTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL3N5c2xvZy1uZy5zZXJ2aWNlLXRoZS1zeXNsb2ctbmctc2VydmljZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL3N5c2xvZy1uZy5zZXJ2aWNlLXRoZS1zeXNsb2ctbmctc2VydmljZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTNjNjA3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvc3lzbG9nLW5nLnNlcnZpY2UtdGhlLXN5c2xvZy1uZy1zZXJ2aWNlLnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Zyb20gMGJlOWMwOGRkM2Y4MjVlOTJmYTAyZDRhMDhkOGFmZjc0MzEwOWU2MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExpIHhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IFdlZCwgMTcgSnVuIDIwMTUgMTQ6NDY6MzAgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gc3lzbG9nLW5nLnNlcnZpY2U6IHRoZSBzeXNsb2ctbmcgc2VydmljZSBjYW4gbm90IHN0YXJ0Cisgc3VjY2Vzc2Z1bGx5LHNvIG1vZGlmeSBpdC4KKworVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IExpIFhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KKy0tLQorIGNvbnRyaWIvc3lzdGVtZC9zeXNsb2ctbmcuc2VydmljZSB8IDUgKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb24oKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb250cmliL3N5c3RlbWQvc3lzbG9nLW5nLnNlcnZpY2UgYi9jb250cmliL3N5c3RlbWQvc3lzbG9nLW5nLnNlcnZpY2UKK2luZGV4IGZjMTZmOGQuLjhlMDlkZWIgMTAwNjQ0CistLS0gYS9jb250cmliL3N5c3RlbWQvc3lzbG9nLW5nLnNlcnZpY2UKKysrKyBiL2NvbnRyaWIvc3lzdGVtZC9zeXNsb2ctbmcuc2VydmljZQorQEAgLTMsOSArMyw4IEBAIERlc2NyaXB0aW9uPVN5c3RlbSBMb2dnZXIgRGFlbW9uCisgRG9jdW1lbnRhdGlvbj1tYW46c3lzbG9nLW5nKDgpCisgCisgW1NlcnZpY2VdCistVHlwZT1ub3RpZnkKKy1FeGVjU3RhcnQ9L3Vzci9zYmluL3N5c2xvZy1uZyAtRgorLUV4ZWNSZWxvYWQ9L2Jpbi9raWxsIC1IVVAgJE1BSU5QSUQKKytFeGVjU3RhcnQ9QFNCSU5ESVJAL3N5c2xvZy1uZyAtRiAtcCBATE9DQUxTVEFURURJUkAvcnVuL3N5c2xvZ2QucGlkCisrRXhlY1JlbG9hZD1AQkFTRUJJTkRJUkAva2lsbCAtSFVQICRNQUlOUElECisgU3RhbmRhcmRPdXRwdXQ9am91cm5hbAorIFN0YW5kYXJkRXJyb3I9am91cm5hbAorIFJlc3RhcnQ9b24tZmFpbHVyZQorLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL3ZvbGF0aWxlcy4wM19zeXNsb2ctbmcgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy92b2xhdGlsZXMuMDNfc3lzbG9nLW5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjNGE1MGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy92b2xhdGlsZXMuMDNfc3lzbG9nLW5nCkBAIC0wLDAgKzEgQEAKK2Qgcm9vdCByb290IDA3NTUgL3Zhci9ydW4vc3lzbG9nLW5nIG5vbmUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL3N5c2xvZy1uZy5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9zeXNsb2ctbmcuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlMGY2OTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9zeXNsb2ctbmcuaW5jCkBAIC0wLDAgKzEsMTE4IEBACitTVU1NQVJZID0gIkFsdGVybmF0aXZlIHN5c3RlbSBsb2dnZXIgZGFlbW9uIgorREVTQ1JJUFRJT04gPSAic3lzbG9nLW5nLCBhcyB0aGUgbmFtZSBzaG93cywgaXMgYSBzeXNsb2dkIHJlcGxhY2VtZW50LCBcCitidXQgd2l0aCBuZXcgZnVuY3Rpb25hbGl0eSBmb3IgdGhlIG5ldyBnZW5lcmF0aW9uLiBUaGUgb3JpZ2luYWwgc3lzbG9nZCBcCithbGxvd3MgbWVzc2FnZXMgb25seSB0byBiZSBzb3J0ZWQgYmFzZWQgb24gcHJpb3JpdHkvZmFjaWxpdHkgcGFpcnM7IFwKK3N5c2xvZy1uZyBhZGRzIHRoZSBwb3NzaWJpbGl0eSB0byBmaWx0ZXIgYmFzZWQgb24gbWVzc2FnZSBjb250ZW50cyB1c2luZyBcCityZWd1bGFyIGV4cHJlc3Npb25zLiBUaGUgbmV3IGNvbmZpZ3VyYXRpb24gc2NoZW1lIGlzIGludHVpdGl2ZSBhbmQgcG93ZXJmdWwuIFwKK0ZvcndhcmRpbmcgbG9ncyBvdmVyIFRDUCBhbmQgcmVtZW1iZXJpbmcgYWxsIGZvcndhcmRpbmcgaG9wcyBtYWtlcyBpdCBcCitpZGVhbCBmb3IgZmlyZXdhbGxlZCBlbnZpcm9ubWVudHMuIFwKKyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuYmFsYWJpdC5jb20vbmV0d29yay1zZWN1cml0eS9zeXNsb2ctbmcvb3BlbnNvdXJjZS1sb2dnaW5nLXN5c3RlbSIKKworTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTBlODY1OGQ5YmUyNDhmMDFiNzkzM2RmMjRkYzE0MDgiCisKKyMgdXRpbC1saW51eCBhZGRlZCB0byBnZXQgbGlidXVpZAorREVQRU5EUyA9ICJsaWJwY3JlIGZsZXggZXZlbnRsb2cgZ2xpYi0yLjAgdXRpbC1saW51eCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmJhbGFiaXQuY29tL2Rvd25sb2Fkcy9maWxlcy9zeXNsb2ctbmcvc291cmNlcy8ke1BWfS9zb3VyY2UvJHtCUE59XyR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9zeXNsb2ctbmcuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly9pbml0c2NyaXB0IFwKKyAgICAgICAgICAgZmlsZTovL3ZvbGF0aWxlcy4wM19zeXNsb2ctbmcgXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLmFjLWFkZC1vcHRpb24tZW5hYmxlLXRocmVhZC10bHMtdG8tbWFuYWdlLS5wYXRjaCBcCisiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHN5c3RlbWQgcGtnY29uZmlnIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgdXBkYXRlLXJjLmQKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS1lbmFibGUtZHluYW1pYy1saW5raW5nIFwKKyAgICAtLWRpc2FibGUtc3ViLXN0cmVhbXMgXAorICAgIC0tZGlzYWJsZS1wYWNjdCBcCisgICAgLS1sb2NhbHN0YXRlZGlyPSR7bG9jYWxzdGF0ZWRpcn0vbGliLyR7QlBOfSBcCisgICAgLS1zeXNjb25mZGlyPSR7c3lzY29uZmRpcn0vJHtCUE59IFwKKyAgICAtLXdpdGgtbW9kdWxlLWRpcj0ke2xpYmRpcn0vJHtCUE59IFwKKyAgICAtLXdpdGgtc3lzcm9vdD0ke1NUQUdJTkdfRElSX0hPU1R9IFwKKyAgICAtLXdpdGgtbGlibW9uZ28tY2xpZW50PW5vIC0tZGlzYWJsZS1tb25nb2RiIFwKKyAgICAtLXdpdGgtbGlicmFiYml0bXEtY2xpZW50PW5vIFwKKyAgICAke0NPTkZJR19UTFN9IFwKKyIKKworQ09ORklHX1RMUyA9ICItLWVuYWJsZS10aHJlYWQtdGxzIgorQ09ORklHX1RMU19hcm0gPSAiJHtAYmFzZV9jb25kaXRpb25hbCggIkRFQlVHX0JVSUxEIiwgIjEiLCAiIC0tZGlzYWJsZS10aHJlYWQtdGxzIiwgIiAtLWVuYWJsZS10aHJlYWQtdGxzIiwgZCApfSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIm9wZW5zc2wgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsICdpcHY2JywgJycsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3N5c3RlbWQnLCAnJywgZCl9IFwKKyIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS1lbmFibGUtc3NsLC0tZGlzYWJsZS1zc2wsb3BlbnNzbCwiCitQQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsLCIKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS1lbmFibGUtc3lzdGVtZCAtLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8sLS1kaXNhYmxlLXN5c3RlbWQgLS13aXRob3V0LXN5c3RlbWRzeXN0ZW11bml0ZGlyLHN5c3RlbWQsIgorUEFDS0FHRUNPTkZJR1tsaW51eC1jYXBzXSA9ICItLWVuYWJsZS1saW51eC1jYXBzLC0tZGlzYWJsZS1saW51eC1jYXBzLGxpYmNhcCwiCitQQUNLQUdFQ09ORklHW3BjcmVdID0gIi0tZW5hYmxlLXBjcmUsLS1kaXNhYmxlLXBjcmUsbGlicGNyZSwiCitQQUNLQUdFQ09ORklHW2RiaV0gPSAiLS1lbmFibGUtc3FsLC0tZGlzYWJsZS1zcWwsbGliZGJpLCIKK1BBQ0tBR0VDT05GSUdbbGlibmV0XSA9ICItLWVuYWJsZS1saWJuZXQgLS13aXRoLWxpYm5ldD0ke1NUQUdJTkdfQklORElSX0NST1NTfSwtLWRpc2FibGUtbGlibmV0LGxpYm5ldCwiCitQQUNLQUdFQ09ORklHW3NtdHBdID0gIi0tZW5hYmxlLXNtdHAgLS13aXRoLWxpYmVzbXRwPSR7U1RBR0lOR19MSUJESVJ9LC0tZGlzYWJsZS1zbXRwLGxpYmVzbXRwLCIKK1BBQ0tBR0VDT05GSUdbanNvbl0gPSAiLS1lbmFibGUtanNvbiwtLWRpc2FibGUtanNvbixqc29uLWMsIgorUEFDS0FHRUNPTkZJR1t0Y3Atd3JhcHBlcl0gPSAiLS1lbmFibGUtdGNwLXdyYXBwZXIsLS1kaXNhYmxlLXRjcC13cmFwcGVyLHRjcC13cmFwcGVycywiCitQQUNLQUdFQ09ORklHW2dlb2lwXSA9ICItLWVuYWJsZS1nZW9pcCwtLWRpc2FibGUtZ2VvaXAsZ2VvaXAsIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBldmFsICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2xhcmdlZmlsZScsICcnLCAnc2VkIC1pIC1lICJzLy1EX0xBUkdFRklMRV9TT1VSQ0UvLyIgLWUgInMvLURfRklMRV9PRkZTRVRfQklUUz02NC8vIiAke1N9L2NvbmZpZ3VyZS5pbicsIGQpfSIKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vJHtCUE59CisgICAgaW5zdGFsbCAke1dPUktESVJ9L3N5c2xvZy1uZy5jb25mICR7RH0ke3N5c2NvbmZkaXJ9LyR7QlBOfS8ke0JQTn0uY29uZgorICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gNzU1ICR7V09SS0RJUn0vaW5pdHNjcmlwdCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kL3N5c2xvZy4ke0JQTn0KKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcy8KKyAgICBpbnN0YWxsIC1tIDc1NSAke1dPUktESVJ9L3ZvbGF0aWxlcy4wM19zeXNsb2ctbmcgJHtEfS8ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzLzAzX3N5c2xvZy1uZworICAgIGluc3RhbGwgLWQgJHtEfS8ke2xvY2Fsc3RhdGVkaXJ9L2xpYi8ke0JQTn0KKyAgICAjIFJlbW92ZSAvdmFyL3J1biBhcyBpdCBpcyBjcmVhdGVkIG9uIHN0YXJ0dXAKKyAgICBybSAtcmYgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuCisgICAgc2VkIC1pIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnICR7U30vY29udHJpYi9zeXN0ZW1kLyouc2VydmljZQorICAgIHNlZCAtaSAtZSAncyxATE9DQUxTVEFURURJUkAsJHtsb2NhbHN0YXRlZGlyfSxnJyAke1N9L2NvbnRyaWIvc3lzdGVtZC8qLnNlcnZpY2UKKyAgICBzZWQgLWkgLWUgJ3MsQEJBU0VCSU5ESVJALCR7YmFzZV9iaW5kaXJ9LGcnICR7U30vY29udHJpYi9zeXN0ZW1kLyouc2VydmljZQorfQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9pbmNsdWRlL3NjbC8gJHtkYXRhZGlyfS94c2QgJHtkYXRhZGlyfS90b29scyIKK1JERVBFTkRTXyR7UE59ICs9ICJnYXdrIgorCisjIFRoaXMgb3ZlcmNvbWVzIHRoZSBzeXNsb2ctbmcgcmRlcGVuZHMgb24gc3lzbG9nLW5nLWRldiBRQSBFcnJvcgorUEFDS0FHRVMgPSsgIiR7UE59LWxpYnMgJHtQTn0tbGlicy1kZXYgJHtQTn0tbGlicy1kYmciCitGSUxFU18ke1BOfS1saWJzID0gIiR7bGliZGlyfS8ke0JQTn0vKi5zbyAke2xpYmRpcn0vbGlic3lzbG9nLW5nLSouc28qIgorRklMRVNfJHtQTn0tbGlicy1kZXYgPSAiJHtsaWJkaXJ9LyR7QlBOfS9saWIqLmxhIgorRklMRVNfJHtQTn0tbGlicy1kYmcgPSAiJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWciCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9LyR7QlBOfS9saWJ0ZXN0LyouYSIKK0lOU0FORV9TS0lQXyR7UE59LWxpYnMgPSAiZGV2LXNvIgorUkRFUEVORFNfJHtQTn0gKz0gIiR7UE59LWxpYnMiCisKK0NPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9LyR7QlBOfS5jb25mICR7c3lzY29uZmRpcn0vc2NsLmNvbmYiCisKKyMgc3lzbG9nIGluaXRzY3JpcHQgaXMgaGFuZGxlZCBleHBsaWNpdGx5IGJlY2F1c2Ugb3JkZXIgb2YKKyMgdXBkYXRlLXJjLmQgYW5kIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgaXMgaW1wb3J0YW50CitSREVQRU5EU18ke1BOfSArPSAiICR7QGJhc2VfY29uZGl0aW9uYWwoIk9OTElORV9QQUNLQUdFX01BTkFHRU1FTlQiLCAibm9uZSIsICIiLCAidXBkYXRlLXJjLmQiLCBkKX0iCisKK1JQUk9WSURFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiJHtCUE59LnNlcnZpY2UiCisKKyMgbm8gc3lzbG9nLWluaXQgZm9yIHN5c3RlbWQKK3B5dGhvbiAoKSB7CisgICAgaWYgYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsIFRydWUsIEZhbHNlLCBkKToKKyAgICAgICAgcG4gPSBkLmdldFZhcignUE4nLCBUcnVlKQorICAgICAgICBzeXNjb25mZGlyID0gZC5nZXRWYXIoJ3N5c2NvbmZkaXInLCBUcnVlKQorICAgICAgICBkLmFwcGVuZFZhcignQUxURVJOQVRJVkVfJXMnICUgKHBuKSwgJyBzeXNsb2ctaW5pdCcpCisgICAgICAgIGQuc2V0VmFyRmxhZygnQUxURVJOQVRJVkVfUFJJT1JJVFknLCAnc3lzbG9nLWluaXQnLCAnMjAwJykKKyAgICAgICAgZC5zZXRWYXJGbGFnKCdBTFRFUk5BVElWRV9MSU5LX05BTUUnLCAnc3lzbG9nLWluaXQnLCAnJXMvaW5pdC5kL3N5c2xvZycgJSAoc3lzY29uZmRpcikpCisKKyAgICBpZiBiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCBUcnVlLCBGYWxzZSwgZCk6CisgICAgICAgIHBuID0gZC5nZXRWYXIoJ1BOJywgVHJ1ZSkKKyAgICAgICAgZC5hcHBlbmRWYXIoJ0FMVEVSTkFUSVZFXyVzJyAlIChwbiksICcgc3lzbG9nLXNlcnZpY2UnKQorICAgICAgICBkLnNldFZhckZsYWcoJ0FMVEVSTkFUSVZFX0xJTktfTkFNRScsICdzeXNsb2ctc2VydmljZScsICclcy9zeXN0ZW1kL3N5c3RlbS9zeXNsb2cuc2VydmljZScgJSAoZC5nZXRWYXIoJ3N5c2NvbmZkaXInLCBUcnVlKSkpCisgICAgICAgIGQuc2V0VmFyRmxhZygnQUxURVJOQVRJVkVfVEFSR0VUJywgJ3N5c2xvZy1zZXJ2aWNlJywgJyVzL3N5c3RlbS8ke0JQTn0uc2VydmljZScgJSAoZC5nZXRWYXIoJ3N5c3RlbWRfdW5pdGRpcicsIFRydWUpKSkKK30KKworSU5JVFNDUklQVF9OQU1FID0gInN5c2xvZyIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDIwIDIgMyA0IDUgLiBzdG9wIDkwIDAgMSA2IC4iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9zeXNsb2ctbmdfMy42LjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9zeXNsb2ctbmdfMy42LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzM2MDlhZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL3N5c2xvZy1uZ18zLjYuNC5iYgpAQCAtMCwwICsxLDE1IEBACityZXF1aXJlIHN5c2xvZy1uZy5pbmMKKworU1JDX1VSSSArPSAiIFwKKyAgICBmaWxlOi8vZml4LWEtbWVtb3J5LWxlYWstaW4tbG9nX2RyaXZlcl9mcmVlLnBhdGNoIFwKKyAgICBmaWxlOi8vZml4LWNvbmZpZy1saWJuZXQucGF0Y2ggXAorICAgIGZpbGU6Ly9maXgtaW52YWxpZC1vd25lcnNoaXAucGF0Y2ggXAorICAgIGZpbGU6Ly9GaXgtdGhlLW1lbW9yeS1sZWFrLXByb2JsZW0tZm9yLW11dGV4LnBhdGNoIFwKKyAgICBmaWxlOi8vRml4LXRoZS1tZW1vcnktbGVhay1wcm9ibGVtLXdoZW4tSEFWRV9FTlZJUk9OLWRlZmluZWQucGF0Y2ggXAorICAgIGZpbGU6Ly9jb25maWd1cmUucGF0Y2ggXAorICAgIGZpbGU6Ly9kYmlmaXgucGF0Y2ggXAorICAgIGZpbGU6Ly9zeXNsb2ctbmcuc2VydmljZS10aGUtc3lzbG9nLW5nLXNlcnZpY2UucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZTlmNDAxNjE1ZTkyZTVlYjI3Mzk2Yzk5NWMxNDQ2YmEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2JlMTFkZjMxYWM3ZDcxNmYxZjk1MmUyMmI1YWU4ZTIwNDllZGQ2MzNhNDFiMjIzNzc2YTg1M2Q5MTA2ZjRlNyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzdGVtLWNvbmZpZy1rZXlib2FyZC9zeXN0ZW0tY29uZmlnLWtleWJvYXJkXzEuNC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXN0ZW0tY29uZmlnLWtleWJvYXJkL3N5c3RlbS1jb25maWcta2V5Ym9hcmRfMS40LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDc4ZmNlYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzdGVtLWNvbmZpZy1rZXlib2FyZC9zeXN0ZW0tY29uZmlnLWtleWJvYXJkXzEuNC4wLmJiCkBAIC0wLDAgKzEsMjkgQEAKK0RFU0NSSVBUSU9OID0gImEgZ3JhcGhpY2FsIHVzZXIgaW50ZXJmYWNlIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIFwKK2NoYW5nZSB0aGUgZGVmYXVsdCBrZXlib2FyZCBvZiB0aGUgc3lzdGVtIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKK1NSQ19VUkkgPSAiaHR0cHM6Ly9mZWRvcmFob3N0ZWQub3JnL3JlbGVhc2VzL3MveS8ke0JQTn0vJHtCUH0udGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJjMjY3ZGIwZWU3YTIxMzFiYTQxODM5OWRjMTdmOWU3MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyMThjODgzZTRlMmJmY2M4MmJmZTA3ZTc4NTcwN2I1YzJlY2UyOGRmNzcyZjIxNTVmZDA0NGI5YmIxNjE0Mjg0IgoraW5oZXJpdCBweXRob24tZGlyCisKK2luaGVyaXQgcHl0aG9uLWRpciBnZXR0ZXh0CitERVBFTkRTID0gImludGx0b29sLW5hdGl2ZSIKKworRVhUUkFfT0VNQUtFID0gIiBcCisgICAgUFlUSE9OPScke1NUQUdJTkdfQklORElSX05BVElWRX0nL3B5dGhvbi1uYXRpdmUvcHl0aG9uIFwKKyAgICBQWVRIT05fU0lURUxJQj0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSBcCisiCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAorfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisgICAgcm0gLXJmICR7RH0vdXNyCit9CisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX0JBU0VWRVJTSU9OfS8qIFwKKyAgICR7ZGF0YWRpcn0vKiBcCisiCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzdGVtLXNldHVwLWtleWJvYXJkL3N5c3RlbS1zZXR1cC1rZXlib2FyZF8wLjguOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzdGVtLXNldHVwLWtleWJvYXJkL3N5c3RlbS1zZXR1cC1rZXlib2FyZF8wLjguOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYmJmYTNkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXN0ZW0tc2V0dXAta2V5Ym9hcmQvc3lzdGVtLXNldHVwLWtleWJvYXJkXzAuOC44LmJiCkBAIC0wLDAgKzEsMzEgQEAKK1NVTU1BUlkgPSAieG9yZy5jb25mIGtleWJvYXJkIGxheW91dCBjYWxsb3V0IgorREVTQ1JJUFRJT04gPSAic3lzdGVtLXNldHVwLWtleWJvYXJkIGlzIGEgZGFlbW9uIHRvIG1vbml0b3IgdGhlIGtleWJvYXJkIGxheW91dCBjb25maWd1cmVkIGluIFwKKy9ldGMvc3lzY29uZmlnL2tleWJvYXJkIGFuZCB0cmFuc2ZlciB0aGlzIGludG8gdGhlIG1hdGNoaW5nIHhvcmcuY29uZi5kIHNuaXBwZXQuIgorCitIT01FUEFHRSA9ICJodHRwczovL2dpdC5mZWRvcmFob3N0ZWQub3JnL2dpdC9zeXN0ZW0tc2V0dXAta2V5Ym9hcmQuZ2l0IgorU0VDVElPTiA9ICJBcHBsaWNhdGlvbnMvU3lzdGVtIgorCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0LmZlZG9yYWhvc3RlZC5vcmcvY2dpdC8ke1BOfS5naXQvc25hcHNob3QvJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjM5OTAwMzk2OGNjYzczOWNkZGQ5Y2MzNzBhZjM3N2EwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFlZjZlZjc5YzM1ODhlODVkN2Y0MmU5OWViODBhMmU0NTlmOTY2Mjg0Y2YwMjljMmQ2ZmMxYjY0NWFiY2I4NjAiCisKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YmY1Nzk2OWE1OTYxMmM1YWNhMDA3YjM0MGM0OWQzYTIiCisKK2luaGVyaXQgcHl0aG9ubmF0aXZlCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgc3lzdGVtLWNvbmZpZy1rZXlib2FyZC1uYXRpdmUiCisKK0VYVFJBX09FTUFLRSA9ICItZSBNQUtFRkxBR1M9IgorCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisgICAgJHtQWVRIT059IC12IGdldF9sYXlvdXRzLnB5ID4ga2V5Ym9hcmRzLmgKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9CisgICAgaW5zdGFsbCAtZCAke0R9L2V0Yy9YMTEveG9yZy5jb25mLmQKKyAgICB0b3VjaCAke0R9L2V0Yy9YMTEveG9yZy5jb25mLmQvMDAtc3lzdGVtLXNldHVwLWtleWJvYXJkLmNvbmYKK30KKworRklMRVNfJHtQTn0gKz0gIiR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vJHtCUE59LnNlcnZpY2UiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3RiYi90YmIvYWxsb3ctdG8tYnVpbGQtZm9yLW9sZGVyLWFybS1jb3Jlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdGJiL3RiYi9hbGxvdy10by1idWlsZC1mb3Itb2xkZXItYXJtLWNvcmVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkMmVjOTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3RiYi90YmIvYWxsb3ctdG8tYnVpbGQtZm9yLW9sZGVyLWFybS1jb3Jlcy5wYXRjaApAQCAtMCwwICsxLDMwIEBACitGcm9tOiBNYXJjaW4gSnVzemtpZXdpY3ogPG1hcmNpbi5qdXN6a2lld2ljekBsaW5hcm8ub3JnPgorRGVzY3JpcHRpb246IEFsbG93IHRvIGJ1aWxkIFRCQiBmb3IgQVJNIGNvcmVzIG9sZGVyIHRoYW4gQVJNdjdhCisKK3wgLi4vLi4vaW5jbHVkZS90YmIvbWFjaGluZS9nY2NfYXJtdjcuaDozOToyOiBlcnJvcjogI2Vycm9yIFRocmVhZGluZworQnVpbGRpbmcgQmxvY2tzIEFSTSBwb3J0IHJlcXVpcmVzIGFuIEFSTXY3LWEgYXJjaGl0ZWN0dXJlLgorfCBtYWtlWzFdOiAqKiogW2NvbmN1cnJlbnRfaGFzaF9tYXAub10gRXJyb3IgMQorCitodHRwczovL2J1Z3MubGF1bmNocGFkLm5ldC9saW5hcm8tb2UvK2J1Zy8xMTY3MTQ0CisKK1Vwc3RyZWFtLXN0YXR1czogcGVuZGluZworCistLS0KKyBpbmNsdWRlL3RiYi90YmJfbWFjaGluZS5oIHwgICAgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCistLS0gdGJiNDFfMjAxMzAzMTRvc3Mub3JpZy9pbmNsdWRlL3RiYi90YmJfbWFjaGluZS5oCisrKysgdGJiNDFfMjAxMzAzMTRvc3MvaW5jbHVkZS90YmIvdGJiX21hY2hpbmUuaAorQEAgLTIzNywxMSArMjM3LDExIEBAIHRlbXBsYXRlPD4gc3RydWN0IGF0b21pY19zZWxlY3Rvcjw4PiB7CisgICAgICAgICAjaW5jbHVkZSAibWFjaGluZS9saW51eF9pbnRlbDY0LmgiCisgICAgICNlbGlmIF9faWE2NF9fCisgICAgICAgICAjaW5jbHVkZSAibWFjaGluZS9saW51eF9pYTY0LmgiCisgICAgICNlbGlmIF9fcG93ZXJwY19fCisgICAgICAgICAjaW5jbHVkZSAibWFjaGluZS9tYWNfcHBjLmgiCistICAgICNlbGlmIF9fYXJtX18KKysgICAgI2VsaWYgX19BUk1fQVJDSF83QV9fCisgICAgICAgICAjaW5jbHVkZSAibWFjaGluZS9nY2NfYXJtdjcuaCIKKyAgICAgI2VsaWYgX19UQkJfR0NDX0JVSUxUSU5fQVRPTUlDU19QUkVTRU5UCisgICAgICAgICAjaW5jbHVkZSAibWFjaGluZS9nY2NfZ2VuZXJpYy5oIgorICAgICAjZW5kaWYKKyAgICAgI2luY2x1ZGUgIm1hY2hpbmUvbGludXhfY29tbW9uLmgiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3RiYi90YmIvY3Jvc3MtY29tcGlsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdGJiL3RiYi9jcm9zcy1jb21waWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5NzBhMzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3RiYi90YmIvY3Jvc3MtY29tcGlsZS5wYXRjaApAQCAtMCwwICsxLDI1IEBACitBdXRob3I6IE1hcmNpbiBKdXN6a2lld2ljeiA8bWFyY2luLmp1c3praWV3aWN6QGxpbmFyby5vcmc+CisKK1Vwc3RyZWFtLVN0YXR1czogdW5zdWl0YWJsZQorLS0tCisgYnVpbGQvbGludXguZ2NjLmluYyB8ICAgIDUgKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCistLS0gdGJiNDFfMjAxMjEwMDNvc3Mub3JpZy9idWlsZC9saW51eC5nY2MuaW5jCisrKysgdGJiNDFfMjAxMjEwMDNvc3MvYnVpbGQvbGludXguZ2NjLmluYworQEAgLTQwLDEyICs0MCwxMyBAQCBEWUxJQl9LRVkgPSAtc2hhcmVkCisgRVhQT1JUX0tFWSA9IC1XbCwtLXZlcnNpb24tc2NyaXB0LAorIExJQkRMID0gLWxkbAorIAorIFRCQl9OT1NUUklDVCA9IDEKKyAKKy1DUExVUyA9IGcrKworLUNPTkxZID0gZ2NjCisrQ1BMVVMgPSAkKENYWCkKKytDT05MWSA9ICQoQ0MpCisrQ1BMVVNfRkxBR1MgPSAkKENYWEZMQUdTKQorIExJQl9MSU5LX0ZMQUdTID0gJChEWUxJQl9LRVkpIC1XbCwtc29uYW1lPSQoQlVJTERJTkdfTElCUkFSWSkKKyBMSUJTICs9IC1scHRocmVhZCAtbHJ0CisgTElOS19GTEFHUyA9IC1XbCwtcnBhdGgtbGluaz0uCisgQ19GTEFHUyA9ICQoQ1BMVVNfRkxBR1MpCisgIyBnY2MgNC40IGFuZCBoaWdoZXIgc3VwcG9ydCAtc3RkPWMrKzB4CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3RiYi90YmIvdGJiLnBjIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC90YmIvdGJiL3RiYi5wYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NDRiNjRmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC90YmIvdGJiL3RiYi5wYwpAQCAtMCwwICsxLDExIEBACitwcmVmaXg9L3VzcgorZXhlY19wcmVmaXg9JHtwcmVmaXh9CitsaWJkaXI9JHtleGVjX3ByZWZpeH0vbGliCitpbmNsdWRlZGlyPSR7cHJlZml4fS9pbmNsdWRlCisKK05hbWU6IFRocmVhZGluZyBCdWlsZGluZyBCbG9ja3MKK0Rlc2NyaXB0aW9uOiBJbnRlbCdzIHBhcmFsbGVsaXNtIGxpYnJhcnkgZm9yIEMrKworVVJMOiBodHRwOi8vd3d3LnRocmVhZGluZ2J1aWxkaW5nYmxvY2tzLm9yZy8KK1ZlcnNpb246IDMuMCtyMDE4CitMaWJzOiAtTCR7bGliZGlyfSAtbHRiYgorQ2ZsYWdzOiAtSSR7aW5jbHVkZWRpcn0gCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3RiYi90YmJfNC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC90YmIvdGJiXzQuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOWVkNmVjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC90YmIvdGJiXzQuMS5iYgpAQCAtMCwwICsxLDQwIEBACitERVNDUklQVElPTiA9ICJQYXJhbGxlbGlzbSBsaWJyYXJ5IGZvciBDKysgLSBydW50aW1lIGZpbGVzIFwKKyAgICBUQkIgaXMgYSBsaWJyYXJ5IHRoYXQgaGVscHMgeW91IGxldmVyYWdlIG11bHRpLWNvcmUgcHJvY2Vzc29yIFwKKyAgICBwZXJmb3JtYW5jZSB3aXRob3V0IGhhdmluZyB0byBiZSBhIHRocmVhZGluZyBleHBlcnQuIEl0IHJlcHJlc2VudHMgYSBcCisgICAgaGlnaGVyLWxldmVsLCB0YXNrLWJhc2VkIHBhcmFsbGVsaXNtIHRoYXQgYWJzdHJhY3RzIHBsYXRmb3JtIGRldGFpbHMgXAorICAgIGFuZCB0aHJlYWRpbmcgbWVjaGFuaXNtIGZvciBwZXJmb3JtYW5jZSBhbmQgc2NhbGFiaWxpdHkuIgorSE9NRVBBR0UgPSAiaHR0cDovL3RocmVhZGluZ2J1aWxkaW5nYmxvY2tzLm9yZy8iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MmM3ZjJjYWYyNzdhMzkzM2UzYWNkZjdmODlkNTRjYzEiCitQUkRBVEUgPSAiMjAxMzAzMTQiCitQUiA9ICJyJHtQUkRBVEV9IgorCitTUkNfVVJJID0gImh0dHA6Ly90aHJlYWRpbmdidWlsZGluZ2Jsb2Nrcy5vcmcvc2l0ZXMvZGVmYXVsdC9maWxlcy9zb2Z0d2FyZV9yZWxlYXNlcy9zb3VyY2UvdGJiNDFfJHtQUkRBVEV9b3NzX3NyYy50Z3ogXAorICAgICAgICAgICBmaWxlOi8vY3Jvc3MtY29tcGlsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9hbGxvdy10by1idWlsZC1mb3Itb2xkZXItYXJtLWNvcmVzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3RiYi5wYyIKKworUyA9ICIke1dPUktESVJ9L3RiYjQxXyR7UFJEQVRFfW9zcy8iCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlZDRhZjdjY2ZhMTIyZjE2Y2Y5OTIwYjI0MTYzM2EzYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzMmZkNTk3OTk3MWI3NzJjYWE5NmQ0MDY0NmNlZTU4NWVkMDA3MDUxNmJhMmRiYmNiMWY5YjYwMzNkMDhhOTJkIgorCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UgY29tcGlsZXI9Z2NjIGFyY2g9JHtIT1NUX0FSQ0h9IHJ1bnRpbWU9Y2M0Cit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfSAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZworICAgIHJtICR7U30vaW5jbHVkZS90YmIvaW5kZXguaHRtbCAtZgorICAgIGNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12ICR7U30vaW5jbHVkZS90YmIgJHtEfSR7aW5jbHVkZWRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtCfS9idWlsZC9saW51eF8qX3JlbGVhc2UvbGliKi5zbyogJHtEfSR7bGliZGlyfQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3RiYi5wYyAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZworfQorCisjIGZhaWxzIHdpdGggdGh1bWIgZW5hYmxlZDoKKyMgfCBhcm0tb2UtbGludXgtZ251ZWFiaS1nKysgIC1tYXJjaD1hcm12Ny1hIC1tdGh1bWIgLW10aHVtYi1pbnRlcndvcmsgLW1mbG9hdC1hYmk9c29mdGZwIC1tZnB1PW5lb24gLW10dW5lPWNvcnRleC1hOSAtbWNwdT1jb3J0ZXgtYTkgLURfX0FSTV9fIC1EX19MSU5VWF9BUk1fQVJDSF9fPTcgLWZ1bndpbmQtdGFibGVzIC1tdmVjdG9yaXplLXdpdGgtbmVvbi1xdWFkIC1yZHluYW1pYyAtLXN5c3Jvb3Q9L09FL3N5c3Jvb3RzL20xNHR2IC1jIC1NTUQgLURUQkJfVVNFX0RFQlVHICAtZyAtTzAgLURVU0VfUFRIUkVBRCAtZlBJQyAtRF9fVEJCX0JVSUxEPTEgLVdhbGwgLVduby1wYXJlbnRoZXNlcyAtV25vLW5vbi12aXJ0dWFsLWR0b3IgLU8yIC1waXBlIC1nIC1mZWxpbWluYXRlLXVudXNlZC1kZWJ1Zy10eXBlcyAtZnBlcm1pc3NpdmUgLWZ2aXNpYmlsaXR5LWlubGluZXMtaGlkZGVuICAgLUkuLi8uLi9zcmMgLUkuLi8uLi9zcmMvcm1sL2luY2x1ZGUgLUkuLi8uLi9pbmNsdWRlIC4uLy4uL3NyYy90YmIvY29uY3VycmVudF9xdWV1ZS5jcHAKKyMgfCB7c3RhbmRhcmQgaW5wdXR9OiBBc3NlbWJsZXIgbWVzc2FnZXM6CisjIHwge3N0YW5kYXJkIGlucHV0fToyNTA6IEVycm9yOiB0aHVtYiBjb25kaXRpb25hbCBpbnN0cnVjdGlvbiBzaG91bGQgYmUgaW4gSVQgYmxvY2sgLS0gYHN0cmV4ZXEgcjIscjMsW3I0XScKKyMgLi4uCisjIHwgbWFrZVsxXTogKioqIFtjb25jdXJyZW50X3F1ZXVlLm9dIEVycm9yIDEKK0FSTV9JTlNUUlVDVElPTl9TRVQgPSAiYXJtIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC90b21veW8tdG9vbHMvdG9tb3lvLXRvb2xzXzIuNS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC90b21veW8tdG9vbHMvdG9tb3lvLXRvb2xzXzIuNS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFjODU5M2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3RvbW95by10b29scy90b21veW8tdG9vbHNfMi41LjAuYmIKQEAgLTAsMCArMSwzMCBAQAorU1VNTUFSWSA9ICJUT01PWU8gTGludXggdG9vbHMiCitERVNDUklQVElPTiA9ICJUT01PWU8gTGludXggaXMgYSBNYW5kYXRvcnkgQWNjZXNzIENvbnRyb2wgKE1BQykgaW1wbGVtZW50YXRpb24gXAorZm9yIExpbnV4IHRoYXQgY2FuIGJlIHVzZWQgdG8gaW5jcmVhc2UgdGhlIHNlY3VyaXR5IG9mIGEgc3lzdGVtLCB3aGlsZSBhbHNvIFwKK2JlaW5nIHVzZWZ1bCBwdXJlbHkgYXMgYSBzeXN0ZW0gYW5hbHlzaXMgdG9vbC4iCitIT01FUEFHRSA9ICJodHRwOi8vdG9tb3lvLnNvdXJjZWZvcmdlLmpwLyIKK1NFQ1RJT04gPSAiU3lzdGVtIEVudmlyb25tZW50L0tlcm5lbCIKKworU1JDX1VSSSA9ICJodHRwOi8vamFpc3QuZGwuc291cmNlZm9yZ2UuanAvdG9tb3lvLzUzMzU3LyR7QlB9LTIwMTQwNjAxLnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI4ODg4NjliNzkzMTI3ZjAwZDY0MzlhMzI0NjU5OGI4MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxMThlZjZiYTFmYmY3YzBiODMwMThjM2EwZDRkNTQ4NWRmYjliNWI3ZjY0N2YzN2NlOWY2Mzg0MWEzMTMzYzJhIgorCitTID0gIiR7V09SS0RJUn0vJHtCUE59IgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy50b21veW87bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorCitGSUxFU18ke1BOfSAgICAgKz0gIiR7bGliZGlyfS90b21veW8iCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS90b21veW8vLmRlYnVnIgorCitERVBFTkRTID0gImxpbnV4LWxpYmMtaGVhZGVycyBuY3Vyc2VzIgorCitFWFRSQV9PRU1BS0UgPSAiLWUgVVNSTElCRElSPSR7bGliZGlyfSIKKworZG9fY29tcGlsZSAoKSB7CisJb2VfcnVubWFrZSAnQ0M9JHtDQ30nCit9CisKK2RvX2luc3RhbGwoKSB7CisJb2VfcnVubWFrZSBpbnN0YWxsIElOU1RBTExESVI9JHtEfQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC90b3Njb3Rlcm0vdG9zY290ZXJtX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdG9zY290ZXJtL3Rvc2NvdGVybV9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjRmODEzYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdG9zY290ZXJtL3Rvc2NvdGVybV9naXQuYmIKQEAgLTAsMCArMSwyNyBAQAorU1VNTUFSWSA9ICJBIHZlcnkgc21hbGwgYW5kIHNpbXBsZSB0ZXJtaW5hbCBlbXVsYXRvciIKK1NFQ1RJT04gPSAieDExL2FwcGxpY2F0aW9ucyIKK0RFUEVORFMgPSAidnRlIgorCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vbWFpbi5jO3N0YXJ0X2xpbmU9NTtlbmRfbGluZT0xNjttZDU9OWFlNGJmMjBjYWYyOTFhZmE5NDUzMDAyNmJkMTUyMjkiCisKKyMgMC4yIHZlcnNpb24KK1NSQ1JFViA9ICI4NTg2ZDYxN2FlZDE5ZmM3NWY1YWUxZTA3MjcwNzUyYzFiMmY5YTMwIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL09TU3lzdGVtcy90b3Njb3Rlcm0uZ2l0IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGdpdHBrZ3YgcGtnY29uZmlnCisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSBcCisgICAgICAgIENDPSIke0NDfSIgXAorICAgICAgICBDRkxBR1M9ImBwa2ctY29uZmlnIC0tY2ZsYWdzIHZ0ZWAke0NGTEFHU30iIFwKKyAgICAgICAgTERGTEFHUz0iYHBrZy1jb25maWcgLS1saWJzIHZ0ZWAgJHtMREZMQUdTfSIKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIFBSRUZJWD0iJHtwcmVmaXh9IiBERVNURElSPSIke0R9IiBpbnN0YWxsCit9CisKK1JERVBFTkRTXyR7UE59X2FwcGVuZF9saWJjLWdsaWJjICs9ICJnbGliYy1nY29udi1pYm00MzciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3RyZWUvdHJlZV8xLjcuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdHJlZS90cmVlXzEuNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlOGViZGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3RyZWUvdHJlZV8xLjcuMC5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIkEgcmVjdXJzaXZlIGRpcmVjdG9yeSBsaXN0aW5nIGNvbW1hbmQiCitIT01FUEFHRSA9ICJodHRwOi8vbWFtYS5pbmRzdGF0ZS5lZHUvdXNlcnMvaWNlL3RyZWUvIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTM5M2E1Y2E0NDVmNjk2NTg3M2VjYTAyNTlhMTdmODMzIgorCitTUkNfVVJJID0gImZ0cDovL21hbWEuaW5kc3RhdGUuZWR1L2xpbnV4LyR7QlBOfS8ke0JQfS50Z3oiCitTUkNfVVJJW21kNXN1bV0gPSAiYWJlM2UwM2U0NjljNTQyZDhlMTU3Y2RkOTNmNGQ4YTYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjk1N2MyMGU4MjU2MWFjNDIzMTYzODk5NmU3NGY0Y2ZhNGU2ZmFhYmM1YTJmNTExZjBiNGUzOTQwZThmN2IxMiIKKworIyB0cmVlJ3MgZGVmYXVsdCBDRkxBR1MgZm9yIExpbnV4CitDRkxBR1MgKz0gIi1XYWxsIC1ETElOVVggLURfTEFSR0VGSUxFNjRfU09VUkNFIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQiCisKK0VYVFJBX09FTUFLRSA9ICJDQz0nJHtDQ30nIENGTEFHUz0nJHtDRkxBR1N9JyBMREZMQUdTPScke0xERkxBR1N9JyIKKworZG9fY29uZmlndXJlW25vZXhlY10gPSAiMSIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS8ke0JQTn0gJHtEfSR7YmluZGlyfS8KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWRpc2tzL3VkaXNrcy8wMDAxLWZpeC1idWlsZC13aXRoLW5ld2VyLWdsaWJjLXZlcnNpb25zLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91ZGlza3MvdWRpc2tzLzAwMDEtZml4LWJ1aWxkLXdpdGgtbmV3ZXItZ2xpYmMtdmVyc2lvbnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTIwNjU1YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWRpc2tzL3VkaXNrcy8wMDAxLWZpeC1idWlsZC13aXRoLW5ld2VyLWdsaWJjLXZlcnNpb25zLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Zyb20gOTgyOTE1MmIxMmE4OTI0ZDJlMDkxYTAwMTMzZWQxYTNhN2JhNzVjMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRyZSBSb3N0b3Z0c2V2IDx0ZXRyb21pbm9AZ2VudG9vLm9yZz4KK0RhdGU6IEZyaSwgMjkgTWF5IDIwMTUgMjE6MDk6MzkgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSF0gZml4IGJ1aWxkIHdpdGggbmV3ZXIgZ2xpYmMgdmVyc2lvbnMKKworaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA3NzgKKworVXBzdHJlYW0tU3RhdHVzOiBBcHBsaWVkIFsxXQorCitbMV0gaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL3VkaXNrcy9jb21taXQvP2g9dWRpc2tzMSZpZD05ODI5MTUyYjEyYTg5MjRkMmUwOTFhMDAxMzNlZDFhM2E3YmE3NWMwCistLS0KKyBzcmMvaGVscGVycy9qb2ItZHJpdmUtZGV0YWNoLmMgfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL3NyYy9oZWxwZXJzL2pvYi1kcml2ZS1kZXRhY2guYyBiL3NyYy9oZWxwZXJzL2pvYi1kcml2ZS1kZXRhY2guYworaW5kZXggZWVhZmNhYi4uZDEyMmExZiAxMDA2NDQKKy0tLSBhL3NyYy9oZWxwZXJzL2pvYi1kcml2ZS1kZXRhY2guYworKysrIGIvc3JjL2hlbHBlcnMvam9iLWRyaXZlLWRldGFjaC5jCitAQCAtMTgsNiArMTgsNyBAQAorICAqCisgICovCisgCisrI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPHN0cmluZy5oPgorICNpbmNsdWRlIDxlcnJuby5oPgorLS0gCisyLjEuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3Mvb3B0aW9uYWwtZGVwZW5kcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWRpc2tzL3VkaXNrcy9vcHRpb25hbC1kZXBlbmRzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxMzE3MDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3Mvb3B0aW9uYWwtZGVwZW5kcy5wYXRjaApAQCAtMCwwICsxLDQ4NCBAQAorRnJvbSAxYjcwYjdhNzk4ZWVlZWM1NTRhYjVhYTlmY2ZmZjk2YTIyZTkxNzc0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogR3VzdGF2byBTdmVyenV0IEJhcmJpZXJpIDxiYXJiaWVyaUBwcm9mdXNpb24ubW9iaT4KK0RhdGU6IFRodSwgMjYgTWF5IDIwMTEgMTc6MzA6MDQgLTAzMDAKK1N1YmplY3Q6IFtQQVRDSF0gQWxsb3cgZGlzYWJsaW5nIGF0YXNtYXJ0LCBsdm0yIGFuZCBkZXZpY2VtYXBwZXIgc3VwcG9ydC4KKworaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzc2NDcKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggNjJjYzM1ZC4uYjY2NDEzNSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMTU1LDEzICsxNTUsMzMgQEAgUEtHX0NIRUNLX01PRFVMRVMoUE9MS0lUX0dPQkpFQ1RfMSwgW3BvbGtpdC1nb2JqZWN0LTEgPj0gMC45N10pCisgQUNfU1VCU1QoUE9MS0lUX0dPQkpFQ1RfMV9DRkxBR1MpCisgQUNfU1VCU1QoUE9MS0lUX0dPQkpFQ1RfMV9MSUJTKQorIAorLVBLR19DSEVDS19NT0RVTEVTKExJQlBBUlRFRCwgW2xpYnBhcnRlZCA+PSAxLjguOF0pCistQUNfU1VCU1QoTElCUEFSVEVEX0NGTEFHUykKKy1BQ19TVUJTVChMSUJQQVJURURfTElCUykKKy0KKy1QS0dfQ0hFQ0tfTU9EVUxFUyhERVZNQVBQRVIsIFtkZXZtYXBwZXIgPj0gMS4wMl0pCistQUNfU1VCU1QoREVWTUFQUEVSX0NGTEFHUykKKy1BQ19TVUJTVChERVZNQVBQRVJfTElCUykKKytoYXZlX3BhcnRlZD1ubworK0FDX0FSR19FTkFCTEUocGFydGVkLCBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLXBhcnRlZF0sIFtkaXNhYmxlIGRpc2sgcGFydGl0aW9uaW5nXSkpCisraWYgdGVzdCAieCRlbmFibGVfcGFydGVkIiAhPSAieG5vIjsgdGhlbgorKyAgUEtHX0NIRUNLX01PRFVMRVMoTElCUEFSVEVELCBbbGlicGFydGVkID49IDEuOC44XSwKKysgICAgICAgICAgICAgICAgICAgIFtBQ19ERUZJTkUoVVNFX1BBUlRFRCwgMSwgW0RlZmluZSBpZiBwYXJ0ZWQgc2hvdWxkIGJlIHVzZWRdKSBoYXZlX3BhcnRlZD15ZXNdLAorKyAgICAgICAgICAgICAgICAgICAgaGF2ZV9wYXJ0ZWQ9bm8pCisrICBBQ19TVUJTVChMSUJQQVJURURfQ0ZMQUdTKQorKyAgQUNfU1VCU1QoTElCUEFSVEVEX0xJQlMpCisrICBpZiB0ZXN0ICJ4JGhhdmVfcGFydGVkIiA9IHhubyAtYSAieCRlbmFibGVfcGFydGVkIiA9IHh5ZXM7IHRoZW4KKysgICAgQUNfTVNHX0VSUk9SKFtwYXJ0ZWQgc3VwcG9ydCByZXF1ZXN0ZWQgYnV0IGxpYnJhcmllcyBub3QgZm91bmRdKQorKyAgZmkKKytmaQorK0FNX0NPTkRJVElPTkFMKEhBVkVfUEFSVEVELCBbdGVzdCAiJGhhdmVfcGFydGVkIiA9ICJ5ZXMiXSkKKysKKytoYXZlX2Rldm1hcHBlcj1ubworK0FDX0FSR19FTkFCTEUoZGV2bWFwcGVyLCBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWRldm1hcHBlcl0sIFtkaXNhYmxlIGRldmljZSBtYXBwZXIgc3VwcG9ydF0pKQorK2lmIHRlc3QgIngkZW5hYmxlX2Rldm1hcHBlciIgIT0gInhubyI7IHRoZW4KKysgIFBLR19DSEVDS19NT0RVTEVTKERFVk1BUFBFUiwgW2Rldm1hcHBlciA+PSAxLjAyXSwKKysgICAgICAgICAgICAgICAgICAgIFtBQ19ERUZJTkUoSEFWRV9ERVZNQVBQRVIsIDEsIFtEZWZpbmUgaWYgZGV2aWNlIG1hcHBlciBpcyBhdmFpbGFibGVdKSBoYXZlX2Rldm1hcHBlcj15ZXNdLAorKyAgICAgICAgICAgICAgICAgICAgaGF2ZV9kZXZtYXBwZXI9bm8pCisrICBBQ19TVUJTVChERVZNQVBQRVJfQ0ZMQUdTKQorKyAgQUNfU1VCU1QoREVWTUFQUEVSX0xJQlMpCisrICBpZiB0ZXN0ICJ4JGhhdmVfZGV2bWFwcGVyIiA9IHhubyAtYSAieCRlbmFibGVfZGV2bWFwcGVyIiA9IHh5ZXM7IHRoZW4KKysgICAgQUNfTVNHX0VSUk9SKFtkZXZtYXBwZXIgc3VwcG9ydCByZXF1ZXN0ZWQgYnV0IGxpYnJhcmllcyBub3QgZm91bmRdKQorKyAgZmkKKytmaQorK0FNX0NPTkRJVElPTkFMKEhBVkVfREVWTUFQUEVSLCBbdGVzdCAiJGhhdmVfZGV2bWFwcGVyIiA9ICJ5ZXMiXSkKKyAKKyBoYXZlX2x2bTI9bm8KKyBBQ19BUkdfRU5BQkxFKGx2bTIsIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtbHZtMl0sIFtkaXNhYmxlIExWTTIgc3VwcG9ydF0pKQorQEAgLTE4NSw5ICsyMDUsMTkgQEAgaWYgdGVzdCAieCRlbmFibGVfZG1tcCIgIT0gInhubyI7IHRoZW4KKyBmaQorIEFNX0NPTkRJVElPTkFMKEhBVkVfRE1NUCwgW3Rlc3QgIiRoYXZlX2RtbXAiID0gInllcyJdKQorIAorLVBLR19DSEVDS19NT0RVTEVTKExJQkFUQVNNQVJULCBbbGliYXRhc21hcnQgPj0gMC4xNF0pCistQUNfU1VCU1QoTElCQVRBU01BUlRfQ0ZMQUdTKQorLUFDX1NVQlNUKExJQkFUQVNNQVJUX0xJQlMpCisraGF2ZV9saWJhdGFzbWFydD1ubworK0FDX0FSR19FTkFCTEUobGliYXRhc21hcnQsIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtbGliYXRhc21hcnRdLCBbZGlzYWJsZSBsaWJhdGFzbWFydCBzdXBwb3J0XSkpCisraWYgdGVzdCAieCRlbmFibGVfbGliYXRhc21hcnQiICE9ICJ4bm8iOyB0aGVuCisrICBQS0dfQ0hFQ0tfTU9EVUxFUyhMSUJBVEFTTUFSVCwgW2xpYmF0YXNtYXJ0ID49IDAuMTRdLAorKyAgICAgICAgICAgICAgICAgICAgW0FDX0RFRklORShIQVZFX0xJQkFUQVNNQVJULCAxLCBbRGVmaW5lIGlmIGxpYmF0YXNtYXJ0IGlzIGF2YWlsYWJsZV0pIGhhdmVfbGliYXRhc21hcnQ9eWVzXSwKKysgICAgICAgICAgICAgICAgICAgIGhhdmVfbGliYXRhc21hcnQ9bm8pCisrICBBQ19TVUJTVChMSUJBVEFTTUFSVF9DRkxBR1MpCisrICBBQ19TVUJTVChMSUJBVEFTTUFSVF9MSUJTKQorKyAgaWYgdGVzdCAieCRoYXZlX2xpYmF0YXNtYXJ0IiA9IHhubyAtYSAieCRlbmFibGVfbGliYXRhc21hcnQiID0geHllczsgdGhlbgorKyAgICBBQ19NU0dfRVJST1IoW2xpYmF0YXNtYXJ0IHN1cHBvcnQgcmVxdWVzdGVkIGJ1dCBsaWJyYXJpZXMgbm90IGZvdW5kXSkKKysgIGZpCisrZmkKKytBTV9DT05ESVRJT05BTChIQVZFX0xJQkFUQVNNQVJULCBbdGVzdCAiJGhhdmVfbGliYXRhc21hcnQiID0gInllcyJdKQorIAorIFBLR19DSEVDS19NT0RVTEVTKExJQlVERVYsIFtsaWJ1ZGV2ID49IDE0M10pCisgQUNfU1VCU1QoTElCVURFVl9DRkxBR1MpCitAQCAtMjY3LDkgKzI5NywxMiBAQCBlY2hvICIKKyAgICAgICAgIGNwcGZsYWdzOiAgICAgICAgICAgICAgICAgICAke0NQUEZMQUdTfQorICAgICAgICAgeHNsdHByb2M6ICAgICAgICAgICAgICAgICAgICR7WFNMVFBST0N9CisgCisrICAgICAgICBQYXJ0ZWQgc3VwcG9ydDogICAgICAgICAgICAgJHtoYXZlX3BhcnRlZH0KKysgICAgICAgIERldmljZSBNYXBwZXIgc3VwcG9ydDogICAgICAke2hhdmVfZGV2bWFwcGVyfQorICAgICAgICAgTFZNMiBzdXBwb3J0OiAgICAgICAgICAgICAgICR7aGF2ZV9sdm0yfQorICAgICAgICAgZG0tbXVsdGlwYXRoOiAgICAgICAgICAgICAgICR7aGF2ZV9kbW1wfQorICAgICAgICAgUmVtb3RlIEFjY2VzczogICAgICAgICAgICAgICR7cmVtb3RlX2FjY2Vzc30KKysgICAgICAgIGxpYmF0YXNtYXJ0IHN1cHBvcnQ6ICAgICAgICAke2hhdmVfbGliYXRhc21hcnR9CisgCisgICAgICAgICBNYWludGFpbmVyIG1vZGU6ICAgICAgICAgICAgJHtVU0VfTUFJTlRBSU5FUl9NT0RFfQorICAgICAgICAgUHJvZmlsaW5nOiAgICAgICAgICAgICAgICAgICR7ZW5hYmxlX3Byb2ZpbGluZ30KK2RpZmYgLS1naXQgYS9zcmMvYWRhcHRlci1wcml2YXRlLmggYi9zcmMvYWRhcHRlci1wcml2YXRlLmgKK2luZGV4IDM0MDllMjEuLmVmNTg0ZTMgMTAwNjQ0CistLS0gYS9zcmMvYWRhcHRlci1wcml2YXRlLmgKKysrKyBiL3NyYy9hZGFwdGVyLXByaXZhdGUuaAorQEAgLTIzLDcgKzIzLDYgQEAKKyAKKyAjaW5jbHVkZSA8ZGJ1cy9kYnVzLWdsaWIuaD4KKyAjaW5jbHVkZSA8Z3VkZXYvZ3VkZXYuaD4KKy0jaW5jbHVkZSA8YXRhc21hcnQuaD4KKyAKKyAjaW5jbHVkZSAidHlwZXMuaCIKKyAKK2RpZmYgLS1naXQgYS9zcmMvYWRhcHRlci5jIGIvc3JjL2FkYXB0ZXIuYworaW5kZXggYjg1YTBlZi4uODAyNDIwYiAxMDA2NDQKKy0tLSBhL3NyYy9hZGFwdGVyLmMKKysrKyBiL3NyYy9hZGFwdGVyLmMKK0BAIC0zMCw3ICszMCw2IEBACisgI2luY2x1ZGUgPGRidXMvZGJ1cy1nbGliLmg+CisgI2luY2x1ZGUgPGRidXMvZGJ1cy1nbGliLWxvd2xldmVsLmg+CisgI2luY2x1ZGUgPGd1ZGV2L2d1ZGV2Lmg+CistI2luY2x1ZGUgPGF0YXNtYXJ0Lmg+CisgCisgI2luY2x1ZGUgImRhZW1vbi5oIgorICNpbmNsdWRlICJhZGFwdGVyLmgiCitkaWZmIC0tZ2l0IGEvc3JjL2RhZW1vbi5jIGIvc3JjL2RhZW1vbi5jCitpbmRleCA2MDcyNTAyLi5kMDQzY2IwIDEwMDY0NAorLS0tIGEvc3JjL2RhZW1vbi5jCisrKysgYi9zcmMvZGFlbW9uLmMKK0BAIC0xNzQ1LDYgKzE3NDUsNyBAQCBtZHN0YXRfY2hhbmdlZF9ldmVudCAoR0lPQ2hhbm5lbCAqY2hhbm5lbCwKKyAgIHJldHVybiBUUlVFOworIH0KKyAKKysjaWZkZWYgSEFWRV9MSUJBVEFTTUFSVAorIHN0YXRpYyBnYm9vbGVhbgorIHJlZnJlc2hfYXRhX3NtYXJ0X2RhdGEgKERhZW1vbiAqZGFlbW9uKQorIHsKK0BAIC0xNzczLDYgKzE3NzQsNyBAQCByZWZyZXNoX2F0YV9zbWFydF9kYXRhIChEYWVtb24gKmRhZW1vbikKKyAKKyAgIHJldHVybiBGQUxTRTsKKyB9CisrI2VuZGlmCisgCisgc3RhdGljIGdib29sZWFuCisgcmVnaXN0ZXJfZGlza3NfZGFlbW9uIChEYWVtb24gKmRhZW1vbikKK0BAIC0xOTg0LDEyICsxOTg2LDE0IEBAIGRhZW1vbl9uZXcgKHZvaWQpCisgICBtb3VudF9maWxlX2NsZWFuX3N0YWxlIChsKTsKKyAgIGdfbGlzdF9mcmVlIChsKTsKKyAKKysjaWZkZWYgSEFWRV9MSUJBVEFTTUFSVAorICAgLyogc2V0IHVwIHRpbWVyIGZvciByZWZyZXNoaW5nIEFUQSBTTUFSVCBkYXRhIC0gd2UgZG9uJ3Qgd2FudCB0byByZWZyZXNoIGltbWVkaWF0ZWx5IGJlY2F1c2UKKyAgICAqIHdoZW4gYWRkaW5nIGEgZGV2aWNlIHdlIGFsc28gZG8gdGhpcy4uLgorICAgICovCisgICBkYWVtb24tPnByaXYtPmF0YV9zbWFydF9yZWZyZXNoX3RpbWVyX2lkID0gZ190aW1lb3V0X2FkZF9zZWNvbmRzIChBVEFfU01BUlRfUkVGUkVTSF9JTlRFUlZBTF9TRUNPTkRTLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEdTb3VyY2VGdW5jKSByZWZyZXNoX2F0YV9zbWFydF9kYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGFlbW9uKTsKKysjZW5kaWYKKyAKKyAgIFBST0ZJTEUgKCJkYWVtb25fbmV3KCk6IGVuZCIpOworICAgcmV0dXJuIGRhZW1vbjsKK2RpZmYgLS1naXQgYS9zcmMvZGV2aWNlLXByaXZhdGUuYyBiL3NyYy9kZXZpY2UtcHJpdmF0ZS5jCitpbmRleCAyMmEwZDM1Li5mYjk2NTI1IDEwMDY0NAorLS0tIGEvc3JjL2RldmljZS1wcml2YXRlLmMKKysrKyBiL3NyYy9kZXZpY2UtcHJpdmF0ZS5jCitAQCAtMTM3OCw3ICsxMzc4LDcgQEAgZGV2aWNlX3NldF9kcml2ZV9hdGFfc21hcnRfdGltZV9jb2xsZWN0ZWQgKERldmljZSAqZGV2aWNlLAorIAorIHZvaWQKKyBkZXZpY2Vfc2V0X2RyaXZlX2F0YV9zbWFydF9zdGF0dXMgKERldmljZSAqZGV2aWNlLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2tTbWFydE92ZXJhbGwgdmFsdWUpCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndWludCB2YWx1ZSkKKyB7CisgICBpZiAoR19VTkxJS0VMWSAoZGV2aWNlLT5wcml2LT5kcml2ZV9hdGFfc21hcnRfc3RhdHVzICE9IHZhbHVlKSkKKyAgICAgeworZGlmZiAtLWdpdCBhL3NyYy9kZXZpY2UtcHJpdmF0ZS5oIGIvc3JjL2RldmljZS1wcml2YXRlLmgKK2luZGV4IGE2ZGI3ZjIuLjcxNDczYTYgMTAwNjQ0CistLS0gYS9zcmMvZGV2aWNlLXByaXZhdGUuaAorKysrIGIvc3JjL2RldmljZS1wcml2YXRlLmgKK0BAIC0yMyw3ICsyMyw2IEBACisgCisgI2luY2x1ZGUgPGRidXMvZGJ1cy1nbGliLmg+CisgI2luY2x1ZGUgPGd1ZGV2L2d1ZGV2Lmg+CistI2luY2x1ZGUgPGF0YXNtYXJ0Lmg+CisgCisgI2luY2x1ZGUgInR5cGVzLmgiCisgCitAQCAtMjI0LDcgKzIyMyw3IEBAIHN0cnVjdCBEZXZpY2VQcml2YXRlCisgCisgICBnYm9vbGVhbiBkcml2ZV9hdGFfc21hcnRfaXNfYXZhaWxhYmxlOworICAgZ3VpbnQ2NCBkcml2ZV9hdGFfc21hcnRfdGltZV9jb2xsZWN0ZWQ7CistICBTa1NtYXJ0T3ZlcmFsbCBkcml2ZV9hdGFfc21hcnRfc3RhdHVzOworKyAgZ3VpbnQgZHJpdmVfYXRhX3NtYXJ0X3N0YXR1czsKKyAgIHZvaWQgKmRyaXZlX2F0YV9zbWFydF9ibG9iOworICAgZ3NpemUgZHJpdmVfYXRhX3NtYXJ0X2Jsb2Jfc2l6ZTsKKyAKK0BAIC0zOTEsNyArMzkwLDcgQEAgdm9pZCBkZXZpY2Vfc2V0X2hvbGRlcnNfb2JqcGF0aCAoRGV2aWNlICpkZXZpY2UsIEdTdHJ2IHZhbHVlKTsKKyAKKyB2b2lkIGRldmljZV9zZXRfZHJpdmVfYXRhX3NtYXJ0X2lzX2F2YWlsYWJsZSAoRGV2aWNlICpkZXZpY2UsIGdib29sZWFuIHZhbHVlKTsKKyB2b2lkIGRldmljZV9zZXRfZHJpdmVfYXRhX3NtYXJ0X3RpbWVfY29sbGVjdGVkIChEZXZpY2UgKmRldmljZSwgZ3VpbnQ2NCB2YWx1ZSk7Cistdm9pZCBkZXZpY2Vfc2V0X2RyaXZlX2F0YV9zbWFydF9zdGF0dXMgKERldmljZSAqZGV2aWNlLCBTa1NtYXJ0T3ZlcmFsbCB2YWx1ZSk7Cisrdm9pZCBkZXZpY2Vfc2V0X2RyaXZlX2F0YV9zbWFydF9zdGF0dXMgKERldmljZSAqZGV2aWNlLCBndWludCB2YWx1ZSk7Cisgdm9pZCBkZXZpY2Vfc2V0X2RyaXZlX2F0YV9zbWFydF9ibG9iX3N0ZWFsIChEZXZpY2UgKmRldmljZSwgZ2NoYXIgKmJsb2IsIGdzaXplIGJsb2Jfc2l6ZSk7CisgCisgR19FTkRfREVDTFMKK2RpZmYgLS1naXQgYS9zcmMvZGV2aWNlLmMgYi9zcmMvZGV2aWNlLmMKK2luZGV4IDZhMzQ5NDAuLjdhNWE0YTkgMTAwNjQ0CistLS0gYS9zcmMvZGV2aWNlLmMKKysrKyBiL3NyYy9kZXZpY2UuYworQEAgLTUwLDcgKzUwLDkgQEAKKyAjaW5jbHVkZSA8ZGJ1cy9kYnVzLWdsaWIuaD4KKyAjaW5jbHVkZSA8ZGJ1cy9kYnVzLWdsaWItbG93bGV2ZWwuaD4KKyAjaW5jbHVkZSA8Z3VkZXYvZ3VkZXYuaD4KKysjaWZkZWYgSEFWRV9MSUJBVEFTTUFSVAorICNpbmNsdWRlIDxhdGFzbWFydC5oPgorKyNlbmRpZgorIAorICNpbmNsdWRlICJkYWVtb24uaCIKKyAjaW5jbHVkZSAiZGV2aWNlLmgiCitAQCAtNjU5LDEwICs2NjEsMTQgQEAgZ2V0X3Byb3BlcnR5IChHT2JqZWN0ICpvYmplY3QsCisgICAgIGNhc2UgUFJPUF9EUklWRV9BVEFfU01BUlRfU1RBVFVTOgorICAgICAgIHsKKyAgICAgICAgIGNvbnN0IGdjaGFyICpzdGF0dXM7CistICAgICAgICBpZiAoZGV2aWNlLT5wcml2LT5kcml2ZV9hdGFfc21hcnRfc3RhdHVzID09IChTa1NtYXJ0T3ZlcmFsbCkgLSAxKQorKyNpZmRlZiBIQVZFX0xJQkFUQVNNQVJUCisrICAgICAgICBpZiAoZGV2aWNlLT5wcml2LT5kcml2ZV9hdGFfc21hcnRfc3RhdHVzID09IChndWludCkgLSAxKQorICAgICAgICAgICBzdGF0dXMgPSAiIjsKKyAgICAgICAgIGVsc2UKKyAgICAgICAgICAgc3RhdHVzID0gc2tfc21hcnRfb3ZlcmFsbF90b19zdHJpbmcgKGRldmljZS0+cHJpdi0+ZHJpdmVfYXRhX3NtYXJ0X3N0YXR1cyk7CisrI2Vsc2UKKysgICAgICAgIHN0YXR1cyA9ICIiOworKyNlbmRpZgorICAgICAgICAgZ192YWx1ZV9zZXRfc3RyaW5nICh2YWx1ZSwgc3RhdHVzKTsKKyAgICAgICB9CisgICAgICAgYnJlYWs7CitAQCAtNTExNCw2ICs1MTIwLDcgQEAgZGV2aWNlX25ldyAoRGFlbW9uICpkYWVtb24sCisgICAgICAgZ290byBvdXQ7CisgICAgIH0KKyAKKysjaWZkZWYgSEFWRV9MSUJBVEFTTUFSVAorICAgLyogaWYganVzdCBhZGRlZCwgdXBkYXRlIHRoZSBzbWFydCBkYXRhIGlmIGFwcGxpY2FibGUgKi8KKyAgIGlmIChkZXZpY2UtPnByaXYtPmRyaXZlX2F0YV9zbWFydF9pc19hdmFpbGFibGUpCisgICAgIHsKK0BAIC01MTIxLDYgKzUxMjgsNyBAQCBkZXZpY2VfbmV3IChEYWVtb24gKmRhZW1vbiwKKyAgICAgICBnY2hhciAqYXRhX3NtYXJ0X3JlZnJlc2hfZGF0YV9vcHRpb25zW10gPSB7IE5VTEwgfTsKKyAgICAgICBkZXZpY2VfZHJpdmVfYXRhX3NtYXJ0X3JlZnJlc2hfZGF0YSAoZGV2aWNlLCBhdGFfc21hcnRfcmVmcmVzaF9kYXRhX29wdGlvbnMsIE5VTEwpOworICAgICB9CisrI2VuZGlmCisgCisgICBQUk9GSUxFICgiZGV2aWNlX25ldyhuYXRpdmVfcGF0aD0lcyk6IGVuZCIsIG5hdGl2ZV9wYXRoKTsKKyAgb3V0OgorQEAgLTk3OTQsMTYgKzk4MDIsMTggQEAgZHJpdmVfYXRhX3NtYXJ0X3JlZnJlc2hfZGF0YV9jb21wbGV0ZWRfY2IgKERCdXNHTWV0aG9kSW52b2NhdGlvbiAqY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqc3Rkb3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncG9pbnRlciB1c2VyX2RhdGEpCisgeworKyNpZmRlZiBIQVZFX0xJQkFUQVNNQVJUCisgICBnaW50IHJjOworLSAgU2tEaXNrICpkOworKyAgU2tEaXNrICpkID0gTlVMTDsKKysgIFNrU21hcnRPdmVyYWxsIG92ZXJhbGw7CisgICBnY2hhciAqYmxvYjsKKyAgIGdzaXplIGJsb2Jfc2l6ZTsKKyAgIHRpbWVfdCB0aW1lX2NvbGxlY3RlZDsKKy0gIFNrU21hcnRPdmVyYWxsIG92ZXJhbGw7CisrI2VuZGlmCisgCisgICBQUk9GSUxFICgiZHJpdmVfYXRhX3NtYXJ0X3JlZnJlc2hfZGF0YV9jb21wbGV0ZWRfY2IoZGV2aWNlPSVzKSBzdGFydCIsIGRldmljZS0+cHJpdi0+bmF0aXZlX3BhdGgpOworIAorLSAgZCA9IE5VTEw7CisrI2lmZGVmIEhBVkVfTElCQVRBU01BUlQKKyAgIGJsb2IgPSBOVUxMOworIAorICAgaWYgKGpvYl93YXNfY2FuY2VsbGVkIHx8IHN0ZG91dCA9PSBOVUxMKQorQEAgLTk5MDcsNiArOTkxNywxMSBAQCBkcml2ZV9hdGFfc21hcnRfcmVmcmVzaF9kYXRhX2NvbXBsZXRlZF9jYiAoREJ1c0dNZXRob2RJbnZvY2F0aW9uICpjb250ZXh0LAorICAgZ19mcmVlIChibG9iKTsKKyAgIGlmIChkICE9IE5VTEwpCisgICAgIHNrX2Rpc2tfZnJlZSAoZCk7CisrCisrI2Vsc2UKKysgIHRocm93X2Vycm9yIChjb250ZXh0LCBFUlJPUl9GQUlMRUQsICJsaWJhdGFzbWFydCBzdXBwb3J0IGRpc2FibGVkIik7CisrI2VuZGlmCisrCisgICBQUk9GSUxFICgiZHJpdmVfYXRhX3NtYXJ0X3JlZnJlc2hfZGF0YV9jb21wbGV0ZWRfY2IoZGV2aWNlPSVzKSBlbmQiLCBkZXZpY2UtPnByaXYtPm5hdGl2ZV9wYXRoKTsKKyB9CisgCitkaWZmIC0tZ2l0IGEvc3JjL2V4cGFuZGVyLXByaXZhdGUuaCBiL3NyYy9leHBhbmRlci1wcml2YXRlLmgKK2luZGV4IGVmNGY0NDAuLjk4YTgzMDAgMTAwNjQ0CistLS0gYS9zcmMvZXhwYW5kZXItcHJpdmF0ZS5oCisrKysgYi9zcmMvZXhwYW5kZXItcHJpdmF0ZS5oCitAQCAtMjMsNyArMjMsNiBAQAorIAorICNpbmNsdWRlIDxkYnVzL2RidXMtZ2xpYi5oPgorICNpbmNsdWRlIDxndWRldi9ndWRldi5oPgorLSNpbmNsdWRlIDxhdGFzbWFydC5oPgorIAorICNpbmNsdWRlICJ0eXBlcy5oIgorIAorZGlmZiAtLWdpdCBhL3NyYy9leHBhbmRlci5jIGIvc3JjL2V4cGFuZGVyLmMKK2luZGV4IDczNGVjMGEuLmU3OTlmMTMgMTAwNjQ0CistLS0gYS9zcmMvZXhwYW5kZXIuYworKysrIGIvc3JjL2V4cGFuZGVyLmMKK0BAIC0zNCw3ICszNCw2IEBACisgI2luY2x1ZGUgPGRidXMvZGJ1cy1nbGliLmg+CisgI2luY2x1ZGUgPGRidXMvZGJ1cy1nbGliLWxvd2xldmVsLmg+CisgI2luY2x1ZGUgPGd1ZGV2L2d1ZGV2Lmg+CistI2luY2x1ZGUgPGF0YXNtYXJ0Lmg+CisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorIAorICNpbmNsdWRlICJkYWVtb24uaCIKK2RpZmYgLS1naXQgYS9zcmMvaGVscGVycy9NYWtlZmlsZS5hbSBiL3NyYy9oZWxwZXJzL01ha2VmaWxlLmFtCitpbmRleCA0Yjg2M2MwLi5kM2VjNGU5IDEwMDY0NAorLS0tIGEvc3JjL2hlbHBlcnMvTWFrZWZpbGUuYW0KKysrKyBiL3NyYy9oZWxwZXJzL01ha2VmaWxlLmFtCitAQCAtMTksMTUgKzE5LDkgQEAgSU5DTFVERVMgPSBcCisgCisgbGliZXhlY19QUk9HUkFNUyA9IAkJCQkJXAorIAl1ZGlza3MtaGVscGVyLW1rZnMgICAgICAgICAgICAgICAgICAgIAkJXAorLQl1ZGlza3MtaGVscGVyLWRlbGV0ZS1wYXJ0aXRpb24gICAgICAgIAkJXAorLQl1ZGlza3MtaGVscGVyLWNyZWF0ZS1wYXJ0aXRpb24gICAgICAgIAkJXAorLQl1ZGlza3MtaGVscGVyLW1vZGlmeS1wYXJ0aXRpb24gICAgICAgIAkJXAorLQl1ZGlza3MtaGVscGVyLWNyZWF0ZS1wYXJ0aXRpb24tdGFibGUJCVwKKyAJdWRpc2tzLWhlbHBlci1jaGFuZ2UtZmlsZXN5c3RlbS1sYWJlbCAJCVwKKyAJdWRpc2tzLWhlbHBlci1saW51eC1tZC1yZW1vdmUtY29tcG9uZW50CQlcCisgCXVkaXNrcy1oZWxwZXItZnN0YWItbW91bnRlcgkJCVwKKy0JdWRpc2tzLWhlbHBlci1hdGEtc21hcnQtY29sbGVjdAkJCVwKKy0JdWRpc2tzLWhlbHBlci1hdGEtc21hcnQtc2VsZnRlc3QJCVwKKyAJdWRpc2tzLWhlbHBlci1kcml2ZS1kZXRhY2gJCQlcCisgCXVkaXNrcy1oZWxwZXItZHJpdmUtcG9sbAkJCVwKKyAJdWRpc2tzLWhlbHBlci1saW51eC1tZC1jaGVjawkJCVwKK0BAIC00OCw2ICs0MiwxMyBAQCB1ZGlza3NfaGVscGVyX21rZnNfU09VUkNFUyA9IGpvYi1zaGFyZWQuaCBqb2ItbWtmcy5jCisgdWRpc2tzX2hlbHBlcl9ta2ZzX0NQUEZMQUdTID0gJChBTV9DUFBGTEFHUykKKyB1ZGlza3NfaGVscGVyX21rZnNfTERBREQgPSAkKEdMSUJfTElCUykKKyAKKytpZiBIQVZFX1BBUlRFRAorK2xpYmV4ZWNfUFJPR1JBTVMgKz0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKwl1ZGlza3MtaGVscGVyLWRlbGV0ZS1wYXJ0aXRpb24gICAgICAgIAkJXAorKwl1ZGlza3MtaGVscGVyLWNyZWF0ZS1wYXJ0aXRpb24gICAgICAgIAkJXAorKwl1ZGlza3MtaGVscGVyLW1vZGlmeS1wYXJ0aXRpb24gICAgICAgIAkJXAorKwl1ZGlza3MtaGVscGVyLWNyZWF0ZS1wYXJ0aXRpb24tdGFibGUKKysKKyB1ZGlza3NfaGVscGVyX2RlbGV0ZV9wYXJ0aXRpb25fU09VUkNFUyA9IGpvYi1zaGFyZWQuaCBqb2ItZGVsZXRlLXBhcnRpdGlvbi5jCisgdWRpc2tzX2hlbHBlcl9kZWxldGVfcGFydGl0aW9uX0NQUEZMQUdTID0gJChBTV9DUFBGTEFHUykKKyB1ZGlza3NfaGVscGVyX2RlbGV0ZV9wYXJ0aXRpb25fTERBREQgPSAkKEdMSUJfTElCUykgbGlicGFydHV0aWwubGEKK0BAIC02MywxMSArNjQsMTcgQEAgdWRpc2tzX2hlbHBlcl9tb2RpZnlfcGFydGl0aW9uX0xEQUREID0gJChHTElCX0xJQlMpIGxpYnBhcnR1dGlsLmxhCisgdWRpc2tzX2hlbHBlcl9jcmVhdGVfcGFydGl0aW9uX3RhYmxlX1NPVVJDRVMgPSBqb2Itc2hhcmVkLmggam9iLWNyZWF0ZS1wYXJ0aXRpb24tdGFibGUuYworIHVkaXNrc19oZWxwZXJfY3JlYXRlX3BhcnRpdGlvbl90YWJsZV9DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpCisgdWRpc2tzX2hlbHBlcl9jcmVhdGVfcGFydGl0aW9uX3RhYmxlX0xEQUREID0gJChHTElCX0xJQlMpIGxpYnBhcnR1dGlsLmxhCisrZW5kaWYKKyAKKyB1ZGlza3NfaGVscGVyX2NoYW5nZV9maWxlc3lzdGVtX2xhYmVsX1NPVVJDRVMgPSBqb2Itc2hhcmVkLmggam9iLWNoYW5nZS1maWxlc3lzdGVtLWxhYmVsLmMKKyB1ZGlza3NfaGVscGVyX2NoYW5nZV9maWxlc3lzdGVtX2xhYmVsX0NQUEZMQUdTID0gJChBTV9DUFBGTEFHUykKKyB1ZGlza3NfaGVscGVyX2NoYW5nZV9maWxlc3lzdGVtX2xhYmVsX0xEQUREID0gJChHTElCX0xJQlMpCisgCisraWYgSEFWRV9MSUJBVEFTTUFSVAorK2xpYmV4ZWNfUFJPR1JBTVMgKz0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKwl1ZGlza3MtaGVscGVyLWF0YS1zbWFydC1jb2xsZWN0CQkJXAorKwl1ZGlza3MtaGVscGVyLWF0YS1zbWFydC1zZWxmdGVzdAorKworIHVkaXNrc19oZWxwZXJfYXRhX3NtYXJ0X3NlbGZ0ZXN0X1NPVVJDRVMgPSBqb2Itc2hhcmVkLmggam9iLWF0YS1zbWFydC1zZWxmdGVzdC5jCisgdWRpc2tzX2hlbHBlcl9hdGFfc21hcnRfc2VsZnRlc3RfQ1BQRkxBR1MgPSAkKEFNX0NQUEZMQUdTKSAkKExJQkFUQVNNQVJUX0NGTEFHUykgJChHTElCX0NGTEFHUykKKyB1ZGlza3NfaGVscGVyX2F0YV9zbWFydF9zZWxmdGVzdF9MREFERCA9ICQoTElCQVRBU01BUlRfTElCUykgJChHTElCX0xJQlMpCitAQCAtNzUsNiArODIsNyBAQCB1ZGlza3NfaGVscGVyX2F0YV9zbWFydF9zZWxmdGVzdF9MREFERCA9ICQoTElCQVRBU01BUlRfTElCUykgJChHTElCX0xJQlMpCisgdWRpc2tzX2hlbHBlcl9hdGFfc21hcnRfY29sbGVjdF9TT1VSQ0VTID0gam9iLWF0YS1zbWFydC1jb2xsZWN0LmMKKyB1ZGlza3NfaGVscGVyX2F0YV9zbWFydF9jb2xsZWN0X0NQUEZMQUdTID0gJChBTV9DUFBGTEFHUykgJChMSUJBVEFTTUFSVF9DRkxBR1MpICQoR0xJQl9DRkxBR1MpCisgdWRpc2tzX2hlbHBlcl9hdGFfc21hcnRfY29sbGVjdF9MREFERCA9ICQoTElCQVRBU01BUlRfTElCUykgJChHTElCX0xJQlMpCisrZW5kaWYKKyAKKyB1ZGlza3NfaGVscGVyX2xpbnV4X21kX3JlbW92ZV9jb21wb25lbnRfU09VUkNFUyA9IGpvYi1zaGFyZWQuaCBqb2ItbGludXgtbWQtcmVtb3ZlLWNvbXBvbmVudC5jCisgdWRpc2tzX2hlbHBlcl9saW51eF9tZF9yZW1vdmVfY29tcG9uZW50X0NQUEZMQUdTID0gJChBTV9DUFBGTEFHUykKK2RpZmYgLS1naXQgYS9zcmMvaGVscGVycy9wYXJ0dXRpbC5jIGIvc3JjL2hlbHBlcnMvcGFydHV0aWwuYworaW5kZXggNzJhOGZlMy4uODg5M2EzOSAxMDA2NDQKKy0tLSBhL3NyYy9oZWxwZXJzL3BhcnR1dGlsLmMKKysrKyBiL3NyYy9oZWxwZXJzL3BhcnR1dGlsLmMKK0BAIC02Miw3ICs2Miw2IEBAIERFQlVHIChjb25zdCBnY2hhciAqZm9ybWF0LAorICMgIGluY2x1ZGUgPGNvbmZpZy5oPgorICNlbmRpZgorIAorLSNkZWZpbmUgVVNFX1BBUlRFRAorICNpZmRlZiBVU0VfUEFSVEVECisgI2luY2x1ZGUgPHBhcnRlZC9wYXJ0ZWQuaD4KKyAjZW5kaWYKK0BAIC05MjgsNiArOTI3LDcgQEAgcGFydF90YWJsZV9wYXJzZV9hcHBsZSAoaW50IGZkLAorICAgcmV0dXJuIHA7CisgfQorIAorKyNpZmRlZiBVU0VfUEFSVEVECisgc3RhdGljIFBhcnRpdGlvblRhYmxlICoKKyBwYXJ0X3RhYmxlX2xvYWRfZnJvbV9kaXNrX2Zyb21fZmlsZSAoY2hhciAqZGV2aWNlX2ZpbGUpCisgeworQEAgLTk0OCw2ICs5NDgsNyBAQCBwYXJ0X3RhYmxlX2xvYWRfZnJvbV9kaXNrX2Zyb21fZmlsZSAoY2hhciAqZGV2aWNlX2ZpbGUpCisgIG91dDoKKyAgIHJldHVybiByZXQ7CisgfQorKyNlbmRpZgorIAorIFBhcnRpdGlvblRhYmxlICoKKyBwYXJ0X3RhYmxlX2xvYWRfZnJvbV9kaXNrIChpbnQgZmQpCitkaWZmIC0tZ2l0IGEvc3JjL3BvcnQtcHJpdmF0ZS5oIGIvc3JjL3BvcnQtcHJpdmF0ZS5oCitpbmRleCBjYzQ4Mzc2Li5hOTE1MzJmIDEwMDY0NAorLS0tIGEvc3JjL3BvcnQtcHJpdmF0ZS5oCisrKysgYi9zcmMvcG9ydC1wcml2YXRlLmgKK0BAIC0yMyw3ICsyMyw2IEBACisgCisgI2luY2x1ZGUgPGRidXMvZGJ1cy1nbGliLmg+CisgI2luY2x1ZGUgPGd1ZGV2L2d1ZGV2Lmg+CistI2luY2x1ZGUgPGF0YXNtYXJ0Lmg+CisgCisgI2luY2x1ZGUgInR5cGVzLmgiCisgCitkaWZmIC0tZ2l0IGEvc3JjL3Byb2JlcnMvTWFrZWZpbGUuYW0gYi9zcmMvcHJvYmVycy9NYWtlZmlsZS5hbQoraW5kZXggMDZiYjU2Ni4uMDFjNjkzYiAxMDA2NDQKKy0tLSBhL3NyYy9wcm9iZXJzL01ha2VmaWxlLmFtCisrKysgYi9zcmMvcHJvYmVycy9NYWtlZmlsZS5hbQorQEAgLTIyLDggKzIyLDYgQEAgSU5DTFVERVMgPSBcCisgCisgdWRldmhlbHBlcmRpciA9ICQoc2xhc2hsaWJkaXIpL3VkZXYKKyB1ZGV2aGVscGVyX1BST0dSQU1TID0JdWRpc2tzLXBhcnQtaWQgCQkJXAorLQkJCXVkaXNrcy1kbS1leHBvcnQgCQlcCistCQkgICAgICAJdWRpc2tzLXByb2JlLWF0YS1zbWFydCAJCVwKKyAJCQl1ZGlza3MtcHJvYmUtc2FzLWV4cGFuZGVyIAlcCisgCQkJJChOVUxMKQorIAorQEAgLTM1LDE3ICszMywyMyBAQCB1ZGlza3NfcGFydF9pZF9TT1VSQ0VTID0gcGFydC1pZC5jCisgdWRpc2tzX3BhcnRfaWRfQ1BQRkxBR1MgPSAkKEFNX0NQUEZMQUdTKSAkKExJQlVERVZfQ0ZMQUdTKQorIHVkaXNrc19wYXJ0X2lkX0xEQUREID0gJChHTElCX0xJQlMpICQoTElCVURFVl9MSUJTKSAkKHRvcF9idWlsZGRpcikvc3JjL2hlbHBlcnMvbGlicGFydHV0aWwubGEKKyAKKytpZiBIQVZFX0RFVk1BUFBFUgorK3VkZXZoZWxwZXJfUFJPR1JBTVMgKz0gdWRpc2tzLWRtLWV4cG9ydAorIHVkaXNrc19kbV9leHBvcnRfU09VUkNFUyA9IHVkaXNrcy1kbS1leHBvcnQuYworIHVkaXNrc19kbV9leHBvcnRfQ1BQRkxBR1MgPSAkKEFNX0NQUEZMQUdTKSAkKERFVk1BUFBFUl9DRkxBR1MpICQoR0xJQl9DRkxBR1MpCisgdWRpc2tzX2RtX2V4cG9ydF9MREFERCA9ICQoREVWTUFQUEVSX0xJQlMpICQoR0xJQl9MSUJTKQorK2VuZGlmCisgCisgdWRpc2tzX2x2bV9wdl9leHBvcnRfU09VUkNFUyA9IHVkaXNrcy1sdm0tcHYtZXhwb3J0LmMKKyB1ZGlza3NfbHZtX3B2X2V4cG9ydF9DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpICQoREVWTUFQUEVSX0NGTEFHUykgJChMVk0yX0NGTEFHUykgJChHTElCX0NGTEFHUykKKyB1ZGlza3NfbHZtX3B2X2V4cG9ydF9MREFERCA9ICQoREVWTUFQUEVSX0xJQlMpICQoTFZNMl9MSUJTKSAkKEdMSUJfTElCUykKKyAKKytpZiBIQVZFX0xJQkFUQVNNQVJUCisrdWRldmhlbHBlcl9QUk9HUkFNUyArPSB1ZGlza3MtcHJvYmUtYXRhLXNtYXJ0CisgdWRpc2tzX3Byb2JlX2F0YV9zbWFydF9TT1VSQ0VTID0gdWRpc2tzLXByb2JlLWF0YS1zbWFydC5jCisgdWRpc2tzX3Byb2JlX2F0YV9zbWFydF9DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpICQoTElCQVRBU01BUlRfQ0ZMQUdTKQorIHVkaXNrc19wcm9iZV9hdGFfc21hcnRfTERBREQgPSAkKExJQkFUQVNNQVJUX0xJQlMpCisrZW5kaWYKKyAKKyB1ZGlza3NfcHJvYmVfc2FzX2V4cGFuZGVyX1NPVVJDRVMgPSB1ZGlza3MtcHJvYmUtc2FzLWV4cGFuZGVyLmMKKyB1ZGlza3NfcHJvYmVfc2FzX2V4cGFuZGVyX0NQUEZMQUdTID0gJChBTV9DUFBGTEFHUykgJChHTElCX0NGTEFHUykKK2RpZmYgLS1naXQgYS90b29scy91ZGlza3MuYyBiL3Rvb2xzL3VkaXNrcy5jCitpbmRleCA2ZmJkNmE2Li5lMGM0ZmJiIDEwMDY0NAorLS0tIGEvdG9vbHMvdWRpc2tzLmMKKysrKyBiL3Rvb2xzL3VkaXNrcy5jCitAQCAtNDMsNyArNDMsOSBAQAorICNpbmNsdWRlIDxkYnVzL2RidXMtZ2xpYi5oPgorICNpbmNsdWRlIDxkYnVzL2RidXMtZ2xpYi1sb3dsZXZlbC5oPgorIAorKyNpZmRlZiBIQVZFX0xJQkFUQVNNQVJUCisgI2luY2x1ZGUgPGF0YXNtYXJ0Lmg+CisrI2VuZGlmCisgCisgI2luY2x1ZGUgInVkaXNrcy1kYWVtb24tZ2x1ZS5oIgorICNpbmNsdWRlICJ1ZGlza3MtZGV2aWNlLWdsdWUuaCIKK0BAIC05NzksNiArOTgxLDcgQEAgZW5kX2hpZ2hsaWdodCAodm9pZCkKKyAgICAgZ19wcmludCAoIlx4MUJbMG0iKTsKKyB9CisgCisrI2lmZGVmIEhBVkVfTElCQVRBU01BUlQKKyBzdGF0aWMgY29uc3QgZ2NoYXIgKgorIGF0YV9zbWFydF9zdGF0dXNfdG9fZGVzYyAoY29uc3QgZ2NoYXIgKnN0YXR1cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGdib29sZWFuICpvdXRfaGlnaGxpZ2h0KQorQEAgLTExNTksNiArMTE2Miw3IEBAIHByaW50X2F0YV9zbWFydF9hdHRyIChTa0Rpc2sgKmQsCisgICBnX2ZyZWUgKHRocmVzaG9sZF9zdHIpOworICAgZ19mcmVlIChwcmV0dHkpOworIH0KKysjZW5kaWYKKyAKKyBzdGF0aWMgdm9pZAorIGRvX3Nob3dfaW5mbyAoY29uc3QgY2hhciAqb2JqZWN0X3BhdGgpCitAQCAtMTQ0MCw3ICsxNDQ0LDcgQEAgZG9fc2hvd19pbmZvIChjb25zdCBjaGFyICpvYmplY3RfcGF0aCkKKyAgICAgICAgIGdfcHJpbnQgKCIgICAgaWYgc3BlZWQ6ICAgICAgICAgICAgICAgICAgJSIgR19HSU5UNjRfRk9STUFUICIgYml0cy9zXG4iLCBwcm9wcy0+ZHJpdmVfY29ubmVjdGlvbl9zcGVlZCk7CisgCisgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworLQorKyNpZmRlZiBIQVZFX0xJQkFUQVNNQVJUCisgICAgICAgaWYgKCFwcm9wcy0+ZHJpdmVfYXRhX3NtYXJ0X2lzX2F2YWlsYWJsZSkKKyAgICAgICAgIHsKKyAgICAgICAgICAgZ19wcmludCAoIiAgICBBVEEgU01BUlQ6ICAgICAgICAgICAgICAgICBub3QgYXZhaWxhYmxlXG4iKTsKK0BAIC0xNDkzLDcgKzE0OTcsOSBAQCBkb19zaG93X2luZm8gKGNvbnN0IGNoYXIgKm9iamVjdF9wYXRoKQorICAgICAgICAgICAgIH0KKyAKKyAgICAgICAgIH0KKy0KKysjZWxzZQorKyAgICAgICAgICBnX3ByaW50ICgiICAgIEFUQSBTTUFSVDogICAgICAgICAgICAgICAgIG5vdCBzdXBwb3J0ZWRcbiIpOworKyNlbmRpZgorICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKyAKKyAgICAgfQorLS0gCisxLjcuNS5yYzMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91ZGlza3MvdWRpc2tzL3VkaXNrcy0xLjAuNS1maXgtc2VydmljZS1maWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91ZGlza3MvdWRpc2tzL3VkaXNrcy0xLjAuNS1maXgtc2VydmljZS1maWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1ZTg0ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3MvdWRpc2tzLTEuMC41LWZpeC1zZXJ2aWNlLWZpbGUucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorRnJvbSA3ZDYxYWQwNDg4NTZlZTIzOTg3MGI5MTdkNjkzM2UzYWQ2M2YwNzg5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRGF2aWQgS2luZyA8YW1pZ2FkYXZlQGFtaWdhZGF2ZS5jb20+CitEYXRlOiBUaHUsIDIgSnVsIDIwMTUgMTM6NDk6MjIgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IHN5c3RlbWQgc2VydmljZSBmaWxlCisKK3VkaXNrcy1kYWVtb24gaXMgaW5zdGFsbGVkIHRvICQobGliZXhlY2RpciksIG5vdCAkKHByZWZpeCkvbGliL3VkaXNrcy4KKworaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0xMjM4NjY0CitodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD05MTE5MQorCitUYWtlbi1Gcm9tOiBbMV0KK1sxXSBodHRwOi8vcGtncy5mZWRvcmFwcm9qZWN0Lm9yZy9jZ2l0L3VkaXNrcy5naXQvdHJlZS91ZGlza3MtMS4wLjUtZml4LXNlcnZpY2UtZmlsZS5wYXRjaAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKy0tLQorIGRhdGEvTWFrZWZpbGUuYW0gfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9kYXRhL01ha2VmaWxlLmFtIGIvZGF0YS9NYWtlZmlsZS5hbQoraW5kZXggNDExZWEwZi4uMDhhZjVmNCAxMDA2NDQKKy0tLSBhL2RhdGEvTWFrZWZpbGUuYW0KKysrKyBiL2RhdGEvTWFrZWZpbGUuYW0KK0BAIC0zMSw3ICszMSw3IEBAIHN5c3RlbWRzZXJ2aWNlZGlyICAgICAgID0gJChzeXN0ZW1kc3lzdGVtdW5pdGRpcikKKyBzeXN0ZW1kc2VydmljZV9EQVRBICAgICA9ICQoc3lzdGVtZHNlcnZpY2VfaW5fZmlsZXM6LnNlcnZpY2UuaW49LnNlcnZpY2UpCisgCisgJChzeXN0ZW1kc2VydmljZV9EQVRBKTogJChzeXN0ZW1kc2VydmljZV9pbl9maWxlcykgTWFrZWZpbGUKKy0JQHNlZCAtZSAic3xcQGxpYmV4ZWNkaXJcQHwkKHByZWZpeCkvbGliL3VkaXNrc3wiICQ8ID4gJEAKKysJQHNlZCAtZSAic3xcQGxpYmV4ZWNkaXJcQHwkKGxpYmV4ZWNkaXIpfCIgJDwgPiAkQAorIGVuZGlmCisgCisgdWRldnJ1bGVzZGlyID0gJChzbGFzaGxpYmRpcikvdWRldi9ydWxlcy5kCistLSAKKzIuNC41CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3MyXzIuMS41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91ZGlza3MvdWRpc2tzMl8yLjEuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMzY1Y2ZhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91ZGlza3MvdWRpc2tzMl8yLjEuNS5iYgpAQCAtMCwwICsxLDM1IEBACitTVU1NQVJZID0gInVkaXNrcyBwcm92aWRlcyBkYnVzIGludGVyZmFjZXMgZm9yIGRpc2tzIGFuZCBzdG9yYWdlIGRldmljZXMiCitMSUNFTlNFID0gIkdQTHYyKyAmIExHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kZDc5ZjZkYmJmZmRiYzhlODZiMDg2YThmMGMwZWY0MyIKKworREVQRU5EUyA9ICJhY2wgbGliYXRhc21hcnQgcG9sa2l0IGxpYmd1ZGV2IGRidXMtZ2xpYiBnbGliLTIuMCBpbnRsdG9vbC1uYXRpdmUgZ25vbWUtY29tbW9uLW5hdGl2ZSIKK0RFUEVORFMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICdzeXN0ZW1kJywgJycsIGQpfSIKKworUkRFUEVORFNfJHtQTn0gPSAiYWNsIgorCitTUkNfVVJJID0gImh0dHA6Ly91ZGlza3MuZnJlZWRlc2t0b3Aub3JnL3JlbGVhc2VzL3VkaXNrcy0ke1BWfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gIjczNjMyNTAxMDAyZTZkZTgyNDRmODMxZTM4YjJiOThlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJjZmNmNTYwNDQ3ZWE0NGNiYTJhNjgzMzQyYzcwNjJhYWFmMzVlNGViNTU0YmVkNjRhYzJkZDU1YTcwYTVmYjYiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHN5c3RlbWQgZ3RrLWRvYyBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworUyA9ICIke1dPUktESVJ9L3VkaXNrcy0ke1BWfSIKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1tYW4iCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vcG9sa2l0LTEvZXh0ZW5zaW9ucy8qLnNvIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS8gXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vcG9sa2l0LTEgXAorICAgICAgICAgICAgICAgICR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi8qIFwKKyAgICAgICAgICAgICAgICAke2V4ZWNfcHJlZml4fSR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRpc2tzMi8qIFwKKyIKKworUEFDS0FHRVMgPSsgIiR7UE59LWxpYnMiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2Jhc2gtY29tcGxldGlvbiIKK0ZJTEVTXyR7UE59LWxpYnMgPSAiJHtsaWJkaXJ9L2xpYioke1NPTElCU30iCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtleGVjX3ByZWZpeH0ke25vbmFyY2hfYmFzZV9saWJkaXJ9L3VkaXNrczIvLmRlYnVnIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiJHtCUE59LnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3NfMS4wLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3NfMS4wLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWVjNjkzMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWRpc2tzL3VkaXNrc18xLjAuNS5iYgpAQCAtMCwwICsxLDM5IEBACitERVNDUklQVElPTiA9ICJBIHN0b3JhZ2UgZGFlbW9uIHRoYXQgaW1wbGVtZW50cyB3ZWxsLWRlZmluZWQgRC1CdXMgaW50ZXJmYWNlcyB0aGF0IGNhbiBiZSB1c2VkIHRvIHF1ZXJ5IGFuZCBtYW5pcHVsYXRlIHN0b3JhZ2UgZGV2aWNlcy4iCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTczZDgzYWViZTdlNGI2MjM0NmFmZGU4MGUwZTk0MjczIgorCitERVBFTkRTID0gImxpYmF0YXNtYXJ0IHNnMy11dGlscyBwb2xraXQgbGliZ3VkZXYgZGJ1cy1nbGliIGdsaWItMi4wIGludGx0b29sLW5hdGl2ZSBsdm0yIgorIyBvcHRpb25hbCBkZXBlbmRlbmNpZXM6IGRldmljZS1tYXBwZXIgcGFydGVkCisKK0RFUEVORFMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICdzeXN0ZW1kJywgJycsIGQpfSIKKworU1JDX1VSSSA9ICIgXAorICAgIGh0dHA6Ly9oYWwuZnJlZWRlc2t0b3Aub3JnL3JlbGVhc2VzLyR7QlBOfS0ke1BWfS50YXIuZ3o7bmFtZT0ke0JQTn0gXAorICAgIGZpbGU6Ly9vcHRpb25hbC1kZXBlbmRzLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMS1maXgtYnVpbGQtd2l0aC1uZXdlci1nbGliYy12ZXJzaW9ucy5wYXRjaCBcCisgICAgZmlsZTovL3VkaXNrcy0xLjAuNS1maXgtc2VydmljZS1maWxlLnBhdGNoIFwKKyIKKworU1JDX1VSSVt1ZGlza3MubWQ1c3VtXSA9ICI3MGQ0OGRjZmU1MjNhNzRjZDdjN2ZiYmMyODQ3ZmNkZCIKK1NSQ19VUklbdWRpc2tzLnNoYTI1NnN1bV0gPSAiZjJlYzgyZWIwZWE3ZTAxZGMyOTliNWIyOWIzYzE4Y2RmODYxMjM2ZWM0M2RjZmY2NmIzNTUyYjRiMzFjNmY3MSIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHN5c3RlbWQgZ3RrLWRvYworCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1twYXJ0ZWRdID0gIi0tZW5hYmxlLXBhcnRlZCwtLWRpc2FibGUtcGFydGVkLHBhcnRlZCIKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1tYW4tcGFnZXMiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vcG9sa2l0LTEvZXh0ZW5zaW9ucy8qLnNvIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS8gXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vcG9sa2l0LTEgXAorICAgICAgICAgICAgICAgICR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi8qIFwKKyIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke25vbmFyY2hfYmFzZV9saWJkaXJ9L3VkZXYvLmRlYnVnIgorCitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInVkaXNrcy5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91aW0vdWltLzAwMDEtZml4LWJ1Zy1mb3ItY3Jvc3MtY29tcGlsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWltL3VpbS8wMDAxLWZpeC1idWctZm9yLWNyb3NzLWNvbXBpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGY4MmIwNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWltL3VpbS8wMDAxLWZpeC1idWctZm9yLWNyb3NzLWNvbXBpbGUucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorRnJvbSAyOTE4MTk2YmE3ODJkZmE0NDAxYmRjYTkxN2FkNGRlMTkxMDUwNWUwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGVpIE1hb2h1aSA8bGVpbWFvaHVpQGNuLmZ1aml0c3UuY29tPgorRGF0ZTogRnJpLCAyMSBBdWcgMjAxNSAxNTo1ODo0MiArMDkwMAorU3ViamVjdDogW1BBVENIXSBmaXggYnVnIGZvciBjcm9zcyBjb21waWxlCisKK1NpZ25lZC1vZmYtYnk6IExlaSBNYW9odWkgPGxlaW1hb2h1aUBjbi5mdWppdHN1LmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDliZTg3OWMuLjkyNDliZmQgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTEyMDgsOCArMTIwOCw4IEBAIEFDX0hFTFBfU1RSSU5HKFstLXdpdGgtbGliZWRpdFs9RElSXSwgRW5hYmxlIGxpYmVkaXQgc3VwcG9ydAorIGlmIHRlc3QgIngkdXNlX2xpYmVkaXQiICE9ICJ4bm8iOyB0aGVuCisgICAgIHNhdmVkX0NQUEZMQUdTPSRDUFBGTEFHUworICAgICBzYXZlZF9MREZMQUdTPSRMREZMQUdTCistICAgIENQUEZMQUdTPSIke0NQUEZMQUdTfSAtSSRsaWJlZGl0X3BhdGgvaW5jbHVkZSIKKy0gICAgTERGTEFHUz0iJHtMREZMQUdTfSAtTCRsaWJlZGl0X3BhdGgvbGliIgorKyAgICBDUFBGTEFHUz0iJHtDUFBGTEFHU30gIgorKyAgICBMREZMQUdTPSIke0xERkxBR1N9ICIKKyAgICAgQUNfQ0hFQ0tfTElCKGN1cnNlcywgdGdldGVudCwgTElCRURJVF9MSUJTPSItbGN1cnNlcyIsCisgICAgICAgICBbQUNfQ0hFQ0tfTElCKG5jdXJzZXMsIHRnZXRlbnQsIExJQkVESVRfTElCUz0iLWxuY3Vyc2VzIiwKKyAgICAgICAgICAgICBBQ19NU0dfV0FSTigibGliZWRpdCBuZWVkcyBsaWJjdXJzZXMgb3IgbGlibmN1cnNlcy4gZGlzYWJsZWQuLi4iKQorLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWltL3VpbS91aW0tbW9kdWxlLW1hbmFnZXIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VpbS91aW0vdWltLW1vZHVsZS1tYW5hZ2VyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1NjliZjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VpbS91aW0vdWltLW1vZHVsZS1tYW5hZ2VyLnBhdGNoCkBAIC0wLDAgKzEsMTEgQEAKKy0tLSB1aW0tMS4xLjAvc2NtL01ha2VmaWxlLmFtfgkyMDA2LTA2LTA5IDEwOjQ2OjEyLjAwMDAwMDAwMCArMDkwMAorKysrIHVpbS0xLjEuMC9zY20vTWFrZWZpbGUuYW0JMjAwNi0wNi0xOSAyMzowMDoxNS42MjAwMDAwMDAgKzA5MDAKK0BAIC01OCw3ICs1OCw3IEBACisgICBtb2R1bGVfbmFtZXMgKz0gInNjaW0iCisgZW5kaWYKKyAKKy1VSU1fTU9EVUxFX01BTkFHRVIgPSAkKHRvcF9idWlsZGRpcikvdWltL3VpbS1tb2R1bGUtbWFuYWdlcgorK1VJTV9NT0RVTEVfTUFOQUdFUiA9IHVpbS1tb2R1bGUtbWFuYWdlcgorIFVJTV9NT0RVTEVfTUFOQUdFUl9FTlYgPSBcCisgICAgICAgICBMSUJVSU1fU0NNX0ZJTEVTPSQoYWJzX3NyY2RpcikgXAorICAgICAgICAgTElCVUlNX1BMVUdJTl9MSUJfRElSPSQoYWJzX3RvcF9idWlsZGRpcikvdWltLy5saWJzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VpbS91aW1fMS44LjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VpbS91aW1fMS44LjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDI3ODhlNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWltL3VpbV8xLjguNi5iYgpAQCAtMCwwICsxLDE1MiBAQAorREVTQ1JJUFRJT04gPSAiQSBtdWx0aWxpbmd1YWwgdXNlciBpbnB1dCBtZXRob2QgbGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly91aW0uZnJlZWRlc2t0b3Aub3JnLyIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlICYgTEdQTHYyKyIKK1NFQ1RJT04gPSAiaW5wdXRtZXRob2RzIgorCitTUkNfVVJJID0gImh0dHA6Ly91aW0uZ29vZ2xlY29kZS5jb20vZmlsZXMvdWltLSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICIKKworU1JDX1VSSV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gImZpbGU6Ly91aW0tbW9kdWxlLW1hbmFnZXIucGF0Y2ggXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWZpeC1idWctZm9yLWNyb3NzLWNvbXBpbGUucGF0Y2giCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTMyNDYzZmQyOWFhMzAzZmIyMzYwZmFlZWFlMTcyNTZiIgorU1JDX1VSSVttZDVzdW1dID0gImVjZWE0YzU5N2JhYjFmZDRiYTk4ZWE4NGVkY2VjZTU5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdiMWVhODAzYzczZjM0Nzg5MTcxNjZmMDRmNjdjY2U2ZTQ1YWQ3ZWE1YWI2ZGY5OWI5NDhjMTdlYjFjYjIzNWYiCisKK0RFUEVORFMgPSAiYW50aHkgZm9udGNvbmZpZyBsaWJ4ZnQgbGlieHQgZ2xpYi0yLjAgbmN1cnNlcyBpbnRsdG9vbCIKK0RFUEVORFNfY2xhc3MtdGFyZ2V0ICs9ICJndGsrIGd0ayszIHVpbS1uYXRpdmUgdGFrYW8tZm9udHMiCisKK1JERVBFTkRTX3VpbSA9ICJsaWJ1aW0wIGxpYmVkaXQiCitSREVQRU5EU191aW0tYW50aHkgPSAidGFrYW8tZm9udHMgYW50aHkgbGliYW50aHkwIgorCitMRUFEX1NPTkFNRSA9ICJsaWJ1aW0uc28uMSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdldHRleHQKKworRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtZW1hY3MgXAorICAgICAgICAgICAgICAgICAtLXdpdGhvdXQtc2NpbSBcCisgICAgICAgICAgICAgICAgIC0td2l0aG91dC1tMTdubGliIFwKKyAgICAgICAgICAgICAgICAgLS13aXRob3V0LXByaW1lIFwKKyAgICAgICAgICAgICAgICAgLS13aXRob3V0LWNhbm5hIFwKKyAgICAgICAgICAgICAgICAgLS13aXRob3V0LW1hbmEgXAorICAgICAgICAgICAgICAgICAtLXdpdGhvdXQtZWIiCisKK0NPTkZJR1VSRU9QVFNfcmVtb3ZlX2NsYXNzLXRhcmdldCA9ICItLWRpc2FibGUtc2lsZW50LXJ1bGVzIgorCisjQmVjYXVzZSBtNCBmaWxlJ3MgZmluZCBtYXhkZXB0aD0yLCBzbyBjb3B5IHRoZSBtNCBmaWxlcyBvZiB0aGUgZGVlcCBkZXB0aC4KK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKyAgICBjcCAke1N9L3NpZ3NjaGVtZS9tNC8qICR7U30vbTQvCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIHJtIC1yZiAke0R9LyR7ZGF0YWRpcn0vYXBwbGljYXRpb25zCit9CisKK1BBQ0tBR0VTICs9ICJ1aW0teGltIHVpbS11dGlscyB1aW0tc2trIHVpbS1ndGsyLjAgdWltLWd0azMgdWltLWZlcCB1aW0tY29tbW9uIHVpbS1hbnRoeSBsaWJ1aW0wIGxpYnVpbS1kZXYiCisKK0ZJTEVTXyR7UE59ID0gIiR7YmluZGlyfS91aW0taGVscCBcCisgICAgICAgICAgICAgICAke2xpYmRpcn0vdWltL3BsdWdpbi9saWJ1aW0tKiBcCisgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlidWltLXNjbSogXAorICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYmdjcm9vdHMqIFwKKyAgICAgICAgICAgICAgICR7bGliZGlyfS91aW0vcGx1Z2luL2xpYnVpbS0qIgorCitGSUxFU19saWJ1aW0wID0gIiR7bGliZGlyfS91aW0vcGx1Z2luL2xpYnVpbS1jdXN0b20tZW5hYmxlci4qIFwKKyAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYnVpbS1jdXN0b20uc28uKiBcCisgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vbG9jYWxlL2phL0xDX01FU1NBR0VTL3VpbS5tbyBcCisgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vbG9jYWxlL2ZyL0xDX01FU1NBR0VTL3VpbS5tbyBcCisgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vbG9jYWxlL2tvL0xDX01FU1NBR0VTL3VpbS5tbyBcCisgICAgICAgICAgICAgICAgICR7bGliZGlyfS9saWJ1aW0uc28uKiIKKworRklMRVNfbGlidWltLWRldiA9ICIke2xpYmRpcn0vbGlidWltKi5hIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYnVpbSoubGEgXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlidWltKi5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7aW5jbHVkZWRpcn0vdWltIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZy91aW0ucGMiCisKK0ZJTEVTX3VpbS1hbnRoeSA9ICIke2xpYmRpcn0vdWltL3BsdWdpbi9saWJ1aW0tYW50aHkuKiBcCisgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS91aW0vYW50aHkqLnNjbSIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vKi8qLyovLmRlYnVnICR7bGliZGlyfS8qLyovLmRlYnVnIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vdWltL3BsdWdpbi8qLmxhIgorCitGSUxFU191aW0tdXRpbHMgPSAiJHtiaW5kaXJ9L3VpbS1zaCBcCisgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3VpbS1tb2R1bGUtbWFuYWdlciBcCisJCSAgICR7bGliZXhlY2Rpcn0vdWltLWhlbHBlci1zZXJ2ZXIiCisKK0ZJTEVTX3VpbS14aW0gPSAiJHtiaW5kaXJ9L3VpbS14aW0gXAorICAgICAgICAgICAgICAgICAke2xpYmV4ZWNkaXJ9L3VpbS1jYW5kd2luLSpndGsgXAorICAgICAgICAgICAgICAgICAke2xpYmV4ZWNkaXJ9L3VpbS1jYW5kd2luLSpndGszIFwKKyAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9tYW4vbWFuMS91aW0teGltLjEgXAorICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L1gxMS94aW5pdC94aW5wdXQuZC91aW0qIgorCitGSUxFU191aW0tY29tbW9uID0gIiR7ZGF0YWRpcn0vdWltL3BpeG1hcHMvKi5wbmcgXAorICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3VpbSIKKworRklMRVNfdWltLWZlcCA9ICIke2JpbmRpcn0vdWltLWZlcCoiCisKK0ZJTEVTX3VpbS1ndGsyLjAgPSAiJHtsaWJkaXJ9L2d0ay0yLjAgXAorICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vdWltLXRvb2xiYXItZ3RrIFwKKyAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3VpbS10b29sYmFyLWd0ay1zeXN0cmF5IFwKKyAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3VpbS0qLWd0ayBcCisgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS91aW0taW5wdXQtcGFkLWphIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3VpbS91aW0tKi1ndGsiCisKK0ZJTEVTX3VpbS1ndGszID0gIiR7bGliZGlyfS9ndGstMy4wIFwKKyAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vdWltLXRvb2xiYXItZ3RrMyBcCisgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3VpbS10b29sYmFyLWd0azMtc3lzdHJheSBcCisgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3VpbS0qLWd0azMgXAorICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS91aW0vdWltLSotZ3RrMyIKKworRklMRVNfdWltLXNrayA9ICIke2xpYmRpcn0vdWltL3BsdWdpbi9saWJ1aW0tc2trLiogXAorICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3VpbS9za2sqLnNjbSIKKworcGtnX3Bvc3RpbnN0X3VpbS1hbnRoeSgpIHsKKyAgICBpZiBbIC1mIC91c3IvYmluL3VpbS1tb2R1bGUtbWFuYWdlciBdOyB0aGVuCisgICAgICAgIC91c3IvYmluL3VpbS1tb2R1bGUtbWFuYWdlciAtLXJlZ2lzdGVyIGFudGh5IC0tcGF0aCAvZXRjL3VpbQorICAgIGZpCit9CisKK3BrZ19wb3N0cm1fdWltLWFudGh5KCkgeworICAgIGlmIFsgLWYgL3Vzci9iaW4vdWltLW1vZHVsZS1tYW5hZ2VyIF07IHRoZW4KKyAgICAgICAgL3Vzci9iaW4vdWltLW1vZHVsZS1tYW5hZ2VyIC0tcGF0aCAvZXRjL3VpbSAtLXVucmVnaXN0ZXIgYW50aHkKKyAgICBmaQorfQorCitwa2dfcHJlcm1fdWltLWFudGh5KCkgeworICAgIGlmIFsgLWYgL3Vzci9iaW4vdWltLW1vZHVsZS1tYW5hZ2VyIF07IHRoZW4KKyAgICAgICAgL3Vzci9iaW4vdWltLW1vZHVsZS1tYW5hZ2VyIC0tcmVnaXN0ZXIgYW50aHkgLS1wYXRoIC9ldGMvdWltCisgICAgZmkKK30KKworcGtnX3Bvc3RpbnN0X3VpbS1ndGsyLjAoKSB7CisgICAgZ3RrLXF1ZXJ5LWltbW9kdWxlcy0yLjAgPiAvZXRjL2d0ay0yLjAvZ3RrLmltbW9kdWxlcworfQorCitwa2dfcG9zdGluc3RfdWltLXNraygpIHsKKyAgICBpZiBbIC1mIC91c3IvYmluL3VpbS1tb2R1bGUtbWFuYWdlciBdOyB0aGVuCisgICAgICAgIC91c3IvYmluL3VpbS1tb2R1bGUtbWFuYWdlciAtLXJlZ2lzdGVyIHNrayAtLXBhdGggL2V0Yy91aW0KKyAgICBmaQorfQorCitwa2dfcG9zdHJtX3VpbS1za2soKSB7CisgICAgaWYgWyAtZiAvdXNyL2Jpbi91aW0tbW9kdWxlLW1hbmFnZXIgXTsgdGhlbgorICAgICAgICAvdXNyL2Jpbi91aW0tbW9kdWxlLW1hbmFnZXIgLS1wYXRoIC9ldGMvdWltIC0tdW5yZWdpc3RlciBza2sKKyAgICBmaQorfQorCitwa2dfcG9zdGluc3RfdWltLWNvbW1vbigpIHsKKyAgICBpZiBbIC1mIC91c3IvYmluL3VpbS1tb2R1bGUtbWFuYWdlciBdOyB0aGVuCisgICAgICAgIC91c3IvYmluL3VpbS1tb2R1bGUtbWFuYWdlciAtLXBhdGggL2V0Yy91aW0gLS1yZWdpc3RlciBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dXRjb2RlIHRjb2RlIGhhbmd1bCB2aXFyIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlwYS14LXNhbXBhIGxhdGluIGJ5ZW9ydQorICAgIGZpCit9CisKK3BrZ19wcmVybV91aW0tY29tbW9uKCkgeworICAgIGlmIFsgLWYgL3Vzci9iaW4vdWltLW1vZHVsZS1tYW5hZ2VyIF07IHRoZW4KKyAgICAgICAgL3Vzci9iaW4vdWltLW1vZHVsZS1tYW5hZ2VyIC0tcGF0aCAvZXRjL3VpbSAtLXJlZ2lzdGVyIFwKKyAgICAgICAgdHV0Y29kZSB0Y29kZSBoYW5ndWwgdmlxciBpcGEteC1zYW1wYSBsYXRpbiBieWVvcnUKKyAgICBmaQorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXBvd2VyL3Vwb3dlcl8wLjkuMTQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Vwb3dlci91cG93ZXJfMC45LjE0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyYzU5NDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Vwb3dlci91cG93ZXJfMC45LjE0LmJiCkBAIC0wLDAgKzEsMzUgQEAKK0RFU0NSSVBUSU9OID0gIlVQb3dlciBpcyBhbiBhYnN0cmFjdGlvbiBmb3IgZW51bWVyYXRpbmcgcG93ZXIgZGV2aWNlcywgbGlzdGVuaW5nIHRvIGRldmljZSBldmVudHMgYW5kIHF1ZXJ5aW5nIGhpc3RvcnkgYW5kIHN0YXRpc3RpY3MuICIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MGRlOGZiZjFkOTdhMTQwZDFkOTNiOWYxNGRjZmJmMDgiCisKK1BSID0gInIyIgorCitERVBFTkRTID0gImludGx0b29sLW5hdGl2ZSBsaWJ1c2IxIGxpYmd1ZGV2IGdsaWItMi4wIGRidXMtZ2xpYiBwb2xraXQiCisKK1NSQ19VUkkgPSAiaHR0cDovL3Vwb3dlci5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvJHtCUE59LSR7UFZ9LnRhci54eiIKK1NSQ19VUklbbWQ1c3VtXSA9ICIxODgwM2Y4MjEwMmQ1NmFhYzkwOTQ5ZDFlNDI1MTY0NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4MWViNDRjMDQ1M2IyNjRhNzM3ZDMyZjc2M2EzMWQ1YjE3NzZmMDUwYTQ3ZDViZTg1ZmM1ZTljYWY4NzRhNGM1IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dCBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbaWRldmljZV0gPSAiLS13aXRoLWlkZXZpY2UsLS13aXRob3V0LWlkZXZpY2UsbGliaW1vYmlsZWRldmljZSBsaWJwbGlzdCIKKworRVhUUkFfT0VDT05GID0gIiAtLXdpdGgtYmFja2VuZD1saW51eCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgc2VkIC1pIC1lIHM6LW5vbmV0Olw6ZyAke1N9L2RvYy9tYW4vTWFrZWZpbGUuYW0KKyAgICBzZWQgLWkgLWUgJ3M6IGRvYyA6IDpnJyAke1N9L01ha2VmaWxlLmFtCit9ICAgIAorCisKK1JSRUNPTU1FTkRTXyR7UE59ICs9ICJwbS11dGlscyIKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RidXMtMS8gXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vcG9sa2l0LTEvIFwKKyAgICAgICAgICAgICAgICAke2Jhc2VfbGliZGlyfS91ZGV2LyogXAorIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7YmFzZV9saWJkaXJ9L3VkZXYvLmRlYnVnIgorCisKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91c2ItbW9kZXN3aXRjaC91c2ItbW9kZXN3aXRjaC1kYXRhXzIwMTQwNTI5LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91c2ItbW9kZXN3aXRjaC91c2ItbW9kZXN3aXRjaC1kYXRhXzIwMTQwNTI5LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyNjU0MTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoLWRhdGFfMjAxNDA1MjkuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJEYXRhIGZpbGVzIGZvciB1c2Jtb2Rlc3dpdGNoIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitpbmhlcml0IGFsbGFyY2gKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmRyYWlzYmVyZ2hvZi5kZS91c2JfbW9kZXN3aXRjaC8ke0JQfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gImRmZjk0MTc3NzgxMjk4YWFmMGIzYzJhM2MzZGVhNmIyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjUzODg5MTU3OTM3MTA5ZTA0ZGFmZTg5N2MwOThlYzk0ZjNmNDRmOWMwYzgzZmM2ZWM4NDE3YWE5YTU4N2U1MzYiCisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfQorfQorCitSREVQRU5EU18ke1BOfSA9ICJ1c2ItbW9kZXN3aXRjaCAoPj0gMi4yLjApIgorRklMRVNfJHtQTn0gKz0gIiR7YmFzZV9saWJkaXJ9L3VkZXYvcnVsZXMuZC8gXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vdXNiX21vZGVzd2l0Y2giCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoXzIuMi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91c2ItbW9kZXN3aXRjaC91c2ItbW9kZXN3aXRjaF8yLjIuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MmEyZjU2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91c2ItbW9kZXN3aXRjaC91c2ItbW9kZXN3aXRjaF8yLjIuMC5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIkEgbW9kZSBzd2l0Y2hpbmcgdG9vbCBmb3IgY29udHJvbGxpbmcgJ2ZsaXAgZmxvcCcgKG11bHRpcGxlIGRldmljZSkgVVNCIGdlYXIiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK0RFUEVORFMgPSAibGlidXNiMSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmRyYWlzYmVyZ2hvZi5kZS91c2JfbW9kZXN3aXRjaC8ke0JQfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gImYzMjNmZTcwMGVkZDZlYTQwNGM0MDkzNGRkZjMyYjIyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI3NTIxMDNkZTE3MWVkNWY2YzhkNmE2ZTNlNzNlMTZjOWVlM2U4ZTM5NGRkMzljNTk5MWY3NjgwZWI5MDhhM2EiCisKK0VYVFJBX09FTUFLRSA9ICJUQ0w9JHtiaW5kaXJ9L3RjbHNoIgorCitGSUxFU18ke1BOfSA9ICIke2JpbmRpcn0gJHtzeXNjb25mZGlyfSAke25vbmFyY2hfYmFzZV9saWJkaXJ9L3VkZXYvdXNiX21vZGVzd2l0Y2ggJHtzYmluZGlyfSAke2xvY2Fsc3RhdGVkaXJ9L2xpYi91c2JfbW9kZXN3aXRjaCIKK1JERVBFTkRTXyR7UE59ID0gInRjbCIKK1JSRUNPTU1FTkRTXyR7UE59ID0gInVzYi1tb2Rlc3dpdGNoLWRhdGEiCisKK2RvX2luc3RhbGwoKSB7CisJb2VfcnVubWFrZSBERVNURElSPSR7RH0gaW5zdGFsbAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91c2JwYXRoL3VzYnBhdGgvY29uZmlndXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91c2JwYXRoL3VzYnBhdGgvY29uZmlndXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3MWU2YTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYnBhdGgvdXNicGF0aC9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorSW5kZXg6IHVzYnBhdGgvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdXNicGF0aC5vcmlnL2NvbmZpZ3VyZS5hYwkyMDE0LTA3LTE3IDIwOjQwOjI2LjAwMDAwMDAwMCArMDAwMAorKysrIHVzYnBhdGgvY29uZmlndXJlLmFjCTIwMTQtMDctMTggMDc6MDE6NDAuOTMzNDc0NDIwICswMDAwCitAQCAtMSw1ICsxLDUgQEAKKyBBQ19JTklUKFt1c2JwYXRoXSxbMC4xXSkKKy1BTV9JTklUX0FVVE9NQUtFKEFDX1BBQ0tBR0VfTkFNRSwgQUNfUEFDS0FHRV9WRVJTSU9OKQorK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ25dKQorIAorIEFDX1BST0dfQ0MKKyBBQ19QUk9HX1JBTkxJQgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91c2JwYXRoL3VzYnBhdGhfc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91c2JwYXRoL3VzYnBhdGhfc3ZuLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjOWNkMDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYnBhdGgvdXNicGF0aF9zdm4uYmIKQEAgLTAsMCArMSwyMSBAQAorU1VNTUFSWSA9ICJDb252ZXJ0IHRoZSBwaHlzaWNhbCBsb2NhdGlvbnMgb2YgYSBVU0IgZGV2aWNlIHRvL2Zyb20gaXRzIG51bWJlciIKK0FVVEhPUiA9ICJXZXJuZXIgQWxtZXNiZXJnZXIgPHdlcm5lckBvcGVubW9rby5vcmc+IgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly91c2JwYXRoLmM7ZW5kbGluZT0yMDttZDU9MGFhOGM3ZDJhZjkxMTBjNzhhOTlmYmY5YTUwNGRjM2YiCitERVBFTkRTID0gInZpcnR1YWwvbGlidXNiMCIKK0RFUEVORFNfY2xhc3MtbmF0aXZlID0gInZpcnR1YWwvbGlidXNiMC1uYXRpdmUiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitTUkNSRVYgPSAiMzE3MiIKK1BWID0gIjAuMCtzdm5yJHtTUkNQVn0iCisKK1NSQ19VUkkgPSAic3ZuOi8vc3ZuLm9wZW5tb2tvLm9yZy90cnVuay9zcmMvaG9zdDttb2R1bGU9dXNicGF0aDtwcm90b2NvbD1odHRwIFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS5wYXRjaCIKKworUyA9ICIke1dPUktESVJ9L3VzYnBhdGgiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitSREVQRU5EU18ke1BOfSArPSAicGVybCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXRoYXNoL3V0aGFzaF8xLjkuNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXRoYXNoL3V0aGFzaF8xLjkuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MmE5ZjJhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91dGhhc2gvdXRoYXNoXzEuOS43LmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiSGFzaCB0YWJsZSBmb3IgQyBzdHJ1Y3R1cmVzIgorU0VDVElPTiA9ICJiYXNlIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTU2NGY5YzQ0OTI3ZjYyNDdkYzgxMGJmNTU3ZTJiMjQwIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS8ke0JQTn0vJHtCUH0udGFyLmJ6MiIKKworU1JDX1VSSVttZDVzdW1dID0gIjFmMTRiYmVlN2VlNzNlZDBjZWIzNTQ5ZjhjZjM3OGI0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk1NmY1Yzk5Nzk4MzQ5YzQxMzI3NWZlNGM5ZmYxMjhkNzJlMjgwNjU1ZGFkYmU0MzY1ZjhlOWZiZGE5MTM5M2YiCisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLWRtNzU1ICR7RH0ke2luY2x1ZGVkaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjLyouaCAke0R9JHtpbmNsdWRlZGlyfQorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXRvdWNoL3V0b3VjaC1ldmVtdV9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3V0b3VjaC91dG91Y2gtZXZlbXVfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkZDVhODYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3V0b3VjaC91dG91Y2gtZXZlbXVfZ2l0LmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiS2VybmVsIGV2ZGV2IGRldmljZSBlbXVsYXRpb24iCitERVNDUklQVElPTiA9ICJUaGUgZXZlbXUgbGlicmFyeSBhbmQgdG9vbHMgYXJlIHVzZWQgdG8gZGVzY3JpYmUgZGV2aWNlcywgcmVjb3JkIGRhdGEsIGNyZWF0ZSBkZXZpY2VzIGFuZCByZXBsYXkgZGF0YSBmcm9tIGtlcm5lbCBldmRldiBkZXZpY2VzLiAiCitIT01FUEFHRSA9ICJodHRwOi8vYml0bWF0aC5vcmcvY29kZS9ldmVtdS8iCisKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mMjdkZWZlMWU5NmMyZTFlY2Q0ZTBjOWJlODk2Nzk0OSIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworU1JDX1VSSSA9ICJnaXQ6Ly9iaXRtYXRoLm9yZy9naXQvZXZlbXUuZ2l0O3Byb3RvY29sPWh0dHAiCitTUkNSRVYgPSAiOTc1MmI1MGU5MjI1NzJlNGNkMjE0YWM0NWVkOTVlNGVlNDEwZmUyNCIKKworUFYgPSAiMS4wLjUrZ2l0JHtTUkNQVn0iCisKK1MgPSAiJHtXT1JLRElSfS9naXQvIgorCitQQVJBTExFTF9NQUtFID0gIiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXRvdWNoL3V0b3VjaC1mcmFtZV9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3V0b3VjaC91dG91Y2gtZnJhbWVfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5YjM4YWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3V0b3VjaC91dG91Y2gtZnJhbWVfZ2l0LmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiVG91Y2ggRnJhbWUgTGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIlRoZSBmcmFtZSBsaWJyYXJ5IGFuZCB0b29scyBhcmUgdXNlZCB0byBoYW5kbGUgdG91Y2ggZnJhbWVzLCBpLmUuLCBjb2xsZWN0aW9ucyBvZiB0cmFja2VkIGNvbnRhY3RzLiBCaW5kaW5ncyBmb3IgbXRkZXYgYW5kIFhJMi4xLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9iaXRtYXRoLm9yZy9jb2RlL2ZyYW1lLyIKKworTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTJmMzFiMjY2ZDM0NDBkZDdlZTUwZjkyY2Y2N2Q4ZTZjIgorCitERVBFTkRTICs9ICJtdGRldiB1dG91Y2gtZXZlbXUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitTUkNfVVJJID0gImdpdDovL2JpdG1hdGgub3JnL2dpdC9mcmFtZS5naXQ7cHJvdG9jb2w9aHR0cCIKK1NSQ1JFViA9ICI5NTM2M2Q1YTFmNzM5NGQ3MTE0NGJmM2I0MDhlZjRlNmRiNDM1MGZjIgorCitQViA9ICIxLjEuMitnaXQke1NSQ1BWfSIKKworUyA9ICIke1dPUktESVJ9L2dpdC8iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3V0b3VjaC91dG91Y2gtbXR2aWV3X2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXRvdWNoL3V0b3VjaC1tdHZpZXdfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjYjE4MGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3V0b3VjaC91dG91Y2gtbXR2aWV3X2dpdC5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIk11bHRpdG91Y2ggdmlld2VyIgorREVTQ1JJUFRJT04gPSAibXR2aWV3IGlzIGEgc21hbGwgWCBhcHBsaWNhdGlvbiB0aGF0IHNob3dzIGEgZ3JhcGhpY2FsIHZpZXcgb2YgeW91ciBNVC1lbmFibGVkIGhhcmR3YXJlLiBJdCB1c2VzIG10ZGV2LiIKK0hPTUVQQUdFID0gImh0dHA6Ly9iaXRtYXRoLm9yZy9jb2RlL210dmlldy8iCisKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00YzYxYjg5NTBkYzFhYWI0ZDJhYTdjMmFlNmIxY2ZiMyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGRpc3Ryb19mZWF0dXJlc19jaGVjaworIyBkZXBlbmRzIG9uIHZpcnR1YWwvbGlieDExCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJID0gImdpdDovL2JpdG1hdGgub3JnL2dpdC9tdHZpZXcuZ2l0O3Byb3RvY29sPWh0dHAiCitTUkNSRVYgPSAiYWQ0MzdjMzhkYzExMWNmMzk5MGEwM2FiZjE0ZWZlMWI1ZDg5NjA0YiIKKworREVQRU5EUyArPSAibXRkZXYgdXRvdWNoLWZyYW1lIHV0b3VjaC1ldmVtdSBsaWJ4MTEiCisKK1BWID0gIjEuMS43K2dpdCR7U1JDUFZ9IgorCitTID0gIiR7V09SS0RJUn0vZ2l0LyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmFsYS10ZXJtaW5hbC92YWxhLXRlcm1pbmFsX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmFsYS10ZXJtaW5hbC92YWxhLXRlcm1pbmFsX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wN2ZmMzE4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92YWxhLXRlcm1pbmFsL3ZhbGEtdGVybWluYWxfZ2l0LmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiQSBsaWdodHdlaWdodCBUZXJtaW5hbCBFbXVsYXRvciBiYXNlZCBvbiBsaWJ2dGUsIHdyaXR0ZW4gaW4gVmFsYSIKK1NFQ1RJT04gPSAieDExL2FwcGxpY2F0aW9ucyIKK0RFUEVORFMgPSAidnRlIGludGx0b29sLW5hdGl2ZSIKK1NSQ1JFViA9ICIwZmVmYTM4MDg3NTgxZjg1ZmEwNjMxYjQwNTAwYjk0MjgzNjljMTQ2IgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIgorUFYgPSAiMS4zK2dpdHIke1NSQ1BWfSIKK1BFID0gIjEiCitQUiA9ICJyMSIKKworUE5CTEFDS0xJU1RbdmFsYS10ZXJtaW5hbF0gPz0gIkJST0tFTjogRG9lc24ndCB3b3JrIHdpdGggQiE9UywgdG91Y2g6IGNhbm5vdCB0b3VjaCBgc3JjLy5zdGFtcCc6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBlcmxuYXRpdmUgdmFsYQorCitTUkNfVVJJID0gIiR7RlJFRVNNQVJUUEhPTkVfR0lUfS92YWxhLXRlcm1pbmFsLmdpdDticmFuY2g9bWFzdGVyIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworUkRFUEVORFNfJHtQTn0gPSAidHRmLWxpYmVyYXRpb24tbW9ubyIKK1JSRVBMQUNFU18ke1BOfSA9ICJvcGVubW9rby10ZXJtaW5hbDIiCitSUFJPVklERVNfJHtQTn0gPSAib3Blbm1va28tdGVybWluYWwyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92Ym94Z3Vlc3Rkcml2ZXJzL3Zib3hndWVzdGRyaXZlcnMvTWFrZWZpbGUudXRpbHMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Zib3hndWVzdGRyaXZlcnMvdmJveGd1ZXN0ZHJpdmVycy9NYWtlZmlsZS51dGlscwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNzQ5Yjk1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92Ym94Z3Vlc3Rkcml2ZXJzL3Zib3hndWVzdGRyaXZlcnMvTWFrZWZpbGUudXRpbHMKQEAgLTAsMCArMSw0MyBAQAorIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMjCisjIyAgIENvcHlyaWdodCAyMDAxLTIwMDggSC4gUGV0ZXIgQW52aW4gLSBBbGwgUmlnaHRzIFJlc2VydmVkCisjIworIyMgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyMgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyMgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MyBUZW1wbGUgUGxhY2UgU3RlIDMzMCwKKyMjICAgQm9zdG9uIE1BIDAyMTExLTEzMDcsIFVTQTsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMjICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbjsgaW5jb3Jwb3JhdGVkIGhlcmVpbiBieSByZWZlcmVuY2UuCisjIworIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworSU5DTFVERVMgPSAtSS4gLUkuLi92Ym94c2YKK0NGTEFHUwkgPSAke0lOQ0xVREVTfQorTERGTEFHUwkgPQorCitTUkNTICAgICA9IG1vdW50LnZib3hzZi5jIFwKKyAgICAgICAgICAgdmJzZm1vdW50LmMKKworT0JKUwkgPSAkKHBhdHN1YnN0ICUuYywlLm8sJChub3RkaXIgJChTUkNTKSkpCisKKy5TVUZGSVhFUzogLmMgLm8gLmkgLnMgLlMKKworCithbGw6IG1vdW50LnZib3hzZgorCitjbGVhbjoKKwktcm0gLWYgKi5vIG1vdW50LnZib3hzZgorCitzcG90bGVzczogY2xlYW4KKwktcm0gLWYgKn4KKworbW91bnQudmJveHNmOiAkKE9CSlMpCisJJChDQykgJChMREZMQUdTKSAtbyAkQCAkXgorCislLm86ICUuYworCSQoQ0MpICQoVU1BS0VERVBTKSAkKENGTEFHUykgLWMgLW8gJEAgJDwKKyUuaTogJS5jCisJJChDQykgJChVTUFLRURFUFMpICQoQ0ZMQUdTKSAtRSAtbyAkQCAkPAorJS5zOiAlLmMKKwkkKENDKSAkKFVNQUtFREVQUykgJChDRkxBR1MpIC1TIC1vICRAICQ8CisKKy1pbmNsdWRlIC4qLmQgKi50bXAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmJveGd1ZXN0ZHJpdmVycy92Ym94Z3Vlc3Rkcml2ZXJzXzQuMy4zNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmJveGd1ZXN0ZHJpdmVycy92Ym94Z3Vlc3Rkcml2ZXJzXzQuMy4zNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ODFlM2Q1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92Ym94Z3Vlc3Rkcml2ZXJzL3Zib3hndWVzdGRyaXZlcnNfNC4zLjM2LmJiCkBAIC0wLDAgKzEsNjUgQEAKK1NVTU1BUlkgPSAiVmlydHVhbEJveCBMaW51eCBHdWVzdCBEcml2ZXJzIgorU0VDVElPTiA9ICJjb3JlIgorTElDRU5TRSA9ICJHUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtXT1JLRElSfS8ke1ZCT1hfTkFNRX0vQ09QWUlORzttZDU9ZTE5N2Q1NjQxYmIzNWIyOWQ0NmNhOGM0YmY3ZjI2NjAiCisKK0RFUEVORFMgPSAidmlydHVhbC9rZXJuZWwiCisKK2luaGVyaXQgbW9kdWxlIGtlcm5lbC1tb2R1bGUtc3BsaXQKKworQ09NUEFUSUJMRV9NQUNISU5FID0gIihxZW11eDg2fHFlbXV4ODYtNjQpIgorCitWQk9YX05BTUUgPSAiVmlydHVhbEJveC0ke1BWfSIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQudmlydHVhbGJveC5vcmcvdmlydHVhbGJveC8ke1BWfS8ke1ZCT1hfTkFNRX0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9NYWtlZmlsZS51dGlscyBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiODYzNTM4N2RlYzZjYmZkNTc2YmE0NTMzNTVkNGRjMGMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWYwNzc2ZGY2ZDAzYjI3MDljYjc2YTY5ZjA1NTQ4N2JmMTJiZGIzYjQxNjNlMmE4Mjk1OTg2MDMwMDI4MzA0NiIKKworUyA9ICIke1dPUktESVJ9L3Zib3hfbW9kdWxlIgorCitleHBvcnQgQlVJTERfVEFSR0VUX0FSQ0g9IiR7QVJDSH0iCitleHBvcnQgQlVJTERfVEFSR0VUX0FSQ0hfeDg2LTY0PSJhbWQ2NCIKK2V4cG9ydCBLRVJOX0RJUj0iJHtTVEFHSU5HX0tFUk5FTF9ESVJ9IgorCithZGR0YXNrIGV4cG9ydF9zb3VyY2VzIGJlZm9yZSBkb19wYXRjaCBhZnRlciBkb191bnBhY2sKKworZG9fZXhwb3J0X3NvdXJjZXMoKSB7CisgICAgbWtkaXIgLXAgIiR7U30iCisgICAgJHtXT1JLRElSfS8ke1ZCT1hfTkFNRX0vc3JjL1ZCb3gvQWRkaXRpb25zL2xpbnV4L2V4cG9ydF9tb2R1bGVzICR7VH0vdmJveF9tb2R1bGVzLnRhci5negorICAgIHRhciAtQyAiJHtTfSIgLXh6ZiAke1R9L3Zib3hfbW9kdWxlcy50YXIuZ3oKKworICAgICMgYWRkIGEgbW91bnQgdXRpbGl0eSB0byB1c2Ugc2hhcmVkIGZvbGRlciBmcm9tIFZCb3ggQWRkaXRpb24gU291cmNlIENvZGUKKyAgICBta2RpciAtcCAiJHtTfS91dGlscyIKKyAgICBpbnN0YWxsICR7V09SS0RJUn0vJHtWQk9YX05BTUV9L3NyYy9WQm94L0FkZGl0aW9ucy9saW51eC9zaGFyZWRmb2xkZXJzL21vdW50LnZib3hzZi5jICR7U30vdXRpbHMKKyAgICBpbnN0YWxsICR7V09SS0RJUn0vJHtWQk9YX05BTUV9L3NyYy9WQm94L0FkZGl0aW9ucy9saW51eC9zaGFyZWRmb2xkZXJzL3Zic2Ztb3VudC5jICR7U30vdXRpbHMKKyAgICBpbnN0YWxsICR7U30vLi4vTWFrZWZpbGUudXRpbHMgJHtTfS91dGlscy9NYWtlZmlsZQorCit9CisKKyMgY29tcGlsZSBhbmQgaW5zdGFsbCBtb3VudCB1dGlsaXR5Citkb19jb21waWxlX2FwcGVuZCgpIHsKKyAgICBvZV9ydW5tYWtlIC1DICR7U30vdXRpbHMKK30KKworbW9kdWxlX2RvX2luc3RhbGwoKSB7CisgICAgTU9EVUxFX0RJUj0ke0R9JHtub25hcmNoX2Jhc2VfbGliZGlyfS9tb2R1bGVzLyR7S0VSTkVMX1ZFUlNJT059L2tlcm5lbC9taXNjCisgICAgaW5zdGFsbCAtZCAkTU9EVUxFX0RJUgorICAgIGluc3RhbGwgLW0gNjQ0IHZib3hndWVzdC5rbyAkTU9EVUxFX0RJUgorICAgIGluc3RhbGwgLW0gNjQ0IHZib3hzZi5rbyAkTU9EVUxFX0RJUgorICAgIGluc3RhbGwgLW0gNjQ0IHZib3h2aWRlby5rbyAkTU9EVUxFX0RJUgorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2Jhc2Vfc2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDc1NSAke1N9L3V0aWxzL21vdW50LnZib3hzZiAke0R9JHtiYXNlX3NiaW5kaXJ9Cit9CisKK1BBQ0tBR0VTICs9ICJrZXJuZWwtbW9kdWxlLXZib3hndWVzdCBrZXJuZWwtbW9kdWxlLXZib3hzZiBrZXJuZWwtbW9kdWxlLXZib3h2aWRlbyIKK1JSRUNPTU1FTkRTXyR7UE59ICs9ICJrZXJuZWwtbW9kdWxlLXZib3hndWVzdCBrZXJuZWwtbW9kdWxlLXZib3hzZiBrZXJuZWwtbW9kdWxlLXZib3h2aWRlbyIKKworRklMRVNfJHtQTn0gPSAiJHtiYXNlX3NiaW5kaXJ9IgorCisjIGF1dG9sb2FkIGlmIGluc3RhbGxlZAorS0VSTkVMX01PRFVMRV9BVVRPTE9BRCArPSAidmJveGd1ZXN0IHZib3hzZiB2Ym94dmlkZW8iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS9maWxlcy9kaXNhYmxlX2FjbF9oZWFkZXJfY2hlY2sucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS9maWxlcy9kaXNhYmxlX2FjbF9oZWFkZXJfY2hlY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGY4MjRlNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmltL2ZpbGVzL2Rpc2FibGVfYWNsX2hlYWRlcl9jaGVjay5wYXRjaApAQCAtMCwwICsxLDI3IEBACitVcHN0cmVhbS1TdGF0dXM6IHBlbmRpbmcKKworRG9uJ3QgY2hlY2sgJ3N5cy9hY2wuaCcgaWYgYWNsIHN1cHBvcnQgZGlzYWJsZWQgZm9yIHZpbS92aW0tdGlueS4KKworU2lnbmVkLW9mZi1ieTogV2Vuem9uZyBGYW4gPHdlbnpvbmcuZmFuQHdpbmRyaXZlci5jb20+Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK2RpZmYgLS1naXQgYS9zcmMvY29uZmlndXJlLmluIGIvc3JjL2NvbmZpZ3VyZS5pbgoraW5kZXggZmI5NjVlNS4uZDczNDA2NCAxMDA2NDQKKy0tLSBhL3NyYy9jb25maWd1cmUuaW4KKysrKyBiL3NyYy9jb25maWd1cmUuaW4KK0BAIC0yNTExLDcgKzI1MTEsNyBAQCBBQ19DSEVDS19IRUFERVJTKHN0ZGFyZy5oIHN0ZGludC5oIHN0ZGxpYi5oIHN0cmluZy5oIFwKKyAJc3lzL3N5c3RlbWluZm8uaCBsb2NhbGUuaCBzeXMvc3RyZWFtLmggdGVybWlvcy5oIFwKKyAJbGliYy5oIHN5cy9zdGF0ZnMuaCBwb2xsLmggc3lzL3BvbGwuaCBwd2QuaCBcCisgCXV0aW1lLmggc3lzL3BhcmFtLmggbGliaW50bC5oIGxpYmdlbi5oIFwKKy0JdXRpbC9kZWJ1Zy5oIHV0aWwvbXNnMThuLmggZnJhbWUuaCBzeXMvYWNsLmggXAorKwl1dGlsL2RlYnVnLmggdXRpbC9tc2cxOG4uaCBmcmFtZS5oIFwKKyAJc3lzL2FjY2Vzcy5oIHN5cy9zeXNpbmZvLmggd2NoYXIuaCB3Y3R5cGUuaCkKKyAKKyBkbmwgc3lzL3B0ZW0uaCBkZXBlbmRzIG9uIHN5cy9zdHJlYW0uaCBvbiBTb2xhcmlzCitAQCAtMzExMiw2ICszMTEyLDcgQEAgQUNfQVJHX0VOQUJMRShhY2wsCisgCSwgW2VuYWJsZV9hY2w9InllcyJdKQorIGlmIHRlc3QgIiRlbmFibGVfYWNsIiA9ICJ5ZXMiOyB0aGVuCisgQUNfTVNHX1JFU1VMVChubykKKytBQ19DSEVDS19IRUFERVJTKHN5cy9hY2wuaCkKKyBBQ19DSEVDS19MSUIocG9zaXgxZSwgYWNsX2dldF9maWxlLCBbTElCUz0iJExJQlMgLWxwb3NpeDFlIl0sCisgCUFDX0NIRUNLX0xJQihhY2wsIGFjbF9nZXRfZmlsZSwgW0xJQlM9IiRMSUJTIC1sYWNsIgorIAkJICBBQ19DSEVDS19MSUIoYXR0ciwgZmdldHhhdHRyLCBMSUJTPSIkTElCUyAtbGF0dHIiLCwpXSwsKSwpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS9maWxlcy92aW0tYWRkLWtub2Itd2hldGhlci1lbGYuaC1hcmUtY2hlY2tlZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmltL2ZpbGVzL3ZpbS1hZGQta25vYi13aGV0aGVyLWVsZi5oLWFyZS1jaGVja2VkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5M2QxMzAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS9maWxlcy92aW0tYWRkLWtub2Itd2hldGhlci1lbGYuaC1hcmUtY2hlY2tlZC5wYXRjaApAQCAtMCwwICsxLDM4IEBACit2aW06IGFkZCBrbm9iIHdoZXRoZXIgZWxmLmggYXJlIGNoZWNrZWQKKworUHJldmlvdXNseSwgaXQgc3RpbGwgd2FzIGNoZWNrZWQgd2hlbiB0aGVyZSB3YXMgbm8gZWxmIGxpYnJhcnkgaW4gc3lzcm9vdHMgZGlyZWN0b3J5LgorQWRkIGtub2IgdG8gZGVjaWRlIHdoZXRoZXIgZWxmLmggYXJlIGNoZWNrZWQgb3Igbm90LgorCitVcHN0cmVhbS1zdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogQ2hvbmcgTHUgPENob25nLkx1QHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvY29uZmlndXJlLmluIHwgICAgNyArKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3JjL2NvbmZpZ3VyZS5pbiBiL3NyYy9jb25maWd1cmUuaW4KK2luZGV4IGQ3MzQwNjQuLmY1MDRmYTYgMTAwNjQ0CistLS0gYS9zcmMvY29uZmlndXJlLmluCisrKysgYi9zcmMvY29uZmlndXJlLmluCitAQCAtMjQ4MywxMSArMjQ4MywxOCBAQCBBQ19UUllfQ09NUElMRShbI2luY2x1ZGUgPHN0ZGlvLmg+XSwgW2ludCB4IF9fYXR0cmlidXRlX18oKHVudXNlZCkpO10sCisgCUFDX01TR19SRVNVTFQobm8pKQorIAorIGRubCBDaGVja3MgZm9yIGhlYWRlciBmaWxlcy4KKytBQ19NU0dfQ0hFQ0tJTkcod2hldGhlciBvciBub3QgdG8gbG9vayBmb3IgZWxmLmgpCisrQUNfQVJHX0VOQUJMRShlbGYtY2hlY2ssCisrICAgICAgICBbICAtLWVuYWJsZS1lbGYtY2hlY2sgICAgICBJZiBlbGZ1dGlscywgY2hlY2sgZm9yIGVsZi5oIFtkZWZhdWx0PW5vXV0sCisrICAgICAgICAsIGVuYWJsZV9lbGZfY2hlY2s9Im5vIikKKytBQ19NU0dfUkVTVUxUKCRlbmFibGVfZWxmX2NoZWNrKQorK2lmIHRlc3QgIngkZW5hYmxlX2VsZl9jaGVjayIgIT0gInhubyI7IHRoZW4KKyBBQ19DSEVDS19IRUFERVIoZWxmLmgsIEhBU19FTEY9MSkKKyBkbmwgQUNfQ0hFQ0tfSEVBREVSKGR3YXJmLmgsIFNWUjQ9MSkKKyBpZiB0ZXN0ICIkSEFTX0VMRiIgPSAxOyB0aGVuCisgICBBQ19DSEVDS19MSUIoZWxmLCBtYWluKQorIGZpCisrZmkKKyAKKyBBQ19IRUFERVJfRElSRU5UCisgCistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92aW0vdmltLXRpbnlfNy40Ljc2OS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmltL3ZpbS10aW55XzcuNC43NjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmI4ZjJiNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmltL3ZpbS10aW55XzcuNC43NjkuYmIKQEAgLTAsMCArMSwxMyBAQAorcmVxdWlyZSB2aW1fJHtQVn0uYmIKKworU1VNTUFSWSArPSAiICh3aXRoIHRpbnkgZmVhdHVyZXMpIgorCitQQUNLQUdFQ09ORklHICs9ICJ0aW55IgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfS8ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS92aW0gJHtEfS8ke2JpbmRpcn0vdmltLnRpbnkKK30KKworQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiOTAiCitBTFRFUk5BVElWRV9UQVJHRVQgPSAiJHtiaW5kaXJ9L3ZpbS50aW55IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92aW0vdmltXzcuNC43NjkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW1fNy40Ljc2OS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOGU1MDI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92aW0vdmltXzcuNC43NjkuYmIKQEAgLTAsMCArMSwxMDkgQEAKK1NVTU1BUlkgPSAiVmkgSU1wcm92ZWQgLSBlbmhhbmNlZCB2aSBlZGl0b3IiCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitERVBFTkRTID0gIm5jdXJzZXMgZ2V0dGV4dC1uYXRpdmUiCisjIHZpbWRpZmYgZG9lc24ndCBsaWtlIGJ1c3lib3ggZGlmZgorUlNVR0dFU1RTXyR7UE59ID0gImRpZmZ1dGlscyIKK0xJQ0VOU0UgPSAidmltIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vLi4vcnVudGltZS9kb2MvdWdhbmRhLnR4dDttZDU9Yzc0ZWMwYWRhOWE2ODM1NGY5NDYxZTgxZDM1OTZmNjEiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS92aW0vdmltLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly9kaXNhYmxlX2FjbF9oZWFkZXJfY2hlY2sucGF0Y2g7cGF0Y2hkaXI9Li4gXAorICAgICAgICAgICBmaWxlOi8vdmltLWFkZC1rbm9iLXdoZXRoZXItZWxmLmgtYXJlLWNoZWNrZWQucGF0Y2g7cGF0Y2hkaXI9Li4gXAorIgorU1JDUkVWID0gIjI2OTNjYTIxY2VlOGE3MjlkNzQ2ODJmZDg2YTQ4MThmMmIwNTAyMjgiCisKK1MgPSAiJHtXT1JLRElSfS9naXQvc3JjIgorCitWSU1ESVIgPSAidmltJHtAZC5nZXRWYXIoJ1BWJywxKS5zcGxpdCgnLicpWzBdfSR7QGQuZ2V0VmFyKCdQVicsMSkuc3BsaXQoJy4nKVsxXX0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHVwZGF0ZS1hbHRlcm5hdGl2ZXMKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCisjIHZpbSBjb25maWd1cmUuaW4gY29udGFpbnMgZnVuY3Rpb25zIHdoaWNoIGdvdCAnZHJvcHBlZCcgYnkgYXV0b3Rvb2xzLmJiY2xhc3MKK2RvX2NvbmZpZ3VyZSAoKSB7CisgICAgcm0gLWYgYXV0by8qCisgICAgdG91Y2ggYXV0by9jb25maWcubWsKKyAgICBhY2xvY2FsCisgICAgYXV0b2NvbmYKKyAgICBvZV9ydW5jb25mCisgICAgdG91Y2ggYXV0by9jb25maWd1cmUKKyAgICB0b3VjaCBhdXRvL2NvbmZpZy5tayBhdXRvL2NvbmZpZy5oCit9CisKKyNBdmFpbGFibGUgUEFDS0FHRUNPTkZJRyBvcHRpb25zIGFyZSBndGtndWksIGFjbCwgeDExLCB0aW55CitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJRyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdhY2wnLCAnYWNsJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUcgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc2VsaW51eCcsICdzZWxpbnV4JywgJycsIGQpfSIKKworUEFDS0FHRUNPTkZJR1tndGtndWldID0gIi0tZW5hYmxlLWd0azItdGVzdCAtLWVuYWJsZS1ndWk9Z3RrMiwtLWVuYWJsZS1ndWk9bm8sZ3RrKywiCitQQUNLQUdFQ09ORklHW2FjbF0gPSAiLS1lbmFibGUtYWNsLC0tZGlzYWJsZS1hY2wsYWNsLCIKK1BBQ0tBR0VDT05GSUdbeDExXSA9ICItLXdpdGgteCwtLXdpdGhvdXQteCx4dCwiCitQQUNLQUdFQ09ORklHW3RpbnldID0gIi0td2l0aC1mZWF0dXJlcz10aW55LC0td2l0aC1mZWF0dXJlcz1iaWcsLCIKK1BBQ0tBR0VDT05GSUdbc2VsaW51eF0gPSAiLS1lbmFibGUtc2VsaW51eCwtLWRpc2FibGUtc2VsaW51eCxsaWJzZWxpbnV4LCIKK1BBQ0tBR0VDT05GSUdbZWxmdXRpbHNdID0gIi0tZW5hYmxlLWVsZi1jaGVjaywsZWxmdXRpbHMsIgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWRpc2FibGUtZ3BtIFwKKyAgICAtLWRpc2FibGUtZ3RrdGVzdCBcCisgICAgLS1kaXNhYmxlLXhpbSBcCisgICAgLS1kaXNhYmxlLW5ldGJlYW5zIFwKKyAgICAtLXdpdGgtdGxpYj1uY3Vyc2VzIFwKKyAgICBhY19jdl9zbWFsbF93Y2hhcl90PW5vIFwKKyAgICB2aW1fY3ZfZ2V0Y3dkX2Jyb2tlbj1ubyBcCisgICAgdmltX2N2X21lbW1vdmVfaGFuZGxlc19vdmVybGFwPXllcyBcCisgICAgdmltX2N2X3N0YXRfaWdub3Jlc19zbGFzaD1ubyBcCisgICAgdmltX2N2X3Rlcm1pbmZvPXllcyBcCisgICAgdmltX2N2X3RnZW50PW5vbi16ZXJvIFwKKyAgICB2aW1fY3ZfdG91cHBlcl9icm9rZW49bm8gXAorICAgIHZpbV9jdl90dHlfZ3JvdXA9d29ybGQgXAorICAgIFNUUklQPS9iaW4vdHJ1ZSBcCisiCisKK2RvX2luc3RhbGwoKSB7CisgICAgYXV0b3Rvb2xzX2RvX2luc3RhbGwKKworICAgICMgV29yayBhcm91bmQgcnBtIHBpY2tpbmcgdXAgY3NoIG9yIGF3ayBvciBwZXJsIGFzIGEgZGVwCisgICAgY2htb2QgLXggJHtEfSR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS90b29scy92aW0xMzIKKyAgICBjaG1vZCAteCAke0R9JHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3Rvb2xzL212ZS5hd2sKKyAgICBjaG1vZCAteCAke0R9JHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3Rvb2xzLyoucGwKKworICAgICMgSW5zdGFsbCBleGFtcGxlIHZpbXJjIGZyb20gcnVudGltZSBmaWxlcworICAgIGluc3RhbGwgLW0gMDY0NCAuLi9ydW50aW1lL3ZpbXJjX2V4YW1wbGUudmltICR7RH0vJHtkYXRhZGlyfS8ke0JQTn0vdmltcmMKKworICAgICMgd2UgdXNlIC0td2l0aC1mZWF0dXJlcz1iaWcgYXMgZGVmYXVsdAorICAgIG12ICR7RH0ke2JpbmRpcn0vJHtCUE59ICR7RH0ke2JpbmRpcn0vJHtCUE59LiR7QlBOfQorfQorCitQQVJBTExFTF9NQUtFSU5TVCA9ICIiCisKK1BBQ0tBR0VTID0rICIke1BOfS1jb21tb24gJHtQTn0tc3ludGF4ICR7UE59LWhlbHAgJHtQTn0tdHV0b3IgJHtQTn0tdmltcmMiCitGSUxFU18ke1BOfS1zeW50YXggPSAiJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3N5bnRheCIKK0ZJTEVTXyR7UE59LWhlbHAgPSAiJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2RvYyIKK0ZJTEVTXyR7UE59LXR1dG9yID0gIiR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS90dXRvciAke2JpbmRpcn0vJHtCUE59dHV0b3IiCitGSUxFU18ke1BOfS12aW1yYyA9ICIke2RhdGFkaXJ9LyR7QlBOfS92aW1yYyIKK0ZJTEVTXyR7UE59LWRhdGEgPSAiJHtkYXRhZGlyfS8ke0JQTn0iCitGSUxFU18ke1BOfS1jb21tb24gPSAiIFwKKyAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vKi52aW0gXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9hdXRvbG9hZCBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2NvbG9ycyBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2NvbXBpbGVyIFwKKyAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vZnRwbHVnaW4gXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9pbmRlbnQgXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9rZXltYXAgXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9sYW5nIFwKKyAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vbWFjcm9zIFwKKyAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vcGx1Z2luIFwKKyAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vcHJpbnQgXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9zcGVsbCBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3Rvb2xzIFwKKyIKKworUkRFUEVORFNfJHtQTn0gPSAibmN1cnNlcy10ZXJtaW5mby1iYXNlIgorIyBSZWNvbW1lbmQgdGhhdCBydW50aW1lIGRhdGEgaXMgaW5zdGFsbGVkIGFsb25nIHdpdGggdmltCitSUkVDT01NRU5EU18ke1BOfSA9ICIke1BOfS1zeW50YXggJHtQTn0taGVscCAke1BOfS10dXRvciAke1BOfS12aW1yYyAke1BOfS1jb21tb24iCisKK0FMVEVSTkFUSVZFXyR7UE59ID0gInZpIHZpbSIKK0FMVEVSTkFUSVZFX1RBUkdFVCA9ICIke2JpbmRpcn0vJHtCUE59LiR7QlBOfSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt2aV0gPSAiJHtiYXNlX2JpbmRpcn0vdmkiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbdmltXSA9ICIke2JpbmRpcn0vdmltIgorQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC93bWljb25maWcvd21pY29uZmlnX3N2bi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvd21pY29uZmlnL3dtaWNvbmZpZ19zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTk2YTRlNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvd21pY29uZmlnL3dtaWNvbmZpZ19zdm4uYmIKQEAgLTAsMCArMSwyMiBAQAorU1VNTUFSWSA9ICJBdGhlcm9zIDZLIFdpZmkgY29uZmlndXJhdGlvbiB1dGlsaXR5IgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3dtaWNvbmZpZy5jO2VuZGxpbmU9MTk7bWQ1PTQzOTRhNTZiY2ExYzViMjQ0NmM5ZjhlNDA2YzgyOTExIgorU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCitTUkNSRVYgPSAiNTM5NCIKK1BWID0gIjAuMC4wK3N2bnIke1NSQ1BWfSIKK1BSID0gInIyIgorCitTUkNfVVJJID0gInN2bjovL3N2bi5vcGVubW9rby5vcmcvdHJ1bmsvc3JjL3RhcmdldDttb2R1bGU9QVI2a1NESy5idWlsZF9zdy4xODtwcm90b2NvbD1odHRwIgorUyA9ICIke1dPUktESVJ9L0FSNmtTREsuYnVpbGRfc3cuMTgvaG9zdC90b29scy93bWljb25maWciCisKK0NMRUFOQlJPS0VOID0gIjEiCisKK0VYVFJBX09FTUFLRSA9ICItZSBNQUtFRkxBR1M9IgorCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgd21pY29uZmlnICR7RH0ke2JpbmRpcn0KK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC94Y2hhdC94Y2hhdC0yLjguOC9hdXRvbWFrZS1mb3JlaWduLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC94Y2hhdC94Y2hhdC0yLjguOC9hdXRvbWFrZS1mb3JlaWduLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmYTJmNmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3hjaGF0L3hjaGF0LTIuOC44L2F1dG9tYWtlLWZvcmVpZ24ucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIGEvY29uZmlndXJlLmluCTIwMTQtMDgtMTggMDE6MjU6NDMuOTExNTk3MDIzIC0wNzAwCisrKysgYi9jb25maWd1cmUuaW4JMjAxNC0wOC0xOCAwMToyNjoyNy43NjM3ODY2MjkgLTA3MDAKK0BAIC04LDcgKzgsNyBAQAorIEFDX0NPTkZJR19IRUFERVJTKFtjb25maWcuaF0pCisgQUNfQ09ORklHX1NSQ0RJUihbY29uZmlndXJlLmluXSkKKyAKKy1BTV9JTklUX0FVVE9NQUtFKFsxLjkgZGlzdC1iemlwMiBzdWJkaXItb2JqZWN0cyBuby1kZWZpbmVdKQorK0FNX0lOSVRfQVVUT01BS0UoWzEuOSBmb3JlaWduIGRpc3QtYnppcDIgc3ViZGlyLW9iamVjdHMgbm8tZGVmaW5lXSkKKyAKKyBBTV9NQUlOVEFJTkVSX01PREUKKyBBQ19QUk9HX0NDCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3hjaGF0L3hjaGF0LTIuOC44L2ZpeC1pbmNsdWRlcy1mb3Itc2VwYXJhdGUtYnVpbGQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3hjaGF0L3hjaGF0LTIuOC44L2ZpeC1pbmNsdWRlcy1mb3Itc2VwYXJhdGUtYnVpbGQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDM5NGU1MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveGNoYXQveGNoYXQtMi44LjgvZml4LWluY2x1ZGVzLWZvci1zZXBhcmF0ZS1idWlsZC5wYXRjaApAQCAtMCwwICsxLDc4IEBACitkaWZmIC11ciB4Y2hhdC0yLjguOC1vcmlnL3BsdWdpbnMvcGVybC9wZXJsLmMgeGNoYXQtMi44LjgvcGx1Z2lucy9wZXJsL3BlcmwuYworLS0tIHhjaGF0LTIuOC44LW9yaWcvcGx1Z2lucy9wZXJsL3BlcmwuYwkyMDE0LTA4LTMwIDE0OjA5OjA1LjEyNTExNjI4NiAtMDcwMAorKysrIHhjaGF0LTIuOC44L3BsdWdpbnMvcGVybC9wZXJsLmMJMjAxNC0wOC0zMCAxNDowOTo0NS4yODExMDY1MzIgLTA3MDAKK0BAIC0zMSw3ICszMSw3IEBACisgI2VuZGlmCisgCisgI3VuZGVmIFBBQ0tBR0UKKy0jaW5jbHVkZSAiLi4vLi4vY29uZmlnLmgiCQkgIC8qIGZvciAjZGVmaW5lIE9MRF9QRVJMICovCisrI2luY2x1ZGUgPGNvbmZpZy5oPgkJICAvKiBmb3IgI2RlZmluZSBPTERfUEVSTCAqLworICNpbmNsdWRlICJ4Y2hhdC1wbHVnaW4uaCIKKyAKKyBzdGF0aWMgeGNoYXRfcGx1Z2luICpwaDsJCSAgLyogcGx1Z2luIGhhbmRsZSAqLworZGlmZiAtdXIgeGNoYXQtMi44Ljgtb3JpZy9zcmMvY29tbW9uL25ldHdvcmsuYyB4Y2hhdC0yLjguOC9zcmMvY29tbW9uL25ldHdvcmsuYworLS0tIHhjaGF0LTIuOC44LW9yaWcvc3JjL2NvbW1vbi9uZXR3b3JrLmMJMjAxNC0wOC0zMCAxNDowOTowNS4xMzcxMTYyMjIgLTA3MDAKKysrKyB4Y2hhdC0yLjguOC9zcmMvY29tbW9uL25ldHdvcmsuYwkyMDE0LTA4LTMwIDE0OjEzOjUyLjcyOTExNjMyMyAtMDcwMAorQEAgLTI0LDcgKzI0LDcgQEAKKyAjaW5jbHVkZSA8dW5pc3RkLmg+CisgI2luY2x1ZGUgPGdsaWIuaD4KKyAKKy0jaW5jbHVkZSAiLi4vLi4vY29uZmlnLmgiCQkJCSAgLyogZ3JhYiBVU0VfSVBWNiBhbmQgTE9PS1VQRCBkZWZpbmVzICovCisrI2luY2x1ZGUgPGNvbmZpZy5oPgkJCQkgIC8qIGdyYWIgVVNFX0lQVjYgYW5kIExPT0tVUEQgZGVmaW5lcyAqLworIAorICNkZWZpbmUgV0FOVFNPQ0tFVAorICNkZWZpbmUgV0FOVEFSUEEKK2RpZmYgLXVyIHhjaGF0LTIuOC44LW9yaWcvc3JjL2NvbW1vbi9zc2wuYyB4Y2hhdC0yLjguOC9zcmMvY29tbW9uL3NzbC5jCistLS0geGNoYXQtMi44Ljgtb3JpZy9zcmMvY29tbW9uL3NzbC5jCTIwMTQtMDgtMzAgMTQ6MDk6MDUuMTM3MTE2MjIyIC0wNzAwCisrKysgeGNoYXQtMi44Ljgvc3JjL2NvbW1vbi9zc2wuYwkyMDE0LTA4LTMwIDE0OjE0OjA4LjQ0OTEzMzg5OSAtMDcwMAorQEAgLTIzLDcgKzIzLDcgQEAKKyAjaW5jbHVkZSA8c3RyaW5nLmg+CQkJCSAgLyogc3RybmNweSgpICovCisgI2luY2x1ZGUgInNzbC5oIgkJCQkJICAvKiBzdHJ1Y3QgY2VydF9pbmZvICovCisgI2luY2x1ZGUgImluZXQuaCIKKy0jaW5jbHVkZSAiLi4vLi4vY29uZmlnLmgiCQkgIC8qIEhBVkVfU05QUklOVEYgKi8KKysjaW5jbHVkZSA8Y29uZmlnLmg+CQkgIC8qIEhBVkVfU05QUklOVEYgKi8KKyAKKyAjaWZuZGVmIEhBVkVfU05QUklOVEYKKyAjZGVmaW5lIHNucHJpbnRmIGdfc25wcmludGYKK2RpZmYgLXVyIHhjaGF0LTIuOC44LW9yaWcvc3JjL2NvbW1vbi91dGlsLmMgeGNoYXQtMi44Ljgvc3JjL2NvbW1vbi91dGlsLmMKKy0tLSB4Y2hhdC0yLjguOC1vcmlnL3NyYy9jb21tb24vdXRpbC5jCTIwMTQtMDgtMzAgMTQ6MDk6MDUuMTMzMTE2MjQzIC0wNzAwCisrKysgeGNoYXQtMi44Ljgvc3JjL2NvbW1vbi91dGlsLmMJMjAxNC0wOC0zMCAxNDoxMDoyMy42MzMxMTYwNzAgLTA3MDAKK0BAIC00MSw3ICs0MSw3IEBACisgI2luY2x1ZGUgInhjaGF0Yy5oIgorICNpbmNsdWRlIDxjdHlwZS5oPgorICNpbmNsdWRlICJ1dGlsLmgiCistI2luY2x1ZGUgIi4uLy4uL2NvbmZpZy5oIgorKyNpbmNsdWRlIDxjb25maWcuaD4KKyAKKyAjZGVmaW5lIFdBTlRTT0NLRVQKKyAjaW5jbHVkZSAiaW5ldC5oIgorZGlmZiAtdXIgeGNoYXQtMi44Ljgtb3JpZy9zcmMvY29tbW9uL3hjaGF0LmggeGNoYXQtMi44Ljgvc3JjL2NvbW1vbi94Y2hhdC5oCistLS0geGNoYXQtMi44Ljgtb3JpZy9zcmMvY29tbW9uL3hjaGF0LmgJMjAxNC0wOC0zMCAxNDowOTowNS4xMzMxMTYyNDMgLTA3MDAKKysrKyB4Y2hhdC0yLjguOC9zcmMvY29tbW9uL3hjaGF0LmgJMjAxNC0wOC0zMCAxNDoxMzo0Mi43OTcxMTY0NzIgLTA3MDAKK0BAIC0xLDQgKzEsNCBAQAorLSNpbmNsdWRlICIuLi8uLi9jb25maWcuaCIKKysjaW5jbHVkZSA8Y29uZmlnLmg+CisgCisgI2luY2x1ZGUgPGdsaWIuaD4KKyAjaW5jbHVkZSA8dGltZS5oPgkJCS8qIG5lZWQgdGltZV90ICovCitkaWZmIC11ciB4Y2hhdC0yLjguOC1vcmlnL3NyYy9mZS1ndGsvZmUtZ3RrLmggeGNoYXQtMi44Ljgvc3JjL2ZlLWd0ay9mZS1ndGsuaAorLS0tIHhjaGF0LTIuOC44LW9yaWcvc3JjL2ZlLWd0ay9mZS1ndGsuaAkyMDE0LTA4LTMwIDE0OjA5OjA1LjEyOTExNjI3MiAtMDcwMAorKysrIHhjaGF0LTIuOC44L3NyYy9mZS1ndGsvZmUtZ3RrLmgJMjAxNC0wOC0zMCAxNDoxMDoxMy4zMDkxMTU5NTEgLTA3MDAKK0BAIC0xLDQgKzEsNCBAQAorLSNpbmNsdWRlICIuLi8uLi9jb25maWcuaCIKKysjaW5jbHVkZSA8Y29uZmlnLmg+CisgCisgI2lmZGVmIFdJTjMyCisgLyogSWYgeW91J3JlIGNvbXBpbGluZyB0aGlzIGZvciBXaW5kb3dzLCB5b3VyIHJlbGVhc2UgaXMgdW4tb2ZmaWNpYWwKK2RpZmYgLXVyIHhjaGF0LTIuOC44LW9yaWcvc3JjL2ZlLWd0ay94dGV4dC5jIHhjaGF0LTIuOC44L3NyYy9mZS1ndGsveHRleHQuYworLS0tIHhjaGF0LTIuOC44LW9yaWcvc3JjL2ZlLWd0ay94dGV4dC5jCTIwMTQtMDgtMzAgMTQ6MDk6MDUuMTI5MTE2MjcyIC0wNzAwCisrKysgeGNoYXQtMi44Ljgvc3JjL2ZlLWd0ay94dGV4dC5jCTIwMTQtMDgtMzAgMTQ6MTA6MDAuMzEzMTM4MjU0IC0wNzAwCitAQCAtNTEsNyArNTEsNyBAQAorICNpbmNsdWRlIDxndGsvZ3Rrd2luZG93Lmg+CisgCisgI2lmZGVmIFhDSEFUCistI2luY2x1ZGUgIi4uLy4uL2NvbmZpZy5oIgkJCS8qIGNhbiBkZWZpbmUgVVNFX1hMSUIgaGVyZSAqLworKyNpbmNsdWRlIDxjb25maWcuaD4JCQkvKiBjYW4gZGVmaW5lIFVTRV9YTElCIGhlcmUgKi8KKyAjZWxzZQorICNkZWZpbmUgVVNFX1hMSUIKKyAjZW5kaWYKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveGNoYXQveGNoYXQtMi44LjgvZ2xpYi0yLjMyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC94Y2hhdC94Y2hhdC0yLjguOC9nbGliLTIuMzIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzliY2U2YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveGNoYXQveGNoYXQtMi44LjgvZ2xpYi0yLjMyLnBhdGNoCkBAIC0wLDAgKzEsNDQgQEAKKy0tLSB4Y2hhdC0yLjguOC5vcmlnL3NyYy9jb21tb24veGNoYXQuaAkyMDA5LTA4LTE2IDExOjQwOjE2LjAwMDAwMDAwMCArMDIwMAorKysrIHhjaGF0LTIuOC44L3NyYy9jb21tb24veGNoYXQuaAkyMDEyLTA1LTA2IDA4OjMwOjE2LjEyNTc1NTQ5NyArMDIwMAorQEAgLTEsMTAgKzEsNiBAQAorICNpbmNsdWRlICIuLi8uLi9jb25maWcuaCIKKyAKKy0jaW5jbHVkZSA8Z2xpYi9nc2xpc3QuaD4KKy0jaW5jbHVkZSA8Z2xpYi9nbGlzdC5oPgorLSNpbmNsdWRlIDxnbGliL2d1dGlscy5oPgorLSNpbmNsdWRlIDxnbGliL2dpb2NoYW5uZWwuaD4KKy0jaW5jbHVkZSA8Z2xpYi9nc3RyZnVuY3MuaD4KKysjaW5jbHVkZSA8Z2xpYi5oPgorICNpbmNsdWRlIDx0aW1lLmg+CQkJLyogbmVlZCB0aW1lX3QgKi8KKyAKKyAjaWZuZGVmIFhDSEFUX0gKKy0tLSB4Y2hhdC0yLjguOC5vcmlnL3NyYy9jb21tb24vc2Vydmxpc3QuYwkyMDEwLTA1LTE2IDA5OjI0OjI2LjAwMDAwMDAwMCArMDIwMAorKysrIHhjaGF0LTIuOC44L3NyYy9jb21tb24vc2Vydmxpc3QuYwkyMDEyLTA1LTA2IDA4OjMwOjQ1LjY4MTc1ODAxOSArMDIwMAorQEAgLTI0LDcgKzI0LDYgQEAKKyAjaW5jbHVkZSA8dW5pc3RkLmg+CisgCisgI2luY2x1ZGUgInhjaGF0LmgiCistI2luY2x1ZGUgPGdsaWIvZ2hhc2guaD4KKyAKKyAjaW5jbHVkZSAiY2ZnZmlsZXMuaCIKKyAjaW5jbHVkZSAiZmUuaCIKKy0tLSB4Y2hhdC0yLjguOC5vcmlnL3NyYy9jb21tb24vdXRpbC5jCTIwMDktMDgtMTYgMTE6NDA6MTYuMDAwMDAwMDAwICswMjAwCisrKysgeGNoYXQtMi44Ljgvc3JjL2NvbW1vbi91dGlsLmMJMjAxMi0wNS0wNiAwODozMToxMC4zODk3NjAxMjIgKzAyMDAKK0BAIC0zOSw3ICszOSw2IEBACisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgInhjaGF0LmgiCisgI2luY2x1ZGUgInhjaGF0Yy5oIgorLSNpbmNsdWRlIDxnbGliL2dtYXJrdXAuaD4KKyAjaW5jbHVkZSA8Y3R5cGUuaD4KKyAjaW5jbHVkZSAidXRpbC5oIgorICNpbmNsdWRlICIuLi8uLi9jb25maWcuaCIKKy0tLSB4Y2hhdC0yLjguOC5vcmlnL3NyYy9jb21tb24vdGV4dC5jCTIwMTAtMDUtMzAgMDQ6MTQ6NDEuMDAwMDAwMDAwICswMjAwCisrKysgeGNoYXQtMi44Ljgvc3JjL2NvbW1vbi90ZXh0LmMJMjAxMi0wNS0wNiAwODozMToyMi4zMDA3NjExMzcgKzAyMDAKK0BAIC0yOCw3ICsyOCw2IEBACisgI2luY2x1ZGUgPHN5cy9tbWFuLmg+CisgCisgI2luY2x1ZGUgInhjaGF0LmgiCistI2luY2x1ZGUgPGdsaWIvZ2hhc2guaD4KKyAjaW5jbHVkZSAiY2ZnZmlsZXMuaCIKKyAjaW5jbHVkZSAiY2hhbm9wdC5oIgorICNpbmNsdWRlICJwbHVnaW4uaCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveGNoYXQveGNoYXRfMi44LjguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3hjaGF0L3hjaGF0XzIuOC44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkYTExY2QKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3hjaGF0L3hjaGF0XzIuOC44LmJiCkBAIC0wLDAgKzEsMzcgQEAKK1NVTU1BUlkgPSAiRnVsbC1mZWF0dXJlZCBJUkMgY2hhdCBjbGllbnQgd2l0aCBzY3JpcHRpbmcgc3VwcG9ydCIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy54Y2hhdC5vcmciCitTRUNUSU9OID0gIngxMS9uZXR3b3JrIgorCitERVBFTkRTID0gImxpYmdjcnlwdCB6bGliIGd0aysgbGlic2V4eSIKK0RFUEVORFMgKz0gImdkay1waXhidWYtbmF0aXZlIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jOTNjMDU1MGJkMzE3M2Y0NTA0YjJjYmQ4OTkxZTUwYiIKKworUFIgPSAicjIiCisKK1NSQ19VUkkgPSAiaHR0cDovL3hjaGF0Lm9yZy9maWxlcy9zb3VyY2UvMi44L3hjaGF0LSR7UFZ9LnRhci5iejIgXAorICAgIGZpbGU6Ly9nbGliLTIuMzIucGF0Y2ggXAorICAgIGZpbGU6Ly9hdXRvbWFrZS1mb3JlaWduLnBhdGNoIFwKKyAgICBmaWxlOi8vZml4LWluY2x1ZGVzLWZvci1zZXBhcmF0ZS1idWlsZC5wYXRjaCBcCisiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnCisKK1BBQ0tBR0VDT05GSUcgPz89ICJkYnVzIgorUEFDS0FHRUNPTkZJR1tkYnVzXSA9ICItLWVuYWJsZS1kYnVzLC0tZGlzYWJsZS1kYnVzLGRidXMtZ2xpYiIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS1lbmFibGUtb3BlbnNzbCwtLWRpc2FibGUtb3BlbnNzbCxvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tweXRob25dID0gIi0tZW5hYmxlLXB5dGhvbiwtLWRpc2FibGUtcHl0aG9uLHB5dGhvbiIKKworRVhUUkFfT0VDT05GID0gIlwKKyAgICAtLWVuYWJsZS1tYWludGFpbmVyLW1vZGUgXAorICAgIC0tZGlzYWJsZS1wZXJsIFwKKyAgICAtLWRpc2FibGUtdGNsIFwKKyIKKworUkRFUEVORFNfJHtQTn0gKz0gImRidXMiCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9kYnVzLTEiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS94Y2hhdC9wbHVnaW5zLy5kZWJ1ZyIKKworU1JDX1VSSVttZDVzdW1dID0gIjY3NzVjNDRmMzhlODRkMDZjMDZjMzM2YjMyYzRhNDUyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBkNmQ2OTQzN2I1ZTFlNDVmM2U2NjI3MGZlMzY5MzQ0OTQzZGU4YTExOTBlNDk4ZmFmYTUyOTYzMTVhMjdkYjAiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3hkZWx0YS94ZGVsdGEzXzMuMC4xMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveGRlbHRhL3hkZWx0YTNfMy4wLjExLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2NjlkOWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3hkZWx0YS94ZGVsdGEzXzMuMC4xMS5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIlhkZWx0YSBpcyBhIHRvb2wgZm9yIGRpZmZlcmVudGlhbCBjb21wcmVzc2lvbiIKK0RFU0NSSVBUSU9OID0gIk9wZW4tc291cmNlIGJpbmFyeSBkaWZmLCBkaWZmZXJlbnRpYWwgY29tcHJlc3Npb24gdG9vbHMsIFwKKyAgICAgICAgICAgICAgIFZDRElGRiAoUkZDIDMyODQpIGRlbHRhIGNvbXByZXNzaW9uLiIKK0hPTUVQQUdFID0gImh0dHA6Ly94ZGVsdGEub3JnLyIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM5M2E1Y2E0NDVmNjk2NTg3M2VjYTAyNTlhMTdmODMzIgorU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vam1hY2QveGRlbHRhLWRldmVsL3JlbGVhc2VzL2Rvd25sb2FkL3Yke1BWfS8ke0JQTn0tJHtQVn0udGFyLmd6ICBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjQ0NWQ4YmUyYWM1MTIxMTNkNWNhNjAxYWU4MzU5NjI2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBjY2M5NzUxY2VhYTRkOTBkNmIwNjkzOGE0ZGVkZGI0ODE4MTZmNWQ5Mjg0YmQwN2QyZTcyODYwOWNiMzAwYWEiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKKyMgT3B0aW9uYWwgc2Vjb25kYXJ5IGNvbXByZXNzaW9uCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tsem1hXSA9ICItLXdpdGgtbGlibHptYSwtLXdpdGhvdXQtbGlibHptYSx4eiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveG1sc3RhcmxldC9maWxlcy8wMDAxLXVzYWdlMmMuYXdrLWZpeC13cm9uZy1iYXNlbmFtZS1yZWdleHAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3htbHN0YXJsZXQvZmlsZXMvMDAwMS11c2FnZTJjLmF3ay1maXgtd3JvbmctYmFzZW5hbWUtcmVnZXhwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0YjE4N2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3htbHN0YXJsZXQvZmlsZXMvMDAwMS11c2FnZTJjLmF3ay1maXgtd3JvbmctYmFzZW5hbWUtcmVnZXhwLnBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtzb3VyY2Vmb3JnZV0KKworRnJvbSA3NWQ3ODlkMGVhOTcxNmM5YTlhZTcyZjQyYTJmY2ZhOTA3Y2Y0YTEyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWF0dGhpZXUgQ3JhcGV0IDxtY3JhcGV0QGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMzAgSnVuIDIwMTQgMTM6NTI6MjUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gdXNhZ2UyYy5hd2s6IGZpeCB3cm9uZyBiYXNlbmFtZSByZWdleHAKKworUHJldmlvdXNseSBub3QgbWF0Y2hpbmcgd2l0aCBmaWxlbmFtZSBhcmd1bWVudCB3aXRoIGFic29sdXRlIHBhdGguCisKK1NpZ25lZC1vZmYtYnk6IE1hdHRoaWV1IENyYXBldCA8bWNyYXBldEBnbWFpbC5jb20+CistLS0KKyB1c2FnZTJjLmF3ayB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS91c2FnZTJjLmF3ayBiL3VzYWdlMmMuYXdrCitpbmRleCA5NGI4OTdhLi45YWVhMjEyIDEwMDc1NQorLS0tIGEvdXNhZ2UyYy5hd2sKKysrKyBiL3VzYWdlMmMuYXdrCitAQCAtNiwxMyArNiwxMyBAQCBCRUdJTiB7CisgfQorIAorICMgdGV4dCBpbiBzcmMvZm9vLWJhci50eHQgcmVzdWx0cyBpbgorLSMgICBzdGF0aWMgY29uc3QgY2hhciBmb29fdGV4dFtdID0geworKyMgICBzdGF0aWMgY29uc3QgY2hhciBmb29fYmFyW10gPSB7CisgIyAgICAgJ3QnLCAnaCcsICdlJywgJyAnLCAndCcsICdlJywgJ3gnLCAndCcsIC4uLgorICMgICB9CisgbGVuZ3RoKGNvbW1hbmRfbmFtZSkgPT0gMCB7CisgICAgIGNvbW1hbmRfbmFtZSA9IEZJTEVOQU1FOworICAgICBzdWIoL1wudHh0JC8sICIiLCBjb21tYW5kX25hbWUpOworLSAgICBzdWIoL14oW15cL10rXC8pKi8sICIiLCBjb21tYW5kX25hbWUpOworKyAgICBzdWIoL14uKlwvLywgIiIsIGNvbW1hbmRfbmFtZSk7CisgICAgIGdzdWIoLy0vLCAiXyIsIGNvbW1hbmRfbmFtZSk7CisgICAgIHByaW50Zigic3RhdGljIGNvbnN0IGNoYXIgJXNbXSA9IHtcbiIsIGNvbW1hbmRfbmFtZSk7CisgICAgIHByb2dzID0gMDsKKy0tIAorMi4wLjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC94bWxzdGFybGV0L2ZpbGVzL2NvbmZpZ3VyZS5hYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveG1sc3RhcmxldC9maWxlcy9jb25maWd1cmUuYWMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTU1ZjRmMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveG1sc3RhcmxldC9maWxlcy9jb25maWd1cmUuYWMucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorY29uZmlndXJlLmFjOiBkb24ndCB1c2UgeG1sLWNvbmZpZyBpZiAtLXdpdGgtbGlieG1sLXByZWZpeCBpcyBzcGVjaWZpZWQgdG8gY29uZmlndXJlCisKK1NhbWUgYmVoYXZpb3IgZm9yIHhzbHQtY29uZmlnLgorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCBlZDA0ZTBjLi4zOWQ1ZDRjIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC00MCw3ICs0MCw4IEBAIEFDX0FSR19QUk9HUkFNICAgICAgICAgIGRubCBUcmFuc2Zvcm1pbmcgUHJvZ3JhbSBOYW1lcyBXaGVuIEluc3RhbGxpbmcKKyBBQ19QUk9HX1NFRAorIEFDX1BST0dfQVdLCisgCistWFNUQVJfTElCX0NIRUNLKFtMSUJYTUxdLCBbeG1sMi1jb25maWddKQorK0FTX0lGKFt0ZXN0ICJ4JExJQlhNTF9QUkVGSVgiID0geF0sCisrICAgICAgW1hTVEFSX0xJQl9DSEVDSyhbTElCWE1MXSwgW3htbDItY29uZmlnXSldKQorIAorIEFTX0lGKFt0ZXN0ICJ4JExJQlhNTF9TUkNESVIiICE9IHhdLAorICAgICAgIFtMSUJYTUxfSU5DRElSPSIkTElCWE1MX1NSQ0RJUi9pbmNsdWRlIl0pCitAQCAtNTYsNyArNTcsOCBAQCBBU19JRihbdGVzdCAieCRTVEFUSUNfTElCUyIgIT0geG5vXSwKKyBbTElCWE1MX0xERkxBR1M9Ii1MJExJQlhNTF9MSUJESVIiXQorIAorIAorLVhTVEFSX0xJQl9DSEVDSyhbTElCWFNMVF0sIFt4c2x0LWNvbmZpZ10pCisrQVNfSUYoW3Rlc3QgIngkTElCWFNMVF9QUkVGSVgiID0geF0sCisrICAgICAgW1hTVEFSX0xJQl9DSEVDSyhbTElCWFNMVF0sIFt4c2x0LWNvbmZpZ10pXSkKKyAKKyBBU19JRihbdGVzdCAieCRMSUJYU0xUX1NSQ0RJUiIgIT0geF0sCisgICAgICAgW1hTTFRQUk9DX1BBVEg9IiRMSUJYU0xUX1NSQ0RJUi94c2x0cHJvYzokUEFUSCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveG1sc3RhcmxldC94bWxzdGFybGV0XzEuNS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC94bWxzdGFybGV0L3htbHN0YXJsZXRfMS41LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmY5OWFmZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveG1sc3RhcmxldC94bWxzdGFybGV0XzEuNS4wLmJiCkBAIC0wLDAgKzEsMzMgQEAKK1NVTU1BUlkgPSAiQ29tbWFuZCBsaW5lIFhNTCB0b29sa2l0IgorREVTQ1JJUFRJT04gPSAiWE1MU3RhcmxldCBpcyBhIGNvbW1hbmQgbGluZSBYTUwgdG9vbGtpdCB3aGljaCBjYW4gYmUgdXNlZCB0byBcCisgICAgICAgICAgICAgICB0cmFuc2Zvcm0sIHF1ZXJ5LCB2YWxpZGF0ZSwgYW5kIGVkaXQgWE1MIGRvY3VtZW50cyBhbmQgZmlsZXMgXAorICAgICAgICAgICAgICAgdXNpbmcgIHNpbXBsZSBzZXQgb2Ygc2hlbGwgY29tbWFuZHMgaW4gc2ltaWxhciB3YXkgaXQgaXMgZG9uZSBcCisgICAgICAgICAgICAgICBmb3IgcGxhaW4gdGV4dCBmaWxlcyB1c2luZyBncmVwL3NlZC9hd2svdHIvZGlmZi9wYXRjaC4iCitIT01FUEFHRSA9ICJodHRwOi8veG1sc3Rhci5zb3VyY2Vmb3JnZS5uZXQvIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8veG1sc3Rhci5zb3VyY2Vmb3JnZS5uZXQvYnVncy8iCisKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YzA0NzYwZDA5ZThiMGZlNzMyODNkMGNjOWU4YmVhNTMiCisKK0RFUEVORFMgPSAibGlieG1sMiBsaWJ4c2x0IgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS94bWxzdGFyLyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUuYWMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS11c2FnZTJjLmF3ay1maXgtd3JvbmctYmFzZW5hbWUtcmVnZXhwLnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gIjBjNmRiMjk1ZDBjZjlmZjBkNDM5ZWRiNzU1YjdlOGY2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ3YjRlZDA0MmVhMjkwOTI1N2YyYTM4NjAwMWFmNDlmY2ViMzAzZjg0ZGE3MjE0Nzc5Y2NmOTlmZmZjNmJiYmEiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKKyMgZG9jIGJ1aWxkOiByZXF1aXJlcyAobmF0aXZlKSB4c3RscHJvYywgZm9wLCBwZGYycHMKK0VYVFJBX09FQ09ORj0iLS1kaXNhYmxlLWJ1aWxkLWRvY3MgXAorICAtLXdpdGgtbGlieG1sLXByZWZpeD0ke1NUQUdJTkdfTElCRElSfS8uLiBcCisgIC0td2l0aC1saWJ4c2x0LXByZWZpeD0ke1NUQUdJTkdfTElCRElSfS8uLiIKKworI01ha2VmaWxlOjIxMTY6IHJlY2lwZSBmb3IgdGFyZ2V0ICdzcmMvZWxlbS11c2FnZS5jJyBmYWlsZWQKKyNtYWtlWzFdOiAqKiogW3NyYy9lbGVtLXVzYWdlLmNdIEVycm9yIDEKKyMvYmluL2Jhc2g6IHNyYy9lc2NhcGUtdXNhZ2UuYzogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQorI01ha2VmaWxlOjIxMTY6IHJlY2lwZSBmb3IgdGFyZ2V0ICdzcmMvZXNjYXBlLXVzYWdlLmMnIGZhaWxlZAorI21ha2VbMV06ICoqKiBbc3JjL2VzY2FwZS11c2FnZS5jXSBFcnJvciAxCitQQVJBTExFTF9NQUtFID0gIiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvemlsZS9maWxlcy9yZW1vdmUtaGVscDJtYW4ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ppbGUvZmlsZXMvcmVtb3ZlLWhlbHAybWFuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxYTYzZjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ppbGUvZmlsZXMvcmVtb3ZlLWhlbHAybWFuLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KK2luZGV4IDU0YmM1OWYuLjQ2YzI2NTAgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5hbQorKysrIGIvTWFrZWZpbGUuYW0KK0BAIC0zNiw3ICszNiw2IEBAIFBFUkxfQlVJTERUSU1FID0JCQkJCVwKKyAKKyBFWFRSQV9ESVNUID0JCQkJCQlcCisgCUZBUQkJCQkJCVwKKy0JYnVpbGQtYXV4L3ppbGUtaGVscDJtYW4td3JhcHBlcgkJCVwKKyAJJChQRVJMX0JVSUxEVElNRSkKKyAKKyBkb2NfREFUQSA9IEFVVEhPUlMgRkFRIE5FV1MKK2RpZmYgLS1naXQgYS9kb2MvTWFrZWZpbGUuYW0gYi9kb2MvTWFrZWZpbGUuYW0KK2luZGV4IDYzOWY1OWMuLjhjNTEyM2UgMTAwNjQ0CistLS0gYS9kb2MvTWFrZWZpbGUuYW0KKysrKyBiL2RvYy9NYWtlZmlsZS5hbQorQEAgLTMzLDkgKzMzLDMgQEAgZG9jL3ppbGUuMTogJChzcmNkaXIpL2RvYy96aWxlLjEuaW4gZG9jL01ha2VmaWxlLmFtIGNvbmZpZy5zdGF0dXMKKyAJJChlZGl0KSAkKGFic19zcmNkaXIpL2RvYy96aWxlLjEuaW4gPiRALnRtcAorIAltdiAkQC50bXAgJEAKKyAKKy0kKHNyY2RpcikvZG9jL3ppbGUuMS5pbjogZG9jL21hbi1leHRyYXMgYnVpbGQtYXV4L3ppbGUtaGVscDJtYW4td3JhcHBlciBjb25maWd1cmUuYWMgJChidWlsZGRpcikvc3JjL3ppbGUkKEVYRUVYVCkKKy0JQHRlc3QgLWQgZG9jIHx8IG1rZGlyIGRvYworLSMjIEV4aXQgZ3JhY2VmdWxseSBpZiB6aWxlLjEuaW4gaXMgbm90IHdyaXRlYWJsZSwgc3VjaCBhcyBkdXJpbmcgZGlzdGNoZWNrIQorLQkkKEFNX1ZfR0VOKWlmICggdG91Y2ggJEAudyAmJiBybSAtZiAkQC53OyApID4vZGV2L251bGwgMj4mMTsgdGhlbiBcCistCSAgJChzcmNkaXIpL2J1aWxkLWF1eC9taXNzaW5nIC0tcnVuICQoSEVMUDJNQU4pIC0tb3V0cHV0PSRAIC0tbm8taW5mbyAtLW5hbWU9IlppbGUgSXMgTG9zc3kgRW1hY3MiIC0taW5jbHVkZSAkKHNyY2RpcikvZG9jL21hbi1leHRyYXMgJChzcmNkaXIpL2J1aWxkLWF1eC96aWxlLWhlbHAybWFuLXdyYXBwZXI7IFwKKy0JZmkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvemlsZS96aWxlXzIuNC45LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC96aWxlL3ppbGVfMi40LjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjU1MWE4MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvemlsZS96aWxlXzIuNC45LmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiWmlsZSBpcyBsb3NzeSBFbWFjcyIKK0hPTUVQQUdFID0gImh0dHA6Ly96aWxlLnNvdXJjZWZvcmdlLm5ldC8iCitERVBFTkRTID0gIm5jdXJzZXMgYmR3Z2MiCisKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworU1JDX1VSSSA9ICJodHRwOi8vZnRwLmdudS5vcmcvZ251L3ppbGUvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3JlbW92ZS1oZWxwMm1hbi5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4NGEwYWY1OGZiNGZiZTNhZjE2YmRlMmVmMmI4ZjVhZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjNzE5NTljN2FjYTAyYWM2NmJlNTI2ZWNjY2JjNzk1NGZiMGVhNzU5MWVkM2MxMzMxMWE5NWU4ZjA0MGIwMDQ5IgorCitpbmhlcml0IGF1dG90b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9md3RzL2Z3dHNfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9md3RzL2Z3dHNfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5NDNkNmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2Z3dHMvZnd0c19naXQuYmIKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSA9ICJGaXJtd2FyZSB0ZXN0c3VpdGUiCitERVNDUklQVElPTiA9ICJUaGUgdG9vbCBmd3RzIGNvbXByaXNlcyBvZiBvdmVyIGZpZnR5IHRlc3RzIHRoYXQgYXJlIGRlc2lnbmVkIHRvIGV4ZXJjaXNlIGFuZCB0ZXN0IGRpZmZlcmVudCBhc3BlY3RzIG9mIGEgbWFjaGluZSdzIGZpcm13YXJlLiBNYW55IG9mIHRoZXNlIHRlc3RzIG5lZWQgc3VwZXIgdXNlciBhY2Nlc3MgdG8gcmVhZCBCSU9TIGRhdGEgYW5kIEFDUEkgdGFibGVzLCBzbyB0aGUgdG9vbCByZXF1aXJlcyBydW5uaW5nIHdpdGggc3VwZXIgdXNlciBwcml2aWxlZ2VzIChlLmcuIHdpdGggc3VkbykuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly93aWtpLnVidW50dS5jb20vS2VybmVsL1JlZmVyZW5jZS9md3RzIgorCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3NyYy9tYWluLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0xNjttZDU9ZGViOGFmNTM4OGU4MzhkMTMzZWFhMDM2ZjRkMTQ5NmYiCisKK1BWID0gIjE0LjEyLjAwIgorCitTUkNSRVYgPSAiZWZjMThkMTYyOTRmNDkyYjdmNzJiYmE2NDM0NGIyZWVkNTBlNmE2OSIKK1NSQ19VUkkgPSAiZ2l0Oi8va2VybmVsLnVidW50dS5jb20vaHdlL2Z3dHMuZ2l0IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitERVBFTkRTID0gImxpYnBjcmUganNvbi1jIGdsaWItMi4wIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworQ0ZMQUdTICs9ICItSSR7U1RBR0lOR19JTkNESVJ9L2pzb24tYyIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9md3RzL2xpYioke1NPTElCU30iCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9md3RzL2xpYioke1NPTElCU0RFVn0gJHtsaWJkaXJ9L2Z3dHMvbGliKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L2Z3dHMvbGliKmEiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9md3RzLy5kZWJ1ZyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvZ21vY2svZ21vY2svY21ha2UtQWRkLWluc3RhbGwtY29tbWFuZC1mb3ItbGlicmFyaWVzLWFuZC1oZWFkZXJzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9nbW9jay9nbW9jay9jbWFrZS1BZGQtaW5zdGFsbC1jb21tYW5kLWZvci1saWJyYXJpZXMtYW5kLWhlYWRlcnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTJhNjM5MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvZ21vY2svZ21vY2svY21ha2UtQWRkLWluc3RhbGwtY29tbWFuZC1mb3ItbGlicmFyaWVzLWFuZC1oZWFkZXJzLnBhdGNoCkBAIC0wLDAgKzEsNDAgQEAKK0Zyb20gYmEwYTdkNjVjOTE4Y2I3ZTNmMjA3MzU1M2M0Y2M3YWY1ODU4ZWQwMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+CitEYXRlOiBUaHUsIDMxIEp1bCAyMDE0IDE2OjU0OjAwIC0wMzAwCitTdWJqZWN0OiBbUEFUQ0hdIGNtYWtlOiBBZGQgaW5zdGFsbCBjb21tYW5kIGZvciBsaWJyYXJpZXMgYW5kIGhlYWRlcnMKK09yZ2FuaXphdGlvbjogTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIExUREEuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+CistLS0KKyBDTWFrZUxpc3RzLnR4dCB8IDYgKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggNTcyZDA0NC4uOTBlNzk3YSAxMDA2NDQKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTYzLDYgKzYzLDggQEAgaW5jbHVkZV9kaXJlY3RvcmllcygiJHtnbW9ja19TT1VSQ0VfRElSfS9pbmNsdWRlIgorICAgICAgICAgICAgICAgICAgICAgIyBUZXN0IHNvdXJjZXMuCisgICAgICAgICAgICAgICAgICAgICAiJHtndGVzdF9TT1VSQ0VfRElSfSIpCisgCisraW5zdGFsbChESVJFQ1RPUlkgJHtnbW9ja19TT1VSQ0VfRElSfS9pbmNsdWRlL2dtb2NrIERFU1RJTkFUSU9OIGluY2x1ZGUpCisrCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIworICMgRGVmaW5lcyB0aGUgZ21vY2sgJiBnbW9ja19tYWluIGxpYnJhcmllcy4gIFVzZXIgdGVzdHMgc2hvdWxkIGxpbmsKK0BAIC04Miw2ICs4NCwxMCBAQCBjeHhfbGlicmFyeShnbW9ja19tYWluCisgICAgICAgICAgICAgc3JjL2dtb2NrLWFsbC5jYworICAgICAgICAgICAgIHNyYy9nbW9ja19tYWluLmNjKQorIAorKworK2luc3RhbGwoVEFSR0VUUyBnbW9jayBERVNUSU5BVElPTiBsaWIpCisraW5zdGFsbChUQVJHRVRTIGdtb2NrX21haW4gREVTVElOQVRJT04gbGliKQorKworICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICMKKyAjIEdvb2dsZSBNb2NrJ3Mgb3duIHRlc3RzLgorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2dtb2NrL2dtb2NrL2NtYWtlLWdtb2NrLnBjLmluLUFkZC1wa2ctY29uZmlnLXN1cHBvcnQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2dtb2NrL2dtb2NrL2NtYWtlLWdtb2NrLnBjLmluLUFkZC1wa2ctY29uZmlnLXN1cHBvcnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWEzOGZlNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvZ21vY2svZ21vY2svY21ha2UtZ21vY2sucGMuaW4tQWRkLXBrZy1jb25maWctc3VwcG9ydC5wYXRjaApAQCAtMCwwICsxLDU2IEBACitGcm9tIDQ1NjYxMTgzYTdjNzhkOGM0Zjc1YWRjZjUzYzZkZGQ2NjNkYzhiMmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJpbyBEb21lbmVjaCBHb3VsYXJ0IDxtYXJpb0Bvc3N5c3RlbXMuY29tLmJyPgorRGF0ZTogTW9uLCAyMCBPY3QgMjAxNCAxNzoxMjo1OCAtMDIwMAorU3ViamVjdDogW1BBVENIXSBDTWFrZUxpc3RzLCBnbW9jay5wYy5pbjogQWRkIHBrZy1jb25maWcgc3VwcG9ydAorT3JnYW5pemF0aW9uOiBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTFREQS4KKworU2lnbmVkLW9mZi1ieTogTWFyaW8gRG9tZW5lY2ggR291bGFydCA8bWFyaW9Ab3NzeXN0ZW1zLmNvbS5icj4KKy0tLQorIENNYWtlTGlzdHMudHh0IHwgNyArKysrKystCisgZ21vY2sucGMuaW4gICAgfCA5ICsrKysrKysrKworIDIgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnbW9jay5wYy5pbgorCitkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggOTBlNzk3YS4uOThmZDgyNCAxMDA2NDQKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTI3LDYgKzI3LDkgQEAgaWYgKENPTU1BTkQgcHJlX3Byb2plY3Rfc2V0X3VwX2hlcm1ldGljX2J1aWxkKQorICAgcHJlX3Byb2plY3Rfc2V0X3VwX2hlcm1ldGljX2J1aWxkKCkKKyBlbmRpZigpCisgCisrIyBwa2ctY29uZmlnIHN1cHBvcnQKKytjb25maWd1cmVfZmlsZSgiZ21vY2sucGMuaW4iICJnbW9jay5wYyIgQE9OTFkpCisrCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIworICMgUHJvamVjdC13aWRlIHNldHRpbmdzCitAQCAtODcsNyArOTAsOSBAQCBjeHhfbGlicmFyeShnbW9ja19tYWluCisgCisgaW5zdGFsbChUQVJHRVRTIGdtb2NrIERFU1RJTkFUSU9OIGxpYikKKyBpbnN0YWxsKFRBUkdFVFMgZ21vY2tfbWFpbiBERVNUSU5BVElPTiBsaWIpCistCisraW5zdGFsbChGSUxFUyAiJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2dtb2NrLnBjIgorKyAgICBERVNUSU5BVElPTiAiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vbGliL3BrZ2NvbmZpZy8iCisrKSAgCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIworICMgR29vZ2xlIE1vY2sncyBvd24gdGVzdHMuCitkaWZmIC0tZ2l0IGEvZ21vY2sucGMuaW4gYi9nbW9jay5wYy5pbgorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjA4YWQ4ZDIKKy0tLSAvZGV2L251bGwKKysrKyBiL2dtb2NrLnBjLmluCitAQCAtMCwwICsxLDkgQEAKKytOYW1lOiBsaWJnbW9jaworK1ZlcnNpb246IDEuNy4wCisrRGVzY3JpcHRpb246IEdvb2dsZSdzIGZyYW1ld29yayBmb3Igd3JpdGluZyBDKysgdGVzdHMgb24gYSB2YXJpZXR5IG9mIHBsYXRmb3JtcworKyAKKytwcmVmaXg9QENNQUtFX0lOU1RBTExfUFJFRklYQAorK2luY2x1ZGVkaXI9JHtwcmVmaXh9L2luY2x1ZGUKKytsaWJkaXI9JHtwcmVmaXh9L2xpYgorK0NmbGFnczotSSR7aW5jbHVkZWRpcn0vZ21vY2sKKytMaWJzOiAtTCR7bGliZGlyfSAtbGdtb2NrIC1sZ21vY2tfbWFpbgorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2dtb2NrL2dtb2NrXzEuNy4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9nbW9jay9nbW9ja18xLjcuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNTM3ZjRjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9nbW9jay9nbW9ja18xLjcuMC5iYgpAQCAtMCwwICsxLDIzIEBACitERVNDUklQVElPTiA9ICJHb29nbGUgQysrIE1vY2tpbmcgRnJhbWV3b3JrIgorU0VDVElPTiA9ICJsaWJzIgorSE9NRVBBR0UgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2dvb2dsZW1vY2svIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1jYmJkMjc1OTRhZmQwODlkYWExNjBkM2ExNmRkNTE1YSIKKworU1JDX1VSSSA9ICJcCisgICAgaHR0cDovL2dvb2dsZW1vY2suZ29vZ2xlY29kZS5jb20vZmlsZXMvJHtCUE59LSR7UFZ9LnppcCBcCisgICAgZmlsZTovL2NtYWtlLUFkZC1pbnN0YWxsLWNvbW1hbmQtZm9yLWxpYnJhcmllcy1hbmQtaGVhZGVycy5wYXRjaCBcCisgICAgZmlsZTovL2NtYWtlLWdtb2NrLnBjLmluLUFkZC1wa2ctY29uZmlnLXN1cHBvcnQucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDczYjk4NGQ4Nzk4ZWExNTk0ZjVlNDRkODViMjBkNjYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjZmY2JiNTkyNWI3NGFkNWZjOGMyNmIwNDk1ZGZjOTYzNTNmNGQ1NTM0OTJlYjk3ZTg1YThhNmQyZjQzMDk1YiIKKworaW5oZXJpdCBsaWJfcGFja2FnZSBjbWFrZQorCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorQUxMT1dfRU1QVFlfJHtQTn0tZGJnID0gIjEiCisKK1JERVBFTkRTXyR7UE59LWRldiArPSAiJHtQTn0tc3RhdGljZGV2IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2d0ZXN0L2d0ZXN0L0NNYWtlTGlzdHMtZ3Rlc3QucGMuaW4tQWRkLXBrZy1jb25maWctc3VwcG9ydC10by1ndGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2d0ZXN0L2d0ZXN0L0NNYWtlTGlzdHMtZ3Rlc3QucGMuaW4tQWRkLXBrZy1jb25maWctc3VwcG9ydC10by1ndGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWVjZTEzNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvZ3Rlc3QvZ3Rlc3QvQ01ha2VMaXN0cy1ndGVzdC5wYy5pbi1BZGQtcGtnLWNvbmZpZy1zdXBwb3J0LXRvLWd0ZS5wYXRjaApAQCAtMCwwICsxLDU1IEBACitGcm9tIGQ0YjI1Y2U3MjM4MTJmYWY3OGQ4ZWUwMzhiN2NiZWQwMGNiYmE2ODIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSb2RyaWdvIENhaW1pIDxjYWltaUBkYXRhY29tLmluZC5icj4KK0RhdGU6IFR1ZSwgNyBPY3QgMjAxNCAxNTozNzoxMCAtMDMwMAorU3ViamVjdDogW1BBVENIXSBDTWFrZUxpc3RzLCBndGVzdC5wYy5pbjogQWRkIHBrZy1jb25maWcgc3VwcG9ydCB0byBndGVzdAorIDEuNy4wCisKK1NpZ25lZC1vZmYtYnk6IFJvZHJpZ28gQ2FpbWkgPGNhaW1pQGRhdGFjb20uaW5kLmJyPgorLS0tCisgQ01ha2VMaXN0cy50eHQgfCA2ICsrKysrKworIGd0ZXN0LnBjLmluICAgIHwgOSArKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ3Rlc3QucGMuaW4KKworZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKK2luZGV4IDI4MWM0YzIuLmU0MzU0YTggMTAwNjQ0CistLS0gYS9DTWFrZUxpc3RzLnR4dAorKysrIGIvQ01ha2VMaXN0cy50eHQKK0BAIC0yOSw2ICsyOSw5IEBAIGlmIChDT01NQU5EIHByZV9wcm9qZWN0X3NldF91cF9oZXJtZXRpY19idWlsZCkKKyAgIHByZV9wcm9qZWN0X3NldF91cF9oZXJtZXRpY19idWlsZCgpCisgZW5kaWYoKQorIAorKyMgcGtnLWNvbmZpZyBzdXBwb3J0CisrY29uZmlndXJlX2ZpbGUoImd0ZXN0LnBjLmluIiAiZ3Rlc3QucGMiIEBPTkxZKQorKworICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICMKKyAjIFByb2plY3Qtd2lkZSBzZXR0aW5ncworQEAgLTc1LDYgKzc4LDkgQEAgdGFyZ2V0X2xpbmtfbGlicmFyaWVzKGd0ZXN0X21haW4gZ3Rlc3QpCisgCisgaW5zdGFsbChUQVJHRVRTIGd0ZXN0IERFU1RJTkFUSU9OIGxpYikKKyBpbnN0YWxsKFRBUkdFVFMgZ3Rlc3RfbWFpbiBERVNUSU5BVElPTiBsaWIpCisraW5zdGFsbChGSUxFUyAiJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2d0ZXN0LnBjIgorKyAgICBERVNUSU5BVElPTiAiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vbGliL3BrZ2NvbmZpZy8iCisrKQorIAorICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICMKK2RpZmYgLS1naXQgYS9ndGVzdC5wYy5pbiBiL2d0ZXN0LnBjLmluCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uNTdiMTA0OQorLS0tIC9kZXYvbnVsbAorKysrIGIvZ3Rlc3QucGMuaW4KK0BAIC0wLDAgKzEsOSBAQAorK05hbWU6IGxpYmd0ZXN0CisrVmVyc2lvbjogMS43LjAKKytEZXNjcmlwdGlvbjogR29vZ2xlJ3MgZnJhbWV3b3JrIGZvciB3cml0aW5nIEMrKyB0ZXN0cyBvbiBhIHZhcmlldHkgb2YgcGxhdGZvcm1zCisrCisrcHJlZml4PUBDTUFLRV9JTlNUQUxMX1BSRUZJWEAKKytpbmNsdWRlZGlyPSR7cHJlZml4fS9pbmNsdWRlCisrbGliZGlyPSR7cHJlZml4fS9saWIKKytDZmxhZ3M6LUkke2luY2x1ZGVkaXJ9L2d0ZXN0CisrTGliczogLUwke2xpYmRpcn0gLWxndGVzdCAtbGd0ZXN0X21haW4KKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9ndGVzdC9ndGVzdC9jbWFrZS1BZGQtaW5zdGFsbC1jb21tYW5kLWZvci1saWJyYXJpZXMtYW5kLWhlYWRlcnMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2d0ZXN0L2d0ZXN0L2NtYWtlLUFkZC1pbnN0YWxsLWNvbW1hbmQtZm9yLWxpYnJhcmllcy1hbmQtaGVhZGVycy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYzE2MGIwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9ndGVzdC9ndGVzdC9jbWFrZS1BZGQtaW5zdGFsbC1jb21tYW5kLWZvci1saWJyYXJpZXMtYW5kLWhlYWRlcnMucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorRnJvbSA1MzE4OTgzNTYyYmU2YmFiZWI1YTY5OTZlN2RkYTRiMzFhY2ZkYmE4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KK0RhdGU6IFdlZCwgMzAgSnVsIDIwMTQgMTY6NDk6NTMgLTAzMDAKK1N1YmplY3Q6IFtQQVRDSF0gY21ha2U6IEFkZCBpbnN0YWxsIGNvbW1hbmQgZm9yIGxpYnJhcmllcyBhbmQgaGVhZGVycworT3JnYW5pemF0aW9uOiBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTFREQS4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KKy0tLQorIENNYWtlTGlzdHMudHh0IHwgNSArKysrKworIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKK2luZGV4IDU3NDcwYzguLjI4MWM0YzIgMTAwNjQ0CistLS0gYS9DTWFrZUxpc3RzLnR4dAorKysrIGIvQ01ha2VMaXN0cy50eHQKK0BAIC01Niw2ICs1Niw4IEBAIGluY2x1ZGVfZGlyZWN0b3JpZXMoCisgICAke2d0ZXN0X1NPVVJDRV9ESVJ9L2luY2x1ZGUKKyAgICR7Z3Rlc3RfU09VUkNFX0RJUn0pCisgCisraW5zdGFsbChESVJFQ1RPUlkgJHtndGVzdF9TT1VSQ0VfRElSfS9pbmNsdWRlL2d0ZXN0IERFU1RJTkFUSU9OIGluY2x1ZGUpCisrCisgIyBXaGVyZSBHb29nbGUgVGVzdCdzIGxpYnJhcmllcyBjYW4gYmUgZm91bmQuCisgbGlua19kaXJlY3Rvcmllcygke2d0ZXN0X0JJTkFSWV9ESVJ9L3NyYykKKyAKK0BAIC03MSw2ICs3Myw5IEBAIGN4eF9saWJyYXJ5KGd0ZXN0ICIke2N4eF9zdHJpY3R9IiBzcmMvZ3Rlc3QtYWxsLmNjKQorIGN4eF9saWJyYXJ5KGd0ZXN0X21haW4gIiR7Y3h4X3N0cmljdH0iIHNyYy9ndGVzdF9tYWluLmNjKQorIHRhcmdldF9saW5rX2xpYnJhcmllcyhndGVzdF9tYWluIGd0ZXN0KQorIAorK2luc3RhbGwoVEFSR0VUUyBndGVzdCBERVNUSU5BVElPTiBsaWIpCisraW5zdGFsbChUQVJHRVRTIGd0ZXN0X21haW4gREVTVElOQVRJT04gbGliKQorKworICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICMKKyAjIFNhbXBsZXMgb24gaG93IHRvIGxpbmsgdXNlciB0ZXN0cyB3aXRoIGd0ZXN0IG9yIGd0ZXN0X21haW4uCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvZ3Rlc3QvZ3Rlc3RfMS43LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2d0ZXN0L2d0ZXN0XzEuNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkZWVhYjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2d0ZXN0L2d0ZXN0XzEuNy4wLmJiCkBAIC0wLDAgKzEsMjMgQEAKK0RFU0NSSVBUSU9OID0gIkdvb2dsZSdzIGZyYW1ld29yayBmb3Igd3JpdGluZyBDKysgdGVzdHMiCitIT01FUEFHRSA9ICJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZ29vZ2xldGVzdC8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWNiYmQyNzU5NGFmZDA4OWRhYTE2MGQzYTE2ZGQ1MTVhIgorCitTUkNfVVJJID0gIlwKKyAgICBodHRwOi8vZ29vZ2xldGVzdC5nb29nbGVjb2RlLmNvbS9maWxlcy8ke0JQTn0tJHtQVn0uemlwIFwKKyAgICBmaWxlOi8vY21ha2UtQWRkLWluc3RhbGwtY29tbWFuZC1mb3ItbGlicmFyaWVzLWFuZC1oZWFkZXJzLnBhdGNoIFwKKyAgICBmaWxlOi8vQ01ha2VMaXN0cy1ndGVzdC5wYy5pbi1BZGQtcGtnLWNvbmZpZy1zdXBwb3J0LXRvLWd0ZS5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyZDZlYzhjY2RmNWM0NmIwNWJhNTRhOWZkMWQxMzBkNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyNDdjYTE4ZGQ4M2Y1M2RlYjEzMjhiZTE3ZTRiMWJlMzE1MTRjZWRmYzFlMzQyNGY2NzJiZjExZmQ3ZTBkNjBkIgorCitpbmhlcml0IGxpYl9wYWNrYWdlIGNtYWtlCisKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCitBTExPV19FTVBUWV8ke1BOfS1kYmcgPSAiMSIKKworUkRFUEVORFNfJHtQTn0tZGV2ICs9ICIke1BOfS1zdGF0aWNkZXYiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9zaXRlL2VuZGlhbi1iaWcgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2Uvc2l0ZS9lbmRpYW4tYmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhOTY4ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2Uvc2l0ZS9lbmRpYW4tYmlnCkBAIC0wLDAgKzEsMiBAQAorIyBycC1wcHBvZQorcnBwcG9lX2N2X3BhY2tfYml0ZmllbGRzPSR7cnBwcG9lX2N2X3BhY2tfYml0ZmllbGRzPW5vcm1hbH0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9zaXRlL2VuZGlhbi1saXR0bGUgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2Uvc2l0ZS9lbmRpYW4tbGl0dGxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiY2Q5NjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2Uvc2l0ZS9lbmRpYW4tbGl0dGxlCkBAIC0wLDAgKzEsMiBAQAorIyBycC1wcHBvZQorcnBwcG9lX2N2X3BhY2tfYml0ZmllbGRzPSR7cnBwcG9lX2N2X3BhY2tfYml0ZmllbGRzPXJldn0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL0NPUFlJTkcuTUlUIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvQ09QWUlORy5NSVQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODlkZTM1NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL0NPUFlJTkcuTUlUCkBAIC0wLDAgKzEsMTcgQEAKK1Blcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKK29mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsCitpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzCit0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsCitjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKK2Z1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisKK1RoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCithbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKworVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKK0lNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCitBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCitMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLAorT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTgorVEhFIFNPRlRXQVJFLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvUkVBRE1FIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2YzVjMWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9SRUFETUUKQEAgLTAsMCArMSw5MiBAQAorbWV0YS1wZXJsCis9PT09PT09PT0KK1RoaXMgbGF5ZXIgcHJvdmlkZXMgY29tbW9ubHktdXNlZCBwZXJsIHJlbGF0ZWQgcmVjaXBlcyBzdWNoIGFzIHBlcmwgbGlicmFyaWVzCitpbiB0aGUgQ29tcHJlaGVuc2l2ZSBQZXJsIEFyY2hpdmUgTmV0d29yay4KKworQ29udGVudHMgYW5kIEhlbHAKKy0tLS0tLS0tLS0tLS0tLS0tCisKK0luIHRoaXMgc2VjdGlvbiB0aGUgY29udGVudHMgb2YgdGhlIGxheWVyIGlzIGxpc3RlZCwgYWxvbmcgd2l0aCBhIHNob3J0CitoZWxwIGZvciBlYWNoIHBhY2thZ2UuCisKKyAgICAgICAgIC0tIGxpYmRiaS1wZXJsIC0tCisgICAgICAgICBUaGUgREJJIGlzIGEgZGF0YWJhc2UgYWNjZXNzIG1vZHVsZSBmb3IgdGhlIFBlcmwgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UuCisgICAgICAgICBJdCBkZWZpbmVzIGEgc2V0IG9mIG1ldGhvZHMsIHZhcmlhYmxlcywgYW5kIGNvbnZlbnRpb25zIHRoYXQgcHJvdmlkZQorICAgICAgICAgYSBjb25zaXN0ZW50IGRhdGFiYXNlIGludGVyZmFjZSwgaW5kZXBlbmRlbnQgb2YgdGhlIGFjdHVhbCBkYXRhYmFzZQorICAgICAgICAgYmVpbmcgdXNlZC4KKyAgICAgICAgICAgICAgICAgICAgICB8PC0gU2NvcGUgb2YgREJJIC0+fAorICAgICAgICAgICAgICAgICAgICAgICAgICAgLi0uICAgLi0tLS0tLS0tLS0tLS0tLiAgIC4tLS0tLS0tLS0tLS0tLgorICAgICAgICAgICAuLS0tLS0tLS4gICAgICAgfCB8LS0tfCBYWVogRHJpdmVyICAgfC0tLXwgWFlaIEVuZ2luZSAgfAorICAgICAgICAgICB8IFBlcmwgIHwgICAgICAgfCB8ICAgYC0tLS0tLS0tLS0tLS0tJyAgIGAtLS0tLS0tLS0tLS0tJworICAgICAgICAgICB8IHNjcmlwdHwgIHxBfCAgfER8ICAgLi0tLS0tLS0tLS0tLS0tLiAgIC4tLS0tLS0tLS0tLS0tLgorICAgICAgICAgICB8IHVzaW5nIHwtLXxQfC0tfEJ8LS0tfE9yYWNsZSBEcml2ZXIgfC0tLXxPcmFjbGUgRW5naW5lfAorICAgICAgICAgICB8IERCSSAgIHwgIHxJfCAgfEl8ICAgYC0tLS0tLS0tLS0tLS0tJyAgIGAtLS0tLS0tLS0tLS0tJworICAgICAgICAgICB8IEFQSSAgIHwgICAgICAgfCB8Li4uCisgICAgICAgICAgIHxtZXRob2RzfCAgICAgICB8IHwuLi4gT3RoZXIgZHJpdmVycworICAgICAgICAgICBgLS0tLS0tLScgICAgICAgfCB8Li4uCisgICAgICAgICAgICAgICAgICAgICAgICAgICBgLScKKworICAgICAgICAtLSBsaWJkYmQtc3FsaXRlLXBlcmwgLS0KKyAgICAgICAgREJEOjpTUUxpdGUgaXMgYSBQZXJsIERCSSBkcml2ZXIgZm9yIFNRTGl0ZSwgdGhhdCBpbmNsdWRlcyB0aGUgZW50aXJlCisgICAgICAgIHRoaW5nIGluIHRoZSBkaXN0cmlidXRpb24uIFNvIGluIG9yZGVyIHRvIGdldCBhIGZhc3QgdHJhbnNhY3Rpb24gY2FwYWJsZQorICAgICAgICBSREJNUyB3b3JraW5nIGZvciB5b3VyIHBlcmwgcHJvamVjdCB5b3Ugc2ltcGx5IGhhdmUgdG8gaW5zdGFsbCB0aGlzCisgICAgICAgIG1vZHVsZSwgYW5kIG5vdGhpbmcgZWxzZS4KKworICAgICAgICB1c2FnZTogdGhlcmUgaXMgYSB0ZXN0IGNhc2UgdG8gc2hvdyB5b3UgaG93IGl0IHdvcmtzCisKKyAgICAgICAgMSkgdmltIGxvY2FsLmNvbmY6CisgICAgICAgIC4uLgorICAgICAgICBJTUFHRV9JTlNUQUxMX2FwcGVuZCA9ICIgbGliZGJkLXNxbGl0ZS1wZXJsIgorICAgICAgICBQRVJMX0RCTV9URVNUID0gIjEiCisgICAgICAgIC4uLgorICAgICAgICAyKSBidWlsZCBjb3JlLWltYWdlLXNhdG8gYW5kIGJvb3QgdGhlIHRhcmdldAorCisgICAgICAgIDMpIHJ1biAic3FsaXRlLXBlcmwtdGVzdC5wbCIgb24gdGFyZ2V0LiBUaGlzIHNjcmlwdCBpbmNsdWRlcyBmaXZlCisgICAgICAgICAgIG9wZXJhdGlvbnMgY3JlYXRlL2luc2VydC91cGRhdGUvZGVsZXRlL3NlbGVjdCB0byBkbyB3aXRoIGEgdGFibGUuCisKKyAgICAgICAgTW9yZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gdGhlIHJlY2lwZSdzIGdpdCBsb2cuCisKK0RlcGVuZGVuY2llcworLS0tLS0tLS0tLS0tCisKK1RoaXMgbGF5ZXIgZGVwZW5kcyBvbjoKKworICBVUkk6IGdpdDovL2dpdC5vcGVuZW1iZWRkZWQub3JnL29wZW5lbWJlZGRlZC1jb3JlCisgIGJyYW5jaDoga3JvZ290aCAKKyAgcmV2aXNpb246IEhFQUQKKyAgcHJpbzogZGVmYXVsdAorCitBZGRpbmcgdGhlIG1ldGEtcGVybCBsYXllciB0byB5b3VyIGJ1aWxkCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworSW4gb3JkZXIgdG8gdXNlIHRoaXMgbGF5ZXIsIHlvdSBuZWVkIHRvIG1ha2UgdGhlIGJ1aWxkIHN5c3RlbSBhd2FyZSBvZgoraXQuCisKK0Fzc3VtaW5nIHRoZSBtZXRhLXBlcmwgbGF5ZXIgZXhpc3RzIGF0IHRoZSB0b3AtbGV2ZWwgb2YgeW91cgoreW9jdG8gYnVpbGQgdHJlZSwgeW91IGNhbiBhZGQgaXQgdG8gdGhlIGJ1aWxkIHN5c3RlbSBieSBhZGRpbmcgdGhlCitsb2NhdGlvbiBvZiB0aGUgbWV0YS1wZXJsIGxheWVyIHRvIGJibGF5ZXJzLmNvbmYsIGFsb25nIHdpdGggYW55CitvdGhlciBsYXllcnMgbmVlZGVkLiBlLmcuOgorCisgIEJCTEFZRVJTID89ICIgXAorICAgIC9wYXRoL3RvL29lLWNvcmUvbWV0YSBcCisgICAgL3BhdGgvdG8vbGF5ZXIvbWV0YS1wZXJsIFwKKworTWFpbnRlbmFuY2UKKy0tLS0tLS0tLS0tCisKK1NlbmQgcGF0Y2hlcyAvIHB1bGwgcmVxdWVzdHMgdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgd2l0aAorJ1ttZXRhLXBlcmxdW2tyb2dvdGhdJyBpbiB0aGUgc3ViamVjdC4KKworV2hlbiBzZW5kaW5nIHNpbmdsZSBwYXRjaGVzLCBwbGVhc2UgdXNpbmcgc29tZXRoaW5nIGxpa2U6CisnZ2l0IHNlbmQtZW1haWwgLU0gLTEgLS10byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyAtLXN1YmplY3QtcHJlZml4PW1ldGEtcGVybF1ba3JvZ290aF1bUEFUQ0gnCisKK2tyb2dvdGggQnJhbmNoIE1haW50YWluZXI6CitBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgorCitMaWNlbnNlCistLS0tLS0tCisKK0FsbCBtZXRhZGF0YSBpcyBNSVQgbGljZW5zZWQgdW5sZXNzIG90aGVyd2lzZSBzdGF0ZWQuIFNvdXJjZSBjb2RlIGluY2x1ZGVkCitpbiB0cmVlIGZvciBpbmRpdmlkdWFsIHJlY2lwZXMgaXMgdW5kZXIgdGhlIExJQ0VOU0Ugc3RhdGVkIGluIGVhY2ggcmVjaXBlCisoLmJiIGZpbGUpIHVubGVzcyBvdGhlcndpc2Ugc3RhdGVkLgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9jb25mL2xheWVyLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9jb25mL2xheWVyLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDQ4NWFjOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL2NvbmYvbGF5ZXIuY29uZgpAQCAtMCwwICsxLDE2IEBACisjIFdlIGhhdmUgYSBjb25mIGFuZCBjbGFzc2VzIGRpcmVjdG9yeSwgYWRkIHRvIEJCUEFUSAorQkJQQVRIIC49ICI6JHtMQVlFUkRJUn0iCisKKyMgV2UgaGF2ZSByZWNpcGVzLSogZGlyZWN0b3JpZXMsIGFkZCB0byBCQkZJTEVTCitCQkZJTEVTICs9ICIke0xBWUVSRElSfS9yZWNpcGVzLSovKi8qLmJiIFwKKwkke0xBWUVSRElSfS9yZWNpcGVzLSovKi8qLmJiYXBwZW5kIgorCitCQkZJTEVfQ09MTEVDVElPTlMgKz0gInBlcmwtbGF5ZXIiCitCQkZJTEVfUEFUVEVSTl9wZXJsLWxheWVyIDo9ICJeJHtMQVlFUkRJUn0vIgorQkJGSUxFX1BSSU9SSVRZX3BlcmwtbGF5ZXIgPSAiNiIKKworIyBUaGlzIHNob3VsZCBvbmx5IGJlIGluY3JlbWVudGVkIG9uIHNpZ25pZmljYW50IGNoYW5nZXMgdGhhdCB3aWxsCisjIGNhdXNlIGNvbXBhdGliaWxpdHkgaXNzdWVzIHdpdGggb3RoZXIgbGF5ZXJzCitMQVlFUlZFUlNJT05fcGVybC1sYXllciA9ICIxIgorCitMQVlFUkRFUEVORFNfcGVybC1sYXllciA9ICJjb3JlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1leHRlbmRlZC9taW1lLWNvbnN0cnVjdC9maWxlcy9maXgtbWltZS1jb25zdHJ1Y3QtaGVscC1yZXR1cm4tdmFsdWUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLWV4dGVuZGVkL21pbWUtY29uc3RydWN0L2ZpbGVzL2ZpeC1taW1lLWNvbnN0cnVjdC1oZWxwLXJldHVybi12YWx1ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZTQyODFkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1leHRlbmRlZC9taW1lLWNvbnN0cnVjdC9maWxlcy9maXgtbWltZS1jb25zdHJ1Y3QtaGVscC1yZXR1cm4tdmFsdWUucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorRnJvbSAyYjllZDA2ODUwNDEwZDcwMzcxYjMxZGU1ZjEzMWU0ODRiYTFjODUxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTHUgQ2hvbmcgPENob25nLkx1QHdpbmRyaXZlci5jb20+CitEYXRlOiBUaHUsIDE3IE9jdCAyMDEzIDE2OjA2OjA0ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeCBtaW1lLWNvbnN0cnVjdCAtLWhlbHAgcmV0dXJuIHZhbHVlCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBMdSBDaG9uZyA8Q2hvbmcuTHVAd2luZHJpdmVyLmNvbT4KKworLS0tCisgbWltZS1jb25zdHJ1Y3QgfCAgICA1ICsrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL21pbWUtY29uc3RydWN0IGIvbWltZS1jb25zdHJ1Y3QKK2luZGV4IGNhZDdkMGUuLjcwN2VkMTkgMTAwNzU1CistLS0gYS9taW1lLWNvbnN0cnVjdAorKysrIGIvbWltZS1jb25zdHJ1Y3QKK0BAIC0zOSw3ICszOSw3IEBAIHVzYWdlOiAkTWUgc3dpdGNoLi4uCisgCisgICBHbG9iYWwgc2V0dGluZ3M6CisgICAgIC0tZGVidWcJCXR1cm4gZGVidWdnaW5nIG9uCistICAgIC0taGVscAkJc2hvdyB0aGlzIGFuZCB0aGVuIGRpZQorKyAgICAtLWhlbHAJCXNob3cgdGhpcworICAgICAtLW91dHB1dAkJZG9uXCd0IG1haWwsIG91dHB1dCB0byBzdGRvdXQgKGxvc2VzIGJjYyBpbmZvKQorICAgICAtLXN1YnBhcnQJCWdlbmVyYXRlIHN1YnBhcnQgcmF0aGVyIHRoYW4gd2hvbGUgbWVzc2FnZSAodHVybnMKKyAgICAgCSAgICAJICAgIAlvbiAtLW91dHB1dCwgY2hhbmdlcyBvdGhlciBzZW1hbnRpY3MgYSBiaXQpCitAQCAtMTUwLDcgKzE1MCw4IEBAIHN1YiB4d2FybiB7CisgCisgc3ViIHVzYWdlIHsKKyAgICAgeHdhcm4gQF8gaWYgQF87CistICAgIGRpZSAkVXNhZ2U7CisrICAgIHByaW50ICRVc2FnZTsKKysgICAgZXhpdCAwOworIH0KKyAKKyBzdWIgaW5pdCB7CistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1leHRlbmRlZC9taW1lLWNvbnN0cnVjdC9taW1lLWNvbnN0cnVjdF8xLjExLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1leHRlbmRlZC9taW1lLWNvbnN0cnVjdC9taW1lLWNvbnN0cnVjdF8xLjExLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwMWYzYmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLWV4dGVuZGVkL21pbWUtY29uc3RydWN0L21pbWUtY29uc3RydWN0XzEuMTEuYmIKQEAgLTAsMCArMSwyOCBAQAorU1VNTUFSWSA9ICJDb25zdHJ1Y3QgYW5kIG9wdGlvbmFsbHkgbWFpbCBNSU1FIG1lc3NhZ2VzIgorREVTQ1JJUFRJT04gPSAiQ29uc3RydWN0cyBhbmQgKGJ5IGRlZmF1bHQpIG1haWxzIE1JTUUgbWVzc2FnZXMuIFwKKyAgICAgICAgICAgICAgIEl0IGlzIGVudGlyZWx5IGRyaXZlbiBmcm9tIHRoZSBjb21tYW5kIGxpbmUsIGl0IGlzIFwKKyAgICAgICAgICAgICAgIGRlc2lnbmVkIHRvIGJlIHVzZWQgYnkgb3RoZXIgcHJvZ3JhbXMsIG9yIHBlb3BsZSB3aG8gYWN0IFwKKyAgICAgICAgICAgICAgIGxpa2UgcHJvZ3JhbXMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9+cm9zY2gvbWltZS1jb25zdHJ1Y3QvbWltZS1jb25zdHJ1Y3QiCitTRUNUSU9OID0gIm1haWwiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RlYmlhbi9jb3B5cmlnaHQ7bWQ1PTVlMmU1ZGE2MTlhYzhlZjhjODQ3NjdjY2M0NjU2ZTk2IgorCitTUkNfVVJJID0gIiR7Q1BBTl9NSVJST1J9L2F1dGhvcnMvaWQvUi9STy9ST1NDSC9taW1lLWNvbnN0cnVjdC0ke1BWfS50YXIuZ3ogXAorICAgIGZpbGU6Ly9maXgtbWltZS1jb25zdHJ1Y3QtaGVscC1yZXR1cm4tdmFsdWUucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzM4MzRlYTc4MGZiZWE4MWI4OWRiZDliMmZiNTRmNTgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGNkN2JiNjFiNTFkNDExOTJkMTQ5OGMxMDUxYWE2YTRjY2Q3NWFlYjA5YjcxZDJlYzcwNmE3MDg0YTRhOTMwMyIKKworaW5oZXJpdCBjcGFuCisKK1JERVBFTkRTXyR7UE59ID0gImxpYm1pbWUtdHlwZXMtcGVybCBsaWJwcm9jLXdhaXRzdGF0LXBlcmwgbXNtdHAgXAorICAgIHBlcmwtbW9kdWxlLWZpbGVoYW5kbGUgcGVybC1tb2R1bGUtbWltZS1iYXNlNjQgcGVybC1tb2R1bGUtbWltZS1xdW90ZWRwcmludCBwZXJsLW1vZHVsZS1wb3NpeCBcCisiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgI2NoYW5nZSB0aGUgaW50ZXJwcmV0ZXIgaW4gZmlsZQorICAgc2VkIC1pIC1lICJzfCR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9wZXJsLW5hdGl2ZS9wZXJsIC13fCR7YmluZGlyfS9lbnYgcGVybHxnIiBcCisgICAgICAke0R9LyR7YmluZGlyfS9taW1lLWNvbnN0cnVjdAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2FkZHVzZXIvYWRkdXNlcl8zLjExNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9hZGR1c2VyL2FkZHVzZXJfMy4xMTQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmI0YzBjNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9hZGR1c2VyL2FkZHVzZXJfMy4xMTQuYmIKQEAgLTAsMCArMSw1NSBAQAorU1VNTUFSWSA9ICJhIHV0aWxpdHkgdG8gYWRkIHVzZXJzL2dyb3VwcyB0byB0aGUgc3lzdGVtIgorREVTQ1JJUFRJT04gPSAiYWRkdXNlciwgYWRkZ3JvdXAgLSBhZGQgYSB1c2VyIG9yIGdyb3VwIHRvIHRoZSBzeXN0ZW0iCitIT01FUEFHRSA9ICJodHRwOi8vYWxpb3RoLmRlYmlhbi5vcmcvcHJvamVjdHMvYWRkdXNlci8iCitTRUNUSU9OID0gImJhc2UvdXRpbHMiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kZWJpYW4vY29weXJpZ2h0O21kNT1jYWVkNDlhYjE2NmYyMmVmMzFiZjExMjdmNTU4ZDBlZiIKKworU1JDX1VSSSA9ICJodHRwOi8vZnRwLmRlLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wvbWFpbi9hLyR7QlBOfS8ke0JQTn1fJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovL2FkZHVzZXItYWRkLU0tb3B0aW9uLWZvci11c2VyYWRkLXdoZW4tbm8tY3JlYXRlLWhvbWUucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiM2EwNzlkZDRlNDFkNWExZmJhY2NhYWIwM2FhY2Q4ODEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjkzYjQ1YmIwZDI3OTM4ZmZmMmVjZWU1NDQyZWEyYWMxYjg4MDQ0NzJmZjBiYjhmYWZmZDM5NjE2ZTU4MjExZiIKKworaW5oZXJpdCBjcGFuLWJhc2UgdXBkYXRlLWFsdGVybmF0aXZlcworCitTID0gIiR7V09SS0RJUn0vJHtCUE59LTMuMTEzK25tdTQiCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzYmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L2FkZHVzZXIgJHtEfSR7c2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9kZWx1c2VyICR7RH0ke3NiaW5kaXJ9CisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0vcGVybC8ke1BFUkxWRVJTSU9OfS9EZWJpYW4KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9BZGR1c2VyQ29tbW9uLnBtICR7RH0ke2xpYmRpcn0vcGVybC8ke1BFUkxWRVJTSU9OfS9EZWJpYW4KKyAgICBzZWQgLWkgLWUgInMvVkVSU0lPTi8ke1BWfS8iICR7RH0ke3NiaW5kaXJ9LyoKKworICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vKi5jb25mICR7RH0vJHtzeXNjb25mZGlyfQorCisgICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjUKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9kb2MvKi5jb25mLjUgJHtEfSR7bWFuZGlyfS9tYW41CisgICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjgKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9kb2MvKi44ICR7RH0ke21hbmRpcn0vbWFuOAorICAgIGluc3RhbGwgLWQgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KKyAgICBjcCAtcmYgJHtTfS9leGFtcGxlcyAke0R9JHtkb2NkaXJ9LyR7QlBOfQorfQorCitSREVQRU5EU18ke1BOfSArPSAiXAorICAgIHNoYWRvdyBcCisgICAgcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgXAorICAgIHBlcmwtbW9kdWxlLW92ZXJsb2FkaW5nIFwKKyAgICBwZXJsLW1vZHVsZS1maWxlLWZpbmQgXAorICAgIHBlcmwtbW9kdWxlLWZpbGUtdGVtcCBcCisiCisKK0FMVEVSTkFUSVZFXyR7UE59ID0gImFkZHVzZXIgZGVsdXNlciBhZGRncm91cCBkZWxncm91cCIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjYwIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2FkZHVzZXJdID0gIiR7c2JpbmRpcn0vYWRkdXNlciIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtkZWx1c2VyXSA9ICIke3NiaW5kaXJ9L2RlbHVzZXIiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbYWRkZ3JvdXBdID0gIiR7c2JpbmRpcn0vYWRkZ3JvdXAiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbZGVsZ3JvdXBdID0gIiR7c2JpbmRpcn0vZGVsZ3JvdXAiCitBTFRFUk5BVElWRV9UQVJHRVRbYWRkZ3JvdXBdID0gIiR7c2JpbmRpcn0vYWRkdXNlci4ke0JQTn0iCitBTFRFUk5BVElWRV9UQVJHRVRbZGVsZ3JvdXBdID0gIiR7c2JpbmRpcn0vZGVsdXNlci4ke0JQTn0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvYWRkdXNlci9maWxlcy9hZGR1c2VyLWFkZC1NLW9wdGlvbi1mb3ItdXNlcmFkZC13aGVuLW5vLWNyZWF0ZS1ob21lLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2FkZHVzZXIvZmlsZXMvYWRkdXNlci1hZGQtTS1vcHRpb24tZm9yLXVzZXJhZGQtd2hlbi1uby1jcmVhdGUtaG9tZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YjBhMDNmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2FkZHVzZXIvZmlsZXMvYWRkdXNlci1hZGQtTS1vcHRpb24tZm9yLXVzZXJhZGQtd2hlbi1uby1jcmVhdGUtaG9tZS5wYXRjaApAQCAtMCwwICsxLDU3IEBACitGcm9tIDgwOWYwMGE2ZWYwMjI0YjQxYjJlMTIwNzE5NGM4ZGEzY2QzZTNjN2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogVGh1LCAxOCBEZWMgMjAxNCAxNzoyMzozNyArMDgwMAorU3ViamVjdDogW1BBVENIXSBhZGR1c2VyOiBhZGQgLU0gb3B0aW9uIGZvciB1c2VyYWRkIHdoZW4gLS1uby1jcmVhdGUtaG9tZSBpcyBzcGVjaWZpZWQKKworVGhlIHVzZXJhZGQgKGZyb20gcGFja2FnZSBwYXNzd2QpIGluIGRlYmlhbiBiYXNlZCBzeXN0ZW0gc2V0cyAtTSAoLS1uby1jcmVhdGUtaG9tZSkgYnkgZGVmYXVsdCwKK2J1dCB0aGUgb25lIHdlIGFyZSB1c2luZyAoZnJvbSBwYWNrYWdlIHNoYWRvdykgc2V0cyAtbSAoLS1jcmVhdGUtaG9tZSkgYnkgZGVmYXVsdCwgc28gd2UKK25lZWQgdG8gZXhwbGljaXRseSBhZGQgLU0gb3B0aW9uIGZvciB1c2VyYWRkIGNhbGwgd2hlbiAtLW5vLWNyZWF0ZS1ob21lIGlzIHNwZWNpZmllZCBmb3IgYWRkdXNlci4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBhZGR1c2VyIHwgICAyMCArKysrKysrKysrKysrKysrLS0tLQorIDEgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2FkZHVzZXIgYi9hZGR1c2VyCitpbmRleCBjM2JkOGIwLi45YTA3ZjlmIDEwMDc1NQorLS0tIGEvYWRkdXNlcgorKysrIGIvYWRkdXNlcgorQEAgLTQzNCw4ICs0MzQsMTQgQEAgaWYgKCRhY3Rpb24gZXEgImFkZHN5c3VzZXIiKSB7CisgICAgICRzaGVsbCA9ICRzcGVjaWFsX3NoZWxsIHx8ICcvYmluL2ZhbHNlJzsKKyAgICAgJHVuZG91c2VyID0gJG5ld19uYW1lOworICAgICBteSAkdXNlcmFkZCA9ICZ3aGljaCgndXNlcmFkZCcpOworLSAgICAmc3lzdGVtY2FsbCgkdXNlcmFkZCwgJy1kJywgJGhvbWVfZGlyLCAnLWcnLCAkaW5ncm91cF9uYW1lLCAnLXMnLAorLQkJJHNoZWxsLCAnLXUnLCAkbmV3X3VpZCwgJG5ld19uYW1lKTsKKysgICAgaWYgKCRub19jcmVhdGVfaG9tZSkgeworKyAgICAgICAgJnN5c3RlbWNhbGwoJHVzZXJhZGQsICctZCcsICRob21lX2RpciwgJy1nJywgJGluZ3JvdXBfbmFtZSwgJy1zJywKKysJCSAgICAkc2hlbGwsICctdScsICRuZXdfdWlkLCAnLU0nLCAkbmV3X25hbWUpOworKyAgICB9CisrICAgIGVsc2UgeworKyAgICAgICAgJnN5c3RlbWNhbGwoJHVzZXJhZGQsICctZCcsICRob21lX2RpciwgJy1nJywgJGluZ3JvdXBfbmFtZSwgJy1zJywKKysgICAgICAgICAgICAgICAgICAgICRzaGVsbCwgJy11JywgJG5ld191aWQsICRuZXdfbmFtZSk7CisrICAgIH0KKyAgICAgaWYoISRkaXNhYmxlZF9sb2dpbikgeworICAgICAgICAgbXkgJHVzZXJtb2QgPSAmd2hpY2goJ3VzZXJtb2QnKTsKKyAgICAgICAgICZzeXN0ZW1jYWxsKCR1c2VybW9kLCAnLXAnLCAnKicsICRuZXdfbmFtZSk7CitAQCAtNTI0LDggKzUzMCwxNCBAQCBpZiAoJGFjdGlvbiBlcSAiYWRkdXNlciIpIHsKKyAJJHNoZWxsID0gJHNwZWNpYWxfc2hlbGwgfHwgJGNvbmZpZ3siZHNoZWxsIn07CisgICAgICR1bmRvdXNlciA9ICRuZXdfbmFtZTsKKyAgICAgbXkgJHVzZXJhZGQgPSAmd2hpY2goJ3VzZXJhZGQnKTsKKy0gICAgJnN5c3RlbWNhbGwoJHVzZXJhZGQsICctZCcsICRob21lX2RpciwgJy1nJywgJGluZ3JvdXBfbmFtZSwgJy1zJywKKy0JCSRzaGVsbCwgJy11JywgJG5ld191aWQsICRuZXdfbmFtZSk7CisrICAgIGlmICgkbm9fY3JlYXRlX2hvbWUpIHsKKysgICAgICAgICZzeXN0ZW1jYWxsKCR1c2VyYWRkLCAnLWQnLCAkaG9tZV9kaXIsICctZycsICRpbmdyb3VwX25hbWUsICctcycsCisrCSAgICAJICAgICRzaGVsbCwgJy11JywgJG5ld191aWQsICctTScsICRuZXdfbmFtZSk7CisrICAgIH0KKysgICAgZWxzZSB7CisrICAgICAgICAmc3lzdGVtY2FsbCgkdXNlcmFkZCwgJy1kJywgJGhvbWVfZGlyLCAnLWcnLCAkaW5ncm91cF9uYW1lLCAnLXMnLAorKwkgICAgCSAgICAkc2hlbGwsICctdScsICRuZXdfdWlkLCAkbmV3X25hbWUpOworKyAgICB9CisgICAgICZpbnZhbGlkYXRlX25zY2QoKTsKKyAKKyAgICAgY3JlYXRlX2hvbWVkaXIgKDEpOyAjIGNvcHkgc2tlbGV0b24gZGF0YQorLS0gCisxLjcuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliYWxnb3JpdGhtL2xpYmFsZ29yaXRobS1kaWZmLXBlcmxfMS4xNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJhbGdvcml0aG0vbGliYWxnb3JpdGhtLWRpZmYtcGVybF8xLjE1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxNTVmYWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliYWxnb3JpdGhtL2xpYmFsZ29yaXRobS1kaWZmLXBlcmxfMS4xNS5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIkFsZ29yaXRobTo6RGlmZiAtIENvbXB1dGUgJ2ludGVsbGlnZW50JyBkaWZmZXJlbmNlcyBiZXR3ZWVuIHR3byBcCitmaWxlcy9saXN0cyIKK0RFU0NSSVBUSU9OID0gIlRoaXMgaXMgYSBtb2R1bGUgZm9yIGNvbXB1dGluZyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHR3byBmaWxlcywgXAordHdvIHN0cmluZ3MsIG9yIGFueSBvdGhlciB0d28gbGlzdHMgb2YgdGhpbmdzLiAgSXQgdXNlcyBhbiAgaW50ZWxsaWdlbnQgXAorYWxnb3JpdGhtIHNpbWlsYXIgdG8gKG9yIGlkZW50aWNhbCB0bykgdGhlIG9uZSB1c2VkIGJ5IHRoZSBVbml4IGBkaWZmJyBcCitwcm9ncmFtLiAgIEl0IGlzIGd1YXJhbnRlZWQgdG8gZmluZCB0aGUgKnNtYWxsZXN0IHBvc3NpYmxlKiBzZXQgb2YgXAorZGlmZmVyZW5jZXMuIFwKKyIKK1NFQ1RJT04gPSAibGlicyIKK0hPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvfm5lZGtvbnovQWxnb3JpdGhtLURpZmYvIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vbGliL0FsZ29yaXRobS9EaWZmLnBtO2JlZ2lubGluZT00MDY7ZW5kbGluZT00MDk7bWQ1PWQzOTNiOGFkM2I4OTk0YjlkMGFlOTI5OWI4YThhMWVlIgorCitTUkNfVVJJID0gIiR7Q1BBTl9NSVJST1J9L2F1dGhvcnMvaWQvTi9ORS9ORURLT05aL0FsZ29yaXRobS1EaWZmLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI0NTdjZDQ5N2EwNDExYTg4YjQ3ZDM3NDFlYjE3NjA3MSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhYTg0OGI3NWFkM2VjYzMyZDMxZTg2NTE5MDk1NTFlODUxY2NlZWY3NGEzMjgyMmM3YTNjYjM1YzI1OWY1MTkwIgorCitTID0gIiR7V09SS0RJUn0vQWxnb3JpdGhtLURpZmYtJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJhdXRoZW4vZmlsZXMvcnVuLXB0ZXN0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmF1dGhlbi9maWxlcy9ydW4tcHRlc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzlmOWNhOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJhdXRoZW4vZmlsZXMvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsMTYgQEAKKyMhL2Jpbi9zaAorCitmb3IgY2FzZSBpbiBgZmluZCB0IC10eXBlIGYgLW5hbWUgJyoudCdgOyBkbworICAgIHBlcmwgJGNhc2UgPiRjYXNlLm91dHB1dCAyPiYxCisgICAgcmV0PSQ/CisgICAgY2F0ICRjYXNlLm91dHB1dAorICAgIGlmIFsgJHJldCAtbmUgMCBdOyB0aGVuCisgICAgICAgIGVjaG8gIkZBSUw6ICR7Y2FzZSUudH0iCisgICAgZWxpZiBncmVwIC1pICdTS0lQJyAkY2FzZS5vdXRwdXQ7IHRoZW4KKyAgICAgICAgZWNobyAiU0tJUDogJHtjYXNlJS50fSIKKyAgICBlbHNlCisgICAgICAgIGVjaG8gIlBBU1M6ICR7Y2FzZSUudH0iCisgICAgZmkKKworICAgIHJtIC1mICRjYXNlLm91dHB1dAorZG9uZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmF1dGhlbi9saWJhdXRoZW4tc2FzbC1wZXJsXzIuMTYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliYXV0aGVuL2xpYmF1dGhlbi1zYXNsLXBlcmxfMi4xNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjU4YTVmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmF1dGhlbi9saWJhdXRoZW4tc2FzbC1wZXJsXzIuMTYuYmIKQEAgLTAsMCArMSwyOCBAQAorU1VNTUFSWSA9ICJTQVNMIEF1dGhlbnRpY2F0aW9uIGZyYW1ld29yayBmb3IgUGVybCIKK0RFU0NSSVBUSU9OID0gIlNBU0wgaXMgYSBnZW5lcmljIG1lY2hhbmlzbSBmb3IgYXV0aGVudGljYXRpb24gdXNlZCBieSBzZXZlcmFsIG5ldHdvcmsgXAorcHJvdG9jb2xzLiBBdXRoZW46OlNBU0wgcHJvdmlkZXMgYW4gaW1wbGVtZW50YXRpb24gZnJhbWV3b3JrIHRoYXQgYWxsIFwKK3Byb3RvY29scyBzaG91bGQgYmUgYWJsZSB0byBzaGFyZS4iCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL2Rpc3QvQXV0aGVuLVNBU0wvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMHxHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2xpYi9BdXRoZW4vU0FTTC9QZXJsLnBtO2JlZ2lubGluZT0xO2VuZGxpbmU9MzttZDU9MTcxMjMzMTViYmNkYTE5ZjQ4NGMwNzIyNzU5NGE2MDkiCisKK0RFUEVORFMgPSAicGVybCIKK1JERVBFTkRTXyR7UE59ID0gImxpYmRpZ2VzdC1obWFjLXBlcmwiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5jcGFuLm9yZy9hdXRob3JzL2lkL0cvR0IvR0JBUlIvQXV0aGVuLVNBU0wtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjdjMDNhNjg5ZDRjNjg5ZTVhOWUyZjE4YTFjNTg2YjJmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY2MTRmYTc1MThmMDk0Zjg1Mzc0MWI2M2M3M2YzNjI3MTY4YzVkM2FjYTg5YjFkMDJiMTAxNmRjMzI4NTRlMDkiCisKK1MgPSAiJHtXT1JLRElSfS9BdXRoZW4tU0FTTC0ke1BWfSIKKworaW5oZXJpdCBjcGFuIHB0ZXN0CisKK2RvX2luc3RhbGxfcHRlc3QgKCkgeworICAgIGNwIC1yICR7Qn0vdCAke0R9JHtQVEVTVF9QQVRIfQorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJjYXB0dXJlL2xpYmNhcHR1cmUtdGlueS1wZXJsXzAuMzYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliY2FwdHVyZS9saWJjYXB0dXJlLXRpbnktcGVybF8wLjM2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3N2RkNzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliY2FwdHVyZS9saWJjYXB0dXJlLXRpbnktcGVybF8wLjM2LmJiCkBAIC0wLDAgKzEsMzcgQEAKK1NVTU1BUlkgPSAiQ2FwdHVyZTo6VGlueSAtIENhcHR1cmUgU1RET1VUIGFuZCBTVERFUlIgZnJvbSBQZXJsLCBYUyBvciBleHRlcm5hbCBwcm9ncmFtcy4iCitERVNDUklQVElPTiA9ICJDYXB0dXJlOjpUaW55IHByb3ZpZXMgYSBzaW1wbGUsIHBvcnRhYmxlIHdheSB0byBjYXB0dXJlIFwKK2FsbW9zdCBhbnl0aGluZyBzZW50IHRvIFNURE9VVCBvciBTVERFUlIsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBjb21lcyBcCitmcm9tIFBlcmwsIGZyb20gWFMgY29kZSBvciBmcm9tIGFuIGV4dGVybmFsIHByb2dyYW0uIE9wdGlvbmFsbHksIG91dHB1dCBjYW4gXAorYmUgdGVlZCBzbyB0aGF0IGl0IGlzIGNhcHR1cmVkIHdoaWxlIGJlaW5nIHBhc3NlZCB0aHJvdWdoIHRvIHRoZSBvcmlnaW5hbCBcCitmaWxlaGFuZGxlcy4gWWVzLCBpdCBldmVuIHdvcmtzIG9uIFdpbmRvd3MgKHVzdWFsbHkpLiBTdG9wIGd1ZXNzaW5nIHdoaWNoIG9mIFwKK2EgZG96ZW4gY2FwdHVyaW5nIG1vZHVsZXMgdG8gdXNlIGluIGFueSBwYXJ0aWN1bGFyIHNpdHVhdGlvbiBhbmQganVzdCB1c2UgXAordGhpcyBvbmUuIgorU0VDVElPTiA9ICJsaWJzIgorCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL35kYWdvbGRlbi9DYXB0dXJlLVRpbnkvIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MzdhNDkxOGEzMGFjZTI0Mzk1MDIwZTViOGMwM2I4M2YiCisKK1NSQ05BTUUgPSAiQ2FwdHVyZS1UaW55IgorU1JDX1VSSSA9ICIke0NQQU5fTUlSUk9SfS9hdXRob3JzL2lkL0QvREEvREFHT0xERU4vJHtTUkNOQU1FfS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZGI2NDQ0MTExYzMwYWMwMWE3NmE0YzExODI0MWM3YjYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWI4NzQyZTUzYWQyMDRhNDIxYmM4MmQ1ODEzZjNjNGM4NWM3NjU4MWVhMTBkOTEwZDBhZWZjMTYxZjhjYjAzZCIKKworUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0tJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitSREVQRU5EU18ke1BOfSA9ICIgcGVybC1tb2R1bGUtc2NhbGFyLXV0aWwgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWlvLWZpbGUgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZmlsZS1zcGVjIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1leHBvcnRlciBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtY2FycCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtdGVzdC1tb3JlIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1maWxlLXRlbXAgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWxpYiBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtb3ZlcmxvYWRpbmcgXAorIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJjbGFzcy9saWJjbGFzcy1tZXRob2QtbW9kaWZpZXJzLXBlcmxfMi4xMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJjbGFzcy9saWJjbGFzcy1tZXRob2QtbW9kaWZpZXJzLXBlcmxfMi4xMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOTc5YjMxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmNsYXNzL2xpYmNsYXNzLW1ldGhvZC1tb2RpZmllcnMtcGVybF8yLjEyLmJiCkBAIC0wLDAgKzEsMjggQEAKK1NVTU1BUlkgPSAiQ2xhc3M6Ok1ldGhvZDo6TW9kaWZpZXJzIC0gcHJvdmlkZXMgTW9vc2UtbGlrZSBtZXRob2QgbW9kaWZpZXJzIgorREVTQ1JJUFRJT04gPSAiTWV0aG9kIG1vZGlmaWVycyBhcmUgYSBjb252ZW5pZW50IGZlYXR1cmUgZnJvbSB0aGUgQ0xPUyBcCisoQ29tbW9uIExpc3AgT2JqZWN0IFN5c3RlbSkgd29ybGQuIgorCitTRUNUSU9OID0gImxpYnMiCisKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9tb29zZS9DbGFzcy1NZXRob2QtTW9kaWZpZXJzLyIKKworTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTE2ZmQwZWM3YjczYzBlMTU4NDI2Zjc1Mzk0M2YxMDU4IgorCitTUkNfVVJJID0gIiR7Q1BBTl9NSVJST1J9L2F1dGhvcnMvaWQvRS9FVC9FVEhFUi9DbGFzcy1NZXRob2QtTW9kaWZpZXJzLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJmNTU0MDBjN2E4MTM0YWNmMzY1N2Y4YWY4OWJkZDdhZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlNDRjMTA3MzAyMGJmNTViOGM5Nzk3NWVkNzcyMzVmZDdlMmE2YTU2ZjI5YjVjNzAyMzAxNzIxMTg0ZTI3YWM4IgorCitTID0gIiR7V09SS0RJUn0vQ2xhc3MtTWV0aG9kLU1vZGlmaWVycy0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK1JERVBFTkRTXyR7UE59ID0gIiBwZXJsLW1vZHVsZS1iIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1iYXNlIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1jYXJwIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1leHBvcnRlciBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtc3RyaWN0IFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS13YXJuaW5ncyBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmNyeXB0L2xpYmNyeXB0LW9wZW5zc2wtcmFuZG9tLXBlcmxfMC4xMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJjcnlwdC9saWJjcnlwdC1vcGVuc3NsLXJhbmRvbS1wZXJsXzAuMTEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQ1NmUzMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJjcnlwdC9saWJjcnlwdC1vcGVuc3NsLXJhbmRvbS1wZXJsXzAuMTEuYmIKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJDcnlwdCBPcGVuc3NsIFJhbmRvbSBjcGFuIG1vZHVsZSIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTA4OWMxOGQ2MzVhZTI3M2UxNzI3ZWMzODVlNjQwNjNiIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuY3Bhbi5vcmcvbW9kdWxlcy9ieS1tb2R1bGUvQ3J5cHQvQ3J5cHQtT3BlblNTTC1SYW5kb20tJHtQVn0udGFyLmd6ICIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1ZDcxMzM3NTAzZTAzNTZjZTFjZTE0ODE1MDRlNTg4NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiYjhjODFjNmEzOWI5YjEzYTIyZDgxOGVlOWE3NDYyNDJmMTM2ZjBmYWRjZWI2Yjk3NzZhZTYxNWU3NTI0YzdhIgorCitTID0gIiR7V09SS0RJUn0vQ3J5cHQtT3BlblNTTC1SYW5kb20tJHtQVn0iCisKK0RFUEVORFMgKz0gIiBvcGVuc3NsIFwKKyIKK2luaGVyaXQgY3BhbgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmNyeXB0L2xpYmNyeXB0LW9wZW5zc2wtcnNhLXBlcmxfMC4yOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJjcnlwdC9saWJjcnlwdC1vcGVuc3NsLXJzYS1wZXJsXzAuMjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjBjNjEwZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJjcnlwdC9saWJjcnlwdC1vcGVuc3NsLXJzYS1wZXJsXzAuMjguYmIKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSA9ICJDcnlwdCBPcGVuc3NsIFJTQSBjcGFuIG1vZHVsZSIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zODVjNTU2NTM4ODZhY2FjMzgyMTk5OWEzY2NkMTdiMyIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmNwYW4ub3JnL21vZHVsZXMvYnktbW9kdWxlL0NyeXB0L0NyeXB0LU9wZW5TU0wtUlNBLSR7UFZ9LnRhci5neiAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4NjIxN2E1MDM2ZmM2Mzc3OWMzMDQyMGI1ZmQ4NDEyOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1MzU3Zjk3NzQ2NGJiM2E4MTg0Y2YyZDMzNDE4NTFhMTBkNTUxNWI0YjJiMGRmYjg4YmY3ODk5NWMwZGVkN2JlIgorCitERVBFTkRTICs9ICJvcGVuc3NsIgorCitSREVQRU5EU18ke1BOfT0ibGliY3J5cHQtb3BlbnNzbC1yYW5kb20tcGVybCIKKworRVhUUkFfQ1BBTkZMQUdTID0gIklOQz0nLUkke1NUQUdJTkdfSU5DRElSfScgTElCUz0nLUwke1NUQUdJTkdfTElCRElSfSAtbHNzbCAtTCR7U1RBR0lOR19ESVJfVEFSR0VUfSR7YmFzZV9saWJkaXJ9IC1sY3J5cHRvJyIKKworUyA9ICIke1dPUktESVJ9L0NyeXB0LU9wZW5TU0wtUlNBLSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworZG9fY29tcGlsZSgpIHsKKyAgICBleHBvcnQgT1RIRVJMREZMQUdTPSctV2wsLXJwYXRoJworICAgIGNwYW5fZG9fY29tcGlsZQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmN1cnNlcy9saWJjdXJzZXMtcGVybF8xLjM0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmN1cnNlcy9saWJjdXJzZXMtcGVybF8xLjM0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3ZTlkOTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliY3Vyc2VzL2xpYmN1cnNlcy1wZXJsXzEuMzQuYmIKQEAgLTAsMCArMSwyNiBAQAorREVTQ1JJUFRJT04gPSAibGliLWN1cnNlcyBwcm92aWRlcyBhbiBpbnRlcmZhY2UgYmV0d2VlbiBQZXJsIHByb2dyYW1zIGFuZCBcCit0aGUgY3Vyc2VzIGxpYnJhcnkuIgorCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTI2O2VuZGxpbmU9MzA7bWQ1PTBiMzczNTZjNWU5ZTI4MDgwYTM0MjJkODJhZjhhZjA5IgorCitERVBFTkRTICs9ICJwZXJsIG5jdXJzZXMgIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuY3Bhbi5vcmcvYXV0aG9ycy9pZC9HL0dJL0dJUkFGRkVEL0N1cnNlcy0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4NzRjMjEwM2NjNTM1NTJhMGZhYTM3MWM0ZDkxMTlmNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4MDhlNDRkNTk0NmJlMjY1YWY1ZmYwYjkwZjNkMDgwMjEwOGU3ZDFiMzliMGZlNjhhNGE0NDZmZTI4NGQzMjJiIgorCitTID0gIiR7V09SS0RJUn0vQ3Vyc2VzLSR7UFZ9IgorCitFWFRSQV9DUEFORkxBR1MgPSAiSU5DPS1JJHtTVEFHSU5HX0lOQ0RJUn0gTElCUz0tTCR7U1RBR0lOR19MSUJESVJ9IgorCitpbmhlcml0IGNwYW4KKworZG9fY29tcGlsZSgpIHsKKyAgICBleHBvcnQgTElCQz0iJChmaW5kICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2Jhc2VfbGliZGlyfS8gLW5hbWUgJ2xpYmMtKi5zbycpIgorICAgIGNwYW5fZG9fY29tcGlsZQorfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZGIvbGliZGJkLXNxbGl0ZS1wZXJsL3NxbGl0ZS1wZXJsLXRlc3QucGwgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZGIvbGliZGJkLXNxbGl0ZS1wZXJsL3NxbGl0ZS1wZXJsLXRlc3QucGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDBmNTkxNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkYi9saWJkYmQtc3FsaXRlLXBlcmwvc3FsaXRlLXBlcmwtdGVzdC5wbApAQCAtMCwwICsxLDY5IEBACisjISAvdXNyL2Jpbi9lbnYgcGVybAorIworIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgV2luZCBSaXZlciBTeXN0ZW1zLCBJbmMuCisjCisjIC0gSXQgdGVzdHMgREJJIGFuZCBEQkQ6OlNRTGl0ZSBjb3VsZCB3b3JrIGNvcnJlY3RseSB3aGljaCBtZWFucyBvbmUgY291bGQKKyMgICBtYW5pcHVsYXRlIHNxbGl0ZSBkYXRhYmFzZSBpbiBwZXJsCisjIC0gVGhlIHRlc3QgaW5jbHVkZXMgY3JlYXRlL2luc2VydC91cGRhdGUvZGVsZXRlL3NlbGVjdCwgdGhlIGZpdmUgaW1wb3J0YW50CisjICAgdGhpbmdzIG9uZSBjYW4gZG8gd2l0aCBhIHRhYmxlCit1c2UgREJJOworCitzdWIgZXhlY3V0ZV9zcWwgeworICAgIG15ICRkYmggPSAkX1swXTsKKyAgICBteSAkc3FsID0gJF9bMV07CisgICAgbXkgJHN0aCA9ICRkYmgtPnByZXBhcmUoJHNxbCkKKyAgICAgICAgb3IgZGllICJDb3VsZG4ndCBwcmVwYXJlIHN0YXRlbWVudDogIiAuICRkYmgtPmVycnN0cjsKKyAgICAkc3RoLT5leGVjdXRlKCk7CisgICAgcHJpbnQgIiRzcWxcbiI7CisgICAgcmV0dXJuICRzdGg7Cit9CisKK3N1YiBzZWxlY3RfYWxsIHsKKyAgICBteSAkZGJoID0gJF9bMF07CisgICAgbXkgJHRhYmxlID0gJF9bMV07CisgICAgbXkgJHN0aCA9ICZleGVjdXRlX3NxbCgkZGJoLCAiU2VsZWN0ICogZnJvbSAkdGFibGUiKTsKKworICAgIHByaW50ICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIjsKKyAgICB3aGlsZSAoQGRhdGEgPSAkc3RoLT5mZXRjaHJvd19hcnJheSgpKSB7CisgICAgICAgIG15ICRuYW1lID0gJGRhdGFbMF07CisgICAgICAgIG15ICRpZCA9ICRkYXRhWzFdOworICAgICAgICBwcmludCAiJG5hbWU6ICRpZFxuIjsKKyAgICB9CisgICAgcHJpbnQgIlxuIjsKKworICAgICRzdGgtPmZpbmlzaDsKKyAgICByZXR1cm4gJHN0aDsKK30KKworIyBBIHByaXZhdGUsIHRlbXBvcmFyeSBpbi1tZW1vcnkgZGF0YWJhc2UgaXMgY3JlYXRlZCBmb3IgdGhlIGNvbm5lY3Rpb24uCisjIFRoaXMgaW4tbWVtb3J5IGRhdGFiYXNlIHdpbGwgdmFuaXNoIHdoZW4gdGhlIGRhdGFiYXNlIGNvbm5lY3Rpb24gaXMKKyMgY2xvc2VkLiBJdCBpcyBoYW5keSBmb3IgeW91ciBsaWJyYXJ5IHRlc3RzLgorbXkgJGRiZmlsZSA9ICI6bWVtb3J5OiI7CitteSAkZGJoID0gREJJLT5jb25uZWN0KCJEQkk6U1FMaXRlOmRibmFtZT0kZGJmaWxlIiwiIiwiIikKKyAgICAgICAgb3IgZGllICJDb3VsZG4ndCBjb25uZWN0IHRvIGRhdGFiYXNlOiAiIC4gREJJLT5lcnJzdHI7CitwcmludCAiQ29ubmVjdCB0byBTUUxpdGUncyBpbi1tZW1vcnkgZGF0YWJhc2VcbiI7CisKKyZleGVjdXRlX3NxbCgkZGJoLCAiQ3JlYXRlIHRhYmxlIHRibDEobmFtZSB2YXJjaGFyKDEwKSwgaWQgc21hbGxpbnQpIik7CismZXhlY3V0ZV9zcWwoJGRiaCwgIkluc2VydCBpbnRvIHRibDEgdmFsdWVzKCd5b2N0bycsMTApIik7CismZXhlY3V0ZV9zcWwoJGRiaCwgIkluc2VydCBpbnRvIHRibDEgdmFsdWVzKCd3aW5kcml2ZXInLCAyMCkiKTsKKyZzZWxlY3RfYWxsKCRkYmgsICJ0YmwxIik7CisKKyZleGVjdXRlX3NxbCgkZGJoLCAiVXBkYXRlIHRibDEgc2V0IG5hbWUgPSAnb2UtY29yZScgd2hlcmUgaWQgPSAxMCIpOworJmV4ZWN1dGVfc3FsKCRkYmgsICJEZWxldGUgZnJvbSB0YmwxIHdoZXJlIGlkID0gMjAiKTsKKyZzZWxlY3RfYWxsKCRkYmgsICJ0YmwxIik7CisKKyRkYmgtPmRpc2Nvbm5lY3Q7CitwcmludCAiVGVzdCBTdWNjZXNzXG4iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZGIvbGliZGJkLXNxbGl0ZS1wZXJsXzEuNTAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZGIvbGliZGJkLXNxbGl0ZS1wZXJsXzEuNTAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjhiZmQ2NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkYi9saWJkYmQtc3FsaXRlLXBlcmxfMS41MC5iYgpAQCAtMCwwICsxLDM5IEBACitTVU1NQVJZID0gIkEgUGVybCBEQkkgZHJpdmVyIGZvciBTUUxpdGUiCitERVNDUklQVElPTiA9ICJEQkQ6OlNRTGl0ZSBpcyBhIFBlcmwgREJJIGRyaXZlciBmb3IgU1FMaXRlLCB0aGF0IGluY2x1ZGVzIHRoZSBlbnRpcmUgXAordGhpbmcgaW4gdGhlIGRpc3RyaWJ1dGlvbi4gU28gaW4gb3JkZXIgdG8gZ2V0IGEgZmFzdCB0cmFuc2FjdGlvbiBjYXBhYmxlIFwKK1JEQk1TIHdvcmtpbmcgZm9yIHlvdXIgcGVybCBwcm9qZWN0IHlvdSBzaW1wbHkgaGF2ZSB0byBpbnN0YWxsIHRoaXMgXAorbW9kdWxlLCBhbmQgbm90aGluZyBlbHNlLiBcCisiCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL35pc2hpZ2FraS9EQkQtU1FMaXRlLyIKKworU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0RFUEVORFMgKz0gImxpYmRiaS1wZXJsLW5hdGl2ZSIKK1JERVBFTkRTXyR7UE59ICs9ICJsaWJkYmktcGVybCBcCisgICAgICAgICAgICAgICAgICAgc3FsaXRlMyBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtY29uc3RhbnQgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWxvY2FsZSBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtdGllLWhhc2ggXAorIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0xNzI2ZTIxMTc0OTRiYTNlMTNlMWMzZDkzZjc5NTM2MCIKKworU1JDX1VSSSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL0NQQU4vYXV0aG9ycy9pZC9JL0lTL0lTSElHQUtJL0RCRC1TUUxpdGUtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3NxbGl0ZS1wZXJsLXRlc3QucGwgXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZDU2ZWViZmI1ZjJhMTRiZTk0MTNiMDI1ZTdkY2E5ZmUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2FjNTEzYWI3Mzk0NGZkN2Q0YjY3MmUxZmU4ODVkYzUyMmI2MzY5ZDM4ZjQ2YTY4ZTY3ZTAwNDViZjE1OWNlMSIKKworUyA9ICIke1dPUktESVJ9L0RCRC1TUUxpdGUtJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaWYgWyAke1BFUkxfREJNX1RFU1R9ID0gIjEiIF07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtbSA3NTUgLUQgJHtXT1JLRElSfS9zcWxpdGUtcGVybC10ZXN0LnBsICR7RH0vJHtiaW5kaXJ9L3NxbGl0ZS1wZXJsLXRlc3QucGwKKyAgICBmaQorfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZGIvbGliZGJpLXBlcmxfMS42MzQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZGIvbGliZGJpLXBlcmxfMS42MzQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDIzODc4MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkYi9saWJkYmktcGVybF8xLjYzNC5iYgpAQCAtMCwwICsxLDI2IEBACitTVU1NQVJZID0gIlRoZSBQZXJsIERhdGFiYXNlIEludGVyZmFjZSIKK0RFU0NSSVBUSU9OID0gIkRCSSBpcyBhIGRhdGFiYXNlIGFjY2VzcyBBcHBsaWNhdGlvbiBQcm9ncmFtbWluZyBJbnRlcmZhY2UgXAorKEFQSSkgZm9yIHRoZSBQZXJsIExhbmd1YWdlLiBUaGUgREJJIEFQSSBTcGVjaWZpY2F0aW9uIGRlZmluZXMgYSBzZXQgXAorb2YgZnVuY3Rpb25zLCB2YXJpYWJsZXMgYW5kIGNvbnZlbnRpb25zIHRoYXQgcHJvdmlkZSBhIGNvbnNpc3RlbnQgXAorZGF0YWJhc2UgaW50ZXJmYWNlIGluZGVwZW5kZW50IG9mIHRoZSBhY3R1YWwgZGF0YWJhc2UgYmVpbmcgdXNlZC4gXAorIgorSE9NRVBBR0UgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9kaXN0L0RCSS8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorUkRFUEVORFNfJHtQTn0gPSAiIHBlcmwtbW9kdWxlLWNhcnAgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4cG9ydGVyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1leHBvcnRlci1oZWF2eSBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZHluYWxvYWRlciBcCisiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0RCSS5wbTtiZWdpbmxpbmU9ODE0NztlbmRsaW5lPTgxNTE7bWQ1PWQ0ZTczZjI2MTZiMmI0MTMzNGNmMmY3ZDI1ZDgyN2EyIgorCitTUkNfVVJJID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi9hdXRob3JzL2lkL1QvVEkvVElNQi9EQkktJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjRhZDE1YTljMmNjOWI2OGUzZmUxZjVjYWRmOWNkYjMwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI1MDcxMmYzODU4NjQ4MThhYmZiYTQwOTQyMGQxNmQ5ZWU2MWYxY2M3M2FjODUxNTlkMDU0YTVlZTg2ZDE0NTAiCisKK1MgPSAiJHtXT1JLRElSfS9EQkktJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkZXZlbC9saWJkZXZlbC1nbG9iYWxkZXN0cnVjdGlvbi1wZXJsXzAuMTMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZGV2ZWwvbGliZGV2ZWwtZ2xvYmFsZGVzdHJ1Y3Rpb24tcGVybF8wLjEzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhNTkzY2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZGV2ZWwvbGliZGV2ZWwtZ2xvYmFsZGVzdHJ1Y3Rpb24tcGVybF8wLjEzLmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiRnVuY3Rpb24gcmV0dXJuaW5nIFwiJHteR0xPQkFMX1BIQVNFfSBlcSBcJ0RFU1RSVUNUXCdcIiIKK0RFU0NSSVBUSU9OID0gIlBlcmwncyBnbG9iYWwgZGVzdHJ1Y3Rpb24gaXMgYSBsaXR0bGUgdHJpY2sgdG8gZGVhbCB3aXRoIFwKK1dSVCBmaW5hbGl6ZXJzIGJlY2F1c2UgaXQncyBub3Qgb3JkZXJlZCBhbmQgb2JqZWN0cyBjYW4gc29tZXRpbWVzIGRpc2FwcGVhci4iCisKK1NFQ1RJT04gPSAibGlicyIKKworSE9NRVBBR0UgPSAiaHR0cHM6Ly9tZXRhY3Bhbi5vcmcvcG9kL0RldmVsLUdsb2JhbERlc3RydWN0aW9uLyIKKworTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9NTM7ZW5kbGluZT01NTttZDU9OTM1ZGFkYjk0MjM3NzRmNTM1NDhlNWNkNTA1NWQ0MWEiCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9IL0hBL0hBQVJHL0RldmVsLUdsb2JhbERlc3RydWN0aW9uLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlN2JlMDAwNDA4MjdlMjA0YjJiNmNiYTJmMzE2NjA3NCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiMjk4MjRkYzBkMzIyZTU2ZGEzMjVmMDUxODUzNjdlYjQ0MzY5NDcxNjAxMGIzNjY5M2RkNTJmZmJlOGVjNDYyIgorCitTID0gIiR7V09SS0RJUn0vRGV2ZWwtR2xvYmFsRGVzdHJ1Y3Rpb24tJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitSREVQRU5EU18ke1BOfSA9ICIgbGlic3ViLWV4cG9ydGVyLXByb2dyZXNzaXZlLXBlcmwgXAorIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkaWdlc3QvZmlsZXMvcnVuLXB0ZXN0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmRpZ2VzdC9maWxlcy9ydW4tcHRlc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzlmOWNhOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkaWdlc3QvZmlsZXMvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsMTYgQEAKKyMhL2Jpbi9zaAorCitmb3IgY2FzZSBpbiBgZmluZCB0IC10eXBlIGYgLW5hbWUgJyoudCdgOyBkbworICAgIHBlcmwgJGNhc2UgPiRjYXNlLm91dHB1dCAyPiYxCisgICAgcmV0PSQ/CisgICAgY2F0ICRjYXNlLm91dHB1dAorICAgIGlmIFsgJHJldCAtbmUgMCBdOyB0aGVuCisgICAgICAgIGVjaG8gIkZBSUw6ICR7Y2FzZSUudH0iCisgICAgZWxpZiBncmVwIC1pICdTS0lQJyAkY2FzZS5vdXRwdXQ7IHRoZW4KKyAgICAgICAgZWNobyAiU0tJUDogJHtjYXNlJS50fSIKKyAgICBlbHNlCisgICAgICAgIGVjaG8gIlBBU1M6ICR7Y2FzZSUudH0iCisgICAgZmkKKworICAgIHJtIC1mICRjYXNlLm91dHB1dAorZG9uZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmRpZ2VzdC9saWJkaWdlc3QtaG1hYy1wZXJsXzEuMDMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZGlnZXN0L2xpYmRpZ2VzdC1obWFjLXBlcmxfMS4wMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZjFjOThjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmRpZ2VzdC9saWJkaWdlc3QtaG1hYy1wZXJsXzEuMDMuYmIKQEAgLTAsMCArMSwyNSBAQAorU1VNTUFSWSA9ICJLZXllZC1IYXNoaW5nIGZvciBNZXNzYWdlIEF1dGhlbnRpY2F0aW9uIgorREVTQ1JJUFRJT04gPSAiS2V5ZWQtSGFzaGluZyBmb3IgTWVzc2FnZSBBdXRoZW50aWNhdGlvbiIKK0hPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvfmdhYXMvRGlnZXN0LUhNQUMtMS4wMy8iCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wfEdQTHYxKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9MTM7ZW5kbGluZT0xNzttZDU9ZGE5ODBjZGMwMjZmYWEwNjVlNWQ1MDA0MTE1MzM0ZTYiCisKK1JERVBFTkRTXyR7UE59ID0gImxpYmRpZ2VzdC1zaGExLXBlcmwgcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIHBlcmwtbW9kdWxlLWRpZ2VzdC1tZDUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOL2F1dGhvcnMvaWQvRy9HQS9HQUFTL0RpZ2VzdC1ITUFDLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlNmE1ZDZmNTUyZGExNmVhY2I1MTU3ZWE0MzY5ZmY5ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzYmM3MmM2ZDNmZjE0NGQ3M2FlZmI5MGU5YTc4ZDMzNjEyZDU4Y2YxY2QxNjMxZWNmYjg5ODViYTk2ZGE0YTU5IgorCitTID0gIiR7V09SS0RJUn0vRGlnZXN0LUhNQUMtJHtQVn0iCisKK2luaGVyaXQgY3BhbiBwdGVzdAorCitkb19pbnN0YWxsX3B0ZXN0ICgpIHsKKyAgICBjcCAtciAke0J9L3QgJHtEfSR7UFRFU1RfUEFUSH0KK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZGlnZXN0L2xpYmRpZ2VzdC1zaGExLXBlcmxfMi4xMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkaWdlc3QvbGliZGlnZXN0LXNoYTEtcGVybF8yLjEzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzNzFlYTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZGlnZXN0L2xpYmRpZ2VzdC1zaGExLXBlcmxfMi4xMy5iYgpAQCAtMCwwICsxLDI1IEBACitTVU1NQVJZID0gIlBlcmwgaW50ZXJmYWNlIHRvIHRoZSBTSEEtMSBhbGdvcml0aG0gIgorREVTQ1JJUFRJT04gPSAiRGlnZXN0OjpTSEExIC0gUGVybCBpbnRlcmZhY2UgdG8gdGhlIFNIQS0xIGFsZ29yaXRobSIKK0hPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvfmdhYXMvRGlnZXN0LVNIQTEtMi4xMy8iCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wfEdQTHYxKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9MTA7ZW5kbGluZT0xNDttZDU9ZmY1ODY3ZWJiNGJjMTEwM2E3YTQxNmFlZjJmY2UwMGEiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOL2F1dGhvcnMvaWQvRy9HQS9HQUFTL0RpZ2VzdC1TSEExLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJiZDIyMzg4ZjI2ODQzNGYyYjI0ZjY0ZTI4YmYxYWEzNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2OGMxZGFjMjE4NzQyMWYwZWI3YWJmNzE0NTJhMDZmMTkwMTgxYjhmYzRiMjhlZGVkZjViOTAyOTZmYjk0M2NjIgorCitTID0gIiR7V09SS0RJUn0vRGlnZXN0LVNIQTEtJHtQVn0iCisKK2luaGVyaXQgY3BhbiBwdGVzdAorCitkb19pbnN0YWxsX3B0ZXN0ICgpIHsKKyAgICBjcCAtciAke0J9L3QgJHtEfSR7UFRFU1RfUEFUSH0KK30KKworQkJDTEFTU0VYVEVORD0ibmF0aXZlIgorCitGSUxFU18ke1BOfS1kYmcgPSsgIiR7bGliZGlyfS9wZXJsL3ZlbmRvcl9wZXJsLyovYXV0by9EaWdlc3QvU0hBMS8uZGVidWcvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmVuY29kZS9saWJlbmNvZGUtbG9jYWxlLXBlcmxfMS4wNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJlbmNvZGUvbGliZW5jb2RlLWxvY2FsZS1wZXJsXzEuMDUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzQ4Zjc0NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJlbmNvZGUvbGliZW5jb2RlLWxvY2FsZS1wZXJsXzEuMDUuYmIKQEAgLTAsMCArMSwyMSBAQAorU1VNTUFSWSA9ICJFbmNvZGU6OkxvY2FsZSAtIERldGVybWluZSB0aGUgbG9jYWxlIGVuY29kaW5nIgorQVVUSE9SID0gIkdpc2xlIEFhcyA8Z2lzbGVAYWN0aXZlc3RhdGUuY29tPiIKK0hPTUVQQUdFID0gImh0dHBzOi8vbWV0YWNwYW4ub3JnL21vZHVsZS9FbmNvZGU6OkxvY2FsZSIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7bWQ1PTE0ZTgwMDZjMjEzNDA0NTcyNWZkODEyOTJhMzIzZDI0IgorCitTUkNfVVJJID0gIiR7Q1BBTl9NSVJST1J9L2F1dGhvcnMvaWQvRy9HQS9HQUFTL0VuY29kZS1Mb2NhbGUtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImZjZmRiOGU0ZWUzNGJjZjYyYWVkNDI5YjRhMjNkYjI3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjE3NmZhMDI3NzFmNTQyYTRlZmIxZGJjMmE0YzkyOGU4ZjQzOTFiZjQwNzg0NzNiZDYwNDBkOGYxMWFkYjBlYzEiCisKK1MgPSAiJHtXT1JLRElSfS9FbmNvZGUtTG9jYWxlLSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworUkRFUEVORFNfJHtQTn0gKz0gImxpYmVuY29kZS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICBsaWJlbmNvZGUtYWxpYXMtcGVybCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtYmFzZSBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmVuY29kZS9saWJlbmNvZGUtcGVybF8yLjgzLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmVuY29kZS9saWJlbmNvZGUtcGVybF8yLjgzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlOGM2N2QKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZW5jb2RlL2xpYmVuY29kZS1wZXJsXzIuODMuYmIKQEAgLTAsMCArMSw1NCBAQAorU1VNTUFSWSA9ICJFbmNvZGUgLSBjaGFyYWN0ZXIgZW5jb2RpbmdzIgorREVTQ1JJUFRJT04gPSAiVGhlIFwiRW5jb2RlXCIgbW9kdWxlIHByb3ZpZGVzIHRoZSBpbnRlcmZhY2VzIGJldHdlZW4gXAorUGVybCdzIHN0cmluZ3MgYW5kIHRoZSByZXN0IG9mIHRoZSBzeXN0ZW0uICBQZXJsIHN0cmluZ3MgYXJlIHNlcXVlbmNlcyBcCitvZiBjaGFyYWN0ZXJzLiIKKworQVVUSE9SID0gIkRhbiBLb2dhaSA8ZGFua29nYWkrY3BhbkBnbWFpbC5jb20+IgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9tZXRhY3Bhbi5vcmcvcmVsZWFzZS9FbmNvZGUiCitTRUNUSU9OID0gImxpYiIKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9NRVRBLmpzb247bWQ1PWZkYmViYzgyZTkyNWQ4YWNiY2U0MmNmYWQxMzFjNGQxIgorCitTUkNfVVJJID0gIiR7Q1BBTl9NSVJST1J9L2F1dGhvcnMvaWQvRC9EQS9EQU5LT0dBSS9FbmNvZGUtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjBkM2Y1OWU4ZWE3MDQ0OTc2NDdlZGVkNjY1OTE5MDUzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVkM2E5MGUzMGFhYmU3OGRmY2Y1ZTgxNmZmYjFkYTFlMzM0NzU4OTJkYmQwMDc1MzIwMzE1Y2RjZTU2ODI5ODgiCisKK1MgPSAiJHtXT1JLRElSfS9FbmNvZGUtJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitSREVQRU5EU18ke1BOfSArPSAiIHBlcmwtbW9kdWxlLWJ5dGVzIFwKKyAgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtY29uc3RhbnQgXAorICAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS14c2xvYWRlciBcCisiCisKK1JQUk9WSURFU18ke1BOfSArPSAibGliZW5jb2RlLWFsaWFzLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJlbmNvZGUtYnl0ZS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLWNqa2NvbnN0YW50cy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLWNuLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJlbmNvZGUtY24taHotcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYmVuY29kZS1jb25maWctcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYmVuY29kZS1lYmNkaWMtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYmVuY29kZS1lbmNvZGVyLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJlbmNvZGUtZW5jb2RpbmctcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYmVuY29kZS1nc20wMzM4LXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJlbmNvZGUtZ3Vlc3MtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYmVuY29kZS1qcC1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLWpwLWgyei1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLWpwLWppczctcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYmVuY29kZS1rci1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLWtyLTIwMjJfa3ItcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYmVuY29kZS1taW1lLWhlYWRlci1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLW1pbWUtbmFtZS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLXN5bWJvbC1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLXR3LXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJlbmNvZGUtdW5pY29kZS0tcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYmVuY29kZS11bmljb2RlLXV0ZjctcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYmVuY29kaW5nLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJlbmNvZGUtaW50ZXJuYWwtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYmVuY29kZS1taW1lLWhlYWRlci1pc29fMjAyMl9qcC1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLXV0ZjgtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYmVuY29kZS11dGZfZWJjZGljLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICAiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmV4dHV0aWxzL2xpYmV4dHV0aWxzLWNvbmZpZy1wZXJsXzAuMDA4LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmV4dHV0aWxzL2xpYmV4dHV0aWxzLWNvbmZpZy1wZXJsXzAuMDA4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5M2QzODgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZXh0dXRpbHMvbGliZXh0dXRpbHMtY29uZmlnLXBlcmxfMC4wMDguYmIKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSA9ICJFeHRVdGlsczo6Q29uZmlnIC0gQSB3cmFwcGVyIGZvciBwZXJsJ3MgY29uZmlndXJhdGlvbiIKK0RFU0NSSVBUSU9OID0gIkV4dFV0aWxzOjpDb25maWcgaXMgYW4gYWJzdHJhY3Rpb24gYXJvdW5kIHRoZSAlQ29uZmlnIGhhc2guIgorU0VDVElPTiA9ICJsaWJzIgorCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL35sZW9udC9FeHRVdGlscy1Db25maWcvIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MTkzMmFiNGQ4Yjg0YzI1ZmQ3OTY3YWExODA4OGU1N2UiCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9ML0xFL0xFT05UL0V4dFV0aWxzLUNvbmZpZy0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiNTY1YTdiMDljN2NhYzU5MDdhMjViYmUyYzk1OWE3MTciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWU1MTA0ZjYzNDY1MGRjZThhNzliN2VkMTNmYjU5ZDY3YTM5YzIxM2E2Nzc2Y2ZkYWEzZWU3NDllNjJmMWE4YyIKKworUyA9ICIke1dPUktESVJ9L0V4dFV0aWxzLUNvbmZpZy0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK1JERVBFTkRTXyR7UE59ID0gIiBwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWRhdGEtZHVtcGVyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS10ZXN0LW1vcmUgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWZpbGUtdGVtcCBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmV4dHV0aWxzL2xpYmV4dHV0aWxzLWNwcGd1ZXNzLXBlcmxfMC4wOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJleHR1dGlscy9saWJleHR1dGlscy1jcHBndWVzcy1wZXJsXzAuMDkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDEzY2IwMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJleHR1dGlscy9saWJleHR1dGlscy1jcHBndWVzcy1wZXJsXzAuMDkuYmIKQEAgLTAsMCArMSwzNyBAQAorU1VNTUFSWSA9ICJFeHRVdGlsczo6Q3BwR3Vlc3MgLSBndWVzcyBDKysgY29tcGlsZXIgYW5kIGZsYWdzIgorREVTQ1JJUFRJT04gPSAiRXh0VXRpbHM6OkNwcEd1ZXNzIGF0dGVtcHRzIHRvIGd1ZXNzIHRoZSBzeXN0ZW0ncyBDKysgXAorY29tcGlsZXIgdGhhdCBpcyBjb21wYXRpYmxlIHdpdGggdGhlIEMgY29tcGlsZXIgdGhhdCB5b3VyIHBlcmwgd2FzIGJ1aWx0IFwKK3dpdGguIFwKK0l0IGNhbiBnZW5lcmF0ZSB0aGUgbmVjZXNzYXJ5IG9wdGlvbnMgdG8gdGhlIE1vZHVsZTo6QnVpbGQgY29uc3RydWN0b3Igb3IgXAordG8gRXh0VXRpbHM6Ok1ha2VNYWtlcidzIFdyaXRlTWFrZWZpbGUgZnVuY3Rpb24uIgorU0VDVElPTiA9ICJsaWJzIgorCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL35zbXVlbGxlci9FeHRVdGlscy1DcHBHdWVzcy8iCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTgxO2VuZGxpbmU9ODQ7bWQ1PTg0YzAzOTBiOTBlYThjNjcwMmNlNjU5YjY3YmVkNjk5IgorCitTUkNfVVJJID0gIiR7Q1BBTl9NSVJST1J9L2F1dGhvcnMvaWQvRS9FVC9FVEovRXh0VXRpbHMtQ3BwR3Vlc3MtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImY4YWRhMzhlZTRhZDg2YTRmMWUyMGQ4NTI1Y2UwYzk5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ4NjI1MTk1YTg4YzBmMmRkYzM3YmJkN2EwNjM0NmFhNjhmZmI2OTQ4YmE3OGRhM2FlYTQ3YzBkYjI1NDBmNjUiCisKK1MgPSAiJHtXT1JLRElSfS9FeHRVdGlscy1DcHBHdWVzcy0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK2RvX2luc3RhbGwgKCkgeworICAgICAgICBjcGFuX2RvX2luc3RhbGwKK30KKworUkRFUEVORFNfJHtQTn0gPSAiIGxpYmNhcHR1cmUtdGlueS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1zY2FsYXItdXRpbCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtaW8tZmlsZSBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1maWxlLXNwZWMgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4cG9ydGVyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1jYXJwIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1maWxlLXRlbXAgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWxpYiBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmV4dHV0aWxzL2xpYmV4dHV0aWxzLWhlbHBlcnMtcGVybF8wLjAyMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJleHR1dGlscy9saWJleHR1dGlscy1oZWxwZXJzLXBlcmxfMC4wMjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWEwMjM0ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJleHR1dGlscy9saWJleHR1dGlscy1oZWxwZXJzLXBlcmxfMC4wMjIuYmIKQEAgLTAsMCArMSwyOSBAQAorU1VNTUFSWSA9ICJFeHRVdGlsczo6SGVscGVycyAtIFZhcmlvdXMgcG9ydGFiaWxpdHkgdXRpbGl0aWVzIGZvciBtb2R1bGUgYnVpbGRlcnMiCitERVNDUklQVElPTiA9ICJUaGlzIG1vZHVsZSBwcm92aWRlcyB2YXJpb3VzIHBvcnRhYmxlIGhlbHBlciBmdW5jdGlvbiBmb3IgbW9kdWxlIGJ1aWxkaW5nIG1vZHVsZXMuIgorU0VDVElPTiA9ICJsaWJzIgorCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL35sZW9udC9FeHRVdGlscy1IZWxwZXJzLyIKKworTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTMwNzA1N2NlMjMyODk5ZjVjYWE4ODU4NTYwYzcyNzRiIgorCitTUkNfVVJJID0gIiR7Q1BBTl9NSVJST1J9L2F1dGhvcnMvaWQvTC9MRS9MRU9OVC9FeHRVdGlscy1IZWxwZXJzLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJjZjRmZDZmOGNhYTZkYWFjMzNiMTExMWM5ZTkzMTYyYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkM2Y4Y2Y3MDBmYjM0MTRjYTEyNjAwODk3NTVjYmY2NDA0MTQ1NWU0Yjc0NDExMDY3N2IxYmE1YmI5YTNhYTk1IgorCitTID0gIiR7V09SS0RJUn0vRXh0VXRpbHMtSGVscGVycy0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK1JERVBFTkRTXyR7UE59ID0gIiBwZXJsLW1vZHVsZS1maWxlLWNvcHkgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZXhwb3J0ZXIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWNhcnAgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXRlc3QtbW9yZSBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1sb2FkIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1maWxlLXRlbXAgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWZpbGUtc3BlYy1mdW5jdGlvbnMgXAorIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJleHR1dGlscy9saWJleHR1dGlscy1pbnN0YWxscGF0aHMtcGVybF8wLjAxMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJleHR1dGlscy9saWJleHR1dGlscy1pbnN0YWxscGF0aHMtcGVybF8wLjAxMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZWI0MzRhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmV4dHV0aWxzL2xpYmV4dHV0aWxzLWluc3RhbGxwYXRocy1wZXJsXzAuMDExLmJiCkBAIC0wLDAgKzEsMjUgQEAKK1NVTU1BUlkgPSAiRXh0VXRpbHM6Okluc3RhbGxQYXRocyAtIEJ1aWxkLlBMIGluc3RhbGwgcGF0aCBsb2dpYyBtYWRlIGVhc3kiCitERVNDUklQVElPTiA9ICJUaGlzIG1vZHVsZSB0cmllcyB0byBtYWtlIGluc3RhbGwgcGF0aCByZXNvbHV0aW9uIGFzIGVhc3kgXAorYXMgcG9zc2libGUuIgorU0VDVElPTiA9ICJsaWJzIgorCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL35sZW9udC9FeHRVdGlscy1JbnN0YWxsUGF0aHMvIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YjZmYTU0ZDg3M2NlNmJjZjQ4MDllYTg4YmRmOTc3NjkiCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9ML0xFL0xFT05UL0V4dFV0aWxzLUluc3RhbGxQYXRocy0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiOWM3NTg5NGMzYzhjODk5YWI2YmZhZmM1ZWFhOTc5OTkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzYwOWZhMDQ4Y2RjZjE0NTFjYWQ1YjFkN2Q0OTRmMzBlM2Q1YmFkMDY3MmQxNTQwNGYxZWE2MGUxZGYwMDY3YyIKKworUyA9ICIke1dPUktESVJ9L0V4dFV0aWxzLUluc3RhbGxQYXRocy0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK1JERVBFTkRTXyR7UE59ID0gIiBwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWRhdGEtZHVtcGVyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS10ZXN0LW1vcmUgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWZpbGUtdGVtcCBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmV4dHV0aWxzL2xpYmV4dHV0aWxzLXBhcnNleHMtcGVybF8zLjI0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmV4dHV0aWxzL2xpYmV4dHV0aWxzLXBhcnNleHMtcGVybF8zLjI0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1NjZmNzUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZXh0dXRpbHMvbGliZXh0dXRpbHMtcGFyc2V4cy1wZXJsXzMuMjQuYmIKQEAgLTAsMCArMSw0NyBAQAorU1VNTUFSWSA9ICJFeHRVdGlsczo6UGFyc2VYUyAtIGNvbnZlcnRzIFBlcmwgWFMgY29kZSBpbnRvIEMgY29kZSIKK0RFU0NSSVBUSU9OID0gIlwiRXh0VXRpbHM6OlBhcnNlWFNcIiB3aWxsIGNvbXBpbGUgWFMgY29kZSBpbnRvIEMgY29kZSBieSBcCitlbWJlZGRpbmcgdGhlIGNvbnN0cnVjdHMgbmVjZXNzYXJ5IHRvIGxldCBDIGZ1bmN0aW9ucyBtYW5pcHVsYXRlIFBlcmwgXAordmFsdWVzIGFuZCBjcmVhdGVzIHRoZSBnbHVlIG5lY2Vzc2FyeSB0byBsZXQgUGVybCBhY2Nlc3MgdGhvc2UgZnVuY3Rpb25zLiBcCitUaGUgY29tcGlsZXIgdXNlcyB0eXBlc21hcGVzIHRvIGRldGVybWluZSBob3cgdG8gbWFwIEMgZnVuY3Rpb24gcGFyYW1ldGVycyBcCithbmQgdmFyaWFibGVzIHRvIFBlcmwgdmFsdWVzLiIKKworU0VDVElPTiA9ICJsaWJzIgorCitIT01FUEFHRSA9ICJodHRwOi8vbWV0YXBhbi5vcmcvcmVsZWFzZS9FeHRVdGlscy1QYXJzZVhTLyIKKworTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9MTIxO2VuZGxpbmU9MTMwO21kNT0xMGRkYjNhNjczYjRjNzMyMDIyYWM4OTk5NjhlYTljYyIKKworU1JDTkFNRSA9ICJFeHRVdGlscy1QYXJzZVhTIgorU1JDX1VSSSA9ICIke0NQQU5fTUlSUk9SfS9hdXRob3JzL2lkL1MvU00vU01VRUxMRVIvJHtTUkNOQU1FfS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZTZiZTNmMWQ0OTNlMDRlZDgwNTU3NjEwNGNmNDMyOGIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzBiNjBiODIwOGZjOWI3NzQ2ZWQ5MzRiNjc4YmI5NjE4YThmMjg5OTRkYWU4Nzc0NTQ4MzUzYTdiNTUwMzcxZSIKKworUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0tJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitSREVQRU5EU18ke1BOfSA9ICIgcGVybC1tb2R1bGUtY2FycCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtY3dkIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1keW5hbG9hZGVyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlciBcCisJCSAgIHBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZmlsZS1zcGVjIFwKKwkJICAgcGVybC1tb2R1bGUtbGliIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1zeW1ib2wgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXRlc3QtbW9yZSBcCisiCisKK1JQUk9WSURFU18ke1BOfSArPSAiIGxpYmV4dHV0aWxzLXBhcnNleHMtY29uc3RhbnRzLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICAgbGliZXh0dXRpbHMtcGFyc2V4cy1jb3VudGxpbmVzLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICAgbGliZXh0dXRpbHMtcGFyc2V4cy1ldmFsLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICAgbGliZXh0dXRpbHMtcGFyc2V4cy11dGlsaXRpZXMtcGVybCBcCisgICAgICAgICAgICAgICAgICAgICBsaWJleHR1dGlscy10eXBlbWFwcy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgIGxpYmV4dHV0aWxzLXR5cGVtYXBzLWNtZC1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgIGxpYmV4dHV0aWxzLXR5cGVtYXBzLWlucHV0bWFwLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICAgbGliZXh0dXRpbHMtdHlwZW1hcHMtb3V0cHV0bWFwLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICAgbGliZXh0dXRpbHMtdHlwZW1hcHMtdHlwZS1wZXJsIFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliaHRtbC9maWxlcy9iaW4taHRtbHRyZWUtZml4LXNoZWJhbmcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliaHRtbC9maWxlcy9iaW4taHRtbHRyZWUtZml4LXNoZWJhbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDI2NmYwNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJodG1sL2ZpbGVzL2Jpbi1odG1sdHJlZS1maXgtc2hlYmFuZy5wYXRjaApAQCAtMCwwICsxLDI1IEBACitGcm9tIDI4ZWU5OTQ3ODA0NTljMzU1MmQzY2JiZDZiMDExZDA1NGE0MWM0MzkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBTdW4sIDggTm92IDIwMTUgMjM6MzM6MzEgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gYmluL2h0bWx0cmVlOiBmaXggc2hlYmFuZworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorLS0tCisgYmluL2h0bWx0cmVlIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvYmluL2h0bWx0cmVlIGIvYmluL2h0bWx0cmVlCitpbmRleCA4YmYzZGIyLi5mOTkyN2U1IDEwMDc1NQorLS0tIGEvYmluL2h0bWx0cmVlCisrKysgYi9iaW4vaHRtbHRyZWUKK0BAIC0xLDQgKzEsNCBAQAorLSMhL3Vzci9iaW4vcGVybAorKyMhL3Vzci9iaW4vZW52IHBlcmwKKyAjIFRpbWUtc3RhbXA6ICIyMDAwLTEwLTAyIDE0OjQ4OjE1IE1EVCIKKyAjCisgIyBQYXJzZSB0aGUgZ2l2ZW4gSFRNTCBmaWxlKHMpIGFuZCBkdW1wIHRoZSBwYXJzZSB0cmVlCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJodG1sL2xpYmh0bWwtcGFyc2VyLXBlcmxfMy43Mi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJodG1sL2xpYmh0bWwtcGFyc2VyLXBlcmxfMy43Mi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MDQ3ZDlmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmh0bWwvbGliaHRtbC1wYXJzZXItcGVybF8zLjcyLmJiCkBAIC0wLDAgKzEsMjUgQEAKK0RFU0NSSVBUSU9OID0gIlRoaXMgcGFja2FnZSBjb250YWlucyB0aGUgUGFyc2VyLnBtIG1vZHVsZSB3aXRoIGZyaWVuZHMuIgorCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7bWQ1PWIwNDU5ZTQ0MjZiOTQ3NTNiOWE5YjhhMTVmMTIyM2I4IgorCitERVBFTkRTICs9ICJwZXJsIgorCitTUkNfVVJJID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi9hdXRob3JzL2lkL0cvR0EvR0FBUy9IVE1MLVBhcnNlci0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlYjc1MDVlNWY2MjY5MTMzNTBkZjlkZDRhMDNkNTRhOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlYzI4YzdlMWQ5ZTY3YzQ1ZWNhMTk3MDc3ZjdjZGM0MWVhZDFiYjRjNTM4YzdmMDJhMzI5NmE0YmI5MmY2MDhiIgorCitTID0gIiR7V09SS0RJUn0vSFRNTC1QYXJzZXItJHtQVn0iCisKK0VYVFJBX0NQQU5GTEFHUyA9ICJFWFBBVExJQlBBVEg9JHtTVEFHSU5HX0xJQkRJUn0gRVhQQVRJTkNQQVRIPSR7U1RBR0lOR19JTkNESVJ9IgorCitpbmhlcml0IGNwYW4KKworZG9fY29tcGlsZSgpIHsKKwlleHBvcnQgTElCQz0iJChmaW5kICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2Jhc2VfbGliZGlyfS8gLW5hbWUgJ2xpYmMtKi5zbycpIgorCWNwYW5fZG9fY29tcGlsZQorfQorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliaHRtbC9saWJodG1sLXRyZWUtcGVybF81LjAzLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmh0bWwvbGliaHRtbC10cmVlLXBlcmxfNS4wMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZWIwZTA2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmh0bWwvbGliaHRtbC10cmVlLXBlcmxfNS4wMy5iYgpAQCAtMCwwICsxLDQyIEBACitTVU1NQVJZID0gIkhUTUw6OlRyZWVCdWlsZGVyIC0gUGFyc2VyIHRoYXQgYnVpbGRzIGEgSFRNTCBzeW50YXggdHJlZSIKK0RFU0NSSVBUSU9OID0gIlRoaXMgZGlzdHJpYnV0aW9uIGNvbnRhaW5zIGEgc3VpdGUgb2YgbW9kdWxlcyBmb3IgcmVwcmVzZW50aW5nLCBcCitjcmVhdGluZywgYW5kIGV4dHJhY3RpbmcgaW5mb3JtYXRpb24gZnJvbSBIVE1MIHN5bnRheCB0cmVlczsgdGhlcmUgaXMgXAorYWxzbyByZWxldmVudCBkb2N1bWVudGF0aW9uLiAgVGhlc2UgbW9kdWxlcyB1c2VkIHRvIGJlIHBhcnQgb2YgdGhlIFwKK2xpYnd3dy1wZXJsIGRpc3RyaWJ1dGlvbiwgYnV0IGFyZSBub3cgdW5idW5kbGVkIGluIG9yZGVyIHRvIGZhY2lsaXRhdGUgXAorYSBzZXBhcmF0ZSBkZXZlbG9wbWVudCB0cmFjay4iCitTRUNUSU9OID0gImxpYnMiCisKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuY3Bhbi5vcmcvYXV0aG9ycy9pZC9DL0NKL0NKTS9IVE1MLVRyZWUtJHtQVn0ucmVhZG1lIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9M2ViNTdhODk1OGNhZTczY2I2NWU3ZDBjMjYzMzkyNDIiCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9DL0NKL0NKTS9IVE1MLVRyZWUtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2Jpbi1odG1sdHJlZS1maXgtc2hlYmFuZy5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiZDkyNzFkNjBiODcyZWQ2ZmJlNjhiMmQwZmU4YzQ1MGUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2Q2ZDczZmNhNjIyYWE3NDg1NWE4YjA4OGZhYTM5NDU0YTBmOTFiN2FmODNjOWVjMDM4N2YwMWVlZmMyMTQ4ZiIKKworUyA9ICIke1dPUktESVJ9L0hUTUwtVHJlZS0ke1BWfSIKKworaW5oZXJpdCBjcGFuX2J1aWxkCisKK0RFUEVORFMgKz0gImxpYm1vZHVsZS1idWlsZC1wZXJsLW5hdGl2ZSBcCisiCisKK1JQUk9WSURFU18ke1BOfSA9ICIgbGliaHRtbC1lbGVtZW50LXBlcmwgXAorCQkgICAgbGliaHRtbC10cmVlLWFzc3Vicy1wZXJsIFwKKwkJICAgIGxpYmh0bWwtdHJlZS1wZXJsIFwKKwkJICAgIGxpYmh0bWwtdHJlZWJ1aWxkZXItcGVybCBcCisiCisKK1JERVBFTkRTXyR7UE59ID0gIiBwZXJsLW1vZHVsZS1iIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1iYXNlIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1zdHJpY3QgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXdhcm5pbmdzIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1leHBvcnRlciBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtY2FycCBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliaW1wb3J0L2xpYmltcG9ydC1pbnRvLXBlcmxfMS4wMDIwMDQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliaW1wb3J0L2xpYmltcG9ydC1pbnRvLXBlcmxfMS4wMDIwMDQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWYwOGQ2MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJpbXBvcnQvbGliaW1wb3J0LWludG8tcGVybF8xLjAwMjAwNC5iYgpAQCAtMCwwICsxLDMyIEBACitTVU1NQVJZID0gIkltcG9ydDo6SW50byAtIGltcG9ydCBwYWNrYWdlcyBpbnRvIG90aGVyIHBhY2thZ2VzIgorREVTQ1JJUFRJT04gPSAiV3JpdGluZyBleHBvcnRlcnMgaXMgYSBwYWluLiBTb21lIHVzZSBcIkV4cG9ydGVyXCIsIHNvbWUgdXNlIFwKK1wiU3ViOjpFeHBvcnRlclwiLCBzb21lIHVzZSBcIk1vb3NlOjpFeHBvcnRlclwiLCBzb21lIHVzZSBcCitcIkV4cG9ydGVyOjpEZWNsYXJlXCIuLi4gYW5kIHNvbWUgdGhpbmdzIGFyZSBwcmFnbWFzLlwKK1wKK0V4cG9ydGluZyBvbiBzb21lb25lIGVsc2UncyBiZWhhbGYgaXMgaGFyZGVyLiBUaGUgZXhwb3J0ZXJzIGRvbid0IHByb3ZpZGUgYSBcCitjb25zaXN0ZW50IEFQSSBmb3IgdGhpcywgYW5kIHByYWdtYXMgbmVlZCB0byBoYXZlIHRoZWlyIGltcG9ydCBtZXRob2QgY2FsbGVkIFwKK2RpcmVjdGx5LCBzaW5jZSB0aGV5IGVmZmVjdCB0aGUgY3VycmVudCB1bml0IG9mIGNvbXBpbGF0aW9uLiBcCitcCitcIkltcG9ydDo6SW50b1wiIHByb3ZpZGVzIGdsb2JhbCBtZXRob2RzIHRvIG1ha2UgdGhpcyBwYWlubGVzcy4iCisKK1NFQ1RJT04gPSAibGlicyIKKworSE9NRVBBR0UgPSAiaHR0cHM6Ly9tZXRhY3Bhbi5vcmcvcG9kL0ltcG9ydC1JbnRvLyIKKworTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9MjA5O2VuZGxpbmU9MjIzO21kNT0zY2YzNjNmMWU0MDVkZWE2ZGIyYzZjZDBlZjIzNjgwYyIKKworU1JDX1VSSSA9ICIke0NQQU5fTUlSUk9SfS9hdXRob3JzL2lkL0UvRVQvRVRIRVIvSW1wb3J0LUludG8tJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjcwZjJmM2IwOGE1YjcwNmVlMzgyYTg0NDhjMzQ2Y2IxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImRlY2IyNTliYzJmZjAxNWZlM2RhYzg1ZTRhMjg3ZDQxMjhlOWIwNTA2YTBiMmM1ZmE3MjQ0ODM2YTY4YjEwODQiCisKK1MgPSAiJHtXT1JLRElSfS9JbXBvcnQtSW50by0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK1JERVBFTkRTXyR7UE59ID0gIiBsaWJtb2R1bGUtcnVudGltZS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1zdHJpY3QgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXdhcm5pbmdzIFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliaW8vZmlsZXMvcnVuLXB0ZXN0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmlvL2ZpbGVzL3J1bi1wdGVzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOWY5Y2E5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmlvL2ZpbGVzL3J1bi1wdGVzdApAQCAtMCwwICsxLDE2IEBACisjIS9iaW4vc2gKKworZm9yIGNhc2UgaW4gYGZpbmQgdCAtdHlwZSBmIC1uYW1lICcqLnQnYDsgZG8KKyAgICBwZXJsICRjYXNlID4kY2FzZS5vdXRwdXQgMj4mMQorICAgIHJldD0kPworICAgIGNhdCAkY2FzZS5vdXRwdXQKKyAgICBpZiBbICRyZXQgLW5lIDAgXTsgdGhlbgorICAgICAgICBlY2hvICJGQUlMOiAke2Nhc2UlLnR9IgorICAgIGVsaWYgZ3JlcCAtaSAnU0tJUCcgJGNhc2Uub3V0cHV0OyB0aGVuCisgICAgICAgIGVjaG8gIlNLSVA6ICR7Y2FzZSUudH0iCisgICAgZWxzZQorICAgICAgICBlY2hvICJQQVNTOiAke2Nhc2UlLnR9IgorICAgIGZpCisKKyAgICBybSAtZiAkY2FzZS5vdXRwdXQKK2RvbmUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJpby9saWJpby1zb2NrZXQtc3NsLXBlcmxfMS45OTcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliaW8vbGliaW8tc29ja2V0LXNzbC1wZXJsXzEuOTk3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhNTc4OGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliaW8vbGliaW8tc29ja2V0LXNzbC1wZXJsXzEuOTk3LmJiCkBAIC0wLDAgKzEsNDMgQEAKK1NVTU1BUlkgPSAiUGVybCBsaWJyYXJ5IGZvciB0cmFuc3BhcmVudCBTU0wiCitERVNDUklQVElPTiA9ICJUaGlzIG1vZHVsZSBpcyBhIHRydWUgZHJvcC1pbiByZXBsYWNlbWVudCBmb3IgSU86OlNvY2tldDo6SU5FVCB0aGF0IFwKK3VzZXMgU1NMIHRvIGVuY3J5cHQgZGF0YSBiZWZvcmUgaXQgaXMgdHJhbnNmZXJyZWQgdG8gYSByZW1vdGUgc2VydmVyIFwKK29yIGNsaWVudC4gSU86OlNvY2tldDo6U1NMIHN1cHBvcnRzIGFsbCB0aGUgZXh0cmEgZmVhdHVyZXMgdGhhdCBvbmUgXAorbmVlZHMgdG8gd3JpdGUgYSBmdWxsLWZlYXR1cmVkIFNTTCBjbGllbnQgb3Igc2VydmVyIGFwcGxpY2F0aW9uOiBcCittdWx0aXBsZSBTU0wgY29udGV4dHMsIGNpcGhlciBzZWxlY3Rpb24sIGNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiwgYW5kIFwKK1NTTCB2ZXJzaW9uIHNlbGVjdGlvbi4gQXMgYW4gZXh0cmEgYm9udXMsIGl0IHdvcmtzIHBlcmZlY3RseSB3aXRoIFwKK21vZF9wZXJsLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvZGlzdC9JTy1Tb2NrZXQtU1NMLyIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJBcnRpc3RpYy0xLjB8R1BMdjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTUVUQS55bWw7YmVnaW5saW5lPTExO2VuZGxpbmU9MTE7bWQ1PTk2M2NlMjgyMjgzNDc4NzVhY2U2ODJkZTU2ZWVmOGU4IgorCitSREVQRU5EU18ke1BOfSArPSAicGVybC1tb2R1bGUtc2NhbGFyLXV0aWwgbGlibmV0LXNzbGVheS1wZXJsIgorCitTUkNfVVJJID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi9hdXRob3JzL2lkL1MvU1UvU1VMTFIvSU8tU29ja2V0LVNTTC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiMmE2MjY4YmI0MmRhODFlNjlkMWMxZmViMmZjYjBlZWEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWNkYjY3YjViNjNhZWE1YjdlNzBjM2U0YzcwYTE2MTI4ODEwMzI5NTkyYjYzNzUzYTM4Yzc5NGFmZjc2YTFkZCIKKworUyA9ICIke1dPUktESVJ9L0lPLVNvY2tldC1TU0wtJHtQVn0iCisKK2luaGVyaXQgY3BhbiBwdGVzdAorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgbWtkaXIgLXAgJHtEfSR7ZG9jZGlyfS8ke1BOfS8KKyAgICBjcCAke1N9L0JVR1MgJHtEfSR7ZG9jZGlyfS8ke1BOfS8KKyAgICBjcCAke1N9L0NoYW5nZXMgJHtEfSR7ZG9jZGlyfS8ke1BOfS8KKyAgICBjcCAke1N9L1JFQURNRSAke0R9JHtkb2NkaXJ9LyR7UE59LworICAgIGNwIC1wUlAgJHtTfS9kb2NzICR7RH0ke2RvY2Rpcn0vJHtQTn0vCisgICAgY3AgLXBSUCAke1N9L2NlcnRzICR7RH0ke2RvY2Rpcn0vJHtQTn0vCisgICAgY3AgLXBSUCAke1N9L2V4YW1wbGUgJHtEfSR7ZG9jZGlyfS8ke1BOfS8KKyAgICBjcCAtcFJQICR7U30vdXRpbCAke0R9JHtkb2NkaXJ9LyR7UE59LworfQorCitkb19pbnN0YWxsX3B0ZXN0ICgpIHsKKyAgICBjcCAtciAke0J9L3QgJHtEfSR7UFRFU1RfUEFUSH0KKyAgICBjcCAtciAke0J9L2NlcnRzICR7RH0ke1BURVNUX1BBVEh9Cit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmlvL2xpYmlvLXN0cmluZ3ktcGVybF8yLjExMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJpby9saWJpby1zdHJpbmd5LXBlcmxfMi4xMTEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjg5MGEzZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJpby9saWJpby1zdHJpbmd5LXBlcmxfMi4xMTEuYmIKQEAgLTAsMCArMSwzMSBAQAorU1VNTUFSWSA9ICJJTy1zdHJpbmd5IC0gSS9PIG9uIGluLWNvcmUgb2JqZWN0cyBsaWtlIHN0cmluZ3MgYW5kIGFycmF5cyIKK0RFU0NSSVBUSU9OID0gIlRoaXMgdG9vbGtpdCBwcmltYXJpbHkgcHJvdmlkZXMgbW9kdWxlcyBmb3IgcGVyZm9ybWluZyBib3RoIFwKK3RyYWRpdGlvbmFsIGFuZCBvYmplY3Qtb3JpZW50ZWQgaS9vIG9uIHRoaW5ncyAqb3RoZXIqIHRoYW4gbm9ybWFsIFwKK2ZpbGVoYW5kbGVzOyBpbiBwYXJ0aWN1bGFyLCBJTzo6U2NhbGFyLCBJTzo6U2NhbGFyQXJyYXksIGFuZCBJTzo6TGluZXMuIgorCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnplZWdlZS5jb20vcHJvZHVjdHMvSU8tc3RyaW5neS8iCitTRUNUSU9OID0gImRldmVsIgorTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTAxNDA2ZTRmZjJlNjBkODhkNDJlZjFjYWViZGQwMDExIgorCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9EL0RTL0RTS09MTC9JTy1zdHJpbmd5LSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlOTFhY2YwYTgwMGIxOTBkMTM1ODVhNDdkZTc3NWJkZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4YzY3ZmQ2NjA4YzNjNGU3NGY3MzI0ZjE0MDRhODU2YzMzMWRiZjQ4ZDlkZWRhNmFhYTgyOTZlYTQxYmYxOTlkIgorCitTID0gIiR7V09SS0RJUn0vSU8tc3RyaW5neS0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK1JQUk9WSURFU18ke1BOfSArPSAiIGxpYmlvLWF0b21pY2ZpbGUtcGVybCBcCisJCSAgICAgbGliaW8taW5uZXJmaWxlLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICAgbGliaW8tbGluZXMtcGVybCBcCisgICAgICAgICAgICAgICAgICAgICBsaWJpby1zY2FsYXItcGVybCBcCisgICAgICAgICAgICAgICAgICAgICBsaWJpby1zY2FsYXJhcnJheS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgIGxpYmlvLXdyYXAtcGVybCBcCisgICAgICAgICAgICAgICAgICAgICBsaWJpby13cmFwdGllLXBlcmwgXAorCQkgICAgIGxpYmlvLXdyYXB0aWUtbWFzdGVyLXBlcmwgXAorCQkgICAgIGxpYmlvLXdyYXB0aWUtc2xhdmUtcGVybCBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmlwYy9saWJpcGMtc2lnbmFsLXBlcmxfMS4wMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJpcGMvbGliaXBjLXNpZ25hbC1wZXJsXzEuMDAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjUxODE2NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJpcGMvbGliaXBjLXNpZ25hbC1wZXJsXzEuMDAuYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSA9ICJJUEM6OlNpZ25hbCAtIFV0aWxpdHkgZnVuY3Rpb25zIGRlYWxpbmcgd2l0aCBzaWduYWxzIgorREVTQ1JJUFRJT04gPSAiSVBDOjpTaWduYWwgLSBUaGlzIG1vZHVsZSBjb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgXAorZGVhbGluZyB3aXRoIHNpZ25hbHMuIgorCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL35yb3NjaC9JUEMtU2lnbmFsLTEuMDAvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMHxHUEx2MSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTE2O2VuZGxpbmU9MTg7bWQ1PWYzNjU1MGY1OWEwYWU1ZTZlM2IwYmU2YTRkYTYwZDI2IgorCitTID0gIiR7V09SS0RJUn0vSVBDLVNpZ25hbC0ke1BWfSIKKworU1JDX1VSSSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL0NQQU4vYXV0aG9ycy9pZC9SL1JPL1JPU0NIL0lQQy1TaWduYWwtJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiNGNlYmYxN2ZkZjE3ODVlYWY4YzE1MWJmMmU4YzM2MGEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2MyMWY5YzhjMmQwYzBmMGYwZjQ2ZTc3ZGU3YzNkODc5ZGQ1NjI2NjhkZGYwNTI1ODc1YzM4Y2VmMjA3NmZkMCIKKworaW5oZXJpdCBjcGFuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibWltZS9maWxlcy9ydW4tcHRlc3QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibWltZS9maWxlcy9ydW4tcHRlc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzlmOWNhOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtaW1lL2ZpbGVzL3J1bi1wdGVzdApAQCAtMCwwICsxLDE2IEBACisjIS9iaW4vc2gKKworZm9yIGNhc2UgaW4gYGZpbmQgdCAtdHlwZSBmIC1uYW1lICcqLnQnYDsgZG8KKyAgICBwZXJsICRjYXNlID4kY2FzZS5vdXRwdXQgMj4mMQorICAgIHJldD0kPworICAgIGNhdCAkY2FzZS5vdXRwdXQKKyAgICBpZiBbICRyZXQgLW5lIDAgXTsgdGhlbgorICAgICAgICBlY2hvICJGQUlMOiAke2Nhc2UlLnR9IgorICAgIGVsaWYgZ3JlcCAtaSAnU0tJUCcgJGNhc2Uub3V0cHV0OyB0aGVuCisgICAgICAgIGVjaG8gIlNLSVA6ICR7Y2FzZSUudH0iCisgICAgZWxzZQorICAgICAgICBlY2hvICJQQVNTOiAke2Nhc2UlLnR9IgorICAgIGZpCisKKyAgICBybSAtZiAkY2FzZS5vdXRwdXQKK2RvbmUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtaW1lL2xpYm1pbWUtdHlwZXMtcGVybF8yLjA0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm1pbWUvbGlibWltZS10eXBlcy1wZXJsXzIuMDQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWY1MzAyOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtaW1lL2xpYm1pbWUtdHlwZXMtcGVybF8yLjA0LmJiCkBAIC0wLDAgKzEsMjYgQEAKK1NVTU1BUlkgPSAiTUlNRTo6VHlwZXMgLSBEZWZpbml0aW9uIG9mIE1JTUUgdHlwZXMiCitERVNDUklQVElPTiA9ICJNSU1FIHR5cGVzIGFyZSB1c2VkIGluIE1JTUUgY29tcGxpYW50IGxpbmVzLCBmb3IgaW5zdGFuY2UgXAorYXMgcGFydCBvZiBlLW1haWwgYW5kIEhUVFAgdHJhZmZpYywgdG8gaW5kaWNhdGUgdGhlIHR5cGUgb2YgY29udGVudCB3aGljaCBcCitpcyB0cmFuc21pdHRlZC4gU29tZXRpbWVzIHJlYWwga25vd2xlZGdlIGFib3V0IGEgbWltZS10eXBlIGlzIG5lZWQuXAorXG5cCitUaGlzIG1vZHVsZSBtYWludGFpbnMgYSBzZXQgb2YgTUlNRTo6VHlwZSBvYmplY3RzLCB3aGljaCBlYWNoIGRlc2NyaWJlIFwKK29uZSBrbm93biBtaW1lIHR5cGUuIgorSE9NRVBBR0UgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9+bWFya292L01JTUUtVHlwZXMtJHtQVn0iCitTRUNUSU9OID0gImxpYnJhcmllcyIKKworTElDRU5TRSA9ICJBcnRpc3RpYy0xLjB8R1BMdjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTUVUQS55bWw7YmVnaW5saW5lPTExO2VuZGxpbmU9MTE7bWQ1PTk2M2NlMjgyMjgzNDc4NzVhY2U2ODJkZTU2ZWVmOGU4IgorCitTUkNfVVJJID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi9hdXRob3JzL2lkL00vTUEvTUFSS09WL01JTUUtVHlwZXMtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImUyOTJiYmY3NzU2YmI0OTk5NDA3ZjNmNjYwNjk3MTY4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjIyYjYwNjlkMzcyZDU4N2IxZjJlY2M2ZDBhYWY1MGZiNWM2NDkyMGNhZWQ4YzIxNGI5ODg0ZTY0NTM4YWNjOGYiCisKK1MgPSAiJHtXT1JLRElSfS9NSU1FLVR5cGVzLSR7UFZ9IgorCitpbmhlcml0IGNwYW4gcHRlc3QKKworZG9faW5zdGFsbF9wdGVzdCAoKSB7CisgICAgY3AgLXIgJHtCfS90ICR7RH0ke1BURVNUX1BBVEh9Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibW9kdWxlL2xpYm1vZHVsZS1idWlsZC1wZXJsXzAuMzEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibW9kdWxlL2xpYm1vZHVsZS1idWlsZC1wZXJsXzAuMzEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzBmYTA2ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtb2R1bGUvbGlibW9kdWxlLWJ1aWxkLXBlcmxfMC4zMS5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIk1vZHVsZTo6QnVpbGQ6OlRpbnkgLSBBIHRpbnkgcmVwbGFjZW1lbnQgZm9yIE1vZHVsZTo6QnVpbGQiCitERVNDUklQVElPTiA9ICJNYW55IFBlcmwgZGlzdHJpYnV0aW9ucyB1c2UgYSBCdWlsZC5QTCBmaWxlIGluc3RlYWQgb2YgYSBcCitNYWtlZmlsZS5QTCBmaWxlIHRvIGRyaXZlIGRpc3RyaWJ1dGlvbiBjb25maWd1cmF0aW9uLCBidWlsZCwgdGVzdCBhbmQgXAoraW5zdGFsbGF0aW9uLiBUcmFkaXRpb25hbGx5LCBCdWlsZC5QTCB1c2VzIE1vZHVsZTo6QnVpbGQgYXMgdGhlIHVuZGVybHlpbmcgXAorYnVpbGQgc3lzdGVtLiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIHNpbXBsZSwgbGlnaHR3ZWlnaHQsIGRyb3AtaW4gcmVwbGFjZW1lbnQuIFwKK1doZXJlYXMgTW9kdWxlOjpCdWlsZCBoYXMgb3ZlciA2LDcwMCBsaW5lcyBvZiBjb2RlOyB0aGlzIG1vZHVsZSBoYXMgbGVzcyB0aGFuIFwKKzEyMCwgeWV0IHN1cHBvcnRzIHRoZSBmZWF0dXJlcyBuZWVkZWQgYnkgbW9zdCBkaXN0cmlidXRpb25zLiIKK1NFQ1RJT04gPSAibGlicyIKKworSE9NRVBBR0UgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9+a3dpbGxpYW1zL01vZHVsZS1CdWlsZC0wLjMxLyIKKworTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTQzMzM5ZDhmOWQzYTk1NmVlOWVjZWIwNzcxN2VlOTVlIgorCitTUkNfVVJJID0gIiR7Q1BBTl9NSVJST1J9L2F1dGhvcnMvaWQvSy9LVy9LV0lMTElBTVMvTW9kdWxlLUJ1aWxkLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICIzZDRmZGZmZTU4ZjYyMzYyNTM3NjdlNWE3MWVkZjI5YiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlMmY3MjNiZThkNmM3MGI0ZGRiY2EzYjVlMzJlNTJlNmU5OGVhZThmNDNlMzRkN2VkZTg3ZWZjYjE3OTZiYmI1IgorCitTID0gIiR7V09SS0RJUn0vTW9kdWxlLUJ1aWxkLSR7UFZ9IgorCitpbmhlcml0IGNwYW5fYnVpbGQKKworZG9faW5zdGFsbCAoKSB7CisgICAgICAgIGNwYW5fYnVpbGRfZG9faW5zdGFsbAorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtb2R1bGUvbGlibW9kdWxlLWJ1aWxkLXRpbnktcGVybF8wLjAzNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtb2R1bGUvbGlibW9kdWxlLWJ1aWxkLXRpbnktcGVybF8wLjAzNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjFmMTdjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm1vZHVsZS9saWJtb2R1bGUtYnVpbGQtdGlueS1wZXJsXzAuMDM2LmJiCkBAIC0wLDAgKzEsNTQgQEAKK1NVTU1BUlkgPSAiTW9kdWxlOjpCdWlsZDo6VGlueSAtIEEgdGlueSByZXBsYWNlbWVudCBmb3IgTW9kdWxlOjpCdWlsZCIKK0RFU0NSSVBUSU9OID0gIk1hbnkgUGVybCBkaXN0cmlidXRpb25zIHVzZSBhIEJ1aWxkLlBMIGZpbGUgaW5zdGVhZCBvZiBhIFwKK01ha2VmaWxlLlBMIGZpbGUgdG8gZHJpdmUgZGlzdHJpYnV0aW9uIGNvbmZpZ3VyYXRpb24sIGJ1aWxkLCB0ZXN0IGFuZCBcCitpbnN0YWxsYXRpb24uIFRyYWRpdGlvbmFsbHksIEJ1aWxkLlBMIHVzZXMgTW9kdWxlOjpCdWlsZCBhcyB0aGUgdW5kZXJseWluZyBcCitidWlsZCBzeXN0ZW0uIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgc2ltcGxlLCBsaWdodHdlaWdodCwgZHJvcC1pbiByZXBsYWNlbWVudC4gXAorV2hlcmVhcyBNb2R1bGU6OkJ1aWxkIGhhcyBvdmVyIDYsNzAwIGxpbmVzIG9mIGNvZGU7IHRoaXMgbW9kdWxlIGhhcyBsZXNzIHRoYW4gXAorMTIwLCB5ZXQgc3VwcG9ydHMgdGhlIGZlYXR1cmVzIG5lZWRlZCBieSBtb3N0IGRpc3RyaWJ1dGlvbnMuIgorU0VDVElPTiA9ICJsaWJzIgorCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL35sZW9udC9Nb2R1bGUtQnVpbGQtVGlueS8iCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1hYWNhNjE0MTI5NjJjZjk3MmFlYzBjZGFkOTlkMGE4NCIKKworREVQRU5EUyA9ICJsaWJleHR1dGlscy1jb25maWctcGVybC1uYXRpdmUgbGliZXh0dXRpbHMtaGVscGVycy1wZXJsLW5hdGl2ZSBsaWJleHR1dGlscy1pbnN0YWxscGF0aHMtcGVybC1uYXRpdmUiCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9ML0xFL0xFT05UL01vZHVsZS1CdWlsZC1UaW55LSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJiZmM5MmM2NTUxNThjZTYyM2YwY2VkOTRmNGVmMDJlNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkNjcwNmJmMzVlMDgwZTVhZjIwY2NjZjRmZDU2NWNjOGFmOWMyYTFlMmUyMDc1Y2VlMGE3ZGU0MmNmMGQ2ZGY5IgorCitTID0gIiR7V09SS0RJUn0vTW9kdWxlLUJ1aWxkLVRpbnktJHtQVn0iCisKK2luaGVyaXQgY3Bhbl9idWlsZAorCitkb19pbnN0YWxsICgpIHsKKyAgICAgICAgY3Bhbl9idWlsZF9kb19pbnN0YWxsCit9CisKK1JERVBFTkRTXyR7UE59ID0gIiBsaWJleHR1dGlscy1jb25maWctcGVybCBcCisgICAgICAgICAgICAgICAgICAgbGliZXh0dXRpbHMtaGVscGVycy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICBsaWJleHR1dGlscy1pbnN0YWxscGF0aHMtcGVybCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUteHNsb2FkZXIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWZpbGUtc3BlYyBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtaW8taGFuZGxlIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS10YXAtaGFybmVzcy1lbnYgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWlwYy1vcGVuMyBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZmlsZS1wYXRoIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1jcGFuIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlciBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZXhwb3J0ZXIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWNhcnAgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXRlc3QtbW9yZSBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1sb2FkIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1maWxlLXRlbXAgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWRhdGEtZHVtcGVyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1wb2QtbWFuIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1qc29uLXBwIFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibW9kdWxlL2xpYm1vZHVsZS1wbHVnZ2FibGUtcGVybF81LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibW9kdWxlL2xpYm1vZHVsZS1wbHVnZ2FibGUtcGVybF81LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzZjYWM1MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtb2R1bGUvbGlibW9kdWxlLXBsdWdnYWJsZS1wZXJsXzUuMi5iYgpAQCAtMCwwICsxLDM5IEBACitTVU1NQVJZID0gIkF1dG9tYXRpY2FsbHkgZ2l2ZSB5b3VyIG1vZHVsZSB0aGUgYWJpbGl0eSB0byBoYXZlIHBsdWdpbnMiCitERVNDUklQVElPTiA9ICJQcm92aWRlcyBhIHNpbXBsZSBidXQsIGhvcGVmdWxseSwgZXh0ZW5zaWJsZSB3YXkgb2YgXAoraGF2aW5nICdwbHVnaW5zJyBmb3IgeW91ciBtb2R1bGUuIE9idmlvdXNseSB0aGlzIGlzbid0IGdvaW5nIHRvIGJlIHRoZSBcCitiZSBhbGwgYW5kIGVuZCBhbGwgb2Ygc29sdXRpb25zIGJ1dCBpdCB3b3JrcyBmb3IgbWUuXAorXAorRXNzZW50aWFsbHkgYWxsIGl0IGRvZXMgaXMgZXhwb3J0IGEgbWV0aG9kIGludG8geW91ciBuYW1lc3BhY2UgdGhhdCBcCitsb29rcyB0aHJvdWdoIGEgc2VhcmNoIHBhdGggZm9yIC5wbSBmaWxlcyBhbmQgdHVybiB0aG9zZSBpbnRvIGNsYXNzIFwKK25hbWVzLlwKK1wKK09wdGlvbmFsbHkgaXQgaW5zdGFudGlhdGVzIHRob3NlIGNsYXNzZXMgZm9yIHlvdS4iCitTRUNUSU9OID0gImxpYnMiCisKK0FVVEhPUiA9ICJTaW1vbiBXaXN0b3cgPHNpbW9uQHRoZWdlc3RhbHQub3JnPiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9zaW1vbndpc3Rvdy9Nb2R1bGUtUGx1Z2dhYmxlIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT0zMjI7ZW5kbGluZT0zMjU7bWQ1PTA4NjQ1MGNlMDEwZjZmZGEyNWRiMGIzOGZjYzQxMDg2IgorCitTUkNOQU1FID0gIk1vZHVsZS1QbHVnZ2FibGUiCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9tb3RvLXRpbW8vJHtTUkNOQU1FfS9hcmNoaXZlLyR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlMzI0NzVkNmZmNTg0M2Y3MzhjZWRhY2QzYjdhMmNkYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1OGM2MjI5MmVlYTZkMDY5NTllYmExYjk3NTk4NjUwODEzMjExMjY1NDAzMjQyZDU3ZWZiMmY2MDVjOTYwNTlmIgorCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK1JERVBFTkRTXyR7UE59ID0gIiBwZXJsLW1vZHVsZS1iYXNlIFwKKwkJICAgcGVybC1tb2R1bGUtZGVwcmVjYXRlIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIFwKKwkJICAgcGVybC1tb2R1bGUtZmlsZS1maW5kIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1maWxlLXNwZWMgXAorCQkgICBwZXJsLW1vZHVsZS1maWxlLXNwZWMtZnVuY3Rpb25zIFwKKwkJICAgcGVybC1tb2R1bGUtaWYgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXRlc3QtbW9yZSBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibW9kdWxlL2xpYm1vZHVsZS1ydW50aW1lLXBlcmxfMC4wMTUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibW9kdWxlL2xpYm1vZHVsZS1ydW50aW1lLXBlcmxfMC4wMTUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjkyODQyYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtb2R1bGUvbGlibW9kdWxlLXJ1bnRpbWUtcGVybF8wLjAxNS5iYgpAQCAtMCwwICsxLDM1IEBACitTVU1NQVJZID0gIk1vZHVsZTo6UnVudGltZSAtIHJ1bnRpbWUgbW9kdWxlIGhhbmRsaW5nIgorREVTQ1JJUFRJT04gPSAiVGhlIGZ1bmN0aW9ucyBleHBvcnRlZCBieSB0aGlzIG1vZHVsZSBkZWFsIHdpdGggcnVudGltZSBcCitoYW5kbGluZyBvZiBQZXJsIG1vZHVsZXMsIHdoaWNoIGFyZSBub3JtYWxseSBoYW5kbGVkIGF0IGNvbXBpbGUgdGltZS4gVGhpcyBcCittb2R1bGUgYXZvaWRzIHVzaW5nIGFueSBvdGhlciBtb2R1bGVzLCBzbyB0aGF0IGl0IGNhbiBiZSB1c2VkIGluIGxvdy1sZXZlbCBcCitpbmZyYXN0cnVjdHVyZS4gXAorVGhlIHBhcnRzIG9mIHRoaXMgbW9kdWxlIHRoYXQgd29yayB3aXRoIG1vZHVsZSBuYW1lcyBhcHBseSB0aGUgc2FtZSBzeW50YXggXAordGhhdCBpcyB1c2VkIGZvciBiYXJld29yZHMgaW4gUGVybCBzb3VyY2UuIEluIHByaW5jaXBsZSB0aGlzIHN5bnRheCBjYW4gdmFyeSBcCitiZXR3ZWVuIHZlcnNpb25zIG9mIFBlcmwsIGFuZCB0aGlzIG1vZHVsZSBhcHBsaWVzIHRoZSBzeW50YXggb2YgdGhlIFBlcmwgb24gXAord2hpY2ggaXQgaXMgcnVubmluZy4gSW4gcHJhY3RpY2UgdGhlIHVzYWJsZSBzeW50YXggaGFzbid0IGNoYW5nZWQgeWV0LCBidXQgXAordGhlcmUncyBhIGdvb2QgY2hhbmNlIG9mIGl0IGNoYW5naW5nIGluIFBlcmwgNS4xOC4gXAorVGhlIGZ1bmN0aW9ucyBvZiB0aGlzIG1vZHVsZSB3aG9zZSBwdXJwb3NlIGlzIHRvIGxvYWQgbW9kdWxlcyBpbmNsdWRlIFwKK3dvcmthcm91bmRzIGZvciB0aHJlZSBvbGQgUGVybCBjb3JlIGJ1Z3MgcmVnYXJkaW5nIHJlcXVpcmUuIFRoZXNlIHdvcmthcm91bmRzIFwKK2FyZSBhcHBsaWVkIG9uIGFueSBQZXJsIHZlcnNpb24gd2hlcmUgdGhlIGJ1Z3MgZXhpc3QsIGV4Y2VwdCBmb3IgYSBjYXNlIHdoZXJlIFwKK29uZSBvZiB0aGUgYnVncyBjYW5ub3QgYmUgYWRlcXVhdGVseSB3b3JrZWQgYXJvdW5kIGluIHB1cmUgUGVybC4iCitTRUNUSU9OID0gImxpYnMiCisKK0hPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvfnplZnJhbS9Nb2R1bGUtUnVudGltZS8iCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTQ1O2VuZGxpbmU9NDY7bWQ1PTYyZTI0YTkzMzQyZmVkZTcyMjFkNjYzMzVjNzE2ZjM0IgorCitTUkNOQU1FID0gIm1vZHVsZS1ydW50aW1lIgorU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vbW90by10aW1vLyR7U1JDTkFNRX0vYXJjaGl2ZS8ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiYWQ2Y2ExNzljOTc4YWEwMmFjOGFhMjkyNDRlZjliZWIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTllZmZhODJiM2Y2OTg2ZDI4ZGU2MTU0YThmMjQyODE1NzY5MTAwNGQ5NTFmOTM2YTgxZTg1MWY0ZGJjYjA0NSIKKworUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0tJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitSREVQRU5EU18ke1BOfSA9ICIgcGVybC1tb2R1bGUtdGVzdC1tb3JlIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1zdHJpY3QgXAorIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtb28vbGlibW9vLXBlcmxfMi4wMDAwMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibW9vL2xpYm1vby1wZXJsXzIuMDAwMDAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlMTE5ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibW9vL2xpYm1vby1wZXJsXzIuMDAwMDAyLmJiCkBAIC0wLDAgKzEsNDQgQEAKK1NVTU1BUlkgPSAiTW9vIC0gTWluaW1hbGlzdCBPYmplY3QgT3JpZW50YXRpb24gKHdpdGggTW9vc2UgY29tcGF0aWJpbGl0eSkiCitERVNDUklQVElPTiA9ICJUaGlzIG1vZHVsZSB1cyBhbiBleHRyZW1lbHkgbGlnaHQtd2VpZ2h0IHN1YnNldCBvZiBcIk1vb3NlXCIgXAorb3B0aW1pc2VkIGZvciByYXBpZCBzdGFydHVwIGFuZCBcInBheSBvbmx5IGZvciB3aGF0IHlvdSB1c2VcIi4iCisKK1NFQ1RJT04gPSAibGlicyIKKworSE9NRVBBR0UgPSAiaHR0cDovL21ldGFwYW4ub3JnL3JlbGVhc2UvTW9vLyIKKworTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9Njg4O2VuZGxpbmU9NzMzO21kNT0yN2VmZWRkMTc1ZWVhZGRiZDE4ZjRlMzU3MmJkNzJhOCIKKworU1JDX1VSSSA9ICIke0NQQU5fTUlSUk9SfS9hdXRob3JzL2lkL0gvSEEvSEFBUkcvTW9vLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI4Yjg0YTcyODlmYzYyNDdkZTVlYzVkMTUxMTA1ZmQ2YiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmYjRiZmE3NTFmMGRkMDZiZDcwZjJlMDZlODExZjg1YTY0MDUwMWYyNjNjMjI4YThlZmFmYmY2YjI2NjkxZmQ0IgorCitTID0gIiR7V09SS0RJUn0vTW9vLSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworUkRFUEVORFNfJHtQTn0gPSAiIGxpYmNsYXNzLW1ldGhvZC1tb2RpZmllcnMtcGVybCBcCisgICAgICAgICAgICAgICAgICAgbGliZGV2ZWwtZ2xvYmFsZGVzdHJ1Y3Rpb24tcGVybCBcCisgICAgICAgICAgICAgICAgICAgbGlibW9kdWxlLXJ1bnRpbWUtcGVybCBcCisgICAgICAgICAgICAgICAgICAgbGlicm9sZS10aW55LXBlcmwgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWNvbnN0YW50IFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1leHBvcnRlciBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtbXJvIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1zY2FsYXItdXRpbCBcCisiCisKK1JQUk9WSURFU18ke1BOfSA9ICIgbGlibWV0aG9kLWlubGluZXItcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYm1ldGhvZC1nZW5lcmF0ZS1hY2Nlc3Nvci1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlibWV0aG9kLWdlbmVyYXRlLWJ1aWxkYWxsLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJtZXRob2QtZ2VuZXJhdGUtY29uc3RydWN0b3ItcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYm1ldGhvZC1nZW5lcmF0ZS1kZW1vbGlzaGFsbC1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlibW9vLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJtb28taGFuZGxlbW9vc2UtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYm1vby1oYW5kbGVtb29zZS1mYWtlbWV0YWNsYXNzLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJtb28tb2JqZWN0LXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJtb28tcm9sZS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlic3ViLWRlZmVyLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJzdWItcXVvdGUtcGVybCBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9maWxlcy8wMDAxLWxpYm5ldC1zc2xlYXktcGVybC1EaXNhYmxlLXRlc3QtdGhhdC1mYWlscy13aXRoLW9wZW4ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2ZpbGVzLzAwMDEtbGlibmV0LXNzbGVheS1wZXJsLURpc2FibGUtdGVzdC10aGF0LWZhaWxzLXdpdGgtb3Blbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOTNlZTE5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9maWxlcy8wMDAxLWxpYm5ldC1zc2xlYXktcGVybC1EaXNhYmxlLXRlc3QtdGhhdC1mYWlscy13aXRoLW9wZW4ucGF0Y2gKQEAgLTAsMCArMSw3MCBAQAorRnJvbSBlN2EyZDNhNTdmZDUxZjBkNGQ1YjNmY2I2NjY5YjE4NzZkNGIxOGQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAxMCBOb3YgMjAxNSAwMToyMzoxOCAtMDUwMAorU3ViamVjdDogW1BBVENIIDEvMl0gbGlibmV0LXNzbGVheS1wZXJsOiBEaXNhYmxlIHRlc3QgdGhhdCBmYWlscyB3aXRoCisgb3BlbnNzbC0xLjAuMmIgb3IgYWJvdmUKKworUnVuIHRlc3RzdWl0czoKK3QvbG9jYWwvMzNfeDUwOV9jcmVhdGVfY2VydC4uLi4uLi4uLi4uLk5PSyAzOS8xMjMKK25vdCBvayAzOSAtIFBFTV9nZXRfc3RyaW5nX1ByaXZhdGVLZXkrcGFzc3dkK2VuY19hbGcKK3wgICBGYWlsZWQgdGVzdCAnUEVNX2dldF9zdHJpbmdfUHJpdmF0ZUtleStwYXNzd2QrZW5jX2FsZycKK3wgICBhdCB0L2xvY2FsLzMzX3g1MDlfY3JlYXRlX2NlcnQudCBsaW5lIDEwNC4KK3wgICAgICAgICAgICAgICAgICAgdW5kZWYKK3wgICAgIGRvZXNuJ3QgbWF0Y2ggJyg/XjotLS0tLUJFR0lOIChFTkNSWVBURUR8UlNBKSBQUklWQVRFIEtFWS0tLS0tKScKKworVGhpcyBpcyBkdWUgdG8gdGhlIGZvbGxvd2luZyBjaGFuZ2UgaW4gT3BlblNTTDoKKyhnaXQ6Ly9naXQub3BlbnNzbC5vcmcvb3BlbnNzbC5naXQpCisuLi4uLi4KKzRkOWRjMGMyNjliZTg3YjkyZGExODhkZjFmYmQ4YmZlZTQ3MDBlYjMgaXMgdGhlIGZpcnN0IGJhZCBjb21taXQKK2NvbW1pdCA0ZDlkYzBjMjY5YmU4N2I5MmRhMTg4ZGYxZmJkOGJmZWU0NzAwZWIzCitBdXRob3I6IERyLiBTdGVwaGVuIEhlbnNvbiA8c3RldmVAb3BlbnNzbC5vcmc+CitEYXRlOiBUaHUgTWF5IDI4IDE1OjQ0OjIwIDIwMTUgKzAxMDAKKworY2hlY2sgZm9yIGVycm9yIHdoZW4gY3JlYXRpbmcgUEtDUyM4IHN0cnVjdHVyZQorCitSZXZpZXdlZC1ieTogUmljaCBTYWx6IDxyc2FsekBvcGVuc3NsLm9yZz4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDI4NDk3MDdmYTY1ZDI4MDNlNmQxYzE2MDNmZGQzZmQxZmRjNGM2Y2MpCisuLi4uLi4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBmcm9tIHVwc3RyZWFtIGxhdGVzdCAxLjcyOgoraHR0cDovL3d3dy5jcGFuLm9yZy9hdXRob3JzL2lkL00vTUkvTUlLRU0vTmV0LVNTTGVheS0xLjcyLnRhci5negorCitTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CistLS0KKyB0L2xvY2FsLzMzX3g1MDlfY3JlYXRlX2NlcnQudCB8IDEzICsrKysrKysrLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdC9sb2NhbC8zM194NTA5X2NyZWF0ZV9jZXJ0LnQgYi90L2xvY2FsLzMzX3g1MDlfY3JlYXRlX2NlcnQudAoraW5kZXggMmYyYzAxMy4uM2U2NTNjZSAxMDA3NTUKKy0tLSBhL3QvbG9jYWwvMzNfeDUwOV9jcmVhdGVfY2VydC50CisrKysgYi90L2xvY2FsLzMzX3g1MDlfY3JlYXRlX2NlcnQudAorQEAgLTIsNyArMiw3IEBACisgCisgdXNlIHN0cmljdDsKKyB1c2Ugd2FybmluZ3M7CistdXNlIFRlc3Q6Ok1vcmUgdGVzdHMgPT4gMTIzOworK3VzZSBUZXN0OjpNb3JlIHRlc3RzID0+IDEyMTsKKyB1c2UgTmV0OjpTU0xlYXkgcXcvTUJTVFJJTkdfQVNDIE1CU1RSSU5HX1VURjggRVZQX1BLX1JTQSBFVlBfUEtUX1NJR04gRVZQX1BLVF9FTkMvOworIHVzZSBGaWxlOjpTcGVjOworIHVzZSB1dGY4OworQEAgLTk5LDEwICs5OSwxMyBAQCBpcyhOZXQ6OlNTTGVheTo6WDUwOV9OQU1FX2NtcCgkY2FfaXNzdWVyLCAkY2Ffc3ViamVjdCksIDAsICJYNTA5X05BTUVfY21wIik7CisgICB9CisgICBvayhteSAkYWxnMSA9IE5ldDo6U1NMZWF5OjpFVlBfZ2V0X2NpcGhlcmJ5bmFtZSgiREVTLUVERTMtQ0JDIiksICJFVlBfZ2V0X2NpcGhlcmJ5bmFtZSIpOworICAgbGlrZShteSAka2V5X3BlbTMgPSBOZXQ6OlNTTGVheTo6UEVNX2dldF9zdHJpbmdfUHJpdmF0ZUtleSgkcGssInBhc3N3b3JkIiwkYWxnMSksIHFyLy0tLS0tQkVHSU4gKEVOQ1JZUFRFRHxSU0EpIFBSSVZBVEUgS0VZLS0tLS0vLCAiUEVNX2dldF9zdHJpbmdfUHJpdmF0ZUtleStwYXNzd2QrZW5jX2FsZyIpOworLSAgCistICBvayhteSAkYWxnMiA9IE5ldDo6U1NMZWF5OjpFVlBfZ2V0X2NpcGhlcmJ5bmFtZSgiREVTLUVERTMtT0ZCIiksICJFVlBfZ2V0X2NpcGhlcmJ5bmFtZSIpOworLSAgbGlrZShteSAka2V5X3BlbTQgPSBOZXQ6OlNTTGVheTo6UEVNX2dldF9zdHJpbmdfUHJpdmF0ZUtleSgkcGssInBhc3N3b3JkIiwkYWxnMiksIHFyLy0tLS0tQkVHSU4gKEVOQ1JZUFRFRHxSU0EpIFBSSVZBVEUgS0VZLS0tLS0vLCAiUEVNX2dldF9zdHJpbmdfUHJpdmF0ZUtleStwYXNzd2QrZW5jX2FsZyIpOworLSAgCisrCisrIyBERVMtRURFMy1PRkIgaGFzIG5vIEFTTjEgc3VwcG9ydCwgZGV0ZWN0ZWQgYnkgY2hhbmdlcyB0byBkb19wazhwa2V5IGFzIG9mIG9wZW5zc2wgMS4wLjFuCisrIyBodHRwczovL2dpdC5vcGVuc3NsLm9yZy8/cD1vcGVuc3NsLmdpdDthPWNvbW1pdDtoPTRkOWRjMGMyNjliZTg3YjkyZGExODhkZjFmYmQ4YmZlZTQ3MDBlYjMKKysjIHRoaXMgdGVzdCBub3cgZmFpbHMKKysjICBvayhteSAkYWxnMiA9IE5ldDo6U1NMZWF5OjpFVlBfZ2V0X2NpcGhlcmJ5bmFtZSgiREVTLUVERTMtT0ZCIiksICJFVlBfZ2V0X2NpcGhlcmJ5bmFtZSIpOworKyMgIGxpa2UobXkgJGtleV9wZW00ID0gTmV0OjpTU0xlYXk6OlBFTV9nZXRfc3RyaW5nX1ByaXZhdGVLZXkoJHBrLCJwYXNzd29yZCIsJGFsZzIpLCBxci8tLS0tLUJFR0lOIChFTkNSWVBURUR8UlNBKSBQUklWQVRFIEtFWS0tLS0tLywgIlBFTV9nZXRfc3RyaW5nX1ByaXZhdGVLZXkrcGFzc3dkK2VuY19hbGciKTsKKysKKyAgIGlzKE5ldDo6U1NMZWF5OjpYNTA5X05BTUVfcHJpbnRfZXgoJG5hbWUpLCAiTz1Db21wYW55IE5hbWUsQz1VSyxDTj1Db21tb24gbmFtZSB0ZXh0IFg1MDkiLCAiWDUwOV9OQU1FX3ByaW50X2V4Iik7ICAKKyAKKyAgICMgMjAxNC0wNi0wNjogU2lnaCwgc29tZSB2ZXJzaW9ucyBvZiBvcGVuc3NsIGhhdmUgdGhpcyBwYXRjaCwgd2hpY2ggYWZmZmVjdHMgdGhlIHJlc3VsdHMgb2YgdGhpcyB0ZXN0OgorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2ZpbGVzLzAwMDItUmVjZW50LTEuMC4yLWJldGFzLWhhdmUtZHJvcHBlZC10aGUtU1NMdjNfbWV0aG9kLWZ1bi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJuZXQvZmlsZXMvMDAwMi1SZWNlbnQtMS4wLjItYmV0YXMtaGF2ZS1kcm9wcGVkLXRoZS1TU0x2M19tZXRob2QtZnVuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUzNjUwYjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2ZpbGVzLzAwMDItUmVjZW50LTEuMC4yLWJldGFzLWhhdmUtZHJvcHBlZC10aGUtU1NMdjNfbWV0aG9kLWZ1bi5wYXRjaApAQCAtMCwwICsxLDc1IEBACitGcm9tIGQ5NGYyZDNmOTZkYjUyOTM4M2IyMmYyZGMyOTQ4NDcxOTBkMWJmYmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDEwIE5vdiAyMDE1IDAyOjExOjMwIC0wNTAwCitTdWJqZWN0OiBbUEFUQ0ggMi8yXSBSZWNlbnQgMS4wLjIgYmV0YXMgaGF2ZSBkcm9wcGVkIHRoZSBTU0x2M19tZXRob2QKKyBmdW5jdGlvbi4gVGhpcyBwYXRjaCBsZWF2ZXMgb3V0IHRoZSBmdW5jdGlvbiBvbiBuZXdlciB2ZXJzaW9ucywgbXVjaCB0aGUgc2FtZQorIGFzIHRoZSBTU0x2MiBkZXByZWNhdGlvbiBpcyBoYW5kbGVkLiBJdCBhbHNvIGZpeGVzIHRoZSBBTFBOIHRlc3QsIHdoaWNoIHdhcworIGluY29ycmVjdGx5IGZhaWxpbmcgb24gT3BlblNTTCBkdWUgdG8gdGhlIExpYnJlU1NMIGNoZWNrIChlYXJsaWVyIHZlcnNpb25zCisgYmFpbGVkIG91dCBiZWZvcmUgdGhhdCBsaW5lKS4gU2lnbmVkLW9mZi1ieTogUGF0Y2ggZnJvbSBUb20gTW9sZXN3b3J0aAorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IGZyb20gdXBzdHJlYW0gMS42NworaHR0cDovL3d3dy5jcGFuLm9yZy9hdXRob3JzL2lkL00vTUkvTUlLRU0vTmV0LVNTTGVheS0xLjY3LnRhci5negoraHR0cHM6Ly9ydC5jcGFuLm9yZy9QdWJsaWMvQnVnL0Rpc3BsYXkuaHRtbD9pZD0xMDE0ODQKKworU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorLS0tCisgU1NMZWF5LnhzICAgICAgICAgICAgICAgICB8IDEyICsrKysrKysrKysrKworIHQvbG9jYWwvNDFfYWxwbl9zdXBwb3J0LnQgfCAgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvU1NMZWF5LnhzIGIvU1NMZWF5LnhzCitpbmRleCBjMzEzOTZkLi4xZmQ0ZmFiIDEwMDY0NAorLS0tIGEvU1NMZWF5LnhzCisrKysgYi9TU0xlYXkueHMKK0BAIC0xNDA5LDYgKzE0MDksOSBAQCBTU0xfQ1RYX3YyX25ldygpCisgI2VuZGlmCisgI2VuZGlmCisgCisrI2lmbmRlZiBPUEVOU1NMX05PX1NTTDMKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAwMDIwMDBMCisrCisgU1NMX0NUWCAqCisgU1NMX0NUWF92M19uZXcoKQorICAgICAgQ09ERToKK0BAIC0xNDE2LDYgKzE0MTksOSBAQCBTU0xfQ1RYX3YzX25ldygpCisgICAgICBPVVRQVVQ6CisgICAgICBSRVRWQUwKKyAKKysjZW5kaWYKKysjZW5kaWYKKysKKyBTU0xfQ1RYICoKKyBTU0xfQ1RYX3YyM19uZXcoKQorICAgICAgQ09ERToKK0BAIC0zNzU4LDkgKzM3NjQsMTUgQEAgU1NMdjJfbWV0aG9kKCkKKyAjZW5kaWYKKyAjZW5kaWYKKyAKKysjaWZuZGVmIE9QRU5TU0xfTk9fU1NMMworKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDAwMjAwMEwKKysKKyBjb25zdCBTU0xfTUVUSE9EICoKKyBTU0x2M19tZXRob2QoKQorIAorKyNlbmRpZgorKyNlbmRpZgorKworIGNvbnN0IFNTTF9NRVRIT0QgKgorIFRMU3YxX21ldGhvZCgpCisgCitkaWZmIC0tZ2l0IGEvdC9sb2NhbC80MV9hbHBuX3N1cHBvcnQudCBiL3QvbG9jYWwvNDFfYWxwbl9zdXBwb3J0LnQKK2luZGV4IGJhOTg0YjUuLjg3YTAyMTQgMTAwNjQ0CistLS0gYS90L2xvY2FsLzQxX2FscG5fc3VwcG9ydC50CisrKysgYi90L2xvY2FsLzQxX2FscG5fc3VwcG9ydC50CitAQCAtMTEsNyArMTEsNyBAQCB1c2UgQ29uZmlnOworIAorIEJFR0lOIHsKKyAgIHBsYW4gc2tpcF9hbGwgPT4gIm9wZW5zc2wgMS4wLjIgcmVxdWlyZWQiIHVubGVzcyBOZXQ6OlNTTGVheTo6U1NMZWF5ID49IDB4MTAwMDIwMDA7CistICBwbGFuIHNraXBfYWxsID0+ICJsaWJyZXNzbCBub3Qgc3VwcG9ydGVkIiBpZiAmTmV0OjpTU0xlYXk6OkxJQlJFU1NMX1ZFUlNJT05fTlVNQkVSOworKyAgcGxhbiBza2lwX2FsbCA9PiAibGlicmVzc2wgbm90IHN1cHBvcnRlZCIgaWYgZGVmaW5lZCAmTmV0OjpTU0xlYXk6OkxJQlJFU1NMX1ZFUlNJT05fTlVNQkVSOworICAgcGxhbiBza2lwX2FsbCA9PiAiZm9yaygpIG5vdCBzdXBwb3J0ZWQgb24gJF5PIiB1bmxlc3MgJENvbmZpZ3tkX2Zvcmt9OworIH0KKyAKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9maWxlcy9ydW4tcHRlc3QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2ZpbGVzL3J1bi1wdGVzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOWY5Y2E5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9maWxlcy9ydW4tcHRlc3QKQEAgLTAsMCArMSwxNiBAQAorIyEvYmluL3NoCisKK2ZvciBjYXNlIGluIGBmaW5kIHQgLXR5cGUgZiAtbmFtZSAnKi50J2A7IGRvCisgICAgcGVybCAkY2FzZSA+JGNhc2Uub3V0cHV0IDI+JjEKKyAgICByZXQ9JD8KKyAgICBjYXQgJGNhc2Uub3V0cHV0CisgICAgaWYgWyAkcmV0IC1uZSAwIF07IHRoZW4KKyAgICAgICAgZWNobyAiRkFJTDogJHtjYXNlJS50fSIKKyAgICBlbGlmIGdyZXAgLWkgJ1NLSVAnICRjYXNlLm91dHB1dDsgdGhlbgorICAgICAgICBlY2hvICJTS0lQOiAke2Nhc2UlLnR9IgorICAgIGVsc2UKKyAgICAgICAgZWNobyAiUEFTUzogJHtjYXNlJS50fSIKKyAgICBmaQorCisgICAgcm0gLWYgJGNhc2Uub3V0cHV0Citkb25lCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2xpYm5ldC1kbnMtcGVybF8wLjgxLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9saWJuZXQtZG5zLXBlcmxfMC44MS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZGM0MjY4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9saWJuZXQtZG5zLXBlcmxfMC44MS5iYgpAQCAtMCwwICsxLDI1IEBACitERVNDUklQVElPTiA9ICJUaGlzIHBhY2thZ2UgY29udGFpbnMgdGhlIEROUy5wbSBtb2R1bGUgd2l0aCBmcmllbmRzLiIKKworU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO21kNT01MjRkYTk2YTMzNjVmMmNhZmY3M2ZlYTBhZTY3YzNhMCIKKworREVQRU5EUyArPSAicGVybCIKKworU1JDX1VSSSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL0NQQU4vYXV0aG9ycy9pZC9OL05ML05MTkVUTEFCUy9OZXQtRE5TLSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjI2Mzc1ZDQzMTBiZWIxMDhiMGUyYjNiZjMwNDAzZWU1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImIzNmM4ZWFkNmVkZjY4ZGE1ZDlkZTJiMGEyMmE0N2Q3MjE2ZTJkN2ViNTJjOGNkZTk2NzI0OTg4ZjY4YTZkNDYiCisKK1MgPSAiJHtXT1JLRElSfS9OZXQtRE5TLSR7UFZ9IgorCitFWFRSQV9DUEFORkxBR1MgPSAiRVhQQVRMSUJQQVRIPSR7U1RBR0lOR19MSUJESVJ9IEVYUEFUSU5DUEFUSD0ke1NUQUdJTkdfSU5DRElSfSIKKworaW5oZXJpdCBjcGFuCisKK2RvX2NvbXBpbGUoKSB7CisJZXhwb3J0IExJQkM9IiQoZmluZCAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtiYXNlX2xpYmRpcn0vIC1uYW1lICdsaWJjLSouc28nKSIKKwljcGFuX2RvX2NvbXBpbGUKK30KK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9saWJuZXQtbGliaWRuLXBlcmwtMC4xMi9saWJpZG4td3ItY3Jvc3MtY29tcGlsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJuZXQvbGlibmV0LWxpYmlkbi1wZXJsLTAuMTIvbGliaWRuLXdyLWNyb3NzLWNvbXBpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjc5Y2FhMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJuZXQvbGlibmV0LWxpYmlkbi1wZXJsLTAuMTIvbGliaWRuLXdyLWNyb3NzLWNvbXBpbGUucGF0Y2gKQEAgLTAsMCArMSw0OSBAQAorcGVybC1OZXQtTGliSUROOiBjcm9zcy1jb21waWxlCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitBZGQgc3VwcG9ydCBmb3IgY3Jvc3MtY29tcGlsZSBhbGxvd2luZyB0aGUgY29tcGlsZXIgYmluYXJ5IHRvIGJlCitzcGVjaWZpZWQgaW50byB0aGUgcGVybCBNYWtlZmlsZSBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBkZWZhdWx0ICdnY2MnLgorCitTaWduZWQtb2ZmLWJ5OiBHcmVnIE1vZmZhdHQgPGdyZWcubW9mZmF0dEB3aW5kcml2ZXIuY29tPgorLS0tCisKKy0tLSBwZXJsLU5ldC1MaWJJRE4tMC4xMi5vcmlnL01ha2VmaWxlLlBMCTIwMDktMDItMjYgMDc6MDk6NDUuMDAwMDAwMDAwIC0wNTAwCisrKysgcGVybC1OZXQtTGliSUROLTAuMTIvTWFrZWZpbGUuUEwJMjAxMC0xMC0xOSAwOTozNDoyMi44MTExNzM5NjUgLTA0MDAKK0BAIC05LDYgKzksNyBAQAorIG15ICRvcHRpb25zOworIG15ICR0ZXN0bm89MTsKKyBteSAlTWFrZVBhcmFtcyA9IEluaXRNYWtlUGFyYW1zKCk7CisrbXkgJGNvbXBpbGVyOworIAorIFdyaXRlTWFrZWZpbGUoJU1ha2VQYXJhbXMpOworIAorQEAgLTQ0LDcgKzQ1LDggQEAKKyAJKAorIAkJIndpdGgtbGliaWRuPXMiID0+IFwkbGliZGlyLAorIAkJIndpdGgtbGliaWRuLWluYz1zIiA9PiBcJGluY2RpciwKKy0JCSJkaXNhYmxlLXRsZCIgPT4gXCRkaXNhYmxlX3RsZAorKwkJImRpc2FibGUtdGxkIiA9PiBcJGRpc2FibGVfdGxkLAorKwkJImNvbXBpbGVyPXMiID0+IFwkY29tcGlsZXIKKyAJKTsKKyAKKyAJaWYgKCRsaWJkaXIpCitAQCAtMTY1LDEyICsxNjcsMTcgQEAKKyAJCXJldHVybiAwOworIAl9CisgCistCWZvcmVhY2ggbXkgJGNjIChxdy9jYyBnY2MvKQorKwlmb3JlYWNoIG15ICRjYyAoJGNvbXBpbGVyLCBxdy9jYyBnY2MvKQorIAl7CisgCQl1bmxpbmsoJHRlc3QpOworIAkJc3lzdGVtICIkY2MgJGNmbGFncyAtbyAkdGVzdCAkdGVzdC5jICRsZGZsYWdzIjsKKyAJCW5leHQgaWYgKCQ/ID4+IDgpOworIAorKwkJaWYgKCRjb21waWxlciA9PSAkY2MpCisrCQl7CisrCQkJcmV0dXJuIDE7CisrCQl9CisrCisgCQlpZiAob3BlbihGSUxFLCAiLi8kdGVzdHwiKSkKKyAJCXsKKyAJCQlteSAkbWF0Y2g7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2xpYm5ldC1saWJpZG4tcGVybF8wLjEyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9saWJuZXQtbGliaWRuLXBlcmxfMC4xMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZDNmZjhkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9saWJuZXQtbGliaWRuLXBlcmxfMC4xMi5iYgpAQCAtMCwwICsxLDM0IEBACitTVU1NQVJZID0gIk5ldDo6TGliSUROIC0gUGVybCBiaW5kaW5ncyBmb3IgR05VIExpYmlkbiIKK0RFU0NSSVBUSU9OID0gIlwKK1Byb3ZpZGVzIGJpbmRpbmdzIGZvciBHTlUgTGliaWRuLCBhIEMgbGlicmFyeSBmb3IgaGFuZGxpbmcgSW50ZXJuYXRpb25hbGl6ZWQgXAorRG9tYWluIE5hbWVzIGFjY29yZGluZyB0byBJRE5BIChSRkMgMzQ5MCksIGluIGEgd2F5IHZlcnkgbXVjaCBpbnNwaXJlZCBieSBcCitUdXJibyBGcmVkcmlrc3NvbidzIFBIUC1JRE4uIFwKKyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMdjErIgorSE9NRVBBR0UgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9kaXN0L05ldC1MaWJJRE4vIgorREVQRU5EUyArPSAibGliaWRuIgorIyBXZSBtdXN0IG5lZWQgZ2xpYmMtZ2NvbnZzIHRvIGVuYWJsZSBjaGFyc2V0IHJlbGF0ZWQgZnVuY3Rpb25zLAorIyBzdWNoIGFzIE5ldDo6TGliSUROOjppZG5fdG9fYXNjaWkoKS4KK1JERVBFTkRTXyR7UE59ICs9ICJnbGliYy1nY29udnMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOL2F1dGhvcnMvaWQvVC9USC9USE9SL05ldC1MaWJJRE4tJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImMzZTRkZTIwNjUwMDlkNjdiY2IxZGYwYWZiNDczZTEyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJmOGFjYzk0NDJiMzg2NmVjN2RjNjNjZDQ0OWZjNjkzYWUzZTkzMGQ1ZDNlNWU5NDMwZmJiNmYzOTNiZGJiMTciCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9saWJpZG4td3ItY3Jvc3MtY29tcGlsZS5wYXRjaCIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT00MjtlbmRsaW5lPTkyO21kNT0zMzc0ZWEwMzY5Y2EzZWFkNjA0NzUyMDQ3N2E0MzE0NyIKKworUyA9ICIke1dPUktESVJ9L05ldC1MaWJJRE4tJHtQVn0iCisKK0VYVFJBX0NQQU5GTEFHUyA9ICItLXdpdGgtbGliaWRuPSR7U1RBR0lOR19MSUJESVJ9IC0td2l0aC1saWJpZG4taW5jPSR7U1RBR0lOR19JTkNESVJ9IC0tY29tcGlsZXI9JyR7Q0N9JyIKK0VYVFJBX0NQQU5GTEFHUyArPSAiLS1kaXNhYmxlLXRsZCIKKworaW5oZXJpdCBjcGFuCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3BlcmwvdmVuZG9yX3BlcmwvKi9hdXRvL05ldC9MaWJJRE4vLmRlYnVnLyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisJcm0gLXJmICR7U30vLnBjLworfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9saWJuZXQtc3NsZWF5LXBlcmxfMS42NS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJuZXQvbGlibmV0LXNzbGVheS1wZXJsXzEuNjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2ZkNmY1MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJuZXQvbGlibmV0LXNzbGVheS1wZXJsXzEuNjUuYmIKQEAgLTAsMCArMSw1MSBAQAorU1VNTUFSWSA9ICJOZXQ6OlNTTGVheSAtIFBlcmwgZXh0ZW5zaW9uIGZvciB1c2luZyBPcGVuU1NMIgorREVTQ1JJUFRJT04gPSAiVGhpcyBtb2R1bGUgb2ZmZXJzIHNvbWUgaGlnaCBsZXZlbCBjb252ZW5pZW5jZSBmdW5jdGlvbnMgZm9yIGFjY2Vzc2luZyBcCit3ZWIgcGFnZXMgb24gU1NMIHNlcnZlcnMgKGZvciBzeW1tZXRyeSwgc2FtZSBBUEkgaXMgb2ZmZXJlZCBmb3IgXAorYWNjZXNzaW5nIGh0dHAgc2VydmVycywgdG9vKSwgYSBzc2xjYXQoKSBmdW5jdGlvbiBmb3Igd3JpdGluZyB5b3VyIG93biBcCitjbGllbnRzLCBhbmQgZmluYWxseSBhY2Nlc3MgdG8gdGhlIFNTTCBhcGkgb2YgU1NMZWF5L09wZW5TU0wgcGFja2FnZSBcCitzbyB5b3UgY2FuIHdyaXRlIHNlcnZlcnMgb3IgY2xpZW50cyBmb3IgbW9yZSBjb21wbGljYXRlZCBhcHBsaWNhdGlvbnMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9kaXN0L05ldC1TU0xlYXkvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIk9wZW5TU0wiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTI3NDtlbmRsaW5lPTI5NDttZDU9NDlmNDE1OTg0YjM4N2JlOTk5ZWUyYWQwZTVjNjkyZmUiCisKK0RFUEVORFMgPSAib3BlbnNzbCB6bGliIgorUkRFUEVORFNfJHtQTn0gKz0gInBlcmwtbW9kdWxlLWNhcnAgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWVycm5vIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLW1pbWUtYmFzZTY0IFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1zb2NrZXQgXAorICAgICAgICAgICAgICAgICAgIgorCitTUkNfVVJJID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi9hdXRob3JzL2lkL00vTUkvTUlLRU0vTmV0LVNTTGVheS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1saWJuZXQtc3NsZWF5LXBlcmwtRGlzYWJsZS10ZXN0LXRoYXQtZmFpbHMtd2l0aC1vcGVuLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItUmVjZW50LTEuMC4yLWJldGFzLWhhdmUtZHJvcHBlZC10aGUtU1NMdjNfbWV0aG9kLWZ1bi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICIxOTYwMGMwMzZlOWUwYmJmYmY5MTU3ZjA4M2U0MDc1NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyZmIxMzcxMTIwYjg1ZjAxODk0NGQ5NTczNmMxMDcxNjNmMDRiYTU2YjYwMjljMDcwOWEyYzNkNjI0N2I5YzA2IgorCitTID0gIiR7V09SS0RJUn0vTmV0LVNTTGVheS0ke1BWfSIKKworaW5oZXJpdCBjcGFuIHB0ZXN0CisKK0VYVFJBX0NQQU5GTEFHUyA9ICJMSUJTPSctTD0ke1NUQUdJTkdfTElCRElSfSAtTD0ke1NUQUdJTkdfQkFTRUxJQkRJUn0nIFwKKyAgICAgICAgICAgICAgICAgICBJTkM9LUk9JHtTVEFHSU5HX0lOQ0RJUn0gXAorICAgICAgICAgICAgICAgICAgICdFWFRSQUxJQlM9LWxzc2wgLWxjcnlwdG8gLWx6JyBcCisgICAgICAgICAgICAgICAgICAgJ0xETE9BRExJQlM9LWxzc2wgLWxjcnlwdG8gLWx6JyBcCisgICAgICAgICAgICAgICAgICAiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIGV4cG9ydCBPUEVOU1NMX1BSRUZJWD0ke1NUQUdJTkdfRElSX05BVElWRX0ke3ByZWZpeF9uYXRpdmV9Cit9CisKK2RvX2luc3RhbGxfcHRlc3QoKSB7CisgICAgY3AgLXIgJHtCfS90ICR7RH0ke1BURVNUX1BBVEh9Cit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitGSUxFU18ke1BOfS1kYmcgPSsgIiR7bGliZGlyfS9wZXJsL3ZlbmRvcl9wZXJsLyovYXV0by9OZXQvU1NMZWF5Ly5kZWJ1Zy8iCisKK1JERVBFTkRTXyR7UE59LXB0ZXN0ID0gIiBwZXJsIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnByb2MvbGlicHJvYy13YWl0c3RhdC1wZXJsXzEuMDAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlicHJvYy9saWJwcm9jLXdhaXRzdGF0LXBlcmxfMS4wMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNTk5ZTYxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnByb2MvbGlicHJvYy13YWl0c3RhdC1wZXJsXzEuMDAuYmIKQEAgLTAsMCArMSwyMCBAQAorU1VNTUFSWSA9ICJJbnRlcnByZXQgYW5kIGFjdCBvbiB3YWl0KCkgc3RhdHVzIHZhbHVlcyIKK0RFU0NSSVBUSU9OID0gIlRoaXMgbW9kdWxlIGNvbnRhaW5zIGZ1bmN0aW9ucyBmb3IgaW50ZXJwcmV0aW5nIGFuZCBhY3RpbmcgXAorb24gd2FpdCBzdGF0dXMgdmFsdWVzLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9+cm9zY2gvUHJvYy1XYWl0U3RhdC8iCitTRUNUSU9OID0gImxpYnJhcmllcyIKKworTElDRU5TRSA9ICJBcnRpc3RpYy0xLjB8R1BMdjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT0yMTtlbmRsaW5lPTIzO21kNT1mMzY1NTBmNTlhMGFlNWU2ZTNiMGJlNmE0ZGE2MGQyNiIKKworUkRFUEVORFNfJHtQTn0gKz0gInBlcmwgbGliaXBjLXNpZ25hbC1wZXJsIgorCitTID0gIiR7V09SS0RJUn0vUHJvYy1XYWl0U3RhdC0ke1BWfSIKKworU1JDX1VSSSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL0NQQU4vYXV0aG9ycy9pZC9SL1JPL1JPU0NIL1Byb2MtV2FpdFN0YXQtJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiYjkxMWJkNTc5YjZiMTQyMzkxYjIxZGUxZWZhMzBjOTUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDA3NTYzZjVlNzg3OTA5ZDE2ZTczOTAyNDFlODc3ZjQ5YWI3MzliMWRlOWQwZTJlYTFhNDFiZDBiZjQ0NzRiYyIKKworaW5oZXJpdCBjcGFuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlicm9sZS9saWJyb2xlLXRpbnktcGVybF8yLjAwMDAwMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJyb2xlL2xpYnJvbGUtdGlueS1wZXJsXzIuMDAwMDAxLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4MzYwYzYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlicm9sZS9saWJyb2xlLXRpbnktcGVybF8yLjAwMDAwMS5iYgpAQCAtMCwwICsxLDI5IEBACitTVU1NQVJZID0gIlJvbGU6OlRpbnkgLSBSb2xlcy4gTGlrZSBhIG5vdXZlbGxlIGNvdXNpbmUgcG9ydGlvbiBzaXplIG9mIE1vb3NlLiIKK0RFU0NSSVBUSU9OID0gIlwiUm9sZTo6VGlueVwiIGlzIGEgbWluaW1hbGlzdCByb2xlIGNvbXBvc2l0aW9uIHRvb2wuIgorCitTRUNUSU9OID0gImxpYnMiCisKK0hPTUVQQUdFID0gImh0dHBzOi8vbWV0YWNwYW4ub3JnL3BvZC9Sb2xlOjpUaW55IgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT0xNzI7ZW5kbGluZT0yMDk7bWQ1PTI2ZGY3ZTdjMjA1NTFmYjE5MDZlMjI4NjYyNGYwYjcxIgorCitTUkNfVVJJID0gIiR7Q1BBTl9NSVJST1J9L2F1dGhvcnMvaWQvSC9IQS9IQUFSRy9Sb2xlLVRpbnktJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImYzNTBmMWY4YzEzNjUyYmY4NWRhMTcyMzgwYjM5ZWM4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjMxODgzNDEwYTdjODVkNmRjNzUwMWM3MThiMWY4M2VkYmEwMTNhN2I5YmJjY2YwMzM4YTEwMzNjMzkxZjI5NmQiCisKK1MgPSAiJHtXT1JLRElSfS9Sb2xlLVRpbnktJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitSREVQRU5EU18ke1BOfSA9ICIgcGVybC1tb2R1bGUtZXhwb3J0ZXIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXN0cmljdCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtdGVzdC1tb3JlIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS13YXJuaW5ncyBcCisiCisKK1JQUk9WSURFU18ke1BOfSA9ICIgbGlicm9sZS10aW55LXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJyb2xlLXRpbnktd2l0aC1wZXJsIFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlic3RyaWN0dXJlcy9saWJzdHJpY3R1cmVzLXBlcmxfMi4wMDAwMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlic3RyaWN0dXJlcy9saWJzdHJpY3R1cmVzLXBlcmxfMi4wMDAwMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTFhNmU1MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJzdHJpY3R1cmVzL2xpYnN0cmljdHVyZXMtcGVybF8yLjAwMDAwMi5iYgpAQCAtMCwwICsxLDQ1IEBACitTVU1NQVJZID0gInN0cmljdHVyZXMgLSB0dXJuIG9uIHN0cmljdCBhbmQgbWFrZSBhbGwgd2FybmluZ3MgZmF0YWwiCitERVNDUklQVElPTiA9ICJJJ3ZlIGJlZW4gd3JpdGluZyB0aGUgZXF1aXZhbGVudCBvZiB0aGlzIG1vZHVsZSBhdCB0aGUgdG9wIFwKK29mIG15IGNvZGUgZm9yIGFib3V0IGEgeWVhciBub3cuIEkgZmlndXJlZCBpdCB3YXMgdGltZSB0byBtYWtlIGl0IHNob3J0ZXIuIFwKK1wKK1RoaW5ncyBsaWtlIHRoZSBpbXBvcnRlciBpbiBcInVzZSBNb29zZVwiIGRvbid0IGhlbHAgbWUgYmVjYXVzZSB0aGV5IHR1cm4gXAord2FybmluZ3Mgb24gYnV0IGRvbid0IG1ha2UgdGhlbSBmYXRhbCAtLSB3aGljaCBmcm9tIG15IHBvaW50IG9mIHZpZXcgaXMgXAordXNlbGVzcyBiZWNhdXNlIEkgd2FudCBhbiBleGNlcHRpb24gdG8gdGVsbCBtZSBteSBjb2RlIGlzbid0IHdhcm5pbmdzLWNsZWFuLiBcCitcCitBbnkgdGltZSBJIHNlZSBhIHdhcm5pbmcgZnJvbSBteSBjb2RlLCB0aGF0IGluZGljYXRlcyBhIG1pc3Rha2UuIFwKK1wKK0FueSB0aW1lIG15IGNvZGUgZW5jb3VudGVycyBhIG1pc3Rha2UsIEkgd2FudCBhIGNyYXNoIC0tIG5vdCBzcGV3IHRvIFNUREVSUiBcCithbmQgdGhlbiB1bmtub3duIChhbmQgcHJvYmFibHkgdW5kZXNpcmVkKSBzdWJzZXF1ZW50IGJlaGF2aW91ci4gXAorXAorSSBhbHNvIHdhbnQgdG8gZW5zdXJlIHRoYXQgb2J2aW91cyBjb2RpbmcgbWlzdGFrZXMsIGxpa2UgaW5kaXJlY3Qgb2JqZWN0IFwKK3N5bnRheCAoYW5kIG5vdCBzbyBvYnZpb3VzIG1pc3Rha2VzIHRoYXQgY2F1c2UgdGhpbmdzIHRvIGFjY2lkZW50YWxseSBjb21waWxlIFwKK2FzIHN1Y2gpIGdldCBjYXVnaHQsIGJ1dCBub3QgYXQgdGhlIGNvc3Qgb2YgYW4gWFMgZGVwZW5kZW5jeSBhbmQgbm90IGF0IHRoZSBcCitjb3N0IG9mIGJsb3dpbmcgdGhpbmdzIHVwIG9uIGFub3RoZXIgbWFjaGluZS4gXAorXAorVGhlcmVmb3JlLCBcInN0cmljdHVyZXNcIiB0dXJucyBvbiBhZGRpdGlvbmFsIGNoZWNraW5nLCBidXQgb25seSB3aGVuIGl0IFwKK3RoaW5rcyBpdCdzIHJ1bm5pbmcgaW4gYSB0ZXN0IGZpbGUgaW4gYSBWQ1MgY2hlY2tvdXQgLS0gYWx0aG91Z2ggaWYgdGhpcyBcCitjYXVzZXMgdW5kZXNpcmVkIGJlaGF2aW91ciB0aGlzIGNhbiBiZSBvdmVycmlkZGVuIGJ5IHNldHRpbmcgdGhlIFwKK1BFUkxfU1RSSUNUVVJFU19FWFRSQSBlbnZpcm9ubWVudCB2YXJpYWJsZS4iCisKK1NFQ1RJT04gPSAibGlicyIKKworSE9NRVBBR0UgPSAiaHR0cHM6Ly9tZXRhY3Bhbi5vcmcvcG9kL3N0cmljdHVyZXMiCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTI0NjtlbmRsaW5lPTI2MjttZDU9NDNiZTU1OGNmNGYxOTgyM2NkZDZhZjIyMTM1Y2Y1ZjgiCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9IL0hBL0hBQVJHL3N0cmljdHVyZXMtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImZiMWZhZGE4MjYwOTkyYmM4NWUxMjZjMjFmZmNjNmQ1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjEzMDM1NWRjYjNhZmQ4YzNjODIxM2MyNGI5MjRlNzFkZWI3ZTFlMTE5N2RhOGY5MGM1YWUxOTE3NjZhYTQxMDAiCisKK1MgPSAiJHtXT1JLRElSfS9zdHJpY3R1cmVzLSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworUkRFUEVORFNfJHtQTn0gPSAiIHBlcmwtbW9kdWxlLWNhcnAgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXN0cmljdCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtdGVzdC1tb3JlIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS13YXJuaW5ncyBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnN1Yi9saWJzdWItZXhwb3J0ZXItcHJvZ3Jlc3NpdmUtcGVybF8wLjAwMTAxMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJzdWIvbGlic3ViLWV4cG9ydGVyLXByb2dyZXNzaXZlLXBlcmxfMC4wMDEwMTEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTJhMTMwNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJzdWIvbGlic3ViLWV4cG9ydGVyLXByb2dyZXNzaXZlLXBlcmxfMC4wMDEwMTEuYmIKQEAgLTAsMCArMSwzMCBAQAorU1VNTUFSWSA9ICJTdWI6OkV4cG9ydGVyOjpQcm9ncmVzc2l2ZSAtIE9ubHkgdXNlIFN1Yjo6RXhwb3J0ZXIgaWYgeW91IG5lZWQgaXQuIgorREVTQ1JJUFRJT04gPSAiXCJTdWI6OkV4cG9ydGVyXCIgaXMgYW4gaW5jcmVkaWJseSBwb3dlcmZ1bCBtb2R1bGUsIGJ1dCB3aXRoIFwKK3RoYXQgcG93ZXIgY29tZXMgZ3JlYXQgcmVzcG9uc2liaWxpdHksIGVyLSBhcyB3ZWxsIGFzIHNvbWUgcnVudGltZSBwZW5hbHRpZXMuIFwKK1RoaXMgbW9kdWxlIGlzIGEgXCJTdWI6OkV4cG9ydGVyXCIgd3JhcHBlciB0aGF0IHdpbGwgbGV0IHlvdXIgdXNlcnMganVzdCB1c2UgXAorXCJFeHBvcnRlclwiIGlmIGFsbCB0aGV5IGFyZSBkb2luZyBpcyBwaWNraW5nIGV4cG9ydHMsIGJ1dCB1c2UgXAorXCJTdWI6OkV4cG9ydGVyXCIgaWYgeW91ciB1c2VycyB0cnkgdG8gdXNlIFwiU3ViOjpFeHBvcnRlcidzXCIgbW9yZSBhZHZhbmNlZCBcCitmZWF0dXJlcywgbGlrZSByZW5hbWluZyBleHBvcnRzLCBpZiB0aGV5IHRyeSB0byB1c2UgdGhlbS4iCisKK1NFQ1RJT04gPSAibGlicyIKKworSE9NRVBBR0UgPSAiaHR0cHM6Ly9tZXRhY3Bhbi5vcmcvcG9kL1N1Yi1FeHBvcnRlci1Qcm9ncmVzc2l2ZS8iCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTUxO2VuZGxpbmU9NTM7bWQ1PWExNzFkMmU5Zjg2ODhhNDRlNWYxYjZkY2M2MjAyOWU2IgorCitERVBFTkRTXyR7UE59ID0gIiBwZXJsLW1vZHVsZS10ZXN0LW1vcmUiCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9GL0ZSL0ZSRVcvU3ViLUV4cG9ydGVyLVByb2dyZXNzaXZlLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJiYjUwYjNiYTE1Mzg5MDJiMTk3YzA0ODE4YTg0MjMwYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwNjE4YzZlNjljNmMwNTQwYzQxZTc1NjBkNTE5ODE0MDdhNmEwNzY4ZjEzMzBiZWY2ZDZhYzNjNmYxZmE3YzA2IgorCitTID0gIiR7V09SS0RJUn0vU3ViLUV4cG9ydGVyLVByb2dyZXNzaXZlLSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworUkRFUEVORFNfJHtQTn0gKz0gIiBwZXJsLW1vZHVsZS1jYXJwIFwKKyAgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtbGlzdC11dGlsIFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlidGVzdC9saWJ0ZXN0LWhhcm5lc3MtcGVybF8zLjM2LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnRlc3QvbGlidGVzdC1oYXJuZXNzLXBlcmxfMy4zNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZmI3ZTIyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnRlc3QvbGlidGVzdC1oYXJuZXNzLXBlcmxfMy4zNi5iYgpAQCAtMCwwICsxLDgwIEBACitTVU1NQVJZID0gIlRlc3Q6Okhhcm5lc3MgLSBSdW4gUGVybCBzdGFuZGFyZCB0ZXN0IHNjcmlwdHMgd2l0aCBzdGF0aXN0aWNzIgorREVTQ1JJUFRJT04gPSAiQWx0aG91Z2gsIGZvciBoaXN0b3JpY2FsIHJlYXNvbnMsIHRoZSBUZXN0OjpIYXJuZXNzIFwKK2Rpc3RyaWJ1dGlvbiB0YWtlcyBpdHMgbmFtZSBmcm9tIHRoaXMgbW9kdWxlIGl0IG5vdyBleGlzdHMgb25seSB0byBwcm92aWRlIFwKK1RBUDo6SGFybmVzcyB3aXRoIGFuIGludGVyZmFjZSB0aGF0IGlzIHNvbWV3aGF0IGJhY2t3YXJkcyBjb21wYXRpYmxlIFwKK3dpdGggVGVzdDo6SGFybmVzcyAyLnh4LiBJZiB5b3UncmUgd3JpdGluZyBuZXcgY29kZSBjb25zaWRlciB1c2luZyBcCitUQVA6Okhhcm5lc3MgZGlyZWN0bHkgaW5zdGVhZC4gXAorXCAKK0VtdWxhdGlvbiBpcyBwcm92aWRlZCBmb3IgcnVudGVzdHMgYW5kIGV4ZWN1dGVfdGVzdHMgYnV0IHRoZSBcCitwbHVnZ2FibGUgJ1N0cmFwcycgaW50ZXJmYWNlIHRoYXQgcHJldmlvdXMgdmVyc2lvbnMgb2YgVGVzdDo6SGFybmVzcyBcCitzdXBwb3J0ZWQgaXMgbm90IHJlcHJvZHVjZWQgaGVyZS4gU3RyYXBzIGlzIG5vdyBhdmFpbGFibGUgYXMgYSBzdGFuZCBcCithbG9uZSBtb2R1bGU6IFRlc3Q6Okhhcm5lc3M6OlN0cmFwcy4gXAorXAorU2VlIFRBUDo6UGFyc2VyLCBUQVA6Okhhcm5lc3MgZm9yIHRoZSBtYWluIGRvY3VtZW50YXRpb24gZm9yIHRoaXMgXAorZGlzdHJpYnV0aW9uLiIKKworU0VDVElPTiA9ICJsaWJzIgorCitIT01FUEFHRSA9ICJodHRwOi8vdGVzdGFueXRoaW5nLm9yZyIKKworTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9Mjk7ZW5kbGluZT0zMDttZDU9YjA4ZGI0MzYwZWVjMTE5ZTg3NWRkZGQ3Y2I4YTVkZGQiCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9ML0xFL0xFT05UL1Rlc3QtSGFybmVzcy0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiNGM4ZDljNzdlOGUwNmNhOTZjNzM4M2MwNWM4ZjM2MTYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTc1NjZmMTNiMDQxZDAyOGI1NmYxODRiNzdlYzI1NDVlYzZmMGJiNWEwZjhmNTM2OGY3ZTRhMDhiNDk2YjYzZSIKKworUyA9ICIke1dPUktESVJ9L1Rlc3QtSGFybmVzcy0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK1JQUk9WSURFU18ke1BOfSArPSAibGliYXBwLXByb3ZlLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJhcHAtcHJvdmUtc3RhdGUtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYmFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYmFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQtdGVzdC1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLWJhc2UtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1mb3JtYXR0ZXItYmFzZS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLWZvcm1hdHRlci1jb2xvci1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLWZvcm1hdHRlci1jb25zb2xlLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtZm9ybWF0dGVyLWNvbnNvbGUtcGFyYWxsZWxzZXNzaW9uLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtZm9ybWF0dGVyLWNvbnNvbGUtc2Vzc2lvbi1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLWZvcm1hdHRlci1maWxlLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtZm9ybWF0dGVyLWZpbGUtc2Vzc2lvbi1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLWZvcm1hdHRlci1zZXNzaW9uLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtaGFybmVzcy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLWhhcm5lc3MtZW52LXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtb2JqZWN0LXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLWFnZ3JlZ2F0b3ItcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItZ3JhbW1hci1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci1pdGVyYXRvci1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci1pdGVyYXRvci1hcnJheS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLWl0ZXJhdG9yLXN0cmVhbS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnktcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItbXVsdGlwbGV4ZXItcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItcmVzdWx0LXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc3Nlci1yZXN1bHQtYmFpbG91dC1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci1yZXN1bHQtY29tbWVudC1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci1yZXN1bHQtcGxhbi1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci1yZXN1bHQtcHJhZ21hLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLXJlc3VsdC10ZXN0LXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLXJlc3VsdC11bmtub3duLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLXJlc3VsdC12ZXJzaW9uLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLXJlc3VsdC15YW1sLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnktcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItc2NoZWR1bGVyLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLXNjaGVkdWxlci1qb2ItcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItc2NoZWR1bGVyLXNwaW5uZXItcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItc291cmNlLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItc291cmNlaGFuZGxlci1leGVjdXRhYmxlLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZmlsZS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXIteWFtbGlzaC1yZWFkZXItcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXIteWFtbGlzaC13cml0ZXItcGVybCBcCisgICAgICAgICAgICAgICAgICAgICIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlidGV4dC9saWJ0ZXh0LWRpZmYtcGVybF8xLjQxLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnRleHQvbGlidGV4dC1kaWZmLXBlcmxfMS40MS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNGMyNDZlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnRleHQvbGlidGV4dC1kaWZmLXBlcmxfMS40MS5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIlRleHQ6OkRpZmYgLSBQZXJmb3JtIGRpZmZzIG9uIGZpbGVzIGFuZCByZWNvcmQgc2V0cyIKK0RFU0NSSVBUSU9OID0gImRpZmYoKSBwcm92aWRlcyBhIGJhc2ljIHNldCBvZiBzZXJ2aWNlcyBha2luIHRvIHRoZSBHTlUgZGlmZiBcCit1dGlsaXR5LiBJdCBpcyBub3QgYW55d2hlcmUgbmVhciBhcyBmZWF0dXJlIGNvbXBsZXRlIGFzIEdOVSBkaWZmLCBidXQgaXQgaXMgXAorYmV0dGVyIGludGVncmF0ZWQgd2l0aCBQZXJsIGFuZCBhdmFpbGFibGUgb24gYWxsIHBsYXRmb3Jtcy4gSXQgaXMgb2Z0ZW4gXAorZmFzdGVyIHRoYW4gc2hlbGxpbmcgb3V0IHRvIGEgc3lzdGVtJ3MgZGlmZiBleGVjdXRhYmxlIGZvciBzbWFsbCBmaWxlcywgXAorYW5kIGdlbmVyYWxseSBzbG93ZXIgb24gbGFyZ2VyIGZpbGVzLiIKK1NFQ1RJT04gPSAibGlicyIKKworSE9NRVBBR0UgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9+b3ZpZC9UZXh0LURpZmYvIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0yLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9Mzg1YzU1NjUzODg2YWNhYzM4MjE5OTlhM2NjZDE3YjMiCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9PL09WL09WSUQvVGV4dC1EaWZmLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICIzMGQ1NmU2ZGQ1NTUxY2ExNmI4ZTE2Y2M3Mjk5ZGMyMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhNjdmNTBhNDhlMzEzYzE2ODBjYzY2MjEwOWNlNWY5MTNlYTcxNDU0ZGIzNTVkMGNmNGRiODdhYzg5ZDJkMmZhIgorCitTID0gIiR7V09SS0RJUn0vVGV4dC1EaWZmLSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworUkRFUEVORFNfJHtQTn0gPSAiIGxpYmFsZ29yaXRobS1kaWZmLXBlcmwgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZXhwb3J0ZXIgXAorIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ0ZXh0L2xpYnRleHQtaWNvbnYtcGVybF8xLjcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlidGV4dC9saWJ0ZXh0LWljb252LXBlcmxfMS43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzNGJlMDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlidGV4dC9saWJ0ZXh0LWljb252LXBlcmxfMS43LmJiCkBAIC0wLDAgKzEsMjQgQEAKK1NVTU1BUlkgPSAiUGVybCBpbnRlcmZhY2UgdG8gaWNvbnYoKSBjb2Rlc2V0IGNvbnZlcnNpb24gZnVuY3Rpb24iCitERVNDUklQVElPTiA9ICJcCitUaGUgVGV4dDo6SWNvbnYgbW9kdWxlIHByb3ZpZGVzIGEgUGVybCBpbnRlcmZhY2UgdG8gdGhlIGljb252KCkgXAorZnVuY3Rpb24gYXMgZGVmaW5lZCBieSB0aGUgU2luZ2xlIFVOSVggU3BlY2lmaWNhdGlvbi4gVGhlIGNvbnZlcnQoKSBcCittZXRob2QgY29udmVydHMgdGhlIGVuY29kaW5nIG9mIGNoYXJhY3RlcnMgaW4gdGhlIGlucHV0IHN0cmluZyBmcm9tIFwKK3RoZSBmcm9tY29kZSBjb2Rlc2V0IHRvIHRoZSB0b2NvZGUgY29kZXNldCwgYW5kIHJldHVybnMgdGhlIHJlc3VsdC4gXAorU2V0dGluZ3Mgb2YgZnJvbWNvZGUgYW5kIHRvY29kZSBhbmQgdGhlaXIgcGVybWl0dGVkIGNvbWJpbmF0aW9ucyBhcmUgXAoraW1wbGVtZW50YXRpb24tZGVwZW5kZW50LiBWYWxpZCB2YWx1ZXMgYXJlIHNwZWNpZmllZCBpbiB0aGUgc3lzdGVtIFwKK2RvY3VtZW50YXRpb24uIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9MztlbmRsaW5lPTY7bWQ1PWZhZGYyOTE5YzcxMjhlODg3ZDI2YjRkOTA1ZjkwNjQ5IgorUlJFQ09NTUVORFNfJHtQTn0gKz0gImdsaWJjLWdjb252cyIKKworU1JDX1VSSSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL0NQQU4vYXV0aG9ycy9pZC9NL01QL01QSU9UUi9UZXh0LUljb252LSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjgxYjI2ZTA2OWVhZWJiMDg0ZTkxZWEzYzAwOWI2N2FlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjViODBiN2Q1ZTcwOWQzNDM5M2JjYmE4ODk3MTg2NGExN2I0NGE1YmYwZjllNGJjZWUzODNkMDI5ZTdkMmQ1YzMiCisKK1MgPSAiJHtXT1JLRElSfS9UZXh0LUljb252LSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vcGVybC92ZW5kb3JfcGVybC8qL2F1dG8vVGV4dC9JY29udi8uZGVidWcvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnhtbC9saWJ4bWwtZmlsdGVyLWJ1ZmZlcnRleHQtcGVybF8xLjAxLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnhtbC9saWJ4bWwtZmlsdGVyLWJ1ZmZlcnRleHQtcGVybF8xLjAxLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3ZGQ2MTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlieG1sL2xpYnhtbC1maWx0ZXItYnVmZmVydGV4dC1wZXJsXzEuMDEuYmIKQEAgLTAsMCArMSwyNSBAQAorU1VNTUFSWSA9ICJYTUw6OkZpbHRlcjo6QnVmZmVyVGV4dCAtIEZpbHRlciB0byBwdXQgYWxsIGNoYXJhY3RlcnMoKSBpbiBvbmUgZXZlbnQiCitERVNDUklQVElPTiA9ICJcCitUaGUgWE1MOjpGaWx0ZXI6OkJ1ZmZlclRleHQgbW9kdWxlIGlzIGEgdmVyeSBzaW1wbGUgZmlsdGVyLiAgT25lIGNvbW1vbiBcCitjYXVzZSBvZiBncmllZiAoYW5kIHByb2dyYW1tZXIgZXJyb3IpIGlzIHRoYXQgWE1MIHBhcnNlcnMgYXJlbid0IHJlcXVpcmVkIFwKK3RvIHByb3ZpZGUgY2hhcmFjdGVyIGV2ZW50cyBpbiBvbmUgY2h1bmsuICBUaGV5IGNhbiwgYnV0IGFyZSBub3QgZm9yY2VkIFwKK3RvLCBhbmQgbW9zdCBkb24ndC4gIFRoaXMgZmlsdGVyIGRvZXMgdGhlIHRyaXZpYWwgYnV0IG9mdC1yZXBlYXRlZCB0YXNrIFwKK29mIHB1dHRpbmcgYWxsIGNoYXJhY3RlcnMgaW50byBhIHNpbmdsZSBldmVudC4gXAorIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEx2MSsiCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL2Rpc3QvWE1MLUZpbHRlci1CdWZmZXJUZXh0LyIKK0RFUEVORFMgKz0gImxpYnhtbC1zYXgtcGVybC1uYXRpdmUiCitSREVQRU5EU18ke1BOfSArPSAibGlieG1sLXNheC1wZXJsIgorCitTUkNfVVJJID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi9hdXRob3JzL2lkL1IvUkIvUkJFUkpPTi9YTUwtRmlsdGVyLUJ1ZmZlclRleHQtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjI5OTJjMDM4NzYzMjU4M2I5NjZhYjljOTY1YjI1NTEyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhmZDIxMjZkM2JlZWM1NTRkZjg1MjkxOWY0NzM5ZTY4OTIwMmNiYmE2YTE3NTA2ZTliNjZlYTE2NTg0MWE3NWMiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0J1ZmZlclRleHQucG07YmVnaW5saW5lPTg4O2VuZGxpbmU9OTA7bWQ1PTQ5N2FhNmQ3OWNjODRjM2Q3NjlhMmEwMDE2YmVlOTI4IgorCitTID0gIiR7V09SS0RJUn0vWE1MLUZpbHRlci1CdWZmZXJUZXh0LSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlieG1sL2xpYnhtbC1saWJ4bWwtcGVybC9kaXNhYmxlLWxpYnhtbDItY2hlY2sucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlieG1sL2xpYnhtbC1saWJ4bWwtcGVybC9kaXNhYmxlLWxpYnhtbDItY2hlY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYThlN2NjMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWxpYnhtbC1wZXJsL2Rpc2FibGUtbGlieG1sMi1jaGVjay5wYXRjaApAQCAtMCwwICsxLDc5IEBACitEbyBub3QgdXNlIHRoZSBfbGlieG1sX2NoZWNrX2xpYigpIG9uIGNyb3NzLWNvbXBpbGUKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXSAKKworeG1sMiBoYXZlIGJlZW4gYWRkZWQgaW50byBwYWNrYWdlJ3MgREVQRU5EUywgc28gbm90IG5lZWQgdG8gdXNlIHRoZQorX2xpYnhtbF9jaGVja19saWIoKSB0byBjaGVjayBpdCBhZ2FpbiwgYW5kIF9saWJ4bWxfY2hlY2tfbGliKCkgYWx3YXlzCityZXR1cm4gZmFsc2Ugb24gY3Jvc3MtY29tcGlsZSBlbnZpcm9ubWVudAorCitTaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBNYWtlZmlsZS5QTCB8ICAgNTIgKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLlBMIGIvTWFrZWZpbGUuUEwKK2luZGV4IGMwNDg1ZjEuLjA5YzY3NmIgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5QTAorKysrIGIvTWFrZWZpbGUuUEwKK0BAIC00MTEsMzIgKzQxMSwzMiBAQCBzdWIgX2xpYnhtbF9jaGVja19saWIgeworICAgICB9CisgfQorIAorLXByaW50ICJDaGVja2luZyBmb3IgYWJpbGl0eSB0byBsaW5rIGFnYWluc3QgeG1sMi4uLiI7CistaWYgKCBfbGlieG1sX2NoZWNrX2xpYigneG1sMicpICkgeworLSAgICBwcmludCAieWVzXG4iOworLX0KKy1lbHNlIHsKKy0gICAgcHJpbnQgIm5vXG4iOworLSAgICBwcmludCAiQ2hlY2tpbmcgZm9yIGFiaWxpdHkgdG8gbGluayBhZ2FpbnN0IGxpYnhtbDIuLi4iOworLSAgICBpZiAoIF9saWJ4bWxfY2hlY2tfbGliKCdsaWJ4bWwyJykpIHsKKy0gICAgICAgIHByaW50ICJ5ZXNcbiI7CistICAgIH0KKy0gICAgZWxzZSB7CistICAgICAgICBwcmludCBTVERFUlIgPDwiREVBVEgiOworLWxpYnhtbDIsIHpsaWIsIGFuZC9vciB0aGUgTWF0aCBsaWJyYXJ5ICgtbG0pIGhhdmUgbm90IGJlZW4gZm91bmQuCistVHJ5IHNldHRpbmcgTElCUyBhbmQgSU5DIHZhbHVlcyBvbiB0aGUgY29tbWFuZCBsaW5lCistT3IgZ2V0IGxpYnhtbDIgZnJvbQorLSAgaHR0cDovL3htbHNvZnQub3JnLworLUlmIHlvdSBpbnN0YWxsIHZpYSBSUE1zLCBtYWtlIHN1cmUgeW91IGFsc28gaW5zdGFsbCB0aGUgLWRldmVsCistUlBNcywgYXMgdGhpcyBpcyB3aGVyZSB0aGUgaGVhZGVycyAoLmggZmlsZXMpIGFyZS4KKy0KKy1BbHNvLCB5b3UgbWF5IHRyeSB0byBydW4gcGVybCBNYWtlZmlsZS5QTCB3aXRoIHRoZSBERUJVRz0xIHBhcmFtZXRlcgorLXRvIHNlZSB0aGUgZXhhY3QgcmVhc29uIHdoeSB0aGUgZGV0ZWN0aW9uIG9mIGxpYnhtbDIgaW5zdGFsbGF0aW9uCistZmFpbGVkIG9yIHdoeSBNYWtlZmlsZS5QTCB3YXMgbm90IGFibGUgdG8gY29tcGlsZSBhIHRlc3QgcHJvZ3JhbS4KKy1ERUFUSAorLSAgICAgICAgZXhpdCAwOyAjIDAgcmVjb21tZW5kZWQgYnkgaHR0cDovL2NwYW50ZXN0LmdyYW5nby5vcmcgKE5vdGVzIGZvciBDUEFOIEF1dGhvcnMpCistICAgIH0KKy19CisrI3ByaW50ICJDaGVja2luZyBmb3IgYWJpbGl0eSB0byBsaW5rIGFnYWluc3QgeG1sMi4uLiI7CisrI2lmICggX2xpYnhtbF9jaGVja19saWIoJ3htbDInKSApIHsKKysjICAgIHByaW50ICJ5ZXNcbiI7CisrI30KKysjZWxzZSB7CisrIyAgICBwcmludCAibm9cbiI7CisrIyAgICBwcmludCAiQ2hlY2tpbmcgZm9yIGFiaWxpdHkgdG8gbGluayBhZ2FpbnN0IGxpYnhtbDIuLi4iOworKyMgICAgaWYgKCBfbGlieG1sX2NoZWNrX2xpYignbGlieG1sMicpKSB7CisrIyAgICAgICAgcHJpbnQgInllc1xuIjsKKysjICAgIH0KKysjICAgIGVsc2UgeworKyMgICAgICAgIHByaW50IFNUREVSUiA8PCJERUFUSCI7CisrI2xpYnhtbDIsIHpsaWIsIGFuZC9vciB0aGUgTWF0aCBsaWJyYXJ5ICgtbG0pIGhhdmUgbm90IGJlZW4gZm91bmQuCisrI1RyeSBzZXR0aW5nIExJQlMgYW5kIElOQyB2YWx1ZXMgb24gdGhlIGNvbW1hbmQgbGluZQorKyNPciBnZXQgbGlieG1sMiBmcm9tCisrIyAgaHR0cDovL3htbHNvZnQub3JnLworKyNJZiB5b3UgaW5zdGFsbCB2aWEgUlBNcywgbWFrZSBzdXJlIHlvdSBhbHNvIGluc3RhbGwgdGhlIC1kZXZlbAorKyNSUE1zLCBhcyB0aGlzIGlzIHdoZXJlIHRoZSBoZWFkZXJzICguaCBmaWxlcykgYXJlLgorKyMKKysjQWxzbywgeW91IG1heSB0cnkgdG8gcnVuIHBlcmwgTWFrZWZpbGUuUEwgd2l0aCB0aGUgREVCVUc9MSBwYXJhbWV0ZXIKKysjdG8gc2VlIHRoZSBleGFjdCByZWFzb24gd2h5IHRoZSBkZXRlY3Rpb24gb2YgbGlieG1sMiBpbnN0YWxsYXRpb24KKysjZmFpbGVkIG9yIHdoeSBNYWtlZmlsZS5QTCB3YXMgbm90IGFibGUgdG8gY29tcGlsZSBhIHRlc3QgcHJvZ3JhbS4KKysjREVBVEgKKysjICAgICAgICBleGl0IDA7ICMgMCByZWNvbW1lbmRlZCBieSBodHRwOi8vY3BhbnRlc3QuZ3JhbmdvLm9yZyAoTm90ZXMgZm9yIENQQU4gQXV0aG9ycykKKysjICAgIH0KKysjfQorIAorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIworICMgX05PV18gd3JpdGUgdGhlIE1ha2VmaWxlCistLSAKKzEuNy4xMC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWxpYnhtbC1wZXJsL2ZpeC1DQVRBTE9HLWNvbmRpdGlvbmFsLWNvbXBpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlieG1sL2xpYnhtbC1saWJ4bWwtcGVybC9maXgtQ0FUQUxPRy1jb25kaXRpb25hbC1jb21waWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkZDlmYjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlieG1sL2xpYnhtbC1saWJ4bWwtcGVybC9maXgtQ0FUQUxPRy1jb25kaXRpb25hbC1jb21waWxlLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK1tQQVRDSF0gRml4IGEgY29tcGlsZSBlcnJvciAKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK0ZpeCBhIGNvbXBpbGUgZXJyb3IgYnkgY29uZGl0aW9uYWwgdXNpbmcgJ2NhdGFsJyBzaW5jZSBjYXRhbAoraXMgb25seSBkZWZpbmVkIHdoZW4gTElCWE1MX0NBVEFMT0dfRU5BQkxFRCBpcyBlbmFibGVkLgorCitTaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBMaWJYTUwueHMgfCAgICAyICsrCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvTGliWE1MLnhzIGIvTGliWE1MLnhzCitpbmRleCA2NmRhMDRiLi40NWRhNjgxIDEwMDY0NAorLS0tIGEvTGliWE1MLnhzCisrKysgYi9MaWJYTUwueHMKK0BAIC0yNzc3LDkgKzI3NzcsMTEgQEAgX2RlZmF1bHRfY2F0YWxvZyggc2VsZiwgY2F0YWxvZyApCisgICAgICAgICB4bWxDYXRhbG9nUHRyIGNhdGFsID0gSU5UMlBUUih4bWxDYXRhbG9nUHRyLFN2SVYoU3ZSVihjYXRhbG9nKSkpOworICNlbmRpZgorICAgICBJTklUOgorKyNpZmRlZiBMSUJYTUxfQ0FUQUxPR19FTkFCTEVECisgICAgICAgICBpZiAoIGNhdGFsID09IE5VTEwgKSB7CisgICAgICAgICAgICAgY3JvYWsoICJlbXB0eSBjYXRhbG9nXG4iICk7CisgICAgICAgICB9CisrI2VuZGlmCisgICAgIENPREU6CisgICAgICAgICB3YXJuKCAidGhpcyBmZWF0dXJlIGlzIG5vdCBpbXBsZW1lbnRlZCIgKTsKKyAgICAgICAgIFJFVFZBTCA9IDA7CistLSAKKzEuNy4xMC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWxpYnhtbC1wZXJsL3VzaW5nLURPQ0ItY29uZGl0aW9uYWwucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlieG1sL2xpYnhtbC1saWJ4bWwtcGVybC91c2luZy1ET0NCLWNvbmRpdGlvbmFsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyNTVlYzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlieG1sL2xpYnhtbC1saWJ4bWwtcGVybC91c2luZy1ET0NCLWNvbmRpdGlvbmFsLnBhdGNoCkBAIC0wLDAgKzEsOTEgQEAKK1tQQVRDSF0gRml4IGEgY29tcGlsZSBlcnJvciAKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK2J5IGNvbmRpdGlvbmFsIHVzaW5nICdYTUxfRE9DQl9ET0NVTUVOVF9OT0RFJyBzaW5jZSBpdCBpcyBvbmx5CitkZWZpbmVkIHdoZW4gTElCWE1MX0RPQ0JfRU5BQkxFRCBpcyBlbmFibGVkIGluIHhtbHZlcnNpb24uaC4KKworU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgTGliWE1MLnhzICAgICAgICB8ICAgIDkgKy0KKyBkb20uYyAgICAgICAgICAgIHwgICAgMiArCisgcGVybC1saWJ4bWwtbW0uYyB8ICAgIDQgKworIDQgZmlsZXMgY2hhbmdlZCwgNjc4IGluc2VydGlvbnMoKyksIDY1OCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL0xpYlhNTC54cyBiL0xpYlhNTC54cworaW5kZXggYjI5OWJhNC4uNjZkYTA0YiAxMDA2NDQKKy0tLSBhL0xpYlhNTC54cworKysrIGIvTGliWE1MLnhzCitAQCAtNTAyNiw3ICs1MDI2LDkgQEAgYWRkQ2hpbGQoIHNlbGYsIG5Ob2RlICkKKyAgICAgICAgICAgICBYU1JFVFVSTl9VTkRFRjsKKyAgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX05PREUgOgorICAgICAgICAgY2FzZSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFIDoKKysjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorICAgICAgICAgY2FzZSBYTUxfRE9DQl9ET0NVTUVOVF9OT0RFIDoKKysjZW5kaWYKKyAgICAgICAgICAgICBjcm9haygiYWRkQ2hpbGQ6IEhJRVJBUkNIWV9SRVFVRVNUX0VSUlxuIik7CisgICAgICAgICAgICAgWFNSRVRVUk5fVU5ERUY7CisgICAgICAgICBjYXNlIFhNTF9OT1RBVElPTl9OT0RFIDoKK0BAIC01Mjg2LDcgKzUyODgsOSBAQCBfdG9TdHJpbmdDMTROKHNlbGYsIGNvbW1lbnRzPTAsIHhwYXRoPSZQTF9zdl91bmRlZiwgZXhjbHVzaXZlPTAsIGluY19wcmVmaXhfbGlzdAorICAgICAgICAgaWYgKCBub2RlcGF0aCA9PSBOVUxMCisgICAgICAgICAgICAgICYmIHNlbGYtPnR5cGUgIT0gWE1MX0RPQ1VNRU5UX05PREUKKyAgICAgICAgICAgICAgJiYgc2VsZi0+dHlwZSAhPSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFCisrI2lmZGVmIExJQlhNTF9ET0NCX0VOQUJMRUQKKyAgICAgICAgICAgICAgJiYgc2VsZi0+dHlwZSAhPSBYTUxfRE9DQl9ET0NVTUVOVF9OT0RFCisrI2VuZGlmCisgICAgICAgICAgICApIHsKKyAgICAgICAgICAgICBpZiAoY29tbWVudHMpCisgCSAgICAgIG5vZGVwYXRoID0geG1sU3RyZHVwKCAoY29uc3QgeG1sQ2hhciAqKSAiKC4gfCAuLy9ub2RlKCkgfCAuLy9AKiB8IC4vL25hbWVzcGFjZTo6KikiICk7CitAQCAtNTI5Nyw3ICs1MzAxLDEwIEBAIF90b1N0cmluZ0MxNE4oc2VsZiwgY29tbWVudHM9MCwgeHBhdGg9JlBMX3N2X3VuZGVmLCBleGNsdXNpdmU9MCwgaW5jX3ByZWZpeF9saXN0CisgICAgICAgICBpZiAoIG5vZGVwYXRoICE9IE5VTEwgKSB7CisgICAgICAgICAgICAgaWYgKCBzZWxmLT50eXBlID09IFhNTF9ET0NVTUVOVF9OT0RFCisgICAgICAgICAgICAgICAgICB8fCBzZWxmLT50eXBlID09IFhNTF9IVE1MX0RPQ1VNRU5UX05PREUKKy0gICAgICAgICAgICAgICAgIHx8IHNlbGYtPnR5cGUgPT0gWE1MX0RPQ0JfRE9DVU1FTlRfTk9ERSApIHsKKysjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorKyAgICAgICAgICAgICAgICAgfHwgc2VsZi0+dHlwZSA9PSBYTUxfRE9DQl9ET0NVTUVOVF9OT0RFCisrI2VuZGlmCisrCSAgICApIHsKKyAgICAgICAgICAgICAgICAgcmVmTm9kZSA9IHhtbERvY0dldFJvb3RFbGVtZW50KCBzZWxmLT5kb2MgKTsKKyAgICAgICAgICAgICB9CisgCSAgICBpZiAoU3ZPSyh4cGF0aF9jb250ZXh0KSkgeworZGlmZiAtLWdpdCBhL2RvbS5jIGIvZG9tLmMKK2luZGV4IDg3ZWI2MWQuLmNiZDM5MWIgMTAwNjQ0CistLS0gYS9kb20uYworKysrIGIvZG9tLmMKK0BAIC02NTQsNyArNjU0LDkgQEAgZG9tTmFtZSh4bWxOb2RlUHRyIG5vZGUpIHsKKyAKKyAgICAgY2FzZSBYTUxfRE9DVU1FTlRfTk9ERSA6CisgICAgIGNhc2UgWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSA6CisrI2lmZGVmIExJQlhNTF9ET0NCX0VOQUJMRUQKKyAgICAgY2FzZSBYTUxfRE9DQl9ET0NVTUVOVF9OT0RFIDoKKysjZW5kaWYKKyAgICAgICAgIG5hbWUgPSAoY29uc3QgeG1sQ2hhciAqKSAiI2RvY3VtZW50IjsKKyAgICAgICAgIGJyZWFrOworIAorZGlmZiAtLWdpdCBhL3BlcmwtbGlieG1sLW1tLmMgYi9wZXJsLWxpYnhtbC1tbS5jCitpbmRleCBkMTYyYjA2Li43YWM1NDM2IDEwMDY0NAorLS0tIGEvcGVybC1saWJ4bWwtbW0uYworKysrIGIvcGVybC1saWJ4bWwtbW0uYworQEAgLTMzMSw3ICszMzEsOSBAQCBQbW1OZXdOb2RlKHhtbE5vZGVQdHIgbm9kZSkKKyAgICAgICAgIHN3aXRjaCAoIG5vZGUtPnR5cGUgKSB7CisgICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9OT0RFOgorICAgICAgICAgY2FzZSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFOgorKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECisgICAgICAgICBjYXNlIFhNTF9ET0NCX0RPQ1VNRU5UX05PREU6CisrI2VuZGlmCisgICAgICAgICAgICAgcHJveHkgPSAoUHJveHlOb2RlUHRyKXhtbE1hbGxvYyhzaXplb2Yoc3RydWN0IF9Eb2NQcm94eU5vZGUpKTsKKyAgICAgICAgICAgICBpZiAocHJveHkgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAoKERvY1Byb3h5Tm9kZVB0cilwcm94eSktPnBzdmlfc3RhdHVzID0gUG1tX05PX1BTVkk7CitAQCAtNTUwLDcgKzU1Miw5IEBAIFBtbU5vZGVUb1N2KCB4bWxOb2RlUHRyIG5vZGUsIFByb3h5Tm9kZVB0ciBvd25lciApCisgICAgICAgICBzd2l0Y2ggKCBub2RlLT50eXBlICkgeworICAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfTk9ERToKKyAgICAgICAgIGNhc2UgWE1MX0hUTUxfRE9DVU1FTlRfTk9ERToKKysjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorICAgICAgICAgY2FzZSBYTUxfRE9DQl9ET0NVTUVOVF9OT0RFOgorKyNlbmRpZgorICAgICAgICAgICAgIGlmICggKCh4bWxEb2NQdHIpbm9kZSktPmVuY29kaW5nICE9IE5VTEwgKSB7CisgICAgICAgICAgICAgICAgIFNldFBtbUVOQ09ESU5HKGRmUHJveHksIChpbnQpeG1sUGFyc2VDaGFyRW5jb2RpbmcoIChjb25zdCBjaGFyKikoKHhtbERvY1B0cilub2RlKS0+ZW5jb2RpbmcgKSk7CisgICAgICAgICAgICAgfQorLS0gCisxLjcuMTAuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlieG1sL2xpYnhtbC1saWJ4bWwtcGVybF8yLjAxMjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlieG1sL2xpYnhtbC1saWJ4bWwtcGVybF8yLjAxMjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODk5N2EwNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWxpYnhtbC1wZXJsXzIuMDEyMS5iYgpAQCAtMCwwICsxLDQzIEBACitTVU1NQVJZID0gIlBlcmwgaW50ZXJmYWNlIHRvIHRoZSBsaWJ4bWwyIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJUaGlzIG1vZHVsZSBpcyBhbiBpbnRlcmZhY2UgdG8gbGlieG1sMiwgcHJvdmlkaW5nIFhNTCBhbmQgSFRNTCBwYXJzZXJzIFwgCit3aXRoIERPTSwgU0FYIGFuZCBYTUxSZWFkZXIgaW50ZXJmYWNlcywgYSBsYXJnZSBzdWJzZXQgb2YgRE9NIExheWVyIDMgXAoraW50ZXJmYWNlIGFuZCBhIFhNTDo6WFBhdGgtbGlrZSBpbnRlcmZhY2UgdG8gWFBhdGggQVBJIG9mIGxpYnhtbDIuIFwKK1RoZSBtb2R1bGUgaXMgc3BsaXQgaW50byBzZXZlcmFsIHBhY2thZ2VzIHdoaWNoIGFyZSBub3QgZGVzY3JpYmVkIGluIHRoaXMgXAorc2VjdGlvbjsgdW5sZXNzIHN0YXRlZCBvdGhlcndpc2UsIHlvdSBvbmx5IG5lZWQgdG8gdXNlIFhNTDo6TGliWE1MOyBpbiBcCit5b3VyIHByb2dyYW1zLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9kaXN0L1hNTC1MaWJYTUwtMS45OS8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkFydGlzdGljLTEuMHxHUEx2MSsiCitERVBFTkRTICs9ICJsaWJ4bWwyIFwKKyAgICAgICAgbGlieG1sLXNheC1wZXJsLW5hdGl2ZSBcCisgICAgICAgIHpsaWIgXAorIgorUkRFUEVORFNfJHtQTn0gKz0gImxpYnhtbDIgXAorICAgICAgICBsaWJ4bWwtc2F4LXBlcmwgXAorICAgICAgICBsaWJ4bWwtc2F4LWJhc2UtcGVybCBcCisgICAgICAgIHpsaWIgXAorIgorCitTUkNfVVJJID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi9hdXRob3JzL2lkL1MvU0gvU0hMT01JRi9YTUwtTGliWE1MLSR7UFZ9LnRhci5nejtuYW1lPWxpYnhtbCBcCisJZmlsZTovL2Rpc2FibGUtbGlieG1sMi1jaGVjay5wYXRjaCBcCisJZmlsZTovL2ZpeC1DQVRBTE9HLWNvbmRpdGlvbmFsLWNvbXBpbGUucGF0Y2ggXAorCWZpbGU6Ly91c2luZy1ET0NCLWNvbmRpdGlvbmFsLnBhdGNoIFwKKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RlYmlhbi9jb3B5cmlnaHQ7bWQ1PTc1ZTAyMWUzNWE5MDYzNDdmNDZjOWZmMTYzNjUzZTJhIFwKKwkJCWZpbGU6Ly9MSUNFTlNFO21kNT05Nzg3MWJkZTE1MGRhZWI1ZTYxYWQ5NTEzN2ZmMjQ0NiIKK1NSQ19VUklbbGlieG1sLm1kNXN1bV0gPSAiMTU0NGFiOWFjMTEwZjVkYTI5NjAxNTM0NjU2MWNlMDIiCitTUkNfVVJJW2xpYnhtbC5zaGEyNTZzdW1dID0gImVjNDMxMDExY2IzN2EwNDY0MGZkMjMxNmY2NGQwNDA1YTI3NGVlY2UyYzZmMzg0N2Y3ZmJkMzM2ZWIxYzBkYzkiCisKK1MgPSAiJHtXT1JLRElSfS9YTUwtTGliWE1MLSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworRVhUUkFfQ1BBTkZMQUdTID0gIklOQz0tSSR7U1RBR0lOR19JTkNESVJ9L2xpYnhtbDIgTElCUz0tTCR7U1RBR0lOR19MSUJESVJ9IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworQ0ZMQUdTICs9ICIgLURfR05VX1NPVVJDRSAiCitCVUlMRF9DRkxBR1MgKz0gIiAtRF9HTlVfU09VUkNFICIKKworRklMRVNfJHtQTn0tZGJnID0rICIke2xpYmRpcn0vcGVybC92ZW5kb3JfcGVybC8qL2F1dG8vWE1ML0xpYlhNTC8uZGVidWcvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnhtbC9saWJ4bWwtc2F4LXdyaXRlci1wZXJsXzAuNTYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlieG1sL2xpYnhtbC1zYXgtd3JpdGVyLXBlcmxfMC41Ni5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NjFjZWRhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnhtbC9saWJ4bWwtc2F4LXdyaXRlci1wZXJsXzAuNTYuYmIKQEAgLTAsMCArMSwyNSBAQAorU1VNTUFSWSA9ICJYTUw6OlNBWDo6V3JpdGVyIC0gU0FYMiBXcml0ZXIiCitERVNDUklQVElPTiA9ICJcCitYTUw6OlNBWDo6V3JpdGVyIGhlbHBzIHRvIHNlcmlhbGl6ZSBTQVgyIHJlcHJlc2VudGF0aW9ucyBvZiBYTUwgZG9jdW1lbnRzIHRvIFwKK3N0cmluZ3MsIGZpbGVzLCBhbmQgb3RoZXIgZmxhdCByZXByZXNlbnRhdGlvbnMuIEl0IGhhbmRsZXMgY2hhcnNldCBlbmNvZGluZ3MsIFwKK1hNTCBlc2NhcGluZyBjb252ZW50aW9ucywgYW5kIHNvIGZvcnRoLiBJdCBpcyBzdGlsbCBjb25zaWRlcmVkIGFscGhhLCBcCithbHRob3VnaCBpdCBoYXMgYmVlbiBwdXQgdG8gbGltaXRlZCB1c2UgaW4gc2V0dGluZ3Mgc3VjaCBhcyBYTUw6OkxpYlhNTCBhbmQgXAordGhlIEF4S2l0IFhNTCBBcHBsaWNhdGlvbiBTZXJ2ZXIuIFwKKyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMdjErIgorSE9NRVBBR0UgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9kaXN0L1hNTC1TQVgtV3JpdGVyLyIKK0RFUEVORFMgKz0gImxpYnhtbC1maWx0ZXItYnVmZmVydGV4dC1wZXJsLW5hdGl2ZSIKK1JERVBFTkRTXyR7UE59ICs9ICJsaWJ4bWwtZmlsdGVyLWJ1ZmZlcnRleHQtcGVybCIKKworU1JDX1VSSSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL0NQQU4vYXV0aG9ycy9pZC9QL1BFL1BFUklHUklOL1hNTC1TQVgtV3JpdGVyLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlNWZhNWUyYjJmNjg2N2IxYWNhOWI1YjQzZTFjZTM2MSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkMDczZjdhMjUwNzJjODE1MDMxN2I4NmI5OWQwNzAzMTMxNmExNWJmZmFiOTllNjNlNWFmZTU5MWM4MjE3ZDAzIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTQ1O2VuZGxpbmU9NDY7bWQ1PWQ0MWQ4Y2Q5OGYwMGIyMDRlOTgwMDk5OGVjZjg0MjdlIgorCitTID0gIiR7V09SS0RJUn0vWE1MLVNBWC1Xcml0ZXItJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vQ09QWUlORy5NSVQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL0NPUFlJTkcuTUlUCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiOTUwZGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL0NPUFlJTkcuTUlUCkBAIC0wLDAgKzEsMTcgQEAKK1Blcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgCitvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCAKK2luIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgCit0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIAorY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIAorZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKworVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gCithbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKworVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IgCitJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgCitGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgCitBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIAorTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgCitPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIAorVEhFIFNPRlRXQVJFLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9SRUFETUUgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL1JFQURNRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNmU3NmJmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9SRUFETUUKQEAgLTAsMCArMSw1MSBAQAorbWV0YS1weXRob24KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK0ludHJvZHVjdGlvbgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGlzIGxheWVyIGlzIGludGVuZGVkIHRvIGJlIHRoZSBob21lIG9mIHB5dGhvbiBtb2R1bGVzIGZvciBPcGVuRW1iZWRkZWQuCitNb2R1bGVzIGluIHRoaXMgbGF5ZXIgbmVlZCB0byBiZSBpbmRlcGVuZGVudCBvZiBvcGVuZW1iZWRkZWQtY29yZSBhbmQKK21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UuIEJlY2F1c2Ugb2YgdGhpcywgbW9kdWxlcyByZXF1aXJlZCBieSAnZ2F0ZW9uZScKK2FuZCAnYW5raScgYXJlIG5vdCBpbmNsdWRlZCBhbmQgcmVtYWluIGluOgorICAgICAgICBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uLgorCitEZXBlbmRlbmNpZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhlIG1ldGEtcHl0aG9uIGxheWVyIGRlcGVuZHMgb246CisKKwlVUkk6IGdpdDovL2dpdC5vcGVuZW1iZWRkZWQub3JnL29wZW5lbWJlZGRlZC1jb3JlCisJbGF5ZXJzOiBtZXRhCisJYnJhbmNoOiBrcm9nb3RoIAorCXJldmlzaW9uOiBIRUFECisKKwlVUkk6IGdpdDovL2dpdC5vcGVuZW1iZWRkZWQub3JnL21ldGEtb3BlbmVtYmVkZGVkCisJbGF5ZXJzOiBtZXRhLW9lCisJYnJhbmNoOiAga3JvZ290aAorCXJldmlzaW9uOiBIRUFECisKK1BsZWFzZSBmb2xsb3cgdGhlIHJlY29tbWVuZGVkIHNldHVwIHByb2NlZHVyZXMgb2YgeW91ciBPRSBkaXN0cmlidXRpb24uCitGb3IgQW5nc3Ryb20gdGhhdCBpczoKKyAgICAgICAgaHR0cDovL3d3dy5hbmdzdHJvbS1kaXN0cmlidXRpb24ub3JnL2J1aWxkaW5nLWFuZ3N0cm9tLAorb3RoZXIgZGlzdHJvcyBzaG91bGQgaGF2ZSBzaW1pbGFyIG9ubGluZSByZXNvdXJjZXMuCisKK0NvbnRyaWJ1dGluZworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGUgbWV0YS1vcGVuZW1iZWRkZWQgbWFpbGluZ2xpc3QKKyhvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZykgaXMgdXNlZCBmb3IgcXVlc3Rpb25zLAorY29tbWVudHMgYW5kIHBhdGNoIHJldmlldy4gSXQgaXMgc3Vic2NyaWJlciBvbmx5LCBzbyBwbGVhc2UgcmVnaXN0ZXIKK2JlZm9yZSBwb3N0aW5nLgorCitTZW5kIHB1bGwgcmVxdWVzdHMgdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgd2l0aAorJ1ttZXRhLXB5dGhvbl1ba3JvZ290aF0nIGluIHRoZSBzdWJqZWN0LgorCitXaGVuIHNlbmRpbmcgc2luZ2xlIHBhdGNoZXMsIHBsZWFzZSB1c2Ugc29tZXRoaW5nIGxpa2U6IAorJ2dpdCBzZW5kLWVtYWlsIC1NIC0xIC0tdG89b3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgLS1zdWJqZWN0LXByZWZpeD1tZXRhLXB5dGhvbl1ba3JvZ290aF1bUEFUQ0gnCisKK01haW50ZW5hbmNlCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK2tyb2dvdGggQnJhbmNoIE1haW50YWluZXI6CitBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9jbGFzc2VzL3B5cGkuYmJjbGFzcyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vY2xhc3Nlcy9weXBpLmJiY2xhc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjU5ZTFjMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vY2xhc3Nlcy9weXBpLmJiY2xhc3MKQEAgLTAsMCArMSwyMyBAQAorZGVmIHB5cGlfcGFja2FnZShkKToKKyAgICBicG4gPSBkLmdldFZhcignQlBOJywgVHJ1ZSkKKyAgICBpZiBicG4uc3RhcnRzd2l0aCgncHl0aG9uLScpOgorICAgICAgICByZXR1cm4gYnBuWzc6XQorICAgIGVsaWYgYnBuLnN0YXJ0c3dpdGgoJ3B5dGhvbjMtJyk6CisgICAgICAgIHJldHVybiBicG5bODpdCisgICAgcmV0dXJuIGJwbgorCitQWVBJX1BBQ0tBR0UgPz0gIiR7QHB5cGlfcGFja2FnZShkKX0iCitQWVBJX1BBQ0tBR0VfRVhUID89ICJ0YXIuZ3oiCisKK2RlZiBweXBpX3NyY191cmkoZCk6CisgICAgcGFja2FnZSA9IGQuZ2V0VmFyKCdQWVBJX1BBQ0tBR0UnLCBUcnVlKQorICAgIHBhY2thZ2VfZXh0ID0gZC5nZXRWYXIoJ1BZUElfUEFDS0FHRV9FWFQnLCBUcnVlKQorICAgIHB2ID0gZC5nZXRWYXIoJ1BWJywgVHJ1ZSkKKyAgICByZXR1cm4gJ2h0dHBzOi8vcHlwaS5weXRob24ub3JnL3BhY2thZ2VzL3NvdXJjZS8lcy8lcy8lcy0lcy4lcycgJSAocGFja2FnZVswXSwgcGFja2FnZSwgcGFja2FnZSwgcHYsIHBhY2thZ2VfZXh0KQorCitQWVBJX1NSQ19VUkkgPz0gIiR7QHB5cGlfc3JjX3VyaShkKX0iCisKK0hPTUVQQUdFID89ICJodHRwczovL3B5cGkucHl0aG9uLm9yZy9weXBpLyR7UFlQSV9QQUNLQUdFfS8iCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK1NSQ19VUkkgKz0gIiR7UFlQSV9TUkNfVVJJfSIKK1MgPSAiJHtXT1JLRElSfS8ke1BZUElfUEFDS0FHRX0tJHtQVn0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL2NvbmYvbGF5ZXIuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vY29uZi9sYXllci5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1MzY3N2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL2NvbmYvbGF5ZXIuY29uZgpAQCAtMCwwICsxLDE3IEBACisjIFdlIG1pZ2h0IGhhdmUgYSBjb25mIGFuZCBjbGFzc2VzIGRpcmVjdG9yeSwgYXBwZW5kIHRvIEJCUEFUSAorQkJQQVRIIC49ICI6JHtMQVlFUkRJUn0iCisKKyMgV2UgaGF2ZSByZWNpcGVzIGRpcmVjdG9yaWVzLCBhZGQgdG8gQkJGSUxFUworQkJGSUxFUyArPSAiJHtMQVlFUkRJUn0vcmVjaXBlcyovKi8qLmJiICR7TEFZRVJESVJ9L3JlY2lwZXMqLyovKi5iYmFwcGVuZCIKKworQkJGSUxFX0NPTExFQ1RJT05TICs9ICJtZXRhLXB5dGhvbiIKK0JCRklMRV9QQVRURVJOX21ldGEtcHl0aG9uIDo9ICJeJHtMQVlFUkRJUn0vIgorQkJGSUxFX1BSSU9SSVRZX21ldGEtcHl0aG9uID0gIjciCisKKyMgVGhpcyBzaG91bGQgb25seSBiZSBpbmNyZW1lbnRlZCBvbiBzaWduaWZpY2FudCBjaGFuZ2VzIHRoYXQgd2lsbAorIyBjYXVzZSBjb21wYXRpYmlsaXR5IGlzc3VlcyB3aXRoIG90aGVyIGxheWVycworTEFZRVJWRVJTSU9OX21ldGEtcHl0aG9uID0gIjEiCisKK0xBWUVSREVQRU5EU19tZXRhLXB5dGhvbiA9ICJjb3JlIG9wZW5lbWJlZGRlZC1sYXllciIKKworTElDRU5TRV9QQVRIICs9ICIke0xBWUVSRElSfS9saWNlbnNlcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vbGljZW5zZXMvVW5pY29kZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vbGljZW5zZXMvVW5pY29kZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZDJjYzRhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9saWNlbnNlcy9Vbmljb2RlCkBAIC0wLDAgKzEsMzcgQEAKK0NPUFlSSUdIVCBBTkQgUEVSTUlTU0lPTiBOT1RJQ0UKKworQ29weXJpZ2h0IDE5OTEtMjAxNSBVbmljb2RlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCitEaXN0cmlidXRlZCB1bmRlciB0aGUgVGVybXMgb2YgVXNlIGluCitodHRwOi8vd3d3LnVuaWNvZGUub3JnL2NvcHlyaWdodC5odG1sLgorCitQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcKK2EgY29weSBvZiB0aGUgVW5pY29kZSBkYXRhIGZpbGVzIGFuZCBhbnkgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uCisodGhlICJEYXRhIEZpbGVzIikgb3IgVW5pY29kZSBzb2Z0d2FyZSBhbmQgYW55IGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbgorKHRoZSAiU29mdHdhcmUiKSB0byBkZWFsIGluIHRoZSBEYXRhIEZpbGVzIG9yIFNvZnR3YXJlCit3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLAorY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgYW5kL29yIHNlbGwgY29waWVzIG9mCit0aGUgRGF0YSBGaWxlcyBvciBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIERhdGEgRmlsZXMKK29yIFNvZnR3YXJlIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHByb3ZpZGVkIHRoYXQKKyhhKSB0aGlzIGNvcHlyaWdodCBhbmQgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyIHdpdGggYWxsIGNvcGllcworb2YgdGhlIERhdGEgRmlsZXMgb3IgU29mdHdhcmUsCisoYikgdGhpcyBjb3B5cmlnaHQgYW5kIHBlcm1pc3Npb24gbm90aWNlIGFwcGVhciBpbiBhc3NvY2lhdGVkCitkb2N1bWVudGF0aW9uLCBhbmQKKyhjKSB0aGVyZSBpcyBjbGVhciBub3RpY2UgaW4gZWFjaCBtb2RpZmllZCBEYXRhIEZpbGUgb3IgaW4gdGhlIFNvZnR3YXJlCithcyB3ZWxsIGFzIGluIHRoZSBkb2N1bWVudGF0aW9uIGFzc29jaWF0ZWQgd2l0aCB0aGUgRGF0YSBGaWxlKHMpIG9yCitTb2Z0d2FyZSB0aGF0IHRoZSBkYXRhIG9yIHNvZnR3YXJlIGhhcyBiZWVuIG1vZGlmaWVkLgorCitUSEUgREFUQSBGSUxFUyBBTkQgU09GVFdBUkUgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YKK0FOWSBLSU5ELCBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFCitXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5ECitOT05JTkZSSU5HRU1FTlQgT0YgVEhJUkQgUEFSVFkgUklHSFRTLgorSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgSE9MREVSUyBJTkNMVURFRCBJTiBUSElTCitOT1RJQ0UgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIE9SIEFOWSBTUEVDSUFMIElORElSRUNUIE9SIENPTlNFUVVFTlRJQUwKK0RBTUFHRVMsIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsCitEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSCitUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SCitQRVJGT1JNQU5DRSBPRiBUSEUgREFUQSBGSUxFUyBPUiBTT0ZUV0FSRS4KKworRXhjZXB0IGFzIGNvbnRhaW5lZCBpbiB0aGlzIG5vdGljZSwgdGhlIG5hbWUgb2YgYSBjb3B5cmlnaHQgaG9sZGVyCitzaGFsbCBub3QgYmUgdXNlZCBpbiBhZHZlcnRpc2luZyBvciBvdGhlcndpc2UgdG8gcHJvbW90ZSB0aGUgc2FsZSwKK3VzZSBvciBvdGhlciBkZWFsaW5ncyBpbiB0aGVzZSBEYXRhIEZpbGVzIG9yIFNvZnR3YXJlIHdpdGhvdXQgcHJpb3IKK3dyaXR0ZW4gYXV0aG9yaXphdGlvbiBvZiB0aGUgY29weXJpZ2h0IGhvbGRlci4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvZ2F0ZW9uZS9nYXRlb25lLzgwb2UuY29uZi5pbiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvZ2F0ZW9uZS9nYXRlb25lLzgwb2UuY29uZi5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTAzZGE0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9nYXRlb25lL2dhdGVvbmUvODBvZS5jb25mLmluCkBAIC0wLDAgKzEsMjQgQEAKKy8vIFNvbWUgY3VzdG9tIEdhdGUgT25lIHNldHRpbmdzIGZvciBPcGVuRW1iZWRkZWQKK3sKKyAgICAiKiI6IHsKKyAgICAgICAgImdhdGVvbmUiOiB7IC8vIFRoZXNlIHNldHRpbmdzIGFwcGx5IHRvIGFsbCBvZiBHYXRlIE9uZQorICAgICAgICAgICAgImxvZ19maWxlX3ByZWZpeCI6ICJAbG9jYWxzdGF0ZUAvbG9nL2dhdGVvbmUubG9nIiwgLy8gZGVmYXVsdCB3b3VsZCBiZSAvdmFyL2xvZy9nYXRlb25lL2dhdGVvbmUubG9nCisgICAgICAgICAgICAibG9nX2ZpbGVfbWF4X3NpemUiOiA1MjQyODgwLCAvLyA1IG1lZ2FieXRlIGxvZ3MgZm9yIE9FIGJ5IGRlZmF1bHQgKGRlZmF1bHQgd291bGQgbm9ybWFsbHkgYmUgMTAwTWIpCisgICAgICAgICAgICAibG9nX2ZpbGVfbnVtX2JhY2t1cHMiOiAyLCAvLyBEZWZhdWx0IGlzIG5vcm1hbGx5IDEwCisgICAgICAgICAgICAib3JpZ2lucyI6IFsiKiJdLCAvLyBFdmVyeSBkZXZpY2UgaGFzIGEgdW5pcXVlIG9yaWdpbgorICAgICAgICAgICAgImxvZ2dpbmciOiAiaW5mbyIsCisgICAgICAgICAgICAicGlkX2ZpbGUiOiAiL3J1bi9nYXRlb25lLnBpZCIsCisgICAgICAgICAgICAic2Vzc2lvbl9kaXIiOiAiL3RtcC9nYXRlb25lIiwKKyAgICAgICAgICAgICJ1c2VyX2RpciI6ICJAbG9jYWxzdGF0ZUAvbGliL2dhdGVvbmUvdXNlcnMiCisgICAgICAgIH0sCisgICAgICAgICJ0ZXJtaW5hbCI6IHsKKyAgICAgICAgICAgIC8vIERpc2FibGluZyBzZXNzaW9uIGxvZ2dpbmcgZm9yIGVtYmVkZGVkIGRldmljZXMgaXMgYSBnb29kIGlkZWEgKGxpbWl0ZWQvc2xvdyBzdG9yYWdlKQorICAgICAgICAgICAgInNlc3Npb25fbG9nZ2luZyI6IGZhbHNlLAorICAgICAgICAgICAgInN5c2xvZ19zZXNzaW9uX2xvZ2dpbmciOiBmYWxzZQorLy8gICAgICAgICAgICAgImNvbW1hbmRzIjogeworLy8gICAgICAgICAgICAgICAgIC8vIEZvciBzb21lIHJlYXNvbiB0aGlzIGRvZXNuJ3Qgd29yayAobmV2ZXIgYXNrcyBmb3IgdGhlIHBhc3N3b3JkKQorLy8gICAgICAgICAgICAgICAgICJsb2dpbiI6ICJzZXRzaWQgL2Jpbi9sb2dpbiIgLy8gTm9ybWFsbHkgdGhpcyB3b3VsZCBlbXVsYXRlIGxvZ2dpbmcgaW50byB0aGUgaG9zdCBjb25zb2xlCisvLyAgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L2dhdGVvbmUvZ2F0ZW9uZS9nYXRlb25lLWF2YWhpLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L2dhdGVvbmUvZ2F0ZW9uZS9nYXRlb25lLWF2YWhpLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGY2MTNkMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvZ2F0ZW9uZS9nYXRlb25lL2dhdGVvbmUtYXZhaGkuc2VydmljZQpAQCAtMCwwICsxLDEwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9J25vJz8+PCEtLSotbnhtbC0qLS0+Cis8IURPQ1RZUEUgc2VydmljZS1ncm91cCBTWVNURU0gImF2YWhpLXNlcnZpY2UuZHRkIj4KKworPHNlcnZpY2UtZ3JvdXA+CisgIDxuYW1lIHJlcGxhY2Utd2lsZGNhcmRzPSJ5ZXMiPkdhdGVPbmUgb24gJWg8L25hbWU+CisgIDxzZXJ2aWNlPgorICAgIDx0eXBlPl9odHRwcy5fdGNwPC90eXBlPgorICAgIDxwb3J0PjQ0MzwvcG9ydD4KKyAgPC9zZXJ2aWNlPgorPC9zZXJ2aWNlLWdyb3VwPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9nYXRlb25lL2dhdGVvbmUvZ2F0ZW9uZS1pbml0LmluIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9nYXRlb25lL2dhdGVvbmUvZ2F0ZW9uZS1pbml0LmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2ZDY1NWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L2dhdGVvbmUvZ2F0ZW9uZS9nYXRlb25lLWluaXQuaW4KQEAgLTAsMCArMSw0NyBAQAorIyEvYmluL3NoIC1lCisjIyMgQkVHSU4gSU5JVCBJTkZPCisjIFByb3ZpZGVzOiAgICAgICAgICBnYXRlb25lCisjIFJlcXVpcmVkLVN0YXJ0OiAgICBuZXR3b3JraW5nCisjIERlZmF1bHQtU3RhcnQ6ICAgICAyIDMgNCA1CisjIERlZmF1bHQtU3RvcDogICAgICAwIDEgNgorIyBTaG9ydC1EZXNjcmlwdGlvbjogR2F0ZW9uZSBIVE1MNSBzc2ggY2xpZW50CisjIERlc2NyaXB0aW9uOiAgICAgICBHYXRlb25lIEhUTUw1IHRlcm1pbmFsIGVtdWxhdG9yIGFuZCBTU0ggY2xpZW50LgorIyMjIEVORCBJTklUIElORk8KKworLiAvZXRjL2luaXQuZC9mdW5jdGlvbnMKKworTkFNRT1nYXRlb25lCitEQUVNT049QGJpbmRpckAvZ2F0ZW9uZQorUElERklMRT0vcnVuL2dhdGVvbmUucGlkCitXT1JLRElSPUBsb2NhbHN0YXRlQC9saWIvZ2F0ZW9uZQorCitkb19zdGFydCgpIHsKKyAgICBjZCAkV09SS0RJUgorICAgIEBiaW5kaXJAL3B5dGhvbiAkREFFTU9OID4gL2Rldi9udWxsIDI+JjEgJgorICAgIGNkICRPTERQV0QKK30KKworZG9fc3RvcCgpIHsKKyAgICBraWxsIC1URVJNIGBjYXQgJFBJREZJTEVgCit9CisKK2Nhc2UgIiQxIiBpbgorICAgIHN0YXJ0KQorICAgICAgICBlY2hvICJTdGFydGluZyBnYXRlb25lIgorICAgICAgICBkb19zdGFydAorICAgICAgICA7OworICAgIHN0b3ApCisgICAgICAgIGVjaG8gIlN0b3BwaW5nIGdhdGVvbmUiCisgICAgICAgIGRvX3N0b3AKKyAgICAgICAgOzsKKyAgICByZXN0YXJ0fGZvcmNlLXJlbG9hZCkKKyAgICAgICAgZWNobyAiUmVzdGFydCBnYXRlb25lIgorICAgICAgICBkb19zdG9wCisgICAgICAgIHNsZWVwIDEKKyAgICAgICAgZG9fc3RhcnQKKyAgICAgICAgOzsKKyAgICAqKQorICAgICAgICBlY2hvICJVc2FnZTogJDAge3N0YXJ0fHN0b3B8cmVzdGFydHxmb3JjZS1yZWxvYWR9IiA+JjIKKyAgICAgICAgZXhpdCAxCisgICAgICAgIDs7Citlc2FjCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L2dhdGVvbmUvZ2F0ZW9uZS9nYXRlb25lLnNlcnZpY2UuaW4gYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L2dhdGVvbmUvZ2F0ZW9uZS9nYXRlb25lLnNlcnZpY2UuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDQ2NjcyNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvZ2F0ZW9uZS9nYXRlb25lL2dhdGVvbmUuc2VydmljZS5pbgpAQCAtMCwwICsxLDEwIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPUdhdGVPbmUgZGFlbW9uCitDb25kaXRpb25QYXRoRXhpc3RzPXxAbG9jYWxzdGF0ZUAvbGliL2dhdGVvbmUKKworW1NlcnZpY2VdCitXb3JraW5nRGlyZWN0b3J5PUBsb2NhbHN0YXRlQC9saWIvZ2F0ZW9uZQorRXhlY1N0YXJ0PUBiaW5kaXJAL3B5dGhvbiBAYmluZGlyQC9nYXRlb25lCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvZ2F0ZW9uZS9nYXRlb25lX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvZ2F0ZW9uZS9nYXRlb25lX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZmY3NTNlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9nYXRlb25lL2dhdGVvbmVfZ2l0LmJiCkBAIC0wLDAgKzEsODkgQEAKK1NVTU1BUlkgPSAiSFRNTDUgKHBsdWdpbi1mcmVlKSB3ZWItYmFzZWQgdGVybWluYWwgZW11bGF0b3IgYW5kIFNTSCBjbGllbnQiCitMSUNFTlNFID0gIkFHUEwtMy4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PTgzNGNiYzY5OTVkYjg4NDMzZGIxN2NkZjg5NTNhNDI4IgorSE9NRVBBR0UgPSAiaHR0cDovL2xpZnRvZmZzb2Z0d2FyZS5jb20vUHJvZHVjdHMvR2F0ZU9uZSIKKworUFYgPSAiMS4yK2dpdCR7U1JDUFZ9IgorU1JDUkVWID0gImY3YTliZTQ2Y2I5MGY1NzQ1OWViZDM2M2QyNDcwMmRlMGU2NTEwMzQiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbGlmdG9mZi9HYXRlT25lLmdpdDticmFuY2g9bWFzdGVyIFwKKyAgICAgICAgICAgZmlsZTovL2dhdGVvbmUtYXZhaGkuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly84MG9lLmNvbmYuaW4gXAorICAgICAgICAgICBmaWxlOi8vZ2F0ZW9uZS5zZXJ2aWNlLmluIFwKKyAgICAgICAgICAgZmlsZTovL2dhdGVvbmUtaW5pdC5pbiBcCisiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgZGlzdHV0aWxzIHB5dGhvbi1kaXIgc3lzdGVtZCB1cGRhdGUtcmMuZAorZXhwb3J0IHByZWZpeCA9ICIke2xvY2Fsc3RhdGVkaXJ9IgorCitESVNUVVRJTFNfSU5TVEFMTF9BUkdTID0gIi0tcm9vdD0ke0R9IFwKKyAgICAtLXByZWZpeD0ke3ByZWZpeH0gXAorICAgIC0taW5zdGFsbC1saWI9JHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0gXAorICAgIC0taW5zdGFsbC1kYXRhPSR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IFwKKyAgICAtLWluc3RhbGwtc2NyaXB0cz0ke2JpbmRpcn0gXAorICAgIC0tc2tpcF9pbml0X3NjcmlwdHMiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCisgICAgIyBmaXggdXAgaGFyZGNvZGVkIHBhdGhzCisgICAgZm9yIGZpbGUgaW4gZ2F0ZW9uZS5zZXJ2aWNlIGdhdGVvbmUtaW5pdCA4MG9lLmNvbmY7IGRvCisgICAgICAgIHNlZCAtZSBzOkBiaW5kaXJAOiR7YmluZGlyfTpnIFwKKyAgICAgICAgICAgIC1lIHM6QGxvY2Fsc3RhdGVAOiR7bG9jYWxzdGF0ZWRpcn06ZyBcCisgICAgICAgICAgICA8ICR7V09SS0RJUn0vJGZpbGUuaW4gXAorICAgICAgICAgICAgPiAke1dPUktESVJ9LyRmaWxlCisgICAgZG9uZQorICAgIAorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9nYXRlb25lLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vZ2F0ZW9uZS1pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9nYXRlb25lCisgICAgCisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke3N5c2NvbmZkaXJ9L2F2YWhpL3NlcnZpY2VzLworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2dhdGVvbmUtYXZhaGkuc2VydmljZSAke0R9JHtzeXNjb25mZGlyfS9hdmFoaS9zZXJ2aWNlcy8KKworICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtzeXNjb25mZGlyfS9nYXRlb25lL2NvbmYuZC8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS84MG9lLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vZ2F0ZW9uZS9jb25mLmQvODBvZS5jb25mCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9nYXRlb25lCit9CisKK0ZJTEVTXyR7UE59ID0gIiR7bG9jYWxzdGF0ZWRpcn0vbGliICR7YmluZGlyfSAke2Jhc2VfbGliZGlyfSAke3N5c2NvbmZkaXJ9ICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IgorUkRFUEVORFNfJHtQTn0gPSAibWltZS1zdXBwb3J0IFwKKyAgICAgICAgICAgICAgICAgIG9wZW5zc2gtc3NoIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1jb21wcmVzc2lvbiBcCisgICAgICAgICAgICAgICAgICBweXRob24tY29udGV4dGxpYiBcCisgICAgICAgICAgICAgICAgICBweXRob24tY3J5cHQgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLWRhdGV0aW1lIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1lbWFpbCBcCisgICAgICAgICAgICAgICAgICBweXRob24tZmNudGwgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLWZ1dHVyZXMgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLWh0bWwgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLWltYWdpbmcgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLWlvIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1qc29uIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1sb2dnaW5nIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1taXNjIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1tdWx0aXByb2Nlc3NpbmcgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLW5ldGNsaWVudCBcCisgICAgICAgICAgICAgICAgICBweXRob24tcGtndXRpbCBcCisgICAgICAgICAgICAgICAgICBweXRob24tcHlvcGVuc3NsIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1yZSBcCisgICAgICAgICAgICAgICAgICBweXRob24tcmVhZGxpbmUgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLXNldHVwdG9vbHMgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLXNoZWxsIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1zaW1wbGVqc29uIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1zdWJwcm9jZXNzIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1zeXNsb2cgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLXRlcm1pbmFsIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi10ZXh0dXRpbHMgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLXRvcm5hZG8gXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLXVuaXhhZG1pbiBcCisgICAgICAgICAgICAgICAgICBweXRob24teG1sIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1odG1sNWxpYiBcCisgICAgICAgICAgICAgICAgICBiYXNoIFwKKyIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImdhdGVvbmUuc2VydmljZSIKK0lOSVRTQ1JJUFRfTkFNRSA9ICJnYXRlb25lIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9weXRob24tcHlybzQvcHl0aG9uLXB5cm80XzQuMzkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi1weXJvNC9weXRob24tcHlybzRfNC4zOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NWI3OTNkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9weXRob24tcHlybzQvcHl0aG9uLXB5cm80XzQuMzkuYmIKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJQeXRob24gUmVtb3RlIE9iamVjdHMiCitIT01FUEFHRSA9ICJodHRwczovL3B5cGkucHl0aG9uLm9yZy9weXBpL1B5cm80LyIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1iNDhiNjJkZDI3MGM0NjkxZmFiYWE4NWJlMzIzNjAzMCIKKworU1JDTkFNRSA9ICJQeXJvNCIKKworU1JDX1VSSSA9ICJodHRwczovL3B5cGkucHl0aG9uLm9yZy9wYWNrYWdlcy9zb3VyY2UvUC8ke1NSQ05BTUV9LyR7U1JDTkFNRX0tJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzVlZDVjZDE0MjgwM2IwYThkNTg3ZGM4YjZiYjUxZWQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzljNmNhN2Y4NmIwZjBiZWJmZWFkYTY4N2E1YThiOTlmNjY0NzBhNTJiMGY4MTUxOTVhZTYzYzY4MzI2NmYyNCIKKworUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0tJHtQVn0iCisKK2luaGVyaXQgc2V0dXB0b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9weXRob24tdGhyaWZ0L3B5dGhvbi10aHJpZnRfMC45LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi10aHJpZnQvcHl0aG9uLXRocmlmdF8wLjkuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMGM0YWY3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9weXRob24tdGhyaWZ0L3B5dGhvbi10aHJpZnRfMC45LjIuYmIKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJQeXRob24gYmluZGluZ3MgZm9yIHRoZSBBcGFjaGUgVGhyaWZ0IFJQQyBzeXN0ZW0iCitIT01FUEFHRSA9ICJodHRwczovL3B5cGkucHl0aG9uLm9yZy9weXBpL2FtcXAvIgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9QS0ctSU5GTzttZDU9ZGYxN2E1OWNjOWUxMzI3ZWM0OWMyMjg1ZTEzYWM0NzciCisKK1NSQ05BTUUgPSAidGhyaWZ0IgorCitTUkNfVVJJID0gImh0dHBzOi8vcHlwaS5weXRob24ub3JnL3BhY2thZ2VzL3NvdXJjZS90LyR7U1JDTkFNRX0vJHtTUkNOQU1FfS0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5MWYxYzIyNGM0NmEyNTdiYjQyODQzMTk0MzM4N2RmZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwOGY2NjVlNGIwMzNjOWQyZDBiNjE3NGQ4NjkyNzMxMDQzNjJjODBlNzdlZTRjMDEwNTRhNzQxNDFlMzc4YWZhIgorCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1BWfSIKKworaW5oZXJpdCBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi10eHdzL3B5dGhvbi10eHdzXzAuOS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9weXRob24tdHh3cy9weXRob24tdHh3c18wLjkuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYjJhYzExCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9weXRob24tdHh3cy9weXRob24tdHh3c18wLjkuMS5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIlR3aXN0ZWQgV2ViIFNvY2tldHMiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vTW9zdEF3ZXNvbWVEdWRlL3R4V1MiCisKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTc2Njk5ODMwZGI3ZmE5ZTg5N2Y2YTFhZDA1Zjk4ZWM4IgorCitERVBFTkRTID0gInB5dGhvbi10d2lzdGVkIHB5dGhvbi1zaXggcHl0aG9uLXZjdmVyc2lvbmVyIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vTW9zdEF3ZXNvbWVEdWRlL3R4V1MuZ2l0IgorU1JDUkVWPSAiODhjZjZkOWI5YjY4NWZmYTE3MjA2NDRiZDUzYzc0MmFmYjEwYTQxNCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBzZXR1cHRvb2xzCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHlydG1fMC4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXJ0bV8wLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2QzODJiOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHlydG1fMC4yLmJiCkBAIC0wLDAgKzEsOSBAQAorU1VNTUFSWSA9ICJQeXRob24gaW50ZXJmYWNlIGZvciBSZW1lbWJlciBUaGUgTWlsayBBUEkiCitBVVRIT1IgPSAiU3JpZGhhciBSYXRuYWt1bWFyIC8gc3JpZCIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUEtHLUlORk87YmVnaW5saW5lPTg7ZW5kbGluZT04O21kNT1hNTNjYmM3Y2I3NTY2MDY5NGUxMzhiYTk3M2MxNDhkZiIKKworaW5oZXJpdCBweXBpIGRpc3R1dGlscworCitTUkNfVVJJW21kNXN1bV0gPSAiMzQ0MjNmMzljYWY3ZGY4YTlkYjhlMjQzYmU5Y2YxYTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDlkNDZkMDk2YTM4Y2I2OTJiNTVmNGVlOWYzNjRkNTQzNDgyOThlOTQ5N2IxMWMxZWYwNTc1MzliNWRlMTU2NyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWF1dG9iYWhuXzAuOC42LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYXV0b2JhaG5fMC44LjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY0ZGQ4ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWF1dG9iYWhuXzAuOC42LmJiCkBAIC0wLDAgKzEsMTYgQEAKK0RFU0NSSVBUSU9OID0gIkF1dG9iYWhuUHl0aG9uIHByb3ZpZGVzIGEgV2ViU29ja2V0IChSRkM2NDU1LCBIeWJpLTEwIHRvIC0xNywgSGl4aWUtNzYpIGZyYW1ld29yayBmb3IgY3JlYXRpbmcgV2ViU29ja2V0LWJhc2VkIGNsaWVudHMgYW5kIHNlcnZlcnMuIFwKK0F1dG9iYWhuUHl0aG9uIGFsc28gaW5jbHVkZXMgYW4gaW1wbGVtZW50YXRpb24gb2YgV0FNUCAoVGhlIFdlYlNvY2tldHMgQXBwbGljYXRpb24gTWVzc2FnaW5nIFByb3RvY29sKSwgYSBsaWdodC13ZWlnaHQsICBcCithc3luY2hyb25vdXMgUlBDL1B1YlN1YiBvdmVyIEpTT04vV2ViU29ja2V0IHByb3RvY29sLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9hdXRvYmFobi53cy9weXRob24iCisKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiIGZpbGU6Ly9hdXRvYmFobi9fX2luaXRfXy5weTtiZWdpbmxpbmU9MTtlbmRsaW5lPTE3O21kNT0xZmRlY2NmNmU1YjcwY2RhNjRjYzEzNDU1OTdjMThlMyIKKworU1JDX1VSSVttZDVzdW1dID0gIjE2MDQyOWU3ZmIwNDM5NDBlNzlhYTdmNGViYmFiNTdhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk0YWU1YzZmMzdmOWZlN2M5ZDNmMTJjMTcwZmNjMjczYWZlZDQxMDRhMWM1NTA4YjI2ZDYwMTRiYjllNjM3M2UiCisKK1BZUElfUEFDS0FHRV9FWFQgPSAiemlwIgoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uIHB5dGhvbi1wcHJpbnQgcHl0aG9uLXR3aXN0ZWQtcHJvdG9jb2xzIHB5dGhvbi1uZXRzZXJ2ZXIgcHl0aG9uLXR3aXN0ZWQtd2ViIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1iYWNrcG9ydHMtc3NsXzMuNC4wLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1iYWNrcG9ydHMtc3NsXzMuNC4wLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWUyZDE3NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWJhY2twb3J0cy1zc2xfMy40LjAuMi5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIlRoZSBzc2wubWF0Y2hfaG9zdG5hbWUoKSBmdW5jdGlvbiBmcm9tIFB5dGhvbiAzLjQiCitERVNDUklQVElPTiA9ICJUaGUgU2VjdXJlIFNvY2tldHMgbGF5ZXIgaXMgb25seSBhY3R1YWxseSBzZWN1cmUgaWYgeW91IGNoZWNrIHRoZSBob3N0bmFtZSBpbiB0aGUgXAorY2VydGlmaWNhdGUgcmV0dXJuZWQgYnkgdGhlIHNlcnZlciB0byB3aGljaCB5b3UgYXJlIGNvbm5lY3RpbmcsIGFuZCB2ZXJpZnkgdGhhdCBpdCBtYXRjaGVzIHRvIGhvc3RuYW1lIFwKK3RoYXQgeW91IGFyZSB0cnlpbmcgdG8gcmVhY2guIEJ1dCB0aGUgbWF0Y2hpbmcgbG9naWMsIGRlZmluZWQgaW4gUkZDMjgxOCwgY2FuIGJlIGEgYml0IHRyaWNreSB0byBpbXBsZW1lbnQgXAorb24geW91ciBvd24uIFNvIHRoZSBzc2wgcGFja2FnZSBpbiB0aGUgU3RhbmRhcmQgTGlicmFyeSBvZiBQeXRob24gMy4yIGFuZCBncmVhdGVyIG5vdyBpbmNsdWRlcyBhIFwKK21hdGNoX2hvc3RuYW1lKCkgZnVuY3Rpb24gZm9yIHBlcmZvcm1pbmcgdGhpcyBjaGVjayBpbnN0ZWFkIG9mIHJlcXVpcmluZyBldmVyeSBhcHBsaWNhdGlvbiB0byBcCitpbXBsZW1lbnQgdGhlIGNoZWNrIHNlcGFyYXRlbHkuIFRoaXMgYmFja3BvcnQgYnJpbmdzIG1hdGNoX2hvc3RuYW1lKCkgdG8gdXNlcnMgb2YgZWFybGllciB2ZXJzaW9ucyBvZiBQeXRob24iCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9QS0ctSU5GTzttZDU9NzdiNjg0OTYwYjg2YjdhNGJiNGE0NTBmZmRlMDg2MDUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3ODgyMTRmMjAyMTRjNjQ2MzFmMDg1OWRjNzlmMjNjNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwNzQxMGU3ZmIwOWFhYjdiZGFmNWU2MThkZTY2YzNkYWM4NGUyZTNkNjI4MzUyODE0ZGM0YzM3ZGUzMjFkNmFlIgorCitQWVBJX1BBQ0tBR0UgPSAiYmFja3BvcnRzLnNzbF9tYXRjaF9ob3N0bmFtZSIKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1iY3J5cHRfMi4wLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1iY3J5cHRfMi4wLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2NiZTMzZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWJjcnlwdF8yLjAuMC5iYgpAQCAtMCwwICsxLDE1IEBACitERVNDUklQVElPTiA9ICJNb2Rlcm4gcGFzc3dvcmQgaGFzaGluZyBmb3IgeW91ciBzb2Z0d2FyZSBhbmQgeW91ciBzZXJ2ZXJzLiIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUEtHLUlORk87bWQ1PWUxOWQwZmU0MGM1Y2U0MTA5ZTZiY2JmNGFhYjJhNWJkIgorCitERVBFTkRTID0gInB5dGhvbi1jZmZpLW5hdGl2ZSIKKworU1JDX1VSSVttZDVzdW1dID0gImU3ZmIxN2JlNDY5MDRjZGIyYWU2YTA2Mjg1OWVlNThjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhiMmQxOTdlZjIyMGQxMGViNzQ2MjVkZGU3YWYzYjEwZGFhOTczYWU5YTFlYWRkNjM2NmY3NjNmYWQ0Mzg3ZmEiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK1JERVBFTkRTXyR7UE59ID0gIlwKKyAgICBweXRob24tY2ZmaSBcCisgICAgcHl0aG9uLXNpeCBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1iZWhhdmVfMS4yLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1iZWhhdmVfMS4yLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTQxYTc5ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWJlaGF2ZV8xLjIuNS5iYgpAQCAtMCwwICsxLDEwIEBACitTVU1NQVJZID0gIkEgYmVoYXZpb3ItZHJpdmVuIGRldmVsb3BtZW50IGZyYW1ld29yaywgUHl0aG9uIHN0eWxlIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1kOTUwNDM5ZThlYTZlZDIzM2U0Mjg4ZjVlMWE0OWMwNiIKKworU1JDX1VSSVttZDVzdW1dID0gIjNhZjRiYzI4ODZkMmJlOTgyZTQxYmZhYmE2MWRhM2JjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjgxYjczMWFjNTE4N2UzMWU0YWFkMjU5NDk0NGZhOTE0OTQzNjgzYTk4MTgzMjA4NDZkMDM3YzVlYmQ2ZDVkMGIiCisKK1JERVBFTkRTXyR7UE59ICs9ICJweXRob24tZGlmZmxpYiBweXRob24tc2V0dXB0b29scyBweXRob24tcGtndXRpbCBweXRob24tbWlzYyBweXRob24tYXJncGFyc2UgcHl0aG9uLXhtbCBweXRob24taW1wb3J0bGliIHB5dGhvbi1lbnVtMzQgcHl0aG9uLXBhcnNlIHB5dGhvbi1wYXJzZS10eXBlIHB5dGhvbi1zaXgiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1iaXRhcnJheV8wLjguMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWJpdGFycmF5XzAuOC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0NWYxZmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1iaXRhcnJheV8wLjguMS5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIkEgaGlnaC1sZXZlbCBQeXRob24gZWZmaWNpZW50IGFycmF5cyBvZiBib29sZWFucyAtLSBDIGV4dGVuc2lvbiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9pbGFuc2NobmVsbC9iaXRhcnJheSIKK0xJQ0VOU0UgPSAiUFNGIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9M2JhNDY5MzUzZjlmMmEyNDRiMjA3NTkwMjM1MWUzN2QiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzODI1MTg0ZjU0ZjRkOTM1MDhhMjgwMzFiNGM2NWQzYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3ZGE1MDEzNTZlNDhhODNjNjFmNDc5MzkzNjgxYzFiYzRiOTRlNWEzNGFjZTdlMDhjYjI5ZTdkZDkyOTBhYjE4IgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWJsaW5rZXJfMS40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYmxpbmtlcl8xLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGNlMTQxZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWJsaW5rZXJfMS40LmJiCkBAIC0wLDAgKzEsOCBAQAorREVTQ1JJUFRJT04gPSAiRmFzdCwgc2ltcGxlIG9iamVjdC10by1vYmplY3QgYW5kIGJyb2FkY2FzdCBzaWduYWxpbmcuIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9QS0ctSU5GTzttZDU9OTQ2ZDdlODlhZjZmNzczM2FlYWViZWQ1NjM1ZDI2ODIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4YjM3MjIzODFmODNjMjgxM2M1MmRlMzAxNmI2OGQzMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0NzFhZWUyNWYzOTkyYmQzMjVhZmEzNzcyZjEwNjNkYmRiYmNhOTQ3YTA0MWI4Yjg5NDY2ZGMwMGQ2MDZmOGI2IgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2VydGlmaS5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jZXJ0aWZpLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZmU4YjE1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2VydGlmaS5pbmMKQEAgLTAsMCArMSwxMSBAQAorU1VNTUFSWSA9ICJQeXRob24gcGFja2FnZSBmb3IgcHJvdmlkaW5nIE1vemlsbGEncyBDQSBCdW5kbGUuIgorREVTQ1JJUFRJT04gPSAiVGhpcyBpbnN0YWxsYWJsZSBQeXRob24gcGFja2FnZSBjb250YWlucyBhIENBIEJ1bmRsZSB0aGF0IHlvdSBjYW4gcmVmZXJlbmNlIGluIHlvdXIgXAorUHl0aG9uIGNvZGUuIFRoaXMgaXMgdXNlZnVsIGZvciB2ZXJpZnlpbmcgSFRUUCByZXF1ZXN0cywgZm9yIGV4YW1wbGUuICBUaGlzIGlzIHRoZSBzYW1lIENBIEJ1bmRsZSBcCit3aGljaCBzaGlwcyB3aXRoIHRoZSBSZXF1ZXN0cyBjb2RlYmFzZSwgYW5kIGlzIGRlcml2ZWQgZnJvbSBNb3ppbGxhIEZpcmVmb3gncyBjYW5vbmljYWwgc2V0LiIKK0hPTUVQQUdFID0gIiBodHRwOi8vY2VydGlmaS5pby8iCisKK0xJQ0VOU0UgPSAiSVNDIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9Zjc3ZjYxZDE0ZWU2ZmVhYzQyMjhkM2ViZDI2Y2MxZjEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1ZDY3MmFhNzY2ZTFmNzczYzc1Y2ZlY2NkMDJkMzY1MCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1ZThlY2NmOTU5MjQ2NThjOTdiOTkwYjUwNTUyYWRkYjY0ZjU1ZTFlM2RmZTQ4ODA0NTZhYzFmMjg3ZGM3OWQwIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2VydGlmaV8yMDE2LjIuMjguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jZXJ0aWZpXzIwMTYuMi4yOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZGZlNjIzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2VydGlmaV8yMDE2LjIuMjguYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29scworcmVxdWlyZSBweXRob24tY2VydGlmaS5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNmZmlfMS41LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jZmZpXzEuNS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiMjU4NzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jZmZpXzEuNS4yLmJiCkBAIC0wLDAgKzEsMTEgQEAKK1NVTU1BUlkgPSAiRm9yZWlnbiBGdW5jdGlvbiBJbnRlcmZhY2UgZm9yIFB5dGhvbiBjYWxsaW5nIEMgY29kZSIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NTY3N2UyZmRiZjdjZGRhNjFkNmRkMmI1N2RmNTQ3YmYiCitERVBFTkRTID0gImxpYmZmaSBweXRob24tcHljcGFyc2VyIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZmE3NjYxMzNmNzI5OTQ2NGM4YmY4NTdlMGM5NjZhODIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZGE5YmRlOTk4NzJlNDZmN2JiNWNmZjQwYTliMWNjMDg0MDY3NjVlZmFmYjU4M2M3MDRkZTEwOGI2Y2I4MjFkZCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jaGFyZGV0XzIuMy4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2hhcmRldF8yLjMuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZmM5NzliCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2hhcmRldF8yLjMuMC5iYgpAQCAtMCwwICsxLDggQEAKK1NVTU1BUlkgPSAiVW5pdmVyc2FsIGVuY29kaW5nIGRldGVjdG9yIGZvciBQeXRob24gMiBhbmQgMyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1hNmY4OWUyMTAwZDliNmNkZmZjZWE0ZjM5OGUzNzM0MyIKKworU1JDX1VSSVttZDVzdW1dID0gIjI1Mjc0ZDY2NGNjYjUxMzBhZGFlMDgwNDc0MTZlMWE4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU1M2UzOGIzYTRhZmU2ZDExMzJkZTYyYjc0MDBhNGFjMzYzNDUyZGM1ZGZjZjhkODhlOGUwY2NlNjYzYzY4YWEiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jaGVldGFoXzIuNC40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2hlZXRhaF8yLjQuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMGZjMmZkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2hlZXRhaF8yLjQuNC5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIlB5dGhvbiB0ZW1wbGF0ZSBlbmdpbmUgYW5kIGNvZGUgZ2VuZXJhdGlvbiB0b29sIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1hZmYxMTA3NTE0YWE2YWFlOTQ4ZjlmZTcxZmRjMzkzYiIKKworUFIgPSAicjMiCisKK1BZUElfUEFDS0FHRSA9ICJDaGVldGFoIgoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uLXBpY2tsZSBweXRob24tcHByaW50IgorUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlID0gIiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCitTUkNfVVJJW21kNXN1bV0gPSAiODUzOTE3MTE2ZTczMWFmYmM4YzhhNDNjMzdlNmRkYmEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYmUzMDgyMjlmMGMxZTVlNWFmNGYyN2Q3ZWUwNmQ5MGJiMTllNmFmMzA1OTc5NGU1ZmQ1MzZhNmYyOWE5YjU1MCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNsb3VkZWVidXNfMC42LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jbG91ZGVlYnVzXzAuNi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyMGE4YTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jbG91ZGVlYnVzXzAuNi4wLmJiCkBAIC0wLDAgKzEsMzUgQEAKK0RFU0NSSVBUSU9OID0gIkEgY29tcG9uZW50IHdoaWNoIGVuYWJsZXMgY2FsbGluZyBEQnVzIG1ldGhvZHMgYW5kIHJlZ2lzdGVyaW5nIG9uIERCdXMgc2lnbmFscyBmcm9tIEphdmFzY3JpcHQiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vMDFvcmcvY2xvdWRlZWJ1cyIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MmVlNDExMTJhNDRmZTcwMTRkY2UzM2UyNjQ2OGJhOTMiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS8wMW9yZy9jbG91ZGVlYnVzLmdpdDtwcm90b2NvbD1odHRwO2JyYW5jaD1tYXN0ZXIgIgorU1JDUkVWID0gImI1Y2M5NTdlZWFiZmU5OGNiOTk2YmFmOGU1YTBhYzg0ODk5M2MzZDQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgZGlzdHV0aWxzIAorCitERVBFTkRTXyR7UE59ID0gInB5dGhvbiBweXRob24tZGlzdHJpYnV0ZSIKK1JERVBFTkRTXyR7UE59ID0gInB5dGhvbiBweXRob24tZGJ1cyBweXRob24tanNvbiBweXRob24tYXJncGFyc2UgcHl0aG9uLXB5Z29iamVjdCBweXRob24tYXV0b2JhaG4gcHl0aG9uLXR3aXN0ZWQgcHl0aG9uLXN1YnByb2Nlc3MiCisKK2RvX2luc3RhbGxfcHJlcGVuZCgpIHsKKyAgaW5zdGFsbCAtZCAke0R9JHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vJHtQTn0KK30KKworRElTVFVUSUxTX0lOU1RBTExfQVJHUyA9ICItLXJvb3Q9JHtEfSBcCisgICAgLS1zaW5nbGUtdmVyc2lvbi1leHRlcm5hbGx5LW1hbmFnZWQgXAorICAgIC0tcHJlZml4PSR7cHJlZml4fSBcCisgICAgLS1pbnN0YWxsLWxpYj0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSBcCisgICAgLS1pbnN0YWxsLWRhdGE9JHtkYXRhZGlyfSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgIGRpc3R1dGlsc19kb19pbnN0YWxsCisgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vZG9jLyR7QlBOfS8KKyAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vUkVBRE1FLm1kICR7RH0ke2RhdGFkaXJ9L2RvYy8ke0JQTn0vCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2Nsb3VkZWVidXMiCitGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmNsb3VkZWVidXMuY29uZiIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY21kMl8wLjYuOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNtZDJfMC42LjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjQ5NjJkNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNtZDJfMC42LjguYmIKQEAgLTAsMCArMSwxMSBAQAorU1VNTUFSWSA9ICJFeHRyYSBmZWF0dXJlcyBmb3Igc3RhbmRhcmQgbGlicmFyeSdzIGNtZCBtb2R1bGUiCitIT01FUEFHRSA9ICJodHRwOi8vcGFja2FnZXMucHl0aG9uLm9yZy9jbWQyLyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vc2V0dXAucHk7YmVnaW5saW5lPTIxO2VuZGxpbmU9MjE7bWQ1PWEwMDA0N2I3ZTkyZTA3ODE0NTJkMGJlYmE0ZTdiNDRlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYzMyYzlhODk3ZTAxMGM5NzdiNTBjMWRkYzEzZjA5ZmUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWM3ODBkOGMzMWZjMTA3YmY2YjRlZGNiY2VhNzExZGU0ZmY3NzZkNTlkODliYjE2N2Y4ODE5ZDJkODM3NjRhOCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbi1weXBhcnNpbmciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHktdmVjdG9yc18xLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHktdmVjdG9yc18xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjE1MGU1MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS12ZWN0b3JzXzEuMS5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIlRlc3QgdmVjdG9ycyBmb3IgdGhlIGNyeXB0b2dyYXBoeSBwYWNrYWdlLiIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIHwgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9OGMzNjE3ZGI0ZmI2ZmFlMDFmMWQyNTNhYjkxNTExZTQiCitERVBFTkRTID0gInB5dGhvbi1jcnlwdG9ncmFwaHkiCitTUkNOQU1FID0gImNyeXB0b2dyYXBoeV92ZWN0b3JzIgorCitTUkNfVVJJID0gImh0dHBzOi8vcHlwaS5weXRob24ub3JnL3BhY2thZ2VzL3NvdXJjZS9jL2NyeXB0b2dyYXBoeS12ZWN0b3JzLyR7U1JDTkFNRX0tJHtQVn0udGFyLmd6IgorUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0tJHtQVn0iCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwYWQ0MjI1MDEwNzQ5MjljMDZiN2VkZDQwZGY0MTg0NCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhOTI5ZmJiMGVhYzM5MWM5M2M1NzQ1NDUxYTRkNDE1N2E4YmMxOGViMmU2OWZhZjNhZjFkODI1Y2VhY2JmMzJjIgorCitpbmhlcml0IHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS9Db21tZW50X2xpbmdlcmluZ19TU0x2Ml9zeW1ib2wucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHkvQ29tbWVudF9saW5nZXJpbmdfU1NMdjJfc3ltYm9sLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyOGU3ZWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHkvQ29tbWVudF9saW5nZXJpbmdfU1NMdjJfc3ltYm9sLnBhdGNoCkBAIC0wLDAgKzEsMjQgQEAKK0Zyb20gZjMyNmU0YTk3Y2NlNmI5NDc5NTYwY2UwYzY1YWQxOGQ1NDM5M2Y5NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENvcnkgQmVuZmllbGQgPGx1a2FzYW96QGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMTQgRGVjIDIwMTUgMTU6Mzc6NDYgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gQ29tbWVudCBsaW5nZXJpbmcgU1NMdjIgc3ltYm9sLgorCistLS0KKyBzcmMvX2NmZmlfc3JjL29wZW5zc2wvc3NsLnB5IHwgNCArKysrCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQorCitJbmRleDogY3J5cHRvZ3JhcGh5LTEuMS9zcmMvX2NmZmlfc3JjL29wZW5zc2wvc3NsLnB5Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gY3J5cHRvZ3JhcGh5LTEuMS5vcmlnL3NyYy9fY2ZmaV9zcmMvb3BlbnNzbC9zc2wucHkKKysrKyBjcnlwdG9ncmFwaHktMS4xL3NyYy9fY2ZmaV9zcmMvb3BlbnNzbC9zc2wucHkKK0BAIC00MjEsNiArNDIxLDEwIEBAIGNvbnN0IGxvbmcgU1NMX09QX0xFR0FDWV9TRVJWRVJfQ09OTkVDVAorIHN0YXRpYyBjb25zdCBsb25nIENyeXB0b2dyYXBoeV9IQVNfU0VDVVJFX1JFTkVHT1RJQVRJT04gPSAxOworICNlbmRpZgorIAorKy8qIENyeXB0b2dyYXBoeSBub3cgY29tcGlsZXMgb3V0IGFsbCBTU0x2MiBiaW5kaW5ncy4gVGhpcyBleGlzdHMgdG8gYWxsb3cKKysgKiBjbGllbnRzIHRoYXQgdXNlIGl0IHRvIGNoZWNrIGZvciBTU0x2MiBzdXBwb3J0IHRvIGtlZXAgZnVuY3Rpb25pbmcgYXMKKysgKiBleHBlY3RlZC4KKysgKi8KKyBzdGF0aWMgY29uc3QgbG9uZyBDcnlwdG9ncmFwaHlfSEFTX1NTTDIgPSAwOworIAorICNpZmRlZiBPUEVOU1NMX05PX1NTTDNfTUVUSE9ECmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHkvUmVtb3ZlX1NTTHYyX2JpbmRpbmdzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3J5cHRvZ3JhcGh5L1JlbW92ZV9TU0x2Ml9iaW5kaW5ncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NTIyMzI1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3J5cHRvZ3JhcGh5L1JlbW92ZV9TU0x2Ml9iaW5kaW5ncy5wYXRjaApAQCAtMCwwICsxLDc1IEBACitGcm9tIDkwYzZhNTNhODg1ZGQ1YzY2OTkyMzA5ZTBhZjk4YWM1NTRmMWJiOTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDb3J5IEJlbmZpZWxkIDxsdWthc2FvekBnbWFpbC5jb20+CitEYXRlOiBNb24sIDE0IERlYyAyMDE1IDA4OjM1OjIwICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIFJlbW92ZSBTU0x2MiBiaW5kaW5ncy4KKworVGhpcyBjb21taXQgcmVtb3ZlcyBiaW5kaW5ncyB0aGF0IGFsbG93IHVzZXJzIHRvIHNldCBTU0x2MiBoYW5kc2hha2UKK21ldGhvZHMuIFRoZXNlIGFyZSByZWdhcmRlZCBhcyB1bm5lY2Vzc2FyeSBhbmQgb3V0LW9mLWRhdGU6IHNlZSAjMjUyNy4KK1RoaXMgY29tbWl0IGRvZXMgbGVhdmUgaW4gYSBmZXcgb3B0aW9ucyB0aGF0IHJlZmVyIHRvIFNTTHYyIGluIG9yZGVyIHRvCithdm9pZCBicmVha2luZyBkZXBsb3ltZW50cyB0aGF0IHJlbHkgb24gdGhlbSwgYW5kIGluIG9yZGVyIHRvIGFsbG93Cit1c2VycyB0byBjb250aW51ZSB0byByZXF1ZXN0IHRoYXQgU1NMdjIgbm90IGJlIGVuYWJsZWQgYXQgYWxsIGluIHRoZWlyCitPcGVuU1NMLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1RoaXMgZml4ZXMgdGhlIGNvbXBpbGUgaXNzdWUgYWZ0ZXIgdXBkYXRpbmcgdG8gb3BlbnNzbCAxLjAuMmgKK1NpZ25lZC1vZmYtYnk6IEFybWluIEt1c3RlciA8YWt1c3RlckBtdmlzdGEuY29tPgorCistLS0KKyBzcmMvX2NmZmlfc3JjL29wZW5zc2wvc3NsLnB5ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTcgKy0tLS0tLS0tLS0tLS0tLS0KKyAuLi4vaGF6bWF0L2JpbmRpbmdzL29wZW5zc2wvX2NvbmRpdGlvbmFsLnB5ICAgICAgICAgICAgIHwgIDYgLS0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMjIgZGVsZXRpb25zKC0pCisKK0luZGV4OiBjcnlwdG9ncmFwaHktMS4xL3NyYy9fY2ZmaV9zcmMvb3BlbnNzbC9zc2wucHkKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjcnlwdG9ncmFwaHktMS4xLm9yaWcvc3JjL19jZmZpX3NyYy9vcGVuc3NsL3NzbC5weQorKysrIGNyeXB0b2dyYXBoeS0xLjEvc3JjL19jZmZpX3NyYy9vcGVuc3NsL3NzbC5weQorQEAgLTI5MiwxNSArMjkyLDYgQEAgdW5zaWduZWQgbG9uZyBTU0xfQ1RYX2FkZF9leHRyYV9jaGFpbl9jZQorIAorIC8qICBtZXRob2RzICovCisgCistLyogU1NMdjIgc3VwcG9ydCBpcyBjb21waWxlZCBvdXQgb2Ygc29tZSB2ZXJzaW9ucyBvZiBPcGVuU1NMLiAgVGhlc2Ugd2lsbAorLSAqIGdldCBzcGVjaWFsIHN1cHBvcnQgd2hlbiB3ZSBnZW5lcmF0ZSB0aGUgYmluZGluZ3Mgc28gdGhhdCBpZiB0aGV5IGFyZQorLSAqIGF2YWlsYWJsZSB0aGV5IHdpbGwgYmUgd3JhcHBlZCwgYnV0IGlmIHRoZXkgYXJlIG5vdCB0aGV5IHdvbid0IGNhdXNlCistICogcHJvYmxlbXMgKGxpa2UgbGluayBlcnJvcnMpLgorLSAqLworLWNvbnN0IFNTTF9NRVRIT0QgKlNTTHYyX21ldGhvZCh2b2lkKTsKKy1jb25zdCBTU0xfTUVUSE9EICpTU0x2Ml9zZXJ2ZXJfbWV0aG9kKHZvaWQpOworLWNvbnN0IFNTTF9NRVRIT0QgKlNTTHYyX2NsaWVudF9tZXRob2Qodm9pZCk7CistCisgLyoKKyAgKiBUTFN2MV8xIGFuZCBUTFN2MV8yIGFyZSByZWNlbnQgYWRkaXRpb25zLiAgT25seSBzdWZmaWNpZW50bHkgbmV3IHZlcnNpb25zIG9mCisgICogT3BlblNTTCBzdXBwb3J0IHRoZW0uCitAQCAtNDI5LDE0ICs0MjAsOCBAQCBjb25zdCBsb25nIFNTTF9PUF9MRUdBQ1lfU0VSVkVSX0NPTk5FQ1QKKyAjZWxzZQorIHN0YXRpYyBjb25zdCBsb25nIENyeXB0b2dyYXBoeV9IQVNfU0VDVVJFX1JFTkVHT1RJQVRJT04gPSAxOworICNlbmRpZgorLSNpZmRlZiBPUEVOU1NMX05PX1NTTDIKKysKKyBzdGF0aWMgY29uc3QgbG9uZyBDcnlwdG9ncmFwaHlfSEFTX1NTTDIgPSAwOworLVNTTF9NRVRIT0QqICgqU1NMdjJfbWV0aG9kKSh2b2lkKSA9IE5VTEw7CistU1NMX01FVEhPRCogKCpTU0x2Ml9jbGllbnRfbWV0aG9kKSh2b2lkKSA9IE5VTEw7CistU1NMX01FVEhPRCogKCpTU0x2Ml9zZXJ2ZXJfbWV0aG9kKSh2b2lkKSA9IE5VTEw7CistI2Vsc2UKKy1zdGF0aWMgY29uc3QgbG9uZyBDcnlwdG9ncmFwaHlfSEFTX1NTTDIgPSAxOworLSNlbmRpZgorIAorICNpZmRlZiBPUEVOU1NMX05PX1NTTDNfTUVUSE9ECisgc3RhdGljIGNvbnN0IGxvbmcgQ3J5cHRvZ3JhcGh5X0hBU19TU0wzX01FVEhPRCA9IDA7CitJbmRleDogY3J5cHRvZ3JhcGh5LTEuMS9zcmMvY3J5cHRvZ3JhcGh5L2hhem1hdC9iaW5kaW5ncy9vcGVuc3NsL19jb25kaXRpb25hbC5weQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNyeXB0b2dyYXBoeS0xLjEub3JpZy9zcmMvY3J5cHRvZ3JhcGh5L2hhem1hdC9iaW5kaW5ncy9vcGVuc3NsL19jb25kaXRpb25hbC5weQorKysrIGNyeXB0b2dyYXBoeS0xLjEvc3JjL2NyeXB0b2dyYXBoeS9oYXptYXQvYmluZGluZ3Mvb3BlbnNzbC9fY29uZGl0aW9uYWwucHkKK0BAIC0yNzQsMTIgKzI3NCw2IEBAIENPTkRJVElPTkFMX05BTUVTID0geworICAgICAgICAgIlRMU3YxXzJfY2xpZW50X21ldGhvZCIsCisgICAgIF0sCisgCistICAgICJDcnlwdG9ncmFwaHlfSEFTX1NTTDIiOiBbCistICAgICAgICAiU1NMdjJfbWV0aG9kIiwKKy0gICAgICAgICJTU0x2Ml9jbGllbnRfbWV0aG9kIiwKKy0gICAgICAgICJTU0x2Ml9zZXJ2ZXJfbWV0aG9kIiwKKy0gICAgXSwKKy0KKyAgICAgIkNyeXB0b2dyYXBoeV9IQVNfU1NMM19NRVRIT0QiOiBbCisgICAgICAgICAiU1NMdjNfbWV0aG9kIiwKKyAgICAgICAgICJTU0x2M19jbGllbnRfbWV0aG9kIiwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS9idWlsZF9maXhfb3BlbnNzbF8xLjAuMWcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHkvYnVpbGRfZml4X29wZW5zc2xfMS4wLjFnLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwODk5NGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHkvYnVpbGRfZml4X29wZW5zc2xfMS4wLjFnLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK2J1aWxkIGlzc3VlIGRvIHRvIG9wZW5zc2wgMS4wLjFnIHVwZ3JhZGUKKworQklPICpCSU9fbmV3X21lbV9idWYodm9pZCAqLCBpbnQpOworICAgICAgXgorSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL2plbmtpbnMvb2Uvd29ybGQvc2hyLWNvcmUvdG1wLWdsaWJjL3N5c3Jvb3RzL3FlbXVhcm0vdXNyL2luY2x1ZGUvb3BlbnNzbC9hc24xLmg6NjU6MCwKK2Zyb20gYnVpbGQvdGVtcC5saW51eC14ODZfNjQtMi43L19vcGVuc3NsLmM6NDEzOgorCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitzZWVtcyB0byBiZSBhIGtub3duIGlzc3VlCitodHRwczovL2dpdGh1Yi5jb20vcHljYS9jcnlwdG9ncmFwaHkvaXNzdWVzLzI3NTAKKworU2lnbmVkLW9mZi1ieTogQXJtaW4gS3VzdGVyIDxha3VzdGVyQG12aXN0YS5jb20+CisKK0luZGV4OiBzcmMvX2NmZmlfc3JjL29wZW5zc2wvYmlvLnB5Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYS9zcmMvX2NmZmlfc3JjL29wZW5zc2wvYmlvLnB5CisrKysgYi9zcmMvX2NmZmlfc3JjL29wZW5zc2wvYmlvLnB5CitAQCAtOTksNyArOTksNyBAQCBCSU8gKkJJT19wb3AoQklPICopOworIEJJTyAqQklPX25leHQoQklPICopOworIEJJTyAqQklPX2ZpbmRfdHlwZShCSU8gKiwgaW50KTsKKyBCSU9fTUVUSE9EICpCSU9fc19tZW0odm9pZCk7CistQklPICpCSU9fbmV3X21lbV9idWYodm9pZCAqLCBpbnQpOworK0JJTyAqQklPX25ld19tZW1fYnVmKGNvbnN0IHZvaWQgKiwgaW50KTsKKyBCSU9fTUVUSE9EICpCSU9fc19maWxlKHZvaWQpOworIEJJTyAqQklPX25ld19maWxlKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKKyBCSU8gKkJJT19uZXdfZnAoRklMRSAqLCBpbnQpOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3J5cHRvZ3JhcGh5L3J1bi1wdGVzdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS9ydW4tcHRlc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGJhMjM5YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS9ydW4tcHRlc3QKQEAgLTAsMCArMSwyIEBACisjIS9iaW4vc2gKK3B5LnRlc3QKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeV8xLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHlfMS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2NWE0Y2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHlfMS4xLmJiCkBAIC0wLDAgKzEsNTIgQEAKK1NVTU1BUlkgPSAiUHJvdmlkZXMgY3J5cHRvZ3JhcGhpYyByZWNpcGVzIGFuZCBwcmltaXRpdmVzIHRvIFB5dGhvbiBkZXZlbG9wZXJzIgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIHwgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9OGMzNjE3ZGI0ZmI2ZmFlMDFmMWQyNTNhYjkxNTExZTQiCitERVBFTkRTICs9ICIgcHl0aG9uLWNmZmktbmF0aXZlIHB5dGhvbi1jZmZpIHB5dGhvbi1lbnVtMzQgcHl0aG9uLXNpeCBweXRob24tcHlhc24xIgorU1JDTkFNRSA9ICJjcnlwdG9ncmFwaHkiCisKK1NSQ19VUkkgPSAiZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIGZpbGU6Ly9idWlsZF9maXhfb3BlbnNzbF8xLjAuMWcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vUmVtb3ZlX1NTTHYyX2JpbmRpbmdzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL0NvbW1lbnRfbGluZ2VyaW5nX1NTTHYyX3N5bWJvbC5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gImRkMDZkYTQxNTM1MTg0ZjQ4ZjJjOGU4Yjc0ZGQ1NzBmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA1OWJjNjQyOGIxZDBlMjMxN2Y1MDU2OTg2MDI2NDJmMWQ4ZGRhNWIxMjBlYzU3M2E1OWE0MzBkOGNiN2EzMmQiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK1JERVBFTkRTXyR7UE59ID0gIlwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1weWFzbjFcCisgICAgICAgICAgICAgICAgICBweXRob24tc2l4XAorICAgICAgICAgICAgICAgICAgcHl0aG9uLWNmZmlcCisgICAgICAgICAgICAgICAgICBweXRob24tZW51bTM0XAorICAgICAgICAgICAgICAgICAgcHl0aG9uLXNldHVwdG9vbHNcCisgICAgICAgICAgICAgICAgICBweXRob24tcHljcGFyc2VyXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLXN1YnByb2Nlc3NcCisgICAgICAgICAgICAgICAgICBweXRob24tdGhyZWFkaW5nXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLW51bWJlcnNcCisgICAgICAgICAgICAgICAgICBweXRob24tY29udGV4dGxpYlwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1pcGFkZHJlc3NcCisgICAgICAgICAgICAgICAgICBweXRob24tcHlhc24xXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLWlkbmFcCisiCisKK1JERVBFTkRTXyR7UE59LXB0ZXN0ID0gIlwKKyAgICAgICAgICAgICAgICAgICAgICAgJHtQTn1cCisgICAgICAgICAgICAgICAgICAgICAgIHB5dGhvbi1weXRlc3RcCisgICAgICAgICAgICAgICAgICAgICAgIHB5dGhvbi1wcmV0ZW5kXAorICAgICAgICAgICAgICAgICAgICAgICBweXRob24taXNvODYwMVwKKyAgICAgICAgICAgICAgICAgICAgICAgcHl0aG9uLWNyeXB0b2dyYXBoeS12ZWN0b3JzXAorIgorCitpbmhlcml0IHB0ZXN0CisKK2RvX2luc3RhbGxfcHRlc3QoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cworICAgIGNwIC1yZiAke1N9L3Rlc3RzLyogJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMvCisgICAgaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy9oYXptYXQKKyAgICBjcCAtcmYgJHtTfS90ZXN0cy9oYXptYXQvKiAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy9oYXptYXQvCit9CisKK0ZJTEVTXyR7UE59LWRiZyArPSAiIFwKKyAgICAke2xpYmRpcn0vcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvJHtTUkNOQU1FfS9oYXptYXQvYmluZGluZ3MvLmRlYnVnIFwKKyAgICAiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jeXRob24uaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3l0aG9uLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTk0NWI1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3l0aG9uLmluYwpAQCAtMCwwICsxLDIxIEBACitERVNDUklQVElPTiA9ICJDeXRob24gaXMgYSBsYW5ndWFnZSBzcGVjaWFsbHkgZGVzaWduZWQgZm9yIHdyaXRpbmcgUHl0aG9uIGV4dGVuc2lvbiBtb2R1bGVzLiBcCitJdCdzIGRlc2lnbmVkIHRvIGJyaWRnZSB0aGUgZ2FwIGJldHdlZW4gdGhlIG5pY2UsIGhpZ2gtbGV2ZWwsIGVhc3ktdG8tdXNlIHdvcmxkIG9mIFB5dGhvbiBcCithbmQgdGhlIG1lc3N5LCBsb3ctbGV2ZWwgd29ybGQgb2YgQy4iCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT1lMjNmYWRkNmNlZWY4YzYxOGZjMWM2NTE5MWQ4NDZmYSIKK1NSQ05BTUUgPSAiQ3l0aG9uIgorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5jeXRob24ub3JnL3JlbGVhc2UvJHtTUkNOQU1FfS0ke1BWfS50YXIuZ3oiCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1BWfSIKKworU1JDX1VSSVttZDVzdW1dID0gIjE0ZmJjOTcwZjRhODU2ODQ1ZTYzM2NiYzA5ZTYxMDQ4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZkZTQ0ZDhjNDgyMTI4ZWZjMTIzMzQ2NDEzNDdhOWMzZTUwOThkODA3ZGQzYzY5ZTg2N2ZhOGY4NGVjMmEzZjEiCisKK1JERVBFTkRTXyR7UE59ICs9ICJcCisgICAgJHtQWVRIT05fUE59LW5ldHNlcnZlciBcCisgICAgJHtQWVRIT05fUE59LXN1YnByb2Nlc3MgXAorICAgICR7UFlUSE9OX1BOfS1zaGVsbCBcCisiCitSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3l0aG9uXzAuMjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jeXRob25fMC4yNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YmUwYjFlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3l0aG9uXzAuMjQuYmIKQEAgLTAsMCArMSw2IEBACitpbmhlcml0IHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLWN5dGhvbi5pbmMKKworUkRFUEVORFNfJHtQTn0gKz0gIlwKKyAgICBweXRob24tZGlzdHJpYnV0ZSBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kYWVtb25pemVfMi40LjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kYWVtb25pemVfMi40LjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjE3YjM2NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRhZW1vbml6ZV8yLjQuNi5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIkxpYnJhcnkgdG8gZW5hYmxlIHlvdXIgY29kZSBydW4gYXMgYSBkYWVtb24gcHJvY2VzcyBvbiBVbml4LWxpa2Ugc3lzdGVtcyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MTNlOTgyYmYxYjdiMTY0YjlkNmQxNjY1ZGFjODM4NzMiCitTUkNOQU1FID0gImRhZW1vbml6ZSIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gPSAiXAorICAgICAgICAgICAgICAgcHl0aG9uLWZjbnRsIFwKKyAgICAgICAgICAgICAgIHB5dGhvbi11bml4YWRtaW4gXAorICAgICAgICAgICAgICAgcHl0aG9uLWxvZ2dpbmcgXAorICAgICAgICAgICAgICAgcHl0aG9uLXJlc291cmNlIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjE3YmM3ODhhODUyNGIxMDRkNDYzOWE2ODYyMzQ2MWUzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhhYTY2YmFkOWFhMTBjNjgyMzAyYTRlYTk2NzU4NzQxOTEzMDRhZGViMzIzOWUwNzc2ZjFjYTMwNDFkMzA2MTkiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kYXRldXRpbC5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kYXRldXRpbC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTk0NGVmMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRhdGV1dGlsLmluYwpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIkV4dGVuc2lvbnMgdG8gdGhlIHN0YW5kYXJkIFB5dGhvbiBkYXRldGltZSBtb2R1bGUiCitERVNDUklQVElPTiA9ICJUaGUgZGF0ZXV0aWwgbW9kdWxlIHByb3ZpZGVzIHBvd2VyZnVsIGV4dGVuc2lvbnMgdG8gdGhlIGRhdGV0aW1lIG1vZHVsZSBhdmFpbGFibGUgaW4gdGhlIFB5dGhvbiBzdGFuZGFyZCBsaWJyYXJ5LiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZGF0ZXV0aWwucmVhZHRoZWRvY3Mub3JnIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT01MTQzMGIzM2M5MDBmNDVmOTk5YzQ1OWVlMjljYTQ5MyIKK1BSID0gInIwIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZWFmZTE2OGU4ZjQwNGJmMzg0NTE0ZjUxMTZlZWRiYjYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDYzOTA3ZWY0N2Y2ZTE4N2I4ZmUwNzI4OTUyZTRlZmZiNTg3YTM0ZjJkYzM1Njg4ODY0NmY5YjcxZmJiMmU0YiIKKworUFlQSV9QQUNLQUdFID0gInB5dGhvbi1kYXRldXRpbCIKK2luaGVyaXQgcHlwaSAKKworUEFDS0FHRVMgPSsgIiR7UE59LXpvbmVpbmZvIgorRklMRVNfJHtQTn0tem9uZWluZm8gPSAiJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9kYXRldXRpbC96b25laW5mbyIKKworUkRFUEVORFNfJHtQTn0gPSAiXAorICAgICR7UFlUSE9OX1BOfS1jb3JlIFwKKyAgICAke1BZVEhPTl9QTn0tZGF0ZXRpbWUgXAorICAgICR7UFlUSE9OX1BOfS1zaXggXAorICAgICIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRhdGV1dGlsXzIuNS4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGF0ZXV0aWxfMi41LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTJhZTRjMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRhdGV1dGlsXzIuNS4yLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi1kYXRldXRpbC5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRidXNtb2NrLzAwMDEtQWRkLWZ1bmN0aW9uYWxpdHktdG8tYWRkLW93bi1vYmplY3RzLXRvLWludGVybmFsLW9iai5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRidXNtb2NrLzAwMDEtQWRkLWZ1bmN0aW9uYWxpdHktdG8tYWRkLW93bi1vYmplY3RzLXRvLWludGVybmFsLW9iai5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZGQwMGI2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGJ1c21vY2svMDAwMS1BZGQtZnVuY3Rpb25hbGl0eS10by1hZGQtb3duLW9iamVjdHMtdG8taW50ZXJuYWwtb2JqLnBhdGNoCkBAIC0wLDAgKzEsNTMgQEAKK0Zyb20gZWViZTBmNjY0MzVjNGQ4MjFiMGY1ZjkzZjY5ZWZlMTdiNGEzODRjMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFNpbW9uIEJ1c2NoIDxzaW1vbi5idXNjaEBsZ2UuY29tPgorRGF0ZTogV2VkLCA5IEFwciAyMDE0IDEzOjE4OjMzICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMS8yXSBBZGQgZnVuY3Rpb25hbGl0eSB0byBhZGQgb3duIG9iamVjdHMgdG8gaW50ZXJuYWwgb2JqZWN0CisgbGlzdAorCitJbiBzb21lIGNhc2UgdGhlIHRlc3RzIG1pZ2h0IHdhbnQgdG8gY3JlYXRlIGR5bmFtaWNhbGx5IGRidXMgb2JqZWN0cyB3aGljaCBleHRlbmRlZAorZnVuY3Rpb25hbGl0eSBmcm9tIG93biBjbGFzcyBkZWZpbml0aW9ucyB3aXRoaW4gdGVtcGxhdGVzLiBJbiBzdWNoIGNhc2VzIHdlIG5lZWQgdG8KK3JlZ2lzdGVyIHRob3NlIG9iamVjdHMgd2l0aCB0aGUgaW50ZXJuYWwgb2JqZWN0IG1hbmFnZXIgb2YgZGJ1c21vY2suCisKK1NpZ25lZC1vZmYtYnk6IFNpbW9uIEJ1c2NoIDxzaW1vbi5idXNjaEBsZ2UuY29tPgorLS0tCisgZGJ1c21vY2svX19pbml0X18ucHkgICB8ICAgIDQgKystLQorIGRidXNtb2NrL21vY2tvYmplY3QucHkgfCAgICA4ICsrKysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZGJ1c21vY2svX19pbml0X18ucHkgYi9kYnVzbW9jay9fX2luaXRfXy5weQoraW5kZXggZjc5OWNjNy4uNjcxOGMwNiAxMDA2NDQKKy0tLSBhL2RidXNtb2NrL19faW5pdF9fLnB5CisrKysgYi9kYnVzbW9jay9fX2luaXRfXy5weQorQEAgLTE0LDggKzE0LDggQEAgX19saWNlbnNlX18gPSAnTEdQTCAzKycKKyBfX3ZlcnNpb25fXyA9ICcwLjEwLjEnCisgCisgZnJvbSBkYnVzbW9jay5tb2Nrb2JqZWN0IGltcG9ydCAoREJ1c01vY2tPYmplY3QsIE1PQ0tfSUZBQ0UsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT0JKRUNUX01BTkFHRVJfSUZBQ0UsIGdldF9vYmplY3QsIGdldF9vYmplY3RzKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9CSkVDVF9NQU5BR0VSX0lGQUNFLCBnZXRfb2JqZWN0LCBnZXRfb2JqZWN0cywgYWRkX29iamVjdCkKKyBmcm9tIGRidXNtb2NrLnRlc3RjYXNlIGltcG9ydCBEQnVzVGVzdENhc2UKKyAKKyBfX2FsbF9fID0gWydEQnVzTW9ja09iamVjdCcsICdNT0NLX0lGQUNFJywgJ09CSkVDVF9NQU5BR0VSX0lGQUNFJywKKy0gICAgICAgICAgICdEQnVzVGVzdENhc2UnLCAnZ2V0X29iamVjdCcsICdnZXRfb2JqZWN0cyddCisrICAgICAgICAgICAnREJ1c1Rlc3RDYXNlJywgJ2dldF9vYmplY3QnLCAnZ2V0X29iamVjdHMnLCAnYWRkX29iamVjdCddCitkaWZmIC0tZ2l0IGEvZGJ1c21vY2svbW9ja29iamVjdC5weSBiL2RidXNtb2NrL21vY2tvYmplY3QucHkKK2luZGV4IDk3Yjc5Y2UuLmE5OGUwM2QgMTAwNjQ0CistLS0gYS9kYnVzbW9jay9tb2Nrb2JqZWN0LnB5CisrKysgYi9kYnVzbW9jay9tb2Nrb2JqZWN0LnB5CitAQCAtNjgyLDYgKzY4MiwxNCBAQCBkYnVzLnNlcnZpY2UuX21ldGhvZF9sb29rdXAgPSBfZGJ1c21vY2tfbWV0aG9kX2xvb2t1cAorICMgSGVscGVyIEFQSSBmb3IgdGVtcGxhdGVzCisgIworIAorK2RlZiBhZGRfb2JqZWN0KHBhdGgsIG9iaik6CisrICAgIGlmIHBhdGggaW4gb2JqZWN0czoKKysgICAgICAgIHJhaXNlIGRidXMuZXhjZXB0aW9ucy5EQnVzRXhjZXB0aW9uKAorKyAgICAgICAgICAgICAgICAnb3JnLmZyZWVkZXNrdG9wLkRCdXMuTW9jay5OYW1lRXJyb3InLAorKyAgICAgICAgICAgICAgICAnb2JqZWN0ICVzIGFscmVhZHkgZXhpc3RzJyAlIHBhdGgpCisrCisrICAgIG9iamVjdHNbcGF0aF0gPSBvYmoKKysKKyAKKyBkZWYgZ2V0X29iamVjdHMoKToKKyAgICAgJycnUmV0dXJuIGFsbCBleGlzdGluZyBvYmplY3QgcGF0aHMnJycKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kYnVzbW9jay8wMDAyLUFkZC1wb3NzaWJpbGl0eS10by1pbXBvcnQtdGVtcGxhdGVzLWZyb20tcGFja2FnZXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kYnVzbW9jay8wMDAyLUFkZC1wb3NzaWJpbGl0eS10by1pbXBvcnQtdGVtcGxhdGVzLWZyb20tcGFja2FnZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTgxNjk0ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRidXNtb2NrLzAwMDItQWRkLXBvc3NpYmlsaXR5LXRvLWltcG9ydC10ZW1wbGF0ZXMtZnJvbS1wYWNrYWdlcy5wYXRjaApAQCAtMCwwICsxLDI5IEBACitGcm9tIGZmMWRmZmQ1NjczYmNkMmNiZDk1NTRhZDYyNDc2ZDEwOGRiYzE4YWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBTaW1vbiBCdXNjaCA8c2ltb24uYnVzY2hAbGdlLmNvbT4KK0RhdGU6IFdlZCwgOSBBcHIgMjAxNCAxMzoyMDozMyArMDIwMAorU3ViamVjdDogW1BBVENIIDIvMl0gQWRkIHBvc3NpYmlsaXR5IHRvIGltcG9ydCB0ZW1wbGF0ZXMgZnJvbSBwYWNrYWdlcworCitEb2VzIG5vdCBoYXZlIGFueSB1bml0IHRlc3RzIHlldC4KKworU2lnbmVkLW9mZi1ieTogU2ltb24gQnVzY2ggPHNpbW9uLmJ1c2NoQGxnZS5jb20+CistLS0KKyBkYnVzbW9jay9tb2Nrb2JqZWN0LnB5IHwgICAgMyArKysKKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9kYnVzbW9jay9tb2Nrb2JqZWN0LnB5IGIvZGJ1c21vY2svbW9ja29iamVjdC5weQoraW5kZXggYTk4ZTAzZC4uOTUzMGMyYSAxMDA2NDQKKy0tLSBhL2RidXNtb2NrL21vY2tvYmplY3QucHkKKysrKyBiL2RidXNtb2NrL21vY2tvYmplY3QucHkKK0BAIC00OSw2ICs0OSw5IEBAIGRlZiBsb2FkX21vZHVsZShuYW1lKToKKyAKKyAgICAgICAgIHJldHVybiBtb2R1bGUKKyAKKysgICAgaWYgJy4nIGluIG5hbWU6CisrICAgICAgICByZXR1cm4gaW1wb3J0bGliLmltcG9ydF9tb2R1bGUobmFtZSkKKysKKyAgICAgcmV0dXJuIGltcG9ydGxpYi5pbXBvcnRfbW9kdWxlKCdkYnVzbW9jay50ZW1wbGF0ZXMuJyArIG5hbWUpCisgCisgCistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGJ1c21vY2tfMC4xMC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGJ1c21vY2tfMC4xMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1MjBiZmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kYnVzbW9ja18wLjEwLjEuYmIKQEAgLTAsMCArMSwyMSBAQAorIyBDb3B5cmlnaHQgKGMpIDIwMTQgTEcgRWxlY3Ryb25pY3MsIEluYy4KKworU1VNTUFSWSA9ICJXaXRoIHRoaXMgcHJvZ3JhbS9QeXRob24gbGlicmFyeSB5b3UgY2FuIGVhc2lseSBjcmVhdGUgbW9jayBvYmplY3RzIG9uIEQtQnVzIgorQVVUSE9SID0gIk1hcnRpbiBQaXR0IDxtYXJ0aW4ucGl0dEB1YnVudHUuY29tPiIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorCitMSUNFTlNFID0gIkdQTC0zLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lNmE2MDBmZDVlMWQ5Y2JkZTJkOTgzNjgwMjMzYWQwMiIKKworREVQRU5EUyArPSAicHl0aG9uLXB5Z29iamVjdCBweXRob24tZGJ1cyIKKworU1JDX1VSSSA9ICJodHRwczovL2xhdW5jaHBhZC5uZXQvJHtCUE59L3RydW5rLyR7UFZ9Lytkb3dubG9hZC8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiNzM3MGQzMjVjNGE3NTQ5NGRkNzE4ODVjYTY1Yjc5ZTgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDNhYWRjOTNiZGMyNmVhMThkNGQ3OGZjZmY3YjZjYjM0ZjRlMTg2MjNiYzVjYzQxY2Y5NTM5ZDY2M2NlZTExZSIKKworU1JDX1VSSSArPSAiIFwKKyAgICBmaWxlOi8vMDAwMS1BZGQtZnVuY3Rpb25hbGl0eS10by1hZGQtb3duLW9iamVjdHMtdG8taW50ZXJuYWwtb2JqLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1BZGQtcG9zc2liaWxpdHktdG8taW1wb3J0LXRlbXBsYXRlcy1mcm9tLXBhY2thZ2VzLnBhdGNoIFwKKyIKKworaW5oZXJpdCBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kZWNvcmF0b3IuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGVjb3JhdG9yLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NzEwMDEyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGVjb3JhdG9yLmluYwpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIlB5dGhvbiBkZWNvcmF0b3IgdXRpbGl0aWVzIgorREVTQ1JJUFRJT04gPSAiXAorVGhlIGFpbSBvZiB0aGUgZGVjb3JhdG9yIG1vZHVsZSBpdCB0byBzaW1wbGlmeSB0aGUgdXNhZ2Ugb2YgZGVjb3JhdG9ycyBcCitmb3IgdGhlIGF2ZXJhZ2UgcHJvZ3JhbW1lciwgYW5kIHRvIHBvcHVsYXJpemUgZGVjb3JhdG9ycyBieSBzaG93aW5nIFwKK3ZhcmlvdXMgbm9uLXRyaXZpYWwgZXhhbXBsZXMuIE9mIGNvdXJzZSwgYXMgYWxsIHRlY2huaXF1ZXMsIGRlY29yYXRvcnMgXAorY2FuIGJlIGFidXNlZCBhbmQgeW91IHNob3VsZCBub3QgdHJ5IHRvIHNvbHZlIGV2ZXJ5IHByb2JsZW0gd2l0aCBhIFwKK2RlY29yYXRvciwganVzdCBiZWNhdXNlIHlvdSBjYW4uIgorCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT00MWUyNGUwZTIzNWE5N2U2MGNkYjVjNDEzN2ZhMmNkMCIKKworU1JDX1VSSVttZDVzdW1dID0gImYxMmM1NjUxY2NkNzA3ZTEyYTBhYmFhNGY3NmNkNjlhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjkwMDIyZTgzMzE2MzYzNzg4YTU1MzUyZmUzOWNmYmVkMzU3YWEzYTcxZDkwZTVmMjgwM2EzNTQ3MWRlNGJiYTgiCisKK2luaGVyaXQgcHlwaQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGVjb3JhdG9yXzQuMC45LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGVjb3JhdG9yXzQuMC45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyNjIxNjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kZWNvcmF0b3JfNC4wLjkuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLWRlY29yYXRvci5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRqYW5nby1zb3V0aF8xLjAuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRqYW5nby1zb3V0aF8xLjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZDA3MWM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGphbmdvLXNvdXRoXzEuMC4yLmJiCkBAIC0wLDAgKzEsMTMgQEAKK1NVTU1BUlkgPSAiTWlncmF0aW9ucyBmb3IgRGphbmdvIgorREVTQ1JJUFRJT04gPSAiU291dGggaXMgYW4gaW50ZWxsaWdlbnQgZGF0YWJhc2UgbWlncmF0aW9ucyBsaWJyYXJ5IGZvciB0aGUgRGphbmdvIHdlYiBmcmFtZXdvcmsuIEl0IGlzIGRhdGFiYXNlLWluZGVwZW5kZW50IGFuZCBEVkNTLWZyaWVuZGx5LCBhcyB3ZWxsIGFzIGEgd2hvbGUgaG9zdCBvZiBvdGhlciBmZWF0dXJlcy4iCitIT01FUEFHRSA9ICJodHRwOi8vc291dGguYWVyYWNvZGUub3JnLyIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO2JlZ2lubGluZT0xNztlbmRsaW5lPTE4O21kNT0yMTU1ZDhhZTIxZTdjMjMxMDFkNWZlYmFjNjk2YjI3ZSIKKworU1JDX1VSSVttZDVzdW1dID0gImM3NmE5NzU4YjIwMTFiYzNiNmMzOWY4ODFiYmEyZjY2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQzNjBiZDMxODk4ZjlkZjU5ZjZmYWE3ODY1NTEwNjViYmE0NWIzNWU3ZWUzYzM5YjM4MWI0ZmJmZWY3MzkyZjQiCisKK1BZUElfUEFDS0FHRSA9ICJTb3V0aCIKK2luaGVyaXQgcHlwaSBkaXN0dXRpbHMKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kamFuZ29fMS44LjguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kamFuZ29fMS44LjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTU2YzU1NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRqYW5nb18xLjguOC5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIkEgaGlnaC1sZXZlbCBQeXRob24gV2ViIGZyYW1ld29yayIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZGphbmdvcHJvamVjdC5jb20vIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1mMDllYjQ3MjA2NjE0YTQ5NTRjNTFkYjhhOTQ4NDBmYSIKKworU1JDX1VSSVttZDVzdW1dID0gIjA4ZWNmODNiN2U5ZDA2NGVkN2UzOTgxZGRjM2E4YTE1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjgyNTUyNDJmYTBkOWUwYmYzMzEyNTlhNmJkYjgxMzY0OTMzYWNiZTg4NjMyOTE2NjE1NThmZmRiMmZjOWVkNzAiCisKK1BZUElfUEFDS0FHRSA9ICJEamFuZ28iCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9kamFuZ28iCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZG9taW5hdGVfMi4yLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kb21pbmF0ZV8yLjIuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZmVhYTdlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZG9taW5hdGVfMi4yLjAuYmIKQEAgLTAsMCArMSwxMCBAQAorU1VNTUFSWSA9ICJEb21pbmF0ZSBpcyBhIFB5dGhvbiBsaWJyYXJ5IGZvciBjcmVhdGluZyBhbmQgbWFuaXB1bGF0aW5nIEhUTUwgZG9jdW1lbnRzIHVzaW5nIGFuIGVsZWdhbnQgRE9NIEFQSS4iCitMSUNFTlNFID0gIkxHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO2JlZ2lubGluZT04O2VuZGxpbmU9ODttZDU9YTMwYjlhOGQwYTU1ODVjNDgyYzZjNWE2ZDU0YWFlYmMiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxNGVlMDM2MWRiN2ZiYWVkOTgyMjIwYzA5ZWY4ZTBiOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1MDMyNTU5ZTBmMDgzNTQxOTc2M2IzZDFkODhhZDMxZWE0ZmU0MDkzNTcxMmRiODYwMTRmMmEzNDFjODlmYTNkIgorCitQWVBJX1BBQ0tBR0VfRVhUID0gInppcCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWVudW0zNF8xLjEuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWVudW0zNF8xLjEuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDgzYmRhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZW51bTM0XzEuMS4yLmJiCkBAIC0wLDAgKzEsOCBAQAorU1VNTUFSWSA9ICJiYWNrcG9ydCBvZiBQeXRob24gMy40J3MgZW51bSBwYWNrYWdlIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9lbnVtL0xJQ0VOU0U7bWQ1PTBhOTdhNTNhNTE0NTY0YzIwZWZkN2IyZTg5NzZjODdlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDI1YmI3MWIzZjlkMmZhZDE1ZDBlZTUzZTQ4ZGM4NzMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjQ3NWQ3ZmNkZGY1OTUxZTkyZmY1NDY5NzI3NTg4MDJkZTUyNjBiZjQwOTMxOWE5ZjE5MzRlNmJiYzhiMWRjNyIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWVweWRvY18zLjAuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWVweWRvY18zLjAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNDc1MmQzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZXB5ZG9jXzMuMC4xLmJiCkBAIC0wLDAgKzEsMTEgQEAKK0RFU0NSSVBUSU9OID0gIkVweWRvYyBpcyBhIHRvb2wgZm9yIGdlbmVyYXRpbmcgQVBJIGRvY3VtZW50YXRpb24gZm9yIFB5dGhvbiBtb2R1bGVzLCBiYXNlZCBvbiB0aGVpciBkb2NzdHJpbmdzIiAKK0xJQ0VOU0UgPSAiTUlUIiAKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT0wMTFjMGQ3OGViNjA1NGQ3MzFjODc5MTMyZDczMTNmMCIKK0hPTUVQQUdFID0gImh0dHA6Ly9lcHlkb2Muc291cmNlZm9yZ2UubmV0LyIgCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjZGQ2ZjZjNzZkZDhiYWI1ZTY1M2EzNDNhMDU0NDI5NCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkNGU1YzhkOTA5MzdkMDFiMDUxNzBmNTkyYzFmYTliMjllOWVkMDQ5OGRmZTdmMGViMmEzYWY2MTcyNWI2YWQxIgorCitpbmhlcml0IHB5cGkgZGlzdHV0aWxzIAorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWV2ZGV2XzAuNi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZXZkZXZfMC42LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTU1NTU1MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWV2ZGV2XzAuNi4wLmJiCkBAIC0wLDAgKzEsMTIgQEAKK1NVTU1BUlkgPSAiUHl0aG9uIGV2ZGV2IGxpYiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9ndmFsa292L3B5dGhvbi1ldmRldiIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0xOGRlYmRkYmIzZjUyYzY2MWExMjk3MjRhODgzYThlMiIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vZ3ZhbGtvdi9weXRob24tZXZkZXYvYXJjaGl2ZS92JHtQVn0uemlwIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMjRlNGZmYTk4ZTMzOGI1MzVlYWU0NGQ5MWQ2MDkwMDUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjFmNjg5M2Q4MGRhODdhOTk1ZTU3ODFjNzRkMjJhMzk0NDhiMWIzMjAwNGZmYWMyZjMxODE3MDE3NzA5YmUwNCIKKworaW5oZXJpdCBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mZWVkZm9ybWF0dGVyLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZlZWRmb3JtYXR0ZXIuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhMDJhNGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mZWVkZm9ybWF0dGVyLmluYwpAQCAtMCwwICsxLDExIEBACitERVNDUklQVElPTiA9ICJBIFB5dGhvbiBsaWJyYXJ5IGZvciBnZW5lcmF0aW5nIG5ld3MgZmVlZHMgaW4gUlNTIGFuZCBBdG9tIGZvcm1hdHMiCitIT01FUEFHRSA9ICJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZmVlZGZvcm1hdHRlci8iCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjU4ZTNmMzllMjM4M2ZiZDAxMTAzNWQwNDMxMTAwOGQiCitTUkNSRVYgPSAiNzM5MTE5M2M4M2UxMDQyMGI1YTJkOGVmODQ2ZDIzZmMzNjhjNmQ4NSIKK1BSID0gInIwIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbWFyaWFub2d1ZXJyYS9mZWVkZm9ybWF0dGVyLmdpdCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZlZWRmb3JtYXR0ZXJfMC40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmVlZGZvcm1hdHRlcl8wLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTc1Zjk0NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZlZWRmb3JtYXR0ZXJfMC40LmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi1mZWVkZm9ybWF0dGVyLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmVlZHBhcnNlcl81LjIuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZlZWRwYXJzZXJfNS4yLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2FjMThiMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZlZWRwYXJzZXJfNS4yLjEuYmIKQEAgLTAsMCArMSw5IEBACitTVU1NQVJZID0gIlB5dGhvbiBBdG9tIGFuZCBSU1MgZmVlZCBwYXJzZXIiCitMSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWMyMWE3NzEzZWY2ZGMxYjk5NjQ0MDYxYzM5N2U3YzJhIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZDU1MmY3YTJhNTVlOGUzM2IyYTNmZTEwODI1MDViNDIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYmQwMzA2NTJjMmQwODUzMmMwMzRjMjdmY2Q3Yzg1ODY4ZTdmYTNjYjJiMTdmMjMwYTQ0YTZiYmM5MjUxOWJmOSIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2stYmNyeXB0XzAuNy4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2stYmNyeXB0XzAuNy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwODg4M2QKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1iY3J5cHRfMC43LjEuYmIKQEAgLTAsMCArMSwxMiBAQAorREVTQ1JJUFRJT04gPSAiQnJjcnlwdCBoYXNoaW5nIGZvciBGbGFzay4iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTBlZTJlZTViZWU3ZmU5NjU5Nzc3MGU5MmRiNTcxOWE4IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZDM0NWMzNmFjNjYzN2QzY2E5ZmE5NDJlMjM4ZDAwY2EiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDcxYzg1ODViMmVlMWM2MjAyNDM5MmViZGJjNDQ3NDM4NTY0ZTJjOGMwMmI0ZTU3YjU2YTRjYWZkOGQxM2M1ZiIKKworUFlQSV9QQUNLQUdFID0gIkZsYXNrLUJjcnlwdCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uLWJjcnlwdCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLWJvb3RzdHJhcF8zLjMuNS43LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2stYm9vdHN0cmFwXzMuMy41LjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWNmODlhZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLWJvb3RzdHJhcF8zLjMuNS43LmJiCkBAIC0wLDAgKzEsMTAgQEAKK0RFU0NSSVBUSU9OID0gIkFuIGV4dGVuc2lvbiB0aGF0IGluY2x1ZGVzIEJvb3RzdHJhcCBpbiB5b3VyIHByb2plY3QsIHdpdGhvdXQgYW55IGJvaWxlcnBsYXRlIGNvZGUuIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9QS0ctSU5GTzttZDU9ZjI3MGZiYjdkM2VhODg3MzFiZmMwMDkxNjc1MGM2YmMiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0NDcxYWQ2OGRiZjcxYTNjNjhlMDBiZDBlMTMwMWE5ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwMjBiZjlmY2NhNmQ2OWRjZTNiMTliY2I4MDg1MmRhOTI5YTJiMWFkZGU2Y2I0ZDQ3YTQ0MDJmNWNlNTRlZjc4IgorCitQWVBJX1BBQ0tBR0UgPSAiRmxhc2stQm9vdHN0cmFwIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2stbG9naW4uaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2stbG9naW4uaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1YzQ0MjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1sb2dpbi5pbmMKQEAgLTAsMCArMSwxNCBAQAorU1VNTUFSWSA9ICJVc2VyIHNlc3Npb24gbWFuYWdlbWVudCBmb3IgRmxhc2siCitERVNDUklQVElPTiA9ICJGbGFzay1Mb2dpbiBwcm92aWRlcyB1c2VyIHNlc3Npb24gbWFuYWdlbWVudCBmb3IgRmxhc2suIFwKK0l0IGhhbmRsZXMgdGhlIGNvbW1vbiB0YXNrcyBvZiBsb2dnaW5nIGluLCBsb2dnaW5nIG91dCwgYW5kIHJlbWVtYmVyaW5nIFwKK3lvdXIgdXNlcnPigJkgc2Vzc2lvbnMgb3ZlciBleHRlbmRlZCBwZXJpb2RzIG9mIHRpbWUuIgorSE9NRVBBR0UgPSAiIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXhjb3VudHJ5bWFuL2ZsYXNrLWxvZ2luIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT04YWE4N2ExY2Q5ZmE0MWQ5NjlhZDMyY2ZkYWMyYzU5NiIKKworU1JDX1VSSVttZDVzdW1dID0gImMwYTdlYWYyODYyM2YwYWVhYzQ5MjlkYzA1YTdhMDY0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjgzZDVmMTBlNWM0ZjIxNGZlZWQ2Y2M0MWMyMTJkYjYzYTU4YTE1YWMzMmU1NmRmODE1OTFiZmEwYTVjZWUzZTUiCisKK1BZUElfUEFDS0FHRSA9ICJGbGFzay1Mb2dpbiIKKworUkRFUEVORFNfJHtQTn0gPSAiJHtQWVRIT05fUE59LWZsYXNrIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2stbG9naW5fMC4yLjExLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2stbG9naW5fMC4yLjExLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxMGNlZGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1sb2dpbl8wLjIuMTEuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29scworcmVxdWlyZSBweXRob24tZmxhc2stbG9naW4uaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1uYXZpZ2F0aW9uXzAuMi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2stbmF2aWdhdGlvbl8wLjIuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZmY2YWJjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2stbmF2aWdhdGlvbl8wLjIuMC5iYgpAQCAtMCwwICsxLDEyIEBACitERVNDUklQVElPTiA9ICJUaGUgbmF2aWdhdGlvbiBvZiBGbGFzayBhcHBsaWNhdGlvbi4iCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO21kNT1hZjJlYzY5NWRjMWYzZWI3YmQ3NGY3OWE2OGEwZDc4OSIKKworU1JDX1VSSVttZDVzdW1dID0gImQxMDc1ZWUwMmEzZjY5ZGEzN2U1Y2FkYWQzMzk1ZjMxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM0MmQzMGVmYTk4OWNhODc3NDQ0YTQxMGU4YTFjZDI1NjM1NDZmOWVmZmUzZDlmZTM4OGVlZGY3YTZjNjkyODUiCisKK1BZUElfUEFDS0FHRSA9ICJGbGFzay1OYXZpZ2F0aW9uIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSA9ICJweXRob24tYmxpbmtlciIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLXB5bW9uZ28uaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2stcHltb25nby5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTM5MTEzYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLXB5bW9uZ28uaW5jCkBAIC0wLDAgKzEsMTMgQEAKK1NVTU1BUlkgPSAiUHlNb25nbyBzdXBwb3J0IGZvciBGbGFzayBhcHBsaWNhdGlvbnMiCitERVNDUklQVElPTiA9ICJQeU1vbmdvIHN1cHBvcnQgZm9yIEZsYXNrIGFwcGxpY2F0aW9ucy4iCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vbWl0c3VoaWtvL2ZsYXNrLyIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9mbGFza19weW1vbmdvL3dyYXBwZXJzLnB5O3N0YXJ0bGluZT0xO2VuZGxpbmU9MjQ7bWQ1PWRmZjk5OGQ1YTg0Njk1MDM2MTJlZTc3NTdmM2EyMDUyIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDU3YTIxMGYzNWJhNDlkMjYyM2RiY2YyN2ZiYjg5ZTEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzA3ZGRmZjkyZjViN2JkYzM0ZDQwMWYxZjM4NTdhM2QxYTlmNWRiYTc2ZTZhMTQyMmNjYmMzNjUxZTJjYTUyMSIKKworUFlQSV9QQUNLQUdFID0gIkZsYXNrLVB5TW9uZ28iCisKK1JERVBFTkRTXyR7UE59ID0gIiR7UFlUSE9OX1BOfS1weW1vbmdvICR7UFlUSE9OX1BOfS1mbGFzayIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLXB5bW9uZ29fMC40LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1weW1vbmdvXzAuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0MWQwMjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1weW1vbmdvXzAuNC4wLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLWZsYXNrLXB5bW9uZ28uaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1zcWxhbGNoZW15XzIuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLXNxbGFsY2hlbXlfMi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyNTg3MTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1zcWxhbGNoZW15XzIuMS5iYgpAQCAtMCwwICsxLDEyIEBACitERVNDUklQVElPTiA9ICJBZGRzIFNRTEFsY2hlbXkgc3VwcG9ydCB0byB5b3VyIEZsYXNrIGFwcGxpY2F0aW9uLiIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NWVkMWI4Y2M3NDE1MTVhODM1YTdmNmJmMmY2MmVmNGEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkYzE1ZmUwOGIwN2I0MzRkM2QyYzQwNjNiNDY3NGI3MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjNTI0NGRlNDRjYzg1ZDIyNjcxMTU2MjRkODNmYWVmM2Y5ZThmMDg4NzU2Nzg4Njk0ZjMwNWE1ZDVhZDEzN2M1IgorCitQWVBJX1BBQ0tBR0UgPSAiRmxhc2stU1FMQWxjaGVteSIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uLXNxbGFsY2hlbXkiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay13dGYvaW1wb3J0LXNpbXBsZWpzb24tYXMtanNvbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLXd0Zi9pbXBvcnQtc2ltcGxlanNvbi1hcy1qc29uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3OGY3MDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay13dGYvaW1wb3J0LXNpbXBsZWpzb24tYXMtanNvbi5wYXRjaApAQCAtMCwwICsxLDI4IEBACitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1N1YmplY3Q6IFtQQVRDSF0gaW1wb3J0IHNpbXBsZWpzb24gYXMganNvbgorCitBdCBydW50aW1lIHB5dGhvbi1GbGFzay1XVEYgdHJpZXMgdG8gaW1wb3J0IGpzb24sIGJ1dCB0aGUgbW9kdWxlIGlzIG5vdCAKK2F2YWlsYWJsZSwgaW1wb3J0IHNpbXBsZWpzb24gYXMganNvbiBzb2x2ZSB0aGUgaXNzdWUuCisKK1NpZ25lZC1vZmYtYnk6IEZhYmlvIEJlcnRvbiA8ZmFiaW8uYmVydG9uQG9zc3lzdGVtcy5jb20uYnI+CistLS0KKyBmbGFza193dGYvcmVjYXB0Y2hhL3ZhbGlkYXRvcnMucHkgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9mbGFza193dGYvcmVjYXB0Y2hhL3ZhbGlkYXRvcnMucHkgYi9mbGFza193dGYvcmVjYXB0Y2hhL3ZhbGlkYXRvcnMucHkKK2luZGV4IGJjZmYyM2QuLjRhMjQ0YmIgMTAwNjQ0CistLS0gYS9mbGFza193dGYvcmVjYXB0Y2hhL3ZhbGlkYXRvcnMucHkKKysrKyBiL2ZsYXNrX3d0Zi9yZWNhcHRjaGEvdmFsaWRhdG9ycy5weQorQEAgLTgsNyArOCw3IEBAIGZyb20gZmxhc2sgaW1wb3J0IHJlcXVlc3QsIGN1cnJlbnRfYXBwCisgZnJvbSB3dGZvcm1zIGltcG9ydCBWYWxpZGF0aW9uRXJyb3IKKyBmcm9tIHdlcmt6ZXVnIGltcG9ydCB1cmxfZW5jb2RlCisgZnJvbSAuLl9jb21wYXQgaW1wb3J0IHRvX2J5dGVzLCB0b191bmljb2RlCistaW1wb3J0IGpzb24KKytpbXBvcnQgc2ltcGxlanNvbiBhcyBqc29uCisgCisgUkVDQVBUQ0hBX1ZFUklGWV9TRVJWRVIgPSAnaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9yZWNhcHRjaGEvYXBpL3NpdGV2ZXJpZnknCisgUkVDQVBUQ0hBX0VSUk9SX0NPREVTID0geworLS0gCisyLjEuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay13dGZfMC4xMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLXd0Zl8wLjEyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5YWZhZjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay13dGZfMC4xMi5iYgpAQCAtMCwwICsxLDE3IEBACitERVNDUklQVElPTiA9ICJTaW1wbGUgaW50ZWdyYXRpb24gb2YgRmxhc2sgYW5kIFdURm9ybXMuIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT01MDdlODYzNWYyNWEwNmRjNGYwNDFhM2ExYjMzNTliMyIKKworU1JDX1VSSVttZDVzdW1dID0gImM1M2E3NGU4YmE0ODFiZjUzNDA1ZmQ1ZWZkZjAzMzllIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImJkOTkzMTZjOTdlZDFkMWNiOTBiOGYwYzI0MmM4NjQyMGE4OTFhNmEyMDU4ZjIwNzE3ZTQyNGJmNWIwYmI4MGUiCisKK1NSQ19VUkkgKz0gIiBmaWxlOi8vaW1wb3J0LXNpbXBsZWpzb24tYXMtanNvbi5wYXRjaCIKKworUFlQSV9QQUNLQUdFID0gIkZsYXNrLVdURiIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gPSAiXAorICAgIHB5dGhvbi13dGZvcm1zIFwKKyAgICBweXRob24tc2ltcGxlanNvbiBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDkyMzcyNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLmluYwpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIkEgbWljcm9mcmFtZXdvcmsgYmFzZWQgb24gV2Vya3pldWcsIEppbmphMiBhbmQgZ29vZCBpbnRlbnRpb25zIgorREVTQ1JJUFRJT04gPSAiXAorRmxhc2sgaXMgYSBtaWNyb2ZyYW1ld29yayBmb3IgUHl0aG9uIGJhc2VkIG9uIFdlcmt6ZXVnLCBKaW5qYSAyIGFuZCBnb29kIFwKK2ludGVudGlvbnMuIEFuZCBiZWZvcmUgeW91IGFzazogSXTigJlzIEJTRCBsaWNlbnNlZCEiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vbWl0c3VoaWtvL2ZsYXNrLyIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NzlhYThiN2JjNGY3ODEyMTBkNmI1YzA2ZDY0MjRjYjAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzNzg2NzBmZTQ1Njk1N2ViM2MyN2RkYWVmNjBiMmIyNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0YzgzODI5ZmY4M2Q0MDhiNWUxZDQ5OTU0NzIyNjU0MTFkMmM0MTQxMTIyOThmMmViNGIzNTlkOWU0NTYzMzczIgorCitQWVBJX1BBQ0tBR0UgPSAiRmxhc2siCisKK1JERVBFTkRTXyR7UE59ID0gIiR7UFlUSE9OX1BOfS13ZXJremV1ZyAke1BZVEhPTl9QTn0tamluamEyICR7UFlUSE9OX1BOfS1pdHNkYW5nZXJvdXMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFza18wLjEwLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFza18wLjEwLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTBhMjhhYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrXzAuMTAuMS5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi1mbGFzay5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsdWZsLWVudW1fNC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmx1ZmwtZW51bV80LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWYxMDg0OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsdWZsLWVudW1fNC4xLmJiCkBAIC0wLDAgKzEsMjQgQEAKK1NVTU1BUlkgID0gIkEgUHl0aG9uIGVudW1lcmF0aW9uIHBhY2thZ2UuIgorREVTQ1JJUFRJT04gPSAiVGhlIGZsdWZsLmVudW0gbGlicmFyeSBpcyBhIFB5dGhvbiBlbnVtZXJhdGlvbiBwYWNrYWdlLiBJdHMgZ29hbCBpcyB0byBwcm92aWRlIHNpbXBsZSwgXAorc3BlY2lmaWMsIGNvbmNpc2Ugc2VtYW50aWNzIGluIGFuIGVhc3kgdG8gcmVhZCBhbmQgd3JpdGUgc3ludGF4LiBmbHVmbC5lbnVtIGhhcyBqdXN0IGVub3VnaCBvZiB0aGUgXAorZmVhdHVyZXMgbmVlZGVkIHRvIG1ha2UgZW51bWVyYXRpb25zIHVzZWZ1bCwgYnV0IHdpdGhvdXQgYSBsb3Qgb2YgZXh0cmEgYmFnZ2FnZSB0byB3ZWlnaCB0aGVtIGRvd24uICIKKworTElDRU5TRSA9ICJMR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9QS0ctSU5GTztzdGFydGxpbmU9ODtlbmRsaW5lPTk7bWQ1PTI1MGFkYjRjNzRjMzU5YjcwNDlhYmNkOWQ2YjExNWU3IgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDYxNzc5Mzg0YzA3ZWQyYjVmNTU0YTVkNTFhMDAwYzQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTRkYTE0MTNiYTA4NTQ3MzY1MmY4MTU2NTg0NzkxM2VhMTU0M2QxNzM5OTcyZWNiZDZhZmU1N2Q3YjFiNjhiNCIKKworUFlQSV9QQUNLQUdFID0gImZsdWZsLmVudW0iCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitQQUNLQUdFUyA9KyAiXCAgCisgICAgJHtQTn0tdGVzdCBcCisiCisKK0ZJTEVTXyR7UE59LWRvYyArPSAiXAorICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvZmx1ZmwvZW51bS8qLnJzdCBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9mbHVmbC9lbnVtL2RvY3MgXAorIgorCitGSUxFU18ke1BOfS10ZXN0ICs9ICIke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL2ZsdWZsL2VudW0vdGVzdHMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1nZGF0YV8xLjIuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdkYXRhXzEuMi40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyMDU1ODQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1nZGF0YV8xLjIuNC5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIkdvb2dsZSBEYXRhIEFQSXMgUHl0aG9uIENsaWVudCBMaWJyYXJ5IgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUUudHh0O21kNT00NzNiZDRkZmYwZGRjYTFmOTU4MjQ0YjJkYzdhMTYyYyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9nZGF0YS1weXRob24tY2xpZW50LyIKKworaW5oZXJpdCBkaXN0dXRpbHMKKworU1JDX1VSSSA9ICJodHRwOi8vZ2RhdGEtcHl0aG9uLWNsaWVudC5nb29nbGVjb2RlLmNvbS9maWxlcy9nZGF0YS5weS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiNTIxZjMzYTM3N2Q2NGY4YTY1MDViYTExOTQxNWI3ODciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZmM1ZGRiOGY3NmIxN2FiZDcyODcyMWEwZTAxNzdlYTM1ZjU1YTcwMTA2ZjQ0ZGM5MDEwYjIyZWNlYjA2YWJkZSIKKworUyA9ICIke1dPUktESVJ9L2dkYXRhLnB5LSR7UFZ9IgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfSIKKworUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uLXhtbCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdldmVudF8wLjEzLjguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1nZXZlbnRfMC4xMy44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxYzBhM2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1nZXZlbnRfMC4xMy44LmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiQSBjb3JvdXRpbmUtYmFzZWQgUHl0aG9uIG5ldHdvcmtpbmcgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gImdldmVudCBpcyBhIGNvcm91dGluZS1iYXNlZCBQeXRob24gbmV0d29ya2luZyBsaWJyYXJ5IHRoYXQgdXNlcyBncmVlbmxldCB0byBwcm92aWRlIFwKK2EgaGlnaC1sZXZlbCBzeW5jaHJvbm91cyBBUEkgb24gdG9wIG9mIHRoZSBsaWJldmVudCBldmVudCBsb29wLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ2V2ZW50Lm9yZyIKK0xJQ0VOU0UgPSAiTUlUICYgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MmRiYjMzZDAwZTFmZDMxYzcwNDE0NjBhODFhYzBiZDIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vTElDRU5TRS5weWV2ZW50O21kNT03MTgwNzBjNjNkZTI0MzA1M2UyYzYxNjI2OGIwMGZkZCIKK0RFUEVORFMgKz0gInB5dGhvbi1ncmVlbmxldCBsaWJldmVudCIKK1JERVBFTkRTXyR7UE59ICs9ICJweXRob24tZ3JlZW5sZXQgcHl0aG9uLW1pbWUgcHl0aG9uLXBwcmludCBweXRob24tcmUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjYTlkY2FhNzg4MDc2MmQ4ZWJiYzI2NmIxMTI1Mjk2MCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1NGI4ZDI2MzAwY2U0MDhjMDkxNmEzZTYzZWY2Y2QzZTZhY2E3NjIzMDgzMzU1OGRlYjdkZTE1MTk2ZWQ5NTVlIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1ncmVlbmxldF8wLjQuNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdyZWVubGV0XzAuNC43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2OWViNjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1ncmVlbmxldF8wLjQuNy5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIlB5dGhvbiBsaWdodHdlaWdodCBpbi1wcm9jZXNzIGNvbmN1cnJlbnQgcHJvZ3JhbW1pbmciCitMSUNFTlNFID0gIk1JVCAmIFBTRiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTAzMTQzZDdhMWE5ZjVkOGEwZmVlODI1ZjI0Y2E5YzM2IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0UuUFNGO21kNT1jMTA2OTMxZDk0MjllZGEwNDkyNjE3ZjAzN2I4ZjY5YSIKKworU1JDX1VSSVttZDVzdW1dID0gImMyMzMzYThmZjMwZmE3NWM1ZDVlYzBlNjdiNDYxMDg2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImYzMmM0ZmE0ZTA2NDQzZTFiZGIwZDMyYjY5ZTc2MTdjMjVmZjc3MmMzZmZjNmQwYWE2M2QxOTJlOWZkNzk1ZmUiCisKK1BZUElfUEFDS0FHRV9FWFQgPSAiemlwIgoraW5oZXJpdCBweXBpIGRpc3R1dGlscworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1odG1sNWxpYl8wLjk5OTk5OTkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1odG1sNWxpYl8wLjk5OTk5OTkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmI5MmU1OQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWh0bWw1bGliXzAuOTk5OTk5OS5iYgpAQCAtMCwwICsxLDggQEAKK1NVTU1BUlkgPSAiSFRNTCBwYXJzZXIgYmFzZWQgb24gdGhlIFdIQVRXRyBIVE1MIHNwZWNpZmNhdGlvbiIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MWJhNWFkYTllNmZlYWQxZmRjMzJmNDNjOWYxMGJhN2MiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlZjQzY2IwNWU5ZTc5OWYyNWQ2NWQxMTM1ODM4YTk2ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyNjEyYTE5MWE4ZDU4NDJiZmEwNTdlNDFiYTUwYmJiOWRjYjcyMjQxOWQyNDA4Yzc4Y2ZmNDc1OGQwNzU0ODY4IgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taWRuYV8yLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pZG5hXzIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MGY0N2FlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taWRuYV8yLjEuYmIKQEAgLTAsMCArMSwxMSBAQAorU1VNTUFSWSA9ICJJbnRlcm5hdGlvbmFsaXNlZCBEb21haW4gTmFtZXMgaW4gQXBwbGljYXRpb25zIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2tqZC9pZG5hIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UgJiBQeXRob24tMi4wICYgVW5pY29kZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UucnN0O21kNT0xMzRiZGFkNzk0OTFjMzdiZGFlMzI4MTE1NzJiNGJjNiIKKworREVQRU5EUyArPSAicHl0aG9uLXBpcCIKKworU1JDX1VSSVttZDVzdW1dID0gImY2NDczY2FhOWM1ZTBjYzFhZDNmZDVkMDRjM2MxMTRiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImVkMzZmMjgxYWViZjNjZDA3OTdmMTYzYmIxNjVkODRjMzE1MDdjZWRkMTU5MjhiMDk1YjE2NzVlMmQwNGM2NzYiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pcGFkZHJlc3NfMS4wLjE2LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taXBhZGRyZXNzXzEuMC4xNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZTk3ZWY3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taXBhZGRyZXNzXzEuMC4xNi5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIlB5dGhvbiAzLjMrJ3MgaXBhZGRyZXNzIGZvciBQeXRob24gMi42LCAyLjcsIDMuMi4iCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vcGhpaGFnL2lwYWRkcmVzcyIKK0xJQ0VOU0UgPSAiUHl0aG9uLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTdmNTM4NTg0Y2MzNDA3YmY3NjA0MmRlZjcxNjg1NDhhIgorCitERVBFTkRTICs9ICJweXRob24tcGlwIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMWUyN2I2MmFhMjBmNWI2ZmMyMDBiMmJkYmYwZDA4NDciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWEzMTgyYjMyMmE3MDY1MjVjNDYyODJjYTZmMDY0ZDI3YTAyY2ZmYmQ0NDlmOWY0NzQxNmYxZGM5NmFhNzFiMCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWlzbzg2MDFfMC4xLjExLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taXNvODYwMV8wLjEuMTEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDg0Y2YxMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWlzbzg2MDFfMC4xLjExLmJiCkBAIC0wLDAgKzEsOCBAQAorU1VNTUFSWSA9ICJTaW1wbGUgbW9kdWxlIHRvIHBhcnNlIElTTyA4NjAxIGRhdGVzIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1iMDU2MjVmMjMzNmZhMDI0ZThkNTdlNjVjNjU5NTg0NCIKKworU1JDX1VSSVttZDVzdW1dID0gImIwNmQxMWNkMTRhNjQwOTZmOTA3MDg2MDQ0ZjBmZTM4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU4ZmI1MmY3ODg4MGFlMDYzMzM2Yzk0ZWI1Yjg3YjE4MWU2YTBjYzMzYTZjMDA4NTExYmFjOWE2ZTk4MGVmMzAiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pdHNkYW5nZXJvdXMuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taXRzZGFuZ2Vyb3VzLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Mzk1MWZhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taXRzZGFuZ2Vyb3VzLmluYwpAQCAtMCwwICsxLDkgQEAKK1NVTU1BUlkgPSAiVmFyaW91cyBoZWxwZXJzIHRvIHBhc3MgdHJ1c3RlZCBkYXRhIHRvIHVudHJ1c3RlZCBlbnZpcm9ubWVudHMgYW5kIGJhY2suIgorSE9NRVBBR0UgPSAiaHR0cDovL2dpdGh1Yi5jb20vbWl0c3VoaWtvL2l0c2Rhbmdlcm91cyIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YjYxODQxZTJiZjVmMDc4ODQxNDhlMmE2ZjFiY2FiMGMiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhM2Q1NWFhNzkzNjlhZWY1MzQ1YzAzNmE4YTI2MzA3ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjYmIzZmNmOGQzZTMzZGY4NjE3MDllY2FmODlkOWU2NjI5Y2ZmMGEyMTdiYzI4NDhmMWI0MWNkMzBkMzYwNTE5IgorCitDTEVBTkJST0tFTiA9ICIxIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taXRzZGFuZ2Vyb3VzXzAuMjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pdHNkYW5nZXJvdXNfMC4yNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZTE1NmJlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taXRzZGFuZ2Vyb3VzXzAuMjQuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29scworcmVxdWlyZSBweXRob24taXRzZGFuZ2Vyb3VzLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tamluamEyLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWppbmphMi5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjZlZTc5YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWppbmphMi5pbmMKQEAgLTAsMCArMSwxNSBAQAorREVTQ1JJUFRJT04gPSAiUHl0aG9uIEppbmphMjogQSBzbWFsbCBidXQgZmFzdCBhbmQgZWFzeSB0byB1c2Ugc3RhbmQtYWxvbmUgdGVtcGxhdGUgZW5naW5lIHdyaXR0ZW4gaW4gcHVyZSBweXRob24uIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0yMGM4MzFmOTFkZDNiZDQ4NjAyMGY2NzJiYTJiZTM4NiIKKworUFIgPSAicjAiCitQWVBJX1BBQ0tBR0UgPSAiSmluamEyIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZWRiNTE2OTNmZTIyYzUzY2VlNTQwMzc3NWM3MWE5OWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYmMxZmYyZmY4OGRiZmFjZWZkZTRkZGRlNDcxZDE0MTdkM2IzMDRlOGRmMTAzYTdhOTQzN2Q0NzI2OTIwMWJmNCIKKworUkRFUEVORFNfJHtQTn0gKz0gIiR7UFlUSE9OX1BOfS1pbyAke1BZVEhPTl9QTn0tcGlja2xlICR7UFlUSE9OX1BOfS1jcnlwdCBcCisgICAgJHtQWVRIT05fUE59LW1hdGggJHtQWVRIT05fUE59LW5ldGNsaWVudCAke1BZVEhPTl9QTn0tcmUgJHtQWVRIT05fUE59LXRleHR1dGlscyBcCisgICAgJHtQWVRIT05fUE59LWxhbmcgJHtQWVRIT05fUE59LXBwcmludCAke1BZVEhPTl9QTn0tc2hlbGwgJHtQWVRIT05fUE59LW1hcmt1cHNhZmUiCisKK0NMRUFOQlJPS0VOID0gIjEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1qaW5qYTJfMi44LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tamluamEyXzIuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYzhlN2VkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tamluamEyXzIuOC5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi1qaW5qYTIuaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1qc29ucGF0Y2hfMS4xMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWpzb25wYXRjaF8xLjEzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4NWJhNTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1qc29ucGF0Y2hfMS4xMy5iYgpAQCAtMCwwICsxLDEyIEBACitTVU1NQVJZICA9ICJBcHBsaW5nIEpTT04gcGF0Y2hlcyBpbiBQeXRob24gMi42KyBhbmQgMy54IgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3N0ZWZhbmtvZWdsL3B5dGhvbi1qc29uLXBhdGNoIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zMmIxNWM4NDNiN2EzMjkxMzBmNGUyNjZhMjgxZWJiMyIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworU1JDX1VSSVttZDVzdW1dID0gIjRkNjY1MGNlZDY4M2Y2MzJlMTE3YmFmZTVkOWYwOTNiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk0NzA2NTZhMDgwMDJlMzA5NjMyYjU5NzcyYjIwNmNlMDU2NGM5YTc3YjQ0YzI1ZjA1ZjQ5ZGQyY2FkMjQ4ZDUiCisKK1JERVBFTkRTXyR7UE59ICs9ICJweXRob24tcmUgcHl0aG9uLWpzb24gcHl0aG9uLWpzb25wb2ludGVyIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1qc29ucG9pbnRlcl8xLjEwLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tanNvbnBvaW50ZXJfMS4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZWM4NzcyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tanNvbnBvaW50ZXJfMS4xMC5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIlJlc29sdmUgSlNPTiBQb2ludGVycyBpbiBQeXRob24iCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vc3RlZmFua29lZ2wvcHl0aG9uLWpzb24tcG9pbnRlciIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzJiMTVjODQzYjdhMzI5MTMwZjRlMjY2YTI4MWViYjMiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkNjhjMGM2YWQ2ODg5ZTljOTRlYzBmZWJhNzE5ZTQ1ZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5ZmE1ZGNhYzM1ZWVmZDUzZTI1ZDZjZDRjMzEwZDk2M2M5ZjBiODk3NjQxNzcyY2Q2ZTVlN2I4OWRmN2VlMGIxIgorCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uLXJlIHB5dGhvbi1qc29uIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbGRhcC9zZXR1cC5jZmcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1sZGFwL3NldHVwLmNmZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNzAzZDM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbGRhcC9zZXR1cC5jZmcucGF0Y2gKQEAgLTAsMCArMSwxNCBAQAorLS0tIHB5dGhvbi1sZGFwLTIuMy45L3NldHVwLmNmZy5vcmlnICAgIDIwMDktMDgtMTMgMTE6MDc6MjMuMDAwMDAwMDAwICswMjAwCisrKysgcHl0aG9uLWxkYXAtMi4zLjkvc2V0dXAuY2ZnIDIwMDktMDgtMTMgMTE6MDc6MzcuMDAwMDAwMDAwICswMjAwCitAQCAtMSw5ICsxLDkgQEAKKyBbX2xkYXBdCisgZXh0cmFfb2JqZWN0cyA9IAorIGV4dHJhX2NvbXBpbGVfYXJncyA9IAorLWxpYnMgPSBsZGFwX3IgbGJlciBzYXNsMiBzc2wgY3J5cHRvCisrbGlicyA9IGxkYXBfciBsYmVyIHNzbCBjcnlwdG8KKyBsaWJyYXJ5X2RpcnMgPSAvb3B0L29wZW5sZGFwLVJFMjQvbGliCistaW5jbHVkZV9kaXJzID0gL29wdC9vcGVubGRhcC1SRTI0L2luY2x1ZGUgL3Vzci9pbmNsdWRlL3Nhc2wKKytpbmNsdWRlX2RpcnMgPSAvb3B0L29wZW5sZGFwLVJFMjQvaW5jbHVkZQorCisgW2VnZ19pbmZvXQorIHRhZ19idWlsZCA9ICAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWxkYXBfMi4zLjkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1sZGFwXzIuMy45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0ZTY1ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1sZGFwXzIuMy45LmJiCkBAIC0wLDAgKzEsMTIgQEAKK1NVTU1BUlkgPSAiTERBUCBjbGllbnQgQVBJIGZvciBQeXRob24sIEMgd3JhcHBlciBtb2R1bGUgYXJvdW5kIE9wZW5MREFQIDIueCB3aXRoIGFuIG9iamVjdC1vcmllbnRlZCBBUEkiIAorTElDRU5TRSA9ICJQeXRob24tc3R5bGUiIAorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5DRTttZDU9YTQxYzgyZWRmZmEwNDkxMjAwN2NhZTFkMjBjYWM1NTUiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnB5dGhvbi1sZGFwLm9yZy8iIAorREVQRU5EUyA9ICJweXRob24gb3BlbmxkYXAiIAorCitTUkNfVVJJID0gImZpbGU6Ly9zZXR1cC5jZmcucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiYTlmOWYxNjMzODI4OGQxMThhMWFlNjI2NmM5OTMyNDciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjJmNzViMjFjNWVlNzQ0NDA4YzlkOGI1OTg3ODMyOGIzYmRmNDc4OTlkMzBlOGFiZjBjMDliM2ZmYjg5M2VkNCIKKworUFlQSV9QQUNLQUdFID0gInB5dGhvbi1sZGFwIgoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMgIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbGRhcF8yLjQuMTAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1sZGFwXzIuNC4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTZhZTdlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbGRhcF8yLjQuMTAuYmIKQEAgLTAsMCArMSwyNCBAQAorIworIyBDb3B5cmlnaHQgKEMpIDIwMTIgV2luZCBSaXZlciBTeXN0ZW1zLCBJbmMuCisjCitTVU1NQVJZID0gIlByb3ZpZGVzIGEgd3JhcHBlciBpbiBQeXRob24gdG8gTERBUCIKK0RFU0NSSVBUSU9OID0gIlRoaXMgbW9kdWxlIHByb3ZpZGVzIGFjY2VzcyB0byB0aGUgTERBUCBcCisoTGlnaHR3ZWlnaHQgRGlyZWN0b3J5IEFjY2VzcyBQcm90b2NvbCkgdGhyb3VnaCBQeXRob24gb3BlcmF0aW9ucyBcCitpbnN0ZWFkIG9mIEMgQVBJLiBUaGUgbW9kdWxlIG1haW5seSBhY3RzIGFzIGEgd3JhcHBlciBmb3IgdGhlIFwKK09wZW5MREFQIDIueCBsaWJyYXJpZXMuIEVycm9ycyB3aWxsIGFwcGVhciBhcyBleGNlcHRpb25zLiIKKworTElDRU5TRSA9ICJQU0YiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnB5dGhvbi1sZGFwLm9yZy8iCitERVBFTkRTID0gInB5dGhvbiBvcGVubGRhcCBjeXJ1cy1zYXNsIgorCitQWVBJX1BBQ0tBR0UgPSAicHl0aG9uLWxkYXAiCitpbmhlcml0IHB5cGkgc2V0dXB0b29scyAgCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOQ0U7bWQ1PWE0MWM4MmVkZmZhMDQ5MTIwMDdjYWUxZDIwY2FjNTU1IgorU1JDX1VSSVttZDVzdW1dID0gImExNTgyN2NhMTNjOTBlOTEwMWU1ZTk0MDVjMWQ4M2JlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY3Y2M3ODAxYmYyNGMyOTM4NmFiOTk5NjZjZWI2OGQ2YTYwZmE5ZTA1NjZjYzk1YTRmYmIyYzQ2OTVhOGNlNTQiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAtZSAnczpebGlicmFyeV9kaXJzID0uKjo6JyBzZXR1cC5jZmcKKyAgICBzZWQgLWkgLWUgJ3M6XmluY2x1ZGVfZGlycyA9Lio6aW5jbHVkZV9kaXJzID0gPS91c3IvaW5jbHVkZS9zYXNsLzonIHNldHVwLmNmZworfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbHhtbC5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1seG1sLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDczNDE3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbHhtbC5pbmMKQEAgLTAsMCArMSw0MyBAQAorU1VNTUFSWSA9ICJQb3dlcmZ1bCBhbmQgUHl0aG9uaWMgWE1MIHByb2Nlc3NpbmcgbGlicmFyeSBjb21iaW5pbmcgbGlieG1sMi9saWJ4c2x0IHdpdGggdGhlIEVsZW1lbnRUcmVlIEFQSS4iCitERVNDUklQVElPTiA9ICJseG1sIGlzIGEgUHl0aG9uaWMsIG1hdHVyZSBiaW5kaW5nIGZvciB0aGUgbGlieG1sMiBhbmQgXAorbGlieHNsdCBsaWJyYXJpZXMuIEl0IHByb3ZpZGVzIHNhZmUgYW5kIGNvbnZlbmllbnQgYWNjZXNzIHRvIHRoZXNlIFwKK2xpYnJhcmllcyB1c2luZyB0aGUgRWxlbWVudFRyZWUgQVBJLiBJdCBleHRlbmRzIHRoZSBFbGVtZW50VHJlZSBBUEkgXAorc2lnbmlmaWNhbnRseSB0byBvZmZlciBzdXBwb3J0IGZvciBYUGF0aCwgUmVsYXhORywgWE1MIFNjaGVtYSwgWFNMVCwgXAorQzE0TiBhbmQgbXVjaCBtb3JlLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9jb2Rlc3BlYWsubmV0L2x4bWwiCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiQlNEICYgR1BMdjIgJiBNSVQgJiBQU0YiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFUy50eHQ7bWQ1PWY5ZjFkYzI0ZjcyMGMxNDNjMjI0MGRmNDFmZTUwNzNiIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RvYy9saWNlbnNlcy9lbGVtZW50dHJlZS50eHQ7bWQ1PWViMzRkMDM2YTZlM2Q1NjMxNGVlNDlhNjg1MmFjODkxIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RvYy9saWNlbnNlcy9CU0QudHh0O21kNT03MDBhMWZjMTdmNDc5N2Q0ZjJkMzQ5NzBjOGVlNjk0YiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kb2MvbGljZW5zZXMvR1BMLnR4dDttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2x4bWwvaXNvc2NoZW1hdHJvbi9yZXNvdXJjZXMvcm5nL2lzby1zY2hlbWF0cm9uLnJuZztzdGFydGxpbmU9MjtlbmRsaW5lPTc7bWQ1PWEyOTE0ZDEyYWNjNzA2NmIzZjViNjBlOGY5NGEwMTJlIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9seG1sL2lzb3NjaGVtYXRyb24vcmVzb3VyY2VzL3hzbC9pc28tc2NoZW1hdHJvbi14c2x0MS9pc29fc2NoZW1hdHJvbl9tZXNzYWdlLnhzbDtzdGFydGxpbmU9MjtlbmRsaW5lPTI0O21kNT05Njk3NmRjYzY2MjQ5YzUxZTgwMjZiMTU5Y2E1ZTc1NSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvbHhtbC9pc29zY2hlbWF0cm9uL3Jlc291cmNlcy94c2wvUk5HMlNjaHRybi54c2w7c3RhcnRsaW5lPTI7ZW5kbGluZT03O21kNT01Y2FjNGFkNGI1ZTEzMWExMGU5YWY3NTViMTBmYmJiNyBcCisgICAgICAgICAgICAgICAgICAgICIKKworREVQRU5EUyArPSAibGlieG1sMiBsaWJ4c2x0IgorCitTUkNfVVJJW21kNXN1bV0gPSAiNTk1N2NjMzg0YmQ2ZTgzOTM0YmUzNWMwNTdlYzAzYjYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOWM3NGNhMjhhN2YwYzMwZGNhODg3MjI4MWIzYzQ3NzA1ZTIxMjE3YzhiYzYzOTEyZDk1YzllMmE3Y2FjNmJkZiIKKworRElTVFVUSUxTX0JVSUxEX0FSR1MgKz0gIiBcCisgICAgICAgICAgICAgICAgICAgICAtLXdpdGgteHNsdC1jb25maWc9J3BrZy1jb25maWcgbGlieHNsdCcgXAorICAgICAgICAgICAgICAgICAgICAgLS13aXRoLXhtbDItY29uZmlnPSdwa2ctY29uZmlnIGxpYnhtbC0yLjAnIFwKKyIKKworRElTVFVUSUxTX0lOU1RBTExfQVJHUyArPSAiIFwKKyAgICAgICAgICAgICAgICAgICAgIC0td2l0aC14c2x0LWNvbmZpZz0ncGtnLWNvbmZpZyBsaWJ4c2x0JyBcCisgICAgICAgICAgICAgICAgICAgICAtLXdpdGgteG1sMi1jb25maWc9J3BrZy1jb25maWcgbGlieG1sLTIuMCcgXAorIgorCitpbmhlcml0IHB5cGkKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgc2VkIC1pIC1lICdzLy0tdmVyc2lvbi8tLW1vZHZlcnNpb24vJyAke0J9L3NldHVwaW5mby5weQorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1JERVBFTkRTXyR7UE59ICs9ICJsaWJ4bWwyIGxpYnhzbHQgJHtQWVRIT05fUE59LWNvbXByZXNzaW9uIgorUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlID0gImxpYnhtbDItbmF0aXZlIGxpYnhzbHQtbmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbHhtbF8zLjYuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWx4bWxfMy42LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODFjY2IxMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWx4bWxfMy42LjAuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLWx4bWwuaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tMmNyeXB0by8wMDAxLU0yQ3J5cHRvLUVycm9yLWZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW0yY3J5cHRvLzAwMDEtTTJDcnlwdG8tRXJyb3ItZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhNzRiNjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tMmNyeXB0by8wMDAxLU0yQ3J5cHRvLUVycm9yLWZpeC5wYXRjaApAQCAtMCwwICsxLDE2MiBAQAorRnJvbSAwMmEyNGFjNTQxZGY2ODAzM2Q0ZWZkN2UyZjhhMWI5MmRjNDkzMjhkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogTW9uLCAyNyBKdWwgMjAxNSAwNTowNjoyMCArMDkwMAorU3ViamVjdDogW1BBVENIXSBNMkNyeXB0bzogRXJyb3IgZml4LgorCitBZnRlciBzd2lnIHVwZ3JhZGUgZnJvbSAzLjAuMiB0byAzLjAuNixidWlsZCB0aGUgcmVjaXBlcyB3aGljaAorZGVwZW5kcyBvbiBweXRob24tbTJjcnlwdG8gd2lsbCBvY2N1ciBlcnJvcnMgbGlrZSB0aGlzOgorU0FMVF9MRU4gPSBtMi5QS0NTNV9TQUxUX0xFTgorQXR0cmlidXRlRXJyb3I6ICdtb2R1bGUnIG9iamVjdCBoYXMgbm8gYXR0cmlidXRlICdQS0NTNV9TQUxUX0xFTicKK3NpbmNlIHB5dGhvbi1tMmNyeXB0byBkZXBlbmRzIG9uIHN3aWctbmF0aXZlCisKK1JlZjoKK2h0dHBzOi8vZ2l0aHViLmNvbS9tYXJ0aW5wYWxqYWsvTTJDcnlwdG8vaXNzdWVzLzYwI2lzc3VlY29tbWVudC03NTczNTQ4OQorCitUaGlzIHBhdGNoIGlzIGZyb206CitodHRwOi8vcGtncy5mZWRvcmFwcm9qZWN0Lm9yZy9jZ2l0L20yY3J5cHRvLmdpdC90cmVlL20yY3J5cHRvLTAuMjEuMS1zd2lnLTMuMC41LnBhdGNoCisKK1Vwc3RyZWFtLVN0YXR1czogcGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBMaSBYaW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CistLS0KKyBNMkNyeXB0by9fX2luaXRfXy5weSB8ICA0ICsrLS0KKyBNMkNyeXB0by9tMi5weSAgICAgICB8ICAyICstCisgU1dJRy9fbGliLmkgICAgICAgICAgfCAgNCArKysrCisgU1dJRy9fcGtjczcuaSAgICAgICAgfCAgMSArCisgc2V0dXAucHkgICAgICAgICAgICAgfCAyNiArKysrKysrKysrKysrKysrKysrKysrKysrLQorIDUgZmlsZXMgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL00yQ3J5cHRvL19faW5pdF9fLnB5IGIvTTJDcnlwdG8vX19pbml0X18ucHkKK2luZGV4IGU3YWNmZTcuLjAyZjRkMjggMTAwNjQ0CistLS0gYS9NMkNyeXB0by9fX2luaXRfXy5weQorKysrIGIvTTJDcnlwdG8vX19pbml0X18ucHkKK0BAIC0xOSw3ICsxOSw3IEBAIENvcHlyaWdodCAyMDA4LTIwMTEgSGVpa2tpIFRvaXZvbmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIHZlcnNpb25faW5mbyA9ICgwLCAyMSwgMSkKKyB2ZXJzaW9uID0gJy4nLmpvaW4oW3N0cihfdikgZm9yIF92IGluIHZlcnNpb25faW5mb10pCisgCistaW1wb3J0IF9fbTJjcnlwdG8KKytpbXBvcnQgX20yY3J5cHRvCisgaW1wb3J0IG0yCisgaW1wb3J0IEFTTjEKKyBpbXBvcnQgQXV0aENvb2tpZQorQEAgLTU3LDQgKzU3LDQgQEAgaW1wb3J0IHV0aWwKKyBlbmNyeXB0PTEKKyBkZWNyeXB0PTAKKyAKKy1fX20yY3J5cHRvLmxpYl9pbml0KCkKKytfbTJjcnlwdG8ubGliX2luaXQoKQorZGlmZiAtLWdpdCBhL00yQ3J5cHRvL20yLnB5IGIvTTJDcnlwdG8vbTIucHkKK2luZGV4IGU0YmI2OTUuLjgyMjE0M2YgMTAwNjQ0CistLS0gYS9NMkNyeXB0by9tMi5weQorKysrIGIvTTJDcnlwdG8vbTIucHkKK0BAIC0yNSw3ICsyNSw3IEBAIFBvcnRpb25zIGNyZWF0ZWQgYnkgT3BlbiBTb3VyY2UgQXBwbGljYXRpb25zIEZvdW5kYXRpb24gKE9TQUYpIGFyZQorIENvcHlyaWdodCAoQykgMjAwNCBPU0FGLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICIiIgorIAorLWZyb20gX19tMmNyeXB0byBpbXBvcnQgKgorK2Zyb20gX20yY3J5cHRvIGltcG9ydCAqCisgbGliX2luaXQoKQorIAorIAorZGlmZiAtLWdpdCBhL1NXSUcvX2xpYi5pIGIvU1dJRy9fbGliLmkKK2luZGV4IDQyZGMxODAuLjQ3YTUzYjggMTAwNjQ0CistLS0gYS9TV0lHL19saWIuaQorKysrIGIvU1dJRy9fbGliLmkKK0BAIC0xMDAsNiArMTAwLDcgQEAgaW50IHNzbF92ZXJpZnlfY2FsbGJhY2soaW50IG9rLCBYNTA5X1NUT1JFX0NUWCAqY3R4KSB7CisgICAgIGludCBjcmV0OworICAgICBpbnQgbmV3X3N0eWxlX2NhbGxiYWNrID0gMCwgd2FybmluZ19yYWlzZWRfZXhjZXB0aW9uPTA7CisgICAgIFB5R0lMU3RhdGVfU1RBVEUgZ2lsc3RhdGU7CisrICAgIFB5T2JqZWN0ICpzZWxmID0gTlVMTDsgLyogYnVnIGluIFNXSUdfTmV3UG9pbnRlck9iaiBhcyBvZiAzLjAuNSAqLworIAorICAgICBzc2wgPSAoU1NMICopWDUwOV9TVE9SRV9DVFhfZ2V0X2FwcF9kYXRhKGN0eCk7CisgCitAQCAtMTg1LDYgKzE4Niw3IEBAIGludCBzc2xfdmVyaWZ5X2NhbGxiYWNrKGludCBvaywgWDUwOV9TVE9SRV9DVFggKmN0eCkgeworIHZvaWQgc3NsX2luZm9fY2FsbGJhY2soY29uc3QgU1NMICpzLCBpbnQgd2hlcmUsIGludCByZXQpIHsKKyAgICAgUHlPYmplY3QgKmFyZ3YsICpyZXR2YWwsICpfU1NMOworICAgICBQeUdJTFN0YXRlX1NUQVRFIGdpbHN0YXRlOworKyAgICBQeU9iamVjdCAqc2VsZiA9IE5VTEw7IC8qIGJ1ZyBpbiBTV0lHX05ld1BvaW50ZXJPYmogYXMgb2YgMy4wLjUgKi8KKyAKKyAgICAgZ2lsc3RhdGUgPSBQeUdJTFN0YXRlX0Vuc3VyZSgpOworIAorQEAgLTIwNCw2ICsyMDYsNyBAQCBESCAqc3NsX3NldF90bXBfZGhfY2FsbGJhY2soU1NMICpzc2wsIGludCBpc19leHBvcnQsIGludCBrZXlsZW5ndGgpIHsKKyAgICAgUHlPYmplY3QgKmFyZ3YsICpyZXQsICpfc3NsOworICAgICBESCAqZGg7CisgICAgIFB5R0lMU3RhdGVfU1RBVEUgZ2lsc3RhdGU7CisrICAgIFB5T2JqZWN0ICpzZWxmID0gTlVMTDsgLyogYnVnIGluIFNXSUdfTmV3UG9pbnRlck9iaiBhcyBvZiAzLjAuNSAqLworIAorICAgICBnaWxzdGF0ZSA9IFB5R0lMU3RhdGVfRW5zdXJlKCk7CisgCitAQCAtMjI3LDYgKzIzMCw3IEBAIFJTQSAqc3NsX3NldF90bXBfcnNhX2NhbGxiYWNrKFNTTCAqc3NsLCBpbnQgaXNfZXhwb3J0LCBpbnQga2V5bGVuZ3RoKSB7CisgICAgIFB5T2JqZWN0ICphcmd2LCAqcmV0LCAqX3NzbDsKKyAgICAgUlNBICpyc2E7CisgICAgIFB5R0lMU3RhdGVfU1RBVEUgZ2lsc3RhdGU7CisrICAgIFB5T2JqZWN0ICpzZWxmID0gTlVMTDsgLyogYnVnIGluIFNXSUdfTmV3UG9pbnRlck9iaiBhcyBvZiAzLjAuNSAqLworIAorICAgICBnaWxzdGF0ZSA9IFB5R0lMU3RhdGVfRW5zdXJlKCk7CisgCitkaWZmIC0tZ2l0IGEvU1dJRy9fcGtjczcuaSBiL1NXSUcvX3BrY3M3LmkKK2luZGV4IDE3NGY0MGEuLjdiZmZiZmMgMTAwNjQ0CistLS0gYS9TV0lHL19wa2NzNy5pCisrKysgYi9TV0lHL19wa2NzNy5pCitAQCAtMTU3LDYgKzE1Nyw3IEBAIFB5T2JqZWN0ICpzbWltZV9yZWFkX3BrY3M3KEJJTyAqYmlvKSB7CisgICAgIEJJTyAqYmNvbnQgPSBOVUxMOworICAgICBQS0NTNyAqcDc7CisgICAgIFB5T2JqZWN0ICp0dXBsZSwgKl9wNywgKl9CSU87CisrICAgIFB5T2JqZWN0ICpzZWxmID0gTlVMTDsgLyogYnVnIGluIFNXSUdfTmV3UG9pbnRlck9iaiBhcyBvZiAzLjAuNSAqLworIAorICAgICBpZiAoQklPX21ldGhvZF90eXBlKGJpbykgPT0gQklPX1RZUEVfTUVNKSB7CisgICAgICAgICAvKiBPcGVuU1NMIEZBUSBleHBsYWlucyB0aGF0IHRoaXMgaXMgbmVlZGVkIGZvciBtZW0gQklPIHRvIHJldHVybiBFT0YsCitkaWZmIC0tZ2l0IGEvc2V0dXAucHkgYi9zZXR1cC5weQoraW5kZXggZTdjNDllYi4uYjk4YWJlMCAxMDA2NDQKKy0tLSBhL3NldHVwLnB5CisrKysgYi9zZXR1cC5weQorQEAgLTIwLDYgKzIwLDcgQEAgZXhjZXB0IEltcG9ydEVycm9yOgorICAgICBmcm9tIGRpc3R1dGlscy5jb21tYW5kIGltcG9ydCBidWlsZF9leHQKKyAKKyBmcm9tIGRpc3R1dGlscy5jb3JlIGltcG9ydCBFeHRlbnNpb24KKytmcm9tIGRpc3R1dGlscy5maWxlX3V0aWwgaW1wb3J0IGNvcHlfZmlsZQorIAorIAorIGNsYXNzIF9NMkNyeXB0b0J1aWxkRXh0KGJ1aWxkX2V4dC5idWlsZF9leHQpOgorQEAgLTU3LDcgKzU4LDE3IEBAIGNsYXNzIF9NMkNyeXB0b0J1aWxkRXh0KGJ1aWxkX2V4dC5idWlsZF9leHQpOgorICAgICAgICAgc2VsZi5zd2lnX29wdHMuYXBwZW5kKCctaW5jbHVkZWFsbCcpCisgICAgICAgICAjc2VsZi5zd2lnX29wdHMuYXBwZW5kKCctRF9faTM4Nl9fJykgIyBVbmNvbW1lbnQgZm9yIGVhcmx5IE9wZW5TU0wgMC45LjcgdmVyc2lvbnMsIG9yIG9uIEZlZG9yYSBDb3JlIGlmIGJ1aWxkIGZhaWxzCisgICAgICAgICAjc2VsZi5zd2lnX29wdHMuYXBwZW5kKCctRE9QRU5TU0xfTk9fRUMnKSAjIFRyeSB1bmNvbW1lbnRpbmcgaWYgeW91IGNhbid0IGJ1aWxkIHdpdGggRUMgZGlzYWJsZWQKKy0gICAgICAgIAorKyAgICAgICAgc2VsZi5zd2lnX29wdHMuYXBwZW5kKCctbW9kZXJuJykKKysgICAgICAgIHNlbGYuc3dpZ19vcHRzLmFwcGVuZCgnLWJ1aWx0aW4nKQorKworKyAgICAgICAgIyBUaGVzZSB0d28gbGluZXMgYXJlIGEgd29ya2Fyb3VuZCBmb3IKKysgICAgICAgICMgaHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTI2MjQgLCBoYXJkLWNvZGluZyB0aGF0IHdlIGFyZSBvbmx5CisrICAgICAgICAjIGJ1aWxkaW5nIGEgc2luZ2xlIGV4dGVuc2lvbiB3aXRoIGEga25vd24gcGF0aDsgYSBwcm9wZXIgcGF0Y2ggdG8KKysgICAgICAgICMgZGlzdHV0aWxzIHdvdWxkIGJlIGluIHRoZSBydW4gcGhhc2UsIHdoZW4gZXh0ZW5zaW9uIG5hbWUgYW5kIHBhdGggYXJlCisrICAgICAgICAjIGtub3duLgorKyAgICAgICAgc2VsZi5zd2lnX29wdHMuYXBwZW5kKCctb3V0ZGlyJykKKysgICAgICAgIHNlbGYuc3dpZ19vcHRzLmFwcGVuZChvcy5wYXRoLmpvaW4oc2VsZi5idWlsZF9saWIsICdNMkNyeXB0bycpKQorKworICAgICAgICAgc2VsZi5pbmNsdWRlX2RpcnMgKz0gW29zLnBhdGguam9pbihzZWxmLm9wZW5zc2wsIG9wZW5zc2xJbmNsdWRlRGlyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4ob3MuZ2V0Y3dkKCksICdTV0lHJyldICAgICAgICAKKyAgICAgICAgICAgICAKK0BAIC03MSw2ICs4MiwxOSBAQCBjbGFzcyBfTTJDcnlwdG9CdWlsZEV4dChidWlsZF9leHQuYnVpbGRfZXh0KToKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgIHNlbGYubGlicmFyeV9kaXJzICs9IFtvcy5wYXRoLmpvaW4oc2VsZi5vcGVuc3NsLCBvcGVuc3NsTGlicmFyeURpcildCisgCisrICAgIGRlZiBydW4oc2VsZik6CisrICAgICAgICAnJydPdmVybG9hZGVkIGJ1aWxkX2V4dCBpbXBsZW1lbnRhdGlvbiB0byBhbGxvdyBpbnBsYWNlPTEgdG8gd29yaywKKysgICAgICAgIHdoaWNoIGlzIG5lZWRlZCBmb3IgKHB5dGhvbiBzZXR1cC5weSB0ZXN0KS4nJycKKysgICAgICAgICMgVGhpcyBpcyBhbm90aGVyIHdvcmthcm91bmQgZm9yIGh0dHA6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWUyNjI0ICsgdGhlCisrICAgICAgICAjIGNvcnJlc3BvbmRpbmcgbGFjayBvZiBzdXBwb3J0IGluIHNldHVwdG9vbHMnIHRlc3QgY29tbWFuZC4gTm90ZSB0aGF0CisrICAgICAgICAjIGp1c3QgdXNpbmcgc2VsZi5pbnBsYWNlIGluIGZpbmFsaXplX29wdGlvbnMoKSBhYm92ZSBkb2VzIG5vdCB3b3JrCisrICAgICAgICAjIGJlY2F1c2Ugc3dpZyBpcyBub3QgcmVydW4gaWYgdGhlIF9fbTJjcnlwdG8uc28gZXh0ZW5zaW9uIGV4aXN0cy4KKysgICAgICAgICMgQWdhaW4sIGhhcmQtY29kaW5nIG91ciBleHRlbnNpb24gbmFtZSBhbmQgbG9jYXRpb24uCisrICAgICAgICBidWlsZF9leHQuYnVpbGRfZXh0LnJ1bihzZWxmKQorKyAgICAgICAgaWYgc2VsZi5pbnBsYWNlOgorKyAgICAgICAgICAgIGNvcHlfZmlsZShvcy5wYXRoLmpvaW4oc2VsZi5idWlsZF9saWIsICdNMkNyeXB0bycsICdfbTJjcnlwdG8ucHknKSwKKysgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKCdNMkNyeXB0bycsICdfbTJjcnlwdG8ucHknKSwKKysgICAgICAgICAgICAgICAgICAgICAgdmVyYm9zZT1zZWxmLnZlcmJvc2UsIGRyeV9ydW49c2VsZi5kcnlfcnVuKQorIAorIGlmIHN5cy52ZXJzaW9uX2luZm8gPCAoMiw0KToKKyAKKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tMmNyeXB0by8wMDAxLXNldHVwLnB5LWxpbmstaW4tc3lzcm9vdC1ub3QtaW4taG9zdC1kaXJlY3Rvcmllcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW0yY3J5cHRvLzAwMDEtc2V0dXAucHktbGluay1pbi1zeXNyb290LW5vdC1pbi1ob3N0LWRpcmVjdG9yaWVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxOWM4ZTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tMmNyeXB0by8wMDAxLXNldHVwLnB5LWxpbmstaW4tc3lzcm9vdC1ub3QtaW4taG9zdC1kaXJlY3Rvcmllcy5wYXRjaApAQCAtMCwwICsxLDM2IEBACitGcm9tIGYxMWI5YzcxMDgwNTEzZjliODY3YmE4ZjQwNjEzYmEyZWJjNmU5NjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAxNToxNzoxNyArMDEwMAorU3ViamVjdDogW1BBVENIXSBzZXR1cC5weTogbGluayBpbiBzeXNyb290LCBub3QgaW4gaG9zdCBkaXJlY3RvcmllcworCitTaWduZWQtb2ZmLWJ5OiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorCitVcHN0cmVhbS1zdGF0dXM6IFVua25vd24KKy0tLQorIHNldHVwLnB5IHwgNiArKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitJbmRleDogTTJDcnlwdG8tMC4yMy4wL3NldHVwLnB5Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gTTJDcnlwdG8tMC4yMy4wLm9yaWcvc2V0dXAucHkKKysrKyBNMkNyeXB0by0wLjIzLjAvc2V0dXAucHkKK0BAIC02Miw3ICs2Miw3IEBAIGNsYXNzIF9NMkNyeXB0b0J1aWxkRXh0KGJ1aWxkX2V4dC5idWlsZF8KKyAgICAgICAgICAgICBzZWxmLm9wZW5zc2wgPSAnYzpcXHBrZycKKyAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgc2VsZi5saWJyYXJpZXMgPSBbJ3NzbCcsICdjcnlwdG8nXQorLSAgICAgICAgICAgIHNlbGYub3BlbnNzbCA9ICcvdXNyJworKyAgICAgICAgICAgIHNlbGYub3BlbnNzbCA9IG9zLmVudmlyb24uZ2V0KCAiU1RBR0lOR19ESVIiICkKKyAKKyAgICAgZGVmIGZpbmFsaXplX29wdGlvbnMoc2VsZik6CisgICAgICAgICAnJydPdmVybG9hZGVkIGJ1aWxkX2V4dCBpbXBsZW1lbnRhdGlvbiB0byBhcHBlbmQgY3VzdG9tIG9wZW5zc2wKK0BAIC03NSw4ICs3NSw4IEBAIGNsYXNzIF9NMkNyeXB0b0J1aWxkRXh0KGJ1aWxkX2V4dC5idWlsZF8KKyAgICAgICAgIGlmIF9vcGVuc3NsIGFuZCBvcy5wYXRoLmlzZGlyKF9vcGVuc3NsKToKKyAgICAgICAgICAgICBzZWxmLm9wZW5zc2wgPSBfb3BlbnNzbAorIAorLSAgICAgICAgc2VsZi5pbmNsdWRlX2RpcnMuYXBwZW5kKG9zLnBhdGguam9pbihzZWxmLm9wZW5zc2wsICdpbmNsdWRlJykpCistICAgICAgICBvcGVuc3NsX2xpYnJhcnlfZGlyID0gb3MucGF0aC5qb2luKHNlbGYub3BlbnNzbCwgJ2xpYicpCisrICAgICAgICBzZWxmLmluY2x1ZGVfZGlycy5hcHBlbmQob3MuZW52aXJvbi5nZXQoICJTVEFHSU5HX0lOQ0RJUiIgKSkKKysgICAgICAgIG9wZW5zc2xfbGlicmFyeV9kaXIgPSBvcy5lbnZpcm9uLmdldCggIlNUQUdJTkdfTElCRElSIiApCisgCisgICAgICAgICBpZiBwbGF0Zm9ybS5zeXN0ZW0oKSA9PSAiTGludXgiOgorICAgICAgICAgICAgIGlmIF9tdWx0aWFyY2g6ICAjIG9uIEZlZG9yYS9SSEVMIGl0IGlzIGFuIGVtcHR5IHN0cmluZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbTJjcnlwdG9fMC4yMy4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbTJjcnlwdG9fMC4yMy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2ZjBlMWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tMmNyeXB0b18wLjIzLjAuYmIKQEAgLTAsMCArMSw1MiBAQAorU1VNTUFSWSA9ICJBIFB5dGhvbiBjcnlwdG8gYW5kIFNTTCB0b29sa2l0IgorSE9NRVBBR0UgPSAiaHR0cDovL2NoYW5kbGVycHJvamVjdC5vcmcvYmluL3ZpZXcvUHJvamVjdHMvTWVUb29DcnlwdG8iCisKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUEtHLUlORk87bWQ1PTY4Zjc4ODBkZTk0OTQxMmIyZWEyNDg5MzJkOTdlZDU0IgorCitTUkNOQU1FID0gIk0yQ3J5cHRvIgorU1JDX1VSSSA9ICJodHRwOi8vcHlwaS5weXRob24ub3JnL3BhY2thZ2VzL3NvdXJjZS9NL00yQ3J5cHRvL00yQ3J5cHRvLSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjg5NTU3NzMwZTI0NTI5NGE2Y2FiMDZkZThhZDRmYjQyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFhYzNiNmVhZmE1ZmY3ZTJhMDc5NjY3NTMxNmQ3NTY5YjI4YWFkYTQ1YTdhYjc0MDQyYWQwODlkMTVhOTU2N2YiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLXNldHVwLnB5LWxpbmstaW4tc3lzcm9vdC1ub3QtaW4taG9zdC1kaXJlY3Rvcmllcy5wYXRjaCAiCisKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9LSR7UFZ9IgorCitpbmhlcml0IHNldHVwdG9vbHMKKworREVQRU5EUyArPSAib3BlbnNzbCBzd2lnLW5hdGl2ZSIKKworRElTVFVUSUxTX0JVSUxEX0FSR1MgKz0gImJ1aWxkX2V4dCAtLW9wZW5zc2w9JHtTVEFHSU5HX0RJUl9IT1NUfSAtSSR7U1RBR0lOR19JTkNESVJ9IgorRElTVFVUSUxTX0lOU1RBTExfQVJHUyArPSAiYnVpbGRfZXh0IC0tb3BlbnNzbD0ke1NUQUdJTkdfRElSX0hPU1R9IgorCitpbmhlcml0IHNldHVwdG9vbHMKKworU1dJR19GRUFUVVJFU194ODYtNjQgPSAiLURfX3g4Nl82NF9fIgorU1dJR19GRUFUVVJFUyA/PSAiIgorZXhwb3J0IFNXSUdfRkVBVFVSRVMKKworIyBHZXQgYXJvdW5kIGEgcHJvYmxlbSB3aXRoIHN3aWcsIGJ1dCBvbmx5IGlmIHRoZQorIyBtdWx0aWxpYiBoZWFkZXIgZmlsZSBleGlzdHMuCisjCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisgICAgaWYgWyAiJHtTSVRFSU5GT19CSVRTfSIgPSAiNjQiIF07dGhlbgorICAgICAgICBiaXQ9IjY0IgorICAgIGVsc2UKKyAgICAgICAgYml0PSIzMiIKKyAgICBmaQorCisgICAgaWYgWyAtZSAke1NUQUdJTkdfSU5DRElSfS9vcGVuc3NsL29wZW5zc2xjb25mLSR7Yml0fS5oIF0gO3RoZW4KKyAgICAgICAgZm9yIGkgaW4gU1dJRy9fZWMuaSBTV0lHL19ldnAuaTsgZG8KKyAgICAgICAgICAgIHNlZCAtaSAtZSAicy9vcGVuc3NsY29uZi4qXC4vb3BlbnNzbGNvbmYtJHtiaXR9XC4vIiAiJGkiCisgICAgICAgIGRvbmUKKyAgICBlbGlmIFsgLWUgJHtTVEFHSU5HX0lOQ0RJUn0vb3BlbnNzbC9vcGVuc3NsY29uZi1uJHtiaXR9LmggXSA7dGhlbgorICAgICAgICBmb3IgaSBpbiBTV0lHL19lYy5pIFNXSUcvX2V2cC5pOyBkbworICAgICAgICAgICAgc2VkIC1pIC1lICJzL29wZW5zc2xjb25mLipcLi9vcGVuc3NsY29uZi1uJHtiaXR9XC4vIiAiJGkiCisgICAgICAgIGRvbmUKKyAgICBmaQorfQorCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbWFya3Vwc2FmZS5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tYXJrdXBzYWZlLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZDdkOWJkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbWFya3Vwc2FmZS5pbmMKQEAgLTAsMCArMSwxNCBAQAorREVTQ1JJUFRJT04gPSAiSW1wbGVtZW50cyBhIFhNTC9IVE1ML1hIVE1MIE1hcmt1cCBzYWZlIHN0cmluZyBmb3IgUHl0aG9uIgorSE9NRVBBR0UgPSAiaHR0cDovL2dpdGh1Yi5jb20vbWl0c3VoaWtvL21hcmt1cHNhZmUiCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWM2ZDFhZGNmNDVkNjkzNTlmMjU2YzFjZWEzMjU0MTI3IgorCitQUiA9ICJyMCIKKworU1JDX1VSSVttZDVzdW1dID0gImY1YWIzZGVlZTRjMzdjZDZhOTIyZmI4MWU3MzBkYTZlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE0ZWMxYWZmNTliOTVhMTRiNDVlYjJlMjM3NjFhMDE3OWU5ODMxOWRhNWE3ZWI3NmI1NmVhOGNkYzdiODcxYzMiCisKK1BZUElfUEFDS0FHRSA9ICJNYXJrdXBTYWZlIgoraW5oZXJpdCBweXBpCisKK1JERVBFTkRTXyR7UE59ICs9ICIke1BZVEhPTl9QTn0tcmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tYXJrdXBzYWZlXzAuMjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tYXJrdXBzYWZlXzAuMjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzk2ZWZmMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1hcmt1cHNhZmVfMC4yMy5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgc2V0dXB0b29scworcmVxdWlyZSBweXRob24tbWFya3Vwc2FmZS5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1hdHBsb3RsaWIvZml4X3NldHVwLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbWF0cGxvdGxpYi9maXhfc2V0dXAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTM4MTU4MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1hdHBsb3RsaWIvZml4X3NldHVwLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK1RoaXMgZml4ZXMgdGhlIGRlcGVuZGVuY3kgY2hlY2tzIGluc2lkZSBvZiBzZXR1cC5weSBzaW5jZSB0aGluZ3MgbGlrZQorJ2ltcG9ydCBudW1weScgd29uJ3Qgd29yayB3aXRoIGJpdGJha2UuCisKK2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCAyZjEzODIxLi5lNmQ2ZWQwIDEwMDY0NAorLS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAtMTEzLDEyICsxMTMsNiBAQCBpZiAxOgorICAgICBiYXNlbGluZV9pbWFnZXMgPSBbY2hvcF9wYWNrYWdlKGYpIGZvciBmIGluIGJhc2VsaW5lX2ltYWdlc10KKyAgICAgcGFja2FnZV9kYXRhWydtYXRwbG90bGliJ10uZXh0ZW5kKGJhc2VsaW5lX2ltYWdlcykKKyAKKy1pZiBub3QgY2hlY2tfZm9yX251bXB5KCk6CistICAgIHN5cy5leGl0KDEpCistCistaWYgbm90IGNoZWNrX2Zvcl9mcmVldHlwZSgpOgorLSAgICBzeXMuZXhpdCgxKQorLQorIGJ1aWxkX2Z0MmZvbnQoZXh0X21vZHVsZXMsIHBhY2thZ2VzKQorIGJ1aWxkX3R0Y29udihleHRfbW9kdWxlcywgcGFja2FnZXMpCisgYnVpbGRfY29udG91cihleHRfbW9kdWxlcywgcGFja2FnZXMpCitAQCAtMTI5LDcgKzEyMyw3IEBAIGJ1aWxkX3RyaShleHRfbW9kdWxlcywgcGFja2FnZXMpCisgCisgcHJpbnRfcmF3KCIiKQorIHByaW50X3JhdygiT1BUSU9OQUwgQkFDS0VORCBERVBFTkRFTkNJRVMiKQorLWhhc19saWJwbmcgPSBjaGVja19mb3JfbGlicG5nKCkKKytoYXNfbGlicG5nID0gVHJ1ZQorIAorIGlmIGhhc19saWJwbmcgYW5kIG9wdGlvbnNbJ2J1aWxkX2FnZyddOgorICAgICBidWlsZF9hZ2coZXh0X21vZHVsZXMsIHBhY2thZ2VzKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbWF0cGxvdGxpYi9maXhfc2V0dXBleHQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tYXRwbG90bGliL2ZpeF9zZXR1cGV4dC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YTEzYTE4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbWF0cGxvdGxpYi9maXhfc2V0dXBleHQucGF0Y2gKQEAgLTAsMCArMSw0MCBAQAorVGhpcyBmaXhlcyB0aGUgbnVtcHkgaW1wb3J0IHByb2JsZW0gaW4gc2V0dXBleHQucHkgdXNpbmcgYSBoYXJkLWNvZGVkIHBhdGguCisKK0luZGV4OiBtYXRwbG90bGliLTEuMS4wL3NldHVwZXh0LnB5Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbWF0cGxvdGxpYi0xLjEuMC5vcmlnL3NldHVwZXh0LnB5CisrKysgbWF0cGxvdGxpYi0xLjEuMC9zZXR1cGV4dC5weQorQEAgLTEyMiw4ICsxMjIsOCBAQCBudW1weV9pbmNfZGlycyA9IFtdCisgIyBtYXRwbG90bGliIGJ1aWxkIG9wdGlvbnMsIHdoaWNoIGNhbiBiZSBhbHRlcmVkIHVzaW5nIHNldHVwLmNmZworIG9wdGlvbnMgPSB7J2Rpc3BsYXlfc3RhdHVzJzogVHJ1ZSwKKyAgICAgICAgICAgICd2ZXJib3NlJzogRmFsc2UsCistICAgICAgICAgICAncHJvdmlkZV9weXR6JzogJ2F1dG8nLAorLSAgICAgICAgICAgJ3Byb3ZpZGVfZGF0ZXV0aWwnOiAnYXV0bycsCisrICAgICAgICAgICAncHJvdmlkZV9weXR6JzogRmFsc2UsCisrICAgICAgICAgICAncHJvdmlkZV9kYXRldXRpbCc6IEZhbHNlLAorICAgICAgICAgICAgJ2J1aWxkX2FnZyc6IFRydWUsCisgICAgICAgICAgICAnYnVpbGRfZ3RrJzogJ2F1dG8nLAorICAgICAgICAgICAgJ2J1aWxkX2d0a2FnZyc6ICdhdXRvJywKK0BAIC0xNzYsMTAgKzE3Niw3IEBAIGlmIG9zLnBhdGguZXhpc3RzKHNldHVwX2NmZyk6CisgICAgIGV4Y2VwdDogcGFzcworIAorICMgRm9yIGdldF9iYXNlX2ZsYWdzOgorLWlmIG9wdGlvbnNbJ2Jhc2VkaXJsaXN0J106CistICAgIGJhc2VkaXJsaXN0ID0gb3B0aW9uc1snYmFzZWRpcmxpc3QnXS5zcGxpdCgpCistZWxzZToKKy0gICAgYmFzZWRpcmxpc3QgPSBiYXNlZGlyW3N5cy5wbGF0Zm9ybV0KKytiYXNlZGlybGlzdCA9IFtvcy5lbnZpcm9uWydTVEFHSU5HX0xJQkRJUiddXQorIHByaW50KCJiYXNlZGlybGlzdCBpczogJXMiICUgYmFzZWRpcmxpc3QpCisgCisgaWYgb3B0aW9uc1snZGlzcGxheV9zdGF0dXMnXToKK0BAIC01NTUsOCArNTUyLDggQEAgZGVmIGNoZWNrX2Zvcl9udW1weSgpOgorIAorIGRlZiBhZGRfbnVtcHlfZmxhZ3MobW9kdWxlKToKKyAgICAgIkFkZCB0aGUgbW9kdWxlcyBmbGFncyB0byBidWlsZCBleHRlbnNpb25zIHdoaWNoIHVzZSBudW1weSIKKy0gICAgaW1wb3J0IG51bXB5CistICAgIG1vZHVsZS5pbmNsdWRlX2RpcnMuYXBwZW5kKG51bXB5LmdldF9pbmNsdWRlKCkpCisrICAgICMgSGFyZC1jb2RlZCBwYXRoIGZvciBPRSBzaW5jZSBJIGtub3cgdGhpcyBpcyB3aGVyZSBudW1weSdzIGluY2x1ZGUgZGlyIHdpbGwgYmUKKysgICAgbW9kdWxlLmluY2x1ZGVfZGlycy5hcHBlbmQob3MucGF0aC5qb2luKG9zLmVudmlyb25bJ1NUQUdJTkdfTElCRElSJ10sICdweXRob24yLjcvc2l0ZS1wYWNrYWdlcy9udW1weS9jb3JlL2luY2x1ZGUvJykpCisgCisgZGVmIGFkZF9wbmdfZmxhZ3MobW9kdWxlKToKKyAgICAgdHJ5X3BrZ2NvbmZpZyhtb2R1bGUsICdsaWJwbmcnLCAncG5nJykKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1hdHBsb3RsaWJfMS4xLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tYXRwbG90bGliXzEuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5ZjcxYzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tYXRwbG90bGliXzEuMS4wLmJiCkBAIC0wLDAgKzEsMzYgQEAKK0RFU0NSSVBUSU9OID0gIm1hdHBsb3RsaWIgaXMgYSBweXRob24gMkQgcGxvdHRpbmcgbGlicmFyeSB3aGljaCBwcm9kdWNlcyBwdWJsaWNhdGlvbiBxdWFsaXR5IGZpZ3VyZXMgaW4gYSB2YXJpZXR5IG9mIGhhcmRjb3B5IGZvcm1hdHMiCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiUFNGIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FLnR4dDttZDU9ODNjNWJmOGIxNmE1Zjk5NTA3ZjJmNDdhMjFhZTNiODEiCitQUiA9ICJyMSIKKworREVQRU5EUyArPSAicHl0aG9uLW51bXB5IGZyZWV0eXBlIGxpYnBuZyBweXRob24tZGF0ZXV0aWwgcHl0aG9uLXB5dHoiCitSREVQRU5EU18ke1BOfSA9ICJweXRob24tY29yZSBweXRob24tZGlzdHV0aWxzIHB5dGhvbi1udW1weSBmcmVldHlwZSBsaWJwbmcgcHl0aG9uLWRhdGV1dGlsIHB5dGhvbi1weXR6IgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9tYXRwbG90bGliL21hdHBsb3RsaWItJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2ZpeF9zZXR1cC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9maXhfc2V0dXBleHQucGF0Y2ggXAorIgorCitTID0gIiR7V09SS0RJUn0vbWF0cGxvdGxpYi0ke1BWfSIKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1kb2NzIC0td2l0aC1weXRob24taW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0vLi4vIgorCitpbmhlcml0IGRpc3R1dGlscworCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisgICAgQlVJTERfU1lTPSR7QlVJTERfU1lTfSBIT1NUX1NZUz0ke0hPU1RfU1lTfSBcCisgICAgJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3B5dGhvbiBzZXR1cC5weSBidWlsZCAke0RJU1RVVElMU19CVUlMRF9BUkdTfSB8fCBcCisgICAgdHJ1ZQorfQorCisjIG5lZWQgdG8gZXhwb3J0IHRoZXNlIHZhcmlhYmxlcyBmb3IgcHl0aG9uLWNvbmZpZyB0byB3b3JrCitleHBvcnQgUFlUSE9OUEFUSAorZXhwb3J0IEJVSUxEX1NZUworZXhwb3J0IEhPU1RfU1lTCitleHBvcnQgU1RBR0lOR19JTkNESVIKK2V4cG9ydCBTVEFHSU5HX0xJQkRJUgorCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1N2E2MjdmMzBiM2IyNzgyMWY4MDg2NTk4ODk1MTRjMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiZTM3ZTFkODZjNjVlY2FjYWU2NjgzZjg4MDVlMDUxZTk5MDRlNWYyZTAyYmYyYjdhMzQyNjJjNDZhNmQwNmE3IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbWNjYWJlXzAuNC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbWNjYWJlXzAuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5NThmNzUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tY2NhYmVfMC40LjAuYmIKQEAgLTAsMCArMSwxNCBAQAorU1VNTUFSWSA9ICJNY0NhYmUgY2hlY2tlciwgcGx1Z2luIGZvciBmbGFrZTgiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vZHJlYW1ob3N0L2NsaWZmIgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FLnJzdDttZDU9ZjhiNTBmYmExNzExZWNhYzZiY2RiNjMyNGY4NWE2NmQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4YzQyNWRiMDVmMzEwYWRjZDRiYjE3NGI5OTFmMjZmNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5YTJiMTJlYmQ4NzZlNzdjNzJlNDFlYmY0MDFjYzJlN2M1YjU2NjY0OWQ1MDEwNWNhNDk4MjI2ODg2NDIyMDdiIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSArPSAiIFwKKyAgICBweXRob24tcHJldHR5dGFibGUgXAorICAgIHB5dGhvbi1jbWQyIFwKKyAgICBweXRob24tcHlwYXJzaW5nIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbW9ja18xLjMuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1vY2tfMS4zLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGE3ODk0YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1vY2tfMS4zLjAuYmIKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJBIFB5dGhvbiBNb2NraW5nIGFuZCBQYXRjaGluZyBMaWJyYXJ5IGZvciBUZXN0aW5nIgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PWRlOWRmYmY3ODA0NDZiMThhYWIxMWYwMGJhYWY1YjdlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzNlZThhNGFmYjNmZjRkYTFiNGFmYTI4N2YzOWZkZWIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWUyNDdkYmVjYzZjZTA1NzI5OWViN2VlMDE5YWQ2ODMxNGJiOTMxNTJlODFkOWE2MTEwZDM1ZjRkNWVjYTBmNiIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gKz0gIiBcCisgICAgcHl0aG9uLXByZXR0eXRhYmxlIFwKKyAgICBweXRob24tY21kMiBcCisgICAgcHl0aG9uLXB5cGFyc2luZyBcCisgICAgcHl0aG9uLW1jY2FiZSBcCisgICAgcHl0aG9uLXBlcDggXAorICAgIHB5dGhvbi1weWZsYWtlcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1vbm90b25pY18xLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tb25vdG9uaWNfMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkMjM3YjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tb25vdG9uaWNfMS4wLmJiCkBAIC0wLDAgKzEsMTAgQEAKK1NVTU1BUlkgPSAiQW4gaW1wbGVtZW50YXRpb24gb2YgdGltZS5tb25vdG9uaWMoKSBmb3IgUHl0aG9uIDIuMCB0aHJvdWdoIDMuMiIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWQyNzk0YzBkZjViOTA3ZmRhY2UyMzVhNjE5ZDgwMzE0IgorCitTUkNfVVJJW21kNXN1bV0gPSAiYTY5MmJmZjJjNWUwN2RkZTIyYWQyMTI4ZDgxOGQxNWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDdkN2QwNDViM2YyYTA4YmZmZTY4M2Q3NjFlZjdmOTEzMWEyNTk4ZGIxY2VjNzUzMmEwNjcyMDY1NmNmNzE5ZCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gKz0gIiR7UFlUSE9OX1BOfS1jdHlwZXMgJHtQWVRIT05fUE59LXJlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbXNncGFja18wLjQuNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1zZ3BhY2tfMC40LjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2I3ODUzZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1zZ3BhY2tfMC40LjcuYmIKQEAgLTAsMCArMSwxMSBAQAorU1VNTUFSWSA9ICJNZXNzYWdlUGFjayAoZGUpc2VyaWFsaXplciIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWNkOTUyMzE4MWQ5ZDRmYmY3ZmZjYTUyZWFhMmE1NzUxIgorCitQUiA9ICJyMCIKKworU1JDX1VSSVttZDVzdW1dID0gImViMmFhZDEwODE1MzRlZjNhOWYzMmEwZWNkMzUwYjliIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVlMDAxMjI5YTU0MTgwYTAyZGNkZDU5ZGIyM2M5OTc4MzUxYWY1NWIxMjkwYzI3YmM1NDllMzgxZjQzYWNkNmIiCisKK1BZUElfUEFDS0FHRSA9ICJtc2dwYWNrLXB5dGhvbiIKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1uZXRhZGRyXzAuNy4xOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW5ldGFkZHJfMC43LjE4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmZGJmMTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1uZXRhZGRyXzAuNy4xOC5iYgpAQCAtMCwwICsxLDggQEAKK1NVTU1BUlkgPSAiQSBuZXR3b3JrIGFkZHJlc3MgbWFuaXB1bGF0aW9uIGxpYnJhcnkgZm9yIFB5dGhvbi4iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWIyNzc0MjVmODdmM2IwNmQyNWFmNDVkOGI5NmY5NjgyIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYzY1YmIzNGY4YmVkZmJiY2EwYjMxNmM0OTBjZDEzYTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTFmNWM5ZmNmNzVhYzI1NzliOTk5NWM4NDNkYWRlMzMwMDk1NDNjMDRmMjE4ZmY3YzAwN2IzYzgxNjk1YmQxOSIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW51bWVyaWMvbm8tbGFwYWNrLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbnVtZXJpYy9uby1sYXBhY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzE5MTZiOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW51bWVyaWMvbm8tbGFwYWNrLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKKworIworIyBQYXRjaCBtYW5hZ2VkIGJ5IGh0dHA6Ly93d3cuaG9sZ2Vyc2NodXJpZy5kZS9wYXRjaGVyLmh0bWwKKyMKKworLS0tIE51bWVyaWMtMjMuNy9zZXR1cC5weX5ub2xhcGFjaworKysrIE51bWVyaWMtMjMuNy9zZXR1cC5weQorQEAgLTMyLDcgKzMyLDcgQEAKKyAgICAgbWF0aGxpYnMgPSBbXQorIAorICMgZGVsZXRlIGFsbCBidXQgdGhlIGZpcnN0IG9uZSBpbiB0aGlzIGxpc3QgaWYgdXNpbmcgeW91ciBvd24gTEFQQUNLL0JMQVMKKy1zb3VyY2VsaXN0ID0gW29zLnBhdGguam9pbignU3JjJywgJ2xhcGFja19saXRlbW9kdWxlLmMnKSwKKytzb3VyY2VsaXN0ID0gWworICAgICAgICAgICAgICAgI29zLnBhdGguam9pbignU3JjJywgJ2JsYXNfbGl0ZS5jJyksIAorICAgICAgICAgICAgICAgI29zLnBhdGguam9pbignU3JjJywgJ2YyY19saXRlLmMnKSwgCisgICAgICAgICAgICAgICAjb3MucGF0aC5qb2luKCdTcmMnLCAnemxhcGFja19saXRlLmMnKSwKK0BAIC00MCwxMiArNDAsMTIgQEAKKyAgICAgICAgICAgICAgXQorICMgc2V0IHRoZXNlIHRvIHVzZSB5b3VyIG93biBCTEFTOworIAorLWxpYnJhcnlfZGlyc19saXN0ID0gWycvdXNyL2xpYi9hdGxhcyddCistbGlicmFyaWVzX2xpc3QgPSBbJ2xhcGFjaycsICdjYmxhcycsICdmNzdibGFzJywgJ2F0bGFzJywgJ2cyYyddIAorK2xpYnJhcnlfZGlyc19saXN0ID0gW10KKytsaWJyYXJpZXNfbGlzdCA9IFtdIAorIAorICMgc2V0IHRvIHRydWUgKDEpLCBpZiB5b3UgYWxzbyB3YW50IEJMQVMgb3B0aW1pemVkIG1hdHJpeG11bHRpcGx5L2RvdC9pbm5lcnByb2R1Y3QKKy11c2VfZG90YmxhcyA9IDEgCistaW5jbHVkZV9kaXJzID0gWycvdXNyL2luY2x1ZGUvYXRsYXMnXSAgCisrdXNlX2RvdGJsYXMgPSAwCisraW5jbHVkZV9kaXJzID0gW10gIAorICAgICAgICAgICAgICAgICAgICAjIFlvdSBtYXkgbmVlZCB0byBzZXQgdGhpcyB0byBmaW5kIGNibGFzLmgKKyAgICAgICAgICAgICAgICAgICAgIyAgZS5nLiBvbiBVTklYIHVzaW5nIEFUTEFTIHRoaXMgc2hvdWxkIGJlIFsnL3Vzci9pbmNsdWRlL2F0bGFzJ10KKyBleHRyYV9saW5rX2FyZ3MgPSBbXQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbnVtZXJpY18yNC4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbnVtZXJpY18yNC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMwYjA0ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1udW1lcmljXzI0LjIuYmIKQEAgLTAsMCArMSwxNCBAQAorU1VNTUFSWSA9ICJBIHNvcGhpc3RpY2F0ZWQgTnVtZXJpYyBQcm9jZXNzaW5nIFBhY2thZ2UgZm9yIFB5dGhvbiIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJQU0YgJiBMTE5MIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTGVnYWwuaHRtO21kNT1lM2NlNzVkZWRkNDA0MzkxOGQxNTk3OWFlNDNlMzEyZSIKKworUFIgPSAibWwzIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9udW1weS9OdW1lcmljLSR7UFZ9LnRhci5neiIKK1MgPSAiJHtXT1JLRElSfS9OdW1lcmljLSR7UFZ9IgorCitpbmhlcml0IGRpc3R1dGlscworCitTUkNfVVJJW21kNXN1bV0gPSAiMmFlNjcyNjU2ZTA2NzE2YTE0OWFjYjA0OGNjYTMwOTMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWY3MmU3MjllYjZmZjU3NDQyZjJhMzhiZmM5OTMxNzM4YjU5ZTUwNzc5MjhlMmU3MGQyMmI0NjEwZmYxNTI1OCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBhaG8tbXF0dF8xLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYWhvLW1xdHRfMS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4ZjVmM2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYWhvLW1xdHRfMS4xLmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiTVFUVCB2ZXJzaW9uIDMuMS8zLjEuMSBjbGllbnQgbGlicmFyeSIKK0xJQ0VOU0UgPSAiRVBMLTEuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT1lYjQ4YzZlZTJjYjlmNWI4YjlmZTc1ZTZmODE3YmRmYyIKK1NSQ05BTUUgPSAicGFoby1tcXR0IgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSA9ICJcCisgICAgICAgICAgICAgICBweXRob24tbWF0aCBcCisgICAgICAgICAgICAgICBweXRob24taW8gXAorICAgICAgICAgICAgICAgcHl0aG9uLXRocmVhZGluZyBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhNjQwN2I3NGViNWU1NDExZTE1N2JlMWRlNWMxMTM2NiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwZjdhNjI5ZWZlNmUzYTJjNjFiNTlkMzU1MGFhOWYyYzQ1MjliNTY4OWE2NWZkZTQ1ZTZmMWFjMzZiOWEyNjFlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFtXzEuOC4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFtXzEuOC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1YmRkZDUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYW1fMS44LjIuYmIKQEAgLTAsMCArMSwxMiBAQAorREVTQ1JJUFRJT04gPSAiUHl0aG9uIFBBTSBtb2R1bGUgdXNpbmcgY3R5cGVzLCBweTMvcHkyLiIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUEtHLUlORk87bWQ1PTY0MzI2ZDQyNDcxYjQ5M2M1YzA4ODMwNTM2NGFkNWRhIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZGI3MWI2Yjk5OTI0NmZiMDVkNzhlY2ZiZTE2NjYyOWQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjZlZmU0ZTc5Yjg2OWIxMGY5N2NkOGM0YTZiYmIwNGE0ZTU0ZDQxMTg2MzY0ZTk3NWI0MTA4YzljMDcxODEyYyIKKworUFlQSV9QQUNLQUdFID0gInB5dGhvbi1wYW0iCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK1JERVBFTkRTXyR7UE59ID0gImxpYnBhbSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBhcnNlLXR5cGVfMC4zLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYXJzZS10eXBlXzAuMy40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkYzM3Y2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYXJzZS10eXBlXzAuMy40LmJiCkBAIC0wLDAgKzEsMTEgQEAKK1NVTU1BUlkgPSAiU2ltcGxpZmllcyBidWlsZGluZyBwYXJzZSB0eXBlcyBiYXNlZCBvbiB0aGUgcGFyc2UgbW9kdWxlIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1iZTM4NDAyZWI0YjZjMjI0ZTQ5MTRmZDgyZTBlMTQzNiIKK1BZUElfUEFDS0FHRSA9ICJwYXJzZV90eXBlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDBiYTcwYmM1Y2E2NzYyNDIwN2IwZGZjZWQwMWRjOGEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2RkMGIzMjNiYWZjYjhjMjVlMDAwY2U1NTg5MDQyYTFjOTljYmE5YzNiZWM3N2I5ZjU5MWU0NmJjOTYwNjE0NyIKKworUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbi1wYXJzZSIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBhcnNlXzEuNi42LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFyc2VfMS42LjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDViNTJhMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBhcnNlXzEuNi42LmJiCkBAIC0wLDAgKzEsOCBAQAorU1VNTUFSWSA9ICJQYXJzZSBzdHJpbmdzIHVzaW5nIGEgc3BlY2lmaWNhdGlvbiBiYXNlZCBvbiB0aGUgUHl0aG9uIGZvcm1hdCgpIHN5bnRheCIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vcGFyc2UucHk7bWQ1PWUwNjdiYTJhMDhiNzM3MjFkYmU3MzU2ZGMwMjgyOTE4O3N0YXJ0bGluZT0xMTA4O2VuZGxpbmU9MTEyNiIKKworU1JDX1VSSVttZDVzdW1dID0gIjExYmM4YzYwYTMwZmU1MmRiNGFjOWE4Mjc2NTNkMGNhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjcxNDM1YWFhYzQ5NGUwOGNlYzc2ZGU2NDZkZTJhYWI4MzkyYzExNGU1NmZlM2Y4MWM1NjVlY2M3ZWI4ODYxNzgiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYXNzbGliLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBhc3NsaWIuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0M2U4ZTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYXNzbGliLmluYwpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gImNvbXByZWhlbnNpdmUgcGFzc3dvcmQgaGFzaGluZyBmcmFtZXdvcmsgc3VwcG9ydGluZyBvdmVyIDMwIHNjaGVtZXMiCitERVNDUklQVElPTiA9ICJcCitQYXNzbGliIGlzIGEgcGFzc3dvcmQgaGFzaGluZyBsaWJyYXJ5IGZvciBQeXRob24gMiAmIDMsIHdoaWNoIHByb3ZpZGVzIGNyb3NzLXBsYXRmb3JtIFwKK2ltcGxlbWVudGF0aW9ucyBvZiBvdmVyIDMwIHBhc3N3b3JkIGhhc2hpbmcgYWxnb3JpdGhtcywgYXMgd2VsbCBhcyBhIGZyYW1ld29yayBmb3IgXAorbWFuYWdpbmcgZXhpc3RpbmcgcGFzc3dvcmQgaGFzaGVzLiBJdOKAmXMgZGVzaWduZWQgdG8gYmUgdXNlZnVsIGZvciBhIHdpZGUgcmFuZ2Ugb2YgXAordGFza3MsIGZyb20gdmVyaWZ5aW5nIGEgaGFzaCBmb3VuZCBpbiAvZXRjL3NoYWRvdywgdG8gcHJvdmlkaW5nIGZ1bGwtc3RyZW5ndGggcGFzc3dvcmQgXAoraGFzaGluZyBmb3IgbXVsdGktdXNlciBhcHBsaWNhdGlvbnMuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9iaXRidWNrZXQub3JnL2Vjb2xsaW5zL3Bhc3NsaWIiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWJhZThmYWEzZTI2ODllZTBkZjNmMjEyN2ZjNDUxN2Y1IgorUFIgPSAicjAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkMmVkZDZjNDJjZGUxMzZhNTM4YjQ4ZDkwYTA2YWQ2NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhODNkMzRmNTNkYzliMTdhYTQyYzlhMzVjM2ZiY2M1MTIwZjNmY2IwN2Y3Zjg3MjFlYzQ1ZTZhMjdiZTM0N2ZjIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFzc2xpYl8xLjYuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBhc3NsaWJfMS42LjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTFjNTk4YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBhc3NsaWJfMS42LjUuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29scworcmVxdWlyZSBweXRob24tcGFzc2xpYi5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBhc3RlXzIuMC4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFzdGVfMi4wLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmI0MDE5ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBhc3RlXzIuMC4zLmJiCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAiVG9vbHMgZm9yIHVzaW5nIGEgV2ViIFNlcnZlciBHYXRld2F5IEludGVyZmFjZSBzdGFjayIKK0hPTUVQQUdFID0gImh0dHA6Ly9weXRob25wYXN0ZS5vcmcvIgorTElDRU5TRSA9ICJNSVQiCitSREVQRU5EU18ke1BOfSA9ICJweXRob24tc2l4IgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kb2NzL2xpY2Vuc2UudHh0O21kNT0xNzk4ZjI5ZDU1MDgwYzYwMzY1ZTYyODNjYjQ5Nzc5YyIKKworU1JDX1VSSVttZDVzdW1dID0gIjEyMzFlMTRlYWU2MmZhN2VkNzZlOTEzMGIwNGJjNjFlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjIzNDZhMzQ3ODI0YzMyNjQxYmYwMjBjMTc5NjdiNDlhZTc0ZDMzMTBlYzFiYzliOTU4ZDRiODRlMmQ5ODUyMTgiCisKK1BZUElfUEFDS0FHRSA9ICJQYXN0ZSIKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK0ZJTEVTXyR7UE59ICs9ICIvdXNyL2xpYi8qIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGVwOF8xLjcuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBlcDhfMS43LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjYyYjg2MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBlcDhfMS43LjAuYmIKQEAgLTAsMCArMSwxNCBAQAorU1VNTUFSWSA9ICJQeXRob24gc3R5bGUgZ3VpZGUgY2hlY2tlciIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9kcmVhbWhvc3QvY2xpZmYiCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUUucnN0O21kNT1kOGViYmJlODMxMjU5Y2UwMTAxNzlkMmYzMTBiMGYzZSIKKworU1JDX1VSSVttZDVzdW1dID0gIjJiMDMxMDliMDYxOGFmZTNiMDRiM2U2M2IzMzRhYzlkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImExMTNkNWY1YWQ3YTdhYmFjZWY5ZGY1ZWMzZjJhZjIzYTIwYTI4MDA1OTIxNTc3YjE1ZGQ1ODRkMDk5ZDU5MDAiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK1JERVBFTkRTXyR7UE59ICs9ICIgXAorICAgIHB5dGhvbi1wcmV0dHl0YWJsZSBcCisgICAgcHl0aG9uLWNtZDIgXAorICAgIHB5dGhvbi1weXBhcnNpbmciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1waXBfOC4xLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1waXBfOC4xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzBjMjYzYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBpcF84LjEuMS5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIlBJUCBpcyBhIHRvb2wgZm9yIGluc3RhbGxpbmcgYW5kIG1hbmFnaW5nIFB5dGhvbiBwYWNrYWdlcyIKK0xJQ0VOU0UgPSAiTUlUICYgTEdQTC0yLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9MjVmYmE0NTEwOTU2NWY4N2RlMjBiYWU4NWJjMzk0NTIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2Yjg2ZjExODQxZTg5YzgyNDFkNjg5OTU2YmE5OWVkNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzZTc4ZDMwNjZhYWViNjMzZDE4NWE1N2FmZGNjZjcwMGFhMmU2NjA0MzZiNGFmNjE4YmNiNmZmMGZhNTExNzk4IgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCisjIFNpbmNlIFBJUCBpcyBsaWtlIENQQU4gZm9yIFBFUkwgd2UgbmVlZCB0byBkcmFnIGluIGFsbCBweXRob24gbW9kdWxlcyB0byBlbnN1cmUgZXZlcnl0aGluZyB3b3JrcworUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uLW1vZHVsZXMgcHl0aG9uLWRpc3RyaWJ1dGUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wcmV0ZW5kXzEuMC44LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHJldGVuZF8xLjAuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZGM3YjYyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHJldGVuZF8xLjAuOC5iYgpAQCAtMCwwICsxLDggQEAKK1NVTU1BUlkgPSAiQSBsaWJyYXJ5IGZvciBzdHViYmluZyBpbiBQeXRob24iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UucnN0O21kNT00MTE3ODBjMGI3ZmE3NTY3NTNlOTRhZmZlZWU1YmM5OSIKKworU1JDX1VSSVttZDVzdW1dID0gIjcxNDcwNTBhOTVjOWY0OTQyNDg1NTdiNDJiNThhZDc5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjkzMGYyYzFlMTg1MDNlOGY4YzQwM2FiZTJlMDIxNjZjNGE4ODE5NDE3NDUxNDdlNzEyY2RkNGY0OWYzZmI5NjQiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wcmV0dHl0YWJsZV8wLjcuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXByZXR0eXRhYmxlXzAuNy4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4ZjdiNWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wcmV0dHl0YWJsZV8wLjcuMi5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gIlB5dGhvbiBsaWJyYXJ5IGZvciBkaXNwbGF5aW5nIHRhYnVsYXIgZGF0YSBpbiBhIEFTQ0lJIHRhYmxlIGZvcm1hdCIKK0hPTUVQQUdFID0gImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9wcmV0dHl0YWJsZSIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9M2U3MzUwMGZmYTUyZGU1MDcxY2ZmNjU5OTAwNTUyODIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwYzEzNjExMDRjYWZmOGIwOWYyMjA3NDhmOWQ2OTg5OSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhNTNkYTNiNDNkN2E1YzIyOWI1ZTNjYTI4OTJlZjk4MmM0NmI3OTIzYjUxZTk4ZjBkYjQ5OTU2NTMxMjExYzRmIgorCitTUkNOQU1FID0gInByZXR0eXRhYmxlIgorCitTUkNfVVJJID0gImh0dHBzOi8vcHlwaS5weXRob24ub3JnL3BhY2thZ2VzL3NvdXJjZS9QL1ByZXR0eVRhYmxlLyR7U1JDTkFNRX0tJHtQVn0uemlwIgorCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1BWfSIKKworaW5oZXJpdCBzZXR1cHRvb2xzCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIHBlcm1fZmlsZXM9YGZpbmQgIiR7RH0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8iIC1uYW1lICJ0b3BfbGV2ZWwudHh0ImAKKyAgICBmb3IgZiBpbiAkcGVybV9maWxlczsgZG8KKyAgICAgICAgY2htb2QgNjQ0ICIke2Z9IgorICAgIGRvbmUKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBzdXRpbF80LjEuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBzdXRpbF80LjEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTIxMGVlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHN1dGlsXzQuMS4wLmJiCkBAIC0wLDAgKzEsMTIgQEAKK1NVTU1BUlkgPSAiQSBjcm9zcy1wbGF0Zm9ybSBwcm9jZXNzIGFuZCBzeXN0ZW0gdXRpbGl0aWVzIG1vZHVsZSBmb3IgUHl0aG9uIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0wZjAyZTk5ZjdmM2M5YTdmZThlY2ZjNWQ0NGMyYmU2MiIKKworU1JDX1VSSVttZDVzdW1dID0gIjAxN2UxMDIzNDg0ZWJmNDM2ZDM1MTRlYmVhZjJlN2U5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM2YWJlYmVjOWM4ODMzYmFhZjFjNTFkZDFiMDI1OTI0NmQxZDUwYjliNTBlOWE0YWE2NmYzM2IxZTk4YjhkMTciCisKK1JERVBFTkRTXyR7UE59ICs9ICIgXAorICAgIHB5dGhvbi1zdWJwcm9jZXNzIFwKKyAgICAiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weV8xLjQuMzEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weV8xLjQuMzEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTkyYmMwNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5XzEuNC4zMS5iYgpAQCAtMCwwICsxLDggQEAKK1NVTU1BUlkgPSAiTGlicmFyeSB3aXRoIGNyb3NzLXB5dGhvbiBwYXRoLCBpbmktcGFyc2luZywgaW8sIGNvZGUsIGxvZyBmYWNpbGl0aWVzIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1hNmJiMDMyMGIwNGEwYTUwM2YxMmY2OWZlYTQ3OWRlOSIKKworU1JDX1VSSVttZDVzdW1dID0gIjVkMmM2M2M1NmRjM2YyMTE1ZWMzNWMwNjZlY2Q1ODJiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE2NTAxOTYzYzcyNWZjMjU1NGRhYmZlY2U4YWU5YThmYjVlMTQ5YzBhYzBhNDJmZDJiMDJjNWMxYzU3ZmMxMTQiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWFsc2FhdWRpb18wLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWFsc2FhdWRpb18wLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGU2NjBhZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5YWxzYWF1ZGlvXzAuNC5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIlN1cHBvcnQgZm9yIHRoZSBMaW51eCAyLjYueCBBTFNBIFNvdW5kIFN5c3RlbSIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorREVQRU5EUyA9ICJhbHNhLWxpYiIKK0xJQ0VOU0UgPSAiUFNGIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MWEzYjE2MWFhMGZjZWMzMmEwYzg5MDdhMjIxOWFkOWQiCitTUkNOQU1FID0gInB5YWxzYWF1ZGlvIgorUFIgPSAibWwyIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9weWFsc2FhdWRpby8ke1NSQ05BTUV9LSR7UFZ9LnRhci5neiIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9LSR7UFZ9IgorCitpbmhlcml0IGRpc3R1dGlscworCitTUkNfVVJJW21kNXN1bV0gPSAiYjMxMmMyOGVmYmE3ZGIwNDk0ODM2YTc5ZjBhNDk4OTgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDcxNDhjZTE2MDI0NzI0YjE3Y2MyNGM1MWQwZjRmYjc4YWYyMTRiMDliN2RjOGRjYjdiMDZlNTY0N2Y0YzU4MiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5YXNuMV8wLjEuOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5YXNuMV8wLjEuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMTdhZGZlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlhc24xXzAuMS45LmJiCkBAIC0wLDAgKzEsMTEgQEAKK1NVTU1BUlkgPSAiUHl0aG9uIGxpYnJhcnkgaW1wbGVtZW50aW5nIEFTTi4xIHR5cGVzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9weWFzbjEuc291cmNlZm9yZ2UubmV0LyIKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PTQyNWU2MjMyMGQ0MzAyMTk3MzYxMzliMTM0ZGIyZmM0IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjAwYTAyYTYzMWQ0MDE2ODE4NjU5ZDFjYzM4ZDIyOWEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODUzY2FjZDk2ZDFmNzAxZGRkNjdhYTAzZWNjMDVmNTE4OTAxMzViNzI2MmU5MjI3MTAxMTJmMTJhMmVkMmE3ZiIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbi1sYW5nIHB5dGhvbi1zaGVsbCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5Y3BhcnNlcl8yLjE0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHljcGFyc2VyXzIuMTQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTgwMDZjYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5Y3BhcnNlcl8yLjE0LmJiCkBAIC0wLDAgKzEsMTAgQEAKK1NVTU1BUlkgPSAiUGFyc2VyIG9mIHRoZSBDIGxhbmd1YWdlLCB3cml0dGVuIGluIHB1cmUgUHl0aG9uIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT04ZmIzNjQ3NzJiMTQ0MTgyMWQzOTE1OTFmMzQwYzM1YSIKKworU1JDX1VSSVttZDVzdW1dID0gImEyYmM4ZDI4YzkyM2I0ZmUyYjJjM2I0YjUxYTRmOTM1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc5NTliNGE3NGFiZGMyN2IzMTJmZWQxYzIxZTZjYWY5MzA5Y2UwYjI5ZWE4NmI1OTFmZDJlOTllY2RmMjdmNzMiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlmbGFrZXNfMS4xLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWZsYWtlc18xLjEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZTdkNDcxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlmbGFrZXNfMS4xLjAuYmIKQEAgLTAsMCArMSwxNCBAQAorU1VNTUFSWSA9ICJwYXNzaXZlIGNoZWNrZXIgb2YgUHl0aG9uIHByb2dyYW1zIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2RyZWFtaG9zdC9jbGlmZiIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRS5yc3Q7bWQ1PWZlNzE5ZDQ1ZjRjNjA0YzZlMmM4Njg3MmI2ZTk0ODVmIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZTBiZjg1NGNkNWFiZDQ1MjdlMTQ5NjkyOTI1YjgyZWIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTVmOTU5OTMxOTg3ZTJiZTE3ODc4MTU1NGI0ODVkNTIzNDJlYzlmMWI0M2Y4OTFkMmRhZDA3YTY5MWM3YTg5YSIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gKz0gIiBcCisgICAgcHl0aG9uLXByZXR0eXRhYmxlIFwKKyAgICBweXRob24tY21kMiBcCisgICAgcHl0aG9uLXB5cGFyc2luZyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5Z3BnbWUvcnVuLXB0ZXN0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlncGdtZS9ydW4tcHRlc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWM4NjdlMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5Z3BnbWUvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCisKK0dQR19BR0VOVF9JTkZPPSBweXRob24gdGVzdF9hbGwucHkgLXYKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5Z3BnbWVfMC4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlncGdtZV8wLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDNjNDc5MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5Z3BnbWVfMC4zLmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiQSBQeXRob24gbW9kdWxlIGZvciB3b3JraW5nIHdpdGggT3BlblBHUCBtZXNzYWdlcyIKK0RFU0NSSVBUSU9OID0gIlB5R1BHTUUgaXMgYSBQeXRob24gbW9kdWxlIHRoYXQgbGV0cyB5b3Ugc2lnbiwgdmVyaWZ5LCBcCisgICAgICAgICAgICAgICBlbmNyeXB0IGFuZCBkZWNyeXB0IG1lc3NhZ2VzIHVzaW5nIHRoZSBPcGVuUEdQIGZvcm1hdC4iCitIT01FUEFHRSA9ICJodHRwczovL2xhdW5jaHBhZC5uZXQvcHlncGdtZSIKKworTElDRU5TRSA9ICJMR1BMLTIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO2JlZ2lubGluZT04O2VuZGxpbmU9ODttZDU9NjUxN2JkYzhmMjQxNmYyN2FiNzI1ZDQ3MDJmN2FhYzMiCisKK1NSQ19VUkkgPSAiZmlsZTovL3J1bi1wdGVzdCIKKworU1JDX1VSSVttZDVzdW1dID0gImQzODM1NWFmNzNmMDM1MmNkZTNkNDEwYjI1ZjM0ZmQwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVmZDg4N2M0MDcwMTUyOTZhOGZkM2Y0Yjg2N2ZlMGZjY2EzMTc5ZGU5N2NjZGU5MDQ0OTg1M2EzZGZiODAyZTEiCisKK0RFUEVORFMgKz0gImdwZ21lIgorUkRFUEVORFNfJHtQTn0gKz0gImdudXBnIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scyBwdGVzdAorCitkb19pbnN0YWxsX3B0ZXN0KCl7CisgICAgaW5zdGFsbCAke1N9L3Rlc3RfYWxsLnB5ICR7RH0ke1BURVNUX1BBVEh9CisgICAgY3AgLXIgJHtTfS90ZXN0cyAke0R9JHtQVEVTVF9QQVRIfQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHloYW1jcmVzdF8xLjkuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5aGFtY3Jlc3RfMS45LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDJkNGY1NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5aGFtY3Jlc3RfMS45LjAuYmIKQEAgLTAsMCArMSwxMCBAQAorU1VNTUFSWSA9ICJIYW1jcmVzdCBmcmFtZXdvcmsgZm9yIG1hdGNoZXIgb2JqZWN0cyIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PWY2ZGYxMzE4YzYwNzFkZDE3MDdmNWUzYjZjMTFmMjRmIgorCitQWVBJX1BBQ0tBR0UgPSAiUHlIYW1jcmVzdCIKKworU1JDX1VSSVttZDVzdW1dID0gIjhiODMzYTNmYTMwMTk3NDU1ZGY3OTQyNGYzMGM4YzNmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhmZmFhMGE1M2RhNTdlODlkZTE0Y2VkNzE4NWFjNzQ2MjI3YTg4OTRkYmQ1YTNjNzE4YmYwNWRkYmQxZDU2Y2QiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWlub3RpZnkuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlpbm90aWZ5LmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOWVkYjJjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlpbm90aWZ5LmluYwpAQCAtMCwwICsxLDExIEBACitERVNDUklQVElPTiA9ICJQeXRob24gcHlpbm90aWZ5OiBMaW51eCBmaWxlc3lzdGVtIGV2ZW50cyBtb25pdG9yaW5nIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hYjE3M2NhZGU3OTY1YjQxMTUyODQ2NDU4OWEwODM4MiIKKworUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbi10aHJlYWRpbmcgcHl0aG9uLWlvIHB5dGhvbi1zdWJwcm9jZXNzIHB5dGhvbi1taXNjIHB5dGhvbi1zaGVsbCIKKworU1JDX1VSSVttZDVzdW1dID0gIjhlNTgwZmExZmYzOTcxZjk0YTZmODE2NzJiNzZjNDA2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjljOTk4YTVkNzYwNmNhODM1MDY1Y2RhYmMwMTNhZTZjNjZlYjllYTc2YTAwYTFlM2JjNmUwY2ZlMmI0ZjcxZjQiCisKK1BZUElfUEFDS0FHRSA9ICJweWlub3RpZnkiCitpbmhlcml0IHB5cGkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5aW5vdGlmeV8wLjkuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5aW5vdGlmeV8wLjkuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMWY4NGMzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlpbm90aWZ5XzAuOS42LmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi1weWlub3RpZnkuaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weW1pc3AuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHltaXNwLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Y2QwODQ0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHltaXNwLmluYwpAQCAtMCwwICsxLDEwIEBACitERVNDUklQVElPTiA9ICJQeXRob24gQVBJIGZvciBNSVNQIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL01JU1AvUHlNSVNQIgorTElDRU5TRSA9ICJCU0QtMi1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9QS0ctSU5GTzttZDU9YzBhM2U4MDFiNzQwZWYzMWQxZjVkZGZlNzZiY2E1MzgiCitQUiA9ICJyMCIKKworU1JDX1VSSVttZDVzdW1dID0gIjM5ODQwODM4ODkwMmMxMDhlM2IzNzgxNTJiNmMxZDI0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ3MGU3NGM1MjhmMDQwZjVmZjgxMzczMzdmMTc1OGFlYjYzYTU5NjZiNThiMjk3ZjIxNzFmNTNjYjlkZjAzM2UiCisKK1JERVBFTkRTXyR7UE59ICs9ICIgJHtQWVRIT05fUE59LXJlcXVlc3RzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHltaXNwXzIuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5bWlzcF8yLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWIxZmJlOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5bWlzcF8yLjMuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29scworcmVxdWlyZSBweXRob24tcHltaXNwLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHltb25nby5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weW1vbmdvLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMGY1MmRkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHltb25nby5pbmMKQEAgLTAsMCArMSwxMiBAQAorU1VNTUFSWSA9ICJQeXRob24gZHJpdmVyIGZvciBNb25nb0RCIDxodHRwOi8vd3d3Lm1vbmdvZGIub3JnPiIKK0RFU0NSSVBUSU9OID0gIlwKK1RoZSBQeU1vbmdvIGRpc3RyaWJ1dGlvbiBjb250YWlucyB0b29scyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBNb25nb0RCIFwKK2RhdGFiYXNlIGZyb20gUHl0aG9uLiBUaGUgYnNvbiBwYWNrYWdlIGlzIGFuIGltcGxlbWVudGF0aW9uIG9mIHRoZSBCU09OIFwKK2Zvcm1hdCBmb3IgUHl0aG9uLiBUaGUgcHltb25nbyBwYWNrYWdlIGlzIGEgbmF0aXZlIFB5dGhvbiBkcml2ZXIgZm9yIFwKK01vbmdvREIuIFRoZSBncmlkZnMgcGFja2FnZSBpcyBhIGdyaWRmcyBpbXBsZW1lbnRhdGlvbiBvbiB0b3Agb2YgcHltb25nby4iCitIT01FUEFHRSA9ICJodHRwOi8vZ2l0aHViLmNvbS9tb25nb2RiL21vbmdvLXB5dGhvbi1kcml2ZXIiCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0yYTk0NDk0MmUxNDk2YWYxODg2OTAzZDI3NGRlZGIxMyIKKworU1JDX1VSSVttZDVzdW1dID0gIjcwNDA4ZjgxMTVkN2FhNTJmYjZlZWYwZTU1MjgzNGE2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImYyMDE4MTY1ODIzYjM0MWQ4M2QzOTgxNjVkMWM2MjVlNWRiNWNjNzc5ZTdjNDRjMTA3MDM0NDA3ODA4NDYzYjYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weW1vbmdvXzMuMi4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHltb25nb18zLjIuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMTc3OGIyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHltb25nb18zLjIuMi5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi1weW1vbmdvLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlvcGVuc3NsXzAuMTUuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5b3BlbnNzbF8wLjE1LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTAyN2M2ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5b3BlbnNzbF8wLjE1LjEuYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSA9ICJTaW1wbGUgUHl0aG9uIHdyYXBwZXIgYXJvdW5kIHRoZSBPcGVuU1NMIGxpYnJhcnkiCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zYjgzZWY5NjM4N2YxNDY1NWZjODU0ZGRjM2M2YmQ1NyIKKworREVQRU5EUyA9ICJvcGVuc3NsIHB5dGhvbi1jcnlwdG9ncmFwaHkiCitQRSA9ICIxIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjQ0NzY0NGFmY2JkNWYwYTFmNDczNTBmZWM2M2E0YzYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjBhMjYwNzBkNmRiMDg4MWRlOGJjYzc4NDY5MzRiN2MzYzkzMGQ4ZjljNzlkNDU4ODNlZTQ4OTg0YmMwZDY3MiIKKworUFlQSV9QQUNLQUdFID0gInB5T3BlblNTTCIKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK1BBQ0tBR0VTID0rICIke1BOfS10ZXN0cyIKK0ZJTEVTXyR7UE59LXRlc3RzID0gIiR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvT3BlblNTTC90ZXN0IgorCitSREVQRU5EU18ke1BOfSA9ICJweXRob24tdGhyZWFkaW5nIHB5dGhvbi1zaXggcHl0aG9uLWNyeXB0b2dyYXBoeSIKK1JERVBFTkRTXyR7UE59LXRlc3RzID0gIiR7UE59IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlwYXJzaW5nXzIuMS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlwYXJzaW5nXzIuMS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0YTk5ZTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXBhcnNpbmdfMi4xLjEuYmIKQEAgLTAsMCArMSwxMCBAQAorU1VNTUFSWSA9ICJQeXRob24gcGFyc2luZyBtb2R1bGUiCitIT01FUEFHRSA9ICJodHRwOi8vcHlwYXJzaW5nLndpa2lzcGFjZXMuY29tLyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZmI0NjMyOTkzOGU2YmM4MjliMjU2ZTM3ZDVjMWUzMWEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyYTFkM2E2M2RkYzJlYzlhM2RhOTYxZDFiN2YyNThiMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0YmQwNGJhZGZkYTM5YjFlMmZkMGQ3N2NiNzhiNDg4Yzg4MWQ4OGMzMTczNDc5MWEwYWU5MDI5NzlhZTEwNTc1IgorCitQWVBJX1BBQ0tBR0VfRVhUID0gInppcCIKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXJvdXRlMi9pbXBvcnQtc2ltcGxlanNvbi1hcy1qc29uLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlyb3V0ZTIvaW1wb3J0LXNpbXBsZWpzb24tYXMtanNvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNzNkYTA3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlyb3V0ZTIvaW1wb3J0LXNpbXBsZWpzb24tYXMtanNvbi5wYXRjaApAQCAtMCwwICsxLDI2IEBACitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW3dyb25nIGRlcGVuZGVuY3ldCisKK1N1YmplY3Q6IFtQQVRDSF0gaW1wb3J0IHNpbXBsZWpzb24gYXMganNvbgorCitBdCBydW50aW1lIHB5dGhvbi1weXJvdXRlMiB0cmllcyB0byBpbXBvcnQganNvbiwgYnV0IHRoZSBtb2R1bGUgaXMgbm90IAorYXZhaWxhYmxlLCBpbXBvcnQgc2ltcGxlanNvbiBhcyBqc29uIHNvbHZlIHRoZSBpc3N1ZS4KKworU2lnbmVkLW9mZi1ieTogRmFiaW8gQmVydG9uIDxmYWJpby5iZXJ0b25Ab3NzeXN0ZW1zLmNvbS5icj4KKy0tLQorIHB5cm91dGUyL25ldGxpbmsvcnRubC9pZmluZm1zZy5weSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3B5cm91dGUyL25ldGxpbmsvcnRubC9pZmluZm1zZy5weSBiL3B5cm91dGUyL25ldGxpbmsvcnRubC9pZmluZm1zZy5weQoraW5kZXggNGYxNGYyNS4uNTU2NDNlYiAxMDA2NDQKKy0tLSBhL3B5cm91dGUyL25ldGxpbmsvcnRubC9pZmluZm1zZy5weQorKysrIGIvcHlyb3V0ZTIvbmV0bGluay9ydG5sL2lmaW5mbXNnLnB5CitAQCAtMSw1ICsxLDUgQEAKKyBpbXBvcnQgb3MKKy1pbXBvcnQganNvbgorK2ltcG9ydCBzaW1wbGVqc29uIGFzIGpzb24KKyBpbXBvcnQgZXJybm8KKyBpbXBvcnQgc2VsZWN0CisgaW1wb3J0IHN0cnVjdAorLS0gCisyLjEuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXJvdXRlMl8wLjMuMTQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXJvdXRlMl8wLjMuMTQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDNjNmNlYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5cm91dGUyXzAuMy4xNC5iYgpAQCAtMCwwICsxLDI0IEBACitTVU1NQVJZID0gIkEgcHVyZSBQeXRob24gbmV0bGluayBhbmQgTGludXggbmV0d29yayBjb25maWd1cmF0aW9uIGxpYnJhcnkiCitMSUNFTlNFID0gIkdQTHYyICYgQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UuR1BMLnYyO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9MSUNFTlNFLkFwYWNoZS52MjttZDU9M2I4M2VmOTYzODdmMTQ2NTVmYzg1NGRkYzNjNmJkNTciCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxZTdlNzcxNzAyMDU2ZTYxY2Y1MjJjY2NjMzllYTA5ZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhZWQ3NDJhN2RiZTU1ZWI3ZjAyZGJiMjY3MTlmNTU0YjllOTIxOThjNGIzYzdhYzUwMWFkMDNiYmI2NDIxOTYyIgorCitTUkNfVVJJICs9ICJmaWxlOi8vaW1wb3J0LXNpbXBsZWpzb24tYXMtanNvbi5wYXRjaCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gKz0gIlwKKyAgcHl0aG9uLWRpc3R1dGlscyBcCisgIHB5dGhvbi1zaW1wbGVqc29uIFwKKyAgcHl0aG9uLW11bHRpcHJvY2Vzc2luZyBcCisgIHB5dGhvbi1pbyBweXRob24tcHByaW50IFwKKyAgcHl0aG9uLXBpY2tsZSBcCisgIHB5dGhvbi1sb2dnaW5nIFwKKyAgcHl0aG9uLXRocmVhZGluZyBcCisgIHB5dGhvbi10ZXh0dXRpbHMgXAorICBweXRob24tc3VicHJvY2VzcyBcCisgIHB5dGhvbi1uZXRjbGllbnQgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlzZXJpYWwuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlzZXJpYWwuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4ZWVmNzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXNlcmlhbC5pbmMKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJTZXJpYWwgUG9ydCBTdXBwb3J0IGZvciBQeXRob24iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT0wMDUxYTBkYzgxMWVlM2ZkYjE3YTJmZDBiZTQ0ZjNhZCIKKworIyBGSVhNRSBtaWdodCBzdG9wIHBhY2thZ2luZyBzZXJpYWx3aW4zMiBhbmQgc2VyaWFsamF2YSBmaWxlcworCitSREVQRU5EU18ke1BOfSA9ICJcCisgICAgJHtQWVRIT05fUE59LWZjbnRsIFwKKyAgICAke1BZVEhPTl9QTn0taW8gXAorICAgICR7UFlUSE9OX1BOfS1zdHJpbmdvbGQgXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYzg1MjFlNDlmODg1MjE5NmFhYzM5NDMxZTA5MDE3MDMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTY5Y2I2NDA1ZDFkODdmODk2MGNmOWMxMGY1OTdhZTU4Zjg1ZGEyZmI5NzY5ZGJhOTZmNGFlZWFhZGU1NDY1NiIKKworaW5oZXJpdCBweXBpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXNlcmlhbF8zLjAuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5c2VyaWFsXzMuMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkMmIzNTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXNlcmlhbF8zLjAuMS5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgc2V0dXB0b29scworcmVxdWlyZSBweXRob24tcHlzZXJpYWwuaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXRlc3RfMi45LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXRlc3RfMi45LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2E1M2RjNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5dGVzdF8yLjkuMS5iYgpAQCAtMCwwICsxLDEwIEBACitTVU1NQVJZID0gIlNpbXBsZSBwb3dlcmZ1bCB0ZXRpbmcgd2l0aCBQeXRob24iCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWQ4YTU2MDk2MDhkOWE1YTE4MDcwNWIwZmEyOThhZTAxIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDUxNjU3NDBlYTUwOTI4ZTRlOTcxMzc4NjMwMTYzZWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGQ0OGQyN2ExMjc2NDRmYmU3YzgxNTgxNTdlMDhiMzVmODI1NTA0NWQ0NDc2ZGY2OTRiOTFlYjNhODE0N2U2NSIKKworUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uLXB5IgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHl0el8yMDE2LjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXR6XzIwMTYuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYTRlMmQ2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHl0el8yMDE2LjMuYmIKQEAgLTAsMCArMSwxNCBAQAorU1VNTUFSWSA9ICJXb3JsZCB0aW1lem9uZSBkZWZpbml0aW9ucywgbW9kZXJuIGFuZCBoaXN0b3JpY2FsIgorSE9NRVBBR0UgPSAiIGh0dHA6Ly9weXRob25ob3N0ZWQub3JnL3B5dHoiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT0yMmIzODk1MWViODU3Y2YyODVhNDU2MGE5MTRiN2NkNiIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gPSAiXAorICAgIHB5dGhvbi1jb3JlIFwKKyAgICBweXRob24tZGF0ZXRpbWUgXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYWJhZTkyYzMzMDFiMjdiZDhhOWY1NmIxNGY1MmNiMjkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzQ0OWRhMTkwNTE2NTVkNGMwYmI1YzM3MTkxMzMxNzQ4YmNhZDE1ODA0ZDgxNjc2YTg4NDUxZWYyOTkzNzBhOCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5dWRldl8wLjE5LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXVkZXZfMC4xOS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhMjZkYzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXVkZXZfMC4xOS4wLmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiQSBsaWJ1ZGV2IGJpbmRpbmciCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTZmODllMjEwMGQ5YjZjZGZmY2VhNGYzOThlMzczNDMiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxMTUxZTlkMDViYWY2Y2U3YjQzZTc1NzRkYzBlZjE1NCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1YWJjYmQwM2U0OTY1MTEwZDFmZWRjYmRkNTUzMjk3NGNiNDYzOGNlZWYzNDMzN2FhMmQ1NzU4ZWNlYjU0YWQzIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgIi9pbXBvcnQgcHl1ZGV2L2QiICR7U30vc2V0dXAucHkKKyAgICBzZWQgLWkgInMvc3RyKHB5dWRldi5fX3ZlcnNpb25fXykvJyR7UFZ9Jy9nIiAke1N9L3NldHVwLnB5Cit9CisKK1JERVBFTkRTXyR7UE59ID0gIlwKKyAgICBweXRob24tY3R5cGVzIFwKKyAgICBweXRob24tc3VicHJvY2VzcyBcCisgICAgcHl0aG9uLW1pc2MgXAorICAgIHB5dGhvbi1jb250ZXh0bGliIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5dXNiXzEuMC4wYjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXVzYl8xLjAuMGIyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyNzlhYmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXVzYl8xLjAuMGIyLmJiCkBAIC0wLDAgKzEsMTAgQEAKK1NVTU1BUlkgPSAiUHlVU0IgcHJvdmlkZXMgVVNCIGFjY2VzcyBvbiB0aGUgUHl0aG9uIGxhbmd1YWdlIgorSE9NRVBBR0UgPSAiaHR0cDovL3B5dXNiLnNvdXJjZWZvcmdlLm5ldC8iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTUwZDQ2YmRhNjI0OGEwYjRhNDZhNmQ1OWE2NmVlMDhlIgorREVQRU5EUyA9ICJsaWJ1c2IxIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYmMxMmU4M2ZmM2VmMTA0NWQ0MzA2ZDEzYTk5NTVmYzEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTRlYzY2MDc3YmRjZDZmMWFhOWU4OTJhMGEzNWE1NGJiM2MxZWM1NmFhNzQwZWFkNjQzNDljMThmMDE4NmQxOSIKKworaW5oZXJpdCBweXBpIGRpc3R1dGlscwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHl5YW1sL3NldHVwLnB5IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHl5YW1sL3NldHVwLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlZDFjOTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXlhbWwvc2V0dXAucHkKQEAgLTAsMCArMSw2NCBAQAorTkFNRSA9ICdQeVlBTUwnCitWRVJTSU9OID0gJzMuMTAnCitERVNDUklQVElPTiA9ICJZQU1MIHBhcnNlciBhbmQgZW1pdHRlciBmb3IgUHl0aG9uIgorTE9OR19ERVNDUklQVElPTiA9ICIiIlwKK1lBTUwgaXMgYSBkYXRhIHNlcmlhbGl6YXRpb24gZm9ybWF0IGRlc2lnbmVkIGZvciBodW1hbiByZWFkYWJpbGl0eSBhbmQKK2ludGVyYWN0aW9uIHdpdGggc2NyaXB0aW5nIGxhbmd1YWdlcy4gIFB5WUFNTCBpcyBhIFlBTUwgcGFyc2VyIGFuZAorZW1pdHRlciBmb3IgUHl0aG9uLgorCitQeVlBTUwgZmVhdHVyZXMgYSBjb21wbGV0ZSBZQU1MIDEuMSBwYXJzZXIsIFVuaWNvZGUgc3VwcG9ydCwgcGlja2xlCitzdXBwb3J0LCBjYXBhYmxlIGV4dGVuc2lvbiBBUEksIGFuZCBzZW5zaWJsZSBlcnJvciBtZXNzYWdlcy4gIFB5WUFNTAorc3VwcG9ydHMgc3RhbmRhcmQgWUFNTCB0YWdzIGFuZCBwcm92aWRlcyBQeXRob24tc3BlY2lmaWMgdGFncyB0aGF0IGFsbG93Cit0byByZXByZXNlbnQgYW4gYXJiaXRyYXJ5IFB5dGhvbiBvYmplY3QuCisKK1B5WUFNTCBpcyBhcHBsaWNhYmxlIGZvciBhIGJyb2FkIHJhbmdlIG9mIHRhc2tzIGZyb20gY29tcGxleAorY29uZmlndXJhdGlvbiBmaWxlcyB0byBvYmplY3Qgc2VyaWFsaXphdGlvbiBhbmQgcGVyc2lzdGFuY2UuIiIiCitBVVRIT1IgPSAiS2lyaWxsIFNpbW9ub3YiCitBVVRIT1JfRU1BSUwgPSAneGlAcmVzb2x2ZW50Lm5ldCcKK0xJQ0VOU0UgPSAiTUlUIgorUExBVEZPUk1TID0gIkFueSIKK1VSTCA9ICJodHRwOi8vcHl5YW1sLm9yZy93aWtpL1B5WUFNTCIKK0RPV05MT0FEX1VSTCA9ICJodHRwOi8vcHl5YW1sLm9yZy9kb3dubG9hZC9weXlhbWwvJXMtJXMudGFyLmd6IiAlIChOQU1FLCBWRVJTSU9OKQorQ0xBU1NJRklFUlMgPSBbCisgICAgIkRldmVsb3BtZW50IFN0YXR1cyA6OiA1IC0gUHJvZHVjdGlvbi9TdGFibGUiLAorICAgICJJbnRlbmRlZCBBdWRpZW5jZSA6OiBEZXZlbG9wZXJzIiwKKyAgICAiTGljZW5zZSA6OiBPU0kgQXBwcm92ZWQgOjogTUlUIExpY2Vuc2UiLAorICAgICJPcGVyYXRpbmcgU3lzdGVtIDo6IE9TIEluZGVwZW5kZW50IiwKKyAgICAiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIiwKKyAgICAiVG9waWMgOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQgOjogTGlicmFyaWVzIDo6IFB5dGhvbiBNb2R1bGVzIiwKKyAgICAiVG9waWMgOjogVGV4dCBQcm9jZXNzaW5nIDo6IE1hcmt1cCIsCitdCisKK2Zyb20gZGlzdHV0aWxzLmNvcmUgaW1wb3J0IHNldHVwCitmcm9tIGRpc3R1dGlscy5leHRlbnNpb24gaW1wb3J0IEV4dGVuc2lvbgorZnJvbSBDeXRob24uRGlzdHV0aWxzIGltcG9ydCBidWlsZF9leHQKKworaW1wb3J0IHN5cywgb3MucGF0aAorCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisKKyAgICBzZXR1cCgKKyAgICAgICAgbmFtZT1OQU1FLAorICAgICAgICB2ZXJzaW9uPVZFUlNJT04sCisgICAgICAgIGRlc2NyaXB0aW9uPURFU0NSSVBUSU9OLAorICAgICAgICBsb25nX2Rlc2NyaXB0aW9uPUxPTkdfREVTQ1JJUFRJT04sCisgICAgICAgIGF1dGhvcj1BVVRIT1IsCisgICAgICAgIGF1dGhvcl9lbWFpbD1BVVRIT1JfRU1BSUwsCisgICAgICAgIGxpY2Vuc2U9TElDRU5TRSwKKyAgICAgICAgcGxhdGZvcm1zPVBMQVRGT1JNUywKKyAgICAgICAgdXJsPVVSTCwKKyAgICAgICAgZG93bmxvYWRfdXJsPURPV05MT0FEX1VSTCwKKyAgICAgICAgY2xhc3NpZmllcnM9Q0xBU1NJRklFUlMsCisKKyAgICAgICAgcGFja2FnZV9kaXI9eycnOiAnbGliJ30sCisgICAgICAgIHBhY2thZ2VzPVsneWFtbCddLAorCisgICAgICAgIGV4dF9tb2R1bGVzID0gWworICAgICAgICBFeHRlbnNpb24oICJfeWFtbCIsIFsiZXh0L195YW1sLnB5eCJdLCBsaWJyYXJpZXMgPSBbInlhbWwiXSApCisgICAgICAgIF0sCisKKyAgICAgICAgY21kY2xhc3M9eworICAgICAgICAgICAgJ2J1aWxkX2V4dCc6IGJ1aWxkX2V4dCwKKyAgICAgICAgfSwKKyAgICApCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXlhbWxfMy4xMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5eWFtbF8zLjExLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwMTdlMGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXlhbWxfMy4xMS5iYgpAQCAtMCwwICsxLDI0IEBACitTVU1NQVJZID0gIlB5dGhvbiBzdXBwb3J0IGZvciBZQU1MIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5weXlhbWwub3JnIgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTYwMTVmMDg4NzU5YjEwZTBiYzJiZjY0ODk4ZDRhZTE3IgorREVQRU5EUyA9ICJsaWJ5YW1sIHB5dGhvbi1jeXRob24tbmF0aXZlIgorCitTUkNfVVJJID0gImh0dHA6Ly9weXlhbWwub3JnL2Rvd25sb2FkL3B5eWFtbC9QeVlBTUwtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3NldHVwLnB5IFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gImY1MGUwOGVmMGZlNTUxNzg0NzlkM2E2MThlZmUyMWRiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImMzNmM5MzhhODcyZTVmZjQ5NDkzOGIzM2IxNGFhYTE1NmNiNDM5ZWM2NzU0OGZjYWIzNTM1YmI3OGIwODQ2ZTgiCisKK1MgPSAiJHtXT1JLRElSfS9QeVlBTUwtJHtQVn0iCisKK2luaGVyaXQgZGlzdHV0aWxzCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgICMgdXBzdHJlYW0gc2V0dXAucHkgb3ZlcmNvbXBsaWNhdGVkLCB1c2Ugb3VycworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3NldHVwLnB5ICR7U30KK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXptcS9jbHViLXJwYXRoLW91dC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5em1xL2NsdWItcnBhdGgtb3V0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkYzNiNzMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXptcS9jbHViLXJwYXRoLW91dC5wYXRjaApAQCAtMCwwICsxLDI2IEBACitkaWZmIC0tZ2l0IGEvc2V0dXAucHkgYi9zZXR1cC5weQoraW5kZXggNjJkZjQ0NS4uMWZkYmRlYiAxMDA3NTUKKy0tLSBhL3NldHVwLnB5CisrKysgYi9zZXR1cC5weQorQEAgLTIxMywxMiArMjEzLDYgQEAgZGVmIHNldHRpbmdzX2Zyb21fcHJlZml4KHByZWZpeD1Ob25lLCBidW5kbGVfbGliem1xX2R5bGliPUZhbHNlKToKKyAgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgICAgICAjIHVudXNlZCBycGF0aCBhcmdzIGZvciBPUyBYOgorICAgICAgICAgICAgICAgICAjIHNldHRpbmdzWydleHRyYV9saW5rX2FyZ3MnXSA9IFsnLVdsLC1ycGF0aCcsJy1XbCwkT1JJR0lOLy4uJ10KKy0gICAgICAgICAgICBlbHNlOgorLSAgICAgICAgICAgICAgICBzZXR0aW5nc1sncnVudGltZV9saWJyYXJ5X2RpcnMnXSArPSBbJyRPUklHSU4vLi4nXQorLSAgICAgICAgZWxpZiBzeXMucGxhdGZvcm0gIT0gJ2Rhcndpbic6CistICAgICAgICAgICAgc2V0dGluZ3NbJ3J1bnRpbWVfbGlicmFyeV9kaXJzJ10gKz0gWworLSAgICAgICAgICAgICAgICBvcy5wYXRoLmFic3BhdGgoeCkgZm9yIHggaW4gc2V0dGluZ3NbJ2xpYnJhcnlfZGlycyddCistICAgICAgICAgICAgXQorICAgICAKKyAgICAgcmV0dXJuIHNldHRpbmdzCisgCitAQCAtNTkyLDggKzU4Niw2IEBAIGNsYXNzIENvbmZpZ3VyZShidWlsZF9leHQpOgorICAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICAgICAgICMgdW51c2VkIHJwYXRoIGFyZ3MgZm9yIE9TIFg6CisgICAgICAgICAgICAgICAgICMgc2V0dGluZ3NbJ2V4dHJhX2xpbmtfYXJncyddID0gWyctV2wsLXJwYXRoJywnLVdsLCRPUklHSU4vLi4vem1xJ10KKy0gICAgICAgICAgICBlbHNlOgorLSAgICAgICAgICAgICAgICBzZXR0aW5nc1sncnVudGltZV9saWJyYXJ5X2RpcnMnXSA9IFsgb3MucGF0aC5hYnNwYXRoKHBqb2luKCcuJywgJ3ptcScpKSBdCisgICAgICAgICAKKyAgICAgICAgIGxpbmUoKQorICAgICAgICAgaW5mbygiQ29uZmlndXJlOiBBdXRvZGV0ZWN0aW5nIFpNUSBzZXR0aW5ncy4uLiIpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXptcV8xNC43LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXptcV8xNC43LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjViYWY4MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5em1xXzE0LjcuMC5iYgpAQCAtMCwwICsxLDI0IEBACitTVU1NQVJZID0gIlB5em1xIHByb3ZpZGVzIFplcm8gbWVzc2FnZSBxdWV1ZSBhY2Nlc3MgZm9yIHRoZSBQeXRob24gbGFuZ3VhZ2UiCitIT01FUEFHRSA9ICJodHRwOi8vemVyb21xLm9yZy9iaW5kaW5nczpweXRob24iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuQlNEO21kNT0xMWM2NTY4MGY2MzdjM2RmN2Y1OGJiYzhkMTMzZTk2ZSIKK0RFUEVORFMgPSAiemVyb21xIgorCitTUkNfVVJJID0gImZpbGU6Ly9jbHViLXJwYXRoLW91dC5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICI4N2UzYWJiMzNhZjU3OTRkYjVhZTg1YzY2N2JiZjMyNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3Nzk5NGY4MDM2MDQ4OGU3MTUzZTY0ZTU5NTlkYzU0NzE1MzFkMTY0OGUzYTRiZmYxNGE3MTRkMDc0YTM4Y2MyIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scyBwa2djb25maWcKKworUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbi1tdWx0aXByb2Nlc3NpbmciCisKK0ZJTEVTXyR7UE59LWRiZyA9KyAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vem1xL2JhY2tlbmQvY3l0aG9uLy5kZWJ1ZyIKKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgIGVjaG8gW2dsb2JhbF0gPiAke1N9L3NldHVwLmNmZworICAgIGVjaG8gem1xX3ByZWZpeCA9ICR7U1RBR0lOR19ESVJfSE9TVH0gPj4gJHtTfS9zZXR1cC5jZmcKKyAgICBlY2hvIGhhdmVfc3lzX3VuX2ggPSBUcnVlID4+ICR7U30vc2V0dXAuY2ZnCisgICAgZWNobyBza2lwX2NoZWNrX3ptcSA9IFRydWUgPj4gJHtTfS9zZXR1cC5jZmcKKyAgICBlY2hvIGxpYnptcV9leHRlbnNpb24gPSBGYWxzZSA+PiAke1N9L3NldHVwLmNmZworICAgIGVjaG8gbm9fbGliem1xX2V4dGVuc2lvbiA9IFRydWUgPj4gJHtTfS9zZXR1cC5jZmcKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJlZGlzLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJlZGlzLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjRmMDQxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVkaXMuaW5jCkBAIC0wLDAgKzEsOSBAQAorU1VNTUFSWSA9ICJQeXRob24gY2xpZW50IGZvciBSZWRpcyBrZXktdmFsdWUgc3RvcmUiCitERVNDUklQVElPTiA9ICJUaGUgUHl0aG9uIGludGVyZmFjZSB0byB0aGUgUmVkaXMga2V5LXZhbHVlIHN0b3JlLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9naXRodWIuY29tL2FuZHltY2N1cmR5L3JlZGlzLXB5IgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT01MWQ5YWQ1NjI5OWFiNjBiYTdiZTY1YTYyMTAwNGYyNyIKK1BSID0gInIwIgorCitTUkNfVVJJW21kNXN1bV0gPSAiM2IyNmMyYjk3MDNiNGI1NmIzMGExYWQ1MDhlMzEwODMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWRmYmFlNmFjZmM1NGVkZjBhN2E0MTViOTllMGIyMWMwYTNjMjdhN2Y3ODdiMjkyZWVhNzI3YjFmYWNjNTUzMyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJlZGlzXzIuMTAuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJlZGlzXzIuMTAuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YzNjYTg1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVkaXNfMi4xMC41LmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLXJlZGlzLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHMuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHMuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViY2UyNTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZXF1ZXN0cy5pbmMKQEAgLTAsMCArMSw5IEBACitERVNDUklQVElPTiA9ICJQeXRob24gSFRUUCBmb3IgSHVtYW5zLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9weXRob24tcmVxdWVzdHMub3JnIgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NThjN2UxNjNjOWY4ZWUwMzcyNDZkYTEwMWM2YWZkMWUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwYjdmNDgwZDE5MDEyZWM1MmJhYjc4MjkyZWZkOTc2ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjNTc3ODE1ZGQwMGYxMzk0MjAzZmM0NGViOTc5NzI0YjA5OGY4ODI2NGE5ZWY4OThlZTQ1YjhlNWU5Y2Y1ODdmIgorCitSREVQRU5EU18ke1BOfSA9ICIke1BZVEhPTl9QTn0tZW1haWwgJHtQWVRIT05fUE59LWpzb24gJHtQWVRIT05fUE59LW5ldHNlcnZlciIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJlcXVlc3RzXzIuOS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHNfMi45LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjI3YmM5NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJlcXVlc3RzXzIuOS4xLmJiCkBAIC0wLDAgKzEsNCBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLXJlcXVlc3RzLmluYworCitSREVQRU5EU18ke1BOfSArPSAiJHtQWVRIT05fUE59LXpsaWIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zaXguaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2l4LmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDhjNjBlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2l4LmluYwpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIlB5dGhvbiAyIGFuZCAzIGNvbXBhdGliaWxpdHkgbGlicmFyeSIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NmYwMGQ0YTUwNzEzZmE4NTk4NThkZDlhYmFhMzViMjEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzNGVlZDUwNzU0ODExN2IyYWI1MjNhYjE0YjJmOGI1NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxMDVmOGQ2ODYxNmY4MjQ4ZTI0YmYwZTkzNzJlZjA0ZDNjYzEwMTA0ZjE5ODBmNTRkNTdiMmNlNzNhNWFkNTZhIgorCitkb19jb21waWxlX2FwcGVuZCgpIHsKKyAgICBleHBvcnQgQlVJTERfU1lTPSR7QlVJTERfU1lTfSBIT1NUX1NZUz0ke0hPU1RfU1lTfQorICAgICR7UFlUSE9OfSBzZXR1cC5weSAtcSBiZGlzdF9lZ2cgLS1kaXN0LWRpciAuLworfQorZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vKi5lZ2cgJHtEfS8ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8KK30KKworUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbi1pbyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNpeF8xLjEwLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zaXhfMS4xMC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwNzU3NDUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zaXhfMS4xMC4wLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLXNpeC5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNsaXAtZGJ1c18wLjYuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNsaXAtZGJ1c18wLjYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzE0ZjQzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2xpcC1kYnVzXzAuNi4wLmJiCkBAIC0wLDAgKzEsMjcgQEAKK1NVTU1BUlkgPSAiQ29udmVuaWVuY2UgZnVuY3Rpb25zIGZvciBkYnVzIHNlcnZpY2VzIGluIFB5dGhvbiAyLngiCitIT01FUEFHRSA9ICJodHRwOi8vbnBoaWxpcHAuZmVkb3JhcGVvcGxlLm9yZy9weXRob24tc2xpcC8iCitERVNDUklQVElPTiA9ICJcCitUaGUgU2ltcGxlIExpYnJhcnkgZm9yIFB5dGhvbiAyLnggcGFja2FnZXMgY29udGFpbiBtaXNjZWxsYW5lb3VzIGNvZGUgZm9yIFwKK2NvbnZlbmllbmNlLCBleHRlbnNpb24gYW5kIHdvcmthcm91bmQgcHVycG9zZXMuIFwKK1wKK1RoaXMgcGFja2FnZSBwcm92aWRlcyBzbGlwLmRidXMuc2VydmljZS5PYmplY3QsIHdoaWNoIGlzIGEgZGJ1cy5zZXJ2aWNlLk9iamVjdCBcCitkZXJpdmF0aXZlIHRoYXQgZW5kcyBpdHNlbGYgYWZ0ZXIgYSBjZXJ0YWluIHRpbWUgd2l0aG91dCBiZWluZyB1c2VkIGFuZC9vciBpZiBcCit0aGVyZSBhcmUgbm8gY2xpZW50cyBhbnltb3JlIG9uIHRoZSBtZXNzYWdlIGJ1cywgYXMgd2VsbCBhcyBjb252ZW5pZW5jZSBcCitmdW5jdGlvbnMgYW5kIGRlY29yYXRvcnMgZm9yIGludGVncmF0aW5nIGEgZGJ1cyBzZXJ2aWNlIHdpdGggUG9saWN5S2l0LiIKKworU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU1NzRjNjk2NWFlNWY1ODNlNTU4ODBlMzk3ZmJiMDE4IgorU1JDTkFNRSA9ICJweXRob24tc2xpcCIKKworU1JDX1VSSSA9ICJodHRwczovL2ZlZG9yYWhvc3RlZC5vcmcvcmVsZWFzZWQvJHtTUkNOQU1FfS8ke1NSQ05BTUV9LSR7UFZ9LnRhci5iejIiCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1BWfSIKKworaW5oZXJpdCBzZXR1cHRvb2xzCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmYjMyOTlkNzVhZjFhNjdjYTY2NzlkOTZjZTgzOWRhNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmNDczNjFlYzUyYjYwODMwOWI4M2M3MTkwNWU2OTJiNmIzNjNlYWYzYjhhN2FmZGVmZjg2NmNkOTQ0NjNhZDVjIgorCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisgICAgc2VkIC1lICdzL0BWRVJTSU9OQC8ke1BWfS9nJyBzZXR1cC5weS5pbiA+IHNldHVwLnB5Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zbWJ1c18zLjEuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNtYnVzXzMuMS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmNDdkZjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zbWJ1c18zLjEuMS5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIlNldCBvZiBpMmMgdG9vbHMgZm9yIGxpbnV4IC0gUHl0aG9uIG1vZHVsZSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9zbWJ1c21vZHVsZS5jO3N0YXJ0bGluZT0xO2VuZGxpbmU9MTc7bWQ1PWZhMjRkZjMyMWE1MjBmZjhlMTBmMjAzNDI1YWI5ZmE4IgorCitTUkNfVVJJID0gImh0dHA6Ly9kbC5sbS1zZW5zb3JzLm9yZy9pMmMtdG9vbHMvcmVsZWFzZXMvaTJjLXRvb2xzLSR7UFZ9LnRhci5iejIgXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjBmZGJmZjUzZWJkMGI4ZDkyNDkyNTZkNmM1NjQ4MGIxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjE0ZDRkN2Q2MGQxYzEyZTQzZjJiZWZlMjM5YzY4MmE1YzQ0YzI3NjgyZjE1M2Q0YjU4YzFlMzkyZDJkYjE3MDAiCisKK0RFUEVORFMgPSAiaTJjLXRvb2xzIgorCitpbmhlcml0IGRpc3R1dGlscworCitTID0gIiR7V09SS0RJUn0vaTJjLXRvb2xzLSR7UFZ9L3B5LXNtYnVzLyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgIyBBZGp1c3QgZm9yIE9FIGhlYWRlciByZW5hbWUKKyAgICBzZWQgLWkgczpsaW51eC9pMmMtZGV2Lmg6bGludXgvaTJjLWRldi11c2VyLmg6IE1vZHVsZS5taworICAgIHNlZCAtaSBzOmxpbnV4L2kyYy1kZXYuaDpsaW51eC9pMmMtZGV2LXVzZXIuaDogc21idXNtb2R1bGUuYworfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc25ha2Vmb29kXzEuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNuYWtlZm9vZF8xLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTRhNmQ3NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNuYWtlZm9vZF8xLjQuYmIKQEAgLTAsMCArMSw1MSBAQAorU1VNTUFSWSA9ICJEZXBlbmRlbmN5IGdyYXBoaW5nIGZvciBQeXRob24iCitERVNDUklQVElPTiA9ICIgR2VuZXJhdGUgZGVwZW5kZW5jeSBncmFwaHMgZnJvbSBQeXRob24gY29kZS4gVGhpcyBcCitkZXBlbmRlbmN5IHRyYWNrZXIgcGFja2FnZSBoYXMgYSBmZXcgZGlzdGluZ3Vpc2hpbmcgY2hhcmFjdGVyaXN0aWNzIFwKK1wKKyAgICAqIEl0IHVzZXMgdGhlIEFTVCB0byBwYXJzZSB0aGUgUHl0aG9uIGZpbGVzLiBUaGlzIGlzIHZlcnkgcmVsaWFibGUsIFwKKyAgICAgIGl0IGFsd2F5cyBydW5zLlwKKyAgICAqIE5vIG1vZHVsZSBpcyBsb2FkZWQuIExvYWRpbmcgbW9kdWxlcyB0byBmaWd1cmUgb3V0IGRlcGVuZGVuY2llcyBpcyBcCisgICAgICBhbG1vc3QgYWx3YXlzIHByb2JsZW0sIGJlY2F1c2UgYSBsb3Qgb2YgY29kZWJhc2VzIHJ1biBpbml0aWFsaXphdGlvbiBcCisgICAgICBjb2RlIGluIHRoZSBnbG9iYWwgbmFtZXNwYWNlLCB3aGljaCBvZnRlbiByZXF1aXJlcyBhZGRpdGlvbmFsIHNldHVwLiBcCisgICAgICBTbmFrZWZvb2QgaXMgZ3VhcmFudGVlZCBub3QgdG8gaGF2ZSB0aGlzIHByb2JsZW0gKGl0IGp1c3QgcnVucywgbm8gXAorICAgICAgbWF0dGVyIHdoYXQpLlwKKyAgICAqIEl0IHdvcmtzIG9uIGEgc2V0IG9mIGZpbGVzLCBpLmUuIHlvdSBkbyBub3QgaGF2ZSB0byBzcGVjaWZ5IGEgc2luZ2xlIFwKKyAgICAgIHNjcmlwdCwgeW91IGNhbiBzZWxlY3QgYSBkaXJlY3RvcnkgKHBhY2thZ2Ugb3IgZWxzZSkgb3IgYSBzZXQgb2YgZmlsZXMuXAorICAgICAgSXQgZmluZHMgYWxsIHRoZSBQeXRob24gZmlsZXMgcmVjdXJzaXZlbHkgYXV0b21hdGljYWxseS5cCisgICAgKiBBdXRvbWF0aWMvbm8gY29uZmlndXJhdGlvbjogeW91ciBQWVRIT05QQVRIIGlzIGF1dG9tYXRpY2FsbHkgYWRqdXN0ZWQgXAorICAgICAgdG8gaW5jbHVkZSB0aGUgcmVxdWlyZWQgcGFja2FnZSByb290cy4gSXQgZmlndXJlcyBvdXQgdGhlIHBhdGhzIHRoYXQgXAorICAgICAgYXJlIHJlcXVpcmVkIGZyb20gdGhlIGZpbGVzL2RpcmVjdG9yaWVzIGdpdmVuIGFzIGlucHV0LiBZb3Ugc2hvdWxkIG5vdCBcCisgICAgICBoYXZlIHRvIHNldHVwIEFOWVRISU5HLlwKKyAgICAqIEl0IGRvZXMgbm90IGhhdmUgdG8gYXV0b21hdGljYWxseSAnZm9sbG93JyBkZXBlbmRlbmNpZXMgYmV0d2VlbiBtb2R1bGVzLFwKKyAgICAgIGkuZS4gYnkgZGVmYXVsdCBpdCBvbmx5IGNvbnNpZGVycyB0aGUgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIHlvdSBzcGVjaWZ5IFwKKyAgICAgIG9uIHRoZSBjb21tYW5kLWxpbmUgYW5kIHRoZWlyIGltbWVkaWF0ZSBkZXBlbmRlbmNpZXMuIEl0IGFsc28gaGFzIGFuIFwKKyAgICAgIG9wdGlvbiB0byBhdXRvbWF0aWNhbGx5IGluY2x1ZGUgb25seSB0aGUgZGVwZW5kZW5jaWVzIHdpdGhpbiB0aGUgXAorICAgICAgcGFja2FnZXMgb2YgdGhlIGZpbGVzIHlvdSBzcGVjaWZ5LlwKKyAgICAqIEl0IGZvbGxvd3MgdGhlIFVOSVggcGhpbG9zb3BoeSBvZiBzbWFsbCBwcm9ncmFtcyB0aGF0IGRvIG9uZSB0aGluZyB3ZWxsOlwKKyAgICAgIGl0IGNvbnNpc3RzIG9mIGEgZmV3IHNpbXBsZSBwcm9ncmFtcyB3aG9zZSBvdXRwdXRzIHlvdSBjb21iaW5lIHZpYSBcCisgICAgICBwaXBlcy4gR3JhcGhpbmcgZGVwZW5kZW5jaWVzIGFsd2F5cyByZXF1aXJlcyB0aGUgdXNlciB0byBmaWx0ZXIgYW5kIFwKKyAgICAgIGNsdXN0ZXIgdGhlIGZpbGVuYW1lcywgc28gdGhpcyBpcyBhcHByb3ByaWF0ZS4gWW91IGNhbiBjb21iaW5lIGl0IHdpdGggXAorICAgICAgeW91ciBmYXZvdXJpdGUgdG9vbHMsIGdyZXAsIHNlZCwgZXRjLlwKK1wKK0EgcHJvYmxlbSB3aXRoIGRlcGVuZGVuY3kgdHJhY2tlcnMgdGhhdCBydW4gY29kZSBpcyB0aGF0IHRoZXkgYXJlIHVucmVsaWFibGUsIFwKK2R1ZSB0byB0aGUgZHluYW1pYyBuYXR1cmUgb2YgUHl0aG9uICh0aGUgcHJlc2VuY2Ugb2YgaW1wb3J0cyB3aXRoaW4gZnVuY3Rpb24gXAorY2FsbHMgYW5kIF9faW1wb3J0X18gaG9va3MgbWFrZXMgaXQgYWxtb3N0IGltcG9zc2libGUgdG8gYWx3YXlzIGRvIHRoZSByaWdodCBcCit0aGluZykuIFRoaXMgc2NyaXB0IGFpbXMgYXQgYmVpbmcgcmlnaHQgOTklIG9mIHRoZSB0aW1lLCBhbmQgd2UgdGhpbmsgdGhhdCBcCitnaXZlbiB0aGUgdHJhZGUtb2ZmcywgOTklIGlzIGdvb2QgZW5vdWdoIGZvciA5OSUgb2YgdGhlIHVzZXMuXAorIgorQVVUSE9SID0gIk1hcnRpbiBCbGFpcyA8YmxhaXNAZnVyaXVzLmNhPiIKK0hPTUVQQUdFID0gImh0dHA6Ly9mdXJpdXMuY2Evc25ha2Vmb29kIgorTElDRU5TRSA9ICJHUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1NmM4ODY2N2EzM2Q4OTA5YjBhYWJmMmFiNjkwM2JkZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyOTU3ODQ2NjgwMzIyNTRlNzM5MWNhOTliYTcwNjBlZGQzYWU0ZWNhMWEzMzBhYzExNjI3YjE4YWI1OTIzYjc3IgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSA9ICIgcHl0aG9uLWxvZ2dpbmcgcHl0aG9uLWNvbXBpbGVyIHB5dGhvbi1zaGVsbCIKKyMgdGhlIGFib3ZlIG1vZHVsZXMgZG8gbm90IGhhdmUgYSAtbmF0aXZlIGNvdW50ZXJwYXJ0CitSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc3BhcnRzXzAuNy4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc3BhcnRzXzAuNy4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExMjUzMTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zcGFydHNfMC43LjMuYmIKQEAgLTAsMCArMSwyMiBAQAorU1VNTUFSWSA9ICJMaWJyYXJ5IGZvciByYXBpZCBzZXJ2aWNlIHByb3RvdHlwaW5nIHdpdGggbWluaW1hbCBib2lsZXJwbGF0ZSIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MGMxNTU0NjM2YTU2NGRhM2JhZjAzN2FjNjUyZmM4MzEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2YWE4ODE1NjUyYzZmNWU1ZThlNWIyYWMxODEzZGQ4NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiMjU3MDdjMzQ5MDc5YTdjODg4MTU1ZTdmZGZkODM5NGRmMmRhOWFjYTljOGVlZTRlMjA1NTI4Y2IxNmI3NjYyIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSA9ICJcCisgICAgICAgICAgICAgICBweXRob24tc3VicHJvY2VzcyBcCisgICAgICAgICAgICAgICBweXRob24tc2l4IFwKKyAgICAgICAgICAgICAgIHB5dGhvbi1hcmdwYXJzZSBcCisgICAgICAgICAgICAgICBweXRob24tcmUgXAorICAgICAgICAgICAgICAgcHl0aG9uLXNoZWxsIFwKKyAgICAgICAgICAgICAgIHB5dGhvbi10aHJlYWRpbmcgXAorICAgICAgICAgICAgICAgcHl0aG9uLWxvZ2dpbmcgXAorICAgICAgICAgICAgICAgcHl0aG9uLXVuaXhhZG1pbiBcCisgICAgICAgICAgICAgICBweXRob24tZGlzdHV0aWxzIFwKKyAgICAgICAgICAgICAgIHB5dGhvbi1kYWVtb25pemUgXAorICAgICAgICAgICAgICAgcHl0aG9uLWZ1dHVyZXMgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc3FsYWxjaGVteV8wLjcuOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNxbGFsY2hlbXlfMC43LjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDNiNGI3ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNxbGFsY2hlbXlfMC43LjkuYmIKQEAgLTAsMCArMSwxNCBAQAorREVTQ1JJUFRJT04gPSAiUHl0aG9uIFNRTCB0b29sa2l0IGFuZCBPYmplY3QgUmVsYXRpb25hbCBNYXBwZXIgdGhhdCBnaXZlcyBcCithcHBsaWNhdGlvbiBkZXZlbG9wZXJzIHRoZSBmdWxsIHBvd2VyIGFuZCBmbGV4aWJpbGl0eSBvZiBTUUwiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnNxbGFsY2hlbXkub3JnLyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YmFmZmM1ZTVmNDgwNGM5MmZjOWJlMTU1ZmVkNzBkNDEiCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uLW51bWJlcnMiCisKK1NSQ05BTUUgPSAiU1FMQWxjaGVteSIKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3NxbGFsY2hlbXkvJHtTUkNOQU1FfS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiYzQ4NTJkNTg2ZDk1YTU5ZmJjOTM1OGY0NDY3ODc1ZDUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjdhMzA1YWQxMjIxNDRmMzY0Y2UwOWEyZDllZDUxNTlkNWY0NmVjNDM2NTA2NTM1OTNlN2RmYTA1ZDMyOTRhMSIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9LSR7UFZ9IgorCitpbmhlcml0IHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXRvcm5hZG8tcmVkaXNfMi40LjE4LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdG9ybmFkby1yZWRpc18yLjQuMTguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDZhMjBhNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXRvcm5hZG8tcmVkaXNfMi40LjE4LmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgID0gIlRvcm5hZG8tUmVkaXMgaXMgYW4gYXN5bmNyb25vdXMgUmVkaXMgY2xpZW50IGZvciB0aGUgVG9ybmFkbyBXZWIgU2VydmVyIgorREVTQ1JJUFRJT04gPSAiVG9ybmFkby1SZWRpcyBpcyBhIFJlZGlzIGNsaWVudCB0aGF0IHVzZXMgVG9ybmFkbydzIG5hdGl2ZSAndG9ybmFkby1nZW4nIGludGVyZmFjZS4gXAorSXQgY2FuIGJlIHVzZWQgYWxvbmdzaWRlIHJlZGlzLXB5IGluIFRvcm5hZG8gYXBwbGljYXRpb25zOiBcCit0b3JuYWRvLXJlZGlzIHRvIHN1YnNjcmliZSB0byBQdWIvU3ViIG5vdGlmaWNhdGlvbnMgYW5kIGZvciBibG9ja2luZyBjb21tYW5kcyAoc3VjaCBhcyBCTFBPUCwgQlJQT1AsIEJSUE9QTFBVU0gpOyBcCityZWRpcy1weSBmb3Igb3RoZXIgY29tbWFuZHMuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2xlcG9yby90b3JuYWRvLXJlZGlzIgorCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9QS0ctSU5GTztiZWdpbmxpbmU9ODtlbmRsaW5lPTg7bWQ1PWNhMzA3ZThmMzdiNWZhN2Y4ZGJiZWMwMzNmN2RiN2RlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMWM3ZWMwZjY0NWQxNTQwMDg3MTE0MWMxMTQ5ZTY5MzQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGZkM2IzMjQxNTgyOTFhZDVmYjdmNWY4ZGMyZTg3NjNiMjg5NTU1NmJkMmE0NGYyZGQ3MjFiNzAzYzY2OTA0NiIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbi10b3JuYWRvIgorCitSREVQRU5EU18ke1BOfS10ZXN0ICs9ICIke1BOfSBweXRob24tdG9ybmFkbyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXRvcm5hZG8uaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdG9ybmFkby5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2UzYWM4YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXRvcm5hZG8uaW5jCkBAIC0wLDAgKzEsMjQgQEAKK1NVTU1BUlkgID0gIlRvcm5hZG8gaXMgYW4gb3BlbiBzb3VyY2UgdmVyc2lvbiBvZiB0aGUgc2NhbGFibGUsIG5vbi1ibG9ja2luZyB3ZWIgc2VydmVyIGFuZCB0b29scyB0aGF0IHBvd2VyIEZyaWVuZEZlZWQuIgorREVTQ1JJUFRJT04gPSAiVG9ybmFkbyBpcyBhIFB5dGhvbiB3ZWIgZnJhbWV3b3JrIGFuZCBhc3luY2hyb25vdXMgbmV0d29ya2luZyBsaWJyYXJ5LCBvcmlnaW5hbGx5IGRldmVsb3BlZCBhdCBGcmllbmRGZWVkLiBcCitCeSB1c2luZyBub24tYmxvY2tpbmcgbmV0d29yayBJL08sIFRvcm5hZG8gY2FuIHNjYWxlIHRvIHRlbnMgb2YgdGhvdXNhbmRzIG9mIG9wZW4gY29ubmVjdGlvbnMsIG1ha2luZyBpdCBpZGVhbCBmb3IgbG9uZyBcCitwb2xsaW5nLCBXZWJTb2NrZXRzLCBhbmQgb3RoZXIgYXBwbGljYXRpb25zIHRoYXQgcmVxdWlyZSBhIGxvbmctbGl2ZWQgY29ubmVjdGlvbiB0byBlYWNoIHVzZXIuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy50b3JuYWRvd2ViLm9yZy9lbi9zdGFibGUvIgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vc2V0dXAucHk7c3RhcnRsaW5lPTI7ZW5kbGluZT0xNTttZDU9NWFiNzU3MWE3OWFkNjJkMGNhN2FlYTMwOGJhYzc1NjAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkMTNhOTlkYzBiNjBiYTY5ZjVmOGVjMTIzNWU1YjIzMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjOWMyZDMyNTkzZDE2ZWVkZjJjZWMxYjZhNDE4OTM2MjZhMjY0OWI0MGIyMWNhOWM0Y2FjNDI0M2JkZTJlZmJmIgorCitSREVQRU5EU18ke1BOfSArPSAiJHtQWVRIT05fUE59LWNvbXByZXNzaW9uICR7UFlUSE9OX1BOfS1udW1iZXJzICR7UFlUSE9OX1BOfS1lbWFpbCAke1BZVEhPTl9QTn0tc3VicHJvY2VzcyBcCisgICAgICAgICAgICAgICAgICAgJHtQWVRIT05fUE59LXBrZ3V0aWwgJHtQWVRIT05fUE59LWh0bWwgJHtQWVRIT05fUE59LWpzb24gJHtQWVRIT05fUE59LWNlcnRpZmkiCisKK1JERVBFTkRTXyR7UE59LXRlc3QgKz0gIiR7UE59ICR7UFlUSE9OX1BOfS11bml0dGVzdCIKKworUEFDS0FHRVMgPSsgIlwKKyAgICAke1BOfS10ZXN0IFwKKyIKKworRklMRVNfJHtQTn0tdGVzdCA9ICIgXAorICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvKi90ZXN0IFwKKyAgICAke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzLyovdGVzdGluZy5weSogXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdG9ybmFkby8wMDAxLWRpc2FibGUtQUlfQUREUkNPTkZJRy1mbGFnLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdG9ybmFkby8wMDAxLWRpc2FibGUtQUlfQUREUkNPTkZJRy1mbGFnLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiMGQ0NzEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10b3JuYWRvLzAwMDEtZGlzYWJsZS1BSV9BRERSQ09ORklHLWZsYWcucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorRnJvbSBkN2ZiMGE2ZWYzZjNjYmRmYzFmMjFmNWE2N2Q1NGZhOWQyYzFlMTgzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KK0RhdGU6IFdlZCwgMiBOb3YgMjAxMSAxMTowNzoyNCArMDEwMAorU3ViamVjdDogW1BBVENIXSBkaXNhYmxlIEFJX0FERFJDT05GSUcgZmxhZworCitTaWduZWQtb2ZmLWJ5OiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorCitVcHN0cmVhbS1TdGF0dXM6IHVua25vd24KKy0tLQorIHRvcm5hZG8vbmV0dXRpbC5weSB8ICAgIDYgLS0tLS0tCisgMSBmaWxlcyBjaGFuZ2VkLCAwIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90b3JuYWRvL25ldHV0aWwucHkgYi90b3JuYWRvL25ldHV0aWwucHkKK2luZGV4IGNmZmYwYmEuLmMxODFmMjQgMTAwNjQ0CistLS0gYS90b3JuYWRvL25ldHV0aWwucHkKKysrKyBiL3Rvcm5hZG8vbmV0dXRpbC5weQorQEAgLTIzOCwxMiArMjM4LDYgQEAgZGVmIGJpbmRfc29ja2V0cyhwb3J0LCBhZGRyZXNzPU5vbmUsIGZhbWlseT1zb2NrZXQuQUZfVU5TUEVDLCBiYWNrbG9nPTEyOCk6CisgICAgIGlmIGFkZHJlc3MgPT0gIiI6CisgICAgICAgICBhZGRyZXNzID0gTm9uZQorICAgICBmbGFncyA9IHNvY2tldC5BSV9QQVNTSVZFCistICAgIGlmIGhhc2F0dHIoc29ja2V0LCAiQUlfQUREUkNPTkZJRyIpOgorLSAgICAgICAgIyBBSV9BRERSQ09ORklHIGVuc3VyZXMgdGhhdCB3ZSBvbmx5IHRyeSB0byBiaW5kIG9uIGlwdjYKKy0gICAgICAgICMgaWYgdGhlIHN5c3RlbSBpcyBjb25maWd1cmVkIGZvciBpdCwgYnV0IHRoZSBmbGFnIGRvZXNuJ3QKKy0gICAgICAgICMgZXhpc3Qgb24gc29tZSBwbGF0Zm9ybXMgKHNwZWNpZmljYWxseSBXaW5YUCwgYWx0aG91Z2gKKy0gICAgICAgICMgbmV3ZXIgdmVyc2lvbnMgb2Ygd2luZG93cyBoYXZlIGl0KQorLSAgICAgICAgZmxhZ3MgfD0gc29ja2V0LkFJX0FERFJDT05GSUcKKyAgICAgZm9yIHJlcyBpbiBzZXQoc29ja2V0LmdldGFkZHJpbmZvKGFkZHJlc3MsIHBvcnQsIGZhbWlseSwgc29ja2V0LlNPQ0tfU1RSRUFNLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCBmbGFncyk6CisgICAgICAgICBhZiwgc29ja3R5cGUsIHByb3RvLCBjYW5vbm5hbWUsIHNvY2thZGRyID0gcmVzCistLSAKKzEuNy4yLjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdG9ybmFkb18yLjIuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXRvcm5hZG9fMi4yLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjgwMjZiMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXRvcm5hZG9fMi4yLjEuYmIKQEAgLTAsMCArMSwxNiBAQAorREVTQ1JJUFRJT04gPSAiVG9ybmFkbyBpcyBhbiBvcGVuIHNvdXJjZSB2ZXJzaW9uIG9mIHRoZSBzY2FsYWJsZSwgbm9uLWJsb2NraW5nIHdlYiBzZXJ2ZXIgYW5kIHRvb2xzIHRoYXQgcG93ZXIgRnJpZW5kRmVlZC4iCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7bWQ1PWU3ZmI5OTU0MDAzZDdjZDkzMzIyY2NmMjgyMjEwZDFjIgorCitQViA9ICIyLjIuMStnaXQke1NSQ1BWfSIKKworU1JDUkVWID0gImM1MDE5MTdlYmE0NmRlYzMwYjFmMmVmMTI0OTdkZmZjNGJlZWM1MDUiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vZmFjZWJvb2svdG9ybmFkby5naXQ7YnJhbmNoPWJyYW5jaDIuMiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWRpc2FibGUtQUlfQUREUkNPTkZJRy1mbGFnLnBhdGNoIFwKKyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBzZXR1cHRvb2xzCisKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdG9ybmFkb180LjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10b3JuYWRvXzQuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NWE0OGI4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdG9ybmFkb180LjMuYmIKQEAgLTAsMCArMSwzIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29scworcmVxdWlyZSBweXRob24tdG9ybmFkby5pbmMKK1JERVBFTkRTXyR7UE59ICs9ICIke1BZVEhPTl9QTn0tYmFja3BvcnRzLXNzbCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXR3aXN0ZWRfMTMuMi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdHdpc3RlZF8xMy4yLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWM4OGFjOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXR3aXN0ZWRfMTMuMi4wLmJiCkBAIC0wLDAgKzEsMjQ1IEBACitERVNDUklQVElPTiA9ICJUd2lzdGVkIGlzIGFuIGV2ZW50LWRyaXZlbiBuZXR3b3JraW5nIGZyYW1ld29yayB3cml0dGVuIGluIFB5dGhvbiBhbmQgbGljZW5zZWQgdW5kZXIgdGhlIExHUEwuIFwKK1R3aXN0ZWQgc3VwcG9ydHMgVENQLCBVRFAsIFNTTC9UTFMsIG11bHRpY2FzdCwgVW5peCBzb2NrZXRzLCBhIGxhcmdlIG51bWJlciBvZiBwcm90b2NvbHMgICAgICAgICAgICAgICAgICAgXAorKGluY2x1ZGluZyBIVFRQLCBOTlRQLCBJTUFQLCBTU0gsIElSQywgRlRQLCBhbmQgb3RoZXJzKSwgYW5kIG11Y2ggbW9yZS4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnR3aXN0ZWRtYXRyaXguY29tIgorCisjdHdpc3RlZC90b3BmaWxlcy9ORVdTOjY1NTogLSBSZWxpY2Vuc2VkOiBOb3cgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLCByYXRoZXIgdGhhbiBMR1BMLgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT01NjAyZDcyMjhkYWY1OWExNmYwZjFiMjY0MGM0NmJjYSIKKworU1JDX1VSSVttZDVzdW1dID0gIjgzZmU2YzBjOTExY2MxNjAyZGJmZmIwMzZiZTBiYTc5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA5NTE3NTYzOGMwMTlhYzdjMDYwNGY0YzI5MTcyNGExNmZmMWFjZDA2MmUxODFiMDEyOTNiZjRkY2JjNjJjZjMiCisKK1BZUElfUEFDS0FHRSA9ICJUd2lzdGVkIgorUFlQSV9QQUNLQUdFX0VYVCA9ICJ0YXIuYnoyIgoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyByZW1vdmUgc29tZSB1c2VsZXNzIGZpbGVzIGJlZm9yZSBwYWNrYWdpbmcKKyAgICBmaW5kICR7RH0gXCggLW5hbWUgIiouYmF0IiAtbyAtbmFtZSAiKi5jIiAtbyAtbmFtZSAiKi5oIiBcKSAtZXhlYyBybSAtZiB7fSBcOworfQorCitQQUNLQUdFUyArPSAiXAorICAgICR7UE59LXpzaCBcCisgICAgJHtQTn0tdGVzdCBcCisgICAgJHtQTn0tcHJvdG9jb2xzIFwKKyAgICAke1BOfS1jb25jaCBcCisgICAgJHtQTn0tbG9yZSBcCisgICAgJHtQTn0tbWFpbCBcCisgICAgJHtQTn0tbmFtZXMgXAorICAgICR7UE59LW5ld3MgXAorICAgICR7UE59LXJ1bm5lciBcCisgICAgJHtQTn0td2ViIFwKKyAgICAke1BOfS13b3JkcyBcCisgICAgJHtQTn0tZmxvdyBcCisgICAgJHtQTn0tcGFpciBcCisgICAgJHtQTn0tY29yZSBcCisiCisKK1BBQ0tBR0VTID0rICJcCisgICAgJHtQTn0tc3JjIFwKKyAgICAke1BOfS1iaW4gXAorIgorCitSREVQRU5EU18ke1BOfSA9ICJcCisgICAgJHtQTn0tYmluIFwKKyAgICAke1BOfS1jb25jaCBcCisgICAgJHtQTn0tbG9yZSBcCisgICAgJHtQTn0tbWFpbCBcCisgICAgJHtQTn0tbmFtZXMgXAorICAgICR7UE59LW5ld3MgXAorICAgICR7UE59LXJ1bm5lciBcCisgICAgJHtQTn0td2ViIFwKKyAgICAke1BOfS13b3JkcyBcCisiCisKK1JERVBFTkRTXyR7UE59LWNvcmUgPSAicHl0aG9uLWNvcmUgcHl0aG9uLXpvcGVpbnRlcmZhY2UgcHl0aG9uLWNvbnRleHRsaWIiCitSREVQRU5EU18ke1BOfS10ZXN0ID0gIiR7UE59IgorUkRFUEVORFNfJHtQTn0tY29uY2ggPSAiJHtQTn0tY29yZSAke1BOfS1wcm90b2NvbHMiCitSREVQRU5EU18ke1BOfS1sb3JlID0gIiR7UE59LWNvcmUiCitSREVQRU5EU18ke1BOfS1tYWlsID0gIiR7UE59LWNvcmUgJHtQTn0tcHJvdG9jb2xzIgorUkRFUEVORFNfJHtQTn0tbmFtZXMgPSAiJHtQTn0tY29yZSIKK1JERVBFTkRTXyR7UE59LW5ld3MgPSAiJHtQTn0tY29yZSAke1BOfS1wcm90b2NvbHMiCitSREVQRU5EU18ke1BOfS1ydW5uZXIgPSAiJHtQTn0tY29yZSAke1BOfS1wcm90b2NvbHMiCitSREVQRU5EU18ke1BOfS13ZWIgKz0gIiR7UE59LWNvcmUgJHtQTn0tcHJvdG9jb2xzIgorUkRFUEVORFNfJHtQTn0td29yZHMgKz0gIiR7UE59LWNvcmUiCitSREVQRU5EU18ke1BOfS1mbG93ICs9ICIke1BOfS1jb3JlIgorUkRFUEVORFNfJHtQTn0tcGFpciArPSAiJHtQTn0tY29yZSIKK1JERVBFTkRTXyR7UE59LWRiZyA9ICIke1BOfSIKKworQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKK0ZJTEVTXyR7UE59ID0gIiIKKworRklMRVNfJHtQTn0tdGVzdCA9ICIgXAorICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC90ZXN0IFwKKyAgICAke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvKi90ZXN0IFwKKyIKKworRklMRVNfJHtQTn0tcHJvdG9jb2xzID0gIiBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3Byb3RvY29scy8qLnB5KiBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3Byb3RvY29scy9ncHMvIFwKKyAgICAke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHJvdG9jb2xzL21pY2UvIFwKKyIKKworRklMRVNfJHtQTn0tenNoID0gIiBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi96c2ggXAorICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24venNoY29tcC4qIFwKKyAgICAke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL3R3aXN0ZWQtY29tcGxldGlvbi56c2ggXAorIgorCitGSUxFU18ke1BOfS1jb25jaCA9ICIgXAorICAgICR7YmluZGlyfS9ja2V5Z2VuIFwKKyAgICAke2JpbmRpcn0vdGtjb25jaCBcCisgICAgJHtiaW5kaXJ9L2NvbmNoIFwKKyAgICAke2JpbmRpcn0vY29uY2hmdHAgXAorICAgICR7YmluZGlyfS9jZnRwIFwKKyAgICAke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcGx1Z2lucy90d2lzdGVkX2NvbmNoLnB5KiBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL2NvbmNoICBcCisiCisKK0ZJTEVTXyR7UE59LWNvcmUgPSAiIFwKKyR7YmluZGlyfS9tYW5ob2xlIFwKKyR7YmluZGlyfS9ta3RhcCBcCiske2JpbmRpcn0vdHdpc3RkIFwKKyR7YmluZGlyfS90YXAyZGViIFwKKyR7YmluZGlyfS90YXAycnBtIFwKKyR7YmluZGlyfS90YXBjb252ZXJ0IFwKKyR7YmluZGlyfS90a21rdGFwIFwKKyR7YmluZGlyfS90cmlhbCBcCiske2JpbmRpcn0vZWFzeV9pbnN0YWxsKiBcCiske2JpbmRpcn0vcHlodG1saXplciBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uLyouc28gXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkLyoucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wbHVnaW5zL19faW5pdF9fLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcGx1Z2lucy9ub3Rlc3RwbHVnaW4ucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wbHVnaW5zL3Rlc3RwbHVnaW4ucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wbHVnaW5zL3R3aXN0ZWRfZnRwLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcGx1Z2lucy90d2lzdGVkX2luZXQucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wbHVnaW5zL3R3aXN0ZWRfbWFuaG9sZS5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3BsdWdpbnMvdHdpc3RlZF9wb3J0Zm9yd2FyZC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3BsdWdpbnMvdHdpc3RlZF9zb2Nrcy5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3BsdWdpbnMvdHdpc3RlZF90ZWxuZXQucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wbHVnaW5zL3R3aXN0ZWRfdHJpYWwucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wbHVnaW5zL2Ryb3Bpbi5jYWNoZSBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvYXBwbGljYXRpb24gXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL2NyZWQgXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL2VudGVycHJpc2UgXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL2ludGVybmV0IFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9tYW5ob2xlIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9tYW5ob2xlIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wZXJzaXN0ZWQgXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3Byb3RvY29sc1wKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob25cCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL3RpbWVvdXRxdWV1ZS5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi9maWxlcGF0aC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi9keHByb2ZpbGUucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vcGx1Z2luLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL2h0bWxpemVyLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL19faW5pdF9fLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL2Rpc3BhdGNoLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL2hvb2sucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vdGhyZWFkcG9vbC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi9vdHAucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vdXNhZ2UucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vcm9vdHMucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vdmVyc2lvbnMucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vdXJscGF0aC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi91dGlsLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL2NvbXBvbmVudHMucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vbG9nZmlsZS5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi9ydW50aW1lLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL3JlZmxlY3QucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vY29udGV4dC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi90aHJlYWRhYmxlLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL3JlYnVpbGQucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vZmFpbHVyZS5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi9sb2NrZmlsZS5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi9mb3JtbWV0aG9kLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL2ZpbmFsaXplLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL3dpbjMyLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL2Rpc3QucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vc2hvcnRjdXQucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vemlwc3RyZWFtLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL3JlbGVhc2UucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vc3lzbG9nLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL2xvZy5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi9jb21wYXQucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24venNoY29tcC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi9wcm9jdXRpbHMucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vdGV4dC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi9fdHdpc3RlZF96c2hfc3R1YiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvc2NyaXB0cy8gXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3NwcmVhZC8gXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3RhcC8gXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3RyaWFsLyBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvX19pbml0X18ucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9fdmVyc2lvbi5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL2NvcHlyaWdodC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL2ltLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvKi5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi8qLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcGx1Z2lucy8qLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvdG9wZmlsZXMgXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9Ud2lzdGVkKmVnZy1pbmZvIFwKKyIKKworRklMRVNfJHtQTn0tbG9yZSA9ICIgXAorJHtiaW5kaXJ9L2Jvb2tpZnkgXAorJHtiaW5kaXJ9L2xvcmUgXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3BsdWdpbnMvdHdpc3RlZF9sb3JlLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvbG9yZSBcCisiCisKK0ZJTEVTXyR7UE59LW1haWwgPSAiIFwKKyR7YmluZGlyfS9tYWlsbWFpbCBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcGx1Z2lucy90d2lzdGVkX21haWwucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9tYWlsIFwKKyIKKworRklMRVNfJHtQTn0tbmFtZXMgPSAiIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wbHVnaW5zL3R3aXN0ZWRfbmFtZXMucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9uYW1lcyBcCisiCisKK0ZJTEVTXyR7UE59LW5ld3MgPSAiIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wbHVnaW5zL3R3aXN0ZWRfbmV3cy5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL25ld3MgXAorIgorCitGSUxFU18ke1BOfS1ydW5uZXIgPSAiIFwKKyR7bGliZGlyfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcnVubmVyL3BvcnRtYXAuc28gXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3J1bm5lclwKKyIKKworRklMRVNfJHtQTn0td2ViID0gIiBcCiske2JpbmRpcn0vd2Vic2V0cm9vdCBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcGx1Z2lucy90d2lzdGVkX3dlYi5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3dlYlwKKyIKKworRklMRVNfJHtQTn0td29yZHMgPSAiIFwKKyR7YmluZGlyfS9pbSBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcGx1Z2lucy90d2lzdGVkX3dvcmRzLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvd29yZHNcCisiCisKK0ZJTEVTXyR7UE59LWZsb3cgPSAiIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wbHVnaW5zL3R3aXN0ZWRfZmxvdy5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL2Zsb3cgXCIKKworRklMRVNfJHtQTn0tcGFpciA9ICIgXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3BsdWdpbnMvdHdpc3RlZF9wYWlyLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcGFpciBcCisiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC8qLy5kZWJ1ZyBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvKi8qLy5kZWJ1ZyBcCisiCisKK1JERVBFTkRTX3tQTn0tc3JjID0gIiR7UE59IgorRklMRVNfJHtQTn0tc3JjID0gIiBcCisJJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkLyoucHkgXAorCSR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC8qLyoucHkgXAorCSR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC8qLyovKi5weSBcCisJIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdWpzb25fMS4zNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXVqc29uXzEuMzUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjkyMDdmMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXVqc29uXzEuMzUuYmIKQEAgLTAsMCArMSwxMyBAQAorU1VNTUFSWSAgPSAiVWx0cmEgZmFzdCBKU09OIGVuY29kZXIgYW5kIGRlY29kZXIgZm9yIFB5dGhvbiIKK0RFU0NSSVBUSU9OID0gIlVsdHJhSlNPTiBpcyBhbiB1bHRyYSBmYXN0IEpTT04gZW5jb2RlciBhbmQgZGVjb2RlciB3cml0dGVuIGluIHB1cmUgQyB3aXRoIGJpbmRpbmdzIGZvciBQeXRob24gMi41KyBhbmQgMy4iCisKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUEtHLUlORk87c3RhcnRsaW5lPTg7ZW5kbGluZT05O21kNT00ZjM2OWIzYzNjMjkwYjRhZWRlODc5NmE0MDY1ZTVhYiIKKworU1JDX1VSSVttZDVzdW1dID0gIjQyZjc3YjBjY2U2ODZkZmE0ZGEyZTY4NDgwYjFkZDI0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImY2NjA3M2U1NTA2ZTkxZDIwNGFiMGM2MTRhMTQ4ZDVhYTkzOGJkYmYxMDQ3NTFiZTY2ZjhhZDdhMjIyZjVmODYiCisKK1BZUElfUEFDS0FHRSA9ICJ1anNvbiIKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK1JERVBFTkRTXyR7UE59ICs9ICJweXRob24tbnVtYmVycyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXVybGxpYjNfMS4xNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXVybGxpYjNfMS4xNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZTMwOTkxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdXJsbGliM18xLjE0LmJiCkBAIC0wLDAgKzEsMTEgQEAKK1NVTU1BUlkgPSAiUHl0aG9uIEhUVFAgbGlicmFyeSB3aXRoIHRocmVhZC1zYWZlIGNvbm5lY3Rpb24gcG9vbGluZywgZmlsZSBwb3N0IHN1cHBvcnQsIHNhbml0eSBmcmllbmRseSwgYW5kIG1vcmUiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vc2hhem93L3VybGxpYjMiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT0zYmUzNzA3YzVmMjRhNjk3MDk2ODIyNjVlMjk1NjZmZSIKKworU1JDX1VSSVttZDVzdW1dID0gIjVlMTQwNzQyOGFjMzNiNTIxYzcxYTdhYzI3M2IzODQ3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImRkNGZiMTNhNGNlNTBiMTgzMzhjN2U0ZDY2NWIyMWZkMzg2MzJjNWQ0YjFkOWYxYTEzNzkyNzZiZDNjMDhkMzciCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK1JERVBFTkRTXyR7UE59ICs9ICJweXRob24tbmV0Y2xpZW50IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdmN2ZXJzaW9uZXJfMi4xNC4wLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi12Y3ZlcnNpb25lcl8yLjE0LjAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODdlNTBmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdmN2ZXJzaW9uZXJfMi4xNC4wLjAuYmIKQEAgLTAsMCArMSwyMSBAQAorU1VNTUFSWSA9ICJQeXRob24gdmN2ZXJzaW9uZXIsIGF1dG9tYWdpY2FsbHkgdXBkYXRlIHRoZSBwcm9qZWN0J3MgdmVyc2lvbiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9oYWJuYWJpdC92Y3ZlcnNpb25lciIKKworTElDRU5TRSA9ICJJU0MiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9QS0ctSU5GTzttZDU9MjYwNjI1ZDY5NWM1ZTBjOWRkMmMyZWY4OTg4MzNjN2QiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3ODQ4YTM2NWNlZDk5NDEwNTNiYzI1ZDlhOWY4ZjRiNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhY2Q0MzY4NmU5MmU2YzhiYmViNGYyZWVmNTQ0MDg1NjdhN2FkZWE5NjkyZmE3MmQ1OTFlZWM1MzU3YzAzYjg2IgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitkb19jb21waWxlX2FwcGVuZCgpIHsKKyAgICBleHBvcnQgQlVJTERfU1lTPSR7QlVJTERfU1lTfSBIT1NUX1NZUz0ke0hPU1RfU1lTfQorICAgICR7UFlUSE9OfSBzZXR1cC5weSAtcSBiZGlzdF9lZ2cgLS1kaXN0LWRpciAuLworfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS92Y3ZlcnNpb25lciouZWdnICR7RH0vJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdmlzaXRvcl8wLjEuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXZpc2l0b3JfMC4xLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjUzMDkxZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXZpc2l0b3JfMC4xLjIuYmIKQEAgLTAsMCArMSw4IEBACitTVU1NQVJZID0gIkEgdGlueSBweXRob25pYyB2aXNpdG9yIGltcGxlbWVudGF0aW9uLiIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUEtHLUlORk87YmVnaW5saW5lPTg7ZW5kbGluZT04O21kNT04MjI3MTgwMTI2Nzk3YTAxNDhmOTRmNDgzZjNlMTQ4OSIKKworU1JDX1VSSVttZDVzdW1dID0gImU5NDcxYjQ0ZTVkNDI2YjBhZGY1ZDI3Njk0NTk4YmUwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ5NDQ0ZmZjYTU2YTQ2YTkyMDcxOTQ2MGQ0OTUyZjhjODhmOGZlZjk3ZjFlYTdkMmIxZjdjNTBmNjc1MDIyYmQiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi12b2JqZWN0XzAuOC4xYy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXZvYmplY3RfMC44LjFjLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyOGMwMmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi12b2JqZWN0XzAuOC4xYy5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIlB5dGhvbiBwYWNrYWdlIGZvciBwYXJzaW5nIGFuZCBnZW5lcmF0aW5nIHZDYXJkIGFuZCB2Q2FsZW5kYXIgZmlsZXMiCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIgCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiIAorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS0yLjAudHh0O21kNT0zYjgzZWY5NjM4N2YxNDY1NWZjODU0ZGRjM2M2YmQ1NyIKK0hPTUVQQUdFID0gImh0dHA6Ly92b2JqZWN0LnNreWhvdXNlY29uc3VsdGluZy5jb20vIiAKK1NSQ05BTUUgPSAidm9iamVjdCIgCitSREVQRU5EU18ke1BOfSA9ICJweXRob24gcHl0aG9uLWRhdGV1dGlsIgorUFIgPSAicjQiCisKK1NSQ19VUkkgPSAiaHR0cDovL3ZvYmplY3Quc2t5aG91c2Vjb25zdWx0aW5nLmNvbS8ke1NSQ05BTUV9LSR7UFZ9LnRhci5neiIgCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1BWfSIgCisKK2luaGVyaXQgc2V0dXB0b29scyAgCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjOTY4NmRkNzRkMzlmZGFlMTQwODkwZDljNjk0YzA3NiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1OTQxMTMxMTdmMjAxN2VkODM3YzhmM2NlNzI3NjE2ZjkwNTNiYWE1YTU0NjNhNzQyMGM4MjQ5YjhmYzU1NmY1IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24td2ViZGF2XzAuMS4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24td2ViZGF2XzAuMS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhNjQzN2QKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi13ZWJkYXZfMC4xLjIuYmIKQEAgLTAsMCArMSwxOSBAQAorREVTQ1JJUFRJT04gPSAiVGhpcyBwcm9qZWN0IGFpbXMgdG8gcHJvdmlkZSBhbiBvYmplY3Qtb3JpZW50ZWQgUHl0aG9uIFdlYkRBViBjbGllbnQtc2lkZSBsaWJyYXJ5XAorICAgICAgICAgICAgICAgYmFzZWQgb24gUHl0aG9uYHMgc3RhbmRhcmQgaHR0cGxpYiBhbmQgR3JlZyBTdGVpbmBzIGRhdmxpYi5cCisgICAgICAgICAgICAgICBUaGUgY2xpZW50IHNoYWxsIGZ1bGx5IHN1cHBvcnQgUkZDcyA0OTE4IChiYXNpYyBzcGVjaWZpY2F0aW9uKSxcCisgICAgICAgICAgICAgICAzNzQ0IChhY2Nlc3MgY29udHJvbCksIGFuZCAzMjUzICh2ZXJzaW9uaW5nKS4iCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3NyYy93ZWJkYXYvV2ViZGF2Q2xpZW50LnB5O2VuZGxpbmU9MTU7bWQ1PWExNTIwZmFkODU5ZmViN2IwZDdmMDUyNzdiYzZjZTQ4IgorSE9NRVBBR0UgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9weXRob253ZWJkYXZsaWIvIgorU1JDTkFNRSA9ICJQeXRob25fV2ViREFWX0xpYnJhcnkiCitERVBFTkRTID0gInB5dGhvbiIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcHl0aG9ud2ViZGF2bGliL1B5dGhvbiUyMFdlYkRBViUyMExpYnJhcnklMjAtJTIwJHtQVn0vJHtTUkNOQU1FfS0ke1BWfS56aXAiCitTUkNfVVJJW21kNXN1bV0gPSAiOGU0OWUwZWNjNWI0MzI3YzRmNzUyYTU0NGVlMTBlMWEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzJjMDI5YWQxZTI1ZGU5NTBmNTljMmYxODEyZDAwOWQyYzE2OTFiNzBlNGI1YjA5ZjFhZjkwMDZlOGZkNWYyMyIKKworUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0tJHtQVn0iCisKK2luaGVyaXQgZGlzdHV0aWxzCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdlcmt6ZXVnLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdlcmt6ZXVnLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjU0NDY5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24td2Vya3pldWcuaW5jCkBAIC0wLDAgKzEsMzAgQEAKK1NVTU1BUlkgPSAiVGhlIFN3aXNzIEFybXkga25pZmUgb2YgUHl0aG9uIHdlYiBkZXZlbG9wbWVudCIKK0RFU0NSSVBUSU9OID0gIlwKK1dlcmt6ZXVnIHN0YXJ0ZWQgYXMgc2ltcGxlIGNvbGxlY3Rpb24gb2YgdmFyaW91cyB1dGlsaXRpZXMgZm9yIFdTR0kgXAorYXBwbGljYXRpb25zIGFuZCBoYXMgYmVjb21lIG9uZSBvZiB0aGUgbW9zdCBhZHZhbmNlZCBXU0dJIHV0aWxpdHkgbW9kdWxlcy4gXAorSXQgaW5jbHVkZXMgYSBwb3dlcmZ1bCBkZWJ1Z2dlciwgZnVsbCBmZWF0dXJlZCByZXF1ZXN0IGFuZCByZXNwb25zZSBvYmplY3RzLCBcCitIVFRQIHV0aWxpdGllcyB0byBoYW5kbGUgZW50aXR5IHRhZ3MsIGNhY2hlIGNvbnRyb2wgaGVhZGVycywgSFRUUCBkYXRlcywgXAorY29va2llIGhhbmRsaW5nLCBmaWxlIHVwbG9hZHMsIGEgcG93ZXJmdWwgVVJMIHJvdXRpbmcgc3lzdGVtIGFuZCBhIGJ1bmNoIFwKK29mIGNvbW11bml0eSBjb250cmlidXRlZCBhZGRvbiBtb2R1bGVzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93ZXJremV1Zy5wb2Nvby5vcmcvIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1hNjhmNTM2MWEyYjJjYTlmZGYyNmIzOGFhZWNiNmZhYSIKKworU1JDX1VSSVttZDVzdW1dID0gImRhZjQ0M2E5Mzk0NTllMTJmMTRmZDJlNDY1OGEyNmRmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFmZGIwNGYxODNlZWYzYjIwODI3ZWI0NTIwZGNiNzVjMWNkMWYwYmE3YTdkZTNmNDYzZmY3YTQ2MmVlZTgxNjQiCisKK1BZUElfUEFDS0FHRSA9ICJXZXJremV1ZyIKKworUkRFUEVORFNfJHtQTn0gKz0gIiBcCisgICAgcHl0aG9uLWRpZmZsaWIgXAorICAgIHB5dGhvbi1lbWFpbCBcCisgICAgcHl0aG9uLWh0bWwgXAorICAgIHB5dGhvbi1qc29uIFwKKyAgICBweXRob24tbmV0c2VydmVyIFwKKyAgICBweXRob24tbnVtYmVycyBcCisgICAgcHl0aG9uLXBrZ3V0aWwgXAorICAgIHB5dGhvbi1zdWJwcm9jZXNzIFwKKyAgICBweXRob24tdGhyZWFkaW5nIFwKKyAgICBweXRob24tdW5peGFkbWluIFwKKyAgICBweXRob24temxpYiBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi13ZXJremV1Z18wLjExLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi13ZXJremV1Z18wLjExLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGQxNDYwOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdlcmt6ZXVnXzAuMTEuNS5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi13ZXJremV1Zy5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdob29zaC5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi13aG9vc2guaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhMmNmM2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi13aG9vc2guaW5jCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAiRmFzdCwgcHVyZS1QeXRob24gZnVsbCB0ZXh0IGluZGV4aW5nLCBzZWFyY2gsIGFuZCBzcGVsbCBjaGVja2luZyBsaWJyYXJ5LiIKK0RFU0NSSVBUSU9OID0gIlwKK1dob29zaCBpcyBhIGZhc3QsIGZlYXR1cmVmdWwgZnVsbC10ZXh0IGluZGV4aW5nIGFuZCBzZWFyY2hpbmcgbGlicmFyeSBcCitpbXBsZW1lbnRlZCBpbiBwdXJlIFB5dGhvbi4gUHJvZ3JhbW1lcnMgY2FuIHVzZSBpdCB0byBlYXNpbHkgYWRkIHNlYXJjaCBcCitmdW5jdGlvbmFsaXR5IHRvIHRoZWlyIGFwcGxpY2F0aW9ucyBhbmQgd2Vic2l0ZXMuIEV2ZXJ5IHBhcnQgb2YgaG93IFwKK1dob29zaCB3b3JrcyBjYW4gYmUgZXh0ZW5kZWQgb3IgcmVwbGFjZWQgdG8gbWVldCB5b3VyIG5lZWRzIGV4YWN0bHkuIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9MDUzMDMxODZkZWZjNjE0MTE0MzYyOTk2MWM3YzhhNjAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4OTM0MzNlOWMwNTI1YWMwNDNkZjMzZTZlMDRjYWFiMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlMDg1NzM3NWY2M2U5MDQxZTAzZmVkZDViNzU0MWY5N2NmNzg5MTdhYzFiNmIwNmMxZmNjOWI0NTM3NWRkYTY5IgorCitQWVBJX1BBQ0tBR0UgPSAiV2hvb3NoIgorUFlQSV9QQUNLQUdFX0VYVCA9ICJ6aXAiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi13aG9vc2hfMi43LjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi13aG9vc2hfMi43LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDhkZjM2MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdob29zaF8yLjcuNC5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi13aG9vc2guaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi13dGZvcm1zXzIuMC4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24td3Rmb3Jtc18yLjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZTYwNWQ1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24td3Rmb3Jtc18yLjAuMi5iYgpAQCAtMCwwICsxLDEzIEBACitERVNDUklQVElPTiA9ICJBIGZsZXhpYmxlIGZvcm1zIHZhbGlkYXRpb24gYW5kIHJlbmRlcmluZyBsaWJyYXJ5IGZvciBweXRob24gd2ViIGRldmVsb3BtZW50LiIKK0hPTUVQQUdFID0gImh0dHBzOi8vcHlwaS5weXRob24ub3JnL3B5cGkvV1RGb3JtcyIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9QS0ctSU5GTzttZDU9ZTkzNzdmNWU0YmZhZDgyYjQwZWQ2M2YwZmQ0ZDFjY2UiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2MTNjZjcyM2FiNDA1Mzc3MDViZWMwMjczM2M3OGQ5NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxMDczNzc1OGNlYWUwM2I1MzAyMWYzYWE3ZTgxYmZjOGRkNmY2NzljODc5ZmZlYjVlNjRhYzY1NzBmYWNiNmMxIgorCitQWVBJX1BBQ0tBR0UgPSAiV1RGb3JtcyIKK1BZUElfUEFDS0FHRV9FWFQgPSAiemlwIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24teGxyZC5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi14bHJkLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzBkMjZkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24teGxyZC5pbmMKQEAgLTAsMCArMSwxMCBAQAorU1VNTUFSWSA9ICJMaWJyYXJ5IGZvciBkZXZlbG9wZXJzIHRvIGV4dHJhY3QgZGF0YSBmcm9tIE1pY3Jvc29mdCBFeGNlbCAodG0pIHNwcmVhZHNoZWV0IGZpbGVzIgorREVTQ1JJUFRJT04gPSAiRXh0cmFjdCBkYXRhIGZyb20gRXhjZWwgc3ByZWFkc2hlZXRzICgueGxzIGFuZCAueGxzeCxcCisgdmVyc2lvbnMgMi4wIG9ud2FyZHMpIG9uIGFueSBwbGF0Zm9ybS4gUHVyZSBQeXRob24gKDIuNiwgMi43LCAzLjIrKS4gXAorU3Ryb25nIHN1cHBvcnQgZm9yIEV4Y2VsIGRhdGVzLiBVbmljb2RlLWF3YXJlLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cucHl0aG9uLWV4Y2VsLm9yZy8iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3hscmQvbGljZW5jZXMucHk7bWQ1PWI1OWRhY2U1Y2MxZGI2MDRjNDIxOTEwMGIwNDIyODExIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOTExODM5ZjUzNGQyOWZlMDQ1MjVlZjhjZDg4ZmU4NjUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGU4ZDMzNTlmMzk1NDFhNmZmOTM3ZjQwMzBkYjU0ODY0ODM2YTA2ZTQyOTg4YzQ1MmRiNWI2Yjg2ZDI5ZWE3MiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXhscmRfMC45LjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi14bHJkXzAuOS40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhNGQ3MDkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi14bHJkXzAuOS40LmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLXhscmQuaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi16b3BlaW50ZXJmYWNlXzQuMS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tem9wZWludGVyZmFjZV80LjEuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNWY4ZTIwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tem9wZWludGVyZmFjZV80LjEuMS5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIkludGVyZmFjZSBkZWZpbml0aW9ucyBmb3IgWm9wZSBwcm9kdWN0cyIKK0xJQ0VOU0UgPSAiWlBMLTIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO2JlZ2lubGluZT04O2VuZGxpbmU9ODttZDU9ZTU0ZmQ3NzYyNzRjMWI3NDIzZWMxMjg5NzRiZDlkNDYiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlZGNkNWY3MTljNWViMmUxODg5NGM0ZDA2ZTI5YjZjNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5MWNiYTdiN2NkN2NiODJmNmY0ZTAyM2ZlNzdmOTRkYzNkZjRhZTUyODdmZDU1ZGVmMjE0OGRjMjMyZDBjN2RhIgorCitQWVBJX1BBQ0tBR0UgPSAiem9wZS5pbnRlcmZhY2UiCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSUFJPVklERVNfJHtQTn0gKz0gInpvcGUtaW50ZXJmYWNlcyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKi5lZ2cvKi8qLy5kZWJ1ZyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vem9wZS9pbnRlcmZhY2UvKi5jIgorRklMRVNfJHtQTn0tZG9jICs9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS96b3BlL2ludGVyZmFjZS8qLnR4dCIKK0ZJTEVTXyR7UE59LXRlc3RzID0gIiBcCisgICAgICAgICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L3pvcGUvaW50ZXJmYWNlL3Rlc3RzIFwKKyAgICAgICAgJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vem9wZS9pbnRlcmZhY2UvY29tbW9uL3Rlc3RzIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1jZXJ0aWZpXzIwMTYuMi4yOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1jZXJ0aWZpXzIwMTYuMi4yOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MGY2NzRiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWNlcnRpZmlfMjAxNi4yLjI4LmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi1jZXJ0aWZpLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWN5dGhvbl8wLjI0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWN5dGhvbl8wLjI0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjZTZiZGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY3l0aG9uXzAuMjQuYmIKQEAgLTAsMCArMSwxOCBAQAoraW5oZXJpdCBzZXR1cHRvb2xzMworcmVxdWlyZSBweXRob24tY3l0aG9uLmluYworCitSREVQRU5EU18ke1BOfSArPSAiXAorICAgIHB5dGhvbjMtc2V0dXB0b29scyBcCisiCisKKyMgcnVubmluZyBidWlsZF9leHQgYSBzZWNvbmQgdGltZSBkdXJpbmcgaW5zdGFsbCBmYWlscywgYmVjYXVzZSBQeXRob24KKyMgd291bGQgdGhlbiBhdHRlbXB0IHRvIGltcG9ydCBjeXRob25pemVkIG1vZHVsZXMgYnVpbHQgZm9yIHRoZSB0YXJnZXQKKyMgYXJjaGl0ZWN0dXJlLgorRElTVFVUSUxTX0lOU1RBTExfQVJHUyArPSAiLS1za2lwLWJ1aWxkIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAjIHJlbmFtZSBzY3JpcHRzIHRoYXQgd291bGQgY29uZmxpY3Qgd2l0aCB0aGUgUHl0aG9uIDIgYnVpbGQgb2YgQ3l0aG9uCisgICAgbXYgJHtEfSR7YmluZGlyfS9jeXRob24gJHtEfSR7YmluZGlyfS9jeXRob24zCisgICAgbXYgJHtEfSR7YmluZGlyfS9jeXRob25pemUgJHtEfSR7YmluZGlyfS9jeXRob25pemUzCisgICAgbXYgJHtEfSR7YmluZGlyfS9jeWdkYiAke0R9JHtiaW5kaXJ9L2N5Z2RiMworfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWRhdGV1dGlsXzIuNS4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWRhdGV1dGlsXzIuNS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkMmJhZjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZGF0ZXV0aWxfMi41LjIuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi1kYXRldXRpbC5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1kZWNvcmF0b3JfNC4wLjkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZGVjb3JhdG9yXzQuMC45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0NGNiZGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZGVjb3JhdG9yXzQuMC45LmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBzZXR1cHRvb2xzMworcmVxdWlyZSBweXRob24tZGVjb3JhdG9yLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWZlZWRmb3JtYXR0ZXJfMC40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWZlZWRmb3JtYXR0ZXJfMC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1YTU0MDUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZmVlZGZvcm1hdHRlcl8wLjQuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi1mZWVkZm9ybWF0dGVyLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWZsYXNrLWxvZ2luXzAuMi4xMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1mbGFzay1sb2dpbl8wLjIuMTEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmQyM2ZlMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1mbGFzay1sb2dpbl8wLjIuMTEuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLWZsYXNrLWxvZ2luLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWZsYXNrLXB5bW9uZ29fMC40LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZmxhc2stcHltb25nb18wLjQuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMTAyNTU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWZsYXNrLXB5bW9uZ29fMC40LjAuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLWZsYXNrLXB5bW9uZ28uaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZmxhc2tfMC4xMC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWZsYXNrXzAuMTAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZDQzOTkwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWZsYXNrXzAuMTAuMS5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzMworcmVxdWlyZSBweXRob24tZmxhc2suaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtaXRzZGFuZ2Vyb3VzXzAuMjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtaXRzZGFuZ2Vyb3VzXzAuMjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2QzMDgyNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1pdHNkYW5nZXJvdXNfMC4yNC5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzMworcmVxdWlyZSBweXRob24taXRzZGFuZ2Vyb3VzLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWppbmphMl8yLjguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtamluamEyXzIuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTE1NmI2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWppbmphMl8yLjguYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLWppbmphMi5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1seG1sXzMuNi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWx4bWxfMy42LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmY0YmM3ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1seG1sXzMuNi4wLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBzZXR1cHRvb2xzMworcmVxdWlyZSBweXRob24tbHhtbC5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1tYXJrdXBzYWZlXzAuMjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtbWFya3Vwc2FmZV8wLjIzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2NWUzYzkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtbWFya3Vwc2FmZV8wLjIzLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBzZXR1cHRvb2xzMworcmVxdWlyZSBweXRob24tbWFya3Vwc2FmZS5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1wYXNzbGliXzEuNi41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXBhc3NsaWJfMS42LjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTgxODBhMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1wYXNzbGliXzEuNi41LmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi1wYXNzbGliLmluYwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1weWlub3RpZnlfMC45LjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHlpbm90aWZ5XzAuOS42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzYmFiOTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHlpbm90aWZ5XzAuOS42LmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBzZXR1cHRvb2xzMworcmVxdWlyZSBweXRob24tcHlpbm90aWZ5LmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXB5bWlzcF8yLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHltaXNwXzIuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTIzZDllCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXB5bWlzcF8yLjMuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXB5bWlzcC5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1weW1vbmdvXzMuMi4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXB5bW9uZ29fMy4yLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTE2NGIxOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1weW1vbmdvXzMuMi4yLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi1weW1vbmdvLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXB5c2VyaWFsXzMuMC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXB5c2VyaWFsXzMuMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3ZWQzZjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHlzZXJpYWxfMy4wLjEuYmIKQEAgLTAsMCArMSw3IEBACitpbmhlcml0IHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi1weXNlcmlhbC5pbmMKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgcm0gLWYgJHtEfSR7YmluZGlyfS9taW5pdGVybS5weQorICAgIHJtZGlyICR7RH0ke2JpbmRpcn0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1yZWRpc18yLjEwLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcmVkaXNfMi4xMC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxOTJlZDgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcmVkaXNfMi4xMC41LmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi1yZWRpcy5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1yZXF1ZXN0c18yLjkuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1yZXF1ZXN0c18yLjkuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNTIyMGZhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXJlcXVlc3RzXzIuOS4xLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi1yZXF1ZXN0cy5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1zaXhfMS4xMC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNpeF8xLjEwLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2Y3NjE1NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1zaXhfMS4xMC4wLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi1zaXguaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtdG9ybmFkb180LjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtdG9ybmFkb180LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWVjYzFmMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy10b3JuYWRvXzQuMy5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzMworcmVxdWlyZSBweXRob24tdG9ybmFkby5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy13ZXJremV1Z18wLjExLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtd2Vya3pldWdfMC4xMS41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmMmQ4NmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtd2Vya3pldWdfMC4xMS41LmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi13ZXJremV1Zy5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy13aG9vc2hfMi43LjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtd2hvb3NoXzIuNy40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkOGFmMzAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtd2hvb3NoXzIuNy40LmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi13aG9vc2guaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMteGxyZF8wLjkuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy14bHJkXzAuOS40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3YmQ5NjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMteGxyZF8wLjkuNC5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzMworcmVxdWlyZSBweXRob24teGxyZC5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tcHlwYXJ0ZWQvcHl0aG9uLXB5cGFydGVkLzAwMDEtZml4LXZlcnNpb24tZmxvYXQtY2hlY2sucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLXB5cGFydGVkL3B5dGhvbi1weXBhcnRlZC8wMDAxLWZpeC12ZXJzaW9uLWZsb2F0LWNoZWNrLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiM2FiOWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLXB5cGFydGVkL3B5dGhvbi1weXBhcnRlZC8wMDAxLWZpeC12ZXJzaW9uLWZsb2F0LWNoZWNrLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK2NoZWNrX21vZF92ZXJzaW9uIGJyZWFrcyBpZiBtb2R1bGUgdmVyc2lvbiBpcyBvZiB4LnkueiBmb3JtCit1c2UgYSByZWdleCB0byBoZWxwIGNhc3QgeC55LnogdmVyc2lvbiB0byBhIGZsb2F0CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitJbmRleDogZ2l0L3NldHVwLnB5Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvc2V0dXAucHkKKysrKyBnaXQvc2V0dXAucHkKK0BAIC0yNSw2ICsyNSw3IEBAIGltcG9ydCBnbG9iCisgaW1wb3J0IG9zCisgaW1wb3J0IHBsYXRmb3JtCisgaW1wb3J0IHN5cworK2ltcG9ydCByZQorIGZyb20gZGlzdHV0aWxzLmNjb21waWxlciBpbXBvcnQgbmV3X2NvbXBpbGVyCisgZnJvbSBkaXN0dXRpbHMuZXJyb3JzIGltcG9ydCBDb21waWxlRXJyb3IKKyBmcm9tIGRpc3R1dGlscy5lcnJvcnMgaW1wb3J0IExpbmtFcnJvcgorQEAgLTUxLDYgKzUyLDggQEAgZGVmIHBrZ2NvbmZpZygqcGFja2FnZXMsICoqa3dhcmdzKToKKyAKKyBkZWYgY2hlY2tfbW9kX3ZlcnNpb24obW9kdWxlLCB2ZXJzaW9uKToKKyAgICAgbW9kdmVyc2lvbiA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KFsicGtnLWNvbmZpZyIsICItLW1vZHZlcnNpb24iLCBtb2R1bGVdKQorKyAgICBtYXRjaCA9IHJlLnNlYXJjaCgnKFswLTldK1wuWzAtOV0rKScsIG1vZHZlcnNpb24pCisrICAgIG1vZHZlcnNpb24gPSBtYXRjaC5ncm91cCgwKQorICAgICBpZiBub3QgZmxvYXQobW9kdmVyc2lvbikgPj0gZmxvYXQodmVyc2lvbik6CisgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCIqKiogTWluaW11bSByZXF1aXJlZCAlcyB2ZXJzaW9uOiAlcywgZm91bmQ6ICVzXG4iICUgKG1vZHVsZSwgdmVyc2lvbiwgbW9kdmVyc2lvbiwpKQorICAgICAgICAgc3lzLmV4aXQoMSkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tcHlwYXJ0ZWQvcHl0aG9uLXB5cGFydGVkXzMuMTAuNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tcHlwYXJ0ZWQvcHl0aG9uLXB5cGFydGVkXzMuMTAuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTJjNGI5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1weXBhcnRlZC9weXRob24tcHlwYXJ0ZWRfMy4xMC43LmJiCkBAIC0wLDAgKzEsMjcgQEAKK0RFU0NSSVBUSU9OID0gInB5cGFydGVkIGlzIGEgc2V0IG9mIFB5dGhvbiBtb2R1bGVzIHRoYXQgcHJvdmlkZSBQeXRob24gcHJvZ3JhbW1lcnMgXAorYW4gaW50ZXJmYWNlIHRvIGxpYnBhcnRlZCwgdGhlIEdOVSBwYXJ0ZWQgbGlicmFyeSBmb3IgZGlzayBwYXJ0aXRpb25pbmcgYW5kIFwKK2ZpbGVzeXN0ZW0gbWFuaXB1bGF0aW9uLiIKK1NVTU1BUlkgPSAiUHl0aG9uIGJpbmRpbmdzIGZvciBsaWJwYXJ0ZWQiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvcHlwYXJ0ZWQiCitMSUNFTlNFID0gIkdQTC0yLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJcCisgICAgZmlsZTovL0NPUFlJTkc7bWQ1PThjYTQzY2JjODQyYzIzMzZlODM1OTI2YzIxNjZjMjhiIFwKKyAgICBmaWxlOi8vc3JjL19wZWRtb2R1bGUuYztzdGFydGxpbmU9MTA7ZW5kbGluZT0yMjttZDU9ZWJjYjI1ZGRlMWFjOWM0NmU5ODZkZWM3OWI0MDRlN2UgXAorIgorREVQRU5EUyArPSAicGFydGVkIHB5dGhvbi1yZSIKKworUFYgPSAiMy4xMC43K2dpdCR7U1JDUFZ9IgorCisjIHVwc3RyZWFtIG9ubHkgcHVibGlzaGVzIHJlbGVhc2VzIGluIGdpdGh1YiBhcmNoaXZlcyB3aGljaCBhcmUgZGlzY291cmFnZWQKK1NSQ1JFViA9ICI2OWM0YTQ3OGU0M2QzZWZmNmFlM2EwMTE2ZmEzOGRhMDY3NzZkNWY1IgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JoaW5zdGFsbGVyL3B5cGFydGVkLmdpdDtwcm90b2NvbD1odHRwcyBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWZpeC12ZXJzaW9uLWZsb2F0LWNoZWNrLnBhdGNoIFwKKyIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgZGlzdHV0aWxzCisKK1JERVBFTkRTXyR7UE59ICs9ICJweXRob24tc3RyaW5nb2xkIHB5dGhvbi1jb2RlY3MgcHl0aG9uLW1hdGggcGFydGVkICg+PSAyLjMpIgorUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlID0gIiIKKworQkJDTEFTU0VYVEVORCArPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXJ1YnkvQ09QWUlORy5NSVQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcnVieS9DT1BZSU5HLk1JVApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYjk1MGRjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXJ1YnkvQ09QWUlORy5NSVQKQEAgLTAsMCArMSwxNyBAQAorUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSAKK29mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIAoraW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyAKK3RvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgCitjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgCitmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorCitUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiAKK2FsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorCitUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUiAKK0lNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCAKK0ZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSAKK0FVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgCitMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCAKK09VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gCitUSEUgU09GVFdBUkUuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcnVieS9SRUFETUUgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcnVieS9SRUFETUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTdmZGRlOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ydWJ5L1JFQURNRQpAQCAtMCwwICsxLDE3IEBACitUaGlzIGxheWVyIGRlcGVuZHMgb246CisKK1VSSTogZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuZW1iZWRkZWQvb2UtY29yZS5naXQKK2JyYW5jaDoga3JvZ290aAorcmV2aXNpb246IEhFQUQKKworVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9tZXRhLW9lLmdpdAorYnJhbmNoOiBrcm9nb3RoCityZXZpc2lvbjogSEVBRAorCitTZW5kIHB1bGwgcmVxdWVzdHMgdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgd2l0aCAnW21ldGEtcnVieV1ba3JvZ290aF0nIGluIHRoZSBzdWJqZWN0JworCitXaGVuIHNlbmRpbmcgc2luZ2xlIHBhdGNoZXMsIHBsZWFzZSB1c2luZyBzb21ldGhpbmcgbGlrZToKKydnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1ydWJ5XVtrcm9nb3RoXVtQQVRDSCcKKwora3JvZ290aCBCcmFuY2ggTWFpbnRhaW5lcjoKK0FybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcnVieS9jbGFzc2VzL3J1YnkuYmJjbGFzcyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ydWJ5L2NsYXNzZXMvcnVieS5iYmNsYXNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmODQ0ZjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcnVieS9jbGFzc2VzL3J1YnkuYmJjbGFzcwpAQCAtMCwwICsxLDEzMSBAQAorQlBWID89ICIke1BWfSIKKworREVQRU5EUyArPSAiIFwKKyAgICBydWJ5LW5hdGl2ZSBcCisiCitSREVQRU5EU18ke1BOfSArPSAiIFwKKyAgICBydWJ5IFwKKyIKKworZGVmIGdldF9ydWJ5dmVyc2lvbihwKToKKyAgICBpbXBvcnQgcmUKKyAgICBmcm9tIG9zLnBhdGggaW1wb3J0IGlzZmlsZQorICAgIGltcG9ydCBzdWJwcm9jZXNzCisgICAgZm91bmRfdmVyc2lvbiA9ICJTT01FVEhJTkcgRkFJTEVEISIKKworICAgIGNtZCA9ICIlcy9ydWJ5IiAlIHAKKworICAgIGlmIG5vdCBpc2ZpbGUoY21kKToKKyAgICAgICByZXR1cm4gZm91bmRfdmVyc2lvbgorCisgICAgdmVyc2lvbiA9IHN1YnByb2Nlc3MuUG9wZW4oW2NtZCwgIi0tdmVyc2lvbiJdLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFKS5jb21tdW5pY2F0ZSgpWzBdCisgICAgCisgICAgciA9IHJlLmNvbXBpbGUoInJ1YnkgKFswLTldK1wuWzAtOV0rXC5bMC05XSspKiIpCisgICAgbSA9IHIubWF0Y2godmVyc2lvbikKKyAgICBpZiBtOgorICAgICAgICBmb3VuZF92ZXJzaW9uID0gbS5ncm91cCgxKQorCisgICAgcmV0dXJuIGZvdW5kX3ZlcnNpb24KKworZGVmIGdldF9ydWJ5Z2Vtc2xvY2F0aW9uKHApOgorICAgIGltcG9ydCByZQorICAgIGZyb20gb3MucGF0aCBpbXBvcnQgaXNmaWxlCisgICAgaW1wb3J0IHN1YnByb2Nlc3MKKyAgICBmb3VuZF9sb2MgPSAiU09NRVRISU5HIEZBSUxFRCEiCisKKyAgICBjbWQgPSAiJXMvZ2VtIiAlIHAKKworICAgIGlmIG5vdCBpc2ZpbGUoY21kKToKKyAgICAgICByZXR1cm4gZm91bmRfbG9jCisKKyAgICBsb2MgPSBzdWJwcm9jZXNzLlBvcGVuKFtjbWQsICJlbnYiXSwgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSkuY29tbXVuaWNhdGUoKVswXQorCisgICAgciA9IHJlLmNvbXBpbGUoIi4qXC0gKC91c3IuKi9ydWJ5L2dlbXMvLiopIikKKyAgICBmb3IgbGluZSBpbiBsb2Muc3BsaXQoJ1xuJyk6CisgICAgICAgIG0gPSByLm1hdGNoKGxpbmUpCisgICAgICAgIGlmIG06CisgICAgICAgICAgICBmb3VuZF9sb2MgPSBtLmdyb3VwKDEpCisgICAgICAgICAgICBicmVhaworCisgICAgcmV0dXJuIGZvdW5kX2xvYworCitkZWYgZ2V0X3J1YnlnZW1zdmVyc2lvbihwKToKKyAgICBpbXBvcnQgcmUKKyAgICBmcm9tIG9zLnBhdGggaW1wb3J0IGlzZmlsZQorICAgIGltcG9ydCBzdWJwcm9jZXNzCisgICAgZm91bmRfdmVyc2lvbiA9ICJTT01FVEhJTkcgRkFJTEVEISIKKworICAgIGNtZCA9ICIlcy9nZW0iICUgcAorCisgICAgaWYgbm90IGlzZmlsZShjbWQpOgorICAgICAgIHJldHVybiBmb3VuZF92ZXJzaW9uCisKKyAgICB2ZXJzaW9uID0gc3VicHJvY2Vzcy5Qb3BlbihbY21kLCAiZW52IiwgImdlbWRpciJdLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFKS5jb21tdW5pY2F0ZSgpWzBdCisgICAgCisgICAgciA9IHJlLmNvbXBpbGUoIi4qKFswLTldK1wuWzAtOV0rXC5bMC05XSspJCIpCisgICAgbSA9IHIubWF0Y2godmVyc2lvbikKKyAgICBpZiBtOgorICAgICAgICBmb3VuZF92ZXJzaW9uID0gbS5ncm91cCgxKQorCisgICAgcmV0dXJuIGZvdW5kX3ZlcnNpb24KKworUlVCWV9WRVJTSU9OID89ICIke0BnZXRfcnVieXZlcnNpb24oIiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfSIpfSIKK1JVQllfR0VNX0RJUkVDVE9SWSA/PSAiJHtAZ2V0X3J1YnlnZW1zbG9jYXRpb24oIiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfSIpfSIKK1JVQllfR0VNX1ZFUlNJT04gPz0gIiR7QGdldF9ydWJ5Z2Vtc3ZlcnNpb24oIiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfSIpfSIKKworZXhwb3J0IEdFTV9IT01FID0gIiR7U1RBR0lOR19ESVJfTkFUSVZFfS91c3IvbGliL3J1YnkvZ2Vtcy8ke1JVQllfR0VNX1ZFUlNJT059IgorCitSVUJZX0JVSUxEX0dFTVMgPz0gIiR7QlBOfS5nZW1zcGVjIgorUlVCWV9JTlNUQUxMX0dFTVMgPz0gIiR7QlBOfS0ke0JQVn0uZ2VtIgorCitSVUJZX0NPTVBJTEVfRkxBR1MgPz0gJ0xBTkc9ImVuX1VTLlVURi04IiBMQ19BTEw9ImVuX1VTLlVURi04IicKKworcnVieV9kb19jb21waWxlKCkgeworCWZvciBnZW0gaW4gJHtSVUJZX0JVSUxEX0dFTVN9OyBkbworCQkke1JVQllfQ09NUElMRV9GTEFHU30gZ2VtIGJ1aWxkICRnZW0KKwlkb25lCit9CisKKworcnVieV9kb19pbnN0YWxsKCkgeworCWZvciBnZW0gaW4gJHtSVUJZX0lOU1RBTExfR0VNU307IGRvCisJCWdlbSBpbnN0YWxsIC0taWdub3JlLWRlcGVuZGVuY2llcyAtLWxvY2FsIC0tZW52LXNoZWJhbmcgLS1pbnN0YWxsLWRpciAke0R9LyR7bGliZGlyfS9ydWJ5L2dlbXMvJHtSVUJZX0dFTV9WRVJTSU9OfS8gJGdlbQorCWRvbmUKKworCSMgY3JlYXRlIHN5bWxpbmsgZnJvbSB0aGUgZ2VtcyBiaW4gZGlyZWN0b3J5IHRvIC91c3IvYmluCisJZm9yIGkgaW4gJHtEfS8ke2xpYmRpcn0vcnVieS9nZW1zLyR7UlVCWV9HRU1fVkVSU0lPTn0vYmluLyo7IGRvCisJCWlmIFsgLWUgIiRpIiBdOyB0aGVuCisJCQlpZiBbICEgLWQgJHtEfS8ke2JpbmRpcn0gXTsgdGhlbiBta2RpciAtcCAke0R9LyR7YmluZGlyfTsgZmkKKwkJCWI9YGJhc2VuYW1lICRpYAorCQkJbG4gLXNmICR7bGliZGlyfS9ydWJ5L2dlbXMvJHtSVUJZX0dFTV9WRVJTSU9OfS9iaW4vJGIgJHtEfS8ke2JpbmRpcn0vJGIKKwkJZmkKKwlkb25lCit9CisKK0VYUE9SVF9GVU5DVElPTlMgZG9fY29tcGlsZSBkb19pbnN0YWxsCisKK1BBQ0tBR0VTID0gIiR7UE59LWRiZyAke1BOfSAke1BOfS1kb2MgJHtQTn0tZGV2IgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiBcCisgICAgICAgICR7bGliZGlyfS9ydWJ5L2dlbXMvJHtSVUJZX0dFTV9WRVJTSU9OfS9nZW1zLyovKi8uZGVidWcgXAorICAgICAgICAke2xpYmRpcn0vcnVieS9nZW1zLyR7UlVCWV9HRU1fVkVSU0lPTn0vZ2Vtcy8qLyovKi8uZGVidWcgXAorICAgICAgICAke2xpYmRpcn0vcnVieS9nZW1zLyR7UlVCWV9HRU1fVkVSU0lPTn0vZ2Vtcy8qLyovKi8qLy5kZWJ1ZyBcCisgICAgICAgICR7bGliZGlyfS9ydWJ5L2dlbXMvJHtSVUJZX0dFTV9WRVJTSU9OfS9nZW1zLyovKi8qLyovKi8uZGVidWcgXAorICAgICAgICAke2xpYmRpcn0vcnVieS9nZW1zLyR7UlVCWV9HRU1fVkVSU0lPTn0vZXh0ZW5zaW9ucy8qLyovLmRlYnVnIFwKKyAgICAgICAgJHtsaWJkaXJ9L3J1YnkvZ2Vtcy8ke1JVQllfR0VNX1ZFUlNJT059L2V4dGVuc2lvbnMvKi8qLyovLmRlYnVnIFwKKyAgICAgICAgJHtsaWJkaXJ9L3J1YnkvZ2Vtcy8ke1JVQllfR0VNX1ZFUlNJT059L2V4dGVuc2lvbnMvKi8qLyovKi8uZGVidWcgXAorICAgICAgICAke2xpYmRpcn0vcnVieS9nZW1zLyR7UlVCWV9HRU1fVkVSU0lPTn0vZXh0ZW5zaW9ucy8qLyovKi8qLyovLmRlYnVnIFwKKyAgICAgICAgIgorCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAgICAgJHtsaWJkaXJ9L3J1YnkvZ2Vtcy8ke1JVQllfR0VNX1ZFUlNJT059L2dlbXMgXAorICAgICAgICAke2xpYmRpcn0vcnVieS9nZW1zLyR7UlVCWV9HRU1fVkVSU0lPTn0vY2FjaGUgXAorICAgICAgICAke2xpYmRpcn0vcnVieS9nZW1zLyR7UlVCWV9HRU1fVkVSU0lPTn0vYmluIFwKKyAgICAgICAgJHtsaWJkaXJ9L3J1YnkvZ2Vtcy8ke1JVQllfR0VNX1ZFUlNJT059L3NwZWNpZmljYXRpb25zIFwKKyAgICAgICAgJHtsaWJkaXJ9L3J1YnkvZ2Vtcy8ke1JVQllfR0VNX1ZFUlNJT059L2J1aWxkX2luZm8gXAorICAgICAgICAke2xpYmRpcn0vcnVieS9nZW1zLyR7UlVCWV9HRU1fVkVSU0lPTn0vZXh0ZW5zaW9ucyBcCisgICAgICAgICIKKworRklMRVNfJHtQTn0tZG9jICs9ICIgXAorICAgICAgICAke2xpYmRpcn0vcnVieS9nZW1zLyR7UlVCWV9HRU1fVkVSU0lPTn0vZG9jIFwKKyAgICAgICAgIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXJ1YnkvY29uZi9sYXllci5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXJ1YnkvY29uZi9sYXllci5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1MjZhNWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcnVieS9jb25mL2xheWVyLmNvbmYKQEAgLTAsMCArMSwxNSBAQAorIyBXZSBoYXZlIGEgY29uZiBhbmQgY2xhc3NlcyBkaXJlY3RvcnksIGFwcGVuZCB0byBCQlBBVEggCitCQlBBVEggLj0gIjoke0xBWUVSRElSfSIKKworIyBXZSBoYXZlIGEgcmVjaXBlcyBkaXJlY3RvcnksIGFkZCB0byBCQkZJTEVTCitCQkZJTEVTICs9ICIke0xBWUVSRElSfS9yZWNpcGVzLSovKi8qLmJiICR7TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmJhcHBlbmQiCisKK0JCRklMRV9DT0xMRUNUSU9OUyArPSAicnVieS1sYXllciIKK0JCRklMRV9QQVRURVJOX3J1YnktbGF5ZXIgOj0gIl4ke0xBWUVSRElSfS8iCitCQkZJTEVfUFJJT1JJVFlfcnVieS1sYXllciA9ICI3IgorCisjIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW5jcmVtZW50ZWQgb24gc2lnbmlmaWNhbnQgY2hhbmdlcyB0aGF0IHdpbGwKKyMgY2F1c2UgY29tcGF0aWJpbGl0eSBpc3N1ZXMgd2l0aCBvdGhlciBsYXllcnMKK0xBWUVSVkVSU0lPTl9ydWJ5LWxheWVyID0gIjEiCisKK0xBWUVSREVQRU5EU19ydWJ5LWxheWVyID0gImNvcmUgb3BlbmVtYmVkZGVkLWxheWVyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXJ1YnkvcmVjaXBlcy1kZXZ0b29scy9ydWJ5L2J1bmRsZXJfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXJ1YnkvcmVjaXBlcy1kZXZ0b29scy9ydWJ5L2J1bmRsZXJfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxZTcyZTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcnVieS9yZWNpcGVzLWRldnRvb2xzL3J1YnkvYnVuZGxlcl9naXQuYmIKQEAgLTAsMCArMSwzMSBAQAorU1VNTUFSWSA9ICJNYWtlcyBzdXJlIFJ1YnkgYXBwbGljYXRpb25zIHJ1biB0aGUgc2FtZSBjb2RlIG9uIGV2ZXJ5IG1hY2hpbmUuIgorREVTQ1JJUFRJT04gPSAiQnVuZGxlciBtYWtlcyBzdXJlIFJ1YnkgYXBwbGljYXRpb25zIHJ1biB0aGUgc2FtZSBjb2RlIFwKK29uIGV2ZXJ5IG1hY2hpbmUuIEl0IGRvZXMgdGhpcyBieSBtYW5hZ2luZyB0aGUgZ2VtcyB0aGF0IHRoZSBcCithcHBsaWNhdGlvbiBkZXBlbmRzIG9uLiBHaXZlbiBhIGxpc3Qgb2YgZ2VtcywgaXQgY2FuIGF1dG9tYXRpY2FsbHkgXAorZG93bmxvYWQgYW5kIGluc3RhbGwgdGhvc2UgZ2VtcywgYXMgd2VsbCBhcyBhbnkgb3RoZXIgZ2VtcyBuZWVkZWQgYnkgXAordGhlIGdlbXMgdGhhdCBhcmUgbGlzdGVkLiBCZWZvcmUgaW5zdGFsbGluZyBnZW1zLCBpdCBjaGVja3MgdGhlIFwKK3ZlcnNpb25zIG9mIGV2ZXJ5IGdlbSB0byBtYWtlIHN1cmUgdGhhdCB0aGV5IGFyZSBjb21wYXRpYmxlLCBhbmQgY2FuIFwKK2FsbCBiZSBsb2FkZWQgYXQgdGhlIHNhbWUgdGltZS4gQWZ0ZXIgdGhlIGdlbXMgaGF2ZSBiZWVuIGluc3RhbGxlZCwgXAorQnVuZGxlciBjYW4gaGVscCB5b3UgdXBkYXRlIHNvbWUgb3IgYWxsIG9mIHRoZW0gd2hlbiBuZXcgdmVyc2lvbnMgXAorYmVjb21lIGF2YWlsYWJsZS4gRmluYWxseSwgaXQgcmVjb3JkcyB0aGUgZXhhY3QgdmVyc2lvbnMgdGhhdCBoYXZlIFwKK2JlZW4gaW5zdGFsbGVkLCBzbyB0aGF0IG90aGVycyBjYW4gaW5zdGFsbCB0aGUgZXhhY3Qgc2FtZSBnZW1zLiIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLm1kO21kNT0xOTZiYjk2M2U2MDE2MDk4MTdkN2U5YWM5YTY0YTg2NyIKKworU1JDUkVWID0gIjA2ZGM4NDcyYjkxNDJmZDZhYWVmZmY3ODBkNmQyNTJjMjBkYzJhMDQiCisKK0JSQU5DSCA9ICIxLTktc3RhYmxlIgorUFYgPSAiMS45LjQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK1NSQ19VUkkgPSAiIFwKKyAgICBnaXQ6Ly9naXRodWIuY29tL2J1bmRsZXIvYnVuZGxlci5naXQ7YnJhbmNoPSR7QlJBTkNIfSBcCisgICAgIgorCitpbmhlcml0IHJ1YnkKKworUkRFUEVORFNfJHtQTn0gPSAiZ2l0IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL1JFQURNRSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL1JFQURNRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzllMjM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvUkVBRE1FCkBAIC0wLDAgKzEsMjYgQEAKK1RoaXMgbGF5ZXIgZGVwZW5kcyBvbjoKKworVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9vZS1jb3JlLmdpdAorYnJhbmNoOiBrcm9nb3RoCityZXZpc2lvbjogSEVBRAorCitBbmQgd2UncmUgd29ya2luZyB0byBicmVhayB0aGUgZGVwZW5kZW5jeSBvbiB0aGlzIG9uZToKKworVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9tZXRhLW9lLmdpdAorYnJhbmNoOiBrcm9nb3RoCityZXZpc2lvbjogSEVBRAorCitUbyBtYWtlIEJCTUFTSydpbmcgcGVyIGxheWVyIHBvc3NpYmxlIHRoZSBmb2xsb3dpbmcgZGlyZWN0b3J5IHN0cnVjdHVyZSBpcwordXNlZDoKKworJFtMQVlFUkRJUn0vPGxheWVyIG5hbWU+L3JlY2lwZXMtPGdyb3VwLW5hbWU+LzxyZWNpcGUtbmFtZT4vPHJlY2lwZS1uYW1lPi5iYmFwcGVuZAorCitTZW5kIHB1bGwgcmVxdWVzdHMgdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgd2l0aCAnW21ldGEtb2VdW21ldGEtc3lzdGVtZF1ba3JvZ290aF0nIGluIHRoZSBzdWJqZWN0JworCitXaGVuIHNlbmRpbmcgc2luZ2xlIHBhdGNoZXMsIHBsZWFzZSB1c2Ugc29tZXRoaW5nIGxpa2U6CisnZ2l0IHNlbmQtZW1haWwgLU0gLTEgLS10byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyAtLXN1YmplY3QtcHJlZml4PW1ldGEtb2VdW21ldGEtc3lzdGVtZF1ba3JvZ290aF1bUEFUQ0gnCisKK1lvdSBhcmUgZW5jb3VyYWdlZCB0byBmb3JrIHRoZSBtaXJyb3Igb24gZ2l0aHViIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuZW1iZWRkZWQvbWV0YS1vZS8gdG8gc2hhcmUgeW91ciBwYXRjaGVzLCB0aGlzIGlzIHByZWZlcnJlZCBmb3IgcGF0Y2ggc2V0cyBjb25zaXN0aW5nIG9mIG1vcmUgdGhhbiBvbmUgcGF0Y2guIE90aGVyIHNlcnZpY2VzIGxpa2UgZ2l0b3Jpb3VzLCByZXBvLm9yLmN6IG9yIHNlbGYgaG9zdGVkIHNldHVwcyBhcmUgb2YgY291cnNlIGFjY2VwdGVkIGFzIHdlbGwsICdnaXQgZmV0Y2ggPHJlbW90ZT4nIHdvcmtzIHRoZSBzYW1lIG9uIGFsbCBvZiB0aGVtLiBXZSByZWNvbW1lbmQgZ2l0aHViIGJlY2F1c2UgaXQgaXMgZnJlZSwgZWFzeSB0byB1c2UsIGhhcyBiZWVuIHByb3ZlbiB0byBiZSByZWxpYWJsZSBhbmQgaGFzIGEgcmVhbGx5IGdvb2Qgd2ViIEdVSS4KKwora3JvZ290aCBCcmFuY2ggTWFpbnRhaW5lcjoKK0FybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9jb25mL2xheWVyLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9jb25mL2xheWVyLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDU2M2Y0NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL2NvbmYvbGF5ZXIuY29uZgpAQCAtMCwwICsxLDMyIEBACisjIEl0IHJlYWxseSBkZXBlbmRzIG9uIG9yZGVyIG9mIHRoZSBsYXllcnMgYXBwZWFyaW5nIGluIEJCTEFZRVJTCisjIHZhcmlhYmxlIGluIHRvcGxldmVsIGJibGF5ZXJzLmNvbmYgZmlsZSwgd2hlcmUgYml0YmFrZSB3aWxsIHNlYXJjaAorIyBmb3IgLmluYyBmaWxlcyBhbmQgb3RoZXJzIHdoZXJlIGJpdGJha2UgdXNlcyBCQlBBVEggc2luY2UgaXQgd2lsbAorIyBzZWFyY2ggdGhlIGRpcmVjdG9yaWVzIGZyb20gZmlyc3QgdG8gbGFzdCBhcyBzcGVjaWZpZWQgaW4gQkJQQVRICisjIFRoZXJlZm9yZSBpZiB5b3Ugd2FudCBhIGdpdmVuIGxheWVyIHRvIGJlIGNvbnNpZGVyZWQgaGlnaCBwcmlvcml0eQorIyBmb3IgdGhlIC5pbmMgYW5kIC5jb25mIGV0Yy4gdGhlbiBjb25zaWRlciBpdCBhZGRpbmcgYXQgdGhlIGJlZ2lubmluZworIyBvZiBCQlBBVEguIEZvciBiYmxheWVycyBiaXRiYWtlIHdpbGwgdXNlIEJCRklMRVNfUFJJT1JJVFkgdG8gcmVzb2x2ZQorIyB0aGUgcmVjaXBlIGNvbnRlbnRpb24gc28gdGhlIG9yZGVyIG9mIGRpcmVjdG9yaWVzIGluIEJCRklMRVMgZG9lcyAKKyMgbm90IG1hdHRlci4KKworIyBXZSBoYXZlIGEgY29uZiBhbmQgY2xhc3NlcyBkaXJlY3RvcnksIGFwcGVuZCB0byBCQlBBVEgKK0JCUEFUSCAuPSAiOiR7TEFZRVJESVJ9IgorCisjIFdlIGhhdmUgYSByZWNpcGVzIGRpcmVjdG9yeSwgYWRkIHRvIEJCRklMRVMKK0JCRklMRVMgKz0gIlwKKyAgJHtMQVlFUkRJUn0vcmVjaXBlcy0qLyovKi5iYiBcCisgICR7TEFZRVJESVJ9L29lLWNvcmUvcmVjaXBlcy0qLyovKi5iYmFwcGVuZCBcCisiCisKK0JCRklMRV9DT0xMRUNUSU9OUyArPSAic3lzdGVtZC1sYXllciIKK0JCRklMRV9QQVRURVJOX3N5c3RlbWQtbGF5ZXIgOj0gIl4ke0xBWUVSRElSfS8iCisKKyMgRGVmaW5lIHRoZSBwcmlvcml0eSBmb3IgcmVjaXBlcyAoLmJiIGZpbGVzKSBmcm9tIHRoaXMgbGF5ZXIsCisjIGNob29zaW5nIGNhcmVmdWxseSBob3cgdGhpcyBsYXllciBpbnRlcmFjdHMgd2l0aCBhbGwgb2YgdGhlCisjIG90aGVyIGxheWVycy4KKworQkJGSUxFX1BSSU9SSVRZX3N5c3RlbWQtbGF5ZXIgPSAiNyIKKworU0lHR0VOX0VYQ0xVREVSRUNJUEVTX0FCSVNBRkUgKz0gIiBcCisgIHN5c3RlbWQtc2VyaWFsZ2V0dHkgXAorIgorTEFZRVJERVBFTkRTX3N5c3RlbWQtbGF5ZXIgPSAiY29yZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1ic3Ava2V5bWFwcy9rZXltYXBzXzEuMC5iYmFwcGVuZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1ic3Ava2V5bWFwcy9rZXltYXBzXzEuMC5iYmFwcGVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODFiODc4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWJzcC9rZXltYXBzL2tleW1hcHNfMS4wLmJiYXBwZW5kCkBAIC0wLDAgKzEsNCBAQAorUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9hdmFoaS9hdmFoaV8lLmJiYXBwZW5kIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9hdmFoaS9hdmFoaV8lLmJiYXBwZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4MWI4NzgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L2F2YWhpL2F2YWhpXyUuYmJhcHBlbmQKQEAgLTAsMCArMSw0IEBACitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbl8lLmJiYXBwZW5kIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW5fJS5iYmFwcGVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMDA2YjNmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW5fJS5iYmFwcGVuZApAQCAtMCwwICsxLDMgQEAKK1JQUk9WSURFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3AvZGhjcC9kaGNsaWVudC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaGNwL2RoY3AvZGhjbGllbnQuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTYyMGNmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaGNwL2RoY3AvZGhjbGllbnQuc2VydmljZQpAQCAtMCwwICsxLDEzIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPUR5bmFtaWMgSG9zdCBDb25maWd1cmF0aW9uIFByb3RvY29sIChESENQKQorQWZ0ZXI9c3lzbG9nLnRhcmdldCBuZXR3b3JrLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworUElERmlsZT0vdmFyL3J1bi9kaGNsaWVudC5waWQKK0Vudmlyb25tZW50RmlsZT0tL2V0Yy9kZWZhdWx0L2RoY3AtY2xpZW50CitFeGVjU3RhcnQ9L3NiaW4vZGhjbGllbnQgLWNmIC9ldGMvZGhjcC9kaGNsaWVudC5jb25mIC1xIC1sZiAvdmFyL2xpYi9kaGNwL2RoY2xpZW50LmxlYXNlcyAkSU5URVJGQUNFUworCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGhjcC9kaGNwXyUuYmJhcHBlbmQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3AvZGhjcF8lLmJiYXBwZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0ZDdiZDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3AvZGhjcF8lLmJiYXBwZW5kCkBAIC0wLDAgKzEsMjQgQEAKKyMgbG9vayBmb3IgZmlsZXMgaW4gdGhlIGxheWVyIGZpcnN0CitGSUxFU0VYVFJBUEFUSFNfcHJlcGVuZCA6PSAiJHtUSElTRElSfS8ke1BOfToiCisKK1NZU1RFTURfUEFDS0FHRVMgKz0gImRoY3AtY2xpZW50IgorU1lTVEVNRF9TRVJWSUNFX2RoY3AtY2xpZW50ID0gImRoY2xpZW50LnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFX2RoY3AtY2xpZW50ID0gImRpc2FibGUiCisKK0ZJTEVTXyR7UE59LWNsaWVudCArPSAiJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9kaGNsaWVudC5zZXJ2aWNlIgorUlBST1ZJREVTX2RoY3Atc2VydmVyICs9ICJkaGNwLXNlcnZlci1zeXN0ZW1kIgorUlJFUExBQ0VTX2RoY3Atc2VydmVyICs9ICJkaGNwLXNlcnZlci1zeXN0ZW1kIgorUkNPTkZMSUNUU19kaGNwLXNlcnZlciArPSAiZGhjcC1zZXJ2ZXItc3lzdGVtZCIKK1JQUk9WSURFU19kaGNwLXJlbGF5ICs9ICJkaGNwLXJlbGF5LXN5c3RlbWQiCitSUkVQTEFDRVNfZGhjcC1yZWxheSArPSAiZGhjcC1yZWxheS1zeXN0ZW1kIgorUkNPTkZMSUNUU19kaGNwLXJlbGF5ICs9ICJkaGNwLXJlbGF5LXN5c3RlbWQiCitSUFJPVklERVNfJHtQTn0tY2xpZW50ICs9ICJkaGNwLWNsaWVudC1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59LWNsaWVudCArPSAiZGhjcC1jbGllbnQtc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0tY2xpZW50ICs9ICJkaGNwLWNsaWVudC1zeXN0ZW1kIgorCitTUkNfVVJJICs9ICJmaWxlOi8vZGhjbGllbnQuc2VydmljZSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZGhjbGllbnQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L29mb25vL29mb25vXyUuYmJhcHBlbmQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L29mb25vL29mb25vXyUuYmJhcHBlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTdhMzEyNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb25uZWN0aXZpdHkvb2Zvbm8vb2Zvbm9fJS5iYmFwcGVuZApAQCAtMCwwICsxLDUgQEAKK1JQUk9WSURFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCisKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzaC9vcGVuc3NoXyUuYmJhcHBlbmQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2gvb3BlbnNzaF8lLmJiYXBwZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhZGJjMTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2gvb3BlbnNzaF8lLmJiYXBwZW5kCkBAIC0wLDAgKzEsMyBAQAorUlBST1ZJREVTXyR7UE59LXNzaGQgKz0gIiR7UE59LXNzaGQtc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfS1zc2hkICs9ICIke1BOfS1zc2hkLXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59LXNzaGQgKz0gIiR7UE59LXNzaGQtc3lzdGVtZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb25uZWN0aXZpdHkvcG9ydG1hcC9wb3J0bWFwXzYuMC5iYmFwcGVuZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb25uZWN0aXZpdHkvcG9ydG1hcC9wb3J0bWFwXzYuMC5iYmFwcGVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Y2U2ZTcwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9wb3J0bWFwL3BvcnRtYXBfNi4wLmJiYXBwZW5kCkBAIC0wLDAgKzEsNSBAQAorUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudF8lLmJiYXBwZW5kIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudF8lLmJiYXBwZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwMDZiM2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50XyUuYmJhcHBlbmQKQEAgLTAsMCArMSwzIEBACitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94XyUuYmJhcHBlbmQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3hfJS5iYmFwcGVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NDJkNDUwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94XyUuYmJhcHBlbmQKQEAgLTAsMCArMSwzIEBACitSUFJPVklERVNfJHtQTn0tc3lzbG9nICs9ICIke1BOfS1zeXNsb2ctc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfS1zeXNsb2cgKz0gIiR7UE59LXN5c2xvZy1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfS1zeXNsb2cgKz0gIiR7UE59LXN5c2xvZy1zeXN0ZW1kIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvcmUvZGJ1cy9kYnVzXyUuYmJhcHBlbmQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29yZS9kYnVzL2RidXNfJS5iYmFwcGVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMDA2YjNmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvcmUvZGJ1cy9kYnVzXyUuYmJhcHBlbmQKQEAgLTAsMCArMSwzIEBACitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvcmUvZHJvcGJlYXIvZHJvcGJlYXJfJS5iYmFwcGVuZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb3JlL2Ryb3BiZWFyL2Ryb3BiZWFyXyUuYmJhcHBlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTgxYjg3OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb3JlL2Ryb3BiZWFyL2Ryb3BiZWFyXyUuYmJhcHBlbmQKQEAgLTAsMCArMSw0IEBACitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWRfJS5iYmFwcGVuZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZF8lLmJiYXBwZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1YWE1NDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWRfJS5iYmFwcGVuZApAQCAtMCwwICsxLDMgQEAKK1JQUk9WSURFU191ZGV2ICs9ICJ1ZGV2LXN5c3RlbWQiCitSUkVQTEFDRVNfdWRldiArPSAidWRldi1zeXN0ZW1kIgorUkNPTkZMSUNUU191ZGV2ICs9ICJ1ZGV2LXN5c3RlbWQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29yZS91dGlsLWxpbnV4L3V0aWwtbGludXhfJS5iYmFwcGVuZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb3JlL3V0aWwtbGludXgvdXRpbC1saW51eF8lLmJiYXBwZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwMDZiM2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29yZS91dGlsLWxpbnV4L3V0aWwtbGludXhfJS5iYmFwcGVuZApAQCAtMCwwICsxLDMgQEAKK1JQUk9WSURFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtZXh0ZW5kZWQvYXQvYXRfJS5iYmFwcGVuZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1leHRlbmRlZC9hdC9hdF8lLmJiYXBwZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4MWI4NzgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtZXh0ZW5kZWQvYXQvYXRfJS5iYmFwcGVuZApAQCAtMCwwICsxLDQgQEAKK1JQUk9WSURFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1leHRlbmRlZC9jcm9uaWUvY3JvbmllXyUuYmJhcHBlbmQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtZXh0ZW5kZWQvY3JvbmllL2Nyb25pZV8lLmJiYXBwZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwMDZiM2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtZXh0ZW5kZWQvY3JvbmllL2Nyb25pZV8lLmJiYXBwZW5kCkBAIC0wLDAgKzEsMyBAQAorUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1leHRlbmRlZC9saWdodHRwZC9saWdodHRwZF8lLmJiYXBwZW5kIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWV4dGVuZGVkL2xpZ2h0dHBkL2xpZ2h0dHBkXyUuYmJhcHBlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjAwNmIzZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1leHRlbmRlZC9saWdodHRwZC9saWdodHRwZF8lLmJiYXBwZW5kCkBAIC0wLDAgKzEsMyBAQAorUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1leHRlbmRlZC9ycGNiaW5kL3JwY2JpbmRfJS5iYmFwcGVuZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1leHRlbmRlZC9ycGNiaW5kL3JwY2JpbmRfJS5iYmFwcGVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMDA2YjNmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWV4dGVuZGVkL3JwY2JpbmQvcnBjYmluZF8lLmJiYXBwZW5kCkBAIC0wLDAgKzEsMyBAQAorUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQtbWFjaGluZS11bml0c18xLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLW1hY2hpbmUtdW5pdHNfMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhNjZhYzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLW1hY2hpbmUtdW5pdHNfMS4wLmJiCkBAIC0wLDAgKzEsMTMgQEAKK1NVTU1BUlkgPSAiTWFjaGluZSBzcGVjaWZpYyBzeXN0ZW1kIHVuaXRzIgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L0xJQ0VOU0U7bWQ1PTRkOTJjZDM3M2FiZGEzOTM3YzJiYzQ3ZmJjNDlkNjkwIgorCitQQUNLQUdFX0FSQ0ggPSAiJHtNQUNISU5FX0FSQ0h9IgorCitQUiA9ICJyMTgiCisKK2luaGVyaXQgc3lzdGVtZAorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIiIKK05BVElWRV9TWVNURU1EX1NVUFBPUlQgPSAiMSIKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL0NPUFlJTkcuTUlUIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9DT1BZSU5HLk1JVApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYjk1MGRjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9DT1BZSU5HLk1JVApAQCAtMCwwICsxLDE3IEBACitQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IAorb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgCitpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIAordG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCAKK2NvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyAKK2Z1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisKK1RoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIAorYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisKK1RIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SIAorSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIAorRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIAorQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiAKK0xJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIAorT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiAKK1RIRSBTT0ZUV0FSRS4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvUkVBRE1FIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9SRUFETUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTg0MjI3OQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvUkVBRE1FCkBAIC0wLDAgKzEsNzAgQEAKK21ldGEtd2Vic2VydmVyCis9PT09PT09PT09PT09PQorCitUaGlzIGxheWVyIHByb3ZpZGVzIHN1cHBvcnQgZm9yIGJ1aWxkaW5nIHdlYiBzZXJ2ZXJzLCB3ZWItYmFzZWQKK2FwcGxpY2F0aW9ucyBhbmQgcmVsYXRlZCBzb2Z0d2FyZS4KKworCisKK0RlcGVuZGVuY2llcworLS0tLS0tLS0tLS0tCisKK1RoaXMgbGF5ZXIgZGVwZW5kcyBvbjoKKworVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9vZS1jb3JlLmdpdAorc3ViZGlyZWN0b3J5OiBtZXRhCiticmFuY2g6IGtyb2dvdGggCityZXZpc2lvbjogSEVBRAorCitGb3Igc29tZSByZWNpcGVzLCB0aGUgbWV0YS1vZSBsYXllciBpcyByZXF1aXJlZDoKKworVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9tZXRhLW9lLmdpdAorc3ViZGlyZWN0b3J5OiBtZXRhLW9lCiticmFuY2g6IGtyb2dvdGggCityZXZpc2lvbjogSEVBRAorCisKKworTGF5b3V0CistLS0tLS0KKworcmVjaXBlcy1odHRwZC8gICAgICBXZWIgc2VydmVycworcmVjaXBlcy1waHAvICAgICAgICBQSFAgYXBwbGljYXRpb25zCityZWNpcGVzLXN1cHBvcnQvICAgIE1pc2NlbGxhbmVvdXMgc3VwcG9ydCByZWNpcGVzCityZWNpcGVzLXdlYmFkbWluLyAgIFN0YW5kYWxvbmUgd2ViIGFkbWluaXN0cmF0aW9uIGludGVyZmFjZXMKKworCitOb3RlcworLS0tLS0KKworKiBUaGlzIGxheWVyIHVzZWQgdG8gcHJvdmlkZSBhIG1vZHBocCByZWNpcGUgdGhhdCBidWlsdCBtb2RfcGhwLCBidXQKKyAgdGhpcyBpcyBub3cgYnVpbHQgYXMgcGFydCBvZiB0aGUgcGhwIHJlY2lwZSBpbiBtZXRhLW9lLiBIb3dldmVyLCBzaW5jZQorICBhcGFjaGUyIGlzIHJlcXVpcmVkIHRvIGJ1aWxkIG1vZF9waHAsIGFuZCBhcGFjaGUyIHJlY2lwZSBpcyBpbiB0aGlzCisgIGxheWVyIGFuZCByZWNpcGVzIGluIG1ldGEtb2UgY2FuJ3QgZGVwZW5kIG9uIGl0LCBtb2RfcGhwIGlzIG5vdCBidWlsdAorICBieSBkZWZhdWx0LiBJZiB5b3UgZG8gd2lzaCB0byB1c2UgbW9kX3BocCwgeW91IG5lZWQgdG8gYWRkICJhcGFjaGUyIgorICB0byB0aGUgUEFDS0FHRUNPTkZJRyB2YWx1ZSBmb3IgdGhlIHBocCByZWNpcGUgaW4gb3JkZXIgdG8gZW5hYmxlIGl0LgorICBTZWUgaGVyZSBmb3IgaW5mbyBvbiBob3cgdG8gZG8gdGhhdDoKKworICBodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy9jdXJyZW50L3JlZi1tYW51YWwvcmVmLW1hbnVhbC5odG1sI3Zhci1QQUNLQUdFQ09ORklHCisKKworTWFpbnRlbmFuY2UKKy0tLS0tLS0tLS0tCitTZW5kIHB1bGwgcmVxdWVzdHMgdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgd2l0aCAnW21ldGEtc3lzdGVtZF1ba3JvZ290aF0nIGluIHRoZSBzdWJqZWN0JworCitXaGVuIHNlbmRpbmcgc2luZ2xlIHBhdGNoZXMsIHBsZWFzZSB1c2Ugc29tZXRoaW5nIGxpa2U6CisnZ2l0IHNlbmQtZW1haWwgLU0gLTEgLS10byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyAtLXN1YmplY3QtcHJlZml4PW1ldGEtc3lzdGVtZF1ba3JvZ290aF1bUEFUQ0gnCisKKwora3JvZ290aCBCcmFuY2ggTWFpbnRhaW5lcjoKK0FybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CisKK0xpY2Vuc2UKKy0tLS0tLS0KKworQWxsIG1ldGFkYXRhIGlzIE1JVCBsaWNlbnNlZCB1bmxlc3Mgb3RoZXJ3aXNlIHN0YXRlZC4gU291cmNlIGNvZGUgaW5jbHVkZWQKK2luIHRyZWUgZm9yIGluZGl2aWR1YWwgcmVjaXBlcyBpcyB1bmRlciB0aGUgTElDRU5TRSBzdGF0ZWQgaW4gZWFjaCByZWNpcGUKKyguYmIgZmlsZSkgdW5sZXNzIG90aGVyd2lzZSBzdGF0ZWQuCisKK1RoaXMgUkVBRE1FIGRvY3VtZW50IGlzIENvcHlyaWdodCAoQykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbi4KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9jb25mL2xheWVyLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL2NvbmYvbGF5ZXIuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjUwOGE4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9jb25mL2xheWVyLmNvbmYKQEAgLTAsMCArMSwyNCBAQAorIyBMYXllciBjb25maWd1cmF0aW9uIGZvciBtZXRhLXdlYnNlcnZlciBsYXllcgorIyBDb3B5cmlnaHQgMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbgorCisjIFdlIGhhdmUgYSBjb25mIGFuZCBjbGFzc2VzIGRpcmVjdG9yeSwgYWRkIHRvIEJCUEFUSAorQkJQQVRIIC49ICI6JHtMQVlFUkRJUn0iCisKKyMgV2UgaGF2ZSB2YXJpb3VzIHJlY2lwZS0qIGRpcmVjdG9yaWVzLCBhZGQgdG8gQkJGSUxFUworQkJGSUxFUyArPSAiJHtMQVlFUkRJUn0vcmVjaXBlcy0qLyovKi5iYiAke0xBWUVSRElSfS9yZWNpcGVzLSovKi8qLmJiYXBwZW5kIgorCitCQkZJTEVfQ09MTEVDVElPTlMgKz0gIndlYnNlcnZlciIKK0JCRklMRV9QQVRURVJOX3dlYnNlcnZlciA6PSAiXiR7TEFZRVJESVJ9LyIKK0JCRklMRV9QUklPUklUWV93ZWJzZXJ2ZXIgPSAiNiIKKworIyBUaGlzIHNob3VsZCBvbmx5IGJlIGluY3JlbWVudGVkIG9uIHNpZ25pZmljYW50IGNoYW5nZXMgdGhhdCB3aWxsCisjIGNhdXNlIGNvbXBhdGliaWxpdHkgaXNzdWVzIHdpdGggb3RoZXIgbGF5ZXJzCitMQVlFUlZFUlNJT05fd2Vic2VydmVyID0gIjEiCisKK0xBWUVSREVQRU5EU193ZWJzZXJ2ZXIgPSAiY29yZSIKKworTElDRU5TRV9QQVRIICs9ICIke0xBWUVSRElSfS9saWNlbnNlcyIKKworU0lHR0VOX0VYQ0xVREVfU0FGRV9SRUNJUEVfREVQUyArPSAiIFwKKyAgcGhwbXlhZG1pbi0+YmFzaCBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL2xpY2Vuc2VzL09NTCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvbGljZW5zZXMvT01MCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlNmJkZmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL2xpY2Vuc2VzL09NTApAQCAtMCwwICsxLDI4IEBACitUaGlzIEZhc3RDR0kgYXBwbGljYXRpb24gbGlicmFyeSBzb3VyY2UgYW5kIG9iamVjdCBjb2RlICh0aGUKKyJTb2Z0d2FyZSIpIGFuZCBpdHMgZG9jdW1lbnRhdGlvbiAodGhlICJEb2N1bWVudGF0aW9uIikgYXJlCitjb3B5cmlnaHRlZCBieSBPcGVuIE1hcmtldCwgSW5jICgiT3BlbiBNYXJrZXQiKS4gIFRoZSBmb2xsb3dpbmcgdGVybXMKK2FwcGx5IHRvIGFsbCBmaWxlcyBhc3NvY2lhdGVkIHdpdGggdGhlIFNvZnR3YXJlIGFuZCBEb2N1bWVudGF0aW9uCit1bmxlc3MgZXhwbGljaXRseSBkaXNjbGFpbWVkIGluIGluZGl2aWR1YWwgZmlsZXMuCisKK09wZW4gTWFya2V0IHBlcm1pdHMgeW91IHRvIHVzZSwgY29weSwgbW9kaWZ5LCBkaXN0cmlidXRlLCBhbmQgbGljZW5zZQordGhpcyBTb2Z0d2FyZSBhbmQgdGhlIERvY3VtZW50YXRpb24gZm9yIGFueSBwdXJwb3NlLCBwcm92aWRlZCB0aGF0CitleGlzdGluZyBjb3B5cmlnaHQgbm90aWNlcyBhcmUgcmV0YWluZWQgaW4gYWxsIGNvcGllcyBhbmQgdGhhdCB0aGlzCitub3RpY2UgaXMgaW5jbHVkZWQgdmVyYmF0aW0gaW4gYW55IGRpc3RyaWJ1dGlvbnMuICBObyB3cml0dGVuCithZ3JlZW1lbnQsIGxpY2Vuc2UsIG9yIHJveWFsdHkgZmVlIGlzIHJlcXVpcmVkIGZvciBhbnkgb2YgdGhlCithdXRob3JpemVkIHVzZXMuICBNb2RpZmljYXRpb25zIHRvIHRoaXMgU29mdHdhcmUgYW5kIERvY3VtZW50YXRpb24gbWF5CitiZSBjb3B5cmlnaHRlZCBieSB0aGVpciBhdXRob3JzIGFuZCBuZWVkIG5vdCBmb2xsb3cgdGhlIGxpY2Vuc2luZwordGVybXMgZGVzY3JpYmVkIGhlcmUuICBJZiBtb2RpZmljYXRpb25zIHRvIHRoaXMgU29mdHdhcmUgYW5kCitEb2N1bWVudGF0aW9uIGhhdmUgbmV3IGxpY2Vuc2luZyB0ZXJtcywgdGhlIG5ldyB0ZXJtcyBtdXN0IGJlIGNsZWFybHkKK2luZGljYXRlZCBvbiB0aGUgZmlyc3QgcGFnZSBvZiBlYWNoIGZpbGUgd2hlcmUgdGhleSBhcHBseS4KKworT1BFTiBNQVJLRVQgTUFLRVMgTk8gRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRZIFdJVEggUkVTUEVDVCBUTyBUSEUKK1NPRlRXQVJFIE9SIFRIRSBET0NVTUVOVEFUSU9OLCBJTkNMVURJTkcgV0lUSE9VVCBMSU1JVEFUSU9OIEFOWQorV0FSUkFOVFkgT0YgTUVSQ0hBTlRBQklMSVRZIE9SIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgSU4KK05PIEVWRU5UIFNIQUxMIE9QRU4gTUFSS0VUIEJFIExJQUJMRSBUTyBZT1UgT1IgQU5ZIFRISVJEIFBBUlRZIEZPUiBBTlkKK0RBTUFHRVMgQVJJU0lORyBGUk9NIE9SIFJFTEFUSU5HIFRPIFRISVMgU09GVFdBUkUgT1IgVEhFCitET0NVTUVOVEFUSU9OLCBJTkNMVURJTkcsIFdJVEhPVVQgTElNSVRBVElPTiwgQU5ZIElORElSRUNULCBTUEVDSUFMIE9SCitDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgU0lNSUxBUiBEQU1BR0VTLCBJTkNMVURJTkcgTE9TVCBQUk9GSVRTIE9SCitMT1NUIERBVEEsIEVWRU4gSUYgT1BFTiBNQVJLRVQgSEFTIEJFRU4gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKK1NVQ0ggREFNQUdFUy4gIFRIRSBTT0ZUV0FSRSBBTkQgRE9DVU1FTlRBVElPTiBBUkUgUFJPVklERUQgIkFTIElTIi4KK09QRU4gTUFSS0VUIEhBUyBOTyBMSUFCSUxJVFkgSU4gQ09OVFJBQ1QsIFRPUlQsIE5FR0xJR0VOQ0UgT1IKK09USEVSV0lTRSBBUklTSU5HIE9VVCBPRiBUSElTIFNPRlRXQVJFIE9SIFRIRSBET0NVTUVOVEFUSU9OLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9saWNlbnNlcy9YZGVidWcgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL2xpY2Vuc2VzL1hkZWJ1ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zY2RiZjA1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9saWNlbnNlcy9YZGVidWcKQEAgLTAsMCArMSw2MCBAQAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gCisgICAgICAgICAgICAgICAgIFRoZSBYZGVidWcgTGljZW5zZSwgdmVyc2lvbiAxLjAxCisgICAgICAgICAgICAgKEJhc2VkIG9uICJUaGUgUEhQIExpY2Vuc2UiLCB2ZXJzaW9uIDMuMCkKKyAgIENvcHlyaWdodCAoYykgMjAwMy0yMDEyIERlcmljayBSZXRoYW5zLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gCisKK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBpcyBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKK2FyZSBtZXQ6CisKKyAgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIAorICAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KKyAgICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICAgICBkaXN0cmlidXRpb24uCisgCisgIDMuIFRoZSBuYW1lICJYZGVidWciIG11c3Qgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisgICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiBGb3IKKyAgICAgd3JpdHRlbiBwZXJtaXNzaW9uLCBwbGVhc2UgY29udGFjdCBkZXJpY2tAeGRlYnVnLm9yZy4KKyAgCisgIDQuIFByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIG1heSBub3QgYmUgY2FsbGVkICJYZGVidWciLCBub3IKKyAgICAgbWF5ICJYZGVidWciIGFwcGVhciBpbiB0aGVpciBuYW1lLCB3aXRob3V0IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbgorICAgICBmcm9tIGRlcmlja0B4ZGVidWcub3JnLgorIAorICA1LiBEZXJpY2sgUmV0aGFucyBtYXkgcHVibGlzaCByZXZpc2VkIGFuZC9vciBuZXcgdmVyc2lvbnMgb2YgdGhlCisgICAgIGxpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuIEVhY2ggdmVyc2lvbiB3aWxsIGJlIGdpdmVuIGEKKyAgICAgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBPbmNlIGNvdmVyZWQgY29kZSBoYXMgYmVlbgorICAgICBwdWJsaXNoZWQgdW5kZXIgYSBwYXJ0aWN1bGFyIHZlcnNpb24gb2YgdGhlIGxpY2Vuc2UsIHlvdSBtYXkKKyAgICAgYWx3YXlzIGNvbnRpbnVlIHRvIHVzZSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhhdCB2ZXJzaW9uLiBZb3UKKyAgICAgbWF5IGFsc28gY2hvb3NlIHRvIHVzZSBzdWNoIGNvdmVyZWQgY29kZSB1bmRlciB0aGUgdGVybXMgb2YgYW55CisgICAgIHN1YnNlcXVlbnQgdmVyc2lvbiBvZiB0aGUgbGljZW5zZSBwdWJsaXNoZWQgYnkgRGVyaWNrIFJldGhhbnMuIE5vCisgICAgIG9uZSBvdGhlciB0aGFuIERlcmljayBSZXRoYW5zIGhhcyB0aGUgcmlnaHQgdG8gbW9kaWZ5IHRoZSB0ZXJtcworICAgICBhcHBsaWNhYmxlIHRvIGNvdmVyZWQgY29kZSBjcmVhdGVkIHVuZGVyIHRoaXMgTGljZW5zZS4KKworICA2LiBSZWRpc3RyaWJ1dGlvbnMgb2YgYW55IGZvcm0gd2hhdHNvZXZlciBtdXN0IHJldGFpbiB0aGUgZm9sbG93aW5nCisgICAgIGFja25vd2xlZGdtZW50OiAiVGhpcyBwcm9kdWN0IGluY2x1ZGVzIFhkZWJ1ZywgZnJlZWx5IGF2YWlsYWJsZQorICAgICBmcm9tIDxodHRwOi8veGRlYnVnLm9yZy8+Ii4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBERVJJQ0sgUkVUSEFOUyBgYEFTIElTJycgQU5EIEFOWQorRVhQUkVTU0VEIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCitQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFBIUCBERVZFTE9QTUVOVCBURUFNIE9SCitJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCitTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCitMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKK0RBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCitPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGlzIHNvZnR3YXJlIGNvbnNpc3RzIG9mIHZvbHVudGFyeSBjb250cmlidXRpb25zIG1hZGUgYnkgc29tZQoraW5kaXZpZHVhbHMgb24gYmVoYWxmIG9mIERlcmljayBSZXRoYW5zLgorCitEZXJpY2sgUmV0aGFucyBjYW4gYmUgY29udGFjdGVkIHZpYSBlLW1haWwgYXQgZGVyaWNrQHhkZWJ1Zy5vcmcuCisKK0ZvciBtb3JlIGluZm9ybWF0aW9uIFhkZWJ1ZywgcGxlYXNlIHNlZSA8aHR0cDovL3hkZWJ1Zy5vcmc+LgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZS1tb2QvYXBhY2hlLXdlYnNvY2tldF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlLW1vZC9hcGFjaGUtd2Vic29ja2V0X2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYTMzMTE1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZS1tb2QvYXBhY2hlLXdlYnNvY2tldF9naXQuYmIKQEAgLTAsMCArMSwzMyBAQAorU1VNTUFSWSA9ICJXZWJzb2NrZXQgbW9kdWxlIGZvciBBcGFjaGUgd2ViIHNlcnZlciIKK0RFU0NSSVBUSU9OID0gIlByb2Nlc3MgcmVxdWVzdHMgdXNpbmcgdGhlIFdlYlNvY2tldCBwcm90b2NvbCAoUkZDIDY0NTUpIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2pjaGFtcGlvLyR7UE59LyIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnCisKK0RFUEVORFMgPSAiYXBhY2hlMiBhcGFjaGUyLW5hdGl2ZSIKK1JERVBFTkRTXyR7UE59ICs9ICJhcGFjaGUyIgorCisjIE9yaWdpbmFsIChnaXRodWIuY29tL2Rpc2Nvbm5lY3QvYXBhY2hlLXdlYnNvY2tldCkgaXMgZGVhZCBzaW5jZSAyMDEyLCB0aGUKKyMgZm9yayBjb250YWlucyBwYXRjaGVzIGZyb20gdGhlIG1vZHVsZXMgTUwgYW5kIGZpeGVzIENWRSBjb21wbGlhbmNlIGlzc3VlcworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2pjaGFtcGlvL2FwYWNoZS13ZWJzb2NrZXQuZ2l0IgorCitTUkNSRVYgPSAiZjUyMzBkOGM1MjBkY2NmODYzMWRhOTRiZjkwYzIzZjNjMTEwMGRjYyIKKworUFYgPSAiMC4xLjEiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTJlZTQxMTEyYTQ0ZmU3MDE0ZGNlMzNlMjY0NjhiYTkzIgorCitFWFRSQV9PRUNPTkYgPSAiQVBBQ0hFQ1RMPSR7U1RBR0lOR19ESVJfVEFSR0VUfSR7c2JpbmRpcn0vYXBhY2hlY3RsIFwKKyAgICAgICAgICAgICAgICBMSUJUT09MPSR7U1RBR0lOR19ESVJfVEFSR0VUfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vJHtIT1NUX1NZU30tbGlidG9vbCIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0vYXBhY2hlMi9tb2R1bGVzLworICAgIGluc3RhbGwgJHtCfS8ubGlicy9tb2Rfd2Vic29ja2V0LnNvICR7RH0ke2xpYmRpcn0vYXBhY2hlMi9tb2R1bGVzLworfQorCitGSUxFU18ke1BOfSArPSAiICR7bGliZGlyfS9hcGFjaGUyL21vZHVsZXMvKiAiCitGSUxFU18ke1BOfS1kYmcgKz0gIiAke2xpYmRpcn0vYXBhY2hlMi9tb2R1bGVzLy5kZWJ1Zy8qICIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTItbmF0aXZlXzIuNC4yMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTItbmF0aXZlXzIuNC4yMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OTMyZDEyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi1uYXRpdmVfMi40LjIwLmJiCkBAIC0wLDAgKzEsNDUgQEAKK0RFU0NSSVBUSU9OID0gIlRoZSBBcGFjaGUgSFRUUCBTZXJ2ZXIgaXMgYSBwb3dlcmZ1bCwgZWZmaWNpZW50LCBhbmQgXAorZXh0ZW5zaWJsZSB3ZWIgc2VydmVyLiIKK1NVTU1BUlkgPSAiQXBhY2hlIEhUVFAgU2VydmVyIgorSE9NRVBBR0UgPSAiaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvIgorREVQRU5EUyA9ICJleHBhdC1uYXRpdmUgcGNyZS1uYXRpdmUgYXByLW5hdGl2ZSBhcHItdXRpbC1uYXRpdmUiCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIG5hdGl2ZQorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuYXBhY2hlLm9yZy9kaXN0L2h0dHBkL2h0dHBkLSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoIFwKKyAgICAgICAgICAiCisKK1MgPSAiJHtXT1JLRElSfS9odHRwZC0ke1BWfSIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZGJmZjVhMmI1NDJmYTU4ODU0NDU1YmYxYTBiOTRiODMiCitTUkNfVVJJW21kNXN1bV0gPSAiM2ZmNGYwMGVlMDUxY2Y1ZDUzMDRiNDdiMWJjNDE4YjgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGU3NmEzNzVlZDNkYmFjNjM2ZjUwYWMzOWRlOTY2ZWNlNDQzNzUxZmU0ZDYyMzkyZjlhMzYwYTE5ZDk0ZDBkYSIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC1hcHI9JHtTVEFHSU5HX0JJTkRJUl9DUk9TU30vYXByLTEtY29uZmlnIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtYXByLXV0aWw9JHtTVEFHSU5HX0JJTkRJUl9DUk9TU30vYXB1LTEtY29uZmlnIFwKKyAgICAgICAgICAgICAgICAtLXByZWZpeD0ke3ByZWZpeH0gLS1kYXRhZGlyPSR7ZGF0YWRpcn0vYXBhY2hlMiBcCisgICAgICAgICAgICAgICAiCisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfSAke0R9JHtsaWJkaXJ9CisgICAgY3Agc2VydmVyL2dlbl90ZXN0X2NoYXIgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHN1cHBvcnQvYXB4cyAke0R9JHtiaW5kaXJ9LworICAgIGluc3RhbGwgLW0gNzU1IGh0dHBkICR7RH0ke2JpbmRpcn0vCisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9hcGFjaGUyL2J1aWxkCisgICAgY3AgJHtTfS9idWlsZC8qLm1rICR7RH0ke2RhdGFkaXJ9L2FwYWNoZTIvYnVpbGQKKyAgICBjcCBidWlsZC8qLm1rICR7RH0ke2RhdGFkaXJ9L2FwYWNoZTIvYnVpbGQKKyAgICBjcCAke1N9L2J1aWxkL2luc3Rkc28uc2ggJHtEfSR7ZGF0YWRpcn0vYXBhY2hlMi9idWlsZAorCisgICAgaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfS9hcGFjaGUyCisgICAgY3AgJHtTfS9pbmNsdWRlLyogJHtEfSR7aW5jbHVkZWRpcn0vYXBhY2hlMgorICAgIGNwIGluY2x1ZGUvKiAke0R9JHtpbmNsdWRlZGlyfS9hcGFjaGUyCisgICAgY3AgJHtTfS9vcy91bml4L29zLmggJHtEfSR7aW5jbHVkZWRpcn0vYXBhY2hlMgorICAgIGNwICR7U30vb3MvdW5peC91bml4ZC5oICR7RH0ke2luY2x1ZGVkaXJ9L2FwYWNoZTIKKworICAgIGNwIHN1cHBvcnQvZW52dmFycy1zdGQgJHtEfSR7YmluZGlyfS9lbnZ2YXJzCisgICAgY2htb2QgNzU1ICR7RH0ke2JpbmRpcn0vZW52dmFycworfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyL2FwYWNoZS1jb25maWd1cmVfcGVybGJpbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTIvYXBhY2hlLWNvbmZpZ3VyZV9wZXJsYmluLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5MDI3OWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyL2FwYWNoZS1jb25maWd1cmVfcGVybGJpbi5wYXRjaApAQCAtMCwwICsxLDIwIEBACisjIEF1dGhvcjogZWNobyA8ZmVpLmdlbmdAd2luZHJpdmVyLmNvbT4KKyMgRGF0ZTogQXByaWwgMjggMjAwOQorIyBTdW1tYXJ5OkZpeCBwZXJsIGluc3RhbGwgZGlyZWN0b3J5IHRvIC91c3IvYmluCisjCisjIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworLS0tIGEvY29uZmlndXJlLmluCisrKysgYi9jb25maWd1cmUuaW4KK0BAIC02MzgsMTAgKzYzOCw3IEBACisgQUNfREVGSU5FX1VOUVVPVEVEKEFQQUNIRV9NUE1fRElSLCAiJE1QTV9ESVIiLAorIAlbTG9jYXRpb24gb2YgdGhlIHNvdXJjZSBmb3IgdGhlIGN1cnJlbnQgTVBNXSkKKyAKKy1wZXJsYmluPWAkYWNfYXV4X2Rpci9QcmludFBhdGggcGVybGAKKy1pZiB0ZXN0ICJ4JHBlcmxiaW4iID0gIngiOyB0aGVuCistICAgIHBlcmxiaW49Ii9yZXBsYWNlL3dpdGgvcGF0aC90by9wZXJsL2ludGVycHJldGVyIgorLWZpCisrcGVybGJpbj0nL3Vzci9iaW4vcGVybCcKKyBBQ19TVUJTVChwZXJsYmluKQorIAorIGRubCBJZiB3ZSBhcmUgcnVubmluZyBvbiBCU0QvT1MsIHdlIG5lZWQgdG8gdXNlIHRoZSBCU0QgLmluY2x1ZGUgc3ludGF4LgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi9hcGFjaGUtc3NsLWx0bWFpbi1ycGF0aC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTIvYXBhY2hlLXNzbC1sdG1haW4tcnBhdGgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDEzZGM1MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTIvYXBhY2hlLXNzbC1sdG1haW4tcnBhdGgucGF0Y2gKQEAgLTAsMCArMSw4NCBAQAorIGJ1aWxkL2x0bWFpbi5zaCB8IDMyICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9idWlsZC9sdG1haW4uc2ggYi9idWlsZC9sdG1haW4uc2gKK2luZGV4IDVlY2E0YWUuLjgwNWI0NjEgMTAwNjQ0CistLS0gYS9idWlsZC9sdG1haW4uc2gKKysrKyBiL2J1aWxkL2x0bWFpbi5zaAorQEAgLTY5NDQsNyArNjk0NCw3IEBAIGZ1bmNfbW9kZV9saW5rICgpCisgCWRpcj0kZnVuY19yZXNvbHZlX3N5c3Jvb3RfcmVzdWx0CisgCSMgV2UgbmVlZCBhbiBhYnNvbHV0ZSBwYXRoLgorIAljYXNlICRkaXIgaW4KKy0JW1xcL10qIHwgW0EtWmEtel06W1xcL10qKSA7OworKwk9KiB8IFtcXC9dKiB8IFtBLVphLXpdOltcXC9dKikgOzsKKyAJKikKKyAJICBhYnNkaXI9YGNkICIkZGlyIiAmJiBwd2RgCisgCSAgdGVzdCAteiAiJGFic2RpciIgJiYgXAorQEAgLTgxMzcsNyArODEzNyw3IEBAIGZ1bmNfbW9kZV9saW5rICgpCisgCSAgICAkRUNITyAiKioqICRsaW5rbGliIGlzIG5vdCBwb3J0YWJsZSEiCisgCSAgZmkKKyAJICBpZiB0ZXN0IGxpYiA9ICIkbGlua21vZGUiICYmCistCSAgICAgdGVzdCB5ZXMgPSAiJGhhcmRjb2RlX2ludG9fbGlicyI7IHRoZW4KKysJICAgICB0ZXN0ICJ4JHdyc191c2VfcnBhdGhzIiA9ICJ4eWVzIiAmJiB0ZXN0ICIkaGFyZGNvZGVfaW50b19saWJzIiA9IHllczsgdGhlbgorIAkgICAgIyBIYXJkY29kZSB0aGUgbGlicmFyeSBwYXRoLgorIAkgICAgIyBTa2lwIGRpcmVjdG9yaWVzIHRoYXQgYXJlIGluIHRoZSBzeXN0ZW0gZGVmYXVsdCBydW4tdGltZQorIAkgICAgIyBzZWFyY2ggcGF0aC4KK0BAIC04NDA0LDcgKzg0MDQsNyBAQCBmdW5jX21vZGVfbGluayAoKQorIAorIAlpZiB0ZXN0IGxpYiA9ICIkbGlua21vZGUiOyB0aGVuCisgCSAgaWYgdGVzdCAtbiAiJGRlcGVuZGVuY3lfbGlicyIgJiYKKy0JICAgICB7IHRlc3QgeWVzICE9ICIkaGFyZGNvZGVfaW50b19saWJzIiB8fAorKyAgICAgICAgICAgICAgeyB0ZXN0IHllcyAhPSAiJGhhcmRjb2RlX2ludG9fbGlicyIgfHwgdGVzdCAieCR3cnNfdXNlX3JwYXRocyIgIT0gInh5ZXMiIHx8CisgCSAgICAgICB0ZXN0IHllcyA9ICIkYnVpbGRfb2xkX2xpYnMiIHx8CisgCSAgICAgICB0ZXN0IHllcyA9ICIkbGlua19zdGF0aWMiOyB9OyB0aGVuCisgCSAgICAjIEV4dHJhY3QgLVIgZnJvbSBkZXBlbmRlbmN5X2xpYnMKK0BAIC05MDI1LDcgKzkwMjUsOCBAQCBmdW5jX21vZGVfbGluayAoKQorIAkgICopIGZ1bmNfYXBwZW5kIGZpbmFsaXplX3JwYXRoICIgJGxpYmRpciIgOzsKKyAJICBlc2FjCisgCWRvbmUKKy0JaWYgdGVzdCB5ZXMgIT0gIiRoYXJkY29kZV9pbnRvX2xpYnMiIHx8IHRlc3QgeWVzID0gIiRidWlsZF9vbGRfbGlicyI7IHRoZW4KKysgICAgICAgIGlmIHRlc3QgeWVzICE9ICIkaGFyZGNvZGVfaW50b19saWJzIiAgfHwgdGVzdCAieCR3cnNfdXNlX3JwYXRocyIgIT0gInh5ZXMiIHx8CisrICAgICAgICAgICB0ZXN0IHllcyA9ICIkYnVpbGRfb2xkX2xpYnMiOyB0aGVuCisgCSAgZGVwZW5kZW5jeV9saWJzPSIkdGVtcF94cnBhdGggJGRlcGVuZGVuY3lfbGlicyIKKyAJZmkKKyAgICAgICBmaQorQEAgLTk0NzMsNyArOTQ3NCw3IEBAIEVPRgorIAljYXNlICRhcmNoaXZlX2NtZHMgaW4KKyAJICAqXCRMRFwgKikgd2w9IDs7CisgICAgICAgICBlc2FjCistCWlmIHRlc3QgeWVzID0gIiRoYXJkY29kZV9pbnRvX2xpYnMiOyB0aGVuCisrCWlmIHRlc3QgeWVzID0gIiRoYXJkY29kZV9pbnRvX2xpYnMiICYmIHRlc3QgIngkd3JzX3VzZV9ycGF0aHMiID0gInh5ZXMiOyB0aGVuCisgCSAgIyBIYXJkY29kZSB0aGUgbGlicmFyeSBwYXRocworIAkgIGhhcmRjb2RlX2xpYmRpcnM9CisgCSAgZGVwX3JwYXRoPQorQEAgLTEwMjExLDYgKzEwMjEyLDI3IEBAIEVPRgorICAgICAgICMgTm93IGhhcmRjb2RlIHRoZSBsaWJyYXJ5IHBhdGhzCisgICAgICAgcnBhdGg9CisgICAgICAgaGFyZGNvZGVfbGliZGlycz0KKysKKysgICAgICAjIHNob3J0IGNpcmN1aXQgcHV0dGluZyBycGF0aHMgaW4gZXhlY3V0YWJsZXMKKysgICAgICAjCisrICAgICAgaWYgdGVzdCAieCR3cnNfdXNlX3JwYXRocyIgIT0gInh5ZXMiIDsgdGhlbgorKyAgICAgICAgZmxhZz0KKysgICAgICAgIGZvciBsaWJkaXIgaW4gJGNvbXBpbGVfcnBhdGg7IGRvCisrICAgICAgICAgIGNhc2UgJChlY2hvICRsaWJkaXIgfCAke1NFRH0gJ3MsL1svXSosLyxnJykgaW4KKysgICAgICAgICAgICAvdXNyL2xpYi8qIHwgL3Vzci9saWIzMi8qIHwgL3Vzci9saWI2NC8qICkgZmxhZz0iJGZsYWcgJGxpYmRpciIgOzsKKysgICAgICAgICAgZXNhYworKyAgICAgICAgZG9uZQorKyAgICAgICAgY29tcGlsZV9ycGF0aD0iJGZsYWciCisrCisrICAgICAgICBmbGFnPQorKyAgICAgICAgZm9yIGxpYmRpciBpbiAkZmluYWxpemVfcnBhdGg7IGRvCisrICAgICAgICAgIGNhc2UgJChlY2hvICRsaWJkaXIgfCAke1NFRH0gJ3MsL1svXSosLyxnJykgaW4KKysgICAgICAgICAgICAvdXNyL2xpYi8qIHwgL3Vzci9saWIzMi8qIHwgL3Vzci9saWI2NC8qICkgZmxhZz0iJGZsYWcgJGxpYmRpciIgOzsKKysgICAgICAgICAgZXNhYworKyAgICAgICAgZG9uZQorKyAgICAgICAgZmluYWxpemVfcnBhdGg9IiRmbGFnIgorKyAgICAgIGZpCisrCisgICAgICAgZm9yIGxpYmRpciBpbiAkY29tcGlsZV9ycGF0aCAkZmluYWxpemVfcnBhdGg7IGRvCisgCWlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIjsgdGhlbgorIAkgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIjsgdGhlbgorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyL2ZpeC1saWJ0b29sLW5hbWUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyL2ZpeC1saWJ0b29sLW5hbWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDI3YWYwNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTIvZml4LWxpYnRvb2wtbmFtZS5wYXRjaApAQCAtMCwwICsxLDU1IEBACitGaXggYnVpbGQgc2NyaXB0cyB0byB1c2UgY29ycmVjdCBsaWJ0b29sIGZpbGVuYW1lCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworLS0tCisgaHR0cGQtMi40LjIvYnVpbGQvY29uZmlnX3ZhcnMuc2guaW4gfCAgICAyICstCisgaHR0cGQtMi40LjIvY29uZmlndXJlICAgICAgICAgICAgICAgfCAgICAyICstCisgaHR0cGQtMi40LjIvY29uZmlndXJlLmluICAgICAgICAgICAgfCAgICAyICstCisgaHR0cGQtMi40LjIvc3VwcG9ydC9hcHhzLmluICAgICAgICAgfCAgICAyICstCisgNCBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKKy0tLSBhL2J1aWxkL2NvbmZpZ192YXJzLnNoLmluCisrKysgYi9idWlsZC9jb25maWdfdmFycy5zaC5pbgorQEAgLTM1LDcgKzM1LDcgQEAgZWxzZQorICAgIEFQVV9DT05GSUc9QEFQVV9DT05GSUdACisgZmkKKyAKKy1BUFJfTElCVE9PTD0iYCR7QVBSX0NPTkZJR30gLS1hcHItbGlidG9vbGAiCisrQVBSX0xJQlRPT0w9ImAke0FQUl9DT05GSUd9IC0tYXByLWxpYnRvb2wgfCBzZWQgLWUgcyxsaWJ0b29sLCR7aG9zdF9hbGlhc30tbGlidG9vbCxgIgorIEFQUl9JTkNMVURFRElSPSJgJHtBUFJfQ09ORklHfSAtLWluY2x1ZGVkaXJgIgorIHRlc3QgLW4gIkBBUFVfQ09ORklHQCIgJiYgQVBVX0lOQ0xVREVESVI9ImAke0FQVV9DT05GSUd9IC0taW5jbHVkZWRpcmAiCisgCistLS0gYS9jb25maWd1cmUKKysrKyBiL2NvbmZpZ3VyZQorQEAgLTYyMDUsNyArNjIwNSw3IEBAIGNhc2UgJGhvc3QgaW4KKyAgICAgICBpZiB0ZXN0ICJ4JExURkxBR1MiID0gIngiOyB0aGVuCisgICAgICAgICAgIExURkxBR1M9Jy0tc2lsZW50JworICAgICAgIGZpCistICAgICAgbXlfbGlidG9vbD1gJGFwcl9jb25maWcgLS1hcHItbGlidG9vbGAKKysgICAgICBteV9saWJ0b29sPWAkYXByX2NvbmZpZyAtLWFwci1saWJ0b29sIHwgc2VkIC1lIHMsbGlidG9vbCwke2hvc3RfYWxpYXN9LWxpYnRvb2wsYAorICAgICAgIExJQlRPT0w9IiRteV9saWJ0b29sIFwkKExURkxBR1MpIgorICAgICAgIGxpYnRvb2x2ZXJzaW9uPWAkbXlfbGlidG9vbCAtLXZlcnNpb25gCisgICAgICAgY2FzZSAkbGlidG9vbHZlcnNpb24gaW4KKy0tLSBhL2NvbmZpZ3VyZS5pbgorKysrIGIvY29uZmlndXJlLmluCitAQCAtMjY0LDcgKzI2NCw3IEBAIGNhc2UgJGhvc3QgaW4KKyAgICAgICBpZiB0ZXN0ICJ4JExURkxBR1MiID0gIngiOyB0aGVuCisgICAgICAgICAgIExURkxBR1M9Jy0tc2lsZW50JworICAgICAgIGZpCistICAgICAgbXlfbGlidG9vbD1gJGFwcl9jb25maWcgLS1hcHItbGlidG9vbGAKKysgICAgICBteV9saWJ0b29sPWAkYXByX2NvbmZpZyAtLWFwci1saWJ0b29sIHwgc2VkIC1lIHMsbGlidG9vbCwke2hvc3RfYWxpYXN9LWxpYnRvb2wsYAorICAgICAgIExJQlRPT0w9IiRteV9saWJ0b29sIFwkKExURkxBR1MpIgorICAgICAgIGxpYnRvb2x2ZXJzaW9uPWAkbXlfbGlidG9vbCAtLXZlcnNpb25gCisgICAgICAgY2FzZSAkbGlidG9vbHZlcnNpb24gaW4KKy0tLSBhL3N1cHBvcnQvYXB4cy5pbgorKysrIGIvc3VwcG9ydC9hcHhzLmluCitAQCAtMzUyLDcgKzM1Miw3IEBAIGlmICgkYXByX21ham9yX3ZlcnNpb24gPCAyKSB7CisgICAgIH0KKyB9CisgCistbXkgJGxpYnRvb2wgPSBgJGFwcl9jb25maWcgLS1hcHItbGlidG9vbGA7CisrbXkgJGxpYnRvb2wgPSBgJGFwcl9jb25maWcgLS1hcHItbGlidG9vbHwgc2VkIC1lIHMsbGlidG9vbCwke2hvc3RfYWxpYXN9LWxpYnRvb2wsYDsKKyBjaG9tcCgkbGlidG9vbCk7CisgCisgbXkgJGFwcl9pbmNsdWRlZGlyID0gYCRhcHJfY29uZmlnIC0taW5jbHVkZXNgOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi9odHRwZC0yLjQuMS1jb3JlbGltaXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyL2h0dHBkLTIuNC4xLWNvcmVsaW1pdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOGU0MTA3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi9odHRwZC0yLjQuMS1jb3JlbGltaXQucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorCitCdW1wIHVwIHRoZSBjb3JlIHNpemUgbGltaXQgaWYgQ29yZUR1bXBEaXJlY3RvcnkgaXMKK2NvbmZpZ3VyZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZyAKKworTm90ZTogdXBzdHJlYW1pbmcgd2FzIGRpc2N1c3NlZCBidXQgdGhlcmUgYXJlIGNvbXBldGluZyBkZXNpcmVzOworCXRoZXJlIGFyZSBwb3J0YWJpbGl0eSBvZGRpdGllcyBoZXJlIHRvby4KKworLS0tIGh0dHBkLTIuNC4xL3NlcnZlci9jb3JlLmMuY29yZWxpbWl0CisrKysgaHR0cGQtMi40LjEvc2VydmVyL2NvcmUuYworQEAgLTQ0MzMsNiArNDQzMywyNSBAQCBzdGF0aWMgaW50IGNvcmVfcG9zdF9jb25maWcoYXByX3Bvb2xfdCAqCisgICAgIH0KKyAgICAgYXByX3Bvb2xfY2xlYW51cF9yZWdpc3RlcihwY29uZiwgTlVMTCwgYXBfbXBtX2VuZF9nZW5faGVscGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcl9wb29sX2NsZWFudXBfbnVsbCk7CisrCisrI2lmZGVmIFJMSU1JVF9DT1JFCisrICAgIGlmIChhcF9jb3JlZHVtcGRpcl9jb25maWd1cmVkKSB7CisrICAgICAgICBzdHJ1Y3QgcmxpbWl0IGxpbTsKKysKKysgICAgICAgIGlmIChnZXRybGltaXQoUkxJTUlUX0NPUkUsICZsaW0pID09IDAgJiYgbGltLnJsaW1fY3VyID09IDApIHsKKysgICAgICAgICAgICBsaW0ucmxpbV9jdXIgPSBsaW0ucmxpbV9tYXg7CisrICAgICAgICAgICAgaWYgKHNldHJsaW1pdChSTElNSVRfQ09SRSwgJmxpbSkgPT0gMCkgeworKyAgICAgICAgICAgICAgICBhcF9sb2dfZXJyb3IoQVBMT0dfTUFSSywgQVBMT0dfTk9USUNFLCAwLCBOVUxMLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvcmUgZHVtcCBmaWxlIHNpemUgbGltaXQgcmFpc2VkIHRvICVsdSBieXRlcyIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW0ucmxpbV9jdXIpOworKyAgICAgICAgICAgIH0gZWxzZSB7CisrICAgICAgICAgICAgICAgIGFwX2xvZ19lcnJvcihBUExPR19NQVJLLCBBUExPR19OT1RJQ0UsIGVycm5vLCBOVUxMLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvcmUgZHVtcCBmaWxlIHNpemUgaXMgemVybywgc2V0cmxpbWl0IGZhaWxlZCIpOworKyAgICAgICAgICAgIH0KKysgICAgICAgIH0KKysgICAgfQorKyNlbmRpZgorKworICAgICByZXR1cm4gT0s7CisgfQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi9odHRwZC0yLjQuMS1zZWxpbnV4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi9odHRwZC0yLjQuMS1zZWxpbnV4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3MzMyOGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyL2h0dHBkLTIuNC4xLXNlbGludXgucGF0Y2gKQEAgLTAsMCArMSw2MyBAQAorCitMb2cgdGhlIFNFTGludXggY29udGV4dCBhdCBzdGFydHVwLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW290aGVyXQorCitOb3RlOiB1bmxpa2VseSB0byBiZSBhbnkgaW50ZXJlc3QgaW4gdGhpcyB1cHN0cmVhbQorCistLS0gaHR0cGQtMi40LjEvY29uZmlndXJlLmluLnNlbGludXgKKysrKyBodHRwZC0yLjQuMS9jb25maWd1cmUuaW4KK0BAIC00NTgsNiArNDU4LDExIEBAIGZvcGVuNjQKKyBkbmwgY29uZmlybSB0aGF0IGEgdm9pZCBwb2ludGVyIGlzIGxhcmdlIGVub3VnaCB0byBzdG9yZSBhIGxvbmcgaW50ZWdlcgorIEFQQUNIRV9DSEVDS19WT0lEX1BUUl9MRU4KKyAKKytBQ19DSEVDS19MSUIoc2VsaW51eCwgaXNfc2VsaW51eF9lbmFibGVkLCBbCisrICAgQUNfREVGSU5FKEhBVkVfU0VMSU5VWCwgMSwgW0RlZmluZWQgaWYgU0VMaW51eCBpcyBzdXBwb3J0ZWRdKQorKyAgIEFQUl9BRERUTyhBUF9MSUJTLCBbLWxzZWxpbnV4XSkKKytdKQorKworIEFDX0NBQ0hFX0NIRUNLKFtmb3IgZ2V0dGlkKCldLCBhY19jdl9nZXR0aWQsCisgW0FDX1RSWV9SVU4oI2RlZmluZSBfR05VX1NPVVJDRQorICNpbmNsdWRlIDx1bmlzdGQuaD4KKy0tLSBodHRwZC0yLjQuMS9zZXJ2ZXIvY29yZS5jLnNlbGludXgKKysrKyBodHRwZC0yLjQuMS9zZXJ2ZXIvY29yZS5jCitAQCAtNTgsNiArNTgsMTAgQEAKKyAjaW5jbHVkZSA8dW5pc3RkLmg+CisgI2VuZGlmCisgCisrI2lmZGVmIEhBVkVfU0VMSU5VWAorKyNpbmNsdWRlIDxzZWxpbnV4L3NlbGludXguaD4KKysjZW5kaWYKKysKKyAvKiBMaW1pdFJlcXVlc3RCb2R5IGhhbmRsaW5nICovCisgI2RlZmluZSBBUF9MSU1JVF9SRVFfQk9EWV9VTlNFVCAgICAgICAgICgoYXByX29mZl90KSAtMSkKKyAjZGVmaW5lIEFQX0RFRkFVTFRfTElNSVRfUkVRX0JPRFkgICAgICAgKChhcHJfb2ZmX3QpIDApCitAQCAtNDQ1Miw2ICs0NDU2LDI4IEBAIHN0YXRpYyBpbnQgY29yZV9wb3N0X2NvbmZpZyhhcHJfcG9vbF90ICoKKyAgICAgfQorICNlbmRpZgorIAorKyNpZmRlZiBIQVZFX1NFTElOVVgKKysgICAgeworKyAgICAgICAgc3RhdGljIGludCBhbHJlYWR5X3dhcm5lZCA9IDA7CisrICAgICAgICBpbnQgaXNfZW5hYmxlZCA9IGlzX3NlbGludXhfZW5hYmxlZCgpID4gMDsKKysgICAgICAgIAorKyAgICAgICAgaWYgKGlzX2VuYWJsZWQgJiYgIWFscmVhZHlfd2FybmVkKSB7CisrICAgICAgICAgICAgc2VjdXJpdHlfY29udGV4dF90IGNvbjsKKysgICAgICAgICAgICAKKysgICAgICAgICAgICBpZiAoZ2V0Y29uKCZjb24pID09IDApIHsKKysgICAgICAgICAgICAgICAgCisrICAgICAgICAgICAgICAgIGFwX2xvZ19lcnJvcihBUExPR19NQVJLLCBBUExPR19OT1RJQ0UsIDAsIE5VTEwsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU0VMaW51eCBwb2xpY3kgZW5hYmxlZDsgIgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImh0dHBkIHJ1bm5pbmcgYXMgY29udGV4dCAlcyIsIGNvbik7CisrICAgICAgICAgICAgICAgIAorKyAgICAgICAgICAgICAgICBhbHJlYWR5X3dhcm5lZCA9IDE7CisrICAgICAgICAgICAgICAgIAorKyAgICAgICAgICAgICAgICBmcmVlY29uKGNvbik7CisrICAgICAgICAgICAgfQorKyAgICAgICAgfQorKyAgICB9CisrI2VuZGlmCisrCisgICAgIHJldHVybiBPSzsKKyB9CisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyL2h0dHBkLTIuNC40LWV4cG9ydC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTIvaHR0cGQtMi40LjQtZXhwb3J0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmYmVkOGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyL2h0dHBkLTIuNC40LWV4cG9ydC5wYXRjaApAQCAtMCwwICsxLDIyIEBACisKK1RoZXJlIGlzIG5vIG5lZWQgdG8gInN1Y2sgaW4iIHRoZSBhcHIvYXByLXV0aWwgc3ltYm9scyB3aGVuIHVzaW5nCithIHNoYXJlZCBsaWJhcHJ7LHV0aWx9LCBpdCBqdXN0IGJsb2F0cyB0aGUgc3ltYm9sIHRhYmxlOyBzbyBkb24ndC4KKworVXBzdHJlYW0tSEVBRDogbmVlZGVkCitVcHN0cmVhbS0yLjA6IG9taXQKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitOb3RlOiBFWFBPUlRfRElSUyBjaGFuZ2UgaXMgY29uZGl0aW9uYWwgb24gdXNpbmcgc2hhcmVkIGFwcgorCistLS0gaHR0cGQtMi40LjQvc2VydmVyL01ha2VmaWxlLmluLmV4cG9ydAorKysrIGh0dHBkLTIuNC40L3NlcnZlci9NYWtlZmlsZS5pbgorQEAgLTU3LDkgKzU3LDYgQEAgZXhwb3J0X2ZpbGVzOgorIAkoIGZvciBkaXIgaW4gJChFWFBPUlRfRElSUyk7IGRvIFwKKyAJICAgICAgbHMgJCRkaXIvKi5oIDsgXAorIAkgIGRvbmU7IFwKKy0JICBmb3IgZGlyIGluICQoRVhQT1JUX0RJUlNfQVBSKTsgZG8gXAorLQkgICAgICBscyAkJGRpci9hcFtydV0uaCAkJGRpci9hcFtydV1fKi5oIDI+L2Rldi9udWxsOyBcCistCSAgZG9uZTsgXAorIAkpIHwgc2VkIC1lIHMsLy8sLyxnIHwgc29ydCAtdSA+ICRACisgCisgZXhwb3J0cy5jOiBleHBvcnRfZmlsZXMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTIvcmVwbGFjZS1seW54LXRvLWN1cmwtaW4tYXBhY2hlY3RsLXNjcmlwdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTIvcmVwbGFjZS1seW54LXRvLWN1cmwtaW4tYXBhY2hlY3RsLXNjcmlwdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ODRkZGM4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi9yZXBsYWNlLWx5bngtdG8tY3VybC1pbi1hcGFjaGVjdGwtc2NyaXB0LnBhdGNoCkBAIC0wLDAgKzEsNTIgQEAKK0Zyb20gNzYwY2NiYjJmYjA0NjYyMWEyYWVhZWNhYmIyYjFlZjlhYTI4MGNmMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFl1bG9uZyBQZWkgPFl1bG9uZy5wZWlAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFRodSwgMSBTZXAgMjAxMSAwMTowMzoxNCArMDgwMAorU3ViamVjdDogW1BBVENIXSByZXBsYWNlIGx5bnggdG8gY3VybCBpbiBhcGFjaGVjdGwgc2NyaXB0CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworU2lnbmVkLW9mZi1ieTogWXVsb25nIFBlaSA8WXVsb25nLnBlaUB3aW5kcml2ZXIuY29tPgorLS0tCisgc3VwcG9ydC9hcGFjaGVjdGwuaW4gfCAgIDE0ICsrKysrKysrKystLS0tCisgMSBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3VwcG9ydC9hcGFjaGVjdGwuaW4gYi9zdXBwb3J0L2FwYWNoZWN0bC5pbgoraW5kZXggZDRkZmYzOC4uMTA5ZWExMyAxMDA2NDQKKy0tLSBhL3N1cHBvcnQvYXBhY2hlY3RsLmluCisrKysgYi9zdXBwb3J0L2FwYWNoZWN0bC5pbgorQEAgLTUxLDExICs1MSwxMSBAQCBmaQorICMgYSBjb21tYW5kIHRoYXQgb3V0cHV0cyBhIGZvcm1hdHRlZCB0ZXh0IHZlcnNpb24gb2YgdGhlIEhUTUwgYXQgdGhlCisgIyB1cmwgZ2l2ZW4gb24gdGhlIGNvbW1hbmQgbGluZS4gIERlc2lnbmVkIGZvciBseW54LCBob3dldmVyIG90aGVyCisgIyBwcm9ncmFtcyBtYXkgd29yay4gIAorLUxZTlg9IkBMWU5YX1BBVEhAIC1kdW1wIgorK0NVUkw9Ii91c3IvYmluL2N1cmwiCisgIworICMgdGhlIFVSTCB0byB5b3VyIHNlcnZlcidzIG1vZF9zdGF0dXMgc3RhdHVzIHBhZ2UuICBJZiB5b3UgZG8gbm90CisgIyBoYXZlIG9uZSwgdGhlbiBzdGF0dXMgYW5kIGZ1bGxzdGF0dXMgd2lsbCBub3Qgd29yay4KKy1TVEFUVVNVUkw9Imh0dHA6Ly9sb2NhbGhvc3Q6QFBPUlRAL3NlcnZlci1zdGF0dXMiCisrU1RBVFVTVVJMPSJodHRwOi8vbG9jYWxob3N0OkBQT1JUQC8iCisgIworICMgU2V0IHRoaXMgdmFyaWFibGUgdG8gYSBjb21tYW5kIHRoYXQgaW5jcmVhc2VzIHRoZSBtYXhpbXVtCisgIyBudW1iZXIgb2YgZmlsZSBkZXNjcmlwdG9ycyBhbGxvd2VkIHBlciBjaGlsZCBwcm9jZXNzLiBUaGlzIGlzCitAQCAtOTEsMTAgKzkxLDE2IEBAIGNvbmZpZ3Rlc3QpCisgICAgIEVSUk9SPSQ/CisgICAgIDs7Cisgc3RhdHVzKQorLSAgICAkTFlOWCAkU1RBVFVTVVJMIHwgYXdrICcgL3Byb2Nlc3MkLyB7IHByaW50OyBleGl0IH0geyBwcmludCB9ICcKKysgICAgJENVUkwgLXMgJFNUQVRVU1VSTCB8IGdyZXAgLW8gIkl0IHdvcmtzISIKKysgICAgaWYgWyAkPyAhPSAwIF0gOyB0aGVuCisrICAgICAgICBlY2hvIFRoZSBodHRwZCBzZXJ2ZXIgZG9lcyBub3Qgd29yayEKKysgICAgZmkKKyAgICAgOzsKKyBmdWxsc3RhdHVzKQorLSAgICAkTFlOWCAkU1RBVFVTVVJMCisrICAgICRDVVJMIC1zICRTVEFUVVNVUkwgfCBncmVwIC1vICJJdCB3b3JrcyEiCisrICAgIGlmIFsgJD8gIT0gMCBdIDsgdGhlbgorKyAgICAgICAgZWNobyBUaGUgaHR0cGQgc2VydmVyIGRvZXMgbm90IHdvcmshCisrICAgIGZpCisgICAgIDs7CisgKikKKyAgICAgJEhUVFBEICRBUkdWCistLSAKKzEuNi40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTIvc2VydmVyLW1ha2VmaWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi9zZXJ2ZXItbWFrZWZpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjEzNDljYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTIvc2VydmVyLW1ha2VmaWxlLnBhdGNoCkBAIC0wLDAgKzEsMTEgQEAKKy0tLSBodHRwLTIuMC41NC9zZXJ2ZXIvTWFrZWZpbGUuaW4tb2xkCTIwMDUtMTItMjAgMTM6MjY6NTYuMDAwMDAwMDAwIC0wNTAwCisrKysgaHR0cC0yLjAuNTQvc2VydmVyL01ha2VmaWxlLmluCTIwMDUtMTItMjAgMTM6Mjc6MjIuMDAwMDAwMDAwIC0wNTAwCitAQCAtMjcsNyArMjcsNyBAQAorIAkkKExJTkspICQoRVhUUkFfTERGTEFHUykgJChnZW5fdGVzdF9jaGFyX09CSkVDVFMpICQoRVhUUkFfTElCUykKKyAKKyB0ZXN0X2NoYXIuaDogZ2VuX3Rlc3RfY2hhcgorLQkuL2dlbl90ZXN0X2NoYXIgPiB0ZXN0X2NoYXIuaAorKwlnZW5fdGVzdF9jaGFyID4gdGVzdF9jaGFyLmgKKyAKKyB1dGlsLmxvOiB0ZXN0X2NoYXIuaAorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMl8yLjQuMjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyXzIuNC4yMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MTE1MWQxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMl8yLjQuMjAuYmIKQEAgLTAsMCArMSwxODEgQEAKK0RFU0NSSVBUSU9OID0gIlRoZSBBcGFjaGUgSFRUUCBTZXJ2ZXIgaXMgYSBwb3dlcmZ1bCwgZWZmaWNpZW50LCBhbmQgXAorZXh0ZW5zaWJsZSB3ZWIgc2VydmVyLiIKK1NVTU1BUlkgPSAiQXBhY2hlIEhUVFAgU2VydmVyIgorSE9NRVBBR0UgPSAiaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvIgorREVQRU5EUyA9ICJsaWJ0b29sLW5hdGl2ZSBhcGFjaGUyLW5hdGl2ZSBvcGVuc3NsIGV4cGF0IHBjcmUgYXByIGFwci11dGlsIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5hcGFjaGUub3JnL2Rpc3QvaHR0cGQvaHR0cGQtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9zZXJ2ZXItbWFrZWZpbGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vaHR0cGQtMi40LjEtY29yZWxpbWl0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2h0dHBkLTIuNC40LWV4cG9ydC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9odHRwZC0yLjQuMS1zZWxpbnV4LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2FwYWNoZS1jb25maWd1cmVfcGVybGJpbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9yZXBsYWNlLWx5bngtdG8tY3VybC1pbi1hcGFjaGVjdGwtc2NyaXB0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2FwYWNoZS1zc2wtbHRtYWluLXJwYXRoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2h0dHBkLTIuNC4zLWZpeC1yYWNlLWlzc3VlLW9mLWRpci1pbnN0YWxsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmlnLWZvci1QQ1JFLWRldGVjdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUtYWxsb3ctdG8tZGlzYWJsZS1zZWxpbnV4LXN1cHBvcnQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vaW5pdCBcCisgICAgICAgICAgIGZpbGU6Ly9hcGFjaGUyLXZvbGF0aWxlLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vYXBhY2hlMi5zZXJ2aWNlIFwKKyAgICAgICAgICAiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWRiZmY1YTJiNTQyZmE1ODg1NDQ1NWJmMWEwYjk0YjgzIgorU1JDX1VSSVttZDVzdW1dID0gIjNmZjRmMDBlZTA1MWNmNWQ1MzA0YjQ3YjFiYzQxOGI4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBlNzZhMzc1ZWQzZGJhYzYzNmY1MGFjMzlkZTk2NmVjZTQ0Mzc1MWZlNGQ2MjM5MmY5YTM2MGExOWQ5NGQwZGEiCisKK1MgPSAiJHtXT1JLRElSfS9odHRwZC0ke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLXJjLmQgcGtnY29uZmlnIHN5c3RlbWQKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImFwYWNoZTIuc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEVfJHtQTn0gPSAiZGlzYWJsZSIKKworU1NUQVRFX1NDQU5fRklMRVMgKz0gImFweHMgY29uZmlnX3ZhcnMubWsgY29uZmlnLm5pY2UiCisKK0NGTEFHU19hcHBlbmQgPSAiIC1EUEFUSF9NQVg9NDA5NiIKK0NGTEFHU19wcmVwZW5kID0gIi1JJHtTVEFHSU5HX0lOQ0RJUn0vb3BlbnNzbCAiCitFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtc3NsIFwKKyAgICAtLXdpdGgtc3NsPSR7U1RBR0lOR19MSUJESVJ9Ly4uIFwKKyAgICAtLXdpdGgtZXhwYXQ9JHtTVEFHSU5HX0xJQkRJUn0vLi4gXAorICAgIC0td2l0aC1hcHI9JHtTVEFHSU5HX0JJTkRJUl9DUk9TU30vYXByLTEtY29uZmlnIFwKKyAgICAtLXdpdGgtYXByLXV0aWw9JHtTVEFHSU5HX0JJTkRJUl9DUk9TU30vYXB1LTEtY29uZmlnIFwKKyAgICAtLWVuYWJsZS1pbmZvIFwKKyAgICAtLWVuYWJsZS1yZXdyaXRlIFwKKyAgICAtLXdpdGgtZGJtPXNkYm0gXAorICAgIC0td2l0aC1iZXJrZWxleS1kYj1ubyBcCisgICAgLS1sb2NhbHN0YXRlZGlyPS92YXIvJHtCUE59IFwKKyAgICAtLXdpdGgtZ2RibT1ubyBcCisgICAgLS13aXRoLW5kYm09bm8gXAorICAgIC0taW5jbHVkZWRpcj0ke2luY2x1ZGVkaXJ9LyR7QlBOfSBcCisgICAgLS1kYXRhZGlyPSR7ZGF0YWRpcn0vJHtCUE59IFwKKyAgICAtLXN5c2NvbmZkaXI9JHtzeXNjb25mZGlyfS8ke0JQTn0gXAorICAgIC0tbGliZXhlY2Rpcj0ke2xpYmRpcn0vJHtCUE59L21vZHVsZXMgXAorICAgIGFwX2N2X3ZvaWRfcHRyX2x0X2xvbmc9bm8gXAorICAgIC0tZW5hYmxlLW1wbXMtc2hhcmVkIFwKKyAgICBhY19jdl9oYXZlX3RocmVhZHNhZmVfcG9sbHNldD1ubyIKKworUEFDS0FHRUNPTkZJRyA/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzZWxpbnV4JywgJ3NlbGludXgnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1tzZWxpbnV4XSA9ICItLWVuYWJsZS1zZWxpbnV4LC0tZGlzYWJsZS1zZWxpbnV4LGxpYnNlbGludXgsbGlic2VsaW51eCIKK1BBQ0tBR0VDT05GSUdbb3BlbmxkYXBdID0gIi0tZW5hYmxlLWxkYXAgLS1lbmFibGUtYXV0aG56LWxkYXAsLS1kaXNhYmxlLWxkYXAgLS1kaXNhYmxlLWF1dGhuei1sZGFwLG9wZW5sZGFwIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBjYXQgJHtXT1JLRElSfS9pbml0IHwgXAorICAgICAgICBzZWQgLWUgJ3MsL3Vzci9zYmluLywke3NiaW5kaXJ9LyxnJyBcCisgICAgICAgICAgICAtZSAncywvdXNyL2Jpbi8sJHtiaW5kaXJ9LyxnJyBcCisgICAgICAgICAgICAtZSAncywvdXNyL2xpYiwke2xpYmRpcn0vLGcnIFwKKyAgICAgICAgICAgIC1lICdzLC9ldGMvLCR7c3lzY29uZmRpcn0vLGcnIFwKKyAgICAgICAgICAgIC1lICdzLC91c3IvLCR7cHJlZml4fS8sZycgPiAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kLyR7QlBOfQorICAgIGNobW9kIDc1NSAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kLyR7QlBOfQorICAgICMgcmVtb3ZlIHRoZSBnb29meSBvcmlnaW5hbCBmaWxlcy4uLgorICAgIHJtIC1yZiAke0R9LyR7c3lzY29uZmRpcn0vJHtCUE59L29yaWdpbmFsCisgICAgIyBFeHBhdCBzaG91bGQgYmUgZm91bmQgaW4gdGhlIHN0YWdpbmcgYXJlYSB2aWEgREVQRU5EUy4uLgorICAgIHJtIC1mICR7RH0vJHtsaWJkaXJ9L2xpYmV4cGF0LioKKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vJHtCUE59L2NvbmYuZAorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vJHtCUE59L21vZHVsZXMuZAorCisgICAgIyBFbnN1cmUgY29uZmlndXJhdGlvbiBmaWxlIHB1bGxzIGluIGNvbmYuZCBhbmQgbW9kdWxlcy5kCisgICAgcHJpbnRmICJcbkluY2x1ZGVPcHRpb25hbCAke3N5c2NvbmZkaXJ9LyR7QlBOfS9jb25mLmQvKi5jb25mIiA+PiAke0R9LyR7c3lzY29uZmRpcn0vJHtCUE59L2h0dHBkLmNvbmYKKyAgICBwcmludGYgIlxuSW5jbHVkZU9wdGlvbmFsICR7c3lzY29uZmRpcn0vJHtCUE59L21vZHVsZXMuZC8qLmNvbmZcblxuIiA+PiAke0R9LyR7c3lzY29uZmRpcn0vJHtCUE59L2h0dHBkLmNvbmYKKyAgICAjIG1hdGNoIHdpdGggdGhhdCBpcyBpbiBpbml0IHNjcmlwdAorICAgIHByaW50ZiAiXG5QaWRGaWxlIC9ydW4vaHR0cGQucGlkIiA+PiAke0R9LyR7c3lzY29uZmRpcn0vJHtCUE59L2h0dHBkLmNvbmYKKyAgICAjIFNldCAnU2VydmVyTmFtZScgdG8gZml4IGVycm9yIG1lc3NhZ2VzIHdoZW4gcmVzdGFydCBhcGFjaGUgc2VydmljZQorICAgIHNlZCAtaSAncy9eI1NlcnZlck5hbWUgd3d3LmV4YW1wbGUuY29tL1NlcnZlck5hbWUgbG9jYWxob3N0LycgJHtEfS8ke3N5c2NvbmZkaXJ9LyR7QlBOfS9odHRwZC5jb25mCisKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbiAKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kLworICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9hcGFjaGUyLXZvbGF0aWxlLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC8KKyAgICBmaQorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2FwYWNoZTIuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIHNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9hcGFjaGUyLnNlcnZpY2UKKyAgICBzZWQgLWkgLWUgJ3MsQEJBU0VfQklORElSQCwke2Jhc2VfYmluZGlyfSxnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9hcGFjaGUyLnNlcnZpY2UKKworICAgIGNob3duIC1SIHJvb3Q6cm9vdCAke0R9Cit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKKyAgICBzZWQgLWkgLWUgJ3MsJHtTVEFHSU5HX0RJUl9IT1NUfSwsZycgXAorICAgICAgICAgICAtZSAncyxBUFVfSU5DTFVERURJUiA9IC4qLEFQVV9JTkNMVURFRElSID0gLGcnIFwKKyAgICAgICAgICAgLWUgJ3MsQVBVX0NPTkZJRyA9IC4qLEFQVV9DT05GSUcgPSAsZycgJHtEfSR7ZGF0YWRpcn0vYXBhY2hlMi9idWlsZC9jb25maWdfdmFycy5taworCisgICAgc2VkIC1pIC1lICdzLCR7U1RBR0lOR19ESVJfSE9TVH0sLGcnIFwKKyAgICAgICAgICAgLWUgJ3MsIi4qL2NvbmZpZ3VyZSIsImNvbmZpZ3VyZSIsZycgJHtEfSR7ZGF0YWRpcn0vYXBhY2hlMi9idWlsZC9jb25maWcubmljZQorfQorCitTWVNST09UX1BSRVBST0NFU1NfRlVOQ1MgKz0gImFwYWNoZV9zeXNyb290X3ByZXByb2Nlc3MiCisKK2FwYWNoZV9zeXNyb290X3ByZXByb2Nlc3MgKCkgeworICAgIGluc3RhbGwgLWQgJHtTWVNST09UX0RFU1RESVJ9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfS8KKyAgICBpbnN0YWxsIC1tIDc1NSAke0R9JHtiaW5kaXJ9L2FweHMgJHtTWVNST09UX0RFU1RESVJ9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfS8KKyAgICBpbnN0YWxsIC1kICR7U1lTUk9PVF9ERVNURElSfSR7c2JpbmRpcn0vCisgICAgaW5zdGFsbCAtbSA3NTUgJHtEfSR7c2JpbmRpcn0vYXBhY2hlY3RsICR7U1lTUk9PVF9ERVNURElSfSR7c2JpbmRpcn0vCisgICAgc2VkIC1pICdzIW15ICRpbnN0YWxsYnVpbGRkaXIgPSAuKiFteSAkaW5zdGFsbGJ1aWxkZGlyID0gIiR7U1RBR0lOR19ESVJfSE9TVH0vJHtkYXRhZGlyfS8ke0JQTn0vYnVpbGQiOyEnICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vYXB4cworICAgIHNlZCAtaSAncyFteSAkbGlidG9vbCA9IC4qIW15ICRsaWJ0b29sID0gIiR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9LyR7VEFSR0VUX1BSRUZJWH1saWJ0b29sIjshJyAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9L2FweHMKKworICAgIHNlZCAtaSAncyFeQVBSX0NPTkZJRyA9IC4qIUFQUl9DT05GSUcgPSAke1NUQUdJTkdfQklORElSX0NST1NTfS9hcHItMS1jb25maWchJyAke1NZU1JPT1RfREVTVERJUn0ke2RhdGFkaXJ9LyR7QlBOfS9idWlsZC9jb25maWdfdmFycy5taworICAgIHNlZCAtaSAncyFeQVBVX0NPTkZJRyA9IC4qIUFQVV9DT05GSUcgPSAke1NUQUdJTkdfQklORElSX0NST1NTfS9hcHUtMS1jb25maWchJyAke1NZU1JPT1RfREVTVERJUn0ke2RhdGFkaXJ9LyR7QlBOfS9idWlsZC9jb25maWdfdmFycy5taworICAgIHNlZCAtaSAncyFeaW5jbHVkZWRpciA9IC4qIWluY2x1ZGVkaXIgPSAke1NUQUdJTkdfSU5DRElSfS9hcGFjaGUyIScgJHtTWVNST09UX0RFU1RESVJ9JHtkYXRhZGlyfS8ke0JQTn0vYnVpbGQvY29uZmlnX3ZhcnMubWsKKyAgICBzZWQgLWkgJ3MhXkNGTEFHUyA9IC1JW14gXSohQ0ZMQUdTID0gLUkke1NUQUdJTkdfSU5DRElSfS9vcGVuc3NsIScgJHtTWVNST09UX0RFU1RESVJ9JHtkYXRhZGlyfS8ke0JQTn0vYnVpbGQvY29uZmlnX3ZhcnMubWsKKyAgICBzZWQgLWkgJ3MhXkVYVFJBX0xERkxBR1MgPSAuKiFFWFRSQV9MREZMQUdTID0gLUwke1NUQUdJTkdfTElCRElSfSEnICR7U1lTUk9PVF9ERVNURElSfSR7ZGF0YWRpcn0vJHtCUE59L2J1aWxkL2NvbmZpZ192YXJzLm1rCisgICAgc2VkIC1pICdzIV5FWFRSQV9JTkNMVURFUyA9IC4qIUVYVFJBX0lOQ0xVREVTID0gLUkkKGluY2x1ZGVkaXIpIC1JLiAtSSR7U1RBR0lOR19JTkNESVJ9IScgJHtTWVNST09UX0RFU1RESVJ9JHtkYXRhZGlyfS8ke0JQTn0vYnVpbGQvY29uZmlnX3ZhcnMubWsKKyAgICBzZWQgLWkgJ3MhLS1zeXNyb290PVteIF0qIS0tc3lzcm9vdD0ke1NUQUdJTkdfRElSX0hPU1R9IScgJHtTWVNST09UX0RFU1RESVJ9JHtkYXRhZGlyfS8ke0JQTn0vYnVpbGQvY29uZmlnX3ZhcnMubWsKK30KKworIworIyBpbXBsaWNhdGlvbnMgLSB1c2VkIGJ5IHVwZGF0ZS1yYy5kIHNjcmlwdHMKKyMKK0lOSVRTQ1JJUFRfTkFNRSA9ICJhcGFjaGUyIgorSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMgOTEgMjAiCitMRUFEX1NPTkFNRSA9ICJsaWJhcHItMS5zby4wIgorCitQQUNLQUdFUyA9ICIke1BOfS1zY3JpcHRzICR7UE59LWRvYyAke1BOfS1kZXYgJHtQTn0tZGJnICR7UE59IgorCitDT05GRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfS8ke0JQTn0vaHR0cGQuY29uZiBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS8ke0JQTn0vbWFnaWMgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vJHtCUE59L21pbWUudHlwZXMgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vaW5pdC5kLyR7QlBOfSAiCisKKyMgd2Ugb3ZlcnJpZGUgaGVyZSByYXRoZXIgdGhhbiBhcHBlbmQgc28gdGhhdCAuc28gbGlua3MgYXJlCisjIGluY2x1ZGVkIGluIHRoZSBydW50aW1lIHBhY2thZ2UgcmF0aGVyIHRoYW4gaGVyZSAoLWRldikKKyMgYW5kIHRvIGdldCBidWlsZCwgaWNvbnMsIGVycm9yIGludG8gdGhlIC1kZXYgcGFja2FnZQorRklMRVNfJHtQTn0tZGV2ID0gIiR7ZGF0YWRpcn0vJHtCUE59L2J1aWxkIFwKKyAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9LyR7QlBOfS9pY29ucyBcCisgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS8ke0JQTn0vZXJyb3IgXAorICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9hcHItY29uZmlnICR7YmluZGlyfS9hcHUtY29uZmlnIFwKKyAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vYXByKi5leHAgXAorICAgICAgICAgICAgICAgICAgICR7aW5jbHVkZWRpcn0vJHtCUE59IFwKKyAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vKi5sYSBcCisgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9LyouYSBcCisgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2FweHMgXAorICAgICAgICAgICAgICAgICIKKworCisjIG1hbnVhbCB0byBtYW51YWwKK0ZJTEVTXyR7UE59LWRvYyArPSAiICR7ZGF0YWRpcn0vJHtCUE59L21hbnVhbCIKKworRklMRVNfJHtQTn0tc2NyaXB0cyArPSAiJHtiaW5kaXJ9L2RibW1hbmFnZSIKKworIworIyBvdmVycmlkZSB0aGlzIHRvbyAtIGhlcmUgaXMgdGhlIGRlZmF1bHQsIGxlc3MgZGF0YWRpcgorIworRklMRVNfJHtQTn0gPSAgIiR7YmluZGlyfSAke3NiaW5kaXJ9ICR7bGliZXhlY2Rpcn0gJHtsaWJkaXJ9L2xpYiouc28uKiAke3N5c2NvbmZkaXJ9IFwKKyAgICAgICAgICAgICAgICAke3NoYXJlZHN0YXRlZGlyfSAke2xvY2Fsc3RhdGVkaXJ9IC9iaW4gL3NiaW4gL2xpYi8qLnNvKiBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9LyR7QlBOfSIKKworIyB3ZSB3YW50IGh0ZG9jcyBhbmQgY2dpLWJpbiB0byBnbyB3aXRoIHRoZSBiaW5hcnkKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9LyR7QlBOfS9odGRvY3MgJHtkYXRhZGlyfS8ke0JQTn0vY2dpLWJpbiIKKworI21ha2Ugc3VyZSB0aGUgbG9uZSAuc28gbGlua3MgYWxzbyBnZXQgd3JhcHBlZCBpbiB0aGUgYmFzZSBwYWNrYWdlCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2xpYiouc28gJHtsaWJkaXJ9L3BrZ2NvbmZpZy8qIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS8ke0JQTn0vbW9kdWxlcy8uZGVidWciCisKK1JERVBFTkRTXyR7UE59ICs9ICJvcGVuc3NsIGxpYmdjYyIKK1JERVBFTkRTXyR7UE59LXNjcmlwdHMgKz0gInBlcmwgJHtQTn0iCitSREVQRU5EU18ke1BOfS1kZXYgPSAicGVybCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2ZpbGVzLzAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmlnLWZvci1QQ1JFLWRldGVjdGlvbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2ZpbGVzLzAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmlnLWZvci1QQ1JFLWRldGVjdGlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MzA5NmRiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvMDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoCkBAIC0wLDAgKzEsNTIgQEAKK0Zyb20gZDg4Mzc3NTZmMmE0OGFkY2ZlNWQ2NDVjMzljZjE2M2Q5NmVhYzc2YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbi5rb29pQGxpbmFyby5vcmc+CitEYXRlOiBUdWUsIDE3IEp1biAyMDE0IDA5OjEwOjU3ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZTogdXNlIHBrZy1jb25maWcgZm9yIFBDUkUgZGV0ZWN0aW9uCisKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbi5rb29pQGxpbmFyby5vcmc+CitVcHN0cmVhbS1TdGF0dXM6IHBlbmRpbmcKKy0tLQorIGNvbmZpZ3VyZS5pbiB8IDI3ICsrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCitpbmRleCA4NjRkN2M3Li5kYTQxMzhlIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmluCisrKysgYi9jb25maWd1cmUuaW4KK0BAIC0yMTUsMjggKzIxNSwxMSBAQCBmaQorIEFDX0FSR19XSVRIKHBjcmUsCisgQVBBQ0hFX0hFTFBfU1RSSU5HKC0td2l0aC1wY3JlPVBBVEgsVXNlIGV4dGVybmFsIFBDUkUgbGlicmFyeSkpCisgCistQUNfUEFUSF9QUk9HKFBDUkVfQ09ORklHLCBwY3JlLWNvbmZpZywgZmFsc2UpCistaWYgdGVzdCAtZCAiJHdpdGhfcGNyZSIgJiYgdGVzdCAteCAiJHdpdGhfcGNyZS9iaW4vcGNyZS1jb25maWciOyB0aGVuCistICAgUENSRV9DT05GSUc9JHdpdGhfcGNyZS9iaW4vcGNyZS1jb25maWcKKy1lbGlmIHRlc3QgLXggIiR3aXRoX3BjcmUiOyB0aGVuCistICAgUENSRV9DT05GSUc9JHdpdGhfcGNyZQorLWZpCistCistaWYgdGVzdCAiJFBDUkVfQ09ORklHIiAhPSAiZmFsc2UiOyB0aGVuCistICBpZiAkUENSRV9DT05GSUcgLS12ZXJzaW9uID4vZGV2L251bGwgMj4mMTsgdGhlbiA6OyBlbHNlCistICAgIEFDX01TR19FUlJPUihbRGlkIG5vdCBmaW5kIHBjcmUtY29uZmlnIHNjcmlwdCBhdCAkUENSRV9DT05GSUddKQorLSAgZmkKKy0gIGNhc2UgYCRQQ1JFX0NPTkZJRyAtLXZlcnNpb25gIGluCistICBbWzEtNV0uKl0pCistICAgIEFDX01TR19FUlJPUihbTmVlZCBhdCBsZWFzdCBwY3JlIHZlcnNpb24gNi4wXSkKKy0gICAgOzsKKy0gIGVzYWMKKy0gIEFDX01TR19OT1RJQ0UoW1VzaW5nIGV4dGVybmFsIFBDUkUgbGlicmFyeSBmcm9tICRQQ1JFX0NPTkZJR10pCistICBBUFJfQUREVE8oUENSRV9JTkNMVURFUywgW2AkUENSRV9DT05GSUcgLS1jZmxhZ3NgXSkKKy0gIEFQUl9BRERUTyhQQ1JFX0xJQlMsIFtgJFBDUkVfQ09ORklHIC0tbGlic2BdKQorLWVsc2UKKy0gIEFDX01TR19FUlJPUihbcGNyZS1jb25maWcgZm9yIGxpYnBjcmUgbm90IGZvdW5kLiBQQ1JFIGlzIHJlcXVpcmVkIGFuZCBhdmFpbGFibGUgZnJvbSBodHRwOi8vcGNyZS5vcmcvXSkKKy1maQorK1BLR19DSEVDS19NT0RVTEVTKFtQQ1JFXSwgW2xpYnBjcmVdLCBbCisrICBBQ19ERUZJTkUoW0hBVkVfUENSRV0sIFsxXSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBQQ1JFIGxpYnJhcnldKQorK10sIFsKKysgIEFDX01TR19FUlJPUihbJFBDUkVfUEtHX0VSUk9SU10pCisrXSkKKyBBUEFDSEVfU1VCU1QoUENSRV9MSUJTKQorIAorIEFDX01TR19OT1RJQ0UoW10pCistLSAKKzEuOS4zCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2ZpbGVzL2FwYWNoZTItdm9sYXRpbGUuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2ZpbGVzL2FwYWNoZTItdm9sYXRpbGUuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZjJjNTg3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvYXBhY2hlMi12b2xhdGlsZS5jb25mCkBAIC0wLDAgKzEsMiBAQAorZCAgL3Zhci9ydW4vYXBhY2hlMiAwNzU1IHJvb3Qgcm9vdCAtCitkICAvdmFyL2xvZy9hcGFjaGUyIDA3NTUgcm9vdCByb290IC0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2ZpbGVzL2FwYWNoZTIuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2ZpbGVzL2FwYWNoZTIuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjU1NDhjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvYXBhY2hlMi5zZXJ2aWNlCkBAIC0wLDAgKzEsMTQgQEAKK1tVbml0XQorRGVzY3JpcHRpb249VGhlIEFwYWNoZSBIVFRQIFNlcnZlcgorQWZ0ZXI9bmV0d29yay50YXJnZXQgcmVtb3RlLWZzLnRhcmdldCBuc3MtbG9va3VwLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9c2ltcGxlCitFbnZpcm9ubWVudD1MQU5HPUMKK0V4ZWNTdGFydD1AU0JJTkRJUkAvaHR0cGQgLURGT1JFR1JPVU5EIC1EIFNTTCAtRCBQSFA1IC1rIHN0YXJ0CitFeGVjU3RvcD1AQkFTRV9CSU5ESVJAL2tpbGwgLVdJTkNIICR7TUFJTlBJRH0KK0tpbGxTaWduYWw9U0lHQ09OVAorUHJpdmF0ZVRtcD10cnVlCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2ZpbGVzL2NvbmZpZ3VyZS1hbGxvdy10by1kaXNhYmxlLXNlbGludXgtc3VwcG9ydC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2ZpbGVzL2NvbmZpZ3VyZS1hbGxvdy10by1kaXNhYmxlLXNlbGludXgtc3VwcG9ydC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YjVjMjk3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvY29uZmlndXJlLWFsbG93LXRvLWRpc2FibGUtc2VsaW51eC1zdXBwb3J0LnBhdGNoCkBAIC0wLDAgKzEsNDAgQEAKK0Zyb20gZDIzZGQzM2UzNzMzNDBmNmZkZGYxMTkwNDgzOWQxYTExODgyNDQwMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFdlbnpvbmcgRmFuIDx3ZW56b25nLmZhbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAxIERlYyAyMDE0IDAyOjA4OjI3IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIGFwYWNoZTI6IGFsbG93IHRvIGRpc2FibGUgc2VsaW51eCBzdXBwb3J0CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBXZW56b25nIEZhbiA8d2Vuem9uZy5mYW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5pbiB8ICAgMTQgKysrKysrKysrKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgoraW5kZXggZGY5NGVlNS4uOGMzYWIyMSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5pbgorKysrIGIvY29uZmlndXJlLmluCitAQCAtNDY2LDEwICs0NjYsMTYgQEAgZ2V0bG9hZGF2ZworIGRubCBjb25maXJtIHRoYXQgYSB2b2lkIHBvaW50ZXIgaXMgbGFyZ2UgZW5vdWdoIHRvIHN0b3JlIGEgbG9uZyBpbnRlZ2VyCisgQVBBQ0hFX0NIRUNLX1ZPSURfUFRSX0xFTgorIAorLUFDX0NIRUNLX0xJQihzZWxpbnV4LCBpc19zZWxpbnV4X2VuYWJsZWQsIFsKKy0gICBBQ19ERUZJTkUoSEFWRV9TRUxJTlVYLCAxLCBbRGVmaW5lZCBpZiBTRUxpbnV4IGlzIHN1cHBvcnRlZF0pCistICAgQVBSX0FERFRPKEFQX0xJQlMsIFstbHNlbGludXhdKQorLV0pCisrIyBTRUxpbnV4IHN1cHBvcnQKKytBQ19BUkdfRU5BQkxFKHNlbGludXgsQVBBQ0hFX0hFTFBfU1RSSU5HKC0tZW5hYmxlLXNlbGludXgsRW5hYmxlIFNFTGludXggc3VwcG9ydCBbZGVmYXVsdD1hdXRvXSksCisrICAgIFtdLFtlbmFibGVfc2VsaW51eD1hdXRvXSkKKysKKytpZiB0ZXN0IHgkZW5hYmxlX3NlbGludXggIT0geG5vOyB0aGVuCisrICAgIEFDX0NIRUNLX0xJQihzZWxpbnV4LCBpc19zZWxpbnV4X2VuYWJsZWQsIFsKKysgICAgICAgIEFDX0RFRklORShIQVZFX1NFTElOVVgsIDEsIFtEZWZpbmVkIGlmIFNFTGludXggaXMgc3VwcG9ydGVkXSkKKysgICAgICAgIEFQUl9BRERUTyhBUF9MSUJTLCBbLWxzZWxpbnV4XSkKKysgICAgXSkKKytmaQorIAorIEFDX0NBQ0hFX0NIRUNLKFtmb3IgZ2V0dGlkKCldLCBhY19jdl9nZXR0aWQsCisgW0FDX1RSWV9SVU4oI2RlZmluZSBfR05VX1NPVVJDRQorLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2ZpbGVzL2h0dHBkLTIuNC4zLWZpeC1yYWNlLWlzc3VlLW9mLWRpci1pbnN0YWxsLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvaHR0cGQtMi40LjMtZml4LXJhY2UtaXNzdWUtb2YtZGlyLWluc3RhbGwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjk0ODc1MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2ZpbGVzL2h0dHBkLTIuNC4zLWZpeC1yYWNlLWlzc3VlLW9mLWRpci1pbnN0YWxsLnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitmaXggZm9sbG93aW5nIHJhY2UgaXNzdWUgd2hlbiBkbyBwYXJhbGxlbCBpbnN0YWxsCit8IG1rZGlyOiBjYW5ub3QgY3JlYXRlIGRpcmVjdG9yeSBgL2hvbWUvbXlwYy93b3Jrc3BhY2UvcG9reS9idWlsZF9wNDA4MGRzX3JlbGVhc2UvdG1wL3dvcmsvcHBjZTUwMG1jLWZzbF9uZXR3b3JraW5nLWxpbnV4L2FwYWNoZTIvMi40LjMtcjEvaW1hZ2UvdXNyL3NoYXJlL2FwYWNoZTInOiBGaWxlIGV4aXN0cworLi4uCit8IG1rZGlyOiBjYW5ub3QgY3JlYXRlIGRpcmVjdG9yeSBgL2hvbWUvbXlwYy93b3Jrc3BhY2UvcG9reS9idWlsZF9wNDA4MGRzX3JlbGVhc2UvdG1wL3dvcmsvcHBjZTUwMG1jLWZzbF9uZXR3b3JraW5nLWxpbnV4L2FwYWNoZTIvMi40LjMtcjEvaW1hZ2UvdXNyL3NoYXJlL2FwYWNoZTInOiBGaWxlIGV4aXN0cworfCBtYWtlWzFdOiAqKiogW2luc3RhbGwtbWFuXSBFcnJvciAxCit8IG1ha2VbMV06ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCisKKy1TaWduZWQtb2ZmLWJ5OiBaaGVuaHVhIEx1byA8emhlbmh1YS5sdW9AZnJlZXNjYWxlLmNvbT4KKy0tLSBodHRwZC0yLjQuMy9idWlsZC9ta2Rpci5zaC5vcmlnCTIwMTMtMDEtMjUgMDM6NDc6MjEuNTY1MjU1NDIwIC0wNjAwCisrKysgaHR0cGQtMi40LjMvYnVpbGQvbWtkaXIuc2gJMjAxMy0wMS0yNSAwMzo0NjoxNy44MzMwNTEyMzAgLTA2MDAKK0BAIC0zOSw3ICszOSw3IEBACisgICAgICAgICBlc2FjCisgICAgICAgICBpZiB0ZXN0ICEgLWQgIiRwYXRoY29tcCI7IHRoZW4KKyAgICAgICAgICAgICBlY2hvICJta2RpciAkcGF0aGNvbXAiIDE+JjIKKy0gICAgICAgICAgICBta2RpciAiJHBhdGhjb21wIiB8fCBlcnJzdGF0dXM9JD8KKysgICAgICAgICAgICBta2RpciAtcCAiJHBhdGhjb21wIiB8fCBlcnJzdGF0dXM9JD8KKyAgICAgICAgIGZpCisgICAgICAgICBwYXRoY29tcD0iJHBhdGhjb21wLyIKKyAgICAgZG9uZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvaW5pdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2ZpbGVzL2luaXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzU4ZDEzMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2ZpbGVzL2luaXQKQEAgLTAsMCArMSwyMzAgQEAKKyMhL2Jpbi9zaAorIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogaHR0cGQKKyMgUmVxdWlyZWQtU3RhcnQ6ICRsb2NhbF9mcyAkcmVtb3RlX2ZzICRuZXR3b3JrICRuYW1lZAorIyBSZXF1aXJlZC1TdG9wOiAkbG9jYWxfZnMgJHJlbW90ZV9mcyAkbmV0d29yaworIyBTaG91bGQtU3RhcnQ6IGRpc3RjYWNoZQorIyBTaG9ydC1EZXNjcmlwdGlvbjogc3RhcnQgYW5kIHN0b3AgQXBhY2hlIEhUVFAgU2VydmVyCisjIERlc2NyaXB0aW9uOiBUaGUgQXBhY2hlIEhUVFAgU2VydmVyIGlzIGFuIGV4dGVuc2libGUgc2VydmVyCisjICBpbXBsZW1lbnRpbmcgdGhlIGN1cnJlbnQgSFRUUCBzdGFuZGFyZHMuCisjIyMgRU5EIElOSVQgSU5GTworCitBUkdTPSItRCBTU0wgLUQgUEhQNSAtayBzdGFydCIKK05BTUU9YXBhY2hlMgorUEFUSD0vYmluOi91c3IvYmluOi9zYmluOi91c3Ivc2JpbgorREFFTU9OPS91c3Ivc2Jpbi9odHRwZAorU1VFWEVDPS91c3IvbGliL2FwYWNoZS9zdWV4ZWMKK1BJREZJTEU9L3J1bi9odHRwZC5waWQKK0NPTkY9L2V0Yy9hcGFjaGUyL2h0dHBkLmNvbmYKK0FQQUNIRUNUTD0vdXNyL3NiaW4vYXBhY2hlY3RsIAorCit0cmFwICIiIDEKK2V4cG9ydCBMQU5HPUMKK2V4cG9ydCBQQVRICisKK3Rlc3QgLWYgJERBRU1PTiB8fCBleGl0IDAKK3Rlc3QgLWYgJEFQQUNIRUNUTCB8fCBleGl0IDAKKworIyBlbnN1cmUgd2UgZG9uJ3QgbGVhayBlbnZpcm9ubWVudCB2YXJzIGludG8gYXBhY2hlY3RsCitBUEFDSEVDVEw9ImVudiAtaSBMQU5HPSR7TEFOR30gUEFUSD0ke1BBVEh9ICRBUEFDSEVDVEwiCisKK2FwYWNoZV9jb25mdGVzdCgpIHsKKyAgICBpZiAkKCRBUEFDSEVDVEwgY29uZmlndGVzdCA+IC9kZXYvbnVsbCAyPiYxICk7IHRoZW4KKyAgICAgICAgcmV0dXJuIDAKKyAgICBlbHNlCisgICAgICAgIHJldHVybiAxCisgICAgZmkKK30KKworYXBhY2hlX3dhaXRfc3RhcnQoKSB7CisgICAgbG9jYWwgU1RBVFVTPSQxCisKKyAgICBpZiBbICRTVEFUVVMgIT0gMCBdIDsgdGhlbgorICAgICAgICByZXR1cm4gJFNUQVRVUworICAgIGZpCisKKyAgICBsb2NhbCBpPTAKKyAgICB3aGlsZSA6IDsgZG8KKyAgICAgICAgICAgIFBJRFRNUD0kKHBpZG9mICREQUVNT04gfCB0ciAnICcgJ1xuJyB8IGdyZXAgLXcgJChjYXQgJFBJREZJTEUpKQorICAgICAgICAgICAgaWYgWyAtbiAiJHtQSURUTVA6LX0iIF0gJiYga2lsbCAtMCAiJHtQSURUTVA6LX0iIDI+IC9kZXYvbnVsbDsgdGhlbgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gJFNUQVRVUworICAgICAgICAgICAgZmkKKworICAgICAgICAgICAgaWYgWyAkaSA9ICIyMCIgXSA7IHRoZW4KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDIKKyAgICAgICAgICAgIGZpCisKKyAgICAgICAgICAgIHNsZWVwIDEKKyAgICAgICAgICAgIGk9JCgoJGkrMSkpCisgICAgZG9uZQorfQorCithcGFjaGVfd2FpdF9zdG9wKCkgeworICAgIGxvY2FsIFNUQVRVUz0kMQorCisgICAgaWYgWyAkU1RBVFVTICE9IDAgXSA7IHRoZW4KKyAgICAgICAgcmV0dXJuICRTVEFUVVMKKyAgICBmaQorCisgICAgUElEVE1QPSQocGlkb2YgJERBRU1PTiB8IHRyICcgJyAnXG4nIHwgZ3JlcCAtdyAkKGNhdCAkUElERklMRSkpCisgICAgaWYgWyAtbiAiJHtQSURUTVA6LX0iIF0gJiYga2lsbCAtMCAiJHtQSURUTVA6LX0iIDI+IC9kZXYvbnVsbDsgdGhlbgorICAgICAgICAgICAgbG9jYWwgaT0wCisgICAgICAgICAgICB3aGlsZSBraWxsIC0wICIke1BJRFRNUDotfSIgMj4gL2Rldi9udWxsOyAgZG8KKyAgICAgICAgICAgICAgICAgICAgaWYgWyAkaSA9ICc2MCcgXTsgdGhlbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUQVRVUz0yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICAgICAgZmkKKyAgICAgICAgICAgICAgICAgICAgc2xlZXAgMQorICAgICAgICAgICAgICAgICAgICBpPSQoKCRpKzEpKQorICAgICAgICAgICAgZG9uZQorICAgICAgICAgICAgcmV0dXJuICRTVEFUVVMKKyAgICBlbHNlCisgICAgICAgIHJldHVybiAkU1RBVFVTCisgICAgZmkKK30KKworIworIyBGdW5jdGlvbiB0aGF0IHN0YXJ0cyB0aGUgZGFlbW9uL3NlcnZpY2UKKyMKK2RvX3N0YXJ0KCkKK3sKKyAgICAjIFJldHVybgorICAgICMgICAwIGlmIGRhZW1vbiBoYXMgYmVlbiBzdGFydGVkCisgICAgIyAgIDEgaWYgZGFlbW9uIHdhcyBhbHJlYWR5IHJ1bm5pbmcKKyAgICAjICAgMiBpZiBkYWVtb24gY291bGQgbm90IGJlIHN0YXJ0ZWQKKworICAgIGlmIFsgLWUgJFBJREZJTEUgXSAmJiBwaWRvZiAkREFFTU9OIHwgdHIgJyAnICdcbicgfCBncmVwIC13ICQoY2F0ICRQSURGSUxFKSA+IC9kZXYvbnVsbCAyPiYxIDsgdGhlbgorICAgICAgICAgICAgcmV0dXJuIDEKKyAgICBmaQorCisgICAgaWYgYXBhY2hlX2NvbmZ0ZXN0IDsgdGhlbgorICAgICAgICAgICAgJEFQQUNIRUNUTCBzdGFydAorICAgICAgICAgICAgYXBhY2hlX3dhaXRfc3RhcnQgJD8KKyAgICAgICAgICAgIHJldHVybiAkPworICAgIGVsc2UKKyAgICAgICAgICAgIHJldHVybiAyCisgICAgZmkKK30KKworIworIyBGdW5jdGlvbiB0aGF0IHN0b3BzIHRoZSBkYWVtb24vc2VydmljZQorIworZG9fc3RvcCgpCit7CisgICAgIyBSZXR1cm4KKyAgICAjICAgMCBpZiBkYWVtb24gaGFzIGJlZW4gc3RvcHBlZAorICAgICMgICAxIGlmIGRhZW1vbiB3YXMgYWxyZWFkeSBzdG9wcGVkCisgICAgIyAgIDIgaWYgZGFlbW9uIGNvdWxkIG5vdCBiZSBzdG9wcGVkCisgICAgIyAgIG90aGVyIGlmIGEgZmFpbHVyZSBvY2N1cnJlZAorCisgICAgICAgIGxvY2FsIEFQX1JFVD0wCisKKyAgICAgICAgaWYgcGlkb2YgJERBRU1PTiA+IC9kZXYvbnVsbCAyPiYxIDsgdGhlbgorICAgICAgICAgICAgICAgIGlmIFsgLWUgJFBJREZJTEUgXSAmJiBwaWRvZiAkREFFTU9OIHwgdHIgJyAnICdcbicgfCBncmVwIC13ICQoY2F0ICRQSURGSUxFKSA+IC9kZXYvbnVsbCAyPiYxIDsgdGhlbgorICAgICAgICAgICAgICAgICAgICAgICAgQVBfUkVUPTIKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICBBUF9SRVQ9MQorICAgICAgICAgICAgICAgIGZpCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIEFQX1JFVD0wCisgICAgICAgIGZpCisKKyAgICAgICAgIyBBUF9SRVQgaXM6CisgICAgICAgICMgMCBpZiBBcGFjaGUgKHdoaWNoZXZlcikgaXMgbm90IHJ1bm5pbmcKKyAgICAgICAgIyAxIGlmIEFwYWNoZSAod2hpY2hldmVyKSBpcyBydW5uaW5nCisgICAgICAgICMgMiBpZiBBcGFjaGUgZnJvbSB0aGUgUElERklMRSBpcyBydW5uaW5nCisKKyAgICAgICAgaWYgWyAkQVBfUkVUID0gMCBdIDsgdGhlbgorICAgICAgICAgICAgICAgIHJldHVybiAxCisgICAgICAgIGZpCisKKyAgICAgICAgaWYgWyAkQVBfUkVUID0gMiBdICYmIGFwYWNoZV9jb25mdGVzdCA7IHRoZW4KKyAgICAgICAgICAgICAgICAkQVBBQ0hFQ1RMIHN0b3AKKyAgICAgICAgICAgICAgICBhcGFjaGVfd2FpdF9zdG9wICQ/CisgICAgICAgICAgICAgICAgcmV0dXJuICQ/CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBpZiBbICRBUF9SRVQgPSAyIF07IHRoZW4KKyAgICAgICAgICAgICAgICAgICAgICAgIGtpbGwgJChwaWRvZiAkREFFTU9OIHwgdHIgJyAnICdcbicgfCBncmVwIC13ICQoY2F0ICRQSURGSUxFKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGFwYWNoZV93YWl0X3N0b3AgJD8KKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAkPworICAgICAgICAgICAgICAgIGVsaWYgWyAkQVBfUkVUID0gMSBdIDsgdGhlbgorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDIKKyAgICAgICAgICAgICAgICBmaQorICAgICAgICBmaQorCit9CisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKyAgICBlY2hvIC1uICJTdGFydGluZyB3ZWIgc2VydmVyOiAkTkFNRSIKKyAgICBkb19zdGFydAorICAgIGNhc2UgJD8gaW4KKyAgICAgICAgMHwxKQorICAgICAgICAgICAgZWNobyAuCisgICAgICAgICAgICBleGl0IDAKKyAgICAgICAgICAgIDs7CisgICAgICAgIDIpCisgICAgICAgICAgICBlY2hvIGZhaWxlZAorICAgICAgICAgICAgZXhpdCAxCisgICAgICAgICAgICA7OworICAgIGVzYWMKKyAgICA7OworCisgIHN0b3ApCisgICAgZWNobyAtbiAiU3RvcHBpbmcgd2ViIHNlcnZlcjogJE5BTUUiCisgICAgZG9fc3RvcAorICAgIGNhc2UgJD8gaW4KKyAgICAgICAgMHwxKQorICAgICAgICAgICAgZWNobyAuCisgICAgICAgICAgICBleGl0IDAKKyAgICAgICAgICAgIDs7CisgICAgICAgIDIpCisgICAgICAgICAgICBlY2hvIGZhaWxlZAorICAgICAgICAgICAgZXhpdCAxCisgICAgICAgICAgICA7OworICAgIGVzYWMKKyAgICA7OworCisgIHJlbG9hZCkKKyAgICBlY2hvIC1uICJSZWxvYWRpbmcgJE5BTUUgY29uZmlndXJhdGlvbiIKKyAgICBraWxsIC1IVVAgYGNhdCAkUElERklMRWAKKyAgICA7OworCisgIHJlbG9hZC1tb2R1bGVzKQorICAgIGVjaG8gLW4gIlJlbG9hZGluZyAkTkFNRSBtb2R1bGVzIgorICAgICRBUEFDSEVDVEwgcmVzdGFydAorICAgIDs7CisKKyAgcmVzdGFydCkKKyAgICBlY2hvICJSZXN0YXJ0aW5nIHdlYiBzZXJ2ZXI6ICROQU1FIgorICAgIGRvX3N0b3AKKyAgICBjYXNlICIkPyIgaW4KKyAgICAgICAgMHwxKQorICAgICAgICAgICAgZG9fc3RhcnQKKyAgICAgICAgICAgIGV4aXQgJD8KKyAgICAgICAgICAgIDs7CisgICAgICAgICopCisgICAgICAgICAgICAjIEZhaWxlZCB0byBzdG9wCisgICAgICAgICAgICBleGl0IDEKKyAgICAgICAgICAgIDs7CisgICAgZXNhYworICAgIDs7CisKKyAgZm9yY2UtcmVsb2FkKQorICAgICQwIHJlbG9hZC1tb2R1bGVzCisgICAgZXhpdCAkPworICAgIDs7CisKKyAgKikKKyAgICBlY2hvICJVc2FnZTogL2V0Yy9pbml0LmQvJE5BTUUge3N0YXJ0fHN0b3B8cmVsb2FkfHJlbG9hZC1tb2R1bGVzfGZvcmNlLXJlbG9hZHxyZXN0YXJ0fSIKKyAgICBleGl0IDEKKyAgICA7OworZXNhYworCitpZiBbICQ/ID0gMCBdOyB0aGVuCisJZWNobyAuCisJZXhpdCAwCitlbHNlCisJZWNobyBmYWlsZWQKKwlleGl0IDEKK2ZpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvY2hlcm9rZWUvY2hlcm9rZWUvY2hlcm9rZWUtaW5zdGFsbC1jb25maWd1cmVkLnB5LW9uY2UucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvY2hlcm9rZWUvY2hlcm9rZWUvY2hlcm9rZWUtaW5zdGFsbC1jb25maWd1cmVkLnB5LW9uY2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzMzNmY3ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9jaGVyb2tlZS9jaGVyb2tlZS9jaGVyb2tlZS1pbnN0YWxsLWNvbmZpZ3VyZWQucHktb25jZS5wYXRjaApAQCAtMCwwICsxLDQwIEBACitGcm9tIDk4YTBmMTlkZjBhMzFkNTY0OWFkODlkMzk1ZmQxYjhkZTU1OTE4MjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFRodSwgMyBBcHIgMjAxNCAyMTozMzoyNSArMDgwMAorU3ViamVjdDogW1BBVENIXSBhZG1pbi9NYWtlZmlsZS5hbTogb25seSBpbnN0YWxsIGNvbmZpZ3VyZWQucHkgb25jZQorCitCb3RoIHRoZSB0d28gcnVsZXMgaW5zdGFsbC1hZG1pbnB5REFUQSBhbmQgaW5zdGFsbC1nZW5lcmF0ZWREQVRBIHdpbGwKK2luc3RhbGwgdGhlIGNvbmZpZ3VyZWQucHkgdG8gdGhlIHNhbWUgbG9jYXRpb24sIHRoZXkgY2FuIHJ1biBwYXJhbGxlbCwKK2FuZCB0aGV5IHVzZSAiaW5zdGFsbCAtbSIsIHdoaWNoIHdvdWxkIG1pZ2h0IGJ1aWxkIGZhaWx1cmVzOgorCisvdXNyL2Jpbi9pbnN0YWxsOiBzZXR0aW5nIHBlcm1pc3Npb25zIGZvciBgL3BhdGgvdG8vY29uZmlndXJlZC5weSc6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKKworVGhpcyBpcyBiZWNhdXNlIHRoZSBmaXJzdCBpbnN0YWxsIGlzIHNldHRpbmcgdGhlIHBlcm1pc3Npb24gd2hpbGUgdGhlCitzZWNvbmQgaW5zdGFsbCBpcyByZW1vdmluZyB0aGUgZmlsZSBhbiByZS1pbnN0YWxsLgorCitPbmx5IGluc3RhbGwgdGhlIGNvbmZpZ3VyZWQucHkgb25jZSB3aWxsIGZpeCB0aGUgcHJvYmxlbSwgSSB0aGluayB0aGF0Cit0aGVyZSBpcyBubyBzaWRlIGVmZmVjdCBzaW5jZSBpdCBpbnN0YWxsZWQgdGhlIHNhbWUgZmlsZSB0byB0aGUgc2FtZQorbG9jYXRpb24gdHdpY2UgaW4gdGhlIHBhc3QuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIGFkbWluL01ha2VmaWxlLmFtIHwgMSAtCisgMSBmaWxlIGNoYW5nZWQsIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2FkbWluL01ha2VmaWxlLmFtIGIvYWRtaW4vTWFrZWZpbGUuYW0KK2luZGV4IGNlNTkzN2IuLjZmOTY5MzQgMTAwNjQ0CistLS0gYS9hZG1pbi9NYWtlZmlsZS5hbQorKysrIGIvYWRtaW4vTWFrZWZpbGUuYW0KK0BAIC03Myw3ICs3Myw2IEBAIFN5c3RlbVN0YXRzV2lkZ2V0cy5weSBcCisgV2l6YXJkLnB5IFwKKyBYTUxTZXJ2ZXJEaWdlc3QucHkgXAorIGNvbmZpZ192ZXJzaW9uLnB5IFwKKy1jb25maWd1cmVkLnB5IFwKKyBjb25zdHMucHkgXAorIHV0aWwucHkgXAorIHBvcGVuLnB5IFwKKy0tIAorMS44LjIuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvY2hlcm9rZWUvY2hlcm9rZWUvY2hlcm9rZWUuaW5pdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9jaGVyb2tlZS9jaGVyb2tlZS9jaGVyb2tlZS5pbml0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzNjAzYjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvY2hlcm9rZWUvY2hlcm9rZWUvY2hlcm9rZWUuaW5pdApAQCAtMCwwICsxLDMyIEBACisjIS9iaW4vc2gKK0RBRU1PTj0vdXNyL3NiaW4vY2hlcm9rZWUKK0NPTkZJRz0vZXRjL2NoZXJva2VlL2NoZXJva2VlLmNvbmYKK1BJREZJTEU9L3Zhci9ydW4vY2hlcm9rZWUucGlkCitOQU1FPSJjaGVyb2tlZSIKK0RFU0M9IkNoZXJva2VlIGh0dHAgc2VydmVyIgorCit0ZXN0IC1yIC9ldGMvZGVmYXVsdC9jaGVyb2tlZSAmJiAuIC9ldGMvZGVmYXVsdC9jaGVyb2tlZQordGVzdCAteCAiJERBRU1PTiIgfHwgZXhpdCAwCit0ZXN0ICEgLXIgIiRDT05GSUciICYmIGV4aXQgMAorICAgICAgICAKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKyAgICBlY2hvICJTdGFydGluZyAkREVTQzogIgorICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tb2tub2RvIC1TIC14ICREQUVNT04gLS0gLWQgLUMgJENPTkZJRworICAgIDs7CisKKyAgc3RvcCkKKyAgICBlY2hvICJTdG9wcGluZyAkREVTQzoiCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLUsgLXAgJFBJREZJTEUKKyAgICA7OworCisgIHJlc3RhcnQpCisgICAgJDAgc3RvcCA+L2Rldi9udWxsIDI+JjEKKyAgICAkMCBzdGFydAorICAgIDs7CisKKyAgKikKKyAgICBlY2hvICJVc2FnZTogJDAge3N0YXJ0fHN0b3B8cmVzdGFydH0iCisgICAgZXhpdCAwCisgICAgOzsKK2VzYWMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9jaGVyb2tlZS9jaGVyb2tlZS9jaGVyb2tlZS5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2NoZXJva2VlL2NoZXJva2VlL2NoZXJva2VlLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTJkNzAzMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9jaGVyb2tlZS9jaGVyb2tlZS9jaGVyb2tlZS5zZXJ2aWNlCkBAIC0wLDAgKzEsMTAgQEAKK1tVbml0XQorRGVzY3JpcHRpb249Q2hlcm9rZWUgd2ViIHNlcnZlcgorQWZ0ZXI9c3lzbG9nLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworRXhlY1N0YXJ0PS91c3Ivc2Jpbi9jaGVyb2tlZSAtZCAtQyAvZXRjL2NoZXJva2VlL2NoZXJva2VlLmNvbmYKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2NoZXJva2VlL2NoZXJva2VlXzEuMi45OC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9jaGVyb2tlZS9jaGVyb2tlZV8xLjIuOTguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTI4N2VhNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9jaGVyb2tlZS9jaGVyb2tlZV8xLjIuOTguYmIKQEAgLTAsMCArMSw2OCBAQAorU1VNTUFSWSA9ICJDaGVyb2tlZSBXZWIgU2VydmVyIGZhc3QgYW5kIHNlY3VyZSIKK1NVTU1BUllfY2dldCA9ICJTbWFsbCBkb3dubG9hZGVyIGJhc2VkIGluIHRoZSBDaGVyb2tlZSBjbGllbnQgbGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuY2hlcm9rZWUtcHJvamVjdC5jb20vIgorU0VDVElPTiA9ICJuZXR3b3JrIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitQUiA9ICJyOSIKKworREVQRU5EUyA9ICJsaWJwY3JlIG9wZW5zc2wgbXlzcWw1ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ2xpYnBhbScsICcnLCBkKX0iCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5jaGVyb2tlZS1wcm9qZWN0LmRlL21pcnJvcnMvY2hlcm9rZWUvMS4yLyR7UFZ9L2NoZXJva2VlLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9jaGVyb2tlZS5pbml0IFwKKyAgICAgICAgICAgZmlsZTovL2NoZXJva2VlLnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vY2hlcm9rZWUtaW5zdGFsbC1jb25maWd1cmVkLnB5LW9uY2UucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjIxYjAxZTdkNDVjMGU4MmVjYzBjNDI1N2E5YzI3ZmViIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA0MmI1Njg3YjFhM2RiM2NhODE4MTY3NTQ4Y2U1ZDMyYzM1ZTIyN2M2NjQwNzMyZGNiNjIyYTZmNGEwNzhiN2QiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBiaW5jb25maWcgdXBkYXRlLXJjLmQgc3lzdGVtZAorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tmZm1wZWddID0gIi0td2l0aC1mZm1wZWcsLS13aXRob3V0LWZmbXBlZyxsaWJhdiIKK1BBQ0tBR0VDT05GSUdbbGRhcF0gPSAiLS13aXRoLWxkYXAsLS13aXRob3V0LWxkYXAsb3BlbmxkYXAiCitQQUNLQUdFQ09ORklHW2dlb2lwXSA9ICItLXdpdGgtZ2VvaXAsLS13aXRob3V0LWdlb2lwLGdlb2lwIgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXN0YXRpYyBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLW5scyBcCisgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICctLWVuYWJsZS1wYW0nLCAnLS1kaXNhYmxlLXBhbScsIGQpfSBcCisgICAgICAgICAgICAgICAtLXdpdGgtd3d3cm9vdD0ke2xvY2Fsc3RhdGVkaXJ9L3d3dy9jaGVyb2tlZSBcCisiCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSA3NTUgJHtXT1JLRElSfS9jaGVyb2tlZS5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9jaGVyb2tlZQorCisgICAgIyBjbGVhbiB1cCAubGEgZmlsZXMgZm9yIHBsdWdpbnMKKyAgICBybSAtZiAke0R9JHtsaWJkaXJ9L2NoZXJva2VlLyoubGEKKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9jaGVyb2tlZS5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgcm1kaXIgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biIKKyAgICBybWRpciAtLWlnbm9yZS1mYWlsLW9uLW5vbi1lbXB0eSAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0iCit9CisKKyMgUHV0IC1kZXYgbmVhciB0aGUgZnJvbnQgc28gd2UgY2FuIG1vdmUgdGhlIC5sYSBmaWxlcyBpbnRvIGl0IHdpdGggYSB3aWxkY2FyZAorUEFDS0FHRVMgPSsgImxpYmNoZXJva2VlLXNlcnZlciBsaWJjaGVyb2tlZS1jbGllbnQgbGliY2hlcm9rZWUtYmFzZSBjZ2V0IgorCitGSUxFU19jZ2V0ID0gIiR7YmluZGlyfS9jZ2V0IgorRklMRVNfbGliY2hlcm9rZWUtc2VydmVyID0gIiR7bGliZGlyfS9saWJjaGVyb2tlZS1zZXJ2ZXIke1NPTElCU30iCitGSUxFU19saWJjaGVyb2tlZS1jbGllbnQgPSAiJHtsaWJkaXJ9L2xpYmNoZXJva2VlLWNsaWVudCR7U09MSUJTfSIKK0ZJTEVTX2xpYmNoZXJva2VlLWJhc2UgPSAiJHtsaWJkaXJ9L2xpYmNoZXJva2VlLWJhc2Uke1NPTElCU30iCisKKyMgUGFjayB0aGUgaHRkb2NzCitGSUxFU18ke1BOfSArPSAiJHtsb2NhbHN0YXRlZGlyfS93d3cvY2hlcm9rZWUiCisKK0NPTkZGSUxFU18ke1BOfSA9ICIgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vY2hlcm9rZWUvY2hlcm9rZWUuY29uZiBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvY2hlcm9rZWUgXAorIgorCitJTklUU0NSSVBUX05BTUUgPSAiY2hlcm9rZWUiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyA5MSA5MSIKKworUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJjaGVyb2tlZS5zZXJ2aWNlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2hpYXdhdGhhL2ZpbGVzL2hpYXdhdGhhLWluaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvaGlhd2F0aGEvZmlsZXMvaGlhd2F0aGEtaW5pdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40N2ZjMDg3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2hpYXdhdGhhL2ZpbGVzL2hpYXdhdGhhLWluaXQKQEAgLTAsMCArMSw0NCBAQAorIyEvYmluL3NoCisKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6ICAgICAgICAgIGhpYXdhdGhhIGh0dHBkIGh0dHBkLWNnaQorIyBSZXF1aXJlZC1TdGFydDogICAgJHN5c2xvZyAkbmV0d29yayAkcmVtb3RlX2ZzCisjIFJlcXVpcmVkLVN0b3A6ICAgICAkc3lzbG9nICRuZXR3b3JrICRyZW1vdGVfZnMKKyMgRGVmYXVsdC1TdGFydDogICAgIDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAgICAgIDAgMSA2CisjIFNob3J0LURlc2NyaXB0aW9uOiBIaWF3YXRoYSB3ZWJzZXJ2ZXIKKyMgRGVzY3JpcHRpb246ICAgICAgIEhpYXdhdGhhLCBhIHNlY3VyZSBhbmQgYWR2YW5jZWQgd2Vic2VydmVyLgorIyMjIEVORCBJTklUIElORk8KKworUEFUSD0vc2JpbjovYmluOi91c3Ivc2JpbjovdXNyL2JpbgorREFFTU9OPXNlZF9zYmluX3BhdGgvaGlhd2F0aGEKK05BTUU9aGlhd2F0aGEKK0RFU0M9IkhpYXdhdGhhIFdlYiBTZXJ2ZXIiCitPUFRTPSIiCisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKwllY2hvIC1uICJTdGFydGluZyAkREVTQzogIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLXggIiREQUVNT04iIC0tICRPUFRTCisJZWNobyAiJE5BTUUuIgorCTs7CisgIHN0b3ApCisJZWNobyAtbiAiU3RvcHBpbmcgJERFU0M6ICIKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLXggIiREQUVNT04iCisJZWNobyAiJE5BTUUuIgorCTs7CisgIHJlc3RhcnR8Zm9yY2UtcmVsb2FkKQorCWVjaG8gLW4gIlJlc3RhcnRpbmcgJERFU0M6ICIKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLXggIiREQUVNT04iCisJc2xlZXAgMQorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLXggIiREQUVNT04iIC0tICRPUFRTCisJZWNobyAiJE5BTUUuIgorCTs7CisgICopCisJTj0vZXRjL2luaXQuZC8kTkFNRQorCWVjaG8gIlVzYWdlOiAkTiB7c3RhcnR8c3RvcHxyZXN0YXJ0fGZvcmNlLXJlbG9hZH0iID4mMgorCWV4aXQgMQorCTs7Citlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2hpYXdhdGhhL2ZpbGVzL2hpYXdhdGhhLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvaGlhd2F0aGEvZmlsZXMvaGlhd2F0aGEuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNmNiOGQwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2hpYXdhdGhhL2ZpbGVzL2hpYXdhdGhhLnNlcnZpY2UKQEAgLTAsMCArMSwxNiBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1IaWF3YXRoYSBXZWIgU2VydmVyCitBZnRlcj1uZXR3b3JrLnRhcmdldCByZW1vdGUtZnMudGFyZ2V0IG5zcy1sb29rdXAudGFyZ2V0CisKK1tTZXJ2aWNlXQorVHlwZT1zaW1wbGUKK1N5c2xvZ0lkZW50aWZpZXI9aGlhd2F0aGEKK0V4ZWNTdGFydFByZT0vdXNyL3NiaW4vaGlhd2F0aGEgLWsgOyAvdXNyL3NiaW4vd2lnd2FtCitFeGVjU3RhcnQ9IC91c3Ivc2Jpbi9oaWF3YXRoYSAtZAorVGltZW91dFNlYz0xMAorIyhkb2Vzbid0IGxpa2UgdGhpcyBzZXR0aW5nLiBDYW4ndCBmaW5kIGZpbGVzKSBQcml2YXRlVG1wPXRydWUKK0xpbWl0Tk9GSUxFPWluZmluaXR5CitDYXBhYmlsaXR5Qm91bmRpbmdTZXQ9Q0FQX05FVF9CSU5EX1NFUlZJQ0UgQ0FQX0NIT1dOIENBUF9EQUNfT1ZFUlJJREUgQ0FQX0ZPV05FUiBDQVBfRlNFVElEIENBUF9TRVRHSUQgQ0FQX1NFVFVJRCAKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2hpYXdhdGhhL2hpYXdhdGhhXzkuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9oaWF3YXRoYS9oaWF3YXRoYV85LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzA2MjE3NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9oaWF3YXRoYS9oaWF3YXRoYV85LjIuYmIKQEAgLTAsMCArMSw2NSBAQAorU1VNTUFSWSA9ICJMaWdodHdlaWdodCBzZWN1cmUgd2ViIHNlcnZlciIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuaGlhd2F0aGEtd2Vic2VydmVyLm9yZyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKK0RFUEVORFMgPSAibGlieG1sMiBsaWJ4c2x0IgorCitTRUNUSU9OID0gIm5ldCIKKworU1JDX1VSSSA9ICJodHRwOi8vaGlhd2F0aGEtd2Vic2VydmVyLm9yZy9maWxlcy8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vaGlhd2F0aGEtaW5pdCBcCisgICAgICAgICAgIGZpbGU6Ly9oaWF3YXRoYS5zZXJ2aWNlICIKKworU1JDX1VSSVttZDVzdW1dID0gImE3N2YwNDQ2MzQ4ODRjNGNjNWQyMWRhYjQ0ZTgyMmEzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVkOWNkZWM1MWM2MThiYjNlZmFiNzQ3MDMwZTU5M2Q5YmQ0OWRmYWYzMjM2MjU0YzhlMGNiNjA3MTU3MTZkYmYiCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJoaWF3YXRoYSIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIDcwIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiaGlhd2F0aGEuc2VydmljZSIKKworaW5oZXJpdCBjbWFrZSB1cGRhdGUtcmMuZCBzeXN0ZW1kCisKK0VYVFJBX09FQ01BS0UgPSAiIC1ERU5BQkxFX0lQVjY9T0ZGIFwKKyAgICAgICAgICAgICAgICAgIC1ERU5BQkxFX0NBQ0hFPU9GRiBcCisgICAgICAgICAgICAgICAgICAtREVOQUJMRV9ERUJVRz1PRkYgXAorICAgICAgICAgICAgICAgICAgLURFTkFCTEVfU1NMPU9GRiBcCisgICAgICAgICAgICAgICAgICAtREVOQUJMRV9UT09MS0lUPU9GRiBcCisgICAgICAgICAgICAgICAgICAtREVOQUJMRV9DSFJPT1Q9T0ZGIFwKKyAgICAgICAgICAgICAgICAgIC1ERU5BQkxFX1hTTFQ9T04gXAorICAgICAgICAgICAgICAgICAgLURFTkFCTEVfVE9NQUhBV0s9T0ZGIFwKKyAgICAgICAgICAgICAgICAgIC1EQ01BS0VfSU5TVEFMTF9NQU5ESVI9JHttYW5kaXJ9IFwKKyAgICAgICAgICAgICAgICAgIC1EQ01BS0VfSU5TVEFMTF9CSU5ESVI9JHtiaW5kaXJ9IFwKKyAgICAgICAgICAgICAgICAgIC1EQ01BS0VfSU5TVEFMTF9TQklORElSPSR7c2JpbmRpcn0gXAorICAgICAgICAgICAgICAgICAgLURDTUFLRV9JTlNUQUxMX1NZU0NPTkZESVI9JHtzeXNjb25mZGlyfSBcCisgICAgICAgICAgICAgICAgICAtRENNQUtFX0lOU1RBTExfTElCRElSPSR7bGliZGlyfSBcCisgICAgICAgICAgICAgICAgICAtRExPR19ESVI9L3Zhci9sb2cvaGlhd2F0aGEgXAorICAgICAgICAgICAgICAgICAgLURQSURfRElSPS92YXIvcnVuIFwKKyAgICAgICAgICAgICAgICAgIC1EV0VCUk9PVF9ESVI9L3Zhci93d3cvaGlhd2F0aGEgXAorICAgICAgICAgICAgICAgICAgLURXT1JLX0RJUj0vdmFyL2xpYi9oaWF3YXRoYSAiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgQ29weSBvdmVyIGluaXQgc2NyaXB0IGFuZCBzZWQgaW4gdGhlIGNvcnJlY3Qgc2JpbiBwYXRoCisgICAgc2VkIC1pICdzLHNlZF9zYmluX3BhdGgsJHtzYmluZGlyfSwnICR7V09SS0RJUn0vaGlhd2F0aGEtaW5pdAorICAgIG1rZGlyIC1wICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2hpYXdhdGhhLWluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2hpYXdhdGhhCisKKyAgICAjIGNvbmZpZ3VyZSBwaHAtZmNnaSB0byBoYXZlIGEgd29ya2luZyBjb25maWd1cmF0aW9uCisgICAgIyBieSBkZWZhdWx0IGlmIHBocCBpcyBpbnN0YWxsZWQKKyAgICBlY2hvICJTZXJ2ZXIgPSAke2JpbmRpcn0vcGhwLWNnaSA7IDIgOyAxMjcuMC4wLjE6MjAwNSA7IG5vYm9keTpub2JvZHkgOyAke3N5c2NvbmZkaXJ9L3BocC9oaWF3YXRoYS1waHA1L3BocC5pbmkiID4+ICR7RH0ke3N5c2NvbmZkaXJ9L2hpYXdhdGhhL3BocC1mY2dpLmNvbmYKKworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICAgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9oaWF3YXRoYS5zZXJ2aWNlICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGZpCisKKyAgICBybWRpciAtLWlnbm9yZS1mYWlsLW9uLW5vbi1lbXB0eSAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0iCit9CisKK0NPTkZGSUxFU18ke1BOfSA9ICIgXAorICAgICR7c3lzY29uZmRpcn0vaGlhd2F0aGEvY2dpLXdyYXBwZXIuY29uZiBcCisgICAgJHtzeXNjb25mZGlyfS9oaWF3YXRoYS9oaWF3YXRoYS5jb25mIFwKKyAgICAke3N5c2NvbmZkaXJ9L2hpYXdhdGhhL2luZGV4LnhzbHQgXAorICAgICR7c3lzY29uZmRpcn0vaGlhd2F0aGEvbWltZXR5cGUuY29uZiBcCisgICAgJHtzeXNjb25mZGlyfS9oaWF3YXRoYS9waHAtZmNnaS5jb25mIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9tb25rZXkvZmlsZXMvbW9ua2V5LmluaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbW9ua2V5L2ZpbGVzL21vbmtleS5pbml0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwYjIxMTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbW9ua2V5L2ZpbGVzL21vbmtleS5pbml0CkBAIC0wLDAgKzEsMzQgQEAKKyMhL2Jpbi9zaAorCitQQVRIPS9zYmluOi9iaW46L3Vzci9zYmluOi91c3IvYmluCitEQUVNT049L3Vzci9iaW4vbW9ua2V5CitOQU1FPW1vbmtleQorREVTQz0iTW9ua2V5IEhUVFAgU2VydmVyIgorT1BUUz0iLS1kYWVtb24iCisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKwllY2hvIC1uICJTdGFydGluZyAkREVTQzogIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLXggIiREQUVNT04iIC0tICRPUFRTCisJZWNobyAiJE5BTUUuIgorCTs7CisgIHN0b3ApCisJZWNobyAtbiAiU3RvcHBpbmcgJERFU0M6ICIKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLXggIiREQUVNT04iCisJZWNobyAiJE5BTUUuIgorCTs7CisgIHJlc3RhcnR8Zm9yY2UtcmVsb2FkKQorCWVjaG8gLW4gIlJlc3RhcnRpbmcgJERFU0M6ICIKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLXggIiREQUVNT04iCisJc2xlZXAgMQorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLXggIiREQUVNT04iIC0tICRPUFRTCisJZWNobyAiJE5BTUUuIgorCTs7CisgICopCisJTj0vZXRjL2luaXQuZC8kTkFNRQorCWVjaG8gIlVzYWdlOiAkTiB7c3RhcnR8c3RvcHxyZXN0YXJ0fGZvcmNlLXJlbG9hZH0iID4mMgorCWV4aXQgMQorCTs7Citlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL21vbmtleS9maWxlcy9tb25rZXkuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9tb25rZXkvZmlsZXMvbW9ua2V5LnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjlhYTU3ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9tb25rZXkvZmlsZXMvbW9ua2V5LnNlcnZpY2UKQEAgLTAsMCArMSwxMiBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1Nb25rZXkgSFRUUCBTZXJ2ZXIKK0FmdGVyPW5ldHdvcmsudGFyZ2V0IHJlbW90ZS1mcy50YXJnZXQKKworW1NlcnZpY2VdCitUeXBlPWZvcmtpbmcKK0V4ZWNTdGFydD0vdXNyL2Jpbi9tb25rZXkgLS1kYWVtb24KK1BJREZpbGU9L3Zhci9ydW4vbW9ua2V5LnBpZC4yMDAxCitUaW1lb3V0U2VjPTEwCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9tb25rZXkvbW9ua2V5XzEuNS42LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL21vbmtleS9tb25rZXlfMS41LjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmU4ZWQzNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9tb25rZXkvbW9ua2V5XzEuNS42LmJiCkBAIC0wLDAgKzEsNjUgQEAKK1NVTU1BUlkgPSAiRmFzdCBhbmQgTGlnaHR3ZWlnaHQgSFRUUCBTZXJ2ZXIgZm9yIExpbnV4IgorSE9NRVBBR0UgPSAiaHR0cDovL21vbmtleS1wcm9qZWN0LmNvbSIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL21vbmtleS9tb25rZXkvaXNzdWVzIgorCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0yZWU0MTExMmE0NGZlNzAxNGRjZTMzZTI2NDY4YmE5MyIKKworU0VDVElPTiA9ICJuZXQiCisKK1NSQ19VUkkgPSAiaHR0cDovL21vbmtleS1wcm9qZWN0LmNvbS9yZWxlYXNlcy8xLjUvbW9ua2V5LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9tb25rZXkuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9tb25rZXkuaW5pdCIKKworU1JDX1VSSVttZDVzdW1dID0gIjk2OTllNGM5ZWE2Y2U2Yjk4OTkwN2MyNTJhZTgwMjU0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdjM2Q4NDUzMDZhYTc0ZWU2ZWZmZDdhYjYxNjlkMTZhYzRlNjQ1MGU1NjQ5NTRkMGQwYmFhMmQxZTliZTFhMjIiCisKK0VYVFJBX09FQ09ORiA9ICItLXBsdWdkaXI9JHtsaWJkaXJ9L21vbmtleS8gXAorICAgICAgICAgICAgICAgIC0tbG9nZGlyPSR7bG9jYWxzdGF0ZWRpcn0vbG9nL21vbmtleS8gXAorICAgICAgICAgICAgICAgIC0tcGlkZmlsZT0ke2xvY2Fsc3RhdGVkaXJ9L3J1bi9tb25rZXkucGlkIFwKKyAgICAgICAgICAgICAgICAtLWRlZmF1bHQtdXNlcj13d3ctZGF0YSBcCisgICAgICAgICAgICAgICAgLS1kYXRhZGlyPSR7bG9jYWxzdGF0ZWRpcn0vd3d3L21vbmtleS8gXAorICAgICAgICAgICAgICAgIC0tc3lzY29uZmRpcj0ke3N5c2NvbmZkaXJ9L21vbmtleS8gXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLXBsdWdpbnM9KiBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXBsdWdpbnM9bWJlZHRscyBcCisgICAgICAgICAgICAgICAgLS1kZWJ1ZyBcCisgICAgICAgICAgICAgICAgLS1tYWxsb2MtbGliYyIKK0RJU0FCTEVfU1RBVElDID0gIiIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZyB1cGRhdGUtcmMuZCBzeXN0ZW1kCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJtb25rZXkiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyA3MCIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIm1vbmtleS5zZXJ2aWNlIgorCitGSUxFU18ke1BOfSArPSAiJHtsb2NhbHN0YXRlZGlyfS93d3cvbW9ua2V5LyIKKworQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vbW9ua2V5L21vbmtleS5jb25mIFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L21vbmtleS9zaXRlcy9kZWZhdWx0IFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L21vbmtleS9tb25rZXkubWltZSBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9tb25rZXkvcGx1Z2lucy5sb2FkIFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L21vbmtleS9wbHVnaW5zL3Byb3h5X3JldmVyc2UvcHJveHlfcmV2ZXJzZS5jb25mIFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L21vbmtleS9wbHVnaW5zL21hbmRyaWwvbWFuZHJpbC5jb25mIFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L21vbmtleS9wbHVnaW5zL2Zhc3RjZ2kvZmFzdGNnaS5jb25mIFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L21vbmtleS9wbHVnaW5zL2xvZ2dlci9sb2dnZXIuY29uZiBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9tb25rZXkvcGx1Z2lucy9jZ2kvY2dpLmNvbmYgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbW9ua2V5L3BsdWdpbnMvY2hlZXRhaC9jaGVldGFoLmNvbmYgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbW9ua2V5L3BsdWdpbnMvZGlybGlzdGluZy9kaXJodG1sLmNvbmYgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbW9ua2V5L3BsdWdpbnMvZGlybGlzdGluZy90aGVtZXMvZ3VpbmVvL2hlYWRlci50aGVtZSBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9tb25rZXkvcGx1Z2lucy9kaXJsaXN0aW5nL3RoZW1lcy9ndWluZW8vZm9vdGVyLnRoZW1lIFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L21vbmtleS9wbHVnaW5zL2Rpcmxpc3RpbmcvdGhlbWVzL2d1aW5lby9lbnRyeS50aGVtZSBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9tb25rZXkvcGx1Z2lucy9hdXRoL1JFQURNRSBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9tb25rZXkvcGx1Z2lucy9hdXRoL21vbmtleS51c2VycyBcCisgICAgICAgICAgICAgICAgICAgIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKworICAgIG1rZGlyIC1wICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L21vbmtleS5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9tb25rZXkKKworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L21vbmtleS5zZXJ2aWNlICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGZpCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvbmdpbngtY3Jvc3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvbmdpbngtY3Jvc3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDY3OTJiYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9maWxlcy9uZ2lueC1jcm9zcy5wYXRjaApAQCAtMCwwICsxLDIxOCBAQAorV2UgZG8gbm90IGhhdmUgY2FwYWJpbGl0eSB0byBydW4gYmluYXJpZXMgd2hlbiBjcm9zcyBjb21waWxpbmcKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKKworZGlmZiAtdXJhTiBuZ2lueC0xLjAuMTEub3JpZy9hdXRvL2ZlYXR1cmUgbmdpbngtMS4wLjExL2F1dG8vZmVhdHVyZQorLS0tIG5naW54LTEuMC4xMS5vcmlnL2F1dG8vZmVhdHVyZQkyMDExLTA1LTExIDA2OjUwOjE5LjAwMDAwMDAwMCAtMDUwMAorKysrIG5naW54LTEuMC4xMS9hdXRvL2ZlYXR1cmUJMjAxMS0xMi0yNyAxMzo1Njo0Mi4zMjMzNzAwNDAgLTA2MDAKK0BAIC00OCwxMiArNDgsMjAgQEAKKyAKKyBpZiBbIC14ICROR1hfQVVUT1RFU1QgXTsgdGhlbgorIAorKyAgICBpZiBbICIuJE5HWF9DUk9TU19DT01QSUxFIiA9ICIueWVzIiBdOyB0aGVuCisrICAgICAgICBOR1hfQVVUT1RFU1RfRVhFQz0idHJ1ZSIKKysJTkdYX0ZPVU5EX01TRz0iIChub3QgdGVzdGVkLCBjcm9zcyBjb21waWxpbmcpIgorKyAgICBlbHNlCisrICAgICAgICBOR1hfQVVUT1RFU1RfRVhFQz0iJE5HWF9BVVRPVEVTVCIKKysJTkdYX0ZPVU5EX01TRz0iIgorKyAgICBmaQorKworICAgICBjYXNlICIkbmd4X2ZlYXR1cmVfcnVuIiBpbgorIAorICAgICAgICAgeWVzKQorICAgICAgICAgICAgICMgL2Jpbi9zaCBpcyB1c2VkIHRvIGludGVyY2VwdCAiS2lsbGVkIiBvciAiQWJvcnQgdHJhcCIgbWVzc2FnZXMKKy0gICAgICAgICAgICBpZiAvYmluL3NoIC1jICROR1hfQVVUT1RFU1QgPj4gJE5HWF9BVVRPQ09ORl9FUlIgMj4mMTsgdGhlbgorLSAgICAgICAgICAgICAgICBlY2hvICIgZm91bmQiCisrICAgICAgICAgICAgaWYgL2Jpbi9zaCAtYyAkTkdYX0FVVE9URVNUX0VYRUMgPj4gJE5HWF9BVVRPQ09ORl9FUlIgMj4mMTsgdGhlbgorKyAgICAgICAgICAgICAgICBlY2hvICIgZm91bmQkTkdYX0ZPVU5EX01TRyIKKyAgICAgICAgICAgICAgICAgbmd4X2ZvdW5kPXllcworIAorICAgICAgICAgICAgICAgICBpZiB0ZXN0IC1uICIkbmd4X2ZlYXR1cmVfbmFtZSI7IHRoZW4KK0BAIC02NywxNyArNzUsMjcgQEAKKyAKKyAgICAgICAgIHZhbHVlKQorICAgICAgICAgICAgICMgL2Jpbi9zaCBpcyB1c2VkIHRvIGludGVyY2VwdCAiS2lsbGVkIiBvciAiQWJvcnQgdHJhcCIgbWVzc2FnZXMKKy0gICAgICAgICAgICBpZiAvYmluL3NoIC1jICROR1hfQVVUT1RFU1QgPj4gJE5HWF9BVVRPQ09ORl9FUlIgMj4mMTsgdGhlbgorLSAgICAgICAgICAgICAgICBlY2hvICIgZm91bmQiCisrICAgICAgICAgICAgaWYgL2Jpbi9zaCAtYyAkTkdYX0FVVE9URVNUX0VYRUMgPj4gJE5HWF9BVVRPQ09ORl9FUlIgMj4mMTsgdGhlbgorKyAgICAgICAgICAgICAgICBlY2hvICIgZm91bmQkTkdYX0ZPVU5EX01TRyIKKyAgICAgICAgICAgICAgICAgbmd4X2ZvdW5kPXllcworIAorLSAgICAgICAgICAgICAgICBjYXQgPDwgRU5EID4+ICROR1hfQVVUT19DT05GSUdfSAorKyAgICAgICAgICAgICAgICBpZiBbICIuJE5HWF9DUk9TU19DT01QSUxFIiA9ICIueWVzIiBdOyB0aGVuCisrICAgICAgICAgICAgICAgICAgICBjYXQgPDwgRU5EID4+ICROR1hfQVVUT19DT05GSUdfSAorIAorICNpZm5kZWYgJG5neF9mZWF0dXJlX25hbWUKKy0jZGVmaW5lICRuZ3hfZmVhdHVyZV9uYW1lICBgJE5HWF9BVVRPVEVTVGAKKysjZGVmaW5lICRuZ3hfZmVhdHVyZV9uYW1lICAkKGV2YWwgImVjaG8gXCROR1hfV0lUSF8ke25neF9mZWF0dXJlX25hbWV9IikKKyAjZW5kaWYKKyAKKyBFTkQKKysJCWVsc2UKKysgICAgICAgICAgICAgICAgICAgIGNhdCA8PCBFTkQgPj4gJE5HWF9BVVRPX0NPTkZJR19ICisrCisrI2lmbmRlZiAkbmd4X2ZlYXR1cmVfbmFtZQorKyNkZWZpbmUgJG5neF9mZWF0dXJlX25hbWUgIGAkTkdYX0FVVE9URVNUX0VYRUNgCisrI2VuZGlmCisrCisrRU5ECisrICAgICAgICAgICAgICAgIGZpCisgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICBlY2hvICIgZm91bmQgYnV0IGlzIG5vdCB3b3JraW5nIgorICAgICAgICAgICAgIGZpCitAQCAtODUsNyArMTAzLDcgQEAKKyAKKyAgICAgICAgIGJ1ZykKKyAgICAgICAgICAgICAjIC9iaW4vc2ggaXMgdXNlZCB0byBpbnRlcmNlcHQgIktpbGxlZCIgb3IgIkFib3J0IHRyYXAiIG1lc3NhZ2VzCistICAgICAgICAgICAgaWYgL2Jpbi9zaCAtYyAkTkdYX0FVVE9URVNUID4+ICROR1hfQVVUT0NPTkZfRVJSIDI+JjE7IHRoZW4KKysgICAgICAgICAgICBpZiAvYmluL3NoIC1jICROR1hfQVVUT1RFU1RfRVhFQyA+PiAkTkdYX0FVVE9DT05GX0VSUiAyPiYxOyB0aGVuCisgICAgICAgICAgICAgICAgIGVjaG8gIiBub3QgZm91bmQiCisgCisgICAgICAgICAgICAgZWxzZQorZGlmZiAtdXJhTiBuZ2lueC0xLjAuMTEub3JpZy9hdXRvL29wdGlvbnMgbmdpbngtMS4wLjExL2F1dG8vb3B0aW9ucworLS0tIG5naW54LTEuMC4xMS5vcmlnL2F1dG8vb3B0aW9ucwkyMDExLTEyLTE0IDA3OjM0OjE2LjAwMDAwMDAwMCAtMDYwMAorKysrIG5naW54LTEuMC4xMS9hdXRvL29wdGlvbnMJMjAxMS0xMi0yNyAxMzo1Njo0Mi4zMjMzNzAwNDAgLTA2MDAKK0BAIC0yODksNiArMjg5LDE4IEBACisgICAgICAgICAtLXRlc3QtYnVpbGQtcnRzaWcpICAgICAgICAgICAgICBOR1hfVEVTVF9CVUlMRF9SVFNJRz1ZRVMgICA7OworICAgICAgICAgLS10ZXN0LWJ1aWxkLXNvbGFyaXMtc2VuZGZpbGV2KSAgTkdYX1RFU1RfQlVJTERfU09MQVJJU19TRU5ERklMRVY9WUVTIDs7CisgCisrICAgICAgICAjIGNyb3NzIGNvbXBpbGUgc3VwcG9ydAorKyAgICAgICAgLS13aXRoLWludD0qKSAgICAgICAgICAgICAgICAgICAgTkdYX1dJVEhfSU5UPSIkdmFsdWUiICAgICAgICAgIDs7CisrICAgICAgICAtLXdpdGgtbG9uZz0qKSAgICAgICAgICAgICAgICAgICBOR1hfV0lUSF9MT05HPSIkdmFsdWUiICAgICAgICAgOzsKKysgICAgICAgIC0td2l0aC1sb25nLWxvbmc9KikgICAgICAgICAgICAgIE5HWF9XSVRIX0xPTkdfTE9ORz0iJHZhbHVlIiAgICA7OworKyAgICAgICAgLS13aXRoLXB0ci1zaXplPSopICAgICAgICAgICAgICAgTkdYX1dJVEhfUFRSX1NJWkU9IiR2YWx1ZSIgICAgIDs7CisrICAgICAgICAtLXdpdGgtc2lnLWF0b21pYy10PSopICAgICAgICAgICBOR1hfV0lUSF9TSUdfQVRPTUlDX1Q9IiR2YWx1ZSIgOzsKKysgICAgICAgIC0td2l0aC1zaXplLXQ9KikgICAgICAgICAgICAgICAgIE5HWF9XSVRIX1NJWkVfVD0iJHZhbHVlIiAgICAgICA7OworKyAgICAgICAgLS13aXRoLW9mZi10PSopICAgICAgICAgICAgICAgICAgTkdYX1dJVEhfT0ZGX1Q9IiR2YWx1ZSIgICAgICAgIDs7CisrICAgICAgICAtLXdpdGgtdGltZS10PSopICAgICAgICAgICAgICAgICBOR1hfV0lUSF9USU1FX1Q9IiR2YWx1ZSIgICAgICAgOzsKKysgICAgICAgIC0td2l0aC1zeXMtbmVycj0qKSAgICAgICAgICAgICAgIE5HWF9XSVRIX05HWF9TWVNfTkVSUj0iJHZhbHVlIiA7OworKyAgICAgICAgLS13aXRoLWVuZGlhbj0qKSAgICAgICAgICAgICAgICAgTkdYX1dJVEhfRU5ESUFOPSIkdmFsdWUiICAgICAgIDs7CisrCisgICAgICAgICAqKQorICAgICAgICAgICAgIGVjaG8gIiQwOiBlcnJvcjogaW52YWxpZCBvcHRpb24gXCIkb3B0aW9uXCIiCisgICAgICAgICAgICAgZXhpdCAxCitAQCAtNDM0LDYgKzQ0NiwxNyBAQAorIAorICAgLS13aXRoLWRlYnVnICAgICAgICAgICAgICAgICAgICAgICBlbmFibGUgZGVidWcgbG9nZ2luZworIAorKyAgLS13aXRoLWludD1WQUxVRSAgICAgICAgICAgICAgICAgICBmb3JjZSBpbnQgc2l6ZQorKyAgLS13aXRoLWxvbmc9VkFMVUUgICAgICAgICAgICAgICAgICBmb3JjZSBsb25nIHNpemUKKysgIC0td2l0aC1sb25nLWxvbmc9VkFMVUUgICAgICAgICAgICAgZm9yY2UgbG9uZyBsb25nIHNpemUKKysgIC0td2l0aC1wdHItc2l6ZT1WQUxVRSAgICAgICAgICAgICAgZm9yY2UgcG9pbnRlciBzaXplCisrICAtLXdpdGgtc2lnLWF0b21pYy10PVZBTFVFICAgICAgICAgIGZvcmNlIHNpZ19hdG9taWNfdCBzaXplCisrICAtLXdpdGgtc2l6ZS10PVZBTFVFICAgICAgICAgICAgICAgIGZvcmNlIHNpemVfdCBzaXplCisrICAtLXdpdGgtb2ZmLXQ9VkFMVUUgICAgICAgICAgICAgICAgIGZvcmNlIG9mZl90IHNpemUKKysgIC0td2l0aC10aW1lLXQ9VkFMVUUgICAgICAgICAgICAgICAgZm9yY2UgdGltZV90IHNpemUKKysgIC0td2l0aC1zeXMtbmVycj1WQUxVRSAgICAgICAgICAgICAgZm9yY2Ugc3lzX25lcnIgdmFsdWUKKysgIC0td2l0aC1lbmRpYW49VkFMVUUgICAgICAgICAgICAgICAgZm9yY2Ugc3lzdGVtIGVuZGlhbmVzcworKworIEVORAorIAorICAgICBleGl0IDEKK0BAIC00NTUsNiArNDc4LDggQEAKKyAKKyBpZiBbICIuJE5HWF9QTEFURk9STSIgPSAiLndpbjMyIiBdOyB0aGVuCisgICAgIE5HWF9XSU5FPSRXSU5FCisrZWxpZiBbICEgLXogIiROR1hfUExBVEZPUk0iIF07IHRoZW4KKysgICAgTkdYX0NST1NTX0NPTVBJTEU9InllcyIKKyBmaQorIAorIAorZGlmZiAtdXJhTiBuZ2lueC0xLjAuMTEub3JpZy9hdXRvL3R5cGVzL3NpemVvZiBuZ2lueC0xLjAuMTEvYXV0by90eXBlcy9zaXplb2YKKy0tLSBuZ2lueC0xLjAuMTEub3JpZy9hdXRvL3R5cGVzL3NpemVvZgkyMDA2LTA2LTI4IDExOjAwOjI2LjAwMDAwMDAwMCAtMDUwMAorKysrIG5naW54LTEuMC4xMS9hdXRvL3R5cGVzL3NpemVvZgkyMDExLTEyLTI3IDEzOjU2OjQyLjMyMzM3MDA0MCAtMDYwMAorQEAgLTEyLDkgKzEyLDEyIEBACisgCisgRU5ECisgCistbmd4X3NpemU9Cisrbmd4X3NpemU9JChldmFsICJlY2hvIFwkTkdYX1dJVEhfJHtuZ3hfcGFyYW19IikKKyAKKy1jYXQgPDwgRU5EID4gJE5HWF9BVVRPVEVTVC5jCisraWYgWyAiLiRuZ3hfc2l6ZSIgIT0gIi4iIF07IHRoZW4KKysgICAgZWNobyAiICRuZ3hfc2l6ZSBieXRlcyIKKytlbHNlCisrICAgIGNhdCA8PCBFTkQgPiAkTkdYX0FVVE9URVNULmMKKyAKKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgI2luY2x1ZGUgPHN5cy90aW1lLmg+CitAQCAtMzMsMjAgKzM2LDIwIEBACisgRU5ECisgCisgCistbmd4X3Rlc3Q9IiRDQyAkQ0NfVEVTVF9GTEFHUyAkQ0NfQVVYX0ZMQUdTIFwKKy0gICAgICAgICAgLW8gJE5HWF9BVVRPVEVTVCAkTkdYX0FVVE9URVNULmMgJE5HWF9MRF9PUFQgJG5neF9mZWF0dXJlX2xpYnMiCisrICAgIG5neF90ZXN0PSIkQ0MgJENDX1RFU1RfRkxBR1MgJENDX0FVWF9GTEFHUyBcCisrCSAgICAgIC1vICROR1hfQVVUT1RFU1QgJE5HWF9BVVRPVEVTVC5jICROR1hfTERfT1BUICRuZ3hfZmVhdHVyZV9saWJzIgorIAorLWV2YWwgIiRuZ3hfdGVzdCA+PiAkTkdYX0FVVE9DT05GX0VSUiAyPiYxIgorKyAgICBldmFsICIkbmd4X3Rlc3QgPj4gJE5HWF9BVVRPQ09ORl9FUlIgMj4mMSIKKyAKKyAKKy1pZiBbIC14ICROR1hfQVVUT1RFU1QgXTsgdGhlbgorLSAgICBuZ3hfc2l6ZT1gJE5HWF9BVVRPVEVTVGAKKy0gICAgZWNobyAiICRuZ3hfc2l6ZSBieXRlcyIKKy1maQorKyAgICBpZiBbIC14ICROR1hfQVVUT1RFU1QgXTsgdGhlbgorKwluZ3hfc2l6ZT1gJE5HWF9BVVRPVEVTVGAKKysJZWNobyAiICRuZ3hfc2l6ZSBieXRlcyIKKysgICAgZmkKKyAKKyAKKy1ybSAtcmYgJE5HWF9BVVRPVEVTVCoKKy0KKysgICAgcm0gLXJmICROR1hfQVVUT1RFU1QqCisrZmkKKyAKKyBjYXNlICRuZ3hfc2l6ZSBpbgorICAgICA0KQorZGlmZiAtdXJhTiBuZ2lueC0xLjAuMTEub3JpZy9hdXRvL3VuaXggbmdpbngtMS4wLjExL2F1dG8vdW5peAorLS0tIG5naW54LTEuMC4xMS5vcmlnL2F1dG8vdW5peAkyMDExLTEyLTE0IDA3OjM0OjE2LjAwMDAwMDAwMCAtMDYwMAorKysrIG5naW54LTEuMC4xMS9hdXRvL3VuaXgJMjAxMS0xMi0yNyAxMzo1Njo0Mi4zMjczNzAwNjAgLTA2MDAKK0BAIC0zOTMsMTMgKzM5MywxMyBAQAorIAorICMgQyB0eXBlcworIAorLW5neF90eXBlPSJpbnQiOyAuIGF1dG8vdHlwZXMvc2l6ZW9mCisrbmd4X3R5cGU9ImludCI7IG5neF9wYXJhbT0iSU5UIjsgLiBhdXRvL3R5cGVzL3NpemVvZgorIAorLW5neF90eXBlPSJsb25nIjsgLiBhdXRvL3R5cGVzL3NpemVvZgorK25neF90eXBlPSJsb25nIjsgbmd4X3BhcmFtPSJMT05HIjsgLiBhdXRvL3R5cGVzL3NpemVvZgorIAorLW5neF90eXBlPSJsb25nIGxvbmciOyAuIGF1dG8vdHlwZXMvc2l6ZW9mCisrbmd4X3R5cGU9ImxvbmcgbG9uZyI7IG5neF9wYXJhbT0iTE9OR19MT05HIjsgLiBhdXRvL3R5cGVzL3NpemVvZgorIAorLW5neF90eXBlPSJ2b2lkICoiOyAuIGF1dG8vdHlwZXMvc2l6ZW9mOyBuZ3hfcHRyX3NpemU9JG5neF9zaXplCisrbmd4X3R5cGU9InZvaWQgKiI7IG5neF9wYXJhbT0iUFRSX1NJWkUiOyAuIGF1dG8vdHlwZXMvc2l6ZW9mOyBuZ3hfcHRyX3NpemU9JG5neF9zaXplCisgbmd4X3BhcmFtPU5HWF9QVFJfU0laRTsgbmd4X3ZhbHVlPSRuZ3hfc2l6ZTsgLiBhdXRvL3R5cGVzL3ZhbHVlCisgCisgCitAQCAtNDE2LDcgKzQxNiw3IEBACisgCisgbmd4X3R5cGU9InVpbnQ2NF90Ijsgbmd4X3R5cGVzPSJ1X2ludDY0X3QiOyAuIGF1dG8vdHlwZXMvdHlwZWRlZgorIAorLW5neF90eXBlPSJzaWdfYXRvbWljX3QiOyBuZ3hfdHlwZXM9ImludCI7IC4gYXV0by90eXBlcy90eXBlZGVmCisrbmd4X3R5cGU9InNpZ19hdG9taWNfdCI7IG5neF9wYXJhbT0iU0lHX0FUT01JQ19UIjsgbmd4X3R5cGVzPSJpbnQiOyAuIGF1dG8vdHlwZXMvdHlwZWRlZgorIC4gYXV0by90eXBlcy9zaXplb2YKKyBuZ3hfcGFyYW09TkdYX1NJR19BVE9NSUNfVF9TSVpFOyBuZ3hfdmFsdWU9JG5neF9zaXplOyAuIGF1dG8vdHlwZXMvdmFsdWUKKyAKK0BAIC00MzIsMTUgKzQzMiwxNSBAQAorIAorIC4gYXV0by9lbmRpYW5lc3MKKyAKKy1uZ3hfdHlwZT0ic2l6ZV90IjsgLiBhdXRvL3R5cGVzL3NpemVvZgorK25neF90eXBlPSJzaXplX3QiOyBuZ3hfcGFyYW09IlNJWkVfVCI7IC4gYXV0by90eXBlcy9zaXplb2YKKyBuZ3hfcGFyYW09TkdYX01BWF9TSVpFX1RfVkFMVUU7IG5neF92YWx1ZT0kbmd4X21heF92YWx1ZTsgLiBhdXRvL3R5cGVzL3ZhbHVlCisgbmd4X3BhcmFtPU5HWF9TSVpFX1RfTEVOOyBuZ3hfdmFsdWU9JG5neF9tYXhfbGVuOyAuIGF1dG8vdHlwZXMvdmFsdWUKKyAKKy1uZ3hfdHlwZT0ib2ZmX3QiOyAuIGF1dG8vdHlwZXMvc2l6ZW9mCisrbmd4X3R5cGU9Im9mZl90Ijsgbmd4X3BhcmFtPSJPRkZfVCI7IC4gYXV0by90eXBlcy9zaXplb2YKKyBuZ3hfcGFyYW09TkdYX01BWF9PRkZfVF9WQUxVRTsgbmd4X3ZhbHVlPSRuZ3hfbWF4X3ZhbHVlOyAuIGF1dG8vdHlwZXMvdmFsdWUKKyBuZ3hfcGFyYW09TkdYX09GRl9UX0xFTjsgbmd4X3ZhbHVlPSRuZ3hfbWF4X2xlbjsgLiBhdXRvL3R5cGVzL3ZhbHVlCisgCistbmd4X3R5cGU9InRpbWVfdCI7IC4gYXV0by90eXBlcy9zaXplb2YKKytuZ3hfdHlwZT0idGltZV90Ijsgbmd4X3BhcmFtPSJUSU1FX1QiOyAuIGF1dG8vdHlwZXMvc2l6ZW9mCisgbmd4X3BhcmFtPU5HWF9USU1FX1RfU0laRTsgbmd4X3ZhbHVlPSRuZ3hfc2l6ZTsgLiBhdXRvL3R5cGVzL3ZhbHVlCisgbmd4X3BhcmFtPU5HWF9USU1FX1RfTEVOOyBuZ3hfdmFsdWU9JG5neF9tYXhfbGVuOyAuIGF1dG8vdHlwZXMvdmFsdWUKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9maWxlcy9uZ2lueC12b2xhdGlsZS5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL25naW54LXZvbGF0aWxlLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTNmM2M2NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9maWxlcy9uZ2lueC12b2xhdGlsZS5jb25mCkBAIC0wLDAgKzEsMiBAQAorZCB3d3cgd3d3LWRhdGEgMDc1NSAvcnVuL25naW54IG5vbmUKK2Qgcm9vdCByb290IDA3NTUgL3Zhci9sb2cvbmdpbnggbm9uZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL25naW54LmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvbmdpbnguY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYjdlNGI2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL25naW54LmNvbmYKQEAgLTAsMCArMSwxMTggQEAKKwordXNlciAgd3d3LWRhdGE7Cit3b3JrZXJfcHJvY2Vzc2VzICAxOworCitlcnJvcl9sb2cgIC92YXIvbG9nL25naW54L2Vycm9yLmxvZzsKKyNlcnJvcl9sb2cgIGxvZ3MvZXJyb3IubG9nICBub3RpY2U7CisjZXJyb3JfbG9nICBsb2dzL2Vycm9yLmxvZyAgaW5mbzsKKworcGlkICAgICAgICAvcnVuL25naW54L25naW54LnBpZDsKKworCitldmVudHMgeworICAgIHdvcmtlcl9jb25uZWN0aW9ucyAgMTAyNDsKK30KKworCitodHRwIHsKKyAgICBpbmNsdWRlICAgICAgIG1pbWUudHlwZXM7CisgICAgZGVmYXVsdF90eXBlICBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07CisKKyAgICBsb2dfZm9ybWF0ICBtYWluICAnJHJlbW90ZV9hZGRyIC0gJHJlbW90ZV91c2VyIFskdGltZV9sb2NhbF0gIiRyZXF1ZXN0IiAnCisgICAgICAgICAgICAgICAgICAgICAgJyRzdGF0dXMgJGJvZHlfYnl0ZXNfc2VudCAiJGh0dHBfcmVmZXJlciIgJworICAgICAgICAgICAgICAgICAgICAgICciJGh0dHBfdXNlcl9hZ2VudCIgIiRodHRwX3hfZm9yd2FyZGVkX2ZvciInOworCisgICAgYWNjZXNzX2xvZyAgL3Zhci9sb2cvbmdpbngvYWNjZXNzLmxvZyAgbWFpbjsKKworICAgIHNlbmRmaWxlICAgICAgICBvbjsKKyAgICAjdGNwX25vcHVzaCAgICAgb247CisKKyAgICAja2VlcGFsaXZlX3RpbWVvdXQgIDA7CisgICAga2VlcGFsaXZlX3RpbWVvdXQgIDY1OworCisgICAgI2d6aXAgIG9uOworCisgICAgc2VydmVyIHsKKyAgICAgICAgbGlzdGVuICAgICAgIDgwOworICAgICAgICBzZXJ2ZXJfbmFtZSAgbG9jYWxob3N0OworCisgICAgICAgICNjaGFyc2V0IGtvaTgtcjsKKworICAgICAgICAjYWNjZXNzX2xvZyAgbG9ncy9ob3N0LmFjY2Vzcy5sb2cgIG1haW47CisKKyAgICAgICAgbG9jYXRpb24gLyB7CisgICAgICAgICAgICByb290ICAgL3Zhci93d3cvbG9jYWxob3N0L2h0bWw7CisgICAgICAgICAgICBpbmRleCAgaW5kZXguaHRtbCBpbmRleC5odG07CisgICAgICAgIH0KKworICAgICAgICAjZXJyb3JfcGFnZSAgNDA0ICAgICAgICAgICAgICAvNDA0Lmh0bWw7CisKKyAgICAgICAgIyByZWRpcmVjdCBzZXJ2ZXIgZXJyb3IgcGFnZXMgdG8gdGhlIHN0YXRpYyBwYWdlIC81MHguaHRtbAorICAgICAgICAjCisgICAgICAgIGVycm9yX3BhZ2UgICA1MDAgNTAyIDUwMyA1MDQgIC81MHguaHRtbDsKKyAgICAgICAgbG9jYXRpb24gPSAvNTB4Lmh0bWwgeworICAgICAgICAgICAgcm9vdCAgIC92YXIvd3d3L2xvY2FsaG9zdC9odG1sOworICAgICAgICB9CisKKyAgICAgICAgIyBwcm94eSB0aGUgUEhQIHNjcmlwdHMgdG8gQXBhY2hlIGxpc3RlbmluZyBvbiAxMjcuMC4wLjE6ODAKKyAgICAgICAgIworICAgICAgICAjbG9jYXRpb24gfiBcLnBocCQgeworICAgICAgICAjICAgIHByb3h5X3Bhc3MgICBodHRwOi8vMTI3LjAuMC4xOworICAgICAgICAjfQorCisgICAgICAgICMgcGFzcyB0aGUgUEhQIHNjcmlwdHMgdG8gRmFzdENHSSBzZXJ2ZXIgbGlzdGVuaW5nIG9uIDEyNy4wLjAuMTo5MDAwCisgICAgICAgICMKKyAgICAgICAgI2xvY2F0aW9uIH4gXC5waHAkIHsKKyAgICAgICAgIyAgICByb290ICAgICAgICAgICBodG1sOworICAgICAgICAjICAgIGZhc3RjZ2lfcGFzcyAgIDEyNy4wLjAuMTo5MDAwOworICAgICAgICAjICAgIGZhc3RjZ2lfaW5kZXggIGluZGV4LnBocDsKKyAgICAgICAgIyAgICBmYXN0Y2dpX3BhcmFtICBTQ1JJUFRfRklMRU5BTUUgIC9zY3JpcHRzJGZhc3RjZ2lfc2NyaXB0X25hbWU7CisgICAgICAgICMgICAgaW5jbHVkZSAgICAgICAgZmFzdGNnaV9wYXJhbXM7CisgICAgICAgICN9CisKKyAgICAgICAgIyBkZW55IGFjY2VzcyB0byAuaHRhY2Nlc3MgZmlsZXMsIGlmIEFwYWNoZSdzIGRvY3VtZW50IHJvb3QKKyAgICAgICAgIyBjb25jdXJzIHdpdGggbmdpbngncyBvbmUKKyAgICAgICAgIworICAgICAgICAjbG9jYXRpb24gfiAvXC5odCB7CisgICAgICAgICMgICAgZGVueSAgYWxsOworICAgICAgICAjfQorICAgIH0KKworCisgICAgIyBhbm90aGVyIHZpcnR1YWwgaG9zdCB1c2luZyBtaXggb2YgSVAtLCBuYW1lLSwgYW5kIHBvcnQtYmFzZWQgY29uZmlndXJhdGlvbgorICAgICMKKyAgICAjc2VydmVyIHsKKyAgICAjICAgIGxpc3RlbiAgICAgICA4MDAwOworICAgICMgICAgbGlzdGVuICAgICAgIHNvbWVuYW1lOjgwODA7CisgICAgIyAgICBzZXJ2ZXJfbmFtZSAgc29tZW5hbWUgIGFsaWFzICBhbm90aGVyLmFsaWFzOworCisgICAgIyAgICBsb2NhdGlvbiAvIHsKKyAgICAjICAgICAgICByb290ICAgaHRtbDsKKyAgICAjICAgICAgICBpbmRleCAgaW5kZXguaHRtbCBpbmRleC5odG07CisgICAgIyAgICB9CisgICAgI30KKworCisgICAgIyBIVFRQUyBzZXJ2ZXIKKyAgICAjCisgICAgI3NlcnZlciB7CisgICAgIyAgICBsaXN0ZW4gICAgICAgNDQzOworICAgICMgICAgc2VydmVyX25hbWUgIGxvY2FsaG9zdDsKKworICAgICMgICAgc3NsICAgICAgICAgICAgICAgICAgb247CisgICAgIyAgICBzc2xfY2VydGlmaWNhdGUgICAgICBjZXJ0LnBlbTsKKyAgICAjICAgIHNzbF9jZXJ0aWZpY2F0ZV9rZXkgIGNlcnQua2V5OworCisgICAgIyAgICBzc2xfc2Vzc2lvbl90aW1lb3V0ICA1bTsKKworICAgICMgICAgc3NsX3Byb3RvY29scyAgU1NMdjIgU1NMdjMgVExTdjE7CisgICAgIyAgICBzc2xfY2lwaGVycyAgSElHSDohYU5VTEw6IU1ENTsKKyAgICAjICAgIHNzbF9wcmVmZXJfc2VydmVyX2NpcGhlcnMgICBvbjsKKworICAgICMgICAgbG9jYXRpb24gLyB7CisgICAgIyAgICAgICAgcm9vdCAgIGh0bWw7CisgICAgIyAgICAgICAgaW5kZXggIGluZGV4Lmh0bWwgaW5kZXguaHRtOworICAgICMgICAgfQorICAgICN9CisKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9maWxlcy9uZ2lueC5pbml0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL25naW54LmluaXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGYzOGI5YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9maWxlcy9uZ2lueC5pbml0CkBAIC0wLDAgKzEsNTIgQEAKKyMhIC9iaW4vc2gKK1BBVEg9L3NiaW46L2JpbjovdXNyL3NiaW46L3Vzci9iaW4KK0RBRU1PTj0vdXNyL3NiaW4vbmdpbngKK05BTUU9bmdpbngKK0RFU0M9bmdpbngKK1BJRD0vdmFyL3J1bi9uZ2lueC9uZ2lueC5waWQKKwordGVzdCAteCAkREFFTU9OIHx8IGV4aXQgMAorCisjIEluY2x1ZGUgbmdpbnggZGVmYXVsdHMgaWYgYXZhaWxhYmxlCitpZiBbIC1mIC9ldGMvZGVmYXVsdC9uZ2lueCBdIDsgdGhlbgorICAgICAgICAuIC9ldGMvZGVmYXVsdC9uZ2lueAorZmkKKworc2V0IC1lCisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKyAgICAgICAgZWNobyAtbiAiU3RhcnRpbmcgJERFU0M6ICIKKyAgICAgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tcGlkZmlsZSAkUElEIFwKKyAgICAgICAgICAgICAgICAtLW5hbWUgJE5BTUUgLS1leGVjICREQUVNT04gLS0gJERBRU1PTl9PUFRTCisgICAgICAgIGVjaG8gIiROQU1FLiIKKyAgICAgICAgOzsKKyAgc3RvcCkKKyAgICAgICAgZWNobyAtbiAiU3RvcHBpbmcgJERFU0M6ICIKKyAgICAgICAgc3RhcnQtc3RvcC1kYWVtb24gLUsgLS1xdWlldCAtLXBpZGZpbGUgJFBJRCBcCisgICAgICAgICAgICAgICAgLS1uYW1lICROQU1FCisgICAgICAgIGVjaG8gIiROQU1FLiIKKyAgICAgICAgOzsKKyAgcmVzdGFydHxmb3JjZS1yZWxvYWQpCisgICAgICAgIGVjaG8gLW4gIlJlc3RhcnRpbmcgJERFU0M6ICIKKyAgICAgICAgc3RhcnQtc3RvcC1kYWVtb24gLUsgLS1xdWlldCAtLXBpZGZpbGUgJFBJRCBcCisgICAgICAgICAgICAgICAgLS1uYW1lICROQU1FCisgICAgICAgIHNsZWVwIDEKKyAgICAgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tcGlkZmlsZSAkUElEIFwKKyAgICAgICAgICAgICAgICAtLW5hbWUgJE5BTUUgLS1leGVjICREQUVNT04gLS0gJERBRU1PTl9PUFRTCisgICAgICAgIGVjaG8gIiROQU1FLiIKKyAgICAgICAgOzsKKyAgcmVsb2FkKQorICAgICAgZWNobyAtbiAiUmVsb2FkaW5nICRERVNDIGNvbmZpZ3VyYXRpb246ICIKKyAgICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXNpZ25hbCBIVVAgLS1xdWlldCAtLXBpZGZpbGUgJFBJRCBcCisgICAgICAgICAgLS1leGVjICREQUVNT04KKyAgICAgIGVjaG8gIiROQU1FLiIKKyAgICAgIDs7CisgICopCisgICAgICAgIE49L2V0Yy9pbml0LmQvJE5BTUUKKyAgICAgICAgZWNobyAiVXNhZ2U6ICROIHtzdGFydHxzdG9wfHJlc3RhcnR8Zm9yY2UtcmVsb2FkfSIgPiYyCisgICAgICAgIGV4aXQgMQorICAgICAgICA7OworZXNhYworCitleGl0IDAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9maWxlcy9uZ2lueC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL25naW54LnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTkyNmE0YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9maWxlcy9uZ2lueC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTIgQEAKK1tVbml0XQorRGVzY3JpcHRpb249TmdpbnggU2VydmVyCitBZnRlcj1uZXR3b3JrLnRhcmdldAorW1NlcnZpY2VdCitUeXBlPWZvcmtpbmcKK1BJREZpbGU9QFNZU0NPTkZESVJAL25naW54L3J1bi9uZ2lueC5waWQKK0V4ZWNTdGFydFByZT1AQkFTRUJJTkRJUkAvbWtkaXIgLXAgQExPQ0FMU1RBVEVESVJAL2xvZy9uZ2lueAorRXhlY1N0YXJ0PUBTWVNDT05GRElSQC9pbml0LmQvbmdpbnggc3RhcnQKK0V4ZWNTdG9wPUBTWVNDT05GRElSQC9pbml0LmQvbmdpbnggc3RvcAorW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbngtMS45LjE0L25naW54LWNyb3NzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L25naW54LTEuOS4xNC9uZ2lueC1jcm9zcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZTk2NjQ0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L25naW54LTEuOS4xNC9uZ2lueC1jcm9zcy5wYXRjaApAQCAtMCwwICsxLDIxMSBAQAorV2UgZG8gbm90IGhhdmUgY2FwYWJpbGl0eSB0byBydW4gYmluYXJpZXMgd2hlbiBjcm9zcyBjb21waWxpbmcKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKKworZGlmZiAtdXJhTiBuZ2lueC0xLjAuMTEub3JpZy9hdXRvL2ZlYXR1cmUgbmdpbngtMS4wLjExL2F1dG8vZmVhdHVyZQorLS0tIG5naW54LTEuMC4xMS5vcmlnL2F1dG8vZmVhdHVyZQkyMDExLTA1LTExIDA2OjUwOjE5LjAwMDAwMDAwMCAtMDUwMAorKysrIG5naW54LTEuMC4xMS9hdXRvL2ZlYXR1cmUJMjAxMS0xMi0yNyAxMzo1Njo0Mi4zMjMzNzAwNDAgLTA2MDAKK0BAIC00OSwxMiArNDksMjAgQEAKKyAKKyBpZiBbIC14ICROR1hfQVVUT1RFU1QgXTsgdGhlbgorIAorKyAgICBpZiBbICIuJE5HWF9DUk9TU19DT01QSUxFIiA9ICIueWVzIiBdOyB0aGVuCisrICAgICAgICBOR1hfQVVUT1RFU1RfRVhFQz0idHJ1ZSIKKysJTkdYX0ZPVU5EX01TRz0iIChub3QgdGVzdGVkLCBjcm9zcyBjb21waWxpbmcpIgorKyAgICBlbHNlCisrICAgICAgICBOR1hfQVVUT1RFU1RfRVhFQz0iJE5HWF9BVVRPVEVTVCIKKysJTkdYX0ZPVU5EX01TRz0iIgorKyAgICBmaQorKworICAgICBjYXNlICIkbmd4X2ZlYXR1cmVfcnVuIiBpbgorIAorICAgICAgICAgeWVzKQorICAgICAgICAgICAgICMgL2Jpbi9zaCBpcyB1c2VkIHRvIGludGVyY2VwdCAiS2lsbGVkIiBvciAiQWJvcnQgdHJhcCIgbWVzc2FnZXMKKy0gICAgICAgICAgICBpZiAvYmluL3NoIC1jICROR1hfQVVUT1RFU1QgPj4gJE5HWF9BVVRPQ09ORl9FUlIgMj4mMTsgdGhlbgorLSAgICAgICAgICAgICAgICBlY2hvICIgZm91bmQiCisrICAgICAgICAgICAgaWYgL2Jpbi9zaCAtYyAkTkdYX0FVVE9URVNUX0VYRUMgPj4gJE5HWF9BVVRPQ09ORl9FUlIgMj4mMTsgdGhlbgorKyAgICAgICAgICAgICAgICBlY2hvICIgZm91bmQkTkdYX0ZPVU5EX01TRyIKKyAgICAgICAgICAgICAgICAgbmd4X2ZvdW5kPXllcworIAorICAgICAgICAgICAgICAgICBpZiB0ZXN0IC1uICIkbmd4X2ZlYXR1cmVfbmFtZSI7IHRoZW4KK0BAIC02OCwxNyArNzUsMjcgQEAKKyAKKyAgICAgICAgIHZhbHVlKQorICAgICAgICAgICAgICMgL2Jpbi9zaCBpcyB1c2VkIHRvIGludGVyY2VwdCAiS2lsbGVkIiBvciAiQWJvcnQgdHJhcCIgbWVzc2FnZXMKKy0gICAgICAgICAgICBpZiAvYmluL3NoIC1jICROR1hfQVVUT1RFU1QgPj4gJE5HWF9BVVRPQ09ORl9FUlIgMj4mMTsgdGhlbgorLSAgICAgICAgICAgICAgICBlY2hvICIgZm91bmQiCisrICAgICAgICAgICAgaWYgL2Jpbi9zaCAtYyAkTkdYX0FVVE9URVNUX0VYRUMgPj4gJE5HWF9BVVRPQ09ORl9FUlIgMj4mMTsgdGhlbgorKyAgICAgICAgICAgICAgICBlY2hvICIgZm91bmQkTkdYX0ZPVU5EX01TRyIKKyAgICAgICAgICAgICAgICAgbmd4X2ZvdW5kPXllcworIAorLSAgICAgICAgICAgICAgICBjYXQgPDwgRU5EID4+ICROR1hfQVVUT19DT05GSUdfSAorKyAgICAgICAgICAgICAgICBpZiBbICIuJE5HWF9DUk9TU19DT01QSUxFIiA9ICIueWVzIiBdOyB0aGVuCisrICAgICAgICAgICAgICAgICAgICBjYXQgPDwgRU5EID4+ICROR1hfQVVUT19DT05GSUdfSAorIAorICNpZm5kZWYgJG5neF9mZWF0dXJlX25hbWUKKy0jZGVmaW5lICRuZ3hfZmVhdHVyZV9uYW1lICBgJE5HWF9BVVRPVEVTVGAKKysjZGVmaW5lICRuZ3hfZmVhdHVyZV9uYW1lICAkKGV2YWwgImVjaG8gXCROR1hfV0lUSF8ke25neF9mZWF0dXJlX25hbWV9IikKKyAjZW5kaWYKKyAKKyBFTkQKKysJCWVsc2UKKysgICAgICAgICAgICAgICAgICAgIGNhdCA8PCBFTkQgPj4gJE5HWF9BVVRPX0NPTkZJR19ICisrCisrI2lmbmRlZiAkbmd4X2ZlYXR1cmVfbmFtZQorKyNkZWZpbmUgJG5neF9mZWF0dXJlX25hbWUgIGAkTkdYX0FVVE9URVNUX0VYRUNgCisrI2VuZGlmCisrCisrRU5ECisrICAgICAgICAgICAgICAgIGZpCisgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICBlY2hvICIgZm91bmQgYnV0IGlzIG5vdCB3b3JraW5nIgorICAgICAgICAgICAgIGZpCitAQCAtODYsNyArMTA1LDcgQEAKKyAKKyAgICAgICAgIGJ1ZykKKyAgICAgICAgICAgICAjIC9iaW4vc2ggaXMgdXNlZCB0byBpbnRlcmNlcHQgIktpbGxlZCIgb3IgIkFib3J0IHRyYXAiIG1lc3NhZ2VzCistICAgICAgICAgICAgaWYgL2Jpbi9zaCAtYyAkTkdYX0FVVE9URVNUID4+ICROR1hfQVVUT0NPTkZfRVJSIDI+JjE7IHRoZW4KKysgICAgICAgICAgICBpZiAvYmluL3NoIC1jICROR1hfQVVUT1RFU1RfRVhFQyA+PiAkTkdYX0FVVE9DT05GX0VSUiAyPiYxOyB0aGVuCisgICAgICAgICAgICAgICAgIGVjaG8gIiBub3QgZm91bmQiCisgCisgICAgICAgICAgICAgZWxzZQorZGlmZiAtdXJhTiBuZ2lueC0xLjAuMTEub3JpZy9hdXRvL29wdGlvbnMgbmdpbngtMS4wLjExL2F1dG8vb3B0aW9ucworLS0tIG5naW54LTEuMC4xMS5vcmlnL2F1dG8vb3B0aW9ucwkyMDExLTEyLTE0IDA3OjM0OjE2LjAwMDAwMDAwMCAtMDYwMAorKysrIG5naW54LTEuMC4xMS9hdXRvL29wdGlvbnMJMjAxMS0xMi0yNyAxMzo1Njo0Mi4zMjMzNzAwNDAgLTA2MDAKK0BAIC0zNTMsNiArMzUzLDE4IEBACisgICAgICAgICAtLXRlc3QtYnVpbGQtZXBvbGwpICAgICAgICAgICAgICBOR1hfVEVTVF9CVUlMRF9FUE9MTD1ZRVMgICA7OworICAgICAgICAgLS10ZXN0LWJ1aWxkLXNvbGFyaXMtc2VuZGZpbGV2KSAgTkdYX1RFU1RfQlVJTERfU09MQVJJU19TRU5ERklMRVY9WUVTIDs7CisgCisrICAgICAgICAjIGNyb3NzIGNvbXBpbGUgc3VwcG9ydAorKyAgICAgICAgLS13aXRoLWludD0qKSAgICAgICAgICAgICAgICAgICAgTkdYX1dJVEhfSU5UPSIkdmFsdWUiICAgICAgICAgIDs7CisrICAgICAgICAtLXdpdGgtbG9uZz0qKSAgICAgICAgICAgICAgICAgICBOR1hfV0lUSF9MT05HPSIkdmFsdWUiICAgICAgICAgOzsKKysgICAgICAgIC0td2l0aC1sb25nLWxvbmc9KikgICAgICAgICAgICAgIE5HWF9XSVRIX0xPTkdfTE9ORz0iJHZhbHVlIiAgICA7OworKyAgICAgICAgLS13aXRoLXB0ci1zaXplPSopICAgICAgICAgICAgICAgTkdYX1dJVEhfUFRSX1NJWkU9IiR2YWx1ZSIgICAgIDs7CisrICAgICAgICAtLXdpdGgtc2lnLWF0b21pYy10PSopICAgICAgICAgICBOR1hfV0lUSF9TSUdfQVRPTUlDX1Q9IiR2YWx1ZSIgOzsKKysgICAgICAgIC0td2l0aC1zaXplLXQ9KikgICAgICAgICAgICAgICAgIE5HWF9XSVRIX1NJWkVfVD0iJHZhbHVlIiAgICAgICA7OworKyAgICAgICAgLS13aXRoLW9mZi10PSopICAgICAgICAgICAgICAgICAgTkdYX1dJVEhfT0ZGX1Q9IiR2YWx1ZSIgICAgICAgIDs7CisrICAgICAgICAtLXdpdGgtdGltZS10PSopICAgICAgICAgICAgICAgICBOR1hfV0lUSF9USU1FX1Q9IiR2YWx1ZSIgICAgICAgOzsKKysgICAgICAgIC0td2l0aC1zeXMtbmVycj0qKSAgICAgICAgICAgICAgIE5HWF9XSVRIX05HWF9TWVNfTkVSUj0iJHZhbHVlIiA7OworKyAgICAgICAgLS13aXRoLWVuZGlhbj0qKSAgICAgICAgICAgICAgICAgTkdYX1dJVEhfRU5ESUFOPSIkdmFsdWUiICAgICAgIDs7CisrCisgICAgICAgICAqKQorICAgICAgICAgICAgIGVjaG8gIiQwOiBlcnJvcjogaW52YWxpZCBvcHRpb24gXCIkb3B0aW9uXCIiCisgICAgICAgICAgICAgZXhpdCAxCitAQCAtNTMzLDYgKzQ0NSwxNyBAQAorIAorICAgLS13aXRoLWRlYnVnICAgICAgICAgICAgICAgICAgICAgICBlbmFibGUgZGVidWcgbG9nZ2luZworIAorKyAgLS13aXRoLWludD1WQUxVRSAgICAgICAgICAgICAgICAgICBmb3JjZSBpbnQgc2l6ZQorKyAgLS13aXRoLWxvbmc9VkFMVUUgICAgICAgICAgICAgICAgICBmb3JjZSBsb25nIHNpemUKKysgIC0td2l0aC1sb25nLWxvbmc9VkFMVUUgICAgICAgICAgICAgZm9yY2UgbG9uZyBsb25nIHNpemUKKysgIC0td2l0aC1wdHItc2l6ZT1WQUxVRSAgICAgICAgICAgICAgZm9yY2UgcG9pbnRlciBzaXplCisrICAtLXdpdGgtc2lnLWF0b21pYy10PVZBTFVFICAgICAgICAgIGZvcmNlIHNpZ19hdG9taWNfdCBzaXplCisrICAtLXdpdGgtc2l6ZS10PVZBTFVFICAgICAgICAgICAgICAgIGZvcmNlIHNpemVfdCBzaXplCisrICAtLXdpdGgtb2ZmLXQ9VkFMVUUgICAgICAgICAgICAgICAgIGZvcmNlIG9mZl90IHNpemUKKysgIC0td2l0aC10aW1lLXQ9VkFMVUUgICAgICAgICAgICAgICAgZm9yY2UgdGltZV90IHNpemUKKysgIC0td2l0aC1zeXMtbmVycj1WQUxVRSAgICAgICAgICAgICAgZm9yY2Ugc3lzX25lcnIgdmFsdWUKKysgIC0td2l0aC1lbmRpYW49VkFMVUUgICAgICAgICAgICAgICAgZm9yY2Ugc3lzdGVtIGVuZGlhbmVzcworKworIEVORAorIAorICAgICBleGl0IDEKK0BAIC01NTQsNiArNTc3LDggQEAKKyAKKyBpZiBbICIuJE5HWF9QTEFURk9STSIgPSAiLndpbjMyIiBdOyB0aGVuCisgICAgIE5HWF9XSU5FPSRXSU5FCisrZWxpZiBbICEgLXogIiROR1hfUExBVEZPUk0iIF07IHRoZW4KKysgICAgTkdYX0NST1NTX0NPTVBJTEU9InllcyIKKyBmaQorIAorIAorZGlmZiAtdXJhTiBuZ2lueC0xLjAuMTEub3JpZy9hdXRvL3R5cGVzL3NpemVvZiBuZ2lueC0xLjAuMTEvYXV0by90eXBlcy9zaXplb2YKKy0tLSBuZ2lueC0xLjAuMTEub3JpZy9hdXRvL3R5cGVzL3NpemVvZgkyMDA2LTA2LTI4IDExOjAwOjI2LjAwMDAwMDAwMCAtMDUwMAorKysrIG5naW54LTEuMC4xMS9hdXRvL3R5cGVzL3NpemVvZgkyMDExLTEyLTI3IDEzOjU2OjQyLjMyMzM3MDA0MCAtMDYwMAorQEAgLTEyLDkgKzEyLDEyIEBACisgCisgRU5ECisgCistbmd4X3NpemU9Cisrbmd4X3NpemU9JChldmFsICJlY2hvIFwkTkdYX1dJVEhfJHtuZ3hfcGFyYW19IikKKyAKKy1jYXQgPDwgRU5EID4gJE5HWF9BVVRPVEVTVC5jCisraWYgWyAiLiRuZ3hfc2l6ZSIgIT0gIi4iIF07IHRoZW4KKysgICAgZWNobyAiICRuZ3hfc2l6ZSBieXRlcyIKKytlbHNlCisrICAgIGNhdCA8PCBFTkQgPiAkTkdYX0FVVE9URVNULmMKKyAKKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgI2luY2x1ZGUgPHN5cy90aW1lLmg+CitAQCAtMzMsMTUgKzM2LDE2IEBACisgRU5ECisgCisgCistbmd4X3Rlc3Q9IiRDQyAkQ0NfVEVTVF9GTEFHUyAkQ0NfQVVYX0ZMQUdTIFwKKy0gICAgICAgICAgLW8gJE5HWF9BVVRPVEVTVCAkTkdYX0FVVE9URVNULmMgJE5HWF9MRF9PUFQgJG5neF9mZWF0dXJlX2xpYnMiCisrICAgIG5neF90ZXN0PSIkQ0MgJENDX1RFU1RfRkxBR1MgJENDX0FVWF9GTEFHUyBcCisrICAgICAgICAgICAgICAtbyAkTkdYX0FVVE9URVNUICROR1hfQVVUT1RFU1QuYyAkTkdYX0xEX09QVCAkbmd4X2ZlYXR1cmVfbGlicyIKKyAKKy1ldmFsICIkbmd4X3Rlc3QgPj4gJE5HWF9BVVRPQ09ORl9FUlIgMj4mMSIKKysgICAgZXZhbCAiJG5neF90ZXN0ID4+ICROR1hfQVVUT0NPTkZfRVJSIDI+JjEiCisgCisgCistaWYgWyAteCAkTkdYX0FVVE9URVNUIF07IHRoZW4KKy0gICAgbmd4X3NpemU9YCROR1hfQVVUT1RFU1RgCistICAgIGVjaG8gIiAkbmd4X3NpemUgYnl0ZXMiCisrICAgIGlmIFsgLXggJE5HWF9BVVRPVEVTVCBdOyB0aGVuCisrICAgICAgICBuZ3hfc2l6ZT1gJE5HWF9BVVRPVEVTVGAKKysgICAgICAgIGVjaG8gIiAkbmd4X3NpemUgYnl0ZXMiCisrICAgIGZpCisgZmkKKyAKKyAKK2RpZmYgLXVyYU4gbmdpbngtMS4wLjExLm9yaWcvYXV0by91bml4IG5naW54LTEuMC4xMS9hdXRvL3VuaXgKKy0tLSBuZ2lueC0xLjAuMTEub3JpZy9hdXRvL3VuaXgJMjAxMS0xMi0xNCAwNzozNDoxNi4wMDAwMDAwMDAgLTA2MDAKKysrKyBuZ2lueC0xLjAuMTEvYXV0by91bml4CTIwMTEtMTItMjcgMTM6NTY6NDIuMzI3MzcwMDYwIC0wNjAwCitAQCAtMzkzLDEzICszOTMsMTMgQEAKKyAKKyAjIEMgdHlwZXMKKyAKKy1uZ3hfdHlwZT0iaW50IjsgLiBhdXRvL3R5cGVzL3NpemVvZgorK25neF90eXBlPSJpbnQiOyBuZ3hfcGFyYW09IklOVCI7IC4gYXV0by90eXBlcy9zaXplb2YKKyAKKy1uZ3hfdHlwZT0ibG9uZyI7IC4gYXV0by90eXBlcy9zaXplb2YKKytuZ3hfdHlwZT0ibG9uZyI7IG5neF9wYXJhbT0iTE9ORyI7IC4gYXV0by90eXBlcy9zaXplb2YKKyAKKy1uZ3hfdHlwZT0ibG9uZyBsb25nIjsgLiBhdXRvL3R5cGVzL3NpemVvZgorK25neF90eXBlPSJsb25nIGxvbmciOyBuZ3hfcGFyYW09IkxPTkdfTE9ORyI7IC4gYXV0by90eXBlcy9zaXplb2YKKyAKKy1uZ3hfdHlwZT0idm9pZCAqIjsgLiBhdXRvL3R5cGVzL3NpemVvZjsgbmd4X3B0cl9zaXplPSRuZ3hfc2l6ZQorK25neF90eXBlPSJ2b2lkICoiOyBuZ3hfcGFyYW09IlBUUl9TSVpFIjsgLiBhdXRvL3R5cGVzL3NpemVvZjsgbmd4X3B0cl9zaXplPSRuZ3hfc2l6ZQorIG5neF9wYXJhbT1OR1hfUFRSX1NJWkU7IG5neF92YWx1ZT0kbmd4X3NpemU7IC4gYXV0by90eXBlcy92YWx1ZQorIAorIAorQEAgLTQxNiw3ICs0MTYsNyBAQAorIAorIG5neF90eXBlPSJ1aW50NjRfdCI7IG5neF90eXBlcz0idV9pbnQ2NF90IjsgLiBhdXRvL3R5cGVzL3R5cGVkZWYKKyAKKy1uZ3hfdHlwZT0ic2lnX2F0b21pY190Ijsgbmd4X3R5cGVzPSJpbnQiOyAuIGF1dG8vdHlwZXMvdHlwZWRlZgorK25neF90eXBlPSJzaWdfYXRvbWljX3QiOyBuZ3hfcGFyYW09IlNJR19BVE9NSUNfVCI7IG5neF90eXBlcz0iaW50IjsgLiBhdXRvL3R5cGVzL3R5cGVkZWYKKyAuIGF1dG8vdHlwZXMvc2l6ZW9mCisgbmd4X3BhcmFtPU5HWF9TSUdfQVRPTUlDX1RfU0laRTsgbmd4X3ZhbHVlPSRuZ3hfc2l6ZTsgLiBhdXRvL3R5cGVzL3ZhbHVlCisgCitAQCAtNDMyLDE1ICs0MzIsMTUgQEAKKyAKKyAuIGF1dG8vZW5kaWFuZXNzCisgCistbmd4X3R5cGU9InNpemVfdCI7IC4gYXV0by90eXBlcy9zaXplb2YKKytuZ3hfdHlwZT0ic2l6ZV90Ijsgbmd4X3BhcmFtPSJTSVpFX1QiOyAuIGF1dG8vdHlwZXMvc2l6ZW9mCisgbmd4X3BhcmFtPU5HWF9NQVhfU0laRV9UX1ZBTFVFOyBuZ3hfdmFsdWU9JG5neF9tYXhfdmFsdWU7IC4gYXV0by90eXBlcy92YWx1ZQorIG5neF9wYXJhbT1OR1hfU0laRV9UX0xFTjsgbmd4X3ZhbHVlPSRuZ3hfbWF4X2xlbjsgLiBhdXRvL3R5cGVzL3ZhbHVlCisgCistbmd4X3R5cGU9Im9mZl90IjsgLiBhdXRvL3R5cGVzL3NpemVvZgorK25neF90eXBlPSJvZmZfdCI7IG5neF9wYXJhbT0iT0ZGX1QiOyAuIGF1dG8vdHlwZXMvc2l6ZW9mCisgbmd4X3BhcmFtPU5HWF9NQVhfT0ZGX1RfVkFMVUU7IG5neF92YWx1ZT0kbmd4X21heF92YWx1ZTsgLiBhdXRvL3R5cGVzL3ZhbHVlCisgbmd4X3BhcmFtPU5HWF9PRkZfVF9MRU47IG5neF92YWx1ZT0kbmd4X21heF9sZW47IC4gYXV0by90eXBlcy92YWx1ZQorIAorLW5neF90eXBlPSJ0aW1lX3QiOyAuIGF1dG8vdHlwZXMvc2l6ZW9mCisrbmd4X3R5cGU9InRpbWVfdCI7IG5neF9wYXJhbT0iVElNRV9UIjsgLiBhdXRvL3R5cGVzL3NpemVvZgorIG5neF9wYXJhbT1OR1hfVElNRV9UX1NJWkU7IG5neF92YWx1ZT0kbmd4X3NpemU7IC4gYXV0by90eXBlcy92YWx1ZQorIG5neF9wYXJhbT1OR1hfVElNRV9UX0xFTjsgbmd4X3ZhbHVlPSRuZ3hfbWF4X2xlbjsgLiBhdXRvL3R5cGVzL3ZhbHVlCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnguaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L25naW54LmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYmY5MjZhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L25naW54LmluYwpAQCAtMCwwICsxLDEzNyBAQAorU1VNTUFSWSA9ICJIVFRQIGFuZCByZXZlcnNlIHByb3h5IHNlcnZlciIKKworREVTQ1JJUFRJT04gPSAiTmdpbnggaXMgYSB3ZWIgc2VydmVyIGFuZCBhIHJldmVyc2UgcHJveHkgc2VydmVyIGZvciBcCitIVFRQLCBTTVRQLCBQT1AzIGFuZCBJTUFQIHByb3RvY29scywgd2l0aCBhIHN0cm9uZyBmb2N1cyBvbiBoaWdoICBcCitjb25jdXJyZW5jeSwgcGVyZm9ybWFuY2UgYW5kIGxvdyBtZW1vcnkgdXNhZ2UuIgorCitIT01FUEFHRSA9ICJodHRwOi8vbmdpbngub3JnLyIKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorCitTRUNUSU9OID0gIm5ldCIKKworREVQRU5EUyA9ICJsaWJwY3JlIGd6aXAgb3BlbnNzbCIKKworU1JDX1VSSSA9ICIgXAorCWh0dHA6Ly9uZ2lueC5vcmcvZG93bmxvYWQvbmdpbngtJHtQVn0udGFyLmd6IFwKKwlmaWxlOi8vbmdpbngtY3Jvc3MucGF0Y2ggXAorCWZpbGU6Ly9uZ2lueC5jb25mIFwKKwlmaWxlOi8vbmdpbnguaW5pdCBcCisJZmlsZTovL25naW54LXZvbGF0aWxlLmNvbmYgXAorCWZpbGU6Ly9uZ2lueC5zZXJ2aWNlIFwKKyIKKworaW5oZXJpdCB1cGRhdGUtcmMuZCB1c2VyYWRkCisKK0NGTEFHU19hcHBlbmQgPSAiIC1mUElFIC1waWUiCitDWFhGTEFHU19hcHBlbmQgPSAiIC1mUElFIC1waWUiCisKK05HSU5YX1dXV0RJUiA/PSAiJHtsb2NhbHN0YXRlZGlyfS93d3cvbG9jYWxob3N0IgorTkdJTlhfVVNFUiAgID89ICJ3d3ciCisKK0VYVFJBX09FQ09ORiA9ICIiCitESVNBQkxFX1NUQVRJQyA9ICIiCisKK2RvX2NvbmZpZ3VyZSAoKSB7CisJaWYgWyAiJHtTSVRFSU5GT19CSVRTfSIgPSAiNjQiIF07IHRoZW4KKwkJUFRSU0laRT04CisJZWxzZQorCQlQVFJTSVpFPTQKKwlmaQorCisJZWNobyAkQ0ZMQUdTCisJZWNobyAkTERGTEFHUworCisJLi9jb25maWd1cmUgXAorCS0tY3Jvc3NidWlsZD1MaW51eDoke1RVTkVfQVJDSH0gXAorCS0td2l0aC1lbmRpYW49JHtAYmFzZV9jb25kaXRpb25hbCgnU0lURUlORk9fRU5ESUFOTkVTUycsICdsZScsICdsaXR0bGUnLCAnYmlnJywgZCl9IFwKKwktLXdpdGgtaW50PTQgXAorCS0td2l0aC1sb25nPSR7UFRSU0laRX0gXAorCS0td2l0aC1sb25nLWxvbmc9OCBcCisJLS13aXRoLXB0ci1zaXplPSR7UFRSU0laRX0gXAorCS0td2l0aC1zaWctYXRvbWljLXQ9JHtQVFJTSVpFfSBcCisJLS13aXRoLXNpemUtdD0ke1BUUlNJWkV9IFwKKwktLXdpdGgtb2ZmLXQ9JHtQVFJTSVpFfSBcCisJLS13aXRoLXRpbWUtdD0ke1BUUlNJWkV9IFwKKwktLXdpdGgtc3lzLW5lcnI9MTMyIFwKKwktLWNvbmYtcGF0aD0ke3N5c2NvbmZkaXJ9L25naW54L25naW54LmNvbmYgXAorCS0taHR0cC1sb2ctcGF0aD0ke2xvY2Fsc3RhdGVkaXJ9L2xvZy9uZ2lueC9hY2Nlc3MubG9nIFwKKwktLWVycm9yLWxvZy1wYXRoPSR7bG9jYWxzdGF0ZWRpcn0vbG9nL25naW54L2Vycm9yLmxvZyBcCisJLS1waWQtcGF0aD0vcnVuL25naW54L25naW54LnBpZCBcCisJLS1wcmVmaXg9JHtwcmVmaXh9IFwKKwktLXdpdGgtaHR0cF9zc2xfbW9kdWxlIFwKKwktLXdpdGgtaHR0cF9nemlwX3N0YXRpY19tb2R1bGUgXAorCSR7RVhUUkFfT0VDT05GfQorfQorCitkb19pbnN0YWxsICgpIHsKKwlvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKKwlybSAtZnIgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuICR7RH0vcnVuCisJaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKwkJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kCisJCWVjaG8gImQgL3J1bi8ke0JQTn0gLSAtIC0gLSIgXAorCQkgICAgID4gJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC8ke0JQTn0uY29uZgorCWZpCisJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS8ke0JQTn0KKwlsbiAtc25mICR7bG9jYWxzdGF0ZWRpcn0vcnVuLyR7QlBOfSAke0R9JHtzeXNjb25mZGlyfS8ke0JQTn0vcnVuCisJaW5zdGFsbCAtZCAke0R9JHtOR0lOWF9XV1dESVJ9CisJbXYgJHtEfS91c3IvaHRtbCAke0R9JHtOR0lOWF9XV1dESVJ9LworCWNob3duICR7TkdJTlhfVVNFUn06d3d3LWRhdGEgLVIgJHtEfSR7TkdJTlhfV1dXRElSfQorCisJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKwlpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9uZ2lueC5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9uZ2lueAorCXNlZCAtaSAncywvdXNyL3NiaW4vLCR7c2JpbmRpcn0vLGcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9uZ2lueAorCXNlZCAtaSAncywvZXRjLywke3N5c2NvbmZkaXJ9LyxnJyAgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL25naW54CisKKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L25naW54CisJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbmdpbnguY29uZiAke0R9JHtzeXNjb25mZGlyfS9uZ2lueC9uZ2lueC5jb25mCisJc2VkIC1pICdzLC92YXIvLCR7bG9jYWxzdGF0ZWRpcn0vLGcnICR7RH0ke3N5c2NvbmZkaXJ9L25naW54L25naW54LmNvbmYKKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L25naW54L3NpdGVzLWVuYWJsZWQKKworCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMKKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9uZ2lueC12b2xhdGlsZS5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzLzk5X25naW54CisJc2VkIC1pICdzLC92YXIvLCR7bG9jYWxzdGF0ZWRpcn0vLGcnICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzLzk5X25naW54CisKKyAgICAgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTt0aGVuCisgICAgICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9uZ2lueC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLworICAgICAgICAgICAgc2VkIC1pIC1lICdzLEBTWVNDT05GRElSQCwke3N5c2NvbmZkaXJ9LGcnIFwKKyAgICAgICAgICAgICAgICAgICAgLWUgJ3MsQExPQ0FMU1RBVEVESVJALCR7bG9jYWxzdGF0ZWRpcn0sZycgXAorICAgICAgICAgICAgICAgICAgICAtZSAncyxAQkFTRUJJTkRJUkAsJHtiYXNlX2JpbmRpcn0sZycgXAorICAgICAgICAgICAgICAgICAgICAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9uZ2lueC5zZXJ2aWNlCisgICAgICAgIGZpCit9CisKK3BrZ19wb3N0aW5zdF8ke1BOfSAoKSB7CisJaWYgWyAteiAiJEQiIF07IHRoZW4KKwkJaWYgdHlwZSBzeXN0ZW1kLXRtcGZpbGVzID4vZGV2L251bGw7IHRoZW4KKwkJCXN5c3RlbWQtdG1wZmlsZXMgLS1jcmVhdGUKKwkJZWxpZiBbIC1lICR7c3lzY29uZmRpcn0vaW5pdC5kL3BvcHVsYXRlLXZvbGF0aWxlLnNoIF07IHRoZW4KKwkJCSR7c3lzY29uZmRpcn0vaW5pdC5kL3BvcHVsYXRlLXZvbGF0aWxlLnNoIHVwZGF0ZQorCQlmaQorCWZpCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2xvY2Fsc3RhdGVkaXJ9LyBcCisgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9uZ2lueC5zZXJ2aWNlIFwKKyAgICAgICAgICAgICAgICAiCisKK0NPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L25naW54L25naW54LmNvbmYgXAorCQkke3N5c2NvbmZkaXJ9L25naW54L2Zhc3RjZ2kuY29uZlwKKwkJJHtzeXNjb25mZGlyfS9uZ2lueC9mYXN0Y2dpX3BhcmFtcyBcCisJCSR7c3lzY29uZmRpcn0vbmdpbngva29pLXV0ZiBcCisJCSR7c3lzY29uZmRpcn0vbmdpbngva29pLXdpbiBcCisJCSR7c3lzY29uZmRpcn0vbmdpbngvbWltZS50eXBlcyBcCisJCSR7c3lzY29uZmRpcn0vbmdpbngvc2NnaV9wYXJhbXMgXAorCQkke3N5c2NvbmZkaXJ9L25naW54L3V3c2dpX3BhcmFtcyBcCisJCSR7c3lzY29uZmRpcn0vbmdpbngvd2luLXV0ZiBcCisiCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJuZ2lueCIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIDkyIDIwIgorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICIgXAorICAgIC0tc3lzdGVtIC0tbm8tY3JlYXRlLWhvbWUgXAorICAgIC0taG9tZSAke05HSU5YX1dXV0RJUn0gXAorICAgIC0tZ3JvdXBzIHd3dy1kYXRhIFwKKyAgICAtLXVzZXItZ3JvdXAgJHtOR0lOWF9VU0VSfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9uZ2lueF8xLjguMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9uZ2lueF8xLjguMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODlmNTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L25naW54XzEuOC4xLmJiCkBAIC0wLDAgKzEsNiBAQAorcmVxdWlyZSBuZ2lueC5pbmMKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9Mzg0NTg1MmFlZGZhOGQ2ZDc3NjVmNTVkMDZjYzNlYmQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyZTkxNjk1MDc0ZGJkZmJmMWJjZWMwYWRhOWZkYTQ2MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ZjRiM2M2MzA5NjZjMDQ0ZWM3MjcxNTc1NDMzNGQxZmRmNzQxY2FhMWQ1Nzk1ZmI0NjQ2YzI3ZDA5Zjc5N2I3IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L25naW54XzEuOS4xNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9uZ2lueF8xLjkuMTQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTg1YzUyYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9uZ2lueF8xLjkuMTQuYmIKQEAgLTAsMCArMSwxMiBAQAorcmVxdWlyZSBuZ2lueC5pbmMKKworIyAxLjkueCBpcyB0aGUgY3VycmVudCBtYWlubGluZSBicmFuY2hlcyBjb250YWluaW5nIGFsbCBuZXcgZmVhdHVyZXMKKyMgMS44LnggYnJhbmNoIGlzIHRoZSBjdXJyZW50IHN0YWJsZSBicmFuY2gsIHRoZSByZWNvbW1lbmRlZCBkZWZhdWx0CitERUZBVUxUX1BSRUZFUkVOQ0UgPSAiLTEiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTBiYjU4ZWQwZGZkNGY1ZGJlY2UzYjUyYWJhNzlmMDIzIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYTI1ODE4MDM5ZjM0YjVkNTRiMDE3ZDQ0Yzc2MzIxYzQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmI0ODkzMDc2ZDI4ZTZiNDM4NGJiYThjNGZkZWJmY2E2ZGU2ZjhmNjhlYzQ4YTFjYTk0YjliODU1ZmY0NTdkMiIKKworRElTQUJMRV9TVEFUSUMgPSAiIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25vc3Ryb21vL2ZpbGVzLzAwMDEtR05VbWFrZWZpbGUtYWRkLXBvc3NpYmlsaXR5LXRvLW92ZXJyaWRlLXZhcmlhYmxlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9ub3N0cm9tby9maWxlcy8wMDAxLUdOVW1ha2VmaWxlLWFkZC1wb3NzaWJpbGl0eS10by1vdmVycmlkZS12YXJpYWJsZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2NmMDExYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9ub3N0cm9tby9maWxlcy8wMDAxLUdOVW1ha2VmaWxlLWFkZC1wb3NzaWJpbGl0eS10by1vdmVycmlkZS12YXJpYWJsZXMucGF0Y2gKQEAgLTAsMCArMSwxNDEgQEAKK0Zyb20gN2ZhMGQzMWVjNWMwYmU5ZGNhODRhMDM4NTFiMmQ0NGY2MTUyN2VjOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9FcmljPTIwQj1DMz1BOW5hcmQ/PSA8ZXJpY0BldWtyZWEuY29tPgorRGF0ZTogU3VuLCA0IERlYyAyMDExIDE2OjAxOjA0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEdOVW1ha2VmaWxlOiBhZGQgcG9zc2liaWxpdHkgdG8gb3ZlcnJpZGUgdmFyaWFibGVzCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK3RoaXMgaXMgdXNlZnVsIGZvciBjcm9zcyBjb21waWxhdGlvbgorCitTaWduZWQtb2ZmLWJ5OiBFcmljIELDqW5hcmQgPGVyaWNAZXVrcmVhLmNvbT4KKy0tLQorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKyBzcmMvbGliYnNkL0dOVW1ha2VmaWxlIHwgICAxMCArKysrKy0tLS0tCisgc3JjL2xpYm15L0dOVW1ha2VmaWxlICB8ICAgMjYgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KKyBzcmMvbmh0dHBkL0dOVW1ha2VmaWxlIHwgICAxMiArKysrKystLS0tLS0KKyBzcmMvdG9vbHMvR05VbWFrZWZpbGUgIHwgICAgOCArKysrLS0tLQorIDQgZmlsZXMgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvbGliYnNkL0dOVW1ha2VmaWxlIGIvc3JjL2xpYmJzZC9HTlVtYWtlZmlsZQoraW5kZXggZTJkMDFhMy4uYjAzNGJjNiAxMDA2NDQKKy0tLSBhL3NyYy9saWJic2QvR05VbWFrZWZpbGUKKysrKyBiL3NyYy9saWJic2QvR05VbWFrZWZpbGUKK0BAIC0xLDEyICsxLDEyIEBACistQ0NGTEFHUyA9IC1PMiAtcGlwZSAtV2FsbCAtV2Vycm9yIC1Xc3RyaWN0LXByb3RvdHlwZXMgLWMKKytDRkxBR1MgOj0gLU8yIC1waXBlIC1XYWxsIC1XZXJyb3IgLVdzdHJpY3QtcHJvdG90eXBlcyAtYworIAorIGxpYmJzZC5hOglzdHJsY3B5Lm8gc3RybGNhdC5vCistCQlhciAtciBsaWJic2QuYSBzdHJsY3B5Lm8gc3RybGNhdC5vCistCQlyYW5saWIgbGliYnNkLmEKKysJCSQoQVIpIC1yIGxpYmJzZC5hIHN0cmxjcHkubyBzdHJsY2F0Lm8KKysJCSQoUkFOTElCKSBsaWJic2QuYQorIAorIHN0cmxjcHkubzoJc3RybGNweS5jCistCQljYyAke0NDRkxBR1N9IHN0cmxjcHkuYworKwkJJChDQykgJChDRkxBR1MpIHN0cmxjcHkuYworIHN0cmxjYXQubzoJc3RybGNhdC5jCistCQljYyAke0NDRkxBR1N9IHN0cmxjYXQuYworKwkJJChDQykgJChDRkxBR1MpIHN0cmxjYXQuYworIGNsZWFuOgorIAkJcm0gLWYgbGliYnNkLmEgKi5vCitkaWZmIC0tZ2l0IGEvc3JjL2xpYm15L0dOVW1ha2VmaWxlIGIvc3JjL2xpYm15L0dOVW1ha2VmaWxlCitpbmRleCBjZTkwZGQ5Li44OTFmZmVhIDEwMDY0NAorLS0tIGEvc3JjL2xpYm15L0dOVW1ha2VmaWxlCisrKysgYi9zcmMvbGlibXkvR05VbWFrZWZpbGUKK0BAIC0xLDMwICsxLDMwIEBACistQ0NGTEFHUyA9IC1PMiAtV2FsbCAtV2Vycm9yIC1Xc3RyaWN0LXByb3RvdHlwZXMgLWMKKytDRkxBR1MgOj0gLU8yIC1XYWxsIC1XZXJyb3IgLVdzdHJpY3QtcHJvdG90eXBlcyAtYworIAorIGxpYm15LmE6CXN0cmN1dGwubyBzdHJjdXR3Lm8gc3RyY3V0cy5vIHN0cmN1dGkubyBzdHJjdXRmLm8gZmxvZy5vIGZsb2dkLm8gZnBhcnNlLm8gc3RybG93ZXIubyBzdHJiNjRkLm8KKy0JCWFyIC1yIGxpYm15LmEgc3RyY3V0bC5vIHN0cmN1dHcubyBzdHJjdXRzLm8gc3RyY3V0aS5vIHN0cmN1dGYubyBmbG9nLm8gZmxvZ2QubyBmcGFyc2UubyBzdHJsb3dlci5vIHN0cmI2NGQubworLQkJcmFubGliIGxpYm15LmEKKysJCSQoQVIpIC1yIGxpYm15LmEgc3RyY3V0bC5vIHN0cmN1dHcubyBzdHJjdXRzLm8gc3RyY3V0aS5vIHN0cmN1dGYubyBmbG9nLm8gZmxvZ2QubyBmcGFyc2UubyBzdHJsb3dlci5vIHN0cmI2NGQubworKwkJJChSQU5MSUIpIGxpYm15LmEKKyAKKyBzdHJjdXRsLm86CXN0cmN1dGwuYworLQkJY2MgJHtDQ0ZMQUdTfSBzdHJjdXRsLmMKKysJCSQoQ0MpICQoQ0ZMQUdTKSBzdHJjdXRsLmMKKyBzdHJjdXR3Lm86CXN0cmN1dHcuYworLQkJY2MgJHtDQ0ZMQUdTfSBzdHJjdXR3LmMKKysJCSQoQ0MpICQoQ0ZMQUdTKSBzdHJjdXR3LmMKKyBzdHJjdXRzLm86CXN0cmN1dHMuYworLQkJY2MgJHtDQ0ZMQUdTfSBzdHJjdXRzLmMKKysJCSQoQ0MpICQoQ0ZMQUdTKSBzdHJjdXRzLmMKKyBzdHJjdXRpLm86CXN0cmN1dGkuYworLQkJY2MgJHtDQ0ZMQUdTfSBzdHJjdXRpLmMKKysJCSQoQ0MpICQoQ0ZMQUdTKSBzdHJjdXRpLmMKKyBzdHJjdXRmLm86CXN0cmN1dGYuYworLQkJY2MgJHtDQ0ZMQUdTfSBzdHJjdXRmLmMKKysJCSQoQ0MpICQoQ0ZMQUdTKSBzdHJjdXRmLmMKKyBzdHJsb3dlci5vOglzdHJsb3dlci5jCistCQljYyAke0NDRkxBR1N9IHN0cmxvd2VyLmMKKysJCSQoQ0MpICQoQ0ZMQUdTKSBzdHJsb3dlci5jCisgc3RyYjY0ZC5vOglzdHJiNjRkLmMKKy0JCWNjICR7Q0NGTEFHU30gc3RyYjY0ZC5jCisrCQkkKENDKSAkKENGTEFHUykgc3RyYjY0ZC5jCisgCisgZmxvZy5vOgkJZmxvZy5jCistCQljYyAke0NDRkxBR1N9IGZsb2cuYworKwkJJChDQykgJChDRkxBR1MpIGZsb2cuYworIGZsb2dkLm86CWZsb2dkLmMKKy0JCWNjICR7Q0NGTEFHU30gZmxvZ2QuYworKwkJJChDQykgJChDRkxBR1MpIGZsb2dkLmMKKyBmcGFyc2UubzoJZnBhcnNlLmMKKy0JCWNjICR7Q0NGTEFHU30gZnBhcnNlLmMKKysJCSQoQ0MpICQoQ0ZMQUdTKSBmcGFyc2UuYworIAorIGNsZWFuOgorIAkJcm0gLWYgbGlibXkuYSAqLm8KK2RpZmYgLS1naXQgYS9zcmMvbmh0dHBkL0dOVW1ha2VmaWxlIGIvc3JjL25odHRwZC9HTlVtYWtlZmlsZQoraW5kZXggZjZkMTJkZS4uOTUyNDkxMSAxMDA2NDQKKy0tLSBhL3NyYy9uaHR0cGQvR05VbWFrZWZpbGUKKysrKyBiL3NyYy9uaHR0cGQvR05VbWFrZWZpbGUKK0BAIC0xLDE4ICsxLDE4IEBACistQ0NGTEFHUyA9IC1PMiAtcGlwZSAtV2FsbCAtV3N0cmljdC1wcm90b3R5cGVzIC1jCisrQ0ZMQUdTIDo9IC1PMiAtcGlwZSAtV2FsbCAtV3N0cmljdC1wcm90b3R5cGVzIC1jCisgCisgbmh0dHBkOgltYWluLm8gaHR0cC5vIHN5cy5vCistCWNjIC1MLi4vbGlibXkgLUwuLi9saWJic2QgLW8gbmh0dHBkIG1haW4ubyBodHRwLm8gc3lzLm8gLWxteSAtbGJzZCAtbHNzbCAtbGNyeXB0CistCXN0cmlwIG5odHRwZAorKwkkKENDKSAtTC4uL2xpYm15IC1MLi4vbGliYnNkIC1vIG5odHRwZCBtYWluLm8gaHR0cC5vIHN5cy5vIC1sbXkgLWxic2QgLWxzc2wgLWxjcnlwdAorKyMJJChTVFJJUCkgbmh0dHBkCisgCW5yb2ZmIC1UYXNjaWkgLWMgLW1hbmRvYyBuaHR0cGQuOCA+IG5odHRwZC5jYXQ4CisgCisgbWFpbi5vOgltYWluLmMKKy0JY2MgJHtDQ0ZMQUdTfSBtYWluLmMKKysJJChDQykgJChDRkxBR1MpIG1haW4uYworIAorIGh0dHAubzoJaHR0cC5jCistCWNjICR7Q0NGTEFHU30gaHR0cC5jCisrCSQoQ0MpICQoQ0ZMQUdTKSBodHRwLmMKKyAKKyBzeXMubzoJc3lzLmMKKy0JY2MgJHtDQ0ZMQUdTfSBzeXMuYworKwkkKENDKSAkKENGTEFHUykgc3lzLmMKKyAKKyBjbGVhbjoKKyAJcm0gLWYgbmh0dHBkIG5odHRwZC5jYXQ4ICoubworZGlmZiAtLWdpdCBhL3NyYy90b29scy9HTlVtYWtlZmlsZSBiL3NyYy90b29scy9HTlVtYWtlZmlsZQoraW5kZXggMTViZWE2MS4uNjYzZGRiNSAxMDA2NDQKKy0tLSBhL3NyYy90b29scy9HTlVtYWtlZmlsZQorKysrIGIvc3JjL3Rvb2xzL0dOVW1ha2VmaWxlCitAQCAtMSwxMSArMSwxMSBAQAorLUNDRkxBR1MgPSAtTzIgLXBpcGUgLVdhbGwgLVdlcnJvciAtV3N0cmljdC1wcm90b3R5cGVzIC1jCisrQ0NGTEFHUyA6PSAtTzIgLXBpcGUgLVdhbGwgLVdlcnJvciAtV3N0cmljdC1wcm90b3R5cGVzCisgCisgY3J5cHQ6CQljcnlwdC5vCistCQljYyAtbyBjcnlwdCBjcnlwdC5vIC1sY3J5cHQKKy0JCXN0cmlwIGNyeXB0CisrCQkkKENDKSAkKENGTEFHUykgLW8gY3J5cHQgY3J5cHQubyAtbGNyeXB0CisrIwkJJChTVFJJUCkgY3J5cHQKKyAKKyBjcnlwdC5vOgljcnlwdC5jCistCQljYyAke0NDRkxBR1N9IGNyeXB0LmMKKysJCSQoQ0MpICQoQ0ZMQUdTKSAtYyBjcnlwdC5jCisgCisgY2xlYW46CisgCQlybSAtZiBjcnlwdCAqLm8KKy0tIAorMS43LjYuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbm9zdHJvbW8vZmlsZXMvbmh0dHBkLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbm9zdHJvbW8vZmlsZXMvbmh0dHBkLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjY3NGJiNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9ub3N0cm9tby9maWxlcy9uaHR0cGQuY29uZgpAQCAtMCwwICsxLDU1IEBACisjIE1BSU4gW01BTkRBVE9SWV0KKworc2VydmVybmFtZQkJbG9jYWxob3N0Cisjc2VydmVybmFtZQkJd3d3Lm5hemd1bC5jaDo4MDgwCitzZXJ2ZXJsaXN0ZW4JCSoKKyNzZXJ2ZXJsaXN0ZW4JCTgxLjIyMS4yMS4yNTAgMTI3LjAuMC4xIDo6MQorc2VydmVyYWRtaW4JCXdlYm1hc3RlckBsb2NhbGhvc3QKK3NlcnZlcnJvb3QJCS92YXIvbm9zdHJvbW8KK3NlcnZlcm1pbWVzCQkvdmFyL25vc3Ryb21vL2NvbmYvbWltZXMKK2RvY3Jvb3QJCQkvdmFyL25vc3Ryb21vL2h0ZG9jcworZG9jaW5kZXgJCWluZGV4Lmh0bWwKKworIyBMT0dTIFtPUFRJT05BTF0KKworbG9ncGlkCQkJL3Zhci9ydW4vbm9zdHJvbW8vbmh0dHBkLnBpZAorI2xvZ2FjY2VzcwkJL3Zhci9sb2cvbm9zdHJvbW8vYWNjZXNzX2xvZworCisjIFNFVFVJRCBbUkVDT01NRU5ERURdCisKK3VzZXIJCQl3d3ctZGF0YQorCisjIEJBU0lDIEFVVEhFTlRJQ0FUSU9OIFtPUFRJT05BTF0KKworI2h0YWNjZXNzCQkuaHRhY2Nlc3MKKyNodHBhc3N3ZAkJL3Zhci9ub3N0cm9tby9jb25mLy5odHBhc3N3ZAorI2h0cGFzc3dkCQkrYnNkYXV0aAorI2h0cGFzc3dkCQkrYnNkYXV0aG5vc3NsCisKKyMgU1NMIFtPUFRJT05BTF0KKworI3NzbHBvcnQJCTQ0MworI3NzbGNlcnQJCS9ldGMvc3NsL3NlcnZlci5jcnQKKyNzc2xjZXJ0a2V5CQkvZXRjL3NzbC9zZXJ2ZXIua2V5CisKKyMgQ1VTVE9NIFJFU1BPTlNFUyBbT1BUSU9OQUxdCisjCisjIFRoZSBjdXN0b20gcmVzcG9uc2VzIGFyZSBzZWFyY2hlZCBpbiB0aGUgY29ycmVzcG9uZGluZyBkb2N1bWVudCByb290LgorCisjY3VzdG9tXzQwMQkJY3VzdG9tXzQwMS5odG1sCisjY3VzdG9tXzQwMwkJY3VzdG9tXzQwMy5odG1sCisjY3VzdG9tXzQwNAkJY3VzdG9tXzQwNC5odG1sCisKKyMgQUxJQVNFUyBbT1BUSU9OQUxdCisKKy9pY29ucwkJCS92YXIvbm9zdHJvbW8vaWNvbnMKKworIyBWSVJUVUFMIEhPU1RTIFtPUFRJT05BTF0KKworI3d3dy5yYWhlbC5jaAkJL3Zhci9ub3N0cm9tby9odGRvY3Mvd3d3LnJhaGVsLmNoCisjd3d3LnJhaGVsLmNoOjgwODAJL3Zhci9ub3N0cm9tby9odGRvY3Mvd3d3LnJhaGVsLmNoCisKKyMgSE9NRURJUlMgW09QVElPTkFMXQorCisjaG9tZWRpcnMJCS9ob21lCisjaG9tZWRpcnNfcHVibGljCXB1YmxpY193d3cKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9ub3N0cm9tby9maWxlcy9ub3N0cm9tbyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9ub3N0cm9tby9maWxlcy9ub3N0cm9tbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YTI4ODY4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25vc3Ryb21vL2ZpbGVzL25vc3Ryb21vCkBAIC0wLDAgKzEsMzQgQEAKKyMhL2Jpbi9zaAorCitQQVRIPS9zYmluOi9iaW46L3Vzci9zYmluOi91c3IvYmluCitEQUVNT049bmh0dHBkCitOQU1FPW5odHRwZAorREVTQz0iTm9zdHJvbW8gV2ViIFNlcnZlciIKK09QVFM9Ii1jIC9ldGMvbmh0dHBkLmNvbmYiCisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKwllY2hvIC1uICJTdGFydGluZyAkREVTQzogIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLXggIiREQUVNT04iIC0tICRPUFRTCisJZWNobyAiJE5BTUUuIgorCTs7CisgIHN0b3ApCisJZWNobyAtbiAiU3RvcHBpbmcgJERFU0M6ICIKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLXggIiREQUVNT04iCisJZWNobyAiJE5BTUUuIgorCTs7CisgIHJlc3RhcnR8Zm9yY2UtcmVsb2FkKQorCWVjaG8gLW4gIlJlc3RhcnRpbmcgJERFU0M6ICIKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLXggIiREQUVNT04iCisJc2xlZXAgMQorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLXggIiREQUVNT04iIC0tICRPUFRTCisJZWNobyAiJE5BTUUuIgorCTs7CisgICopCisJTj0vZXRjL2luaXQuZC8kTkFNRQorCWVjaG8gIlVzYWdlOiAkTiB7c3RhcnR8c3RvcHxyZXN0YXJ0fGZvcmNlLXJlbG9hZH0iID4mMgorCWV4aXQgMQorCTs7Citlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25vc3Ryb21vL2ZpbGVzL3RtcGZpbGVzLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbm9zdHJvbW8vZmlsZXMvdG1wZmlsZXMuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iN2E5ZjQ4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25vc3Ryb21vL2ZpbGVzL3RtcGZpbGVzLmNvbmYKQEAgLTAsMCArMSBAQAorZCAvcnVuL25vc3Ryb21vIC0gd3d3LWRhdGEgd3d3LWRhdGEgLQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25vc3Ryb21vL2ZpbGVzL3ZvbGF0aWxlcyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9ub3N0cm9tby9maWxlcy92b2xhdGlsZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDA5MjQ5NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9ub3N0cm9tby9maWxlcy92b2xhdGlsZXMKQEAgLTAsMCArMSwyIEBACitkIHd3dy1kYXRhIHd3dy1kYXRhIDA3NzUgL3Zhci9ydW4vbm9zdHJvbW8gbm9uZQorZCB3d3ctZGF0YSB3d3ctZGF0YSAwNzc1IC92YXIvbG9nL25vc3Ryb21vIG5vbmUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9ub3N0cm9tby9ub3N0cm9tb18xLjkuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9ub3N0cm9tby9ub3N0cm9tb18xLjkuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NjJlY2QwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25vc3Ryb21vL25vc3Ryb21vXzEuOS41LmJiCkBAIC0wLDAgKzEsNjkgQEAKK1NVTU1BUlkgPSAiQSBzaW1wbGUsIGZhc3QgYW5kIHNlY3VyZSBIVFRQIHNlcnZlciIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubmF6Z3VsLmNoL2Rldl9ub3N0cm9tby5odG1sIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9zcmMvbmh0dHBkL21haW4uYztiZWdpbmxpbmU9MjtlbmRsaW5lPTE0O21kNT1lNWVjM2ZhNzIzYjI5YjdkNTlkMjA1YWZkOGQzNjkzOCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lm5hemd1bC5jaC9kZXYvJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUdOVW1ha2VmaWxlLWFkZC1wb3NzaWJpbGl0eS10by1vdmVycmlkZS12YXJpYWJsZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbmh0dHBkLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vdm9sYXRpbGVzIFwKKyAgICAgICAgICAgZmlsZTovL3RtcGZpbGVzLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vbm9zdHJvbW8gXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZGM2Y2ZkNmI1YWFlMDRjMzcwYzdmODE4ZmE3YmRlNTUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWY2MjU3ODI4NWUwMjQ0OTQwNmI0NmNmMDZhNzg4OGZlM2RjNGE5MGJlZGY1OGNjMTg1MjNiYWQ2MmY2YjkxNCIKKworVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCisKK0RFUEVORFMgPSAib3BlbnNzbCIKKworaW5oZXJpdCB1cGRhdGUtcmMuZCB1c2VyYWRkCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJub3N0cm9tbyIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIDcwIgorCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UKK30KKworIyB3ZSBuZWVkIHVzZXIvZ3JvdXAgd3d3LWRhdGEgdG8gZXhpc3Qgd2hlbiB3ZSBpbnN0YWxsCisjCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSAtZyB3d3ctZGF0YSB3d3ctZGF0YSIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzYmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSBzcmMvbmh0dHBkL25odHRwZCAke0R9LyR7c2JpbmRpcn0vbmh0dHBkCisgICAgaW5zdGFsbCAtbSAwNzU1IHNyYy90b29scy9jcnlwdCAke0R9LyR7c2JpbmRpcn0vY3J5cHQKKyAgICBpbnN0YWxsIC1kICR7RH0vJHttYW5kaXJ9L21hbjgKKyAgICBpbnN0YWxsIC1tIDA0NDQgc3JjL25odHRwZC9uaHR0cGQuOCAke0R9LyR7bWFuZGlyfS9tYW44L25odHRwZC44CisgICAgaW5zdGFsbCAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9ub3N0cm9tby9jb25mCisgICAgaW5zdGFsbCAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9ub3N0cm9tby9odGRvY3MvY2dpLWJpbgorICAgIGluc3RhbGwgLWQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbm9zdHJvbW8vaWNvbnMKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gMDY0NCBjb25mL21pbWVzICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L25vc3Ryb21vL2NvbmYvbWltZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9uaHR0cGQuY29uZiAke0R9JHtzeXNjb25mZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L25vc3Ryb21vICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLUQgLW0gMDY0NCAke1dPUktESVJ9L3ZvbGF0aWxlcyAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcy9ub3N0cm9tbworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLUQgLW0gMDY0NCAke1dPUktESVJ9L3RtcGZpbGVzLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC9ub3N0cm9tby5jb25mCisgICAgZmkKKyAgICBpbnN0YWxsIC1tIDA2NDQgaHRkb2NzL2luZGV4Lmh0bWwgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbm9zdHJvbW8vaHRkb2NzL2luZGV4Lmh0bWwKKyAgICBpbnN0YWxsIC1tIDA2NDQgaHRkb2NzL25vc3Ryb21vLmdpZiAke0R9JHtsb2NhbHN0YXRlZGlyfS9ub3N0cm9tby9odGRvY3Mvbm9zdHJvbW8uZ2lmCisgICAgaW5zdGFsbCAtbSAwNjQ0IGljb25zL2Rpci5naWYgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbm9zdHJvbW8vaWNvbnMvZGlyLmdpZgorICAgIGluc3RhbGwgLW0gMDY0NCBpY29ucy9maWxlLmdpZiAke0R9JHtsb2NhbHN0YXRlZGlyfS9ub3N0cm9tby9pY29ucy9maWxlLmdpZgorICAgIGNob3duIC1SIHd3dy1kYXRhOnd3dy1kYXRhICR7RH0vJHtsb2NhbHN0YXRlZGlyfS9ub3N0cm9tbworfQorCitDT05GRklMRVNfJHtQTn0gKz0gIi92YXIvbm9zdHJvbW8vY29uZi9taW1lcyAke3N5c2NvbmZkaXJ9L25odHRwZC5jb25mIgorCitwa2dfcG9zdGluc3RfJHtQTn0gKCkgeworICAgIGlmIFsgLXogIiREIiBdOyB0aGVuCisgICAgICAgIGlmIFsgLWUgL3N5cy9mcy9jZ3JvdXAvc3lzdGVtZCBdOyB0aGVuCisgICAgICAgICAgICBzeXN0ZW1kLXRtcGZpbGVzIC0tY3JlYXRlICR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC9ub3N0cm9tby5jb25mCisgICAgICAgIGVsaWYgWyAtZSAke3N5c2NvbmZkaXJ9L2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCBdOyB0aGVuCisgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCB1cGRhdGUKKyAgICAgICAgZmkKKyAgICBmaQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL3N0aHR0cGQvc3RodHRwZC9pbml0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL3N0aHR0cGQvc3RodHRwZC9pbml0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1ZjdiMDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvc3RodHRwZC9zdGh0dHBkL2luaXQKQEAgLTAsMCArMSw1MiBAQAorIyEvYmluL3NoCisKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6ICAgICAgICAgIHRodHRwZAorIyBSZXF1aXJlZC1TdGFydDogICAgJHJlbW90ZV9mcyAkc3lzbG9nCisjIFJlcXVpcmVkLVN0b3A6ICAgICAkcmVtb3RlX2ZzICRzeXNsb2cKKyMgRGVmYXVsdC1TdGFydDogICAgIDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAgICAgIDAgMSA2CisjIFNob3J0LURlc2NyaXB0aW9uOiBTbWFsbCBodHRwIHNlcnZlcgorIyBEZXNjcmlwdGlvbjogICAgICAgdGh0dHBkIGlzIGEgc2ltcGxlLCBzbWFsbCwgcG9ydGFibGUsIGZhc3QsIGFuZCBzZWN1cmUgSFRUUCBzZXJ2ZXIuCisjIyMgRU5EIElOSVQgSU5GTworCisKK3RodHRwZD0vdXNyL3NiaW4vdGh0dHBkCit0ZXN0IC14ICIkdGh0dHBkIiB8fCBleGl0IDAKKworCitjYXNlICIkMSIgaW4KKyAgc3RhcnQpCisgICAgZWNobyAtbiAiU3RhcnRpbmcgdGh0dHBkIgorICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLS1xdWlldCAtLWV4ZWMgJHRodHRwZCAtLSAtQyBAQENPTkZGSUxFCisgICAgZWNobyAiLiIKKyAgICA7OworICBzdG9wKQorICAgIGVjaG8gLW4gIlN0b3BwaW5nIHRodHRwZCIKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLWV4ZWMgJHRodHRwZAorICAgIGVjaG8gIi4iCisgICAgOzsKKyAgcmVsb2FkfGZvcmNlLXJlbG9hZCkKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLXNpZ25hbCAxIC0tZXhlYyAkdGh0dHBkCisgICAgOzsKKyAgcmVzdGFydCkKKyAgICBlY2hvIC1uICJTdG9wcGluZyB0aHR0cGQiCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tcXVpZXQgLS1leGVjICR0aHR0cGQgLS0gLUMgQEBDT05GRklMRQorICAgIGVjaG8gIi4iCisgICAgZWNobyAtbiAiV2FpdGluZyBmb3IgdGh0dHBkIHRvIGRpZSBvZmYiCisgICAgZm9yIGkgaW4gMSAyIDMgOworICAgIGRvCisgICAgICAgIHNsZWVwIDEKKyAgICAgICAgZWNobyAtbiAiLiIKKyAgICBkb25lCisgICAgZWNobyAiIgorICAgIGVjaG8gLW4gIlN0YXJ0aW5nIHRodHRwZCIKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0YXJ0IC0tcXVpZXQgLS1leGVjICR0aHR0cGQgLS0gLUMgQEBDT05GRklMRQorICAgIGVjaG8gIi4iCisgICAgOzsKKyAgKikKKyAgICBlY2hvICJVc2FnZTogL2V0Yy9pbml0LmQvdGh0dHBkIHtzdGFydHxzdG9wfHJlbG9hZHxyZXN0YXJ0fGZvcmNlLXJlbG9hZH0iCisgICAgZXhpdCAxCitlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL3N0aHR0cGQvc3RodHRwZC90aHR0cGQuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9zdGh0dHBkL3N0aHR0cGQvdGh0dHBkLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzk3OTg0ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9zdGh0dHBkL3N0aHR0cGQvdGh0dHBkLmNvbmYKQEAgLTAsMCArMSBAQAorZGlyPUBAU1JWRElSCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvc3RodHRwZC9zdGh0dHBkL3RodHRwZC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL3N0aHR0cGQvc3RodHRwZC90aHR0cGQuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTA5NTAwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL3N0aHR0cGQvc3RodHRwZC90aHR0cGQuc2VydmljZQpAQCAtMCwwICsxLDEwIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPVRpbnkvVHVyYm8vVGhyb3R0bGluZyBXZWIgU2VydmVyCisKK1tTZXJ2aWNlXQorVHlwZT1mb3JraW5nCitFeGVjU3RhcnQ9L3Vzci9zYmluL3RodHRwZCAtQyBAQENPTkZGSUxFIC1jIGNnaS1iaW4vKiAtaSAvdmFyL3J1bi90aHR0cGQucGlkCitQSURGaWxlPS92YXIvcnVuL3RodHRwZC5waWQKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL3N0aHR0cGQvc3RodHRwZF8yLjI2LjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvc3RodHRwZC9zdGh0dHBkXzIuMjYuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MDM0OTIxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL3N0aHR0cGQvc3RodHRwZF8yLjI2LjQuYmIKQEAgLTAsMCArMSw0NSBAQAorU1VNTUFSWSA9ICJBIHNpbXBsZSwgc21hbGwsIHBvcnRhYmxlLCBmYXN0LCBhbmQgc2VjdXJlIEhUVFAgc2VydmVyIgorREVTQ1JJUFRJT04gPSAiQSBzaW1wbGUsIHNtYWxsLCBwb3J0YWJsZSwgZmFzdCwgYW5kIHNlY3VyZSBIVFRQIHNlcnZlciAoc3VwcG9ydGVkIGZvcmsgb2YgdGh0dHBkKS4iCitIT01FUEFHRSA9ICJodHRwOi8vb3BlbnNvdXJjZS5keWMuZWR1L3N0aHR0cGQiCitMSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3NyYy90aHR0cGQuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTI2O21kNT0wYzU3NjJjMmMzNGRjYmU5ZWIxODgxNTUxNjUwMjg3MiIKKworU1JDX1VSSSA9ICJodHRwOi8vb3BlbnNvdXJjZS5keWMuZWR1L3B1Yi9zdGh0dHBkL3N0aHR0cGQtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3RodHRwZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL3RodHRwZC5jb25mIFwKKyAgICAgICAgICAgZmlsZTovL2luaXQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlNjQ1YTg1YTk3ZDNjYjg4MzAxMWEzNWJjMjIxMTgxNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3OGU4Nzk3OTE0MGNiZGExMjNjODFiNDA1MTU1MjI0MmRiYmZmYjVkZWMxYTE3ZTVmOTVlYzQ4MjZiMWVhZGRiIgorCitTID0gIiR7V09SS0RJUn0vc3RodHRwZC0ke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLXJjLmQgc3lzdGVtZAorCitTUlZfRElSID89ICIke3NlcnZpY2VkaXJ9L3d3dyIKKworRVhUUkFfT0VNQUtFICs9ICInV0VCRElSPSR7U1JWX0RJUn0nIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1jIC1tIDc1NSAke1dPUktESVJ9L2luaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3RodHRwZAorICAgIGluc3RhbGwgLWMgLW0gNzU1ICR7V09SS0RJUn0vdGh0dHBkLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0KKyAgICBzZWQgLWkgLWUgJ3MsQEBDT05GRklMRSwke3N5c2NvbmZkaXJ9L3RodHRwZC5jb25mLGcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC90aHR0cGQKKyAgICBzZWQgLWkgLWUgJ3MsQEBTUlZESVIsJHtTUlZfRElSfSxnJyAke0R9JHtzeXNjb25mZGlyfS90aHR0cGQuY29uZgorICAgIHNlZCAtaSAncyEvdXNyL3NiaW4vISR7c2JpbmRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC90aHR0cGQKKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS90aHR0cGQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIHNlZCAtaSAncyEvdXNyL3NiaW4vISR7c2JpbmRpcn0vIWcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3RodHRwZC5zZXJ2aWNlCisgICAgc2VkIC1pICdzIS92YXIvISR7bG9jYWxzdGF0ZWRpcn0vIWcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3RodHRwZC5zZXJ2aWNlCisgICAgc2VkIC1pIC1lICdzLEBAQ09ORkZJTEUsJHtzeXNjb25mZGlyfS90aHR0cGQuY29uZixnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS90aHR0cGQuc2VydmljZQorfQorCitJTklUU0NSSVBUX05BTUUgPSAidGh0dHBkIgorSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMiCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJ0aHR0cGQuc2VydmljZSIKKworRklMRVNfJHtQTn0gKz0gIiR7U1JWX0RJUn0iCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7U1JWX0RJUn0vY2dpLWJpbi8uZGVidWciCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1waHAvcGhwbXlhZG1pbi9waHBteWFkbWluL1BvcnQtY29udGVudC1zcG9vZmluZy1maXgtQ1ZFLTIwMTUtNzg3My5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1waHAvcGhwbXlhZG1pbi9waHBteWFkbWluL1BvcnQtY29udGVudC1zcG9vZmluZy1maXgtQ1ZFLTIwMTUtNzg3My5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZTZiY2JkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC9waHBteWFkbWluL3BocG15YWRtaW4vUG9ydC1jb250ZW50LXNwb29maW5nLWZpeC1DVkUtMjAxNS03ODczLnBhdGNoCkBAIC0wLDAgKzEsNDggQEAKK0Zyb20gYWU3ZWFlMWNjODhjYmRmMmQyN2E2ZjEwZjA5N2VmNzMxODIzNjg5ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFdlbnpvbmcgRmFuIDx3ZW56b25nLmZhbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogU2F0LCAxNCBOb3YgMjAxNSAwMjowMTo1NCAtMDUwMAorU3ViamVjdDogW1BBVENIXSBQb3J0IGNvbnRlbnQgc3Bvb2ZpbmcgZml4CisKK0JhY2twb3J0IHVwc3RyZWFtIGNvbW1pdCBmb3IgZml4aW5nIENWRS0yMDE1LTc4NzM6CisgIGh0dHBzOi8vZ2l0aHViLmNvbS9waHBteWFkbWluL3BocG15YWRtaW4vY29tbWl0L2NkMDk3NjU2NzU4Zjk4MWY4MGZiOTAyOWM3ZDZiNDI5NDU4MmI3MDYKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitTaWduZWQtb2ZmLWJ5OiBNYXJjIERlbGlzbGUgPG1hcmNAaW5mb21hcmMuaW5mbz4KK1NpZ25lZC1vZmYtYnk6IFdlbnpvbmcgRmFuIDx3ZW56b25nLmZhbkB3aW5kcml2ZXIuY29tPgorLS0tCisgQ2hhbmdlTG9nIHwgNCArKysrCisgdXJsLnBocCAgIHwgMyArKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCitpbmRleCA0Y2I2NzA4Li45NjkzNmM4IDEwMDY0NAorLS0tIGEvQ2hhbmdlTG9nCisrKysgYi9DaGFuZ2VMb2cKK0BAIC0xMDcsNiArMTA3LDEwIEBAIHBocE15QWRtaW4gLSBDaGFuZ2VMb2cKKyAtIGlzc3VlICMxMTQ0OCBDbGFyaWZ5IGRvYyBhYm91dCB0aGUgTWVtb3J5TGltaXQgZGlyZWN0aXZlCisgLSBpc3N1ZSAjMTE0ODkgQ2Fubm90IGNvcHkgYSBkYXRhYmFzZSB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMKKyAKKys0LjQuMTUuMSAoMjAxNS0xMC0yMykKKystIGlzc3VlICMxMTQ2NCBwaHBNeUFkbWluIHN1Z2dlc3RzIHVwZ3JhZGluZyB0byBuZXdlciB2ZXJzaW9uIG5vdCB1c2FibGUgb24gdGhhdCBzeXN0ZW0KKystIGlzc3VlIFtzZWN1cml0eV0gQ29udGVudCBzcG9vZmluZyBvbiB1cmwucGhwCisrCisgNC40LjE1LjAgKG5vdCB5ZXQgcmVsZWFzZWQpCisgLSBpc3N1ZSAjMTE0MTEgVW5kZWZpbmVkICJyZXBsYWNlIiBmdW5jdGlvbiBvbiBudW1lcmljIHNjYWxhcgorIC0gaXNzdWUgIzExNDIxIFN0b3JlZC1wcm9jIC8gcm91dGluZSAtIGJyb2tlbiBwYXJhbWV0ZXIgcGFyc2luZworZGlmZiAtLWdpdCBhL3VybC5waHAgYi91cmwucGhwCitpbmRleCBlZWM3OGE1Li45YzRjODg0IDEwMDY0NAorLS0tIGEvdXJsLnBocAorKysrIGIvdXJsLnBocAorQEAgLTMyLDYgKzMyLDcgQEAgaWYgKCEgUE1BX2lzVmFsaWQoJF9SRVFVRVNUWyd1cmwnXSkKKyAgICAgICAgICAgICB9CisgICAgICAgICA8L3NjcmlwdD4iOworICAgICAvLyBEaXNwbGF5IHJlZGlyZWN0aW5nIG1zZyBvbiBzY3JlZW4uCistICAgIHByaW50ZihfXygnVGFraW5nIHlvdSB0byAlcy4nKSwgaHRtbHNwZWNpYWxjaGFycygkX1JFUVVFU1RbJ3VybCddKSk7CisrICAgIC8vIERvIG5vdCBkaXNwbGF5IHRoZSB2YWx1ZSBvZiAkX1JFUVVFU1RbJ3VybCddIHRvIGF2b2lkIHNob3dpbmcgaW5qZWN0ZWQgY29udGVudAorKyAgICBlY2hvIF9fKCdUYWtpbmcgeW91IHRvIHRoZSB0YXJnZXQgc2l0ZS4nKTsKKyB9CisgZGllKCk7CistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1waHAvcGhwbXlhZG1pbi9waHBteWFkbWluL2FwYWNoZS5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC9waHBteWFkbWluL3BocG15YWRtaW4vYXBhY2hlLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTRjYmQ4NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1waHAvcGhwbXlhZG1pbi9waHBteWFkbWluL2FwYWNoZS5jb25mCkBAIC0wLDAgKzEsNDIgQEAKKyMgcGhwTXlBZG1pbiBkZWZhdWx0IEFwYWNoZSBjb25maWd1cmF0aW9uCisKK0FsaWFzIC9waHBteWFkbWluIC91c3Ivc2hhcmUvcGhwbXlhZG1pbgorCis8RGlyZWN0b3J5IC91c3Ivc2hhcmUvcGhwbXlhZG1pbj4KKwlPcHRpb25zIEZvbGxvd1N5bUxpbmtzCisJRGlyZWN0b3J5SW5kZXggaW5kZXgucGhwCisJUmVxdWlyZSBhbGwgZ3JhbnRlZAorCisJPElmTW9kdWxlIG1vZF9waHA1LmM+CisJCUFkZFR5cGUgYXBwbGljYXRpb24veC1odHRwZC1waHAgLnBocAorCisJCXBocF9mbGFnIG1hZ2ljX3F1b3Rlc19ncGMgT2ZmCisJCXBocF9mbGFnIHRyYWNrX3ZhcnMgT24KKwkJcGhwX2ZsYWcgcmVnaXN0ZXJfZ2xvYmFscyBPZmYKKwkJcGhwX2FkbWluX2ZsYWcgYWxsb3dfdXJsX2ZvcGVuIE9mZgorCQlwaHBfdmFsdWUgaW5jbHVkZV9wYXRoIC4KKwkJcGhwX2FkbWluX3ZhbHVlIHVwbG9hZF90bXBfZGlyIC92YXIvbGliL3BocG15YWRtaW4vdG1wCisJCXBocF9hZG1pbl92YWx1ZSBvcGVuX2Jhc2VkaXIgL3Vzci9zaGFyZS9waHBteWFkbWluLzovZXRjL3BocG15YWRtaW4vOi92YXIvbGliL3BocG15YWRtaW4vCisJPC9JZk1vZHVsZT4KKzwvRGlyZWN0b3J5PgorCisjIEF1dGhvcml6ZSBmb3Igc2V0dXAKKzxEaXJlY3RvcnkgL3Vzci9zaGFyZS9waHBteWFkbWluL3NldHVwPgorICAgIDxJZk1vZHVsZSBtb2RfYXV0aG5fZmlsZS5jPgorICAgIEF1dGhUeXBlIEJhc2ljCisgICAgQXV0aE5hbWUgInBocE15QWRtaW4gU2V0dXAiCisgICAgQXV0aFVzZXJGaWxlIC9ldGMvcGhwbXlhZG1pbi9odHBhc3N3ZC5zZXR1cAorICAgIDwvSWZNb2R1bGU+CisgICAgUmVxdWlyZSB2YWxpZC11c2VyCis8L0RpcmVjdG9yeT4KKworIyBEaXNhbGxvdyB3ZWIgYWNjZXNzIHRvIGRpcmVjdG9yaWVzIHRoYXQgZG9uJ3QgbmVlZCBpdAorPERpcmVjdG9yeSAvdXNyL3NoYXJlL3BocG15YWRtaW4vbGlicmFyaWVzPgorICAgIE9yZGVyIERlbnksQWxsb3cKKyAgICBEZW55IGZyb20gQWxsCis8L0RpcmVjdG9yeT4KKzxEaXJlY3RvcnkgL3Vzci9zaGFyZS9waHBteWFkbWluL3NldHVwL2xpYj4KKyAgICBPcmRlciBEZW55LEFsbG93CisgICAgRGVueSBmcm9tIEFsbAorPC9EaXJlY3Rvcnk+CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1waHAvcGhwbXlhZG1pbi9waHBteWFkbWluL3BocG15YWRtaW4tQ1ZFLTIwMTUtODY2OS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1waHAvcGhwbXlhZG1pbi9waHBteWFkbWluL3BocG15YWRtaW4tQ1ZFLTIwMTUtODY2OS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NWZmZjY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC9waHBteWFkbWluL3BocG15YWRtaW4vcGhwbXlhZG1pbi1DVkUtMjAxNS04NjY5LnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKK1tTZWN1cml0eV0gUGF0aCBkaXNjbG9zdXJlLCBzZWUgUE1BU0EtMjAxNS02CisKK1Vwc3RyZWFtLVN0YXR1czogQmFjcG9ydAorCitTaWduZWQtb2ZmLWJ5OiBNYXJjIERlbGlzbGUgPG1hcmNAaW5mb21hcmMuaW5mbz4KKworZGlmZiAtTnVyIHBocE15QWRtaW4tNC41LjAuMi1hbGwtbGFuZ3VhZ2VzLm9yaWcvbGlicmFyaWVzL2NvbmZpZy9tZXNzYWdlcy5pbmMucGhwIHBocE15QWRtaW4tNC41LjAuMi1hbGwtbGFuZ3VhZ2VzL2xpYnJhcmllcy9jb25maWcvbWVzc2FnZXMuaW5jLnBocAorLS0tIHBocE15QWRtaW4tNC41LjAuMi1hbGwtbGFuZ3VhZ2VzLm9yaWcvbGlicmFyaWVzL2NvbmZpZy9tZXNzYWdlcy5pbmMucGhwCTIwMTYtMDEtMjAgMTU6MTE6MTUuNDEwMTA2ODg4ICswODAwCisrKysgcGhwTXlBZG1pbi00LjUuMC4yLWFsbC1sYW5ndWFnZXMvbGlicmFyaWVzL2NvbmZpZy9tZXNzYWdlcy5pbmMucGhwCTIwMTYtMDEtMjAgMTU6MTQ6MDUuNzU4MTA4MDc2ICswODAwCitAQCAtMTEsNyArMTEsNyBAQAorICAqLworIAorIGlmICghZnVuY3Rpb25fZXhpc3RzKCdfXycpKSB7CistICAgIFBNQV9mYXRhbEVycm9yKCdCYWQgaW52b2NhdGlvbiEnKTsKKysgICAgZXhpdCgpOworIH0KKyAKKyAkc3RyQ29uZmlnQWxsb3dBcmJpdHJhcnlTZXJ2ZXJfZGVzYyA9IF9fKApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC9waHBteWFkbWluL3BocG15YWRtaW5fNC41LjAuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1waHAvcGhwbXlhZG1pbi9waHBteWFkbWluXzQuNS4wLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWMzMjE4NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1waHAvcGhwbXlhZG1pbi9waHBteWFkbWluXzQuNS4wLjIuYmIKQEAgLTAsMCArMSwzOCBAQAorU1VNTUFSWSA9ICJXZWItYmFzZWQgTXlTUUwgYWRtaW5pc3RyYXRpb24gaW50ZXJmYWNlIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5waHBteWFkbWluLm5ldCIKKyMgTWFpbiBjb2RlIGlzIEdQTHYyLCBsaWJyYXJpZXMvdGNwZGYgaXMgdW5kZXIgTEdQTHYzLCBqcy9qcXVlcnkgaXMgdW5kZXIgTUlUCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYzICYgTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGlicmFyaWVzL3RjcGRmL0xJQ0VOU0UuVFhUO21kNT01Yzg3YjY2YTUzNThlYmNjNDk1YjAzZTBhZmNkMzQyYyIKKworU1JDX1VSSSA9ICJodHRwczovL2ZpbGVzLnBocG15YWRtaW4ubmV0L3BocE15QWRtaW4vNC41LjAuMi9waHBNeUFkbWluLTQuNS4wLjItYWxsLWxhbmd1YWdlcy50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vUG9ydC1jb250ZW50LXNwb29maW5nLWZpeC1DVkUtMjAxNS03ODczLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2FwYWNoZS5jb25mIFwKKyAgICAgICAgICAgZmlsZTovL3BocG15YWRtaW4tQ1ZFLTIwMTUtODY2OS5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyZDA4ZDJmY2M4ZjcwZjg4YTExYTE0NzIzZTNjYTI3NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkMmU5MGVhNDg2ZDkwYjRlYmU1ZWIwMmQ3YWQzNDlhZDI5MTZjMTJhODk4MWY5ODU1MzM5NWVmNzhkMjJhOGVjIgorCitTID0gIiR7V09SS0RJUn0vcGhwTXlBZG1pbi0ke1BWfS1hbGwtbGFuZ3VhZ2VzIgorCitpbmhlcml0IGFsbGFyY2gKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9LyR7QlBOfQorICAgIGNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12ICogJHtEfSR7ZGF0YWRpcn0vJHtCUE59CisgICAgY2hvd24gLVIgcm9vdDpyb290ICR7RH0ke2RhdGFkaXJ9LyR7QlBOfQorICAgICMgRG9uJ3QgaW5zdGFsbCBwYXRjaGVzIHRvIHRhcmdldAorICAgIHJtIC1yZiAke0R9JHtkYXRhZGlyfS8ke0JQTn0vcGF0Y2hlcworCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9hcGFjaGUyL2NvbmYuZAorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2FwYWNoZS5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L2FwYWNoZTIvY29uZi5kL3BocG15YWRtaW4uY29uZgorCisgICAgIyBSZW1vdmUgYSBmZXcgc2NyaXB0cyB0aGF0IGV4cGxpY2l0bHkgcmVxdWlyZSBiYXNoICghKQorICAgIHJtIC1mICR7RH0ke2RhdGFkaXJ9L3BocG15YWRtaW4vbGlicmFyaWVzL3RyYW5zZm9ybWF0aW9ucy8qLnNoCit9CisKK0ZJTEVTXyR7UE59ID0gIiR7ZGF0YWRpcn0vJHtCUE59IFwKKyAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vYXBhY2hlMi9jb25mLmQiCisKK1JERVBFTkRTXyR7UE59ICs9ICJiYXNoIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC94ZGVidWcveGRlYnVnXzIuMi42LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC94ZGVidWcveGRlYnVnXzIuMi42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlY2FjODgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtcGhwL3hkZWJ1Zy94ZGVidWdfMi4yLjYuYmIKQEAgLTAsMCArMSwzNCBAQAorU1VNTUFSWSA9ICJEZWJ1Z2dpbmcgYW5kIHByb2ZpbGluZyBleHRlbnNpb24gZm9yIFBIUCIKK0xJQ0VOU0UgPSAiWGRlYnVnIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MzRkZjNhMjc0YWExMmI3OTU0MTdjNjU2MzRjMDdmMTYiCisKK0RFUEVORFMgPSAicGhwIgorCitTUkNfVVJJID0gImh0dHA6Ly94ZGVidWcub3JnL2ZpbGVzL3hkZWJ1Zy0ke1BWfS50Z3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmMjE2MzU2ODYxZTI3Mjg0NTgwZDAyMDgwNjBlYTdmYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2ZGQxY2JhMDYwNWU3NTAwOTMzMWFhMzYyNWExOWVmNDlhZGU1YTc1YWE5ZmUyZmY4YTgxODEwOGQyY2NlODRlIgorCitpbmhlcml0IGF1dG90b29scworCitFWFRSQV9PRUNPTkYgKz0gIi0tZW5hYmxlLXhkZWJ1ZyAtd2l0aC1waHAtY29uZmlnPSR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9L3BocC1jb25maWciCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBjZCAke1N9CisgICAgJHtTVEFHSU5HX0JJTkRJUl9DUk9TU30vcGhwaXplCisgICAgY2QgJHtCfQorCisgICAgIyBSdW5uaW5nIGF1dG9yZWNvbmYgYXMgYXV0b3Rvb2xzX2RvX2NvbmZpZ3VyZSB3b3VsZCBkbyBoZXJlCisgICAgIyBicmVha3MgdGhlIGxpYnRvb2wgY29uZmlndXJhdGlvbiByZXN1bHRpbmcgaW4gYSBmYWlsdXJlIGxhdGVyCisgICAgIyBpbiBkb19jb21waWxlLiBJdCdzIHBvc3NpYmxlIHRoaXMgbWF5IGJlIGZpeGFibGUsIGhvd2V2ZXIgdGhlCisgICAgIyBlYXNpZXN0IGNvdXJzZSBvZiBhY3Rpb24gZm9yIHRoZSBtb21lbnQgaXMgdG8gYXZvaWQgZG9pbmcgdGhhdC4KKyAgICBvZV9ydW5jb25mCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsIElOU1RBTExfUk9PVD0ke0R9Cit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vcGhwNS9leHRlbnNpb25zLyovKi5zbyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3BocDUvZXh0ZW5zaW9ucy8qLy5kZWJ1ZyIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXN1cHBvcnQvZmNnaS9mY2dpL0ZpeF9FT0Zfbm90X2RlY2xhcmVkX2lzc3VlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXN1cHBvcnQvZmNnaS9mY2dpL0ZpeF9FT0Zfbm90X2RlY2xhcmVkX2lzc3VlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxZGRlYWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtc3VwcG9ydC9mY2dpL2ZjZ2kvRml4X0VPRl9ub3RfZGVjbGFyZWRfaXNzdWUucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK0ZpeCBFT0Ygbm90IGRlY2xhcmVkIGlzc3VlLCBmb2xsb3dpbmcgaXMgdGhlIGVycm9yIGxvZy4KK2ZjZ2lvLmNwcDo3MDo3MjogZXJyb3I6ICdFT0YnIHdhcyBub3QgZGVjbGFyZWQgaW4gdGhpcyBzY29wZQorICAgICAgICAgICAgICBpZiAoRkNHWF9QdXRTdHIocGJhc2UoKSwgcGxlbiwgdGhpcy0+ZmNneCkgIT0gcGxlbikgcmV0dXJuIEVPRjsKKworU2lnbmVkLW9mZi1ieTogWWFuZyBIYWlibyA8YjQwODY5QGZyZWVzY2FsZS5jb20+CistLS0gZmNnaS1vcmkvbGliZmNnaS9mY2dpby5jcHAgMjAxNC0wNy0yOCAxODowMTowMC4wMDAwMDAwMDAgKzA4MDAKKysrKyBmY2dpLTIuNC4wL2xpYmZjZ2kvZmNnaW8uY3BwICAgICAgIDIwMTQtMDctMjggMTg6MDE6MjIuMDAwMDAwMDAwICswODAwCitAQCAtMjIsNiArMjIsNyBAQAorICNkZWZpbmUgRExMQVBJICBfX2RlY2xzcGVjKGRsbGV4cG9ydCkKKyAjZW5kaWYKKworKyNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlIDxsaW1pdHMuaD4KKyAjaW5jbHVkZSAiZmNnaW8uaCIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXN1cHBvcnQvZmNnaS9mY2dpL2FkZF9mb3JlaWduX3RvX0FNX0lOSVRfQVVUT01BS0UucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtc3VwcG9ydC9mY2dpL2ZjZ2kvYWRkX2ZvcmVpZ25fdG9fQU1fSU5JVF9BVVRPTUFLRS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lY2E2OTRhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXN1cHBvcnQvZmNnaS9mY2dpL2FkZF9mb3JlaWduX3RvX0FNX0lOSVRfQVVUT01BS0UucGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK3VzZSBhdXRvbWFrZSBvcHRpb25zICJmb3JlaWduIiB0byBzZXQgdGhlIHN0cmljdG5lc3MgYXMgYXBwcm9wcmlhdGUKKworU2lnbmVkLW9mZi1ieTogWWFuZyBIYWlibyA8YjQwODY5QGZyZWVzY2FsZS5jb20+CistLS0gZmNnaS1vcmkvY29uZmlndXJlLmluCTIwMTQtMDgtMDUgMTQ6NTg6MzUuMDAwMDAwMDAwICswODAwCisrKysgZmNnaS0yLjQuMC9jb25maWd1cmUuaW4JMjAxNC0wOC0wNSAxNDo1OTowOC4wMDAwMDAwMDAgKzA4MDAKK0BAIC00LDggKzQsOCBAQAorIGRubCAgICAgZ2VuZXJhdGUgdGhlIGZpbGUgImNvbmZpZ3VyZSIsIHdoaWNoIGlzIHJ1biBkdXJpbmcgdGhlIGJ1aWxkCisgZG5sICAgICB0byBjb25maWd1cmUgdGhlIHN5c3RlbSBmb3IgdGhlIGxvY2FsIGVudmlyb25tZW50LgorIAorLUFDX0lOSVQKKy1BTV9JTklUX0FVVE9NQUtFKGZjZ2ksIDIuNC4wKQorK0FDX0lOSVQoW2ZjZ2ldLCBbMi40LjBdKQorK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ25dKQorIAorIEFNX0NPTkZJR19IRUFERVIoZmNnaV9jb25maWcuaCkKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1zdXBwb3J0L2ZjZ2kvZmNnaV8yLjQuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1zdXBwb3J0L2ZjZ2kvZmNnaV8yLjQuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OGM1OTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXN1cHBvcnQvZmNnaS9mY2dpXzIuNC4wLmJiCkBAIC0wLDAgKzEsMTUgQEAKK0RFU0NSSVBUSU9OID0gIkZhc3RDR0kgaXMgYSBwcm90b2NvbCBmb3IgaW50ZXJmYWNpbmcgaW50ZXJhY3RpdmUgcHJvZ3JhbXMgd2l0aCBhIHdlYiBzZXJ2ZXIuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mYXN0Y2dpLmNvbSIKK0xJQ0VOU0UgPSAiT01MIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5URVJNUzttZDU9ZTNhYWNhYzNhNjQ3YWY2ZTdlMzFmMTgxY2RhMGEwNmEiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Zvc3NpZXMub3JnL2xpbnV4L3d3dy9vbGQvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL0ZpeF9FT0Zfbm90X2RlY2xhcmVkX2lzc3VlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2FkZF9mb3JlaWduX3RvX0FNX0lOSVRfQVVUT01BS0UucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImQxNTA2MGE4MTNiOTEzODNhOWYzYzY2ZmFmODQ4NjdlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY2ZmM0NWM2YjM2YTIxYmYyZmJiYjY4ZTkwZjc4MGNjMjFhOWRhMWZmZmJhZTc1ZTc2ZDJiNDQwMmQzZjA1YjkiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1BBUkFMTEVMX01BS0UgPSAiIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXN1cHBvcnQvc3Bhd24tZmNnaS9zcGF3bi1mY2dpLTEuNi40L2ZpeF9jb25maWd1cmVfaXB2Nl90ZXN0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXN1cHBvcnQvc3Bhd24tZmNnaS9zcGF3bi1mY2dpLTEuNi40L2ZpeF9jb25maWd1cmVfaXB2Nl90ZXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0MDlkZDIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtc3VwcG9ydC9zcGF3bi1mY2dpL3NwYXduLWZjZ2ktMS42LjQvZml4X2NvbmZpZ3VyZV9pcHY2X3Rlc3QucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorVGVzdGluZyBmb3IgSVB2NiBzdXBwb3J0IGdvdCBicm9rZW4gYnkgY29uZmlndXJlLmFjIGNoYW5nZXMgaW4gMS42LjQKK0FzIGEgdGVtcCB3b3JrYXJvdW5kLCByZXZlcnQgYmFjayB0byB0aGUgMS42LjMgdmVyc2lvbi4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKKy0tLSBzcGF3bi1mY2dpLTEuNi40L2NvbmZpZ3VyZS5hYworKysrIHNwYXduLWZjZ2ktMS42LjMvY29uZmlndXJlLmFjCitAQCAtNjYsOCArNDcsOCBAQAorICMgQ2hlY2sgZm9yIElQdjYgc3VwcG9ydAorIAorIEFDX0FSR19FTkFCTEUoaXB2NiwKKy0gIEFDX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtaXB2Nl0sW2Rpc2FibGUgSVB2NiBzdXBwb3J0XSksCistICBbY2FzZSAiJHtlbmFibGV2YWx9IiBpbgorKyBBQ19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWlwdjZdLFtkaXNhYmxlIElQdjYgc3VwcG9ydF0pLAorKyBbY2FzZSAiJHtlbmFibGV2YWx9IiBpbgorICAgIHllcykgaXB2Nj10cnVlIDs7CisgICAgIG5vKSBpcHY2PWZhbHNlIDs7CisgICAgICAqKSBBQ19NU0dfRVJST1IoYmFkIHZhbHVlICR7ZW5hYmxldmFsfSBmb3IgLS1lbmFibGUtaXB2NikgOzsKK0BAIC03NSwxMyArNTYsMTAgQEAKKyAKKyBpZiB0ZXN0IHgkaXB2NiA9IHh0cnVlOyB0aGVuCisgICBBQ19DQUNIRV9DSEVDSyhbZm9yIElQdjYgc3VwcG9ydF0sIGFjX2N2X2lwdjZfc3VwcG9ydCwKKy0gICAgW0FDX1RSWV9MSU5LKFtbCistI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorKyAgW0FDX1RSWV9MSU5LKFsgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CistI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KKy0gICAgXV0sIFtbCistc3RydWN0IHNvY2thZGRyX2luNiBzOyBzdHJ1Y3QgaW42X2FkZHIgdD1pbjZhZGRyX2FueTsgaW50IGk9QUZfSU5FVDY7IHM7IHQuczZfYWRkclswXSA9IDA7CistICAgIF1dLCBbYWNfY3ZfaXB2Nl9zdXBwb3J0PXllc10sIFthY19jdl9pcHY2X3N1cHBvcnQ9bm9dKV0pCisrI2luY2x1ZGUgPG5ldGluZXQvaW4uaD5dLCBbc3RydWN0IHNvY2thZGRyX2luNiBzOyBzdHJ1Y3QgaW42X2FkZHIgdD1pbjZhZGRyX2FueTsgaW50IGk9QUZfSU5FVDY7IHM7IHQuczZfYWRkclswXSA9IDA7IF0sCisrICBbYWNfY3ZfaXB2Nl9zdXBwb3J0PXllc10sIFthY19jdl9pcHY2X3N1cHBvcnQ9bm9dKV0pCisgCisgICBpZiB0ZXN0ICIkYWNfY3ZfaXB2Nl9zdXBwb3J0IiA9IHllczsgdGhlbgorICAgICBBQ19ERUZJTkUoSEFWRV9JUFY2LDEsW1doZXRoZXIgdG8gZW5hYmxlIElQdjYgc3VwcG9ydF0pCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtc3VwcG9ydC9zcGF3bi1mY2dpL3NwYXduLWZjZ2lfMS42LjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtc3VwcG9ydC9zcGF3bi1mY2dpL3NwYXduLWZjZ2lfMS42LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTllNThiZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1zdXBwb3J0L3NwYXduLWZjZ2kvc3Bhd24tZmNnaV8xLjYuNC5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJSWSA9ICJzcGF3bi1mY2dpIGlzIHVzZWQgdG8gc3Bhd24gRmFzdENHSSBhcHBsaWNhdGlvbnMiCitIT01FUEFHRSA9ICJodHRwOi8vcmVkbWluZS5saWdodHRwZC5uZXQvcHJvamVjdHMvc3Bhd24tZmNnaSIKKworTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lNGRhYzVjNmFiMTY5YWEyMTJmZWI1MDI4ODUzYTU3OSIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQubGlnaHR0cGQubmV0L3NwYXduLWZjZ2kvcmVsZWFzZXMtMS42Lngvc3Bhd24tZmNnaS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZml4X2NvbmZpZ3VyZV9pcHY2X3Rlc3QucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlOTcwZGU0ZWZlODA0NWMwMWRkNzYyODBmMzk5MDFhYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhYjMyNzQ2MmNiOTk4OTRhMzY5OWY4NzQ0MjVhNDIxZDkzNGY5NTdjYjI0MjIxZjAwYmI4ODgxMDhkOWRkMDllIgorCitpbmhlcml0IGF1dG90b29scworCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJpcHY2IiwgImlwdjYiLCAiIiwgZCl9IgorUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvZGlzYWJsZS12ZXJzaW9uLWNoZWNrLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9kaXNhYmxlLXZlcnNpb24tY2hlY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTllZTQwNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvZGlzYWJsZS12ZXJzaW9uLWNoZWNrLnBhdGNoCkBAIC0wLDAgKzEsNDUgQEAKK0Rpc2FibGUgT1MgdmVyc2lvbiBjaGVjayBpbiBzdGF0dXMgc2NyZWVuCisKK1RoZSBjb2RlIGlzIG5vdCBhYmxlIHRvIGFjY3VyYXRlbHkgZGV0ZWN0IHRoZSBjb3JyZWN0IGRpc3Ryby92ZXJzaW9uIGF0Cit0aGUgbW9tZW50LgorCitVcHN0cmVhbS1zdGF0dXM6IEluYXBwcm9wcmlhdGUKKworU2lnbmVkLW9mZi1ieTogUGF1bCBFZ2dsZXRvbiA8cGF1bC5lZ2dsZXRvbkBsaW51eC5pbnRlbC5jb20+CisKK2RpZmYgLS1naXQgYS93ZWJtaW4vd2VibWluLWxpYi5wbCBiL3dlYm1pbi93ZWJtaW4tbGliLnBsCitpbmRleCA1N2EzN2Y3Li44MzhiOTQ0IDEwMDc1NQorLS0tIGEvd2VibWluL3dlYm1pbi1saWIucGwKKysrKyBiL3dlYm1pbi93ZWJtaW4tbGliLnBsCitAQCAtMTA1OSwxOCArMTA1OSwxOSBAQCBteSAlbWluaXNlcnY7CisgJmxvYWRfdGhlbWVfbGlicmFyeSgpOwkjIFNvIHRoYXQgVUkgZnVuY3Rpb25zIHdvcmsKKyAKKyAjIE5lZWQgT1MgdXBncmFkZQorLW15ICVyZWFsb3MgPSAmZGV0ZWN0X29wZXJhdGluZ19zeXN0ZW0odW5kZWYsIDEpOworLWlmICgoJHJlYWxvc3snb3NfdmVyc2lvbid9IG5lICRnY29uZmlneydvc192ZXJzaW9uJ30gfHwKKy0gICAgICRyZWFsb3N7J29zX3R5cGUnfSBuZSAkZ2NvbmZpZ3snb3NfdHlwZSd9KSAmJgorLSAgICAkcmVhbG9zeydvc192ZXJzaW9uJ30gJiYgJHJlYWxvc3snb3NfdHlwZSd9ICYmCistICAgICZmb3JlaWduX2F2YWlsYWJsZSgid2VibWluIikpIHsKKy0JcHVzaChAbm90aWZzLCAKKy0JCSZ1aV9mb3JtX3N0YXJ0KCIkZ2NvbmZpZ3snd2VicHJlZml4J30vd2VibWluL2ZpeF9vcy5jZ2kiKS4KKy0JCSZ0ZXh0KCdvc19pbmNvcnJlY3QnLCAkcmVhbG9zeydyZWFsX29zX3R5cGUnfSwKKy0JCQkJICAgICRyZWFsb3N7J3JlYWxfb3NfdmVyc2lvbid9KS4iPHA+XG4iLgorLQkJJnVpX2Zvcm1fZW5kKFsgWyB1bmRlZiwgJHRleHR7J29zX2ZpeCd9IF0gXSkKKy0JCSk7CistCX0KKysjIERpc2FibGVkIGZvciBub3cgYXMgb3MtY2hvb3Nlci5wbCBkb2VzIG5vdCB3b3JrIG9uIG91ciBzeXN0ZW0KKysjbXkgJXJlYWxvcyA9ICZkZXRlY3Rfb3BlcmF0aW5nX3N5c3RlbSh1bmRlZiwgMSk7CisrI2lmICgoJHJlYWxvc3snb3NfdmVyc2lvbid9IG5lICRnY29uZmlneydvc192ZXJzaW9uJ30gfHwKKysjICAgICAkcmVhbG9zeydvc190eXBlJ30gbmUgJGdjb25maWd7J29zX3R5cGUnfSkgJiYKKysjICAgICRyZWFsb3N7J29zX3ZlcnNpb24nfSAmJiAkcmVhbG9zeydvc190eXBlJ30gJiYKKysjICAgICZmb3JlaWduX2F2YWlsYWJsZSgid2VibWluIikpIHsKKysjCXB1c2goQG5vdGlmcywgCisrIwkJJnVpX2Zvcm1fc3RhcnQoIiRnY29uZmlneyd3ZWJwcmVmaXgnfS93ZWJtaW4vZml4X29zLmNnaSIpLgorKyMJCSZ0ZXh0KCdvc19pbmNvcnJlY3QnLCAkcmVhbG9zeydyZWFsX29zX3R5cGUnfSwKKysjCQkJCSAgICAkcmVhbG9zeydyZWFsX29zX3ZlcnNpb24nfSkuIjxwPlxuIi4KKysjCQkmdWlfZm9ybV9lbmQoWyBbIHVuZGVmLCAkdGV4dHsnb3NfZml4J30gXSBdKQorKyMJCSk7CisrIwl9CisgCisgIyBQYXNzd29yZCBjbG9zZSB0byBleHBpcnkKKyBteSAkd2Fybl9kYXlzID0gJGNvbmZpZ3snd2Fybl9kYXlzJ307CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL2V4cG9ydHMtbGliLnBsLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9leHBvcnRzLWxpYi5wbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNzdkOGEzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9leHBvcnRzLWxpYi5wbC5wYXRjaApAQCAtMCwwICsxLDMyIEBACitGcm9tIDdlYmE0Yzk4YzY5NTNmYTZlYTc2YzE2MjBkMTk1MjRiY2ZhM2E1NzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLZXZpbiBTdHJhc3NlciA8a2V2aW4uc3RyYXNzZXJAbGludXguaW50ZWwuY29tPgorRGF0ZTogV2VkLCAxIEF1ZyAyMDEyIDExOjUxOjI2IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIG5mcyBleHBvcnQ6IHJlbW92ZSBuZnNkIGNoZWNrCisKK25mc2QgcnVucyBhcyBhIGtlcm5lbCBwcm9jZXNzIGFuZCBkb2VzIG5vdCBoYXZlIGEgcGlkLiBUaGlzIG1lYW5zCit0aGF0IHRoZSBjb21tYW5kIGFzc2lnbmVkIHRvIGFwcGx5X2NtZCB3aWxsIG5ldmVyIGJlIGV4ZWN1dGVkIHdoZW4KK3RoZSB1c2VyIHRyaWVzIHRvIGFwcGx5IGNoYW5nZXMgdG8gbmZzIGV4cG9ydHMuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlnXQorCitTaWduZWQtb2ZmLWJ5OiBLZXZpbiBTdHJhc3NlciA8a2V2aW4uc3RyYXNzZXJAbGludXguaW50ZWwuY29tPgorLS0tCisgZXhwb3J0cy9leHBvcnRzLWxpYi5wbCB8ICAgIDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2V4cG9ydHMvZXhwb3J0cy1saWIucGwgYi9leHBvcnRzL2V4cG9ydHMtbGliLnBsCitpbmRleCAyMjg5MWMwLi4xYzY3NDk0IDEwMDc1NQorLS0tIGEvZXhwb3J0cy9leHBvcnRzLWxpYi5wbAorKysrIGIvZXhwb3J0cy9leHBvcnRzLWxpYi5wbAorQEAgLTI3Myw3ICsyNzMsNyBAQCByZXR1cm4gISZoYXNfY29tbWFuZCgicnBjLm5mc2QiKSAmJiAhJmhhc19jb21tYW5kKCJuZnNkIikgJiYKKyBzdWIgcmVzdGFydF9tb3VudGQKKyB7CisgIyBUcnkgZXhwb3J0ZnMgLXIgZmlyc3QKKy1pZiAoJGNvbmZpZ3snYXBwbHlfY21kJ30gJiYgJmZpbmRfYnluYW1lKCJuZnNkIikgJiYgJmZpbmRfYnluYW1lKCJtb3VudGQiKSkgeworK2lmICgkY29uZmlneydhcHBseV9jbWQnfSAmJiAmZmluZF9ieW5hbWUoIm1vdW50ZCIpKSB7CisgCW15ICRvdXQgPSAmYmFja3F1b3RlX2xvZ2dlZCgiJGNvbmZpZ3snYXBwbHlfY21kJ30gMj4mMSA8L2Rldi9udWxsIik7CisgCWlmICghJD8gJiYgJG91dCAhfiAvaW52YWxpZHxlcnJvcnxmYWlsZWQvaSkgeworIAkJIyBMb29rcyBsaWtlIGl0IHdvcmtlZCEKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL2luaXQtZXhjbHVkZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvaW5pdC1leGNsdWRlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1NjMyMjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL2luaXQtZXhjbHVkZS5wYXRjaApAQCAtMCwwICsxLDc4IEBACisjIEhhY2sgaW4gc3VwcG9ydCBmb3IgYW4gImV4Y2x1ZGUiIGNvbmZpZyBvcHRpb24gZm9yIHRoZSBpbml0IG1vZHVsZSwgc28KKyMgd2UgY2FuIGhpZGUgY2VydGFpbiBzeXN0ZW0gc2VydmljZXMgdGhhdCBzaG91bGRuJ3QgcmVhbGx5IGJlIGNvbmZpZ3VyYWJsZQorIyB2aWEgdGhlIHdlYiBpbnRlcmZhY2UKKyMKKyMgVXBzdHJlYW0tc3RhdHVzOiBQZW5kaW5nCisjCisjIFNpZ25lZC1vZmYtYnk6IFBhdWwgRWdnbGV0b24gPHBhdWwuZWdnbGV0b25AbGludXguaW50ZWwuY29tPgorIyBTaWduZWQtb2ZmLWJ5OiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgaW5pdC9pbmRleC5jZ2kgICB8IDI3ICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQorIGluaXQvaW5pdC1saWIucGwgfCAgNSArKystLQorIDIgZmlsZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9pbml0L2luZGV4LmNnaSBiL2luaXQvaW5kZXguY2dpCitpbmRleCBkNDhiNzkzLi4zMGRhZmQ0IDEwMDc1NQorLS0tIGEvaW5pdC9pbmRleC5jZ2kKKysrKyBiL2luaXQvaW5kZXguY2dpCitAQCAtNDUsMTkgKzQ1LDIwIEBAIGVsc2lmICgkaW5pdF9tb2RlIGVxICJpbml0IiAmJiAkYWNjZXNzeydib290dXAnfSkgeworIAkJCQkJICAgICA6ICIkY29uZmlneydpbml0X2Rpcid9LyRhY1swXSIpOworIAkJfQorIAlAcnVubGV2ZWxzID0gJmxpc3RfcnVubGV2ZWxzKCk7CistCWZvcmVhY2ggJHIgKEBydW5sZXZlbHMpIHsKKy0JCWZvcmVhY2ggJHcgKCJTIiwgIksiKSB7CistCQkJZm9yZWFjaCAkYSAoJnJ1bmxldmVsX2FjdGlvbnMoJHIsICR3KSkgeworLQkJCQlAYWMgPSBzcGxpdCgvXHMrLywgJGEpOworLQkJCQlpZiAoISRub2RlbWFweyRhY1syXX0pIHsKKy0JCQkJCXB1c2goQGFjdHMsICRhY1sxXSk7CistCQkJCQlwdXNoKEBhY3RzbCwKKy0JCQkJCSAgICAgIjErJHIrJGFjWzBdKyRhY1sxXSskYWNbMl0rJHciKTsKKy0JCQkJCXB1c2goQGFjdHNmLCAiJGNvbmZpZ3snaW5pdF9iYXNlJ30vcmMkci5kLyR3JGFjWzBdJGFjWzFdIik7CistCQkJCQl9CistCQkJCX0KKy0JCQl9CistCQl9CisrCSMgQXNzdW1lIHRoZXJlIHdvbid0IGJlIGFueSBvZiB0aGVzZSBicm9rZW4gYWN0aW9ucworKwkjZm9yZWFjaCAkciAoQHJ1bmxldmVscykgeworKwkjCWZvcmVhY2ggJHcgKCJTIiwgIksiKSB7CisrCSMJCWZvcmVhY2ggJGEgKCZydW5sZXZlbF9hY3Rpb25zKCRyLCAkdykpIHsKKysJIwkJCUBhYyA9IHNwbGl0KC9ccysvLCAkYSk7CisrCSMJCQlpZiAoISRub2RlbWFweyRhY1syXX0pIHsKKysJIwkJCQlwdXNoKEBhY3RzLCAkYWNbMV0pOworKwkjCQkJCXB1c2goQGFjdHNsLAorKwkjCQkJCSAgICAgIjErJHIrJGFjWzBdKyRhY1sxXSskYWNbMl0rJHciKTsKKysJIwkJCQlwdXNoKEBhY3RzZiwgIiRjb25maWd7J2luaXRfYmFzZSd9L3JjJHIuZC8kdyRhY1swXSRhY1sxXSIpOworKwkjCQkJCX0KKysJIwkJCX0KKysJIwkJfQorKwkjCX0KKyAKKyAJIyBGb3IgZWFjaCBhY3Rpb24sIGxvb2sgYXQgL2V0Yy9yYyouZC8qIGZpbGVzIHRvIHNlZSBpZiBpdCBpcyAKKyAJIyBzdGFydGVkIGF0IGJvb3QKK2RpZmYgLS1naXQgYS9pbml0L2luaXQtbGliLnBsIGIvaW5pdC9pbml0LWxpYi5wbAoraW5kZXggZWFkMjFlZC4uYjQxNzk0YiAxMDA3NTUKKy0tLSBhL2luaXQvaW5pdC1saWIucGwKKysrKyBiL2luaXQvaW5pdC1saWIucGwKK0BAIC0xMTksOCArMTE5LDkgQEAgTGlzdCBib290IHRpbWUgYWN0aW9uIG5hbWVzIGZyb20gaW5pdC5kLCBzdWNoIGFzIGh0dHBkIGFuZCBjcm9uLgorID1jdXQKKyBzdWIgbGlzdF9hY3Rpb25zCisgeworLWxvY2FsKCRkaXIsICRmLCBAc3RidWYsIEBydik7CisrbG9jYWwoJGRpciwgJGYsIEBzdGJ1ZiwgQHJ2LCBAZXhjbHVkZSk7CisgJGRpciA9ICRjb25maWd7aW5pdF9kaXJ9OworK0BleGNsdWRlID0gc3BsaXQoLywvLCAkY29uZmlne2V4Y2x1ZGV9KTsKKyBvcGVuZGlyKERJUiwgJGRpcik7CisgZm9yZWFjaCAkZiAoc29ydCB7IGxjKCRhKSBjbXAgbGMoJGIpIH0gcmVhZGRpcihESVIpKSB7CisgCWlmICgkZiBlcSAiLiIgfHwgJGYgZXEgIi4uIiB8fCAkZiA9fiAvXC5iYWskLyB8fCAkZiBlcSAiZnVuY3Rpb25zIiB8fAorQEAgLTEyOCw3ICsxMjksNyBAQCBmb3JlYWNoICRmIChzb3J0IHsgbGMoJGEpIGNtcCBsYygkYikgfSByZWFkZGlyKERJUikpIHsKKyAJICAgIC1kICIkZGlyLyRmIiB8fCAkZiA9fiAvXC5zd3AkLyB8fCAkZiBlcSAic2tlbGV0b24iIHx8CisgCSAgICAkZiA9fiAvXC5sb2NrJC8gfHwgJGYgPX4gL1wuZHBrZy0ob2xkfGRpc3QpJC8gfHwKKyAJICAgICRmID1+IC9eXC5kZXBlbmRcLi8gfHwgJGYgZXEgJy5sZWdhY3ktYm9vdG9yZGVyaW5nJyB8fAorLQkgICAgJGYgPX4gL15tYW5kcmFrZS8pIHsgbmV4dDsgfQorKwkgICAgJGYgPX4gL15tYW5kcmFrZS8gfHwgZ3JlcCB7JF8gZXEgJGZ9IEBleGNsdWRlICkgeyBuZXh0OyB9CisgCWlmIChAc3RidWYgPSBzdGF0KCIkZGlyLyRmIikpIHsKKyAJCXB1c2goQHJ2LCAiJGYgJHN0YnVmWzFdIik7CisgCQl9CistLQorMi4wLjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9tZWRpYS10b21iLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9tZWRpYS10b21iLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2ZjMxMDkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL21lZGlhLXRvbWIucGF0Y2gKQEAgLTAsMCArMSw2NSBAQAorZGlmZiAtTnJ1IHdlYm1pbi0xLjU3MC5iYWsvbWVkaWF0b21iL2luZGV4LmNnaSB3ZWJtaW4tMS41NzAvbWVkaWF0b21iL2luZGV4LmNnaQorLS0tIHdlYm1pbi0xLjU3MC5iYWsvbWVkaWF0b21iL2luZGV4LmNnaQkxOTY5LTEyLTMxIDE2OjAwOjAwLjAwMDAwMDAwMCAtMDgwMAorKysrIHdlYm1pbi0xLjU3MC9tZWRpYXRvbWIvaW5kZXguY2dpCTIwMTEtMTAtMjYgMTA6MDA6MDUuOTkyNTIyMDM2IC0wNzAwCitAQCAtMCwwICsxLDEzIEBACisrIyEvdXNyL2Jpbi9wZXJsCisrIyBpbmRleC5jZ2kKKysjIERpc3BsYXkgTWVkaWFUb21iIG9wdGlvbiBjYXRlZ29yaWVzCisrCisrcmVxdWlyZSAnLi9tZWRpYXRvbWItbGliLnBsJzsKKysKKyt1aV9wcmludF9oZWFkZXIodW5kZWYsICR0ZXh0eydpbmRleF90aXRsZSd9LCAiIiwgdW5kZWYsIDEsIDEpOworKworKworKyRpcGFkZHJlc3MgPSAmZ2V0X215X2FkZHJlc3MoKTsKKytwcmludCAmdGV4dCgnaW5kZXhfZGVzYycsICRpcGFkZHJlc3MpLCI8cD5cbiI7CisrCisrdWlfcHJpbnRfZm9vdGVyKCIvIiwgJHRleHR7J2luZGV4J30pOworZGlmZiAtTnJ1IHdlYm1pbi0xLjU3MC5iYWsvbWVkaWF0b21iL2xhbmcvZW4gd2VibWluLTEuNTcwL21lZGlhdG9tYi9sYW5nL2VuCistLS0gd2VibWluLTEuNTcwLmJhay9tZWRpYXRvbWIvbGFuZy9lbgkxOTY5LTEyLTMxIDE2OjAwOjAwLjAwMDAwMDAwMCAtMDgwMAorKysrIHdlYm1pbi0xLjU3MC9tZWRpYXRvbWIvbGFuZy9lbgkyMDExLTEwLTI2IDEwOjAxOjEzLjM0MDUyMjE4NiAtMDcwMAorQEAgLTAsMCArMSwyIEBACisraW5kZXhfdGl0bGU9TWVkaWFUb21iCisraW5kZXhfZGVzYz1NZWRpYVRvbWIgaXMgYW4gb3BlbiBzb3VyY2UgKEdQTCkgVVBuUCBNZWRpYVNlcnZlciB3aXRoIGEgbmljZSB3ZWIgdXNlciBpbnRlcmZhY2UuIFlvdSBjYW4gYWNjZXNzIGl0IHZpYSA8YSBocmVmPSdodHRwOi8vJDE6NDkxNTMnPmhlcmU8L2E+LgorZGlmZiAtTnJ1IHdlYm1pbi0xLjU3MC5iYWsvbWVkaWF0b21iL21lZGlhdG9tYi1saWIucGwgd2VibWluLTEuNTcwL21lZGlhdG9tYi9tZWRpYXRvbWItbGliLnBsCistLS0gd2VibWluLTEuNTcwLmJhay9tZWRpYXRvbWIvbWVkaWF0b21iLWxpYi5wbAkxOTY5LTEyLTMxIDE2OjAwOjAwLjAwMDAwMDAwMCAtMDgwMAorKysrIHdlYm1pbi0xLjU3MC9tZWRpYXRvbWIvbWVkaWF0b21iLWxpYi5wbAkyMDExLTEwLTI2IDEwOjAxOjM0LjY5MjUyMjA3OSAtMDcwMAorQEAgLTAsMCArMSwzMSBAQAorKyMhL3Vzci9iaW4vcGVybAorKyMgbWVkaWF0b21iLWxpYi5wbAorKyMgQ29tbW9uIGZ1bmN0aW9ucyBmb3IgdGhlIE1lZGlhVG9tYiBtb2R1bGUKKysKKytCRUdJTiB7IHB1c2goQElOQywgIi4uIik7IH07CisrdXNlIFdlYm1pbkNvcmU7CisrJmluaXRfY29uZmlnKCk7CisrCisrc3ViIGdldF9teV9hZGRyZXNzCisreworK215ICRteWlwOworK2lmICgmZm9yZWlnbl9jaGVjaygibmV0IikpIHsKKysgICAgICAgICMgVHJ5IHRvIGdldCBldGhlcm5ldCBpbnRlcmZhY2UKKysgICAgICAgICZmb3JlaWduX3JlcXVpcmUoIm5ldCIsICJuZXQtbGliLnBsIik7CisrICAgICAgICBteSBAYWN0ID0gJm5ldDo6YWN0aXZlX2ludGVyZmFjZXMoKTsKKysgICAgICAgIG15IEBpZmFjZXMgPSBncmVwIHsgJm5ldDo6aWZhY2VfdHlwZSgkXy0+eydmdWxsbmFtZSd9KSA9fiAvZXRoZXIvaSB9CisrICAgICAgICAgICAgICAgICAgICAgICAgICBAYWN0OworKyAgICAgICAgQGlmYWNlcyA9ICggJGFjdFswXSApIGlmICghQGlmYWNlcyAmJiBAYWN0KTsKKysgICAgICAgIGlmIChAaWZhY2VzKSB7CisrICAgICAgICAgICAgICAgIHJldHVybiB3YW50YXJyYXkgPyAoIG1hcCB7ICRfLT57J2FkZHJlc3MnfSB9IEBpZmFjZXMgKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGlmYWNlc1swXS0+eydhZGRyZXNzJ307CisrICAgICAgICAgICAgICAgIH0KKysgICAgICAgIH0KKyskbXlpcCA9ICZ0b19pcGFkZHJlc3MoJmdldF9zeXN0ZW1faG9zdG5hbWUoKSk7CisraWYgKCRteWlwKSB7CisrICAgICAgICAjIENhbiByZXNvbHZlIGhvc3RuYW1lIC4uIHVzZSB0aGF0CisrICAgICAgICByZXR1cm4gd2FudGFycmF5ID8gKCAkbXlpcCApIDogJG15aXA7CisrICAgICAgICB9CisrcmV0dXJuIHdhbnRhcnJheSA/ICggKSA6IHVuZGVmOworK30KKysKK2RpZmYgLU5ydSB3ZWJtaW4tMS41NzAuYmFrL21lZGlhdG9tYi9tb2R1bGUuaW5mbyB3ZWJtaW4tMS41NzAvbWVkaWF0b21iL21vZHVsZS5pbmZvCistLS0gd2VibWluLTEuNTcwLmJhay9tZWRpYXRvbWIvbW9kdWxlLmluZm8JMTk2OS0xMi0zMSAxNjowMDowMC4wMDAwMDAwMDAgLTA4MDAKKysrKyB3ZWJtaW4tMS41NzAvbWVkaWF0b21iL21vZHVsZS5pbmZvCTIwMTEtMTAtMjYgMDk6NTk6NTAuNDI4NTI4MzY5IC0wNzAwCitAQCAtMCwwICsxLDMgQEAKKytkZXNjPU1lZGlhVG9tYgorK2NhdGVnb3J5PW90aGVycworK2xvbmdkZXNjPU1lZGlhVG9tYiBhY2Nlc3MgbW9kdWxlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL21vdW50LWV4Y2x1ZGVmcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvbW91bnQtZXhjbHVkZWZzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjYjc0YzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL21vdW50LWV4Y2x1ZGVmcy5wYXRjaApAQCAtMCwwICsxLDI1IEBACitBZGQgZXhjbHVkZWZzIGNvbmZpZyBvcHRpb24gdG8gbW91bnQgbW9kdWxlCisKK0FkZHMgYSBjb25maWd1cmF0aW9uIG9wdGlvbiAoY3VycmVudGx5IGhpZGRlbikgdG8gYWxsb3cgdGhlIGRpc3RybyB0bworaGlkZSBjZXJ0YWluIGZpbGVzeXN0ZW1zIGZyb20gdGhlIG1vdW50IG1vZHVsZSB3aXRoaW4gV2VibWluIChlLmcuIC9kZXYpCitzaW5jZSB0aGVzZSBzaG91bGRuJ3QgYmUgbW9kaWZpZWQgZnJvbSB0aGUgd2ViIGludGVyZmFjZS4KKworU2lnbmVkLW9mZi1ieTogUGF1bCBFZ2dsZXRvbiA8cGF1bC5lZ2dsZXRvbkBsaW51eC5pbnRlbC5jb20+CisKK1Vwc3RyZWFtLXN0YXR1czogUGVuZGluZworCistLS0gd2VibWluLTEuNTcwLm9yaWcvbW91bnQvaW5kZXguY2dpCisrKysgd2VibWluLTEuNTcwL21vdW50L2luZGV4LmNnaQorQEAgLTMzLDEwICszMywxMiBAQCBlbHNpZiAoJGNvbmZpZ3snc29ydF9tb2RlJ30gPT0gMSkgeworIAl9CisgCisgIyBCdWlsZCB2aXNpYmxlIGZpbGVzeXN0ZW1zIGxpc3QKKytAZXhjbHVkZWZzID0gc3BsaXQoLywvLCAkY29uZmlne2V4Y2x1ZGVmc30pOworIGZvcmVhY2ggJG0gKEBhbGwpIHsKKyAJQG1pbmZvID0gQCRtOworIAkkcCA9ICZzaW1wbGlmeV9tb3VudF9wYXRoKCRtaW5mb1swXSwgJG1pbmZvWzJdKTsKKyAJbmV4dCBpZiAoJGlnbm9yZXskbWluZm9bMl19KTsKKysJbmV4dCBpZiAoZ3JlcCB7JF8gZXEgJG1pbmZvWzJdfSBAZXhjbHVkZWZzKTsKKyAJQG1tb2RlcyA9ICZtb3VudF9tb2RlcygkbWluZm9bMl0sICRtaW5mb1swXSwgJG1pbmZvWzFdKTsKKyAJJGNhbmVkaXQgPSAkY2FuX2VkaXR7JG1pbmZvWzJdfSAmJiAhJG1tb2Rlc1s0XSAmJgorICAgICAgICAgICAgIAkgICAmY2FuX2VkaXRfZnMoQG1pbmZvKTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvbXlzcWwtY29uZmlnLWZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvbXlzcWwtY29uZmlnLWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2JjNjI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9teXNxbC1jb25maWctZml4LnBhdGNoCkBAIC0wLDAgKzEsNTAgQEAKK0Zyb20gNzE5MjA2ZGY2MDZhY2Q3YTYyM2U4ZDc1ZGEyOTNjMjU0ODliNzg4NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IERpZWdvIFJvbmRpbmkgPGRpZWdvLm1sQHpvaG8uY29tPgorRGF0ZTogVGh1LCAxOCBGZWIgMjAxNiAxNTo0NDowNiArMDEwMAorU3ViamVjdDogW1BBVENIXSBBZGp1c3QgTXlzcWwgY29uZmlnIGRlZmF1bHRzCisKK1Vwc3RyZWFtLXN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworU2lnbmVkLW9mZi1ieTogRGllZ28gUm9uZGluaSA8ZGllZ28ubWxAem9oby5jb20+CistLS0KKyBteXNxbC9jb25maWcgfCAxOCArKysrKysrKystLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbXlzcWwvY29uZmlnIGIvbXlzcWwvY29uZmlnCitpbmRleCBlNWI2ZmIzLi43N2JmZTY5IDEwMDY0NAorLS0tIGEvbXlzcWwvY29uZmlnCisrKysgYi9teXNxbC9jb25maWcKK0BAIC0xLDEzICsxLDEzIEBACistc3RhcnRfY21kPWNkIC91c3IvbG9jYWwvbXlzcWwgOyAoLi9iaW4vc2FmZV9teXNxbGQgfHwgLi9iaW4vbXlzcWxkX3NhZmUpICYKKytzdGFydF9jbWQ9L3Vzci9iaW4vbXlzcWxkX3NhZmUKKyBwZXJwYWdlPTI1CistbXlzcWw9L3Vzci9sb2NhbC9teXNxbC9iaW4vbXlzcWwKKy1teXNxbGR1bXA9L3Vzci9sb2NhbC9teXNxbC9iaW4vbXlzcWxkdW1wCistbXlzcWxpbXBvcnQ9L3Vzci9sb2NhbC9teXNxbC9iaW4vbXlzcWxpbXBvcnQKKy1wYXNzPWZvbworLW15c3Fsc2hvdz0vdXNyL2xvY2FsL215c3FsL2Jpbi9teXNxbHNob3cKKytteXNxbD0vdXNyL2Jpbi9teXNxbAorK215c3FsZHVtcD0vdXNyL2Jpbi9teXNxbGR1bXAKKytteXNxbGltcG9ydD0vdXNyL2Jpbi9teXNxbGltcG9ydAorK3Bhc3M9CisrbXlzcWxzaG93PS91c3IvYmluL215c3Fsc2hvdworIGxvZ2luPXJvb3QKKy1teXNxbF9saWJzPS91c3IvbG9jYWwvbXlzcWwvbGliCistbXlzcWxhZG1pbj0vdXNyL2xvY2FsL215c3FsL2Jpbi9teXNxbGFkbWluCisrbXlzcWxfbGlicz0vdXNyL2xpYgorK215c3FsYWRtaW49L3Vzci9iaW4vbXlzcWxhZG1pbgorIHN0eWxlPTAKKyBhZGRfbW9kZT0xCisgbm9kYmk9MAorQEAgLTE1LDcgKzE1LDcgQEAgYWNjZXNzPSo6ICoKKyBibG9iX21vZGU9MAorIGRhdGVfc3Vicz0wCisgcGFzc3dkX21vZGU9MAorLW15c3FsX2RhdGE9L3Vzci9sb2NhbC9teXNxbC92YXIKKytteXNxbF9kYXRhPS92YXIvbGliL215c3FsCisgbWF4X2Ricz01MAorIG15X2NuZj0vZXRjL215LmNuZgorIG1heF90ZXh0PTEwMDAKKy0tIAorMi41LjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9uZXQtZ2VuZXJpYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvbmV0LWdlbmVyaWMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2QyMGFmZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvbmV0LWdlbmVyaWMucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorIyBBZGQgc3VwcG9ydCBmb3IgY29uZmlndXJpbmcgbmV0d29yayBpbnRlcmZhY2VzIG9uIGEgZ2VuZXJpYyBsaW51eCBzeXN0ZW0KKyMKKyMgVXBzdHJlYW0tc3RhdHVzOiBOb3QgYXBwcm9wcmlhdGUgW2NvbmZpZ10KKyMKKyMgU2lnbmVkLW9mZi1ieTogUGF1bCBFZ2dsZXRvbiA8cGF1bC5lZ2dsZXRvbkBsaW51eC5pbnRlbC5jb20+CistLS0gd2VibWluLTEuNTcwLm9yaWcvbmV0L21vZHVsZS5pbmZvCisrKysgd2VibWluLTEuNTcwL25ldC9tb2R1bGUuaW5mbworQEAgLTExLDcgKzExLDcgQEAgZGVzY19rb19LUi5VVEYtOD3rhKTtirjsm4ztgawg6rWs7ISxCisgbmFtZT1OZXR3b3JraW5nCisgZGVzY190cj1B8CBZYXD9bGFuZP1ybWFz/QorIGRlc2NfZGU9TmV0endlcmtrb25maWd1cmF0aW9uCistb3Nfc3VwcG9ydD1zb2xhcmlzIGNvaGVyZW50LWxpbnV4IHJlZGhhdC1saW51eC81LjAtKiBtYW5kcmFrZS1saW51eCB1bml0ZWQtbGludXggc3VzZS1saW51eC82LjAtKiBvcGVuLWxpbnV4IHVuaXh3YXJlIHR1cmJvLWxpbnV4LzQuMCBmcmVlYnNkLzMuMi0qIG9wZW5ic2QgZGViaWFuLWxpbnV4LzIuMi0qIGNvYmFsdC1saW51eC8yLjItKiBtc2MtbGludXggZ2VudG9vLWxpbnV4IG1hY29zLzEuNS0qIHRydXN0aXgtbGludXggc2xhY2t3YXJlLWxpbnV4LzguMC0qIG9wZW5tYW1iYS1saW51eCBjeWd3aW4gd2luZG93cyBwYXJkdXMtbGludXgKKytvc19zdXBwb3J0PWdlbmVyaWMtbGludXggc29sYXJpcyBjb2hlcmVudC1saW51eCByZWRoYXQtbGludXgvNS4wLSogbWFuZHJha2UtbGludXggdW5pdGVkLWxpbnV4IHN1c2UtbGludXgvNi4wLSogb3Blbi1saW51eCB1bml4d2FyZSB0dXJiby1saW51eC80LjAgZnJlZWJzZC8zLjItKiBvcGVuYnNkIGRlYmlhbi1saW51eC8yLjItKiBjb2JhbHQtbGludXgvMi4yLSogbXNjLWxpbnV4IGdlbnRvby1saW51eCBtYWNvcy8xLjUtKiB0cnVzdGl4LWxpbnV4IHNsYWNrd2FyZS1saW51eC84LjAtKiBvcGVubWFtYmEtbGludXggY3lnd2luIHdpbmRvd3MgcGFyZHVzLWxpbnV4CisgZGVzY19zaz1Lb25maWd1cuFjaWEgc2lldGUKKyBkZXNjX3poX0NOPc34wufF5NbDCisgcmlzaz1sb3cgbWVkaXVtIGhpZ2gKKy0tLSAvZGV2L251bGwKKysrKyB3ZWJtaW4tMS41NzAvbmV0L2dlbmVyaWMtbGludXgtbGliLnBsCitAQCAtMCwwICsxLDIgQEAKKytkbyAnbGludXgtbGliLnBsJzsKKysKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvbmV0LWxpYi5wbC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvbmV0LWxpYi5wbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZGJhNWU3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9uZXQtbGliLnBsLnBhdGNoCkBAIC0wLDAgKzEsMTkgQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlnXQorCitYWFg6IG5lZWQgdG8gd29yayBvdXQgYSBiZXR0ZXIgZml4LgorCitTaWduZWQtb2ZmLWJ5OiBEZXh1YW4gQ3VpIDxkZXh1YW4uY3VpQGludGVsLmNvbT4KKworZGlmZiAtTnJ1IHdlYm1pbi0xLjU3MC5vcmlnLy9uZXQvbmV0LWxpYi5wbCB3ZWJtaW4tMS41NzAvbmV0L25ldC1saWIucGwKKy0tLSB3ZWJtaW4tMS41NzAub3JpZy8vbmV0L25ldC1saWIucGwJMjAxMS0xMC0wMyAwOTowMTo0OC4wMDAwMDAwMDAgKzA4MDAKKysrKyB3ZWJtaW4tMS41NzAvbmV0L25ldC1saWIucGwJMjAxMS0xMC0yOCAxMzo1Mjo1Ni4xMzg4NzM2NjQgKzA4MDAKK0BAIC0yMSw3ICsyMSw4IEBACisgCWRvICIkZ2NvbmZpZ3snb3NfdHlwZSd9LTkuMS1BTEwtbGliLnBsIjsKKyAJfQorIGVsc2UgeworLQlkbyAiJGdjb25maWd7J29zX3R5cGUnfS1saWIucGwiOworKwkjZG8gIiRnY29uZmlneydvc190eXBlJ30tbGliLnBsIjsKKysJZG8gImRlYmlhbi1saW51eC1saWIucGwiOworIAl9CisgCisgIyBsaXN0X2hvc3RzKCkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvbmZzLWV4cG9ydC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvbmZzLWV4cG9ydC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMTdlM2IyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9uZnMtZXhwb3J0LnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKK2NvbW1pdCBlNDhmNjFkMmY2ZGYzMmE1MThiY2I4NGRiOGM2ZWFjZmU1NDM1YzMyCitBdXRob3I6IFl1IEtlIDxrZS55dUBpbnRlbC5jb20+CitEYXRlOiAgIEZyaSBPY3QgMjggMTQ6NDA6NTEgMjAxMSArMDgwMAorCitORlMgZXhwb3J0OiBmaXggc3ludGF4IGlzc3VlCisKK2ZpeCB0d28gc3ludGF4IGlzc3VlIGluIC9ldGMvZXhwb3J0czoKKzEuIGlmIGl0IGlzIGV4cG9ydGVkIHRvIGV2ZXJ5b25lLCBzaG91bGQgdXNlICIqIiwgZS5nLiAiL2V4cG9ydCAgKih4eHgpIgorMi4gZXhwbGljaXRseSBzcGVjaWZ5IHN1YnRyZWVfY2hlY2sgb3Igbm9fc3VidHJlZV9jaGVjaywgcmVxdWlyZWQgYnkgbGF0ZXN0IG5mcy11dGlscworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogWXUgS2UgPGtlLnl1QGludGVsLmNvbT4KKworZGlmZiAtLWdpdCBhL2V4cG9ydHMvc2F2ZV9leHBvcnQuY2dpIGIvZXhwb3J0cy9zYXZlX2V4cG9ydC5jZ2kKK2luZGV4IDNiYzJmOTcuLjNlNjAyOTggMTAwNzU1CistLS0gYS9leHBvcnRzL3NhdmVfZXhwb3J0LmNnaQorKysrIGIvZXhwb3J0cy9zYXZlX2V4cG9ydC5jZ2kKK0BAIC00MCw3ICs0MCw3IEBAIGVsc2UgeworIAkJCSZlcnJvcigmdGV4dCgnc2F2ZV9lbmV0bWFzaycsICRpbnsnbmV0bWFzayd9KSk7CisgCQkkZXhweydob3N0J30gPSAkaW57J25ldHdvcmsnfS4iLyIuJGlueyduZXRtYXNrJ307CisgCQl9CistCWVsc2lmICgkaW57J21vZGUnfSA9PSAzKSB7ICRleHB7J2hvc3QnfSA9ICIiOyB9CisrCWVsc2lmICgkaW57J21vZGUnfSA9PSAzKSB7ICRleHB7J2hvc3QnfSA9ICIqIjsgfQorIAllbHNlIHsKKyAJCSRpbnsnaG9zdCd9ID1+IC9cKi8gfHwgJnRvX2lwYWRkcmVzcygkaW57J2hvc3QnfSkgfHwKKyAJCQkmZXJyb3IoJnRleHQoJ3NhdmVfZWhvc3QnLCAkaW57J2hvc3QnfSkpOworQEAgLTcwLDYgKzcwLDExIEBAIGVsc2UgeworIAorIAlkZWxldGUoJG9wdHN7J25vX3N1YnRyZWVfY2hlY2snfSk7IGRlbGV0ZSgkb3B0c3snc3VidHJlZV9jaGVjayd9KTsKKyAJJG9wdHN7J25vX3N1YnRyZWVfY2hlY2snfSA9ICIiIGlmICgkaW57J25vX3N1YnRyZWVfY2hlY2snfSk7CisrCWlmICgkaW57J25vX3N1YnRyZWVfY2hlY2snfSkgeworKwkJJG9wdHN7J25vX3N1YnRyZWVfY2hlY2snfSA9ICIiOworKwl9IGVsc2UgeworKwkJJG9wdHN7J3N1YnRyZWVfY2hlY2snfSA9ICIiOworKwl9CisgCisgCWRlbGV0ZSgkb3B0c3snbm9oaWRlJ30pOyBkZWxldGUoJG9wdHN7J2hpZGUnfSk7CisgCSRvcHRzeydub2hpZGUnfSA9ICIiIGlmICgkaW57J25vaGlkZSd9KTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvcHJvZnRwZC1jb25maWctZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9wcm9mdHBkLWNvbmZpZy1maXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDkyYTY1MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvcHJvZnRwZC1jb25maWctZml4LnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKK1Vwc3RyZWFtLXN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworU2lnbmVkLW9mZi1ieTogWmhhaSBFZHdpbiA8ZWR3aW4uemhhaUBpbnRlbC5jb20+CisKK0luZGV4OiB3ZWJtaW4tMS41NzAvcHJvZnRwZC9jb25maWcKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB3ZWJtaW4tMS41NzAub3JpZy9wcm9mdHBkL2NvbmZpZwkyMDExLTEwLTI1IDIwOjE4OjM3LjAwMDAwMDAwMCArMDgwMAorKysrIHdlYm1pbi0xLjU3MC9wcm9mdHBkL2NvbmZpZwkyMDExLTEwLTI1IDIwOjIxOjEzLjAwMDAwMDAwMCArMDgwMAorQEAgLTEsNiArMSw2IEBACistcHJvZnRwZF9wYXRoPS91c3IvbG9jYWwvc2Jpbi9wcm9mdHBkCistcHJvZnRwZF9jb25mPS91c3IvbG9jYWwvZXRjL3Byb2Z0cGQuY29uZgorLXBpZF9maWxlPS91c3IvbG9jYWwvdmFyL3Byb2Z0cGQucGlkCisrcHJvZnRwZF9wYXRoPS91c3Ivc2Jpbi9wcm9mdHBkCisrcHJvZnRwZF9jb25mPS9ldGMvcHJvZnRwZC5jb25mCisrcGlkX2ZpbGU9L3Zhci9wcm9mdHBkLnBpZAorIGZ0cHVzZXJzPS9ldGMvZnRwdXNlcnMKKyB0ZXN0X2NvbmZpZz0xCisgdGVzdF9hbHdheXM9MApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9yZW1vdmUtcHl0aG9uMi4zLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9yZW1vdmUtcHl0aG9uMi4zLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1ZTViZDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL3JlbW92ZS1weXRob24yLjMucGF0Y2gKQEAgLTAsMCArMSwyNSBAQAorRnJvbSA2ZjA0Njk5ZDVkNDE3MTIyYjY3ZTgxMThmZDE5NTVjNzY5ZjE3ZTc2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDIgU2VwIDIwMTQgMDA6MTE6MDUgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gYWpheHRlcm0vYWpheHRlcm0vcXdlYi5weTogZml4IGhhcmRjb2RlIG9mIHB5dGhvbjIuMworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBhamF4dGVybS9hamF4dGVybS9xd2ViLnB5IHwgICAgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvYWpheHRlcm0vYWpheHRlcm0vcXdlYi5weSBiL2FqYXh0ZXJtL2FqYXh0ZXJtL3F3ZWIucHkKK2luZGV4IDIwYzUwOTIuLmM2NThhNmIgMTAwNjQ0CistLS0gYS9hamF4dGVybS9hamF4dGVybS9xd2ViLnB5CisrKysgYi9hamF4dGVybS9hamF4dGVybS9xd2ViLnB5CitAQCAtMSw0ICsxLDQgQEAKKy0jIS91c3IvYmluL3B5dGhvbjIuMworKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorICMKKyAjIHZpbTpzZXQgZXQgdHM9NCBmZGM9MCBmZG49MiBmZGw9MDoKKyAjCistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9yZW1vdmUtc3RhcnR1cC1vcHRpb24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL3JlbW92ZS1zdGFydHVwLW9wdGlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTU3ZjRhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9yZW1vdmUtc3RhcnR1cC1vcHRpb24ucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorIyBSZW1vdmUgInN0YXJ0IG9uIGJvb3QiIG9wdGlvbiBmcm9tIHdlYm1pbiBjb25maWd1cmF0aW9uLCBhcworIyBlbmQtdXNlcnMgc2hvdWxkIG5vdCBuZWVkIHRvIGNvbmZpZ3VyZSB0aGlzIGZyb20gdGhlIHdlYiBpbnRlcmZhY2UKKyMKKyMgVXBzdHJlYW0tc3RhdHVzOiBJbmFwcHJvcHJpYXRlCisjCisjIFNpZ25lZC1vZmYtYnk6IFBhdWwgRWdnbGV0b24gPHBhdWwuZWdnbGV0b25AbGludXguaW50ZWwuY29tPgorLS0tIHdlYm1pbi0xLjU3MC5vcmlnL3dlYm1pbi9pbmRleC5jZ2kKKysrKyB3ZWJtaW4tMS41NzAvd2VibWluL2luZGV4LmNnaQorQEAgLTc5LDIwICs3OSw2IEBAIHByaW50ICZ1aV9idXR0b25zX3N0YXJ0KCk7CisgbXkgJW1pbmlzZXJ2OworICZnZXRfbWluaXNlcnZfY29uZmlnKFwlbWluaXNlcnYpOworIAorLWlmICgmZm9yZWlnbl9jaGVjaygiaW5pdCIpKSB7CistCSZmb3JlaWduX3JlcXVpcmUoImluaXQiKTsKKy0JbXkgJHN0YXJ0aW5nID0gJmluaXQ6OmFjdGlvbl9zdGF0dXMoIndlYm1pbiIpOworLQlwcmludCAmdWlfYnV0dG9uc19yb3coImJvb3R1cC5jZ2kiLAorLQkgICAgICAkdGV4dHsnaW5kZXhfYm9vdCd9LAorLQkgICAgICAkdGV4dHsnaW5kZXhfYm9vdG1zZyd9LgorLQkgICAgICAoJG1pbmlzZXJ2eydpbmV0ZCd9ID8gIjxiPiR0ZXh0eydpbmRleF9pbmV0ZCd9PC9iPiIgOgorLQkgICAgICAgISRFTlZ7J01JTklTRVJWX0NPTkZJRyd9ID8gIjxiPiR0ZXh0eydpbmRleF9hcGFjaGUnfTwvYj4iIDogIiIpLAorLQkgICAgICAmdWlfaGlkZGVuKCJzdGFydGluZyIsICRzdGFydGluZyksCistCSAgICAgICZ1aV9yYWRpbygiYm9vdCIsICRzdGFydGluZyA9PSAyID8gMSA6IDAsCistCQkJWyBbIDEsICR0ZXh0eyd5ZXMnfSBdLAorLQkJCSAgWyAwLCAkdGV4dHsnbm8nfSBdIF0pKTsKKy0JfQorLQorICMgUmVzdGFydCBXZWJtaW4KKyBpZiAoISRtaW5pc2VydnsnaW5ldGQnfSAmJiAkRU5WeydNSU5JU0VSVl9DT05GSUcnfSkgeworIAlwcmludCAmdWlfYnV0dG9uc19yb3coInJlc3RhcnQuY2dpIiwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvc2FtYmEtY29uZmlnLWZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvc2FtYmEtY29uZmlnLWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NjY0NWFjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9zYW1iYS1jb25maWctZml4LnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK1Vwc3RyZWFtLXN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworU2lnbmVkLW9mZi1ieTogWmhhaSBFZHdpbiA8ZWR3aW4uemhhaUBpbnRlbC5jb20+CisKK0luZGV4OiB3ZWJtaW4tMS41NzAvc2FtYmEvY29uZmlnLWdlbmVyaWMtbGludXgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB3ZWJtaW4tMS41NzAub3JpZy9zYW1iYS9jb25maWctZ2VuZXJpYy1saW51eAkyMDExLTEwLTI1IDIwOjExOjM1LjAwMDAwMDAwMCArMDgwMAorKysrIHdlYm1pbi0xLjU3MC9zYW1iYS9jb25maWctZ2VuZXJpYy1saW51eAkyMDExLTEwLTI1IDIwOjE1OjQxLjAwMDAwMDAwMCArMDgwMAorQEAgLTEsMTUgKzEsMTUgQEAKKyBsaXN0X3ByaW50ZXJzX2NvbW1hbmQ9bHBjIHN0YXR1cyB8IGdyZXAgIltBLXowLTldOiIgfCBzZWQgLWUgJ3MvOi8vZycKKy1zbWJfcGFzc3dkPS91c3IvbG9jYWwvc2FtYmEvcHJpdmF0ZS9zbWJwYXNzd2QKKytzbWJfcGFzc3dkPS91c3IvYmluL3NtYnBhc3N3ZAorIHRleHRfbGlzdHM9MAorIGRvbnRfY29udmVydD0tNDk5CistbmFtZV9zZXJ2ZXI9L3Vzci9sb2NhbC9zYW1iYS9iaW4vbm1iZAorLXNtYl9jb25mPS91c3IvbG9jYWwvc2FtYmEvbGliL3NtYi5jb25mCistc2FtYmFfc2VydmVyPS91c3IvbG9jYWwvc2FtYmEvYmluL3NtYmQKKytuYW1lX3NlcnZlcj0vdXNyL3NiaW4vbm1iZAorK3NtYl9jb25mPS9ldGMvc2FtYmEvc21iLmNvbmYKKytzYW1iYV9zZXJ2ZXI9L3Vzci9zYmluL3NtYmQKKyBydW5fZnJvbV9pbmV0ZD0wCistc2FtYmFfcGFzc3dvcmRfcHJvZ3JhbT0vdXNyL2xvY2FsL3NhbWJhL2Jpbi9zbWJwYXNzd2QKKy1zYW1iYV9zdGF0dXNfcHJvZ3JhbT0vdXNyL2xvY2FsL3NhbWJhL2Jpbi9zbWJzdGF0dXMKKytzYW1iYV9wYXNzd29yZF9wcm9ncmFtPS91c3IvYmluL3NtYnBhc3N3ZAorK3NhbWJhX3N0YXR1c19wcm9ncmFtPS91c3IvYmluL3NtYnN0YXR1cworIHN3YXRfcGF0aD0vdXNyL2xvY2FsL3NhbWJhL2Jpbi9zd2F0Cisgc29ydF9tb2RlPTAKKyBzbWJncm91cGVkaXQ9L3Vzci9sb2NhbC9zYW1iYS9iaW4vc21iZ3JvdXBlZGl0CistcGRiZWRpdD0vdXNyL2xvY2FsL3NhbWJhL2Jpbi9wZGJlZGl0CistbmV0PS91c3IvbG9jYWwvc2FtYmEvYmluL25ldAorK3BkYmVkaXQ9L3Vzci9iaW4vcGRiZWRpdAorK25ldD0vdXNyL2Jpbi9uZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvc2V0dXAuc2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL3NldHVwLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhkMjRmOTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL3NldHVwLnNoCkBAIC0wLDAgKzEsMzQwIEBACisjIS9iaW4vc2gKKyMgTW9kaWZpZWQgdmVyc2lvbiBvZiBzZXR1cC5zaCBkaXN0cmlidXRlZCB3aXRoIHdlYm1pbgorCitpZiBbICIkd2FkaXIiID0gIiIgXTsgdGhlbgorCWVjaG8gIkVSUk9SOiB3YWRpciBub3Qgc3BlY2lmaWVkIgorCWVjaG8gIiIKKwlleGl0IDEKK2ZpCisKK2NvbmZpZ19kaXJfcnVudGltZT0kY29uZmlnX2RpcgorY29uZmlnX2Rpcj0kcHJlZml4JGNvbmZpZ19kaXIKKword2FkaXJfcnVudGltZT0kd2FkaXIKK3dhZGlyPSRwcmVmaXgkd2FkaXIKKwordmVyPWBjYXQgIiR3YWRpci92ZXJzaW9uImAKKworY2QgIiR3YWRpciIKKworIyBXb3JrIG91dCBwZXJsIGxpYnJhcnkgcGF0aAorUEVSTExJQj0kd2FkaXIKKworIyBWYWxpZGF0ZSBzb3VyY2UgZGlyZWN0b3J5CithbGxtb2RzPWBjZCAiJHdhZGlyIjsgZWNobyAqL21vZHVsZS5pbmZvIHwgc2VkIC1lICdzL1wvbW9kdWxlLmluZm8vL2cnYAoraWYgWyAiJGFsbG1vZHMiID0gIiIgXTsgdGhlbgorCWVjaG8gIkVSUk9SOiBGYWlsZWQgdG8gZ2V0IG1vZHVsZSBsaXN0IgorCWVjaG8gIiIKKwlleGl0IDEKK2ZpCitlY2hvICIiCisKK2lmIFsgIiRsb2dpbiIgPSAid2VibWluIiBdOyB0aGVuCisJZWNobyAiRVJST1I6IFVzZXJuYW1lICd3ZWJtaW4nIGlzIHJlc2VydmVkIGZvciBpbnRlcm5hbCB1c2UiCisJZWNobyAiIgorCWV4aXQgMTQKK2ZpCisKKyMgQ3JlYXRlIHdlYnNlcnZlciBjb25maWcgZmlsZQorZWNobyAkcGVybCA+ICRjb25maWdfZGlyL3BlcmwtcGF0aAorZWNobyAkdmFyX2RpciA+ICRjb25maWdfZGlyL3Zhci1wYXRoCitlY2hvICJDcmVhdGluZyB3ZWIgc2VydmVyIGNvbmZpZyBmaWxlcy4uIgorY2ZpbGU9JGNvbmZpZ19kaXIvbWluaXNlcnYuY29uZgorZWNobyAicG9ydD0kcG9ydCIgPj4gJGNmaWxlCitlY2hvICJyb290PSR3YWRpcl9ydW50aW1lIiA+PiAkY2ZpbGUKK2VjaG8gIm1pbWV0eXBlcz0kd2FkaXJfcnVudGltZS9taW1lLnR5cGVzIiA+PiAkY2ZpbGUKK2VjaG8gImFkZHR5cGVfY2dpPWludGVybmFsL2NnaSIgPj4gJGNmaWxlCitlY2hvICJyZWFsbT1XZWJtaW4gU2VydmVyIiA+PiAkY2ZpbGUKK2VjaG8gImxvZ2ZpbGU9JHZhcl9kaXIvbWluaXNlcnYubG9nIiA+PiAkY2ZpbGUKK2VjaG8gImVycm9ybG9nPSR2YXJfZGlyL21pbmlzZXJ2LmVycm9yIiA+PiAkY2ZpbGUKK2VjaG8gInBpZGZpbGU9JHZhcl9kaXIvbWluaXNlcnYucGlkIiA+PiAkY2ZpbGUKK2VjaG8gImxvZ3RpbWU9MTY4IiA+PiAkY2ZpbGUKK2VjaG8gInBwYXRoPSRwcGF0aCIgPj4gJGNmaWxlCitlY2hvICJzc2w9JHNzbCIgPj4gJGNmaWxlCitlY2hvICJlbnZfV0VCTUlOX0NPTkZJRz0kY29uZmlnX2Rpcl9ydW50aW1lIiA+PiAkY2ZpbGUKK2VjaG8gImVudl9XRUJNSU5fVkFSPSR2YXJfZGlyIiA+PiAkY2ZpbGUKK2VjaG8gImF0Ym9vdD0kYXRib290IiA+PiAkY2ZpbGUKK2VjaG8gImxvZ291dD0kY29uZmlnX2Rpcl9ydW50aW1lL2xvZ291dC1mbGFnIiA+PiAkY2ZpbGUKK2lmIFsgIiRsaXN0ZW4iICE9ICIiIF07IHRoZW4KKwllY2hvICJsaXN0ZW49JGxpc3RlbiIgPj4gJGNmaWxlCitlbHNlCisJZWNobyAibGlzdGVuPTEwMDAwIiA+PiAkY2ZpbGUKK2ZpCitlY2hvICJkZW55ZmlsZT1cXC5wbFwkIiA+PiAkY2ZpbGUKK2VjaG8gImxvZz0xIiA+PiAkY2ZpbGUKK2VjaG8gImJsb2NraG9zdF9mYWlsdXJlcz01IiA+PiAkY2ZpbGUKK2VjaG8gImJsb2NraG9zdF90aW1lPTYwIiA+PiAkY2ZpbGUKK2VjaG8gInN5c2xvZz0xIiA+PiAkY2ZpbGUKK2lmIFsgIiRhbGxvdyIgIT0gIiIgXTsgdGhlbgorCWVjaG8gImFsbG93PSRhbGxvdyIgPj4gJGNmaWxlCitmaQoraWYgWyAiJHNlc3Npb24iICE9ICIiIF07IHRoZW4KKwllY2hvICJzZXNzaW9uPSRzZXNzaW9uIiA+PiAkY2ZpbGUKK2Vsc2UKKwllY2hvICJzZXNzaW9uPTEiID4+ICRjZmlsZQorZmkKK2lmIFsgIiRwYW0iICE9ICIiIF07IHRoZW4KKwllY2hvICJwYW09JHBhbSIgPj4gJGNmaWxlCitmaQoraWYgWyAiJG5vX3BhbSIgIT0gIiIgXTsgdGhlbgorICAgIGVjaG8gIm5vX3BhbT0kbm9fcGFtIiA+PiAkY2ZpbGUKK2ZpCitlY2hvIHByZW1vZHVsZXM9V2VibWluQ29yZSA+PiAkY2ZpbGUKK2VjaG8gInNlcnZlcj1NaW5pU2Vydi8kdmVyIiA+PiAkY2ZpbGUKKworbWQ1cGFzcz1gJHBlcmwgLWUgJ3ByaW50IGNyeXB0KCJ0ZXN0IiwgIlxcJDFcXCRBOXdCM08xOFxcJHphWmdxckVtYjlWTmx0V1RMNDU0Ui8iKSBlcSAiXFwkMVxcJEE5d0IzTzE4XFwkemFaZ3FyRW1iOVZObHRXVEw0NTRSLyIgPyAiMVxuIiA6ICIwXG4iJ2AKKwordWZpbGU9JGNvbmZpZ19kaXIvbWluaXNlcnYudXNlcnMKK2lmIFsgIiRjcnlwdCIgIT0gIiIgXTsgdGhlbgorCWVjaG8gIiRsb2dpbjokY3J5cHQ6MCIgPiAkdWZpbGUKK2Vsc2UKKwlpZiBbICIkbWQ1cGFzcyIgPSAiMSIgXTsgdGhlbgorCQkkcGVybCAtZSAncHJpbnQgIiRBUkdWWzBdOiIsY3J5cHQoJEFSR1ZbMV0sICJcJDFcJFhYWFhYWFhYIiksIjowXG4iJyAiJGxvZ2luIiAiJHBhc3N3b3JkIiA+ICR1ZmlsZQorCWVsc2UKKwkJJHBlcmwgLWUgJ3ByaW50ICIkQVJHVlswXToiLGNyeXB0KCRBUkdWWzFdLCAiWFgiKSwiOjBcbiInICIkbG9naW4iICIkcGFzc3dvcmQiID4gJHVmaWxlCisJZmkKK2ZpCitjaG1vZCA2MDAgJHVmaWxlCitlY2hvICJ1c2VyZmlsZT0kY29uZmlnX2Rpcl9ydW50aW1lL21pbmlzZXJ2LnVzZXJzIiA+PiAkY2ZpbGUKKwora2ZpbGU9JGNvbmZpZ19kaXIvbWluaXNlcnYucGVtCitvcGVuc3NsIHZlcnNpb24gPi9kZXYvbnVsbCAyPiYxCitpZiBbICIkPyIgPSAiMCIgXTsgdGhlbgorCSMgV2UgY2FuIGdlbmVyYXRlIGEgbmV3IFNTTCBrZXkgZm9yIHRoaXMgaG9zdAorCWhvc3Q9YGhvc3RuYW1lYAorCW9wZW5zc2wgcmVxIC1uZXdrZXkgcnNhOjUxMiAteDUwOSAtbm9kZXMgLW91dCAkdGVtcGRpci9jZXJ0IC1rZXlvdXQgJHRlbXBkaXIva2V5IC1kYXlzIDE4MjUgPi9kZXYvbnVsbCAyPiYxIDw8RU9GCisuCisuCisuCitXZWJtaW4gV2Vic2VydmVyIG9uICRob3N0CisuCisqCityb290QCRob3N0CitFT0YKKwlpZiBbICIkPyIgPSAiMCIgXTsgdGhlbgorCQljYXQgJHRlbXBkaXIvY2VydCAkdGVtcGRpci9rZXkgPiRrZmlsZQorCWZpCisJcm0gLWYgJHRlbXBkaXIvY2VydCAkdGVtcGRpci9rZXkKK2ZpCitpZiBbICEgLXIgJGtmaWxlIF07IHRoZW4KKwkjIEZhbGwgYmFjayB0byB0aGUgYnVpbHQtaW4ga2V5CisJY3AgIiR3YWRpci9taW5pc2Vydi5wZW0iICRrZmlsZQorZmkKK2NobW9kIDYwMCAka2ZpbGUKK2VjaG8gImtleWZpbGU9JGNvbmZpZ19kaXJfcnVudGltZS9taW5pc2Vydi5wZW0iID4+ICRjZmlsZQorCitjaG1vZCA2MDAgJGNmaWxlCitlY2hvICIuLmRvbmUiCitlY2hvICIiCisKK2VjaG8gIkNyZWF0aW5nIGFjY2VzcyBjb250cm9sIGZpbGUuLiIKK2FmaWxlPSRjb25maWdfZGlyL3dlYm1pbi5hY2wKK3JtIC1mICRhZmlsZQoraWYgWyAiJGRlZmF1bHRtb2RzIiA9ICIiIF07IHRoZW4KKwllY2hvICIkbG9naW46ICRhbGxtb2RzIiA+PiAkYWZpbGUKK2Vsc2UKKwllY2hvICIkbG9naW46ICRkZWZhdWx0bW9kcyIgPj4gJGFmaWxlCitmaQorY2htb2QgNjAwICRhZmlsZQorZWNobyAiLi5kb25lIgorZWNobyAiIgorCitpZiBbICIkbG9naW4iICE9ICJyb290IiAtYSAiJGxvZ2luIiAhPSAiYWRtaW4iIF07IHRoZW4KKwkjIEFsbG93IHVzZSBvZiBSUEMgYnkgdGhpcyB1c2VyCisJZWNobyBycGM9MSA+PiRjb25maWdfZGlyLyRsb2dpbi5hY2wKK2ZpCisKK2lmIFsgIiRub3BlcmxwYXRoIiA9ICIiIF07IHRoZW4KKwllY2hvICJJbnNlcnRpbmcgcGF0aCB0byBwZXJsIGludG8gc2NyaXB0cy4uIgorCShmaW5kICIkd2FkaXIiIC1uYW1lICcqLmNnaScgLXByaW50IDsgZmluZCAiJHdhZGlyIiAtbmFtZSAnKi5wbCcgLXByaW50KSB8ICRwZXJsICIkd2FkaXIvcGVybHBhdGgucGwiICRwZXJsX3J1bnRpbWUgLQorCWVjaG8gIi4uZG9uZSIKKwllY2hvICIiCitmaQorCitlY2hvICJDcmVhdGluZyBzdGFydCBhbmQgc3RvcCBzY3JpcHRzLi4iCitybSAtZiAkY29uZmlnX2Rpci9zdG9wICRjb25maWdfZGlyL3N0YXJ0ICRjb25maWdfZGlyL3Jlc3RhcnQgJGNvbmZpZ19kaXIvcmVsb2FkCitlY2hvICIjIS9iaW4vc2giID4+JGNvbmZpZ19kaXIvc3RhcnQKK2VjaG8gImVjaG8gU3RhcnRpbmcgV2VibWluIHNlcnZlciBpbiAkd2FkaXJfcnVudGltZSIgPj4kY29uZmlnX2Rpci9zdGFydAorZWNobyAidHJhcCAnJyAxIiA+PiRjb25maWdfZGlyL3N0YXJ0CitlY2hvICJMQU5HPSIgPj4kY29uZmlnX2Rpci9zdGFydAorZWNobyAiZXhwb3J0IExBTkciID4+JGNvbmZpZ19kaXIvc3RhcnQKK2VjaG8gIiNQRVJMSU89OnJhdyIgPj4kY29uZmlnX2Rpci9zdGFydAorZWNobyAidW5zZXQgUEVSTElPIiA+PiRjb25maWdfZGlyL3N0YXJ0CitlY2hvICJleHBvcnQgUEVSTElPIiA+PiRjb25maWdfZGlyL3N0YXJ0CitlY2hvICJQRVJMTElCPSRQRVJMTElCIiA+PiRjb25maWdfZGlyL3N0YXJ0CitlY2hvICJleHBvcnQgUEVSTExJQiIgPj4kY29uZmlnX2Rpci9zdGFydAordW5hbWUgLWEgfCBncmVwIC1pICdIUC8qVVgnID4vZGV2L251bGwKK2lmIFsgJD8gPSAiMCIgXTsgdGhlbgorCWVjaG8gImV4ZWMgJyR3YWRpcl9ydW50aW1lL21pbmlzZXJ2LnBsJyAkY29uZmlnX2Rpcl9ydW50aW1lL21pbmlzZXJ2LmNvbmYgJiIgPj4kY29uZmlnX2Rpci9zdGFydAorZWxzZQorCWVjaG8gImV4ZWMgJyR3YWRpcl9ydW50aW1lL21pbmlzZXJ2LnBsJyAkY29uZmlnX2Rpcl9ydW50aW1lL21pbmlzZXJ2LmNvbmYiID4+JGNvbmZpZ19kaXIvc3RhcnQKK2ZpCisKK2VjaG8gIiMhL2Jpbi9zaCIgPj4kY29uZmlnX2Rpci9zdG9wCitlY2hvICJlY2hvIFN0b3BwaW5nIFdlYm1pbiBzZXJ2ZXIgaW4gJHdhZGlyX3J1bnRpbWUiID4+JGNvbmZpZ19kaXIvc3RvcAorZWNobyAicGlkZmlsZT1cYGdyZXAgXCJecGlkZmlsZT1cIiAkY29uZmlnX2Rpcl9ydW50aW1lL21pbmlzZXJ2LmNvbmYgfCBzZWQgLWUgJ3MvcGlkZmlsZT0vL2cnXGAiID4+JGNvbmZpZ19kaXIvc3RvcAorZWNobyAia2lsbCBcYGNhdCBcJHBpZGZpbGVcYCIgPj4kY29uZmlnX2Rpci9zdG9wCisKK2VjaG8gIiMhL2Jpbi9zaCIgPj4kY29uZmlnX2Rpci9yZXN0YXJ0CitlY2hvICIkY29uZmlnX2Rpcl9ydW50aW1lL3N0b3AgJiYgJGNvbmZpZ19kaXJfcnVudGltZS9zdGFydCIgPj4kY29uZmlnX2Rpci9yZXN0YXJ0CisKK2VjaG8gIiMhL2Jpbi9zaCIgPj4kY29uZmlnX2Rpci9yZWxvYWQKK2VjaG8gImVjaG8gUmVsb2FkaW5nIFdlYm1pbiBzZXJ2ZXIgaW4gJHdhZGlyX3J1bnRpbWUiID4+JGNvbmZpZ19kaXIvcmVsb2FkCitlY2hvICJwaWRmaWxlPVxgZ3JlcCBcIl5waWRmaWxlPVwiICRjb25maWdfZGlyX3J1bnRpbWUvbWluaXNlcnYuY29uZiB8IHNlZCAtZSAncy9waWRmaWxlPS8vZydcYCIgPj4kY29uZmlnX2Rpci9yZWxvYWQKK2VjaG8gImtpbGwgLVVTUjEgXGBjYXQgXCRwaWRmaWxlXGAiID4+JGNvbmZpZ19kaXIvcmVsb2FkCisKK2NobW9kIDc1NSAkY29uZmlnX2Rpci9zdGFydCAkY29uZmlnX2Rpci9zdG9wICRjb25maWdfZGlyL3Jlc3RhcnQgJGNvbmZpZ19kaXIvcmVsb2FkCitlY2hvICIuLmRvbmUiCitlY2hvICIiCisKK2lmIFsgIiR1cGdyYWRpbmciID0gMSBdOyB0aGVuCisJZWNobyAiVXBkYXRpbmcgY29uZmlnIGZpbGVzLi4iCitlbHNlCisJZWNobyAiQ29weWluZyBjb25maWcgZmlsZXMuLiIKK2ZpCituZXdtb2RzPWAkcGVybCAiJHdhZGlyL2NvcHljb25maWcucGwiICIkb3NfdHlwZS8kcmVhbF9vc190eXBlIiAiJG9zX3ZlcnNpb24vJHJlYWxfb3NfdmVyc2lvbiIgIiR3YWRpciIgJGNvbmZpZ19kaXIgIiIgJGFsbG1vZHNgCisjIFN0b3JlIHRoZSBPUyBhbmQgdmVyc2lvbgorZWNobyAib3NfdHlwZT0kb3NfdHlwZSIgPj4gJGNvbmZpZ19kaXIvY29uZmlnCitlY2hvICJvc192ZXJzaW9uPSRvc192ZXJzaW9uIiA+PiAkY29uZmlnX2Rpci9jb25maWcKK2VjaG8gInJlYWxfb3NfdHlwZT0kcmVhbF9vc190eXBlIiA+PiAkY29uZmlnX2Rpci9jb25maWcKK2VjaG8gInJlYWxfb3NfdmVyc2lvbj0kcmVhbF9vc192ZXJzaW9uIiA+PiAkY29uZmlnX2Rpci9jb25maWcKK2lmIFsgLXIgL2V0Yy9zeXN0ZW0uY25mIF07IHRoZW4KKwkjIEZvdW5kIGEgY2FsZGVyYSBzeXN0ZW0gY29uZmlnIGZpbGUgLi4gZ2V0IHRoZSBsYW5ndWFnZQorCXNvdXJjZSAvZXRjL3N5c3RlbS5jbmYKKwlpZiBbICIkQ09ORl9MU1RfTEFORyIgPSAidXMiIF07IHRoZW4KKwkJQ09ORl9MU1RfTEFORz1lbgorCWVsaWYgWyAiJENPTkZfTFNUX0xBTkciID0gInVrIiBdOyB0aGVuCisJCUNPTkZfTFNUX0xBTkc9ZW4KKwlmaQorCWdyZXAgImxhbmc9JENPTkZfTFNUX0xBTkcsIiAiJHdhZGlyL2xhbmdfbGlzdC50eHQiID4vZGV2L251bGwgMj4mMQorCWlmIFsgIiQ/IiA9IDAgXTsgdGhlbgorCQllY2hvICJsYW5nPSRDT05GX0xTVF9MQU5HIiA+PiAkY29uZmlnX2Rpci9jb25maWcKKwlmaQorZmkKKworIyBUdXJuIG9uIGxvZ2dpbmcgYnkgZGVmYXVsdAorZWNobyAibG9nPTEiID4+ICRjb25maWdfZGlyL2NvbmZpZworCisjIFVzZSBsaWNlbmNlIG1vZHVsZSBzcGVjaWZpZWQgYnkgZW52aXJvbm1lbnQgdmFyaWFibGUKK2lmIFsgIiRsaWNlbmNlX21vZHVsZSIgIT0gIiIgXTsgdGhlbgorCWVjaG8gbGljZW5jZV9tb2R1bGU9JGxpY2VuY2VfbW9kdWxlID4+JGNvbmZpZ19kaXIvY29uZmlnCitmaQorCisjIERpc2FsbG93IHVua25vd24gcmVmZXJlcnMgYnkgZGVmYXVsdAorZWNobyAicmVmZXJlcnNfbm9uZT0xIiA+PiRjb25maWdfZGlyL2NvbmZpZworZWNobyAkdmVyID4gJGNvbmZpZ19kaXIvdmVyc2lvbgorZWNobyAiLi5kb25lIgorZWNobyAiIgorCisjIFNldCBwYXNzd2RfIGZpZWxkcyBpbiBtaW5pc2Vydi5jb25mIGZyb20gZ2xvYmFsIGNvbmZpZworZm9yIGZpZWxkIGluIHBhc3N3ZF9maWxlIHBhc3N3ZF91aW5kZXggcGFzc3dkX3BpbmRleCBwYXNzd2RfY2luZGV4IHBhc3N3ZF9taW5kZXg7IGRvCisJZ3JlcCAkZmllbGQ9ICRjb25maWdfZGlyL21pbmlzZXJ2LmNvbmYgPi9kZXYvbnVsbAorCWlmIFsgIiQ/IiAhPSAiMCIgXTsgdGhlbgorCQlncmVwICRmaWVsZD0gJGNvbmZpZ19kaXIvY29uZmlnID4+ICRjb25maWdfZGlyL21pbmlzZXJ2LmNvbmYKKwlmaQorZG9uZQorZ3JlcCBwYXNzd2RfbW9kZT0gJGNvbmZpZ19kaXIvbWluaXNlcnYuY29uZiA+L2Rldi9udWxsCitpZiBbICIkPyIgIT0gIjAiIF07IHRoZW4KKwllY2hvIHBhc3N3ZF9tb2RlPTAgPj4gJGNvbmZpZ19kaXIvbWluaXNlcnYuY29uZgorZmkKKworIyBJZiBQZXJsIGNyeXB0IHN1cHBvcnRzIE1ENSwgdGhlbiBtYWtlIGl0IHRoZSBkZWZhdWx0CitpZiBbICIkbWQ1cGFzcyIgPSAiMSIgXTsgdGhlbgorCWVjaG8gbWQ1cGFzcz0xID4+ICRjb25maWdfZGlyL2NvbmZpZworZmkKKworIyBTZXQgYSBzcGVjaWFsIHRoZW1lIGlmIG5vbmUgd2FzIHNldCBiZWZvcmUKK2lmIFsgIiR0aGVtZSIgPSAiIiBdOyB0aGVuCisJdGhlbWU9YGNhdCAiJHdhZGlyL2RlZmF1bHR0aGVtZSIgMj4vZGV2L251bGxgCitmaQorb2xkdGhlbWVsaW5lPWBncmVwICJedGhlbWU9IiAkY29uZmlnX2Rpci9jb25maWdgCitvbGR0aGVtZT1gZWNobyAkb2xkdGhlbWVsaW5lIHwgc2VkIC1lICdzL3RoZW1lPS8vZydgCitpZiBbICIkdGhlbWUiICE9ICIiIF0gJiYgWyAiJG9sZHRoZW1lbGluZSIgPSAiIiBdICYmIFsgLWQgIiR3YWRpci8kdGhlbWUiIF07IHRoZW4KKwl0aGVtZWxpc3Q9JHRoZW1lCitmaQorCisjIFNldCBhIHNwZWNpYWwgb3ZlcmxheSBpZiBub25lIHdhcyBzZXQgYmVmb3JlCitpZiBbICIkb3ZlcmxheSIgPSAiIiBdOyB0aGVuCisJb3ZlcmxheT1gY2F0ICIkd2FkaXIvZGVmYXVsdG92ZXJsYXkiIDI+L2Rldi9udWxsYAorZmkKK2lmIFsgIiRvdmVybGF5IiAhPSAiIiBdICYmIFsgIiR0aGVtZSIgIT0gIiIgXSAmJiBbIC1kICIkd2FkaXIvJG92ZXJsYXkiIF07IHRoZW4KKwl0aGVtZWxpc3Q9IiR0aGVtZWxpc3QgJG92ZXJsYXkiCitmaQorCisjIEFwcGx5IHRoZSB0aGVtZSBhbmQgbWF5YmUgb3ZlcmxheQoraWYgWyAiJHRoZW1lbGlzdCIgIT0gIiIgXTsgdGhlbgorCWVjaG8gInRoZW1lPSR0aGVtZWxpc3QiID4+ICRjb25maWdfZGlyL2NvbmZpZworCWVjaG8gInByZXJvb3Q9JHRoZW1lbGlzdCIgPj4gJGNvbmZpZ19kaXIvbWluaXNlcnYuY29uZgorZmkKKworIyBTZXQgdGhlIHByb2R1Y3QgZmllbGQgaW4gdGhlIGdsb2JhbCBjb25maWcKK2dyZXAgcHJvZHVjdD0gJGNvbmZpZ19kaXIvY29uZmlnID4vZGV2L251bGwKK2lmIFsgIiQ/IiAhPSAiMCIgXTsgdGhlbgorCWVjaG8gcHJvZHVjdD13ZWJtaW4gPj4gJGNvbmZpZ19kaXIvY29uZmlnCitmaQorCitpZiBbICIkbWFrZWJvb3QiID0gIjEiIF07IHRoZW4KKwllY2hvICJDb25maWd1cmluZyBXZWJtaW4gdG8gc3RhcnQgYXQgYm9vdCB0aW1lLi4iCisJKGNkICIkd2FkaXIvaW5pdCIgOyBXRUJNSU5fQ09ORklHPSRjb25maWdfZGlyIFdFQk1JTl9WQVI9JHZhcl9kaXIgIiR3YWRpci9pbml0L2F0Ym9vdC5wbCIgJGJvb3RzY3JpcHQpCisJZWNobyAiLi5kb25lIgorCWVjaG8gIiIKK2ZpCisKKyMgSWYgcGFzc3dvcmQgZGVsYXlzIGFyZSBub3Qgc3BlY2lmaWNhbGx5IGRpc2FibGVkLCBlbmFibGUgdGhlbQorZ3JlcCBwYXNzZGVsYXk9ICRjb25maWdfZGlyL21pbmlzZXJ2LmNvbmYgPi9kZXYvbnVsbAoraWYgWyAiJD8iICE9ICIwIiBdOyB0aGVuCisJZWNobyBwYXNzZGVsYXk9MSA+PiAkY29uZmlnX2Rpci9taW5pc2Vydi5jb25mCitmaQorCitlY2hvICJDaGFuZ2luZyBvd25lcnNoaXAgYW5kIHBlcm1pc3Npb25zIC4uIgorIyBNYWtlIGFsbCBjb25maWcgZGlycyBub24td29ybGQtcmVhZGFibGUKK2ZvciBtIGluICRuZXdtb2RzOyBkbworCWNob3duIC1SIHJvb3QgJGNvbmZpZ19kaXIvJG0KKwljaGdycCAtUiBiaW4gJGNvbmZpZ19kaXIvJG0KKwljaG1vZCAtUiBvZy1ydyAkY29uZmlnX2Rpci8kbQorZG9uZQorIyBNYWtlIG1pbmlzZXJ2IGNvbmZpZyBmaWxlcyBub24td29ybGQtcmVhZGFibGUKK2ZvciBmIGluIG1pbmlzZXJ2LmNvbmYgbWluaXNlcnYucGVtIG1pbmlzZXJ2LnVzZXJzOyBkbworCWNob3duIC1SIHJvb3QgJGNvbmZpZ19kaXIvJGYKKwljaGdycCAtUiBiaW4gJGNvbmZpZ19kaXIvJGYKKwljaG1vZCAtUiBvZy1ydyAkY29uZmlnX2Rpci8kZgorZG9uZQorY2htb2QgK3IgJGNvbmZpZ19kaXIvdmVyc2lvbgoraWYgWyAiJG5vY2hvd24iID0gIiIgXTsgdGhlbgorCSMgTWFrZSBwcm9ncmFtIGRpcmVjdG9yeSBub24td29ybGQtd3JpdGFibGUsIGJ1dCBleGVjdXRhYmxlCisJY2hvd24gLVIgcm9vdCAiJHdhZGlyIgorCWNoZ3JwIC1SIGJpbiAiJHdhZGlyIgorCWNobW9kIC1SIG9nLXcgIiR3YWRpciIKKwljaG1vZCAtUiBhK3J4ICIkd2FkaXIiCitmaQoraWYgWyAkdmFyX2RpciAhPSAiL3ZhciIgXTsgdGhlbgorCSMgTWFrZSBsb2cgZGlyZWN0b3J5IG5vbi13b3JsZC1yZWFkYWJsZSBvciB3cml0YWJsZQorCWNob3duIC1SIHJvb3QgJHByZWZpeCR2YXJfZGlyCisJY2hncnAgLVIgYmluICRwcmVmaXgkdmFyX2RpcgorCWNobW9kIC1SIG9nLXJ3eCAkcHJlZml4JHZhcl9kaXIKK2ZpCisjIEZpeCB1cCBiYWQgcGVybWlzc2lvbnMgZnJvbSBzb21lIG9sZGVyIGluc3RhbGxzCitmb3IgbSBpbiBsZGFwLWNsaWVudCBsZGFwLXNlcnZlciBsZGFwLXVzZXJhZG1pbiBtYWlsYm94ZXMgbXlzcWwgcG9zdGdyZXNxbCBzZXJ2ZXJzIHZpcnR1YWwtc2VydmVyOyBkbworCWlmIFsgLWQgIiRjb25maWdfZGlyLyRtIiBdOyB0aGVuCisJCWNob3duIHJvb3QgJGNvbmZpZ19kaXIvJG0KKwkJY2hncnAgYmluICRjb25maWdfZGlyLyRtCisJCWNobW9kIG9nLXJ3ICRjb25maWdfZGlyLyRtCisJCWNobW9kIG9nLXJ3ICRjb25maWdfZGlyLyRtL2NvbmZpZyAyPi9kZXYvbnVsbAorCWZpCitkb25lCisKK2lmIFsgIiRub3Bvc3RpbnN0YWxsIiA9ICIiIF07IHRoZW4KKwllY2hvICJSdW5uaW5nIHBvc3RpbnN0YWxsIHNjcmlwdHMgLi4iCisJKGNkICIkd2FkaXIiIDsgV0VCTUlOX0NPTkZJRz0kY29uZmlnX2RpciBXRUJNSU5fVkFSPSR2YXJfZGlyICIkd2FkaXIvcnVuLXBvc3RpbnN0YWxscy5wbCIpCisJZWNobyAiLi5kb25lIgorCWVjaG8gIiIKK2ZpCisKKyMgRW5hYmxlIGJhY2tncm91bmQgY29sbGVjdGlvbgoraWYgWyAiJHVwZ3JhZGluZyIgIT0gMSAtYSAtciAkY29uZmlnX2Rpci9zeXN0ZW0tc3RhdHVzL2VuYWJsZS1jb2xsZWN0aW9uLnBsIF07IHRoZW4KKwllY2hvICJFbmFibGluZyBiYWNrZ3JvdW5kIHN0YXR1cyBjb2xsZWN0aW9uIC4uIgorCSRjb25maWdfZGlyL3N5c3RlbS1zdGF0dXMvZW5hYmxlLWNvbGxlY3Rpb24ucGwgNQorCWVjaG8gIi4uZG9uZSIKKwllY2hvICIiCitmaQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL3dlYm1pbl8xLjc1MC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vd2VibWluXzEuNzUwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0MDUyYTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL3dlYm1pbl8xLjc1MC5iYgpAQCAtMCwwICsxLDE1NSBAQAorU1VNTUFSWSA9ICJXZWItYmFzZWQgYWRtaW5pc3RyYXRpb24gaW50ZXJmYWNlIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy53ZWJtaW4uY29tIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTkNFO21kNT0wMzczYWM5ZjYxMWU1NDJkZGViZTFlYzYzOTRhZmMzYyIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vd2ViYWRtaW4vd2VibWluLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9zZXR1cC5zaCBcCisgICAgICAgICAgIGZpbGU6Ly9pbml0LWV4Y2x1ZGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbmV0LWdlbmVyaWMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcmVtb3ZlLXN0YXJ0dXAtb3B0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2Rpc2FibGUtdmVyc2lvbi1jaGVjay5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9uZnMtZXhwb3J0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2V4cG9ydHMtbGliLnBsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL21vdW50LWV4Y2x1ZGVmcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zYW1iYS1jb25maWctZml4LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3Byb2Z0cGQtY29uZmlnLWZpeC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9uZXQtbGliLnBsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL21lZGlhLXRvbWIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcmVtb3ZlLXB5dGhvbjIuMy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9teXNxbC1jb25maWctZml4LnBhdGNoIFwKKyAgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjQwMDdjMzkwMzIzZDg0MGYyNmMyZTBmNDNjNWM4MWEzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjUxMTFmODIwYWRjNmZiY2E5OTdhNThkNGIyZmExODZkYWM2Y2RlZDljZmYwZTcwNzI0ZjhjYWU2MDIxMTIzZDkiCisKK2luaGVyaXQgcGVybG5hdGl2ZSB1cGRhdGUtcmMuZAorCitkb19jb25maWd1cmUoKSB7CisgICAgIyBSZW1vdmUgYmluYXJpZXMgYW5kIHBsdWdpbnMgZm9yIG90aGVyIHBsYXRmb3JtcworICAgIHJtIC1yZiBhY2wvQXV0aGVuLVNvbGFyaXNSQkFDLTAuMSoKKyAgICBybSAtcmYgZm9ybWF0IGJzZGV4cG9ydHMgaHB1eGV4cG9ydHMgc2dpZXhwb3J0cworICAgIHJtIC1yZiB6b25lcyByYmFjIHNtZiBpcGZ3IGlwZmlsdGVyIGRmc2FkbWluCisgICAgcm0gLWYgbW91bnQvZnJlZWJzZC1tb3VudHMqIG1vdW50L25ldGJzZC1tb3VudHMqCisgICAgcm0gLWYgbW91bnQvb3BlbmJzZC1tb3VudHMqIG1vdW50L21hY29zLW1vdW50cyoKKworICAgICMgUmVtb3ZlIHNvbWUgcGx1Z2lucyBmb3IgdGhlIG1vbWVudAorICAgIHJtIC1yZiBsaWxvIGZyb3ggd3VmdHBkIHRlbG5ldCBwc2VydmVyIGNwYW4gc2hvcmV3YWxsIHdlYmFsaXplciBjZmVuZ2luZSBmc2R1bXAgcGFwCisgICAgcm0gLXJmIG1ham9yZG9tbyBmZXRjaG1haWwgc2VuZG1haWwgbWFpbGJveGVzIHByb2NtYWlsIGZpbHRlciBtYWlsY2FwIGRvdmVjb3QgZXhpbSBzcGFtIHFtYWlsYWRtaW4gcG9zdGZpeAorICAgIHJtIC1yZiBzdHVubmVsIHNxdWlkIHNhcmcgcHB0cC1jbGllbnQgcHB0cC1zZXJ2ZXIgamFiYmVyIG9wZW5zbHAgc2VudHJ5IGNsdXN0ZXItKiB2Z2V0dHkgYnVybmVyIGhlYXJ0YmVhdAorCisgICAgIyBBZGp1c3QgY29uZmlncworICAgIFsgLWYgaW5pdC9jb25maWctZGViaWFuLWxpbnV4IF0gJiYgbXYgaW5pdC9jb25maWctZGViaWFuLWxpbnV4IGluaXQvY29uZmlnLWdlbmVyaWMtbGludXgKKyAgICBzZWQgLWkgInMvc2h1dGRvd25fY29tbWFuZD0uKi9zaHV0ZG93bl9jb21tYW5kPXBvd2Vyb2ZmLyIgaW5pdC9jb25maWctZ2VuZXJpYy1saW51eAorICAgIGVjaG8gImV4Y2x1ZGU9Ym9vdG1pc2Muc2gsc2luZ2xlLGhhbHQscmVib290LGhvc3RuYW1lLnNoLG1vZHV0aWxzLnNoLG1vdW50YWxsLnNoLG1vdW50bmZzLnNoLG5ldHdvcmtpbmcscG9wdWxhdGUtdm9sYXRpbGUuc2gscm1ub2xvZ2luLnNoLHNhdmUtcnRjLnNoLHVtb3VudGZzLHVtb3VudG5mcy5zaCxod2Nsb2NrLnNoLGNoZWNrcm9vdC5zaCxiYW5uZXIuc2gsdWRldix1ZGV2LWNhY2hlLGRldnB0cy5zaCxwc3BsYXNoLnNoLHNlbmRzaWdzLGZic2V0dXAsYm9vdGxvZ2Qsc3RvcC1ib290bG9nZCxzeXNmcy5zaCxzeXNsb2csc3lzbG9nLmJ1c3lib3gsdXJhbmRvbSx3ZWJtaW4sZnVuY3Rpb25zLmluaXRzY3JpcHRzLHJlYWQtb25seS1yb290ZnMtaG9vay5zaCIgPj4gaW5pdC9jb25maWctZ2VuZXJpYy1saW51eAorICAgIGVjaG8gImV4Y2x1ZGVmcz1kZXZwdHMsZGV2dG1wZnMsdXNiZGV2ZnMscHJvYyx0bXBmcyxzeXNmcyxkZWJ1Z2ZzIiA+PiBtb3VudC9jb25maWctZ2VuZXJpYy1saW51eAorCisgICAgWyAtZiBleHBvcnRzL2NvbmZpZy1kZWJpYW4tbGludXggXSAmJiBtdiBleHBvcnRzL2NvbmZpZy1kZWJpYW4tbGludXggZXhwb3J0cy9jb25maWctZ2VuZXJpYy1saW51eAorICAgIHNlZCAtaSAicy9raWxsYWxsIC1IVVAgcnBjLm5mc2QgJiYgLy8iIGV4cG9ydHMvY29uZmlnLWdlbmVyaWMtbGludXgKKyAgICBzZWQgLWkgInMvbmV0c3RkX25mcy9uZnNzZXJ2ZXIvZyIgZXhwb3J0cy9jb25maWctZ2VuZXJpYy1saW51eAorCisgICAgIyBGaXggaW5zYW5lIG5hbWluZyB0aGF0IGNhdXNlcyBwcm9ibGVtcyBhdCBwYWNrYWdpbmcgdGltZSAobXVzdCBiZSBkb25lIGJlZm9yZSBkZWxldGluZyBiZWxvdykKKyAgICBmaW5kIC4gLW5hbWUgIipcKioiIHwgd2hpbGUgcmVhZCBmcm9tCisgICAgZG8KKyAgICAgICAgdG89YGVjaG8gIiRmcm9tIiB8IHNlZCAicy8qL0FMTC8iYAorICAgICAgICBtdiAiJGZyb20iICIkdG8iCisgICAgZG9uZQorCisgICAgIyBSZW1vdmUgc29tZSBvdGhlciBmaWxlcyB3ZSBkb24ndCBuZWVkCisgICAgZmluZCAuIC1uYW1lICJjb25maWctKiIgLWEgXCEgLW5hbWUgImNvbmZpZy1nZW5lcmljLWxpbnV4IiAtYSBcISAtbmFtZSAiY29uZmlnLUFMTC1saW51eCIgLWEgXCEgLW5hbWUgIioucGwiIC1kZWxldGUKKyAgICBmaW5kIC4gLXJlZ2V4dHlwZSBwb3NpeC1leHRlbmRlZCAtcmVnZXggIi4qLyhvcGVuc2VydmVyfGFpeHxvc2YxfG9zZnxvcGVuYnNkfG5ldGJzZHxmcmVlYnNkfHVuaXh3YXJlfHNvbGFyaXN8bWFjb3N8aXJpeHxocHV4fGN5Z3dpbnx3aW5kb3dzKS1saWJcLnBsIiAtZGVsZXRlCisgICAgcm0gLWYgd2VibWluLWdlbnRvby1pbml0IHdlYm1pbi1jYWxkZXJhLWluaXQgd2VibWluLWRlYmlhbi1wYW0gd2VibWluLXBhbQorCisgICAgIyBEb24ndCBuZWVkIHRoZXNlIGF0IHJ1bnRpbWUgKGFuZCB3ZSBoYXZlIG91ciBvd24gc2V0dXAgc2NyaXB0KQorICAgIHJtIC1mIHNldHVwLnNoCisgICAgcm0gLWYgc2V0dXAucGwKKworICAgICMgVXNlIHBpZG9mIGZvciBmaW5kaW5nIFBJRHMKKyAgICBzZWQgLWkgInMvZmluZF9waWRfY29tbWFuZD0uKi9maW5kX3BpZF9jb21tYW5kPXBpZG9mIE5BTUUvIiBjb25maWctZ2VuZXJpYy1saW51eAorfQorCitXRUJNSU5fTE9HSU4gPz0gImFkbWluIgorV0VCTUlOX1BBU1NXT1JEID89ICJwYXNzd29yZCIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS93ZWJtaW4KKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gMDc1NSB3ZWJtaW4taW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvd2VibWluCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS93ZWJtaW4KKworICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZXhlY2Rpcn0vd2VibWluCisgICAgY2QgJHtTfSB8fCBleGl0IDEKKyAgICB0YXIgLS1uby1zYW1lLW93bmVyIC0tZXhjbHVkZT0nLi9wYXRjaGVzJyAtLWV4Y2x1ZGU9Jy4vLnBjJyAtY3BmIC0gLiBcCisgICAgICAgIHwgdGFyIC0tbm8tc2FtZS1vd25lciAteHBmIC0gLUMgJHtEfSR7bGliZXhlY2Rpcn0vd2VibWluCisKKyAgICBybSAtZiAke0R9JHtsaWJleGVjZGlyfS93ZWJtaW4vd2VibWluLWluaXQKKyAgICBybSAtZiAke0R9JHtsaWJleGVjZGlyfS93ZWJtaW4vYWpheHRlcm0vYWpheHRlcm0vY29uZmlndXJlLmluaXRkLmdlbnRvbworICAgIHJtIC1yZiAke0R9JHtsaWJleGVjZGlyfS93ZWJtaW4vcGF0Y2hlcworCisgICAgIyBSdW4gc2V0dXAgc2NyaXB0CisgICAgZXhwb3J0IHBlcmw9cGVybAorICAgIGV4cG9ydCBwZXJsX3J1bnRpbWU9JHtiaW5kaXJ9L3BlcmwKKyAgICBleHBvcnQgcHJlZml4PSR7RH0KKyAgICBleHBvcnQgdGVtcGRpcj0ke1N9L2luc3RhbGxfdG1wCisgICAgZXhwb3J0IHdhZGlyPSR7bGliZXhlY2Rpcn0vd2VibWluCisgICAgZXhwb3J0IGNvbmZpZ19kaXI9JHtzeXNjb25mZGlyfS93ZWJtaW4KKyAgICBleHBvcnQgdmFyX2Rpcj0ke2xvY2Fsc3RhdGVkaXJ9L3dlYm1pbgorICAgIGV4cG9ydCBvc190eXBlPWdlbmVyaWMtbGludXgKKyAgICBleHBvcnQgb3NfdmVyc2lvbj0wCisgICAgZXhwb3J0IHJlYWxfb3NfdHlwZT0iJHtESVNUUk9fTkFNRX0iCisgICAgZXhwb3J0IHJlYWxfb3NfdmVyc2lvbj0iJHtESVNUUk9fVkVSU0lPTn0iCisgICAgZXhwb3J0IHBvcnQ9MTAwMDAKKyAgICBleHBvcnQgbG9naW49JHtXRUJNSU5fTE9HSU59CisgICAgZXhwb3J0IHBhc3N3b3JkPSR7V0VCTUlOX1BBU1NXT1JEfQorICAgIGV4cG9ydCBzc2w9MAorICAgIGV4cG9ydCBhdGJvb3Q9MQorICAgIGV4cG9ydCBub19wYW09MQorICAgIG1rZGlyIC1wICR0ZW1wZGlyCisgICAgJHtTfS8uLi9zZXR1cC5zaAorfQorCitJTklUU0NSSVBUX05BTUUgPSAid2VibWluIgorSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgOTkgNSAzIDIgLiBzdG9wIDEwIDAgMSA2IC4iCisKKyMgRklYTUU6IHNvbWUgb2YgdGhpcyBzaG91bGQgYmUgZmlndXJlZCBvdXQgYXV0b21hdGljYWxseQorUkRFUEVORFNfJHtQTn0gKz0gInBlcmwgcGVybC1tb2R1bGUtc29ja2V0IHBlcmwtbW9kdWxlLWV4cG9ydGVyIHBlcmwtbW9kdWxlLWV4cG9ydGVyLWhlYXZ5IHBlcmwtbW9kdWxlLWNhcnAgcGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfJHtQTn0gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIHBlcmwtbW9kdWxlLXhzbG9hZGVyIHBlcmwtbW9kdWxlLXBvc2l4IHBlcmwtbW9kdWxlLWF1dG9sb2FkZXIiCitSREVQRU5EU18ke1BOfSArPSAicGVybC1tb2R1bGUtZmNudGwgcGVybC1tb2R1bGUtdGllLWhhc2ggcGVybC1tb2R1bGUtdmFycyBwZXJsLW1vZHVsZS10aW1lLWxvY2FsIHBlcmwtbW9kdWxlLWNvbmZpZyBwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTXyR7UE59ICs9ICJwZXJsLW1vZHVsZS1maWxlLWdsb2IgcGVybC1tb2R1bGUtZmlsZS1jb3B5IHBlcmwtbW9kdWxlLXNkYm0tZmlsZSBwZXJsLW1vZHVsZS1mZWF0dXJlIgorCitQQUNLQUdFU19EWU5BTUlDICs9ICJ3ZWJtaW4tbW9kdWxlLSogd2VibWluLXRoZW1lLSoiCitSUkVDT01NRU5EU18ke1BOfSArPSAid2VibWluLW1vZHVsZS1zeXN0ZW0tc3RhdHVzIgorCitQQUNLQUdFUyArPSAiJHtQTn0tbW9kdWxlLXByb2MgJHtQTn0tbW9kdWxlLXJhaWQgJHtQTn0tbW9kdWxlLWV4cG9ydHMgJHtQTn0tbW9kdWxlLWZkaXNrICR7UE59LW1vZHVsZS1sdm0iCitSREVQRU5EU18ke1BOfS1tb2R1bGUtcHJvYyA9ICJwcm9jcHMiCitSREVQRU5EU18ke1BOfS1tb2R1bGUtcmFpZCA9ICJtZGFkbSIKK1JERVBFTkRTXyR7UE59LW1vZHVsZS1leHBvcnRzID0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUgcGVybC1tb2R1bGUtZmlsZS1wYXRoIHBlcmwtbW9kdWxlLWN3ZCBwZXJsLW1vZHVsZS1maWxlLXNwZWMgcGVybC1tb2R1bGUtZmlsZS1zcGVjLXVuaXgiCitSUkVDT01NRU5EU18ke1BOfS1tb2R1bGUtZmRpc2sgPSAicGFydGVkIgorUlJFQ09NTUVORFNfJHtQTn0tbW9kdWxlLWx2bSA9ICJsdm0yIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCgpIHsKKyAgICBpbXBvcnQgb3MsIG9zLnBhdGgKKworICAgIHdhZGlyID0gYmIuZGF0YS5leHBhbmQoJyR7bGliZXhlY2Rpcn0vd2VibWluJywgZCkKKyAgICB3YWRpcl9pbWFnZSA9IGJiLmRhdGEuZXhwYW5kKCcke0R9JywgZCkgKyB3YWRpcgorICAgIG1vZHVsZXMgPSBbXQorICAgIHRoZW1lcyA9IFtdCisgICAgZm9yIG1vZCBpbiBvcy5saXN0ZGlyKHdhZGlyX2ltYWdlKToKKyAgICAgICAgbW9kaW5mbyA9IG9zLnBhdGguam9pbih3YWRpcl9pbWFnZSwgbW9kLCAibW9kdWxlLmluZm8iKQorICAgICAgICB0aGVtZWluZm8gPSBvcy5wYXRoLmpvaW4od2FkaXJfaW1hZ2UsIG1vZCwgInRoZW1lLmluZm8iKQorICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhtb2RpbmZvKToKKyAgICAgICAgICAgIG1vZHVsZXMuYXBwZW5kKG1vZCkKKyAgICAgICAgZWxpZiBvcy5wYXRoLmV4aXN0cyh0aGVtZWluZm8pOgorICAgICAgICAgICAgdGhlbWVzLmFwcGVuZChtb2QpCisKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCB3YWRpciwgJ14oJXMpJCcgJSAifCIuam9pbihtb2R1bGVzKSwgJ3dlYm1pbi1tb2R1bGUtJXMnLCAnV2VibWluIG1vZHVsZSBmb3IgJXMnLCBhbGxvd19kaXJzPVRydWUsIHByZXBlbmQ9VHJ1ZSkKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCB3YWRpciwgJ14oJXMpJCcgJSAifCIuam9pbih0aGVtZXMpLCAnd2VibWluLXRoZW1lLSVzJywgJ1dlYm1pbiB0aGVtZSBmb3IgJXMnLCBhbGxvd19kaXJzPVRydWUsIHByZXBlbmQ9VHJ1ZSkKK30KKworIyBUaW1lLXNhdmVycworcGFja2FnZV9kb19wa2djb25maWcoKSB7CisgICAgOgorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvUkVBRE1FIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1MGNhMTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9SRUFETUUKQEAgLTAsMCArMSwyMyBAQAorVGhpcyBsYXllciBkZXBlbmRzIG9uOgorCitVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL29lLWNvcmUuZ2l0CiticmFuY2g6IGtyb2dvdGgKK3JldmlzaW9uOiBIRUFECisKK1VSSTogZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuZW1iZWRkZWQvbWV0YS1vZS5naXQKK2JyYW5jaDoga3JvZ290aAorcmV2aXNpb246IEhFQUQKK21ldGEteGZjZSBkZXBlbmRzIG9uIG1ldGEtb2UsIG1ldGEtZ25vbWUgYW5kIG1ldGEtbXVsdGltZWRpYSBpbiB0aGlzIHJlcG9zaXRvcnkuCisKK1RvIGF2b2lkIGRlcGVuZGVuY2llcyBvbiBtZXRhLW11bHRpbWVkaWEgeW91IG5lZWQgdG8gbWFzayByZWNpcGVzIGJ5IGFkZGluZwordGhpcyB0byBsb2NhbC5jb25mOgorCitCQk1BU0sgPSAibWV0YS14ZmNlL3JlY2lwZXMtbXVsdGltZWRpYSIKKworU2VuZCBwdWxsIHJlcXVlc3RzIHRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIHdpdGggJ1ttZXRhLXhmY2VdW2tyb2dvdGhdJyBpbiB0aGUgc3ViamVjdCcKKworV2hlbiBzZW5kaW5nIHNpbmdsZSBwYXRjaGVzLCBwbGVhc2UgdXNpbmcgc29tZXRoaW5nIGxpa2U6CisnZ2l0IHNlbmQtZW1haWwgLU0gLTEgLS10byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyAtLXN1YmplY3QtcHJlZml4PW1ldGEteGZjZV1ba3JvZ290aF1bUEFUQ0gnCisKK2tyb2dvdGggQnJhbmNoIE1haW50YWluZXI6CitBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvY2xhc3Nlcy90aHVuYXItcGx1Z2luLmJiY2xhc3MgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9jbGFzc2VzL3RodW5hci1wbHVnaW4uYmJjbGFzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZWMwNzNhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvY2xhc3Nlcy90aHVuYXItcGx1Z2luLmJiY2xhc3MKQEAgLTAsMCArMSwxMCBAQAoraW5oZXJpdCB4ZmNlCisKK0RFUEVORFMgKz0gInRodW5hciIKKworU1JDX1VSSSA9ICJodHRwOi8vYXJjaGl2ZS54ZmNlLm9yZy9zcmMvdGh1bmFyLXBsdWdpbnMvJHtCUE59LyR7QCcke1BWfSdbMDozXX0vJHtCUE59LSR7UFZ9LnRhci5iejIiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vdGh1bmFyeC0yLyouc28iCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS90aHVuYXJ4LTIvLmRlYnVnIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vdGh1bmFyeC0yLyoubGEiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL2NsYXNzZXMveGZjZS1hcHAuYmJjbGFzcyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL2NsYXNzZXMveGZjZS1hcHAuYmJjbGFzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NzgwZWJmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvY2xhc3Nlcy94ZmNlLWFwcC5iYmNsYXNzCkBAIC0wLDAgKzEsNCBAQAoraW5oZXJpdCB4ZmNlCisKK1NSQ19VUkkgPSAiaHR0cDovL2FyY2hpdmUueGZjZS5vcmcvc3JjL2FwcHMvJHtCUE59LyR7QHhmY2VfdmVyZGlyKCIke1BWfSIpfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvY2xhc3Nlcy94ZmNlLWdpdC5iYmNsYXNzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvY2xhc3Nlcy94ZmNlLWdpdC5iYmNsYXNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmYzE4ZDIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9jbGFzc2VzL3hmY2UtZ2l0LmJiY2xhc3MKQEAgLTAsMCArMSw3IEBACitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAgICBjZCAke1N9CisgICAgICAgTk9DT05GSUdVUkU9eWVzIC4vYXV0b2dlbi5zaAorICAgICAgIGNkICR7Qn0KK30KKworQVVUT1RPT0xTX0NPUFlBQ0xPQ0FMID0gIjEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9jbGFzc2VzL3hmY2UtcGFuZWwtcGx1Z2luLmJiY2xhc3MgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9jbGFzc2VzL3hmY2UtcGFuZWwtcGx1Z2luLmJiY2xhc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjJmMDY3OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL2NsYXNzZXMveGZjZS1wYW5lbC1wbHVnaW4uYmJjbGFzcwpAQCAtMCwwICsxLDExIEBACitpbmhlcml0IHhmY2UKKworREVQRU5EUyArPSAibGlieGZjZTR1aSBsaWJ4ZmNlNHV0aWwgeGZjZTQtcGFuZWwiCisKK1NSQ19VUkkgPSAiaHR0cDovL2FyY2hpdmUueGZjZS5vcmcvc3JjL3BhbmVsLXBsdWdpbnMvJHtCUE59LyR7QCcke1BWfSdbMDozXX0vJHtCUE59LSR7UFZ9LnRhci5iejIiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3hmY2U0L3BhbmVsLXBsdWdpbnMvIgorRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0veGZjZTQvcGFuZWwvcGx1Z2lucy8iCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3hmY2U0L3BhbmVsLXBsdWdpbnMvKi5zbyIKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0veGZjZTQvcGFuZWwvcGx1Z2lucy8qLnNvIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmV4ZWNkaXJ9L3hmY2U0L3BhbmVsLXBsdWdpbnMvLmRlYnVnIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvY2xhc3Nlcy94ZmNlLmJiY2xhc3MgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9jbGFzc2VzL3hmY2UuYmJjbGFzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNDliYmExCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvY2xhc3Nlcy94ZmNlLmJiY2xhc3MKQEAgLTAsMCArMSwyMiBAQAorZGVmIHhmY2VfdmVyZGlyKHYpOgorICAgIGltcG9ydCByZQorICAgIG0gPSByZS5tYXRjaCgiXihbMC05XSspXC4oWzAtOV0rKSIsIHYpCisgICAgcmV0dXJuICIlcy4lcyIgJSAobS5ncm91cCgxKSwgbS5ncm91cCgyKSkKKworSE9NRVBBR0UgPSAiaHR0cDovL3d3dy54ZmNlLm9yZyIKK1NSQ19VUkkgPSAiaHR0cDovL2FyY2hpdmUueGZjZS5vcmcvc3JjL3hmY2UvJHtCUE59LyR7QHhmY2VfdmVyZGlyKCIke1BWfSIpfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBndGstaWNvbi1jYWNoZSBwa2djb25maWcKKworREVQRU5EUyArPSAiaW50bHRvb2wtbmF0aXZlIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9pY29ucy8qICR7ZGF0YWRpcn0vYXBwbGljYXRpb25zLyogJHtsaWJkaXJ9L3hmY2U0L21vZHVsZXMvKi5zbyoiCitGSUxFU18ke1BOfS1kb2MgKz0gIiR7ZGF0YWRpcn0veGZjZTQvZG9jIgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS94ZmNlNC8qLyoubGEiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS94ZmNlNC8qLyovKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L3hmY2U0LyovKi5hIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0veGZjZTQvKi8qLyouYSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3hmY2U0LyovLmRlYnVnIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0veGZjZTQvKi8qLy5kZWJ1ZyIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvY29uZi9sYXllci5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvY29uZi9sYXllci5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0YjEwNzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9jb25mL2xheWVyLmNvbmYKQEAgLTAsMCArMSwyMyBAQAorIyBXZSBoYXZlIGEgY29uZiBhbmQgY2xhc3NlcyBkaXJlY3RvcnksIGFwcGVuZCB0byBCQlBBVEgKK0JCUEFUSCAuPSAiOiR7TEFZRVJESVJ9IgorCisjIFdlIGhhdmUgYSByZWNpcGVzIGRpcmVjdG9yeSwgYWRkIHRvIEJCRklMRVMKK0JCRklMRVMgKz0gIiR7TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmIgJHtMQVlFUkRJUn0vcmVjaXBlcy0qLyovKi5iYmFwcGVuZCIKKworQkJGSUxFX0NPTExFQ1RJT05TICs9ICJ4ZmNlLWxheWVyIgorQkJGSUxFX1BBVFRFUk5feGZjZS1sYXllciA6PSAiXiR7TEFZRVJESVJ9LyIKK0JCRklMRV9QUklPUklUWV94ZmNlLWxheWVyID0gIjciCisKKyMgVGhpcyBzaG91bGQgb25seSBiZSBpbmNyZW1lbnRlZCBvbiBzaWduaWZpY2FudCBjaGFuZ2VzIHRoYXQgd2lsbAorIyBjYXVzZSBjb21wYXRpYmlsaXR5IGlzc3VlcyB3aXRoIG90aGVyIGxheWVycworTEFZRVJWRVJTSU9OX3hmY2UtbGF5ZXIgPSAiMSIKKworTEFZRVJERVBFTkRTX3hmY2UtbGF5ZXIgPSAiY29yZSIKK0xBWUVSREVQRU5EU194ZmNlLWxheWVyICs9ICJvcGVuZW1iZWRkZWQtbGF5ZXIiCitMQVlFUkRFUEVORFNfeGZjZS1sYXllciArPSAiZ25vbWUtbGF5ZXIiCitMQVlFUkRFUEVORFNfeGZjZS1sYXllciArPSAib3BlbmVtYmVkZGVkLWxheWVyIgorTEFZRVJERVBFTkRTX3hmY2UtbGF5ZXIgKz0gIm1ldGEtcHl0aG9uIgorCitTSUdHRU5fRVhDTFVERV9TQUZFX1JFQ0lQRV9ERVBTICs9ICIgXAorICB4ZmNlNC1zZXNzaW9uLT5tYWNoaW5lLWhvc3QgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL2dpZ29sby9naWdvbG9fMC40LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMvZ2lnb2xvL2dpZ29sb18wLjQuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jODQ2ZTc4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL2dpZ29sby9naWdvbG9fMC40LjIuYmIKQEAgLTAsMCArMSwxMSBAQAorU1VNTUFSWSA9ICJHaWdvbG8gaXMgYSBmcm9udGVuZCB0byBlYXNpbHkgbWFuYWdlIGNvbm5lY3Rpb25zIHRvIHJlbW90ZSBmaWxlc3lzdGVtcyB1c2luZyBHSU8vR1ZmcyIKK1NFQ1RJT04gPSAieDExL2FwcGxpY2F0aW9uIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorCitERVBFTkRTID0gImd0aysgaW50bHRvb2wtbmF0aXZlIHhmY2U0LWRldi10b29scy1uYXRpdmUiCisKK2luaGVyaXQgeGZjZS1hcHAKKworU1JDX1VSSVttZDVzdW1dID0gIjRhYmM2ZmRlNTY1NzJhZGYzZWMzYTAxODEwOTI1ODRjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU1M2ZjNzhmZTRlN2JkMmYwMWYzODUxYmFlYTdlNjNmNjQxNGZlNjUyZGZiNGIwOGM2MGI1YzRiMmI5MDkxNjQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMvbW91c2VwYWQvbW91c2VwYWRfMC40LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMvbW91c2VwYWQvbW91c2VwYWRfMC40LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGNhMjFhNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9tb3VzZXBhZC9tb3VzZXBhZF8wLjQuMC5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIkEgc2ltcGxlIHRleHQgZWRpdG9yIGZvciBYZmNlIgorU0VDVElPTiA9ICJ4MTEvYXBwbGljYXRpb24iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKKyMgaW50bHRvb2wgdG8gcHJvdmlkZSBpbnRsdG9vbC5tNCB3aXRoIEFDX1BST0dfSU5UTFRPT0wKKyMgeGZjZTQtZGV2LXRvb2xzLW5hdGl2ZSBmb3IgWERUX0kxOE4gbWFjcm8gYW5kIG1vcmUgaW1wb3J0YW50bHkgWERUX0NIRUNLX09QVElPTkFMX1BBQ0tBR0UKKyMgd2hpY2ggZml4ZXMgbW91c2VwYWQvTWFrZWZpbGUuYW06NzI6IGVycm9yOiBIQVZFX0RCVVMgZG9lcyBub3QgYXBwZWFyIGluIEFNX0NPTkRJVElPTkFMCitERVBFTkRTID0gImd0aysgZGJ1cyBkYnVzLWdsaWIgZ3Rrc291cmNldmlldzIgaW50bHRvb2wtbmF0aXZlIHhmY2U0LWRldi10b29scy1uYXRpdmUiCisKK2luaGVyaXQgeGZjZS1hcHAgZ3NldHRpbmdzCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmNTUzMTRjNWRkYTYzMjM4ODMyNDFlNmNmMDE1NTBhNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2MDExNDQzMWVhYzhkYjZiYjZjZTE4YmQzOGYxNjMwY2NjYjY4NDM3NWI5N2E0NDVhMWI2ZmQ2MTk4NDhkMTMyIgorCisjIHdlIGhhdmUgbm8gZ3Rrc291cmNldmlldyAzLnggYXJvdW5kCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWd0azMiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2dsaWItMi4wL3NjaGVtYXMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMvb3JhZ2Uvb3JhZ2VfNC4xMi4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL29yYWdlL29yYWdlXzQuMTIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMmYyNTY4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL29yYWdlL29yYWdlXzQuMTIuMS5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIlhmY2UgQ2FsZW5kZXIiCitTRUNUSU9OID0gIngxMS9hcHBsaWNhdGlvbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05YWMyZTdjZmYxZGRhZjQ4YjZlYWI2MDI4ZjIzZWY4OCIKK0RFUEVORFMgPSAiZ3RrKyB4ZmNlNC1wYW5lbCBsaWJpY2FsIHBvcHQiCisKK2luaGVyaXQgeGZjZS1hcHAKKworU1JDX1VSSVttZDVzdW1dID0gIjJiN2Y1ZDM4Y2I1YzZlZGJjYzY1ZDBmNTJhNzQyZTQ2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNjZjlhYTQ0MWFlODNjODY4ODg2NWY4MjIxNzAyNWNkZjNlYmFhMTUyY2NlNDU3MTc3N2I4YzJhYThkZDkwNjIiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW25vdGlmeV0gPSAiLS1lbmFibGUtbGlibm90aWZ5LC0tZGlzYWJsZS1saWJub3RpZnksbGlibm90aWZ5IgorCitQQUNLQUdFUyA9KyAieGZjZTQtb3JhZ2VjbG9jay1wbHVnaW4iCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9kYnVzLTEiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLy5kZWJ1ZyIKK0ZJTEVTX3hmY2U0LW9yYWdlY2xvY2stcGx1Z2luID0gIiR7bGliZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLyouc28gJHtkYXRhZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMvcmlzdHJldHRvL3Jpc3RyZXR0b18wLjguMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9yaXN0cmV0dG8vcmlzdHJldHRvXzAuOC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2Mzk5Y2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMvcmlzdHJldHRvL3Jpc3RyZXR0b18wLjguMC5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIlRpbnkgaW1hZ2Utdmlld2VyIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvYXBwbGljYXRpb25zL3Jpc3RyZXR0byIKK1NFQ1RJT04gPSAieDExL2FwcGxpY2F0aW9uIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM1ZDE0NTQyOWFkM2NiZjUzMDhkMWRjOTNmNjYzNzZiIgorREVQRU5EUyA9ICJleG8gbGliZXhpZiBndGsrIGRidXMtZ2xpYiBsaWJ4ZmNlNHVpIGxpYnhmY2U0dXRpbCB4ZmNvbmYgY2Fpcm8iCisKK2luaGVyaXQgeGZjZS1hcHAKKworUlJFQ09NTUVORFNfJHtQTn0gKz0gInR1bWJsZXIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5NGM3Nzg4NTAzMjVhNGU1YTEyZTM0MzNjOGEwNTQzMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3MTYyNTMyNGNlY2RhNzE5OWFjYmM5NWEzZWE1MTMyZDBkY2JmODA4NzcxZTdhMjA5ZWEyYjk1MDNhZTRmMzI4IgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9hcHBkYXRhIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hhcmNoaXZlci94YXJjaGl2ZXJfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hhcmNoaXZlci94YXJjaGl2ZXJfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhMjk5MjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGFyY2hpdmVyL3hhcmNoaXZlcl9naXQuYmIKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSA9ICJMaWdodHdlaWdodCwgZGVza3RvcCBpbmRlcGVuZGVudCBHVEsrIGFyY2hpdmUgbWFuYWdlciIKK0hPTUVQQUdFID0gImh0dHA6Ly94YXJjaGl2ZXIuc291cmNlZm9yZ2UubmV0IgorU0VDVElPTiA9ICJ4MTEiCisKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK0RFUEVORFMgPSAiZ3RrKyBnbGliLTIuMCB4ZmNlNC1kZXYtdG9vbHMtbmF0aXZlIGludGx0b29sLW5hdGl2ZSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3NjaG5pdHplbHRvbnkveGFyY2hpdmVyLmdpdDticmFuY2g9bWFzdGVyIgorU1JDUkVWID0gImU4MGU5MDUyOGM5YWFiMmZlMzZkOTA3OGI5NDViNDRjMDVjYzIwZDMiCitQViA9ICIwLjUuMyIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgeGZjZS1naXQgZ2V0dGV4dCBwa2djb25maWcgYXV0b3Rvb2xzIGd0ay1pY29uLWNhY2hlCisKKyMgaW5zdGFsbCB0YXAgZmlsZXMgZm9yIHRodW5hci1hcmNoaXZlLXBsdWdpbiBpbiAke2xpYmRpcn0vdGh1bmFyLWFyY2hpdmUtcGx1Z2luCitFWFRSQV9PRUNPTkYgKz0gIi0tbGliZXhlY2Rpcj0ke2xpYmRpcn0iCisKK0VYVFJBX09FQ09ORiArPSAiLS1lbmFibGUtbWFpbnRhaW5lci1tb2RlIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3RodW5hci1hcmNoaXZlLXBsdWdpbiIKKworUlJFQ09NTUVORFNfJHtQTn0gPSAibHpvcCB6aXAgdGFyIGJ6aXAyIHVuemlwIHh6IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2UtcG9sa2l0L3hmY2UtcG9sa2l0XzAuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlLXBvbGtpdC94ZmNlLXBvbGtpdF8wLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWZiNGE1YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlLXBvbGtpdC94ZmNlLXBvbGtpdF8wLjIuYmIKQEAgLTAsMCArMSwxMSBAQAorU1VNTUFSWSA9ICJBIHNpbXBsZSBQb2xpY3lLaXQgYXV0aGVudGljYXRpb24gYWdlbnQgZm9yIFhGQ0UiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NzU4YjAzZjg3MmE4OGM5OWZjMzZkNTBjNTkzMjA5MWMiCisKK0RFUEVORFMgPSAibGlieGZjZTR1aSBwb2xraXQiCisKK2luaGVyaXQgeGZjZS1hcHAKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL25jb3BhLyR7QlBOfS5naXQiCitTUkNSRVYgPSAiNmFkMWVlODMzYzllMjJlNGRkNzJhOGY3ZDU0NTYyZDA0Njk2NTI4MyIKK1MgPSAiJHtXT1JLRElSfS9naXQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtbWl4ZXIveGZjZTQtbWl4ZXJfNC4xMS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2U0LW1peGVyL3hmY2U0LW1peGVyXzQuMTEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZGJlYzQ1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2U0LW1peGVyL3hmY2U0LW1peGVyXzQuMTEuMC5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIkEgdm9sdW1lIGNvbnRyb2wgYXBwbGljYXRpb24gYmFzZWQgb24gR1N0cmVhbWVyIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK0RFUEVORFMgKz0gImdsaWItMi4wIGdzdC1wbHVnaW5zLWJhc2UgZ3RrKyB4ZmNvbmYgbGlidW5pcXVlIgorCitTUkNfVVJJID0gImh0dHA6Ly9hcmNoaXZlLnhmY2Uub3JnL3NyYy9hcHBzLyR7QlBOfS8ke0B4ZmNlX3ZlcmRpcigiJHtQVn0iKX0vJHtCUE59LSR7UFZ9LnRhci5iejIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxYjM3NTNiOTEyMjQ4NjdhM2EyZGZkZGRhMjM5YzI4ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmYjBjMWRmMjAxZWQxMTMwZjU0ZjE1YjkxNGNiZTVhNTkyODZlOTk0YTEzN2FjZGE1NjA5NTcwYzU3MTEyZGUyIgorCitSREVQRU5EU18ke1BOfSA9ICJnc3QtbWV0YS1hdWRpbyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC1ub3RpZnlkL3hmY2U0LW5vdGlmeWRfMC4yLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtbm90aWZ5ZC94ZmNlNC1ub3RpZnlkXzAuMi40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmODc0YWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtbm90aWZ5ZC94ZmNlNC1ub3RpZnlkXzAuMi40LmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiRWFzaWx5IHRoZW1hYmxlIG5vdGlmaWNhdGlvbiBkYWVtb24gd2l0aCB0cmFuc3BhcmVuY3kgZWZmZWN0cyIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL2FwcGxpY2F0aW9ucy94ZmNlNC1ub3RpZnlkIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorREVQRU5EUyA9ICJsaWJ4ZmNlNHV0aWwgbGlieGZjZTR1aSB4ZmNvbmYgZ3RrKyBkYnVzIGRidXMtZ2xpYiBsaWJub3RpZnkiCisKK2luaGVyaXQgeGZjZS1hcHAKKworU1JDX1VSSVttZDVzdW1dID0gIjA5NGJlNmYyOTIwNmFhYzgyOTlmMjcwODRlMjg0ZTg4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhjN2VkNjJmOTQ5NjgxNmQxMzkxMjgxZjc3ZDFiMzIyMTZmOWJmNmZkMjJmYmU0ZjZmM2Y0ZTA3YTZiYmNlZDAiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKwlta2RpciAtcCB4ZmNlNC1ub3RpZnlkCit9CisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7bGliZGlyfS94ZmNlNC9ub3RpZnlkIFwKKyAgICAke2RhdGFkaXJ9L3RoZW1lcyBcCisgICAgJHtkYXRhZGlyfS9kYnVzLTEgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2U0LXNjcmVlbnNob290ZXIvZmlsZXMvMDAwMS1NYWtlZmlsZS5hbS1jcmVhdGUtb3VwdXQtZGlyZWN0b3J5LWZvci1kZXNrdG9wLWZpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtc2NyZWVuc2hvb3Rlci9maWxlcy8wMDAxLU1ha2VmaWxlLmFtLWNyZWF0ZS1vdXB1dC1kaXJlY3RvcnktZm9yLWRlc2t0b3AtZmlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MmJmZmVmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2U0LXNjcmVlbnNob290ZXIvZmlsZXMvMDAwMS1NYWtlZmlsZS5hbS1jcmVhdGUtb3VwdXQtZGlyZWN0b3J5LWZvci1kZXNrdG9wLWZpbGUucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorRnJvbSBjODViZjdjYzVjMWUxNzgwZDIxNWY2ZmUyMzNlM2VkNDU5N2M3MmVkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMjEgU2VwIDIwMTUgMDY6NTQ6MjggKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gTWFrZWZpbGUuYW06IGNyZWF0ZSBvdXB1dCBkaXJlY3RvcnkgZm9yIGRlc2t0b3AgZmlsZQorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbMV0KKworWzFdOiBodHRwOi8vYnVnLWF0dGFjaG1lbnQueGZjZS5vcmcvYXR0YWNobWVudC5jZ2k/aWQ9NjQ2MAorCitTaWduZWQtb2ZmLWJ5OiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgTWFrZWZpbGUuYW0gfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KK2luZGV4IGEyMmZjMjAuLjJlZjBlNTQgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5hbQorKysrIGIvTWFrZWZpbGUuYW0KK0BAIC0xMjIsNiArMTIyLDcgQEAgYXBwX2Rlc2t0b3BfREFUQSA9ICQoYXBwX2Rlc2t0b3BfaW5fZmlsZXM6LmRlc2t0b3AuaW49LmRlc2t0b3ApCisgCisgc3JjL3hmY2U0LXNjcmVlbnNob290ZXIuZGVza3RvcC5pbjogc3JjL3hmY2U0LXNjcmVlbnNob290ZXIuZGVza3RvcC5pbi5pbgorIAkkKEFNX1ZfR0VOKSAoIFwKKysJCSQoTUtESVJfUCkgJChkaXIgJEApOyBcCisgCQlzZWQgLWUgInNeQFBMVUdJTl9QQVRIQF4kKGxpYmV4ZWNkaXIpL2FwcGxpY2F0aW9uc14iIFwKKyAJCQkkPCA+ICRAIFwKKyAJKQorLS0gCisyLjAuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtc2NyZWVuc2hvb3Rlci94ZmNlNC1zY3JlZW5zaG9vdGVyXzEuOC4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2U0LXNjcmVlbnNob290ZXIveGZjZTQtc2NyZWVuc2hvb3Rlcl8xLjguMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTJiYzYxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2U0LXNjcmVlbnNob290ZXIveGZjZTQtc2NyZWVuc2hvb3Rlcl8xLjguMi5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIkFwcGxpY2F0aW9uIHRvIHRha2Ugc2NyZWVuc2hvdHMiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9hcHBsaWNhdGlvbnMveGZjZTQtc2NyZWVuc2hvb3RlciIKK1NFQ1RJT04gPSAieDExL2FwcGxpY2F0aW9uIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQ3OTE3MjhhMDczYmMwMDliNGZmYWYwMGI3NTk5ODU1IgorREVQRU5EUyA9ICJ4ZmNlNC1wYW5lbCBsaWJ4ZmNlNHV0aWwgbGlieGZjZTR1aSBnZGstcGl4YnVmIGd0aysgZ2xpYi0yLjAgbGlic291cC0yLjQgZXhvIGxpYnhmaXhlcyB4ZXh0IHZpcnR1YWwvbGlieDExIgorCitpbmhlcml0IHhmY2UtYXBwCisKK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLU1ha2VmaWxlLmFtLWNyZWF0ZS1vdXB1dC1kaXJlY3RvcnktZm9yLWRlc2t0b3AtZmlsZS5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gIjNhMzJlY2M1NTY2NDUzYTU4ZjZhNGRkZDcwNjQ5NDQ0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjlkY2UyZGRmYWE4N2Y3MDNlODcwZTI5YmFlMTNmM2ZjODJhMWIzZjA2YjQ0ZjgzODY2NDBlNDVhMTM1ZjVmNjkiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKwlta2RpciAtcCBsaWIKK30KKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtkYXRhZGlyfS9hcHBkYXRhIFwKKyAgICAke2RhdGFkaXJ9L3hmY2U0L3BhbmVsL3BsdWdpbnMgXAorICAgICR7bGliZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC10YXNrbWFuYWdlci94ZmNlNC10YXNrbWFuYWdlcl8xLjEuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC10YXNrbWFuYWdlci94ZmNlNC10YXNrbWFuYWdlcl8xLjEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjFiZTY3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2U0LXRhc2ttYW5hZ2VyL3hmY2U0LXRhc2ttYW5hZ2VyXzEuMS4wLmJiCkBAIC0wLDAgKzEsMTAgQEAKK1NVTU1BUlkgPSAiRWFzeSB0byB1c2UgdGFzayBtYW5hZ2VyIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitpbmhlcml0IHhmY2UtYXBwCisKK0RFUEVORFMgKz0gImd0aysgY2Fpcm8gbGlid25jayB4ZmNlNC1kZXYtdG9vbHMtbmF0aXZlIGV4by1uYXRpdmUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3ZGE0NjVhNDc5ODYyOWViZDg2NTBmZWY2Mjc3MGFiNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyZTFlYjE2MWY5NjZjYmZiZDY4YmQwMjlmYjU5MTE1YmM1YWIwYzA3MDRjYjUwMGQyMGU3ZDczOTY3ZTU5ZWNiIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2U0LXRlcm1pbmFsL3hmY2U0LXRlcm1pbmFsXzAuNi4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2U0LXRlcm1pbmFsL3hmY2U0LXRlcm1pbmFsXzAuNi4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwNDliMjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtdGVybWluYWwveGZjZTQtdGVybWluYWxfMC42LjMuYmIKQEAgLTAsMCArMSwxMiBAQAorU1VNTUFSWSA9ICJUZXJtaW5hbCBlbXVsYXRvciBmb3IgdGhlIFhmY2UgZGVza3RvcCBlbnZpcm9ubWVudCIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKK0RFUEVORFMgPSAiZ2xpYi0yLjAgZ3RrKyB2dGUgbGlieGZjZTR1aSIKKworaW5oZXJpdCB4ZmNlLWFwcAorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS94ZmNlNCBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9nbm9tZS1jb250cm9sLWNlbnRlciIKKworU1JDX1VSSVttZDVzdW1dID0gIjZhMjgxNmQ4YjA5MzNjZDcwN2VkNDU2Y2ViNzMxMzk5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjkxMmY0NzE2YzIzOTVhMTRhODA2MjBlZjk4MmI0YWYxZTJhNjdhOGRmOWExZWYwYjgwMmVjYWU4MjYwNTdlMDgiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFydC9jdXJzb3ItdGhlbWVzL29wZW56b25lXzEuMi4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcnQvY3Vyc29yLXRoZW1lcy9vcGVuem9uZV8xLjIuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NTQ3NzM2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcnQvY3Vyc29yLXRoZW1lcy9vcGVuem9uZV8xLjIuMy5iYgpAQCAtMCwwICsxLDI5IEBACitTVU1NQVJZID0gIlgxMSBNb3VzZSBUaGVtZSIKK0hPTUVQQUdFID0gImh0dHA6Ly94ZmNlLWxvb2sub3JnL2NvbnRlbnQvc2hvdy5waHAvT3BlblpvbmU/Y29udGVudD0xMTEzNDMiCitTRUNUSU9OID0gIngxMS93bSIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTJmNTYyZmI4ZmIxZTEzOGI4MTBkNjk1MjFjNGJjZDciCitERVBFTkRTID0gImljb24tc2xpY2VyLW5hdGl2ZSB4Y3Vyc29yZ2VuLW5hdGl2ZSIKKworaW5oZXJpdCBhbGxhcmNoCisKK1NSQ19VUkkgPSAiaHR0cDovL3hmY2UtbG9vay5vcmcvQ09OVEVOVC9jb250ZW50LWZpbGVzLzExMTM0My1PcGVuWm9uZS0ke1BWfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiNGRhZTk2OGNiZDUyNTA3MjY2NGVmN2E0ZmM3YzQxNTQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZGMyMGY5N2E0OWUxZmYxYmVjZjc4NTNlZjVmMTM3ZWQzMGE0YzI3NDkwNTQwZTc1NTAyMWQ3OGQzMzllZmQ5MiIKKworUyA9ICIke1dPUktESVJ9L09wZW5ab25lIgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vaWNvbnMKKyAgICBmb3IgdGhlbWUgaW4gYGZpbmQgLW5hbWUgJyoudGFyLnh6J2A7IGRvCisgICAgICAgIHRhciAtSnhmICR7dGhlbWV9IC1DICR7RH0ke2RhdGFkaXJ9L2ljb25zCisgICAgZG9uZQorfQorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgaWNvbmRpciA9IGJiLmRhdGEuZXhwYW5kKCcke2RhdGFkaXJ9L2ljb25zJywgZCkKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBpY29uZGlyLCAnXiguKiknLCAnJXMnLCAnT3BlbiBab25lIGN1cnNvcnMgJXMnLCBhbGxvd19kaXJzPVRydWUpCit9CisKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl5vcGVuem9uZS0uKiIKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFydC9yb2RlbnQtaWNvbi10aGVtZS9yb2RlbnQtaWNvbi10aGVtZV81LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFydC9yb2RlbnQtaWNvbi10aGVtZS9yb2RlbnQtaWNvbi10aGVtZV81LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBiYTM0MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXJ0L3JvZGVudC1pY29uLXRoZW1lL3JvZGVudC1pY29uLXRoZW1lXzUuMC5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIlJvZGVudC1pY29uLXRoZW1lICh3YXMgeGZjZTQtaWNvbi10aGVtZSkgaXMgYSBzdmcgaWNvbiB0aGVtZSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04Y2E0M2NiYzg0MmMyMzM2ZTgzNTkyNmMyMTY2YzI4YiIKKworaW5oZXJpdCBhbGxhcmNoIGF1dG90b29scyBndGstaWNvbi1jYWNoZQorCitTUkNfVVJJID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMveGZmbS9maWxlcy8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI0YjA5N2QzNDRhMTYwZDY0OTdjNjQ5ODk4NWM4ZGYxNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2ZWQwMGQxNmZhYTFmNTViM2JiN2IxMzg2MmRlMWQ3ZjVjZmQ5NzhiOTNlNDI0ODdkZWQyMTU5NWQwZGJlMjA4IgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9pY29ucyIKKworUlJFUExBQ0VTXyR7UE59ICs9ICJ4ZmNlNC1pY29uLXRoZW1lIgorUlBST1ZJREVTXyR7UE59ICs9ICJ4ZmNlNC1pY29uLXRoZW1lIgorUkNPTkZMSUNUU18ke1BOfSArPSAieGZjZTQtaWNvbi10aGVtZSIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcnQveGZjZS1kdXNrLWd0azMveGZjZS1kdXNrLWd0azNfMS4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcnQveGZjZS1kdXNrLWd0azMveGZjZS1kdXNrLWd0azNfMS4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwNWM3NDgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFydC94ZmNlLWR1c2stZ3RrMy94ZmNlLWR1c2stZ3RrM18xLjMuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJNb2RpZmllZCB2ZXJzaW9uIG9mIHRoZSB4ZmNlLWR1c2sgdGhlbWUgdG8gc3VwcG9ydCBhbHNvIGd0ayAzLnggdG9vIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PThmMGUyY2Q0MGUwNTE4OWVjODEyMzJkYTg0YmQ2ZTFhIgorCitpbmhlcml0IGFsbGFyY2gKKworU1JDX1VSSSA9ICJodHRwOi8veGZjZS1sb29rLm9yZy9DT05URU5UL2NvbnRlbnQtZmlsZXMvMTQxNDA0LXhmY2VfZHVza19ndGszLTFfMy50YXIuZ3o7c3ViZGlyPSR7QlBOfS0ke1BWfSIKK1NSQ19VUklbbWQ1c3VtXSA9ICJiM2FkMzdhZDgxNzNiMTRlYzA5MGU2MGE4MGU2NWQ4ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiZmE4YTg4NjA3ZDFhMWRhNWJkMGI5ZTRlMDc1NzY3YzU0NDAwYTNjNWEwZmFlODhiNjE5ZWQ3MTUzMmYzMGI0IgorCitkb19jb25maWd1cmUoKSB7Cit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS90aGVtZXMKKyAgICBjcCAtciBYZmNlLWR1c2stZ3RrMyAke0R9JHtkYXRhZGlyfS90aGVtZXMvWGZjZS1kdXNrLWd0azMKK30KKworRklMRVNfJHtQTn0gPSAiJHtkYXRhZGlyfS90aGVtZXMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFydC94ZndtNC10aGVtZXMveGZ3bTQtdGhlbWVzXzQuMTAuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXJ0L3hmd200LXRoZW1lcy94ZndtNC10aGVtZXNfNC4xMC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwMzBmN2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFydC94ZndtNC10aGVtZXMveGZ3bTQtdGhlbWVzXzQuMTAuMC5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIkFkZGl0aW9uYWwgKG9sZCkgdGhlbWVzIGZvciBYZndtNCIKK1NFQ1RJT04gPSAieDExL3dtIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitpbmhlcml0IHhmY2UKKworU1JDX1VSSSA9ICJodHRwOi8vYXJjaGl2ZS54ZmNlLm9yZy9zcmMvYXJ0LyR7QlBOfS8ke0AnJHtQVn0nWzA6NF19LyR7QlB9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiZWFhNTgzNjIwNTNhMzU0OWM4YmUwYjMyZWZkM2M1NGYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzIxNGQ1ZjAwZTk3MDNiNWU4YzllN2MzMjg3ZDYwNmRlZGVjNzI4NWNlYjRkNWRiMzMyZTkzYWRhNjZmZDU3NSIKKworIyB1c2luZyB4ZndtNC10aGVtZSBhcyBpbiB4ZndtNCBtaWdodCBjYXVzZSB3YXJuaW5ncyBvZiBwYWNrYWdlcyBzdXBwbGllZCBieQorIyBtdWx0aXBsZSBwcm92aWRlcnMuIFNvIHdlIHVzZSB4ZndtNC1vbGQtdGhlbWUgaGVyZS4KK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpIHsKKyAgICB0aGVtZWRpciA9IGQuZXhwYW5kKCcke2RhdGFkaXJ9L3RoZW1lcycpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgdGhlbWVkaXIsICdeKC4qKScsICd4ZndtNC1vbGQtdGhlbWUtJXMnLCAnWEZXTTQgdGhlbWUgJXMnLCBhbGxvd19kaXJzPVRydWUpCit9CisKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl54ZndtNC1vbGQtdGhlbWUtLioiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWJpbmRpbmdzL3ZhbGEveGZjZTQtdmFsYV80LjEwLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWJpbmRpbmdzL3ZhbGEveGZjZTQtdmFsYV80LjEwLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGJkMDg1YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYmluZGluZ3MvdmFsYS94ZmNlNC12YWxhXzQuMTAuMy5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIlhmY2U0IFZhbGEgcHJvdmlkZXMgYmluZGluZ3MgZm9yIHRoZSBYZmNlIGZyYW1ld29yayIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yNDNiNzI1ZDcxYmI1ZGY0YTFlNTkyMGIzNDRiODZhZCIKK0RFUEVORFMgPSAibGlieGZjZTR1dGlsIGdhcmNvbiB4ZmNvbmYgbGlieGZjZTR1aSB4ZmNlNC1wYW5lbCBleG8gdmFsYSB4ZmNlNC1kZXYtdG9vbHMtbmF0aXZlIgorCitpbmhlcml0IHhmY2UKKworU1JDX1VSSSA9ICJodHRwOi8vYXJjaGl2ZS54ZmNlLm9yZy9zcmMvYmluZGluZ3MvJHtCUE59LyR7QHhmY2VfdmVyZGlyKCIke1BWfSIpfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICIwYmJiMWQ2ZTQ3M2UwZmU5YjMzNWI3YjFiNDlkOGE3MSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwN2E4ZjJiN2MwOWZjZGQzZDg2ZTBjNTJhZGVhM2M1OGNhMDExZDAxNDJhOTM5OTdhMDFiNGFmNzcyNjBhZTdiIgorCitFWFRSQV9PRUNPTkYgPSAiLXdpdGgtdmFsYS1hcGk9MC4zMCIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vdmFsYS0qL3ZhcGkiCisKK1JERVBFTkRTXyR7UE59ID0gInZhbGEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWNvcmUvaW1hZ2VzL2NvcmUtaW1hZ2UtbWluaW1hbC14ZmNlLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1jb3JlL2ltYWdlcy9jb3JlLWltYWdlLW1pbmltYWwteGZjZS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MzkwMGY4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1jb3JlL2ltYWdlcy9jb3JlLWltYWdlLW1pbmltYWwteGZjZS5iYgpAQCAtMCwwICsxLDE3IEBACitERVNDUklQVElPTiA9ICJBIFhGQ0UgbWluaW1hbCBkZW1vIGltYWdlLiIKKworSU1BR0VfSU5TVEFMTCA9ICJwYWNrYWdlZ3JvdXAtY29yZS1ib290IFwKKyAgICAke1JPT1RGU19QS0dNQU5BR0VfQk9PVFNUUkFQfSBcCisgICAgcGFja2FnZWdyb3VwLWNvcmUteDExIFwKKyAgICBwYWNrYWdlZ3JvdXAteGZjZS1iYXNlIFwKKyIKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworSU1BR0VfTElOR1VBUyA/PSAiICIKKworTElDRU5TRSA9ICJNSVQiCisKK2V4cG9ydCBJTUFHRV9CQVNFTkFNRSA9ICJjb3JlLWltYWdlLW1pbmltYWwteGZjZSIKKworaW5oZXJpdCBjb3JlLWltYWdlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWV4dGVuZGVkL2ltc2V0dGluZ3MvZ3RrLWlzLXJlcXVpcmVkLWJ5LW5vdGlmeS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtZXh0ZW5kZWQvaW1zZXR0aW5ncy9ndGstaXMtcmVxdWlyZWQtYnktbm90aWZ5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0MjM1OGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWV4dGVuZGVkL2ltc2V0dGluZ3MvZ3RrLWlzLXJlcXVpcmVkLWJ5LW5vdGlmeS5wYXRjaApAQCAtMCwwICsxLDE4IEBACitndGsrIGlzIHJlcXVpcmVkIGJ5IGxpbm5vdGlmeS4gU28gbWFrZSBzdXJlIGd0ayBiZSBsaW5rZWQgYmVmb3JlIGxpYm5vdGlmeQorCitTaWduZWQtb2ZmLWJ5OiBCaWFuIE5haW1lbmcgPGJpYW5ubUBjbi5mdWppdHN1LmNvbT4KKworZGlmZiAtTnVycCBpbXNldHRpbmdzLTEuNi43Lm9yaWcvY29uZmlndXJlLmFjIGltc2V0dGluZ3MtMS42LjcvY29uZmlndXJlLmFjCistLS0gaW1zZXR0aW5ncy0xLjYuNy5vcmlnL2NvbmZpZ3VyZS5hYwkyMDEzLTExLTI2IDE2OjA5OjA5LjAwMDAwMDAwMCArMDgwMAorKysrIGltc2V0dGluZ3MtMS42LjcvY29uZmlndXJlLmFjCTIwMTQtMTItMzAgMTE6Mjc6NDQuMzcwMDAzMjA5ICswODAwCitAQCAtOTMsOCArOTMsOCBAQCBQS0dfQ0hFQ0tfTU9EVUxFUyhMSUJOT1RJRlksIGxpYm5vdGlmeSwKKyAJCWhhc19vbGRfbGlibm90aWZ5PXllcworIAkJUEtHX0NIRUNLX01PRFVMRVMoR1RLLCBndGsrLTIuMCA+PSAkR1RLX1JFUVVJUkVEKQorIAkJQUNfREVGSU5FKEhBU19PTERfTElCTk9USUZZLCwgW1VzaW5nIG9sZGVyIGxpYm5vdGlmeV0pCistCQlJTURBRU1PTl9DRkxBR1M9IiRHVEtfQ0ZMQUdTICRMSUJOT1RJRllfT0xEX0NGTEFHUyIKKy0JCUlNREFFTU9OX0xJQlM9IiRHVEtfTElCUyAkTElCTk9USUZZX09MRF9MSUJTIl0sWworKwkJSU1EQUVNT05fQ0ZMQUdTPSIkTElCTk9USUZZX09MRF9DRkxBR1MgJEdUS19DRkxBR1MiCisrCQlJTURBRU1PTl9MSUJTPSIkTElCTk9USUZZX09MRF9MSUJTICRHVEtfTElCUyJdLFsKKyAJCWhhc19vbGRfbGlibm90aWZ5PW5vCisgCQlJTURBRU1PTl9DRkxBR1M9IiRMSUJOT1RJRllfQ0ZMQUdTIgorIAkJSU1EQUVNT05fTElCUz0iJExJQk5PVElGWV9MSUJTIl0pCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWV4dGVuZGVkL2ltc2V0dGluZ3MvbXVsdGktbGluZS1BQ0xPQ0FMX0FNRkxBR1MtaXNub3Qtc3VwcG9ydGVkLWJ5LWF1dG9yZWNvbmYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWV4dGVuZGVkL2ltc2V0dGluZ3MvbXVsdGktbGluZS1BQ0xPQ0FMX0FNRkxBR1MtaXNub3Qtc3VwcG9ydGVkLWJ5LWF1dG9yZWNvbmYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWUzMTg0NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtZXh0ZW5kZWQvaW1zZXR0aW5ncy9tdWx0aS1saW5lLUFDTE9DQUxfQU1GTEFHUy1pc25vdC1zdXBwb3J0ZWQtYnktYXV0b3JlY29uZi5wYXRjaApAQCAtMCwwICsxLDIxIEBACittdWx0aS1saW5lIEFDTE9DQUxfQU1GTEFHUyBpc24ndCBzdXBwb3J0ZWQgYnkgYXV0b3JlY29uZi4KK0l0IHdpbGwgY2F1c2UgY29uZmlndXJlIGVycm9yIGFzIGZvbGxvdy4KKworICBhY2xvY2FsOiBlcnJvcjogbm9uLW9wdGlvbiBhcmd1bWVudHMgYXJlIG5vdCBhY2NlcHRlZDogJ1wnLgorCitTaWduZWQtb2ZmLWJ5OiBCaWFuIE5haW1lbmcgPGJpYW5ubUBjbi5mdWppdHN1LmNvbT4KKworZGlmZiAtTnVycCBpbXNldHRpbmdzLTEuNi44Lm9yaWcvTWFrZWZpbGUuYW0gaW1zZXR0aW5ncy0xLjYuOC9NYWtlZmlsZS5hbQorLS0tIGltc2V0dGluZ3MtMS42Ljgub3JpZy9NYWtlZmlsZS5hbQkyMDEzLTAyLTA4IDExOjMzOjU5LjAwMDAwMDAwMCArMDkwMAorKysrIGltc2V0dGluZ3MtMS42LjgvTWFrZWZpbGUuYW0JMjAxNS0wNi0yNCAxNDoxNTozMi4wNzAwMDAwMDcgKzA5MDAKK0BAIC0xLDkgKzEsNyBAQAorIE5VTEwgPQorIFNVQkRJUlMgPSBkYXRhIGltc2V0dGluZ3MgaW1zZXR0aW5ncy1kYWVtb24gYmFja2VuZHMgdXRpbHMgcG8gdGVzdHMgZG9jcworIAorLUFDTE9DQUxfQU1GTEFHUyA9CQkJXAorLQktSSBtNG1hY3JvcwkJCVwKKy0JJChOVUxMKQorK0FDTE9DQUxfQU1GTEFHUyA9IC1JIG00bWFjcm9zICQoTlVMTCkKKyAKKyBDT05GSUdVUkVfREVQRU5ERU5DSUVTID0JCVwKKyAJcmVxdWlyZXMJCQlcCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWV4dGVuZGVkL2ltc2V0dGluZ3NfMS42LjguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWV4dGVuZGVkL2ltc2V0dGluZ3NfMS42LjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjk5NTQ3ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtZXh0ZW5kZWQvaW1zZXR0aW5nc18xLjYuOC5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gIkRlbGl2ZXJ5IGZyYW1ld29yayBmb3IgZ2VuZXJhbCBJbnB1dCBNZXRob2QgY29uZmlndXJhdGlvbiIKK0RFU0NSSVBUSU9OID0gIklNU2V0dGluZ3MgaXMgYSBmcmFtZXdvcmsgdGhhdCBkZWxpdmVycyBJbnB1dCBNZXRob2QgXAorc2V0dGluZ3MgYW5kIGFwcGxpZXMgdGhlIGNoYW5nZXMgc28gdGhleSB0YWtlIGVmZmVjdCBcCitpbW1lZGlhdGVseSB3aXRob3V0IGFueSBuZWVkIHRvIHJlc3RhcnQgYXBwbGljYXRpb25zIFwKK29yIHRoZSBkZXNrdG9wLiBcCitUaGlzIHBhY2thZ2UgY29udGFpbnMgdGhlIGNvcmUgREJ1cyBzZXJ2aWNlcyBhbmQgc29tZSB1dGlsaXRpZXMuIgorSE9NRVBBR0UgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2ltc2V0dGluZ3MvIgorU0VDVElPTiA9ICJBcHBsaWNhdGlvbnMvU3lzdGVtIgorCitpbmhlcml0IGF1dG90b29scyBndGstZG9jCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9iaXRidWNrZXQub3JnL3RhZ29oL2ltc2V0dGluZ3MvZG93bmxvYWRzLyR7QlBOfS0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL2d0ay1pcy1yZXF1aXJlZC1ieS1ub3RpZnkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbXVsdGktbGluZS1BQ0xPQ0FMX0FNRkxBR1MtaXNub3Qtc3VwcG9ydGVkLWJ5LWF1dG9yZWNvbmYucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjMzE0MjlmMWQ2MGUzNmQ3ZjgxMWY4NzFjNzViNmM0MSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyNjIwZmZiZjlhNmRjODQyZGJmOTk0YjQ3NzNkNGZlMzU1ZWI3NzA3NmNjZjMzZjcyNmJhNjNmMTZjMGQwOGJhIgorCitMSUNFTlNFID0gIkxHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yZDUwMjVkNGFhMzQ5NWJlZmVmOGYxNzIwNmE1YjBhMSIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC14aW5wdXRzaD01MC14aW5wdXQuc2ggXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1zdGF0aWMgXAorICAgICAgICAgICAgICAgIgorCitERVBFTkRTID0gImd0aysgZ2NvbmYgbGlibm90aWZ5IGRidXMtZ2xpYiBsaWJneGltIHhmY29uZiIKKworUkRFUEVORFNfJHtQTn0gKz0gImJhc2giCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RidXMtMS8qIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1tdWx0aW1lZGlhL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXhmY2UtbXVsdGltZWRpYS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtbXVsdGltZWRpYS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC14ZmNlLW11bHRpbWVkaWEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJhOTZmMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtbXVsdGltZWRpYS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC14ZmNlLW11bHRpbWVkaWEuYmIKQEAgLTAsMCArMSwxMSBAQAorU1VNTUFSWSA9ICJBbGwgcGFja2FnZXMgbXVsdGltZWRpYSBwYWNrYWdlcyBhdmFpbGFibGUgZm9yIFhGQ0UiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L0xJQ0VOU0U7bWQ1PTRkOTJjZDM3M2FiZGEzOTM3YzJiYzQ3ZmJjNDlkNjkwIgorCitpbmhlcml0IHBhY2thZ2Vncm91cAorCitSREVQRU5EU18ke1BOfSA9ICIgXAorICAgIHBhcm9sZSBcCisgICAgeGZtcGMgXAorICAgIHhmY2U0LW1wYy1wbHVnaW4gXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1tdWx0aW1lZGlhL3Bhcm9sZS9wYXJvbGVfMC44LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLW11bHRpbWVkaWEvcGFyb2xlL3Bhcm9sZV8wLjguMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMjczOTZjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1tdWx0aW1lZGlhL3Bhcm9sZS9wYXJvbGVfMC44LjEuYmIKQEAgLTAsMCArMSwzNiBAQAorREVTQ1JJUFRJT04gPSAiUGFyb2xlIGlzIGEgbW9kZXJuIHNpbXBsZSBtZWRpYSBwbGF5ZXIgYmFzZWQgb24gdGhlIEdTdHJlYW1lciBmcmFtZXdvcmsiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9hcHBsaWNhdGlvbnMvcGFyb2xlIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIgorCitpbmhlcml0IHhmY2UtYXBwIGd0ay1kb2MgbWltZQorCitERVBFTkRTICs9ICIgXAorICAgIGdsaWItMi4wIFwKKyAgICBkYnVzLWdsaWIgXAorICAgIGd0ayszIFwKKyAgICBcCisgICAgeGZjZTQtZGV2LXRvb2xzLW5hdGl2ZSBcCisgICAgbGlieGZjZTR1dGlsIFwKKyAgICBsaWJ4ZmNlNHVpIFwKKyAgICB4ZmNvbmYgXAorICAgIFwKKyAgICBnc3RyZWFtZXIxLjAtcGx1Z2lucy1iYXNlIFwKKyAgICB0YWdsaWIgXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMzYxZTMwNTlmMTI2M2M3NmEzNzExZGIyYzdjMWE5N2IiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGIyMTZmNTIwMDQ5MGY4ZDJhOWJmMWIzZmNkOWE4YjIwODM0Yzk1MjQ5YmYxM2I5MTcwYzgyZTFmY2JkODBmNCIKKworUkRFUEVORFNfJHtQTn0gKz0gImdzdHJlYW1lcjEuMC1wbHVnaW5zLWdvb2QiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJub3RpZnkiCitQQUNLQUdFQ09ORklHW2NsdXR0ZXJdID0gIi0tZW5hYmxlLWNsdXR0ZXIsIC0tZGlzYWJsZS1jbHV0dGVyLCBjbHV0dGVyIgorUEFDS0FHRUNPTkZJR1tub3RpZnldID0gIi0tZW5hYmxlLW5vdGlmeS1wbHVnaW4sIC0tZGlzYWJsZS1ub3RpZnktcGx1Z2luLCBsaWJub3RpZnkiCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7ZGF0YWRpcn0vYXBwZGF0YSBcCisgICAgJHtsaWJkaXJ9L3Bhcm9sZS0wLyouc28gXAorIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vcGFyb2xlLTAvLmRlYnVnIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vcGFyb2xlLTAvKi5sYSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtbXVsdGltZWRpYS94ZmNlNC1tcGMtcGx1Z2luL3hmY2U0LW1wYy1wbHVnaW5fMC40LjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLW11bHRpbWVkaWEveGZjZTQtbXBjLXBsdWdpbi94ZmNlNC1tcGMtcGx1Z2luXzAuNC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2NGY1ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLW11bHRpbWVkaWEveGZjZTQtbXBjLXBsdWdpbi94ZmNlNC1tcGMtcGx1Z2luXzAuNC41LmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiU2ltcGxlIGNsaWVudCBwbHVnaW4gZm9yIE11c2ljIFBsYXllciBEYWVtb24iCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LW1wYy1wbHVnaW4iCitTRUNUSU9OID0gIngxMS9hcHBsaWNhdGlvbiIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzYwNGQ5ODdlNmRmZGZjNjcyYzc1NGQwODk1M2IwZTAiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworREVQRU5EUyArPSAibGlibXBkIgorCisjIGZvciBub3cgd2UgcmVjb21tZW5kIG91ciBvd24gbXBkLXNlcnZlcgorUlJFQ09NTUVORFNfJHtQTn0gPSAibXBkIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzE4ZTY0NzQ4ZTQ2OTA4YTQ0Y2QwYjk2ZWFjYmRhMjgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTcxZjU3YTI4OTE1YzU3NDU5ZDZjZTBlZWVlZTFkMDkzNGY1MjNjMGVkMDgzMTU4YzNkM2IzODM2ZmMwNmZjZiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtbXVsdGltZWRpYS94Zm1wYy94Zm1wY18wLjIuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtbXVsdGltZWRpYS94Zm1wYy94Zm1wY18wLjIuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMWNhYmQ2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1tdWx0aW1lZGlhL3hmbXBjL3hmbXBjXzAuMi4yLmJiCkBAIC0wLDAgKzEsMTMgQEAKK1NVTU1BUlkgPSAiTXVzaWMgUGxheWVyIERhZW1vbiAoTVBEKSBjbGllbnQgd3JpdHRlbiBpbiBHVEsrIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvYXBwbGljYXRpb25zL3hmbXBjIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorREVQRU5EUyA9ICJndGsrIGxpYnhmY2U0dXRpbCBsaWJ4ZmNlNHVpIGxpYm1wZCB2YWxhLW5hdGl2ZSIKKworIyBmb3Igbm93IHdlIHJlY29tbWVuZCBvdXIgb3duIG1wZC1zZXJ2ZXIKK1JSRUNPTU1FTkRTXyR7UE59ID0gIm1wZCIKKworaW5oZXJpdCB4ZmNlLWFwcAorCitTUkNfVVJJW21kNXN1bV0gPSAiZTRlMTk4ODUwYzI0NjdjNDc3ODM5NjlhYzljMTZlYzAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWQwY2MyOTQwYmQ1OTI4YmIzMGZhYjE1MzFjMjIxODVhOTdiZDBjYzViZWFjZDllM2JlNGQ0Y2Q5OTRhNjg2MiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9iYXR0ZXJ5L3hmY2U0LWJhdHRlcnktcGx1Z2luL2ZpeC1idWlsZC1vbi1hYXJjaDY0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2JhdHRlcnkveGZjZTQtYmF0dGVyeS1wbHVnaW4vZml4LWJ1aWxkLW9uLWFhcmNoNjQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWQ0ZWVjMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9iYXR0ZXJ5L3hmY2U0LWJhdHRlcnktcGx1Z2luL2ZpeC1idWlsZC1vbi1hYXJjaDY0LnBhdGNoCkBAIC0wLDAgKzEsMzQgQEAKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgZnJvbSAKKworaHR0cDovL2dpdC54ZmNlLm9yZy9wYW5lbC1wbHVnaW5zL3hmY2U0LWJhdHRlcnktcGx1Z2luL2NvbW1pdC8/aWQ9MGY2OTI2NDc5NzI4Y2E3ODRhMjBiNjNkN2MxNDZhOTFlMzdkOThmYgorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorRnJvbSAwZjY5MjY0Nzk3MjhjYTc4NGEyMGI2M2Q3YzE0NmE5MWUzN2Q5OGZiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGFuZHJ5IEJyZXVpbCA8bGFuZHJ5QHhmY2Uub3JnPgorRGF0ZTogVGh1LCAxOSBNYXIgMjAxNSAyMDo0MjoyNCArMDEwMAorU3ViamVjdDogRml4IGJ1aWxkIG9uIGFhcmNoNjQgKGJ1ZyAjMTE3MjQpCisKKworZGlmZiAtLWdpdCBhL3BhbmVsLXBsdWdpbi9saWJhY3BpLmMgYi9wYW5lbC1wbHVnaW4vbGliYWNwaS5jCitpbmRleCA1MzAxOTRkLi5lZmI1YzljIDEwMDY0NAorLS0tIGEvcGFuZWwtcGx1Z2luL2xpYmFjcGkuYworKysrIGIvcGFuZWwtcGx1Z2luL2xpYmFjcGkuYworQEAgLTI5LDYgKzI5LDcgQEAKKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgI2luY2x1ZGUgPGRpcmVudC5oPgorICNpbmNsdWRlIDxnbG9iLmg+CisrI2luY2x1ZGUgPHVuaXN0ZC5oPgorIAorICNpZmRlZiBfX0ZyZWVCU0RfXworICNpbmNsdWRlIDxmY250bC5oPgorQEAgLTUyLDcgKzUzLDYgQEAgc3RhdGljIGludCAgICAgIGFjcGlmZDsKKyAjaW5jbHVkZSA8c3lzL3N5c2N0bC5oPgorICNpbmNsdWRlIDxlcnIuaD4KKyAjaW5jbHVkZSA8ZXJybm8uaD4KKy0jaW5jbHVkZSA8dW5pc3RkLmg+CisgCisgI2VuZGlmCisgCistLSAKK2NnaXQgdjAuMTAuMQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2JhdHRlcnkveGZjZTQtYmF0dGVyeS1wbHVnaW5fMS4wLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvYmF0dGVyeS94ZmNlNC1iYXR0ZXJ5LXBsdWdpbl8xLjAuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjkzYzllCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2JhdHRlcnkveGZjZTQtYmF0dGVyeS1wbHVnaW5fMS4wLjUuYmIKQEAgLTAsMCArMSwxMSBAQAorU1VNTUFSWSA9ICJBIGJhdHRlcnkgbW9uaXRvciBwYW5lbCBwbHVnaW4gZm9yIFhmY2U0LCBjb21wYXRpYmxlIHdpdGggQVBNIGFuZCBBQ1AiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LWJhdHRlcnktcGx1Z2luIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9maXgtYnVpbGQtb24tYWFyY2g2NC5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gImNhMmQzOTRlNDExYTIwNDQyYTUxOWVmYTBkMTRmOGVjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImY2NTliMWFmNDBhYjcyYzkzNDQ4YWZmYWE2OTNhYjU1MTgyN2E1NjAwY2U5Yjk3YTc5OWI3YzI0MTliZGViMTEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvY2FsY3VsYXRvci94ZmNlNC1jYWxjdWxhdG9yLXBsdWdpbl8wLjUuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jYWxjdWxhdG9yL3hmY2U0LWNhbGN1bGF0b3ItcGx1Z2luXzAuNS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiMWZhNWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvY2FsY3VsYXRvci94ZmNlNC1jYWxjdWxhdG9yLXBsdWdpbl8wLjUuMS5iYgpAQCAtMCwwICsxLDkgQEAKK1NVTU1BUlkgPSAiQSBjYWxjdWxhdG9yIHBsdWdpbiBmb3IgdGhlIFhmY2UgcGFuZWwiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LWNhbGN1bGF0b3ItcGx1Z2luIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4ZDdiZjA3YTY2OWEyODg0YTQwOWE3YjAzZjg5YmU1YyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3ZGNiMDRhM2RhN2I4NWNiMWYzNWY1NDZjMzY2ZmU4NTI5ZjFjMTVmMWM4YzI5MGVkYjkxZDE2YzA3ZjVmZDZkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2NsaXBtYW4veGZjZTQtY2xpcG1hbi1wbHVnaW5fMS4yLjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvY2xpcG1hbi94ZmNlNC1jbGlwbWFuLXBsdWdpbl8xLjIuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMDdmM2NjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2NsaXBtYW4veGZjZTQtY2xpcG1hbi1wbHVnaW5fMS4yLjYuYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSA9ICJDbGlwbWFuIGlzIGEgY2xpcGJvYXJkIG1hbmFnZXIgZm9yIFhmY2UiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LWNsaXBtYW4tcGx1Z2luIgorU0VDVElPTiA9ICJ4MTEvYXBwbGljYXRpb24iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworREVQRU5EUyArPSAieGZjb25mIHhwcm90byBsaWJ4dHN0IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjdmMjQ0MDY0NzQ5MzI0M2NiZDc3ODdlYWVlOTJmY2IiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjMwNDNmOTljM2U1MjU3ZDFmM2Q2OGI1ZWU1MTI1ZTM0NjljMTU2MjBkMDk4ZTIyYzYyNTAzODYxOTdmNDhhNSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbdW5pcXVlXSA9ICItLWVuYWJsZS11bmlxdWUsLS1kaXNhYmxlLXVuaXF1ZSxsaWJ1bmlxdWUiCitQQUNLQUdFQ09ORklHW3FyZW5jb2RlXSA9ICItLWVuYWJsZS1saWJxcmVuY29kZSwtLWRpc2FibGUtbGlicXJlbmNvZGUscXJlbmNvZGUiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2FwcGRhdGEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvY2xvc2VidXR0b24veGZjZTQtY2xvc2VidXR0b24tcGx1Z2luX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jbG9zZWJ1dHRvbi94ZmNlNC1jbG9zZWJ1dHRvbi1wbHVnaW5fZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0MTEwN2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvY2xvc2VidXR0b24veGZjZTQtY2xvc2VidXR0b24tcGx1Z2luX2dpdC5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIlBsdWdpbiBkaXNwbGF5aW5nIGNsb3NlIGJ1dHRvbiBmb3IgYXBwbGljYXRpb24gY3VycmVudGx5IGFjdGl2ZSIKK1NFQ1RJT04gPSAieDExIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWI2OTUyZDlhNDdmYzJhZDBmMzE1NTEwZTEyOTA0NTVmIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luIHhmY2UtZ2l0IGd0ay1pY29uLWNhY2hlIHBlcmxuYXRpdmUKKworREVQRU5EUyArPSAiZXhvLW5hdGl2ZSBsaWJ3bmNrIHhmY29uZiIKKworUFYgPSAiMC4xLjArZ2l0ciR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vc2Nobml0emVsdG9ueS94ZmNlNC1jbG9zZWJ1dHRvbi1wbHVnaW4uZ2l0O2JyYW5jaD1tYXN0ZXIiCitTUkNSRVYgPSAiYmQ3NjE1NGFmZTI2YmE4YTUyNTFhMTg4N2Q4OGY5ZDg1NTMwMTg1MCIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0VYVFJBX09FQ09ORiArPSAiLS1lbmFibGUtbWFpbnRhaW5lci1tb2RlIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS94ZmNlNC9jbG9zZWJ1dHRvbi90aGVtZXMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvY3B1ZnJlcS94ZmNlNC1jcHVmcmVxLXBsdWdpbl8xLjEuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jcHVmcmVxL3hmY2U0LWNwdWZyZXEtcGx1Z2luXzEuMS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFjMmE4MTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvY3B1ZnJlcS94ZmNlNC1jcHVmcmVxLXBsdWdpbl8xLjEuMi5iYgpAQCAtMCwwICsxLDkgQEAKK1NVTU1BUlkgPSAiUGFuZWwgcGx1Z2luIHRvIGRpc3BsYXkgZnJlcXVlbmN5IG9mIGFsbCBjcHVzIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1jcHVmcmVxLXBsdWdpbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xZjZmMWMwYmUzMjQ5MWEwYzhkMjkxNTYwN2EyOGYzNiIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCitTUkNfVVJJW21kNXN1bV0gPSAiYmZjNGM4Mjc3Y2IwMDk0MzlmYjRjN2FlYzg2NzkxMjYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZmQ5Y2E5MWI5OWU4MzBjNmIwOTYyYTA3ZWIyNjljZTgxNGVkNzczY2Q2MDA4MDgxNzcxZmQwNDA2MGZlNmNlOSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jcHVncmFwaC94ZmNlNC1jcHVncmFwaC1wbHVnaW5fMS4wLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvY3B1Z3JhcGgveGZjZTQtY3B1Z3JhcGgtcGx1Z2luXzEuMC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzZTJiYjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvY3B1Z3JhcGgveGZjZTQtY3B1Z3JhcGgtcGx1Z2luXzEuMC41LmJiCkBAIC0wLDAgKzEsOSBAQAorU1VNTUFSWSA9ICJQYW5lbCBwbHVnaW4gd2l0aCBncmFwaGljYWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIGNwdSBmcmVxdWVuY3kiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LWNwdWdyYXBoLXBsdWdpbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00MTU2NTRmNTlkOGZhNzBmZTRlYWMyYzNmODZjOGY1ZSIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjBlYmZhYmIyNzNhZGY2OTM2MWIzN2EzZmE0Yjc5MTIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODVkYTBlYzg5YWFjZmQzMWUwYmJhZmNlZmVhMzdjZGNhNjE4ZDYyZTY4MWMxYzlkYThiZGQ0OTJmMDI4ZjRjNyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9kYXRldGltZS94ZmNlNC1kYXRldGltZS1wbHVnaW5fMC42LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvZGF0ZXRpbWUveGZjZTQtZGF0ZXRpbWUtcGx1Z2luXzAuNi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5N2JhNmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvZGF0ZXRpbWUveGZjZTQtZGF0ZXRpbWUtcGx1Z2luXzAuNi4yLmJiCkBAIC0wLDAgKzEsOSBAQAorU1VNTUFSWSA9ICJQYW5lbCBwbHVnaW4gZGlzcGxheWluZyBkYXRlIGFuZCB0aW1lIGFuZCBhIGNhbGVuZGFyIHdoZW4gbGVmdC1jbGlja2VkIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1kYXRldGltZS1wbHVnaW4iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworU1JDX1VSSVttZDVzdW1dID0gImZlNjA0YTI1MWVhZGJjNWIwZjJiNDczN2I4NWQ5MmM4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk3MzRkYTY3MWU4ZDFkN2RlNWZhZTkyMDkzYTA1ZDY1M2M5MjQ1YjgzODU0MmZiOWFmZjNlMTAzNjhjYzllMmMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvZGlza3BlcmYveGZjZTQtZGlza3BlcmYtcGx1Z2luXzIuNS41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2Rpc2twZXJmL3hmY2U0LWRpc2twZXJmLXBsdWdpbl8yLjUuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MDE2OTljCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2Rpc2twZXJmL3hmY2U0LWRpc2twZXJmLXBsdWdpbl8yLjUuNS5iYgpAQCAtMCwwICsxLDkgQEAKK1NVTU1BUlkgPSAiUGFuZWwgcGx1Z2luIGRpc3BsYXlpbmcgaW5zdGFudCBkaXNrL3BhcnRpdGlvbiBwZXJmb3JtYW5jZSIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtZGlza3BlcmYtcGx1Z2luIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kM2U2Mjc3OThkNmE2MGJlY2U0N2FhOGIzNTMyZTFmMSIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCitTUkNfVVJJW21kNXN1bV0gPSAiMTk5ZTQzNjVjYjNhMWZjZDVmNjE2NDA0NGFlZGJhMTciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiY2JlYjBjMDBmOTczNjJlZWYzZjEzNWFmYjc3OTQ3YWVmNzNlOTM4YmFlMDM4NjI1MGExMjJhYzY2NDRiNTIxYiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9lbWJlZC94ZmNlNC1lbWJlZC1wbHVnaW5fMS4wLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvZW1iZWQveGZjZTQtZW1iZWQtcGx1Z2luXzEuMC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyZDZlZGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvZW1iZWQveGZjZTQtZW1iZWQtcGx1Z2luXzEuMC4wLmJiCkBAIC0wLDAgKzEsMTIgQEAKK0RFU0NSSVBUSU9OID0gIkEgcGFuZWwgcGx1Z2luIHRoYXQgZW1iZWRzIGFyYml0cmFyeSB3aW5kb3dzIChvciBHdGtQbHVnIHdpZGdldHMpIGludG8gdGhlIHBhbmVsLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtZW1iZWQtcGx1Z2luIgorU0VDVElPTiA9ICJ4MTEvYXBwbGljYXRpb24iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworIyBERVBFTkRTICs9ICJ4ZmNvbmYgeHByb3RvIGxpYnh0c3QiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjNWI4NmNiYzFjNTRlZTdjMWQyZTk1YTQ1MDJmZWQ4ZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzNWQ0YzZjNTZkZDY0NjhjMGU1YWZlNjZmNjU3YzE1MjZmMmQ4MzBhNTc3MTA1YTUxZGE0MzY1NzY1MTgzMmUzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2VxdWFrZS94ZmNlNC1lcXVha2UtcGx1Z2luXzEuMy44LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2VxdWFrZS94ZmNlNC1lcXVha2UtcGx1Z2luXzEuMy44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2ZDI1ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvZXF1YWtlL3hmY2U0LWVxdWFrZS1wbHVnaW5fMS4zLjguYmIKQEAgLTAsMCArMSwxMiBAQAorREVTQ1JJUFRJT04gPSAiRXF1YWtlIFhGQ0UgaXMgYSBwYW5lbCBwbHVnaW4gZm9yIHRoZSBYRkNFIHBhbmVsIHdoaWNoIG1vbml0b3JzIGVhcnRocXVha2VzIGFuZCBkaXNwbGF5cyBhbiB1cGRhdGUgZWFjaCB0aW1lIGEgbmV3IGVhcnRocXVha2Ugb2NjdXJzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9mcmVlY29kZS5jb20vcHJvamVjdHMvZXF1YWtlLXhmY2UiCitTRUNUSU9OID0gIngxMS9hcHBsaWNhdGlvbiIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCitTUkNfVVJJW21kNXN1bV0gPSAiYzhmNmNiMmFlYzYyNTEzYzM0MzI4MWVhY2M0ZmMzOTUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDMxNTc1ZGEzZDQ5ZmVhM2FmYTYwZjAyZTgzYzhkNzRlMjBlOWEyMjljOWM0ZWM4MmMyMWQ0NWUyYzk4NjkyNSIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS94ZmNlNC9wYW5lbC1wbHVnaW5zL3hmY2U0LWVxdWFrZS1wbHVnaW4iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvZXllcy94ZmNlNC1leWVzLXBsdWdpbl80LjQuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9leWVzL3hmY2U0LWV5ZXMtcGx1Z2luXzQuNC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlMzIyMTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvZXllcy94ZmNlNC1leWVzLXBsdWdpbl80LjQuNC5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIlBhbmVsIHBsdWdpbiB3aXRoIGdyYXBoaWNhbCByZXByZXNlbnRhdGlvbiBvZiB0aGUgY3B1IGZyZXF1ZW5jeSIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtZXllcy1wbHVnaW4iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworU1JDX1VSSVttZDVzdW1dID0gIjEzNmY1MmEyNTZmYWQ4Y2ZkMjlmYjI5NzZlMDhlYmM4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI0MGNlODViNjhkM2QxNjFmMjc2ZWJiZWE5NzA3MmRkNmVlM2RmNzcwNjJmZDA3M2JmNmVlYjRkM2QxNDAwY2EiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3hmY2U0L2V5ZXMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvZnNndWFyZC94ZmNlNC1mc2d1YXJkLXBsdWdpbl8xLjAuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9mc2d1YXJkL3hmY2U0LWZzZ3VhcmQtcGx1Z2luXzEuMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmOTE5OWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvZnNndWFyZC94ZmNlNC1mc2d1YXJkLXBsdWdpbl8xLjAuMi5iYgpAQCAtMCwwICsxLDkgQEAKK0RFU0NSSVBUSU9OID0gIlRoZSBGU0d1YXJkIHBhbmVsIHBsdWdpbiBjaGVja3MgZnJlZSBzcGFjZSBvbiBhIGNob3NlbiBtb3VudCBwb2ludCBmcmVxdWVudGx5IGFuZCBkaXNwbGF5cyBhIG1lc3NhZ2Ugd2hlbiBhIGxpbWl0IGlzIHJlYWNoZWQiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LWZzZ3VhcmQtcGx1Z2luPyYjcmVjZXRfcmVsZWFzZXMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworU1JDX1VSSVttZDVzdW1dID0gImRiNzc0MWQxODI3ZTQyOGIwMDVlOTRkMjVlMmVjMDBhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImEyYzhkNTkzODZhZTNkMjNjZjZiZGQwNmExY2RkN2ExYjk0NzNjZjZmMzhhZTEwNjYwMGIxOTRjNjAxMDQwYWUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvZ2VubW9uL2ZpbGVzLzAwMDEtQWxsb3ctdGltZXItcGVyaW9kLXRvLWJlLXNldC1hdC0yNTBtcy1yZXNvbHV0aW9uLi1QYS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9nZW5tb24vZmlsZXMvMDAwMS1BbGxvdy10aW1lci1wZXJpb2QtdG8tYmUtc2V0LWF0LTI1MG1zLXJlc29sdXRpb24uLVBhLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4YzBlYjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvZ2VubW9uL2ZpbGVzLzAwMDEtQWxsb3ctdGltZXItcGVyaW9kLXRvLWJlLXNldC1hdC0yNTBtcy1yZXNvbHV0aW9uLi1QYS5wYXRjaApAQCAtMCwwICsxLDM2IEBACitGcm9tIDJkNWZhMzA3ODI3YTdiMzJhZjRmN2IyYWUwNjA0Zjk0M2UzYTZlOTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb2huIExpbmRncmVuIDxqb2huLmxpbmRncmVuQGFvbC5jb20+CitEYXRlOiBUdWUsIDIxIEF1ZyAyMDEyIDE5OjMzOjQ1IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIEFsbG93IHRpbWVyIHBlcmlvZCB0byBiZSBzZXQgYXQgMjUwbXMgcmVzb2x1dGlvbi4gIFBhdGNoCisgZnJvbSBNaWd1ZWwgR3VlZGVzLiAgQ2xvc2VzOiAjOTEwMi4KK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBBcHBsaWVkIFsxXQorCitbMV0gaHR0cDovL2dpdC54ZmNlLm9yZy9wYW5lbC1wbHVnaW5zL3hmY2U0LWdlbm1vbi1wbHVnaW4vY29tbWl0Lz9pZD0yZDVmYTMwNzgyN2E3YjMyYWY0ZjdiMmFlMDYwNGY5NDNlM2E2ZTk5CisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIHBhbmVsLXBsdWdpbi9jb25maWdfZ3VpLmMgfCAgICA0ICsrLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3BhbmVsLXBsdWdpbi9jb25maWdfZ3VpLmMgYi9wYW5lbC1wbHVnaW4vY29uZmlnX2d1aS5jCitpbmRleCBhNGM4OTFkLi45MGU1NWMxIDEwMDY0NAorLS0tIGEvcGFuZWwtcGx1Z2luL2NvbmZpZ19ndWkuYworKysrIGIvcGFuZWwtcGx1Z2luL2NvbmZpZ19ndWkuYworQEAgLTEwNiw4ICsxMDYsOCBAQCBpbnQgZ2VubW9uX0NyZWF0ZUNvbmZpZ0dVSSAoR3RrV2lkZ2V0ICp2Ym94MSwKKyAgICAgZ3RrX3dpZGdldF9zaG93IChhbGlnbm1lbnQxKTsKKyAgICAgZ3RrX2NvbnRhaW5lcl9hZGQgKEdUS19DT05UQUlORVIgKGV2ZW50Ym94MSksIGFsaWdubWVudDEpOworIAorLSAgICB3U2NfUGVyaW9kX2FkaiA9IGd0a19hZGp1c3RtZW50X25ldyAoMTUsIDEsIDYwKjYwKjI0LCAxLCAxLCAwKTsKKy0gICAgd1NjX1BlcmlvZCA9IGd0a19zcGluX2J1dHRvbl9uZXcgKEdUS19BREpVU1RNRU5UICh3U2NfUGVyaW9kX2FkaiksIDEsIDApOworKyAgICB3U2NfUGVyaW9kX2FkaiA9IGd0a19hZGp1c3RtZW50X25ldyAoMTUsIC4yNSwgNjAqNjAqMjQsIC4yNSwgMSwgMCk7CisrICAgIHdTY19QZXJpb2QgPSBndGtfc3Bpbl9idXR0b25fbmV3IChHVEtfQURKVVNUTUVOVCAod1NjX1BlcmlvZF9hZGopLCAuMjUsIDIpOworICAgICBndGtfd2lkZ2V0X3Nob3cgKHdTY19QZXJpb2QpOworICAgICBndGtfY29udGFpbmVyX2FkZCAoR1RLX0NPTlRBSU5FUiAoYWxpZ25tZW50MSksIHdTY19QZXJpb2QpOworICAgICBndGtfdG9vbHRpcHNfc2V0X3RpcCAodG9vbHRpcHMsIHdTY19QZXJpb2QsCistLSAKKzEuNy42LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2dlbm1vbi94ZmNlNC1nZW5tb24tcGx1Z2luXzMuNC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2dlbm1vbi94ZmNlNC1nZW5tb24tcGx1Z2luXzMuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExM2RiNjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvZ2VubW9uL3hmY2U0LWdlbm1vbi1wbHVnaW5fMy40LjAuYmIKQEAgLTAsMCArMSwxMyBAQAorREVTQ1JJUFRJT04gPSAiVGhpcyBwbHVnaW4gY3ljbGljYWxseSBzcGF3bnMgdGhlIGluZGljYXRlZCBzY3JpcHQvcHJvZ3JhbSwgY2FwdHVyZXMgaXRzIG91dHB1dCAoc3Rkb3V0KSBhbmQgZGlzcGxheXMgdGhlIHJlc3VsdGluZyBzdHJpbmcgaW50byB0aGUgcGFuZWwuIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1nZW5tb24tcGx1Z2luIgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTY4YWQ2MmM2NGNjNmM2MjAxMjYyNDFmZDQyOWU2OGZlIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLUFsbG93LXRpbWVyLXBlcmlvZC10by1iZS1zZXQtYXQtMjUwbXMtcmVzb2x1dGlvbi4tUGEucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyNDEwOGIzMzliYjA0MGVkMzYwMjY2ZjUzYTI0NTIyNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiMGE1MzM3YjQ5Yzg1NjIzZGM4OWYzYzllNDdjNzM3NGIxZDQ2NmFmMjQxODAzM2QyZDZkZmM1N2E5NzkwMzg3IgorCitTID0gIiR7V09SS0RJUn0veGZjZTQtZ2VubW9uLXBsdWdpbi0zLjQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvaG90Y29ybmVyL3hmY2U0LWhvdGNvcm5lci1wbHVnaW5fMC4wLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvaG90Y29ybmVyL3hmY2U0LWhvdGNvcm5lci1wbHVnaW5fMC4wLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg2YzkyZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9ob3Rjb3JuZXIveGZjZTQtaG90Y29ybmVyLXBsdWdpbl8wLjAuMi5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIlBsdWdpbiBwcm92aWRpbmcgaG90Y29ybmVycyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUUubWQ7YmVnaW5saW5lPTQ4O2VuZGxpbmU9NTM7bWQ1PTJjNjk0YjhlMGY3MzI3NGIxMzQ2NWI1MDllNGY1NDI3IgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luIGNtYWtlCisKK0RFUEVORFMgKz0gImxpYnduY2szIgorCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9icmlhbmhzdS8ke0JQTn0vcmVsZWFzZXMvZG93bmxvYWQvJHtQVn0vJHtCUE59LSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhYzMxYjQ1Y2RhMTg2N2NiNmJkNjliYjI4NTYzODI2MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5NDI2ODRjOTJmOTZhMTU4ZTE0MTdlNTk3OTQ3ZjgyMjc2OWFjNTZhYTE5OTNhOGM5ZjE2NmVlNjMzZWYyYjhkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2tiZGxlZHMveGZjZTQta2JkbGVkcy1wbHVnaW5fMC4wLjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMva2JkbGVkcy94ZmNlNC1rYmRsZWRzLXBsdWdpbl8wLjAuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYWY1NTA4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2tiZGxlZHMveGZjZTQta2JkbGVkcy1wbHVnaW5fMC4wLjYuYmIKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJYRkNFIHBhbmVsIHBsdWdpbiBkaXNwbGF5aW5nIHN0YXR1cyBvZiBrZXlib2FyZCBMRURzIgorREVTQ1JJUFRJT04gPSAiVGhpcyBwbHVnaW4gc2hvd3MgdGhlIHN0YXRlIG9mIHlvdXIga2V5Ym9hcmQgTEVEczogQ2FwcywgU2Nyb2xsIGFuZCBOdW0gTG9jayBpbiBYZmNlIHBhbmVsIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1rYmRsZWRzLXBsdWdpbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gIiBcCisgICAgZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIFwKKyAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTI1Mjg5MGQ5ZWVlMjZhYWI3YjQzMmU4YjhhNjE2NDc1IFwKKyIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCitTUkNfVVJJW21kNXN1bV0gPSAiZGI2YWQ4ZTM1MDJmMzM3M2YwODdiYTIwMzQxNDE1NTIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmQyODBhZDcyMDdiY2I5Y2M4N2MyNzlkYzNhYjkwODRmZDkzMzI1ZTg3ZjY3ODU4ZTg5MTc3MjliNTAyMDFjZCIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS94ZmNlNC9wYW5lbC1wbHVnaW5zL3hmY2U0LWtiZGxlZHMtcGx1Z2luIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL21haWx3YXRjaC94ZmNlNC1tYWlsd2F0Y2gtcGx1Z2luXzEuMi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL21haWx3YXRjaC94ZmNlNC1tYWlsd2F0Y2gtcGx1Z2luXzEuMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAwODU5YTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvbWFpbHdhdGNoL3hmY2U0LW1haWx3YXRjaC1wbHVnaW5fMS4yLjAuYmIKQEAgLTAsMCArMSwxMSBAQAorU1VNTUFSWSA9ICJNdWx0aS1wcm90b2NvbCwgbXVsdGktbWFpbGJveCBtYWlsIHdhdGNoZXIgZm9yIHRoZSBYZmNlNCBwYW5lbCIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtbWFpbHdhdGNoLXBsdWdpbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCitERVBFTkRTICs9ICJnbnV0bHMgbGliZ2NyeXB0IgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzI2MzExNGVjMGYyOTg3YTNhZmYxNWFmZWViNDU1NzciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjI0YWNjODIyOWE4NTkzYzBkZmViMjhmODgzZjQ5NTgxMTlhNzE1Y2M4MWNlY2RiYWYyOWVmYzhhYjFlZGNhZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9tb3VudC94ZmNlNC1tb3VudC1wbHVnaW5fMC42LjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvbW91bnQveGZjZTQtbW91bnQtcGx1Z2luXzAuNi40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkYzJjMTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvbW91bnQveGZjZTQtbW91bnQtcGx1Z2luXzAuNi40LmJiCkBAIC0wLDAgKzEsMTAgQEAKK1NVTU1BUlkgPSAiTW91bnQvdW1vdW50IHV0aWxpdHkgZm9yIHRoZSB4ZmNlIHBhbmVsIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1tb3VudC1wbHVnaW4iCitTRUNUSU9OID0gIngxMS9hcHBsaWNhdGlvbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjU5MTdlOWFhMmEwNmJjNmE4NzJjYzEwZDJlZTRmNmYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTQxZDdhZjg0ZDdkMGIwMGFlNTQ3YWExZjQzOGUyZmFjNTFlZTQxOTVjNGQwYTE3MTczYzRmNzJhY2NiMjI3ZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9uZXRsb2FkL3hmY2U0LW5ldGxvYWQtcGx1Z2luXzEuMi40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL25ldGxvYWQveGZjZTQtbmV0bG9hZC1wbHVnaW5fMS4yLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzlmN2EyYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9uZXRsb2FkL3hmY2U0LW5ldGxvYWQtcGx1Z2luXzEuMi40LmJiCkBAIC0wLDAgKzEsOSBAQAorU1VNTUFSWSA9ICJQYW5lbCBwbHVnaW4gZGlzcGxheWluZyBjdXJyZW50IGxvYWQgb2YgdGhlIG5ldHdvcmsgaW50ZXJmYWNlcyIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtbmV0bG9hZC1wbHVnaW4iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzVhNzIwM2M0MWI4NmQxNTU0NmRkZGMwNTk5NWY5N2YiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworU1JDX1VSSVttZDVzdW1dID0gImNlNTNlMTEzNWU0YmZmNWFmY2Q4OTk2MjcxMTBiZDExIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImZmYWNlOTE4ODIyYzAxMmQ4MDY3MTcxMTY1NjZlNTQ5NDdhZDc2MTNiOTI5MGI0NWExOGUyZDVmZmI4NzMwZDMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvbm90ZXMvZmlsZXMvMDAwMS1tYWluLXN0YXR1cy1pY29uLmMtcmVtb3ZlLWRlcHJlY2F0ZWQtZ190eXBlX2luaXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvbm90ZXMvZmlsZXMvMDAwMS1tYWluLXN0YXR1cy1pY29uLmMtcmVtb3ZlLWRlcHJlY2F0ZWQtZ190eXBlX2luaXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTFlZGUyNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9ub3Rlcy9maWxlcy8wMDAxLW1haW4tc3RhdHVzLWljb24uYy1yZW1vdmUtZGVwcmVjYXRlZC1nX3R5cGVfaW5pdC5wYXRjaApAQCAtMCwwICsxLDMyIEBACitGcm9tIDAyMThlNWViZjM4Zjk0ZDU4YjkwOGZjYTQ1MWJhMzc4OWVmYTg4OTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBGcmksIDIwIFNlcCAyMDEzIDIzOjA5OjI1ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIG1haW4tc3RhdHVzLWljb24uYyByZW1vdmUgZGVwcmVjYXRlZCBnX3R5cGVfaW5pdAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCit0aGlzIGZpbGUgd2FzIGF1dG8gY3JlYXRlZCBieSB2YWxhYyBhbmQgeGZjZS12YWxhIHdoZW4gY3JlYXRpbmcgdGFyYmFsbC4gU28KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvdGhlcl0KKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgc3JjL21haW4tc3RhdHVzLWljb24uYyB8IDEgLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvbWFpbi1zdGF0dXMtaWNvbi5jIGIvc3JjL21haW4tc3RhdHVzLWljb24uYworaW5kZXggYzZkNzNmOC4uZjdkYjc3MyAxMDA2NDQKKy0tLSBhL3NyYy9tYWluLXN0YXR1cy1pY29uLmMKKysrKyBiL3NyYy9tYWluLXN0YXR1cy1pY29uLmMKK0BAIC0yOTAsNyArMjkwLDYgQEAgZ2ludCBfdmFsYV9tYWluIChjaGFyKiogYXJncywgaW50IGFyZ3NfbGVuZ3RoMSkgeworIAorIAorIGludCBtYWluIChpbnQgYXJnYywgY2hhciAqKiBhcmd2KSB7CistCWdfdHlwZV9pbml0ICgpOworIAlyZXR1cm4gX3ZhbGFfbWFpbiAoYXJndiwgYXJnYyk7CisgfQorIAorLS0gCisxLjguMy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9ub3Rlcy94ZmNlNC1ub3Rlcy1wbHVnaW5fMS44LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvbm90ZXMveGZjZTQtbm90ZXMtcGx1Z2luXzEuOC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxMzUzNGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvbm90ZXMveGZjZTQtbm90ZXMtcGx1Z2luXzEuOC4xLmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiTm90ZXMgcGx1Z2luIGZvciB0aGUgWGZjZSBQYW5lbCIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtbm90ZXMtcGx1Z2luIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK0RFUEVORFMgKz0gImd0aysgbGlieGZjZTR1aSB4ZmNlNC1wYW5lbCB4ZmNvbmYgbGlidW5pcXVlIgorCitTUkNfVVJJICs9ICIgXAorICAgIGZpbGU6Ly8wMDAxLW1haW4tc3RhdHVzLWljb24uYy1yZW1vdmUtZGVwcmVjYXRlZC1nX3R5cGVfaW5pdC5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiMzFjYjk1MjBiMDE1MTJhOTQzNDQ3NzBiNGJlZmRiM2IiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDdhNGMzZTcxNDMxYzI0Zjk3ZDJlMjcwNDUyZGQwZmE1MWZmMGJkYjYyMTlhMTNhMjBkMGJmYThkOWRlNTRiMiIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS94ZmNlNC9wYW5lbC1wbHVnaW5zLyouc28uKiIKKworIyAqLnNvIGFyZSByZXF1aXJlZCBmb3IgcGx1Z2luIGRldGVjdGlvbgorSU5TQU5FX1NLSVBfJHtQTn0gPSAiZGV2LXNvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3BsYWNlcy94ZmNlNC1wbGFjZXMtcGx1Z2luXzEuNy4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3BsYWNlcy94ZmNlNC1wbGFjZXMtcGx1Z2luXzEuNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2YmUwOWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvcGxhY2VzL3hmY2U0LXBsYWNlcy1wbHVnaW5fMS43LjAuYmIKQEAgLTAsMCArMSwxMiBAQAorREVTQ1JJUFRJT04gPSAiUGFuZWwgcGx1Z2luIGRpc3BsYXlpbmcgbWVudSB3aXRoIHF1aWNrIGFjY2VzcyB0byBmb2xkZXJzLCBkb2N1bWVudHMsIGFuZCByZW1vdmFibGUgbWVkaWEiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LXBsYWNlcy1wbHVnaW4iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjY5NTJkOWE0N2ZjMmFkMGYzMTU1MTBlMTI5MDQ1NWYiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworU1JDX1VSSVttZDVzdW1dID0gImZjYWU5YjM4YThhZmZjZDgyNjk5YTk0OTkxYmJhMjliIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQxNzVjNjE0NzQ5YWJiYjViY2Y2ZjQ5Yzg4MTI1ZmIwZGQzNmRiNjlmNGMzNzRkZjIzNTYzOTA3YjE2ZTJjM2YiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW25vdGlmeV0gPSAiLS1lbmFibGUtbm90aWZpY2F0aW9ucywtLWRpc2FibGUtbm90aWZpY2F0aW9ucyxsaWJub3RpZnkiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvcHVsc2VhdWRpby94ZmNlNC1wdWxzZWF1ZGlvLXBsdWdpbl8wLjIuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9wdWxzZWF1ZGlvL3hmY2U0LXB1bHNlYXVkaW8tcGx1Z2luXzAuMi40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1MDI2YWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvcHVsc2VhdWRpby94ZmNlNC1wdWxzZWF1ZGlvLXBsdWdpbl8wLjIuNC5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIlB1bHNlYXVkaW8gbWl4ZXIgZm9yIHRoZSB4ZmNlIHBhbmVsIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWY1ZWFjNmJiMGQ2ZWMwZGM2NTVlNDE3NzgxZDQwMTVmIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAicHVsc2VhdWRpbyIKKworREVQRU5EUyArPSAicHVsc2VhdWRpbyIKKworU1JDX1VSSVttZDVzdW1dID0gImUwZmZkZTQxOWZhMDMwZjFmOWJkMGI1NmUzMjY0YTFjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhkOTMzMGRkZjFkNDRhODY0YTM2ZDU2NmNjZTRiNzZkNGY4NTljNTk4NGJiYTc2NTNkN2RjMzlhYTI0ZDVjM2UiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2xpYm5vdGlmeV0gPSAiLS1lbmFibGUtbGlibm90aWZ5LC0tZGlzYWJsZS1saWJub3RpZnksbGlibm90aWZ5IgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJwYXZ1Y29udHJvbCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9zZW5zb3JzL3hmY2U0LXNlbnNvcnMtcGx1Z2luXzEuMi42LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3NlbnNvcnMveGZjZTQtc2Vuc29ycy1wbHVnaW5fMS4yLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzJlMGVkOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9zZW5zb3JzL3hmY2U0LXNlbnNvcnMtcGx1Z2luXzEuMi42LmJiCkBAIC0wLDAgKzEsMjcgQEAKK1NVTU1BUlkgPSAiU2Vuc29ycyBwbHVnaW4gZm9yIHRoZSBYZmNlIFBhbmVsIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1zZW5zb3JzLXBsdWdpbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iOTQ3ODliZWQ5YWVjMDNiOTY1NmE5Y2M1Mzk4YzcwNiIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCitTUkNfVVJJW21kNXN1bV0gPSAiMzNjMmUzNDNjMTIyNGQ5YzRhZTc1N2E3MGNiZTA4ZWIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjM1ZWY4NDJiZDQ1ZTcwMWJjZWViYjIxYTM4NGFiMDlmMjFhZmNlZWE4ZWQ5NWY5MWJiNGM2Y2YzYWJlMWJjMCIKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS1kaXNhYmxlLXByb2NhY3BpIFwKKyAgICAtLWRpc2FibGUtc3lzZnNhY3BpIFwKKyAgICAtLWRpc2FibGUteG52Y3RybCBcCisiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAnczpMSUJTRU5TT1JTX0NGTEFHUz0uKjpMSUJTRU5TT1JTX0NGTEFHUz0tSSR7U1RBR0lOR19JTkNESVJ9OmcnICR7U30vY29uZmlndXJlLmFjCit9CisKK1BBQ0tBR0VDT05GSUcgPz89ICJsaWJzZW5zb3JzIgorUEFDS0FHRUNPTkZJR1tsaWJzZW5zb3JzXSA9ICItLWVuYWJsZS1saWJzZW5zb3JzLC0tZGlzYWJsZS1saWJzZW5zb3JzLCBsbXNlbnNvcnMiCitQQUNLQUdFQ09ORklHW2hkZHRlbXBdICAgID0gIi0tZW5hYmxlLWhkZHRlbXAsLS1kaXNhYmxlLWhkZHRlbXAsIGhkZHRlbXAiCitQQUNLQUdFQ09ORklHW25ldGNhdF0gICAgID0gIi0tZW5hYmxlLW5ldGNhdCwtLWRpc2FibGUtbmV0Y2F0LCBuZXRjYXQiCitQQUNLQUdFQ09ORklHW2xpYm5vdGlmeV0gID0gIi0tZW5hYmxlLW5vdGlmaWNhdGlvbiwtLWRpc2FibGUtbm90aWZpY2F0aW9uLCBsaWJub3RpZnkiCisKK0ZJTEVTX1NPTElCU0RFViA9ICIke2xpYmRpcn0veGZjZTQvbW9kdWxlcy9saWIqJHtTT0xJQlNERVZ9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3NtYXJ0Ym9va21hcmsveGZjZTQtc21hcnRib29rbWFyay1wbHVnaW5fMC40LjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvc21hcnRib29rbWFyay94ZmNlNC1zbWFydGJvb2ttYXJrLXBsdWdpbl8wLjQuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjQ3ZjA2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3NtYXJ0Ym9va21hcmsveGZjZTQtc21hcnRib29rbWFyay1wbHVnaW5fMC40LjYuYmIKQEAgLTAsMCArMSw5IEBACitTVU1NQVJZID0gIlBhbmVsIHBsdWdpbiBhbGxvd2luZyB0byBzZW5kIHJlcXVlc3RzIGRpcmVjdGx5IHRvIGJyb3dzZXIiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LXNtYXJ0Ym9va21hcmstcGx1Z2luIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwMWI3NzM1ZDRkOWFiMDE1MGQ0ZGRkM2JlY2I5NGQ1ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzYmVkMmIzMjJjZDM5Y2U1ODQ1ZDZkYTA3OTM4YzcwMjI2MGYzZjFhOTcwMGI2OTBlZjM3N2ZiYTc1MmJhMjRmIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3N5c3RlbWxvYWQveGZjZTQtc3lzdGVtbG9hZC1wbHVnaW5fMS4xLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvc3lzdGVtbG9hZC94ZmNlNC1zeXN0ZW1sb2FkLXBsdWdpbl8xLjEuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMjEyZjg4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3N5c3RlbWxvYWQveGZjZTQtc3lzdGVtbG9hZC1wbHVnaW5fMS4xLjIuYmIKQEAgLTAsMCArMSwxMSBAQAorREVTQ1JJUFRJT04gPSAiUGFuZWwgcGx1Z2luIGRpc3BsYXlpbmcgY3VycmVudCBDUFUgbG9hZCwgdGhlIG1lbW9yeSBpbiB1c2UsIHRoZSBzd2FwIHNwYWNlIGFuZCB0aGUgc3lzdGVtIHVwdGltZSIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtc3lzdGVtbG9hZC1wbHVnaW4iCitMSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTlhY2IxNzJhOTNmZjZjNDNjY2UyYWZmNzkwYThhZWY4IgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK0RFUEVORFMgKz0gInVwb3dlciIKKworU1JDX1VSSVttZDVzdW1dID0gIjY4YzlkMjBiMzUyYzEzZjNlYjZiMzlhMGQ5ZmUyYmEyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImI0NjliNmIzYTA4ZWMyOWI5MDYxMTUxOTUwZDg3NmQzNmJmMjVhMzEwNmVjNzcyNTY5MjNmZGQ2YjVkMThhN2MiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvdGltZS1vdXQveGZjZTQtdGltZS1vdXQtcGx1Z2luXzEuMC4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3RpbWUtb3V0L3hmY2U0LXRpbWUtb3V0LXBsdWdpbl8xLjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYWNiYjBkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3RpbWUtb3V0L3hmY2U0LXRpbWUtb3V0LXBsdWdpbl8xLjAuMi5iYgpAQCAtMCwwICsxLDEwIEBACitTVU1NQVJZID0gIlRoaXMgcGx1Z2luIG1ha2VzIGl0IHBvc3NpYmxlIHRvIHRha2UgcGVyaW9kaWNhbCBicmVha3MiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LXRpbWUtb3V0LXBsdWdpbiIKK1NFQ1RJT04gPSAieDExL2FwcGxpY2F0aW9uIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkN2Q3NDM3OTRhNzY2YmExYjAwNjQ3ODI4YTA5OTA1MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjNjlmYjcyMThjNjg1ZTUxNjQ1NDgxMDI5MWM1MjQ1YzQ5YTgwZDc3NGE2YmRlZDU5YzY0NWExYWY0MjdjNGU1IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3RpbWVyL3hmY2U0LXRpbWVyLXBsdWdpbl8xLjYuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy90aW1lci94ZmNlNC10aW1lci1wbHVnaW5fMS42LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDYxMjM1ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy90aW1lci94ZmNlNC10aW1lci1wbHVnaW5fMS42LjAuYmIKQEAgLTAsMCArMSwxMCBAQAorU1VNTUFSWSA9ICJYRkNFIHBhbmVsIHBsdWdpbiB0byBnZW5lcmF0ZSBhbGFybSBtZXNzYWdlcyIKK0RFU0NSSVBUSU9OID0gIlRoaXMgaXMgYSBzaW1wbGUgcGx1Z2luIHRoYXQgbGV0cyB0aGUgdXNlciBydW4gYW4gYWxhcm0gYXQgYSBzcGVjaWZpZWQgdGltZSBvciBhdCB0aGUgZW5kIG9mIGEgc3BlY2lmaWVkIGNvdW50ZG93biBwZXJpb2QiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LXRpbWVyLXBsdWdpbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hZTM5MjcxMjY3ZmQ2M2ViNzYxOTQzMmZmMjRlN2ZmMSIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCitTUkNfVVJJW21kNXN1bV0gPSAiM2JlMmE0Y2NmYjJhZjIwNDQxYjFkMjVjMmNlYTVmMjgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzlkN2QyMWYwOTliYzQyMTlmNmE2MTU2MTQyZjBiYmI4Mzc0OTg2ZWUxOTcwYTljMGM4ZGMxMzhiODdmODY3YyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy92ZXJ2ZS94ZmNlNC12ZXJ2ZS1wbHVnaW5fMS4xLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvdmVydmUveGZjZTQtdmVydmUtcGx1Z2luXzEuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1NTAzYTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvdmVydmUveGZjZTQtdmVydmUtcGx1Z2luXzEuMS4wLmJiCkBAIC0wLDAgKzEsOSBAQAorU1VNTUFSWSA9ICJWZXJ2ZSBwYW5lbCBwbHVnaW4gaXMgYSBjb21mb3J0YWJsZSBjb21tYW5kIGxpbmUgcGx1Z2luIGZvciB0aGUgWGZjZSBwYW5lbCIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtdmVydmUtcGx1Z2luIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkZGQwMTkwYWU1NmY2MTE3ZGJjZjlmZjJiZjVhOGNiZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhMzE5NmY4MThjN2FkNTdkMTljZDY1ODFlMTY4ZmQyYjlmOTZkZTA3MDI0NmFlYTcwYzM1Y2UyZTVmOWQ5Yzg0IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3dhdmVsYW4veGZjZTQtd2F2ZWxhbi1wbHVnaW5fMC41LjEyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3dhdmVsYW4veGZjZTQtd2F2ZWxhbi1wbHVnaW5fMC41LjEyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjY2Q1NTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvd2F2ZWxhbi94ZmNlNC13YXZlbGFuLXBsdWdpbl8wLjUuMTIuYmIKQEAgLTAsMCArMSw5IEBACitTVU1NQVJZID0gIlBhbmVsIHBsdWdpbiBkaXNwbGF5aW5nIHN0YXRzIGZyb20gYSB3aXJlbGVzcyBsYW4gaW50ZXJmYWNlIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC13YXZlbGFuLXBsdWdpbiIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTFlNTg3MmRmOWM1Y2YxYTIzZjE2NDkzZDkxMDQ5MjAiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworU1JDX1VSSVttZDVzdW1dID0gIjNiYTVlZTA2MjY2MTI5NDJkMjQ5ZDRhODBhMWE2N2I3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY3ZGNlNDU3MzlmMDYzYjk1ZTJiYzIyMzJjNjI1Mjc3Njg1ODg3YjFmODQwODgzMTZkOTE5NjcxYjU1MDBhYzQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvd2VhdGhlci94ZmNlNC13ZWF0aGVyLXBsdWdpbl8wLjguNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy93ZWF0aGVyL3hmY2U0LXdlYXRoZXItcGx1Z2luXzAuOC43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1MTlmNGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvd2VhdGhlci94ZmNlNC13ZWF0aGVyLXBsdWdpbl8wLjguNy5iYgpAQCAtMCwwICsxLDEzIEBACitTVU1NQVJZID0gIlBhbmVsIHBsdWdpbiB0byBkaXNwbGF5IGN1cnJlbnQgdGVtcGVyYXR1cmUgYW5kIHdlYXRoZXIgY29uZGl0aW9uIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC13ZWF0aGVyLXBsdWdpbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCitERVBFTkRTICs9ICJsaWJzb3VwLTIuNCBkYnVzLWdsaWIgdXBvd2VyIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZWNhYjBlYWFkODcwZTQ2MGRhNDU5N2U3NmY0M2U2ZTYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDcxZTcxMTA2ODY4YzdkOTBjOTM2MjU2ZDgzN2NhODM0ZDBjYTZmNTRkYWVhNTlhOWI1ZmMxMWIzMThlNjViMCIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0veGZjZTQvd2VhdGhlciIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy93aGlza2VybWVudS94ZmNlNC13aGlza2VybWVudS1wbHVnaW5fMS41LjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvd2hpc2tlcm1lbnUveGZjZTQtd2hpc2tlcm1lbnUtcGx1Z2luXzEuNS4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwYmYxMTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvd2hpc2tlcm1lbnUveGZjZTQtd2hpc2tlcm1lbnUtcGx1Z2luXzEuNS4zLmJiCkBAIC0wLDAgKzEsOSBAQAorU1VNTUFSWSA9ICJBbiBhbHRlcm5hdGUgbWVudSBmb3IgdGhlIFhmY2UgZGVza3RvcCBlbnZpcm9ubWVudCIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb3R0Y29kZS5vcmcveGZjZTQtd2hpc2tlcm1lbnUtcGx1Z2luLyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbiBjbWFrZQorCitTUkNfVVJJW21kNXN1bV0gPSAiZWY1MTIzNDExN2RhYmRmMDJmMmY0MTU2NDNkODU4ZDYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjhhODI3MzM5NTY3MWQ1MTYzZmQ4Y2Q5YTczNzU1ZWYwM2Q0ZWE3NDg5MTIwNDQ5OGEyMTU4MmE5YzJlOTI1YiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy94a2IveGZjZTQteGtiLXBsdWdpbl8wLjcuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy94a2IveGZjZTQteGtiLXBsdWdpbl8wLjcuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZmExNjM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3hrYi94ZmNlNC14a2ItcGx1Z2luXzAuNy4xLmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiWEtCIGxheW91dCBzd2l0Y2hpbmcgcGFuZWwgcGx1Zy1pbiBmb3IgdGhlIFhmY2UgZGVza3RvcCBlbnZpcm9ubWVudCIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQteGtiLXBsdWdpbiIKK1NFQ1RJT04gPSAieDExL2FwcGxpY2F0aW9uIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTQ5NmYwOWYwODRiMGY3ZTZmMDJmNzY5YTg0NDkwYzZiIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyZjY4ZTBkNTNiYWY2OGVjYzFhNzE2NWFkMzNjMjZhOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2MWZlMmUzM2ZlOTk5MzlkNWQwNmE2ODJlOTRlNDBlMDVlZjg0NGM5MzBhZDYxMjE1NDA5MGQxNThiMmNlNjgxIgorCitERVBFTkRTICs9ICJsaWJ4a2xhdmllciBsaWJ3bmNrIGxpYnJzdmcgZ2FyY29uIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS94ZmNlNC94a2IiCisKK1JERVBFTkRTXyR7UE59ID0gInhmY2U0LXNldHRpbmdzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW1fJS5iYmFwcGVuZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtc3VwcG9ydC92aW0vdmltXyUuYmJhcHBlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjU0MDNlNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtc3VwcG9ydC92aW0vdmltXyUuYmJhcHBlbmQKQEAgLTAsMCArMSw2IEBACitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKwkjIFRoZSBtb3VzZSBiZWluZyBhdXRvZW5hYmxlZCBpcyBqdXN0IGFubm95aW5nIGluIHhmY2U0LXRlcm1pbmFsIChtb3VzZQorCSMgZHJhZyBtYWtlIHZpbSBnbyBpbnRvIHZpc3VhbCBtb2RlIGFuZCB0aGVyZSBpcyBubyByaWdodCBjbGljayBtZW51KSwKKwkjIGRlbGV0ZSB0aGUgYmxvY2suCisJc2VkIC1pICcvdGhlIG1vdXNlIHdvcmtzIGp1c3QgZmluZS8sKzRkJyAke0R9LyR7ZGF0YWRpcn0vJHtCUE59L3ZpbXJjCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXRodW5hci1wbHVnaW5zL2FyY2hpdmUvdGh1bmFyLWFyY2hpdmUtcGx1Z2luXzAuMy4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy10aHVuYXItcGx1Z2lucy9hcmNoaXZlL3RodW5hci1hcmNoaXZlLXBsdWdpbl8wLjMuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MGFiNmFmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy10aHVuYXItcGx1Z2lucy9hcmNoaXZlL3RodW5hci1hcmNoaXZlLXBsdWdpbl8wLjMuMS5iYgpAQCAtMCwwICsxLDEyIEBACitERVNDUklQVElPTiA9ICJUaHVuYXIgQXJjaGl2ZSBQbHVnaW4gYWxsb3dzIHlvdSB0byBjcmVhdGUgYW5kIGV4dHJhY3QgYXJjaGl2ZSBmaWxlcyB1c2luZyBmaWxlIGNvbnRleHQgbWVudXMgaW4gVGh1bmFyIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvdGh1bmFyLXBsdWdpbnMvdGh1bmFyLWFyY2hpdmUtcGx1Z2luIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTI1Mjg5MGQ5ZWVlMjZhYWI3YjQzMmU4YjhhNjE2NDc1IgorCitpbmhlcml0IHRodW5hci1wbHVnaW4KKworU1JDX1VSSVttZDVzdW1dID0gIjQyNWY0ZmFhYWNlNmRjN2E0NzE2YTM1Yjc3OTU0NjNhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjlhZDU1OWIwYzExMzA4ZjY4OTdhZDU2NjA0ZTVhMDZkYzhmMzY5ZjY0OWViMjAxMjBiMmQzMDE4ZWY1ZGE1NGMiCisKKyMgaW5zdGFsbCB0YXAgZmlsZXMgaW4gJHtsaWJkaXJ9L3RodW5hci1hcmNoaXZlLXBsdWdpbgorRVhUUkFfT0VDT05GICs9ICItLWxpYmV4ZWNkaXI9JHtsaWJkaXJ9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy10aHVuYXItcGx1Z2lucy9tZWRpYS10YWdzL3RodW5hci1tZWRpYS10YWdzLXBsdWdpbl8wLjIuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtdGh1bmFyLXBsdWdpbnMvbWVkaWEtdGFncy90aHVuYXItbWVkaWEtdGFncy1wbHVnaW5fMC4yLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTBmMTUwYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtdGh1bmFyLXBsdWdpbnMvbWVkaWEtdGFncy90aHVuYXItbWVkaWEtdGFncy1wbHVnaW5fMC4yLjEuYmIKQEAgLTAsMCArMSwxMSBAQAorU1VNTUFSWSA9ICJBZGRzIElEMy9PR0cgdGFnIHN1cHBvcnQgdG8gdGhlIFRodW5hciBidWxrIHJlbmFtZSBkaWFsb2ciCitIT01FUEFHRSA9ICJodHRwOi8vdGh1bmFyLnhmY2Uub3JnIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitpbmhlcml0IHRodW5hci1wbHVnaW4KKworREVQRU5EUyArPSAidGFnbGliIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDEwNmU5MDA3MTRmODZjY2JhZmRjNzIyMzhkM2NmOGQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDU2ZDAxMmExMDQwM2VlM2UyZTU1YjZmZjJmYWVjYjc5NjgyMWRlOWViZWUwMDAzMTU1ODliOTVkOTVlZDI1MyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9leG8vZXhvL2NvbmZpZ3VyZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9leG8vZXhvL2NvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZjI3ZTQyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2V4by9leG8vY29uZmlndXJlLnBhdGNoCkBAIC0wLDAgKzEsNDMgQEAKKy0tLSBhL2NvbmZpZ3VyZS5hYwkyMDA3LTEyLTAyIDEwOjM3OjA2LjAwMDAwMDAwMCAtMDIwMAorKysrIGIvY29uZmlndXJlLmFjCTIwMDgtMDYtMDUgMTc6MjE6NDIuMDAwMDAwMDAwIC0wMzAwCitAQCAtMTI3LDIyICsxMjcsMjQgQEAKKyBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgZG5sICoqKiBDaGVjayBmb3Igc3RyZnRpbWUoKSBleHRlbnNpb25zICoqKgorIGRubCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKy1BQ19UUllfUlVOKFsKKy0gICNpbmNsdWRlIDxzdHJpbmcuaD4KKy0gICNpbmNsdWRlIDx0aW1lLmg+CistICBpbnQKKy0gIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKKy0gIHsKKy0gICAgc3RydWN0IHRtIHRtOworLSAgICBjaGFyICAgICAgYnVmZmVyWzE2XTsKKy0gICAgdG0udG1feWVhciA9IDgxOworLSAgICBpZiAoc3RyZnRpbWUgKGJ1ZmZlciwgMTYsICIlRVkiLCAmdG0pID09IDQgJiYgc3RyY21wIChidWZmZXIsICIxOTgxIikgPT0gMCkKKy0gICAgICByZXR1cm4gMDsKKy0gICAgcmV0dXJuIDE7CistICB9CistXSwgWworLSAgQUNfREVGSU5FKFtIQVZFX1NUUkZUSU1FX0VYVEVOU0lPTl0sIDEsIFtEZWZpbmUgaWYgc3RyZnRpbWUgc3VwcG9ydHMgJUUgYW5kICVPIG1vZGlmaWVycy5dKQorLV0pCisrZG5sIGdycnJyLi4uICB0aGlzIGRvZXNuJ3Qgd29yayBmb3IgY3Jvc3MgY29tcGlsaW5nLCBkZWZpbmUgaXQgZm9yIE9FCisrQUNfREVGSU5FKFtIQVZFX1NUUkZUSU1FX0VYVEVOU0lPTl0sIDEsIFtEZWZpbmUgaWYgc3RyZnRpbWUgc3VwcG9ydHMgJUUgYW5kICVPIG1vZGlmaWVycy5dKQorK2RubCBBQ19UUllfUlVOKFsKKytkbmwgICAjaW5jbHVkZSA8c3RyaW5nLmg+CisrZG5sICAgI2luY2x1ZGUgPHRpbWUuaD4KKytkbmwgICBpbnQKKytkbmwgICBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisrZG5sICAgeworK2RubCAgICAgc3RydWN0IHRtIHRtOworK2RubCAgICAgY2hhciAgICAgIGJ1ZmZlclsxNl07CisrZG5sICAgICB0bS50bV95ZWFyID0gODE7CisrZG5sICAgICBpZiAoc3RyZnRpbWUgKGJ1ZmZlciwgMTYsICIlRVkiLCAmdG0pID09IDQgJiYgc3RyY21wIChidWZmZXIsICIxOTgxIikgPT0gMCkKKytkbmwgICAgICAgcmV0dXJuIDA7CisrZG5sICAgICByZXR1cm4gMTsKKytkbmwgICB9CisrZG5sIF0sIFsKKytkbmwgICBBQ19ERUZJTkUoW0hBVkVfU1RSRlRJTUVfRVhURU5TSU9OXSwgMSwgW0RlZmluZSBpZiBzdHJmdGltZSBzdXBwb3J0cyAlRSBhbmQgJU8gbW9kaWZpZXJzLl0pCisrZG5sIF0pCisgCisgZG5sICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIGRubCAqKiogQ2hlY2sgZm9yIGkxOG4gc3VwcG9ydCAqKioKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9leG8vZXhvL2V4by1uby10ZXN0cy0wLjgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZXhvL2V4by9leG8tbm8tdGVzdHMtMC44LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFjOGJjYTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZXhvL2V4by9leG8tbm8tdGVzdHMtMC44LnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gNWYxZTE5ODYwZDg5NjQ3NDg4YmRkMzJhMDJmYjMzMmY2OTQzNDQwNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMTggTWF5IDIwMTIgMjE6MTM6MDAgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gRG8gbm90IHJ1biB0ZXN0cyBhdCBidWlsZCB0aW1lCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CitVcHN0cmVhbS1TdGF0dXM6IE5vdC1BcHBsaWNhYmxlCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIE1ha2VmaWxlLmFtIHwgICAgMyArLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KK2luZGV4IDBhYjM4NTMuLjNlNzIzOTEgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5hbQorKysrIGIvTWFrZWZpbGUuYW0KK0BAIC04LDggKzgsNyBAQCBTVUJESVJTID0JCQkJCQkJCVwKKyAJZG9jcwkJCQkJCQkJXAorIAlpY29ucwkJCQkJCQkJXAorIAlwaXhtYXBzCQkJCQkJCQlcCistCXBvCQkJCQkJCQlcCistCXRlc3RzCisrCXBvCisgCisgQVVUT01BS0VfT1BUSU9OUyA9CQkJCQkJCVwKKyAJMS45CQkJCQkJCQlcCistLSAKKzEuNy40LjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2V4by9leG8vcmVkdWNlLWJ1aWxkLXRvLWV4by1jc291cmNlLW9ubHkucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZXhvL2V4by9yZWR1Y2UtYnVpbGQtdG8tZXhvLWNzb3VyY2Utb25seS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNDY1MTFjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2V4by9leG8vcmVkdWNlLWJ1aWxkLXRvLWV4by1jc291cmNlLW9ubHkucGF0Y2gKQEAgLTAsMCArMSw4MiBAQAorRnJvbSBlNzEwZDhkNGEzZTM0ODA0MTY4MjZjNzBkNTZlYTNkMjU5OGE3N2U0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogVGh1LCAyOCBNYXIgMjAxMyAyMzo0MTowMyArMDEwMAorU3ViamVjdDogW1BBVENIXSByZWR1Y2UgYnVpbGQgdG8gZXhvLWNzb3VyY2Ugb25seQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitleG8tY3NvdXJjZSBjcmVhdGVzIGMtaGVhZGVyIGZpbGVzIGZyb20gZ2xhZGUgcmVzb3VyY2Ugb3V0cHV0IGZpbGVzLiBXaGVuCitidWlsZGluZyB4ZmNlLXBhY2thZ2VzIGZyb20gZ2l0IGluc3RlYWQgb2YgdGFyYmFsbCB0aGlzIGV4by1jc291cmNlLW5hdGl2ZSBpcworcmVxdWlyZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgTWFrZWZpbGUuYW0gIHwgMTAgKy0tLS0tLS0tLQorIGNvbmZpZ3VyZS5hYyB8IDIwIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMjkgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZS5hbSBiL01ha2VmaWxlLmFtCitpbmRleCBhZDdjNmNlLi4zYWNkOTRhIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUuYW0KKysrKyBiL01ha2VmaWxlLmFtCitAQCAtMSwxNSArMSw3IEBACisgQUNMT0NBTF9BTUZMQUdTID0gLUkgbTQgJHtBQ0xPQ0FMX0ZMQUdTfQorIAorIFNVQkRJUlMgPQkJCQkJCQkJXAorLQlleG8JCQkJCQkJCVwKKy0JZXhvLWNzb3VyY2UJCQkJCQkJXAorLQlleG8tZGVza3RvcC1pdGVtLWVkaXQJCQkJCQlcCistCWV4by1oZWxwZXIJCQkJCQkJXAorLQlleG8tb3BlbgkJCQkJCQlcCistCWRvY3MJCQkJCQkJCVwKKy0JaWNvbnMJCQkJCQkJCVwKKy0JcGl4bWFwcwkJCQkJCQkJXAorLQlwbworKwlleG8tY3NvdXJjZQorIAorIGRpc3RjbGVhbi1sb2NhbDoKKyAJcm0gLXJmICouY2FjaGUgKn4KK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGJiOWJlMDUuLjIzNDcxZDAgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTExNiwxNSArMTE2LDYgQEAgQUNfUFJPR19DQygpCisgQU1fUFJPR19DQ19DX08oKQorIEFDX1BST0dfSU5TVEFMTCgpCisgSVRfUFJPR19JTlRMVE9PTChbaW50bHRvb2xfbWluaW11bV92ZXJzaW9uXSwgW25vLXhtbF0pCistQUNfQ0hFQ0tfUFJPR1MoW1BFUkxdLCBbcGVybDUgcGVybF0pCistCistZG5sICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorLWRubCAqKiogQ2hlY2sgZm9yIHJlcXVpcmVkIFBlcmwgbW9kdWxlcyAqKioKKy1kbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCistQUNfUFJPR19QRVJMX01PRFVMRVMoW1VSSTo6RXNjYXBlIFVSSTo6ZmlsZSBVUkk6OlVSTF0sIFtdLAorLVsKKy0gIEFDX01TR19FUlJPUihbQXRsZWFzdCBvbmUgb2YgdGhlIHJlcXVpcmVkIFBlcmwgbW9kdWxlcyAoVVJJOjpFc2NhcGUsIFVSSTo6ZmlsZSBhbmQgVVJJOjpVUkwpIHdhcyBub3QgZm91bmQgb24geW91ciBzeXN0ZW1dKQorLV0pCisgCisgZG5sICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIGRubCAqKiogQ2hlY2sgZm9yIHN0YW5kYXJkIGhlYWRlciBmaWxlcyAqKioKK0BAIC0xNzEsMTcgKzE2Miw2IEBAIGRubCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIGRubCAqKiogQ2hlY2sgZm9yIHJlcXVpcmVkIHBhY2thZ2VzICoqKgorIGRubCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIFhEVF9DSEVDS19QQUNLQUdFKFtHTElCXSwgW2dsaWItMi4wXSwgWzIuMzAuMF0pCistWERUX0NIRUNLX1BBQ0tBR0UoW0dJT10sIFtnaW8tMi4wXSwgWzIuMzAuMF0pCistWERUX0NIRUNLX1BBQ0tBR0UoW0dUS10sIFtndGsrLTIuMF0sIFsyLjI0LjBdKQorLVhEVF9DSEVDS19QQUNLQUdFKFtHVEhSRUFEXSwgW2d0aHJlYWQtMi4wXSwgWzIuMzAuMF0pCistWERUX0NIRUNLX1BBQ0tBR0UoW0xJQlhGQ0U0VVRJTF0sIFtsaWJ4ZmNlNHV0aWwtMS4wXSwgWzQuMTAuMF0pCistWERUX0NIRUNLX1BBQ0tBR0UoW0xJQlhGQ0U0VUldLCBbbGlieGZjZTR1aS0xXSwgWzQuMTAuMF0pCistWERUX0NIRUNLX09QVElPTkFMX1BBQ0tBR0UoW0dJT19VTklYXSwgW2dpby11bml4LTIuMF0sIFsyLjMwLjBdLCBbZ2lvLXVuaXhdLCBbR0lPLVVuaXggZmVhdHVyZXNdKQorLQorLWRubCAqKioqKioqKioqKioqKioqKioqKioKKy1kbmwgKioqIENoZWNrIGZvciBYMTEgKioqCistZG5sICoqKioqKioqKioqKioqKioqKioqKgorLVhEVF9DSEVDS19MSUJYMTFfUkVRVUlSRSgpCisgCisgZG5sICoqKioqKioqKioqKioqKioqKioqKioqKioKKyBkbmwgKioqIENoZWNrIGZvciBndGstZG9jICoqKgorLS0gCisxLjkuMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZXhvL2V4b18wLjEwLjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZXhvL2V4b18wLjEwLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjFiNWFlNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9leG8vZXhvXzAuMTAuNi5iYgpAQCAtMCwwICsxLDM2IEBACitERVNDUklQVElPTj0iQXBwbGljYXRpb24gbGlicmFyeSBmb3IgdGhlIFhmY2UgZGVza3RvcCBlbnZpcm9ubWVudCIKK1NFQ1RJT04gPSAieDExIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorREVQRU5EUyA9ICJndGsrIGxpYnhmY2U0dXRpbCBsaWJ4ZmNlNHVpIHZpcnR1YWwvbGlieDExIGxpYnVyaS1wZXJsLW5hdGl2ZSBjYWlybyIKK0RFUEVORFNfY2xhc3MtbmF0aXZlID0gImdsaWItMi4wLW5hdGl2ZSB4ZmNlNC1kZXYtdG9vbHMtbmF0aXZlIGludGx0b29sLW5hdGl2ZSIKKworaW5oZXJpdCB4ZmNlIHB5dGhvbm5hdGl2ZSBwZXJsbmF0aXZlIGd0ay1kb2MKKworIyBTUkNfVVJJIG11c3QgZm9sbG93IGluaGVyaXRlZCBvbmUKK1NSQ19VUkkgKz0gIiBcCisgICAgZmlsZTovL2V4by1uby10ZXN0cy0wLjgucGF0Y2ggXAorICAgIGZpbGU6Ly9jb25maWd1cmUucGF0Y2ggXAorIgorCitTUkNfVVJJX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIFwKKyAgICBmaWxlOi8vcmVkdWNlLWJ1aWxkLXRvLWV4by1jc291cmNlLW9ubHkucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiODk1ZTRmMzhkMmNmZTU4ZDY5Njc5ZTI5MDJhMzM1YTUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWNjMGU1YTQzMmUwNTBhNWU1YWE2NGQxMjZiOTg4ZjQ0NDBkYTRmMjc0NzRhYWY0MmE0ZDhlMTM2NTFkMDc1MiIKKworUEFDS0FHRVMgPSsgImV4by1jc291cmNlIgorCisjIE5vdGU6IHB5dGhvbiBiaW5kaW5ncyBkaWQgbm90IHdvcmsgaW4gb2UtZGV2IGFuZCBhcmUgYWJvdXQgdG8gYmUgbW92ZWQgdG8KKyMgcHl4ZmNlIHNlZSBodHRwOi8vY29tbWVudHMuZ21hbmUub3JnL2dtYW5lLmNvbXAuZGVza3RvcC54ZmNlLmRldmVsLnZlcnNpb240LzE5NTYwCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS94ZmNlNC8gXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS94ZmNlNC9leG8tMSBcCisiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2dpby9tb2R1bGVzLy5kZWJ1ZyBcCisiCisKK0ZJTEVTX2V4by1jc291cmNlICs9ICIke2JpbmRpcn0vZXhvLWNzb3VyY2UiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2dhcmNvbi9maWxlcy8wMDAxLXhmY2UtYXBwbGljYXRpb25zLm1lbnUtZG9uLXQtYmxvYXQtc2V0dGluZ3MtbWVudS1ieS0ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZ2FyY29uL2ZpbGVzLzAwMDEteGZjZS1hcHBsaWNhdGlvbnMubWVudS1kb24tdC1ibG9hdC1zZXR0aW5ncy1tZW51LWJ5LS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNWFkNGUxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2dhcmNvbi9maWxlcy8wMDAxLXhmY2UtYXBwbGljYXRpb25zLm1lbnUtZG9uLXQtYmxvYXQtc2V0dGluZ3MtbWVudS1ieS0ucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorRnJvbSBmNTM5OGI0OWNjNmZkN2E1MzU2MmFhZTJhYmJhYzBkOWM2NTY1NTljIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogV2VkLCAxNSBNYXkgMjAxMyAxNDoxNzo0OSArMDIwMAorU3ViamVjdDogW2dhcmNvbl0geGZjZS1hcHBsaWNhdGlvbnMubWVudTogZG9uJ3QgYmxvYXQgc2V0dGluZ3MgbWVudSBieQorIGVudHJpZXMgZm91bmQgaW4gc2V0dGluZ3MgbWFuYWdlcgorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbMV0KKworWzFdIGh0dHBzOi8vYnVnemlsbGEueGZjZS5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDkyCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIGRhdGEveGZjZS94ZmNlLWFwcGxpY2F0aW9ucy5tZW51IHwgICAgMyArKysKKyAxIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2RhdGEveGZjZS94ZmNlLWFwcGxpY2F0aW9ucy5tZW51IGIvZGF0YS94ZmNlL3hmY2UtYXBwbGljYXRpb25zLm1lbnUKK2luZGV4IGRjMzA1NmIuLmMyYWEwYmIgMTAwNjQ0CistLS0gYS9kYXRhL3hmY2UveGZjZS1hcHBsaWNhdGlvbnMubWVudQorKysrIGIvZGF0YS94ZmNlL3hmY2UtYXBwbGljYXRpb25zLm1lbnUKK0BAIC0zNCw2ICszNCw5IEBACisgICAgICAgICA8SW5jbHVkZT4KKyAgICAgICAgICAgICA8Q2F0ZWdvcnk+U2V0dGluZ3M8L0NhdGVnb3J5PgorICAgICAgICAgPC9JbmNsdWRlPgorKyAgICAgICAgPEV4Y2x1ZGU+CisrICAgICAgICAgICAgPENhdGVnb3J5PlgtWEZDRS1TZXR0aW5nc0RpYWxvZzwvQ2F0ZWdvcnk+CisrICAgICAgICA8L0V4Y2x1ZGU+CisgCisgICAgICAgICA8TGF5b3V0PgorICAgICAgICAgICAgIDxGaWxlbmFtZT54ZmNlLXNldHRpbmdzLW1hbmFnZXIuZGVza3RvcDwvRmlsZW5hbWU+CistLSAKKzEuNy42LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2dhcmNvbi9nYXJjb25fMC40LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZ2FyY29uL2dhcmNvbl8wLjQuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MWY2Y2UxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2dhcmNvbi9nYXJjb25fMC40LjAuYmIKQEAgLTAsMCArMSwxMyBAQAorREVTQ1JJUFRJT049IlhmY2UgTWVudSBMaWJyYXJ5IgorU0VDVElPTiA9ICJ4MTEvbGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDRhMDFhYmNiZGFiZmZhZTFjYTI2MzM1YTI5MzI3NmIiCitERVBFTkRTID0gInhmY2U0LWRldi10b29scy1uYXRpdmUgbGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgaW50bHRvb2wtbmF0aXZlIgorCitpbmhlcml0IHhmY2UgZ3RrLWRvYworCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS14ZmNlLWFwcGxpY2F0aW9ucy5tZW51LWRvbi10LWJsb2F0LXNldHRpbmdzLW1lbnUtYnktLnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gImFiYTYyYjgwNzg3YWFjMjk1MDgzYmY3YWZkNDE5ZmZiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc4N2RjODU5NzEzYjY1MTg5OTJkNzYwZDRiODU4ZmIwMmU4YTMwNzA1ZTZmNmU4NzFkN2ExNGNjOTdiY2E5NzIiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2Rlc2t0b3AtZGlyZWN0b3JpZXMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZ3RrLXhmY2UtZW5naW5lL2d0ay14ZmNlLWVuZ2luZV8zLjIuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9ndGsteGZjZS1lbmdpbmUvZ3RrLXhmY2UtZW5naW5lXzMuMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5ODM1YWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZ3RrLXhmY2UtZW5naW5lL2d0ay14ZmNlLWVuZ2luZV8zLjIuMC5iYgpAQCAtMCwwICsxLDI2IEBACitTVU1NQVJZID0gIlhGQ0UgdGhlbWUgZm9yIEdUSyIKK1NFQ1RJT04gPSAieDExL2xpYnMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCitERVBFTkRTID0gImd0aysgeGZjZTQtZGV2LXRvb2xzLW5hdGl2ZSIKKworaW5oZXJpdCB4ZmNlCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzNjNkNmMxNmE0OGEwMGUyNmQ0NWM0NWMyZTFmZDczOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4NzVjOWMzYmRhOTZmYWYwNTBhMjIyNDY0OWNjNDIxMjlmZmI2NjJjNGRlMzNhZGQ4YzBmZDFmYjg2MGI0N2VkIgorCitQQUNLQUdFQ09ORklHID8/PSAiZ3RrMyIKK1BBQ0tBR0VDT05GSUdbZ3RrM10gPSAiLS1lbmFibGUtZ3RrMywtLWRpc2FibGUtZ3RrMywgZ3RrKzMsIGd0azMteGZjZS1lbmdpbmUiCisKK1BBQ0tBR0VTICs9ICIke1BOfS10aGVtZXMgZ3RrMy14ZmNlLWVuZ2luZSIKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vZ3RrLTIuMC8qL2VuZ2luZXMvKi5zbyIKK0ZJTEVTX2d0azMteGZjZS1lbmdpbmUgKz0gIiR7bGliZGlyfS9ndGstMy4wLyovdGhlbWluZy1lbmdpbmVzLyouc28iCitGSUxFU18ke1BOfS10aGVtZXMgKz0gIiR7ZGF0YWRpcn0vdGhlbWVzIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9ndGstMy4wLyovdGhlbWluZy1lbmdpbmVzLy5kZWJ1ZyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9ndGstMi4wLyovZW5naW5lcy8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9ndGstMi4wLyovZW5naW5lcy8qLmxhIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2d0ay0zLjAvKi90aGVtaW5nLWVuZ2luZXMvKi5sYSIKKworUkRFUEVORFNfJHtQTn0gKz0gIiR7UE59LXRoZW1lcyIKK1JERVBFTkRTX2d0azMteGZjZS1lbmdpbmUgKz0gIiR7UE59LXRoZW1lcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9saWJ4ZmNlNHVpL2ZpbGVzLzAwMDEtbGlieGZjZTRrYmQtcHJpdmF0ZS14ZmNlNC1rZXlib2FyZC1zaG9ydGN1dHMueG1sLWZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9saWJ4ZmNlNHVpL2ZpbGVzLzAwMDEtbGlieGZjZTRrYmQtcHJpdmF0ZS14ZmNlNC1rZXlib2FyZC1zaG9ydGN1dHMueG1sLWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOGM5MTc4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2xpYnhmY2U0dWkvZmlsZXMvMDAwMS1saWJ4ZmNlNGtiZC1wcml2YXRlLXhmY2U0LWtleWJvYXJkLXNob3J0Y3V0cy54bWwtZml4LnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gNzA4ZTU5Y2FhZjFjMGMyNzFhOTZhNGQxZmU0NmIxMjJhZmY0NWUzNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMjcgQXVnIDIwMTIgMDk6MTY6MjkgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gbGlieGZjZTRrYmQtcHJpdmF0ZS94ZmNlNC1rZXlib2FyZC1zaG9ydGN1dHMueG1sOiBmaXggeGZ3bTQKKyBjcmFzaCBvbiBmaXJzdCBzdGFydAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIGxpYnhmY2U0a2JkLXByaXZhdGUveGZjZTQta2V5Ym9hcmQtc2hvcnRjdXRzLnhtbCB8ICAgIDQgKysrKworIDEgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGlieGZjZTRrYmQtcHJpdmF0ZS94ZmNlNC1rZXlib2FyZC1zaG9ydGN1dHMueG1sIGIvbGlieGZjZTRrYmQtcHJpdmF0ZS94ZmNlNC1rZXlib2FyZC1zaG9ydGN1dHMueG1sCitpbmRleCA3MjNhMTBkLi5lNjUwMmYzIDEwMDY0NAorLS0tIGEvbGlieGZjZTRrYmQtcHJpdmF0ZS94ZmNlNC1rZXlib2FyZC1zaG9ydGN1dHMueG1sCisrKysgYi9saWJ4ZmNlNGtiZC1wcml2YXRlL3hmY2U0LWtleWJvYXJkLXNob3J0Y3V0cy54bWwKK0BAIC02Niw0ICs2Niw4IEBACisgICAgICAgPHByb3BlcnR5IG5hbWU9IiZsdDtDb250cm9sJmd0O0YxMiIgdHlwZT0ic3RyaW5nIiB2YWx1ZT0id29ya3NwYWNlXzEyX2tleSIvPgorICAgICA8L3Byb3BlcnR5PgorICAgPC9wcm9wZXJ0eT4KKysgIDxwcm9wZXJ0eSBuYW1lPSJwcm92aWRlcnMiIHR5cGU9ImFycmF5Ij4KKysgICAgPHZhbHVlIHR5cGU9InN0cmluZyIgdmFsdWU9ImNvbW1hbmRzIi8+CisrICAgIDx2YWx1ZSB0eXBlPSJzdHJpbmciIHZhbHVlPSJ4ZndtNCIvPgorKyAgPC9wcm9wZXJ0eT4KKyA8L2NoYW5uZWw+CistLSAKKzEuNy42LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2xpYnhmY2U0dWkvbGlieGZjZTR1aV80LjEyLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvbGlieGZjZTR1aS9saWJ4ZmNlNHVpXzQuMTIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MjNjMjBkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2xpYnhmY2U0dWkvbGlieGZjZTR1aV80LjEyLjEuYmIKQEAgLTAsMCArMSwzMyBAQAorU1VNTUFSWSA9ICJYZmNlNCBXaWRnZXQgbGlicmFyeSBhbmQgWCBXaW5kb3cgU3lzdGVtIGludGVyYWN0aW9uIgorU0VDVElPTiA9ICJ4MTEvbGlicyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yNTI4OTBkOWVlZTI2YWFiN2I0MzJlOGI4YTYxNjQ3NSIKK0RFUEVORFMgPSAicGVybC1uYXRpdmUgZ2xpYi0yLjAgZ3RrKyBndGsrMyBpbnRsdG9vbCBsaWJ4ZmNlNHV0aWwgeGZjb25mIHhmY2U0LWRldi10b29scyB2aXJ0dWFsL2xpYngxMSBsaWJzbSBsaWJpY2UiCisKK2luaGVyaXQgeGZjZSBhdXRvdG9vbHMgZ2V0dGV4dCBndGstZG9jCisKK1NSQ19VUkkgKz0gIiBcCisgICAgZmlsZTovLzAwMDEtbGlieGZjZTRrYmQtcHJpdmF0ZS14ZmNlNC1rZXlib2FyZC1zaG9ydGN1dHMueG1sLWZpeC5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiZWE5ZmFkN2QwNTlmZThmNTMxZmU4ZGI0MmRhYmI1YTkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2Q2MTk4MTFiZmJlNzQ3OGJiOTg0YzE2NTQzZDk4MGNhZGQwODU4NjM2NWE3YmMyNWU1OWUzY2E2Mzg0ZmY0MyIKKworRVhUUkFfT0VDT05GICs9ICItLXdpdGgtdmVuZG9yLWluZm89JHtESVNUUk99IgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tnbGFkZXVpXSA9ICItLWVuYWJsZS1nbGFkZXVpLC0tZGlzYWJsZS1nbGFkZXVpLGdsYWRlMyIKK1BBQ0tBR0VDT05GSUdbc3RhcnR1cC1ub3RpZmljYXRpb25dID0gIi0tZW5hYmxlLXN0YXJ0dXAtbm90aWZpY2F0aW9uLC0tZGlzYWJsZS1zdGFydHVwLW5vdGlmaWNhdGlvbixzdGFydHVwLW5vdGlmaWNhdGlvbiIKKworUEFDS0FHRVMgPSsgIiR7UE59LWd0azIgJHtQTn0tZ3RrMyIKK0ZJTEVTXyR7UE59LWd0azIgKz0gIiR7bGliZGlyfS9saWJ4ZmNlNHVpLTEuc28uKiAke2xpYmRpcn0vbGlieGZjZTRrYmQtcHJpdmF0ZS0yLnNvLioiCitGSUxFU18ke1BOfS1ndGszICs9ICIke2xpYmRpcn0vbGlieGZjZTR1aS0yLnNvLiogJHtsaWJkaXJ9L2xpYnhmY2U0a2JkLXByaXZhdGUtMy5zby4qIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9nbGFkZTMvbW9kdWxlcy8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9nbGFkZTMvbW9kdWxlcy8qLmxhIFwKKyAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2dsYWRlMy9jYXRhbG9ncy8qLmluIgorUEFDS0FHRVMgKz0gIiR7UE59LWdsYWRlIgorRklMRVNfJHtQTn0tZ2xhZGUgPSAiJHtsaWJkaXJ9L2dsYWRlMyBcCisgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2dsYWRlMyIKKworUkRFUEVORFNfJHtQTn0tZ3RrMiA9ICIke1BOfSIKK1JERVBFTkRTXyR7UE59LWd0azMgPSAiJHtQTn0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvbGlieGZjZTR1dGlsL2xpYnhmY2U0dXRpbF80LjEyLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvbGlieGZjZTR1dGlsL2xpYnhmY2U0dXRpbF80LjEyLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDk4NWEwMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9saWJ4ZmNlNHV0aWwvbGlieGZjZTR1dGlsXzQuMTIuMS5iYgpAQCAtMCwwICsxLDEwIEBACitTVU1NQVJZID0gIkJhc2ljIHV0aWxpdHkgbGlicmFyeSBmb3IgWGZjZTQiCitTRUNUSU9OID0gIngxMS9saWJzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTI1Mjg5MGQ5ZWVlMjZhYWI3YjQzMmU4YjhhNjE2NDc1IgorREVQRU5EUyA9ICJpbnRsdG9vbC1uYXRpdmUgeGZjZTQtZGV2LXRvb2xzLW5hdGl2ZSBnbGliLTIuMCIKKworaW5oZXJpdCB4ZmNlIGd0ay1kb2MKKworU1JDX1VSSVttZDVzdW1dID0gIjRlYjAxMmI2YzEyOTJjZWVkYjNhODNlYmZjMWZmMDhkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjg3NmJkZWZhMmUxM2NiZjY4YjYyNmIyMTU4ODkyZmI5M2U4MjRlMWVmNTljZjk1MTEyM2E5NmNlZmJjODg4MWQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAteGZjZS1iYXNlLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXhmY2UtYmFzZS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOGNmYzdmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXhmY2UtYmFzZS5iYgpAQCAtMCwwICsxLDM1IEBACitTVU1NQVJZID0gIkFsbCBwYWNrYWdlcyByZXF1aXJlZCBmb3IgYSBiYXNlIGluc3RhbGxhdGlvbiBvZiBYRkNFIgorU0VDVElPTiA9ICJ4MTEvd20iCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L0xJQ0VOU0U7bWQ1PTRkOTJjZDM3M2FiZGEzOTM3YzJiYzQ3ZmJjNDlkNjkwIgorUFIgPSAicjUiCisKK2luaGVyaXQgcGFja2FnZWdyb3VwCisKK1JERVBFTkRTXyR7UE59ID0gIiBcCisgICAgeGZ3bTQgXAorICAgIHhmY2U0LXNlc3Npb24gXCAgICAgCisgICAgeGZjb25mIFwKKyAgICB4ZmRlc2t0b3AgXAorICAgIHhmY2U0LXBhbmVsIFwKKyAgICBcCisgICAgZ3RrLXhmY2UtZW5naW5lIFwKKyAgICBcCisgICAgeGZjZTQtcGFuZWwtcGx1Z2luLWFjdGlvbnMgXAorICAgIHhmY2U0LXBhbmVsLXBsdWdpbi1hcHBsaWNhdGlvbnNtZW51IFwKKyAgICB4ZmNlNC1wYW5lbC1wbHVnaW4tY2xvY2sgXAorICAgIHhmY2U0LXBhbmVsLXBsdWdpbi1kaXJlY3RvcnltZW51IFwKKyAgICB4ZmNlNC1wYW5lbC1wbHVnaW4tbGF1bmNoZXIgXAorICAgIHhmY2U0LXBhbmVsLXBsdWdpbi1wYWdlciBcCisgICAgeGZjZTQtcGFuZWwtcGx1Z2luLXNlcGFyYXRvciBcCisgICAgeGZjZTQtcGFuZWwtcGx1Z2luLXNob3dkZXNrdG9wIFwKKyAgICB4ZmNlNC1wYW5lbC1wbHVnaW4tc3lzdHJheSBcCisgICAgeGZjZTQtcGFuZWwtcGx1Z2luLXRhc2tsaXN0IFwKKyAgICB4ZmNlNC1wYW5lbC1wbHVnaW4td2luZG93bWVudSBcICAgCisgICAgeGZjZTQtc2V0dGluZ3MgXAorICAgIFwKKyAgICB4ZmNlNC1ub3RpZnlkIFwKKyAgICB4ZmNlNC10ZXJtaW5hbCBcCisgICAgdGh1bmFyIFwKKyAgICB0aHVuYXItdm9sbWFuIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC14ZmNlLWV4dGVuZGVkLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXhmY2UtZXh0ZW5kZWQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzA3MTg4ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC14ZmNlLWV4dGVuZGVkLmJiCkBAIC0wLDAgKzEsNjggQEAKK1NVTU1BUlkgPSAiQWxsIHBhY2thZ2VzIGZvciBmdWxsIFhGQ0UgaW5zdGFsbGF0aW9uIgorU0VDVElPTiA9ICJ4MTEvd20iCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L0xJQ0VOU0U7bWQ1PTRkOTJjZDM3M2FiZGEzOTM3YzJiYzQ3ZmJjNDlkNjkwIgorCitQUiA9ICJyMTAiCisKK2luaGVyaXQgcGFja2FnZWdyb3VwCisKKyMgbWFuZGF0b3J5CitSREVQRU5EU18ke1BOfSA9ICIgXAorICAgIHBhY2thZ2Vncm91cC14ZmNlLWJhc2UgXAorIgorCisjIG5pY2UgdG8gaGF2ZQorUlJFQ09NTUVORFNfJHtQTn0gPSAiIFwKKyAgICB4ZndtNC10aGVtZS1kYWxvYSBcCisgICAgeGZ3bTQtdGhlbWUta29rb2RpIFwKKyAgICB4ZndtNC10aGVtZS1tb2hlbGkgXAorICAgIFwKKyAgICB4ZmNlLWR1c2stZ3RrMyBcCisgICAgXAorICAgIHhmY2U0LWNwdWZyZXEtcGx1Z2luIFwKKyAgICB4ZmNlNC1jcHVncmFwaC1wbHVnaW4gXAorICAgIHhmY2U0LWRhdGV0aW1lLXBsdWdpbiBcCisgICAgeGZjZTQtZXllcy1wbHVnaW4gXAorICAgIHhmY2U0LWNsaXBtYW4tcGx1Z2luIFwKKyAgICB4ZmNlNC1kaXNrcGVyZi1wbHVnaW4gXAorICAgIHhmY2U0LW5ldGxvYWQtcGx1Z2luIFwKKyAgICB4ZmNlNC1nZW5tb24tcGx1Z2luIFwKKyAgICB4ZmNlNC14a2ItcGx1Z2luIFwKKyAgICB4ZmNlNC13YXZlbGFuLXBsdWdpbiBcCisgICAgeGZjZTQtcGxhY2VzLXBsdWdpbiBcCisgICAgeGZjZTQtc3lzdGVtbG9hZC1wbHVnaW4gXAorICAgIHhmY2U0LXRpbWUtb3V0LXBsdWdpbiBcCisgICAgeGZjZTQtdGltZXItcGx1Z2luIFwKKyAgICB4ZmNlNC1lbWJlZC1wbHVnaW4gXAorICAgIHhmY2U0LXdlYXRoZXItcGx1Z2luIFwKKyAgICB4ZmNlNC1mc2d1YXJkLXBsdWdpbiBcCisgICAgeGZjZTQtYmF0dGVyeS1wbHVnaW4gXAorICAgIHhmY2U0LW1vdW50LXBsdWdpbiBcCisgICAgeGZjZTQtcG93ZXJtYW5hZ2VyLXBsdWdpbiBcCisgICAgeGZjZTQtY2xvc2VidXR0b24tcGx1Z2luIFwKKyAgICB4ZmNlNC1lcXVha2UtcGx1Z2luIFwKKyAgICB4ZmNlNC1ub3Rlcy1wbHVnaW4gXAorICAgIHhmY2U0LXdoaXNrZXJtZW51LXBsdWdpbiBcCisgICAgeGZjZTQtbWFpbHdhdGNoLXBsdWdpbiBcCisgICAgeGZjZTQta2JkbGVkcy1wbHVnaW4gXAorICAgIHhmY2U0LXNtYXJ0Ym9va21hcmstcGx1Z2luIFwKKyAgICB4ZmNlNC1ob3Rjb3JuZXItcGx1Z2luIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3B1bHNlYXVkaW8nLCAneGZjZTQtcHVsc2VhdWRpby1wbHVnaW4nLCAnJywgZCl9IFwKKyAgICB4ZmNlNC1zZW5zb3JzLXBsdWdpbiBcCisgICAgeGZjZTQtY2FsY3VsYXRvci1wbHVnaW4gXAorICAgIHhmY2U0LXZlcnZlLXBsdWdpbiBcCisgICAgXAorICAgIHhmY2UtcG9sa2l0IFwKKyAgICBcCisgICAgdGh1bmFyLW1lZGlhLXRhZ3MtcGx1Z2luIFwKKyAgICB0aHVuYXItYXJjaGl2ZS1wbHVnaW4gXAorICAgIFwKKyAgICB4ZmNlNC1hcHBmaW5kZXIgXAorICAgIHhmY2U0LXNjcmVlbnNob290ZXIgXAorICAgIHhmY2U0LXBvd2VyLW1hbmFnZXIgXAorICAgIHhmY2U0LW1peGVyIFwKKyAgICByaXN0cmV0dG8gXAorICAgIHhmY2U0LXRhc2ttYW5hZ2VyIFwKKyAgICBnaWdvbG8gXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3RodW5hci12b2xtYW4vdGh1bmFyLXZvbG1hbl8wLjguMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS90aHVuYXItdm9sbWFuL3RodW5hci12b2xtYW5fMC44LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDhlNmY1YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS90aHVuYXItdm9sbWFuL3RodW5hci12b2xtYW5fMC44LjEuYmIKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJBdXRvbWF0aWMgbWFuYWdlbWVudCBvZiByZW1vdmFibGUgZHJpdmVzIGFuZCBtZWRpYSBmb3IgdGh1bmFyIgorU0VDVElPTiA9ICJ4MTEiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCitERVBFTkRTID0gImV4byBnbGliLTIuMCBndGsrIGxpYnhmY2U0dWkgbGlieGZjZTR1dGlsIHhmY29uZiBsaWJub3RpZnkgbGliZ3VkZXYiCisKK2luaGVyaXQgeGZjZQorCitTUkNfVVJJW21kNXN1bV0gPSAiNjVhYjZlMDViMmU4MDhkMWRjYzhkMzY2ODNhNTliN2UiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWEwOGJiNWNlMzJjMjk2YTY0ZGZiZGIyNDA2ZDRlNDVhMjA4YjJjOTFlNGVmYTgzMWRjMjhmMWQ2YzJhYzJiZCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbbm90aWZ5XSA9ICItLWVuYWJsZS1ub3RpZmljYXRpb25zLC0tZGlzYWJsZS1ub3RpZmljYXRpb25zLGxpYm5vdGlmeSIKKworUkRFUEVORFNfJHtQTn0gPSAiZWplY3QiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvdGh1bmFyL3RodW5hcl8xLjYuMTAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvdGh1bmFyL3RodW5hcl8xLjYuMTAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTQ4NTkyNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS90aHVuYXIvdGh1bmFyXzEuNi4xMC5iYgpAQCAtMCwwICsxLDMzIEBACitTVU1NQVJZID0gIkZpbGUgbWFuYWdlciBmb3IgdGhlIFhmY2UgRGVza3RvcCBFbnZpcm9ubWVudCIKK1NFQ1RJT04gPSAieDExIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorREVQRU5EUyA9ICJleG8gZ2xpYi0yLjAgZ3RrKyBnZGstcGl4YnVmIGxpYnhmY2U0dXRpbCBsaWJ4ZmNlNHVpIHhmY29uZiBsaWJzbSBkYnVzLWdsaWIgc3RhcnR1cC1ub3RpZmljYXRpb24gbGlibm90aWZ5IHhmY2U0LXBhbmVsIHVkZXYiCisKK2luaGVyaXQgeGZjZQorCitTUkNfVVJJID0gImh0dHA6Ly9hcmNoaXZlLnhmY2Uub3JnL3NyYy94ZmNlLyR7QlBOfS8ke0AnJHtQVn0nWzA6M119L1RodW5hci0ke1BWfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gIjMwODllMWRjYTZlNDA4NjQxYjA3Y2Q5Yzc1OWRlYTVlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdlOWQyNDA2NzI2ODkwMGU1ZTQ0ZDMzMjVlNjBhMWEyYjJmOGY1NTZlYzIzOGVjMTI1NzRmYmVhMTVmZGVlOGEiCisKK1MgPSAiJHtXT1JLRElSfS9UaHVuYXItJHtQVn0vIgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1twY3JlXSA9ICItLWVuYWJsZS1wY3JlLC0tZGlzYWJsZS1wY3JlLGxpYnBjcmUiCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7bGliZGlyfS90aHVuYXJ4LTIvKiBcCisgICAgJHtsaWJkaXJ9L3hmY2U0L3BhbmVsL3BsdWdpbnMvKiBcCisgICAgJHtsaWJkaXJ9L1RodW5hci9bVHRdaHVuYXIqIFwKKyAgICAke2RhdGFkaXJ9L2FwcGRhdGEgXAorICAgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKKyAgICAke2RhdGFkaXJ9L3BvbGtpdC0xIFwKKyAgICAke2RhdGFkaXJ9L1RodW5hciBcCisgICAgJHtkYXRhZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLyogXAorIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS90aHVuYXJ4LTIvLmRlYnVnLyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLy5kZWJ1Zy8gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vVGh1bmFyLy5kZWJ1Zy8iCisKK1JSRUNPTU1FTkRTXyR7UE59ID0gImd2ZnMgZ3Zmc2QtdHJhc2giCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvdHVtYmxlci90dW1ibGVyLzAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmlnLWZvci1mcmVldHlwZTIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvdHVtYmxlci90dW1ibGVyLzAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmlnLWZvci1mcmVldHlwZTIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWVjYzM1ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS90dW1ibGVyL3R1bWJsZXIvMDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25maWctZm9yLWZyZWV0eXBlMi5wYXRjaApAQCAtMCwwICsxLDQ1IEBACitGcm9tIGY1YzI4M2IxMjUxYWQwMDVkYTczNDJlNjU0Y2QyZWM1YWU5ZTVmYjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBGcmksIDI2IFNlcCAyMDE0IDEzOjQ0OjM2ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZTogdXNlIHBrZy1jb25maWcgZm9yIGZyZWV0eXBlMgorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitVcHN0cmVhbS1zdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgYWNpbmNsdWRlLm00IHwgMTYgKy0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMTUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9hY2luY2x1ZGUubTQgYi9hY2luY2x1ZGUubTQKK2luZGV4IDY2ZTc5ZDEuLjRjNzBiMDAgMTAwNjQ0CistLS0gYS9hY2luY2x1ZGUubTQKKysrKyBiL2FjaW5jbHVkZS5tNAorQEAgLTUyLDIxICs1Miw3IEBAIGlmIHRlc3QgeCIkYWNfdHVtYmxlcl9mb250X3RodW1ibmFpbGVyIiA9IHgieWVzIjsgdGhlbgorICAgUEtHX0NIRUNLX01PRFVMRVMoW0dES19QSVhCVUZdLCBbZ2RrLXBpeGJ1Zi0yLjAgPj0gMi4xNF0sIAorICAgWworICAgICBkbmwgQ2hlY2sgZm9yIEZyZWVUeXBlIDIueAorLSAgICBGUkVFVFlQRV9MSUJTPSIiCistICAgIEZSRUVUWVBFX0NGTEFHUz0iIgorLSAgICBBQ19QQVRIX1BST0coW0ZSRUVUWVBFX0NPTkZJR10sIFtmcmVldHlwZS1jb25maWddLCBbbm9dKQorLSAgICBpZiB0ZXN0IHgiJEZSRUVUWVBFX0NPTkZJRyIgIT0geCJubyI7IHRoZW4KKy0gICAgICBBQ19NU0dfQ0hFQ0tJTkcoW0ZSRUVUWVBFX0NGTEFHU10pCistICAgICAgRlJFRVRZUEVfQ0ZMQUdTPSJgJEZSRUVUWVBFX0NPTkZJRyAtLWNmbGFnc2AiCistICAgICAgQUNfTVNHX1JFU1VMVChbJEZSRUVUWVBFX0NGTEFHU10pCistICAgIAorLSAgICAgIEFDX01TR19DSEVDS0lORyhbRlJFRVRZUEVfTElCU10pCistICAgICAgRlJFRVRZUEVfTElCUz0iYCRGUkVFVFlQRV9DT05GSUcgLS1saWJzYCIKKy0gICAgICBBQ19NU0dfUkVTVUxUKFskRlJFRVRZUEVfTElCU10pCistICAgIGVsc2UKKy0gICAgICBkbmwgV2UgY2FuIG9ubHkgYnVpbGQgdGhlIGZvbnQgdGh1bWJuYWlsZXIgaWYgRnJlZVR5cGUgMi54IGlzIGF2YWlsYWJsZQorLSAgICAgIGFjX3R1bWJsZXJfZm9udF90aHVtYm5haWxlcj1ubworLSAgICBmaQorKyAgICBQS0dfQ0hFQ0tfTU9EVUxFUyhGUkVFVFlQRSwgZnJlZXR5cGUyLCAsIFthY190dW1ibGVyX2ZvbnRfdGh1bWJuYWlsZXI9bm9dKQorICAgICBBQ19TVUJTVChbRlJFRVRZUEVfQ0ZMQUdTXSkKKyAgICAgQUNfU1VCU1QoW0ZSRUVUWVBFX0xJQlNdKQorICAgXSwgW2FjX3R1bWJsZXJfZm9udF90aHVtYm5haWxlcj1ub10pCistLSAKKzEuOC4zLjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3R1bWJsZXIvdHVtYmxlcl8wLjEuMzEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvdHVtYmxlci90dW1ibGVyXzAuMS4zMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NjM4NWE0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3R1bWJsZXIvdHVtYmxlcl8wLjEuMzEuYmIKQEAgLTAsMCArMSwyOSBAQAorREVTQ1JJUFRJT049IlRodW1ibmFpbCBzZXJ2aWNlIGltcGxlbWVudGluZyB0aGUgdGh1bWJuYWlsIG1hbmFnZW1lbnQgRC1CdXMgc3BlY2lmaWNhdGlvbiIKK1NFQ1RJT04gPSAieDExL2xpYnMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCitERVBFTkRTID0gImRidXMtZ2xpYiBmcmVldHlwZSBnZGstcGl4YnVmIHBvcHBsZXIgY3VybCB4ZmNlNC1kZXYtdG9vbHMtbmF0aXZlIGxpYnhtbDIgbGliZ3NmIgorCitpbmhlcml0IHhmY2UgZ3RrLWRvYworCitTUkNfVVJJW21kNXN1bV0gPSAiMDA2NzA1NGU2ZjFmOTBhMTNmOTBmYWFkZmNhMWU4OWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDBmZDMyOTI3M2ZmNmFjOTg4ODVlYWRlNGMzZDhjODdhNGRkMDgxNmY3MTM2NDYxMzA4MDhiZmE5MGI4NzE3MyIKK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItZnJlZXR5cGUyLnBhdGNoIgorCitJTlNBTkVfU0tJUF8ke1BOfSA9ICJkZXYtc28iCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2dzdHJlYW1lci10aHVtYm5haWxlcl0gPSAiLS1lbmFibGUtZ3N0cmVhbWVyLXRodW1ibmFpbGVyLC0tZGlzYWJsZS1nc3RyZWFtZXItdGh1bWJuYWlsZXIsZ3N0cmVhbWVyMS4wIGdzdHJlYW1lcjEuMC1wbHVnaW5zLWJhc2UiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RidXMtMS9zZXJ2aWNlcyBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3R1bWJsZXItMS90dW1ibGVyZCBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3R1bWJsZXItMS9wbHVnaW5zLyouc28gXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS90dW1ibGVyLTEvcGx1Z2lucy9jYWNoZS8qLnNvIFwKKyIKKworRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vdHVtYmxlci0xL3BsdWdpbnMvKi5sYSBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS90dW1ibGVyLTEvcGx1Z2lucy9jYWNoZS8qLmxhIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vdHVtYmxlci0xLy5kZWJ1ZyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS90dW1ibGVyLTEvcGx1Z2lucy8uZGVidWcgXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vdHVtYmxlci0xL3BsdWdpbnMvY2FjaGUvLmRlYnVnIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1hcHBmaW5kZXIveGZjZTQtYXBwZmluZGVyXzQuMTIuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1hcHBmaW5kZXIveGZjZTQtYXBwZmluZGVyXzQuMTIuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OWUwNmRhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LWFwcGZpbmRlci94ZmNlNC1hcHBmaW5kZXJfNC4xMi4wLmJiCkBAIC0wLDAgKzEsMTIgQEAKK0RFU0NSSVBUSU9OPSJYZmNlNCBBcHBsaWNhdGlvbiBGaW5kZXIiCitTRUNUSU9OID0gIngxMSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKK0RFUEVORFM9ImdsaWItMi4wIGd0aysgbGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgZ2FyY29uIGRidXMtZ2xpYiB4ZmNvbmYiCisKK2luaGVyaXQgeGZjZQorCitTUkNfVVJJW21kNXN1bV0gPSAiMGIyMzhiMzA2ODYzODhjNTA3YzExOWIxMjY2NGYxYTEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmFkNGE1ODAxOWE3NmE2YjY0YTgxNjA1MGRiMjVmOTY4NTQ5MTdjMmYyZTg5ZDZhOWRmNmMxOGU2Yzg0YzU2NyIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vYXBwZGF0YSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1kZXYtdG9vbHMveGZjZTQtZGV2LXRvb2xzXzQuMTIuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1kZXYtdG9vbHMveGZjZTQtZGV2LXRvb2xzXzQuMTIuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTU3ZjZkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LWRldi10b29scy94ZmNlNC1kZXYtdG9vbHNfNC4xMi4wLmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiWGZjZTQgZGV2ZWxvcG1lbnQgdG9vbHMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnhmY2Uub3JnIgorU0VDVElPTiA9ICJ4MTEvbGlicyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05YWMyZTdjZmYxZGRhZjQ4YjZlYWI2MDI4ZjIzZWY4OCIKK0RFUEVORFMgPSAiZ2xpYi0yLjAiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworU1JDX1VSSSA9ICJodHRwOi8vYXJjaGl2ZS54ZmNlLm9yZy9zcmMveGZjZS8ke0JQTn0vJHtAJyR7UFZ9J1swOjRdfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1NTkyMDJjNGQ5NjUwZTIzNjk2YzQ0YWE5NGNmYzVhOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlMmUzYTY1NGZlOTExMGRmODFmOGMyNDgzYzljYmZhNmQ2NTZmZWQxNWQ1ZTVlNzE3ZDZlZjEwYmQwZjViNWNiIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2FjbG9jYWwKKyAgICBpbnN0YWxsIC1tIDY0NCAke1N9L200bWFjcm9zLyoubTQgJHtEfSR7ZGF0YWRpcn0vYWNsb2NhbC8KK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0veGZjZTQvZGV2LXRvb2xzL200bWFjcm9zLyoubTQiCisKK1JERVBFTkRTXyR7UE59ID0gImJhc2giCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtcGFuZWwvZmlsZXMvMDAwMS1GaXgtY29tcGlsZXItd2FybmluZy1pbi1jbG9jay1wbHVnaW4tYWJvdXQtc2hhZG93ZWQtLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBhbmVsL2ZpbGVzLzAwMDEtRml4LWNvbXBpbGVyLXdhcm5pbmctaW4tY2xvY2stcGx1Z2luLWFib3V0LXNoYWRvd2VkLS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTcxZmNhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBhbmVsL2ZpbGVzLzAwMDEtRml4LWNvbXBpbGVyLXdhcm5pbmctaW4tY2xvY2stcGx1Z2luLWFib3V0LXNoYWRvd2VkLS5wYXRjaApAQCAtMCwwICsxLDYwNiBAQAorRnJvbSA1YTllOTRhYjdiZDYyOGY1YmY2YjQ2ZWE3ZWE5MWNmNDBiNGFlZTk4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWF0dCBUaGlydHl0d28gPG1hdHQuNTk0OTFAZ21haWwuY29tPgorRGF0ZTogTW9uLCAyIE1hciAyMDE1IDIxOjE4OjQxICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBjb21waWxlciB3YXJuaW5nIGluIGNsb2NrIHBsdWdpbiBhYm91dCBzaGFkb3dlZCAndGltZScKKyB2YXJpYWJsZQorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFsxXQorCitbMV0gaHR0cDovL2dpdC54ZmNlLm9yZy94ZmNlL3hmY2U0LXBhbmVsL2NvbW1pdC8/aWQ9NWE5ZTk0YWI3YmQ2MjhmNWJmNmI0NmVhN2VhOTFjZjQwYjRhZWU5OAorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CisKKy0tLQorIHBsdWdpbnMvY2xvY2svY2xvY2stYW5hbG9nLmMgIHwgMjAgKysrKysrLS0tLS0tLQorIHBsdWdpbnMvY2xvY2svY2xvY2stYmluYXJ5LmMgIHwgMjggKysrKysrKysrLS0tLS0tLS0tCisgcGx1Z2lucy9jbG9jay9jbG9jay1kaWdpdGFsLmMgfCAgOCArKy0tLQorIHBsdWdpbnMvY2xvY2svY2xvY2stZnV6enkuYyAgIHwgIDYgKystLQorIHBsdWdpbnMvY2xvY2svY2xvY2stbGNkLmMgICAgIHwgMzQgKysrKysrKysrKystLS0tLS0tLS0tLQorIHBsdWdpbnMvY2xvY2svY2xvY2stdGltZS5jICAgIHwgNjggKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHBsdWdpbnMvY2xvY2svY2xvY2suYyAgICAgICAgIHwgMTIgKysrKy0tLS0KKyA3IGZpbGVzIGNoYW5nZWQsIDg4IGluc2VydGlvbnMoKyksIDg4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvcGx1Z2lucy9jbG9jay9jbG9jay1hbmFsb2cuYyBiL3BsdWdpbnMvY2xvY2svY2xvY2stYW5hbG9nLmMKK2luZGV4IDJlOTZhMDkuLjkxMDQ1MGQgMTAwNjQ0CistLS0gYS9wbHVnaW5zL2Nsb2NrL2Nsb2NrLWFuYWxvZy5jCisrKysgYi9wbHVnaW5zL2Nsb2NrL2Nsb2NrLWFuYWxvZy5jCitAQCAtMjE2LDcgKzIxNiw3IEBAIHhmY2VfY2xvY2tfYW5hbG9nX2V4cG9zZV9ldmVudCAoR3RrV2lkZ2V0ICAgICAgKndpZGdldCwKKyAgIGdkb3VibGUgICAgICAgICAgeGMsIHljOworICAgZ2RvdWJsZSAgICAgICAgICBhbmdsZSwgcmFkaXVzOworICAgY2Fpcm9fdCAgICAgICAgICpjcjsKKy0gIEdEYXRlVGltZSAgICAgICAqdGltZTsKKysgIEdEYXRlVGltZSAgICAgICAqZGF0ZV90aW1lOworIAorICAgcGFuZWxfcmV0dXJuX3ZhbF9pZl9mYWlsIChYRkNFX0NMT0NLX0lTX0FOQUxPRyAoYW5hbG9nKSwgRkFMU0UpOworIAorQEAgLTIzOSw3ICsyMzksNyBAQCB4ZmNlX2Nsb2NrX2FuYWxvZ19leHBvc2VfZXZlbnQgKEd0a1dpZGdldCAgICAgICp3aWRnZXQsCisgICAgICAgY2Fpcm9fY2xpcCAoY3IpOworIAorICAgICAgIC8qIGdldCB0aGUgbG9jYWwgdGltZSAqLworLSAgICAgIHRpbWUgPSBjbG9ja190aW1lX2dldF90aW1lIChhbmFsb2ctPnRpbWUpOworKyAgICAgIGRhdGVfdGltZSA9IGNsb2NrX3RpbWVfZ2V0X3RpbWUgKGFuYWxvZy0+dGltZSk7CisgCisgICAgICAgLyogc2V0IHRoZSBsaW5lIHByb3BlcnRpZXMgKi8KKyAgICAgICBjYWlyb19zZXRfbGluZV93aWR0aCAoY3IsIDEpOworQEAgLTI1MSwyMCArMjUxLDIwIEBAIHhmY2VfY2xvY2tfYW5hbG9nX2V4cG9zZV9ldmVudCAoR3RrV2lkZ2V0ICAgICAgKndpZGdldCwKKyAgICAgICBpZiAoYW5hbG9nLT5zaG93X3NlY29uZHMpCisgICAgICAgICB7CisgICAgICAgICAgIC8qIHNlY29uZCBwb2ludGVyICovCistICAgICAgICAgIGFuZ2xlID0gVElDS1NfVE9fUkFESUFOUyAoZ19kYXRlX3RpbWVfZ2V0X3NlY29uZCAodGltZSkpOworKyAgICAgICAgICBhbmdsZSA9IFRJQ0tTX1RPX1JBRElBTlMgKGdfZGF0ZV90aW1lX2dldF9zZWNvbmQgKGRhdGVfdGltZSkpOworICAgICAgICAgICB4ZmNlX2Nsb2NrX2FuYWxvZ19kcmF3X3BvaW50ZXIgKGNyLCB4YywgeWMsIHJhZGl1cywgYW5nbGUsIDAuNywgVFJVRSk7CisgICAgICAgICB9CisgCisgICAgICAgLyogbWludXRlIHBvaW50ZXIgKi8KKy0gICAgICBhbmdsZSA9IFRJQ0tTX1RPX1JBRElBTlMgKGdfZGF0ZV90aW1lX2dldF9taW51dGUgKHRpbWUpKTsKKysgICAgICBhbmdsZSA9IFRJQ0tTX1RPX1JBRElBTlMgKGdfZGF0ZV90aW1lX2dldF9taW51dGUgKGRhdGVfdGltZSkpOworICAgICAgIHhmY2VfY2xvY2tfYW5hbG9nX2RyYXdfcG9pbnRlciAoY3IsIHhjLCB5YywgcmFkaXVzLCBhbmdsZSwgMC44LCBGQUxTRSk7CisgCisgICAgICAgLyogaG91ciBwb2ludGVyICovCistICAgICAgYW5nbGUgPSBIT1VSU19UT19SQURJQU5TIChnX2RhdGVfdGltZV9nZXRfaG91ciAodGltZSksIGdfZGF0ZV90aW1lX2dldF9taW51dGUgKHRpbWUpKTsKKysgICAgICBhbmdsZSA9IEhPVVJTX1RPX1JBRElBTlMgKGdfZGF0ZV90aW1lX2dldF9ob3VyIChkYXRlX3RpbWUpLCBnX2RhdGVfdGltZV9nZXRfbWludXRlIChkYXRlX3RpbWUpKTsKKyAgICAgICB4ZmNlX2Nsb2NrX2FuYWxvZ19kcmF3X3BvaW50ZXIgKGNyLCB4YywgeWMsIHJhZGl1cywgYW5nbGUsIDAuNSwgRkFMU0UpOworIAorICAgICAgIC8qIGNsZWFudXAgKi8KKy0gICAgICBnX2RhdGVfdGltZV91bnJlZiAodGltZSk7CisrICAgICAgZ19kYXRlX3RpbWVfdW5yZWYgKGRhdGVfdGltZSk7CisgICAgICAgY2Fpcm9fZGVzdHJveSAoY3IpOworICAgICB9CisgCitAQCAtMzQ3LDEyICszNDcsMTIgQEAgeGZjZV9jbG9ja19hbmFsb2dfZHJhd19wb2ludGVyIChjYWlyb190ICpjciwKKyAKKyBzdGF0aWMgZ2Jvb2xlYW4KKyB4ZmNlX2Nsb2NrX2FuYWxvZ191cGRhdGUgKFhmY2VDbG9ja0FuYWxvZyAqYW5hbG9nLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xvY2tUaW1lICAgICAgICp0aW1lKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xvY2tUaW1lICAgICAgICpjbG9ja190aW1lKQorIHsKKyAgIEd0a1dpZGdldCAqd2lkZ2V0ID0gR1RLX1dJREdFVCAoYW5hbG9nKTsKKyAKKyAgIHBhbmVsX3JldHVybl92YWxfaWZfZmFpbCAoWEZDRV9DTE9DS19JU19BTkFMT0cgKGFuYWxvZyksIEZBTFNFKTsKKy0gIHBhbmVsX3JldHVybl92YWxfaWZfZmFpbCAoWEZDRV9JU19DTE9DS19USU1FICh0aW1lKSwgRkFMU0UpOworKyAgcGFuZWxfcmV0dXJuX3ZhbF9pZl9mYWlsIChYRkNFX0lTX0NMT0NLX1RJTUUgKGNsb2NrX3RpbWUpLCBGQUxTRSk7CisgCisgICAvKiB1cGRhdGUgaWYgdGhlIHdpZGdldCBpZiB2aXNpYmxlICovCisgICBpZiAoR19MSUtFTFkgKEdUS19XSURHRVRfVklTSUJMRSAod2lkZ2V0KSkpCitAQCAtMzY0LDExICszNjQsMTEgQEAgeGZjZV9jbG9ja19hbmFsb2dfdXBkYXRlIChYZmNlQ2xvY2tBbmFsb2cgKmFuYWxvZywKKyAKKyAKKyBHdGtXaWRnZXQgKgorLXhmY2VfY2xvY2tfYW5hbG9nX25ldyAoQ2xvY2tUaW1lICp0aW1lKQorK3hmY2VfY2xvY2tfYW5hbG9nX25ldyAoQ2xvY2tUaW1lICpjbG9ja190aW1lKQorIHsKKyAgIFhmY2VDbG9ja0FuYWxvZyAqYW5hbG9nID0gZ19vYmplY3RfbmV3IChYRkNFX0NMT0NLX1RZUEVfQU5BTE9HLCBOVUxMKTsKKyAKKy0gIGFuYWxvZy0+dGltZSA9IHRpbWU7CisrICBhbmFsb2ctPnRpbWUgPSBjbG9ja190aW1lOworICAgYW5hbG9nLT50aW1lb3V0ID0gY2xvY2tfdGltZV90aW1lb3V0X25ldyAoQ0xPQ0tfSU5URVJWQUxfTUlOVVRFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5hbG9nLT50aW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAoeGZjZV9jbG9ja19hbmFsb2dfdXBkYXRlKSwgYW5hbG9nKTsKK2RpZmYgLS1naXQgYS9wbHVnaW5zL2Nsb2NrL2Nsb2NrLWJpbmFyeS5jIGIvcGx1Z2lucy9jbG9jay9jbG9jay1iaW5hcnkuYworaW5kZXggNDc1MWM1MS4uNDZiODUyYyAxMDA2NDQKKy0tLSBhL3BsdWdpbnMvY2xvY2svY2xvY2stYmluYXJ5LmMKKysrKyBiL3BsdWdpbnMvY2xvY2svY2xvY2stYmluYXJ5LmMKK0BAIC0yNjIsNyArMjYyLDcgQEAgeGZjZV9jbG9ja19iaW5hcnlfZXhwb3NlX2V2ZW50X3RydWVfYmluYXJ5IChYZmNlQ2xvY2tCaW5hcnkgKmJpbmFyeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd0a0FsbG9jYXRpb24gICAqYWxsb2MpCisgeworICAgR2RrQ29sb3IgICAgKmFjdGl2ZSwgKmluYWN0aXZlOworLSAgR0RhdGVUaW1lICAgKnRpbWU7CisrICBHRGF0ZVRpbWUgICAqZGF0ZV90aW1lOworICAgZ2ludCAgICAgICAgIHJvdywgcm93czsKKyAgIHN0YXRpYyBnaW50ICBiaW5hcnlfdGFibGVbXSA9IHsgMzIsIDE2LCA4LCA0LCAyLCAxIH07CisgICBnaW50ICAgICAgICAgY29sLCBjb2xzID0gR19OX0VMRU1FTlRTIChiaW5hcnlfdGFibGUpOworQEAgLTI4Miw3ICsyODIsNyBAQCB4ZmNlX2Nsb2NrX2JpbmFyeV9leHBvc2VfZXZlbnRfdHJ1ZV9iaW5hcnkgKFhmY2VDbG9ja0JpbmFyeSAqYmluYXJ5LAorICAgICAgIGFjdGl2ZSA9ICYoR1RLX1dJREdFVCAoYmluYXJ5KS0+c3R5bGUtPmRhcmtbR1RLX1NUQVRFX1NFTEVDVEVEXSk7CisgICAgIH0KKyAKKy0gIHRpbWUgPSBjbG9ja190aW1lX2dldF90aW1lIChiaW5hcnktPnRpbWUpOworKyAgZGF0ZV90aW1lID0gY2xvY2tfdGltZV9nZXRfdGltZSAoYmluYXJ5LT50aW1lKTsKKyAKKyAgIC8qIGluaXQgc2l6ZXMgKi8KKyAgIHJlbWFpbl9oID0gYWxsb2MtPmhlaWdodDsKK0BAIC0yOTMsMTEgKzI5MywxMSBAQCB4ZmNlX2Nsb2NrX2JpbmFyeV9leHBvc2VfZXZlbnRfdHJ1ZV9iaW5hcnkgKFhmY2VDbG9ja0JpbmFyeSAqYmluYXJ5LAorICAgICB7CisgICAgICAgLyogZ2V0IHRoZSB0aW1lIHRoaXMgcm93IHJlcHJlc2VudHMgKi8KKyAgICAgICBpZiAocm93ID09IDApCistICAgICAgICB0aWNrcyA9IGdfZGF0ZV90aW1lX2dldF9ob3VyICh0aW1lKTsKKysgICAgICAgIHRpY2tzID0gZ19kYXRlX3RpbWVfZ2V0X2hvdXIgKGRhdGVfdGltZSk7CisgICAgICAgZWxzZSBpZiAocm93ID09IDEpCistICAgICAgICB0aWNrcyA9IGdfZGF0ZV90aW1lX2dldF9taW51dGUgKHRpbWUpOworKyAgICAgICAgdGlja3MgPSBnX2RhdGVfdGltZV9nZXRfbWludXRlIChkYXRlX3RpbWUpOworICAgICAgIGVsc2UKKy0gICAgICAgIHRpY2tzID0gZ19kYXRlX3RpbWVfZ2V0X3NlY29uZCAodGltZSk7CisrICAgICAgICB0aWNrcyA9IGdfZGF0ZV90aW1lX2dldF9zZWNvbmQgKGRhdGVfdGltZSk7CisgCisgICAgICAgLyogcmVzZXQgc2l6ZXMgKi8KKyAgICAgICByZW1haW5fdyA9IGFsbG9jLT53aWR0aDsKK0BAIC0zMzYsNyArMzM2LDcgQEAgeGZjZV9jbG9ja19iaW5hcnlfZXhwb3NlX2V2ZW50X3RydWVfYmluYXJ5IChYZmNlQ2xvY2tCaW5hcnkgKmJpbmFyeSwKKyAgICAgICBvZmZzZXRfeSArPSBoOworICAgICB9CisgCistICBnX2RhdGVfdGltZV91bnJlZiAodGltZSk7CisrICBnX2RhdGVfdGltZV91bnJlZiAoZGF0ZV90aW1lKTsKKyB9CisgCisgCitAQCAtMzQ4LDcgKzM0OCw3IEBAIHhmY2VfY2xvY2tfYmluYXJ5X2V4cG9zZV9ldmVudF9iaW5hcnkgKFhmY2VDbG9ja0JpbmFyeSAqYmluYXJ5LAorIHsKKyAgIEdka0NvbG9yICAgICphY3RpdmUsICppbmFjdGl2ZTsKKyAgIHN0YXRpYyBnaW50ICBiaW5hcnlfdGFibGVbXSA9IHsgODAsIDQwLCAyMCwgMTAsIDgsIDQsIDIsIDEgfTsKKy0gIEdEYXRlVGltZSAgICp0aW1lOworKyAgR0RhdGVUaW1lICAgKmRhdGVfdGltZTsKKyAgIGdpbnQgICAgICAgICByb3csIHJvd3MgPSBHX05fRUxFTUVOVFMgKGJpbmFyeV90YWJsZSkgLyAyOworICAgZ2ludCAgICAgICAgIGNvbCwgY29sczsKKyAgIGdpbnQgICAgICAgICBkaWdpdDsKK0BAIC0zNjgsNyArMzY4LDcgQEAgeGZjZV9jbG9ja19iaW5hcnlfZXhwb3NlX2V2ZW50X2JpbmFyeSAoWGZjZUNsb2NrQmluYXJ5ICpiaW5hcnksCisgICAgICAgYWN0aXZlID0gJihHVEtfV0lER0VUIChiaW5hcnkpLT5zdHlsZS0+ZGFya1tHVEtfU1RBVEVfU0VMRUNURURdKTsKKyAgICAgfQorIAorLSAgdGltZSA9IGNsb2NrX3RpbWVfZ2V0X3RpbWUgKGJpbmFyeS0+dGltZSk7CisrICBkYXRlX3RpbWUgPSBjbG9ja190aW1lX2dldF90aW1lIChiaW5hcnktPnRpbWUpOworIAorICAgcmVtYWluX3cgPSBhbGxvYy0+d2lkdGg7CisgICBvZmZzZXRfeCA9IGFsbG9jLT54OworQEAgLTM3OSwxMSArMzc5LDExIEBAIHhmY2VfY2xvY2tfYmluYXJ5X2V4cG9zZV9ldmVudF9iaW5hcnkgKFhmY2VDbG9ja0JpbmFyeSAqYmluYXJ5LAorICAgICB7CisgICAgICAgLyogZ2V0IHRoZSB0aW1lIHRoaXMgcm93IHJlcHJlc2VudHMgKi8KKyAgICAgICBpZiAoY29sID09IDApCistICAgICAgICB0aWNrcyA9IGdfZGF0ZV90aW1lX2dldF9ob3VyICh0aW1lKTsKKysgICAgICAgIHRpY2tzID0gZ19kYXRlX3RpbWVfZ2V0X2hvdXIgKGRhdGVfdGltZSk7CisgICAgICAgZWxzZSBpZiAoY29sID09IDIpCistICAgICAgICB0aWNrcyA9IGdfZGF0ZV90aW1lX2dldF9taW51dGUgKHRpbWUpOworKyAgICAgICAgdGlja3MgPSBnX2RhdGVfdGltZV9nZXRfbWludXRlIChkYXRlX3RpbWUpOworICAgICAgIGVsc2UgaWYgKGNvbCA9PSA0KQorLSAgICAgICAgdGlja3MgPSBnX2RhdGVfdGltZV9nZXRfc2Vjb25kICh0aW1lKTsKKysgICAgICAgIHRpY2tzID0gZ19kYXRlX3RpbWVfZ2V0X3NlY29uZCAoZGF0ZV90aW1lKTsKKyAKKyAgICAgICAvKiByZXNldCBzaXplcyAqLworICAgICAgIHJlbWFpbl9oID0gYWxsb2MtPmhlaWdodDsKK0BAIC01MjAsNyArNTIwLDcgQEAgeGZjZV9jbG9ja19iaW5hcnlfZXhwb3NlX2V2ZW50IChHdGtXaWRnZXQgICAgICAqd2lkZ2V0LAorIAorIHN0YXRpYyBnYm9vbGVhbgorIHhmY2VfY2xvY2tfYmluYXJ5X3VwZGF0ZSAoWGZjZUNsb2NrQmluYXJ5ICAgICAqYmluYXJ5LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xvY2tUaW1lICAgICAgICAgICAqdGltZSkKKysgICAgICAgICAgICAgICAgICAgICAgICAgIENsb2NrVGltZSAgICAgICAgICAgKmNsb2NrX3RpbWUpCisgeworICAgR3RrV2lkZ2V0ICp3aWRnZXQgPSBHVEtfV0lER0VUIChiaW5hcnkpOworIAorQEAgLTUzNiwxMSArNTM2LDExIEBAIHhmY2VfY2xvY2tfYmluYXJ5X3VwZGF0ZSAoWGZjZUNsb2NrQmluYXJ5ICAgICAqYmluYXJ5LAorIAorIAorIEd0a1dpZGdldCAqCisteGZjZV9jbG9ja19iaW5hcnlfbmV3IChDbG9ja1RpbWUgKnRpbWUpCisreGZjZV9jbG9ja19iaW5hcnlfbmV3IChDbG9ja1RpbWUgKmNsb2NrX3RpbWUpCisgeworICAgWGZjZUNsb2NrQmluYXJ5ICpiaW5hcnkgPSBnX29iamVjdF9uZXcgKFhGQ0VfQ0xPQ0tfVFlQRV9CSU5BUlksIE5VTEwpOworIAorLSAgYmluYXJ5LT50aW1lID0gdGltZTsKKysgIGJpbmFyeS0+dGltZSA9IGNsb2NrX3RpbWU7CisgICBiaW5hcnktPnRpbWVvdXQgPSBjbG9ja190aW1lX3RpbWVvdXRfbmV3IChDTE9DS19JTlRFUlZBTF9NSU5VVEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaW5hcnktPnRpbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLICh4ZmNlX2Nsb2NrX2JpbmFyeV91cGRhdGUpLCBiaW5hcnkpOworZGlmZiAtLWdpdCBhL3BsdWdpbnMvY2xvY2svY2xvY2stZGlnaXRhbC5jIGIvcGx1Z2lucy9jbG9jay9jbG9jay1kaWdpdGFsLmMKK2luZGV4IGMyOTNlZDIuLjM0ZTcwMTkgMTAwNjQ0CistLS0gYS9wbHVnaW5zL2Nsb2NrL2Nsb2NrLWRpZ2l0YWwuYworKysrIGIvcGx1Z2lucy9jbG9jay9jbG9jay1kaWdpdGFsLmMKK0BAIC0xOTQsMTIgKzE5NCwxMiBAQCB4ZmNlX2Nsb2NrX2RpZ2l0YWxfZmluYWxpemUgKEdPYmplY3QgKm9iamVjdCkKKyAKKyBzdGF0aWMgZ2Jvb2xlYW4KKyB4ZmNlX2Nsb2NrX2RpZ2l0YWxfdXBkYXRlIChYZmNlQ2xvY2tEaWdpdGFsICpkaWdpdGFsLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgIENsb2NrVGltZSAgICAgICAgKnRpbWUpCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xvY2tUaW1lICAgICAgICAqY2xvY2tfdGltZSkKKyB7CisgICBnY2hhciAgICAgICAgICAgICpzdHJpbmc7CisgCisgICBwYW5lbF9yZXR1cm5fdmFsX2lmX2ZhaWwgKFhGQ0VfQ0xPQ0tfSVNfRElHSVRBTCAoZGlnaXRhbCksIEZBTFNFKTsKKy0gIHBhbmVsX3JldHVybl92YWxfaWZfZmFpbCAoWEZDRV9JU19DTE9DS19USU1FICh0aW1lKSwgRkFMU0UpOworKyAgcGFuZWxfcmV0dXJuX3ZhbF9pZl9mYWlsIChYRkNFX0lTX0NMT0NLX1RJTUUgKGNsb2NrX3RpbWUpLCBGQUxTRSk7CisgCisgICAvKiBzZXQgdGltZSBzdHJpbmcgKi8KKyAgIHN0cmluZyA9IGNsb2NrX3RpbWVfc3RyZHVwX3N0cmZ0aW1lIChkaWdpdGFsLT50aW1lLCBkaWdpdGFsLT5mb3JtYXQpOworQEAgLTIxMiwxMSArMjEyLDExIEBAIHhmY2VfY2xvY2tfZGlnaXRhbF91cGRhdGUgKFhmY2VDbG9ja0RpZ2l0YWwgKmRpZ2l0YWwsCisgCisgCisgR3RrV2lkZ2V0ICoKKy14ZmNlX2Nsb2NrX2RpZ2l0YWxfbmV3IChDbG9ja1RpbWUgKnRpbWUpCisreGZjZV9jbG9ja19kaWdpdGFsX25ldyAoQ2xvY2tUaW1lICpjbG9ja190aW1lKQorIHsKKyAgIFhmY2VDbG9ja0RpZ2l0YWwgKmRpZ2l0YWwgPSBnX29iamVjdF9uZXcgKFhGQ0VfQ0xPQ0tfVFlQRV9ESUdJVEFMLCBOVUxMKTsKKyAKKy0gIGRpZ2l0YWwtPnRpbWUgPSB0aW1lOworKyAgZGlnaXRhbC0+dGltZSA9IGNsb2NrX3RpbWU7CisgICBkaWdpdGFsLT50aW1lb3V0ID0gY2xvY2tfdGltZV90aW1lb3V0X25ldyAoY2xvY2tfdGltZV9pbnRlcnZhbF9mcm9tX2Zvcm1hdCAoZGlnaXRhbC0+Zm9ybWF0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWdpdGFsLT50aW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKHhmY2VfY2xvY2tfZGlnaXRhbF91cGRhdGUpLCBkaWdpdGFsKTsKK2RpZmYgLS1naXQgYS9wbHVnaW5zL2Nsb2NrL2Nsb2NrLWZ1enp5LmMgYi9wbHVnaW5zL2Nsb2NrL2Nsb2NrLWZ1enp5LmMKK2luZGV4IDdiMGFhNDEuLjRiMzYxZGQgMTAwNjQ0CistLS0gYS9wbHVnaW5zL2Nsb2NrL2Nsb2NrLWZ1enp5LmMKKysrKyBiL3BsdWdpbnMvY2xvY2svY2xvY2stZnV6enkuYworQEAgLTI3NSw3ICsyNzUsNyBAQCB4ZmNlX2Nsb2NrX2Z1enp5X2ZpbmFsaXplIChHT2JqZWN0ICpvYmplY3QpCisgCisgc3RhdGljIGdib29sZWFuCisgeGZjZV9jbG9ja19mdXp6eV91cGRhdGUgKFhmY2VDbG9ja0Z1enp5ICpmdXp6eSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgQ2xvY2tUaW1lICAgICAgKnRpbWUpCisrICAgICAgICAgICAgICAgICAgICAgICAgIENsb2NrVGltZSAgICAgICpjbG9ja190aW1lKQorIHsKKyAgIEdEYXRlVGltZSAgICAgICpkYXRlX3RpbWU7CisgICBnaW50ICAgICAgICAgICAgc2VjdG9yOworQEAgLTM1MywxMSArMzUzLDExIEBAIHhmY2VfY2xvY2tfZnV6enlfdXBkYXRlIChYZmNlQ2xvY2tGdXp6eSAqZnV6enksCisgCisgCisgR3RrV2lkZ2V0ICoKKy14ZmNlX2Nsb2NrX2Z1enp5X25ldyAoQ2xvY2tUaW1lICp0aW1lKQorK3hmY2VfY2xvY2tfZnV6enlfbmV3IChDbG9ja1RpbWUgKmNsb2NrX3RpbWUpCisgeworICAgWGZjZUNsb2NrRnV6enkgKmZ1enp5ID0gZ19vYmplY3RfbmV3IChYRkNFX0NMT0NLX1RZUEVfRlVaWlksIE5VTEwpOworIAorLSAgZnV6enktPnRpbWUgPSB0aW1lOworKyAgZnV6enktPnRpbWUgPSBjbG9ja190aW1lOworICAgZnV6enktPnRpbWVvdXQgPSBjbG9ja190aW1lX3RpbWVvdXRfbmV3IChDTE9DS19JTlRFUlZBTF9NSU5VVEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1enp5LT50aW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLICh4ZmNlX2Nsb2NrX2Z1enp5X3VwZGF0ZSksIGZ1enp5KTsKK2RpZmYgLS1naXQgYS9wbHVnaW5zL2Nsb2NrL2Nsb2NrLWxjZC5jIGIvcGx1Z2lucy9jbG9jay9jbG9jay1sY2QuYworaW5kZXggODRlNzRlNi4uYjE4MGQzMCAxMDA2NDQKKy0tLSBhL3BsdWdpbnMvY2xvY2svY2xvY2stbGNkLmMKKysrKyBiL3BsdWdpbnMvY2xvY2svY2xvY2stbGNkLmMKK0BAIC0yODUsNyArMjg1LDcgQEAgeGZjZV9jbG9ja19sY2RfZXhwb3NlX2V2ZW50IChHdGtXaWRnZXQgICAgICAqd2lkZ2V0LAorICAgZ2ludCAgICAgICAgICB0aWNrcywgaTsKKyAgIGdkb3VibGUgICAgICAgc2l6ZTsKKyAgIGdkb3VibGUgICAgICAgcmF0aW87CistICBHRGF0ZVRpbWUgICAgKnRpbWU7CisrICBHRGF0ZVRpbWUgICAgKmRhdGVfdGltZTsKKyAKKyAgIHBhbmVsX3JldHVybl92YWxfaWZfZmFpbCAoWEZDRV9DTE9DS19JU19MQ0QgKGxjZCksIEZBTFNFKTsKKyAKK0BAIC0zMTcsMTAgKzMxNywxMCBAQCB4ZmNlX2Nsb2NrX2xjZF9leHBvc2VfZXZlbnQgKEd0a1dpZGdldCAgICAgICp3aWRnZXQsCisgICAgICAgY2Fpcm9fc2V0X2xpbmVfd2lkdGggKGNyLCBNQVggKHNpemUgKiAwLjA1LCAxLjUpKTsKKyAKKyAgICAgICAvKiBnZXQgdGhlIGxvY2FsIHRpbWUgKi8KKy0gICAgICB0aW1lID0gY2xvY2tfdGltZV9nZXRfdGltZSAobGNkLT50aW1lKTsKKysgICAgICBkYXRlX3RpbWUgPSBjbG9ja190aW1lX2dldF90aW1lIChsY2QtPnRpbWUpOworIAorICAgICAgIC8qIGRyYXcgdGhlIGhvdXJzICovCistICAgICAgdGlja3MgPSBnX2RhdGVfdGltZV9nZXRfaG91ciAodGltZSk7CisrICAgICAgdGlja3MgPSBnX2RhdGVfdGltZV9nZXRfaG91ciAoZGF0ZV90aW1lKTsKKyAKKyAgICAgICAvKiBjb252ZXJ0IDI0aCBjbG9jayB0byAxMmggY2xvY2sgKi8KKyAgICAgICBpZiAoIWxjZC0+c2hvd19taWxpdGFyeSAmJiB0aWNrcyA+IDEyKQorQEAgLTMzMyw4ICszMzMsOCBAQCB4ZmNlX2Nsb2NrX2xjZF9leHBvc2VfZXZlbnQgKEd0a1dpZGdldCAgICAgICp3aWRnZXQsCisgICAgICAgICogYmVjYXVzZSB3ZSBtaWdodCBtaXNzIHRoZSBleGFjdCBzZWNvbmQgKGR1ZSB0byBzbGlnaHRseSBkZWxheWVkCisgICAgICAgICogdGltZW91dCkgd2UgcXVldWUgYSByZXNpemUgdGhlIGZpcnN0IDMgc2Vjb25kcyBvciBhbnl0aGluZyBpbgorICAgICAgICAqIHRoZSBmaXJzdCBtaW51dGUgKi8KKy0gICAgICBpZiAoKHRpY2tzID09IDEwIHx8IHRpY2tzID09IDApICYmIGdfZGF0ZV90aW1lX2dldF9taW51dGUgKHRpbWUpID09IDAKKy0gICAgICAgICAgJiYgKCFsY2QtPnNob3dfc2Vjb25kcyB8fCBnX2RhdGVfdGltZV9nZXRfc2Vjb25kICh0aW1lKSA8IDMpKQorKyAgICAgIGlmICgodGlja3MgPT0gMTAgfHwgdGlja3MgPT0gMCkgJiYgZ19kYXRlX3RpbWVfZ2V0X21pbnV0ZSAoZGF0ZV90aW1lKSA9PSAwCisrICAgICAgICAgICYmICghbGNkLT5zaG93X3NlY29uZHMgfHwgZ19kYXRlX3RpbWVfZ2V0X3NlY29uZCAoZGF0ZV90aW1lKSA8IDMpKQorICAgICAgICAgZ19vYmplY3Rfbm90aWZ5IChHX09CSkVDVCAobGNkKSwgInNpemUtcmF0aW8iKTsKKyAKKyAgICAgICBpZiAodGlja3MgPj0gMTApCitAQCAtMzUyLDcgKzM1Miw3IEBAIHhmY2VfY2xvY2tfbGNkX2V4cG9zZV9ldmVudCAoR3RrV2lkZ2V0ICAgICAgKndpZGdldCwKKyAgICAgICAgICAgaWYgKGkgPT0gMCkKKyAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAvKiBnZXQgdGhlIG1pbnV0ZXMgKi8KKy0gICAgICAgICAgICAgIHRpY2tzID0gZ19kYXRlX3RpbWVfZ2V0X21pbnV0ZSAodGltZSk7CisrICAgICAgICAgICAgICB0aWNrcyA9IGdfZGF0ZV90aW1lX2dldF9taW51dGUgKGRhdGVfdGltZSk7CisgICAgICAgICAgICAgfQorICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgeworQEAgLTM2MSwxMSArMzYxLDExIEBAIHhmY2VfY2xvY2tfbGNkX2V4cG9zZV9ldmVudCAoR3RrV2lkZ2V0ICAgICAgKndpZGdldCwKKyAgICAgICAgICAgICAgICAgYnJlYWs7CisgCisgICAgICAgICAgICAgICAvKiBnZXQgdGhlIHNlY29uZHMgKi8KKy0gICAgICAgICAgICAgIHRpY2tzID0gZ19kYXRlX3RpbWVfZ2V0X3NlY29uZCAodGltZSk7CisrICAgICAgICAgICAgICB0aWNrcyA9IGdfZGF0ZV90aW1lX2dldF9zZWNvbmQgKGRhdGVfdGltZSk7CisgICAgICAgICAgICAgfQorIAorICAgICAgICAgICAvKiBkcmF3IHRoZSBkb3RzICovCistICAgICAgICAgIGlmIChsY2QtPmZsYXNoX3NlcGFyYXRvcnMgJiYgKGdfZGF0ZV90aW1lX2dldF9zZWNvbmQgKHRpbWUpICUgMikgPT0gMSkKKysgICAgICAgICAgaWYgKGxjZC0+Zmxhc2hfc2VwYXJhdG9ycyAmJiAoZ19kYXRlX3RpbWVfZ2V0X3NlY29uZCAoZGF0ZV90aW1lKSAlIDIpID09IDEpCisgICAgICAgICAgICAgb2Zmc2V0X3ggKz0gc2l6ZSAqIFJFTEFUSVZFX1NQQUNFICogMjsKKyAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgIG9mZnNldF94ID0geGZjZV9jbG9ja19sY2RfZHJhd19kb3RzIChjciwgc2l6ZSwgb2Zmc2V0X3gsIG9mZnNldF95KTsKK0BAIC0zODAsMTQgKzM4MCwxNCBAQCB4ZmNlX2Nsb2NrX2xjZF9leHBvc2VfZXZlbnQgKEd0a1dpZGdldCAgICAgICp3aWRnZXQsCisgICAgICAgaWYgKGxjZC0+c2hvd19tZXJpZGllbSkKKyAgICAgICAgIHsKKyAgICAgICAgICAgLyogYW0gb3IgcG0/ICovCistICAgICAgICAgIHRpY2tzID0gZ19kYXRlX3RpbWVfZ2V0X2hvdXIgKHRpbWUpID49IDEyID8gMTEgOiAxMDsKKysgICAgICAgICAgdGlja3MgPSBnX2RhdGVfdGltZV9nZXRfaG91ciAoZGF0ZV90aW1lKSA+PSAxMiA/IDExIDogMTA7CisgCisgICAgICAgICAgIC8qIGRyYXcgdGhlIGRpZ2l0ICovCisgICAgICAgICAgIG9mZnNldF94ID0geGZjZV9jbG9ja19sY2RfZHJhd19kaWdpdCAoY3IsIHRpY2tzLCBzaXplLCBvZmZzZXRfeCwgb2Zmc2V0X3kpOworICAgICAgICAgfQorIAorICAgICAgIC8qIGRyb3AgdGhlIHB1c2hlZCBncm91cCAqLworLSAgICAgIGdfZGF0ZV90aW1lX3VucmVmICh0aW1lKTsKKysgICAgICBnX2RhdGVfdGltZV91bnJlZiAoZGF0ZV90aW1lKTsKKyAgICAgICBjYWlyb19wb3BfZ3JvdXBfdG9fc291cmNlIChjcik7CisgICAgICAgY2Fpcm9fcGFpbnQgKGNyKTsKKyAgICAgICBjYWlyb19kZXN0cm95IChjcik7CitAQCAtNDAzLDE2ICs0MDMsMTYgQEAgeGZjZV9jbG9ja19sY2RfZ2V0X3JhdGlvIChYZmNlQ2xvY2tMY2QgKmxjZCkKKyB7CisgICBnZG91YmxlICAgIHJhdGlvOworICAgZ2ludCAgICAgICB0aWNrczsKKy0gIEdEYXRlVGltZSAqdGltZTsKKysgIEdEYXRlVGltZSAqZGF0ZV90aW1lOworIAorICAgLyogZ2V0IHRoZSBsb2NhbCB0aW1lICovCistICB0aW1lID0gY2xvY2tfdGltZV9nZXRfdGltZSAobGNkLT50aW1lKTsKKysgIGRhdGVfdGltZSA9IGNsb2NrX3RpbWVfZ2V0X3RpbWUgKGxjZC0+dGltZSk7CisgCisgICAvKiA4Ojgoc3BhY2UpOCAqLworICAgcmF0aW8gPSAoMyAqIFJFTEFUSVZFX0RJR0lUKSArIFJFTEFUSVZFX0RPVFMgKyBSRUxBVElWRV9TUEFDRTsKKyAKKy0gIHRpY2tzID0gZ19kYXRlX3RpbWVfZ2V0X2hvdXIgKHRpbWUpOworLSAgZ19kYXRlX3RpbWVfdW5yZWYgKHRpbWUpOworKyAgdGlja3MgPSBnX2RhdGVfdGltZV9nZXRfaG91ciAoZGF0ZV90aW1lKTsKKysgIGdfZGF0ZV90aW1lX3VucmVmIChkYXRlX3RpbWUpOworIAorICAgaWYgKCFsY2QtPnNob3dfbWlsaXRhcnkgJiYgdGlja3MgPiAxMikKKyAgICAgdGlja3MgLT0gMTI7CitAQCAtNTg0LDcgKzU4NCw3IEBAIHhmY2VfY2xvY2tfbGNkX2RyYXdfZGlnaXQgKGNhaXJvX3QgKmNyLAorIAorIHN0YXRpYyBnYm9vbGVhbgorIHhmY2VfY2xvY2tfbGNkX3VwZGF0ZSAoWGZjZUNsb2NrTGNkICpsY2QsCistICAgICAgICAgICAgICAgICAgICAgICBDbG9ja1RpbWUgICAgKnRpbWUpCisrICAgICAgICAgICAgICAgICAgICAgICBDbG9ja1RpbWUgICAgKmNsb2NrX3RpbWUpCisgeworICAgR3RrV2lkZ2V0ICp3aWRnZXQgPSBHVEtfV0lER0VUIChsY2QpOworIAorQEAgLTYwMCwxMSArNjAwLDExIEBAIHhmY2VfY2xvY2tfbGNkX3VwZGF0ZSAoWGZjZUNsb2NrTGNkICpsY2QsCisgCisgCisgR3RrV2lkZ2V0ICoKKy14ZmNlX2Nsb2NrX2xjZF9uZXcgKENsb2NrVGltZSAqdGltZSkKKyt4ZmNlX2Nsb2NrX2xjZF9uZXcgKENsb2NrVGltZSAqY2xvY2tfdGltZSkKKyB7CisgICBYZmNlQ2xvY2tMY2QgKmxjZCA9IGdfb2JqZWN0X25ldyAoWEZDRV9DTE9DS19UWVBFX0xDRCwgTlVMTCk7CisgCistICBsY2QtPnRpbWUgPSB0aW1lOworKyAgbGNkLT50aW1lID0gY2xvY2tfdGltZTsKKyAgIGxjZC0+dGltZW91dCA9IGNsb2NrX3RpbWVfdGltZW91dF9uZXcgKENMT0NLX0lOVEVSVkFMX01JTlVURSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxjZC0+dGltZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKHhmY2VfY2xvY2tfbGNkX3VwZGF0ZSksIGxjZCk7CitkaWZmIC0tZ2l0IGEvcGx1Z2lucy9jbG9jay9jbG9jay10aW1lLmMgYi9wbHVnaW5zL2Nsb2NrL2Nsb2NrLXRpbWUuYworaW5kZXggMTZiMGY4OS4uYjAxNWIxMyAxMDA2NDQKKy0tLSBhL3BsdWdpbnMvY2xvY2svY2xvY2stdGltZS5jCisrKysgYi9wbHVnaW5zL2Nsb2NrL2Nsb2NrLXRpbWUuYworQEAgLTEwNywxMCArMTA3LDEwIEBAIGNsb2NrX3RpbWVfY2xhc3NfaW5pdCAoQ2xvY2tUaW1lQ2xhc3MgKmtsYXNzKQorIAorIAorIHN0YXRpYyB2b2lkCistY2xvY2tfdGltZV9pbml0IChDbG9ja1RpbWUgKnRpbWUpCisrY2xvY2tfdGltZV9pbml0IChDbG9ja1RpbWUgKmNsb2NrX3RpbWUpCisgeworLSAgdGltZS0+dGltZXpvbmVfbmFtZSA9IGdfc3RyZHVwIChERUZBVUxUX1RJTUVaT05FKTsKKy0gIHRpbWUtPnRpbWV6b25lID0gZ190aW1lX3pvbmVfbmV3X2xvY2FsICgpOworKyAgY2xvY2tfdGltZS0+dGltZXpvbmVfbmFtZSA9IGdfc3RyZHVwIChERUZBVUxUX1RJTUVaT05FKTsKKysgIGNsb2NrX3RpbWUtPnRpbWV6b25lID0gZ190aW1lX3pvbmVfbmV3X2xvY2FsICgpOworIH0KKyAKKyAKK0BAIC0xMTgsMTEgKzExOCwxMSBAQCBjbG9ja190aW1lX2luaXQgKENsb2NrVGltZSAqdGltZSkKKyBzdGF0aWMgdm9pZAorIGNsb2NrX3RpbWVfZmluYWxpemUgKEdPYmplY3QgKm9iamVjdCkKKyB7CistICBDbG9ja1RpbWUgKnRpbWUgPSBYRkNFX0NMT0NLX1RJTUUgKG9iamVjdCk7CisrICBDbG9ja1RpbWUgKmNsb2NrX3RpbWUgPSBYRkNFX0NMT0NLX1RJTUUgKG9iamVjdCk7CisgCistICBnX2ZyZWUgKHRpbWUtPnRpbWV6b25lX25hbWUpOworKyAgZ19mcmVlIChjbG9ja190aW1lLT50aW1lem9uZV9uYW1lKTsKKyAKKy0gIGdfdGltZV96b25lX3VucmVmICh0aW1lLT50aW1lem9uZSk7CisrICBnX3RpbWVfem9uZV91bnJlZiAoY2xvY2tfdGltZS0+dGltZXpvbmUpOworIAorICAgR19PQkpFQ1RfQ0xBU1MgKGNsb2NrX3RpbWVfcGFyZW50X2NsYXNzKS0+ZmluYWxpemUgKG9iamVjdCk7CisgfQorQEAgLTEzNSwxMiArMTM1LDEyIEBAIGNsb2NrX3RpbWVfZ2V0X3Byb3BlcnR5IChHT2JqZWN0ICAgICpvYmplY3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgIEdWYWx1ZSAgICAgKnZhbHVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBHUGFyYW1TcGVjICpwc3BlYykKKyB7CistICBDbG9ja1RpbWUgKnRpbWUgPSBYRkNFX0NMT0NLX1RJTUUgKG9iamVjdCk7CisrICBDbG9ja1RpbWUgKmNsb2NrX3RpbWUgPSBYRkNFX0NMT0NLX1RJTUUgKG9iamVjdCk7CisgCisgICBzd2l0Y2ggKHByb3BfaWQpCisgICAgIHsKKyAgICAgY2FzZSBQUk9QX1RJTUVaT05FOgorLSAgICAgIGdfdmFsdWVfc2V0X3N0cmluZyAodmFsdWUsIHRpbWUtPnRpbWV6b25lX25hbWUpOworKyAgICAgIGdfdmFsdWVfc2V0X3N0cmluZyAodmFsdWUsIGNsb2NrX3RpbWUtPnRpbWV6b25lX25hbWUpOworICAgICAgIGJyZWFrOworIAorICAgICBkZWZhdWx0OgorQEAgLTE1NywyOSArMTU3LDI5IEBAIGNsb2NrX3RpbWVfc2V0X3Byb3BlcnR5IChHT2JqZWN0ICAgICAgKm9iamVjdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgR1ZhbHVlICp2YWx1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgR1BhcmFtU3BlYyAgICpwc3BlYykKKyB7CistICBDbG9ja1RpbWUgICAgICp0aW1lID0gWEZDRV9DTE9DS19USU1FIChvYmplY3QpOworKyAgQ2xvY2tUaW1lICAgICAqY2xvY2tfdGltZSA9IFhGQ0VfQ0xPQ0tfVElNRSAob2JqZWN0KTsKKyAgIGNvbnN0IGdjaGFyICAgKnN0cl92YWx1ZTsKKyAKKyAgIHN3aXRjaCAocHJvcF9pZCkKKyAgICAgeworICAgICBjYXNlIFBST1BfVElNRVpPTkU6CisgICAgICAgc3RyX3ZhbHVlID0gZ192YWx1ZV9nZXRfc3RyaW5nICh2YWx1ZSk7CistICAgICAgaWYgKGdfc3RyY21wMCAodGltZS0+dGltZXpvbmVfbmFtZSwgc3RyX3ZhbHVlKSAhPSAwKQorKyAgICAgIGlmIChnX3N0cmNtcDAgKGNsb2NrX3RpbWUtPnRpbWV6b25lX25hbWUsIHN0cl92YWx1ZSkgIT0gMCkKKyAgICAgICAgIHsKKy0gICAgICAgICAgZ19mcmVlICh0aW1lLT50aW1lem9uZV9uYW1lKTsKKy0gICAgICAgICAgZ190aW1lX3pvbmVfdW5yZWYgKHRpbWUtPnRpbWV6b25lKTsKKysgICAgICAgICAgZ19mcmVlIChjbG9ja190aW1lLT50aW1lem9uZV9uYW1lKTsKKysgICAgICAgICAgZ190aW1lX3pvbmVfdW5yZWYgKGNsb2NrX3RpbWUtPnRpbWV6b25lKTsKKyAgICAgICAgICAgaWYgKHN0cl92YWx1ZSA9PSBOVUxMIHx8IGdfc3RyY21wMCAoc3RyX3ZhbHVlLCAiIikgPT0gMCkKKyAgICAgICAgICAgICB7CistICAgICAgICAgICAgICB0aW1lLT50aW1lem9uZV9uYW1lID0gZ19zdHJkdXAgKERFRkFVTFRfVElNRVpPTkUpOworLSAgICAgICAgICAgICAgdGltZS0+dGltZXpvbmUgPSBnX3RpbWVfem9uZV9uZXdfbG9jYWwgKCk7CisrICAgICAgICAgICAgICBjbG9ja190aW1lLT50aW1lem9uZV9uYW1lID0gZ19zdHJkdXAgKERFRkFVTFRfVElNRVpPTkUpOworKyAgICAgICAgICAgICAgY2xvY2tfdGltZS0+dGltZXpvbmUgPSBnX3RpbWVfem9uZV9uZXdfbG9jYWwgKCk7CisgICAgICAgICAgICAgfQorICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgdGltZS0+dGltZXpvbmVfbmFtZSA9IGdfc3RyZHVwIChzdHJfdmFsdWUpOworLSAgICAgICAgICAgICAgdGltZS0+dGltZXpvbmUgPSBnX3RpbWVfem9uZV9uZXcgKHN0cl92YWx1ZSk7CisrICAgICAgICAgICAgICBjbG9ja190aW1lLT50aW1lem9uZV9uYW1lID0gZ19zdHJkdXAgKHN0cl92YWx1ZSk7CisrICAgICAgICAgICAgICBjbG9ja190aW1lLT50aW1lem9uZSA9IGdfdGltZV96b25lX25ldyAoc3RyX3ZhbHVlKTsKKyAgICAgICAgICAgICB9CisgCistICAgICAgICAgIGdfc2lnbmFsX2VtaXQgKEdfT0JKRUNUICh0aW1lKSwgY2xvY2tfdGltZV9zaWduYWxzW1RJTUVfQ0hBTkdFRF0sIDApOworKyAgICAgICAgICBnX3NpZ25hbF9lbWl0IChHX09CSkVDVCAoY2xvY2tfdGltZSksIGNsb2NrX3RpbWVfc2lnbmFsc1tUSU1FX0NIQU5HRURdLCAwKTsKKyAgICAgICAgIH0KKyAgICAgICBicmVhazsKKyAKK0BAIC0xOTIsMTQgKzE5MiwxNCBAQCBjbG9ja190aW1lX3NldF9wcm9wZXJ0eSAoR09iamVjdCAgICAgICpvYmplY3QsCisgCisgCisgR0RhdGVUaW1lICoKKy1jbG9ja190aW1lX2dldF90aW1lIChDbG9ja1RpbWUgKnRpbWUpCisrY2xvY2tfdGltZV9nZXRfdGltZSAoQ2xvY2tUaW1lICpjbG9ja190aW1lKQorIHsKKyAgIEdEYXRlVGltZSAqZGF0ZV90aW1lOworIAorLSAgcGFuZWxfcmV0dXJuX3ZhbF9pZl9mYWlsIChYRkNFX0lTX0NMT0NLX1RJTUUgKHRpbWUpLCBOVUxMKTsKKysgIHBhbmVsX3JldHVybl92YWxfaWZfZmFpbCAoWEZDRV9JU19DTE9DS19USU1FIChjbG9ja190aW1lKSwgTlVMTCk7CisgCistICBpZiAodGltZS0+dGltZXpvbmUgIT0gTlVMTCkKKy0gICAgZGF0ZV90aW1lID0gZ19kYXRlX3RpbWVfbmV3X25vdyAodGltZS0+dGltZXpvbmUpOworKyAgaWYgKGNsb2NrX3RpbWUtPnRpbWV6b25lICE9IE5VTEwpCisrICAgIGRhdGVfdGltZSA9IGdfZGF0ZV90aW1lX25ld19ub3cgKGNsb2NrX3RpbWUtPnRpbWV6b25lKTsKKyAgIGVsc2UKKyAgICAgZGF0ZV90aW1lID0gZ19kYXRlX3RpbWVfbmV3X25vd19sb2NhbCAoKTsKKyAKK0BAIC0yMDksMTUgKzIwOSwxNSBAQCBjbG9ja190aW1lX2dldF90aW1lIChDbG9ja1RpbWUgKnRpbWUpCisgCisgCisgZ2NoYXIgKgorLWNsb2NrX3RpbWVfc3RyZHVwX3N0cmZ0aW1lIChDbG9ja1RpbWUgICAgICAgKnRpbWUsCisrY2xvY2tfdGltZV9zdHJkdXBfc3RyZnRpbWUgKENsb2NrVGltZSAgICAgICAqY2xvY2tfdGltZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgICpmb3JtYXQpCisgeworICAgR0RhdGVUaW1lICpkYXRlX3RpbWU7CisgICBnY2hhciAgICAgKnN0cjsKKyAKKy0gIHBhbmVsX3JldHVybl92YWxfaWZfZmFpbCAoWEZDRV9JU19DTE9DS19USU1FICh0aW1lKSwgTlVMTCk7CisrICBwYW5lbF9yZXR1cm5fdmFsX2lmX2ZhaWwgKFhGQ0VfSVNfQ0xPQ0tfVElNRSAoY2xvY2tfdGltZSksIE5VTEwpOworIAorLSAgZGF0ZV90aW1lID0gY2xvY2tfdGltZV9nZXRfdGltZSAodGltZSk7CisrICBkYXRlX3RpbWUgPSBjbG9ja190aW1lX2dldF90aW1lIChjbG9ja190aW1lKTsKKyAgIHN0ciA9IGdfZGF0ZV90aW1lX2Zvcm1hdCAoZGF0ZV90aW1lLCBmb3JtYXQpOworIAorICAgZ19kYXRlX3RpbWVfdW5yZWYgKGRhdGVfdGltZSk7CitAQCAtMjYyLDcgKzI2Miw3IEBAIHN0YXRpYyBnYm9vbGVhbgorIGNsb2NrX3RpbWVfdGltZW91dF9ydW5uaW5nIChncG9pbnRlciB1c2VyX2RhdGEpCisgeworICAgQ2xvY2tUaW1lVGltZW91dCAqdGltZW91dCA9IHVzZXJfZGF0YTsKKy0gIEdEYXRlVGltZSAgICAgICAgKnRpbWU7CisrICBHRGF0ZVRpbWUgICAgICAgICpkYXRlX3RpbWU7CisgCisgICBnX3NpZ25hbF9lbWl0IChHX09CSkVDVCAodGltZW91dC0+dGltZSksIGNsb2NrX3RpbWVfc2lnbmFsc1tUSU1FX0NIQU5HRURdLCAwKTsKKyAKK0BAIC0yNzAsOCArMjcwLDggQEAgY2xvY2tfdGltZV90aW1lb3V0X3J1bm5pbmcgKGdwb2ludGVyIHVzZXJfZGF0YSkKKyAgIGlmICh0aW1lb3V0LT5pbnRlcnZhbCA9PSBDTE9DS19JTlRFUlZBTF9NSU5VVEUpCisgICAgIHsKKyAgICAgICAvKiBzeW5jIGFnYWluIHdoZW4gd2UgZG9uJ3QgcnVuIG9uIHRpbWUgKi8KKy0gICAgICB0aW1lID0gY2xvY2tfdGltZV9nZXRfdGltZSAodGltZW91dC0+dGltZSk7CistICAgICAgdGltZW91dC0+cmVzdGFydCA9IChnX2RhdGVfdGltZV9nZXRfc2Vjb25kICh0aW1lKSAhPSAwKTsKKysgICAgICBkYXRlX3RpbWUgPSBjbG9ja190aW1lX2dldF90aW1lICh0aW1lb3V0LT50aW1lKTsKKysgICAgICB0aW1lb3V0LT5yZXN0YXJ0ID0gKGdfZGF0ZV90aW1lX2dldF9zZWNvbmQgKGRhdGVfdGltZSkgIT0gMCk7CisgICAgIH0KKyAKKyAgIHJldHVybiAhdGltZW91dC0+cmVzdGFydDsKK0BAIC0zMTIsMTMgKzMxMiwxMyBAQCBjbG9ja190aW1lX3RpbWVvdXRfc3luYyAoZ3BvaW50ZXIgdXNlcl9kYXRhKQorIAorIENsb2NrVGltZVRpbWVvdXQgKgorIGNsb2NrX3RpbWVfdGltZW91dF9uZXcgKGd1aW50ICAgICAgIGludGVydmFsLAorLSAgICAgICAgICAgICAgICAgICAgICAgIENsb2NrVGltZSAgKnRpbWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgQ2xvY2tUaW1lICAqY2xvY2tfdGltZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBHQ2FsbGJhY2sgICBjX2hhbmRsZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgZ3BvaW50ZXIgICAgZ29iamVjdCkKKyB7CisgICBDbG9ja1RpbWVUaW1lb3V0ICp0aW1lb3V0OworIAorLSAgcGFuZWxfcmV0dXJuX3ZhbF9pZl9mYWlsIChYRkNFX0lTX0NMT0NLX1RJTUUgKHRpbWUpLCBOVUxMKTsKKysgIHBhbmVsX3JldHVybl92YWxfaWZfZmFpbCAoWEZDRV9JU19DTE9DS19USU1FIChjbG9ja190aW1lKSwgTlVMTCk7CisgCisgICBwYW5lbF9yZXR1cm5fdmFsX2lmX2ZhaWwgKGludGVydmFsID4gMCwgTlVMTCk7CisgCitAQCAtMzI2LDEwICszMjYsMTAgQEAgY2xvY2tfdGltZV90aW1lb3V0X25ldyAoZ3VpbnQgICAgICAgaW50ZXJ2YWwsCisgICB0aW1lb3V0LT5pbnRlcnZhbCA9IDA7CisgICB0aW1lb3V0LT50aW1lb3V0X2lkID0gMDsKKyAgIHRpbWVvdXQtPnJlc3RhcnQgPSBGQUxTRTsKKy0gIHRpbWVvdXQtPnRpbWUgPSB0aW1lOworKyAgdGltZW91dC0+dGltZSA9IGNsb2NrX3RpbWU7CisgCisgICB0aW1lb3V0LT50aW1lX2NoYW5nZWRfaWQgPQorLSAgICBnX3NpZ25hbF9jb25uZWN0X3N3YXBwZWQgKEdfT0JKRUNUICh0aW1lKSwgInRpbWUtY2hhbmdlZCIsCisrICAgIGdfc2lnbmFsX2Nvbm5lY3Rfc3dhcHBlZCAoR19PQkpFQ1QgKGNsb2NrX3RpbWUpLCAidGltZS1jaGFuZ2VkIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjX2hhbmRsZXIsIGdvYmplY3QpOworIAorICAgZ19vYmplY3RfcmVmIChHX09CSkVDVCAodGltZW91dC0+dGltZSkpOworQEAgLTM0NSw3ICszNDUsNyBAQCB2b2lkCisgY2xvY2tfdGltZV90aW1lb3V0X3NldF9pbnRlcnZhbCAoQ2xvY2tUaW1lVGltZW91dCAqdGltZW91dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndWludCAgICAgICAgICAgICBpbnRlcnZhbCkKKyB7CistICBHRGF0ZVRpbWUgKnRpbWU7CisrICBHRGF0ZVRpbWUgKmRhdGVfdGltZTsKKyAgIGd1aW50ICAgICAgbmV4dF9pbnRlcnZhbDsKKyAgIGdib29sZWFuICAgcmVzdGFydDsKKyAKK0BAIC0zNzIsOCArMzcyLDggQEAgY2xvY2tfdGltZV90aW1lb3V0X3NldF9pbnRlcnZhbCAoQ2xvY2tUaW1lVGltZW91dCAqdGltZW91dCwKKyAgIC8qIGdldCB0aGUgc2Vjb25kcyB0byB0aGUgbmV4dCBpbnRlcm5hbCAqLworICAgaWYgKGludGVydmFsID09IENMT0NLX0lOVEVSVkFMX01JTlVURSkKKyAgICAgeworLSAgICAgIHRpbWUgPSBjbG9ja190aW1lX2dldF90aW1lICh0aW1lb3V0LT50aW1lKTsKKy0gICAgICBuZXh0X2ludGVydmFsID0gNjAgLSBnX2RhdGVfdGltZV9nZXRfc2Vjb25kICh0aW1lKTsKKysgICAgICBkYXRlX3RpbWUgPSBjbG9ja190aW1lX2dldF90aW1lICh0aW1lb3V0LT50aW1lKTsKKysgICAgICBuZXh0X2ludGVydmFsID0gNjAgLSBnX2RhdGVfdGltZV9nZXRfc2Vjb25kIChkYXRlX3RpbWUpOworICAgICB9CisgICBlbHNlCisgICAgIHsKK2RpZmYgLS1naXQgYS9wbHVnaW5zL2Nsb2NrL2Nsb2NrLmMgYi9wbHVnaW5zL2Nsb2NrL2Nsb2NrLmMKK2luZGV4IDZjODA5NzguLmUwN2MxN2IgMTAwNjQ0CistLS0gYS9wbHVnaW5zL2Nsb2NrL2Nsb2NrLmMKKysrKyBiL3BsdWdpbnMvY2xvY2svY2xvY2suYworQEAgLTExMTMsMTcgKzExMTMsMTcgQEAgc3RhdGljIHZvaWQKKyBjbG9ja19wbHVnaW5fY2FsZW5kYXJfc2hvd19ldmVudCAoR3RrV2lkZ2V0ICAgKmNhbGVuZGFyX3dpbmRvdywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xvY2tQbHVnaW4gKnBsdWdpbikKKyB7CistICBHRGF0ZVRpbWUgKnRpbWU7CisrICBHRGF0ZVRpbWUgKmRhdGVfdGltZTsKKyAKKyAgIHBhbmVsX3JldHVybl9pZl9mYWlsIChYRkNFX0lTX1BBTkVMX1BMVUdJTiAocGx1Z2luKSk7CisgCisgICBjbG9ja19wbHVnaW5fcmVwb3NpdGlvbl9jYWxlbmRhciAocGx1Z2luKTsKKyAKKy0gIHRpbWUgPSBjbG9ja190aW1lX2dldF90aW1lIChwbHVnaW4tPnRpbWUpOworLSAgZ3RrX2NhbGVuZGFyX3NlbGVjdF9tb250aCAoR1RLX0NBTEVOREFSIChwbHVnaW4tPmNhbGVuZGFyKSwgZ19kYXRlX3RpbWVfZ2V0X21vbnRoICh0aW1lKSAtIDEsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX2RhdGVfdGltZV9nZXRfeWVhciAodGltZSkpOworLSAgZ3RrX2NhbGVuZGFyX3NlbGVjdF9kYXkgKEdUS19DQUxFTkRBUiAocGx1Z2luLT5jYWxlbmRhciksIGdfZGF0ZV90aW1lX2dldF9kYXlfb2ZfbW9udGggKHRpbWUpKTsKKy0gIGdfZGF0ZV90aW1lX3VucmVmICh0aW1lKTsKKysgIGRhdGVfdGltZSA9IGNsb2NrX3RpbWVfZ2V0X3RpbWUgKHBsdWdpbi0+dGltZSk7CisrICBndGtfY2FsZW5kYXJfc2VsZWN0X21vbnRoIChHVEtfQ0FMRU5EQVIgKHBsdWdpbi0+Y2FsZW5kYXIpLCBnX2RhdGVfdGltZV9nZXRfbW9udGggKGRhdGVfdGltZSkgLSAxLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19kYXRlX3RpbWVfZ2V0X3llYXIgKGRhdGVfdGltZSkpOworKyAgZ3RrX2NhbGVuZGFyX3NlbGVjdF9kYXkgKEdUS19DQUxFTkRBUiAocGx1Z2luLT5jYWxlbmRhciksIGdfZGF0ZV90aW1lX2dldF9kYXlfb2ZfbW9udGggKGRhdGVfdGltZSkpOworKyAgZ19kYXRlX3RpbWVfdW5yZWYgKGRhdGVfdGltZSk7CisgfQorIAorIAorLS0gCisyLjUuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtcGFuZWwvZmlsZXMvMDAwMi1jbG9jay10aW1lLW1ha2UtY2hhbmdlLW9mLXN5c3RlbS1zLXRpbWV6b25lLWNoYW5nZS10LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBhbmVsL2ZpbGVzLzAwMDItY2xvY2stdGltZS1tYWtlLWNoYW5nZS1vZi1zeXN0ZW0tcy10aW1lem9uZS1jaGFuZ2UtdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZGNhM2JhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBhbmVsL2ZpbGVzLzAwMDItY2xvY2stdGltZS1tYWtlLWNoYW5nZS1vZi1zeXN0ZW0tcy10aW1lem9uZS1jaGFuZ2UtdC5wYXRjaApAQCAtMCwwICsxLDQyIEBACitGcm9tIGM1ODIzMzhlZjRmMzNiM2RjMDdhMjYzNjM0MGQ1NWI5ZmI1MzA2NTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBXZWQsIDE3IEZlYiAyMDE2IDAwOjE1OjQ0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGNsb2NrLXRpbWU6IG1ha2UgY2hhbmdlIG9mIHN5c3RlbSdzIHRpbWV6b25lIGNoYW5nZSB0aW1lIGZvcgorIERFRkFVTFRfVElNRVpPTkUKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworY2xvY2tfdGltZS0+dGltZXpvbmUgaXMgc2V0IGluIGNsb2NrX3RpbWVfaW5pdCBzbyB0aGUgY29uZGl0aW9uCisKKydjbG9ja190aW1lLT50aW1lem9uZSAhPSBOVUxMCisKK2lzIG1hdGNoaW5nIGFsd2F5cy4KKworVGVzdGVkIGJ5IHNlbGVjdGluZyBzZWNvbmRzIGRpc3BsYXllZCAoLT4gcXVpY2sgdXBkYXRlKSBhbmQgY2hhbmdpbmcgdGltZXpvbmUuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFsxXQorCitbMV0gaHR0cHM6Ly9idWd6aWxsYS54ZmNlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0NTMKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgcGx1Z2lucy9jbG9jay9jbG9jay10aW1lLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9wbHVnaW5zL2Nsb2NrL2Nsb2NrLXRpbWUuYyBiL3BsdWdpbnMvY2xvY2svY2xvY2stdGltZS5jCitpbmRleCBiMDE1YjEzLi40NDU5Yjg1IDEwMDY0NAorLS0tIGEvcGx1Z2lucy9jbG9jay9jbG9jay10aW1lLmMKKysrKyBiL3BsdWdpbnMvY2xvY2svY2xvY2stdGltZS5jCitAQCAtMTk4LDcgKzE5OCw3IEBAIGNsb2NrX3RpbWVfZ2V0X3RpbWUgKENsb2NrVGltZSAqY2xvY2tfdGltZSkKKyAKKyAgIHBhbmVsX3JldHVybl92YWxfaWZfZmFpbCAoWEZDRV9JU19DTE9DS19USU1FIChjbG9ja190aW1lKSwgTlVMTCk7CisgCistICBpZiAoY2xvY2tfdGltZS0+dGltZXpvbmUgIT0gTlVMTCkKKysgIGlmIChnX3N0cmNtcDAgKGNsb2NrX3RpbWUtPnRpbWV6b25lX25hbWUsIERFRkFVTFRfVElNRVpPTkUpICE9IDApCisgICAgIGRhdGVfdGltZSA9IGdfZGF0ZV90aW1lX25ld19ub3cgKGNsb2NrX3RpbWUtPnRpbWV6b25lKTsKKyAgIGVsc2UKKyAgICAgZGF0ZV90aW1lID0gZ19kYXRlX3RpbWVfbmV3X25vd19sb2NhbCAoKTsKKy0tIAorMi41LjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBhbmVsL3hmY2U0LXBhbmVsXzQuMTIuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1wYW5lbC94ZmNlNC1wYW5lbF80LjEyLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmEyYjk0NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1wYW5lbC94ZmNlNC1wYW5lbF80LjEyLjAuYmIKQEAgLTAsMCArMSw0MSBAQAorU1VNTUFSWSA9ICJYZmNlNCBQYW5lbCIKK1NFQ1RJT04gPSAieDExIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTI2YThiZDc1ZDhmODQ5OGJkYmJlNjRhMjc3OTFkNGVlIgorREVQRU5EUyA9ICJsaWJ4ZmNlNHV0aWwgZ2FyY29uIGxpYnhmY2U0dWkgeGZjb25mIGV4byBndGsrIGd0ayszIGRidXMgY2Fpcm8gdmlydHVhbC9saWJ4MTEgbGlieG1sMiBsaWJ3bmNrIgorCitpbmhlcml0IHhmY2UgZ3RrLWRvYworCitTUkNfVVJJW21kNXN1bV0gPSAiNWEzMzNhZjcwNGUzODZjOTBhZDgyOWI2YmFmMWE3NTgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzA5MjBmYzJlMmZjMjYyNzlhODJiNTI2MWExNTVjMmNjMTVhYjJhYTFjZWQyMjc1Njg0YTZmZjgyNjFiOTdiMCIKK1NSQ19VUkkgKz0gIiBcCisgICAgZmlsZTovLzAwMDEtRml4LWNvbXBpbGVyLXdhcm5pbmctaW4tY2xvY2stcGx1Z2luLWFib3V0LXNoYWRvd2VkLS5wYXRjaCBcCisgICAgZmlsZTovLzAwMDItY2xvY2stdGltZS1tYWtlLWNoYW5nZS1vZi1zeXN0ZW0tcy10aW1lem9uZS1jaGFuZ2UtdC5wYXRjaCBcCisiCisKK0VYVFJBX09FQ09ORiArPSAiLS1lbmFibGUtZ3RrMyIKKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQoKSB7CisgICAgcGx1Z2luX2RpciA9IGQuZXhwYW5kKCcke2xpYmRpcn0veGZjZTQvcGFuZWwvcGx1Z2lucy8nKQorICAgIHBsdWdpbl9uYW1lID0gZC5leHBhbmQoJyR7UE59LXBsdWdpbi0lcycpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcGx1Z2luX2RpciwgJ15saWIoLiopLnNvJCcsIHBsdWdpbl9uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICcke1BOfSBwbHVnaW4gZm9yICVzJywgZXh0cmFfZGVwZW5kcz0nJywgcHJlcGVuZD1UcnVlLAorICAgICAgICAgICAgICAgICAgICAgIGF1eF9maWxlc19wYXR0ZXJuPVsnJHtkYXRhZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLyVzLmRlc2t0b3AnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtzeXNjb25mZGlyfS94ZGcveGZjZS9wYW5lbC8lcy0qJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7ZGF0YWRpcn0vaWNvbnMvaGljb2xvci80OHg0OC9hcHBzLyotJXMucG5nJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7YmluZGlyfS8qJXMqJ10pCit9CisKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl4ke1BOfS1wbHVnaW4tLioiCisKK1BBQ0tBR0VTID0rICIke1BOfS1ndGszIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3hmY2U0L3BhbmVsL21pZ3JhdGUgXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS94ZmNlNC9wYW5lbC93cmFwcGVyLTEuMCIKKworRklMRVNfJHtQTn0tZ3RrMyA9ICIgXAorICAgICR7bGliZGlyfS9saWJ4ZmNlNHBhbmVsLTIuMCR7U09MSUJTfSBcCisgICAgJHtsaWJkaXJ9L3hmY2U0L3BhbmVsL3dyYXBwZXItMi4wIFwKKyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3hmY2U0L3BhbmVsL3BsdWdpbnMvLmRlYnVnIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1wb3dlci1tYW5hZ2VyL3hmY2U0LXBvd2VyLW1hbmFnZXJfMS40LjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtcG93ZXItbWFuYWdlci94ZmNlNC1wb3dlci1tYW5hZ2VyXzEuNC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwNzBkYjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtcG93ZXItbWFuYWdlci94ZmNlNC1wb3dlci1tYW5hZ2VyXzEuNC40LmJiCkBAIC0wLDAgKzEsNDIgQEAKK1NVTU1BUlkgPSAiUG93ZXIgbWFuYWdlciBmb3IgdGhlIFhmY2UgZGVza3RvcCBlbnZpcm9ubWVudCIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL2FwcGxpY2F0aW9ucy94ZmNlNC1wb3dlci1tYW5hZ2VyIgorU0VDVElPTiA9ICJ4MTEiCisKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIiCisKK2luaGVyaXQgeGZjZQorCitERVBFTkRTICs9ICJndGsrIGdsaWItMi4wIGRidXMtZ2xpYiB4ZmNvbmYgbGlieGZjZTR1aSBsaWJ4ZmNlNHV0aWwgbGlibm90aWZ5IFwKKyAgICAgICAgICAgbGlieHJhbmRyIHZpcnR1YWwvbGlieDExIGxpYnhleHQgeGZjZTQtcGFuZWwgdXBvd2VyIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZTdkMDA1NDhlNThiZjE5MjI5ZTcyNzgxODE4NGMxZTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzUwZWM4YWE3ZTc4NDhjNTdjMGY4NTZkY2ViODEzMmViNWYzNzU4NWYwYWMxNjI3NDU5YWI4Yzg4MmM3M2IwNyIKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS1lbmFibGUtbmV0d29yay1tYW5hZ2VyIFwKKyAgICAtLWVuYWJsZS1wYW5lbC1wbHVnaW5zIFwKKyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywnc3lzdGVtZCcsJycsZCl9IgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLWVuYWJsZS1wb2xraXQsIC0tZGlzYWJsZS1wb2xraXQsIHBvbGtpdCIKKworUEFDS0FHRVMgKz0gInhmY2U0LXBvd2VybWFuYWdlci1wbHVnaW4iCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7ZGF0YWRpcn0vcG9sa2l0LTEgXAorICAgICR7ZGF0YWRpcn0vYXBwZGF0YSBcCisiCisKK0ZJTEVTX3hmY2U0LXBvd2VybWFuYWdlci1wbHVnaW4gPSAiIFwKKyAgICAke2xpYmRpcn0veGZjZTQgXAorICAgICR7ZGF0YWRpcn0veGZjZTQgXAorIgorCitSREVQRU5EU194ZmNlNC1wb3dlcm1hbmFnZXItcGx1Z2luID0gIiR7UE59IgorUkRFUEVORFNfJHtQTn0gPSAibmV0d29ya21hbmFnZXIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCcnLCdjb25zb2xla2l0JyxkKX0iCisKKyMgeGZjZTQtYnJpZ2h0bmVzcy1wbHVnaW4gd2FzIHJlcGxhY2VkIGJ5IHhmY2U0LXBvd2VybWFuYWdlci1wbHVnaW4KK1JQUk9WSURFU194ZmNlNC1wb3dlcm1hbmFnZXItcGx1Z2luICs9ICJ4ZmNlNC1icmlnaHRuZXNzLXBsdWdpbiIKK1JSRVBMQUNFU194ZmNlNC1wb3dlcm1hbmFnZXItcGx1Z2luICs9ICJ4ZmNlNC1icmlnaHRuZXNzLXBsdWdpbiIKK1JDT05GTElDVFNfeGZjZTQtcG93ZXJtYW5hZ2VyLXBsdWdpbiArPSAieGZjZTQtYnJpZ2h0bmVzcy1wbHVnaW4iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtc2Vzc2lvbi9tYWNoaW5lLWhvc3QuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtc2Vzc2lvbi9tYWNoaW5lLWhvc3QuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDNiZDIwNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1zZXNzaW9uL21hY2hpbmUtaG9zdC5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIk1ldGEgcGFja2FnZSBhZGRpbmcgbWFjaGluZSBuYW1lIHRvIGtub3duIGhvc3RzIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPUkVCQVNFfS9MSUNFTlNFO21kNT00ZDkyY2QzNzNhYmRhMzkzN2MyYmM0N2ZiYzQ5ZDY5MCIKKworQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKKworTE9DQUxIT1NUTUFDSElORSA9ICIxMjcuMC4wLjEgICAgJHtNQUNISU5FfSIKKworIyBvbiBzb21lIG1hY2hpbmVzIHN0YXJ0aW5nIGFwcGxpY2F0aW9ucyBhcyB4ZmNlNC10ZXJtaW5hbCB0YWtlIGFnZXMgd2l0aG91dAorIyBtYWNoaW5lIG5hbWUgaW4gaG9zdHMKK3BrZ19wb3N0aW5zdF8ke1BOfSAoKSB7CitpZiAhIGdyZXAgLXEgJyR7TE9DQUxIT1NUTUFDSElORX0nICREL2V0Yy9ob3N0cyA7IHRoZW4KKyAgICBlY2hvICcke0xPQ0FMSE9TVE1BQ0hJTkV9JyA+PiAkRC9ldGMvaG9zdHMKK2ZpCit9CisKK1BBQ0tBR0VfQVJDSCA9ICIke01BQ0hJTkVfQVJDSH0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtc2Vzc2lvbi94ZmNlNC1zZXNzaW9uLzAwMDEtY29uZmlndXJlLmluLWhhcmQtY29kZS1wYXRoLXRvLWljZWF1dGgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtc2Vzc2lvbi94ZmNlNC1zZXNzaW9uLzAwMDEtY29uZmlndXJlLmluLWhhcmQtY29kZS1wYXRoLXRvLWljZWF1dGgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDYxOWNkZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1zZXNzaW9uL3hmY2U0LXNlc3Npb24vMDAwMS1jb25maWd1cmUuaW4taGFyZC1jb2RlLXBhdGgtdG8taWNlYXV0aC5wYXRjaApAQCAtMCwwICsxLDQwIEBACitGcm9tIGE2MjliMDUxZjRlNTQ2MjE1MGM3N2I5NTU3NGJiYzdhMzNiYzk2NjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBNb24sIDMxIERlYyAyMDEyIDE2OjM1OjI5ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZS5hYzogaGFyZCBjb2RlIHBhdGggdG8gaWNlYXV0aAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCit3b3JrYXJvdW5kIEFDX1BBVEhfUFJPRyB3aGljaCB3YXMgbWVhbnQgdG8gZmluZCBwcm9ncmFtcyByZXF1aXJlZCBhdCBidWlsZC10aW1lCitub3QgYXQgcnVuLXRpbWUuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlnXQorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBjb25maWd1cmUuYWMgfCAgICA4ICstLS0tLS0tCisgMSBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDNjZjM1MTAuLjUwNWU3NDQgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTExMSwxMyArMTExLDcgQEAgWERUX0ZFQVRVUkVfREVCVUcoW3hmc21fZGVidWdfZGVmYXVsdF0pCisgZG5sIENoZWNrIGZvciBsaW5rZXIgb3B0aW1pemF0aW9ucworIFhEVF9GRUFUVVJFX0xJTktFUl9PUFRTKCkKKyAKKy1kbmwgQ2hlY2sgZm9yIGljZWF1dGgKKy1BQ19QQVRIX1BST0coW0lDRUFVVEhdLCBbaWNlYXV0aF0pCistaWYgdGVzdCB4IiRJQ0VBVVRIIiAhPSB4IiI7IHRoZW4KKy0gIEFDX0RFRklORV9VTlFVT1RFRChbSUNFQVVUSF9DTURdLCBbIiRJQ0VBVVRIIl0sIFtwYXRoIHRvIGljZWF1dGhdKQorLWVsc2UKKy0gIEFDX01TR19FUlJPUihbaWNlYXV0aCBtaXNzaW5nLCBwbGVhc2UgY2hlY2sgeW91ciBYMTEgaW5zdGFsbGF0aW9uXSkKKy1maQorK0FDX0RFRklORV9VTlFVT1RFRChbSUNFQVVUSF9DTURdLCBbIiRiaW5kaXIvaWNlYXV0aCJdLCBbcGF0aCB0byBpY2VhdXRoXSkKKyAKKyBkbmwgRmluZCBhIGxvY2F0aW9uIGZvciB0aGUgc2Vzc2lvbiBkZXNrdG9wIGZpbGUKKyBBQ19NU0dfQ0hFQ0tJTkcoW3doYXQgeHNlc3Npb24tcHJlZml4IHRvIHVzZV0pCistLSAKKzEuNy40LjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXNlc3Npb24veGZjZTQtc2Vzc2lvbl80LjEyLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtc2Vzc2lvbi94ZmNlNC1zZXNzaW9uXzQuMTIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMTVhZWMzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXNlc3Npb24veGZjZTQtc2Vzc2lvbl80LjEyLjEuYmIKQEAgLTAsMCArMSwzMCBAQAorU1VNTUFSWSA9ICJ4ZmNlNC1zZXNzaW9uIGlzIGEgc2Vzc2lvbiBtYW5hZ2VyIGZvciBYZmNlIDQgRGVza3RvcCBFbnZpcm9ubWVudCIKK1NFQ1RJT04gPSAieDExIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTlhYzJlN2NmZjFkZGFmNDhiNmVhYjYwMjhmMjNlZjg4IgorREVQRU5EUyA9ICJ2aXJ0dWFsL2xpYngxMSBsaWJzbSBsaWJ4ZmNlNHV0aWwgbGlieGZjZTR1aSBndGsrIGxpYnduY2sgZGJ1cyBkYnVzLWdsaWIgeGZjb25mIHBvbGtpdCIKK1JERVBFTkRTXyR7UE59ID0gIm5ldGJhc2UgeGluaXQgZGJ1cy14MTEgaWNlYXV0aCB1cG93ZXIiCisKK2luaGVyaXQgeGZjZSB1cGRhdGUtYWx0ZXJuYXRpdmVzCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmNDkyMWZiMmU2MDZlNzQ2NDNkYWYxMjEyMjYzMDc2YyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5N2Q3ZjJhMmQwYWY3ZjM2MjNiNjhkMWYwNDA5MWUwMjkxM2IyOGY5NTU1ZGFiOGIwZDI2YzhhMTI5OWQwOGZkIgorU1JDX1VSSSArPSAiIFwKKyAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUuaW4taGFyZC1jb2RlLXBhdGgtdG8taWNlYXV0aC5wYXRjaCBcCisiCisKK0FMVEVSTkFUSVZFXyR7UE59ID0gIngtc2Vzc2lvbi1tYW5hZ2VyIgorQUxURVJOQVRJVkVfVEFSR0VUW3gtc2Vzc2lvbi1tYW5hZ2VyXSA9ICIke2JpbmRpcn0veGZjZTQtc2Vzc2lvbiIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZXyR7UE59ID0gIjEwMCIKKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtsaWJkaXJ9L3hmY2U0LyovKi8qLnNvIFwKKyAgICAke2xpYmRpcn0veGZjZTQvc2Vzc2lvbi8qLSotKiBcCisgICAgJHtkYXRhZGlyfS94c2Vzc2lvbnMgXAorICAgICR7ZGF0YWRpcn0vdGhlbWVzL0RlZmF1bHQvYmFsb3UvKiBcCisgICAgJHtkYXRhZGlyfS9wb2xraXQtMSBcCisiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3hmY2U0LyovKi8uZGVidWciCisKK1JERVBFTkRTXyR7UE59ICs9ICJtYWNoaW5lLWhvc3QiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtc2V0dGluZ3MvZmlsZXMvMDAwMS14c2V0dGluZ3MueG1sLVNldC1kZWZhdWx0LXRoZW1lcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1zZXR0aW5ncy9maWxlcy8wMDAxLXhzZXR0aW5ncy54bWwtU2V0LWRlZmF1bHQtdGhlbWVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3ZGYwNWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtc2V0dGluZ3MvZmlsZXMvMDAwMS14c2V0dGluZ3MueG1sLVNldC1kZWZhdWx0LXRoZW1lcy5wYXRjaApAQCAtMCwwICsxLDMzIEBACitGcm9tIDIyMThiYThhMjFlOWY1NzE1YjY1MmM2NDE2YzJkZGI1NTI2ODZiMTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBTdW4sIDIwIE1heSAyMDEyIDE1OjIyOjA5ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIHhzZXR0aW5ncy54bWw6IFNldCBkZWZhdWx0IHRoZW1lcworTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitVcHN0cmFtIHN0YXR1czogIEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIHhmc2V0dGluZ3NkL3hzZXR0aW5ncy54bWwgfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEveGZzZXR0aW5nc2QveHNldHRpbmdzLnhtbCBiL3hmc2V0dGluZ3NkL3hzZXR0aW5ncy54bWwKK2luZGV4IDY1YmExZWUuLjllZmIzY2QgMTAwNjQ0CistLS0gYS94ZnNldHRpbmdzZC94c2V0dGluZ3MueG1sCisrKysgYi94ZnNldHRpbmdzZC94c2V0dGluZ3MueG1sCitAQCAtMSw4ICsxLDggQEAKKyA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorIDxjaGFubmVsIG5hbWU9InhzZXR0aW5ncyIgdmVyc2lvbj0iMS4wIj4KKyAgIDxwcm9wZXJ0eSBuYW1lPSJOZXQiIHR5cGU9ImVtcHR5Ij4KKy0gICAgPHByb3BlcnR5IG5hbWU9IlRoZW1lTmFtZSIgdHlwZT0iZW1wdHkiLz4KKy0gICAgPHByb3BlcnR5IG5hbWU9Ikljb25UaGVtZU5hbWUiIHR5cGU9ImVtcHR5Ii8+CisrICAgIDxwcm9wZXJ0eSBuYW1lPSJUaGVtZU5hbWUiIHR5cGU9InN0cmluZyIgdmFsdWU9IlhmY2UiLz4KKysgICAgPHByb3BlcnR5IG5hbWU9Ikljb25UaGVtZU5hbWUiIHR5cGU9InN0cmluZyIgdmFsdWU9IkFkd2FpdGEiLz4KKyAgICAgPHByb3BlcnR5IG5hbWU9IkRvdWJsZUNsaWNrVGltZSIgdHlwZT0iaW50IiB2YWx1ZT0iNDAwIi8+CisgICAgIDxwcm9wZXJ0eSBuYW1lPSJEb3VibGVDbGlja0Rpc3RhbmNlIiB0eXBlPSJpbnQiIHZhbHVlPSI1Ii8+CisgICAgIDxwcm9wZXJ0eSBuYW1lPSJEbmREcmFnVGhyZXNob2xkIiB0eXBlPSJpbnQiIHZhbHVlPSI4Ii8+CistLSAKKzIuMS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1zZXR0aW5ncy94ZmNlNC1zZXR0aW5nc19naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtc2V0dGluZ3MveGZjZTQtc2V0dGluZ3NfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1ZWQwNDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtc2V0dGluZ3MveGZjZTQtc2V0dGluZ3NfZ2l0LmJiCkBAIC0wLDAgKzEsMzggQEAKK1NVTU1BUlkgPSAiWGZjZTQgc2V0dGluZ3MiCitTRUNUSU9OID0gIngxMS93bSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKK0RFUEVORFMgPSAiZXhvIGV4by1uYXRpdmUgZ2FyY29uIGd0aysgbGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgeGZjb25mIGRidXMtZ2xpYiBsaWJ4aSB2aXJ0dWFsL2xpYngxMSB4cmFuZHIgbGlieGN1cnNvciBsaWJ4a2xhdmllciB1cG93ZXIiCisKK2luaGVyaXQgeGZjZSB4ZmNlLWdpdAorCisjIHNjaG5pdHplbHRvbnkgZ2l0IHJlcG8gaXMgdGhlIG1haW5saW5lIHJlcG8KKyMgKyBkYXRldGltZS1zZXR0ZXIgLSBzZW50IHRvIG1haW5saW5lIGJ1dCBzdHJhbmdlIHJlc3BvbnNlCisjICsgbWlub3IgYnVnZml4ZXMgLSBzZW50IG1haW5saW5lIGJ1dCBubyByZXNwb25zZQorIyArIG9wdGlvbiB0byBoaWRlIG1vdXNlcG9pbnRlciBmb3IgYSBzcGVjaWZpYyAodG91Y2gpIGlucHV0IGRldmljZSAtIHNlbnQgbWFpbmxpbmUgYnV0IG5vIHJlc3BvbnNlCitTUkNfVVJJID0gIiBcCisgICAgZ2l0Oi8vZ2l0aHViLmNvbS9zY2huaXR6ZWx0b255L3hmY2U0LXNldHRpbmdzLmdpdDtwcm90b2NvbD1naXQ7YnJhbmNoPWZvci1vZS00LjEyLjAtMSBcCisgICAgZmlsZTovLzAwMDEteHNldHRpbmdzLnhtbC1TZXQtZGVmYXVsdC10aGVtZXMucGF0Y2ggXAorIgorU1JDUkVWID0gImM2NjgzY2IyY2ZmNDg5YzE2YzJjN2I1ZWFiNDAxN2JiNDYxZjA3ZjEiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorUFYgPSAiNC4xMi4wK2dpdCR7U1JDUFZ9IgorIAorRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS1tYWludGFpbmVyLW1vZGUgLS1kaXNhYmxlLWRlYnVnIgorCitQQUNLQUdFQ09ORklHID8/PSAiIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ2RhdGV0aW1lLXNldHRlcicsJycsZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnYWxzYScsJ3NvdW5kLXNldHRlcicsIGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdwdWxzZWF1ZGlvJywnc291bmQtc2V0dGVyJywnJyxkKSxkKX0gXAorIgorUEFDS0FHRUNPTkZJR1tkYXRldGltZS1zZXR0ZXJdID0gIi0tZW5hYmxlLWRhdGV0aW1lLXNldHRpbmdzLCAtLWRpc2FibGUtZGF0ZXRpbWUtc2V0dGluZ3MsLCB0emRhdGEiCitQQUNLQUdFQ09ORklHW25vdGlmeV0gPSAiLS1lbmFibGUtbGlibm90aWZ5LC0tZGlzYWJsZS1saWJub3RpZnksbGlibm90aWZ5IgorUEFDS0FHRUNPTkZJR1tzb3VuZC1zZXR0ZXJdID0gIi0tZW5hYmxlLXNvdW5kLXNldHRpbmdzLCAtLWRpc2FibGUtc291bmQtc2V0dGluZ3MsIGxpYmNhbmJlcnJhLCBsaWJjYW5iZXJyYS1ndGsyIHNvdW5kLXRoZW1lLWZyZWVkZXNrdG9wIgorCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAke2xpYmRpcn0veGZjZTQgXAorICAgICR7ZGF0YWRpcn0veGZjZTQgXAorIgorCitSUkVDT01NRU5EU18ke1BOfSArPSAiYWR3YWl0YS1pY29uLXRoZW1lIgorUlJFQ09NTUVORFNfJHtQTn0gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdhbHNhJywnbGliY2FuYmVycmEtYWxzYScsJycsZCl9IgorUlJFQ09NTUVORFNfJHtQTn0gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdwdWxzZWF1ZGlvJywnbGliY2FuYmVycmEtcHVsc2UnLCcnLGQpfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNvbmYveGZjb25mXzQuMTIuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNvbmYveGZjb25mXzQuMTIuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZjFkZmE0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY29uZi94ZmNvbmZfNC4xMi4wLmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiWGZjZSBjb25maWd1cmF0aW9uIGRhZW1vbiBhbmQgdXRpbGl0aWVzIgorU0VDVElPTiA9ICJ4MTEvd20iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIiCitERVBFTkRTID0gImRidXMtZ2xpYiBsaWJ4ZmNlNHV0aWwgcGVybCBpbnRsdG9vbC1uYXRpdmUgeGZjZTQtZGV2LXRvb2xzLW5hdGl2ZSIKKworaW5oZXJpdCB4ZmNlIGd0ay1kb2MKKworRVhUUkFfT0VDT05GICs9ICJQRVJMPSR7U1RBR0lOR19ESVJfVEFSR0VUfS91c3IvYmluL3BlcmwiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4ZWJmYWM1MDdiNGQ2Y2UzZjRiYWM5ZDI1N2MyODUzYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5OTEwZWFlYTg0MDUzMzY0MTVkNGQ3ZjMwNTY0MDNmOGM2N2JjMjNiYTBkY2UyNTFlYWMzNTIwNWM2MDNiMTU2IgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3hmY2U0L3hmY29uZi94ZmNvbmZkIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zZXJ2aWNlcy9vcmcueGZjZS5YZmNvbmYuc2VydmljZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmRlc2t0b3AveGZkZXNrdG9wXzQuMTIuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmRlc2t0b3AveGZkZXNrdG9wXzQuMTIuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZjRiNmNhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmZGVza3RvcC94ZmRlc2t0b3BfNC4xMi4zLmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiWGZjZTQgRGVza3RvcCBNYW5hZ2VyIgorU0VDVElPTiA9ICJ4MTEvYmFzZSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKK0RFUEVORFMgPSAiZ2xpYi0yLjAgZ3RrKyBsaWJ4ZmNlNHV0aWwgbGlieGZjZTR1aSBsaWJ3bmNrIHhmY29uZiBkYnVzLWdsaWIgdGh1bmFyIGdhcmNvbiBleG8iCisKK2luaGVyaXQgeGZjZQorCitTUkNfVVJJW21kNXN1bV0gPSAiY2IzNGY0ZjMzM2Q3ZDEyMmYxNjg4ZDJmMTU1MjAyYzgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYThhOGQ5Mzc0NGQ4NDJjYTZhYzFmOWJkMmM4Nzg5ZWUxNzg5MzdiY2E3ZTE3MGU1MjM5Y2JkYmVmMzA1MjBhYyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbbm90aWZ5XSA9ICItLWVuYWJsZS1ub3RpZmljYXRpb25zLC0tZGlzYWJsZS1ub3RpZmljYXRpb25zLGxpYm5vdGlmeSIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vYmFja2dyb3VuZHMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZ3bTQvZmlsZXMvMDAwMS1kb24tdC1ibG9jay1kaXNwbGF5LWV2ZW50cy13aGVuLXRpbWUtaXMtc2V0LWJhY2t3YXJkLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmd200L2ZpbGVzLzAwMDEtZG9uLXQtYmxvY2stZGlzcGxheS1ldmVudHMtd2hlbi10aW1lLWlzLXNldC1iYWNrd2FyZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOGZkNzZiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmd200L2ZpbGVzLzAwMDEtZG9uLXQtYmxvY2stZGlzcGxheS1ldmVudHMtd2hlbi10aW1lLWlzLXNldC1iYWNrd2FyZC5wYXRjaApAQCAtMCwwICsxLDMzIEBACitGcm9tIGU4Nzk3NzY5NmYwM2IwYzlmNzI4ODRmOGUzZTNlYzMyNDhkZmQ4MGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBUdWUsIDE4IEp1biAyMDEzIDEyOjQ2OjQyICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGRvbid0IGJsb2NrIGRpc3BsYXkgZXZlbnRzIHdoZW4gdGltZSBpcyBzZXQgYmFja3dhcmRzCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFsxXQorCitbMV0gaHR0cHM6Ly9idWd6aWxsYS54ZmNlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxODQKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgc3JjL2Rpc3BsYXkuYyB8ICAgIDIgKy0KKyAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9kaXNwbGF5LmMgYi9zcmMvZGlzcGxheS5jCitpbmRleCAwMDMxOGQ1Li42NTFiYzdhIDEwMDY0NAorLS0tIGEvc3JjL2Rpc3BsYXkuYworKysrIGIvc3JjL2Rpc3BsYXkuYworQEAgLTczMyw3ICs3MzMsNyBAQCBteURpc3BsYXlVcGRhdGVDdXJyZW50VGltZSAoRGlzcGxheUluZm8gKmRpc3BsYXksIFhFdmVudCAqZXYpCisgICAgICAgICAgICAgYnJlYWs7CisgICAgIH0KKyAKKy0gICAgaWYgKCh0aW1lc3RhbXAgIT0gKGd1aW50MzIpIEN1cnJlbnRUaW1lKSAmJiBUSU1FU1RBTVBfSVNfQkVGT1JFKGRpc3BsYXktPmN1cnJlbnRfdGltZSwgdGltZXN0YW1wKSkKKysgICAgaWYgKCh0aW1lc3RhbXAgIT0gKGd1aW50MzIpIEN1cnJlbnRUaW1lKSAvKiYmIFRJTUVTVEFNUF9JU19CRUZPUkUoZGlzcGxheS0+Y3VycmVudF90aW1lLCB0aW1lc3RhbXApKi8pCisgICAgIHsKKyAgICAgICAgIGRpc3BsYXktPmN1cnJlbnRfdGltZSA9IHRpbWVzdGFtcDsKKyAgICAgfQorLS0gCisxLjcuNi41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZndtNC94ZndtNF80LjEyLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZ3bTQveGZ3bTRfNC4xMi4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxZGFhMDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZ3bTQveGZ3bTRfNC4xMi4zLmJiCkBAIC0wLDAgKzEsMjkgQEAKK0RFU0NSSVBUSU9OPSJYZmNlNCBXaW5kb3cgTWFuYWdlciIKK1NFQ1RJT04gPSAieDExL3dtIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQ3OTE3MjhhMDczYmMwMDliNGZmYWYwMGI3NTk5ODU1IgorREVQRU5EUyA9ICJ2aXJ0dWFsL2xpYngxMSBsaWJ4cG0gZ3RrKyBsaWJ4ZmNlNHV0aWwgbGlieGZjZTR1aSB4ZmNvbmYgbGlid25jayBkYnVzLWdsaWIgc3RhcnR1cC1ub3RpZmljYXRpb24gZXhvLW5hdGl2ZSIKKworaW5oZXJpdCB4ZmNlIHVwZGF0ZS1hbHRlcm5hdGl2ZXMKKworU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtZG9uLXQtYmxvY2stZGlzcGxheS1ldmVudHMtd2hlbi10aW1lLWlzLXNldC1iYWNrd2FyZC5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICIxOTdlZjA4N2NhNmEyNjM2MjdmMWJlYTZkNWE3OWQ2ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmNGE5ODhmYmM0ZTBkZjdlODU4M2M3ODFkMjcxNTU5ZTU2ZmQyODY5NjA5MmY5NGFlMDUyZTllNmVkYjA5ZWFjIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgdGhlbWVkaXIgPSBkLmV4cGFuZCgnJHtkYXRhZGlyfS90aGVtZXMnKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHRoZW1lZGlyLCAnXiguKiknLCAneGZ3bTQtdGhlbWUtJXMnLCAnWEZXTTQgdGhlbWUgJXMnLCBhbGxvd19kaXJzPVRydWUpCit9CisKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl54ZndtNC10aGVtZS0uKiIKKworQUxURVJOQVRJVkVfJHtQTn0gPSAieC13aW5kb3ctbWFuYWdlciIKK0FMVEVSTkFUSVZFX1RBUkdFVFt4LXdpbmRvdy1tYW5hZ2VyXSA9ICIke2JpbmRpcn0veGZ3bTQiCitBTFRFUk5BVElWRV9QUklPUklUWVt4LXdpbmRvdy1tYW5hZ2VyXSA9ICIzMCIKKworUkRFUEVORFNfJHtQTn0gPSAieGZ3bTQtdGhlbWUtZGVmYXVsdCIKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0veGZjZTQveGZ3bTQvaGVscGVyLWRpYWxvZyBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS94ZndtNC9kZWZhdWx0cyBcCisiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZXhlY2Rpcn0veGZjZTQveGZ3bTQvLmRlYnVnLyoiCisK